@ngstarter-ui/components 21.0.47 → 21.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"ngstarter-ui-components-toolbar.mjs","sources":["../../../projects/components/toolbar/src/toolbar-item/toolbar-item.ts","../../../projects/components/toolbar/src/toolbar-item/toolbar-item.html","../../../projects/components/toolbar/src/toolbar-nav/toolbar-nav.ts","../../../projects/components/toolbar/src/toolbar-nav/toolbar-nav.html","../../../projects/components/toolbar/src/toolbar-spacer/toolbar-spacer.ts","../../../projects/components/toolbar/src/toolbar-spacer/toolbar-spacer.html","../../../projects/components/toolbar/src/toolbar-row/toolbar-row.ts","../../../projects/components/toolbar/src/toolbar-row/toolbar-row.html","../../../projects/components/toolbar/src/toolbar/toolbar.ts","../../../projects/components/toolbar/src/toolbar/toolbar.html","../../../projects/components/toolbar/src/toolbar-nav-link/toolbar-nav-link.ts","../../../projects/components/toolbar/src/toolbar-title/toolbar-title.ts","../../../projects/components/toolbar/src/toolbar-title/toolbar-title.html","../../../projects/components/toolbar/src/toolbar-subtitle/toolbar-subtitle.ts","../../../projects/components/toolbar/src/toolbar-subtitle/toolbar-subtitle.html","../../../projects/components/toolbar/ngstarter-ui-components-toolbar.ts"],"sourcesContent":["import { Component, model, inject, ElementRef, viewChild, TemplateRef } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ToolbarBaseItem } from '../toolbar-base-item';\n\n@Component({\n selector: 'ngs-toolbar-item',\n imports: [NgTemplateOutlet],\n templateUrl: './toolbar-item.html',\n styleUrl: './toolbar-item.scss',\n host: {\n '[class.ngs-toolbar-item-hidden]': 'hidden()',\n }\n})\nexport class ToolbarItem implements ToolbarBaseItem {\n readonly elementRef = inject(ElementRef);\n readonly hidden = model(false);\n readonly template = viewChild.required<TemplateRef<any>>('itemTemplate');\n}\n","<ng-template #itemTemplate>\n <ng-content/>\n</ng-template>\n\n<ng-container [ngTemplateOutlet]=\"itemTemplate\" />\n","import { Component, model, inject, ElementRef, viewChild, TemplateRef } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ToolbarBaseItem } from '../toolbar-base-item';\n\n@Component({\n selector: 'ngs-toolbar-nav',\n exportAs: 'ngsToolbarNav',\n standalone: true,\n imports: [NgTemplateOutlet],\n templateUrl: './toolbar-nav.html',\n styleUrl: './toolbar-nav.scss',\n host: {\n 'class': 'ngs-toolbar-nav',\n '[class.ngs-toolbar-item-hidden]': 'hidden()',\n }\n})\nexport class ToolbarNav implements ToolbarBaseItem {\n readonly elementRef = inject(ElementRef);\n readonly hidden = model(false);\n readonly template = viewChild.required<TemplateRef<any>>('itemTemplate');\n}\n","<ng-template #itemTemplate>\n <div class=\"ngs-toolbar-nav-container\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-container [ngTemplateOutlet]=\"itemTemplate\" />\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-toolbar-spacer',\n imports: [],\n templateUrl: './toolbar-spacer.html',\n styleUrl: './toolbar-spacer.scss',\n})\nexport class ToolbarSpacer {\n\n}\n","","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-toolbar-row',\n imports: [],\n templateUrl: './toolbar-row.html',\n styleUrl: './toolbar-row.scss',\n})\nexport class ToolbarRow {\n\n}\n","<ng-content/>\n","import {\n AfterViewInit,\n Component,\n contentChildren,\n effect,\n ElementRef,\n inject,\n TemplateRef,\n Injector,\n NgZone,\n OnDestroy,\n PLATFORM_ID,\n signal\n} from '@angular/core';\nimport { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { ToolbarItem } from '../toolbar-item/toolbar-item';\nimport { ToolbarNav } from '../toolbar-nav/toolbar-nav';\nimport { ToolbarSpacer } from '../toolbar-spacer/toolbar-spacer';\nimport { ToolbarRow } from '../toolbar-row/toolbar-row';\nimport { ToolbarBaseItem } from '../toolbar-base-item';\nimport { Dialog, DialogRef } from '@ngstarter-ui/components/dialog';\nimport { Icon } from '@ngstarter-ui/components/icon';\nimport { Button } from '@ngstarter-ui/components/button';\n\n@Component({\n selector: 'ngs-toolbar',\n exportAs: 'ngsToolbar',\n imports: [\n Icon,\n Button,\n NgTemplateOutlet\n ],\n templateUrl: './toolbar.html',\n styleUrl: './toolbar.scss',\n host: {\n 'class': 'ngs-toolbar',\n '[class.ngs-toolbar-stacked]': '!!_rows().length'\n }\n})\nexport class Toolbar implements AfterViewInit, OnDestroy {\n private _elementRef = inject(ElementRef);\n private _zone = inject(NgZone);\n private _platformId = inject(PLATFORM_ID);\n private _injector = inject(Injector);\n private _dialog = inject(Dialog);\n\n readonly toolbarItems = contentChildren(ToolbarItem, { descendants: true });\n readonly navItems = contentChildren(ToolbarNav, { descendants: true });\n readonly items = signal<ToolbarBaseItem[]>([]);\n readonly spacers = contentChildren(ToolbarSpacer, { descendants: true });\n readonly _rows = contentChildren(ToolbarRow, { descendants: true });\n\n protected readonly _overflowItems = signal<ToolbarBaseItem[]>([]);\n protected _dialogRef: DialogRef<any> | null = null;\n private _resizeObserver?: ResizeObserver;\n private _itemWidths = new Map<ToolbarBaseItem, number>();\n\n constructor() {\n effect(() => {\n this.items.set([...this.toolbarItems(), ...this.navItems()]);\n });\n }\n\n ngAfterViewInit() {\n if (!isPlatformBrowser(this._platformId)) {\n return;\n }\n\n this._zone.runOutsideAngular(() => {\n this._resizeObserver = new ResizeObserver(() => {\n this._updateOverflow();\n });\n this._resizeObserver.observe(this._elementRef.nativeElement);\n\n // Also observe each item to update cached widths if they change\n this.items().forEach(item => {\n const el = item.elementRef.nativeElement;\n if (el instanceof HTMLElement) {\n this._resizeObserver?.observe(el);\n }\n });\n });\n\n // Handle items changes\n effect(() => {\n const currentItems = this.items();\n this._zone.runOutsideAngular(() => {\n // Clear widths for items that are gone\n for (const item of this._itemWidths.keys()) {\n if (!currentItems.includes(item)) {\n this._itemWidths.delete(item);\n }\n }\n\n currentItems.forEach(item => {\n const el = item.elementRef.nativeElement;\n if (el instanceof HTMLElement) {\n this._resizeObserver?.observe(el);\n }\n });\n this._updateOverflow();\n });\n }, { injector: this._injector });\n\n // Initial check\n setTimeout(() => {\n this._updateOverflow();\n }, 100);\n }\n\n ngOnDestroy() {\n this._resizeObserver?.disconnect();\n }\n\n protected _openOverflowDialog(template: TemplateRef<any>) {\n this._dialogRef = this._dialog.open(template, {\n width: '100%',\n height: '100%',\n maxWidth: '100vw',\n panelClass: 'ngs-toolbar-overflow-dialog-panel'\n });\n\n this._dialogRef.afterClosed().subscribe(() => {\n this._dialogRef = null;\n });\n }\n\n protected _closeOverflowDialog() {\n this._dialogRef?.close();\n }\n\n private _updateOverflow() {\n this._zone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n const container = this._elementRef.nativeElement;\n const containerWidth = container.clientWidth;\n const items = this.items();\n\n if (containerWidth === 0) {\n return;\n }\n\n if (items.length === 0) {\n if (this._overflowItems().length > 0) {\n this._zone.run(() => this._overflowItems.set([]));\n }\n return;\n }\n\n // Identify other elements taking up space (title, spacer, etc.)\n const children = Array.from(container.children) as HTMLElement[];\n let staticWidth = 0;\n const gap = 16;\n let staticCount = 0;\n\n children.forEach(child => {\n const tagName = child.tagName.toLowerCase();\n const isItem = tagName === 'ngs-toolbar-item' || tagName === 'ngs-toolbar-nav';\n const isOverflowButton = (tagName === 'button' || tagName === 'ngs-menu' || child.hasAttribute('ngs-menu-trigger') || child.hasAttribute('ngs-menu-trigger-for') || child.hasAttribute('ngsmenutriggerfor')) && (\n child.hasAttribute('ngs-icon-button') ||\n child.hasAttribute('ngsiconbutton') ||\n child.getAttribute('ngs-icon-button') !== null ||\n child.querySelector('ngs-icon[name*=\"more-vertical\"]') ||\n child.querySelector('ngs-icon[name*=\"more\"]') ||\n child.querySelector('button[ngs-icon-button]') ||\n child.querySelector('button[ngsiconbutton]')\n );\n const isMenu = tagName === 'ngs-menu' || child.hasAttribute('ngs-menu') || child.querySelector('ngs-menu');\n const isSpacer = tagName === 'ngs-toolbar-spacer' || child.hasAttribute('ngs-toolbar-spacer');\n\n // Check if this child contains any of the ToolbarItems we're tracking\n const containsManagedItem = items.some(item => child.contains(item.elementRef.nativeElement));\n\n const isVisible = child.offsetParent !== null || child.offsetWidth > 0;\n\n if (!isItem && !containsManagedItem && !isOverflowButton && !isMenu && isVisible) {\n if (!isSpacer) {\n staticWidth += child.offsetWidth;\n }\n staticCount++;\n }\n });\n\n // 1. Update widths of items that are NOT hidden\n let allWidthsKnown = true;\n items.forEach(item => {\n if (!item.hidden()) {\n const width = item.elementRef.nativeElement.offsetWidth;\n if (width > 0) {\n this._itemWidths.set(item, width);\n }\n }\n if (!this._itemWidths.has(item)) {\n allWidthsKnown = false;\n }\n });\n\n // 2. If some widths are unknown (e.g., hidden since start), we MUST show them briefly to measure\n if (!allWidthsKnown) {\n this._zone.run(() => {\n items.forEach(item => {\n if (!this._itemWidths.has(item)) {\n item.hidden.set(false);\n }\n });\n });\n return;\n }\n\n // 3. Calculate how many items fit\n const overflowItems: ToolbarBaseItem[] = [];\n const overflowButtonWidth = 48; // A bit more room for the overflow button\n\n // Total width if ALL items fit\n const totalItemsWidth = items.reduce((acc, item) => acc + (this._itemWidths.get(item) || 0), 0);\n const totalVisibleCountAll = staticCount + items.length;\n const totalGapsWidthAll = totalVisibleCountAll > 1 ? (totalVisibleCountAll - 1) * gap : 0;\n const totalWidthAllItems = staticWidth + totalItemsWidth + totalGapsWidthAll;\n\n if (totalWidthAllItems <= containerWidth) {\n this._zone.run(() => {\n items.forEach(item => item.hidden.set(false));\n if (this._overflowItems().length > 0) {\n this._overflowItems.set([]);\n }\n });\n return;\n }\n\n // Not all items fit, we need overflow button\n let currentItemsWidth = 0;\n let fitCount = 0;\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n const width = this._itemWidths.get(item) || 0;\n\n // If we add this item, we'll have:\n // staticCount + fitCount + 1 (this item) + 1 (overflow button)\n const potentialVisibleCount = staticCount + fitCount + 2;\n const potentialGapsWidth = (potentialVisibleCount - 1) * gap;\n const totalWidthWithThisItemAndOverflow = staticWidth + currentItemsWidth + width + potentialGapsWidth + overflowButtonWidth;\n\n if (totalWidthWithThisItemAndOverflow > containerWidth) {\n break;\n }\n\n currentItemsWidth += width;\n fitCount++;\n }\n\n for (let i = fitCount; i < items.length; i++) {\n overflowItems.push(items[i]);\n }\n\n // 4. Update visibility\n this._zone.run(() => {\n items.forEach((item, index) => {\n const shouldBeHidden = index >= fitCount;\n if (item.hidden() !== shouldBeHidden) {\n item.hidden.set(shouldBeHidden);\n }\n });\n\n const currentOverflow = this._overflowItems();\n const isSame = currentOverflow.length === overflowItems.length &&\n currentOverflow.every((item, index) => item === overflowItems[index]);\n if (!isSame) {\n this._overflowItems.set(overflowItems);\n }\n });\n });\n });\n }\n}\n","<div>\n <ng-content select=\"ngs-toolbar-title,ngs-toolbar-subtitle\" />\n</div>\n\n<ng-content/>\n\n@if (_overflowItems().length > 0) {\n <button ngsIconButton (click)=\"_openOverflowDialog(overflowDialog)\">\n <ngs-icon name=\"fluent:more-vertical-24-regular\" />\n </button>\n\n <ng-template #overflowDialog>\n <div class=\"ngs-toolbar-overflow-dialog\">\n <div class=\"ngs-toolbar-overflow-dialog-header\">\n <button ngsIconButton (click)=\"_closeOverflowDialog()\">\n <ngs-icon name=\"fluent:dismiss-24-regular\" />\n </button>\n </div>\n\n <div class=\"ngs-toolbar-overflow-dialog-content flex flex-col gap-6\">\n @for (item of _overflowItems(); track $index) {\n <div class=\"flex items-center gap-4\">\n <ng-template [ngTemplateOutlet]=\"item.template()\" />\n </div>\n }\n </div>\n </div>\n </ng-template>\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'ngs-toolbar-nav-link,a[ngs-toolbar-nav-link]',\n exportAs: 'ngsToolbarNavLink',\n standalone: true,\n template: '<ng-content />',\n imports: [],\n styleUrl: './toolbar-nav-link.scss',\n host: {\n 'class': 'ngs-toolbar-nav-link',\n '[class.ngs-toolbar-nav-link-active]': 'active()',\n }\n})\nexport class ToolbarNavLink {\n /** The active state of the link. */\n readonly active = input(false);\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-toolbar-title',\n exportAs: 'ngsToolbarTitle',\n templateUrl: './toolbar-title.html',\n styleUrl: './toolbar-title.scss',\n host: {\n 'class': 'ngs-toolbar-title'\n },\n})\nexport class ToolbarTitle {\n\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-toolbar-subtitle',\n exportAs: 'ngsToolbarSubtitle',\n templateUrl: './toolbar-subtitle.html',\n styleUrl: './toolbar-subtitle.scss',\n host: {\n 'class': 'ngs-toolbar-subtitle'\n },\n})\nexport class ToolbarSubtitle {\n\n}\n","<ng-content/>\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-toolbar.mjs","sources":["../../../projects/components/toolbar/src/toolbar-item/toolbar-item.ts","../../../projects/components/toolbar/src/toolbar-item/toolbar-item.html","../../../projects/components/toolbar/src/toolbar-nav/toolbar-nav.ts","../../../projects/components/toolbar/src/toolbar-nav/toolbar-nav.html","../../../projects/components/toolbar/src/toolbar-spacer/toolbar-spacer.ts","../../../projects/components/toolbar/src/toolbar-spacer/toolbar-spacer.html","../../../projects/components/toolbar/src/toolbar-row/toolbar-row.ts","../../../projects/components/toolbar/src/toolbar-row/toolbar-row.html","../../../projects/components/toolbar/src/toolbar/toolbar.ts","../../../projects/components/toolbar/src/toolbar/toolbar.html","../../../projects/components/toolbar/src/toolbar-nav-link/toolbar-nav-link.ts","../../../projects/components/toolbar/src/toolbar-title/toolbar-title.ts","../../../projects/components/toolbar/src/toolbar-title/toolbar-title.html","../../../projects/components/toolbar/src/toolbar-subtitle/toolbar-subtitle.ts","../../../projects/components/toolbar/src/toolbar-subtitle/toolbar-subtitle.html","../../../projects/components/toolbar/ngstarter-ui-components-toolbar.ts"],"sourcesContent":["import { Component, model, inject, ElementRef, viewChild, TemplateRef } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ToolbarBaseItem } from '../toolbar-base-item';\n\n@Component({\n selector: 'ngs-toolbar-item',\n imports: [NgTemplateOutlet],\n templateUrl: './toolbar-item.html',\n styleUrl: './toolbar-item.scss',\n host: {\n '[class.ngs-toolbar-item-hidden]': 'hidden()',\n }\n})\nexport class ToolbarItem implements ToolbarBaseItem {\n readonly elementRef = inject(ElementRef);\n readonly hidden = model(false);\n readonly template = viewChild.required<TemplateRef<any>>('itemTemplate');\n}\n","<ng-template #itemTemplate>\n <ng-content/>\n</ng-template>\n\n<ng-container [ngTemplateOutlet]=\"itemTemplate\" />\n","import { Component, model, inject, ElementRef, viewChild, TemplateRef } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ToolbarBaseItem } from '../toolbar-base-item';\n\n@Component({\n selector: 'ngs-toolbar-nav',\n exportAs: 'ngsToolbarNav',\n standalone: true,\n imports: [NgTemplateOutlet],\n templateUrl: './toolbar-nav.html',\n styleUrl: './toolbar-nav.scss',\n host: {\n 'class': 'ngs-toolbar-nav',\n '[class.ngs-toolbar-item-hidden]': 'hidden()',\n }\n})\nexport class ToolbarNav implements ToolbarBaseItem {\n readonly elementRef = inject(ElementRef);\n readonly hidden = model(false);\n readonly template = viewChild.required<TemplateRef<any>>('itemTemplate');\n}\n","<ng-template #itemTemplate>\n <div class=\"ngs-toolbar-nav-container\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-container [ngTemplateOutlet]=\"itemTemplate\" />\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-toolbar-spacer',\n imports: [],\n templateUrl: './toolbar-spacer.html',\n styleUrl: './toolbar-spacer.scss',\n})\nexport class ToolbarSpacer {\n\n}\n","","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-toolbar-row',\n imports: [],\n templateUrl: './toolbar-row.html',\n styleUrl: './toolbar-row.scss',\n})\nexport class ToolbarRow {\n\n}\n","<ng-content/>\n","import {\n AfterViewInit,\n Component,\n contentChildren,\n effect,\n ElementRef,\n inject,\n TemplateRef,\n Injector,\n NgZone,\n OnDestroy,\n PLATFORM_ID,\n signal\n} from '@angular/core';\nimport { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { ToolbarItem } from '../toolbar-item/toolbar-item';\nimport { ToolbarNav } from '../toolbar-nav/toolbar-nav';\nimport { ToolbarSpacer } from '../toolbar-spacer/toolbar-spacer';\nimport { ToolbarRow } from '../toolbar-row/toolbar-row';\nimport { ToolbarBaseItem } from '../toolbar-base-item';\nimport { Dialog, DialogRef } from '@ngstarter-ui/components/dialog';\nimport { Icon } from '@ngstarter-ui/components/icon';\nimport { Button } from '@ngstarter-ui/components/button';\n\n@Component({\n selector: 'ngs-toolbar',\n exportAs: 'ngsToolbar',\n imports: [\n Icon,\n Button,\n NgTemplateOutlet\n ],\n templateUrl: './toolbar.html',\n styleUrl: './toolbar.scss',\n host: {\n 'class': 'ngs-toolbar',\n '[class.ngs-toolbar-stacked]': '!!_rows().length'\n }\n})\nexport class Toolbar implements AfterViewInit, OnDestroy {\n private _elementRef = inject(ElementRef);\n private _zone = inject(NgZone);\n private _platformId = inject(PLATFORM_ID);\n private _injector = inject(Injector);\n private _dialog = inject(Dialog);\n\n readonly toolbarItems = contentChildren(ToolbarItem, { descendants: true });\n readonly navItems = contentChildren(ToolbarNav, { descendants: true });\n readonly items = signal<ToolbarBaseItem[]>([]);\n readonly spacers = contentChildren(ToolbarSpacer, { descendants: true });\n readonly _rows = contentChildren(ToolbarRow, { descendants: true });\n\n protected readonly _overflowItems = signal<ToolbarBaseItem[]>([]);\n protected _dialogRef: DialogRef<any> | null = null;\n private _resizeObserver?: ResizeObserver;\n private _itemWidths = new Map<ToolbarBaseItem, number>();\n\n constructor() {\n effect(() => {\n this.items.set([...this.toolbarItems(), ...this.navItems()]);\n });\n }\n\n ngAfterViewInit() {\n if (!isPlatformBrowser(this._platformId)) {\n return;\n }\n\n this._zone.runOutsideAngular(() => {\n this._resizeObserver = new ResizeObserver(() => {\n this._updateOverflow();\n });\n this._resizeObserver.observe(this._elementRef.nativeElement);\n\n // Also observe each item to update cached widths if they change\n this.items().forEach(item => {\n const el = item.elementRef.nativeElement;\n if (el instanceof HTMLElement) {\n this._resizeObserver?.observe(el);\n }\n });\n });\n\n // Handle items changes\n effect(() => {\n const currentItems = this.items();\n this._zone.runOutsideAngular(() => {\n // Clear widths for items that are gone\n for (const item of this._itemWidths.keys()) {\n if (!currentItems.includes(item)) {\n this._itemWidths.delete(item);\n }\n }\n\n currentItems.forEach(item => {\n const el = item.elementRef.nativeElement;\n if (el instanceof HTMLElement) {\n this._resizeObserver?.observe(el);\n }\n });\n this._updateOverflow();\n });\n }, { injector: this._injector });\n\n // Initial check\n setTimeout(() => {\n this._updateOverflow();\n }, 100);\n }\n\n ngOnDestroy() {\n this._resizeObserver?.disconnect();\n }\n\n protected _openOverflowDialog(template: TemplateRef<any>) {\n this._dialogRef = this._dialog.open(template, {\n width: '100%',\n height: '100%',\n maxWidth: '100vw',\n panelClass: 'ngs-toolbar-overflow-dialog-panel'\n });\n\n this._dialogRef.afterClosed().subscribe(() => {\n this._dialogRef = null;\n });\n }\n\n protected _closeOverflowDialog() {\n this._dialogRef?.close();\n }\n\n private _updateOverflow() {\n this._zone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n const container = this._elementRef.nativeElement;\n const containerWidth = container.clientWidth;\n const items = this.items();\n\n if (containerWidth === 0) {\n return;\n }\n\n if (items.length === 0) {\n if (this._overflowItems().length > 0) {\n this._zone.run(() => this._overflowItems.set([]));\n }\n return;\n }\n\n // Identify other elements taking up space (title, spacer, etc.)\n const children = Array.from(container.children) as HTMLElement[];\n let staticWidth = 0;\n const gap = 16;\n let staticCount = 0;\n\n children.forEach(child => {\n const tagName = child.tagName.toLowerCase();\n const isItem = tagName === 'ngs-toolbar-item' || tagName === 'ngs-toolbar-nav';\n const isOverflowButton = (tagName === 'button' || tagName === 'ngs-menu' || child.hasAttribute('ngs-menu-trigger') || child.hasAttribute('ngs-menu-trigger-for') || child.hasAttribute('ngsmenutriggerfor')) && (\n child.hasAttribute('ngs-icon-button') ||\n child.hasAttribute('ngsiconbutton') ||\n child.getAttribute('ngs-icon-button') !== null ||\n child.querySelector('ngs-icon[name*=\"more-vertical\"]') ||\n child.querySelector('ngs-icon[name*=\"more\"]') ||\n child.querySelector('button[ngs-icon-button]') ||\n child.querySelector('button[ngsiconbutton]')\n );\n const isMenu = tagName === 'ngs-menu' || child.hasAttribute('ngs-menu') || child.querySelector('ngs-menu');\n const isSpacer = tagName === 'ngs-toolbar-spacer' || child.hasAttribute('ngs-toolbar-spacer');\n\n // Check if this child contains any of the ToolbarItems we're tracking\n const containsManagedItem = items.some(item => child.contains(item.elementRef.nativeElement));\n\n const isVisible = child.offsetParent !== null || child.offsetWidth > 0;\n\n if (!isItem && !containsManagedItem && !isOverflowButton && !isMenu && isVisible) {\n if (!isSpacer) {\n staticWidth += child.offsetWidth;\n }\n staticCount++;\n }\n });\n\n // 1. Update widths of items that are NOT hidden\n let allWidthsKnown = true;\n items.forEach(item => {\n if (!item.hidden()) {\n const width = item.elementRef.nativeElement.offsetWidth;\n if (width > 0) {\n this._itemWidths.set(item, width);\n }\n }\n if (!this._itemWidths.has(item)) {\n allWidthsKnown = false;\n }\n });\n\n // 2. If some widths are unknown (e.g., hidden since start), we MUST show them briefly to measure\n if (!allWidthsKnown) {\n this._zone.run(() => {\n items.forEach(item => {\n if (!this._itemWidths.has(item)) {\n item.hidden.set(false);\n }\n });\n });\n return;\n }\n\n // 3. Calculate how many items fit\n const overflowItems: ToolbarBaseItem[] = [];\n const overflowButtonWidth = 48; // A bit more room for the overflow button\n\n // Total width if ALL items fit\n const totalItemsWidth = items.reduce((acc, item) => acc + (this._itemWidths.get(item) || 0), 0);\n const totalVisibleCountAll = staticCount + items.length;\n const totalGapsWidthAll = totalVisibleCountAll > 1 ? (totalVisibleCountAll - 1) * gap : 0;\n const totalWidthAllItems = staticWidth + totalItemsWidth + totalGapsWidthAll;\n\n if (totalWidthAllItems <= containerWidth) {\n this._zone.run(() => {\n items.forEach(item => item.hidden.set(false));\n if (this._overflowItems().length > 0) {\n this._overflowItems.set([]);\n }\n });\n return;\n }\n\n // Not all items fit, we need overflow button\n let currentItemsWidth = 0;\n let fitCount = 0;\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n const width = this._itemWidths.get(item) || 0;\n\n // If we add this item, we'll have:\n // staticCount + fitCount + 1 (this item) + 1 (overflow button)\n const potentialVisibleCount = staticCount + fitCount + 2;\n const potentialGapsWidth = (potentialVisibleCount - 1) * gap;\n const totalWidthWithThisItemAndOverflow = staticWidth + currentItemsWidth + width + potentialGapsWidth + overflowButtonWidth;\n\n if (totalWidthWithThisItemAndOverflow > containerWidth) {\n break;\n }\n\n currentItemsWidth += width;\n fitCount++;\n }\n\n for (let i = fitCount; i < items.length; i++) {\n overflowItems.push(items[i]);\n }\n\n // 4. Update visibility\n this._zone.run(() => {\n items.forEach((item, index) => {\n const shouldBeHidden = index >= fitCount;\n if (item.hidden() !== shouldBeHidden) {\n item.hidden.set(shouldBeHidden);\n }\n });\n\n const currentOverflow = this._overflowItems();\n const isSame = currentOverflow.length === overflowItems.length &&\n currentOverflow.every((item, index) => item === overflowItems[index]);\n if (!isSame) {\n this._overflowItems.set(overflowItems);\n }\n });\n });\n });\n }\n}\n","<ng-content/>\n\n@if (_overflowItems().length > 0) {\n <button ngsIconButton (click)=\"_openOverflowDialog(overflowDialog)\">\n <ngs-icon name=\"fluent:more-vertical-24-regular\" />\n </button>\n\n <ng-template #overflowDialog>\n <div class=\"ngs-toolbar-overflow-dialog\">\n <div class=\"ngs-toolbar-overflow-dialog-header\">\n <button ngsIconButton (click)=\"_closeOverflowDialog()\">\n <ngs-icon name=\"fluent:dismiss-24-regular\" />\n </button>\n </div>\n\n <div class=\"ngs-toolbar-overflow-dialog-content flex flex-col gap-6\">\n @for (item of _overflowItems(); track $index) {\n <div class=\"flex items-center gap-4\">\n <ng-template [ngTemplateOutlet]=\"item.template()\" />\n </div>\n }\n </div>\n </div>\n </ng-template>\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'ngs-toolbar-nav-link,a[ngs-toolbar-nav-link]',\n exportAs: 'ngsToolbarNavLink',\n standalone: true,\n template: '<ng-content />',\n imports: [],\n styleUrl: './toolbar-nav-link.scss',\n host: {\n 'class': 'ngs-toolbar-nav-link',\n '[class.ngs-toolbar-nav-link-active]': 'active()',\n }\n})\nexport class ToolbarNavLink {\n /** The active state of the link. */\n readonly active = input(false);\n}\n","import { Component, input } from '@angular/core';\n\nexport type ToolbarTitleAppearance = 'none' | 'large';\n\n@Component({\n selector: 'ngs-toolbar-title',\n exportAs: 'ngsToolbarTitle',\n templateUrl: './toolbar-title.html',\n styleUrl: './toolbar-title.scss',\n host: {\n 'class': 'ngs-toolbar-title',\n '[class.appearance-none]': 'appearance() === \"none\"',\n '[class.appearance-large]': 'appearance() === \"large\"',\n },\n})\nexport class ToolbarTitle {\n appearance = input<ToolbarTitleAppearance>('none');\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-toolbar-subtitle',\n exportAs: 'ngsToolbarSubtitle',\n templateUrl: './toolbar-subtitle.html',\n styleUrl: './toolbar-subtitle.scss',\n host: {\n 'class': 'ngs-toolbar-subtitle'\n },\n})\nexport class ToolbarSubtitle {\n\n}\n","<ng-content/>\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.47",
4
+ "version": "21.0.49",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/elementarlabsdev/ngstarter.git"
@@ -123,7 +123,7 @@
123
123
  --text-md: 0.825rem;
124
124
 
125
125
  /* --- RADII --- */
126
- --radius-current: var(--ngs-control-radius);
126
+ --radius-current: var(--ngs-radius-current);
127
127
  --radius-small: var(--ngs-radius-sm);
128
128
  --radius-medium: var(--ngs-radius-md);
129
129
  --radius-large: var(--ngs-radius-lg);
@@ -127,6 +127,7 @@
127
127
  --ngs-control-padding-x: --spacing(4);
128
128
  --ngs-control-gap: --spacing(2);
129
129
  --ngs-control-radius: var(--ngs-radius-lg);
130
+ --ngs-radius-current: var(--ngs-control-radius);
130
131
  --ngs-icon-size: --spacing(6);
131
132
  --ngs-icon-color: inherit;
132
133
 
@@ -524,6 +525,7 @@
524
525
  --ngs-control-height-lg: calc(3.5rem + var(--ngs-density-scale) * 1px);
525
526
  --ngs-control-gap: --spacing(2.5);
526
527
  --ngs-control-radius: var(--ngs-radius-xl);
528
+ --ngs-radius-current: var(--ngs-control-radius);
527
529
  --ngs-icon-size: --spacing(6);
528
530
  --ngs-button-font-size: 0.9375rem;
529
531
  --ngs-button-tonal-bg: linear-gradient(135deg, var(--ngs-color-primary-container), var(--ngs-color-secondary-container));
@@ -675,6 +677,7 @@
675
677
 
676
678
  [data-ngs-radius='none'] {
677
679
  --ngs-control-radius: var(--ngs-radius-none);
680
+ --ngs-radius-current: var(--ngs-radius-none);
678
681
  --ngs-dropdown-radius: var(--ngs-radius-none);
679
682
  --ngs-dialog-radius: var(--ngs-radius-none);
680
683
  --ngs-nav-item-radius: var(--ngs-radius-none);
@@ -683,6 +686,7 @@
683
686
 
684
687
  [data-ngs-radius='small'] {
685
688
  --ngs-control-radius: var(--ngs-radius-sm);
689
+ --ngs-radius-current: var(--ngs-radius-sm);
686
690
  --ngs-dropdown-radius: var(--ngs-radius-md);
687
691
  --ngs-dialog-radius: var(--ngs-radius-md);
688
692
  --ngs-nav-item-radius: var(--ngs-radius-sm);
@@ -691,6 +695,7 @@
691
695
 
692
696
  [data-ngs-radius='medium'] {
693
697
  --ngs-control-radius: var(--ngs-radius-lg);
698
+ --ngs-radius-current: var(--ngs-radius-lg);
694
699
  --ngs-dropdown-radius: var(--ngs-radius-xl);
695
700
  --ngs-dialog-radius: var(--ngs-radius-xl);
696
701
  --ngs-nav-item-radius: var(--ngs-radius-lg);
@@ -699,6 +704,7 @@
699
704
 
700
705
  [data-ngs-radius='large'] {
701
706
  --ngs-control-radius: var(--ngs-radius-xl);
707
+ --ngs-radius-current: var(--ngs-radius-xl);
702
708
  --ngs-dropdown-radius: 1.25rem;
703
709
  --ngs-dialog-radius: 1.25rem;
704
710
  --ngs-nav-item-radius: var(--ngs-radius-xl);
@@ -6,13 +6,16 @@ import { SelectionModel } from '@angular/cdk/collections';
6
6
  import { Paginator, PageEvent } from '@ngstarter-ui/components/paginator';
7
7
  import { Sort, SortDirective, SortDirection } from '@ngstarter-ui/components/sort';
8
8
 
9
- interface DataViewInterface {
10
- api: DataViewAPI;
9
+ interface DataViewInterface<T = any> {
10
+ api: DataViewAPI<T>;
11
11
  }
12
- interface DataViewAPI {
12
+ interface DataViewAPI<T = any> {
13
13
  search(value: string): void;
14
14
  selectAll(): void;
15
15
  unselectAll(): void;
16
+ selectOne(row: T): void;
17
+ isSelected(row: T): boolean;
18
+ hasSelected(): boolean;
16
19
  refresh(): void;
17
20
  getSnapshot(): DataViewState[];
18
21
  }
@@ -36,8 +39,10 @@ interface DataViewColumnDef {
36
39
  [prop: string]: any;
37
40
  };
38
41
  }
42
+ type DataViewRowSelectionEventSource = 'checkbox' | 'row';
39
43
  interface DataViewRowSelectionEvent<T> {
40
- checkboxChange: CheckboxChange;
44
+ source: DataViewRowSelectionEventSource;
45
+ checkboxChange?: CheckboxChange;
41
46
  row: T;
42
47
  checked: boolean;
43
48
  }
@@ -78,7 +83,7 @@ interface DataViewState {
78
83
  pinned?: boolean;
79
84
  pinAlign?: DataViewPinAlign;
80
85
  }
81
- declare const DATA_VIEW: InjectionToken<DataViewInterface>;
86
+ declare const DATA_VIEW: InjectionToken<DataViewInterface<any>>;
82
87
 
83
88
  declare class DataViewEmptyFilterResultsDirective {
84
89
  readonly templateRef: TemplateRef<any>;
@@ -102,7 +107,7 @@ declare class DataViewActionBar {
102
107
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataViewActionBar, "ngs-data-view-action-bar", ["ngsDataViewActionBar"], { "forceVisible": { "alias": "forceVisible"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
103
108
  }
104
109
 
105
- declare class DataView<T> implements OnInit, AfterViewInit, DataViewInterface {
110
+ declare class DataView<T> implements OnInit, AfterViewInit, DataViewInterface<T> {
106
111
  private _cdr;
107
112
  private _destroyRef;
108
113
  private _platformId;
@@ -160,6 +165,7 @@ declare class DataView<T> implements OnInit, AfterViewInit, DataViewInterface {
160
165
  withColumnSettings: _angular_core.InputSignalWithTransform<boolean, unknown>;
161
166
  embedded: _angular_core.InputSignalWithTransform<boolean, unknown>;
162
167
  rowSelection: _angular_core.InputSignal<"single" | "multiple">;
168
+ allowSingleRowSelectionByClick: _angular_core.InputSignalWithTransform<boolean, unknown>;
163
169
  selectionWidth: _angular_core.InputSignalWithTransform<number, any>;
164
170
  minColumnWidth: _angular_core.InputSignalWithTransform<number, any>;
165
171
  private _lastScrollTop;
@@ -317,7 +323,7 @@ declare class DataView<T> implements OnInit, AfterViewInit, DataViewInterface {
317
323
  readonly sortChange: _angular_core.OutputEmitterRef<Sort>;
318
324
  readonly loadEnd: _angular_core.OutputEmitterRef<void>;
319
325
  readonly refreshEnd: _angular_core.OutputEmitterRef<void>;
320
- get api(): DataViewAPI;
326
+ get api(): DataViewAPI<T>;
321
327
  refresh(): void;
322
328
  get noFilteredResults(): boolean;
323
329
  protected get isNoResults(): boolean;
@@ -343,6 +349,8 @@ declare class DataView<T> implements OnInit, AfterViewInit, DataViewInterface {
343
349
  isAllSelected(): boolean;
344
350
  toggleAllRows(): void;
345
351
  rowSelectionToggle(event: CheckboxChange, row: T): void;
352
+ protected selectRowByClick(event: MouseEvent, row: T): void;
353
+ private _isInteractiveRowClick;
346
354
  onPageChange(event: PageEvent): void;
347
355
  protected sortColumn(col: DataViewColumnDef, direction: SortDirection): void;
348
356
  getSnapshot(): DataViewState[];
@@ -354,10 +362,13 @@ declare class DataView<T> implements OnInit, AfterViewInit, DataViewInterface {
354
362
  protected resetColumns(): void;
355
363
  protected openColumnSettingsDialog(): void;
356
364
  protected onSortChange(event: Sort): void;
357
- private _selectAll;
358
- private _unselectAll;
365
+ selectAll(): void;
366
+ unselectAll(): void;
367
+ selectOne(row: T): void;
368
+ isSelected(row: T): boolean;
369
+ hasSelected(): boolean;
359
370
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataView<any>, never>;
360
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataView<any>, "ngs-data-view", ["ngsDataView"], { "paginator": { "alias": "paginator"; "required": false; "isSignal": true; }; "columnDefs": { "alias": "columnDefs"; "required": false; "isSignal": true; }; "defaultColDef": { "alias": "defaultColDef"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "datasource": { "alias": "datasource"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "headerHeight": { "alias": "headerHeight"; "required": false; "isSignal": true; }; "bufferRows": { "alias": "bufferRows"; "required": false; "isSignal": true; }; "withSelection": { "alias": "withSelection"; "required": false; "isSignal": true; }; "highlightHeader": { "alias": "highlightHeader"; "required": false; "isSignal": true; }; "rowModelType": { "alias": "rowModelType"; "required": false; "isSignal": true; }; "autoHeight": { "alias": "autoHeight"; "required": false; "isSignal": true; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; "isSignal": true; }; "withPagination": { "alias": "withPagination"; "required": false; "isSignal": true; }; "bodyScroll": { "alias": "bodyScroll"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "showFirstLastButtons": { "alias": "showFirstLastButtons"; "required": false; "isSignal": true; }; "paginatorAriaLabel": { "alias": "paginatorAriaLabel"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageIndex": { "alias": "pageIndex"; "required": false; "isSignal": true; }; "snapshot": { "alias": "snapshot"; "required": false; "isSignal": true; }; "withColumnSettings": { "alias": "withColumnSettings"; "required": false; "isSignal": true; }; "embedded": { "alias": "embedded"; "required": false; "isSignal": true; }; "rowSelection": { "alias": "rowSelection"; "required": false; "isSignal": true; }; "selectionWidth": { "alias": "selectionWidth"; "required": false; "isSignal": true; }; "minColumnWidth": { "alias": "minColumnWidth"; "required": false; "isSignal": true; }; "cellRenderers": { "alias": "cellRenderers"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "hoverRows": { "alias": "hoverRows"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "emptyIcon": { "alias": "emptyIcon"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "emptyFilterResultsIcon": { "alias": "emptyFilterResultsIcon"; "required": false; "isSignal": true; }; "emptyFilterResultsText": { "alias": "emptyFilterResultsText"; "required": false; "isSignal": true; }; }, { "pageSize": "pageSizeChange"; "pageIndex": "pageIndexChange"; "rowSelectionChanged": "rowSelectionChanged"; "selectionChanged": "selectionChanged"; "allRowsSelectionChanged": "allRowsSelectionChanged"; "sortChange": "sortChange"; "loadEnd": "loadEnd"; "refreshEnd": "refreshEnd"; }, ["_emptyDataRef", "_emptyFilterResults", "_actionBarRef", "_actionBarComp"], never, true, never>;
371
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataView<any>, "ngs-data-view", ["ngsDataView"], { "paginator": { "alias": "paginator"; "required": false; "isSignal": true; }; "columnDefs": { "alias": "columnDefs"; "required": false; "isSignal": true; }; "defaultColDef": { "alias": "defaultColDef"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "datasource": { "alias": "datasource"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "headerHeight": { "alias": "headerHeight"; "required": false; "isSignal": true; }; "bufferRows": { "alias": "bufferRows"; "required": false; "isSignal": true; }; "withSelection": { "alias": "withSelection"; "required": false; "isSignal": true; }; "highlightHeader": { "alias": "highlightHeader"; "required": false; "isSignal": true; }; "rowModelType": { "alias": "rowModelType"; "required": false; "isSignal": true; }; "autoHeight": { "alias": "autoHeight"; "required": false; "isSignal": true; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; "isSignal": true; }; "withPagination": { "alias": "withPagination"; "required": false; "isSignal": true; }; "bodyScroll": { "alias": "bodyScroll"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "showFirstLastButtons": { "alias": "showFirstLastButtons"; "required": false; "isSignal": true; }; "paginatorAriaLabel": { "alias": "paginatorAriaLabel"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageIndex": { "alias": "pageIndex"; "required": false; "isSignal": true; }; "snapshot": { "alias": "snapshot"; "required": false; "isSignal": true; }; "withColumnSettings": { "alias": "withColumnSettings"; "required": false; "isSignal": true; }; "embedded": { "alias": "embedded"; "required": false; "isSignal": true; }; "rowSelection": { "alias": "rowSelection"; "required": false; "isSignal": true; }; "allowSingleRowSelectionByClick": { "alias": "allowSingleRowSelectionByClick"; "required": false; "isSignal": true; }; "selectionWidth": { "alias": "selectionWidth"; "required": false; "isSignal": true; }; "minColumnWidth": { "alias": "minColumnWidth"; "required": false; "isSignal": true; }; "cellRenderers": { "alias": "cellRenderers"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "hoverRows": { "alias": "hoverRows"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "emptyIcon": { "alias": "emptyIcon"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "emptyFilterResultsIcon": { "alias": "emptyFilterResultsIcon"; "required": false; "isSignal": true; }; "emptyFilterResultsText": { "alias": "emptyFilterResultsText"; "required": false; "isSignal": true; }; }, { "pageSize": "pageSizeChange"; "pageIndex": "pageIndexChange"; "rowSelectionChanged": "rowSelectionChanged"; "selectionChanged": "selectionChanged"; "allRowsSelectionChanged": "allRowsSelectionChanged"; "sortChange": "sortChange"; "loadEnd": "loadEnd"; "refreshEnd": "refreshEnd"; }, ["_emptyDataRef", "_emptyFilterResults", "_actionBarRef", "_actionBarComp"], never, true, never>;
361
372
  }
362
373
 
363
374
  declare class DataViewEmptyDataDirective {
@@ -376,6 +387,7 @@ interface DataViewConfig {
376
387
  pageSizeOptions?: number[];
377
388
  pageSize?: number;
378
389
  rowSelection?: 'single' | 'multiple';
390
+ allowSingleRowSelectionByClick?: boolean;
379
391
  selectionWidth?: number;
380
392
  stickyHeader?: boolean;
381
393
  withPagination?: boolean;
@@ -388,4 +400,4 @@ declare const DATA_VIEW_CONFIG: InjectionToken<DataViewConfig>;
388
400
  declare function provideDataView(config: DataViewConfig): EnvironmentProviders;
389
401
 
390
402
  export { DATA_VIEW, DATA_VIEW_CONFIG, DataView, DataViewActionBar, DataViewActionBarDirective, DataViewEmptyDataDirective, DataViewEmptyFilterResultsDirective, cellRenderer, provideDataView };
391
- export type { DataViewAPI, DataViewActionBarAPI, DataViewCellRenderer, DataViewCellRendererDef, DataViewColumnDef, DataViewConfig, DataViewDatasource, DataViewGetRowsParams, DataViewInterface, DataViewPinAlign, DataViewRowModelType, DataViewRowSelectionEvent, DataViewState };
403
+ export type { DataViewAPI, DataViewActionBarAPI, DataViewCellRenderer, DataViewCellRendererDef, DataViewColumnDef, DataViewConfig, DataViewDatasource, DataViewGetRowsParams, DataViewInterface, DataViewPinAlign, DataViewRowModelType, DataViewRowSelectionEvent, DataViewRowSelectionEventSource, DataViewState };
@@ -1,7 +1,7 @@
1
1
  import * as _angular_forms from '@angular/forms';
2
2
  import { ValidatorFn, FormControl, FormGroup, FormArray } from '@angular/forms';
3
3
  import * as _angular_core from '@angular/core';
4
- import { Type, InjectionToken, EnvironmentProviders, Provider, TemplateRef } from '@angular/core';
4
+ import { Type, InjectionToken, EnvironmentProviders, Provider, OnDestroy, TemplateRef } from '@angular/core';
5
5
  import { TreeNodeDropPosition, Tree, TreeNodeDrop } from '@ngstarter-ui/components/tree';
6
6
  import { DateRangeInput } from '@ngstarter-ui/components/datepicker';
7
7
  import { RadioGroupOrientation } from '@ngstarter-ui/components/radio';
@@ -20,12 +20,6 @@ interface FormBuilderValidationRule {
20
20
  value?: any;
21
21
  message?: string;
22
22
  }
23
- interface FormBuilderVisibility {
24
- form?: boolean;
25
- email?: boolean;
26
- pdf?: boolean;
27
- condition?: string;
28
- }
29
23
  interface FormBuilderField {
30
24
  id: string;
31
25
  name: string;
@@ -43,7 +37,6 @@ interface FormBuilderField {
43
37
  width?: FormBuilderFieldWidth;
44
38
  options?: FormBuilderOption[];
45
39
  validation?: FormBuilderValidationRule[];
46
- visibility?: FormBuilderVisibility;
47
40
  settings?: Record<string, any>;
48
41
  children?: FormBuilderField[];
49
42
  }
@@ -183,7 +176,11 @@ type FormBuilderNativeDragItem = {
183
176
  } | {
184
177
  kind: 'section';
185
178
  };
186
- declare class FormBuilder {
179
+ interface FormBuilderNativeDropTarget {
180
+ containerId: string;
181
+ index: number;
182
+ }
183
+ declare class FormBuilder implements OnDestroy {
187
184
  private readonly dialog;
188
185
  private readonly confirmManager;
189
186
  private readonly elementRef;
@@ -197,9 +194,12 @@ declare class FormBuilder {
197
194
  private fieldTreeRootNodes;
198
195
  private fieldTreeStructureKey;
199
196
  private suppressPaletteClick;
197
+ private pendingNativeDropTarget;
198
+ private nativeDropTargetDelayTimer;
200
199
  readonly schema: _angular_core.ModelSignal<FormBuilderSchema>;
201
200
  readonly paletteTitle: _angular_core.InputSignal<string>;
202
201
  readonly inspectorTitle: _angular_core.InputSignal<string>;
202
+ readonly canvasDropPlaceholderDelay: _angular_core.InputSignalWithTransform<number, unknown>;
203
203
  readonly uploadCallback: _angular_core.InputSignal<FormBuilderUploadCallback | null | undefined>;
204
204
  readonly fieldSelected: _angular_core.OutputEmitterRef<FormBuilderFieldChange>;
205
205
  readonly fieldAdded: _angular_core.OutputEmitterRef<FormBuilderFieldChange>;
@@ -210,10 +210,7 @@ declare class FormBuilder {
210
210
  protected readonly nativeDragItem: _angular_core.WritableSignal<FormBuilderNativeDragItem | null>;
211
211
  protected readonly nativeDragFieldDefinition: _angular_core.Signal<FormBuilderFieldDefinition | null>;
212
212
  protected readonly nativeDragSection: _angular_core.Signal<boolean>;
213
- protected readonly nativeDropTarget: _angular_core.WritableSignal<{
214
- containerId: string;
215
- index: number;
216
- } | null>;
213
+ protected readonly nativeDropTarget: _angular_core.WritableSignal<FormBuilderNativeDropTarget | null>;
217
214
  protected readonly expandedFieldTreeNodeIds: _angular_core.WritableSignal<ReadonlySet<string>>;
218
215
  protected readonly definitions: _angular_core.Signal<FormBuilderFieldDefinition[]>;
219
216
  protected readonly settingsDefinitions: _angular_core.Signal<FormBuilderSettingsDefinition[]>;
@@ -230,6 +227,7 @@ declare class FormBuilder {
230
227
  protected readonly fieldTreeDropPredicate: (source: FormBuilderFieldTreeNode, target: FormBuilderFieldTreeNode, position: TreeNodeDropPosition) => boolean;
231
228
  protected readonly updateSelectedField: (changes: Partial<FormBuilderField>) => void;
232
229
  protected readonly updateSelectedSection: (changes: Partial<FormBuilderSection>) => void;
230
+ ngOnDestroy(): void;
233
231
  protected paletteDragStarted(event: DragEvent, definition: FormBuilderFieldDefinition): void;
234
232
  protected sectionPaletteDragStarted(event: DragEvent): void;
235
233
  protected paletteDragEnded(): void;
@@ -271,7 +269,11 @@ declare class FormBuilder {
271
269
  private matchesPaletteQuery;
272
270
  private nativeDragOver;
273
271
  private nativeDragOverAtIndex;
272
+ private scheduleNativeDropTarget;
273
+ private clearNativeDropTarget;
274
+ private clearPendingNativeDropTarget;
274
275
  private setNativeDropTarget;
276
+ private isSameNativeDropTarget;
275
277
  private captureCanvasItemRects;
276
278
  private animateCanvasItemMoves;
277
279
  private getCanvasAnimatedItems;
@@ -319,15 +321,15 @@ declare class FormBuilder {
319
321
  private findFieldLocation;
320
322
  private deletePreviewControls;
321
323
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormBuilder, never>;
322
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormBuilder, "ngs-form-builder", ["ngsFormBuilder"], { "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "paletteTitle": { "alias": "paletteTitle"; "required": false; "isSignal": true; }; "inspectorTitle": { "alias": "inspectorTitle"; "required": false; "isSignal": true; }; "uploadCallback": { "alias": "uploadCallback"; "required": false; "isSignal": true; }; }, { "schema": "schemaChange"; "fieldSelected": "fieldSelected"; "fieldAdded": "fieldAdded"; "fieldRemoved": "fieldRemoved"; }, never, never, true, never>;
324
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormBuilder, "ngs-form-builder", ["ngsFormBuilder"], { "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "paletteTitle": { "alias": "paletteTitle"; "required": false; "isSignal": true; }; "inspectorTitle": { "alias": "inspectorTitle"; "required": false; "isSignal": true; }; "canvasDropPlaceholderDelay": { "alias": "canvasDropPlaceholderDelay"; "required": false; "isSignal": true; }; "uploadCallback": { "alias": "uploadCallback"; "required": false; "isSignal": true; }; }, { "schema": "schemaChange"; "fieldSelected": "fieldSelected"; "fieldAdded": "fieldAdded"; "fieldRemoved": "fieldRemoved"; }, never, never, true, never>;
323
325
  }
324
326
  declare function createDefaultFormBuilderSchema(): FormBuilderSchema;
325
327
 
326
- interface FormBuilderRendererCanvasItem extends FormBuilderLayoutItem {
328
+ interface FormRendererCanvasItem extends FormBuilderLayoutItem {
327
329
  field?: FormBuilderField;
328
330
  section?: FormBuilderSection;
329
331
  }
330
- declare class FormBuilderRenderer {
332
+ declare class FormRenderer {
331
333
  private readonly providedItems;
332
334
  private readonly providedFields;
333
335
  private readonly orphanControls;
@@ -340,7 +342,7 @@ declare class FormBuilderRenderer {
340
342
  readonly formSubmit: _angular_core.OutputEmitterRef<Record<string, any>>;
341
343
  readonly formReady: _angular_core.OutputEmitterRef<FormGroup<any>>;
342
344
  protected readonly definitions: _angular_core.Signal<FormBuilderFieldDefinition[]>;
343
- protected readonly visibleCanvasItems: _angular_core.Signal<FormBuilderRendererCanvasItem[]>;
345
+ protected readonly visibleCanvasItems: _angular_core.Signal<FormRendererCanvasItem[]>;
344
346
  protected readonly formGroup: _angular_core.Signal<FormGroup<any>>;
345
347
  constructor();
346
348
  protected getControl(field: FormBuilderField, formGroup?: FormGroup<any>): FormControl;
@@ -358,12 +360,11 @@ declare class FormBuilderRenderer {
358
360
  private addFieldsToControls;
359
361
  private createRepeaterArray;
360
362
  private createRepeaterGroup;
361
- private visibleFields;
362
363
  private fieldInitialValue;
363
364
  private allowsNullValue;
364
365
  private resolveCanvasItems;
365
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormBuilderRenderer, never>;
366
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormBuilderRenderer, "ngs-form-renderer", ["ngsFormRenderer"], { "schema": { "alias": "schema"; "required": true; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "showSubmit": { "alias": "showSubmit"; "required": false; "isSignal": true; }; "submitLabel": { "alias": "submitLabel"; "required": false; "isSignal": true; }; "uploadCallback": { "alias": "uploadCallback"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "formSubmit": "formSubmit"; "formReady": "formReady"; }, never, never, true, never>;
366
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormRenderer, never>;
367
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormRenderer, "ngs-form-renderer", ["ngsFormRenderer"], { "schema": { "alias": "schema"; "required": true; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "showSubmit": { "alias": "showSubmit"; "required": false; "isSignal": true; }; "submitLabel": { "alias": "submitLabel"; "required": false; "isSignal": true; }; "uploadCallback": { "alias": "uploadCallback"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "formSubmit": "formSubmit"; "formReady": "formReady"; }, never, never, true, never>;
367
368
  }
368
369
 
369
370
  declare class FormBuilderFieldHost {
@@ -475,5 +476,5 @@ declare class BasicFormBuilderSectionSettings {
475
476
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<BasicFormBuilderSectionSettings, "ngs-basic-form-builder-section-settings", ["ngsBasicFormBuilderSectionSettings"], { "section": { "alias": "section"; "required": true; "isSignal": true; }; "update": { "alias": "update"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
476
477
  }
477
478
 
478
- export { BasicFormBuilderFieldSettings, BasicFormBuilderLayoutSettings, BasicFormBuilderSectionSettings, DEFAULT_FORM_BUILDER_FIELDS, DEFAULT_FORM_BUILDER_ITEMS, FORM_BUILDER_FIELDS, FORM_BUILDER_FIELD_BASE_SETTINGS_SCHEMA, FORM_BUILDER_INPUT_FIELD_BASE_SETTINGS_SCHEMA, FORM_BUILDER_ITEMS, FORM_BUILDER_LAYOUT_BASE_SETTINGS_SCHEMA, FORM_BUILDER_LAYOUT_CONTAINER_BASE_SETTINGS_SCHEMA, FORM_BUILDER_SECTION_BASE_SETTINGS_SCHEMA, FORM_BUILDER_SETTINGS, FORM_BUILDER_STATIC_BASE_SETTINGS_SCHEMA, FORM_BUILDER_UPLOAD_CALLBACK, FormBuilder, FormBuilderFieldHost, FormBuilderRenderer, FormBuilderSettingsHost, createDefaultFormBuilderSchema, formBuilderField, formBuilderItem, formBuilderSettings, provideFormBuilder, provideFormBuilderField, provideFormBuilderFields, validatorsFromRules };
479
- export type { FormBuilderComponentImporter, FormBuilderField, FormBuilderFieldChange, FormBuilderFieldDefinition, FormBuilderFieldRenderContext, FormBuilderFieldSettingsContext, FormBuilderFieldWidth, FormBuilderItemDefinition, FormBuilderItemKind, FormBuilderLayoutItem, FormBuilderOption, FormBuilderSchema, FormBuilderSection, FormBuilderSectionSettingsContext, FormBuilderSettingsConfig, FormBuilderSettingsContext, FormBuilderSettingsDefinition, FormBuilderSettingsInheritance, FormBuilderSettingsSchemaFactory, FormBuilderUploadCallback, FormBuilderUploadContext, FormBuilderValidationRule, FormBuilderVisibility };
479
+ export { BasicFormBuilderFieldSettings, BasicFormBuilderLayoutSettings, BasicFormBuilderSectionSettings, DEFAULT_FORM_BUILDER_FIELDS, DEFAULT_FORM_BUILDER_ITEMS, FORM_BUILDER_FIELDS, FORM_BUILDER_FIELD_BASE_SETTINGS_SCHEMA, FORM_BUILDER_INPUT_FIELD_BASE_SETTINGS_SCHEMA, FORM_BUILDER_ITEMS, FORM_BUILDER_LAYOUT_BASE_SETTINGS_SCHEMA, FORM_BUILDER_LAYOUT_CONTAINER_BASE_SETTINGS_SCHEMA, FORM_BUILDER_SECTION_BASE_SETTINGS_SCHEMA, FORM_BUILDER_SETTINGS, FORM_BUILDER_STATIC_BASE_SETTINGS_SCHEMA, FORM_BUILDER_UPLOAD_CALLBACK, FormBuilder, FormBuilderFieldHost, FormBuilderSettingsHost, FormRenderer, createDefaultFormBuilderSchema, formBuilderField, formBuilderItem, formBuilderSettings, provideFormBuilder, provideFormBuilderField, provideFormBuilderFields, validatorsFromRules };
480
+ export type { FormBuilderComponentImporter, FormBuilderField, FormBuilderFieldChange, FormBuilderFieldDefinition, FormBuilderFieldRenderContext, FormBuilderFieldSettingsContext, FormBuilderFieldWidth, FormBuilderItemDefinition, FormBuilderItemKind, FormBuilderLayoutItem, FormBuilderOption, FormBuilderSchema, FormBuilderSection, FormBuilderSectionSettingsContext, FormBuilderSettingsConfig, FormBuilderSettingsContext, FormBuilderSettingsDefinition, FormBuilderSettingsInheritance, FormBuilderSettingsSchemaFactory, FormBuilderUploadCallback, FormBuilderUploadContext, FormBuilderValidationRule };
@@ -56,7 +56,7 @@ declare class Toolbar implements AfterViewInit, OnDestroy {
56
56
  protected _closeOverflowDialog(): void;
57
57
  private _updateOverflow;
58
58
  static ɵfac: i0.ɵɵFactoryDeclaration<Toolbar, never>;
59
- static ɵcmp: i0.ɵɵComponentDeclaration<Toolbar, "ngs-toolbar", ["ngsToolbar"], {}, {}, ["toolbarItems", "navItems", "spacers", "_rows"], ["ngs-toolbar-title,ngs-toolbar-subtitle", "*"], true, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<Toolbar, "ngs-toolbar", ["ngsToolbar"], {}, {}, ["toolbarItems", "navItems", "spacers", "_rows"], ["*"], true, never>;
60
60
  }
61
61
 
62
62
  declare class ToolbarNavLink {
@@ -66,9 +66,11 @@ declare class ToolbarNavLink {
66
66
  static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarNavLink, "ngs-toolbar-nav-link,a[ngs-toolbar-nav-link]", ["ngsToolbarNavLink"], { "active": { "alias": "active"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
67
67
  }
68
68
 
69
+ type ToolbarTitleAppearance = 'none' | 'large';
69
70
  declare class ToolbarTitle {
71
+ appearance: i0.InputSignal<ToolbarTitleAppearance>;
70
72
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarTitle, never>;
71
- static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarTitle, "ngs-toolbar-title", ["ngsToolbarTitle"], {}, {}, never, ["*"], true, never>;
73
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarTitle, "ngs-toolbar-title", ["ngsToolbarTitle"], { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
72
74
  }
73
75
 
74
76
  declare class ToolbarSubtitle {
@@ -77,3 +79,4 @@ declare class ToolbarSubtitle {
77
79
  }
78
80
 
79
81
  export { Toolbar, ToolbarItem, ToolbarNav, ToolbarNavLink, ToolbarRow, ToolbarSpacer, ToolbarSubtitle, ToolbarTitle };
82
+ export type { ToolbarTitleAppearance };