@siemens/ix-react 0.0.0-20240419081748

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 (34) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +4 -0
  3. package/dist/index.esm.js +719 -0
  4. package/dist/index.js +827 -0
  5. package/dist/types/components.d.ts +94 -0
  6. package/dist/types/context/application-context.d.ts +7 -0
  7. package/dist/types/context/context.d.ts +5 -0
  8. package/dist/types/context.d.ts +1 -0
  9. package/dist/types/delegate.d.ts +14 -0
  10. package/dist/types/index.d.ts +7 -0
  11. package/dist/types/internal-components.d.ts +1 -0
  12. package/dist/types/ix-icon.d.ts +3 -0
  13. package/dist/types/modal/index.d.ts +7 -0
  14. package/dist/types/modal/modal.d.ts +9 -0
  15. package/dist/types/modal/portal.d.ts +6 -0
  16. package/dist/types/react-component-lib/createComponent.d.ts +10 -0
  17. package/dist/types/react-component-lib/createOverlayComponent.d.ts +21 -0
  18. package/dist/types/react-component-lib/index.d.ts +2 -0
  19. package/dist/types/react-component-lib/interfaces.d.ts +29 -0
  20. package/dist/types/react-component-lib/utils/attachProps.d.ts +16 -0
  21. package/dist/types/react-component-lib/utils/case.d.ts +2 -0
  22. package/dist/types/react-component-lib/utils/dev.d.ts +2 -0
  23. package/dist/types/react-component-lib/utils/index.d.ts +10 -0
  24. package/dist/types/tests/toast/toast.d.ts +3 -0
  25. package/dist/types/tests/toast/toast.spec.d.ts +1 -0
  26. package/dist/types/tests/undefined-error/undefined-error.d.ts +3 -0
  27. package/dist/types/tests/undefined-error/undefined-error.spec.d.ts +1 -0
  28. package/dist/types/tests/validation-tooltip-null-error/validation-tooltip-null-error.d.ts +3 -0
  29. package/dist/types/tests/validation-tooltip-null-error/validation-tooltip-null-error.spec.d.ts +1 -0
  30. package/dist/types/toast/index.d.ts +1 -0
  31. package/dist/types/toast/toast.d.ts +6 -0
  32. package/dist/types/tree/index.d.ts +1 -0
  33. package/dist/types/tree/tree.d.ts +7 -0
  34. package/package.json +69 -0
@@ -0,0 +1,719 @@
1
+ import React, { createElement, useState, useRef, useEffect, useLayoutEffect, useImperativeHandle, useCallback } from 'react';
2
+ import ReactDOM from 'react-dom';
3
+ import { defineCustomElement } from '@siemens/ix/components/ix-action-card.js';
4
+ import { defineCustomElement as defineCustomElement$1 } from '@siemens/ix/components/ix-application.js';
5
+ import { defineCustomElement as defineCustomElement$2 } from '@siemens/ix/components/ix-application-header.js';
6
+ import { defineCustomElement as defineCustomElement$3 } from '@siemens/ix/components/ix-avatar.js';
7
+ import { defineCustomElement as defineCustomElement$4 } from '@siemens/ix/components/ix-basic-navigation.js';
8
+ import { defineCustomElement as defineCustomElement$5 } from '@siemens/ix/components/ix-blind.js';
9
+ import { defineCustomElement as defineCustomElement$6 } from '@siemens/ix/components/ix-breadcrumb.js';
10
+ import { defineCustomElement as defineCustomElement$7 } from '@siemens/ix/components/ix-breadcrumb-item.js';
11
+ import { defineCustomElement as defineCustomElement$8 } from '@siemens/ix/components/ix-button.js';
12
+ import { defineCustomElement as defineCustomElement$9 } from '@siemens/ix/components/ix-card.js';
13
+ import { defineCustomElement as defineCustomElement$a } from '@siemens/ix/components/ix-card-accordion.js';
14
+ import { defineCustomElement as defineCustomElement$b } from '@siemens/ix/components/ix-card-content.js';
15
+ import { defineCustomElement as defineCustomElement$c } from '@siemens/ix/components/ix-card-list.js';
16
+ import { defineCustomElement as defineCustomElement$d } from '@siemens/ix/components/ix-card-title.js';
17
+ import { defineCustomElement as defineCustomElement$e } from '@siemens/ix/components/ix-category-filter.js';
18
+ import { defineCustomElement as defineCustomElement$f } from '@siemens/ix/components/ix-chip.js';
19
+ import { defineCustomElement as defineCustomElement$g } from '@siemens/ix/components/ix-col.js';
20
+ import { defineCustomElement as defineCustomElement$h } from '@siemens/ix/components/ix-content.js';
21
+ import { defineCustomElement as defineCustomElement$i } from '@siemens/ix/components/ix-content-header.js';
22
+ import { defineCustomElement as defineCustomElement$j } from '@siemens/ix/components/ix-date-dropdown.js';
23
+ import { defineCustomElement as defineCustomElement$k } from '@siemens/ix/components/ix-date-picker.js';
24
+ import { defineCustomElement as defineCustomElement$l } from '@siemens/ix/components/ix-datetime-picker.js';
25
+ import { defineCustomElement as defineCustomElement$m } from '@siemens/ix/components/ix-divider.js';
26
+ import { defineCustomElement as defineCustomElement$n } from '@siemens/ix/components/ix-drawer.js';
27
+ import { defineCustomElement as defineCustomElement$o } from '@siemens/ix/components/ix-dropdown.js';
28
+ import { defineCustomElement as defineCustomElement$p } from '@siemens/ix/components/ix-dropdown-button.js';
29
+ import { defineCustomElement as defineCustomElement$q } from '@siemens/ix/components/ix-dropdown-header.js';
30
+ import { defineCustomElement as defineCustomElement$r } from '@siemens/ix/components/ix-dropdown-item.js';
31
+ import { defineCustomElement as defineCustomElement$s } from '@siemens/ix/components/ix-dropdown-quick-actions.js';
32
+ import { defineCustomElement as defineCustomElement$t } from '@siemens/ix/components/ix-empty-state.js';
33
+ import { defineCustomElement as defineCustomElement$u } from '@siemens/ix/components/ix-event-list.js';
34
+ import { defineCustomElement as defineCustomElement$v } from '@siemens/ix/components/ix-event-list-item.js';
35
+ import { defineCustomElement as defineCustomElement$w } from '@siemens/ix/components/ix-expanding-search.js';
36
+ import { defineCustomElement as defineCustomElement$x } from '@siemens/ix/components/ix-filter-chip.js';
37
+ import { defineCustomElement as defineCustomElement$y } from '@siemens/ix/components/ix-flip-tile.js';
38
+ import { defineCustomElement as defineCustomElement$z } from '@siemens/ix/components/ix-flip-tile-content.js';
39
+ import { defineCustomElement as defineCustomElement$A } from '@siemens/ix/components/ix-form-field.js';
40
+ import { defineCustomElement as defineCustomElement$B } from '@siemens/ix/components/ix-group.js';
41
+ import { defineCustomElement as defineCustomElement$C } from '@siemens/ix/components/ix-group-context-menu.js';
42
+ import { defineCustomElement as defineCustomElement$D } from '@siemens/ix/components/ix-group-item.js';
43
+ import { defineCustomElement as defineCustomElement$E } from '@siemens/ix/components/ix-icon-button.js';
44
+ import { defineCustomElement as defineCustomElement$F } from '@siemens/ix/components/ix-icon-toggle-button.js';
45
+ import { defineCustomElement as defineCustomElement$G } from '@siemens/ix/components/ix-input-group.js';
46
+ import { defineCustomElement as defineCustomElement$H } from '@siemens/ix/components/ix-key-value.js';
47
+ import { defineCustomElement as defineCustomElement$I } from '@siemens/ix/components/ix-key-value-list.js';
48
+ import { defineCustomElement as defineCustomElement$J } from '@siemens/ix/components/ix-kpi.js';
49
+ import { defineCustomElement as defineCustomElement$K } from '@siemens/ix/components/ix-layout-grid.js';
50
+ import { defineCustomElement as defineCustomElement$L } from '@siemens/ix/components/ix-link-button.js';
51
+ import { defineCustomElement as defineCustomElement$M } from '@siemens/ix/components/ix-map-navigation.js';
52
+ import { defineCustomElement as defineCustomElement$N } from '@siemens/ix/components/ix-map-navigation-overlay.js';
53
+ import { defineCustomElement as defineCustomElement$O } from '@siemens/ix/components/ix-menu.js';
54
+ import { defineCustomElement as defineCustomElement$P } from '@siemens/ix/components/ix-menu-about.js';
55
+ import { defineCustomElement as defineCustomElement$Q } from '@siemens/ix/components/ix-menu-about-item.js';
56
+ import { defineCustomElement as defineCustomElement$R } from '@siemens/ix/components/ix-menu-about-news.js';
57
+ import { defineCustomElement as defineCustomElement$S } from '@siemens/ix/components/ix-menu-avatar.js';
58
+ import { defineCustomElement as defineCustomElement$T } from '@siemens/ix/components/ix-menu-avatar-item.js';
59
+ import { defineCustomElement as defineCustomElement$U } from '@siemens/ix/components/ix-menu-category.js';
60
+ import { defineCustomElement as defineCustomElement$V } from '@siemens/ix/components/ix-menu-item.js';
61
+ import { defineCustomElement as defineCustomElement$W } from '@siemens/ix/components/ix-menu-settings.js';
62
+ import { defineCustomElement as defineCustomElement$X } from '@siemens/ix/components/ix-menu-settings-item.js';
63
+ import { defineCustomElement as defineCustomElement$Y } from '@siemens/ix/components/ix-message-bar.js';
64
+ import { defineCustomElement as defineCustomElement$Z } from '@siemens/ix/components/ix-modal.js';
65
+ import { defineCustomElement as defineCustomElement$_ } from '@siemens/ix/components/ix-modal-content.js';
66
+ import { defineCustomElement as defineCustomElement$$ } from '@siemens/ix/components/ix-modal-example.js';
67
+ import { defineCustomElement as defineCustomElement$10 } from '@siemens/ix/components/ix-modal-footer.js';
68
+ import { defineCustomElement as defineCustomElement$11 } from '@siemens/ix/components/ix-modal-header.js';
69
+ import { defineCustomElement as defineCustomElement$12 } from '@siemens/ix/components/ix-pagination.js';
70
+ import { defineCustomElement as defineCustomElement$13 } from '@siemens/ix/components/ix-pane.js';
71
+ import { defineCustomElement as defineCustomElement$14 } from '@siemens/ix/components/ix-pane-layout.js';
72
+ import { defineCustomElement as defineCustomElement$15 } from '@siemens/ix/components/ix-pill.js';
73
+ import { defineCustomElement as defineCustomElement$16 } from '@siemens/ix/components/ix-push-card.js';
74
+ import { defineCustomElement as defineCustomElement$17 } from '@siemens/ix/components/ix-row.js';
75
+ import { defineCustomElement as defineCustomElement$18 } from '@siemens/ix/components/ix-select.js';
76
+ import { defineCustomElement as defineCustomElement$19 } from '@siemens/ix/components/ix-select-item.js';
77
+ import { defineCustomElement as defineCustomElement$1a } from '@siemens/ix/components/ix-slider.js';
78
+ import { defineCustomElement as defineCustomElement$1b } from '@siemens/ix/components/ix-spinner.js';
79
+ import { defineCustomElement as defineCustomElement$1c } from '@siemens/ix/components/ix-split-button.js';
80
+ import { defineCustomElement as defineCustomElement$1d } from '@siemens/ix/components/ix-split-button-item.js';
81
+ import { defineCustomElement as defineCustomElement$1e } from '@siemens/ix/components/ix-tab-item.js';
82
+ import { defineCustomElement as defineCustomElement$1f } from '@siemens/ix/components/ix-tabs.js';
83
+ import { defineCustomElement as defineCustomElement$1g } from '@siemens/ix/components/ix-tile.js';
84
+ import { defineCustomElement as defineCustomElement$1h } from '@siemens/ix/components/ix-time-picker.js';
85
+ import { defineCustomElement as defineCustomElement$1i } from '@siemens/ix/components/ix-toast.js';
86
+ import { defineCustomElement as defineCustomElement$1j } from '@siemens/ix/components/ix-toast-container.js';
87
+ import { defineCustomElement as defineCustomElement$1k } from '@siemens/ix/components/ix-toggle.js';
88
+ import { defineCustomElement as defineCustomElement$1l } from '@siemens/ix/components/ix-toggle-button.js';
89
+ import { defineCustomElement as defineCustomElement$1m } from '@siemens/ix/components/ix-tooltip.js';
90
+ import { defineCustomElement as defineCustomElement$1n } from '@siemens/ix/components/ix-typography.js';
91
+ import { defineCustomElement as defineCustomElement$1o } from '@siemens/ix/components/ix-upload.js';
92
+ import { defineCustomElement as defineCustomElement$1p } from '@siemens/ix/components/ix-validation-tooltip.js';
93
+ import { defineCustomElement as defineCustomElement$1q } from '@siemens/ix/components/ix-workflow-step.js';
94
+ import { defineCustomElement as defineCustomElement$1r } from '@siemens/ix/components/ix-workflow-steps.js';
95
+ import { registerFrameworkDelegate, showModal as showModal$1, toast } from '@siemens/ix';
96
+ import ReactDOMClient from 'react-dom/client';
97
+ import { defineCustomElement as defineCustomElement$1t } from '@siemens/ix/components/ix-application-sidebar.js';
98
+ import { defineCustomElement as defineCustomElement$1s } from '@siemens/ix/components/ix-application-switch-modal.js';
99
+ import { defineCustomElement as defineCustomElement$1v } from '@siemens/ix/components/ix-menu-expand-icon.js';
100
+ import { defineCustomElement as defineCustomElement$1u } from '@siemens/ix/components/ix-date-time-card.js';
101
+ import { defineCustomElement as defineCustomElement$1w } from '@siemens/ix/components/ix-modal-loading.js';
102
+ import { defineCustomElement as defineCustomElement$1x } from '@siemens/ix-icons/dist/components/ix-icon';
103
+ import { defineCustomElement as defineCustomElement$1y } from '@siemens/ix/components/ix-tree.js';
104
+
105
+ /******************************************************************************
106
+ Copyright (c) Microsoft Corporation.
107
+
108
+ Permission to use, copy, modify, and/or distribute this software for any
109
+ purpose with or without fee is hereby granted.
110
+
111
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
112
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
113
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
114
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
115
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
116
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
117
+ PERFORMANCE OF THIS SOFTWARE.
118
+ ***************************************************************************** */
119
+
120
+ function __rest(s, e) {
121
+ var t = {};
122
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
123
+ t[p] = s[p];
124
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
125
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
126
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
127
+ t[p[i]] = s[p[i]];
128
+ }
129
+ return t;
130
+ }
131
+
132
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
133
+ var e = new Error(message);
134
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
135
+ };
136
+
137
+ const dashToPascalCase = (str) => str
138
+ .toLowerCase()
139
+ .split('-')
140
+ .map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1))
141
+ .join('');
142
+ const camelToDashCase = (str) => str.replace(/([A-Z])/g, (m) => `-${m[0].toLowerCase()}`);
143
+
144
+ const attachProps = (node, newProps, oldProps = {}) => {
145
+ // some test frameworks don't render DOM elements, so we test here to make sure we are dealing with DOM first
146
+ if (node instanceof Element) {
147
+ // add any classes in className to the class list
148
+ const className = getClassName(node.classList, newProps, oldProps);
149
+ if (className !== '') {
150
+ node.className = className;
151
+ }
152
+ Object.keys(newProps).forEach((name) => {
153
+ if (name === 'children' ||
154
+ name === 'style' ||
155
+ name === 'ref' ||
156
+ name === 'class' ||
157
+ name === 'className' ||
158
+ name === 'forwardedRef') {
159
+ return;
160
+ }
161
+ if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {
162
+ const eventName = name.substring(2);
163
+ const eventNameLc = eventName[0].toLowerCase() + eventName.substring(1);
164
+ if (!isCoveredByReact(eventNameLc)) {
165
+ syncEvent(node, eventNameLc, newProps[name]);
166
+ }
167
+ }
168
+ else {
169
+ node[name] = newProps[name];
170
+ const propType = typeof newProps[name];
171
+ if (propType === 'string') {
172
+ node.setAttribute(camelToDashCase(name), newProps[name]);
173
+ }
174
+ }
175
+ });
176
+ }
177
+ };
178
+ const getClassName = (classList, newProps, oldProps) => {
179
+ const newClassProp = newProps.className || newProps.class;
180
+ const oldClassProp = oldProps.className || oldProps.class;
181
+ // map the classes to Maps for performance
182
+ const currentClasses = arrayToMap(classList);
183
+ const incomingPropClasses = arrayToMap(newClassProp ? newClassProp.split(' ') : []);
184
+ const oldPropClasses = arrayToMap(oldClassProp ? oldClassProp.split(' ') : []);
185
+ const finalClassNames = [];
186
+ // loop through each of the current classes on the component
187
+ // to see if it should be a part of the classNames added
188
+ currentClasses.forEach((currentClass) => {
189
+ if (incomingPropClasses.has(currentClass)) {
190
+ // add it as its already included in classnames coming in from newProps
191
+ finalClassNames.push(currentClass);
192
+ incomingPropClasses.delete(currentClass);
193
+ }
194
+ else if (!oldPropClasses.has(currentClass)) {
195
+ // add it as it has NOT been removed by user
196
+ finalClassNames.push(currentClass);
197
+ }
198
+ });
199
+ incomingPropClasses.forEach((s) => finalClassNames.push(s));
200
+ return finalClassNames.join(' ');
201
+ };
202
+ /**
203
+ * Transforms a React event name to a browser event name.
204
+ */
205
+ const transformReactEventName = (eventNameSuffix) => {
206
+ switch (eventNameSuffix) {
207
+ case 'doubleclick':
208
+ return 'dblclick';
209
+ }
210
+ return eventNameSuffix;
211
+ };
212
+ /**
213
+ * Checks if an event is supported in the current execution environment.
214
+ * @license Modernizr 3.0.0pre (Custom Build) | MIT
215
+ */
216
+ const isCoveredByReact = (eventNameSuffix) => {
217
+ if (typeof document === 'undefined') {
218
+ return true;
219
+ }
220
+ else {
221
+ const eventName = 'on' + transformReactEventName(eventNameSuffix);
222
+ let isSupported = eventName in document;
223
+ if (!isSupported) {
224
+ const element = document.createElement('div');
225
+ element.setAttribute(eventName, 'return;');
226
+ isSupported = typeof element[eventName] === 'function';
227
+ }
228
+ return isSupported;
229
+ }
230
+ };
231
+ const syncEvent = (node, eventName, newEventHandler) => {
232
+ const eventStore = node.__events || (node.__events = {});
233
+ const oldEventHandler = eventStore[eventName];
234
+ // Remove old listener so they don't double up.
235
+ if (oldEventHandler) {
236
+ node.removeEventListener(eventName, oldEventHandler);
237
+ }
238
+ // Bind new listener.
239
+ node.addEventListener(eventName, (eventStore[eventName] = function handler(e) {
240
+ if (newEventHandler) {
241
+ newEventHandler.call(this, e);
242
+ }
243
+ }));
244
+ };
245
+ const arrayToMap = (arr) => {
246
+ const map = new Map();
247
+ arr.forEach((s) => map.set(s, s));
248
+ return map;
249
+ };
250
+
251
+ const setRef = (ref, value) => {
252
+ if (typeof ref === 'function') {
253
+ ref(value);
254
+ }
255
+ else if (ref != null) {
256
+ // Cast as a MutableRef so we can assign current
257
+ ref.current = value;
258
+ }
259
+ };
260
+ const mergeRefs = (...refs) => {
261
+ return (value) => {
262
+ refs.forEach((ref) => {
263
+ setRef(ref, value);
264
+ });
265
+ };
266
+ };
267
+ const createForwardRef = (ReactComponent, displayName) => {
268
+ const forwardRef = (props, ref) => {
269
+ return React.createElement(ReactComponent, Object.assign({}, props, { forwardedRef: ref }));
270
+ };
271
+ forwardRef.displayName = displayName;
272
+ return React.forwardRef(forwardRef);
273
+ };
274
+
275
+ const createReactComponent = (tagName, ReactComponentContext, manipulatePropsFunction, defineCustomElement) => {
276
+ if (defineCustomElement !== undefined) {
277
+ defineCustomElement();
278
+ }
279
+ const displayName = dashToPascalCase(tagName);
280
+ const ReactComponent = class extends React.Component {
281
+ constructor(props) {
282
+ super(props);
283
+ this.setComponentElRef = (element) => {
284
+ this.componentEl = element;
285
+ };
286
+ }
287
+ componentDidMount() {
288
+ this.componentDidUpdate(this.props);
289
+ }
290
+ componentDidUpdate(prevProps) {
291
+ attachProps(this.componentEl, this.props, prevProps);
292
+ }
293
+ render() {
294
+ const _a = this.props, { children, forwardedRef, style, className, ref } = _a, cProps = __rest(_a, ["children", "forwardedRef", "style", "className", "ref"]);
295
+ let propsToPass = Object.keys(cProps).reduce((acc, name) => {
296
+ const value = cProps[name];
297
+ if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {
298
+ const eventName = name.substring(2).toLowerCase();
299
+ if (typeof document !== 'undefined' && isCoveredByReact(eventName)) {
300
+ acc[name] = value;
301
+ }
302
+ }
303
+ else {
304
+ // we should only render strings, booleans, and numbers as attrs in html.
305
+ // objects, functions, arrays etc get synced via properties on mount.
306
+ const type = typeof value;
307
+ if (type === 'string' || type === 'boolean' || type === 'number') {
308
+ acc[camelToDashCase(name)] = value;
309
+ }
310
+ }
311
+ return acc;
312
+ }, {});
313
+ if (manipulatePropsFunction) {
314
+ propsToPass = manipulatePropsFunction(this.props, propsToPass);
315
+ }
316
+ const newProps = Object.assign(Object.assign({}, propsToPass), { ref: mergeRefs(forwardedRef, this.setComponentElRef), style });
317
+ /**
318
+ * We use createElement here instead of
319
+ * React.createElement to work around a
320
+ * bug in Vite (https://github.com/vitejs/vite/issues/6104).
321
+ * React.createElement causes all elements to be rendered
322
+ * as <tagname> instead of the actual Web Component.
323
+ */
324
+ return createElement(tagName, newProps, children);
325
+ }
326
+ static get displayName() {
327
+ return displayName;
328
+ }
329
+ };
330
+ // If context was passed to createReactComponent then conditionally add it to the Component Class
331
+ if (ReactComponentContext) {
332
+ ReactComponent.contextType = ReactComponentContext;
333
+ }
334
+ return createForwardRef(ReactComponent, displayName);
335
+ };
336
+
337
+ /* eslint-disable */
338
+ const IxActionCard = /*@__PURE__*/ createReactComponent('ix-action-card', undefined, undefined, defineCustomElement);
339
+ const IxApplication = /*@__PURE__*/ createReactComponent('ix-application', undefined, undefined, defineCustomElement$1);
340
+ const IxApplicationHeader = /*@__PURE__*/ createReactComponent('ix-application-header', undefined, undefined, defineCustomElement$2);
341
+ const IxAvatar = /*@__PURE__*/ createReactComponent('ix-avatar', undefined, undefined, defineCustomElement$3);
342
+ const IxBasicNavigation = /*@__PURE__*/ createReactComponent('ix-basic-navigation', undefined, undefined, defineCustomElement$4);
343
+ const IxBlind = /*@__PURE__*/ createReactComponent('ix-blind', undefined, undefined, defineCustomElement$5);
344
+ const IxBreadcrumb = /*@__PURE__*/ createReactComponent('ix-breadcrumb', undefined, undefined, defineCustomElement$6);
345
+ const IxBreadcrumbItem = /*@__PURE__*/ createReactComponent('ix-breadcrumb-item', undefined, undefined, defineCustomElement$7);
346
+ const IxButton = /*@__PURE__*/ createReactComponent('ix-button', undefined, undefined, defineCustomElement$8);
347
+ const IxCard = /*@__PURE__*/ createReactComponent('ix-card', undefined, undefined, defineCustomElement$9);
348
+ const IxCardAccordion = /*@__PURE__*/ createReactComponent('ix-card-accordion', undefined, undefined, defineCustomElement$a);
349
+ const IxCardContent = /*@__PURE__*/ createReactComponent('ix-card-content', undefined, undefined, defineCustomElement$b);
350
+ const IxCardList = /*@__PURE__*/ createReactComponent('ix-card-list', undefined, undefined, defineCustomElement$c);
351
+ const IxCardTitle = /*@__PURE__*/ createReactComponent('ix-card-title', undefined, undefined, defineCustomElement$d);
352
+ const IxCategoryFilter = /*@__PURE__*/ createReactComponent('ix-category-filter', undefined, undefined, defineCustomElement$e);
353
+ const IxChip = /*@__PURE__*/ createReactComponent('ix-chip', undefined, undefined, defineCustomElement$f);
354
+ const IxCol = /*@__PURE__*/ createReactComponent('ix-col', undefined, undefined, defineCustomElement$g);
355
+ const IxContent = /*@__PURE__*/ createReactComponent('ix-content', undefined, undefined, defineCustomElement$h);
356
+ const IxContentHeader = /*@__PURE__*/ createReactComponent('ix-content-header', undefined, undefined, defineCustomElement$i);
357
+ const IxDateDropdown = /*@__PURE__*/ createReactComponent('ix-date-dropdown', undefined, undefined, defineCustomElement$j);
358
+ const IxDatePicker = /*@__PURE__*/ createReactComponent('ix-date-picker', undefined, undefined, defineCustomElement$k);
359
+ const IxDatetimePicker = /*@__PURE__*/ createReactComponent('ix-datetime-picker', undefined, undefined, defineCustomElement$l);
360
+ const IxDivider = /*@__PURE__*/ createReactComponent('ix-divider', undefined, undefined, defineCustomElement$m);
361
+ const IxDrawer = /*@__PURE__*/ createReactComponent('ix-drawer', undefined, undefined, defineCustomElement$n);
362
+ const IxDropdown = /*@__PURE__*/ createReactComponent('ix-dropdown', undefined, undefined, defineCustomElement$o);
363
+ const IxDropdownButton = /*@__PURE__*/ createReactComponent('ix-dropdown-button', undefined, undefined, defineCustomElement$p);
364
+ const IxDropdownHeader = /*@__PURE__*/ createReactComponent('ix-dropdown-header', undefined, undefined, defineCustomElement$q);
365
+ const IxDropdownItem = /*@__PURE__*/ createReactComponent('ix-dropdown-item', undefined, undefined, defineCustomElement$r);
366
+ const IxDropdownQuickActions = /*@__PURE__*/ createReactComponent('ix-dropdown-quick-actions', undefined, undefined, defineCustomElement$s);
367
+ const IxEmptyState = /*@__PURE__*/ createReactComponent('ix-empty-state', undefined, undefined, defineCustomElement$t);
368
+ const IxEventList = /*@__PURE__*/ createReactComponent('ix-event-list', undefined, undefined, defineCustomElement$u);
369
+ const IxEventListItem = /*@__PURE__*/ createReactComponent('ix-event-list-item', undefined, undefined, defineCustomElement$v);
370
+ const IxExpandingSearch = /*@__PURE__*/ createReactComponent('ix-expanding-search', undefined, undefined, defineCustomElement$w);
371
+ const IxFilterChip = /*@__PURE__*/ createReactComponent('ix-filter-chip', undefined, undefined, defineCustomElement$x);
372
+ const IxFlipTile = /*@__PURE__*/ createReactComponent('ix-flip-tile', undefined, undefined, defineCustomElement$y);
373
+ const IxFlipTileContent = /*@__PURE__*/ createReactComponent('ix-flip-tile-content', undefined, undefined, defineCustomElement$z);
374
+ const IxFormField = /*@__PURE__*/ createReactComponent('ix-form-field', undefined, undefined, defineCustomElement$A);
375
+ const IxGroup = /*@__PURE__*/ createReactComponent('ix-group', undefined, undefined, defineCustomElement$B);
376
+ const IxGroupContextMenu = /*@__PURE__*/ createReactComponent('ix-group-context-menu', undefined, undefined, defineCustomElement$C);
377
+ const IxGroupItem = /*@__PURE__*/ createReactComponent('ix-group-item', undefined, undefined, defineCustomElement$D);
378
+ const IxIconButton = /*@__PURE__*/ createReactComponent('ix-icon-button', undefined, undefined, defineCustomElement$E);
379
+ const IxIconToggleButton = /*@__PURE__*/ createReactComponent('ix-icon-toggle-button', undefined, undefined, defineCustomElement$F);
380
+ const IxInputGroup = /*@__PURE__*/ createReactComponent('ix-input-group', undefined, undefined, defineCustomElement$G);
381
+ const IxKeyValue = /*@__PURE__*/ createReactComponent('ix-key-value', undefined, undefined, defineCustomElement$H);
382
+ const IxKeyValueList = /*@__PURE__*/ createReactComponent('ix-key-value-list', undefined, undefined, defineCustomElement$I);
383
+ const IxKpi = /*@__PURE__*/ createReactComponent('ix-kpi', undefined, undefined, defineCustomElement$J);
384
+ const IxLayoutGrid = /*@__PURE__*/ createReactComponent('ix-layout-grid', undefined, undefined, defineCustomElement$K);
385
+ const IxLinkButton = /*@__PURE__*/ createReactComponent('ix-link-button', undefined, undefined, defineCustomElement$L);
386
+ const IxMapNavigation = /*@__PURE__*/ createReactComponent('ix-map-navigation', undefined, undefined, defineCustomElement$M);
387
+ const IxMapNavigationOverlay = /*@__PURE__*/ createReactComponent('ix-map-navigation-overlay', undefined, undefined, defineCustomElement$N);
388
+ const IxMenu = /*@__PURE__*/ createReactComponent('ix-menu', undefined, undefined, defineCustomElement$O);
389
+ const IxMenuAbout = /*@__PURE__*/ createReactComponent('ix-menu-about', undefined, undefined, defineCustomElement$P);
390
+ const IxMenuAboutItem = /*@__PURE__*/ createReactComponent('ix-menu-about-item', undefined, undefined, defineCustomElement$Q);
391
+ const IxMenuAboutNews = /*@__PURE__*/ createReactComponent('ix-menu-about-news', undefined, undefined, defineCustomElement$R);
392
+ const IxMenuAvatar = /*@__PURE__*/ createReactComponent('ix-menu-avatar', undefined, undefined, defineCustomElement$S);
393
+ const IxMenuAvatarItem = /*@__PURE__*/ createReactComponent('ix-menu-avatar-item', undefined, undefined, defineCustomElement$T);
394
+ const IxMenuCategory = /*@__PURE__*/ createReactComponent('ix-menu-category', undefined, undefined, defineCustomElement$U);
395
+ const IxMenuItem = /*@__PURE__*/ createReactComponent('ix-menu-item', undefined, undefined, defineCustomElement$V);
396
+ const IxMenuSettings = /*@__PURE__*/ createReactComponent('ix-menu-settings', undefined, undefined, defineCustomElement$W);
397
+ const IxMenuSettingsItem = /*@__PURE__*/ createReactComponent('ix-menu-settings-item', undefined, undefined, defineCustomElement$X);
398
+ const IxMessageBar = /*@__PURE__*/ createReactComponent('ix-message-bar', undefined, undefined, defineCustomElement$Y);
399
+ const IxModal = /*@__PURE__*/ createReactComponent('ix-modal', undefined, undefined, defineCustomElement$Z);
400
+ const IxModalContent = /*@__PURE__*/ createReactComponent('ix-modal-content', undefined, undefined, defineCustomElement$_);
401
+ const IxModalExample = /*@__PURE__*/ createReactComponent('ix-modal-example', undefined, undefined, defineCustomElement$$);
402
+ const IxModalFooter = /*@__PURE__*/ createReactComponent('ix-modal-footer', undefined, undefined, defineCustomElement$10);
403
+ const IxModalHeader = /*@__PURE__*/ createReactComponent('ix-modal-header', undefined, undefined, defineCustomElement$11);
404
+ const IxPagination = /*@__PURE__*/ createReactComponent('ix-pagination', undefined, undefined, defineCustomElement$12);
405
+ const IxPane = /*@__PURE__*/ createReactComponent('ix-pane', undefined, undefined, defineCustomElement$13);
406
+ const IxPaneLayout = /*@__PURE__*/ createReactComponent('ix-pane-layout', undefined, undefined, defineCustomElement$14);
407
+ const IxPill = /*@__PURE__*/ createReactComponent('ix-pill', undefined, undefined, defineCustomElement$15);
408
+ const IxPushCard = /*@__PURE__*/ createReactComponent('ix-push-card', undefined, undefined, defineCustomElement$16);
409
+ const IxRow = /*@__PURE__*/ createReactComponent('ix-row', undefined, undefined, defineCustomElement$17);
410
+ const IxSelect = /*@__PURE__*/ createReactComponent('ix-select', undefined, undefined, defineCustomElement$18);
411
+ const IxSelectItem = /*@__PURE__*/ createReactComponent('ix-select-item', undefined, undefined, defineCustomElement$19);
412
+ const IxSlider = /*@__PURE__*/ createReactComponent('ix-slider', undefined, undefined, defineCustomElement$1a);
413
+ const IxSpinner = /*@__PURE__*/ createReactComponent('ix-spinner', undefined, undefined, defineCustomElement$1b);
414
+ const IxSplitButton = /*@__PURE__*/ createReactComponent('ix-split-button', undefined, undefined, defineCustomElement$1c);
415
+ const IxSplitButtonItem = /*@__PURE__*/ createReactComponent('ix-split-button-item', undefined, undefined, defineCustomElement$1d);
416
+ const IxTabItem = /*@__PURE__*/ createReactComponent('ix-tab-item', undefined, undefined, defineCustomElement$1e);
417
+ const IxTabs = /*@__PURE__*/ createReactComponent('ix-tabs', undefined, undefined, defineCustomElement$1f);
418
+ const IxTile = /*@__PURE__*/ createReactComponent('ix-tile', undefined, undefined, defineCustomElement$1g);
419
+ const IxTimePicker = /*@__PURE__*/ createReactComponent('ix-time-picker', undefined, undefined, defineCustomElement$1h);
420
+ const IxToast = /*@__PURE__*/ createReactComponent('ix-toast', undefined, undefined, defineCustomElement$1i);
421
+ const IxToastContainer = /*@__PURE__*/ createReactComponent('ix-toast-container', undefined, undefined, defineCustomElement$1j);
422
+ const IxToggle = /*@__PURE__*/ createReactComponent('ix-toggle', undefined, undefined, defineCustomElement$1k);
423
+ const IxToggleButton = /*@__PURE__*/ createReactComponent('ix-toggle-button', undefined, undefined, defineCustomElement$1l);
424
+ const IxTooltip = /*@__PURE__*/ createReactComponent('ix-tooltip', undefined, undefined, defineCustomElement$1m);
425
+ const IxTypography = /*@__PURE__*/ createReactComponent('ix-typography', undefined, undefined, defineCustomElement$1n);
426
+ const IxUpload = /*@__PURE__*/ createReactComponent('ix-upload', undefined, undefined, defineCustomElement$1o);
427
+ const IxValidationTooltip = /*@__PURE__*/ createReactComponent('ix-validation-tooltip', undefined, undefined, defineCustomElement$1p);
428
+ const IxWorkflowStep = /*@__PURE__*/ createReactComponent('ix-workflow-step', undefined, undefined, defineCustomElement$1q);
429
+ const IxWorkflowSteps = /*@__PURE__*/ createReactComponent('ix-workflow-steps', undefined, undefined, defineCustomElement$1r);
430
+
431
+ /*
432
+ * SPDX-FileCopyrightText: 2024 Siemens AG
433
+ *
434
+ * SPDX-License-Identifier: MIT
435
+ *
436
+ * This source code is licensed under the MIT license found in the
437
+ * LICENSE file in the root directory of this source tree.
438
+ */
439
+ let viewInstance = 0;
440
+ function createViewInstance() {
441
+ return `ix-react-view-${viewInstance++}`;
442
+ }
443
+ const mountedRootNodes = {};
444
+ async function fallbackRootDom(id, view) {
445
+ return new Promise((resolve) => {
446
+ const rootElement = document.createElement('DIV');
447
+ rootElement.id = id;
448
+ rootElement.style.display = 'contents';
449
+ document.body.appendChild(rootElement);
450
+ const root = ReactDOMClient.createRoot(rootElement);
451
+ root.render(view);
452
+ mountedRootNodes[id] = root;
453
+ setTimeout(() => {
454
+ const viewElement = rootElement.children[0];
455
+ resolve(viewElement);
456
+ });
457
+ });
458
+ }
459
+ async function fallbackRemoveViewFromRootDom(view) {
460
+ const parent = view.parentElement;
461
+ const id = parent.id;
462
+ if (id in mountedRootNodes) {
463
+ mountedRootNodes[id].unmount();
464
+ delete mountedRootNodes[id];
465
+ parent.remove();
466
+ }
467
+ }
468
+ class ReactFrameworkDelegate {
469
+ constructor() {
470
+ this.isUsingReactPortal = false;
471
+ this.portalInitPromise = new Promise((resolve) => (this.resolvePortalInitPromise = resolve));
472
+ }
473
+ async attachView(view) {
474
+ const id = createViewInstance();
475
+ if (!this.isUsingReactPortal) {
476
+ return fallbackRootDom(id, view);
477
+ }
478
+ await this.isPortalReady();
479
+ if (this.attachViewToPortal) {
480
+ const refElement = await this.attachViewToPortal(id, view);
481
+ return refElement;
482
+ }
483
+ console.error('Portal could not be initialized');
484
+ }
485
+ async removeView(view) {
486
+ if (!this.removeViewFromPortal) {
487
+ return fallbackRemoveViewFromRootDom(view);
488
+ }
489
+ const parent = view.parentElement;
490
+ const id = parent.getAttribute('data-portal-id');
491
+ this.removeViewFromPortal(id);
492
+ }
493
+ portalReady() {
494
+ var _a;
495
+ (_a = this.resolvePortalInitPromise) === null || _a === void 0 ? void 0 : _a.call(this);
496
+ }
497
+ async isPortalReady() {
498
+ return this.portalInitPromise;
499
+ }
500
+ }
501
+ const reactFrameworkDelegate = new ReactFrameworkDelegate();
502
+ registerFrameworkDelegate(reactFrameworkDelegate);
503
+
504
+ /*
505
+ * SPDX-FileCopyrightText: 2024 Siemens AG
506
+ *
507
+ * SPDX-License-Identifier: MIT
508
+ *
509
+ * This source code is licensed under the MIT license found in the
510
+ * LICENSE file in the root directory of this source tree.
511
+ */
512
+ const PORTAL_ID = 'ix-portal';
513
+ const IxOverlay = (props) => {
514
+ const [portalRef, setPortalRef] = useState(null);
515
+ const resolveElementRef = useRef({});
516
+ const viewRefs = useRef({});
517
+ const [views, setViews] = useState({});
518
+ useEffect(() => {
519
+ const addOverlay = (id, view) => {
520
+ const _views = Object.assign({}, viewRefs.current);
521
+ _views[id] = view;
522
+ setViews(_views);
523
+ viewRefs.current = _views;
524
+ };
525
+ const removeOverlay = (id) => {
526
+ const _views = Object.assign({}, viewRefs.current);
527
+ delete _views[id];
528
+ setViews(_views);
529
+ viewRefs.current = _views;
530
+ };
531
+ props.delegate.attachViewToPortal = async (id, view) => {
532
+ addOverlay(id, view);
533
+ return new Promise((resolve) => {
534
+ const r = Object.assign({}, resolveElementRef.current);
535
+ r[id] = resolve;
536
+ resolveElementRef.current = r;
537
+ });
538
+ };
539
+ props.delegate.removeViewFromPortal = async (id) => {
540
+ removeOverlay(id);
541
+ };
542
+ props.delegate.portalReady();
543
+ }, []);
544
+ useLayoutEffect(() => {
545
+ const portalRef = document.querySelector(`#${PORTAL_ID}`);
546
+ if (portalRef) {
547
+ setPortalRef(portalRef);
548
+ }
549
+ }, []);
550
+ useLayoutEffect(() => {
551
+ Object.keys(views).forEach((key) => {
552
+ const resolveQueue = Object.assign({}, resolveElementRef.current);
553
+ const element = document.querySelector(`[data-portal-id="${key}"]`);
554
+ if (element && element.children.length === 1 && resolveQueue[key]) {
555
+ const view = element.children[0];
556
+ resolveQueue[key](view);
557
+ }
558
+ });
559
+ }, [views]);
560
+ if (!portalRef) {
561
+ return null;
562
+ }
563
+ return (React.createElement(React.Fragment, null, Object.keys(views).map((key) => {
564
+ const RenderView = views[key];
565
+ return ReactDOM.createPortal(React.createElement("div", { "data-portal-id": key, style: { display: 'contents ' } }, RenderView), portalRef, key);
566
+ })));
567
+ };
568
+
569
+ /*
570
+ * SPDX-FileCopyrightText: 2024 Siemens AG
571
+ *
572
+ * SPDX-License-Identifier: MIT
573
+ *
574
+ * This source code is licensed under the MIT license found in the
575
+ * LICENSE file in the root directory of this source tree.
576
+ */
577
+ const IxContext = React.createContext(null);
578
+
579
+ /*
580
+ * SPDX-FileCopyrightText: 2024 Siemens AG
581
+ *
582
+ * SPDX-License-Identifier: MIT
583
+ *
584
+ * This source code is licensed under the MIT license found in the
585
+ * LICENSE file in the root directory of this source tree.
586
+ */
587
+ class IxApplicationContext extends React.Component {
588
+ constructor(props) {
589
+ super(props);
590
+ this.delegate = reactFrameworkDelegate;
591
+ this.delegate.isUsingReactPortal = true;
592
+ }
593
+ render() {
594
+ return (React.createElement(IxContext.Provider, { value: {
595
+ delegate: this.delegate,
596
+ } },
597
+ this.props.children,
598
+ React.createElement(IxOverlay, { delegate: this.delegate }),
599
+ React.createElement("div", { id: PORTAL_ID })));
600
+ }
601
+ }
602
+
603
+ /*
604
+ * SPDX-FileCopyrightText: 2024 Siemens AG
605
+ *
606
+ * SPDX-License-Identifier: MIT
607
+ *
608
+ * This source code is licensed under the MIT license found in the
609
+ * LICENSE file in the root directory of this source tree.
610
+ */
611
+ defineCustomElement$1s();
612
+ defineCustomElement$1t();
613
+ defineCustomElement$1u();
614
+ defineCustomElement$1v();
615
+ defineCustomElement$1w();
616
+
617
+ // eslint-disable-next-line no-inline-comments
618
+ const IxIcon = /*@__PURE__*/ createReactComponent('ix-icon', undefined, undefined);
619
+ // Predefine `ix-icon` to be sure its loaded before its used inside the util functions
620
+ defineCustomElement$1x();
621
+
622
+ /*
623
+ * SPDX-FileCopyrightText: 2024 Siemens AG
624
+ *
625
+ * SPDX-License-Identifier: MIT
626
+ *
627
+ * This source code is licensed under the MIT license found in the
628
+ * LICENSE file in the root directory of this source tree.
629
+ */
630
+ const Modal = React.forwardRef((props, ref) => {
631
+ const wrapperRef = useRef(null);
632
+ useImperativeHandle(ref, () => ({
633
+ close(result) {
634
+ var _a;
635
+ (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.closeModal(result);
636
+ },
637
+ dismiss(result) {
638
+ var _a;
639
+ (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.dismissModal(result);
640
+ },
641
+ modalElement: null,
642
+ }));
643
+ return React.createElement(IxModal, { ref: wrapperRef }, props.children);
644
+ });
645
+
646
+ /*
647
+ * SPDX-FileCopyrightText: 2024 Siemens AG
648
+ *
649
+ * SPDX-License-Identifier: MIT
650
+ *
651
+ * This source code is licensed under the MIT license found in the
652
+ * LICENSE file in the root directory of this source tree.
653
+ */
654
+ async function showModal(config) {
655
+ return showModal$1(config);
656
+ }
657
+
658
+ /*
659
+ * SPDX-FileCopyrightText: 2024 Siemens AG
660
+ *
661
+ * SPDX-License-Identifier: MIT
662
+ *
663
+ * This source code is licensed under the MIT license found in the
664
+ * LICENSE file in the root directory of this source tree.
665
+ */
666
+ async function showToast(config) {
667
+ // Define custom element, otherwise dynamic creation of toast container will fail
668
+ defineCustomElement$1i();
669
+ defineCustomElement$1j();
670
+ if (typeof config.message === 'string') {
671
+ const toastInstance = await toast(config);
672
+ return toastInstance;
673
+ }
674
+ const node = config.message;
675
+ const toastContainer = document.createElement('DIV');
676
+ const root = ReactDOMClient.createRoot(toastContainer);
677
+ root.render(node);
678
+ const toastInstance = await toast(Object.assign(Object.assign({}, config), { message: toastContainer }));
679
+ toastInstance.onClose.once(() => {
680
+ root.unmount();
681
+ });
682
+ return toastInstance;
683
+ }
684
+
685
+ /* eslint-disable @typescript-eslint/no-explicit-any */
686
+ // eslint-disable-next-line no-inline-comments
687
+ const InternalIxTree = /*@__PURE__*/ createReactComponent('ix-tree', undefined, undefined, defineCustomElement$1y);
688
+ const IxTree = (props) => {
689
+ const cachedRootNodes = useRef(new Map());
690
+ const renderItem = useCallback((_, data, __, context, update) => {
691
+ const treeItem = document.createElement('ix-tree-item');
692
+ treeItem.hasChildren = data.hasChildren;
693
+ treeItem.context = context[data.id];
694
+ update((itemData, context) => {
695
+ treeItem.context = context[itemData.id];
696
+ treeItem.hasChildren = itemData.hasChildren;
697
+ });
698
+ const container = document.createElement('DIV');
699
+ const rootNode = ReactDOMClient.createRoot(container);
700
+ if (props.renderItem) {
701
+ rootNode.render(props.renderItem(data.data));
702
+ }
703
+ treeItem.appendChild(container);
704
+ cachedRootNodes.current.set(treeItem, rootNode);
705
+ return treeItem;
706
+ }, []);
707
+ return (React.createElement(InternalIxTree, Object.assign({}, props, { renderItem: props.renderItem ? renderItem : undefined, onNodeRemoved: (removed) => {
708
+ const { detail } = removed;
709
+ detail.forEach((removedItemElement) => {
710
+ var _a;
711
+ if (cachedRootNodes.current.has(removedItemElement)) {
712
+ (_a = cachedRootNodes.current.get(removedItemElement)) === null || _a === void 0 ? void 0 : _a.unmount();
713
+ cachedRootNodes.current.delete(removedItemElement);
714
+ }
715
+ });
716
+ } })));
717
+ };
718
+
719
+ export { InternalIxTree, IxActionCard, IxApplication, IxApplicationContext, IxApplicationHeader, IxAvatar, IxBasicNavigation, IxBlind, IxBreadcrumb, IxBreadcrumbItem, IxButton, IxCard, IxCardAccordion, IxCardContent, IxCardList, IxCardTitle, IxCategoryFilter, IxChip, IxCol, IxContent, IxContentHeader, IxDateDropdown, IxDatePicker, IxDatetimePicker, IxDivider, IxDrawer, IxDropdown, IxDropdownButton, IxDropdownHeader, IxDropdownItem, IxDropdownQuickActions, IxEmptyState, IxEventList, IxEventListItem, IxExpandingSearch, IxFilterChip, IxFlipTile, IxFlipTileContent, IxFormField, IxGroup, IxGroupContextMenu, IxGroupItem, IxIcon, IxIconButton, IxIconToggleButton, IxInputGroup, IxKeyValue, IxKeyValueList, IxKpi, IxLayoutGrid, IxLinkButton, IxMapNavigation, IxMapNavigationOverlay, IxMenu, IxMenuAbout, IxMenuAboutItem, IxMenuAboutNews, IxMenuAvatar, IxMenuAvatarItem, IxMenuCategory, IxMenuItem, IxMenuSettings, IxMenuSettingsItem, IxMessageBar, IxModal, IxModalContent, IxModalExample, IxModalFooter, IxModalHeader, IxPagination, IxPane, IxPaneLayout, IxPill, IxPushCard, IxRow, IxSelect, IxSelectItem, IxSlider, IxSpinner, IxSplitButton, IxSplitButtonItem, IxTabItem, IxTabs, IxTile, IxTimePicker, IxToast, IxToastContainer, IxToggle, IxToggleButton, IxTooltip, IxTree, IxTypography, IxUpload, IxValidationTooltip, IxWorkflowStep, IxWorkflowSteps, Modal, showModal, showToast };