xv-webcomponents 1.24.11-qa.0 → 2.0.0-beta.2
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 +248 -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 +57 -0
- package/dist/angular/proxies.d.ts +670 -0
- package/dist/angular/proxies.js +1658 -0
- package/dist/angular/web-components.module.d.ts +7 -0
- package/dist/angular/web-components.module.js +171 -0
- package/dist/cjs/_vars-DMytunQw.js +26 -0
- package/dist/cjs/{index-Cb30DBqk.js → index-Cfa6bBQW.js} +2 -0
- package/dist/cjs/{index-DpLAFt0R.js → index-Cixkr3sz.js} +387 -1796
- package/dist/cjs/index.cjs.js +4 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/maplibre-gl-BIvnXGyX.js +884 -0
- package/dist/cjs/xv-accordion-v2_50.cjs.entry.js +533 -482
- package/dist/cjs/xv-header-next.cjs.entry.js +10 -8
- package/dist/cjs/xv-mega-menu-next.cjs.entry.js +4 -4
- package/dist/cjs/xv-webcomponents.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +2 -1
- 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 -6
- package/dist/collection/components/xv-header-next/xv-header-next.js +10 -9
- 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 +5 -3
- 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.js +4 -2
- package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +12 -6
- package/dist/collection/components/xv-table/xv-table.js +3 -2
- 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/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-B9zHwwFm.js +1 -0
- package/dist/components/p-BNP2Lw34.js +1 -0
- package/dist/components/p-BRYrLHiz.js +1 -0
- package/dist/components/p-BRZwUlfE.js +1 -0
- package/dist/components/p-BXB4D7j4.js +1 -0
- package/dist/components/p-BfP9ezJQ.js +1 -0
- package/dist/components/p-BiiqsbVQ.js +1 -0
- package/dist/components/p-CEjlxnKY.js +1 -0
- package/dist/components/p-CHtssNO9.js +1 -0
- package/dist/components/p-CILNPUHH.js +1 -0
- package/dist/components/p-CMAJWZsP.js +1 -0
- package/dist/components/p-COoj5JkZ.js +1 -0
- package/dist/components/p-CbVZCn2p.js +1 -0
- package/dist/components/p-DTwz9Fsh.js +1 -0
- package/dist/components/p-DVZ2BlIP.js +1 -0
- package/dist/components/p-Ddx5DwV5.js +1 -0
- package/dist/components/p-DlLBjhuH.js +1 -0
- package/dist/components/p-DtUNYh73.js +1 -0
- package/dist/components/p-DyGMZIub.js +1 -0
- package/dist/components/p-Dzz9jxLm.js +1 -0
- package/dist/components/p-HjYAjHna.js +1 -0
- package/dist/components/p-SvgdO2VS.js +1 -0
- package/dist/components/p-ZYJfCCwX.js +1 -0
- package/dist/components/p-bdaoJ1tx.js +1 -0
- package/dist/components/p-e0i0f6QA.js +1 -0
- package/dist/components/p-kQVUwJXZ.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-v2-cell.d.ts +11 -0
- package/dist/components/xv-table-v2-cell.js +1 -0
- package/dist/components/xv-table-v2-expand.d.ts +11 -0
- package/dist/components/xv-table-v2-expand.js +1 -0
- package/dist/components/xv-table-v2-row.d.ts +11 -0
- package/dist/components/xv-table-v2-row.js +1 -0
- package/dist/components/xv-table-v2.d.ts +11 -0
- package/dist/components/xv-table-v2.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 +10090 -0
- package/dist/docs.d.ts +480 -0
- package/dist/docs.json +14875 -0
- package/dist/esm/_vars-CDEU4jkD.js +23 -0
- package/dist/esm/{index-CQm2sRKT.js → index-B6cY-_U1.js} +2 -0
- package/dist/esm/{index-DmxA2ysB.js → index-Bu8SrOeR.js} +386 -1797
- package/dist/esm/index.js +2 -1
- package/dist/esm/loader.js +2 -2
- 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 +533 -482
- package/dist/esm/xv-header-next.entry.js +10 -8
- package/dist/esm/xv-mega-menu-next.entry.js +4 -4
- package/dist/esm/xv-webcomponents.js +3 -3
- package/dist/react/components.d.ts +56 -0
- package/dist/react/components.js +57 -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-v2-cell.d.ts +12 -0
- package/dist/react/xv-table-v2-cell.js +14 -0
- package/dist/react/xv-table-v2-expand.d.ts +9 -0
- package/dist/react/xv-table-v2-expand.js +14 -0
- package/dist/react/xv-table-v2-row.d.ts +13 -0
- package/dist/react/xv-table-v2-row.js +17 -0
- package/dist/react/xv-table-v2.d.ts +9 -0
- package/dist/react/xv-table-v2.js +14 -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.d.ts +611 -103
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +65 -2
- package/dist/vscode-data.json +3002 -0
- package/dist/xv-webcomponents/index.esm.js +1 -1
- package/dist/xv-webcomponents/{p-fe9b38f8.entry.js → p-1ffb0b4f.entry.js} +1 -1
- package/dist/xv-webcomponents/p-A3B7AR96.js +9 -0
- package/dist/xv-webcomponents/p-Bu8SrOeR.js +3 -0
- package/dist/xv-webcomponents/p-CDEU4jkD.js +1 -0
- package/dist/xv-webcomponents/p-DB4KqDJz.js +1 -0
- package/dist/xv-webcomponents/p-d4d26ff2.entry.js +1 -0
- package/dist/xv-webcomponents/p-eb9d7750.entry.js +8 -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 +97 -18
- package/dist/cjs/_vars-FOITtI6f.js +0 -71
- package/dist/cjs/maplibre-gl-CCZS3Rg5.js +0 -900
- package/dist/collection/components/xv-header/_vars.js +0 -41
- package/dist/esm/_vars-CS4ouQ2K.js +0 -65
- package/dist/esm/maplibre-gl-CS4Eagm9.js +0 -813
- package/dist/types/components/xv-header/_vars.d.ts +0 -23
- package/dist/xv-webcomponents/p-0002421f.entry.js +0 -1
- package/dist/xv-webcomponents/p-01d6444c.entry.js +0 -8
- package/dist/xv-webcomponents/p-CQm2sRKT.js +0 -1
- package/dist/xv-webcomponents/p-CS4Eagm9.js +0 -10
- package/dist/xv-webcomponents/p-CS4ouQ2K.js +0 -1
- package/dist/xv-webcomponents/p-DmxA2ysB.js +0 -2
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 crossvertise
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 crossvertise
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,129 +1,248 @@
|
|
|
1
|
-
# @xv/webcomponents
|
|
2
|
-
|
|
3
|
-
**Reusable Web Components for XV Applications**
|
|
4
|
-
This repository contains Web Components built with Stencil.js to provide a modular and reusable UI across multiple applications.
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Features
|
|
9
|
-
|
|
10
|
-
**Reusable Web Components** – Designed for multiple XV applications
|
|
11
|
-
**Stencil.js Powered** – Built using modern Web Component standards
|
|
12
|
-
**Shadow DOM Support** – Encapsulated styles and functionality
|
|
13
|
-
**Brand-Specific Theming** – Automatically detects and applies brand styles
|
|
14
|
-
**Framework Agnostic** – Works with Angular, React, Vue, and plain HTML
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Folder Structure
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
xv-webcomponents/
|
|
22
|
-
|
|
23
|
-
│ ├── components/
|
|
24
|
-
│ │
|
|
25
|
-
│ │
|
|
26
|
-
│ │
|
|
27
|
-
│ │
|
|
28
|
-
│ │
|
|
29
|
-
│
|
|
30
|
-
│
|
|
31
|
-
│
|
|
32
|
-
│
|
|
33
|
-
|
|
34
|
-
│ ├──
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Installation
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
###
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
1
|
+
# @xv/webcomponents
|
|
2
|
+
|
|
3
|
+
**Reusable Web Components for XV Applications**
|
|
4
|
+
This repository contains Web Components built with Stencil.js to provide a modular and reusable UI across multiple applications.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Features
|
|
9
|
+
|
|
10
|
+
**Reusable Web Components** – Designed for multiple XV applications
|
|
11
|
+
**Stencil.js Powered** – Built using modern Web Component standards
|
|
12
|
+
**Shadow DOM Support** – Encapsulated styles and functionality
|
|
13
|
+
**Brand-Specific Theming** – Automatically detects and applies brand styles
|
|
14
|
+
**Framework Agnostic** – Works with Angular, React, Vue, and plain HTML
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Folder Structure
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
xv-webcomponents/
|
|
22
|
+
├── src/
|
|
23
|
+
│ ├── components/ # One folder per component, plus the API conventions README
|
|
24
|
+
│ │ └── xv-button/
|
|
25
|
+
│ │ ├── xv-button-v2.tsx
|
|
26
|
+
│ │ ├── xv-button-v2.scss
|
|
27
|
+
│ │ ├── xv-button-v2.e2e.ts
|
|
28
|
+
│ │ └── readme.md # generated by docs-readme
|
|
29
|
+
│ ├── assets/styles/ # Shared SCSS injected into every component (mixins, breakpoints)
|
|
30
|
+
│ ├── utils/ # Shared helpers
|
|
31
|
+
│ ├── global.scss # Adopted into every shadow root — keep it minimal
|
|
32
|
+
│ └── index.ts # Public barrel
|
|
33
|
+
├── scripts/
|
|
34
|
+
│ ├── tag-config.js # Tag composition and validation
|
|
35
|
+
│ ├── apply-tag-config.js # Prebuild codemod
|
|
36
|
+
│ └── build-wrappers.js # Compiles the React and Angular wrappers
|
|
37
|
+
├── tags.config.json # prefix / suffix
|
|
38
|
+
├── stencil.config.ts
|
|
39
|
+
└── stencil.paths.js # Paths shared by the config and the scripts
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Installation
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm install xv-webcomponents
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Node 22 or newer is required to build this repository. Consuming the published package has no
|
|
51
|
+
Node requirement.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## What the package ships
|
|
56
|
+
|
|
57
|
+
| Entry point | Contents | For |
|
|
58
|
+
| --- | --- | --- |
|
|
59
|
+
| `xv-webcomponents` | Lazy-loading bundle and types | Script tag, CDN, anything non-bundled |
|
|
60
|
+
| `xv-webcomponents/loader` | `defineCustomElements()` | Registering the lazy bundle by hand |
|
|
61
|
+
| `xv-webcomponents/components/xv-button-v2` | One component and only its dependencies | Bundlers |
|
|
62
|
+
| `xv-webcomponents/components` | Shared helpers only — `setTagTransformer`, `setAssetPath`, `setNonce`. **Not** the components | Runtime configuration |
|
|
63
|
+
| `xv-webcomponents/react` | Compiled React wrappers (JS + `.d.ts`) | React and Next.js |
|
|
64
|
+
| `xv-webcomponents/angular` | Compiled `WebComponentsModule` and component proxies | Angular |
|
|
65
|
+
| `xv-webcomponents/docs.json` | Stencil docs JSON | Tooling, AI agents |
|
|
66
|
+
| `xv-webcomponents/dist/custom-elements.json` | Custom Elements Manifest | Editors, catalogues |
|
|
67
|
+
| `xv-webcomponents/vscode-data.json` | VS Code HTML custom data | Editor completion |
|
|
68
|
+
| `xv-webcomponents/css` | Global stylesheet | Every consumer |
|
|
69
|
+
|
|
70
|
+
Each `components/<tag>` module registers its element when imported
|
|
71
|
+
(`auto-define-custom-elements`), so no loader call is needed. They tree-shake per component:
|
|
72
|
+
`xv-button-v2` alone bundles to **80 kB** minified, two components to **83 kB**, and all 52 to
|
|
73
|
+
**2.8 MB** — the single-component bundle contains `xv-button-v2` and `xv-loader-v2`, which it uses
|
|
74
|
+
for its loading state, and none of the other 50.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Usage
|
|
79
|
+
|
|
80
|
+
### HTML page
|
|
81
|
+
|
|
82
|
+
```html
|
|
83
|
+
<script type="module" src="https://cdn.yourcompany.com/xv-webcomponents/xv-webcomponents.esm.js"></script>
|
|
84
|
+
<xv-button-v2 label="Click Me" variant="accent"></xv-button-v2>
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Bundled application (one component)
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
import 'xv-webcomponents/components/xv-button-v2';
|
|
91
|
+
import 'xv-webcomponents/css';
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
The barrel at `xv-webcomponents/components` carries helpers, not components — importing it gives
|
|
95
|
+
you `setTagTransformer` and friends, not `XvButtonV2`. Import each component by its own path.
|
|
96
|
+
|
|
97
|
+
### React / Next.js
|
|
98
|
+
|
|
99
|
+
```tsx
|
|
100
|
+
import { XvButtonV2 } from 'xv-webcomponents/react';
|
|
101
|
+
|
|
102
|
+
<XvButtonV2 label="Click Me" variant="accent" onClick={...} />;
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
The wrappers set **properties**, not attributes, so an array arrives as an array and a `Date` as a
|
|
106
|
+
live `Date` — which is the whole point, because React 18 stringifies both onto a custom element.
|
|
107
|
+
`react` is an optional peer dependency; nothing else is needed. The 1.2 kB of
|
|
108
|
+
`@stencil/react-output-target` the wrappers use at runtime is bundled into `dist/react/runtime.js`
|
|
109
|
+
at build time, so a consumer never installs that package — it pulls `ts-morph`, 15 MB of
|
|
110
|
+
build-time tooling.
|
|
111
|
+
|
|
112
|
+
### Angular
|
|
113
|
+
|
|
114
|
+
```typescript
|
|
115
|
+
import { WebComponentsModule } from 'xv-webcomponents/angular';
|
|
116
|
+
|
|
117
|
+
@NgModule({ imports: [WebComponentsModule] })
|
|
118
|
+
export class FeatureModule {}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
`WebComponentsModule` declares and exports all 52 proxies. It has to ship from here: Angular
|
|
122
|
+
refuses to *declare* a component that was compiled in another library, so a consumer can only
|
|
123
|
+
import the module, never assemble its own from `DIRECTIVES`.
|
|
124
|
+
|
|
125
|
+
The package ships **no** `ControlValueAccessor` directives. Only one accessor may match an element
|
|
126
|
+
— a second one fails at runtime with *More than one custom value accessor matches form control* —
|
|
127
|
+
and the accessors an app writes itself know things the generated ones cannot, such as whether
|
|
128
|
+
`xv-dropdown-v2` is in `multiple` mode. Forms wiring stays with the consumer until each component's
|
|
129
|
+
event naming is settled.
|
|
130
|
+
|
|
131
|
+
The proxies are compiled ahead of time in partial-Ivy mode, so they need **Angular 21 or newer** in
|
|
132
|
+
the consuming app. `@angular/core`, `@angular/common`, `@angular/forms` and `rxjs` are optional peer
|
|
133
|
+
dependencies — install them only for this path.
|
|
134
|
+
|
|
135
|
+
### Razor / Sitefinity
|
|
136
|
+
|
|
137
|
+
```html
|
|
138
|
+
<xv-button-v2 label="Submit" variant="secondary"></xv-button-v2>
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Tag names — prefix and suffix
|
|
144
|
+
|
|
145
|
+
Every tag is composed as `{prefix}{component}{suffix}`. The defaults in `tags.config.json` are the
|
|
146
|
+
canonical names, so nothing is rewritten out of the box:
|
|
147
|
+
|
|
148
|
+
```json
|
|
149
|
+
{
|
|
150
|
+
"prefix": "xv-",
|
|
151
|
+
"suffix": ""
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
The hyphens live inside the values, so an empty suffix adds nothing and a prefix is never
|
|
156
|
+
concatenated without a separator. Change either value and rebuild:
|
|
157
|
+
|
|
158
|
+
```json
|
|
159
|
+
{ "prefix": "acme-", "suffix": "-v2" }
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
`xv-button-v2` then becomes `acme-button-v2-v2` everywhere — the custom element registry,
|
|
163
|
+
`dist/components` filenames, the Angular selectors and value accessors, the React wrappers,
|
|
164
|
+
`components.d.ts`, the docs outputs and the demo page.
|
|
165
|
+
|
|
166
|
+
**How it works.** Stencil requires `tag:` in `@Component` to be a string literal — a template
|
|
167
|
+
literal fails the build with `tag missing in component decorator` — so the names cannot be computed.
|
|
168
|
+
A prebuild step (`npm run tags`) rewrites a copy of the sources instead:
|
|
169
|
+
|
|
170
|
+
- on the default config the build runs from `src/` untouched;
|
|
171
|
+
- on any other config `src/` is copied to `tagged-src/` with the names rewritten, and the build
|
|
172
|
+
runs from there against a generated `tsconfig.tagged.json`. `src/` always keeps canonical names.
|
|
173
|
+
|
|
174
|
+
A composed name that is not a valid custom element name (no hyphen, or not starting with a
|
|
175
|
+
lowercase letter) fails the build rather than being silently rejected by the browser.
|
|
176
|
+
|
|
177
|
+
Because the rename happens at build time, every output already carries the configured names —
|
|
178
|
+
including the Angular selectors, which are compiled literals and cannot be changed afterwards.
|
|
179
|
+
Renaming therefore means editing `tags.config.json` and rebuilding, not configuring a consumer.
|
|
180
|
+
|
|
181
|
+
For the runtime case the package also re-exports `setTagTransformer` from its own bundled Stencil
|
|
182
|
+
runtime. The React wrappers and the lazy loader honour it; **Angular does not**, for the same
|
|
183
|
+
reason — its selectors are literals:
|
|
184
|
+
|
|
185
|
+
```ts
|
|
186
|
+
import { setTagTransformer } from 'xv-webcomponents';
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Import it from here and not from `@stencil/core` — the transformer is module state inside the
|
|
190
|
+
runtime bundled into this package, so a consumer's own copy sets a different one.
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## 🛠 Development & Building
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
npm run build # tags -> stencil build -> wrapper compile
|
|
198
|
+
npm start # dev server with watch
|
|
199
|
+
npm test # spec and e2e
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
`npm run build` runs three steps. `prebuild` clears the generated wrapper sources and applies
|
|
203
|
+
`tags.config.json`; `stencil build` writes every output target; `postbuild` compiles
|
|
204
|
+
`react-wrappers/` with `tsc` and `angular-wrappers/` with `ngc`. Both output targets emit
|
|
205
|
+
TypeScript, and neither Next.js nor Angular compiles TypeScript out of `node_modules`.
|
|
206
|
+
|
|
207
|
+
Generated and gitignored: `dist/`, `loader/`, `www/`, `react-wrappers/`, `angular-wrappers/`, and
|
|
208
|
+
— only for a non-default tag config — `tagged-src/` and `tsconfig.tagged.json`.
|
|
209
|
+
|
|
210
|
+
### Publishing
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
npm version prerelease --preid=beta
|
|
214
|
+
npm publish --tag beta
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
The 2.x line publishes to the **`beta`** dist-tag while the migration runs. Never publish it to
|
|
218
|
+
`qa`: `Xv.Identity/Pages/Account/Login.cshtml` loads `unpkg.com/xv-webcomponents@qa` straight from
|
|
219
|
+
the CDN, so that tag reaches production without a deploy.
|
|
220
|
+
|
|
221
|
+
### Dependencies
|
|
222
|
+
|
|
223
|
+
`@lit/react` is the only runtime dependency, and only the React wrappers reach it. Everything else
|
|
224
|
+
is a devDependency — the five former runtime dependencies are already bundled into
|
|
225
|
+
`dist`, and `@fortawesome/fontawesome-pro` comes from a private registry, which made any external
|
|
226
|
+
`npm install` fail. `react`, `@stencil/react-output-target` and `@angular/core` are optional peers.
|
|
227
|
+
|
|
228
|
+
Two upgrades are deliberately held back: **Jest 30** (Stencil 4.44 dispatches jest ≥30 to its Jest 27
|
|
229
|
+
adapter) and **Puppeteer 25** (Stencil pins `^24`).
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## Contributing
|
|
234
|
+
|
|
235
|
+
Read [`src/components/README.md`](src/components/README.md) first — it is the component API contract
|
|
236
|
+
(naming, props, events, slots, CSS custom properties, parts, docs and tests) that every component is
|
|
237
|
+
held to.
|
|
238
|
+
|
|
239
|
+
### **Adding a New Component**
|
|
240
|
+
1. Generate a new component:
|
|
241
|
+
```bash
|
|
242
|
+
npm run generate component xv-new-component
|
|
243
|
+
```
|
|
244
|
+
2. Implement logic and styles inside `src/components/xv-new-component/`.
|
|
245
|
+
3. Test the component using Jest (`.spec.ts`) and e2e tests.
|
|
246
|
+
4. Run `npm run build` to generate the compiled version.
|
|
247
|
+
5. Commit changes and submit a pull request.
|
|
248
|
+
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const proxyInputs: (Cmp: any, inputs: string[]) => void;
|
|
2
|
+
export declare const proxyMethods: (Cmp: any, methods: string[]) => void;
|
|
3
|
+
export declare const proxyOutputs: (instance: any, el: any, events: string[]) => void;
|
|
4
|
+
export declare const defineCustomElement: (tagName: string, customElement: any) => void;
|
|
5
|
+
export declare function ProxyCmp(opts: {
|
|
6
|
+
defineCustomElementFn?: () => void;
|
|
7
|
+
inputs?: any;
|
|
8
|
+
methods?: any;
|
|
9
|
+
}): (cls: any) => any;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
import { fromEvent } from 'rxjs';
|
|
4
|
+
export const proxyInputs = (Cmp, inputs) => {
|
|
5
|
+
const Prototype = Cmp.prototype;
|
|
6
|
+
inputs.forEach((item) => {
|
|
7
|
+
Object.defineProperty(Prototype, item, {
|
|
8
|
+
get() {
|
|
9
|
+
return this.el[item];
|
|
10
|
+
},
|
|
11
|
+
set(val) {
|
|
12
|
+
this.z.runOutsideAngular(() => (this.el[item] = val));
|
|
13
|
+
},
|
|
14
|
+
/**
|
|
15
|
+
* In the event that proxyInputs is called
|
|
16
|
+
* multiple times re-defining these inputs
|
|
17
|
+
* will cause an error to be thrown. As a result
|
|
18
|
+
* we set configurable: true to indicate these
|
|
19
|
+
* properties can be changed.
|
|
20
|
+
*/
|
|
21
|
+
configurable: true,
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
export const proxyMethods = (Cmp, methods) => {
|
|
26
|
+
const Prototype = Cmp.prototype;
|
|
27
|
+
methods.forEach((methodName) => {
|
|
28
|
+
Prototype[methodName] = function () {
|
|
29
|
+
const args = arguments;
|
|
30
|
+
return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
export const proxyOutputs = (instance, el, events) => {
|
|
35
|
+
events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));
|
|
36
|
+
};
|
|
37
|
+
export const defineCustomElement = (tagName, customElement) => {
|
|
38
|
+
if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {
|
|
39
|
+
customElements.define(tagName, customElement);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
// tslint:disable-next-line: only-arrow-functions
|
|
43
|
+
export function ProxyCmp(opts) {
|
|
44
|
+
const decorator = function (cls) {
|
|
45
|
+
const { defineCustomElementFn, inputs, methods } = opts;
|
|
46
|
+
if (defineCustomElementFn !== undefined) {
|
|
47
|
+
defineCustomElementFn();
|
|
48
|
+
}
|
|
49
|
+
if (inputs) {
|
|
50
|
+
proxyInputs(cls, inputs);
|
|
51
|
+
}
|
|
52
|
+
if (methods) {
|
|
53
|
+
proxyMethods(cls, methods);
|
|
54
|
+
}
|
|
55
|
+
return cls;
|
|
56
|
+
};
|
|
57
|
+
return decorator;
|
|
58
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './proxies';
|
|
2
|
+
export * from './web-components.module';
|
|
3
|
+
import * as d from './proxies';
|
|
4
|
+
export declare const DIRECTIVES: (typeof d.XvAccordionV2 | typeof d.XvAccordionV2Item | typeof d.XvBreadcrumbsV2 | typeof d.XvButtonGroupV2 | typeof d.XvButtonV2 | typeof d.XvCardV2 | typeof d.XvCheckboxV2 | typeof d.XvContentSwitcherItemV2 | typeof d.XvContentSwitcherV2 | typeof d.XvDataTable | typeof d.XvDataTableCell | typeof d.XvDataTableCollapse | typeof d.XvDataTableRow | typeof d.XvDatePicker | typeof d.XvDatepicker | typeof d.XvDropdownV2 | typeof d.XvDropdownV2Item | typeof d.XvFileUploader | typeof d.XvFooter | typeof d.XvGeoMapV2 | typeof d.XvHeader | typeof d.XvHeaderNext | typeof d.XvImageViewer | typeof d.XvLinkV2 | typeof d.XvLoaderV2 | typeof d.XvLoginModal | typeof d.XvMegaMenu | typeof d.XvMegaMenuNext | typeof d.XvModalV2 | typeof d.XvNotificationV2 | typeof d.XvNumberInputV2 | typeof d.XvOverflowMenuV2 | typeof d.XvOverflowMenuV2Item | typeof d.XvPagination | typeof d.XvProgressIndicatorV2 | typeof d.XvProgressIndicatorV2Item | typeof d.XvRadioV2 | typeof d.XvSliderV2 | typeof d.XvTabV2 | typeof d.XvTableV2 | typeof d.XvTableV2Cell | typeof d.XvTableV2Expand | typeof d.XvTableV2Row | typeof d.XvTabsV2 | typeof d.XvTagCombobox | typeof d.XvTagV2 | typeof d.XvTextInputV2 | typeof d.XvTextarea | typeof d.XvTile | typeof d.XvToggle | typeof d.XvToggleTip | typeof d.XvTooltipV2)[];
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export * from './proxies';
|
|
2
|
+
export * from './web-components.module';
|
|
3
|
+
import * as d from './proxies';
|
|
4
|
+
export const DIRECTIVES = [
|
|
5
|
+
d.XvAccordionV2,
|
|
6
|
+
d.XvAccordionV2Item,
|
|
7
|
+
d.XvBreadcrumbsV2,
|
|
8
|
+
d.XvButtonGroupV2,
|
|
9
|
+
d.XvButtonV2,
|
|
10
|
+
d.XvCardV2,
|
|
11
|
+
d.XvCheckboxV2,
|
|
12
|
+
d.XvContentSwitcherItemV2,
|
|
13
|
+
d.XvContentSwitcherV2,
|
|
14
|
+
d.XvDataTable,
|
|
15
|
+
d.XvDataTableCell,
|
|
16
|
+
d.XvDataTableCollapse,
|
|
17
|
+
d.XvDataTableRow,
|
|
18
|
+
d.XvDatePicker,
|
|
19
|
+
d.XvDatepicker,
|
|
20
|
+
d.XvDropdownV2,
|
|
21
|
+
d.XvDropdownV2Item,
|
|
22
|
+
d.XvFileUploader,
|
|
23
|
+
d.XvFooter,
|
|
24
|
+
d.XvGeoMapV2,
|
|
25
|
+
d.XvHeader,
|
|
26
|
+
d.XvHeaderNext,
|
|
27
|
+
d.XvImageViewer,
|
|
28
|
+
d.XvLinkV2,
|
|
29
|
+
d.XvLoaderV2,
|
|
30
|
+
d.XvLoginModal,
|
|
31
|
+
d.XvMegaMenu,
|
|
32
|
+
d.XvMegaMenuNext,
|
|
33
|
+
d.XvModalV2,
|
|
34
|
+
d.XvNotificationV2,
|
|
35
|
+
d.XvNumberInputV2,
|
|
36
|
+
d.XvOverflowMenuV2,
|
|
37
|
+
d.XvOverflowMenuV2Item,
|
|
38
|
+
d.XvPagination,
|
|
39
|
+
d.XvProgressIndicatorV2,
|
|
40
|
+
d.XvProgressIndicatorV2Item,
|
|
41
|
+
d.XvRadioV2,
|
|
42
|
+
d.XvSliderV2,
|
|
43
|
+
d.XvTabV2,
|
|
44
|
+
d.XvTableV2,
|
|
45
|
+
d.XvTableV2Cell,
|
|
46
|
+
d.XvTableV2Expand,
|
|
47
|
+
d.XvTableV2Row,
|
|
48
|
+
d.XvTabsV2,
|
|
49
|
+
d.XvTagCombobox,
|
|
50
|
+
d.XvTagV2,
|
|
51
|
+
d.XvTextInputV2,
|
|
52
|
+
d.XvTextarea,
|
|
53
|
+
d.XvTile,
|
|
54
|
+
d.XvToggle,
|
|
55
|
+
d.XvToggleTip,
|
|
56
|
+
d.XvTooltipV2
|
|
57
|
+
];
|