@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
|
@@ -4,7 +4,7 @@ import { CookieStorage } from './strategies/cookie-storage.strategy';
|
|
|
4
4
|
import { MemoryStorage } from './strategies/memory-storage.strategy';
|
|
5
5
|
import { COOKIE } from '@bravobit/bb-foundation';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@
|
|
7
|
+
import * as i1 from "@angular/cdk/platform";
|
|
8
8
|
export class Storage {
|
|
9
9
|
constructor(_platform, _cookieString) {
|
|
10
10
|
this._platform = _platform;
|
|
@@ -93,9 +93,9 @@ export class Storage {
|
|
|
93
93
|
return this._strategies.memory;
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
Storage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
97
|
-
Storage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
96
|
+
Storage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Storage, deps: [{ token: i1.Platform }, { token: COOKIE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
97
|
+
Storage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Storage, providedIn: 'root' });
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Storage, decorators: [{
|
|
99
99
|
type: Injectable,
|
|
100
100
|
args: [{
|
|
101
101
|
providedIn: 'root'
|
|
@@ -106,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
|
|
|
106
106
|
type: Inject,
|
|
107
107
|
args: [COOKIE]
|
|
108
108
|
}] }]; } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9zdG9yYWdlL3NyYy9saWIvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXRFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFFbkUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHlCQUF5QixDQUFDOzs7QUFLL0MsTUFBTSxPQUFPLE9BQU87SUFRaEIsWUFBb0IsU0FBbUIsRUFDUyxhQUFzQjtRQURsRCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ1Msa0JBQWEsR0FBYixhQUFhLENBQVM7UUFKdEUscUNBQXFDO1FBQ3BCLGFBQVEsR0FBMkIsSUFBSSxDQUFDO1FBdUZqRCxvQkFBZSxHQUFHLEdBQUcsRUFBRTtZQUMzQixJQUFJO2dCQUNBLE9BQU8sQ0FBQyxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2FBQ3hFO1lBQUMsTUFBTTtnQkFDSixPQUFPLElBQUksQ0FBQzthQUNmO1FBQ0wsQ0FBQyxDQUFDO1FBRU0sc0JBQWlCLEdBQUcsR0FBRyxFQUFFO1lBQzdCLElBQUk7Z0JBQ0EsT0FBTyxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDMUU7WUFBQyxNQUFNO2dCQUNKLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7UUFDTCxDQUFDLENBQUM7UUFqR0UsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNmLG1DQUFxQixFQUFFLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNsRSxxQ0FBc0IsRUFBRSxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3ZGLHVDQUF1QixFQUFFLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3RFLHFDQUFzQixFQUFFLElBQUksYUFBYSxFQUFFO1NBQzlDLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxNQUFNLENBQUMsTUFBdUM7UUFDMUMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1lBQ3RCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUM7WUFDbEQsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUNwQyxPQUFPLFFBQVEsQ0FBQzthQUNuQjtTQUNKO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxTQUFTLEVBQUUsRUFBRTtZQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsMkVBQTJFLENBQUMsQ0FBQztTQUNoRztRQUVELHNGQUFzRjtRQUN0RixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRCxHQUFHLENBQVUsS0FBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxHQUFHLENBQVUsS0FBYSxFQUFFLEtBQVEsRUFBRSxVQUE4QjtRQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBSSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxNQUFNLENBQUMsS0FBYSxFQUFFLFVBQThCO1FBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQThCO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLDBEQUEwRDtRQUMxRCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDakMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTFDLDRDQUE0QztZQUM1QyxJQUFJLFFBQVEsRUFBRSxXQUFXLEVBQUUsRUFBRTtnQkFDekIsT0FBTyxRQUFRLENBQUM7YUFDbkI7U0FDSjtRQUVELG9EQUFvRDtRQUNwRCwrQ0FBK0M7UUFDL0MsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxTQUFTLEVBQUUsRUFBRTtZQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsMkVBQTJFLENBQUMsQ0FBQztTQUNoRztRQUVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQzs7b0dBM0ZRLE9BQU8sMENBU2dCLE1BQU07d0dBVDdCLE9BQU8sY0FGSixNQUFNOzJGQUVULE9BQU87a0JBSG5CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFVZ0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTdG9yYWdlT3B0aW9uLCBTdG9yYWdlU3RyYXRlZ3l9IGZyb20gJy4vaW50ZXJmYWNlcy9zdHJhdGVneS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQb2x5ZmlsbFN0b3JhZ2V9IGZyb20gJy4vc3RyYXRlZ2llcy9wb2x5ZmlsbC1zdG9yYWdlLnN0cmF0ZWd5JztcbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBpc0Rldk1vZGUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3RvcmFnZUF0dHJpYnV0ZXN9IGZyb20gJy4vaW50ZXJmYWNlcy9hdHRyaWJ1dGVzLmludGVyZmFjZSc7XG5pbXBvcnQge0Nvb2tpZVN0b3JhZ2V9IGZyb20gJy4vc3RyYXRlZ2llcy9jb29raWUtc3RvcmFnZS5zdHJhdGVneSc7XG5pbXBvcnQge01lbW9yeVN0b3JhZ2V9IGZyb20gJy4vc3RyYXRlZ2llcy9tZW1vcnktc3RvcmFnZS5zdHJhdGVneSc7XG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHtDT09LSUV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdG9yYWdlIGltcGxlbWVudHMgU3RvcmFnZVN0cmF0ZWd5IHtcblxuICAgIC8vIEFsbCBhdmFpbGFibGUgc3RyYXRlZ2llcyAoc29ydGVkIGJlc3QgdG8gbGFzdCkuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfc3RyYXRlZ2llczogeyBba2V5IGluIGAke1N0b3JhZ2VPcHRpb259YF06IFN0b3JhZ2VTdHJhdGVneSB9O1xuXG4gICAgLy8gQ3VycmVudCBzZWxlY3RlZCBzdG9yYWdlIHN0cmF0ZWd5LlxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2N1cnJlbnQ6IFN0b3JhZ2VTdHJhdGVneSB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQ09PS0lFKSBwcml2YXRlIF9jb29raWVTdHJpbmc/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc3RyYXRlZ2llcyA9IHtcbiAgICAgICAgICAgIFtTdG9yYWdlT3B0aW9uLkxvY2FsXTogbmV3IFBvbHlmaWxsU3RvcmFnZSh0aGlzLmdldExvY2FsU3RvcmFnZSgpKSxcbiAgICAgICAgICAgIFtTdG9yYWdlT3B0aW9uLkNvb2tpZV06IG5ldyBDb29raWVTdG9yYWdlKHRoaXMuX3BsYXRmb3JtLmlzQnJvd3NlciwgdGhpcy5fY29va2llU3RyaW5nKSxcbiAgICAgICAgICAgIFtTdG9yYWdlT3B0aW9uLlNlc3Npb25dOiBuZXcgUG9seWZpbGxTdG9yYWdlKHRoaXMuZ2V0U2Vzc2lvblN0b3JhZ2UoKSksXG4gICAgICAgICAgICBbU3RvcmFnZU9wdGlvbi5NZW1vcnldOiBuZXcgTWVtb3J5U3RvcmFnZSgpXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fY3VycmVudCA9IHRoaXMuZmluZEJlc3RTdG9yYWdlU3RyYXRlZ3koKTtcbiAgICB9XG5cbiAgICBzZWxlY3Qob3B0aW9uOiBTdG9yYWdlT3B0aW9uIHwgU3RvcmFnZU9wdGlvbltdKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gQXJyYXkuaXNBcnJheShvcHRpb24pID8gb3B0aW9uIDogW29wdGlvbl07XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgICAgICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLl9zdHJhdGVnaWVzPy5baXRlbV0gPz8gbnVsbDtcbiAgICAgICAgICAgIGlmIChzdHJhdGVneSAmJiBzdHJhdGVneS5pc1N1cHBvcnRlZCgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0cmF0ZWd5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX3BsYXRmb3JtLmlzQnJvd3NlciAmJiBpc0Rldk1vZGUoKSkge1xuICAgICAgICAgICAgY29uc29sZT8ud2Fybj8uKCdbU3RvcmFnZV06IENvdWxkIG5vdCBzZWxlY3QgcHJvcGVyIHN0b3JhZ2Ugb3B0aW9uLCB1c2luZyBtZW1vcnkgZmFsbGJhY2suJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbHdheXMgcmV0dXJuIGFzIGEgZmFsbGJhY2sgdGhlIG1lbW9yeSBzdG9yYWdlIHNpbmNlIGl0IHNob3VsZCBiZSBhbHdheXMgYXZhaWxhYmxlLlxuICAgICAgICByZXR1cm4gdGhpcy5fc3RyYXRlZ2llcy5tZW1vcnk7XG4gICAgfVxuXG4gICAgZ2V0IGxvY2FsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RyYXRlZ2llcy5sb2NhbDtcbiAgICB9XG5cbiAgICBnZXQgY29va2llKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RyYXRlZ2llcy5jb29raWU7XG4gICAgfVxuXG4gICAgZ2V0IHNlc3Npb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdHJhdGVnaWVzLnNlc3Npb247XG4gICAgfVxuXG4gICAgZ2V0IG1lbW9yeSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0cmF0ZWdpZXMubWVtb3J5O1xuICAgIH1cblxuICAgIGdldDxUID0gYW55Pih0b2tlbjogc3RyaW5nKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50LmdldCh0b2tlbik7XG4gICAgfVxuXG4gICAgc2V0PFQgPSBhbnk+KHRva2VuOiBzdHJpbmcsIHZhbHVlOiBULCBhdHRyaWJ1dGVzPzogU3RvcmFnZUF0dHJpYnV0ZXMpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudC5zZXQ8VD4odG9rZW4sIHZhbHVlLCBhdHRyaWJ1dGVzKTtcbiAgICB9XG5cbiAgICByZW1vdmUodG9rZW46IHN0cmluZywgYXR0cmlidXRlcz86IFN0b3JhZ2VBdHRyaWJ1dGVzKSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnQucmVtb3ZlKHRva2VuLCBhdHRyaWJ1dGVzKTtcbiAgICB9XG5cbiAgICBjbGVhcihhdHRyaWJ1dGVzPzogU3RvcmFnZUF0dHJpYnV0ZXMpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudC5jbGVhcihhdHRyaWJ1dGVzKTtcbiAgICB9XG5cbiAgICBpc1N1cHBvcnRlZCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fY3VycmVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRCZXN0U3RvcmFnZVN0cmF0ZWd5KCkge1xuICAgICAgICAvLyBMb29wIHRocm91Z2ggYWxsIGF2YWlsYWJsZSBzdHJhdGVnaWVzIHRvIGZpbmQgdGhlIGJlc3QuXG4gICAgICAgIGZvciAoY29uc3QgdHlwZSBpbiB0aGlzLl9zdHJhdGVnaWVzKSB7XG4gICAgICAgICAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuX3N0cmF0ZWdpZXM/Llt0eXBlXTtcblxuICAgICAgICAgICAgLy8gVGhlIGZpcnN0IHN1cHBvcnRlZCBzdHJhdGVneSBpcyB0aGUgYmVzdC5cbiAgICAgICAgICAgIGlmIChzdHJhdGVneT8uaXNTdXBwb3J0ZWQoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzdHJhdGVneTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIG5vIHN0cmF0ZWd5IHdhcyByZXR1cm5lZCB3ZSBmYWxsYmFjayB0byBtZW1vcnlcbiAgICAgICAgLy8gc3RvcmFnZSBzaW5jZSBpdCBzaG91bGQgYmUgYXZhaWxhYmxlIGFsd2F5cy5cbiAgICAgICAgaWYgKHRoaXMuX3BsYXRmb3JtLmlzQnJvd3NlciAmJiBpc0Rldk1vZGUoKSkge1xuICAgICAgICAgICAgY29uc29sZT8ud2Fybj8uKCdbU3RvcmFnZV06IENvdWxkIG5vdCBzZWxlY3QgcHJvcGVyIHN0b3JhZ2Ugb3B0aW9uLCB1c2luZyBtZW1vcnkgZmFsbGJhY2suJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fc3RyYXRlZ2llcy5tZW1vcnk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMb2NhbFN0b3JhZ2UgPSAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSA/IHdpbmRvdz8ubG9jYWxTdG9yYWdlIDogbnVsbDtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBwcml2YXRlIGdldFNlc3Npb25TdG9yYWdlID0gKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykgPyB3aW5kb3c/LnNlc3Npb25TdG9yYWdlIDogbnVsbDtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH07XG5cbn1cbiJdfQ==
|
|
@@ -11,9 +11,9 @@ import * as i4 from "../table-pager/table-pager.component";
|
|
|
11
11
|
import * as i5 from "@bravobit/bb-foundation/localize";
|
|
12
12
|
export class BbTableColumnDef {
|
|
13
13
|
}
|
|
14
|
-
BbTableColumnDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
15
|
-
BbTableColumnDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
14
|
+
BbTableColumnDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbTableColumnDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
15
|
+
BbTableColumnDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: BbTableColumnDef, selector: "[bbTableColumnDef]", ngImport: i0 });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbTableColumnDef, decorators: [{
|
|
17
17
|
type: Directive,
|
|
18
18
|
args: [{
|
|
19
19
|
selector: '[bbTableColumnDef]'
|
|
@@ -21,9 +21,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
|
|
|
21
21
|
}] });
|
|
22
22
|
export class BbTableRowDef {
|
|
23
23
|
}
|
|
24
|
-
BbTableRowDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
25
|
-
BbTableRowDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
24
|
+
BbTableRowDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbTableRowDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
25
|
+
BbTableRowDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: BbTableRowDef, selector: "[bbTableRowDef]", ngImport: i0 });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbTableRowDef, decorators: [{
|
|
27
27
|
type: Directive,
|
|
28
28
|
args: [{
|
|
29
29
|
selector: '[bbTableRowDef]'
|
|
@@ -162,9 +162,9 @@ export class BbTable {
|
|
|
162
162
|
return this.form.valueChanges.pipe(startWith(this.form.value));
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
|
-
BbTable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
166
|
-
BbTable.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: BbTable, selector: "bb-table", inputs: { identifier: "identifier", dataSource: "dataSource", queryFields: "queryFields", sortingStrategy: "sortingStrategy", header: "header", footer: "footer", sizes: "sizes" }, host: { classAttribute: "bb-table" }, queries: [{ propertyName: "tableRowTemplate", first: true, predicate: BbTableRowDef, descendants: true, read: TemplateRef }, { propertyName: "tableColumnTemplates", predicate: BbTableColumnDef, read: TemplateRef }], ngImport: i0, template: "<!--\n This is the header of the table. It can be a user\n defined custom header or just the default header.\n-->\n\n<header *ngIf=\"(header === true ? headerTemplate : header) as template\"\n class=\"bb-table-top-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</header>\n\n<!--\n This is the table that contains the\n rows and columns.\n-->\n\n<div class=\"bb-table-wrapper\">\n <div *ngIf=\"isLoading$ | async\"\n class=\"bb-table-progress\">\n <div class=\"bb-table-indeterminate\"></div>\n </div>\n <table class=\"bb-table-container\">\n <thead>\n <tr>\n <ng-content select=\"bb-table-header-cell\"></ng-content>\n </tr>\n </thead>\n <tbody *ngIf=\"data$ | async as data; else isLoadingTemplate\"\n [ngSwitch]=\"data?.state\">\n <ng-container *ngSwitchCase=\"'success'\">\n <ng-container *ngIf=\"!!tableRowTemplate; else tableCellsTemplates\">\n <ng-container\n *ngTemplateOutlet=\"tableRowTemplate; context: {data: data?.result?.data || []}\"></ng-container>\n </ng-container>\n\n <ng-template #tableCellsTemplates>\n <tr *ngFor=\"let item of data?.result?.data; trackBy: trackByFn\">\n <ng-container *ngFor=\"let template of tableColumnTemplates\">\n <ng-container *ngTemplateOutlet=\"template; context: {item: item}\"></ng-container>\n </ng-container>\n </tr>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'empty'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_datasource'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_not_found'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_server'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_down'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n </tbody>\n </table>\n</div>\n\n<footer *ngIf=\"(footer === true ? footerTemplate : footer) as template\"\n class=\"bb-table-bottom-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</footer>\n\n<ng-template #isLoadingTemplate>\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n {{ 'tables.loading' | bbLocalize }}\n </div>\n </td>\n </tr>\n</ng-template>\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom header template.\n-->\n\n<ng-template #headerTemplate>\n <ng-content></ng-content>\n <bb-form-control>\n <input [formControl]=\"queryControl\"\n [placeholder]=\"'tables.search' | bbLocalize\"\n bbInput\n autocomplete=\"off\">\n <bb-icon *ngIf=\"queryControl?.value?.length <= 0; else closeButtonTemplate\"\n bbSuffix\n src=\"material:search\">\n </bb-icon>\n </bb-form-control>\n</ng-template>\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom footer template.\n-->\n\n<ng-template #footerTemplate>\n <bb-form-control *ngIf=\"sizes?.length > 1\">\n <select [formControl]=\"pageSizeControl\"\n bbInput\n title=\"Sizes\">\n <option *ngFor=\"let item of sizes; trackBy: trackByValue\"\n [ngValue]=\"item\">\n {{ item }} / {{ 'tables.page' | bbLocalize }}\n </option>\n </select>\n </bb-form-control>\n\n <bb-table-pager [totalPages]=\"(data$ | async)?.result?.totalPages\"\n [formControl]=\"pageNumberControl\">\n </bb-table-pager>\n</ng-template>\n\n<!--\n This the template that will be used when the user\n has filled in some data in the query control.\n-->\n\n<ng-template #closeButtonTemplate>\n <button bbSuffix\n (click)=\"queryControl?.patchValue('')\"\n type=\"button\"\n class=\"bb-table-progress-close-query\">\n <bb-icon src=\"material:close\"></bb-icon>\n </button>\n</ng-template>\n\n<ng-template #errorTemplate let-state=\"state\" let-status=\"statusCode\">\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64\" height=\"41\">\n <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(0 1)\">\n <ellipse cx=\"32\" cy=\"33\" fill=\"#F5F5F5\" rx=\"32\" ry=\"7\"></ellipse>\n <g fill-rule=\"nonzero\" stroke=\"#D9D9D9\">\n <path\n d=\"M55 12.7605604L44.8543047 1.25739633C44.3674414.47382661 43.6558789 0 42.9067617 0H21.0932383c-.7491172 0-1.4606797.47395025-1.947543 1.25739633L9 12.7605604V22h46v-9.2394396z\"></path>\n <path fill=\"#FAFAFA\"\n d=\"M41.6132813 15.9315c0-1.6056489.9936718-2.931266 2.2264179-2.9315H55v18.1371277C55 33.2589574 53.6793867 35 52.0504297 35H11.94957031C10.32052344 35 9 33.2588404 9 31.1371277V13h11.1603008c1.2327461 0 2.226418 1.3228085 2.226418 2.9284574v.0211809c0 1.6056489 1.0049921 2.9015426 2.2377382 2.9015426h14.751086c1.2327461 0 2.2377383-1.3078298 2.2377383-2.9134788V15.9315z\"></path>\n </g>\n </g>\n </svg>\n <span *ngIf=\"state as stateLabel\">{{ ('tables.' + stateLabel) | bbLocalize }}</span>\n <span *ngIf=\"status as statusCode\"\n class=\"bb-table-template-content-code\">(HTTP {{ statusCode }})</span>\n </div>\n </td>\n </tr>\n</ng-template>\n", styles: [".bb-table{width:100%;display:block;box-shadow:0 6px 6px -6px #0000001a}.bb-table.plain{box-shadow:none}.bb-table.plain>.bb-table-wrapper{border-top-left-radius:0;border-top-right-radius:0}.bb-table-wrapper{overflow-x:auto;position:relative;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px}.bb-table-container{width:100%}.bb-table-container td{border-bottom:1px solid #d8d8d8}.bb-table-top-actions{display:flex;flex-wrap:wrap;flex-direction:column;padding:20px 20px 10px;background-color:#fff;justify-content:flex-end;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-table-top-actions>*{margin-left:0;margin-bottom:10px}.bb-table-top-actions+.bb-table-wrapper{border-radius:0}.bb-table-bottom-actions{height:60px;display:flex;padding:0 20px;overflow-x:auto;align-items:center;background-color:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.bb-table-template{border:none;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-template-content{padding:20px;display:flex;color:#3d464d;font-size:14px;line-height:1.2;font-weight:400;min-height:140px;text-align:center;align-items:center;flex-direction:column;justify-content:center}.bb-table-template-content>svg{margin-bottom:12px}.bb-table-template-content-code{opacity:.5;margin-top:5px;display:inline-block}.bb-table-progress{top:0;left:0;right:0;opacity:0;width:100%;height:4px;display:block;overflow:hidden;position:absolute;background-color:#2f408b4d;animation:fadeIn .25s cubic-bezier(0,0,.2,1) .1s forwards}.bb-table-progress .bb-table-indeterminate{background-color:#2f408b}.bb-table-progress .bb-table-indeterminate:before{top:0;left:0;bottom:0;content:\"\";position:absolute;will-change:left,right;background-color:inherit;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.bb-table-progress .bb-table-indeterminate:after{top:0;left:0;bottom:0;content:\"\";position:absolute;animation-delay:1.15s;will-change:left,right;background-color:inherit;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite}.bb-table-progress-close-query{padding:0;border:none;border-radius:4px;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-table-progress-close-query:hover{background-color:#00000014}.bb-table-progress-close-query:focus{background-color:#0000001f}.bb-table-progress-close-query:active{background-color:#00000029}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@media only screen and (min-width: 768px){.bb-table-top-actions{flex-direction:row}.bb-table-top-actions>*:not(:first-child){margin-left:10px;margin-bottom:10px}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.BbInput, selector: "input[bbInput], textarea[bbInput]", inputs: ["readonly"] }, { kind: "directive", type: i3.BbSelect, selector: "select[bbInput]", inputs: ["disabled", "required"] }, { kind: "directive", type: i3.BbSuffix, selector: "[bbSuffix]" }, { kind: "component", type: i3.BbIcon, selector: "bb-icon", inputs: ["alt", "size", "src", "ariaHidden"] }, { kind: "component", type: i3.BbFormControl, selector: "bb-form-control", inputs: ["grouped", "hideErrors", "label", "hint"] }, { kind: "component", type: i4.BbTablePager, selector: "bb-table-pager", inputs: ["disabled", "amountOfButtons", "showArrowButtons", "pageNumber", "totalPages"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
165
|
+
BbTable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbTable, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
166
|
+
BbTable.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbTable, selector: "bb-table", inputs: { identifier: "identifier", dataSource: "dataSource", queryFields: "queryFields", sortingStrategy: "sortingStrategy", header: "header", footer: "footer", sizes: "sizes" }, host: { classAttribute: "bb-table" }, queries: [{ propertyName: "tableRowTemplate", first: true, predicate: BbTableRowDef, descendants: true, read: TemplateRef }, { propertyName: "tableColumnTemplates", predicate: BbTableColumnDef, read: TemplateRef }], ngImport: i0, template: "<!--\n This is the header of the table. It can be a user\n defined custom header or just the default header.\n-->\n\n<header *ngIf=\"(header === true ? headerTemplate : header) as template\"\n class=\"bb-table-top-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</header>\n\n<!--\n This is the table that contains the\n rows and columns.\n-->\n\n<div class=\"bb-table-wrapper\">\n <div *ngIf=\"isLoading$ | async\"\n class=\"bb-table-progress\">\n <div class=\"bb-table-indeterminate\"></div>\n </div>\n <table class=\"bb-table-container\">\n <thead>\n <tr>\n <ng-content select=\"bb-table-header-cell\"></ng-content>\n </tr>\n </thead>\n <tbody *ngIf=\"data$ | async as data; else isLoadingTemplate\"\n [ngSwitch]=\"data?.state\">\n <ng-container *ngSwitchCase=\"'success'\">\n <ng-container *ngIf=\"!!tableRowTemplate; else tableCellsTemplates\">\n <ng-container\n *ngTemplateOutlet=\"tableRowTemplate; context: {data: data?.result?.data || []}\"></ng-container>\n </ng-container>\n\n <ng-template #tableCellsTemplates>\n <tr *ngFor=\"let item of data?.result?.data; trackBy: trackByFn\">\n <ng-container *ngFor=\"let template of tableColumnTemplates\">\n <ng-container *ngTemplateOutlet=\"template; context: {item: item}\"></ng-container>\n </ng-container>\n </tr>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'empty'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_datasource'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_not_found'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_server'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_down'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n </tbody>\n </table>\n</div>\n\n<footer *ngIf=\"(footer === true ? footerTemplate : footer) as template\"\n class=\"bb-table-bottom-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</footer>\n\n<ng-template #isLoadingTemplate>\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n {{ 'tables.loading' | bbLocalize }}\n </div>\n </td>\n </tr>\n</ng-template>\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom header template.\n-->\n\n<ng-template #headerTemplate>\n <ng-content></ng-content>\n <bb-form-control>\n <input [formControl]=\"queryControl\"\n [placeholder]=\"'tables.search' | bbLocalize\"\n bbInput\n autocomplete=\"off\">\n <bb-icon *ngIf=\"queryControl?.value?.length <= 0; else closeButtonTemplate\"\n bbSuffix\n src=\"material:search\">\n </bb-icon>\n </bb-form-control>\n</ng-template>\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom footer template.\n-->\n\n<ng-template #footerTemplate>\n <bb-form-control *ngIf=\"sizes?.length > 1\">\n <select [formControl]=\"pageSizeControl\"\n bbInput\n title=\"Sizes\">\n <option *ngFor=\"let item of sizes; trackBy: trackByValue\"\n [ngValue]=\"item\">\n {{ item }} / {{ 'tables.page' | bbLocalize }}\n </option>\n </select>\n </bb-form-control>\n\n <bb-table-pager [totalPages]=\"(data$ | async)?.result?.totalPages\"\n [formControl]=\"pageNumberControl\">\n </bb-table-pager>\n</ng-template>\n\n<!--\n This the template that will be used when the user\n has filled in some data in the query control.\n-->\n\n<ng-template #closeButtonTemplate>\n <button bbSuffix\n (click)=\"queryControl?.patchValue('')\"\n type=\"button\"\n class=\"bb-table-progress-close-query\">\n <bb-icon src=\"material:close\"></bb-icon>\n </button>\n</ng-template>\n\n<ng-template #errorTemplate let-state=\"state\" let-status=\"statusCode\">\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64\" height=\"41\">\n <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(0 1)\">\n <ellipse cx=\"32\" cy=\"33\" fill=\"#F5F5F5\" rx=\"32\" ry=\"7\"></ellipse>\n <g fill-rule=\"nonzero\" stroke=\"#D9D9D9\">\n <path\n d=\"M55 12.7605604L44.8543047 1.25739633C44.3674414.47382661 43.6558789 0 42.9067617 0H21.0932383c-.7491172 0-1.4606797.47395025-1.947543 1.25739633L9 12.7605604V22h46v-9.2394396z\"></path>\n <path fill=\"#FAFAFA\"\n d=\"M41.6132813 15.9315c0-1.6056489.9936718-2.931266 2.2264179-2.9315H55v18.1371277C55 33.2589574 53.6793867 35 52.0504297 35H11.94957031C10.32052344 35 9 33.2588404 9 31.1371277V13h11.1603008c1.2327461 0 2.226418 1.3228085 2.226418 2.9284574v.0211809c0 1.6056489 1.0049921 2.9015426 2.2377382 2.9015426h14.751086c1.2327461 0 2.2377383-1.3078298 2.2377383-2.9134788V15.9315z\"></path>\n </g>\n </g>\n </svg>\n <span *ngIf=\"state as stateLabel\">{{ ('tables.' + stateLabel) | bbLocalize }}</span>\n <span *ngIf=\"status as statusCode\"\n class=\"bb-table-template-content-code\">(HTTP {{ statusCode }})</span>\n </div>\n </td>\n </tr>\n</ng-template>\n", styles: [".bb-table{width:100%;display:block;box-shadow:0 6px 6px -6px #0000001a}.bb-table.plain{box-shadow:none}.bb-table.plain>.bb-table-wrapper{border-top-left-radius:0;border-top-right-radius:0}.bb-table-wrapper{overflow-x:auto;position:relative;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px}.bb-table-container{width:100%}.bb-table-container td{border-bottom:1px solid #d8d8d8}.bb-table-top-actions{display:flex;flex-wrap:wrap;flex-direction:column;padding:20px 20px 10px;background-color:#fff;justify-content:flex-end;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-table-top-actions>*{margin-left:0;margin-bottom:10px}.bb-table-top-actions+.bb-table-wrapper{border-radius:0}.bb-table-bottom-actions{height:60px;display:flex;padding:0 20px;overflow-x:auto;align-items:center;background-color:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.bb-table-template{border:none;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-template-content{padding:20px;display:flex;color:#3d464d;font-size:14px;line-height:1.2;font-weight:400;min-height:140px;text-align:center;align-items:center;flex-direction:column;justify-content:center}.bb-table-template-content>svg{margin-bottom:12px}.bb-table-template-content-code{opacity:.5;margin-top:5px;display:inline-block}.bb-table-progress{top:0;left:0;right:0;opacity:0;width:100%;height:4px;display:block;overflow:hidden;position:absolute;background-color:#2f408b4d;animation:fadeIn .25s cubic-bezier(0,0,.2,1) .1s forwards}.bb-table-progress .bb-table-indeterminate{background-color:#2f408b}.bb-table-progress .bb-table-indeterminate:before{top:0;left:0;bottom:0;content:\"\";position:absolute;will-change:left,right;background-color:inherit;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.bb-table-progress .bb-table-indeterminate:after{top:0;left:0;bottom:0;content:\"\";position:absolute;animation-delay:1.15s;will-change:left,right;background-color:inherit;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite}.bb-table-progress-close-query{padding:0;border:none;border-radius:4px;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-table-progress-close-query:hover{background-color:#00000014}.bb-table-progress-close-query:focus{background-color:#0000001f}.bb-table-progress-close-query:active{background-color:#00000029}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@media only screen and (min-width: 768px){.bb-table-top-actions{flex-direction:row}.bb-table-top-actions>*:not(:first-child){margin-left:10px;margin-bottom:10px}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.BbInput, selector: "input[bbInput], textarea[bbInput]", inputs: ["readonly"] }, { kind: "directive", type: i3.BbSelect, selector: "select[bbInput]", inputs: ["disabled", "required"] }, { kind: "directive", type: i3.BbSuffix, selector: "[bbSuffix]" }, { kind: "component", type: i3.BbIcon, selector: "bb-icon", inputs: ["alt", "size", "src", "ariaHidden"] }, { kind: "component", type: i3.BbFormControl, selector: "bb-form-control", inputs: ["grouped", "hideErrors", "label", "hint"] }, { kind: "component", type: i4.BbTablePager, selector: "bb-table-pager", inputs: ["disabled", "amountOfButtons", "showArrowButtons", "pageNumber", "totalPages"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbTable, decorators: [{
|
|
168
168
|
type: Component,
|
|
169
169
|
args: [{ selector: 'bb-table', host: { 'class': 'bb-table' }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<!--\n This is the header of the table. It can be a user\n defined custom header or just the default header.\n-->\n\n<header *ngIf=\"(header === true ? headerTemplate : header) as template\"\n class=\"bb-table-top-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</header>\n\n<!--\n This is the table that contains the\n rows and columns.\n-->\n\n<div class=\"bb-table-wrapper\">\n <div *ngIf=\"isLoading$ | async\"\n class=\"bb-table-progress\">\n <div class=\"bb-table-indeterminate\"></div>\n </div>\n <table class=\"bb-table-container\">\n <thead>\n <tr>\n <ng-content select=\"bb-table-header-cell\"></ng-content>\n </tr>\n </thead>\n <tbody *ngIf=\"data$ | async as data; else isLoadingTemplate\"\n [ngSwitch]=\"data?.state\">\n <ng-container *ngSwitchCase=\"'success'\">\n <ng-container *ngIf=\"!!tableRowTemplate; else tableCellsTemplates\">\n <ng-container\n *ngTemplateOutlet=\"tableRowTemplate; context: {data: data?.result?.data || []}\"></ng-container>\n </ng-container>\n\n <ng-template #tableCellsTemplates>\n <tr *ngFor=\"let item of data?.result?.data; trackBy: trackByFn\">\n <ng-container *ngFor=\"let template of tableColumnTemplates\">\n <ng-container *ngTemplateOutlet=\"template; context: {item: item}\"></ng-container>\n </ng-container>\n </tr>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'empty'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_datasource'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_not_found'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_server'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_down'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n </tbody>\n </table>\n</div>\n\n<footer *ngIf=\"(footer === true ? footerTemplate : footer) as template\"\n class=\"bb-table-bottom-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</footer>\n\n<ng-template #isLoadingTemplate>\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n {{ 'tables.loading' | bbLocalize }}\n </div>\n </td>\n </tr>\n</ng-template>\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom header template.\n-->\n\n<ng-template #headerTemplate>\n <ng-content></ng-content>\n <bb-form-control>\n <input [formControl]=\"queryControl\"\n [placeholder]=\"'tables.search' | bbLocalize\"\n bbInput\n autocomplete=\"off\">\n <bb-icon *ngIf=\"queryControl?.value?.length <= 0; else closeButtonTemplate\"\n bbSuffix\n src=\"material:search\">\n </bb-icon>\n </bb-form-control>\n</ng-template>\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom footer template.\n-->\n\n<ng-template #footerTemplate>\n <bb-form-control *ngIf=\"sizes?.length > 1\">\n <select [formControl]=\"pageSizeControl\"\n bbInput\n title=\"Sizes\">\n <option *ngFor=\"let item of sizes; trackBy: trackByValue\"\n [ngValue]=\"item\">\n {{ item }} / {{ 'tables.page' | bbLocalize }}\n </option>\n </select>\n </bb-form-control>\n\n <bb-table-pager [totalPages]=\"(data$ | async)?.result?.totalPages\"\n [formControl]=\"pageNumberControl\">\n </bb-table-pager>\n</ng-template>\n\n<!--\n This the template that will be used when the user\n has filled in some data in the query control.\n-->\n\n<ng-template #closeButtonTemplate>\n <button bbSuffix\n (click)=\"queryControl?.patchValue('')\"\n type=\"button\"\n class=\"bb-table-progress-close-query\">\n <bb-icon src=\"material:close\"></bb-icon>\n </button>\n</ng-template>\n\n<ng-template #errorTemplate let-state=\"state\" let-status=\"statusCode\">\n <tr>\n <td [attr.colspan]=\"headerCount\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64\" height=\"41\">\n <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(0 1)\">\n <ellipse cx=\"32\" cy=\"33\" fill=\"#F5F5F5\" rx=\"32\" ry=\"7\"></ellipse>\n <g fill-rule=\"nonzero\" stroke=\"#D9D9D9\">\n <path\n d=\"M55 12.7605604L44.8543047 1.25739633C44.3674414.47382661 43.6558789 0 42.9067617 0H21.0932383c-.7491172 0-1.4606797.47395025-1.947543 1.25739633L9 12.7605604V22h46v-9.2394396z\"></path>\n <path fill=\"#FAFAFA\"\n d=\"M41.6132813 15.9315c0-1.6056489.9936718-2.931266 2.2264179-2.9315H55v18.1371277C55 33.2589574 53.6793867 35 52.0504297 35H11.94957031C10.32052344 35 9 33.2588404 9 31.1371277V13h11.1603008c1.2327461 0 2.226418 1.3228085 2.226418 2.9284574v.0211809c0 1.6056489 1.0049921 2.9015426 2.2377382 2.9015426h14.751086c1.2327461 0 2.2377383-1.3078298 2.2377383-2.9134788V15.9315z\"></path>\n </g>\n </g>\n </svg>\n <span *ngIf=\"state as stateLabel\">{{ ('tables.' + stateLabel) | bbLocalize }}</span>\n <span *ngIf=\"status as statusCode\"\n class=\"bb-table-template-content-code\">(HTTP {{ statusCode }})</span>\n </div>\n </td>\n </tr>\n</ng-template>\n", styles: [".bb-table{width:100%;display:block;box-shadow:0 6px 6px -6px #0000001a}.bb-table.plain{box-shadow:none}.bb-table.plain>.bb-table-wrapper{border-top-left-radius:0;border-top-right-radius:0}.bb-table-wrapper{overflow-x:auto;position:relative;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px}.bb-table-container{width:100%}.bb-table-container td{border-bottom:1px solid #d8d8d8}.bb-table-top-actions{display:flex;flex-wrap:wrap;flex-direction:column;padding:20px 20px 10px;background-color:#fff;justify-content:flex-end;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-table-top-actions>*{margin-left:0;margin-bottom:10px}.bb-table-top-actions+.bb-table-wrapper{border-radius:0}.bb-table-bottom-actions{height:60px;display:flex;padding:0 20px;overflow-x:auto;align-items:center;background-color:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.bb-table-template{border:none;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-template-content{padding:20px;display:flex;color:#3d464d;font-size:14px;line-height:1.2;font-weight:400;min-height:140px;text-align:center;align-items:center;flex-direction:column;justify-content:center}.bb-table-template-content>svg{margin-bottom:12px}.bb-table-template-content-code{opacity:.5;margin-top:5px;display:inline-block}.bb-table-progress{top:0;left:0;right:0;opacity:0;width:100%;height:4px;display:block;overflow:hidden;position:absolute;background-color:#2f408b4d;animation:fadeIn .25s cubic-bezier(0,0,.2,1) .1s forwards}.bb-table-progress .bb-table-indeterminate{background-color:#2f408b}.bb-table-progress .bb-table-indeterminate:before{top:0;left:0;bottom:0;content:\"\";position:absolute;will-change:left,right;background-color:inherit;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.bb-table-progress .bb-table-indeterminate:after{top:0;left:0;bottom:0;content:\"\";position:absolute;animation-delay:1.15s;will-change:left,right;background-color:inherit;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite}.bb-table-progress-close-query{padding:0;border:none;border-radius:4px;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-table-progress-close-query:hover{background-color:#00000014}.bb-table-progress-close-query:focus{background-color:#0000001f}.bb-table-progress-close-query:active{background-color:#00000029}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@media only screen and (min-width: 768px){.bb-table-top-actions{flex-direction:row}.bb-table-top-actions>*:not(:first-child){margin-left:10px;margin-bottom:10px}}\n"] }]
|
|
170
170
|
}], propDecorators: { tableColumnTemplates: [{
|
|
@@ -2,9 +2,9 @@ import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class BbTableCell {
|
|
4
4
|
}
|
|
5
|
-
BbTableCell.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
6
|
-
BbTableCell.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
5
|
+
BbTableCell.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbTableCell, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
+
BbTableCell.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbTableCell, selector: "bb-table-cell", host: { classAttribute: "bb-table-cell" }, ngImport: i0, template: "<div>\n <ng-content></ng-content>\n</div>", styles: [".bb-table-cell{color:#848f99;font-size:14px;text-align:left;line-height:1.2;font-weight:400;padding:12px 20px;display:table-cell;word-wrap:break-word;vertical-align:middle;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-cell:not(:last-child){border-right:1px solid #d8d8d8}.bb-table-cell.fit{width:1%;white-space:nowrap}.bb-table-cell.left{text-align:left}.bb-table-cell.center{text-align:center}.bb-table-cell.right{text-align:right}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbTableCell, decorators: [{
|
|
8
8
|
type: Component,
|
|
9
9
|
args: [{ selector: 'bb-table-cell', changeDetection: ChangeDetectionStrategy.OnPush, host: { 'class': 'bb-table-cell' }, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<div>\n <ng-content></ng-content>\n</div>", styles: [".bb-table-cell{color:#848f99;font-size:14px;text-align:left;line-height:1.2;font-weight:400;padding:12px 20px;display:table-cell;word-wrap:break-word;vertical-align:middle;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-cell:not(:last-child){border-right:1px solid #d8d8d8}.bb-table-cell.fit{width:1%;white-space:nowrap}.bb-table-cell.left{text-align:left}.bb-table-cell.center{text-align:center}.bb-table-cell.right{text-align:right}\n"] }]
|
|
10
10
|
}] });
|
|
@@ -105,9 +105,9 @@ export class BbTableHeaderCell extends BbTableHeaderCellMixinBase {
|
|
|
105
105
|
this._table?.sortControl?.patchValue(newValue);
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
-
BbTableHeaderCell.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
109
|
-
BbTableHeaderCell.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
108
|
+
BbTableHeaderCell.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbTableHeaderCell, deps: [{ token: i1.BbTable, host: true, optional: true }, { token: 'name', attribute: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
109
|
+
BbTableHeaderCell.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbTableHeaderCell, selector: "bb-table-header-cell", inputs: { disabled: "disabled", sort: "sort" }, host: { listeners: { "click": "onClick()" }, properties: { "class.disabled": "isDisabled" }, classAttribute: "bb-table-header-cell" }, usesInheritance: true, ngImport: i0, template: "<!-- The content. -->\n<ng-content></ng-content>\n\n<!-- The indicator for the sort direction. -->\n<ng-container *ngIf=\"valueChanges$ | async as value\">\n <button *ngIf=\"!isDisabled\"\n [class.asc]=\"value === 'asc'\"\n [class.desc]=\"value === 'desc'\"\n class=\"bb-table-header-cell-toggle\"\n type=\"button\"></button>\n</ng-container>\n", styles: [".bb-table-header-cell{height:50px;color:#212529;cursor:pointer;font-size:16px;font-weight:500;-webkit-user-select:none;user-select:none;padding:10px 20px;position:relative;display:table-cell;vertical-align:middle;border-bottom:1px solid #d8d8d8}.bb-table-header-cell:active>.bb-table-header-cell-toggle{background-color:#00000014}.bb-table-header-cell:not(.disabled){padding-right:52px}.bb-table-header-cell.fit{width:1%;white-space:nowrap}.bb-table-header-cell.left{text-align:left}.bb-table-header-cell.center{text-align:center}.bb-table-header-cell.right{text-align:right}.bb-table-header-cell.disabled{cursor:default;pointer-events:none}.bb-table-header-cell-toggle{top:50%;right:14px;width:22px;border:none;height:22px;margin-left:auto;position:absolute;border-radius:4px;transform:translateY(-50%);background-position:center;background-repeat:no-repeat;background-color:transparent;transition:background-color .2s cubic-bezier(0,0,.2,1);background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}.bb-table-header-cell-toggle.desc{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"black\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}.bb-table-header-cell-toggle.asc{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"black\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbTableHeaderCell, decorators: [{
|
|
111
111
|
type: Component,
|
|
112
112
|
args: [{ selector: 'bb-table-header-cell', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
113
113
|
'class': 'bb-table-header-cell',
|
|
@@ -112,11 +112,11 @@ export class BbTablePager extends BbTablePagerMixinBase {
|
|
|
112
112
|
.map(page => ({ page, active: pageNumber === page }));
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
|
-
BbTablePager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
116
|
-
BbTablePager.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
115
|
+
BbTablePager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbTablePager, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
116
|
+
BbTablePager.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbTablePager, selector: "bb-table-pager", inputs: { disabled: "disabled", amountOfButtons: "amountOfButtons", showArrowButtons: "showArrowButtons", pageNumber: "pageNumber", totalPages: "totalPages" }, host: { properties: { "class.disabled": "disabled" }, classAttribute: "bb-table-pager" }, providers: [
|
|
117
117
|
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbTablePager), multi: true }
|
|
118
118
|
], usesInheritance: true, ngImport: i0, template: "<ul class=\"bb-pager-list\">\n <!-- The previous page arrow button. -->\n <li *ngIf=\"showArrowButtons\"\n class=\"bb-pager-list-item\"\n title=\"Previous page\">\n <button [disabled]=\"isPreviousDisabled$ | async\"\n (click)=\"goToPrevious()\"\n class=\"bb-pager-list-button\"\n type=\"button\">\n <bb-icon src=\"material:keyboard_arrow_left\"></bb-icon>\n </button>\n </li>\n\n <!-- The list of number buttons to navigate through the list. -->\n <ng-container *ngIf=\"list$ | async as list\">\n <li *ngFor=\"let item of list; trackBy: trackByIndex\"\n [title]=\"'Page ' + item?.page\"\n class=\"bb-pager-list-item\">\n <button (click)=\"goToIndex(item?.page)\"\n [class.active]=\"item?.active\"\n class=\"bb-pager-list-button\"\n type=\"button\">\n {{ item?.page }}\n </button>\n </li>\n </ng-container>\n\n <!-- The next page arrow button. -->\n <li *ngIf=\"showArrowButtons\"\n class=\"bb-pager-list-item\"\n title=\"Next page\">\n <button [disabled]=\"isNextDisabled$ | async\"\n (click)=\"goToNext()\"\n class=\"bb-pager-list-button\"\n type=\"button\">\n <bb-icon src=\"material:keyboard_arrow_right\"></bb-icon>\n </button>\n </li>\n</ul>\n", styles: [".bb-table-pager{flex:1;display:flex;align-items:center;justify-content:flex-end}.bb-table-pager.disabled{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none}.bb-pager-list{display:flex}.bb-pager-list-item{margin-left:8px}.bb-pager-list-button{padding:0;color:#3d464d;line-height:1;min-width:32px;font-size:16px;-webkit-appearance:none;appearance:none;font-weight:500;min-height:32px;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;display:inline-flex;justify-content:center;border:1px solid #b6bbc1;transition-duration:.2s;background-color:transparent;transition-timing-function:cubic-bezier(0,0,.2,1);transition-property:color,border-color,opacity,background-color;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a}.bb-pager-list-button:hover,.bb-pager-list-button:focus{background-color:#0000000a}.bb-pager-list-button.active,.bb-pager-list-button.active:hover{color:#2196f3;cursor:default;border-color:#2196f3;background-color:transparent}.bb-pager-list-button:disabled{opacity:.35;cursor:default;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.BbIcon, selector: "bb-icon", inputs: ["alt", "size", "src", "ariaHidden"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbTablePager, decorators: [{
|
|
120
120
|
type: Component,
|
|
121
121
|
args: [{ selector: 'bb-table-pager', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
122
122
|
'class': 'bb-table-pager',
|
|
@@ -18,8 +18,8 @@ const DECLARATIONS_EXPORTS = [
|
|
|
18
18
|
];
|
|
19
19
|
export class TableModule {
|
|
20
20
|
}
|
|
21
|
-
TableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
22
|
-
TableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
21
|
+
TableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
22
|
+
TableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: TableModule, declarations: [BbTable,
|
|
23
23
|
BbTableColumnDef,
|
|
24
24
|
BbTableRowDef,
|
|
25
25
|
BbTableHeaderCell,
|
|
@@ -30,8 +30,8 @@ TableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
|
|
|
30
30
|
BbTableHeaderCell,
|
|
31
31
|
BbTableCell,
|
|
32
32
|
BbTablePager] });
|
|
33
|
-
TableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
33
|
+
TableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: TableModule, imports: [CommonModule, ReactiveFormsModule, ElementsModule, LocalizeModule] });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: TableModule, decorators: [{
|
|
35
35
|
type: NgModule,
|
|
36
36
|
args: [{
|
|
37
37
|
imports: [CommonModule, ReactiveFormsModule, ElementsModule, LocalizeModule],
|
|
@@ -1,2 +1,17 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
1
|
+
export function checkboxGroupThemeFactory() {
|
|
2
|
+
return {
|
|
3
|
+
grouping: '20px',
|
|
4
|
+
label: {
|
|
5
|
+
color: '#525252',
|
|
6
|
+
offset: '4px',
|
|
7
|
+
fontSize: '14px',
|
|
8
|
+
fontWeight: '400',
|
|
9
|
+
lineHeight: '1.33'
|
|
10
|
+
},
|
|
11
|
+
spacing: {
|
|
12
|
+
horizontal: '10px',
|
|
13
|
+
vertical: '4px'
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAudGhlbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3RoZW1pbmcvc3JjL2xpYi90aGVtZXMvY2hlY2tib3gtZ3JvdXAudGhlbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBLE1BQU0sVUFBVSx5QkFBeUI7SUFDckMsT0FBTztRQUNILFFBQVEsRUFBRSxNQUFNO1FBQ2hCLEtBQUssRUFBRTtZQUNILEtBQUssRUFBRSxTQUFTO1lBQ2hCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsUUFBUSxFQUFFLE1BQU07WUFDaEIsVUFBVSxFQUFFLEtBQUs7WUFDakIsVUFBVSxFQUFFLE1BQU07U0FDckI7UUFDRCxPQUFPLEVBQUU7WUFDTCxVQUFVLEVBQUUsTUFBTTtZQUNsQixRQUFRLEVBQUUsS0FBSztTQUNsQjtLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUaGVtZVZhcmlhYmxlfSBmcm9tICcuLi91dGlscy90aGVtaW5nLnZhcmlhYmxlJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVja2JveEdyb3VwVGhlbWUge1xuICAgIGdyb3VwaW5nOiBUaGVtZVZhcmlhYmxlO1xuXG4gICAgbGFiZWw6IHtcbiAgICAgICAgY29sb3I6IFRoZW1lVmFyaWFibGU7XG4gICAgICAgIGZvbnRTaXplOiBUaGVtZVZhcmlhYmxlO1xuICAgICAgICBmb250V2VpZ2h0OiBUaGVtZVZhcmlhYmxlO1xuICAgICAgICBsaW5lSGVpZ2h0OiBUaGVtZVZhcmlhYmxlO1xuICAgICAgICBvZmZzZXQ6IFRoZW1lVmFyaWFibGU7XG4gICAgfTtcblxuICAgIHNwYWNpbmc6IHtcbiAgICAgICAgaG9yaXpvbnRhbDogVGhlbWVWYXJpYWJsZTtcbiAgICAgICAgdmVydGljYWw6IFRoZW1lVmFyaWFibGU7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrYm94R3JvdXBUaGVtZUZhY3RvcnkoKTogQ2hlY2tib3hHcm91cFRoZW1lIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBncm91cGluZzogJzIwcHgnLFxuICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgY29sb3I6ICcjNTI1MjUyJyxcbiAgICAgICAgICAgIG9mZnNldDogJzRweCcsXG4gICAgICAgICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgICAgICAgZm9udFdlaWdodDogJzQwMCcsXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAnMS4zMydcbiAgICAgICAgfSxcbiAgICAgICAgc3BhY2luZzoge1xuICAgICAgICAgICAgaG9yaXpvbnRhbDogJzEwcHgnLFxuICAgICAgICAgICAgdmVydGljYWw6ICc0cHgnXG4gICAgICAgIH1cbiAgICB9O1xufVxuIl19
|
|
@@ -1,2 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { ThemeColorVariable } from '../utils/theming.variable';
|
|
2
|
+
export function checkboxThemeFactory() {
|
|
3
|
+
const accentColor = new ThemeColorVariable('accentColor');
|
|
4
|
+
return {
|
|
5
|
+
size: '20px',
|
|
6
|
+
grouping: '20px',
|
|
7
|
+
colors: {
|
|
8
|
+
accent: accentColor,
|
|
9
|
+
disabled: '#c6c6c6'
|
|
10
|
+
},
|
|
11
|
+
border: {
|
|
12
|
+
color: '#111111',
|
|
13
|
+
thickness: '1px',
|
|
14
|
+
radius: '4px'
|
|
15
|
+
},
|
|
16
|
+
outline: {
|
|
17
|
+
color: accentColor,
|
|
18
|
+
offset: '1px',
|
|
19
|
+
thickness: '2px'
|
|
20
|
+
},
|
|
21
|
+
check: {
|
|
22
|
+
size: '12px',
|
|
23
|
+
color: 'white',
|
|
24
|
+
thickness: '2px'
|
|
25
|
+
},
|
|
26
|
+
label: {
|
|
27
|
+
color: '#111111',
|
|
28
|
+
offset: '6px',
|
|
29
|
+
fontSize: '16px',
|
|
30
|
+
fontWeight: '400',
|
|
31
|
+
lineHeight: '1.28'
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gudGhlbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3RoZW1pbmcvc3JjL2xpYi90aGVtZXMvY2hlY2tib3gudGhlbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGtCQUFrQixFQUFnQixNQUFNLDJCQUEyQixDQUFDO0FBc0M1RSxNQUFNLFVBQVUsb0JBQW9CO0lBQ2hDLE1BQU0sV0FBVyxHQUFHLElBQUksa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUQsT0FBTztRQUNILElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLE1BQU07UUFDaEIsTUFBTSxFQUFFO1lBQ0osTUFBTSxFQUFFLFdBQVc7WUFDbkIsUUFBUSxFQUFFLFNBQVM7U0FDdEI7UUFDRCxNQUFNLEVBQUU7WUFDSixLQUFLLEVBQUUsU0FBUztZQUNoQixTQUFTLEVBQUUsS0FBSztZQUNoQixNQUFNLEVBQUUsS0FBSztTQUNoQjtRQUNELE9BQU8sRUFBRTtZQUNMLEtBQUssRUFBRSxXQUFXO1lBQ2xCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsU0FBUyxFQUFFLEtBQUs7U0FDbkI7UUFDRCxLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxPQUFPO1lBQ2QsU0FBUyxFQUFFLEtBQUs7U0FDbkI7UUFDRCxLQUFLLEVBQUU7WUFDSCxLQUFLLEVBQUUsU0FBUztZQUNoQixNQUFNLEVBQUUsS0FBSztZQUNiLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFVBQVUsRUFBRSxNQUFNO1NBQ3JCO0tBQ0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RoZW1lQ29sb3JWYXJpYWJsZSwgVGhlbWVWYXJpYWJsZX0gZnJvbSAnLi4vdXRpbHMvdGhlbWluZy52YXJpYWJsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tib3hUaGVtZSB7XG4gICAgc2l6ZTogVGhlbWVWYXJpYWJsZTtcbiAgICBncm91cGluZzogVGhlbWVWYXJpYWJsZTtcblxuICAgIGNvbG9yczoge1xuICAgICAgICBhY2NlbnQ6IFRoZW1lVmFyaWFibGU7XG4gICAgICAgIGRpc2FibGVkOiBUaGVtZVZhcmlhYmxlO1xuICAgIH07XG5cbiAgICBib3JkZXI6IHtcbiAgICAgICAgY29sb3I6IFRoZW1lVmFyaWFibGU7XG4gICAgICAgIHRoaWNrbmVzczogVGhlbWVWYXJpYWJsZTtcbiAgICAgICAgcmFkaXVzOiBUaGVtZVZhcmlhYmxlO1xuICAgIH07XG5cbiAgICBvdXRsaW5lOiB7XG4gICAgICAgIGNvbG9yOiBUaGVtZVZhcmlhYmxlO1xuICAgICAgICBvZmZzZXQ6IFRoZW1lVmFyaWFibGU7XG4gICAgICAgIHRoaWNrbmVzczogVGhlbWVWYXJpYWJsZTtcbiAgICB9O1xuXG4gICAgY2hlY2s6IHtcbiAgICAgICAgc2l6ZTogVGhlbWVWYXJpYWJsZTtcbiAgICAgICAgY29sb3I6IFRoZW1lVmFyaWFibGU7XG4gICAgICAgIHRoaWNrbmVzczogVGhlbWVWYXJpYWJsZTtcbiAgICB9O1xuXG4gICAgbGFiZWw6IHtcbiAgICAgICAgY29sb3I6IFRoZW1lVmFyaWFibGU7XG4gICAgICAgIGZvbnRTaXplOiBUaGVtZVZhcmlhYmxlO1xuICAgICAgICBmb250V2VpZ2h0OiBUaGVtZVZhcmlhYmxlO1xuICAgICAgICBsaW5lSGVpZ2h0OiBUaGVtZVZhcmlhYmxlO1xuICAgICAgICBvZmZzZXQ6IFRoZW1lVmFyaWFibGU7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrYm94VGhlbWVGYWN0b3J5KCk6IENoZWNrYm94VGhlbWUge1xuICAgIGNvbnN0IGFjY2VudENvbG9yID0gbmV3IFRoZW1lQ29sb3JWYXJpYWJsZSgnYWNjZW50Q29sb3InKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBzaXplOiAnMjBweCcsXG4gICAgICAgIGdyb3VwaW5nOiAnMjBweCcsXG4gICAgICAgIGNvbG9yczoge1xuICAgICAgICAgICAgYWNjZW50OiBhY2NlbnRDb2xvcixcbiAgICAgICAgICAgIGRpc2FibGVkOiAnI2M2YzZjNidcbiAgICAgICAgfSxcbiAgICAgICAgYm9yZGVyOiB7XG4gICAgICAgICAgICBjb2xvcjogJyMxMTExMTEnLFxuICAgICAgICAgICAgdGhpY2tuZXNzOiAnMXB4JyxcbiAgICAgICAgICAgIHJhZGl1czogJzRweCdcbiAgICAgICAgfSxcbiAgICAgICAgb3V0bGluZToge1xuICAgICAgICAgICAgY29sb3I6IGFjY2VudENvbG9yLFxuICAgICAgICAgICAgb2Zmc2V0OiAnMXB4JyxcbiAgICAgICAgICAgIHRoaWNrbmVzczogJzJweCdcbiAgICAgICAgfSxcbiAgICAgICAgY2hlY2s6IHtcbiAgICAgICAgICAgIHNpemU6ICcxMnB4JyxcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgdGhpY2tuZXNzOiAnMnB4J1xuICAgICAgICB9LFxuICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgY29sb3I6ICcjMTExMTExJyxcbiAgICAgICAgICAgIG9mZnNldDogJzZweCcsXG4gICAgICAgICAgICBmb250U2l6ZTogJzE2cHgnLFxuICAgICAgICAgICAgZm9udFdlaWdodDogJzQwMCcsXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAnMS4yOCdcbiAgICAgICAgfVxuICAgIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ThemeColorVariable } from '../utils/theming.variable';
|
|
2
|
+
export function controlErrorThemeFactory() {
|
|
3
|
+
return {
|
|
4
|
+
color: new ThemeColorVariable('errorColor'),
|
|
5
|
+
fontSize: '13px',
|
|
6
|
+
lineHeight: '1.5',
|
|
7
|
+
fontWeight: '400',
|
|
8
|
+
spacing: '4px'
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1lcnJvci50aGVtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vdGhlbWluZy9zcmMvbGliL3RoZW1lcy9jb250cm9sLWVycm9yLnRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxrQkFBa0IsRUFBZ0IsTUFBTSwyQkFBMkIsQ0FBQztBQVU1RSxNQUFNLFVBQVUsd0JBQXdCO0lBQ3BDLE9BQU87UUFDSCxLQUFLLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7UUFDM0MsUUFBUSxFQUFFLE1BQU07UUFDaEIsVUFBVSxFQUFFLEtBQUs7UUFDakIsVUFBVSxFQUFFLEtBQUs7UUFDakIsT0FBTyxFQUFFLEtBQUs7S0FDakIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RoZW1lQ29sb3JWYXJpYWJsZSwgVGhlbWVWYXJpYWJsZX0gZnJvbSAnLi4vdXRpbHMvdGhlbWluZy52YXJpYWJsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udHJvbEVycm9yVGhlbWUge1xuICAgIGNvbG9yOiBUaGVtZVZhcmlhYmxlO1xuICAgIGZvbnRTaXplOiBUaGVtZVZhcmlhYmxlO1xuICAgIGxpbmVIZWlnaHQ6IFRoZW1lVmFyaWFibGU7XG4gICAgZm9udFdlaWdodDogVGhlbWVWYXJpYWJsZTtcbiAgICBzcGFjaW5nOiBUaGVtZVZhcmlhYmxlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbEVycm9yVGhlbWVGYWN0b3J5KCk6IENvbnRyb2xFcnJvclRoZW1lIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBjb2xvcjogbmV3IFRoZW1lQ29sb3JWYXJpYWJsZSgnZXJyb3JDb2xvcicpLFxuICAgICAgICBmb250U2l6ZTogJzEzcHgnLFxuICAgICAgICBsaW5lSGVpZ2h0OiAnMS41JyxcbiAgICAgICAgZm9udFdlaWdodDogJzQwMCcsXG4gICAgICAgIHNwYWNpbmc6ICc0cHgnXG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export function formControlAddonThemeFactory() {
|
|
2
|
+
return {
|
|
3
|
+
spacing: '10px'
|
|
4
|
+
};
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLWFkZG9uLnRoZW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90aGVtaW5nL3NyYy9saWIvdGhlbWVzL2Zvcm0tY29udHJvbC1hZGRvbi50aGVtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLFVBQVUsNEJBQTRCO0lBQ3hDLE9BQU87UUFDSCxPQUFPLEVBQUUsTUFBTTtLQUNsQixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGhlbWVWYXJpYWJsZX0gZnJvbSAnLi4vdXRpbHMvdGhlbWluZy52YXJpYWJsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUNvbnRyb2xBZGRvblRoZW1lIHtcbiAgICBzcGFjaW5nOiBUaGVtZVZhcmlhYmxlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybUNvbnRyb2xBZGRvblRoZW1lRmFjdG9yeSgpOiBGb3JtQ29udHJvbEFkZG9uVGhlbWUge1xuICAgIHJldHVybiB7XG4gICAgICAgIHNwYWNpbmc6ICcxMHB4J1xuICAgIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ThemeColorVariable } from '../utils/theming.variable';
|
|
2
|
+
export function formControlThemeFactory() {
|
|
3
|
+
const errorColorKey = 'errorColor';
|
|
4
|
+
const inputColor = '#111111';
|
|
5
|
+
const backgroundColor = '#ffffff';
|
|
6
|
+
return {
|
|
7
|
+
grouping: '20px',
|
|
8
|
+
color: inputColor,
|
|
9
|
+
background: backgroundColor,
|
|
10
|
+
error: {
|
|
11
|
+
color: new ThemeColorVariable(errorColorKey),
|
|
12
|
+
background: new ThemeColorVariable(errorColorKey).opacity(0.1),
|
|
13
|
+
placeholderColor: new ThemeColorVariable(errorColorKey).opacity(0.4)
|
|
14
|
+
},
|
|
15
|
+
border: {
|
|
16
|
+
radius: '6px',
|
|
17
|
+
width: '1px',
|
|
18
|
+
style: 'solid',
|
|
19
|
+
color: 'rgba(67, 90, 111, 0.3)'
|
|
20
|
+
},
|
|
21
|
+
focused: {
|
|
22
|
+
color: inputColor,
|
|
23
|
+
background: backgroundColor,
|
|
24
|
+
border: {
|
|
25
|
+
radius: '6px',
|
|
26
|
+
width: '1px',
|
|
27
|
+
style: 'solid',
|
|
28
|
+
color: '#212121'
|
|
29
|
+
},
|
|
30
|
+
shadow: '0 0 0 3px rgba(0, 123, 255, 0.2)'
|
|
31
|
+
},
|
|
32
|
+
disabled: {
|
|
33
|
+
color: inputColor,
|
|
34
|
+
background: backgroundColor,
|
|
35
|
+
border: {
|
|
36
|
+
radius: '6px',
|
|
37
|
+
width: '1px',
|
|
38
|
+
style: 'solid',
|
|
39
|
+
color: '#212121'
|
|
40
|
+
},
|
|
41
|
+
opacity: '0.25'
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLnRoZW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90aGVtaW5nL3NyYy9saWIvdGhlbWVzL2Zvcm0tY29udHJvbC50aGVtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsa0JBQWtCLEVBQWdCLE1BQU0sMkJBQTJCLENBQUM7QUFpQzVFLE1BQU0sVUFBVSx1QkFBdUI7SUFDbkMsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDO0lBQ25DLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM3QixNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUM7SUFDbEMsT0FBTztRQUNILFFBQVEsRUFBRSxNQUFNO1FBQ2hCLEtBQUssRUFBRSxVQUFVO1FBQ2pCLFVBQVUsRUFBRSxlQUFlO1FBQzNCLEtBQUssRUFBRTtZQUNILEtBQUssRUFBRSxJQUFJLGtCQUFrQixDQUFDLGFBQWEsQ0FBQztZQUM1QyxVQUFVLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQzlELGdCQUFnQixFQUFFLElBQUksa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztTQUN2RTtRQUNELE1BQU0sRUFBRTtZQUNKLE1BQU0sRUFBRSxLQUFLO1lBQ2IsS0FBSyxFQUFFLEtBQUs7WUFDWixLQUFLLEVBQUUsT0FBTztZQUNkLEtBQUssRUFBRSx3QkFBd0I7U0FDbEM7UUFDRCxPQUFPLEVBQUU7WUFDTCxLQUFLLEVBQUUsVUFBVTtZQUNqQixVQUFVLEVBQUUsZUFBZTtZQUMzQixNQUFNLEVBQUU7Z0JBQ0osTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLE9BQU87Z0JBQ2QsS0FBSyxFQUFFLFNBQVM7YUFDbkI7WUFDRCxNQUFNLEVBQUUsa0NBQWtDO1NBQzdDO1FBQ0QsUUFBUSxFQUFFO1lBQ04sS0FBSyxFQUFFLFVBQVU7WUFDakIsVUFBVSxFQUFFLGVBQWU7WUFDM0IsTUFBTSxFQUFFO2dCQUNKLE1BQU0sRUFBRSxLQUFLO2dCQUNiLEtBQUssRUFBRSxLQUFLO2dCQUNaLEtBQUssRUFBRSxPQUFPO2dCQUNkLEtBQUssRUFBRSxTQUFTO2FBQ25CO1lBQ0QsT0FBTyxFQUFFLE1BQU07U0FDbEI7S0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGhlbWVDb2xvclZhcmlhYmxlLCBUaGVtZVZhcmlhYmxlfSBmcm9tICcuLi91dGlscy90aGVtaW5nLnZhcmlhYmxlJztcblxuaW50ZXJmYWNlIEJvcmRlclRoZW1lIHtcbiAgICByYWRpdXM6IFRoZW1lVmFyaWFibGU7XG4gICAgd2lkdGg6IFRoZW1lVmFyaWFibGU7XG4gICAgc3R5bGU6IFRoZW1lVmFyaWFibGU7XG4gICAgY29sb3I6IFRoZW1lVmFyaWFibGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUNvbnRyb2xUaGVtZSB7XG4gICAgZ3JvdXBpbmc6IFRoZW1lVmFyaWFibGU7XG4gICAgY29sb3I6IFRoZW1lVmFyaWFibGU7XG4gICAgYmFja2dyb3VuZDogVGhlbWVWYXJpYWJsZTtcbiAgICBlcnJvcjoge1xuICAgICAgICBjb2xvcjogVGhlbWVWYXJpYWJsZTtcbiAgICAgICAgYmFja2dyb3VuZDogVGhlbWVWYXJpYWJsZTtcbiAgICAgICAgcGxhY2Vob2xkZXJDb2xvcjogVGhlbWVWYXJpYWJsZTtcbiAgICB9O1xuICAgIGJvcmRlcjogQm9yZGVyVGhlbWU7XG4gICAgZm9jdXNlZDoge1xuICAgICAgICBjb2xvcjogVGhlbWVWYXJpYWJsZTtcbiAgICAgICAgYmFja2dyb3VuZDogVGhlbWVWYXJpYWJsZTtcbiAgICAgICAgc2hhZG93OiBUaGVtZVZhcmlhYmxlO1xuICAgICAgICBib3JkZXI6IEJvcmRlclRoZW1lO1xuICAgIH07XG4gICAgZGlzYWJsZWQ6IHtcbiAgICAgICAgY29sb3I6IFRoZW1lVmFyaWFibGU7XG4gICAgICAgIGJhY2tncm91bmQ6IFRoZW1lVmFyaWFibGU7XG4gICAgICAgIG9wYWNpdHk6IFRoZW1lVmFyaWFibGU7XG4gICAgICAgIGJvcmRlcjogQm9yZGVyVGhlbWU7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1Db250cm9sVGhlbWVGYWN0b3J5KCk6IEZvcm1Db250cm9sVGhlbWUge1xuICAgIGNvbnN0IGVycm9yQ29sb3JLZXkgPSAnZXJyb3JDb2xvcic7XG4gICAgY29uc3QgaW5wdXRDb2xvciA9ICcjMTExMTExJztcbiAgICBjb25zdCBiYWNrZ3JvdW5kQ29sb3IgPSAnI2ZmZmZmZic7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZ3JvdXBpbmc6ICcyMHB4JyxcbiAgICAgICAgY29sb3I6IGlucHV0Q29sb3IsXG4gICAgICAgIGJhY2tncm91bmQ6IGJhY2tncm91bmRDb2xvcixcbiAgICAgICAgZXJyb3I6IHtcbiAgICAgICAgICAgIGNvbG9yOiBuZXcgVGhlbWVDb2xvclZhcmlhYmxlKGVycm9yQ29sb3JLZXkpLFxuICAgICAgICAgICAgYmFja2dyb3VuZDogbmV3IFRoZW1lQ29sb3JWYXJpYWJsZShlcnJvckNvbG9yS2V5KS5vcGFjaXR5KDAuMSksXG4gICAgICAgICAgICBwbGFjZWhvbGRlckNvbG9yOiBuZXcgVGhlbWVDb2xvclZhcmlhYmxlKGVycm9yQ29sb3JLZXkpLm9wYWNpdHkoMC40KVxuICAgICAgICB9LFxuICAgICAgICBib3JkZXI6IHtcbiAgICAgICAgICAgIHJhZGl1czogJzZweCcsXG4gICAgICAgICAgICB3aWR0aDogJzFweCcsXG4gICAgICAgICAgICBzdHlsZTogJ3NvbGlkJyxcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSg2NywgOTAsIDExMSwgMC4zKSdcbiAgICAgICAgfSxcbiAgICAgICAgZm9jdXNlZDoge1xuICAgICAgICAgICAgY29sb3I6IGlucHV0Q29sb3IsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBiYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgICAgICBib3JkZXI6IHtcbiAgICAgICAgICAgICAgICByYWRpdXM6ICc2cHgnLFxuICAgICAgICAgICAgICAgIHdpZHRoOiAnMXB4JyxcbiAgICAgICAgICAgICAgICBzdHlsZTogJ3NvbGlkJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJyMyMTIxMjEnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2hhZG93OiAnMCAwIDAgM3B4IHJnYmEoMCwgMTIzLCAyNTUsIDAuMiknXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICBjb2xvcjogaW5wdXRDb2xvcixcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGJhY2tncm91bmRDb2xvcixcbiAgICAgICAgICAgIGJvcmRlcjoge1xuICAgICAgICAgICAgICAgIHJhZGl1czogJzZweCcsXG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxcHgnLFxuICAgICAgICAgICAgICAgIHN0eWxlOiAnc29saWQnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnIzIxMjEyMSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcGFjaXR5OiAnMC4yNSdcbiAgICAgICAgfVxuICAgIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { formControlAddonThemeFactory } from './themes/form-control-addon.theme';
|
|
2
|
+
import { checkboxGroupThemeFactory } from './themes/checkbox-group.theme';
|
|
3
|
+
import { controlErrorThemeFactory } from './themes/control-error.theme';
|
|
4
|
+
import { formControlThemeFactory } from './themes/form-control.theme';
|
|
5
|
+
import { ThemeVariableFunction } from './utils/theming.variable';
|
|
6
|
+
import { checkboxThemeFactory } from './themes/checkbox.theme';
|
|
7
|
+
export class Theme {
|
|
8
|
+
constructor(theme) {
|
|
9
|
+
this.isObject = (item) => {
|
|
10
|
+
return (item && typeof item === 'object' && !Array.isArray(item));
|
|
11
|
+
};
|
|
12
|
+
const defaultFactories = this.defaultFactories();
|
|
13
|
+
this.data = this.mergeThemeData(defaultFactories, theme);
|
|
14
|
+
this.globals = this.getGlobals();
|
|
15
|
+
}
|
|
16
|
+
variables() {
|
|
17
|
+
return this.getContents(this.data);
|
|
18
|
+
}
|
|
19
|
+
defaultFactories() {
|
|
20
|
+
return {
|
|
21
|
+
accentColor: '#1565c0',
|
|
22
|
+
errorColor: '#bd322a',
|
|
23
|
+
formControl: formControlThemeFactory(),
|
|
24
|
+
formControlAddon: formControlAddonThemeFactory(),
|
|
25
|
+
checkbox: checkboxThemeFactory(),
|
|
26
|
+
checkboxGroup: checkboxGroupThemeFactory(),
|
|
27
|
+
controlError: controlErrorThemeFactory()
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
getContents(data, scope = null) {
|
|
31
|
+
return Object.keys(data).reduce((previous, current) => {
|
|
32
|
+
const value = data?.[current];
|
|
33
|
+
const token = this.getToken(current, scope);
|
|
34
|
+
if (typeof value === 'object' && value !== null && !(value instanceof ThemeVariableFunction)) {
|
|
35
|
+
const formatted = this.getContents(value, token);
|
|
36
|
+
return { ...previous, ...formatted };
|
|
37
|
+
}
|
|
38
|
+
const formattedValue = (value instanceof ThemeVariableFunction)
|
|
39
|
+
? value.toString(this.globals)
|
|
40
|
+
: value;
|
|
41
|
+
if (!formattedValue) {
|
|
42
|
+
return previous;
|
|
43
|
+
}
|
|
44
|
+
return { ...previous, [`--${token}`]: formattedValue };
|
|
45
|
+
}, {});
|
|
46
|
+
}
|
|
47
|
+
getToken(key, scope) {
|
|
48
|
+
const token = this.tokenize(key);
|
|
49
|
+
return [scope, token].filter(item => !!item).join('-');
|
|
50
|
+
}
|
|
51
|
+
tokenize(value) {
|
|
52
|
+
const result = value.replace(/([A-Z])/g, ' $1');
|
|
53
|
+
return result.split(' ').join('-').toLowerCase();
|
|
54
|
+
}
|
|
55
|
+
mergeThemeData(target, ...sources) {
|
|
56
|
+
if (!sources?.length) {
|
|
57
|
+
return target;
|
|
58
|
+
}
|
|
59
|
+
const source = sources.shift();
|
|
60
|
+
if (this.isObject(target) && this.isObject(source)) {
|
|
61
|
+
for (const key in source) {
|
|
62
|
+
if (this.isObject(source[key])) {
|
|
63
|
+
if (!target[key]) {
|
|
64
|
+
Object.assign(target, { [key]: {} });
|
|
65
|
+
}
|
|
66
|
+
this.mergeThemeData(target[key], source[key]);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
Object.assign(target, { [key]: source[key] });
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return this.mergeThemeData(target, ...sources);
|
|
74
|
+
}
|
|
75
|
+
getGlobals() {
|
|
76
|
+
return {
|
|
77
|
+
accentColor: this.data.accentColor,
|
|
78
|
+
errorColor: this.data.errorColor
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWluZy5kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi90aGVtaW5nL3NyYy9saWIvdGhlbWluZy5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE1BQU0sT0FBTyxLQUFLO0lBS2QsWUFBWSxLQUEwQjtRQW1GOUIsYUFBUSxHQUFHLENBQUMsSUFBYSxFQUFFLEVBQUU7WUFDakMsT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDO1FBcEZFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRVMsZ0JBQWdCO1FBQ3RCLE9BQU87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LENBQUMsQ0FBQztxQkFDdEM7b0JBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ2pEO3FCQUFNO29CQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQyxDQUFDO2lCQUMvQzthQUNKO1NBQ0o7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVTLFVBQVU7UUFDaEIsT0FBTztZQUNILFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFDbEMsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtTQUNuQyxDQUFDO0lBQ04sQ0FBQztDQU1KIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtHbG9iYWxUaGVtZSwgR2xvYmFsVmFyaWFibGVzLCBQYXJ0aWFsR2xvYmFsVGhlbWV9IGZyb20gJy4vdGhlbWluZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtmb3JtQ29udHJvbEFkZG9uVGhlbWVGYWN0b3J5fSBmcm9tICcuL3RoZW1lcy9mb3JtLWNvbnRyb2wtYWRkb24udGhlbWUnO1xuaW1wb3J0IHtjaGVja2JveEdyb3VwVGhlbWVGYWN0b3J5fSBmcm9tICcuL3RoZW1lcy9jaGVja2JveC1ncm91cC50aGVtZSc7XG5pbXBvcnQge2NvbnRyb2xFcnJvclRoZW1lRmFjdG9yeX0gZnJvbSAnLi90aGVtZXMvY29udHJvbC1lcnJvci50aGVtZSc7XG5pbXBvcnQge2Zvcm1Db250cm9sVGhlbWVGYWN0b3J5fSBmcm9tICcuL3RoZW1lcy9mb3JtLWNvbnRyb2wudGhlbWUnO1xuaW1wb3J0IHtUaGVtZVZhcmlhYmxlRnVuY3Rpb259IGZyb20gJy4vdXRpbHMvdGhlbWluZy52YXJpYWJsZSc7XG5pbXBvcnQge2NoZWNrYm94VGhlbWVGYWN0b3J5fSBmcm9tICcuL3RoZW1lcy9jaGVja2JveC50aGVtZSc7XG5cbmV4cG9ydCBjbGFzcyBUaGVtZSB7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YTogR2xvYmFsVGhlbWU7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGdsb2JhbHM6IEdsb2JhbFZhcmlhYmxlcztcblxuICAgIGNvbnN0cnVjdG9yKHRoZW1lPzogUGFydGlhbEdsb2JhbFRoZW1lKSB7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRGYWN0b3JpZXMgPSB0aGlzLmRlZmF1bHRGYWN0b3JpZXMoKTtcbiAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5tZXJnZVRoZW1lRGF0YShkZWZhdWx0RmFjdG9yaWVzLCB0aGVtZSk7XG4gICAgICAgIHRoaXMuZ2xvYmFscyA9IHRoaXMuZ2V0R2xvYmFscygpO1xuICAgIH1cblxuICAgIHZhcmlhYmxlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29udGVudHModGhpcy5kYXRhKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZGVmYXVsdEZhY3RvcmllcygpOiBHbG9iYWxUaGVtZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBhY2NlbnRDb2xvcjogJyMxNTY1YzAnLFxuICAgICAgICAgICAgZXJyb3JDb2xvcjogJyNiZDMyMmEnLFxuICAgICAgICAgICAgZm9ybUNvbnRyb2w6IGZvcm1Db250cm9sVGhlbWVGYWN0b3J5KCksXG4gICAgICAgICAgICBmb3JtQ29udHJvbEFkZG9uOiBmb3JtQ29udHJvbEFkZG9uVGhlbWVGYWN0b3J5KCksXG4gICAgICAgICAgICBjaGVja2JveDogY2hlY2tib3hUaGVtZUZhY3RvcnkoKSxcbiAgICAgICAgICAgIGNoZWNrYm94R3JvdXA6IGNoZWNrYm94R3JvdXBUaGVtZUZhY3RvcnkoKSxcbiAgICAgICAgICAgIGNvbnRyb2xFcnJvcjogY29udHJvbEVycm9yVGhlbWVGYWN0b3J5KClcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0Q29udGVudHMoZGF0YTogb2JqZWN0LCBzY29wZTogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGRhdGEpLnJlZHVjZSgocHJldmlvdXMsIGN1cnJlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZGF0YT8uW2N1cnJlbnRdO1xuICAgICAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLmdldFRva2VuKGN1cnJlbnQsIHNjb3BlKTtcblxuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIFRoZW1lVmFyaWFibGVGdW5jdGlvbikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSB0aGlzLmdldENvbnRlbnRzKHZhbHVlLCB0b2tlbik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsuLi5wcmV2aW91cywgLi4uZm9ybWF0dGVkfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkVmFsdWUgPSAodmFsdWUgaW5zdGFuY2VvZiBUaGVtZVZhcmlhYmxlRnVuY3Rpb24pXG4gICAgICAgICAgICAgICAgPyB2YWx1ZS50b1N0cmluZyh0aGlzLmdsb2JhbHMpXG4gICAgICAgICAgICAgICAgOiB2YWx1ZTtcblxuICAgICAgICAgICAgaWYgKCFmb3JtYXR0ZWRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwcmV2aW91cztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHsuLi5wcmV2aW91cywgW2AtLSR7dG9rZW59YF06IGZvcm1hdHRlZFZhbHVlfTtcbiAgICAgICAgfSwge30pIGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFRva2VuKGtleTogc3RyaW5nLCBzY29wZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlbml6ZShrZXkpO1xuICAgICAgICByZXR1cm4gW3Njb3BlLCB0b2tlbl0uZmlsdGVyKGl0ZW0gPT4gISFpdGVtKS5qb2luKCctJyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRva2VuaXplKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdmFsdWUucmVwbGFjZSgvKFtBLVpdKS9nLCAnICQxJyk7XG4gICAgICAgIHJldHVybiByZXN1bHQuc3BsaXQoJyAnKS5qb2luKCctJykudG9Mb3dlckNhc2UoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbWVyZ2VUaGVtZURhdGEodGFyZ2V0OiBHbG9iYWxUaGVtZSwgLi4uc291cmNlczogUGFydGlhbEdsb2JhbFRoZW1lW10pIHtcbiAgICAgICAgaWYgKCFzb3VyY2VzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzb3VyY2UgPSBzb3VyY2VzLnNoaWZ0KCk7XG4gICAgICAgIGlmICh0aGlzLmlzT2JqZWN0KHRhcmdldCkgJiYgdGhpcy5pc09iamVjdChzb3VyY2UpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBzb3VyY2UpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc09iamVjdChzb3VyY2Vba2V5XSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0YXJnZXRba2V5XSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0YXJnZXQsIHtba2V5XToge319KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lcmdlVGhlbWVEYXRhKHRhcmdldFtrZXldLCBzb3VyY2Vba2V5XSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0YXJnZXQsIHtba2V5XTogc291cmNlW2tleV19KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5tZXJnZVRoZW1lRGF0YSh0YXJnZXQsIC4uLnNvdXJjZXMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRHbG9iYWxzKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYWNjZW50Q29sb3I6IHRoaXMuZGF0YS5hY2NlbnRDb2xvcixcbiAgICAgICAgICAgIGVycm9yQ29sb3I6IHRoaXMuZGF0YS5lcnJvckNvbG9yXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc09iamVjdCA9IChpdGVtOiB1bmtub3duKSA9PiB7XG4gICAgICAgIHJldHVybiAoaXRlbSAmJiB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoaXRlbSkpO1xuICAgIH07XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Directive, Input, RendererStyleFlags2 } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class BbiTheming {
|
|
4
|
+
constructor(_renderer, _elementRef) {
|
|
5
|
+
this._renderer = _renderer;
|
|
6
|
+
this._elementRef = _elementRef;
|
|
7
|
+
// Cache.
|
|
8
|
+
this._theme = null;
|
|
9
|
+
}
|
|
10
|
+
// Inputs.
|
|
11
|
+
set theme(theme) {
|
|
12
|
+
this._theme = theme;
|
|
13
|
+
this.setTheme();
|
|
14
|
+
}
|
|
15
|
+
setTheme() {
|
|
16
|
+
if (!this._theme) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const variables = this._theme.variables();
|
|
20
|
+
const element = this._elementRef.nativeElement;
|
|
21
|
+
for (const key in variables) {
|
|
22
|
+
const value = variables?.[key];
|
|
23
|
+
this._renderer.setStyle(element, key, value, RendererStyleFlags2.DashCase);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
BbiTheming.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbiTheming, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
28
|
+
BbiTheming.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: BbiTheming, selector: "[bbiTheming]", inputs: { theme: ["bbiTheming", "theme"] }, ngImport: i0 });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbiTheming, decorators: [{
|
|
30
|
+
type: Directive,
|
|
31
|
+
args: [{
|
|
32
|
+
selector: '[bbiTheming]'
|
|
33
|
+
}]
|
|
34
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { theme: [{
|
|
35
|
+
type: Input,
|
|
36
|
+
args: ['bbiTheming']
|
|
37
|
+
}] } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3RoZW1pbmcvc3JjL2xpYi90aGVtaW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLEtBQUssRUFBYSxtQkFBbUIsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFNM0YsTUFBTSxPQUFPLFVBQVU7SUFXbkIsWUFBb0IsU0FBb0IsRUFDcEIsV0FBdUI7UUFEdkIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUozQyxTQUFTO1FBQ0QsV0FBTSxHQUFpQixJQUFJLENBQUM7SUFJcEMsQ0FBQztJQVhELFVBQVU7SUFDVixJQUF5QixLQUFLLENBQUMsS0FBbUI7UUFDOUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFTTyxRQUFRO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzFDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBRS9DLEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFO1lBQ3pCLE1BQU0sS0FBSyxHQUFHLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzlFO0lBQ0wsQ0FBQzs7dUdBMUJRLFVBQVU7MkZBQVYsVUFBVTsyRkFBVixVQUFVO2tCQUh0QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO2lCQUMzQjt5SEFJNEIsS0FBSztzQkFBN0IsS0FBSzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIFJlbmRlcmVyU3R5bGVGbGFnczJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUaGVtZX0gZnJvbSAnLi90aGVtaW5nLmRhdGEnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tiYmlUaGVtaW5nXSdcbn0pXG5leHBvcnQgY2xhc3MgQmJpVGhlbWluZyB7XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCdiYmlUaGVtaW5nJykgc2V0IHRoZW1lKHRoZW1lOiBUaGVtZSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5fdGhlbWUgPSB0aGVtZTtcbiAgICAgICAgdGhpcy5zZXRUaGVtZSgpO1xuICAgIH1cblxuICAgIC8vIENhY2hlLlxuICAgIHByaXZhdGUgX3RoZW1lOiBUaGVtZSB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRUaGVtZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLl90aGVtZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHRoaXMuX3RoZW1lLnZhcmlhYmxlcygpO1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHZhcmlhYmxlcykge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB2YXJpYWJsZXM/LltrZXldO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwga2V5LCB2YWx1ZSwgUmVuZGVyZXJTdHlsZUZsYWdzMi5EYXNoQ2FzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==
|