cmat 0.0.21 → 0.0.23

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.
Files changed (95) hide show
  1. package/components/material-color-picker/base-color.d.ts +1 -0
  2. package/components/select-tree/select-tree.component.d.ts +1 -1
  3. package/fesm2022/cmat-components-adapter.mjs +9 -9
  4. package/fesm2022/cmat-components-breadcrumb.mjs +9 -9
  5. package/fesm2022/cmat-components-card.mjs +4 -4
  6. package/fesm2022/cmat-components-card.mjs.map +1 -1
  7. package/fesm2022/cmat-components-carousel.mjs +12 -12
  8. package/fesm2022/cmat-components-cascade.mjs +9 -9
  9. package/fesm2022/cmat-components-chip-input.mjs +3 -3
  10. package/fesm2022/cmat-components-custom-formly.mjs +94 -94
  11. package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
  12. package/fesm2022/cmat-components-date-range.mjs +3 -3
  13. package/fesm2022/cmat-components-drawer.mjs +6 -6
  14. package/fesm2022/cmat-components-fullscreen.mjs +3 -3
  15. package/fesm2022/cmat-components-highlight.mjs +6 -6
  16. package/fesm2022/cmat-components-image-viewer.mjs +3 -3
  17. package/fesm2022/cmat-components-json-editor.mjs +3 -3
  18. package/fesm2022/cmat-components-knob-input.mjs +3 -3
  19. package/fesm2022/cmat-components-masonry.mjs +3 -3
  20. package/fesm2022/cmat-components-material-color-picker.mjs +16 -4
  21. package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
  22. package/fesm2022/cmat-components-material-datetimepicker.mjs +43 -43
  23. package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
  24. package/fesm2022/cmat-components-navigation.mjs +40 -40
  25. package/fesm2022/cmat-components-navigation.mjs.map +1 -1
  26. package/fesm2022/cmat-components-opt-input.mjs +3 -3
  27. package/fesm2022/cmat-components-org-chart.mjs +9 -9
  28. package/fesm2022/cmat-components-pagination.mjs +15 -13
  29. package/fesm2022/cmat-components-pagination.mjs.map +1 -1
  30. package/fesm2022/cmat-components-password-strength.mjs +9 -9
  31. package/fesm2022/cmat-components-popover.mjs +9 -9
  32. package/fesm2022/cmat-components-progress-bar.mjs +4 -4
  33. package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
  34. package/fesm2022/cmat-components-rating.mjs +3 -3
  35. package/fesm2022/cmat-components-select-search.mjs +9 -9
  36. package/fesm2022/cmat-components-select-table.mjs +4 -4
  37. package/fesm2022/cmat-components-select-table.mjs.map +1 -1
  38. package/fesm2022/cmat-components-select-tree.mjs +6 -6
  39. package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
  40. package/fesm2022/cmat-components-speed-dial.mjs +9 -9
  41. package/fesm2022/cmat-components-timeline.mjs +13 -13
  42. package/fesm2022/cmat-components-timeline.mjs.map +1 -1
  43. package/fesm2022/cmat-components-toast.mjs +9 -9
  44. package/fesm2022/cmat-components-transfer-picker.mjs +19 -19
  45. package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
  46. package/fesm2022/cmat-components-treetable.mjs +6 -6
  47. package/fesm2022/cmat-components-upload.mjs +11 -11
  48. package/fesm2022/cmat-components-upload.mjs.map +1 -1
  49. package/fesm2022/cmat-directives-animate-on-scroll.mjs +9 -11
  50. package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
  51. package/fesm2022/cmat-directives-arrow-cursor.mjs +3 -3
  52. package/fesm2022/cmat-directives-autofocus.mjs +3 -3
  53. package/fesm2022/cmat-directives-data-exporter.mjs +21 -21
  54. package/fesm2022/cmat-directives-debounce.mjs +9 -9
  55. package/fesm2022/cmat-directives-digit-only.mjs +6 -6
  56. package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
  57. package/fesm2022/cmat-lib-mock-api.mjs +6 -6
  58. package/fesm2022/cmat-pipes-bytes.mjs +3 -3
  59. package/fesm2022/cmat-pipes-date-format.mjs +3 -3
  60. package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
  61. package/fesm2022/cmat-pipes-group-by.mjs +3 -3
  62. package/fesm2022/cmat-pipes-keys.mjs +3 -3
  63. package/fesm2022/cmat-pipes-secure.mjs +3 -3
  64. package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
  65. package/fesm2022/cmat-services-alert.mjs +3 -3
  66. package/fesm2022/cmat-services-config.mjs +6 -6
  67. package/fesm2022/cmat-services-confirmation.mjs +7 -7
  68. package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
  69. package/fesm2022/cmat-services-data.mjs +3 -3
  70. package/fesm2022/cmat-services-export-as.mjs +7 -7
  71. package/fesm2022/cmat-services-export-as.mjs.map +1 -1
  72. package/fesm2022/cmat-services-loading.mjs +6 -6
  73. package/fesm2022/cmat-services-local-storage.mjs +3 -3
  74. package/fesm2022/cmat-services-media-watcher.mjs +3 -3
  75. package/fesm2022/cmat-services-platform.mjs +3 -3
  76. package/fesm2022/cmat-services-splash-screen.mjs +3 -3
  77. package/fesm2022/cmat-services-title.mjs +3 -3
  78. package/fesm2022/cmat-services-translation.mjs +3 -3
  79. package/fesm2022/cmat-services-utils.mjs +3 -3
  80. package/package.json +56 -56
  81. package/styles/components/bundle.scss +23 -25
  82. package/styles/components/input.scss +2 -0
  83. package/styles/overrides/angular-material.scss +75 -59
  84. package/styles/overrides/fullcalendar.scss +3 -1
  85. package/styles/overrides/quill.scss +8 -6
  86. package/styles/tailwind.scss +99 -15
  87. package/styles/user-themes.scss +1 -1
  88. package/tailwind/plugins/helpers.js +16 -0
  89. package/tailwind/plugins/scrollbar/index.js +31 -0
  90. package/tailwind/plugins/scrollbar/typedefs.js +9 -0
  91. package/tailwind/plugins/scrollbar/utilities.js +201 -0
  92. package/tailwind/plugins/scrollbar/variants.js +30 -0
  93. package/tailwind/plugins/theming.js +257 -256
  94. package/tailwind/plugins/utilities.js +12 -25
  95. package/tailwind/utils/json-to-sass-map.js +28 -36
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-components-select-tree.mjs","sources":["../../../projects/cmat/components/select-tree/select-tree.flatnode.ts","../../../projects/cmat/components/select-tree/select-tree.component.ts","../../../projects/cmat/components/select-tree/select-tree.component.html","../../../projects/cmat/components/select-tree/select-tree.node.ts","../../../projects/cmat/components/select-tree/cmat-components-select-tree.ts"],"sourcesContent":["export class CmatSelectTreeFlatNode {\r\n id: string | number;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n}\r\n","/* eslint-disable @typescript-eslint/member-ordering */\r\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { CdkTree } from '@angular/cdk/tree';\r\nimport { NgClass, AsyncPipe } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Optional,\r\n Self,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, ReactiveFormsModule, NgControl } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldControl } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatSelect, MatSelectModule } from '@angular/material/select';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { isNil, isUndefined } from 'lodash-es';\r\nimport { merge, ReplaySubject, Subject } from 'rxjs';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { CmatSelectSearchComponent } from 'cmat/components/select-search';\r\nimport { CmatSelectTreeFlatNode } from './select-tree.flatnode';\r\nimport { CmatSelectTreeNode } from './select-tree.node';\r\n\r\nlet NEXT_ID = 0;\r\n\r\n@Component({\r\n selector: 'cmat-select-tree',\r\n templateUrl: './select-tree.component.html',\r\n styleUrls: ['./select-tree.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [{ provide: MatFormFieldControl, useExisting: CmatSelectTreeComponent }],\r\n exportAs: 'cmatSelectTree',\r\n imports: [MatIconModule, MatSelectModule, CmatSelectSearchComponent,\r\n ReactiveFormsModule, MatTreeModule, NgClass, MatButtonModule, MatCheckboxModule, AsyncPipe]\r\n})\r\nexport class CmatSelectTreeComponent implements MatFormFieldControl<any>, ControlValueAccessor, OnChanges, AfterViewInit, OnDestroy {\r\n @HostBinding('attr.id')\r\n @Input()\r\n public id = `cmat-select-tree-${NEXT_ID++}`;\r\n\r\n @Input() dataSource: CmatSelectTreeNode[];\r\n\r\n @Input() noEntriesFoundLabel = '无结果';\r\n\r\n @Input() showNoFoundLabel = true;\r\n\r\n @Input() multiple: boolean = false;\r\n\r\n @Input() overallSearchEnabled: boolean = true;\r\n\r\n @Input() canNull: boolean = false;\r\n\r\n @Input() customTriggerLabelFn: (value: CmatSelectTreeNode[]) => string;\r\n\r\n @Input() customTriggerLabelTemplate: string;\r\n\r\n @Input() expandable: boolean;\r\n\r\n @Input() showToggleAllCheckbox: boolean = false;\r\n\r\n flatNodeMap = new Map<CmatSelectTreeFlatNode, CmatSelectTreeNode>();\r\n\r\n nestedNodeMap = new Map<CmatSelectTreeNode, CmatSelectTreeFlatNode>();\r\n\r\n selectedParent: CmatSelectTreeFlatNode | null = null;\r\n\r\n checklistSelection = new SelectionModel<CmatSelectTreeFlatNode>(true);\r\n\r\n treeDataSource: CmatSelectTreeNode[];\r\n dataFlatNodes: CmatSelectTreeFlatNode[];\r\n\r\n overallFilterControl: FormControl = new FormControl();\r\n\r\n isIndeterminate = false;\r\n isChecked = false;\r\n\r\n checkCount: number = 0;\r\n\r\n selectControl: FormControl = new FormControl();\r\n matSelectData: ReplaySubject<any[]> = new ReplaySubject<any[]>(1);\r\n\r\n readonly stateChanges: Subject<void> = new Subject<void>();\r\n focused: boolean = false;\r\n touched: boolean = false;\r\n\r\n private _matSelect: MatSelect;\r\n private _unsubscribeAll: Subject<void> = new Subject<void>();\r\n\r\n constructor(@Optional() @Self() public ngControl: NgControl, private _changeDetectorRef: ChangeDetectorRef) {\r\n if (this.ngControl != null) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n }\r\n\r\n @ViewChild('componentSelect', { static: false }) set matSelect(m: MatSelect) {\r\n const existsSelect = !isUndefined(this._matSelect);\r\n this._matSelect = m;\r\n\r\n if (!existsSelect) {\r\n this._init(this.value);\r\n }\r\n }\r\n\r\n @ViewChild('componentTree', { static: false }) tree: CdkTree<CmatSelectTreeNode>;\r\n\r\n @HostListener('document:click')\r\n clickedOut(): void {\r\n if (!this._matSelect?.panelOpen) {\r\n this.focused = false;\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n getLevel = (dataNode: CmatSelectTreeFlatNode): number => dataNode.level;\r\n\r\n childrenAccessor: (node: CmatSelectTreeNode) => CmatSelectTreeNode[] = (node: CmatSelectTreeNode) => node.children ?? [];\r\n\r\n hasChild: (_: number, node: CmatSelectTreeNode) => boolean = (_: number, node: CmatSelectTreeNode) => !!node.children && node.children.length > 0;\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['dataSource']) {\r\n this.treeDataSource = this.dataSource;\r\n this.dataFlatNodes = this._getFlattenNodes(this.dataSource);\r\n this.matSelectData.next(this.dataFlatNodes);\r\n\r\n if (this.dataSource.length > 0) {\r\n this._init(this.value);\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n let panelClass: string = '';\r\n if (!this.overallSearchEnabled) {\r\n panelClass = 'cmat-select-search-panel overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom';\r\n }\r\n\r\n if (this._matSelect.panelClass) {\r\n if (Array.isArray(this._matSelect.panelClass)) {\r\n (this._matSelect.panelClass as string[]).push(panelClass);\r\n } else if (typeof this._matSelect.panelClass === 'string') {\r\n this._matSelect.panelClass = [this._matSelect.panelClass, panelClass];\r\n } else if (typeof this._matSelect.panelClass === 'object') {\r\n this._matSelect.panelClass.entries[panelClass] = true;\r\n }\r\n } else {\r\n this._matSelect.panelClass = panelClass;\r\n }\r\n\r\n\r\n this._matSelect.openedChange\r\n .pipe(takeUntil(this._unsubscribeAll))\r\n .subscribe((opened) => {\r\n if (opened && this.multiple) {\r\n this.checklistSelection.selected.forEach((node) => {\r\n if (node.expandable) {\r\n const descendants = this._getDescendants(node);\r\n this.checklistSelection.select(...descendants);\r\n }\r\n });\r\n\r\n this._updateSelect(this.checklistSelection.selected);\r\n }\r\n\r\n if (!opened) {\r\n setTimeout(() => {\r\n if (!isNil(this.checklistSelection.selected)) {\r\n\r\n if (this.multiple) {\r\n const findOutNode: CmatSelectTreeFlatNode[] = [];\r\n this.checklistSelection.selected.forEach((node) => {\r\n const parentNode = this._getParentNode(node);\r\n if (parentNode && this.checklistSelection.isSelected(parentNode)) {\r\n findOutNode.push(node);\r\n }\r\n });\r\n\r\n findOutNode.forEach((node) => {\r\n this.checklistSelection.deselect(node);\r\n });\r\n\r\n this.value = this.checklistSelection.selected;\r\n } else {\r\n if (this.checklistSelection.selected && this.checklistSelection.selected.length > 0) {\r\n this.value = this.checklistSelection.selected[0];\r\n }\r\n }\r\n\r\n this._matSelect.writeValue(this.value);\r\n this._matSelect._onChange(this.value);\r\n }\r\n }, 200);\r\n }\r\n });\r\n\r\n merge(this.overallFilterControl.valueChanges)\r\n .pipe(takeUntil(this._unsubscribeAll), debounceTime(200))\r\n .subscribe(() => {\r\n const dataClone: CmatSelectTreeNode[] = JSON.parse(JSON.stringify([...this.dataSource]));\r\n\r\n const arr: number[] = [];\r\n\r\n for (let i = dataClone.length - 1; i >= 0; i--) {\r\n if (!this._applyColumnLevelFilters(dataClone[i], this.overallFilterControl.value.toLowerCase())) {\r\n arr.push(i);\r\n }\r\n }\r\n arr.forEach((v) => { dataClone.splice(v, 1); });\r\n\r\n this.treeDataSource = dataClone;\r\n this.dataFlatNodes = this._getFlattenNodes(dataClone);\r\n this.matSelectData.next(this.dataFlatNodes);\r\n\r\n if (this.expandable) {\r\n this.tree.expandAll();\r\n }\r\n this._updateSelect(this.checklistSelection.selected);\r\n\r\n this._changeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.stateChanges.complete();\r\n this._unsubscribeAll.next(void 0);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n @Input()\r\n get placeholder(): string {\r\n return this._placeholder;\r\n }\r\n set placeholder(value: string) {\r\n this._placeholder = value;\r\n this.stateChanges.next();\r\n }\r\n private _placeholder: string = '';\r\n\r\n @Input()\r\n get value(): any {\r\n return this._value;\r\n }\r\n set value(value: any) {\r\n if (value !== this.value) {\r\n this._value = value;\r\n\r\n this.stateChanges.next();\r\n\r\n this._onModelChange(value);\r\n }\r\n }\r\n protected _value: any;\r\n\r\n get empty(): boolean {\r\n return !this._value;\r\n }\r\n\r\n get errorState(): boolean {\r\n if (this.ngControl == null)\r\n return false;\r\n\r\n return (this.touched && this.ngControl?.invalid) ?? false;\r\n }\r\n\r\n get shouldLabelFloat(): boolean {\r\n return this.focused || !this.empty;\r\n }\r\n\r\n @Input()\r\n get required(): boolean { return this._required; }\r\n set required(value: any) {\r\n this._required = coerceBooleanProperty(value);\r\n this.stateChanges.next();\r\n }\r\n protected _required = false;\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n if (!isNil(this.ngControl?.disabled)) {\r\n return this.ngControl.disabled;\r\n }\r\n return this._disabled;\r\n }\r\n set disabled(value: BooleanInput) {\r\n this._disabled = coerceBooleanProperty(value);\r\n\r\n if (this.focused) {\r\n this.focused = false;\r\n this.stateChanges.next();\r\n }\r\n }\r\n protected _disabled = false;\r\n\r\n registerOnChange(fn: any): void {\r\n this._onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this._onTouchedChange = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this._matSelect?.setDisabledState(isDisabled);\r\n }\r\n\r\n setDescribedByIds(ids: string[]): void {\r\n this._matSelect?.setDescribedByIds(ids);\r\n }\r\n\r\n onContainerClick(): void {\r\n if (!this.focused) {\r\n this._matSelect?.focus();\r\n }\r\n }\r\n\r\n onFocusIn(): void {\r\n if (!this.focused) {\r\n this.focused = true;\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n onFocusOut(event: FocusEvent): void {\r\n if (!this._matSelect.panel.nativeElement.contains(event.relatedTarget as Element)) {\r\n this.touched = true;\r\n this.focused = false;\r\n this._onTouchedChange();\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n writeValue(value: any): void {\r\n this._init(value);\r\n }\r\n\r\n simpleTriggerLabelFn(value: CmatSelectTreeFlatNode[]): string {\r\n return value.map((node) => {\r\n\r\n if (isNil(node)) {\r\n return '';\r\n }\r\n if (isNil(this.customTriggerLabelTemplate)\r\n || typeof this.customTriggerLabelTemplate !== 'string'\r\n || this.customTriggerLabelTemplate.trim().length === 0) {\r\n return `${node.id}`;\r\n }\r\n let atLeastPartialSubstitution = false;\r\n const substitution: string = this.customTriggerLabelTemplate.replace(/[$][{]([^}]+)[}]/g, (_, key) =>\r\n !isNil((node as any)[key]) && (atLeastPartialSubstitution = true) ? (node as any)[key] : '');\r\n if (atLeastPartialSubstitution === false) {\r\n return `${node.id}`;\r\n }\r\n return substitution.trim();\r\n }).join(', ');\r\n }\r\n\r\n /** Whether all the descendants of the node are selected. */\r\n descendantsAllSelected(node: CmatSelectTreeFlatNode): boolean {\r\n const descendants = this._getDescendants(node);\r\n return descendants.every(child =>\r\n this.checklistSelection.isSelected(child)\r\n );\r\n }\r\n\r\n /** Whether part of the descendants are selected */\r\n descendantsPartiallySelected(node: CmatSelectTreeFlatNode): boolean {\r\n const descendants = this._getDescendants(node);\r\n const result = descendants.some(child => this.checklistSelection.isSelected(child));\r\n return result && !descendants.every(child => this.checklistSelection.isSelected(child));\r\n }\r\n\r\n /** Toggle the to-do item selection. Select/deselect all the descendants node */\r\n todoItemSelectionToggle(event: any, node: CmatSelectTreeFlatNode): void {\r\n event.stopPropagation();\r\n if (this.multiple) {\r\n this.checklistSelection.toggle(node);\r\n\r\n const descendants = this._getDescendants(node);\r\n const diffCount = descendants.filter(child =>\r\n this.checklistSelection.isSelected(child)\r\n ).length;\r\n\r\n if (this.checklistSelection.isSelected(node)) {\r\n this.checklistSelection.select(...descendants);\r\n\r\n this.checkCount = this.checkCount + 1 + descendants.length - diffCount;\r\n } else {\r\n this.checklistSelection.deselect(...descendants);\r\n\r\n this.checkCount = this.checkCount - 1 - descendants.length;\r\n }\r\n\r\n this._checkAllParentsSelection(node);\r\n\r\n this._updateCheckState();\r\n } else {\r\n this.checklistSelection.clear();\r\n this.checklistSelection.select(node);\r\n\r\n this._matSelect.close();\r\n }\r\n }\r\n\r\n /** Toggle a leaf to-do item selection. Check all the parents to see if they changed */\r\n todoLeafItemSelectionToggle(event: any, node: CmatSelectTreeFlatNode): void {\r\n event.stopPropagation();\r\n if (this.multiple) {\r\n this.checklistSelection.toggle(node);\r\n\r\n this.checklistSelection.isSelected(node) ? this.checkCount += 1 : this.checkCount -= 1;\r\n\r\n this._checkAllParentsSelection(node);\r\n\r\n this._updateCheckState();\r\n } else {\r\n this.checklistSelection.clear();\r\n this.checklistSelection.select(node);\r\n\r\n this._matSelect.close();\r\n }\r\n }\r\n\r\n clearSelection(): void {\r\n this.checklistSelection.clear();\r\n this.isChecked = false;\r\n this.isIndeterminate = false;\r\n\r\n this.checkCount = 0;\r\n\r\n this.value = null;\r\n this._matSelect.writeValue(null);\r\n this._matSelect._onChange(null);\r\n }\r\n\r\n\r\n\r\n toggleSelectAll(selectAllValue: boolean): void {\r\n if (selectAllValue) {\r\n this.dataFlatNodes.forEach((node) => {\r\n this.checklistSelection.select(node);\r\n });\r\n this.isIndeterminate = false;\r\n this.isChecked = true;\r\n\r\n this.checkCount = this.checklistSelection.selected.length;\r\n } else {\r\n this.checklistSelection.clear();\r\n this.isChecked = false;\r\n this.isIndeterminate = false;\r\n\r\n this.checkCount = 0;\r\n }\r\n }\r\n\r\n getChecklistSelectionIsSelected(i: CmatSelectTreeNode): boolean {\r\n return this.checklistSelection.isSelected(this.nestedNodeMap.get(i)!);\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1 && o2 ? o1?.name === o2?.name && o1?.id === o2?.id : o1 === o2;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n private _onModelChange: (value: any) => void = () => { };\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n private _onTouchedChange: () => any = () => { };\r\n\r\n private _init(v: any): void {\r\n if (this.dataSource.length > 0 && this.treeDataSource && this._matSelect) {\r\n if (this.expandable) {\r\n this.tree.expandAll();\r\n }\r\n\r\n if (!isNil(v)) {\r\n this._updateChecklistSelection(v);\r\n } else {\r\n this.checklistSelection.clear();\r\n }\r\n\r\n if (v && v.length > 0) {\r\n\r\n if (this.multiple) {\r\n const findOutNode: CmatSelectTreeFlatNode[] = [];\r\n this.checklistSelection.selected.forEach((node) => {\r\n const parentNode = this._getParentNode(node);\r\n if (parentNode && this.checklistSelection.isSelected(parentNode)) {\r\n findOutNode.push(node);\r\n }\r\n });\r\n\r\n findOutNode.forEach((node) => {\r\n this.checklistSelection.deselect(node);\r\n });\r\n\r\n this.value = this.checklistSelection.selected;\r\n\r\n this.checkCount = this.checklistSelection.selected.length;\r\n\r\n } else {\r\n this.value = this.checklistSelection.selected;\r\n\r\n this.checkCount = 1;\r\n }\r\n\r\n } else {\r\n this.value = v;\r\n this.checkCount = 0;\r\n }\r\n this._matSelect.writeValue(this.value);\r\n this._matSelect._onChange(this.value);\r\n\r\n this._updateCheckState();\r\n\r\n this._changeDetectorRef.markForCheck();\r\n } else {\r\n this.value = v;\r\n }\r\n }\r\n /* Checks all the parents when a leaf node is selected/unselected */\r\n private _checkAllParentsSelection(node: CmatSelectTreeFlatNode): void {\r\n let parent: CmatSelectTreeFlatNode | null = this._getParentNode(node);\r\n while (parent) {\r\n parent.expandable = true;\r\n this.tree.expand(this.flatNodeMap.get(parent)!);\r\n this._checkRootNodeSelection(parent);\r\n parent = this._getParentNode(parent);\r\n }\r\n }\r\n\r\n /** Check root node checked state and change it accordingly */\r\n private _checkRootNodeSelection(node: CmatSelectTreeFlatNode): void {\r\n const nodeSelected = this.checklistSelection.isSelected(node);\r\n const descendants = this._getDescendants(node);\r\n const descAllSelected = descendants.every(child =>\r\n this.checklistSelection.isSelected(child)\r\n );\r\n if (nodeSelected && !descAllSelected) {\r\n this.checklistSelection.deselect(node);\r\n\r\n this.checkCount -= 1;\r\n } else if (!nodeSelected && (descAllSelected || descendants.length === 0)) {\r\n this.checklistSelection.select(node);\r\n\r\n this.checkCount += 1;\r\n }\r\n }\r\n\r\n /* Get the parent node of a node */\r\n private _getParentNode(node: CmatSelectTreeFlatNode): CmatSelectTreeFlatNode | null {\r\n const currentLevel = this.getLevel(node);\r\n\r\n if (currentLevel < 1) {\r\n return null;\r\n }\r\n\r\n const startIndex = this.dataFlatNodes.indexOf(node) - 1;\r\n\r\n for (let i = startIndex; i >= 0; i--) {\r\n const currentNode = this.dataFlatNodes[i];\r\n\r\n if (this.getLevel(currentNode) < currentLevel) {\r\n return currentNode;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n private _updateChecklistSelection(value: any[]): void {\r\n this.checklistSelection.clear();\r\n if (!isNil(value)) {\r\n const valueArray: any[] = !Array.isArray(value) ? [value] : value;\r\n valueArray.forEach((item) => {\r\n const nodeFound = this.dataFlatNodes.find(node => node.id === item.id);\r\n if (isNil(nodeFound)) {\r\n return;\r\n }\r\n this.checklistSelection.select(nodeFound);\r\n });\r\n }\r\n }\r\n\r\n private _updateSelect(value: any[]): void {\r\n if (!isNil(value)) {\r\n const valueArray: any[] = !Array.isArray(value) ? [value] : value;\r\n\r\n this.checkCount = 0;\r\n\r\n if (this.overallSearchEnabled)//有搜索功能,转化选中节点为当前数据源节点\r\n {\r\n valueArray.forEach((item) => {\r\n const nodeFound = this.dataFlatNodes.find(node => node.id === item.id);\r\n if (isNil(nodeFound)) {\r\n return;\r\n }\r\n\r\n this.checkCount += 1;\r\n\r\n this.checklistSelection.deselect(item);\r\n\r\n this.checklistSelection.select(nodeFound);\r\n });\r\n }\r\n\r\n if (this.multiple) {\r\n this.checklistSelection.selected.forEach((item) => {\r\n this._checkAllParentsSelection(item);\r\n });\r\n }\r\n\r\n this._updateCheckState();\r\n }\r\n }\r\n\r\n private _applyColumnLevelFilters(node: CmatSelectTreeNode, filter: string): boolean {\r\n let result = false;\r\n\r\n if (node?.children && node.children.length > 0) {\r\n for (let i = node.children.length - 1; i >= 0; i--) {\r\n const resultTemp = this._applyColumnLevelFilters(node.children[i], filter);\r\n\r\n if (!resultTemp) {\r\n node.children.splice(i, 1);\r\n }\r\n\r\n result = resultTemp || result;\r\n }\r\n }\r\n\r\n if (node?.children && node.children.length === 0) {\r\n node.children = null;\r\n }\r\n\r\n const cellValue = node['name'].toLowerCase();\r\n if (cellValue.includes(filter)) {\r\n result = true;\r\n }\r\n return result;\r\n }\r\n\r\n private _updateCheckState(): void {\r\n if (this.showToggleAllCheckbox && this.dataSource.length > 0) {\r\n this.isIndeterminate = this.checkCount < this.dataFlatNodes.length && this.checkCount > 0;\r\n this.isChecked = this.checkCount === this.dataFlatNodes.length && this.checkCount > 0;\r\n }\r\n }\r\n\r\n private _getFlattenNodes(nodes: CmatSelectTreeNode[], i: number = 0): CmatSelectTreeFlatNode[] {\r\n const flattenedNodes: CmatSelectTreeFlatNode[] = [];\r\n\r\n for (const node of nodes) {\r\n flattenedNodes.push(this._transformer(node, i));\r\n if (node.children) {\r\n flattenedNodes.push(...this._getFlattenNodes(node.children, i + 1));\r\n }\r\n }\r\n return flattenedNodes;\r\n }\r\n\r\n private _transformer = (node: CmatSelectTreeNode, level: number): CmatSelectTreeFlatNode => {\r\n const existingNode = this.nestedNodeMap.get(node);\r\n const flatNode = existingNode && existingNode.name === node.name\r\n ? existingNode\r\n : new CmatSelectTreeFlatNode();\r\n flatNode.id = node.id;\r\n flatNode.name = node.name;\r\n flatNode.level = level;\r\n flatNode.expandable = !!node.children && node.children.length > 0;\r\n this.flatNodeMap.set(flatNode, node);\r\n this.nestedNodeMap.set(node, flatNode);\r\n return flatNode;\r\n };\r\n\r\n private _getDescendants(dataNode: CmatSelectTreeFlatNode): CmatSelectTreeFlatNode[] {\r\n const startIndex = this.dataFlatNodes.indexOf(dataNode);\r\n const results: CmatSelectTreeFlatNode[] = [];\r\n\r\n for (let i = startIndex + 1;\r\n i < this.dataFlatNodes.length && this.getLevel(dataNode) < this.getLevel(this.dataFlatNodes[i]);\r\n i++) {\r\n results.push(this.dataFlatNodes[i]);\r\n }\r\n return results;\r\n }\r\n\r\n}\r\n","@if(multiple){\r\n<mat-select #componentSelect multiple\r\n panelClass=\"overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\"\r\n [placeholder]=\"placeholder\" [required]=\"required\" [formControl]=\"selectControl\" [compareWith]=\"compareObjects\"\r\n (focusin)=\"onFocusIn()\">\r\n <mat-select-trigger>\r\n @if (!customTriggerLabelFn) {\r\n {{simpleTriggerLabelFn(checklistSelection.selected)}}\r\n }\r\n @else{\r\n {{customTriggerLabelFn}}\r\n }\r\n </mat-select-trigger>\r\n\r\n <div (focusout)=\"onFocusOut($event)\">\r\n @if (overallSearchEnabled) {\r\n <mat-option>\r\n <cmat-select-search [showNoFoundLabel]=\"showNoFoundLabel\" [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\r\n [formControl]=\"overallFilterControl\" [clearSearchInput]=\"true\"\r\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\" [toggleAllCheckboxChecked]=\"isChecked\"\r\n [showToggleAllCheckbox]=\"showToggleAllCheckbox&&multiple\" (toggleAll)=\"toggleSelectAll($event)\">\r\n </cmat-select-search>\r\n </mat-option>\r\n }\r\n @for (selectData of matSelectData | async ; track $index) {\r\n <mat-option class=\"hidden\" [value]=\"selectData\">{{selectData.name}}</mat-option>\r\n }\r\n <mat-tree #componentTree [dataSource]=\"treeDataSource\" [childrenAccessor]=\"childrenAccessor\">\r\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodePadding\r\n [ngClass]=\"getChecklistSelectionIsSelected(node)?'selected':''\"\r\n (click)=\"todoLeafItemSelectionToggle($event,nestedNodeMap.get(node)!)\">\r\n <button type=\"button\" mat-icon-button disabled>\r\n\r\n </button>\r\n @if (multiple) {\r\n <mat-checkbox class=\"checklist-leaf-node text-current\" [color]=\"'primary'\"\r\n [checked]=\"getChecklistSelectionIsSelected(node)\">{{node.name}}</mat-checkbox>\r\n }\r\n @else{\r\n <span class=\"text-current\">{{node.name}}</span>\r\n }\r\n </mat-tree-node>\r\n\r\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding\r\n [ngClass]=\"getChecklistSelectionIsSelected(node)?'selected':''\" (click)=\"todoItemSelectionToggle($event,nestedNodeMap.get(node)!)\">\r\n <button type=\"button\" mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'toggle ' + node.name\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\"\r\n [svgIcon]=\"componentTree.isExpanded(node) ? 'mat_outline:expand_more' : 'mat_outline:chevron_right'\">\r\n </mat-icon>\r\n </button>\r\n @if (multiple) {\r\n <mat-checkbox class=\"text-current\" [checked]=\"descendantsAllSelected(nestedNodeMap.get(node)!)\" [color]=\"'primary'\"\r\n [indeterminate]=\"descendantsPartiallySelected(nestedNodeMap.get(node)!)\">{{node.name}}</mat-checkbox>\r\n }\r\n @else {\r\n <span class=\"text-current\">{{node.name}}</span>\r\n }\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n</mat-select>\r\n}\r\n@else {\r\n<mat-select #componentSelect panelClass=\"overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\"\r\n [placeholder]=\"placeholder\" [required]=\"required\" [formControl]=\"selectControl\" [compareWith]=\"compareObjects\"\r\n (focusin)=\"onFocusIn()\">\r\n <mat-select-trigger>\r\n @if (!customTriggerLabelFn) {\r\n {{simpleTriggerLabelFn(checklistSelection.selected)}}\r\n }\r\n @else{\r\n {{customTriggerLabelFn}}\r\n }\r\n </mat-select-trigger>\r\n\r\n <div (focusout)=\"onFocusOut($event)\">\r\n @if (overallSearchEnabled) {\r\n <mat-option>\r\n <cmat-select-search [showNoFoundLabel]=\"showNoFoundLabel\" [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\r\n [formControl]=\"overallFilterControl\" [clearSearchInput]=\"true\"\r\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\" [toggleAllCheckboxChecked]=\"isChecked\"\r\n [showToggleAllCheckbox]=\"showToggleAllCheckbox&&multiple\" (toggleAll)=\"toggleSelectAll($event)\">\r\n </cmat-select-search>\r\n </mat-option>\r\n }\r\n @if (canNull&&!multiple&&treeDataSource.length!==0) {\r\n <mat-option class=\"pl-10\" (click)=\"clearSelection()\">空</mat-option>\r\n }\r\n @for (selectData of matSelectData | async ; track $index) {\r\n <mat-option class=\"hidden\" [value]=\"selectData\">{{selectData.name}}</mat-option>\r\n }\r\n\r\n <mat-tree #componentTree [dataSource]=\"treeDataSource\" [childrenAccessor]=\"childrenAccessor\">\r\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodePadding\r\n [ngClass]=\"getChecklistSelectionIsSelected(node)?'selected':''\"\r\n (click)=\"todoLeafItemSelectionToggle($event,nestedNodeMap.get(node)!)\">\r\n <button type=\"button\" mat-icon-button disabled>\r\n\r\n </button>\r\n @if (multiple) {\r\n <mat-checkbox class=\"checklist-leaf-node text-current\" [color]=\"'primary'\"\r\n [checked]=\"getChecklistSelectionIsSelected(node)\">{{node.name}}</mat-checkbox>\r\n }\r\n @else{\r\n <span class=\"text-current\">{{node.name}}</span>\r\n }\r\n </mat-tree-node>\r\n\r\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding\r\n [ngClass]=\"getChecklistSelectionIsSelected(node)?'selected':''\" (click)=\"todoItemSelectionToggle($event,nestedNodeMap.get(node)!)\">\r\n <button type=\"button\" mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'toggle ' + node.name\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\"\r\n [svgIcon]=\"componentTree.isExpanded(node) ? 'mat_outline:expand_more' : 'mat_outline:chevron_right'\">\r\n </mat-icon>\r\n </button>\r\n @if (multiple) {\r\n <mat-checkbox class=\"text-current\" [checked]=\"descendantsAllSelected(nestedNodeMap.get(node)!)\" [color]=\"'primary'\"\r\n [indeterminate]=\"descendantsPartiallySelected(nestedNodeMap.get(node)!)\">{{node.name}}</mat-checkbox>\r\n }\r\n @else {\r\n <span class=\"text-current\">{{node.name}}</span>\r\n }\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n</mat-select>\r\n}","export class CmatSelectTreeNode {\r\n id: string | number;\r\n children: CmatSelectTreeNode[] | null;\r\n name: string;\r\n}\r\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":"cmat-components-select-tree.mjs","sources":["../../../projects/cmat/components/select-tree/select-tree.flatnode.ts","../../../projects/cmat/components/select-tree/select-tree.component.ts","../../../projects/cmat/components/select-tree/select-tree.component.html","../../../projects/cmat/components/select-tree/select-tree.node.ts","../../../projects/cmat/components/select-tree/cmat-components-select-tree.ts"],"sourcesContent":["export class CmatSelectTreeFlatNode {\r\n id: string | number;\r\n name: string;\r\n level: number;\r\n expandable: boolean;\r\n}\r\n","/* eslint-disable @typescript-eslint/member-ordering */\r\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { CdkTree } from '@angular/cdk/tree';\r\nimport { NgClass, AsyncPipe } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Optional,\r\n Self,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, ReactiveFormsModule, NgControl } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldControl } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatSelect, MatSelectModule } from '@angular/material/select';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { isNil, isUndefined } from 'lodash-es';\r\nimport { merge, ReplaySubject, Subject } from 'rxjs';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { CmatSelectSearchComponent } from 'cmat/components/select-search';\r\nimport { CmatSelectTreeFlatNode } from './select-tree.flatnode';\r\nimport { CmatSelectTreeNode } from './select-tree.node';\r\n\r\nlet NEXT_ID = 0;\r\n\r\n@Component({\r\n selector: 'cmat-select-tree',\r\n templateUrl: './select-tree.component.html',\r\n styleUrls: ['./select-tree.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [{ provide: MatFormFieldControl, useExisting: CmatSelectTreeComponent }],\r\n exportAs: 'cmatSelectTree',\r\n imports: [MatIconModule, MatSelectModule, CmatSelectSearchComponent,\r\n ReactiveFormsModule, MatTreeModule, NgClass, MatButtonModule, MatCheckboxModule, AsyncPipe]\r\n})\r\nexport class CmatSelectTreeComponent implements MatFormFieldControl<any>, ControlValueAccessor, OnChanges, AfterViewInit, OnDestroy {\r\n @HostBinding('attr.id')\r\n @Input()\r\n public id = `cmat-select-tree-${NEXT_ID++}`;\r\n\r\n @Input() dataSource: CmatSelectTreeNode[];\r\n\r\n @Input() noEntriesFoundLabel = '无结果';\r\n\r\n @Input() showNoFoundLabel = true;\r\n\r\n @Input() multiple: boolean = false;\r\n\r\n @Input() overallSearchEnabled: boolean = true;\r\n\r\n @Input() canNull: boolean = false;\r\n\r\n @Input() customTriggerLabelFn: (value: CmatSelectTreeNode[]) => string;\r\n\r\n @Input() customTriggerLabelTemplate: string;\r\n\r\n @Input() expandable: boolean;\r\n\r\n @Input() showToggleAllCheckbox: boolean = false;\r\n\r\n flatNodeMap = new Map<CmatSelectTreeFlatNode, CmatSelectTreeNode>();\r\n\r\n nestedNodeMap = new Map<CmatSelectTreeNode, CmatSelectTreeFlatNode>();\r\n\r\n selectedParent: CmatSelectTreeFlatNode | null = null;\r\n\r\n checklistSelection = new SelectionModel<CmatSelectTreeFlatNode>(true);\r\n\r\n treeDataSource: CmatSelectTreeNode[];\r\n dataFlatNodes: CmatSelectTreeFlatNode[];\r\n\r\n overallFilterControl: FormControl = new FormControl();\r\n\r\n isIndeterminate = false;\r\n isChecked = false;\r\n\r\n checkCount: number = 0;\r\n\r\n selectControl: FormControl = new FormControl();\r\n matSelectData: ReplaySubject<any[]> = new ReplaySubject<any[]>(1);\r\n\r\n readonly stateChanges: Subject<void> = new Subject<void>();\r\n focused: boolean = false;\r\n touched: boolean = false;\r\n\r\n private _matSelect: MatSelect;\r\n private _unsubscribeAll: Subject<void> = new Subject<void>();\r\n\r\n constructor(@Optional() @Self() public ngControl: NgControl, private _changeDetectorRef: ChangeDetectorRef) {\r\n if (this.ngControl != null) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n }\r\n\r\n @ViewChild('componentTree', { static: false }) tree: CdkTree<CmatSelectTreeNode>;\r\n\r\n @ViewChild('componentSelect', { static: false }) set matSelect(m: MatSelect) {\r\n const existsSelect = !isUndefined(this._matSelect);\r\n this._matSelect = m;\r\n\r\n if (!existsSelect) {\r\n this._init(this.value);\r\n }\r\n }\r\n\r\n @HostListener('document:click')\r\n clickedOut(): void {\r\n if (!this._matSelect?.panelOpen) {\r\n this.focused = false;\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n getLevel = (dataNode: CmatSelectTreeFlatNode): number => dataNode.level;\r\n\r\n childrenAccessor: (node: CmatSelectTreeNode) => CmatSelectTreeNode[] = (node: CmatSelectTreeNode) => node.children ?? [];\r\n\r\n hasChild: (_: number, node: CmatSelectTreeNode) => boolean = (_: number, node: CmatSelectTreeNode) => !!node.children && node.children.length > 0;\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['dataSource']) {\r\n this.treeDataSource = this.dataSource;\r\n this.dataFlatNodes = this._getFlattenNodes(this.dataSource);\r\n this.matSelectData.next(this.dataFlatNodes);\r\n\r\n if (this.dataSource.length > 0) {\r\n this._init(this.value);\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n let panelClass: string = '';\r\n if (!this.overallSearchEnabled) {\r\n panelClass = 'cmat-select-search-panel overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom';\r\n }\r\n\r\n if (this._matSelect.panelClass) {\r\n if (Array.isArray(this._matSelect.panelClass)) {\r\n (this._matSelect.panelClass as string[]).push(panelClass);\r\n } else if (typeof this._matSelect.panelClass === 'string') {\r\n this._matSelect.panelClass = [this._matSelect.panelClass, panelClass];\r\n } else if (typeof this._matSelect.panelClass === 'object') {\r\n this._matSelect.panelClass.entries[panelClass] = true;\r\n }\r\n } else {\r\n this._matSelect.panelClass = panelClass;\r\n }\r\n\r\n\r\n this._matSelect.openedChange\r\n .pipe(takeUntil(this._unsubscribeAll))\r\n .subscribe((opened) => {\r\n if (opened && this.multiple) {\r\n this.checklistSelection.selected.forEach((node) => {\r\n if (node.expandable) {\r\n const descendants = this._getDescendants(node);\r\n this.checklistSelection.select(...descendants);\r\n }\r\n });\r\n\r\n this._updateSelect(this.checklistSelection.selected);\r\n }\r\n\r\n if (!opened) {\r\n setTimeout(() => {\r\n if (!isNil(this.checklistSelection.selected)) {\r\n\r\n if (this.multiple) {\r\n const findOutNode: CmatSelectTreeFlatNode[] = [];\r\n this.checklistSelection.selected.forEach((node) => {\r\n const parentNode = this._getParentNode(node);\r\n if (parentNode && this.checklistSelection.isSelected(parentNode)) {\r\n findOutNode.push(node);\r\n }\r\n });\r\n\r\n findOutNode.forEach((node) => {\r\n this.checklistSelection.deselect(node);\r\n });\r\n\r\n this.value = this.checklistSelection.selected;\r\n } else {\r\n if (this.checklistSelection.selected && this.checklistSelection.selected.length > 0) {\r\n this.value = this.checklistSelection.selected[0];\r\n }\r\n }\r\n\r\n this._matSelect.writeValue(this.value);\r\n this._matSelect._onChange(this.value);\r\n }\r\n }, 200);\r\n }\r\n });\r\n\r\n merge(this.overallFilterControl.valueChanges)\r\n .pipe(takeUntil(this._unsubscribeAll), debounceTime(200))\r\n .subscribe(() => {\r\n const dataClone: CmatSelectTreeNode[] = JSON.parse(JSON.stringify([...this.dataSource]));\r\n\r\n const arr: number[] = [];\r\n\r\n for (let i = dataClone.length - 1; i >= 0; i--) {\r\n if (!this._applyColumnLevelFilters(dataClone[i], this.overallFilterControl.value.toLowerCase())) {\r\n arr.push(i);\r\n }\r\n }\r\n arr.forEach((v) => { dataClone.splice(v, 1); });\r\n\r\n this.treeDataSource = dataClone;\r\n this.dataFlatNodes = this._getFlattenNodes(dataClone);\r\n this.matSelectData.next(this.dataFlatNodes);\r\n\r\n if (this.expandable) {\r\n this.tree.expandAll();\r\n }\r\n this._updateSelect(this.checklistSelection.selected);\r\n\r\n this._changeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.stateChanges.complete();\r\n this._unsubscribeAll.next(void 0);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n @Input()\r\n get placeholder(): string {\r\n return this._placeholder;\r\n }\r\n set placeholder(value: string) {\r\n this._placeholder = value;\r\n this.stateChanges.next();\r\n }\r\n private _placeholder: string = '';\r\n\r\n @Input()\r\n get value(): any {\r\n return this._value;\r\n }\r\n set value(value: any) {\r\n if (value !== this.value) {\r\n this._value = value;\r\n\r\n this.stateChanges.next();\r\n\r\n this._onModelChange(value);\r\n }\r\n }\r\n protected _value: any;\r\n\r\n get empty(): boolean {\r\n return !this._value;\r\n }\r\n\r\n get errorState(): boolean {\r\n if (this.ngControl == null)\r\n return false;\r\n\r\n return (this.touched && this.ngControl?.invalid) ?? false;\r\n }\r\n\r\n get shouldLabelFloat(): boolean {\r\n return this.focused || !this.empty;\r\n }\r\n\r\n @Input()\r\n get required(): boolean { return this._required; }\r\n set required(value: any) {\r\n this._required = coerceBooleanProperty(value);\r\n this.stateChanges.next();\r\n }\r\n protected _required = false;\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n if (!isNil(this.ngControl?.disabled)) {\r\n return this.ngControl.disabled;\r\n }\r\n return this._disabled;\r\n }\r\n set disabled(value: BooleanInput) {\r\n this._disabled = coerceBooleanProperty(value);\r\n\r\n if (this.focused) {\r\n this.focused = false;\r\n this.stateChanges.next();\r\n }\r\n }\r\n protected _disabled = false;\r\n\r\n registerOnChange(fn: any): void {\r\n this._onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this._onTouchedChange = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this._matSelect?.setDisabledState(isDisabled);\r\n }\r\n\r\n setDescribedByIds(ids: string[]): void {\r\n this._matSelect?.setDescribedByIds(ids);\r\n }\r\n\r\n onContainerClick(): void {\r\n if (!this.focused) {\r\n this._matSelect?.focus();\r\n }\r\n }\r\n\r\n onFocusIn(): void {\r\n if (!this.focused) {\r\n this.focused = true;\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n onFocusOut(event: FocusEvent): void {\r\n if (!this._matSelect.panel.nativeElement.contains(event.relatedTarget as Element)) {\r\n this.touched = true;\r\n this.focused = false;\r\n this._onTouchedChange();\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n writeValue(value: any): void {\r\n this._init(value);\r\n }\r\n\r\n simpleTriggerLabelFn(value: CmatSelectTreeFlatNode[]): string {\r\n return value.map((node) => {\r\n\r\n if (isNil(node)) {\r\n return '';\r\n }\r\n if (isNil(this.customTriggerLabelTemplate)\r\n || typeof this.customTriggerLabelTemplate !== 'string'\r\n || this.customTriggerLabelTemplate.trim().length === 0) {\r\n return `${node.id}`;\r\n }\r\n let atLeastPartialSubstitution = false;\r\n const substitution: string = this.customTriggerLabelTemplate.replace(/[$][{]([^}]+)[}]/g, (_, key) =>\r\n !isNil((node as any)[key]) && (atLeastPartialSubstitution = true) ? (node as any)[key] : '');\r\n if (atLeastPartialSubstitution === false) {\r\n return `${node.id}`;\r\n }\r\n return substitution.trim();\r\n }).join(', ');\r\n }\r\n\r\n /** Whether all the descendants of the node are selected. */\r\n descendantsAllSelected(node: CmatSelectTreeFlatNode): boolean {\r\n const descendants = this._getDescendants(node);\r\n return descendants.every(child =>\r\n this.checklistSelection.isSelected(child)\r\n );\r\n }\r\n\r\n /** Whether part of the descendants are selected */\r\n descendantsPartiallySelected(node: CmatSelectTreeFlatNode): boolean {\r\n const descendants = this._getDescendants(node);\r\n const result = descendants.some(child => this.checklistSelection.isSelected(child));\r\n return result && !descendants.every(child => this.checklistSelection.isSelected(child));\r\n }\r\n\r\n /** Toggle the to-do item selection. Select/deselect all the descendants node */\r\n todoItemSelectionToggle(event: any, node: CmatSelectTreeFlatNode): void {\r\n event.stopPropagation();\r\n if (this.multiple) {\r\n this.checklistSelection.toggle(node);\r\n\r\n const descendants = this._getDescendants(node);\r\n const diffCount = descendants.filter(child =>\r\n this.checklistSelection.isSelected(child)\r\n ).length;\r\n\r\n if (this.checklistSelection.isSelected(node)) {\r\n this.checklistSelection.select(...descendants);\r\n\r\n this.checkCount = this.checkCount + 1 + descendants.length - diffCount;\r\n } else {\r\n this.checklistSelection.deselect(...descendants);\r\n\r\n this.checkCount = this.checkCount - 1 - descendants.length;\r\n }\r\n\r\n this._checkAllParentsSelection(node);\r\n\r\n this._updateCheckState();\r\n } else {\r\n this.checklistSelection.clear();\r\n this.checklistSelection.select(node);\r\n\r\n this._matSelect.close();\r\n }\r\n }\r\n\r\n /** Toggle a leaf to-do item selection. Check all the parents to see if they changed */\r\n todoLeafItemSelectionToggle(event: any, node: CmatSelectTreeFlatNode): void {\r\n event.stopPropagation();\r\n if (this.multiple) {\r\n this.checklistSelection.toggle(node);\r\n\r\n this.checklistSelection.isSelected(node) ? this.checkCount += 1 : this.checkCount -= 1;\r\n\r\n this._checkAllParentsSelection(node);\r\n\r\n this._updateCheckState();\r\n } else {\r\n this.checklistSelection.clear();\r\n this.checklistSelection.select(node);\r\n\r\n this._matSelect.close();\r\n }\r\n }\r\n\r\n clearSelection(): void {\r\n this.checklistSelection.clear();\r\n this.isChecked = false;\r\n this.isIndeterminate = false;\r\n\r\n this.checkCount = 0;\r\n\r\n this.value = null;\r\n this._matSelect.writeValue(null);\r\n this._matSelect._onChange(null);\r\n }\r\n\r\n\r\n\r\n toggleSelectAll(selectAllValue: boolean): void {\r\n if (selectAllValue) {\r\n this.dataFlatNodes.forEach((node) => {\r\n this.checklistSelection.select(node);\r\n });\r\n this.isIndeterminate = false;\r\n this.isChecked = true;\r\n\r\n this.checkCount = this.checklistSelection.selected.length;\r\n } else {\r\n this.checklistSelection.clear();\r\n this.isChecked = false;\r\n this.isIndeterminate = false;\r\n\r\n this.checkCount = 0;\r\n }\r\n }\r\n\r\n getChecklistSelectionIsSelected(i: CmatSelectTreeNode): boolean {\r\n return this.checklistSelection.isSelected(this.nestedNodeMap.get(i)!);\r\n }\r\n\r\n compareObjects(o1: any, o2: any): boolean {\r\n return o1 && o2 ? o1?.name === o2?.name && o1?.id === o2?.id : o1 === o2;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n private _onModelChange: (value: any) => void = () => { };\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n private _onTouchedChange: () => any = () => { };\r\n\r\n private _init(v: any): void {\r\n if (this.dataSource.length > 0 && this.treeDataSource && this._matSelect) {\r\n if (this.expandable) {\r\n this.tree.expandAll();\r\n }\r\n\r\n if (!isNil(v)) {\r\n this._updateChecklistSelection(v);\r\n } else {\r\n this.checklistSelection.clear();\r\n }\r\n\r\n if (v && v.length > 0) {\r\n\r\n if (this.multiple) {\r\n const findOutNode: CmatSelectTreeFlatNode[] = [];\r\n this.checklistSelection.selected.forEach((node) => {\r\n const parentNode = this._getParentNode(node);\r\n if (parentNode && this.checklistSelection.isSelected(parentNode)) {\r\n findOutNode.push(node);\r\n }\r\n });\r\n\r\n findOutNode.forEach((node) => {\r\n this.checklistSelection.deselect(node);\r\n });\r\n\r\n this.value = this.checklistSelection.selected;\r\n\r\n this.checkCount = this.checklistSelection.selected.length;\r\n\r\n } else {\r\n this.value = this.checklistSelection.selected;\r\n\r\n this.checkCount = 1;\r\n }\r\n\r\n } else {\r\n this.value = v;\r\n this.checkCount = 0;\r\n }\r\n this._matSelect.writeValue(this.value);\r\n this._matSelect._onChange(this.value);\r\n\r\n this._updateCheckState();\r\n\r\n this._changeDetectorRef.markForCheck();\r\n } else {\r\n this.value = v;\r\n }\r\n }\r\n /* Checks all the parents when a leaf node is selected/unselected */\r\n private _checkAllParentsSelection(node: CmatSelectTreeFlatNode): void {\r\n let parent: CmatSelectTreeFlatNode | null = this._getParentNode(node);\r\n while (parent) {\r\n parent.expandable = true;\r\n this.tree.expand(this.flatNodeMap.get(parent)!);\r\n this._checkRootNodeSelection(parent);\r\n parent = this._getParentNode(parent);\r\n }\r\n }\r\n\r\n /** Check root node checked state and change it accordingly */\r\n private _checkRootNodeSelection(node: CmatSelectTreeFlatNode): void {\r\n const nodeSelected = this.checklistSelection.isSelected(node);\r\n const descendants = this._getDescendants(node);\r\n const descAllSelected = descendants.every(child =>\r\n this.checklistSelection.isSelected(child)\r\n );\r\n if (nodeSelected && !descAllSelected) {\r\n this.checklistSelection.deselect(node);\r\n\r\n this.checkCount -= 1;\r\n } else if (!nodeSelected && (descAllSelected || descendants.length === 0)) {\r\n this.checklistSelection.select(node);\r\n\r\n this.checkCount += 1;\r\n }\r\n }\r\n\r\n /* Get the parent node of a node */\r\n private _getParentNode(node: CmatSelectTreeFlatNode): CmatSelectTreeFlatNode | null {\r\n const currentLevel = this.getLevel(node);\r\n\r\n if (currentLevel < 1) {\r\n return null;\r\n }\r\n\r\n const startIndex = this.dataFlatNodes.indexOf(node) - 1;\r\n\r\n for (let i = startIndex; i >= 0; i--) {\r\n const currentNode = this.dataFlatNodes[i];\r\n\r\n if (this.getLevel(currentNode) < currentLevel) {\r\n return currentNode;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n private _updateChecklistSelection(value: any[]): void {\r\n this.checklistSelection.clear();\r\n if (!isNil(value)) {\r\n const valueArray: any[] = !Array.isArray(value) ? [value] : value;\r\n valueArray.forEach((item) => {\r\n const nodeFound = this.dataFlatNodes.find(node => node.id === item.id);\r\n if (isNil(nodeFound)) {\r\n return;\r\n }\r\n this.checklistSelection.select(nodeFound);\r\n });\r\n }\r\n }\r\n\r\n private _updateSelect(value: any[]): void {\r\n if (!isNil(value)) {\r\n const valueArray: any[] = !Array.isArray(value) ? [value] : value;\r\n\r\n this.checkCount = 0;\r\n\r\n if (this.overallSearchEnabled)//有搜索功能,转化选中节点为当前数据源节点\r\n {\r\n valueArray.forEach((item) => {\r\n const nodeFound = this.dataFlatNodes.find(node => node.id === item.id);\r\n if (isNil(nodeFound)) {\r\n return;\r\n }\r\n\r\n this.checkCount += 1;\r\n\r\n this.checklistSelection.deselect(item);\r\n\r\n this.checklistSelection.select(nodeFound);\r\n });\r\n }\r\n\r\n if (this.multiple) {\r\n this.checklistSelection.selected.forEach((item) => {\r\n this._checkAllParentsSelection(item);\r\n });\r\n }\r\n\r\n this._updateCheckState();\r\n }\r\n }\r\n\r\n private _applyColumnLevelFilters(node: CmatSelectTreeNode, filter: string): boolean {\r\n let result = false;\r\n\r\n if (node?.children && node.children.length > 0) {\r\n for (let i = node.children.length - 1; i >= 0; i--) {\r\n const resultTemp = this._applyColumnLevelFilters(node.children[i], filter);\r\n\r\n if (!resultTemp) {\r\n node.children.splice(i, 1);\r\n }\r\n\r\n result = resultTemp || result;\r\n }\r\n }\r\n\r\n if (node?.children && node.children.length === 0) {\r\n node.children = null;\r\n }\r\n\r\n const cellValue = node['name'].toLowerCase();\r\n if (cellValue.includes(filter)) {\r\n result = true;\r\n }\r\n return result;\r\n }\r\n\r\n private _updateCheckState(): void {\r\n if (this.showToggleAllCheckbox && this.dataSource.length > 0) {\r\n this.isIndeterminate = this.checkCount < this.dataFlatNodes.length && this.checkCount > 0;\r\n this.isChecked = this.checkCount === this.dataFlatNodes.length && this.checkCount > 0;\r\n }\r\n }\r\n\r\n private _getFlattenNodes(nodes: CmatSelectTreeNode[], i: number = 0): CmatSelectTreeFlatNode[] {\r\n const flattenedNodes: CmatSelectTreeFlatNode[] = [];\r\n\r\n for (const node of nodes) {\r\n flattenedNodes.push(this._transformer(node, i));\r\n if (node.children) {\r\n flattenedNodes.push(...this._getFlattenNodes(node.children, i + 1));\r\n }\r\n }\r\n return flattenedNodes;\r\n }\r\n\r\n private _transformer = (node: CmatSelectTreeNode, level: number): CmatSelectTreeFlatNode => {\r\n const existingNode = this.nestedNodeMap.get(node);\r\n const flatNode = existingNode && existingNode.name === node.name\r\n ? existingNode\r\n : new CmatSelectTreeFlatNode();\r\n flatNode.id = node.id;\r\n flatNode.name = node.name;\r\n flatNode.level = level;\r\n flatNode.expandable = !!node.children && node.children.length > 0;\r\n this.flatNodeMap.set(flatNode, node);\r\n this.nestedNodeMap.set(node, flatNode);\r\n return flatNode;\r\n };\r\n\r\n private _getDescendants(dataNode: CmatSelectTreeFlatNode): CmatSelectTreeFlatNode[] {\r\n const startIndex = this.dataFlatNodes.indexOf(dataNode);\r\n const results: CmatSelectTreeFlatNode[] = [];\r\n\r\n for (let i = startIndex + 1;\r\n i < this.dataFlatNodes.length && this.getLevel(dataNode) < this.getLevel(this.dataFlatNodes[i]);\r\n i++) {\r\n results.push(this.dataFlatNodes[i]);\r\n }\r\n return results;\r\n }\r\n\r\n}\r\n","@if(multiple){\r\n<mat-select #componentSelect multiple\r\n panelClass=\"overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\"\r\n [placeholder]=\"placeholder\" [required]=\"required\" [formControl]=\"selectControl\" [compareWith]=\"compareObjects\"\r\n (focusin)=\"onFocusIn()\">\r\n <mat-select-trigger>\r\n @if (!customTriggerLabelFn) {\r\n {{simpleTriggerLabelFn(checklistSelection.selected)}}\r\n }\r\n @else{\r\n {{customTriggerLabelFn}}\r\n }\r\n </mat-select-trigger>\r\n\r\n <div (focusout)=\"onFocusOut($event)\">\r\n @if (overallSearchEnabled) {\r\n <mat-option>\r\n <cmat-select-search [showNoFoundLabel]=\"showNoFoundLabel\" [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\r\n [formControl]=\"overallFilterControl\" [clearSearchInput]=\"true\"\r\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\" [toggleAllCheckboxChecked]=\"isChecked\"\r\n [showToggleAllCheckbox]=\"showToggleAllCheckbox&&multiple\" (toggleAll)=\"toggleSelectAll($event)\">\r\n </cmat-select-search>\r\n </mat-option>\r\n }\r\n @for (selectData of matSelectData | async ; track $index) {\r\n <mat-option class=\"hidden\" [value]=\"selectData\">{{selectData.name}}</mat-option>\r\n }\r\n <mat-tree #componentTree [dataSource]=\"treeDataSource\" [childrenAccessor]=\"childrenAccessor\">\r\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodePadding\r\n [ngClass]=\"getChecklistSelectionIsSelected(node)?'selected':''\"\r\n (click)=\"todoLeafItemSelectionToggle($event,nestedNodeMap.get(node)!)\">\r\n <button type=\"button\" mat-icon-button disabled>\r\n\r\n </button>\r\n @if (multiple) {\r\n <mat-checkbox class=\"checklist-leaf-node text-current\" [color]=\"'primary'\"\r\n [checked]=\"getChecklistSelectionIsSelected(node)\">{{node.name}}</mat-checkbox>\r\n }\r\n @else{\r\n <span class=\"text-current\">{{node.name}}</span>\r\n }\r\n </mat-tree-node>\r\n\r\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding\r\n [ngClass]=\"getChecklistSelectionIsSelected(node)?'selected':''\" (click)=\"todoItemSelectionToggle($event,nestedNodeMap.get(node)!)\">\r\n <button type=\"button\" mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'toggle ' + node.name\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\"\r\n [svgIcon]=\"componentTree.isExpanded(node) ? 'mat_outline:expand_more' : 'mat_outline:chevron_right'\">\r\n </mat-icon>\r\n </button>\r\n @if (multiple) {\r\n <mat-checkbox class=\"text-current\" [checked]=\"descendantsAllSelected(nestedNodeMap.get(node)!)\" [color]=\"'primary'\"\r\n [indeterminate]=\"descendantsPartiallySelected(nestedNodeMap.get(node)!)\">{{node.name}}</mat-checkbox>\r\n }\r\n @else {\r\n <span class=\"text-current\">{{node.name}}</span>\r\n }\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n</mat-select>\r\n}\r\n@else {\r\n<mat-select #componentSelect panelClass=\"overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\"\r\n [placeholder]=\"placeholder\" [required]=\"required\" [formControl]=\"selectControl\" [compareWith]=\"compareObjects\"\r\n (focusin)=\"onFocusIn()\">\r\n <mat-select-trigger>\r\n @if (!customTriggerLabelFn) {\r\n {{simpleTriggerLabelFn(checklistSelection.selected)}}\r\n }\r\n @else{\r\n {{customTriggerLabelFn}}\r\n }\r\n </mat-select-trigger>\r\n\r\n <div (focusout)=\"onFocusOut($event)\">\r\n @if (overallSearchEnabled) {\r\n <mat-option>\r\n <cmat-select-search [showNoFoundLabel]=\"showNoFoundLabel\" [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\r\n [formControl]=\"overallFilterControl\" [clearSearchInput]=\"true\"\r\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\" [toggleAllCheckboxChecked]=\"isChecked\"\r\n [showToggleAllCheckbox]=\"showToggleAllCheckbox&&multiple\" (toggleAll)=\"toggleSelectAll($event)\">\r\n </cmat-select-search>\r\n </mat-option>\r\n }\r\n @if (canNull&&!multiple&&treeDataSource.length!==0) {\r\n <mat-option class=\"pl-10\" (click)=\"clearSelection()\">空</mat-option>\r\n }\r\n @for (selectData of matSelectData | async ; track $index) {\r\n <mat-option class=\"hidden\" [value]=\"selectData\">{{selectData.name}}</mat-option>\r\n }\r\n\r\n <mat-tree #componentTree [dataSource]=\"treeDataSource\" [childrenAccessor]=\"childrenAccessor\">\r\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodePadding\r\n [ngClass]=\"getChecklistSelectionIsSelected(node)?'selected':''\"\r\n (click)=\"todoLeafItemSelectionToggle($event,nestedNodeMap.get(node)!)\">\r\n <button type=\"button\" mat-icon-button disabled>\r\n\r\n </button>\r\n @if (multiple) {\r\n <mat-checkbox class=\"checklist-leaf-node text-current\" [color]=\"'primary'\"\r\n [checked]=\"getChecklistSelectionIsSelected(node)\">{{node.name}}</mat-checkbox>\r\n }\r\n @else{\r\n <span class=\"text-current\">{{node.name}}</span>\r\n }\r\n </mat-tree-node>\r\n\r\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding\r\n [ngClass]=\"getChecklistSelectionIsSelected(node)?'selected':''\" (click)=\"todoItemSelectionToggle($event,nestedNodeMap.get(node)!)\">\r\n <button type=\"button\" mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'toggle ' + node.name\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\"\r\n [svgIcon]=\"componentTree.isExpanded(node) ? 'mat_outline:expand_more' : 'mat_outline:chevron_right'\">\r\n </mat-icon>\r\n </button>\r\n @if (multiple) {\r\n <mat-checkbox class=\"text-current\" [checked]=\"descendantsAllSelected(nestedNodeMap.get(node)!)\" [color]=\"'primary'\"\r\n [indeterminate]=\"descendantsPartiallySelected(nestedNodeMap.get(node)!)\">{{node.name}}</mat-checkbox>\r\n }\r\n @else {\r\n <span class=\"text-current\">{{node.name}}</span>\r\n }\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n</mat-select>\r\n}","export class CmatSelectTreeNode {\r\n id: string | number;\r\n children: CmatSelectTreeNode[] | null;\r\n name: string;\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -92,12 +92,12 @@ class CmatSpeedDialActionsComponent {
92
92
  _changeElementStyle(elem, style, value) {
93
93
  this._renderer.setStyle(elem, style, value);
94
94
  }
95
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CmatSpeedDialActionsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
96
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.1", type: CmatSpeedDialActionsComponent, isStandalone: true, selector: "cmat-speed-dial-actions", queries: [{ propertyName: "_buttons", predicate: MatMiniFabButton }], ngImport: i0, template: `@if (miniFabVisible) {
95
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: CmatSpeedDialActionsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.7", type: CmatSpeedDialActionsComponent, isStandalone: true, selector: "cmat-speed-dial-actions", queries: [{ propertyName: "_buttons", predicate: MatMiniFabButton }], ngImport: i0, template: `@if (miniFabVisible) {
97
97
  <ng-content select="[mat-mini-fab]" />
98
98
  }`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CmatSpeedDialActionsComponent, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: CmatSpeedDialActionsComponent, decorators: [{
101
101
  type: Component,
102
102
  args: [{
103
103
  selector: 'cmat-speed-dial-actions',
@@ -233,15 +233,15 @@ class CmatSpeedDialComponent {
233
233
  this._documentClickUnlistener = null;
234
234
  }
235
235
  }
236
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CmatSpeedDialComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
237
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CmatSpeedDialComponent, isStandalone: true, selector: "cmat-speed-dial", inputs: { fixed: "fixed", open: "open", direction: "direction", animationMode: "animationMode" }, outputs: { openChange: "openChange" }, host: { listeners: { "click": "onClick()" }, properties: { "class.dial-opened": "this.open" } }, queries: [{ propertyName: "_childActions", first: true, predicate: CmatSpeedDialActionsComponent, descendants: true }], ngImport: i0, template: `
236
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: CmatSpeedDialComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
237
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.7", type: CmatSpeedDialComponent, isStandalone: true, selector: "cmat-speed-dial", inputs: { fixed: "fixed", open: "open", direction: "direction", animationMode: "animationMode" }, outputs: { openChange: "openChange" }, host: { listeners: { "click": "onClick()" }, properties: { "class.dial-opened": "this.open" } }, queries: [{ propertyName: "_childActions", first: true, predicate: CmatSpeedDialActionsComponent, descendants: true }], ngImport: i0, template: `
238
238
  <div class="cmat-speed-dial-container">
239
239
  <ng-content select="cmat-speed-dial-trigger" />
240
240
  <ng-content select="cmat-speed-dial-actions" />
241
241
  </div>
242
242
  `, isInline: true, styles: ["cmat-speed-dial{display:inline-block}cmat-speed-dial.dial-opened .cmat-speed-dial-container cmat-speed-dial-trigger.dial-spin .spin180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}cmat-speed-dial.dial-opened .cmat-speed-dial-container cmat-speed-dial-trigger.dial-spin .spin360{-webkit-transform:rotate(360deg);transform:rotate(360deg)}cmat-speed-dial .cmat-speed-dial-container{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;z-index:20}cmat-speed-dial .cmat-speed-dial-container cmat-speed-dial-trigger{pointer-events:auto;z-index:24}cmat-speed-dial .cmat-speed-dial-container cmat-speed-dial-trigger.dial-spin .spin180,cmat-speed-dial .cmat-speed-dial-container cmat-speed-dial-trigger.dial-spin .spin360{-webkit-transition:all .6s cubic-bezier(.4,0,.2,1);transition:all .6s cubic-bezier(.4,0,.2,1)}cmat-speed-dial .cmat-speed-dial-container cmat-speed-dial-actions{display:-webkit-box;display:-webkit-flex;display:flex;position:absolute;height:0;width:0}cmat-speed-dial.dial-fling .cmat-speed-dial-container cmat-speed-dial-actions .cmat-action-item{display:block;opacity:1;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}cmat-speed-dial.dial-scale .cmat-speed-dial-container cmat-speed-dial-actions .cmat-action-item{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.14286s;transition-duration:.14286s}cmat-speed-dial.dial-down cmat-speed-dial-actions{bottom:2px;left:7px}cmat-speed-dial.dial-down .cmat-speed-dial-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}cmat-speed-dial.dial-down .cmat-speed-dial-container cmat-speed-dial-trigger{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}cmat-speed-dial.dial-down .cmat-speed-dial-container cmat-speed-dial-actions{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}cmat-speed-dial.dial-down .cmat-speed-dial-container cmat-speed-dial-actions .cmat-action-item{margin-top:10px}cmat-speed-dial.dial-up cmat-speed-dial-actions{top:2px;left:7px}cmat-speed-dial.dial-up .cmat-speed-dial-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}cmat-speed-dial.dial-up .cmat-speed-dial-container cmat-speed-dial-trigger{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}cmat-speed-dial.dial-up .cmat-speed-dial-container cmat-speed-dial-actions{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}cmat-speed-dial.dial-up .cmat-speed-dial-container cmat-speed-dial-actions .cmat-action-item{margin-bottom:10px}cmat-speed-dial.dial-left cmat-speed-dial-actions{top:7px;left:2px}cmat-speed-dial.dial-left .cmat-speed-dial-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}cmat-speed-dial.dial-left .cmat-speed-dial-container cmat-speed-dial-trigger{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}cmat-speed-dial.dial-left .cmat-speed-dial-container cmat-speed-dial-actions{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}cmat-speed-dial.dial-left .cmat-speed-dial-container cmat-speed-dial-actions .cmat-action-item{margin-right:10px}cmat-speed-dial.dial-right cmat-speed-dial-actions{top:7px;right:2px}cmat-speed-dial.dial-right .cmat-speed-dial-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}cmat-speed-dial.dial-right .cmat-speed-dial-container cmat-speed-dial-trigger{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}cmat-speed-dial.dial-right .cmat-speed-dial-container cmat-speed-dial-actions{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}cmat-speed-dial.dial-right .cmat-speed-dial-container cmat-speed-dial-actions .cmat-action-item{margin-left:10px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
243
243
  }
244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CmatSpeedDialComponent, decorators: [{
244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: CmatSpeedDialComponent, decorators: [{
245
245
  type: Component,
246
246
  args: [{ selector: 'cmat-speed-dial', template: `
247
247
  <div class="cmat-speed-dial-container">
@@ -283,10 +283,10 @@ class CmatSpeedDialTriggerComponent {
283
283
  event.stopPropagation();
284
284
  }
285
285
  }
286
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CmatSpeedDialTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
287
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CmatSpeedDialTriggerComponent, isStandalone: true, selector: "cmat-speed-dial-trigger", inputs: { spin: "spin" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.dial-spin": "this.sp" } }, ngImport: i0, template: ' <ng-content select="[mat-fab]" />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
286
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: CmatSpeedDialTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
287
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.7", type: CmatSpeedDialTriggerComponent, isStandalone: true, selector: "cmat-speed-dial-trigger", inputs: { spin: "spin" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.dial-spin": "this.sp" } }, ngImport: i0, template: ' <ng-content select="[mat-fab]" />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
288
288
  }
289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CmatSpeedDialTriggerComponent, decorators: [{
289
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: CmatSpeedDialTriggerComponent, decorators: [{
290
290
  type: Component,
291
291
  args: [{
292
292
  selector: 'cmat-speed-dial-trigger',
@@ -7,10 +7,10 @@ import { Subject, Observable } from 'rxjs';
7
7
  import { throttleTime, tap, takeUntil } from 'rxjs/operators';
8
8
 
9
9
  class CmatTimelineItemIconDirective {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CmatTimelineItemIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.1", type: CmatTimelineItemIconDirective, isStandalone: true, selector: "ng-template[cmatTimelineItemIcon]", ngImport: i0 }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: CmatTimelineItemIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.7", type: CmatTimelineItemIconDirective, isStandalone: true, selector: "ng-template[cmatTimelineItemIcon]", ngImport: i0 }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CmatTimelineItemIconDirective, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: CmatTimelineItemIconDirective, decorators: [{
14
14
  type: Directive,
15
15
  args: [{
16
16
  selector: 'ng-template[cmatTimelineItemIcon]',
@@ -18,10 +18,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
18
18
  }]
19
19
  }] });
20
20
  class CmatTimelineItemLabelDirective {
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CmatTimelineItemLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.1", type: CmatTimelineItemLabelDirective, isStandalone: true, selector: "ng-template[cmatTimelineItemLabel]", ngImport: i0 }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: CmatTimelineItemLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.7", type: CmatTimelineItemLabelDirective, isStandalone: true, selector: "ng-template[cmatTimelineItemLabel]", ngImport: i0 }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CmatTimelineItemLabelDirective, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: CmatTimelineItemLabelDirective, decorators: [{
25
25
  type: Directive,
26
26
  args: [{
27
27
  selector: 'ng-template[cmatTimelineItemLabel]',
@@ -40,12 +40,12 @@ class CmatTimelineItemComponent {
40
40
  this._fillEl.nativeElement.style.minHeight = this._contentEl.nativeElement.offsetHeight + 'px';
41
41
  this._fillEl.nativeElement.style.minWidth = 'unset';
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CmatTimelineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.1", type: CmatTimelineItemComponent, isStandalone: true, selector: "cmat-timeline-item", inputs: { label: "label", icon: "icon", svgIcon: "svgIcon", iconUrl: "iconUrl" }, host: { properties: { "class": "this.class" } }, queries: [{ propertyName: "customIconTpl", first: true, predicate: CmatTimelineItemIconDirective, descendants: true, read: TemplateRef }, { propertyName: "customLabelTpl", first: true, predicate: CmatTimelineItemLabelDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "_contentEl", first: true, predicate: ["contentEl"], descendants: true, static: true }, { propertyName: "_fillEl", first: true, predicate: ["fillEl"], descendants: true, static: true }], exportAs: ["cmatTimelineItem"], ngImport: i0, template: "<div #fillEl class=\"cmat-timeline-item-fill\"></div>\r\n\r\n<div class=\"cmat-timeline-item-timeline\">\r\n\r\n <ng-container *ngTemplateOutlet=\"customIconTpl ? customIconTpl : iconTpl\"></ng-container>\r\n\r\n <ng-template #iconTpl>\r\n @if (icon) {\r\n <mat-icon class=\"cmat-timeline-item-icon\">{{ icon }}</mat-icon>\r\n } @else {\r\n @if (svgIcon) {\r\n <mat-icon class=\"cmat-timeline-item-icon\" [svgIcon]=\"svgIcon\"></mat-icon>\r\n } @else {\r\n @if (iconUrl) {\r\n <img alt=\"icon\" class=\"cmat-timeline-item-icon\" [src]=\"iconUrl\" />\r\n }\r\n }\r\n }\r\n </ng-template>\r\n\r\n\r\n\r\n <ng-container *ngTemplateOutlet=\"customLabelTpl ? customLabelTpl : labelTpl\"></ng-container>\r\n\r\n <ng-template #labelTpl>\r\n @if (label) {\r\n <div class=\"mat-caption cmat-timeline-item-label\">{{ label }}</div>\r\n }\r\n </ng-template>\r\n\r\n <div class=\"cmat-timeline-item-line\"></div>\r\n\r\n</div>\r\n\r\n<div #contentEl class=\"cmat-timeline-item-content\">\r\n <ng-content></ng-content>\r\n</div>", styles: [".cmat-timeline-item{display:flex;gap:24px}.cmat-timeline-item:last-child .cmat-timeline-item-line{display:none}.cmat-timeline-item-timeline{display:flex;gap:8px}.cmat-timeline-item-icon{margin:0;padding:0;width:24px;height:24px;object-fit:cover;border-radius:50%}.cmat-timeline-item-line{flex:1;background-color:var(--cmat-divider)}.cmat-timeline-item-fill,.cmat-timeline-item-content{flex:1}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item{justify-content:flex-start;align-items:stretch}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item:not(:last-child){margin-bottom:8px}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item:not(:last-child) .cmat-timeline-item-fill,.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item:not(:last-child) .cmat-timeline-item-content{margin-bottom:48px}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-timeline{min-width:48px;max-width:48px;flex-direction:column;justify-content:flex-start;align-items:center}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-label{width:100%;text-align:center}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-line{width:1px;height:auto;min-height:8px}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child{margin-bottom:8px}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-line{display:block}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-fill,.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-content{margin-bottom:48px}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child{margin-bottom:0}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-line{display:none}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-content{margin-bottom:0}.cmat-timeline-vertical.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item{flex-direction:row}.cmat-timeline-vertical.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}.cmat-timeline-vertical.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-content{text-align:left;display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:row}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{text-align:left;display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:row-reverse}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{text-align:right;display:flex;justify-content:flex-end;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:row}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{text-align:left;display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:row-reverse}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{text-align:right;display:flex;justify-content:flex-end;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item{flex-direction:row-reverse}.cmat-timeline-vertical.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}.cmat-timeline-vertical.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-content{text-align:right;display:flex;justify-content:flex-end;align-items:flex-start}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item{justify-content:flex-start;align-items:stretch}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item:not(:last-child){margin-right:8px}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item:not(:last-child) .cmat-timeline-item-fill,.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item:not(:last-child) .cmat-timeline-item-content{margin-right:48px}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item .cmat-timeline-item-timeline{min-height:48px;max-height:48px;flex-direction:row;justify-content:flex-start;align-items:center}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item .cmat-timeline-item-label{width:auto;text-align:left}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item .cmat-timeline-item-line{width:auto;min-width:8px;height:1px}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child{margin-right:8px}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-line{display:block}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-fill,.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-content{margin-right:48px}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child{margin-right:0}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-line{display:none}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-content{margin-right:0}.cmat-timeline-horizontal.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item{flex-direction:column}.cmat-timeline-horizontal.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:column}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:column-reverse}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-end}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:column}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:column-reverse}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-end}.cmat-timeline-horizontal.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item{flex-direction:column-reverse}.cmat-timeline-horizontal.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-end}.cmat-timeline-horizontal.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: CmatTimelineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.7", type: CmatTimelineItemComponent, isStandalone: true, selector: "cmat-timeline-item", inputs: { label: "label", icon: "icon", svgIcon: "svgIcon", iconUrl: "iconUrl" }, host: { properties: { "class": "this.class" } }, queries: [{ propertyName: "customIconTpl", first: true, predicate: CmatTimelineItemIconDirective, descendants: true, read: TemplateRef }, { propertyName: "customLabelTpl", first: true, predicate: CmatTimelineItemLabelDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "_contentEl", first: true, predicate: ["contentEl"], descendants: true, static: true }, { propertyName: "_fillEl", first: true, predicate: ["fillEl"], descendants: true, static: true }], exportAs: ["cmatTimelineItem"], ngImport: i0, template: "<div #fillEl class=\"cmat-timeline-item-fill\"></div>\r\n\r\n<div class=\"cmat-timeline-item-timeline\">\r\n\r\n <ng-container *ngTemplateOutlet=\"customIconTpl ? customIconTpl : iconTpl\"></ng-container>\r\n\r\n <ng-template #iconTpl>\r\n @if (icon) {\r\n <mat-icon class=\"cmat-timeline-item-icon\">{{ icon }}</mat-icon>\r\n } @else {\r\n @if (svgIcon) {\r\n <mat-icon class=\"cmat-timeline-item-icon\" [svgIcon]=\"svgIcon\"></mat-icon>\r\n } @else {\r\n @if (iconUrl) {\r\n <img alt=\"icon\" class=\"cmat-timeline-item-icon\" [src]=\"iconUrl\" />\r\n }\r\n }\r\n }\r\n </ng-template>\r\n\r\n\r\n\r\n <ng-container *ngTemplateOutlet=\"customLabelTpl ? customLabelTpl : labelTpl\"></ng-container>\r\n\r\n <ng-template #labelTpl>\r\n @if (label) {\r\n <div class=\"mat-caption cmat-timeline-item-label\">{{ label }}</div>\r\n }\r\n </ng-template>\r\n\r\n <div class=\"cmat-timeline-item-line\"></div>\r\n\r\n</div>\r\n\r\n<div #contentEl class=\"cmat-timeline-item-content\">\r\n <ng-content></ng-content>\r\n</div>", styles: [".cmat-timeline-item{display:flex;gap:24px}.cmat-timeline-item:last-child .cmat-timeline-item-line{display:none}.cmat-timeline-item-timeline{display:flex;gap:8px}.cmat-timeline-item-icon{margin:0;padding:0;width:24px;height:24px;object-fit:cover;border-radius:50%}.cmat-timeline-item-line{flex:1;background-color:var(--cmat-bg-status-bar)}.cmat-timeline-item-line:is(.dark *){background-color:#fff}.cmat-timeline-item-fill,.cmat-timeline-item-content{flex:1}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item{justify-content:flex-start;align-items:stretch}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item:not(:last-child){margin-bottom:8px}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item:not(:last-child) .cmat-timeline-item-fill,.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item:not(:last-child) .cmat-timeline-item-content{margin-bottom:48px}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-timeline{min-width:48px;max-width:48px;flex-direction:column;justify-content:flex-start;align-items:center}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-label{width:100%;text-align:center}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-line{width:.1rem;height:auto;min-height:8px}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child{margin-bottom:8px}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-line{display:block}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-fill,.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-content{margin-bottom:48px}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child{margin-bottom:0}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-line{display:none}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-content{margin-bottom:0}.cmat-timeline-vertical.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item{flex-direction:row}.cmat-timeline-vertical.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}.cmat-timeline-vertical.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-content{text-align:left;display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:row}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{text-align:left;display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:row-reverse}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{text-align:right;display:flex;justify-content:flex-end;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:row}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{text-align:left;display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:row-reverse}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{text-align:right;display:flex;justify-content:flex-end;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item{flex-direction:row-reverse}.cmat-timeline-vertical.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}.cmat-timeline-vertical.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-content{text-align:right;display:flex;justify-content:flex-end;align-items:flex-start}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item{justify-content:flex-start;align-items:stretch}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item:not(:last-child){margin-right:8px}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item:not(:last-child) .cmat-timeline-item-fill,.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item:not(:last-child) .cmat-timeline-item-content{margin-right:48px}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item .cmat-timeline-item-timeline{min-height:48px;max-height:48px;flex-direction:row;justify-content:flex-start;align-items:center}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item .cmat-timeline-item-label{width:auto;text-align:left}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item .cmat-timeline-item-line{width:auto;min-width:8px;height:.1rem}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child{margin-right:8px}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-line{display:block}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-fill,.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-content{margin-right:48px}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child{margin-right:0}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-line{display:none}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-content{margin-right:0}.cmat-timeline-horizontal.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item{flex-direction:column}.cmat-timeline-horizontal.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:column}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:column-reverse}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-end}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:column}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:column-reverse}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-end}.cmat-timeline-horizontal.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item{flex-direction:column-reverse}.cmat-timeline-horizontal.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-end}.cmat-timeline-horizontal.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CmatTimelineItemComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: CmatTimelineItemComponent, decorators: [{
47
47
  type: Component,
48
- args: [{ selector: 'cmat-timeline-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatTimelineItem', imports: [MatIconModule, NgTemplateOutlet], template: "<div #fillEl class=\"cmat-timeline-item-fill\"></div>\r\n\r\n<div class=\"cmat-timeline-item-timeline\">\r\n\r\n <ng-container *ngTemplateOutlet=\"customIconTpl ? customIconTpl : iconTpl\"></ng-container>\r\n\r\n <ng-template #iconTpl>\r\n @if (icon) {\r\n <mat-icon class=\"cmat-timeline-item-icon\">{{ icon }}</mat-icon>\r\n } @else {\r\n @if (svgIcon) {\r\n <mat-icon class=\"cmat-timeline-item-icon\" [svgIcon]=\"svgIcon\"></mat-icon>\r\n } @else {\r\n @if (iconUrl) {\r\n <img alt=\"icon\" class=\"cmat-timeline-item-icon\" [src]=\"iconUrl\" />\r\n }\r\n }\r\n }\r\n </ng-template>\r\n\r\n\r\n\r\n <ng-container *ngTemplateOutlet=\"customLabelTpl ? customLabelTpl : labelTpl\"></ng-container>\r\n\r\n <ng-template #labelTpl>\r\n @if (label) {\r\n <div class=\"mat-caption cmat-timeline-item-label\">{{ label }}</div>\r\n }\r\n </ng-template>\r\n\r\n <div class=\"cmat-timeline-item-line\"></div>\r\n\r\n</div>\r\n\r\n<div #contentEl class=\"cmat-timeline-item-content\">\r\n <ng-content></ng-content>\r\n</div>", styles: [".cmat-timeline-item{display:flex;gap:24px}.cmat-timeline-item:last-child .cmat-timeline-item-line{display:none}.cmat-timeline-item-timeline{display:flex;gap:8px}.cmat-timeline-item-icon{margin:0;padding:0;width:24px;height:24px;object-fit:cover;border-radius:50%}.cmat-timeline-item-line{flex:1;background-color:var(--cmat-divider)}.cmat-timeline-item-fill,.cmat-timeline-item-content{flex:1}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item{justify-content:flex-start;align-items:stretch}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item:not(:last-child){margin-bottom:8px}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item:not(:last-child) .cmat-timeline-item-fill,.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item:not(:last-child) .cmat-timeline-item-content{margin-bottom:48px}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-timeline{min-width:48px;max-width:48px;flex-direction:column;justify-content:flex-start;align-items:center}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-label{width:100%;text-align:center}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-line{width:1px;height:auto;min-height:8px}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child{margin-bottom:8px}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-line{display:block}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-fill,.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-content{margin-bottom:48px}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child{margin-bottom:0}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-line{display:none}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-content{margin-bottom:0}.cmat-timeline-vertical.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item{flex-direction:row}.cmat-timeline-vertical.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}.cmat-timeline-vertical.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-content{text-align:left;display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:row}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{text-align:left;display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:row-reverse}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{text-align:right;display:flex;justify-content:flex-end;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:row}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{text-align:left;display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:row-reverse}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{text-align:right;display:flex;justify-content:flex-end;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item{flex-direction:row-reverse}.cmat-timeline-vertical.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}.cmat-timeline-vertical.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-content{text-align:right;display:flex;justify-content:flex-end;align-items:flex-start}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item{justify-content:flex-start;align-items:stretch}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item:not(:last-child){margin-right:8px}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item:not(:last-child) .cmat-timeline-item-fill,.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item:not(:last-child) .cmat-timeline-item-content{margin-right:48px}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item .cmat-timeline-item-timeline{min-height:48px;max-height:48px;flex-direction:row;justify-content:flex-start;align-items:center}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item .cmat-timeline-item-label{width:auto;text-align:left}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item .cmat-timeline-item-line{width:auto;min-width:8px;height:1px}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child{margin-right:8px}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-line{display:block}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-fill,.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-content{margin-right:48px}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child{margin-right:0}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-line{display:none}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-content{margin-right:0}.cmat-timeline-horizontal.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item{flex-direction:column}.cmat-timeline-horizontal.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:column}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:column-reverse}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-end}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:column}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:column-reverse}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-end}.cmat-timeline-horizontal.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item{flex-direction:column-reverse}.cmat-timeline-horizontal.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-end}.cmat-timeline-horizontal.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}\n"] }]
48
+ args: [{ selector: 'cmat-timeline-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatTimelineItem', imports: [MatIconModule, NgTemplateOutlet], template: "<div #fillEl class=\"cmat-timeline-item-fill\"></div>\r\n\r\n<div class=\"cmat-timeline-item-timeline\">\r\n\r\n <ng-container *ngTemplateOutlet=\"customIconTpl ? customIconTpl : iconTpl\"></ng-container>\r\n\r\n <ng-template #iconTpl>\r\n @if (icon) {\r\n <mat-icon class=\"cmat-timeline-item-icon\">{{ icon }}</mat-icon>\r\n } @else {\r\n @if (svgIcon) {\r\n <mat-icon class=\"cmat-timeline-item-icon\" [svgIcon]=\"svgIcon\"></mat-icon>\r\n } @else {\r\n @if (iconUrl) {\r\n <img alt=\"icon\" class=\"cmat-timeline-item-icon\" [src]=\"iconUrl\" />\r\n }\r\n }\r\n }\r\n </ng-template>\r\n\r\n\r\n\r\n <ng-container *ngTemplateOutlet=\"customLabelTpl ? customLabelTpl : labelTpl\"></ng-container>\r\n\r\n <ng-template #labelTpl>\r\n @if (label) {\r\n <div class=\"mat-caption cmat-timeline-item-label\">{{ label }}</div>\r\n }\r\n </ng-template>\r\n\r\n <div class=\"cmat-timeline-item-line\"></div>\r\n\r\n</div>\r\n\r\n<div #contentEl class=\"cmat-timeline-item-content\">\r\n <ng-content></ng-content>\r\n</div>", styles: [".cmat-timeline-item{display:flex;gap:24px}.cmat-timeline-item:last-child .cmat-timeline-item-line{display:none}.cmat-timeline-item-timeline{display:flex;gap:8px}.cmat-timeline-item-icon{margin:0;padding:0;width:24px;height:24px;object-fit:cover;border-radius:50%}.cmat-timeline-item-line{flex:1;background-color:var(--cmat-bg-status-bar)}.cmat-timeline-item-line:is(.dark *){background-color:#fff}.cmat-timeline-item-fill,.cmat-timeline-item-content{flex:1}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item{justify-content:flex-start;align-items:stretch}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item:not(:last-child){margin-bottom:8px}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item:not(:last-child) .cmat-timeline-item-fill,.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item:not(:last-child) .cmat-timeline-item-content{margin-bottom:48px}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-timeline{min-width:48px;max-width:48px;flex-direction:column;justify-content:flex-start;align-items:center}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-label{width:100%;text-align:center}.cmat-timeline-vertical>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-line{width:.1rem;height:auto;min-height:8px}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child{margin-bottom:8px}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-line{display:block}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-fill,.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-content{margin-bottom:48px}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child{margin-bottom:0}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-line{display:none}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-content{margin-bottom:0}.cmat-timeline-vertical.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item{flex-direction:row}.cmat-timeline-vertical.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}.cmat-timeline-vertical.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-content{text-align:left;display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:row}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{text-align:left;display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:row-reverse}.cmat-timeline-vertical.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{text-align:right;display:flex;justify-content:flex-end;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:row}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{text-align:left;display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:row-reverse}.cmat-timeline-vertical.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{text-align:right;display:flex;justify-content:flex-end;align-items:flex-start}.cmat-timeline-vertical.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item{flex-direction:row-reverse}.cmat-timeline-vertical.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}.cmat-timeline-vertical.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-content{text-align:right;display:flex;justify-content:flex-end;align-items:flex-start}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item{justify-content:flex-start;align-items:stretch}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item:not(:last-child){margin-right:8px}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item:not(:last-child) .cmat-timeline-item-fill,.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item:not(:last-child) .cmat-timeline-item-content{margin-right:48px}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item .cmat-timeline-item-timeline{min-height:48px;max-height:48px;flex-direction:row;justify-content:flex-start;align-items:center}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item .cmat-timeline-item-label{width:auto;text-align:left}.cmat-timeline-horizontal .cmat-timeline-content>.cmat-timeline-item .cmat-timeline-item-line{width:auto;min-width:8px;height:.1rem}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child{margin-right:8px}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-line{display:block}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-fill,.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:last-child .cmat-timeline-item-content{margin-right:48px}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child{margin-right:0}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-line{display:none}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content .cmat-timeline-item:first-child .cmat-timeline-item-content{margin-right:0}.cmat-timeline-horizontal.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item{flex-direction:column}.cmat-timeline-horizontal.cmat-timeline-start>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:column}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:column-reverse}.cmat-timeline-horizontal.cmat-timeline-center>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-end}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n){flex-direction:column}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(2n) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-start}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd){flex-direction:column-reverse}.cmat-timeline-horizontal.cmat-timeline-center-alt>.cmat-timeline-content .cmat-timeline-item:nth-child(odd) .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-end}.cmat-timeline-horizontal.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item{flex-direction:column-reverse}.cmat-timeline-horizontal.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-content{display:flex;justify-content:flex-start;align-items:flex-end}.cmat-timeline-horizontal.cmat-timeline-end>.cmat-timeline-content .cmat-timeline-item .cmat-timeline-item-fill{display:none}\n"] }]
49
49
  }], propDecorators: { label: [{
50
50
  type: Input
51
51
  }], icon: [{
@@ -135,10 +135,10 @@ class CmatTimelineComponent {
135
135
  });
136
136
  }
137
137
  }
138
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CmatTimelineComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
139
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CmatTimelineComponent, isStandalone: true, selector: "cmat-timeline", inputs: { position: "position", orientation: "orientation", reverse: "reverse" }, host: { properties: { "class.cmat-timeline-start": "this.isStartPosition", "class.cmat-timeline-end": "this.isEndPosition", "class.cmat-timeline-center": "this.isCenterPosition", "class.cmat-timeline-center-alt": "this.isCenterAltPosition", "class.cmat-timeline-vertical": "this.isVerticalOrientation", "class.cmat-timeline-horizontal": "this.isHorizontalOrientation", "class.cmat-timeline-reverse": "this.isReverse" } }, queries: [{ propertyName: "items", predicate: CmatTimelineItemComponent }], exportAs: ["cmatTimeLine"], ngImport: i0, template: "<div class=\"cmat-timeline-content\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".cmat-timeline{margin:0;padding:0;width:100%;display:flex;justify-content:stretch;align-items:stretch;overflow:auto}.cmat-timeline-content{margin:0;padding:0;width:100%;display:flex;justify-content:stretch;align-items:stretch;min-width:min-content;min-height:min-content}.cmat-timeline-center>.cmat-timeline-content,.cmat-timeline-center-alt>.cmat-timeline-content{align-items:center}.cmat-timeline-vertical>.cmat-timeline-content{flex-direction:column}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content{flex-direction:column-reverse}.cmat-timeline-horizontal>.cmat-timeline-content{flex-direction:row}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content{flex-direction:row-reverse}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: CmatTimelineComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
139
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.7", type: CmatTimelineComponent, isStandalone: true, selector: "cmat-timeline", inputs: { position: "position", orientation: "orientation", reverse: "reverse" }, host: { properties: { "class.cmat-timeline-start": "this.isStartPosition", "class.cmat-timeline-end": "this.isEndPosition", "class.cmat-timeline-center": "this.isCenterPosition", "class.cmat-timeline-center-alt": "this.isCenterAltPosition", "class.cmat-timeline-vertical": "this.isVerticalOrientation", "class.cmat-timeline-horizontal": "this.isHorizontalOrientation", "class.cmat-timeline-reverse": "this.isReverse" } }, queries: [{ propertyName: "items", predicate: CmatTimelineItemComponent }], exportAs: ["cmatTimeLine"], ngImport: i0, template: "<div class=\"cmat-timeline-content\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".cmat-timeline{margin:0;padding:0;width:100%;display:flex;justify-content:stretch;align-items:stretch;overflow:auto}.cmat-timeline-content{margin:0;padding:0;width:100%;display:flex;justify-content:stretch;align-items:stretch;min-width:min-content;min-height:min-content}.cmat-timeline-center>.cmat-timeline-content,.cmat-timeline-center-alt>.cmat-timeline-content{align-items:center}.cmat-timeline-vertical>.cmat-timeline-content{flex-direction:column}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content{flex-direction:column-reverse}.cmat-timeline-horizontal>.cmat-timeline-content{flex-direction:row}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content{flex-direction:row-reverse}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
140
140
  }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CmatTimelineComponent, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: CmatTimelineComponent, decorators: [{
142
142
  type: Component,
143
143
  args: [{ selector: 'cmat-timeline', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'cmatTimeLine', imports: [], template: "<div class=\"cmat-timeline-content\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".cmat-timeline{margin:0;padding:0;width:100%;display:flex;justify-content:stretch;align-items:stretch;overflow:auto}.cmat-timeline-content{margin:0;padding:0;width:100%;display:flex;justify-content:stretch;align-items:stretch;min-width:min-content;min-height:min-content}.cmat-timeline-center>.cmat-timeline-content,.cmat-timeline-center-alt>.cmat-timeline-content{align-items:center}.cmat-timeline-vertical>.cmat-timeline-content{flex-direction:column}.cmat-timeline-vertical.cmat-timeline-reverse>.cmat-timeline-content{flex-direction:column-reverse}.cmat-timeline-horizontal>.cmat-timeline-content{flex-direction:row}.cmat-timeline-horizontal.cmat-timeline-reverse>.cmat-timeline-content{flex-direction:row-reverse}\n"] }]
144
144
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { items: [{
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-components-timeline.mjs","sources":["../../../projects/cmat/components/timeline/timeline-item/timeline-item.component.ts","../../../projects/cmat/components/timeline/timeline-item/timeline-item.component.html","../../../projects/cmat/components/timeline/timeline.component.ts","../../../projects/cmat/components/timeline/timeline.component.html","../../../projects/cmat/components/timeline/cmat-components-timeline.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n Directive,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n\r\n@Directive({\r\n selector: 'ng-template[cmatTimelineItemIcon]',\r\n standalone: true\r\n})\r\nexport class CmatTimelineItemIconDirective {\r\n}\r\n\r\n\r\n@Directive({\r\n selector: 'ng-template[cmatTimelineItemLabel]',\r\n standalone: true\r\n})\r\nexport class CmatTimelineItemLabelDirective {\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'cmat-timeline-item',\r\n templateUrl: './timeline-item.component.html',\r\n styleUrls: ['./timeline-item.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'cmatTimelineItem',\r\n imports: [MatIconModule, NgTemplateOutlet]\r\n})\r\nexport class CmatTimelineItemComponent {\r\n\r\n @Input()\r\n label?: string | null;\r\n\r\n @Input()\r\n icon?: string | null;\r\n\r\n @Input()\r\n svgIcon?: string | null;\r\n\r\n @Input()\r\n iconUrl?: string | null;\r\n\r\n @HostBinding('class') class='cmat-timeline-item';\r\n \r\n @ContentChild(CmatTimelineItemIconDirective, { read: TemplateRef })\r\n customIconTpl?: TemplateRef<any>;\r\n\r\n @ContentChild(CmatTimelineItemLabelDirective, { read: TemplateRef })\r\n customLabelTpl?: TemplateRef<any>;\r\n\r\n @ViewChild('contentEl', { static: true })\r\n private _contentEl!: ElementRef;\r\n\r\n @ViewChild('fillEl', { static: true })\r\n private _fillEl!: ElementRef;\r\n\r\n \r\n\r\n updateVerticalCenteredLayout(): void {\r\n this._fillEl.nativeElement.style.minWidth = this._contentEl.nativeElement.offsetWidth + 'px';\r\n this._fillEl.nativeElement.style.minHeight = 'unset';\r\n }\r\n\r\n updateHorizontalCenteredLayout(): void {\r\n this._fillEl.nativeElement.style.minHeight = this._contentEl.nativeElement.offsetHeight + 'px';\r\n this._fillEl.nativeElement.style.minWidth = 'unset';\r\n }\r\n\r\n}\r\n","<div #fillEl class=\"cmat-timeline-item-fill\"></div>\r\n\r\n<div class=\"cmat-timeline-item-timeline\">\r\n\r\n <ng-container *ngTemplateOutlet=\"customIconTpl ? customIconTpl : iconTpl\"></ng-container>\r\n\r\n <ng-template #iconTpl>\r\n @if (icon) {\r\n <mat-icon class=\"cmat-timeline-item-icon\">{{ icon }}</mat-icon>\r\n } @else {\r\n @if (svgIcon) {\r\n <mat-icon class=\"cmat-timeline-item-icon\" [svgIcon]=\"svgIcon\"></mat-icon>\r\n } @else {\r\n @if (iconUrl) {\r\n <img alt=\"icon\" class=\"cmat-timeline-item-icon\" [src]=\"iconUrl\" />\r\n }\r\n }\r\n }\r\n </ng-template>\r\n\r\n\r\n\r\n <ng-container *ngTemplateOutlet=\"customLabelTpl ? customLabelTpl : labelTpl\"></ng-container>\r\n\r\n <ng-template #labelTpl>\r\n @if (label) {\r\n <div class=\"mat-caption cmat-timeline-item-label\">{{ label }}</div>\r\n }\r\n </ng-template>\r\n\r\n <div class=\"cmat-timeline-item-line\"></div>\r\n\r\n</div>\r\n\r\n<div #contentEl class=\"cmat-timeline-item-content\">\r\n <ng-content></ng-content>\r\n</div>","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n QueryList,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { takeUntil, tap, throttleTime } from 'rxjs/operators';\r\nimport { CmatTimelineItemComponent } from './timeline-item/timeline-item.component';\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport type CMAT_TIMELINE_POSITION = 'start' | 'end' | 'center' | 'center-alt';\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport type CMAT_TIMELINE_ORIENTATION = 'vertical' | 'horizontal';\r\n\r\n\r\n@Component({\r\n selector: 'cmat-timeline',\r\n templateUrl: './timeline.component.html',\r\n styleUrls: ['./timeline.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'cmatTimeLine',\r\n imports: []\r\n})\r\nexport class CmatTimelineComponent implements OnInit, OnDestroy {\r\n @ContentChildren(CmatTimelineItemComponent)\r\n readonly items = new QueryList<CmatTimelineItemComponent>();\r\n readonly class = 'cmat-timeline';\r\n\r\n private _reverse: boolean = false;\r\n private _position: CMAT_TIMELINE_POSITION = 'start';\r\n private _orientation: CMAT_TIMELINE_ORIENTATION = 'vertical';\r\n private _unsubscribeAll: Subject<any> = new Subject<any>();\r\n\r\n constructor(\r\n private _host: ElementRef\r\n ) { } \r\n\r\n @HostBinding('class.cmat-timeline-start')\r\n get isStartPosition(): boolean {\r\n return this._position === 'start';\r\n }\r\n @HostBinding('class.cmat-timeline-end')\r\n get isEndPosition(): boolean {\r\n return this._position === 'end';\r\n }\r\n\r\n @HostBinding('class.cmat-timeline-center')\r\n get isCenterPosition(): boolean {\r\n return this._position === 'center';\r\n }\r\n\r\n @HostBinding('class.cmat-timeline-center-alt')\r\n get isCenterAltPosition(): boolean {\r\n return this._position === 'center-alt';\r\n }\r\n\r\n @HostBinding('class.cmat-timeline-vertical')\r\n get isVerticalOrientation(): boolean {\r\n return this._orientation === 'vertical';\r\n }\r\n\r\n @HostBinding('class.cmat-timeline-horizontal')\r\n get isHorizontalOrientation(): boolean {\r\n return this._orientation === 'horizontal';\r\n }\r\n\r\n @HostBinding('class.cmat-timeline-reverse')\r\n get isReverse(): boolean {\r\n return this._reverse;\r\n }\r\n\r\n @Input()\r\n set position(position: CMAT_TIMELINE_POSITION) {\r\n this._position = position;\r\n this.updateLayout();\r\n }\r\n\r\n @Input()\r\n set orientation(orientation: CMAT_TIMELINE_ORIENTATION) {\r\n this._orientation = orientation;\r\n this.updateLayout();\r\n }\r\n\r\n @Input()\r\n set reverse(reverse: boolean) {\r\n this._reverse = reverse;\r\n this.updateLayout();\r\n }\r\n\r\n ngOnInit(): void {\r\n new Observable((observer) => {\r\n const ro = new ResizeObserver(entries => observer.next(entries));\r\n ro.observe(this._host.nativeElement);\r\n\r\n return ():void => {\r\n ro.unobserve(this._host.nativeElement);\r\n ro.disconnect();\r\n };\r\n }).pipe(\r\n throttleTime(10),\r\n tap(() => this.updateLayout()),\r\n takeUntil(this._unsubscribeAll)\r\n ).subscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribeAll.next(null);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n updateLayout(): void {\r\n if (this.isCenterPosition || this.isCenterAltPosition) {\r\n this.items.forEach((item) => {\r\n this.isVerticalOrientation ? item.updateVerticalCenteredLayout() : item.updateHorizontalCenteredLayout();\r\n });\r\n }\r\n }\r\n}\r\n","<div class=\"cmat-timeline-content\">\r\n <ng-content></ng-content>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAoBa,6BAA6B,CAAA;8GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mCAAmC;AAC7C,oBAAA,UAAU,EAAE;AACb,iBAAA;;MASY,8BAA8B,CAAA;8GAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAJ1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oCAAoC;AAC9C,oBAAA,UAAU,EAAE;AACb,iBAAA;;MAcY,yBAAyB,CAAA;AATtC,IAAA,WAAA,GAAA;QAuBwB,IAAK,CAAA,KAAA,GAAC,oBAAoB;AA0BjD;IAVC,4BAA4B,GAAA;AAC1B,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI;QAC5F,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO;;IAGtD,8BAA8B,GAAA;AAC5B,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI;QAC9F,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO;;8GArC1C,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAgBtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,6BAA6B,EAAU,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAW,EAGlD,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,8BAA8B,EAAU,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAW,EC5DnE,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ukCAoCM,EDGQ,MAAA,EAAA,CAAA,6jQAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,oLAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEhC,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBATrC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAGf,aAAA,EAAA,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,kBAAkB,EACnB,OAAA,EAAA,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,ukCAAA,EAAA,MAAA,EAAA,CAAA,6jQAAA,CAAA,EAAA;8BAK5C,KAAK,EAAA,CAAA;sBADJ;gBAID,IAAI,EAAA,CAAA;sBADH;gBAID,OAAO,EAAA,CAAA;sBADN;gBAID,OAAO,EAAA,CAAA;sBADN;gBAGqB,KAAK,EAAA,CAAA;sBAA1B,WAAW;uBAAC,OAAO;gBAGpB,aAAa,EAAA,CAAA;sBADZ,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,6BAA6B,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;gBAIlE,cAAc,EAAA,CAAA;sBADb,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,8BAA8B,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;gBAI3D,UAAU,EAAA,CAAA;sBADjB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAIhC,OAAO,EAAA,CAAA;sBADd,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;MElC1B,qBAAqB,CAAA;AAUhC,IAAA,WAAA,CACU,KAAiB,EAAA;QAAjB,IAAK,CAAA,KAAA,GAAL,KAAK;AATN,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,SAAS,EAA6B;QAClD,IAAK,CAAA,KAAA,GAAG,eAAe;QAExB,IAAQ,CAAA,QAAA,GAAY,KAAK;QACzB,IAAS,CAAA,SAAA,GAA2B,OAAO;QAC3C,IAAY,CAAA,YAAA,GAA8B,UAAU;AACpD,QAAA,IAAA,CAAA,eAAe,GAAiB,IAAI,OAAO,EAAO;;AAM1D,IAAA,IACI,eAAe,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,OAAO;;AAEnC,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,KAAK;;AAGjC,IAAA,IACI,gBAAgB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;;AAGpC,IAAA,IACI,mBAAmB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,YAAY;;AAGxC,IAAA,IACI,qBAAqB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU;;AAGzC,IAAA,IACI,uBAAuB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,YAAY,KAAK,YAAY;;AAG3C,IAAA,IACI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,QAAQ;;IAGtB,IACI,QAAQ,CAAC,QAAgC,EAAA;AAC3C,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;QACzB,IAAI,CAAC,YAAY,EAAE;;IAGrB,IACI,WAAW,CAAC,WAAsC,EAAA;AACpD,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW;QAC/B,IAAI,CAAC,YAAY,EAAE;;IAGrB,IACI,OAAO,CAAC,OAAgB,EAAA;AAC1B,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;QACvB,IAAI,CAAC,YAAY,EAAE;;IAGrB,QAAQ,GAAA;AACN,QAAA,IAAI,UAAU,CAAC,CAAC,QAAQ,KAAI;AAC1B,YAAA,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;AAEpC,YAAA,OAAO,MAAU;gBACf,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBACtC,EAAE,CAAC,UAAU,EAAE;AACjB,aAAC;AACH,SAAC,CAAC,CAAC,IAAI,CACL,YAAY,CAAC,EAAE,CAAC,EAChB,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,EAC9B,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAChC,CAAC,SAAS,EAAE;;IAGf,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;;IAGjC,YAAY,GAAA;QACV,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,mBAAmB,EAAE;YACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC1B,gBAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,4BAA4B,EAAE,GAAG,IAAI,CAAC,8BAA8B,EAAE;AAC1G,aAAC,CAAC;;;8GA3FK,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,sBAAA,EAAA,yBAAA,EAAA,oBAAA,EAAA,4BAAA,EAAA,uBAAA,EAAA,gCAAA,EAAA,0BAAA,EAAA,8BAAA,EAAA,4BAAA,EAAA,gCAAA,EAAA,8BAAA,EAAA,6BAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EACf,yBAAyB,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjC5C,oFAGA,EAAA,MAAA,EAAA,CAAA,ktBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FD6Ba,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBATjC,SAAS;+BACI,eAAe,EAAA,eAAA,EAGR,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAC3B,cAAc,EAAA,OAAA,EACf,EAAE,EAAA,QAAA,EAAA,oFAAA,EAAA,MAAA,EAAA,CAAA,ktBAAA,CAAA,EAAA;+EAIJ,KAAK,EAAA,CAAA;sBADb,eAAe;uBAAC,yBAAyB;gBActC,eAAe,EAAA,CAAA;sBADlB,WAAW;uBAAC,2BAA2B;gBAKpC,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,yBAAyB;gBAMlC,gBAAgB,EAAA,CAAA;sBADnB,WAAW;uBAAC,4BAA4B;gBAMrC,mBAAmB,EAAA,CAAA;sBADtB,WAAW;uBAAC,gCAAgC;gBAMzC,qBAAqB,EAAA,CAAA;sBADxB,WAAW;uBAAC,8BAA8B;gBAMvC,uBAAuB,EAAA,CAAA;sBAD1B,WAAW;uBAAC,gCAAgC;gBAMzC,SAAS,EAAA,CAAA;sBADZ,WAAW;uBAAC,6BAA6B;gBAMtC,QAAQ,EAAA,CAAA;sBADX;gBAOG,WAAW,EAAA,CAAA;sBADd;gBAOG,OAAO,EAAA,CAAA;sBADV;;;AE5FH;;AAEG;;;;"}
1
+ {"version":3,"file":"cmat-components-timeline.mjs","sources":["../../../projects/cmat/components/timeline/timeline-item/timeline-item.component.ts","../../../projects/cmat/components/timeline/timeline-item/timeline-item.component.html","../../../projects/cmat/components/timeline/timeline.component.ts","../../../projects/cmat/components/timeline/timeline.component.html","../../../projects/cmat/components/timeline/cmat-components-timeline.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n Directive,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n\r\n@Directive({\r\n selector: 'ng-template[cmatTimelineItemIcon]',\r\n standalone: true\r\n})\r\nexport class CmatTimelineItemIconDirective {\r\n}\r\n\r\n\r\n@Directive({\r\n selector: 'ng-template[cmatTimelineItemLabel]',\r\n standalone: true\r\n})\r\nexport class CmatTimelineItemLabelDirective {\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'cmat-timeline-item',\r\n templateUrl: './timeline-item.component.html',\r\n styleUrls: ['./timeline-item.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'cmatTimelineItem',\r\n imports: [MatIconModule, NgTemplateOutlet]\r\n})\r\nexport class CmatTimelineItemComponent {\r\n\r\n @Input()\r\n label?: string | null;\r\n\r\n @Input()\r\n icon?: string | null;\r\n\r\n @Input()\r\n svgIcon?: string | null;\r\n\r\n @Input()\r\n iconUrl?: string | null;\r\n\r\n @HostBinding('class') class='cmat-timeline-item';\r\n \r\n @ContentChild(CmatTimelineItemIconDirective, { read: TemplateRef })\r\n customIconTpl?: TemplateRef<any>;\r\n\r\n @ContentChild(CmatTimelineItemLabelDirective, { read: TemplateRef })\r\n customLabelTpl?: TemplateRef<any>;\r\n\r\n @ViewChild('contentEl', { static: true })\r\n private _contentEl!: ElementRef;\r\n\r\n @ViewChild('fillEl', { static: true })\r\n private _fillEl!: ElementRef;\r\n\r\n \r\n\r\n updateVerticalCenteredLayout(): void {\r\n this._fillEl.nativeElement.style.minWidth = this._contentEl.nativeElement.offsetWidth + 'px';\r\n this._fillEl.nativeElement.style.minHeight = 'unset';\r\n }\r\n\r\n updateHorizontalCenteredLayout(): void {\r\n this._fillEl.nativeElement.style.minHeight = this._contentEl.nativeElement.offsetHeight + 'px';\r\n this._fillEl.nativeElement.style.minWidth = 'unset';\r\n }\r\n\r\n}\r\n","<div #fillEl class=\"cmat-timeline-item-fill\"></div>\r\n\r\n<div class=\"cmat-timeline-item-timeline\">\r\n\r\n <ng-container *ngTemplateOutlet=\"customIconTpl ? customIconTpl : iconTpl\"></ng-container>\r\n\r\n <ng-template #iconTpl>\r\n @if (icon) {\r\n <mat-icon class=\"cmat-timeline-item-icon\">{{ icon }}</mat-icon>\r\n } @else {\r\n @if (svgIcon) {\r\n <mat-icon class=\"cmat-timeline-item-icon\" [svgIcon]=\"svgIcon\"></mat-icon>\r\n } @else {\r\n @if (iconUrl) {\r\n <img alt=\"icon\" class=\"cmat-timeline-item-icon\" [src]=\"iconUrl\" />\r\n }\r\n }\r\n }\r\n </ng-template>\r\n\r\n\r\n\r\n <ng-container *ngTemplateOutlet=\"customLabelTpl ? customLabelTpl : labelTpl\"></ng-container>\r\n\r\n <ng-template #labelTpl>\r\n @if (label) {\r\n <div class=\"mat-caption cmat-timeline-item-label\">{{ label }}</div>\r\n }\r\n </ng-template>\r\n\r\n <div class=\"cmat-timeline-item-line\"></div>\r\n\r\n</div>\r\n\r\n<div #contentEl class=\"cmat-timeline-item-content\">\r\n <ng-content></ng-content>\r\n</div>","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n QueryList,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { takeUntil, tap, throttleTime } from 'rxjs/operators';\r\nimport { CmatTimelineItemComponent } from './timeline-item/timeline-item.component';\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport type CMAT_TIMELINE_POSITION = 'start' | 'end' | 'center' | 'center-alt';\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport type CMAT_TIMELINE_ORIENTATION = 'vertical' | 'horizontal';\r\n\r\n\r\n@Component({\r\n selector: 'cmat-timeline',\r\n templateUrl: './timeline.component.html',\r\n styleUrls: ['./timeline.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n exportAs: 'cmatTimeLine',\r\n imports: []\r\n})\r\nexport class CmatTimelineComponent implements OnInit, OnDestroy {\r\n @ContentChildren(CmatTimelineItemComponent)\r\n readonly items = new QueryList<CmatTimelineItemComponent>();\r\n readonly class = 'cmat-timeline';\r\n\r\n private _reverse: boolean = false;\r\n private _position: CMAT_TIMELINE_POSITION = 'start';\r\n private _orientation: CMAT_TIMELINE_ORIENTATION = 'vertical';\r\n private _unsubscribeAll: Subject<any> = new Subject<any>();\r\n\r\n constructor(\r\n private _host: ElementRef\r\n ) { } \r\n\r\n @HostBinding('class.cmat-timeline-start')\r\n get isStartPosition(): boolean {\r\n return this._position === 'start';\r\n }\r\n @HostBinding('class.cmat-timeline-end')\r\n get isEndPosition(): boolean {\r\n return this._position === 'end';\r\n }\r\n\r\n @HostBinding('class.cmat-timeline-center')\r\n get isCenterPosition(): boolean {\r\n return this._position === 'center';\r\n }\r\n\r\n @HostBinding('class.cmat-timeline-center-alt')\r\n get isCenterAltPosition(): boolean {\r\n return this._position === 'center-alt';\r\n }\r\n\r\n @HostBinding('class.cmat-timeline-vertical')\r\n get isVerticalOrientation(): boolean {\r\n return this._orientation === 'vertical';\r\n }\r\n\r\n @HostBinding('class.cmat-timeline-horizontal')\r\n get isHorizontalOrientation(): boolean {\r\n return this._orientation === 'horizontal';\r\n }\r\n\r\n @HostBinding('class.cmat-timeline-reverse')\r\n get isReverse(): boolean {\r\n return this._reverse;\r\n }\r\n\r\n @Input()\r\n set position(position: CMAT_TIMELINE_POSITION) {\r\n this._position = position;\r\n this.updateLayout();\r\n }\r\n\r\n @Input()\r\n set orientation(orientation: CMAT_TIMELINE_ORIENTATION) {\r\n this._orientation = orientation;\r\n this.updateLayout();\r\n }\r\n\r\n @Input()\r\n set reverse(reverse: boolean) {\r\n this._reverse = reverse;\r\n this.updateLayout();\r\n }\r\n\r\n ngOnInit(): void {\r\n new Observable((observer) => {\r\n const ro = new ResizeObserver(entries => observer.next(entries));\r\n ro.observe(this._host.nativeElement);\r\n\r\n return ():void => {\r\n ro.unobserve(this._host.nativeElement);\r\n ro.disconnect();\r\n };\r\n }).pipe(\r\n throttleTime(10),\r\n tap(() => this.updateLayout()),\r\n takeUntil(this._unsubscribeAll)\r\n ).subscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribeAll.next(null);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n updateLayout(): void {\r\n if (this.isCenterPosition || this.isCenterAltPosition) {\r\n this.items.forEach((item) => {\r\n this.isVerticalOrientation ? item.updateVerticalCenteredLayout() : item.updateHorizontalCenteredLayout();\r\n });\r\n }\r\n }\r\n}\r\n","<div class=\"cmat-timeline-content\">\r\n <ng-content></ng-content>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}