xv-webcomponents 0.1.43 → 0.1.46
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 +129 -129
- package/dist/cjs/app-globals-V2Kpy_OQ.js +8 -0
- package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
- package/dist/cjs/index-BE3kw7I4.js +36 -0
- package/dist/cjs/index-BE3kw7I4.js.map +1 -0
- package/dist/cjs/index-MLh9SbX2.js +1917 -0
- package/dist/cjs/index-MLh9SbX2.js.map +1 -0
- package/dist/cjs/index.cjs.js +10 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +16 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/xv-accordion-v2_34.cjs.entry.js +3542 -0
- package/dist/cjs/xv-accordion-v2_34.cjs.entry.js.map +1 -0
- package/dist/cjs/xv-breadcrumbs-v2.cjs.entry.js +20 -0
- package/dist/cjs/xv-breadcrumbs-v2.cjs.entry.js.map +1 -0
- package/dist/cjs/xv-breadcrumbs-v2.entry.cjs.js.map +1 -0
- package/dist/cjs/xv-webcomponents.cjs.js +28 -0
- package/dist/cjs/xv-webcomponents.cjs.js.map +1 -0
- package/dist/collection/assets/fonts/fontawesome5/fa-brands-400.svg +3717 -0
- package/dist/collection/assets/fonts/fontawesome5/fa-duotone-900.svg +15326 -0
- package/dist/collection/assets/fonts/fontawesome5/fa-light-300.svg +12420 -0
- package/dist/collection/assets/fonts/fontawesome5/fa-regular-400.svg +11323 -0
- package/dist/collection/assets/fonts/fontawesome5/fa-solid-900.svg +9653 -0
- package/dist/collection/collection-manifest.json +46 -0
- package/dist/collection/components/xv-accordion/xv-accordion.css +98 -0
- package/dist/collection/components/xv-accordion/xv-accordion.js +163 -0
- package/dist/collection/components/xv-accordion/xv-accordion.js.map +1 -0
- package/dist/collection/components/xv-accordion-item/xv-accordion-item.css +163 -0
- package/dist/collection/components/xv-accordion-item/xv-accordion-item.js +132 -0
- package/dist/collection/components/xv-accordion-item/xv-accordion-item.js.map +1 -0
- package/dist/collection/components/xv-breadcrumbs/xv-breadcrumbs.css +98 -0
- package/dist/collection/components/xv-breadcrumbs/xv-breadcrumbs.js +19 -0
- package/dist/collection/components/xv-breadcrumbs/xv-breadcrumbs.js.map +1 -0
- package/dist/collection/components/xv-button/xv-button-v2.css +268 -0
- package/dist/collection/components/xv-button/xv-button.js +229 -0
- package/dist/collection/components/xv-button/xv-button.js.map +1 -0
- package/dist/collection/components/xv-card/xv-card.css +158 -0
- package/dist/collection/components/xv-card/xv-card.js +122 -0
- package/dist/collection/components/xv-card/xv-card.js.map +1 -0
- package/dist/collection/components/xv-checkbox/xv-checkbox.css +233 -0
- package/dist/collection/components/xv-checkbox/xv-checkbox.js +402 -0
- package/dist/collection/components/xv-checkbox/xv-checkbox.js.map +1 -0
- package/dist/collection/components/xv-data-table/_vars.js +3 -0
- package/dist/collection/components/xv-data-table/_vars.js.map +1 -0
- package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.css +185 -0
- package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js +206 -0
- package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js.map +1 -0
- package/dist/collection/components/xv-data-table/xv-data-table-collapse/xv-data-table-collapse.css +102 -0
- package/dist/collection/components/xv-data-table/xv-data-table-collapse/xv-data-table-collapse.js +101 -0
- package/dist/collection/components/xv-data-table/xv-data-table-collapse/xv-data-table-collapse.js.map +1 -0
- package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.css +168 -0
- package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js +360 -0
- package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js.map +1 -0
- package/dist/collection/components/xv-data-table/xv-data-table.css +214 -0
- package/dist/collection/components/xv-data-table/xv-data-table.js +133 -0
- package/dist/collection/components/xv-data-table/xv-data-table.js.map +1 -0
- package/dist/collection/components/xv-dropdown/_vars.js +2 -0
- package/dist/collection/components/xv-dropdown/_vars.js.map +1 -0
- package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.css +109 -0
- package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js +153 -0
- package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js.map +1 -0
- package/dist/collection/components/xv-dropdown/xv-dropdown.css +327 -0
- package/dist/collection/components/xv-dropdown/xv-dropdown.js +443 -0
- package/dist/collection/components/xv-dropdown/xv-dropdown.js.map +1 -0
- package/dist/collection/components/xv-file-uploader/_vars.js +6 -0
- package/dist/collection/components/xv-file-uploader/_vars.js.map +1 -0
- package/dist/collection/components/xv-file-uploader/xv-file-uploader.css +233 -0
- package/dist/collection/components/xv-file-uploader/xv-file-uploader.js +514 -0
- package/dist/collection/components/xv-file-uploader/xv-file-uploader.js.map +1 -0
- package/dist/collection/components/xv-footer/xv-footer.css +325 -0
- package/dist/collection/components/xv-footer/xv-footer.js +37 -0
- package/dist/collection/components/xv-footer/xv-footer.js.map +1 -0
- package/dist/collection/components/xv-header/xv-header.css +22682 -0
- package/dist/collection/components/xv-header/xv-header.js +54 -0
- package/dist/collection/components/xv-header/xv-header.js.map +1 -0
- package/dist/collection/components/xv-link/xv-link.css +162 -0
- package/dist/collection/components/xv-link/xv-link.js +132 -0
- package/dist/collection/components/xv-link/xv-link.js.map +1 -0
- package/dist/collection/components/xv-loader/xv-loader.css +160 -0
- package/dist/collection/components/xv-loader/xv-loader.js +106 -0
- package/dist/collection/components/xv-loader/xv-loader.js.map +1 -0
- package/dist/collection/components/xv-login-modal/xv-login-modal.css +22670 -0
- package/dist/collection/components/xv-login-modal/xv-login-modal.js +146 -0
- package/dist/collection/components/xv-login-modal/xv-login-modal.js.map +1 -0
- package/dist/collection/components/xv-modal/xv-modal.css +210 -0
- package/dist/collection/components/xv-modal/xv-modal.js +245 -0
- package/dist/collection/components/xv-modal/xv-modal.js.map +1 -0
- package/dist/collection/components/xv-notification/_vars.js +8 -0
- package/dist/collection/components/xv-notification/_vars.js.map +1 -0
- package/dist/collection/components/xv-notification/xv-notification.css +208 -0
- package/dist/collection/components/xv-notification/xv-notification.js +118 -0
- package/dist/collection/components/xv-notification/xv-notification.js.map +1 -0
- package/dist/collection/components/xv-number-input/xv-number-input.css +223 -0
- package/dist/collection/components/xv-number-input/xv-number-input.js +373 -0
- package/dist/collection/components/xv-number-input/xv-number-input.js.map +1 -0
- package/dist/collection/components/xv-overflow-menu/_vars.js +6 -0
- package/dist/collection/components/xv-overflow-menu/_vars.js.map +1 -0
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.css +140 -0
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js +137 -0
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js.map +1 -0
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.css +200 -0
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +202 -0
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js.map +1 -0
- package/dist/{xv-webcomponents/_vars-IZ3lIQzL.js → collection/components/xv-progress-indicator/_vars.js} +3 -7
- package/dist/collection/components/xv-progress-indicator/_vars.js.map +1 -0
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.css +191 -0
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +54 -0
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js.map +1 -0
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.css +140 -0
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +157 -0
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js.map +1 -0
- package/dist/collection/components/xv-table/_vars.js +3 -0
- package/dist/collection/components/xv-table/_vars.js.map +1 -0
- package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.css +188 -0
- package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +160 -0
- package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js.map +1 -0
- package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.css +153 -0
- package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +76 -0
- package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js.map +1 -0
- package/dist/collection/components/xv-table/xv-table-row/xv-table-row.css +134 -0
- package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +333 -0
- package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js.map +1 -0
- package/dist/collection/components/xv-table/xv-table.css +232 -0
- package/dist/collection/components/xv-table/xv-table.js +159 -0
- package/dist/collection/components/xv-table/xv-table.js.map +1 -0
- package/dist/collection/components/xv-tabs/_vars.js +11 -0
- package/dist/collection/components/xv-tabs/_vars.js.map +1 -0
- package/dist/collection/components/xv-tabs/xv-tab/xv-tab.css +105 -0
- package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +106 -0
- package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js.map +1 -0
- package/dist/collection/components/xv-tabs/xv-tabs.css +228 -0
- package/dist/collection/components/xv-tabs/xv-tabs.js +221 -0
- package/dist/collection/components/xv-tabs/xv-tabs.js.map +1 -0
- package/dist/collection/components/xv-tag/xv-tag.css +192 -0
- package/dist/collection/components/xv-tag/xv-tag.js +158 -0
- package/dist/collection/components/xv-tag/xv-tag.js.map +1 -0
- package/dist/collection/components/xv-text-input/xv-text-input.css +242 -0
- package/dist/collection/components/xv-text-input/xv-text-input.js +343 -0
- package/dist/collection/components/xv-text-input/xv-text-input.js.map +1 -0
- package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.css +190 -0
- package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +201 -0
- package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js.map +1 -0
- package/dist/collection/components/xv-tooltip/xv-tooltip.css +107 -0
- package/dist/collection/components/xv-tooltip/xv-tooltip.js +162 -0
- package/dist/collection/components/xv-tooltip/xv-tooltip.js.map +1 -0
- package/dist/collection/index.js +11 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/scss/xv/images/xv-sprite.svg +1 -0
- package/dist/collection/scss/xv/sprite/images/xv-sprite.svg +1 -0
- package/dist/collection/types/enum.js +15 -0
- package/dist/collection/types/enum.js.map +1 -0
- package/dist/{xv-webcomponents/utils-1tk8kwKx.js → collection/utils/utils.js} +7 -11
- package/dist/collection/utils/utils.js.map +1 -0
- package/dist/esm/app-globals-DQuL1Twl.js +6 -0
- package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
- package/dist/esm/index-DLYJiP99.js +1907 -0
- package/dist/esm/index-DLYJiP99.js.map +1 -0
- package/dist/esm/index-NvoCloOY.js +31 -0
- package/dist/esm/index-NvoCloOY.js.map +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +14 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/xv-accordion-v2_34.entry.js +3507 -0
- package/dist/esm/xv-accordion-v2_34.entry.js.map +1 -0
- package/dist/esm/xv-breadcrumbs-v2.entry.js +18 -0
- package/dist/esm/xv-breadcrumbs-v2.entry.js.map +1 -0
- package/dist/esm/xv-webcomponents.js +24 -0
- package/dist/esm/xv-webcomponents.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/types/components/xv-button/xv-button.d.ts +21 -12
- package/dist/types/components/xv-data-table/_vars.d.ts +11 -0
- package/dist/types/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.d.ts +15 -0
- package/dist/types/components/xv-data-table/xv-data-table-collapse/xv-data-table-collapse.d.ts +9 -0
- package/dist/types/components/xv-data-table/xv-data-table-row/xv-data-table-row.d.ts +25 -0
- package/dist/types/components/xv-data-table/xv-data-table.d.ts +10 -0
- package/dist/types/components/xv-dropdown/xv-dropdown.d.ts +1 -0
- package/dist/types/components/xv-file-uploader/_vars.d.ts +4 -0
- package/dist/types/components/xv-file-uploader/xv-file-uploader.d.ts +39 -0
- package/dist/types/components/xv-header/xv-header.d.ts +0 -2
- package/dist/types/components/xv-modal/xv-modal.d.ts +4 -0
- package/dist/types/components/xv-number-input/xv-number-input.d.ts +26 -0
- package/dist/types/components/xv-table/_vars.d.ts +1 -5
- package/dist/types/components/xv-table/xv-table-cell/xv-table-cell.d.ts +2 -1
- package/dist/types/components/xv-text-input/xv-text-input.d.ts +11 -11
- package/dist/types/components/xv-toggle-tip/xv-toggle-tip.d.ts +19 -0
- package/dist/types/components/xv-tooltip/xv-tooltip.d.ts +12 -8
- package/dist/types/components.d.ts +537 -105
- package/dist/types/stencil-public-runtime.d.ts +1 -1
- package/dist/types/types/enum.d.ts +5 -0
- package/dist/xv-webcomponents/index.esm.js +1 -13
- package/dist/xv-webcomponents/index.esm.js.map +1 -1
- package/dist/xv-webcomponents/loader.esm.js.map +1 -1
- package/dist/xv-webcomponents/p-851c4716.entry.js +2 -0
- package/dist/xv-webcomponents/p-851c4716.entry.js.map +1 -0
- package/dist/xv-webcomponents/p-DLYJiP99.js +3 -0
- package/dist/xv-webcomponents/p-DLYJiP99.js.map +1 -0
- package/dist/xv-webcomponents/p-DQuL1Twl.js +2 -0
- package/dist/xv-webcomponents/p-DQuL1Twl.js.map +1 -0
- package/dist/xv-webcomponents/p-NvoCloOY.js +2 -0
- package/dist/xv-webcomponents/p-NvoCloOY.js.map +1 -0
- package/dist/xv-webcomponents/p-d96c1b6a.entry.js +2 -0
- package/dist/xv-webcomponents/p-d96c1b6a.entry.js.map +1 -0
- package/dist/xv-webcomponents/xv-breadcrumbs-v2.entry.esm.js.map +1 -1
- package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -49
- package/dist/xv-webcomponents/xv-webcomponents.esm.js.map +1 -1
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +53 -53
- package/dist/types/components/xv-text-input/_vars.d.ts +0 -5
- package/dist/types/components/xv-user-menu/interfaces/MenuItem.d.ts +0 -0
- package/dist/types/components/xv-user-menu/xv-user-menu.d.ts +0 -41
- package/dist/xv-webcomponents/_vars-FbbDWn6g.js +0 -13
- package/dist/xv-webcomponents/_vars-FbbDWn6g.js.map +0 -1
- package/dist/xv-webcomponents/_vars-IZ3lIQzL.js.map +0 -1
- package/dist/xv-webcomponents/enum-DTBL51oP.js +0 -13
- package/dist/xv-webcomponents/enum-DTBL51oP.js.map +0 -1
- package/dist/xv-webcomponents/index-rZAC0WRb.js +0 -4238
- package/dist/xv-webcomponents/index-rZAC0WRb.js.map +0 -1
- package/dist/xv-webcomponents/utils-1tk8kwKx.js.map +0 -1
- package/dist/xv-webcomponents/xv-accordion-v2-item.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-accordion-v2-item.entry.js +0 -36
- package/dist/xv-webcomponents/xv-accordion-v2-item.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-accordion-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-accordion-v2.entry.js +0 -41
- package/dist/xv-webcomponents/xv-accordion-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-breadcrumbs-v2.entry.js +0 -18
- package/dist/xv-webcomponents/xv-breadcrumbs-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-button-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-button-v2.entry.js +0 -35
- package/dist/xv-webcomponents/xv-button-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-card-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-card-v2.entry.js +0 -19
- package/dist/xv-webcomponents/xv-card-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-checkbox-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-checkbox-v2.entry.js +0 -106
- package/dist/xv-webcomponents/xv-checkbox-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-dropdown-v2-item.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-dropdown-v2-item.entry.js +0 -36
- package/dist/xv-webcomponents/xv-dropdown-v2-item.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-dropdown-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-dropdown-v2.entry.js +0 -136
- package/dist/xv-webcomponents/xv-dropdown-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-footer.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-footer.entry.js +0 -30
- package/dist/xv-webcomponents/xv-footer.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-header.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-header.entry.js +0 -81
- package/dist/xv-webcomponents/xv-header.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-link-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-link-v2.entry.js +0 -27
- package/dist/xv-webcomponents/xv-link-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-loader-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-loader-v2.entry.js +0 -33
- package/dist/xv-webcomponents/xv-loader-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-login-modal.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-login-modal.entry.js +0 -89
- package/dist/xv-webcomponents/xv-login-modal.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-modal-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-modal-v2.entry.js +0 -78
- package/dist/xv-webcomponents/xv-modal-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-notification-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-notification-v2.entry.js +0 -50
- package/dist/xv-webcomponents/xv-notification-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-overflow-menu-v2-item.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-overflow-menu-v2-item.entry.js +0 -32
- package/dist/xv-webcomponents/xv-overflow-menu-v2-item.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-overflow-menu-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-overflow-menu-v2.entry.js +0 -74
- package/dist/xv-webcomponents/xv-overflow-menu-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-progress-indicator-v2-item.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-progress-indicator-v2-item.entry.js +0 -21
- package/dist/xv-webcomponents/xv-progress-indicator-v2-item.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-progress-indicator-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-progress-indicator-v2.entry.js +0 -75
- package/dist/xv-webcomponents/xv-progress-indicator-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-tab-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-tab-v2.entry.js +0 -21
- package/dist/xv-webcomponents/xv-tab-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-table-v2-cell.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-table-v2-cell.entry.js +0 -41
- package/dist/xv-webcomponents/xv-table-v2-cell.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-table-v2-expand.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-table-v2-expand.entry.js +0 -29
- package/dist/xv-webcomponents/xv-table-v2-expand.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-table-v2-row.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-table-v2-row.entry.js +0 -66
- package/dist/xv-webcomponents/xv-table-v2-row.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-table-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-table-v2.entry.js +0 -53
- package/dist/xv-webcomponents/xv-table-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-tabs-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-tabs-v2.entry.js +0 -109
- package/dist/xv-webcomponents/xv-tabs-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-tag-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-tag-v2.entry.js +0 -29
- package/dist/xv-webcomponents/xv-tag-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-text-input-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-text-input-v2.entry.js +0 -65
- package/dist/xv-webcomponents/xv-text-input-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-tooltip-v2.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-tooltip-v2.entry.js +0 -24
- package/dist/xv-webcomponents/xv-tooltip-v2.entry.js.map +0 -1
- package/dist/xv-webcomponents/xv-user-menu.entry.esm.js.map +0 -1
- package/dist/xv-webcomponents/xv-user-menu.entry.js +0 -43
- package/dist/xv-webcomponents/xv-user-menu.entry.js.map +0 -1
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
export class XvLoginModal {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.visible = false;
|
|
5
|
+
this.oauthProviders = [];
|
|
6
|
+
this.bookNow = false;
|
|
7
|
+
this.returnUrl = '/';
|
|
8
|
+
this.passwordLoginEnabled = true;
|
|
9
|
+
this.oauthLoginEnabled = true;
|
|
10
|
+
this.passwordRegistrationEnabled = true;
|
|
11
|
+
this.configurationName = 'Xv';
|
|
12
|
+
this.xvMvcConfigName = 'Xv';
|
|
13
|
+
this.contactUrl = 'https://sitefinity-qa.crossvertise.com/ueber-uns/kontakt';
|
|
14
|
+
this.handleClose = () => {
|
|
15
|
+
this.close.emit();
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
componentWillLoad() {
|
|
19
|
+
this.setReturnUrl();
|
|
20
|
+
this.readMetaNavCookie();
|
|
21
|
+
this.oauthProviders = [
|
|
22
|
+
{
|
|
23
|
+
displayName: 'Google',
|
|
24
|
+
providerName: 'Google',
|
|
25
|
+
icon: 'fa fa-google',
|
|
26
|
+
buttonClass: 'btn btn-block btn-google-primary btn-primary',
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
setReturnUrl() {
|
|
31
|
+
const params = new URLSearchParams(window.location.search);
|
|
32
|
+
let url = params.get('returnUrl') || window.location.href;
|
|
33
|
+
if (url.toLowerCase().includes('resetpassword')) {
|
|
34
|
+
url = '/';
|
|
35
|
+
}
|
|
36
|
+
this.returnUrl = url;
|
|
37
|
+
}
|
|
38
|
+
readMetaNavCookie() {
|
|
39
|
+
const metaNavCookie = document.cookie
|
|
40
|
+
.split('; ')
|
|
41
|
+
.find(row => row.startsWith('metaNav='));
|
|
42
|
+
if (!metaNavCookie)
|
|
43
|
+
return;
|
|
44
|
+
try {
|
|
45
|
+
const cookieValue = decodeURIComponent(metaNavCookie.split('=')[1]);
|
|
46
|
+
const metaNavObj = JSON.parse(cookieValue);
|
|
47
|
+
this.passwordLoginEnabled = !!metaNavObj.PasswordLoginEnabled;
|
|
48
|
+
this.oauthLoginEnabled = !!metaNavObj.oauthLoginEnabled;
|
|
49
|
+
this.passwordRegistrationEnabled = !!metaNavObj.PasswordRegistrationEnabled;
|
|
50
|
+
this.configurationName = metaNavObj.ConfigurationName;
|
|
51
|
+
this.xvMvcConfigName = metaNavObj.XvMvcConfigName;
|
|
52
|
+
this.contactUrl = metaNavObj.ContactUrl;
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
console.warn('Could not parse metaNav cookie:', e);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
renderPasswordLogin() {
|
|
59
|
+
if (!this.passwordLoginEnabled)
|
|
60
|
+
return null;
|
|
61
|
+
return (h("label", { class: "pull-right spacer" }, h("a", { href: "/de-de/mycrossvertise/account/lostpassword", target: "_blank", rel: "noopener" }, "Passwort vergessen?")));
|
|
62
|
+
}
|
|
63
|
+
renderOAuthProviders() {
|
|
64
|
+
if (!this.oauthLoginEnabled)
|
|
65
|
+
return null;
|
|
66
|
+
return (h("div", { class: "row" }, h("div", { class: "col-xs-12" }, h("div", { class: "col-xs-12" }, h("div", { class: "row spacer spacer-bottom" }, h("div", { class: "col-xs-5" }, h("hr", null)), h("div", { class: "col-xs-2 text-center placeholder" }, "oder"), h("div", { class: "col-xs-5" }, h("hr", null)), h("div", { class: "col-xs-12" }, h("span", null, "Alternative Anmeldung:")))), h("div", { class: "col-sm-12" }, h("div", { class: "col-xs-12 no-padding-right" }, h("form", { method: "POST", class: "spacer", action: "/de-de/mycrossvertise/account/externallogin" }, h("div", { class: "row" }, this.oauthProviders.map(provider => (h("div", { class: "col-xs-6 col-sm-3 no-padding-left padding-bottom-10 center-cell" }, h("button", { type: "submit", style: { maxWidth: '125px' }, name: "provider", class: `cell-content btn btn-primary ${provider.buttonClass} btn-block`, value: provider.providerName, title: `Mit ${provider.displayName} anmelden` }, h("i", { class: `${provider.icon} pull-left` }), h("span", null, provider.displayName)))))), h("input", { type: "hidden", name: "BookNow", value: this.bookNow.toString() })))))));
|
|
67
|
+
}
|
|
68
|
+
renderFooter() {
|
|
69
|
+
if (!this.passwordRegistrationEnabled && this.configurationName !== this.xvMvcConfigName)
|
|
70
|
+
return null;
|
|
71
|
+
return (h("div", { class: "modal-footer" }, h("div", { class: "col-sm-12 text-left" }, this.passwordRegistrationEnabled && (h("div", null, "Noch kein Kunde?", h("a", { href: `/de-de/mycrossvertise/account/register?returnUrl=${encodeURIComponent(this.returnUrl)}` }, "Jetzt kostenlos registrieren!"))), this.configurationName === this.xvMvcConfigName && (h("div", null, h("div", { class: "spacer" }, "Sie sind bereits registriert, k\u00F6nnen sich aber nicht einloggen?"), h("div", null, h("a", { href: this.contactUrl }, "Kontaktieren Sie uns"), ", wir k\u00FCmmern uns darum."))))));
|
|
72
|
+
}
|
|
73
|
+
render() {
|
|
74
|
+
if (!this.visible)
|
|
75
|
+
return null;
|
|
76
|
+
return (h("div", { class: "modal show", style: { display: 'block' }, id: "login-modal", tabIndex: -1, role: "dialog" }, h("div", { class: "modal-dialog", role: "document" }, h("div", { class: "modal-content" }, h("div", { class: "modal-header" }, h("div", { class: "row" }, h("div", { class: "col-sm-10" }, h("div", { class: "col-xs-12" }, h("h4", { class: "modal-title" }, "Login"))), h("div", { class: "col-xs-1 pull-right" }, h("button", { onClick: this.handleClose, type: "button", class: "close" }, h("span", { "aria-hidden": "true" }, "\u00D7"))))), h("div", { class: "modal-body" }, h("div", { class: "row" }, h("div", { class: "col-sm-12" }, h("form", { autoComplete: "off", id: "logon-modal-form", action: `/de-de/mycrossvertise/account/logon?returnUrl=${encodeURIComponent(this.returnUrl)}`, method: "post", class: "spacer" }, h("input", { type: "hidden", name: "returnUrl", value: this.returnUrl }), h("div", { class: "form-group spacer-bottom" }, h("div", { class: "control-label col-xs-12" }, h("label", { htmlFor: "LoginPopup.UserName" }, "E-Mail"), h("strong", { class: "text-danger" }, "*")), h("div", { class: "col-xs-12" }, h("input", { class: "form-control", id: "userName", name: "UserName", type: "text", tabIndex: 1 }))), h("div", { class: "form-group spacer" }, h("div", { class: "control-label col-xs-6" }, h("label", { class: "spacer", htmlFor: "LoginPopup.Password" }, "Passwort"), h("strong", { class: "text-danger spacer" }, "*")), h("div", { class: "col-xs-6" }, this.renderPasswordLogin()), h("div", { class: "col-xs-12" }, h("input", { class: "form-control", id: "password", name: "Password", type: "password", tabIndex: 2 }))), h("div", { class: "form-group spacer" }, h("div", { class: "col-xs-12" }, h("button", { class: "btn btn-primary btn-lg btn-block spacer", type: "submit", tabIndex: 3 }, "Anmelden"))), h("div", { class: "form-group" }, h("div", { class: "checkbox col-xs-12" }, h("label", { htmlFor: "RememberMe" }, h("input", { id: "RememberMe", name: "RememberMe", type: "checkbox", value: "true" }), "Angemeldet bleiben?")))))), this.renderOAuthProviders()), this.renderFooter()))));
|
|
77
|
+
}
|
|
78
|
+
static get is() { return "xv-login-modal"; }
|
|
79
|
+
static get encapsulation() { return "shadow"; }
|
|
80
|
+
static get originalStyleUrls() {
|
|
81
|
+
return {
|
|
82
|
+
"$": ["xv-login-modal.scss"]
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
static get styleUrls() {
|
|
86
|
+
return {
|
|
87
|
+
"$": ["xv-login-modal.css"]
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
static get properties() {
|
|
91
|
+
return {
|
|
92
|
+
"visible": {
|
|
93
|
+
"type": "boolean",
|
|
94
|
+
"attribute": "visible",
|
|
95
|
+
"mutable": false,
|
|
96
|
+
"complexType": {
|
|
97
|
+
"original": "boolean",
|
|
98
|
+
"resolved": "boolean",
|
|
99
|
+
"references": {}
|
|
100
|
+
},
|
|
101
|
+
"required": false,
|
|
102
|
+
"optional": false,
|
|
103
|
+
"docs": {
|
|
104
|
+
"tags": [],
|
|
105
|
+
"text": ""
|
|
106
|
+
},
|
|
107
|
+
"getter": false,
|
|
108
|
+
"setter": false,
|
|
109
|
+
"reflect": false,
|
|
110
|
+
"defaultValue": "false"
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
static get states() {
|
|
115
|
+
return {
|
|
116
|
+
"oauthProviders": {},
|
|
117
|
+
"bookNow": {},
|
|
118
|
+
"returnUrl": {},
|
|
119
|
+
"passwordLoginEnabled": {},
|
|
120
|
+
"oauthLoginEnabled": {},
|
|
121
|
+
"passwordRegistrationEnabled": {},
|
|
122
|
+
"configurationName": {},
|
|
123
|
+
"xvMvcConfigName": {},
|
|
124
|
+
"contactUrl": {}
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
static get events() {
|
|
128
|
+
return [{
|
|
129
|
+
"method": "close",
|
|
130
|
+
"name": "close",
|
|
131
|
+
"bubbles": true,
|
|
132
|
+
"cancelable": true,
|
|
133
|
+
"composed": true,
|
|
134
|
+
"docs": {
|
|
135
|
+
"tags": [],
|
|
136
|
+
"text": ""
|
|
137
|
+
},
|
|
138
|
+
"complexType": {
|
|
139
|
+
"original": "void",
|
|
140
|
+
"resolved": "void",
|
|
141
|
+
"references": {}
|
|
142
|
+
}
|
|
143
|
+
}];
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=xv-login-modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xv-login-modal.js","sourceRoot":"","sources":["../../../src/components/xv-login-modal/xv-login-modal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, h, Prop, State } from '@stencil/core';\n\ntype OAuthProvider = {\n displayName: string;\n providerName: string;\n icon: string;\n buttonClass: string;\n};\n\n@Component({\n tag: 'xv-login-modal',\n styleUrl: 'xv-login-modal.scss',\n shadow: true,\n})\nexport class XvLoginModal {\n @Prop() visible: boolean = false;\n @Event() close: EventEmitter<void>;\n @State() oauthProviders: OAuthProvider[] = [];\n @State() bookNow: boolean = false;\n @State() returnUrl: string = '/';\n @State() passwordLoginEnabled: boolean = true;\n @State() oauthLoginEnabled: boolean = true;\n @State() passwordRegistrationEnabled: boolean = true;\n @State() configurationName: string = 'Xv';\n @State() xvMvcConfigName: string = 'Xv';\n @State() contactUrl: string = 'https://sitefinity-qa.crossvertise.com/ueber-uns/kontakt';\n\n componentWillLoad() {\n this.setReturnUrl();\n this.readMetaNavCookie();\n this.oauthProviders = [\n {\n displayName: 'Google',\n providerName: 'Google',\n icon: 'fa fa-google',\n buttonClass: 'btn btn-block btn-google-primary btn-primary',\n },\n ];\n }\n\n private setReturnUrl() {\n const params = new URLSearchParams(window.location.search);\n let url = params.get('returnUrl') || window.location.href;\n if (url.toLowerCase().includes('resetpassword')) {\n url = '/';\n }\n this.returnUrl = url;\n }\n\n private readMetaNavCookie() {\n const metaNavCookie = document.cookie\n .split('; ')\n .find(row => row.startsWith('metaNav='));\n if (!metaNavCookie) return;\n try {\n const cookieValue = decodeURIComponent(metaNavCookie.split('=')[1]);\n const metaNavObj = JSON.parse(cookieValue);\n this.passwordLoginEnabled = !!metaNavObj.PasswordLoginEnabled;\n this.oauthLoginEnabled = !!metaNavObj.oauthLoginEnabled;\n this.passwordRegistrationEnabled = !!metaNavObj.PasswordRegistrationEnabled;\n this.configurationName = metaNavObj.ConfigurationName;\n this.xvMvcConfigName = metaNavObj.XvMvcConfigName;\n this.contactUrl = metaNavObj.ContactUrl;\n } catch (e) {\n console.warn('Could not parse metaNav cookie:', e);\n }\n }\n\n private handleClose = () => {\n this.close.emit();\n };\n\n private renderPasswordLogin() {\n if (!this.passwordLoginEnabled) return null;\n return (\n <label class=\"pull-right spacer\">\n <a href=\"/de-de/mycrossvertise/account/lostpassword\" target=\"_blank\" rel=\"noopener\">\n Passwort vergessen?\n </a>\n </label>\n );\n }\n\n private renderOAuthProviders() {\n if (!this.oauthLoginEnabled) return null;\n return (\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <div class=\"col-xs-12\">\n <div class=\"row spacer spacer-bottom\">\n <div class=\"col-xs-5\"><hr /></div>\n <div class=\"col-xs-2 text-center placeholder\">oder</div>\n <div class=\"col-xs-5\"><hr /></div>\n <div class=\"col-xs-12\">\n <span>Alternative Anmeldung:</span>\n </div>\n </div>\n </div>\n <div class=\"col-sm-12\">\n <div class=\"col-xs-12 no-padding-right\">\n <form\n method=\"POST\"\n class=\"spacer\"\n action=\"/de-de/mycrossvertise/account/externallogin\"\n >\n <div class=\"row\">\n {this.oauthProviders.map(provider => (\n <div class=\"col-xs-6 col-sm-3 no-padding-left padding-bottom-10 center-cell\">\n <button\n type=\"submit\"\n style={{ maxWidth: '125px' }}\n name=\"provider\"\n class={`cell-content btn btn-primary ${provider.buttonClass} btn-block`}\n value={provider.providerName}\n title={`Mit ${provider.displayName} anmelden`}\n >\n <i class={`${provider.icon} pull-left`}></i>\n <span>{provider.displayName}</span>\n </button>\n </div>\n ))}\n </div>\n <input type=\"hidden\" name=\"BookNow\" value={this.bookNow.toString()} />\n </form>\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n if (!this.passwordRegistrationEnabled && this.configurationName !== this.xvMvcConfigName) return null;\n return (\n <div class=\"modal-footer\">\n <div class=\"col-sm-12 text-left\">\n {this.passwordRegistrationEnabled && (\n <div>\n Noch kein Kunde?\n <a\n href={`/de-de/mycrossvertise/account/register?returnUrl=${encodeURIComponent(this.returnUrl)}`}\n >\n Jetzt kostenlos registrieren!\n </a>\n </div>\n )}\n {this.configurationName === this.xvMvcConfigName && (\n <div>\n <div class=\"spacer\">Sie sind bereits registriert, können sich aber nicht einloggen?</div>\n <div>\n <a href={this.contactUrl}>Kontaktieren Sie uns</a>, wir kümmern uns darum.\n </div>\n </div>\n )}\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.visible) return null;\n return (\n <div class=\"modal show\" style={{ display: 'block' }} id=\"login-modal\" tabIndex={-1} role=\"dialog\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <div class=\"row\">\n <div class=\"col-sm-10\">\n <div class=\"col-xs-12\">\n <h4 class=\"modal-title\">Login</h4>\n </div>\n </div>\n <div class=\"col-xs-1 pull-right\">\n <button onClick={this.handleClose} type=\"button\" class=\"close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"modal-body\">\n <div class=\"row\">\n <div class=\"col-sm-12\">\n <form\n autoComplete=\"off\"\n id=\"logon-modal-form\"\n action={`/de-de/mycrossvertise/account/logon?returnUrl=${encodeURIComponent(this.returnUrl)}`}\n method=\"post\"\n class=\"spacer\"\n >\n <input type=\"hidden\" name=\"returnUrl\" value={this.returnUrl} />\n <div class=\"form-group spacer-bottom\">\n <div class=\"control-label col-xs-12\">\n <label htmlFor=\"LoginPopup.UserName\">E-Mail</label>\n <strong class=\"text-danger\">*</strong>\n </div>\n <div class=\"col-xs-12\">\n <input class=\"form-control\" id=\"userName\" name=\"UserName\" type=\"text\" tabIndex={1} />\n </div>\n </div>\n <div class=\"form-group spacer\">\n <div class=\"control-label col-xs-6\">\n <label class=\"spacer\" htmlFor=\"LoginPopup.Password\">Passwort</label>\n <strong class=\"text-danger spacer\">*</strong>\n </div>\n <div class=\"col-xs-6\">\n {this.renderPasswordLogin()}\n </div>\n <div class=\"col-xs-12\">\n <input class=\"form-control\" id=\"password\" name=\"Password\" type=\"password\" tabIndex={2} />\n </div>\n </div>\n <div class=\"form-group spacer\">\n <div class=\"col-xs-12\">\n <button class=\"btn btn-primary btn-lg btn-block spacer\" type=\"submit\" tabIndex={3}>\n Anmelden\n </button>\n </div>\n </div>\n <div class=\"form-group\">\n <div class=\"checkbox col-xs-12\">\n <label htmlFor=\"RememberMe\">\n <input id=\"RememberMe\" name=\"RememberMe\" type=\"checkbox\" value=\"true\" />\n Angemeldet bleiben?\n </label>\n </div>\n </div>\n </form>\n </div>\n </div>\n {this.renderOAuthProviders()}\n </div>\n {this.renderFooter()}\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
.xv-tooltip[role=tooltip] {
|
|
2
|
+
position: absolute;
|
|
3
|
+
background-color: var(--background-inverse, #333333);
|
|
4
|
+
color: var(--text-on-color);
|
|
5
|
+
padding: var(--spacing-03) var(--spacing-04);
|
|
6
|
+
border-radius: 3px;
|
|
7
|
+
font-size: var(--fz-sm);
|
|
8
|
+
z-index: 999;
|
|
9
|
+
min-width: min(150px, 90vw);
|
|
10
|
+
max-width: min(400px, 90vw);
|
|
11
|
+
}
|
|
12
|
+
.xv-tooltip[role=tooltip]::after {
|
|
13
|
+
content: "";
|
|
14
|
+
position: absolute;
|
|
15
|
+
width: 0;
|
|
16
|
+
height: 0;
|
|
17
|
+
border-style: solid;
|
|
18
|
+
}
|
|
19
|
+
.xv-tooltip[role=tooltip][data-popper-placement=top]::after {
|
|
20
|
+
bottom: -5px;
|
|
21
|
+
left: 50%;
|
|
22
|
+
transform: translateX(-50%);
|
|
23
|
+
border-width: 5px 5px 0 5px;
|
|
24
|
+
border-color: var(--background-inverse, black) transparent transparent transparent;
|
|
25
|
+
}
|
|
26
|
+
.xv-tooltip[role=tooltip][data-popper-placement=top-start]::after {
|
|
27
|
+
bottom: -5px;
|
|
28
|
+
left: 12px;
|
|
29
|
+
border-width: 5px 5px 0 5px;
|
|
30
|
+
border-color: var(--background-inverse, black) transparent transparent transparent;
|
|
31
|
+
}
|
|
32
|
+
.xv-tooltip[role=tooltip][data-popper-placement=top-end]::after {
|
|
33
|
+
bottom: -5px;
|
|
34
|
+
right: 12px;
|
|
35
|
+
border-width: 5px 5px 0 5px;
|
|
36
|
+
border-color: var(--background-inverse, black) transparent transparent transparent;
|
|
37
|
+
}
|
|
38
|
+
.xv-tooltip[role=tooltip][data-popper-placement=bottom]::after {
|
|
39
|
+
top: -5px;
|
|
40
|
+
left: 50%;
|
|
41
|
+
transform: translateX(-50%);
|
|
42
|
+
border-width: 0 5px 5px 5px;
|
|
43
|
+
border-color: transparent transparent var(--background-inverse, black) transparent;
|
|
44
|
+
}
|
|
45
|
+
.xv-tooltip[role=tooltip][data-popper-placement=bottom-start]::after {
|
|
46
|
+
top: -5px;
|
|
47
|
+
left: 12px;
|
|
48
|
+
border-width: 0 5px 5px 5px;
|
|
49
|
+
border-color: transparent transparent var(--background-inverse, black) transparent;
|
|
50
|
+
}
|
|
51
|
+
.xv-tooltip[role=tooltip][data-popper-placement=bottom-end]::after {
|
|
52
|
+
top: -5px;
|
|
53
|
+
right: 12px;
|
|
54
|
+
border-width: 0 5px 5px 5px;
|
|
55
|
+
border-color: transparent transparent var(--background-inverse, black) transparent;
|
|
56
|
+
}
|
|
57
|
+
.xv-tooltip[role=tooltip][data-popper-placement=left]::after {
|
|
58
|
+
top: 50%;
|
|
59
|
+
right: -5px;
|
|
60
|
+
transform: translateY(-50%);
|
|
61
|
+
border-width: 5px 0 5px 5px;
|
|
62
|
+
border-color: transparent transparent transparent var(--background-inverse, black);
|
|
63
|
+
}
|
|
64
|
+
.xv-tooltip[role=tooltip][data-popper-placement=left-start]::after {
|
|
65
|
+
top: 12px;
|
|
66
|
+
right: -5px;
|
|
67
|
+
border-width: 5px 0 5px 5px;
|
|
68
|
+
border-color: transparent transparent transparent var(--background-inverse, black);
|
|
69
|
+
}
|
|
70
|
+
.xv-tooltip[role=tooltip][data-popper-placement=left-end]::after {
|
|
71
|
+
bottom: 12px;
|
|
72
|
+
right: -5px;
|
|
73
|
+
border-width: 5px 0 5px 5px;
|
|
74
|
+
border-color: transparent transparent transparent var(--background-inverse, black);
|
|
75
|
+
}
|
|
76
|
+
.xv-tooltip[role=tooltip][data-popper-placement=right]::after {
|
|
77
|
+
top: 50%;
|
|
78
|
+
left: -5px;
|
|
79
|
+
transform: translateY(-50%);
|
|
80
|
+
border-width: 5px 5px 5px 0;
|
|
81
|
+
border-color: transparent var(--background-inverse, black) transparent transparent;
|
|
82
|
+
}
|
|
83
|
+
.xv-tooltip[role=tooltip][data-popper-placement=right-start]::after {
|
|
84
|
+
top: 12px;
|
|
85
|
+
left: -5px;
|
|
86
|
+
border-width: 5px 5px 5px 0;
|
|
87
|
+
border-color: transparent var(--background-inverse, black) transparent transparent;
|
|
88
|
+
}
|
|
89
|
+
.xv-tooltip[role=tooltip][data-popper-placement=right-end]::after {
|
|
90
|
+
bottom: 12px;
|
|
91
|
+
left: -5px;
|
|
92
|
+
border-width: 5px 5px 5px 0;
|
|
93
|
+
border-color: transparent var(--background-inverse, black) transparent transparent;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
:host {
|
|
97
|
+
display: inline-flex;
|
|
98
|
+
}
|
|
99
|
+
:host .backdrop {
|
|
100
|
+
position: fixed;
|
|
101
|
+
inset: 0;
|
|
102
|
+
background: rgba(0, 0, 0, 0.4);
|
|
103
|
+
opacity: 0;
|
|
104
|
+
pointer-events: none;
|
|
105
|
+
transition: opacity 0.3s ease;
|
|
106
|
+
z-index: 1000;
|
|
107
|
+
display: flex;
|
|
108
|
+
align-items: center;
|
|
109
|
+
justify-content: center;
|
|
110
|
+
}
|
|
111
|
+
:host .modal {
|
|
112
|
+
display: flex;
|
|
113
|
+
flex-direction: column;
|
|
114
|
+
max-height: 60vh;
|
|
115
|
+
max-width: 960px;
|
|
116
|
+
position: relative;
|
|
117
|
+
animation: fadeIn 0.25s ease;
|
|
118
|
+
padding-block: var(--gap-md, 16px);
|
|
119
|
+
background: var(--layer-02, #FFF);
|
|
120
|
+
box-shadow: 0 6px 10px 4px rgba(39, 52, 53, 0.15), 0 2px 3px 0 rgba(39, 52, 53, 0.3);
|
|
121
|
+
}
|
|
122
|
+
:host .modal_header {
|
|
123
|
+
position: relative;
|
|
124
|
+
padding-inline: var(--gap-md, 16px);
|
|
125
|
+
}
|
|
126
|
+
:host .modal_header__title {
|
|
127
|
+
color: var(--text-text-primary, #333);
|
|
128
|
+
font-family: var(--ff-heading, "Gill Sans");
|
|
129
|
+
font-size: var(--fz-xl, 21px);
|
|
130
|
+
line-height: 133.333%;
|
|
131
|
+
margin: 0 20px 0 0;
|
|
132
|
+
}
|
|
133
|
+
:host .modal_content {
|
|
134
|
+
padding: var(--gap-md, 16px);
|
|
135
|
+
overflow: visible;
|
|
136
|
+
}
|
|
137
|
+
:host .modal_content.overflow {
|
|
138
|
+
overflow: auto;
|
|
139
|
+
}
|
|
140
|
+
:host .modal_footer {
|
|
141
|
+
position: relative;
|
|
142
|
+
padding-inline: var(--gap-md, 16px);
|
|
143
|
+
}
|
|
144
|
+
:host .modal_close {
|
|
145
|
+
z-index: 1;
|
|
146
|
+
cursor: pointer;
|
|
147
|
+
border: none;
|
|
148
|
+
outline: none;
|
|
149
|
+
font-size: 28px;
|
|
150
|
+
background-color: transparent;
|
|
151
|
+
position: absolute;
|
|
152
|
+
right: 10px;
|
|
153
|
+
top: 10px;
|
|
154
|
+
transition: 350ms ease-in-out opacity;
|
|
155
|
+
}
|
|
156
|
+
:host .modal_close:hover {
|
|
157
|
+
opacity: 0.6;
|
|
158
|
+
}
|
|
159
|
+
:host .modal_close:active {
|
|
160
|
+
opacity: 0.3;
|
|
161
|
+
}
|
|
162
|
+
:host .modal .loading {
|
|
163
|
+
z-index: 10;
|
|
164
|
+
display: flex;
|
|
165
|
+
align-items: center;
|
|
166
|
+
justify-content: center;
|
|
167
|
+
min-height: 100px;
|
|
168
|
+
position: absolute;
|
|
169
|
+
top: 0;
|
|
170
|
+
left: 0;
|
|
171
|
+
width: 100%;
|
|
172
|
+
height: 100%;
|
|
173
|
+
background-color: rgba(255, 255, 255, 0.8);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
:host([open]) .backdrop {
|
|
177
|
+
opacity: 1;
|
|
178
|
+
pointer-events: all;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
:host([size=xs]) .modal {
|
|
182
|
+
max-width: min(300px, 90vw);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
:host([size=sm]) .modal {
|
|
186
|
+
max-width: min(480px, 90vw);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
:host([size=md]) .modal {
|
|
190
|
+
max-width: min(600px, 90vw);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
:host([size=lg]) .modal {
|
|
194
|
+
max-width: min(960px, 90vw);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
:host([size=xl]) .modal {
|
|
198
|
+
max-width: min(1200px, 80vw);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
@keyframes fadeIn {
|
|
202
|
+
from {
|
|
203
|
+
transform: translateY(-10px);
|
|
204
|
+
opacity: 0;
|
|
205
|
+
}
|
|
206
|
+
to {
|
|
207
|
+
transform: translateY(0);
|
|
208
|
+
opacity: 1;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
2
|
+
import { SIZE_VAR } from "../../types/enum";
|
|
3
|
+
export class XvModal {
|
|
4
|
+
constructor() {
|
|
5
|
+
/**
|
|
6
|
+
* Is modal opened
|
|
7
|
+
*/
|
|
8
|
+
this.open = false;
|
|
9
|
+
/**
|
|
10
|
+
* If true then modal not be closed on backdrop click
|
|
11
|
+
*/
|
|
12
|
+
this.permanent = false;
|
|
13
|
+
/**
|
|
14
|
+
* Size of modal. But max size is 90% view width
|
|
15
|
+
*/
|
|
16
|
+
this.size = SIZE_VAR.MD;
|
|
17
|
+
/**
|
|
18
|
+
* When need scroll modal content
|
|
19
|
+
*/
|
|
20
|
+
this.overflow = true;
|
|
21
|
+
this.triggerEl = null;
|
|
22
|
+
this.onBackdropClick = async (e) => {
|
|
23
|
+
if (this.permanent)
|
|
24
|
+
return;
|
|
25
|
+
// click on backdrop
|
|
26
|
+
if (e.target === e.currentTarget) {
|
|
27
|
+
await this.closeModal();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
this.removeTriggerListener = () => {
|
|
31
|
+
var _a;
|
|
32
|
+
(_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.removeEventListener('click', this.openModal.bind(this));
|
|
33
|
+
};
|
|
34
|
+
this.setupTrigger = () => {
|
|
35
|
+
this.removeTriggerListener();
|
|
36
|
+
const slot = this.el.shadowRoot.querySelector('slot[name="trigger"]');
|
|
37
|
+
if (slot) {
|
|
38
|
+
const assigned = slot.assignedElements();
|
|
39
|
+
if (assigned.length > 0) {
|
|
40
|
+
this.triggerEl = assigned[0];
|
|
41
|
+
this.triggerEl.addEventListener('click', this.openModal.bind(this));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
async openModal() {
|
|
47
|
+
var _a;
|
|
48
|
+
this.open = true;
|
|
49
|
+
(_a = this.openChange) === null || _a === void 0 ? void 0 : _a.emit(this.open);
|
|
50
|
+
return this.open;
|
|
51
|
+
}
|
|
52
|
+
;
|
|
53
|
+
async closeModal() {
|
|
54
|
+
var _a;
|
|
55
|
+
this.open = false;
|
|
56
|
+
(_a = this.openChange) === null || _a === void 0 ? void 0 : _a.emit(this.open);
|
|
57
|
+
return this.open;
|
|
58
|
+
}
|
|
59
|
+
render() {
|
|
60
|
+
var _a;
|
|
61
|
+
return (h(Host, { key: '2fe817b5afe354f4fefd9bdd4efde9956936b0d2', role: "dialog", size: this.size, id: this.el.id }, h("slot", { key: 'e7d2514be603ac04a401f6fab9e8135d9fc02dfc', name: "trigger", onSlotchange: this.setupTrigger }), h("div", { key: 'aa2faf03935125e6ab2156b9c2909485a829e7ed', class: { backdrop: true }, onClick: this.onBackdropClick }, h("div", { key: 'b21b739d5f3b03a5cf6345bb2de370f306e2a763', class: "modal" }, h("button", { key: '3f7c775b5145bd6dec8478b625dec78f84b38e9a', class: "modal_close", onClick: this.closeModal.bind(this) }, "\u00D7"), h("div", { key: '53a5b436a40f4e3b3c85db0bf94d6e96f0d297fe', class: "modal_header" }, h("slot", { key: 'a9f44d4b9cab25b39f2780b85ba06b7b19c57b72', name: "header" }, ((_a = this.el) === null || _a === void 0 ? void 0 : _a.title) && h("h5", { key: '3c8aeae5ad36dc00ce02badf5c9c7f54f55083a5', class: "modal_header__title" }, this.el.title))), h("div", { key: 'f8d57aacd10b4d20521c25ca71d87d6ccc5a3145', class: { 'modal_content': true, overflow: this.overflow } }, h("slot", { key: '1522095e46206cb1738c29dc4c02fb0bb288f490' })), h("div", { key: '50578184ddd5d3b7284f1c5f78d76c1c84bfa73a', class: "modal_footer" }, h("slot", { key: 'fc76f6ea53b69c11446be8394e0ceb6caa9c9e5a', name: "footer" })), !!this.loading && (h("div", { key: '99f0045bd17cfd3d891b8134858b655b1cb6cb48', class: "loading" }, h("xv-loader-v2", { key: '0440f5a5e82f2f2061425e26ebf85386afe6bb67', size: SIZE_VAR.LG })))))));
|
|
62
|
+
}
|
|
63
|
+
disconnectedCallback() {
|
|
64
|
+
this.removeTriggerListener();
|
|
65
|
+
}
|
|
66
|
+
static get is() { return "xv-modal-v2"; }
|
|
67
|
+
static get encapsulation() { return "shadow"; }
|
|
68
|
+
static get originalStyleUrls() {
|
|
69
|
+
return {
|
|
70
|
+
"$": ["xv-modal.scss"]
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
static get styleUrls() {
|
|
74
|
+
return {
|
|
75
|
+
"$": ["xv-modal.css"]
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
static get properties() {
|
|
79
|
+
return {
|
|
80
|
+
"open": {
|
|
81
|
+
"type": "boolean",
|
|
82
|
+
"attribute": "open",
|
|
83
|
+
"mutable": true,
|
|
84
|
+
"complexType": {
|
|
85
|
+
"original": "boolean",
|
|
86
|
+
"resolved": "boolean",
|
|
87
|
+
"references": {}
|
|
88
|
+
},
|
|
89
|
+
"required": false,
|
|
90
|
+
"optional": false,
|
|
91
|
+
"docs": {
|
|
92
|
+
"tags": [],
|
|
93
|
+
"text": "Is modal opened"
|
|
94
|
+
},
|
|
95
|
+
"getter": false,
|
|
96
|
+
"setter": false,
|
|
97
|
+
"reflect": true,
|
|
98
|
+
"defaultValue": "false"
|
|
99
|
+
},
|
|
100
|
+
"permanent": {
|
|
101
|
+
"type": "boolean",
|
|
102
|
+
"attribute": "permanent",
|
|
103
|
+
"mutable": false,
|
|
104
|
+
"complexType": {
|
|
105
|
+
"original": "boolean",
|
|
106
|
+
"resolved": "boolean",
|
|
107
|
+
"references": {}
|
|
108
|
+
},
|
|
109
|
+
"required": false,
|
|
110
|
+
"optional": false,
|
|
111
|
+
"docs": {
|
|
112
|
+
"tags": [],
|
|
113
|
+
"text": "If true then modal not be closed on backdrop click"
|
|
114
|
+
},
|
|
115
|
+
"getter": false,
|
|
116
|
+
"setter": false,
|
|
117
|
+
"reflect": true,
|
|
118
|
+
"defaultValue": "false"
|
|
119
|
+
},
|
|
120
|
+
"size": {
|
|
121
|
+
"type": "string",
|
|
122
|
+
"attribute": "size",
|
|
123
|
+
"mutable": false,
|
|
124
|
+
"complexType": {
|
|
125
|
+
"original": "SIZE_VAR",
|
|
126
|
+
"resolved": "SIZE_VAR.LG | SIZE_VAR.MD | SIZE_VAR.SM | SIZE_VAR.XL | SIZE_VAR.XS",
|
|
127
|
+
"references": {
|
|
128
|
+
"SIZE_VAR": {
|
|
129
|
+
"location": "import",
|
|
130
|
+
"path": "../../types/enum",
|
|
131
|
+
"id": "src/types/enum.ts::SIZE_VAR"
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"required": false,
|
|
136
|
+
"optional": false,
|
|
137
|
+
"docs": {
|
|
138
|
+
"tags": [],
|
|
139
|
+
"text": "Size of modal. But max size is 90% view width"
|
|
140
|
+
},
|
|
141
|
+
"getter": false,
|
|
142
|
+
"setter": false,
|
|
143
|
+
"reflect": true,
|
|
144
|
+
"defaultValue": "SIZE_VAR.MD"
|
|
145
|
+
},
|
|
146
|
+
"overflow": {
|
|
147
|
+
"type": "boolean",
|
|
148
|
+
"attribute": "overflow",
|
|
149
|
+
"mutable": false,
|
|
150
|
+
"complexType": {
|
|
151
|
+
"original": "boolean",
|
|
152
|
+
"resolved": "boolean",
|
|
153
|
+
"references": {}
|
|
154
|
+
},
|
|
155
|
+
"required": false,
|
|
156
|
+
"optional": false,
|
|
157
|
+
"docs": {
|
|
158
|
+
"tags": [],
|
|
159
|
+
"text": "When need scroll modal content"
|
|
160
|
+
},
|
|
161
|
+
"getter": false,
|
|
162
|
+
"setter": false,
|
|
163
|
+
"reflect": true,
|
|
164
|
+
"defaultValue": "true"
|
|
165
|
+
},
|
|
166
|
+
"loading": {
|
|
167
|
+
"type": "boolean",
|
|
168
|
+
"attribute": "loading",
|
|
169
|
+
"mutable": false,
|
|
170
|
+
"complexType": {
|
|
171
|
+
"original": "boolean",
|
|
172
|
+
"resolved": "boolean",
|
|
173
|
+
"references": {}
|
|
174
|
+
},
|
|
175
|
+
"required": false,
|
|
176
|
+
"optional": true,
|
|
177
|
+
"docs": {
|
|
178
|
+
"tags": [],
|
|
179
|
+
"text": "Modal loading state"
|
|
180
|
+
},
|
|
181
|
+
"getter": false,
|
|
182
|
+
"setter": false,
|
|
183
|
+
"reflect": false
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
static get events() {
|
|
188
|
+
return [{
|
|
189
|
+
"method": "openChange",
|
|
190
|
+
"name": "openChange",
|
|
191
|
+
"bubbles": true,
|
|
192
|
+
"cancelable": true,
|
|
193
|
+
"composed": true,
|
|
194
|
+
"docs": {
|
|
195
|
+
"tags": [],
|
|
196
|
+
"text": ""
|
|
197
|
+
},
|
|
198
|
+
"complexType": {
|
|
199
|
+
"original": "boolean",
|
|
200
|
+
"resolved": "boolean",
|
|
201
|
+
"references": {}
|
|
202
|
+
}
|
|
203
|
+
}];
|
|
204
|
+
}
|
|
205
|
+
static get methods() {
|
|
206
|
+
return {
|
|
207
|
+
"openModal": {
|
|
208
|
+
"complexType": {
|
|
209
|
+
"signature": "() => Promise<boolean>",
|
|
210
|
+
"parameters": [],
|
|
211
|
+
"references": {
|
|
212
|
+
"Promise": {
|
|
213
|
+
"location": "global",
|
|
214
|
+
"id": "global::Promise"
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
"return": "Promise<boolean>"
|
|
218
|
+
},
|
|
219
|
+
"docs": {
|
|
220
|
+
"text": "",
|
|
221
|
+
"tags": []
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
"closeModal": {
|
|
225
|
+
"complexType": {
|
|
226
|
+
"signature": "() => Promise<boolean>",
|
|
227
|
+
"parameters": [],
|
|
228
|
+
"references": {
|
|
229
|
+
"Promise": {
|
|
230
|
+
"location": "global",
|
|
231
|
+
"id": "global::Promise"
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
"return": "Promise<boolean>"
|
|
235
|
+
},
|
|
236
|
+
"docs": {
|
|
237
|
+
"text": "",
|
|
238
|
+
"tags": []
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
static get elementRef() { return "el"; }
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=xv-modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xv-modal.js","sourceRoot":"","sources":["../../../src/components/xv-modal/xv-modal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, Element, Event, EventEmitter, Method } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\n\n@Component({\n tag: 'xv-modal-v2',\n styleUrl: 'xv-modal.scss',\n shadow: true,\n})\nexport class XvModal {\n @Element() el: HTMLElement;\n /**\n * Is modal opened\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n /**\n * If true then modal not be closed on backdrop click\n */\n @Prop({ reflect: true }) permanent: boolean = false;\n /**\n * Size of modal. But max size is 90% view width\n */\n @Prop({ reflect: true }) size: SIZE_VAR = SIZE_VAR.MD;\n /**\n * When need scroll modal content\n */\n @Prop({ reflect: true }) overflow: boolean = true;\n /**\n * Modal loading state\n */\n @Prop() loading?: boolean;\n\n @Event({ eventName: 'openChange' }) openChange!: EventEmitter<boolean>;\n\n private triggerEl: HTMLElement | null = null;\n\n @Method()\n async openModal() {\n this.open = true;\n this.openChange?.emit(this.open);\n return this.open\n };\n\n @Method()\n async closeModal() {\n this.open = false;\n this.openChange?.emit(this.open);\n return this.open\n }\n\n private onBackdropClick = async (e: MouseEvent) => {\n if (this.permanent) return;\n // click on backdrop\n if (e.target === e.currentTarget) {\n await this.closeModal();\n }\n };\n\n private removeTriggerListener = () => {\n this.triggerEl?.removeEventListener('click', this.openModal.bind(this));\n };\n\n private setupTrigger = () => {\n this.removeTriggerListener();\n const slot = this.el.shadowRoot.querySelector('slot[name=\"trigger\"]') as HTMLSlotElement;\n\n if (slot) {\n const assigned = slot.assignedElements();\n if (assigned.length > 0) {\n this.triggerEl = assigned[0] as HTMLElement;\n this.triggerEl.addEventListener('click', this.openModal.bind(this));\n }\n }\n }\n\n render() {\n return (\n <Host role=\"dialog\" size={this.size} id={this.el.id}>\n <slot name=\"trigger\" onSlotchange={this.setupTrigger} />\n\n <div class={{ backdrop: true }} onClick={this.onBackdropClick}>\n <div class=\"modal\">\n <button class=\"modal_close\" onClick={this.closeModal.bind(this)}>×</button>\n <div class=\"modal_header\">\n <slot name=\"header\">\n {this.el?.title && <h5 class=\"modal_header__title\">{this.el.title}</h5>}\n </slot>\n </div>\n\n <div class={{ 'modal_content': true, overflow: this.overflow }}>\n <slot />\n </div>\n\n <div class=\"modal_footer\">\n <slot name=\"footer\" />\n </div>\n\n {!!this.loading && (\n <div class=\"loading\">\n <xv-loader-v2 size={SIZE_VAR.LG} />\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.removeTriggerListener();\n }\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export var NOTIFICATION_VARIANTS;
|
|
2
|
+
(function (NOTIFICATION_VARIANTS) {
|
|
3
|
+
NOTIFICATION_VARIANTS["INFO"] = "info";
|
|
4
|
+
NOTIFICATION_VARIANTS["SUCCESS"] = "success";
|
|
5
|
+
NOTIFICATION_VARIANTS["WARNING"] = "warning";
|
|
6
|
+
NOTIFICATION_VARIANTS["ERROR"] = "error";
|
|
7
|
+
})(NOTIFICATION_VARIANTS || (NOTIFICATION_VARIANTS = {}));
|
|
8
|
+
//# sourceMappingURL=_vars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_vars.js","sourceRoot":"","sources":["../../../src/components/xv-notification/_vars.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,sCAAa,CAAA;IACb,4CAAmB,CAAA;IACnB,4CAAmB,CAAA;IACnB,wCAAe,CAAA;AACjB,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC","sourcesContent":["export enum NOTIFICATION_VARIANTS {\n INFO = 'info',\n SUCCESS = 'success',\n WARNING = 'warning',\n ERROR = 'error'\n}\n"]}
|