@bravobit/bb-foundation 0.21.6 → 0.22.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/auth/lib/auth.interceptor.d.ts +1 -1
- package/auth/lib/auth.module.d.ts +4 -5
- package/auth/lib/auth.service.d.ts +4 -7
- package/auth/lib/directives/abstract.directive.d.ts +12 -0
- package/auth/lib/directives/authenticated.directive.d.ts +7 -4
- package/auth/lib/directives/permission.directive.d.ts +11 -11
- package/auth/lib/guards/anonymous.guard.d.ts +8 -5
- package/auth/lib/guards/authenticated.guard.d.ts +8 -5
- package/auth/lib/guards/permission.guard.d.ts +15 -0
- package/auth/lib/interfaces/config.interface.d.ts +14 -8
- package/auth/lib/interfaces/permission.interface.d.ts +6 -0
- package/auth/lib/interfaces/provider.interface.d.ts +10 -3
- package/auth/lib/permissions/permissions.handler.d.ts +9 -0
- package/auth/lib/permissions/permissions.service.d.ts +16 -0
- package/auth/lib/providers/email.provider.d.ts +2 -8
- package/auth/lib/providers/verify.provider.d.ts +2 -6
- package/auth/public_api.d.ts +4 -4
- package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +5 -1
- package/controls/lib/control-error/control-error/control-error.animation.d.ts +1 -0
- package/controls/lib/control-error/control-error/control-error.component.d.ts +17 -0
- package/controls/lib/control-error/control-error-submit.directive.d.ts +15 -0
- package/controls/lib/control-error/control-error.defaults.d.ts +2 -0
- package/controls/lib/control-error/control-error.interface.d.ts +12 -0
- package/controls/lib/control-error/control-error.module.d.ts +9 -0
- package/controls/lib/controls.interfaces.d.ts +4 -0
- package/controls/lib/controls.module.d.ts +7 -2
- package/controls/lib/form-control/form-control/form-control.component.d.ts +31 -0
- package/controls/lib/form-control/form-control-addon/form-control-addon.component.d.ts +6 -0
- package/controls/lib/form-control/form-control-input.directive.d.ts +35 -0
- package/controls/lib/form-control/form-control.module.d.ts +11 -0
- package/controls/public_api.d.ts +9 -0
- package/dashboard/lib/dashboard/dashboard.component.d.ts +2 -1
- package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +10 -5
- package/dialog/lib/dialog-container/dialog-container.animations.d.ts +1 -0
- package/dialog/lib/dialog-container/dialog-container.component.d.ts +5 -7
- package/dialog/lib/dialog-header/dialog-header.component.d.ts +1 -3
- package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +7 -3
- package/dialog/lib/dialog-overlay/dialog-overlay.animations.d.ts +1 -0
- package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +5 -7
- package/dialog/lib/dialog.service.d.ts +4 -3
- package/elements/lib/directives/focus-trap.directive.d.ts +1 -1
- package/elements/lib/directives/focus.directive.d.ts +1 -3
- package/elements/lib/pipes/file-image.pipe.d.ts +2 -1
- package/esm2020/auth/lib/auth.interceptor.mjs +9 -12
- package/esm2020/auth/lib/auth.module.mjs +7 -17
- package/esm2020/auth/lib/auth.service.mjs +29 -55
- package/esm2020/auth/lib/directives/abstract.directive.mjs +40 -0
- package/esm2020/auth/lib/directives/authenticated.directive.mjs +25 -14
- package/esm2020/auth/lib/directives/permission.directive.mjs +24 -46
- package/esm2020/auth/lib/guards/anonymous.guard.mjs +28 -19
- package/esm2020/auth/lib/guards/authenticated.guard.mjs +31 -20
- package/esm2020/auth/lib/guards/permission.guard.mjs +53 -0
- package/esm2020/auth/lib/helpers/jwt.helper.mjs +7 -7
- package/esm2020/auth/lib/interfaces/config.interface.mjs +1 -1
- package/esm2020/auth/lib/interfaces/permission.interface.mjs +2 -0
- package/esm2020/auth/lib/interfaces/provider.interface.mjs +1 -1
- package/esm2020/auth/lib/permissions/permissions.handler.mjs +33 -0
- package/esm2020/auth/lib/permissions/permissions.service.mjs +64 -0
- package/esm2020/auth/lib/providers/email.provider.mjs +8 -9
- package/esm2020/auth/lib/providers/verify.provider.mjs +8 -5
- package/esm2020/auth/public_api.mjs +5 -5
- package/esm2020/collections/lib/collections.module.mjs +4 -4
- package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +3 -3
- package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +3 -3
- package/esm2020/collections/lib/components/collections.directive.mjs +12 -12
- package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +19 -6
- package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +4 -4
- package/esm2020/controls/lib/checkbox/checkbox.module.mjs +4 -4
- package/esm2020/controls/lib/control-error/control-error/control-error.animation.mjs +14 -0
- package/esm2020/controls/lib/control-error/control-error/control-error.component.mjs +63 -0
- package/esm2020/controls/lib/control-error/control-error-submit.directive.mjs +47 -0
- package/esm2020/controls/lib/control-error/control-error.defaults.mjs +26 -0
- package/esm2020/controls/lib/control-error/control-error.interface.mjs +3 -0
- package/esm2020/controls/lib/control-error/control-error.module.mjs +19 -0
- package/esm2020/controls/lib/controls.interfaces.mjs +2 -0
- package/esm2020/controls/lib/controls.module.mjs +45 -8
- package/esm2020/controls/lib/form-control/form-control/form-control.component.mjs +94 -0
- package/esm2020/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +22 -0
- package/esm2020/controls/lib/form-control/form-control-input.directive.mjs +124 -0
- package/esm2020/controls/lib/form-control/form-control.module.mjs +33 -0
- package/esm2020/controls/public_api.mjs +10 -1
- package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +7 -6
- package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
- package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
- package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +3 -3
- package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
- package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +3 -3
- package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
- package/esm2020/dashboard/lib/dashboard.module.mjs +4 -4
- package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
- package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +17 -11
- package/esm2020/dialog/lib/dialog-container/dialog-container.animations.mjs +29 -0
- package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +28 -104
- package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +7 -14
- package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +4 -4
- package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +29 -8
- package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.animations.mjs +26 -0
- package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +29 -84
- package/esm2020/dialog/lib/dialog.insertion.mjs +3 -3
- package/esm2020/dialog/lib/dialog.module.mjs +4 -4
- package/esm2020/dialog/lib/dialog.service.mjs +8 -7
- package/esm2020/elements/lib/avatar/avatar.component.mjs +8 -6
- package/esm2020/elements/lib/button/button.component.mjs +6 -6
- package/esm2020/elements/lib/checkbox/checkbox.component.mjs +3 -3
- package/esm2020/elements/lib/date-picker/date-picker.component.mjs +3 -3
- package/esm2020/elements/lib/directives/addon.directive.mjs +6 -6
- package/esm2020/elements/lib/directives/autosize.directive.mjs +3 -3
- package/esm2020/elements/lib/directives/focus-trap.directive.mjs +5 -5
- package/esm2020/elements/lib/directives/focus.directive.mjs +7 -9
- package/esm2020/elements/lib/directives/form-submit.directive.mjs +3 -3
- package/esm2020/elements/lib/directives/form-submitter.directive.mjs +3 -3
- package/esm2020/elements/lib/directives/input.directive.mjs +6 -6
- package/esm2020/elements/lib/directives/template.directive.mjs +3 -3
- package/esm2020/elements/lib/dropdown/dropdown.component.mjs +6 -6
- package/esm2020/elements/lib/elements.module.mjs +4 -4
- package/esm2020/elements/lib/file-picker/file-picker.component.mjs +3 -3
- package/esm2020/elements/lib/form-control/form-control.component.mjs +3 -3
- package/esm2020/elements/lib/form-error/form-error.component.mjs +3 -3
- package/esm2020/elements/lib/form-group/form-group.component.mjs +3 -3
- package/esm2020/elements/lib/icon/icon.component.mjs +3 -3
- package/esm2020/elements/lib/image-picker/image-picker.component.mjs +3 -3
- package/esm2020/elements/lib/pipes/file-image.pipe.mjs +8 -7
- package/esm2020/elements/lib/pipes/file-size.pipe.mjs +3 -3
- package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +3 -3
- package/esm2020/elements/lib/spinner/spinner.component.mjs +3 -3
- package/esm2020/elements/lib/tag/tag.component.mjs +3 -3
- package/esm2020/http/lib/http.module.mjs +4 -4
- package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +3 -3
- package/esm2020/http/lib/interceptors/error.interceptor.mjs +3 -3
- package/esm2020/lib/core/services/clipboard.service.mjs +5 -5
- package/esm2020/lib/core/services/exif.service.mjs +5 -5
- package/esm2020/lib/core/services/file-loader.service.mjs +3 -3
- package/esm2020/lib/core/services/image-converter.service.mjs +5 -5
- package/esm2020/lib/core/services/languages.service.mjs +3 -3
- package/esm2020/lib/core/services/network.service.mjs +7 -7
- package/esm2020/lib/core/services/patch.service.mjs +7 -7
- package/esm2020/localize/lib/localize.module.mjs +4 -4
- package/esm2020/localize/lib/localize.pipe.mjs +3 -3
- package/esm2020/localize/lib/localize.service.mjs +5 -5
- package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +3 -3
- package/esm2020/localize/lib/views/localize-template-or-string.directive.mjs +3 -3
- package/esm2020/localize/lib/views/localize-template.directive.mjs +3 -3
- package/esm2020/masking/lib/directives/currency-mask.directive.mjs +3 -3
- package/esm2020/masking/lib/directives/date-mask.directive.mjs +3 -3
- package/esm2020/masking/lib/directives/input-mask.directive.mjs +3 -3
- package/esm2020/masking/lib/masking.module.mjs +4 -4
- package/esm2020/masking/lib/masking.service.mjs +3 -3
- package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +5 -5
- package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +7 -7
- package/esm2020/notifications/lib/notifications.module.mjs +4 -4
- package/esm2020/notifications/lib/notifications.service.mjs +5 -5
- package/esm2020/public_api.mjs +1 -2
- package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
- package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +10 -10
- package/esm2020/recaptcha/lib/recaptcha.module.mjs +4 -4
- package/esm2020/storage/lib/storage.service.mjs +5 -5
- package/esm2020/table/lib/components/table/table.component.mjs +9 -9
- package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +3 -3
- package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +3 -3
- package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +3 -3
- package/esm2020/table/lib/table.module.mjs +4 -4
- package/esm2020/theming/lib/themes/checkbox-group.theme.mjs +17 -2
- package/esm2020/theming/lib/themes/checkbox.theme.mjs +35 -2
- package/esm2020/theming/lib/themes/control-error.theme.mjs +11 -0
- package/esm2020/theming/lib/themes/form-control-addon.theme.mjs +6 -0
- package/esm2020/theming/lib/themes/form-control.theme.mjs +45 -0
- package/esm2020/theming/lib/theming.data.mjs +82 -0
- package/esm2020/theming/lib/theming.directive.mjs +38 -0
- package/esm2020/theming/lib/theming.interface.mjs +2 -3
- package/esm2020/theming/lib/theming.module.mjs +12 -34
- package/esm2020/theming/lib/utils/theming.variable.mjs +41 -0
- package/esm2020/theming/public_api.mjs +6 -3
- package/fesm2015/bravobit-bb-foundation-auth.mjs +326 -284
- package/fesm2015/bravobit-bb-foundation-auth.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-collections.mjs +22 -22
- package/fesm2015/bravobit-bb-foundation-controls.mjs +493 -24
- package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-dashboard.mjs +29 -28
- package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-dialog.mjs +185 -233
- package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-elements.mjs +99 -97
- package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-http.mjs +10 -10
- package/fesm2015/bravobit-bb-foundation-localize.mjs +20 -20
- package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-masking.mjs +16 -16
- package/fesm2015/bravobit-bb-foundation-notifications.mjs +18 -17
- package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +16 -16
- package/fesm2015/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-storage.mjs +4 -4
- package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-table.mjs +22 -22
- package/fesm2015/bravobit-bb-foundation-theming.mjs +251 -128
- package/fesm2015/bravobit-bb-foundation-theming.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation.mjs +33 -73
- package/fesm2015/bravobit-bb-foundation.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-auth.mjs +306 -277
- package/fesm2020/bravobit-bb-foundation-auth.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-collections.mjs +22 -22
- package/fesm2020/bravobit-bb-foundation-controls.mjs +477 -24
- package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-dashboard.mjs +29 -28
- package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-dialog.mjs +175 -233
- package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-elements.mjs +99 -97
- package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-http.mjs +10 -10
- package/fesm2020/bravobit-bb-foundation-localize.mjs +20 -20
- package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-masking.mjs +16 -16
- package/fesm2020/bravobit-bb-foundation-notifications.mjs +17 -17
- package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +16 -16
- package/fesm2020/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-storage.mjs +4 -4
- package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-table.mjs +22 -22
- package/fesm2020/bravobit-bb-foundation-theming.mjs +252 -120
- package/fesm2020/bravobit-bb-foundation-theming.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation.mjs +32 -70
- package/fesm2020/bravobit-bb-foundation.mjs.map +1 -1
- package/lib/core/services/clipboard.service.d.ts +2 -2
- package/lib/core/services/exif.service.d.ts +1 -1
- package/lib/core/services/image-converter.service.d.ts +1 -1
- package/lib/core/services/network.service.d.ts +4 -4
- package/lib/core/services/patch.service.d.ts +4 -4
- package/localize/lib/localize.service.d.ts +1 -1
- package/notifications/lib/notifications-item/notifications-item.component.d.ts +1 -1
- package/notifications/lib/notifications.service.d.ts +1 -1
- package/package.json +4 -4
- package/public_api.d.ts +0 -1
- package/recaptcha/lib/recaptcha-loader.service.d.ts +3 -3
- package/storage/lib/storage.service.d.ts +1 -1
- package/theming/lib/themes/checkbox-group.theme.d.ts +14 -3
- package/theming/lib/themes/checkbox.theme.d.ts +30 -17
- package/theming/lib/themes/control-error.theme.d.ts +9 -0
- package/theming/lib/themes/form-control-addon.theme.d.ts +5 -0
- package/theming/lib/themes/form-control.theme.d.ts +32 -0
- package/theming/lib/theming.data.d.ts +17 -0
- package/theming/lib/theming.directive.d.ts +13 -0
- package/theming/lib/theming.interface.d.ts +19 -8
- package/theming/lib/theming.module.d.ts +3 -9
- package/theming/lib/utils/theming.variable.d.ts +16 -0
- package/theming/public_api.d.ts +5 -2
- package/auth/lib/directives/role.directive.d.ts +0 -16
- package/auth/lib/helpers/mapper.helper.d.ts +0 -23
- package/auth/lib/interfaces/mapper.interface.d.ts +0 -19
- package/auth/lib/permissions.service.d.ts +0 -14
- package/esm2020/auth/lib/directives/role.directive.mjs +0 -37
- package/esm2020/auth/lib/helpers/mapper.helper.mjs +0 -35
- package/esm2020/auth/lib/interfaces/mapper.interface.mjs +0 -2
- package/esm2020/auth/lib/permissions.service.mjs +0 -56
- package/esm2020/lib/core/services/platform.service.mjs +0 -42
- package/esm2020/theming/lib/themes/theme.mjs +0 -34
- package/esm2020/theming/lib/theming.service.mjs +0 -77
- package/lib/core/services/platform.service.d.ts +0 -18
- package/theming/lib/themes/theme.d.ts +0 -12
- package/theming/lib/theming.service.d.ts +0 -22
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, Optional, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { BBI_CONTROL_ERRORS } from '../control-error.interface';
|
|
3
|
+
import { controlErrorAnimation } from './control-error.animation';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@bravobit/bb-foundation/localize";
|
|
6
|
+
export class BbiControlError {
|
|
7
|
+
constructor(_localize, _functions) {
|
|
8
|
+
this._localize = _localize;
|
|
9
|
+
this._functions = _functions;
|
|
10
|
+
// Readonly data.
|
|
11
|
+
this.errorFunctions = (this._functions ?? [])
|
|
12
|
+
.reduce((previous, current) => ({ ...previous, ...current }), {});
|
|
13
|
+
// Host bindings.
|
|
14
|
+
this.animation = true;
|
|
15
|
+
// State.
|
|
16
|
+
this.error = null;
|
|
17
|
+
}
|
|
18
|
+
// Inputs.
|
|
19
|
+
set errors(errors) {
|
|
20
|
+
this.error = this.parseError(errors);
|
|
21
|
+
}
|
|
22
|
+
parseError(errors) {
|
|
23
|
+
const errorName = Object.keys(errors ?? {})?.[0] ?? null;
|
|
24
|
+
if (!errorName) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
const errorFunction = this.errorFunctions?.[errorName] ?? this.errorFunctions?.['unknown'] ?? null;
|
|
28
|
+
if (!errorFunction) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
const errorData = errors?.[errorName] ?? {};
|
|
32
|
+
const result = errorFunction(errorData);
|
|
33
|
+
if (!result) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
const resultObject = typeof result === 'string' ? { token: result } : result;
|
|
37
|
+
return this.getErrorSentence(resultObject);
|
|
38
|
+
}
|
|
39
|
+
getErrorSentence(data) {
|
|
40
|
+
return !!this._localize
|
|
41
|
+
? this._localize.translate(data)
|
|
42
|
+
: data?.token;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
BbiControlError.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbiControlError, deps: [{ token: i1.Localize, optional: true }, { token: BBI_CONTROL_ERRORS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
BbiControlError.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbiControlError, selector: "bbi-control-error", inputs: { errors: "errors" }, host: { properties: { "@errorAnimation": "this.animation" }, classAttribute: "bbi-control-error" }, ngImport: i0, template: "{{ error ?? '...' }}\n", styles: [".bbi-control-error{color:var(--control-error-color, var(--error-color, #bd322a));display:block;margin-top:var(--control-error-spacing, 4px);font-size:var(--control-error-font-size, 13px);font-weight:var(--control-error-font-weight, 400);line-height:var(--control-error-line-height, 1.5)}\n"], animations: [controlErrorAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbiControlError, decorators: [{
|
|
48
|
+
type: Component,
|
|
49
|
+
args: [{ selector: 'bbi-control-error', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bbi-control-error' }, preserveWhitespaces: false, animations: [controlErrorAnimation], template: "{{ error ?? '...' }}\n", styles: [".bbi-control-error{color:var(--control-error-color, var(--error-color, #bd322a));display:block;margin-top:var(--control-error-spacing, 4px);font-size:var(--control-error-font-size, 13px);font-weight:var(--control-error-font-weight, 400);line-height:var(--control-error-line-height, 1.5)}\n"] }]
|
|
50
|
+
}], ctorParameters: function () { return [{ type: i1.Localize, decorators: [{
|
|
51
|
+
type: Optional
|
|
52
|
+
}] }, { type: undefined, decorators: [{
|
|
53
|
+
type: Optional
|
|
54
|
+
}, {
|
|
55
|
+
type: Inject,
|
|
56
|
+
args: [BBI_CONTROL_ERRORS]
|
|
57
|
+
}] }]; }, propDecorators: { animation: [{
|
|
58
|
+
type: HostBinding,
|
|
59
|
+
args: ['@errorAnimation']
|
|
60
|
+
}], errors: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}] } });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbnRyb2xzL3NyYy9saWIvY29udHJvbC1lcnJvci9jb250cm9sLWVycm9yL2NvbnRyb2wtZXJyb3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb250cm9scy9zcmMvbGliL2NvbnRyb2wtZXJyb3IvY29udHJvbC1lcnJvci9jb250cm9sLWVycm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBQyxrQkFBa0IsRUFBZSxNQUFNLDRCQUE0QixDQUFDO0FBQzVFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDOzs7QUFjaEUsTUFBTSxPQUFPLGVBQWU7SUFrQnhCLFlBQWdDLFNBQW9CLEVBQ1EsVUFBMkI7UUFEdkQsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNRLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBakJ2RixpQkFBaUI7UUFDUixtQkFBYyxHQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO2FBQzFELE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLFFBQVEsRUFBRSxHQUFHLE9BQU8sRUFBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFcEUsaUJBQWlCO1FBQ2UsY0FBUyxHQUFZLElBQUksQ0FBQztRQVExRCxTQUFTO1FBQ1QsVUFBSyxHQUFrQixJQUFJLENBQUM7SUFJNUIsQ0FBQztJQVhELFVBQVU7SUFDVixJQUNJLE1BQU0sQ0FBQyxNQUErQjtRQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQVNPLFVBQVUsQ0FBQyxNQUErQjtRQUM5QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN6RCxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ1osT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ25HLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE1BQU0sU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QyxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxNQUFNLFlBQVksR0FBRyxPQUFPLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDM0UsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQXVCO1FBQzVDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ25CLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDaEMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7SUFDdEIsQ0FBQzs7NEdBL0NRLGVBQWUsMERBbUJRLGtCQUFrQjtnR0FuQnpDLGVBQWUsMkxDaEI1Qix3QkFDQSw2VERhZ0IsQ0FBQyxxQkFBcUIsQ0FBQzsyRkFFMUIsZUFBZTtrQkFWM0IsU0FBUzsrQkFDSSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBQyx1QkFDZixLQUFLLGNBQ2QsQ0FBQyxxQkFBcUIsQ0FBQzs7MEJBb0J0QixRQUFROzswQkFDUixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQjs0Q0FabEIsU0FBUztzQkFBeEMsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBSTFCLE1BQU07c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JCSV9DT05UUk9MX0VSUk9SUywgQ29udHJvbEVycm9yfSBmcm9tICcuLi9jb250cm9sLWVycm9yLmludGVyZmFjZSc7XG5pbXBvcnQge2NvbnRyb2xFcnJvckFuaW1hdGlvbn0gZnJvbSAnLi9jb250cm9sLWVycm9yLmFuaW1hdGlvbic7XG5pbXBvcnQge0xvY2FsaXplfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9sb2NhbGl6ZSc7XG5pbXBvcnQge1ZhbGlkYXRpb25FcnJvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYmktY29udHJvbC1lcnJvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbnRyb2wtZXJyb3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbnRyb2wtZXJyb3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHsnY2xhc3MnOiAnYmJpLWNvbnRyb2wtZXJyb3InfSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBhbmltYXRpb25zOiBbY29udHJvbEVycm9yQW5pbWF0aW9uXVxufSlcbmV4cG9ydCBjbGFzcyBCYmlDb250cm9sRXJyb3Ige1xuXG4gICAgLy8gUmVhZG9ubHkgZGF0YS5cbiAgICByZWFkb25seSBlcnJvckZ1bmN0aW9uczogQ29udHJvbEVycm9yID0gKHRoaXMuX2Z1bmN0aW9ucyA/PyBbXSlcbiAgICAgICAgLnJlZHVjZSgocHJldmlvdXMsIGN1cnJlbnQpID0+ICh7Li4ucHJldmlvdXMsIC4uLmN1cnJlbnR9KSwge30pO1xuXG4gICAgLy8gSG9zdCBiaW5kaW5ncy5cbiAgICBASG9zdEJpbmRpbmcoJ0BlcnJvckFuaW1hdGlvbicpIGFuaW1hdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KClcbiAgICBzZXQgZXJyb3JzKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5lcnJvciA9IHRoaXMucGFyc2VFcnJvcihlcnJvcnMpO1xuICAgIH1cblxuICAgIC8vIFN0YXRlLlxuICAgIGVycm9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgX2xvY2FsaXplPzogTG9jYWxpemUsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChCQklfQ09OVFJPTF9FUlJPUlMpIHByaXZhdGUgX2Z1bmN0aW9ucz86IENvbnRyb2xFcnJvcltdKSB7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZUVycm9yKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwpIHtcbiAgICAgICAgY29uc3QgZXJyb3JOYW1lID0gT2JqZWN0LmtleXMoZXJyb3JzID8/IHt9KT8uWzBdID8/IG51bGw7XG4gICAgICAgIGlmICghZXJyb3JOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVycm9yRnVuY3Rpb24gPSB0aGlzLmVycm9yRnVuY3Rpb25zPy5bZXJyb3JOYW1lXSA/PyB0aGlzLmVycm9yRnVuY3Rpb25zPy5bJ3Vua25vd24nXSA/PyBudWxsO1xuICAgICAgICBpZiAoIWVycm9yRnVuY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXJyb3JEYXRhID0gZXJyb3JzPy5bZXJyb3JOYW1lXSA/PyB7fTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gZXJyb3JGdW5jdGlvbihlcnJvckRhdGEpO1xuICAgICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN1bHRPYmplY3QgPSB0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJyA/IHt0b2tlbjogcmVzdWx0fSA6IHJlc3VsdDtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JTZW50ZW5jZShyZXN1bHRPYmplY3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RXJyb3JTZW50ZW5jZShkYXRhOiB7IHRva2VuOiBzdHJpbmcgfSkge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9sb2NhbGl6ZVxuICAgICAgICAgICAgPyB0aGlzLl9sb2NhbGl6ZS50cmFuc2xhdGUoZGF0YSlcbiAgICAgICAgICAgIDogZGF0YT8udG9rZW47XG4gICAgfVxuXG59XG4iLCJ7eyBlcnJvciA/PyAnLi4uJyB9fVxuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { BehaviorSubject, fromEvent, merge, Subscription } from 'rxjs';
|
|
2
|
+
import { Directive } from '@angular/core';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class BbiControlErrorSubmit {
|
|
6
|
+
constructor(_elementRef) {
|
|
7
|
+
this._elementRef = _elementRef;
|
|
8
|
+
// State.
|
|
9
|
+
this._submitted$ = new BehaviorSubject(false);
|
|
10
|
+
// Subscriptions.
|
|
11
|
+
this._subscription = new Subscription();
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
this.handleNativeForm();
|
|
15
|
+
}
|
|
16
|
+
get submitted() {
|
|
17
|
+
return this._submitted$.getValue();
|
|
18
|
+
}
|
|
19
|
+
submit() {
|
|
20
|
+
this._submitted$.next(true);
|
|
21
|
+
}
|
|
22
|
+
reset() {
|
|
23
|
+
this._submitted$.next(false);
|
|
24
|
+
}
|
|
25
|
+
handleNativeForm() {
|
|
26
|
+
const element = this._elementRef?.nativeElement;
|
|
27
|
+
if (!element) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const formSubmit$ = fromEvent(element, 'submit').pipe(map(() => true));
|
|
31
|
+
const formReset$ = fromEvent(element, 'reset').pipe(map(() => false));
|
|
32
|
+
const subscription = merge(formSubmit$, formReset$).subscribe(submitted => {
|
|
33
|
+
this._submitted$.next(submitted);
|
|
34
|
+
});
|
|
35
|
+
this._subscription.add(subscription);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
BbiControlErrorSubmit.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbiControlErrorSubmit, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
39
|
+
BbiControlErrorSubmit.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: BbiControlErrorSubmit, selector: "form", exportAs: ["bbiControlErrorSubmit"], ngImport: i0 });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbiControlErrorSubmit, decorators: [{
|
|
41
|
+
type: Directive,
|
|
42
|
+
args: [{
|
|
43
|
+
selector: 'form',
|
|
44
|
+
exportAs: 'bbiControlErrorSubmit'
|
|
45
|
+
}]
|
|
46
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1lcnJvci1zdWJtaXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb250cm9scy9zcmMvbGliL2NvbnRyb2wtZXJyb3IvY29udHJvbC1lcnJvci1zdWJtaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFDLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQU1uQyxNQUFNLE9BQU8scUJBQXFCO0lBUTlCLFlBQW9CLFdBQXdDO1FBQXhDLGdCQUFXLEdBQVgsV0FBVyxDQUE2QjtRQU41RCxTQUFTO1FBQ0QsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqRCxpQkFBaUI7UUFDVCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFHM0MsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixPQUFPO1NBQ1Y7UUFFRCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDakQsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNsQixDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQy9DLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDbkIsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3RFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7a0hBN0NRLHFCQUFxQjtzR0FBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLE1BQU07b0JBQ2hCLFFBQVEsRUFBRSx1QkFBdUI7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGZyb21FdmVudCwgbWVyZ2UsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZm9ybScsXG4gICAgZXhwb3J0QXM6ICdiYmlDb250cm9sRXJyb3JTdWJtaXQnXG59KVxuZXhwb3J0IGNsYXNzIEJiaUNvbnRyb2xFcnJvclN1Ym1pdCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICBwcml2YXRlIF9zdWJtaXR0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgICAvLyBTdWJzY3JpcHRpb25zLlxuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEZvcm1FbGVtZW50Pikge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmhhbmRsZU5hdGl2ZUZvcm0oKTtcbiAgICB9XG5cbiAgICBnZXQgc3VibWl0dGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3VibWl0dGVkJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHN1Ym1pdCgpIHtcbiAgICAgICAgdGhpcy5fc3VibWl0dGVkJC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIHJlc2V0KCkge1xuICAgICAgICB0aGlzLl9zdWJtaXR0ZWQkLm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTmF0aXZlRm9ybSgpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZm9ybVN1Ym1pdCQgPSBmcm9tRXZlbnQoZWxlbWVudCwgJ3N1Ym1pdCcpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gdHJ1ZSlcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBmb3JtUmVzZXQkID0gZnJvbUV2ZW50KGVsZW1lbnQsICdyZXNldCcpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gZmFsc2UpXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gbWVyZ2UoZm9ybVN1Ym1pdCQsIGZvcm1SZXNldCQpLnN1YnNjcmliZShzdWJtaXR0ZWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc3VibWl0dGVkJC5uZXh0KHN1Ym1pdHRlZCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export const controlErrorDefaults = {
|
|
2
|
+
unknown: () => 'form-control-errors.unknown',
|
|
3
|
+
required: () => 'form-control-errors.required',
|
|
4
|
+
pattern: () => 'form-control-errors.pattern',
|
|
5
|
+
email: () => 'form-control-errors.email',
|
|
6
|
+
emailTaken: () => 'form-control-errors.emailTaken',
|
|
7
|
+
passwordMatch: () => 'form-control-errors.passwordMatch',
|
|
8
|
+
confirm: () => 'form-control-errors.confirm',
|
|
9
|
+
fullNumber: () => 'form-control-errors.fullNumber',
|
|
10
|
+
min: ({ min }) => ({ token: 'form-control-errors.min', data: { min } }),
|
|
11
|
+
max: ({ max }) => ({ token: 'form-control-errors.max', data: { max } }),
|
|
12
|
+
maxFileSize: ({ maxSize }) => ({ token: 'form-control-errors.maxFileSize', data: { maxSize } }),
|
|
13
|
+
minDate: ({ date }) => ({ token: 'form-control-errors.minDate', data: { date } }),
|
|
14
|
+
maxDate: ({ date }) => ({ token: 'form-control-errors.maxDate', data: { date } }),
|
|
15
|
+
invalidDate: () => 'form-control-errors.invalidDate',
|
|
16
|
+
invalidFileType: () => 'form-control-errors.invalidFileType',
|
|
17
|
+
minlength: ({ requiredLength, actualLength }) => ({
|
|
18
|
+
token: 'form-control-errors.minlength',
|
|
19
|
+
data: { requiredLength, actualLength }
|
|
20
|
+
}),
|
|
21
|
+
maxlength: ({ requiredLength, actualLength }) => ({
|
|
22
|
+
token: 'form-control-errors.maxlength',
|
|
23
|
+
data: { requiredLength, actualLength }
|
|
24
|
+
})
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1lcnJvci5kZWZhdWx0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29udHJvbHMvc3JjL2xpYi9jb250cm9sLWVycm9yL2NvbnRyb2wtZXJyb3IuZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWlCO0lBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyw2QkFBNkI7SUFDNUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLDhCQUE4QjtJQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsNkJBQTZCO0lBQzVDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQywyQkFBMkI7SUFDeEMsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLGdDQUFnQztJQUNsRCxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsbUNBQW1DO0lBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyw2QkFBNkI7SUFDNUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLGdDQUFnQztJQUNsRCxHQUFHLEVBQUUsQ0FBQyxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLHlCQUF5QixFQUFFLElBQUksRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFDLENBQUM7SUFDakUsR0FBRyxFQUFFLENBQUMsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxJQUFJLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBQyxDQUFDO0lBQ2pFLFdBQVcsRUFBRSxDQUFDLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUUsaUNBQWlDLEVBQUUsSUFBSSxFQUFFLEVBQUMsT0FBTyxFQUFDLEVBQUMsQ0FBQztJQUN6RixPQUFPLEVBQUUsQ0FBQyxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLDZCQUE2QixFQUFFLElBQUksRUFBRSxFQUFDLElBQUksRUFBQyxFQUFDLENBQUM7SUFDM0UsT0FBTyxFQUFFLENBQUMsRUFBQyxJQUFJLEVBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxJQUFJLEVBQUUsRUFBQyxJQUFJLEVBQUMsRUFBQyxDQUFDO0lBQzNFLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxpQ0FBaUM7SUFDcEQsZUFBZSxFQUFFLEdBQUcsRUFBRSxDQUFDLHFDQUFxQztJQUM1RCxTQUFTLEVBQUUsQ0FBQyxFQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxLQUFLLEVBQUUsK0JBQStCO1FBQ3RDLElBQUksRUFBRSxFQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUM7S0FDdkMsQ0FBQztJQUNGLFNBQVMsRUFBRSxDQUFDLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLEtBQUssRUFBRSwrQkFBK0I7UUFDdEMsSUFBSSxFQUFFLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBQztLQUN2QyxDQUFDO0NBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29udHJvbEVycm9yfSBmcm9tICcuL2NvbnRyb2wtZXJyb3IuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IGNvbnRyb2xFcnJvckRlZmF1bHRzOiBDb250cm9sRXJyb3IgPSB7XG4gICAgdW5rbm93bjogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMudW5rbm93bicsXG4gICAgcmVxdWlyZWQ6ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLnJlcXVpcmVkJyxcbiAgICBwYXR0ZXJuOiAoKSA9PiAnZm9ybS1jb250cm9sLWVycm9ycy5wYXR0ZXJuJyxcbiAgICBlbWFpbDogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMuZW1haWwnLFxuICAgIGVtYWlsVGFrZW46ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLmVtYWlsVGFrZW4nLFxuICAgIHBhc3N3b3JkTWF0Y2g6ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLnBhc3N3b3JkTWF0Y2gnLFxuICAgIGNvbmZpcm06ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLmNvbmZpcm0nLFxuICAgIGZ1bGxOdW1iZXI6ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLmZ1bGxOdW1iZXInLFxuICAgIG1pbjogKHttaW59KSA9PiAoe3Rva2VuOiAnZm9ybS1jb250cm9sLWVycm9ycy5taW4nLCBkYXRhOiB7bWlufX0pLFxuICAgIG1heDogKHttYXh9KSA9PiAoe3Rva2VuOiAnZm9ybS1jb250cm9sLWVycm9ycy5tYXgnLCBkYXRhOiB7bWF4fX0pLFxuICAgIG1heEZpbGVTaXplOiAoe21heFNpemV9KSA9PiAoe3Rva2VuOiAnZm9ybS1jb250cm9sLWVycm9ycy5tYXhGaWxlU2l6ZScsIGRhdGE6IHttYXhTaXplfX0pLFxuICAgIG1pbkRhdGU6ICh7ZGF0ZX0pID0+ICh7dG9rZW46ICdmb3JtLWNvbnRyb2wtZXJyb3JzLm1pbkRhdGUnLCBkYXRhOiB7ZGF0ZX19KSxcbiAgICBtYXhEYXRlOiAoe2RhdGV9KSA9PiAoe3Rva2VuOiAnZm9ybS1jb250cm9sLWVycm9ycy5tYXhEYXRlJywgZGF0YToge2RhdGV9fSksXG4gICAgaW52YWxpZERhdGU6ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLmludmFsaWREYXRlJyxcbiAgICBpbnZhbGlkRmlsZVR5cGU6ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLmludmFsaWRGaWxlVHlwZScsXG4gICAgbWlubGVuZ3RoOiAoe3JlcXVpcmVkTGVuZ3RoLCBhY3R1YWxMZW5ndGh9KSA9PiAoe1xuICAgICAgICB0b2tlbjogJ2Zvcm0tY29udHJvbC1lcnJvcnMubWlubGVuZ3RoJyxcbiAgICAgICAgZGF0YToge3JlcXVpcmVkTGVuZ3RoLCBhY3R1YWxMZW5ndGh9XG4gICAgfSksXG4gICAgbWF4bGVuZ3RoOiAoe3JlcXVpcmVkTGVuZ3RoLCBhY3R1YWxMZW5ndGh9KSA9PiAoe1xuICAgICAgICB0b2tlbjogJ2Zvcm0tY29udHJvbC1lcnJvcnMubWF4bGVuZ3RoJyxcbiAgICAgICAgZGF0YToge3JlcXVpcmVkTGVuZ3RoLCBhY3R1YWxMZW5ndGh9XG4gICAgfSlcbn07XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const BBI_CONTROL_ERRORS = new InjectionToken('bbi_control_errors');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1lcnJvci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbnRyb2xzL3NyYy9saWIvY29udHJvbC1lcnJvci9jb250cm9sLWVycm9yLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBUTdDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFtQyxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIENvbnRyb2xFcnJvckRhdGEgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG5leHBvcnQgdHlwZSBDb250cm9sRXJyb3IgPSB7XG4gICAgW25hbWU6IHN0cmluZ106IChkYXRhOiBDb250cm9sRXJyb3JEYXRhKSA9PiBzdHJpbmcgfCB7IHRva2VuOiBzdHJpbmcsIGRhdGE6IG9iamVjdCB9O1xufVxuXG5leHBvcnQgY29uc3QgQkJJX0NPTlRST0xfRVJST1JTOiBJbmplY3Rpb25Ub2tlbjxDb250cm9sRXJyb3JbXT4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ2JiaV9jb250cm9sX2Vycm9ycycpO1xuXG5leHBvcnQgdHlwZSBDb250cm9sRXJyb3JNb2RlID0gJ2JsdXInIHwgJ2NoYW5nZXMnIHwgJ2hpZGRlbic7XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BbiControlError } from './control-error/control-error.component';
|
|
2
|
+
import { BbiControlErrorSubmit } from './control-error-submit.directive';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { NgModule } from '@angular/core';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ControlErrorModule {
|
|
7
|
+
}
|
|
8
|
+
ControlErrorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ControlErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
ControlErrorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: ControlErrorModule, declarations: [BbiControlError, BbiControlErrorSubmit], imports: [CommonModule], exports: [BbiControlError, BbiControlErrorSubmit] });
|
|
10
|
+
ControlErrorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ControlErrorModule, imports: [CommonModule] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ControlErrorModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
imports: [CommonModule],
|
|
15
|
+
declarations: [BbiControlError, BbiControlErrorSubmit],
|
|
16
|
+
exports: [BbiControlError, BbiControlErrorSubmit]
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1lcnJvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbnRyb2xzL3NyYy9saWIvY29udHJvbC1lcnJvci9jb250cm9sLWVycm9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBT3ZDLE1BQU0sT0FBTyxrQkFBa0I7OytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFIWixlQUFlLEVBQUUscUJBQXFCLGFBRDNDLFlBQVksYUFFWixlQUFlLEVBQUUscUJBQXFCO2dIQUV2QyxrQkFBa0IsWUFKakIsWUFBWTsyRkFJYixrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUUsQ0FBQyxlQUFlLEVBQUUscUJBQXFCLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQztpQkFDcEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JiaUNvbnRyb2xFcnJvcn0gZnJvbSAnLi9jb250cm9sLWVycm9yL2NvbnRyb2wtZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7QmJpQ29udHJvbEVycm9yU3VibWl0fSBmcm9tICcuL2NvbnRyb2wtZXJyb3Itc3VibWl0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW0JiaUNvbnRyb2xFcnJvciwgQmJpQ29udHJvbEVycm9yU3VibWl0XSxcbiAgICBleHBvcnRzOiBbQmJpQ29udHJvbEVycm9yLCBCYmlDb250cm9sRXJyb3JTdWJtaXRdXG59KVxuZXhwb3J0IGNsYXNzIENvbnRyb2xFcnJvck1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbHMuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29udHJvbHMvc3JjL2xpYi9jb250cm9scy5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnRyb2xFcnJvcn0gZnJvbSAnLi9jb250cm9sLWVycm9yL2NvbnRyb2wtZXJyb3IuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBDb250cm9sc0NvbmZpZyB7XG4gICAgZXJyb3JzPzogQ29udHJvbEVycm9yO1xufVxuIl19
|
|
@@ -1,16 +1,53 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { controlErrorDefaults } from './control-error/control-error.defaults';
|
|
2
|
+
import { BBI_CONTROL_ERRORS } from './control-error/control-error.interface';
|
|
3
|
+
import { ControlErrorModule } from './control-error/control-error.module';
|
|
4
|
+
import { FormControlModule } from './form-control/form-control.module';
|
|
2
5
|
import { NgModule } from '@angular/core';
|
|
6
|
+
import { CheckboxModule } from './checkbox/checkbox.module';
|
|
3
7
|
import * as i0 from "@angular/core";
|
|
4
8
|
export class ControlsModule {
|
|
9
|
+
static forRoot(config) {
|
|
10
|
+
return {
|
|
11
|
+
ngModule: ControlsModule,
|
|
12
|
+
providers: [
|
|
13
|
+
{
|
|
14
|
+
provide: BBI_CONTROL_ERRORS,
|
|
15
|
+
useValue: { ...controlErrorDefaults, ...(config?.errors ?? {}) },
|
|
16
|
+
multi: true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
provide: null,
|
|
20
|
+
useFactory: () => '',
|
|
21
|
+
multi: true
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
};
|
|
25
|
+
}
|
|
5
26
|
}
|
|
6
|
-
ControlsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
7
|
-
ControlsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
8
|
-
|
|
9
|
-
|
|
27
|
+
ControlsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ControlsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
28
|
+
ControlsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: ControlsModule, imports: [FormControlModule,
|
|
29
|
+
CheckboxModule,
|
|
30
|
+
ControlErrorModule], exports: [FormControlModule,
|
|
31
|
+
CheckboxModule,
|
|
32
|
+
ControlErrorModule] });
|
|
33
|
+
ControlsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ControlsModule, imports: [FormControlModule,
|
|
34
|
+
CheckboxModule,
|
|
35
|
+
ControlErrorModule, FormControlModule,
|
|
36
|
+
CheckboxModule,
|
|
37
|
+
ControlErrorModule] });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ControlsModule, decorators: [{
|
|
10
39
|
type: NgModule,
|
|
11
40
|
args: [{
|
|
12
|
-
imports: [
|
|
13
|
-
|
|
41
|
+
imports: [
|
|
42
|
+
FormControlModule,
|
|
43
|
+
CheckboxModule,
|
|
44
|
+
ControlErrorModule
|
|
45
|
+
],
|
|
46
|
+
exports: [
|
|
47
|
+
FormControlModule,
|
|
48
|
+
CheckboxModule,
|
|
49
|
+
ControlErrorModule
|
|
50
|
+
]
|
|
14
51
|
}]
|
|
15
52
|
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb250cm9scy9zcmMvbGliL2NvbnRyb2xzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQXNCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7O0FBZTFELE1BQU0sT0FBTyxjQUFjO0lBRXZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBdUI7UUFDbEMsT0FBTztZQUNILFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixRQUFRLEVBQUUsRUFBQyxHQUFHLG9CQUFvQixFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFDO29CQUM5RCxLQUFLLEVBQUUsSUFBSTtpQkFDZDtnQkFDRDtvQkFDSSxPQUFPLEVBQUUsSUFBSTtvQkFDYixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtvQkFDcEIsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDOzsyR0FsQlEsY0FBYzs0R0FBZCxjQUFjLFlBVm5CLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2Qsa0JBQWtCLGFBR2xCLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2Qsa0JBQWtCOzRHQUdiLGNBQWMsWUFWbkIsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxrQkFBa0IsRUFHbEIsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxrQkFBa0I7MkZBR2IsY0FBYztrQkFaMUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLGtCQUFrQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxrQkFBa0I7cUJBQ3JCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb250cm9sRXJyb3JEZWZhdWx0c30gZnJvbSAnLi9jb250cm9sLWVycm9yL2NvbnRyb2wtZXJyb3IuZGVmYXVsdHMnO1xuaW1wb3J0IHtCQklfQ09OVFJPTF9FUlJPUlN9IGZyb20gJy4vY29udHJvbC1lcnJvci9jb250cm9sLWVycm9yLmludGVyZmFjZSc7XG5pbXBvcnQge0NvbnRyb2xFcnJvck1vZHVsZX0gZnJvbSAnLi9jb250cm9sLWVycm9yL2NvbnRyb2wtZXJyb3IubW9kdWxlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2xNb2R1bGV9IGZyb20gJy4vZm9ybS1jb250cm9sL2Zvcm0tY29udHJvbC5tb2R1bGUnO1xuaW1wb3J0IHtNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NoZWNrYm94TW9kdWxlfSBmcm9tICcuL2NoZWNrYm94L2NoZWNrYm94Lm1vZHVsZSc7XG5pbXBvcnQge0NvbnRyb2xzQ29uZmlnfSBmcm9tICcuL2NvbnRyb2xzLmludGVyZmFjZXMnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybUNvbnRyb2xNb2R1bGUsXG4gICAgICAgIENoZWNrYm94TW9kdWxlLFxuICAgICAgICBDb250cm9sRXJyb3JNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRm9ybUNvbnRyb2xNb2R1bGUsXG4gICAgICAgIENoZWNrYm94TW9kdWxlLFxuICAgICAgICBDb250cm9sRXJyb3JNb2R1bGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbnRyb2xzTW9kdWxlIHtcblxuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IENvbnRyb2xzQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxDb250cm9sc01vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IENvbnRyb2xzTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBCQklfQ09OVFJPTF9FUlJPUlMsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiB7Li4uY29udHJvbEVycm9yRGVmYXVsdHMsIC4uLihjb25maWc/LmVycm9ycyA/PyB7fSl9LFxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiAnJyxcbiAgICAgICAgICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChild, Input, Optional, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
3
|
+
import { BbiFormControlInput } from '../form-control-input.directive';
|
|
4
|
+
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
5
|
+
import { BehaviorSubject } from 'rxjs';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../control-error/control-error-submit.directive";
|
|
8
|
+
import * as i2 from "@angular/common";
|
|
9
|
+
import * as i3 from "../../control-error/control-error/control-error.component";
|
|
10
|
+
let nextUniqueId = 0;
|
|
11
|
+
export class BbiFormControl {
|
|
12
|
+
constructor(_changeDetectorRef, _errorSubmit) {
|
|
13
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
14
|
+
this._errorSubmit = _errorSubmit;
|
|
15
|
+
// Readonly data.
|
|
16
|
+
this.labelId = `bbi-form-control-${nextUniqueId++}`;
|
|
17
|
+
// Inputs.
|
|
18
|
+
this.label = null;
|
|
19
|
+
this.hint = null;
|
|
20
|
+
this.errorMode = 'blur';
|
|
21
|
+
// State.
|
|
22
|
+
this.validationErrors$ = new BehaviorSubject(null);
|
|
23
|
+
this.errors$ = this.validationErrors$.pipe(debounceTime(5), distinctUntilChanged());
|
|
24
|
+
this._grouped = false;
|
|
25
|
+
}
|
|
26
|
+
// Grouped.
|
|
27
|
+
get grouped() { return this._grouped; }
|
|
28
|
+
set grouped(value) {
|
|
29
|
+
const newValue = coerceBooleanProperty(value);
|
|
30
|
+
if (newValue !== this.grouped) {
|
|
31
|
+
this._grouped = newValue;
|
|
32
|
+
this._changeDetectorRef.markForCheck();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
ngDoCheck() {
|
|
36
|
+
const hasErrors = this.showErrors();
|
|
37
|
+
const errors = this.formControlInput?.errors ?? null;
|
|
38
|
+
const newValue = hasErrors ? errors : null;
|
|
39
|
+
const equal = JSON.stringify(newValue) === JSON.stringify(this.validationErrors$.getValue());
|
|
40
|
+
if (equal) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.validationErrors$.next(newValue);
|
|
44
|
+
}
|
|
45
|
+
showErrors() {
|
|
46
|
+
// When the error mode is none we don't want to show
|
|
47
|
+
if (this.errorMode === 'hidden' || this.formControlInput?.readonly) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
// When submitted always show the errors.
|
|
51
|
+
const focused = this.formControlInput?.focused;
|
|
52
|
+
if (this._errorSubmit?.submitted && !focused) {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
// We want to show changes even when the user is focused.
|
|
56
|
+
if (this.errorMode === 'changes') {
|
|
57
|
+
return this.formControlInput?.control?.dirty ?? false;
|
|
58
|
+
}
|
|
59
|
+
// On blur show the error.
|
|
60
|
+
if (this.errorMode === 'blur' && !focused) {
|
|
61
|
+
return this.formControlInput?.control?.touched ?? false;
|
|
62
|
+
}
|
|
63
|
+
// Must not show the errors.
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
BbiFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbiFormControl, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.BbiControlErrorSubmit, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
+
BbiFormControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbiFormControl, selector: "bbi-form-control", inputs: { label: "label", hint: "hint", errorMode: "errorMode", grouped: "grouped" }, host: { properties: { "class.grouped": "grouped", "class.disabled": "formControlInput?.disabled", "class.required": "formControlInput?.required", "class.readonly": "formControlInput?.readonly", "class.focused": "formControlInput?.focused", "class.error": "validationErrors$?.getValue()" }, classAttribute: "bbi-form-control" }, queries: [{ propertyName: "formControlInput", first: true, predicate: BbiFormControlInput, descendants: true }], ngImport: i0, template: "<!-- Label of the form control. -->\n<label *ngIf=\"label as labelContent\"\n [attr.for]=\"labelId\"\n class=\"bbi-form-control-label\">\n {{ labelContent }}\n</label>\n\n<div class=\"bbi-form-control-container\">\n <ng-content select=\"[bbi-form-control-addon=prefix]\"></ng-content>\n <ng-content select=\"input[bbiFormControlInput]\"></ng-content>\n <ng-content select=\"[bbi-form-control-addon=suffix]\"></ng-content>\n</div>\n\n<bbi-control-error *ngIf=\"errors$ | async as errors\"\n [errors]=\"errors\">\n</bbi-control-error>\n\n<div *ngIf=\"hint as hintContent\"\n class=\"bbi-form-control-hint\">\n {{ hintContent }}\n</div>\n", styles: [".bbi-form-control{display:block}.bbi-form-control.grouped{margin-bottom:var(--form-control-grouping, 20px)}.bbi-form-control.disabled{pointer-events:none;opacity:var(--form-control-disabled-opacity, .25)}.bbi-form-control.disabled>.bbi-form-control-container{color:var(--form-control-disabled-color, #111111);background:var(--form-control-disabled-background, white);border-radius:var(--form-control-disabled-border-radius, 6px);border:var(--form-control-disabled-border-width, 1px) var(--form-control-disabled-border-style, solid) var(--form-control-disabled-border-color, #212121)}.bbi-form-control.required:not([data-required-visually-hidden])>.bbi-form-control-label:after{content:\"*\";color:#bd322a;font-size:14px;vertical-align:text-top}.bbi-form-control:not(.readonly).focused>.bbi-form-control-container{color:var(--form-control-focused-color, #111111);box-shadow:var(--form-control-focused-shadow, 0 0 0 3px rgba(0, 123, 255, .2));background:var(--form-control-focused-background, white);border-radius:var(--form-control-focused-border-radius, 6px);border:var(--form-control-focused-border-width, 1px) var(--form-control-focused-border-style, solid) var(--form-control-focused-border-color, #212121)}.bbi-form-control:not(.readonly).error>.bbi-form-control-label{color:var(--form-control-error-color, var(--error-color, #bd322a))}.bbi-form-control:not(.readonly).error>.bbi-form-control-container{color:var(--form-control-error-color, var(--error-color, #bd322a));border-color:var(--form-control-error-color, var(--error-color, #bd322a));background:var(--form-control-error-background, rgba(189, 50, 42, .1))}.bbi-form-control:not(.readonly).error>.bbi-form-control-container>input::placeholder{color:var(--form-control-error-placeholder-color, rgba(189, 50, 42, .4))}.bbi-form-control-label{color:#525252;display:block;font-size:14px;font-weight:400;margin-bottom:4px}.bbi-form-control-container{display:flex;align-items:center;color:var(--form-control-color, #111111);border-radius:var(--form-control-border-radius, 6px);background-color:var(--form-control-background, white);border:var(--form-control-border-width, 1px) var(--form-control-border-style, solid) var(--form-control-border-color, rgba(67, 90, 111, .3))}.bbi-form-control-container>input{width:100%;border:none;height:40px;color:inherit;padding:0 10px;background-color:transparent}.bbi-form-control-container>input::placeholder{color:#d2d2d2}.bbi-form-control-hint{display:block;color:#525252;font-size:13px;margin-top:4px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BbiControlError, selector: "bbi-control-error", inputs: ["errors"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbiFormControl, decorators: [{
|
|
70
|
+
type: Component,
|
|
71
|
+
args: [{ selector: 'bbi-form-control', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
72
|
+
'class': 'bbi-form-control',
|
|
73
|
+
'[class.grouped]': 'grouped',
|
|
74
|
+
'[class.disabled]': 'formControlInput?.disabled',
|
|
75
|
+
'[class.required]': 'formControlInput?.required',
|
|
76
|
+
'[class.readonly]': 'formControlInput?.readonly',
|
|
77
|
+
'[class.focused]': 'formControlInput?.focused',
|
|
78
|
+
'[class.error]': 'validationErrors$?.getValue()'
|
|
79
|
+
}, preserveWhitespaces: false, template: "<!-- Label of the form control. -->\n<label *ngIf=\"label as labelContent\"\n [attr.for]=\"labelId\"\n class=\"bbi-form-control-label\">\n {{ labelContent }}\n</label>\n\n<div class=\"bbi-form-control-container\">\n <ng-content select=\"[bbi-form-control-addon=prefix]\"></ng-content>\n <ng-content select=\"input[bbiFormControlInput]\"></ng-content>\n <ng-content select=\"[bbi-form-control-addon=suffix]\"></ng-content>\n</div>\n\n<bbi-control-error *ngIf=\"errors$ | async as errors\"\n [errors]=\"errors\">\n</bbi-control-error>\n\n<div *ngIf=\"hint as hintContent\"\n class=\"bbi-form-control-hint\">\n {{ hintContent }}\n</div>\n", styles: [".bbi-form-control{display:block}.bbi-form-control.grouped{margin-bottom:var(--form-control-grouping, 20px)}.bbi-form-control.disabled{pointer-events:none;opacity:var(--form-control-disabled-opacity, .25)}.bbi-form-control.disabled>.bbi-form-control-container{color:var(--form-control-disabled-color, #111111);background:var(--form-control-disabled-background, white);border-radius:var(--form-control-disabled-border-radius, 6px);border:var(--form-control-disabled-border-width, 1px) var(--form-control-disabled-border-style, solid) var(--form-control-disabled-border-color, #212121)}.bbi-form-control.required:not([data-required-visually-hidden])>.bbi-form-control-label:after{content:\"*\";color:#bd322a;font-size:14px;vertical-align:text-top}.bbi-form-control:not(.readonly).focused>.bbi-form-control-container{color:var(--form-control-focused-color, #111111);box-shadow:var(--form-control-focused-shadow, 0 0 0 3px rgba(0, 123, 255, .2));background:var(--form-control-focused-background, white);border-radius:var(--form-control-focused-border-radius, 6px);border:var(--form-control-focused-border-width, 1px) var(--form-control-focused-border-style, solid) var(--form-control-focused-border-color, #212121)}.bbi-form-control:not(.readonly).error>.bbi-form-control-label{color:var(--form-control-error-color, var(--error-color, #bd322a))}.bbi-form-control:not(.readonly).error>.bbi-form-control-container{color:var(--form-control-error-color, var(--error-color, #bd322a));border-color:var(--form-control-error-color, var(--error-color, #bd322a));background:var(--form-control-error-background, rgba(189, 50, 42, .1))}.bbi-form-control:not(.readonly).error>.bbi-form-control-container>input::placeholder{color:var(--form-control-error-placeholder-color, rgba(189, 50, 42, .4))}.bbi-form-control-label{color:#525252;display:block;font-size:14px;font-weight:400;margin-bottom:4px}.bbi-form-control-container{display:flex;align-items:center;color:var(--form-control-color, #111111);border-radius:var(--form-control-border-radius, 6px);background-color:var(--form-control-background, white);border:var(--form-control-border-width, 1px) var(--form-control-border-style, solid) var(--form-control-border-color, rgba(67, 90, 111, .3))}.bbi-form-control-container>input{width:100%;border:none;height:40px;color:inherit;padding:0 10px;background-color:transparent}.bbi-form-control-container>input::placeholder{color:#d2d2d2}.bbi-form-control-hint{display:block;color:#525252;font-size:13px;margin-top:4px}\n"] }]
|
|
80
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.BbiControlErrorSubmit, decorators: [{
|
|
81
|
+
type: Optional
|
|
82
|
+
}] }]; }, propDecorators: { formControlInput: [{
|
|
83
|
+
type: ContentChild,
|
|
84
|
+
args: [BbiFormControlInput, { static: false }]
|
|
85
|
+
}], label: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], hint: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], errorMode: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], grouped: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}] } });
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29udHJvbHMvc3JjL2xpYi9mb3JtLWNvbnRyb2wvZm9ybS1jb250cm9sL2Zvcm0tY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbnRyb2xzL3NyYy9saWIvZm9ybS1jb250cm9sL2Zvcm0tY29udHJvbC9mb3JtLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFXLEtBQUssRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHL0ksT0FBTyxFQUFlLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBRXJDLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQW1CckIsTUFBTSxPQUFPLGNBQWM7SUErQnZCLFlBQW9CLGtCQUFxQyxFQUN6QixZQUFvQztRQURoRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUF3QjtRQTlCcEUsaUJBQWlCO1FBQ1IsWUFBTyxHQUFXLG9CQUFvQixZQUFZLEVBQUUsRUFBRSxDQUFDO1FBS2hFLFVBQVU7UUFDRCxVQUFLLEdBQWtCLElBQUksQ0FBQztRQUM1QixTQUFJLEdBQWtCLElBQUksQ0FBQztRQUMzQixjQUFTLEdBQXFCLE1BQU0sQ0FBQztRQUU5QyxTQUFTO1FBQ1Qsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQTBCLElBQUksQ0FBQyxDQUFDO1FBQ3ZFLFlBQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFjdkUsYUFBUSxHQUFZLEtBQUssQ0FBQztJQUlsQyxDQUFDO0lBaEJELFdBQVc7SUFDWCxJQUNJLE9BQU8sS0FBYyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRWhELElBQUksT0FBTyxDQUFDLEtBQW1CO1FBQzNCLE1BQU0sUUFBUSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzFDO0lBQ0wsQ0FBQztJQVFELFNBQVM7UUFDTCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUM7UUFDckQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUUzQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDN0YsSUFBSSxLQUFLLEVBQUU7WUFDUCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTyxVQUFVO1FBQ2Qsb0RBQW9EO1FBQ3BELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBRTtZQUNoRSxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELHlDQUF5QztRQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDMUMsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELHlEQUF5RDtRQUN6RCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxLQUFLLElBQUksS0FBSyxDQUFDO1NBQ3pEO1FBRUQsMEJBQTBCO1FBQzFCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUM7U0FDM0Q7UUFFRCw0QkFBNEI7UUFDNUIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7MkdBeEVRLGNBQWM7K0ZBQWQsY0FBYyxvZ0JBTVQsbUJBQW1CLGdEQ2xDckMsOHFCQXFCQTsyRkRPYSxjQUFjO2tCQWpCMUIsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDRixPQUFPLEVBQUUsa0JBQWtCO3dCQUMzQixpQkFBaUIsRUFBRSxTQUFTO3dCQUM1QixrQkFBa0IsRUFBRSw0QkFBNEI7d0JBQ2hELGtCQUFrQixFQUFFLDRCQUE0Qjt3QkFDaEQsa0JBQWtCLEVBQUUsNEJBQTRCO3dCQUNoRCxpQkFBaUIsRUFBRSwyQkFBMkI7d0JBQzlDLGVBQWUsRUFBRSwrQkFBK0I7cUJBQ25ELHVCQUNvQixLQUFLOzswQkFrQ2IsUUFBUTs0Q0ExQitCLGdCQUFnQjtzQkFBbkUsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBR3pDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFRRixPQUFPO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIERvQ2hlY2ssIElucHV0LCBPcHRpb25hbCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYmlDb250cm9sRXJyb3JTdWJtaXR9IGZyb20gJy4uLy4uL2NvbnRyb2wtZXJyb3IvY29udHJvbC1lcnJvci1zdWJtaXQuZGlyZWN0aXZlJztcbmltcG9ydCB7Q29udHJvbEVycm9yTW9kZX0gZnJvbSAnLi4vLi4vY29udHJvbC1lcnJvci9jb250cm9sLWVycm9yLmludGVyZmFjZSc7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtCYmlGb3JtQ29udHJvbElucHV0fSBmcm9tICcuLi9mb3JtLWNvbnRyb2wtaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtWYWxpZGF0aW9uRXJyb3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiaS1mb3JtLWNvbnRyb2wnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Zvcm0tY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnYmJpLWZvcm0tY29udHJvbCcsXG4gICAgICAgICdbY2xhc3MuZ3JvdXBlZF0nOiAnZ3JvdXBlZCcsXG4gICAgICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ2Zvcm1Db250cm9sSW5wdXQ/LmRpc2FibGVkJyxcbiAgICAgICAgJ1tjbGFzcy5yZXF1aXJlZF0nOiAnZm9ybUNvbnRyb2xJbnB1dD8ucmVxdWlyZWQnLFxuICAgICAgICAnW2NsYXNzLnJlYWRvbmx5XSc6ICdmb3JtQ29udHJvbElucHV0Py5yZWFkb25seScsXG4gICAgICAgICdbY2xhc3MuZm9jdXNlZF0nOiAnZm9ybUNvbnRyb2xJbnB1dD8uZm9jdXNlZCcsXG4gICAgICAgICdbY2xhc3MuZXJyb3JdJzogJ3ZhbGlkYXRpb25FcnJvcnMkPy5nZXRWYWx1ZSgpJ1xuICAgIH0sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQmJpRm9ybUNvbnRyb2wgaW1wbGVtZW50cyBEb0NoZWNrIHtcblxuICAgIC8vIFJlYWRvbmx5IGRhdGEuXG4gICAgcmVhZG9ubHkgbGFiZWxJZDogc3RyaW5nID0gYGJiaS1mb3JtLWNvbnRyb2wtJHtuZXh0VW5pcXVlSWQrK31gO1xuXG4gICAgLy8gVmlld3MuXG4gICAgQENvbnRlbnRDaGlsZChCYmlGb3JtQ29udHJvbElucHV0LCB7c3RhdGljOiBmYWxzZX0pIGZvcm1Db250cm9sSW5wdXQ/OiBCYmlGb3JtQ29udHJvbElucHV0O1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBoaW50OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBlcnJvck1vZGU6IENvbnRyb2xFcnJvck1vZGUgPSAnYmx1cic7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICB2YWxpZGF0aW9uRXJyb3JzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+KG51bGwpO1xuICAgIGVycm9ycyQgPSB0aGlzLnZhbGlkYXRpb25FcnJvcnMkLnBpcGUoZGVib3VuY2VUaW1lKDUpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICAgIC8vIEdyb3VwZWQuXG4gICAgQElucHV0KClcbiAgICBnZXQgZ3JvdXBlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2dyb3VwZWQ7IH1cblxuICAgIHNldCBncm91cGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgICAgICBpZiAobmV3VmFsdWUgIT09IHRoaXMuZ3JvdXBlZCkge1xuICAgICAgICAgICAgdGhpcy5fZ3JvdXBlZCA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9ncm91cGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfZXJyb3JTdWJtaXQ/OiBCYmlDb250cm9sRXJyb3JTdWJtaXQpIHtcbiAgICB9XG5cbiAgICBuZ0RvQ2hlY2soKSB7XG4gICAgICAgIGNvbnN0IGhhc0Vycm9ycyA9IHRoaXMuc2hvd0Vycm9ycygpO1xuICAgICAgICBjb25zdCBlcnJvcnMgPSB0aGlzLmZvcm1Db250cm9sSW5wdXQ/LmVycm9ycyA/PyBudWxsO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGhhc0Vycm9ycyA/IGVycm9ycyA6IG51bGw7XG5cbiAgICAgICAgY29uc3QgZXF1YWwgPSBKU09OLnN0cmluZ2lmeShuZXdWYWx1ZSkgPT09IEpTT04uc3RyaW5naWZ5KHRoaXMudmFsaWRhdGlvbkVycm9ycyQuZ2V0VmFsdWUoKSk7XG4gICAgICAgIGlmIChlcXVhbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzJC5uZXh0KG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dFcnJvcnMoKSB7XG4gICAgICAgIC8vIFdoZW4gdGhlIGVycm9yIG1vZGUgaXMgbm9uZSB3ZSBkb24ndCB3YW50IHRvIHNob3dcbiAgICAgICAgaWYgKHRoaXMuZXJyb3JNb2RlID09PSAnaGlkZGVuJyB8fCB0aGlzLmZvcm1Db250cm9sSW5wdXQ/LnJlYWRvbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXaGVuIHN1Ym1pdHRlZCBhbHdheXMgc2hvdyB0aGUgZXJyb3JzLlxuICAgICAgICBjb25zdCBmb2N1c2VkID0gdGhpcy5mb3JtQ29udHJvbElucHV0Py5mb2N1c2VkO1xuICAgICAgICBpZiAodGhpcy5fZXJyb3JTdWJtaXQ/LnN1Ym1pdHRlZCAmJiAhZm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXZSB3YW50IHRvIHNob3cgY2hhbmdlcyBldmVuIHdoZW4gdGhlIHVzZXIgaXMgZm9jdXNlZC5cbiAgICAgICAgaWYgKHRoaXMuZXJyb3JNb2RlID09PSAnY2hhbmdlcycpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1Db250cm9sSW5wdXQ/LmNvbnRyb2w/LmRpcnR5ID8/IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT24gYmx1ciBzaG93IHRoZSBlcnJvci5cbiAgICAgICAgaWYgKHRoaXMuZXJyb3JNb2RlID09PSAnYmx1cicgJiYgIWZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1Db250cm9sSW5wdXQ/LmNvbnRyb2w/LnRvdWNoZWQgPz8gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNdXN0IG5vdCBzaG93IHRoZSBlcnJvcnMuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBSZXF1aXJlZCBzbyB0aGF0IHRoZSB0ZW1wbGF0ZSB0eXBlIGNoZWNrZXIgY2FuIGluZmVyIHRoZSB0eXBlIG9mIHRoZSBjb2VyY2VkIGlucHV0cy5cbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbGFiZWw6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2hpbnQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Vycm9yTW9kZTogQ29udHJvbEVycm9yTW9kZTtcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZ3JvdXBlZDogQm9vbGVhbklucHV0O1xuXG59XG4iLCI8IS0tIExhYmVsIG9mIHRoZSBmb3JtIGNvbnRyb2wuIC0tPlxuPGxhYmVsICpuZ0lmPVwibGFiZWwgYXMgbGFiZWxDb250ZW50XCJcbiAgICAgICBbYXR0ci5mb3JdPVwibGFiZWxJZFwiXG4gICAgICAgY2xhc3M9XCJiYmktZm9ybS1jb250cm9sLWxhYmVsXCI+XG4gICAge3sgbGFiZWxDb250ZW50IH19XG48L2xhYmVsPlxuXG48ZGl2IGNsYXNzPVwiYmJpLWZvcm0tY29udHJvbC1jb250YWluZXJcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYmJpLWZvcm0tY29udHJvbC1hZGRvbj1wcmVmaXhdXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImlucHV0W2JiaUZvcm1Db250cm9sSW5wdXRdXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltiYmktZm9ybS1jb250cm9sLWFkZG9uPXN1ZmZpeF1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPGJiaS1jb250cm9sLWVycm9yICpuZ0lmPVwiZXJyb3JzJCB8IGFzeW5jIGFzIGVycm9yc1wiXG4gICAgICAgICAgICAgICAgICAgW2Vycm9yc109XCJlcnJvcnNcIj5cbjwvYmJpLWNvbnRyb2wtZXJyb3I+XG5cbjxkaXYgKm5nSWY9XCJoaW50IGFzIGhpbnRDb250ZW50XCJcbiAgICAgY2xhc3M9XCJiYmktZm9ybS1jb250cm9sLWhpbnRcIj5cbiAgICB7eyBoaW50Q29udGVudCB9fVxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class BbiFormControlAddon {
|
|
4
|
+
constructor() {
|
|
5
|
+
// Inputs.
|
|
6
|
+
this.type = null;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
BbiFormControlAddon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbiFormControlAddon, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
BbiFormControlAddon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbiFormControlAddon, selector: "[bbi-form-control-addon]", inputs: { type: ["bbi-form-control-addon", "type"] }, host: { properties: { "class.prefix": "type === 'prefix'", "class.suffix": "type === 'suffix'" }, classAttribute: "bbi-form-control-addon" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".bbi-form-control-addon{margin:0 10px;color:inherit;display:block}.bbi-form-control-addon.suffix{margin-left:0}.bbi-form-control-addon.prefix{margin-right:0}a.bbi-form-control-addon,button.bbi-form-control-addon{width:32px;height:32px;border:none;display:flex;-webkit-appearance:none;appearance:none;margin-right:4px;border-radius:6px;align-items:center;text-decoration:none;justify-content:center;background-color:transparent}a.bbi-form-control-addon,a.bbi-form-control-addon:visited,button.bbi-form-control-addon,button.bbi-form-control-addon:visited{color:inherit}a.bbi-form-control-addon:hover,button.bbi-form-control-addon:hover{background-color:#1565c014}a.bbi-form-control-addon:focus,button.bbi-form-control-addon:focus{background-color:#1565c01f}a.bbi-form-control-addon:active,button.bbi-form-control-addon:active{background-color:#1565c029}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbiFormControlAddon, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: '[bbi-form-control-addon]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
14
|
+
'class': 'bbi-form-control-addon',
|
|
15
|
+
'[class.prefix]': 'type === \'prefix\'',
|
|
16
|
+
'[class.suffix]': 'type === \'suffix\''
|
|
17
|
+
}, preserveWhitespaces: false, template: "<ng-content></ng-content>\n", styles: [".bbi-form-control-addon{margin:0 10px;color:inherit;display:block}.bbi-form-control-addon.suffix{margin-left:0}.bbi-form-control-addon.prefix{margin-right:0}a.bbi-form-control-addon,button.bbi-form-control-addon{width:32px;height:32px;border:none;display:flex;-webkit-appearance:none;appearance:none;margin-right:4px;border-radius:6px;align-items:center;text-decoration:none;justify-content:center;background-color:transparent}a.bbi-form-control-addon,a.bbi-form-control-addon:visited,button.bbi-form-control-addon,button.bbi-form-control-addon:visited{color:inherit}a.bbi-form-control-addon:hover,button.bbi-form-control-addon:hover{background-color:#1565c014}a.bbi-form-control-addon:focus,button.bbi-form-control-addon:focus{background-color:#1565c01f}a.bbi-form-control-addon:active,button.bbi-form-control-addon:active{background-color:#1565c029}\n"] }]
|
|
18
|
+
}], propDecorators: { type: [{
|
|
19
|
+
type: Input,
|
|
20
|
+
args: ['bbi-form-control-addon']
|
|
21
|
+
}] } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLWFkZG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29udHJvbHMvc3JjL2xpYi9mb3JtLWNvbnRyb2wvZm9ybS1jb250cm9sLWFkZG9uL2Zvcm0tY29udHJvbC1hZGRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbnRyb2xzL3NyYy9saWIvZm9ybS1jb250cm9sL2Zvcm0tY29udHJvbC1hZGRvbi9mb3JtLWNvbnRyb2wtYWRkb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBZTNGLE1BQU0sT0FBTyxtQkFBbUI7SUFiaEM7UUFlSSxVQUFVO1FBQ3VCLFNBQUksR0FBK0IsSUFBSSxDQUFDO0tBRTVFOztnSEFMWSxtQkFBbUI7b0dBQW5CLG1CQUFtQixvUUNmaEMsNkJBQ0E7MkZEY2EsbUJBQW1CO2tCQWIvQixTQUFTOytCQUNJLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDRixPQUFPLEVBQUUsd0JBQXdCO3dCQUNqQyxnQkFBZ0IsRUFBRSxxQkFBcUI7d0JBQ3ZDLGdCQUFnQixFQUFFLHFCQUFxQjtxQkFDMUMsdUJBQ29CLEtBQUs7OEJBS08sSUFBSTtzQkFBcEMsS0FBSzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW2JiaS1mb3JtLWNvbnRyb2wtYWRkb25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1jb250cm9sLWFkZG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtLWNvbnRyb2wtYWRkb24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiaS1mb3JtLWNvbnRyb2wtYWRkb24nLFxuICAgICAgICAnW2NsYXNzLnByZWZpeF0nOiAndHlwZSA9PT0gXFwncHJlZml4XFwnJyxcbiAgICAgICAgJ1tjbGFzcy5zdWZmaXhdJzogJ3R5cGUgPT09IFxcJ3N1ZmZpeFxcJydcbiAgICB9LFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJiaUZvcm1Db250cm9sQWRkb24ge1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgnYmJpLWZvcm0tY29udHJvbC1hZGRvbicpIHR5cGU6ICdwcmVmaXgnIHwgJ3N1ZmZpeCcgfCBudWxsID0gbnVsbDtcblxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { Directive, HostBinding, Input, Optional, Self } from '@angular/core';
|
|
2
|
+
import { delay, distinctUntilChanged, map, pairwise, startWith, switchMap } from 'rxjs/operators';
|
|
3
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
4
|
+
import { Validators } from '@angular/forms';
|
|
5
|
+
import { fromEvent, merge, of, Subscription } from 'rxjs';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./form-control/form-control.component";
|
|
8
|
+
import * as i2 from "@angular/forms";
|
|
9
|
+
export class BbiFormControlInput {
|
|
10
|
+
constructor(_elementRef, _formControl, _changeDetectorRef, _ngControl) {
|
|
11
|
+
this._elementRef = _elementRef;
|
|
12
|
+
this._formControl = _formControl;
|
|
13
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
14
|
+
this._ngControl = _ngControl;
|
|
15
|
+
// Readonly data.
|
|
16
|
+
this.labelId = this._formControl?.labelId ?? null;
|
|
17
|
+
// State.
|
|
18
|
+
this.errors = null;
|
|
19
|
+
this.focused = false;
|
|
20
|
+
// Subscriptions.
|
|
21
|
+
this._subscription = new Subscription();
|
|
22
|
+
this._disabled = false;
|
|
23
|
+
this._readonly = false;
|
|
24
|
+
this._required = false;
|
|
25
|
+
}
|
|
26
|
+
ngOnInit() {
|
|
27
|
+
this.handleControlDisabledStatus();
|
|
28
|
+
this.handleControlErrorStatus();
|
|
29
|
+
this.handleFocusedState();
|
|
30
|
+
}
|
|
31
|
+
ngOnDestroy() {
|
|
32
|
+
this._subscription?.unsubscribe();
|
|
33
|
+
}
|
|
34
|
+
get control() {
|
|
35
|
+
return this._ngControl ?? null;
|
|
36
|
+
}
|
|
37
|
+
get disabled() { return this._disabled; }
|
|
38
|
+
set disabled(value) {
|
|
39
|
+
const newValue = coerceBooleanProperty(value);
|
|
40
|
+
if (newValue !== this.disabled) {
|
|
41
|
+
this._disabled = newValue;
|
|
42
|
+
this._changeDetectorRef.markForCheck();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
get readonly() { return this._readonly; }
|
|
46
|
+
set readonly(value) {
|
|
47
|
+
const newValue = coerceBooleanProperty(value);
|
|
48
|
+
if (newValue !== this.readonly) {
|
|
49
|
+
this._readonly = newValue;
|
|
50
|
+
this._changeDetectorRef.markForCheck();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
get required() {
|
|
54
|
+
if (this._ngControl) {
|
|
55
|
+
return this._ngControl?.control?.hasValidator(Validators.required);
|
|
56
|
+
}
|
|
57
|
+
return this._required;
|
|
58
|
+
}
|
|
59
|
+
set required(value) {
|
|
60
|
+
const newValue = coerceBooleanProperty(value);
|
|
61
|
+
if (newValue !== this.required) {
|
|
62
|
+
this._required = newValue;
|
|
63
|
+
this._changeDetectorRef.markForCheck();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
handleControlErrorStatus() {
|
|
67
|
+
if (!this._ngControl) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const errors$ = this._ngControl.statusChanges.pipe(startWith(this._ngControl.status), map(() => this._ngControl?.errors ?? null));
|
|
71
|
+
const subscription = errors$.subscribe(errors => {
|
|
72
|
+
this.errors = errors;
|
|
73
|
+
this._changeDetectorRef.markForCheck();
|
|
74
|
+
});
|
|
75
|
+
this._subscription.add(subscription);
|
|
76
|
+
}
|
|
77
|
+
handleControlDisabledStatus() {
|
|
78
|
+
if (!this._ngControl) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const disabled$ = this._ngControl.statusChanges.pipe(startWith(this._ngControl.status), map(status => status === 'DISABLED'), distinctUntilChanged());
|
|
82
|
+
const subscription = disabled$.subscribe(disabled => {
|
|
83
|
+
this.disabled = disabled;
|
|
84
|
+
});
|
|
85
|
+
this._subscription.add(subscription);
|
|
86
|
+
}
|
|
87
|
+
handleFocusedState() {
|
|
88
|
+
const focus$ = fromEvent(this._elementRef.nativeElement, 'focus').pipe(map(() => true));
|
|
89
|
+
const blur$ = fromEvent(this._elementRef.nativeElement, 'blur').pipe(map(() => false));
|
|
90
|
+
const focused$ = merge(focus$, blur$).pipe(startWith(false), pairwise(), switchMap(([oldValue, currentValue]) => {
|
|
91
|
+
if (oldValue && !currentValue) {
|
|
92
|
+
return of(currentValue).pipe(delay(100));
|
|
93
|
+
}
|
|
94
|
+
return of(currentValue);
|
|
95
|
+
}), distinctUntilChanged());
|
|
96
|
+
const subscription = focused$.subscribe(focused => this.focused = focused);
|
|
97
|
+
this._subscription.add(subscription);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
BbiFormControlInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbiFormControlInput, deps: [{ token: i0.ElementRef }, { token: i1.BbiFormControl }, { token: i0.ChangeDetectorRef }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
101
|
+
BbiFormControlInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: BbiFormControlInput, selector: "input[bbiFormControlInput]", inputs: { disabled: "disabled", readonly: "readonly", required: "required" }, host: { properties: { "attr.id": "this.labelId", "required": "this.required" } }, ngImport: i0 });
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbiFormControlInput, decorators: [{
|
|
103
|
+
type: Directive,
|
|
104
|
+
args: [{
|
|
105
|
+
selector: 'input[bbiFormControlInput]'
|
|
106
|
+
}]
|
|
107
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.BbiFormControl }, { type: i0.ChangeDetectorRef }, { type: i2.NgControl, decorators: [{
|
|
108
|
+
type: Optional
|
|
109
|
+
}, {
|
|
110
|
+
type: Self
|
|
111
|
+
}] }]; }, propDecorators: { labelId: [{
|
|
112
|
+
type: HostBinding,
|
|
113
|
+
args: ['attr.id']
|
|
114
|
+
}], disabled: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], readonly: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], required: [{
|
|
119
|
+
type: HostBinding,
|
|
120
|
+
args: ['required']
|
|
121
|
+
}, {
|
|
122
|
+
type: Input
|
|
123
|
+
}] } });
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29udHJvbHMvc3JjL2xpYi9mb3JtLWNvbnRyb2wvZm9ybS1jb250cm9sLWlucHV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBQyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEcsT0FBTyxFQUFlLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUE4QixVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7O0FBS3hELE1BQU0sT0FBTyxtQkFBbUI7SUFZNUIsWUFBb0IsV0FBdUIsRUFDdkIsWUFBNEIsRUFDNUIsa0JBQXFDLEVBQ2pCLFVBQXFCO1FBSHpDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtRQUM1Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQVc7UUFiN0QsaUJBQWlCO1FBQ2dCLFlBQU8sR0FBVyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUM7UUFFdEYsU0FBUztRQUNULFdBQU0sR0FBNEIsSUFBSSxDQUFDO1FBQ3ZDLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsaUJBQWlCO1FBQ1Qsa0JBQWEsR0FB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QUM7YUFDNUM7WUFFRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsRUFDRixvQkFBb0IsRUFBRSxDQUN6QixDQUFDO1FBRUYsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7Z0hBdElRLG1CQUFtQjtvR0FBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDRCQUE0QjtpQkFDekM7OzBCQWdCZ0IsUUFBUTs7MEJBQUksSUFBSTs0Q0FaSSxPQUFPO3NCQUF2QyxXQUFXO3VCQUFDLFNBQVM7Z0JBZ0NsQixRQUFRO3NCQURYLEtBQUs7Z0JBY0YsUUFBUTtzQkFEWCxLQUFLO2dCQW9CRixRQUFRO3NCQUZYLFdBQVc7dUJBQUMsVUFBVTs7c0JBQ3RCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ZGVsYXksIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHBhaXJ3aXNlLCBzdGFydFdpdGgsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7TmdDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0JiaUZvcm1Db250cm9sfSBmcm9tICcuL2Zvcm0tY29udHJvbC9mb3JtLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7ZnJvbUV2ZW50LCBtZXJnZSwgb2YsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnaW5wdXRbYmJpRm9ybUNvbnRyb2xJbnB1dF0nXG59KVxuZXhwb3J0IGNsYXNzIEJiaUZvcm1Db250cm9sSW5wdXQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICAvLyBSZWFkb25seSBkYXRhLlxuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIHJlYWRvbmx5IGxhYmVsSWQ6IHN0cmluZyA9IHRoaXMuX2Zvcm1Db250cm9sPy5sYWJlbElkID8/IG51bGw7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcbiAgICBmb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBTdWJzY3JpcHRpb25zLlxuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfZm9ybUNvbnRyb2w6IEJiaUZvcm1Db250cm9sLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByaXZhdGUgX25nQ29udHJvbDogTmdDb250cm9sKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlQ29udHJvbERpc2FibGVkU3RhdHVzKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlQ29udHJvbEVycm9yU3RhdHVzKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlRm9jdXNlZFN0YXRlKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBnZXQgY29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25nQ29udHJvbCA/PyBudWxsO1xuICAgIH1cblxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2Rpc2FibGVkOyB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fcmVhZG9ubHk7IH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHJlYWRvbmx5KHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgICAgICBpZiAobmV3VmFsdWUgIT09IHRoaXMucmVhZG9ubHkpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlYWRvbmx5ID0gbmV3VmFsdWU7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3JlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBnZXQgcmVxdWlyZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9uZ0NvbnRyb2w/LmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdyZXF1aXJlZCcpXG4gICAgQElucHV0KClcbiAgICBzZXQgcmVxdWlyZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5yZXF1aXJlZCkge1xuICAgICAgICAgICAgdGhpcy5fcmVxdWlyZWQgPSBuZXdWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaGFuZGxlQ29udHJvbEVycm9yU3RhdHVzKCkge1xuICAgICAgICBpZiAoIXRoaXMuX25nQ29udHJvbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXJyb3JzJCA9IHRoaXMuX25nQ29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgodGhpcy5fbmdDb250cm9sLnN0YXR1cyksXG4gICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5fbmdDb250cm9sPy5lcnJvcnMgPz8gbnVsbClcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBlcnJvcnMkLnN1YnNjcmliZShlcnJvcnMgPT4ge1xuICAgICAgICAgICAgdGhpcy5lcnJvcnMgPSBlcnJvcnM7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUNvbnRyb2xEaXNhYmxlZFN0YXR1cygpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRpc2FibGVkJCA9IHRoaXMuX25nQ29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgodGhpcy5fbmdDb250cm9sLnN0YXR1cyksXG4gICAgICAgICAgICBtYXAoc3RhdHVzID0+IHN0YXR1cyA9PT0gJ0RJU0FCTEVEJyksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gZGlzYWJsZWQkLnN1YnNjcmliZShkaXNhYmxlZCA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVGb2N1c2VkU3RhdGUoKSB7XG4gICAgICAgIGNvbnN0IGZvY3VzJCA9IGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmb2N1cycpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gdHJ1ZSlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgYmx1ciQgPSBmcm9tRXZlbnQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnYmx1cicpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gZmFsc2UpXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgZm9jdXNlZCQgPSBtZXJnZShmb2N1cyQsIGJsdXIkKS5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKGZhbHNlKSxcbiAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKFtvbGRWYWx1ZSwgY3VycmVudFZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvbGRWYWx1ZSAmJiAhY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihjdXJyZW50VmFsdWUpLnBpcGUoZGVsYXkoMTAwKSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKGN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBmb2N1c2VkJC5zdWJzY3JpYmUoZm9jdXNlZCA9PiB0aGlzLmZvY3VzZWQgPSBmb2N1c2VkKTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChzdWJzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIC8vIFJlcXVpcmVkIHNvIHRoYXQgdGhlIHRlbXBsYXRlIHR5cGUgY2hlY2tlciBjYW4gaW5mZXIgdGhlIHR5cGUgb2YgdGhlIGNvZXJjZWQgaW5wdXRzLlxuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kaXNhYmxlZDogQm9vbGVhbklucHV0O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9yZXF1aXJlZDogQm9vbGVhbklucHV0O1xuXG59XG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { BbiFormControlAddon } from './form-control-addon/form-control-addon.component';
|
|
2
|
+
import { ControlErrorModule } from '../control-error/control-error.module';
|
|
3
|
+
import { BbiFormControl } from './form-control/form-control.component';
|
|
4
|
+
import { BbiFormControlInput } from './form-control-input.directive';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
import { NgModule } from '@angular/core';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class FormControlModule {
|
|
9
|
+
}
|
|
10
|
+
FormControlModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: FormControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
FormControlModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: FormControlModule, declarations: [BbiFormControl,
|
|
12
|
+
BbiFormControlInput,
|
|
13
|
+
BbiFormControlAddon], imports: [CommonModule, ControlErrorModule], exports: [BbiFormControl,
|
|
14
|
+
BbiFormControlInput,
|
|
15
|
+
BbiFormControlAddon] });
|
|
16
|
+
FormControlModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: FormControlModule, imports: [CommonModule, ControlErrorModule] });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: FormControlModule, decorators: [{
|
|
18
|
+
type: NgModule,
|
|
19
|
+
args: [{
|
|
20
|
+
imports: [CommonModule, ControlErrorModule],
|
|
21
|
+
declarations: [
|
|
22
|
+
BbiFormControl,
|
|
23
|
+
BbiFormControlInput,
|
|
24
|
+
BbiFormControlAddon
|
|
25
|
+
],
|
|
26
|
+
exports: [
|
|
27
|
+
BbiFormControl,
|
|
28
|
+
BbiFormControlInput,
|
|
29
|
+
BbiFormControlAddon
|
|
30
|
+
]
|
|
31
|
+
}]
|
|
32
|
+
}] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29udHJvbHMvc3JjL2xpYi9mb3JtLWNvbnRyb2wvZm9ybS1jb250cm9sLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUN0RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBZXZDLE1BQU0sT0FBTyxpQkFBaUI7OzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFWdEIsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixtQkFBbUIsYUFKYixZQUFZLEVBQUUsa0JBQWtCLGFBT3RDLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIsbUJBQW1COytHQUdkLGlCQUFpQixZQVpoQixZQUFZLEVBQUUsa0JBQWtCOzJGQVlqQyxpQkFBaUI7a0JBYjdCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDO29CQUMzQyxZQUFZLEVBQUU7d0JBQ1YsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLG1CQUFtQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixtQkFBbUI7cUJBQ3RCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCYmlGb3JtQ29udHJvbEFkZG9ufSBmcm9tICcuL2Zvcm0tY29udHJvbC1hZGRvbi9mb3JtLWNvbnRyb2wtYWRkb24uY29tcG9uZW50JztcbmltcG9ydCB7Q29udHJvbEVycm9yTW9kdWxlfSBmcm9tICcuLi9jb250cm9sLWVycm9yL2NvbnRyb2wtZXJyb3IubW9kdWxlJztcbmltcG9ydCB7QmJpRm9ybUNvbnRyb2x9IGZyb20gJy4vZm9ybS1jb250cm9sL2Zvcm0tY29udHJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHtCYmlGb3JtQ29udHJvbElucHV0fSBmcm9tICcuL2Zvcm0tY29udHJvbC1pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDb250cm9sRXJyb3JNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBCYmlGb3JtQ29udHJvbCxcbiAgICAgICAgQmJpRm9ybUNvbnRyb2xJbnB1dCxcbiAgICAgICAgQmJpRm9ybUNvbnRyb2xBZGRvblxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBCYmlGb3JtQ29udHJvbCxcbiAgICAgICAgQmJpRm9ybUNvbnRyb2xJbnB1dCxcbiAgICAgICAgQmJpRm9ybUNvbnRyb2xBZGRvblxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUNvbnRyb2xNb2R1bGUge1xufVxuIl19
|