@siemens/ix 3.0.0-alpha.3 → 3.0.0-alpha.4
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/components/index.js +2 -2
- package/components/ix-action-card.js +4 -4
- package/components/ix-application-header.js +1 -1
- package/components/ix-application-sidebar.js +1 -1
- package/components/ix-application-switch-modal.js +6 -6
- package/components/ix-application.js +2 -2
- package/components/ix-avatar.js +1 -1
- package/components/ix-basic-navigation.js +7 -7
- package/components/ix-blind.js +2 -2
- package/components/ix-breadcrumb-item.js +1 -1
- package/components/ix-breadcrumb.js +6 -6
- package/components/ix-button.js +1 -1
- package/components/ix-card-accordion.js +1 -1
- package/components/ix-card-content.js +1 -1
- package/components/ix-card-list.js +7 -7
- package/components/ix-card-title.js +1 -1
- package/components/ix-card.js +1 -1
- package/components/ix-category-filter.js +8 -8
- package/components/ix-checkbox-group.js +6 -6
- package/components/ix-checkbox.js +3 -3
- package/components/ix-chip.js +5 -5
- package/components/ix-col.js +1 -1
- package/components/ix-content-header.js +4 -4
- package/components/ix-content.js +1 -1
- package/components/ix-css-grid-item.js +1 -1
- package/components/ix-css-grid.js +1 -1
- package/components/ix-custom-field.js +6 -6
- package/components/ix-date-dropdown.js +12 -12
- package/components/ix-date-input.js +13 -13
- package/components/ix-date-picker.js +1 -1
- package/components/ix-date-time-card.js +1 -1
- package/components/ix-datetime-picker.js +12 -12
- package/components/ix-divider.js +1 -1
- package/components/ix-drawer.js +3 -3
- package/components/ix-dropdown-button.js +5 -5
- package/components/ix-dropdown-header.js +2 -2
- package/components/ix-dropdown-item.js +1 -1
- package/components/ix-dropdown-quick-actions.js +1 -1
- package/components/ix-dropdown.js +1 -1
- package/components/ix-empty-state.js +4 -4
- package/components/ix-event-list-item.js +1 -1
- package/components/ix-event-list.js +21 -10
- package/components/ix-event-list.js.map +1 -1
- package/components/ix-expanding-search.js +3 -3
- package/components/ix-field-label.js +1 -1
- package/components/ix-field-wrapper.js +1 -1
- package/components/ix-filter-chip.js +1 -1
- package/components/ix-flip-tile-content.js +1 -1
- package/components/ix-flip-tile.js +3 -3
- package/components/ix-group-context-menu.js +1 -1
- package/components/ix-group-item.js +1 -1
- package/components/ix-group.js +5 -5
- package/components/ix-helper-text.js +4 -4
- package/components/ix-icon-button.js +1 -1
- package/components/ix-icon-toggle-button.js +3 -3
- package/components/ix-input-group.js +1 -1
- package/components/ix-input.js +9 -9
- package/components/ix-key-value-list.js +1 -1
- package/components/ix-key-value.js +1 -1
- package/components/ix-kpi.js +1 -1
- package/components/ix-layout-auto.js +1 -1
- package/components/ix-layout-grid.js +1 -1
- package/components/ix-link-button.js +1 -1
- package/components/ix-map-navigation-overlay.js +1 -1
- package/components/ix-map-navigation.js +8 -8
- package/components/ix-menu-about-item.js +1 -1
- package/components/ix-menu-about-news.js +5 -5
- package/components/ix-menu-about.js +6 -6
- package/components/ix-menu-avatar-item.js +1 -1
- package/components/ix-menu-avatar.js +8 -8
- package/components/ix-menu-category.js +7 -7
- package/components/ix-menu-expand-icon.js +1 -1
- package/components/ix-menu-item.js +1 -1
- package/components/ix-menu-settings-item.js +1 -1
- package/components/ix-menu-settings.js +1 -1
- package/components/ix-menu.js +7 -7
- package/components/ix-message-bar.js +3 -3
- package/components/ix-modal-content.js +1 -1
- package/components/ix-modal-footer.js +1 -1
- package/components/ix-modal-header.js +1 -1
- package/components/ix-modal-loading.js +2 -2
- package/components/ix-modal.js +3 -3
- package/components/ix-number-input.js +9 -9
- package/components/ix-pagination.js +13 -13
- package/components/ix-pane-layout.js +1 -1
- package/components/ix-pane.js +4 -4
- package/components/ix-pill.js +3 -3
- package/components/ix-push-card.js +6 -6
- package/components/ix-radio-group.js +6 -6
- package/components/ix-radio.js +2 -2
- package/components/ix-row.js +1 -1
- package/components/ix-select-item.js +1 -1
- package/components/ix-select.js +1 -1
- package/components/ix-slider.js +4 -4
- package/components/ix-spinner.js +1 -1
- package/components/ix-split-button.js +5 -5
- package/components/ix-tab-item.js +1 -1
- package/components/ix-tabs.js +1 -1
- package/components/ix-textarea.js +7 -7
- package/components/ix-tile.js +1 -1
- package/components/ix-time-picker.js +1 -1
- package/components/ix-toast-container.js +4 -4
- package/components/ix-toast.js +1 -1
- package/components/ix-toggle-button.js +3 -3
- package/components/ix-toggle.js +2 -2
- package/components/ix-tooltip.js +1 -1
- package/components/ix-tree-item.js +1 -1
- package/components/ix-tree.js +26 -12
- package/components/ix-tree.js.map +1 -1
- package/components/ix-typography.js +1 -1
- package/components/ix-upload.js +5 -5
- package/components/ix-upload.js.map +1 -1
- package/components/ix-validation-tooltip.js +1 -1
- package/components/ix-workflow-step.js +1 -1
- package/components/ix-workflow-steps.js +1 -1
- package/components/{p-BkRdUBrT.js → p--wpo4GlP.js} +4 -4
- package/components/{p-BkRdUBrT.js.map → p--wpo4GlP.js.map} +1 -1
- package/components/{p-D60flNJM.js → p-0nVQO6bk.js} +5 -5
- package/components/{p-D60flNJM.js.map → p-0nVQO6bk.js.map} +1 -1
- package/components/{p-nRLifbYD.js → p-12nKYxsa.js} +8 -8
- package/components/{p-nRLifbYD.js.map → p-12nKYxsa.js.map} +1 -1
- package/components/{p-DcNP8_7d.js → p-2g5-4fWy.js} +3 -3
- package/components/{p-DcNP8_7d.js.map → p-2g5-4fWy.js.map} +1 -1
- package/components/{p-CAVJJh8O.js → p-B-zHEqXz.js} +8 -8
- package/components/{p-CAVJJh8O.js.map → p-B-zHEqXz.js.map} +1 -1
- package/components/{p-nxsAEeRV.js → p-B55mem60.js} +3 -3
- package/components/{p-nxsAEeRV.js.map → p-B55mem60.js.map} +1 -1
- package/components/{p-CIrU33UT.js → p-B9lvhAOc.js} +3 -3
- package/components/{p-CIrU33UT.js.map → p-B9lvhAOc.js.map} +1 -1
- package/components/{p-CtTl3_AV.js → p-BA1wZ05L.js} +158 -5
- package/components/p-BA1wZ05L.js.map +1 -0
- package/components/{p-jiOZu5Rs.js → p-BBSHeR_p.js} +3 -3
- package/components/{p-jiOZu5Rs.js.map → p-BBSHeR_p.js.map} +1 -1
- package/components/{p-DzCmj5t-.js → p-BBozAuYN.js} +3 -3
- package/components/{p-DzCmj5t-.js.map → p-BBozAuYN.js.map} +1 -1
- package/components/{p-CB5DzBgb.js → p-BDzoigTw.js} +9 -8
- package/components/p-BDzoigTw.js.map +1 -0
- package/components/{p-BAPgZLqz.js → p-BgpUzYBq.js} +3 -3
- package/components/{p-BAPgZLqz.js.map → p-BgpUzYBq.js.map} +1 -1
- package/components/{p-CI5W8CAi.js → p-Bnux5wOx.js} +3 -3
- package/components/{p-CI5W8CAi.js.map → p-Bnux5wOx.js.map} +1 -1
- package/components/{p-B_ksjKbq.js → p-BtKUjD8M.js} +4 -4
- package/components/p-BtKUjD8M.js.map +1 -0
- package/components/{p-BcWYFLel.js → p-BuK5WByk.js} +7 -7
- package/components/p-BuK5WByk.js.map +1 -0
- package/components/{p-CNFJ8TIs.js → p-BwyqOnwc.js} +31 -31
- package/components/p-BwyqOnwc.js.map +1 -0
- package/components/{p-D-z4lnIJ.js → p-C1BF91hb.js} +3 -3
- package/components/{p-D-z4lnIJ.js.map → p-C1BF91hb.js.map} +1 -1
- package/components/{p-C-mNdLd6.js → p-C7EBCKmV.js} +3 -3
- package/components/{p-C-mNdLd6.js.map → p-C7EBCKmV.js.map} +1 -1
- package/components/{p-BIjJHJC6.js → p-C8vn2GFY.js} +4 -4
- package/components/{p-BIjJHJC6.js.map → p-C8vn2GFY.js.map} +1 -1
- package/components/{p-vcRya6fE.js → p-CB1ADCkU.js} +4 -4
- package/components/{p-vcRya6fE.js.map → p-CB1ADCkU.js.map} +1 -1
- package/components/{p-CrQyJEVL.js → p-CEyDHqBY.js} +3 -3
- package/components/{p-CrQyJEVL.js.map → p-CEyDHqBY.js.map} +1 -1
- package/components/{p-C4TYRqdI.js → p-CVSy9bZ3.js} +3 -3
- package/components/{p-C4TYRqdI.js.map → p-CVSy9bZ3.js.map} +1 -1
- package/components/{p-DYsshkPV.js → p-CjvgrV9j.js} +5 -5
- package/components/{p-DYsshkPV.js.map → p-CjvgrV9j.js.map} +1 -1
- package/components/{p-Da1A2O4N.js → p-CniBfLG8.js} +6 -6
- package/components/{p-Da1A2O4N.js.map → p-CniBfLG8.js.map} +1 -1
- package/components/{p-C3b1PgFA.js → p-D-nh05RY.js} +3 -3
- package/components/{p-C3b1PgFA.js.map → p-D-nh05RY.js.map} +1 -1
- package/components/{p-Dly1Khc2.js → p-D0LdqSVb.js} +8 -8
- package/components/{p-Dly1Khc2.js.map → p-D0LdqSVb.js.map} +1 -1
- package/components/{p-CPbbOJ_i.js → p-DDisdyRU.js} +8 -8
- package/components/{p-CPbbOJ_i.js.map → p-DDisdyRU.js.map} +1 -1
- package/components/{p-1f50E84W.js → p-DFQ_caA4.js} +3 -3
- package/components/{p-1f50E84W.js.map → p-DFQ_caA4.js.map} +1 -1
- package/components/{p-DWZGOVME.js → p-DGeWaNlt.js} +3 -3
- package/components/{p-DWZGOVME.js.map → p-DGeWaNlt.js.map} +1 -1
- package/components/{p-BvVFL6_X.js → p-DIzxAERt.js} +5 -5
- package/components/{p-BvVFL6_X.js.map → p-DIzxAERt.js.map} +1 -1
- package/components/{p-rAP-ASw3.js → p-DM43N7pD.js} +42 -28
- package/components/p-DM43N7pD.js.map +1 -0
- package/components/{p-BNJ4Ws7A.js → p-DPZsirnB.js} +6 -6
- package/components/{p-BNJ4Ws7A.js.map → p-DPZsirnB.js.map} +1 -1
- package/components/{p-CDvg2uVS.js → p-DXzHgqiB.js} +3 -3
- package/components/{p-CDvg2uVS.js.map → p-DXzHgqiB.js.map} +1 -1
- package/components/{p-Ctm7nqyL.js → p-D_ThwWq-.js} +3 -3
- package/components/{p-Ctm7nqyL.js.map → p-D_ThwWq-.js.map} +1 -1
- package/components/{p-CA8lgT01.js → p-D_wwWxx8.js} +5 -5
- package/components/{p-CA8lgT01.js.map → p-D_wwWxx8.js.map} +1 -1
- package/components/{p-C1wxjy2C.js → p-Dfzl82x1.js} +11 -5
- package/components/p-Dfzl82x1.js.map +1 -0
- package/components/{p-DcqQbhTb.js → p-Dlmgmbod.js} +3 -3
- package/components/{p-DcqQbhTb.js.map → p-Dlmgmbod.js.map} +1 -1
- package/components/{p-D3VIxufW.js → p-DuEVN6w5.js} +4 -4
- package/components/{p-D3VIxufW.js.map → p-DuEVN6w5.js.map} +1 -1
- package/components/{p-CV6yma_f.js → p-Dy35mbzK.js} +4 -4
- package/components/{p-CV6yma_f.js.map → p-Dy35mbzK.js.map} +1 -1
- package/components/{p-BzcD2jYB.js → p-DylMlJTZ.js} +5 -5
- package/components/{p-BzcD2jYB.js.map → p-DylMlJTZ.js.map} +1 -1
- package/components/{p-CBVGeMwV.js → p-HblhO3lB.js} +5 -5
- package/components/{p-CBVGeMwV.js.map → p-HblhO3lB.js.map} +1 -1
- package/components/{p-CAtsUR4G.js → p-bM5r59DG.js} +3 -3
- package/components/{p-CAtsUR4G.js.map → p-bM5r59DG.js.map} +1 -1
- package/components/{p-TGPySHuR.js → p-iEAZQC4t.js} +5 -5
- package/components/{p-TGPySHuR.js.map → p-iEAZQC4t.js.map} +1 -1
- package/components/{p-0LfxrxE4.js → p-pyY5jSfE.js} +7 -7
- package/components/{p-0LfxrxE4.js.map → p-pyY5jSfE.js.map} +1 -1
- package/components/{p-C5YFrAhW.js → p-qnnCtPgc.js} +5 -5
- package/components/{p-C5YFrAhW.js.map → p-qnnCtPgc.js.map} +1 -1
- package/components/{p-BUgeMHDy.js → p-uv1SlmiP.js} +4 -4
- package/components/{p-BUgeMHDy.js.map → p-uv1SlmiP.js.map} +1 -1
- package/dist/cjs/app-globals-DOYDhlYa.js +10 -0
- package/dist/cjs/{app-globals-Dl9nm3FH.js.map → app-globals-DOYDhlYa.js.map} +1 -1
- package/dist/cjs/{base-button-CqhWuxXr.js → base-button-CAt4UMAy.js} +3 -3
- package/dist/cjs/{base-button-CqhWuxXr.js.map → base-button-CAt4UMAy.js.map} +1 -1
- package/dist/cjs/{base-icon-button-D0j4OzyN.js → base-icon-button-BOVJplyV.js} +4 -4
- package/dist/cjs/{base-icon-button-D0j4OzyN.js.map → base-icon-button-BOVJplyV.js.map} +1 -1
- package/dist/cjs/{helper-text-util-x8PVAsbI.js → helper-text-util-Dk2i8B86.js} +3 -3
- package/dist/cjs/{helper-text-util-x8PVAsbI.js.map → helper-text-util-Dk2i8B86.js.map} +1 -1
- package/dist/cjs/{index-DUl1Kp3_.js → index-CnXGUOZU.js} +158 -5
- package/dist/cjs/index-CnXGUOZU.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/{input.util-DKYtpTVn.js → input.util-DuJG4-L-.js} +4 -4
- package/dist/cjs/{input.util-DKYtpTVn.js.map → input.util-DuJG4-L-.js.map} +1 -1
- package/dist/cjs/ix-action-card.cjs.entry.js +1 -1
- package/dist/cjs/ix-application-header.cjs.entry.js +1 -1
- package/dist/cjs/ix-application-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/ix-application-switch-modal.cjs.entry.js +1 -1
- package/dist/cjs/ix-application.cjs.entry.js +1 -1
- package/dist/cjs/ix-avatar_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-basic-navigation.cjs.entry.js +1 -1
- package/dist/cjs/ix-blind.cjs.entry.js +1 -1
- package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ix-button.cjs.entry.js +2 -2
- package/dist/cjs/ix-card-accordion_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-card-list.cjs.entry.js +1 -1
- package/dist/cjs/ix-card_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-category-filter.cjs.entry.js +2 -2
- package/dist/cjs/ix-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/ix-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/ix-chip.cjs.entry.js +1 -1
- package/dist/cjs/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-col_4.cjs.entry.js +35 -21
- package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-content-header.cjs.entry.js +1 -1
- package/dist/cjs/ix-content.cjs.entry.js +1 -1
- package/dist/cjs/ix-css-grid-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-css-grid.cjs.entry.js +1 -1
- package/dist/cjs/ix-custom-field.cjs.entry.js +2 -2
- package/dist/cjs/ix-date-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/ix-date-input.cjs.entry.js +3 -3
- 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 +1 -1
- package/dist/cjs/ix-dropdown-button.cjs.entry.js +1 -1
- package/dist/cjs/ix-dropdown-header.cjs.entry.js +1 -1
- package/dist/cjs/ix-dropdown-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-dropdown-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-dropdown-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
- package/dist/cjs/ix-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/ix-empty-state.cjs.entry.js +1 -1
- package/dist/cjs/ix-event-list-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-event-list.cjs.entry.js +21 -10
- package/dist/cjs/ix-event-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-event-list.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-expanding-search.cjs.entry.js +1 -1
- package/dist/cjs/ix-field-label.ix-field-wrapper.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-field-label_2.cjs.entry.js +4 -4
- package/dist/cjs/ix-field-label_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-filter-chip_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-flip-tile-content.cjs.entry.js +1 -1
- package/dist/cjs/ix-flip-tile.cjs.entry.js +1 -1
- package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-group.cjs.entry.js +1 -1
- package/dist/cjs/ix-helper-text.cjs.entry.js +3 -3
- package/dist/cjs/ix-icon-button_2.cjs.entry.js +3 -3
- package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +3 -3
- package/dist/cjs/ix-input-group.cjs.entry.js +1 -1
- package/dist/cjs/ix-input.cjs.entry.js +3 -3
- package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
- package/dist/cjs/ix-key-value.cjs.entry.js +1 -1
- package/dist/cjs/ix-kpi.cjs.entry.js +1 -1
- package/dist/cjs/ix-layout-auto.cjs.entry.js +1 -1
- package/dist/cjs/ix-link-button.cjs.entry.js +1 -1
- package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +1 -1
- package/dist/cjs/ix-map-navigation.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu-about-news.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu-about.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu-avatar.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu-category.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/{ix-menu-settings-CNmiFF1r.js → ix-menu-settings-WDbyAxNK.js} +3 -3
- package/dist/cjs/{ix-menu-settings-CNmiFF1r.js.map → ix-menu-settings-WDbyAxNK.js.map} +1 -1
- package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu-settings.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu.cjs.entry.js +1 -1
- package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal-content_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal-footer.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal.cjs.entry.js +2 -2
- package/dist/cjs/ix-number-input.cjs.entry.js +3 -3
- package/dist/cjs/ix-pagination.cjs.entry.js +2 -2
- package/dist/cjs/ix-pane-layout.cjs.entry.js +1 -1
- package/dist/cjs/ix-pane.cjs.entry.js +1 -1
- package/dist/cjs/ix-pill.cjs.entry.js +1 -1
- package/dist/cjs/ix-push-card.cjs.entry.js +1 -1
- package/dist/cjs/ix-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/ix-radio.cjs.entry.js +1 -1
- package/dist/cjs/ix-select.cjs.entry.js +19 -19
- package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-select.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-slider.cjs.entry.js +2 -2
- package/dist/cjs/ix-split-button.cjs.entry.js +1 -1
- package/dist/cjs/ix-tab-item_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-textarea.cjs.entry.js +3 -3
- package/dist/cjs/ix-tile.cjs.entry.js +1 -1
- package/dist/cjs/ix-time-picker.cjs.entry.js +1 -1
- package/dist/cjs/ix-toast-container.cjs.entry.js +1 -1
- package/dist/cjs/ix-toast.cjs.entry.js +1 -1
- package/dist/cjs/ix-toggle-button.cjs.entry.js +2 -2
- 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-item.cjs.entry.js +7 -6
- package/dist/cjs/ix-tree-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tree-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-tree.cjs.entry.js +22 -9
- package/dist/cjs/ix-tree.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tree.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-typography.cjs.entry.js +9 -3
- package/dist/cjs/ix-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-typography.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-upload.cjs.entry.js +3 -3
- package/dist/cjs/ix-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-upload.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-validation-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/ix-workflow-step.cjs.entry.js +1 -1
- package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
- package/dist/cjs/{listener-dZdfN-j_.js → listener-CF6zdO2s.js} +3 -3
- package/dist/cjs/{listener-dZdfN-j_.js.map → listener-CF6zdO2s.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{setup-CubfbTM8.js → setup-C3hsSIIc.js} +3 -3
- package/dist/cjs/{setup-CubfbTM8.js.map → setup-C3hsSIIc.js.map} +1 -1
- package/dist/cjs/siemens-ix.cjs.js +5 -5
- package/dist/cjs/siemens-ix.cjs.js.map +1 -1
- package/dist/cjs/{validation-CAJ2gTIK.js → validation-B-wzGaWF.js} +3 -3
- package/dist/cjs/{validation-CAJ2gTIK.js.map → validation-B-wzGaWF.js.map} +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/action-card/action-card.js +5 -5
- package/dist/collection/components/application/application.js +5 -3
- package/dist/collection/components/application/application.js.map +1 -1
- package/dist/collection/components/application-header/application-header.js +2 -2
- package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +1 -0
- package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js.map +1 -1
- package/dist/collection/components/avatar/avatar.js +4 -4
- package/dist/collection/components/basic-navigation/basic-navigation.js +4 -3
- package/dist/collection/components/basic-navigation/basic-navigation.js.map +1 -1
- package/dist/collection/components/blind/blind.js +5 -5
- package/dist/collection/components/breadcrumb/breadcrumb.js +4 -3
- package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/collection/components/breadcrumb-item/breadcrumb-item.js +6 -6
- package/dist/collection/components/button/button.js +9 -9
- package/dist/collection/components/card/card.js +2 -2
- package/dist/collection/components/card-accordion/card-accordion.js +1 -1
- package/dist/collection/components/card-list/card-list.js +9 -9
- package/dist/collection/components/category-filter/category-filter.js +14 -10
- package/dist/collection/components/category-filter/category-filter.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.js +7 -7
- package/dist/collection/components/checkbox-group/checkbox-group.js +8 -8
- package/dist/collection/components/chip/chip.js +8 -8
- package/dist/collection/components/col/col.js +4 -4
- package/dist/collection/components/content-header/content-header.js +4 -4
- package/dist/collection/components/css-grid/css-grid-item.js +1 -1
- package/dist/collection/components/css-grid/css-grid.js +1 -0
- package/dist/collection/components/css-grid/css-grid.js.map +1 -1
- package/dist/collection/components/custom-field/custom-field.js +8 -8
- package/dist/collection/components/custom-field/tests/custom-field.ct.js +1 -1
- package/dist/collection/components/custom-field/tests/custom-field.ct.js.map +1 -1
- package/dist/collection/components/date-dropdown/date-dropdown.js +21 -20
- package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
- package/dist/collection/components/date-input/date-input.js +17 -17
- package/dist/collection/components/date-input/tests/date-input.ct.js +1 -1
- package/dist/collection/components/date-input/tests/date-input.ct.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.js +46 -32
- package/dist/collection/components/date-picker/date-picker.js.map +1 -1
- package/dist/collection/components/date-picker/test/date-picker.ct.js +17 -0
- package/dist/collection/components/date-picker/test/date-picker.ct.js.map +1 -1
- package/dist/collection/components/date-time-card/date-time-card.js +3 -3
- package/dist/collection/components/datetime-picker/datetime-picker.js +18 -18
- package/dist/collection/components/drawer/drawer.js +6 -6
- package/dist/collection/components/dropdown/dropdown.js +13 -11
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/dropdown-button/dropdown-button.js +8 -8
- package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.css +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.js +7 -7
- package/dist/collection/components/empty-state/empty-state.js +5 -5
- package/dist/collection/components/event-list/event-list.js +24 -13
- package/dist/collection/components/event-list/event-list.js.map +1 -1
- package/dist/collection/components/event-list/test/event-list.ct.js +27 -0
- package/dist/collection/components/event-list/test/event-list.ct.js.map +1 -1
- package/dist/collection/components/event-list-item/event-list-item.js +4 -4
- package/dist/collection/components/expanding-search/expanding-search.js +7 -7
- package/dist/collection/components/field-label/field-label.js +5 -4
- package/dist/collection/components/field-label/field-label.js.map +1 -1
- package/dist/collection/components/field-label/tests/field-label.ct.js +1 -1
- package/dist/collection/components/field-label/tests/field-label.ct.js.map +1 -1
- package/dist/collection/components/field-wrapper/field-wrapper.js +14 -13
- package/dist/collection/components/field-wrapper/field-wrapper.js.map +1 -1
- package/dist/collection/components/filter-chip/filter-chip.js +2 -2
- package/dist/collection/components/flip-tile/flip-tile.js +4 -4
- package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
- package/dist/collection/components/group/group.js +7 -7
- package/dist/collection/components/group-item/group-item.js +7 -7
- package/dist/collection/components/helper-text/helper-text.js +6 -6
- package/dist/collection/components/icon-button/icon-button.js +11 -11
- package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +8 -8
- package/dist/collection/components/input/input.js +18 -18
- package/dist/collection/components/input/number-input.js +18 -18
- package/dist/collection/components/input/textarea.js +20 -20
- package/dist/collection/components/key-value/key-value.js +4 -4
- package/dist/collection/components/key-value-list/key-value-list.js +1 -1
- package/dist/collection/components/kpi/kpi.js +5 -5
- package/dist/collection/components/layout-auto/layout-auto.js +1 -0
- package/dist/collection/components/layout-auto/layout-auto.js.map +1 -1
- package/dist/collection/components/layout-grid/layout-grid.js +3 -3
- package/dist/collection/components/link-button/link-button.js +3 -3
- package/dist/collection/components/map-navigation/map-navigation.js +3 -3
- package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +4 -4
- package/dist/collection/components/menu/menu-expand-icon.js +4 -4
- package/dist/collection/components/menu/menu.js +16 -16
- package/dist/collection/components/menu-about/menu-about.js +3 -3
- package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
- package/dist/collection/components/menu-about-news/menu-about-news.js +6 -6
- package/dist/collection/components/menu-avatar/menu-avatar.js +6 -6
- package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +2 -2
- package/dist/collection/components/menu-category/menu-category.js +3 -3
- package/dist/collection/components/menu-item/menu-item.js +8 -8
- package/dist/collection/components/menu-settings/menu-settings.js +3 -3
- package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
- package/dist/collection/components/message-bar/message-bar.js +2 -2
- package/dist/collection/components/modal/modal.js +7 -6
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/modal-header/modal-header.js +3 -3
- package/dist/collection/components/pagination/pagination.js +8 -8
- package/dist/collection/components/pane/pane.js +10 -10
- package/dist/collection/components/pane-layout/pane-layout.js +3 -3
- package/dist/collection/components/pill/pill.js +7 -7
- package/dist/collection/components/push-card/push-card.js +6 -6
- package/dist/collection/components/radio/radio.js +5 -5
- package/dist/collection/components/radio-group/radio-group.js +9 -9
- package/dist/collection/components/select/select.js +38 -38
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/select/test/select.ct.js +66 -0
- package/dist/collection/components/select/test/select.ct.js.map +1 -1
- package/dist/collection/components/select-item/select-item.js +4 -4
- package/dist/collection/components/slider/slider.js +9 -8
- package/dist/collection/components/slider/slider.js.map +1 -1
- package/dist/collection/components/spinner/spinner.js +3 -3
- package/dist/collection/components/split-button/split-button.js +9 -9
- package/dist/collection/components/tab-item/tab-item.js +8 -8
- package/dist/collection/components/tabs/tabs.js +5 -5
- package/dist/collection/components/tile/tile.js +1 -1
- package/dist/collection/components/time-picker/time-picker.js +10 -10
- package/dist/collection/components/toast/toast-container.js +3 -3
- package/dist/collection/components/toast/toast.js +6 -6
- package/dist/collection/components/toggle/toggle.js +10 -10
- package/dist/collection/components/toggle-button/toggle-button.js +7 -7
- package/dist/collection/components/tooltip/tooltip.js +8 -8
- package/dist/collection/components/tree/test/tree.ct.js +165 -0
- package/dist/collection/components/tree/test/tree.ct.js.map +1 -1
- package/dist/collection/components/tree/tree.js +47 -9
- package/dist/collection/components/tree/tree.js.map +1 -1
- package/dist/collection/components/tree-item/tree-item.js +9 -7
- package/dist/collection/components/tree-item/tree-item.js.map +1 -1
- package/dist/collection/components/typography/typography.js +13 -7
- package/dist/collection/components/typography/typography.js.map +1 -1
- package/dist/collection/components/upload/upload.js +13 -13
- package/dist/collection/components/upload/upload.js.map +1 -1
- package/dist/collection/components/utils/input/index.js.map +1 -1
- package/dist/collection/components/validation-tooltip/validation-tooltip.js +3 -3
- package/dist/collection/components/workflow-step/workflow-step.js +6 -6
- package/dist/collection/components/workflow-steps/workflow-steps.js +3 -3
- package/dist/esm/app-globals-BvoVB2w2.js +8 -0
- package/dist/esm/{app-globals-u1To5tos.js.map → app-globals-BvoVB2w2.js.map} +1 -1
- package/dist/esm/{base-button-IZFEmS6o.js → base-button-BfH8hAk6.js} +3 -3
- package/dist/esm/{base-button-IZFEmS6o.js.map → base-button-BfH8hAk6.js.map} +1 -1
- package/dist/esm/{base-icon-button-bH_gbsvW.js → base-icon-button-B43h4CjD.js} +4 -4
- package/dist/esm/{base-icon-button-bH_gbsvW.js.map → base-icon-button-B43h4CjD.js.map} +1 -1
- package/dist/esm/{helper-text-util-BUSv2nIj.js → helper-text-util-DR9KOBuX.js} +3 -3
- package/dist/esm/{helper-text-util-BUSv2nIj.js.map → helper-text-util-DR9KOBuX.js.map} +1 -1
- package/dist/esm/{index-DtF9fwpD.js → index-BNpBEtDH.js} +158 -5
- package/dist/esm/index-BNpBEtDH.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/{input.util-BbBYOl1b.js → input.util-DpnoI5lb.js} +4 -4
- package/dist/esm/{input.util-BbBYOl1b.js.map → input.util-DpnoI5lb.js.map} +1 -1
- package/dist/esm/ix-action-card.entry.js +1 -1
- package/dist/esm/ix-application-header.entry.js +1 -1
- package/dist/esm/ix-application-sidebar.entry.js +1 -1
- package/dist/esm/ix-application-switch-modal.entry.js +1 -1
- package/dist/esm/ix-application.entry.js +1 -1
- package/dist/esm/ix-avatar_2.entry.js +2 -2
- package/dist/esm/ix-basic-navigation.entry.js +1 -1
- package/dist/esm/ix-blind.entry.js +1 -1
- package/dist/esm/ix-breadcrumb-item.entry.js +2 -2
- package/dist/esm/ix-breadcrumb.entry.js +1 -1
- package/dist/esm/ix-button.entry.js +2 -2
- package/dist/esm/ix-card-accordion_2.entry.js +1 -1
- package/dist/esm/ix-card-list.entry.js +1 -1
- package/dist/esm/ix-card_2.entry.js +1 -1
- package/dist/esm/ix-category-filter.entry.js +2 -2
- package/dist/esm/ix-checkbox-group.entry.js +2 -2
- package/dist/esm/ix-checkbox.entry.js +2 -2
- package/dist/esm/ix-chip.entry.js +1 -1
- package/dist/esm/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.js.map +1 -1
- package/dist/esm/ix-col_4.entry.js +35 -21
- package/dist/esm/ix-col_4.entry.js.map +1 -1
- package/dist/esm/ix-content-header.entry.js +1 -1
- package/dist/esm/ix-content.entry.js +1 -1
- package/dist/esm/ix-css-grid-item.entry.js +1 -1
- package/dist/esm/ix-css-grid.entry.js +1 -1
- package/dist/esm/ix-custom-field.entry.js +2 -2
- package/dist/esm/ix-date-dropdown.entry.js +1 -1
- package/dist/esm/ix-date-input.entry.js +3 -3
- 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 +1 -1
- package/dist/esm/ix-dropdown-button.entry.js +1 -1
- package/dist/esm/ix-dropdown-header.entry.js +1 -1
- package/dist/esm/ix-dropdown-item.entry.js +2 -2
- package/dist/esm/ix-dropdown-item.entry.js.map +1 -1
- package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
- package/dist/esm/ix-dropdown.entry.js +1 -1
- package/dist/esm/ix-empty-state.entry.js +1 -1
- package/dist/esm/ix-event-list-item.entry.js +1 -1
- package/dist/esm/ix-event-list.entry.js +21 -10
- package/dist/esm/ix-event-list.entry.js.map +1 -1
- package/dist/esm/ix-expanding-search.entry.js +1 -1
- package/dist/esm/ix-field-label.ix-field-wrapper.entry.js.map +1 -1
- package/dist/esm/ix-field-label_2.entry.js +4 -4
- package/dist/esm/ix-field-label_2.entry.js.map +1 -1
- package/dist/esm/ix-filter-chip_2.entry.js +1 -1
- package/dist/esm/ix-flip-tile-content.entry.js +1 -1
- package/dist/esm/ix-flip-tile.entry.js +1 -1
- package/dist/esm/ix-group-context-menu_2.entry.js +1 -1
- package/dist/esm/ix-group.entry.js +1 -1
- package/dist/esm/ix-helper-text.entry.js +3 -3
- package/dist/esm/ix-icon-button_2.entry.js +3 -3
- package/dist/esm/ix-icon-toggle-button.entry.js +3 -3
- package/dist/esm/ix-input-group.entry.js +1 -1
- package/dist/esm/ix-input.entry.js +3 -3
- package/dist/esm/ix-key-value-list.entry.js +1 -1
- package/dist/esm/ix-key-value.entry.js +1 -1
- package/dist/esm/ix-kpi.entry.js +1 -1
- package/dist/esm/ix-layout-auto.entry.js +1 -1
- package/dist/esm/ix-link-button.entry.js +1 -1
- package/dist/esm/ix-map-navigation-overlay.entry.js +1 -1
- package/dist/esm/ix-map-navigation.entry.js +1 -1
- package/dist/esm/ix-menu-about-item.entry.js +1 -1
- package/dist/esm/ix-menu-about-news.entry.js +1 -1
- package/dist/esm/ix-menu-about.entry.js +2 -2
- package/dist/esm/ix-menu-avatar.entry.js +1 -1
- package/dist/esm/ix-menu-category.entry.js +1 -1
- package/dist/esm/ix-menu-expand-icon.entry.js +2 -2
- package/dist/esm/ix-menu-item.entry.js +1 -1
- package/dist/esm/{ix-menu-settings-BOBnQeQI.js → ix-menu-settings-B4RirRi3.js} +3 -3
- package/dist/esm/{ix-menu-settings-BOBnQeQI.js.map → ix-menu-settings-B4RirRi3.js.map} +1 -1
- package/dist/esm/ix-menu-settings-item.entry.js +1 -1
- package/dist/esm/ix-menu-settings.entry.js +2 -2
- package/dist/esm/ix-menu.entry.js +1 -1
- package/dist/esm/ix-message-bar.entry.js +1 -1
- package/dist/esm/ix-modal-content_2.entry.js +1 -1
- package/dist/esm/ix-modal-footer.entry.js +1 -1
- package/dist/esm/ix-modal-loading.entry.js +1 -1
- package/dist/esm/ix-modal.entry.js +2 -2
- package/dist/esm/ix-number-input.entry.js +3 -3
- package/dist/esm/ix-pagination.entry.js +2 -2
- package/dist/esm/ix-pane-layout.entry.js +1 -1
- package/dist/esm/ix-pane.entry.js +1 -1
- package/dist/esm/ix-pill.entry.js +1 -1
- package/dist/esm/ix-push-card.entry.js +1 -1
- package/dist/esm/ix-radio-group.entry.js +2 -2
- package/dist/esm/ix-radio.entry.js +1 -1
- package/dist/esm/ix-select.entry.js +19 -19
- package/dist/esm/ix-select.entry.js.map +1 -1
- package/dist/esm/ix-slider.entry.js +2 -2
- package/dist/esm/ix-split-button.entry.js +1 -1
- package/dist/esm/ix-tab-item_2.entry.js +1 -1
- package/dist/esm/ix-textarea.entry.js +3 -3
- package/dist/esm/ix-tile.entry.js +1 -1
- package/dist/esm/ix-time-picker.entry.js +1 -1
- package/dist/esm/ix-toast-container.entry.js +1 -1
- package/dist/esm/ix-toast.entry.js +1 -1
- package/dist/esm/ix-toggle-button.entry.js +2 -2
- package/dist/esm/ix-toggle.entry.js +1 -1
- package/dist/esm/ix-tooltip.entry.js +1 -1
- package/dist/esm/ix-tree-item.entry.js +7 -6
- package/dist/esm/ix-tree-item.entry.js.map +1 -1
- package/dist/esm/ix-tree.entry.js +22 -9
- package/dist/esm/ix-tree.entry.js.map +1 -1
- package/dist/esm/ix-typography.entry.js +9 -3
- package/dist/esm/ix-typography.entry.js.map +1 -1
- package/dist/esm/ix-upload.entry.js +3 -3
- package/dist/esm/ix-upload.entry.js.map +1 -1
- package/dist/esm/ix-validation-tooltip.entry.js +1 -1
- package/dist/esm/ix-workflow-step.entry.js +1 -1
- package/dist/esm/ix-workflow-steps.entry.js +1 -1
- package/dist/esm/{listener-CNnvvup1.js → listener-Cu2ljot5.js} +3 -3
- package/dist/esm/{listener-CNnvvup1.js.map → listener-Cu2ljot5.js.map} +1 -1
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{setup-BbF8F_t9.js → setup-BKhm4UrF.js} +3 -3
- package/dist/esm/{setup-BbF8F_t9.js.map → setup-BKhm4UrF.js.map} +1 -1
- package/dist/esm/siemens-ix.js +6 -6
- package/dist/esm/siemens-ix.js.map +1 -1
- package/dist/esm/{validation-C3siDfPQ.js → validation-C_w_pHgR.js} +3 -3
- package/dist/esm/{validation-C3siDfPQ.js.map → validation-C_w_pHgR.js.map} +1 -1
- package/dist/siemens-ix/index.esm.js +1 -1
- package/dist/siemens-ix/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-dropdown-item.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-event-list.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-field-label.ix-field-wrapper.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-select.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-tree-item.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-tree.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-typography.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-upload.entry.esm.js.map +1 -1
- package/dist/siemens-ix/{p-a2c05b1b.entry.js → p-000cfb14.entry.js} +2 -2
- package/dist/siemens-ix/p-003f8d27.entry.js +2 -0
- package/dist/siemens-ix/p-0488a734.entry.js +2 -0
- package/dist/siemens-ix/p-0488a734.entry.js.map +1 -0
- package/dist/siemens-ix/{p-9505ff9d.entry.js → p-08931f8c.entry.js} +2 -2
- package/dist/siemens-ix/{p-8960c872.entry.js → p-0c830977.entry.js} +2 -2
- package/dist/siemens-ix/{p-08e33f34.entry.js → p-12110136.entry.js} +2 -2
- package/dist/siemens-ix/{p-3af8304e.entry.js → p-163e742f.entry.js} +2 -2
- package/dist/siemens-ix/{p-cc843644.entry.js → p-191c9ec6.entry.js} +2 -2
- package/dist/siemens-ix/{p-9185b8c1.entry.js → p-19ae7d99.entry.js} +2 -2
- package/dist/siemens-ix/{p-538743fb.entry.js → p-19e9505f.entry.js} +2 -2
- package/dist/siemens-ix/p-1HUk727A.js +2 -0
- package/dist/siemens-ix/{p-CKA5agGR.js.map → p-1HUk727A.js.map} +1 -1
- package/dist/siemens-ix/{p-b761a9d6.entry.js → p-20d1d114.entry.js} +2 -2
- package/dist/siemens-ix/{p-10d57ca2.entry.js → p-2290614f.entry.js} +2 -2
- package/dist/siemens-ix/{p-316cf983.entry.js → p-2295246b.entry.js} +2 -2
- package/dist/siemens-ix/{p-eba65395.entry.js → p-273bd3ab.entry.js} +2 -2
- package/dist/siemens-ix/{p-ce331bdc.entry.js → p-28055ea5.entry.js} +2 -2
- package/dist/siemens-ix/{p-d1420219.entry.js → p-2e4b9c1a.entry.js} +2 -2
- package/dist/siemens-ix/{p-Cdt22lfd.js → p-2j3Ly91D.js} +2 -2
- package/dist/siemens-ix/{p-Cdt22lfd.js.map → p-2j3Ly91D.js.map} +1 -1
- package/dist/siemens-ix/{p-e5ab9886.entry.js → p-3138015e.entry.js} +2 -2
- package/dist/siemens-ix/{p-d1e08a10.entry.js → p-3283a5f3.entry.js} +2 -2
- package/dist/siemens-ix/{p-765ffc2a.entry.js → p-34ff567f.entry.js} +2 -2
- package/dist/siemens-ix/{p-2d9eb88d.entry.js → p-374de51d.entry.js} +2 -2
- package/dist/siemens-ix/{p-91a5bb6c.entry.js → p-37fa26f9.entry.js} +2 -2
- package/dist/siemens-ix/{p-a0ef8437.entry.js → p-3a0a5bc2.entry.js} +2 -2
- package/dist/siemens-ix/{p-718a54f8.entry.js → p-3d8a3b8a.entry.js} +2 -2
- package/dist/siemens-ix/{p-523e3cce.entry.js → p-3db26a34.entry.js} +2 -2
- package/dist/siemens-ix/{p-1b4019b5.entry.js → p-3e1a9763.entry.js} +2 -2
- package/dist/siemens-ix/{p-ac9215b9.entry.js → p-3edc7dd2.entry.js} +2 -2
- package/dist/siemens-ix/{p-43e8cbf1.entry.js → p-4b0c3eeb.entry.js} +2 -2
- package/dist/siemens-ix/{p-19b855f3.entry.js → p-518b1e6b.entry.js} +2 -2
- package/dist/siemens-ix/p-575b3137.entry.js +2 -0
- package/dist/siemens-ix/p-575b3137.entry.js.map +1 -0
- package/dist/siemens-ix/{p-3d57eed7.entry.js → p-576fade1.entry.js} +2 -2
- package/dist/siemens-ix/{p-6d38bed7.entry.js → p-5963369c.entry.js} +2 -2
- package/dist/siemens-ix/{p-320281ab.entry.js → p-5b0d1cc9.entry.js} +2 -2
- package/dist/siemens-ix/{p-0f72ac93.entry.js → p-5b1d3595.entry.js} +2 -2
- package/dist/siemens-ix/{p-1b488eb2.entry.js → p-5fe74d24.entry.js} +2 -2
- package/dist/siemens-ix/{p-1e2dfffb.entry.js → p-5fef5328.entry.js} +2 -2
- package/dist/siemens-ix/{p-fa3623a3.entry.js → p-6691703e.entry.js} +2 -2
- package/dist/siemens-ix/{p-bd6e324a.entry.js → p-66fb6549.entry.js} +2 -2
- package/dist/siemens-ix/{p-3677ae1c.entry.js → p-6d197072.entry.js} +2 -2
- package/dist/siemens-ix/{p-1a1e0f93.entry.js → p-734bcb23.entry.js} +2 -2
- package/dist/siemens-ix/{p-32612a51.entry.js → p-78f99962.entry.js} +2 -2
- package/dist/siemens-ix/{p-001a084b.entry.js → p-79febe81.entry.js} +2 -2
- package/dist/siemens-ix/{p-e8252fd7.entry.js → p-7abb0f0c.entry.js} +2 -2
- package/dist/siemens-ix/{p-8920bbfe.entry.js → p-8702121e.entry.js} +2 -2
- package/dist/siemens-ix/{p-8920bbfe.entry.js.map → p-8702121e.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-61140574.entry.js → p-87b30e60.entry.js} +2 -2
- package/dist/siemens-ix/{p-2aa40bcf.entry.js → p-87c777a1.entry.js} +2 -2
- package/dist/siemens-ix/{p-71eaa791.entry.js → p-888fa4b1.entry.js} +2 -2
- package/dist/siemens-ix/{p-b0a445d7.entry.js → p-89edecbd.entry.js} +2 -2
- package/dist/siemens-ix/{p-1837e711.entry.js → p-8c24d360.entry.js} +2 -2
- package/dist/siemens-ix/p-8c24d360.entry.js.map +1 -0
- package/dist/siemens-ix/{p-d6bf2d75.entry.js → p-933f6e1f.entry.js} +2 -2
- package/dist/siemens-ix/p-93ba92af.entry.js +2 -0
- package/dist/siemens-ix/p-93ba92af.entry.js.map +1 -0
- package/dist/siemens-ix/{p-d3e0d6d9.entry.js → p-96bbbbcb.entry.js} +2 -2
- package/dist/siemens-ix/{p-ff85bd49.entry.js → p-9a679e62.entry.js} +2 -2
- package/dist/siemens-ix/{p-a1c09e3c.entry.js → p-9e3a36df.entry.js} +2 -2
- package/dist/siemens-ix/{p-afd2fa29.entry.js → p-9e83986f.entry.js} +2 -2
- package/dist/siemens-ix/p-B5WJpsEz.js +2 -0
- package/dist/siemens-ix/{p-Dk_lr0xl.js.map → p-B5WJpsEz.js.map} +1 -1
- package/dist/siemens-ix/p-BNpBEtDH.js +3 -0
- package/dist/siemens-ix/p-BNpBEtDH.js.map +1 -0
- package/dist/siemens-ix/{p-CANRrgK_.js → p-BPfEX8mR.js} +2 -2
- package/dist/siemens-ix/{p-CANRrgK_.js.map → p-BPfEX8mR.js.map} +1 -1
- package/dist/siemens-ix/{p-z5yZxfe2.js → p-BXguuvvE.js} +2 -2
- package/dist/siemens-ix/{p-z5yZxfe2.js.map → p-BXguuvvE.js.map} +1 -1
- package/dist/siemens-ix/{p-CdOJ663o.js → p-CFHLJNAe.js} +2 -2
- package/dist/siemens-ix/{p-CdOJ663o.js.map → p-CFHLJNAe.js.map} +1 -1
- package/dist/siemens-ix/p-DTE55Tq_.js +2 -0
- package/dist/siemens-ix/{p-CYvkc2CR.js.map → p-DTE55Tq_.js.map} +1 -1
- package/dist/siemens-ix/{p-CZ1HWy6s.js → p-Df9aoecP.js} +2 -2
- package/dist/siemens-ix/{p-CZ1HWy6s.js.map → p-Df9aoecP.js.map} +1 -1
- package/dist/siemens-ix/{p-DQmgxFuB.js → p-MzQjR-h5.js} +2 -2
- package/dist/siemens-ix/{p-DQmgxFuB.js.map → p-MzQjR-h5.js.map} +1 -1
- package/dist/siemens-ix/{p-c56c3898.entry.js → p-a4d17743.entry.js} +2 -2
- package/dist/siemens-ix/{p-a55e1df3.entry.js → p-a963c368.entry.js} +2 -2
- package/dist/siemens-ix/{p-8b41e47d.entry.js → p-ac5f5042.entry.js} +2 -2
- package/dist/siemens-ix/{p-3f03f070.entry.js → p-aeb1eb75.entry.js} +2 -2
- package/dist/siemens-ix/{p-2927de2b.entry.js → p-aee95ea9.entry.js} +2 -2
- package/dist/siemens-ix/{p-9a7db83b.entry.js → p-af701797.entry.js} +2 -2
- package/dist/siemens-ix/{p-ecefabdb.entry.js → p-b01c5093.entry.js} +2 -2
- package/dist/siemens-ix/p-b11fe6c8.entry.js +2 -0
- package/dist/siemens-ix/p-b11fe6c8.entry.js.map +1 -0
- package/dist/siemens-ix/{p-b0cfcae1.entry.js → p-b39463a7.entry.js} +2 -2
- package/dist/siemens-ix/{p-45427457.entry.js → p-b59f5bf2.entry.js} +2 -2
- package/dist/siemens-ix/{p-9ca14286.entry.js → p-b7d15091.entry.js} +2 -2
- package/dist/siemens-ix/{p-5e241a1f.entry.js → p-ba7b399c.entry.js} +2 -2
- package/dist/siemens-ix/p-bb6c203d.entry.js +2 -0
- package/dist/siemens-ix/p-bb6c203d.entry.js.map +1 -0
- package/dist/siemens-ix/{p-9439d379.entry.js → p-bc3714e4.entry.js} +2 -2
- package/dist/siemens-ix/{p-127a8ea3.entry.js → p-bf8e97d7.entry.js} +2 -2
- package/dist/siemens-ix/{p-6b316d6a.entry.js → p-c0e4bf8a.entry.js} +2 -2
- package/dist/siemens-ix/{p-e59e6e87.entry.js → p-c675b650.entry.js} +2 -2
- package/dist/siemens-ix/p-c7384379.entry.js +2 -0
- package/dist/siemens-ix/{p-6ae131ad.entry.js.map → p-c7384379.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-a48f6140.entry.js → p-c80dddf1.entry.js} +2 -2
- package/dist/siemens-ix/{p-cb5000ac.entry.js → p-c93a8094.entry.js} +2 -2
- package/dist/siemens-ix/{p-08d2c2e8.entry.js → p-ca328fc2.entry.js} +2 -2
- package/dist/siemens-ix/{p-033a9520.entry.js → p-cd52e37a.entry.js} +2 -2
- package/dist/siemens-ix/{p-b2fd83da.entry.js → p-ce0642f0.entry.js} +2 -2
- package/dist/siemens-ix/{p-b606a172.entry.js → p-d132ce81.entry.js} +2 -2
- package/dist/siemens-ix/{p-f30f9b01.entry.js → p-d1cf2407.entry.js} +2 -2
- package/dist/siemens-ix/{p-89868ccc.entry.js → p-d2da2e45.entry.js} +2 -2
- package/dist/siemens-ix/{p-accb8080.entry.js → p-d3f99d59.entry.js} +2 -2
- package/dist/siemens-ix/{p-38d3e0c8.entry.js → p-da378974.entry.js} +2 -2
- package/dist/siemens-ix/{p-2240c295.entry.js → p-dd627440.entry.js} +2 -2
- package/dist/siemens-ix/{p-66e7e232.entry.js → p-e365aee3.entry.js} +2 -2
- package/dist/siemens-ix/{p-802636fd.entry.js → p-e501b6ca.entry.js} +2 -2
- package/dist/siemens-ix/{p-01c3ef64.entry.js → p-e6c7e87a.entry.js} +2 -2
- package/dist/siemens-ix/{p-1bf52529.entry.js → p-eb5da5a0.entry.js} +2 -2
- package/dist/siemens-ix/{p-eccfb343.entry.js → p-ee76fac1.entry.js} +2 -2
- package/dist/siemens-ix/{p-ee807086.entry.js → p-efe78c2f.entry.js} +2 -2
- package/dist/siemens-ix/{p-f8976f8e.entry.js → p-f0575255.entry.js} +2 -2
- package/dist/siemens-ix/{p-7cb18fa5.entry.js → p-f3022851.entry.js} +2 -2
- package/dist/siemens-ix/p-f3022851.entry.js.map +1 -0
- package/dist/siemens-ix/{p-c210f347.entry.js → p-f3f6e45d.entry.js} +2 -2
- package/dist/siemens-ix/{p-c2b23c82.entry.js → p-f3ffbaf9.entry.js} +2 -2
- package/dist/siemens-ix/{p-d1e55b65.entry.js → p-f7bfd5f6.entry.js} +2 -2
- package/dist/siemens-ix/{p-cbf9dc1c.entry.js → p-f81de54a.entry.js} +2 -2
- package/dist/siemens-ix/{p-9ed2e8df.entry.js → p-f8a852c3.entry.js} +2 -2
- package/dist/siemens-ix/{p-736a7446.entry.js → p-f8b08d7b.entry.js} +2 -2
- package/dist/siemens-ix/p-f8b08d7b.entry.js.map +1 -0
- package/dist/siemens-ix/{p-9170f4cd.entry.js → p-ff072152.entry.js} +2 -2
- package/dist/siemens-ix/{p-aaf423b9.entry.js → p-ff2171f6.entry.js} +2 -2
- package/dist/siemens-ix/siemens-ix-core.css +1 -1
- package/dist/siemens-ix/siemens-ix.esm.js +1 -1
- package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
- package/dist/siemens-ix/theme/classic-dark.css +1 -1
- package/dist/siemens-ix/theme/classic-light.css +1 -1
- package/dist/types/components/date-picker/date-picker.d.ts +2 -0
- package/dist/types/components/event-list/event-list.d.ts +1 -0
- package/dist/types/components/tree/tree.d.ts +6 -0
- package/dist/types/components/typography/typography.d.ts +2 -1
- package/dist/types/components/utils/input/index.d.ts +1 -1
- package/dist/types/components.d.ts +10 -0
- package/dist/types/stencil-public-runtime.d.ts +2 -0
- package/hydrate/index.d.ts +12 -0
- package/hydrate/index.js +646 -89
- package/hydrate/index.mjs +645 -90
- package/package.json +5 -5
- package/components/p-B_ksjKbq.js.map +0 -1
- package/components/p-BcWYFLel.js.map +0 -1
- package/components/p-C1wxjy2C.js.map +0 -1
- package/components/p-CB5DzBgb.js.map +0 -1
- package/components/p-CNFJ8TIs.js.map +0 -1
- package/components/p-CtTl3_AV.js.map +0 -1
- package/components/p-rAP-ASw3.js.map +0 -1
- package/dist/cjs/app-globals-Dl9nm3FH.js +0 -10
- package/dist/cjs/index-DUl1Kp3_.js.map +0 -1
- package/dist/esm/app-globals-u1To5tos.js +0 -8
- package/dist/esm/index-DtF9fwpD.js.map +0 -1
- package/dist/siemens-ix/p-1837e711.entry.js.map +0 -1
- package/dist/siemens-ix/p-2c95e67c.entry.js +0 -2
- package/dist/siemens-ix/p-6ae131ad.entry.js +0 -2
- package/dist/siemens-ix/p-6c554ece.entry.js +0 -2
- package/dist/siemens-ix/p-6c554ece.entry.js.map +0 -1
- package/dist/siemens-ix/p-736a7446.entry.js.map +0 -1
- package/dist/siemens-ix/p-7cb18fa5.entry.js.map +0 -1
- package/dist/siemens-ix/p-9196f153.entry.js +0 -2
- package/dist/siemens-ix/p-9196f153.entry.js.map +0 -1
- package/dist/siemens-ix/p-CKA5agGR.js +0 -2
- package/dist/siemens-ix/p-CYvkc2CR.js +0 -2
- package/dist/siemens-ix/p-Dk_lr0xl.js +0 -2
- package/dist/siemens-ix/p-DtF9fwpD.js +0 -3
- package/dist/siemens-ix/p-DtF9fwpD.js.map +0 -1
- package/dist/siemens-ix/p-cefd8579.entry.js +0 -2
- package/dist/siemens-ix/p-cefd8579.entry.js.map +0 -1
- package/dist/siemens-ix/p-ec92f199.entry.js +0 -2
- package/dist/siemens-ix/p-ec92f199.entry.js.map +0 -1
- package/dist/siemens-ix/p-f607e4c0.entry.js +0 -2
- package/dist/siemens-ix/p-f607e4c0.entry.js.map +0 -1
- /package/dist/siemens-ix/{p-a2c05b1b.entry.js.map → p-000cfb14.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2c95e67c.entry.js.map → p-003f8d27.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9505ff9d.entry.js.map → p-08931f8c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8960c872.entry.js.map → p-0c830977.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-08e33f34.entry.js.map → p-12110136.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-3af8304e.entry.js.map → p-163e742f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-cc843644.entry.js.map → p-191c9ec6.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9185b8c1.entry.js.map → p-19ae7d99.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-538743fb.entry.js.map → p-19e9505f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b761a9d6.entry.js.map → p-20d1d114.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-10d57ca2.entry.js.map → p-2290614f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-316cf983.entry.js.map → p-2295246b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-eba65395.entry.js.map → p-273bd3ab.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ce331bdc.entry.js.map → p-28055ea5.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d1420219.entry.js.map → p-2e4b9c1a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-e5ab9886.entry.js.map → p-3138015e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d1e08a10.entry.js.map → p-3283a5f3.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-765ffc2a.entry.js.map → p-34ff567f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2d9eb88d.entry.js.map → p-374de51d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-91a5bb6c.entry.js.map → p-37fa26f9.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-a0ef8437.entry.js.map → p-3a0a5bc2.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-718a54f8.entry.js.map → p-3d8a3b8a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-523e3cce.entry.js.map → p-3db26a34.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1b4019b5.entry.js.map → p-3e1a9763.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ac9215b9.entry.js.map → p-3edc7dd2.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-43e8cbf1.entry.js.map → p-4b0c3eeb.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-19b855f3.entry.js.map → p-518b1e6b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-3d57eed7.entry.js.map → p-576fade1.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-6d38bed7.entry.js.map → p-5963369c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-320281ab.entry.js.map → p-5b0d1cc9.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0f72ac93.entry.js.map → p-5b1d3595.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1b488eb2.entry.js.map → p-5fe74d24.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1e2dfffb.entry.js.map → p-5fef5328.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-fa3623a3.entry.js.map → p-6691703e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-bd6e324a.entry.js.map → p-66fb6549.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-3677ae1c.entry.js.map → p-6d197072.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1a1e0f93.entry.js.map → p-734bcb23.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-32612a51.entry.js.map → p-78f99962.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-001a084b.entry.js.map → p-79febe81.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-e8252fd7.entry.js.map → p-7abb0f0c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-61140574.entry.js.map → p-87b30e60.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2aa40bcf.entry.js.map → p-87c777a1.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-71eaa791.entry.js.map → p-888fa4b1.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b0a445d7.entry.js.map → p-89edecbd.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d6bf2d75.entry.js.map → p-933f6e1f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d3e0d6d9.entry.js.map → p-96bbbbcb.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ff85bd49.entry.js.map → p-9a679e62.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-a1c09e3c.entry.js.map → p-9e3a36df.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-afd2fa29.entry.js.map → p-9e83986f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c56c3898.entry.js.map → p-a4d17743.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-a55e1df3.entry.js.map → p-a963c368.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8b41e47d.entry.js.map → p-ac5f5042.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-3f03f070.entry.js.map → p-aeb1eb75.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2927de2b.entry.js.map → p-aee95ea9.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9a7db83b.entry.js.map → p-af701797.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ecefabdb.entry.js.map → p-b01c5093.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b0cfcae1.entry.js.map → p-b39463a7.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-45427457.entry.js.map → p-b59f5bf2.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9ca14286.entry.js.map → p-b7d15091.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-5e241a1f.entry.js.map → p-ba7b399c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9439d379.entry.js.map → p-bc3714e4.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-127a8ea3.entry.js.map → p-bf8e97d7.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-6b316d6a.entry.js.map → p-c0e4bf8a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-e59e6e87.entry.js.map → p-c675b650.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-a48f6140.entry.js.map → p-c80dddf1.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-cb5000ac.entry.js.map → p-c93a8094.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-08d2c2e8.entry.js.map → p-ca328fc2.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-033a9520.entry.js.map → p-cd52e37a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b2fd83da.entry.js.map → p-ce0642f0.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b606a172.entry.js.map → p-d132ce81.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f30f9b01.entry.js.map → p-d1cf2407.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-89868ccc.entry.js.map → p-d2da2e45.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-accb8080.entry.js.map → p-d3f99d59.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-38d3e0c8.entry.js.map → p-da378974.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2240c295.entry.js.map → p-dd627440.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-66e7e232.entry.js.map → p-e365aee3.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-802636fd.entry.js.map → p-e501b6ca.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-01c3ef64.entry.js.map → p-e6c7e87a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1bf52529.entry.js.map → p-eb5da5a0.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-eccfb343.entry.js.map → p-ee76fac1.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ee807086.entry.js.map → p-efe78c2f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f8976f8e.entry.js.map → p-f0575255.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c210f347.entry.js.map → p-f3f6e45d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c2b23c82.entry.js.map → p-f3ffbaf9.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d1e55b65.entry.js.map → p-f7bfd5f6.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-cbf9dc1c.entry.js.map → p-f81de54a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9ed2e8df.entry.js.map → p-f8a852c3.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9170f4cd.entry.js.map → p-ff072152.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-aaf423b9.entry.js.map → p-ff2171f6.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ix-select.entry.esm.js","sources":["src/components/select/select.scss?tag=ix-select&encapsulation=shadow","src/components/select/select.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@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n@import 'mixins/field';\n@import 'mixins/validation/form-component';\n\n:host {\n @include ix-component;\n\n display: inline-block;\n position: relative;\n min-height: 2rem;\n height: auto;\n border-radius: var(--theme-input--border-radius);\n\n .display-none {\n display: none;\n }\n\n .select {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n background-color: var(--theme-input--background);\n border: var(--theme-input--border-thickness) solid\n var(--theme-input--border-color);\n border-radius: var(--theme-input--border-radius);\n padding: 0 0 0 $small-space;\n box-shadow: var(--theme-inset-shadow-1) !important;\n\n @include hover {\n background-color: var(--theme-input--background--hover);\n border-color: var(--theme-input--border-color--hover);\n }\n\n &:focus-within {\n background-color: var(--theme-input--background--focus);\n border-color: var(--theme-input--border-color--focus);\n outline: 1px solid #119fff;\n outline-offset: var(--theme-input--focus--outline-offset);\n }\n }\n\n .select.readonly,\n .select.disabled {\n box-shadow: none !important;\n border: none;\n border-radius: 0;\n cursor: pointer;\n\n &,\n &:hover,\n &:active {\n background-color: transparent !important;\n }\n\n &:focus,\n &:focus-within,\n &:focus-visible {\n outline: none;\n }\n\n input:focus,\n input:focus-visible {\n outline: none;\n }\n }\n\n .select.disabled {\n border-bottom: var(--theme-input--border-thickness) solid\n var(--theme-color-weak-bdr);\n\n input {\n color: var(--theme-color-weak-text);\n }\n }\n\n .select.readonly {\n border-bottom: var(--theme-input--border-thickness) solid\n var(--theme-color-soft-bdr);\n\n input {\n color: var(--theme-color-std-text);\n }\n }\n\n .hidden {\n display: none !important;\n }\n\n .trigger {\n display: flex;\n align-items: center;\n flex-grow: 1;\n height: 100%;\n }\n\n .input-container {\n display: flex;\n position: relative;\n align-items: flex-start;\n width: 100%;\n height: 100%;\n\n .chips {\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n height: 100%;\n max-height: 3.5rem;\n flex-grow: 1;\n overflow-y: auto;\n\n > ix-filter-chip {\n margin: 0.1rem;\n }\n }\n\n ix-icon-button {\n height: 1.875rem;\n width: 1.875rem;\n min-height: 1.875rem;\n min-width: 1.875rem;\n }\n\n input {\n @include ellipsis;\n @include text-default;\n background: transparent;\n height: 1.75rem;\n width: 100%;\n\n &,\n &:hover,\n &:focus-visible {\n border: none;\n outline: none;\n }\n\n &::placeholder {\n color: var(--theme-input-select-icon--color);\n }\n\n &.hide-placeholder::placeholder {\n opacity: 0;\n }\n }\n }\n\n ix-dropdown {\n max-width: 100%;\n }\n\n .dropdown-visible {\n --ix-icon-button-color: var(--theme-color-dynamic--hover);\n }\n\n .add-item {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n position: relative;\n width: 100%;\n }\n\n .select-list-header {\n @include ellipsis;\n display: flex;\n align-items: center;\n height: $default-control-height;\n color: var(--theme-select-list-item-hint--color);\n margin: 0 $small-space 0 1rem;\n }\n}\n\n\n\n@include host-valid;\n\n@include host-info {\n .select {\n border-color: var(--theme-input--border-color--info);\n }\n\n .select:hover {\n border-color: var(--theme-input--border-color--info--hover) !important;\n }\n\n .select:active {\n border-color: var(--theme-input--border-color--info--active) !important;\n }\n}\n\n@include host-warning {\n .select {\n border-color: var(--theme-input--border-color--warning);\n }\n\n .select:hover {\n border-color: var(--theme-input--border-color--warning--hover) !important;\n }\n\n .select:active {\n border-color: var(--theme-input--border-color--warning--active) !important;\n }\n}\n\n@include host-invalid {\n .select {\n border-color: var(--theme-input--border-color--invalid);\n background-color: var(--theme-input--background--invalid);\n box-shadow: none;\n }\n\n .select:hover {\n border-color: var(--theme-input--border-color--invalid--hover) !important;\n }\n\n .select:active {\n border-color: var(--theme-input--border-color--invalid--active) !important;\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 {\n iconChevronDownSmall,\n iconClear,\n iconPlus,\n} from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DropdownItemWrapper } from '../dropdown/dropdown-controller';\nimport { IxSelectItemLabelChangeEvent } from '../select-item/events';\nimport { a11yBoolean } from '../utils/a11y';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n} from '../utils/input';\nimport { OnListener } from '../utils/listener';\nimport { makeRef } from '../utils/make-ref';\nimport { createMutationObserver } from '../utils/mutation-observer';\n\n/**\n * @form-ready 2.6.0\n */\n@Component({\n tag: 'ix-select',\n styleUrl: 'select.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Select implements IxInputFieldComponent<string | string[]> {\n @Element() hostElement!: HTMLIxSelectElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * A string that represents the element's name attribute,\n * containing a name that identifies the element when submitting the form.\n *\n * @since 2.6.0\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * A Boolean attribute indicating that an option with a non-empty string value must be selected\n *\n * @since 2.6.0\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Label for the select component\n *\n * @since 2.6.0\n */\n @Prop() label?: string;\n\n /**\n * Warning text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() warningText?: string;\n\n /**\n * Info text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() infoText?: string;\n\n /**\n * Error text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() invalidText?: string;\n\n /**\n * Valid text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() validText?: string;\n\n /**\n * Helper text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() helperText?: string;\n\n /**\n * Show helper, error, info, warning text as tooltip\n *\n * @since 2.6.0\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * Current selected value.\n * This corresponds to the value property of ix-select-items\n * @since 2.0.0\n */\n @Prop({ mutable: true }) value: string | string[] = [];\n\n /**\n * Show clear button\n */\n @Prop() allowClear = false;\n\n /**\n * Selection mode\n */\n @Prop() mode: 'single' | 'multiple' = 'single';\n\n /**\n * Select is extendable\n */\n @Prop() editable = false;\n\n /**\n * If true the select will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the select will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * Input field placeholder\n */\n @Prop() i18nPlaceholder = 'Select an option';\n\n /**\n * Input field placeholder for editable select\n */\n @Prop() i18nPlaceholderEditable = 'Type of select option';\n\n /**\n * Select list header\n */\n @Prop() i18nSelectListHeader = 'Select an option';\n\n /**\n * Information inside of dropdown if no items where found with current filter text\n *\n * @since 1.5.0\n */\n @Prop() i18nNoMatches = 'No matches';\n\n /**\n * Hide list header\n *\n * @since 1.5.0\n */\n @Prop() hideListHeader = false;\n\n /**\n * The width of the dropdown element with value and unit (e.g. \"200px\" or \"12.5rem\").\n *\n * @since 2.7.0\n */\n @Prop() dropdownWidth?: string;\n\n /**\n * The maximum width of the dropdown element with value and unit (e.g. \"200px\" or \"12.5rem\").\n * By default the maximum width of the dropdown element is set to 100%.\n *\n * @since 2.7.0\n *\n */\n @Prop() dropdownMaxWidth?: string;\n\n /**\n * Value changed\n * @since 2.0.0\n */\n @Event() valueChange!: EventEmitter<string | string[]>;\n\n /**\n * Event dispatched whenever the text input changes.\n *\n * @since 2.0.0\n */\n @Event() inputChange!: EventEmitter<string>;\n\n /**\n * Item added to selection\n */\n @Event() addItem!: EventEmitter<string>;\n\n /**\n * Blur input\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() dropdownShow = false;\n @State() selectedLabels: (string | undefined)[] = [];\n @State() isDropdownEmpty = false;\n @State() navigationItem?: DropdownItemWrapper;\n @State() inputFilterText = '';\n @State() inputValue = '';\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n\n private readonly dropdownWrapperRef = makeRef<HTMLElement>();\n private readonly dropdownAnchorRef = makeRef<HTMLElement>();\n private readonly inputRef = makeRef<HTMLInputElement>();\n\n private inputElement?: HTMLInputElement;\n private dropdownElement?: HTMLIxDropdownElement;\n private customItemsContainerElement?: HTMLDivElement;\n private addItemElement?: HTMLIxDropdownItemElement;\n private arrowFocusController?: ArrowFocusController;\n\n private touched = false;\n\n private readonly itemObserver = createMutationObserver(() => {\n if (!this.arrowFocusController) {\n return;\n }\n this.arrowFocusController.items = this.visibleNonShadowItems;\n });\n private readonly focusControllerCallbackBind =\n this.focusDropdownItem.bind(this);\n\n get nonShadowItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-select-item'));\n }\n\n get visibleNonShadowItems() {\n return this.nonShadowItems.filter(\n (item) => !item.classList.contains('display-none')\n );\n }\n\n get shadowItems() {\n return Array.from(\n this.hostElement.shadowRoot!.querySelectorAll('ix-select-item')\n );\n }\n\n get visibleShadowItems() {\n return this.shadowItems.filter(\n (item) => !item.classList.contains('display-none')\n );\n }\n\n get items() {\n return [...this.nonShadowItems, ...this.shadowItems];\n }\n\n get visibleItems() {\n return this.items.filter(\n (item) => !item.classList.contains('display-none')\n );\n }\n\n get selectedItems() {\n return this.items.filter((item) => item.selected);\n }\n\n get addItemButton() {\n return this.hostElement.shadowRoot!.querySelector('.add-item');\n }\n\n get isSingleMode() {\n return this.mode === 'single';\n }\n\n get isMultipleMode() {\n return this.mode === 'multiple';\n }\n\n get isEveryDropdownItemHidden() {\n return this.items.every((item) => item.classList.contains('display-none'));\n }\n\n @Watch('value')\n watchValue(value: string | string[]) {\n this.value = value;\n this.updateSelection();\n }\n\n @Watch('dropdownShow')\n watchDropdownShow(show: boolean) {\n if (show && this.dropdownElement) {\n this.itemObserver.observe(this.dropdownElement, {\n childList: true,\n subtree: true,\n });\n } else {\n this.cleanupResources();\n }\n }\n\n private cleanupResources() {\n this.arrowFocusController?.disconnect();\n this.arrowFocusController = undefined;\n this.itemObserver?.disconnect();\n }\n\n @Listen('itemClick')\n onItemClicked(event: CustomEvent<string>) {\n const newId = event.detail;\n this.itemClick(newId);\n }\n\n updateFormInternalValue(value: string | string[]) {\n if (Array.isArray(value)) {\n this.formInternals.setFormValue(value.join(','));\n return;\n }\n\n this.formInternals.setFormValue(value);\n }\n\n /** @internal */\n @Method()\n async hasValidValue(): Promise<boolean> {\n return this.required && !!this.hasValue();\n }\n\n private hasValue() {\n if (Array.isArray(this.value)) {\n return !!this.value.length;\n }\n\n return !!this.value;\n }\n\n private focusDropdownItem(index: number) {\n this.navigationItem = undefined;\n\n if (index < this.visibleNonShadowItems.length) {\n const nestedDropdownItem =\n this.visibleNonShadowItems[index]?.shadowRoot?.querySelector(\n 'ix-dropdown-item'\n );\n\n if (!nestedDropdownItem) {\n return;\n }\n\n requestAnimationFrame(() => {\n nestedDropdownItem?.shadowRoot?.querySelector('button')?.focus();\n });\n }\n }\n\n private itemClick(newId: string) {\n const oldValue = this.value;\n const value = this.toggleValue(newId);\n this.value = value;\n const defaultPrevented = this.emitValueChange(value);\n\n if (defaultPrevented) {\n this.value = oldValue;\n return;\n }\n\n this.updateSelection();\n }\n\n private emitAddItem(value: string) {\n if (value === undefined || value.trim() === '') {\n return false;\n }\n\n const { defaultPrevented } = this.addItem.emit(value);\n if (defaultPrevented) {\n return true;\n }\n\n const newItem = document.createElement('ix-select-item');\n newItem.value = value;\n newItem.label = value;\n\n this.customItemsContainerElement?.appendChild(newItem);\n\n this.clearInput();\n this.itemClick(value);\n\n return false;\n }\n\n private toggleValue(itemValue: string) {\n if (!this.isMultipleMode) {\n return itemValue;\n }\n\n if (!this.value) {\n return [itemValue];\n }\n\n let value = this.value;\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n if (value.includes(itemValue)) {\n return value.filter((value) => value !== itemValue);\n } else {\n return [...value, itemValue];\n }\n }\n\n private updateSelection() {\n let ids: string[] = [];\n\n if (this.value) {\n ids = Array.isArray(this.value) ? [...this.value] : [this.value];\n }\n\n this.items.forEach((item) => {\n item.selected = ids.some((i) => {\n if (typeof i !== typeof item.value) {\n return i.toString() === item.value.toString();\n } else {\n return i === item.value;\n }\n });\n });\n\n this.selectedLabels = this.selectedItems.map((item) => item.label);\n\n if (this.selectedLabels?.length && this.isSingleMode) {\n this.inputValue = this.selectedLabels[0] ?? '';\n } else {\n this.inputValue = '';\n }\n\n this.inputElement && (this.inputElement.value = this.inputValue);\n }\n\n private emitValueChange(value: string | string[]) {\n const { defaultPrevented } = this.valueChange.emit(value);\n\n if (defaultPrevented) {\n return true;\n }\n\n this.updateFormInternalValue(value);\n return false;\n }\n\n componentDidLoad() {\n this.inputElement?.addEventListener('input', () => {\n this.dropdownShow = true;\n this.inputChange.emit(this.inputElement?.value);\n });\n }\n\n componentWillLoad() {\n this.updateSelection();\n this.updateFormInternalValue(this.value);\n }\n\n componentDidRender(): void {\n if (\n !this.dropdownShow ||\n this.arrowFocusController ||\n !this.dropdownElement\n ) {\n return;\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.visibleNonShadowItems,\n this.dropdownElement,\n this.focusControllerCallbackBind\n );\n\n this.arrowFocusController.wrap =\n !this.isAddItemVisible() && !this.visibleShadowItems.length;\n }\n\n @Listen('ix-select-item:valueChange')\n @Listen('ix-select-item:labelChange')\n onLabelChange(event: IxSelectItemLabelChangeEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.updateSelection();\n }\n\n disconnectedCallback() {\n this.cleanupResources();\n }\n\n private itemExists(item: string | undefined) {\n return this.items.find((i) => i.label === item);\n }\n\n private dropdownVisibilityChanged(event: CustomEvent<boolean>) {\n this.dropdownShow = event.detail;\n\n if (event.detail) {\n this.inputElement?.focus();\n this.inputElement?.select();\n\n this.removeHiddenFromItems();\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n } else {\n this.navigationItem = undefined;\n this.updateSelection();\n this.inputFilterText = '';\n }\n }\n\n @OnListener<Select>('keydown', (self) => self.dropdownShow)\n async onKeyDown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n await this.onArrowNavigation(event, event.code);\n }\n\n if (!this.dropdownShow) {\n return;\n }\n\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n await this.onEnterNavigation(event.target as HTMLIxSelectItemElement);\n }\n\n if (event.code === 'Escape') {\n this.dropdownShow = false;\n }\n }\n\n private async onEnterNavigation(\n el: HTMLIxSelectItemElement | HTMLInputElement\n ) {\n if (this.isMultipleMode) {\n return;\n }\n\n const trimmedInput = this.inputFilterText.trim();\n const itemLabel = (el as HTMLIxSelectItemElement)?.label;\n const item = this.itemExists(trimmedInput);\n\n if (item) {\n this.itemClick(item.value);\n } else if (this.editable && !this.itemExists(itemLabel)) {\n const defaultPrevented = this.emitAddItem(trimmedInput);\n if (defaultPrevented) {\n return;\n }\n }\n\n this.dropdownShow = false;\n this.updateSelection();\n }\n\n private async onArrowNavigation(\n event: KeyboardEvent,\n key: 'ArrowDown' | 'ArrowUp'\n ) {\n if (event.defaultPrevented) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n this.dropdownShow = true;\n\n if (!this.navigationItem && document.activeElement === this.hostElement) {\n if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n const moveUp = key === 'ArrowUp';\n const indexNonShadow = document.activeElement\n ? this.visibleNonShadowItems.indexOf(\n document.activeElement as HTMLIxSelectItemElement\n )\n : -1;\n\n // Slotted select items\n if (indexNonShadow === 0) {\n if (!this.visibleShadowItems.length && this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleShadowItems.pop());\n }\n return;\n } else if (\n indexNonShadow !== -1 &&\n indexNonShadow === this.visibleNonShadowItems.length - 1\n ) {\n if (this.visibleShadowItems.length) {\n this.applyFocusTo(this.visibleShadowItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n if (!this.navigationItem) {\n return;\n }\n\n if (\n this.isAddItemVisible() &&\n this.addItemElement?.contains(\n await this.navigationItem.getDropdownItemElement()\n )\n ) {\n if (moveUp) {\n this.applyFocusTo(this.visibleItems.pop());\n } else if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n }\n return;\n }\n\n // Custom select items\n const indexShadow = this.visibleShadowItems.indexOf(\n this.navigationItem as HTMLIxSelectItemElement\n );\n\n if (moveUp) {\n if (indexShadow === 0) {\n if (this.visibleNonShadowItems.length) {\n this.applyFocusTo(this.visibleNonShadowItems.pop());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow - 1]);\n }\n } else {\n if (indexShadow === this.visibleShadowItems.length - 1) {\n if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleItems.shift());\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow + 1]);\n }\n }\n }\n\n private applyFocusTo(element?: HTMLIxSelectItemElement) {\n if (!element) {\n return;\n }\n\n this.navigationItem = element;\n\n setTimeout(() => {\n element.shadowRoot\n ?.querySelector('ix-dropdown-item')\n ?.shadowRoot?.querySelector('button')\n ?.focus();\n });\n }\n\n private focusAddItemButton() {\n if (this.addItemButton) {\n this.addItemButton.shadowRoot?.querySelector('button')?.focus();\n this.navigationItem = this.addItemElement;\n }\n }\n\n private filterItemsWithTypeahead() {\n this.inputFilterText = this.inputElement?.value ?? '';\n\n if (this.isSingleMode && this.inputFilterText === this.selectedLabels[0]) {\n return;\n }\n\n if (this.inputFilterText) {\n this.items.forEach((item) => {\n item.classList.remove('display-none');\n if (\n !item.label\n ?.toLowerCase()\n .includes(this.inputFilterText.toLowerCase())\n ) {\n item.classList.add('display-none');\n }\n });\n } else {\n this.removeHiddenFromItems();\n }\n\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.visibleNonShadowItems;\n }\n\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n }\n\n private removeHiddenFromItems() {\n this.items.forEach((item) => {\n item.classList.remove('display-none');\n });\n }\n\n private clearInput() {\n if (this.inputElement) {\n this.inputElement.value = '';\n }\n this.inputFilterText = '';\n }\n\n private clear() {\n this.clearInput();\n this.selectedLabels = [];\n this.value = [];\n this.emitValueChange([]);\n this.dropdownShow = false;\n }\n\n private onInputBlur(event: Event) {\n this.ixBlur.emit();\n this.touched = true;\n\n if (this.editable) {\n return;\n }\n\n if (this.isSingleMode) {\n return;\n }\n\n const target = event.target as HTMLInputElement;\n\n if (!this.dropdownShow && this.mode !== 'multiple') {\n target.value = this.selectedLabels.toString();\n }\n }\n\n private placeholderValue() {\n if (this.disabled) {\n return '';\n }\n\n if (this.readonly) {\n return '';\n }\n\n if (this.editable) {\n return this.i18nPlaceholderEditable;\n }\n\n return this.i18nPlaceholder;\n }\n\n private isAddItemVisible() {\n return (\n !this.itemExists(this.inputFilterText) &&\n this.editable &&\n this.inputFilterText\n );\n }\n\n @HookValidationLifecycle()\n onValidationChange({\n isInvalid,\n isInvalidByRequired,\n isValid,\n isInfo,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired;\n this.isValid = isValid;\n this.isWarning = isWarning;\n this.isInfo = isInfo;\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /**\n * Returns the native input element used in the component.\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n if (this.inputElement) {\n return Promise.resolve(this.inputElement);\n } else {\n return Promise.reject(new Error('Input element not found'));\n }\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n const inputElement = await this.getNativeInputElement();\n if (inputElement) {\n inputElement.focus();\n }\n }\n\n /**\n * Check if the input field has been touched.\n * @internal\n * */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n return (\n <Host\n aria-disabled={a11yBoolean(this.disabled)}\n class={{\n disabled: this.disabled,\n }}\n >\n <ix-field-wrapper\n required={this.required}\n label={this.label}\n helperText={this.helperText}\n invalidText={this.invalidText}\n infoText={this.infoText}\n warningText={this.warningText}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n isInvalid={this.isInvalid}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n controlRef={this.inputRef}\n >\n <div\n class={{\n select: true,\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n ref={(ref) => {\n this.dropdownAnchorRef(ref);\n if (!this.editable) this.dropdownWrapperRef(ref);\n }}\n >\n <div class=\"input-container\">\n <div class=\"chips\">\n {this.isMultipleMode\n ? this.selectedItems?.map((item) => (\n <ix-filter-chip\n disabled={this.disabled || this.readonly}\n key={item.value}\n onCloseClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.itemClick(item.value);\n }}\n >\n {item.label}\n </ix-filter-chip>\n ))\n : ''}\n <div class=\"trigger\">\n <input\n autocomplete=\"off\"\n data-testid=\"input\"\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n type=\"text\"\n class={{\n 'allow-clear':\n this.allowClear && !!this.selectedLabels?.length,\n }}\n placeholder={this.placeholderValue()}\n value={this.inputValue ?? ''}\n ref={(ref) => {\n this.inputElement = ref;\n this.inputRef(ref);\n }}\n onBlur={(e) => this.onInputBlur(e)}\n onFocus={() => {\n this.navigationItem = undefined;\n }}\n onInput={() => this.filterItemsWithTypeahead()}\n onKeyDown={(e) => this.onKeyDown(e)}\n />\n {this.allowClear &&\n !this.disabled &&\n !this.readonly &&\n (this.selectedLabels?.length || this.inputFilterText) ? (\n <ix-icon-button\n class=\"clear\"\n icon={iconClear}\n ghost\n oval\n size=\"16\"\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.clear();\n }}\n />\n ) : null}\n {this.disabled || this.readonly ? null : (\n <ix-icon-button\n data-select-dropdown\n class={{ 'dropdown-visible': this.dropdownShow }}\n icon={iconChevronDownSmall}\n ghost\n ref={(ref) => {\n if (this.editable) this.dropdownWrapperRef(ref);\n }}\n ></ix-icon-button>\n )}\n </div>\n </div>\n </div>\n </div>\n </ix-field-wrapper>\n <ix-dropdown\n ref={(ref) => (this.dropdownElement = ref!)}\n show={this.dropdownShow}\n closeBehavior={this.isMultipleMode ? 'outside' : 'both'}\n class={{\n 'display-none': this.disabled || this.readonly,\n }}\n anchor={this.dropdownAnchorRef.waitForCurrent()}\n trigger={this.dropdownWrapperRef.waitForCurrent()}\n onShowChanged={(e) => this.dropdownVisibilityChanged(e)}\n placement=\"bottom-start\"\n overwriteDropdownStyle={async () => {\n const styleOverwrites: Partial<CSSStyleDeclaration> = {};\n\n const minWidth = this.hostElement.shadowRoot\n ?.querySelector('.select')\n ?.getBoundingClientRect().width;\n\n if (minWidth) {\n styleOverwrites.minWidth = `${minWidth}px`;\n }\n\n if (this.dropdownWidth) {\n styleOverwrites.width = `min(${this.dropdownWidth}, 100%)`;\n }\n\n if (this.dropdownMaxWidth) {\n styleOverwrites.maxWidth = `min(${this.dropdownMaxWidth}, 100%)`;\n }\n\n return styleOverwrites;\n }}\n >\n <div\n class={{\n 'select-list-header': true,\n hidden: this.hideListHeader || this.isDropdownEmpty,\n }}\n title={this.i18nSelectListHeader}\n onClick={(e) => e.preventDefault()}\n >\n {this.i18nSelectListHeader}\n </div>\n <slot\n onSlotchange={() => {\n this.updateSelection();\n }}\n ></slot>\n <div ref={(ref) => (this.customItemsContainerElement = ref!)}></div>\n {this.isAddItemVisible() ? (\n <ix-dropdown-item\n data-testid=\"add-item\"\n icon={iconPlus}\n class={{\n 'add-item': true,\n }}\n label={this.inputFilterText}\n onItemClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.emitAddItem(this.inputFilterText);\n }}\n onFocus={() => (this.navigationItem = this.addItemElement)}\n ref={(ref) => {\n this.addItemElement = ref!;\n }}\n ></ix-dropdown-item>\n ) : null}\n {this.isDropdownEmpty && !this.editable ? (\n <div class=\"select-list-header\">{this.i18nNoMatches}</div>\n ) : (\n ''\n )}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ix-select.entry.esm.js","sources":["src/components/select/select.scss?tag=ix-select&encapsulation=shadow","src/components/select/select.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@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n@import 'mixins/field';\n@import 'mixins/validation/form-component';\n\n:host {\n @include ix-component;\n\n display: inline-block;\n position: relative;\n min-height: 2rem;\n height: auto;\n border-radius: var(--theme-input--border-radius);\n\n .display-none {\n display: none;\n }\n\n .select {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n background-color: var(--theme-input--background);\n border: var(--theme-input--border-thickness) solid\n var(--theme-input--border-color);\n border-radius: var(--theme-input--border-radius);\n padding: 0 0 0 $small-space;\n box-shadow: var(--theme-inset-shadow-1) !important;\n\n @include hover {\n background-color: var(--theme-input--background--hover);\n border-color: var(--theme-input--border-color--hover);\n }\n\n &:focus-within {\n background-color: var(--theme-input--background--focus);\n border-color: var(--theme-input--border-color--focus);\n outline: 1px solid #119fff;\n outline-offset: var(--theme-input--focus--outline-offset);\n }\n }\n\n .select.readonly,\n .select.disabled {\n box-shadow: none !important;\n border: none;\n border-radius: 0;\n cursor: pointer;\n\n &,\n &:hover,\n &:active {\n background-color: transparent !important;\n }\n\n &:focus,\n &:focus-within,\n &:focus-visible {\n outline: none;\n }\n\n input:focus,\n input:focus-visible {\n outline: none;\n }\n }\n\n .select.disabled {\n border-bottom: var(--theme-input--border-thickness) solid\n var(--theme-color-weak-bdr);\n\n input {\n color: var(--theme-color-weak-text);\n }\n }\n\n .select.readonly {\n border-bottom: var(--theme-input--border-thickness) solid\n var(--theme-color-soft-bdr);\n\n input {\n color: var(--theme-color-std-text);\n }\n }\n\n .hidden {\n display: none !important;\n }\n\n .trigger {\n display: flex;\n align-items: center;\n flex-grow: 1;\n height: 100%;\n }\n\n .input-container {\n display: flex;\n position: relative;\n align-items: flex-start;\n width: 100%;\n height: 100%;\n\n .chips {\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n height: 100%;\n max-height: 3.5rem;\n flex-grow: 1;\n overflow-y: auto;\n\n > ix-filter-chip {\n margin: 0.1rem;\n }\n }\n\n ix-icon-button {\n height: 1.875rem;\n width: 1.875rem;\n min-height: 1.875rem;\n min-width: 1.875rem;\n }\n\n input {\n @include ellipsis;\n @include text-default;\n background: transparent;\n height: 1.75rem;\n width: 100%;\n\n &,\n &:hover,\n &:focus-visible {\n border: none;\n outline: none;\n }\n\n &::placeholder {\n color: var(--theme-input-select-icon--color);\n }\n\n &.hide-placeholder::placeholder {\n opacity: 0;\n }\n }\n }\n\n ix-dropdown {\n max-width: 100%;\n }\n\n .dropdown-visible {\n --ix-icon-button-color: var(--theme-color-dynamic--hover);\n }\n\n .add-item {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n position: relative;\n width: 100%;\n }\n\n .select-list-header {\n @include ellipsis;\n display: flex;\n align-items: center;\n height: $default-control-height;\n color: var(--theme-select-list-item-hint--color);\n margin: 0 $small-space 0 1rem;\n }\n}\n\n\n\n@include host-valid;\n\n@include host-info {\n .select {\n border-color: var(--theme-input--border-color--info);\n }\n\n .select:hover {\n border-color: var(--theme-input--border-color--info--hover) !important;\n }\n\n .select:active {\n border-color: var(--theme-input--border-color--info--active) !important;\n }\n}\n\n@include host-warning {\n .select {\n border-color: var(--theme-input--border-color--warning);\n }\n\n .select:hover {\n border-color: var(--theme-input--border-color--warning--hover) !important;\n }\n\n .select:active {\n border-color: var(--theme-input--border-color--warning--active) !important;\n }\n}\n\n@include host-invalid {\n .select {\n border-color: var(--theme-input--border-color--invalid);\n background-color: var(--theme-input--background--invalid);\n box-shadow: none;\n }\n\n .select:hover {\n border-color: var(--theme-input--border-color--invalid--hover) !important;\n }\n\n .select:active {\n border-color: var(--theme-input--border-color--invalid--active) !important;\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 {\n iconChevronDownSmall,\n iconClear,\n iconPlus,\n} from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DropdownItemWrapper } from '../dropdown/dropdown-controller';\nimport { IxSelectItemLabelChangeEvent } from '../select-item/events';\nimport { a11yBoolean } from '../utils/a11y';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n} from '../utils/input';\nimport { OnListener } from '../utils/listener';\nimport { makeRef } from '../utils/make-ref';\nimport { createMutationObserver } from '../utils/mutation-observer';\n\n/**\n * @form-ready 2.6.0\n */\n@Component({\n tag: 'ix-select',\n styleUrl: 'select.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Select implements IxInputFieldComponent<string | string[]> {\n @Element() hostElement!: HTMLIxSelectElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * A string that represents the element's name attribute,\n * containing a name that identifies the element when submitting the form.\n *\n * @since 2.6.0\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * A Boolean attribute indicating that an option with a non-empty string value must be selected\n *\n * @since 2.6.0\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Label for the select component\n *\n * @since 2.6.0\n */\n @Prop() label?: string;\n\n /**\n * Warning text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() warningText?: string;\n\n /**\n * Info text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() infoText?: string;\n\n /**\n * Error text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() invalidText?: string;\n\n /**\n * Valid text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() validText?: string;\n\n /**\n * Helper text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() helperText?: string;\n\n /**\n * Show helper, error, info, warning text as tooltip\n *\n * @since 2.6.0\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * Current selected value.\n * This corresponds to the value property of ix-select-items\n * @since 2.0.0\n */\n @Prop({ mutable: true }) value: string | string[] = [];\n\n /**\n * Show clear button\n */\n @Prop() allowClear = false;\n\n /**\n * Selection mode\n */\n @Prop() mode: 'single' | 'multiple' = 'single';\n\n /**\n * Select is extendable\n */\n @Prop() editable = false;\n\n /**\n * If true the select will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the select will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * Input field placeholder\n */\n @Prop() i18nPlaceholder = 'Select an option';\n\n /**\n * Input field placeholder for editable select\n */\n @Prop() i18nPlaceholderEditable = 'Type of select option';\n\n /**\n * Select list header\n */\n @Prop() i18nSelectListHeader = 'Select an option';\n\n /**\n * Information inside of dropdown if no items where found with current filter text\n *\n * @since 1.5.0\n */\n @Prop() i18nNoMatches = 'No matches';\n\n /**\n * Hide list header\n *\n * @since 1.5.0\n */\n @Prop() hideListHeader = false;\n\n /**\n * The width of the dropdown element with value and unit (e.g. \"200px\" or \"12.5rem\").\n *\n * @since 2.7.0\n */\n @Prop() dropdownWidth?: string;\n\n /**\n * The maximum width of the dropdown element with value and unit (e.g. \"200px\" or \"12.5rem\").\n * By default the maximum width of the dropdown element is set to 100%.\n *\n * @since 2.7.0\n *\n */\n @Prop() dropdownMaxWidth?: string;\n\n /**\n * Value changed\n * @since 2.0.0\n */\n @Event() valueChange!: EventEmitter<string | string[]>;\n\n /**\n * Event dispatched whenever the text input changes.\n *\n * @since 2.0.0\n */\n @Event() inputChange!: EventEmitter<string>;\n\n /**\n * Item added to selection\n */\n @Event() addItem!: EventEmitter<string>;\n\n /**\n * Blur input\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() dropdownShow = false;\n @State() selectedLabels: (string | undefined)[] = [];\n @State() isDropdownEmpty = false;\n @State() navigationItem?: DropdownItemWrapper;\n @State() inputFilterText = '';\n @State() inputValue = '';\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n\n private readonly dropdownWrapperRef = makeRef<HTMLElement>();\n private readonly dropdownAnchorRef = makeRef<HTMLElement>();\n private readonly inputRef = makeRef<HTMLInputElement>();\n\n private inputElement?: HTMLInputElement;\n private dropdownElement?: HTMLIxDropdownElement;\n private customItemsContainerElement?: HTMLDivElement;\n private addItemElement?: HTMLIxDropdownItemElement;\n private arrowFocusController?: ArrowFocusController;\n\n private touched = false;\n\n private readonly itemObserver = createMutationObserver(() => {\n if (!this.arrowFocusController) {\n return;\n }\n this.arrowFocusController.items = this.visibleNonShadowItems;\n });\n private readonly focusControllerCallbackBind =\n this.focusDropdownItem.bind(this);\n\n get nonShadowItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-select-item'));\n }\n\n get visibleNonShadowItems() {\n return this.nonShadowItems.filter(\n (item) => !item.classList.contains('display-none')\n );\n }\n\n get shadowItems() {\n return Array.from(\n this.hostElement.shadowRoot!.querySelectorAll('ix-select-item')\n );\n }\n\n get visibleShadowItems() {\n return this.shadowItems.filter(\n (item) => !item.classList.contains('display-none')\n );\n }\n\n get items() {\n return [...this.nonShadowItems, ...this.shadowItems];\n }\n\n get visibleItems() {\n return this.items.filter(\n (item) => !item.classList.contains('display-none')\n );\n }\n\n get selectedItems() {\n return this.items.filter((item) => item.selected);\n }\n\n get addItemButton() {\n return this.hostElement.shadowRoot!.querySelector('.add-item');\n }\n\n get isSingleMode() {\n return this.mode === 'single';\n }\n\n get isMultipleMode() {\n return this.mode === 'multiple';\n }\n\n get isEveryDropdownItemHidden() {\n return this.items.every((item) => item.classList.contains('display-none'));\n }\n\n @Watch('value')\n watchValue(value: string | string[]) {\n this.value = value;\n this.updateSelection();\n }\n\n @Watch('dropdownShow')\n watchDropdownShow(show: boolean) {\n if (show && this.dropdownElement) {\n this.itemObserver.observe(this.dropdownElement, {\n childList: true,\n subtree: true,\n });\n } else {\n this.cleanupResources();\n }\n }\n\n private cleanupResources() {\n this.arrowFocusController?.disconnect();\n this.arrowFocusController = undefined;\n this.itemObserver?.disconnect();\n }\n\n @Listen('itemClick')\n onItemClicked(event: CustomEvent<string>) {\n const newId = event.detail;\n this.itemClick(newId);\n }\n\n updateFormInternalValue(value: string | string[]) {\n if (Array.isArray(value)) {\n this.formInternals.setFormValue(value.join(','));\n } else {\n this.formInternals.setFormValue(value);\n }\n }\n\n /** @internal */\n @Method()\n async hasValidValue(): Promise<boolean> {\n return this.required && !!this.hasValue();\n }\n\n private hasValue() {\n if (Array.isArray(this.value)) {\n return !!this.value.length;\n }\n\n return !!this.value;\n }\n\n private focusDropdownItem(index: number) {\n this.navigationItem = undefined;\n\n if (index < this.visibleNonShadowItems.length) {\n const nestedDropdownItem =\n this.visibleNonShadowItems[index]?.shadowRoot?.querySelector(\n 'ix-dropdown-item'\n );\n\n if (!nestedDropdownItem) {\n return;\n }\n\n requestAnimationFrame(() => {\n nestedDropdownItem?.shadowRoot?.querySelector('button')?.focus();\n });\n }\n }\n\n private itemClick(newId: string) {\n const oldValue = this.value;\n const value = this.toggleValue(newId);\n this.value = value;\n const defaultPrevented = this.emitValueChange(value);\n\n if (defaultPrevented) {\n this.value = oldValue;\n return;\n }\n\n this.updateSelection();\n }\n\n private emitAddItem(value: string) {\n if (value === undefined || value.trim() === '') {\n return false;\n }\n\n const { defaultPrevented } = this.addItem.emit(value);\n if (defaultPrevented) {\n return true;\n }\n\n const newItem = document.createElement('ix-select-item');\n newItem.value = value;\n newItem.label = value;\n\n this.customItemsContainerElement?.appendChild(newItem);\n\n this.clearInput();\n this.itemClick(value);\n\n return false;\n }\n\n private toggleValue(itemValue: string) {\n if (!this.isMultipleMode) {\n return itemValue;\n }\n\n if (!this.value) {\n return [itemValue];\n }\n\n let value = this.value;\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n if (value.includes(itemValue)) {\n return value.filter((value) => value !== itemValue);\n } else {\n return [...value, itemValue];\n }\n }\n\n private updateSelection() {\n let ids: string[] = [];\n\n if (this.value) {\n ids = Array.isArray(this.value) ? [...this.value] : [this.value];\n }\n\n this.items.forEach((item) => {\n item.selected = ids.some((i) => {\n if (typeof i !== typeof item.value) {\n return i.toString() === item.value.toString();\n } else {\n return i === item.value;\n }\n });\n });\n\n this.selectedLabels = this.selectedItems.map((item) => item.label);\n\n if (this.selectedLabels?.length && this.isSingleMode) {\n this.inputValue = this.selectedLabels[0] ?? '';\n } else {\n this.inputValue = '';\n }\n\n this.inputElement && (this.inputElement.value = this.inputValue);\n }\n\n private emitValueChange(value: string | string[]) {\n const { defaultPrevented } = this.valueChange.emit(value);\n\n if (defaultPrevented) {\n return true;\n }\n\n this.updateFormInternalValue(value);\n return false;\n }\n\n componentDidLoad() {\n this.inputElement?.addEventListener('input', () => {\n this.dropdownShow = true;\n this.inputChange.emit(this.inputElement?.value);\n });\n }\n\n componentWillLoad() {\n this.updateSelection();\n this.updateFormInternalValue(this.value);\n }\n\n componentDidRender(): void {\n if (\n !this.dropdownShow ||\n this.arrowFocusController ||\n !this.dropdownElement\n ) {\n return;\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.visibleNonShadowItems,\n this.dropdownElement,\n this.focusControllerCallbackBind\n );\n\n this.arrowFocusController.wrap =\n !this.isAddItemVisible() && !this.visibleShadowItems.length;\n }\n\n @Listen('ix-select-item:valueChange')\n @Listen('ix-select-item:labelChange')\n onLabelChange(event: IxSelectItemLabelChangeEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.updateSelection();\n }\n\n disconnectedCallback() {\n this.cleanupResources();\n }\n\n private itemExists(item: string | undefined) {\n return this.items.find((i) => i.label === item);\n }\n\n private dropdownVisibilityChanged(event: CustomEvent<boolean>) {\n this.dropdownShow = event.detail;\n\n if (event.detail) {\n this.inputElement?.focus();\n this.inputElement?.select();\n\n this.removeHiddenFromItems();\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n } else {\n this.navigationItem = undefined;\n this.updateSelection();\n this.inputFilterText = '';\n }\n }\n\n @OnListener<Select>('keydown', (self) => self.dropdownShow)\n async onKeyDown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n await this.onArrowNavigation(event, event.code);\n }\n\n if (!this.dropdownShow) {\n return;\n }\n\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n await this.onEnterNavigation(event.target as HTMLIxSelectItemElement);\n }\n\n if (event.code === 'Escape') {\n this.dropdownShow = false;\n }\n }\n\n private async onEnterNavigation(\n el: HTMLIxSelectItemElement | HTMLInputElement\n ) {\n if (this.isMultipleMode) {\n return;\n }\n const itemLabel = (el as HTMLIxSelectItemElement)?.label;\n const item = this.itemExists(this.inputFilterText);\n\n if (item) {\n this.itemClick(item.value);\n } else if (this.editable && !this.itemExists(itemLabel)) {\n const defaultPrevented = this.emitAddItem(this.inputFilterText);\n if (defaultPrevented) {\n return;\n }\n }\n\n this.dropdownShow = false;\n this.updateSelection();\n }\n\n private async onArrowNavigation(\n event: KeyboardEvent,\n key: 'ArrowDown' | 'ArrowUp'\n ) {\n if (event.defaultPrevented) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n this.dropdownShow = true;\n\n if (!this.navigationItem && document.activeElement === this.hostElement) {\n if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n const moveUp = key === 'ArrowUp';\n const indexNonShadow = document.activeElement\n ? this.visibleNonShadowItems.indexOf(\n document.activeElement as HTMLIxSelectItemElement\n )\n : -1;\n\n // Slotted select items\n if (indexNonShadow === 0) {\n if (!this.visibleShadowItems.length && this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleShadowItems.pop());\n }\n return;\n } else if (\n indexNonShadow !== -1 &&\n indexNonShadow === this.visibleNonShadowItems.length - 1\n ) {\n if (this.visibleShadowItems.length) {\n this.applyFocusTo(this.visibleShadowItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n if (!this.navigationItem) {\n return;\n }\n\n if (\n this.isAddItemVisible() &&\n this.addItemElement?.contains(\n await this.navigationItem.getDropdownItemElement()\n )\n ) {\n if (moveUp) {\n this.applyFocusTo(this.visibleItems.pop());\n } else if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n }\n return;\n }\n\n // Custom select items\n const indexShadow = this.visibleShadowItems.indexOf(\n this.navigationItem as HTMLIxSelectItemElement\n );\n\n if (moveUp) {\n if (indexShadow === 0) {\n if (this.visibleNonShadowItems.length) {\n this.applyFocusTo(this.visibleNonShadowItems.pop());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow - 1]);\n }\n } else {\n if (indexShadow === this.visibleShadowItems.length - 1) {\n if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleItems.shift());\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow + 1]);\n }\n }\n }\n\n private applyFocusTo(element?: HTMLIxSelectItemElement) {\n if (!element) {\n return;\n }\n\n this.navigationItem = element;\n\n setTimeout(() => {\n element.shadowRoot\n ?.querySelector('ix-dropdown-item')\n ?.shadowRoot?.querySelector('button')\n ?.focus();\n });\n }\n\n private focusAddItemButton() {\n if (this.addItemButton) {\n this.addItemButton.shadowRoot?.querySelector('button')?.focus();\n this.navigationItem = this.addItemElement;\n }\n }\n\n private filterItemsWithTypeahead() {\n this.inputFilterText = this.inputElement?.value.trim() ?? '';\n\n if (this.isSingleMode && this.inputFilterText === this.selectedLabels[0]) {\n return;\n }\n\n if (this.inputFilterText) {\n this.items.forEach((item) => {\n item.classList.remove('display-none');\n if (\n !item.label\n ?.toLowerCase()\n .includes(this.inputFilterText.toLowerCase())\n ) {\n item.classList.add('display-none');\n }\n });\n } else {\n this.removeHiddenFromItems();\n }\n\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.visibleNonShadowItems;\n }\n\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n }\n\n private removeHiddenFromItems() {\n this.items.forEach((item) => {\n item.classList.remove('display-none');\n });\n }\n\n private clearInput() {\n if (this.inputElement) {\n this.inputElement.value = '';\n }\n this.inputFilterText = '';\n }\n\n private clear() {\n this.clearInput();\n this.selectedLabels = [];\n this.value = [];\n this.emitValueChange([]);\n this.dropdownShow = false;\n }\n\n private onInputBlur(event: Event) {\n this.ixBlur.emit();\n this.touched = true;\n\n if (this.editable) {\n return;\n }\n\n if (this.isSingleMode) {\n return;\n }\n\n const target = event.target as HTMLInputElement;\n\n if (!this.dropdownShow && this.mode !== 'multiple') {\n target.value = this.selectedLabels.toString();\n }\n }\n\n private placeholderValue() {\n if (this.disabled) {\n return '';\n }\n\n if (this.readonly) {\n return '';\n }\n\n if (this.editable) {\n return this.i18nPlaceholderEditable;\n }\n\n return this.i18nPlaceholder;\n }\n\n private isAddItemVisible() {\n return (\n !this.itemExists(this.inputFilterText) &&\n this.editable &&\n this.inputFilterText\n );\n }\n\n @HookValidationLifecycle()\n onValidationChange({\n isInvalid,\n isInvalidByRequired,\n isValid,\n isInfo,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired;\n this.isValid = isValid;\n this.isWarning = isWarning;\n this.isInfo = isInfo;\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /**\n * Returns the native input element used in the component.\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n if (this.inputElement) {\n return Promise.resolve(this.inputElement);\n } else {\n return Promise.reject(new Error('Input element not found'));\n }\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n const inputElement = await this.getNativeInputElement();\n if (inputElement) {\n inputElement.focus();\n }\n }\n\n /**\n * Check if the input field has been touched.\n * @internal\n * */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n return (\n <Host\n aria-disabled={a11yBoolean(this.disabled)}\n class={{\n disabled: this.disabled,\n }}\n >\n <ix-field-wrapper\n required={this.required}\n label={this.label}\n helperText={this.helperText}\n invalidText={this.invalidText}\n infoText={this.infoText}\n warningText={this.warningText}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n isInvalid={this.isInvalid}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n controlRef={this.inputRef}\n >\n <div\n class={{\n select: true,\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n ref={(ref) => {\n this.dropdownAnchorRef(ref);\n if (!this.editable) this.dropdownWrapperRef(ref);\n }}\n >\n <div class=\"input-container\">\n <div class=\"chips\">\n {this.isMultipleMode\n ? this.selectedItems?.map((item) => (\n <ix-filter-chip\n disabled={this.disabled || this.readonly}\n key={item.value}\n onCloseClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.itemClick(item.value);\n }}\n >\n {item.label}\n </ix-filter-chip>\n ))\n : ''}\n <div class=\"trigger\">\n <input\n autocomplete=\"off\"\n data-testid=\"input\"\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n type=\"text\"\n class={{\n 'allow-clear':\n this.allowClear && !!this.selectedLabels?.length,\n }}\n placeholder={this.placeholderValue()}\n value={this.inputValue ?? ''}\n ref={(ref) => {\n this.inputElement = ref;\n this.inputRef(ref);\n }}\n onBlur={(e) => this.onInputBlur(e)}\n onFocus={() => {\n this.navigationItem = undefined;\n }}\n onInput={() => this.filterItemsWithTypeahead()}\n onKeyDown={(e) => this.onKeyDown(e)}\n />\n {this.allowClear &&\n !this.disabled &&\n !this.readonly &&\n (this.selectedLabels?.length || this.inputFilterText) ? (\n <ix-icon-button\n key=\"clear\"\n class=\"clear\"\n icon={iconClear}\n ghost\n oval\n size=\"16\"\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.clear();\n }}\n />\n ) : null}\n {this.disabled || this.readonly ? null : (\n <ix-icon-button\n data-select-dropdown\n key=\"dropdown\"\n class={{ 'dropdown-visible': this.dropdownShow }}\n icon={iconChevronDownSmall}\n ghost\n ref={(ref) => {\n if (this.editable) this.dropdownWrapperRef(ref);\n }}\n ></ix-icon-button>\n )}\n </div>\n </div>\n </div>\n </div>\n </ix-field-wrapper>\n <ix-dropdown\n ref={(ref) => (this.dropdownElement = ref!)}\n show={this.dropdownShow}\n closeBehavior={this.isMultipleMode ? 'outside' : 'both'}\n class={{\n 'display-none': this.disabled || this.readonly,\n }}\n anchor={this.dropdownAnchorRef.waitForCurrent()}\n trigger={this.dropdownWrapperRef.waitForCurrent()}\n onShowChanged={(e) => this.dropdownVisibilityChanged(e)}\n placement=\"bottom-start\"\n overwriteDropdownStyle={async () => {\n const styleOverwrites: Partial<CSSStyleDeclaration> = {};\n\n const minWidth = this.hostElement.shadowRoot\n ?.querySelector('.select')\n ?.getBoundingClientRect().width;\n\n if (minWidth) {\n styleOverwrites.minWidth = `${minWidth}px`;\n }\n\n if (this.dropdownWidth) {\n styleOverwrites.width = `min(${this.dropdownWidth}, 100%)`;\n }\n\n if (this.dropdownMaxWidth) {\n styleOverwrites.maxWidth = `min(${this.dropdownMaxWidth}, 100%)`;\n }\n\n return styleOverwrites;\n }}\n >\n <div\n class={{\n 'select-list-header': true,\n hidden: this.hideListHeader || this.isDropdownEmpty,\n }}\n title={this.i18nSelectListHeader}\n onClick={(e) => e.preventDefault()}\n >\n {this.i18nSelectListHeader}\n </div>\n <slot\n onSlotchange={() => {\n this.updateSelection();\n }}\n ></slot>\n <div ref={(ref) => (this.customItemsContainerElement = ref!)}></div>\n {this.isAddItemVisible() ? (\n <ix-dropdown-item\n data-testid=\"add-item\"\n icon={iconPlus}\n class={{\n 'add-item': true,\n }}\n label={this.inputFilterText}\n onItemClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.emitAddItem(this.inputFilterText);\n }}\n onFocus={() => (this.navigationItem = this.addItemElement)}\n ref={(ref) => {\n this.addItemElement = ref!;\n }}\n ></ix-dropdown-item>\n ) : null}\n {this.isDropdownEmpty && !this.editable ? (\n <div class=\"select-list-header\">{this.i18nNoMatches}</div>\n ) : (\n ''\n )}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ix-tree-item.entry.esm.js","sources":["src/components/tree-item/tree-item.scss?tag=ix-tree-item&encapsulation=shadow","src/components/tree-item/tree-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\n@import 'common-variables';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: flex;\n align-items: center;\n\n height: 32px;\n width: 100%;\n\n cursor: pointer;\n\n .tree-node-container {\n @include ellipsis;\n display: flex;\n align-items: center;\n height: $x-large-space;\n flex-grow: 1;\n align-items: center;\n\n .tree-node-text {\n @include ellipsis;\n }\n }\n\n .icon-toggle-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n min-width: 2rem;\n\n ix-icon {\n transition: transform var(--theme-default-time) ease-in-out;\n\n &.icon-toggle-down {\n transform: rotate(90deg);\n }\n }\n }\n}\n\n:host(:not(.disabled):not(:disabled):not(.selected).hover),\n:host(:not(.disabled):not(:disabled):not(.selected):hover) {\n background-color: var(--theme-tree-item--background--hover);\n}\n\n:host(:not(.disabled):not(:disabled):not(.selected).active),\n:host(:not(.disabled):not(:disabled):not(.selected):active) {\n background-color: var(--theme-tree-item--background--active);\n}\n\n:host(.selected) {\n background-color: var(--theme-tree-item--background--selected);\n}\n\n:host(.selected.hover),\n:host(.selected:hover) {\n background-color: var(--theme-tree-item--background--selected-hover);\n}\n\n:host(.selected.active),\n:host(.selected:active) {\n background-color: var(--theme-tree-item--background--selected-active);\n}\n","/*\n * SPDX-FileCopyrightText: 2024 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';\nimport { TreeItemContext } from '../tree/tree-model';\nimport { iconChevronRight } from '@siemens/ix-icons/icons';\n\n@Component({\n tag: 'ix-tree-item',\n styleUrl: 'tree-item.scss',\n shadow: true,\n})\nexport class TreeItem {\n /**\n * Text\n */\n @Prop() text?: string;\n\n /**\n * Has tree item children\n */\n @Prop() hasChildren = false;\n\n /**\n * Context\n */\n @Prop() context?: TreeItemContext;\n\n /**\n * Expand/Collapsed toggled\n */\n @Event() toggle!: EventEmitter<void>;\n\n /**\n * Click on item not on the expand/collapse icon\n */\n @Event() itemClick!: EventEmitter<void>;\n\n render() {\n return (\n <Host\n class={{\n selected: !!this.context?.isSelected,\n }}\n >\n <div
|
|
1
|
+
{"version":3,"file":"ix-tree-item.entry.esm.js","sources":["src/components/tree-item/tree-item.scss?tag=ix-tree-item&encapsulation=shadow","src/components/tree-item/tree-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\n@import 'common-variables';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: flex;\n align-items: center;\n\n height: 32px;\n width: 100%;\n\n cursor: pointer;\n\n .tree-node-container {\n @include ellipsis;\n display: flex;\n align-items: center;\n height: $x-large-space;\n flex-grow: 1;\n align-items: center;\n\n .tree-node-text {\n @include ellipsis;\n }\n }\n\n .icon-toggle-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n min-width: 2rem;\n\n ix-icon {\n transition: transform var(--theme-default-time) ease-in-out;\n\n &.icon-toggle-down {\n transform: rotate(90deg);\n }\n }\n }\n}\n\n:host(:not(.disabled):not(:disabled):not(.selected).hover),\n:host(:not(.disabled):not(:disabled):not(.selected):hover) {\n background-color: var(--theme-tree-item--background--hover);\n}\n\n:host(:not(.disabled):not(:disabled):not(.selected).active),\n:host(:not(.disabled):not(:disabled):not(.selected):active) {\n background-color: var(--theme-tree-item--background--active);\n}\n\n:host(.selected) {\n background-color: var(--theme-tree-item--background--selected);\n}\n\n:host(.selected.hover),\n:host(.selected:hover) {\n background-color: var(--theme-tree-item--background--selected-hover);\n}\n\n:host(.selected.active),\n:host(.selected:active) {\n background-color: var(--theme-tree-item--background--selected-active);\n}\n","/*\n * SPDX-FileCopyrightText: 2024 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';\nimport { TreeItemContext } from '../tree/tree-model';\nimport { iconChevronRight } from '@siemens/ix-icons/icons';\n\n@Component({\n tag: 'ix-tree-item',\n styleUrl: 'tree-item.scss',\n shadow: true,\n})\nexport class TreeItem {\n /**\n * Text\n */\n @Prop() text?: string;\n\n /**\n * Has tree item children\n */\n @Prop() hasChildren = false;\n\n /**\n * Context\n */\n @Prop() context?: TreeItemContext;\n\n /**\n * Expand/Collapsed toggled\n */\n @Event() toggle!: EventEmitter<void>;\n\n /**\n * Click on item not on the expand/collapse icon\n */\n @Event() itemClick!: EventEmitter<void>;\n\n render() {\n return (\n <Host\n class={{\n selected: !!this.context?.isSelected,\n }}\n >\n <div class=\"icon-toggle-container\">\n {this.hasChildren ? (\n <ix-icon\n name={iconChevronRight}\n size=\"16\"\n class={{\n ['icon-toggle-down']: !!this.context?.isExpanded,\n }}\n color={`color-${\n this.context?.isExpanded ? 'primary' : 'std-text'\n }`}\n onClick={(e: Event) => {\n e.preventDefault();\n e.stopPropagation();\n this.toggle.emit();\n }}\n />\n ) : null}\n </div>\n <div\n class=\"tree-node-container\"\n onClick={() => {\n this.itemClick.emit();\n }}\n >\n <div class=\"tree-node-text\">{this.text}</div>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,WAAW,GAAG,8gEAA8gE;;MCkBrhE,QAAQ,GAAA,MAAA;AALrB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;AAWE;;AAEG;AACK,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK;AAuD5B;IAtCC,MAAM,GAAA;;QACJ,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,KAAK,EAAE;AACL,gBAAA,QAAQ,EAAE,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,UAAU,CAAA;AACrC,aAAA,EAAA,EAED,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAA,EAC/B,IAAI,CAAC,WAAW,IACf,CACE,CAAA,SAAA,EAAA,EAAA,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAC,IAAI,EACT,KAAK,EAAE;AACL,gBAAA,CAAC,kBAAkB,GAAG,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,UAAU,CAAA;aACjD,EACD,KAAK,EAAE,CACL,MAAA,EAAA,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,UAAU,IAAG,SAAS,GAAG,UACzC,CAAE,CAAA,EACF,OAAO,EAAE,CAAC,CAAQ,KAAI;gBACpB,CAAC,CAAC,cAAc,EAAE;gBAClB,CAAC,CAAC,eAAe,EAAE;AACnB,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;aACnB,GACD,IACA,IAAI,CACJ,EACN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,qBAAqB,EAC3B,OAAO,EAAE,MAAK;AACZ,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;AACvB,aAAC,EAAA,EAED,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,gBAAgB,IAAE,IAAI,CAAC,IAAI,CAAO,EAC7C,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ix-tree.entry.esm.js","sources":["src/components/utils/lazy-list/lazy.ts","src/components/tree/tree.css?tag=ix-tree&encapsulation=shadow","src/components/tree/tree.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 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// Manually forked from https://github.com/tbranyen/hyperlist to remove\n// features a direct document calls\n//\n// Hyperlist is licensed MIT. https://github.com/tbranyen/hyperlist\n\nexport type VirtualListConfig = {\n applyPatch?: (\n element: HTMLElement,\n fragment: DocumentFragment | DocumentFragment[]\n ) => void;\n overrideScrollPosition?: () => void;\n rowClassName?: string;\n scrollContainer?: HTMLElement;\n width: string;\n height: string;\n afterRender?: () => void;\n scrollerTagName?: string;\n scroller?: HTMLElement;\n useFragment?: boolean;\n generate?: (index: number) => HTMLElement;\n total?: number;\n itemHeight?: number;\n horizontal?: boolean;\n};\n\nconst isNumber = (input: unknown) => !Number.isNaN(Number(input));\n\nconst addClass = (element: HTMLElement, className: string) => {\n element.classList.add(className);\n};\n\nexport class VirtualList {\n _config!: VirtualListConfig;\n _lastRepaint: null;\n _maxElementHeight: number;\n _renderAnimationFrame!: number;\n _averageHeight!: number;\n\n static readonly defaultConfig: VirtualListConfig = {\n width: '100%',\n height: '100%',\n };\n _element: any;\n _scroller: any;\n _itemHeights!: number[];\n _containerSize!: number | string;\n _scrollPaddingBottom!: number;\n _scrollPaddingTop!: number;\n _scrollHeight: any;\n _itemPositions: any;\n _screenItemsLen!: number;\n _lastFrom!: number;\n _cachedItemsLen: any;\n\n static create(\n element: HTMLElement,\n userProvidedConfig: VirtualListConfig = VirtualList.defaultConfig\n ) {\n return new VirtualList(element, userProvidedConfig);\n }\n\n static mergeStyle(element: HTMLElement, style: any) {\n for (let i in style) {\n if (element.style[i as any] !== style[i]) {\n element.style[i as any] = style[i];\n }\n }\n }\n\n static getMaxBrowserHeight() {\n // Create two elements, the wrapper is `1px` tall and is transparent and\n // positioned at the top of the page. Inside that is an element that gets\n // set to 1 billion pixels. Then reads the max height the browser can\n // calculate.\n const wrapper = document.createElement('div');\n const fixture = document.createElement('div');\n\n // As said above, these values get set to put the fixture elements into the\n // right visual state.\n VirtualList.mergeStyle(wrapper, {\n position: 'absolute',\n height: '1px',\n opacity: 0,\n });\n VirtualList.mergeStyle(fixture, { height: '1e7px' });\n\n // Add the fixture into the wrapper element.\n wrapper.appendChild(fixture);\n\n // Apply to the page, the values won't kick in unless this is attached.\n document.body.appendChild(wrapper);\n\n // Get the maximum element height in pixels.\n const maxElementHeight = fixture.offsetHeight;\n\n // Remove the element immediately after reading the value.\n document.body.removeChild(wrapper);\n\n return maxElementHeight;\n }\n\n constructor(element: HTMLElement, userProvidedConfig: VirtualListConfig) {\n this._lastRepaint = null;\n this._maxElementHeight = VirtualList.getMaxBrowserHeight();\n\n this.refresh(element, userProvidedConfig);\n\n const config = this._config;\n\n // Create internal render loop.\n const render = () => {\n const scrollTop = this._getScrollPosition();\n const lastRepaint = this._lastRepaint;\n\n this._renderAnimationFrame = window.requestAnimationFrame(render);\n\n if (scrollTop === lastRepaint) {\n return;\n }\n\n const diff = lastRepaint ? scrollTop - lastRepaint : 0;\n if (!lastRepaint || diff < 0 || diff > this._averageHeight) {\n let rendered = this._renderChunk();\n\n this._lastRepaint = scrollTop;\n\n if (rendered !== false && typeof config.afterRender === 'function') {\n config.afterRender();\n }\n }\n };\n\n render();\n }\n\n destroy() {\n window.cancelAnimationFrame(this._renderAnimationFrame);\n }\n\n refresh(\n element: HTMLElement,\n userProvidedConfig: VirtualListConfig = VirtualList.defaultConfig\n ) {\n this._config = userProvidedConfig;\n\n if (!element || element.nodeType !== 1) {\n throw new Error('HyperList requires a valid DOM Node container');\n }\n\n this._element = element;\n\n const config = this._config as any;\n\n const scroller =\n this._scroller ||\n config.scroller ||\n document.createElement(config.scrollerTagName || 'tr');\n\n // Default configuration option `useFragment` to `true`.\n if (typeof config.useFragment !== 'boolean') {\n this._config.useFragment = true;\n }\n\n if (!config.generate) {\n throw new Error('Missing required `generate` function');\n }\n\n if (!isNumber(config.total)) {\n throw new Error('Invalid required `total` value, expected number');\n }\n\n if (!Array.isArray(config.itemHeight) && !isNumber(config.itemHeight)) {\n throw new Error(\n `\n Invalid required \\`itemHeight\\` value, expected number or array\n `.trim()\n );\n } else if (isNumber(config.itemHeight)) {\n this._itemHeights = Array(config.total).fill(config.itemHeight);\n } else {\n this._itemHeights = [config.itemHeight as any];\n }\n\n // Width and height should be coerced to string representations. Either in\n // `%` or `px`.\n Object.keys(VirtualList.defaultConfig)\n .filter((prop) => prop in config)\n .forEach((prop) => {\n const value = config[prop as any];\n const isValueNumber = isNumber(value);\n\n if (value && typeof value !== 'string' && typeof value !== 'number') {\n let msg = `Invalid optional \\`${prop}\\`, expected string or number`;\n throw new Error(msg);\n } else if (isValueNumber) {\n config[prop] = `${value}px`;\n }\n });\n\n const isHorizontal = Boolean(config.horizontal);\n const value = config[isHorizontal ? 'width' : 'height'];\n\n if (value) {\n const isValueNumber = isNumber(value);\n const isValuePercent = isValueNumber ? false : value.slice(-1) === '%';\n // Compute the containerHeight as number\n const numberValue = isValueNumber\n ? parseInt(value, 10)\n : parseInt(value.replace(/px|%/, ''), 10);\n const innerSize = window[isHorizontal ? 'innerWidth' : 'innerHeight'];\n\n if (isValuePercent) {\n this._containerSize = (innerSize * numberValue) / 100;\n } else {\n this._containerSize = isNumber(value) ? value : numberValue;\n }\n }\n\n const scrollContainer = config.scrollContainer;\n const scrollerHeight = config.itemHeight * config.total;\n const maxElementHeight = this._maxElementHeight;\n\n if (scrollerHeight > maxElementHeight) {\n console.warn(\n [\n 'HyperList: The maximum element height',\n maxElementHeight + 'px has',\n 'been exceeded; please reduce your item height.',\n ].join(' ')\n );\n }\n\n // Decorate the container element with styles that will match\n // the user supplied configuration.\n const elementStyle = {\n width: `${config.width}`,\n height: scrollContainer ? `${scrollerHeight}px` : `${config.height}`,\n overflow: scrollContainer ? 'none' : 'auto',\n position: 'relative',\n };\n\n VirtualList.mergeStyle(element, elementStyle);\n\n if (scrollContainer) {\n VirtualList.mergeStyle(config.scrollContainer, { overflow: 'auto' });\n }\n\n const scrollerStyle = {\n opacity: '0',\n position: 'absolute',\n [isHorizontal ? 'height' : 'width']: '1px',\n [isHorizontal ? 'width' : 'height']: `${scrollerHeight}px`,\n };\n\n VirtualList.mergeStyle(scroller, scrollerStyle);\n\n // Only append the scroller element once.\n if (!this._scroller) {\n element.appendChild(scroller);\n }\n\n const padding = this._computeScrollPadding();\n this._scrollPaddingBottom = padding.bottom;\n this._scrollPaddingTop = padding.top;\n\n // Set the scroller instance.\n this._scroller = scroller;\n this._scrollHeight = this._computeScrollHeight();\n\n // Reuse the item positions if refreshed, otherwise set to empty array.\n this._itemPositions = this._itemPositions || Array(config.total).fill(0);\n\n // Each index in the array should represent the position in the DOM.\n this._computePositions(0);\n\n // Render after refreshing. Force render if we're calling refresh manually.\n this._renderChunk(this._lastRepaint !== null);\n\n if (typeof config.afterRender === 'function') {\n config.afterRender();\n }\n }\n\n _getRow(i: number) {\n const config = this._config as any;\n let item = config.generate(i) as any;\n let height = item.height;\n\n if (height !== undefined && isNumber(height)) {\n item = item.element;\n\n // The height isn't the same as predicted, compute positions again\n if (height !== this._itemHeights[i]) {\n this._itemHeights[i] = height;\n this._computePositions(i);\n this._scrollHeight = this._computeScrollHeight();\n }\n } else {\n height = this._itemHeights[i];\n }\n\n if (!item || item.nodeType !== 1) {\n throw new Error(`Generator did not return a DOM Node for index: ${i}`);\n }\n\n addClass(item, config.rowClassName || 'vrow');\n\n const top = this._itemPositions[i] + this._scrollPaddingTop;\n\n VirtualList.mergeStyle(item, {\n position: 'absolute',\n [config.horizontal ? 'left' : 'top']: `${top}px`,\n });\n\n return item;\n }\n\n _getScrollPosition() {\n const config = this._config;\n\n if (typeof config.overrideScrollPosition === 'function') {\n return config.overrideScrollPosition();\n }\n\n return this._element[config.horizontal ? 'scrollLeft' : 'scrollTop'];\n }\n\n _renderChunk(force: boolean = false) {\n const config = this._config;\n const element = this._element;\n const scrollTop = this._getScrollPosition();\n const total: number = config.total!;\n\n let from = this._getFrom(scrollTop) - 1;\n\n if (from < 0 || from - this._screenItemsLen < 0) {\n from = 0;\n }\n\n if (!force && this._lastFrom === from) {\n return false;\n }\n\n this._lastFrom = from;\n\n let to = from + this._cachedItemsLen;\n\n if (to > total || to + this._cachedItemsLen > total) {\n to = total;\n }\n\n // Append all the new rows in a document fragment that we will later append\n // to the parent node\n const fragment: any = config.useFragment\n ? document.createDocumentFragment()\n : [\n // Sometimes you'll pass fake elements to this tool and Fragments require\n // real elements.\n ];\n\n // The element that forces the container to scroll.\n const scroller = this._scroller;\n\n // Keep the scroller in the list of children.\n fragment[config.useFragment ? 'appendChild' : 'push'](scroller);\n\n for (let i = from; i < to; i++) {\n let row = this._getRow(i);\n\n fragment[config.useFragment ? 'appendChild' : 'push'](row);\n }\n\n if (config.applyPatch) {\n return config.applyPatch(element, fragment);\n }\n\n element.innerHTML = '';\n element.appendChild(fragment);\n }\n\n _computePositions(from = 1) {\n const config = this._config;\n const total = config.total!;\n\n if (from < 1) {\n from = 1;\n }\n\n for (let i = from; i < total; i++) {\n this._itemPositions[i] =\n this._itemHeights[i - 1] + this._itemPositions[i - 1];\n }\n }\n\n _computeScrollHeight() {\n const config = this._config as any;\n const isHorizontal = Boolean(config.horizontal);\n const total = config.total;\n const scrollHeight =\n this._itemHeights.reduce((a, b) => a + b, 0) +\n this._scrollPaddingBottom +\n this._scrollPaddingTop;\n\n VirtualList.mergeStyle(this._scroller, {\n opacity: 0,\n position: 'absolute',\n top: '0px',\n [isHorizontal ? 'height' : 'width']: '1px',\n [isHorizontal ? 'width' : 'height']: `${scrollHeight}px`,\n });\n\n // Calculate the height median\n const sortedItemHeights = this._itemHeights.slice(0).sort((a, b) => a - b);\n const middle = Math.floor(total / 2);\n const averageHeight =\n total % 2 === 0\n ? (sortedItemHeights[middle] + sortedItemHeights[middle - 1]) / 2\n : sortedItemHeights[middle];\n\n const clientProp = isHorizontal ? 'clientWidth' : 'clientHeight';\n const element = config.scrollContainer\n ? config.scrollContainer\n : this._element;\n const containerHeight = element[clientProp]\n ? element[clientProp]\n : this._containerSize;\n this._screenItemsLen = Math.ceil(containerHeight / averageHeight);\n this._containerSize = containerHeight;\n\n // Cache 3 times the number of items that fit in the container viewport.\n this._cachedItemsLen = Math.max(\n this._cachedItemsLen || 0,\n this._screenItemsLen * 3\n );\n this._averageHeight = averageHeight;\n\n return scrollHeight;\n }\n\n _computeScrollPadding() {\n const config = this._config;\n const isHoriz = Boolean(config.horizontal);\n const styles = window.getComputedStyle(this._element);\n\n const padding = (location: string) => {\n const cssValue = styles.getPropertyValue(`padding-${location}`);\n return parseInt(cssValue, 10) || 0;\n };\n\n if (isHoriz) {\n return {\n bottom: padding('right'),\n top: padding('left'),\n };\n } else {\n return {\n bottom: padding('bottom'),\n top: padding('top'),\n };\n }\n }\n\n _getFrom(scrollTop: number) {\n let i = 0;\n\n while (this._itemPositions[i] < scrollTop) {\n i++;\n }\n\n return i;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 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: block;\n}\n","/*\n * SPDX-FileCopyrightText: 2024 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 {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { VirtualList, VirtualListConfig } from './../utils/lazy-list';\nimport { renderDefaultItem } from '../tree-item/default-tree-item';\nimport {\n TreeContext,\n TreeItem,\n TreeItemContext,\n TreeItemVisual,\n TreeModel,\n UpdateCallback,\n} from './tree-model';\nimport { dropdownController } from '../dropdown/dropdown-controller';\n\n@Component({\n tag: 'ix-tree',\n styleUrl: 'tree.css',\n shadow: true,\n})\nexport class Tree {\n @Element() hostElement!: HTMLIxTreeElement;\n\n /**\n * Initial root element will not be rendered\n */\n @Prop() root!: string;\n\n /**\n * Tree model\n */\n @Prop() model: TreeModel<any> = {};\n\n /**\n * Render function of tree items\n */\n @Prop() renderItem?: <T = any>(\n index: number,\n data: T,\n dataList: Array<T>,\n context: TreeContext,\n update: (callback: UpdateCallback) => void\n ) => HTMLElement;\n\n /**\n * Selection and collapsed state management\n */\n @Prop({ mutable: true }) context: TreeContext = {};\n\n /**\n * Context changed\n */\n @Event() contextChange!: EventEmitter<TreeContext>;\n\n /**\n * Node toggled event\n * @since 1.5.0\n */\n @Event() nodeToggled!: EventEmitter<{ id: string; isExpaned: boolean }>;\n\n /**\n * Node clicked event\n * @since 1.5.0\n */\n @Event() nodeClicked!: EventEmitter<string>;\n\n /**\n * Emits removed nodes\n */\n @Event() nodeRemoved!: EventEmitter<any>;\n\n private hyperlist?: VirtualList;\n\n private toggleListener = new Map<HTMLElement, Function>();\n private itemClickListener = new Map<HTMLElement, Function>();\n private updates = new Map<string, UpdateCallback>();\n private observer!: MutationObserver;\n private hasFirstRender = false;\n\n private updatePadding(element: HTMLElement, item: TreeItemVisual<unknown>) {\n element.style.paddingLeft = item.level + 'rem';\n }\n\n private getVirtualizerOptions(): VirtualListConfig {\n const list = this.buildTreeList(this.model[this.root]);\n\n let setToggleListener = (\n item: TreeItemVisual<any>,\n el: HTMLElement,\n index: number\n ) => {\n if (item.hasChildren && !this.toggleListener.has(el)) {\n const toggleCallback = (e: Event) => {\n e.preventDefault();\n e.stopPropagation();\n const context = this.getContext(list[index].id);\n context.isExpanded = !context.isExpanded;\n this.nodeToggled.emit({ id: item.id, isExpaned: context.isExpanded });\n this.setContext(item.id, context);\n };\n el.addEventListener('toggle', toggleCallback);\n this.toggleListener.set(el, toggleCallback);\n }\n };\n\n return {\n width: '100%',\n height: '100%',\n itemHeight: 32,\n total: list.length,\n generate: (index: number) => {\n const item = list[index];\n\n const renderedTreeItem = this.hostElement.querySelector(\n `[data-tree-node-id=\"${item.id}\"]`\n ) as HTMLIxTreeItemElement;\n\n const context = this.getContext(item.id);\n\n if (renderedTreeItem) {\n renderedTreeItem.hasChildren = item.hasChildren;\n renderedTreeItem.context = { ...context };\n\n setToggleListener(item, renderedTreeItem, index);\n\n if (this.updates.has(item.id)) {\n const doUpdate = this.updates.get(item.id);\n\n if (doUpdate) {\n doUpdate(item, { ...this.context });\n }\n }\n\n this.updatePadding(renderedTreeItem, item);\n return renderedTreeItem;\n }\n\n const update = (callback: UpdateCallback) => {\n this.updates.set(item.id, callback);\n };\n\n let innerElement: HTMLElement | null = null;\n if (this.renderItem) {\n innerElement = this.renderItem(\n index,\n item,\n list,\n { ...this.context },\n update\n );\n }\n\n if (innerElement === null) {\n innerElement = renderDefaultItem(item, context, update);\n }\n\n const el = innerElement;\n el.setAttribute('data-tree-node-id', item.id);\n el.style.paddingRight = '1rem';\n this.updatePadding(el, item);\n\n if (!this.itemClickListener.has(el)) {\n const itemClickCallback = (event: Event) => {\n const path = event.composedPath();\n const treeIndex = path.indexOf(this.hostElement);\n const treePath = path.slice(0, treeIndex);\n const hasTrigger = dropdownController.pathIncludesTrigger(treePath);\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (hasTrigger) {\n return;\n }\n\n Object.values(this.context).forEach((c) => (c.isSelected = false));\n const context = this.getContext(item.id);\n context.isSelected = true;\n this.setContext(item.id, context);\n this.nodeClicked.emit(item.id);\n };\n el.addEventListener('toggle', (event) => {\n event.preventDefault();\n });\n el.addEventListener('click', itemClickCallback);\n this.itemClickListener.set(el, itemClickCallback);\n }\n\n setToggleListener(item, el, index);\n\n return el;\n },\n };\n }\n\n private setContext(id: string, context: TreeItemContext) {\n this.context = {\n ...this.context,\n [id]: context,\n };\n\n this.contextChange.emit(this.context);\n }\n\n private getContext(id: string): TreeItemContext {\n if (!this.context) {\n return {\n isExpanded: false,\n isSelected: false,\n };\n }\n if (!this.context[id]) {\n this.context[id] = {\n isExpanded: false,\n isSelected: false,\n };\n }\n return this.context[id];\n }\n\n private buildTreeList(\n root: TreeItem<any>,\n level: number = 0\n ): TreeItemVisual<any>[] {\n const itemList: TreeItemVisual<any>[] = [];\n\n if (root?.hasChildren) {\n const newLevel = level + 1;\n root.children.forEach((id: string) => {\n const item = this.model[id];\n const context = this.getContext(id);\n itemList.push({ ...item, level });\n if (item.hasChildren && context.isExpanded) {\n itemList.push(...this.buildTreeList(item, newLevel));\n }\n });\n }\n\n return itemList;\n }\n\n componentDidLoad() {\n this.initList();\n\n this.observer = new MutationObserver((records) => {\n let removed: unknown[] = [];\n\n records.forEach((record) => {\n removed = [...removed, ...Array.from(record.removedNodes)];\n\n record.addedNodes.forEach((an) => {\n const index = removed.indexOf(an);\n if (index >= 0) {\n removed.splice(index, 1);\n }\n });\n });\n\n this.nodeRemoved.emit(removed);\n });\n\n this.observer.observe(this.hostElement, {\n childList: true,\n });\n }\n\n componentWillRender() {\n this.hasFirstRender = true;\n\n if (this.isListInitialized()) {\n this.refreshList();\n } else {\n this.initList();\n }\n }\n\n disconnectedCallback() {\n this.hyperlist?.destroy();\n this.observer?.disconnect();\n }\n\n @Watch('model')\n modelChange() {\n if (this.hasFirstRender && !this.isListInitialized()) {\n this.initList();\n }\n }\n\n private isListInitialized() {\n //@ts-ignore\n const itemPositions = this.hyperlist?._itemPositions;\n\n return (\n itemPositions !== undefined &&\n itemPositions.length &&\n !itemPositions?.some(\n (item: number) => item === undefined || Number.isNaN(item)\n )\n );\n }\n\n private refreshList() {\n if (this.hyperlist) {\n this.hyperlist.refresh(this.hostElement, this.getVirtualizerOptions());\n }\n }\n\n private initList() {\n if (!this.model) {\n return;\n }\n\n this.hyperlist?.destroy();\n const config = this.getVirtualizerOptions();\n this.hyperlist = new VirtualList(this.hostElement, config);\n }\n\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ix-tree.entry.esm.js","sources":["src/components/utils/lazy-list/lazy.ts","src/components/tree/tree.css?tag=ix-tree&encapsulation=shadow","src/components/tree/tree.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 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// Manually forked from https://github.com/tbranyen/hyperlist to remove\n// features a direct document calls\n//\n// Hyperlist is licensed MIT. https://github.com/tbranyen/hyperlist\n\nexport type VirtualListConfig = {\n applyPatch?: (\n element: HTMLElement,\n fragment: DocumentFragment | DocumentFragment[]\n ) => void;\n overrideScrollPosition?: () => void;\n rowClassName?: string;\n scrollContainer?: HTMLElement;\n width: string;\n height: string;\n afterRender?: () => void;\n scrollerTagName?: string;\n scroller?: HTMLElement;\n useFragment?: boolean;\n generate?: (index: number) => HTMLElement;\n total?: number;\n itemHeight?: number;\n horizontal?: boolean;\n};\n\nconst isNumber = (input: unknown) => !Number.isNaN(Number(input));\n\nconst addClass = (element: HTMLElement, className: string) => {\n element.classList.add(className);\n};\n\nexport class VirtualList {\n _config!: VirtualListConfig;\n _lastRepaint: null;\n _maxElementHeight: number;\n _renderAnimationFrame!: number;\n _averageHeight!: number;\n\n static readonly defaultConfig: VirtualListConfig = {\n width: '100%',\n height: '100%',\n };\n _element: any;\n _scroller: any;\n _itemHeights!: number[];\n _containerSize!: number | string;\n _scrollPaddingBottom!: number;\n _scrollPaddingTop!: number;\n _scrollHeight: any;\n _itemPositions: any;\n _screenItemsLen!: number;\n _lastFrom!: number;\n _cachedItemsLen: any;\n\n static create(\n element: HTMLElement,\n userProvidedConfig: VirtualListConfig = VirtualList.defaultConfig\n ) {\n return new VirtualList(element, userProvidedConfig);\n }\n\n static mergeStyle(element: HTMLElement, style: any) {\n for (let i in style) {\n if (element.style[i as any] !== style[i]) {\n element.style[i as any] = style[i];\n }\n }\n }\n\n static getMaxBrowserHeight() {\n // Create two elements, the wrapper is `1px` tall and is transparent and\n // positioned at the top of the page. Inside that is an element that gets\n // set to 1 billion pixels. Then reads the max height the browser can\n // calculate.\n const wrapper = document.createElement('div');\n const fixture = document.createElement('div');\n\n // As said above, these values get set to put the fixture elements into the\n // right visual state.\n VirtualList.mergeStyle(wrapper, {\n position: 'absolute',\n height: '1px',\n opacity: 0,\n });\n VirtualList.mergeStyle(fixture, { height: '1e7px' });\n\n // Add the fixture into the wrapper element.\n wrapper.appendChild(fixture);\n\n // Apply to the page, the values won't kick in unless this is attached.\n document.body.appendChild(wrapper);\n\n // Get the maximum element height in pixels.\n const maxElementHeight = fixture.offsetHeight;\n\n // Remove the element immediately after reading the value.\n document.body.removeChild(wrapper);\n\n return maxElementHeight;\n }\n\n constructor(element: HTMLElement, userProvidedConfig: VirtualListConfig) {\n this._lastRepaint = null;\n this._maxElementHeight = VirtualList.getMaxBrowserHeight();\n\n this.refresh(element, userProvidedConfig);\n\n const config = this._config;\n\n // Create internal render loop.\n const render = () => {\n const scrollTop = this._getScrollPosition();\n const lastRepaint = this._lastRepaint;\n\n this._renderAnimationFrame = window.requestAnimationFrame(render);\n\n if (scrollTop === lastRepaint) {\n return;\n }\n\n const diff = lastRepaint ? scrollTop - lastRepaint : 0;\n if (!lastRepaint || diff < 0 || diff > this._averageHeight) {\n let rendered = this._renderChunk();\n\n this._lastRepaint = scrollTop;\n\n if (rendered !== false && typeof config.afterRender === 'function') {\n config.afterRender();\n }\n }\n };\n\n render();\n }\n\n destroy() {\n window.cancelAnimationFrame(this._renderAnimationFrame);\n }\n\n refresh(\n element: HTMLElement,\n userProvidedConfig: VirtualListConfig = VirtualList.defaultConfig\n ) {\n this._config = userProvidedConfig;\n\n if (!element || element.nodeType !== 1) {\n throw new Error('HyperList requires a valid DOM Node container');\n }\n\n this._element = element;\n\n const config = this._config as any;\n\n const scroller =\n this._scroller ||\n config.scroller ||\n document.createElement(config.scrollerTagName || 'tr');\n\n // Default configuration option `useFragment` to `true`.\n if (typeof config.useFragment !== 'boolean') {\n this._config.useFragment = true;\n }\n\n if (!config.generate) {\n throw new Error('Missing required `generate` function');\n }\n\n if (!isNumber(config.total)) {\n throw new Error('Invalid required `total` value, expected number');\n }\n\n if (!Array.isArray(config.itemHeight) && !isNumber(config.itemHeight)) {\n throw new Error(\n `\n Invalid required \\`itemHeight\\` value, expected number or array\n `.trim()\n );\n } else if (isNumber(config.itemHeight)) {\n this._itemHeights = Array(config.total).fill(config.itemHeight);\n } else {\n this._itemHeights = [config.itemHeight as any];\n }\n\n // Width and height should be coerced to string representations. Either in\n // `%` or `px`.\n Object.keys(VirtualList.defaultConfig)\n .filter((prop) => prop in config)\n .forEach((prop) => {\n const value = config[prop as any];\n const isValueNumber = isNumber(value);\n\n if (value && typeof value !== 'string' && typeof value !== 'number') {\n let msg = `Invalid optional \\`${prop}\\`, expected string or number`;\n throw new Error(msg);\n } else if (isValueNumber) {\n config[prop] = `${value}px`;\n }\n });\n\n const isHorizontal = Boolean(config.horizontal);\n const value = config[isHorizontal ? 'width' : 'height'];\n\n if (value) {\n const isValueNumber = isNumber(value);\n const isValuePercent = isValueNumber ? false : value.slice(-1) === '%';\n // Compute the containerHeight as number\n const numberValue = isValueNumber\n ? parseInt(value, 10)\n : parseInt(value.replace(/px|%/, ''), 10);\n const innerSize = window[isHorizontal ? 'innerWidth' : 'innerHeight'];\n\n if (isValuePercent) {\n this._containerSize = (innerSize * numberValue) / 100;\n } else {\n this._containerSize = isNumber(value) ? value : numberValue;\n }\n }\n\n const scrollContainer = config.scrollContainer;\n const scrollerHeight = config.itemHeight * config.total;\n const maxElementHeight = this._maxElementHeight;\n\n if (scrollerHeight > maxElementHeight) {\n console.warn(\n [\n 'HyperList: The maximum element height',\n maxElementHeight + 'px has',\n 'been exceeded; please reduce your item height.',\n ].join(' ')\n );\n }\n\n // Decorate the container element with styles that will match\n // the user supplied configuration.\n const elementStyle = {\n width: `${config.width}`,\n height: scrollContainer ? `${scrollerHeight}px` : `${config.height}`,\n overflow: scrollContainer ? 'none' : 'auto',\n position: 'relative',\n };\n\n VirtualList.mergeStyle(element, elementStyle);\n\n if (scrollContainer) {\n VirtualList.mergeStyle(config.scrollContainer, { overflow: 'auto' });\n }\n\n const scrollerStyle = {\n opacity: '0',\n position: 'absolute',\n [isHorizontal ? 'height' : 'width']: '1px',\n [isHorizontal ? 'width' : 'height']: `${scrollerHeight}px`,\n };\n\n VirtualList.mergeStyle(scroller, scrollerStyle);\n\n // Only append the scroller element once.\n if (!this._scroller) {\n element.appendChild(scroller);\n }\n\n const padding = this._computeScrollPadding();\n this._scrollPaddingBottom = padding.bottom;\n this._scrollPaddingTop = padding.top;\n\n // Set the scroller instance.\n this._scroller = scroller;\n this._scrollHeight = this._computeScrollHeight();\n\n // Reuse the item positions if refreshed, otherwise set to empty array.\n this._itemPositions = this._itemPositions || Array(config.total).fill(0);\n\n // Each index in the array should represent the position in the DOM.\n this._computePositions(0);\n\n // Render after refreshing. Force render if we're calling refresh manually.\n this._renderChunk(this._lastRepaint !== null);\n\n if (typeof config.afterRender === 'function') {\n config.afterRender();\n }\n }\n\n _getRow(i: number) {\n const config = this._config as any;\n let item = config.generate(i) as any;\n let height = item.height;\n\n if (height !== undefined && isNumber(height)) {\n item = item.element;\n\n // The height isn't the same as predicted, compute positions again\n if (height !== this._itemHeights[i]) {\n this._itemHeights[i] = height;\n this._computePositions(i);\n this._scrollHeight = this._computeScrollHeight();\n }\n } else {\n height = this._itemHeights[i];\n }\n\n if (!item || item.nodeType !== 1) {\n throw new Error(`Generator did not return a DOM Node for index: ${i}`);\n }\n\n addClass(item, config.rowClassName || 'vrow');\n\n const top = this._itemPositions[i] + this._scrollPaddingTop;\n\n VirtualList.mergeStyle(item, {\n position: 'absolute',\n [config.horizontal ? 'left' : 'top']: `${top}px`,\n });\n\n return item;\n }\n\n _getScrollPosition() {\n const config = this._config;\n\n if (typeof config.overrideScrollPosition === 'function') {\n return config.overrideScrollPosition();\n }\n\n return this._element[config.horizontal ? 'scrollLeft' : 'scrollTop'];\n }\n\n _renderChunk(force: boolean = false) {\n const config = this._config;\n const element = this._element;\n const scrollTop = this._getScrollPosition();\n const total: number = config.total!;\n\n let from = this._getFrom(scrollTop) - 1;\n\n if (from < 0 || from - this._screenItemsLen < 0) {\n from = 0;\n }\n\n if (!force && this._lastFrom === from) {\n return false;\n }\n\n this._lastFrom = from;\n\n let to = from + this._cachedItemsLen;\n\n if (to > total || to + this._cachedItemsLen > total) {\n to = total;\n }\n\n // Append all the new rows in a document fragment that we will later append\n // to the parent node\n const fragment: any = config.useFragment\n ? document.createDocumentFragment()\n : [\n // Sometimes you'll pass fake elements to this tool and Fragments require\n // real elements.\n ];\n\n // The element that forces the container to scroll.\n const scroller = this._scroller;\n\n // Keep the scroller in the list of children.\n fragment[config.useFragment ? 'appendChild' : 'push'](scroller);\n\n for (let i = from; i < to; i++) {\n let row = this._getRow(i);\n\n fragment[config.useFragment ? 'appendChild' : 'push'](row);\n }\n\n if (config.applyPatch) {\n return config.applyPatch(element, fragment);\n }\n\n element.innerHTML = '';\n element.appendChild(fragment);\n }\n\n _computePositions(from = 1) {\n const config = this._config;\n const total = config.total!;\n\n if (from < 1) {\n from = 1;\n }\n\n for (let i = from; i < total; i++) {\n this._itemPositions[i] =\n this._itemHeights[i - 1] + this._itemPositions[i - 1];\n }\n }\n\n _computeScrollHeight() {\n const config = this._config as any;\n const isHorizontal = Boolean(config.horizontal);\n const total = config.total;\n const scrollHeight =\n this._itemHeights.reduce((a, b) => a + b, 0) +\n this._scrollPaddingBottom +\n this._scrollPaddingTop;\n\n VirtualList.mergeStyle(this._scroller, {\n opacity: 0,\n position: 'absolute',\n top: '0px',\n [isHorizontal ? 'height' : 'width']: '1px',\n [isHorizontal ? 'width' : 'height']: `${scrollHeight}px`,\n });\n\n // Calculate the height median\n const sortedItemHeights = this._itemHeights.slice(0).sort((a, b) => a - b);\n const middle = Math.floor(total / 2);\n const averageHeight =\n total % 2 === 0\n ? (sortedItemHeights[middle] + sortedItemHeights[middle - 1]) / 2\n : sortedItemHeights[middle];\n\n const clientProp = isHorizontal ? 'clientWidth' : 'clientHeight';\n const element = config.scrollContainer\n ? config.scrollContainer\n : this._element;\n const containerHeight = element[clientProp]\n ? element[clientProp]\n : this._containerSize;\n this._screenItemsLen = Math.ceil(containerHeight / averageHeight);\n this._containerSize = containerHeight;\n\n // Cache 3 times the number of items that fit in the container viewport.\n this._cachedItemsLen = Math.max(\n this._cachedItemsLen || 0,\n this._screenItemsLen * 3\n );\n this._averageHeight = averageHeight;\n\n return scrollHeight;\n }\n\n _computeScrollPadding() {\n const config = this._config;\n const isHoriz = Boolean(config.horizontal);\n const styles = window.getComputedStyle(this._element);\n\n const padding = (location: string) => {\n const cssValue = styles.getPropertyValue(`padding-${location}`);\n return parseInt(cssValue, 10) || 0;\n };\n\n if (isHoriz) {\n return {\n bottom: padding('right'),\n top: padding('left'),\n };\n } else {\n return {\n bottom: padding('bottom'),\n top: padding('top'),\n };\n }\n }\n\n _getFrom(scrollTop: number) {\n let i = 0;\n\n while (this._itemPositions[i] < scrollTop) {\n i++;\n }\n\n return i;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 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: block;\n}\n","/*\n * SPDX-FileCopyrightText: 2024 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 {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { VirtualList, VirtualListConfig } from './../utils/lazy-list';\nimport { renderDefaultItem } from '../tree-item/default-tree-item';\nimport {\n TreeContext,\n TreeItem,\n TreeItemContext,\n TreeItemVisual,\n TreeModel,\n UpdateCallback,\n} from './tree-model';\nimport { dropdownController } from '../dropdown/dropdown-controller';\n\n@Component({\n tag: 'ix-tree',\n styleUrl: 'tree.css',\n shadow: true,\n})\nexport class Tree {\n @Element() hostElement!: HTMLIxTreeElement;\n\n /**\n * Initial root element will not be rendered\n */\n @Prop() root!: string;\n\n /**\n * Tree model\n */\n @Prop() model: TreeModel<any> = {};\n\n /**\n * Render function of tree items\n */\n @Prop() renderItem?: <T = any>(\n index: number,\n data: T,\n dataList: Array<T>,\n context: TreeContext,\n update: (callback: UpdateCallback) => void\n ) => HTMLElement;\n\n /**\n * Selection and collapsed state management\n */\n @Prop({ mutable: true }) context: TreeContext = {};\n\n /**\n * Enable to toggle items by click on the item\n * @since 3.0.0\n */\n @Prop() toggleOnItemClick?: boolean;\n\n /**\n * Context changed\n */\n @Event() contextChange!: EventEmitter<TreeContext>;\n\n /**\n * Node toggled event\n * @since 1.5.0\n */\n @Event() nodeToggled!: EventEmitter<{ id: string; isExpaned: boolean }>;\n\n /**\n * Node clicked event\n * @since 1.5.0\n */\n @Event() nodeClicked!: EventEmitter<string>;\n\n /**\n * Emits removed nodes\n */\n @Event() nodeRemoved!: EventEmitter<any>;\n\n private hyperlist?: VirtualList;\n\n private toggleListener = new Map<HTMLElement, Function>();\n private itemClickListener = new Map<HTMLElement, Function>();\n private updates = new Map<string, UpdateCallback>();\n private observer!: MutationObserver;\n private hasFirstRender = false;\n\n private updatePadding(element: HTMLElement, item: TreeItemVisual<unknown>) {\n element.style.paddingLeft = item.level + 'rem';\n }\n\n private getVirtualizerOptions(): VirtualListConfig {\n const list = this.buildTreeList(this.model[this.root]);\n\n let setToggleListener = (\n item: TreeItemVisual<any>,\n el: HTMLElement,\n index: number\n ) => {\n if (item.hasChildren && !this.toggleListener.has(el)) {\n const toggleCallback = (e: Event) => {\n e.preventDefault();\n e.stopPropagation();\n const context = this.getContext(list[index].id);\n context.isExpanded = !context.isExpanded;\n this.nodeToggled.emit({ id: item.id, isExpaned: context.isExpanded });\n this.setContext(item.id, context);\n };\n el.addEventListener('toggle', toggleCallback);\n this.toggleListener.set(el, toggleCallback);\n }\n };\n\n return {\n width: '100%',\n height: '100%',\n itemHeight: 32,\n total: list.length,\n generate: (index: number) => {\n const item = list[index];\n\n const renderedTreeItem = this.hostElement.querySelector(\n `[data-tree-node-id=\"${item.id}\"]`\n ) as HTMLIxTreeItemElement;\n\n const context = this.getContext(item.id);\n\n if (renderedTreeItem) {\n renderedTreeItem.hasChildren = item.hasChildren;\n renderedTreeItem.context = { ...context };\n\n setToggleListener(item, renderedTreeItem, index);\n\n if (this.updates.has(item.id)) {\n const doUpdate = this.updates.get(item.id);\n\n if (doUpdate) {\n doUpdate(item, { ...this.context });\n }\n }\n\n this.updatePadding(renderedTreeItem, item);\n return renderedTreeItem;\n }\n\n const update = (callback: UpdateCallback) => {\n this.updates.set(item.id, callback);\n };\n\n let innerElement: HTMLElement | null = null;\n if (this.renderItem) {\n innerElement = this.renderItem(\n index,\n item,\n list,\n { ...this.context },\n update\n );\n }\n\n if (innerElement === null) {\n innerElement = renderDefaultItem(item, context, update);\n }\n\n const el = innerElement;\n el.setAttribute('data-tree-node-id', item.id);\n el.style.paddingRight = '1rem';\n this.updatePadding(el, item);\n\n if (!this.itemClickListener.has(el)) {\n const itemClickCallback = (event: Event) => {\n const path = event.composedPath();\n const treeIndex = path.indexOf(this.hostElement);\n const treePath = path.slice(0, treeIndex);\n const hasTrigger = dropdownController.pathIncludesTrigger(treePath);\n\n if (hasTrigger) {\n return;\n }\n\n if (!event.defaultPrevented) {\n Object.values(this.context).forEach(\n (c) => (c.isSelected = false)\n );\n const context = this.getContext(item.id);\n context.isSelected = true;\n this.setContext(item.id, context);\n }\n\n if (this.toggleOnItemClick && item.hasChildren) {\n const context = this.getContext(item.id);\n context.isExpanded = !context.isExpanded;\n this.nodeToggled.emit({\n id: item.id,\n isExpaned: context.isExpanded,\n });\n this.setContext(item.id, context);\n }\n\n this.nodeClicked.emit(item.id);\n };\n el.addEventListener('toggle', (event) => {\n event.preventDefault();\n });\n el.addEventListener('click', itemClickCallback);\n this.itemClickListener.set(el, itemClickCallback);\n }\n\n setToggleListener(item, el, index);\n\n return el;\n },\n };\n }\n\n private setContext(id: string, context: TreeItemContext) {\n this.context = {\n ...this.context,\n [id]: context,\n };\n\n this.contextChange.emit(this.context);\n }\n\n private getContext(id: string): TreeItemContext {\n if (!this.context) {\n return {\n isExpanded: false,\n isSelected: false,\n };\n }\n if (!this.context[id]) {\n this.context[id] = {\n isExpanded: false,\n isSelected: false,\n };\n }\n return this.context[id];\n }\n\n private buildTreeList(\n root: TreeItem<any>,\n level: number = 0\n ): TreeItemVisual<any>[] {\n const itemList: TreeItemVisual<any>[] = [];\n\n if (root?.hasChildren) {\n const newLevel = level + 1;\n root.children.forEach((id: string) => {\n const item = this.model[id];\n const context = this.getContext(id);\n itemList.push({ ...item, level });\n if (item.hasChildren && context.isExpanded) {\n itemList.push(...this.buildTreeList(item, newLevel));\n }\n });\n }\n\n return itemList;\n }\n\n componentDidLoad() {\n this.initList();\n\n this.observer = new MutationObserver((records) => {\n let removed: unknown[] = [];\n\n records.forEach((record) => {\n removed = [...removed, ...Array.from(record.removedNodes)];\n\n record.addedNodes.forEach((an) => {\n const index = removed.indexOf(an);\n if (index >= 0) {\n removed.splice(index, 1);\n }\n });\n });\n\n this.nodeRemoved.emit(removed);\n });\n\n this.observer.observe(this.hostElement, {\n childList: true,\n });\n }\n\n componentWillRender() {\n this.hasFirstRender = true;\n\n if (this.isListInitialized()) {\n this.refreshList();\n } else {\n this.initList();\n }\n }\n\n connectedCallback() {\n if (this.hasFirstRender) {\n this.initList();\n }\n }\n\n disconnectedCallback() {\n this.hyperlist?.destroy();\n this.observer?.disconnect();\n }\n\n @Watch('model')\n modelChange() {\n if (this.hasFirstRender && !this.isListInitialized()) {\n this.initList();\n }\n }\n\n private isListInitialized() {\n //@ts-ignore\n const itemPositions = this.hyperlist?._itemPositions;\n\n return (\n itemPositions !== undefined &&\n itemPositions.length &&\n !itemPositions?.some(\n (item: number) => item === undefined || Number.isNaN(item)\n )\n );\n }\n\n private refreshList() {\n if (this.hyperlist) {\n this.hyperlist.refresh(this.hostElement, this.getVirtualizerOptions());\n }\n }\n\n private initList() {\n if (!this.model) {\n return;\n }\n\n this.hyperlist?.destroy();\n const config = this.getVirtualizerOptions();\n this.hyperlist = new VirtualList(this.hostElement, config);\n }\n\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;AAAA;;;;;;;AAOG;AACH;AACA;AACA;AACA;AAsBA,MAAM,QAAQ,GAAG,CAAC,KAAc,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEjE,MAAM,QAAQ,GAAG,CAAC,OAAoB,EAAE,SAAiB,KAAI;AAC3D,IAAA,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;AAClC,CAAC;MAEY,WAAW,CAAA;IAuBtB,OAAO,MAAM,CACX,OAAoB,EACpB,kBAAwC,GAAA,WAAW,CAAC,aAAa,EAAA;AAEjE,QAAA,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,kBAAkB,CAAC;;AAGrD,IAAA,OAAO,UAAU,CAAC,OAAoB,EAAE,KAAU,EAAA;AAChD,QAAA,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;AACnB,YAAA,IAAI,OAAO,CAAC,KAAK,CAAC,CAAQ,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE;gBACxC,OAAO,CAAC,KAAK,CAAC,CAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;;;;AAKxC,IAAA,OAAO,mBAAmB,GAAA;;;;;QAKxB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;;;AAI7C,QAAA,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE;AAC9B,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,OAAO,EAAE,CAAC;AACX,SAAA,CAAC;QACF,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;;AAGpD,QAAA,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;;AAG5B,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;;AAGlC,QAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY;;AAG7C,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AAElC,QAAA,OAAO,gBAAgB;;IAGzB,WAAY,CAAA,OAAoB,EAAE,kBAAqC,EAAA;AACrE,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,QAAA,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,mBAAmB,EAAE;AAE1D,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC;AAEzC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO;;QAG3B,MAAM,MAAM,GAAG,MAAK;AAClB,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE;AAC3C,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY;YAErC,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC;AAEjE,YAAA,IAAI,SAAS,KAAK,WAAW,EAAE;gBAC7B;;AAGF,YAAA,MAAM,IAAI,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,CAAC;AACtD,YAAA,IAAI,CAAC,WAAW,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE;AAC1D,gBAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE;AAElC,gBAAA,IAAI,CAAC,YAAY,GAAG,SAAS;gBAE7B,IAAI,QAAQ,KAAK,KAAK,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE;oBAClE,MAAM,CAAC,WAAW,EAAE;;;AAG1B,SAAC;AAED,QAAA,MAAM,EAAE;;IAGV,OAAO,GAAA;AACL,QAAA,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,qBAAqB,CAAC;;AAGzD,IAAA,OAAO,CACL,OAAoB,EACpB,kBAAwC,GAAA,WAAW,CAAC,aAAa,EAAA;AAEjE,QAAA,IAAI,CAAC,OAAO,GAAG,kBAAkB;QAEjC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;AACtC,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC;;AAGlE,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AAEvB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAc;AAElC,QAAA,MAAM,QAAQ,GACZ,IAAI,CAAC,SAAS;AACd,YAAA,MAAM,CAAC,QAAQ;YACf,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;;AAGxD,QAAA,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE;AAC3C,YAAA,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI;;AAGjC,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC;;QAGzD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AAC3B,YAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC;;AAGpE,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACrE,MAAM,IAAI,KAAK,CACb;;OAED,CAAC,IAAI,EAAE,CACP;;AACI,aAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;;aAC1D;YACL,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,UAAiB,CAAC;;;;AAKhD,QAAA,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa;aAClC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM;AAC/B,aAAA,OAAO,CAAC,CAAC,IAAI,KAAI;AAChB,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,IAAW,CAAC;AACjC,YAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;AAErC,YAAA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnE,gBAAA,IAAI,GAAG,GAAG,CAAsB,mBAAA,EAAA,IAAI,+BAA+B;AACnE,gBAAA,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC;;iBACf,IAAI,aAAa,EAAE;AACxB,gBAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAG,EAAA,KAAK,IAAI;;AAE/B,SAAC,CAAC;QAEJ,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;AAC/C,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,GAAG,OAAO,GAAG,QAAQ,CAAC;QAEvD,IAAI,KAAK,EAAE;AACT,YAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;AACrC,YAAA,MAAM,cAAc,GAAG,aAAa,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG;;YAEtE,MAAM,WAAW,GAAG;AAClB,kBAAE,QAAQ,CAAC,KAAK,EAAE,EAAE;AACpB,kBAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AAC3C,YAAA,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,GAAG,YAAY,GAAG,aAAa,CAAC;YAErE,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,cAAc,GAAG,CAAC,SAAS,GAAG,WAAW,IAAI,GAAG;;iBAChD;AACL,gBAAA,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,WAAW;;;AAI/D,QAAA,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe;QAC9C,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK;AACvD,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB;AAE/C,QAAA,IAAI,cAAc,GAAG,gBAAgB,EAAE;YACrC,OAAO,CAAC,IAAI,CACV;gBACE,uCAAuC;AACvC,gBAAA,gBAAgB,GAAG,QAAQ;gBAC3B,gDAAgD;AACjD,aAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ;;;;AAKH,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,KAAK,EAAE,CAAA,EAAG,MAAM,CAAC,KAAK,CAAE,CAAA;AACxB,YAAA,MAAM,EAAE,eAAe,GAAG,CAAG,EAAA,cAAc,CAAI,EAAA,CAAA,GAAG,CAAA,EAAG,MAAM,CAAC,MAAM,CAAE,CAAA;YACpE,QAAQ,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM;AAC3C,YAAA,QAAQ,EAAE,UAAU;SACrB;AAED,QAAA,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC;QAE7C,IAAI,eAAe,EAAE;AACnB,YAAA,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;;AAGtE,QAAA,MAAM,aAAa,GAAG;AACpB,YAAA,OAAO,EAAE,GAAG;AACZ,YAAA,QAAQ,EAAE,UAAU;YACpB,CAAC,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK;AAC1C,YAAA,CAAC,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,CAAA,EAAG,cAAc,CAAI,EAAA,CAAA;SAC3D;AAED,QAAA,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC;;AAG/C,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;;AAG/B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE;AAC5C,QAAA,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,MAAM;AAC1C,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,GAAG;;AAGpC,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE;;AAGhD,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;;AAGxE,QAAA,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;;QAGzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;AAE7C,QAAA,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE;YAC5C,MAAM,CAAC,WAAW,EAAE;;;AAIxB,IAAA,OAAO,CAAC,CAAS,EAAA;AACf,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAc;QAClC,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAQ;AACpC,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM;QAExB,IAAI,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC5C,YAAA,IAAI,GAAG,IAAI,CAAC,OAAO;;YAGnB,IAAI,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;AACnC,gBAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM;AAC7B,gBAAA,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACzB,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE;;;aAE7C;AACL,YAAA,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;;QAG/B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE;AAChC,YAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA,CAAE,CAAC;;QAGxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC;AAE7C,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB;AAE3D,QAAA,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE;AAC3B,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,CAAA,EAAG,GAAG,CAAI,EAAA,CAAA;AACjD,SAAA,CAAC;AAEF,QAAA,OAAO,IAAI;;IAGb,kBAAkB,GAAA;AAChB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO;AAE3B,QAAA,IAAI,OAAO,MAAM,CAAC,sBAAsB,KAAK,UAAU,EAAE;AACvD,YAAA,OAAO,MAAM,CAAC,sBAAsB,EAAE;;AAGxC,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;;IAGtE,YAAY,CAAC,QAAiB,KAAK,EAAA;AACjC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO;AAC3B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ;AAC7B,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE;AAC3C,QAAA,MAAM,KAAK,GAAW,MAAM,CAAC,KAAM;QAEnC,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC;AAEvC,QAAA,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE;YAC/C,IAAI,GAAG,CAAC;;QAGV,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AACrC,YAAA,OAAO,KAAK;;AAGd,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AAErB,QAAA,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,eAAe;AAEpC,QAAA,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,KAAK,EAAE;YACnD,EAAE,GAAG,KAAK;;;;AAKZ,QAAA,MAAM,QAAQ,GAAQ,MAAM,CAAC;AAC3B,cAAE,QAAQ,CAAC,sBAAsB;AACjC,cAAE;;;aAGC;;AAGL,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS;;AAG/B,QAAA,QAAQ,CAAC,MAAM,CAAC,WAAW,GAAG,aAAa,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC;AAE/D,QAAA,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAEzB,YAAA,QAAQ,CAAC,MAAM,CAAC,WAAW,GAAG,aAAa,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC;;AAG5D,QAAA,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC;;AAG7C,QAAA,OAAO,CAAC,SAAS,GAAG,EAAE;AACtB,QAAA,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;;IAG/B,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAA;AACxB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO;AAC3B,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAM;AAE3B,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,IAAI,GAAG,CAAC;;AAGV,QAAA,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;AACjC,YAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;AACpB,gBAAA,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC;;;IAI3D,oBAAoB,GAAA;AAClB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAc;QAClC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;AAC/C,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;QAC1B,MAAM,YAAY,GAChB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC5C,YAAA,IAAI,CAAC,oBAAoB;YACzB,IAAI,CAAC,iBAAiB;AAExB,QAAA,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE;AACrC,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,GAAG,EAAE,KAAK;YACV,CAAC,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK;AAC1C,YAAA,CAAC,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,CAAA,EAAG,YAAY,CAAI,EAAA,CAAA;AACzD,SAAA,CAAC;;QAGF,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AACpC,QAAA,MAAM,aAAa,GACjB,KAAK,GAAG,CAAC,KAAK;AACZ,cAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI;AAChE,cAAE,iBAAiB,CAAC,MAAM,CAAC;QAE/B,MAAM,UAAU,GAAG,YAAY,GAAG,aAAa,GAAG,cAAc;AAChE,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC;cACnB,MAAM,CAAC;AACT,cAAE,IAAI,CAAC,QAAQ;AACjB,QAAA,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU;AACxC,cAAE,OAAO,CAAC,UAAU;AACpB,cAAE,IAAI,CAAC,cAAc;QACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC;AACjE,QAAA,IAAI,CAAC,cAAc,GAAG,eAAe;;AAGrC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAC7B,IAAI,CAAC,eAAe,IAAI,CAAC,EACzB,IAAI,CAAC,eAAe,GAAG,CAAC,CACzB;AACD,QAAA,IAAI,CAAC,cAAc,GAAG,aAAa;AAEnC,QAAA,OAAO,YAAY;;IAGrB,qBAAqB,GAAA;AACnB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO;QAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;AAErD,QAAA,MAAM,OAAO,GAAG,CAAC,QAAgB,KAAI;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAW,QAAA,EAAA,QAAQ,CAAE,CAAA,CAAC;YAC/D,OAAO,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC;AACpC,SAAC;QAED,IAAI,OAAO,EAAE;YACX,OAAO;AACL,gBAAA,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC;AACxB,gBAAA,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC;aACrB;;aACI;YACL,OAAO;AACL,gBAAA,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;AACzB,gBAAA,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC;aACpB;;;AAIL,IAAA,QAAQ,CAAC,SAAiB,EAAA;QACxB,IAAI,CAAC,GAAG,CAAC;QAET,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE;AACzC,YAAA,CAAC,EAAE;;AAGL,QAAA,OAAO,CAAC;;;AA/aM,WAAA,CAAA,aAAa,GAAsB;AACjD,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,MAAM,EAAE,MAAM;CACf;;ACjDH,MAAM,OAAO,GAAG,sBAAsB;;MCoCzB,IAAI,GAAA,MAAA;AALjB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;;;AAaE;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAmB,EAAE;AAalC;;AAEG;AACsB,QAAA,IAAO,CAAA,OAAA,GAAgB,EAAE;AAgC1C,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,GAAG,EAAyB;AACjD,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,GAAG,EAAyB;AACpD,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,GAAG,EAA0B;AAE3C,QAAA,IAAc,CAAA,cAAA,GAAG,KAAK;AAyQ/B;IAvQS,aAAa,CAAC,OAAoB,EAAE,IAA6B,EAAA;QACvE,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK;;IAGxC,qBAAqB,GAAA;AAC3B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtD,IAAI,iBAAiB,GAAG,CACtB,IAAyB,EACzB,EAAe,EACf,KAAa,KACX;AACF,YAAA,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;AACpD,gBAAA,MAAM,cAAc,GAAG,CAAC,CAAQ,KAAI;oBAClC,CAAC,CAAC,cAAc,EAAE;oBAClB,CAAC,CAAC,eAAe,EAAE;AACnB,oBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AAC/C,oBAAA,OAAO,CAAC,UAAU,GAAG,CAAC,OAAO,CAAC,UAAU;AACxC,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;oBACrE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC;AACnC,iBAAC;AACD,gBAAA,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAC7C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC;;AAE/C,SAAC;QAED,OAAO;AACL,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,UAAU,EAAE,EAAE;YACd,KAAK,EAAE,IAAI,CAAC,MAAM;AAClB,YAAA,QAAQ,EAAE,CAAC,KAAa,KAAI;AAC1B,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;AAExB,gBAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CACrD,CAAA,oBAAA,EAAuB,IAAI,CAAC,EAAE,CAAA,EAAA,CAAI,CACV;gBAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAExC,IAAI,gBAAgB,EAAE;AACpB,oBAAA,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;oBAC/C,gBAAgB,CAAC,OAAO,GAAQ,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,OAAO,CAAE;AAEzC,oBAAA,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,CAAC;oBAEhD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;AAC7B,wBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBAE1C,IAAI,QAAQ,EAAE;AACZ,4BAAA,QAAQ,CAAC,IAAI,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAO,IAAI,CAAC,OAAO,EAAG;;;AAIvC,oBAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC;AAC1C,oBAAA,OAAO,gBAAgB;;AAGzB,gBAAA,MAAM,MAAM,GAAG,CAAC,QAAwB,KAAI;oBAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC;AACrC,iBAAC;gBAED,IAAI,YAAY,GAAuB,IAAI;AAC3C,gBAAA,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,YAAY,GAAG,IAAI,CAAC,UAAU,CAC5B,KAAK,EACL,IAAI,EACJ,IAAI,oBACC,IAAI,CAAC,OAAO,CACjB,EAAA,MAAM,CACP;;AAGH,gBAAA,IAAI,YAAY,KAAK,IAAI,EAAE;oBACzB,YAAY,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC;;gBAGzD,MAAM,EAAE,GAAG,YAAY;gBACvB,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC;AAC7C,gBAAA,EAAE,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM;AAC9B,gBAAA,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC;gBAE5B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;AACnC,oBAAA,MAAM,iBAAiB,GAAG,CAAC,KAAY,KAAI;AACzC,wBAAA,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE;wBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;wBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;wBACzC,MAAM,UAAU,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,QAAQ,CAAC;wBAEnE,IAAI,UAAU,EAAE;4BACd;;AAGF,wBAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;4BAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CACjC,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,CAC9B;4BACD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AACxC,4BAAA,OAAO,CAAC,UAAU,GAAG,IAAI;4BACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC;;wBAGnC,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,WAAW,EAAE;4BAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AACxC,4BAAA,OAAO,CAAC,UAAU,GAAG,CAAC,OAAO,CAAC,UAAU;AACxC,4BAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gCACpB,EAAE,EAAE,IAAI,CAAC,EAAE;gCACX,SAAS,EAAE,OAAO,CAAC,UAAU;AAC9B,6BAAA,CAAC;4BACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC;;wBAGnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAChC,qBAAC;oBACD,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAI;wBACtC,KAAK,CAAC,cAAc,EAAE;AACxB,qBAAC,CAAC;AACF,oBAAA,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC;oBAC/C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,iBAAiB,CAAC;;AAGnD,gBAAA,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC;AAElC,gBAAA,OAAO,EAAE;aACV;SACF;;IAGK,UAAU,CAAC,EAAU,EAAE,OAAwB,EAAA;QACrD,IAAI,CAAC,OAAO,GACP,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,OAAO,CACf,EAAA,EAAA,CAAC,EAAE,GAAG,OAAO,GACd;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;;AAG/B,IAAA,UAAU,CAAC,EAAU,EAAA;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO;AACL,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,UAAU,EAAE,KAAK;aAClB;;QAEH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;AACrB,YAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG;AACjB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,UAAU,EAAE,KAAK;aAClB;;AAEH,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;;AAGjB,IAAA,aAAa,CACnB,IAAmB,EACnB,KAAA,GAAgB,CAAC,EAAA;QAEjB,MAAM,QAAQ,GAA0B,EAAE;QAE1C,IAAI,IAAI,aAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,WAAW,EAAE;AACrB,YAAA,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAU,KAAI;gBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,IAAI,CAAE,EAAA,EAAA,KAAK,IAAG;gBACjC,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE;AAC1C,oBAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;;AAExD,aAAC,CAAC;;AAGJ,QAAA,OAAO,QAAQ;;IAGjB,gBAAgB,GAAA;QACd,IAAI,CAAC,QAAQ,EAAE;QAEf,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,OAAO,KAAI;YAC/C,IAAI,OAAO,GAAc,EAAE;AAE3B,YAAA,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;AACzB,gBAAA,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAE1D,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;oBAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;AACjC,oBAAA,IAAI,KAAK,IAAI,CAAC,EAAE;AACd,wBAAA,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;;AAE5B,iBAAC,CAAC;AACJ,aAAC,CAAC;AAEF,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;AAChC,SAAC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,SAAS,EAAE,IAAI;AAChB,SAAA,CAAC;;IAGJ,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAE1B,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAC5B,IAAI,CAAC,WAAW,EAAE;;aACb;YACL,IAAI,CAAC,QAAQ,EAAE;;;IAInB,iBAAiB,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,QAAQ,EAAE;;;IAInB,oBAAoB,GAAA;;QAClB,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,EAAE;QACzB,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,UAAU,EAAE;;IAI7B,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE;YACpD,IAAI,CAAC,QAAQ,EAAE;;;IAIX,iBAAiB,GAAA;;;QAEvB,MAAM,aAAa,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,cAAc;QAEpD,QACE,aAAa,KAAK,SAAS;AAC3B,YAAA,aAAa,CAAC,MAAM;AACpB,YAAA,EAAC,aAAa,KAAA,IAAA,IAAb,aAAa,KAAA,MAAA,GAAA,MAAA,GAAb,aAAa,CAAE,IAAI,CAClB,CAAC,IAAY,KAAK,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAC3D,CAAA;;IAIG,WAAW,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC;;;IAIlE,QAAQ,GAAA;;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf;;QAGF,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,EAAE;AACzB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE;AAC3C,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;;IAG5D,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ix-typography.entry.esm.js","sources":["src/components/typography/typography.scss?tag=ix-typography&encapsulation=shadow","src/components/typography/typography.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@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n@import 'legacy/mixins/fonts';\n@import 'components/fonts';\n@import 'mixins/fonts';\n\n:host {\n @include ix-component;\n\n display: block;\n position: relative;\n}\n\n:host(.text-xs) {\n @include text-xs;\n}\n\n:host(.text-s) {\n @include text-s;\n}\n\n:host(.text-caption) {\n @include text-caption;\n}\n\n:host(.text-caption-single) {\n @include text-caption-single;\n}\n\n:host(.text-default) {\n @include text-default;\n}\n\n:host(.text-default-single) {\n @include text-default-single;\n}\n\n:host(.text-default-title) {\n @include text-default-title;\n}\n\n:host(.text-default-title-single) {\n @include text-default-title-single;\n}\n\n:host(.text-l) {\n @include text-l;\n}\n\n:host(.text-l-single) {\n @include text-l-single;\n}\n\n:host(.text-l-title) {\n @include text-l-title;\n}\n\n:host(.text-l-title-single) {\n @include text-l-title-single;\n}\n\n:host(.text-h2) {\n @include text-h2;\n}\n\n:host(.text-xl) {\n @include text-xl;\n}\n\n$typography-formats: label, label-xs, label-sm, label-lg, body, body-xs, body-sm,\n body-lg, display, display-xs, display-sm, display-lg, display-xl, display-xxl,\n h6, h5, h4, h3, h2, h1, code, code-sm, code-lg;\n\n@each $format in $typography-formats {\n :host(.typography-#{$format}) {\n @extend .typography-#{$format};\n }\n}\n\n$typography-decoration: none, underline, line-through;\n@each $decoration in $typography-decoration {\n :host(.typography-decoration-#{$decoration}) {\n @extend .typography-decoration-#{$decoration};\n }\n}\n\n:host(.typography-weight-bold) {\n @extend .typography-weight-bold;\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\nexport type TypographyVariants =\n | 'x-small'\n | 'small'\n | 'caption'\n | 'caption-single'\n | 'default'\n | 'default-single'\n | 'default-title'\n | 'default-title-single'\n | 'large'\n | 'large-single'\n | 'large-title'\n | 'large-title-single'\n | 'h2'\n | 'display-large';\n\nexport type TypographyColors =\n | 'contrast'\n | '
|
|
1
|
+
{"version":3,"file":"ix-typography.entry.esm.js","sources":["src/components/typography/typography.scss?tag=ix-typography&encapsulation=shadow","src/components/typography/typography.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@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n@import 'legacy/mixins/fonts';\n@import 'components/fonts';\n@import 'mixins/fonts';\n\n:host {\n @include ix-component;\n\n display: block;\n position: relative;\n}\n\n:host(.text-xs) {\n @include text-xs;\n}\n\n:host(.text-s) {\n @include text-s;\n}\n\n:host(.text-caption) {\n @include text-caption;\n}\n\n:host(.text-caption-single) {\n @include text-caption-single;\n}\n\n:host(.text-default) {\n @include text-default;\n}\n\n:host(.text-default-single) {\n @include text-default-single;\n}\n\n:host(.text-default-title) {\n @include text-default-title;\n}\n\n:host(.text-default-title-single) {\n @include text-default-title-single;\n}\n\n:host(.text-l) {\n @include text-l;\n}\n\n:host(.text-l-single) {\n @include text-l-single;\n}\n\n:host(.text-l-title) {\n @include text-l-title;\n}\n\n:host(.text-l-title-single) {\n @include text-l-title-single;\n}\n\n:host(.text-h2) {\n @include text-h2;\n}\n\n:host(.text-xl) {\n @include text-xl;\n}\n\n$typography-formats: label, label-xs, label-sm, label-lg, body, body-xs, body-sm,\n body-lg, display, display-xs, display-sm, display-lg, display-xl, display-xxl,\n h6, h5, h4, h3, h2, h1, code, code-sm, code-lg;\n\n@each $format in $typography-formats {\n :host(.typography-#{$format}) {\n @extend .typography-#{$format};\n }\n}\n\n$typography-decoration: none, underline, line-through;\n@each $decoration in $typography-decoration {\n :host(.typography-decoration-#{$decoration}) {\n @extend .typography-decoration-#{$decoration};\n }\n}\n\n:host(.typography-weight-bold) {\n @extend .typography-weight-bold;\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\nexport type TypographyVariants =\n | 'x-small'\n | 'small'\n | 'caption'\n | 'caption-single'\n | 'default'\n | 'default-single'\n | 'default-title'\n | 'default-title-single'\n | 'large'\n | 'large-single'\n | 'large-title'\n | 'large-title-single'\n | 'h2'\n | 'display-large';\n\nexport type TypographyColors =\n | 'alarm'\n | 'alarm-contrast'\n | 'contrast'\n | 'critical-contrast'\n | 'info-contrast'\n | 'inv-contrast'\n | 'inv-soft'\n | 'inv-std'\n | 'inv-weak'\n | 'neutral-contrast'\n | 'primary-contrast'\n | 'soft'\n | 'std'\n | 'success-contrast'\n | 'warning-contrast'\n | 'weak';\n\ntype TypographyFormatLabel = 'label' | 'label-xs' | 'label-sm' | 'label-lg';\ntype TypographyFormatBody = 'body' | 'body-xs' | 'body-sm' | 'body-lg';\ntype TypographyFormatDisplay =\n | 'display'\n | 'display-xs'\n | 'display-sm'\n | 'display-lg'\n | 'display-xl'\n | 'display-xxl';\ntype TypographyFormatHeading = 'h6' | 'h5' | 'h4' | 'h3' | 'h2' | 'h1';\ntype TypographyFormatCode = 'code' | 'code-sm' | 'code-lg';\n\nexport type TypographyFormat =\n | TypographyFormatLabel\n | TypographyFormatBody\n | TypographyFormatDisplay\n | TypographyFormatHeading\n | TypographyFormatCode;\n\nexport type TextDecoration = 'none' | 'underline' | 'line-through';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-typography',\n styleUrl: 'typography.scss',\n shadow: true,\n})\nexport class IxTypography {\n /**\n * Text format\n */\n @Prop() format?: TypographyFormat;\n\n /**\n * Text color based on theme variables\n */\n @Prop() textColor?: TypographyColors;\n\n /**\n * Display text bold\n */\n @Prop() bold = false;\n\n /**\n * Text decoration\n */\n @Prop() textDecoration: TextDecoration = 'none';\n\n private static getTextColor(color: TypographyColors) {\n if (color.startsWith('inv-') || !color.endsWith('-contrast')) {\n return `var(--theme-color-${color}-text)`;\n }\n\n return `var(--theme-color-${color.replace('-', '--')})`;\n }\n\n render() {\n let typographyClass: Record<string, boolean> = {};\n typographyClass[`typography-${this.format ?? 'body'}`] = true;\n\n if (this.textDecoration !== 'none') {\n typographyClass[`typography-decoration-${this.textDecoration}`] = true;\n }\n\n typographyClass['typography-weight-bold'] = this.bold;\n\n let style = {};\n\n if (this.textColor) {\n style = {\n color: IxTypography.getTextColor(this.textColor),\n };\n }\n\n return (\n <Host class={typographyClass} style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,aAAa,GAAG,+2bAA+2b;;MC0Ex3b,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAgBE;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAG,KAAK;AAEpB;;AAEG;AACK,QAAA,IAAc,CAAA,cAAA,GAAmB,MAAM;AAkChD;IAhCS,OAAO,YAAY,CAAC,KAAuB,EAAA;AACjD,QAAA,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC5D,OAAO,CAAA,kBAAA,EAAqB,KAAK,CAAA,MAAA,CAAQ;;QAG3C,OAAO,CAAA,kBAAA,EAAqB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA,CAAA,CAAG;;IAGzD,MAAM,GAAA;;QACJ,IAAI,eAAe,GAA4B,EAAE;AACjD,QAAA,eAAe,CAAC,CAAA,WAAA,EAAc,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,MAAM,CAAE,CAAA,CAAC,GAAG,IAAI;AAE7D,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE;YAClC,eAAe,CAAC,yBAAyB,IAAI,CAAC,cAAc,CAAE,CAAA,CAAC,GAAG,IAAI;;AAGxE,QAAA,eAAe,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,IAAI;QAErD,IAAI,KAAK,GAAG,EAAE;AAEd,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,KAAK,GAAG;gBACN,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;aACjD;;AAGH,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAA,EACxC,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;"}
|