@y14e/disclosure-css 2.1.3 → 2.2.1

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/index.d.cts CHANGED
@@ -1,6 +1,7 @@
1
1
  interface DisclosureOptions {
2
2
  collapsible: boolean;
3
3
  }
4
+
4
5
  declare class Disclosure {
5
6
  #private;
6
7
  static defaults: Partial<DisclosureOptions>;
@@ -10,4 +11,4 @@ declare class Disclosure {
10
11
  expand(details: HTMLDetailsElement): void;
11
12
  }
12
13
 
13
- export { Disclosure, type DisclosureOptions };
14
+ export { Disclosure };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  interface DisclosureOptions {
2
2
  collapsible: boolean;
3
3
  }
4
+
4
5
  declare class Disclosure {
5
6
  #private;
6
7
  static defaults: Partial<DisclosureOptions>;
@@ -10,4 +11,4 @@ declare class Disclosure {
10
11
  expand(details: HTMLDetailsElement): void;
11
12
  }
12
13
 
13
- export { Disclosure, type DisclosureOptions };
14
+ export { Disclosure };
package/dist/index.js CHANGED
@@ -1,11 +1,26 @@
1
1
  import { restoreAttributes, saveAttributes } from '@y14e/attribute-utils';
2
2
  import { createRovingTabIndex } from '@y14e/roving-tabindex';
3
3
 
4
+ // src/index.ts
5
+
6
+ // src/defaults.ts
7
+ var defaults = { collapsible: true };
8
+
9
+ // src/options.ts
10
+ function resolveOptions(defaults2, source) {
11
+ const merged = { ...defaults2, ...source };
12
+ if (typeof merged.collapsible !== "boolean") {
13
+ const collapsible = defaults2.collapsible;
14
+ console.warn(`Invalid collapsible option. Fallback: ${collapsible}.`);
15
+ merged.collapsible = collapsible;
16
+ }
17
+ return merged;
18
+ }
19
+
4
20
  // src/index.ts
5
21
  var Disclosure = class _Disclosure {
6
22
  static defaults = {};
7
23
  #rootElement;
8
- #defaults = { collapsible: true };
9
24
  #settings;
10
25
  #detailsElements;
11
26
  #summaryElements;
@@ -23,8 +38,10 @@ var Disclosure = class _Disclosure {
23
38
  return;
24
39
  }
25
40
  this.#rootElement = root;
26
- this.#defaults = this.#resolveOptions(this.#defaults, _Disclosure.defaults);
27
- this.#settings = this.#resolveOptions(this.#defaults, options);
41
+ this.#settings = resolveOptions(
42
+ resolveOptions(defaults, _Disclosure.defaults),
43
+ options
44
+ );
28
45
  const NOT_NESTED = ":not(:scope summary + * *)";
29
46
  this.#detailsElements = [
30
47
  ...this.#rootElement.querySelectorAll(
@@ -153,15 +170,6 @@ var Disclosure = class _Disclosure {
153
170
  #isFocusable(element) {
154
171
  return element.tabIndex >= 0;
155
172
  }
156
- #resolveOptions(target, source) {
157
- const merged = { ...target, ...source };
158
- if (typeof merged.collapsible !== "boolean") {
159
- const collapsible = this.#defaults.collapsible;
160
- console.warn(`Invalid collapsible option. Fallback: ${collapsible}.`);
161
- merged.collapsible = collapsible;
162
- }
163
- return merged;
164
- }
165
173
  };
166
174
 
167
175
  export { Disclosure };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@y14e/disclosure-css",
3
- "version": "2.1.3",
3
+ "version": "2.2.1",
4
4
  "description": "WAI-ARIA compliant disclosure pattern implementation in TypeScript",
5
5
  "keywords": [
6
6
  "a11y",
@@ -42,10 +42,6 @@
42
42
  "lint": "tsc --noEmit",
43
43
  "prepublishOnly": "npm run build"
44
44
  },
45
- "dependencies": {
46
- "@y14e/attribute-utils": "^2.0.15",
47
- "@y14e/roving-tabindex": "^3.3.8"
48
- },
49
45
  "devDependencies": {
50
46
  "bun-types": "latest",
51
47
  "tsup": "^8.0.0",
@@ -56,5 +52,9 @@
56
52
  },
57
53
  "allowScripts": {
58
54
  "esbuild": true
55
+ },
56
+ "dependencies": {
57
+ "@y14e/attribute-utils": "^2.0.16",
58
+ "@y14e/roving-tabindex": "^3.4.1"
59
59
  }
60
60
  }