@ngstarter-ui/components 21.0.25 → 21.0.26
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.
- package/ai/component-registry.json +67 -13
- package/fesm2022/ngstarter-ui-components-notifications.mjs +53 -26
- package/fesm2022/ngstarter-ui-components-notifications.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-tree.mjs +851 -36
- package/fesm2022/ngstarter-ui-components-tree.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ngstarter-ui-components-notifications.d.ts +21 -8
- package/types/ngstarter-ui-components-tree.d.ts +148 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngstarter-ui-components-tree.mjs","sources":["../../../projects/components/tree/src/tree/tree.ts","../../../projects/components/tree/src/tree-node/tree-node.ts","../../../projects/components/tree/src/tree-node-padding.ts","../../../projects/components/tree/src/tree-node-toggle.ts","../../../projects/components/tree/src/tree-node-def.ts","../../../projects/components/tree/ngstarter-ui-components-tree.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n ViewContainerRef,\n viewChild\n} from '@angular/core';\nimport { CDK_TREE_NODE_OUTLET_NODE, CdkTree, CdkTreeNodeOutlet } from '@angular/cdk/tree';\n\n@Directive({\n selector: '[ngsTreeNodeOutlet]',\n providers: [\n {\n provide: CdkTreeNodeOutlet,\n useExisting: TreeNodeOutlet,\n },\n ],\n standalone: true\n})\nexport class TreeNodeOutlet implements CdkTreeNodeOutlet {\n viewContainer = inject(ViewContainerRef);\n _node = inject(CDK_TREE_NODE_OUTLET_NODE, { optional: true });\n}\n\n@Component({\n selector: 'ngs-tree',\n exportAs: 'ngsTree',\n imports: [\n TreeNodeOutlet\n ],\n template: `<ng-container ngsTreeNodeOutlet />`,\n styleUrl: './tree.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: CdkTree, useExisting: Tree }],\n host: {\n 'class': 'ngs-tree',\n },\n})\nexport class Tree<T, K = T> extends CdkTree<T, K> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n // We need an initializer here to avoid a TS error. The value will be set in `ngAfterViewInit`.\n override readonly _nodeOutlet = viewChild(TreeNodeOutlet) as any;\n}\n","import {\n CDK_TREE_NODE_OUTLET_NODE, CdkNestedTreeNode,\n CdkTreeNode,\n} from '@angular/cdk/tree';\nimport {\n booleanAttribute,\n Directive,\n HostAttributeToken,\n inject,\n input,\n numberAttribute,\n OnDestroy,\n OnInit,\n effect\n} from '@angular/core';\n\nfunction isNoopTreeKeyManager(keyManager: any) {\n return !!keyManager._isNoopTreeKeyManager;\n}\n\n@Directive({\n selector: 'ngs-tree-node',\n exportAs: 'ngsTreeNode',\n outputs: ['activation', 'expandedChange'],\n providers: [{ provide: CdkTreeNode, useExisting: TreeNode }],\n host: {\n 'class': 'ngs-tree-node',\n '[attr.aria-expanded]': '_getAriaExpanded()',\n '[attr.aria-level]': 'level + 1',\n '[attr.aria-posinset]': '_getPositionInSet()',\n '[attr.aria-setsize]': '_getSetSize()',\n '(click)': '_focusItem()',\n '[tabindex]': '_getTabindexAttribute()',\n },\n standalone: true\n})\nexport class TreeNode<T, K = T> extends CdkTreeNode<T, K> implements OnInit, OnDestroy {\n tabIndexInputBinding = input<number, any>(0, {\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\n alias: 'tabIndex',\n });\n\n disabled = input(false, {\n transform: booleanAttribute\n });\n\n defaultTabIndex = 0;\n\n constructor() {\n super();\n const tabIndex = inject(new HostAttributeToken('tabindex'), { optional: true });\n (this as any)._tabIndexInputBinding = Number(tabIndex) || this.defaultTabIndex;\n effect(() => {\n this.isDisabled = this.disabled();\n });\n }\n\n _getTabindexAttribute() {\n if (isNoopTreeKeyManager((this._tree as any)._keyManager)) {\n return this.tabIndexInputBinding();\n }\n return (this as any)._tabindex;\n }\n\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n\n@Directive({\n selector: 'ngs-nested-tree-node',\n exportAs: 'ngsNestedTreeNode',\n outputs: ['activation', 'expandedChange'],\n providers: [\n { provide: CdkNestedTreeNode, useExisting: NestedTreeNode },\n { provide: CdkTreeNode, useExisting: NestedTreeNode },\n { provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: NestedTreeNode },\n ],\n host: {\n 'class': 'ngs-nested-tree-node',\n },\n standalone: true\n})\nexport class NestedTreeNode<T, K = T> extends CdkNestedTreeNode<T, K> implements OnInit, OnDestroy {\n node = input<T>(undefined!, {\n alias: 'ngsNestedTreeNode'\n });\n\n disabled = input(false, {\n transform: booleanAttribute\n });\n\n tabIndexInput = input<number, any>(0, {\n alias: 'tabIndex',\n transform: (value: any) => (value == null ? 0 : numberAttribute(value))\n });\n\n constructor() {\n super();\n effect(() => {\n this.isDisabled = this.disabled();\n });\n }\n\n get tabIndex(): number {\n return this.isDisabled ? -1 : this.tabIndexInput();\n }\n\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n","import { CdkTreeNodePadding } from '@angular/cdk/tree';\nimport { Directive, effect, input, numberAttribute } from '@angular/core';\n\n@Directive({\n selector: '[ngsTreeNodePadding]',\n providers: [{ provide: CdkTreeNodePadding, useExisting: TreeNodePadding }],\n standalone: true\n})\nexport class TreeNodePadding<T, K = T> extends CdkTreeNodePadding<T, K> {\n levelInput = input<number, any>(0, {\n alias: 'ngsTreeNodePadding',\n transform: numberAttribute\n });\n\n indentInput = input<number | string>(40, {\n alias: 'ngsTreeNodePaddingIndent'\n });\n\n constructor() {\n super();\n effect(() => {\n this.level = this.levelInput();\n });\n effect(() => {\n this._setIndentInput(this.indentInput());\n });\n }\n}\n","import { CdkTreeNodeToggle } from '@angular/cdk/tree';\nimport { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: '[ngsTreeNodeToggle]',\n providers: [{ provide: CdkTreeNodeToggle, useExisting: TreeNodeToggle }],\n inputs: [{ name: 'recursive', alias: 'ngsTreeNodeToggleRecursive' }],\n standalone: true\n})\nexport class TreeNodeToggle<T, K = T> extends CdkTreeNodeToggle<T, K> {\n}\n","import { CdkTreeNodeDef } from '@angular/cdk/tree';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[ngsTreeNodeDef]',\n inputs: [{ name: 'when', alias: 'ngsTreeNodeDefWhen' }],\n providers: [{ provide: CdkTreeNodeDef, useExisting: TreeNodeDef }],\n standalone: true\n})\nexport class TreeNodeDef<T> extends CdkTreeNodeDef<T> {\n data = input<T>(undefined!, {\n alias: 'ngsTreeNode'\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngstarter-ui-components-tree.mjs","sources":["../../../projects/components/tree/src/tree/tree.ts","../../../projects/components/tree/src/tree-node/tree-node.ts","../../../projects/components/tree/src/tree-node-padding.ts","../../../projects/components/tree/src/tree-node-toggle.ts","../../../projects/components/tree/src/tree-node-def.ts","../../../projects/components/tree/ngstarter-ui-components-tree.ts"],"sourcesContent":["import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n output,\n signal,\n ViewContainerRef,\n ViewChild\n} from '@angular/core';\nimport { CDK_TREE_NODE_OUTLET_NODE, CdkTree, CdkTreeNodeOutlet } from '@angular/cdk/tree';\n\n@Directive({\n selector: '[ngsTreeNodeOutlet]',\n providers: [\n {\n provide: CdkTreeNodeOutlet,\n useExisting: TreeNodeOutlet,\n },\n ],\n standalone: true\n})\nexport class TreeNodeOutlet implements CdkTreeNodeOutlet {\n viewContainer = inject(ViewContainerRef);\n _node = inject(CDK_TREE_NODE_OUTLET_NODE, { optional: true });\n}\n\nexport interface TreeNodeDrop<T> {\n source: T;\n target: T;\n position: TreeNodeDropPosition;\n sourceValue: unknown;\n targetValue: unknown;\n dataSource: T[];\n}\n\nexport type TreeNodeDropPosition = 'before' | 'inside' | 'after';\n\n@Component({\n selector: 'ngs-tree',\n exportAs: 'ngsTree',\n imports: [\n TreeNodeOutlet\n ],\n template: `<ng-container ngsTreeNodeOutlet />`,\n styleUrl: './tree.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: CdkTree, useExisting: Tree }],\n host: {\n 'class': 'ngs-tree',\n },\n})\nexport class Tree<T, K = T> extends CdkTree<T, K> {\n checkable = input(false, {\n transform: booleanAttribute\n });\n\n selectable = input(false, {\n transform: booleanAttribute\n });\n\n draggable = input(false, {\n transform: booleanAttribute\n });\n\n childrenKey = input('children');\n\n readonly checkedChange = output<unknown[]>();\n readonly selectedChange = output<unknown>();\n readonly nodeDrop = output<TreeNodeDrop<T>>();\n\n readonly _checkStateVersion = signal(0);\n readonly _selectedKey = signal<unknown>(undefined);\n readonly _dropTargetKey = signal<unknown>(undefined);\n readonly _dropTargetPosition = signal<TreeNodeDropPosition | undefined>(undefined);\n private _checkedKeys = new Set<unknown>();\n private _nodeValueByDataKey = new Map<unknown, unknown>();\n private _disabledDataKeys = new Set<unknown>();\n private _enabledDataKeys = new Set<unknown>();\n private _draggedNode?: T;\n\n @ViewChild(TreeNodeOutlet, { static: true })\n override _nodeOutlet: TreeNodeOutlet = undefined!;\n\n _toggleNodeChecked(node: T, checked: boolean) {\n if (this._isNodeDisabled(node)) {\n return;\n }\n\n const nodes = [node, ...this._getCheckableDescendants(node)].filter(item => !this._isNodeDisabled(item));\n for (const item of nodes) {\n const key = this._getCheckableNodeKey(item);\n if (checked) {\n this._checkedKeys.add(key);\n } else {\n this._checkedKeys.delete(key);\n }\n }\n this._syncCheckedParentKeys();\n this._checkStateVersion.update(value => value + 1);\n this.checkedChange.emit(this._getCheckedValues());\n }\n\n _isNodeChecked(node: T): boolean {\n if (this._isNodeDisabled(node)) {\n return false;\n }\n\n const descendants = this._getCheckableDescendants(node).filter(item => !this._isNodeDisabled(item));\n if (!descendants.length) {\n return this._checkedKeys.has(this._getCheckableNodeKey(node));\n }\n\n return descendants.every(item => this._checkedKeys.has(this._getCheckableNodeKey(item)));\n }\n\n _isNodeIndeterminate(node: T): boolean {\n if (this._isNodeDisabled(node)) {\n return false;\n }\n\n const descendants = this._getCheckableDescendants(node).filter(item => !this._isNodeDisabled(item));\n if (!descendants.length) {\n return false;\n }\n\n const selectedCount = descendants.filter(item => this._checkedKeys.has(this._getCheckableNodeKey(item))).length;\n return selectedCount > 0 && selectedCount < descendants.length;\n }\n\n _selectNode(node: T) {\n if (this._isNodeDisabled(node)) {\n return;\n }\n\n const value = this._getTreeNodeValue(node);\n if (Object.is(this._selectedKey(), value)) {\n return;\n }\n\n this._selectedKey.set(value);\n this.selectedChange.emit(value);\n }\n\n _isNodeSelected(node: T): boolean {\n return !this._isNodeDisabled(node) && Object.is(this._selectedKey(), this._getTreeNodeValue(node));\n }\n\n _canDragNode(node: T): boolean {\n return node !== undefined && this.draggable() && !this._isNodeDisabled(node);\n }\n\n _isNodeDropTarget(node: T): boolean {\n return node !== undefined && Object.is(this._dropTargetKey(), this._getTreeNodeDataKey(node));\n }\n\n _isNodeDropTargetPosition(node: T, position: TreeNodeDropPosition): boolean {\n return this._isNodeDropTarget(node) && this._dropTargetPosition() === position;\n }\n\n _startNodeDrag(node: T, event: DragEvent) {\n if (!this._canDragNode(node)) {\n event.preventDefault();\n return;\n }\n\n this._draggedNode = node;\n if (event.dataTransfer) {\n event.dataTransfer.effectAllowed = 'move';\n event.dataTransfer.setData('text/plain', String(this._getTreeNodeValue(node) ?? ''));\n }\n }\n\n _dragNodeOver(node: T, event: DragEvent) {\n const position = this._getDropPosition(event);\n if (!this._canDropNode(node, position)) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n if (event.dataTransfer) {\n event.dataTransfer.dropEffect = 'move';\n }\n this._dropTargetKey.set(this._getTreeNodeDataKey(node));\n this._dropTargetPosition.set(position);\n }\n\n _dragNodeLeave(node: T, event: DragEvent) {\n event.stopPropagation();\n if (Object.is(this._dropTargetKey(), this._getTreeNodeDataKey(node))) {\n this._dropTargetKey.set(undefined);\n this._dropTargetPosition.set(undefined);\n }\n }\n\n _dropNodeInto(node: T, event: DragEvent) {\n const position = this._dropTargetPosition() ?? this._getDropPosition(event);\n if (!this._canDropNode(node, position)) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n const source = this._draggedNode!;\n const moved = this._moveNode(source, node, position);\n this._clearNodeDrag();\n\n if (moved) {\n this.nodeDrop.emit({\n source,\n target: node,\n position,\n sourceValue: this._getTreeNodeValue(source),\n targetValue: this._getTreeNodeValue(node),\n dataSource: this._getRootNodes() ?? [],\n });\n }\n }\n\n _endNodeDrag() {\n this._clearNodeDrag();\n }\n\n _registerNodeValue(node: T, value: unknown) {\n const key = this._getTreeNodeDataKey(node);\n this._nodeValueByDataKey.set(key, value);\n }\n\n _unregisterNodeValueByDataKey(key: unknown) {\n this._nodeValueByDataKey.delete(key);\n }\n\n _registerNodeDisabled(node: T, disabled: boolean) {\n const key = this._getTreeNodeDataKey(node);\n if (disabled) {\n const checkedKey = this._getCheckableNodeKey(node);\n const wasChecked = this._checkedKeys.has(checkedKey);\n this._disabledDataKeys.add(key);\n this._enabledDataKeys.delete(key);\n this._checkedKeys.delete(checkedKey);\n if (Object.is(this._selectedKey(), this._getTreeNodeValue(node))) {\n this._selectedKey.set(undefined);\n this.selectedChange.emit(undefined);\n }\n if (wasChecked) {\n this._syncCheckedParentKeys();\n this._checkStateVersion.update(value => value + 1);\n this.checkedChange.emit(this._getCheckedValues());\n }\n } else {\n this._disabledDataKeys.delete(key);\n this._enabledDataKeys.add(key);\n }\n }\n\n _unregisterNodeDisabledByDataKey(key: unknown) {\n this._disabledDataKeys.delete(key);\n this._enabledDataKeys.delete(key);\n }\n\n _isNodeDisabled(node: T): boolean {\n const key = this._getTreeNodeDataKey(node);\n if (this._enabledDataKeys.has(key)) {\n return false;\n }\n\n return this._disabledDataKeys.has(key) || (node as { disabled?: boolean } | null | undefined)?.disabled === true;\n }\n\n _getTreeNodeDataKey(node: T): unknown {\n return this._getTreeNodeKey(node);\n }\n\n _getTreeNodeValue(node: T): unknown {\n const key = this._getTreeNodeDataKey(node);\n return this._nodeValueByDataKey.has(key) ? this._nodeValueByDataKey.get(key) : key;\n }\n\n private _canDropNode(target: T, position: TreeNodeDropPosition): boolean {\n const source = this._draggedNode;\n return !!source\n && this.draggable()\n && !this._isNodeDisabled(target)\n && !this._isSameNode(source, target)\n && !this._isNodeDescendantOf(target, source);\n }\n\n private _moveNode(source: T, target: T, position: TreeNodeDropPosition): boolean {\n const rootNodes = this._getRootNodes();\n if (!rootNodes) {\n return false;\n }\n\n const moved = position === 'inside'\n ? this._moveNodeInto(source, target, rootNodes)\n : this._moveNodeBeside(source, target, position, rootNodes);\n if (!moved) {\n return false;\n }\n\n this._refreshTreeData(rootNodes);\n this._syncCheckedParentKeys();\n this._checkStateVersion.update(value => value + 1);\n return true;\n }\n\n private _moveNodeInto(source: T, target: T, rootNodes: T[]): boolean {\n const sourceLocation = this._removeNodeFrom(rootNodes, source);\n if (!sourceLocation) {\n return false;\n }\n\n const targetChildren = this._getMutableNodeChildren(target);\n if (!targetChildren) {\n sourceLocation.items.splice(sourceLocation.index, 0, source);\n return false;\n }\n\n targetChildren.push(source);\n (this as { expand?: (node: T) => void }).expand?.(target);\n return true;\n }\n\n private _moveNodeBeside(\n source: T,\n target: T,\n position: Exclude<TreeNodeDropPosition, 'inside'>,\n rootNodes: T[],\n ): boolean {\n const sourceLocation = this._removeNodeFrom(rootNodes, source);\n if (!sourceLocation) {\n return false;\n }\n\n const targetLocation = this._findNodeLocation(rootNodes, target);\n if (!targetLocation) {\n sourceLocation.items.splice(sourceLocation.index, 0, source);\n return false;\n }\n\n const insertIndex = position === 'before' ? targetLocation.index : targetLocation.index + 1;\n targetLocation.items.splice(insertIndex, 0, source);\n return true;\n }\n\n private _findNodeLocation(nodes: T[], target: T): { items: T[]; index: number } | undefined {\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (this._isSameNode(node, target)) {\n return { items: nodes, index: i };\n }\n\n const children = this._getDataNodeChildren(node);\n if (Array.isArray(children)) {\n const location = this._findNodeLocation(children, target);\n if (location) {\n return location;\n }\n }\n }\n\n return undefined;\n }\n\n private _removeNodeFrom(nodes: T[], source: T): { items: T[]; index: number } | undefined {\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (this._isSameNode(node, source)) {\n nodes.splice(i, 1);\n return { items: nodes, index: i };\n }\n\n const children = this._getDataNodeChildren(node);\n if (Array.isArray(children)) {\n const location = this._removeNodeFrom(children, source);\n if (location) {\n return location;\n }\n }\n }\n\n return undefined;\n }\n\n private _getRootNodes(): T[] | undefined {\n return Array.isArray(this.dataSource) ? this.dataSource : undefined;\n }\n\n private _getDataNodeChildren(node: T): T[] | undefined {\n const childrenAccessor = this.childrenAccessor as ((node: T) => T[] | undefined | null) | undefined;\n const children = childrenAccessor?.(node);\n return Array.isArray(children) ? children : undefined;\n }\n\n private _getMutableNodeChildren(node: T): T[] | undefined {\n const existingChildren = this._getDataNodeChildren(node);\n if (existingChildren?.length) {\n return existingChildren;\n }\n\n const childrenKey = this.childrenKey();\n const nodeRecord = node as Record<string, unknown> | null | undefined;\n if (!nodeRecord || typeof nodeRecord !== 'object') {\n return existingChildren;\n }\n\n if (!Array.isArray(nodeRecord[childrenKey])) {\n nodeRecord[childrenKey] = [];\n }\n\n return nodeRecord[childrenKey] as T[];\n }\n\n private _refreshTreeData(rootNodes: T[]) {\n if (Array.isArray(this.dataSource)) {\n this.dataSource = [];\n this.dataSource = [...rootNodes];\n return;\n }\n\n this.renderNodeChanges(rootNodes);\n }\n\n private _isNodeDescendantOf(node: T, maybeAncestor: T): boolean {\n return this._getCheckableDescendants(maybeAncestor).some(item => this._isSameNode(item, node));\n }\n\n private _isSameNode(first: T, second: T): boolean {\n return first === second || Object.is(this._getTreeNodeDataKey(first), this._getTreeNodeDataKey(second));\n }\n\n private _getDropPosition(event: DragEvent): TreeNodeDropPosition {\n const element = event.currentTarget instanceof HTMLElement\n ? event.currentTarget\n : event.target instanceof HTMLElement\n ? event.target\n : null;\n const rect = element?.getBoundingClientRect();\n if (!rect?.height) {\n return 'inside';\n }\n\n const relativeY = event.clientY - rect.top;\n if (relativeY < rect.height * 0.25) {\n return 'before';\n }\n\n if (relativeY > rect.height * 0.75) {\n return 'after';\n }\n\n return 'inside';\n }\n\n private _clearNodeDrag() {\n this._draggedNode = undefined;\n this._dropTargetKey.set(undefined);\n this._dropTargetPosition.set(undefined);\n }\n\n private _getCheckableDescendants(node: T): T[] {\n const treeControl = this.treeControl as {\n dataNodes?: T[];\n getDescendants?: (node: T) => T[];\n getLevel?: (node: T) => number;\n } | undefined;\n const flatNodes = treeControl?.dataNodes?.length\n ? treeControl.dataNodes\n : ((this as any)._keyManagerNodes?.value ?? (this as any)._flattenedNodes?.value ?? []) as T[];\n\n if (flatNodes.length && treeControl?.getLevel) {\n const nodeKey = this._getTreeNodeKey(node);\n const startIndex = flatNodes.findIndex(item => (\n item === node || this._getTreeNodeKey(item) === nodeKey\n ));\n\n if (startIndex > -1) {\n const descendants: T[] = [];\n const level = treeControl.getLevel(flatNodes[startIndex]);\n for (\n let i = startIndex + 1;\n i < flatNodes.length && treeControl.getLevel(flatNodes[i]) > level;\n i++\n ) {\n descendants.push(flatNodes[i]);\n }\n return descendants;\n }\n }\n\n if (treeControl?.getDescendants) {\n return treeControl.getDescendants(node);\n }\n\n const childrenAccessor = this.childrenAccessor as ((node: T) => T[] | undefined | null) | undefined;\n if (!childrenAccessor) {\n return [];\n }\n\n const descendants: T[] = [];\n const collect = (current: T) => {\n const children = childrenAccessor(current);\n if (!Array.isArray(children)) {\n return;\n }\n\n for (const child of children) {\n descendants.push(child);\n collect(child);\n }\n };\n\n collect(node);\n return descendants;\n }\n\n private _getCheckableNodeKey(node: T): unknown {\n return this._getTreeNodeValue(node);\n }\n\n private _getCheckedValues(): unknown[] {\n return Array.from(this._checkedKeys);\n }\n\n private _syncCheckedParentKeys() {\n const nodes = this._getCheckableNodes();\n for (let i = nodes.length - 1; i >= 0; i--) {\n const node = nodes[i];\n if (this._isNodeDisabled(node)) {\n this._checkedKeys.delete(this._getCheckableNodeKey(node));\n continue;\n }\n\n const descendants = this._getCheckableDescendants(node).filter(item => !this._isNodeDisabled(item));\n if (!descendants.length) {\n continue;\n }\n\n const key = this._getCheckableNodeKey(node);\n if (descendants.every(item => this._checkedKeys.has(this._getCheckableNodeKey(item)))) {\n this._checkedKeys.add(key);\n } else {\n this._checkedKeys.delete(key);\n }\n }\n }\n\n private _getCheckableNodes(): T[] {\n const treeControl = this.treeControl as { dataNodes?: T[] } | undefined;\n const flatNodes = treeControl?.dataNodes?.length\n ? treeControl.dataNodes\n : ((this as any)._keyManagerNodes?.value ?? (this as any)._flattenedNodes?.value ?? []) as T[];\n\n if (flatNodes.length) {\n return flatNodes;\n }\n\n const data = this.dataSource;\n if (!Array.isArray(data)) {\n return [];\n }\n\n const childrenAccessor = this.childrenAccessor as ((node: T) => T[] | undefined | null) | undefined;\n if (!childrenAccessor) {\n return data;\n }\n\n const nodes: T[] = [];\n const collect = (items: T[]) => {\n for (const item of items) {\n nodes.push(item);\n const children = childrenAccessor(item);\n if (Array.isArray(children)) {\n collect(children);\n }\n }\n };\n\n collect(data);\n return nodes;\n }\n\n private _getTreeNodeKey(node: T): unknown {\n const treeControl = this.treeControl as { trackBy?: (node: T) => K } | undefined;\n if (treeControl?.trackBy) {\n return treeControl.trackBy(node);\n }\n\n if (this.expansionKey) {\n return this.expansionKey(node);\n }\n\n if (this.trackBy) {\n return this.trackBy(-1, node);\n }\n\n return node;\n }\n}\n","import {\n CDK_TREE_NODE_OUTLET_NODE, CdkNestedTreeNode,\n CdkTreeNode,\n} from '@angular/cdk/tree';\nimport {\n ApplicationRef,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n createComponent,\n ElementRef,\n EnvironmentInjector,\n HostAttributeToken,\n inject,\n input,\n numberAttribute,\n OnDestroy,\n OnInit,\n PLATFORM_ID,\n effect,\n Renderer2\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Checkbox, CheckboxChange } from '@ngstarter-ui/components/checkbox';\nimport { Tree } from '../tree/tree';\n\nconst NGS_TREE_NODE_VALUE_UNSET = Symbol('ngs-tree-node-value-unset');\n\nfunction isNoopTreeKeyManager(keyManager: any) {\n return !!keyManager._isNoopTreeKeyManager;\n}\n\nfunction isTreeNodeControlClick(event: MouseEvent, host: HTMLElement): boolean {\n const target = event.target;\n if (!(target instanceof Element)) {\n return false;\n }\n\n const control = target.closest(\n '.ngs-tree-node-checkbox, [ngsTreeNodeToggle], [ngstreenodetoggle]',\n );\n\n return !!control && control !== host;\n}\n\nclass TreeNodeCheckbox<T, K = T> {\n private _isReady = false;\n private _wrapperElement?: HTMLElement;\n private _componentRef?: ComponentRef<Checkbox>;\n private _unlistenClick?: () => void;\n private _unlistenKeydown?: () => void;\n private _changeSubscription?: { unsubscribe: () => void };\n\n constructor(\n private _node: CdkTreeNode<T, K>,\n private _tree: Tree<T, K>,\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _appRef: ApplicationRef,\n private _environmentInjector: EnvironmentInjector,\n private _disabled: () => boolean,\n ) {}\n\n enable() {\n this._isReady = true;\n this.sync();\n }\n\n sync() {\n if (!this._isReady) {\n return;\n }\n\n if (!this._tree.checkable()) {\n this.destroy();\n return;\n }\n\n const checkbox = this._ensureCheckbox();\n const node = this._node.data;\n const checked = this._tree._isNodeChecked(node);\n const indeterminate = this._tree._isNodeIndeterminate(node);\n\n checkbox.checked.set(checked);\n checkbox.indeterminate.set(indeterminate);\n checkbox.disabled.set(this._disabled());\n this._componentRef?.changeDetectorRef.detectChanges();\n }\n\n destroy() {\n this._unlistenClick?.();\n this._unlistenClick = undefined;\n this._unlistenKeydown?.();\n this._unlistenKeydown = undefined;\n this._changeSubscription?.unsubscribe();\n this._changeSubscription = undefined;\n if (this._componentRef) {\n this._appRef.detachView(this._componentRef.hostView);\n this._componentRef.destroy();\n this._componentRef = undefined;\n }\n this._wrapperElement?.remove();\n this._wrapperElement = undefined;\n }\n\n private _ensureCheckbox(): Checkbox {\n if (this._componentRef) {\n return this._componentRef.instance;\n }\n\n const existingWrapper = this._elementRef.nativeElement.querySelector(\n ':scope > .ngs-tree-node-checkbox',\n ) as HTMLElement | null;\n const wrapper = existingWrapper ?? this._renderer.createElement('span') as HTMLElement;\n let checkboxHost = wrapper.querySelector(':scope > ngs-checkbox') as HTMLElement | null;\n\n if (!existingWrapper) {\n this._renderer.addClass(wrapper, 'ngs-tree-node-checkbox');\n checkboxHost = this._renderer.createElement('ngs-checkbox') as HTMLElement;\n this._renderer.appendChild(wrapper, checkboxHost);\n this._renderer.insertBefore(\n this._elementRef.nativeElement,\n wrapper,\n this._getCheckboxInsertionReference(),\n );\n } else if (!checkboxHost) {\n checkboxHost = this._renderer.createElement('ngs-checkbox') as HTMLElement;\n this._renderer.appendChild(wrapper, checkboxHost);\n }\n\n while (checkboxHost.firstChild) {\n checkboxHost.firstChild.remove();\n }\n\n this._wrapperElement = wrapper;\n this._componentRef = createComponent(Checkbox, {\n environmentInjector: this._environmentInjector,\n hostElement: checkboxHost,\n });\n this._componentRef.setInput('aria-label', 'Select tree node');\n this._componentRef.setInput('tabIndex', -1);\n this._appRef.attachView(this._componentRef.hostView);\n this._bindCheckboxEvents(wrapper, this._componentRef);\n\n return this._componentRef.instance;\n }\n\n private _getCheckboxInsertionReference(): ChildNode | null {\n const host = this._elementRef.nativeElement;\n const firstElement = host.firstElementChild;\n if (\n firstElement?.matches(\n 'button, [ngsTreeNodeToggle], [ngstreenodetoggle], [ngsIconButton], [ngsiconbutton]',\n )\n ) {\n return firstElement.nextSibling;\n }\n\n return host.firstChild;\n }\n\n private _bindCheckboxEvents(checkboxElement: HTMLElement, checkboxRef: ComponentRef<Checkbox>) {\n this._unlistenClick = this._renderer.listen(checkboxElement, 'click', (event: Event) => {\n event.stopPropagation();\n });\n this._unlistenKeydown = this._renderer.listen(checkboxElement, 'keydown', (event: Event) => {\n event.stopPropagation();\n });\n this._changeSubscription = checkboxRef.instance.change.subscribe((event: CheckboxChange) => {\n this._tree._toggleNodeChecked(this._node.data, event.checked);\n });\n }\n}\n\n@Component({\n selector: 'ngs-tree-node',\n exportAs: 'ngsTreeNode',\n template: '<ng-content />',\n styleUrl: './tree-node.scss',\n standalone: true,\n outputs: ['activation', 'expandedChange'],\n providers: [{ provide: CdkTreeNode, useExisting: TreeNode }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-tree-node',\n '[class.ngs-tree-node-selectable]': '_isSelectable()',\n '[class.ngs-tree-node-selected]': '_isSelected()',\n '[class.ngs-tree-node-disabled]': 'disabled()',\n '[class.ngs-tree-node-draggable]': '_isDraggable()',\n '[class.ngs-tree-node-drop-target]': '_isDropTarget()',\n '[class.ngs-tree-node-drop-before]': '_isDropTargetPosition(\"before\")',\n '[class.ngs-tree-node-drop-inside]': '_isDropTargetPosition(\"inside\")',\n '[class.ngs-tree-node-drop-after]': '_isDropTargetPosition(\"after\")',\n '[attr.draggable]': '_getDraggableAttribute()',\n '[attr.aria-expanded]': '_getAriaExpanded()',\n '[attr.aria-level]': 'level + 1',\n '[attr.aria-posinset]': '_getPositionInSet()',\n '[attr.aria-setsize]': '_getSetSize()',\n '[attr.aria-selected]': '_getAriaSelected()',\n '[attr.aria-disabled]': 'disabled()',\n '[attr.aria-grabbed]': '_getAriaGrabbed()',\n '(click)': '_handleNodeClick($event)',\n '(dragstart)': '_handleDragStart($event)',\n '(dragover)': '_handleDragOver($event)',\n '(dragleave)': '_handleDragLeave($event)',\n '(drop)': '_handleDrop($event)',\n '(dragend)': '_handleDragEnd()',\n '[tabindex]': '_getTabindexAttribute()',\n },\n})\nexport class TreeNode<T, K = T> extends CdkTreeNode<T, K> implements OnInit, OnDestroy {\n private _hostElementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _renderer = inject(Renderer2);\n private _appRef = inject(ApplicationRef);\n private _environmentInjector = inject(EnvironmentInjector);\n private _platformId = inject(PLATFORM_ID);\n private _checkbox: TreeNodeCheckbox<T, K>;\n private _dataChangesSubscription?: { unsubscribe: () => void };\n private _checkboxEnableHandle?: ReturnType<typeof setTimeout>;\n private _registeredDataKey: unknown = NGS_TREE_NODE_VALUE_UNSET;\n\n tabIndexInputBinding = input<number, any>(0, {\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\n alias: 'tabIndex',\n });\n\n value = input<unknown>(NGS_TREE_NODE_VALUE_UNSET);\n\n disabled = input(false, {\n transform: booleanAttribute\n });\n\n defaultTabIndex = 0;\n\n constructor() {\n super();\n const tree = this._tree as Tree<T, K>;\n this._checkbox = new TreeNodeCheckbox(\n this,\n tree,\n this._hostElementRef,\n this._renderer,\n this._appRef,\n this._environmentInjector,\n () => this.disabled(),\n );\n this._dataChangesSubscription = this._dataChanges.subscribe(() => this._syncNodeState());\n if (isPlatformBrowser(this._platformId)) {\n this._checkboxEnableHandle = setTimeout(() => this._checkbox.enable());\n }\n const tabIndex = inject(new HostAttributeToken('tabindex'), { optional: true });\n (this as any)._tabIndexInputBinding = Number(tabIndex) || this.defaultTabIndex;\n effect(() => {\n this.isDisabled = this.disabled();\n });\n effect(() => {\n tree.checkable();\n tree._checkStateVersion();\n this.disabled();\n this._syncNodeDisabledRegistration();\n this._checkbox.sync();\n });\n effect(() => {\n this.value();\n this._syncNodeState();\n });\n }\n\n _getTabindexAttribute() {\n if (isNoopTreeKeyManager((this._tree as any)._keyManager)) {\n return this.tabIndexInputBinding();\n }\n return (this as any)._tabindex;\n }\n\n _handleNodeClick(event: MouseEvent) {\n this._focusItem();\n this._selectNodeFromEvent(event);\n }\n\n _isSelectable(): boolean {\n return (this._tree as Tree<T, K>).selectable() && !this.disabled();\n }\n\n _isSelected(): boolean {\n const tree = this._tree as Tree<T, K>;\n return tree.selectable() && tree._isNodeSelected(this.data);\n }\n\n _getAriaSelected(): boolean | null {\n return (this._tree as Tree<T, K>).selectable() ? this._isSelected() : null;\n }\n\n _isDraggable(): boolean {\n return (this._tree as Tree<T, K>)._canDragNode(this.data);\n }\n\n _isDropTarget(): boolean {\n return (this._tree as Tree<T, K>)._isNodeDropTarget(this.data);\n }\n\n _isDropTargetPosition(position: 'before' | 'inside' | 'after'): boolean {\n return (this._tree as Tree<T, K>)._isNodeDropTargetPosition(this.data, position);\n }\n\n _getDraggableAttribute(): true | null {\n return this._isDraggable() ? true : null;\n }\n\n _getAriaGrabbed(): boolean | null {\n return (this._tree as Tree<T, K>).draggable() ? false : null;\n }\n\n _handleDragStart(event: DragEvent) {\n (this._tree as Tree<T, K>)._startNodeDrag(this.data, event);\n }\n\n _handleDragOver(event: DragEvent) {\n (this._tree as Tree<T, K>)._dragNodeOver(this.data, event);\n }\n\n _handleDragLeave(event: DragEvent) {\n (this._tree as Tree<T, K>)._dragNodeLeave(this.data, event);\n }\n\n _handleDrop(event: DragEvent) {\n (this._tree as Tree<T, K>)._dropNodeInto(this.data, event);\n }\n\n _handleDragEnd() {\n (this._tree as Tree<T, K>)._endNodeDrag();\n }\n\n private _selectNodeFromEvent(event: MouseEvent) {\n if (!this._isSelectable() || this._isTreeControlClick(event)) {\n return;\n }\n\n (this._tree as Tree<T, K>)._selectNode(this.data);\n }\n\n private _isTreeControlClick(event: MouseEvent): boolean {\n return isTreeNodeControlClick(event, this._hostElementRef.nativeElement);\n }\n\n private _syncNodeState() {\n this._syncNodeValueRegistration();\n this._syncNodeDisabledRegistration();\n this._checkbox.sync();\n }\n\n private _syncNodeValueRegistration() {\n if (this.data === undefined) {\n return;\n }\n\n const tree = this._tree as Tree<T, K>;\n const key = tree._getTreeNodeDataKey(this.data);\n if (this._registeredDataKey !== NGS_TREE_NODE_VALUE_UNSET && !Object.is(this._registeredDataKey, key)) {\n tree._unregisterNodeValueByDataKey(this._registeredDataKey);\n tree._unregisterNodeDisabledByDataKey(this._registeredDataKey);\n }\n\n this._registeredDataKey = key;\n if (this.value() === NGS_TREE_NODE_VALUE_UNSET) {\n tree._unregisterNodeValueByDataKey(key);\n } else {\n tree._registerNodeValue(this.data, this.value());\n }\n }\n\n private _syncNodeDisabledRegistration() {\n if (this.data === undefined) {\n return;\n }\n\n (this._tree as Tree<T, K>)._registerNodeDisabled(this.data, this.disabled());\n }\n\n override ngOnInit() {\n super.ngOnInit();\n this._syncNodeState();\n }\n\n override ngOnDestroy() {\n if (this._checkboxEnableHandle) {\n clearTimeout(this._checkboxEnableHandle);\n }\n this._dataChangesSubscription?.unsubscribe();\n if (this._registeredDataKey !== NGS_TREE_NODE_VALUE_UNSET) {\n (this._tree as Tree<T, K>)._unregisterNodeValueByDataKey(this._registeredDataKey);\n (this._tree as Tree<T, K>)._unregisterNodeDisabledByDataKey(this._registeredDataKey);\n }\n this._checkbox.destroy();\n super.ngOnDestroy();\n }\n}\n\n@Component({\n selector: 'ngs-nested-tree-node',\n exportAs: 'ngsNestedTreeNode',\n template: '<ng-content />',\n styleUrl: './tree-node.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n outputs: ['activation', 'expandedChange'],\n providers: [\n { provide: CdkNestedTreeNode, useExisting: NestedTreeNode },\n { provide: CdkTreeNode, useExisting: NestedTreeNode },\n { provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: NestedTreeNode },\n ],\n host: {\n 'class': 'ngs-nested-tree-node',\n '[class.ngs-tree-node-selectable]': '_isSelectable()',\n '[class.ngs-tree-node-selected]': '_isSelected()',\n '[class.ngs-tree-node-disabled]': 'disabled()',\n '[class.ngs-tree-node-draggable]': '_isDraggable()',\n '[class.ngs-tree-node-drop-target]': '_isDropTarget()',\n '[class.ngs-tree-node-drop-before]': '_isDropTargetPosition(\"before\")',\n '[class.ngs-tree-node-drop-inside]': '_isDropTargetPosition(\"inside\")',\n '[class.ngs-tree-node-drop-after]': '_isDropTargetPosition(\"after\")',\n '[attr.draggable]': '_getDraggableAttribute()',\n '[attr.aria-selected]': '_getAriaSelected()',\n '[attr.aria-disabled]': 'disabled()',\n '[attr.aria-grabbed]': '_getAriaGrabbed()',\n '(click)': '_handleNodeClick($event)',\n '(dragstart)': '_handleDragStart($event)',\n '(dragover)': '_handleDragOver($event)',\n '(dragleave)': '_handleDragLeave($event)',\n '(drop)': '_handleDrop($event)',\n '(dragend)': '_handleDragEnd()',\n },\n})\nexport class NestedTreeNode<T, K = T> extends CdkNestedTreeNode<T, K> implements OnInit, OnDestroy {\n private _hostElementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _renderer = inject(Renderer2);\n private _appRef = inject(ApplicationRef);\n private _environmentInjector = inject(EnvironmentInjector);\n private _platformId = inject(PLATFORM_ID);\n private _checkbox: TreeNodeCheckbox<T, K>;\n private _dataChangesSubscription?: { unsubscribe: () => void };\n private _checkboxEnableHandle?: ReturnType<typeof setTimeout>;\n private _registeredDataKey: unknown = NGS_TREE_NODE_VALUE_UNSET;\n\n node = input<T>(undefined!, {\n alias: 'ngsNestedTreeNode'\n });\n\n value = input<unknown>(NGS_TREE_NODE_VALUE_UNSET);\n\n disabled = input(false, {\n transform: booleanAttribute\n });\n\n tabIndexInput = input<number, any>(0, {\n alias: 'tabIndex',\n transform: (value: any) => (value == null ? 0 : numberAttribute(value))\n });\n\n constructor() {\n super();\n const tree = this._tree as Tree<T, K>;\n this._checkbox = new TreeNodeCheckbox(\n this,\n tree,\n this._hostElementRef,\n this._renderer,\n this._appRef,\n this._environmentInjector,\n () => this.disabled(),\n );\n this._dataChangesSubscription = this._dataChanges.subscribe(() => this._syncNodeState());\n if (isPlatformBrowser(this._platformId)) {\n this._checkboxEnableHandle = setTimeout(() => this._checkbox.enable());\n }\n effect(() => {\n this.isDisabled = this.disabled();\n });\n effect(() => {\n tree.checkable();\n tree._checkStateVersion();\n this.disabled();\n this._syncNodeDisabledRegistration();\n this._checkbox.sync();\n });\n effect(() => {\n this.value();\n this._syncNodeState();\n });\n }\n\n get tabIndex(): number {\n return this.isDisabled ? -1 : this.tabIndexInput();\n }\n\n _handleNodeClick(event: MouseEvent) {\n (this as any)._focusItem?.();\n this._selectNodeFromEvent(event);\n }\n\n _isSelectable(): boolean {\n return (this._tree as Tree<T, K>).selectable() && !this.disabled();\n }\n\n _isSelected(): boolean {\n const tree = this._tree as Tree<T, K>;\n return tree.selectable() && tree._isNodeSelected(this.data);\n }\n\n _getAriaSelected(): boolean | null {\n return (this._tree as Tree<T, K>).selectable() ? this._isSelected() : null;\n }\n\n _isDraggable(): boolean {\n return (this._tree as Tree<T, K>)._canDragNode(this.data);\n }\n\n _isDropTarget(): boolean {\n return (this._tree as Tree<T, K>)._isNodeDropTarget(this.data);\n }\n\n _isDropTargetPosition(position: 'before' | 'inside' | 'after'): boolean {\n return (this._tree as Tree<T, K>)._isNodeDropTargetPosition(this.data, position);\n }\n\n _getDraggableAttribute(): true | null {\n return this._isDraggable() ? true : null;\n }\n\n _getAriaGrabbed(): boolean | null {\n return (this._tree as Tree<T, K>).draggable() ? false : null;\n }\n\n _handleDragStart(event: DragEvent) {\n (this._tree as Tree<T, K>)._startNodeDrag(this.data, event);\n }\n\n _handleDragOver(event: DragEvent) {\n (this._tree as Tree<T, K>)._dragNodeOver(this.data, event);\n }\n\n _handleDragLeave(event: DragEvent) {\n (this._tree as Tree<T, K>)._dragNodeLeave(this.data, event);\n }\n\n _handleDrop(event: DragEvent) {\n (this._tree as Tree<T, K>)._dropNodeInto(this.data, event);\n }\n\n _handleDragEnd() {\n (this._tree as Tree<T, K>)._endNodeDrag();\n }\n\n private _selectNodeFromEvent(event: MouseEvent) {\n if (!this._isSelectable() || this._isTreeControlClick(event)) {\n return;\n }\n\n (this._tree as Tree<T, K>)._selectNode(this.data);\n }\n\n private _isTreeControlClick(event: MouseEvent): boolean {\n return isTreeNodeControlClick(event, this._hostElementRef.nativeElement);\n }\n\n private _syncNodeState() {\n this._syncNodeValueRegistration();\n this._syncNodeDisabledRegistration();\n this._checkbox.sync();\n }\n\n private _syncNodeValueRegistration() {\n if (this.data === undefined) {\n return;\n }\n\n const tree = this._tree as Tree<T, K>;\n const key = tree._getTreeNodeDataKey(this.data);\n if (this._registeredDataKey !== NGS_TREE_NODE_VALUE_UNSET && !Object.is(this._registeredDataKey, key)) {\n tree._unregisterNodeValueByDataKey(this._registeredDataKey);\n tree._unregisterNodeDisabledByDataKey(this._registeredDataKey);\n }\n\n this._registeredDataKey = key;\n if (this.value() === NGS_TREE_NODE_VALUE_UNSET) {\n tree._unregisterNodeValueByDataKey(key);\n } else {\n tree._registerNodeValue(this.data, this.value());\n }\n }\n\n private _syncNodeDisabledRegistration() {\n if (this.data === undefined) {\n return;\n }\n\n (this._tree as Tree<T, K>)._registerNodeDisabled(this.data, this.disabled());\n }\n\n override ngOnInit() {\n super.ngOnInit();\n this._syncNodeState();\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n override ngOnDestroy() {\n if (this._checkboxEnableHandle) {\n clearTimeout(this._checkboxEnableHandle);\n }\n this._dataChangesSubscription?.unsubscribe();\n if (this._registeredDataKey !== NGS_TREE_NODE_VALUE_UNSET) {\n (this._tree as Tree<T, K>)._unregisterNodeValueByDataKey(this._registeredDataKey);\n (this._tree as Tree<T, K>)._unregisterNodeDisabledByDataKey(this._registeredDataKey);\n }\n this._checkbox.destroy();\n super.ngOnDestroy();\n }\n}\n","import { CdkTreeNodePadding } from '@angular/cdk/tree';\nimport { Directive, effect, input, numberAttribute } from '@angular/core';\n\n@Directive({\n selector: '[ngsTreeNodePadding]',\n providers: [{ provide: CdkTreeNodePadding, useExisting: TreeNodePadding }],\n standalone: true\n})\nexport class TreeNodePadding<T, K = T> extends CdkTreeNodePadding<T, K> {\n levelInput = input<number, any>(0, {\n alias: 'ngsTreeNodePadding',\n transform: numberAttribute\n });\n\n indentInput = input<number | string>(40, {\n alias: 'ngsTreeNodePaddingIndent'\n });\n\n constructor() {\n super();\n effect(() => {\n this.level = this.levelInput();\n });\n effect(() => {\n this._setIndentInput(this.indentInput());\n });\n }\n}\n","import { CdkTreeNodeToggle } from '@angular/cdk/tree';\nimport { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: '[ngsTreeNodeToggle]',\n providers: [{ provide: CdkTreeNodeToggle, useExisting: TreeNodeToggle }],\n inputs: [{ name: 'recursive', alias: 'ngsTreeNodeToggleRecursive' }],\n standalone: true\n})\nexport class TreeNodeToggle<T, K = T> extends CdkTreeNodeToggle<T, K> {\n}\n","import { CdkTreeNodeDef } from '@angular/cdk/tree';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[ngsTreeNodeDef]',\n inputs: [{ name: 'when', alias: 'ngsTreeNodeDefWhen' }],\n providers: [{ provide: CdkTreeNodeDef, useExisting: TreeNodeDef }],\n standalone: true\n})\nexport class TreeNodeDef<T> extends CdkTreeNodeDef<T> {\n data = input<T>(undefined!, {\n alias: 'ngsTreeNode'\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngstarter-ui/components",
|
|
3
3
|
"description": "NgStarter - AI-friendly Enterprise Angular UI Components and Admin Panel",
|
|
4
|
-
"version": "21.0.
|
|
4
|
+
"version": "21.0.26",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/elementarlabsdev/ngstarter.git"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { TemplateRef
|
|
2
|
+
import { TemplateRef } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
declare class NotificationDefDirective {
|
|
5
5
|
readonly templateRef: TemplateRef<any>;
|
|
@@ -14,26 +14,39 @@ declare class NotificationControlsDefDirective {
|
|
|
14
14
|
static ɵdir: i0.ɵɵDirectiveDeclaration<NotificationControlsDefDirective, "[ngsNotificationControlsDef]", never, {}, {}, never, never, true, never>;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
interface
|
|
18
|
-
|
|
17
|
+
interface NotificationActorLike {
|
|
18
|
+
id: string | number;
|
|
19
|
+
name: string;
|
|
20
|
+
username?: string;
|
|
21
|
+
avatarUrl: string;
|
|
22
|
+
}
|
|
23
|
+
interface NotificationInterface<TActor extends {
|
|
24
|
+
id: string | number;
|
|
25
|
+
} = NotificationActorLike, TPayload = any> {
|
|
26
|
+
actor: TActor;
|
|
19
27
|
type: string;
|
|
20
28
|
createdAt: string;
|
|
21
29
|
isUnread?: boolean;
|
|
30
|
+
payload?: TPayload;
|
|
22
31
|
[propName: string]: any;
|
|
23
32
|
}
|
|
24
33
|
|
|
25
|
-
declare class NotificationList<T extends NotificationInterface>
|
|
34
|
+
declare class NotificationList<T extends NotificationInterface> {
|
|
26
35
|
readonly defs: i0.Signal<readonly NotificationDefDirective[]>;
|
|
27
36
|
readonly controlsDef: i0.Signal<NotificationControlsDefDirective | undefined>;
|
|
28
37
|
notifications: i0.InputSignal<T[]>;
|
|
29
38
|
static: i0.InputSignalWithTransform<boolean, unknown>;
|
|
39
|
+
readonly notificationClick: i0.OutputEmitterRef<T>;
|
|
30
40
|
protected _initialized: boolean;
|
|
31
|
-
protected _defsMap: Map<string, TemplateRef<any
|
|
41
|
+
protected readonly _defsMap: i0.Signal<Map<string, TemplateRef<any>>>;
|
|
32
42
|
get controlsTpl(): TemplateRef<any>;
|
|
33
|
-
ngAfterContentInit(): void;
|
|
34
43
|
getNotificationTemplate(type: string): TemplateRef<any>;
|
|
44
|
+
protected handleNotificationClick(notification: T, event: Event): void;
|
|
45
|
+
protected handleNotificationKeydown(notification: T, event: KeyboardEvent): void;
|
|
46
|
+
protected stopControlsEvent(event: Event): void;
|
|
47
|
+
private isEventFromInteractiveElement;
|
|
35
48
|
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationList<any>, never>;
|
|
36
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NotificationList<any>, "ngs-notification-list", ["ngsNotificationList"], { "notifications": { "alias": "notifications"; "required": false; "isSignal": true; }; "static": { "alias": "static"; "required": false; "isSignal": true; }; }, {}, ["defs", "controlsDef"], never, true, never>;
|
|
49
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NotificationList<any>, "ngs-notification-list", ["ngsNotificationList"], { "notifications": { "alias": "notifications"; "required": false; "isSignal": true; }; "static": { "alias": "static"; "required": false; "isSignal": true; }; }, { "notificationClick": "notificationClick"; }, ["defs", "controlsDef"], never, true, never>;
|
|
37
50
|
}
|
|
38
51
|
|
|
39
52
|
declare class NotificationSkeleton {
|
|
@@ -81,4 +94,4 @@ declare class NotificationAvatarDirective {
|
|
|
81
94
|
}
|
|
82
95
|
|
|
83
96
|
export { Notification, NotificationActor, NotificationAvatarDirective, NotificationContent, NotificationControlsDefDirective, NotificationDefDirective, NotificationList, NotificationMessage, NotificationPropsDirective, NotificationSkeleton, NotificationTime };
|
|
84
|
-
export type { NotificationInterface };
|
|
97
|
+
export type { NotificationActorLike, NotificationInterface };
|
|
@@ -1,60 +1,184 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { ViewContainerRef, OnInit, OnDestroy } from '@angular/core';
|
|
3
3
|
import { CdkTree, CdkTreeNodeOutlet, CdkNestedTreeNode, CdkTreeNode, CdkTreeNodePadding, CdkTreeNodeToggle, CdkTreeNodeDef } from '@angular/cdk/tree';
|
|
4
4
|
|
|
5
5
|
declare class TreeNodeOutlet implements CdkTreeNodeOutlet {
|
|
6
6
|
viewContainer: ViewContainerRef;
|
|
7
7
|
_node: {} | null;
|
|
8
|
-
static ɵfac:
|
|
9
|
-
static ɵdir:
|
|
8
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeNodeOutlet, never>;
|
|
9
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TreeNodeOutlet, "[ngsTreeNodeOutlet]", never, {}, {}, never, never, true, never>;
|
|
10
10
|
}
|
|
11
|
+
interface TreeNodeDrop<T> {
|
|
12
|
+
source: T;
|
|
13
|
+
target: T;
|
|
14
|
+
position: TreeNodeDropPosition;
|
|
15
|
+
sourceValue: unknown;
|
|
16
|
+
targetValue: unknown;
|
|
17
|
+
dataSource: T[];
|
|
18
|
+
}
|
|
19
|
+
type TreeNodeDropPosition = 'before' | 'inside' | 'after';
|
|
11
20
|
declare class Tree<T, K = T> extends CdkTree<T, K> {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
21
|
+
checkable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
22
|
+
selectable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
23
|
+
draggable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
24
|
+
childrenKey: _angular_core.InputSignal<string>;
|
|
25
|
+
readonly checkedChange: _angular_core.OutputEmitterRef<unknown[]>;
|
|
26
|
+
readonly selectedChange: _angular_core.OutputEmitterRef<unknown>;
|
|
27
|
+
readonly nodeDrop: _angular_core.OutputEmitterRef<TreeNodeDrop<T>>;
|
|
28
|
+
readonly _checkStateVersion: _angular_core.WritableSignal<number>;
|
|
29
|
+
readonly _selectedKey: _angular_core.WritableSignal<unknown>;
|
|
30
|
+
readonly _dropTargetKey: _angular_core.WritableSignal<unknown>;
|
|
31
|
+
readonly _dropTargetPosition: _angular_core.WritableSignal<TreeNodeDropPosition | undefined>;
|
|
32
|
+
private _checkedKeys;
|
|
33
|
+
private _nodeValueByDataKey;
|
|
34
|
+
private _disabledDataKeys;
|
|
35
|
+
private _enabledDataKeys;
|
|
36
|
+
private _draggedNode?;
|
|
37
|
+
_nodeOutlet: TreeNodeOutlet;
|
|
38
|
+
_toggleNodeChecked(node: T, checked: boolean): void;
|
|
39
|
+
_isNodeChecked(node: T): boolean;
|
|
40
|
+
_isNodeIndeterminate(node: T): boolean;
|
|
41
|
+
_selectNode(node: T): void;
|
|
42
|
+
_isNodeSelected(node: T): boolean;
|
|
43
|
+
_canDragNode(node: T): boolean;
|
|
44
|
+
_isNodeDropTarget(node: T): boolean;
|
|
45
|
+
_isNodeDropTargetPosition(node: T, position: TreeNodeDropPosition): boolean;
|
|
46
|
+
_startNodeDrag(node: T, event: DragEvent): void;
|
|
47
|
+
_dragNodeOver(node: T, event: DragEvent): void;
|
|
48
|
+
_dragNodeLeave(node: T, event: DragEvent): void;
|
|
49
|
+
_dropNodeInto(node: T, event: DragEvent): void;
|
|
50
|
+
_endNodeDrag(): void;
|
|
51
|
+
_registerNodeValue(node: T, value: unknown): void;
|
|
52
|
+
_unregisterNodeValueByDataKey(key: unknown): void;
|
|
53
|
+
_registerNodeDisabled(node: T, disabled: boolean): void;
|
|
54
|
+
_unregisterNodeDisabledByDataKey(key: unknown): void;
|
|
55
|
+
_isNodeDisabled(node: T): boolean;
|
|
56
|
+
_getTreeNodeDataKey(node: T): unknown;
|
|
57
|
+
_getTreeNodeValue(node: T): unknown;
|
|
58
|
+
private _canDropNode;
|
|
59
|
+
private _moveNode;
|
|
60
|
+
private _moveNodeInto;
|
|
61
|
+
private _moveNodeBeside;
|
|
62
|
+
private _findNodeLocation;
|
|
63
|
+
private _removeNodeFrom;
|
|
64
|
+
private _getRootNodes;
|
|
65
|
+
private _getDataNodeChildren;
|
|
66
|
+
private _getMutableNodeChildren;
|
|
67
|
+
private _refreshTreeData;
|
|
68
|
+
private _isNodeDescendantOf;
|
|
69
|
+
private _isSameNode;
|
|
70
|
+
private _getDropPosition;
|
|
71
|
+
private _clearNodeDrag;
|
|
72
|
+
private _getCheckableDescendants;
|
|
73
|
+
private _getCheckableNodeKey;
|
|
74
|
+
private _getCheckedValues;
|
|
75
|
+
private _syncCheckedParentKeys;
|
|
76
|
+
private _getCheckableNodes;
|
|
77
|
+
private _getTreeNodeKey;
|
|
78
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Tree<any, any>, never>;
|
|
79
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Tree<any, any>, "ngs-tree", ["ngsTree"], { "checkable": { "alias": "checkable"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "childrenKey": { "alias": "childrenKey"; "required": false; "isSignal": true; }; }, { "checkedChange": "checkedChange"; "selectedChange": "selectedChange"; "nodeDrop": "nodeDrop"; }, never, never, true, never>;
|
|
15
80
|
}
|
|
16
81
|
|
|
17
82
|
declare class TreeNode<T, K = T> extends CdkTreeNode<T, K> implements OnInit, OnDestroy {
|
|
18
|
-
|
|
19
|
-
|
|
83
|
+
private _hostElementRef;
|
|
84
|
+
private _renderer;
|
|
85
|
+
private _appRef;
|
|
86
|
+
private _environmentInjector;
|
|
87
|
+
private _platformId;
|
|
88
|
+
private _checkbox;
|
|
89
|
+
private _dataChangesSubscription?;
|
|
90
|
+
private _checkboxEnableHandle?;
|
|
91
|
+
private _registeredDataKey;
|
|
92
|
+
tabIndexInputBinding: _angular_core.InputSignalWithTransform<number, any>;
|
|
93
|
+
value: _angular_core.InputSignal<unknown>;
|
|
94
|
+
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
20
95
|
defaultTabIndex: number;
|
|
21
96
|
constructor();
|
|
22
97
|
_getTabindexAttribute(): any;
|
|
98
|
+
_handleNodeClick(event: MouseEvent): void;
|
|
99
|
+
_isSelectable(): boolean;
|
|
100
|
+
_isSelected(): boolean;
|
|
101
|
+
_getAriaSelected(): boolean | null;
|
|
102
|
+
_isDraggable(): boolean;
|
|
103
|
+
_isDropTarget(): boolean;
|
|
104
|
+
_isDropTargetPosition(position: 'before' | 'inside' | 'after'): boolean;
|
|
105
|
+
_getDraggableAttribute(): true | null;
|
|
106
|
+
_getAriaGrabbed(): boolean | null;
|
|
107
|
+
_handleDragStart(event: DragEvent): void;
|
|
108
|
+
_handleDragOver(event: DragEvent): void;
|
|
109
|
+
_handleDragLeave(event: DragEvent): void;
|
|
110
|
+
_handleDrop(event: DragEvent): void;
|
|
111
|
+
_handleDragEnd(): void;
|
|
112
|
+
private _selectNodeFromEvent;
|
|
113
|
+
private _isTreeControlClick;
|
|
114
|
+
private _syncNodeState;
|
|
115
|
+
private _syncNodeValueRegistration;
|
|
116
|
+
private _syncNodeDisabledRegistration;
|
|
23
117
|
ngOnInit(): void;
|
|
24
118
|
ngOnDestroy(): void;
|
|
25
|
-
static ɵfac:
|
|
26
|
-
static
|
|
119
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeNode<any, any>, never>;
|
|
120
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TreeNode<any, any>, "ngs-tree-node", ["ngsTreeNode"], { "tabIndexInputBinding": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "activation": "activation"; "expandedChange": "expandedChange"; }, never, ["*"], true, never>;
|
|
27
121
|
}
|
|
28
122
|
declare class NestedTreeNode<T, K = T> extends CdkNestedTreeNode<T, K> implements OnInit, OnDestroy {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
123
|
+
private _hostElementRef;
|
|
124
|
+
private _renderer;
|
|
125
|
+
private _appRef;
|
|
126
|
+
private _environmentInjector;
|
|
127
|
+
private _platformId;
|
|
128
|
+
private _checkbox;
|
|
129
|
+
private _dataChangesSubscription?;
|
|
130
|
+
private _checkboxEnableHandle?;
|
|
131
|
+
private _registeredDataKey;
|
|
132
|
+
node: _angular_core.InputSignal<T>;
|
|
133
|
+
value: _angular_core.InputSignal<unknown>;
|
|
134
|
+
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
135
|
+
tabIndexInput: _angular_core.InputSignalWithTransform<number, any>;
|
|
32
136
|
constructor();
|
|
33
137
|
get tabIndex(): number;
|
|
138
|
+
_handleNodeClick(event: MouseEvent): void;
|
|
139
|
+
_isSelectable(): boolean;
|
|
140
|
+
_isSelected(): boolean;
|
|
141
|
+
_getAriaSelected(): boolean | null;
|
|
142
|
+
_isDraggable(): boolean;
|
|
143
|
+
_isDropTarget(): boolean;
|
|
144
|
+
_isDropTargetPosition(position: 'before' | 'inside' | 'after'): boolean;
|
|
145
|
+
_getDraggableAttribute(): true | null;
|
|
146
|
+
_getAriaGrabbed(): boolean | null;
|
|
147
|
+
_handleDragStart(event: DragEvent): void;
|
|
148
|
+
_handleDragOver(event: DragEvent): void;
|
|
149
|
+
_handleDragLeave(event: DragEvent): void;
|
|
150
|
+
_handleDrop(event: DragEvent): void;
|
|
151
|
+
_handleDragEnd(): void;
|
|
152
|
+
private _selectNodeFromEvent;
|
|
153
|
+
private _isTreeControlClick;
|
|
154
|
+
private _syncNodeState;
|
|
155
|
+
private _syncNodeValueRegistration;
|
|
156
|
+
private _syncNodeDisabledRegistration;
|
|
34
157
|
ngOnInit(): void;
|
|
35
158
|
ngAfterContentInit(): void;
|
|
36
159
|
ngOnDestroy(): void;
|
|
37
|
-
static ɵfac:
|
|
38
|
-
static
|
|
160
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NestedTreeNode<any, any>, never>;
|
|
161
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NestedTreeNode<any, any>, "ngs-nested-tree-node", ["ngsNestedTreeNode"], { "node": { "alias": "ngsNestedTreeNode"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "tabIndexInput": { "alias": "tabIndex"; "required": false; "isSignal": true; }; }, { "activation": "activation"; "expandedChange": "expandedChange"; }, never, ["*"], true, never>;
|
|
39
162
|
}
|
|
40
163
|
|
|
41
164
|
declare class TreeNodePadding<T, K = T> extends CdkTreeNodePadding<T, K> {
|
|
42
|
-
levelInput:
|
|
43
|
-
indentInput:
|
|
165
|
+
levelInput: _angular_core.InputSignalWithTransform<number, any>;
|
|
166
|
+
indentInput: _angular_core.InputSignal<string | number>;
|
|
44
167
|
constructor();
|
|
45
|
-
static ɵfac:
|
|
46
|
-
static ɵdir:
|
|
168
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeNodePadding<any, any>, never>;
|
|
169
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TreeNodePadding<any, any>, "[ngsTreeNodePadding]", never, { "levelInput": { "alias": "ngsTreeNodePadding"; "required": false; "isSignal": true; }; "indentInput": { "alias": "ngsTreeNodePaddingIndent"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
47
170
|
}
|
|
48
171
|
|
|
49
172
|
declare class TreeNodeToggle<T, K = T> extends CdkTreeNodeToggle<T, K> {
|
|
50
|
-
static ɵfac:
|
|
51
|
-
static ɵdir:
|
|
173
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeNodeToggle<any, any>, never>;
|
|
174
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TreeNodeToggle<any, any>, "[ngsTreeNodeToggle]", never, { "recursive": { "alias": "ngsTreeNodeToggleRecursive"; "required": false; }; }, {}, never, never, true, never>;
|
|
52
175
|
}
|
|
53
176
|
|
|
54
177
|
declare class TreeNodeDef<T> extends CdkTreeNodeDef<T> {
|
|
55
|
-
data:
|
|
56
|
-
static ɵfac:
|
|
57
|
-
static ɵdir:
|
|
178
|
+
data: _angular_core.InputSignal<T>;
|
|
179
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeNodeDef<any>, never>;
|
|
180
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TreeNodeDef<any>, "[ngsTreeNodeDef]", never, { "when": { "alias": "ngsTreeNodeDefWhen"; "required": false; }; "data": { "alias": "ngsTreeNode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
58
181
|
}
|
|
59
182
|
|
|
60
183
|
export { NestedTreeNode, Tree, TreeNode, TreeNodeDef, TreeNodeOutlet, TreeNodePadding, TreeNodeToggle };
|
|
184
|
+
export type { TreeNodeDrop, TreeNodeDropPosition };
|