@siemens/ix 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/icon-c65f0901.js +106 -0
- package/dist/cjs/icon-c65f0901.js.map +1 -0
- package/dist/cjs/{index-931d1fb5.js → index-c978628a.js} +53 -5
- package/dist/cjs/index-c978628a.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/ix-action-card.cjs.entry.js +28 -0
- package/dist/cjs/ix-action-card.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-animated-tab_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-application-header.cjs.entry.js +1 -1
- package/dist/cjs/ix-basic-navigation.cjs.entry.js +2 -2
- package/dist/cjs/ix-basic-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-blind.cjs.entry.js +4 -7
- package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-breadcrumb_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-burger-menu.cjs.entry.js +1 -1
- package/dist/cjs/ix-button.cjs.entry.js +2 -2
- package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-card-accordion_2.cjs.entry.js +74 -0
- package/dist/cjs/ix-card-accordion_2.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-card-list.cjs.entry.js +164 -0
- package/dist/cjs/ix-card-list.cjs.entry.js.map +1 -0
- package/dist/cjs/{ix-typography.cjs.entry.js → ix-card_3.cjs.entry.js} +37 -3
- package/dist/cjs/ix-card_3.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-category-filter.cjs.entry.js +1 -1
- package/dist/cjs/ix-chip.cjs.entry.js +1 -1
- package/dist/cjs/ix-content-header.cjs.entry.js +26 -0
- package/dist/cjs/ix-content-header.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-counter-pill.cjs.entry.js +1 -1
- package/dist/cjs/ix-css-grid-item.cjs.entry.js +24 -0
- package/dist/cjs/ix-css-grid-item.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-css-grid.cjs.entry.js +96 -0
- package/dist/cjs/ix-css-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-date-picker_2.cjs.entry.js +103 -19
- package/dist/cjs/ix-date-picker_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-date-time-card.cjs.entry.js +1 -1
- package/dist/cjs/ix-datetime-picker.cjs.entry.js +1 -1
- package/dist/cjs/ix-divider.cjs.entry.js +1 -1
- package/dist/cjs/ix-drawer.cjs.entry.js +4 -4
- package/dist/cjs/ix-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-dropdown-button.cjs.entry.js +1 -1
- package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
- package/dist/cjs/ix-dropdown_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-empty-state.cjs.entry.js +27 -0
- package/dist/cjs/ix-empty-state.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-event-list_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-expanding-search.cjs.entry.js +5 -2
- package/dist/cjs/ix-expanding-search.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-filter-chip.cjs.entry.js +1 -1
- package/dist/cjs/ix-flip-tile_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-group-context-menu.cjs.entry.js +1 -1
- package/dist/cjs/ix-group_3.cjs.entry.js +1 -1
- package/dist/cjs/ix-icon-button.cjs.entry.js +11 -4
- package/dist/cjs/ix-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-icon.cjs.entry.js +3 -29
- package/dist/cjs/ix-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-index-button.cjs.entry.js +1 -1
- package/dist/cjs/ix-input-group.cjs.entry.js +1 -1
- package/dist/cjs/ix-key-value-list.cjs.entry.js +22 -0
- package/dist/cjs/ix-key-value-list.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-key-value.cjs.entry.js +28 -0
- package/dist/cjs/ix-key-value.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-kpi.cjs.entry.js +2 -2
- package/dist/cjs/ix-kpi.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-map-navigation_2.cjs.entry.js +11 -5
- package/dist/cjs/ix-map-navigation_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu_9.cjs.entry.js +24 -15
- package/dist/cjs/ix-menu_9.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-message-bar.cjs.entry.js +2 -2
- package/dist/cjs/ix-message-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-modal-example.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-modal_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-pagination.cjs.entry.js +1 -1
- package/dist/cjs/ix-pill.cjs.entry.js +1 -1
- package/dist/cjs/ix-push-card.cjs.entry.js +27 -0
- package/dist/cjs/ix-push-card.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-select_2.cjs.entry.js +3 -3
- package/dist/cjs/ix-select_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-spinner.cjs.entry.js +2 -2
- package/dist/cjs/ix-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-split-button_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-tab-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-tabs.cjs.entry.js +1 -1
- package/dist/cjs/ix-tile.cjs.entry.js +1 -1
- package/dist/cjs/ix-toast_2.cjs.entry.js +8 -26
- package/dist/cjs/ix-toast_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-toggle.cjs.entry.js +1 -1
- package/dist/cjs/ix-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/ix-tree_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-upload.cjs.entry.js +1 -1
- package/dist/cjs/ix-validation-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/ix-workflow-step_2.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/my-component.cjs.entry.js +2 -2
- package/dist/cjs/my-component.cjs.entry.js.map +1 -1
- package/dist/cjs/siemens-ix.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +32 -3
- package/dist/collection/components/action-card/action-card.css +161 -0
- package/dist/collection/components/action-card/action-card.js +136 -0
- package/dist/collection/components/action-card/action-card.js.map +1 -0
- package/dist/collection/components/basic-navigation/basic-navigation.css +1 -1
- package/dist/collection/components/blind/blind.css +5 -5
- package/dist/collection/components/blind/blind.js +3 -6
- package/dist/collection/components/blind/blind.js.map +1 -1
- package/dist/collection/components/button/button.css +359 -0
- package/dist/collection/components/button/button.js +2 -2
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/card/card.css +92 -0
- package/dist/collection/components/card/card.js +53 -0
- package/dist/collection/components/card/card.js.map +1 -0
- package/dist/collection/components/card-accordion/card-accordion.css +121 -0
- package/dist/collection/components/card-accordion/card-accordion.js +94 -0
- package/dist/collection/components/card-accordion/card-accordion.js.map +1 -0
- package/dist/collection/components/card-content/card-content.css +29 -0
- package/dist/collection/components/card-content/card-content.js +22 -0
- package/dist/collection/components/card-content/card-content.js.map +1 -0
- package/dist/collection/components/card-list/card-list.css +127 -0
- package/dist/collection/components/card-list/card-list.js +387 -0
- package/dist/collection/components/card-list/card-list.js.map +1 -0
- package/dist/collection/components/card-title/card-title.css +30 -0
- package/dist/collection/components/card-title/card-title.js +24 -0
- package/dist/collection/components/card-title/card-title.js.map +1 -0
- package/dist/collection/components/content-header/content-header.css +28 -0
- package/dist/collection/components/content-header/content-header.js +131 -0
- package/dist/collection/components/content-header/content-header.js.map +1 -0
- package/dist/collection/components/drawer/drawer.css +20 -12
- package/dist/collection/components/drawer/drawer.js +5 -5
- package/dist/collection/components/drawer/drawer.js.map +1 -1
- package/dist/collection/components/empty-state/empty-state.css +100 -0
- package/dist/collection/components/empty-state/empty-state.js +150 -0
- package/dist/collection/components/empty-state/empty-state.js.map +1 -0
- package/dist/collection/components/expanding-search/expanding-search.css +8 -0
- package/dist/collection/components/expanding-search/expanding-search.js +24 -0
- package/dist/collection/components/expanding-search/expanding-search.js.map +1 -1
- package/dist/collection/components/icon-button/icon-button.css +362 -0
- package/dist/collection/components/icon-button/icon-button.js +10 -3
- package/dist/collection/components/icon-button/icon-button.js.map +1 -1
- package/dist/collection/components/key-value/key-value.css +56 -0
- package/dist/collection/components/key-value/key-value.js +119 -0
- package/dist/collection/components/key-value/key-value.js.map +1 -0
- package/dist/collection/components/key-value-list/key-value-list.css +7 -0
- package/dist/collection/components/key-value-list/key-value-list.js +54 -0
- package/dist/collection/components/key-value-list/key-value-list.js.map +1 -0
- package/dist/collection/components/kpi/kpi.css +25 -11
- package/dist/collection/components/kpi/kpi.js +1 -1
- package/dist/collection/components/kpi/kpi.js.map +1 -1
- package/dist/collection/components/layout/css-grid/builder.js +20 -0
- package/dist/collection/components/layout/css-grid/builder.js.map +1 -0
- package/dist/collection/components/layout/css-grid/css-grid-item.css +16 -0
- package/dist/collection/components/layout/css-grid/css-grid-item.js +56 -0
- package/dist/collection/components/layout/css-grid/css-grid-item.js.map +1 -0
- package/dist/collection/components/{icon/icon.css → layout/css-grid/css-grid.css} +5 -23
- package/dist/collection/components/layout/css-grid/css-grid.js +123 -0
- package/dist/collection/components/layout/css-grid/css-grid.js.map +1 -0
- package/dist/collection/components/map-navigation/map-navigation.css +1 -1
- package/dist/collection/components/map-navigation/map-navigation.js +37 -3
- package/dist/collection/components/map-navigation/map-navigation.js.map +1 -1
- package/dist/collection/components/menu/menu.css +4 -4
- package/dist/collection/components/menu/menu.js +1 -1
- package/dist/collection/components/menu/menu.js.map +1 -1
- package/dist/collection/components/menu-about-news/menu-about-news.css +2 -2
- package/dist/collection/components/menu-avatar/menu-avatar.css +2 -2
- package/dist/collection/components/menu-avatar/menu-avatar.js +1 -1
- package/dist/collection/components/menu-avatar/menu-avatar.js.map +1 -1
- package/dist/collection/components/menu-item/menu-item.css +47 -23
- package/dist/collection/components/menu-item/menu-item.js +19 -10
- package/dist/collection/components/menu-item/menu-item.js.map +1 -1
- package/dist/collection/components/message-bar/message-bar.css +19 -11
- package/dist/collection/components/message-bar/message-bar.js +1 -1
- package/dist/collection/components/message-bar/message-bar.js.map +1 -1
- package/dist/collection/components/modal/modal.css +1 -0
- package/dist/collection/components/my-component/my-component.css +1 -0
- package/dist/collection/components/my-component/my-component.js.map +1 -1
- package/dist/collection/components/push-card/push-card.css +74 -0
- package/dist/collection/components/push-card/push-card.js +134 -0
- package/dist/collection/components/push-card/push-card.js.map +1 -0
- package/dist/collection/components/select/select.css +20 -2
- package/dist/collection/components/select/select.js +1 -1
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/spinner/spinner.css +13 -0
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/spinner/spinner.js.map +1 -1
- package/dist/collection/components/time-picker/time-picker.css +23 -17
- package/dist/collection/components/time-picker/time-picker.js +102 -18
- package/dist/collection/components/time-picker/time-picker.js.map +1 -1
- package/dist/collection/components/toast/toast.css +0 -10
- package/dist/collection/components/toast/toast.js +6 -25
- package/dist/collection/components/toast/toast.js.map +1 -1
- package/dist/collection/components/typography/{types.js → type-mapping.js} +1 -1
- package/dist/collection/components/typography/type-mapping.js.map +1 -0
- package/dist/collection/components/typography/typography.js +34 -6
- package/dist/collection/components/typography/typography.js.map +1 -1
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/components/button.js +3 -2
- package/dist/components/button.js.map +1 -1
- package/dist/components/card-accordion.js +80 -0
- package/dist/components/card-accordion.js.map +1 -0
- package/dist/components/card-content.js +32 -0
- package/dist/components/card-content.js.map +1 -0
- package/dist/components/card-title.js +32 -0
- package/dist/components/card-title.js.map +1 -0
- package/dist/components/card.js +36 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/icon-button.js +12 -4
- package/dist/components/icon-button.js.map +1 -1
- package/dist/components/icon.js +87 -14
- package/dist/components/icon.js.map +1 -1
- package/dist/components/ix-action-card.d.ts +11 -0
- package/dist/components/ix-action-card.js +72 -0
- package/dist/components/ix-action-card.js.map +1 -0
- package/dist/components/ix-basic-navigation.js +1 -1
- package/dist/components/ix-basic-navigation.js.map +1 -1
- package/dist/components/ix-blind.js +5 -7
- package/dist/components/ix-blind.js.map +1 -1
- package/dist/components/ix-card-accordion.d.ts +11 -0
- package/dist/components/ix-card-accordion.js +8 -0
- package/dist/components/ix-card-accordion.js.map +1 -0
- package/dist/components/ix-card-content.d.ts +11 -0
- package/dist/components/ix-card-content.js +8 -0
- package/dist/components/ix-card-content.js.map +1 -0
- package/dist/components/ix-card-list.d.ts +11 -0
- package/dist/components/ix-card-list.js +228 -0
- package/dist/components/ix-card-list.js.map +1 -0
- package/dist/components/ix-card-title.d.ts +11 -0
- package/dist/components/ix-card-title.js +8 -0
- package/dist/components/ix-card-title.js.map +1 -0
- package/dist/components/{ix-icon.d.ts → ix-card.d.ts} +4 -4
- package/dist/components/ix-card.js +8 -0
- package/dist/components/ix-card.js.map +1 -0
- package/dist/components/ix-content-header.d.ts +11 -0
- package/dist/components/ix-content-header.js +63 -0
- package/dist/components/ix-content-header.js.map +1 -0
- package/dist/components/ix-css-grid-item.d.ts +11 -0
- package/dist/components/ix-css-grid-item.js +40 -0
- package/dist/components/ix-css-grid-item.js.map +1 -0
- package/dist/components/ix-css-grid.d.ts +11 -0
- package/dist/components/ix-css-grid.js +113 -0
- package/dist/components/ix-css-grid.js.map +1 -0
- package/dist/components/ix-drawer.js +6 -5
- package/dist/components/ix-drawer.js.map +1 -1
- package/dist/components/ix-empty-state.d.ts +11 -0
- package/dist/components/ix-empty-state.js +65 -0
- package/dist/components/ix-empty-state.js.map +1 -0
- package/dist/components/ix-expanding-search.js +5 -1
- package/dist/components/ix-expanding-search.js.map +1 -1
- package/dist/components/ix-key-value-list.d.ts +11 -0
- package/dist/components/ix-key-value-list.js +38 -0
- package/dist/components/ix-key-value-list.js.map +1 -0
- package/dist/components/ix-key-value.d.ts +11 -0
- package/dist/components/ix-key-value.js +53 -0
- package/dist/components/ix-key-value.js.map +1 -0
- package/dist/components/ix-kpi.js +3 -2
- package/dist/components/ix-kpi.js.map +1 -1
- package/dist/components/ix-map-navigation.js +11 -4
- package/dist/components/ix-map-navigation.js.map +1 -1
- package/dist/components/ix-menu-about-news.js +1 -1
- package/dist/components/ix-menu-about-news.js.map +1 -1
- package/dist/components/ix-menu-avatar.js +2 -2
- package/dist/components/ix-menu-avatar.js.map +1 -1
- package/dist/components/ix-menu.js +12 -6
- package/dist/components/ix-menu.js.map +1 -1
- package/dist/components/ix-message-bar.js +3 -2
- package/dist/components/ix-message-bar.js.map +1 -1
- package/dist/components/ix-push-card.d.ts +11 -0
- package/dist/components/ix-push-card.js +83 -0
- package/dist/components/ix-push-card.js.map +1 -0
- package/dist/components/menu-item.js +27 -11
- package/dist/components/menu-item.js.map +1 -1
- package/dist/components/modal.js +1 -1
- package/dist/components/modal.js.map +1 -1
- package/dist/components/my-component.js +1 -1
- package/dist/components/my-component.js.map +1 -1
- package/dist/components/select.js +2 -2
- package/dist/components/select.js.map +1 -1
- package/dist/components/spinner.js +3 -2
- package/dist/components/spinner.js.map +1 -1
- package/dist/components/time-picker.js +103 -19
- package/dist/components/time-picker.js.map +1 -1
- package/dist/components/toast.js +7 -26
- package/dist/components/toast.js.map +1 -1
- package/dist/components/typography.js +9 -2
- package/dist/components/typography.js.map +1 -1
- package/dist/esm/icon-21211f80.js +104 -0
- package/dist/esm/icon-21211f80.js.map +1 -0
- package/dist/esm/{index-57424926.js → index-8ddfb6d8.js} +53 -5
- package/dist/esm/index-8ddfb6d8.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ix-action-card.entry.js +24 -0
- package/dist/esm/ix-action-card.entry.js.map +1 -0
- package/dist/esm/ix-animated-tab_2.entry.js +1 -1
- package/dist/esm/ix-application-header.entry.js +1 -1
- package/dist/esm/ix-basic-navigation.entry.js +2 -2
- package/dist/esm/ix-basic-navigation.entry.js.map +1 -1
- package/dist/esm/ix-blind.entry.js +4 -7
- package/dist/esm/ix-blind.entry.js.map +1 -1
- package/dist/esm/ix-breadcrumb_2.entry.js +1 -1
- package/dist/esm/ix-burger-menu.entry.js +1 -1
- package/dist/esm/ix-button.entry.js +2 -2
- package/dist/esm/ix-button.entry.js.map +1 -1
- package/dist/esm/ix-card-accordion_2.entry.js +69 -0
- package/dist/esm/ix-card-accordion_2.entry.js.map +1 -0
- package/dist/esm/ix-card-list.entry.js +160 -0
- package/dist/esm/ix-card-list.entry.js.map +1 -0
- package/dist/esm/{ix-typography.entry.js → ix-card_3.entry.js} +36 -4
- package/dist/esm/ix-card_3.entry.js.map +1 -0
- package/dist/esm/ix-category-filter.entry.js +1 -1
- package/dist/esm/ix-chip.entry.js +1 -1
- package/dist/esm/ix-content-header.entry.js +22 -0
- package/dist/esm/ix-content-header.entry.js.map +1 -0
- package/dist/esm/ix-counter-pill.entry.js +1 -1
- package/dist/esm/ix-css-grid-item.entry.js +20 -0
- package/dist/esm/ix-css-grid-item.entry.js.map +1 -0
- package/dist/esm/ix-css-grid.entry.js +92 -0
- package/dist/esm/ix-css-grid.entry.js.map +1 -0
- package/dist/esm/ix-date-picker_2.entry.js +103 -19
- package/dist/esm/ix-date-picker_2.entry.js.map +1 -1
- package/dist/esm/ix-date-time-card.entry.js +1 -1
- package/dist/esm/ix-datetime-picker.entry.js +1 -1
- package/dist/esm/ix-divider.entry.js +1 -1
- package/dist/esm/ix-drawer.entry.js +4 -4
- package/dist/esm/ix-drawer.entry.js.map +1 -1
- package/dist/esm/ix-dropdown-button.entry.js +1 -1
- package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
- package/dist/esm/ix-dropdown_2.entry.js +1 -1
- package/dist/esm/ix-empty-state.entry.js +23 -0
- package/dist/esm/ix-empty-state.entry.js.map +1 -0
- package/dist/esm/ix-event-list_2.entry.js +1 -1
- package/dist/esm/ix-expanding-search.entry.js +5 -2
- package/dist/esm/ix-expanding-search.entry.js.map +1 -1
- package/dist/esm/ix-filter-chip.entry.js +1 -1
- package/dist/esm/ix-flip-tile_2.entry.js +1 -1
- package/dist/esm/ix-group-context-menu.entry.js +1 -1
- package/dist/esm/ix-group_3.entry.js +1 -1
- package/dist/esm/ix-icon-button.entry.js +11 -4
- package/dist/esm/ix-icon-button.entry.js.map +1 -1
- package/dist/esm/ix-icon.entry.js +2 -32
- package/dist/esm/ix-icon.entry.js.map +1 -1
- package/dist/esm/ix-index-button.entry.js +1 -1
- package/dist/esm/ix-input-group.entry.js +1 -1
- package/dist/esm/ix-key-value-list.entry.js +18 -0
- package/dist/esm/ix-key-value-list.entry.js.map +1 -0
- package/dist/esm/ix-key-value.entry.js +24 -0
- package/dist/esm/ix-key-value.entry.js.map +1 -0
- package/dist/esm/ix-kpi.entry.js +2 -2
- package/dist/esm/ix-kpi.entry.js.map +1 -1
- package/dist/esm/ix-map-navigation_2.entry.js +11 -5
- package/dist/esm/ix-map-navigation_2.entry.js.map +1 -1
- package/dist/esm/ix-menu_9.entry.js +24 -15
- package/dist/esm/ix-menu_9.entry.js.map +1 -1
- package/dist/esm/ix-message-bar.entry.js +2 -2
- package/dist/esm/ix-message-bar.entry.js.map +1 -1
- package/dist/esm/ix-modal-example.entry.js +1 -1
- package/dist/esm/ix-modal_2.entry.js +2 -2
- package/dist/esm/ix-modal_2.entry.js.map +1 -1
- package/dist/esm/ix-pagination.entry.js +1 -1
- package/dist/esm/ix-pill.entry.js +1 -1
- package/dist/esm/ix-push-card.entry.js +23 -0
- package/dist/esm/ix-push-card.entry.js.map +1 -0
- package/dist/esm/ix-select_2.entry.js +3 -3
- package/dist/esm/ix-select_2.entry.js.map +1 -1
- package/dist/esm/ix-spinner.entry.js +2 -2
- package/dist/esm/ix-spinner.entry.js.map +1 -1
- package/dist/esm/ix-split-button_2.entry.js +1 -1
- package/dist/esm/ix-tab-item.entry.js +1 -1
- package/dist/esm/ix-tabs.entry.js +1 -1
- package/dist/esm/ix-tile.entry.js +1 -1
- package/dist/esm/ix-toast_2.entry.js +8 -26
- package/dist/esm/ix-toast_2.entry.js.map +1 -1
- package/dist/esm/ix-toggle.entry.js +1 -1
- package/dist/esm/ix-tooltip.entry.js +1 -1
- package/dist/esm/ix-tree_2.entry.js +1 -1
- package/dist/esm/ix-upload.entry.js +1 -1
- package/dist/esm/ix-validation-tooltip.entry.js +1 -1
- package/dist/esm/ix-workflow-step_2.entry.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/my-component.entry.js +2 -2
- package/dist/esm/my-component.entry.js.map +1 -1
- package/dist/esm/siemens-ix.js +3 -3
- package/dist/siemens-ix/index.esm.js +1 -1
- package/dist/siemens-ix/index.esm.js.map +1 -1
- package/dist/siemens-ix/{p-2850e6b1.entry.js → p-003e9355.entry.js} +2 -2
- package/dist/siemens-ix/p-07c932da.entry.js +2 -0
- package/dist/siemens-ix/p-07c932da.entry.js.map +1 -0
- package/dist/siemens-ix/{p-f20dc192.entry.js → p-1331a920.entry.js} +2 -2
- package/dist/siemens-ix/p-13bda5ea.entry.js +2 -0
- package/dist/siemens-ix/p-13bda5ea.entry.js.map +1 -0
- package/dist/siemens-ix/p-1abcd6ba.js +2 -0
- package/dist/siemens-ix/p-1abcd6ba.js.map +1 -0
- package/dist/siemens-ix/{p-57a5d3d0.js → p-1c64b073.js} +3 -3
- package/dist/siemens-ix/p-1c64b073.js.map +1 -0
- package/dist/siemens-ix/{p-f2355beb.entry.js → p-1e8ee4af.entry.js} +2 -2
- package/dist/siemens-ix/{p-729c8d31.entry.js → p-3172249b.entry.js} +2 -2
- package/dist/siemens-ix/p-3f4a9e1f.entry.js +2 -0
- package/dist/siemens-ix/p-3f4a9e1f.entry.js.map +1 -0
- package/dist/siemens-ix/{p-3b4c5e4b.entry.js → p-40982e21.entry.js} +2 -2
- package/dist/siemens-ix/{p-7cdbc92b.entry.js → p-4597dd77.entry.js} +2 -2
- package/dist/siemens-ix/p-46ced516.entry.js +2 -0
- package/dist/siemens-ix/p-46ced516.entry.js.map +1 -0
- package/dist/siemens-ix/p-47422d47.entry.js +2 -0
- package/dist/siemens-ix/p-47422d47.entry.js.map +1 -0
- package/dist/siemens-ix/{p-d985e147.entry.js → p-4e851aa3.entry.js} +2 -2
- package/dist/siemens-ix/{p-1c1dd6d6.entry.js → p-51c81a20.entry.js} +2 -2
- package/dist/siemens-ix/p-55b54a81.entry.js +2 -0
- package/dist/siemens-ix/p-55b54a81.entry.js.map +1 -0
- package/dist/siemens-ix/p-5ec38498.entry.js +2 -0
- package/dist/siemens-ix/p-5ec38498.entry.js.map +1 -0
- package/dist/siemens-ix/{p-b54c8bba.entry.js → p-6124d173.entry.js} +2 -2
- package/dist/siemens-ix/{p-7f7657ec.entry.js → p-626fbee2.entry.js} +2 -2
- package/dist/siemens-ix/{p-15335e01.entry.js → p-652ba2c1.entry.js} +2 -2
- package/dist/siemens-ix/p-67be3720.entry.js +2 -0
- package/dist/siemens-ix/p-67be3720.entry.js.map +1 -0
- package/dist/siemens-ix/p-6acce5c9.entry.js +2 -0
- package/dist/siemens-ix/p-6acce5c9.entry.js.map +1 -0
- package/dist/siemens-ix/p-6c033b08.entry.js +2 -0
- package/dist/siemens-ix/p-6c033b08.entry.js.map +1 -0
- package/dist/siemens-ix/{p-f7f07386.entry.js → p-821ca55e.entry.js} +2 -2
- package/dist/siemens-ix/p-85f01dba.entry.js +2 -0
- package/dist/siemens-ix/p-85f01dba.entry.js.map +1 -0
- package/dist/siemens-ix/{p-46e468af.entry.js → p-8719eeff.entry.js} +2 -2
- package/dist/siemens-ix/{p-de1e7c64.entry.js → p-94ab7c1c.entry.js} +2 -2
- package/dist/siemens-ix/{p-9da2881b.entry.js → p-9a82921b.entry.js} +2 -2
- package/dist/siemens-ix/{p-908afbed.entry.js → p-a08e1bbc.entry.js} +2 -2
- package/dist/siemens-ix/p-a422c64a.entry.js +2 -0
- package/dist/siemens-ix/p-a422c64a.entry.js.map +1 -0
- package/dist/siemens-ix/p-a7212f01.entry.js +2 -0
- package/dist/siemens-ix/p-a7212f01.entry.js.map +1 -0
- package/dist/siemens-ix/{p-e4f9db28.entry.js → p-a73580a5.entry.js} +2 -2
- package/dist/siemens-ix/p-a89a1fa5.entry.js +2 -0
- package/dist/siemens-ix/p-a89a1fa5.entry.js.map +1 -0
- package/dist/siemens-ix/{p-2ecb0ffd.entry.js → p-b5c40bb3.entry.js} +2 -2
- package/dist/siemens-ix/p-b60bd26c.entry.js +2 -0
- package/dist/siemens-ix/p-b60bd26c.entry.js.map +1 -0
- package/dist/siemens-ix/p-b9c2e7d9.entry.js +2 -0
- package/dist/siemens-ix/p-b9c2e7d9.entry.js.map +1 -0
- package/dist/siemens-ix/{p-0dd51d53.entry.js → p-bd24f35f.entry.js} +2 -2
- package/dist/siemens-ix/p-c349b266.entry.js +2 -0
- package/dist/siemens-ix/p-c349b266.entry.js.map +1 -0
- package/dist/siemens-ix/p-c5124f7b.entry.js +2 -0
- package/dist/siemens-ix/p-c5124f7b.entry.js.map +1 -0
- package/dist/siemens-ix/{p-bbda3133.entry.js → p-c7109071.entry.js} +2 -2
- package/dist/siemens-ix/p-c724bb65.entry.js +2 -0
- package/dist/siemens-ix/p-c724bb65.entry.js.map +1 -0
- package/dist/siemens-ix/p-ca4d28fb.entry.js +2 -0
- package/dist/siemens-ix/p-ca4d28fb.entry.js.map +1 -0
- package/dist/siemens-ix/p-cd3cfc78.entry.js +2 -0
- package/dist/siemens-ix/p-cd3cfc78.entry.js.map +1 -0
- package/dist/siemens-ix/p-cd4e3593.entry.js +2 -0
- package/dist/siemens-ix/p-cd4e3593.entry.js.map +1 -0
- package/dist/siemens-ix/p-cd75b455.entry.js +2 -0
- package/dist/siemens-ix/p-cd75b455.entry.js.map +1 -0
- package/dist/siemens-ix/{p-ae29d220.entry.js → p-cf2717c1.entry.js} +2 -2
- package/dist/siemens-ix/{p-2149ce72.entry.js → p-d2225fc2.entry.js} +2 -2
- package/dist/siemens-ix/{p-925b7d63.entry.js → p-d5302336.entry.js} +2 -2
- package/dist/siemens-ix/{p-c11ebe2f.entry.js → p-d784a04b.entry.js} +2 -2
- package/dist/siemens-ix/{p-9a4a825a.entry.js → p-d7e23a1f.entry.js} +2 -2
- package/dist/siemens-ix/p-d848739e.entry.js +2 -0
- package/dist/siemens-ix/p-d848739e.entry.js.map +1 -0
- package/dist/siemens-ix/p-dbcec49e.entry.js +2 -0
- package/dist/siemens-ix/p-dbcec49e.entry.js.map +1 -0
- package/dist/siemens-ix/{p-dae58ef8.entry.js → p-dc98d3f4.entry.js} +2 -2
- package/dist/siemens-ix/{p-63663ccd.entry.js → p-df138b2a.entry.js} +2 -2
- package/dist/siemens-ix/p-ea55afa3.entry.js +2 -0
- package/dist/siemens-ix/p-ea55afa3.entry.js.map +1 -0
- package/dist/siemens-ix/{p-77c1e1e7.entry.js → p-eccc2475.entry.js} +2 -2
- package/dist/siemens-ix/{p-c4b1210b.entry.js → p-ecd1145b.entry.js} +2 -2
- package/dist/siemens-ix/{p-a36c0c05.entry.js → p-f207e578.entry.js} +2 -2
- package/dist/siemens-ix/p-f207e578.entry.js.map +1 -0
- package/dist/siemens-ix/{p-272b771c.entry.js → p-f48b706b.entry.js} +2 -2
- package/dist/siemens-ix/{p-65d38367.entry.js → p-f50697b9.entry.js} +2 -2
- package/dist/siemens-ix/p-f6ae45fb.entry.js +2 -0
- package/dist/siemens-ix/p-f6ae45fb.entry.js.map +1 -0
- package/dist/siemens-ix/{p-0fcfac90.entry.js → p-f74c7692.entry.js} +2 -2
- package/dist/siemens-ix/{p-7ed22ba1.entry.js → p-feb8c2c4.entry.js} +2 -2
- package/dist/siemens-ix/siemens-ix.css +32 -14
- package/dist/siemens-ix/siemens-ix.esm.js +1 -1
- package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
- package/dist/types/components/action-card/action-card.d.ts +28 -0
- package/dist/types/components/button/button.d.ts +1 -1
- package/dist/types/components/card/card.d.ts +12 -0
- package/dist/types/components/card-accordion/card-accordion.d.ts +20 -0
- package/dist/types/components/card-content/card-content.d.ts +6 -0
- package/dist/types/components/card-list/card-list.d.ts +78 -0
- package/dist/types/components/card-title/card-title.d.ts +8 -0
- package/dist/types/components/content-header/content-header.d.ts +25 -0
- package/dist/types/components/drawer/drawer.d.ts +1 -1
- package/dist/types/components/empty-state/empty-state.d.ts +32 -0
- package/dist/types/components/expanding-search/expanding-search.d.ts +5 -0
- package/dist/types/components/icon-button/icon-button.d.ts +1 -0
- package/dist/types/components/key-value/key-value.d.ts +25 -0
- package/dist/types/components/key-value-list/key-value-list.d.ts +10 -0
- package/dist/types/components/layout/css-grid/builder.d.ts +1 -0
- package/dist/types/components/layout/css-grid/css-grid-item.d.ts +10 -0
- package/dist/types/components/layout/css-grid/css-grid.d.ts +18 -0
- package/dist/types/components/map-navigation/map-navigation.d.ts +7 -1
- package/dist/types/components/menu-item/menu-item.d.ts +5 -3
- package/dist/types/components/push-card/push-card.d.ts +28 -0
- package/dist/types/components/time-picker/time-picker.d.ts +7 -0
- package/dist/types/components/toast/toast.d.ts +0 -1
- package/dist/types/components/typography/typography.d.ts +7 -2
- package/dist/types/components.d.ts +654 -46
- package/dist/types/index.d.ts +12 -0
- package/package.json +2 -2
- package/scss/components/_buttons.scss +3 -6
- package/scss/components/_forms.scss +18 -12
- package/scss/mixins/shadow-dom/_component.scss +15 -0
- package/scss/mixins/shadow-dom/_hover.scss +19 -0
- package/scss/theme/classic-dark/_borderRadius.scss +1 -1
- package/dist/cjs/index-931d1fb5.js.map +0 -1
- package/dist/cjs/ix-typography.cjs.entry.js.map +0 -1
- package/dist/collection/components/icon/icon.js +0 -101
- package/dist/collection/components/icon/icon.js.map +0 -1
- package/dist/collection/components/typography/types.js.map +0 -1
- package/dist/esm/index-57424926.js.map +0 -1
- package/dist/esm/ix-typography.entry.js.map +0 -1
- package/dist/siemens-ix/p-091accfc.entry.js +0 -2
- package/dist/siemens-ix/p-091accfc.entry.js.map +0 -1
- package/dist/siemens-ix/p-189cdc59.entry.js +0 -2
- package/dist/siemens-ix/p-189cdc59.entry.js.map +0 -1
- package/dist/siemens-ix/p-2206924a.entry.js +0 -2
- package/dist/siemens-ix/p-2206924a.entry.js.map +0 -1
- package/dist/siemens-ix/p-2e2fca5f.entry.js +0 -2
- package/dist/siemens-ix/p-2e2fca5f.entry.js.map +0 -1
- package/dist/siemens-ix/p-57a5d3d0.js.map +0 -1
- package/dist/siemens-ix/p-69c4d72b.entry.js +0 -2
- package/dist/siemens-ix/p-69c4d72b.entry.js.map +0 -1
- package/dist/siemens-ix/p-75045a73.entry.js +0 -2
- package/dist/siemens-ix/p-75045a73.entry.js.map +0 -1
- package/dist/siemens-ix/p-89b7ae4c.entry.js +0 -2
- package/dist/siemens-ix/p-89b7ae4c.entry.js.map +0 -1
- package/dist/siemens-ix/p-8cf56736.entry.js +0 -2
- package/dist/siemens-ix/p-8cf56736.entry.js.map +0 -1
- package/dist/siemens-ix/p-93d6bfe1.entry.js +0 -2
- package/dist/siemens-ix/p-93d6bfe1.entry.js.map +0 -1
- package/dist/siemens-ix/p-9c2ae88d.entry.js +0 -2
- package/dist/siemens-ix/p-9c2ae88d.entry.js.map +0 -1
- package/dist/siemens-ix/p-a36c0c05.entry.js.map +0 -1
- package/dist/siemens-ix/p-a6e443df.entry.js +0 -2
- package/dist/siemens-ix/p-a6e443df.entry.js.map +0 -1
- package/dist/siemens-ix/p-af533e73.entry.js +0 -2
- package/dist/siemens-ix/p-af533e73.entry.js.map +0 -1
- package/dist/siemens-ix/p-b46713aa.entry.js +0 -2
- package/dist/siemens-ix/p-b46713aa.entry.js.map +0 -1
- package/dist/siemens-ix/p-bdaae206.entry.js +0 -2
- package/dist/siemens-ix/p-bdaae206.entry.js.map +0 -1
- package/dist/siemens-ix/p-c29d31ea.entry.js +0 -2
- package/dist/siemens-ix/p-c29d31ea.entry.js.map +0 -1
- package/dist/siemens-ix/p-d57afc21.entry.js +0 -2
- package/dist/siemens-ix/p-d57afc21.entry.js.map +0 -1
- package/dist/siemens-ix/p-f72d10e6.entry.js +0 -2
- package/dist/siemens-ix/p-f72d10e6.entry.js.map +0 -1
- package/dist/types/components/icon/icon.d.ts +0 -15
- /package/dist/siemens-ix/{p-2850e6b1.entry.js.map → p-003e9355.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f20dc192.entry.js.map → p-1331a920.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f2355beb.entry.js.map → p-1e8ee4af.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-729c8d31.entry.js.map → p-3172249b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-3b4c5e4b.entry.js.map → p-40982e21.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7cdbc92b.entry.js.map → p-4597dd77.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d985e147.entry.js.map → p-4e851aa3.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1c1dd6d6.entry.js.map → p-51c81a20.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b54c8bba.entry.js.map → p-6124d173.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7f7657ec.entry.js.map → p-626fbee2.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-15335e01.entry.js.map → p-652ba2c1.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f7f07386.entry.js.map → p-821ca55e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-46e468af.entry.js.map → p-8719eeff.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-de1e7c64.entry.js.map → p-94ab7c1c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9da2881b.entry.js.map → p-9a82921b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-908afbed.entry.js.map → p-a08e1bbc.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-e4f9db28.entry.js.map → p-a73580a5.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2ecb0ffd.entry.js.map → p-b5c40bb3.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0dd51d53.entry.js.map → p-bd24f35f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-bbda3133.entry.js.map → p-c7109071.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ae29d220.entry.js.map → p-cf2717c1.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2149ce72.entry.js.map → p-d2225fc2.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-925b7d63.entry.js.map → p-d5302336.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c11ebe2f.entry.js.map → p-d784a04b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9a4a825a.entry.js.map → p-d7e23a1f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-dae58ef8.entry.js.map → p-dc98d3f4.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-63663ccd.entry.js.map → p-df138b2a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-77c1e1e7.entry.js.map → p-eccc2475.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c4b1210b.entry.js.map → p-ecd1145b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-272b771c.entry.js.map → p-f48b706b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-65d38367.entry.js.map → p-f50697b9.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0fcfac90.entry.js.map → p-f74c7692.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7ed22ba1.entry.js.map → p-feb8c2c4.entry.js.map} +0 -0
- /package/dist/types/components/typography/{types.d.ts → type-mapping.d.ts} +0 -0
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { c as createMutationObserver } from './mutation-observer.js';
|
|
3
|
+
import { d as defineCustomElement$7 } from './button.js';
|
|
4
|
+
import { d as defineCustomElement$6 } from './card.js';
|
|
5
|
+
import { d as defineCustomElement$5 } from './card-content.js';
|
|
6
|
+
import { d as defineCustomElement$4 } from './icon.js';
|
|
7
|
+
import { d as defineCustomElement$3 } from './icon-button.js';
|
|
8
|
+
import { d as defineCustomElement$2 } from './typography.js';
|
|
9
|
+
|
|
10
|
+
const cardListCss = ":host{display:flex;position:relative;flex-direction:column;align-items:flex-start;margin:0.5rem}:host *,:host *::after,:host *::before{box-sizing:border-box}:host .CardList_Title{display:flex;position:relative;height:1.5rem;align-items:center;width:100%;margin-bottom:0.5rem}:host .CardList__Title__Button{margin-right:1rem;transition:var(--theme-default-time) transform ease-in-out}:host .CardList__Title__Button__Collapsed{transform:rotate(-90deg)}:host .CardList__Title__Show__All{align-self:center;margin-left:auto;margin-right:0px}:host .CardList__Content{display:flex;position:relative;height:calc(100% - 1.5rem);width:100%;gap:1.5rem;transition:var(--theme-default-time) ease-in-out;overflow:auto}:host .CardList__Content__Collapsed{min-height:0px;max-height:0px;overflow:hidden;opacity:0}:host .CardList__Style__Flexbox__Scroll{flex-wrap:wrap}:host .CardList__Style__Infinite__Scroll{flex-wrap:nowrap;-ms-overflow-style:none;scrollbar-width:none}:host .CardList__Style__Infinite__Scroll::-webkit-scrollbar{display:none}:host .CardList__Overflow{display:block;position:relative;height:100%;width:100%;pointer-events:all;-webkit-mask-image:var(--ix-card-list-overflow, none);mask-image:var(--ix-card-list-overflow, none)}:host .Show__All__Card{display:flex;position:relative;align-self:flex-start;justify-self:center;max-width:11.25rem;min-width:11.25rem;width:11.25rem;min-height:11.25rem;max-height:11.25rem;height:11.25rem;--ix-card-border-color:var(--theme-color-primary);color:var(--theme-color-primary)}:host .CardList__Style__Infinite__Scroll .Show__All__Card{margin-top:2.375rem}:host .CardList__Style__Flexbox__Scroll .Show__All__Card{margin-bottom:2.375rem}:host .Show__All__Card:hover{background-color:var(--theme-color-ghost--hover)}:host .Show__All__Card:active{background-color:var(--theme-color-ghost--active)}:host .Show__All__Card__Content{display:flex;justify-content:center;align-items:center}:host .Show__All__Card__Icon{display:flex;position:absolute;height:4rem;width:4rem;justify-content:center;align-items:center;transform:scale(2)}:host .Show__All__Card__Text{margin-bottom:0px;margin-top:auto}";
|
|
11
|
+
|
|
12
|
+
function CardListTitle(props) {
|
|
13
|
+
if (props.label === '') {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
return (h("div", { class: "CardList_Title" }, h("ix-icon-button", { ghost: true, icon: "chevron-down", onClick: props.onClick, color: "color-primary", class: {
|
|
17
|
+
CardList__Title__Button: true,
|
|
18
|
+
CardList__Title__Button__Collapsed: props.isCollapsed,
|
|
19
|
+
} }), h("ix-typography", { variant: "large-single" }, props.label), h("ix-button", { class: "CardList__Title__Show__All", ghost: true, onClick: props.onShowAllClick }, h("span", null, props.showAllLabel), h("span", null, !isNaN(props.showAllCounter) ? ` (${props.showAllCounter})` : null))));
|
|
20
|
+
}
|
|
21
|
+
const CardList = /*@__PURE__*/ proxyCustomElement(class CardList extends HTMLElement {
|
|
22
|
+
constructor() {
|
|
23
|
+
super();
|
|
24
|
+
this.__registerHost();
|
|
25
|
+
this.__attachShadow();
|
|
26
|
+
this.collapseChanged = createEvent(this, "collapseChanged", 7);
|
|
27
|
+
this.showAllClick = createEvent(this, "showAllClick", 7);
|
|
28
|
+
this.showMoreCardClick = createEvent(this, "showMoreCardClick", 7);
|
|
29
|
+
this.label = undefined;
|
|
30
|
+
this.collapse = false;
|
|
31
|
+
this.listStyle = 'stack';
|
|
32
|
+
this.maxVisibleCards = 12;
|
|
33
|
+
this.showAllCount = undefined;
|
|
34
|
+
this.suppressOverflowHandling = false;
|
|
35
|
+
this.i18nShowAll = 'Show all';
|
|
36
|
+
this.i18nMoreCards = 'There are more cards available';
|
|
37
|
+
this.hasOverflowingElements = false;
|
|
38
|
+
this.numberOfOverflowingElements = 0;
|
|
39
|
+
this.numberOfAllChildElements = 0;
|
|
40
|
+
this.leftScrollDistance = 0;
|
|
41
|
+
this.rightScrollDistance = 0;
|
|
42
|
+
}
|
|
43
|
+
onCardListVisibilityToggle() {
|
|
44
|
+
this.collapse = !this.collapse;
|
|
45
|
+
this.collapseChanged.emit(this.collapse);
|
|
46
|
+
}
|
|
47
|
+
onShowAllClick(event) {
|
|
48
|
+
this.showAllClick.emit({
|
|
49
|
+
nativeEvent: event,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
getListChildren() {
|
|
53
|
+
const slot = this.hostElement.shadowRoot.querySelector('.CardList__Content > slot');
|
|
54
|
+
return slot.assignedElements({ flatten: true });
|
|
55
|
+
}
|
|
56
|
+
changeVisibilityOfSlotChildren() {
|
|
57
|
+
const childElements = this.getListChildren();
|
|
58
|
+
childElements.forEach((element, index) => {
|
|
59
|
+
if (element instanceof HTMLElement) {
|
|
60
|
+
if (index > this.maxVisibleCards - 1) {
|
|
61
|
+
element.classList.add('d-none');
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
element.classList.remove('d-none');
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
this.hasOverflowingElements = childElements.length > this.maxVisibleCards;
|
|
68
|
+
this.numberOfOverflowingElements =
|
|
69
|
+
childElements.length - this.maxVisibleCards;
|
|
70
|
+
this.numberOfAllChildElements = childElements.length;
|
|
71
|
+
this.detectOverflow();
|
|
72
|
+
}
|
|
73
|
+
registerOverflowHandler() {
|
|
74
|
+
this.observer = createMutationObserver(() => {
|
|
75
|
+
this.changeVisibilityOfSlotChildren();
|
|
76
|
+
});
|
|
77
|
+
this.observer.observe(this.hostElement.shadowRoot.querySelector('.CardList__Content'), {
|
|
78
|
+
childList: true,
|
|
79
|
+
subtree: true,
|
|
80
|
+
});
|
|
81
|
+
requestAnimationFrame(() => {
|
|
82
|
+
this.changeVisibilityOfSlotChildren();
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
shouldHandleOverflow() {
|
|
86
|
+
if (this.suppressOverflowHandling) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
if (this.listStyle === 'stack' || this.listStyle === 'scroll') {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
get listElement() {
|
|
94
|
+
return this.hostElement.shadowRoot.querySelector('.CardList__Content');
|
|
95
|
+
}
|
|
96
|
+
onCardListScroll() {
|
|
97
|
+
this.detectOverflow();
|
|
98
|
+
}
|
|
99
|
+
isShowMoreCardVisible() {
|
|
100
|
+
return (this.suppressOverflowHandling === false && this.hasOverflowingElements);
|
|
101
|
+
}
|
|
102
|
+
getOpacityFromScrollDistance(distance) {
|
|
103
|
+
if (!this.listElement) {
|
|
104
|
+
return 0;
|
|
105
|
+
}
|
|
106
|
+
if (distance === 0) {
|
|
107
|
+
return 0;
|
|
108
|
+
}
|
|
109
|
+
if (distance > 100) {
|
|
110
|
+
return 1;
|
|
111
|
+
}
|
|
112
|
+
return distance / 100;
|
|
113
|
+
}
|
|
114
|
+
computeMaskLayer() {
|
|
115
|
+
const maxOverflowWidth = 80;
|
|
116
|
+
const maskLayer = `linear-gradient(
|
|
117
|
+
90deg,
|
|
118
|
+
transparent 0px,
|
|
119
|
+
black ${maxOverflowWidth *
|
|
120
|
+
(this.getOpacityFromScrollDistance(this.leftScrollDistance) > 0 ? 1 : 0)}px,
|
|
121
|
+
black calc(100% - ${maxOverflowWidth *
|
|
122
|
+
(this.getOpacityFromScrollDistance(this.rightScrollDistance) > 0
|
|
123
|
+
? 1
|
|
124
|
+
: 0)}px),
|
|
125
|
+
transparent 100%
|
|
126
|
+
)`;
|
|
127
|
+
return {
|
|
128
|
+
'--ix-card-list-overflow': maskLayer,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
detectOverflow() {
|
|
132
|
+
const { clientWidth, scrollWidth, scrollLeft } = this.listElement;
|
|
133
|
+
this.leftScrollDistance = scrollLeft;
|
|
134
|
+
this.rightScrollDistance = scrollWidth - scrollLeft - clientWidth;
|
|
135
|
+
}
|
|
136
|
+
componentDidLoad() {
|
|
137
|
+
if (this.shouldHandleOverflow()) {
|
|
138
|
+
this.registerOverflowHandler();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
disconnectedCallback() {
|
|
142
|
+
if (this.observer) {
|
|
143
|
+
this.observer.disconnect();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
render() {
|
|
147
|
+
return (h(Host, null, h(CardListTitle, { isCollapsed: this.collapse, label: this.label, showAllLabel: this.i18nShowAll, showAllCounter: this.showAllCount === undefined
|
|
148
|
+
? this.numberOfAllChildElements
|
|
149
|
+
: this.showAllCount, onClick: () => this.onCardListVisibilityToggle(), onShowAllClick: (e) => this.onShowAllClick(e) }), h("div", { class: {
|
|
150
|
+
CardList__Overflow: true,
|
|
151
|
+
}, style: this.computeMaskLayer() }, h("div", { class: {
|
|
152
|
+
CardList__Content: true,
|
|
153
|
+
CardList__Content__Collapsed: this.collapse,
|
|
154
|
+
CardList__Style__Flexbox__Scroll: this.listStyle === 'stack',
|
|
155
|
+
CardList__Style__Infinite__Scroll: this.listStyle === 'scroll',
|
|
156
|
+
}, onScroll: () => this.onCardListScroll() }, h("slot", { onSlotchange: () => this.changeVisibilityOfSlotChildren() }), this.isShowMoreCardVisible() ? (h("ix-card", { class: {
|
|
157
|
+
Show__All__Card: true,
|
|
158
|
+
}, onClick: (event) => this.showMoreCardClick.emit({
|
|
159
|
+
nativeEvent: event,
|
|
160
|
+
}) }, h("ix-card-content", { class: "Show__All__Card__Content" }, h("ix-icon", { name: "more-menu", size: '32', class: 'Show__All__Card__Icon' }), h("span", { class: "Show__All__Card__Text" }, this.i18nMoreCards, " (", this.numberOfOverflowingElements, ")")))) : null))));
|
|
161
|
+
}
|
|
162
|
+
get hostElement() { return this; }
|
|
163
|
+
static get style() { return cardListCss; }
|
|
164
|
+
}, [1, "ix-card-list", {
|
|
165
|
+
"label": [1],
|
|
166
|
+
"collapse": [1028],
|
|
167
|
+
"listStyle": [1, "list-style"],
|
|
168
|
+
"maxVisibleCards": [2, "max-visible-cards"],
|
|
169
|
+
"showAllCount": [2, "show-all-count"],
|
|
170
|
+
"suppressOverflowHandling": [4, "suppress-overflow-handling"],
|
|
171
|
+
"i18nShowAll": [1, "i-1-8n-show-all"],
|
|
172
|
+
"i18nMoreCards": [1, "i-1-8n-more-cards"],
|
|
173
|
+
"hasOverflowingElements": [32],
|
|
174
|
+
"numberOfOverflowingElements": [32],
|
|
175
|
+
"numberOfAllChildElements": [32],
|
|
176
|
+
"leftScrollDistance": [32],
|
|
177
|
+
"rightScrollDistance": [32]
|
|
178
|
+
}, [[9, "resize", "detectOverflow"]]]);
|
|
179
|
+
function defineCustomElement$1() {
|
|
180
|
+
if (typeof customElements === "undefined") {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
const components = ["ix-card-list", "ix-button", "ix-card", "ix-card-content", "ix-icon", "ix-icon-button", "ix-typography"];
|
|
184
|
+
components.forEach(tagName => { switch (tagName) {
|
|
185
|
+
case "ix-card-list":
|
|
186
|
+
if (!customElements.get(tagName)) {
|
|
187
|
+
customElements.define(tagName, CardList);
|
|
188
|
+
}
|
|
189
|
+
break;
|
|
190
|
+
case "ix-button":
|
|
191
|
+
if (!customElements.get(tagName)) {
|
|
192
|
+
defineCustomElement$7();
|
|
193
|
+
}
|
|
194
|
+
break;
|
|
195
|
+
case "ix-card":
|
|
196
|
+
if (!customElements.get(tagName)) {
|
|
197
|
+
defineCustomElement$6();
|
|
198
|
+
}
|
|
199
|
+
break;
|
|
200
|
+
case "ix-card-content":
|
|
201
|
+
if (!customElements.get(tagName)) {
|
|
202
|
+
defineCustomElement$5();
|
|
203
|
+
}
|
|
204
|
+
break;
|
|
205
|
+
case "ix-icon":
|
|
206
|
+
if (!customElements.get(tagName)) {
|
|
207
|
+
defineCustomElement$4();
|
|
208
|
+
}
|
|
209
|
+
break;
|
|
210
|
+
case "ix-icon-button":
|
|
211
|
+
if (!customElements.get(tagName)) {
|
|
212
|
+
defineCustomElement$3();
|
|
213
|
+
}
|
|
214
|
+
break;
|
|
215
|
+
case "ix-typography":
|
|
216
|
+
if (!customElements.get(tagName)) {
|
|
217
|
+
defineCustomElement$2();
|
|
218
|
+
}
|
|
219
|
+
break;
|
|
220
|
+
} });
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
const IxCardList = CardList;
|
|
224
|
+
const defineCustomElement = defineCustomElement$1;
|
|
225
|
+
|
|
226
|
+
export { IxCardList, defineCustomElement };
|
|
227
|
+
|
|
228
|
+
//# sourceMappingURL=ix-card-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"ix-card-list.js","mappings":"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","names":[],"sources":["./src/components/card-list/card-list.scss?tag=ix-card-list&encapsulation=shadow","./src/components/card-list/card-list.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n\n$CardList__Title__Height: 1.5rem;\n\n:host {\n @include ix-component;\n\n display: flex;\n position: relative;\n flex-direction: column;\n align-items: flex-start;\n margin: 0.5rem;\n\n .CardList_Title {\n display: flex;\n position: relative;\n height: $CardList__Title__Height;\n align-items: center;\n width: 100%;\n margin-bottom: 0.5rem;\n }\n\n .CardList__Title__Button {\n margin-right: 1rem;\n transition: var(--theme-default-time) transform ease-in-out;\n }\n\n .CardList__Title__Button__Collapsed {\n transform: rotate(-90deg);\n }\n\n .CardList__Title__Show__All {\n align-self: center;\n margin-left: auto;\n margin-right: 0px;\n }\n\n .CardList__Content {\n display: flex;\n position: relative;\n height: calc(100% - #{$CardList__Title__Height});\n width: 100%;\n gap: 1.5rem;\n transition: var(--theme-default-time) ease-in-out;\n overflow: auto;\n }\n\n .CardList__Content__Collapsed {\n min-height: 0px;\n max-height: 0px;\n overflow: hidden;\n opacity: 0;\n }\n\n .CardList__Style__Flexbox__Scroll {\n flex-wrap: wrap;\n }\n\n .CardList__Style__Infinite__Scroll {\n flex-wrap: nowrap;\n\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n .CardList__Overflow {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n pointer-events: all;\n mask-image: var(--ix-card-list-overflow, none);\n }\n\n .Show__All__Card {\n display: flex;\n position: relative;\n\n align-self: flex-start;\n justify-self: center;\n\n max-width: 11.25rem;\n min-width: 11.25rem;\n width: 11.25rem;\n\n min-height: 11.25rem;\n max-height: 11.25rem;\n height: 11.25rem;\n\n --ix-card-border-color: var(--theme-color-primary);\n color: var(--theme-color-primary);\n }\n\n .CardList__Style__Infinite__Scroll .Show__All__Card {\n margin-top: 2.375rem;\n }\n\n .CardList__Style__Flexbox__Scroll .Show__All__Card {\n margin-bottom: 2.375rem;\n }\n\n .Show__All__Card:hover {\n background-color: var(--theme-color-ghost--hover);\n }\n\n .Show__All__Card:active {\n background-color: var(--theme-color-ghost--active);\n }\n\n .Show__All__Card__Content {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .Show__All__Card__Icon {\n display: flex;\n position: absolute;\n height: 4rem;\n width: 4rem;\n justify-content: center;\n align-items: center;\n transform: scale(2);\n }\n\n .Show__All__Card__Text {\n margin-bottom: 0px;\n margin-top: auto;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\nimport { createMutationObserver } from '../utils/mutation-observer';\n\nfunction CardListTitle(props: {\n label: string;\n isCollapsed: boolean;\n onClick: (e: MouseEvent) => void;\n onShowAllClick: (e: MouseEvent) => void;\n showAllLabel: string;\n showAllCounter: number;\n}) {\n if (props.label === '') {\n return null;\n }\n\n return (\n <div class=\"CardList_Title\">\n <ix-icon-button\n ghost\n icon=\"chevron-down\"\n onClick={props.onClick}\n color=\"color-primary\"\n class={{\n CardList__Title__Button: true,\n CardList__Title__Button__Collapsed: props.isCollapsed,\n }}\n ></ix-icon-button>\n <ix-typography variant=\"large-single\">{props.label}</ix-typography>\n <ix-button\n class=\"CardList__Title__Show__All\"\n ghost\n onClick={props.onShowAllClick}\n >\n <span>{props.showAllLabel}</span>\n <span>\n {!isNaN(props.showAllCounter) ? ` (${props.showAllCounter})` : null}\n </span>\n </ix-button>\n </div>\n );\n}\n\n/**\n * @since 1.6.0\n */\n@Component({\n tag: 'ix-card-list',\n styleUrl: 'card-list.scss',\n shadow: true,\n})\nexport class CardList {\n /**\n * Name the card list\n */\n @Prop() label: string;\n\n /**\n * Collapse the list\n */\n @Prop({ mutable: true }) collapse = false;\n\n /**\n * List style\n */\n @Prop() listStyle: 'stack' | 'scroll' = 'stack';\n\n /**\n * Maximal visible cards\n *\n * @internal\n */\n @Prop() maxVisibleCards = 12;\n\n /**\n * Overwrite the default show all count.\n * */\n @Prop() showAllCount: number | undefined;\n\n /**\n * Suppress the overflow handling of child elements\n */\n @Prop() suppressOverflowHandling = false;\n\n /**\n * i18n Show all button\n */\n @Prop() i18nShowAll = 'Show all';\n\n /**\n * i18n More cards available\n */\n @Prop() i18nMoreCards = 'There are more cards available';\n\n /**\n * Fire event when the collapse state is changed by the user\n */\n @Event() collapseChanged: EventEmitter<boolean>;\n\n /**\n * Fire event when the collapse state is changed by the user\n */\n @Event() showAllClick: EventEmitter<{\n nativeEvent: MouseEvent;\n }>;\n\n /**\n * Fire event when the show more card is clicked.\n */\n @Event() showMoreCardClick: EventEmitter<{\n nativeEvent: MouseEvent;\n }>;\n\n @Element() hostElement: HTMLIxCardListElement;\n\n @State() private hasOverflowingElements = false;\n @State() private numberOfOverflowingElements = 0;\n @State() private numberOfAllChildElements = 0;\n @State() private leftScrollDistance = 0;\n @State() private rightScrollDistance = 0;\n\n private observer: MutationObserver;\n\n private onCardListVisibilityToggle() {\n this.collapse = !this.collapse;\n this.collapseChanged.emit(this.collapse);\n }\n\n private onShowAllClick(event: MouseEvent) {\n this.showAllClick.emit({\n nativeEvent: event,\n });\n }\n\n private getListChildren() {\n const slot = this.hostElement.shadowRoot.querySelector(\n '.CardList__Content > slot'\n ) as HTMLSlotElement;\n return slot.assignedElements({ flatten: true });\n }\n\n private changeVisibilityOfSlotChildren() {\n const childElements = this.getListChildren();\n childElements.forEach((element, index) => {\n if (element instanceof HTMLElement) {\n if (index > this.maxVisibleCards - 1) {\n element.classList.add('d-none');\n return;\n }\n element.classList.remove('d-none');\n }\n });\n this.hasOverflowingElements = childElements.length > this.maxVisibleCards;\n this.numberOfOverflowingElements =\n childElements.length - this.maxVisibleCards;\n\n this.numberOfAllChildElements = childElements.length;\n this.detectOverflow();\n }\n\n private registerOverflowHandler() {\n this.observer = createMutationObserver(() => {\n this.changeVisibilityOfSlotChildren();\n });\n\n this.observer.observe(\n this.hostElement.shadowRoot.querySelector('.CardList__Content'),\n {\n childList: true,\n subtree: true,\n }\n );\n\n requestAnimationFrame(() => {\n this.changeVisibilityOfSlotChildren();\n });\n }\n\n private shouldHandleOverflow() {\n if (this.suppressOverflowHandling) {\n return false;\n }\n if (this.listStyle === 'stack' || this.listStyle === 'scroll') {\n return true;\n }\n }\n\n private get listElement() {\n return this.hostElement.shadowRoot.querySelector('.CardList__Content');\n }\n\n private onCardListScroll() {\n this.detectOverflow();\n }\n\n private isShowMoreCardVisible() {\n return (\n this.suppressOverflowHandling === false && this.hasOverflowingElements\n );\n }\n\n private getOpacityFromScrollDistance(distance: number) {\n if (!this.listElement) {\n return 0;\n }\n\n if (distance === 0) {\n return 0;\n }\n\n if (distance > 100) {\n return 1;\n }\n\n return distance / 100;\n }\n\n private computeMaskLayer() {\n const maxOverflowWidth = 80;\n const maskLayer = `linear-gradient(\n 90deg,\n transparent 0px,\n black ${\n maxOverflowWidth *\n (this.getOpacityFromScrollDistance(this.leftScrollDistance) > 0 ? 1 : 0)\n }px,\n black calc(100% - ${\n maxOverflowWidth *\n (this.getOpacityFromScrollDistance(this.rightScrollDistance) > 0\n ? 1\n : 0)\n }px),\n transparent 100%\n )`;\n return {\n '--ix-card-list-overflow': maskLayer,\n };\n }\n\n @Listen('resize', { target: 'window' })\n private detectOverflow() {\n const { clientWidth, scrollWidth, scrollLeft } = this.listElement;\n\n this.leftScrollDistance = scrollLeft;\n this.rightScrollDistance = scrollWidth - scrollLeft - clientWidth;\n }\n\n componentDidLoad() {\n if (this.shouldHandleOverflow()) {\n this.registerOverflowHandler();\n }\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n render() {\n return (\n <Host>\n <CardListTitle\n isCollapsed={this.collapse}\n label={this.label}\n showAllLabel={this.i18nShowAll}\n showAllCounter={\n this.showAllCount === undefined\n ? this.numberOfAllChildElements\n : this.showAllCount\n }\n onClick={() => this.onCardListVisibilityToggle()}\n onShowAllClick={(e) => this.onShowAllClick(e)}\n ></CardListTitle>\n <div\n class={{\n CardList__Overflow: true,\n }}\n style={this.computeMaskLayer()}\n >\n <div\n class={{\n CardList__Content: true,\n CardList__Content__Collapsed: this.collapse,\n CardList__Style__Flexbox__Scroll: this.listStyle === 'stack',\n CardList__Style__Infinite__Scroll: this.listStyle === 'scroll',\n }}\n onScroll={() => this.onCardListScroll()}\n >\n <slot\n onSlotchange={() => this.changeVisibilityOfSlotChildren()}\n ></slot>\n {this.isShowMoreCardVisible() ? (\n <ix-card\n class={{\n Show__All__Card: true,\n }}\n onClick={(event) =>\n this.showMoreCardClick.emit({\n nativeEvent: event,\n })\n }\n >\n <ix-card-content class=\"Show__All__Card__Content\">\n <ix-icon\n name=\"more-menu\"\n size={'32'}\n class={'Show__All__Card__Icon'}\n ></ix-icon>\n <span class=\"Show__All__Card__Text\">\n {this.i18nMoreCards} ({this.numberOfOverflowingElements})\n </span>\n </ix-card-content>\n </ix-card>\n ) : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface IxCardTitle extends Components.IxCardTitle, HTMLElement {}
|
|
4
|
+
export const IxCardTitle: {
|
|
5
|
+
prototype: IxCardTitle;
|
|
6
|
+
new (): IxCardTitle;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"ix-card-title.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Components, JSX } from "../types/components";
|
|
2
2
|
|
|
3
|
-
interface
|
|
4
|
-
export const
|
|
5
|
-
prototype:
|
|
6
|
-
new ():
|
|
3
|
+
interface IxCard extends Components.IxCard, HTMLElement {}
|
|
4
|
+
export const IxCard: {
|
|
5
|
+
prototype: IxCard;
|
|
6
|
+
new (): IxCard;
|
|
7
7
|
};
|
|
8
8
|
/**
|
|
9
9
|
* Used to define this component and all nested components recursively.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"ix-card.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface IxContentHeader extends Components.IxContentHeader, HTMLElement {}
|
|
4
|
+
export const IxContentHeader: {
|
|
5
|
+
prototype: IxContentHeader;
|
|
6
|
+
new (): IxContentHeader;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { d as defineCustomElement$4 } from './icon.js';
|
|
3
|
+
import { d as defineCustomElement$3 } from './icon-button.js';
|
|
4
|
+
import { d as defineCustomElement$2 } from './typography.js';
|
|
5
|
+
|
|
6
|
+
const contentHeaderCss = ":host{display:flex;flex-direction:row;align-items:flex-start;padding:0px}:host .titleGroup{display:flex;flex-direction:column;flex:1 1 0%}:host .subtitle{margin-top:0.5rem}:host .backButton{margin-right:0.5rem}:host .buttons{flex:0 0 auto}";
|
|
7
|
+
|
|
8
|
+
const ContentHeader = /*@__PURE__*/ proxyCustomElement(class ContentHeader extends HTMLElement {
|
|
9
|
+
constructor() {
|
|
10
|
+
super();
|
|
11
|
+
this.__registerHost();
|
|
12
|
+
this.__attachShadow();
|
|
13
|
+
this.backButtonClick = createEvent(this, "backButtonClick", 7);
|
|
14
|
+
this.variant = 'Primary';
|
|
15
|
+
this.headerTitle = undefined;
|
|
16
|
+
this.headerSubtitle = undefined;
|
|
17
|
+
this.hasBackButton = false;
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
return (h(Host, null, this.hasBackButton ? (h("ix-icon-button", { class: 'backButton', variant: "Primary", icon: "arrow-left", ghost: true, onClick: () => this.backButtonClick.emit() })) : null, h("div", { class: "titleGroup" }, h("ix-typography", { variant: this.variant === 'Secondary' ? 'large-single' : 'h2' }, this.headerTitle), this.headerSubtitle !== undefined ? (h("ix-typography", { variant: 'caption', color: 'soft', class: "subtitle" }, this.headerSubtitle)) : null), h("div", { class: "buttons" }, h("slot", null))));
|
|
21
|
+
}
|
|
22
|
+
static get style() { return contentHeaderCss; }
|
|
23
|
+
}, [1, "ix-content-header", {
|
|
24
|
+
"variant": [1],
|
|
25
|
+
"headerTitle": [1, "header-title"],
|
|
26
|
+
"headerSubtitle": [1, "header-subtitle"],
|
|
27
|
+
"hasBackButton": [4, "has-back-button"]
|
|
28
|
+
}]);
|
|
29
|
+
function defineCustomElement$1() {
|
|
30
|
+
if (typeof customElements === "undefined") {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const components = ["ix-content-header", "ix-icon", "ix-icon-button", "ix-typography"];
|
|
34
|
+
components.forEach(tagName => { switch (tagName) {
|
|
35
|
+
case "ix-content-header":
|
|
36
|
+
if (!customElements.get(tagName)) {
|
|
37
|
+
customElements.define(tagName, ContentHeader);
|
|
38
|
+
}
|
|
39
|
+
break;
|
|
40
|
+
case "ix-icon":
|
|
41
|
+
if (!customElements.get(tagName)) {
|
|
42
|
+
defineCustomElement$4();
|
|
43
|
+
}
|
|
44
|
+
break;
|
|
45
|
+
case "ix-icon-button":
|
|
46
|
+
if (!customElements.get(tagName)) {
|
|
47
|
+
defineCustomElement$3();
|
|
48
|
+
}
|
|
49
|
+
break;
|
|
50
|
+
case "ix-typography":
|
|
51
|
+
if (!customElements.get(tagName)) {
|
|
52
|
+
defineCustomElement$2();
|
|
53
|
+
}
|
|
54
|
+
break;
|
|
55
|
+
} });
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const IxContentHeader = ContentHeader;
|
|
59
|
+
const defineCustomElement = defineCustomElement$1;
|
|
60
|
+
|
|
61
|
+
export { IxContentHeader, defineCustomElement };
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=ix-content-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"ix-content-header.js","mappings":";;;;;AAAA,MAAM,gBAAgB,GAAG,iPAAiP;;MCkB7P,aAAa;;;;;;mBAIgB,SAAS;;0BAUJ,SAAS;yBAKrB,KAAK;;EAOtC,MAAM;IACJ,QACE,EAAC,IAAI,QACF,IAAI,CAAC,aAAa,IACjB,sBACE,KAAK,EAAE,YAAY,EACnB,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,YAAY,EACjB,KAAK,EAAE,IAAI,EACX,OAAO,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAC1B,IAChB,IAAI,EAER,WAAK,KAAK,EAAC,YAAY,IACrB,qBACE,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,WAAW,GAAG,cAAc,GAAG,IAAI,IAE5D,IAAI,CAAC,WAAW,CACH,EACf,IAAI,CAAC,cAAc,KAAK,SAAS,IAChC,qBAAe,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC,UAAU,IAC/D,IAAI,CAAC,cAAc,CACN,IACd,IAAI,CACJ,EACN,WAAK,KAAK,EAAC,SAAS,IAClB,eAAQ,CACJ,CACD,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/content-header/content-header.scss?tag=ix-content-header&encapsulation=shadow","./src/components/content-header/content-header.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 0px;\n\n .titleGroup {\n display: flex;\n flex-direction: column;\n flex: 1 1 0%;\n }\n\n .subtitle {\n margin-top: 0.5rem;\n }\n\n .backButton {\n margin-right: 0.5rem;\n }\n\n .buttons {\n flex: 0 0 auto;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\n\nexport type ContentHeaderVariant = 'Primary' | 'Secondary';\n\n@Component({\n tag: 'ix-content-header',\n styleUrl: 'content-header.scss',\n shadow: true,\n})\nexport class ContentHeader {\n /**\n * Variant of content header\n */\n @Prop() variant: ContentHeaderVariant = 'Primary';\n\n /**\n * Title of Header\n */\n @Prop() headerTitle: string;\n\n /**\n * Subtitle of Header\n */\n @Prop() headerSubtitle: string | undefined = undefined;\n\n /**\n * Display a back button\n */\n @Prop() hasBackButton: boolean = false;\n\n /**\n * Triggered when back button is clicked\n */\n @Event() backButtonClick: EventEmitter<void>;\n\n render() {\n return (\n <Host>\n {this.hasBackButton ? (\n <ix-icon-button\n class={'backButton'}\n variant=\"Primary\"\n icon=\"arrow-left\"\n ghost={true}\n onClick={() => this.backButtonClick.emit()}\n ></ix-icon-button>\n ) : null}\n\n <div class=\"titleGroup\">\n <ix-typography\n variant={this.variant === 'Secondary' ? 'large-single' : 'h2'}\n >\n {this.headerTitle}\n </ix-typography>\n {this.headerSubtitle !== undefined ? (\n <ix-typography variant={'caption'} color={'soft'} class=\"subtitle\">\n {this.headerSubtitle}\n </ix-typography>\n ) : null}\n </div>\n <div class=\"buttons\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface IxCssGridItem extends Components.IxCssGridItem, HTMLElement {}
|
|
4
|
+
export const IxCssGridItem: {
|
|
5
|
+
prototype: IxCssGridItem;
|
|
6
|
+
new (): IxCssGridItem;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
const cssGridItemCss = ":host{display:block;position:relative}:host ::slotted(*){height:100%;width:100%}";
|
|
4
|
+
|
|
5
|
+
const CssGridItem = /*@__PURE__*/ proxyCustomElement(class CssGridItem extends HTMLElement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
this.__registerHost();
|
|
9
|
+
this.__attachShadow();
|
|
10
|
+
this.itemName = undefined;
|
|
11
|
+
}
|
|
12
|
+
render() {
|
|
13
|
+
const style = {};
|
|
14
|
+
style['grid-area'] = this.itemName;
|
|
15
|
+
return (h(Host, { style: style }, h("slot", null)));
|
|
16
|
+
}
|
|
17
|
+
static get style() { return cssGridItemCss; }
|
|
18
|
+
}, [1, "ix-css-grid-item", {
|
|
19
|
+
"itemName": [1, "item-name"]
|
|
20
|
+
}]);
|
|
21
|
+
function defineCustomElement$1() {
|
|
22
|
+
if (typeof customElements === "undefined") {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const components = ["ix-css-grid-item"];
|
|
26
|
+
components.forEach(tagName => { switch (tagName) {
|
|
27
|
+
case "ix-css-grid-item":
|
|
28
|
+
if (!customElements.get(tagName)) {
|
|
29
|
+
customElements.define(tagName, CssGridItem);
|
|
30
|
+
}
|
|
31
|
+
break;
|
|
32
|
+
} });
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const IxCssGridItem = CssGridItem;
|
|
36
|
+
const defineCustomElement = defineCustomElement$1;
|
|
37
|
+
|
|
38
|
+
export { IxCssGridItem, defineCustomElement };
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=ix-css-grid-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"ix-css-grid-item.js","mappings":";;AAAA,MAAM,cAAc,GAAG,kFAAkF;;MCmB5F,WAAW;;;;;;;EAMtB,MAAM;IACJ,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;IAEnC,QACE,EAAC,IAAI,IAAC,KAAK,EAAE,KAAK,IAChB,eAAa,CACR,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/layout/css-grid/css-grid-item.scss?tag=ix-css-grid-item&encapsulation=shadow","./src/components/layout/css-grid/css-grid-item.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n:host {\n display: block;\n position: relative;\n\n ::slotted(*) {\n height: 100%;\n width: 100%;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * @internal\n */\n@Component({\n tag: 'ix-css-grid-item',\n styleUrl: 'css-grid-item.scss',\n shadow: true,\n})\nexport class CssGridItem {\n /**\n * Grid item name\n */\n @Prop() itemName: string;\n\n render() {\n const style = {};\n style['grid-area'] = this.itemName;\n\n return (\n <Host style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface IxCssGrid extends Components.IxCssGrid, HTMLElement {}
|
|
4
|
+
export const IxCssGrid: {
|
|
5
|
+
prototype: IxCssGrid;
|
|
6
|
+
new (): IxCssGrid;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* SPDX-FileCopyrightText: 2023 Siemens AG
|
|
5
|
+
*
|
|
6
|
+
* SPDX-License-Identifier: MIT
|
|
7
|
+
*
|
|
8
|
+
* This source code is licensed under the MIT license found in the
|
|
9
|
+
* LICENSE file in the root directory of this source tree.
|
|
10
|
+
*/
|
|
11
|
+
function templateBuilder(inputTemplate) {
|
|
12
|
+
let templateString = '';
|
|
13
|
+
inputTemplate.forEach((row) => {
|
|
14
|
+
templateString += '"';
|
|
15
|
+
templateString = row.reduce((pV, cV) => {
|
|
16
|
+
return `${pV} ${cV}`;
|
|
17
|
+
}, templateString);
|
|
18
|
+
templateString += '"\n';
|
|
19
|
+
});
|
|
20
|
+
return templateString;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const cssGridCss = ":host{display:grid;position:relative;row-gap:1.5rem;-moz-column-gap:1.5rem;column-gap:1.5rem}";
|
|
24
|
+
|
|
25
|
+
const smQuery = 'only screen and (max-width: 576px)';
|
|
26
|
+
const mdQuery = 'only screen and (max-width: 768px)';
|
|
27
|
+
const lgQuery = 'only screen and (max-width: 992px)';
|
|
28
|
+
const mediaQueryCollection = [
|
|
29
|
+
{ name: 'sm', query: smQuery },
|
|
30
|
+
{ name: 'md', query: mdQuery },
|
|
31
|
+
{ name: 'lg', query: lgQuery },
|
|
32
|
+
];
|
|
33
|
+
const CssGrid = /*@__PURE__*/ proxyCustomElement(class CssGrid extends HTMLElement {
|
|
34
|
+
constructor() {
|
|
35
|
+
super();
|
|
36
|
+
this.__registerHost();
|
|
37
|
+
this.__attachShadow();
|
|
38
|
+
this.disposeMediaQueryListener = [];
|
|
39
|
+
this.mediaQueries = [];
|
|
40
|
+
this.templates = undefined;
|
|
41
|
+
this.currentTemplate = undefined;
|
|
42
|
+
}
|
|
43
|
+
componentWillRender() {
|
|
44
|
+
this.mediaQueries = mediaQueryCollection.map((query) => {
|
|
45
|
+
const mediaQuery = window.matchMedia(query.query);
|
|
46
|
+
const callback = () => {
|
|
47
|
+
this.applyTemplate();
|
|
48
|
+
};
|
|
49
|
+
this.disposeMediaQueryListener.push(callback);
|
|
50
|
+
mediaQuery.addEventListener('change', callback);
|
|
51
|
+
return Object.assign(Object.assign({}, query), { mediaQuery });
|
|
52
|
+
});
|
|
53
|
+
this.applyTemplate();
|
|
54
|
+
}
|
|
55
|
+
disconnectedCallback() {
|
|
56
|
+
this.mediaQueries.forEach((mq, index) => {
|
|
57
|
+
mq.mediaQuery.removeEventListener('change', this.disposeMediaQueryListener[index]);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
findNextTemplate(type) {
|
|
61
|
+
const typeIndex = this.mediaQueries.findIndex((mq) => mq.name === type);
|
|
62
|
+
const nextTemplate = this.templates[this.mediaQueries[typeIndex + 1].name];
|
|
63
|
+
if (!nextTemplate) {
|
|
64
|
+
return this.findNextTemplate(this.mediaQueries[typeIndex + 1].name);
|
|
65
|
+
}
|
|
66
|
+
return nextTemplate;
|
|
67
|
+
}
|
|
68
|
+
applyTemplate() {
|
|
69
|
+
let active = this.mediaQueries.find((mq) => mq.mediaQuery.matches);
|
|
70
|
+
if (!active) {
|
|
71
|
+
active = this.mediaQueries[this.mediaQueries.length - 1];
|
|
72
|
+
}
|
|
73
|
+
const template = this.templates[active.name];
|
|
74
|
+
if (template) {
|
|
75
|
+
this.currentTemplate = template;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
this.currentTemplate = this.findNextTemplate(active.name);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
render() {
|
|
82
|
+
var _a;
|
|
83
|
+
const style = {};
|
|
84
|
+
if (((_a = this.currentTemplate) === null || _a === void 0 ? void 0 : _a.length) !== 0) {
|
|
85
|
+
style['grid-template-areas'] = templateBuilder(this.currentTemplate);
|
|
86
|
+
}
|
|
87
|
+
return (h(Host, { style: style }, h("slot", null)));
|
|
88
|
+
}
|
|
89
|
+
static get style() { return cssGridCss; }
|
|
90
|
+
}, [1, "ix-css-grid", {
|
|
91
|
+
"templates": [16],
|
|
92
|
+
"currentTemplate": [32]
|
|
93
|
+
}]);
|
|
94
|
+
function defineCustomElement$1() {
|
|
95
|
+
if (typeof customElements === "undefined") {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const components = ["ix-css-grid"];
|
|
99
|
+
components.forEach(tagName => { switch (tagName) {
|
|
100
|
+
case "ix-css-grid":
|
|
101
|
+
if (!customElements.get(tagName)) {
|
|
102
|
+
customElements.define(tagName, CssGrid);
|
|
103
|
+
}
|
|
104
|
+
break;
|
|
105
|
+
} });
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const IxCssGrid = CssGrid;
|
|
109
|
+
const defineCustomElement = defineCustomElement$1;
|
|
110
|
+
|
|
111
|
+
export { IxCssGrid, defineCustomElement };
|
|
112
|
+
|
|
113
|
+
//# sourceMappingURL=ix-css-grid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"ix-css-grid.js","mappings":"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","names":[],"sources":["./src/components/layout/css-grid/builder.ts","./src/components/layout/css-grid/css-grid.scss?tag=ix-css-grid&encapsulation=shadow","./src/components/layout/css-grid/css-grid.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nexport function templateBuilder(inputTemplate: string[][]) {\n let templateString = '';\n\n inputTemplate.forEach((row) => {\n templateString += '\"';\n templateString = row.reduce((pV, cV) => {\n return `${pV} ${cV}`;\n }, templateString);\n templateString += '\"\\n';\n });\n\n return templateString;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n\n:host {\n display: grid;\n position: relative;\n row-gap: $large-space;\n column-gap: $large-space;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Prop, State } from '@stencil/core';\nimport { templateBuilder } from './builder';\n\nconst smQuery = 'only screen and (max-width: 576px)';\nconst mdQuery = 'only screen and (max-width: 768px)';\nconst lgQuery = 'only screen and (max-width: 992px)';\n\nexport type CssGridTemplateType = 'sm' | 'md' | 'lg';\n\nconst mediaQueryCollection: Array<{\n name: CssGridTemplateType;\n query: string;\n}> = [\n { name: 'sm', query: smQuery },\n { name: 'md', query: mdQuery },\n { name: 'lg', query: lgQuery },\n];\n\n/**\n * @internal\n */\n@Component({\n tag: 'ix-css-grid',\n styleUrl: 'css-grid.scss',\n shadow: true,\n})\nexport class CssGrid {\n /**\n * Define css grid template\n */\n @Prop() templates: Partial<Record<CssGridTemplateType, string[][]>>;\n\n @State() currentTemplate: string[][];\n\n private disposeMediaQueryListener: ((event: MediaQueryListEvent) => void)[] =\n [];\n private mediaQueries: {\n mediaQuery: MediaQueryList;\n name: CssGridTemplateType;\n query: string;\n }[] = [];\n\n componentWillRender() {\n this.mediaQueries = mediaQueryCollection.map((query) => {\n const mediaQuery = window.matchMedia(query.query);\n\n const callback = () => {\n this.applyTemplate();\n };\n this.disposeMediaQueryListener.push(callback);\n mediaQuery.addEventListener('change', callback);\n\n return {\n ...query,\n mediaQuery,\n };\n });\n\n this.applyTemplate();\n }\n\n disconnectedCallback() {\n this.mediaQueries.forEach((mq, index) => {\n mq.mediaQuery.removeEventListener(\n 'change',\n this.disposeMediaQueryListener[index]\n );\n });\n }\n\n private findNextTemplate(type: CssGridTemplateType) {\n const typeIndex = this.mediaQueries.findIndex((mq) => mq.name === type);\n const nextTemplate = this.templates[this.mediaQueries[typeIndex + 1].name];\n if (!nextTemplate) {\n return this.findNextTemplate(this.mediaQueries[typeIndex + 1].name);\n }\n return nextTemplate;\n }\n\n private applyTemplate() {\n let active = this.mediaQueries.find((mq) => mq.mediaQuery.matches);\n\n if (!active) {\n active = this.mediaQueries[this.mediaQueries.length - 1];\n }\n\n const template = this.templates[active.name];\n\n if (template) {\n this.currentTemplate = template;\n } else {\n this.currentTemplate = this.findNextTemplate(active.name);\n }\n }\n\n render() {\n const style = {};\n if (this.currentTemplate?.length !== 0) {\n style['grid-template-areas'] = templateBuilder(this.currentTemplate);\n }\n return (\n <Host style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
|