@siteimprove/alfa-dom 0.112.0 → 0.114.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.
Files changed (132) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/h.d.ts +14 -13
  3. package/dist/h.js +15 -13
  4. package/dist/index.d.ts +2 -28
  5. package/dist/index.js +2 -28
  6. package/dist/jsx.d.ts +2 -3
  7. package/dist/native.d.ts +10 -2
  8. package/dist/native.js +18 -2
  9. package/dist/node/attribute/predicate/has-name.d.ts +1 -1
  10. package/dist/node/attribute/predicate/has-name.js +2 -3
  11. package/dist/node/attribute.d.ts +9 -13
  12. package/dist/node/attribute.js +3 -10
  13. package/dist/node/comment.d.ts +7 -11
  14. package/dist/node/comment.js +2 -9
  15. package/dist/node/document.d.ts +11 -14
  16. package/dist/node/document.js +8 -23
  17. package/dist/node/element/augment.d.ts +1 -1
  18. package/dist/node/element/augment.js +1 -1
  19. package/dist/node/element/predicate/has-attribute.d.ts +1 -1
  20. package/dist/node/element/predicate/has-display-size.d.ts +1 -1
  21. package/dist/node/element/predicate/has-id.d.ts +1 -1
  22. package/dist/node/element/predicate/has-input-type.d.ts +1 -1
  23. package/dist/node/element/predicate/has-name.d.ts +1 -1
  24. package/dist/node/element/predicate/has-namespace.d.ts +1 -1
  25. package/dist/node/element/predicate/has-tab-index.d.ts +1 -1
  26. package/dist/node/element/predicate/has-unique-id.d.ts +3 -2
  27. package/dist/node/element/predicate/has-unique-id.js +21 -20
  28. package/dist/node/element/predicate/index.d.ts +19 -0
  29. package/dist/node/element/predicate/index.js +19 -0
  30. package/dist/node/element/predicate/is-actually-disabled.d.ts +4 -2
  31. package/dist/node/element/predicate/is-actually-disabled.js +37 -38
  32. package/dist/node/element/predicate/is-browsing-context-container.d.ts +1 -1
  33. package/dist/node/element/predicate/is-content.d.ts +5 -2
  34. package/dist/node/element/predicate/is-content.js +3 -4
  35. package/dist/node/element/predicate/is-document-element.d.ts +3 -2
  36. package/dist/node/element/predicate/is-document-element.js +2 -3
  37. package/dist/node/element/predicate/is-draggable.d.ts +1 -1
  38. package/dist/node/element/predicate/is-editing-host.d.ts +1 -1
  39. package/dist/node/element/predicate/is-fallback.d.ts +5 -2
  40. package/dist/node/element/predicate/is-fallback.js +5 -6
  41. package/dist/node/element/predicate/is-replaced.d.ts +1 -1
  42. package/dist/node/element/predicate/is-scoped-to.d.ts +3 -2
  43. package/dist/node/element/predicate/is-scoped-to.js +5 -5
  44. package/dist/node/element/predicate/is-suggested-focusable.d.ts +1 -1
  45. package/dist/node/element/predicate/is-suggested-focusable.js +3 -3
  46. package/dist/node/fragment.d.ts +6 -9
  47. package/dist/node/fragment.js +5 -20
  48. package/dist/node/index.d.ts +54 -0
  49. package/dist/node/index.js +74 -0
  50. package/dist/{node.d.ts → node/node.d.ts} +40 -160
  51. package/dist/{node.js → node/node.js} +57 -92
  52. package/dist/node/predicate/has-box.d.ts +1 -2
  53. package/dist/node/predicate/has-child.d.ts +1 -1
  54. package/dist/node/predicate/has-child.js +2 -2
  55. package/dist/node/predicate/has-descendant.d.ts +1 -1
  56. package/dist/node/predicate/has-descendant.js +2 -2
  57. package/dist/node/predicate/has-inclusive-descendant.d.ts +1 -1
  58. package/dist/node/predicate/has-inclusive-descendant.js +2 -2
  59. package/dist/node/predicate/has-text-content.d.ts +1 -1
  60. package/dist/node/predicate/has-text-content.js +2 -2
  61. package/dist/node/predicate/index.d.ts +7 -0
  62. package/dist/node/predicate/index.js +7 -0
  63. package/dist/node/predicate/is-root.d.ts +1 -1
  64. package/dist/node/query/descendants.d.ts +3 -3
  65. package/dist/node/query/descendants.js +6 -6
  66. package/dist/node/query/element-id-map.d.ts +2 -2
  67. package/dist/node/query/index.d.ts +2 -2
  68. package/dist/node/shadow.d.ts +11 -14
  69. package/dist/node/shadow.js +9 -24
  70. package/dist/node/{element.d.ts → slotable/element.d.ts} +28 -27
  71. package/dist/node/{element.js → slotable/element.js} +40 -51
  72. package/dist/node/slotable/index.d.ts +12 -0
  73. package/dist/node/slotable/index.js +15 -0
  74. package/dist/node/slotable/slot.d.ts +21 -0
  75. package/dist/node/slotable/slot.js +23 -0
  76. package/dist/node/slotable/slotable.d.ts +31 -0
  77. package/dist/node/slotable/slotable.js +16 -0
  78. package/dist/node/{text.d.ts → slotable/text.d.ts} +8 -11
  79. package/dist/node/{text.js → slotable/text.js} +13 -10
  80. package/dist/node/traversal/get-nodes-between.d.ts +1 -1
  81. package/dist/node/traversal/get-nodes-between.js +3 -3
  82. package/dist/node/traversal/index.d.ts +2 -0
  83. package/dist/node/traversal/index.js +2 -0
  84. package/dist/node/traversal/lowest-common-ancestor.d.ts +1 -1
  85. package/dist/node/traversal/lowest-common-ancestor.js +2 -2
  86. package/dist/node/type.d.ts +6 -10
  87. package/dist/node/type.js +2 -9
  88. package/dist/style/declaration.d.ts +2 -2
  89. package/dist/style/index.d.ts +5 -0
  90. package/dist/style/index.js +5 -0
  91. package/dist/style/rule/condition.d.ts +1 -1
  92. package/dist/style/rule/font-face.d.ts +3 -3
  93. package/dist/style/rule/font-face.js +2 -2
  94. package/dist/style/rule/grouping.d.ts +4 -3
  95. package/dist/style/rule/grouping.js +2 -2
  96. package/dist/style/rule/import.d.ts +3 -3
  97. package/dist/style/rule/import.js +2 -4
  98. package/dist/style/rule/index.d.ts +65 -0
  99. package/dist/style/rule/index.js +83 -0
  100. package/dist/style/rule/keyframe.d.ts +3 -3
  101. package/dist/style/rule/keyframe.js +2 -2
  102. package/dist/style/rule/keyframes.d.ts +2 -2
  103. package/dist/style/rule/keyframes.js +2 -3
  104. package/dist/style/rule/layer.d.ts +5 -4
  105. package/dist/style/rule/layer.js +4 -4
  106. package/dist/style/rule/media.d.ts +2 -2
  107. package/dist/style/rule/media.js +2 -3
  108. package/dist/style/rule/namespace.d.ts +3 -3
  109. package/dist/style/rule/namespace.js +2 -2
  110. package/dist/style/rule/page.d.ts +3 -3
  111. package/dist/style/rule/page.js +2 -2
  112. package/dist/style/rule/rule.d.ts +42 -0
  113. package/dist/style/rule/rule.js +64 -0
  114. package/dist/style/rule/style.d.ts +3 -3
  115. package/dist/style/rule/style.js +2 -2
  116. package/dist/style/rule/supports.d.ts +2 -2
  117. package/dist/style/rule/supports.js +2 -3
  118. package/dist/style/sheet.d.ts +1 -1
  119. package/dist/style/sheet.js +2 -2
  120. package/package.json +29 -30
  121. package/dist/node/element/predicate.d.ts +0 -19
  122. package/dist/node/element/predicate.js +0 -19
  123. package/dist/node/predicate.d.ts +0 -7
  124. package/dist/node/predicate.js +0 -7
  125. package/dist/node/slot.d.ts +0 -29
  126. package/dist/node/slot.js +0 -41
  127. package/dist/node/slotable.d.ts +0 -29
  128. package/dist/node/slotable.js +0 -40
  129. package/dist/node/traversal.d.ts +0 -2
  130. package/dist/node/traversal.js +0 -2
  131. package/dist/style/rule.d.ts +0 -60
  132. package/dist/style/rule.js +0 -109
@@ -1,40 +0,0 @@
1
- import { Element } from "./element.js";
2
- import { Slot } from "./slot.js";
3
- import { Text } from "./text.js";
4
- /**
5
- * @public
6
- */
7
- export var Slotable;
8
- (function (Slotable) {
9
- function isSlotable(value) {
10
- return Element.isElement(value) || Text.isText(value);
11
- }
12
- Slotable.isSlotable = isSlotable;
13
- /**
14
- * {@link https://dom.spec.whatwg.org/#slotable-name}
15
- */
16
- function name(slotable) {
17
- return Element.isElement(slotable)
18
- ? slotable
19
- .attribute("slot")
20
- .map((slot) => slot.value)
21
- .getOr("")
22
- : "";
23
- }
24
- Slotable.name = name;
25
- /**
26
- * {@link https://dom.spec.whatwg.org/#find-a-slot}
27
- */
28
- function findSlot(slotable) {
29
- const name = Slotable.name(slotable);
30
- return slotable
31
- .parent()
32
- .filter(Element.isElement)
33
- .flatMap((parent) => parent.shadow.flatMap((shadow) => shadow
34
- .descendants()
35
- .filter(Slot.isSlot)
36
- .find((slot) => Slot.name(slot) === name)));
37
- }
38
- Slotable.findSlot = findSlot;
39
- })(Slotable || (Slotable = {}));
40
- //# sourceMappingURL=slotable.js.map
@@ -1,2 +0,0 @@
1
- export * from "./traversal/get-nodes-between.js";
2
- //# sourceMappingURL=traversal.d.ts.map
@@ -1,2 +0,0 @@
1
- export * from "./traversal/get-nodes-between.js";
2
- //# sourceMappingURL=traversal.js.map
@@ -1,60 +0,0 @@
1
- import type { Equatable } from "@siteimprove/alfa-equatable";
2
- import { Iterable } from "@siteimprove/alfa-iterable";
3
- import type { Serializable } from "@siteimprove/alfa-json";
4
- import { Option } from "@siteimprove/alfa-option";
5
- import type { Trampoline } from "@siteimprove/alfa-trampoline";
6
- import type * as json from "@siteimprove/alfa-json";
7
- import type { Sheet } from "./sheet.js";
8
- import { FontFaceRule, ImportRule, KeyframeRule, KeyframesRule, Layer, MediaRule, NamespaceRule, PageRule, StyleRule, SupportsRule } from "../index.js";
9
- /**
10
- * @public
11
- */
12
- export declare abstract class Rule<T extends string = string> implements Equatable, Serializable {
13
- protected _owner: Option<Sheet>;
14
- protected _parent: Option<Rule>;
15
- private readonly _type;
16
- protected constructor(type: T);
17
- get type(): T;
18
- get owner(): Option<Sheet>;
19
- get parent(): Option<Rule>;
20
- children(): Iterable<Rule>;
21
- descendants(): Iterable<Rule>;
22
- ancestors(): Iterable<Rule>;
23
- inclusiveAncestors(): Iterable<Rule>;
24
- equals(value: unknown): value is this;
25
- toJSON(): Rule.JSON<T>;
26
- /**
27
- * @internal
28
- */
29
- _attachOwner(owner: Sheet): boolean;
30
- /**
31
- * @internal
32
- */
33
- _attachParent(parent: Rule): boolean;
34
- }
35
- /**
36
- * @public
37
- */
38
- export declare namespace Rule {
39
- interface JSON<T extends string = string> {
40
- [key: string]: json.JSON;
41
- type: T;
42
- }
43
- function from(json: FontFaceRule.JSON): FontFaceRule;
44
- function from(json: ImportRule.JSON): ImportRule;
45
- function from(json: KeyframeRule.JSON): KeyframeRule;
46
- function from(json: KeyframesRule.JSON): KeyframesRule;
47
- function from(json: Layer.BlockRule.JSON): Layer.BlockRule;
48
- function from(json: Layer.StatementRule.JSON): Layer.StatementRule;
49
- function from(json: MediaRule.JSON): MediaRule;
50
- function from(json: NamespaceRule.JSON): NamespaceRule;
51
- function from(json: PageRule.JSON): PageRule;
52
- function from(json: StyleRule.JSON): StyleRule;
53
- function from(json: SupportsRule.JSON): SupportsRule;
54
- function from(json: JSON): Rule;
55
- /**
56
- * @internal
57
- */
58
- function fromRule(json: JSON): Trampoline<Rule>;
59
- }
60
- //# sourceMappingURL=rule.d.ts.map
@@ -1,109 +0,0 @@
1
- import { Iterable } from "@siteimprove/alfa-iterable";
2
- import { None, Option } from "@siteimprove/alfa-option";
3
- import { FontFaceRule, ImportRule, KeyframeRule, KeyframesRule, Layer, MediaRule, NamespaceRule, PageRule, StyleRule, SupportsRule, } from "../index.js";
4
- /**
5
- * @public
6
- */
7
- export class Rule {
8
- _owner = None;
9
- _parent = None;
10
- _type;
11
- constructor(type) {
12
- this._type = type;
13
- }
14
- get type() {
15
- return this._type;
16
- }
17
- get owner() {
18
- return this._owner;
19
- }
20
- get parent() {
21
- return this._parent;
22
- }
23
- *children() { }
24
- *descendants() {
25
- for (const child of this.children()) {
26
- yield child;
27
- yield* child.descendants();
28
- }
29
- }
30
- *ancestors() {
31
- for (const parent of this._parent) {
32
- yield parent;
33
- yield* parent.ancestors();
34
- }
35
- }
36
- *inclusiveAncestors() {
37
- yield this;
38
- yield* this.ancestors();
39
- }
40
- equals(value) {
41
- return value === this;
42
- }
43
- toJSON() {
44
- return { type: this._type };
45
- }
46
- /**
47
- * @internal
48
- */
49
- _attachOwner(owner) {
50
- if (this._owner.isSome()) {
51
- return false;
52
- }
53
- this._owner = Option.of(owner);
54
- // Recursively attach the owner to all children.
55
- return Iterable.every(this.children(), (rule) => rule._attachOwner(owner));
56
- }
57
- /**
58
- * @internal
59
- */
60
- _attachParent(parent) {
61
- if (this._parent.isSome()) {
62
- return false;
63
- }
64
- this._parent = Option.of(parent);
65
- return true;
66
- }
67
- }
68
- /**
69
- * @public
70
- */
71
- (function (Rule) {
72
- function from(json) {
73
- return fromRule(json).run();
74
- }
75
- Rule.from = from;
76
- /**
77
- * @internal
78
- */
79
- function fromRule(json) {
80
- switch (json.type) {
81
- case "font-face":
82
- return FontFaceRule.fromFontFaceRule(json);
83
- case "import":
84
- return ImportRule.fromImportRule(json);
85
- case "keyframe":
86
- return KeyframeRule.fromKeyframeRule(json);
87
- case "keyframes":
88
- return KeyframesRule.fromKeyframesRule(json);
89
- case "layer-block":
90
- return Layer.BlockRule.fromLayerBlockRule(json);
91
- case "layer-statement":
92
- return Layer.StatementRule.fromLayerStatementRule(json);
93
- case "media":
94
- return MediaRule.fromMediaRule(json);
95
- case "namespace":
96
- return NamespaceRule.fromNamespaceRule(json);
97
- case "page":
98
- return PageRule.fromPageRule(json);
99
- case "style":
100
- return StyleRule.fromStyleRule(json);
101
- case "supports":
102
- return SupportsRule.fromSupportsRule(json);
103
- default:
104
- throw new Error(`Unexpected rule of type: ${json.type}`);
105
- }
106
- }
107
- Rule.fromRule = fromRule;
108
- })(Rule || (Rule = {}));
109
- //# sourceMappingURL=rule.js.map