happy-dom 2.30.1 → 2.31.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.

Potentially problematic release.


This version of happy-dom might be problematic. Click here for more details.

@@ -8,6 +8,7 @@ import HTMLScriptElement from '../nodes/html-script-element/HTMLScriptElement';
8
8
  import HTMLImageElement from '../nodes/html-image-element/HTMLImageElement';
9
9
  import HTMLLinkElement from '../nodes/html-link-element/HTMLLinkElement';
10
10
  import HTMLStyleElement from '../nodes/html-style-element/HTMLStyleElement';
11
+ import HTMLSlotElement from '../nodes/html-slot-element/HTMLSlotElement';
11
12
  declare const _default: {
12
13
  template: typeof HTMLTemplateElement;
13
14
  form: typeof HTMLFormElement;
@@ -17,6 +18,7 @@ declare const _default: {
17
18
  img: typeof HTMLImageElement;
18
19
  link: typeof HTMLLinkElement;
19
20
  style: typeof HTMLStyleElement;
21
+ slot: typeof HTMLSlotElement;
20
22
  svg: typeof SVGSVGElement;
21
23
  circle: typeof SVGElement;
22
24
  ellipse: typeof SVGElement;
@@ -13,6 +13,7 @@ var HTMLScriptElement_1 = __importDefault(require("../nodes/html-script-element/
13
13
  var HTMLImageElement_1 = __importDefault(require("../nodes/html-image-element/HTMLImageElement"));
14
14
  var HTMLLinkElement_1 = __importDefault(require("../nodes/html-link-element/HTMLLinkElement"));
15
15
  var HTMLStyleElement_1 = __importDefault(require("../nodes/html-style-element/HTMLStyleElement"));
16
+ var HTMLSlotElement_1 = __importDefault(require("../nodes/html-slot-element/HTMLSlotElement"));
16
17
  exports.default = {
17
18
  template: HTMLTemplateElement_1.default,
18
19
  form: HTMLFormElement_1.default,
@@ -22,6 +23,7 @@ exports.default = {
22
23
  img: HTMLImageElement_1.default,
23
24
  link: HTMLLinkElement_1.default,
24
25
  style: HTMLStyleElement_1.default,
26
+ slot: HTMLSlotElement_1.default,
25
27
  svg: SVGSVGElement_1.default,
26
28
  circle: SVGElement_1.default,
27
29
  ellipse: SVGElement_1.default,
@@ -1 +1 @@
1
- {"version":3,"file":"ElementTag.js","sourceRoot":"","sources":["../../src/config/ElementTag.ts"],"names":[],"mappings":";;;;;AAAA,2GAAqF;AACrF,+FAAyE;AACzE,kGAA4E;AAC5E,4GAAsF;AACtF,qFAA+D;AAC/D,+EAAyD;AACzD,qGAA+E;AAC/E,kGAA4E;AAC5E,+FAAyE;AACzE,kGAA4E;AAE5E,kBAAe;IACd,QAAQ,EAAE,6BAAmB;IAC7B,IAAI,EAAE,yBAAe;IACrB,KAAK,EAAE,0BAAgB;IACvB,QAAQ,EAAE,6BAAmB;IAC7B,MAAM,EAAE,2BAAiB;IACzB,GAAG,EAAE,0BAAgB;IACrB,IAAI,EAAE,yBAAe;IACrB,KAAK,EAAE,0BAAgB;IACvB,GAAG,EAAE,uBAAa;IAClB,MAAM,EAAE,oBAAU;IAClB,OAAO,EAAE,oBAAU;IACnB,IAAI,EAAE,oBAAU;IAChB,IAAI,EAAE,oBAAU;IAChB,OAAO,EAAE,oBAAU;IACnB,QAAQ,EAAE,oBAAU;IACpB,IAAI,EAAE,oBAAU;IAChB,IAAI,EAAE,oBAAU;IAChB,GAAG,EAAE,oBAAU;CACf,CAAC"}
1
+ {"version":3,"file":"ElementTag.js","sourceRoot":"","sources":["../../src/config/ElementTag.ts"],"names":[],"mappings":";;;;;AAAA,2GAAqF;AACrF,+FAAyE;AACzE,kGAA4E;AAC5E,4GAAsF;AACtF,qFAA+D;AAC/D,+EAAyD;AACzD,qGAA+E;AAC/E,kGAA4E;AAC5E,+FAAyE;AACzE,kGAA4E;AAC5E,+FAAyE;AAEzE,kBAAe;IACd,QAAQ,EAAE,6BAAmB;IAC7B,IAAI,EAAE,yBAAe;IACrB,KAAK,EAAE,0BAAgB;IACvB,QAAQ,EAAE,6BAAmB;IAC7B,MAAM,EAAE,2BAAiB;IACzB,GAAG,EAAE,0BAAgB;IACrB,IAAI,EAAE,yBAAe;IACrB,KAAK,EAAE,0BAAgB;IACvB,IAAI,EAAE,yBAAe;IACrB,GAAG,EAAE,uBAAa;IAClB,MAAM,EAAE,oBAAU;IAClB,OAAO,EAAE,oBAAU;IACnB,IAAI,EAAE,oBAAU;IAChB,IAAI,EAAE,oBAAU;IAChB,OAAO,EAAE,oBAAU;IACnB,QAAQ,EAAE,oBAAU;IACpB,IAAI,EAAE,oBAAU;IAChB,IAAI,EAAE,oBAAU;IAChB,GAAG,EAAE,oBAAU;CACf,CAAC"}
@@ -136,6 +136,18 @@ export default class Element extends Node implements IElement {
136
136
  * @returns Element.
137
137
  */
138
138
  get childElementCount(): number;
139
+ /**
140
+ * Returns slot.
141
+ *
142
+ * @returns Slot.
143
+ */
144
+ get slot(): string;
145
+ /**
146
+ * Returns slot.
147
+ *
148
+ * @param slot Slot.
149
+ */
150
+ set slot(title: string);
139
151
  /**
140
152
  * Attribute changed callback.
141
153
  *
@@ -284,6 +284,26 @@ var Element = /** @class */ (function (_super) {
284
284
  enumerable: false,
285
285
  configurable: true
286
286
  });
287
+ Object.defineProperty(Element.prototype, "slot", {
288
+ /**
289
+ * Returns slot.
290
+ *
291
+ * @returns Slot.
292
+ */
293
+ get: function () {
294
+ return this.getAttributeNS(null, 'slot') || '';
295
+ },
296
+ /**
297
+ * Returns slot.
298
+ *
299
+ * @param slot Slot.
300
+ */
301
+ set: function (title) {
302
+ this.setAttributeNS(null, 'slot', title);
303
+ },
304
+ enumerable: false,
305
+ configurable: true
306
+ });
287
307
  /**
288
308
  * Clones a node.
289
309
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Element.js","sourceRoot":"","sources":["../../../src/nodes/element/Element.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAgC;AAChC,yEAAmD;AACnD,8DAAwC;AACxC,sDAAgC;AAChC,kDAA4B;AAC5B,0DAAoC;AACpC,qFAA+D;AAC/D,mFAA6D;AAC7D,0FAAoE;AACpE,8FAAwE;AACxE,2EAAqD;AACrD,yEAAmD;AACnD,qFAA+D;AAC/D,oFAA8D;AAC9D,uFAAiE;AACjE,0GAAoF;AAEpF,8EAAwD;AAMxD,kFAA4D;AAI5D;;GAEG;AACH;IAAqC,2BAAI;IAAzC;QAAA,qEAu3BC;QAl3BO,aAAO,GAAW,IAAI,CAAC;QACvB,cAAQ,GAAG,cAAI,CAAC,YAAY,CAAC;QAC7B,gBAAU,GAAgB,IAAI,CAAC;QACtB,eAAS,GAAG,IAAI,mBAAS,CAAC,KAAI,CAAC,CAAC;QACzC,eAAS,GAAG,CAAC,CAAC;QACd,gBAAU,GAAG,CAAC,CAAC;QACf,cAAQ,GAA8B,+BAAqB,CAAC,MAAM,EAAE,CAAC;QACrE,iBAAW,GAA0B,EAAE,CAAC;QAC/B,kBAAY,GAAW,IAAI,CAAC;;IA02B7C,CAAC;IAn2BA,sBAAW,uBAAE;QALb;;;;WAIG;aACH;YACC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC;QAED;;;;WAIG;aACH,UAAc,EAAU;YACvB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7B,CAAC;;;OATA;IAgBD,sBAAW,8BAAS;QALpB;;;;WAIG;aACH;YACC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;QAED;;;;WAIG;aACH,UAAqB,SAAiB;YACrC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvC,CAAC;;;OATA;IAgBD,sBAAW,6BAAQ;QALnB;;;;WAIG;aACH;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAOD,sBAAW,8BAAS;QALpB;;;;WAIG;aACH;YACC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,CAAC;;;OAAA;IAOD,sBAAW,2CAAsB;QALjC;;;;WAIG;aACH;YACC,OAAO,qCAA2B,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACjE,CAAC;;;OAAA;IAOD,sBAAW,uCAAkB;QAL7B;;;;WAIG;aACH;YACC,OAAO,qCAA2B,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;;;OAAA;IAOD,sBAAW,gCAAW;QALtB;;;;WAIG;aACH;YACC,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,KAAwB,UAAe,EAAf,KAAA,IAAI,CAAC,UAAU,EAAf,cAAe,EAAf,IAAe,EAAE;gBAApC,IAAM,SAAS,SAAA;gBACnB,IAAI,SAAS,CAAC,QAAQ,KAAK,cAAI,CAAC,YAAY,IAAI,SAAS,CAAC,QAAQ,KAAK,cAAI,CAAC,SAAS,EAAE;oBACtF,MAAM,IAAI,SAAS,CAAC,WAAW,CAAC;iBAChC;aACD;YACD,OAAO,MAAM,CAAC;QACf,CAAC;QAED;;;;WAIG;aACH,UAAuB,WAAmB;YACzC,KAAoB,UAAuB,EAAvB,KAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAvB,cAAuB,EAAvB,IAAuB,EAAE;gBAAxC,IAAM,KAAK,SAAA;gBACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aACxB;YACD,IAAI,WAAW,EAAE;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;aACjE;QACF,CAAC;;;OAdA;IAqBD,sBAAW,8BAAS;QALpB;;;;WAIG;aACH;YACC,IAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;YAC1C,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,KAAmB,UAAe,EAAf,KAAA,IAAI,CAAC,UAAU,EAAf,cAAe,EAAf,IAAe,EAAE;gBAA/B,IAAM,IAAI,SAAA;gBACd,GAAG,IAAI,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;aAC7C;YACD,OAAO,GAAG,CAAC;QACZ,CAAC;QAED;;;;WAIG;aACH,UAAqB,IAAY;YAChC,KAAoB,UAAuB,EAAvB,KAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAvB,cAAuB,EAAvB,IAAuB,EAAE;gBAAxC,IAAM,KAAK,SAAA;gBACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aACxB;YAED,KAAmB,UAA4D,EAA5D,KAAA,mBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,EAA5D,cAA4D,EAA5D,IAA4D,EAAE;gBAA5E,IAAM,IAAI,SAAA;gBACd,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACvB;QACF,CAAC;;;OAfA;IAsBD,sBAAW,8BAAS;QALpB;;;;WAIG;aACH;YACC,OAAO,IAAI,uBAAa,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QAED;;;;WAIG;aACH,UAAqB,IAAY;YAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;;;OATA;IAgBD,sBAAW,+BAAU;QALrB;;;;WAIG;aACH;YACC,IAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE;gBACtD,MAAM,EAAE,UAAU,CAAC,MAAM;aACzB,CAAC,CAAC;QACJ,CAAC;;;OAAA;IAOD,sBAAW,sCAAiB;QAL5B;;;;WAIG;aACH;YACC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,CAAC;;;OAAA;IAOD,sBAAW,qCAAgB;QAL3B;;;;WAIG;aACH;YACC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/E,CAAC;;;OAAA;IAOD,sBAAW,sCAAiB;QAL5B;;;;WAIG;aACH;YACC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7B,CAAC;;;OAAA;IAWD;;;;;;OAMG;IACI,2BAAS,GAAhB,UAAiB,IAAY;QAAZ,qBAAA,EAAA,YAAY;QAC5B,IAAM,KAAK,GAAuB,iBAAM,SAAS,YAAC,IAAI,CAAC,CAAC;QAExD,KAAkB,UAA6B,EAA7B,KAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAA7B,cAA6B,EAA7B,IAA6B,EAAE;YAA5C,IAAM,GAAG,SAAA;YACb,IAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,cAAI,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,YAAa,GAAG,KAAK,CAAC;YAC5B,KAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;SACzC;QAED,IAAI,IAAI,EAAE;YACT,KAAmB,UAAgB,EAAhB,KAAA,KAAK,CAAC,UAAU,EAAhB,cAAgB,EAAhB,IAAgB,EAAE;gBAAhC,IAAM,IAAI,SAAA;gBACd,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAI,CAAC,YAAY,EAAE;oBACxC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAW,IAAI,CAAC,CAAC;iBACpC;aACD;SACD;QAEQ,KAAK,CAAC,OAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QACvC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACxB,KAAK,CAAC,YAAa,GAAG,IAAI,CAAC,YAAY,CAAC;QAEjD,OAAiB,KAAK,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACI,6BAAW,GAAlB,UAAmB,IAAW;QAC7B,6GAA6G;QAC7G,yEAAyE;QACzE,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAI,CAAC,sBAAsB,EAAE;YAClD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;gBACnD,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBACjB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAC7C;aACD;YAED,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAI,CAAC,YAAY,EAAE;gBACzD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAW,IAAI,CAAC,CAAC;aACnC;SACD;QAED,OAAO,iBAAM,WAAW,YAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACI,6BAAW,GAAlB,UAAmB,IAAW;QAC7B,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAI,CAAC,YAAY,EAAE;YACxC,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAW,IAAI,CAAC,CAAC;YACpD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAC/B;SACD;QAED,OAAO,iBAAM,WAAW,YAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,wBAAM,GAAb;QACC,0BAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;OAOG;IACI,8BAAY,GAAnB,UAAoB,OAAc,EAAE,aAAqB;QACxD,IAAM,WAAW,GAAG,iBAAM,YAAY,YAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAE/D,6GAA6G;QAC7G,yEAAyE;QACzE,IAAI,OAAO,CAAC,QAAQ,KAAK,cAAI,CAAC,sBAAsB,EAAE;YACrD,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;gBACzD,IAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC9D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBACjB,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAChD;aACD;YAED,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAEzB,KAAmB,UAAe,EAAf,KAAA,IAAI,CAAC,UAAU,EAAf,cAAe,EAAf,IAAe,EAAE;gBAA/B,IAAM,IAAI,SAAA;gBACd,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAI,CAAC,YAAY,EAAE;oBACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAW,IAAI,CAAC,CAAC;iBACnC;aACD;SACD;QAED,OAAO,WAAW,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACI,6BAAW,GAAlB;QAAmB,eAA4B;aAA5B,UAA4B,EAA5B,qBAA4B,EAA5B,IAA4B;YAA5B,0BAA4B;;QAC9C,0BAAgB,CAAC,WAAW,OAA5B,0BAAgB,iBAAa,IAAI,GAAK,KAAK,GAAE;IAC9C,CAAC;IAED;;;;OAIG;IACI,wBAAM,GAAb;QAAc,eAA4B;aAA5B,UAA4B,EAA5B,qBAA4B,EAA5B,IAA4B;YAA5B,0BAA4B;;QACzC,0BAAgB,CAAC,MAAM,OAAvB,0BAAgB,iBAAQ,IAAI,GAAK,KAAK,GAAE;IACzC,CAAC;IAED;;;;OAIG;IACI,uBAAK,GAAZ;QAAa,eAA4B;aAA5B,UAA4B,EAA5B,qBAA4B,EAA5B,IAA4B;YAA5B,0BAA4B;;QACxC,0BAAgB,CAAC,KAAK,OAAtB,0BAAgB,iBAAO,IAAI,GAAK,KAAK,GAAE;IACxC,CAAC;IAED;;;;OAIG;IACI,wBAAM,GAAb;QAAc,eAA4B;aAA5B,UAA4B,EAA5B,qBAA4B,EAA5B,IAA4B;YAA5B,0BAA4B;;QACzC,2BAAiB,CAAC,MAAM,OAAxB,2BAAiB,iBAAQ,IAAI,GAAK,KAAK,GAAE;IAC1C,CAAC;IAED;;;;OAIG;IACI,yBAAO,GAAd;QAAe,eAA4B;aAA5B,UAA4B,EAA5B,qBAA4B,EAA5B,IAA4B;YAA5B,0BAA4B;;QAC1C,2BAAiB,CAAC,OAAO,OAAzB,2BAAiB,iBAAS,IAAI,GAAK,KAAK,GAAE;IAC3C,CAAC;IAED;;;;OAIG;IACI,iCAAe,GAAtB;QAAuB,eAA4B;aAA5B,UAA4B,EAA5B,qBAA4B,EAA5B,IAA4B;YAA5B,0BAA4B;;QAClD,2BAAiB,CAAC,eAAe,OAAjC,2BAAiB,iBAAiB,IAAI,GAAK,KAAK,GAAE;IACnD,CAAC;IAED;;;;;;OAMG;IACI,uCAAqB,GAA5B,UAA6B,QAAkC,EAAE,OAAc;QAC9E,IAAI,QAAQ,KAAK,aAAa,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACxB,OAAO,IAAI,CAAC;aACZ;YAED,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAC/C;aAAM,IAAI,QAAQ,KAAK,YAAY,EAAE;YACrC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5C;aAAM,IAAI,QAAQ,KAAK,WAAW,EAAE;YACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SAC1B;aAAM,IAAI,QAAQ,KAAK,UAAU,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACxB,OAAO,IAAI,CAAC;aACZ;YAED,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SAC3D;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACI,oCAAkB,GAAzB,UAA0B,QAAkC,EAAE,IAAY;QACzE,KAAmB,UAA4D,EAA5D,KAAA,mBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,EAA5D,cAA4D,EAA5D,IAA4D,EAAE;YAA5E,IAAM,IAAI,SAAA;YACd,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC3C;IACF,CAAC;IAED;;;;;OAKG;IACI,oCAAkB,GAAzB,UAA0B,QAAkC,EAAE,IAAY;QACzE,IAAI,CAAC,IAAI,EAAE;YACV,OAAO;SACP;QACD,IAAM,QAAQ,GAAU,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACI,8BAAY,GAAnB,UAAoB,IAAY,EAAE,KAAa;QAC9C,IAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnE,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACI,gCAAc,GAArB,UAAsB,YAAoB,EAAE,IAAY,EAAE,KAAa;QACtE,IAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC3E,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,mCAAiB,GAAxB;QACC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACI,8BAAY,GAAnB,UAAoB,IAAY;QAC/B,IAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,SAAS,EAAE;YACd,OAAO,SAAS,CAAC,KAAK,CAAC;SACvB;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,gCAAc,GAArB,UAAsB,SAAiB,EAAE,SAAiB;QACzD,IAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,SAAS,EAAE;YACd,OAAO,SAAS,CAAC,KAAK,CAAC;SACvB;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,8BAAY,GAAnB,UAAoB,IAAY;QAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACI,gCAAc,GAArB,UAAsB,SAAiB,EAAE,SAAiB;QACzD,KAAmB,UAA6B,EAA7B,KAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAA7B,cAA6B,EAA7B,IAA6B,EAAE;YAA7C,IAAM,IAAI,SAAA;YACd,IAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE;gBAC9E,OAAO,IAAI,CAAC;aACZ;SACD;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,+BAAa,GAApB;QACC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACI,iCAAe,GAAtB,UAAuB,IAAY;QAClC,IAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,IAAI,SAAS,EAAE;YACd,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;SACpC;IACF,CAAC;IAED;;;;;OAKG;IACI,mCAAiB,GAAxB,UAAyB,SAAiB,EAAE,SAAiB;QAC5D,KAAmB,UAA6B,EAA7B,KAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAA7B,cAA6B,EAA7B,IAA6B,EAAE;YAA7C,IAAM,IAAI,SAAA;YACd,IAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE;gBAC9E,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aACrC;SACD;IACF,CAAC;IAED;;;;;;;OAOG;IACI,8BAAY,GAAnB,UAAoB,cAAgC;QACnD,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,IAAI,sBAAY,CAAC,wCAAwC,CAAC,CAAC;SACjE;QACa,IAAI,CAAC,UAAW,GAAG,IAAI,oBAAU,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,aAAc,GAAG,IAAI,CAAC,aAAa,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,IAAK,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAK,GAAG,cAAc,CAAC,IAAI,CAAC;QACxC,IAAI,CAAC,UAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,0BAAQ,GAAf;QACC,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,uCAAqB,GAA5B;QACC,OAAO,IAAI,iBAAO,EAAE,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACI,iCAAe,GAAtB;QACC,OAAO,IAAI,eAAK,EAAE,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACI,yBAAO,GAAd,UAAe,QAAgB;QAC9B,KAAmB,UAAmB,EAAnB,KAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAnB,cAAmB,EAAnB,IAAmB,EAAE;YAAnC,IAAM,IAAI,SAAA;YACd,IAAI,IAAI,sBAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBAC9C,OAAO,IAAI,CAAC;aACZ;SACD;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,yBAAO,GAAd,UAAe,QAAgB;QAC9B,IAAI,WAAW,GAAa,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACtB,WAAW,GAAG,IAAI,CAAC;YACnB,OAAO,WAAW,CAAC,UAAU,EAAE;gBAC9B,WAAW,GAAa,WAAW,CAAC,UAAU,CAAC;aAC/C;SACD;QACD,IAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAExD,2BAA2B;QAC3B,IAAI,MAAM,GAAa,IAAI,CAAC;QAC5B,OAAO,MAAM,EAAE;YACd,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC9B,OAAO,MAAM,CAAC;aACd;YACD,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;SAC9B;QAED,mFAAmF;QACnF,oDAAoD;QACpD,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,WAAW,CAAC;SACnB;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,kCAAgB,GAAvB,UAAwB,QAAgB;QACvC,OAAO,uBAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACI,+BAAa,GAApB,UAAqB,QAAgB;QACpC,OAAO,uBAAa,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACI,wCAAsB,GAA7B,UAA8B,SAAiB;QAC9C,OAAO,2BAAiB,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACI,sCAAoB,GAA3B,UAA4B,OAAe;QAC1C,OAAO,2BAAiB,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;OAMG;IACI,wCAAsB,GAA7B,UAA8B,YAAoB,EAAE,OAAe;QAClE,OAAO,2BAAiB,CAAC,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;OAKG;IACI,kCAAgB,GAAvB,UAAwB,SAAe;QACtC,IAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpD,IAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjD,IAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QACX,SAAS,CAAC,YAAa,GAAG,IAAI,CAAC;QAC9B,SAAS,CAAC,aAAc,GAAG,IAAI,CAAC,aAAa,CAAC;QAE1D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;QAEnC,IACC,IAAI,CAAC,wBAAwB;YACZ,IAAI,CAAC,WAAY,CAAC,mBAAmB;YACrC,IAAI,CAAC,WAAY,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,EACpE;YACD,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;SAC/D;QAED,mBAAmB;QACnB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,KAAuB,UAAe,EAAf,KAAA,IAAI,CAAC,UAAU,EAAf,cAAe,EAAf,IAAe,EAAE;gBAAnC,IAAM,QAAQ,SAAA;gBAClB,IACC,QAAQ,CAAC,OAAO,CAAC,UAAU;oBAC3B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,IAAI,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EACrF;oBACD,IAAM,MAAM,GAAG,IAAI,wBAAc,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,GAAG,0BAAgB,CAAC,UAAU,CAAC;oBAC1C,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC5B,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;oBACvE,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC5B;aACD;SACD;QAED,OAAO,iBAAiB,IAAI,IAAI,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACI,oCAAkB,GAAzB,UAA0B,SAAe;QACxC,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACI,kCAAgB,GAAvB,UAAwB,IAAY;QACnC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;IAC/D,CAAC;IAED;;;;;;OAMG;IACI,oCAAkB,GAAzB,UAA0B,SAAiB,EAAE,IAAY;QACxD,IAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACnD,KAAmB,UAA6B,EAA7B,KAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAA7B,cAA6B,EAA7B,IAA6B,EAAE;YAA7C,IAAM,MAAI,SAAA;YACd,IAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAI,CAAC,CAAC;YACzC,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,aAAa,EAAE;gBAClF,OAAO,SAAS,CAAC;aACjB;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,qCAAmB,GAA1B,UAA2B,SAAe;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAExC,IACC,IAAI,CAAC,wBAAwB;YACZ,IAAI,CAAC,WAAY,CAAC,mBAAmB;YACrC,IAAI,CAAC,WAAY,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAC9E;YACD,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SACrE;QAED,mBAAmB;QACnB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,KAAuB,UAAe,EAAf,KAAA,IAAI,CAAC,UAAU,EAAf,cAAe,EAAf,IAAe,EAAE;gBAAnC,IAAM,QAAQ,SAAA;gBAClB,IACC,QAAQ,CAAC,OAAO,CAAC,UAAU;oBAC3B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe;wBACjC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAC1D;oBACD,IAAM,MAAM,GAAG,IAAI,wBAAc,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,GAAG,0BAAgB,CAAC,UAAU,CAAC;oBAC1C,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;oBACtC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC9E,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC5B;aACD;SACD;IACF,CAAC;IAED;;;;OAIG;IACI,uCAAqB,GAA5B,UAA6B,SAAe;QAC3C,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,wBAAM,GAAb,UAAc,CAA8D,EAAE,CAAU;QAAxF,iBAuBC;QAtBA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YAC1B,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC5B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC;oBACzC,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE;wBACf,KAAI,CAAC,SAAU,GAAG,CAAC,CAAC,GAAG,CAAC;qBACjC;oBACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;wBAChB,KAAI,CAAC,UAAW,GAAG,CAAC,CAAC,IAAI,CAAC;qBACnC;gBACF,CAAC,CAAC,CAAC;aACH;iBAAM;gBACN,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE;oBACf,IAAI,CAAC,SAAU,GAAG,CAAC,CAAC,GAAG,CAAC;iBACjC;gBACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;oBAChB,IAAI,CAAC,UAAW,GAAG,CAAC,CAAC,IAAI,CAAC;iBACnC;aACD;SACD;aAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE;YACrC,IAAI,CAAC,UAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,SAAU,GAAG,CAAC,CAAC;SAC7B;IACF,CAAC;IAED;;;;;OAKG;IACI,0BAAQ,GAAf,UACC,CAA8D,EAC9D,CAAU;QAEV,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACO,mCAAiB,GAA3B,UAA4B,IAAI;QAC/B,IAAI,IAAI,CAAC,YAAY,KAAK,sBAAY,CAAC,GAAG,EAAE;YAC3C,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IACF,cAAC;AAAD,CAAC,AAv3BD,CAAqC,cAAI,GAu3BxC"}
1
+ {"version":3,"file":"Element.js","sourceRoot":"","sources":["../../../src/nodes/element/Element.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode,
22
22
  className: string;
23
23
  innerHTML: string;
24
24
  outerHTML: string;
25
+ slot: string;
25
26
  readonly attributes: {
26
27
  [k: string]: Attr | number;
27
28
  };
@@ -0,0 +1,59 @@
1
+ import HTMLElement from '../html-element/HTMLElement';
2
+ import IHTMLSlotElement from './IHTMLSlotElement';
3
+ import IText from '../text/IText';
4
+ import IElement from '../element/IElement';
5
+ import INode from '../node/INode';
6
+ /**
7
+ * HTML Slot Element.
8
+ *
9
+ * Reference:
10
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement.
11
+ */
12
+ export default class HTMLSlotElement extends HTMLElement implements IHTMLSlotElement {
13
+ /**
14
+ * Returns name.
15
+ *
16
+ * @returns Name.
17
+ */
18
+ get name(): string;
19
+ /**
20
+ * Sets name.
21
+ *
22
+ * @param name Name.
23
+ */
24
+ set name(name: string);
25
+ /**
26
+ * Sets the slot's manually assigned nodes to an ordered set of slottables.
27
+ *
28
+ * @param _nodes Nodes.
29
+ */
30
+ assign(..._nodes: Array<IText | IElement>): void;
31
+ /**
32
+ * Returns assigned nodes.
33
+ *
34
+ * @param [options] Options.
35
+ * @param [options.flatten] A boolean value indicating whether to return the assigned nodes of any available child <slot> elements (true) or not (false). Defaults to false.
36
+ * @returns Nodes.
37
+ */
38
+ assignedNodes(options?: {
39
+ flatten?: boolean;
40
+ }): INode[];
41
+ /**
42
+ * Returns assigned elements.
43
+ *
44
+ * @param [_options] Options.
45
+ * @param [_options.flatten] A boolean value indicating whether to return the assigned elements of any available child <slot> elements (true) or not (false). Defaults to false.
46
+ * @returns Nodes.
47
+ */
48
+ assignedElements(_options?: {
49
+ flatten?: boolean;
50
+ }): IElement[];
51
+ /**
52
+ * Clones a node.
53
+ *
54
+ * @override
55
+ * @param [deep=false] "true" to clone deep.
56
+ * @returns Cloned node.
57
+ */
58
+ cloneNode(deep?: boolean): IHTMLSlotElement;
59
+ }
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ var HTMLElement_1 = __importDefault(require("../html-element/HTMLElement"));
22
+ /**
23
+ * HTML Slot Element.
24
+ *
25
+ * Reference:
26
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement.
27
+ */
28
+ var HTMLSlotElement = /** @class */ (function (_super) {
29
+ __extends(HTMLSlotElement, _super);
30
+ function HTMLSlotElement() {
31
+ return _super !== null && _super.apply(this, arguments) || this;
32
+ }
33
+ Object.defineProperty(HTMLSlotElement.prototype, "name", {
34
+ /**
35
+ * Returns name.
36
+ *
37
+ * @returns Name.
38
+ */
39
+ get: function () {
40
+ return this.getAttributeNS(null, 'name') || '';
41
+ },
42
+ /**
43
+ * Sets name.
44
+ *
45
+ * @param name Name.
46
+ */
47
+ set: function (name) {
48
+ this.setAttributeNS(null, 'name', name);
49
+ },
50
+ enumerable: false,
51
+ configurable: true
52
+ });
53
+ /**
54
+ * Sets the slot's manually assigned nodes to an ordered set of slottables.
55
+ *
56
+ * @param _nodes Nodes.
57
+ */
58
+ HTMLSlotElement.prototype.assign = function () {
59
+ var _nodes = [];
60
+ for (var _i = 0; _i < arguments.length; _i++) {
61
+ _nodes[_i] = arguments[_i];
62
+ }
63
+ // TODO: Do nothing for now. We need to find an example of how it is expected to work before it can be implemented.
64
+ };
65
+ /**
66
+ * Returns assigned nodes.
67
+ *
68
+ * @param [options] Options.
69
+ * @param [options.flatten] A boolean value indicating whether to return the assigned nodes of any available child <slot> elements (true) or not (false). Defaults to false.
70
+ * @returns Nodes.
71
+ */
72
+ HTMLSlotElement.prototype.assignedNodes = function (options) {
73
+ var _a;
74
+ var host = (_a = this.getRootNode()) === null || _a === void 0 ? void 0 : _a.host;
75
+ // TODO: Add support for options.flatten. We need to find an example of how it is expected to work before it can be implemented.
76
+ if (host) {
77
+ var name = this.name;
78
+ if (name) {
79
+ return this.assignedElements(options);
80
+ }
81
+ return host.childNodes.slice();
82
+ }
83
+ return [];
84
+ };
85
+ /**
86
+ * Returns assigned elements.
87
+ *
88
+ * @param [_options] Options.
89
+ * @param [_options.flatten] A boolean value indicating whether to return the assigned elements of any available child <slot> elements (true) or not (false). Defaults to false.
90
+ * @returns Nodes.
91
+ */
92
+ HTMLSlotElement.prototype.assignedElements = function (_options) {
93
+ var _a;
94
+ var host = (_a = this.getRootNode()) === null || _a === void 0 ? void 0 : _a.host;
95
+ // TODO: Add support for options.flatten. We need to find an example of how it expected to work before it can be implemented.
96
+ if (host) {
97
+ var name = this.name;
98
+ if (name) {
99
+ var assignedElements = [];
100
+ for (var _i = 0, _b = host.children; _i < _b.length; _i++) {
101
+ var child = _b[_i];
102
+ if (child.slot === name) {
103
+ assignedElements.push(child);
104
+ }
105
+ }
106
+ return assignedElements;
107
+ }
108
+ return host.children.slice();
109
+ }
110
+ return [];
111
+ };
112
+ /**
113
+ * Clones a node.
114
+ *
115
+ * @override
116
+ * @param [deep=false] "true" to clone deep.
117
+ * @returns Cloned node.
118
+ */
119
+ HTMLSlotElement.prototype.cloneNode = function (deep) {
120
+ if (deep === void 0) { deep = false; }
121
+ return _super.prototype.cloneNode.call(this, deep);
122
+ };
123
+ return HTMLSlotElement;
124
+ }(HTMLElement_1.default));
125
+ exports.default = HTMLSlotElement;
126
+ //# sourceMappingURL=HTMLSlotElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLSlotElement.js","sourceRoot":"","sources":["../../../src/nodes/html-slot-element/HTMLSlotElement.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,4EAAsD;AAOtD;;;;;GAKG;AACH;IAA6C,mCAAW;IAAxD;;IAgGA,CAAC;IA1FA,sBAAW,iCAAI;QALf;;;;WAIG;aACH;YACC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAChD,CAAC;QAED;;;;WAIG;aACH,UAAgB,IAAY;YAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;;;OATA;IAWD;;;;OAIG;IACI,gCAAM,GAAb;QAAc,gBAAkC;aAAlC,UAAkC,EAAlC,qBAAkC,EAAlC,IAAkC;YAAlC,2BAAkC;;QAC/C,mHAAmH;IACpH,CAAC;IAED;;;;;;OAMG;IACI,uCAAa,GAApB,UAAqB,OAA+B;;QACnD,IAAM,IAAI,GAAG,MAAc,IAAI,CAAC,WAAW,EAAG,0CAAE,IAAI,CAAC;QAErD,gIAAgI;QAEhI,IAAI,IAAI,EAAE;YACT,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAEvB,IAAI,IAAI,EAAE;gBACT,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;aACtC;YAED,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;SAC/B;QAED,OAAO,EAAE,CAAC;IACX,CAAC;IAED;;;;;;OAMG;IACI,0CAAgB,GAAvB,UAAwB,QAAgC;;QACvD,IAAM,IAAI,GAAG,MAAc,IAAI,CAAC,WAAW,EAAG,0CAAE,IAAI,CAAC;QAErD,6HAA6H;QAE7H,IAAI,IAAI,EAAE;YACT,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAEvB,IAAI,IAAI,EAAE;gBACT,IAAM,gBAAgB,GAAG,EAAE,CAAC;gBAE5B,KAAoB,UAAa,EAAb,KAAA,IAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;oBAA9B,IAAM,KAAK,SAAA;oBACf,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;wBACxB,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBAC7B;iBACD;gBAED,OAAO,gBAAgB,CAAC;aACxB;YAED,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;SAC7B;QAED,OAAO,EAAE,CAAC;IACX,CAAC;IAED;;;;;;OAMG;IACI,mCAAS,GAAhB,UAAiB,IAAY;QAAZ,qBAAA,EAAA,YAAY;QAC5B,OAAwB,iBAAM,SAAS,YAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IACF,sBAAC;AAAD,CAAC,AAhGD,CAA6C,qBAAW,GAgGvD"}
@@ -0,0 +1,46 @@
1
+ import IHTMLElement from '../html-element/IHTMLElement';
2
+ import IText from '../text/IText';
3
+ import IElement from '../element/IElement';
4
+ import INode from '../node/INode';
5
+ /**
6
+ * HTML Slot Element.
7
+ *
8
+ * Reference:
9
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement.
10
+ */
11
+ export default interface IHTMLSlotElement extends IHTMLElement {
12
+ name: string;
13
+ /**
14
+ * Sets the slot's manually assigned nodes to an ordered set of slottables.
15
+ *
16
+ * @param nodes Nodes.
17
+ */
18
+ assign(...nodes: Array<IText | IElement>): void;
19
+ /**
20
+ * Returns assigned nodes.
21
+ *
22
+ * @param [options] Options.
23
+ * @param [options.flatten] A boolean value indicating whether to return the assigned nodes of any available child <slot> elements (true) or not (false). Defaults to false.
24
+ * @returns Nodes.
25
+ */
26
+ assignedNodes(options?: {
27
+ flatten?: boolean;
28
+ }): INode[];
29
+ /**
30
+ * Returns assigned nodes.
31
+ *
32
+ * @param [options.flatten] A boolean value indicating whether to return the assigned elements of any available child <slot> elements (true) or not (false). Defaults to false.
33
+ * @returns Nodes.
34
+ */
35
+ assignedElements(options?: {
36
+ flatten?: boolean;
37
+ }): IElement[];
38
+ /**
39
+ * Clones a node.
40
+ *
41
+ * @override
42
+ * @param [deep=false] "true" to clone deep.
43
+ * @returns Cloned node.
44
+ */
45
+ cloneNode(deep: boolean): IHTMLSlotElement;
46
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IHTMLSlotElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHTMLSlotElement.js","sourceRoot":"","sources":["../../../src/nodes/html-slot-element/IHTMLSlotElement.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "2.30.1",
3
+ "version": "2.31.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -74,5 +74,5 @@
74
74
  "ts-jest": "^26.5.6",
75
75
  "typescript": "^4.2.4"
76
76
  },
77
- "gitHead": "4c078649cf5d3b91634d28a3b070851466d0e096"
77
+ "gitHead": "6ea03e07533639760d730ddc16b974b627ed4e5f"
78
78
  }
@@ -8,6 +8,7 @@ import HTMLScriptElement from '../nodes/html-script-element/HTMLScriptElement';
8
8
  import HTMLImageElement from '../nodes/html-image-element/HTMLImageElement';
9
9
  import HTMLLinkElement from '../nodes/html-link-element/HTMLLinkElement';
10
10
  import HTMLStyleElement from '../nodes/html-style-element/HTMLStyleElement';
11
+ import HTMLSlotElement from '../nodes/html-slot-element/HTMLSlotElement';
11
12
 
12
13
  export default {
13
14
  template: HTMLTemplateElement,
@@ -18,6 +19,7 @@ export default {
18
19
  img: HTMLImageElement,
19
20
  link: HTMLLinkElement,
20
21
  style: HTMLStyleElement,
22
+ slot: HTMLSlotElement,
21
23
  svg: SVGSVGElement,
22
24
  circle: SVGElement,
23
25
  ellipse: SVGElement,
@@ -230,6 +230,24 @@ export default class Element extends Node implements IElement {
230
230
  return this.children.length;
231
231
  }
232
232
 
233
+ /**
234
+ * Returns slot.
235
+ *
236
+ * @returns Slot.
237
+ */
238
+ public get slot(): string {
239
+ return this.getAttributeNS(null, 'slot') || '';
240
+ }
241
+
242
+ /**
243
+ * Returns slot.
244
+ *
245
+ * @param slot Slot.
246
+ */
247
+ public set slot(title: string) {
248
+ this.setAttributeNS(null, 'slot', title);
249
+ }
250
+
233
251
  /**
234
252
  * Attribute changed callback.
235
253
  *
@@ -24,6 +24,7 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode,
24
24
  className: string;
25
25
  innerHTML: string;
26
26
  outerHTML: string;
27
+ slot: string;
27
28
  readonly attributes: { [k: string]: Attr | number };
28
29
 
29
30
  /**
@@ -0,0 +1,110 @@
1
+ import HTMLElement from '../html-element/HTMLElement';
2
+ import IShadowRoot from '../shadow-root/IShadowRoot';
3
+ import IHTMLSlotElement from './IHTMLSlotElement';
4
+ import IText from '../text/IText';
5
+ import IElement from '../element/IElement';
6
+ import INode from '../node/INode';
7
+
8
+ /**
9
+ * HTML Slot Element.
10
+ *
11
+ * Reference:
12
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement.
13
+ */
14
+ export default class HTMLSlotElement extends HTMLElement implements IHTMLSlotElement {
15
+ /**
16
+ * Returns name.
17
+ *
18
+ * @returns Name.
19
+ */
20
+ public get name(): string {
21
+ return this.getAttributeNS(null, 'name') || '';
22
+ }
23
+
24
+ /**
25
+ * Sets name.
26
+ *
27
+ * @param name Name.
28
+ */
29
+ public set name(name: string) {
30
+ this.setAttributeNS(null, 'name', name);
31
+ }
32
+
33
+ /**
34
+ * Sets the slot's manually assigned nodes to an ordered set of slottables.
35
+ *
36
+ * @param _nodes Nodes.
37
+ */
38
+ public assign(..._nodes: Array<IText | IElement>): void {
39
+ // TODO: Do nothing for now. We need to find an example of how it is expected to work before it can be implemented.
40
+ }
41
+
42
+ /**
43
+ * Returns assigned nodes.
44
+ *
45
+ * @param [options] Options.
46
+ * @param [options.flatten] A boolean value indicating whether to return the assigned nodes of any available child <slot> elements (true) or not (false). Defaults to false.
47
+ * @returns Nodes.
48
+ */
49
+ public assignedNodes(options?: { flatten?: boolean }): INode[] {
50
+ const host = (<IShadowRoot>this.getRootNode())?.host;
51
+
52
+ // TODO: Add support for options.flatten. We need to find an example of how it is expected to work before it can be implemented.
53
+
54
+ if (host) {
55
+ const name = this.name;
56
+
57
+ if (name) {
58
+ return this.assignedElements(options);
59
+ }
60
+
61
+ return host.childNodes.slice();
62
+ }
63
+
64
+ return [];
65
+ }
66
+
67
+ /**
68
+ * Returns assigned elements.
69
+ *
70
+ * @param [_options] Options.
71
+ * @param [_options.flatten] A boolean value indicating whether to return the assigned elements of any available child <slot> elements (true) or not (false). Defaults to false.
72
+ * @returns Nodes.
73
+ */
74
+ public assignedElements(_options?: { flatten?: boolean }): IElement[] {
75
+ const host = (<IShadowRoot>this.getRootNode())?.host;
76
+
77
+ // TODO: Add support for options.flatten. We need to find an example of how it expected to work before it can be implemented.
78
+
79
+ if (host) {
80
+ const name = this.name;
81
+
82
+ if (name) {
83
+ const assignedElements = [];
84
+
85
+ for (const child of host.children) {
86
+ if (child.slot === name) {
87
+ assignedElements.push(child);
88
+ }
89
+ }
90
+
91
+ return assignedElements;
92
+ }
93
+
94
+ return host.children.slice();
95
+ }
96
+
97
+ return [];
98
+ }
99
+
100
+ /**
101
+ * Clones a node.
102
+ *
103
+ * @override
104
+ * @param [deep=false] "true" to clone deep.
105
+ * @returns Cloned node.
106
+ */
107
+ public cloneNode(deep = false): IHTMLSlotElement {
108
+ return <HTMLSlotElement>super.cloneNode(deep);
109
+ }
110
+ }
@@ -0,0 +1,47 @@
1
+ import IHTMLElement from '../html-element/IHTMLElement';
2
+ import IText from '../text/IText';
3
+ import IElement from '../element/IElement';
4
+ import INode from '../node/INode';
5
+
6
+ /**
7
+ * HTML Slot Element.
8
+ *
9
+ * Reference:
10
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement.
11
+ */
12
+ export default interface IHTMLSlotElement extends IHTMLElement {
13
+ name: string;
14
+
15
+ /**
16
+ * Sets the slot's manually assigned nodes to an ordered set of slottables.
17
+ *
18
+ * @param nodes Nodes.
19
+ */
20
+ assign(...nodes: Array<IText | IElement>): void;
21
+
22
+ /**
23
+ * Returns assigned nodes.
24
+ *
25
+ * @param [options] Options.
26
+ * @param [options.flatten] A boolean value indicating whether to return the assigned nodes of any available child <slot> elements (true) or not (false). Defaults to false.
27
+ * @returns Nodes.
28
+ */
29
+ assignedNodes(options?: { flatten?: boolean }): INode[];
30
+
31
+ /**
32
+ * Returns assigned nodes.
33
+ *
34
+ * @param [options.flatten] A boolean value indicating whether to return the assigned elements of any available child <slot> elements (true) or not (false). Defaults to false.
35
+ * @returns Nodes.
36
+ */
37
+ assignedElements(options?: { flatten?: boolean }): IElement[];
38
+
39
+ /**
40
+ * Clones a node.
41
+ *
42
+ * @override
43
+ * @param [deep=false] "true" to clone deep.
44
+ * @returns Cloned node.
45
+ */
46
+ cloneNode(deep: boolean): IHTMLSlotElement;
47
+ }