@lucca-front/ng 21.2.0 → 21.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-index-table.mjs","sources":["../../../packages/ng/index-table/index-table-action-file/index-table-action-file.component.ts","../../../packages/ng/index-table/index-table-action/index-table-action.component.ts","../../../packages/ng/index-table/index-table.token.ts","../../../packages/ng/index-table/index-table-body/index-table-body.token.ts","../../../packages/ng/index-table/index-table-body/index-table-body.component.ts","../../../packages/ng/index-table/index-table-body/index-table-body.component.html","../../../packages/ng/index-table/index-table-foot/index-table-foot.token.ts","../../../packages/ng/index-table/index-table-head/index-table-head.token.ts","../../../packages/ng/index-table/index-table-row/index-table-row.token.ts","../../../packages/ng/index-table/base-index-table-cell.ts","../../../packages/ng/index-table/index-table-cell.token.ts","../../../packages/ng/index-table/index-table-cell-header/index-table-cell-header.component.ts","../../../packages/ng/index-table/index-table-cell-header/index-table-cell-header.component.html","../../../packages/ng/index-table/index-table-cell/index-table-cell.component.ts","../../../packages/ng/index-table/index-table-foot/index-table-foot.component.ts","../../../packages/ng/index-table/index-table-head/index-table-head.component.ts","../../../packages/ng/index-table/index-table-row/index-table-row.component.ts","../../../packages/ng/index-table/index-table-row/index-table-row.component.html","../../../packages/ng/index-table/index-table.component.ts","../../../packages/ng/index-table/index-table.component.html","../../../packages/ng/index-table/lucca-front-ng-index-table.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'input[luIndexTableAction]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-body-row-cell-link, pr-u-mask',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableActionFileComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'button[luIndexTableAction], a[luIndexTableAction], label[luIndexTableAction]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-body-row-cell-link',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableActionComponent {}\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableComponent } from './index-table.component';\n\nexport const LU_INDEX_TABLE_INSTANCE = new InjectionToken<IndexTableComponent>('LU_INDEX_TABLE_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableBodyComponent } from './index-table-body.component';\n\nexport const LU_INDEX_TABLE_BODY_INSTANCE = new InjectionToken<IndexTableBodyComponent>('LU_INDEX_TABLE_BODY_INSTANCE');\n","import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LU_INDEX_TABLE_INSTANCE } from '../index-table.token';\nimport { LU_INDEX_TABLE_BODY_INSTANCE } from './index-table-body.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tbody[luIndexTableBody]',\n\tstandalone: true,\n\ttemplateUrl: `./index-table-body.component.html`,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-body',\n\t},\n\timports: [ButtonComponent, IconComponent, PortalDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_BODY_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableBodyComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableBodyComponent {\n\tgroup = input<PortalContent | null>(null);\n\tgroupButtonAlt = input<string | null>(null);\n\n\texpanded = model(false);\n\n\texpandedToggle() {\n\t\tthis.expanded.set(!this.expanded());\n\t}\n\n\tprotected tableRef = inject(LU_INDEX_TABLE_INSTANCE);\n\n\tcolspan = computed(() => this.tableRef.cols().length + (this.tableRef.selectable() ? 1 : 0));\n}\n","@if (group() && groupButtonAlt()) {\n\t<tr class=\"indexTable-body-row mod-group\">\n\t\t<th scope=\"colgroup\" class=\"indexTable-body-row-transparentCell\" [attr.colspan]=\"colspan()\">\n\t\t\t<div class=\"indexTable-body-row-cellTitle\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"indexTable-body-row-cellTitle-button\"\n\t\t\t\t\tluButton\n\t\t\t\t\tdisclosure\n\t\t\t\t\t[attr.aria-expanded]=\"expanded()\"\n\t\t\t\t\t(click)=\"expandedToggle()\"\n\t\t\t\t>\n\t\t\t\t\t<lu-icon icon=\"arrowChevronBottom\" [alt]=\"groupButtonAlt()\" />\n\t\t\t\t</button>\n\t\t\t\t<ng-container *luPortal=\"group()\" />\n\t\t\t</div>\n\t\t</th>\n\t</tr>\n}\n<ng-content />\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableFootComponent } from './index-table-foot.component';\n\nexport const LU_INDEX_TABLE_FOOT_INSTANCE = new InjectionToken<IndexTableFootComponent>('LU_INDEX_TABLE_FOOT_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableHeadComponent } from './index-table-head.component';\n\nexport const LU_INDEX_TABLE_HEAD_INSTANCE = new InjectionToken<IndexTableHeadComponent>('LU_INDEX_TABLE_HEAD_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableRowComponent } from './index-table-row.component';\n\nexport const LU_INDEX_TABLE_ROW_INSTANCE = new InjectionToken<IndexTableRowComponent>('LU_INDEX_TABLE_ROW_INSTANCE');\n","import { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\n\nimport { LU_INDEX_TABLE_BODY_INSTANCE } from './index-table-body/index-table-body.token';\nimport { LU_INDEX_TABLE_FOOT_INSTANCE } from './index-table-foot/index-table-foot.token';\nimport { LU_INDEX_TABLE_HEAD_INSTANCE } from './index-table-head/index-table-head.token';\nimport { LU_INDEX_TABLE_ROW_INSTANCE } from './index-table-row/index-table-row.token';\nimport { LU_INDEX_TABLE_INSTANCE } from './index-table.token';\n\n@Component({\n\tselector: 'lu-base-index-table-cell',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport abstract class BaseIndexTableCell {\n\ttableRef = inject(LU_INDEX_TABLE_INSTANCE);\n\tbodyRef = inject(LU_INDEX_TABLE_BODY_INSTANCE, { optional: true });\n\theadRef = inject(LU_INDEX_TABLE_HEAD_INSTANCE, { optional: true });\n\tfootRef = inject(LU_INDEX_TABLE_FOOT_INSTANCE, { optional: true });\n\trowRef = inject(LU_INDEX_TABLE_ROW_INSTANCE);\n\n\talign = input<null | 'start' | 'center' | 'end'>(null);\n\n\talignCol = computed(() => {\n\t\treturn this.tableRef.header().cols()[this.position()].align();\n\t});\n\n\tposition = computed(() => {\n\t\treturn this.rowRef.cells().indexOf(this);\n\t});\n}\n","import { InjectionToken } from '@angular/core';\nimport { BaseIndexTableCell } from './base-index-table-cell';\n\nexport const LU_INDEX_TABLE_CELL_INSTANCE = new InjectionToken<BaseIndexTableCell>('LU_INDEX_TABLE_CELL_INSTANCE');\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, ElementRef, forwardRef, inject, input, model, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { BaseIndexTableCell } from '../base-index-table-cell';\nimport { LU_INDEX_TABLE_CELL_INSTANCE } from '../index-table-cell.token';\n\nconst SORT_VALUES = ['none', 'ascending', 'descending'] as const;\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'th[luIndexTableCell]',\n\tstandalone: true,\n\ttemplateUrl: './index-table-cell-header.component.html',\n\tstyleUrl: './index-table-cell-header.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.indexTable-body-row-cell]': 'bodyRef !== null',\n\t\t'[class.indexTable-head-row-cell]': 'headRef !== null',\n\t\t'[class.indexTable-foot-row-cell]': 'footRef !== null',\n\t\t'[class.mod-alignStart]': 'align() === \"start\" || alignCol() === \"start\"',\n\t\t'[class.mod-alignCenter]': 'align() === \"center\" || alignCol() === \"center\"',\n\t\t'[class.mod-alignEnd]': 'align() === \"end\" || alignCol() === \"end\"',\n\t\t'[attr.aria-sort]': 'sort()',\n\t\t'[attr.scope]': 'bodyRef !== null ? \"row\" : \"col\"',\n\t\t'[class.mod-selectable]': 'selectable()',\n\t\t'[class.mod-actions]': 'actions()',\n\t\t'[style.--components-indexTable-cell-fixed-width]': 'inlineSize() !== 0 ? inlineSize() : null',\n\t},\n\timports: [NgTemplateOutlet, ButtonComponent, IconComponent, FormsModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_CELL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableRowCellHeaderComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableRowCellHeaderComponent extends BaseIndexTableCell {\n\telementRef = inject<ElementRef<HTMLTableCellElement>>(ElementRef);\n\n\tsort = model<null | 'none' | 'ascending' | 'descending'>(null);\n\tselectable = input(false, { transform: booleanAttribute });\n\thiddenLabel = input(false, { transform: booleanAttribute });\n\tactions = input(false, { transform: booleanAttribute });\n\tinlineSize = input(0, { transform: numberAttribute });\n\n\ttoggleSort(): void {\n\t\tif (this.sort()) {\n\t\t\tthis.sort.set(SORT_VALUES[(SORT_VALUES.indexOf(this.sort()) + 1) % SORT_VALUES.length]);\n\t\t}\n\t}\n}\n","@if (sort()) {\n\t<button luButton type=\"button\" class=\"tableSortable\" (click)=\"toggleSort()\">\n\t\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n\t\t<span class=\"tableSortable-arrows\">\n\t\t\t<lu-icon icon=\"chevronTop\" class=\"tableSortable-arrows-ascending\" />\n\t\t\t<lu-icon icon=\"chevronBottom\" class=\"tableSortable-arrows-descending\" />\n\t\t</span>\n\t</button>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n}\n\n<ng-template #contentTpl>\n\t@if (hiddenLabel() || actions()) {\n\t\t<span class=\"pr-u-mask\"><ng-container *ngTemplateOutlet=\"content\" /></span>\n\t} @else {\n\t\t<ng-container *ngTemplateOutlet=\"content\" />\n\t}\n</ng-template>\n\n<ng-template #content><ng-content /></ng-template>\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, forwardRef, input, ViewEncapsulation } from '@angular/core';\n\nimport { BaseIndexTableCell } from '../base-index-table-cell';\nimport { LU_INDEX_TABLE_CELL_INSTANCE } from '../index-table-cell.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'td[luIndexTableCell]',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.indexTable-body-row-cell]': 'bodyRef !== null',\n\t\t'[class.indexTable-head-row-cell]': 'headRef !== null',\n\t\t'[class.indexTable-foot-row-cell]': 'footRef !== null',\n\t\t'[class.mod-alignStart]': 'align() === \"start\" || alignCol() === \"start\"',\n\t\t'[class.mod-alignCenter]': 'align() === \"center\" || alignCol() === \"center\"',\n\t\t'[class.mod-alignEnd]': 'align() === \"end\" || alignCol() === \"end\"',\n\t\t'[class.mod-actions]': 'actions()',\n\t\t'[class.mod-allowTextSelection]': 'allowTextSelection()',\n\t\t'[class.mod-tfoot]': 'tfoot()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_CELL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableRowCellComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableRowCellComponent extends BaseIndexTableCell {\n\tallowTextSelection = input(false, { transform: booleanAttribute });\n\ttfoot = input(false, { transform: booleanAttribute });\n\n\tactions = computed(() => {\n\t\treturn this.tableRef.header().cols()[this.position()].actions();\n\t});\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { LU_INDEX_TABLE_FOOT_INSTANCE } from './index-table-foot.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tfoot[luIndexTableFoot]',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-foot',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_FOOT_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableFootComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableFootComponent {}\n","import { ChangeDetectionStrategy, Component, contentChildren, forwardRef, inject, ViewEncapsulation } from '@angular/core';\n\nimport { IndexTableRowCellHeaderComponent } from '../index-table-cell-header/index-table-cell-header.component';\nimport { LU_INDEX_TABLE_INSTANCE } from '../index-table.token';\nimport { LU_INDEX_TABLE_HEAD_INSTANCE } from './index-table-head.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'thead[luIndexTableHead]',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-head',\n\t\t'[attr.inert]': 'tableRef.empty() ? \"inert\" : null',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_HEAD_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableHeadComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableHeadComponent {\n\tcols = contentChildren(IndexTableRowCellHeaderComponent, { descendants: true });\n\n\ttableRef = inject(LU_INDEX_TABLE_INSTANCE);\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, contentChildren, forwardRef, inject, input, model, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { FormFieldComponent } from '@lucca-front/ng/form-field';\nimport { CheckboxInputComponent } from '@lucca-front/ng/forms';\nimport { LU_INDEX_TABLE_BODY_INSTANCE } from '../index-table-body/index-table-body.token';\nimport { LU_INDEX_TABLE_CELL_INSTANCE } from '../index-table-cell.token';\nimport { LU_INDEX_TABLE_FOOT_INSTANCE } from '../index-table-foot/index-table-foot.token';\nimport { LU_INDEX_TABLE_HEAD_INSTANCE } from '../index-table-head/index-table-head.token';\nimport { LU_INDEX_TABLE_INSTANCE } from '../index-table.token';\nimport { LU_INDEX_TABLE_ROW_INSTANCE } from './index-table-row.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tr[luIndexTableRow]',\n\tstandalone: true,\n\ttemplateUrl: './index-table-row.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.indexTable-body-row]': 'bodyRef !== null',\n\t\t'[class.indexTable-head-row]': 'headRef !== null',\n\t\t'[class.indexTable-foot-row]': 'footRef !== null',\n\t\t'[class.mod-selectable]': 'tableRef.selectable()',\n\t\t'[class.mod-stack2]': 'stack() === 2',\n\t\t'[class.mod-stack3]': 'stack() === 3',\n\t},\n\timports: [CheckboxInputComponent, FormFieldComponent, FormsModule, NgTemplateOutlet],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_ROW_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableRowComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableRowComponent {\n\tbodyRef = inject(LU_INDEX_TABLE_BODY_INSTANCE, { optional: true });\n\theadRef = inject(LU_INDEX_TABLE_HEAD_INSTANCE, { optional: true });\n\tfootRef = inject(LU_INDEX_TABLE_FOOT_INSTANCE, { optional: true });\n\n\tpublic readonly cells = contentChildren(LU_INDEX_TABLE_CELL_INSTANCE);\n\n\tprotected tableRef = inject(LU_INDEX_TABLE_INSTANCE);\n\n\tselected = model<boolean>(false);\n\tselectedLabel = input<string | null>(null);\n\tdisabled = input(false, { transform: booleanAttribute });\n\tstack = input(1, { transform: numberAttribute });\n}\n","@if (tableRef.selectable()) {\n\t@if (headRef) {\n\t\t<th class=\"indexTable-head-row-transparentCell\" scope=\"col\"><ng-container *ngTemplateOutlet=\"input\" /></th>\n\t} @else {\n\t\t<td [class.indexTable-body-row-transparentCell]=\"bodyRef !== null\" [class.indexTable-foot-row-transparentCell]=\"footRef !== null\">\n\t\t\t<ng-container *ngTemplateOutlet=\"input\" />\n\t\t</td>\n\t}\n}\n<ng-content />\n\n<ng-template #input>\n\t@if (!footRef && selectedLabel()) {\n\t\t<lu-form-field [label]=\"selectedLabel()\" hiddenLabel>\n\t\t\t<lu-checkbox-input class=\"indexTable-head-row-cell-checkbox\" [(ngModel)]=\"selected\" [disabled]=\"disabled()\" />\n\t\t</lu-form-field>\n\t}\n</ng-template>\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, contentChildren, ElementRef, forwardRef, input, viewChild, ViewEncapsulation } from '@angular/core';\nimport { ResponsiveConfig } from '@lucca-front/ng/core';\n\nimport { IndexTableHeadComponent } from './index-table-head/index-table-head.component';\nimport { IndexTableRowComponent } from './index-table-row/index-table-row.component';\nimport { LU_INDEX_TABLE_INSTANCE } from './index-table.token';\n\n@Component({\n\tselector: 'lu-index-table',\n\tstandalone: true,\n\ttemplateUrl: './index-table.component.html',\n\tstyleUrl: './index-table.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTableWrapper',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableComponent {\n\ttableRef = viewChild<ElementRef<Element>>('tableRef');\n\n\tselectable = input(false, { transform: booleanAttribute });\n\tlayoutFixed = input(false, { transform: booleanAttribute });\n\tempty = input(false, { transform: booleanAttribute });\n\n\tresponsive = input<ResponsiveConfig<'layoutFixed', true>>({});\n\n\trows = contentChildren(IndexTableRowComponent, { descendants: true });\n\theader = contentChild(IndexTableHeadComponent, { descendants: true });\n\n\tcols = computed(() => this.header().cols());\n\n\tclassMods = computed(() => {\n\t\treturn {\n\t\t\tindexTable: true,\n\t\t\t['mod-selectable']: this.selectable(),\n\t\t\t['mod-layoutFixed']: this.layoutFixed(),\n\t\t\t...Object.entries(this.responsive()).reduce((acc, [key, value]) => {\n\t\t\t\treturn {\n\t\t\t\t\t...acc,\n\t\t\t\t\t[`mod-${key}`]: value,\n\t\t\t\t};\n\t\t\t}, {}),\n\t\t};\n\t});\n}\n","<table [class]=\"classMods()\" [attr.role]=\"empty() ? 'presentation' : null\" #tableRef>\n\t<ng-content />\n</table>\n<div class=\"indexTableWrapper-pagination\">\n\t<ng-content select=\"[indexTablePagination]\" />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-index-table.mjs","sources":["../../../packages/ng/index-table/index-table-action-file/index-table-action-file.component.ts","../../../packages/ng/index-table/index-table-action/index-table-action.component.ts","../../../packages/ng/index-table/index-table.token.ts","../../../packages/ng/index-table/index-table-body/index-table-body.token.ts","../../../packages/ng/index-table/index-table-body/index-table-body.component.ts","../../../packages/ng/index-table/index-table-body/index-table-body.component.html","../../../packages/ng/index-table/index-table-foot/index-table-foot.token.ts","../../../packages/ng/index-table/index-table-head/index-table-head.token.ts","../../../packages/ng/index-table/index-table-row/index-table-row.token.ts","../../../packages/ng/index-table/base-index-table-cell.ts","../../../packages/ng/index-table/index-table-cell.token.ts","../../../packages/ng/index-table/index-table-cell-header/index-table-cell-header.component.ts","../../../packages/ng/index-table/index-table-cell-header/index-table-cell-header.component.html","../../../packages/ng/index-table/index-table-cell/index-table-cell.component.ts","../../../packages/ng/index-table/index-table-foot/index-table-foot.component.ts","../../../packages/ng/index-table/index-table-head/index-table-head.component.ts","../../../packages/ng/index-table/index-table-row/index-table-row.component.ts","../../../packages/ng/index-table/index-table-row/index-table-row.component.html","../../../packages/ng/index-table/index-table.component.ts","../../../packages/ng/index-table/index-table.component.html","../../../packages/ng/index-table/lucca-front-ng-index-table.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'input[luIndexTableAction]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-body-row-cell-link, pr-u-mask',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableActionFileComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'button[luIndexTableAction], a[luIndexTableAction], label[luIndexTableAction]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-body-row-cell-link',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableActionComponent {}\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableComponent } from './index-table.component';\n\nexport const LU_INDEX_TABLE_INSTANCE = new InjectionToken<IndexTableComponent>('LU_INDEX_TABLE_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableBodyComponent } from './index-table-body.component';\n\nexport const LU_INDEX_TABLE_BODY_INSTANCE = new InjectionToken<IndexTableBodyComponent>('LU_INDEX_TABLE_BODY_INSTANCE');\n","import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LU_INDEX_TABLE_INSTANCE } from '../index-table.token';\nimport { LU_INDEX_TABLE_BODY_INSTANCE } from './index-table-body.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tbody[luIndexTableBody]',\n\tstandalone: true,\n\ttemplateUrl: `./index-table-body.component.html`,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-body',\n\t},\n\timports: [ButtonComponent, IconComponent, PortalDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_BODY_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableBodyComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableBodyComponent {\n\tgroup = input<PortalContent | null>(null);\n\tgroupButtonAlt = input<string | null>(null);\n\n\texpanded = model(false);\n\n\texpandedToggle() {\n\t\tthis.expanded.set(!this.expanded());\n\t}\n\n\tprotected tableRef = inject(LU_INDEX_TABLE_INSTANCE);\n\n\tcolspan = computed(() => this.tableRef.cols().length + (this.tableRef.selectable() ? 1 : 0));\n}\n","@if (group() && groupButtonAlt()) {\n\t<tr class=\"indexTable-body-row mod-group\">\n\t\t<th scope=\"colgroup\" class=\"indexTable-body-row-transparentCell\" [attr.colspan]=\"colspan()\">\n\t\t\t<div class=\"indexTable-body-row-cellTitle\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"indexTable-body-row-cellTitle-button\"\n\t\t\t\t\tluButton\n\t\t\t\t\tdisclosure\n\t\t\t\t\t[attr.aria-expanded]=\"expanded()\"\n\t\t\t\t\t(click)=\"expandedToggle()\"\n\t\t\t\t>\n\t\t\t\t\t<lu-icon icon=\"arrowChevronBottom\" [alt]=\"groupButtonAlt()\" />\n\t\t\t\t</button>\n\t\t\t\t<ng-container *luPortal=\"group()\" />\n\t\t\t</div>\n\t\t</th>\n\t</tr>\n}\n<ng-content />\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableFootComponent } from './index-table-foot.component';\n\nexport const LU_INDEX_TABLE_FOOT_INSTANCE = new InjectionToken<IndexTableFootComponent>('LU_INDEX_TABLE_FOOT_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableHeadComponent } from './index-table-head.component';\n\nexport const LU_INDEX_TABLE_HEAD_INSTANCE = new InjectionToken<IndexTableHeadComponent>('LU_INDEX_TABLE_HEAD_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableRowComponent } from './index-table-row.component';\n\nexport const LU_INDEX_TABLE_ROW_INSTANCE = new InjectionToken<IndexTableRowComponent>('LU_INDEX_TABLE_ROW_INSTANCE');\n","import { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\n\nimport { LU_INDEX_TABLE_BODY_INSTANCE } from './index-table-body/index-table-body.token';\nimport { LU_INDEX_TABLE_FOOT_INSTANCE } from './index-table-foot/index-table-foot.token';\nimport { LU_INDEX_TABLE_HEAD_INSTANCE } from './index-table-head/index-table-head.token';\nimport { LU_INDEX_TABLE_ROW_INSTANCE } from './index-table-row/index-table-row.token';\nimport { LU_INDEX_TABLE_INSTANCE } from './index-table.token';\n\n@Component({\n\tselector: 'lu-base-index-table-cell',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport abstract class BaseIndexTableCell {\n\ttableRef = inject(LU_INDEX_TABLE_INSTANCE);\n\tbodyRef = inject(LU_INDEX_TABLE_BODY_INSTANCE, { optional: true });\n\theadRef = inject(LU_INDEX_TABLE_HEAD_INSTANCE, { optional: true });\n\tfootRef = inject(LU_INDEX_TABLE_FOOT_INSTANCE, { optional: true });\n\trowRef = inject(LU_INDEX_TABLE_ROW_INSTANCE);\n\n\talign = input<null | 'start' | 'center' | 'end'>(null);\n\n\talignCol = computed(() => {\n\t\treturn this.tableRef.header().cols()[this.position()].align();\n\t});\n\n\tposition = computed(() => {\n\t\treturn this.rowRef.cells().indexOf(this);\n\t});\n}\n","import { InjectionToken } from '@angular/core';\nimport { BaseIndexTableCell } from './base-index-table-cell';\n\nexport const LU_INDEX_TABLE_CELL_INSTANCE = new InjectionToken<BaseIndexTableCell>('LU_INDEX_TABLE_CELL_INSTANCE');\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, ElementRef, forwardRef, inject, input, model, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { BaseIndexTableCell } from '../base-index-table-cell';\nimport { LU_INDEX_TABLE_CELL_INSTANCE } from '../index-table-cell.token';\n\nconst SORT_VALUES = ['none', 'ascending', 'descending'] as const;\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'th[luIndexTableCell]',\n\tstandalone: true,\n\ttemplateUrl: './index-table-cell-header.component.html',\n\tstyleUrl: './index-table-cell-header.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.indexTable-body-row-cell]': 'bodyRef !== null',\n\t\t'[class.indexTable-head-row-cell]': 'headRef !== null',\n\t\t'[class.indexTable-foot-row-cell]': 'footRef !== null',\n\t\t'[class.mod-alignStart]': 'align() === \"start\" || alignCol() === \"start\"',\n\t\t'[class.mod-alignCenter]': 'align() === \"center\" || alignCol() === \"center\"',\n\t\t'[class.mod-alignEnd]': 'align() === \"end\" || alignCol() === \"end\"',\n\t\t'[attr.aria-sort]': 'sort()',\n\t\t'[attr.scope]': 'bodyRef !== null ? \"row\" : \"col\"',\n\t\t'[class.mod-selectable]': 'selectable()',\n\t\t'[class.mod-actions]': 'actions()',\n\t\t'[style.--components-indexTable-cell-fixed-width]': 'inlineSize() !== 0 ? inlineSize() : null',\n\t},\n\timports: [NgTemplateOutlet, ButtonComponent, IconComponent, FormsModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_CELL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableRowCellHeaderComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableRowCellHeaderComponent extends BaseIndexTableCell {\n\telementRef = inject<ElementRef<HTMLTableCellElement>>(ElementRef);\n\n\tsort = model<null | 'none' | 'ascending' | 'descending'>(null);\n\tselectable = input(false, { transform: booleanAttribute });\n\thiddenLabel = input(false, { transform: booleanAttribute });\n\tactions = input(false, { transform: booleanAttribute });\n\tinlineSize = input(0, { transform: numberAttribute });\n\n\ttoggleSort(): void {\n\t\tif (this.sort()) {\n\t\t\tthis.sort.set(SORT_VALUES[(SORT_VALUES.indexOf(this.sort()) + 1) % SORT_VALUES.length]);\n\t\t}\n\t}\n}\n","@if (sort()) {\n\t<button luButton type=\"button\" class=\"tableSortable\" (click)=\"toggleSort()\">\n\t\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n\t\t<span class=\"tableSortable-arrows\">\n\t\t\t<lu-icon icon=\"chevronTop\" class=\"tableSortable-arrows-ascending\" />\n\t\t\t<lu-icon icon=\"chevronBottom\" class=\"tableSortable-arrows-descending\" />\n\t\t</span>\n\t</button>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n}\n\n<ng-template #contentTpl>\n\t@if (hiddenLabel() || actions()) {\n\t\t<span class=\"pr-u-mask\"><ng-container *ngTemplateOutlet=\"content\" /></span>\n\t} @else {\n\t\t<ng-container *ngTemplateOutlet=\"content\" />\n\t}\n</ng-template>\n\n<ng-template #content><ng-content /></ng-template>\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, forwardRef, input, ViewEncapsulation } from '@angular/core';\n\nimport { BaseIndexTableCell } from '../base-index-table-cell';\nimport { LU_INDEX_TABLE_CELL_INSTANCE } from '../index-table-cell.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'td[luIndexTableCell]',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.indexTable-body-row-cell]': 'bodyRef !== null',\n\t\t'[class.indexTable-head-row-cell]': 'headRef !== null',\n\t\t'[class.indexTable-foot-row-cell]': 'footRef !== null',\n\t\t'[class.mod-alignStart]': 'align() === \"start\" || alignCol() === \"start\"',\n\t\t'[class.mod-alignCenter]': 'align() === \"center\" || alignCol() === \"center\"',\n\t\t'[class.mod-alignEnd]': 'align() === \"end\" || alignCol() === \"end\"',\n\t\t'[class.mod-actions]': 'actions()',\n\t\t'[class.mod-allowTextSelection]': 'allowTextSelection()',\n\t\t'[class.mod-tfoot]': 'tfoot()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_CELL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableRowCellComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableRowCellComponent extends BaseIndexTableCell {\n\tallowTextSelection = input(false, { transform: booleanAttribute });\n\ttfoot = input(false, { transform: booleanAttribute });\n\n\tactions = computed(() => {\n\t\treturn this.tableRef.header().cols()[this.position()].actions();\n\t});\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { LU_INDEX_TABLE_FOOT_INSTANCE } from './index-table-foot.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tfoot[luIndexTableFoot]',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-foot',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_FOOT_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableFootComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableFootComponent {}\n","import { ChangeDetectionStrategy, Component, contentChildren, forwardRef, inject, ViewEncapsulation } from '@angular/core';\n\nimport { IndexTableRowCellHeaderComponent } from '../index-table-cell-header/index-table-cell-header.component';\nimport { LU_INDEX_TABLE_INSTANCE } from '../index-table.token';\nimport { LU_INDEX_TABLE_HEAD_INSTANCE } from './index-table-head.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'thead[luIndexTableHead]',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-head',\n\t\t'[attr.inert]': 'tableRef.empty() ? \"inert\" : null',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_HEAD_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableHeadComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableHeadComponent {\n\tcols = contentChildren(IndexTableRowCellHeaderComponent, { descendants: true });\n\n\ttableRef = inject(LU_INDEX_TABLE_INSTANCE);\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, contentChildren, forwardRef, inject, input, model, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { FormFieldComponent } from '@lucca-front/ng/form-field';\nimport { CheckboxInputComponent } from '@lucca-front/ng/forms';\nimport { LU_INDEX_TABLE_BODY_INSTANCE } from '../index-table-body/index-table-body.token';\nimport { LU_INDEX_TABLE_CELL_INSTANCE } from '../index-table-cell.token';\nimport { LU_INDEX_TABLE_FOOT_INSTANCE } from '../index-table-foot/index-table-foot.token';\nimport { LU_INDEX_TABLE_HEAD_INSTANCE } from '../index-table-head/index-table-head.token';\nimport { LU_INDEX_TABLE_INSTANCE } from '../index-table.token';\nimport { LU_INDEX_TABLE_ROW_INSTANCE } from './index-table-row.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tr[luIndexTableRow]',\n\tstandalone: true,\n\ttemplateUrl: './index-table-row.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.indexTable-body-row]': 'bodyRef !== null',\n\t\t'[class.indexTable-head-row]': 'headRef !== null',\n\t\t'[class.indexTable-foot-row]': 'footRef !== null',\n\t\t'[class.mod-selectable]': 'tableRef.selectable()',\n\t\t'[class.mod-stack2]': 'stack() === 2',\n\t\t'[class.mod-stack3]': 'stack() === 3',\n\t},\n\timports: [CheckboxInputComponent, FormFieldComponent, FormsModule, NgTemplateOutlet],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_ROW_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableRowComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableRowComponent {\n\tbodyRef = inject(LU_INDEX_TABLE_BODY_INSTANCE, { optional: true });\n\theadRef = inject(LU_INDEX_TABLE_HEAD_INSTANCE, { optional: true });\n\tfootRef = inject(LU_INDEX_TABLE_FOOT_INSTANCE, { optional: true });\n\n\tpublic readonly cells = contentChildren(LU_INDEX_TABLE_CELL_INSTANCE);\n\n\tprotected tableRef = inject(LU_INDEX_TABLE_INSTANCE);\n\n\tselected = model<boolean>(false);\n\tselectedLabel = input<string | null>(null);\n\tdisabled = input(false, { transform: booleanAttribute });\n\tstack = input(1, { transform: numberAttribute });\n}\n","@if (tableRef.selectable()) {\n\t@if (headRef) {\n\t\t<th class=\"indexTable-head-row-transparentCell\" scope=\"col\"><ng-container *ngTemplateOutlet=\"input\" /></th>\n\t} @else {\n\t\t<td [class.indexTable-body-row-transparentCell]=\"bodyRef !== null\" [class.indexTable-foot-row-transparentCell]=\"footRef !== null\">\n\t\t\t<ng-container *ngTemplateOutlet=\"input\" />\n\t\t</td>\n\t}\n}\n<ng-content />\n\n<ng-template #input>\n\t@if (!footRef && selectedLabel()) {\n\t\t<lu-form-field [label]=\"selectedLabel()\" hiddenLabel>\n\t\t\t<lu-checkbox-input class=\"indexTable-head-row-cell-checkbox\" [(ngModel)]=\"selected\" [disabled]=\"disabled()\" />\n\t\t</lu-form-field>\n\t}\n</ng-template>\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, contentChildren, ElementRef, forwardRef, input, viewChild, ViewEncapsulation } from '@angular/core';\nimport { ResponsiveConfig } from '@lucca-front/ng/core';\n\nimport { IndexTableHeadComponent } from './index-table-head/index-table-head.component';\nimport { IndexTableRowComponent } from './index-table-row/index-table-row.component';\nimport { LU_INDEX_TABLE_INSTANCE } from './index-table.token';\n\n@Component({\n\tselector: 'lu-index-table',\n\tstandalone: true,\n\ttemplateUrl: './index-table.component.html',\n\tstyleUrl: './index-table.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTableWrapper',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableComponent {\n\ttableRef = viewChild<ElementRef<Element>>('tableRef');\n\n\tselectable = input(false, { transform: booleanAttribute });\n\tlayoutFixed = input(false, { transform: booleanAttribute });\n\tempty = input(false, { transform: booleanAttribute });\n\n\tresponsive = input<ResponsiveConfig<'layoutFixed', true>>({});\n\n\trows = contentChildren(IndexTableRowComponent, { descendants: true });\n\theader = contentChild(IndexTableHeadComponent, { descendants: true });\n\n\tcols = computed(() => this.header().cols());\n\n\tclassMods = computed(() => {\n\t\treturn {\n\t\t\tindexTable: true,\n\t\t\t['mod-selectable']: this.selectable(),\n\t\t\t['mod-layoutFixed']: this.layoutFixed(),\n\t\t\t...Object.entries(this.responsive()).reduce((acc, [key, value]) => {\n\t\t\t\treturn {\n\t\t\t\t\t...acc,\n\t\t\t\t\t[`mod-${key}`]: value,\n\t\t\t\t};\n\t\t\t}, {}),\n\t\t};\n\t});\n}\n","<table [class]=\"classMods()\" [attr.role]=\"empty() ? 'presentation' : null\" #tableRef>\n\t<ng-content />\n</table>\n<div class=\"indexTableWrapper-pagination\">\n\t<ng-content select=\"[indexTablePagination]\" />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -104,14 +104,14 @@ class ReadMoreComponent {
104
104
  this.expanded.set(!this.expanded());
105
105
  }
106
106
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ReadMoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
107
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: ReadMoreComponent, isStandalone: true, selector: "lu-read-more", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, lineClamp: { classPropertyName: "lineClamp", publicName: "lineClamp", isSignal: true, isRequired: false, transformFunction: null }, openOnly: { classPropertyName: "openOnly", publicName: "openOnly", isSignal: true, isRequired: false, transformFunction: null }, textFlow: { classPropertyName: "textFlow", publicName: "textFlow", isSignal: true, isRequired: false, transformFunction: null }, surface: { classPropertyName: "surface", publicName: "surface", isSignal: true, isRequired: false, transformFunction: null }, innerContent: { classPropertyName: "innerContent", publicName: "innerContent", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--components-readMore-lineClamp": "lineClamp()", "style.--components-readMore-content-lastChild-content": "labelReadLess", "class.is-disabled": "!expanded() && !isClamped()", "class.mod-openOnly": "openOnly()", "class.mod-sunken": "surface() === `sunken`", "class.mod-default": "surface() === `default`", "style.--components-readMore-link-backgroudColor": "backgroundColor()" }, classAttribute: "readMore" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: "<button\n\ttype=\"button\"\n\taria-hidden=\"true\"\n\t[attr.tabindex]=\"isClamped() ? null : '-1'\"\n\t[attr.aria-expanded]=\"expanded()\"\n\tclass=\"readMore-link link\"\n\t(click)=\"toggleExpanded()\"\n>\n\t{{ label() }}\n</button>\n@if (isInnerContentNil()) {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" #content>\n\t\t<ng-content />\n\t</div>\n} @else {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" [innerHTML]=\"innerContent()\" #content></div>\n}\n", styles: ["@layer components{.readMore{--components-readMore-lineClamp: 5;--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-raised);--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-500);--components-readMore-link-insetBlockEnd: var(--pr-t-spacings-50);position:relative;display:block}.readMore-link.link{position:absolute;display:flex;inset:auto 0 var(--components-readMore-link-insetBlockEnd) auto;flex-direction:column;z-index:1;line-height:var(--pr-t-font-body-M-lineHeight);background-image:linear-gradient(to right,transparent,var(--components-readMore-link-backgroudColor) calc(var(--components-readMore-link-paddingInlineStart) - var(--pr-t-spacings-100)));padding-inline-start:var(--components-readMore-link-paddingInlineStart);font-weight:var(--pr-t-font-fontWeight-semibold);text-decoration:none}.readMore-link.link:before{content:\"\";position:absolute;inset:0;inset-inline-start:var(--components-readMore-link-paddingInlineStart);border-radius:var(--pr-t-border-radius-default)}.readMore-link.link:focus-visible{outline:none}.readMore-link.link:focus-visible:before{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:is(ol,ul)>*:last-child:after,.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:not(ol,ul):after,.readMore-content:not(:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)):after{content:var(--components-readMore-content-lastChild-content)/\"\";visibility:hidden;white-space:nowrap;font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-semibold);padding-inline-start:var(--components-readMore-link-paddingInlineStart)}.readMore-content{display:-webkit-box;-webkit-line-clamp:var(--components-readMore-lineClamp);-webkit-box-orient:vertical;overflow:hidden;padding:var(--pr-t-spacings-50);margin:calc(var(--pr-t-spacings-50) * -1)}}@layer mods{.readMore:has(.readMore-link[aria-expanded=true],.readMore-content:focus-within){--components-readMore-lineClamp: 9999 !important;--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-100)}.readMore.is-disabled{--components-readMore-content-lastChild-content: none !important}.readMore.is-disabled .readMore-link.link{border:0;clip-path:rect(1px 1px 1px 1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]){--components-readMore-content-lastChild-content: none !important}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]) .readMore-link.link{border:0;clip-path:rect(1px 1px 1px 1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-default{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-default)}.readMore.mod-sunken{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-sunken)}}@layer components{.textFlow h1{margin-block:var(--pr-t-spacings-300)}.textFlow h2{margin-block:var(--pr-t-spacings-300) var(--pr-t-spacings-150)}.textFlow h3{margin-block:var(--pr-t-spacings-200) var(--pr-t-spacings-150)}.textFlow h4{margin-block:var(--pr-t-spacings-150)}.textFlow p,.textFlow ul,.textFlow ol{margin-block:var(--pr-t-spacings-100)}.textFlow li{margin-block:var(--pr-t-spacings-50)}.textFlow>:first-child{margin-block-start:0}.textFlow>:last-child{margin-block-end:0}.textFlow>:last-child:is(ul,ol)>:last-child{margin-block-end:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
107
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: ReadMoreComponent, isStandalone: true, selector: "lu-read-more", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, lineClamp: { classPropertyName: "lineClamp", publicName: "lineClamp", isSignal: true, isRequired: false, transformFunction: null }, openOnly: { classPropertyName: "openOnly", publicName: "openOnly", isSignal: true, isRequired: false, transformFunction: null }, textFlow: { classPropertyName: "textFlow", publicName: "textFlow", isSignal: true, isRequired: false, transformFunction: null }, surface: { classPropertyName: "surface", publicName: "surface", isSignal: true, isRequired: false, transformFunction: null }, innerContent: { classPropertyName: "innerContent", publicName: "innerContent", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--components-readMore-lineClamp": "lineClamp()", "style.--components-readMore-content-lastChild-content": "`\"${labelReadLess()}\"`", "class.is-disabled": "!expanded() && !isClamped()", "class.mod-openOnly": "openOnly()", "class.mod-sunken": "surface() === `sunken`", "class.mod-default": "surface() === `default`", "style.--components-readMore-link-backgroudColor": "backgroundColor()" }, classAttribute: "readMore" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: "<button\n\ttype=\"button\"\n\taria-hidden=\"true\"\n\t[attr.tabindex]=\"isClamped() ? null : '-1'\"\n\t[attr.aria-expanded]=\"expanded()\"\n\tclass=\"readMore-link link\"\n\t(click)=\"toggleExpanded()\"\n>\n\t{{ label() }}\n</button>\n@if (isInnerContentNil()) {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" #content>\n\t\t<ng-content />\n\t</div>\n} @else {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" [innerHTML]=\"innerContent()\" #content></div>\n}\n", styles: ["@layer components{.readMore{--components-readMore-lineClamp: 5;--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-raised);--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-500);--components-readMore-link-insetBlockEnd: var(--pr-t-spacings-50);position:relative;display:block}.readMore-link.link{position:absolute;display:flex;inset:auto 0 var(--components-readMore-link-insetBlockEnd) auto;flex-direction:column;z-index:1;line-height:var(--pr-t-font-body-M-lineHeight);background-image:linear-gradient(to right,transparent,var(--components-readMore-link-backgroudColor) calc(var(--components-readMore-link-paddingInlineStart) - var(--pr-t-spacings-100)));padding-inline-start:var(--components-readMore-link-paddingInlineStart);font-weight:var(--pr-t-font-fontWeight-semibold);text-decoration:none}.readMore-link.link:before{content:\"\";position:absolute;inset:0;inset-inline-start:var(--components-readMore-link-paddingInlineStart);border-radius:var(--pr-t-border-radius-default)}.readMore-link.link:focus-visible{outline:none}.readMore-link.link:focus-visible:before{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:is(ol,ul)>*:last-child:after,.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:not(ol,ul):after,.readMore-content:not(:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)):after{content:var(--components-readMore-content-lastChild-content)/\"\";visibility:hidden;white-space:nowrap;font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-semibold);padding-inline-start:var(--components-readMore-link-paddingInlineStart)}.readMore-content{display:-webkit-box;-webkit-line-clamp:var(--components-readMore-lineClamp);-webkit-box-orient:vertical;overflow:hidden;padding:var(--pr-t-spacings-50);margin:calc(var(--pr-t-spacings-50) * -1)}}@layer mods{.readMore:has(.readMore-link[aria-expanded=true],.readMore-content:focus-within){--components-readMore-lineClamp: 9999 !important;--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-100)}.readMore.is-disabled{--components-readMore-content-lastChild-content: none !important}.readMore.is-disabled .readMore-link.link{border:0;clip-path:rect(1px 1px 1px 1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]){--components-readMore-content-lastChild-content: none !important}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]) .readMore-link.link{border:0;clip-path:rect(1px 1px 1px 1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-default{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-default)}.readMore.mod-sunken{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-sunken)}}@layer components{.textFlow h1{margin-block:var(--pr-t-spacings-300)}.textFlow h2{margin-block:var(--pr-t-spacings-300) var(--pr-t-spacings-150)}.textFlow h3{margin-block:var(--pr-t-spacings-200) var(--pr-t-spacings-150)}.textFlow h4{margin-block:var(--pr-t-spacings-150)}.textFlow p,.textFlow ul,.textFlow ol{margin-block:var(--pr-t-spacings-100)}.textFlow li{margin-block:var(--pr-t-spacings-50)}.textFlow>:first-child{margin-block-start:0}.textFlow>:last-child{margin-block-end:0}.textFlow>:last-child:is(ul,ol)>:last-child{margin-block-end:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
108
108
  }
109
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ReadMoreComponent, decorators: [{
110
110
  type: Component,
111
111
  args: [{ selector: 'lu-read-more', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
112
112
  class: 'readMore',
113
113
  '[style.--components-readMore-lineClamp]': 'lineClamp()',
114
- '[style.--components-readMore-content-lastChild-content]': 'labelReadLess',
114
+ '[style.--components-readMore-content-lastChild-content]': '`"${labelReadLess()}"`',
115
115
  '[class.is-disabled]': '!expanded() && !isClamped()',
116
116
  '[class.mod-openOnly]': 'openOnly()',
117
117
  '[class.mod-sunken]': 'surface() === `sunken`',
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-read-more.mjs","sources":["../../../packages/ng/read-more/translations.ts","../../../packages/ng/read-more/read-more.translate.ts","../../../packages/ng/read-more/read-more.component.ts","../../../packages/ng/read-more/read-more.component.html","../../../packages/ng/read-more/lucca-front-ng-read-more.ts"],"sourcesContent":["export const Translations = {\n\tfr: {\n\t\treadMore: 'Lire plus',\n\t\treadLess: 'Lire moins',\n\t},\n\tpt: {\n\t\treadMore: 'Ler mais',\n\t\treadLess: 'Ler menos',\n\t},\n\tes: {\n\t\treadMore: 'Leer más',\n\t\treadLess: 'Leer menos',\n\t},\n\t'nl-BE': {\n\t\treadMore: 'Meer lezen',\n\t\treadLess: 'Minder lezen',\n\t},\n\tnl: {\n\t\treadMore: 'Meer lezen',\n\t\treadLess: 'Minder lezen',\n\t},\n\tit: {\n\t\treadMore: 'Mostra di più',\n\t\treadLess: 'Mostra di meno',\n\t},\n\tde: {\n\t\treadMore: 'Mehr lesen',\n\t\treadLess: 'Weniger lesen',\n\t},\n\ten: {\n\t\treadMore: 'Read more',\n\t\treadLess: 'Read less',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_READMORE_TRANSLATIONS = new InjectionToken('luReadMoreTranslations', {\n\tfactory: () => luReadMoreTranslations,\n});\n\nexport interface ReadMoreTranslate {\n\treadMore: string;\n\treadLess: string;\n}\n\nexport const luReadMoreTranslations: LuTranslation<ReadMoreTranslate> = Translations;\n","import { afterNextRender, booleanAttribute, ChangeDetectionStrategy, Component, computed, DestroyRef, ElementRef, inject, input, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { intlInputOptions, isNil } from '@lucca-front/ng/core';\nimport { LU_READMORE_TRANSLATIONS } from './read-more.translate';\n\n@Component({\n\tselector: 'lu-read-more',\n\ttemplateUrl: './read-more.component.html',\n\tstyleUrl: './read-more.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'readMore',\n\t\t'[style.--components-readMore-lineClamp]': 'lineClamp()',\n\t\t'[style.--components-readMore-content-lastChild-content]': 'labelReadLess',\n\t\t'[class.is-disabled]': '!expanded() && !isClamped()',\n\t\t'[class.mod-openOnly]': 'openOnly()',\n\t\t'[class.mod-sunken]': 'surface() === `sunken`',\n\t\t'[class.mod-default]': 'surface() === `default`',\n\t\t'[style.--components-readMore-link-backgroudColor]': 'backgroundColor()',\n\t},\n})\nexport class ReadMoreComponent {\n\tintl = input(...intlInputOptions(LU_READMORE_TRANSLATIONS));\n\n\t/**\n\t * Change the number of lines displayed when collapsed\n\t */\n\treadonly lineClamp = input<number>(5);\n\n\t/**\n\t * Prevent the component from closing by hiding the \"Read less\" button\n\t */\n\treadonly openOnly = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Change the background color under the \"Read more / less\" button\n\t */\n\treadonly textFlow = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Apply the spacing of the Text Flow component\n\t */\n\treadonly surface = input<null | 'sunken' | 'default' | string>(null);\n\n\t/**\n\t * Allow content to be passed via innerHTML\n\t */\n\treadonly innerContent = input<null | string>(null);\n\n\tlabelReadMore = computed(() => this.intl().readMore);\n\tlabelReadLess = computed(() => this.intl().readLess);\n\n\tlabel = computed(() => (this.expanded() ? this.labelReadLess() : this.labelReadMore()));\n\n\treadonly contentRef = viewChild<ElementRef<HTMLDivElement>>('content');\n\n\texpanded = signal(false);\n\tisClamped = signal(false);\n\n\treadonly backgroundColor = computed(() => {\n\t\tif (this.surface() === 'sunken' || this.surface() === 'default' || this.surface() === null) {\n\t\t\treturn null;\n\t\t}\n\t\treturn `${this.surface()}`;\n\t});\n\n\treadonly isInnerContentNil = computed(() => isNil(this.innerContent()));\n\n\tconstructor() {\n\t\tconst destroyRef = inject(DestroyRef);\n\n\t\tafterNextRender(() => {\n\t\t\tconst content = this.contentRef();\n\n\t\t\tif (!content) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst observer = new ResizeObserver(() => {\n\t\t\t\tconst contentElement = this.contentRef()?.nativeElement;\n\n\t\t\t\tif (!contentElement) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst lineHeight = parseFloat(window.getComputedStyle(contentElement).lineHeight);\n\t\t\t\tconst totalLines = Math.round(contentElement.scrollHeight / lineHeight);\n\n\t\t\t\tthis.isClamped.set(contentElement.scrollHeight > contentElement.clientHeight);\n\n\t\t\t\tif (!this.isClamped() && totalLines <= this.lineClamp()) {\n\t\t\t\t\tthis.expanded.set(false);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tobserver.observe(content.nativeElement);\n\t\t\tdestroyRef.onDestroy(() => observer.disconnect());\n\t\t});\n\t}\n\n\ttoggleExpanded() {\n\t\tthis.expanded.set(!this.expanded());\n\t}\n}\n","<button\n\ttype=\"button\"\n\taria-hidden=\"true\"\n\t[attr.tabindex]=\"isClamped() ? null : '-1'\"\n\t[attr.aria-expanded]=\"expanded()\"\n\tclass=\"readMore-link link\"\n\t(click)=\"toggleExpanded()\"\n>\n\t{{ label() }}\n</button>\n@if (isInnerContentNil()) {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" #content>\n\t\t<ng-content />\n\t</div>\n} @else {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" [innerHTML]=\"innerContent()\" #content></div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-read-more.mjs","sources":["../../../packages/ng/read-more/translations.ts","../../../packages/ng/read-more/read-more.translate.ts","../../../packages/ng/read-more/read-more.component.ts","../../../packages/ng/read-more/read-more.component.html","../../../packages/ng/read-more/lucca-front-ng-read-more.ts"],"sourcesContent":["export const Translations = {\n\tfr: {\n\t\treadMore: 'Lire plus',\n\t\treadLess: 'Lire moins',\n\t},\n\tpt: {\n\t\treadMore: 'Ler mais',\n\t\treadLess: 'Ler menos',\n\t},\n\tes: {\n\t\treadMore: 'Leer más',\n\t\treadLess: 'Leer menos',\n\t},\n\t'nl-BE': {\n\t\treadMore: 'Meer lezen',\n\t\treadLess: 'Minder lezen',\n\t},\n\tnl: {\n\t\treadMore: 'Meer lezen',\n\t\treadLess: 'Minder lezen',\n\t},\n\tit: {\n\t\treadMore: 'Mostra di più',\n\t\treadLess: 'Mostra di meno',\n\t},\n\tde: {\n\t\treadMore: 'Mehr lesen',\n\t\treadLess: 'Weniger lesen',\n\t},\n\ten: {\n\t\treadMore: 'Read more',\n\t\treadLess: 'Read less',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_READMORE_TRANSLATIONS = new InjectionToken('luReadMoreTranslations', {\n\tfactory: () => luReadMoreTranslations,\n});\n\nexport interface ReadMoreTranslate {\n\treadMore: string;\n\treadLess: string;\n}\n\nexport const luReadMoreTranslations: LuTranslation<ReadMoreTranslate> = Translations;\n","import { afterNextRender, booleanAttribute, ChangeDetectionStrategy, Component, computed, DestroyRef, ElementRef, inject, input, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { intlInputOptions, isNil } from '@lucca-front/ng/core';\nimport { LU_READMORE_TRANSLATIONS } from './read-more.translate';\n\n@Component({\n\tselector: 'lu-read-more',\n\ttemplateUrl: './read-more.component.html',\n\tstyleUrl: './read-more.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'readMore',\n\t\t'[style.--components-readMore-lineClamp]': 'lineClamp()',\n\t\t'[style.--components-readMore-content-lastChild-content]': '`\"${labelReadLess()}\"`',\n\t\t'[class.is-disabled]': '!expanded() && !isClamped()',\n\t\t'[class.mod-openOnly]': 'openOnly()',\n\t\t'[class.mod-sunken]': 'surface() === `sunken`',\n\t\t'[class.mod-default]': 'surface() === `default`',\n\t\t'[style.--components-readMore-link-backgroudColor]': 'backgroundColor()',\n\t},\n})\nexport class ReadMoreComponent {\n\tintl = input(...intlInputOptions(LU_READMORE_TRANSLATIONS));\n\n\t/**\n\t * Change the number of lines displayed when collapsed\n\t */\n\treadonly lineClamp = input<number>(5);\n\n\t/**\n\t * Prevent the component from closing by hiding the \"Read less\" button\n\t */\n\treadonly openOnly = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Change the background color under the \"Read more / less\" button\n\t */\n\treadonly textFlow = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Apply the spacing of the Text Flow component\n\t */\n\treadonly surface = input<null | 'sunken' | 'default' | string>(null);\n\n\t/**\n\t * Allow content to be passed via innerHTML\n\t */\n\treadonly innerContent = input<null | string>(null);\n\n\tlabelReadMore = computed(() => this.intl().readMore);\n\tlabelReadLess = computed(() => this.intl().readLess);\n\n\tlabel = computed(() => (this.expanded() ? this.labelReadLess() : this.labelReadMore()));\n\n\treadonly contentRef = viewChild<ElementRef<HTMLDivElement>>('content');\n\n\texpanded = signal(false);\n\tisClamped = signal(false);\n\n\treadonly backgroundColor = computed(() => {\n\t\tif (this.surface() === 'sunken' || this.surface() === 'default' || this.surface() === null) {\n\t\t\treturn null;\n\t\t}\n\t\treturn `${this.surface()}`;\n\t});\n\n\treadonly isInnerContentNil = computed(() => isNil(this.innerContent()));\n\n\tconstructor() {\n\t\tconst destroyRef = inject(DestroyRef);\n\n\t\tafterNextRender(() => {\n\t\t\tconst content = this.contentRef();\n\n\t\t\tif (!content) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst observer = new ResizeObserver(() => {\n\t\t\t\tconst contentElement = this.contentRef()?.nativeElement;\n\n\t\t\t\tif (!contentElement) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst lineHeight = parseFloat(window.getComputedStyle(contentElement).lineHeight);\n\t\t\t\tconst totalLines = Math.round(contentElement.scrollHeight / lineHeight);\n\n\t\t\t\tthis.isClamped.set(contentElement.scrollHeight > contentElement.clientHeight);\n\n\t\t\t\tif (!this.isClamped() && totalLines <= this.lineClamp()) {\n\t\t\t\t\tthis.expanded.set(false);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tobserver.observe(content.nativeElement);\n\t\t\tdestroyRef.onDestroy(() => observer.disconnect());\n\t\t});\n\t}\n\n\ttoggleExpanded() {\n\t\tthis.expanded.set(!this.expanded());\n\t}\n}\n","<button\n\ttype=\"button\"\n\taria-hidden=\"true\"\n\t[attr.tabindex]=\"isClamped() ? null : '-1'\"\n\t[attr.aria-expanded]=\"expanded()\"\n\tclass=\"readMore-link link\"\n\t(click)=\"toggleExpanded()\"\n>\n\t{{ label() }}\n</button>\n@if (isInnerContentNil()) {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" #content>\n\t\t<ng-content />\n\t</div>\n} @else {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" [innerHTML]=\"innerContent()\" #content></div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}