@siemens/ix 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/READMEOSS.html +331 -0
- package/components/index.js +3 -3
- package/components/index.js.map +1 -1
- package/components/ix-application-header.js +1 -1
- package/components/ix-application-switch-modal.js +4 -4
- package/components/ix-avatar.js +1 -1
- package/components/ix-basic-navigation.js +4 -4
- package/components/ix-blind.js +2 -2
- package/components/ix-blind.js.map +1 -1
- package/components/ix-breadcrumb-item.js +1 -1
- package/components/ix-breadcrumb.js +3 -3
- package/components/ix-button.js +1 -1
- package/components/ix-card-accordion.js +1 -1
- package/components/ix-card-list.js +3 -3
- package/components/ix-category-filter.js +5 -5
- package/components/ix-category-filter.js.map +1 -1
- package/components/ix-checkbox-group.js +3 -3
- package/components/ix-checkbox-group.js.map +1 -1
- package/components/ix-chip.js +7 -6
- package/components/ix-chip.js.map +1 -1
- package/components/ix-content-header.js +2 -2
- package/components/ix-custom-field.js +1 -1
- package/components/ix-date-dropdown.js +6 -6
- package/components/ix-date-input.js +15 -10
- package/components/ix-date-input.js.map +1 -1
- package/components/ix-date-picker.js +1 -1
- package/components/ix-datetime-picker.js +5 -5
- package/components/ix-drawer.js +2 -2
- package/components/ix-dropdown-button.js +4 -4
- package/components/ix-dropdown-item.js +1 -1
- package/components/ix-dropdown.js +1 -1
- package/components/ix-empty-state.js +1 -1
- package/components/ix-event-list-item.js +2 -2
- package/components/ix-event-list-item.js.map +1 -1
- package/components/ix-expanding-search.js +3 -3
- package/components/ix-expanding-search.js.map +1 -1
- package/components/ix-field-wrapper.js +1 -1
- package/components/ix-filter-chip.js +1 -1
- package/components/ix-flip-tile.js +2 -2
- package/components/ix-group-context-menu.js +1 -1
- package/components/ix-group.js +4 -4
- package/components/ix-group.js.map +1 -1
- package/components/ix-helper-text.js +1 -1
- package/components/ix-icon-button.js +1 -1
- package/components/ix-icon-toggle-button.js +11 -3
- package/components/ix-icon-toggle-button.js.map +1 -1
- package/components/ix-input.js +10 -9
- package/components/ix-input.js.map +1 -1
- package/components/ix-kpi.js +2 -2
- package/components/ix-kpi.js.map +1 -1
- package/components/ix-link-button.js +2 -2
- package/components/ix-link-button.js.map +1 -1
- package/components/ix-map-navigation-overlay.js +1 -1
- package/components/ix-map-navigation.js +6 -6
- package/components/ix-menu-about-news.js +3 -3
- package/components/ix-menu-about.js +3 -3
- package/components/ix-menu-avatar-item.js +1 -1
- package/components/ix-menu-avatar.js +6 -6
- package/components/ix-menu-avatar.js.map +1 -1
- package/components/ix-menu-category.js +4 -4
- package/components/ix-menu-expand-icon.js +1 -1
- package/components/ix-menu-item.js +1 -1
- package/components/ix-menu-settings.js +1 -1
- package/components/ix-menu.js +5 -5
- package/components/ix-message-bar.js +2 -2
- package/components/ix-modal-header.js +1 -1
- package/components/ix-number-input.js +3 -3
- package/components/ix-pagination.js +9 -9
- package/components/ix-pagination.js.map +1 -1
- package/components/ix-pane.js +2 -2
- package/components/ix-pill.js +3 -4
- package/components/ix-pill.js.map +1 -1
- package/components/ix-push-card.js +1 -1
- package/components/ix-radio-group.js +3 -3
- package/components/ix-radio-group.js.map +1 -1
- package/components/ix-radio.js +4 -4
- package/components/ix-radio.js.map +1 -1
- package/components/ix-select-item.js +1 -1
- package/components/ix-select.js +1 -1
- package/components/ix-slider.js +7 -7
- package/components/ix-slider.js.map +1 -1
- package/components/ix-split-button.js +4 -4
- package/components/ix-tabs.js +1 -1
- package/components/ix-textarea.js +1 -1
- package/components/ix-time-picker.js +1 -1
- package/components/ix-toast-container.js +2 -2
- package/components/ix-toast.js +1 -1
- package/components/ix-toggle.js +1 -1
- package/components/ix-toggle.js.map +1 -1
- package/components/ix-tree-item.js +1 -1
- package/components/ix-tree.js +1 -1
- package/components/ix-upload.js +2 -2
- package/components/ix-workflow-step.js +1 -1
- package/components/{p-zx7LlxPa.js → p-B7KL9wqA.js} +4 -4
- package/components/{p-zx7LlxPa.js.map → p-B7KL9wqA.js.map} +1 -1
- package/components/{p-CPs2id8p.js → p-B7hM-Ptf.js} +5 -5
- package/components/{p-CPs2id8p.js.map → p-B7hM-Ptf.js.map} +1 -1
- package/components/{p-CGLA6FT7.js → p-BDlUCzdQ.js} +3 -3
- package/components/{p-CGLA6FT7.js.map → p-BDlUCzdQ.js.map} +1 -1
- package/components/{p-BDzoigTw.js → p-BGFYBgKJ.js} +3 -3
- package/components/{p-BDzoigTw.js.map → p-BGFYBgKJ.js.map} +1 -1
- package/components/{p-FayACwNG.js → p-BMylJWWP.js} +6 -6
- package/components/{p-FayACwNG.js.map → p-BMylJWWP.js.map} +1 -1
- package/components/{p-CwYYFZjd.js → p-B_o_wd-4.js} +3 -3
- package/components/{p-CwYYFZjd.js.map → p-B_o_wd-4.js.map} +1 -1
- package/components/{p-Dn_WjwtW.js → p-BdCskL_j.js} +4 -3
- package/components/p-BdCskL_j.js.map +1 -0
- package/components/{p-Cyxle5Ec.js → p-Bh9l8HMz.js} +3 -3
- package/components/{p-Cyxle5Ec.js.map → p-Bh9l8HMz.js.map} +1 -1
- package/components/{p-D9Zr-lKz.js → p-BkWyDnfx.js} +8 -7
- package/components/p-BkWyDnfx.js.map +1 -0
- package/components/{p-CxztL6IE.js → p-BkmSD6MC.js} +10 -10
- package/components/{p-CxztL6IE.js.map → p-BkmSD6MC.js.map} +1 -1
- package/components/{p-uhiF1LKf.js → p-BrRMtQIh.js} +3 -3
- package/components/{p-uhiF1LKf.js.map → p-BrRMtQIh.js.map} +1 -1
- package/components/p-CPUiQJXe.js +151 -0
- package/components/p-CPUiQJXe.js.map +1 -0
- package/components/{p-VXLdiXU0.js → p-CRSLovo3.js} +6 -6
- package/components/{p-VXLdiXU0.js.map → p-CRSLovo3.js.map} +1 -1
- package/components/p-CUVSwwVj.js +130 -0
- package/components/{p-d7CnwTHv.js.map → p-CUVSwwVj.js.map} +1 -1
- package/components/{p-BXPo5zF6.js → p-CaRgDWxT.js} +4 -4
- package/components/{p-BXPo5zF6.js.map → p-CaRgDWxT.js.map} +1 -1
- package/components/{p-BtKUjD8M.js → p-CnWYvVQ3.js} +3 -3
- package/components/{p-BtKUjD8M.js.map → p-CnWYvVQ3.js.map} +1 -1
- package/components/{p-DuEVN6w5.js → p-CqoVeXMY.js} +3 -3
- package/components/{p-DuEVN6w5.js.map → p-CqoVeXMY.js.map} +1 -1
- package/components/{p-CTuKljhZ.js → p-CtwIu3QJ.js} +4 -4
- package/components/{p-CTuKljhZ.js.map → p-CtwIu3QJ.js.map} +1 -1
- package/components/{p-DAYuUWi5.js → p-D0ry5azH.js} +4 -4
- package/components/{p-DAYuUWi5.js.map → p-D0ry5azH.js.map} +1 -1
- package/components/{p-QHGR-zzJ.js → p-D8SFajOg.js} +4 -4
- package/components/{p-QHGR-zzJ.js.map → p-D8SFajOg.js.map} +1 -1
- package/components/{p-BBozAuYN.js → p-D9C7eJG_.js} +3 -3
- package/components/{p-BBozAuYN.js.map → p-D9C7eJG_.js.map} +1 -1
- package/components/p-DEBkXmnp.js +103 -0
- package/components/{p-HblhO3lB.js.map → p-DEBkXmnp.js.map} +1 -1
- package/components/{p-uv1SlmiP.js → p-DFvn_bf5.js} +3 -3
- package/components/{p-uv1SlmiP.js.map → p-DFvn_bf5.js.map} +1 -1
- package/components/{p-R4QcECdA.js → p-DZQl3d7c.js} +4 -4
- package/components/{p-R4QcECdA.js.map → p-DZQl3d7c.js.map} +1 -1
- package/components/{p-elgF4vOp.js → p-DjCDFG2y.js} +3 -3
- package/components/{p-elgF4vOp.js.map → p-DjCDFG2y.js.map} +1 -1
- package/components/{p-BPVegBx7.js → p-EaMVU4l2.js} +7 -7
- package/components/{p-BPVegBx7.js.map → p-EaMVU4l2.js.map} +1 -1
- package/components/{p-DPZN-4Ph.js → p-jGKKq0c2.js} +3 -3
- package/components/{p-DPZN-4Ph.js.map → p-jGKKq0c2.js.map} +1 -1
- package/components/{p-Bcmjgmqd.js → p-wwfcx9O8.js} +4 -4
- package/components/{p-Bcmjgmqd.js.map → p-wwfcx9O8.js.map} +1 -1
- package/dist/cjs/{helper-text-util-Dk2i8B86.js → helper-text-util-BHdcI0ys.js} +3 -3
- package/dist/cjs/{helper-text-util-Dk2i8B86.js.map → helper-text-util-BHdcI0ys.js.map} +1 -1
- package/dist/cjs/{index-IWZYsRU-.js → index-BHnoO_aB.js} +3 -3
- package/dist/cjs/{index-IWZYsRU-.js.map → index-BHnoO_aB.js.map} +1 -1
- package/dist/cjs/{index-DIFIjYrm.js → index-Dlx7IaH3.js} +4 -2
- package/dist/cjs/{index-DIFIjYrm.js.map → index-Dlx7IaH3.js.map} +1 -1
- package/dist/cjs/index.cjs.js +3 -2
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/ix-application-header.cjs.entry.js +3 -3
- package/dist/cjs/ix-application-switch-modal.cjs.entry.js +2 -2
- package/dist/cjs/ix-avatar.ix-menu-avatar-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-avatar_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-avatar_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-blind.cjs.entry.js +2 -2
- package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-blind.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-breadcrumb-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-breadcrumb-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-button.cjs.entry.js +27 -10
- package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-button.entry.cjs.js.map +1 -1
- 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-category-filter.cjs.entry.js +2 -2
- package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-category-filter.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/ix-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-checkbox-group.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-chip.cjs.entry.js +6 -5
- package/dist/cjs/ix-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-chip.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-col_4.cjs.entry.js +1 -1
- package/dist/cjs/ix-content-header.cjs.entry.js +1 -1
- package/dist/cjs/ix-date-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/ix-date-input.cjs.entry.js +10 -5
- package/dist/cjs/ix-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-date-input.entry.cjs.js.map +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-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-dropdown.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-event-list-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-event-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-event-list-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-expanding-search.cjs.entry.js +2 -2
- package/dist/cjs/ix-expanding-search.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-expanding-search.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-field-label_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-filter-chip_2.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 +2 -2
- package/dist/cjs/ix-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-group.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-helper-text.cjs.entry.js +2 -2
- package/dist/cjs/ix-icon-button.ix-spinner.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-icon-button_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-icon-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +10 -3
- package/dist/cjs/ix-icon-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-icon-toggle-button.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-input.cjs.entry.js +8 -7
- package/dist/cjs/ix-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-input.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-kpi.cjs.entry.js +2 -2
- package/dist/cjs/ix-kpi.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-kpi.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-link-button.cjs.entry.js +2 -2
- package/dist/cjs/ix-link-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-link-button.entry.cjs.js.map +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-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 +2 -2
- package/dist/cjs/ix-menu-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-avatar.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-menu-category.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/{ix-menu-settings-WDbyAxNK.js → ix-menu-settings-CYHpPffQ.js} +3 -3
- package/dist/cjs/{ix-menu-settings-WDbyAxNK.js.map → ix-menu-settings-CYHpPffQ.js.map} +1 -1
- package/dist/cjs/ix-menu-settings.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu.cjs.entry.js +3 -3
- 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-number-input.cjs.entry.js +1 -1
- package/dist/cjs/ix-pagination.cjs.entry.js +2 -2
- package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-pagination.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-pane.cjs.entry.js +1 -1
- package/dist/cjs/ix-pill.cjs.entry.js +3 -4
- package/dist/cjs/ix-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-pill.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/ix-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-radio-group.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-radio.cjs.entry.js +4 -4
- package/dist/cjs/ix-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-select.cjs.entry.js +2 -2
- 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 +7 -7
- package/dist/cjs/ix-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-slider.entry.cjs.js.map +1 -1
- 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-time-picker.cjs.entry.js +2 -2
- package/dist/cjs/ix-time-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-time-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-toast.cjs.entry.js +1 -1
- package/dist/cjs/ix-toggle.cjs.entry.js +1 -1
- package/dist/cjs/ix-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-toggle.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-tree-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-upload.cjs.entry.js +1 -1
- package/dist/cjs/ix-workflow-step.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{modal-CY_zQjvm.js → modal-CtDjLn9c.js} +8 -7
- package/dist/cjs/modal-CtDjLn9c.js.map +1 -0
- package/dist/cjs/siemens-ix.cjs.js +1 -1
- package/dist/collection/components/action-card/action-card.js +3 -3
- package/dist/collection/components/application/application.js +3 -3
- 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 -1
- package/dist/collection/components/avatar/avatar.css +2 -2
- package/dist/collection/components/avatar/avatar.js +4 -4
- package/dist/collection/components/basic-navigation/basic-navigation.js +2 -2
- package/dist/collection/components/blind/blind.css +7 -7
- package/dist/collection/components/blind/blind.js +3 -3
- package/dist/collection/components/breadcrumb-item/breadcrumb-item.css +30 -30
- package/dist/collection/components/breadcrumb-item/breadcrumb-item.js +2 -2
- package/dist/collection/components/button/button.css +18 -18
- package/dist/collection/components/button/button.js +53 -11
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/button/test/button.ct.js +69 -0
- package/dist/collection/components/button/test/button.ct.js.map +1 -1
- package/dist/collection/components/card-list/card-list.js +2 -2
- package/dist/collection/components/category-filter/category-filter.css +22 -22
- package/dist/collection/components/category-filter/category-filter.js +7 -7
- package/dist/collection/components/checkbox/checkbox.js +3 -3
- package/dist/collection/components/checkbox-group/checkbox-group.js +8 -8
- package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -1
- package/dist/collection/components/chip/chip.css +24 -8
- package/dist/collection/components/chip/chip.js +7 -6
- package/dist/collection/components/chip/chip.js.map +1 -1
- package/dist/collection/components/col/col.js +4 -4
- package/dist/collection/components/content-header/content-header.js +2 -2
- package/dist/collection/components/css-grid/css-grid.js +1 -1
- package/dist/collection/components/custom-field/custom-field.js +7 -7
- package/dist/collection/components/date-dropdown/date-dropdown.js +2 -2
- package/dist/collection/components/date-input/date-input.js +24 -19
- package/dist/collection/components/date-input/date-input.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.js +8 -8
- package/dist/collection/components/date-time-card/date-time-card.js +1 -1
- package/dist/collection/components/datetime-picker/datetime-picker.js +9 -9
- package/dist/collection/components/drawer/drawer.js +1 -1
- package/dist/collection/components/dropdown/dropdown.css +1 -1
- package/dist/collection/components/dropdown/dropdown.js +5 -5
- package/dist/collection/components/dropdown/test/dropdown.ct.js +31 -0
- package/dist/collection/components/dropdown/test/dropdown.ct.js.map +1 -1
- package/dist/collection/components/dropdown-button/dropdown-button.js +3 -3
- package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.js +2 -2
- package/dist/collection/components/empty-state/empty-state.js +3 -3
- package/dist/collection/components/event-list-item/event-list-item.css +2 -2
- package/dist/collection/components/event-list-item/event-list-item.js +1 -1
- package/dist/collection/components/expanding-search/expanding-search.css +4 -4
- package/dist/collection/components/expanding-search/expanding-search.js +1 -1
- package/dist/collection/components/field-label/field-label.js +3 -3
- package/dist/collection/components/field-wrapper/field-wrapper.js +8 -8
- package/dist/collection/components/flip-tile/flip-tile.js +1 -1
- package/dist/collection/components/group/group.css +2 -2
- package/dist/collection/components/group/group.js +3 -3
- package/dist/collection/components/group-item/group-item.js +4 -4
- package/dist/collection/components/helper-text/helper-text.js +6 -6
- package/dist/collection/components/icon-button/icon-button.css +18 -18
- package/dist/collection/components/icon-button/icon-button.js +3 -3
- package/dist/collection/components/icon-toggle-button/icon-toggle-button.css +18 -18
- package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +33 -3
- package/dist/collection/components/icon-toggle-button/icon-toggle-button.js.map +1 -1
- package/dist/collection/components/input/input.js +21 -20
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/input/number-input.js +16 -16
- package/dist/collection/components/input/textarea.js +16 -16
- package/dist/collection/components/key-value/key-value.js +2 -2
- package/dist/collection/components/kpi/kpi.css +1 -1
- package/dist/collection/components/kpi/kpi.js +3 -3
- package/dist/collection/components/link-button/link-button.css +2 -2
- package/dist/collection/components/link-button/link-button.js +1 -1
- package/dist/collection/components/map-navigation/map-navigation.js +5 -5
- package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +4 -4
- package/dist/collection/components/menu/menu-expand-icon.js +1 -1
- package/dist/collection/components/menu/menu.js +3 -3
- package/dist/collection/components/menu-about/menu-about.js +1 -1
- package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
- package/dist/collection/components/menu-about-news/menu-about-news.js +2 -2
- package/dist/collection/components/menu-avatar/menu-avatar.css +1 -1
- package/dist/collection/components/menu-avatar/menu-avatar.js +4 -4
- 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 +3 -3
- package/dist/collection/components/menu-settings/menu-settings.js +1 -1
- package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
- package/dist/collection/components/modal/modal.js +2 -2
- package/dist/collection/components/modal/test/modal.ct.js +48 -0
- package/dist/collection/components/modal/test/modal.ct.js.map +1 -1
- package/dist/collection/components/modal-header/modal-header.js +2 -2
- package/dist/collection/components/pagination/pagination.css +21 -21
- package/dist/collection/components/pane/pane.js +2 -2
- package/dist/collection/components/pill/pill.css +24 -8
- package/dist/collection/components/pill/pill.js +5 -6
- package/dist/collection/components/pill/pill.js.map +1 -1
- package/dist/collection/components/push-card/push-card.js +4 -4
- package/dist/collection/components/radio/radio.js +8 -8
- package/dist/collection/components/radio/radio.js.map +1 -1
- package/dist/collection/components/radio-group/radio-group.js +11 -11
- package/dist/collection/components/radio-group/radio-group.js.map +1 -1
- package/dist/collection/components/select/select.css +1 -1
- package/dist/collection/components/select/select.js +11 -11
- package/dist/collection/components/select/test/select.ct.js +35 -0
- package/dist/collection/components/select/test/select.ct.js.map +1 -1
- package/dist/collection/components/select-item/select-item.js +2 -2
- package/dist/collection/components/slider/slider.js +9 -9
- package/dist/collection/components/slider/slider.js.map +1 -1
- package/dist/collection/components/split-button/split-button.js +3 -3
- package/dist/collection/components/tab-item/tab-item.js +1 -1
- package/dist/collection/components/time-picker/time-picker.css +3 -3
- package/dist/collection/components/time-picker/time-picker.js +3 -3
- package/dist/collection/components/toast/toast-utils.js +1 -1
- package/dist/collection/components/toast/toast-utils.js.map +1 -1
- package/dist/collection/components/toast/toast.js +3 -3
- package/dist/collection/components/toggle/toggle.css +1 -1
- package/dist/collection/components/toggle/toggle.js +2 -2
- package/dist/collection/components/toggle-button/toggle-button.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js +2 -2
- package/dist/collection/components/tree/tree.js +2 -2
- package/dist/collection/components/tree-item/tree-item.js +2 -2
- package/dist/collection/components/typography/typography.js +2 -2
- package/dist/collection/components/upload/upload.js +1 -1
- package/dist/collection/components/utils/modal/message.js +6 -5
- package/dist/collection/components/utils/modal/message.js.map +1 -1
- package/dist/collection/components/validation-tooltip/validation-tooltip.js +1 -1
- package/dist/esm/{helper-text-util-DR9KOBuX.js → helper-text-util-CBxdYPv4.js} +3 -3
- package/dist/esm/{helper-text-util-DR9KOBuX.js.map → helper-text-util-CBxdYPv4.js.map} +1 -1
- package/dist/esm/{index-CpUAGkLr.js → index-8QmwFVqu.js} +3 -3
- package/dist/esm/{index-CpUAGkLr.js.map → index-8QmwFVqu.js.map} +1 -1
- package/dist/esm/{index-CrTP-icT.js → index-v48bcPT9.js} +4 -3
- package/dist/esm/{index-CrTP-icT.js.map → index-v48bcPT9.js.map} +1 -1
- package/dist/esm/index.js +4 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ix-application-header.entry.js +3 -3
- package/dist/esm/ix-application-switch-modal.entry.js +2 -2
- package/dist/esm/ix-avatar.ix-menu-avatar-item.entry.js.map +1 -1
- package/dist/esm/ix-avatar_2.entry.js +1 -1
- package/dist/esm/ix-avatar_2.entry.js.map +1 -1
- package/dist/esm/ix-blind.entry.js +2 -2
- package/dist/esm/ix-blind.entry.js.map +1 -1
- package/dist/esm/ix-breadcrumb-item.entry.js +2 -2
- package/dist/esm/ix-breadcrumb-item.entry.js.map +1 -1
- package/dist/esm/ix-button.entry.js +27 -10
- package/dist/esm/ix-button.entry.js.map +1 -1
- 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-category-filter.entry.js +2 -2
- package/dist/esm/ix-category-filter.entry.js.map +1 -1
- package/dist/esm/ix-checkbox-group.entry.js +2 -2
- package/dist/esm/ix-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ix-chip.entry.js +6 -5
- package/dist/esm/ix-chip.entry.js.map +1 -1
- package/dist/esm/ix-col_4.entry.js +1 -1
- package/dist/esm/ix-content-header.entry.js +1 -1
- package/dist/esm/ix-date-dropdown.entry.js +1 -1
- package/dist/esm/ix-date-input.entry.js +10 -5
- package/dist/esm/ix-date-input.entry.js.map +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-item.entry.js +1 -1
- package/dist/esm/ix-dropdown.entry.js +1 -1
- package/dist/esm/ix-dropdown.entry.js.map +1 -1
- package/dist/esm/ix-event-list-item.entry.js +2 -2
- package/dist/esm/ix-event-list-item.entry.js.map +1 -1
- package/dist/esm/ix-expanding-search.entry.js +2 -2
- package/dist/esm/ix-expanding-search.entry.js.map +1 -1
- package/dist/esm/ix-field-label_2.entry.js +2 -2
- package/dist/esm/ix-filter-chip_2.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 +2 -2
- package/dist/esm/ix-group.entry.js.map +1 -1
- package/dist/esm/ix-helper-text.entry.js +2 -2
- package/dist/esm/ix-icon-button.ix-spinner.entry.js.map +1 -1
- package/dist/esm/ix-icon-button_2.entry.js +1 -1
- package/dist/esm/ix-icon-button_2.entry.js.map +1 -1
- package/dist/esm/ix-icon-toggle-button.entry.js +10 -3
- package/dist/esm/ix-icon-toggle-button.entry.js.map +1 -1
- package/dist/esm/ix-input.entry.js +8 -7
- package/dist/esm/ix-input.entry.js.map +1 -1
- package/dist/esm/ix-kpi.entry.js +2 -2
- package/dist/esm/ix-kpi.entry.js.map +1 -1
- package/dist/esm/ix-link-button.entry.js +2 -2
- package/dist/esm/ix-link-button.entry.js.map +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-news.entry.js +1 -1
- package/dist/esm/ix-menu-about.entry.js +2 -2
- package/dist/esm/ix-menu-avatar.entry.js +2 -2
- package/dist/esm/ix-menu-avatar.entry.js.map +1 -1
- package/dist/esm/ix-menu-category.entry.js +1 -1
- package/dist/esm/ix-menu-expand-icon.entry.js +1 -1
- package/dist/esm/ix-menu-item.entry.js +1 -1
- package/dist/esm/{ix-menu-settings-B4RirRi3.js → ix-menu-settings-ofXmUBnS.js} +3 -3
- package/dist/esm/{ix-menu-settings-B4RirRi3.js.map → ix-menu-settings-ofXmUBnS.js.map} +1 -1
- package/dist/esm/ix-menu-settings.entry.js +2 -2
- package/dist/esm/ix-menu.entry.js +3 -3
- 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-number-input.entry.js +1 -1
- package/dist/esm/ix-pagination.entry.js +2 -2
- package/dist/esm/ix-pagination.entry.js.map +1 -1
- package/dist/esm/ix-pane.entry.js +1 -1
- package/dist/esm/ix-pill.entry.js +3 -4
- package/dist/esm/ix-pill.entry.js.map +1 -1
- package/dist/esm/ix-radio-group.entry.js +2 -2
- package/dist/esm/ix-radio-group.entry.js.map +1 -1
- package/dist/esm/ix-radio.entry.js +4 -4
- package/dist/esm/ix-radio.entry.js.map +1 -1
- package/dist/esm/ix-select.entry.js +2 -2
- package/dist/esm/ix-select.entry.js.map +1 -1
- package/dist/esm/ix-slider.entry.js +7 -7
- package/dist/esm/ix-slider.entry.js.map +1 -1
- 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-time-picker.entry.js +2 -2
- package/dist/esm/ix-time-picker.entry.js.map +1 -1
- package/dist/esm/ix-toast.entry.js +1 -1
- package/dist/esm/ix-toggle.entry.js +1 -1
- package/dist/esm/ix-toggle.entry.js.map +1 -1
- package/dist/esm/ix-tree-item.entry.js +1 -1
- package/dist/esm/ix-upload.entry.js +1 -1
- package/dist/esm/ix-workflow-step.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{modal-DUew4SCE.js → modal-hSHQdjTH.js} +8 -7
- package/dist/esm/modal-hSHQdjTH.js.map +1 -0
- package/dist/esm/siemens-ix.js +1 -1
- package/dist/siemens-ix/index.esm.js +1 -1
- package/dist/siemens-ix/index.esm.js.map +1 -1
- package/dist/siemens-ix/ix-avatar.ix-menu-avatar-item.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-blind.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-breadcrumb-item.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-button.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-category-filter.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-checkbox-group.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-chip.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-date-input.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-dropdown.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-event-list-item.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-expanding-search.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-group.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-icon-button.ix-spinner.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-icon-toggle-button.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-input.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-kpi.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-link-button.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-menu-avatar.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-pagination.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-pill.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-radio-group.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-radio.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-select.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-slider.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-time-picker.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-toggle.entry.esm.js.map +1 -1
- package/dist/siemens-ix/p-02d3b161.entry.js +2 -0
- package/dist/siemens-ix/{p-78f99962.entry.js.map → p-02d3b161.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-a289764d.entry.js → p-07da3f73.entry.js} +2 -2
- package/dist/siemens-ix/{p-a289764d.entry.js.map → p-07da3f73.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-b11fe6c8.entry.js → p-09e44529.entry.js} +2 -2
- package/dist/siemens-ix/{p-af701797.entry.js → p-0e072d3b.entry.js} +2 -2
- package/dist/siemens-ix/{p-827653a3.entry.js → p-0fd654c3.entry.js} +2 -2
- package/dist/siemens-ix/p-12a439b5.entry.js +2 -0
- package/dist/siemens-ix/{p-8e525190.entry.js.map → p-12a439b5.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-9bbca220.entry.js → p-19d1ccda.entry.js} +2 -2
- package/dist/siemens-ix/{p-07c17517.entry.js → p-1f7453c6.entry.js} +2 -2
- package/dist/siemens-ix/{p-d2da2e45.entry.js → p-25132109.entry.js} +2 -2
- package/dist/siemens-ix/{p-ac4548a8.entry.js → p-260f60b2.entry.js} +2 -2
- package/dist/siemens-ix/{p-70cbacb8.entry.js → p-270566ba.entry.js} +2 -2
- package/dist/siemens-ix/{p-70cbacb8.entry.js.map → p-270566ba.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-aca27756.entry.js → p-29f30c68.entry.js} +2 -2
- package/dist/siemens-ix/p-2bea83e5.entry.js +2 -0
- package/dist/siemens-ix/p-2bea83e5.entry.js.map +1 -0
- package/dist/siemens-ix/{p-9646b346.entry.js → p-2d5b40e2.entry.js} +2 -2
- package/dist/siemens-ix/{p-8804a378.entry.js → p-2faf52f9.entry.js} +2 -2
- package/dist/siemens-ix/p-2faf52f9.entry.js.map +1 -0
- package/dist/siemens-ix/p-31e1093d.entry.js +2 -0
- package/dist/siemens-ix/{p-215df096.entry.js.map → p-31e1093d.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-163e742f.entry.js → p-3abfe41a.entry.js} +2 -2
- package/dist/siemens-ix/{p-163e742f.entry.js.map → p-3abfe41a.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-79febe81.entry.js → p-3cba58aa.entry.js} +2 -2
- package/dist/siemens-ix/{p-ca328fc2.entry.js → p-3edf32c2.entry.js} +2 -2
- package/dist/siemens-ix/p-4712afcc.entry.js +2 -0
- package/dist/siemens-ix/{p-18a47d9f.entry.js.map → p-4712afcc.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-a963c368.entry.js → p-47bb727f.entry.js} +2 -2
- package/dist/siemens-ix/p-4ab41e0d.entry.js +2 -0
- package/dist/siemens-ix/p-4ab41e0d.entry.js.map +1 -0
- package/dist/siemens-ix/{p-cbf6c3bf.entry.js → p-4b8fefdc.entry.js} +2 -2
- package/dist/siemens-ix/{p-1ff3556a.entry.js → p-4f631774.entry.js} +2 -2
- package/dist/siemens-ix/{p-6de38c2a.entry.js → p-501c0a17.entry.js} +2 -2
- package/dist/siemens-ix/p-501c0a17.entry.js.map +1 -0
- package/dist/siemens-ix/{p-09b83f0e.entry.js → p-51cbd678.entry.js} +2 -2
- package/dist/siemens-ix/{p-ee76fac1.entry.js → p-545498c8.entry.js} +2 -2
- package/dist/siemens-ix/{p-dd11dd49.entry.js → p-573527cc.entry.js} +2 -2
- package/dist/siemens-ix/{p-dd11dd49.entry.js.map → p-573527cc.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-8702121e.entry.js → p-58609f3a.entry.js} +2 -2
- package/dist/siemens-ix/p-587541f3.entry.js +2 -0
- package/dist/siemens-ix/{p-5b0d1cc9.entry.js.map → p-587541f3.entry.js.map} +1 -1
- package/dist/siemens-ix/p-593a640f.entry.js +2 -0
- package/dist/siemens-ix/{p-ff072152.entry.js.map → p-593a640f.entry.js.map} +1 -1
- package/dist/siemens-ix/p-5ebce6e6.entry.js +2 -0
- package/dist/siemens-ix/p-61dc07d9.entry.js +2 -0
- package/dist/siemens-ix/p-61dc07d9.entry.js.map +1 -0
- package/dist/siemens-ix/{p-158d9068.entry.js → p-66eaa236.entry.js} +2 -2
- package/dist/siemens-ix/{p-521dfa2a.entry.js → p-6cd1047e.entry.js} +2 -2
- package/dist/siemens-ix/p-6d3cf3f3.entry.js +2 -0
- package/dist/siemens-ix/p-6d3cf3f3.entry.js.map +1 -0
- package/dist/siemens-ix/p-758e81ae.entry.js +2 -0
- package/dist/siemens-ix/{p-ca8a2b16.entry.js.map → p-758e81ae.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-d132ce81.entry.js → p-798907cb.entry.js} +2 -2
- package/dist/siemens-ix/{p-7535cbf6.entry.js → p-79fc8e7f.entry.js} +2 -2
- package/dist/siemens-ix/p-8858e9b8.entry.js +2 -0
- package/dist/siemens-ix/{p-071f63d6.entry.js.map → p-8858e9b8.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-1d28d516.entry.js → p-8e5ac73d.entry.js} +2 -2
- package/dist/siemens-ix/{p-8c24d360.entry.js → p-8eba36e2.entry.js} +2 -2
- package/dist/siemens-ix/{p-44670707.entry.js → p-9bd19df7.entry.js} +2 -2
- package/dist/siemens-ix/{p-CFHLJNAe.js → p-BhiPH59d.js} +2 -2
- package/dist/siemens-ix/{p-CFHLJNAe.js.map → p-BhiPH59d.js.map} +1 -1
- package/dist/siemens-ix/p-C9vPes-N.js +2 -0
- package/dist/siemens-ix/p-C9vPes-N.js.map +1 -0
- package/dist/siemens-ix/{p-BKgqKHZU.js → p-D81W7llw.js} +2 -2
- package/dist/siemens-ix/{p-BKgqKHZU.js.map → p-D81W7llw.js.map} +1 -1
- package/dist/siemens-ix/{p-06843648.entry.js → p-a25bd5ef.entry.js} +2 -2
- package/dist/siemens-ix/{p-bf8e97d7.entry.js → p-a2bcae6b.entry.js} +2 -2
- package/dist/siemens-ix/{p-dd627440.entry.js → p-a797e935.entry.js} +2 -2
- package/dist/siemens-ix/p-ad6b0196.entry.js +2 -0
- package/dist/siemens-ix/{p-a4d17743.entry.js.map → p-ad6b0196.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-19e9505f.entry.js → p-b60d8b91.entry.js} +2 -2
- package/dist/siemens-ix/{p-2e4b9c1a.entry.js → p-c0df311f.entry.js} +2 -2
- package/dist/siemens-ix/{p-37f6a541.entry.js → p-c9050427.entry.js} +2 -2
- package/dist/siemens-ix/p-cabf35ff.entry.js +2 -0
- package/dist/siemens-ix/{p-781e0057.entry.js.map → p-cabf35ff.entry.js.map} +1 -1
- package/dist/siemens-ix/p-cc7bbfe5.entry.js +2 -0
- package/dist/siemens-ix/p-cc7bbfe5.entry.js.map +1 -0
- package/dist/siemens-ix/p-d1039043.entry.js +2 -0
- package/dist/siemens-ix/p-d1039043.entry.js.map +1 -0
- package/dist/siemens-ix/{p-2b496519.entry.js → p-d3a4559a.entry.js} +2 -2
- package/dist/siemens-ix/{p-32488953.entry.js → p-d691ca65.entry.js} +2 -2
- package/dist/siemens-ix/p-d691ca65.entry.js.map +1 -0
- package/dist/siemens-ix/{p-b6966cc0.entry.js → p-e40c7369.entry.js} +2 -2
- package/dist/siemens-ix/{p-8df5873d.entry.js → p-e50edf8d.entry.js} +2 -2
- package/dist/siemens-ix/{p-8df5873d.entry.js.map → p-e50edf8d.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-ea310106.entry.js → p-e8c1c88f.entry.js} +2 -2
- package/dist/siemens-ix/{p-BXguuvvE.js → p-eKeYJJIg.js} +2 -2
- package/dist/siemens-ix/{p-BXguuvvE.js.map → p-eKeYJJIg.js.map} +1 -1
- package/dist/siemens-ix/p-eefe2629.entry.js +2 -0
- package/dist/siemens-ix/{p-23a50a0c.entry.js.map → p-eefe2629.entry.js.map} +1 -1
- package/dist/siemens-ix/p-f18ea6b8.entry.js +2 -0
- package/dist/siemens-ix/p-f18ea6b8.entry.js.map +1 -0
- package/dist/siemens-ix/{p-CrTP-icT.js → p-v48bcPT9.js} +2 -2
- package/dist/siemens-ix/{p-CrTP-icT.js.map → p-v48bcPT9.js.map} +1 -1
- package/dist/siemens-ix/siemens-ix-core.css +1 -1
- package/dist/siemens-ix/siemens-ix.css +14 -3
- package/dist/siemens-ix/siemens-ix.esm.js +1 -1
- package/dist/types/components/application-header/application-header.d.ts +1 -1
- package/dist/types/components/application-sidebar/events.d.ts +2 -2
- package/dist/types/components/blind/blind.d.ts +1 -1
- package/dist/types/components/button/base-button.d.ts +1 -1
- package/dist/types/components/button/button.d.ts +7 -0
- package/dist/types/components/button/test/button.ct.d.ts +1 -0
- package/dist/types/components/card-accordion/card-accordion.d.ts +1 -1
- package/dist/types/components/category-filter/category-filter.d.ts +1 -1
- package/dist/types/components/date-input/date-input.d.ts +1 -1
- package/dist/types/components/date-picker/date-picker.d.ts +2 -2
- package/dist/types/components/dropdown/dropdown-controller.d.ts +2 -2
- package/dist/types/components/dropdown/dropdown.d.ts +1 -1
- package/dist/types/components/field-wrapper/helper-text-util.d.ts +1 -1
- package/dist/types/components/group/group.d.ts +1 -1
- package/dist/types/components/icon-toggle-button/icon-toggle-button.d.ts +7 -0
- package/dist/types/components/menu/menu.d.ts +5 -5
- package/dist/types/components/modal/modal.d.ts +1 -1
- package/dist/types/components/pane/pane.d.ts +1 -1
- package/dist/types/components/select/select.d.ts +1 -1
- package/dist/types/components/select-item/select-item.d.ts +1 -1
- package/dist/types/components/slider/slider.d.ts +2 -2
- package/dist/types/components/tabs/tabs.d.ts +1 -1
- package/dist/types/components/time-picker/time-picker.d.ts +1 -1
- package/dist/types/components/utils/application-layout/context.d.ts +1 -1
- package/dist/types/components/utils/application-layout/service.d.ts +1 -1
- package/dist/types/components/utils/context.d.ts +2 -2
- package/dist/types/components/utils/find-element.d.ts +1 -1
- package/dist/types/components/utils/input/validation.d.ts +1 -1
- package/dist/types/components/utils/menu-service/menu-service.d.ts +1 -1
- package/dist/types/components/utils/shadow-dom.d.ts +1 -1
- package/dist/types/components/validation-tooltip/validation-tooltip.d.ts +2 -2
- package/dist/types/components.d.ts +22 -2
- package/dist/types/tests/utils/test/index.d.ts +1 -1
- package/hydrate/index.js +94 -62
- package/hydrate/index.mjs +94 -62
- package/package.json +17 -11
- package/scss/components/_links.scss +15 -2
- package/scss/mixins/_hover.scss +9 -1
- package/components/p-C8xOvcAt.js +0 -131
- package/components/p-C8xOvcAt.js.map +0 -1
- package/components/p-D9Zr-lKz.js.map +0 -1
- package/components/p-Dn_WjwtW.js.map +0 -1
- package/components/p-HblhO3lB.js +0 -103
- package/components/p-d7CnwTHv.js +0 -130
- package/dist/cjs/modal-CY_zQjvm.js.map +0 -1
- package/dist/esm/modal-DUew4SCE.js.map +0 -1
- package/dist/siemens-ix/p-003f8d27.entry.js +0 -2
- package/dist/siemens-ix/p-04338b3f.entry.js +0 -2
- package/dist/siemens-ix/p-04338b3f.entry.js.map +0 -1
- package/dist/siemens-ix/p-0443dc8d.entry.js +0 -2
- package/dist/siemens-ix/p-0443dc8d.entry.js.map +0 -1
- package/dist/siemens-ix/p-071f63d6.entry.js +0 -2
- package/dist/siemens-ix/p-18a47d9f.entry.js +0 -2
- package/dist/siemens-ix/p-215df096.entry.js +0 -2
- package/dist/siemens-ix/p-23a50a0c.entry.js +0 -2
- package/dist/siemens-ix/p-27b13c4c.entry.js +0 -2
- package/dist/siemens-ix/p-27b13c4c.entry.js.map +0 -1
- package/dist/siemens-ix/p-32488953.entry.js.map +0 -1
- package/dist/siemens-ix/p-5b0d1cc9.entry.js +0 -2
- package/dist/siemens-ix/p-5fe74d24.entry.js +0 -2
- package/dist/siemens-ix/p-5fe74d24.entry.js.map +0 -1
- package/dist/siemens-ix/p-6de38c2a.entry.js.map +0 -1
- package/dist/siemens-ix/p-781e0057.entry.js +0 -2
- package/dist/siemens-ix/p-78f99962.entry.js +0 -2
- package/dist/siemens-ix/p-8804a378.entry.js.map +0 -1
- package/dist/siemens-ix/p-8e525190.entry.js +0 -2
- package/dist/siemens-ix/p-9bac6252.entry.js +0 -2
- package/dist/siemens-ix/p-9bac6252.entry.js.map +0 -1
- package/dist/siemens-ix/p-Bdv-vpZz.js +0 -2
- package/dist/siemens-ix/p-Bdv-vpZz.js.map +0 -1
- package/dist/siemens-ix/p-a4d17743.entry.js +0 -2
- package/dist/siemens-ix/p-c8fe1a7e.entry.js +0 -2
- package/dist/siemens-ix/p-c8fe1a7e.entry.js.map +0 -1
- package/dist/siemens-ix/p-ca8a2b16.entry.js +0 -2
- package/dist/siemens-ix/p-da040b8b.entry.js +0 -2
- package/dist/siemens-ix/p-da040b8b.entry.js.map +0 -1
- package/dist/siemens-ix/p-ff072152.entry.js +0 -2
- /package/dist/siemens-ix/{p-b11fe6c8.entry.js.map → p-09e44529.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-af701797.entry.js.map → p-0e072d3b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-827653a3.entry.js.map → p-0fd654c3.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9bbca220.entry.js.map → p-19d1ccda.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-07c17517.entry.js.map → p-1f7453c6.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d2da2e45.entry.js.map → p-25132109.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ac4548a8.entry.js.map → p-260f60b2.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-aca27756.entry.js.map → p-29f30c68.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9646b346.entry.js.map → p-2d5b40e2.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-79febe81.entry.js.map → p-3cba58aa.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ca328fc2.entry.js.map → p-3edf32c2.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-a963c368.entry.js.map → p-47bb727f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-cbf6c3bf.entry.js.map → p-4b8fefdc.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1ff3556a.entry.js.map → p-4f631774.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-09b83f0e.entry.js.map → p-51cbd678.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ee76fac1.entry.js.map → p-545498c8.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8702121e.entry.js.map → p-58609f3a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-003f8d27.entry.js.map → p-5ebce6e6.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-158d9068.entry.js.map → p-66eaa236.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-521dfa2a.entry.js.map → p-6cd1047e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d132ce81.entry.js.map → p-798907cb.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7535cbf6.entry.js.map → p-79fc8e7f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1d28d516.entry.js.map → p-8e5ac73d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8c24d360.entry.js.map → p-8eba36e2.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-44670707.entry.js.map → p-9bd19df7.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-06843648.entry.js.map → p-a25bd5ef.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-bf8e97d7.entry.js.map → p-a2bcae6b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-dd627440.entry.js.map → p-a797e935.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-19e9505f.entry.js.map → p-b60d8b91.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2e4b9c1a.entry.js.map → p-c0df311f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-37f6a541.entry.js.map → p-c9050427.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2b496519.entry.js.map → p-d3a4559a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b6966cc0.entry.js.map → p-e40c7369.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ea310106.entry.js.map → p-e8c1c88f.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"ix-date-input.entry.cjs.js","mappings":"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","names":["makeRef","createClassMutationObserver","addDisposableChangesAndVisibilityObservers","adjustPaddingForStartAndEnd","DateTime","dropdownController","h","SlotStart","SlotEnd","iconCalendar","Host","HookValidationLifecycle"],"sources":["src/components/date-input/date-input.scss?tag=ix-date-input&encapsulation=shadow","src/components/date-input/date-input.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@import 'mixins/shadow-dom/component';\n@import 'mixins/input';\n@import './../input/input.mixins.scss';\n\n@include input-field;\n\n:host {\n @include ix-component;\n\n display: inline-block;\n position: relative;\n\n input {\n width: 100%;\n height: 100%;\n }\n\n .calendar-hidden {\n display: none;\n }\n}\n\n:host(.readonly) {\n input {\n pointer-events: none;\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\nimport { iconCalendar } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { dropdownController } from '../dropdown/dropdown-controller';\nimport { SlotEnd, SlotStart } from '../input/input.fc';\nimport {\n DisposableChangesAndVisibilityObservers,\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n} from '../input/input.util';\nimport {\n ClassMutationObserver,\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n createClassMutationObserver,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\n\nexport type DateInputValidityState = {\n patternMismatch: boolean;\n invalidReason?: string;\n};\n\n/**\n * @form-ready\n *\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-date-input',\n styleUrl: 'date-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class DateInput implements IxInputFieldComponent<string | undefined> {\n @Element() hostElement!: HTMLIxDateInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * name of the input element\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * placeholder of the input element\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * value of the input element\n */\n @Prop({ reflect: true, mutable: true }) value?: string = '';\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n */\n @Prop() locale?: string;\n\n /**\n * Date format string.\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n */\n @Prop() format: string = 'yyyy/LL/dd';\n\n /**\n * required attribute\n */\n @Prop() required?: boolean;\n\n /**\n * helper text below the input field\n */\n @Prop() helperText?: string;\n\n /**\n * label of the input field\n */\n @Prop() label?: string;\n\n /**\n * error text below the input field\n */\n @Prop({ reflect: true }) invalidText?: string;\n\n /**\n * readonly attribute\n */\n @Prop() readonly: boolean = false;\n\n /**\n * disabled attribute\n */\n @Prop() disabled: boolean = false;\n\n /**\n * info text below the input field\n */\n @Prop() infoText?: string;\n\n /**\n * warning text below the input field\n */\n @Prop() warningText?: string;\n\n /**\n * valid text below the input field\n */\n @Prop() validText?: string;\n\n /**\n * show text as tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * i18n string for the error message when the date is not parsable\n */\n @Prop({ attribute: 'i18n-error-date-unparsable' }) i18nErrorDateUnparsable =\n 'Date is not valid';\n\n /**\n * Shows week numbers displayed on the left side of the date picker\n *\n * @since 3.0.0\n */\n @Prop() showWeekNumbers = false;\n\n /**\n * Input change event.\n */\n @Event({ cancelable: false }) valueChange!: EventEmitter<string | undefined>;\n\n /**\n * Validation state change event.\n */\n @Event() validityStateChange!: EventEmitter<DateInputValidityState>;\n\n /** @internal */\n @Event() ixFocus!: EventEmitter<void>;\n\n /** @internal */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() show = false;\n @State() from: string | null = null;\n @State() isInputInvalid = false;\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() focus = false;\n\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n\n private readonly datepickerRef = makeRef<HTMLIxDatePickerElement>();\n\n private readonly inputElementRef = makeRef<HTMLInputElement>();\n private readonly dropdownElementRef = makeRef<HTMLIxDropdownElement>();\n private classObserver?: ClassMutationObserver;\n private invalidReason?: string;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n updateFormInternalValue(value: string | undefined): void {\n this.formInternals.setFormValue(value);\n this.value = value;\n }\n\n connectedCallback(): void {\n this.classObserver = createClassMutationObserver(this.hostElement, () =>\n this.checkClassList()\n );\n\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n componentWillLoad(): void {\n this.onInput(this.value);\n if (this.isInputInvalid) {\n this.from = null;\n } else {\n this.watchValue();\n }\n\n this.checkClassList();\n this.updateFormInternalValue(this.value);\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputElementRef.current\n );\n }\n\n disconnectedCallback(): void {\n this.classObserver?.destroy();\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n @Watch('value')\n watchValue() {\n this.from = this.value;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /** @internal */\n @Method()\n getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return Promise.resolve(this.formInternals.form);\n }\n\n async onInput(value: string | undefined) {\n this.value = value;\n if (!value) {\n this.valueChange.emit(value);\n return;\n }\n\n if (!this.format) {\n return;\n }\n\n const date = DateTime.fromFormat(value, this.format);\n if (date.isValid) {\n this.isInputInvalid = false;\n\n this.updateFormInternalValue(value);\n this.closeDropdown();\n } else {\n this.isInputInvalid = true;\n this.invalidReason = date.invalidReason;\n }\n\n this.valueChange.emit(value);\n }\n\n onCalenderClick(event: Event) {\n if (!this.show) {\n event.stopPropagation();\n event.preventDefault();\n this.openDropdown();\n }\n\n if (this.inputElementRef.current) {\n this.inputElementRef.current.focus();\n }\n }\n\n async openDropdown() {\n const dropdownElement = await this.dropdownElementRef.waitForCurrent();\n const id = dropdownElement.getAttribute('data-ix-dropdown');\n\n dropdownController.dismissAll();\n if (!id) {\n return;\n }\n\n const dropdown = dropdownController.getDropdownById(id);\n if (!dropdown) {\n return;\n }\n dropdownController.present(dropdown);\n }\n\n async closeDropdown() {\n const dropdownElement = await this.dropdownElementRef.waitForCurrent();\n const id = dropdownElement.getAttribute('data-ix-dropdown');\n\n if (!id) {\n return;\n }\n\n const dropdown = dropdownController.getDropdownById(id);\n if (!dropdown) {\n return;\n }\n dropdownController.dismiss(dropdown);\n }\n\n private checkClassList() {\n this.isInvalid = this.hostElement.classList.contains('ix-invalid');\n }\n\n private renderInput() {\n return (\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <input\n autoComplete=\"off\"\n class={{\n 'is-invalid': this.isInputInvalid,\n }}\n disabled={this.disabled}\n readOnly={this.readonly}\n readonly={this.readonly}\n required={this.required}\n ref={this.inputElementRef}\n type=\"text\"\n value={this.value ?? ''}\n onInput={(event) => {\n const target = event.target as HTMLInputElement;\n this.onInput(target.value);\n }}\n onClick={(event) => {\n if (this.show) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onFocus={async () => {\n this.openDropdown();\n this.ixFocus.emit();\n }}\n onBlur={() => {\n this.ixBlur.emit();\n this.touched = true;\n }}\n ></input>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n data-testid=\"open-calendar\"\n class={{ 'calendar-hidden': this.disabled || this.readonly }}\n ghost\n icon={iconCalendar}\n onClick={(event) => this.onCalenderClick(event)}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n );\n }\n\n @HookValidationLifecycle()\n hookValidationLifecycle({\n isInfo,\n isInvalid,\n isInvalidByRequired,\n isValid,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired || this.isInputInvalid;\n this.isInfo = isInfo;\n this.isValid = isValid;\n this.isWarning = isWarning;\n }\n\n @Watch('isInputInvalid')\n async onInputValidationChange() {\n const state = await this.getValidityState();\n this.validityStateChange.emit({\n patternMismatch: state.patternMismatch,\n invalidReason: this.invalidReason,\n });\n }\n\n /** @internal */\n @Method()\n getValidityState(): Promise<ValidityState> {\n return Promise.resolve({\n badInput: false,\n customError: false,\n patternMismatch: this.isInputInvalid,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valid: !this.isInputInvalid,\n valueMissing: !!this.required && !this.value,\n });\n }\n\n /**\n * Get the native input element\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputElementRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Returns whether the text field has been touched.\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const invalidText = this.isInputInvalid\n ? this.i18nErrorDateUnparsable\n : this.invalidText;\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n label={this.label}\n helperText={this.helperText}\n isInvalid={this.isInvalid}\n invalidText={invalidText}\n infoText={this.infoText}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n warningText={this.warningText}\n isValid={this.isValid}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n required={this.required}\n controlRef={this.inputElementRef}\n >\n {this.renderInput()}\n </ix-field-wrapper>\n <ix-dropdown\n data-testid=\"date-dropdown\"\n trigger={this.inputElementRef.waitForCurrent()}\n ref={this.dropdownElementRef}\n closeBehavior=\"outside\"\n suppressOverflowBehavior={true}\n show={this.show}\n onShowChanged={(event) => {\n this.show = event.detail;\n }}\n >\n <ix-date-picker\n ref={this.datepickerRef}\n format={this.format}\n locale={this.locale}\n range={false}\n from={this.from ?? ''}\n onDateChange={(event) => {\n const { from } = event.detail;\n this.onInput(from);\n }}\n showWeekNumbers={this.showWeekNumbers}\n ></ix-date-picker>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"ix-date-input.entry.cjs.js","mappings":"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","names":["makeRef","createClassMutationObserver","addDisposableChangesAndVisibilityObservers","adjustPaddingForStartAndEnd","DateTime","dropdownController","h","SlotStart","SlotEnd","iconCalendar","Host","HookValidationLifecycle"],"sources":["src/components/date-input/date-input.scss?tag=ix-date-input&encapsulation=shadow","src/components/date-input/date-input.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@import 'mixins/shadow-dom/component';\n@import 'mixins/input';\n@import './../input/input.mixins.scss';\n\n@include input-field;\n\n:host {\n @include ix-component;\n\n display: inline-block;\n position: relative;\n\n input {\n width: 100%;\n height: 100%;\n }\n\n .calendar-hidden {\n display: none;\n }\n}\n\n:host(.readonly) {\n input {\n pointer-events: none;\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\nimport { iconCalendar } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { dropdownController } from '../dropdown/dropdown-controller';\nimport { SlotEnd, SlotStart } from '../input/input.fc';\nimport {\n DisposableChangesAndVisibilityObservers,\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n} from '../input/input.util';\nimport {\n ClassMutationObserver,\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n createClassMutationObserver,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\n\nexport type DateInputValidityState = {\n patternMismatch: boolean;\n invalidReason?: string;\n};\n\n/**\n * @form-ready\n *\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-date-input',\n styleUrl: 'date-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class DateInput implements IxInputFieldComponent<string | undefined> {\n @Element() hostElement!: HTMLIxDateInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * name of the input element\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * placeholder of the input element\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * value of the input element\n */\n @Prop({ reflect: true, mutable: true }) value?: string = '';\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n */\n @Prop() locale?: string;\n\n /**\n * Date format string.\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n */\n @Prop() format: string = 'yyyy/LL/dd';\n\n /**\n * required attribute\n */\n @Prop() required?: boolean;\n\n /**\n * helper text below the input field\n */\n @Prop() helperText?: string;\n\n /**\n * label of the input field\n */\n @Prop() label?: string;\n\n /**\n * error text below the input field\n */\n @Prop({ reflect: true }) invalidText?: string;\n\n /**\n * readonly attribute\n */\n @Prop() readonly: boolean = false;\n\n /**\n * disabled attribute\n */\n @Prop() disabled: boolean = false;\n\n /**\n * info text below the input field\n */\n @Prop() infoText?: string;\n\n /**\n * warning text below the input field\n */\n @Prop() warningText?: string;\n\n /**\n * valid text below the input field\n */\n @Prop() validText?: string;\n\n /**\n * show text as tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * i18n string for the error message when the date is not parsable\n */\n @Prop({ attribute: 'i18n-error-date-unparsable' }) i18nErrorDateUnparsable =\n 'Date is not valid';\n\n /**\n * Shows week numbers displayed on the left side of the date picker\n *\n * @since 3.0.0\n */\n @Prop() showWeekNumbers = false;\n\n /**\n * Input change event.\n */\n @Event({ cancelable: false }) valueChange!: EventEmitter<string | undefined>;\n\n /**\n * Validation state change event.\n */\n @Event() validityStateChange!: EventEmitter<DateInputValidityState>;\n\n /** @internal */\n @Event() ixFocus!: EventEmitter<void>;\n\n /** @internal */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() show = false;\n @State() from?: string | null = null;\n @State() isInputInvalid = false;\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() focus = false;\n\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n\n private readonly datepickerRef = makeRef<HTMLIxDatePickerElement>();\n\n private readonly inputElementRef = makeRef<HTMLInputElement>();\n private readonly dropdownElementRef = makeRef<HTMLIxDropdownElement>();\n private classObserver?: ClassMutationObserver;\n private invalidReason?: string;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n updateFormInternalValue(value: string | undefined): void {\n if (value) {\n this.formInternals.setFormValue(value);\n } else {\n this.formInternals.setFormValue(null);\n }\n this.value = value;\n }\n\n connectedCallback(): void {\n this.classObserver = createClassMutationObserver(this.hostElement, () =>\n this.checkClassList()\n );\n\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n componentWillLoad(): void {\n this.onInput(this.value);\n if (this.isInputInvalid) {\n this.from = null;\n } else {\n this.watchValue();\n }\n\n this.checkClassList();\n this.updateFormInternalValue(this.value);\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputElementRef.current\n );\n }\n\n disconnectedCallback(): void {\n this.classObserver?.destroy();\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n @Watch('value')\n watchValue() {\n this.from = this.value;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /** @internal */\n @Method()\n getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return Promise.resolve(this.formInternals.form);\n }\n\n async onInput(value: string | undefined) {\n this.value = value;\n if (!value) {\n this.valueChange.emit(value);\n return;\n }\n\n if (!this.format) {\n return;\n }\n\n const date = DateTime.fromFormat(value, this.format);\n if (date.isValid) {\n this.isInputInvalid = false;\n\n this.updateFormInternalValue(value);\n this.closeDropdown();\n } else {\n this.isInputInvalid = true;\n this.invalidReason = date.invalidReason;\n }\n\n this.valueChange.emit(value);\n }\n\n onCalenderClick(event: Event) {\n if (!this.show) {\n event.stopPropagation();\n event.preventDefault();\n this.openDropdown();\n }\n\n if (this.inputElementRef.current) {\n this.inputElementRef.current.focus();\n }\n }\n\n async openDropdown() {\n const dropdownElement = await this.dropdownElementRef.waitForCurrent();\n const id = dropdownElement.getAttribute('data-ix-dropdown');\n\n dropdownController.dismissAll();\n if (!id) {\n return;\n }\n\n const dropdown = dropdownController.getDropdownById(id);\n if (!dropdown) {\n return;\n }\n dropdownController.present(dropdown);\n }\n\n async closeDropdown() {\n const dropdownElement = await this.dropdownElementRef.waitForCurrent();\n const id = dropdownElement.getAttribute('data-ix-dropdown');\n\n if (!id) {\n return;\n }\n\n const dropdown = dropdownController.getDropdownById(id);\n if (!dropdown) {\n return;\n }\n dropdownController.dismiss(dropdown);\n }\n\n private checkClassList() {\n this.isInvalid = this.hostElement.classList.contains('ix-invalid');\n }\n\n private renderInput() {\n return (\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <input\n autoComplete=\"off\"\n class={{\n 'is-invalid': this.isInputInvalid,\n }}\n disabled={this.disabled}\n readOnly={this.readonly}\n readonly={this.readonly}\n required={this.required}\n ref={this.inputElementRef}\n type=\"text\"\n value={this.value ?? ''}\n onInput={(event) => {\n const target = event.target as HTMLInputElement;\n this.onInput(target.value);\n }}\n onClick={(event) => {\n if (this.show) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onFocus={async () => {\n this.openDropdown();\n this.ixFocus.emit();\n }}\n onBlur={() => {\n this.ixBlur.emit();\n this.touched = true;\n }}\n ></input>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n data-testid=\"open-calendar\"\n class={{ 'calendar-hidden': this.disabled || this.readonly }}\n ghost\n icon={iconCalendar}\n onClick={(event) => this.onCalenderClick(event)}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n );\n }\n\n @HookValidationLifecycle()\n hookValidationLifecycle({\n isInfo,\n isInvalid,\n isInvalidByRequired,\n isValid,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired || this.isInputInvalid;\n this.isInfo = isInfo;\n this.isValid = isValid;\n this.isWarning = isWarning;\n }\n\n @Watch('isInputInvalid')\n async onInputValidationChange() {\n const state = await this.getValidityState();\n this.validityStateChange.emit({\n patternMismatch: state.patternMismatch,\n invalidReason: this.invalidReason,\n });\n }\n\n /** @internal */\n @Method()\n getValidityState(): Promise<ValidityState> {\n return Promise.resolve({\n badInput: false,\n customError: false,\n patternMismatch: this.isInputInvalid,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valid: !this.isInputInvalid,\n valueMissing: !!this.required && !this.value,\n });\n }\n\n /**\n * Get the native input element\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputElementRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Returns whether the text field has been touched.\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const invalidText = this.isInputInvalid\n ? this.i18nErrorDateUnparsable\n : this.invalidText;\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n label={this.label}\n helperText={this.helperText}\n isInvalid={this.isInvalid}\n invalidText={invalidText}\n infoText={this.infoText}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n warningText={this.warningText}\n isValid={this.isValid}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n required={this.required}\n controlRef={this.inputElementRef}\n >\n {this.renderInput()}\n </ix-field-wrapper>\n <ix-dropdown\n data-testid=\"date-dropdown\"\n trigger={this.inputElementRef.waitForCurrent()}\n ref={this.dropdownElementRef}\n closeBehavior=\"outside\"\n suppressOverflowBehavior={true}\n show={this.show}\n onShowChanged={(event) => {\n this.show = event.detail;\n }}\n >\n <ix-date-picker\n ref={this.datepickerRef}\n format={this.format}\n locale={this.locale}\n range={false}\n from={this.from ?? ''}\n onDateChange={(event) => {\n const { from } = event.detail;\n this.onInput(from);\n }}\n showWeekNumbers={this.showWeekNumbers}\n ></ix-date-picker>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ix-date-input.entry.cjs.js","sources":["src/components/date-input/date-input.scss?tag=ix-date-input&encapsulation=shadow","src/components/date-input/date-input.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@import 'mixins/shadow-dom/component';\n@import 'mixins/input';\n@import './../input/input.mixins.scss';\n\n@include input-field;\n\n:host {\n @include ix-component;\n\n display: inline-block;\n position: relative;\n\n input {\n width: 100%;\n height: 100%;\n }\n\n .calendar-hidden {\n display: none;\n }\n}\n\n:host(.readonly) {\n input {\n pointer-events: none;\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\nimport { iconCalendar } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { dropdownController } from '../dropdown/dropdown-controller';\nimport { SlotEnd, SlotStart } from '../input/input.fc';\nimport {\n DisposableChangesAndVisibilityObservers,\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n} from '../input/input.util';\nimport {\n ClassMutationObserver,\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n createClassMutationObserver,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\n\nexport type DateInputValidityState = {\n patternMismatch: boolean;\n invalidReason?: string;\n};\n\n/**\n * @form-ready\n *\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-date-input',\n styleUrl: 'date-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class DateInput implements IxInputFieldComponent<string | undefined> {\n @Element() hostElement!: HTMLIxDateInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * name of the input element\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * placeholder of the input element\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * value of the input element\n */\n @Prop({ reflect: true, mutable: true }) value?: string = '';\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n */\n @Prop() locale?: string;\n\n /**\n * Date format string.\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n */\n @Prop() format: string = 'yyyy/LL/dd';\n\n /**\n * required attribute\n */\n @Prop() required?: boolean;\n\n /**\n * helper text below the input field\n */\n @Prop() helperText?: string;\n\n /**\n * label of the input field\n */\n @Prop() label?: string;\n\n /**\n * error text below the input field\n */\n @Prop({ reflect: true }) invalidText?: string;\n\n /**\n * readonly attribute\n */\n @Prop() readonly: boolean = false;\n\n /**\n * disabled attribute\n */\n @Prop() disabled: boolean = false;\n\n /**\n * info text below the input field\n */\n @Prop() infoText?: string;\n\n /**\n * warning text below the input field\n */\n @Prop() warningText?: string;\n\n /**\n * valid text below the input field\n */\n @Prop() validText?: string;\n\n /**\n * show text as tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * i18n string for the error message when the date is not parsable\n */\n @Prop({ attribute: 'i18n-error-date-unparsable' }) i18nErrorDateUnparsable =\n 'Date is not valid';\n\n /**\n * Shows week numbers displayed on the left side of the date picker\n *\n * @since 3.0.0\n */\n @Prop() showWeekNumbers = false;\n\n /**\n * Input change event.\n */\n @Event({ cancelable: false }) valueChange!: EventEmitter<string | undefined>;\n\n /**\n * Validation state change event.\n */\n @Event() validityStateChange!: EventEmitter<DateInputValidityState>;\n\n /** @internal */\n @Event() ixFocus!: EventEmitter<void>;\n\n /** @internal */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() show = false;\n @State() from: string | null = null;\n @State() isInputInvalid = false;\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() focus = false;\n\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n\n private readonly datepickerRef = makeRef<HTMLIxDatePickerElement>();\n\n private readonly inputElementRef = makeRef<HTMLInputElement>();\n private readonly dropdownElementRef = makeRef<HTMLIxDropdownElement>();\n private classObserver?: ClassMutationObserver;\n private invalidReason?: string;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n updateFormInternalValue(value: string | undefined): void {\n this.formInternals.setFormValue(value);\n this.value = value;\n }\n\n connectedCallback(): void {\n this.classObserver = createClassMutationObserver(this.hostElement, () =>\n this.checkClassList()\n );\n\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n componentWillLoad(): void {\n this.onInput(this.value);\n if (this.isInputInvalid) {\n this.from = null;\n } else {\n this.watchValue();\n }\n\n this.checkClassList();\n this.updateFormInternalValue(this.value);\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputElementRef.current\n );\n }\n\n disconnectedCallback(): void {\n this.classObserver?.destroy();\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n @Watch('value')\n watchValue() {\n this.from = this.value;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /** @internal */\n @Method()\n getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return Promise.resolve(this.formInternals.form);\n }\n\n async onInput(value: string | undefined) {\n this.value = value;\n if (!value) {\n this.valueChange.emit(value);\n return;\n }\n\n if (!this.format) {\n return;\n }\n\n const date = DateTime.fromFormat(value, this.format);\n if (date.isValid) {\n this.isInputInvalid = false;\n\n this.updateFormInternalValue(value);\n this.closeDropdown();\n } else {\n this.isInputInvalid = true;\n this.invalidReason = date.invalidReason;\n }\n\n this.valueChange.emit(value);\n }\n\n onCalenderClick(event: Event) {\n if (!this.show) {\n event.stopPropagation();\n event.preventDefault();\n this.openDropdown();\n }\n\n if (this.inputElementRef.current) {\n this.inputElementRef.current.focus();\n }\n }\n\n async openDropdown() {\n const dropdownElement = await this.dropdownElementRef.waitForCurrent();\n const id = dropdownElement.getAttribute('data-ix-dropdown');\n\n dropdownController.dismissAll();\n if (!id) {\n return;\n }\n\n const dropdown = dropdownController.getDropdownById(id);\n if (!dropdown) {\n return;\n }\n dropdownController.present(dropdown);\n }\n\n async closeDropdown() {\n const dropdownElement = await this.dropdownElementRef.waitForCurrent();\n const id = dropdownElement.getAttribute('data-ix-dropdown');\n\n if (!id) {\n return;\n }\n\n const dropdown = dropdownController.getDropdownById(id);\n if (!dropdown) {\n return;\n }\n dropdownController.dismiss(dropdown);\n }\n\n private checkClassList() {\n this.isInvalid = this.hostElement.classList.contains('ix-invalid');\n }\n\n private renderInput() {\n return (\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <input\n autoComplete=\"off\"\n class={{\n 'is-invalid': this.isInputInvalid,\n }}\n disabled={this.disabled}\n readOnly={this.readonly}\n readonly={this.readonly}\n required={this.required}\n ref={this.inputElementRef}\n type=\"text\"\n value={this.value ?? ''}\n onInput={(event) => {\n const target = event.target as HTMLInputElement;\n this.onInput(target.value);\n }}\n onClick={(event) => {\n if (this.show) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onFocus={async () => {\n this.openDropdown();\n this.ixFocus.emit();\n }}\n onBlur={() => {\n this.ixBlur.emit();\n this.touched = true;\n }}\n ></input>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n data-testid=\"open-calendar\"\n class={{ 'calendar-hidden': this.disabled || this.readonly }}\n ghost\n icon={iconCalendar}\n onClick={(event) => this.onCalenderClick(event)}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n );\n }\n\n @HookValidationLifecycle()\n hookValidationLifecycle({\n isInfo,\n isInvalid,\n isInvalidByRequired,\n isValid,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired || this.isInputInvalid;\n this.isInfo = isInfo;\n this.isValid = isValid;\n this.isWarning = isWarning;\n }\n\n @Watch('isInputInvalid')\n async onInputValidationChange() {\n const state = await this.getValidityState();\n this.validityStateChange.emit({\n patternMismatch: state.patternMismatch,\n invalidReason: this.invalidReason,\n });\n }\n\n /** @internal */\n @Method()\n getValidityState(): Promise<ValidityState> {\n return Promise.resolve({\n badInput: false,\n customError: false,\n patternMismatch: this.isInputInvalid,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valid: !this.isInputInvalid,\n valueMissing: !!this.required && !this.value,\n });\n }\n\n /**\n * Get the native input element\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputElementRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Returns whether the text field has been touched.\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const invalidText = this.isInputInvalid\n ? this.i18nErrorDateUnparsable\n : this.invalidText;\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n label={this.label}\n helperText={this.helperText}\n isInvalid={this.isInvalid}\n invalidText={invalidText}\n infoText={this.infoText}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n warningText={this.warningText}\n isValid={this.isValid}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n required={this.required}\n controlRef={this.inputElementRef}\n >\n {this.renderInput()}\n </ix-field-wrapper>\n <ix-dropdown\n data-testid=\"date-dropdown\"\n trigger={this.inputElementRef.waitForCurrent()}\n ref={this.dropdownElementRef}\n closeBehavior=\"outside\"\n suppressOverflowBehavior={true}\n show={this.show}\n onShowChanged={(event) => {\n this.show = event.detail;\n }}\n >\n <ix-date-picker\n ref={this.datepickerRef}\n format={this.format}\n locale={this.locale}\n range={false}\n from={this.from ?? ''}\n onDateChange={(event) => {\n const { from } = event.detail;\n this.onInput(from);\n }}\n showWeekNumbers={this.showWeekNumbers}\n ></ix-date-picker>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"names":["makeRef","createClassMutationObserver","addDisposableChangesAndVisibilityObservers","adjustPaddingForStartAndEnd","DateTime","dropdownController","h","SlotStart","SlotEnd","iconCalendar","Host","HookValidationLifecycle"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ix-date-input.entry.cjs.js","sources":["src/components/date-input/date-input.scss?tag=ix-date-input&encapsulation=shadow","src/components/date-input/date-input.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@import 'mixins/shadow-dom/component';\n@import 'mixins/input';\n@import './../input/input.mixins.scss';\n\n@include input-field;\n\n:host {\n @include ix-component;\n\n display: inline-block;\n position: relative;\n\n input {\n width: 100%;\n height: 100%;\n }\n\n .calendar-hidden {\n display: none;\n }\n}\n\n:host(.readonly) {\n input {\n pointer-events: none;\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\nimport { iconCalendar } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { dropdownController } from '../dropdown/dropdown-controller';\nimport { SlotEnd, SlotStart } from '../input/input.fc';\nimport {\n DisposableChangesAndVisibilityObservers,\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n} from '../input/input.util';\nimport {\n ClassMutationObserver,\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n createClassMutationObserver,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\n\nexport type DateInputValidityState = {\n patternMismatch: boolean;\n invalidReason?: string;\n};\n\n/**\n * @form-ready\n *\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-date-input',\n styleUrl: 'date-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class DateInput implements IxInputFieldComponent<string | undefined> {\n @Element() hostElement!: HTMLIxDateInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * name of the input element\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * placeholder of the input element\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * value of the input element\n */\n @Prop({ reflect: true, mutable: true }) value?: string = '';\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n */\n @Prop() locale?: string;\n\n /**\n * Date format string.\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n */\n @Prop() format: string = 'yyyy/LL/dd';\n\n /**\n * required attribute\n */\n @Prop() required?: boolean;\n\n /**\n * helper text below the input field\n */\n @Prop() helperText?: string;\n\n /**\n * label of the input field\n */\n @Prop() label?: string;\n\n /**\n * error text below the input field\n */\n @Prop({ reflect: true }) invalidText?: string;\n\n /**\n * readonly attribute\n */\n @Prop() readonly: boolean = false;\n\n /**\n * disabled attribute\n */\n @Prop() disabled: boolean = false;\n\n /**\n * info text below the input field\n */\n @Prop() infoText?: string;\n\n /**\n * warning text below the input field\n */\n @Prop() warningText?: string;\n\n /**\n * valid text below the input field\n */\n @Prop() validText?: string;\n\n /**\n * show text as tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * i18n string for the error message when the date is not parsable\n */\n @Prop({ attribute: 'i18n-error-date-unparsable' }) i18nErrorDateUnparsable =\n 'Date is not valid';\n\n /**\n * Shows week numbers displayed on the left side of the date picker\n *\n * @since 3.0.0\n */\n @Prop() showWeekNumbers = false;\n\n /**\n * Input change event.\n */\n @Event({ cancelable: false }) valueChange!: EventEmitter<string | undefined>;\n\n /**\n * Validation state change event.\n */\n @Event() validityStateChange!: EventEmitter<DateInputValidityState>;\n\n /** @internal */\n @Event() ixFocus!: EventEmitter<void>;\n\n /** @internal */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() show = false;\n @State() from?: string | null = null;\n @State() isInputInvalid = false;\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() focus = false;\n\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n\n private readonly datepickerRef = makeRef<HTMLIxDatePickerElement>();\n\n private readonly inputElementRef = makeRef<HTMLInputElement>();\n private readonly dropdownElementRef = makeRef<HTMLIxDropdownElement>();\n private classObserver?: ClassMutationObserver;\n private invalidReason?: string;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n updateFormInternalValue(value: string | undefined): void {\n if (value) {\n this.formInternals.setFormValue(value);\n } else {\n this.formInternals.setFormValue(null);\n }\n this.value = value;\n }\n\n connectedCallback(): void {\n this.classObserver = createClassMutationObserver(this.hostElement, () =>\n this.checkClassList()\n );\n\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n componentWillLoad(): void {\n this.onInput(this.value);\n if (this.isInputInvalid) {\n this.from = null;\n } else {\n this.watchValue();\n }\n\n this.checkClassList();\n this.updateFormInternalValue(this.value);\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputElementRef.current\n );\n }\n\n disconnectedCallback(): void {\n this.classObserver?.destroy();\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n @Watch('value')\n watchValue() {\n this.from = this.value;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /** @internal */\n @Method()\n getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return Promise.resolve(this.formInternals.form);\n }\n\n async onInput(value: string | undefined) {\n this.value = value;\n if (!value) {\n this.valueChange.emit(value);\n return;\n }\n\n if (!this.format) {\n return;\n }\n\n const date = DateTime.fromFormat(value, this.format);\n if (date.isValid) {\n this.isInputInvalid = false;\n\n this.updateFormInternalValue(value);\n this.closeDropdown();\n } else {\n this.isInputInvalid = true;\n this.invalidReason = date.invalidReason;\n }\n\n this.valueChange.emit(value);\n }\n\n onCalenderClick(event: Event) {\n if (!this.show) {\n event.stopPropagation();\n event.preventDefault();\n this.openDropdown();\n }\n\n if (this.inputElementRef.current) {\n this.inputElementRef.current.focus();\n }\n }\n\n async openDropdown() {\n const dropdownElement = await this.dropdownElementRef.waitForCurrent();\n const id = dropdownElement.getAttribute('data-ix-dropdown');\n\n dropdownController.dismissAll();\n if (!id) {\n return;\n }\n\n const dropdown = dropdownController.getDropdownById(id);\n if (!dropdown) {\n return;\n }\n dropdownController.present(dropdown);\n }\n\n async closeDropdown() {\n const dropdownElement = await this.dropdownElementRef.waitForCurrent();\n const id = dropdownElement.getAttribute('data-ix-dropdown');\n\n if (!id) {\n return;\n }\n\n const dropdown = dropdownController.getDropdownById(id);\n if (!dropdown) {\n return;\n }\n dropdownController.dismiss(dropdown);\n }\n\n private checkClassList() {\n this.isInvalid = this.hostElement.classList.contains('ix-invalid');\n }\n\n private renderInput() {\n return (\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <input\n autoComplete=\"off\"\n class={{\n 'is-invalid': this.isInputInvalid,\n }}\n disabled={this.disabled}\n readOnly={this.readonly}\n readonly={this.readonly}\n required={this.required}\n ref={this.inputElementRef}\n type=\"text\"\n value={this.value ?? ''}\n onInput={(event) => {\n const target = event.target as HTMLInputElement;\n this.onInput(target.value);\n }}\n onClick={(event) => {\n if (this.show) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onFocus={async () => {\n this.openDropdown();\n this.ixFocus.emit();\n }}\n onBlur={() => {\n this.ixBlur.emit();\n this.touched = true;\n }}\n ></input>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n data-testid=\"open-calendar\"\n class={{ 'calendar-hidden': this.disabled || this.readonly }}\n ghost\n icon={iconCalendar}\n onClick={(event) => this.onCalenderClick(event)}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n );\n }\n\n @HookValidationLifecycle()\n hookValidationLifecycle({\n isInfo,\n isInvalid,\n isInvalidByRequired,\n isValid,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired || this.isInputInvalid;\n this.isInfo = isInfo;\n this.isValid = isValid;\n this.isWarning = isWarning;\n }\n\n @Watch('isInputInvalid')\n async onInputValidationChange() {\n const state = await this.getValidityState();\n this.validityStateChange.emit({\n patternMismatch: state.patternMismatch,\n invalidReason: this.invalidReason,\n });\n }\n\n /** @internal */\n @Method()\n getValidityState(): Promise<ValidityState> {\n return Promise.resolve({\n badInput: false,\n customError: false,\n patternMismatch: this.isInputInvalid,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valid: !this.isInputInvalid,\n valueMissing: !!this.required && !this.value,\n });\n }\n\n /**\n * Get the native input element\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputElementRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Returns whether the text field has been touched.\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const invalidText = this.isInputInvalid\n ? this.i18nErrorDateUnparsable\n : this.invalidText;\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n label={this.label}\n helperText={this.helperText}\n isInvalid={this.isInvalid}\n invalidText={invalidText}\n infoText={this.infoText}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n warningText={this.warningText}\n isValid={this.isValid}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n required={this.required}\n controlRef={this.inputElementRef}\n >\n {this.renderInput()}\n </ix-field-wrapper>\n <ix-dropdown\n data-testid=\"date-dropdown\"\n trigger={this.inputElementRef.waitForCurrent()}\n ref={this.dropdownElementRef}\n closeBehavior=\"outside\"\n suppressOverflowBehavior={true}\n show={this.show}\n onShowChanged={(event) => {\n this.show = event.detail;\n }}\n >\n <ix-date-picker\n ref={this.datepickerRef}\n format={this.format}\n locale={this.locale}\n range={false}\n from={this.from ?? ''}\n onDateChange={(event) => {\n const { from } = event.detail;\n this.onInput(from);\n }}\n showWeekNumbers={this.showWeekNumbers}\n ></ix-date-picker>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"names":["makeRef","createClassMutationObserver","addDisposableChangesAndVisibilityObservers","adjustPaddingForStartAndEnd","DateTime","dropdownController","h","SlotStart","SlotEnd","iconCalendar","Host","HookValidationLifecycle"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-CnXGUOZU.js');
|
|
4
|
-
var index$1 = require('./index-
|
|
4
|
+
var index$1 = require('./index-Dlx7IaH3.js');
|
|
5
5
|
var anime_es = require('./anime.es-CgS5X9-e.js');
|
|
6
6
|
|
|
7
7
|
const drawerCss = ":host{top:0;right:0;box-shadow:var(--theme-box-shadow-level-3);display:block;position:absolute;justify-content:flex-start;align-items:center;opacity:0;max-height:100vh;min-height:1.5rem;background-color:var(--theme-color-1);border-radius:0.25rem}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .drawer-container{z-index:100}:host .header{display:flex;position:relative;align-items:center;justify-content:flex-end;padding:0.5rem;width:100%;order:1}:host .header .header-content{flex-grow:1;margin-right:1rem}:host .content{position:relative;flex:1;order:2;height:100%;width:100%;overflow-y:auto}:host(.display-none){display:none}";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-CnXGUOZU.js');
|
|
4
|
-
var index$1 = require('./index-
|
|
4
|
+
var index$1 = require('./index-Dlx7IaH3.js');
|
|
5
5
|
var makeRef = require('./make-ref-BaH6_YJk.js');
|
|
6
6
|
|
|
7
7
|
const dropdownButtonCss = ":host{display:inline-block;position:relative;height:2rem;width:auto}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .hide{display:none}:host .dropdown-button{display:block;position:relative;width:100%;height:100%}:host .dropdown-button>ix-button{width:100%;height:100%}:host .dropdown-button .button-label{margin-right:auto;min-width:0px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host .dropdown-button .dropdown-icon{margin-right:0.25rem}:host .triangle{position:absolute;margin-inline-start:1.5625rem;margin-block-start:-0.4375rem;border-right:0 solid transparent;border-left:4px solid transparent;border-top:0 solid transparent;border-bottom:4px solid;color:var(--theme-btn-primary--color)}:host .triangle.primary.ghost{color:var(--theme-btn-invisible-primary--color)}:host .triangle.primary.outline{color:var(--theme-btn-outline-primary--color)}:host .triangle.primary.ghost.disabled{color:var(--theme-btn-invisible-primary--color--disabled)}:host .triangle.primary.outline.disabled{color:var(--theme-btn-outline-primary--color--disabled)}:host .triangle.primary.disabled{color:var(--theme-btn-primary--color--disabled)}:host .triangle.secondary.ghost{color:var(--theme-btn-invisible-secondary--color)}:host .triangle.secondary.outline{color:var(--theme-btn-outline-secondary--color)}:host .triangle.secondary.ghost.disabled{color:var(--theme-btn-invisible-secondary--color--disabled)}:host .triangle.secondary.outline.disabled{color:var(--theme-btn-outline-secondary--color--disabled)}:host .triangle.secondary.disabled{color:var(--theme-btn-secondary--color--disabled)}:host .content{display:flex;align-items:center}:host(.disabled){pointer-events:none}";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-CnXGUOZU.js');
|
|
4
|
-
var index$1 = require('./index-
|
|
4
|
+
var index$1 = require('./index-Dlx7IaH3.js');
|
|
5
5
|
|
|
6
6
|
const dropdownItemCss = ":host{--ix-dropdown-item-checked-color:var(--theme-color-primary);display:flex;flex-direction:row;position:relative;height:2.5rem;width:auto;overflow:hidden;cursor:pointer}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .dropdown-item{all:unset;display:flex;flex-direction:row;align-items:center;position:relative;height:calc(100% - 2px);width:calc(100% - 0.5rem - 1.5rem);padding:0 0.5rem;padding-right:1.5rem;border:0.0625rem solid transparent;white-space:nowrap}:host .dropdown-item.no-checked-field{width:calc(100% - 1rem - 1.5rem);padding:0 1rem;padding-right:1.5rem}:host .dropdown-item:focus-visible{border-color:var(--theme-color-focus-bdr)}:host .dropdown-item-checked{display:flex;align-items:center;justify-content:center;position:relative;height:100%;width:1rem;min-width:1rem;margin-right:0.5rem;color:var(--ix-dropdown-item-checked-color)}:host .dropdown-item-icon{margin-right:0.5rem;color:var(--theme-color-std-text)}:host .dropdown-item-text{display:block;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:pre}:host .submenu-icon{margin-left:auto}:host(.icon-only) .dropdown-item-icon{margin-right:0px}:host(.icon-only) .dropdown-item-checked{display:none}:host(.icon-only) .dropdown-item{width:calc(100% - 0.5rem - 0.5rem);padding:0 0.5rem;padding-right:0.5rem}:host(.submenu) .dropdown-item{width:calc(100% - 0.5rem - 0.5rem);padding:0 0.5rem;padding-right:0.5rem}:host(:not(.disabled):not(:disabled).hover),:host(:not(.disabled):not(:disabled):hover){background-color:var(--theme-ghost--background--hover)}:host(:not(.disabled):not(:disabled).active),:host(:not(.disabled):not(:disabled):active){background-color:var(--theme-ghost--background--active)}:host(.disabled){pointer-events:none;color:var(--theme-color-weak-text) !important}:host(.disabled) .dropdown-item-icon{color:var(--theme-color-weak-text) !important}";
|
|
7
7
|
|
|
@@ -7,7 +7,7 @@ var dropdownController = require('./dropdown-controller-BLOjtc6w.js');
|
|
|
7
7
|
var findElement = require('./find-element-D7yD1Ukn.js');
|
|
8
8
|
var disposableEventListener = require('./disposable-event-listener-BALEIeXq.js');
|
|
9
9
|
|
|
10
|
-
const dropdownCss = ":host{background-color:var(--theme-color-2);border-radius:var(--theme-default-border-radius);min-width:0px;z-index:var(--theme-z-index-dropdown);box-shadow:var(--theme-shadow-4);padding:0.25rem 0px}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .dropdown-header{display:flex;align-items:center;height:2.5rem;color:var(--theme-menu-header--color);padding:0 1rem}:host(.overflow){max-height:50vh;overflow-y:auto}:host(:not(.show)){display:none}";
|
|
10
|
+
const dropdownCss = ":host{background-color:var(--theme-color-2);border-radius:var(--theme-default-border-radius);min-width:0px;z-index:var(--theme-z-index-dropdown);box-shadow:var(--theme-shadow-4);padding:0.25rem 0px}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .dropdown-header{display:flex;align-items:center;height:2.5rem;color:var(--theme-menu-header--color);padding:0 1rem}:host(.overflow){max-height:calc(50vh - 3rem);overflow-y:auto}:host(:not(.show)){display:none}";
|
|
11
11
|
|
|
12
12
|
let sequenceId = 0;
|
|
13
13
|
const Dropdown = class {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"ix-dropdown.entry.cjs.js","mappings":"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","names":["dropdownController","addDisposableEventListener","findElement","hasDropdownItemWrapperImplemented","ArrowFocusController","flip","inline","shift","offset","autoUpdate","computePosition","h","Host"],"sources":["src/components/dropdown/dropdown.scss?tag=ix-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.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\n@import 'legacy/mixins/fonts';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n background-color: var(--theme-color-2);\n border-radius: var(--theme-default-border-radius);\n @include ix-component;\n min-width: 0px;\n z-index: var(--theme-z-index-dropdown);\n box-shadow: var(--theme-shadow-4);\n\n padding: 0.25rem 0px;\n\n .dropdown-header {\n display: flex;\n align-items: center;\n height: $large-control-height;\n color: var(--theme-menu-header--color);\n padding: 0 $default-space;\n }\n}\n\n:host(.overflow) {\n max-height: 50vh;\n overflow-y: auto;\n}\n\n:host(:not(.show)) {\n display: none;\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 autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\nimport { findElement } from '../utils/find-element';\nimport {\n addDisposableEventListener,\n DisposableEventListener,\n} from '../utils/disposable-event-listener';\nimport { ElementReference } from '../utils/element-reference';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger?: ElementReference;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor?: ElementReference;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset?: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle?: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialization of this dropdown is expected to be deferred submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /** @internal */\n @Prop() ignoreRelatedSubmenu = false;\n\n /** @internal */\n @Prop() suppressOverflowBehavior = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged!: EventEmitter<boolean>;\n\n private autoUpdateCleanup?: () => void;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n private arrowFocusController?: ArrowFocusController;\n\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n private itemObserver? = new MutationObserver(() => {\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.dropdownItems;\n }\n });\n\n connectedCallback(): void {\n dropdownController.connected(this);\n\n if (this.trigger != undefined) {\n this.registerListener(this.trigger);\n }\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n dropdownController.dismiss(this);\n dropdownController.disconnected(this);\n\n if (this.arrowFocusController) {\n this.arrowFocusController?.disconnect();\n this.arrowFocusController = undefined;\n }\n\n if (this.itemObserver) {\n this.itemObserver.disconnect();\n this.itemObserver = undefined;\n }\n\n if (this.disposeClickListener) {\n this.disposeClickListener();\n this.disposeClickListener = undefined;\n }\n\n if (this.disposeKeyListener) {\n this.disposeKeyListener();\n this.disposeKeyListener = undefined;\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = undefined;\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot!.querySelector('slot');\n }\n\n private disposeClickListener?: DisposableEventListener;\n private disposeKeyListener?: DisposableEventListener;\n\n private addEventListenersFor() {\n this.disposeClickListener?.();\n this.disposeKeyListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeClickListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: Event) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private registerKeyListener() {\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeKeyListener = addDisposableEventListener(\n this.triggerElement,\n 'keydown',\n ((event: KeyboardEvent) => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n if (document.activeElement !== this.triggerElement) {\n return;\n }\n\n dropdownController.present(this);\n\n setTimeout(() => {\n this.focusDropdownItem(0);\n });\n }) as EventListener\n );\n }\n\n private async registerListener(element: ElementReference) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(element: ElementReference) {\n const el = await findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element?: Element) {\n if (!element) {\n return undefined;\n }\n\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private async resolveAnchorElement() {\n if (this.anchor) {\n this.anchorElement = await this.resolveElement(this.anchor);\n } else if (this.trigger) {\n this.anchorElement = await this.resolveElement(this.trigger);\n }\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n await this.resolveAnchorElement();\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.dropdownItems,\n this.hostElement,\n (index) => this.focusDropdownItem(index)\n );\n\n this.itemObserver?.observe(this.hostElement, {\n childList: true,\n subtree: true,\n });\n\n this.registerKeyListener();\n } else {\n this.destroyAutoUpdate();\n this.arrowFocusController?.disconnect();\n this.itemObserver?.disconnect();\n this.disposeKeyListener?.();\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: ElementReference) {\n this.registerListener(newTriggerValue);\n }\n\n private destroyAutoUpdate() {\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = undefined;\n }\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.show) {\n return;\n }\n if (!this.anchorElement) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware?.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...(positionConfig.middleware?.filter(Boolean) || []),\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n this.destroyAutoUpdate();\n\n if (!this.anchorElement) {\n return;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.hostElement,\n async () => {\n if (this.anchorElement) {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.hostElement,\n positionConfig\n );\n Object.assign(this.hostElement.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(\n computeResponse.x\n )}px,${Math.round(computeResponse.y)}px)`,\n });\n }\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.hostElement,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.hostElement.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n private focusDropdownItem(index: number) {\n requestAnimationFrame(() => {\n const button =\n this.dropdownItems[index]?.shadowRoot?.querySelector('button');\n\n if (button) {\n button.focus();\n }\n });\n }\n\n async componentDidLoad() {\n if (!this.trigger) {\n return;\n }\n\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n await this.resolveAnchorElement();\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n const target = dropdownController.pathIncludesTrigger(event.composedPath());\n if (target) {\n if (target !== this.triggerElement) {\n event.preventDefault();\n }\n\n if (this.isTriggerElement(target)) {\n if (this.closeBehavior === 'outside') {\n event.preventDefault();\n }\n return;\n }\n }\n\n if (\n !event.defaultPrevented &&\n (this.closeBehavior === 'inside' || this.closeBehavior === 'both')\n ) {\n dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);\n return;\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: !this.suppressOverflowBehavior,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n {this.show && <slot></slot>}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"ix-dropdown.entry.cjs.js","mappings":"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","names":["dropdownController","addDisposableEventListener","findElement","hasDropdownItemWrapperImplemented","ArrowFocusController","flip","inline","shift","offset","autoUpdate","computePosition","h","Host"],"sources":["src/components/dropdown/dropdown.scss?tag=ix-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.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\n@import 'legacy/mixins/fonts';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n background-color: var(--theme-color-2);\n border-radius: var(--theme-default-border-radius);\n @include ix-component;\n min-width: 0px;\n z-index: var(--theme-z-index-dropdown);\n box-shadow: var(--theme-shadow-4);\n\n padding: 0.25rem 0px;\n\n .dropdown-header {\n display: flex;\n align-items: center;\n height: $large-control-height;\n color: var(--theme-menu-header--color);\n padding: 0 $default-space;\n }\n}\n\n$dropdown-offset: 3rem;\n\n:host(.overflow) {\n max-height: calc(50vh - $dropdown-offset); \n overflow-y: auto;\n}\n\n:host(:not(.show)) {\n display: none;\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 autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\nimport { findElement } from '../utils/find-element';\nimport {\n addDisposableEventListener,\n DisposableEventListener,\n} from '../utils/disposable-event-listener';\nimport { ElementReference } from '../utils/element-reference';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger?: ElementReference;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor?: ElementReference;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset?: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle?: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialization of this dropdown is expected to be deferred submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /** @internal */\n @Prop() ignoreRelatedSubmenu = false;\n\n /** @internal */\n @Prop() suppressOverflowBehavior = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged!: EventEmitter<boolean>;\n\n private autoUpdateCleanup?: () => void;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n private arrowFocusController?: ArrowFocusController;\n\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n private itemObserver? = new MutationObserver(() => {\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.dropdownItems;\n }\n });\n\n connectedCallback(): void {\n dropdownController.connected(this);\n\n if (this.trigger != undefined) {\n this.registerListener(this.trigger);\n }\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n dropdownController.dismiss(this);\n dropdownController.disconnected(this);\n\n if (this.arrowFocusController) {\n this.arrowFocusController?.disconnect();\n this.arrowFocusController = undefined;\n }\n\n if (this.itemObserver) {\n this.itemObserver.disconnect();\n this.itemObserver = undefined;\n }\n\n if (this.disposeClickListener) {\n this.disposeClickListener();\n this.disposeClickListener = undefined;\n }\n\n if (this.disposeKeyListener) {\n this.disposeKeyListener();\n this.disposeKeyListener = undefined;\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = undefined;\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot!.querySelector('slot');\n }\n\n private disposeClickListener?: DisposableEventListener;\n private disposeKeyListener?: DisposableEventListener;\n\n private addEventListenersFor() {\n this.disposeClickListener?.();\n this.disposeKeyListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeClickListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: Event) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private registerKeyListener() {\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeKeyListener = addDisposableEventListener(\n this.triggerElement,\n 'keydown',\n ((event: KeyboardEvent) => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n if (document.activeElement !== this.triggerElement) {\n return;\n }\n\n dropdownController.present(this);\n\n setTimeout(() => {\n this.focusDropdownItem(0);\n });\n }) as EventListener\n );\n }\n\n private async registerListener(element: ElementReference) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(element: ElementReference) {\n const el = await findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element?: Element) {\n if (!element) {\n return undefined;\n }\n\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private async resolveAnchorElement() {\n if (this.anchor) {\n this.anchorElement = await this.resolveElement(this.anchor);\n } else if (this.trigger) {\n this.anchorElement = await this.resolveElement(this.trigger);\n }\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n await this.resolveAnchorElement();\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.dropdownItems,\n this.hostElement,\n (index) => this.focusDropdownItem(index)\n );\n\n this.itemObserver?.observe(this.hostElement, {\n childList: true,\n subtree: true,\n });\n\n this.registerKeyListener();\n } else {\n this.destroyAutoUpdate();\n this.arrowFocusController?.disconnect();\n this.itemObserver?.disconnect();\n this.disposeKeyListener?.();\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: ElementReference) {\n this.registerListener(newTriggerValue);\n }\n\n private destroyAutoUpdate() {\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = undefined;\n }\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.show) {\n return;\n }\n if (!this.anchorElement) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware?.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...(positionConfig.middleware?.filter(Boolean) || []),\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n this.destroyAutoUpdate();\n\n if (!this.anchorElement) {\n return;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.hostElement,\n async () => {\n if (this.anchorElement) {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.hostElement,\n positionConfig\n );\n Object.assign(this.hostElement.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(\n computeResponse.x\n )}px,${Math.round(computeResponse.y)}px)`,\n });\n }\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.hostElement,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.hostElement.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n private focusDropdownItem(index: number) {\n requestAnimationFrame(() => {\n const button =\n this.dropdownItems[index]?.shadowRoot?.querySelector('button');\n\n if (button) {\n button.focus();\n }\n });\n }\n\n async componentDidLoad() {\n if (!this.trigger) {\n return;\n }\n\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n await this.resolveAnchorElement();\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n const target = dropdownController.pathIncludesTrigger(event.composedPath());\n if (target) {\n if (target !== this.triggerElement) {\n event.preventDefault();\n }\n\n if (this.isTriggerElement(target)) {\n if (this.closeBehavior === 'outside') {\n event.preventDefault();\n }\n return;\n }\n }\n\n if (\n !event.defaultPrevented &&\n (this.closeBehavior === 'inside' || this.closeBehavior === 'both')\n ) {\n dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);\n return;\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: !this.suppressOverflowBehavior,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n {this.show && <slot></slot>}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ix-dropdown.entry.cjs.js","sources":["src/components/dropdown/dropdown.scss?tag=ix-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.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\n@import 'legacy/mixins/fonts';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n background-color: var(--theme-color-2);\n border-radius: var(--theme-default-border-radius);\n @include ix-component;\n min-width: 0px;\n z-index: var(--theme-z-index-dropdown);\n box-shadow: var(--theme-shadow-4);\n\n padding: 0.25rem 0px;\n\n .dropdown-header {\n display: flex;\n align-items: center;\n height: $large-control-height;\n color: var(--theme-menu-header--color);\n padding: 0 $default-space;\n }\n}\n\n:host(.overflow) {\n max-height: 50vh;\n overflow-y: auto;\n}\n\n:host(:not(.show)) {\n display: none;\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 autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\nimport { findElement } from '../utils/find-element';\nimport {\n addDisposableEventListener,\n DisposableEventListener,\n} from '../utils/disposable-event-listener';\nimport { ElementReference } from '../utils/element-reference';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger?: ElementReference;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor?: ElementReference;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset?: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle?: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialization of this dropdown is expected to be deferred submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /** @internal */\n @Prop() ignoreRelatedSubmenu = false;\n\n /** @internal */\n @Prop() suppressOverflowBehavior = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged!: EventEmitter<boolean>;\n\n private autoUpdateCleanup?: () => void;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n private arrowFocusController?: ArrowFocusController;\n\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n private itemObserver? = new MutationObserver(() => {\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.dropdownItems;\n }\n });\n\n connectedCallback(): void {\n dropdownController.connected(this);\n\n if (this.trigger != undefined) {\n this.registerListener(this.trigger);\n }\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n dropdownController.dismiss(this);\n dropdownController.disconnected(this);\n\n if (this.arrowFocusController) {\n this.arrowFocusController?.disconnect();\n this.arrowFocusController = undefined;\n }\n\n if (this.itemObserver) {\n this.itemObserver.disconnect();\n this.itemObserver = undefined;\n }\n\n if (this.disposeClickListener) {\n this.disposeClickListener();\n this.disposeClickListener = undefined;\n }\n\n if (this.disposeKeyListener) {\n this.disposeKeyListener();\n this.disposeKeyListener = undefined;\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = undefined;\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot!.querySelector('slot');\n }\n\n private disposeClickListener?: DisposableEventListener;\n private disposeKeyListener?: DisposableEventListener;\n\n private addEventListenersFor() {\n this.disposeClickListener?.();\n this.disposeKeyListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeClickListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: Event) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private registerKeyListener() {\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeKeyListener = addDisposableEventListener(\n this.triggerElement,\n 'keydown',\n ((event: KeyboardEvent) => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n if (document.activeElement !== this.triggerElement) {\n return;\n }\n\n dropdownController.present(this);\n\n setTimeout(() => {\n this.focusDropdownItem(0);\n });\n }) as EventListener\n );\n }\n\n private async registerListener(element: ElementReference) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(element: ElementReference) {\n const el = await findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element?: Element) {\n if (!element) {\n return undefined;\n }\n\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private async resolveAnchorElement() {\n if (this.anchor) {\n this.anchorElement = await this.resolveElement(this.anchor);\n } else if (this.trigger) {\n this.anchorElement = await this.resolveElement(this.trigger);\n }\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n await this.resolveAnchorElement();\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.dropdownItems,\n this.hostElement,\n (index) => this.focusDropdownItem(index)\n );\n\n this.itemObserver?.observe(this.hostElement, {\n childList: true,\n subtree: true,\n });\n\n this.registerKeyListener();\n } else {\n this.destroyAutoUpdate();\n this.arrowFocusController?.disconnect();\n this.itemObserver?.disconnect();\n this.disposeKeyListener?.();\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: ElementReference) {\n this.registerListener(newTriggerValue);\n }\n\n private destroyAutoUpdate() {\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = undefined;\n }\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.show) {\n return;\n }\n if (!this.anchorElement) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware?.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...(positionConfig.middleware?.filter(Boolean) || []),\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n this.destroyAutoUpdate();\n\n if (!this.anchorElement) {\n return;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.hostElement,\n async () => {\n if (this.anchorElement) {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.hostElement,\n positionConfig\n );\n Object.assign(this.hostElement.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(\n computeResponse.x\n )}px,${Math.round(computeResponse.y)}px)`,\n });\n }\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.hostElement,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.hostElement.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n private focusDropdownItem(index: number) {\n requestAnimationFrame(() => {\n const button =\n this.dropdownItems[index]?.shadowRoot?.querySelector('button');\n\n if (button) {\n button.focus();\n }\n });\n }\n\n async componentDidLoad() {\n if (!this.trigger) {\n return;\n }\n\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n await this.resolveAnchorElement();\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n const target = dropdownController.pathIncludesTrigger(event.composedPath());\n if (target) {\n if (target !== this.triggerElement) {\n event.preventDefault();\n }\n\n if (this.isTriggerElement(target)) {\n if (this.closeBehavior === 'outside') {\n event.preventDefault();\n }\n return;\n }\n }\n\n if (\n !event.defaultPrevented &&\n (this.closeBehavior === 'inside' || this.closeBehavior === 'both')\n ) {\n dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);\n return;\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: !this.suppressOverflowBehavior,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n {this.show && <slot></slot>}\n </div>\n </Host>\n );\n }\n}\n"],"names":["dropdownController","addDisposableEventListener","findElement","hasDropdownItemWrapperImplemented","ArrowFocusController","flip","inline","shift","offset","autoUpdate","computePosition","h","Host"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ix-dropdown.entry.cjs.js","sources":["src/components/dropdown/dropdown.scss?tag=ix-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.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\n@import 'legacy/mixins/fonts';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n background-color: var(--theme-color-2);\n border-radius: var(--theme-default-border-radius);\n @include ix-component;\n min-width: 0px;\n z-index: var(--theme-z-index-dropdown);\n box-shadow: var(--theme-shadow-4);\n\n padding: 0.25rem 0px;\n\n .dropdown-header {\n display: flex;\n align-items: center;\n height: $large-control-height;\n color: var(--theme-menu-header--color);\n padding: 0 $default-space;\n }\n}\n\n$dropdown-offset: 3rem;\n\n:host(.overflow) {\n max-height: calc(50vh - $dropdown-offset); \n overflow-y: auto;\n}\n\n:host(:not(.show)) {\n display: none;\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 autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\nimport { findElement } from '../utils/find-element';\nimport {\n addDisposableEventListener,\n DisposableEventListener,\n} from '../utils/disposable-event-listener';\nimport { ElementReference } from '../utils/element-reference';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger?: ElementReference;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor?: ElementReference;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset?: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle?: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialization of this dropdown is expected to be deferred submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /** @internal */\n @Prop() ignoreRelatedSubmenu = false;\n\n /** @internal */\n @Prop() suppressOverflowBehavior = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged!: EventEmitter<boolean>;\n\n private autoUpdateCleanup?: () => void;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n private arrowFocusController?: ArrowFocusController;\n\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n private itemObserver? = new MutationObserver(() => {\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.dropdownItems;\n }\n });\n\n connectedCallback(): void {\n dropdownController.connected(this);\n\n if (this.trigger != undefined) {\n this.registerListener(this.trigger);\n }\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n dropdownController.dismiss(this);\n dropdownController.disconnected(this);\n\n if (this.arrowFocusController) {\n this.arrowFocusController?.disconnect();\n this.arrowFocusController = undefined;\n }\n\n if (this.itemObserver) {\n this.itemObserver.disconnect();\n this.itemObserver = undefined;\n }\n\n if (this.disposeClickListener) {\n this.disposeClickListener();\n this.disposeClickListener = undefined;\n }\n\n if (this.disposeKeyListener) {\n this.disposeKeyListener();\n this.disposeKeyListener = undefined;\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = undefined;\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot!.querySelector('slot');\n }\n\n private disposeClickListener?: DisposableEventListener;\n private disposeKeyListener?: DisposableEventListener;\n\n private addEventListenersFor() {\n this.disposeClickListener?.();\n this.disposeKeyListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeClickListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: Event) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private registerKeyListener() {\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeKeyListener = addDisposableEventListener(\n this.triggerElement,\n 'keydown',\n ((event: KeyboardEvent) => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n if (document.activeElement !== this.triggerElement) {\n return;\n }\n\n dropdownController.present(this);\n\n setTimeout(() => {\n this.focusDropdownItem(0);\n });\n }) as EventListener\n );\n }\n\n private async registerListener(element: ElementReference) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(element: ElementReference) {\n const el = await findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element?: Element) {\n if (!element) {\n return undefined;\n }\n\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private async resolveAnchorElement() {\n if (this.anchor) {\n this.anchorElement = await this.resolveElement(this.anchor);\n } else if (this.trigger) {\n this.anchorElement = await this.resolveElement(this.trigger);\n }\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n await this.resolveAnchorElement();\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.dropdownItems,\n this.hostElement,\n (index) => this.focusDropdownItem(index)\n );\n\n this.itemObserver?.observe(this.hostElement, {\n childList: true,\n subtree: true,\n });\n\n this.registerKeyListener();\n } else {\n this.destroyAutoUpdate();\n this.arrowFocusController?.disconnect();\n this.itemObserver?.disconnect();\n this.disposeKeyListener?.();\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: ElementReference) {\n this.registerListener(newTriggerValue);\n }\n\n private destroyAutoUpdate() {\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = undefined;\n }\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.show) {\n return;\n }\n if (!this.anchorElement) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware?.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...(positionConfig.middleware?.filter(Boolean) || []),\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n this.destroyAutoUpdate();\n\n if (!this.anchorElement) {\n return;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.hostElement,\n async () => {\n if (this.anchorElement) {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.hostElement,\n positionConfig\n );\n Object.assign(this.hostElement.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(\n computeResponse.x\n )}px,${Math.round(computeResponse.y)}px)`,\n });\n }\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.hostElement,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.hostElement.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n private focusDropdownItem(index: number) {\n requestAnimationFrame(() => {\n const button =\n this.dropdownItems[index]?.shadowRoot?.querySelector('button');\n\n if (button) {\n button.focus();\n }\n });\n }\n\n async componentDidLoad() {\n if (!this.trigger) {\n return;\n }\n\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n await this.resolveAnchorElement();\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n const target = dropdownController.pathIncludesTrigger(event.composedPath());\n if (target) {\n if (target !== this.triggerElement) {\n event.preventDefault();\n }\n\n if (this.isTriggerElement(target)) {\n if (this.closeBehavior === 'outside') {\n event.preventDefault();\n }\n return;\n }\n }\n\n if (\n !event.defaultPrevented &&\n (this.closeBehavior === 'inside' || this.closeBehavior === 'both')\n ) {\n dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);\n return;\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: !this.suppressOverflowBehavior,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n {this.show && <slot></slot>}\n </div>\n </Host>\n );\n }\n}\n"],"names":["dropdownController","addDisposableEventListener","findElement","hasDropdownItemWrapperImplemented","ArrowFocusController","flip","inline","shift","offset","autoUpdate","computePosition","h","Host"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-CnXGUOZU.js');
|
|
4
|
-
var index$1 = require('./index-
|
|
4
|
+
var index$1 = require('./index-Dlx7IaH3.js');
|
|
5
5
|
var a11y = require('./a11y-B_6chCvu.js');
|
|
6
6
|
|
|
7
|
-
const eventListItemCss = ":host{}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .event-list-item{display:flex;align-items:center;position:relative;height:var(--event-list-item-height, 2.5rem);max-height:var(--event-list-item-height, 2.5rem);border-radius:var(--event-list-item-border-radius, 0.25rem);background-color:var(--theme-event-item--background);overflow:hidden;transition:var(--theme-default-time);cursor:pointer;margin-bottom:var(--event-list-item-margin-bottom, 0.5rem)}:host .event-list-item .indicator{height:100%;width:0.5rem;max-width:0.5rem;min-width:0.5rem;border-top-left-radius:var(--event-list-item-border-radius, 0.25rem);border-bottom-left-radius:var(--event-list-item-border-radius, 0.25rem)}:host .event-list-item .indicator-empty{border:var(--theme-weak-bdr-1);border-right:none}:host .event-list-item .event-list-item-container{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-grow:1;width:calc(100% - (1rem + 0.5rem));height:100%;border:0.062rem solid;border-color:var(--theme-event-item--border);border-top-left-radius:0;border-top-right-radius:var(--event-list-item-border-radius, 0.25rem);border-bottom-left-radius:0;border-bottom-right-radius:var(--event-list-item-border-radius, 0.25rem);border-left:none;padding-left:1rem}:host .event-list-item .event-content{display:flex;align-items:center;width:100%;height:var(--event-list-item-height, 100%);max-height:var(--event-list-item-height, 100%);white-space:var(--event-list-item-content-white-space, inherit);overflow:hidden;padding-inline-end:0.5rem}:host .event-list-item .chevron-icon{margin-left:auto;margin-right:0.5rem;opacity:0.6;align-self:center}:host .event-list-item:not(.selected):not(.disabled):not(:disabled){cursor:pointer}:host .event-list-item:not(.selected):not(.disabled):not(:disabled):hover{background-color:var(--theme-event-item--background--hover)}:host .event-list-item:not(.selected):not(.disabled):not(:disabled){cursor:pointer}:host .event-list-item:not(.selected):not(.disabled):not(:disabled):active,:host .event-list-item:not(.selected):not(.disabled):not(:disabled).active{background-color:var(--theme-event-item--background--active)}:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled){cursor:pointer}:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled):hover{border-color:var(--theme-event-item--border--hover)}:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled){cursor:pointer}:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled):active,:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled).active{border-color:var(--theme-event-item--border--active)}:host .event-list-item.selected .event-list-item-container{background-color:var(--theme-event-item--background--selected);border-color:var(--theme-event-item--border--selected)}:host .event-list-item[disabled],:host .event-list-item.disabled{pointer-events:none}:host .event-list-item[disabled] .event-list-item-container,:host .event-list-item.disabled .event-list-item-container{background-color:var(--theme-event-item--background--disabled);border-color:var(--theme-event-item--border--disabled)}:host(.disabled){pointer-events:none}";
|
|
7
|
+
const eventListItemCss = ":host{}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .event-list-item{display:flex;align-items:center;position:relative;height:var(--event-list-item-height, 2.5rem);max-height:var(--event-list-item-height, 2.5rem);border-radius:var(--event-list-item-border-radius, 0.25rem);background-color:var(--theme-event-item--background);overflow:hidden;transition:var(--theme-default-time);cursor:pointer;margin-bottom:var(--event-list-item-margin-bottom, 0.5rem)}:host .event-list-item .indicator{height:100%;width:0.5rem;max-width:0.5rem;min-width:0.5rem;border-top-left-radius:var(--event-list-item-border-radius, 0.25rem);border-bottom-left-radius:var(--event-list-item-border-radius, 0.25rem)}:host .event-list-item .indicator-empty{border:var(--theme-weak-bdr-1);border-right:none}:host .event-list-item .event-list-item-container{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-grow:1;width:calc(100% - (1rem + 0.5rem));height:100%;border:0.062rem solid;border-color:var(--theme-event-item--border);border-top-left-radius:0;border-top-right-radius:var(--event-list-item-border-radius, 0.25rem);border-bottom-left-radius:0;border-bottom-right-radius:var(--event-list-item-border-radius, 0.25rem);border-left:none;padding-left:1rem}:host .event-list-item .event-content{display:flex;align-items:center;width:100%;height:var(--event-list-item-height, 100%);max-height:var(--event-list-item-height, 100%);white-space:var(--event-list-item-content-white-space, inherit);overflow:hidden;padding-inline-end:0.5rem}:host .event-list-item .chevron-icon{margin-left:auto;margin-right:0.5rem;opacity:0.6;align-self:center}:host .event-list-item:not(.selected):not(.disabled):not(:disabled){cursor:pointer}:host .event-list-item:not(.selected):not(.disabled):not(:disabled):hover,:host .event-list-item:not(.selected):not(.disabled):not(:disabled).hover{background-color:var(--theme-event-item--background--hover)}:host .event-list-item:not(.selected):not(.disabled):not(:disabled){cursor:pointer}:host .event-list-item:not(.selected):not(.disabled):not(:disabled):active,:host .event-list-item:not(.selected):not(.disabled):not(:disabled).active{background-color:var(--theme-event-item--background--active)}:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled){cursor:pointer}:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled):hover,:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled).hover{border-color:var(--theme-event-item--border--hover)}:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled){cursor:pointer}:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled):active,:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled).active{border-color:var(--theme-event-item--border--active)}:host .event-list-item.selected .event-list-item-container{background-color:var(--theme-event-item--background--selected);border-color:var(--theme-event-item--border--selected)}:host .event-list-item[disabled],:host .event-list-item.disabled{pointer-events:none}:host .event-list-item[disabled] .event-list-item-container,:host .event-list-item.disabled .event-list-item-container{background-color:var(--theme-event-item--background--disabled);border-color:var(--theme-event-item--border--disabled)}:host(.disabled){pointer-events:none}";
|
|
8
8
|
|
|
9
9
|
const EventListItem = class {
|
|
10
10
|
constructor(hostRef) {
|