@bravura/ui 1.21.10 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -5
- package/README.md +1 -2
- package/alert/alert-container.component.d.ts +1 -1
- package/alert/alert-message.component.d.ts +1 -1
- package/alert/{bravura-ui-alert.d.ts → index.d.ts} +0 -0
- package/behavior/await.directive.d.ts +1 -1
- package/behavior/{bravura-ui-behavior.d.ts → index.d.ts} +0 -0
- package/behavior/sizing-monitor.directive.d.ts +1 -1
- package/behavior/sizing.directive.d.ts +1 -1
- package/common/{bravura-ui-common.d.ts → index.d.ts} +0 -0
- package/currency-input/currency-input.directive.d.ts +1 -1
- package/currency-input/{bravura-ui-currency-input.d.ts → index.d.ts} +0 -0
- package/decimal-input/decimal-input.directive.d.ts +1 -1
- package/decimal-input/{bravura-ui-decimal-input.d.ts → index.d.ts} +0 -0
- package/discrete-input/discrete-input.component.d.ts +6 -5
- package/discrete-input/{bravura-ui-discrete-input.d.ts → index.d.ts} +0 -0
- package/esm2020/alert/alert-container.component.mjs +201 -0
- package/esm2020/alert/alert-message.component.mjs +92 -0
- package/esm2020/alert/alert.module.mjs +22 -0
- package/{esm2015/alert/bravura-ui-alert.js → esm2020/alert/bravura-ui-alert.mjs} +0 -0
- package/{esm2015/alert/public-api.js → esm2020/alert/public-api.mjs} +0 -0
- package/{esm2015/behavior/await.directive.js → esm2020/behavior/await.directive.mjs} +4 -4
- package/esm2020/behavior/behavior.module.mjs +25 -0
- package/{esm2015/behavior/bravura-ui-behavior.js → esm2020/behavior/bravura-ui-behavior.mjs} +0 -0
- package/{esm2015/behavior/public-api.js → esm2020/behavior/public-api.mjs} +0 -0
- package/{esm2015/behavior/sizing-monitor.directive.js → esm2020/behavior/sizing-monitor.directive.mjs} +4 -4
- package/{esm2015/behavior/sizing.directive.js → esm2020/behavior/sizing.directive.mjs} +4 -4
- package/{esm2015/bravura-ui.js → esm2020/bravura-ui.mjs} +0 -0
- package/{esm2015/common/bravura-ui-common.js → esm2020/common/bravura-ui-common.mjs} +0 -0
- package/{esm2015/common/common-utils.js → esm2020/common/common-utils.mjs} +0 -0
- package/esm2020/common/common.module.mjs +52 -0
- package/{esm2015/common/public-api.js → esm2020/common/public-api.mjs} +0 -0
- package/{esm2015/currency-input/bravura-ui-currency-input.js → esm2020/currency-input/bravura-ui-currency-input.mjs} +0 -0
- package/esm2020/currency-input/currency-input.directive.mjs +279 -0
- package/esm2020/currency-input/currency-input.module.mjs +19 -0
- package/{esm2015/currency-input/public-api.js → esm2020/currency-input/public-api.mjs} +0 -0
- package/{esm2015/decimal-input/bravura-ui-decimal-input.js → esm2020/decimal-input/bravura-ui-decimal-input.mjs} +0 -0
- package/{esm2015/decimal-input/decimal-input.directive.js → esm2020/decimal-input/decimal-input.directive.mjs} +4 -4
- package/esm2020/decimal-input/decimal-input.module.mjs +19 -0
- package/{esm2015/decimal-input/public-api.js → esm2020/decimal-input/public-api.mjs} +0 -0
- package/{esm2015/discrete-input/bravura-ui-discrete-input.js → esm2020/discrete-input/bravura-ui-discrete-input.mjs} +0 -0
- package/esm2020/discrete-input/discrete-input.component.mjs +326 -0
- package/esm2020/discrete-input/discrete-input.module.mjs +21 -0
- package/{esm2015/discrete-input/public-api.js → esm2020/discrete-input/public-api.mjs} +0 -0
- package/{esm2015/file-upload/bravura-ui-file-upload.js → esm2020/file-upload/bravura-ui-file-upload.mjs} +0 -0
- package/esm2020/file-upload/file-upload.component.mjs +356 -0
- package/{esm2015/file-upload/file-upload.module.js → esm2020/file-upload/file-upload.module.mjs} +11 -13
- package/{esm2015/file-upload/file-upload.service.js → esm2020/file-upload/file-upload.service.mjs} +4 -4
- package/{esm2015/file-upload/public-api.js → esm2020/file-upload/public-api.mjs} +0 -0
- package/{esm2015/form-field/bravura-ui-form-field.js → esm2020/form-field/bravura-ui-form-field.mjs} +0 -0
- package/esm2020/form-field/form-field.component.mjs +96 -0
- package/esm2020/form-field/form-field.module.mjs +20 -0
- package/{esm2015/form-field/public-api.js → esm2020/form-field/public-api.mjs} +0 -0
- package/{esm2015/icon-font/bravura-ui-icon-font.js → esm2020/icon-font/bravura-ui-icon-font.mjs} +0 -0
- package/esm2020/icon-font/icon-font.module.mjs +22 -0
- package/{esm2015/icon-font/icon.directive.js → esm2020/icon-font/icon.directive.mjs} +4 -4
- package/{esm2015/icon-font/public-api.js → esm2020/icon-font/public-api.mjs} +0 -0
- package/{esm2015/icon-font/utilities.js → esm2020/icon-font/utilities.mjs} +0 -0
- package/esm2020/panel/bravura-ui-panel.mjs +5 -0
- package/esm2020/panel/panel.component.mjs +64 -0
- package/esm2020/panel/panel.module.mjs +20 -0
- package/esm2020/panel/public-api.mjs +2 -0
- package/{esm2015/phone-number/bravura-ui-phone-number.js → esm2020/phone-number/bravura-ui-phone-number.mjs} +0 -0
- package/esm2020/phone-number/phone-number.directive.mjs +187 -0
- package/esm2020/phone-number/phone-number.module.mjs +24 -0
- package/{esm2015/phone-number/phone-number.pipe.js → esm2020/phone-number/phone-number.pipe.mjs} +4 -4
- package/{esm2015/phone-number/phone-number.validator.js → esm2020/phone-number/phone-number.validator.mjs} +4 -4
- package/{esm2015/phone-number/public-api.js → esm2020/phone-number/public-api.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/{esm2015/radio-panel/bravura-ui-radio-panel.js → esm2020/radio-panel/bravura-ui-radio-panel.mjs} +0 -0
- package/{esm2015/radio-panel/public-api.js → esm2020/radio-panel/public-api.mjs} +0 -0
- package/esm2020/radio-panel/radio-panel-item.component.mjs +97 -0
- package/esm2020/radio-panel/radio-panel.component.mjs +89 -0
- package/esm2020/radio-panel/radio-panel.module.mjs +25 -0
- package/{esm2015/selection-panel/bravura-ui-selection-panel.js → esm2020/selection-panel/bravura-ui-selection-panel.mjs} +0 -0
- package/{esm2015/selection-panel/public-api.js → esm2020/selection-panel/public-api.mjs} +0 -0
- package/esm2020/selection-panel/selection-panel-item.component.mjs +166 -0
- package/esm2020/selection-panel/selection-panel.directive.mjs +119 -0
- package/esm2020/selection-panel/selection-panel.module.mjs +23 -0
- package/{esm2015/skeletons/bravura-ui-skeletons.js → esm2020/skeletons/bravura-ui-skeletons.mjs} +0 -0
- package/{esm2015/skeletons/public-api.js → esm2020/skeletons/public-api.mjs} +0 -0
- package/esm2020/skeletons/skeleton-loader-presets.directive.mjs +83 -0
- package/{esm2015/skeletons/skeleton-loader.component.js → esm2020/skeletons/skeleton-loader.component.mjs} +4 -4
- package/esm2020/skeletons/skeletons.module.mjs +35 -0
- package/{esm2015/stepper/bravura-ui-stepper.js → esm2020/stepper/bravura-ui-stepper.mjs} +0 -0
- package/{esm2015/stepper/public-api.js → esm2020/stepper/public-api.mjs} +0 -0
- package/esm2020/stepper/stepper-animation.mjs +23 -0
- package/esm2020/stepper/stepper.component.mjs +166 -0
- package/{esm2015/stepper/stepper.module.js → esm2020/stepper/stepper.module.mjs} +13 -15
- package/{esm2015/tooltip/bravura-ui-tooltip.js → esm2020/tooltip/bravura-ui-tooltip.mjs} +0 -0
- package/{esm2015/tooltip/public-api.js → esm2020/tooltip/public-api.mjs} +0 -0
- package/esm2020/tooltip/tooltip.component.mjs +51 -0
- package/{esm2015/tooltip/tooltip.directive.js → esm2020/tooltip/tooltip.directive.mjs} +4 -4
- package/esm2020/tooltip/tooltip.module.mjs +25 -0
- package/fesm2015/bravura-ui-alert.mjs +324 -0
- package/fesm2015/bravura-ui-alert.mjs.map +1 -0
- package/fesm2015/bravura-ui-behavior.mjs +407 -0
- package/fesm2015/bravura-ui-behavior.mjs.map +1 -0
- package/fesm2015/bravura-ui-common.mjs +74 -0
- package/fesm2015/bravura-ui-common.mjs.map +1 -0
- package/fesm2015/bravura-ui-currency-input.mjs +303 -0
- package/fesm2015/bravura-ui-currency-input.mjs.map +1 -0
- package/fesm2015/bravura-ui-decimal-input.mjs +149 -0
- package/fesm2015/bravura-ui-decimal-input.mjs.map +1 -0
- package/fesm2015/bravura-ui-discrete-input.mjs +354 -0
- package/fesm2015/bravura-ui-discrete-input.mjs.map +1 -0
- package/fesm2015/bravura-ui-file-upload.mjs +434 -0
- package/fesm2015/bravura-ui-file-upload.mjs.map +1 -0
- package/fesm2015/{bravura-ui-form-field.js → bravura-ui-form-field.mjs} +12 -23
- package/fesm2015/bravura-ui-form-field.mjs.map +1 -0
- package/fesm2015/{bravura-ui-icon-font.js → bravura-ui-icon-font.mjs} +8 -8
- package/fesm2015/bravura-ui-icon-font.mjs.map +1 -0
- package/fesm2015/bravura-ui-panel.mjs +87 -0
- package/fesm2015/bravura-ui-panel.mjs.map +1 -0
- package/fesm2015/{bravura-ui-phone-number.js → bravura-ui-phone-number.mjs} +34 -30
- package/fesm2015/bravura-ui-phone-number.mjs.map +1 -0
- package/fesm2015/bravura-ui-radio-panel.mjs +212 -0
- package/fesm2015/bravura-ui-radio-panel.mjs.map +1 -0
- package/fesm2015/{bravura-ui-selection-panel.js → bravura-ui-selection-panel.mjs} +24 -28
- package/fesm2015/bravura-ui-selection-panel.mjs.map +1 -0
- package/fesm2015/bravura-ui-skeletons.mjs +195 -0
- package/fesm2015/bravura-ui-skeletons.mjs.map +1 -0
- package/fesm2015/bravura-ui-stepper.mjs +243 -0
- package/fesm2015/bravura-ui-stepper.mjs.map +1 -0
- package/fesm2015/bravura-ui-tooltip.mjs +195 -0
- package/fesm2015/bravura-ui-tooltip.mjs.map +1 -0
- package/fesm2015/{bravura-ui.js → bravura-ui.mjs} +1 -1
- package/fesm2015/bravura-ui.mjs.map +1 -0
- package/fesm2020/bravura-ui-alert.mjs +312 -0
- package/fesm2020/bravura-ui-alert.mjs.map +1 -0
- package/{fesm2015/bravura-ui-behavior.js → fesm2020/bravura-ui-behavior.mjs} +14 -14
- package/fesm2020/bravura-ui-behavior.mjs.map +1 -0
- package/{fesm2015/bravura-ui-common.js → fesm2020/bravura-ui-common.mjs} +7 -7
- package/fesm2020/bravura-ui-common.mjs.map +1 -0
- package/{fesm2015/bravura-ui-currency-input.js → fesm2020/bravura-ui-currency-input.mjs} +9 -10
- package/fesm2020/bravura-ui-currency-input.mjs.map +1 -0
- package/{fesm2015/bravura-ui-decimal-input.js → fesm2020/bravura-ui-decimal-input.mjs} +8 -8
- package/fesm2020/bravura-ui-decimal-input.mjs.map +1 -0
- package/{fesm2015/bravura-ui-discrete-input.js → fesm2020/bravura-ui-discrete-input.mjs} +18 -26
- package/fesm2020/bravura-ui-discrete-input.mjs.map +1 -0
- package/fesm2020/bravura-ui-file-upload.mjs +430 -0
- package/fesm2020/bravura-ui-file-upload.mjs.map +1 -0
- package/fesm2020/bravura-ui-form-field.mjs +119 -0
- package/fesm2020/bravura-ui-form-field.mjs.map +1 -0
- package/fesm2020/bravura-ui-icon-font.mjs +178 -0
- package/fesm2020/bravura-ui-icon-font.mjs.map +1 -0
- package/fesm2020/bravura-ui-panel.mjs +87 -0
- package/fesm2020/bravura-ui-panel.mjs.map +1 -0
- package/fesm2020/bravura-ui-phone-number.mjs +317 -0
- package/fesm2020/bravura-ui-phone-number.mjs.map +1 -0
- package/fesm2020/bravura-ui-radio-panel.mjs +209 -0
- package/fesm2020/bravura-ui-radio-panel.mjs.map +1 -0
- package/fesm2020/bravura-ui-selection-panel.mjs +306 -0
- package/fesm2020/bravura-ui-selection-panel.mjs.map +1 -0
- package/{fesm2015/bravura-ui-skeletons.js → fesm2020/bravura-ui-skeletons.mjs} +13 -13
- package/fesm2020/bravura-ui-skeletons.mjs.map +1 -0
- package/{fesm2015/bravura-ui-stepper.js → fesm2020/bravura-ui-stepper.mjs} +27 -44
- package/fesm2020/bravura-ui-stepper.mjs.map +1 -0
- package/{fesm2015/bravura-ui-tooltip.js → fesm2020/bravura-ui-tooltip.mjs} +13 -22
- package/fesm2020/bravura-ui-tooltip.mjs.map +1 -0
- package/fesm2020/bravura-ui.mjs +8 -0
- package/fesm2020/bravura-ui.mjs.map +1 -0
- package/file-upload/file-upload.component.d.ts +1 -1
- package/file-upload/{bravura-ui-file-upload.d.ts → index.d.ts} +0 -0
- package/form-field/form-field.component.d.ts +1 -1
- package/form-field/{bravura-ui-form-field.d.ts → index.d.ts} +0 -0
- package/icon-font/icon.directive.d.ts +1 -1
- package/icon-font/{bravura-ui-icon-font.d.ts → index.d.ts} +0 -0
- package/{bravura-ui.d.ts → index.d.ts} +0 -0
- package/package.json +157 -14
- package/panel/index.d.ts +5 -0
- package/panel/panel.component.d.ts +46 -0
- package/panel/panel.module.d.ts +11 -0
- package/panel/public-api.d.ts +1 -0
- package/phone-number/{bravura-ui-phone-number.d.ts → index.d.ts} +0 -0
- package/phone-number/phone-number.directive.d.ts +1 -1
- package/phone-number/phone-number.pipe.d.ts +1 -1
- package/phone-number/phone-number.validator.d.ts +1 -1
- package/radio-panel/{bravura-ui-radio-panel.d.ts → index.d.ts} +0 -0
- package/radio-panel/radio-panel-item.component.d.ts +1 -1
- package/radio-panel/radio-panel.component.d.ts +1 -1
- package/selection-panel/{bravura-ui-selection-panel.d.ts → index.d.ts} +0 -0
- package/selection-panel/selection-panel-item.component.d.ts +1 -1
- package/selection-panel/selection-panel.directive.d.ts +1 -1
- package/skeletons/{bravura-ui-skeletons.d.ts → index.d.ts} +0 -0
- package/skeletons/skeleton-loader-presets.directive.d.ts +1 -1
- package/skeletons/skeleton-loader.component.d.ts +1 -1
- package/stepper/{bravura-ui-stepper.d.ts → index.d.ts} +0 -0
- package/stepper/stepper.component.d.ts +1 -1
- package/theme/_ui-theme.scss +1 -1
- package/tooltip/{bravura-ui-tooltip.d.ts → index.d.ts} +0 -0
- package/tooltip/tooltip.component.d.ts +1 -1
- package/tooltip/tooltip.directive.d.ts +1 -1
- package/alert/package.json +0 -10
- package/behavior/package.json +0 -10
- package/bundles/bravura-ui-alert.umd.js +0 -745
- package/bundles/bravura-ui-alert.umd.js.map +0 -1
- package/bundles/bravura-ui-behavior.umd.js +0 -788
- package/bundles/bravura-ui-behavior.umd.js.map +0 -1
- package/bundles/bravura-ui-common.umd.js +0 -103
- package/bundles/bravura-ui-common.umd.js.map +0 -1
- package/bundles/bravura-ui-currency-input.umd.js +0 -335
- package/bundles/bravura-ui-currency-input.umd.js.map +0 -1
- package/bundles/bravura-ui-decimal-input.umd.js +0 -178
- package/bundles/bravura-ui-decimal-input.umd.js.map +0 -1
- package/bundles/bravura-ui-discrete-input.umd.js +0 -747
- package/bundles/bravura-ui-discrete-input.umd.js.map +0 -1
- package/bundles/bravura-ui-file-upload.umd.js +0 -845
- package/bundles/bravura-ui-file-upload.umd.js.map +0 -1
- package/bundles/bravura-ui-form-field.umd.js +0 -494
- package/bundles/bravura-ui-form-field.umd.js.map +0 -1
- package/bundles/bravura-ui-icon-font.umd.js +0 -539
- package/bundles/bravura-ui-icon-font.umd.js.map +0 -1
- package/bundles/bravura-ui-phone-number.umd.js +0 -690
- package/bundles/bravura-ui-phone-number.umd.js.map +0 -1
- package/bundles/bravura-ui-radio-panel.umd.js +0 -595
- package/bundles/bravura-ui-radio-panel.umd.js.map +0 -1
- package/bundles/bravura-ui-selection-panel.umd.js +0 -699
- package/bundles/bravura-ui-selection-panel.umd.js.map +0 -1
- package/bundles/bravura-ui-skeletons.umd.js +0 -525
- package/bundles/bravura-ui-skeletons.umd.js.map +0 -1
- package/bundles/bravura-ui-stepper.umd.js +0 -613
- package/bundles/bravura-ui-stepper.umd.js.map +0 -1
- package/bundles/bravura-ui-tooltip.umd.js +0 -586
- package/bundles/bravura-ui-tooltip.umd.js.map +0 -1
- package/bundles/bravura-ui.umd.js +0 -18
- package/bundles/bravura-ui.umd.js.map +0 -1
- package/common/package.json +0 -10
- package/currency-input/package.json +0 -10
- package/decimal-input/package.json +0 -10
- package/discrete-input/package.json +0 -10
- package/esm2015/alert/alert-container.component.js +0 -220
- package/esm2015/alert/alert-message.component.js +0 -98
- package/esm2015/alert/alert.module.js +0 -22
- package/esm2015/behavior/behavior.module.js +0 -25
- package/esm2015/common/common.module.js +0 -52
- package/esm2015/currency-input/currency-input.directive.js +0 -280
- package/esm2015/currency-input/currency-input.module.js +0 -19
- package/esm2015/decimal-input/decimal-input.module.js +0 -19
- package/esm2015/discrete-input/discrete-input.component.js +0 -334
- package/esm2015/discrete-input/discrete-input.module.js +0 -21
- package/esm2015/file-upload/file-upload.component.js +0 -367
- package/esm2015/form-field/form-field.component.js +0 -107
- package/esm2015/form-field/form-field.module.js +0 -20
- package/esm2015/icon-font/icon-font.module.js +0 -22
- package/esm2015/phone-number/phone-number.directive.js +0 -192
- package/esm2015/phone-number/phone-number.module.js +0 -24
- package/esm2015/radio-panel/radio-panel-item.component.js +0 -109
- package/esm2015/radio-panel/radio-panel.component.js +0 -98
- package/esm2015/radio-panel/radio-panel.module.js +0 -25
- package/esm2015/selection-panel/selection-panel-item.component.js +0 -174
- package/esm2015/selection-panel/selection-panel.directive.js +0 -120
- package/esm2015/selection-panel/selection-panel.module.js +0 -23
- package/esm2015/skeletons/skeleton-loader-presets.directive.js +0 -83
- package/esm2015/skeletons/skeletons.module.js +0 -35
- package/esm2015/stepper/stepper-animation.js +0 -23
- package/esm2015/stepper/stepper.component.js +0 -181
- package/esm2015/tooltip/tooltip.component.js +0 -59
- package/esm2015/tooltip/tooltip.module.js +0 -26
- package/fesm2015/bravura-ui-alert.js +0 -337
- package/fesm2015/bravura-ui-alert.js.map +0 -1
- package/fesm2015/bravura-ui-behavior.js.map +0 -1
- package/fesm2015/bravura-ui-common.js.map +0 -1
- package/fesm2015/bravura-ui-currency-input.js.map +0 -1
- package/fesm2015/bravura-ui-decimal-input.js.map +0 -1
- package/fesm2015/bravura-ui-discrete-input.js.map +0 -1
- package/fesm2015/bravura-ui-file-upload.js +0 -443
- package/fesm2015/bravura-ui-file-upload.js.map +0 -1
- package/fesm2015/bravura-ui-form-field.js.map +0 -1
- package/fesm2015/bravura-ui-icon-font.js.map +0 -1
- package/fesm2015/bravura-ui-phone-number.js.map +0 -1
- package/fesm2015/bravura-ui-radio-panel.js +0 -230
- package/fesm2015/bravura-ui-radio-panel.js.map +0 -1
- package/fesm2015/bravura-ui-selection-panel.js.map +0 -1
- package/fesm2015/bravura-ui-skeletons.js.map +0 -1
- package/fesm2015/bravura-ui-stepper.js.map +0 -1
- package/fesm2015/bravura-ui-tooltip.js.map +0 -1
- package/fesm2015/bravura-ui.js.map +0 -1
- package/file-upload/package.json +0 -10
- package/form-field/package.json +0 -10
- package/icon-font/package.json +0 -10
- package/phone-number/package.json +0 -10
- package/radio-panel/package.json +0 -10
- package/selection-panel/package.json +0 -10
- package/skeletons/package.json +0 -10
- package/stepper/package.json +0 -10
- package/tooltip/package.json +0 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,31 @@
|
|
|
1
1
|
# Change history
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 2.1.0 (2022-09-01)
|
|
4
4
|
|
|
5
|
-
* build:
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* build(storybook): switch to new builders ([3145b86](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/3145b86))
|
|
6
|
+
* docs(storybook): fix stepper stories ([dcba870](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/dcba870))
|
|
7
|
+
* feat(panel): add a new panel component based on `mat-card` ([b73835c](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/b73835c))
|
|
8
|
+
* test(decimal-input): add tests ([2f33d5f](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/2f33d5f))
|
|
9
|
+
* fix(decimal-input): empty value should not be represented as 0 ([dcbf222](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/dcbf222))
|
|
10
|
+
|
|
11
|
+
## <small>2.0.1 (2022-08-18)</small>
|
|
12
|
+
|
|
13
|
+
* fix(currency-input): value should start being formatted ([e28b58d](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/e28b58d))
|
|
14
|
+
|
|
15
|
+
## 2.0.0 (2022-08-18)
|
|
16
|
+
|
|
17
|
+
* build: add missing package dependency ([a18a09e](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/a18a09e))
|
|
18
|
+
* build: fix build command in release config ([f6cb952](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/f6cb952))
|
|
19
|
+
* build: fix storybook compilation erros ([8cc9d5f](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/8cc9d5f))
|
|
20
|
+
* build: revise peer dependencies ([5abf922](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/5abf922))
|
|
21
|
+
* test: fix test failure on Jenkins ([99393ff](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/99393ff))
|
|
22
|
+
* docs(readme): add version compatibility infomation ([96c2837](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/96c2837))
|
|
23
|
+
* feat: support Angular 14 ([d0b22c0](https://scm.bravurasolutions.net/projects/DIGI/repos/ui-components/commits/d0b22c0))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### BREAKING CHANGE
|
|
27
|
+
|
|
28
|
+
* Angular 12 & 13 are no longer supported. Use release 1.x for compatibility with Angular 12 & 13
|
|
9
29
|
|
|
10
30
|
## <small>1.21.6 (2022-07-28)</small>
|
|
11
31
|
|
package/README.md
CHANGED
|
@@ -6,10 +6,9 @@ This package contains a set of UI components built on top of [Angular Material l
|
|
|
6
6
|
|
|
7
7
|
## Angular version compatibility
|
|
8
8
|
|
|
9
|
-
**This is version 1 of the library, which is only compatible with Angular 12 and 13.** For compatibility with a different Angular version please switch to the corresponding branch, detailed in the `master` version of this document.
|
|
10
|
-
|
|
11
9
|
| BUI versions | Compatible Angular versions |
|
|
12
10
|
| ------------ | --------------------------- |
|
|
11
|
+
| ^2.0.0 | 14 |
|
|
13
12
|
| ^1.15.x | 12, 13 |
|
|
14
13
|
| 1 .. 1.14.x | 12 |
|
|
15
14
|
|
|
@@ -64,6 +64,6 @@ export declare class AlertContainerComponent implements OnInit, OnDestroy {
|
|
|
64
64
|
clear(): Promise<void>;
|
|
65
65
|
private _endFloating;
|
|
66
66
|
static ɵfac: i0.ɵɵFactoryDeclaration<AlertContainerComponent, never>;
|
|
67
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AlertContainerComponent, "bui-alert-container", never, { "max": "max"; "outsideViewportBehavior": "outsideViewportBehavior"; "floatDuration": "floatDuration"; }, {}, never, never>;
|
|
67
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AlertContainerComponent, "bui-alert-container", never, { "max": "max"; "outsideViewportBehavior": "outsideViewportBehavior"; "floatDuration": "floatDuration"; }, {}, never, never, false>;
|
|
68
68
|
}
|
|
69
69
|
export {};
|
|
@@ -42,5 +42,5 @@ export declare class AlertMessageComponent implements OnInit {
|
|
|
42
42
|
/** @ignore */
|
|
43
43
|
_dismiss(): void;
|
|
44
44
|
static ɵfac: i0.ɵɵFactoryDeclaration<AlertMessageComponent, never>;
|
|
45
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AlertMessageComponent, "bui-alert", never, { "type": "type"; "message": "message"; "dismissible": "dismissible"; "_id": "id"; }, { "dismissed": "dismissed"; "initialised": "initialised"; }, never, never>;
|
|
45
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AlertMessageComponent, "bui-alert", never, { "type": "type"; "message": "message"; "dismissible": "dismissible"; "_id": "id"; }, { "dismissed": "dismissed"; "initialised": "initialised"; }, never, never, false>;
|
|
46
46
|
}
|
|
File without changes
|
|
@@ -56,5 +56,5 @@ export declare class AwaitDirective implements AfterViewInit, DoCheck {
|
|
|
56
56
|
ngDoCheck(): void;
|
|
57
57
|
private _statusChanged;
|
|
58
58
|
static ɵfac: i0.ɵɵFactoryDeclaration<AwaitDirective, [null, { optional: true; }, null, null, null]>;
|
|
59
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AwaitDirective, "[buiAwait]", never, { "buiAwait": "buiAwait"; "buiAwaitAriaLabel": "buiAwaitAriaLabel"; "buiAwaitDiameter": "buiAwaitDiameter"; }, {}, never>;
|
|
59
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AwaitDirective, "[buiAwait]", never, { "buiAwait": "buiAwait"; "buiAwaitAriaLabel": "buiAwaitAriaLabel"; "buiAwaitDiameter": "buiAwaitDiameter"; }, {}, never, never, false>;
|
|
60
60
|
}
|
|
File without changes
|
|
@@ -19,5 +19,5 @@ export declare class SizingMonitorDirective {
|
|
|
19
19
|
readonly element: ElementRef<HTMLElement>;
|
|
20
20
|
constructor(element: ElementRef<HTMLElement>);
|
|
21
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<SizingMonitorDirective, never>;
|
|
22
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SizingMonitorDirective, "[buiSizingMonitor]", never, {}, {}, never>;
|
|
22
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SizingMonitorDirective, "[buiSizingMonitor]", never, {}, {}, never, never, false>;
|
|
23
23
|
}
|
|
@@ -92,5 +92,5 @@ export declare class SizingDirective implements OnChanges, OnDestroy {
|
|
|
92
92
|
private _reflowHeight;
|
|
93
93
|
private _toNumber;
|
|
94
94
|
static ɵfac: i0.ɵɵFactoryDeclaration<SizingDirective, [null, { optional: true; }, null, null]>;
|
|
95
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SizingDirective, "[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]", never, { "buiSizing": "buiSizing"; "sizingBy": "sizingBy"; "buiSizingBy": "buiSizingBy"; "buiFixedHeight": "buiFixedHeight"; }, { "buiResized": "buiResized"; }, never>;
|
|
95
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SizingDirective, "[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]", never, { "buiSizing": "buiSizing"; "sizingBy": "sizingBy"; "buiSizingBy": "buiSizingBy"; "buiFixedHeight": "buiFixedHeight"; }, { "buiResized": "buiResized"; }, never, never, false>;
|
|
96
96
|
}
|
|
File without changes
|
|
@@ -58,5 +58,5 @@ export declare class CurrencyInputDirective implements OnInit, OnChanges, Contro
|
|
|
58
58
|
private _convert;
|
|
59
59
|
private get _0Text();
|
|
60
60
|
static ɵfac: i0.ɵɵFactoryDeclaration<CurrencyInputDirective, [{ self: true; }, null, null, null, { optional: true; }]>;
|
|
61
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<CurrencyInputDirective, "input[buiCurrencyInput],input[currencyCode],input[data-type=currency]", never, { "allowNegative": "allowNegative"; "currencyCode": "currencyCode"; "baseUnitOnly": "baseUnitOnly"; "format": "format"; }, {}, never>;
|
|
61
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CurrencyInputDirective, "input[buiCurrencyInput],input[currencyCode],input[data-type=currency]", never, { "allowNegative": "allowNegative"; "currencyCode": "currencyCode"; "baseUnitOnly": "baseUnitOnly"; "format": "format"; }, {}, never, never, false>;
|
|
62
62
|
}
|
|
File without changes
|
|
@@ -29,5 +29,5 @@ export declare class DecimalInputDirective implements OnChanges, ControlValueAcc
|
|
|
29
29
|
registerOnTouched(fn: any): void;
|
|
30
30
|
private _resetDecimalPlaces;
|
|
31
31
|
static ɵfac: i0.ɵɵFactoryDeclaration<DecimalInputDirective, [{ self: true; }, null]>;
|
|
32
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DecimalInputDirective, "input[buiDecimalInput]", never, { "buiDecimalInput": "buiDecimalInput"; }, {}, never>;
|
|
32
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DecimalInputDirective, "input[buiDecimalInput]", never, { "buiDecimalInput": "buiDecimalInput"; }, {}, never, never, false>;
|
|
33
33
|
}
|
|
File without changes
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
2
2
|
import { ElementRef, OnDestroy } from '@angular/core';
|
|
3
|
-
import { AbstractControl, ControlValueAccessor,
|
|
3
|
+
import { AbstractControl, ControlValueAccessor, UntypedFormArray, UntypedFormGroup, FormGroupDirective, NgControl, NgForm } from '@angular/forms';
|
|
4
4
|
import { ErrorStateMatcher } from '@angular/material/core';
|
|
5
5
|
import { MatFormField, MatFormFieldControl } from '@angular/material/form-field';
|
|
6
6
|
import { Subject } from 'rxjs';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
/** @ignore */
|
|
9
|
-
declare const _DiscreteInputBase: import("@angular/material/core
|
|
9
|
+
declare const _DiscreteInputBase: import("@angular/material/core")._Constructor<import("@angular/material/core").CanUpdateErrorState> & import("@angular/material/core")._AbstractConstructor<import("@angular/material/core").CanUpdateErrorState> & {
|
|
10
10
|
new (_defaultErrorStateMatcher: ErrorStateMatcher, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, ngControl: NgControl): {
|
|
11
|
+
readonly stateChanges: Subject<void>;
|
|
11
12
|
/** @ignore */ _defaultErrorStateMatcher: ErrorStateMatcher;
|
|
12
13
|
/** @ignore */ _parentForm: NgForm;
|
|
13
14
|
/** @ignore */ _parentFormGroup: FormGroupDirective;
|
|
@@ -38,8 +39,8 @@ export declare class DiscreteInputComponent extends _DiscreteInputBase implement
|
|
|
38
39
|
static ngAcceptInputType_disabled: boolean | string | null | undefined;
|
|
39
40
|
/** @ignore */
|
|
40
41
|
static ngAcceptInputType_required: boolean | string | null | undefined;
|
|
41
|
-
/** @ignore */ parts:
|
|
42
|
-
/** @ignore */ group:
|
|
42
|
+
/** @ignore */ parts: UntypedFormArray;
|
|
43
|
+
/** @ignore */ group: UntypedFormGroup;
|
|
43
44
|
/** Emits whenever the component state changes. */
|
|
44
45
|
stateChanges: Subject<void>;
|
|
45
46
|
/** Whether the control is focused. */
|
|
@@ -133,6 +134,6 @@ export declare class DiscreteInputComponent extends _DiscreteInputBase implement
|
|
|
133
134
|
/** @ignore */
|
|
134
135
|
ngDoCheck(): void;
|
|
135
136
|
static ɵfac: i0.ɵɵFactoryDeclaration<DiscreteInputComponent, [null, null, { optional: true; }, { optional: true; self: true; }, { optional: true; }, { optional: true; }, null]>;
|
|
136
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DiscreteInputComponent, "bui-discrete-input", never, { "type": "type"; "separator": "separator"; "accept": "accept"; "userAriaDescribedBy": "aria-describedby"; "sizeSpec": "sizeSpec"; "placeholder": "placeholder"; "required": "required"; "disabled": "disabled"; "value": "value"; }, {}, never, never>;
|
|
137
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DiscreteInputComponent, "bui-discrete-input", never, { "type": "type"; "separator": "separator"; "accept": "accept"; "userAriaDescribedBy": "aria-describedby"; "sizeSpec": "sizeSpec"; "placeholder": "placeholder"; "required": "required"; "disabled": "disabled"; "value": "value"; }, {}, never, never, false>;
|
|
137
138
|
}
|
|
138
139
|
export {};
|
|
File without changes
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
3
|
+
import { generateID, isElementInViewport } from '@bravura/ui/common';
|
|
4
|
+
import { Subject, timer } from 'rxjs';
|
|
5
|
+
import { delay, take, takeUntil, tap } from 'rxjs/operators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/cdk/scrolling";
|
|
8
|
+
import * as i2 from "@angular/common";
|
|
9
|
+
import * as i3 from "./alert-message.component";
|
|
10
|
+
/**@internal */
|
|
11
|
+
class InternalAlertOject {
|
|
12
|
+
constructor(type, message) {
|
|
13
|
+
this.type = type;
|
|
14
|
+
this.message = message;
|
|
15
|
+
this.deleted = false;
|
|
16
|
+
this.id = `bui-alert-cont-alert-${generateID()}`;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Use this component in a designated area of a page for displaying notification messages
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
export class AlertContainerComponent {
|
|
24
|
+
constructor(zone, cdRef, _elementRef, scroll) {
|
|
25
|
+
this.zone = zone;
|
|
26
|
+
this.cdRef = cdRef;
|
|
27
|
+
this._elementRef = _elementRef;
|
|
28
|
+
this.scroll = scroll;
|
|
29
|
+
/** The maximum number of messages displayed in the container area. */
|
|
30
|
+
this.max = 5;
|
|
31
|
+
/**
|
|
32
|
+
* This property determines the behavior for displaying the notifications when the container is outside the viewport.
|
|
33
|
+
*
|
|
34
|
+
* `scroll`: The component will try to scroll to reveal the new notifications.
|
|
35
|
+
* `float`: The component will float the alert panel to the center of the screen for a couple of seconds and move it back to the original position.
|
|
36
|
+
*/
|
|
37
|
+
this.outsideViewportBehavior = 'float';
|
|
38
|
+
/**
|
|
39
|
+
* The number of milliseconds for which the alert container will be floated when new notification arrives.
|
|
40
|
+
*
|
|
41
|
+
* This will only take effect when `outsideViewportBehavior` is set to `float` and the container is outside the viewport.
|
|
42
|
+
*/
|
|
43
|
+
this.floatDuration = 2000;
|
|
44
|
+
/**@internal */
|
|
45
|
+
this._alerts = [];
|
|
46
|
+
/**@internal */
|
|
47
|
+
this._floated = false;
|
|
48
|
+
/**@internal */
|
|
49
|
+
this._floatPanelHidden = true;
|
|
50
|
+
/** @ignore Emits whenever the animation is started. */
|
|
51
|
+
this._animationStarted = new Subject();
|
|
52
|
+
/** @ignore Emits whenever the animation is done. */
|
|
53
|
+
this._animationEnded = new Subject();
|
|
54
|
+
this._destroyed$ = new Subject();
|
|
55
|
+
}
|
|
56
|
+
ngOnInit() {
|
|
57
|
+
const checkScroll = () => {
|
|
58
|
+
if (isElementInViewport(this._elementRef.nativeElement)) {
|
|
59
|
+
this._endFloating();
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
this.scroll
|
|
63
|
+
.ancestorScrolled(this._elementRef.nativeElement)
|
|
64
|
+
.pipe(takeUntil(this._destroyed$))
|
|
65
|
+
.subscribe(checkScroll);
|
|
66
|
+
checkScroll();
|
|
67
|
+
}
|
|
68
|
+
ngOnDestroy() {
|
|
69
|
+
this._destroyed$.next();
|
|
70
|
+
this._destroyed$.complete();
|
|
71
|
+
this._endFloatingSub?.unsubscribe();
|
|
72
|
+
}
|
|
73
|
+
/**@internal */
|
|
74
|
+
get _remaining() {
|
|
75
|
+
return this._alerts.filter(a => !a.deleted);
|
|
76
|
+
}
|
|
77
|
+
/**@internal */
|
|
78
|
+
get _width() {
|
|
79
|
+
return this._elementRef.nativeElement.clientWidth;
|
|
80
|
+
}
|
|
81
|
+
/** Add a message to the notification area */
|
|
82
|
+
async notify(type, message) {
|
|
83
|
+
this._endFloatingSub?.unsubscribe();
|
|
84
|
+
const duplicate = this._remaining.find(_a => message === _a.message);
|
|
85
|
+
if (duplicate) {
|
|
86
|
+
this._dismiss(duplicate);
|
|
87
|
+
}
|
|
88
|
+
const remaining = this._remaining;
|
|
89
|
+
if (remaining.length >= this.max) {
|
|
90
|
+
this._dismiss(remaining[0]);
|
|
91
|
+
}
|
|
92
|
+
const a = new InternalAlertOject(type, message);
|
|
93
|
+
await this._checkViewport();
|
|
94
|
+
this.zone.run(() => {
|
|
95
|
+
this._alerts.push(a);
|
|
96
|
+
this.cdRef.markForCheck();
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/**@ignore */
|
|
100
|
+
async _checkViewport() {
|
|
101
|
+
if (!isElementInViewport(this._elementRef.nativeElement)) {
|
|
102
|
+
if (this.outsideViewportBehavior === 'float') {
|
|
103
|
+
const d = this._floated ? 0 : 100;
|
|
104
|
+
this._floated = true;
|
|
105
|
+
this._floatPanelHidden = false;
|
|
106
|
+
this._endFloating(this.floatDuration);
|
|
107
|
+
this.cdRef.markForCheck();
|
|
108
|
+
await timer(d).toPromise();
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
this._elementRef.nativeElement.scrollIntoView({ block: 'start', behavior: 'smooth' });
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/**@ignore */
|
|
116
|
+
async _dismiss(a) {
|
|
117
|
+
const id = a.id;
|
|
118
|
+
a.deleted = true;
|
|
119
|
+
this.cdRef.markForCheck();
|
|
120
|
+
await this._animationEnded.pipe(take(1)).toPromise();
|
|
121
|
+
this.zone.run(() => {
|
|
122
|
+
this._alerts = this._alerts.filter(_a => _a.id !== id);
|
|
123
|
+
this.cdRef.markForCheck();
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
/** Remove all messages currently displayed. */
|
|
127
|
+
async clear() {
|
|
128
|
+
await Promise.all(this._remaining.map(a => this._dismiss(a)));
|
|
129
|
+
this._endFloating();
|
|
130
|
+
}
|
|
131
|
+
_endFloating(_delay = 0) {
|
|
132
|
+
if (!this._floated) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
this._endFloatingSub?.unsubscribe();
|
|
136
|
+
this._endFloatingSub = timer(_delay)
|
|
137
|
+
.pipe(tap(() => {
|
|
138
|
+
this._floated = false;
|
|
139
|
+
this.zone.run(() => this.cdRef.markForCheck());
|
|
140
|
+
}), delay(400))
|
|
141
|
+
.subscribe(() => {
|
|
142
|
+
this._floatPanelHidden = true;
|
|
143
|
+
this.zone.run(() => this.cdRef.markForCheck());
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
AlertContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AlertContainerComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.ScrollDispatcher }], target: i0.ɵɵFactoryTarget.Component });
|
|
148
|
+
AlertContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: AlertContainerComponent, selector: "bui-alert-container", inputs: { max: "max", outsideViewportBehavior: "outsideViewportBehavior", floatDuration: "floatDuration" }, host: { properties: { "class": "'bui-alert-container bui-host bui-alert-container-' + (_remaining.length ? 'not-empty': 'empty')" } }, ngImport: i0, template: "<div\n\tclass=\"bui-alert-fixed-panel\"\n\t[style.opacity]=\"_floatPanelHidden ? 1 : 0\"\n\t[class.bui-alert-fixed-panel-blink]=\"outsideViewportBehavior === 'scroll'\"\n>\n\t<bui-alert\n\t\t*ngFor=\"let a of _alerts\"\n\t\t[id]=\"a.id\"\n\t\t[type]=\"a.type\"\n\t\t[message]=\"a.message\"\n\t\tdismissible\n\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t(@alertTransition.start)=\"_animationStarted.next($event)\"\n\t\t(@alertTransition.done)=\"_animationEnded.next($event)\"\n\t\t(dismissed)=\"_dismiss(a)\"\n\t></bui-alert>\n</div>\n\n<div class=\"bui-alert-float-panel-frame\" [hidden]=\"_floatPanelHidden\" [class.bui-alert-float-panel-shaded]=\"_floated\">\n\t<div class=\"bui-alert-float-panel\" [style.max-width]=\"_width + 'px'\" [@floatTransition]=\"'visible'\" *ngIf=\"_floated\">\n\t\t<bui-alert\n\t\t\t*ngFor=\"let a of _alerts\"\n\t\t\t[id]=\"a.id\"\n\t\t\t[type]=\"a.type\"\n\t\t\t[message]=\"a.message\"\n\t\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t></bui-alert>\n\t</div>\n</div>\n", styles: [".bui-alert:not(:first-of-type){margin-top:.5rem}:host(:not([hidden])){display:block}.bui-alert-fixed-panel{transition:opacity .2s ease-in}.bui-alert-fixed-panel.bui-alert-fixed-panel-blink .bui-alert:last-of-type{animation:blink 1s ease-in forwards}.bui-alert-float-panel-frame{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;justify-content:center;align-items:center;flex-direction:column;transition:background-color .4s cubic-bezier(.25,0,.55,.2)}.bui-alert-float-panel-frame:not([hidden]){display:flex}.bui-alert-float-panel-frame.bui-alert-float-panel-shaded{background-color:#00000080}.bui-alert-float-panel-frame .bui-alert{background-color:var(--bui-bg-card)}@keyframes blink{60%{opacity:1}70%{opacity:0}80%{opacity:1}90%{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.AlertMessageComponent, selector: "bui-alert", inputs: ["type", "message", "dismissible", "id"], outputs: ["dismissed", "initialised"] }], animations: [
|
|
149
|
+
trigger('floatTransition', [
|
|
150
|
+
transition(':enter', [style({ opacity: '0', transform: 'translateY(-10vh)' }), animate('.3s ease-in')]),
|
|
151
|
+
transition(':leave', [animate('.4s ease-out', style({ transform: 'translateY(-10vh)', opacity: '0' }))])
|
|
152
|
+
]),
|
|
153
|
+
trigger('alertTransition', [
|
|
154
|
+
state('visible', style({})),
|
|
155
|
+
state('hidden', style({
|
|
156
|
+
height: 0,
|
|
157
|
+
overflow: 'hidden',
|
|
158
|
+
transform: 'scaleY(0)',
|
|
159
|
+
opacity: 0,
|
|
160
|
+
'margin-top': '-1rem'
|
|
161
|
+
})),
|
|
162
|
+
transition('void => visible', [
|
|
163
|
+
style({ transform: 'translateY(100%)', height: 0, opacity: '0' }),
|
|
164
|
+
animate('250ms cubic-bezier(0.42, 0.0, 0.58, 1.0)')
|
|
165
|
+
]),
|
|
166
|
+
transition('visible => hidden', [animate('250ms cubic-bezier(0.25, 0, 0.3, 1.0)')])
|
|
167
|
+
])
|
|
168
|
+
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AlertContainerComponent, decorators: [{
|
|
170
|
+
type: Component,
|
|
171
|
+
args: [{ selector: 'bui-alert-container', host: {
|
|
172
|
+
'[class]': `'bui-alert-container bui-host bui-alert-container-' + (_remaining.length ? 'not-empty': 'empty')`
|
|
173
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
174
|
+
trigger('floatTransition', [
|
|
175
|
+
transition(':enter', [style({ opacity: '0', transform: 'translateY(-10vh)' }), animate('.3s ease-in')]),
|
|
176
|
+
transition(':leave', [animate('.4s ease-out', style({ transform: 'translateY(-10vh)', opacity: '0' }))])
|
|
177
|
+
]),
|
|
178
|
+
trigger('alertTransition', [
|
|
179
|
+
state('visible', style({})),
|
|
180
|
+
state('hidden', style({
|
|
181
|
+
height: 0,
|
|
182
|
+
overflow: 'hidden',
|
|
183
|
+
transform: 'scaleY(0)',
|
|
184
|
+
opacity: 0,
|
|
185
|
+
'margin-top': '-1rem'
|
|
186
|
+
})),
|
|
187
|
+
transition('void => visible', [
|
|
188
|
+
style({ transform: 'translateY(100%)', height: 0, opacity: '0' }),
|
|
189
|
+
animate('250ms cubic-bezier(0.42, 0.0, 0.58, 1.0)')
|
|
190
|
+
]),
|
|
191
|
+
transition('visible => hidden', [animate('250ms cubic-bezier(0.25, 0, 0.3, 1.0)')])
|
|
192
|
+
])
|
|
193
|
+
], template: "<div\n\tclass=\"bui-alert-fixed-panel\"\n\t[style.opacity]=\"_floatPanelHidden ? 1 : 0\"\n\t[class.bui-alert-fixed-panel-blink]=\"outsideViewportBehavior === 'scroll'\"\n>\n\t<bui-alert\n\t\t*ngFor=\"let a of _alerts\"\n\t\t[id]=\"a.id\"\n\t\t[type]=\"a.type\"\n\t\t[message]=\"a.message\"\n\t\tdismissible\n\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t(@alertTransition.start)=\"_animationStarted.next($event)\"\n\t\t(@alertTransition.done)=\"_animationEnded.next($event)\"\n\t\t(dismissed)=\"_dismiss(a)\"\n\t></bui-alert>\n</div>\n\n<div class=\"bui-alert-float-panel-frame\" [hidden]=\"_floatPanelHidden\" [class.bui-alert-float-panel-shaded]=\"_floated\">\n\t<div class=\"bui-alert-float-panel\" [style.max-width]=\"_width + 'px'\" [@floatTransition]=\"'visible'\" *ngIf=\"_floated\">\n\t\t<bui-alert\n\t\t\t*ngFor=\"let a of _alerts\"\n\t\t\t[id]=\"a.id\"\n\t\t\t[type]=\"a.type\"\n\t\t\t[message]=\"a.message\"\n\t\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t></bui-alert>\n\t</div>\n</div>\n", styles: [".bui-alert:not(:first-of-type){margin-top:.5rem}:host(:not([hidden])){display:block}.bui-alert-fixed-panel{transition:opacity .2s ease-in}.bui-alert-fixed-panel.bui-alert-fixed-panel-blink .bui-alert:last-of-type{animation:blink 1s ease-in forwards}.bui-alert-float-panel-frame{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;justify-content:center;align-items:center;flex-direction:column;transition:background-color .4s cubic-bezier(.25,0,.55,.2)}.bui-alert-float-panel-frame:not([hidden]){display:flex}.bui-alert-float-panel-frame.bui-alert-float-panel-shaded{background-color:#00000080}.bui-alert-float-panel-frame .bui-alert{background-color:var(--bui-bg-card)}@keyframes blink{60%{opacity:1}70%{opacity:0}80%{opacity:1}90%{opacity:0}}\n"] }]
|
|
194
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.ScrollDispatcher }]; }, propDecorators: { max: [{
|
|
195
|
+
type: Input
|
|
196
|
+
}], outsideViewportBehavior: [{
|
|
197
|
+
type: Input
|
|
198
|
+
}], floatDuration: [{
|
|
199
|
+
type: Input
|
|
200
|
+
}] } });
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2FsZXJ0L2FsZXJ0LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9hbGVydC9hbGVydC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7QUFFakcsT0FBTyxFQUNOLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsS0FBSyxFQUlMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsT0FBTyxFQUFnQixLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUU3RCxlQUFlO0FBQ2YsTUFBTSxrQkFBa0I7SUFHdkIsWUFBNEIsSUFBMkMsRUFBa0IsT0FBZTtRQUE1RSxTQUFJLEdBQUosSUFBSSxDQUF1QztRQUFrQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBRHhHLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFZixJQUFJLENBQUMsRUFBRSxHQUFHLHdCQUF3QixVQUFVLEVBQUUsRUFBRSxDQUFDO0lBQ2xELENBQUM7Q0FDRDtBQUVEOzs7R0FHRztBQWtDSCxNQUFNLE9BQU8sdUJBQXVCO0lBcUNuQyxZQUNTLElBQVksRUFDWixLQUF3QixFQUN4QixXQUFvQyxFQUNwQyxNQUF3QjtRQUh4QixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osVUFBSyxHQUFMLEtBQUssQ0FBbUI7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Y2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIsIEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBTY3JvbGxEaXNwYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0SW5wdXQsXG5cdE5nWm9uZSxcblx0T25EZXN0cm95LFxuXHRPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZW5lcmF0ZUlELCBpc0VsZW1lbnRJblZpZXdwb3J0IH0gZnJvbSAnQGJyYXZ1cmEvdWkvY29tbW9uJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5LCB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqQGludGVybmFsICovXG5jbGFzcyBJbnRlcm5hbEFsZXJ0T2plY3Qge1xuXHRpZDogc3RyaW5nO1xuXHRkZWxldGVkID0gZmFsc2U7XG5cdGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB0eXBlOiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InLCBwdWJsaWMgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5pZCA9IGBidWktYWxlcnQtY29udC1hbGVydC0ke2dlbmVyYXRlSUQoKX1gO1xuXHR9XG59XG5cbi8qKlxuICogVXNlIHRoaXMgY29tcG9uZW50IGluIGEgZGVzaWduYXRlZCBhcmVhIG9mIGEgcGFnZSBmb3IgZGlzcGxheWluZyBub3RpZmljYXRpb24gbWVzc2FnZXNcbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2J1aS1hbGVydC1jb250YWluZXInLFxuXHR0ZW1wbGF0ZVVybDogJy4vYWxlcnQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vYWxlcnQtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG5cdGhvc3Q6IHtcblx0XHQnW2NsYXNzXSc6IGAnYnVpLWFsZXJ0LWNvbnRhaW5lciBidWktaG9zdCBidWktYWxlcnQtY29udGFpbmVyLScgKyAoX3JlbWFpbmluZy5sZW5ndGggPyAnbm90LWVtcHR5JzogJ2VtcHR5JylgXG5cdH0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRhbmltYXRpb25zOiBbXG5cdFx0dHJpZ2dlcignZmxvYXRUcmFuc2l0aW9uJywgW1xuXHRcdFx0dHJhbnNpdGlvbignOmVudGVyJywgW3N0eWxlKHsgb3BhY2l0eTogJzAnLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMHZoKScgfSksIGFuaW1hdGUoJy4zcyBlYXNlLWluJyldKSxcblx0XHRcdHRyYW5zaXRpb24oJzpsZWF2ZScsIFthbmltYXRlKCcuNHMgZWFzZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwdmgpJywgb3BhY2l0eTogJzAnIH0pKV0pXG5cdFx0XSksXG5cdFx0dHJpZ2dlcignYWxlcnRUcmFuc2l0aW9uJywgW1xuXHRcdFx0c3RhdGUoJ3Zpc2libGUnLCBzdHlsZSh7fSkpLFxuXHRcdFx0c3RhdGUoXG5cdFx0XHRcdCdoaWRkZW4nLFxuXHRcdFx0XHRzdHlsZSh7XG5cdFx0XHRcdFx0aGVpZ2h0OiAwLFxuXHRcdFx0XHRcdG92ZXJmbG93OiAnaGlkZGVuJyxcblx0XHRcdFx0XHR0cmFuc2Zvcm06ICdzY2FsZVkoMCknLFxuXHRcdFx0XHRcdG9wYWNpdHk6IDAsXG5cdFx0XHRcdFx0J21hcmdpbi10b3AnOiAnLTFyZW0nXG5cdFx0XHRcdH0pXG5cdFx0XHQpLFxuXHRcdFx0dHJhbnNpdGlvbigndm9pZCA9PiB2aXNpYmxlJywgW1xuXHRcdFx0XHRzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTAwJSknLCBoZWlnaHQ6IDAsIG9wYWNpdHk6ICcwJyB9KSxcblx0XHRcdFx0YW5pbWF0ZSgnMjUwbXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMCwgMC41OCwgMS4wKScpXG5cdFx0XHRdKSxcblx0XHRcdHRyYW5zaXRpb24oJ3Zpc2libGUgPT4gaGlkZGVuJywgW2FuaW1hdGUoJzI1MG1zIGN1YmljLWJlemllcigwLjI1LCAwLCAwLjMsIDEuMCknKV0pXG5cdFx0XSlcblx0XVxufSlcbmV4cG9ydCBjbGFzcyBBbGVydENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblx0LyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBtZXNzYWdlcyBkaXNwbGF5ZWQgaW4gdGhlIGNvbnRhaW5lciBhcmVhLiAqL1xuXHRASW5wdXQoKVxuXHRtYXggPSA1O1xuXG5cdC8qKlxuXHQgKiBUaGlzIHByb3BlcnR5IGRldGVybWluZXMgdGhlIGJlaGF2aW9yIGZvciBkaXNwbGF5aW5nIHRoZSBub3RpZmljYXRpb25zIHdoZW4gdGhlIGNvbnRhaW5lciBpcyBvdXRzaWRlIHRoZSB2aWV3cG9ydC5cblx0ICpcblx0ICogYHNjcm9sbGA6IFRoZSBjb21wb25lbnQgd2lsbCB0cnkgdG8gc2Nyb2xsIHRvIHJldmVhbCB0aGUgbmV3IG5vdGlmaWNhdGlvbnMuXG5cdCAqIGBmbG9hdGA6IFRoZSBjb21wb25lbnQgd2lsbCBmbG9hdCB0aGUgYWxlcnQgcGFuZWwgdG8gdGhlIGNlbnRlciBvZiB0aGUgc2NyZWVuIGZvciBhIGNvdXBsZSBvZiBzZWNvbmRzIGFuZCBtb3ZlIGl0IGJhY2sgdG8gdGhlIG9yaWdpbmFsIHBvc2l0aW9uLlxuXHQgKi9cblx0QElucHV0KClcblx0b3V0c2lkZVZpZXdwb3J0QmVoYXZpb3I6ICdzY3JvbGwnIHwgJ2Zsb2F0JyA9ICdmbG9hdCc7XG5cblx0LyoqXG5cdCAqIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGZvciB3aGljaCB0aGUgYWxlcnQgY29udGFpbmVyIHdpbGwgYmUgZmxvYXRlZCB3aGVuIG5ldyBub3RpZmljYXRpb24gYXJyaXZlcy5cblx0ICpcblx0ICogVGhpcyB3aWxsIG9ubHkgdGFrZSBlZmZlY3Qgd2hlbiBgb3V0c2lkZVZpZXdwb3J0QmVoYXZpb3JgIGlzIHNldCB0byBgZmxvYXRgIGFuZCB0aGUgY29udGFpbmVyIGlzIG91dHNpZGUgdGhlIHZpZXdwb3J0LlxuXHQgKi9cblx0QElucHV0KClcblx0ZmxvYXREdXJhdGlvbiA9IDIwMDA7XG5cblx0LyoqQGludGVybmFsICovXG5cdF9hbGVydHM6IEludGVybmFsQWxlcnRPamVjdFtdID0gW107XG5cdC8qKkBpbnRlcm5hbCAqL1xuXHRfZmxvYXRlZCA9IGZhbHNlO1xuXHQvKipAaW50ZXJuYWwgKi9cblx0X2Zsb2F0UGFuZWxIaWRkZW4gPSB0cnVlO1xuXG5cdC8qKiBAaWdub3JlIEVtaXRzIHdoZW5ldmVyIHRoZSBhbmltYXRpb24gaXMgc3RhcnRlZC4gKi9cblx0cmVhZG9ubHkgX2FuaW1hdGlvblN0YXJ0ZWQgPSBuZXcgU3ViamVjdDxBbmltYXRpb25FdmVudD4oKTtcblx0LyoqIEBpZ25vcmUgRW1pdHMgd2hlbmV2ZXIgdGhlIGFuaW1hdGlvbiBpcyBkb25lLiAqL1xuXHRyZWFkb25seSBfYW5pbWF0aW9uRW5kZWQgPSBuZXcgU3ViamVjdDxBbmltYXRpb25FdmVudD4oKTtcblxuXHRwcml2YXRlIF9kZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblx0cHJpdmF0ZSBfZW5kRmxvYXRpbmdTdWI/OiBTdWJzY3JpcHRpb247XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG5cdFx0cHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cdFx0cHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG5cdFx0cHJpdmF0ZSBzY3JvbGw6IFNjcm9sbERpc3BhdGNoZXJcblx0KSB7fVxuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdGNvbnN0IGNoZWNrU2Nyb2xsID0gKCkgPT4ge1xuXHRcdFx0aWYgKGlzRWxlbWVudEluVmlld3BvcnQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSkge1xuXHRcdFx0XHR0aGlzLl9lbmRGbG9hdGluZygpO1xuXHRcdFx0fVxuXHRcdH07XG5cdFx0dGhpcy5zY3JvbGxcblx0XHRcdC5hbmNlc3RvclNjcm9sbGVkKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudClcblx0XHRcdC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQkKSlcblx0XHRcdC5zdWJzY3JpYmUoY2hlY2tTY3JvbGwpO1xuXHRcdGNoZWNrU2Nyb2xsKCk7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLl9kZXN0cm95ZWQkLm5leHQoKTtcblx0XHR0aGlzLl9kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG5cdFx0dGhpcy5fZW5kRmxvYXRpbmdTdWI/LnVuc3Vic2NyaWJlKCk7XG5cdH1cblxuXHQvKipAaW50ZXJuYWwgKi9cblx0Z2V0IF9yZW1haW5pbmcoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2FsZXJ0cy5maWx0ZXIoYSA9PiAhYS5kZWxldGVkKTtcblx0fVxuXG5cdC8qKkBpbnRlcm5hbCAqL1xuXHRnZXQgX3dpZHRoKCkge1xuXHRcdHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG5cdH1cblxuXHQvKiogQWRkIGEgbWVzc2FnZSB0byB0aGUgbm90aWZpY2F0aW9uIGFyZWEgKi9cblx0YXN5bmMgbm90aWZ5KHR5cGU6ICdzdWNjZXNzJyB8ICdpbmZvJyB8ICd3YXJuJyB8ICdlcnJvcicsIG1lc3NhZ2U6IHN0cmluZykge1xuXHRcdHRoaXMuX2VuZEZsb2F0aW5nU3ViPy51bnN1YnNjcmliZSgpO1xuXHRcdGNvbnN0IGR1cGxpY2F0ZSA9IHRoaXMuX3JlbWFpbmluZy5maW5kKF9hID0+IG1lc3NhZ2UgPT09IF9hLm1lc3NhZ2UpO1xuXHRcdGlmIChkdXBsaWNhdGUpIHtcblx0XHRcdHRoaXMuX2Rpc21pc3MoZHVwbGljYXRlKTtcblx0XHR9XG5cblx0XHRjb25zdCByZW1haW5pbmcgPSB0aGlzLl9yZW1haW5pbmc7XG5cdFx0aWYgKHJlbWFpbmluZy5sZW5ndGggPj0gdGhpcy5tYXgpIHtcblx0XHRcdHRoaXMuX2Rpc21pc3MocmVtYWluaW5nWzBdKTtcblx0XHR9XG5cblx0XHRjb25zdCBhID0gbmV3IEludGVybmFsQWxlcnRPamVjdCh0eXBlLCBtZXNzYWdlKTtcblx0XHRhd2FpdCB0aGlzLl9jaGVja1ZpZXdwb3J0KCk7XG5cdFx0dGhpcy56b25lLnJ1bigoKSA9PiB7XG5cdFx0XHR0aGlzLl9hbGVydHMucHVzaChhKTtcblx0XHRcdHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG5cdFx0fSk7XG5cdH1cblxuXHQvKipAaWdub3JlICovXG5cdGFzeW5jIF9jaGVja1ZpZXdwb3J0KCkge1xuXHRcdGlmICghaXNFbGVtZW50SW5WaWV3cG9ydCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpKSB7XG5cdFx0XHRpZiAodGhpcy5vdXRzaWRlVmlld3BvcnRCZWhhdmlvciA9PT0gJ2Zsb2F0Jykge1xuXHRcdFx0XHRjb25zdCBkID0gdGhpcy5fZmxvYXRlZCA/IDAgOiAxMDA7XG5cdFx0XHRcdHRoaXMuX2Zsb2F0ZWQgPSB0cnVlO1xuXHRcdFx0XHR0aGlzLl9mbG9hdFBhbmVsSGlkZGVuID0gZmFsc2U7XG5cdFx0XHRcdHRoaXMuX2VuZEZsb2F0aW5nKHRoaXMuZmxvYXREdXJhdGlvbik7XG5cdFx0XHRcdHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG5cdFx0XHRcdGF3YWl0IHRpbWVyKGQpLnRvUHJvbWlzZSgpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICdzdGFydCcsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipAaWdub3JlICovXG5cdGFzeW5jIF9kaXNtaXNzKGE6IEludGVybmFsQWxlcnRPamVjdCkge1xuXHRcdGNvbnN0IGlkID0gYS5pZDtcblx0XHRhLmRlbGV0ZWQgPSB0cnVlO1xuXHRcdHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG5cdFx0YXdhaXQgdGhpcy5fYW5pbWF0aW9uRW5kZWQucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcblx0XHR0aGlzLnpvbmUucnVuKCgpID0+IHtcblx0XHRcdHRoaXMuX2FsZXJ0cyA9IHRoaXMuX2FsZXJ0cy5maWx0ZXIoX2EgPT4gX2EuaWQgIT09IGlkKTtcblx0XHRcdHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG5cdFx0fSk7XG5cdH1cblxuXHQvKiogUmVtb3ZlIGFsbCBtZXNzYWdlcyBjdXJyZW50bHkgZGlzcGxheWVkLiAqL1xuXHRhc3luYyBjbGVhcigpIHtcblx0XHRhd2FpdCBQcm9taXNlLmFsbCh0aGlzLl9yZW1haW5pbmcubWFwKGEgPT4gdGhpcy5fZGlzbWlzcyhhKSkpO1xuXHRcdHRoaXMuX2VuZEZsb2F0aW5nKCk7XG5cdH1cblxuXHRwcml2YXRlIF9lbmRGbG9hdGluZyhfZGVsYXkgPSAwKSB7XG5cdFx0aWYgKCF0aGlzLl9mbG9hdGVkKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuX2VuZEZsb2F0aW5nU3ViPy51bnN1YnNjcmliZSgpO1xuXHRcdHRoaXMuX2VuZEZsb2F0aW5nU3ViID0gdGltZXIoX2RlbGF5KVxuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdHRhcCgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5fZmxvYXRlZCA9IGZhbHNlO1xuXHRcdFx0XHRcdHRoaXMuem9uZS5ydW4oKCkgPT4gdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKSk7XG5cdFx0XHRcdH0pLFxuXHRcdFx0XHRkZWxheSg0MDApXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdFx0dGhpcy5fZmxvYXRQYW5lbEhpZGRlbiA9IHRydWU7XG5cdFx0XHRcdHRoaXMuem9uZS5ydW4oKCkgPT4gdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKSk7XG5cdFx0XHR9KTtcblx0fVxufVxuIiwiPGRpdlxuXHRjbGFzcz1cImJ1aS1hbGVydC1maXhlZC1wYW5lbFwiXG5cdFtzdHlsZS5vcGFjaXR5XT1cIl9mbG9hdFBhbmVsSGlkZGVuID8gMSA6IDBcIlxuXHRbY2xhc3MuYnVpLWFsZXJ0LWZpeGVkLXBhbmVsLWJsaW5rXT1cIm91dHNpZGVWaWV3cG9ydEJlaGF2aW9yID09PSAnc2Nyb2xsJ1wiXG4+XG5cdDxidWktYWxlcnRcblx0XHQqbmdGb3I9XCJsZXQgYSBvZiBfYWxlcnRzXCJcblx0XHRbaWRdPVwiYS5pZFwiXG5cdFx0W3R5cGVdPVwiYS50eXBlXCJcblx0XHRbbWVzc2FnZV09XCJhLm1lc3NhZ2VcIlxuXHRcdGRpc21pc3NpYmxlXG5cdFx0W0BhbGVydFRyYW5zaXRpb25dPVwiYS5kZWxldGVkID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIlxuXHRcdChAYWxlcnRUcmFuc2l0aW9uLnN0YXJ0KT1cIl9hbmltYXRpb25TdGFydGVkLm5leHQoJGV2ZW50KVwiXG5cdFx0KEBhbGVydFRyYW5zaXRpb24uZG9uZSk9XCJfYW5pbWF0aW9uRW5kZWQubmV4dCgkZXZlbnQpXCJcblx0XHQoZGlzbWlzc2VkKT1cIl9kaXNtaXNzKGEpXCJcblx0PjwvYnVpLWFsZXJ0PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJidWktYWxlcnQtZmxvYXQtcGFuZWwtZnJhbWVcIiBbaGlkZGVuXT1cIl9mbG9hdFBhbmVsSGlkZGVuXCIgW2NsYXNzLmJ1aS1hbGVydC1mbG9hdC1wYW5lbC1zaGFkZWRdPVwiX2Zsb2F0ZWRcIj5cblx0PGRpdiBjbGFzcz1cImJ1aS1hbGVydC1mbG9hdC1wYW5lbFwiIFtzdHlsZS5tYXgtd2lkdGhdPVwiX3dpZHRoICsgJ3B4J1wiIFtAZmxvYXRUcmFuc2l0aW9uXT1cIid2aXNpYmxlJ1wiICpuZ0lmPVwiX2Zsb2F0ZWRcIj5cblx0XHQ8YnVpLWFsZXJ0XG5cdFx0XHQqbmdGb3I9XCJsZXQgYSBvZiBfYWxlcnRzXCJcblx0XHRcdFtpZF09XCJhLmlkXCJcblx0XHRcdFt0eXBlXT1cImEudHlwZVwiXG5cdFx0XHRbbWVzc2FnZV09XCJhLm1lc3NhZ2VcIlxuXHRcdFx0W0BhbGVydFRyYW5zaXRpb25dPVwiYS5kZWxldGVkID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIlxuXHRcdD48L2J1aS1hbGVydD5cblx0PC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
3
|
+
import { generateID } from '@bravura/ui/common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/material/icon";
|
|
7
|
+
import * as i3 from "@bravura/ui/icon-font";
|
|
8
|
+
import * as i4 from "@angular/material/button";
|
|
9
|
+
/** @ignore */
|
|
10
|
+
const ICONS = {
|
|
11
|
+
success: 'check_circle',
|
|
12
|
+
info: 'info',
|
|
13
|
+
warn: 'report_problem',
|
|
14
|
+
error: 'cancel'
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* An alert style message usually appears in a global notification area.
|
|
18
|
+
*
|
|
19
|
+
* The base color of the message is determined by the `type` of the message and a list of predefined
|
|
20
|
+
* CSS custom properties.
|
|
21
|
+
*
|
|
22
|
+
* ```scss
|
|
23
|
+
* --bui-color-success: #519602;
|
|
24
|
+
* --bui-color-info: #0dcaf0;
|
|
25
|
+
* --bui-color-warning: #ffc107;
|
|
26
|
+
* --bui-color-error: #dc3545;
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
*
|
|
30
|
+
*/
|
|
31
|
+
export class AlertMessageComponent {
|
|
32
|
+
constructor() {
|
|
33
|
+
/** The type of the message, used to derive the icon and base color. */
|
|
34
|
+
this.type = 'error';
|
|
35
|
+
/** The message to be displayed, HTML supported. */
|
|
36
|
+
this.message = '';
|
|
37
|
+
/** To be emitted when the user choose to dismiss the message. The event object is the ID of the element. */
|
|
38
|
+
this.dismissed = new EventEmitter();
|
|
39
|
+
/** To be emitted when the component finishes initialisation. The event object is the ID of the element. */
|
|
40
|
+
this.initialised = new EventEmitter();
|
|
41
|
+
/** @ignore */
|
|
42
|
+
this._id = `bui-alert-${generateID()}`;
|
|
43
|
+
this._dismissible = false;
|
|
44
|
+
this._blink = false;
|
|
45
|
+
}
|
|
46
|
+
/** Whether to display the button to fire the `dismissed` event. */
|
|
47
|
+
get dismissible() {
|
|
48
|
+
return this._dismissible;
|
|
49
|
+
}
|
|
50
|
+
set dismissible(value) {
|
|
51
|
+
this._dismissible = coerceBooleanProperty(value);
|
|
52
|
+
}
|
|
53
|
+
ngOnInit() {
|
|
54
|
+
this.initialised.emit(this._id);
|
|
55
|
+
}
|
|
56
|
+
/** @ignore */
|
|
57
|
+
get iconName() {
|
|
58
|
+
return ICONS[this.type];
|
|
59
|
+
}
|
|
60
|
+
/** @ignore */
|
|
61
|
+
_dismiss() {
|
|
62
|
+
this.dismissed.emit(this._id);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
AlertMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AlertMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
+
AlertMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: AlertMessageComponent, selector: "bui-alert", inputs: { type: "type", message: "message", dismissible: "dismissible", _id: ["id", "_id"] }, outputs: { dismissed: "dismissed", initialised: "initialised" }, host: { attributes: { "role": "alert" }, properties: { "class": "'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')", "id": "this._id" } }, ngImport: i0, template: "<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\"><div [innerHTML]=\"message\"></div></div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\"><mat-icon>cancel</mat-icon></button>\n</div>\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;top:0;right:0;bottom:0;left:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{display:flex;align-items:center;z-index:1}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.IconDirective, selector: "[buiIcon]", inputs: ["buiIcon", "size", "variant"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AlertMessageComponent, decorators: [{
|
|
68
|
+
type: Component,
|
|
69
|
+
args: [{ selector: 'bui-alert', host: {
|
|
70
|
+
'[class]': `'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')`,
|
|
71
|
+
role: 'alert'
|
|
72
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\"><div [innerHTML]=\"message\"></div></div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\"><mat-icon>cancel</mat-icon></button>\n</div>\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;top:0;right:0;bottom:0;left:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{display:flex;align-items:center;z-index:1}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}\n"] }]
|
|
73
|
+
}], ctorParameters: function () { return []; }, propDecorators: { type: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], message: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], dismissible: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], dismissed: [{
|
|
80
|
+
type: Output
|
|
81
|
+
}], initialised: [{
|
|
82
|
+
type: Output
|
|
83
|
+
}],
|
|
84
|
+
/** @ignore */
|
|
85
|
+
_id: [{
|
|
86
|
+
type: Input,
|
|
87
|
+
args: ['id']
|
|
88
|
+
}, {
|
|
89
|
+
type: HostBinding,
|
|
90
|
+
args: ['id']
|
|
91
|
+
}] } });
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9hbGVydC9hbGVydC1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2FsZXJ0L2FsZXJ0LW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7QUFFaEQsY0FBYztBQUNkLE1BQU0sS0FBSyxHQUFRO0lBQ2xCLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLGdCQUFnQjtJQUN0QixLQUFLLEVBQUUsUUFBUTtDQUNmLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQVdILE1BQU0sT0FBTyxxQkFBcUI7SUF1Q2pDO1FBakNBLHdFQUF3RTtRQUV4RSxTQUFJLEdBQTBDLE9BQU8sQ0FBQztRQUV0RCxvREFBb0Q7UUFFcEQsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQVdiLDZHQUE2RztRQUU3RyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV2Qyw0R0FBNEc7UUFFNUcsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBSXpDLGNBQWM7UUFDZCxRQUFHLEdBQUcsYUFBYSxVQUFVLEVBQUUsRUFBRSxDQUFDO1FBRTFCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLFdBQU0sR0FBRyxLQUFLLENBQUM7SUFFUixDQUFDO0lBekJoQixtRUFBbUU7SUFDbkUsSUFDSSxXQUFXO1FBQ2QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxLQUFVO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQW9CRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxjQUFjO0lBQ2QsSUFBSSxRQUFRO1FBQ1gsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxjQUFjO0lBQ2QsUUFBUTtRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDOztrSEFyRFcscUJBQXFCO3NHQUFyQixxQkFBcUIsZ2FDckNsQyxrakJBY0E7MkZEdUJhLHFCQUFxQjtrQkFWakMsU0FBUzsrQkFDQyxXQUFXLFFBR2Y7d0JBQ0wsU0FBUyxFQUFFLHdIQUF3SDt3QkFDbkksSUFBSSxFQUFFLE9BQU87cUJBQ2IsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07MEVBVS9DLElBQUk7c0JBREgsS0FBSztnQkFLTixPQUFPO3NCQUROLEtBQUs7Z0JBS0YsV0FBVztzQkFEZCxLQUFLO2dCQVVOLFNBQVM7c0JBRFIsTUFBTTtnQkFLUCxXQUFXO3NCQURWLE1BQU07O1FBS1AsY0FBYztRQUNkLEdBQUc7c0JBSEYsS0FBSzt1QkFBQyxJQUFJOztzQkFDVixXQUFXO3VCQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZW5lcmF0ZUlEIH0gZnJvbSAnQGJyYXZ1cmEvdWkvY29tbW9uJztcblxuLyoqIEBpZ25vcmUgKi9cbmNvbnN0IElDT05TOiBhbnkgPSB7XG5cdHN1Y2Nlc3M6ICdjaGVja19jaXJjbGUnLFxuXHRpbmZvOiAnaW5mbycsXG5cdHdhcm46ICdyZXBvcnRfcHJvYmxlbScsXG5cdGVycm9yOiAnY2FuY2VsJ1xufTtcblxuLyoqXG4gKiBBbiBhbGVydCBzdHlsZSBtZXNzYWdlIHVzdWFsbHkgYXBwZWFycyBpbiBhIGdsb2JhbCBub3RpZmljYXRpb24gYXJlYS5cbiAqXG4gKiBUaGUgYmFzZSBjb2xvciBvZiB0aGUgbWVzc2FnZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBgdHlwZWAgb2YgdGhlIG1lc3NhZ2UgYW5kIGEgbGlzdCBvZiBwcmVkZWZpbmVkXG4gKiBDU1MgY3VzdG9tIHByb3BlcnRpZXMuXG4gKlxuICogYGBgc2Nzc1xuICogLS1idWktY29sb3Itc3VjY2VzczogIzUxOTYwMjtcbiAqIC0tYnVpLWNvbG9yLWluZm86ICMwZGNhZjA7XG4gKiAtLWJ1aS1jb2xvci13YXJuaW5nOiAjZmZjMTA3O1xuICogLS1idWktY29sb3ItZXJyb3I6ICNkYzM1NDU7XG4gKiBgYGBcbiAqXG4gKlxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdidWktYWxlcnQnLFxuXHR0ZW1wbGF0ZVVybDogJy4vYWxlcnQtbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL2FsZXJ0LW1lc3NhZ2UuY29tcG9uZW50LnNjc3MnXSxcblx0aG9zdDoge1xuXHRcdCdbY2xhc3NdJzogYCdidWktYWxlcnQgYnVpLWhvc3QgYnVpLWFsZXJ0LScgKyAodHlwZSA9PT0gJ3dhcm4nID8gJ3dhcm5pbmcnIDogdHlwZSkgKyAoZGlzbWlzc2libGUgPyAnIGJ1aS1hbGVydC1kaXNtaXNzaWJsZScgOiAnJylgLFxuXHRcdHJvbGU6ICdhbGVydCdcblx0fSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQWxlcnRNZXNzYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblx0LyoqIEBpZ25vcmUgKi9cblx0c3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Rpc21pc3NpYmxlOiBib29sZWFuIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcblx0LyoqIEBpZ25vcmUgKi9cblx0c3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2JsaW5rOiBib29sZWFuIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuXHQvKiogVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2UsIHVzZWQgdG8gZGVyaXZlIHRoZSBpY29uIGFuZCBiYXNlIGNvbG9yLiAgKi9cblx0QElucHV0KClcblx0dHlwZTogJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ3dhcm4nIHwgJ2Vycm9yJyA9ICdlcnJvcic7XG5cblx0LyoqIFRoZSBtZXNzYWdlIHRvIGJlIGRpc3BsYXllZCwgSFRNTCBzdXBwb3J0ZWQuICAqL1xuXHRASW5wdXQoKVxuXHRtZXNzYWdlID0gJyc7XG5cblx0LyoqIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgYnV0dG9uIHRvIGZpcmUgdGhlIGBkaXNtaXNzZWRgIGV2ZW50LiAqL1xuXHRASW5wdXQoKVxuXHRnZXQgZGlzbWlzc2libGUoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2Rpc21pc3NpYmxlO1xuXHR9XG5cdHNldCBkaXNtaXNzaWJsZSh2YWx1ZTogYW55KSB7XG5cdFx0dGhpcy5fZGlzbWlzc2libGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuXHR9XG5cblx0LyoqIFRvIGJlIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBjaG9vc2UgdG8gZGlzbWlzcyB0aGUgbWVzc2FnZS4gVGhlIGV2ZW50IG9iamVjdCBpcyB0aGUgSUQgb2YgdGhlIGVsZW1lbnQuICAqL1xuXHRAT3V0cHV0KClcblx0ZGlzbWlzc2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cblx0LyoqIFRvIGJlIGVtaXR0ZWQgd2hlbiB0aGUgY29tcG9uZW50IGZpbmlzaGVzIGluaXRpYWxpc2F0aW9uLiBUaGUgZXZlbnQgb2JqZWN0IGlzIHRoZSBJRCBvZiB0aGUgZWxlbWVudC4gICovXG5cdEBPdXRwdXQoKVxuXHRpbml0aWFsaXNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG5cdEBJbnB1dCgnaWQnKVxuXHRASG9zdEJpbmRpbmcoJ2lkJylcblx0LyoqIEBpZ25vcmUgKi9cblx0X2lkID0gYGJ1aS1hbGVydC0ke2dlbmVyYXRlSUQoKX1gO1xuXG5cdHByaXZhdGUgX2Rpc21pc3NpYmxlID0gZmFsc2U7XG5cdHByaXZhdGUgX2JsaW5rID0gZmFsc2U7XG5cblx0Y29uc3RydWN0b3IoKSB7fVxuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuaW5pdGlhbGlzZWQuZW1pdCh0aGlzLl9pZCk7XG5cdH1cblxuXHQvKiogQGlnbm9yZSAqL1xuXHRnZXQgaWNvbk5hbWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gSUNPTlNbdGhpcy50eXBlXTtcblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdF9kaXNtaXNzKCkge1xuXHRcdHRoaXMuZGlzbWlzc2VkLmVtaXQodGhpcy5faWQpO1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYnVpLWFsZXJ0LWJhY2tkcm9wXCI+PC9kaXY+XG48ZGl2IGNsYXNzPVwiYnVpLWFsZXJ0LWZyYW1lXCI+PC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJidWktYWxlcnQtd3JhcHBlclwiPlxuXHQ8ZGl2IGNsYXNzPVwiYnVpLWFsZXJ0LWljb24tYXJlYVwiPlxuXHRcdDxtYXQtaWNvbiBbYnVpSWNvbl09XCJpY29uTmFtZVwiIHZhcmlhbnQ9XCJvdXRsaW5lZFwiPjwvbWF0LWljb24+XG5cdDwvZGl2PlxuXHQ8ZGl2IGNsYXNzPVwiYnVpLWFsZXJ0LWNvbnRlbnRcIj48ZGl2IFtpbm5lckhUTUxdPVwibWVzc2FnZVwiPjwvZGl2PjwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJidWktYWxlcnQtYnV0dG9uLWFyZWFcIiAqbmdJZj1cImRpc21pc3NpYmxlXCI+XG5cdDxkaXYgY2xhc3M9XCJidWktYWxlcnQtYnV0dG9uLWJhY2tkcm9wXCI+PC9kaXY+XG5cdDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNsYXNzPVwiYnVpLWFsZXJ0LWJ1dHRvblwiIChjbGljayk9XCJfZGlzbWlzcygpXCI+PG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { IconFontModule } from '@bravura/ui/icon-font';
|
|
5
|
+
import { AlertContainerComponent } from './alert-container.component';
|
|
6
|
+
import { AlertMessageComponent } from './alert-message.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class AlertModule {
|
|
9
|
+
}
|
|
10
|
+
AlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
AlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: AlertModule, declarations: [AlertMessageComponent, AlertContainerComponent], imports: [CommonModule, IconFontModule, MatButtonModule], exports: [AlertMessageComponent, AlertContainerComponent] });
|
|
12
|
+
AlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AlertModule, imports: [CommonModule, IconFontModule, MatButtonModule] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AlertModule, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
declarations: [AlertMessageComponent, AlertContainerComponent],
|
|
17
|
+
imports: [CommonModule, IconFontModule, MatButtonModule],
|
|
18
|
+
exports: [AlertMessageComponent, AlertContainerComponent]
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
export { AlertMessageComponent, AlertContainerComponent };
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYWxlcnQvYWxlcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBT2xFLE1BQU0sT0FBTyxXQUFXOzt3R0FBWCxXQUFXO3lHQUFYLFdBQVcsaUJBSlIscUJBQXFCLEVBQUUsdUJBQXVCLGFBQ25ELFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxhQUM3QyxxQkFBcUIsRUFBRSx1QkFBdUI7eUdBRTVDLFdBQVcsWUFIYixZQUFZLEVBQUUsY0FBYyxFQUFFLGVBQWU7MkZBRzNDLFdBQVc7a0JBTHZCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMscUJBQXFCLEVBQUUsdUJBQXVCLENBQUM7b0JBQzlELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDO29CQUN4RCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSx1QkFBdUIsQ0FBQztpQkFDekQ7O0FBR0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHVCQUF1QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uRm9udE1vZHVsZSB9IGZyb20gJ0BicmF2dXJhL3VpL2ljb24tZm9udCc7XG5pbXBvcnQgeyBBbGVydENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vYWxlcnQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL2FsZXJ0LW1lc3NhZ2UuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcblx0ZGVjbGFyYXRpb25zOiBbQWxlcnRNZXNzYWdlQ29tcG9uZW50LCBBbGVydENvbnRhaW5lckNvbXBvbmVudF0sXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Gb250TW9kdWxlLCBNYXRCdXR0b25Nb2R1bGVdLFxuXHRleHBvcnRzOiBbQWxlcnRNZXNzYWdlQ29tcG9uZW50LCBBbGVydENvbnRhaW5lckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQWxlcnRNb2R1bGUge31cblxuZXhwb3J0IHsgQWxlcnRNZXNzYWdlQ29tcG9uZW50LCBBbGVydENvbnRhaW5lckNvbXBvbmVudCB9O1xuIl19
|
|
File without changes
|
|
File without changes
|