@bravobit/bb-foundation 0.31.0 → 0.32.1
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/directives/authenticated.directive.d.ts +1 -3
- package/collections/lib/collection.d.ts +1 -1
- package/combobox/combobox/combobox-container.directive.d.ts +28 -0
- package/combobox/combobox/combobox.component.d.ts +37 -0
- package/combobox/combobox-label.directive.d.ts +5 -0
- package/combobox/combobox-option.directive.d.ts +7 -0
- package/combobox/combobox-panel/combobox-panel.animation.d.ts +1 -0
- package/combobox/combobox-panel/combobox-panel.component.d.ts +18 -0
- package/combobox/combobox.interface.d.ts +8 -0
- package/combobox/index.d.ts +5 -0
- package/combobox/public_api.d.ts +3 -0
- package/dialog/lib/dialog.service.d.ts +2 -3
- package/elements/lib/date-picker/date-picker.component.d.ts +3 -2
- package/esm2022/auth/lib/auth.interceptor.mjs +4 -4
- package/esm2022/auth/lib/auth.module.mjs +4 -4
- package/esm2022/auth/lib/auth.service.mjs +5 -5
- package/esm2022/auth/lib/auth.session.mjs +1 -1
- package/esm2022/auth/lib/directives/abstract.directive.mjs +1 -1
- package/esm2022/auth/lib/directives/authenticated.directive.mjs +6 -8
- package/esm2022/auth/lib/guards/anonymous.guard.mjs +4 -4
- package/esm2022/auth/lib/guards/authenticated.guard.mjs +4 -4
- package/esm2022/auth/lib/helpers/jwt.helper.mjs +1 -1
- package/esm2022/collections/lib/collection.mjs +1 -1
- package/esm2022/collections/lib/collections.module.mjs +4 -4
- package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +4 -4
- package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +3 -3
- package/esm2022/collections/lib/components/collections.directive.mjs +12 -12
- package/esm2022/collections/lib/providers/api-collection.provider.mjs +1 -1
- package/esm2022/combobox/bravobit-bb-foundation-combobox.mjs +5 -0
- package/esm2022/combobox/combobox/combobox-container.directive.mjs +132 -0
- package/esm2022/combobox/combobox/combobox.component.mjs +115 -0
- package/esm2022/combobox/combobox-label.directive.mjs +14 -0
- package/esm2022/combobox/combobox-option.directive.mjs +17 -0
- package/esm2022/combobox/combobox-panel/combobox-panel.animation.mjs +11 -0
- package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +38 -0
- package/esm2022/combobox/combobox.interface.mjs +2 -0
- package/esm2022/combobox/public_api.mjs +4 -0
- package/esm2022/controls/lib/checkbox/checkbox/checkbox.component.mjs +4 -4
- package/esm2022/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +4 -4
- package/esm2022/controls/lib/checkbox/checkbox.module.mjs +4 -4
- package/esm2022/controls/lib/control-error/control-error/control-error.component.mjs +4 -4
- package/esm2022/controls/lib/control-error/control-error-submit.directive.mjs +4 -4
- package/esm2022/controls/lib/control-error/control-error.module.mjs +4 -4
- package/esm2022/controls/lib/control-error/control-error.utils.mjs +1 -1
- package/esm2022/controls/lib/controls.module.mjs +4 -4
- package/esm2022/controls/lib/form-control/form-control/form-control.component.mjs +4 -4
- package/esm2022/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +3 -3
- package/esm2022/controls/lib/form-control/form-control-input.directive.mjs +4 -4
- package/esm2022/controls/lib/form-control/form-control.module.mjs +4 -4
- package/esm2022/controls/lib/radio/radio-button/radio-button.component.mjs +4 -4
- package/esm2022/controls/lib/radio/radio-group/radio-group.component.mjs +4 -4
- package/esm2022/controls/lib/radio/radio.module.mjs +4 -4
- package/esm2022/controls/lib/toggle/toggle/toggle.component.mjs +4 -4
- package/esm2022/controls/lib/toggle/toggle-group/toggle-group.component.mjs +4 -4
- package/esm2022/controls/lib/toggle/toggle.module.mjs +4 -4
- package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +4 -4
- package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
- package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
- package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +4 -4
- package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +5 -5
- package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +4 -4
- package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +4 -4
- package/esm2022/dashboard/lib/dashboard.module.mjs +4 -4
- package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
- package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +3 -3
- package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +4 -4
- package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +3 -3
- package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
- package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +4 -4
- package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +4 -4
- package/esm2022/dialog/lib/dialog.insertion.mjs +3 -3
- package/esm2022/dialog/lib/dialog.module.mjs +4 -4
- package/esm2022/dialog/lib/dialog.service.mjs +6 -7
- package/esm2022/elements/lib/avatar/avatar.component.mjs +4 -4
- package/esm2022/elements/lib/button/button.component.mjs +7 -7
- package/esm2022/elements/lib/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/elements/lib/date-picker/date-picker.component.mjs +9 -12
- package/esm2022/elements/lib/directives/addon.directive.mjs +6 -6
- package/esm2022/elements/lib/directives/form-submit.directive.mjs +4 -4
- package/esm2022/elements/lib/directives/form-submitter.directive.mjs +3 -3
- package/esm2022/elements/lib/directives/input.directive.mjs +7 -7
- package/esm2022/elements/lib/dropdown/dropdown.component.mjs +7 -7
- package/esm2022/elements/lib/elements.module.mjs +4 -4
- package/esm2022/elements/lib/file-picker/file-picker.component.mjs +4 -4
- package/esm2022/elements/lib/form-control/form-control.component.mjs +3 -3
- package/esm2022/elements/lib/form-error/form-error.component.mjs +4 -4
- package/esm2022/elements/lib/form-group/form-group.component.mjs +3 -3
- package/esm2022/elements/lib/icon/icon.component.mjs +4 -4
- package/esm2022/elements/lib/image-picker/image-picker.component.mjs +5 -5
- package/esm2022/elements/lib/pipes/file-image.pipe.mjs +4 -4
- package/esm2022/elements/lib/pipes/file-size.pipe.mjs +4 -4
- package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +4 -4
- package/esm2022/elements/lib/spinner/spinner.component.mjs +3 -3
- package/esm2022/elements/lib/tag/tag.component.mjs +3 -3
- package/esm2022/http/lib/classes/http.config.mjs +1 -1
- package/esm2022/http/lib/http.module.mjs +5 -5
- package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +4 -4
- package/esm2022/http/lib/interceptors/error.interceptor.mjs +4 -4
- package/esm2022/lib/core/functions/date.utils.mjs +1 -1
- package/esm2022/lib/core/functions/password.utils.mjs +1 -1
- package/esm2022/lib/core/miscellaneous/validator.mjs +1 -1
- package/esm2022/lib/core/services/clipboard.service.mjs +4 -4
- package/esm2022/lib/core/services/exif.service.mjs +4 -4
- package/esm2022/lib/core/services/file-loader.service.mjs +4 -4
- package/esm2022/lib/core/services/image-converter.service.mjs +4 -4
- package/esm2022/lib/core/services/languages.service.mjs +4 -4
- package/esm2022/lib/core/services/network.service.mjs +4 -4
- package/esm2022/lib/core/services/patch.service.mjs +4 -4
- package/esm2022/lib/core/tokens/window.token.mjs +1 -1
- package/esm2022/localize/lib/dictionary/dictionary.class.mjs +1 -1
- package/esm2022/localize/lib/functions/date.function.mjs +1 -1
- package/esm2022/localize/lib/handlers/missing.handler.mjs +1 -1
- package/esm2022/localize/lib/locale.token.mjs +1 -1
- package/esm2022/localize/lib/localize.module.mjs +5 -5
- package/esm2022/localize/lib/localize.pipe.mjs +4 -4
- package/esm2022/localize/lib/localize.service.mjs +4 -4
- package/esm2022/localize/lib/transforms/abstract.transform.mjs +1 -1
- package/esm2022/localize/lib/transforms/interpolate.transform.mjs +1 -1
- package/esm2022/localize/lib/transforms/plural.transform.mjs +1 -1
- package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +4 -4
- package/esm2022/localize/lib/views/localize-template.directive.mjs +3 -3
- package/esm2022/masking/lib/directives/currency-mask.directive.mjs +3 -3
- package/esm2022/masking/lib/directives/date-mask.directive.mjs +3 -3
- package/esm2022/masking/lib/directives/input-mask.directive.mjs +4 -4
- package/esm2022/masking/lib/masking.module.mjs +4 -4
- package/esm2022/masking/lib/masking.service.mjs +4 -4
- package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +4 -4
- package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +3 -3
- package/esm2022/notifications/lib/notifications.module.mjs +4 -4
- package/esm2022/notifications/lib/notifications.service.mjs +4 -4
- package/esm2022/permissions/lib/directives/permission.directive.mjs +4 -4
- package/esm2022/permissions/lib/guards/permission.guard.mjs +4 -4
- package/esm2022/permissions/lib/handlers/local.handler.mjs +1 -1
- package/esm2022/permissions/lib/permissions.module.mjs +4 -4
- package/esm2022/permissions/lib/permissions.service.mjs +4 -4
- package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +4 -4
- package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +4 -4
- package/esm2022/recaptcha/lib/recaptcha.module.mjs +4 -4
- package/esm2022/storage/lib/storage.service.mjs +4 -4
- package/esm2022/storage/lib/strategies/cookie-storage.strategy.mjs +1 -1
- package/esm2022/storage/lib/strategies/memory-storage.strategy.mjs +1 -1
- package/esm2022/storage/lib/strategies/polyfill-storage.strategy.mjs +1 -1
- package/esm2022/table/lib/components/table/table.component.mjs +10 -10
- package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +3 -3
- package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +4 -4
- package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +4 -4
- package/esm2022/table/lib/data/datasource.data.mjs +1 -1
- package/esm2022/table/lib/data/generic.data.mjs +1 -1
- package/esm2022/table/lib/table.module.mjs +4 -4
- package/esm2022/theming/lib/theming.data.mjs +1 -1
- package/esm2022/theming/lib/theming.directive.mjs +4 -4
- package/esm2022/theming/lib/theming.module.mjs +4 -4
- package/esm2022/theming/lib/utils/theming.variable.mjs +1 -1
- package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +3 -3
- package/esm2022/tooltip/lib/tooltip.directive.mjs +4 -4
- package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
- package/esm2022/utils/lib/directives/autosize.directive.mjs +4 -4
- package/esm2022/utils/lib/directives/focus-trap.directive.mjs +4 -4
- package/esm2022/utils/lib/directives/focus.directive.mjs +4 -4
- package/esm2022/utils/lib/directives/template.directive.mjs +3 -3
- package/esm2022/utils/lib/utils.module.mjs +4 -4
- package/fesm2022/bravobit-bb-foundation-auth.mjs +22 -24
- package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-collections.mjs +22 -22
- package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-combobox.mjs +316 -0
- package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -0
- package/fesm2022/bravobit-bb-foundation-controls.mjs +59 -59
- package/fesm2022/bravobit-bb-foundation-controls.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-dashboard.mjs +26 -26
- package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-dialog.mjs +34 -35
- package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-elements.mjs +85 -88
- package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-http.mjs +10 -10
- package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-localize.mjs +17 -17
- package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-masking.mjs +17 -17
- package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-notifications.mjs +14 -14
- package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-permissions.mjs +13 -13
- package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +10 -10
- package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-rxjs.mjs +1 -1
- package/fesm2022/bravobit-bb-foundation-storage.mjs +3 -3
- package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-table.mjs +22 -22
- package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-theming.mjs +7 -7
- package/fesm2022/bravobit-bb-foundation-theming.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-tooltip.mjs +10 -10
- package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-utils.mjs +16 -16
- package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation.mjs +21 -21
- package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
- package/package.json +22 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravobit-bb-foundation-theming.mjs","sources":["../../../projects/bb-foundation/theming/src/lib/theming.directive.ts","../../../projects/bb-foundation/theming/src/lib/themes/form-control-addon.theme.ts","../../../projects/bb-foundation/theming/src/lib/themes/checkbox-group.theme.ts","../../../projects/bb-foundation/theming/src/lib/utils/theming.variable.ts","../../../projects/bb-foundation/theming/src/lib/themes/control-error.theme.ts","../../../projects/bb-foundation/theming/src/lib/themes/form-control.theme.ts","../../../projects/bb-foundation/theming/src/lib/themes/toggle-group.theme.ts","../../../projects/bb-foundation/theming/src/lib/themes/radio-button.theme.ts","../../../projects/bb-foundation/theming/src/lib/themes/radio-group.theme.ts","../../../projects/bb-foundation/theming/src/lib/themes/checkbox.theme.ts","../../../projects/bb-foundation/theming/src/lib/themes/toggle.theme.ts","../../../projects/bb-foundation/theming/src/lib/theming.data.ts","../../../projects/bb-foundation/theming/src/lib/theming.module.ts","../../../projects/bb-foundation/theming/src/bravobit-bb-foundation-theming.ts"],"sourcesContent":["import {Directive, ElementRef, Input, Renderer2, RendererStyleFlags2} from '@angular/core';\nimport {Theme} from './theming.data';\n\n@Directive({\n selector: '[bbiTheming]'\n})\nexport class BbiTheming {\n\n // Inputs.\n @Input('bbiTheming') set theme(theme: Theme | null) {\n this._theme = theme;\n this.setTheme();\n }\n\n // Cache.\n private _theme: Theme | null = null;\n\n constructor(private _renderer: Renderer2,\n private _elementRef: ElementRef) {\n }\n\n private setTheme() {\n if (!this._theme) {\n return;\n }\n const variables = this._theme.variables();\n const element = this._elementRef.nativeElement;\n\n for (const key in variables) {\n const value = variables?.[key];\n this._renderer.setStyle(element, key, value, RendererStyleFlags2.DashCase);\n }\n }\n\n}\n","import {ThemeVariable} from '../utils/theming.variable';\n\nexport interface FormControlAddonTheme {\n spacing: ThemeVariable;\n}\n\nexport function formControlAddonThemeFactory(): FormControlAddonTheme {\n return {\n spacing: '10px'\n };\n}\n","import {ThemeVariable} from '../utils/theming.variable';\n\nexport interface CheckboxGroupTheme {\n grouping: ThemeVariable;\n\n label: {\n color: ThemeVariable;\n fontSize: ThemeVariable;\n fontWeight: ThemeVariable;\n lineHeight: ThemeVariable;\n offset: ThemeVariable;\n };\n\n spacing: {\n horizontal: ThemeVariable;\n vertical: ThemeVariable;\n };\n}\n\nexport function checkboxGroupThemeFactory(): CheckboxGroupTheme {\n return {\n grouping: '20px',\n label: {\n color: '#525252',\n offset: '4px',\n fontSize: '14px',\n fontWeight: '400',\n lineHeight: '1.33'\n },\n spacing: {\n horizontal: '10px',\n vertical: '4px'\n }\n };\n}\n","import {GlobalVariables, GlobalVariablesKey} from '../theming.interface';\n\nexport type ThemeVariable = ThemeVariableFunction | string;\n\nexport abstract class ThemeVariableFunction {\n\n protected constructor(private _key: GlobalVariablesKey) {\n }\n\n abstract format(value: string): string;\n\n toString(variables: GlobalVariables) {\n const value = variables?.[this._key] ?? null;\n if (!value) {\n throw new Error(`Invalid variable key \"${this._key}\"`);\n }\n return !!value ? this.format(value) : null;\n }\n\n}\n\nexport class ThemeColorVariable extends ThemeVariableFunction {\n\n // State.\n private _opacity: number = 1;\n\n constructor(key: GlobalVariablesKey) {\n super(key);\n }\n\n format(value: string) {\n const rgb = this.hexToRgb(value);\n return this.toRgba(rgb);\n }\n\n opacity(value: number) {\n this._opacity = value;\n return this;\n }\n\n private toRgba(data: { red: number, green: number, blue: number }) {\n return `rgba(${data?.red},${data?.green},${data?.blue},${this._opacity})`;\n }\n\n private hexToRgb(value: string) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(value);\n if (!result) {\n throw new Error(`Invalid color format for \"${value}\". Only hex is currently supported.`);\n }\n\n const red = parseInt(result?.[1], 16);\n const green = parseInt(result?.[2], 16);\n const blue = parseInt(result?.[3], 16);\n return {red, green, blue};\n }\n\n}\n","import {ThemeColorVariable, ThemeVariable} from '../utils/theming.variable';\n\nexport interface ControlErrorTheme {\n color: ThemeVariable;\n fontSize: ThemeVariable;\n lineHeight: ThemeVariable;\n fontWeight: ThemeVariable;\n spacing: ThemeVariable;\n}\n\nexport function controlErrorThemeFactory(): ControlErrorTheme {\n return {\n color: new ThemeColorVariable('errorColor'),\n fontSize: '13px',\n lineHeight: '1.5',\n fontWeight: '400',\n spacing: '4px'\n };\n}\n","import {ThemeColorVariable, ThemeVariable} from '../utils/theming.variable';\n\ninterface BorderTheme {\n radius: ThemeVariable;\n width: ThemeVariable;\n style: ThemeVariable;\n color: ThemeVariable;\n}\n\nexport interface FormControlTheme {\n grouping: ThemeVariable;\n color: ThemeVariable;\n background: ThemeVariable;\n error: {\n color: ThemeVariable;\n background: ThemeVariable;\n placeholderColor: ThemeVariable;\n };\n border: BorderTheme;\n focused: {\n color: ThemeVariable;\n background: ThemeVariable;\n shadow: ThemeVariable;\n border: BorderTheme;\n };\n disabled: {\n color: ThemeVariable;\n background: ThemeVariable;\n opacity: ThemeVariable;\n border: BorderTheme;\n };\n}\n\nexport function formControlThemeFactory(): FormControlTheme {\n const errorColorKey = 'errorColor';\n const inputColor = '#111111';\n const backgroundColor = '#ffffff';\n return {\n grouping: '20px',\n color: inputColor,\n background: backgroundColor,\n error: {\n color: new ThemeColorVariable(errorColorKey),\n background: new ThemeColorVariable(errorColorKey).opacity(0.1),\n placeholderColor: new ThemeColorVariable(errorColorKey).opacity(0.4)\n },\n border: {\n radius: '6px',\n width: '1px',\n style: 'solid',\n color: 'rgba(67, 90, 111, 0.3)'\n },\n focused: {\n color: inputColor,\n background: backgroundColor,\n border: {\n radius: '6px',\n width: '1px',\n style: 'solid',\n color: '#212121'\n },\n shadow: '0 0 0 3px rgba(0, 123, 255, 0.2)'\n },\n disabled: {\n color: inputColor,\n background: backgroundColor,\n border: {\n radius: '6px',\n width: '1px',\n style: 'solid',\n color: '#212121'\n },\n opacity: '0.25'\n }\n };\n}\n","import {ThemeVariable} from '../utils/theming.variable';\n\nexport interface ToggleGroupTheme {\n grouping: ThemeVariable;\n\n label: {\n color: ThemeVariable;\n fontSize: ThemeVariable;\n fontWeight: ThemeVariable;\n lineHeight: ThemeVariable;\n offset: ThemeVariable;\n };\n\n spacing: {\n horizontal: ThemeVariable;\n vertical: ThemeVariable;\n };\n}\n\nexport function toggleGroupThemeFactory(): ToggleGroupTheme {\n return {\n grouping: '20px',\n label: {\n color: '#525252',\n offset: '4px',\n fontSize: '14px',\n fontWeight: '400',\n lineHeight: '1.33'\n },\n spacing: {\n horizontal: '10px',\n vertical: '4px'\n }\n };\n}\n","import {ThemeColorVariable, ThemeVariable} from '../utils/theming.variable';\n\nexport interface RadioButtonTheme {\n size: ThemeVariable;\n\n colors: {\n accent: ThemeVariable;\n disabled: ThemeVariable;\n };\n\n border: {\n color: ThemeVariable;\n thickness: ThemeVariable;\n radius: ThemeVariable;\n };\n\n outline: {\n color: ThemeVariable;\n offset: ThemeVariable;\n thickness: ThemeVariable;\n };\n\n label: {\n color: ThemeVariable;\n fontSize: ThemeVariable;\n fontWeight: ThemeVariable;\n lineHeight: ThemeVariable;\n offset: ThemeVariable;\n };\n}\n\nexport function radioButtonThemeFactory(): RadioButtonTheme {\n const accentColor = new ThemeColorVariable('accentColor');\n return {\n size: '20px',\n colors: {\n accent: accentColor,\n disabled: '#c6c6c6'\n },\n border: {\n color: '#111111',\n thickness: '1px',\n radius: '50%'\n },\n outline: {\n color: accentColor,\n offset: '1px',\n thickness: '2px'\n },\n label: {\n color: '#111111',\n offset: '6px',\n fontSize: '16px',\n fontWeight: '400',\n lineHeight: '1.28'\n }\n };\n}\n","import {ThemeColorVariable, ThemeVariable} from '../utils/theming.variable';\n\nexport interface RadioGroupTheme {\n grouping: ThemeVariable;\n error: ThemeVariable;\n\n label: {\n color: ThemeVariable;\n fontSize: ThemeVariable;\n fontWeight: ThemeVariable;\n lineHeight: ThemeVariable;\n offset: ThemeVariable;\n };\n\n spacing: {\n horizontal: ThemeVariable;\n vertical: ThemeVariable;\n };\n}\n\nexport function radioGroupThemeFactory(): RadioGroupTheme {\n const errorColor = new ThemeColorVariable('errorColor');\n return {\n grouping: '20px',\n error: errorColor,\n label: {\n color: '#525252',\n offset: '4px',\n fontSize: '14px',\n fontWeight: '400',\n lineHeight: '1.33'\n },\n spacing: {\n horizontal: '10px',\n vertical: '4px'\n }\n };\n}\n","import {ThemeColorVariable, ThemeVariable} from '../utils/theming.variable';\n\nexport interface CheckboxTheme {\n size: ThemeVariable;\n grouping: ThemeVariable;\n\n colors: {\n accent: ThemeVariable;\n disabled: ThemeVariable;\n };\n\n border: {\n color: ThemeVariable;\n thickness: ThemeVariable;\n radius: ThemeVariable;\n };\n\n outline: {\n color: ThemeVariable;\n offset: ThemeVariable;\n thickness: ThemeVariable;\n };\n\n check: {\n size: ThemeVariable;\n color: ThemeVariable;\n thickness: ThemeVariable;\n };\n\n label: {\n color: ThemeVariable;\n fontSize: ThemeVariable;\n fontWeight: ThemeVariable;\n lineHeight: ThemeVariable;\n offset: ThemeVariable;\n };\n}\n\nexport function checkboxThemeFactory(): CheckboxTheme {\n const accentColor = new ThemeColorVariable('accentColor');\n return {\n size: '20px',\n grouping: '20px',\n colors: {\n accent: accentColor,\n disabled: '#c6c6c6'\n },\n border: {\n color: '#111111',\n thickness: '1px',\n radius: '4px'\n },\n outline: {\n color: accentColor,\n offset: '1px',\n thickness: '2px'\n },\n check: {\n size: '12px',\n color: 'white',\n thickness: '2px'\n },\n label: {\n color: '#111111',\n offset: '6px',\n fontSize: '16px',\n fontWeight: '400',\n lineHeight: '1.28'\n }\n };\n}\n","import {ThemeColorVariable, ThemeVariable} from '../utils/theming.variable';\n\nexport interface ToggleTheme {\n grouping: ThemeVariable;\n width: ThemeVariable;\n height: ThemeVariable;\n\n colors: {\n accent: ThemeVariable;\n disabled: ThemeVariable;\n indicator: ThemeVariable;\n background: ThemeVariable;\n };\n\n outline: {\n color: ThemeVariable;\n offset: ThemeVariable;\n thickness: ThemeVariable;\n };\n\n label: {\n color: ThemeVariable;\n fontSize: ThemeVariable;\n fontWeight: ThemeVariable;\n lineHeight: ThemeVariable;\n offset: ThemeVariable;\n };\n}\n\nexport function toggleThemeFactory(): ToggleTheme {\n const accentColor = new ThemeColorVariable('accentColor');\n return {\n grouping: '20px',\n width: '40px',\n height: '20px',\n colors: {\n accent: accentColor,\n disabled: '#c6c6c6',\n indicator: '#ffffff',\n background: '#aeaeae'\n },\n outline: {\n color: accentColor,\n offset: '1px',\n thickness: '2px'\n },\n label: {\n color: '#111111',\n offset: '6px',\n fontSize: '16px',\n fontWeight: '400',\n lineHeight: '1.28'\n }\n };\n}\n","import {GlobalTheme, GlobalVariables, PartialGlobalTheme} from './theming.interface';\nimport {formControlAddonThemeFactory} from './themes/form-control-addon.theme';\nimport {checkboxGroupThemeFactory} from './themes/checkbox-group.theme';\nimport {controlErrorThemeFactory} from './themes/control-error.theme';\nimport {formControlThemeFactory} from './themes/form-control.theme';\nimport {toggleGroupThemeFactory} from './themes/toggle-group.theme';\nimport {radioButtonThemeFactory} from './themes/radio-button.theme';\nimport {radioGroupThemeFactory} from './themes/radio-group.theme';\nimport {ThemeVariableFunction} from './utils/theming.variable';\nimport {checkboxThemeFactory} from './themes/checkbox.theme';\nimport {toggleThemeFactory} from './themes/toggle.theme';\n\nexport class Theme {\n\n protected readonly data: GlobalTheme;\n protected readonly globals: GlobalVariables;\n\n constructor(theme?: PartialGlobalTheme) {\n const defaultFactories = this.defaultFactories();\n this.data = this.mergeThemeData(defaultFactories, theme);\n this.globals = this.getGlobals();\n }\n\n variables() {\n return this.getContents(this.data);\n }\n\n protected defaultFactories(): GlobalTheme {\n return {\n accentColor: '#1565c0',\n errorColor: '#bd322a',\n formControl: formControlThemeFactory(),\n formControlAddon: formControlAddonThemeFactory(),\n checkbox: checkboxThemeFactory(),\n checkboxGroup: checkboxGroupThemeFactory(),\n radioButton: radioButtonThemeFactory(),\n radioGroup: radioGroupThemeFactory(),\n toggle: toggleThemeFactory(),\n toggleGroup: toggleGroupThemeFactory(),\n controlError: controlErrorThemeFactory()\n };\n }\n\n protected getContents(data: object, scope: string | null = null) {\n return Object.keys(data).reduce((previous, current) => {\n const value = data?.[current];\n const token = this.getToken(current, scope);\n\n if (typeof value === 'object' && value !== null && !(value instanceof ThemeVariableFunction)) {\n const formatted = this.getContents(value, token);\n return {...previous, ...formatted};\n }\n\n const formattedValue = (value instanceof ThemeVariableFunction)\n ? value.toString(this.globals)\n : value;\n\n if (!formattedValue) {\n return previous;\n }\n\n return {...previous, [`--${token}`]: formattedValue};\n }, {}) as { [key: string]: string };\n }\n\n protected getToken(key: string, scope: string) {\n const token = this.tokenize(key);\n return [scope, token].filter(item => !!item).join('-');\n }\n\n protected tokenize(value: string) {\n const result = value.replace(/([A-Z])/g, ' $1');\n return result.split(' ').join('-').toLowerCase();\n }\n\n protected mergeThemeData(target: GlobalTheme, ...sources: PartialGlobalTheme[]) {\n if (!sources?.length) {\n return target;\n }\n\n const source = sources.shift();\n if (this.isObject(target) && this.isObject(source)) {\n for (const key in source) {\n if (this.isObject(source[key])) {\n if (!target[key]) {\n Object.assign(target, {[key]: {}});\n }\n this.mergeThemeData(target[key], source[key]);\n } else {\n Object.assign(target, {[key]: source[key]});\n }\n }\n }\n\n return this.mergeThemeData(target, ...sources);\n }\n\n protected getGlobals() {\n return {\n accentColor: this.data.accentColor,\n errorColor: this.data.errorColor\n };\n }\n\n private isObject = (item: unknown) => {\n return (item && typeof item === 'object' && !Array.isArray(item));\n };\n\n}\n","import {BbiTheming} from './theming.directive';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n declarations: [BbiTheming],\n exports: [BbiTheming]\n})\nexport class ThemingModule {\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bravobit-bb-foundation-theming.mjs","sources":["../../../projects/bb-foundation/theming/src/lib/theming.directive.ts","../../../projects/bb-foundation/theming/src/lib/themes/form-control-addon.theme.ts","../../../projects/bb-foundation/theming/src/lib/themes/checkbox-group.theme.ts","../../../projects/bb-foundation/theming/src/lib/utils/theming.variable.ts","../../../projects/bb-foundation/theming/src/lib/themes/control-error.theme.ts","../../../projects/bb-foundation/theming/src/lib/themes/form-control.theme.ts","../../../projects/bb-foundation/theming/src/lib/themes/toggle-group.theme.ts","../../../projects/bb-foundation/theming/src/lib/themes/radio-button.theme.ts","../../../projects/bb-foundation/theming/src/lib/themes/radio-group.theme.ts","../../../projects/bb-foundation/theming/src/lib/themes/checkbox.theme.ts","../../../projects/bb-foundation/theming/src/lib/themes/toggle.theme.ts","../../../projects/bb-foundation/theming/src/lib/theming.data.ts","../../../projects/bb-foundation/theming/src/lib/theming.module.ts","../../../projects/bb-foundation/theming/src/bravobit-bb-foundation-theming.ts"],"sourcesContent":["import {Directive, ElementRef, Input, Renderer2, RendererStyleFlags2} from '@angular/core';\nimport {Theme} from './theming.data';\n\n@Directive({\n selector: '[bbiTheming]'\n})\nexport class BbiTheming {\n\n // Inputs.\n @Input('bbiTheming') set theme(theme: Theme | null) {\n this._theme = theme;\n this.setTheme();\n }\n\n // Cache.\n private _theme: Theme | null = null;\n\n constructor(private _renderer: Renderer2,\n private _elementRef: ElementRef) {\n }\n\n private setTheme() {\n if (!this._theme) {\n return;\n }\n const variables = this._theme.variables();\n const element = this._elementRef.nativeElement;\n\n for (const key in variables) {\n const value = variables?.[key];\n this._renderer.setStyle(element, key, value, RendererStyleFlags2.DashCase);\n }\n }\n\n}\n","import {ThemeVariable} from '../utils/theming.variable';\n\nexport interface FormControlAddonTheme {\n spacing: ThemeVariable;\n}\n\nexport function formControlAddonThemeFactory(): FormControlAddonTheme {\n return {\n spacing: '10px'\n };\n}\n","import {ThemeVariable} from '../utils/theming.variable';\n\nexport interface CheckboxGroupTheme {\n grouping: ThemeVariable;\n\n label: {\n color: ThemeVariable;\n fontSize: ThemeVariable;\n fontWeight: ThemeVariable;\n lineHeight: ThemeVariable;\n offset: ThemeVariable;\n };\n\n spacing: {\n horizontal: ThemeVariable;\n vertical: ThemeVariable;\n };\n}\n\nexport function checkboxGroupThemeFactory(): CheckboxGroupTheme {\n return {\n grouping: '20px',\n label: {\n color: '#525252',\n offset: '4px',\n fontSize: '14px',\n fontWeight: '400',\n lineHeight: '1.33'\n },\n spacing: {\n horizontal: '10px',\n vertical: '4px'\n }\n };\n}\n","import {GlobalVariables, GlobalVariablesKey} from '../theming.interface';\n\nexport type ThemeVariable = ThemeVariableFunction | string;\n\nexport abstract class ThemeVariableFunction {\n\n protected constructor(private _key: GlobalVariablesKey) {\n }\n\n abstract format(value: string): string;\n\n toString(variables: GlobalVariables) {\n const value = variables?.[this._key] ?? null;\n if (!value) {\n throw new Error(`Invalid variable key \"${this._key}\"`);\n }\n return !!value ? this.format(value) : null;\n }\n\n}\n\nexport class ThemeColorVariable extends ThemeVariableFunction {\n\n // State.\n private _opacity: number = 1;\n\n constructor(key: GlobalVariablesKey) {\n super(key);\n }\n\n format(value: string) {\n const rgb = this.hexToRgb(value);\n return this.toRgba(rgb);\n }\n\n opacity(value: number) {\n this._opacity = value;\n return this;\n }\n\n private toRgba(data: { red: number, green: number, blue: number }) {\n return `rgba(${data?.red},${data?.green},${data?.blue},${this._opacity})`;\n }\n\n private hexToRgb(value: string) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(value);\n if (!result) {\n throw new Error(`Invalid color format for \"${value}\". Only hex is currently supported.`);\n }\n\n const red = parseInt(result?.[1], 16);\n const green = parseInt(result?.[2], 16);\n const blue = parseInt(result?.[3], 16);\n return {red, green, blue};\n }\n\n}\n","import {ThemeColorVariable, ThemeVariable} from '../utils/theming.variable';\n\nexport interface ControlErrorTheme {\n color: ThemeVariable;\n fontSize: ThemeVariable;\n lineHeight: ThemeVariable;\n fontWeight: ThemeVariable;\n spacing: ThemeVariable;\n}\n\nexport function controlErrorThemeFactory(): ControlErrorTheme {\n return {\n color: new ThemeColorVariable('errorColor'),\n fontSize: '13px',\n lineHeight: '1.5',\n fontWeight: '400',\n spacing: '4px'\n };\n}\n","import {ThemeColorVariable, ThemeVariable} from '../utils/theming.variable';\n\ninterface BorderTheme {\n radius: ThemeVariable;\n width: ThemeVariable;\n style: ThemeVariable;\n color: ThemeVariable;\n}\n\nexport interface FormControlTheme {\n grouping: ThemeVariable;\n color: ThemeVariable;\n background: ThemeVariable;\n error: {\n color: ThemeVariable;\n background: ThemeVariable;\n placeholderColor: ThemeVariable;\n };\n border: BorderTheme;\n focused: {\n color: ThemeVariable;\n background: ThemeVariable;\n shadow: ThemeVariable;\n border: BorderTheme;\n };\n disabled: {\n color: ThemeVariable;\n background: ThemeVariable;\n opacity: ThemeVariable;\n border: BorderTheme;\n };\n}\n\nexport function formControlThemeFactory(): FormControlTheme {\n const errorColorKey = 'errorColor';\n const inputColor = '#111111';\n const backgroundColor = '#ffffff';\n return {\n grouping: '20px',\n color: inputColor,\n background: backgroundColor,\n error: {\n color: new ThemeColorVariable(errorColorKey),\n background: new ThemeColorVariable(errorColorKey).opacity(0.1),\n placeholderColor: new ThemeColorVariable(errorColorKey).opacity(0.4)\n },\n border: {\n radius: '6px',\n width: '1px',\n style: 'solid',\n color: 'rgba(67, 90, 111, 0.3)'\n },\n focused: {\n color: inputColor,\n background: backgroundColor,\n border: {\n radius: '6px',\n width: '1px',\n style: 'solid',\n color: '#212121'\n },\n shadow: '0 0 0 3px rgba(0, 123, 255, 0.2)'\n },\n disabled: {\n color: inputColor,\n background: backgroundColor,\n border: {\n radius: '6px',\n width: '1px',\n style: 'solid',\n color: '#212121'\n },\n opacity: '0.25'\n }\n };\n}\n","import {ThemeVariable} from '../utils/theming.variable';\n\nexport interface ToggleGroupTheme {\n grouping: ThemeVariable;\n\n label: {\n color: ThemeVariable;\n fontSize: ThemeVariable;\n fontWeight: ThemeVariable;\n lineHeight: ThemeVariable;\n offset: ThemeVariable;\n };\n\n spacing: {\n horizontal: ThemeVariable;\n vertical: ThemeVariable;\n };\n}\n\nexport function toggleGroupThemeFactory(): ToggleGroupTheme {\n return {\n grouping: '20px',\n label: {\n color: '#525252',\n offset: '4px',\n fontSize: '14px',\n fontWeight: '400',\n lineHeight: '1.33'\n },\n spacing: {\n horizontal: '10px',\n vertical: '4px'\n }\n };\n}\n","import {ThemeColorVariable, ThemeVariable} from '../utils/theming.variable';\n\nexport interface RadioButtonTheme {\n size: ThemeVariable;\n\n colors: {\n accent: ThemeVariable;\n disabled: ThemeVariable;\n };\n\n border: {\n color: ThemeVariable;\n thickness: ThemeVariable;\n radius: ThemeVariable;\n };\n\n outline: {\n color: ThemeVariable;\n offset: ThemeVariable;\n thickness: ThemeVariable;\n };\n\n label: {\n color: ThemeVariable;\n fontSize: ThemeVariable;\n fontWeight: ThemeVariable;\n lineHeight: ThemeVariable;\n offset: ThemeVariable;\n };\n}\n\nexport function radioButtonThemeFactory(): RadioButtonTheme {\n const accentColor = new ThemeColorVariable('accentColor');\n return {\n size: '20px',\n colors: {\n accent: accentColor,\n disabled: '#c6c6c6'\n },\n border: {\n color: '#111111',\n thickness: '1px',\n radius: '50%'\n },\n outline: {\n color: accentColor,\n offset: '1px',\n thickness: '2px'\n },\n label: {\n color: '#111111',\n offset: '6px',\n fontSize: '16px',\n fontWeight: '400',\n lineHeight: '1.28'\n }\n };\n}\n","import {ThemeColorVariable, ThemeVariable} from '../utils/theming.variable';\n\nexport interface RadioGroupTheme {\n grouping: ThemeVariable;\n error: ThemeVariable;\n\n label: {\n color: ThemeVariable;\n fontSize: ThemeVariable;\n fontWeight: ThemeVariable;\n lineHeight: ThemeVariable;\n offset: ThemeVariable;\n };\n\n spacing: {\n horizontal: ThemeVariable;\n vertical: ThemeVariable;\n };\n}\n\nexport function radioGroupThemeFactory(): RadioGroupTheme {\n const errorColor = new ThemeColorVariable('errorColor');\n return {\n grouping: '20px',\n error: errorColor,\n label: {\n color: '#525252',\n offset: '4px',\n fontSize: '14px',\n fontWeight: '400',\n lineHeight: '1.33'\n },\n spacing: {\n horizontal: '10px',\n vertical: '4px'\n }\n };\n}\n","import {ThemeColorVariable, ThemeVariable} from '../utils/theming.variable';\n\nexport interface CheckboxTheme {\n size: ThemeVariable;\n grouping: ThemeVariable;\n\n colors: {\n accent: ThemeVariable;\n disabled: ThemeVariable;\n };\n\n border: {\n color: ThemeVariable;\n thickness: ThemeVariable;\n radius: ThemeVariable;\n };\n\n outline: {\n color: ThemeVariable;\n offset: ThemeVariable;\n thickness: ThemeVariable;\n };\n\n check: {\n size: ThemeVariable;\n color: ThemeVariable;\n thickness: ThemeVariable;\n };\n\n label: {\n color: ThemeVariable;\n fontSize: ThemeVariable;\n fontWeight: ThemeVariable;\n lineHeight: ThemeVariable;\n offset: ThemeVariable;\n };\n}\n\nexport function checkboxThemeFactory(): CheckboxTheme {\n const accentColor = new ThemeColorVariable('accentColor');\n return {\n size: '20px',\n grouping: '20px',\n colors: {\n accent: accentColor,\n disabled: '#c6c6c6'\n },\n border: {\n color: '#111111',\n thickness: '1px',\n radius: '4px'\n },\n outline: {\n color: accentColor,\n offset: '1px',\n thickness: '2px'\n },\n check: {\n size: '12px',\n color: 'white',\n thickness: '2px'\n },\n label: {\n color: '#111111',\n offset: '6px',\n fontSize: '16px',\n fontWeight: '400',\n lineHeight: '1.28'\n }\n };\n}\n","import {ThemeColorVariable, ThemeVariable} from '../utils/theming.variable';\n\nexport interface ToggleTheme {\n grouping: ThemeVariable;\n width: ThemeVariable;\n height: ThemeVariable;\n\n colors: {\n accent: ThemeVariable;\n disabled: ThemeVariable;\n indicator: ThemeVariable;\n background: ThemeVariable;\n };\n\n outline: {\n color: ThemeVariable;\n offset: ThemeVariable;\n thickness: ThemeVariable;\n };\n\n label: {\n color: ThemeVariable;\n fontSize: ThemeVariable;\n fontWeight: ThemeVariable;\n lineHeight: ThemeVariable;\n offset: ThemeVariable;\n };\n}\n\nexport function toggleThemeFactory(): ToggleTheme {\n const accentColor = new ThemeColorVariable('accentColor');\n return {\n grouping: '20px',\n width: '40px',\n height: '20px',\n colors: {\n accent: accentColor,\n disabled: '#c6c6c6',\n indicator: '#ffffff',\n background: '#aeaeae'\n },\n outline: {\n color: accentColor,\n offset: '1px',\n thickness: '2px'\n },\n label: {\n color: '#111111',\n offset: '6px',\n fontSize: '16px',\n fontWeight: '400',\n lineHeight: '1.28'\n }\n };\n}\n","import {GlobalTheme, GlobalVariables, PartialGlobalTheme} from './theming.interface';\nimport {formControlAddonThemeFactory} from './themes/form-control-addon.theme';\nimport {checkboxGroupThemeFactory} from './themes/checkbox-group.theme';\nimport {controlErrorThemeFactory} from './themes/control-error.theme';\nimport {formControlThemeFactory} from './themes/form-control.theme';\nimport {toggleGroupThemeFactory} from './themes/toggle-group.theme';\nimport {radioButtonThemeFactory} from './themes/radio-button.theme';\nimport {radioGroupThemeFactory} from './themes/radio-group.theme';\nimport {ThemeVariableFunction} from './utils/theming.variable';\nimport {checkboxThemeFactory} from './themes/checkbox.theme';\nimport {toggleThemeFactory} from './themes/toggle.theme';\n\nexport class Theme {\n\n protected readonly data: GlobalTheme;\n protected readonly globals: GlobalVariables;\n\n constructor(theme?: PartialGlobalTheme) {\n const defaultFactories = this.defaultFactories();\n this.data = this.mergeThemeData(defaultFactories, theme);\n this.globals = this.getGlobals();\n }\n\n variables() {\n return this.getContents(this.data);\n }\n\n protected defaultFactories(): GlobalTheme {\n return {\n accentColor: '#1565c0',\n errorColor: '#bd322a',\n formControl: formControlThemeFactory(),\n formControlAddon: formControlAddonThemeFactory(),\n checkbox: checkboxThemeFactory(),\n checkboxGroup: checkboxGroupThemeFactory(),\n radioButton: radioButtonThemeFactory(),\n radioGroup: radioGroupThemeFactory(),\n toggle: toggleThemeFactory(),\n toggleGroup: toggleGroupThemeFactory(),\n controlError: controlErrorThemeFactory()\n };\n }\n\n protected getContents(data: object, scope: string | null = null) {\n return Object.keys(data).reduce((previous, current) => {\n const value = data?.[current];\n const token = this.getToken(current, scope);\n\n if (typeof value === 'object' && value !== null && !(value instanceof ThemeVariableFunction)) {\n const formatted = this.getContents(value, token);\n return {...previous, ...formatted};\n }\n\n const formattedValue = (value instanceof ThemeVariableFunction)\n ? value.toString(this.globals)\n : value;\n\n if (!formattedValue) {\n return previous;\n }\n\n return {...previous, [`--${token}`]: formattedValue};\n }, {}) as { [key: string]: string };\n }\n\n protected getToken(key: string, scope: string) {\n const token = this.tokenize(key);\n return [scope, token].filter(item => !!item).join('-');\n }\n\n protected tokenize(value: string) {\n const result = value.replace(/([A-Z])/g, ' $1');\n return result.split(' ').join('-').toLowerCase();\n }\n\n protected mergeThemeData(target: GlobalTheme, ...sources: PartialGlobalTheme[]) {\n if (!sources?.length) {\n return target;\n }\n\n const source = sources.shift();\n if (this.isObject(target) && this.isObject(source)) {\n for (const key in source) {\n if (this.isObject(source[key])) {\n if (!target[key]) {\n Object.assign(target, {[key]: {}});\n }\n this.mergeThemeData(target[key], source[key]);\n } else {\n Object.assign(target, {[key]: source[key]});\n }\n }\n }\n\n return this.mergeThemeData(target, ...sources);\n }\n\n protected getGlobals() {\n return {\n accentColor: this.data.accentColor,\n errorColor: this.data.errorColor\n };\n }\n\n private isObject = (item: unknown) => {\n return (item && typeof item === 'object' && !Array.isArray(item));\n };\n\n}\n","import {BbiTheming} from './theming.directive';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n declarations: [BbiTheming],\n exports: [BbiTheming]\n})\nexport class ThemingModule {\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -20,10 +20,10 @@ class TooltipContainerComponent {
|
|
|
20
20
|
.filter(item => !!item)
|
|
21
21
|
.join(' ');
|
|
22
22
|
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TooltipContainerComponent, deps: [{ token: TOOLTIP_DATA }, { token: TOOLTIP_CLASS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: TooltipContainerComponent, selector: "bb-tooltip-container", host: { properties: { "class": "this.classBinding" }, classAttribute: "bb-tooltip-container" }, ngImport: i0, template: "<ng-template [bbTemplate]=\"data\">\n {{ data }}\n</ng-template>\n", styles: [".bb-tooltip-container{color:#fff;display:block;font-size:14px;max-width:400px;padding:8px 10px;-webkit-user-select:none;user-select:none;position:relative;border-radius:4px;pointer-events:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background-color:#111111e6}.bb-tooltip-container:after{width:0;height:0;content:\"\";display:block;position:absolute;border-style:solid;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bb-tooltip-container>small{display:block;font-size:12px;margin-top:4px;color:#fff6}.bb-tooltip-container-bottom,.bb-tooltip-container-top,.bb-tooltip-container-left,.bb-tooltip-container-right{pointer-events:none}.bb-tooltip-container-top .bb-tooltip-container:after{left:50%;top:100%;transform:translate(-50%);border-width:6px 6px 0 6px;border-color:rgba(17,17,17,.9) transparent transparent transparent}.bb-tooltip-container-bottom .bb-tooltip-container:after{left:50%;bottom:100%;transform:translate(-50%);border-width:0 6px 6px 6px;border-color:transparent transparent rgba(17,17,17,.9) transparent}.bb-tooltip-container-left .bb-tooltip-container:after{top:50%;left:100%;transform:translateY(-50%);border-width:6px 0 6px 6px;border-color:transparent transparent transparent rgba(17,17,17,.9)}.bb-tooltip-container-right .bb-tooltip-container:after{top:50%;right:100%;transform:translateY(-50%);border-width:6px 6px 6px 0;border-color:transparent rgba(17,17,17,.9) transparent transparent}\n"], dependencies: [{ kind: "directive", type: i1.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TooltipContainerComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
28
|
args: [{ selector: 'bb-tooltip-container', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-tooltip-container' }, preserveWhitespaces: false, template: "<ng-template [bbTemplate]=\"data\">\n {{ data }}\n</ng-template>\n", styles: [".bb-tooltip-container{color:#fff;display:block;font-size:14px;max-width:400px;padding:8px 10px;-webkit-user-select:none;user-select:none;position:relative;border-radius:4px;pointer-events:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background-color:#111111e6}.bb-tooltip-container:after{width:0;height:0;content:\"\";display:block;position:absolute;border-style:solid;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bb-tooltip-container>small{display:block;font-size:12px;margin-top:4px;color:#fff6}.bb-tooltip-container-bottom,.bb-tooltip-container-top,.bb-tooltip-container-left,.bb-tooltip-container-right{pointer-events:none}.bb-tooltip-container-top .bb-tooltip-container:after{left:50%;top:100%;transform:translate(-50%);border-width:6px 6px 0 6px;border-color:rgba(17,17,17,.9) transparent transparent transparent}.bb-tooltip-container-bottom .bb-tooltip-container:after{left:50%;bottom:100%;transform:translate(-50%);border-width:0 6px 6px 6px;border-color:transparent transparent rgba(17,17,17,.9) transparent}.bb-tooltip-container-left .bb-tooltip-container:after{top:50%;left:100%;transform:translateY(-50%);border-width:6px 0 6px 6px;border-color:transparent transparent transparent rgba(17,17,17,.9)}.bb-tooltip-container-right .bb-tooltip-container:after{top:50%;right:100%;transform:translateY(-50%);border-width:6px 6px 6px 0;border-color:transparent rgba(17,17,17,.9) transparent transparent}\n"] }]
|
|
29
29
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -138,10 +138,10 @@ class TooltipDirective {
|
|
|
138
138
|
}
|
|
139
139
|
];
|
|
140
140
|
}
|
|
141
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
142
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
141
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TooltipDirective, deps: [{ token: i1$1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
142
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: TooltipDirective, selector: "[bbTooltip]", inputs: { bbTooltip: "bbTooltip", bbTooltipClass: "bbTooltipClass", bbTooltipOrigin: "bbTooltipOrigin", bbTooltipPositions: "bbTooltipPositions", bbTooltipDisabled: "bbTooltipDisabled" }, host: { listeners: { "mouseenter": "showTooltip()", "focus": "showTooltip()", "mouseleave": "hideTooltip()", "blur": "hideTooltip()" } }, ngImport: i0 }); }
|
|
143
143
|
}
|
|
144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TooltipDirective, decorators: [{
|
|
145
145
|
type: Directive,
|
|
146
146
|
args: [{
|
|
147
147
|
selector: '[bbTooltip]'
|
|
@@ -171,14 +171,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
|
|
|
171
171
|
}] } });
|
|
172
172
|
|
|
173
173
|
class TooltipModule {
|
|
174
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
175
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
174
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
175
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: TooltipModule, declarations: [TooltipContainerComponent,
|
|
176
176
|
TooltipDirective], imports: [UtilsModule,
|
|
177
177
|
OverlayModule], exports: [TooltipDirective] }); }
|
|
178
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
178
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TooltipModule, imports: [UtilsModule,
|
|
179
179
|
OverlayModule] }); }
|
|
180
180
|
}
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TooltipModule, decorators: [{
|
|
182
182
|
type: NgModule,
|
|
183
183
|
args: [{
|
|
184
184
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravobit-bb-foundation-tooltip.mjs","sources":["../../../projects/bb-foundation/tooltip/src/lib/tooltip.interfaces.ts","../../../projects/bb-foundation/tooltip/src/lib/tooltip-container/tooltip-container.component.ts","../../../projects/bb-foundation/tooltip/src/lib/tooltip-container/tooltip-container.component.html","../../../projects/bb-foundation/tooltip/src/lib/tooltip.directive.ts","../../../projects/bb-foundation/tooltip/src/lib/tooltip.module.ts","../../../projects/bb-foundation/tooltip/src/bravobit-bb-foundation-tooltip.ts"],"sourcesContent":["import {InjectionToken, TemplateRef} from '@angular/core';\n\nexport type TooltipData = string | TemplateRef<void>;\n\nexport const TOOLTIP_DATA = new InjectionToken<TooltipData>('Data to display in tooltip');\nexport const TOOLTIP_CLASS = new InjectionToken<string>('Class to display in tooltip');\n","import {ChangeDetectionStrategy, Component, HostBinding, Inject, ViewEncapsulation} from '@angular/core';\nimport {TOOLTIP_CLASS, TOOLTIP_DATA, TooltipData} from '../tooltip.interfaces';\n\n@Component({\n selector: 'bb-tooltip-container',\n templateUrl: './tooltip-container.component.html',\n styleUrls: ['./tooltip-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-tooltip-container'},\n preserveWhitespaces: false\n\n})\nexport class TooltipContainerComponent {\n\n constructor(@Inject(TOOLTIP_DATA) public data: TooltipData,\n @Inject(TOOLTIP_CLASS) public classes: string) {\n }\n\n @HostBinding('class')\n get classBinding() {\n return [this.classes]\n .filter(item => !!item)\n .join(' ');\n }\n\n}\n","<ng-template [bbTemplate]=\"data\">\n {{ data }}\n</ng-template>\n","import {ChangeDetectorRef, Directive, ElementRef, HostListener, Injector, Input, OnDestroy, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {TooltipContainerComponent} from './tooltip-container/tooltip-container.component';\nimport {ConnectedPosition, Overlay, OverlayRef} from '@angular/cdk/overlay';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {TOOLTIP_CLASS, TOOLTIP_DATA} from './tooltip.interfaces';\nimport {ComponentPortal} from '@angular/cdk/portal';\n\n@Directive({\n selector: '[bbTooltip]'\n})\nexport class TooltipDirective implements OnDestroy {\n\n // Inputs.\n @Input() bbTooltip!: string | TemplateRef<void>;\n @Input() bbTooltipClass: string | null = null;\n @Input() bbTooltipOrigin: HTMLElement | null = null;\n @Input() bbTooltipPositions: ConnectedPosition[] = [];\n\n // Disabled.\n @Input()\n get bbTooltipDisabled(): boolean {\n return this._bbTooltipDisabled;\n }\n\n set bbTooltipDisabled(value: BooleanInput) {\n const newValue = coerceBooleanProperty(value);\n if (newValue !== this.bbTooltipDisabled) {\n this._bbTooltipDisabled = newValue;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n private _bbTooltipDisabled: boolean = false;\n\n // State.\n private _overlayRef: OverlayRef | null = null;\n\n constructor(private _overlay: Overlay,\n private _viewContainer: ViewContainerRef,\n private _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef) {\n }\n\n @HostListener('mouseenter')\n @HostListener('focus')\n showTooltip() {\n if (this._overlayRef?.hasAttached() || this.bbTooltipDisabled) {\n return;\n }\n this.attachTooltip();\n }\n\n @HostListener('mouseleave')\n @HostListener('blur')\n hideTooltip() {\n if (!this._overlayRef?.hasAttached()) {\n return;\n }\n this._overlayRef?.detach();\n }\n\n ngOnDestroy() {\n this._overlayRef?.dispose();\n }\n\n private attachTooltip() {\n if (this._overlayRef === null) {\n const positionStrategy = this.getPositionStrategy();\n const scrollStrategy = this._overlay.scrollStrategies.reposition();\n this._overlayRef = this._overlay.create({positionStrategy, scrollStrategy});\n }\n\n const injector = Injector.create({\n providers: [\n {provide: TOOLTIP_DATA, useValue: this.bbTooltip},\n {provide: TOOLTIP_CLASS, useValue: this.bbTooltipClass}\n ]\n });\n const component = new ComponentPortal(TooltipContainerComponent, this._viewContainer, injector);\n this._overlayRef.attach(component);\n }\n\n private getPositionStrategy() {\n const element = this.bbTooltipOrigin ?? this._elementRef;\n const positions = this.getPositions();\n\n return this._overlay\n .position()\n .flexibleConnectedTo(element)\n .withPositions(positions);\n }\n\n private getPositions() {\n if (this.bbTooltipPositions?.length > 0) {\n return this.bbTooltipPositions;\n }\n\n return [\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -10,\n panelClass: 'bb-tooltip-container-top'\n },\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 10,\n panelClass: 'bb-tooltip-container-bottom'\n },\n {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -10,\n panelClass: 'bb-tooltip-container-left'\n },\n {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 10,\n panelClass: 'bb-tooltip-container-right'\n }\n ] satisfies ConnectedPosition[];\n }\n\n static ngAcceptInputType_bbTooltip: string | TemplateRef<void>;\n static ngAcceptInputType_bbTooltipClass: string | null;\n static ngAcceptInputType_bbTooltipOrigin: HTMLElement | null;\n static ngAcceptInputType_bbTooltipDisabled: BooleanInput;\n static ngAcceptInputType_bbTooltipPositions: ConnectedPosition[];\n\n}\n","import {TooltipContainerComponent} from './tooltip-container/tooltip-container.component';\nimport {UtilsModule} from '@bravobit/bb-foundation/utils';\nimport {TooltipDirective} from './tooltip.directive';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n imports: [\n UtilsModule,\n OverlayModule\n ],\n declarations: [\n TooltipContainerComponent,\n TooltipDirective\n ],\n exports: [\n TooltipDirective\n ]\n})\nexport class TooltipModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bravobit-bb-foundation-tooltip.mjs","sources":["../../../projects/bb-foundation/tooltip/src/lib/tooltip.interfaces.ts","../../../projects/bb-foundation/tooltip/src/lib/tooltip-container/tooltip-container.component.ts","../../../projects/bb-foundation/tooltip/src/lib/tooltip-container/tooltip-container.component.html","../../../projects/bb-foundation/tooltip/src/lib/tooltip.directive.ts","../../../projects/bb-foundation/tooltip/src/lib/tooltip.module.ts","../../../projects/bb-foundation/tooltip/src/bravobit-bb-foundation-tooltip.ts"],"sourcesContent":["import {InjectionToken, TemplateRef} from '@angular/core';\n\nexport type TooltipData = string | TemplateRef<void>;\n\nexport const TOOLTIP_DATA = new InjectionToken<TooltipData>('Data to display in tooltip');\nexport const TOOLTIP_CLASS = new InjectionToken<string>('Class to display in tooltip');\n","import {ChangeDetectionStrategy, Component, HostBinding, Inject, ViewEncapsulation} from '@angular/core';\nimport {TOOLTIP_CLASS, TOOLTIP_DATA, TooltipData} from '../tooltip.interfaces';\n\n@Component({\n selector: 'bb-tooltip-container',\n templateUrl: './tooltip-container.component.html',\n styleUrls: ['./tooltip-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-tooltip-container'},\n preserveWhitespaces: false\n\n})\nexport class TooltipContainerComponent {\n\n constructor(@Inject(TOOLTIP_DATA) public data: TooltipData,\n @Inject(TOOLTIP_CLASS) public classes: string) {\n }\n\n @HostBinding('class')\n get classBinding() {\n return [this.classes]\n .filter(item => !!item)\n .join(' ');\n }\n\n}\n","<ng-template [bbTemplate]=\"data\">\n {{ data }}\n</ng-template>\n","import {ChangeDetectorRef, Directive, ElementRef, HostListener, Injector, Input, OnDestroy, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {TooltipContainerComponent} from './tooltip-container/tooltip-container.component';\nimport {ConnectedPosition, Overlay, OverlayRef} from '@angular/cdk/overlay';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {TOOLTIP_CLASS, TOOLTIP_DATA} from './tooltip.interfaces';\nimport {ComponentPortal} from '@angular/cdk/portal';\n\n@Directive({\n selector: '[bbTooltip]'\n})\nexport class TooltipDirective implements OnDestroy {\n\n // Inputs.\n @Input() bbTooltip!: string | TemplateRef<void>;\n @Input() bbTooltipClass: string | null = null;\n @Input() bbTooltipOrigin: HTMLElement | null = null;\n @Input() bbTooltipPositions: ConnectedPosition[] = [];\n\n // Disabled.\n @Input()\n get bbTooltipDisabled(): boolean {\n return this._bbTooltipDisabled;\n }\n\n set bbTooltipDisabled(value: BooleanInput) {\n const newValue = coerceBooleanProperty(value);\n if (newValue !== this.bbTooltipDisabled) {\n this._bbTooltipDisabled = newValue;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n private _bbTooltipDisabled: boolean = false;\n\n // State.\n private _overlayRef: OverlayRef | null = null;\n\n constructor(private _overlay: Overlay,\n private _viewContainer: ViewContainerRef,\n private _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef) {\n }\n\n @HostListener('mouseenter')\n @HostListener('focus')\n showTooltip() {\n if (this._overlayRef?.hasAttached() || this.bbTooltipDisabled) {\n return;\n }\n this.attachTooltip();\n }\n\n @HostListener('mouseleave')\n @HostListener('blur')\n hideTooltip() {\n if (!this._overlayRef?.hasAttached()) {\n return;\n }\n this._overlayRef?.detach();\n }\n\n ngOnDestroy() {\n this._overlayRef?.dispose();\n }\n\n private attachTooltip() {\n if (this._overlayRef === null) {\n const positionStrategy = this.getPositionStrategy();\n const scrollStrategy = this._overlay.scrollStrategies.reposition();\n this._overlayRef = this._overlay.create({positionStrategy, scrollStrategy});\n }\n\n const injector = Injector.create({\n providers: [\n {provide: TOOLTIP_DATA, useValue: this.bbTooltip},\n {provide: TOOLTIP_CLASS, useValue: this.bbTooltipClass}\n ]\n });\n const component = new ComponentPortal(TooltipContainerComponent, this._viewContainer, injector);\n this._overlayRef.attach(component);\n }\n\n private getPositionStrategy() {\n const element = this.bbTooltipOrigin ?? this._elementRef;\n const positions = this.getPositions();\n\n return this._overlay\n .position()\n .flexibleConnectedTo(element)\n .withPositions(positions);\n }\n\n private getPositions() {\n if (this.bbTooltipPositions?.length > 0) {\n return this.bbTooltipPositions;\n }\n\n return [\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -10,\n panelClass: 'bb-tooltip-container-top'\n },\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 10,\n panelClass: 'bb-tooltip-container-bottom'\n },\n {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -10,\n panelClass: 'bb-tooltip-container-left'\n },\n {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 10,\n panelClass: 'bb-tooltip-container-right'\n }\n ] satisfies ConnectedPosition[];\n }\n\n static ngAcceptInputType_bbTooltip: string | TemplateRef<void>;\n static ngAcceptInputType_bbTooltipClass: string | null;\n static ngAcceptInputType_bbTooltipOrigin: HTMLElement | null;\n static ngAcceptInputType_bbTooltipDisabled: BooleanInput;\n static ngAcceptInputType_bbTooltipPositions: ConnectedPosition[];\n\n}\n","import {TooltipContainerComponent} from './tooltip-container/tooltip-container.component';\nimport {UtilsModule} from '@bravobit/bb-foundation/utils';\nimport {TooltipDirective} from './tooltip.directive';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n imports: [\n UtilsModule,\n OverlayModule\n ],\n declarations: [\n TooltipContainerComponent,\n TooltipDirective\n ],\n exports: [\n TooltipDirective\n ]\n})\nexport class TooltipModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -16,10 +16,10 @@ class BbTemplate {
|
|
|
16
16
|
this._templateRef = _templateRef;
|
|
17
17
|
this._viewContainerRef = _viewContainerRef;
|
|
18
18
|
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
20
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbTemplate, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
20
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BbTemplate, selector: "[bbTemplate]", inputs: { bbTemplate: "bbTemplate" }, ngImport: i0 }); }
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbTemplate, decorators: [{
|
|
23
23
|
type: Directive,
|
|
24
24
|
args: [{
|
|
25
25
|
selector: '[bbTemplate]'
|
|
@@ -67,10 +67,10 @@ class BbAutosize {
|
|
|
67
67
|
setHeight(value) {
|
|
68
68
|
this._renderer.setStyle(this.element, 'height', value);
|
|
69
69
|
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
71
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbAutosize, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
71
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BbAutosize, selector: "textarea[bbAutosize]", inputs: { minHeight: "minHeight", maxHeight: "maxHeight", rows: "rows" }, host: { listeners: { "window:resize": "onWindowResize()", "input": "onInputReceived()" }, properties: { "style.min-height": "this.minHeight", "style.max-height": "this.maxHeight", "rows": "this.rows" } }, ngImport: i0 }); }
|
|
72
72
|
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbAutosize, decorators: [{
|
|
74
74
|
type: Directive,
|
|
75
75
|
args: [{
|
|
76
76
|
selector: 'textarea[bbAutosize]'
|
|
@@ -123,10 +123,10 @@ class BbFocus {
|
|
|
123
123
|
// Execute the focus method in a timeout.
|
|
124
124
|
setTimeout(() => this.nativeElement.focus(), 0);
|
|
125
125
|
}
|
|
126
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
127
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
126
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbFocus, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
127
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BbFocus, selector: "[bbFocus]", ngImport: i0 }); }
|
|
128
128
|
}
|
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbFocus, decorators: [{
|
|
130
130
|
type: Directive,
|
|
131
131
|
args: [{
|
|
132
132
|
selector: '[bbFocus]'
|
|
@@ -194,10 +194,10 @@ class BbFocusTrap {
|
|
|
194
194
|
const nodes = this.element.querySelectorAll(this._focusableElements);
|
|
195
195
|
return Array(...nodes);
|
|
196
196
|
}
|
|
197
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
198
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
197
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbFocusTrap, deps: [{ token: i1.Platform }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
198
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BbFocusTrap, selector: "[bbFocusTrap]", host: { listeners: { "keydown": "onKeydown($event)" } }, ngImport: i0 }); }
|
|
199
199
|
}
|
|
200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbFocusTrap, decorators: [{
|
|
201
201
|
type: Directive,
|
|
202
202
|
args: [{
|
|
203
203
|
selector: '[bbFocusTrap]'
|
|
@@ -208,17 +208,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
|
|
|
208
208
|
}] } });
|
|
209
209
|
|
|
210
210
|
class UtilsModule {
|
|
211
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
212
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
211
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
212
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: UtilsModule, declarations: [BbTemplate,
|
|
213
213
|
BbAutosize,
|
|
214
214
|
BbFocus,
|
|
215
215
|
BbFocusTrap], exports: [BbTemplate,
|
|
216
216
|
BbAutosize,
|
|
217
217
|
BbFocus,
|
|
218
218
|
BbFocusTrap] }); }
|
|
219
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
219
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UtilsModule }); }
|
|
220
220
|
}
|
|
221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UtilsModule, decorators: [{
|
|
222
222
|
type: NgModule,
|
|
223
223
|
args: [{
|
|
224
224
|
declarations: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravobit-bb-foundation-utils.mjs","sources":["../../../projects/bb-foundation/utils/src/lib/directives/template.directive.ts","../../../projects/bb-foundation/utils/src/lib/directives/autosize.directive.ts","../../../projects/bb-foundation/utils/src/lib/directives/focus.directive.ts","../../../projects/bb-foundation/utils/src/lib/directives/focus-trap.directive.ts","../../../projects/bb-foundation/utils/src/lib/utils.module.ts","../../../projects/bb-foundation/utils/src/bravobit-bb-foundation-utils.ts"],"sourcesContent":["import {Directive, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[bbTemplate]'\n})\nexport class BbTemplate {\n\n @Input() set bbTemplate(content: string | TemplateRef<any>) {\n // Get the template.\n const template = content instanceof TemplateRef\n ? content\n : this._templateRef;\n\n // Clear the view container ref and create the view.\n this._viewContainerRef.clear();\n this._viewContainerRef.createEmbeddedView(template);\n }\n\n constructor(private _templateRef: TemplateRef<any>,\n private _viewContainerRef: ViewContainerRef) {\n }\n\n\n // Required so that the template type checker can infer the type of the coerced inputs.\n static ngAcceptInputType_bbTemplate: string | TemplateRef<any>;\n\n}\n","import {AfterViewInit, Directive, ElementRef, HostBinding, HostListener, Input, Renderer2} from '@angular/core';\n\n@Directive({\n selector: 'textarea[bbAutosize]'\n})\nexport class BbAutosize implements AfterViewInit {\n\n // Min/max heights for the textarea.\n @Input() @HostBinding('style.min-height') minHeight: string | null = null;\n @Input() @HostBinding('style.max-height') maxHeight: string | null = null;\n @Input() @HostBinding('rows') rows: number = 1;\n\n constructor(private _renderer: Renderer2,\n private _elementRef: ElementRef) {\n }\n\n get element() {\n return this._elementRef?.nativeElement as HTMLTextAreaElement;\n }\n\n ngAfterViewInit() {\n // Update the styles after the DOM has loaded.\n this.updateStyles();\n }\n\n @HostListener('window:resize')\n onWindowResize() {\n // Update the styles when the window is resized.\n this.updateStyles();\n }\n\n @HostListener('input')\n onInputReceived() {\n // Update the styles after the textarea received input.\n this.updateStyles();\n }\n\n private updateStyles() {\n // Validate the element exists.\n if (!this.element) {\n return;\n }\n\n // Calculate border height which is not included in the scroll height.\n const borderHeight = this.element?.offsetHeight - this.element?.clientHeight;\n\n // Reset textarea height to auto that correctly calculate the new height.\n this.setHeight('auto');\n\n // Set new height.\n this.setHeight(`${this.element?.scrollHeight + borderHeight}px`);\n }\n\n private setHeight(value: string) {\n this._renderer.setStyle(this.element, 'height', value);\n }\n\n}\n","import {AfterViewInit, Directive, ElementRef, NgZone} from '@angular/core';\n\n@Directive({\n selector: '[bbFocus]'\n})\nexport class BbFocus implements AfterViewInit {\n\n constructor(private _zone: NgZone,\n private _elementRef: ElementRef) {\n }\n\n private get nativeElement() {\n return this._elementRef.nativeElement;\n }\n\n ngAfterViewInit() {\n // Run the method outside the Angular zone.\n this._zone.runOutsideAngular(() => this.focus());\n }\n\n private focus() {\n // Check if set timeout exists and the user is\n // using the site on desktop devices.\n if (!setTimeout) {\n return;\n }\n\n // Check if the element and the focus method exist, if so focus the element.\n if (!this.nativeElement || !this.nativeElement.focus) {\n return;\n }\n\n // Execute the focus method in a timeout.\n setTimeout(() => this.nativeElement.focus(), 0);\n }\n\n}\n","import {Directive, ElementRef, HostListener} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\n\n@Directive({\n selector: '[bbFocusTrap]'\n})\nexport class BbFocusTrap {\n\n private readonly _focusableElements = [\n 'a[href]',\n 'area[href]',\n 'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n 'select:not([disabled]):not([aria-hidden])',\n 'textarea:not([disabled]):not([aria-hidden])',\n 'button:not([disabled]):not([aria-hidden])',\n 'iframe',\n 'object',\n 'embed',\n '[contenteditable]',\n '[tabindex]:not([tabindex^=\"-\"])'\n ];\n\n constructor(private _platform: Platform,\n private _elementRef: ElementRef) {\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent) {\n // Validate it is a tab event.\n if (!this.isTabEvent(event)) {\n return;\n }\n\n // Trap the focus inside the element.\n return this.trapFocus(event);\n }\n\n trapFocus(event: KeyboardEvent) {\n // Validate that the DOM is available.\n if (!this._platform.isBrowser) {\n return;\n }\n\n // Get all focusable nodes.\n const focusableNodes = this.getFocusableNodes();\n\n // Focus the first available element if the focus\n // is not in the modal.\n if (!this.element.contains(document.activeElement)) {\n return this.focus(focusableNodes[0]);\n }\n\n const focusedItemIndex = focusableNodes.indexOf(document.activeElement);\n\n if (event.shiftKey && focusedItemIndex === 0) {\n this.focus(focusableNodes[focusableNodes.length - 1]);\n return event.preventDefault();\n }\n\n if (!event.shiftKey && focusedItemIndex === focusableNodes.length - 1) {\n this.focus(focusableNodes[0]);\n return event.preventDefault();\n }\n }\n\n private get element() {\n return this._elementRef.nativeElement;\n }\n\n private getFocusableNodes() {\n const nodes = this.element.querySelectorAll(this._focusableElements);\n return Array(...nodes);\n }\n\n private focus = (element: HTMLElement) => {\n return element && element.focus && element.focus();\n };\n\n private isTabEvent = (event: KeyboardEvent) => {\n return event?.key === 'Tab' || event?.keyCode === 9;\n };\n\n}\n","import {BbFocusTrap} from './directives/focus-trap.directive';\nimport {BbTemplate} from './directives/template.directive';\nimport {BbAutosize} from './directives/autosize.directive';\nimport {BbFocus} from './directives/focus.directive';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n declarations: [\n BbTemplate,\n BbAutosize,\n BbFocus,\n BbFocusTrap\n ],\n exports: [\n BbTemplate,\n BbAutosize,\n BbFocus,\n BbFocusTrap\n ]\n})\nexport class UtilsModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bravobit-bb-foundation-utils.mjs","sources":["../../../projects/bb-foundation/utils/src/lib/directives/template.directive.ts","../../../projects/bb-foundation/utils/src/lib/directives/autosize.directive.ts","../../../projects/bb-foundation/utils/src/lib/directives/focus.directive.ts","../../../projects/bb-foundation/utils/src/lib/directives/focus-trap.directive.ts","../../../projects/bb-foundation/utils/src/lib/utils.module.ts","../../../projects/bb-foundation/utils/src/bravobit-bb-foundation-utils.ts"],"sourcesContent":["import {Directive, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[bbTemplate]'\n})\nexport class BbTemplate {\n\n @Input() set bbTemplate(content: string | TemplateRef<any>) {\n // Get the template.\n const template = content instanceof TemplateRef\n ? content\n : this._templateRef;\n\n // Clear the view container ref and create the view.\n this._viewContainerRef.clear();\n this._viewContainerRef.createEmbeddedView(template);\n }\n\n constructor(private _templateRef: TemplateRef<any>,\n private _viewContainerRef: ViewContainerRef) {\n }\n\n\n // Required so that the template type checker can infer the type of the coerced inputs.\n static ngAcceptInputType_bbTemplate: string | TemplateRef<any>;\n\n}\n","import {AfterViewInit, Directive, ElementRef, HostBinding, HostListener, Input, Renderer2} from '@angular/core';\n\n@Directive({\n selector: 'textarea[bbAutosize]'\n})\nexport class BbAutosize implements AfterViewInit {\n\n // Min/max heights for the textarea.\n @Input() @HostBinding('style.min-height') minHeight: string | null = null;\n @Input() @HostBinding('style.max-height') maxHeight: string | null = null;\n @Input() @HostBinding('rows') rows: number = 1;\n\n constructor(private _renderer: Renderer2,\n private _elementRef: ElementRef) {\n }\n\n get element() {\n return this._elementRef?.nativeElement as HTMLTextAreaElement;\n }\n\n ngAfterViewInit() {\n // Update the styles after the DOM has loaded.\n this.updateStyles();\n }\n\n @HostListener('window:resize')\n onWindowResize() {\n // Update the styles when the window is resized.\n this.updateStyles();\n }\n\n @HostListener('input')\n onInputReceived() {\n // Update the styles after the textarea received input.\n this.updateStyles();\n }\n\n private updateStyles() {\n // Validate the element exists.\n if (!this.element) {\n return;\n }\n\n // Calculate border height which is not included in the scroll height.\n const borderHeight = this.element?.offsetHeight - this.element?.clientHeight;\n\n // Reset textarea height to auto that correctly calculate the new height.\n this.setHeight('auto');\n\n // Set new height.\n this.setHeight(`${this.element?.scrollHeight + borderHeight}px`);\n }\n\n private setHeight(value: string) {\n this._renderer.setStyle(this.element, 'height', value);\n }\n\n}\n","import {AfterViewInit, Directive, ElementRef, NgZone} from '@angular/core';\n\n@Directive({\n selector: '[bbFocus]'\n})\nexport class BbFocus implements AfterViewInit {\n\n constructor(private _zone: NgZone,\n private _elementRef: ElementRef) {\n }\n\n private get nativeElement() {\n return this._elementRef.nativeElement;\n }\n\n ngAfterViewInit() {\n // Run the method outside the Angular zone.\n this._zone.runOutsideAngular(() => this.focus());\n }\n\n private focus() {\n // Check if set timeout exists and the user is\n // using the site on desktop devices.\n if (!setTimeout) {\n return;\n }\n\n // Check if the element and the focus method exist, if so focus the element.\n if (!this.nativeElement || !this.nativeElement.focus) {\n return;\n }\n\n // Execute the focus method in a timeout.\n setTimeout(() => this.nativeElement.focus(), 0);\n }\n\n}\n","import {Directive, ElementRef, HostListener} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\n\n@Directive({\n selector: '[bbFocusTrap]'\n})\nexport class BbFocusTrap {\n\n private readonly _focusableElements = [\n 'a[href]',\n 'area[href]',\n 'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n 'select:not([disabled]):not([aria-hidden])',\n 'textarea:not([disabled]):not([aria-hidden])',\n 'button:not([disabled]):not([aria-hidden])',\n 'iframe',\n 'object',\n 'embed',\n '[contenteditable]',\n '[tabindex]:not([tabindex^=\"-\"])'\n ];\n\n constructor(private _platform: Platform,\n private _elementRef: ElementRef) {\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent) {\n // Validate it is a tab event.\n if (!this.isTabEvent(event)) {\n return;\n }\n\n // Trap the focus inside the element.\n return this.trapFocus(event);\n }\n\n trapFocus(event: KeyboardEvent) {\n // Validate that the DOM is available.\n if (!this._platform.isBrowser) {\n return;\n }\n\n // Get all focusable nodes.\n const focusableNodes = this.getFocusableNodes();\n\n // Focus the first available element if the focus\n // is not in the modal.\n if (!this.element.contains(document.activeElement)) {\n return this.focus(focusableNodes[0]);\n }\n\n const focusedItemIndex = focusableNodes.indexOf(document.activeElement);\n\n if (event.shiftKey && focusedItemIndex === 0) {\n this.focus(focusableNodes[focusableNodes.length - 1]);\n return event.preventDefault();\n }\n\n if (!event.shiftKey && focusedItemIndex === focusableNodes.length - 1) {\n this.focus(focusableNodes[0]);\n return event.preventDefault();\n }\n }\n\n private get element() {\n return this._elementRef.nativeElement;\n }\n\n private getFocusableNodes() {\n const nodes = this.element.querySelectorAll(this._focusableElements);\n return Array(...nodes);\n }\n\n private focus = (element: HTMLElement) => {\n return element && element.focus && element.focus();\n };\n\n private isTabEvent = (event: KeyboardEvent) => {\n return event?.key === 'Tab' || event?.keyCode === 9;\n };\n\n}\n","import {BbFocusTrap} from './directives/focus-trap.directive';\nimport {BbTemplate} from './directives/template.directive';\nimport {BbAutosize} from './directives/autosize.directive';\nimport {BbFocus} from './directives/focus.directive';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n declarations: [\n BbTemplate,\n BbAutosize,\n BbFocus,\n BbFocusTrap\n ],\n exports: [\n BbTemplate,\n BbAutosize,\n BbFocus,\n BbFocusTrap\n ]\n})\nexport class UtilsModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -81,10 +81,10 @@ class FileLoader {
|
|
|
81
81
|
const blobFile = new Blob([blob], { type: blob?.type });
|
|
82
82
|
return this.blobToFile(blobFile, name);
|
|
83
83
|
}
|
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
85
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
85
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileLoader, providedIn: 'root' }); }
|
|
86
86
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileLoader, decorators: [{
|
|
88
88
|
type: Injectable,
|
|
89
89
|
args: [{
|
|
90
90
|
providedIn: 'root'
|
|
@@ -240,10 +240,10 @@ class Exif {
|
|
|
240
240
|
image.onload = () => resolve(image);
|
|
241
241
|
});
|
|
242
242
|
}
|
|
243
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
244
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
243
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Exif, deps: [{ token: i1.Platform }, { token: FileLoader }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
244
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Exif, providedIn: 'root' }); }
|
|
245
245
|
}
|
|
246
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
246
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Exif, decorators: [{
|
|
247
247
|
type: Injectable,
|
|
248
248
|
args: [{
|
|
249
249
|
providedIn: 'root'
|
|
@@ -358,10 +358,10 @@ class ImageConverter {
|
|
|
358
358
|
// If the contents is a string convert it to an HTML image element.
|
|
359
359
|
return this.stringToImage(contents);
|
|
360
360
|
}
|
|
361
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
362
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
361
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ImageConverter, deps: [{ token: Exif }, { token: i1.Platform }, { token: FileLoader }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
362
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ImageConverter, providedIn: 'root' }); }
|
|
363
363
|
}
|
|
364
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
364
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ImageConverter, decorators: [{
|
|
365
365
|
type: Injectable,
|
|
366
366
|
args: [{
|
|
367
367
|
providedIn: 'root'
|
|
@@ -426,10 +426,10 @@ class Languages {
|
|
|
426
426
|
.filter(item => !!item)
|
|
427
427
|
.sort((a, b) => b.quality - a.quality);
|
|
428
428
|
}
|
|
429
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
430
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
429
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Languages, deps: [{ token: ACCEPT_LANGUAGE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
430
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Languages, providedIn: 'root' }); }
|
|
431
431
|
}
|
|
432
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
432
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Languages, decorators: [{
|
|
433
433
|
type: Injectable,
|
|
434
434
|
args: [{
|
|
435
435
|
providedIn: 'root'
|
|
@@ -483,10 +483,10 @@ class Network {
|
|
|
483
483
|
// a user is online/offline.
|
|
484
484
|
this._online$ = merge(now$, online$, offline$).pipe(map(value => value), distinctUntilChanged(), shareReplay({ refCount: true, bufferSize: 1 }));
|
|
485
485
|
}
|
|
486
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
487
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
486
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Network, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: NAVIGATOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
487
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Network, providedIn: 'root' }); }
|
|
488
488
|
}
|
|
489
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
489
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Network, decorators: [{
|
|
490
490
|
type: Injectable,
|
|
491
491
|
args: [{
|
|
492
492
|
providedIn: 'root'
|
|
@@ -539,10 +539,10 @@ class Patch {
|
|
|
539
539
|
// Save the subscription so we can destroy it later.
|
|
540
540
|
this._subscription.add(subscription);
|
|
541
541
|
}
|
|
542
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
543
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
542
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Patch, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
543
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Patch, providedIn: 'root' }); }
|
|
544
544
|
}
|
|
545
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
545
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Patch, decorators: [{
|
|
546
546
|
type: Injectable,
|
|
547
547
|
args: [{
|
|
548
548
|
providedIn: 'root'
|
|
@@ -572,10 +572,10 @@ class Clipboard {
|
|
|
572
572
|
beginCopy(text) {
|
|
573
573
|
return new ClipboardCopy(text, this._document);
|
|
574
574
|
}
|
|
575
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
576
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
575
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Clipboard, deps: [{ token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
576
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Clipboard, providedIn: 'root' }); }
|
|
577
577
|
}
|
|
578
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
578
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Clipboard, decorators: [{
|
|
579
579
|
type: Injectable,
|
|
580
580
|
args: [{
|
|
581
581
|
providedIn: 'root'
|