UNPKG

@angular/flex-layout

Version:
86 lines 11.8 kB
/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import { Directive, Injectable, Inject } from '@angular/core'; import { BaseDirective2, StyleBuilder, LAYOUT_CONFIG, } from '@angular/flex-layout/core'; import { buildLayoutCSS } from '@angular/flex-layout/_private-utils'; import * as i0 from "@angular/core"; import * as i1 from "@angular/flex-layout/core"; export class LayoutStyleBuilder extends StyleBuilder { buildStyles(input, { display }) { const css = buildLayoutCSS(input); return { ...css, display: display === 'none' ? display : css.display, }; } } LayoutStyleBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: LayoutStyleBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); LayoutStyleBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: LayoutStyleBuilder, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: LayoutStyleBuilder, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); const inputs = [ 'fxLayout', 'fxLayout.xs', 'fxLayout.sm', 'fxLayout.md', 'fxLayout.lg', 'fxLayout.xl', 'fxLayout.lt-sm', 'fxLayout.lt-md', 'fxLayout.lt-lg', 'fxLayout.lt-xl', 'fxLayout.gt-xs', 'fxLayout.gt-sm', 'fxLayout.gt-md', 'fxLayout.gt-lg' ]; const selector = ` [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg] `; /** * 'layout' flexbox styling directive * Defines the positioning flow direction for the child elements: row or column * Optional values: column or row (default) * @see https://css-tricks.com/almanac/properties/f/flex-direction/ * */ export class LayoutDirective extends BaseDirective2 { constructor(elRef, styleUtils, styleBuilder, marshal, _config) { super(elRef, styleBuilder, styleUtils, marshal); this._config = _config; this.DIRECTIVE_KEY = 'layout'; this.init(); } updateWithValue(input) { const detectLayoutDisplay = this._config.detectLayoutDisplay; const display = detectLayoutDisplay ? this.styler.lookupStyle(this.nativeElement, 'display') : ''; this.styleCache = cacheMap.get(display) ?? new Map(); cacheMap.set(display, this.styleCache); if (this.currentValue !== input) { this.addStyles(input, { display }); this.currentValue = input; } } } LayoutDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: LayoutDirective, deps: [{ token: i0.ElementRef }, { token: i1.StyleUtils }, { token: LayoutStyleBuilder }, { token: i1.MediaMarshaller }, { token: LAYOUT_CONFIG }], target: i0.ɵɵFactoryTarget.Directive }); LayoutDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: LayoutDirective, usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: LayoutDirective, decorators: [{ type: Directive }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.StyleUtils }, { type: LayoutStyleBuilder }, { type: i1.MediaMarshaller }, { type: undefined, decorators: [{ type: Inject, args: [LAYOUT_CONFIG] }] }]; } }); export class DefaultLayoutDirective extends LayoutDirective { constructor() { super(...arguments); this.inputs = inputs; } } DefaultLayoutDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DefaultLayoutDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); DefaultLayoutDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: DefaultLayoutDirective, selector: "\n [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md],\n [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md],\n [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm],\n [fxLayout.gt-md], [fxLayout.gt-lg]\n", inputs: { fxLayout: "fxLayout", "fxLayout.xs": "fxLayout.xs", "fxLayout.sm": "fxLayout.sm", "fxLayout.md": "fxLayout.md", "fxLayout.lg": "fxLayout.lg", "fxLayout.xl": "fxLayout.xl", "fxLayout.lt-sm": "fxLayout.lt-sm", "fxLayout.lt-md": "fxLayout.lt-md", "fxLayout.lt-lg": "fxLayout.lt-lg", "fxLayout.lt-xl": "fxLayout.lt-xl", "fxLayout.gt-xs": "fxLayout.gt-xs", "fxLayout.gt-sm": "fxLayout.gt-sm", "fxLayout.gt-md": "fxLayout.gt-md", "fxLayout.gt-lg": "fxLayout.gt-lg" }, usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DefaultLayoutDirective, decorators: [{ type: Directive, args: [{ selector, inputs }] }] }); const cacheMap = new Map(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlicy9mbGV4LWxheW91dC9mbGV4L2xheW91dC9sYXlvdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFDLFNBQVMsRUFBeUIsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQ0wsY0FBYyxFQUNkLFlBQVksRUFJWixhQUFhLEdBRWQsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0scUNBQXFDLENBQUM7OztBQU9uRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsWUFBWTtJQUNsRCxXQUFXLENBQUMsS0FBYSxFQUFFLEVBQUMsT0FBTyxFQUFxQjtRQUN0RCxNQUFNLEdBQUcsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsT0FBTztZQUNMLEdBQUcsR0FBRztZQUNOLE9BQU8sRUFBRSxPQUFPLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPO1NBQ3BELENBQUM7SUFDSixDQUFDOzsrR0FQVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUROLE1BQU07MkZBQ2xCLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7O0FBV2hDLE1BQU0sTUFBTSxHQUFHO0lBQ2IsVUFBVSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYTtJQUN2RCxhQUFhLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQjtJQUNoRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDdEUsZ0JBQWdCLEVBQUUsZ0JBQWdCO0NBQ25DLENBQUM7QUFDRixNQUFNLFFBQVEsR0FBRzs7Ozs7Q0FLaEIsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUVILE1BQU0sT0FBTyxlQUFnQixTQUFRLGNBQWM7SUFJakQsWUFBWSxLQUFpQixFQUNqQixVQUFzQixFQUN0QixZQUFnQyxFQUNoQyxPQUF3QixFQUNPLE9BQTRCO1FBQ3JFLEtBQUssQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQURQLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBTnBELGtCQUFhLEdBQUcsUUFBUSxDQUFDO1FBUTFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFa0IsZUFBZSxDQUFDLEtBQWE7UUFDOUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO1FBQzdELE1BQU0sT0FBTyxHQUFHLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbEcsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDckQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZDLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQzs7NEdBdkJVLGVBQWUsb0lBUU4sYUFBYTtnR0FSdEIsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixTQUFTOzswQkFTSyxNQUFNOzJCQUFDLGFBQWE7O0FBbUJuQyxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZUFBZTtJQUQzRDs7UUFFcUIsV0FBTSxHQUFHLE1BQU0sQ0FBQztLQUNwQzs7bUhBRlksc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFEbEMsU0FBUzttQkFBQyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUM7O0FBTTdCLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25DaGFuZ2VzLCBJbmplY3RhYmxlLCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmFzZURpcmVjdGl2ZTIsXG4gIFN0eWxlQnVpbGRlcixcbiAgU3R5bGVEZWZpbml0aW9uLFxuICBTdHlsZVV0aWxzLFxuICBNZWRpYU1hcnNoYWxsZXIsXG4gIExBWU9VVF9DT05GSUcsXG4gIExheW91dENvbmZpZ09wdGlvbnMsXG59IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0L2NvcmUnO1xuXG5pbXBvcnQge2J1aWxkTGF5b3V0Q1NTfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dC9fcHJpdmF0ZS11dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5b3V0U3R5bGVEaXNwbGF5IHtcbiAgcmVhZG9ubHkgZGlzcGxheTogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRTdHlsZUJ1aWxkZXIgZXh0ZW5kcyBTdHlsZUJ1aWxkZXIge1xuICBidWlsZFN0eWxlcyhpbnB1dDogc3RyaW5nLCB7ZGlzcGxheX06IExheW91dFN0eWxlRGlzcGxheSkge1xuICAgIGNvbnN0IGNzcyA9IGJ1aWxkTGF5b3V0Q1NTKGlucHV0KTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uY3NzLFxuICAgICAgZGlzcGxheTogZGlzcGxheSA9PT0gJ25vbmUnID8gZGlzcGxheSA6IGNzcy5kaXNwbGF5LFxuICAgIH07XG4gIH1cbn1cblxuY29uc3QgaW5wdXRzID0gW1xuICAnZnhMYXlvdXQnLCAnZnhMYXlvdXQueHMnLCAnZnhMYXlvdXQuc20nLCAnZnhMYXlvdXQubWQnLFxuICAnZnhMYXlvdXQubGcnLCAnZnhMYXlvdXQueGwnLCAnZnhMYXlvdXQubHQtc20nLCAnZnhMYXlvdXQubHQtbWQnLFxuICAnZnhMYXlvdXQubHQtbGcnLCAnZnhMYXlvdXQubHQteGwnLCAnZnhMYXlvdXQuZ3QteHMnLCAnZnhMYXlvdXQuZ3Qtc20nLFxuICAnZnhMYXlvdXQuZ3QtbWQnLCAnZnhMYXlvdXQuZ3QtbGcnXG5dO1xuY29uc3Qgc2VsZWN0b3IgPSBgXG4gIFtmeExheW91dF0sIFtmeExheW91dC54c10sIFtmeExheW91dC5zbV0sIFtmeExheW91dC5tZF0sXG4gIFtmeExheW91dC5sZ10sIFtmeExheW91dC54bF0sIFtmeExheW91dC5sdC1zbV0sIFtmeExheW91dC5sdC1tZF0sXG4gIFtmeExheW91dC5sdC1sZ10sIFtmeExheW91dC5sdC14bF0sIFtmeExheW91dC5ndC14c10sIFtmeExheW91dC5ndC1zbV0sXG4gIFtmeExheW91dC5ndC1tZF0sIFtmeExheW91dC5ndC1sZ11cbmA7XG5cbi8qKlxuICogJ2xheW91dCcgZmxleGJveCBzdHlsaW5nIGRpcmVjdGl2ZVxuICogRGVmaW5lcyB0aGUgcG9zaXRpb25pbmcgZmxvdyBkaXJlY3Rpb24gZm9yIHRoZSBjaGlsZCBlbGVtZW50czogcm93IG9yIGNvbHVtblxuICogT3B0aW9uYWwgdmFsdWVzOiBjb2x1bW4gb3Igcm93IChkZWZhdWx0KVxuICogQHNlZSBodHRwczovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvcHJvcGVydGllcy9mL2ZsZXgtZGlyZWN0aW9uL1xuICpcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgTGF5b3V0RGlyZWN0aXZlIGV4dGVuZHMgQmFzZURpcmVjdGl2ZTIgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBESVJFQ1RJVkVfS0VZID0gJ2xheW91dCc7XG5cbiAgY29uc3RydWN0b3IoZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgIHN0eWxlVXRpbHM6IFN0eWxlVXRpbHMsXG4gICAgICAgICAgICAgIHN0eWxlQnVpbGRlcjogTGF5b3V0U3R5bGVCdWlsZGVyLFxuICAgICAgICAgICAgICBtYXJzaGFsOiBNZWRpYU1hcnNoYWxsZXIsXG4gICAgICAgICAgICAgIEBJbmplY3QoTEFZT1VUX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBMYXlvdXRDb25maWdPcHRpb25zKSB7XG4gICAgc3VwZXIoZWxSZWYsIHN0eWxlQnVpbGRlciwgc3R5bGVVdGlscywgbWFyc2hhbCk7XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlV2l0aFZhbHVlKGlucHV0OiBzdHJpbmcpIHtcbiAgICBjb25zdCBkZXRlY3RMYXlvdXREaXNwbGF5ID0gdGhpcy5fY29uZmlnLmRldGVjdExheW91dERpc3BsYXk7XG4gICAgY29uc3QgZGlzcGxheSA9IGRldGVjdExheW91dERpc3BsYXkgPyB0aGlzLnN0eWxlci5sb29rdXBTdHlsZSh0aGlzLm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JykgOiAnJztcbiAgICB0aGlzLnN0eWxlQ2FjaGUgPSBjYWNoZU1hcC5nZXQoZGlzcGxheSkgPz8gbmV3IE1hcCgpO1xuICAgIGNhY2hlTWFwLnNldChkaXNwbGF5LCB0aGlzLnN0eWxlQ2FjaGUpO1xuXG4gICAgaWYgKHRoaXMuY3VycmVudFZhbHVlICE9PSBpbnB1dCkge1xuICAgICAgdGhpcy5hZGRTdHlsZXMoaW5wdXQsIHtkaXNwbGF5fSk7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IGlucHV0O1xuICAgIH1cbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtzZWxlY3RvciwgaW5wdXRzfSlcbmV4cG9ydCBjbGFzcyBEZWZhdWx0TGF5b3V0RGlyZWN0aXZlIGV4dGVuZHMgTGF5b3V0RGlyZWN0aXZlIHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlucHV0cyA9IGlucHV0cztcbn1cblxudHlwZSBDYWNoZU1hcCA9IE1hcDxzdHJpbmcsIFN0eWxlRGVmaW5pdGlvbj47XG5jb25zdCBjYWNoZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBDYWNoZU1hcD4oKTtcbiJdfQ==