@alyle/ui
Version:
Minimal Design, a set of components for Angular
1 lines • 41.6 kB
Source Map (JSON)
{"version":3,"file":"alyle-ui-table.mjs","sources":["../../../lib/table/styles.ts","../../../lib/table/table.ts","../../../lib/table/cell.ts","../../../lib/table/row.ts","../../../lib/table/text-column.ts","../../../lib/table/table.module.ts","../../../lib/table/alyle-ui-table.ts"],"sourcesContent":["import {\n st2c,\n ThemeVariables,\n ThemeRef,\n StyleCollection,\n LyClasses,\n StyleTemplate } from '@alyle/ui';\n\nexport interface LyTableTheme {\n /** Styles for Button Component */\n root?: StyleCollection<((classes: LyClasses<typeof STYLES>) => StyleTemplate)>\n | ((classes: LyClasses<typeof STYLES>) => StyleTemplate);\n}\n\nexport interface LyTableVariables {\n table?: LyTableTheme;\n}\n\nexport const STYLES = (theme: ThemeVariables & LyTableVariables, ref: ThemeRef) => {\n const { before, after } = theme;\n const __ = ref.selectorsOf(STYLES);\n return {\n $name: `LyTable`,\n $global: () => (_className: string) => `${_className} ${__.root} thead,${_className} ${__.root} tbody,${_className} ${__.root} tfoot,${_className} ${__.headerRow},${_className} ${__.row},${_className} ${__.footerRow},${_className} [ly-header-row],${_className} [ly-row],${_className} [ly-footer-row],${_className} ${__.sticky}{background:inherit;}${_className} th${__.headerCell}:first-of-type,${_className} td${__.cell}:first-of-type,${_className} td${__.footerCell}:first-of-type{padding-${before}:24px;}${_className} th${__.headerCell}:last-of-type,${_className} td${__.cell}:last-of-type,${_className} td${__.footerCell}:last-of-type{padding-${after}:24px;}${_className} th${__.headerCell},${_className} td${__.cell},${_className} td${__.footerCell}{padding:0;border-bottom-width:1px;border-bottom-style:solid;}${_className} th${__.headerCell}{text-align:${before};}${_className} tr${__.row},${_className} tr${__.footerRow}{height:48px;}${_className} ${__.row},${_className} ${__.headerRow},${_className} ${__.footerRow},${_className} th${__.headerCell},${_className} td${__.cell},${_className} td${__.footerCell}{border-bottom-color:${theme.divider};}${_className} ${__.cell},${_className} ${__.footerCell}{color:${theme.text.primary};font-size:14px;}${_className} ly-table{display:block;}${_className} ly-header-row{min-height:56px;}${_className} ly-row,${_className} ly-footer-row{min-height:48px;}${_className} ly-row,${_className} ly-header-row,${_className} ly-footer-row{display:flex;border-width:0;border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box;}${_className} ly-cell:first-of-type,${_className} ly-header-cell:first-of-type,${_className} ly-footer-cell:first-of-type{padding-${before}:24px;}${_className} ly-cell:last-of-type,${_className} ly-header-cell:last-of-type,${_className} ly-footer-cell:last-of-type{padding-${after}:24px;}${_className} ly-cell,${_className} ly-header-cell,${_className} ly-footer-cell{flex:1;display:flex;align-items:center;overflow:hidden;word-wrap:break-word;min-height:inherit;}`,\n root: () => (_className: string) => `${_className}{font-family:Roboto,Helvetica Neue,sans-serif;background:${theme.paper.default};}table${_className}{border-spacing:0;}${st2c((\n (theme.table\n && theme.table.root\n && (theme.table.root instanceof StyleCollection\n ? theme.table.root.setTransformer(fn => fn(__)).css\n : theme.table.root(__))\n )), `${_className}`)}`,\n column: null,\n headerCell: (_className: string) => `${_className}{color:${theme.text.secondary};font-size:12px;font-weight:500;}`,\n footerCell: null,\n cell: null,\n row: null,\n headerRow: (_className: string) => `tr${_className}{height:56px;}`,\n footerRow: null,\n sticky: (_className: string) => `${_className}{position:sticky !important;}`,\n noDataRow: null,\n fixedLayout: (_className: string) => `${_className}{table-layout:fixed;}`\n };\n};\n","import {\n CDK_TABLE_TEMPLATE,\n CdkTable,\n CDK_TABLE,\n _CoalescedStyleScheduler,\n _COALESCED_STYLE_SCHEDULER,\n STICKY_POSITIONING_LISTENER,\n RenderRow,\n RowContext,\n StickyPositioningListener,\n} from '@angular/cdk/table';\nimport {\n Attribute,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n Inject,\n Input,\n IterableDiffers,\n NgZone,\n Optional,\n SkipSelf,\n ViewEncapsulation} from '@angular/core';\nimport {\n _DisposeViewRepeaterStrategy,\n _RecycleViewRepeaterStrategy,\n _ViewRepeater,\n _VIEW_REPEATER_STRATEGY,\n} from '@angular/cdk/collections';\nimport { StyleRenderer } from '@alyle/ui';\nimport { DOCUMENT } from '@angular/common';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport { STYLES as TABLE_STYLES } from './styles';\n\n\n\n/**\n * Enables the recycle view repeater strategy, which reduces rendering latency. Not compatible with\n * tables that animate rows.\n */\n@Directive({\n selector: 'ly-table[recycleRows], table[ly-table][recycleRows]',\n providers: [{provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy}],\n standalone: false\n})\nexport class LyRecycleRows {}\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n selector: 'ly-table, table[ly-table]',\n exportAs: 'lyTable',\n template: CDK_TABLE_TEMPLATE,\n providers: [\n StyleRenderer,\n {provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy},\n {provide: CdkTable, useExisting: LyTable},\n {provide: CDK_TABLE, useExisting: LyTable},\n {provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler},\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n {provide: STICKY_POSITIONING_LISTENER, useValue: null},\n ],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n standalone: false\n})\nexport class LyTable<T> extends CdkTable<T> {\n readonly classes = this.sRenderer.renderSheet(TABLE_STYLES, 'root');\n\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n protected override stickyCssClass = this.classes.sticky;\n\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\n protected override needsPositionStickyOnElement = false;\n\n /**\n * Whether to use a fixed table layout. Enabling this option will enforce consistent column widths\n * and optimize rendering sticky styles for native tables. No-op for flex tables.\n */\n @Input({transform: booleanAttribute})\n override get fixedLayout(): boolean {\n return super.fixedLayout;\n }\n override set fixedLayout(v: boolean) {\n super.fixedLayout = v;\n const newVal = super.fixedLayout;\n this.sRenderer.toggleClass(this.classes.fixedLayout, newVal);\n }\n\n constructor(\n _differs: IterableDiffers,\n _changeDetectorRef: ChangeDetectorRef,\n _elementRef: ElementRef,\n @Attribute('role') role: string,\n @Optional() _dir: Directionality,\n @Inject(DOCUMENT) _document: any,\n _platform: Platform,\n @Inject(_VIEW_REPEATER_STRATEGY)\n _viewRepeater: _ViewRepeater<T, RenderRow<T>, RowContext<T>>,\n @Inject(_COALESCED_STYLE_SCHEDULER)\n _coalescedStyleScheduler: _CoalescedStyleScheduler,\n _viewportRuler: ViewportRuler,\n @Optional()\n @SkipSelf()\n @Inject(STICKY_POSITIONING_LISTENER)\n _stickyPositioningListener: StickyPositioningListener,\n @Optional()\n _ngZone: NgZone,\n readonly sRenderer: StyleRenderer\n ) {\n super(\n _differs,\n _changeDetectorRef,\n _elementRef,\n role,\n _dir,\n _document,\n _platform,\n _viewRepeater,\n _coalescedStyleScheduler,\n _viewportRuler,\n _stickyPositioningListener,\n _ngZone\n );\n }\n\n}\n","import {Directive, ElementRef, Input} from '@angular/core';\nimport {\n CdkCell,\n CdkCellDef,\n CdkColumnDef,\n CdkFooterCell,\n CdkFooterCellDef,\n CdkHeaderCell,\n CdkHeaderCellDef,\n} from '@angular/cdk/table';\nimport { ck, StyleRenderer } from '@alyle/ui';\nimport { STYLES as TABLE_STYLES } from './styles';\n\n/**\n * Cell definition for the ly-table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\n@Directive({\n selector: '[lyCellDef]',\n providers: [{provide: CdkCellDef, useExisting: LyCellDef}],\n standalone: false\n})\nexport class LyCellDef extends CdkCellDef {}\n\n/**\n * Header cell definition for the ly-table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[lyHeaderCellDef]',\n providers: [{provide: CdkHeaderCellDef, useExisting: LyHeaderCellDef}],\n standalone: false\n})\nexport class LyHeaderCellDef extends CdkHeaderCellDef {}\n\n/**\n * Footer cell definition for the ly-table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[lyFooterCellDef]',\n providers: [{provide: CdkFooterCellDef, useExisting: LyFooterCellDef}],\n standalone: false\n})\nexport class LyFooterCellDef extends CdkFooterCellDef {}\n\n/**\n * Column definition for the ly-table.\n * Defines a set of cells available for a table column.\n */\n@Directive({\n selector: '[lyColumnDef]',\n providers: [\n {provide: CdkColumnDef, useExisting: LyColumnDef},\n {provide: 'LY_SORT_HEADER_COLUMN_DEF', useExisting: LyColumnDef},\n ],\n standalone: false\n})\nexport class LyColumnDef extends CdkColumnDef {\n /** Unique name for this column. */\n @Input('lyColumnDef')\n override get name(): string {\n return this._name;\n }\n override set name(name: string) {\n this._setNameInput(name);\n }\n\n /**\n * Add \"ly-column-\" prefix in addition to \"cdk-column-\" prefix.\n * In the future, this will only add \"ly-column-\" and columnCssClassName\n * will change from type string[] to string.\n * @docs-private\n */\n protected override _updateColumnCssClassName() {\n super._updateColumnCssClassName();\n if (this._table) {\n this._columnCssClassName!.push(`${this._table.classes.column}-${this.cssClassFriendlyName}`);\n }\n this._columnCssClassName!.push(ck(`ly-column-${this.cssClassFriendlyName}`));\n }\n\n}\n\n/** Header cell template container that adds the right classes and role. */\n@Directive({\n selector: 'ly-header-cell, th[ly-header-cell]',\n host: {\n 'role': 'columnheader',\n },\n providers: [\n StyleRenderer\n ],\n standalone: false\n})\nexport class LyHeaderCell extends CdkHeaderCell {\n readonly classes = this.sRenderer.renderSheet(TABLE_STYLES, 'headerCell');\n constructor(\n columnDef: CdkColumnDef, elementRef: ElementRef,\n readonly sRenderer: StyleRenderer\n ) {\n super(columnDef, elementRef);\n }\n}\n\n/** Footer cell template container that adds the right classes and role. */\n@Directive({\n selector: 'ly-footer-cell, td[ly-footer-cell]',\n host: {\n 'role': 'gridcell',\n },\n providers: [\n StyleRenderer\n ],\n standalone: false\n})\nexport class LyFooterCell extends CdkFooterCell {\n readonly classes = this.sRenderer.renderSheet(TABLE_STYLES, 'footerCell');\n constructor(\n columnDef: CdkColumnDef, elementRef: ElementRef,\n readonly sRenderer: StyleRenderer\n ) {\n super(columnDef, elementRef);\n }\n}\n\n/** Cell template container that adds the right classes and role. */\n@Directive({\n selector: 'ly-cell, td[ly-cell]',\n host: {\n 'role': 'gridcell',\n },\n providers: [\n StyleRenderer\n ],\n standalone: false\n})\nexport class LyCell extends CdkCell {\n readonly classes = this.sRenderer.renderSheet(TABLE_STYLES, 'cell');\n constructor(\n columnDef: CdkColumnDef, elementRef: ElementRef,\n readonly sRenderer: StyleRenderer\n ) {\n super(columnDef, elementRef);\n }\n}\n","import {\n CDK_ROW_TEMPLATE,\n CdkFooterRow,\n CdkFooterRowDef,\n CdkHeaderRow,\n CdkHeaderRowDef,\n CdkRow,\n CdkRowDef,\n CdkNoDataRow,\n} from '@angular/cdk/table';\nimport {ChangeDetectionStrategy, Component, Directive, TemplateRef, ViewEncapsulation} from '@angular/core';\nimport { StyleRenderer } from '@alyle/ui';\nimport { STYLES as TABLE_STYLES } from './styles';\n\n/**\n * Header row definition for the ly-table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\n@Directive({\n selector: '[lyHeaderRowDef]',\n providers: [{provide: CdkHeaderRowDef, useExisting: LyHeaderRowDef}],\n inputs: ['columns: lyHeaderRowDef', 'sticky: lyHeaderRowDefSticky'],\n standalone: false\n})\nexport class LyHeaderRowDef extends CdkHeaderRowDef {}\n\n/**\n * Footer row definition for the ly-table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\n@Directive({\n selector: '[lyFooterRowDef]',\n providers: [{provide: CdkFooterRowDef, useExisting: LyFooterRowDef}],\n inputs: ['columns: lyFooterRowDef', 'sticky: lyFooterRowDefSticky'],\n standalone: false\n})\nexport class LyFooterRowDef extends CdkFooterRowDef {}\n\n/**\n * Data row definition for the ly-table.\n * Captures the data row's template and other properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\n@Directive({\n selector: '[lyRowDef]',\n providers: [{provide: CdkRowDef, useExisting: LyRowDef}],\n inputs: ['columns: lyRowDefColumns', 'when: lyRowDefWhen'],\n standalone: false\n})\nexport class LyRowDef<T> extends CdkRowDef<T> {}\n\n/** Header template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'ly-header-row, tr[ly-header-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'role': 'row',\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'lyHeaderRow',\n providers: [\n {provide: CdkHeaderRow, useExisting: LyHeaderRow},\n StyleRenderer\n ],\n standalone: false\n})\nexport class LyHeaderRow extends CdkHeaderRow {\n readonly classes = this.sRenderer.renderSheet(TABLE_STYLES, 'headerRow');\n constructor(\n readonly sRenderer: StyleRenderer\n ) {\n super();\n }\n}\n\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'ly-footer-row, tr[ly-footer-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'role': 'row',\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'lyFooterRow',\n providers: [\n {provide: CdkFooterRow, useExisting: LyFooterRow},\n StyleRenderer\n ],\n standalone: false\n})\nexport class LyFooterRow extends CdkFooterRow {\n readonly classes = this.sRenderer.renderSheet(TABLE_STYLES, 'footerRow');\n constructor(\n readonly sRenderer: StyleRenderer\n ) {\n super();\n }\n}\n\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'ly-row, tr[ly-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'role': 'row',\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'lyRow',\n providers: [\n {provide: CdkRow, useExisting: LyRow},\n StyleRenderer\n ],\n standalone: false\n})\nexport class LyRow extends CdkRow {\n readonly classes = this.sRenderer.renderSheet(TABLE_STYLES, 'row');\n constructor(\n readonly sRenderer: StyleRenderer\n ) {\n super();\n }\n}\n\n/** Row that can be used to display a message when no data is shown in the table. */\n@Directive({\n selector: 'ng-template[lyNoDataRow]',\n providers: [\n {provide: CdkNoDataRow, useExisting: LyNoDataRow},\n StyleRenderer\n ],\n standalone: false\n})\nexport class LyNoDataRow extends CdkNoDataRow {\n readonly classes = this.sRenderer.renderSheet(TABLE_STYLES);\n override _contentClassName = this.classes.noDataRow;\n constructor(\n templateRef: TemplateRef<any>,\n readonly sRenderer: StyleRenderer\n ) {\n super(templateRef);\n }\n}\n","import {CdkTextColumn} from '@angular/cdk/table';\nimport {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/**\n * Column that simply shows text content for the header and row cells. Assumes that the table\n * is using the native table implementation (`<table>`).\n *\n * By default, the name of this column will be the header text and data property accessor.\n * The header text can be overridden with the `headerText` input. Cell values can be overridden with\n * the `dataAccessor` input. Change the text justification to the start or end using the `justify`\n * input.\n */\n@Component({\n selector: 'ly-text-column',\n template: `\n <ng-container lyColumnDef>\n <th ly-header-cell *lyHeaderCellDef [style.text-align]=\"justify\">\n {{headerText}}\n </th>\n <td ly-cell *lyCellDef=\"let data\" [style.text-align]=\"justify\">\n {{dataAccessor(data, name)}}\n </td>\n </ng-container>\n `,\n encapsulation: ViewEncapsulation.None,\n // Change detection is intentionally not set to OnPush. This component's template will be provided\n // to the table to be inserted into its view. This is problematic when change detection runs since\n // the bindings in this template will be evaluated _after_ the table's view is evaluated, which\n // mean's the template in the table's view will not have the updated value (and in fact will cause\n // an ExpressionChangedAfterItHasBeenCheckedError).\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n standalone: false\n})\nexport class LyTextColumn<T> extends CdkTextColumn<T> {}\n","import {NgModule} from '@angular/core';\nimport {LyRecycleRows, LyTable} from './table';\nimport {CdkTableModule} from '@angular/cdk/table';\nimport {\n LyCell,\n LyCellDef,\n LyColumnDef,\n LyFooterCell,\n LyFooterCellDef,\n LyHeaderCell,\n LyHeaderCellDef,\n} from './cell';\nimport {\n LyFooterRow,\n LyFooterRowDef,\n LyHeaderRow,\n LyHeaderRowDef,\n LyRow,\n LyRowDef,\n LyNoDataRow,\n} from './row';\nimport {LyTextColumn} from './text-column';\nimport {LyCommonModule} from '@alyle/ui';\n\nconst EXPORTED_DECLARATIONS = [\n // Table\n LyTable,\n LyRecycleRows,\n\n // Template defs\n LyHeaderCellDef,\n LyHeaderRowDef,\n LyColumnDef,\n LyCellDef,\n LyRowDef,\n LyFooterCellDef,\n LyFooterRowDef,\n\n // Cell directives\n LyHeaderCell,\n LyCell,\n LyFooterCell,\n\n // Row directives\n LyHeaderRow,\n LyRow,\n LyFooterRow,\n LyNoDataRow,\n\n LyTextColumn,\n];\n\n@NgModule({\n imports: [CdkTableModule, LyCommonModule],\n exports: [LyCommonModule, EXPORTED_DECLARATIONS],\n declarations: EXPORTED_DECLARATIONS,\n})\nexport class LyTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["TABLE_STYLES","i4","i5","i1","i2","i1.LyHeaderCellDef","i1.LyColumnDef","i1.LyCellDef","i1.LyHeaderCell","i1.LyCell"],"mappings":"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"}