ri-flex-layout
Version:
An alternative library to Angular's deprecated [angular-flex-layout](https://github.com/angular/flex-layout) library. `ri-flex-layout` helps you achieve responsive layouts in Angular applications with minimal code changes.
1 lines • 7.68 kB
Source Map (JSON)
{"version":3,"file":"ri-flex-layout-src-lib-_private-utils.mjs","sources":["../../../projects/ri-flex-layout/src/lib/_private-utils/auto-prefixer.ts","../../../projects/ri-flex-layout/src/lib/_private-utils/layout-validator.ts","../../../projects/ri-flex-layout/src/lib/_private-utils/object-extend.ts","../../../projects/ri-flex-layout/src/lib/_private-utils/index.ts","../../../projects/ri-flex-layout/src/lib/_private-utils/ri-flex-layout-src-lib-_private-utils.ts"],"sourcesContent":["/**\n * Method for apply css prefix css\n * @export\n * @param {({[key: string]: any | null})} target \n * @return \n */\nexport function applyCssPrefixes(target: {[key: string]: any | null}) {\n for (let key in target) {\n let value = target[key] ?? '';\n\n switch (key) {\n case 'display':\n if (value === 'flex') {\n target['display'] = [\n '-webkit-flex',\n 'flex'\n ];\n } else if (value === 'inline-flex') {\n target['display'] = [\n '-webkit-inline-flex',\n 'inline-flex'\n ];\n } else {\n target['display'] = value;\n }\n break;\n\n case 'align-items':\n case 'align-self':\n case 'align-content':\n case 'flex':\n case 'flex-basis':\n case 'flex-flow':\n case 'flex-grow':\n case 'flex-shrink':\n case 'flex-wrap':\n case 'justify-content':\n target['-webkit-' + key] = value;\n break;\n\n case 'flex-direction':\n target['-webkit-flex-direction'] = value;\n target['flex-direction'] = value;\n break;\n\n case 'order':\n target['order'] = target['-webkit-' + key] = isNaN(+value) ? '0' : value;\n break;\n }\n }\n return target;\n}\n","\nexport const INLINE = 'inline';\nexport const LAYOUT_VALUES = ['row', 'column', 'row-reverse', 'column-reverse'];\n\n/**\n * Method to validate the direction|'direction wrap' value and then update the host's inline flexbox styles\n */\nexport function buildLayoutCSS(value: string) {\n let [direction, wrap, isInline] = validateValue(value);\n return buildCSS(direction, wrap, isInline);\n}\n\n/**\n * Method to validate the value to be one of the acceptable value options\n * Use default fallback of 'row'\n */\nexport function validateValue(value: string): [string, string, boolean] {\n value = value?.toLowerCase() ?? '';\n let [direction, wrap, inline] = value.split(' ');\n\n // First value must be the `flex-direction`\n if (!LAYOUT_VALUES.find(x => x === direction)) {\n direction = LAYOUT_VALUES[0];\n }\n\n if (wrap === INLINE) {\n wrap = (inline !== INLINE) ? inline : '';\n inline = INLINE;\n }\n\n return [direction, validateWrapValue(wrap), !!inline];\n}\n\n/**\n * Method for Determine if the validated, flex-direction value specifies\n * a horizontal/row flow.\n */\nexport function isFlowHorizontal(value: string): boolean {\n let [flow, ] = validateValue(value);\n return flow.indexOf('row') > -1;\n}\n\n/**\n * Convert layout-wrap='<value>' to expected flex-wrap style\n */\nexport function validateWrapValue(value: string) {\n if (!!value) {\n switch (value.toLowerCase()) {\n case 'reverse':\n case 'wrap-reverse':\n case 'reverse-wrap':\n value = 'wrap-reverse';\n break;\n\n case 'no':\n case 'none':\n case 'nowrap':\n value = 'nowrap';\n break;\n\n // All other values fallback to 'wrap'\n default:\n value = 'wrap';\n break;\n }\n }\n return value;\n}\n\n/**\n * Method for build css based on params.\n * @param {string} direction \n * @param {(string | null)} [wrap=null] \n * @param {boolean} [inline=false] \n * @return \n */\nfunction buildCSS(direction: string, wrap: string | null = null, inline = false): any {\n return {\n display: inline ? 'inline-flex' : 'flex',\n 'box-sizing': 'border-box',\n 'flex-direction': direction,\n 'flex-wrap': wrap || null,\n };\n}\n","/**\n * Method for extend object with other objects.\n * @export\n * @param {*} dest \n * @param {...any[]} sources \n * @return * \n */\nexport function extendObject(dest: any, ...sources: any[]): any {\n if (dest == null) {\n throw TypeError('Cannot convert undefined or null to object');\n }\n\n for (let source of sources) {\n if (source != null) {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n dest[key] = source[key];\n }\n }\n }\n }\n\n return dest;\n}\n","// export * from './public-api.ts';\nexport * from './auto-prefixer';\nexport * from './layout-validator';\nexport * from './object-extend';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}