@pure-ds/core 0.4.17 → 0.4.18

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.
@@ -23,7 +23,7 @@ export const presets = {
23
23
  darkMode: {
24
24
  background: "#0c1821",
25
25
  secondary: "#94a3b8",
26
- primary: "#0891b2", // Tailwind cyan-600 as base - generates darker 600 shade
26
+ primary: "#0891b2", // cyan-600 as base - generates darker 600 shade
27
27
  },
28
28
  },
29
29
  typography: {
@@ -55,7 +55,7 @@ export const presets = {
55
55
  darkMode: {
56
56
  background: "#18181b",
57
57
  secondary: "#71717a",
58
- primary: "#3b82f6", // Tailwind blue-500 - optimized mid-tone
58
+ primary: "#3b82f6", // blue-500 - optimized mid-tone
59
59
  },
60
60
  },
61
61
  typography: {
@@ -88,7 +88,7 @@ export const presets = {
88
88
  darkMode: {
89
89
  background: "#0f0a1a",
90
90
  secondary: "#818cf8",
91
- primary: "#8b5cf6", // Tailwind violet-500 - optimized mid-tone
91
+ primary: "#8b5cf6", // violet-500 - optimized mid-tone
92
92
  },
93
93
  },
94
94
  typography: {
@@ -122,7 +122,7 @@ export const presets = {
122
122
  darkMode: {
123
123
  background: "#0a0a0a",
124
124
  secondary: "#a3a3a3",
125
- primary: "#737373", // Tailwind gray-500 - optimized mid-tone
125
+ primary: "#737373", // gray-500 - optimized mid-tone
126
126
  },
127
127
  },
128
128
  typography: {
@@ -159,7 +159,7 @@ export const presets = {
159
159
  background: "#1a0f0a",
160
160
  secondary: "#c9a482",
161
161
  // Ensure sufficient contrast for primary-filled components with white text in dark mode
162
- primary: "#f97316", // Tailwind orange-500 - optimized mid-tone
162
+ primary: "#f97316", // orange-500 - optimized mid-tone
163
163
  },
164
164
  },
165
165
  typography: {
@@ -190,7 +190,7 @@ export const presets = {
190
190
  background: "#1a0a1f",
191
191
  secondary: "#c4b5fd",
192
192
  // Deepen primary for dark mode to meet AA contrast with white text
193
- primary: "#d946ef", // Tailwind fuchsia-500 - optimized mid-tone
193
+ primary: "#d946ef", // fuchsia-500 - optimized mid-tone
194
194
  },
195
195
  },
196
196
  typography: {
@@ -224,7 +224,7 @@ export const presets = {
224
224
  darkMode: {
225
225
  background: "#0a1410",
226
226
  secondary: "#a8a29e",
227
- primary: "#10b981", // Tailwind emerald-500 - optimized mid-tone
227
+ primary: "#10b981", // emerald-500 - optimized mid-tone
228
228
  },
229
229
  },
230
230
  typography: {
@@ -254,7 +254,7 @@ export const presets = {
254
254
  darkMode: {
255
255
  background: "#1b0808",
256
256
  secondary: "#d1d5db",
257
- primary: "#ef4444", // Tailwind red-500 - optimized mid-tone
257
+ primary: "#ef4444", // red-500 - optimized mid-tone
258
258
  },
259
259
  },
260
260
  typography: {
@@ -288,7 +288,7 @@ export const presets = {
288
288
  background: "#12100e",
289
289
  secondary: "#d1d5db",
290
290
  // Deepen primary in dark to keep white text AA-compliant
291
- primary: "#f59e0b", // Tailwind amber-500 - optimized mid-tone
291
+ primary: "#f59e0b", // amber-500 - optimized mid-tone
292
292
  },
293
293
  },
294
294
  typography: {
@@ -323,7 +323,7 @@ export const presets = {
323
323
  // has strong contrast against the very-dark surface. The generator
324
324
  // will still pick appropriate darker fill shades for buttons so
325
325
  // white-on-fill contrast is preserved.
326
- primary: "#9ca3af", // Tailwind gray-400 - optimized mid-tone
326
+ primary: "#9ca3af", // gray-400 - optimized mid-tone
327
327
  },
328
328
  },
329
329
  typography: {
@@ -361,7 +361,7 @@ export const presets = {
361
361
  darkMode: {
362
362
  background: "#1a1016",
363
363
  secondary: "#c4b5fd",
364
- primary: "#ec4899", // Tailwind pink-500 - optimized mid-tone
364
+ primary: "#ec4899", // pink-500 - optimized mid-tone
365
365
  },
366
366
  },
367
367
  typography: {
@@ -401,7 +401,7 @@ export const presets = {
401
401
  // - outline/link contrast on dark surface, and
402
402
  // - sufficient button fill contrast against white text.
403
403
  // Cyan signal aligns with preset accent and produces high-contrast dark fills.
404
- primary: "#06b6d4", // Tailwind cyan-500 - optimized mid-tone
404
+ primary: "#06b6d4", // cyan-500 - optimized mid-tone
405
405
  },
406
406
  },
407
407
  typography: {
@@ -437,7 +437,7 @@ export const presets = {
437
437
  darkMode: {
438
438
  background: "#0d130a",
439
439
  secondary: "#a3a3a3",
440
- primary: "#84cc16", // Tailwind lime-500 - optimized mid-tone
440
+ primary: "#84cc16", // lime-500 - optimized mid-tone
441
441
  },
442
442
  },
443
443
  typography: {
@@ -845,7 +845,7 @@ presets.default = {
845
845
  darkMode: {
846
846
  background: "#16171a", // Custom dark mode background (cool blue-gray)
847
847
  secondary: "#8b9199", // Optional: custom dark grays (uses light secondary if omitted)
848
- primary: "#06b6d4", // Tailwind cyan-500 - optimized mid-tone
848
+ primary: "#06b6d4", // cyan-500 - optimized mid-tone
849
849
  // accent: null, // Optional: override accent color for dark mode
850
850
  },
851
851
 
@@ -3044,11 +3044,20 @@ dialog[open]::backdrop {
3044
3044
  }
3045
3045
  }
3046
3046
 
3047
+ /* Dialog - constrain max height to 90vh, support custom maxHeight via CSS variable */
3048
+ dialog {
3049
+ max-height: var(--dialog-max-height, 90vh);
3050
+ display: flex;
3051
+ flex-direction: column;
3052
+ overflow: hidden; /* Prevent dialog itself from scrolling - let .dialog-body handle it */
3053
+ }
3054
+
3047
3055
  /* Form structure - use flexbox instead of contents */
3048
3056
  dialog form {
3049
3057
  display: flex;
3050
3058
  flex-direction: column;
3051
- height: 100%;
3059
+ flex: 1;
3060
+ min-height: 0; /* Allow flex child to shrink */
3052
3061
  margin: 0;
3053
3062
  }
3054
3063
 
@@ -3107,7 +3116,8 @@ dialog {
3107
3116
  article,
3108
3117
  form > article,
3109
3118
  .dialog-body {
3110
- flex: 1;
3119
+ flex: 1 1 auto;
3120
+ min-height: 0; /* Critical: allow flex child to shrink and scroll */
3111
3121
  padding: var(--spacing-3) var(--spacing-6);
3112
3122
  overflow-y: auto;
3113
3123
  overflow-x: hidden;
@@ -3133,9 +3143,17 @@ dialog.dialog-lg { max-width: min(800px, calc(100vw - var(--spacing-8))); }
3133
3143
  dialog.dialog-xl { max-width: min(1200px, calc(100vw - var(--spacing-8))); }
3134
3144
  dialog.dialog-full { max-width: calc(100vw - var(--spacing-8)); max-height: calc(100vh - var(--spacing-8)); }
3135
3145
 
3136
- /* Mobile responsiveness */
3146
+ /* Mobile responsiveness - maximize on mobile */
3137
3147
  @media (max-width: ${breakpoints.sm - 1}px) {
3138
- dialog { max-width: 100vw; max-height: 100vh; border-radius: 0; top: 50%; transform: translateY(-50%); margin: 0; }
3148
+ dialog {
3149
+ max-width: 100vw;
3150
+ max-height: 100vh;
3151
+ --dialog-max-height: 100vh; /* Override custom maxHeight on mobile */
3152
+ border-radius: 0;
3153
+ top: 50%;
3154
+ transform: translateY(-50%);
3155
+ margin: 0;
3156
+ }
3139
3157
  dialog header, dialog form > header, dialog article, dialog form > article, dialog footer, dialog form > footer { padding: var(--spacing-4); }
3140
3158
  }
3141
3159