fluentui-webcomponents 0.0.3 → 0.0.5

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/AGENTS.md CHANGED
@@ -156,7 +156,7 @@ document.documentElement.style.colorScheme = 'light dark';
156
156
  ### Runtime Accent Change
157
157
 
158
158
  ```js
159
- document.documentElement.style.setProperty('--accent-base', '#e3008c');
159
+ document.documentElement.style.setProperty('--accent-base-override', '#e3008c');
160
160
  ```
161
161
 
162
162
  One line. Overrides the `light-dark()` value. Entire palette and all dependent tokens update instantly. Zero JS math.
package/README.md CHANGED
@@ -28,7 +28,10 @@ Open `http://localhost:3000/gallery.html` — a single-page showcase of all 26 c
28
28
 
29
29
  **Accent color** (instant, no JS math):
30
30
  ```css
31
- :root { --accent-base: #e3008c; }
31
+ :root { --accent-base-override: #e3008c; }
32
+ ```
33
+ ```js
34
+ document.documentElement.style.setProperty('--accent-base-override', '#e3008c');
32
35
  ```
33
36
 
34
37
  The entire 16-stop brand palette derives from this single CSS variable via `color-mix(in srgb, ...)`. All component colors update automatically.
@@ -20,6 +20,8 @@ class FluentElement extends HTMLElement {
20
20
  this._root.appendChild(tmpl.content.cloneNode(true));
21
21
  }
22
22
 
23
+ disconnectedCallback() {}
24
+
23
25
  static get observedAttributes() {
24
26
  return [];
25
27
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluentui-webcomponents",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "fully vibe-coded @microsoft/fluentui to get rid of FAST frameworks.",
5
5
  "homepage": "https://github.com/cheese233/fluentui-webcomponents#readme",
6
6
  "bugs": {
@@ -24,9 +24,9 @@ class FluentThemePicker extends HTMLElement {
24
24
  </label>
25
25
  `;
26
26
  this.querySelector('#accent-picker').addEventListener('input', e => {
27
- document.documentElement.style.setProperty('--accent-base', e.target.value);
27
+ document.documentElement.style.setProperty('--accent-base-override', e.target.value);
28
28
  });
29
- const themeSelect = this.querySelector('#theme-select');
29
+ const themeSelect = this.querySelector("#theme-select");
30
30
 
31
31
  const applyTheme = (theme) => {
32
32
  const root = document.documentElement;
@@ -37,16 +37,18 @@ class FluentThemePicker extends HTMLElement {
37
37
  }
38
38
  };
39
39
 
40
- themeSelect.addEventListener('change', e => {
40
+ themeSelect.addEventListener("change", (e) => {
41
41
  applyTheme(e.target.value);
42
42
  });
43
43
 
44
44
  if (window.matchMedia) {
45
- window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
46
- if (themeSelect.value === 'system') {
47
- applyTheme('system');
48
- }
49
- });
45
+ window
46
+ .matchMedia("(prefers-color-scheme: dark)")
47
+ .addEventListener("change", () => {
48
+ if (themeSelect.value === "system") {
49
+ applyTheme("system");
50
+ }
51
+ });
50
52
  }
51
53
 
52
54
  // Initialize with the current selection
@@ -54,4 +56,4 @@ class FluentThemePicker extends HTMLElement {
54
56
  }
55
57
  }
56
58
 
57
- customElements.define('fluent-theme-picker', FluentThemePicker);
59
+ customElements.define("fluent-theme-picker", FluentThemePicker);
package/tokens.css CHANGED
@@ -19,13 +19,21 @@
19
19
  Set color-scheme: light dark on :root for auto, override via JS.
20
20
  ============================================================ */
21
21
 
22
- :host,
23
22
  :root {
24
23
  color-scheme: light dark;
24
+ }
25
25
 
26
+ :host,
27
+ :root {
26
28
  /* ===== Base Colors ===== */
27
- --accent-base: light-dark(#0f6cbd, #479ef5);
28
- --neutral-base: light-dark(#808080, #b0b0b0);
29
+ /*
30
+ * Use var(--foo-override, default) so page-level JS (theme picker)
31
+ * can override --accent-base via --accent-base-override on :root,
32
+ * which inherits through :host's var() fallback chain.
33
+ * Direct :host definitions would block inheritance, so we delegate.
34
+ */
35
+ --accent-base: var(--accent-base-override, light-dark(#0f6cbd, #479ef5));
36
+ --neutral-base: var(--neutral-base-override, light-dark(#808080, #b0b0b0));
29
37
 
30
38
  /* ===== Trim Endpoints ===== */
31
39
  /*