xv-webcomponents 1.25.1 → 2.0.0-beta.28
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/LICENSE +21 -21
- package/README.md +249 -129
- package/dist/angular/angular-component-lib/utils.d.ts +9 -0
- package/dist/angular/angular-component-lib/utils.js +58 -0
- package/dist/angular/index.d.ts +4 -0
- package/dist/angular/index.js +56 -0
- package/dist/angular/proxies.d.ts +696 -0
- package/dist/angular/proxies.js +1642 -0
- package/dist/angular/web-components.module.d.ts +7 -0
- package/dist/angular/web-components.module.js +168 -0
- package/dist/cjs/_vars-DMytunQw.js +26 -0
- package/dist/cjs/{index-Cb30DBqk.js → index-DaTpiyaU.js} +2 -0
- package/dist/cjs/{index-DpLAFt0R.js → index-Dwhgrew8.js} +401 -1805
- package/dist/cjs/index.cjs.js +4 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/maplibre-gl-BIvnXGyX.js +884 -0
- package/dist/cjs/{xv-accordion-v2_50.cjs.entry.js → xv-accordion-v2_49.cjs.entry.js} +2046 -694
- package/dist/cjs/xv-header-next.cjs.entry.js +10 -89
- package/dist/cjs/xv-mega-menu-next.cjs.entry.js +4 -4
- package/dist/cjs/xv-webcomponents.cjs.js +3 -3
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/xv-accordion/xv-accordion.js +1 -1
- package/dist/collection/components/xv-accordion-item/xv-accordion-item.js +1 -1
- package/dist/collection/components/xv-breadcrumbs/xv-breadcrumbs.js +1 -1
- package/dist/collection/components/xv-button/xv-button.js +2 -1
- package/dist/collection/components/xv-button-group/xv-button-group.js +3 -3
- package/dist/collection/components/xv-card/xv-card.js +1 -1
- package/dist/collection/components/xv-checkbox/xv-checkbox.js +4 -3
- package/dist/collection/components/xv-content-switcher/xv-content-switcher-item/xv-content-switcher-item.js +1 -1
- package/dist/collection/components/xv-content-switcher/xv-content-switcher.js +7 -6
- package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js +5 -3
- package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js +4 -3
- package/dist/collection/components/xv-data-table/xv-data-table.js +5 -3
- package/dist/collection/components/xv-date-picker/xv-date-picker.js +16 -8
- package/dist/collection/components/xv-datepicker/xv-datepicker.js +5 -4
- package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js +9 -5
- package/dist/collection/components/xv-dropdown/xv-dropdown.js +9 -5
- package/dist/collection/components/xv-file-uploader/xv-file-uploader.css +3 -3
- package/dist/collection/components/xv-file-uploader/xv-file-uploader.js +6 -4
- package/dist/collection/components/xv-footer/xv-footer.js +1 -1
- package/dist/collection/components/xv-geo-map/xv-geo-map.css +43 -67
- package/dist/collection/components/xv-geo-map/xv-geo-map.js +10 -10
- package/dist/collection/components/xv-header/xv-header.js +7 -88
- package/dist/collection/components/xv-header-next/xv-header-next.js +10 -91
- package/dist/collection/components/xv-link/xv-link.js +1 -1
- package/dist/collection/components/xv-loader/xv-loader.js +2 -1
- package/dist/collection/components/xv-login-modal/xv-login-modal.css +7 -7
- package/dist/collection/components/xv-mega-menu/xv-mega-menu.js +2 -2
- package/dist/collection/components/xv-mega-menu-next/xv-mega-menu-next.js +5 -4
- package/dist/collection/components/xv-modal/xv-modal.js +3 -2
- package/dist/collection/components/xv-notification/xv-notification.js +3 -2
- package/dist/collection/components/xv-number-input/xv-number-input.js +4 -3
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js +7 -4
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +14 -11
- package/dist/collection/components/xv-pagination/xv-pagination.css +2 -2
- package/dist/collection/components/xv-pagination/xv-pagination.js +7 -4
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +3 -2
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +6 -5
- package/dist/collection/components/xv-radio/xv-radio.js +4 -3
- package/dist/collection/components/xv-slider/xv-slider.js +1 -1
- package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.css +129 -61
- package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +279 -78
- package/dist/collection/components/xv-table/xv-table-row/xv-table-row.css +138 -24
- package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +334 -162
- package/dist/collection/components/xv-table/xv-table.css +240 -99
- package/dist/collection/components/xv-table/xv-table.js +2058 -64
- package/dist/collection/components/xv-table/xv-table.model.js +10 -0
- package/dist/collection/components/xv-table/xv-table.utils.js +243 -0
- package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +1 -1
- package/dist/collection/components/xv-tabs/xv-tabs.js +2 -1
- package/dist/collection/components/xv-tag/xv-tag.js +1 -1
- package/dist/collection/components/xv-tag-combobox/xv-tag-combobox.js +6 -4
- package/dist/collection/components/xv-text-input/xv-text-input.js +4 -3
- package/dist/collection/components/xv-textarea/xv-textarea.js +4 -3
- package/dist/collection/components/xv-tile/xv-tile.css +1 -1
- package/dist/collection/components/xv-tile/xv-tile.js +2 -2
- package/dist/collection/components/xv-toggle/xv-toggle.js +3 -2
- package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +3 -2
- package/dist/collection/components/xv-tooltip/xv-tooltip.js +4 -3
- package/dist/collection/index.js +3 -0
- package/dist/collection/utils/table-layout.js +130 -0
- package/dist/components/index.d.ts +35 -0
- package/dist/components/index.js +1 -0
- package/dist/components/p-A3B7AR96.js +9 -0
- package/dist/components/p-B0kwaJ8n.js +1 -0
- package/dist/components/p-B9zHwwFm.js +1 -0
- package/dist/components/p-BEoh0dZI.js +1 -0
- package/dist/components/p-BaZ-srfu.js +1 -0
- package/dist/components/p-Bej2l-wN.js +1 -0
- package/dist/components/p-BfP9ezJQ.js +1 -0
- package/dist/components/p-BfhvpeQh.js +1 -0
- package/dist/components/p-BiiqsbVQ.js +1 -0
- package/dist/components/p-CSYnNMKb.js +1 -0
- package/dist/components/p-CspyoLL9.js +1 -0
- package/dist/components/p-CvgDDcjp.js +1 -0
- package/dist/components/p-D4FwGeDJ.js +1 -0
- package/dist/components/p-DCvH_Br_.js +1 -0
- package/dist/components/p-DFe9Mtw_.js +1 -0
- package/dist/components/p-DFtMwE-h.js +1 -0
- package/dist/components/p-DIvi4fI3.js +1 -0
- package/dist/components/p-DNRISLNf.js +1 -0
- package/dist/components/p-DPnvoOYj.js +1 -0
- package/dist/components/p-Dwbe941A.js +1 -0
- package/dist/components/p-HjYAjHna.js +1 -0
- package/dist/components/p-JClekcEh.js +1 -0
- package/dist/components/p-NoM9oIJn.js +1 -0
- package/dist/components/p-SvgdO2VS.js +1 -0
- package/dist/components/p-XEk4dHG3.js +1 -0
- package/dist/components/p-e0i0f6QA.js +1 -0
- package/dist/components/p-i7_81si-.js +1 -0
- package/dist/components/p-i82EFiq6.js +1 -0
- package/dist/components/p-jD7nSJaM.js +1 -0
- package/dist/components/xv-accordion-v2-item.d.ts +11 -0
- package/dist/components/xv-accordion-v2-item.js +1 -0
- package/dist/components/xv-accordion-v2.d.ts +11 -0
- package/dist/components/xv-accordion-v2.js +1 -0
- package/dist/components/xv-breadcrumbs-v2.d.ts +11 -0
- package/dist/components/xv-breadcrumbs-v2.js +1 -0
- package/dist/components/xv-button-group-v2.d.ts +11 -0
- package/dist/components/xv-button-group-v2.js +1 -0
- package/dist/components/xv-button-v2.d.ts +11 -0
- package/dist/components/xv-button-v2.js +1 -0
- package/dist/components/xv-card-v2.d.ts +11 -0
- package/dist/components/xv-card-v2.js +1 -0
- package/dist/components/xv-checkbox-v2.d.ts +11 -0
- package/dist/components/xv-checkbox-v2.js +1 -0
- package/dist/components/xv-content-switcher-item-v2.d.ts +11 -0
- package/dist/components/xv-content-switcher-item-v2.js +1 -0
- package/dist/components/xv-content-switcher-v2.d.ts +11 -0
- package/dist/components/xv-content-switcher-v2.js +1 -0
- package/dist/components/xv-data-table-cell.d.ts +11 -0
- package/dist/components/xv-data-table-cell.js +1 -0
- package/dist/components/xv-data-table-collapse.d.ts +11 -0
- package/dist/components/xv-data-table-collapse.js +1 -0
- package/dist/components/xv-data-table-row.d.ts +11 -0
- package/dist/components/xv-data-table-row.js +1 -0
- package/dist/components/xv-data-table.d.ts +11 -0
- package/dist/components/xv-data-table.js +7 -0
- package/dist/components/xv-date-picker.d.ts +11 -0
- package/dist/components/xv-date-picker.js +1 -0
- package/dist/components/xv-datepicker.d.ts +11 -0
- package/dist/components/xv-datepicker.js +1 -0
- package/dist/components/xv-dropdown-v2-item.d.ts +11 -0
- package/dist/components/xv-dropdown-v2-item.js +1 -0
- package/dist/components/xv-dropdown-v2.d.ts +11 -0
- package/dist/components/xv-dropdown-v2.js +1 -0
- package/dist/components/xv-file-uploader.d.ts +11 -0
- package/dist/components/xv-file-uploader.js +1 -0
- package/dist/components/xv-footer.d.ts +11 -0
- package/dist/components/xv-footer.js +1 -0
- package/dist/components/xv-geo-map-v2.d.ts +11 -0
- package/dist/components/xv-geo-map-v2.js +1 -0
- package/dist/components/xv-header-next.d.ts +11 -0
- package/dist/components/xv-header-next.js +1 -0
- package/dist/components/xv-header.d.ts +11 -0
- package/dist/components/xv-header.js +1 -0
- package/dist/components/xv-image-viewer.d.ts +11 -0
- package/dist/components/xv-image-viewer.js +1 -0
- package/dist/components/xv-link-v2.d.ts +11 -0
- package/dist/components/xv-link-v2.js +1 -0
- package/dist/components/xv-loader-v2.d.ts +11 -0
- package/dist/components/xv-loader-v2.js +1 -0
- package/dist/components/xv-login-modal.d.ts +11 -0
- package/dist/components/xv-login-modal.js +1 -0
- package/dist/components/xv-mega-menu-next.d.ts +11 -0
- package/dist/components/xv-mega-menu-next.js +1 -0
- package/dist/components/xv-mega-menu.d.ts +11 -0
- package/dist/components/xv-mega-menu.js +1 -0
- package/dist/components/xv-modal-v2.d.ts +11 -0
- package/dist/components/xv-modal-v2.js +1 -0
- package/dist/components/xv-notification-v2.d.ts +11 -0
- package/dist/components/xv-notification-v2.js +1 -0
- package/dist/components/xv-number-input-v2.d.ts +11 -0
- package/dist/components/xv-number-input-v2.js +1 -0
- package/dist/components/xv-overflow-menu-v2-item.d.ts +11 -0
- package/dist/components/xv-overflow-menu-v2-item.js +1 -0
- package/dist/components/xv-overflow-menu-v2.d.ts +11 -0
- package/dist/components/xv-overflow-menu-v2.js +1 -0
- package/dist/components/xv-pagination.d.ts +11 -0
- package/dist/components/xv-pagination.js +1 -0
- package/dist/components/xv-progress-indicator-v2-item.d.ts +11 -0
- package/dist/components/xv-progress-indicator-v2-item.js +1 -0
- package/dist/components/xv-progress-indicator-v2.d.ts +11 -0
- package/dist/components/xv-progress-indicator-v2.js +1 -0
- package/dist/components/xv-radio-v2.d.ts +11 -0
- package/dist/components/xv-radio-v2.js +1 -0
- package/dist/components/xv-slider-v2.d.ts +11 -0
- package/dist/components/xv-slider-v2.js +1 -0
- package/dist/components/xv-tab-v2.d.ts +11 -0
- package/dist/components/xv-tab-v2.js +1 -0
- package/dist/components/xv-table-cell.d.ts +11 -0
- package/dist/components/xv-table-cell.js +1 -0
- package/dist/components/xv-table-row.d.ts +11 -0
- package/dist/components/xv-table-row.js +1 -0
- package/dist/components/xv-table.d.ts +11 -0
- package/dist/components/xv-table.js +1 -0
- package/dist/components/xv-tabs-v2.d.ts +11 -0
- package/dist/components/xv-tabs-v2.js +1 -0
- package/dist/components/xv-tag-combobox.d.ts +11 -0
- package/dist/components/xv-tag-combobox.js +1 -0
- package/dist/components/xv-tag-v2.d.ts +11 -0
- package/dist/components/xv-tag-v2.js +1 -0
- package/dist/components/xv-text-input-v2.d.ts +11 -0
- package/dist/components/xv-text-input-v2.js +1 -0
- package/dist/components/xv-textarea.d.ts +11 -0
- package/dist/components/xv-textarea.js +1 -0
- package/dist/components/xv-tile.d.ts +11 -0
- package/dist/components/xv-tile.js +1 -0
- package/dist/components/xv-toggle-tip.d.ts +11 -0
- package/dist/components/xv-toggle-tip.js +1 -0
- package/dist/components/xv-toggle.d.ts +11 -0
- package/dist/components/xv-toggle.js +1 -0
- package/dist/components/xv-tooltip-v2.d.ts +11 -0
- package/dist/components/xv-tooltip-v2.js +1 -0
- package/dist/custom-elements.json +11561 -0
- package/dist/docs.d.ts +480 -0
- package/dist/docs.json +17181 -0
- package/dist/esm/_vars-CDEU4jkD.js +23 -0
- package/dist/esm/{index-CQm2sRKT.js → index-ClusqSO5.js} +2 -0
- package/dist/esm/{index-DmxA2ysB.js → index-DJC3-dS3.js} +400 -1806
- package/dist/esm/index.js +2 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/maplibre-gl-A3B7AR96.js +826 -0
- package/dist/esm/maplibre-gl-shared.mjs +2 -2
- package/dist/esm/maplibre-gl-worker.mjs +2 -2
- package/dist/esm/{xv-accordion-v2_50.entry.js → xv-accordion-v2_49.entry.js} +2044 -691
- package/dist/esm/xv-header-next.entry.js +10 -89
- package/dist/esm/xv-mega-menu-next.entry.js +4 -4
- package/dist/esm/xv-webcomponents.js +4 -4
- package/dist/react/components.d.ts +55 -0
- package/dist/react/components.js +56 -0
- package/dist/react/create-component.d.ts +24 -0
- package/dist/react/runtime.d.ts +2 -0
- package/dist/react/runtime.js +43 -0
- package/dist/react/tag-transformer.d.ts +3 -0
- package/dist/react/tag-transformer.js +12 -0
- package/dist/react/xv-accordion-v2-item.d.ts +12 -0
- package/dist/react/xv-accordion-v2-item.js +14 -0
- package/dist/react/xv-accordion-v2.d.ts +15 -0
- package/dist/react/xv-accordion-v2.js +14 -0
- package/dist/react/xv-breadcrumbs-v2.d.ts +9 -0
- package/dist/react/xv-breadcrumbs-v2.js +14 -0
- package/dist/react/xv-button-group-v2.d.ts +12 -0
- package/dist/react/xv-button-group-v2.js +14 -0
- package/dist/react/xv-button-v2.d.ts +9 -0
- package/dist/react/xv-button-v2.js +14 -0
- package/dist/react/xv-card-v2.d.ts +9 -0
- package/dist/react/xv-card-v2.js +14 -0
- package/dist/react/xv-checkbox-v2.d.ts +15 -0
- package/dist/react/xv-checkbox-v2.js +19 -0
- package/dist/react/xv-content-switcher-item-v2.d.ts +9 -0
- package/dist/react/xv-content-switcher-item-v2.js +14 -0
- package/dist/react/xv-content-switcher-v2.d.ts +12 -0
- package/dist/react/xv-content-switcher-v2.js +14 -0
- package/dist/react/xv-data-table-cell.d.ts +12 -0
- package/dist/react/xv-data-table-cell.js +14 -0
- package/dist/react/xv-data-table-collapse.d.ts +12 -0
- package/dist/react/xv-data-table-collapse.js +14 -0
- package/dist/react/xv-data-table-row.d.ts +12 -0
- package/dist/react/xv-data-table-row.js +14 -0
- package/dist/react/xv-data-table.d.ts +12 -0
- package/dist/react/xv-data-table.js +14 -0
- package/dist/react/xv-date-picker.d.ts +14 -0
- package/dist/react/xv-date-picker.js +18 -0
- package/dist/react/xv-datepicker.d.ts +13 -0
- package/dist/react/xv-datepicker.js +17 -0
- package/dist/react/xv-dropdown-v2-item.d.ts +12 -0
- package/dist/react/xv-dropdown-v2-item.js +14 -0
- package/dist/react/xv-dropdown-v2.d.ts +13 -0
- package/dist/react/xv-dropdown-v2.js +17 -0
- package/dist/react/xv-file-uploader.d.ts +13 -0
- package/dist/react/xv-file-uploader.js +17 -0
- package/dist/react/xv-footer.d.ts +9 -0
- package/dist/react/xv-footer.js +14 -0
- package/dist/react/xv-geo-map-v2.d.ts +13 -0
- package/dist/react/xv-geo-map-v2.js +17 -0
- package/dist/react/xv-header-next.d.ts +12 -0
- package/dist/react/xv-header-next.js +14 -0
- package/dist/react/xv-header.d.ts +12 -0
- package/dist/react/xv-header.js +14 -0
- package/dist/react/xv-image-viewer.d.ts +12 -0
- package/dist/react/xv-image-viewer.js +14 -0
- package/dist/react/xv-link-v2.d.ts +9 -0
- package/dist/react/xv-link-v2.js +14 -0
- package/dist/react/xv-loader-v2.d.ts +9 -0
- package/dist/react/xv-loader-v2.js +14 -0
- package/dist/react/xv-login-modal.d.ts +12 -0
- package/dist/react/xv-login-modal.js +14 -0
- package/dist/react/xv-mega-menu-next.d.ts +12 -0
- package/dist/react/xv-mega-menu-next.js +14 -0
- package/dist/react/xv-mega-menu.d.ts +12 -0
- package/dist/react/xv-mega-menu.js +14 -0
- package/dist/react/xv-modal-v2.d.ts +12 -0
- package/dist/react/xv-modal-v2.js +14 -0
- package/dist/react/xv-notification-v2.d.ts +12 -0
- package/dist/react/xv-notification-v2.js +14 -0
- package/dist/react/xv-number-input-v2.d.ts +12 -0
- package/dist/react/xv-number-input-v2.js +14 -0
- package/dist/react/xv-overflow-menu-v2-item.d.ts +12 -0
- package/dist/react/xv-overflow-menu-v2-item.js +14 -0
- package/dist/react/xv-overflow-menu-v2.d.ts +13 -0
- package/dist/react/xv-overflow-menu-v2.js +17 -0
- package/dist/react/xv-pagination.d.ts +15 -0
- package/dist/react/xv-pagination.js +14 -0
- package/dist/react/xv-progress-indicator-v2-item.d.ts +9 -0
- package/dist/react/xv-progress-indicator-v2-item.js +14 -0
- package/dist/react/xv-progress-indicator-v2.d.ts +9 -0
- package/dist/react/xv-progress-indicator-v2.js +14 -0
- package/dist/react/xv-radio-v2.d.ts +9 -0
- package/dist/react/xv-radio-v2.js +14 -0
- package/dist/react/xv-slider-v2.d.ts +12 -0
- package/dist/react/xv-slider-v2.js +14 -0
- package/dist/react/xv-tab-v2.d.ts +9 -0
- package/dist/react/xv-tab-v2.js +14 -0
- package/dist/react/xv-table-cell.d.ts +9 -0
- package/dist/react/xv-table-cell.js +14 -0
- package/dist/react/xv-table-row.d.ts +9 -0
- package/dist/react/xv-table-row.js +14 -0
- package/dist/react/xv-table.d.ts +18 -0
- package/dist/react/xv-table.js +22 -0
- package/dist/react/xv-tabs-v2.d.ts +12 -0
- package/dist/react/xv-tabs-v2.js +14 -0
- package/dist/react/xv-tag-combobox.d.ts +13 -0
- package/dist/react/xv-tag-combobox.js +17 -0
- package/dist/react/xv-tag-v2.d.ts +12 -0
- package/dist/react/xv-tag-v2.js +14 -0
- package/dist/react/xv-text-input-v2.d.ts +12 -0
- package/dist/react/xv-text-input-v2.js +14 -0
- package/dist/react/xv-textarea.d.ts +12 -0
- package/dist/react/xv-textarea.js +14 -0
- package/dist/react/xv-tile.d.ts +15 -0
- package/dist/react/xv-tile.js +14 -0
- package/dist/react/xv-toggle-tip.d.ts +12 -0
- package/dist/react/xv-toggle-tip.js +14 -0
- package/dist/react/xv-toggle.d.ts +12 -0
- package/dist/react/xv-toggle.js +14 -0
- package/dist/react/xv-tooltip-v2.d.ts +9 -0
- package/dist/react/xv-tooltip-v2.js +14 -0
- package/dist/types/components/xv-header/xv-header.d.ts +13 -29
- package/dist/types/components/xv-header-next/xv-header-next.d.ts +13 -29
- package/dist/types/components/xv-table/xv-table-cell/xv-table-cell.d.ts +43 -8
- package/dist/types/components/xv-table/xv-table-row/xv-table-row.d.ts +57 -18
- package/dist/types/components/xv-table/xv-table.d.ts +298 -9
- package/dist/types/components/xv-table/xv-table.model.d.ts +78 -0
- package/dist/types/components/xv-table/xv-table.utils.d.ts +47 -0
- package/dist/types/components.d.ts +1498 -209
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +126 -57
- package/dist/types/utils/table-layout.d.ts +7 -0
- package/dist/vscode-data.json +3293 -0
- package/dist/xv-webcomponents/index.esm.js +1 -1
- package/dist/xv-webcomponents/{p-fe9b38f8.entry.js → p-0c30d09f.entry.js} +1 -1
- package/dist/xv-webcomponents/p-6b58979e.entry.js +8 -0
- package/dist/xv-webcomponents/p-A3B7AR96.js +9 -0
- package/dist/xv-webcomponents/p-CDEU4jkD.js +1 -0
- package/dist/xv-webcomponents/p-DJC3-dS3.js +3 -0
- package/dist/xv-webcomponents/p-DSFVdw3w.js +1 -0
- package/dist/xv-webcomponents/p-c4173686.entry.js +1 -0
- package/dist/xv-webcomponents/xv-webcomponents.css +6 -6
- package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
- package/loader/index.d.ts +1 -1
- package/package.json +139 -61
- package/dist/cjs/_vars-Cyrk3TAl.js +0 -3423
- package/dist/cjs/maplibre-gl-CCZS3Rg5.js +0 -900
- package/dist/collection/components/xv-header/_vars.js +0 -51
- package/dist/collection/components/xv-table/_vars.js +0 -2
- package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.css +0 -58
- package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +0 -75
- package/dist/esm/_vars-BkYBzv3h.js +0 -3413
- package/dist/esm/maplibre-gl-CS4Eagm9.js +0 -813
- package/dist/types/components/xv-header/_vars.d.ts +0 -47
- package/dist/types/components/xv-table/_vars.d.ts +0 -15
- package/dist/types/components/xv-table/xv-table-expand/xv-table-expand.d.ts +0 -8
- package/dist/xv-webcomponents/p-7832549c.entry.js +0 -8
- package/dist/xv-webcomponents/p-BkYBzv3h.js +0 -1
- package/dist/xv-webcomponents/p-CQm2sRKT.js +0 -1
- package/dist/xv-webcomponents/p-CS4Eagm9.js +0 -10
- package/dist/xv-webcomponents/p-DmxA2ysB.js +0 -2
- package/dist/xv-webcomponents/p-f46bb687.entry.js +0 -1
|
@@ -568,7 +568,7 @@ export class XvGeoMap {
|
|
|
568
568
|
this.map.fitBounds([[minX, minY], [maxX, maxY]], { padding: 48, maxZoom: 12, duration: 800 });
|
|
569
569
|
}
|
|
570
570
|
render() {
|
|
571
|
-
return (h(Host, { key: '
|
|
571
|
+
return (h(Host, { key: 'd26f670de7987c843380aed0a1fec3843455c59b' }, h("div", { key: 'dd55b67e77e7daaf7faa1961c6f759e1d50dc83a', class: "container" }, h("div", { key: '35c95b2dfc294561955600cf1cca4baeb1df19aa', class: "map", ref: el => (this.mapContainer = el) }), this.ready && this.showSearch && (h("div", { key: '6662b5b87c51dd9244cb807d497e8cb2f3682121', class: "search" }, h("input", { key: '8cfc25019c36424060c9a3a86b22e33c3a1c984a', type: "search", placeholder: "Ort oder PLZ suchen", value: this.searchQuery, onInput: e => this.onSearchInput(e.target.value) }), this.searchResults.length > 0 && (h("ul", { key: 'd2dcd44daaa2bf882ea158643dd13d7c83895ab5', class: "search-results" }, this.searchResults.map(r => (h("li", { key: r.code, onClick: () => this.pickSearchResult(r) }, this.level === 'plz5' ? (h("span", null, h("strong", null, r.code), " ", r.name)) : (h("span", null, r.name))))))))), this.ready && this.zoomGated && (h("div", { key: 'cff4c14f9f600587e12c35a11a41cfcb830fdc1d', class: "hint" }, "Reinzoomen, um PLZ-Gebiete zu laden")), !this.ready && !this.loadError && (h("div", { key: 'b4931b2af73b9dc6d272ee502e1289ee90d0a9ec', class: "skeleton", "aria-busy": "true" }, h("xv-loader-v2", { key: '9544aa90adc4476536e41e2339b3559328dde9c3', variant: "vertical" }, "Karte wird geladen \u2026"))), this.loadError && h("div", { key: '2f916262f53e3e34f3a4ba56295e48f375efb3dc', class: "skeleton error" }, "Karte konnte nicht geladen werden."))));
|
|
572
572
|
}
|
|
573
573
|
static get is() { return "xv-geo-map-v2"; }
|
|
574
574
|
static get encapsulation() { return "shadow"; }
|
|
@@ -596,7 +596,7 @@ export class XvGeoMap {
|
|
|
596
596
|
"optional": false,
|
|
597
597
|
"docs": {
|
|
598
598
|
"tags": [],
|
|
599
|
-
"text": "Base URL of the geo API (Xv.Api v1/geo \u2014 contract-compatible with the XvGeoTool API).\nDefault is the same-origin Front Door route, so no CORS is involved on crossvertise pages."
|
|
599
|
+
"text": "Base URL of the geo API (Xv.Api v1/geo \u2014 contract-compatible with the XvGeoTool API).\r\nDefault is the same-origin Front Door route, so no CORS is involved on crossvertise pages."
|
|
600
600
|
},
|
|
601
601
|
"getter": false,
|
|
602
602
|
"setter": false,
|
|
@@ -696,7 +696,7 @@ export class XvGeoMap {
|
|
|
696
696
|
"optional": false,
|
|
697
697
|
"docs": {
|
|
698
698
|
"tags": [],
|
|
699
|
-
"text": "MapLibre style URL for the vector basemap. Default: OpenFreeMap Positron \u2014 the same\npale data-overlay look as the previous CARTO light, free for commercial use, no API\nkey (openfreemap.org). Set to an empty string to fall back to the raster `tiles` path."
|
|
699
|
+
"text": "MapLibre style URL for the vector basemap. Default: OpenFreeMap Positron \u2014 the same\r\npale data-overlay look as the previous CARTO light, free for commercial use, no API\r\nkey (openfreemap.org). Set to an empty string to fall back to the raster `tiles` path."
|
|
700
700
|
},
|
|
701
701
|
"getter": false,
|
|
702
702
|
"setter": false,
|
|
@@ -716,7 +716,7 @@ export class XvGeoMap {
|
|
|
716
716
|
"optional": false,
|
|
717
717
|
"docs": {
|
|
718
718
|
"tags": [],
|
|
719
|
-
"text": "Label language for the vector basemap (OpenMapTiles `name:{lang}` attribute, falling\nback to the place's local name). Empty string keeps the style's own labels."
|
|
719
|
+
"text": "Label language for the vector basemap (OpenMapTiles `name:{lang}` attribute, falling\r\nback to the place's local name). Empty string keeps the style's own labels."
|
|
720
720
|
},
|
|
721
721
|
"getter": false,
|
|
722
722
|
"setter": false,
|
|
@@ -736,7 +736,7 @@ export class XvGeoMap {
|
|
|
736
736
|
"optional": false,
|
|
737
737
|
"docs": {
|
|
738
738
|
"tags": [],
|
|
739
|
-
"text": "Raster tile URL template, used only when `style-url` is empty. The former CARTO\ndefault now watermarks keyless traffic (\"API KEY REQUIRED\"), so this path needs a\nkeyed/licensed tile URL."
|
|
739
|
+
"text": "Raster tile URL template, used only when `style-url` is empty. The former CARTO\r\ndefault now watermarks keyless traffic (\"API KEY REQUIRED\"), so this path needs a\r\nkeyed/licensed tile URL."
|
|
740
740
|
},
|
|
741
741
|
"getter": false,
|
|
742
742
|
"setter": false,
|
|
@@ -856,7 +856,7 @@ export class XvGeoMap {
|
|
|
856
856
|
"optional": true,
|
|
857
857
|
"docs": {
|
|
858
858
|
"tags": [],
|
|
859
|
-
"text": "Explicit URL of maplibre-gl-worker.mjs (maplibre-gl-shared.mjs must sit next to it).\nNeeded when the host bundler relocates the maplibre chunk so import.meta.url-relative\nworker resolution breaks (e.g. Angular/Vite dev server)."
|
|
859
|
+
"text": "Explicit URL of maplibre-gl-worker.mjs (maplibre-gl-shared.mjs must sit next to it).\r\nNeeded when the host bundler relocates the maplibre chunk so import.meta.url-relative\r\nworker resolution breaks (e.g. Angular/Vite dev server)."
|
|
860
860
|
},
|
|
861
861
|
"getter": false,
|
|
862
862
|
"setter": false,
|
|
@@ -931,7 +931,7 @@ export class XvGeoMap {
|
|
|
931
931
|
"references": {
|
|
932
932
|
"GeoMapSelection": {
|
|
933
933
|
"location": "local",
|
|
934
|
-
"path": "/
|
|
934
|
+
"path": "C:/projects/crossvertise/XV-WebComponents/src/components/xv-geo-map/xv-geo-map.tsx",
|
|
935
935
|
"id": "src/components/xv-geo-map/xv-geo-map.tsx::GeoMapSelection"
|
|
936
936
|
}
|
|
937
937
|
}
|
|
@@ -978,7 +978,7 @@ export class XvGeoMap {
|
|
|
978
978
|
},
|
|
979
979
|
"GeoMapSelection": {
|
|
980
980
|
"location": "local",
|
|
981
|
-
"path": "/
|
|
981
|
+
"path": "C:/projects/crossvertise/XV-WebComponents/src/components/xv-geo-map/xv-geo-map.tsx",
|
|
982
982
|
"id": "src/components/xv-geo-map/xv-geo-map.tsx::GeoMapSelection"
|
|
983
983
|
}
|
|
984
984
|
},
|
|
@@ -1008,7 +1008,7 @@ export class XvGeoMap {
|
|
|
1008
1008
|
},
|
|
1009
1009
|
"GeoMapSelection": {
|
|
1010
1010
|
"location": "local",
|
|
1011
|
-
"path": "/
|
|
1011
|
+
"path": "C:/projects/crossvertise/XV-WebComponents/src/components/xv-geo-map/xv-geo-map.tsx",
|
|
1012
1012
|
"id": "src/components/xv-geo-map/xv-geo-map.tsx::GeoMapSelection"
|
|
1013
1013
|
}
|
|
1014
1014
|
},
|
|
@@ -1061,7 +1061,7 @@ export class XvGeoMap {
|
|
|
1061
1061
|
"return": "Promise<number>"
|
|
1062
1062
|
},
|
|
1063
1063
|
"docs": {
|
|
1064
|
-
"text": "Highlight what a radius extension would ADD (optimizer proposal): the units within\n`km` that are not part of the selection render in the preview color. Visual only \u2014\nthe selection and its change events stay untouched. Returns the number of added units.",
|
|
1064
|
+
"text": "Highlight what a radius extension would ADD (optimizer proposal): the units within\r\n`km` that are not part of the selection render in the preview color. Visual only \u2014\r\nthe selection and its change events stay untouched. Returns the number of added units.",
|
|
1065
1065
|
"tags": []
|
|
1066
1066
|
}
|
|
1067
1067
|
},
|
|
@@ -2,8 +2,6 @@ import { h } from "@stencil/core";
|
|
|
2
2
|
import { SIZE_VAR } from "../../types/enum";
|
|
3
3
|
import { api, debounce, getBaseUrl, getMetaNav } from "../../utils/utils";
|
|
4
4
|
import { OverflowMenuVariant } from "../xv-overflow-menu/_vars";
|
|
5
|
-
import { HubConnectionBuilder } from "@microsoft/signalr";
|
|
6
|
-
import { INVOICE_NOTIFICATION_STATUS_ICON, INVOICE_NOTIFICATION_STATUS_TEXT, InvoiceNotificationStatus, invoiceNotificationStatusOf, SIGNALR_HUB_URL_SETTING, SIGNALR_JOIN_GROUP, SIGNALR_NOTIFICATIONS_UPDATED, } from "./_vars";
|
|
7
5
|
import UserSearchIcon from "./user-magnifying-glass-regular-full.svg";
|
|
8
6
|
export class XvHeader {
|
|
9
7
|
constructor() {
|
|
@@ -94,15 +92,9 @@ export class XvHeader {
|
|
|
94
92
|
this.metaNav = metaNav;
|
|
95
93
|
this.orgUnit = ((_b = (_a = this.metaNav) === null || _a === void 0 ? void 0 : _a.User) === null || _b === void 0 ? void 0 : _b.SelectedOrgUnitName) || '';
|
|
96
94
|
void this.getNotifications();
|
|
97
|
-
void this.connectNotificationsHub();
|
|
98
95
|
}
|
|
99
96
|
console.info('MetaNav was updated', this.metaNav);
|
|
100
97
|
}
|
|
101
|
-
disconnectedCallback() {
|
|
102
|
-
var _a;
|
|
103
|
-
void ((_a = this.notificationsHub) === null || _a === void 0 ? void 0 : _a.stop());
|
|
104
|
-
this.notificationsHub = undefined;
|
|
105
|
-
}
|
|
106
98
|
componentWillLoad() {
|
|
107
99
|
this.baseUrl = getBaseUrl();
|
|
108
100
|
void this.initHeader();
|
|
@@ -147,89 +139,16 @@ export class XvHeader {
|
|
|
147
139
|
this.notifications = [];
|
|
148
140
|
}
|
|
149
141
|
}
|
|
150
|
-
/**
|
|
151
|
-
* Subscribes to the notifications hub so the bell reflects a status change without a reload.
|
|
152
|
-
*
|
|
153
|
-
* The platform calls `NotifyUserAsync` after it completes or fails a notification, which
|
|
154
|
-
* invokes `NotificationsUpdated` on the person's group — but nothing here was listening, so
|
|
155
|
-
* the bell only ever caught up on a full page load (MAR-15569). The list is re-fetched on
|
|
156
|
-
* each push rather than patched from the message, because the hub carries no payload.
|
|
157
|
-
*
|
|
158
|
-
* Failure to connect is logged and otherwise ignored: the bell still works, it just needs a
|
|
159
|
-
* reload to refresh, which is the behaviour this replaces.
|
|
160
|
-
*/
|
|
161
|
-
async connectNotificationsHub() {
|
|
162
|
-
var _a, _b, _c;
|
|
163
|
-
if (!((_a = this.metaNav) === null || _a === void 0 ? void 0 : _a.IsManager) || this.notificationsHub)
|
|
164
|
-
return;
|
|
165
|
-
const personId = (_c = (_b = this.metaNav) === null || _b === void 0 ? void 0 : _b.User) === null || _c === void 0 ? void 0 : _c.Id;
|
|
166
|
-
if (!personId)
|
|
167
|
-
return;
|
|
168
|
-
try {
|
|
169
|
-
const hubUrl = await this.getNotificationsHubUrl();
|
|
170
|
-
if (!hubUrl)
|
|
171
|
-
return;
|
|
172
|
-
const hub = new HubConnectionBuilder()
|
|
173
|
-
.withUrl(hubUrl)
|
|
174
|
-
.withAutomaticReconnect()
|
|
175
|
-
.build();
|
|
176
|
-
hub.on(SIGNALR_NOTIFICATIONS_UPDATED, () => void this.getNotifications());
|
|
177
|
-
// Re-join after a reconnect: group membership lives on the connection, so it is lost
|
|
178
|
-
// when the transport drops and the bell would silently stop updating.
|
|
179
|
-
hub.onreconnected(() => void hub.invoke(SIGNALR_JOIN_GROUP, String(personId)));
|
|
180
|
-
await hub.start();
|
|
181
|
-
await hub.invoke(SIGNALR_JOIN_GROUP, String(personId));
|
|
182
|
-
this.notificationsHub = hub;
|
|
183
|
-
}
|
|
184
|
-
catch (error) {
|
|
185
|
-
console.error('Failed to connect to the notifications hub:', error === null || error === void 0 ? void 0 : error.message, error);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Reads the hub URL from the platform's client settings. That endpoint serves JavaScript
|
|
190
|
-
* rather than JSON, and the `xv` global it defines is absent on Angular-rendered pages, so
|
|
191
|
-
* the value is parsed out of the response text.
|
|
192
|
-
*/
|
|
193
|
-
async getNotificationsHubUrl() {
|
|
194
|
-
var _a, _b;
|
|
195
|
-
const fromGlobal = (_b = (_a = window.xv) === null || _a === void 0 ? void 0 : _a.clientApplicationSettings) === null || _b === void 0 ? void 0 : _b[SIGNALR_HUB_URL_SETTING];
|
|
196
|
-
if (fromGlobal)
|
|
197
|
-
return fromGlobal;
|
|
198
|
-
const settings = await fetch(`${this.baseUrl}/de-de/assets/clientapplicationsettings`, {
|
|
199
|
-
credentials: 'include',
|
|
200
|
-
}).then(res => res.text());
|
|
201
|
-
const match = settings.match(new RegExp(`"${SIGNALR_HUB_URL_SETTING.replace(/\./g, '\\.')}"\\s*:\\s*"([^"]+)"`));
|
|
202
|
-
return match === null || match === void 0 ? void 0 : match[1];
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Dismisses a notification. The platform soft-deletes it (`DateDeletedUtc`), which drops it
|
|
206
|
-
* from the list endpoint. Without this the bell could not be cleared at all and every entry
|
|
207
|
-
* sat there until its 24-hour expiry — the old MVC bell's "Geprüft" button did this and was
|
|
208
|
-
* not carried over when the header moved to this component.
|
|
209
|
-
*/
|
|
210
|
-
async dismissNotification(event, orderId) {
|
|
211
|
-
// The row is inside an overflow-menu item; without this the menu closes on click and the
|
|
212
|
-
// list is torn down before the request resolves.
|
|
213
|
-
event.preventDefault();
|
|
214
|
-
event.stopPropagation();
|
|
215
|
-
try {
|
|
216
|
-
await api.delete(`${this.baseUrl}/de-de/api/notifications/${orderId}`, {
|
|
217
|
-
credentials: 'include',
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
catch (error) {
|
|
221
|
-
console.error('Failed to dismiss the notification:', error === null || error === void 0 ? void 0 : error.message, error);
|
|
222
|
-
}
|
|
223
|
-
await this.getNotifications();
|
|
224
|
-
}
|
|
225
142
|
_renderNotifications() {
|
|
226
143
|
var _a;
|
|
227
144
|
if (!((_a = this.metaNav) === null || _a === void 0 ? void 0 : _a.IsManager))
|
|
228
145
|
return null;
|
|
229
|
-
return (h("li", { class: "notifications" }, h("xv-overflow-menu-v2", { position: "right", size: SIZE_VAR.MD }, h("span", { slot: "trigger", class: "fa-stack" }, h("i", { class: "notifications-icon far fa-bell fa-stack-1x" }), this.notifications.length > 0 && (h("xv-tag-v2", { class: "counter-badge counter-badge--absolute", bg: "var(--icon-interactive, #97BF0D)", color: "var(--text-inverse, #FFF)" }, this.notifications.length))), this.notifications.map((notification) => {
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
146
|
+
return (h("li", { class: "notifications" }, h("xv-overflow-menu-v2", { position: "right", size: SIZE_VAR.MD }, h("span", { slot: "trigger", class: "fa-stack" }, h("i", { class: "notifications-icon far fa-bell fa-stack-1x" }), this.notifications.length > 0 && (h("xv-tag-v2", { class: "counter-badge counter-badge--absolute", bg: "var(--icon-interactive, #97BF0D)", color: "var(--text-inverse, #FFF)" }, this.notifications.length))), this.notifications.map((notification) => (h("xv-overflow-menu-v2-item", { value: notification.id, variant: OverflowMenuVariant.GHOST, disabled: notification.isRead, clickable: false }, h("div", { class: "notifications-item" }, h("i", { class: {
|
|
147
|
+
far: true,
|
|
148
|
+
'fa-clock': !notification.status,
|
|
149
|
+
'fa-times-circle': notification.status === 1,
|
|
150
|
+
'fa-circle': notification.status && notification.status !== 1,
|
|
151
|
+
} }), h("div", { class: "notifications-item-body" }, h("span", null, "Rechnungsentwurf f\u00FCr Auftrag ", notification.orderId, " ist ausstehend"), h("xv-link-v2", { variant: notification.isRead ? 'ghost' : 'standalone', href: `/de-de/manager/ordersales/details/${notification.orderId}` }, "Auftrag anschauen")))))))));
|
|
233
152
|
}
|
|
234
153
|
_renderAccount() {
|
|
235
154
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
@@ -254,7 +173,7 @@ export class XvHeader {
|
|
|
254
173
|
render() {
|
|
255
174
|
var _a, _b, _c, _d, _e;
|
|
256
175
|
const isXvBrand = (((_a = this.metaNav) === null || _a === void 0 ? void 0 : _a['WhitelabelName']) || 'Xv') === 'Xv';
|
|
257
|
-
return (h("header", { key: '
|
|
176
|
+
return (h("header", { key: 'bb6b68b11e86c55e6fb78b9171f91c4ee0aeff54', class: "header" }, h("div", { key: 'dc39a36e6b8c22d6a5a9fa280b4b8710f4ab864c', class: "header-wrapper" }, h("div", { key: 'e97b619a8acfabfdb1afeae65282585a3820dd82', class: "xv-container" }, h("div", { key: 'ae1f930065601df59d19c84e73440448814f4148', class: "header-top" }, h("div", { key: '64464d7fbc8002bb041ac5f054345dff9b082fa8', class: "header-top--left" }, h("xv-button-v2", { key: '789ef6677bf63b39f0fed43d5aa9e4a7dc25293a', class: "menu-btn", variant: "ghost", onClick: this.toggleMobMenu }, h("i", { key: '22ce09415f7e827847cebaa2021a5b12127d8836', slot: "icon-left", class: { 'fa': true, 'fa-times': this.mobMenuOpen, 'fa-bars': !this.mobMenuOpen } })), this.metaNav && (h("a", { key: 'cacc6a468ad3987f6fc984eedc48f6bb2a527343', href: `${window.location.origin}/` }, h("picture", { key: '1548e8772b828177ba9cc57f487f89b55607915d' }, h("source", { key: '6a3e862fd369b08bc2d770665a7fd8ec93dce405', srcSet: ((_b = this.metaNav) === null || _b === void 0 ? void 0 : _b.LogoUrl) || 'https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg', media: "(min-width: 990px)" }), h("img", { key: '6d4e85336fe45a1c6ff00ff523a6dfbeee7a75f2', src: ((_c = this.metaNav) === null || _c === void 0 ? void 0 : _c.LogoSmallUrl) || 'https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo-small.svg', onError: this.logoFallback, loading: "lazy", alt: "Crossvertise" })))), this.orgUnit && (h("xv-link-v2", { key: '1def60b23452f2c91a288078f4d7cc4e3ce01d98', class: "header-top--orgUnit", variant: "standalone", href: "/de-de/mycrossvertise" }, this.orgUnit))), h("ul", { key: 'f3b08084e0114ec652cfd1193f6aa83d64d27154', class: "header-top--right" }, this._renderSearch(), this._renderImpersonationInfo(), !((_d = this.metaNav) === null || _d === void 0 ? void 0 : _d.IsManager) && isXvBrand && (h("li", { key: 'db3dce7468366a7850f04bc9efc9c9e5807f3b68' }, h("xv-link-v2", { key: '48c44f5f4827447138e1e84f515c24b6da96806c', variant: "ghost", href: "https://www.crossvertise.com/ueber-uns/kontakt" }, h("xv-button-v2", { key: '9cfc3ec391af795294b935ee00e2d331d57fea18', variant: "ghost", size: SIZE_VAR.MD }, h("i", { key: 'd3b979a9670a09d9432740265d4dddff60af1bf1', class: "header-icon far fa-envelope" }), h("span", { key: 'a30f3dd82f3ae79e00a9f3155436d0b386ab9c8b', class: "header-label xv-body-02" }, "Kontakt"))))), this._renderNotifications(), this._renderAccount(), !((_e = this.metaNav) === null || _e === void 0 ? void 0 : _e.IsManager) && isXvBrand && (h("li", { key: '0a6fe80cad3a5b3538f00a5f90420ea17adaca35' }, h("xv-link-v2", { key: '82e760818362aa3c07f88a1ad5137617e8768b69', variant: "ghost", href: "https://help.crossvertise.com" }, h("xv-button-v2", { key: 'b586df26cff3c6f3858f9383b78f6fbc74dda77d', variant: "ghost", size: SIZE_VAR.MD }, h("i", { key: 'a6f5f39654b26f9218c3ee64084ff65b89048ca5', class: "header-icon far fa-question-circle" }), h("span", { key: '1d4400a01782e32381da2f3b415da2027193a32f', class: "header-label xv-body-02" }, "Hilfe"))))), this._renderShoppingCart()))), h("div", { key: 'd8b918f626a8d3ecd0b0ebb1e70af6603ab27bfd', class: "header-wrapper--bg" }, h("div", { key: 'a01cb04fd93b256088dc57024336b1fd239ef326', class: "xv-container" }, h("xv-mega-menu", { key: '08993625f27b6d20e6fc811c79260b57cabcd0e6', open: this.mobMenuOpen, onOpenChange: this.closeMobMenu })))), h("xv-login-modal", { key: 'c4f55e87116e962d77a44854542dd6f78c0d4aac', visible: this.showLoginModal, onClose: () => this.showLoginModal = false })));
|
|
258
177
|
}
|
|
259
178
|
static get is() { return "xv-header"; }
|
|
260
179
|
static get originalStyleUrls() {
|
|
@@ -2,8 +2,6 @@ import { h, Fragment } from "@stencil/core";
|
|
|
2
2
|
import { SIZE_VAR } from "../../types/enum";
|
|
3
3
|
import { api, debounce, getBaseUrl, getMetaNav } from "../../utils/utils";
|
|
4
4
|
import { OverflowMenuVariant } from "../xv-overflow-menu/_vars";
|
|
5
|
-
import { HubConnectionBuilder } from "@microsoft/signalr";
|
|
6
|
-
import { INVOICE_NOTIFICATION_STATUS_ICON, INVOICE_NOTIFICATION_STATUS_TEXT, InvoiceNotificationStatus, invoiceNotificationStatusOf, SIGNALR_HUB_URL_SETTING, SIGNALR_JOIN_GROUP, SIGNALR_NOTIFICATIONS_UPDATED, } from "../xv-header/_vars";
|
|
7
5
|
import UserSearchIcon from "./user-magnifying-glass-regular-full.svg";
|
|
8
6
|
/**
|
|
9
7
|
* Drop-in successor of `xv-header` for the new headless CMS.
|
|
@@ -107,15 +105,9 @@ export class XvHeaderNext {
|
|
|
107
105
|
this.metaNav = metaNav;
|
|
108
106
|
this.orgUnit = ((_b = (_a = this.metaNav) === null || _a === void 0 ? void 0 : _a.User) === null || _b === void 0 ? void 0 : _b.SelectedOrgUnitName) || '';
|
|
109
107
|
void this.getNotifications();
|
|
110
|
-
void this.connectNotificationsHub();
|
|
111
108
|
}
|
|
112
109
|
console.info('MetaNav was updated', this.metaNav);
|
|
113
110
|
}
|
|
114
|
-
disconnectedCallback() {
|
|
115
|
-
var _a;
|
|
116
|
-
void ((_a = this.notificationsHub) === null || _a === void 0 ? void 0 : _a.stop());
|
|
117
|
-
this.notificationsHub = undefined;
|
|
118
|
-
}
|
|
119
111
|
componentWillLoad() {
|
|
120
112
|
this.baseUrl = getBaseUrl();
|
|
121
113
|
void this.initHeader();
|
|
@@ -185,89 +177,16 @@ export class XvHeaderNext {
|
|
|
185
177
|
this.notifications = [];
|
|
186
178
|
}
|
|
187
179
|
}
|
|
188
|
-
/**
|
|
189
|
-
* Subscribes to the notifications hub so the bell reflects a status change without a reload.
|
|
190
|
-
*
|
|
191
|
-
* The platform calls `NotifyUserAsync` after it completes or fails a notification, which
|
|
192
|
-
* invokes `NotificationsUpdated` on the person's group — but nothing here was listening, so
|
|
193
|
-
* the bell only ever caught up on a full page load (MAR-15569). The list is re-fetched on
|
|
194
|
-
* each push rather than patched from the message, because the hub carries no payload.
|
|
195
|
-
*
|
|
196
|
-
* Failure to connect is logged and otherwise ignored: the bell still works, it just needs a
|
|
197
|
-
* reload to refresh, which is the behaviour this replaces.
|
|
198
|
-
*/
|
|
199
|
-
async connectNotificationsHub() {
|
|
200
|
-
var _a, _b, _c;
|
|
201
|
-
if (!((_a = this.metaNav) === null || _a === void 0 ? void 0 : _a.IsManager) || this.notificationsHub)
|
|
202
|
-
return;
|
|
203
|
-
const personId = (_c = (_b = this.metaNav) === null || _b === void 0 ? void 0 : _b.User) === null || _c === void 0 ? void 0 : _c.Id;
|
|
204
|
-
if (!personId)
|
|
205
|
-
return;
|
|
206
|
-
try {
|
|
207
|
-
const hubUrl = await this.getNotificationsHubUrl();
|
|
208
|
-
if (!hubUrl)
|
|
209
|
-
return;
|
|
210
|
-
const hub = new HubConnectionBuilder()
|
|
211
|
-
.withUrl(hubUrl)
|
|
212
|
-
.withAutomaticReconnect()
|
|
213
|
-
.build();
|
|
214
|
-
hub.on(SIGNALR_NOTIFICATIONS_UPDATED, () => void this.getNotifications());
|
|
215
|
-
// Re-join after a reconnect: group membership lives on the connection, so it is lost
|
|
216
|
-
// when the transport drops and the bell would silently stop updating.
|
|
217
|
-
hub.onreconnected(() => void hub.invoke(SIGNALR_JOIN_GROUP, String(personId)));
|
|
218
|
-
await hub.start();
|
|
219
|
-
await hub.invoke(SIGNALR_JOIN_GROUP, String(personId));
|
|
220
|
-
this.notificationsHub = hub;
|
|
221
|
-
}
|
|
222
|
-
catch (error) {
|
|
223
|
-
console.error('Failed to connect to the notifications hub:', error === null || error === void 0 ? void 0 : error.message, error);
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Reads the hub URL from the platform's client settings. That endpoint serves JavaScript
|
|
228
|
-
* rather than JSON, and the `xv` global it defines is absent on Angular-rendered pages, so
|
|
229
|
-
* the value is parsed out of the response text.
|
|
230
|
-
*/
|
|
231
|
-
async getNotificationsHubUrl() {
|
|
232
|
-
var _a, _b;
|
|
233
|
-
const fromGlobal = (_b = (_a = window.xv) === null || _a === void 0 ? void 0 : _a.clientApplicationSettings) === null || _b === void 0 ? void 0 : _b[SIGNALR_HUB_URL_SETTING];
|
|
234
|
-
if (fromGlobal)
|
|
235
|
-
return fromGlobal;
|
|
236
|
-
const settings = await fetch(`${this.baseUrl}/de-de/assets/clientapplicationsettings`, {
|
|
237
|
-
credentials: 'include',
|
|
238
|
-
}).then(res => res.text());
|
|
239
|
-
const match = settings.match(new RegExp(`"${SIGNALR_HUB_URL_SETTING.replace(/\./g, '\\.')}"\\s*:\\s*"([^"]+)"`));
|
|
240
|
-
return match === null || match === void 0 ? void 0 : match[1];
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* Dismisses a notification. The platform soft-deletes it (`DateDeletedUtc`), which drops it
|
|
244
|
-
* from the list endpoint. Without this the bell could not be cleared at all and every entry
|
|
245
|
-
* sat there until its 24-hour expiry — the old MVC bell's "Geprüft" button did this and was
|
|
246
|
-
* not carried over when the header moved to this component.
|
|
247
|
-
*/
|
|
248
|
-
async dismissNotification(event, orderId) {
|
|
249
|
-
// The row is inside an overflow-menu item; without this the menu closes on click and the
|
|
250
|
-
// list is torn down before the request resolves.
|
|
251
|
-
event.preventDefault();
|
|
252
|
-
event.stopPropagation();
|
|
253
|
-
try {
|
|
254
|
-
await api.delete(`${this.baseUrl}/de-de/api/notifications/${orderId}`, {
|
|
255
|
-
credentials: 'include',
|
|
256
|
-
});
|
|
257
|
-
}
|
|
258
|
-
catch (error) {
|
|
259
|
-
console.error('Failed to dismiss the notification:', error === null || error === void 0 ? void 0 : error.message, error);
|
|
260
|
-
}
|
|
261
|
-
await this.getNotifications();
|
|
262
|
-
}
|
|
263
180
|
_renderNotifications() {
|
|
264
181
|
var _a;
|
|
265
182
|
if (!((_a = this.metaNav) === null || _a === void 0 ? void 0 : _a.IsManager))
|
|
266
183
|
return null;
|
|
267
|
-
return (h("li", { class: "notifications" }, h("xv-overflow-menu-v2", { position: "right", size: SIZE_VAR.MD }, h("span", { slot: "trigger", class: "fa-stack" }, h("i", { class: "notifications-icon far fa-bell fa-stack-1x" }), this.notifications.length > 0 && (h("xv-tag-v2", { class: "counter-badge counter-badge--absolute", bg: "var(--icon-interactive, #97BF0D)", color: "var(--text-inverse, #FFF)" }, this.notifications.length))), this.notifications.map((notification) => {
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
184
|
+
return (h("li", { class: "notifications" }, h("xv-overflow-menu-v2", { position: "right", size: SIZE_VAR.MD }, h("span", { slot: "trigger", class: "fa-stack" }, h("i", { class: "notifications-icon far fa-bell fa-stack-1x" }), this.notifications.length > 0 && (h("xv-tag-v2", { class: "counter-badge counter-badge--absolute", bg: "var(--icon-interactive, #97BF0D)", color: "var(--text-inverse, #FFF)" }, this.notifications.length))), this.notifications.map((notification) => (h("xv-overflow-menu-v2-item", { value: notification.id, variant: OverflowMenuVariant.GHOST, disabled: notification.isRead, clickable: false }, h("div", { class: "notifications-item" }, h("i", { class: {
|
|
185
|
+
far: true,
|
|
186
|
+
'fa-clock': !notification.status,
|
|
187
|
+
'fa-times-circle': notification.status === 1,
|
|
188
|
+
'fa-circle': notification.status && notification.status !== 1,
|
|
189
|
+
} }), h("div", { class: "notifications-item-body" }, h("span", null, "Rechnungsentwurf f\u00FCr Auftrag ", notification.orderId, " ist ausstehend"), h("xv-link-v2", { variant: notification.isRead ? 'ghost' : 'standalone', href: `/de-de/manager/ordersales/details/${notification.orderId}` }, "Auftrag anschauen")))))))));
|
|
271
190
|
}
|
|
272
191
|
_renderAccount() {
|
|
273
192
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
@@ -286,7 +205,7 @@ export class XvHeaderNext {
|
|
|
286
205
|
render() {
|
|
287
206
|
var _a, _b, _c, _d, _e;
|
|
288
207
|
const isXvBrand = (((_a = this.metaNav) === null || _a === void 0 ? void 0 : _a['WhitelabelName']) || 'Xv') === 'Xv';
|
|
289
|
-
return (h("header", { key: '
|
|
208
|
+
return (h("header", { key: 'c87cc8c95ca0d61dc02ea975cb476af427ac2b3d', class: "header" }, h("div", { key: '877616897b4bf02b5c19e58a2d633a81ef1e6242', class: "header-wrapper" }, h("div", { key: 'ccff077dad46bf9fc8378bdbc1bbaf27c7809773', class: "xv-container" }, h("div", { key: '8ffc4438bde13ae29ea4030b5bfa02cb470ffff2', class: "header-top" }, h("div", { key: '0e9b1e82a8e7ec138cc410f585515b2a9abfac5a', class: "header-top--left" }, h("xv-button-v2", { key: '79e52670227627fd8eab012ea4c2dbe72799dc57', class: "menu-btn", variant: "ghost", onClick: this.toggleMobMenu }, h("i", { key: 'f2bd99ea6b8827df9409f557f1ced3c73bceb12c', slot: "icon-left", class: { 'fa': true, 'fa-times': this.mobMenuOpen, 'fa-bars': !this.mobMenuOpen } })), this.metaNav && (h("a", { key: '7a7f45a0e1855bf7015a52eede2cd93fc7819b60', href: `${window.location.origin}/` }, h("picture", { key: '1eb568c80906ff6e3449d8090f7da4963ae230a1' }, h("source", { key: 'c8174ef49a21cd3546debc4de8d95917ec0ca97c', srcSet: ((_b = this.metaNav) === null || _b === void 0 ? void 0 : _b.LogoUrl) || 'https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg', media: "(min-width: 990px)" }), h("img", { key: 'c03a9ac3a52f0bc9df90675b1a9f2c35b921f411', src: ((_c = this.metaNav) === null || _c === void 0 ? void 0 : _c.LogoSmallUrl) || 'https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo-small.svg', onError: this.logoFallback, loading: "lazy", alt: "Crossvertise" })))), this.orgUnit && (h("xv-link-v2", { key: 'dccc2911f8e263a84978280cb8936aba7178ced0', class: "header-top--orgUnit", variant: "standalone", href: "/de-de/mycrossvertise" }, this.orgUnit))), h("ul", { key: 'b2f74d331583eda966d8d1f51beba7a696bab324', class: "header-top--right" }, this._renderLocaleSwitcher(), this._renderSearch(), this._renderImpersonationInfo(), !((_d = this.metaNav) === null || _d === void 0 ? void 0 : _d.IsManager) && isXvBrand && (h("li", { key: '8c55b70be62e174bf87770f649c8bf9346a5bb1a' }, h("xv-link-v2", { key: '7e32028087211b2da35e2586669d6742376635ff', variant: "ghost", href: "https://www.crossvertise.com/ueber-uns/kontakt" }, h("xv-button-v2", { key: 'e00945870bccafe0b2a0a8155144d380d429e2a2', variant: "ghost", size: SIZE_VAR.MD }, h("i", { key: '02c11e53729e6f021a6533f607a24a7a4528381b', class: "header-icon far fa-envelope" }), h("span", { key: 'a25b7707de479a89c564c41b381421626cffd4f1', class: "header-label xv-body-02" }, "Kontakt"))))), this._renderNotifications(), this._renderAccount(), !((_e = this.metaNav) === null || _e === void 0 ? void 0 : _e.IsManager) && isXvBrand && (h("li", { key: 'e18b1fe074a0c5dccac8dae93104ae5c877291d6' }, h("xv-link-v2", { key: '2b3355d49caf0e3162b2149df0f8e7f233a1e325', variant: "ghost", href: "https://help.crossvertise.com" }, h("xv-button-v2", { key: 'af72384bd898934762f04bf1fb8b77f33634a0b4', variant: "ghost", size: SIZE_VAR.MD }, h("i", { key: '53e4998f33d86179a08db039b27ac52f959c9ba4', class: "header-icon far fa-question-circle" }), h("span", { key: '37d5d257287ad892f7ab5e3d9300cac3514d4938', class: "header-label xv-body-02" }, "Hilfe"))))), this._renderShoppingCart()))), h("div", { key: '841cd8d2db611af865b9a1127c959e76877ab6db', class: "header-wrapper--bg" }, h("div", { key: 'ce6fa8184b831abdacbf9f04b226ed9c4387ac98', class: "xv-container" }, h("xv-mega-menu-next", { key: '6d64b1f655a1fa65f915ae6280da173e8dd22a88', open: this.mobMenuOpen, onOpenChange: this.closeMobMenu, menuData: this.menuData })))), h("xv-login-modal", { key: 'efcd6f10be9d9455e419695b7613603fae3e4235', visible: this.showLoginModal, onClose: () => this.showLoginModal = false })));
|
|
290
209
|
}
|
|
291
210
|
static get is() { return "xv-header-next"; }
|
|
292
211
|
static get originalStyleUrls() {
|
|
@@ -313,7 +232,7 @@ export class XvHeaderNext {
|
|
|
313
232
|
"optional": true,
|
|
314
233
|
"docs": {
|
|
315
234
|
"tags": [],
|
|
316
|
-
"text": "Pre-rendered mega-menu data forwarded to the inner xv-mega-menu-next.\nJSON string (HTML attribute) or array of MenuItem (JS prop)."
|
|
235
|
+
"text": "Pre-rendered mega-menu data forwarded to the inner xv-mega-menu-next.\r\nJSON string (HTML attribute) or array of MenuItem (JS prop)."
|
|
317
236
|
},
|
|
318
237
|
"getter": false,
|
|
319
238
|
"setter": false,
|
|
@@ -332,7 +251,7 @@ export class XvHeaderNext {
|
|
|
332
251
|
"optional": true,
|
|
333
252
|
"docs": {
|
|
334
253
|
"tags": [],
|
|
335
|
-
"text": "Active locale code (e.g. \"de\", \"en\"). Used to highlight the current\nentry in the language switcher. When omitted the switcher is hidden."
|
|
254
|
+
"text": "Active locale code (e.g. \"de\", \"en\"). Used to highlight the current\r\nentry in the language switcher. When omitted the switcher is hidden."
|
|
336
255
|
},
|
|
337
256
|
"getter": false,
|
|
338
257
|
"setter": false,
|
|
@@ -351,7 +270,7 @@ export class XvHeaderNext {
|
|
|
351
270
|
"optional": true,
|
|
352
271
|
"docs": {
|
|
353
272
|
"tags": [],
|
|
354
|
-
"text": "JSON array describing the language switcher entries.\nEach entry: { code: \"de\", label: \"Deutsch\", href: \"/\" }.\nWhen omitted or empty the switcher is hidden."
|
|
273
|
+
"text": "JSON array describing the language switcher entries.\r\nEach entry: { code: \"de\", label: \"Deutsch\", href: \"/\" }.\r\nWhen omitted or empty the switcher is hidden."
|
|
355
274
|
},
|
|
356
275
|
"getter": false,
|
|
357
276
|
"setter": false,
|
|
@@ -12,7 +12,7 @@ export class XvLink {
|
|
|
12
12
|
e.stopPropagation();
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
|
-
return (h(Host, { key: '
|
|
15
|
+
return (h(Host, { key: '2f2b62e7ca9e06c2d1f65f73d93ed5df9fb7723c', class: { [`xv-link_${this.variant}`]: true, disabled: !!this.disabled } }, h("a", { key: '523e881f65b021e2d654c63b59d8b4c76019a384', href: this.href, onClick: this.preventLinkHandler.bind(this), class: { 'xv-link': true, 'xv-link_disabled': !!this.disabled, [this.size]: !!this.size }, target: this.target }, h("slot", { key: 'a235d591cbcb7ad26fc423e64cc4030931204209', name: "icon-left" }), h("slot", { key: 'b9be8b821004efdb2fa7f35b21e0d9f2e9f8954c' }), h("slot", { key: '6c2519ef57ca37701449a37bc3a5be70df952b4a', name: "icon-right" }))));
|
|
16
16
|
}
|
|
17
17
|
static get is() { return "xv-link-v2"; }
|
|
18
18
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
* Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
|
|
3
|
+
* License - https://fontawesome.com/license (Commercial License)
|
|
4
|
+
*/
|
|
5
5
|
.fa,
|
|
6
6
|
.fas,
|
|
7
7
|
.far,
|
|
@@ -9465,9 +9465,9 @@ readers do not read off random characters that represent icons */
|
|
|
9465
9465
|
}
|
|
9466
9466
|
|
|
9467
9467
|
/*!
|
|
9468
|
-
|
|
9469
|
-
|
|
9470
|
-
|
|
9468
|
+
* Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
|
|
9469
|
+
* License - https://fontawesome.com/license (Commercial License)
|
|
9470
|
+
*/
|
|
9471
9471
|
@font-face {
|
|
9472
9472
|
font-family: "Font Awesome 5 Brands";
|
|
9473
9473
|
font-style: normal;
|
|
@@ -9526,7 +9526,7 @@ readers do not read off random characters that represent icons */
|
|
|
9526
9526
|
content: "";
|
|
9527
9527
|
flex: 1;
|
|
9528
9528
|
height: 1px;
|
|
9529
|
-
background-color: var(--
|
|
9529
|
+
background-color: var(--border-subtle-00);
|
|
9530
9530
|
}
|
|
9531
9531
|
.login_spacer::before {
|
|
9532
9532
|
margin-right: var(--spacing-04);
|
|
@@ -59,7 +59,7 @@ export class XvMegaMenu {
|
|
|
59
59
|
void this.fetchMenuData();
|
|
60
60
|
}
|
|
61
61
|
render() {
|
|
62
|
-
return (h(Host, { key: '
|
|
62
|
+
return (h(Host, { key: '6335de0b7c1562994de4c6944152865fb6b57e53' }, h("nav", { key: '73cf026416006554ae5f1e72636bb8dc24cb63c3', class: { 'xv-menu': true, open: this.open } }, this.menuLoading && (h("div", { key: '43f34a516e2ba706852d96d62845ccd0600344bc', class: { 'xv-menu-loader': true, open: this.open } }, h("xv-loader-v2", { key: '39e21cfd68cd457ce76faaa1f0ec227bd6520c4e' }))), h("ul", { key: '21c0a2623a29199955a7df7abe2f1685ab6be091', class: { menu: true, open: this.open } }, this.menuItems.map((menuItem) => {
|
|
63
63
|
var _a, _b;
|
|
64
64
|
return (h("li", { class: { 'menu-item': true, active: menuItem.id === ((_a = this.activeItem) === null || _a === void 0 ? void 0 : _a.id) } }, menuItem.route ? (h("xv-link-v2", { variant: "ghost", href: menuItem.route.route }, h("p", { class: "menu-item-label" }, (_b = menuItem.route) === null || _b === void 0 ? void 0 : _b.label))) : (h(Fragment, null, h("p", { class: "menu-item-label", onClick: () => this.setActiveItem(menuItem) }, menuItem === null || menuItem === void 0 ? void 0 : menuItem.label), h("ul", { class: "menu-item-groups" }, menuItem.groups.map((group) => {
|
|
65
65
|
var _a;
|
|
@@ -69,7 +69,7 @@ export class XvMegaMenu {
|
|
|
69
69
|
} }, h("div", { class: "group-menus" }, h("ul", { class: { 'group-menus-categories': true, inline: group.layout === 'inline' } }, group.categories.map((category) => (h("li", { class: "category" }, h("p", { class: "category-label" }, category.label), h("ul", { class: "category-routes" }, category.routes.map((route) => (h("li", { class: "route" }, h("xv-link-v2", { size: "lg", variant: "ghost", href: route.route || '#' }, route.label), route.tag && (h("xv-tag-v2", { class: "route-tag", size: "sm", color: "#161616", bg: "#E0E0E0" }, route.tag)))))))))), h("ul", { class: "group-menus-actions" }, group.actions.map((action) => (h("li", { class: "action" }, action.type === 'link' && (h("xv-link-v2", { variant: "standalone", href: action === null || action === void 0 ? void 0 : action.url }, action.label, h("span", { class: "link-chevron", slot: "icon-right" }, "\u2192"))), action.type === 'button' &&
|
|
70
70
|
h("xv-button-v2", { onClick: () => this.navActionClick(action), block: true, variant: "tertiary" }, action.label)))))), (group === null || group === void 0 ? void 0 : group.card) && (h("div", { class: "group-card" }, h("xv-card-v2", { media: this.applicationContext !== 'Komsa' ? group.card.image : undefined, variant: this.isMobile ? 'horizontal' : 'vertical' }, h("h5", { slot: "header", class: "group-card-title" }, group.card.title), h("p", { slot: "body", class: "group-card-desc" }, group.card.description), group.card.linkLabel && (h("xv-link-v2", { slot: "footer", variant: "standalone", href: group.card.linkUrl || '#' }, group.card.linkLabel, h("span", { class: "link-chevron", slot: "icon-right" }, "\u2192"))))))))));
|
|
71
71
|
}))))));
|
|
72
|
-
}), h("li", { key: '
|
|
72
|
+
}), h("li", { key: 'd2a050cba2b788c4bc009bff34270135d93e02de', class: "menu--right" }, h("slot", { key: '1be51b717e7a272f5ab8d3185e1070b0ada74515', name: "menu-right" })), this.open && (h("li", { key: 'd32c5b8fade926cecde7574c2fb15c9853178917', class: "menu--backdrop", onClick: () => this.handleClose() }))))));
|
|
73
73
|
}
|
|
74
74
|
static get is() { return "xv-mega-menu"; }
|
|
75
75
|
static get encapsulation() { return "shadow"; }
|
|
@@ -94,7 +94,7 @@ export class XvMegaMenuNext {
|
|
|
94
94
|
void this.fetchMenuData();
|
|
95
95
|
}
|
|
96
96
|
render() {
|
|
97
|
-
return (h(Host, { key: '
|
|
97
|
+
return (h(Host, { key: 'ed607b8cd4c395fb89c2b925381a66476ee7fc66' }, h("nav", { key: 'df1bc505eea962a6dd450aff9ce94bdaf851bb60', class: { 'xv-menu': true, open: this.open } }, this.menuLoading && (h("div", { key: '43d7eb0df82e01e7bc9dcf7d305b41e2e274206b', class: { 'xv-menu-loader': true, open: this.open } }, h("xv-loader-v2", { key: 'd1fe2d349bbb091ca9e1ad3b3042f751cd7bea8a' }))), h("ul", { key: '7daed87d6a28ef57cf50c44d6b692818d898f24b', class: { menu: true, open: this.open } }, this.menuItems.map((menuItem) => {
|
|
98
98
|
var _a, _b;
|
|
99
99
|
return (h("li", { class: { 'menu-item': true, active: menuItem.id === ((_a = this.activeItem) === null || _a === void 0 ? void 0 : _a.id) } }, menuItem.route ? (h("xv-link-v2", { variant: "ghost", href: menuItem.route.route }, h("p", { class: "menu-item-label" }, (_b = menuItem.route) === null || _b === void 0 ? void 0 : _b.label))) : (h(Fragment, null, h("p", { class: "menu-item-label", onClick: () => this.setActiveItem(menuItem) }, menuItem === null || menuItem === void 0 ? void 0 : menuItem.label), h("ul", { class: "menu-item-groups" }, menuItem.groups.map((group) => {
|
|
100
100
|
var _a;
|
|
@@ -104,7 +104,7 @@ export class XvMegaMenuNext {
|
|
|
104
104
|
} }, h("div", { class: "group-menus" }, h("ul", { class: { 'group-menus-categories': true, inline: group.layout === 'inline' } }, group.categories.map((category) => (h("li", { class: "category" }, h("p", { class: "category-label" }, category.label), h("ul", { class: "category-routes" }, category.routes.map((route) => (h("li", { class: "route" }, h("xv-link-v2", { size: "lg", variant: "ghost", href: route.route || '#' }, route.label), route.tag && (h("xv-tag-v2", { class: "route-tag", size: "sm", color: "#161616", bg: "#E0E0E0" }, route.tag)))))))))), h("ul", { class: "group-menus-actions" }, group.actions.map((action) => (h("li", { class: "action" }, action.type === 'link' && (h("xv-link-v2", { variant: "standalone", href: action === null || action === void 0 ? void 0 : action.url }, action.label, h("span", { class: "link-chevron", slot: "icon-right" }, "\u2192"))), action.type === 'button' &&
|
|
105
105
|
h("xv-button-v2", { onClick: () => this.navActionClick(action), block: true, variant: "tertiary" }, action.label)))))), (group === null || group === void 0 ? void 0 : group.card) && (h("div", { class: "group-card" }, h("xv-card-v2", { media: this.applicationContext !== 'Komsa' ? group.card.image : undefined, variant: this.isMobile ? 'horizontal' : 'vertical' }, h("h5", { slot: "header", class: "group-card-title" }, group.card.title), h("p", { slot: "body", class: "group-card-desc" }, group.card.description), group.card.linkLabel && (h("xv-link-v2", { slot: "footer", variant: "standalone", href: group.card.linkUrl || '#' }, group.card.linkLabel, h("span", { class: "link-chevron", slot: "icon-right" }, "\u2192"))))))))));
|
|
106
106
|
}))))));
|
|
107
|
-
}), h("li", { key: '
|
|
107
|
+
}), h("li", { key: '9644d518b2a427d1af5319f6d0dcd08b11a9c6c2', class: "menu--right" }, h("slot", { key: '5200a528a6e5b5374815d7978ec09e87da55a3d7', name: "menu-right" })), this.open && (h("li", { key: '378f37f82e6b9ae4990e4bd7d197d1a1ce851b2e', class: "menu--backdrop", onClick: () => this.handleClose() }))))));
|
|
108
108
|
}
|
|
109
109
|
static get is() { return "xv-mega-menu-next"; }
|
|
110
110
|
static get encapsulation() { return "shadow"; }
|
|
@@ -150,7 +150,8 @@ export class XvMegaMenuNext {
|
|
|
150
150
|
"MenuItem": {
|
|
151
151
|
"location": "import",
|
|
152
152
|
"path": "./xv-mega-menu-next.model",
|
|
153
|
-
"id": "src/components/xv-mega-menu-next/xv-mega-menu-next.model.ts::MenuItem"
|
|
153
|
+
"id": "src/components/xv-mega-menu-next/xv-mega-menu-next.model.ts::MenuItem",
|
|
154
|
+
"referenceLocation": "MenuItem"
|
|
154
155
|
}
|
|
155
156
|
}
|
|
156
157
|
},
|
|
@@ -158,7 +159,7 @@ export class XvMegaMenuNext {
|
|
|
158
159
|
"optional": true,
|
|
159
160
|
"docs": {
|
|
160
161
|
"tags": [],
|
|
161
|
-
"text": "Pre-rendered menu data, either as a JSON string (when set as an HTML\nattribute) or as an array (when set as a JS property). Bypasses the\nfetch entirely."
|
|
162
|
+
"text": "Pre-rendered menu data, either as a JSON string (when set as an HTML\r\nattribute) or as an array (when set as a JS property). Bypasses the\r\nfetch entirely."
|
|
162
163
|
},
|
|
163
164
|
"getter": false,
|
|
164
165
|
"setter": false,
|
|
@@ -58,7 +58,7 @@ export class XvModal {
|
|
|
58
58
|
}
|
|
59
59
|
render() {
|
|
60
60
|
var _a;
|
|
61
|
-
return (h(Host, { key: '
|
|
61
|
+
return (h(Host, { key: '75c15cf653a00abfd8be6ed89462a0093e150c39', role: "dialog", size: this.size, id: this.el.id }, h("slot", { key: '246e214c3057e22056cf4f8b2928da9304edc125', name: "trigger", onSlotchange: this.setupTrigger }), h("div", { key: 'bb05dc45ca0310d99e77749733036134ab42bf0b', class: { backdrop: true }, onClick: this.onBackdropClick }, h("div", { key: 'bacfe225733904336335362525228bca07246932', class: "modal" }, h("button", { key: '2772c5b4e1123203b400b81a0d1d39d7e110a8e5', class: "modal_close", onClick: this.closeModal.bind(this) }, "\u00D7"), h("div", { key: '23928a21dd8c76352bae1f054289b71ac5aa1e56', class: "modal_header" }, h("slot", { key: '921de5beeba03483789b927ac2e19b56581a9886', name: "header" }, ((_a = this.el) === null || _a === void 0 ? void 0 : _a.title) && h("h5", { key: '025841d472e2be994d51cac496bbc48bee852de9', class: "modal_header__title" }, this.el.title))), h("div", { key: '606cf764df7936e9336532a999449693931dbd93', class: { 'modal_content': true, overflow: this.overflow } }, h("slot", { key: '3ad756e911c7ea5760814217b9087bb9a11a7cf0' })), h("div", { key: '3fd8b00e9fec6fab266791481886ab06c7074ebb', class: "modal_footer" }, h("slot", { key: 'b417b2eb294631a7c60df04d16f1cb2f5f13997d', name: "footer" })), !!this.loading && (h("div", { key: 'd1e740383a4f241fbd9c6cb5c80881f99244fd0b', class: "loading" }, h("xv-loader-v2", { key: 'f2aad280dfb13897f3fbac1f455f2758b19b5784', size: SIZE_VAR.LG })))))));
|
|
62
62
|
}
|
|
63
63
|
disconnectedCallback() {
|
|
64
64
|
this.removeTriggerListener();
|
|
@@ -127,7 +127,8 @@ export class XvModal {
|
|
|
127
127
|
"SIZE_VAR_STR": {
|
|
128
128
|
"location": "import",
|
|
129
129
|
"path": "../../types/enum",
|
|
130
|
-
"id": "src/types/enum.ts::SIZE_VAR_STR"
|
|
130
|
+
"id": "src/types/enum.ts::SIZE_VAR_STR",
|
|
131
|
+
"referenceLocation": "SIZE_VAR_STR"
|
|
131
132
|
}
|
|
132
133
|
}
|
|
133
134
|
},
|
|
@@ -25,7 +25,7 @@ export class XvNotification {
|
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
render() {
|
|
28
|
-
return (h(Host, { key: '
|
|
28
|
+
return (h(Host, { key: 'b9723088121c3a418be0fe2cc6f9b5c7f949236e', class: "xv-notification", type: this.variant }, this.renderIcon(this.variant), h("div", { key: '22718e6d6976a6be552279e31f6903fccef9e73d', class: "content" }, h("div", { key: 'e99c9bc29eb6e06cf0ca62e69ced5798c080512f', class: "content_wrapper" }, this.el.title && h("h5", { key: '96b8271df8a5a60016f55bfc173e0b999f4732d0', class: "content_title" }, this.el.title), h("slot", { key: 'a81695e7573fec7efcdd864b0293c606ea780bf2' })), h("slot", { key: '7a905c0194446c5fc00e05dfea45c08e4dbe58b2', name: "footer" })), this.dismissible && h("button", { key: '123e1b43d8f107b92952465fac7db446863536c0', class: "close", onClick: this.closeHandle })));
|
|
29
29
|
}
|
|
30
30
|
static get is() { return "xv-notification-v2"; }
|
|
31
31
|
static get encapsulation() { return "shadow"; }
|
|
@@ -52,7 +52,8 @@ export class XvNotification {
|
|
|
52
52
|
"NOTIFICATION_VARIANTS_STR": {
|
|
53
53
|
"location": "import",
|
|
54
54
|
"path": "./_vars",
|
|
55
|
-
"id": "src/components/xv-notification/_vars.ts::NOTIFICATION_VARIANTS_STR"
|
|
55
|
+
"id": "src/components/xv-notification/_vars.ts::NOTIFICATION_VARIANTS_STR",
|
|
56
|
+
"referenceLocation": "NOTIFICATION_VARIANTS_STR"
|
|
56
57
|
}
|
|
57
58
|
}
|
|
58
59
|
},
|