UNPKG

@alyle/ui

Version:

Minimal Design, a set of components for Angular

1 lines 11.6 kB
{"version":3,"file":"alyle-ui-typography.mjs","sources":["../../../lib/typography/typography.directive.ts","../../../lib/typography/typography.module.ts","../../../lib/typography/alyle-ui-typography.ts"],"sourcesContent":["import { Directive, ElementRef, Renderer2, Input, OnInit, OnChanges } from '@angular/core';\nimport {\n LyTheme2,\n ThemeVariables,\n mixinStyleUpdater,\n mixinColor,\n StyleCollection,\n StyleTemplate,\n st2c,\n StyleRenderer } from '@alyle/ui';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nexport interface LyTypographyTheme {\n /** Styles for Typography Component */\n root?: StyleCollection<(() => StyleTemplate)>\n | (() => StyleTemplate);\n lyTyp?: {\n [name: string]: StyleCollection<(() => StyleTemplate)>\n | (() => StyleTemplate) | undefined\n };\n}\n\nexport interface LyTypographyVariables {\n typography?: LyTypographyTheme;\n}\n\nconst STYLE_PRIORITY = -1;\nexport const STYLES = (theme: ThemeVariables & LyTypographyVariables) => {\n return {\n $name: LyTypography.и,\n $priority: STYLE_PRIORITY,\n root: (_className: string) => `${_className}{margin:0;display:block;font-family:${theme.typography.fontFamily};}${st2c((\n (theme.typography\n && theme.typography.root\n && (theme.typography.root instanceof StyleCollection\n ? theme.typography.root.setTransformer(fn => fn()).css\n : theme.typography.root())\n )), `${_className}`)}`,\n gutterTop: (_className: string) => `${_className}{margin-top:0.35em;}`,\n gutterBottom: (_className: string) => `${_className}{margin-bottom:0.35em;}`,\n gutter: (_className: string) => `${_className}{margin:0.35em 0;}`\n };\n};\n\n\n/** @docs-private */\nexport class LyTypographyBase {\n constructor(\n public _theme: LyTheme2\n ) { }\n}\n\n/** @docs-private */\nexport const LyTypographyMixinBase = mixinStyleUpdater(\n mixinColor((LyTypographyBase)));\n\n@Directive({\n selector: `[lyTyp]`,\n inputs: [\n 'color'\n ],\n providers: [\n StyleRenderer\n ],\n standalone: false\n})\nexport class LyTypography extends LyTypographyMixinBase implements OnInit, OnChanges {\n /** @docs-private */\n static readonly и = 'LyTypography';\n /** @docs-private */\n readonly classes = this._theme.renderStyleSheet(STYLES);\n private _lyTyp: string;\n private _lyTypClass: string | null;\n\n private _gutter: boolean;\n\n private _gutterTop: boolean;\n\n private _gutterBottom: boolean;\n private _noWrap: boolean;\n private _noWrapClass?: string;\n\n @Input()\n set lyTyp(val: string) {\n if (val !== this.lyTyp) {\n if (val) {\n this._lyTypClass = this._createTypClass(val, this._lyTypClass);\n } else if (this._lyTypClass) {\n this.renderer.removeClass(this._el.nativeElement, this._lyTypClass);\n this._lyTypClass = null;\n }\n }\n }\n get lyTyp(): string {\n return this._lyTyp;\n }\n\n /** The text will truncate with an ellipsis. */\n @Input()\n set noWrap(val: BooleanInput) {\n const newValue = coerceBooleanProperty(val);\n if (newValue) {\n this._noWrapClass = this._theme.addSimpleStyle('lyTyp.noWrap', {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n });\n this.renderer.addClass(this._el.nativeElement, this._noWrapClass);\n } else if (this._noWrapClass) {\n this.renderer.removeClass(this._el.nativeElement, this._noWrapClass);\n this._noWrapClass = undefined;\n }\n }\n get noWrap(): boolean {\n return this._noWrap;\n }\n\n @Input()\n set gutter(val: BooleanInput) {\n const newVal = coerceBooleanProperty(val);\n if (newVal !== this.gutter) {\n this._gutter = newVal;\n this.sRenderer.toggleClass(this.classes.gutter, newVal);\n }\n }\n get gutter() {\n return this._gutter;\n }\n\n @Input()\n set gutterTop(val: BooleanInput) {\n const newVal = coerceBooleanProperty(val);\n if (newVal !== this.gutterTop) {\n this._gutterTop = newVal;\n this.sRenderer.toggleClass(this.classes.gutterTop, newVal);\n }\n }\n get gutterTop() {\n return this._gutterTop;\n }\n\n @Input()\n set gutterBottom(val: BooleanInput) {\n const newVal = coerceBooleanProperty(val);\n if (newVal !== this.gutterBottom) {\n this._gutterBottom = newVal;\n this.sRenderer.toggleClass(this.classes.gutterBottom, newVal);\n }\n }\n get gutterBottom() {\n return this._gutterBottom;\n }\n\n constructor(\n _theme: LyTheme2,\n private _el: ElementRef,\n private renderer: Renderer2,\n readonly sRenderer: StyleRenderer\n ) {\n super(_theme);\n this.renderer.addClass(this._el.nativeElement, this.classes.root);\n }\n\n ngOnInit() {\n if ((this.gutterTop && this.gutterBottom)) {\n throw new Error(`use '<element lyTyp gutter>' instead of '<element lyTyp gutterTop gutterBottom>'`);\n }\n }\n\n ngOnChanges() {\n this.updateStyle(this._el.nativeElement);\n }\n\n private _createTypClass(val: string, instance: string | null) {\n const newKey = `k-typ:${val}`;\n\n return this.sRenderer.add(newKey,\n (theme: LyTypographyVariables) => {\n if (theme.typography && theme.typography.lyTyp) {\n const lyTyp = theme.typography.lyTyp[val];\n if (lyTyp) {\n return lyTyp instanceof StyleCollection\n ? lyTyp.setTransformer((_) => _()).css\n : lyTyp();\n }\n }\n throw new Error(`Value typography.lyTyp['${val}'] not found in ThemeVariables`);\n },\n STYLE_PRIORITY,\n instance,\n );\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { LyCommonModule } from '@alyle/ui';\n\nimport { LyTypography } from './typography.directive';\n\n@NgModule({\n exports: [LyTypography, LyCommonModule],\n declarations: [LyTypography]\n})\nexport class LyTypographyModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}