@zanichelli/albe-web-components 16.2.0-rc → 16.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.
Files changed (100) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/cjs/{index-4592ad31.js → index-3a070c6b.js} +3 -3
  3. package/dist/cjs/index-3a070c6b.js.map +1 -0
  4. package/dist/cjs/{index-ca821253.js → index-f0159789.js} +2 -2
  5. package/dist/cjs/{index-ca821253.js.map → index-f0159789.js.map} +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/web-components-library.cjs.js +1 -1
  8. package/dist/cjs/z-app-header_12.cjs.entry.js +4 -0
  9. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  10. package/dist/cjs/z-table.cjs.entry.js +2 -2
  11. package/dist/cjs/z-td.cjs.entry.js +1 -1
  12. package/dist/cjs/z-tr.cjs.entry.js +2 -2
  13. package/dist/collection/components/table/cells/z-td/index.js +5 -5
  14. package/dist/collection/components/table/cells/z-td/index.js.map +1 -1
  15. package/dist/collection/components/z-button-sort/test.e2e.js +16 -0
  16. package/dist/collection/components/z-button-sort/test.e2e.js.map +1 -1
  17. package/dist/collection/components/z-chip/test.e2e.js +32 -0
  18. package/dist/collection/components/z-chip/test.e2e.js.map +1 -0
  19. package/dist/collection/components/z-combobox/test.e2e.js +45 -0
  20. package/dist/collection/components/z-combobox/test.e2e.js.map +1 -0
  21. package/dist/collection/components/z-select/index.stories.js +13 -0
  22. package/dist/collection/components/z-select/index.stories.js.map +1 -1
  23. package/dist/collection/components/z-select/test.e2e.js +121 -0
  24. package/dist/collection/components/z-select/test.e2e.js.map +1 -0
  25. package/dist/collection/components/z-toggle-button/test.e2e.js +12 -0
  26. package/dist/collection/components/z-toggle-button/test.e2e.js.map +1 -0
  27. package/dist/collection/components/z-toggle-switch/test.e2e.js +22 -0
  28. package/dist/collection/components/z-toggle-switch/test.e2e.js.map +1 -0
  29. package/dist/collection/constants/iconset.js +4 -0
  30. package/dist/collection/constants/iconset.js.map +1 -1
  31. package/dist/components/iconset.js +4 -0
  32. package/dist/components/iconset.js.map +1 -1
  33. package/dist/components/z-td.js +3 -3
  34. package/dist/components/z-td.js.map +1 -1
  35. package/dist/esm/{index-b147cad9.js → index-230d44a5.js} +3 -3
  36. package/dist/esm/index-230d44a5.js.map +1 -0
  37. package/dist/esm/{index-8dab69a7.js → index-fd7edd22.js} +2 -2
  38. package/dist/esm/{index-8dab69a7.js.map → index-fd7edd22.js.map} +1 -1
  39. package/dist/esm/loader.js +1 -1
  40. package/dist/esm/web-components-library.js +1 -1
  41. package/dist/esm/z-app-header_12.entry.js +4 -0
  42. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  43. package/dist/esm/z-table.entry.js +2 -2
  44. package/dist/esm/z-td.entry.js +1 -1
  45. package/dist/esm/z-tr.entry.js +2 -2
  46. package/dist/types/components/table/cells/z-td/index.d.ts +2 -2
  47. package/dist/types/components.d.ts +6 -6
  48. package/dist/types/constants/iconset.d.ts +8 -0
  49. package/dist/web-components-library/p-0794ae16.entry.js +2 -0
  50. package/dist/web-components-library/{p-64c7c4c1.entry.js → p-4f7dd068.entry.js} +2 -2
  51. package/dist/web-components-library/p-7d7c5344.js +2 -0
  52. package/dist/web-components-library/p-7d7c5344.js.map +1 -0
  53. package/dist/web-components-library/p-999762b5.entry.js +2 -0
  54. package/dist/web-components-library/p-999762b5.entry.js.map +1 -0
  55. package/dist/web-components-library/p-a7292e1c.entry.js +2 -0
  56. package/dist/web-components-library/{p-738670e2.js → p-aa0f083b.js} +2 -2
  57. package/dist/web-components-library/web-components-library.css +3 -0
  58. package/dist/web-components-library/web-components-library.esm.js +1 -1
  59. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  60. package/package.json +3 -2
  61. package/www/build/p-0794ae16.entry.js +2 -0
  62. package/www/build/{p-9ebcf35a.js → p-3d2abab6.js} +1 -1
  63. package/www/build/{p-64c7c4c1.entry.js → p-4f7dd068.entry.js} +2 -2
  64. package/www/build/p-7d7c5344.js +2 -0
  65. package/www/build/p-7d7c5344.js.map +1 -0
  66. package/www/build/{p-ca56849e.css → p-82ff5b56.css} +3 -0
  67. package/www/build/p-999762b5.entry.js +2 -0
  68. package/www/build/p-999762b5.entry.js.map +1 -0
  69. package/www/build/p-a7292e1c.entry.js +2 -0
  70. package/www/build/{p-738670e2.js → p-aa0f083b.js} +2 -2
  71. package/www/build/web-components-library.css +3 -0
  72. package/www/build/web-components-library.esm.js +1 -1
  73. package/www/build/web-components-library.esm.js.map +1 -1
  74. package/www/index.html +1 -1
  75. package/dist/cjs/index-4592ad31.js.map +0 -1
  76. package/dist/collection/components/z-logo/test.e2e.js +0 -32
  77. package/dist/collection/components/z-logo/test.e2e.js.map +0 -1
  78. package/dist/collection/snowflakes/myz/list/z-myz-list-item/test.e2e.js +0 -35
  79. package/dist/collection/snowflakes/myz/list/z-myz-list-item/test.e2e.js.map +0 -1
  80. package/dist/esm/index-b147cad9.js.map +0 -1
  81. package/dist/web-components-library/p-3f745628.entry.js +0 -2
  82. package/dist/web-components-library/p-3f745628.entry.js.map +0 -1
  83. package/dist/web-components-library/p-888c6510.entry.js +0 -2
  84. package/dist/web-components-library/p-8e9ecc01.entry.js +0 -2
  85. package/dist/web-components-library/p-d6b4833b.js +0 -2
  86. package/dist/web-components-library/p-d6b4833b.js.map +0 -1
  87. package/www/build/p-3f745628.entry.js +0 -2
  88. package/www/build/p-3f745628.entry.js.map +0 -1
  89. package/www/build/p-888c6510.entry.js +0 -2
  90. package/www/build/p-8e9ecc01.entry.js +0 -2
  91. package/www/build/p-d6b4833b.js +0 -2
  92. package/www/build/p-d6b4833b.js.map +0 -1
  93. /package/dist/web-components-library/{p-888c6510.entry.js.map → p-0794ae16.entry.js.map} +0 -0
  94. /package/dist/web-components-library/{p-64c7c4c1.entry.js.map → p-4f7dd068.entry.js.map} +0 -0
  95. /package/dist/web-components-library/{p-8e9ecc01.entry.js.map → p-a7292e1c.entry.js.map} +0 -0
  96. /package/dist/web-components-library/{p-738670e2.js.map → p-aa0f083b.js.map} +0 -0
  97. /package/www/build/{p-888c6510.entry.js.map → p-0794ae16.entry.js.map} +0 -0
  98. /package/www/build/{p-64c7c4c1.entry.js.map → p-4f7dd068.entry.js.map} +0 -0
  99. /package/www/build/{p-8e9ecc01.entry.js.map → p-a7292e1c.entry.js.map} +0 -0
  100. /package/www/build/{p-738670e2.js.map → p-aa0f083b.js.map} +0 -0
@@ -6,11 +6,11 @@ const index = require('./index-e801ae96.js');
6
6
  require('./index-1f9f28df.js');
7
7
  require('./index-b361709b.js');
8
8
  require('./index-1890445d.js');
9
- require('./index-ca821253.js');
9
+ require('./index-f0159789.js');
10
10
  require('./utils-6bd8c55e.js');
11
11
  require('./index-bab7a651.js');
12
12
  require('./breakpoints-5c22092a.js');
13
- require('./index-4592ad31.js');
13
+ require('./index-3a070c6b.js');
14
14
  require('./index-597156d1.js');
15
15
 
16
16
  const stylesCss = ":host{--z-table--cells-padding:calc(var(--space-unit) * 2);position:relative;display:block;overflow:auto;max-width:100%;box-sizing:border-box;background-color:var(--color-surface01)}:host([expandable]){--z-table--expand-button-size:40px}:host([bordered]){--z-table--cell-left-border:1px solid var(--color-surface03)}.table{min-width:max-content}";
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-4592ad31.js');
5
+ const index = require('./index-3a070c6b.js');
6
6
  require('./index-e801ae96.js');
7
7
  require('./index-bab7a651.js');
8
8
 
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-ca821253.js');
5
+ const index = require('./index-f0159789.js');
6
6
  require('./index-e801ae96.js');
7
7
  require('./utils-6bd8c55e.js');
8
8
  require('./index-bab7a651.js');
9
9
  require('./breakpoints-5c22092a.js');
10
- require('./index-4592ad31.js');
10
+ require('./index-3a070c6b.js');
11
11
  require('./index-597156d1.js');
12
12
 
13
13
 
@@ -9,7 +9,7 @@ export class ZTd {
9
9
  this.colspan = undefined;
10
10
  this.sticky = false;
11
11
  this.showMenu = null;
12
- this.defaultPopoverPosition = PopoverPosition.AUTO;
12
+ this.popoverPosition = PopoverPosition.AUTO;
13
13
  this.isMenuOpen = false;
14
14
  }
15
15
  updateColspan() {
@@ -29,7 +29,7 @@ export class ZTd {
29
29
  this.updateColspan();
30
30
  }
31
31
  render() {
32
- return (h(Host, { key: '0f8f0da62be65482e62d807f0c284fd4c1698ff6', role: "cell", "menu-open": this.isMenuOpen }, h("slot", { key: '10451ce7de47cc38186b371b1dbcb5e965c512c9' }), this.showMenu && (h("div", { key: 'c002dcbe4ea6efb5ae645106331698e429fe825b', class: "cell--menu-container prevent-expand" }, h("z-button", { key: 'b201f3476f3315044aa02f89a44698c7b254e9f3', variant: ButtonVariant.TERTIARY, icon: "contextual-menu", size: ControlSize.X_SMALL, ref: (el) => (this.menuTrigger = el), onClick: this.onMenuButtonClick.bind(this) }), h("z-popover", { key: '9be4720b9f894767fb6b6f31e2254f0fe856101d', class: "cell-popover", ref: (el) => (this.popoverEl = el), bindTo: this.menuTrigger, onOpenChange: (event) => (this.isMenuOpen = event.detail.open), position: this.defaultPopoverPosition }, h("slot", { key: '6ef0cd582855de8defeb7102856d332d3909ba44', name: "contextual-menu" }))))));
32
+ return (h(Host, { key: '36a62d2c751b3b889c7f69280418e95ff02192d5', role: "cell", "menu-open": this.isMenuOpen }, h("slot", { key: '6d593df3a5d84033f5ec055a00dc972d113ac4cb' }), this.showMenu && (h("div", { key: '77fbfdd8dc31fcfb6694461c8c0ed430323c3926', class: "cell--menu-container prevent-expand" }, h("z-button", { key: 'caf153b8ba5861b3dc7eabf966cdfdd9d3b197da', variant: ButtonVariant.TERTIARY, icon: "contextual-menu", size: ControlSize.X_SMALL, ref: (el) => (this.menuTrigger = el), onClick: this.onMenuButtonClick.bind(this) }), h("z-popover", { key: 'd89b8e0e5b8e622a6e9a08640bff28d64ff0eb07', class: "cell-popover", ref: (el) => (this.popoverEl = el), bindTo: this.menuTrigger, onOpenChange: (event) => (this.isMenuOpen = event.detail.open), position: this.popoverPosition }, h("slot", { key: '339066d4dd0d6d57ac2358e6a8105aa690b2ca06', name: "contextual-menu" }))))));
33
33
  }
34
34
  static get is() { return "z-td"; }
35
35
  static get encapsulation() { return "shadow"; }
@@ -104,7 +104,7 @@ export class ZTd {
104
104
  "reflect": true,
105
105
  "defaultValue": "null"
106
106
  },
107
- "defaultPopoverPosition": {
107
+ "popoverPosition": {
108
108
  "type": "string",
109
109
  "mutable": false,
110
110
  "complexType": {
@@ -122,9 +122,9 @@ export class ZTd {
122
122
  "optional": true,
123
123
  "docs": {
124
124
  "tags": [],
125
- "text": "Set a the popover default position."
125
+ "text": "Set the popover position, the default is \"auto\"."
126
126
  },
127
- "attribute": "default-popover-position",
127
+ "attribute": "popover-position",
128
128
  "reflect": false,
129
129
  "defaultValue": "PopoverPosition.AUTO"
130
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/table/cells/z-td/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC,MAAM,eAAe,CAAC;AACnG,OAAO,EAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAEnG;;;GAGG;AAMH,MAAM,OAAO,GAAG;;;sBAaL,KAAK;wBAQkB,IAAI;sCAMO,eAAe,CAAC,IAAI;0BAMlD,KAAK;;IAgBR,aAAa;QACrB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEO,iBAAiB,CAAC,EAAc;QACtC,EAAE,CAAC,eAAe,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,IAAI,EAAC,MAAM,eACA,IAAI,CAAC,UAAU;YAE1B,8DAAa;YACZ,IAAI,CAAC,QAAQ,IAAI,CAChB,4DAAK,KAAK,EAAC,qCAAqC;gBAC9C,iEACE,OAAO,EAAE,aAAa,CAAC,QAAQ,EAC/B,IAAI,EAAC,iBAAiB,EACtB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAwB,CAAC,EAC1D,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAC1C;gBACF,kEACE,KAAK,EAAC,cAAc,EACpB,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAyB,CAAC,EACzD,MAAM,EAAE,IAAI,CAAC,WAA0B,EACvC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAC9D,QAAQ,EAAE,IAAI,CAAC,sBAAsB;oBAErC,6DAAM,IAAI,EAAC,iBAAiB,GAAQ,CAC1B,CACR,CACP,CACI,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {Component, Element, Event, EventEmitter, Host, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ButtonVariant, ControlSize, PopoverPosition, VisibilityCondition} from \"../../../../beans\";\n\n/**\n * ZTd component.\n * @slot - ZTd content.\n */\n@Component({\n tag: \"z-td\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZTd {\n @Element() host: HTMLZTdElement;\n\n /**\n * Number of columns that the cell should span.\n */\n @Prop()\n colspan: number;\n\n /**\n * Whether the cell should stick.\n */\n @Prop({reflect: true})\n sticky = false;\n\n /**\n * Enables the contextual menu.\n * Can be set to \"hover\" or \"always\" to show the button only on cell hover or always.\n * Set a nullish value to hide the menu button.\n */\n @Prop({reflect: true})\n showMenu: VisibilityCondition = null;\n\n /**\n * Set a the popover default position.\n */\n @Prop()\n defaultPopoverPosition?: PopoverPosition = PopoverPosition.AUTO;\n\n /**\n * Store the open state of the menu.\n */\n @State()\n isMenuOpen = false;\n\n private menuTrigger: HTMLZButtonElement;\n\n private popoverEl: HTMLZPopoverElement;\n\n /**\n * Emitted when the value of the `colspan` changes.\n */\n @Event({\n bubbles: true,\n cancelable: false,\n })\n colspanChange: EventEmitter<number>;\n\n @Watch(\"colspan\")\n protected updateColspan(): void {\n if (this.colspan) {\n this.host.style.gridColumn = `span ${this.colspan}`;\n } else {\n this.host.style.removeProperty(\"grid-column\");\n }\n\n this.colspanChange.emit(this.colspan || 1);\n }\n\n private onMenuButtonClick(ev: MouseEvent): void {\n ev.stopPropagation();\n this.popoverEl.open = !this.popoverEl.open;\n }\n\n componentWillLoad(): void {\n this.updateColspan();\n }\n\n render(): HTMLZTdElement {\n return (\n <Host\n role=\"cell\"\n menu-open={this.isMenuOpen}\n >\n <slot></slot>\n {this.showMenu && (\n <div class=\"cell--menu-container prevent-expand\">\n <z-button\n variant={ButtonVariant.TERTIARY}\n icon=\"contextual-menu\"\n size={ControlSize.X_SMALL}\n ref={(el) => (this.menuTrigger = el as HTMLZButtonElement)}\n onClick={this.onMenuButtonClick.bind(this)}\n />\n <z-popover\n class=\"cell-popover\"\n ref={(el) => (this.popoverEl = el as HTMLZPopoverElement)}\n bindTo={this.menuTrigger as HTMLElement}\n onOpenChange={(event) => (this.isMenuOpen = event.detail.open)}\n position={this.defaultPopoverPosition}\n >\n <slot name=\"contextual-menu\"></slot>\n </z-popover>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/table/cells/z-td/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC,MAAM,eAAe,CAAC;AACnG,OAAO,EAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAEnG;;;GAGG;AAMH,MAAM,OAAO,GAAG;;;sBAaL,KAAK;wBAQkB,IAAI;+BAMA,eAAe,CAAC,IAAI;0BAM3C,KAAK;;IAgBR,aAAa;QACrB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEO,iBAAiB,CAAC,EAAc;QACtC,EAAE,CAAC,eAAe,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,IAAI,EAAC,MAAM,eACA,IAAI,CAAC,UAAU;YAE1B,8DAAa;YACZ,IAAI,CAAC,QAAQ,IAAI,CAChB,4DAAK,KAAK,EAAC,qCAAqC;gBAC9C,iEACE,OAAO,EAAE,aAAa,CAAC,QAAQ,EAC/B,IAAI,EAAC,iBAAiB,EACtB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAwB,CAAC,EAC1D,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAC1C;gBACF,kEACE,KAAK,EAAC,cAAc,EACpB,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAyB,CAAC,EACzD,MAAM,EAAE,IAAI,CAAC,WAA0B,EACvC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAC9D,QAAQ,EAAE,IAAI,CAAC,eAAe;oBAE9B,6DAAM,IAAI,EAAC,iBAAiB,GAAQ,CAC1B,CACR,CACP,CACI,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {Component, Element, Event, EventEmitter, Host, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ButtonVariant, ControlSize, PopoverPosition, VisibilityCondition} from \"../../../../beans\";\n\n/**\n * ZTd component.\n * @slot - ZTd content.\n */\n@Component({\n tag: \"z-td\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZTd {\n @Element() host: HTMLZTdElement;\n\n /**\n * Number of columns that the cell should span.\n */\n @Prop()\n colspan: number;\n\n /**\n * Whether the cell should stick.\n */\n @Prop({reflect: true})\n sticky = false;\n\n /**\n * Enables the contextual menu.\n * Can be set to \"hover\" or \"always\" to show the button only on cell hover or always.\n * Set a nullish value to hide the menu button.\n */\n @Prop({reflect: true})\n showMenu: VisibilityCondition = null;\n\n /**\n * Set the popover position, the default is \"auto\".\n */\n @Prop()\n popoverPosition?: PopoverPosition = PopoverPosition.AUTO;\n\n /**\n * Store the open state of the menu.\n */\n @State()\n isMenuOpen = false;\n\n private menuTrigger: HTMLZButtonElement;\n\n private popoverEl: HTMLZPopoverElement;\n\n /**\n * Emitted when the value of the `colspan` changes.\n */\n @Event({\n bubbles: true,\n cancelable: false,\n })\n colspanChange: EventEmitter<number>;\n\n @Watch(\"colspan\")\n protected updateColspan(): void {\n if (this.colspan) {\n this.host.style.gridColumn = `span ${this.colspan}`;\n } else {\n this.host.style.removeProperty(\"grid-column\");\n }\n\n this.colspanChange.emit(this.colspan || 1);\n }\n\n private onMenuButtonClick(ev: MouseEvent): void {\n ev.stopPropagation();\n this.popoverEl.open = !this.popoverEl.open;\n }\n\n componentWillLoad(): void {\n this.updateColspan();\n }\n\n render(): HTMLZTdElement {\n return (\n <Host\n role=\"cell\"\n menu-open={this.isMenuOpen}\n >\n <slot></slot>\n {this.showMenu && (\n <div class=\"cell--menu-container prevent-expand\">\n <z-button\n variant={ButtonVariant.TERTIARY}\n icon=\"contextual-menu\"\n size={ControlSize.X_SMALL}\n ref={(el) => (this.menuTrigger = el as HTMLZButtonElement)}\n onClick={this.onMenuButtonClick.bind(this)}\n />\n <z-popover\n class=\"cell-popover\"\n ref={(el) => (this.popoverEl = el as HTMLZPopoverElement)}\n bindTo={this.menuTrigger as HTMLElement}\n onOpenChange={(event) => (this.isMenuOpen = event.detail.open)}\n position={this.popoverPosition}\n >\n <slot name=\"contextual-menu\"></slot>\n </z-popover>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -10,4 +10,20 @@ it("Test ZButtonSort should emit buttonSortClick event", async () => {
10
10
  await page.waitForChanges();
11
11
  expect(clickEvent).toHaveReceivedEventDetail({ sortAsc: false });
12
12
  });
13
+ it("changes button label on click based on sortAsc event property", async () => {
14
+ const page = await newE2EPage({
15
+ html: '<z-button-sort label="ascending" desclabel="descending" sortasc="true" isselected="true"></z-button-sort>',
16
+ });
17
+ const btn = await page.find("z-button-sort >>> button");
18
+ const clickEvent = await page.spyOnEvent("buttonSortClick");
19
+ const btnText = await page.find("z-button-sort >>> button span.ellipsis");
20
+ await btn.click();
21
+ await page.waitForChanges();
22
+ expect(clickEvent).toHaveReceivedEventDetail({ sortAsc: false });
23
+ expect(btnText).toEqualText("descending");
24
+ await btn.click();
25
+ await page.waitForChanges();
26
+ expect(clickEvent).toHaveReceivedEventDetail({ sortAsc: true });
27
+ expect(btnText).toEqualText("ascending");
28
+ });
13
29
  //# sourceMappingURL=test.e2e.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.e2e.js","sourceRoot":"","sources":["../../../../src/components/z-button-sort/test.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEjD,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;IAClE,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,EAAC,IAAI,EAAE,iCAAiC,EAAC,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAE5D,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAClB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,yBAAyB,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IAE9D,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAClB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,yBAAyB,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC","sourcesContent":["import {newE2EPage} from \"@stencil/core/testing\";\n\nit(\"Test ZButtonSort should emit buttonSortClick event\", async () => {\n const page = await newE2EPage({html: \"<z-button-sort></z-button-sort>\"});\n const btn = await page.find(\"z-button-sort >>> button\");\n const clickEvent = await page.spyOnEvent(\"buttonSortClick\");\n\n await btn.click();\n await page.waitForChanges();\n expect(clickEvent).toHaveReceivedEventDetail({sortAsc: true});\n\n await btn.click();\n await page.waitForChanges();\n expect(clickEvent).toHaveReceivedEventDetail({sortAsc: false});\n});\n"]}
1
+ {"version":3,"file":"test.e2e.js","sourceRoot":"","sources":["../../../../src/components/z-button-sort/test.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEjD,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;IAClE,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,EAAC,IAAI,EAAE,iCAAiC,EAAC,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAE5D,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAClB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,yBAAyB,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IAE9D,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAClB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,yBAAyB,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;IAC7E,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC;QAC5B,IAAI,EAAE,2GAA2G;KAClH,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAE1E,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAClB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,yBAAyB,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAE1C,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAClB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,yBAAyB,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC","sourcesContent":["import {newE2EPage} from \"@stencil/core/testing\";\n\nit(\"Test ZButtonSort should emit buttonSortClick event\", async () => {\n const page = await newE2EPage({html: \"<z-button-sort></z-button-sort>\"});\n const btn = await page.find(\"z-button-sort >>> button\");\n const clickEvent = await page.spyOnEvent(\"buttonSortClick\");\n\n await btn.click();\n await page.waitForChanges();\n expect(clickEvent).toHaveReceivedEventDetail({sortAsc: true});\n\n await btn.click();\n await page.waitForChanges();\n expect(clickEvent).toHaveReceivedEventDetail({sortAsc: false});\n});\n\nit(\"changes button label on click based on sortAsc event property\", async () => {\n const page = await newE2EPage({\n html: '<z-button-sort label=\"ascending\" desclabel=\"descending\" sortasc=\"true\" isselected=\"true\"></z-button-sort>',\n });\n const btn = await page.find(\"z-button-sort >>> button\");\n const clickEvent = await page.spyOnEvent(\"buttonSortClick\");\n const btnText = await page.find(\"z-button-sort >>> button span.ellipsis\");\n\n await btn.click();\n await page.waitForChanges();\n expect(clickEvent).toHaveReceivedEventDetail({sortAsc: false});\n expect(btnText).toEqualText(\"descending\");\n\n await btn.click();\n await page.waitForChanges();\n expect(clickEvent).toHaveReceivedEventDetail({sortAsc: true});\n expect(btnText).toEqualText(\"ascending\");\n});\n"]}
@@ -0,0 +1,32 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ it("Clicks on chip component, not on the interactive icon", async () => {
3
+ const page = await newE2EPage({
4
+ html: '<z-chip type="default" icon="pdf" disabled="false" interactive-icon="multiply-circled">chip text</z-chip>',
5
+ });
6
+ const chip = await page.find("z-chip");
7
+ const clickEvent = await page.spyOnEvent("interactiveIconClick");
8
+ await chip.click();
9
+ await page.waitForChanges();
10
+ expect(clickEvent).not.toHaveReceivedEvent();
11
+ });
12
+ it("Clicks on chip interactive icon", async () => {
13
+ const page = await newE2EPage({
14
+ html: '<z-chip type="default" icon="pdf" disabled="false" interactive-icon="multiply-circled">chip text</z-chip>',
15
+ });
16
+ const chipIcon = await page.find("z-chip .interactive-icon");
17
+ const clickEvent = await page.spyOnEvent("interactiveIconClick");
18
+ await chipIcon.click();
19
+ await page.waitForChanges();
20
+ expect(clickEvent).toHaveReceivedEvent();
21
+ });
22
+ it("Clicks on chip interactive icon when disabled", async () => {
23
+ const page = await newE2EPage({
24
+ html: '<z-chip type="default" icon="pdf" disabled="true" interactive-icon="multiply-circled">chip text</z-chip>',
25
+ });
26
+ const chipIcon = await page.find("z-chip .interactive-icon");
27
+ const clickEvent = await page.spyOnEvent("interactiveIconClick");
28
+ await chipIcon.click();
29
+ await page.waitForChanges();
30
+ expect(clickEvent).not.toHaveReceivedEvent();
31
+ });
32
+ //# sourceMappingURL=test.e2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.e2e.js","sourceRoot":"","sources":["../../../../src/components/z-chip/test.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEjD,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;IACrE,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC;QAC5B,IAAI,EAAE,2GAA2G;KAClH,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACjE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IAEnB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;IAC/C,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC;QAC5B,IAAI,EAAE,2GAA2G;KAClH,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACjE,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;IAEvB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,mBAAmB,EAAE,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;IAC7D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC;QAC5B,IAAI,EAAE,0GAA0G;KACjH,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACjE,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;IAEvB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;AAC/C,CAAC,CAAC,CAAC","sourcesContent":["import {newE2EPage} from \"@stencil/core/testing\";\n\nit(\"Clicks on chip component, not on the interactive icon\", async () => {\n const page = await newE2EPage({\n html: '<z-chip type=\"default\" icon=\"pdf\" disabled=\"false\" interactive-icon=\"multiply-circled\">chip text</z-chip>',\n });\n const chip = await page.find(\"z-chip\");\n const clickEvent = await page.spyOnEvent(\"interactiveIconClick\");\n await chip.click();\n\n await page.waitForChanges();\n expect(clickEvent).not.toHaveReceivedEvent();\n});\n\nit(\"Clicks on chip interactive icon\", async () => {\n const page = await newE2EPage({\n html: '<z-chip type=\"default\" icon=\"pdf\" disabled=\"false\" interactive-icon=\"multiply-circled\">chip text</z-chip>',\n });\n const chipIcon = await page.find(\"z-chip .interactive-icon\");\n const clickEvent = await page.spyOnEvent(\"interactiveIconClick\");\n await chipIcon.click();\n\n await page.waitForChanges();\n expect(clickEvent).toHaveReceivedEvent();\n});\n\nit(\"Clicks on chip interactive icon when disabled\", async () => {\n const page = await newE2EPage({\n html: '<z-chip type=\"default\" icon=\"pdf\" disabled=\"true\" interactive-icon=\"multiply-circled\">chip text</z-chip>',\n });\n const chipIcon = await page.find(\"z-chip .interactive-icon\");\n const clickEvent = await page.spyOnEvent(\"interactiveIconClick\");\n await chipIcon.click();\n\n await page.waitForChanges();\n expect(clickEvent).not.toHaveReceivedEvent();\n});\n"]}
@@ -0,0 +1,45 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ const items = [
3
+ { id: "ite_m_1", name: "First item", checked: false, category: "Gruppo 1" },
4
+ { id: "ite_m_2", name: "Second item", checked: false, category: "Gruppo 1" },
5
+ { id: "it_em_3", name: "Other item", checked: false, category: "Gruppo 2" },
6
+ { id: "it_e_m_5", name: "Last item", checked: false, category: "Gruppo 3" },
7
+ ];
8
+ it("Tests z-combobox search", async () => {
9
+ const page = await newE2EPage();
10
+ await page.setContent(`
11
+ <z-combobox
12
+ checkalltext="Select all"
13
+ closesearchtext="Close"
14
+ hascheckall="true"
15
+ hassearch="true"
16
+ inputid="combo_1"
17
+ isfixed="true"
18
+ isopen="true"
19
+ items='${JSON.stringify(items)}'
20
+ label="Combobox Label"
21
+ maxcheckableitems="4"
22
+ hasgroupitems="false"
23
+ noresultslabel="No items"
24
+ searchlabel="Search Label"
25
+ searchplaceholder="Search Placeholder"
26
+ searchtitle="Search Title"
27
+ uncheckalltext="Uncheck All"
28
+ />
29
+ `);
30
+ const input = await page.find("z-combobox >>> z-input input");
31
+ const listbox = await page.find("z-combobox >>> #combo_1_list");
32
+ const listElements = await listbox.findAll("z-list-element");
33
+ expect(listElements.map(({ id }) => id)).toEqual(items.map(({ id }) => id));
34
+ await input.type(items[0].name);
35
+ await page.waitForChanges();
36
+ const filteredListElems = await listbox.findAll("z-list-element");
37
+ expect(filteredListElems.map(({ id }) => id)).toEqual([items[0].id]);
38
+ const clickEvent = await page.spyOnEvent("comboboxChange");
39
+ const checkbox = await filteredListElems[0].find("z-input div input");
40
+ console.log(checkbox);
41
+ await checkbox.click();
42
+ await page.waitForChanges();
43
+ expect(clickEvent).toHaveReceivedEvent();
44
+ });
45
+ //# sourceMappingURL=test.e2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.e2e.js","sourceRoot":"","sources":["../../../../src/components/z-combobox/test.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEjD,MAAM,KAAK,GAAG;IACZ,EAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAC;IACzE,EAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAC;IAC1E,EAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAC;IACzE,EAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAC;CAC1E,CAAC;AAEF,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;IACvC,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;IAChC,MAAM,IAAI,CAAC,UAAU,CAAC;;;;;;;;;eAST,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;;;;;;;;;GAUjC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7D,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAExE,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAElE,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;IACvB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,UAAU,CAAC,CAAC,mBAAmB,EAAE,CAAC;AAC3C,CAAC,CAAC,CAAC","sourcesContent":["import {newE2EPage} from \"@stencil/core/testing\";\n\nconst items = [\n {id: \"ite_m_1\", name: \"First item\", checked: false, category: \"Gruppo 1\"},\n {id: \"ite_m_2\", name: \"Second item\", checked: false, category: \"Gruppo 1\"},\n {id: \"it_em_3\", name: \"Other item\", checked: false, category: \"Gruppo 2\"},\n {id: \"it_e_m_5\", name: \"Last item\", checked: false, category: \"Gruppo 3\"},\n];\n\nit(\"Tests z-combobox search\", async () => {\n const page = await newE2EPage();\n await page.setContent(`\n <z-combobox\n checkalltext=\"Select all\"\n closesearchtext=\"Close\"\n hascheckall=\"true\"\n hassearch=\"true\"\n inputid=\"combo_1\"\n isfixed=\"true\"\n isopen=\"true\"\n items='${JSON.stringify(items)}'\n label=\"Combobox Label\"\n maxcheckableitems=\"4\"\n hasgroupitems=\"false\"\n noresultslabel=\"No items\"\n searchlabel=\"Search Label\"\n searchplaceholder=\"Search Placeholder\"\n searchtitle=\"Search Title\"\n uncheckalltext=\"Uncheck All\"\n />\n `);\n\n const input = await page.find(\"z-combobox >>> z-input input\");\n const listbox = await page.find(\"z-combobox >>> #combo_1_list\");\n const listElements = await listbox.findAll(\"z-list-element\");\n expect(listElements.map(({id}) => id)).toEqual(items.map(({id}) => id));\n\n await input.type(items[0].name);\n await page.waitForChanges();\n const filteredListElems = await listbox.findAll(\"z-list-element\");\n\n expect(filteredListElems.map(({id}) => id)).toEqual([items[0].id]);\n\n const clickEvent = await page.spyOnEvent(\"comboboxChange\");\n\n const checkbox = await filteredListElems[0].find(\"z-input div input\");\n console.log(checkbox);\n await checkbox.click();\n await page.waitForChanges();\n\n expect(clickEvent).toHaveReceivedEvent();\n});\n"]}
@@ -25,19 +25,23 @@ const StoryMeta = {
25
25
  items: [
26
26
  {
27
27
  id: "item_1",
28
+ name: "item_1",
28
29
  selected: false,
29
30
  },
30
31
  {
31
32
  id: "item_2",
33
+ name: "item_2",
32
34
  selected: true,
33
35
  },
34
36
  {
35
37
  id: "item_3",
38
+ name: "item_3",
36
39
  selected: false,
37
40
  disabled: true,
38
41
  },
39
42
  {
40
43
  id: "item_4",
44
+ name: "item_4",
41
45
  selected: false,
42
46
  },
43
47
  ],
@@ -87,33 +91,39 @@ export const Groups = {
87
91
  items: [
88
92
  {
89
93
  id: "item_1",
94
+ name: "item_1",
90
95
  selected: false,
91
96
  category: "Gruppo 1",
92
97
  },
93
98
  {
94
99
  id: "item_2",
100
+ name: "item_2",
95
101
  selected: false,
96
102
  category: "Gruppo 1",
97
103
  },
98
104
  {
99
105
  id: "item_3",
106
+ name: "item_3",
100
107
  selected: false,
101
108
  category: "Gruppo 2",
102
109
  disabled: true,
103
110
  },
104
111
  {
105
112
  id: "item_4",
113
+ name: "item_4",
106
114
  selected: false,
107
115
  category: "Gruppo 2",
108
116
  },
109
117
  {
110
118
  id: "item_5",
119
+ name: "item_5",
111
120
  selected: false,
112
121
  category: "Gruppo 3",
113
122
  disabled: true,
114
123
  },
115
124
  {
116
125
  id: "item_6",
126
+ name: "item_6",
117
127
  selected: false,
118
128
  category: "Gruppo 3",
119
129
  },
@@ -147,16 +157,19 @@ export const ZSelectWithIcons = {
147
157
  items: [
148
158
  {
149
159
  id: "item_1",
160
+ name: "item_1",
150
161
  selected: false,
151
162
  icon: "teacher",
152
163
  },
153
164
  {
154
165
  id: "item_2",
166
+ name: "item_2",
155
167
  selected: false,
156
168
  icon: "teacher",
157
169
  },
158
170
  {
159
171
  id: "item_3",
172
+ name: "item_3",
160
173
  selected: false,
161
174
  disabled: true,
162
175
  icon: "teacher",
@@ -1 +1 @@
1
- {"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../../src/components/z-select/index.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import {Meta, StoryObj} from \"@storybook/web-components\";\nimport {html} from \"lit\";\nimport {type ZSelect} from \".\";\nimport {ControlSize, InputStatus, SelectItem} from \"../../beans\";\nimport \"./index\";\n\nconst StoryMeta = {\n title: \"ZSelect\",\n component: \"z-select\",\n argTypes: {\n status: {\n control: {\n type: \"select\",\n labels: {\n null: \"-\",\n },\n },\n options: [null, ...Object.values(InputStatus)],\n },\n size: {\n control: {\n type: \"inline-radio\",\n },\n options: Object.values(ControlSize),\n },\n },\n args: {\n items: [\n {\n id: \"item_1\",\n selected: false,\n },\n {\n id: \"item_2\",\n selected: true,\n },\n {\n id: \"item_3\",\n selected: false,\n disabled: true,\n },\n {\n id: \"item_4\",\n selected: false,\n },\n ] as SelectItem[],\n label: \"this is the label\",\n ariaLabel: \"\",\n placeholder: \"select placeholder\",\n status: null,\n message: \"helper text\",\n size: ControlSize.BIG,\n disabled: false,\n readonly: false,\n htmlid: \"\",\n htmltitle: \"\",\n autocomplete: false,\n noresultslabel: \"Nessun risultato\",\n hasGroupItems: false,\n resetItem: \"\",\n isfixed: false,\n },\n} satisfies Meta<ZSelect>;\nexport default StoryMeta;\n\ntype Story = StoryObj<ZSelect>;\n\nexport const Default = {\n render: (args) => html`\n <z-select\n items=${JSON.stringify(args.items)}\n label=${args.label}\n aria-label=${args.ariaLabel}\n placeholder=${args.placeholder}\n name=${args.name}\n status=${args.status}\n message=${args.message}\n autocomplete=${args.autocomplete}\n noresultslabel=${args.noresultslabel}\n disabled=${args.disabled}\n readonly=${args.readonly}\n htmlid=${args.htmlid}\n htmltitle=${args.htmltitle}\n reset-item=${args.resetItem}\n isfixed=${args.isfixed}\n size=${args.size}\n ></z-select>\n `,\n} satisfies Story;\n\nexport const Groups = {\n args: {\n hasGroupItems: true,\n items: [\n {\n id: \"item_1\",\n selected: false,\n category: \"Gruppo 1\",\n },\n {\n id: \"item_2\",\n selected: false,\n category: \"Gruppo 1\",\n },\n {\n id: \"item_3\",\n selected: false,\n category: \"Gruppo 2\",\n disabled: true,\n },\n {\n id: \"item_4\",\n selected: false,\n category: \"Gruppo 2\",\n },\n {\n id: \"item_5\",\n selected: false,\n category: \"Gruppo 3\",\n disabled: true,\n },\n {\n id: \"item_6\",\n selected: false,\n category: \"Gruppo 3\",\n },\n ] as SelectItem[],\n },\n render: (args) => html`\n <z-select\n items=${JSON.stringify(args.items)}\n label=${args.label}\n aria-label=${args.ariaLabel}\n placeholder=${args.placeholder}\n name=${args.name}\n status=${args.status}\n message=${args.message}\n autocomplete=${args.autocomplete}\n noresultslabel=${args.noresultslabel}\n disabled=${args.disabled}\n readonly=${args.readonly}\n htmlid=${args.htmlid}\n htmltitle=${args.htmltitle}\n .hasGroupItems=${args.hasGroupItems}\n reset-item=${args.resetItem}\n isfixed=${args.isfixed}\n size=${args.size}\n ></z-select>\n `,\n} satisfies Story;\n\nexport const ZSelectWithIcons = {\n args: {\n hasGroupItems: true,\n items: [\n {\n id: \"item_1\",\n selected: false,\n icon: \"teacher\",\n },\n {\n id: \"item_2\",\n selected: false,\n icon: \"teacher\",\n },\n {\n id: \"item_3\",\n selected: false,\n disabled: true,\n icon: \"teacher\",\n },\n ] as SelectItem[],\n },\n render: (args) => html`\n <z-select\n items=${JSON.stringify(args.items)}\n label=${args.label}\n aria-label=${args.ariaLabel}\n placeholder=${args.placeholder}\n name=${args.name}\n status=${args.status}\n message=${args.message}\n autocomplete=${args.autocomplete}\n noresultslabel=${args.noresultslabel}\n disabled=${args.disabled}\n readonly=${args.readonly}\n htmlid=${args.htmlid}\n htmltitle=${args.htmltitle}\n reset-item=${args.resetItem}\n isfixed=${args.isfixed}\n size=${args.size}\n ></z-select>\n `,\n} satisfies Story;\n"]}
1
+ {"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../../src/components/z-select/index.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import {Meta, StoryObj} from \"@storybook/web-components\";\nimport {html} from \"lit\";\nimport {type ZSelect} from \".\";\nimport {ControlSize, InputStatus, SelectItem} from \"../../beans\";\nimport \"./index\";\n\nconst StoryMeta = {\n title: \"ZSelect\",\n component: \"z-select\",\n argTypes: {\n status: {\n control: {\n type: \"select\",\n labels: {\n null: \"-\",\n },\n },\n options: [null, ...Object.values(InputStatus)],\n },\n size: {\n control: {\n type: \"inline-radio\",\n },\n options: Object.values(ControlSize),\n },\n },\n args: {\n items: [\n {\n id: \"item_1\",\n name: \"item_1\",\n selected: false,\n },\n {\n id: \"item_2\",\n name: \"item_2\",\n selected: true,\n },\n {\n id: \"item_3\",\n name: \"item_3\",\n selected: false,\n disabled: true,\n },\n {\n id: \"item_4\",\n name: \"item_4\",\n selected: false,\n },\n ] as SelectItem[],\n label: \"this is the label\",\n ariaLabel: \"\",\n placeholder: \"select placeholder\",\n status: null,\n message: \"helper text\",\n size: ControlSize.BIG,\n disabled: false,\n readonly: false,\n htmlid: \"\",\n htmltitle: \"\",\n autocomplete: false,\n noresultslabel: \"Nessun risultato\",\n hasGroupItems: false,\n resetItem: \"\",\n isfixed: false,\n },\n} satisfies Meta<ZSelect>;\nexport default StoryMeta;\n\ntype Story = StoryObj<ZSelect>;\n\nexport const Default = {\n render: (args) => html`\n <z-select\n items=${JSON.stringify(args.items)}\n label=${args.label}\n aria-label=${args.ariaLabel}\n placeholder=${args.placeholder}\n name=${args.name}\n status=${args.status}\n message=${args.message}\n autocomplete=${args.autocomplete}\n noresultslabel=${args.noresultslabel}\n disabled=${args.disabled}\n readonly=${args.readonly}\n htmlid=${args.htmlid}\n htmltitle=${args.htmltitle}\n reset-item=${args.resetItem}\n isfixed=${args.isfixed}\n size=${args.size}\n ></z-select>\n `,\n} satisfies Story;\n\nexport const Groups = {\n args: {\n hasGroupItems: true,\n items: [\n {\n id: \"item_1\",\n name: \"item_1\",\n selected: false,\n category: \"Gruppo 1\",\n },\n {\n id: \"item_2\",\n name: \"item_2\",\n selected: false,\n category: \"Gruppo 1\",\n },\n {\n id: \"item_3\",\n name: \"item_3\",\n selected: false,\n category: \"Gruppo 2\",\n disabled: true,\n },\n {\n id: \"item_4\",\n name: \"item_4\",\n selected: false,\n category: \"Gruppo 2\",\n },\n {\n id: \"item_5\",\n name: \"item_5\",\n selected: false,\n category: \"Gruppo 3\",\n disabled: true,\n },\n {\n id: \"item_6\",\n name: \"item_6\",\n selected: false,\n category: \"Gruppo 3\",\n },\n ] as SelectItem[],\n },\n render: (args) => html`\n <z-select\n items=${JSON.stringify(args.items)}\n label=${args.label}\n aria-label=${args.ariaLabel}\n placeholder=${args.placeholder}\n name=${args.name}\n status=${args.status}\n message=${args.message}\n autocomplete=${args.autocomplete}\n noresultslabel=${args.noresultslabel}\n disabled=${args.disabled}\n readonly=${args.readonly}\n htmlid=${args.htmlid}\n htmltitle=${args.htmltitle}\n .hasGroupItems=${args.hasGroupItems}\n reset-item=${args.resetItem}\n isfixed=${args.isfixed}\n size=${args.size}\n ></z-select>\n `,\n} satisfies Story;\n\nexport const ZSelectWithIcons = {\n args: {\n hasGroupItems: true,\n items: [\n {\n id: \"item_1\",\n name: \"item_1\",\n selected: false,\n icon: \"teacher\",\n },\n {\n id: \"item_2\",\n name: \"item_2\",\n selected: false,\n icon: \"teacher\",\n },\n {\n id: \"item_3\",\n name: \"item_3\",\n selected: false,\n disabled: true,\n icon: \"teacher\",\n },\n ] as SelectItem[],\n },\n render: (args) => html`\n <z-select\n items=${JSON.stringify(args.items)}\n label=${args.label}\n aria-label=${args.ariaLabel}\n placeholder=${args.placeholder}\n name=${args.name}\n status=${args.status}\n message=${args.message}\n autocomplete=${args.autocomplete}\n noresultslabel=${args.noresultslabel}\n disabled=${args.disabled}\n readonly=${args.readonly}\n htmlid=${args.htmlid}\n htmltitle=${args.htmltitle}\n reset-item=${args.resetItem}\n isfixed=${args.isfixed}\n size=${args.size}\n ></z-select>\n `,\n} satisfies Story;\n"]}
@@ -0,0 +1,121 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ describe("z-select test end2end", () => {
3
+ it("Should open the select list", async () => {
4
+ const page = await newE2EPage();
5
+ await page.setContent(`
6
+ <z-select
7
+ items='[{"id":"item_1","selected":false,"name":"item_1"},{"id":"item_2","selected":true,"name":"item_2"}]'
8
+ label="this is the label"
9
+ ></z-select>
10
+ `);
11
+ await page.locator("z-select").click();
12
+ await page.waitForChanges();
13
+ expect((await page.find("z-select input")).getAttribute("aria-expanded")).toBe("true");
14
+ });
15
+ it("Should select an item from the list and then close the select list", async () => {
16
+ const page = await newE2EPage();
17
+ await page.setContent(`
18
+ <z-select
19
+ items='[{"id":"item_1","selected":false,"name":"item_1"},{"id":"item_2","selected":true,"name":"item_2"},{"id":"item_3","selected":false,"name":"item_3"}]'
20
+ label="this is the label"
21
+ ></z-select>
22
+ `);
23
+ const optionSelectEvent = await page.spyOnEvent("optionSelect");
24
+ await page.locator("z-select").click();
25
+ await page.waitForChanges();
26
+ await page.locator("z-select z-list-element").click();
27
+ await page.waitForChanges();
28
+ expect((await page.find("z-select input")).getAttribute("aria-expanded")).toBe("false");
29
+ expect(optionSelectEvent).toHaveReceivedEvent();
30
+ });
31
+ it("Should close the select list when clicking outside the component", async () => {
32
+ const page = await newE2EPage();
33
+ await page.setContent(`
34
+ <div>
35
+ <z-input class="outside-element"></z-input>
36
+ <z-select
37
+ items='[{"id":"item_1","selected":false,"name":"item_1"},{"id":"item_2","selected":true,"name":"item_2"},{"id":"item_3","selected":false,"name":"item_3"}]'
38
+ label="this is the label"
39
+ ></z-select>
40
+ </div>
41
+ `);
42
+ await page.locator("z-select").click();
43
+ await page.waitForChanges();
44
+ expect((await page.find("z-select input")).getAttribute("aria-expanded")).toBe("true");
45
+ await page.locator(".outside-element").click();
46
+ await page.waitForChanges();
47
+ expect((await page.find("z-select input")).getAttribute("aria-expanded")).toBe("false");
48
+ });
49
+ it("Should close the select list when pressing ESC key", async () => {
50
+ const page = await newE2EPage();
51
+ await page.setContent(`
52
+ <z-select
53
+ items='[{"id":"item_1","selected":false,"name":"item_1"},{"id":"item_2","selected":true,"name":"item_2"},{"id":"item_3","selected":false,"name":"item_3"}]'
54
+ label="this is the label"
55
+ ></z-select>
56
+ `);
57
+ await page.locator("z-select").click();
58
+ await page.waitForChanges();
59
+ expect((await page.find("z-select input")).getAttribute("aria-expanded")).toBe("true");
60
+ await page.keyboard.press("Escape");
61
+ await page.waitForChanges();
62
+ expect((await page.find("z-select input")).getAttribute("aria-expanded")).toBe("false");
63
+ });
64
+ it("Should filter the items list based on the input value", async () => {
65
+ const page = await newE2EPage();
66
+ await page.setContent(`
67
+ <z-select
68
+ items='[{"id":"item_1","selected":false,"name":"item_1"},{"id":"item_2","selected":true,"name":"item_2"},{"id":"item_3","selected":true,"name":"item_3"}]'
69
+ label="this is the label"
70
+ autocomplete="true"
71
+ ></z-select>
72
+ `);
73
+ await page.locator("z-select").click();
74
+ await page.waitForChanges();
75
+ expect((await page.find("z-select input")).getAttribute("aria-expanded")).toBe("true");
76
+ expect((await page.$$("z-list-element")).length).toBe(3);
77
+ await (await page.find("z-select input")).press("1");
78
+ await page.waitForChanges();
79
+ expect((await page.$$("z-list-element")).length).toBe(1);
80
+ expect((await page.find("z-list-element span")).innerText).toBe("item_1");
81
+ });
82
+ it("Should emit resetSelect event when reset item is enabled and clicked", async () => {
83
+ const page = await newE2EPage();
84
+ await page.setContent(`
85
+ <z-select
86
+ items='[{"id":"item_1","selected":false,"name":"item_1"},{"id":"item_2","selected":true,"name":"item_2"},{"id":"item_3","selected":true,"name":"item_3"}]'
87
+ label="this is the label"
88
+ autocomplete="true"
89
+ reset-item="cancella"
90
+ ></z-select>
91
+ `);
92
+ const resetSelectEvent = await page.spyOnEvent("resetSelect");
93
+ await page.locator("z-select").click();
94
+ await page.waitForChanges();
95
+ await page.locator("z-list-element.reset-item").click();
96
+ await page.waitForChanges();
97
+ expect(resetSelectEvent).toHaveReceivedEvent();
98
+ });
99
+ it("Should select an item from the list using keyboard navigation", async () => {
100
+ const page = await newE2EPage();
101
+ await page.setContent(`
102
+ <z-select
103
+ items='[{"id":"item_1","selected":false,"name":"item_1"},{"id":"item_2","selected":true,"name":"item_2"},{"id":"item_3","selected":true,"name":"item_3"}]'
104
+ label="this is the label"
105
+ ></z-select>
106
+ `);
107
+ const select = await page.find("z-select");
108
+ expect(await select.callMethod("getValue")).toBe("item_2");
109
+ await (await page.find("body")).press("Tab");
110
+ await select.press("Enter");
111
+ await page.waitForChanges();
112
+ expect((await page.find("z-select input")).getAttribute("aria-expanded")).toBe("true");
113
+ await select.press("ArrowDown");
114
+ await page.waitForChanges();
115
+ await select.press("Enter");
116
+ await page.waitForChanges();
117
+ expect((await page.find("z-select input")).getAttribute("aria-expanded")).toBe("false");
118
+ expect(await select.callMethod("getValue")).toBe("item_1");
119
+ });
120
+ });
121
+ //# sourceMappingURL=test.e2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.e2e.js","sourceRoot":"","sources":["../../../../src/components/z-select/test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import {newE2EPage} from \"@stencil/core/testing\";\n\ndescribe(\"z-select test end2end\", () => {\n it(\"Should open the select list\", async () => {\n const page = await newE2EPage();\n\n await page.setContent(`\n <z-select\n items='[{\"id\":\"item_1\",\"selected\":false,\"name\":\"item_1\"},{\"id\":\"item_2\",\"selected\":true,\"name\":\"item_2\"}]'\n label=\"this is the label\"\n ></z-select>\n `);\n\n await page.locator(\"z-select\").click();\n await page.waitForChanges();\n\n expect((await page.find(\"z-select input\")).getAttribute(\"aria-expanded\")).toBe(\"true\");\n });\n\n it(\"Should select an item from the list and then close the select list\", async () => {\n const page = await newE2EPage();\n\n await page.setContent(`\n <z-select\n items='[{\"id\":\"item_1\",\"selected\":false,\"name\":\"item_1\"},{\"id\":\"item_2\",\"selected\":true,\"name\":\"item_2\"},{\"id\":\"item_3\",\"selected\":false,\"name\":\"item_3\"}]'\n label=\"this is the label\"\n ></z-select>\n `);\n const optionSelectEvent = await page.spyOnEvent(\"optionSelect\");\n\n await page.locator(\"z-select\").click();\n await page.waitForChanges();\n\n await page.locator(\"z-select z-list-element\").click();\n await page.waitForChanges();\n\n expect((await page.find(\"z-select input\")).getAttribute(\"aria-expanded\")).toBe(\"false\");\n expect(optionSelectEvent).toHaveReceivedEvent();\n });\n\n it(\"Should close the select list when clicking outside the component\", async () => {\n const page = await newE2EPage();\n\n await page.setContent(`\n <div>\n <z-input class=\"outside-element\"></z-input>\n <z-select\n items='[{\"id\":\"item_1\",\"selected\":false,\"name\":\"item_1\"},{\"id\":\"item_2\",\"selected\":true,\"name\":\"item_2\"},{\"id\":\"item_3\",\"selected\":false,\"name\":\"item_3\"}]'\n label=\"this is the label\"\n ></z-select>\n </div>\n `);\n\n await page.locator(\"z-select\").click();\n await page.waitForChanges();\n\n expect((await page.find(\"z-select input\")).getAttribute(\"aria-expanded\")).toBe(\"true\");\n\n await page.locator(\".outside-element\").click();\n await page.waitForChanges();\n\n expect((await page.find(\"z-select input\")).getAttribute(\"aria-expanded\")).toBe(\"false\");\n });\n\n it(\"Should close the select list when pressing ESC key\", async () => {\n const page = await newE2EPage();\n\n await page.setContent(`\n <z-select\n items='[{\"id\":\"item_1\",\"selected\":false,\"name\":\"item_1\"},{\"id\":\"item_2\",\"selected\":true,\"name\":\"item_2\"},{\"id\":\"item_3\",\"selected\":false,\"name\":\"item_3\"}]'\n label=\"this is the label\"\n ></z-select>\n `);\n\n await page.locator(\"z-select\").click();\n await page.waitForChanges();\n\n expect((await page.find(\"z-select input\")).getAttribute(\"aria-expanded\")).toBe(\"true\");\n\n await page.keyboard.press(\"Escape\");\n await page.waitForChanges();\n\n expect((await page.find(\"z-select input\")).getAttribute(\"aria-expanded\")).toBe(\"false\");\n });\n\n it(\"Should filter the items list based on the input value\", async () => {\n const page = await newE2EPage();\n\n await page.setContent(`\n <z-select\n items='[{\"id\":\"item_1\",\"selected\":false,\"name\":\"item_1\"},{\"id\":\"item_2\",\"selected\":true,\"name\":\"item_2\"},{\"id\":\"item_3\",\"selected\":true,\"name\":\"item_3\"}]'\n label=\"this is the label\"\n autocomplete=\"true\"\n ></z-select>\n `);\n\n await page.locator(\"z-select\").click();\n await page.waitForChanges();\n expect((await page.find(\"z-select input\")).getAttribute(\"aria-expanded\")).toBe(\"true\");\n expect((await page.$$(\"z-list-element\")).length).toBe(3);\n\n await (await page.find(\"z-select input\")).press(\"1\");\n await page.waitForChanges();\n\n expect((await page.$$(\"z-list-element\")).length).toBe(1);\n expect((await page.find(\"z-list-element span\")).innerText).toBe(\"item_1\");\n });\n\n it(\"Should emit resetSelect event when reset item is enabled and clicked\", async () => {\n const page = await newE2EPage();\n\n await page.setContent(`\n <z-select\n items='[{\"id\":\"item_1\",\"selected\":false,\"name\":\"item_1\"},{\"id\":\"item_2\",\"selected\":true,\"name\":\"item_2\"},{\"id\":\"item_3\",\"selected\":true,\"name\":\"item_3\"}]'\n label=\"this is the label\"\n autocomplete=\"true\"\n reset-item=\"cancella\"\n ></z-select>\n `);\n const resetSelectEvent = await page.spyOnEvent(\"resetSelect\");\n\n await page.locator(\"z-select\").click();\n await page.waitForChanges();\n\n await page.locator(\"z-list-element.reset-item\").click();\n await page.waitForChanges();\n\n expect(resetSelectEvent).toHaveReceivedEvent();\n });\n\n it(\"Should select an item from the list using keyboard navigation\", async () => {\n const page = await newE2EPage();\n\n await page.setContent(`\n <z-select\n items='[{\"id\":\"item_1\",\"selected\":false,\"name\":\"item_1\"},{\"id\":\"item_2\",\"selected\":true,\"name\":\"item_2\"},{\"id\":\"item_3\",\"selected\":true,\"name\":\"item_3\"}]'\n label=\"this is the label\"\n ></z-select>\n `);\n\n const select = await page.find(\"z-select\");\n expect(await select.callMethod(\"getValue\")).toBe(\"item_2\");\n\n await (await page.find(\"body\")).press(\"Tab\");\n await select.press(\"Enter\");\n await page.waitForChanges();\n\n expect((await page.find(\"z-select input\")).getAttribute(\"aria-expanded\")).toBe(\"true\");\n\n await select.press(\"ArrowDown\");\n await page.waitForChanges();\n\n await select.press(\"Enter\");\n await page.waitForChanges();\n\n expect((await page.find(\"z-select input\")).getAttribute(\"aria-expanded\")).toBe(\"false\");\n expect(await select.callMethod(\"getValue\")).toBe(\"item_1\");\n });\n});\n"]}
@@ -0,0 +1,12 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ it("Clicks on toggle button and checks event", async () => {
3
+ const page = await newE2EPage({
4
+ html: '<z-toggle-button label="Toggle" isdisabled="false" opened="false"></z-toggle-button>',
5
+ });
6
+ const toggle = await page.find("z-toggle-button >>> button");
7
+ const clickEvent = await page.spyOnEvent("toggleClick");
8
+ await toggle.click();
9
+ await page.waitForChanges();
10
+ expect(clickEvent).toHaveReceivedEvent();
11
+ });
12
+ //# sourceMappingURL=test.e2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.e2e.js","sourceRoot":"","sources":["../../../../src/components/z-toggle-button/test.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEjD,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;IACxD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC;QAC5B,IAAI,EAAE,sFAAsF;KAC7F,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,UAAU,CAAC,CAAC,mBAAmB,EAAE,CAAC;AAC3C,CAAC,CAAC,CAAC","sourcesContent":["import {newE2EPage} from \"@stencil/core/testing\";\n\nit(\"Clicks on toggle button and checks event\", async () => {\n const page = await newE2EPage({\n html: '<z-toggle-button label=\"Toggle\" isdisabled=\"false\" opened=\"false\"></z-toggle-button>',\n });\n const toggle = await page.find(\"z-toggle-button >>> button\");\n const clickEvent = await page.spyOnEvent(\"toggleClick\");\n await toggle.click();\n await page.waitForChanges();\n\n expect(clickEvent).toHaveReceivedEvent();\n});\n"]}
@@ -0,0 +1,22 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ it("Clicks on toggle switch and checks event detail", async () => {
3
+ const page = await newE2EPage({
4
+ html: '<z-toggle-switch htmlid="abcdefg" label-position="left" disabled="false">Toggle</z-toggle-switch>',
5
+ });
6
+ const toggle = await page.find("z-toggle-switch");
7
+ const clickEvent = await page.spyOnEvent("toggleClick");
8
+ await toggle.click();
9
+ await page.waitForChanges();
10
+ expect(clickEvent).toHaveReceivedEventDetail({ checked: true, id: "abcdefg" });
11
+ });
12
+ it("Clicks on toggle switch when disabled", async () => {
13
+ const page = await newE2EPage({
14
+ html: '<z-toggle-switch htmlid="abcdefg" label-position="left" disabled="true">Toggle</z-toggle-switch>',
15
+ });
16
+ const toggle = await page.find("z-toggle-switch");
17
+ const clickEvent = await page.spyOnEvent("toggleClick");
18
+ await toggle.click();
19
+ await page.waitForChanges();
20
+ expect(clickEvent).not.toHaveReceivedEvent();
21
+ });
22
+ //# sourceMappingURL=test.e2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.e2e.js","sourceRoot":"","sources":["../../../../src/components/z-toggle-switch/test.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEjD,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;IAC/D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC;QAC5B,IAAI,EAAE,mGAAmG;KAC1G,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,yBAAyB,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;IACrD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC;QAC5B,IAAI,EAAE,kGAAkG;KACzG,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;AAC/C,CAAC,CAAC,CAAC","sourcesContent":["import {newE2EPage} from \"@stencil/core/testing\";\n\nit(\"Clicks on toggle switch and checks event detail\", async () => {\n const page = await newE2EPage({\n html: '<z-toggle-switch htmlid=\"abcdefg\" label-position=\"left\" disabled=\"false\">Toggle</z-toggle-switch>',\n });\n const toggle = await page.find(\"z-toggle-switch\");\n const clickEvent = await page.spyOnEvent(\"toggleClick\");\n await toggle.click();\n\n await page.waitForChanges();\n expect(clickEvent).toHaveReceivedEventDetail({checked: true, id: \"abcdefg\"});\n});\n\nit(\"Clicks on toggle switch when disabled\", async () => {\n const page = await newE2EPage({\n html: '<z-toggle-switch htmlid=\"abcdefg\" label-position=\"left\" disabled=\"true\">Toggle</z-toggle-switch>',\n });\n const toggle = await page.find(\"z-toggle-switch\");\n const clickEvent = await page.spyOnEvent(\"toggleClick\");\n await toggle.click();\n\n await page.waitForChanges();\n expect(clickEvent).not.toHaveReceivedEvent();\n});\n"]}