UNPKG

@greg-md/ng-flex-css-layout

Version:

Flex-CSS-Layout is an alternative behaviour of Flex-Layout directives, that will still work with Angular Universal and App Shell.

72 lines (71 loc) 6.65 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ /** * @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 */ /** * Applies CSS prefixes to appropriate style keys. * * Note: `-ms-`, `-moz` and `-webkit-box` are no longer supported. e.g. * { * display: -webkit-flex; NEW - Safari 6.1+. iOS 7.1+, BB10 * display: flex; NEW, Spec - Firefox, Chrome, Opera * // display: -webkit-box; OLD - iOS 6-, Safari 3.1-6, BB7 * // display: -ms-flexbox; TWEENER - IE 10 * // display: -moz-flexbox; OLD - Firefox * } * @param {?} target * @return {?} */ export function applyCssPrefixes(target) { Object.keys(target).forEach(function (key) { var /** @type {?} */ value = target[key] || ''; switch (key) { case 'display': if (value === 'flex') { target['display'] = [ '-webkit-flex', 'flex' ]; } else if (value === 'inline-flex') { target['display'] = [ '-webkit-inline-flex', 'inline-flex' ]; } else { target['display'] = value; } break; case 'align-items': case 'align-self': case 'align-content': case 'flex': case 'flex-basis': case 'flex-flow': case 'flex-grow': case 'flex-shrink': case 'flex-wrap': case 'justify-content': target['-webkit-' + key] = value; break; case 'flex-direction': value = value || 'row'; target['-webkit-flex-direction'] = value; target['flex-direction'] = value; break; case 'order': target['order'] = target['-webkit-' + key] = isNaN(value) ? '0' : value; break; } }); return target; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1wcmVmaXhlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BncmVnLW1kL25nLWZsZXgtY3NzLWxheW91dC8iLCJzb3VyY2VzIjpbImxpYi9hdXRvLXByZWZpeGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsTUFBTSwyQkFBMkIsTUFBTTtJQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLEdBQUc7UUFDN0IscUJBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFOUIsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNaLEtBQUssU0FBUztnQkFDWixFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDckIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHO3dCQUNsQixjQUFjO3dCQUNkLE1BQU07cUJBQ1AsQ0FBQztpQkFDSDtnQkFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUM7b0JBQ25DLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRzt3QkFDbEIscUJBQXFCO3dCQUNyQixhQUFhO3FCQUNkLENBQUM7aUJBQ0g7Z0JBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ04sTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQztpQkFDM0I7Z0JBQ0QsS0FBSyxDQUFDO1lBRVIsS0FBSyxhQUFhLENBQUM7WUFDbkIsS0FBSyxZQUFZLENBQUM7WUFDbEIsS0FBSyxlQUFlLENBQUM7WUFDckIsS0FBSyxNQUFNLENBQUM7WUFDWixLQUFLLFlBQVksQ0FBQztZQUNsQixLQUFLLFdBQVcsQ0FBQztZQUNqQixLQUFLLFdBQVcsQ0FBQztZQUNqQixLQUFLLGFBQWEsQ0FBQztZQUNuQixLQUFLLFdBQVcsQ0FBQztZQUNqQixLQUFLLGlCQUFpQjtnQkFDcEIsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7Z0JBQ2pDLEtBQUssQ0FBQztZQUVSLEtBQUssZ0JBQWdCO2dCQUNuQixLQUFLLEdBQUcsS0FBSyxJQUFJLEtBQUssQ0FBQztnQkFDdkIsTUFBTSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUN6QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxLQUFLLENBQUM7Z0JBQ2pDLEtBQUssQ0FBQztZQUVSLEtBQUssT0FBTztnQkFDVixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUN4RSxLQUFLLENBQUM7U0FDVDtLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxNQUFNLENBQUM7Q0FDZiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEFwcGxpZXMgQ1NTIHByZWZpeGVzIHRvIGFwcHJvcHJpYXRlIHN0eWxlIGtleXMuXG4gKlxuICogTm90ZTogYC1tcy1gLCBgLW1vemAgYW5kIGAtd2Via2l0LWJveGAgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuIGUuZy5cbiAqICAgIHtcbiAqICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OyAgICAgTkVXIC0gU2FmYXJpIDYuMSsuIGlPUyA3LjErLCBCQjEwXG4gKiAgICAgIGRpc3BsYXk6IGZsZXg7ICAgICAgICAgICAgIE5FVywgU3BlYyAtIEZpcmVmb3gsIENocm9tZSwgT3BlcmFcbiAqICAgICAgLy8gZGlzcGxheTogLXdlYmtpdC1ib3g7ICAgT0xEIC0gaU9TIDYtLCBTYWZhcmkgMy4xLTYsIEJCN1xuICogICAgICAvLyBkaXNwbGF5OiAtbXMtZmxleGJveDsgICBUV0VFTkVSIC0gSUUgMTBcbiAqICAgICAgLy8gZGlzcGxheTogLW1vei1mbGV4Ym94OyAgT0xEIC0gRmlyZWZveFxuICogICAgfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlDc3NQcmVmaXhlcyh0YXJnZXQpIHtcbiAgT2JqZWN0LmtleXModGFyZ2V0KS5mb3JFYWNoKGtleSA9PiB7XG4gICAgbGV0IHZhbHVlID0gdGFyZ2V0W2tleV0gfHwgJyc7XG5cbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgY2FzZSAnZGlzcGxheSc6XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJ2ZsZXgnKSB7XG4gICAgICAgICAgdGFyZ2V0WydkaXNwbGF5J10gPSBbXG4gICAgICAgICAgICAnLXdlYmtpdC1mbGV4JyxcbiAgICAgICAgICAgICdmbGV4J1xuICAgICAgICAgIF07XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09ICdpbmxpbmUtZmxleCcpIHtcbiAgICAgICAgICB0YXJnZXRbJ2Rpc3BsYXknXSA9IFtcbiAgICAgICAgICAgICctd2Via2l0LWlubGluZS1mbGV4JyxcbiAgICAgICAgICAgICdpbmxpbmUtZmxleCdcbiAgICAgICAgICBdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldFsnZGlzcGxheSddID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2FsaWduLWl0ZW1zJzpcbiAgICAgIGNhc2UgJ2FsaWduLXNlbGYnOlxuICAgICAgY2FzZSAnYWxpZ24tY29udGVudCc6XG4gICAgICBjYXNlICdmbGV4JzpcbiAgICAgIGNhc2UgJ2ZsZXgtYmFzaXMnOlxuICAgICAgY2FzZSAnZmxleC1mbG93JzpcbiAgICAgIGNhc2UgJ2ZsZXgtZ3Jvdyc6XG4gICAgICBjYXNlICdmbGV4LXNocmluayc6XG4gICAgICBjYXNlICdmbGV4LXdyYXAnOlxuICAgICAgY2FzZSAnanVzdGlmeS1jb250ZW50JzpcbiAgICAgICAgdGFyZ2V0Wyctd2Via2l0LScgKyBrZXldID0gdmFsdWU7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdmbGV4LWRpcmVjdGlvbic6XG4gICAgICAgIHZhbHVlID0gdmFsdWUgfHwgJ3Jvdyc7XG4gICAgICAgIHRhcmdldFsnLXdlYmtpdC1mbGV4LWRpcmVjdGlvbiddID0gdmFsdWU7XG4gICAgICAgIHRhcmdldFsnZmxleC1kaXJlY3Rpb24nXSA9IHZhbHVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnb3JkZXInOlxuICAgICAgICB0YXJnZXRbJ29yZGVyJ10gPSB0YXJnZXRbJy13ZWJraXQtJyArIGtleV0gPSBpc05hTih2YWx1ZSkgPyAnMCcgOiB2YWx1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdGFyZ2V0O1xufVxuIl19