@polyxd/web 0.3.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 (103) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +190 -0
  3. package/README.md +79 -0
  4. package/adapters/PolyxdSurface.svelte +65 -0
  5. package/adapters/PolyxdSurface.vue +61 -0
  6. package/dist/components/action-bar.d.ts +14 -0
  7. package/dist/components/action-bar.js +69 -0
  8. package/dist/components/action-bar.js.map +1 -0
  9. package/dist/components/avatar.d.ts +9 -0
  10. package/dist/components/avatar.js +16 -0
  11. package/dist/components/avatar.js.map +1 -0
  12. package/dist/components/chart.d.ts +5 -0
  13. package/dist/components/chart.js +132 -0
  14. package/dist/components/chart.js.map +1 -0
  15. package/dist/components/content.d.ts +20 -0
  16. package/dist/components/content.js +286 -0
  17. package/dist/components/content.js.map +1 -0
  18. package/dist/components/filter.d.ts +9 -0
  19. package/dist/components/filter.js +43 -0
  20. package/dist/components/filter.js.map +1 -0
  21. package/dist/components/flow.d.ts +12 -0
  22. package/dist/components/flow.js +188 -0
  23. package/dist/components/flow.js.map +1 -0
  24. package/dist/components/index.d.ts +10 -0
  25. package/dist/components/index.js +30 -0
  26. package/dist/components/index.js.map +1 -0
  27. package/dist/components/inputs.d.ts +28 -0
  28. package/dist/components/inputs.js +530 -0
  29. package/dist/components/inputs.js.map +1 -0
  30. package/dist/components/marks.d.ts +32 -0
  31. package/dist/components/marks.js +164 -0
  32. package/dist/components/marks.js.map +1 -0
  33. package/dist/components/navigation.d.ts +11 -0
  34. package/dist/components/navigation.js +99 -0
  35. package/dist/components/navigation.js.map +1 -0
  36. package/dist/components/overlays.d.ts +16 -0
  37. package/dist/components/overlays.js +146 -0
  38. package/dist/components/overlays.js.map +1 -0
  39. package/dist/components/pickers.d.ts +6 -0
  40. package/dist/components/pickers.js +272 -0
  41. package/dist/components/pickers.js.map +1 -0
  42. package/dist/components/shell.d.ts +30 -0
  43. package/dist/components/shell.js +167 -0
  44. package/dist/components/shell.js.map +1 -0
  45. package/dist/components/split.d.ts +8 -0
  46. package/dist/components/split.js +76 -0
  47. package/dist/components/split.js.map +1 -0
  48. package/dist/components/structure.d.ts +12 -0
  49. package/dist/components/structure.js +69 -0
  50. package/dist/components/structure.js.map +1 -0
  51. package/dist/components/table.d.ts +11 -0
  52. package/dist/components/table.js +142 -0
  53. package/dist/components/table.js.map +1 -0
  54. package/dist/components/tree.d.ts +10 -0
  55. package/dist/components/tree.js +177 -0
  56. package/dist/components/tree.js.map +1 -0
  57. package/dist/dom.d.ts +25 -0
  58. package/dist/dom.js +211 -0
  59. package/dist/dom.js.map +1 -0
  60. package/dist/elements.d.ts +87 -0
  61. package/dist/elements.js +244 -0
  62. package/dist/elements.js.map +1 -0
  63. package/dist/index.d.ts +6 -0
  64. package/dist/index.js +7 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/primitives.d.ts +111 -0
  67. package/dist/primitives.js +361 -0
  68. package/dist/primitives.js.map +1 -0
  69. package/dist/renderer.d.ts +145 -0
  70. package/dist/renderer.js +244 -0
  71. package/dist/renderer.js.map +1 -0
  72. package/dist/skeleton.d.ts +14 -0
  73. package/dist/skeleton.js +13 -0
  74. package/dist/skeleton.js.map +1 -0
  75. package/package.json +52 -0
  76. package/preview/polyxd-web.css +2 -0
  77. package/preview/polyxd-web.js +15 -0
  78. package/styles.css +5012 -0
  79. package/themes/antd.css +300 -0
  80. package/themes/bootstrap.css +300 -0
  81. package/themes/brutalist.css +300 -0
  82. package/themes/carbon.css +310 -0
  83. package/themes/chakra.css +300 -0
  84. package/themes/civic.css +300 -0
  85. package/themes/editorial.css +300 -0
  86. package/themes/finance.css +300 -0
  87. package/themes/fluent.css +300 -0
  88. package/themes/glass.css +300 -0
  89. package/themes/govuk.css +150 -0
  90. package/themes/health.css +300 -0
  91. package/themes/mantine.css +300 -0
  92. package/themes/material3.css +300 -0
  93. package/themes/mono.css +300 -0
  94. package/themes/neon.css +300 -0
  95. package/themes/pastel.css +300 -0
  96. package/themes/polaris.css +300 -0
  97. package/themes/primer.css +300 -0
  98. package/themes/radix.css +300 -0
  99. package/themes/shadcn.css +300 -0
  100. package/themes/sketch.css +356 -0
  101. package/themes/spectrum.css +300 -0
  102. package/themes/terminal.css +300 -0
  103. package/themes/wireframe.css +328 -0
@@ -0,0 +1,300 @@
1
+ /* Generated by @polyxd/react scripts/build-themes.ts from the shadcn pack. Do not edit. */
2
+
3
+ [data-pxd-theme="shadcn"]:not([data-pxd-mode]),
4
+ [data-pxd-theme="shadcn"][data-pxd-mode="light"] {
5
+ --pxd-color-surface-default: oklch(1 0 0);
6
+ --pxd-color-surface-subtle: oklch(0.97 0 0);
7
+ --pxd-color-surface-raised: oklch(1 0 0);
8
+ --pxd-color-surface-overlay: oklch(1 0 0);
9
+ --pxd-color-surface-inverse: oklch(0% 0 0);
10
+ --pxd-color-scrim: rgba(0, 0, 0, 0.5);
11
+ --pxd-color-text-default: oklch(0% 0 0);
12
+ --pxd-color-text-muted: oklch(44.2% 0.017 285.786);
13
+ --pxd-color-text-inverse: oklch(0.985 0 0);
14
+ --pxd-color-text-link: oklch(0% 0 0);
15
+ --pxd-color-border-default: oklch(0.922 0 0);
16
+ --pxd-color-border-strong: oklch(55.2% 0.016 285.938);
17
+ --pxd-color-border-focus: oklch(44.2% 0.017 285.786);
18
+ --pxd-color-action-primary-background: oklch(0% 0 0);
19
+ --pxd-color-action-primary-foreground: oklch(0.985 0 0);
20
+ --pxd-color-action-secondary-background: oklch(0.97 0 0);
21
+ --pxd-color-action-secondary-foreground: oklch(0.205 0 0);
22
+ --pxd-color-action-secondary-border: oklch(0.922 0 0);
23
+ --pxd-color-action-danger-background: oklch(0.577 0.245 27.325);
24
+ --pxd-color-action-danger-foreground: oklch(1 0 0);
25
+ --pxd-color-selection-background: oklch(0.97 0 0);
26
+ --pxd-color-selection-foreground: oklch(0.205 0 0);
27
+ --pxd-color-status-info-background: oklch(97% 0.014 254.604);
28
+ --pxd-color-status-info-foreground: oklch(48.8% 0.243 264.376);
29
+ --pxd-color-status-info-emphasis: oklch(54.6% 0.245 262.881);
30
+ --pxd-color-status-success-background: oklch(98.2% 0.018 155.826);
31
+ --pxd-color-status-success-foreground: oklch(52.7% 0.154 150.069);
32
+ --pxd-color-status-success-emphasis: oklch(62.7% 0.194 149.214);
33
+ --pxd-color-status-warning-background: oklch(98.7% 0.022 95.277);
34
+ --pxd-color-status-warning-foreground: oklch(47.3% 0.137 46.201);
35
+ --pxd-color-status-warning-emphasis: oklch(66.6% 0.179 58.318);
36
+ --pxd-color-status-danger-background: oklch(97.1% 0.013 17.38);
37
+ --pxd-color-status-danger-foreground: oklch(50.5% 0.213 27.518);
38
+ --pxd-color-status-danger-emphasis: oklch(57.7% 0.245 27.325);
39
+ --pxd-color-data-categorical-1: oklch(54.6% 0.245 262.881);
40
+ --pxd-color-data-categorical-2: oklch(59.6% 0.145 163.225);
41
+ --pxd-color-data-categorical-3: oklch(54.1% 0.281 293.009);
42
+ --pxd-color-data-categorical-4: oklch(66.6% 0.179 58.318);
43
+ --pxd-color-data-categorical-5: oklch(58.6% 0.253 17.585);
44
+ --pxd-color-data-categorical-6: oklch(60% 0.118 184.704);
45
+ --pxd-color-data-positive: oklch(62.7% 0.194 149.214);
46
+ --pxd-color-data-negative: oklch(57.7% 0.245 27.325);
47
+ --pxd-color-data-neutral: oklch(55.2% 0.016 285.938);
48
+ --pxd-type-title-page-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
49
+ --pxd-type-title-page-size: 30px;
50
+ --pxd-type-title-page-weight: 600;
51
+ --pxd-type-title-page-line-height: 1.5;
52
+ --pxd-type-title-page-letter-spacing: 0px;
53
+ --pxd-type-title-section-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
54
+ --pxd-type-title-section-size: 20px;
55
+ --pxd-type-title-section-weight: 600;
56
+ --pxd-type-title-section-line-height: 1.5;
57
+ --pxd-type-title-section-letter-spacing: 0px;
58
+ --pxd-type-title-item-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
59
+ --pxd-type-title-item-size: 16px;
60
+ --pxd-type-title-item-weight: 600;
61
+ --pxd-type-title-item-line-height: 1.5;
62
+ --pxd-type-title-item-letter-spacing: 0px;
63
+ --pxd-type-body-default-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
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: 0px;
68
+ --pxd-type-body-small-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
69
+ --pxd-type-body-small-size: 14px;
70
+ --pxd-type-body-small-weight: 400;
71
+ --pxd-type-body-small-line-height: 1.5;
72
+ --pxd-type-body-small-letter-spacing: 0px;
73
+ --pxd-type-label-default-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
74
+ --pxd-type-label-default-size: 14px;
75
+ --pxd-type-label-default-weight: 500;
76
+ --pxd-type-label-default-line-height: 1.5;
77
+ --pxd-type-label-default-letter-spacing: 0px;
78
+ --pxd-type-label-small-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
79
+ --pxd-type-label-small-size: 12px;
80
+ --pxd-type-label-small-weight: 500;
81
+ --pxd-type-label-small-line-height: 1.5;
82
+ --pxd-type-label-small-letter-spacing: 0px;
83
+ --pxd-type-numeric-display-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
84
+ --pxd-type-numeric-display-size: 24px;
85
+ --pxd-type-numeric-display-weight: 600;
86
+ --pxd-type-numeric-display-line-height: 1.5;
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: 44px;
99
+ --pxd-size-icon-small: 14px;
100
+ --pxd-size-icon-default: 18px;
101
+ --pxd-radius-small: 6px;
102
+ --pxd-radius-control: 8px;
103
+ --pxd-radius-default: 8px;
104
+ --pxd-radius-large: 10px;
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.05;
112
+ --pxd-opacity-state-pressed: 0.1;
113
+ --pxd-opacity-state-focus: 0.12;
114
+ --pxd-opacity-state-disabled: 0.5;
115
+ --pxd-shadow-raised: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 1px 2px -1px rgba(0, 0, 0, 0.1);
116
+ --pxd-shadow-overlay: 0px 10px 15px -3px rgba(0, 0, 0, 0.1), 0px 4px 6px -4px rgba(0, 0, 0, 0.1);
117
+ --pxd-motion-duration-instant: 75ms;
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="shadcn"][data-pxd-mode="dark"] {
154
+ --pxd-color-surface-default: oklch(0.145 0 0);
155
+ --pxd-color-surface-subtle: oklch(0.269 0 0);
156
+ --pxd-color-surface-raised: oklch(0.205 0 0);
157
+ --pxd-color-surface-overlay: oklch(0.205 0 0);
158
+ --pxd-color-surface-inverse: oklch(0.922 0 0);
159
+ --pxd-color-scrim: rgba(0, 0, 0, 0.5);
160
+ --pxd-color-text-default: oklch(0.985 0 0);
161
+ --pxd-color-text-muted: oklch(0.708 0 0);
162
+ --pxd-color-text-inverse: oklch(0.205 0 0);
163
+ --pxd-color-text-link: oklch(0.985 0 0);
164
+ --pxd-color-border-default: oklch(1 0 0 / 10%);
165
+ --pxd-color-border-strong: oklch(0.556 0 0);
166
+ --pxd-color-border-focus: oklch(0.556 0 0);
167
+ --pxd-color-action-primary-background: oklch(0.922 0 0);
168
+ --pxd-color-action-primary-foreground: oklch(0.205 0 0);
169
+ --pxd-color-action-secondary-background: oklch(0.269 0 0);
170
+ --pxd-color-action-secondary-foreground: oklch(0.985 0 0);
171
+ --pxd-color-action-secondary-border: oklch(1 0 0 / 10%);
172
+ --pxd-color-action-danger-background: oklch(0.704 0.191 22.216);
173
+ --pxd-color-action-danger-foreground: oklch(0.145 0 0);
174
+ --pxd-color-selection-background: oklch(0.371 0 0);
175
+ --pxd-color-selection-foreground: oklch(0.985 0 0);
176
+ --pxd-color-status-info-background: oklch(28.2% 0.091 267.935);
177
+ --pxd-color-status-info-foreground: oklch(80.9% 0.105 251.813);
178
+ --pxd-color-status-info-emphasis: oklch(70.7% 0.165 254.624);
179
+ --pxd-color-status-success-background: oklch(26.6% 0.065 152.934);
180
+ --pxd-color-status-success-foreground: oklch(87.1% 0.15 154.449);
181
+ --pxd-color-status-success-emphasis: oklch(79.2% 0.209 151.711);
182
+ --pxd-color-status-warning-background: oklch(27.9% 0.077 45.635);
183
+ --pxd-color-status-warning-foreground: oklch(87.9% 0.169 91.605);
184
+ --pxd-color-status-warning-emphasis: oklch(82.8% 0.189 84.429);
185
+ --pxd-color-status-danger-background: oklch(25.8% 0.092 26.042);
186
+ --pxd-color-status-danger-foreground: oklch(80.8% 0.114 19.571);
187
+ --pxd-color-status-danger-emphasis: oklch(70.4% 0.191 22.216);
188
+ --pxd-color-data-categorical-1: oklch(70.7% 0.165 254.624);
189
+ --pxd-color-data-categorical-2: oklch(76.5% 0.177 163.223);
190
+ --pxd-color-data-categorical-3: oklch(70.2% 0.183 293.541);
191
+ --pxd-color-data-categorical-4: oklch(82.8% 0.189 84.429);
192
+ --pxd-color-data-categorical-5: oklch(71.2% 0.194 13.428);
193
+ --pxd-color-data-categorical-6: oklch(77.7% 0.152 181.912);
194
+ --pxd-color-data-positive: oklch(79.2% 0.209 151.711);
195
+ --pxd-color-data-negative: oklch(70.4% 0.191 22.216);
196
+ --pxd-color-data-neutral: oklch(70.5% 0.015 286.067);
197
+ --pxd-type-title-page-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
198
+ --pxd-type-title-page-size: 30px;
199
+ --pxd-type-title-page-weight: 600;
200
+ --pxd-type-title-page-line-height: 1.5;
201
+ --pxd-type-title-page-letter-spacing: 0px;
202
+ --pxd-type-title-section-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
203
+ --pxd-type-title-section-size: 20px;
204
+ --pxd-type-title-section-weight: 600;
205
+ --pxd-type-title-section-line-height: 1.5;
206
+ --pxd-type-title-section-letter-spacing: 0px;
207
+ --pxd-type-title-item-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
208
+ --pxd-type-title-item-size: 16px;
209
+ --pxd-type-title-item-weight: 600;
210
+ --pxd-type-title-item-line-height: 1.5;
211
+ --pxd-type-title-item-letter-spacing: 0px;
212
+ --pxd-type-body-default-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
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: 0px;
217
+ --pxd-type-body-small-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
218
+ --pxd-type-body-small-size: 14px;
219
+ --pxd-type-body-small-weight: 400;
220
+ --pxd-type-body-small-line-height: 1.5;
221
+ --pxd-type-body-small-letter-spacing: 0px;
222
+ --pxd-type-label-default-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
223
+ --pxd-type-label-default-size: 14px;
224
+ --pxd-type-label-default-weight: 500;
225
+ --pxd-type-label-default-line-height: 1.5;
226
+ --pxd-type-label-default-letter-spacing: 0px;
227
+ --pxd-type-label-small-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
228
+ --pxd-type-label-small-size: 12px;
229
+ --pxd-type-label-small-weight: 500;
230
+ --pxd-type-label-small-line-height: 1.5;
231
+ --pxd-type-label-small-letter-spacing: 0px;
232
+ --pxd-type-numeric-display-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
233
+ --pxd-type-numeric-display-size: 24px;
234
+ --pxd-type-numeric-display-weight: 600;
235
+ --pxd-type-numeric-display-line-height: 1.5;
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: 44px;
248
+ --pxd-size-icon-small: 14px;
249
+ --pxd-size-icon-default: 18px;
250
+ --pxd-radius-small: 6px;
251
+ --pxd-radius-control: 8px;
252
+ --pxd-radius-default: 8px;
253
+ --pxd-radius-large: 10px;
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.05;
261
+ --pxd-opacity-state-pressed: 0.1;
262
+ --pxd-opacity-state-focus: 0.12;
263
+ --pxd-opacity-state-disabled: 0.5;
264
+ --pxd-shadow-raised: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 1px 2px -1px rgba(0, 0, 0, 0.1);
265
+ --pxd-shadow-overlay: 0px 10px 15px -3px rgba(0, 0, 0, 0.1), 0px 4px 6px -4px rgba(0, 0, 0, 0.1);
266
+ --pxd-motion-duration-instant: 75ms;
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,356 @@
1
+ /* Generated by @polyxd/react scripts/build-themes.ts from the sketch pack. Do not edit. */
2
+
3
+ [data-pxd-theme="sketch"]:not([data-pxd-mode]),
4
+ [data-pxd-theme="sketch"][data-pxd-mode="light"] {
5
+ --pxd-color-surface-default: #fbf7ee;
6
+ --pxd-color-surface-subtle: #f2ebdc;
7
+ --pxd-color-surface-raised: #fffdf7;
8
+ --pxd-color-surface-overlay: #fffdf7;
9
+ --pxd-color-surface-inverse: #2b2a26;
10
+ --pxd-color-scrim: rgba(43, 42, 38, 0.5);
11
+ --pxd-color-text-default: #2b2a26;
12
+ --pxd-color-text-muted: #5c584f;
13
+ --pxd-color-text-inverse: #fbf7ee;
14
+ --pxd-color-text-link: #1f5fa8;
15
+ --pxd-color-border-default: #a8a39a;
16
+ --pxd-color-border-strong: #6b675f;
17
+ --pxd-color-border-focus: #1f5fa8;
18
+ --pxd-color-action-primary-background: #2b2a26;
19
+ --pxd-color-action-primary-foreground: #fbf7ee;
20
+ --pxd-color-action-secondary-background: #fffdf7;
21
+ --pxd-color-action-secondary-foreground: #2b2a26;
22
+ --pxd-color-action-secondary-border: #2b2a26;
23
+ --pxd-color-action-danger-background: #b3261e;
24
+ --pxd-color-action-danger-foreground: #ffffff;
25
+ --pxd-color-selection-background: #fbe8a6;
26
+ --pxd-color-selection-foreground: #2b2a26;
27
+ --pxd-color-status-info-background: #e4eef9;
28
+ --pxd-color-status-info-foreground: #1a4a80;
29
+ --pxd-color-status-info-emphasis: #1f5fa8;
30
+ --pxd-color-status-success-background: #e3f1e1;
31
+ --pxd-color-status-success-foreground: #1e5e2a;
32
+ --pxd-color-status-success-emphasis: #2e7d32;
33
+ --pxd-color-status-warning-background: #fdf0d5;
34
+ --pxd-color-status-warning-foreground: #7a4a00;
35
+ --pxd-color-status-warning-emphasis: #b26a00;
36
+ --pxd-color-status-danger-background: #fae4e1;
37
+ --pxd-color-status-danger-foreground: #8c1d18;
38
+ --pxd-color-status-danger-emphasis: #b3261e;
39
+ --pxd-color-data-categorical-1: #1f5fa8;
40
+ --pxd-color-data-categorical-2: #c2410c;
41
+ --pxd-color-data-categorical-3: #2e7d32;
42
+ --pxd-color-data-categorical-4: #7c3aed;
43
+ --pxd-color-data-categorical-5: #b45309;
44
+ --pxd-color-data-categorical-6: #0e7490;
45
+ --pxd-color-data-positive: #2e7d32;
46
+ --pxd-color-data-negative: #b3261e;
47
+ --pxd-color-data-neutral: #6b675f;
48
+ --pxd-type-title-page-family: Caveat, "Segoe Print", "Bradley Hand", cursive, system-ui, sans-serif;
49
+ --pxd-type-title-page-size: 38px;
50
+ --pxd-type-title-page-weight: 700;
51
+ --pxd-type-title-page-line-height: 1.15;
52
+ --pxd-type-title-page-letter-spacing: 0px;
53
+ --pxd-type-title-section-family: Caveat, "Segoe Print", "Bradley Hand", cursive, system-ui, sans-serif;
54
+ --pxd-type-title-section-size: 28px;
55
+ --pxd-type-title-section-weight: 700;
56
+ --pxd-type-title-section-line-height: 1.2;
57
+ --pxd-type-title-section-letter-spacing: 0px;
58
+ --pxd-type-title-item-family: Caveat, "Segoe Print", "Bradley Hand", cursive, system-ui, sans-serif;
59
+ --pxd-type-title-item-size: 22px;
60
+ --pxd-type-title-item-weight: 700;
61
+ --pxd-type-title-item-line-height: 1.25;
62
+ --pxd-type-title-item-letter-spacing: 0px;
63
+ --pxd-type-body-default-family: Nunito, "Segoe UI", "Trebuchet MS", Verdana, sans-serif;
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: Nunito, "Segoe UI", "Trebuchet MS", Verdana, sans-serif;
69
+ --pxd-type-body-small-size: 14px;
70
+ --pxd-type-body-small-weight: 400;
71
+ --pxd-type-body-small-line-height: 1.5;
72
+ --pxd-type-body-small-letter-spacing: 0px;
73
+ --pxd-type-label-default-family: "Patrick Hand", "Segoe Print", "Comic Sans MS", cursive, system-ui, sans-serif;
74
+ --pxd-type-label-default-size: 17px;
75
+ --pxd-type-label-default-weight: 400;
76
+ --pxd-type-label-default-line-height: 1.35;
77
+ --pxd-type-label-default-letter-spacing: 0.2px;
78
+ --pxd-type-label-small-family: "Patrick Hand", "Segoe Print", "Comic Sans MS", cursive, system-ui, sans-serif;
79
+ --pxd-type-label-small-size: 15px;
80
+ --pxd-type-label-small-weight: 400;
81
+ --pxd-type-label-small-line-height: 1.3;
82
+ --pxd-type-label-small-letter-spacing: 0.2px;
83
+ --pxd-type-numeric-display-family: Caveat, "Segoe Print", "Bradley Hand", cursive, system-ui, sans-serif;
84
+ --pxd-type-numeric-display-size: 34px;
85
+ --pxd-type-numeric-display-weight: 700;
86
+ --pxd-type-numeric-display-line-height: 1.15;
87
+ --pxd-type-numeric-display-letter-spacing: 0px;
88
+ --pxd-space-inset-compact: 8px;
89
+ --pxd-space-inset-default: 14px;
90
+ --pxd-space-inset-comfortable: 22px;
91
+ --pxd-space-stack-tight: 4px;
92
+ --pxd-space-stack-default: 8px;
93
+ --pxd-space-stack-loose: 14px;
94
+ --pxd-space-stack-section: 32px;
95
+ --pxd-space-inline-tight: 4px;
96
+ --pxd-space-inline-default: 8px;
97
+ --pxd-space-inline-loose: 14px;
98
+ --pxd-size-target-min: 44px;
99
+ --pxd-size-icon-small: 16px;
100
+ --pxd-size-icon-default: 20px;
101
+ --pxd-radius-small: 6px;
102
+ --pxd-radius-control: 12px;
103
+ --pxd-radius-default: 10px;
104
+ --pxd-radius-large: 18px;
105
+ --pxd-radius-full: 999px;
106
+ --pxd-border-width-default: 2px;
107
+ --pxd-border-width-strong: 3px;
108
+ --pxd-focus-ring-width: 3px;
109
+ --pxd-focus-ring-offset: 2px;
110
+ --pxd-measure-max: 62;
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 0px 0px 0px rgba(0, 0, 0, 0);
116
+ --pxd-shadow-overlay: 0px 0px 0px 0px rgba(0, 0, 0, 0);
117
+ --pxd-motion-duration-instant: 0ms;
118
+ --pxd-motion-duration-short: 120ms;
119
+ --pxd-motion-duration-medium: 180ms;
120
+ --pxd-motion-duration-long: 260ms;
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="sketch"][data-pxd-mode="dark"] {
154
+ --pxd-color-surface-default: #1f2421;
155
+ --pxd-color-surface-subtle: #272d29;
156
+ --pxd-color-surface-raised: #252b27;
157
+ --pxd-color-surface-overlay: #2b322d;
158
+ --pxd-color-surface-inverse: #f2ede0;
159
+ --pxd-color-scrim: rgba(0, 0, 0, 0.6);
160
+ --pxd-color-text-default: #f2ede0;
161
+ --pxd-color-text-muted: #bdb7a8;
162
+ --pxd-color-text-inverse: #1f2421;
163
+ --pxd-color-text-link: #8fc1ff;
164
+ --pxd-color-border-default: #5d645f;
165
+ --pxd-color-border-strong: #9aa39d;
166
+ --pxd-color-border-focus: #8fc1ff;
167
+ --pxd-color-action-primary-background: #f2ede0;
168
+ --pxd-color-action-primary-foreground: #1f2421;
169
+ --pxd-color-action-secondary-background: #252b27;
170
+ --pxd-color-action-secondary-foreground: #f2ede0;
171
+ --pxd-color-action-secondary-border: #f2ede0;
172
+ --pxd-color-action-danger-background: #f08a80;
173
+ --pxd-color-action-danger-foreground: #1f2421;
174
+ --pxd-color-selection-background: #f5d76e;
175
+ --pxd-color-selection-foreground: #1f2421;
176
+ --pxd-color-status-info-background: #233649;
177
+ --pxd-color-status-info-foreground: #bcdcff;
178
+ --pxd-color-status-info-emphasis: #8fc1ff;
179
+ --pxd-color-status-success-background: #243b2a;
180
+ --pxd-color-status-success-foreground: #b6e2b8;
181
+ --pxd-color-status-success-emphasis: #7fcf85;
182
+ --pxd-color-status-warning-background: #4a3a17;
183
+ --pxd-color-status-warning-foreground: #ffe08a;
184
+ --pxd-color-status-warning-emphasis: #f5c04a;
185
+ --pxd-color-status-danger-background: #4a2522;
186
+ --pxd-color-status-danger-foreground: #ffb4ab;
187
+ --pxd-color-status-danger-emphasis: #f08a80;
188
+ --pxd-color-data-categorical-1: #8fc1ff;
189
+ --pxd-color-data-categorical-2: #ffab7a;
190
+ --pxd-color-data-categorical-3: #7fcf85;
191
+ --pxd-color-data-categorical-4: #c9a8ff;
192
+ --pxd-color-data-categorical-5: #f5c04a;
193
+ --pxd-color-data-categorical-6: #67d8e8;
194
+ --pxd-color-data-positive: #7fcf85;
195
+ --pxd-color-data-negative: #f08a80;
196
+ --pxd-color-data-neutral: #9aa39d;
197
+ --pxd-type-title-page-family: Caveat, "Segoe Print", "Bradley Hand", cursive, system-ui, sans-serif;
198
+ --pxd-type-title-page-size: 38px;
199
+ --pxd-type-title-page-weight: 700;
200
+ --pxd-type-title-page-line-height: 1.15;
201
+ --pxd-type-title-page-letter-spacing: 0px;
202
+ --pxd-type-title-section-family: Caveat, "Segoe Print", "Bradley Hand", cursive, system-ui, sans-serif;
203
+ --pxd-type-title-section-size: 28px;
204
+ --pxd-type-title-section-weight: 700;
205
+ --pxd-type-title-section-line-height: 1.2;
206
+ --pxd-type-title-section-letter-spacing: 0px;
207
+ --pxd-type-title-item-family: Caveat, "Segoe Print", "Bradley Hand", cursive, system-ui, sans-serif;
208
+ --pxd-type-title-item-size: 22px;
209
+ --pxd-type-title-item-weight: 700;
210
+ --pxd-type-title-item-line-height: 1.25;
211
+ --pxd-type-title-item-letter-spacing: 0px;
212
+ --pxd-type-body-default-family: Nunito, "Segoe UI", "Trebuchet MS", Verdana, sans-serif;
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: Nunito, "Segoe UI", "Trebuchet MS", Verdana, sans-serif;
218
+ --pxd-type-body-small-size: 14px;
219
+ --pxd-type-body-small-weight: 400;
220
+ --pxd-type-body-small-line-height: 1.5;
221
+ --pxd-type-body-small-letter-spacing: 0px;
222
+ --pxd-type-label-default-family: "Patrick Hand", "Segoe Print", "Comic Sans MS", cursive, system-ui, sans-serif;
223
+ --pxd-type-label-default-size: 17px;
224
+ --pxd-type-label-default-weight: 400;
225
+ --pxd-type-label-default-line-height: 1.35;
226
+ --pxd-type-label-default-letter-spacing: 0.2px;
227
+ --pxd-type-label-small-family: "Patrick Hand", "Segoe Print", "Comic Sans MS", cursive, system-ui, sans-serif;
228
+ --pxd-type-label-small-size: 15px;
229
+ --pxd-type-label-small-weight: 400;
230
+ --pxd-type-label-small-line-height: 1.3;
231
+ --pxd-type-label-small-letter-spacing: 0.2px;
232
+ --pxd-type-numeric-display-family: Caveat, "Segoe Print", "Bradley Hand", cursive, system-ui, sans-serif;
233
+ --pxd-type-numeric-display-size: 34px;
234
+ --pxd-type-numeric-display-weight: 700;
235
+ --pxd-type-numeric-display-line-height: 1.15;
236
+ --pxd-type-numeric-display-letter-spacing: 0px;
237
+ --pxd-space-inset-compact: 8px;
238
+ --pxd-space-inset-default: 14px;
239
+ --pxd-space-inset-comfortable: 22px;
240
+ --pxd-space-stack-tight: 4px;
241
+ --pxd-space-stack-default: 8px;
242
+ --pxd-space-stack-loose: 14px;
243
+ --pxd-space-stack-section: 32px;
244
+ --pxd-space-inline-tight: 4px;
245
+ --pxd-space-inline-default: 8px;
246
+ --pxd-space-inline-loose: 14px;
247
+ --pxd-size-target-min: 44px;
248
+ --pxd-size-icon-small: 16px;
249
+ --pxd-size-icon-default: 20px;
250
+ --pxd-radius-small: 6px;
251
+ --pxd-radius-control: 12px;
252
+ --pxd-radius-default: 10px;
253
+ --pxd-radius-large: 18px;
254
+ --pxd-radius-full: 999px;
255
+ --pxd-border-width-default: 2px;
256
+ --pxd-border-width-strong: 3px;
257
+ --pxd-focus-ring-width: 3px;
258
+ --pxd-focus-ring-offset: 2px;
259
+ --pxd-measure-max: 62;
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 0px 0px 0px rgba(0, 0, 0, 0);
265
+ --pxd-shadow-overlay: 0px 0px 0px 0px rgba(0, 0, 0, 0);
266
+ --pxd-motion-duration-instant: 0ms;
267
+ --pxd-motion-duration-short: 120ms;
268
+ --pxd-motion-duration-medium: 180ms;
269
+ --pxd-motion-duration-long: 260ms;
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
+ }
301
+
302
+ /* Extras from the sketch pack's manifest: what tokens can't express, appended verbatim, scoped to this theme. */
303
+ /*
304
+ * Sketch: what tokens can't draw. The theme compiler appends this file verbatim to themes/sketch.css.
305
+ * Every rule is scoped to [data-pxd-theme="sketch"], and every colour is a token variable, so recolouring
306
+ * the tokens recolours this too. Delete the "extras" line in manifest.json and the pack is plain tokens.
307
+ */
308
+
309
+ /* Cards lean a third of a degree; even ones lean the other way. Set it to 0deg to straighten them. */
310
+ [data-pxd-theme="sketch"] {
311
+ --pxd-sketch-tilt: -0.3deg;
312
+ }
313
+
314
+ /* An uneven radius on each corner is what reads as a drawn line rather than a rounded rectangle. */
315
+ [data-pxd-theme="sketch"] .pxd-button,
316
+ [data-pxd-theme="sketch"] .pxd-card,
317
+ [data-pxd-theme="sketch"] .pxd-input,
318
+ [data-pxd-theme="sketch"] .pxd-status,
319
+ [data-pxd-theme="sketch"] .pxd-panel,
320
+ [data-pxd-theme="sketch"] .pxd-chip,
321
+ [data-pxd-theme="sketch"] .pxd-tag,
322
+ [data-pxd-theme="sketch"] .pxd-badge,
323
+ [data-pxd-theme="sketch"] .pxd-snackbar,
324
+ [data-pxd-theme="sketch"] .pxd-dropzone,
325
+ [data-pxd-theme="sketch"] .pxd-media {
326
+ border-radius: 255px 15px 225px 15px / 15px 225px 15px 255px;
327
+ }
328
+
329
+ /* Pencil lines are thick; a button or a field gets the strong width, and a text button gets a line at all. */
330
+ [data-pxd-theme="sketch"] .pxd-button,
331
+ [data-pxd-theme="sketch"] .pxd-input {
332
+ border-width: var(--pxd-border-width-strong);
333
+ }
334
+ [data-pxd-theme="sketch"] .pxd-button-primary,
335
+ [data-pxd-theme="sketch"] .pxd-button-danger {
336
+ border-color: var(--pxd-color-text-default);
337
+ }
338
+ [data-pxd-theme="sketch"] .pxd-button-tertiary {
339
+ border-color: var(--pxd-color-border-default);
340
+ }
341
+
342
+ [data-pxd-theme="sketch"] .pxd-card {
343
+ transform: rotate(var(--pxd-sketch-tilt));
344
+ }
345
+ [data-pxd-theme="sketch"] .pxd-card:nth-child(even) {
346
+ --pxd-sketch-tilt: 0.3deg;
347
+ }
348
+
349
+ /* Links are underlined by hand. */
350
+ [data-pxd-theme="sketch"] .pxd-link,
351
+ [data-pxd-theme="sketch"] .pxd-nav-toc-link,
352
+ [data-pxd-theme="sketch"] .pxd-footer-link {
353
+ text-decoration: underline wavy;
354
+ text-decoration-thickness: 1px;
355
+ text-underline-offset: 3px;
356
+ }