@geomak/ui 6.14.0 → 6.16.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.
@@ -58,7 +58,9 @@ var semanticTokens = {
58
58
  error: "#c0392b",
59
59
  warning: "#d68910",
60
60
  success: "#1e8449",
61
- info: "#1565c0"
61
+ info: "#1565c0",
62
+ // Scrim
63
+ backdrop: "rgba(6, 15, 26, 0.45)"
62
64
  },
63
65
  dark: {
64
66
  // Surfaces
@@ -80,7 +82,9 @@ var semanticTokens = {
80
82
  error: "#ff6b6b",
81
83
  warning: "#ffb347",
82
84
  success: "#5cb85c",
83
- info: "#5bc0de"
85
+ info: "#5bc0de",
86
+ // Scrim (denser on dark backgrounds)
87
+ backdrop: "rgba(0, 0, 0, 0.6)"
84
88
  },
85
89
  // Mode-independent tokens
86
90
  shared: {
@@ -157,7 +161,8 @@ var vars = {
157
161
  error: "var(--color-error)",
158
162
  warning: "var(--color-warning)",
159
163
  success: "var(--color-success)",
160
- info: "var(--color-info)"
164
+ info: "var(--color-info)",
165
+ backdrop: "var(--color-backdrop)"
161
166
  },
162
167
  radius: {
163
168
  sm: "var(--radius-sm)",
@@ -229,5 +234,5 @@ var vars = {
229
234
  };
230
235
 
231
236
  export { PALETTE, colors_default, semanticTokens, vars };
232
- //# sourceMappingURL=chunk-GKXP6OJJ.js.map
233
- //# sourceMappingURL=chunk-GKXP6OJJ.js.map
237
+ //# sourceMappingURL=chunk-I2P4JJDB.js.map
238
+ //# sourceMappingURL=chunk-I2P4JJDB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/colors.ts","../src/tokens/index.ts"],"names":[],"mappings":"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","file":"chunk-I2P4JJDB.js","sourcesContent":["/**\n * Oxygen design-system colour palette.\n * Duplicated here so the published package is fully self-contained.\n */\nexport const PALETTE = {\n 'true-blue': '#0466C8',\n 'usafa-blue': '#0353A4',\n 'dark-cornflower-blue': '#023E7D',\n 'oxford-blue-700': '#002855',\n 'oxford-blue-800': '#001845',\n 'oxford-blue-900': '#001233',\n independence: '#33415C',\n 'black-coral': '#5C677D',\n 'roman-silver': '#7D8597',\n manatee: '#979DAC',\n white: '#fff',\n ice: '#DBF1FD',\n 'ice-dark': '#d0e3ed',\n 'midnight-green-eagle-900': '#013E53',\n 'midnight-green-eagle-700': '#125F6C',\n 'midnight-green-eagle-500': '#125F6C',\n 'rich-black-fogra': '#000202',\n 'rich-black-fogra-opaque': '#0000005b',\n 'prussian-blue': '#00273A',\n 'indigo-dye': '#013C54',\n ming: '#0F6372',\n skobeloff: '#217479',\n 'dark-cyan': '#2A8784',\n 'celadon-green': '#297E74',\n turquise: '#2EB8B0',\n 'oxford-blue-700-opaque': 'rgba(0, 40, 85, .3)',\n disabled: '#dee2e6',\n error: 'tomato',\n warning: 'orange',\n success: 'lightgreen',\n info: 'lightblue',\n transparent: 'rgba(255, 255, 255, .0)',\n} as const\n\nconst COLORS = { PALETTE }\nexport default COLORS\n","/**\n * @geomak/ui — Design Tokens\n *\n * Three layers, each useful in a different context:\n *\n * 1. `palette` — raw brand hex values from palette.json\n * 2. `semanticTokens` — resolved hex / px values keyed by light / dark / shared\n * 3. `vars` — CSS custom-property reference strings for inline styles / CSS-in-JS\n *\n * CSS custom properties are injected by: import '@geomak/ui/styles'\n * Tailwind utilities map to these vars via the bundled tailwind preset.\n */\n\nexport { PALETTE as palette } from '../utils/colors'\n\n// ─── Resolved values (hex / px / ms) ─────────────────────────────────────────\n\n/**\n * Resolved token values for every semantic role.\n * Use when CSS custom properties aren't available (canvas, email, SSR snapshots).\n */\nexport const semanticTokens = {\n light: {\n // Surfaces\n background: '#eef4fa',\n surface: '#ffffff',\n 'surface-raised': '#ffffff',\n // Borders\n border: '#d3dde8',\n 'border-strong': '#8898aa',\n // Text\n foreground: '#0a1929',\n 'foreground-secondary': '#2e4057',\n 'foreground-muted': '#536878',\n // Accent\n accent: '#0466C8',\n 'accent-hover': '#0353A4',\n 'accent-foreground': '#ffffff',\n // Status\n error: '#c0392b',\n warning: '#d68910',\n success: '#1e8449',\n info: '#1565c0',\n // Scrim\n backdrop: 'rgba(6, 15, 26, 0.45)',\n },\n\n dark: {\n // Surfaces\n background: '#060f1a',\n surface: '#0d1f30',\n 'surface-raised': '#152638',\n // Borders\n border: '#1e3348',\n 'border-strong': '#2e4a64',\n // Text\n foreground: '#e8f0f8',\n 'foreground-secondary': '#9ab0c4',\n 'foreground-muted': '#5c7a92',\n // Accent\n accent: '#2d88ff',\n 'accent-hover': '#4d9aff',\n 'accent-foreground': '#ffffff',\n // Status (brightened for dark backgrounds)\n error: '#ff6b6b',\n warning: '#ffb347',\n success: '#5cb85c',\n info: '#5bc0de',\n // Scrim (denser on dark backgrounds)\n backdrop: 'rgba(0, 0, 0, 0.6)',\n },\n\n // Mode-independent tokens\n shared: {\n // Radius — enterprise scale\n 'radius-sm': '2px',\n 'radius-md': '5px',\n 'radius-lg': '7px',\n 'radius-xl': '10px',\n 'radius-2xl': '12px',\n 'radius-full': '9999px',\n\n // Typography\n 'font-size-xs': '0.75rem',\n 'font-size-sm': '0.875rem',\n 'font-size-base': '1rem',\n 'font-size-lg': '1.125rem',\n 'font-size-xl': '1.25rem',\n 'font-size-2xl': '1.5rem',\n 'font-size-3xl': '1.875rem',\n 'font-weight-normal': 400,\n 'font-weight-medium': 500,\n 'font-weight-semibold': 600,\n 'font-weight-bold': 700,\n 'line-height-tight': 1.25,\n 'line-height-snug': 1.375,\n 'line-height-normal': 1.5,\n 'line-height-relaxed': 1.625,\n 'letter-spacing-tight': '-0.025em',\n 'letter-spacing-normal': '0em',\n 'letter-spacing-wide': '0.025em',\n\n // Component heights / density\n 'height-control-xs': '24px',\n 'height-control-sm': '28px',\n 'height-control-md': '36px',\n 'height-control-lg': '44px',\n 'height-topbar': '56px',\n 'sidebar-expanded': '220px',\n 'sidebar-collapsed': '52px',\n\n // Motion\n 'duration-instant': '50ms',\n 'duration-fast': '80ms',\n 'duration-normal': '150ms',\n 'duration-slow': '220ms',\n 'duration-gentle': '350ms',\n 'ease-out-expo': 'cubic-bezier(0.16, 1, 0.3, 1)',\n 'ease-out-quart': 'cubic-bezier(0.25, 1, 0.5, 1)',\n 'ease-out-cubic': 'cubic-bezier(0.33, 1, 0.68, 1)',\n 'ease-in-out': 'cubic-bezier(0.4, 0, 0.2, 1)',\n 'ease-in': 'cubic-bezier(0.4, 0, 1, 1)',\n\n // Z-index\n 'z-base': 0,\n 'z-raised': 10,\n 'z-dropdown': 100,\n 'z-sticky': 150,\n 'z-topbar': 200,\n 'z-overlay': 300,\n 'z-modal': 400,\n 'z-toast': 500,\n 'z-tooltip': 600,\n },\n} as const\n\nexport type SemanticColorKey = keyof typeof semanticTokens.light\nexport type SemanticSharedKey = keyof typeof semanticTokens.shared\n\n// ─── CSS custom-property references ──────────────────────────────────────────\n\n/**\n * CSS custom-property reference strings.\n * Use in inline styles or CSS-in-JS — values respond to light/dark automatically.\n *\n * @example\n * // Inline style\n * <div style={{ color: vars.color.foreground }}>...</div>\n *\n * @example\n * // Emotion / styled-components\n * const Card = styled.div`\n * background: ${vars.color.surface};\n * border-radius: ${vars.radius.lg};\n * box-shadow: ${vars.shadow.md};\n * `\n */\nexport const vars = {\n color: {\n background: 'var(--color-background)',\n surface: 'var(--color-surface)',\n surfaceRaised: 'var(--color-surface-raised)',\n border: 'var(--color-border)',\n borderStrong: 'var(--color-border-strong)',\n foreground: 'var(--color-foreground)',\n foregroundSecondary: 'var(--color-foreground-secondary)',\n foregroundMuted: 'var(--color-foreground-muted)',\n accent: 'var(--color-accent)',\n accentHover: 'var(--color-accent-hover)',\n accentForeground: 'var(--color-accent-foreground)',\n error: 'var(--color-error)',\n warning: 'var(--color-warning)',\n success: 'var(--color-success)',\n info: 'var(--color-info)',\n backdrop: 'var(--color-backdrop)',\n },\n\n radius: {\n sm: 'var(--radius-sm)',\n md: 'var(--radius-md)',\n lg: 'var(--radius-lg)',\n xl: 'var(--radius-xl)',\n '2xl': 'var(--radius-2xl)',\n full: 'var(--radius-full)',\n },\n\n shadow: {\n sm: 'var(--shadow-sm)',\n md: 'var(--shadow-md)',\n lg: 'var(--shadow-lg)',\n xl: 'var(--shadow-xl)',\n },\n\n typography: {\n fontFamily: 'var(--font-family-sans)',\n fontSizeXs: 'var(--font-size-xs)',\n fontSizeSm: 'var(--font-size-sm)',\n fontSizeBase: 'var(--font-size-base)',\n fontSizeLg: 'var(--font-size-lg)',\n fontSizeXl: 'var(--font-size-xl)',\n fontSize2xl: 'var(--font-size-2xl)',\n fontSize3xl: 'var(--font-size-3xl)',\n fontWeightNormal: 'var(--font-weight-normal)',\n fontWeightMedium: 'var(--font-weight-medium)',\n fontWeightSemibold: 'var(--font-weight-semibold)',\n fontWeightBold: 'var(--font-weight-bold)',\n lineHeightTight: 'var(--line-height-tight)',\n lineHeightSnug: 'var(--line-height-snug)',\n lineHeightNormal: 'var(--line-height-normal)',\n lineHeightRelaxed: 'var(--line-height-relaxed)',\n letterSpacingTight: 'var(--letter-spacing-tight)',\n letterSpacingNormal: 'var(--letter-spacing-normal)',\n letterSpacingWide: 'var(--letter-spacing-wide)',\n },\n\n density: {\n controlXs: 'var(--height-control-xs)',\n controlSm: 'var(--height-control-sm)',\n controlMd: 'var(--height-control-md)',\n controlLg: 'var(--height-control-lg)',\n topbar: 'var(--height-topbar)',\n sidebarExpanded: 'var(--sidebar-expanded)',\n sidebarCollapsed: 'var(--sidebar-collapsed)',\n },\n\n motion: {\n durationInstant: 'var(--duration-instant)',\n durationFast: 'var(--duration-fast)',\n durationNormal: 'var(--duration-normal)',\n durationSlow: 'var(--duration-slow)',\n durationGentle: 'var(--duration-gentle)',\n easeOutExpo: 'var(--ease-out-expo)',\n easeOutQuart: 'var(--ease-out-quart)',\n easeOutCubic: 'var(--ease-out-cubic)',\n easeInOut: 'var(--ease-in-out)',\n easeIn: 'var(--ease-in)',\n },\n\n zIndex: {\n base: 'var(--z-base)',\n raised: 'var(--z-raised)',\n dropdown: 'var(--z-dropdown)',\n sticky: 'var(--z-sticky)',\n topbar: 'var(--z-topbar)',\n overlay: 'var(--z-overlay)',\n modal: 'var(--z-modal)',\n toast: 'var(--z-toast)',\n tooltip: 'var(--z-tooltip)',\n },\n} as const\n\n// ─── Convenience type exports ─────────────────────────────────────────────────\nexport type VarColorKey = keyof typeof vars.color\nexport type VarRadiusKey = keyof typeof vars.radius\nexport type VarShadowKey = keyof typeof vars.shadow\nexport type VarTypoKey = keyof typeof vars.typography\nexport type VarDensityKey = keyof typeof vars.density\nexport type VarMotionKey = keyof typeof vars.motion\nexport type VarZIndexKey = keyof typeof vars.zIndex\n"]}
@@ -60,7 +60,9 @@ var semanticTokens = {
60
60
  error: "#c0392b",
61
61
  warning: "#d68910",
62
62
  success: "#1e8449",
63
- info: "#1565c0"
63
+ info: "#1565c0",
64
+ // Scrim
65
+ backdrop: "rgba(6, 15, 26, 0.45)"
64
66
  },
65
67
  dark: {
66
68
  // Surfaces
@@ -82,7 +84,9 @@ var semanticTokens = {
82
84
  error: "#ff6b6b",
83
85
  warning: "#ffb347",
84
86
  success: "#5cb85c",
85
- info: "#5bc0de"
87
+ info: "#5bc0de",
88
+ // Scrim (denser on dark backgrounds)
89
+ backdrop: "rgba(0, 0, 0, 0.6)"
86
90
  },
87
91
  // Mode-independent tokens
88
92
  shared: {
@@ -159,7 +163,8 @@ var vars = {
159
163
  error: "var(--color-error)",
160
164
  warning: "var(--color-warning)",
161
165
  success: "var(--color-success)",
162
- info: "var(--color-info)"
166
+ info: "var(--color-info)",
167
+ backdrop: "var(--color-backdrop)"
163
168
  },
164
169
  radius: {
165
170
  sm: "var(--radius-sm)",
@@ -234,5 +239,5 @@ exports.PALETTE = PALETTE;
234
239
  exports.colors_default = colors_default;
235
240
  exports.semanticTokens = semanticTokens;
236
241
  exports.vars = vars;
237
- //# sourceMappingURL=chunk-255PCZIW.cjs.map
238
- //# sourceMappingURL=chunk-255PCZIW.cjs.map
242
+ //# sourceMappingURL=chunk-OAV4TA4B.cjs.map
243
+ //# sourceMappingURL=chunk-OAV4TA4B.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/colors.ts","../src/tokens/index.ts"],"names":[],"mappings":"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","file":"chunk-OAV4TA4B.cjs","sourcesContent":["/**\n * Oxygen design-system colour palette.\n * Duplicated here so the published package is fully self-contained.\n */\nexport const PALETTE = {\n 'true-blue': '#0466C8',\n 'usafa-blue': '#0353A4',\n 'dark-cornflower-blue': '#023E7D',\n 'oxford-blue-700': '#002855',\n 'oxford-blue-800': '#001845',\n 'oxford-blue-900': '#001233',\n independence: '#33415C',\n 'black-coral': '#5C677D',\n 'roman-silver': '#7D8597',\n manatee: '#979DAC',\n white: '#fff',\n ice: '#DBF1FD',\n 'ice-dark': '#d0e3ed',\n 'midnight-green-eagle-900': '#013E53',\n 'midnight-green-eagle-700': '#125F6C',\n 'midnight-green-eagle-500': '#125F6C',\n 'rich-black-fogra': '#000202',\n 'rich-black-fogra-opaque': '#0000005b',\n 'prussian-blue': '#00273A',\n 'indigo-dye': '#013C54',\n ming: '#0F6372',\n skobeloff: '#217479',\n 'dark-cyan': '#2A8784',\n 'celadon-green': '#297E74',\n turquise: '#2EB8B0',\n 'oxford-blue-700-opaque': 'rgba(0, 40, 85, .3)',\n disabled: '#dee2e6',\n error: 'tomato',\n warning: 'orange',\n success: 'lightgreen',\n info: 'lightblue',\n transparent: 'rgba(255, 255, 255, .0)',\n} as const\n\nconst COLORS = { PALETTE }\nexport default COLORS\n","/**\n * @geomak/ui — Design Tokens\n *\n * Three layers, each useful in a different context:\n *\n * 1. `palette` — raw brand hex values from palette.json\n * 2. `semanticTokens` — resolved hex / px values keyed by light / dark / shared\n * 3. `vars` — CSS custom-property reference strings for inline styles / CSS-in-JS\n *\n * CSS custom properties are injected by: import '@geomak/ui/styles'\n * Tailwind utilities map to these vars via the bundled tailwind preset.\n */\n\nexport { PALETTE as palette } from '../utils/colors'\n\n// ─── Resolved values (hex / px / ms) ─────────────────────────────────────────\n\n/**\n * Resolved token values for every semantic role.\n * Use when CSS custom properties aren't available (canvas, email, SSR snapshots).\n */\nexport const semanticTokens = {\n light: {\n // Surfaces\n background: '#eef4fa',\n surface: '#ffffff',\n 'surface-raised': '#ffffff',\n // Borders\n border: '#d3dde8',\n 'border-strong': '#8898aa',\n // Text\n foreground: '#0a1929',\n 'foreground-secondary': '#2e4057',\n 'foreground-muted': '#536878',\n // Accent\n accent: '#0466C8',\n 'accent-hover': '#0353A4',\n 'accent-foreground': '#ffffff',\n // Status\n error: '#c0392b',\n warning: '#d68910',\n success: '#1e8449',\n info: '#1565c0',\n // Scrim\n backdrop: 'rgba(6, 15, 26, 0.45)',\n },\n\n dark: {\n // Surfaces\n background: '#060f1a',\n surface: '#0d1f30',\n 'surface-raised': '#152638',\n // Borders\n border: '#1e3348',\n 'border-strong': '#2e4a64',\n // Text\n foreground: '#e8f0f8',\n 'foreground-secondary': '#9ab0c4',\n 'foreground-muted': '#5c7a92',\n // Accent\n accent: '#2d88ff',\n 'accent-hover': '#4d9aff',\n 'accent-foreground': '#ffffff',\n // Status (brightened for dark backgrounds)\n error: '#ff6b6b',\n warning: '#ffb347',\n success: '#5cb85c',\n info: '#5bc0de',\n // Scrim (denser on dark backgrounds)\n backdrop: 'rgba(0, 0, 0, 0.6)',\n },\n\n // Mode-independent tokens\n shared: {\n // Radius — enterprise scale\n 'radius-sm': '2px',\n 'radius-md': '5px',\n 'radius-lg': '7px',\n 'radius-xl': '10px',\n 'radius-2xl': '12px',\n 'radius-full': '9999px',\n\n // Typography\n 'font-size-xs': '0.75rem',\n 'font-size-sm': '0.875rem',\n 'font-size-base': '1rem',\n 'font-size-lg': '1.125rem',\n 'font-size-xl': '1.25rem',\n 'font-size-2xl': '1.5rem',\n 'font-size-3xl': '1.875rem',\n 'font-weight-normal': 400,\n 'font-weight-medium': 500,\n 'font-weight-semibold': 600,\n 'font-weight-bold': 700,\n 'line-height-tight': 1.25,\n 'line-height-snug': 1.375,\n 'line-height-normal': 1.5,\n 'line-height-relaxed': 1.625,\n 'letter-spacing-tight': '-0.025em',\n 'letter-spacing-normal': '0em',\n 'letter-spacing-wide': '0.025em',\n\n // Component heights / density\n 'height-control-xs': '24px',\n 'height-control-sm': '28px',\n 'height-control-md': '36px',\n 'height-control-lg': '44px',\n 'height-topbar': '56px',\n 'sidebar-expanded': '220px',\n 'sidebar-collapsed': '52px',\n\n // Motion\n 'duration-instant': '50ms',\n 'duration-fast': '80ms',\n 'duration-normal': '150ms',\n 'duration-slow': '220ms',\n 'duration-gentle': '350ms',\n 'ease-out-expo': 'cubic-bezier(0.16, 1, 0.3, 1)',\n 'ease-out-quart': 'cubic-bezier(0.25, 1, 0.5, 1)',\n 'ease-out-cubic': 'cubic-bezier(0.33, 1, 0.68, 1)',\n 'ease-in-out': 'cubic-bezier(0.4, 0, 0.2, 1)',\n 'ease-in': 'cubic-bezier(0.4, 0, 1, 1)',\n\n // Z-index\n 'z-base': 0,\n 'z-raised': 10,\n 'z-dropdown': 100,\n 'z-sticky': 150,\n 'z-topbar': 200,\n 'z-overlay': 300,\n 'z-modal': 400,\n 'z-toast': 500,\n 'z-tooltip': 600,\n },\n} as const\n\nexport type SemanticColorKey = keyof typeof semanticTokens.light\nexport type SemanticSharedKey = keyof typeof semanticTokens.shared\n\n// ─── CSS custom-property references ──────────────────────────────────────────\n\n/**\n * CSS custom-property reference strings.\n * Use in inline styles or CSS-in-JS — values respond to light/dark automatically.\n *\n * @example\n * // Inline style\n * <div style={{ color: vars.color.foreground }}>...</div>\n *\n * @example\n * // Emotion / styled-components\n * const Card = styled.div`\n * background: ${vars.color.surface};\n * border-radius: ${vars.radius.lg};\n * box-shadow: ${vars.shadow.md};\n * `\n */\nexport const vars = {\n color: {\n background: 'var(--color-background)',\n surface: 'var(--color-surface)',\n surfaceRaised: 'var(--color-surface-raised)',\n border: 'var(--color-border)',\n borderStrong: 'var(--color-border-strong)',\n foreground: 'var(--color-foreground)',\n foregroundSecondary: 'var(--color-foreground-secondary)',\n foregroundMuted: 'var(--color-foreground-muted)',\n accent: 'var(--color-accent)',\n accentHover: 'var(--color-accent-hover)',\n accentForeground: 'var(--color-accent-foreground)',\n error: 'var(--color-error)',\n warning: 'var(--color-warning)',\n success: 'var(--color-success)',\n info: 'var(--color-info)',\n backdrop: 'var(--color-backdrop)',\n },\n\n radius: {\n sm: 'var(--radius-sm)',\n md: 'var(--radius-md)',\n lg: 'var(--radius-lg)',\n xl: 'var(--radius-xl)',\n '2xl': 'var(--radius-2xl)',\n full: 'var(--radius-full)',\n },\n\n shadow: {\n sm: 'var(--shadow-sm)',\n md: 'var(--shadow-md)',\n lg: 'var(--shadow-lg)',\n xl: 'var(--shadow-xl)',\n },\n\n typography: {\n fontFamily: 'var(--font-family-sans)',\n fontSizeXs: 'var(--font-size-xs)',\n fontSizeSm: 'var(--font-size-sm)',\n fontSizeBase: 'var(--font-size-base)',\n fontSizeLg: 'var(--font-size-lg)',\n fontSizeXl: 'var(--font-size-xl)',\n fontSize2xl: 'var(--font-size-2xl)',\n fontSize3xl: 'var(--font-size-3xl)',\n fontWeightNormal: 'var(--font-weight-normal)',\n fontWeightMedium: 'var(--font-weight-medium)',\n fontWeightSemibold: 'var(--font-weight-semibold)',\n fontWeightBold: 'var(--font-weight-bold)',\n lineHeightTight: 'var(--line-height-tight)',\n lineHeightSnug: 'var(--line-height-snug)',\n lineHeightNormal: 'var(--line-height-normal)',\n lineHeightRelaxed: 'var(--line-height-relaxed)',\n letterSpacingTight: 'var(--letter-spacing-tight)',\n letterSpacingNormal: 'var(--letter-spacing-normal)',\n letterSpacingWide: 'var(--letter-spacing-wide)',\n },\n\n density: {\n controlXs: 'var(--height-control-xs)',\n controlSm: 'var(--height-control-sm)',\n controlMd: 'var(--height-control-md)',\n controlLg: 'var(--height-control-lg)',\n topbar: 'var(--height-topbar)',\n sidebarExpanded: 'var(--sidebar-expanded)',\n sidebarCollapsed: 'var(--sidebar-collapsed)',\n },\n\n motion: {\n durationInstant: 'var(--duration-instant)',\n durationFast: 'var(--duration-fast)',\n durationNormal: 'var(--duration-normal)',\n durationSlow: 'var(--duration-slow)',\n durationGentle: 'var(--duration-gentle)',\n easeOutExpo: 'var(--ease-out-expo)',\n easeOutQuart: 'var(--ease-out-quart)',\n easeOutCubic: 'var(--ease-out-cubic)',\n easeInOut: 'var(--ease-in-out)',\n easeIn: 'var(--ease-in)',\n },\n\n zIndex: {\n base: 'var(--z-base)',\n raised: 'var(--z-raised)',\n dropdown: 'var(--z-dropdown)',\n sticky: 'var(--z-sticky)',\n topbar: 'var(--z-topbar)',\n overlay: 'var(--z-overlay)',\n modal: 'var(--z-modal)',\n toast: 'var(--z-toast)',\n tooltip: 'var(--z-tooltip)',\n },\n} as const\n\n// ─── Convenience type exports ─────────────────────────────────────────────────\nexport type VarColorKey = keyof typeof vars.color\nexport type VarRadiusKey = keyof typeof vars.radius\nexport type VarShadowKey = keyof typeof vars.shadow\nexport type VarTypoKey = keyof typeof vars.typography\nexport type VarDensityKey = keyof typeof vars.density\nexport type VarMotionKey = keyof typeof vars.motion\nexport type VarZIndexKey = keyof typeof vars.zIndex\n"]}
@@ -107,6 +107,7 @@ declare const semanticTokens: {
107
107
  readonly warning: "#d68910";
108
108
  readonly success: "#1e8449";
109
109
  readonly info: "#1565c0";
110
+ readonly backdrop: "rgba(6, 15, 26, 0.45)";
110
111
  };
111
112
  readonly dark: {
112
113
  readonly background: "#060f1a";
@@ -124,6 +125,7 @@ declare const semanticTokens: {
124
125
  readonly warning: "#ffb347";
125
126
  readonly success: "#5cb85c";
126
127
  readonly info: "#5bc0de";
128
+ readonly backdrop: "rgba(0, 0, 0, 0.6)";
127
129
  };
128
130
  readonly shared: {
129
131
  readonly 'radius-sm': "2px";
@@ -213,6 +215,7 @@ declare const vars: {
213
215
  readonly warning: "var(--color-warning)";
214
216
  readonly success: "var(--color-success)";
215
217
  readonly info: "var(--color-info)";
218
+ readonly backdrop: "var(--color-backdrop)";
216
219
  };
217
220
  readonly radius: {
218
221
  readonly sm: "var(--radius-sm)";
@@ -107,6 +107,7 @@ declare const semanticTokens: {
107
107
  readonly warning: "#d68910";
108
108
  readonly success: "#1e8449";
109
109
  readonly info: "#1565c0";
110
+ readonly backdrop: "rgba(6, 15, 26, 0.45)";
110
111
  };
111
112
  readonly dark: {
112
113
  readonly background: "#060f1a";
@@ -124,6 +125,7 @@ declare const semanticTokens: {
124
125
  readonly warning: "#ffb347";
125
126
  readonly success: "#5cb85c";
126
127
  readonly info: "#5bc0de";
128
+ readonly backdrop: "rgba(0, 0, 0, 0.6)";
127
129
  };
128
130
  readonly shared: {
129
131
  readonly 'radius-sm': "2px";
@@ -213,6 +215,7 @@ declare const vars: {
213
215
  readonly warning: "var(--color-warning)";
214
216
  readonly success: "var(--color-success)";
215
217
  readonly info: "var(--color-info)";
218
+ readonly backdrop: "var(--color-backdrop)";
216
219
  };
217
220
  readonly radius: {
218
221
  readonly sm: "var(--radius-sm)";
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk255PCZIW_cjs = require('./chunk-255PCZIW.cjs');
3
+ var chunkOAV4TA4B_cjs = require('./chunk-OAV4TA4B.cjs');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React20 = require('react');
6
6
  var reactDom = require('react-dom');
@@ -782,9 +782,16 @@ var Button = React20__default.default.forwardRef(function Button2({
782
782
  });
783
783
  Button.displayName = "Button";
784
784
  var Button_default = Button;
785
+ var SIZE_MAP = {
786
+ sm: 400,
787
+ md: 600,
788
+ lg: 800,
789
+ xl: 1e3,
790
+ full: "calc(100vw - 2rem)"
791
+ };
785
792
  function Modal({
786
793
  width,
787
- size,
794
+ size = "md",
788
795
  isOpen = false,
789
796
  onClose,
790
797
  onOk,
@@ -797,14 +804,14 @@ function Modal({
797
804
  className = ""
798
805
  }) {
799
806
  const reduced = framerMotion.useReducedMotion();
800
- const maxWidth = width ?? size?.[0] ?? 600;
807
+ const maxWidth = width ?? SIZE_MAP[size];
801
808
  return /* @__PURE__ */ jsxRuntime.jsx(Dialog__namespace.Root, { open: isOpen, onOpenChange: (open) => {
802
809
  if (!open) onClose?.();
803
810
  }, children: /* @__PURE__ */ jsxRuntime.jsxs(Dialog__namespace.Portal, { forceMount: true, children: [
804
811
  /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: isOpen && /* @__PURE__ */ jsxRuntime.jsx(Dialog__namespace.Overlay, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
805
812
  framerMotion.motion.div,
806
813
  {
807
- className: "fixed inset-0 bg-black/40 z-overlay",
814
+ className: "fixed inset-0 bg-backdrop z-overlay",
808
815
  initial: { opacity: 0 },
809
816
  animate: { opacity: 1 },
810
817
  exit: { opacity: 0 },
@@ -865,12 +872,20 @@ function Modal({
865
872
  ) }) })
866
873
  ] }) });
867
874
  }
875
+ var SIZE_MAP2 = {
876
+ sm: 280,
877
+ md: 320,
878
+ lg: 480,
879
+ xl: 640,
880
+ full: "calc(100vw - 1rem)"
881
+ };
868
882
  function Drawer({
869
883
  isOpen = false,
870
884
  onClose,
871
885
  hasFooter = true,
872
886
  placement = "right",
873
- width = 320,
887
+ size = "md",
888
+ width,
874
889
  okText = "Ok",
875
890
  cancelText = "Cancel",
876
891
  onOk,
@@ -882,13 +897,15 @@ function Drawer({
882
897
  const reduced = framerMotion.useReducedMotion();
883
898
  const isRight = placement === "right";
884
899
  const hiddenX = isRight ? "100%" : "-100%";
900
+ const resolvedWidth = width ?? SIZE_MAP2[size];
901
+ const widthCss = typeof resolvedWidth === "number" ? `${resolvedWidth}px` : resolvedWidth;
885
902
  return /* @__PURE__ */ jsxRuntime.jsx(Dialog__namespace.Root, { open: isOpen, onOpenChange: (open) => {
886
903
  if (!open) onClose?.();
887
904
  }, children: /* @__PURE__ */ jsxRuntime.jsxs(Dialog__namespace.Portal, { forceMount: true, children: [
888
905
  /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: isOpen && /* @__PURE__ */ jsxRuntime.jsx(Dialog__namespace.Overlay, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
889
906
  framerMotion.motion.div,
890
907
  {
891
- className: "fixed inset-0 bg-black/40 z-overlay",
908
+ className: "fixed inset-0 bg-backdrop z-overlay",
892
909
  initial: { opacity: 0 },
893
910
  animate: { opacity: 1 },
894
911
  exit: { opacity: 0 },
@@ -899,7 +916,7 @@ function Drawer({
899
916
  framerMotion.motion.div,
900
917
  {
901
918
  className: `fixed top-0 bottom-0 ${isRight ? "right-0" : "left-0"} z-modal flex flex-col bg-surface shadow-xl focus:outline-none ${className}`.trim(),
902
- style: { width: `min(calc(100vw - 1rem), ${width}px)` },
919
+ style: { width: `min(calc(100vw - 1rem), ${widthCss})` },
903
920
  initial: { x: reduced ? 0 : hiddenX, opacity: reduced ? 0 : 1 },
904
921
  animate: { x: 0, opacity: 1 },
905
922
  exit: { x: reduced ? 0 : hiddenX, opacity: reduced ? 0 : 1 },
@@ -2481,7 +2498,7 @@ function useNotification() {
2481
2498
  danger: (props) => open({ type: "danger", ...props })
2482
2499
  };
2483
2500
  }
2484
- var SIZE_MAP = {
2501
+ var SIZE_MAP3 = {
2485
2502
  // xs is sized to fit beside button text (~14px) — async AutoComplete,
2486
2503
  // Button loading prop, inline status badges, etc.
2487
2504
  xs: { outer: "w-3.5 h-3.5", inner: "w-1.5 h-1.5", dot: "w-0.5 h-0.5", stroke: "border-[1.5px]", text: "text-[10px]" },
@@ -2498,7 +2515,7 @@ var letterVariants = {
2498
2515
  visible: { opacity: 1, y: 0, transition: { duration: 0.22, ease: "easeOut" } }
2499
2516
  };
2500
2517
  function SpinnerCore({ size, color }) {
2501
- const dims = SIZE_MAP[size];
2518
+ const dims = SIZE_MAP3[size];
2502
2519
  const ringColor = color ?? "var(--color-accent)";
2503
2520
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex items-center justify-center", style: { color: ringColor }, children: [
2504
2521
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2537,7 +2554,7 @@ function LoadingSpinner({
2537
2554
  }) {
2538
2555
  const reduced = framerMotion.useReducedMotion();
2539
2556
  const letters = prompt ? Array.from(prompt) : [];
2540
- const dims = SIZE_MAP[size];
2557
+ const dims = SIZE_MAP3[size];
2541
2558
  const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2542
2559
  /* @__PURE__ */ jsxRuntime.jsx(SpinnerCore, { size, color: spinnerColor }),
2543
2560
  letters.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
@@ -2874,7 +2891,7 @@ function CatalogCarousel({ items, buttonText, onOpen, className = "" }) {
2874
2891
  onClick: previousApp,
2875
2892
  "aria-label": "Previous",
2876
2893
  className: "cursor-pointer rounded-lg transition-all duration-300 hover:bg-ice-dark dark:hover:bg-independence rotate-180",
2877
- children: /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: chunk255PCZIW_cjs.colors_default.PALETTE["prussian-blue"], strokeWidth: 2, className: "h-10 w-10 dark:stroke-white", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" }) })
2894
+ children: /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: chunkOAV4TA4B_cjs.colors_default.PALETTE["prussian-blue"], strokeWidth: 2, className: "h-10 w-10 dark:stroke-white", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" }) })
2878
2895
  }
2879
2896
  ),
2880
2897
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex", children: indexPool.map((index, id) => {
@@ -2911,7 +2928,7 @@ function CatalogCarousel({ items, buttonText, onOpen, className = "" }) {
2911
2928
  onClick: nextApp,
2912
2929
  "aria-label": "Next",
2913
2930
  className: "cursor-pointer rounded-lg transition-all duration-300 hover:bg-ice-dark dark:hover:bg-independence",
2914
- children: /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: chunk255PCZIW_cjs.colors_default.PALETTE["prussian-blue"], strokeWidth: 2, className: "h-10 w-10 dark:stroke-white", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" }) })
2931
+ children: /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: chunkOAV4TA4B_cjs.colors_default.PALETTE["prussian-blue"], strokeWidth: 2, className: "h-10 w-10 dark:stroke-white", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" }) })
2915
2932
  }
2916
2933
  )
2917
2934
  ] }) });
@@ -7977,19 +7994,19 @@ function CreditCardForm({
7977
7994
 
7978
7995
  Object.defineProperty(exports, "COLORS", {
7979
7996
  enumerable: true,
7980
- get: function () { return chunk255PCZIW_cjs.colors_default; }
7997
+ get: function () { return chunkOAV4TA4B_cjs.colors_default; }
7981
7998
  });
7982
7999
  Object.defineProperty(exports, "palette", {
7983
8000
  enumerable: true,
7984
- get: function () { return chunk255PCZIW_cjs.PALETTE; }
8001
+ get: function () { return chunkOAV4TA4B_cjs.PALETTE; }
7985
8002
  });
7986
8003
  Object.defineProperty(exports, "semanticTokens", {
7987
8004
  enumerable: true,
7988
- get: function () { return chunk255PCZIW_cjs.semanticTokens; }
8005
+ get: function () { return chunkOAV4TA4B_cjs.semanticTokens; }
7989
8006
  });
7990
8007
  Object.defineProperty(exports, "vars", {
7991
8008
  enumerable: true,
7992
- get: function () { return chunk255PCZIW_cjs.vars; }
8009
+ get: function () { return chunkOAV4TA4B_cjs.vars; }
7993
8010
  });
7994
8011
  exports.Accordion = Accordion_default;
7995
8012
  exports.AppShell = AppShell;