@siemens/ix 1.2.0-beta.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/dist/cjs/{index-40761405.js → index-17eb8998.js} +63 -0
  2. package/dist/cjs/index.cjs.js +3 -3
  3. package/dist/cjs/ix-animated-tab_2.cjs.entry.js +1 -1
  4. package/dist/cjs/ix-application-header.cjs.entry.js +1 -1
  5. package/dist/cjs/ix-basic-navigation.cjs.entry.js +1 -1
  6. package/dist/cjs/ix-blind.cjs.entry.js +1 -1
  7. package/dist/cjs/ix-breadcrumb_2.cjs.entry.js +1 -1
  8. package/dist/cjs/ix-button.cjs.entry.js +1 -1
  9. package/dist/cjs/ix-category-filter.cjs.entry.js +1 -1
  10. package/dist/cjs/ix-chip.cjs.entry.js +1 -1
  11. package/dist/cjs/ix-counter-pill.cjs.entry.js +1 -1
  12. package/dist/cjs/ix-date-picker_2.cjs.entry.js +1 -1
  13. package/dist/cjs/ix-date-time-card.cjs.entry.js +1 -1
  14. package/dist/cjs/ix-datetime-picker.cjs.entry.js +1 -1
  15. package/dist/cjs/ix-drawer.cjs.entry.js +1 -1
  16. package/dist/cjs/ix-dropdown_2.cjs.entry.js +1 -1
  17. package/dist/cjs/ix-event-list_2.cjs.entry.js +1 -1
  18. package/dist/cjs/ix-expanding-search.cjs.entry.js +1 -1
  19. package/dist/cjs/ix-filter-chip.cjs.entry.js +1 -1
  20. package/dist/cjs/ix-flip-tile_2.cjs.entry.js +1 -1
  21. package/dist/cjs/ix-group-context-menu.cjs.entry.js +37 -0
  22. package/dist/cjs/ix-group_3.cjs.entry.js +4 -4
  23. package/dist/cjs/ix-icon-button.cjs.entry.js +5 -2
  24. package/dist/cjs/ix-icon.cjs.entry.js +1 -1
  25. package/dist/cjs/ix-input-group.cjs.entry.js +1 -1
  26. package/dist/cjs/ix-kpi.cjs.entry.js +1 -1
  27. package/dist/cjs/ix-map-navigation_2.cjs.entry.js +1 -1
  28. package/dist/cjs/ix-menu_9.cjs.entry.js +1 -1
  29. package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
  30. package/dist/cjs/ix-modal-example.cjs.entry.js +2 -2
  31. package/dist/cjs/ix-modal_2.cjs.entry.js +2 -2
  32. package/dist/cjs/ix-pill.cjs.entry.js +1 -1
  33. package/dist/cjs/ix-select_2.cjs.entry.js +21 -13
  34. package/dist/cjs/ix-spinner.cjs.entry.js +1 -1
  35. package/dist/cjs/ix-split-button_2.cjs.entry.js +1 -1
  36. package/dist/cjs/ix-tab-item.cjs.entry.js +1 -1
  37. package/dist/cjs/ix-tabs.cjs.entry.js +1 -1
  38. package/dist/cjs/ix-tile.cjs.entry.js +1 -1
  39. package/dist/cjs/ix-toast_2.cjs.entry.js +1 -1
  40. package/dist/cjs/ix-toggle.cjs.entry.js +1 -1
  41. package/dist/cjs/ix-tree_2.cjs.entry.js +1 -1
  42. package/dist/cjs/ix-upload.cjs.entry.js +1 -1
  43. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +1 -1
  44. package/dist/cjs/ix-workflow-step_2.cjs.entry.js +1 -1
  45. package/dist/cjs/loader.cjs.js +2 -2
  46. package/dist/cjs/{modal-2112fb71.js → modal-e4a6983d.js} +2 -1
  47. package/dist/cjs/{modal-utils-5d7bb217.js → modal-utils-9ee0acda.js} +1 -1
  48. package/dist/cjs/my-component.cjs.entry.js +1 -1
  49. package/dist/cjs/siemens-ix.cjs.js +2 -2
  50. package/dist/collection/collection-manifest.json +1 -0
  51. package/dist/collection/components/chip/chip.js +1 -1
  52. package/dist/collection/components/group/group-context-menu.css +24 -0
  53. package/dist/collection/components/group/group-context-menu.js +51 -0
  54. package/dist/collection/components/group/group.css +1 -11
  55. package/dist/collection/components/group/group.js +1 -1
  56. package/dist/collection/components/group-item/group-item.css +1 -1
  57. package/dist/collection/components/icon-button/icon-button.css +42 -0
  58. package/dist/collection/components/icon-button/icon-button.js +11 -1
  59. package/dist/collection/components/modal/modal-utils.js +1 -1
  60. package/dist/collection/components/modal/modal.js +8 -2
  61. package/dist/collection/components/modal-container/modal-container.js +5 -4
  62. package/dist/collection/components/select/select.css +7 -14
  63. package/dist/collection/components/select/select.js +19 -11
  64. package/dist/components/group-context-menu.js +61 -0
  65. package/dist/components/group-item.js +1 -1
  66. package/dist/components/icon-button.js +4 -1
  67. package/dist/components/index.d.ts +1 -0
  68. package/dist/components/index.js +1 -0
  69. package/dist/components/ix-group-context-menu.d.ts +11 -0
  70. package/dist/components/ix-group-context-menu.js +6 -0
  71. package/dist/components/ix-group.js +5 -5
  72. package/dist/components/ix-modal-example.js +1 -1
  73. package/dist/components/ix-select.js +20 -12
  74. package/dist/components/modal-container.js +1 -0
  75. package/dist/esm/{index-b22287de.js → index-6f4f3582.js} +63 -0
  76. package/dist/esm/index.js +3 -3
  77. package/dist/esm/ix-animated-tab_2.entry.js +1 -1
  78. package/dist/esm/ix-application-header.entry.js +1 -1
  79. package/dist/esm/ix-basic-navigation.entry.js +1 -1
  80. package/dist/esm/ix-blind.entry.js +1 -1
  81. package/dist/esm/ix-breadcrumb_2.entry.js +1 -1
  82. package/dist/esm/ix-button.entry.js +1 -1
  83. package/dist/esm/ix-category-filter.entry.js +1 -1
  84. package/dist/esm/ix-chip.entry.js +1 -1
  85. package/dist/esm/ix-counter-pill.entry.js +1 -1
  86. package/dist/esm/ix-date-picker_2.entry.js +1 -1
  87. package/dist/esm/ix-date-time-card.entry.js +1 -1
  88. package/dist/esm/ix-datetime-picker.entry.js +1 -1
  89. package/dist/esm/ix-drawer.entry.js +1 -1
  90. package/dist/esm/ix-dropdown_2.entry.js +1 -1
  91. package/dist/esm/ix-event-list_2.entry.js +1 -1
  92. package/dist/esm/ix-expanding-search.entry.js +1 -1
  93. package/dist/esm/ix-filter-chip.entry.js +1 -1
  94. package/dist/esm/ix-flip-tile_2.entry.js +1 -1
  95. package/dist/esm/ix-group-context-menu.entry.js +33 -0
  96. package/dist/esm/ix-group_3.entry.js +4 -4
  97. package/dist/esm/ix-icon-button.entry.js +5 -2
  98. package/dist/esm/ix-icon.entry.js +1 -1
  99. package/dist/esm/ix-input-group.entry.js +1 -1
  100. package/dist/esm/ix-kpi.entry.js +1 -1
  101. package/dist/esm/ix-map-navigation_2.entry.js +1 -1
  102. package/dist/esm/ix-menu_9.entry.js +1 -1
  103. package/dist/esm/ix-message-bar.entry.js +1 -1
  104. package/dist/esm/ix-modal-example.entry.js +2 -2
  105. package/dist/esm/ix-modal_2.entry.js +2 -2
  106. package/dist/esm/ix-pill.entry.js +1 -1
  107. package/dist/esm/ix-select_2.entry.js +21 -13
  108. package/dist/esm/ix-spinner.entry.js +1 -1
  109. package/dist/esm/ix-split-button_2.entry.js +1 -1
  110. package/dist/esm/ix-tab-item.entry.js +1 -1
  111. package/dist/esm/ix-tabs.entry.js +1 -1
  112. package/dist/esm/ix-tile.entry.js +1 -1
  113. package/dist/esm/ix-toast_2.entry.js +1 -1
  114. package/dist/esm/ix-toggle.entry.js +1 -1
  115. package/dist/esm/ix-tree_2.entry.js +1 -1
  116. package/dist/esm/ix-upload.entry.js +1 -1
  117. package/dist/esm/ix-validation-tooltip.entry.js +1 -1
  118. package/dist/esm/ix-workflow-step_2.entry.js +1 -1
  119. package/dist/esm/loader.js +2 -2
  120. package/dist/esm/{modal-309a156f.js → modal-e7343756.js} +2 -1
  121. package/dist/esm/{modal-utils-ec39c1bc.js → modal-utils-df50b35a.js} +1 -1
  122. package/dist/esm/my-component.entry.js +1 -1
  123. package/dist/esm/siemens-ix.js +2 -2
  124. package/dist/siemens-ix/index.esm.js +1 -1
  125. package/dist/siemens-ix/p-05c16b94.js +2 -0
  126. package/dist/siemens-ix/{p-6d075808.entry.js → p-0a8cfa42.entry.js} +1 -1
  127. package/dist/siemens-ix/{p-4f2fbbb5.entry.js → p-150d7a02.entry.js} +1 -1
  128. package/dist/siemens-ix/p-16e95211.entry.js +1 -0
  129. package/dist/siemens-ix/{p-b49fbfc3.entry.js → p-1cf3348f.entry.js} +1 -1
  130. package/dist/siemens-ix/p-1fe97752.entry.js +1 -0
  131. package/dist/siemens-ix/{p-0e3aab52.entry.js → p-23d5469a.entry.js} +1 -1
  132. package/dist/siemens-ix/p-23d79e3d.entry.js +1 -0
  133. package/dist/siemens-ix/{p-c1674778.entry.js → p-2e24ae23.entry.js} +1 -1
  134. package/dist/siemens-ix/{p-e0c85889.entry.js → p-33283dbf.entry.js} +1 -1
  135. package/dist/siemens-ix/{p-477681a5.entry.js → p-3663f989.entry.js} +1 -1
  136. package/dist/siemens-ix/{p-d1a17dd8.entry.js → p-418e2d14.entry.js} +1 -1
  137. package/dist/siemens-ix/{p-e5da6672.entry.js → p-47d55e3d.entry.js} +1 -1
  138. package/dist/siemens-ix/{p-56bba5f9.entry.js → p-4b170382.entry.js} +1 -1
  139. package/dist/siemens-ix/{p-eff31ef4.entry.js → p-537f0678.entry.js} +1 -1
  140. package/dist/siemens-ix/{p-d62d2304.entry.js → p-5661957c.entry.js} +1 -1
  141. package/dist/siemens-ix/{p-1cd8f35f.entry.js → p-592f1ed3.entry.js} +1 -1
  142. package/dist/siemens-ix/{p-afefc17c.entry.js → p-5e222be2.entry.js} +1 -1
  143. package/dist/siemens-ix/{p-aa620cc7.entry.js → p-65e61684.entry.js} +1 -1
  144. package/dist/siemens-ix/{p-b7a46add.entry.js → p-72f851ae.entry.js} +1 -1
  145. package/dist/siemens-ix/{p-d5199425.entry.js → p-7adc0686.entry.js} +1 -1
  146. package/dist/siemens-ix/{p-0cdac3da.entry.js → p-8a7141a6.entry.js} +1 -1
  147. package/dist/siemens-ix/{p-18652f43.entry.js → p-8b4e4718.entry.js} +1 -1
  148. package/dist/siemens-ix/p-94604cdf.js +1 -0
  149. package/dist/siemens-ix/{p-41e42413.entry.js → p-9566c834.entry.js} +1 -1
  150. package/dist/siemens-ix/p-96e46f99.js +1 -0
  151. package/dist/siemens-ix/{p-b8849072.entry.js → p-9b5290d4.entry.js} +1 -1
  152. package/dist/siemens-ix/{p-5b4399b3.entry.js → p-9e90827e.entry.js} +1 -1
  153. package/dist/siemens-ix/{p-8ee057c1.entry.js → p-a12f6079.entry.js} +1 -1
  154. package/dist/siemens-ix/p-a5fa7ae5.entry.js +1 -0
  155. package/dist/siemens-ix/{p-6e8a38c4.entry.js → p-a88618e3.entry.js} +1 -1
  156. package/dist/siemens-ix/{p-abd3b0f8.entry.js → p-b242bd39.entry.js} +1 -1
  157. package/dist/siemens-ix/{p-b18d15c7.entry.js → p-be641020.entry.js} +1 -1
  158. package/dist/siemens-ix/p-c0fecc2b.entry.js +1 -0
  159. package/dist/siemens-ix/{p-38a598ed.entry.js → p-c3e90c06.entry.js} +1 -1
  160. package/dist/siemens-ix/{p-25fda9f7.entry.js → p-c993560f.entry.js} +1 -1
  161. package/dist/siemens-ix/{p-44ab1dce.entry.js → p-cc0f6f6b.entry.js} +1 -1
  162. package/dist/siemens-ix/{p-b50dc630.entry.js → p-d0bb8225.entry.js} +1 -1
  163. package/dist/siemens-ix/{p-7fb73253.entry.js → p-d8688602.entry.js} +1 -1
  164. package/dist/siemens-ix/{p-87c46ff3.entry.js → p-e2925222.entry.js} +1 -1
  165. package/dist/siemens-ix/{p-8e60010d.entry.js → p-e7621b0a.entry.js} +1 -1
  166. package/dist/siemens-ix/{p-746ebc92.entry.js → p-ea333007.entry.js} +1 -1
  167. package/dist/siemens-ix/{p-1d1eeeea.entry.js → p-eb150313.entry.js} +1 -1
  168. package/dist/siemens-ix/{p-dc8f82d5.entry.js → p-eed28e55.entry.js} +1 -1
  169. package/dist/siemens-ix/{p-72b5c8d5.entry.js → p-f7be9635.entry.js} +1 -1
  170. package/dist/siemens-ix/{p-f34f7e30.entry.js → p-fecf0ade.entry.js} +1 -1
  171. package/dist/siemens-ix/siemens-ix.css +37 -62
  172. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  173. package/dist/types/components/chip/chip.d.ts +1 -1
  174. package/dist/types/components/group/group-context-menu.d.ts +11 -0
  175. package/dist/types/components/modal/modal-utils.d.ts +10 -7
  176. package/dist/types/components/modal/modal.d.ts +2 -2
  177. package/dist/types/components/modal-container/modal-container.d.ts +2 -6
  178. package/dist/types/components.d.ts +20 -7
  179. package/package.json +1 -1
  180. package/scss/components/_buttons.scss +1 -12
  181. package/scss/components/_checkboxes.scss +14 -18
  182. package/scss/components/_modal.scss +1 -1
  183. package/scss/components/_radiobuttons.scss +12 -43
  184. package/scss/theme/classic-dark/_variables.scss +3 -3
  185. package/scss/theme/classic-light/_variables.scss +1 -2
  186. package/src/components/chip/readme.md +9 -9
  187. package/src/components/group/readme.md +0 -22
  188. package/src/components/modal/readme.md +2 -2
  189. package/src/components/modal-container/readme.md +2 -2
  190. package/dist/siemens-ix/p-161561ef.entry.js +0 -1
  191. package/dist/siemens-ix/p-2f07c86a.js +0 -1
  192. package/dist/siemens-ix/p-5c038d1d.js +0 -2
  193. package/dist/siemens-ix/p-74e15a57.entry.js +0 -1
  194. package/dist/siemens-ix/p-a8b6454f.entry.js +0 -1
  195. package/dist/siemens-ix/p-c0a126c6.entry.js +0 -1
  196. package/dist/siemens-ix/p-d23706a7.js +0 -1
@@ -0,0 +1,51 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: 2022 Siemens AG
3
+ *
4
+ * SPDX-License-Identifier: MIT
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ import { h, Host } from '@stencil/core';
10
+ export class GroupContextMenu {
11
+ constructor() {
12
+ this.showContextMenu = false;
13
+ }
14
+ get dropdownElement() {
15
+ return this.host.querySelector('ix-dropdown');
16
+ }
17
+ get groupDropdownItem() {
18
+ return this.host.querySelectorAll('ix-group-dropdown-item');
19
+ }
20
+ configureDropdown(triggerElement) {
21
+ this.dropdownElement.positioningStrategy = 'fixed';
22
+ this.dropdownElement.trigger = triggerElement;
23
+ }
24
+ componentWillRender() {
25
+ this.showContextMenu = !!this.dropdownElement;
26
+ }
27
+ disconnectedCallback() {
28
+ this.observer.disconnect();
29
+ }
30
+ render() {
31
+ return (h(Host, null, h("ix-icon-button", { class: { hide: !this.showContextMenu }, ref: (ref) => this.dropdownElement ? this.configureDropdown(ref) : null, size: "24", ghost: true, icon: "context-menu" }), h("slot", null)));
32
+ }
33
+ static get is() { return "ix-group-context-menu"; }
34
+ static get encapsulation() { return "scoped"; }
35
+ static get originalStyleUrls() {
36
+ return {
37
+ "$": ["./group-context-menu.scss"]
38
+ };
39
+ }
40
+ static get styleUrls() {
41
+ return {
42
+ "$": ["group-context-menu.css"]
43
+ };
44
+ }
45
+ static get states() {
46
+ return {
47
+ "showContextMenu": {}
48
+ };
49
+ }
50
+ static get elementRef() { return "host"; }
51
+ }
@@ -52,16 +52,6 @@
52
52
  max-width: 19.75rem;
53
53
  border-color: var(--theme-group-item--border-color);
54
54
  }
55
- :host .group-header-context-button {
56
- display: block;
57
- position: relative;
58
- margin-top: 5px;
59
- margin-right: 5px;
60
- margin-left: auto;
61
- }
62
- :host .group-header-context-button ix-icon-button::after {
63
- display: none;
64
- }
65
55
  :host .group-header {
66
56
  height: 4rem;
67
57
  min-height: 4rem;
@@ -162,7 +152,7 @@
162
152
  background-color: var(--theme-group-item--background--selected);
163
153
  }
164
154
  :host .group-header.selected .group-header-selection-indicator {
165
- background-color: var(--theme-color-input-focus);
155
+ background-color: var(--theme-color-input--focus);
166
156
  }
167
157
  :host .footer {
168
158
  height: auto;
@@ -100,7 +100,7 @@ export class Group {
100
100
  'group-header': true,
101
101
  expand: !this.collapsed,
102
102
  selected: this.selected,
103
- }, tabindex: "0" }, h("div", { class: "group-header-clickable", onClick: (e) => this.onHeaderClick(e) }, h("div", { class: "group-header-selection-indicator" }), h("ix-icon", { class: "btn-expand-header", name: `chevron-${this.collapsed ? 'right' : 'down'}-small`, onClick: (e) => this.onExpandClick(e) }), h("div", { class: "group-header-content" }, this.header ? (h("div", { class: "group-header-props-container" }, h("div", { class: "group-header-title" }, h("span", { title: this.header }, this.header)), h("div", { class: "group-subheader", title: this.subHeader }, this.subHeader))) : null, h("slot", { name: "header" }))), h("div", { class: { 'group-header-context-button': true, 'd-none': false } }, h("ix-icon-button", { ref: (ref) => (this.dropdownTriggerRef = ref), size: "24", ghost: true, icon: "context-menu" }), h("ix-dropdown", { trigger: this.dropdownTriggerRef }, h("slot", { name: "dropdown" })))), h("div", { class: {
103
+ }, tabindex: "0" }, h("div", { class: "group-header-clickable", onClick: (e) => this.onHeaderClick(e) }, h("div", { class: "group-header-selection-indicator" }), h("ix-icon", { class: "btn-expand-header", name: `chevron-${this.collapsed ? 'right' : 'down'}-small`, onClick: (e) => this.onExpandClick(e) }), h("div", { class: "group-header-content" }, this.header ? (h("div", { class: "group-header-props-container" }, h("div", { class: "group-header-title" }, h("span", { title: this.header }, this.header)), h("div", { class: "group-subheader", title: this.subHeader }, this.subHeader))) : null, h("slot", { name: "header" }))), h("ix-group-context-menu", null, h("slot", { name: "dropdown" }))), h("div", { class: {
104
104
  'group-content': true,
105
105
  'd-none': this.collapsed,
106
106
  } }, h("slot", null)), h("div", { class: "d-none" }, h("ix-group-item", { class: "footer last", suppressSelection: true, focusable: false }, h("slot", { name: "footer" })))));
@@ -109,7 +109,7 @@
109
109
  background-color: var(--theme-group-item--background--selected);
110
110
  }
111
111
  :host.selected .group-entry-selection-indicator {
112
- background-color: var(--theme-color-input-focus);
112
+ background-color: var(--theme-color-input--focus);
113
113
  }
114
114
  :host:not(.disabled):not(:disabled):focus-visible {
115
115
  border-color: var(--focus--border-color) !important;
@@ -0,0 +1,42 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: 2022 Siemens AG
3
+ *
4
+ * SPDX-License-Identifier: MIT
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ /*
10
+ * SPDX-FileCopyrightText: 2022 Siemens AG
11
+ *
12
+ * SPDX-License-Identifier: MIT
13
+ *
14
+ * This source code is licensed under the MIT license found in the
15
+ * LICENSE file in the root directory of this source tree.
16
+ */
17
+ /* Dimensions */
18
+ /* Font sizes */
19
+ /* Line heights */
20
+ /* Animation timings */
21
+ :host .icon-button {
22
+ padding: 0;
23
+ overflow: hidden;
24
+ }
25
+ :host .btn-icon-12 {
26
+ height: 1rem;
27
+ width: 1rem;
28
+ min-width: 1rem;
29
+ min-height: 1rem;
30
+ }
31
+ :host .btn-icon-16 {
32
+ height: 1.5rem;
33
+ width: 1.5rem;
34
+ min-width: 1.5rem;
35
+ min-height: 1.5rem;
36
+ }
37
+ :host .btn-icon-32 {
38
+ height: 2rem;
39
+ width: 2rem;
40
+ min-width: 2rem;
41
+ min-height: 2rem;
42
+ }
@@ -23,13 +23,23 @@ export class IconButton {
23
23
  this.type = 'button';
24
24
  }
25
25
  getIconButtonClasses() {
26
- return Object.assign({ 'btn-icon-xs': this.size === '12', 'btn-icon-s': this.size === '16' }, getButtonClasses(this.variant, this.outline, this.ghost || this.invisible, true, this.oval, this.selected, this.disabled));
26
+ return Object.assign(Object.assign({}, getButtonClasses(this.variant, this.outline, this.ghost || this.invisible, true, this.oval, this.selected, this.disabled)), { 'icon-button': true, 'btn-icon-12': this.size === '12', 'btn-icon-16': this.size === '16', 'btn-icon-32': this.size === '32' || this.size === '24' || !this.size });
27
27
  }
28
28
  render() {
29
29
  return (h("button", { class: this.getIconButtonClasses(), type: this.type }, h("ix-icon", { size: this.size, name: this.icon, color: this.color }), h("div", { style: { display: 'none' } }, h("slot", null))));
30
30
  }
31
31
  static get is() { return "ix-icon-button"; }
32
32
  static get encapsulation() { return "scoped"; }
33
+ static get originalStyleUrls() {
34
+ return {
35
+ "$": ["icon-button.scss"]
36
+ };
37
+ }
38
+ static get styleUrls() {
39
+ return {
40
+ "$": ["icon-button.css"]
41
+ };
42
+ }
33
43
  static get properties() {
34
44
  return {
35
45
  "variant": {
@@ -10,7 +10,7 @@ function getModalContainer() {
10
10
  const containerList = Array.from(document.querySelectorAll('ix-modal-container'));
11
11
  const [container] = containerList;
12
12
  if (containerList.length > 1) {
13
- console.warn('Multiple modal container are found. Only there first is used.');
13
+ console.warn('Multiple modal containers were found. The one instatiated first will be used.');
14
14
  return container;
15
15
  }
16
16
  if (!container) {
@@ -472,7 +472,7 @@ export class Modal {
472
472
  return {
473
473
  "dismiss": {
474
474
  "complexType": {
475
- "signature": "(reason?: any) => Promise<void>",
475
+ "signature": "<T = any>(reason?: T) => Promise<void>",
476
476
  "parameters": [{
477
477
  "tags": [{
478
478
  "name": "param",
@@ -483,6 +483,9 @@ export class Modal {
483
483
  "references": {
484
484
  "Promise": {
485
485
  "location": "global"
486
+ },
487
+ "T": {
488
+ "location": "global"
486
489
  }
487
490
  },
488
491
  "return": "Promise<void>"
@@ -497,7 +500,7 @@ export class Modal {
497
500
  },
498
501
  "close": {
499
502
  "complexType": {
500
- "signature": "(result: any) => Promise<void>",
503
+ "signature": "<T = any>(result: T) => Promise<void>",
501
504
  "parameters": [{
502
505
  "tags": [{
503
506
  "name": "param",
@@ -508,6 +511,9 @@ export class Modal {
508
511
  "references": {
509
512
  "Promise": {
510
513
  "location": "global"
514
+ },
515
+ "T": {
516
+ "location": "global"
511
517
  }
512
518
  },
513
519
  "return": "Promise<void>"
@@ -51,6 +51,7 @@ export class ModalContainer {
51
51
  onDismiss.emit(event.detail);
52
52
  });
53
53
  return {
54
+ htmlElement: modal,
54
55
  onClose,
55
56
  onDismiss,
56
57
  };
@@ -74,7 +75,7 @@ export class ModalContainer {
74
75
  return {
75
76
  "showModal": {
76
77
  "complexType": {
77
- "signature": "(config: ModalConfig) => Promise<{ onClose: TypedEvent<any>; onDismiss: TypedEvent<any>; }>",
78
+ "signature": "(config: ModalConfig) => Promise<ModalInstance>",
78
79
  "parameters": [{
79
80
  "tags": [{
80
81
  "name": "param",
@@ -86,9 +87,9 @@ export class ModalContainer {
86
87
  "Promise": {
87
88
  "location": "global"
88
89
  },
89
- "TypedEvent": {
90
+ "ModalInstance": {
90
91
  "location": "import",
91
- "path": "../utils/typed-event"
92
+ "path": "../modal/modal-utils"
92
93
  },
93
94
  "ModalConfig": {
94
95
  "location": "import",
@@ -98,7 +99,7 @@ export class ModalContainer {
98
99
  "location": "global"
99
100
  }
100
101
  },
101
- "return": "Promise<{ onClose: TypedEvent<any>; onDismiss: TypedEvent<any>; }>"
102
+ "return": "Promise<ModalInstance<any>>"
102
103
  },
103
104
  "docs": {
104
105
  "text": "Display modal dialog",
@@ -81,24 +81,20 @@
81
81
  display: flex;
82
82
  position: relative;
83
83
  align-items: flex-start;
84
- height: calc(2rem - 2 * var(--theme-input--border-thickness));
85
84
  width: 100%;
86
85
  }
87
- :host .input-container.allow-clear {
88
- padding-right: 3.5rem;
89
- }
90
86
  :host .input-container .chips {
91
87
  position: relative;
92
88
  display: flex;
93
89
  align-items: center;
94
90
  flex-wrap: wrap;
95
91
  height: 100%;
96
- max-width: 70%;
97
- flex-shrink: 0;
98
- margin: auto;
92
+ max-height: 3.5rem;
93
+ flex-grow: 1;
94
+ overflow-y: auto;
99
95
  }
100
96
  :host .input-container .chips > ix-filter-chip {
101
- margin: 0.1rem;
97
+ margin: 0 0.1rem;
102
98
  }
103
99
  :host .input-container input {
104
100
  overflow: hidden;
@@ -114,8 +110,6 @@
114
110
  background: transparent;
115
111
  height: 1.75rem;
116
112
  width: 100%;
117
- -webkit-margin-end: 2rem;
118
- margin-inline-end: 2rem;
119
113
  }
120
114
  :host .input-container input, :host .input-container input:hover, :host .input-container input:focus-visible {
121
115
  border: none;
@@ -153,10 +147,6 @@
153
147
  :host .editable .chevron-down-container:not(.disabled):not(:disabled):active {
154
148
  background-color: var(--theme-btn-invisible-secondary--background--active);
155
149
  }
156
- :host .clear {
157
- position: absolute;
158
- right: 2rem;
159
- }
160
150
  :host .add-item {
161
151
  display: flex;
162
152
  justify-content: flex-start;
@@ -165,6 +155,9 @@
165
155
  width: 100%;
166
156
  }
167
157
  :host .select-list-header {
158
+ overflow: hidden;
159
+ text-overflow: ellipsis;
160
+ white-space: nowrap;
168
161
  display: flex;
169
162
  align-items: center;
170
163
  height: 2rem;
@@ -159,6 +159,9 @@ export class Select {
159
159
  }
160
160
  async onEnterNavigation() {
161
161
  var _a, _b;
162
+ if (this.isMultipleMode) {
163
+ return;
164
+ }
162
165
  if (this.editable && !this.itemExists(this.inputFilterText)) {
163
166
  this.emitAddItem(this.inputFilterText);
164
167
  this.navigationItem = this.items[this.items.length - 1];
@@ -216,6 +219,7 @@ export class Select {
216
219
  this.value = [];
217
220
  this.selectedIndices = [];
218
221
  this.itemSelectionChange.emit(null);
222
+ this.dropdownShow = false;
219
223
  }
220
224
  render() {
221
225
  var _a, _b, _c;
@@ -230,28 +234,32 @@ export class Select {
230
234
  this.dropdownAnchor = ref;
231
235
  if (!this.editable)
232
236
  this.dropdownWrapperRef = ref;
233
- } }, h("div", { class: "input-container" }, this.isMultipleMode ? (h("div", { class: "chips" }, (_a = this.selectedItems) === null || _a === void 0 ? void 0 : _a.map((item) => (h("ix-filter-chip", { disabled: this.disabled || this.readonly, onCloseClick: (e) => {
234
- e.preventDefault();
235
- e.stopPropagation();
236
- this.emitItemClick(item.value);
237
- } }, item.label))))) : null, h("div", { class: "trigger" }, h("input", { "data-testid": "input", disabled: this.disabled, readOnly: this.readonly, type: "text", class: {
237
+ } }, h("div", { class: "input-container" }, h("div", { class: "chips" }, this.isMultipleMode
238
+ ? (_a = this.selectedItems) === null || _a === void 0 ? void 0 : _a.map((item) => (h("ix-filter-chip", { disabled: this.disabled || this.readonly, onCloseClick: (e) => {
239
+ e.preventDefault();
240
+ e.stopPropagation();
241
+ this.emitItemClick(item.value);
242
+ } }, item.label)))
243
+ : '', h("div", { class: "trigger" }, h("input", { "data-testid": "input", disabled: this.disabled, readOnly: this.readonly, type: "text", class: {
238
244
  'allow-clear': this.allowClear && !!((_b = this.value) === null || _b === void 0 ? void 0 : _b.length),
239
245
  }, placeholder: this.editable
240
246
  ? this.i18nPlaceholderEditable
241
- : this.i18nPlaceholder, value: this.inputValue, ref: (ref) => (this.inputRef = ref), onInput: () => this.filterItemsWithTypeahead() }), this.disabled || this.readonly ? null : (h("div", { class: "chevron-down-container", ref: (ref) => {
242
- if (this.editable)
243
- this.dropdownWrapperRef = ref;
244
- } }, h("ix-icon", { class: "chevron", name: "chevron-down-small" }))))), this.allowClear && (((_c = this.value) === null || _c === void 0 ? void 0 : _c.length) || this.inputFilterText) ? (h("ix-icon-button", { class: "clear", icon: "clear", ghost: true, oval: true, size: "24", onClick: (e) => {
247
+ : this.i18nPlaceholder, value: this.inputValue, ref: (ref) => (this.inputRef = ref), onInput: () => this.filterItemsWithTypeahead() }), this.isMultipleMode &&
248
+ this.allowClear &&
249
+ (((_c = this.value) === null || _c === void 0 ? void 0 : _c.length) || this.inputFilterText) ? (h("ix-icon-button", { class: "clear", icon: "clear", ghost: true, oval: true, size: "24", onClick: (e) => {
245
250
  e.preventDefault();
246
251
  e.stopPropagation();
247
252
  this.clear();
248
- } })) : null), h("ix-dropdown", { ref: (ref) => (this.dropdownRef = ref), show: this.dropdownShow, style: {
253
+ } })) : null, this.disabled || this.readonly ? null : (h("div", { class: "chevron-down-container", ref: (ref) => {
254
+ if (this.editable)
255
+ this.dropdownWrapperRef = ref;
256
+ } }, h("ix-icon", { class: "chevron", name: "chevron-down-small" }))))))), h("ix-dropdown", { ref: (ref) => (this.dropdownRef = ref), show: this.dropdownShow, style: {
249
257
  width: '100%',
250
258
  }, class: {
251
259
  'd-none': this.disabled ||
252
260
  this.readonly ||
253
261
  (this.isDropdownEmpty && !this.editable),
254
- }, anchor: this.dropdownAnchor, trigger: this.dropdownWrapperRef, onShowChanged: (e) => this.dropdownVisibilityChanged(e), placement: "bottom", positioningStrategy: 'fixed', adjustDropdownWidthToReferenceWidth: true }, h("div", { class: "select-list-header" }, this.i18nSelectListHeader), h("slot", null), h("div", { ref: (ref) => (this.addItemRef = ref), class: "d-contents" }), this.itemExists(this.inputFilterText) ? ('') : (h("ix-dropdown-item", { "data-testid": "add-item", icon: "plus", class: {
262
+ }, anchor: this.dropdownAnchor, trigger: this.dropdownWrapperRef, onShowChanged: (e) => this.dropdownVisibilityChanged(e), placement: "bottom", positioningStrategy: 'fixed', adjustDropdownWidthToReferenceWidth: true }, h("div", { class: "select-list-header", title: this.i18nSelectListHeader }, this.i18nSelectListHeader), h("slot", null), h("div", { ref: (ref) => (this.addItemRef = ref), class: "d-contents" }), this.itemExists(this.inputFilterText) ? ('') : (h("ix-dropdown-item", { "data-testid": "add-item", icon: "plus", class: {
255
263
  'add-item': true,
256
264
  'd-none': !(this.editable && this.inputFilterText),
257
265
  }, label: this.inputFilterText, onItemClick: (e) => {
@@ -0,0 +1,61 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+ import { d as defineCustomElement$2 } from './icon.js';
3
+ import { d as defineCustomElement$1 } from './icon-button.js';
4
+
5
+ const groupContextMenuCss = ".sc-ix-group-context-menu-h{display:block;position:relative;-webkit-margin-before:0.3125rem;margin-block-start:0.3125rem;-webkit-margin-end:0.3125rem;margin-inline-end:0.3125rem;-webkit-margin-start:auto;margin-inline-start:auto}.sc-ix-group-context-menu-h ix-icon-button.sc-ix-group-context-menu::after{display:none}.sc-ix-group-context-menu-h .hide.sc-ix-group-context-menu{visibility:collapse}";
6
+
7
+ const GroupContextMenu = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
8
+ constructor() {
9
+ super();
10
+ this.__registerHost();
11
+ this.showContextMenu = false;
12
+ }
13
+ get dropdownElement() {
14
+ return this.host.querySelector('ix-dropdown');
15
+ }
16
+ get groupDropdownItem() {
17
+ return this.host.querySelectorAll('ix-group-dropdown-item');
18
+ }
19
+ configureDropdown(triggerElement) {
20
+ this.dropdownElement.positioningStrategy = 'fixed';
21
+ this.dropdownElement.trigger = triggerElement;
22
+ }
23
+ componentWillRender() {
24
+ this.showContextMenu = !!this.dropdownElement;
25
+ }
26
+ disconnectedCallback() {
27
+ this.observer.disconnect();
28
+ }
29
+ render() {
30
+ return (h(Host, null, h("ix-icon-button", { class: { hide: !this.showContextMenu }, ref: (ref) => this.dropdownElement ? this.configureDropdown(ref) : null, size: "24", ghost: true, icon: "context-menu" }), h("slot", null)));
31
+ }
32
+ get host() { return this; }
33
+ static get style() { return groupContextMenuCss; }
34
+ }, [6, "ix-group-context-menu", {
35
+ "showContextMenu": [32]
36
+ }]);
37
+ function defineCustomElement() {
38
+ if (typeof customElements === "undefined") {
39
+ return;
40
+ }
41
+ const components = ["ix-group-context-menu", "ix-icon", "ix-icon-button"];
42
+ components.forEach(tagName => { switch (tagName) {
43
+ case "ix-group-context-menu":
44
+ if (!customElements.get(tagName)) {
45
+ customElements.define(tagName, GroupContextMenu);
46
+ }
47
+ break;
48
+ case "ix-icon":
49
+ if (!customElements.get(tagName)) {
50
+ defineCustomElement$2();
51
+ }
52
+ break;
53
+ case "ix-icon-button":
54
+ if (!customElements.get(tagName)) {
55
+ defineCustomElement$1();
56
+ }
57
+ break;
58
+ } });
59
+ }
60
+
61
+ export { GroupContextMenu as G, defineCustomElement as d };
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { d as defineCustomElement$1 } from './icon.js';
3
3
 
4
- const groupItemCss = ".sc-ix-group-item-h{display:flex;min-height:2.25rem;height:2.25rem;align-items:center;justify-content:space-between;padding:0.5rem 1.5rem 0.5rem 2.5rem;position:relative;margin-top:0.0625rem;border:1px solid var(--theme-group-item--border-color);outline:none;background-color:var(--theme-group-item--background)}.last.sc-ix-group-item-h{border-bottom-left-radius:0.25rem;border-bottom-right-radius:0.25rem}.sc-ix-group-item-h ix-icon.sc-ix-group-item{margin-right:0.25rem;margin-top:-0.125rem}.sc-ix-group-item-h .group-entry-selection-indicator.sc-ix-group-item{position:absolute;left:0;height:100%;width:0.25rem}.sc-ix-group-item-h .group-entry-text.sc-ix-group-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1}.sc-ix-group-item-h .group-entry-text-secondary.sc-ix-group-item{display:flex;justify-content:flex-end;flex-grow:1;white-space:nowrap;color:var(--theme-color-soft-text);font-size:0.875rem}.sc-ix-group-item-h .group-entry-text-secondary.sc-ix-group-item,.sc-ix-group-item-h .group-entry-text-secondary.sc-ix-group-item span.sc-ix-group-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-ix-group-item-h:not(.suppress-selection):not(.disabled):not(:disabled){cursor:pointer}.sc-ix-group-item-h:not(.suppress-selection):not(.disabled):not(:disabled):hover{background-color:var(--theme-group-item--background--hover);border-color:var(--theme-group-item--border-color--hover)}.sc-ix-group-item-h:not(.suppress-selection):not(.disabled):not(:disabled){cursor:pointer}.sc-ix-group-item-h:not(.suppress-selection):not(.disabled):not(:disabled):active{background-color:var(--theme-group-item--background--active);border-color:var(--theme-group-item--border-color--active)}.selected.sc-ix-group-item-h{border-top-width:0.062rem !important;border-color:var(--theme-group-item--border-color--selected);background-color:var(--theme-group-item--background--selected)}.selected.sc-ix-group-item-h .group-entry-selection-indicator.sc-ix-group-item{background-color:var(--theme-color-input-focus)}.sc-ix-group-item-h:not(.disabled):not(:disabled):focus-visible{border-color:var(--focus--border-color) !important}";
4
+ const groupItemCss = ".sc-ix-group-item-h{display:flex;min-height:2.25rem;height:2.25rem;align-items:center;justify-content:space-between;padding:0.5rem 1.5rem 0.5rem 2.5rem;position:relative;margin-top:0.0625rem;border:1px solid var(--theme-group-item--border-color);outline:none;background-color:var(--theme-group-item--background)}.last.sc-ix-group-item-h{border-bottom-left-radius:0.25rem;border-bottom-right-radius:0.25rem}.sc-ix-group-item-h ix-icon.sc-ix-group-item{margin-right:0.25rem;margin-top:-0.125rem}.sc-ix-group-item-h .group-entry-selection-indicator.sc-ix-group-item{position:absolute;left:0;height:100%;width:0.25rem}.sc-ix-group-item-h .group-entry-text.sc-ix-group-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1}.sc-ix-group-item-h .group-entry-text-secondary.sc-ix-group-item{display:flex;justify-content:flex-end;flex-grow:1;white-space:nowrap;color:var(--theme-color-soft-text);font-size:0.875rem}.sc-ix-group-item-h .group-entry-text-secondary.sc-ix-group-item,.sc-ix-group-item-h .group-entry-text-secondary.sc-ix-group-item span.sc-ix-group-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-ix-group-item-h:not(.suppress-selection):not(.disabled):not(:disabled){cursor:pointer}.sc-ix-group-item-h:not(.suppress-selection):not(.disabled):not(:disabled):hover{background-color:var(--theme-group-item--background--hover);border-color:var(--theme-group-item--border-color--hover)}.sc-ix-group-item-h:not(.suppress-selection):not(.disabled):not(:disabled){cursor:pointer}.sc-ix-group-item-h:not(.suppress-selection):not(.disabled):not(:disabled):active{background-color:var(--theme-group-item--background--active);border-color:var(--theme-group-item--border-color--active)}.selected.sc-ix-group-item-h{border-top-width:0.062rem !important;border-color:var(--theme-group-item--border-color--selected);background-color:var(--theme-group-item--background--selected)}.selected.sc-ix-group-item-h .group-entry-selection-indicator.sc-ix-group-item{background-color:var(--theme-color-input--focus)}.sc-ix-group-item-h:not(.disabled):not(:disabled):focus-visible{border-color:var(--focus--border-color) !important}";
5
5
 
6
6
  const GroupItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
7
  constructor() {
@@ -2,6 +2,8 @@ import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/clien
2
2
  import { g as getButtonClasses } from './base-button.js';
3
3
  import { d as defineCustomElement$1 } from './icon.js';
4
4
 
5
+ const iconButtonCss = ".sc-ix-icon-button-h .icon-button.sc-ix-icon-button{padding:0;overflow:hidden}.sc-ix-icon-button-h .btn-icon-12.sc-ix-icon-button{height:1rem;width:1rem;min-width:1rem;min-height:1rem}.sc-ix-icon-button-h .btn-icon-16.sc-ix-icon-button{height:1.5rem;width:1.5rem;min-width:1.5rem;min-height:1.5rem}.sc-ix-icon-button-h .btn-icon-32.sc-ix-icon-button{height:2rem;width:2rem;min-width:2rem;min-height:2rem}";
6
+
5
7
  const IconButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
6
8
  constructor() {
7
9
  super();
@@ -19,11 +21,12 @@ const IconButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
19
21
  this.type = 'button';
20
22
  }
21
23
  getIconButtonClasses() {
22
- return Object.assign({ 'btn-icon-xs': this.size === '12', 'btn-icon-s': this.size === '16' }, getButtonClasses(this.variant, this.outline, this.ghost || this.invisible, true, this.oval, this.selected, this.disabled));
24
+ return Object.assign(Object.assign({}, getButtonClasses(this.variant, this.outline, this.ghost || this.invisible, true, this.oval, this.selected, this.disabled)), { 'icon-button': true, 'btn-icon-12': this.size === '12', 'btn-icon-16': this.size === '16', 'btn-icon-32': this.size === '32' || this.size === '24' || !this.size });
23
25
  }
24
26
  render() {
25
27
  return (h("button", { class: this.getIconButtonClasses(), type: this.type }, h("ix-icon", { size: this.size, name: this.icon, color: this.color }), h("div", { style: { display: 'none' } }, h("slot", null))));
26
28
  }
29
+ static get style() { return iconButtonCss; }
27
30
  }, [6, "ix-icon-button", {
28
31
  "variant": [1],
29
32
  "outline": [4],
@@ -23,6 +23,7 @@ export { FilterChip as IxFilterChip } from '../types/components/filter-chip/filt
23
23
  export { FlipTile as IxFlipTile } from '../types/components/flip-tile/flip-tile';
24
24
  export { FlipTileContent as IxFlipTileContent } from '../types/components/flip-tile-content/flip-tile-content';
25
25
  export { Group as IxGroup } from '../types/components/group/group';
26
+ export { GroupContextMenu as IxGroupContextMenu } from '../types/components/group/group-context-menu';
26
27
  export { GroupDropdownItem as IxGroupDropdownItem } from '../types/components/group-dropdown-item/group-dropdown-item';
27
28
  export { GroupItem as IxGroupItem } from '../types/components/group-item/group-item';
28
29
  export { Icon as IxIcon } from '../types/components/icon/icon';
@@ -29,6 +29,7 @@ export { IxExpandingSearch, defineCustomElement as defineCustomElementIxExpandin
29
29
  export { IxFilterChip, defineCustomElement as defineCustomElementIxFilterChip } from './ix-filter-chip.js';
30
30
  export { IxFlipTileContent, defineCustomElement as defineCustomElementIxFlipTileContent } from './ix-flip-tile-content.js';
31
31
  export { IxGroup, defineCustomElement as defineCustomElementIxGroup } from './ix-group.js';
32
+ export { IxGroupContextMenu, defineCustomElement as defineCustomElementIxGroupContextMenu } from './ix-group-context-menu.js';
32
33
  export { IxGroupDropdownItem, defineCustomElement as defineCustomElementIxGroupDropdownItem } from './ix-group-dropdown-item.js';
33
34
  export { IxGroupItem, defineCustomElement as defineCustomElementIxGroupItem } from './ix-group-item.js';
34
35
  export { IxIcon, defineCustomElement as defineCustomElementIxIcon } from './ix-icon.js';
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface IxGroupContextMenu extends Components.IxGroupContextMenu, HTMLElement {}
4
+ export const IxGroupContextMenu: {
5
+ prototype: IxGroupContextMenu;
6
+ new (): IxGroupContextMenu;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,6 @@
1
+ import { G as GroupContextMenu, d as defineCustomElement$1 } from './group-context-menu.js';
2
+
3
+ const IxGroupContextMenu = GroupContextMenu;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { IxGroupContextMenu, defineCustomElement };
@@ -1,10 +1,10 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { d as defineCustomElement$5 } from './dropdown.js';
2
+ import { d as defineCustomElement$5 } from './group-context-menu.js';
3
3
  import { d as defineCustomElement$4 } from './group-item.js';
4
4
  import { d as defineCustomElement$3 } from './icon.js';
5
5
  import { d as defineCustomElement$2 } from './icon-button.js';
6
6
 
7
- const groupCss = ".sc-ix-group-h{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-direction:column;position:relative;max-width:19.75rem;border-color:var(--theme-group-item--border-color)}.sc-ix-group-h .group-header-context-button.sc-ix-group{display:block;position:relative;margin-top:5px;margin-right:5px;margin-left:auto}.sc-ix-group-h .group-header-context-button.sc-ix-group ix-icon-button.sc-ix-group::after{display:none}.sc-ix-group-h .group-header.sc-ix-group{height:4rem;min-height:4rem;max-height:4rem;border-radius:0.25rem;border:var(--theme-std-bdr-1);display:flex;background-color:var(--theme-group-item--background);border:1px solid var(--theme-group-item--border-color);color:var(--theme-group-header--color);cursor:pointer}.sc-ix-group-h .group-header.sc-ix-group:not(.disabled):not(:disabled){cursor:pointer}.sc-ix-group-h .group-header.sc-ix-group:not(.disabled):not(:disabled):hover{background-color:var(--theme-group-item--background--hover);border-color:var(--theme-group-item--border-color--hover)}.sc-ix-group-h .group-header.sc-ix-group:not(.disabled):not(:disabled){cursor:pointer}.sc-ix-group-h .group-header.sc-ix-group:not(.disabled):not(:disabled):active{background-color:var(--theme-group-item--background--active);border-color:var(--theme-group-item--border-color--active)}.sc-ix-group-h .group-header.sc-ix-group:not(.disabled):not(:disabled):focus-visible{border-color:var(--focus--border-color);border-radius:var(--theme-group--border-radius--focus);outline:none}.sc-ix-group-h .group-header-clickable.sc-ix-group{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;width:100%;min-width:0}.sc-ix-group-h .group-header.expand.sc-ix-group{border-bottom-left-radius:0;border-bottom-right-radius:0}.sc-ix-group-h .group-header-selection-indicator.sc-ix-group{width:0.25rem}.sc-ix-group-h .group-header-content.sc-ix-group{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-direction:row;justify-content:space-between;min-width:0;padding:0.5rem;padding-left:0;width:100%}.sc-ix-group-h .group-header-content.sc-ix-group .group-header-props-container.sc-ix-group{width:100%}.sc-ix-group-h .group-header-content.sc-ix-group .group-header-title.sc-ix-group{display:flex;align-items:center;font-size:1rem;font-weight:700;height:1.5rem}.sc-ix-group-h .group-header-content.sc-ix-group .group-header-title.sc-ix-group>*.sc-ix-group{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sc-ix-group-h .group-header-content.sc-ix-group .group-subheader.sc-ix-group{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:1.25rem;font-size:0.875rem;color:var(--theme-group-subheader--color)}.sc-ix-group-h .expand-icon.sc-ix-group{padding:0.125rem 0.437rem;color:var(--theme-color-std-text)}.sc-ix-group-h .btn-expand-header.sc-ix-group{margin:0.5rem;-webkit-margin-end:0.25rem;margin-inline-end:0.25rem}.sc-ix-group-h .group-content.sc-ix-group{display:flex;flex-direction:column}.sc-ix-group-h .group-header.selected.sc-ix-group{border:var(--theme-primary-bdr-2);background-color:var(--theme-group-item--background--selected)}.sc-ix-group-h .group-header.selected.sc-ix-group .group-header-selection-indicator.sc-ix-group{background-color:var(--theme-color-input-focus)}.sc-ix-group-h .footer.sc-ix-group{height:auto;min-height:0}";
7
+ const groupCss = ".sc-ix-group-h{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-direction:column;position:relative;max-width:19.75rem;border-color:var(--theme-group-item--border-color)}.sc-ix-group-h .group-header.sc-ix-group{height:4rem;min-height:4rem;max-height:4rem;border-radius:0.25rem;border:var(--theme-std-bdr-1);display:flex;background-color:var(--theme-group-item--background);border:1px solid var(--theme-group-item--border-color);color:var(--theme-group-header--color);cursor:pointer}.sc-ix-group-h .group-header.sc-ix-group:not(.disabled):not(:disabled){cursor:pointer}.sc-ix-group-h .group-header.sc-ix-group:not(.disabled):not(:disabled):hover{background-color:var(--theme-group-item--background--hover);border-color:var(--theme-group-item--border-color--hover)}.sc-ix-group-h .group-header.sc-ix-group:not(.disabled):not(:disabled){cursor:pointer}.sc-ix-group-h .group-header.sc-ix-group:not(.disabled):not(:disabled):active{background-color:var(--theme-group-item--background--active);border-color:var(--theme-group-item--border-color--active)}.sc-ix-group-h .group-header.sc-ix-group:not(.disabled):not(:disabled):focus-visible{border-color:var(--focus--border-color);border-radius:var(--theme-group--border-radius--focus);outline:none}.sc-ix-group-h .group-header-clickable.sc-ix-group{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;width:100%;min-width:0}.sc-ix-group-h .group-header.expand.sc-ix-group{border-bottom-left-radius:0;border-bottom-right-radius:0}.sc-ix-group-h .group-header-selection-indicator.sc-ix-group{width:0.25rem}.sc-ix-group-h .group-header-content.sc-ix-group{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-direction:row;justify-content:space-between;min-width:0;padding:0.5rem;padding-left:0;width:100%}.sc-ix-group-h .group-header-content.sc-ix-group .group-header-props-container.sc-ix-group{width:100%}.sc-ix-group-h .group-header-content.sc-ix-group .group-header-title.sc-ix-group{display:flex;align-items:center;font-size:1rem;font-weight:700;height:1.5rem}.sc-ix-group-h .group-header-content.sc-ix-group .group-header-title.sc-ix-group>*.sc-ix-group{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sc-ix-group-h .group-header-content.sc-ix-group .group-subheader.sc-ix-group{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:1.25rem;font-size:0.875rem;color:var(--theme-group-subheader--color)}.sc-ix-group-h .expand-icon.sc-ix-group{padding:0.125rem 0.437rem;color:var(--theme-color-std-text)}.sc-ix-group-h .btn-expand-header.sc-ix-group{margin:0.5rem;-webkit-margin-end:0.25rem;margin-inline-end:0.25rem}.sc-ix-group-h .group-content.sc-ix-group{display:flex;flex-direction:column}.sc-ix-group-h .group-header.selected.sc-ix-group{border:var(--theme-primary-bdr-2);background-color:var(--theme-group-item--background--selected)}.sc-ix-group-h .group-header.selected.sc-ix-group .group-header-selection-indicator.sc-ix-group{background-color:var(--theme-color-input--focus)}.sc-ix-group-h .footer.sc-ix-group{height:auto;min-height:0}";
8
8
 
9
9
  const Group = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
10
10
  constructor() { super(); this.__registerHost(); this.selectGroup = createEvent(this, "selectGroup", 7); this.selectItem = createEvent(this, "selectItem", 7); this.collapsedChanged = createEvent(this, "collapsedChanged", 7); this.suppressHeaderSelection = false; this.header = undefined; this.subHeader = undefined; this.collapsed = true; this.selected = undefined; this.index = undefined; this.expandOnHeaderClick = false; this.dropdownTriggerRef = undefined; }
@@ -99,7 +99,7 @@ const Group = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
99
99
  'group-header': true,
100
100
  expand: !this.collapsed,
101
101
  selected: this.selected,
102
- }, tabindex: "0" }, h("div", { class: "group-header-clickable", onClick: (e) => this.onHeaderClick(e) }, h("div", { class: "group-header-selection-indicator" }), h("ix-icon", { class: "btn-expand-header", name: `chevron-${this.collapsed ? 'right' : 'down'}-small`, onClick: (e) => this.onExpandClick(e) }), h("div", { class: "group-header-content" }, this.header ? (h("div", { class: "group-header-props-container" }, h("div", { class: "group-header-title" }, h("span", { title: this.header }, this.header)), h("div", { class: "group-subheader", title: this.subHeader }, this.subHeader))) : null, h("slot", { name: "header" }))), h("div", { class: { 'group-header-context-button': true, 'd-none': false } }, h("ix-icon-button", { ref: (ref) => (this.dropdownTriggerRef = ref), size: "24", ghost: true, icon: "context-menu" }), h("ix-dropdown", { trigger: this.dropdownTriggerRef }, h("slot", { name: "dropdown" })))), h("div", { class: {
102
+ }, tabindex: "0" }, h("div", { class: "group-header-clickable", onClick: (e) => this.onHeaderClick(e) }, h("div", { class: "group-header-selection-indicator" }), h("ix-icon", { class: "btn-expand-header", name: `chevron-${this.collapsed ? 'right' : 'down'}-small`, onClick: (e) => this.onExpandClick(e) }), h("div", { class: "group-header-content" }, this.header ? (h("div", { class: "group-header-props-container" }, h("div", { class: "group-header-title" }, h("span", { title: this.header }, this.header)), h("div", { class: "group-subheader", title: this.subHeader }, this.subHeader))) : null, h("slot", { name: "header" }))), h("ix-group-context-menu", null, h("slot", { name: "dropdown" }))), h("div", { class: {
103
103
  'group-content': true,
104
104
  'd-none': this.collapsed,
105
105
  } }, h("slot", null)), h("div", { class: "d-none" }, h("ix-group-item", { class: "footer last", suppressSelection: true, focusable: false }, h("slot", { name: "footer" })))));
@@ -120,14 +120,14 @@ function defineCustomElement$1() {
120
120
  if (typeof customElements === "undefined") {
121
121
  return;
122
122
  }
123
- const components = ["ix-group", "ix-dropdown", "ix-group-item", "ix-icon", "ix-icon-button"];
123
+ const components = ["ix-group", "ix-group-context-menu", "ix-group-item", "ix-icon", "ix-icon-button"];
124
124
  components.forEach(tagName => { switch (tagName) {
125
125
  case "ix-group":
126
126
  if (!customElements.get(tagName)) {
127
127
  customElements.define(tagName, Group);
128
128
  }
129
129
  break;
130
- case "ix-dropdown":
130
+ case "ix-group-context-menu":
131
131
  if (!customElements.get(tagName)) {
132
132
  defineCustomElement$5();
133
133
  }
@@ -17,7 +17,7 @@ function getModalContainer() {
17
17
  const containerList = Array.from(document.querySelectorAll('ix-modal-container'));
18
18
  const [container] = containerList;
19
19
  if (containerList.length > 1) {
20
- console.warn('Multiple modal container are found. Only there first is used.');
20
+ console.warn('Multiple modal containers were found. The one instatiated first will be used.');
21
21
  return container;
22
22
  }
23
23
  if (!container) {