@progressio_resources/gravity-design-system 4.0.26 → 4.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/fesm2022/progressio_resources-gravity-design-system.mjs +5022 -1770
- package/fesm2022/progressio_resources-gravity-design-system.mjs.map +1 -1
- package/package.json +10 -12
- package/src/lib/assets/icon-set/coins/crypto/gt-icon-avax-currency/gt-icon-avax-currency-disabled.svg +4 -0
- package/src/lib/assets/icon-set/coins/crypto/gt-icon-avax-currency/gt-icon-avax-currency.svg +4 -0
- package/src/lib/assets/icon-set/coins/crypto/gt-icon-cbbtc-currency/gt-icon-cbbtc-currency-disabled.svg +4 -0
- package/src/lib/assets/icon-set/coins/crypto/gt-icon-cbbtc-currency/gt-icon-cbbtc-currency.svg +6 -0
- package/src/lib/assets/icon-set/coins/crypto/gt-icon-doge-currency/gt-icon-doge-currency-disabled.svg +4 -0
- package/src/lib/assets/icon-set/coins/crypto/gt-icon-doge-currency/gt-icon-doge-currency.svg +125 -0
- package/src/lib/assets/icon-set/coins/crypto/gt-icon-pol-currency/gt-icon-pol-currency-disabled.svg +4 -0
- package/src/lib/assets/icon-set/coins/crypto/gt-icon-pol-currency/gt-icon-pol-currency.svg +4 -0
- package/src/lib/assets/icon-set/coins/crypto/gt-icon-shib-currency/gt-icon-shib-currency-disabled.svg +12 -0
- package/src/lib/assets/icon-set/coins/crypto/gt-icon-shib-currency/gt-icon-shib-currency.svg +17 -0
- package/src/lib/assets/icon-set/coins/crypto/gt-icon-xlm-currency/gt-icon-xlm-currency-disabled.svg +4 -0
- package/src/lib/assets/icon-set/coins/crypto/gt-icon-xlm-currency/gt-icon-xlm-currency.svg +4 -0
- package/src/lib/assets/icon-set/coins/crypto/gt-icon-xrp-currency/gt-icon-xrp-currency-disabled.svg +4 -0
- package/src/lib/assets/icon-set/coins/crypto/gt-icon-xrp-currency/gt-icon-xrp-currency.svg +4 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-ars-currency/gt-icon-ars-currency-disabled.svg +8 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-ars-currency/gt-icon-ars-currency.svg +8 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-brl-currency/gt-icon-brl-currency-disabled.svg +9 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-brl-currency/gt-icon-brl-currency.svg +9 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-cad-currency/gt-icon-cad-currency-disabled.svg +7 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-cad-currency/gt-icon-cad-currency.svg +8 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-clp-currency/gt-icon-clp-currency-disabled.svg +9 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-clp-currency/gt-icon-clp-currency.svg +8 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-cop-currency/gt-icon-cop-currency-disabled.svg +7 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-cop-currency/gt-icon-cop-currency.svg +7 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-crc-currency/gt-icon-crc-currency-disabled.svg +8 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-crc-currency/gt-icon-crc-currency.svg +8 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-dop-currency/gt-icon-dop-currency-disabled.svg +12 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-dop-currency/gt-icon-dop-currency.svg +12 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-eur-currency/gt-icon-eur-currency-disabled.svg +12 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-eur-currency/gt-icon-eur-currency.svg +13 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-gbp-currency/gt-icon-gbp-currency-disabled.svg +18 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-gbp-currency/gt-icon-gbp-currency.svg +18 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-jpy-currency/gt-icon-jpy-currency-disabled.svg +6 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-jpy-currency/gt-icon-jpy-currency.svg +6 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-mxn-currency/gt-icon-mxn-currency-disabled.svg +9 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-mxn-currency/gt-icon-mxn-currency.svg +9 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-pen-currency/gt-icon-pen-currency-disabled.svg +7 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-pen-currency/gt-icon-pen-currency.svg +7 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-usd-currency/gt-icon-usd-currency-disabled.svg +11 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-usd-currency/gt-icon-usd-currency.svg +10 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-ves-currency/gt-icon-ves-currency-disabled.svg +15 -0
- package/src/lib/assets/icon-set/coins/fiat/gt-icon-ves-currency/gt-icon-ves-currency.svg +15 -0
- package/src/lib/assets/icon-set/gt-icon-add-update/gt-icon-add-update-lg-24.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-add-update/gt-icon-add-update-md-16.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-add-update/gt-icon-add-update-sm-12.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-add-update/gt-icon-add-update-xl-32.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-checkbox-dash/gt-icon-checkbox-dash-lg-24.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-checkbox-dash/gt-icon-checkbox-dash-md-16.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-checkbox-dash/gt-icon-checkbox-dash-sm-12.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-checkbox-dash/gt-icon-checkbox-dash-xl-32.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-chevron-double-left/gt-icon-chevron-double-left-lg-24.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-chevron-double-left/gt-icon-chevron-double-left-md-16.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-chevron-double-left/gt-icon-chevron-double-left-sm-12.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-chevron-double-left/gt-icon-chevron-double-left-xl-32.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-chevron-double-right/gt-icon-chevron-double-right-lg-24.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-chevron-double-right/gt-icon-chevron-double-right-md-16.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-chevron-double-right/gt-icon-chevron-double-right-sm-12.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-chevron-double-right/gt-icon-chevron-double-right-xl-32.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-double-check/gt-icon-double-check-lg-24.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-double-check/gt-icon-double-check-md-16.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-double-check/gt-icon-double-check-sm-12.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-double-check/gt-icon-double-check-xl-32.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-fire/gt-icon-fire-lg-24.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-fire/gt-icon-fire-md-16.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-fire/gt-icon-fire-sm-12.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-fire/gt-icon-fire-xl-32.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-money-in/gt-icon-money-in-lg-24.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-money-in/gt-icon-money-in-md-16.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-money-in/gt-icon-money-in-sm-12.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-money-in/gt-icon-money-in-xl-32.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-monitor/gt-icon-monitor-lg-24.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-monitor/gt-icon-monitor-md-16.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-monitor/gt-icon-monitor-sm-12.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-monitor/gt-icon-monitor-xl-32.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-percent/gt-icon-percent-lg-24.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-percent/gt-icon-percent-md-16.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-percent/gt-icon-percent-sm-12.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-percent/gt-icon-percent-xl-32.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-published/gt-icon-published-lg-24.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-published/gt-icon-published-md-16.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-published/gt-icon-published-sm-12.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-published/gt-icon-published-xl-32.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-receipt/gt-icon-receipt-lg-24.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-receipt/gt-icon-receipt-md-16.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-receipt/gt-icon-receipt-sm-12.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-receipt/gt-icon-receipt-xl-32.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-right-angle-arrow/gt-icon-right-angle-arrow-lg-24.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-right-angle-arrow/gt-icon-right-angle-arrow-md-16.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-right-angle-arrow/gt-icon-right-angle-arrow-sm-12.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-right-angle-arrow/gt-icon-right-angle-arrow-xl-32.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-scan/gt-icon-scan-lg-24.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-scan/gt-icon-scan-md-16.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-scan/gt-icon-scan-sm-12.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-scan/gt-icon-scan-xl-32.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-shield/gt-icon-shield-lg-24.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-shield/gt-icon-shield-md-16.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-shield/gt-icon-shield-sm-12.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-shield/gt-icon-shield-xl-32.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-unsuccess/gt-icon-unsuccess-lg-24.svg +1 -1
- package/src/lib/assets/icon-set/gt-icon-unsuccess/gt-icon-unsuccess-md-16.svg +1 -1
- package/src/lib/assets/icon-set/gt-icon-unsuccess/gt-icon-unsuccess-sm-12.svg +1 -1
- package/src/lib/assets/icon-set/gt-icon-unsuccess/gt-icon-unsuccess-xl-32.svg +1 -1
- package/src/lib/assets/icon-set/gt-icon-url/gt-icon-url-lg-24.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-url/gt-icon-url-md-16.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-url/gt-icon-url-sm-12.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-url/gt-icon-url-xl-32.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-wallet/gt-icon-wallet-lg-24.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-wallet/gt-icon-wallet-md-16.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-wallet/gt-icon-wallet-sm-12.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-wallet/gt-icon-wallet-xl-32.svg +3 -0
- package/src/lib/assets/icon-set/networks/gt-icon-avax-network/gt-icon-avax-network-disabled.svg +5 -0
- package/src/lib/assets/icon-set/networks/gt-icon-avax-network/gt-icon-avax-network.svg +11 -0
- package/src/lib/assets/icon-set/networks/gt-icon-base-network/gt-icon-base-network-disabled.svg +3 -3
- package/src/lib/assets/icon-set/networks/gt-icon-bch-network/gt-icon-bch-network-disabled.svg +4 -4
- package/src/lib/assets/icon-set/networks/gt-icon-bsc-network/gt-icon-bsc-network-disabled.svg +7 -7
- package/src/lib/assets/icon-set/networks/gt-icon-btc-network/gt-icon-btc-network-disabled.svg +3 -3
- package/src/lib/assets/icon-set/networks/gt-icon-doge-network/gt-icon-doge-network-disabled.svg +5 -0
- package/src/lib/assets/icon-set/networks/gt-icon-doge-network/gt-icon-doge-network.svg +11 -0
- package/src/lib/assets/icon-set/networks/gt-icon-erc20-network/gt-icon-erc20-network-disabled.svg +9 -9
- package/src/lib/assets/icon-set/networks/gt-icon-lnbtc-network/gt-icon-lnbtc-network-disabled.svg +4 -4
- package/src/lib/assets/icon-set/networks/gt-icon-ltc-network/gt-icon-ltc-network-disabled.svg +3 -3
- package/src/lib/assets/icon-set/networks/gt-icon-ltc-network/gt-icon-ltc-network.svg +2 -2
- package/src/lib/assets/icon-set/networks/gt-icon-op-network/gt-icon-op-network-disabled.svg +6 -0
- package/src/lib/assets/icon-set/networks/gt-icon-op-network/gt-icon-op-network.svg +12 -0
- package/src/lib/assets/icon-set/networks/gt-icon-pol-network/gt-icon-pol-network-disabled.svg +5 -0
- package/src/lib/assets/icon-set/networks/gt-icon-pol-network/gt-icon-pol-network.svg +11 -0
- package/src/lib/assets/icon-set/networks/gt-icon-sol-network/gt-icon-sol-network-disabled.svg +5 -0
- package/src/lib/assets/icon-set/networks/gt-icon-sol-network/gt-icon-sol-network.svg +15 -0
- package/src/lib/assets/icon-set/networks/gt-icon-trc20-network/gt-icon-trc20-network-disabled.svg +4 -4
- package/src/lib/assets/icon-set/networks/gt-icon-xlm-network/gt-icon-xlm-network-disabled.svg +5 -0
- package/src/lib/assets/icon-set/networks/gt-icon-xlm-network/gt-icon-xlm-network.svg +11 -0
- package/src/lib/assets/icon-set/networks/gt-icon-xrp-network/gt-icon-xrp-network-disabled.svg +5 -0
- package/src/lib/assets/icon-set/networks/gt-icon-xrp-network/gt-icon-xrp-network.svg +11 -0
- package/src/lib/assets/json/icons.json +528 -316
- package/src/lib/styles/_functions.scss +4 -2
- package/src/lib/styles/_responsive.scss +1 -1
- package/src/lib/styles/components/_card_highlight.scss +5 -5
- package/src/lib/styles/components/_datepicker-v2.scss +12 -2
- package/src/lib/styles/components/_datepicker.scss +16 -15
- package/src/lib/styles/components/_offcanvas.scss +21 -24
- package/src/lib/styles/components/_scroll_bar.scss +31 -0
- package/src/lib/styles/components/_tables.scss +9 -8
- package/src/lib/styles/foundations/colors/themes/_hero.theme.scss +571 -542
- package/src/lib/styles/foundations/colors/tokens/_hero.tokens.scss +585 -556
- package/src/lib/styles/foundations/elevation/_hero.elevation.scss +3 -3
- package/src/lib/styles/foundations/spacing/_spacing.scss +14 -13
- package/src/lib/styles/foundations/z-index/_z-index.scss +10 -0
- package/src/lib/styles/gravity-design-system.scss +10 -8
- package/src/lib/styles/overwrite/bootstrap/_modal.scss +7 -5
- package/src/lib/styles/themes/_hero.scss +4 -4
- package/src/lib/vendor/gravity-tooltip/gravity-tooltip.component.html +11 -7
- package/src/lib/vendor/gravity-tooltip/gravity-tooltip.component.sass +149 -66
- package/src/lib/vendor/gravity-tooltip/gravity-tooltip.component.ts +26 -14
- package/src/lib/vendor/gravity-tooltip/gravity-tooltip.directive.ts +67 -22
- package/src/lib/vendor/gravity-tooltip/gravity-tooltip.module.ts +7 -12
- package/src/lib/vendor/gravity-tooltip/options.interface.ts +2 -0
- package/types/progressio_resources-gravity-design-system.d.ts +2776 -0
- package/esm2022/lib/components/gravity-attach-file/gravity-attach-file.component.mjs +0 -82
- package/esm2022/lib/components/gravity-avatar-stack/gravity-avatar-stack.component.mjs +0 -58
- package/esm2022/lib/components/gravity-button/gravity-button.component.mjs +0 -58
- package/esm2022/lib/components/gravity-calendar/gravity-calendar.component.mjs +0 -79
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/base/bs-datepicker-container.mjs +0 -66
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-datepicker-inline.component.mjs +0 -130
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-datepicker-inline.config.mjs +0 -14
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-datepicker.callbacks.mjs +0 -13
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-datepicker.component.mjs +0 -211
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-datepicker.config.mjs +0 -46
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker-inline.component.mjs +0 -131
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker-inline.config.mjs +0 -18
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker.component.mjs +0 -219
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker.config.mjs +0 -18
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-container.component.mjs +0 -134
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-inline-container.component.mjs +0 -33
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-navigation-view/bs-datepicker-navigation-view.component.mjs +0 -44
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-daterangepicker-container.component.mjs +0 -190
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-daterangepicker-inline-container.component.mjs +0 -33
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-days-calendar-view/bs-datepicker-day-decorator.directive.mjs +0 -31
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-days-calendar-view/bs-days-calendar-view.component.mjs +0 -54
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-months-calendar-view/bs-months-calendar-view.component.mjs +0 -49
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/components/bs-years-calendar-view/bs-years-calendar-view.component.mjs +0 -50
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/datepicker-animations.mjs +0 -16
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/calc-days-calendar.mjs +0 -16
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/flag-days-calendar.mjs +0 -53
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/flag-months-calendar.mjs +0 -39
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/flag-years-calendar.mjs +0 -36
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/format-days-calendar.mjs +0 -23
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/format-months-calendar.mjs +0 -23
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/format-years-calendar.mjs +0 -43
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/engine/view-mode.mjs +0 -4
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/models/index.mjs +0 -7
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/reducer/_defaults.mjs +0 -6
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.actions.mjs +0 -64
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.effects.mjs +0 -128
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.reducer.mjs +0 -301
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.state.mjs +0 -16
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.store.mjs +0 -20
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/utils/bs-calendar-utils.mjs +0 -74
- package/esm2022/lib/components/gravity-calendar-v2/datepicker/utils/matrix-utils.mjs +0 -14
- package/esm2022/lib/components/gravity-calendar-v2/gravity-calendar-v2.component.mjs +0 -227
- package/esm2022/lib/components/gravity-card-button/gravity-card-button.component.mjs +0 -31
- package/esm2022/lib/components/gravity-card-list/gravity-card-list.component.mjs +0 -52
- package/esm2022/lib/components/gravity-checkbox/gravity-checkbox.component.mjs +0 -47
- package/esm2022/lib/components/gravity-chip/gravity-chip.component.mjs +0 -43
- package/esm2022/lib/components/gravity-currency/gravity-currency.component.mjs +0 -26
- package/esm2022/lib/components/gravity-currency-display/gravity-currency-display.component.mjs +0 -34
- package/esm2022/lib/components/gravity-dialog/gravity-dialog.component.mjs +0 -26
- package/esm2022/lib/components/gravity-dropdown-list/filter-by.pipe.mjs +0 -45
- package/esm2022/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.mjs +0 -263
- package/esm2022/lib/components/gravity-dropdown-list-display/display-currency-items.mjs +0 -2
- package/esm2022/lib/components/gravity-dropdown-list-display/gravity-dropdown-list-display.component.mjs +0 -138
- package/esm2022/lib/components/gravity-editable-input/gravity-editable-input.component.mjs +0 -50
- package/esm2022/lib/components/gravity-generic-avatar/gravity-generic-avatar.component.mjs +0 -25
- package/esm2022/lib/components/gravity-icon/gravity-icon.component.mjs +0 -91
- package/esm2022/lib/components/gravity-icon-button/gravity-icon-button.component.mjs +0 -39
- package/esm2022/lib/components/gravity-link/gravity-link.component.mjs +0 -38
- package/esm2022/lib/components/gravity-modal/gravity-modal.component.mjs +0 -68
- package/esm2022/lib/components/gravity-multi-language/gravity-multi-language.component.mjs +0 -31
- package/esm2022/lib/components/gravity-network-pill/gravity-network-pill.component.mjs +0 -27
- package/esm2022/lib/components/gravity-notification/gravity-notification-content.interface.mjs +0 -2
- package/esm2022/lib/components/gravity-notification/gravity-notification.component.mjs +0 -22
- package/esm2022/lib/components/gravity-notification-instant/gravity-notification-instant-container.component.mjs +0 -21
- package/esm2022/lib/components/gravity-offcanvas/gravity-offcanvas.component.mjs +0 -24
- package/esm2022/lib/components/gravity-radio-button/gravity-radio-button.component.mjs +0 -32
- package/esm2022/lib/components/gravity-status-indicator/gravity-status-indicator.component.mjs +0 -34
- package/esm2022/lib/components/gravity-stepper/gravity-stepper.component.mjs +0 -37
- package/esm2022/lib/components/gravity-switch/gravity-switch.component.mjs +0 -54
- package/esm2022/lib/components/gravity-tab-primary/gravity-tab-primary.component.mjs +0 -31
- package/esm2022/lib/components/gravity-tab-secondary/gravity-tab-secondary.component.mjs +0 -34
- package/esm2022/lib/components/gravity-table/gravity-table.component.mjs +0 -212
- package/esm2022/lib/components/gravity-text-field/gravity-text-field.component.mjs +0 -185
- package/esm2022/lib/components/gravity-text-field-number-only/gravity-text-field-number-only.component.mjs +0 -124
- package/esm2022/lib/components/gravity-tree-view/gravity-tree-view.component.mjs +0 -69
- package/esm2022/lib/components/gravity-tree-view/models/node-item.mjs +0 -2
- package/esm2022/lib/components/gravity-tree-view/models/node-selected-state.mjs +0 -7
- package/esm2022/lib/components/gravity-tree-view/models/node-state.mjs +0 -2
- package/esm2022/lib/components/gravity-tree-view/models/tree-callbacks.mjs +0 -2
- package/esm2022/lib/components/gravity-tree-view/node/node-checkbox/node-checkbox.component.mjs +0 -26
- package/esm2022/lib/components/gravity-tree-view/node/node-name/node-name.component.mjs +0 -13
- package/esm2022/lib/components/gravity-tree-view/node/node-toggle/node-toggle.component.mjs +0 -15
- package/esm2022/lib/components/gravity-tree-view/node/node.component.mjs +0 -17
- package/esm2022/lib/components/gravity-tree-view/service/tree-service.mjs +0 -218
- package/esm2022/lib/gravity-design-system.module.mjs +0 -290
- package/esm2022/lib/services/gravity-dialog-manager.service.mjs +0 -48
- package/esm2022/lib/services/gravity-instant-notifications.service.mjs +0 -23
- package/esm2022/lib/vendor/gravity-tooltip/gravity-tooltip.component.mjs +0 -239
- package/esm2022/lib/vendor/gravity-tooltip/gravity-tooltip.directive.mjs +0 -479
- package/esm2022/lib/vendor/gravity-tooltip/gravity-tooltip.module.mjs +0 -41
- package/esm2022/lib/vendor/gravity-tooltip/index.mjs +0 -4
- package/esm2022/lib/vendor/gravity-tooltip/options.interface.mjs +0 -2
- package/esm2022/lib/vendor/gravity-tooltip/options.mjs +0 -38
- package/esm2022/lib/vendor/gravity-tooltip/options.service.mjs +0 -7
- package/esm2022/progressio_resources-gravity-design-system.mjs +0 -5
- package/esm2022/public-api.mjs +0 -47
- package/index.d.ts +0 -5
- package/lib/components/gravity-attach-file/gravity-attach-file.component.d.ts +0 -22
- package/lib/components/gravity-avatar-stack/gravity-avatar-stack.component.d.ts +0 -19
- package/lib/components/gravity-button/gravity-button.component.d.ts +0 -17
- package/lib/components/gravity-calendar/gravity-calendar.component.d.ts +0 -37
- package/lib/components/gravity-calendar-v2/datepicker/base/bs-datepicker-container.d.ts +0 -41
- package/lib/components/gravity-calendar-v2/datepicker/bs-datepicker-inline.component.d.ts +0 -40
- package/lib/components/gravity-calendar-v2/datepicker/bs-datepicker-inline.config.d.ts +0 -6
- package/lib/components/gravity-calendar-v2/datepicker/bs-datepicker.callbacks.d.ts +0 -6
- package/lib/components/gravity-calendar-v2/datepicker/bs-datepicker.component.d.ts +0 -64
- package/lib/components/gravity-calendar-v2/datepicker/bs-datepicker.config.d.ts +0 -53
- package/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker-inline.component.d.ts +0 -37
- package/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker-inline.config.d.ts +0 -7
- package/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker.component.d.ts +0 -61
- package/lib/components/gravity-calendar-v2/datepicker/bs-daterangepicker.config.d.ts +0 -7
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-container.component.d.ts +0 -34
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-inline-container.component.d.ts +0 -14
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-datepicker-navigation-view/bs-datepicker-navigation-view.component.d.ts +0 -16
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-daterangepicker-container.component.d.ts +0 -40
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-daterangepicker-inline-container.component.d.ts +0 -14
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-days-calendar-view/bs-datepicker-day-decorator.directive.d.ts +0 -7
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-days-calendar-view/bs-days-calendar-view.component.d.ts +0 -23
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-months-calendar-view/bs-months-calendar-view.component.d.ts +0 -19
- package/lib/components/gravity-calendar-v2/datepicker/components/bs-years-calendar-view/bs-years-calendar-view.component.d.ts +0 -19
- package/lib/components/gravity-calendar-v2/datepicker/datepicker-animations.d.ts +0 -3
- package/lib/components/gravity-calendar-v2/datepicker/engine/calc-days-calendar.d.ts +0 -2
- package/lib/components/gravity-calendar-v2/datepicker/engine/flag-days-calendar.d.ts +0 -12
- package/lib/components/gravity-calendar-v2/datepicker/engine/flag-months-calendar.d.ts +0 -12
- package/lib/components/gravity-calendar-v2/datepicker/engine/flag-years-calendar.d.ts +0 -13
- package/lib/components/gravity-calendar-v2/datepicker/engine/format-days-calendar.d.ts +0 -2
- package/lib/components/gravity-calendar-v2/datepicker/engine/format-months-calendar.d.ts +0 -2
- package/lib/components/gravity-calendar-v2/datepicker/engine/format-years-calendar.d.ts +0 -4
- package/lib/components/gravity-calendar-v2/datepicker/engine/view-mode.d.ts +0 -2
- package/lib/components/gravity-calendar-v2/datepicker/models/index.d.ts +0 -86
- package/lib/components/gravity-calendar-v2/datepicker/reducer/_defaults.d.ts +0 -3
- package/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.actions.d.ts +0 -34
- package/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.effects.d.ts +0 -34
- package/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.reducer.d.ts +0 -3
- package/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.state.d.ts +0 -34
- package/lib/components/gravity-calendar-v2/datepicker/reducer/bs-datepicker.store.d.ts +0 -8
- package/lib/components/gravity-calendar-v2/datepicker/utils/bs-calendar-utils.d.ts +0 -13
- package/lib/components/gravity-calendar-v2/datepicker/utils/matrix-utils.d.ts +0 -9
- package/lib/components/gravity-calendar-v2/gravity-calendar-v2.component.d.ts +0 -49
- package/lib/components/gravity-card-button/gravity-card-button.component.d.ts +0 -11
- package/lib/components/gravity-card-list/gravity-card-list.component.d.ts +0 -16
- package/lib/components/gravity-checkbox/gravity-checkbox.component.d.ts +0 -19
- package/lib/components/gravity-chip/gravity-chip.component.d.ts +0 -15
- package/lib/components/gravity-currency/gravity-currency.component.d.ts +0 -14
- package/lib/components/gravity-currency-display/gravity-currency-display.component.d.ts +0 -18
- package/lib/components/gravity-dialog/gravity-dialog.component.d.ts +0 -23
- package/lib/components/gravity-dropdown-list/filter-by.pipe.d.ts +0 -10
- package/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.d.ts +0 -50
- package/lib/components/gravity-dropdown-list-display/display-currency-items.d.ts +0 -11
- package/lib/components/gravity-dropdown-list-display/gravity-dropdown-list-display.component.d.ts +0 -37
- package/lib/components/gravity-editable-input/gravity-editable-input.component.d.ts +0 -18
- package/lib/components/gravity-generic-avatar/gravity-generic-avatar.component.d.ts +0 -9
- package/lib/components/gravity-icon/gravity-icon.component.d.ts +0 -72
- package/lib/components/gravity-icon-button/gravity-icon-button.component.d.ts +0 -14
- package/lib/components/gravity-link/gravity-link.component.d.ts +0 -14
- package/lib/components/gravity-modal/gravity-modal.component.d.ts +0 -27
- package/lib/components/gravity-multi-language/gravity-multi-language.component.d.ts +0 -12
- package/lib/components/gravity-network-pill/gravity-network-pill.component.d.ts +0 -13
- package/lib/components/gravity-notification/gravity-notification-content.interface.d.ts +0 -7
- package/lib/components/gravity-notification/gravity-notification.component.d.ts +0 -11
- package/lib/components/gravity-notification-instant/gravity-notification-instant-container.component.d.ts +0 -9
- package/lib/components/gravity-offcanvas/gravity-offcanvas.component.d.ts +0 -10
- package/lib/components/gravity-radio-button/gravity-radio-button.component.d.ts +0 -13
- package/lib/components/gravity-status-indicator/gravity-status-indicator.component.d.ts +0 -11
- package/lib/components/gravity-stepper/gravity-stepper.component.d.ts +0 -13
- package/lib/components/gravity-switch/gravity-switch.component.d.ts +0 -22
- package/lib/components/gravity-tab-primary/gravity-tab-primary.component.d.ts +0 -15
- package/lib/components/gravity-tab-secondary/gravity-tab-secondary.component.d.ts +0 -16
- package/lib/components/gravity-table/gravity-table.component.d.ts +0 -25
- package/lib/components/gravity-text-field/gravity-text-field.component.d.ts +0 -46
- package/lib/components/gravity-text-field-number-only/gravity-text-field-number-only.component.d.ts +0 -29
- package/lib/components/gravity-tree-view/gravity-tree-view.component.d.ts +0 -21
- package/lib/components/gravity-tree-view/models/node-item.d.ts +0 -10
- package/lib/components/gravity-tree-view/models/node-selected-state.d.ts +0 -5
- package/lib/components/gravity-tree-view/models/node-state.d.ts +0 -14
- package/lib/components/gravity-tree-view/models/tree-callbacks.d.ts +0 -9
- package/lib/components/gravity-tree-view/node/node-checkbox/node-checkbox.component.d.ts +0 -11
- package/lib/components/gravity-tree-view/node/node-name/node-name.component.d.ts +0 -7
- package/lib/components/gravity-tree-view/node/node-toggle/node-toggle.component.d.ts +0 -7
- package/lib/components/gravity-tree-view/node/node.component.d.ts +0 -7
- package/lib/components/gravity-tree-view/service/tree-service.d.ts +0 -42
- package/lib/gravity-design-system.module.d.ts +0 -67
- package/lib/services/gravity-dialog-manager.service.d.ts +0 -17
- package/lib/services/gravity-instant-notifications.service.d.ts +0 -10
- package/lib/vendor/gravity-tooltip/gravity-tooltip.component.d.ts +0 -42
- package/lib/vendor/gravity-tooltip/gravity-tooltip.directive.d.ts +0 -111
- package/lib/vendor/gravity-tooltip/gravity-tooltip.module.d.ts +0 -12
- package/lib/vendor/gravity-tooltip/index.d.ts +0 -3
- package/lib/vendor/gravity-tooltip/options.d.ts +0 -24
- package/lib/vendor/gravity-tooltip/options.interface.d.ts +0 -40
- package/lib/vendor/gravity-tooltip/options.service.d.ts +0 -7
- package/public-api.d.ts +0 -39
- package/src/lib/assets/icons/arrow_back.svg +0 -5
- package/src/lib/assets/icons/arrow_down.svg +0 -3
- package/src/lib/assets/icons/arrow_right.svg +0 -3
- package/src/lib/assets/icons/arrow_up.svg +0 -3
- package/src/lib/assets/icons/calendar.svg +0 -5
- package/src/lib/assets/icons/clip.svg +0 -6
- package/src/lib/assets/icons/coins/binance_coin.svg +0 -22
- package/src/lib/assets/icons/coins/binance_usd.svg +0 -13
- package/src/lib/assets/icons/coins/bitcoin.svg +0 -8
- package/src/lib/assets/icons/coins/bitcoin_cash.svg +0 -15
- package/src/lib/assets/icons/coins/bnb.svg +0 -14
- package/src/lib/assets/icons/coins/ethereum.svg +0 -18
- package/src/lib/assets/icons/coins/euro_coin.svg +0 -26
- package/src/lib/assets/icons/coins/litecoin.svg +0 -15
- package/src/lib/assets/icons/coins/tether.svg +0 -15
- package/src/lib/assets/icons/coins/tron.svg +0 -12
- package/src/lib/assets/icons/coins/usd_coin.svg +0 -16
- package/src/lib/assets/icons/coins/wrapped_bitcoin.svg +0 -27
- package/src/lib/assets/icons/copy.svg +0 -5
- package/src/lib/assets/icons/download.svg +0 -5
- package/src/lib/assets/icons/eye_closed.svg +0 -5
- package/src/lib/assets/icons/eye_open.svg +0 -12
- package/src/lib/assets/icons/forgot_password.svg +0 -11
- package/src/lib/assets/icons/info.svg +0 -12
- package/src/lib/assets/icons/lock.svg +0 -5
- package/src/lib/assets/icons/log_out.svg +0 -5
- package/src/lib/assets/icons/mail.svg +0 -5
- package/src/lib/assets/icons/my_profile.svg +0 -8
- package/src/lib/assets/icons/notifications/happy-face.svg +0 -3
- package/src/lib/assets/icons/notifications/new-coin.svg +0 -3
- package/src/lib/assets/icons/notifications/new-feature.svg +0 -3
- package/src/lib/assets/icons/search.svg +0 -5
- package/src/lib/assets/icons/sections/address_book.svg +0 -6
- package/src/lib/assets/icons/sections/settings.svg +0 -8
- package/src/lib/assets/icons/show_less.svg +0 -8
- package/src/lib/assets/icons/show_more.svg +0 -8
- package/src/lib/assets/icons/success.svg +0 -5
- package/src/lib/assets/icons/trash.svg +0 -3
- package/src/lib/assets/icons/uncheck.svg +0 -3
- package/src/lib/assets/icons/unlock.svg +0 -5
- package/src/lib/assets/icons/unsuccess.svg +0 -5
- package/src/lib/assets/icons/update.svg +0 -12
- package/src/lib/assets/icons/warning.svg +0 -11
- /package/src/lib/assets/icon-set/coins/{gt-icon-ada-currency → crypto/gt-icon-ada-currency}/gt-icon-ada-currency-disabled.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-ada-currency → crypto/gt-icon-ada-currency}/gt-icon-ada-currency.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-bch-currency → crypto/gt-icon-bch-currency}/gt-icon-bch-currency-disabled.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-bch-currency → crypto/gt-icon-bch-currency}/gt-icon-bch-currency.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-bnb-currency → crypto/gt-icon-bnb-currency}/gt-icon-bnb-currency-disabled.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-bnb-currency → crypto/gt-icon-bnb-currency}/gt-icon-bnb-currency.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-btc-currency → crypto/gt-icon-btc-currency}/gt-icon-btc-currency-disabled.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-btc-currency → crypto/gt-icon-btc-currency}/gt-icon-btc-currency.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-busd-currency → crypto/gt-icon-busd-currency}/gt-icon-busd-currency-disabled.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-busd-currency → crypto/gt-icon-busd-currency}/gt-icon-busd-currency.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-eth-currency → crypto/gt-icon-eth-currency}/gt-icon-eth-currency-disabled.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-eth-currency → crypto/gt-icon-eth-currency}/gt-icon-eth-currency.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-eurc-currency → crypto/gt-icon-eurc-currency}/gt-icon-eurc-currency-disabled.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-eurc-currency → crypto/gt-icon-eurc-currency}/gt-icon-eurc-currency.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-ltc-currency → crypto/gt-icon-ltc-currency}/gt-icon-ltc-currency-disabled.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-ltc-currency → crypto/gt-icon-ltc-currency}/gt-icon-ltc-currency.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-sol-currency → crypto/gt-icon-sol-currency}/gt-icon-sol-currency-disabled.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-sol-currency → crypto/gt-icon-sol-currency}/gt-icon-sol-currency.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-trx-currency → crypto/gt-icon-trx-currency}/gt-icon-trx-currency-disabled.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-trx-currency → crypto/gt-icon-trx-currency}/gt-icon-trx-currency.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-usdc-currency → crypto/gt-icon-usdc-currency}/gt-icon-usdc-currency-disabled.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-usdc-currency → crypto/gt-icon-usdc-currency}/gt-icon-usdc-currency.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-usdt-currency → crypto/gt-icon-usdt-currency}/gt-icon-usdt-currency-disabled.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-usdt-currency → crypto/gt-icon-usdt-currency}/gt-icon-usdt-currency.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-wbtc-currency → crypto/gt-icon-wbtc-currency}/gt-icon-wbtc-currency-disabled.svg +0 -0
- /package/src/lib/assets/icon-set/coins/{gt-icon-wbtc-currency → crypto/gt-icon-wbtc-currency}/gt-icon-wbtc-currency.svg +0 -0
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostBinding, HostListener, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
export class GravityTooltipComponent {
|
|
5
|
-
transitionEnd() {
|
|
6
|
-
if (this.show) {
|
|
7
|
-
this.events.emit({
|
|
8
|
-
type: 'shown'
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
set show(value) {
|
|
13
|
-
if (value) {
|
|
14
|
-
this.setPosition();
|
|
15
|
-
}
|
|
16
|
-
this._show = this.hostClassShow = value;
|
|
17
|
-
}
|
|
18
|
-
get show() {
|
|
19
|
-
return this._show;
|
|
20
|
-
}
|
|
21
|
-
get placement() {
|
|
22
|
-
return this.data.options.placement;
|
|
23
|
-
}
|
|
24
|
-
get autoPlacement() {
|
|
25
|
-
return this.data.options.autoPlacement;
|
|
26
|
-
}
|
|
27
|
-
get element() {
|
|
28
|
-
return this.data.element;
|
|
29
|
-
}
|
|
30
|
-
get elementPosition() {
|
|
31
|
-
return this.data.elementPosition;
|
|
32
|
-
}
|
|
33
|
-
get options() {
|
|
34
|
-
return this.data.options;
|
|
35
|
-
}
|
|
36
|
-
get value() {
|
|
37
|
-
return this.data.value;
|
|
38
|
-
}
|
|
39
|
-
get tooltipOffset() {
|
|
40
|
-
return Number(this.data.options.offset);
|
|
41
|
-
}
|
|
42
|
-
get isThemeLight() {
|
|
43
|
-
return this.options['theme'] === 'light';
|
|
44
|
-
}
|
|
45
|
-
constructor(elementRef, renderer) {
|
|
46
|
-
this.elementRef = elementRef;
|
|
47
|
-
this.renderer = renderer;
|
|
48
|
-
this._show = false;
|
|
49
|
-
this.events = new EventEmitter();
|
|
50
|
-
}
|
|
51
|
-
ngOnInit() {
|
|
52
|
-
this.setCustomClass();
|
|
53
|
-
this.setStyles();
|
|
54
|
-
}
|
|
55
|
-
setPosition() {
|
|
56
|
-
if (this.setHostStyle(this.placement)) {
|
|
57
|
-
this.setPlacementClass(this.placement);
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
/* Is tooltip outside the visible area */
|
|
62
|
-
const placements = ['top', 'top-left', 'top-right', 'right', 'right-top', 'right-bottom', 'bottom', 'bottom-right', 'bottom-left', 'left', 'left-top', 'left-bottom'];
|
|
63
|
-
let isPlacementSet;
|
|
64
|
-
for (const placement of placements) {
|
|
65
|
-
if (this.setHostStyle(placement)) {
|
|
66
|
-
this.setPlacementClass(placement);
|
|
67
|
-
isPlacementSet = true;
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
/* Set original placement */
|
|
72
|
-
if (!isPlacementSet) {
|
|
73
|
-
this.setHostStyle(this.placement, true);
|
|
74
|
-
this.setPlacementClass(this.placement);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
setPlacementClass(placement) {
|
|
79
|
-
this.renderer.addClass(this.elementRef.nativeElement, 'tooltip-' + placement);
|
|
80
|
-
}
|
|
81
|
-
setHostStyle(placement, disableAutoPlacement = false) {
|
|
82
|
-
const isSvg = this.element instanceof SVGElement;
|
|
83
|
-
const tooltip = this.elementRef.nativeElement;
|
|
84
|
-
const isCustomPosition = !this.elementPosition.right;
|
|
85
|
-
let elementHeight = isSvg ? this.element.getBoundingClientRect().height : this.element.offsetHeight;
|
|
86
|
-
let elementWidth = isSvg ? this.element.getBoundingClientRect().width : this.element.offsetWidth;
|
|
87
|
-
const tooltipHeight = tooltip.clientHeight;
|
|
88
|
-
const tooltipWidth = tooltip.clientWidth;
|
|
89
|
-
const scrollY = window.pageYOffset;
|
|
90
|
-
if (isCustomPosition) {
|
|
91
|
-
elementHeight = 0;
|
|
92
|
-
elementWidth = 0;
|
|
93
|
-
}
|
|
94
|
-
let topStyle;
|
|
95
|
-
let leftStyle;
|
|
96
|
-
switch (placement) {
|
|
97
|
-
case 'top':
|
|
98
|
-
topStyle = (this.elementPosition.top + scrollY) - (tooltipHeight + this.tooltipOffset);
|
|
99
|
-
leftStyle = (this.elementPosition.left + elementWidth / 2) - tooltipWidth / 2;
|
|
100
|
-
break;
|
|
101
|
-
case 'top-left':
|
|
102
|
-
topStyle = (this.elementPosition.top + scrollY) - (tooltipHeight + this.tooltipOffset);
|
|
103
|
-
leftStyle = (this.elementPosition.left + elementWidth / 2) - (tooltipWidth * 0.1);
|
|
104
|
-
break;
|
|
105
|
-
case 'top-right':
|
|
106
|
-
topStyle = (this.elementPosition.top + scrollY) - (tooltipHeight + this.tooltipOffset);
|
|
107
|
-
leftStyle = (this.elementPosition.left + elementWidth / 2) - (tooltipWidth * 0.9);
|
|
108
|
-
break;
|
|
109
|
-
case 'bottom':
|
|
110
|
-
topStyle = (this.elementPosition.top + scrollY) + elementHeight + this.tooltipOffset;
|
|
111
|
-
leftStyle = (this.elementPosition.left + elementWidth / 2) - tooltipWidth / 2;
|
|
112
|
-
break;
|
|
113
|
-
case 'bottom-left':
|
|
114
|
-
topStyle = (this.elementPosition.top + scrollY) + elementHeight + this.tooltipOffset;
|
|
115
|
-
leftStyle = (this.elementPosition.left + elementWidth / 2) - (tooltipWidth * 0.1);
|
|
116
|
-
break;
|
|
117
|
-
case 'bottom-right':
|
|
118
|
-
topStyle = (this.elementPosition.top + scrollY) + elementHeight + this.tooltipOffset;
|
|
119
|
-
leftStyle = (this.elementPosition.left + elementWidth / 2) - (tooltipWidth * 0.9);
|
|
120
|
-
break;
|
|
121
|
-
case 'left':
|
|
122
|
-
leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset;
|
|
123
|
-
topStyle = (this.elementPosition.top + scrollY) + elementHeight / 2 - tooltipHeight / 2;
|
|
124
|
-
break;
|
|
125
|
-
case 'left-top':
|
|
126
|
-
leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset;
|
|
127
|
-
topStyle = (this.elementPosition.top + scrollY + elementHeight / 2) - (tooltipHeight * 0.1);
|
|
128
|
-
break;
|
|
129
|
-
case 'left-bottom':
|
|
130
|
-
leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset;
|
|
131
|
-
topStyle = (this.elementPosition.top + scrollY + elementHeight / 2) - (tooltipHeight * 0.9);
|
|
132
|
-
break;
|
|
133
|
-
case 'right':
|
|
134
|
-
leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset;
|
|
135
|
-
topStyle = (this.elementPosition.top + scrollY) + elementHeight / 2 - tooltipHeight / 2;
|
|
136
|
-
break;
|
|
137
|
-
case 'right-top':
|
|
138
|
-
leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset;
|
|
139
|
-
topStyle = (this.elementPosition.top + scrollY + elementHeight / 2) - (tooltipHeight * 0.1);
|
|
140
|
-
break;
|
|
141
|
-
case 'right-bottom':
|
|
142
|
-
leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset;
|
|
143
|
-
topStyle = (this.elementPosition.top + scrollY + elementHeight / 2) - (tooltipHeight * 0.9);
|
|
144
|
-
break;
|
|
145
|
-
default:
|
|
146
|
-
return false;
|
|
147
|
-
}
|
|
148
|
-
/* Is tooltip outside the visible area */
|
|
149
|
-
if (this.autoPlacement && !disableAutoPlacement) {
|
|
150
|
-
const topEdge = topStyle;
|
|
151
|
-
const bottomEdge = topStyle + tooltipHeight;
|
|
152
|
-
const leftEdge = leftStyle;
|
|
153
|
-
const rightEdge = leftStyle + tooltipWidth;
|
|
154
|
-
const bodyHeight = window.innerHeight + scrollY;
|
|
155
|
-
const bodyWidth = document.body.clientWidth;
|
|
156
|
-
if (topEdge < 0 || bottomEdge > bodyHeight || leftEdge < 0 || rightEdge > bodyWidth) {
|
|
157
|
-
return false;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
this.hostStyleTop = topStyle + 'px';
|
|
161
|
-
this.hostStyleLeft = leftStyle + 'px';
|
|
162
|
-
return true;
|
|
163
|
-
}
|
|
164
|
-
setZIndex() {
|
|
165
|
-
if (this.options['zIndex'] !== 0) {
|
|
166
|
-
this.hostStyleZIndex = this.options['zIndex'];
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
setPointerEvents() {
|
|
170
|
-
if (this.options['pointerEvents']) {
|
|
171
|
-
this.hostStylePointerEvents = this.options['pointerEvents'];
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
setCustomClass() {
|
|
175
|
-
if (this.options['tooltipClass']) {
|
|
176
|
-
this.options['tooltipClass'].split(' ').forEach((className) => {
|
|
177
|
-
this.renderer.addClass(this.elementRef.nativeElement, className);
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
setAnimationDuration() {
|
|
182
|
-
if (Number(this.options['animationDuration']) != this.options['animationDurationDefault']) {
|
|
183
|
-
this.hostStyleTransition = 'opacity ' + this.options['animationDuration'] + 'ms';
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
setStyles() {
|
|
187
|
-
this.setZIndex();
|
|
188
|
-
this.setPointerEvents();
|
|
189
|
-
this.setAnimationDuration();
|
|
190
|
-
this.hostClassShadow = this.options['shadow'];
|
|
191
|
-
this.hostClassLight = this.isThemeLight;
|
|
192
|
-
this.hostStyleMaxWidth = this.options['maxWidth'];
|
|
193
|
-
this.hostStyleWidth = this.options['width'] ? this.options['width'] : '';
|
|
194
|
-
}
|
|
195
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTooltipComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
196
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityTooltipComponent, selector: "tooltip", inputs: { data: "data", show: "show" }, host: { listeners: { "transitionend": "transitionEnd($event)" }, properties: { "style.top": "this.hostStyleTop", "style.left": "this.hostStyleLeft", "style.z-index": "this.hostStyleZIndex", "style.transition": "this.hostStyleTransition", "style.width": "this.hostStyleWidth", "style.max-width": "this.hostStyleMaxWidth", "style.pointer-events": "this.hostStylePointerEvents", "class.tooltip-show": "this.hostClassShow", "class.tooltip-shadow": "this.hostClassShadow", "class.tooltip-light": "this.hostClassLight" }, classAttribute: "tooltip" }, ngImport: i0, template: "<div *ngIf=\"isThemeLight\" class=\"tooltip-arrow\"></div>\n\n<div *ngIf=\"options['contentType'] === 'template' else htmlOrStringTemplate\">\n <ng-container *ngTemplateOutlet=\"value\"></ng-container>\n</div>\n\n<ng-template #htmlOrStringTemplate>\n <div [innerHTML]=\"value\"></div>\n</ng-template>\n", styles: [":host{max-width:200px;background-color:var(--bg-tooltip-primary);color:var(--on-bg-tooltip-primary);text-align:center;border-radius:6px;padding:5px 8px;position:absolute;pointer-events:none;z-index:1000;display:block;opacity:0;transition:opacity .3s;top:0;left:0}:host.tooltip-show{opacity:1}:host.tooltip-shadow{box-shadow:0 7px 15px -5px #0006}:host.tooltip-light.tooltip-shadow{box-shadow:0 5px 15px -5px #0006}:host.tooltip:after{content:\"\";position:absolute;border-style:solid}:host.tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-top-left:after{top:100%;left:10%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-top-right:after{top:100%;left:90%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-bottom-left:after{bottom:100%;left:10%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-bottom-right:after{bottom:100%;left:90%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-left-top:after{top:10%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-left-bottom:after{top:90%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-right-top:after{top:10%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-right-bottom:after{top:90%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-light:after{display:none}:host.tooltip-light{border:1px solid rgba(0,0,0,.06);background-color:#fff;color:#000}:host.tooltip-light .tooltip-arrow{position:absolute;width:10px;height:10px;transform:rotate(135deg);background-color:#00000012}:host.tooltip-light .tooltip-arrow:after{background-color:#fff;content:\"\";display:block;position:absolute;width:10px;height:10px}:host.tooltip-top.tooltip-light{margin-top:-2px}:host.tooltip-top.tooltip-light .tooltip-arrow{top:100%;left:50%;margin-top:-4px;margin-left:-5px;background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-top.tooltip-light .tooltip-arrow:after{top:1px;right:1px}:host.tooltip-bottom.tooltip-light .tooltip-arrow{bottom:100%;left:50%;margin-bottom:-4px;margin-left:-5px;background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 50%)}:host.tooltip-bottom.tooltip-light .tooltip-arrow:after{top:-1px;right:-1px}:host.tooltip-left.tooltip-light .tooltip-arrow{top:50%;left:100%;margin-top:-5px;margin-left:-4px;background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-left.tooltip-light .tooltip-arrow:after{top:1px;right:-1px}:host.tooltip-right.tooltip-light .tooltip-arrow{top:50%;right:100%;margin-top:-5px;margin-right:-4px;background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-right.tooltip-light .tooltip-arrow:after{top:-1px;right:1px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
197
|
-
}
|
|
198
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTooltipComponent, decorators: [{
|
|
199
|
-
type: Component,
|
|
200
|
-
args: [{ selector: 'tooltip', host: { 'class': 'tooltip' }, standalone: false, template: "<div *ngIf=\"isThemeLight\" class=\"tooltip-arrow\"></div>\n\n<div *ngIf=\"options['contentType'] === 'template' else htmlOrStringTemplate\">\n <ng-container *ngTemplateOutlet=\"value\"></ng-container>\n</div>\n\n<ng-template #htmlOrStringTemplate>\n <div [innerHTML]=\"value\"></div>\n</ng-template>\n", styles: [":host{max-width:200px;background-color:var(--bg-tooltip-primary);color:var(--on-bg-tooltip-primary);text-align:center;border-radius:6px;padding:5px 8px;position:absolute;pointer-events:none;z-index:1000;display:block;opacity:0;transition:opacity .3s;top:0;left:0}:host.tooltip-show{opacity:1}:host.tooltip-shadow{box-shadow:0 7px 15px -5px #0006}:host.tooltip-light.tooltip-shadow{box-shadow:0 5px 15px -5px #0006}:host.tooltip:after{content:\"\";position:absolute;border-style:solid}:host.tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-top-left:after{top:100%;left:10%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-top-right:after{top:100%;left:90%;margin-left:-5px;border-width:5px;border-color:var(--bg-tooltip-primary) transparent transparent transparent}:host.tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-bottom-left:after{bottom:100%;left:10%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-bottom-right:after{bottom:100%;left:90%;margin-left:-5px;border-width:5px;border-color:transparent transparent var(--bg-tooltip-primary) transparent}:host.tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-left-top:after{top:10%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-left-bottom:after{top:90%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--bg-tooltip-primary)}:host.tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-right-top:after{top:10%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-right-bottom:after{top:90%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent var(--bg-tooltip-primary) transparent transparent}:host.tooltip-light:after{display:none}:host.tooltip-light{border:1px solid rgba(0,0,0,.06);background-color:#fff;color:#000}:host.tooltip-light .tooltip-arrow{position:absolute;width:10px;height:10px;transform:rotate(135deg);background-color:#00000012}:host.tooltip-light .tooltip-arrow:after{background-color:#fff;content:\"\";display:block;position:absolute;width:10px;height:10px}:host.tooltip-top.tooltip-light{margin-top:-2px}:host.tooltip-top.tooltip-light .tooltip-arrow{top:100%;left:50%;margin-top:-4px;margin-left:-5px;background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-top.tooltip-light .tooltip-arrow:after{top:1px;right:1px}:host.tooltip-bottom.tooltip-light .tooltip-arrow{bottom:100%;left:50%;margin-bottom:-4px;margin-left:-5px;background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 50%)}:host.tooltip-bottom.tooltip-light .tooltip-arrow:after{top:-1px;right:-1px}:host.tooltip-left.tooltip-light .tooltip-arrow{top:50%;left:100%;margin-top:-5px;margin-left:-4px;background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-left.tooltip-light .tooltip-arrow:after{top:1px;right:-1px}:host.tooltip-right.tooltip-light .tooltip-arrow{top:50%;right:100%;margin-top:-5px;margin-right:-4px;background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 50%)}:host.tooltip-right.tooltip-light .tooltip-arrow:after{top:-1px;right:1px}\n"] }]
|
|
201
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { data: [{
|
|
202
|
-
type: Input
|
|
203
|
-
}], hostStyleTop: [{
|
|
204
|
-
type: HostBinding,
|
|
205
|
-
args: ['style.top']
|
|
206
|
-
}], hostStyleLeft: [{
|
|
207
|
-
type: HostBinding,
|
|
208
|
-
args: ['style.left']
|
|
209
|
-
}], hostStyleZIndex: [{
|
|
210
|
-
type: HostBinding,
|
|
211
|
-
args: ['style.z-index']
|
|
212
|
-
}], hostStyleTransition: [{
|
|
213
|
-
type: HostBinding,
|
|
214
|
-
args: ['style.transition']
|
|
215
|
-
}], hostStyleWidth: [{
|
|
216
|
-
type: HostBinding,
|
|
217
|
-
args: ['style.width']
|
|
218
|
-
}], hostStyleMaxWidth: [{
|
|
219
|
-
type: HostBinding,
|
|
220
|
-
args: ['style.max-width']
|
|
221
|
-
}], hostStylePointerEvents: [{
|
|
222
|
-
type: HostBinding,
|
|
223
|
-
args: ['style.pointer-events']
|
|
224
|
-
}], hostClassShow: [{
|
|
225
|
-
type: HostBinding,
|
|
226
|
-
args: ['class.tooltip-show']
|
|
227
|
-
}], hostClassShadow: [{
|
|
228
|
-
type: HostBinding,
|
|
229
|
-
args: ['class.tooltip-shadow']
|
|
230
|
-
}], hostClassLight: [{
|
|
231
|
-
type: HostBinding,
|
|
232
|
-
args: ['class.tooltip-light']
|
|
233
|
-
}], transitionEnd: [{
|
|
234
|
-
type: HostListener,
|
|
235
|
-
args: ['transitionend', ['$event']]
|
|
236
|
-
}], show: [{
|
|
237
|
-
type: Input
|
|
238
|
-
}] } });
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS10b29sdGlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL3ZlbmRvci9ncmF2aXR5LXRvb2x0aXAvZ3Jhdml0eS10b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL3ZlbmRvci9ncmF2aXR5LXRvb2x0aXAvZ3Jhdml0eS10b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQzs7O0FBVXZILE1BQU0sT0FBTyx1QkFBdUI7SUFrQmxDLGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDZixJQUFJLEVBQUUsT0FBTzthQUNkLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELElBQWEsSUFBSSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEs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QUMsUUFBUSxDQUFDO2dCQVM1QixJQUFJO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0b29sdGlwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ3Jhdml0eS10b29sdGlwLmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7ICdjbGFzcyc6ICd0b29sdGlwJyB9LFxuICAgIHN0eWxlVXJsczogWycuL2dyYXZpdHktdG9vbHRpcC5jb21wb25lbnQuc2FzcyddLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuXG5leHBvcnQgY2xhc3MgR3Jhdml0eVRvb2x0aXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBfc2hvdzogYm9vbGVhbiA9IGZhbHNlO1xuICBldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCkgZGF0YTogYW55O1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUudG9wJykgaG9zdFN0eWxlVG9wITogc3RyaW5nO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmxlZnQnKSBob3N0U3R5bGVMZWZ0ITogc3RyaW5nO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnotaW5kZXgnKSBob3N0U3R5bGVaSW5kZXghOiBudW1iZXI7XG4gIEBIb3N0QmluZGluZygnc3R5bGUudHJhbnNpdGlvbicpIGhvc3RTdHlsZVRyYW5zaXRpb24hOiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKSBob3N0U3R5bGVXaWR0aCE6IHN0cmluZztcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKSBob3N0U3R5bGVNYXhXaWR0aCE6IHN0cmluZztcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb2ludGVyLWV2ZW50cycpIGhvc3RTdHlsZVBvaW50ZXJFdmVudHMhOiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MudG9vbHRpcC1zaG93JykgaG9zdENsYXNzU2hvdyE6IGJvb2xlYW47XG4gIEBIb3N0QmluZGluZygnY2xhc3MudG9vbHRpcC1zaGFkb3cnKSBob3N0Q2xhc3NTaGFkb3chOiBib29sZWFuO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRvb2x0aXAtbGlnaHQnKSBob3N0Q2xhc3NMaWdodCE6IGJvb2xlYW47XG5cbiAgQEhvc3RMaXN0ZW5lcigndHJhbnNpdGlvbmVuZCcsIFsnJGV2ZW50J10pXG4gIHRyYW5zaXRpb25FbmQoKSB7XG4gICAgaWYgKHRoaXMuc2hvdykge1xuICAgICAgdGhpcy5ldmVudHMuZW1pdCh7XG4gICAgICAgIHR5cGU6ICdzaG93bidcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBzaG93KHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gICAgfVxuICAgIHRoaXMuX3Nob3cgPSB0aGlzLmhvc3RDbGFzc1Nob3cgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBzaG93KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zaG93O1xuICB9XG5cbiAgZ2V0IHBsYWNlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLm9wdGlvbnMucGxhY2VtZW50O1xuICB9XG5cbiAgZ2V0IGF1dG9QbGFjZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YS5vcHRpb25zLmF1dG9QbGFjZW1lbnQ7XG4gIH1cblxuICBnZXQgZWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLmVsZW1lbnQ7XG4gIH1cblxuICBnZXQgZWxlbWVudFBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEuZWxlbWVudFBvc2l0aW9uO1xuICB9XG5cbiAgZ2V0IG9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YS5vcHRpb25zO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEudmFsdWU7XG4gIH1cblxuICBnZXQgdG9vbHRpcE9mZnNldCgpOiBudW1iZXIge1xuICAgIHJldHVybiBOdW1iZXIodGhpcy5kYXRhLm9wdGlvbnMub2Zmc2V0KTtcbiAgfVxuXG4gIGdldCBpc1RoZW1lTGlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uc1sndGhlbWUnXSA9PT0gJ2xpZ2h0JztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldEN1c3RvbUNsYXNzKCk7XG4gICAgdGhpcy5zZXRTdHlsZXMoKTtcbiAgfVxuXG4gIHNldFBvc2l0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNldEhvc3RTdHlsZSh0aGlzLnBsYWNlbWVudCkpIHtcbiAgICAgIHRoaXMuc2V0UGxhY2VtZW50Q2xhc3ModGhpcy5wbGFjZW1lbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICAvKiBJcyB0b29sdGlwIG91dHNpZGUgdGhlIHZpc2libGUgYXJlYSAqL1xuICAgICAgY29uc3QgcGxhY2VtZW50cyA9IFsndG9wJywgJ3RvcC1sZWZ0JywgJ3RvcC1yaWdodCcsICdyaWdodCcsICdyaWdodC10b3AnLCAncmlnaHQtYm90dG9tJywgJ2JvdHRvbScsICdib3R0b20tcmlnaHQnLCAnYm90dG9tLWxlZnQnLCAnbGVmdCcsICdsZWZ0LXRvcCcsICdsZWZ0LWJvdHRvbSddO1xuICAgICAgbGV0IGlzUGxhY2VtZW50U2V0O1xuXG4gICAgICBmb3IgKGNvbnN0IHBsYWNlbWVudCBvZiBwbGFjZW1lbnRzKSB7XG4gICAgICAgIGlmICh0aGlzLnNldEhvc3RTdHlsZShwbGFjZW1lbnQpKSB7XG4gICAgICAgICAgdGhpcy5zZXRQbGFjZW1lbnRDbGFzcyhwbGFjZW1lbnQpO1xuICAgICAgICAgIGlzUGxhY2VtZW50U2V0ID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLyogU2V0IG9yaWdpbmFsIHBsYWNlbWVudCAqL1xuICAgICAgaWYgKCFpc1BsYWNlbWVudFNldCkge1xuICAgICAgICB0aGlzLnNldEhvc3RTdHlsZSh0aGlzLnBsYWNlbWVudCwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuc2V0UGxhY2VtZW50Q2xhc3ModGhpcy5wbGFjZW1lbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgc2V0UGxhY2VtZW50Q2xhc3MocGxhY2VtZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG9vbHRpcC0nICsgcGxhY2VtZW50KTtcbiAgfVxuXG4gIHNldEhvc3RTdHlsZShwbGFjZW1lbnQ6IHN0cmluZywgZGlzYWJsZUF1dG9QbGFjZW1lbnQ6IGJvb2xlYW4gPSBmYWxzZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzU3ZnID0gdGhpcy5lbGVtZW50IGluc3RhbmNlb2YgU1ZHRWxlbWVudDtcbiAgICBjb25zdCB0b29sdGlwID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgaXNDdXN0b21Qb3NpdGlvbiA9ICF0aGlzLmVsZW1lbnRQb3NpdGlvbi5yaWdodDtcblxuICAgIGxldCBlbGVtZW50SGVpZ2h0ID0gaXNTdmcgPyB0aGlzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0IDogdGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICBsZXQgZWxlbWVudFdpZHRoID0gaXNTdmcgPyB0aGlzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggOiB0aGlzLmVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgY29uc3QgdG9vbHRpcEhlaWdodCA9IHRvb2x0aXAuY2xpZW50SGVpZ2h0O1xuICAgIGNvbnN0IHRvb2x0aXBXaWR0aCA9IHRvb2x0aXAuY2xpZW50V2lkdGg7XG4gICAgY29uc3Qgc2Nyb2xsWSA9IHdpbmRvdy5wYWdlWU9mZnNldDtcblxuICAgIGlmIChpc0N1c3RvbVBvc2l0aW9uKSB7XG4gICAgICBlbGVtZW50SGVpZ2h0ID0gMDtcbiAgICAgIGVsZW1lbnRXaWR0aCA9IDA7XG4gICAgfVxuXG4gICAgbGV0IHRvcFN0eWxlO1xuICAgIGxldCBsZWZ0U3R5bGU7XG5cbiAgICBzd2l0Y2ggKHBsYWNlbWVudCkge1xuICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgdG9wU3R5bGUgPSAodGhpcy5lbGVtZW50UG9zaXRpb24udG9wICsgc2Nyb2xsWSkgLSAodG9vbHRpcEhlaWdodCArIHRoaXMudG9vbHRpcE9mZnNldCk7XG4gICAgICAgIGxlZnRTdHlsZSA9ICh0aGlzLmVsZW1lbnRQb3NpdGlvbi5sZWZ0ICsgZWxlbWVudFdpZHRoIC8gMikgLSB0b29sdGlwV2lkdGggLyAyO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RvcC1sZWZ0JzpcbiAgICAgICAgdG9wU3R5bGUgPSAodGhpcy5lbGVtZW50UG9zaXRpb24udG9wICsgc2Nyb2xsWSkgLSAodG9vbHRpcEhlaWdodCArIHRoaXMudG9vbHRpcE9mZnNldCk7XG4gICAgICAgIGxlZnRTdHlsZSA9ICh0aGlzLmVsZW1lbnRQb3NpdGlvbi5sZWZ0ICsgZWxlbWVudFdpZHRoIC8gMikgLSAodG9vbHRpcFdpZHRoICogMC4xKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0b3AtcmlnaHQnOlxuICAgICAgICB0b3BTdHlsZSA9ICh0aGlzLmVsZW1lbnRQb3NpdGlvbi50b3AgKyBzY3JvbGxZKSAtICh0b29sdGlwSGVpZ2h0ICsgdGhpcy50b29sdGlwT2Zmc2V0KTtcbiAgICAgICAgbGVmdFN0eWxlID0gKHRoaXMuZWxlbWVudFBvc2l0aW9uLmxlZnQgKyBlbGVtZW50V2lkdGggLyAyKSAtICh0b29sdGlwV2lkdGggKiAwLjkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIHRvcFN0eWxlID0gKHRoaXMuZWxlbWVudFBvc2l0aW9uLnRvcCArIHNjcm9sbFkpICsgZWxlbWVudEhlaWdodCArIHRoaXMudG9vbHRpcE9mZnNldDtcbiAgICAgICAgbGVmdFN0eWxlID0gKHRoaXMuZWxlbWVudFBvc2l0aW9uLmxlZnQgKyBlbGVtZW50V2lkdGggLyAyKSAtIHRvb2x0aXBXaWR0aCAvIDI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYm90dG9tLWxlZnQnOlxuICAgICAgICB0b3BTdHlsZSA9ICh0aGlzLmVsZW1lbnRQb3NpdGlvbi50b3AgKyBzY3JvbGxZKSArIGVsZW1lbnRIZWlnaHQgKyB0aGlzLnRvb2x0aXBPZmZzZXQ7XG4gICAgICAgIGxlZnRTdHlsZSA9ICh0aGlzLmVsZW1lbnRQb3NpdGlvbi5sZWZ0ICsgZWxlbWVudFdpZHRoIC8gMikgLSAodG9vbHRpcFdpZHRoICogMC4xKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdib3R0b20tcmlnaHQnOlxuICAgICAgICB0b3BTdHlsZSA9ICh0aGlzLmVsZW1lbnRQb3NpdGlvbi50b3AgKyBzY3JvbGxZKSArIGVsZW1lbnRIZWlnaHQgKyB0aGlzLnRvb2x0aXBPZmZzZXQ7XG4gICAgICAgIGxlZnRTdHlsZSA9ICh0aGlzLmVsZW1lbnRQb3NpdGlvbi5sZWZ0ICsgZWxlbWVudFdpZHRoIC8gMikgLSAodG9vbHRpcFdpZHRoICogMC45KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgbGVmdFN0eWxlID0gdGhpcy5lbGVtZW50UG9zaXRpb24ubGVmdCAtIHRvb2x0aXBXaWR0aCAtIHRoaXMudG9vbHRpcE9mZnNldDtcbiAgICAgICAgdG9wU3R5bGUgPSAodGhpcy5lbGVtZW50UG9zaXRpb24udG9wICsgc2Nyb2xsWSkgKyBlbGVtZW50SGVpZ2h0IC8gMiAtIHRvb2x0aXBIZWlnaHQgLyAyO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2xlZnQtdG9wJzpcbiAgICAgICAgbGVmdFN0eWxlID0gdGhpcy5lbGVtZW50UG9zaXRpb24ubGVmdCAtIHRvb2x0aXBXaWR0aCAtIHRoaXMudG9vbHRpcE9mZnNldDtcbiAgICAgICAgdG9wU3R5bGUgPSAodGhpcy5lbGVtZW50UG9zaXRpb24udG9wICsgc2Nyb2xsWSArIGVsZW1lbnRIZWlnaHQgLyAyKSAtICh0b29sdGlwSGVpZ2h0ICogMC4xKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdsZWZ0LWJvdHRvbSc6XG4gICAgICAgIGxlZnRTdHlsZSA9IHRoaXMuZWxlbWVudFBvc2l0aW9uLmxlZnQgLSB0b29sdGlwV2lkdGggLSB0aGlzLnRvb2x0aXBPZmZzZXQ7XG4gICAgICAgIHRvcFN0eWxlID0gKHRoaXMuZWxlbWVudFBvc2l0aW9uLnRvcCArIHNjcm9sbFkgKyBlbGVtZW50SGVpZ2h0IC8gMikgLSAodG9vbHRpcEhlaWdodCAqIDAuOSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICBsZWZ0U3R5bGUgPSB0aGlzLmVsZW1lbnRQb3NpdGlvbi5sZWZ0ICsgZWxlbWVudFdpZHRoICsgdGhpcy50b29sdGlwT2Zmc2V0O1xuICAgICAgICB0b3BTdHlsZSA9ICh0aGlzLmVsZW1lbnRQb3NpdGlvbi50b3AgKyBzY3JvbGxZKSArIGVsZW1lbnRIZWlnaHQgLyAyIC0gdG9vbHRpcEhlaWdodCAvIDI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmlnaHQtdG9wJzpcbiAgICAgICAgbGVmdFN0eWxlID0gdGhpcy5lbGVtZW50UG9zaXRpb24ubGVmdCArIGVsZW1lbnRXaWR0aCArIHRoaXMudG9vbHRpcE9mZnNldDtcbiAgICAgICAgdG9wU3R5bGUgPSAodGhpcy5lbGVtZW50UG9zaXRpb24udG9wICsgc2Nyb2xsWSArIGVsZW1lbnRIZWlnaHQgLyAyKSAtICh0b29sdGlwSGVpZ2h0ICogMC4xKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdyaWdodC1ib3R0b20nOlxuICAgICAgICBsZWZ0U3R5bGUgPSB0aGlzLmVsZW1lbnRQb3NpdGlvbi5sZWZ0ICsgZWxlbWVudFdpZHRoICsgdGhpcy50b29sdGlwT2Zmc2V0O1xuICAgICAgICB0b3BTdHlsZSA9ICh0aGlzLmVsZW1lbnRQb3NpdGlvbi50b3AgKyBzY3JvbGxZICsgZWxlbWVudEhlaWdodCAvIDIpIC0gKHRvb2x0aXBIZWlnaHQgKiAwLjkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKiBJcyB0b29sdGlwIG91dHNpZGUgdGhlIHZpc2libGUgYXJlYSAqL1xuICAgIGlmICh0aGlzLmF1dG9QbGFjZW1lbnQgJiYgIWRpc2FibGVBdXRvUGxhY2VtZW50KSB7XG4gICAgICBjb25zdCB0b3BFZGdlID0gdG9wU3R5bGU7XG4gICAgICBjb25zdCBib3R0b21FZGdlID0gdG9wU3R5bGUgKyB0b29sdGlwSGVpZ2h0O1xuICAgICAgY29uc3QgbGVmdEVkZ2UgPSBsZWZ0U3R5bGU7XG4gICAgICBjb25zdCByaWdodEVkZ2UgPSBsZWZ0U3R5bGUgKyB0b29sdGlwV2lkdGg7XG4gICAgICBjb25zdCBib2R5SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0ICsgc2Nyb2xsWTtcbiAgICAgIGNvbnN0IGJvZHlXaWR0aCA9IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGg7XG5cbiAgICAgIGlmICh0b3BFZGdlIDwgMCB8fCBib3R0b21FZGdlID4gYm9keUhlaWdodCB8fCBsZWZ0RWRnZSA8IDAgfHwgcmlnaHRFZGdlID4gYm9keVdpZHRoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmhvc3RTdHlsZVRvcCA9IHRvcFN0eWxlICsgJ3B4JztcbiAgICB0aGlzLmhvc3RTdHlsZUxlZnQgPSBsZWZ0U3R5bGUgKyAncHgnO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgc2V0WkluZGV4KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9wdGlvbnNbJ3pJbmRleCddICE9PSAwKSB7XG4gICAgICB0aGlzLmhvc3RTdHlsZVpJbmRleCA9IHRoaXMub3B0aW9uc1snekluZGV4J107XG4gICAgfVxuICB9XG5cbiAgc2V0UG9pbnRlckV2ZW50cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcHRpb25zWydwb2ludGVyRXZlbnRzJ10pIHtcbiAgICAgIHRoaXMuaG9zdFN0eWxlUG9pbnRlckV2ZW50cyA9IHRoaXMub3B0aW9uc1sncG9pbnRlckV2ZW50cyddO1xuICAgIH1cbiAgfVxuXG4gIHNldEN1c3RvbUNsYXNzKCkge1xuICAgIGlmICh0aGlzLm9wdGlvbnNbJ3Rvb2x0aXBDbGFzcyddKSB7XG4gICAgICB0aGlzLm9wdGlvbnNbJ3Rvb2x0aXBDbGFzcyddLnNwbGl0KCcgJykuZm9yRWFjaCgoY2xhc3NOYW1lOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldEFuaW1hdGlvbkR1cmF0aW9uKCkge1xuICAgIGlmIChOdW1iZXIodGhpcy5vcHRpb25zWydhbmltYXRpb25EdXJhdGlvbiddKSAhPSB0aGlzLm9wdGlvbnNbJ2FuaW1hdGlvbkR1cmF0aW9uRGVmYXVsdCddKSB7XG4gICAgICB0aGlzLmhvc3RTdHlsZVRyYW5zaXRpb24gPSAnb3BhY2l0eSAnICsgdGhpcy5vcHRpb25zWydhbmltYXRpb25EdXJhdGlvbiddICsgJ21zJztcbiAgICB9XG4gIH1cblxuICBzZXRTdHlsZXMoKSB7XG4gICAgdGhpcy5zZXRaSW5kZXgoKTtcbiAgICB0aGlzLnNldFBvaW50ZXJFdmVudHMoKTtcbiAgICB0aGlzLnNldEFuaW1hdGlvbkR1cmF0aW9uKCk7XG5cbiAgICB0aGlzLmhvc3RDbGFzc1NoYWRvdyA9IHRoaXMub3B0aW9uc1snc2hhZG93J107XG4gICAgdGhpcy5ob3N0Q2xhc3NMaWdodCA9IHRoaXMuaXNUaGVtZUxpZ2h0O1xuICAgIHRoaXMuaG9zdFN0eWxlTWF4V2lkdGggPSB0aGlzLm9wdGlvbnNbJ21heFdpZHRoJ107XG4gICAgdGhpcy5ob3N0U3R5bGVXaWR0aCA9IHRoaXMub3B0aW9uc1snd2lkdGgnXSA/IHRoaXMub3B0aW9uc1snd2lkdGgnXSA6ICcnO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiaXNUaGVtZUxpZ2h0XCIgY2xhc3M9XCJ0b29sdGlwLWFycm93XCI+PC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJvcHRpb25zWydjb250ZW50VHlwZSddID09PSAndGVtcGxhdGUnIGVsc2UgaHRtbE9yU3RyaW5nVGVtcGxhdGVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInZhbHVlXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNodG1sT3JTdHJpbmdUZW1wbGF0ZT5cbiAgPGRpdiBbaW5uZXJIVE1MXT1cInZhbHVlXCI+PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|