UNPKG

@alyle/ui

Version:

Minimal Design, a set of components for Angular

1 lines 20.9 kB
{"version":3,"file":"alyle-ui-list.mjs","sources":["../../../lib/list/list.ts","../../../lib/list/list-item.html","../../../lib/list/list.module.ts","../../../lib/list/alyle-ui-list.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n Input,\n NgZone,\n OnInit,\n Renderer2,\n Component,\n ViewChild,\n forwardRef,\n QueryList,\n ContentChildren,\n ContentChild,\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n OnDestroy\n } from '@angular/core';\nimport {\n LY_COMMON_STYLES,\n LyFocusState,\n LyRippleService,\n LyTheme2,\n mixinBg,\n mixinColor,\n mixinDisabled,\n mixinDisableRipple,\n mixinElevation,\n mixinOutlined,\n mixinRaised,\n mixinShadowColor,\n mixinStyleUpdater,\n ThemeVariables,\n StyleCollection,\n LyClasses,\n StyleTemplate,\n st2c,\n ThemeRef } from '@alyle/ui';\nimport { LyAvatar } from '@alyle/ui/avatar';\nimport { Platform } from '@angular/cdk/platform';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nexport interface LyListTheme {\n /** Styles for List Component */\n root?: StyleCollection<((classes: LyClasses<typeof STYLES>) => StyleTemplate)>\n | ((classes: LyClasses<typeof STYLES>) => StyleTemplate);\n}\n\nexport interface LyListVariables {\n list?: LyListTheme;\n}\n\nconst STYLE_PRIORITY = 2;\nconst DISABLE_PADDING = false;\nexport const STYLES = (theme: ThemeVariables & LyListVariables, ref: ThemeRef) => {\n const list = ref.selectorsOf(STYLES);\n const { before} = theme;\n return {\n $name: LyList.и,\n $priority: STYLE_PRIORITY,\n root: ( ) => (_className: string) => `${_className}{display:block;position:relative;padding-top:8px;padding-bottom:8px;}${st2c((\n (theme.list\n && theme.list.root\n && (theme.list.root instanceof StyleCollection\n ? theme.list.root.setTransformer(fn => fn(list))\n : theme.list.root(list))\n )), `${_className}`)}`,\n listItem: ( ) => (_className: string) => `${st2c((LY_COMMON_STYLES.button), `${_className}`)}${_className}{font-family:${theme.typography.fontFamily};font-size:${theme.pxToRem(16)};color:${theme.text.default};display:flex;width:100%;position:relative;padding:0 16px;min-height:48px;overflow:hidden;text-align:left;align-items:flex-start;justify-content:flex-start;border-radius:0;}${_className}::after{content:'';}${st2c((LY_COMMON_STYLES.fill), `${_className}::after`)}${_className}::after{width:100%;height:100%;background:transparent;opacity:0;pointer-events:none;}${_className}${list.onFocusByKeyboard}::after,${_className}${list.actionListItem}:hover::after{background:currentColor;opacity:.13;border-radius:inherit;}`,\n onFocusByKeyboard: null,\n listItemContent: (_className: string) => `${_className}{display:flex;justify-content:inherit;align-items:inherit;align-content:inherit;font-size:inherit;width:100%;height:100%;box-sizing:border-box;}`,\n oneLine: (_className: string) => `${_className}{padding-top:8px;padding-bottom:8px;min-height:48px;}`,\n twoLine: ( ) => (_className: string) => `${_className}{padding-top:16px;padding-bottom:16px;min-height:64px;}${_className} ${list.lines}{margin-bottom:-4px;}`,\n actionListItem: (_className: string) => `${_className}{cursor:pointer;user-select:none;}`,\n lines: (_className: string) => `${_className}{align-self:stretch;min-width:0;width:100%;justify-content:center;flex-direction:column;display:flex;}`,\n listItemWithIcon: ( ) => (_className: string) => `${_className} ${list.lines}{padding-${before}:16px;}`,\n twoLineWithIcon: ( ) => (_className: string) => `${_className}{padding-top:16px;padding-bottom:16px;}${_className} ${list.lines}{margin-bottom:-4px;}`\n };\n};\n\n/** List container */\n@Directive({\n selector: 'ly-list',\n exportAs: 'lyList',\n host: {\n '[className]': 'classes.root'\n },\n standalone: false\n})\nexport class LyList {\n static readonly и = 'LyList';\n /** @docs-private */\n readonly classes = this.theme.addStyleSheet(STYLES);\n constructor(\n private theme: LyTheme2\n ) { }\n}\n\n/** @docs-private */\nexport class LyListItemBase {\n constructor(\n public _theme: LyTheme2,\n public _ngZone: NgZone,\n public _platform: Platform\n ) { }\n}\n\n/** @docs-private */\nexport const LyListItemMixinBase = mixinStyleUpdater(\nmixinBg(\n mixinColor(\n mixinRaised(\n mixinDisabled(\n mixinOutlined(\n mixinElevation(\n mixinShadowColor(\n mixinDisableRipple(LyListItemBase)))))))));\n\n/** List Item */\n@Component({\n selector: 'ly-list-item, a[ly-list-item], button[ly-list-item]',\n templateUrl: './list-item.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: [\n 'bg',\n 'color',\n 'raised',\n 'disabled',\n 'outlined',\n 'elevation',\n 'shadowColor',\n 'disableRipple'\n ],\n exportAs: 'lyListItem',\n standalone: false\n})\nexport class LyListItem extends LyListItemMixinBase implements OnInit, AfterContentInit, OnDestroy {\n /** @docs-private */\n readonly classes = this._list.classes;\n readonly _isBrowser = this._platform.isBrowser;\n private _isActionListItem: boolean;\n private _onFocusByKeyboardState: boolean;\n\n @ViewChild('rippleContainer') _rippleContainer: ElementRef;\n @ContentChildren(forwardRef(() => LyLine)) _lines: QueryList<LyLine>;\n @ContentChild(forwardRef(() => LyListIcon)) _icon: LyListIcon & { };\n @ContentChild(LyAvatar) _avatar: LyAvatar;\n get _listItemClasses() {\n const { listItemContent, twoLine, oneLine, listItemWithIcon, twoLineWithIcon } = this.classes;\n const classes = [listItemContent];\n const hasIcon = this._icon || this._avatar;\n if (hasIcon) {\n classes.push(listItemWithIcon);\n }\n if (this._lines && this._lines.length) {\n if (hasIcon && this._lines.length > 1) {\n classes.push(twoLineWithIcon);\n } else {\n classes.push(this._lines.length > 1 ? twoLine : oneLine);\n }\n }\n return classes;\n }\n /** @docs-private */\n @Input('ly-list-item')\n set isActionListItem(val: BooleanInput) {\n this._isActionListItem = coerceBooleanProperty(val);\n }\n get isActionListItem(): boolean {\n return this._isActionListItem;\n }\n constructor(\n private _el: ElementRef,\n private _renderer: Renderer2,\n theme: LyTheme2,\n ngZone: NgZone,\n public _rippleService: LyRippleService,\n private _focusState: LyFocusState,\n private _list: LyList,\n private _cd: ChangeDetectorRef,\n _platform: Platform\n ) {\n super(theme, ngZone, _platform);\n this.setAutoContrast();\n this._triggerElement = _el;\n }\n\n ngOnInit() {\n this._renderer.addClass(this._el.nativeElement, this._list.classes.listItem);\n if (this.disableRipple == null) {\n if (this.isActionListItem) {\n this._renderer.addClass(this._el.nativeElement, this.classes.actionListItem);\n this.disableRipple = false;\n const focusState = this._focusState.listen(this._el);\n if (focusState) {\n focusState.subscribe((event) => {\n if (this._onFocusByKeyboardState === true) {\n this._renderer.removeClass(this._el.nativeElement, this.classes.onFocusByKeyboard);\n this._onFocusByKeyboardState = false;\n }\n if (event === 'keyboard') {\n this._onFocusByKeyboardState = true;\n this._renderer.addClass(this._el.nativeElement, this.classes.onFocusByKeyboard);\n }\n });\n }\n }\n }\n }\n\n ngAfterContentInit() {\n this._lines.changes.subscribe(() => this._cd.markForCheck());\n }\n\n ngOnDestroy() {\n this._focusState.unlisten(this._el);\n }\n}\n\n@Directive({\n selector: '[ly-list-icon]',\n standalone: false\n})\nexport class LyListIcon implements OnInit {\n private _disablePadding: boolean;\n private _disablePaddingClass: string;\n\n /** Disable extra padding */\n @Input()\n set disablePadding(val: BooleanInput) {\n const newVal = this._disablePadding = coerceBooleanProperty(val);\n this._disablePaddingClass = this._theme.addStyle(`lyIconPadding:${newVal.toString()}`, () => (\n {\n paddingTop: newVal ? '4px' : '8px',\n paddingBottom: newVal ? '4px' : '8px'\n }\n ));\n this._renderer.addClass(this._el.nativeElement, this._disablePaddingClass);\n }\n get disablePadding(): boolean {\n return this._disablePadding;\n }\n constructor(\n private _theme: LyTheme2,\n private _el: ElementRef,\n private _renderer: Renderer2,\n ) {\n this._renderer.addClass(\n this._el.nativeElement,\n this._theme.addSimpleStyle(\n 'lyListIcon',\n (theme: ThemeVariables) => ({\n color: theme.text.secondary,\n paddingAfter: '16px'\n }),\n STYLE_PRIORITY\n )\n );\n }\n\n ngOnInit() {\n if (this.disablePadding == null) {\n this.disablePadding = DISABLE_PADDING;\n }\n }\n}\n\n@Directive({\n selector: '[ly-line]',\n standalone: false\n})\nexport class LyLine {\n constructor(\n private _theme: LyTheme2,\n private _el: ElementRef,\n private _renderer: Renderer2,\n ) {\n this._renderer.addClass(\n this._el.nativeElement,\n this._theme.addSimpleStyle(\n 'lyLine',\n (theme: ThemeVariables) => ({\n margin: 0,\n padding: 0,\n fontWeight: 400,\n textAlign: 'initial',\n '&:first-child': {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n lineHeight: 1,\n fontSize: theme.pxToRem(16)\n },\n '&:nth-child(n+2)': {\n lineHeight: '20px',\n fontSize: theme.pxToRem(14)\n }\n }),\n STYLE_PRIORITY\n )\n );\n }\n}\n","<span [ngClass]=\"_listItemClasses\">\n <ng-content></ng-content>\n <div *ngIf=\"_lines?.length\" [className]=\"classes.lines\">\n <ng-content select=\"[ly-line]\"></ng-content>\n </div>\n</span>\n<div *ngIf=\"_isBrowser\" #rippleContainer [className]=\"_rippleService.classes.container\"></div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LyCommonModule } from '@alyle/ui';\n\nimport { LyList, LyListItem, LyListIcon, LyLine } from './list';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [LyList, LyListItem, LyListIcon, LyLine],\n exports: [LyCommonModule, LyList, LyListItem, LyListIcon, LyLine]\n})\nexport class LyListModule {\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}