@bodil/dom 0.2.2 → 0.2.3

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/dist/dom.d.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  * DOM manipulation tools.
3
3
  * @module
4
4
  */
5
+ import { Signal } from "@bodil/signal";
5
6
  import type { ReactiveController, ReactiveControllerHost } from "lit";
6
7
  import type { Pixels } from "./css";
7
8
  /**
@@ -118,6 +119,20 @@ export declare function scrollToItem(el: HTMLElement, scrollToItemOptions: Scrol
118
119
  * overwritten.
119
120
  */
120
121
  export declare function applyUniqueID(target: HTMLElement): string;
122
+ /**
123
+ * Get a signal which reflects the current state of a media query.
124
+ *
125
+ * For instance, `mediaQuery("(prefers-color-scheme: dark)")` detects whether
126
+ * the user has requested dark mode, and updates itself when the user switches
127
+ * between light and dark mode.
128
+ */
129
+ export declare function mediaQuery(query: string): Signal.Computed<boolean>;
130
+ /**
131
+ * Get the user's dark mode preference.
132
+ *
133
+ * @see mediaQuery
134
+ */
135
+ export declare function darkMode(): Signal.Computed<boolean>;
121
136
  /**
122
137
  * A {@link ReactiveController} which tracks whether a slot is populated.
123
138
  */
package/dist/dom.js CHANGED
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { assertNever, isEmpty, isNullish, unreachable } from "@bodil/core/assert";
6
6
  import { DisposableContext, toDisposable } from "@bodil/core/disposable";
7
+ import { Signal } from "@bodil/signal";
7
8
  import { eventListener } from "./event";
8
9
  import { contains } from "./geometry";
9
10
  /**
@@ -348,6 +349,29 @@ export function applyUniqueID(target) {
348
349
  }
349
350
  return target.id;
350
351
  }
352
+ /**
353
+ * Get a signal which reflects the current state of a media query.
354
+ *
355
+ * For instance, `mediaQuery("(prefers-color-scheme: dark)")` detects whether
356
+ * the user has requested dark mode, and updates itself when the user switches
357
+ * between light and dark mode.
358
+ */
359
+ export function mediaQuery(query) {
360
+ const mediaQuery = window.matchMedia(query);
361
+ const sig = Signal.state(mediaQuery.matches);
362
+ mediaQuery.addEventListener("change", (e) => {
363
+ sig.set(e.matches);
364
+ });
365
+ return sig.readOnly;
366
+ }
367
+ /**
368
+ * Get the user's dark mode preference.
369
+ *
370
+ * @see mediaQuery
371
+ */
372
+ export function darkMode() {
373
+ return mediaQuery("(prefers-color-scheme: dark)");
374
+ }
351
375
  // HasSlotController nicked largely verbatim from Shoelace
352
376
  // https://github.com/shoelace-style/shoelace/blob/next/src/internal/slot.ts
353
377
  /**
package/dist/dom.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bodil/dom",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "DOM and web component tools",
5
5
  "homepage": "https://codeberg.org/bodil/dom",
6
6
  "repository": {
@@ -72,30 +72,30 @@
72
72
  "@bodil/opt": "^1.0.0",
73
73
  "@bodil/signal": "^0.5.2",
74
74
  "lit": "^3.3.2",
75
- "type-fest": "^5.4.4"
75
+ "type-fest": "^5.5.0"
76
76
  },
77
77
  "devDependencies": {
78
- "@eslint/eslintrc": "^3.3.3",
78
+ "@eslint/eslintrc": "^3.3.5",
79
79
  "@eslint/js": "^10.0.1",
80
80
  "@ianvs/prettier-plugin-sort-imports": "^4.7.1",
81
- "@typescript-eslint/eslint-plugin": "^8.56.0",
82
- "@typescript-eslint/parser": "^8.56.0",
81
+ "@typescript-eslint/eslint-plugin": "^8.58.0",
82
+ "@typescript-eslint/parser": "^8.58.0",
83
83
  "@typhonjs-typedoc/ts-lib-docs": "^2024.12.25",
84
- "@vitest/browser-playwright": "^4.0.18",
85
- "@vitest/coverage-v8": "^4.0.18",
86
- "eslint": "^10.0.1",
84
+ "@vitest/browser-playwright": "^4.1.2",
85
+ "@vitest/coverage-v8": "^4.1.2",
86
+ "eslint": "^10.1.0",
87
87
  "eslint-config-prettier": "^10.1.8",
88
- "eslint-plugin-jsdoc": "^62.7.0",
89
- "globals": "^17.3.0",
90
- "happy-dom": "^20.7.0",
88
+ "eslint-plugin-jsdoc": "^62.9.0",
89
+ "globals": "^17.4.0",
90
+ "happy-dom": "^20.8.9",
91
91
  "npm-run-all2": "^8.0.4",
92
92
  "prettier": "^3.8.1",
93
- "typedoc": "^0.28.17",
93
+ "typedoc": "^0.28.18",
94
94
  "typedoc-plugin-extras": "^4.0.1",
95
95
  "typedoc-plugin-mdn-links": "^5.1.1",
96
96
  "typedoc-theme-fresh": "^0.2.3",
97
97
  "typescript": "^5.9.3",
98
- "vitest": "^4.0.18"
98
+ "vitest": "^4.1.2"
99
99
  },
100
100
  "prettier": {
101
101
  "editorconfig": true,
@@ -127,6 +127,6 @@
127
127
  "check": "run-p check:tsc check:eslint",
128
128
  "doc": "typedoc",
129
129
  "doc:readthedocs": "typedoc --out $READTHEDOCS_OUTPUT/html",
130
- "prepublish": "run-p check test:browser build"
130
+ "prepublish": "run-p check test build"
131
131
  }
132
132
  }
package/src/dom.ts CHANGED
@@ -5,6 +5,7 @@
5
5
 
6
6
  import { assertNever, isEmpty, isNullish, unreachable } from "@bodil/core/assert";
7
7
  import { DisposableContext, toDisposable } from "@bodil/core/disposable";
8
+ import { Signal } from "@bodil/signal";
8
9
  import type { ReactiveController, ReactiveControllerHost } from "lit";
9
10
  import type { OptionalKeysOf } from "type-fest";
10
11
 
@@ -460,6 +461,31 @@ export function applyUniqueID(target: HTMLElement): string {
460
461
  return target.id;
461
462
  }
462
463
 
464
+ /**
465
+ * Get a signal which reflects the current state of a media query.
466
+ *
467
+ * For instance, `mediaQuery("(prefers-color-scheme: dark)")` detects whether
468
+ * the user has requested dark mode, and updates itself when the user switches
469
+ * between light and dark mode.
470
+ */
471
+ export function mediaQuery(query: string): Signal.Computed<boolean> {
472
+ const mediaQuery = window.matchMedia(query);
473
+ const sig = Signal.state(mediaQuery.matches);
474
+ mediaQuery.addEventListener("change", (e) => {
475
+ sig.set(e.matches);
476
+ });
477
+ return sig.readOnly;
478
+ }
479
+
480
+ /**
481
+ * Get the user's dark mode preference.
482
+ *
483
+ * @see mediaQuery
484
+ */
485
+ export function darkMode(): Signal.Computed<boolean> {
486
+ return mediaQuery("(prefers-color-scheme: dark)");
487
+ }
488
+
463
489
  // HasSlotController nicked largely verbatim from Shoelace
464
490
  // https://github.com/shoelace-style/shoelace/blob/next/src/internal/slot.ts
465
491
  /**