html-combobox-element 0.0.2-beta.10 → 0.0.2-beta.12

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.
@@ -243,7 +243,7 @@ ${urls.map(url => `@import "${url}";`)}
243
243
  }
244
244
 
245
245
  #cbdropdown {
246
- contain: layout style paint;
246
+ contain: content;
247
247
  inset: unset;
248
248
  margin: 0;
249
249
  /*position: absolute;*/
@@ -271,6 +271,7 @@ ${urls.map(url => `@import "${url}";`)}
271
271
  }
272
272
 
273
273
  #cboptions {
274
+ contain: content;
274
275
  display: flex;
275
276
  flex-direction: column;
276
277
  justify-content: start;
@@ -351,6 +352,7 @@ ${urls.map(url => `@import "${url}";`)}
351
352
 
352
353
 
353
354
  #cbtags {
355
+ contain: content;
354
356
  display: flex;
355
357
  flex-wrap: wrap;
356
358
  overflow: hidden;
@@ -65,6 +65,9 @@ class HTMLComboboxElement extends HTMLElement {
65
65
  }
66
66
  return node;
67
67
  };
68
+ appendChild(node) {
69
+ return this.insertBefore(node, null);
70
+ }
68
71
  removeChild(child) {
69
72
  // console.log(child, 'removed')
70
73
  return child;
@@ -16,8 +16,8 @@ class HTMLComboboxTagElement extends HTMLElement {
16
16
  control?.addEventListener('focusout', HTMLComboboxTagElement.captureFocus);
17
17
  control?.addEventListener('click', HTMLComboboxTagElement.onClearTag);
18
18
  const root = this.getRootNode();
19
- if (root?.host.hasAttribute('multiple')) {
20
- if (!control) {
19
+ if (root instanceof ShadowRoot) {
20
+ if (root.host.hasAttribute('multiple') && !control) {
21
21
  throw new Error(`A <button> with part="clear-tag" is required for <combo-box> with multiple attribute`);
22
22
  }
23
23
  }
@@ -28,8 +28,8 @@ class HTMLComboboxTagElement extends HTMLElement {
28
28
  control?.removeEventListener('click', HTMLComboboxTagElement.onClearTag);
29
29
  }
30
30
  static onClearTag(event) {
31
- const target = event.target;
32
- target?.parentElement?.dispatchEvent(new Event('tagcleared', HTMLComboboxTagElement.EventInit));
31
+ const [target] = event.composedPath().filter(el => el instanceof HTMLComboboxTagElement);
32
+ target?.dispatchEvent(new Event('tagcleared', HTMLComboboxTagElement.EventInit));
33
33
  }
34
34
  static captureFocus(event) {
35
35
  event.stopPropagation();
@@ -240,7 +240,7 @@ ${urls.map(url => `@import "${url}";`)}
240
240
  }
241
241
 
242
242
  #cbdropdown {
243
- contain: layout style paint;
243
+ contain: content;
244
244
  inset: unset;
245
245
  margin: 0;
246
246
  /*position: absolute;*/
@@ -268,6 +268,7 @@ ${urls.map(url => `@import "${url}";`)}
268
268
  }
269
269
 
270
270
  #cboptions {
271
+ contain: content;
271
272
  display: flex;
272
273
  flex-direction: column;
273
274
  justify-content: start;
@@ -348,6 +349,7 @@ ${urls.map(url => `@import "${url}";`)}
348
349
 
349
350
 
350
351
  #cbtags {
352
+ contain: content;
351
353
  display: flex;
352
354
  flex-wrap: wrap;
353
355
  overflow: hidden;
@@ -61,6 +61,9 @@ export class HTMLComboboxElement extends HTMLElement {
61
61
  }
62
62
  return node;
63
63
  };
64
+ appendChild(node) {
65
+ return this.insertBefore(node, null);
66
+ }
64
67
  removeChild(child) {
65
68
  // console.log(child, 'removed')
66
69
  return child;
@@ -13,8 +13,8 @@ export class HTMLComboboxTagElement extends HTMLElement {
13
13
  control?.addEventListener('focusout', HTMLComboboxTagElement.captureFocus);
14
14
  control?.addEventListener('click', HTMLComboboxTagElement.onClearTag);
15
15
  const root = this.getRootNode();
16
- if (root?.host.hasAttribute('multiple')) {
17
- if (!control) {
16
+ if (root instanceof ShadowRoot) {
17
+ if (root.host.hasAttribute('multiple') && !control) {
18
18
  throw new Error(`A <button> with part="clear-tag" is required for <combo-box> with multiple attribute`);
19
19
  }
20
20
  }
@@ -25,8 +25,8 @@ export class HTMLComboboxTagElement extends HTMLElement {
25
25
  control?.removeEventListener('click', HTMLComboboxTagElement.onClearTag);
26
26
  }
27
27
  static onClearTag(event) {
28
- const target = event.target;
29
- target?.parentElement?.dispatchEvent(new Event('tagcleared', HTMLComboboxTagElement.EventInit));
28
+ const [target] = event.composedPath().filter(el => el instanceof HTMLComboboxTagElement);
29
+ target?.dispatchEvent(new Event('tagcleared', HTMLComboboxTagElement.EventInit));
30
30
  }
31
31
  static captureFocus(event) {
32
32
  event.stopPropagation();
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.markup.d.ts","sourceRoot":"","sources":["../../../src/combobox/Combobox.markup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,qBAAa,cAAc;;IAGzB,aAAa,EAAE,cAAc,GAAG,IAAI,CAAQ;IAC5C,gBAAgB,EAAE,cAAc,GAAG,IAAI,CAAQ;IAC/C,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAChD,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAQ;IACvC,WAAW,EAAE,cAAc,GAAG,IAAI,CAAQ;IAC1C,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAE5C,WAAW,EAAE,sBAAsB,GAAG,IAAI,CAAQ;IAClD,SAAS,EAAE,sBAAsB,GAAG,IAAI,CAAQ;gBAOpC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB;IAU/D,OAAO;IAwBP,eAAe;IAWf,UAAU;IAQV,cAAc,CAAC,KAAK,EAAE,MAAM;IAM5B,aAAa,CAAC,KAAK,EAAE,MAAM;IAM3B,kBAAkB,GAAI,OAAO,UAAU,UAStC;IAED,cAAc,GAAI,IAAI,UAAU,UAI/B;IAID,IAAI,CAAC,KAAK,EAAE,MAAM;IAiBlB,IAAI,OAAO,0CAEV;IAED,aAAa,CAAC,GAAG,EAAE,sBAAsB;IAczC,mBAAmB;IAqBnB,YAAY;IAIZ,SAAS,aAWR;IAED,aAAa;IAWb,UAAU,aAGT;IAGD,kBAAkB,CAAC,MAAM,EAAE,yBAAyB;IA4CpD,aAAa,CAAC,KAAK,EAAE,MAAM;IAK3B,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAI9B,IAAI,eAAe,0CAElB;IAED,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE;IAQ/B,MAAM,CAAC,QAAQ,SAyPhB;IACC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC;CAMpC"}
1
+ {"version":3,"file":"Combobox.markup.d.ts","sourceRoot":"","sources":["../../../src/combobox/Combobox.markup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,qBAAa,cAAc;;IAGzB,aAAa,EAAE,cAAc,GAAG,IAAI,CAAQ;IAC5C,gBAAgB,EAAE,cAAc,GAAG,IAAI,CAAQ;IAC/C,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAChD,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAQ;IACvC,WAAW,EAAE,cAAc,GAAG,IAAI,CAAQ;IAC1C,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAE5C,WAAW,EAAE,sBAAsB,GAAG,IAAI,CAAQ;IAClD,SAAS,EAAE,sBAAsB,GAAG,IAAI,CAAQ;gBAOpC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB;IAU/D,OAAO;IAwBP,eAAe;IAWf,UAAU;IAQV,cAAc,CAAC,KAAK,EAAE,MAAM;IAM5B,aAAa,CAAC,KAAK,EAAE,MAAM;IAM3B,kBAAkB,GAAI,OAAO,UAAU,UAStC;IAED,cAAc,GAAI,IAAI,UAAU,UAI/B;IAID,IAAI,CAAC,KAAK,EAAE,MAAM;IAiBlB,IAAI,OAAO,0CAEV;IAED,aAAa,CAAC,GAAG,EAAE,sBAAsB;IAczC,mBAAmB;IAqBnB,YAAY;IAIZ,SAAS,aAWR;IAED,aAAa;IAWb,UAAU,aAGT;IAGD,kBAAkB,CAAC,MAAM,EAAE,yBAAyB;IA4CpD,aAAa,CAAC,KAAK,EAAE,MAAM;IAK3B,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAI9B,IAAI,eAAe,0CAElB;IAED,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE;IAQ/B,MAAM,CAAC,QAAQ,SA2PhB;IACC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC;CAMpC"}
@@ -11,6 +11,7 @@ export declare class HTMLComboboxElement extends HTMLElement {
11
11
  constructor();
12
12
  connectedCallback(): void;
13
13
  insertBefore: (node: Node, referenceNode: Node | null) => any;
14
+ appendChild(node: Node): any;
14
15
  removeChild<T extends Node>(child: T): T;
15
16
  get changed(): boolean;
16
17
  disconnectedCallback(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"HTML.combobox.element.d.ts","sourceRoot":"","sources":["../../../src/combobox/HTML.combobox.element.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAI9E,qBAAa,mBAAoB,SAAQ,WAAW;;IAClD,MAAM,CAAC,OAAO,cAA0H;IACxI,MAAM,CAAC,eAAe;;MAAuB;IAC7C,MAAM,CAAC,UAAU,kBAAuB;IACxC,MAAM,CAAC,cAAc,UAAQ;IAE7B,UAAU,EAAE,UAAU,CAAC;;IA8BvB,iBAAiB;IAqBjB,YAAY,GAAI,MAAM,IAAI,EAAE,eAAe,IAAI,GAAG,IAAI,KAWrC,GAAG,CACnB;IAED,WAAW,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAKxC,IAAI,OAAO,YAEV;IAED,oBAAoB;IAWpB,iBAAiB;IAMjB,oBAAoB;IASpB,IAAI,YAAY,aAEf;IAED,IAAI,KAAK,IAGQ,MAAM,CADtB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAMtB;IAED,IAAI,WAAW,WAEd;IACD,IAAI,WAAW,CAAC,KAAK,QAAA,EAKpB;IAED,IAAI,SAAS,YAEZ;IACD,IAAI,SAAS,CAAC,KAAK,SAAA,EAElB;IAED,IAAI,UAAU,YAEb;IACD,IAAI,UAAU,CAAC,KAAK,SAAA,EAEnB;IAED,IAAI,UAAU,YAEb;IACD,IAAI,UAAU,CAAC,KAAK,SAAA,EAEnB;IAGD,IAAI,QAAQ,YAEX;IACD,IAAI,QAAQ,CAAC,KAAK,SAAA,EAKjB;IAED,IAAI,IAAI,oBAEP;IAED,IAAI,MAAM,aAET;IAED,IAAI,MAAM,WAET;IAED,IAAI,QAAQ,YAEX;IACD,IAAI,QAAQ,CAAC,KAAK,SAAA,EAEjB;IAKD,IAAI,QAAQ,YAEX;IACD,IAAI,QAAQ,CAAC,KAAK,SAAA,EAGjB;IAID,IAAI,eAAe,0CAElB;IAMD,IAAI,IAAI,qCAEP;IAED,IAAI,iBAAiB,WAEpB;IAED,IAAI,QAAQ,kBAEX;IAED,IAAI,YAAY,YAEf;IAED,IAAI,KAAK,IAGQ,MAAM,CADtB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAQtB;IAQD,aAAa;IAIb,IAAI,CAAC,KAAK,EAAE,MAAM;IASlB,cAAc;IAId,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAQjC,UAAU;IAKV,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAQrC,eAAe,CAAC,IAAI,EAAE,MAAM;IA6L5B,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE;IAIrC,MAAM,CAAC,8BAA8B;CAoBtC"}
1
+ {"version":3,"file":"HTML.combobox.element.d.ts","sourceRoot":"","sources":["../../../src/combobox/HTML.combobox.element.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAI9E,qBAAa,mBAAoB,SAAQ,WAAW;;IAClD,MAAM,CAAC,OAAO,cAA0H;IACxI,MAAM,CAAC,eAAe;;MAAuB;IAC7C,MAAM,CAAC,UAAU,kBAAuB;IACxC,MAAM,CAAC,cAAc,UAAQ;IAE7B,UAAU,EAAE,UAAU,CAAC;;IA8BvB,iBAAiB;IAqBjB,YAAY,GAAI,MAAM,IAAI,EAAE,eAAe,IAAI,GAAG,IAAI,KAWrC,GAAG,CACnB;IAED,WAAW,CAAC,IAAI,EAAE,IAAI;IAItB,WAAW,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAKxC,IAAI,OAAO,YAEV;IAED,oBAAoB;IAWpB,iBAAiB;IAMjB,oBAAoB;IASpB,IAAI,YAAY,aAEf;IAED,IAAI,KAAK,IAGQ,MAAM,CADtB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAMtB;IAED,IAAI,WAAW,WAEd;IACD,IAAI,WAAW,CAAC,KAAK,QAAA,EAKpB;IAED,IAAI,SAAS,YAEZ;IACD,IAAI,SAAS,CAAC,KAAK,SAAA,EAElB;IAED,IAAI,UAAU,YAEb;IACD,IAAI,UAAU,CAAC,KAAK,SAAA,EAEnB;IAED,IAAI,UAAU,YAEb;IACD,IAAI,UAAU,CAAC,KAAK,SAAA,EAEnB;IAGD,IAAI,QAAQ,YAEX;IACD,IAAI,QAAQ,CAAC,KAAK,SAAA,EAKjB;IAED,IAAI,IAAI,oBAEP;IAED,IAAI,MAAM,aAET;IAED,IAAI,MAAM,WAET;IAED,IAAI,QAAQ,YAEX;IACD,IAAI,QAAQ,CAAC,KAAK,SAAA,EAEjB;IAKD,IAAI,QAAQ,YAEX;IACD,IAAI,QAAQ,CAAC,KAAK,SAAA,EAGjB;IAID,IAAI,eAAe,0CAElB;IAMD,IAAI,IAAI,qCAEP;IAED,IAAI,iBAAiB,WAEpB;IAED,IAAI,QAAQ,kBAEX;IAED,IAAI,YAAY,YAEf;IAED,IAAI,KAAK,IAGQ,MAAM,CADtB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAQtB;IAQD,aAAa;IAIb,IAAI,CAAC,KAAK,EAAE,MAAM;IASlB,cAAc;IAId,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAQjC,UAAU;IAKV,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAQrC,eAAe,CAAC,IAAI,EAAE,MAAM;IA6L5B,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE;IAIrC,MAAM,CAAC,8BAA8B;CAoBtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HTML.combobox.tag.element.d.ts","sourceRoot":"","sources":["../../../src/combobox/HTML.combobox.tag.element.ts"],"names":[],"mappings":"AAAA,qBAAa,sBAAuB,SAAQ,WAAW;IACrD,MAAM,CAAC,SAAS;;;;MAAuD;IAEvE,IAAI,KAAK,WAER;IAED,iBAAiB;IAkBjB,oBAAoB;IAMpB,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK;IAK9B,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK;CAIjC"}
1
+ {"version":3,"file":"HTML.combobox.tag.element.d.ts","sourceRoot":"","sources":["../../../src/combobox/HTML.combobox.tag.element.ts"],"names":[],"mappings":"AAAA,qBAAa,sBAAuB,SAAQ,WAAW;IACrD,MAAM,CAAC,SAAS;;;;MAAuD;IAEvE,IAAI,KAAK,WAER;IAED,iBAAiB;IAmBjB,oBAAoB;IAMpB,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK;IAK9B,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK;CAIjC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "html-combobox-element",
3
- "version": "0.0.2-beta.10",
3
+ "version": "0.0.2-beta.12",
4
4
  "description": "The combo-box web-component & customizable select polyfill",
5
5
  "type": "module",
6
6
  "scripts": {