@vanduo-oss/framework 1.3.8 → 1.3.9

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.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Vanduo Framework v1.3.8
1
+ # Vanduo Framework v1.3.9
2
2
 
3
3
  <p align="center">
4
4
  <img src="vanduo-banner.svg" alt="Vanduo Framework Banner" width="100%">
@@ -20,8 +20,9 @@ Vanduo is a lightweight, zero-dependency UI framework built with pure HTML, CSS,
20
20
 
21
21
  - Pure CSS/JS with no runtime dependencies
22
22
  - Modular architecture with optional per-component imports
23
- - 47+ components, including Expanding Cards and animated Timeline controls in v1.3.8
24
- - Niche canvas hex-grid support is distributed as `@vanduo-oss/hex-grid`
23
+ - 47+ components, including Expanding Cards and animated Timeline controls in v1.3.9
24
+ - Current Theme Customizer defaults in this worktree are `charcoal` for neutral color and `ubuntu` for font family
25
+ - Niche canvas hex-grid support is distributed as [`@vanduo-oss/hex-grid`](https://www.npmjs.com/package/@vanduo-oss/hex-grid)
25
26
  - Built-in dark/light/system theme switching
26
27
  - Runtime Theme Customizer for color, font, and radius tokens
27
28
  - Accessibility-focused components and utilities
@@ -31,8 +32,8 @@ Vanduo is a lightweight, zero-dependency UI framework built with pure HTML, CSS,
31
32
  ### CDN (recommended)
32
33
 
33
34
  ```html
34
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/vanduo-oss/framework@v1.3.8/dist/vanduo.min.css">
35
- <script src="https://cdn.jsdelivr.net/gh/vanduo-oss/framework@v1.3.8/dist/vanduo.min.js"></script>
35
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/vanduo-oss/framework@v1.3.9/dist/vanduo.min.css">
36
+ <script src="https://cdn.jsdelivr.net/gh/vanduo-oss/framework@v1.3.9/dist/vanduo.min.js"></script>
36
37
  <script>Vanduo.init();</script>
37
38
  ```
38
39
 
@@ -75,6 +75,8 @@
75
75
  user-select: none;
76
76
  transition: var(--transition-bg);
77
77
  border: none;
78
+ -webkit-appearance: none;
79
+ appearance: none;
78
80
  width: 100%;
79
81
  text-align: left;
80
82
  font-family: var(--font-family-sans);
@@ -88,7 +90,9 @@
88
90
  background-color: var(--collapsible-header-bg-hover);
89
91
  }
90
92
 
93
+ .vd-collapsible-header:focus,
91
94
  .vd-collapsible-header:focus-visible,
95
+ .accordion-header:focus,
92
96
  .accordion-header:focus-visible {
93
97
  outline: none;
94
98
  }
@@ -122,11 +126,15 @@
122
126
  text-decoration: none;
123
127
  background: none;
124
128
  border: none;
129
+ -webkit-appearance: none;
130
+ appearance: none;
125
131
  padding: 0;
126
132
  cursor: pointer;
127
133
  }
128
134
 
135
+ .vd-collapsible-trigger:focus,
129
136
  .vd-collapsible-trigger:focus-visible,
137
+ .accordion-trigger:focus,
130
138
  .accordion-trigger:focus-visible {
131
139
  outline: none;
132
140
  }
@@ -312,6 +312,18 @@
312
312
  --slate-8: #1e293b;
313
313
  --slate-9: #0f172a;
314
314
 
315
+ /* --- Charcoal Scale (Deep cool charcoal) --- */
316
+ --charcoal-0: #f5f7f8;
317
+ --charcoal-1: #e7ebee;
318
+ --charcoal-2: #ced6dc;
319
+ --charcoal-3: #adb8c1;
320
+ --charcoal-4: #8b98a3;
321
+ --charcoal-5: #6d7c88;
322
+ --charcoal-6: #53616d;
323
+ --charcoal-7: #394754;
324
+ --charcoal-8: #202c38;
325
+ --charcoal-9: #0d1117;
326
+
315
327
  /* --- Zinc Scale (Slightly warm gray) --- */
316
328
  --zinc-0: #fafafa;
317
329
  --zinc-1: #f4f4f5;
@@ -946,7 +958,21 @@
946
958
  * These rules remap --gray-* variables based on [data-neutral] attribute
947
959
  * ═════════════════════════════════════════════════════════════════════════ */
948
960
 
949
- /* Gray Neutral (default - no override needed) */
961
+ /* Charcoal Neutral (default) */
962
+ [data-neutral="charcoal"] {
963
+ --gray-0: var(--charcoal-0);
964
+ --gray-1: var(--charcoal-1);
965
+ --gray-2: var(--charcoal-2);
966
+ --gray-3: var(--charcoal-3);
967
+ --gray-4: var(--charcoal-4);
968
+ --gray-5: var(--charcoal-5);
969
+ --gray-6: var(--charcoal-6);
970
+ --gray-7: var(--charcoal-7);
971
+ --gray-8: var(--charcoal-8);
972
+ --gray-9: var(--charcoal-9);
973
+ }
974
+
975
+ /* Gray Neutral */
950
976
  [data-neutral="gray"] {
951
977
  --gray-0: #f8f9fa;
952
978
  --gray-1: #f1f3f5;
@@ -84,7 +84,7 @@
84
84
  /* ============================================
85
85
  * TYPOGRAPHY TOKENS
86
86
  * ============================================ */
87
- --vd-font-family-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
87
+ --vd-font-family-base: 'Ubuntu', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
88
88
  --vd-font-family-mono: 'JetBrains Mono', 'Fira Code', monospace;
89
89
 
90
90
  /* Font Sizes (Fibonacci scale) */
@@ -5,7 +5,7 @@
5
5
 
6
6
  :root {
7
7
  /* Font Families */
8
- --font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
8
+ --font-family-sans: 'Ubuntu', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
9
9
  --font-family-serif: Georgia, "Times New Roman", Times, serif;
10
10
  --font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;
11
11
  }
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "1.3.8",
3
- "builtAt": "2026-05-06T18:32:43.703Z",
4
- "commit": "6042eac",
2
+ "version": "1.3.9",
3
+ "builtAt": "2026-05-10T18:54:59.798Z",
4
+ "commit": "2945a85",
5
5
  "mode": "development+production"
6
6
  }
@@ -1,4 +1,4 @@
1
- /*! Vanduo v1.3.8 | Built: 2026-05-06T18:32:43.703Z | git:6042eac | development */
1
+ /*! Vanduo v1.3.9 | Built: 2026-05-10T18:54:59.798Z | git:2945a85 | development */
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -132,7 +132,7 @@ module.exports = __toCommonJS(index_exports);
132
132
  // js/vanduo.js
133
133
  (function() {
134
134
  "use strict";
135
- const VANDUO_VERSION = true ? "1.3.8" : "0.0.0-dev";
135
+ const VANDUO_VERSION = true ? "1.3.9" : "0.0.0-dev";
136
136
  const Vanduo2 = {
137
137
  version: VANDUO_VERSION,
138
138
  components: {},
@@ -1217,7 +1217,7 @@ module.exports = __toCommonJS(index_exports);
1217
1217
  preference: this.getPreference()
1218
1218
  };
1219
1219
  if (!this.fonts[this.state.preference]) {
1220
- this.state.preference = "lato";
1220
+ this.state.preference = "ubuntu";
1221
1221
  this.setStorageValue(this.STORAGE_KEY, this.state.preference);
1222
1222
  }
1223
1223
  if (this.isInitialized) {
@@ -1233,10 +1233,10 @@ module.exports = __toCommonJS(index_exports);
1233
1233
  },
1234
1234
  /**
1235
1235
  * Get saved font preference from localStorage
1236
- * @returns {string} Font key or 'lato' (default)
1236
+ * @returns {string} Font key or 'ubuntu' (default)
1237
1237
  */
1238
1238
  getPreference: function() {
1239
- return this.getStorageValue(this.STORAGE_KEY, "lato");
1239
+ return this.getStorageValue(this.STORAGE_KEY, "ubuntu");
1240
1240
  },
1241
1241
  /**
1242
1242
  * Set font preference and apply it
@@ -3904,9 +3904,9 @@ module.exports = __toCommonJS(index_exports);
3904
3904
  DEFAULTS: {
3905
3905
  PRIMARY_LIGHT: "black",
3906
3906
  PRIMARY_DARK: "amber",
3907
- NEUTRAL: "neutral",
3907
+ NEUTRAL: "charcoal",
3908
3908
  RADIUS: "0.5",
3909
- FONT: "lato",
3909
+ FONT: "ubuntu",
3910
3910
  THEME: "system"
3911
3911
  },
3912
3912
  // Primary color definitions (Open Color based)
@@ -3932,6 +3932,7 @@ module.exports = __toCommonJS(index_exports);
3932
3932
  },
3933
3933
  // Neutral color definitions
3934
3934
  NEUTRAL_COLORS: {
3935
+ "charcoal": { name: "Charcoal", color: "#0d1117" },
3935
3936
  "slate": { name: "Slate", color: "#64748b" },
3936
3937
  "gray": { name: "Gray", color: "#6b7280" },
3937
3938
  "zinc": { name: "Zinc", color: "#71717a" },