@siemens/ix-react 1.6.3 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1,7 +1,7 @@
1
- import React, { createElement, useRef, useImperativeHandle, useCallback } from 'react';
2
- import 'react-dom';
1
+ import React, { createElement, useState, useRef, useEffect, useLayoutEffect, useImperativeHandle, useCallback } from 'react';
2
+ import ReactDOM from 'react-dom';
3
3
  import { defineCustomElements } from '@siemens/ix/loader';
4
- import { closeModal, dismissModal, modal, toast } from '@siemens/ix';
4
+ import { registerFrameworkDelegate, showModal as showModal$1, toast } from '@siemens/ix';
5
5
  import ReactDOMClient from 'react-dom/client';
6
6
 
7
7
  /******************************************************************************
@@ -224,9 +224,8 @@ const createReactComponent = (tagName, ReactComponentContext, manipulatePropsFun
224
224
  /* eslint-disable */
225
225
  defineCustomElements();
226
226
  const IxActionCard = /*@__PURE__*/ createReactComponent('ix-action-card');
227
- const IxAnimatedTab = /*@__PURE__*/ createReactComponent('ix-animated-tab');
228
- const IxAnimatedTabs = /*@__PURE__*/ createReactComponent('ix-animated-tabs');
229
227
  const IxApplicationHeader = /*@__PURE__*/ createReactComponent('ix-application-header');
228
+ const IxAvatar = /*@__PURE__*/ createReactComponent('ix-avatar');
230
229
  const IxBasicNavigation = /*@__PURE__*/ createReactComponent('ix-basic-navigation');
231
230
  const IxBlind = /*@__PURE__*/ createReactComponent('ix-blind');
232
231
  const IxBreadcrumb = /*@__PURE__*/ createReactComponent('ix-breadcrumb');
@@ -239,14 +238,15 @@ const IxCardList = /*@__PURE__*/ createReactComponent('ix-card-list');
239
238
  const IxCardTitle = /*@__PURE__*/ createReactComponent('ix-card-title');
240
239
  const IxCategoryFilter = /*@__PURE__*/ createReactComponent('ix-category-filter');
241
240
  const IxChip = /*@__PURE__*/ createReactComponent('ix-chip');
241
+ const IxCol = /*@__PURE__*/ createReactComponent('ix-col');
242
242
  const IxContentHeader = /*@__PURE__*/ createReactComponent('ix-content-header');
243
- const IxCounterPill = /*@__PURE__*/ createReactComponent('ix-counter-pill');
244
243
  const IxDatePicker = /*@__PURE__*/ createReactComponent('ix-date-picker');
245
244
  const IxDatetimePicker = /*@__PURE__*/ createReactComponent('ix-datetime-picker');
246
245
  const IxDivider = /*@__PURE__*/ createReactComponent('ix-divider');
247
246
  const IxDrawer = /*@__PURE__*/ createReactComponent('ix-drawer');
248
247
  const IxDropdown = /*@__PURE__*/ createReactComponent('ix-dropdown');
249
248
  const IxDropdownButton = /*@__PURE__*/ createReactComponent('ix-dropdown-button');
249
+ const IxDropdownHeader = /*@__PURE__*/ createReactComponent('ix-dropdown-header');
250
250
  const IxDropdownItem = /*@__PURE__*/ createReactComponent('ix-dropdown-item');
251
251
  const IxDropdownQuickActions = /*@__PURE__*/ createReactComponent('ix-dropdown-quick-actions');
252
252
  const IxEmptyState = /*@__PURE__*/ createReactComponent('ix-empty-state');
@@ -256,16 +256,19 @@ const IxExpandingSearch = /*@__PURE__*/ createReactComponent('ix-expanding-searc
256
256
  const IxFilterChip = /*@__PURE__*/ createReactComponent('ix-filter-chip');
257
257
  const IxFlipTile = /*@__PURE__*/ createReactComponent('ix-flip-tile');
258
258
  const IxFlipTileContent = /*@__PURE__*/ createReactComponent('ix-flip-tile-content');
259
+ const IxFormField = /*@__PURE__*/ createReactComponent('ix-form-field');
260
+ const IxGrid = /*@__PURE__*/ createReactComponent('ix-grid');
259
261
  const IxGroup = /*@__PURE__*/ createReactComponent('ix-group');
260
262
  const IxGroupContextMenu = /*@__PURE__*/ createReactComponent('ix-group-context-menu');
261
- const IxGroupDropdownItem = /*@__PURE__*/ createReactComponent('ix-group-dropdown-item');
262
263
  const IxGroupItem = /*@__PURE__*/ createReactComponent('ix-group-item');
263
264
  const IxIcon = /*@__PURE__*/ createReactComponent('ix-icon');
264
265
  const IxIconButton = /*@__PURE__*/ createReactComponent('ix-icon-button');
266
+ const IxIconToggleButton = /*@__PURE__*/ createReactComponent('ix-icon-toggle-button');
265
267
  const IxInputGroup = /*@__PURE__*/ createReactComponent('ix-input-group');
266
268
  const IxKeyValue = /*@__PURE__*/ createReactComponent('ix-key-value');
267
269
  const IxKeyValueList = /*@__PURE__*/ createReactComponent('ix-key-value-list');
268
270
  const IxKpi = /*@__PURE__*/ createReactComponent('ix-kpi');
271
+ const IxLinkButton = /*@__PURE__*/ createReactComponent('ix-link-button');
269
272
  const IxMapNavigation = /*@__PURE__*/ createReactComponent('ix-map-navigation');
270
273
  const IxMapNavigationOverlay = /*@__PURE__*/ createReactComponent('ix-map-navigation-overlay');
271
274
  const IxMenu = /*@__PURE__*/ createReactComponent('ix-menu');
@@ -274,16 +277,20 @@ const IxMenuAboutItem = /*@__PURE__*/ createReactComponent('ix-menu-about-item')
274
277
  const IxMenuAboutNews = /*@__PURE__*/ createReactComponent('ix-menu-about-news');
275
278
  const IxMenuAvatar = /*@__PURE__*/ createReactComponent('ix-menu-avatar');
276
279
  const IxMenuAvatarItem = /*@__PURE__*/ createReactComponent('ix-menu-avatar-item');
280
+ const IxMenuCategory = /*@__PURE__*/ createReactComponent('ix-menu-category');
277
281
  const IxMenuItem = /*@__PURE__*/ createReactComponent('ix-menu-item');
278
282
  const IxMenuSettings = /*@__PURE__*/ createReactComponent('ix-menu-settings');
279
283
  const IxMenuSettingsItem = /*@__PURE__*/ createReactComponent('ix-menu-settings-item');
280
284
  const IxMessageBar = /*@__PURE__*/ createReactComponent('ix-message-bar');
281
285
  const IxModal = /*@__PURE__*/ createReactComponent('ix-modal');
282
- const IxModalContainer = /*@__PURE__*/ createReactComponent('ix-modal-container');
286
+ const IxModalContent = /*@__PURE__*/ createReactComponent('ix-modal-content');
283
287
  const IxModalExample = /*@__PURE__*/ createReactComponent('ix-modal-example');
288
+ const IxModalFooter = /*@__PURE__*/ createReactComponent('ix-modal-footer');
289
+ const IxModalHeader = /*@__PURE__*/ createReactComponent('ix-modal-header');
284
290
  const IxPagination = /*@__PURE__*/ createReactComponent('ix-pagination');
285
291
  const IxPill = /*@__PURE__*/ createReactComponent('ix-pill');
286
292
  const IxPushCard = /*@__PURE__*/ createReactComponent('ix-push-card');
293
+ const IxRow = /*@__PURE__*/ createReactComponent('ix-row');
287
294
  const IxSelect = /*@__PURE__*/ createReactComponent('ix-select');
288
295
  const IxSelectItem = /*@__PURE__*/ createReactComponent('ix-select-item');
289
296
  const IxSpinner = /*@__PURE__*/ createReactComponent('ix-spinner');
@@ -296,43 +303,192 @@ const IxTimePicker = /*@__PURE__*/ createReactComponent('ix-time-picker');
296
303
  const IxToast = /*@__PURE__*/ createReactComponent('ix-toast');
297
304
  const IxToastContainer = /*@__PURE__*/ createReactComponent('ix-toast-container');
298
305
  const IxToggle = /*@__PURE__*/ createReactComponent('ix-toggle');
306
+ const IxToggleButton = /*@__PURE__*/ createReactComponent('ix-toggle-button');
299
307
  const IxTooltip = /*@__PURE__*/ createReactComponent('ix-tooltip');
308
+ const IxTypography = /*@__PURE__*/ createReactComponent('ix-typography');
300
309
  const IxUpload = /*@__PURE__*/ createReactComponent('ix-upload');
301
310
  const IxValidationTooltip = /*@__PURE__*/ createReactComponent('ix-validation-tooltip');
302
311
  const IxWorkflowStep = /*@__PURE__*/ createReactComponent('ix-workflow-step');
303
312
  const IxWorkflowSteps = /*@__PURE__*/ createReactComponent('ix-workflow-steps');
304
313
 
305
- /* eslint-disable @typescript-eslint/no-explicit-any */
306
- const Modal = React.forwardRef((props, ref) => {
307
- const wrapperRef = useRef(null);
308
- useImperativeHandle(ref, () => {
309
- let htmlElement = null;
310
- if (wrapperRef.current) {
311
- htmlElement = wrapperRef.current.closest('ix-modal');
314
+ /*
315
+ * SPDX-FileCopyrightText: 2023 Siemens AG
316
+ *
317
+ * SPDX-License-Identifier: MIT
318
+ *
319
+ * This source code is licensed under the MIT license found in the
320
+ * LICENSE file in the root directory of this source tree.
321
+ */
322
+ let viewInstance = 0;
323
+ function createViewInstance() {
324
+ return `ix-react-view-${viewInstance++}`;
325
+ }
326
+ const mountedRootNodes = {};
327
+ async function fallbackRootDom(id, view) {
328
+ return new Promise((resolve) => {
329
+ const rootElement = document.createElement('DIV');
330
+ rootElement.id = id;
331
+ rootElement.style.display = 'contents';
332
+ document.body.appendChild(rootElement);
333
+ const root = ReactDOMClient.createRoot(rootElement);
334
+ root.render(view);
335
+ mountedRootNodes[id] = root;
336
+ setTimeout(() => {
337
+ const viewElement = rootElement.children[0];
338
+ resolve(viewElement);
339
+ });
340
+ });
341
+ }
342
+ async function fallbackRemoveViewFromRootDom(view) {
343
+ const parent = view.parentElement;
344
+ const id = parent.id;
345
+ if (id in mountedRootNodes) {
346
+ mountedRootNodes[id].unmount();
347
+ delete mountedRootNodes[id];
348
+ parent.remove();
349
+ }
350
+ }
351
+ class ReactFrameworkDelegate {
352
+ async attachView(view) {
353
+ const id = createViewInstance();
354
+ if (!this.attachViewToPortal) {
355
+ return fallbackRootDom(id, view);
312
356
  }
313
- return {
314
- close: (result) => {
315
- const modalElement = wrapperRef.current;
316
- if (!modalElement) {
317
- console.error('Modal cannot find modal reference');
318
- return;
319
- }
320
- closeModal(modalElement, result);
321
- },
322
- dismiss: (result) => {
323
- const modalElement = wrapperRef.current;
324
- if (!modalElement) {
325
- console.error('Modal cannot find modal reference');
326
- return;
327
- }
328
- dismissModal(modalElement, result);
329
- },
330
- modalElement: htmlElement,
357
+ const refElement = await this.attachViewToPortal(id, view);
358
+ return refElement;
359
+ }
360
+ async removeView(view) {
361
+ if (!this.removeViewFromPortal) {
362
+ return fallbackRemoveViewFromRootDom(view);
363
+ }
364
+ const parent = view.parentElement;
365
+ const id = parent.getAttribute('data-portal-id');
366
+ this.removeViewFromPortal(id);
367
+ }
368
+ }
369
+ const reactFrameworkDelegate = new ReactFrameworkDelegate();
370
+ registerFrameworkDelegate(reactFrameworkDelegate);
371
+
372
+ /*
373
+ * SPDX-FileCopyrightText: 2023 Siemens AG
374
+ *
375
+ * SPDX-License-Identifier: MIT
376
+ *
377
+ * This source code is licensed under the MIT license found in the
378
+ * LICENSE file in the root directory of this source tree.
379
+ */
380
+ const PORTAL_ID = 'ix-portal';
381
+ const IxOverlay = (props) => {
382
+ const [portalRef, setPortalRef] = useState(null);
383
+ const resolveElementRef = useRef({});
384
+ const viewRefs = useRef({});
385
+ const [views, setViews] = useState({});
386
+ useEffect(() => {
387
+ const addOverlay = (id, view) => {
388
+ const _views = Object.assign({}, viewRefs.current);
389
+ _views[id] = view;
390
+ setViews(_views);
391
+ viewRefs.current = _views;
331
392
  };
332
- });
333
- return (React.createElement(React.Fragment, null, React.Children.map(props.children, (child) => React.cloneElement(child, {
334
- ref: (ref) => (wrapperRef.current = ref),
335
- }))));
393
+ const removeOverlay = (id) => {
394
+ const _views = Object.assign({}, viewRefs.current);
395
+ delete _views[id];
396
+ setViews(_views);
397
+ viewRefs.current = _views;
398
+ };
399
+ props.delegate.attachViewToPortal = async (id, view) => {
400
+ addOverlay(id, view);
401
+ return new Promise((resolve) => {
402
+ const r = Object.assign({}, resolveElementRef.current);
403
+ r[id] = resolve;
404
+ resolveElementRef.current = r;
405
+ });
406
+ };
407
+ props.delegate.removeViewFromPortal = async (id) => {
408
+ console.log(id);
409
+ removeOverlay(id);
410
+ };
411
+ }, []);
412
+ useLayoutEffect(() => {
413
+ const portalRef = document.querySelector(`#${PORTAL_ID}`);
414
+ if (portalRef) {
415
+ setPortalRef(portalRef);
416
+ }
417
+ }, []);
418
+ useLayoutEffect(() => {
419
+ Object.keys(views).forEach((key) => {
420
+ const resolveQueue = Object.assign({}, resolveElementRef.current);
421
+ const element = document.querySelector(`[data-portal-id="${key}"]`);
422
+ if (element && element.children.length === 1 && resolveQueue[key]) {
423
+ const view = element.children[0];
424
+ resolveQueue[key](view);
425
+ }
426
+ });
427
+ }, [views]);
428
+ if (!portalRef) {
429
+ return null;
430
+ }
431
+ return (React.createElement(React.Fragment, null, Object.keys(views).map((key) => {
432
+ const RenderView = views[key];
433
+ return ReactDOM.createPortal(React.createElement("div", { "data-portal-id": key, style: { display: 'contents ' } }, RenderView), portalRef, key);
434
+ })));
435
+ };
436
+
437
+ /*
438
+ * SPDX-FileCopyrightText: 2023 Siemens AG
439
+ *
440
+ * SPDX-License-Identifier: MIT
441
+ *
442
+ * This source code is licensed under the MIT license found in the
443
+ * LICENSE file in the root directory of this source tree.
444
+ */
445
+ const IxContext = React.createContext(null);
446
+
447
+ /*
448
+ * SPDX-FileCopyrightText: 2023 Siemens AG
449
+ *
450
+ * SPDX-License-Identifier: MIT
451
+ *
452
+ * This source code is licensed under the MIT license found in the
453
+ * LICENSE file in the root directory of this source tree.
454
+ */
455
+ class IxApplicationContext extends React.Component {
456
+ constructor(props) {
457
+ super(props);
458
+ this.delegate = reactFrameworkDelegate;
459
+ }
460
+ render() {
461
+ return (React.createElement(IxContext.Provider, { value: {
462
+ delegate: this.delegate,
463
+ } },
464
+ this.props.children,
465
+ React.createElement(IxOverlay, { delegate: this.delegate }),
466
+ React.createElement("div", { id: PORTAL_ID })));
467
+ }
468
+ }
469
+
470
+ /*
471
+ * SPDX-FileCopyrightText: 2023 Siemens AG
472
+ *
473
+ * SPDX-License-Identifier: MIT
474
+ *
475
+ * This source code is licensed under the MIT license found in the
476
+ * LICENSE file in the root directory of this source tree.
477
+ */
478
+ const Modal = React.forwardRef((props, ref) => {
479
+ const wrapperRef = useRef(null);
480
+ useImperativeHandle(ref, () => ({
481
+ close(result) {
482
+ var _a;
483
+ (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.closeModal(result);
484
+ },
485
+ dismiss(result) {
486
+ var _a;
487
+ (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.dismissModal(result);
488
+ },
489
+ modalElement: null,
490
+ }));
491
+ return React.createElement(IxModal, { ref: wrapperRef }, props.children);
336
492
  });
337
493
 
338
494
  /*
@@ -343,23 +499,8 @@ const Modal = React.forwardRef((props, ref) => {
343
499
  * This source code is licensed under the MIT license found in the
344
500
  * LICENSE file in the root directory of this source tree.
345
501
  */
346
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
347
502
  async function showModal(config) {
348
- if (typeof config.content === 'string') {
349
- return modal(config);
350
- }
351
- const container = document.createElement('DIV');
352
- container.style.display = 'contents';
353
- const root = ReactDOMClient.createRoot(container);
354
- root.render(config.content);
355
- const modalInstance = await modal(Object.assign(Object.assign({}, config), { content: container }));
356
- modalInstance.onClose.once(() => {
357
- root.unmount();
358
- });
359
- modalInstance.onDismiss.once(() => {
360
- root.unmount();
361
- });
362
- return modalInstance;
503
+ return showModal$1(config);
363
504
  }
364
505
 
365
506
  /*
@@ -420,4 +561,4 @@ const IxTree = (props) => {
420
561
  } })));
421
562
  };
422
563
 
423
- export { IxActionCard, IxAnimatedTab, IxAnimatedTabs, IxApplicationHeader, IxBasicNavigation, IxBlind, IxBreadcrumb, IxBreadcrumbItem, IxButton, IxCard, IxCardAccordion, IxCardContent, IxCardList, IxCardTitle, IxCategoryFilter, IxChip, IxContentHeader, IxCounterPill, IxDatePicker, IxDatetimePicker, IxDivider, IxDrawer, IxDropdown, IxDropdownButton, IxDropdownItem, IxDropdownQuickActions, IxEmptyState, IxEventList, IxEventListItem, IxExpandingSearch, IxFilterChip, IxFlipTile, IxFlipTileContent, IxGroup, IxGroupContextMenu, IxGroupDropdownItem, IxGroupItem, IxIcon, IxIconButton, IxInputGroup, IxKeyValue, IxKeyValueList, IxKpi, IxMapNavigation, IxMapNavigationOverlay, IxMenu, IxMenuAbout, IxMenuAboutItem, IxMenuAboutNews, IxMenuAvatar, IxMenuAvatarItem, IxMenuItem, IxMenuSettings, IxMenuSettingsItem, IxMessageBar, IxModal, IxModalContainer, IxModalExample, IxPagination, IxPill, IxPushCard, IxSelect, IxSelectItem, IxSpinner, IxSplitButton, IxSplitButtonItem, IxTabItem, IxTabs, IxTile, IxTimePicker, IxToast, IxToastContainer, IxToggle, IxTooltip, IxTree, IxUpload, IxValidationTooltip, IxWorkflowStep, IxWorkflowSteps, Modal, showModal, showToast };
564
+ export { IxActionCard, IxApplicationContext, IxApplicationHeader, IxAvatar, IxBasicNavigation, IxBlind, IxBreadcrumb, IxBreadcrumbItem, IxButton, IxCard, IxCardAccordion, IxCardContent, IxCardList, IxCardTitle, IxCategoryFilter, IxChip, IxCol, IxContentHeader, IxDatePicker, IxDatetimePicker, IxDivider, IxDrawer, IxDropdown, IxDropdownButton, IxDropdownHeader, IxDropdownItem, IxDropdownQuickActions, IxEmptyState, IxEventList, IxEventListItem, IxExpandingSearch, IxFilterChip, IxFlipTile, IxFlipTileContent, IxFormField, IxGrid, IxGroup, IxGroupContextMenu, IxGroupItem, IxIcon, IxIconButton, IxIconToggleButton, IxInputGroup, IxKeyValue, IxKeyValueList, IxKpi, IxLinkButton, IxMapNavigation, IxMapNavigationOverlay, IxMenu, IxMenuAbout, IxMenuAboutItem, IxMenuAboutNews, IxMenuAvatar, IxMenuAvatarItem, IxMenuCategory, IxMenuItem, IxMenuSettings, IxMenuSettingsItem, IxMessageBar, IxModal, IxModalContent, IxModalExample, IxModalFooter, IxModalHeader, IxPagination, IxPill, IxPushCard, IxRow, IxSelect, IxSelectItem, IxSpinner, IxSplitButton, IxSplitButtonItem, IxTabItem, IxTabs, IxTile, IxTimePicker, IxToast, IxToastContainer, IxToggle, IxToggleButton, IxTooltip, IxTree, IxTypography, IxUpload, IxValidationTooltip, IxWorkflowStep, IxWorkflowSteps, Modal, showModal, showToast };
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const React = require('react');
6
- require('react-dom');
6
+ const ReactDOM = require('react-dom');
7
7
  const loader = require('@siemens/ix/loader');
8
8
  const ix = require('@siemens/ix');
9
9
  const ReactDOMClient = require('react-dom/client');
@@ -11,6 +11,7 @@ const ReactDOMClient = require('react-dom/client');
11
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
12
 
13
13
  const React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
+ const ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
14
15
  const ReactDOMClient__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOMClient);
15
16
 
16
17
  /******************************************************************************
@@ -233,9 +234,8 @@ const createReactComponent = (tagName, ReactComponentContext, manipulatePropsFun
233
234
  /* eslint-disable */
234
235
  loader.defineCustomElements();
235
236
  const IxActionCard = /*@__PURE__*/ createReactComponent('ix-action-card');
236
- const IxAnimatedTab = /*@__PURE__*/ createReactComponent('ix-animated-tab');
237
- const IxAnimatedTabs = /*@__PURE__*/ createReactComponent('ix-animated-tabs');
238
237
  const IxApplicationHeader = /*@__PURE__*/ createReactComponent('ix-application-header');
238
+ const IxAvatar = /*@__PURE__*/ createReactComponent('ix-avatar');
239
239
  const IxBasicNavigation = /*@__PURE__*/ createReactComponent('ix-basic-navigation');
240
240
  const IxBlind = /*@__PURE__*/ createReactComponent('ix-blind');
241
241
  const IxBreadcrumb = /*@__PURE__*/ createReactComponent('ix-breadcrumb');
@@ -248,14 +248,15 @@ const IxCardList = /*@__PURE__*/ createReactComponent('ix-card-list');
248
248
  const IxCardTitle = /*@__PURE__*/ createReactComponent('ix-card-title');
249
249
  const IxCategoryFilter = /*@__PURE__*/ createReactComponent('ix-category-filter');
250
250
  const IxChip = /*@__PURE__*/ createReactComponent('ix-chip');
251
+ const IxCol = /*@__PURE__*/ createReactComponent('ix-col');
251
252
  const IxContentHeader = /*@__PURE__*/ createReactComponent('ix-content-header');
252
- const IxCounterPill = /*@__PURE__*/ createReactComponent('ix-counter-pill');
253
253
  const IxDatePicker = /*@__PURE__*/ createReactComponent('ix-date-picker');
254
254
  const IxDatetimePicker = /*@__PURE__*/ createReactComponent('ix-datetime-picker');
255
255
  const IxDivider = /*@__PURE__*/ createReactComponent('ix-divider');
256
256
  const IxDrawer = /*@__PURE__*/ createReactComponent('ix-drawer');
257
257
  const IxDropdown = /*@__PURE__*/ createReactComponent('ix-dropdown');
258
258
  const IxDropdownButton = /*@__PURE__*/ createReactComponent('ix-dropdown-button');
259
+ const IxDropdownHeader = /*@__PURE__*/ createReactComponent('ix-dropdown-header');
259
260
  const IxDropdownItem = /*@__PURE__*/ createReactComponent('ix-dropdown-item');
260
261
  const IxDropdownQuickActions = /*@__PURE__*/ createReactComponent('ix-dropdown-quick-actions');
261
262
  const IxEmptyState = /*@__PURE__*/ createReactComponent('ix-empty-state');
@@ -265,16 +266,19 @@ const IxExpandingSearch = /*@__PURE__*/ createReactComponent('ix-expanding-searc
265
266
  const IxFilterChip = /*@__PURE__*/ createReactComponent('ix-filter-chip');
266
267
  const IxFlipTile = /*@__PURE__*/ createReactComponent('ix-flip-tile');
267
268
  const IxFlipTileContent = /*@__PURE__*/ createReactComponent('ix-flip-tile-content');
269
+ const IxFormField = /*@__PURE__*/ createReactComponent('ix-form-field');
270
+ const IxGrid = /*@__PURE__*/ createReactComponent('ix-grid');
268
271
  const IxGroup = /*@__PURE__*/ createReactComponent('ix-group');
269
272
  const IxGroupContextMenu = /*@__PURE__*/ createReactComponent('ix-group-context-menu');
270
- const IxGroupDropdownItem = /*@__PURE__*/ createReactComponent('ix-group-dropdown-item');
271
273
  const IxGroupItem = /*@__PURE__*/ createReactComponent('ix-group-item');
272
274
  const IxIcon = /*@__PURE__*/ createReactComponent('ix-icon');
273
275
  const IxIconButton = /*@__PURE__*/ createReactComponent('ix-icon-button');
276
+ const IxIconToggleButton = /*@__PURE__*/ createReactComponent('ix-icon-toggle-button');
274
277
  const IxInputGroup = /*@__PURE__*/ createReactComponent('ix-input-group');
275
278
  const IxKeyValue = /*@__PURE__*/ createReactComponent('ix-key-value');
276
279
  const IxKeyValueList = /*@__PURE__*/ createReactComponent('ix-key-value-list');
277
280
  const IxKpi = /*@__PURE__*/ createReactComponent('ix-kpi');
281
+ const IxLinkButton = /*@__PURE__*/ createReactComponent('ix-link-button');
278
282
  const IxMapNavigation = /*@__PURE__*/ createReactComponent('ix-map-navigation');
279
283
  const IxMapNavigationOverlay = /*@__PURE__*/ createReactComponent('ix-map-navigation-overlay');
280
284
  const IxMenu = /*@__PURE__*/ createReactComponent('ix-menu');
@@ -283,16 +287,20 @@ const IxMenuAboutItem = /*@__PURE__*/ createReactComponent('ix-menu-about-item')
283
287
  const IxMenuAboutNews = /*@__PURE__*/ createReactComponent('ix-menu-about-news');
284
288
  const IxMenuAvatar = /*@__PURE__*/ createReactComponent('ix-menu-avatar');
285
289
  const IxMenuAvatarItem = /*@__PURE__*/ createReactComponent('ix-menu-avatar-item');
290
+ const IxMenuCategory = /*@__PURE__*/ createReactComponent('ix-menu-category');
286
291
  const IxMenuItem = /*@__PURE__*/ createReactComponent('ix-menu-item');
287
292
  const IxMenuSettings = /*@__PURE__*/ createReactComponent('ix-menu-settings');
288
293
  const IxMenuSettingsItem = /*@__PURE__*/ createReactComponent('ix-menu-settings-item');
289
294
  const IxMessageBar = /*@__PURE__*/ createReactComponent('ix-message-bar');
290
295
  const IxModal = /*@__PURE__*/ createReactComponent('ix-modal');
291
- const IxModalContainer = /*@__PURE__*/ createReactComponent('ix-modal-container');
296
+ const IxModalContent = /*@__PURE__*/ createReactComponent('ix-modal-content');
292
297
  const IxModalExample = /*@__PURE__*/ createReactComponent('ix-modal-example');
298
+ const IxModalFooter = /*@__PURE__*/ createReactComponent('ix-modal-footer');
299
+ const IxModalHeader = /*@__PURE__*/ createReactComponent('ix-modal-header');
293
300
  const IxPagination = /*@__PURE__*/ createReactComponent('ix-pagination');
294
301
  const IxPill = /*@__PURE__*/ createReactComponent('ix-pill');
295
302
  const IxPushCard = /*@__PURE__*/ createReactComponent('ix-push-card');
303
+ const IxRow = /*@__PURE__*/ createReactComponent('ix-row');
296
304
  const IxSelect = /*@__PURE__*/ createReactComponent('ix-select');
297
305
  const IxSelectItem = /*@__PURE__*/ createReactComponent('ix-select-item');
298
306
  const IxSpinner = /*@__PURE__*/ createReactComponent('ix-spinner');
@@ -305,43 +313,192 @@ const IxTimePicker = /*@__PURE__*/ createReactComponent('ix-time-picker');
305
313
  const IxToast = /*@__PURE__*/ createReactComponent('ix-toast');
306
314
  const IxToastContainer = /*@__PURE__*/ createReactComponent('ix-toast-container');
307
315
  const IxToggle = /*@__PURE__*/ createReactComponent('ix-toggle');
316
+ const IxToggleButton = /*@__PURE__*/ createReactComponent('ix-toggle-button');
308
317
  const IxTooltip = /*@__PURE__*/ createReactComponent('ix-tooltip');
318
+ const IxTypography = /*@__PURE__*/ createReactComponent('ix-typography');
309
319
  const IxUpload = /*@__PURE__*/ createReactComponent('ix-upload');
310
320
  const IxValidationTooltip = /*@__PURE__*/ createReactComponent('ix-validation-tooltip');
311
321
  const IxWorkflowStep = /*@__PURE__*/ createReactComponent('ix-workflow-step');
312
322
  const IxWorkflowSteps = /*@__PURE__*/ createReactComponent('ix-workflow-steps');
313
323
 
314
- /* eslint-disable @typescript-eslint/no-explicit-any */
315
- const Modal = React__default["default"].forwardRef((props, ref) => {
316
- const wrapperRef = React.useRef(null);
317
- React.useImperativeHandle(ref, () => {
318
- let htmlElement = null;
319
- if (wrapperRef.current) {
320
- htmlElement = wrapperRef.current.closest('ix-modal');
324
+ /*
325
+ * SPDX-FileCopyrightText: 2023 Siemens AG
326
+ *
327
+ * SPDX-License-Identifier: MIT
328
+ *
329
+ * This source code is licensed under the MIT license found in the
330
+ * LICENSE file in the root directory of this source tree.
331
+ */
332
+ let viewInstance = 0;
333
+ function createViewInstance() {
334
+ return `ix-react-view-${viewInstance++}`;
335
+ }
336
+ const mountedRootNodes = {};
337
+ async function fallbackRootDom(id, view) {
338
+ return new Promise((resolve) => {
339
+ const rootElement = document.createElement('DIV');
340
+ rootElement.id = id;
341
+ rootElement.style.display = 'contents';
342
+ document.body.appendChild(rootElement);
343
+ const root = ReactDOMClient__default["default"].createRoot(rootElement);
344
+ root.render(view);
345
+ mountedRootNodes[id] = root;
346
+ setTimeout(() => {
347
+ const viewElement = rootElement.children[0];
348
+ resolve(viewElement);
349
+ });
350
+ });
351
+ }
352
+ async function fallbackRemoveViewFromRootDom(view) {
353
+ const parent = view.parentElement;
354
+ const id = parent.id;
355
+ if (id in mountedRootNodes) {
356
+ mountedRootNodes[id].unmount();
357
+ delete mountedRootNodes[id];
358
+ parent.remove();
359
+ }
360
+ }
361
+ class ReactFrameworkDelegate {
362
+ async attachView(view) {
363
+ const id = createViewInstance();
364
+ if (!this.attachViewToPortal) {
365
+ return fallbackRootDom(id, view);
321
366
  }
322
- return {
323
- close: (result) => {
324
- const modalElement = wrapperRef.current;
325
- if (!modalElement) {
326
- console.error('Modal cannot find modal reference');
327
- return;
328
- }
329
- ix.closeModal(modalElement, result);
330
- },
331
- dismiss: (result) => {
332
- const modalElement = wrapperRef.current;
333
- if (!modalElement) {
334
- console.error('Modal cannot find modal reference');
335
- return;
336
- }
337
- ix.dismissModal(modalElement, result);
338
- },
339
- modalElement: htmlElement,
367
+ const refElement = await this.attachViewToPortal(id, view);
368
+ return refElement;
369
+ }
370
+ async removeView(view) {
371
+ if (!this.removeViewFromPortal) {
372
+ return fallbackRemoveViewFromRootDom(view);
373
+ }
374
+ const parent = view.parentElement;
375
+ const id = parent.getAttribute('data-portal-id');
376
+ this.removeViewFromPortal(id);
377
+ }
378
+ }
379
+ const reactFrameworkDelegate = new ReactFrameworkDelegate();
380
+ ix.registerFrameworkDelegate(reactFrameworkDelegate);
381
+
382
+ /*
383
+ * SPDX-FileCopyrightText: 2023 Siemens AG
384
+ *
385
+ * SPDX-License-Identifier: MIT
386
+ *
387
+ * This source code is licensed under the MIT license found in the
388
+ * LICENSE file in the root directory of this source tree.
389
+ */
390
+ const PORTAL_ID = 'ix-portal';
391
+ const IxOverlay = (props) => {
392
+ const [portalRef, setPortalRef] = React.useState(null);
393
+ const resolveElementRef = React.useRef({});
394
+ const viewRefs = React.useRef({});
395
+ const [views, setViews] = React.useState({});
396
+ React.useEffect(() => {
397
+ const addOverlay = (id, view) => {
398
+ const _views = Object.assign({}, viewRefs.current);
399
+ _views[id] = view;
400
+ setViews(_views);
401
+ viewRefs.current = _views;
340
402
  };
341
- });
342
- return (React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].Children.map(props.children, (child) => React__default["default"].cloneElement(child, {
343
- ref: (ref) => (wrapperRef.current = ref),
344
- }))));
403
+ const removeOverlay = (id) => {
404
+ const _views = Object.assign({}, viewRefs.current);
405
+ delete _views[id];
406
+ setViews(_views);
407
+ viewRefs.current = _views;
408
+ };
409
+ props.delegate.attachViewToPortal = async (id, view) => {
410
+ addOverlay(id, view);
411
+ return new Promise((resolve) => {
412
+ const r = Object.assign({}, resolveElementRef.current);
413
+ r[id] = resolve;
414
+ resolveElementRef.current = r;
415
+ });
416
+ };
417
+ props.delegate.removeViewFromPortal = async (id) => {
418
+ console.log(id);
419
+ removeOverlay(id);
420
+ };
421
+ }, []);
422
+ React.useLayoutEffect(() => {
423
+ const portalRef = document.querySelector(`#${PORTAL_ID}`);
424
+ if (portalRef) {
425
+ setPortalRef(portalRef);
426
+ }
427
+ }, []);
428
+ React.useLayoutEffect(() => {
429
+ Object.keys(views).forEach((key) => {
430
+ const resolveQueue = Object.assign({}, resolveElementRef.current);
431
+ const element = document.querySelector(`[data-portal-id="${key}"]`);
432
+ if (element && element.children.length === 1 && resolveQueue[key]) {
433
+ const view = element.children[0];
434
+ resolveQueue[key](view);
435
+ }
436
+ });
437
+ }, [views]);
438
+ if (!portalRef) {
439
+ return null;
440
+ }
441
+ return (React__default["default"].createElement(React__default["default"].Fragment, null, Object.keys(views).map((key) => {
442
+ const RenderView = views[key];
443
+ return ReactDOM__default["default"].createPortal(React__default["default"].createElement("div", { "data-portal-id": key, style: { display: 'contents ' } }, RenderView), portalRef, key);
444
+ })));
445
+ };
446
+
447
+ /*
448
+ * SPDX-FileCopyrightText: 2023 Siemens AG
449
+ *
450
+ * SPDX-License-Identifier: MIT
451
+ *
452
+ * This source code is licensed under the MIT license found in the
453
+ * LICENSE file in the root directory of this source tree.
454
+ */
455
+ const IxContext = React__default["default"].createContext(null);
456
+
457
+ /*
458
+ * SPDX-FileCopyrightText: 2023 Siemens AG
459
+ *
460
+ * SPDX-License-Identifier: MIT
461
+ *
462
+ * This source code is licensed under the MIT license found in the
463
+ * LICENSE file in the root directory of this source tree.
464
+ */
465
+ class IxApplicationContext extends React__default["default"].Component {
466
+ constructor(props) {
467
+ super(props);
468
+ this.delegate = reactFrameworkDelegate;
469
+ }
470
+ render() {
471
+ return (React__default["default"].createElement(IxContext.Provider, { value: {
472
+ delegate: this.delegate,
473
+ } },
474
+ this.props.children,
475
+ React__default["default"].createElement(IxOverlay, { delegate: this.delegate }),
476
+ React__default["default"].createElement("div", { id: PORTAL_ID })));
477
+ }
478
+ }
479
+
480
+ /*
481
+ * SPDX-FileCopyrightText: 2023 Siemens AG
482
+ *
483
+ * SPDX-License-Identifier: MIT
484
+ *
485
+ * This source code is licensed under the MIT license found in the
486
+ * LICENSE file in the root directory of this source tree.
487
+ */
488
+ const Modal = React__default["default"].forwardRef((props, ref) => {
489
+ const wrapperRef = React.useRef(null);
490
+ React.useImperativeHandle(ref, () => ({
491
+ close(result) {
492
+ var _a;
493
+ (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.closeModal(result);
494
+ },
495
+ dismiss(result) {
496
+ var _a;
497
+ (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.dismissModal(result);
498
+ },
499
+ modalElement: null,
500
+ }));
501
+ return React__default["default"].createElement(IxModal, { ref: wrapperRef }, props.children);
345
502
  });
346
503
 
347
504
  /*
@@ -352,23 +509,8 @@ const Modal = React__default["default"].forwardRef((props, ref) => {
352
509
  * This source code is licensed under the MIT license found in the
353
510
  * LICENSE file in the root directory of this source tree.
354
511
  */
355
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
356
512
  async function showModal(config) {
357
- if (typeof config.content === 'string') {
358
- return ix.modal(config);
359
- }
360
- const container = document.createElement('DIV');
361
- container.style.display = 'contents';
362
- const root = ReactDOMClient__default["default"].createRoot(container);
363
- root.render(config.content);
364
- const modalInstance = await ix.modal(Object.assign(Object.assign({}, config), { content: container }));
365
- modalInstance.onClose.once(() => {
366
- root.unmount();
367
- });
368
- modalInstance.onDismiss.once(() => {
369
- root.unmount();
370
- });
371
- return modalInstance;
513
+ return ix.showModal(config);
372
514
  }
373
515
 
374
516
  /*
@@ -430,9 +572,9 @@ const IxTree = (props) => {
430
572
  };
431
573
 
432
574
  exports.IxActionCard = IxActionCard;
433
- exports.IxAnimatedTab = IxAnimatedTab;
434
- exports.IxAnimatedTabs = IxAnimatedTabs;
575
+ exports.IxApplicationContext = IxApplicationContext;
435
576
  exports.IxApplicationHeader = IxApplicationHeader;
577
+ exports.IxAvatar = IxAvatar;
436
578
  exports.IxBasicNavigation = IxBasicNavigation;
437
579
  exports.IxBlind = IxBlind;
438
580
  exports.IxBreadcrumb = IxBreadcrumb;
@@ -445,14 +587,15 @@ exports.IxCardList = IxCardList;
445
587
  exports.IxCardTitle = IxCardTitle;
446
588
  exports.IxCategoryFilter = IxCategoryFilter;
447
589
  exports.IxChip = IxChip;
590
+ exports.IxCol = IxCol;
448
591
  exports.IxContentHeader = IxContentHeader;
449
- exports.IxCounterPill = IxCounterPill;
450
592
  exports.IxDatePicker = IxDatePicker;
451
593
  exports.IxDatetimePicker = IxDatetimePicker;
452
594
  exports.IxDivider = IxDivider;
453
595
  exports.IxDrawer = IxDrawer;
454
596
  exports.IxDropdown = IxDropdown;
455
597
  exports.IxDropdownButton = IxDropdownButton;
598
+ exports.IxDropdownHeader = IxDropdownHeader;
456
599
  exports.IxDropdownItem = IxDropdownItem;
457
600
  exports.IxDropdownQuickActions = IxDropdownQuickActions;
458
601
  exports.IxEmptyState = IxEmptyState;
@@ -462,16 +605,19 @@ exports.IxExpandingSearch = IxExpandingSearch;
462
605
  exports.IxFilterChip = IxFilterChip;
463
606
  exports.IxFlipTile = IxFlipTile;
464
607
  exports.IxFlipTileContent = IxFlipTileContent;
608
+ exports.IxFormField = IxFormField;
609
+ exports.IxGrid = IxGrid;
465
610
  exports.IxGroup = IxGroup;
466
611
  exports.IxGroupContextMenu = IxGroupContextMenu;
467
- exports.IxGroupDropdownItem = IxGroupDropdownItem;
468
612
  exports.IxGroupItem = IxGroupItem;
469
613
  exports.IxIcon = IxIcon;
470
614
  exports.IxIconButton = IxIconButton;
615
+ exports.IxIconToggleButton = IxIconToggleButton;
471
616
  exports.IxInputGroup = IxInputGroup;
472
617
  exports.IxKeyValue = IxKeyValue;
473
618
  exports.IxKeyValueList = IxKeyValueList;
474
619
  exports.IxKpi = IxKpi;
620
+ exports.IxLinkButton = IxLinkButton;
475
621
  exports.IxMapNavigation = IxMapNavigation;
476
622
  exports.IxMapNavigationOverlay = IxMapNavigationOverlay;
477
623
  exports.IxMenu = IxMenu;
@@ -480,16 +626,20 @@ exports.IxMenuAboutItem = IxMenuAboutItem;
480
626
  exports.IxMenuAboutNews = IxMenuAboutNews;
481
627
  exports.IxMenuAvatar = IxMenuAvatar;
482
628
  exports.IxMenuAvatarItem = IxMenuAvatarItem;
629
+ exports.IxMenuCategory = IxMenuCategory;
483
630
  exports.IxMenuItem = IxMenuItem;
484
631
  exports.IxMenuSettings = IxMenuSettings;
485
632
  exports.IxMenuSettingsItem = IxMenuSettingsItem;
486
633
  exports.IxMessageBar = IxMessageBar;
487
634
  exports.IxModal = IxModal;
488
- exports.IxModalContainer = IxModalContainer;
635
+ exports.IxModalContent = IxModalContent;
489
636
  exports.IxModalExample = IxModalExample;
637
+ exports.IxModalFooter = IxModalFooter;
638
+ exports.IxModalHeader = IxModalHeader;
490
639
  exports.IxPagination = IxPagination;
491
640
  exports.IxPill = IxPill;
492
641
  exports.IxPushCard = IxPushCard;
642
+ exports.IxRow = IxRow;
493
643
  exports.IxSelect = IxSelect;
494
644
  exports.IxSelectItem = IxSelectItem;
495
645
  exports.IxSpinner = IxSpinner;
@@ -502,8 +652,10 @@ exports.IxTimePicker = IxTimePicker;
502
652
  exports.IxToast = IxToast;
503
653
  exports.IxToastContainer = IxToastContainer;
504
654
  exports.IxToggle = IxToggle;
655
+ exports.IxToggleButton = IxToggleButton;
505
656
  exports.IxTooltip = IxTooltip;
506
657
  exports.IxTree = IxTree;
658
+ exports.IxTypography = IxTypography;
507
659
  exports.IxUpload = IxUpload;
508
660
  exports.IxValidationTooltip = IxValidationTooltip;
509
661
  exports.IxWorkflowStep = IxWorkflowStep;
@@ -1,9 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import type { JSX } from '@siemens/ix';
3
3
  export declare const IxActionCard: import("react").ForwardRefExoticComponent<JSX.IxActionCard & Omit<import("react").HTMLAttributes<HTMLIxActionCardElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxActionCardElement>>;
4
- export declare const IxAnimatedTab: import("react").ForwardRefExoticComponent<JSX.IxAnimatedTab & Omit<import("react").HTMLAttributes<HTMLIxAnimatedTabElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxAnimatedTabElement>>;
5
- export declare const IxAnimatedTabs: import("react").ForwardRefExoticComponent<JSX.IxAnimatedTabs & Omit<import("react").HTMLAttributes<HTMLIxAnimatedTabsElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxAnimatedTabsElement>>;
6
4
  export declare const IxApplicationHeader: import("react").ForwardRefExoticComponent<JSX.IxApplicationHeader & Omit<import("react").HTMLAttributes<HTMLIxApplicationHeaderElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxApplicationHeaderElement>>;
5
+ export declare const IxAvatar: import("react").ForwardRefExoticComponent<JSX.IxAvatar & Omit<import("react").HTMLAttributes<HTMLIxAvatarElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxAvatarElement>>;
7
6
  export declare const IxBasicNavigation: import("react").ForwardRefExoticComponent<JSX.IxBasicNavigation & Omit<import("react").HTMLAttributes<HTMLIxBasicNavigationElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxBasicNavigationElement>>;
8
7
  export declare const IxBlind: import("react").ForwardRefExoticComponent<JSX.IxBlind & Omit<import("react").HTMLAttributes<HTMLIxBlindElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxBlindElement>>;
9
8
  export declare const IxBreadcrumb: import("react").ForwardRefExoticComponent<JSX.IxBreadcrumb & Omit<import("react").HTMLAttributes<HTMLIxBreadcrumbElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxBreadcrumbElement>>;
@@ -16,14 +15,15 @@ export declare const IxCardList: import("react").ForwardRefExoticComponent<JSX.I
16
15
  export declare const IxCardTitle: import("react").ForwardRefExoticComponent<JSX.IxCardTitle & Omit<import("react").HTMLAttributes<HTMLIxCardTitleElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxCardTitleElement>>;
17
16
  export declare const IxCategoryFilter: import("react").ForwardRefExoticComponent<JSX.IxCategoryFilter & Omit<import("react").HTMLAttributes<HTMLIxCategoryFilterElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxCategoryFilterElement>>;
18
17
  export declare const IxChip: import("react").ForwardRefExoticComponent<JSX.IxChip & Omit<import("react").HTMLAttributes<HTMLIxChipElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxChipElement>>;
18
+ export declare const IxCol: import("react").ForwardRefExoticComponent<JSX.IxCol & Omit<import("react").HTMLAttributes<HTMLIxColElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxColElement>>;
19
19
  export declare const IxContentHeader: import("react").ForwardRefExoticComponent<JSX.IxContentHeader & Omit<import("react").HTMLAttributes<HTMLIxContentHeaderElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxContentHeaderElement>>;
20
- export declare const IxCounterPill: import("react").ForwardRefExoticComponent<JSX.IxCounterPill & Omit<import("react").HTMLAttributes<HTMLIxCounterPillElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxCounterPillElement>>;
21
20
  export declare const IxDatePicker: import("react").ForwardRefExoticComponent<JSX.IxDatePicker & Omit<import("react").HTMLAttributes<HTMLIxDatePickerElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxDatePickerElement>>;
22
21
  export declare const IxDatetimePicker: import("react").ForwardRefExoticComponent<JSX.IxDatetimePicker & Omit<import("react").HTMLAttributes<HTMLIxDatetimePickerElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxDatetimePickerElement>>;
23
22
  export declare const IxDivider: import("react").ForwardRefExoticComponent<JSX.IxDivider & Omit<import("react").HTMLAttributes<HTMLIxDividerElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxDividerElement>>;
24
23
  export declare const IxDrawer: import("react").ForwardRefExoticComponent<JSX.IxDrawer & Omit<import("react").HTMLAttributes<HTMLIxDrawerElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxDrawerElement>>;
25
24
  export declare const IxDropdown: import("react").ForwardRefExoticComponent<JSX.IxDropdown & Omit<import("react").HTMLAttributes<HTMLIxDropdownElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxDropdownElement>>;
26
25
  export declare const IxDropdownButton: import("react").ForwardRefExoticComponent<JSX.IxDropdownButton & Omit<import("react").HTMLAttributes<HTMLIxDropdownButtonElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxDropdownButtonElement>>;
26
+ export declare const IxDropdownHeader: import("react").ForwardRefExoticComponent<JSX.IxDropdownHeader & Omit<import("react").HTMLAttributes<HTMLIxDropdownHeaderElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxDropdownHeaderElement>>;
27
27
  export declare const IxDropdownItem: import("react").ForwardRefExoticComponent<JSX.IxDropdownItem & Omit<import("react").HTMLAttributes<HTMLIxDropdownItemElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxDropdownItemElement>>;
28
28
  export declare const IxDropdownQuickActions: import("react").ForwardRefExoticComponent<JSX.IxDropdownQuickActions & Omit<import("react").HTMLAttributes<HTMLIxDropdownQuickActionsElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxDropdownQuickActionsElement>>;
29
29
  export declare const IxEmptyState: import("react").ForwardRefExoticComponent<JSX.IxEmptyState & Omit<import("react").HTMLAttributes<HTMLIxEmptyStateElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxEmptyStateElement>>;
@@ -33,16 +33,19 @@ export declare const IxExpandingSearch: import("react").ForwardRefExoticComponen
33
33
  export declare const IxFilterChip: import("react").ForwardRefExoticComponent<JSX.IxFilterChip & Omit<import("react").HTMLAttributes<HTMLIxFilterChipElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxFilterChipElement>>;
34
34
  export declare const IxFlipTile: import("react").ForwardRefExoticComponent<JSX.IxFlipTile & Omit<import("react").HTMLAttributes<HTMLIxFlipTileElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxFlipTileElement>>;
35
35
  export declare const IxFlipTileContent: import("react").ForwardRefExoticComponent<JSX.IxFlipTileContent & Omit<import("react").HTMLAttributes<HTMLIxFlipTileContentElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxFlipTileContentElement>>;
36
+ export declare const IxFormField: import("react").ForwardRefExoticComponent<JSX.IxFormField & Omit<import("react").HTMLAttributes<HTMLIxFormFieldElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxFormFieldElement>>;
37
+ export declare const IxGrid: import("react").ForwardRefExoticComponent<JSX.IxGrid & Omit<import("react").HTMLAttributes<HTMLIxGridElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxGridElement>>;
36
38
  export declare const IxGroup: import("react").ForwardRefExoticComponent<JSX.IxGroup & Omit<import("react").HTMLAttributes<HTMLIxGroupElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxGroupElement>>;
37
39
  export declare const IxGroupContextMenu: import("react").ForwardRefExoticComponent<JSX.IxGroupContextMenu & Omit<import("react").HTMLAttributes<HTMLIxGroupContextMenuElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxGroupContextMenuElement>>;
38
- export declare const IxGroupDropdownItem: import("react").ForwardRefExoticComponent<JSX.IxGroupDropdownItem & Omit<import("react").HTMLAttributes<HTMLIxGroupDropdownItemElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxGroupDropdownItemElement>>;
39
40
  export declare const IxGroupItem: import("react").ForwardRefExoticComponent<JSX.IxGroupItem & Omit<import("react").HTMLAttributes<HTMLIxGroupItemElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxGroupItemElement>>;
40
41
  export declare const IxIcon: import("react").ForwardRefExoticComponent<import("@siemens/ix-icons/dist/types/components").JSX.IxIcon & Omit<import("react").HTMLAttributes<HTMLIxIconElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxIconElement>>;
41
42
  export declare const IxIconButton: import("react").ForwardRefExoticComponent<JSX.IxIconButton & Omit<import("react").HTMLAttributes<HTMLIxIconButtonElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxIconButtonElement>>;
43
+ export declare const IxIconToggleButton: import("react").ForwardRefExoticComponent<JSX.IxIconToggleButton & Omit<import("react").HTMLAttributes<HTMLIxIconToggleButtonElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxIconToggleButtonElement>>;
42
44
  export declare const IxInputGroup: import("react").ForwardRefExoticComponent<JSX.IxInputGroup & Omit<import("react").HTMLAttributes<HTMLIxInputGroupElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxInputGroupElement>>;
43
45
  export declare const IxKeyValue: import("react").ForwardRefExoticComponent<JSX.IxKeyValue & Omit<import("react").HTMLAttributes<HTMLIxKeyValueElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxKeyValueElement>>;
44
46
  export declare const IxKeyValueList: import("react").ForwardRefExoticComponent<JSX.IxKeyValueList & Omit<import("react").HTMLAttributes<HTMLIxKeyValueListElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxKeyValueListElement>>;
45
47
  export declare const IxKpi: import("react").ForwardRefExoticComponent<JSX.IxKpi & Omit<import("react").HTMLAttributes<HTMLIxKpiElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxKpiElement>>;
48
+ export declare const IxLinkButton: import("react").ForwardRefExoticComponent<JSX.IxLinkButton & Omit<import("react").HTMLAttributes<HTMLIxLinkButtonElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxLinkButtonElement>>;
46
49
  export declare const IxMapNavigation: import("react").ForwardRefExoticComponent<JSX.IxMapNavigation & Omit<import("react").HTMLAttributes<HTMLIxMapNavigationElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxMapNavigationElement>>;
47
50
  export declare const IxMapNavigationOverlay: import("react").ForwardRefExoticComponent<JSX.IxMapNavigationOverlay & Omit<import("react").HTMLAttributes<HTMLIxMapNavigationOverlayElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxMapNavigationOverlayElement>>;
48
51
  export declare const IxMenu: import("react").ForwardRefExoticComponent<JSX.IxMenu & Omit<import("react").HTMLAttributes<HTMLIxMenuElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxMenuElement>>;
@@ -51,16 +54,20 @@ export declare const IxMenuAboutItem: import("react").ForwardRefExoticComponent<
51
54
  export declare const IxMenuAboutNews: import("react").ForwardRefExoticComponent<JSX.IxMenuAboutNews & Omit<import("react").HTMLAttributes<HTMLIxMenuAboutNewsElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxMenuAboutNewsElement>>;
52
55
  export declare const IxMenuAvatar: import("react").ForwardRefExoticComponent<JSX.IxMenuAvatar & Omit<import("react").HTMLAttributes<HTMLIxMenuAvatarElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxMenuAvatarElement>>;
53
56
  export declare const IxMenuAvatarItem: import("react").ForwardRefExoticComponent<JSX.IxMenuAvatarItem & Omit<import("react").HTMLAttributes<HTMLIxMenuAvatarItemElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxMenuAvatarItemElement>>;
57
+ export declare const IxMenuCategory: import("react").ForwardRefExoticComponent<JSX.IxMenuCategory & Omit<import("react").HTMLAttributes<HTMLIxMenuCategoryElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxMenuCategoryElement>>;
54
58
  export declare const IxMenuItem: import("react").ForwardRefExoticComponent<JSX.IxMenuItem & Omit<import("react").HTMLAttributes<HTMLIxMenuItemElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxMenuItemElement>>;
55
59
  export declare const IxMenuSettings: import("react").ForwardRefExoticComponent<JSX.IxMenuSettings & Omit<import("react").HTMLAttributes<HTMLIxMenuSettingsElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxMenuSettingsElement>>;
56
60
  export declare const IxMenuSettingsItem: import("react").ForwardRefExoticComponent<JSX.IxMenuSettingsItem & Omit<import("react").HTMLAttributes<HTMLIxMenuSettingsItemElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxMenuSettingsItemElement>>;
57
61
  export declare const IxMessageBar: import("react").ForwardRefExoticComponent<JSX.IxMessageBar & Omit<import("react").HTMLAttributes<HTMLIxMessageBarElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxMessageBarElement>>;
58
62
  export declare const IxModal: import("react").ForwardRefExoticComponent<JSX.IxModal & Omit<import("react").HTMLAttributes<HTMLIxModalElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxModalElement>>;
59
- export declare const IxModalContainer: import("react").ForwardRefExoticComponent<JSX.IxModalContainer & Omit<import("react").HTMLAttributes<HTMLIxModalContainerElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxModalContainerElement>>;
63
+ export declare const IxModalContent: import("react").ForwardRefExoticComponent<JSX.IxModalContent & Omit<import("react").HTMLAttributes<HTMLIxModalContentElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxModalContentElement>>;
60
64
  export declare const IxModalExample: import("react").ForwardRefExoticComponent<JSX.IxModalExample & Omit<import("react").HTMLAttributes<HTMLIxModalExampleElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxModalExampleElement>>;
65
+ export declare const IxModalFooter: import("react").ForwardRefExoticComponent<JSX.IxModalFooter & Omit<import("react").HTMLAttributes<HTMLIxModalFooterElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxModalFooterElement>>;
66
+ export declare const IxModalHeader: import("react").ForwardRefExoticComponent<JSX.IxModalHeader & Omit<import("react").HTMLAttributes<HTMLIxModalHeaderElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxModalHeaderElement>>;
61
67
  export declare const IxPagination: import("react").ForwardRefExoticComponent<JSX.IxPagination & Omit<import("react").HTMLAttributes<HTMLIxPaginationElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxPaginationElement>>;
62
68
  export declare const IxPill: import("react").ForwardRefExoticComponent<JSX.IxPill & Omit<import("react").HTMLAttributes<HTMLIxPillElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxPillElement>>;
63
69
  export declare const IxPushCard: import("react").ForwardRefExoticComponent<JSX.IxPushCard & Omit<import("react").HTMLAttributes<HTMLIxPushCardElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxPushCardElement>>;
70
+ export declare const IxRow: import("react").ForwardRefExoticComponent<JSX.IxRow & Omit<import("react").HTMLAttributes<HTMLIxRowElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxRowElement>>;
64
71
  export declare const IxSelect: import("react").ForwardRefExoticComponent<JSX.IxSelect & Omit<import("react").HTMLAttributes<HTMLIxSelectElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxSelectElement>>;
65
72
  export declare const IxSelectItem: import("react").ForwardRefExoticComponent<JSX.IxSelectItem & Omit<import("react").HTMLAttributes<HTMLIxSelectItemElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxSelectItemElement>>;
66
73
  export declare const IxSpinner: import("react").ForwardRefExoticComponent<JSX.IxSpinner & Omit<import("react").HTMLAttributes<HTMLIxSpinnerElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxSpinnerElement>>;
@@ -73,7 +80,9 @@ export declare const IxTimePicker: import("react").ForwardRefExoticComponent<JSX
73
80
  export declare const IxToast: import("react").ForwardRefExoticComponent<JSX.IxToast & Omit<import("react").HTMLAttributes<HTMLIxToastElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxToastElement>>;
74
81
  export declare const IxToastContainer: import("react").ForwardRefExoticComponent<JSX.IxToastContainer & Omit<import("react").HTMLAttributes<HTMLIxToastContainerElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxToastContainerElement>>;
75
82
  export declare const IxToggle: import("react").ForwardRefExoticComponent<JSX.IxToggle & Omit<import("react").HTMLAttributes<HTMLIxToggleElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxToggleElement>>;
83
+ export declare const IxToggleButton: import("react").ForwardRefExoticComponent<JSX.IxToggleButton & Omit<import("react").HTMLAttributes<HTMLIxToggleButtonElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxToggleButtonElement>>;
76
84
  export declare const IxTooltip: import("react").ForwardRefExoticComponent<JSX.IxTooltip & Omit<import("react").HTMLAttributes<HTMLIxTooltipElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxTooltipElement>>;
85
+ export declare const IxTypography: import("react").ForwardRefExoticComponent<JSX.IxTypography & Omit<import("react").HTMLAttributes<HTMLIxTypographyElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxTypographyElement>>;
77
86
  export declare const IxUpload: import("react").ForwardRefExoticComponent<JSX.IxUpload & Omit<import("react").HTMLAttributes<HTMLIxUploadElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxUploadElement>>;
78
87
  export declare const IxValidationTooltip: import("react").ForwardRefExoticComponent<JSX.IxValidationTooltip & Omit<import("react").HTMLAttributes<HTMLIxValidationTooltipElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxValidationTooltipElement>>;
79
88
  export declare const IxWorkflowStep: import("react").ForwardRefExoticComponent<JSX.IxWorkflowStep & Omit<import("react").HTMLAttributes<HTMLIxWorkflowStepElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLIxWorkflowStepElement>>;
@@ -0,0 +1,7 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ export declare type IxApplicationContextProps = PropsWithChildren;
3
+ export declare class IxApplicationContext extends React.Component<IxApplicationContextProps> {
4
+ private delegate;
5
+ constructor(props: IxApplicationContextProps);
6
+ render(): JSX.Element;
7
+ }
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { ReactFrameworkDelegate } from '../delegate';
3
+ export declare const IxContext: React.Context<{
4
+ delegate: ReactFrameworkDelegate;
5
+ } | null>;
@@ -0,0 +1 @@
1
+ export * from './context/application-context';
@@ -0,0 +1,8 @@
1
+ import { FrameworkDelegate } from '@siemens/ix';
2
+ export declare class ReactFrameworkDelegate implements FrameworkDelegate {
3
+ attachViewToPortal?: (id: string, view: any) => Promise<Element>;
4
+ removeViewFromPortal?: (id: string) => void;
5
+ attachView(view: any): Promise<any>;
6
+ removeView(view: any): Promise<void>;
7
+ }
8
+ export declare const reactFrameworkDelegate: ReactFrameworkDelegate;
@@ -1,4 +1,5 @@
1
1
  export * from './components';
2
+ export * from './context';
2
3
  export * from './modal';
3
4
  export * from './toast';
4
5
  export * from './tree';
@@ -2,6 +2,6 @@
2
2
  import { ModalConfig as IxModalConfig } from '@siemens/ix';
3
3
  export * from './modal';
4
4
  export declare type ModalConfig = {
5
- content: React.ReactNode;
5
+ content: React.ReactNode | string;
6
6
  };
7
- export declare function showModal<TReason = any>(config: Omit<IxModalConfig, 'content'> & ModalConfig): Promise<import("@siemens/ix").ModalInstance<TReason>>;
7
+ export declare function showModal(config: Omit<IxModalConfig, 'content'> & ModalConfig): Promise<import("@siemens/ix").ModalInstance<any>>;
@@ -5,8 +5,5 @@ export interface ModalRef {
5
5
  modalElement: HTMLIxModalElement | null;
6
6
  }
7
7
  export declare const Modal: React.ForwardRefExoticComponent<{
8
- onClose?: (<T = any>(result: T) => void) | undefined;
9
- onDismiss?: (<T_1 = any>(result?: T_1 | undefined) => void) | undefined;
10
- htmlElement?: HTMLElement | undefined;
11
- children: React.ReactNode;
8
+ children?: React.ReactNode;
12
9
  } & React.RefAttributes<ModalRef>>;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { ReactFrameworkDelegate } from 'src/delegate';
3
+ export declare const PORTAL_ID = "ix-portal";
4
+ export declare const IxOverlay: (props: {
5
+ delegate: ReactFrameworkDelegate;
6
+ }) => JSX.Element | null;
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "url": "https://github.com/siemens/ix",
8
8
  "directory": "packages/react"
9
9
  },
10
- "version": "1.6.3",
10
+ "version": "2.0.0-beta.1",
11
11
  "description": "Siemens iX for React",
12
12
  "main": "dist/index.js",
13
13
  "module": "dist/index.esm.js",
@@ -28,7 +28,7 @@
28
28
  "license": "MIT",
29
29
  "devDependencies": {
30
30
  "@rollup/plugin-typescript": "^8.4.0",
31
- "@siemens/ix": "~1.6.3",
31
+ "@siemens/ix": "~2.0.0-beta.1",
32
32
  "@types/estree": "~0.0.51",
33
33
  "@types/react": "~18.0.15",
34
34
  "@types/react-dom": "~18.0.6",
@@ -51,7 +51,7 @@
51
51
  "react-dom": ">=17.0.2"
52
52
  },
53
53
  "dependencies": {
54
- "@siemens/ix": "~1.6.3",
54
+ "@siemens/ix": "~2.0.0-beta.1",
55
55
  "@siemens/ix-icons": "^1.1.0"
56
56
  }
57
57
  }