@tailng-ui/primitives 0.41.0 → 0.43.0
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/package.json +2 -2
- package/src/lib/form/autocomplete/tng-autocomplete.d.ts +2 -2
- package/src/lib/form/autocomplete/tng-autocomplete.d.ts.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.js.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.listbox.d.ts.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.listbox.js +5 -3
- package/src/lib/form/autocomplete/tng-autocomplete.listbox.js.map +1 -1
- package/src/lib/layout/index.d.ts +1 -0
- package/src/lib/layout/index.d.ts.map +1 -1
- package/src/lib/layout/index.js +1 -0
- package/src/lib/layout/index.js.map +1 -1
- package/src/lib/layout/table/__tests__/tng-table.test-harness.d.ts +300 -0
- package/src/lib/layout/table/__tests__/tng-table.test-harness.d.ts.map +1 -0
- package/src/lib/layout/table/__tests__/tng-table.test-harness.js +2492 -0
- package/src/lib/layout/table/__tests__/tng-table.test-harness.js.map +1 -0
- package/src/lib/layout/table/index.d.ts +6 -0
- package/src/lib/layout/table/index.d.ts.map +1 -0
- package/src/lib/layout/table/index.js +6 -0
- package/src/lib/layout/table/index.js.map +1 -0
- package/src/lib/layout/table/tng-table-render.d.ts +175 -0
- package/src/lib/layout/table/tng-table-render.d.ts.map +1 -0
- package/src/lib/layout/table/tng-table-render.js +304 -0
- package/src/lib/layout/table/tng-table-render.js.map +1 -0
- package/src/lib/layout/table/tng-table-sizing.d.ts +75 -0
- package/src/lib/layout/table/tng-table-sizing.d.ts.map +1 -0
- package/src/lib/layout/table/tng-table-sizing.js +361 -0
- package/src/lib/layout/table/tng-table-sizing.js.map +1 -0
- package/src/lib/layout/table/tng-table-sort.d.ts +53 -0
- package/src/lib/layout/table/tng-table-sort.d.ts.map +1 -0
- package/src/lib/layout/table/tng-table-sort.js +167 -0
- package/src/lib/layout/table/tng-table-sort.js.map +1 -0
- package/src/lib/layout/table/tng-table-virtual.d.ts +55 -0
- package/src/lib/layout/table/tng-table-virtual.d.ts.map +1 -0
- package/src/lib/layout/table/tng-table-virtual.js +250 -0
- package/src/lib/layout/table/tng-table-virtual.js.map +1 -0
- package/src/lib/layout/table/tng-table.d.ts +362 -0
- package/src/lib/layout/table/tng-table.d.ts.map +1 -0
- package/src/lib/layout/table/tng-table.js +1490 -0
- package/src/lib/layout/table/tng-table.js.map +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tailng-ui/primitives",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.43.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
19
|
"@angular/core": "^21.1.0",
|
|
20
|
-
"@tailng-ui/cdk": "^0.
|
|
20
|
+
"@tailng-ui/cdk": "^0.30.0",
|
|
21
21
|
"tslib": "^2.3.0"
|
|
22
22
|
},
|
|
23
23
|
"sideEffects": false
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { TngAutocompleteListboxApi } from './tng-autocomplete.listbox.types';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
/** Emitted when user commits a free-form value (Enter with no active option). */
|
|
4
|
-
export
|
|
4
|
+
export type TngAutocompleteCreateEvent = {
|
|
5
5
|
query: string;
|
|
6
|
-
}
|
|
6
|
+
};
|
|
7
7
|
export declare class TngAutocomplete<T = unknown> {
|
|
8
8
|
readonly hostElement: any;
|
|
9
9
|
readonly open: import("@angular/core").ModelSignal<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-autocomplete.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tng-autocomplete.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;;AAGlF,iFAAiF;AACjF,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,MAAM,CAAC;CACf,CAAA;AAED,qBAKa,eAAe,CAAC,CAAC,GAAG,OAAO;IACtC,QAAQ,CAAC,WAAW,MAAiD;IAErE,SAAgB,IAAI,+CAAyB;IAC7C,SAAgB,QAAQ,+CAAyB;IACjD,oCAAoC;IACpC,SAAgB,KAAK,gDAAyB;IAC9C,+DAA+D;IAC/D,SAAgB,WAAW,+CAAyB;IACpD,2EAA2E;IAC3E,SAAgB,MAAM,+CAAyB;IAC/C,yFAAyF;IACzF,SAAgB,MAAM,uEAAwC;IAE9D,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAA0C;IAC7D,mFAAmF;IAC5E,eAAe,UAAS;IAC/B,4GAA4G;IACrG,kBAAkB,UAAS;IAElC,SAAgB,OAAO,+CAAyB;IAChD,SAAgB,OAAO,+CAAyB;IAChD,SAAgB,OAAO,qDAA8B;IACrD,SAAgB,aAAa,qDAA8B;IAC3D,SAAgB,OAAO,qDAA8B;IAEnD,gDAAgD;IAClD,SAAgB,KAAK,8CAAqB;IAE1C,uEAAuE;IACvE,SAAgB,WAAW,mDAAoB;IAG/C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;IAGtD,SAAS,KAAK,SAAS,IAAI,MAAM,GAAG,QAAQ,CAE3C;IAGD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,KAAK,WAAW,IAAI,EAAE,GAAG,IAAI,CAErC;IAGD,SAAS,KAAK,WAAW,IAAI,EAAE,GAAG,IAAI,CAErC;IAEM,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IACrC,YAAY,IAAI,MAAM,GAAG,IAAI;IAC7B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IACrC,YAAY,IAAI,MAAM,GAAG,IAAI;IAC7B,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAC9C,qBAAqB,IAAI,MAAM,GAAG,IAAI;IAEtC,UAAU,IAAI,IAAI;IAKlB,KAAK,IAAI,IAAI;IAEb,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAM3B,aAAa,CAAC,GAAG,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI;IAI1D,aAAa,IAAI,yBAAyB,GAAG,IAAI;yCAlF7C,eAAe;2CAAf,eAAe;CAqF3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-autocomplete.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAM,GACP,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"tng-autocomplete.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n inject,\n input,\n model,\n output,\n} from '@angular/core';\nimport type { TngAutocompleteListboxApi } from './tng-autocomplete.listbox.types';\nimport { TNG_AUTOCOMPLETE } from './tng-autocomplete.tokens';\n\n/** Emitted when user commits a free-form value (Enter with no active option). */\nexport type TngAutocompleteCreateEvent = {\n query: string;\n}\n\n@Directive({\n selector: '[tngAutocomplete]',\n exportAs: 'tngAutocomplete',\n providers: [{ provide: TNG_AUTOCOMPLETE, useExisting: TngAutocomplete }],\n})\nexport class TngAutocomplete<T = unknown> {\n readonly hostElement = inject(ElementRef<HTMLElement>).nativeElement;\n\n public readonly open = model<boolean>(false);\n public readonly disabled = input<boolean>(false);\n /** Value of the selected option. */\n public readonly value = model<T | null>(null);\n /** Allow free-form create when Enter with no active option. */\n public readonly allowCreate = input<boolean>(false);\n /** When true, blocks free-form create (strict = must select from list). */\n public readonly strict = input<boolean>(false);\n /** Emitted when user presses Enter with no active option and allowCreate and !strict. */\n public readonly create = output<TngAutocompleteCreateEvent>();\n\n private _contentId: string | null = null;\n private _listboxId: string | null = null;\n private _activeId: string | null = null;\n private _listboxApi: TngAutocompleteListboxApi | null = null;\n /** Set by overlay before programmatic focus restore to prevent reopen-on-focus. */\n public _restoringFocus = false;\n /** Set by trigger when create is emitted; listbox effect skips sync to avoid overwriting consumer value. */\n public _createJustEmitted = false;\n\n public readonly loading = input<boolean>(false);\n public readonly invalid = input<boolean>(false);\n public readonly labelId = input<string | null>(null);\n public readonly descriptionId = input<string | null>(null);\n public readonly errorId = input<string | null>(null);\n\n /** Current input query (used for filtering). */\n public readonly query = model<string>('');\n\n /** Emitted when query changes (typing OR open-on-focus empty emit). */\n public readonly queryChange = output<string>();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'autocomplete' as const;\n\n @HostBinding('attr.data-state')\n protected get dataState(): 'open' | 'closed' {\n return this.open() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-loading')\n protected get dataLoading(): '' | null {\n return this.loading() ? '' : null;\n }\n\n @HostBinding('attr.data-invalid')\n protected get dataInvalid(): '' | null {\n return this.invalid() ? '' : null;\n }\n\n public setContentId(id: string | null): void { this._contentId = id; }\n public getContentId(): string | null { return this._contentId; }\n public setListboxId(id: string | null): void { this._listboxId = id; }\n public getListboxId(): string | null { return this._listboxId; }\n public setActiveDescendantId(id: string | null): void { this._activeId = id; }\n public getActiveDescendantId(): string | null { return this._activeId; }\n\n public openSelect(): void {\n if (this.disabled()) return;\n this.open.set(true);\n }\n\n public close(): void { this.open.set(false); }\n\n public selectValue(value: T): void {\n if (this.disabled()) return;\n this.value.set(value);\n this.close();\n }\n\n public setListboxApi(api: TngAutocompleteListboxApi | null): void {\n this._listboxApi = api;\n }\n\n public getListboxApi(): TngAutocompleteListboxApi | null {\n return this._listboxApi;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-autocomplete.listbox.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.listbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tng-autocomplete.listbox.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.listbox.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;;;;AAK7E,qBAea,sBAAsB,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,yBAAyB;IACnF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgD;IAC7E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkD;IAG1E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,sBAAsB,CAAU;IAG9D,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAqB;;IA2B1C,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAI3C,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO;IAInD,YAAY,IAAI,IAAI;IAOpB,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI;yCA3DzD,sBAAsB;2CAAtB,sBAAsB;CAmFlC;AAED,qBASa,qBAAqB,CAAC,CAAC;IAElC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,qBAAqB,CAAU;yCAFlD,qBAAqB;2CAArB,qBAAqB;CAGjC"}
|
|
@@ -2,7 +2,7 @@ import { DestroyRef, Directive, effect, HostBinding, HostListener, inject, untra
|
|
|
2
2
|
import { createTngIdFactory } from '@tailng-ui/cdk';
|
|
3
3
|
import { TngListboxDirective } from '../listbox/listbox.directive';
|
|
4
4
|
import { TngOptionDirective } from '../listbox/option.directive';
|
|
5
|
-
import { TNG_LISTBOX_FORCE_TYPEAHEAD } from '../listbox/tokens';
|
|
5
|
+
import { TNG_LISTBOX_FORCE_TYPEAHEAD, TNG_LISTBOX_PRESERVE_VALUE_ON_UNREGISTER, } from '../listbox/tokens';
|
|
6
6
|
import { normalizeToSingle } from '../../internal/combobox';
|
|
7
7
|
import { TNG_AUTOCOMPLETE_LISTBOX } from './tng-autocomplete.listbox.tokens';
|
|
8
8
|
import { TNG_AUTOCOMPLETE } from './tng-autocomplete.tokens';
|
|
@@ -80,7 +80,8 @@ export class TngAutocompleteListbox {
|
|
|
80
80
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngAutocompleteListbox, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
81
81
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngAutocompleteListbox, isStandalone: true, selector: "[tngAutocompleteListbox]", host: { listeners: { "valueChange": "onListboxValueChange($event)" }, properties: { "attr.data-slot": "this.dataSlot", "attr.id": "this.id" } }, providers: [
|
|
82
82
|
{ provide: TNG_AUTOCOMPLETE_LISTBOX, useExisting: TngAutocompleteListbox },
|
|
83
|
-
{ provide: TNG_LISTBOX_FORCE_TYPEAHEAD, useValue: false }
|
|
83
|
+
{ provide: TNG_LISTBOX_FORCE_TYPEAHEAD, useValue: false },
|
|
84
|
+
{ provide: TNG_LISTBOX_PRESERVE_VALUE_ON_UNREGISTER, useValue: true },
|
|
84
85
|
], hostDirectives: [{ directive: i1.TngListboxDirective, inputs: ["orientation", "orientation", "direction", "direction", "disabled", "disabled", "loop", "loop", "value", "value"], outputs: ["valueChange", "valueChange"] }], ngImport: i0 });
|
|
85
86
|
}
|
|
86
87
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngAutocompleteListbox, decorators: [{
|
|
@@ -89,7 +90,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
89
90
|
selector: '[tngAutocompleteListbox]',
|
|
90
91
|
providers: [
|
|
91
92
|
{ provide: TNG_AUTOCOMPLETE_LISTBOX, useExisting: TngAutocompleteListbox },
|
|
92
|
-
{ provide: TNG_LISTBOX_FORCE_TYPEAHEAD, useValue: false }
|
|
93
|
+
{ provide: TNG_LISTBOX_FORCE_TYPEAHEAD, useValue: false },
|
|
94
|
+
{ provide: TNG_LISTBOX_PRESERVE_VALUE_ON_UNREGISTER, useValue: true },
|
|
93
95
|
],
|
|
94
96
|
hostDirectives: [
|
|
95
97
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-autocomplete.listbox.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.listbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"tng-autocomplete.listbox.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.listbox.ts"],"names":[],"mappings":"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","sourcesContent":["import { DestroyRef, Directive, effect, HostBinding, HostListener, inject, untracked } from '@angular/core';\nimport { createTngIdFactory } from '@tailng-ui/cdk';\nimport { TngListboxDirective } from '../listbox/listbox.directive';\nimport { TngOptionDirective } from '../listbox/option.directive';\nimport {\n TNG_LISTBOX_FORCE_TYPEAHEAD,\n TNG_LISTBOX_PRESERVE_VALUE_ON_UNREGISTER,\n} from '../listbox/tokens';\nimport { normalizeToSingle } from '../../internal/combobox';\nimport type { TngAutocomplete } from './tng-autocomplete';\nimport { TNG_AUTOCOMPLETE_LISTBOX } from './tng-autocomplete.listbox.tokens';\nimport { TngAutocompleteListboxApi } from './tng-autocomplete.listbox.types';\nimport { TNG_AUTOCOMPLETE } from './tng-autocomplete.tokens';\n\nconst createListboxId = createTngIdFactory('tng-autocomplete-listbox');\n\n@Directive({\n selector: '[tngAutocompleteListbox]',\n providers: [\n { provide: TNG_AUTOCOMPLETE_LISTBOX, useExisting: TngAutocompleteListbox },\n { provide: TNG_LISTBOX_FORCE_TYPEAHEAD, useValue: false },\n { provide: TNG_LISTBOX_PRESERVE_VALUE_ON_UNREGISTER, useValue: true },\n ],\n hostDirectives: [\n {\n directive: TngListboxDirective,\n inputs: ['orientation', 'direction', 'disabled', 'loop', 'value'],\n outputs: ['valueChange'],\n },\n ],\n})\nexport class TngAutocompleteListbox<T = unknown> implements TngAutocompleteListboxApi {\n private readonly autocomplete = inject<TngAutocomplete<T>>(TNG_AUTOCOMPLETE);\n private readonly destroyRef = inject(DestroyRef);\n private readonly listbox = inject(TngListboxDirective<T>, { self: true });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'autocomplete-listbox' as const;\n\n @HostBinding('attr.id')\n protected readonly id = createListboxId();\n\n constructor() {\n this.autocomplete.setListboxId(this.id);\n this.autocomplete.setListboxApi(this);\n\n effect(() => {\n const v = this.autocomplete.value();\n if (this.autocomplete.open()) return;\n\n if (this.autocomplete._createJustEmitted) {\n this.autocomplete._createJustEmitted = false;\n return;\n }\n\n const current = untracked(this.listbox.value);\n const currentSingle = normalizeToSingle(current);\n if (Object.is(currentSingle, v)) return;\n this.listbox.value.set(v as T | null);\n });\n\n this.destroyRef.onDestroy(() => {\n this.autocomplete.setListboxId(null);\n this.autocomplete.setListboxApi(null);\n });\n }\n\n getHostId(): string | null {\n return this.id ?? null;\n }\n\n getActiveId(): string | null {\n return this.listbox.getActiveId();\n }\n\n ensureActive(pref?: 'first' | 'last'): void {\n this.listbox.ensureActive(pref);\n }\n\n handleKey(key: string, shiftKey?: boolean): boolean {\n return this.listbox.handleKeyFromCombobox(key, shiftKey);\n }\n\n commitActive(): void {\n const value = this.listbox.getActiveValue();\n if (value === undefined) return;\n this.autocomplete.selectValue(value as T);\n }\n\n @HostListener('valueChange', ['$event'])\n protected onListboxValueChange(value: T | readonly T[] | null): void {\n if (this.autocomplete.disabled()) return;\n\n const next = normalizeToSingle(value);\n if (Object.is(next, this.autocomplete.value())) {\n if (this.autocomplete.open() && next !== null) {\n this.autocomplete.selectValue(next as T);\n }\n return;\n }\n\n if (!this.autocomplete.open()) {\n this.autocomplete.value.set(next as T | null);\n return;\n }\n\n if (next === null) {\n // When overlay is open, null usually means the previous selection dropped out of\n // filtered options (user is typing to filter). Preserve value and stay open.\n return;\n }\n\n this.autocomplete.selectValue(next);\n }\n}\n\n@Directive({\n selector: '[tngAutocompleteOption]',\n hostDirectives: [\n {\n directive: TngOptionDirective,\n inputs: ['tngValue', 'disabled'],\n },\n ],\n})\nexport class TngAutocompleteOption<T> {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'autocomplete-option' as const;\n}\n"]}
|
|
@@ -6,6 +6,7 @@ export * from './drawer/tng-drawer';
|
|
|
6
6
|
export * from './grid/tng-grid';
|
|
7
7
|
export * from './separator/tng-separator';
|
|
8
8
|
export * from './stepper/tng-stepper';
|
|
9
|
+
export * from './table';
|
|
9
10
|
export * from './tree/tng-tree';
|
|
10
11
|
export * from './tree/tng-tree-item';
|
|
11
12
|
export * from './tree/tng-tree-group';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../libs/tailng-ui/primitives/src/lib/layout/index.ts"],"names":[],"mappings":"AACA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../libs/tailng-ui/primitives/src/lib/layout/index.ts"],"names":[],"mappings":"AACA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AAExB,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC"}
|
package/src/lib/layout/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export * from './drawer/tng-drawer';
|
|
|
7
7
|
export * from './grid/tng-grid';
|
|
8
8
|
export * from './separator/tng-separator';
|
|
9
9
|
export * from './stepper/tng-stepper';
|
|
10
|
+
export * from './table';
|
|
10
11
|
export * from './tree/tng-tree';
|
|
11
12
|
export * from './tree/tng-tree-item';
|
|
12
13
|
export * from './tree/tng-tree-group';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/tailng-ui/primitives/src/lib/layout/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/tailng-ui/primitives/src/lib/layout/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AAExB,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC","sourcesContent":["// Layout primitives\nexport * from './accordion/tng-accordion';\nexport * from './bottom-sheet/tng-bottom-sheet';\nexport * from './card/tng-card';\nexport * from './collapsible/tng-collapsible';\nexport * from './drawer/tng-drawer';\nexport * from './grid/tng-grid';\nexport * from './separator/tng-separator';\nexport * from './stepper/tng-stepper';\nexport * from './table';\n\nexport * from './tree/tng-tree';\nexport * from './tree/tng-tree-item';\nexport * from './tree/tng-tree-group';\nexport * from './tree/tng-tree-indicator';\n"]}
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
import { type TngTableSortDirection } from '@tailng-ui/cdk';
|
|
2
|
+
import { TngTable, TngTableBody, TngTableCellOutlet, type TngTableColumnWidthMap, TngTableExpansion, type TngTableExpansionChange, TngTableFooter, TngTableFooterOutlet, TngTableHeader, type TngTableRowClickEvent, type TngTableRowContextMenuEvent, TngTableSelection, TngTableVirtual, type TngTableVirtualRange, type TngTableSelectionChange, TngTableSort, type TngTableSortChange, type TngTableLayoutMode, type TngTableStickySide, type TngTableCellClickEvent } from '..';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export type TableItem = Readonly<{
|
|
5
|
+
id: string;
|
|
6
|
+
label: string;
|
|
7
|
+
}>;
|
|
8
|
+
export type InteractiveTableRow = Readonly<{
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
id: string;
|
|
11
|
+
label: string;
|
|
12
|
+
status?: string | null;
|
|
13
|
+
value?: boolean | number | string | null | undefined;
|
|
14
|
+
}>;
|
|
15
|
+
export type DynamicColumnId = 'label' | 'status' | 'value';
|
|
16
|
+
export type RenderingRow = Readonly<{
|
|
17
|
+
active: boolean;
|
|
18
|
+
id: string;
|
|
19
|
+
label: string;
|
|
20
|
+
markup: string;
|
|
21
|
+
status: string;
|
|
22
|
+
total: number;
|
|
23
|
+
updatedAt: Date;
|
|
24
|
+
}>;
|
|
25
|
+
export type DynamicTableColumn = Readonly<{
|
|
26
|
+
hidden?: boolean;
|
|
27
|
+
id: DynamicColumnId;
|
|
28
|
+
label: string;
|
|
29
|
+
}>;
|
|
30
|
+
export type IntegrationRow = Readonly<{
|
|
31
|
+
id: string;
|
|
32
|
+
label: string;
|
|
33
|
+
status: 'draft' | 'ready';
|
|
34
|
+
}>;
|
|
35
|
+
export declare function getByTestId<TElement extends Element>(fixture: {
|
|
36
|
+
nativeElement: HTMLElement;
|
|
37
|
+
}, testId: string): TElement;
|
|
38
|
+
export declare function queryAllByTestId<TElement extends Element>(fixture: {
|
|
39
|
+
nativeElement: HTMLElement;
|
|
40
|
+
}, testId: string): readonly TElement[];
|
|
41
|
+
export declare function dispatchKeydown(element: HTMLElement, key: string, init?: KeyboardEventInit): KeyboardEvent;
|
|
42
|
+
export declare function dispatchMouseEvent(element: Element, type: 'click' | 'contextmenu', init?: MouseEventInit): MouseEvent;
|
|
43
|
+
export declare class TableHarnessComponent {
|
|
44
|
+
readonly ariaLabel: import("@angular/core").WritableSignal<string | null>;
|
|
45
|
+
readonly dir: import("@angular/core").WritableSignal<"rtl" | "ltr" | null>;
|
|
46
|
+
readonly error: import("@angular/core").WritableSignal<boolean>;
|
|
47
|
+
readonly filterable: import("@angular/core").WritableSignal<boolean>;
|
|
48
|
+
readonly items: import("@angular/core").WritableSignal<readonly Readonly<{
|
|
49
|
+
id: string;
|
|
50
|
+
label: string;
|
|
51
|
+
}>[] | null | undefined>;
|
|
52
|
+
readonly loading: import("@angular/core").WritableSignal<boolean>;
|
|
53
|
+
readonly pageable: import("@angular/core").WritableSignal<boolean>;
|
|
54
|
+
readonly showFooter: import("@angular/core").WritableSignal<boolean>;
|
|
55
|
+
readonly showHeader: import("@angular/core").WritableSignal<boolean>;
|
|
56
|
+
readonly renderedItems: import("@angular/core").Signal<readonly Readonly<{
|
|
57
|
+
id: string;
|
|
58
|
+
label: string;
|
|
59
|
+
}>[]>;
|
|
60
|
+
tableRef?: TngTable;
|
|
61
|
+
headerRef?: TngTableHeader;
|
|
62
|
+
bodyRef?: TngTableBody;
|
|
63
|
+
footerRef?: TngTableFooter;
|
|
64
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableHarnessComponent, never>;
|
|
65
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableHarnessComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
66
|
+
}
|
|
67
|
+
export declare class TableSortHarnessComponent {
|
|
68
|
+
readonly activeColumnId: import("@angular/core").WritableSignal<string | null | undefined>;
|
|
69
|
+
readonly controlled: import("@angular/core").WritableSignal<boolean>;
|
|
70
|
+
readonly direction: import("@angular/core").WritableSignal<"desc" | "asc" | null | undefined>;
|
|
71
|
+
readonly headerDisabled: import("@angular/core").WritableSignal<boolean>;
|
|
72
|
+
readonly showHeader: import("@angular/core").WritableSignal<boolean>;
|
|
73
|
+
sortRef?: TngTableSort;
|
|
74
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableSortHarnessComponent, never>;
|
|
75
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableSortHarnessComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
76
|
+
}
|
|
77
|
+
export declare class TableSelectionHarnessComponent {
|
|
78
|
+
readonly hiddenIds: import("@angular/core").WritableSignal<readonly string[]>;
|
|
79
|
+
readonly rows: import("@angular/core").WritableSignal<readonly Readonly<{
|
|
80
|
+
disabled?: boolean;
|
|
81
|
+
id: string;
|
|
82
|
+
label: string;
|
|
83
|
+
status?: string | null;
|
|
84
|
+
value?: boolean | number | string | null | undefined;
|
|
85
|
+
}>[]>;
|
|
86
|
+
readonly selectedIds: import("@angular/core").WritableSignal<readonly string[]>;
|
|
87
|
+
readonly selectionMode: import("@angular/core").WritableSignal<"multiple" | "single">;
|
|
88
|
+
readonly selectionEvents: TngTableSelectionChange[];
|
|
89
|
+
readonly visibleRows: import("@angular/core").Signal<Readonly<{
|
|
90
|
+
disabled?: boolean;
|
|
91
|
+
id: string;
|
|
92
|
+
label: string;
|
|
93
|
+
status?: string | null;
|
|
94
|
+
value?: boolean | number | string | null | undefined;
|
|
95
|
+
}>[]>;
|
|
96
|
+
selectionRef?: TngTableSelection;
|
|
97
|
+
onSelectionChange(event: TngTableSelectionChange): void;
|
|
98
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableSelectionHarnessComponent, never>;
|
|
99
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableSelectionHarnessComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
100
|
+
}
|
|
101
|
+
export declare class TableExpansionHarnessComponent {
|
|
102
|
+
readonly expandedIds: import("@angular/core").WritableSignal<readonly string[]>;
|
|
103
|
+
readonly expansionEvents: TngTableExpansionChange[];
|
|
104
|
+
readonly expansionMode: import("@angular/core").WritableSignal<"multiple" | "single">;
|
|
105
|
+
readonly rows: import("@angular/core").WritableSignal<readonly Readonly<{
|
|
106
|
+
disabled?: boolean;
|
|
107
|
+
id: string;
|
|
108
|
+
label: string;
|
|
109
|
+
status?: string | null;
|
|
110
|
+
value?: boolean | number | string | null | undefined;
|
|
111
|
+
}>[]>;
|
|
112
|
+
readonly visibleColumns: import("@angular/core").WritableSignal<readonly Readonly<{
|
|
113
|
+
hidden?: boolean;
|
|
114
|
+
id: DynamicColumnId;
|
|
115
|
+
label: string;
|
|
116
|
+
}>[]>;
|
|
117
|
+
expansionRef?: TngTableExpansion;
|
|
118
|
+
isExpanded(rowId: string): boolean;
|
|
119
|
+
onExpansionChange(event: TngTableExpansionChange): void;
|
|
120
|
+
renderCell(row: InteractiveTableRow, columnId: DynamicColumnId): string;
|
|
121
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableExpansionHarnessComponent, never>;
|
|
122
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableExpansionHarnessComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
123
|
+
}
|
|
124
|
+
export declare class TableInteractionHarnessComponent {
|
|
125
|
+
readonly cellClicks: TngTableCellClickEvent[];
|
|
126
|
+
readonly rowClicks: TngTableRowClickEvent[];
|
|
127
|
+
readonly rowContextMenus: TngTableRowContextMenuEvent[];
|
|
128
|
+
readonly rows: import("@angular/core").WritableSignal<readonly Readonly<{
|
|
129
|
+
disabled?: boolean;
|
|
130
|
+
id: string;
|
|
131
|
+
label: string;
|
|
132
|
+
status?: string | null;
|
|
133
|
+
value?: boolean | number | string | null | undefined;
|
|
134
|
+
}>[]>;
|
|
135
|
+
onCellClick(event: TngTableCellClickEvent): void;
|
|
136
|
+
onRowClick(event: TngTableRowClickEvent): void;
|
|
137
|
+
onRowContextMenu(event: TngTableRowContextMenuEvent): void;
|
|
138
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableInteractionHarnessComponent, never>;
|
|
139
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableInteractionHarnessComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
140
|
+
}
|
|
141
|
+
export declare class TableEmbeddedIntegrationHarnessComponent {
|
|
142
|
+
readonly cellClicks: TngTableCellClickEvent[];
|
|
143
|
+
readonly rowClicks: TngTableRowClickEvent[];
|
|
144
|
+
readonly rows: import("@angular/core").WritableSignal<readonly Readonly<{
|
|
145
|
+
id: string;
|
|
146
|
+
label: string;
|
|
147
|
+
status: "draft" | "ready";
|
|
148
|
+
}>[]>;
|
|
149
|
+
readonly selectedIds: import("@angular/core").WritableSignal<readonly string[]>;
|
|
150
|
+
onCellClick(event: TngTableCellClickEvent): void;
|
|
151
|
+
onRowClick(event: TngTableRowClickEvent): void;
|
|
152
|
+
onSelectionChange(event: TngTableSelectionChange): void;
|
|
153
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableEmbeddedIntegrationHarnessComponent, never>;
|
|
154
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableEmbeddedIntegrationHarnessComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
155
|
+
}
|
|
156
|
+
export declare class TableControlledIntegrationHarnessComponent {
|
|
157
|
+
readonly activeColumnId: import("@angular/core").WritableSignal<string | null>;
|
|
158
|
+
readonly direction: import("@angular/core").WritableSignal<TngTableSortDirection | null>;
|
|
159
|
+
readonly pageIndex: import("@angular/core").WritableSignal<number>;
|
|
160
|
+
readonly pageSize: import("@angular/core").WritableSignal<number>;
|
|
161
|
+
readonly query: import("@angular/core").WritableSignal<string>;
|
|
162
|
+
readonly rows: import("@angular/core").WritableSignal<readonly Readonly<{
|
|
163
|
+
id: string;
|
|
164
|
+
label: string;
|
|
165
|
+
status: "draft" | "ready";
|
|
166
|
+
}>[]>;
|
|
167
|
+
readonly sortEvents: TngTableSortChange[];
|
|
168
|
+
readonly filteredRows: import("@angular/core").Signal<readonly Readonly<{
|
|
169
|
+
id: string;
|
|
170
|
+
label: string;
|
|
171
|
+
status: "draft" | "ready";
|
|
172
|
+
}>[]>;
|
|
173
|
+
readonly sortedRows: import("@angular/core").Signal<readonly Readonly<{
|
|
174
|
+
id: string;
|
|
175
|
+
label: string;
|
|
176
|
+
status: "draft" | "ready";
|
|
177
|
+
}>[]>;
|
|
178
|
+
readonly visibleRows: import("@angular/core").Signal<readonly Readonly<{
|
|
179
|
+
id: string;
|
|
180
|
+
label: string;
|
|
181
|
+
status: "draft" | "ready";
|
|
182
|
+
}>[]>;
|
|
183
|
+
sortRef?: TngTableSort;
|
|
184
|
+
nextPage(): void;
|
|
185
|
+
onQueryInput(query: string): void;
|
|
186
|
+
onSortChange(event: TngTableSortChange): void;
|
|
187
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableControlledIntegrationHarnessComponent, never>;
|
|
188
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableControlledIntegrationHarnessComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
189
|
+
}
|
|
190
|
+
export declare class DynamicTableHarnessComponent {
|
|
191
|
+
readonly ariaLabel: import("@angular/core").WritableSignal<string | null>;
|
|
192
|
+
readonly columns: import("@angular/core").WritableSignal<readonly Readonly<{
|
|
193
|
+
hidden?: boolean;
|
|
194
|
+
id: DynamicColumnId;
|
|
195
|
+
label: string;
|
|
196
|
+
}>[]>;
|
|
197
|
+
readonly rows: import("@angular/core").WritableSignal<readonly Readonly<{
|
|
198
|
+
disabled?: boolean;
|
|
199
|
+
id: string;
|
|
200
|
+
label: string;
|
|
201
|
+
status?: string | null;
|
|
202
|
+
value?: boolean | number | string | null | undefined;
|
|
203
|
+
}>[]>;
|
|
204
|
+
readonly selectedIds: import("@angular/core").WritableSignal<readonly string[]>;
|
|
205
|
+
readonly visibleColumns: import("@angular/core").Signal<Readonly<{
|
|
206
|
+
hidden?: boolean;
|
|
207
|
+
id: DynamicColumnId;
|
|
208
|
+
label: string;
|
|
209
|
+
}>[]>;
|
|
210
|
+
onSelectionChange(event: TngTableSelectionChange): void;
|
|
211
|
+
renderCell(row: InteractiveTableRow, columnId: DynamicColumnId): string;
|
|
212
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicTableHarnessComponent, never>;
|
|
213
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DynamicTableHarnessComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
214
|
+
}
|
|
215
|
+
export declare class TableRenderingHarnessComponent {
|
|
216
|
+
readonly footerValue: import("@angular/core").WritableSignal<number>;
|
|
217
|
+
readonly localizedFooterValue: import("@angular/core").WritableSignal<number>;
|
|
218
|
+
readonly localizedNumberValue: import("@angular/core").WritableSignal<number>;
|
|
219
|
+
readonly rows: import("@angular/core").WritableSignal<readonly Readonly<{
|
|
220
|
+
active: boolean;
|
|
221
|
+
id: string;
|
|
222
|
+
label: string;
|
|
223
|
+
markup: string;
|
|
224
|
+
status: string;
|
|
225
|
+
total: number;
|
|
226
|
+
updatedAt: Date;
|
|
227
|
+
}>[]>;
|
|
228
|
+
readonly localizedDateFormatter: (value: unknown, context: unknown) => string;
|
|
229
|
+
readonly localizedNumberFormatter: (value: unknown, context: unknown) => string;
|
|
230
|
+
readonly statusFormatter: (value: unknown) => string;
|
|
231
|
+
readonly throwingFormatter: () => string;
|
|
232
|
+
errorCellOutlet?: TngTableCellOutlet;
|
|
233
|
+
footerOutlet?: TngTableFooterOutlet;
|
|
234
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableRenderingHarnessComponent, never>;
|
|
235
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableRenderingHarnessComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
236
|
+
}
|
|
237
|
+
export declare class TableLayoutHarnessComponent {
|
|
238
|
+
readonly dir: import("@angular/core").WritableSignal<"rtl" | "ltr">;
|
|
239
|
+
readonly footerStickyOffset: import("@angular/core").WritableSignal<string>;
|
|
240
|
+
readonly headerStickyOffset: import("@angular/core").WritableSignal<string>;
|
|
241
|
+
readonly labelStickyOffset: import("@angular/core").WritableSignal<string | null>;
|
|
242
|
+
readonly labelStickySide: import("@angular/core").WritableSignal<TngTableStickySide | null>;
|
|
243
|
+
readonly layout: import("@angular/core").WritableSignal<TngTableLayoutMode>;
|
|
244
|
+
readonly scrollAxis: import("@angular/core").WritableSignal<"x" | "y" | "both">;
|
|
245
|
+
readonly statusStickyOffset: import("@angular/core").WritableSignal<string | null>;
|
|
246
|
+
readonly statusStickySide: import("@angular/core").WritableSignal<TngTableStickySide | null>;
|
|
247
|
+
readonly stickyFooter: import("@angular/core").WritableSignal<boolean>;
|
|
248
|
+
readonly stickyHeader: import("@angular/core").WritableSignal<boolean>;
|
|
249
|
+
readonly truncate: import("@angular/core").WritableSignal<boolean>;
|
|
250
|
+
readonly valueStickyOffset: import("@angular/core").WritableSignal<string | null>;
|
|
251
|
+
readonly valueStickySide: import("@angular/core").WritableSignal<TngTableStickySide | null>;
|
|
252
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableLayoutHarnessComponent, never>;
|
|
253
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableLayoutHarnessComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
254
|
+
}
|
|
255
|
+
export declare class TableSizingHarnessComponent {
|
|
256
|
+
readonly dir: import("@angular/core").WritableSignal<"rtl" | "ltr">;
|
|
257
|
+
readonly widthEvents: TngTableColumnWidthMap[];
|
|
258
|
+
readonly widths: import("@angular/core").WritableSignal<Record<string, string> | undefined>;
|
|
259
|
+
onWidthsChange(nextWidths: TngTableColumnWidthMap): void;
|
|
260
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableSizingHarnessComponent, never>;
|
|
261
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableSizingHarnessComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
262
|
+
}
|
|
263
|
+
export declare class TableVirtualHarnessComponent {
|
|
264
|
+
readonly overscan: import("@angular/core").WritableSignal<number>;
|
|
265
|
+
readonly rangeChanges: import("@angular/core").WritableSignal<readonly Readonly<{
|
|
266
|
+
end: number;
|
|
267
|
+
start: number;
|
|
268
|
+
}>[]>;
|
|
269
|
+
readonly rowHeight: import("@angular/core").WritableSignal<number>;
|
|
270
|
+
readonly rows: import("@angular/core").WritableSignal<readonly Readonly<{
|
|
271
|
+
disabled?: boolean;
|
|
272
|
+
id: string;
|
|
273
|
+
label: string;
|
|
274
|
+
status?: string | null;
|
|
275
|
+
value?: boolean | number | string | null | undefined;
|
|
276
|
+
}>[]>;
|
|
277
|
+
readonly selectedIds: import("@angular/core").WritableSignal<readonly string[]>;
|
|
278
|
+
readonly stickyHeader: import("@angular/core").WritableSignal<boolean>;
|
|
279
|
+
readonly viewportHeight: import("@angular/core").WritableSignal<number>;
|
|
280
|
+
selectionRef?: TngTableSelection;
|
|
281
|
+
virtualRef?: TngTableVirtual;
|
|
282
|
+
onSelectionChange(event: TngTableSelectionChange): void;
|
|
283
|
+
onRangeChange(event: TngTableVirtualRange): void;
|
|
284
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableVirtualHarnessComponent, never>;
|
|
285
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableVirtualHarnessComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
286
|
+
}
|
|
287
|
+
export declare class TableKeyboardHarnessComponent {
|
|
288
|
+
readonly rows: import("@angular/core").WritableSignal<readonly Readonly<{
|
|
289
|
+
disabled?: boolean;
|
|
290
|
+
id: string;
|
|
291
|
+
label: string;
|
|
292
|
+
status?: string | null;
|
|
293
|
+
value?: boolean | number | string | null | undefined;
|
|
294
|
+
}>[]>;
|
|
295
|
+
readonly showTable: import("@angular/core").WritableSignal<boolean>;
|
|
296
|
+
tableRef?: TngTable;
|
|
297
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableKeyboardHarnessComponent, never>;
|
|
298
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableKeyboardHarnessComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
299
|
+
}
|
|
300
|
+
//# sourceMappingURL=tng-table.test-harness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tng-table.test-harness.d.ts","sourceRoot":"","sources":["../../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/table/__tests__/tng-table.test-harness.ts"],"names":[],"mappings":"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"}
|