From 05ecd5e8c54ba9a522b90c6bb5b80cf42e46cc47 Mon Sep 17 00:00:00 2001 From: Riccardo Perra Date: Mon, 20 Jan 2025 07:07:15 +0100 Subject: [PATCH 01/22] feat(angular-table): Refactor Flex render implementation - Zoneless, Better type safety, allows reactive values into cell content, re-render when cell context changes, allow to pass signal inputs into custom components (#5856) * feat: flex render granular updates * updates * cleanup * cleanup * cleanup * fix test * angular add explicit version of typescript * Fix typescript versions * add some testing for flex render in table * fix test infra * refactor flex render * update lock * fix tests, cleanup code * fix tests, cleanup code * flex render signal content support * flex render signal content support * improve view flags, handle state update in zoneless * improve view flags, handle state update in zoneless * fix * ci: apply automated fixes * clean docs test fix doc add flexRenderComponent util * test cases * fix: enable computed rowModels * fix test for rowModel * assures that `updateProps` update inputs only for Component reference type * Merge pull request #1 from riccardoperra/feat/angular-flex-render-support-output-binding add support for angular outputs in flex-render-component --------- Co-authored-by: Lachlan Collins <1667261+lachlancollins@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> --- docs/framework/angular/angular-table.md | 268 ++++++----- .../row-selection/src/app/app.component.ts | 6 +- packages/angular-table/package.json | 9 +- packages/angular-table/src/flex-render.ts | 290 +++++++---- .../angular-table/src/flex-render/context.ts | 9 + .../angular-table/src/flex-render/flags.ts | 40 ++ .../flex-render/flex-render-component-ref.ts | 236 +++++++++ .../src/flex-render/flex-render-component.ts | 119 +++++ .../angular-table/src/flex-render/view.ts | 153 ++++++ packages/angular-table/src/index.ts | 8 +- packages/angular-table/src/proxy.ts | 7 +- .../tests/createAngularTable.test.ts | 69 ++- .../tests/flex-render-component.test-d.ts | 27 ++ .../tests/flex-render-table.test.ts | 449 ++++++++++++++++++ .../angular-table/tests/flex-render.test.ts | 19 +- packages/angular-table/tests/test-setup.ts | 2 +- packages/angular-table/tests/test-utils.ts | 21 +- packages/angular-table/tsconfig.test.json | 30 ++ packages/angular-table/vitest.config.ts | 12 +- pnpm-lock.yaml | 312 ++++-------- 20 files changed, 1618 insertions(+), 468 deletions(-) create mode 100644 packages/angular-table/src/flex-render/context.ts create mode 100644 packages/angular-table/src/flex-render/flags.ts create mode 100644 packages/angular-table/src/flex-render/flex-render-component-ref.ts create mode 100644 packages/angular-table/src/flex-render/flex-render-component.ts create mode 100644 packages/angular-table/src/flex-render/view.ts create mode 100644 packages/angular-table/tests/flex-render-component.test-d.ts create mode 100644 packages/angular-table/tests/flex-render-table.test.ts create mode 100644 packages/angular-table/tsconfig.test.json diff --git a/docs/framework/angular/angular-table.md b/docs/framework/angular/angular-table.md index c3e74071d2..d992a7ecea 100644 --- a/docs/framework/angular/angular-table.md +++ b/docs/framework/angular/angular-table.md @@ -40,41 +40,181 @@ FlexRender supports any type of content supported by Angular: - A [TemplateRef](https://angular.dev/api/core/TemplateRef) - A [Component](https://angular.dev/api/core/Component) wrapped into `FlexRenderComponent` -Example: +You can just use the `cell.renderValue` or `cell.getValue` APIs to render the cells of your table. However, +these APIs will only spit out the raw cell values (from accessor functions). +If you are using the `cell: () => any` column definition options, you will want to use the `FlexRenderDirective` from the adapter. + +Cell column definition is **reactive** and runs into an **injection context**, then you can inject services or make use of signals to automatically modify the rendered content. + +#### Example ```ts @Component({ imports: [FlexRenderDirective], //... }) +class YourComponent {} ``` ```angular-html @for (row of table.getRowModel().rows; track row.id) { - - @for (cell of row.getVisibleCells(); track cell.id) { - - - - {{ cell }} - -
-
- -} - + > + + {{ cell }} + +
+ + + } + } ``` +#### Rendering a Component + +To render a Component into a specific column header/cell/footer, you can pass a `FlexRenderComponent` instantiated with +your `ComponentType, with the ability to include parameters such as inputs, outputs and a custom injector. + +```ts +import {flexRenderComponent} from "./flex-render-component"; +import {ChangeDetectionStrategy, input, output} from "@angular/core"; + +@Component({ + template: ` + ... + `, + standalone: true, + changeDetectionStrategy: ChangeDetectionStrategy.OnPush, + host: { + '(click)': 'clickEvent.emit($event)' + } +}) +class CustomCell { + readonly content = input.required(); + readonly cellType = input(); + + // An output that will emit for every cell click + readonly clickEvent = output(); +} + +class AppComponent { + columns: ColumnDef[] = [ + { + id: 'custom-cell', + header: () => { + const translateService = inject(TranslateService); + return translateService.translate('...'); + }, + cell: (context) => { + return flexRenderComponent( + MyCustomComponent, + { + injector, // Optional injector + inputs: { + // Mandatory input since we are using `input.required() + content: context.row.original.rowProperty, + // cellType? - Optional input + }, + outputs: { + clickEvent: () => { + // Do something + } + } + } + ) + }, + }, + ] +} +``` + +Underneath, this utilizes +the [ViewContainerRef#createComponent](https://angular.dev/api/core/ViewContainerRef#createComponent) api. +Therefore, you should declare your custom inputs using the @Input decorator or input/model signals. + +You can still access the table cell context through the `injectFlexRenderContext` function, which returns the context +value based on the props you pass to the `FlexRenderDirective`. + +```ts + +@Component({ + // ... +}) +class CustomCellComponent { + // context of a cell component + readonly context = injectFlexRenderContext>(); + // context of a header/footer component + readonly context = injectFlexRenderContext>(); +} +``` + +Alternatively, you can render a component into a specific column header, cell, or footer by passing the component type +to the corresponding column definitions. These column definitions will be provided to the `flexRender` directive along +with the `context`. + +```ts +class AppComponent { + columns: ColumnDef[] = [ + { + id: 'select', + header: () => TableHeadSelectionComponent, + cell: () => TableRowSelectionComponent, + }, + ] +} +``` + +```angular-html + + {{ headerCell }} + +``` + +Properties of `context` provided in the `flexRender` directive will be accessible to your component. +You can explicitly define the context properties required by your component. +In this example, the context provided to flexRender is of type HeaderContext. +Input signal `table`, which is a property of HeaderContext together with `column` and `header` properties, +is then defined to be used in the component. If any of the context properties are +needed in your component, feel free to use them. Please take note that only input signal is supported, +when defining access to context properties, using this approach. + +```angular-ts +@Component({ + template: ` + + `, + // ... +}) +export class TableHeadSelectionComponent { + //column = input.required>() + //header = input.required>() + table = input.required>() +} +``` + #### Rendering a TemplateRef In order to render a TemplateRef into a specific column header/cell/footer, you can pass the TemplateRef into the column @@ -171,101 +311,3 @@ class AppComponent { ] } ``` - -#### Rendering a Component - -To render a Component into a specific column header/cell/footer, you can pass a `FlexRenderComponent instantiated with -your `ComponentType, with the ability to include optional parameters such as inputs and an injector. - -```ts -import {FlexRenderComponent} from "@tanstack/angular-table"; - -class AppComponent { - columns: ColumnDef[] = [ - { - id: 'customCell', - header: () => new FlexRenderComponent( - CustomCellComponent, - {}, // optional inputs - injector // optional injector - ), - cell: () => this.customCell(), - }, - ] -} -``` - -Underneath, this utilizes -the [ViewContainerRef#createComponent](https://angular.dev/api/core/ViewContainerRef#createComponent) api. -Therefore, you should declare your custom inputs using the @Input decorator or input/model signals. - -You can still access the table cell context through the `injectFlexRenderContext` function, which returns the context -value based on the props you pass to the `FlexRenderDirective`. - -```ts -@Component({ - // ... -}) -class CustomCellComponent { - // context of a cell component - readonly context = injectFlexRenderContext>(); - // context of a header/footer component - readonly context = injectFlexRenderContext>(); -} -``` - -Alternatively, you can render a component into a specific column header, cell, or footer by passing the component type -to the corresponding column definitions. These column definitions will be provided to the `flexRender` directive along with the `context`. - -```ts -import {FlexRenderComponent} from "@tanstack/angular-table"; - -class AppComponent { - columns: ColumnDef[] = [ - { - id: 'select', - header: () => TableHeadSelectionComponent, - cell: () => TableRowSelectionComponent, - }, - ] -} -``` - -```angular2html - - {{ headerCell }} - -``` - -Properties of `context` provided in the `flexRender` directive will be accessible to your component. -You can explicitly define the context properties required by your component. -In this example, the context provided to flexRender is of type HeaderContext. -Input signal `table`, which is a property of HeaderContext together with `column` and `header` properties, -is then defined to be used in the component. If any of the context properties are -needed in your component, feel free to use them. Please take note that only input signal is supported, -when defining access to context properties, using this approach. - -```angular-ts -@Component({ - template: ` - - `, - // ... -}) -export class TableHeadSelectionComponent { - //column = input.required>() - //header = input.required>() - table = input.required>() -} -``` \ No newline at end of file diff --git a/examples/angular/row-selection/src/app/app.component.ts b/examples/angular/row-selection/src/app/app.component.ts index 8711fd3959..da7ce36ef5 100644 --- a/examples/angular/row-selection/src/app/app.component.ts +++ b/examples/angular/row-selection/src/app/app.component.ts @@ -9,7 +9,7 @@ import { import { ColumnDef, createAngularTable, - FlexRenderComponent, + flexRenderComponent, FlexRenderDirective, getCoreRowModel, getFilteredRowModel, @@ -43,10 +43,10 @@ export class AppComponent { { id: 'select', header: () => { - return new FlexRenderComponent(TableHeadSelectionComponent) + return flexRenderComponent(TableHeadSelectionComponent) }, cell: () => { - return new FlexRenderComponent(TableRowSelectionComponent) + return flexRenderComponent(TableRowSelectionComponent) }, }, { diff --git a/packages/angular-table/package.json b/packages/angular-table/package.json index 55aae671f5..e457315244 100644 --- a/packages/angular-table/package.json +++ b/packages/angular-table/package.json @@ -43,7 +43,7 @@ ], "scripts": { "clean": "rimraf ./build", - "test:types": "tsc --noEmit", + "test:types": "tsc --noEmit && vitest --typecheck", "test:lib": "vitest", "test:lib:dev": "vitest --watch", "build": "ng-packagr -p ng-package.json -c tsconfig.build.json && rimraf ./build/lib/package.json" @@ -53,11 +53,14 @@ "tslib": "^2.6.2" }, "devDependencies": { - "@analogjs/vite-plugin-angular": "^1.3.1", + "@analogjs/vite-plugin-angular": "^1.11.0", + "@analogjs/vitest-angular": "^1.11.0", "@angular/core": "^17.3.9", "@angular/platform-browser": "^17.3.9", "@angular/platform-browser-dynamic": "^17.3.9", - "ng-packagr": "^17.3.0" + "ng-packagr": "^17.3.0", + "typescript": "5.4.5", + "vitest": "^1.6.0" }, "peerDependencies": { "@angular/core": ">=17" diff --git a/packages/angular-table/src/flex-render.ts b/packages/angular-table/src/flex-render.ts index 86f97ae6cb..6a072f242e 100644 --- a/packages/angular-table/src/flex-render.ts +++ b/packages/angular-table/src/flex-render.ts @@ -1,20 +1,40 @@ import { ChangeDetectorRef, - ComponentRef, Directive, - EmbeddedViewRef, + DoCheck, + effect, + type EffectRef, Inject, inject, - InjectionToken, Injector, Input, - isSignal, - type OnChanges, - type SimpleChanges, + OnChanges, + runInInjectionContext, + SimpleChanges, TemplateRef, Type, ViewContainerRef, } from '@angular/core' +import { FlexRenderComponentProps } from './flex-render/context' +import { FlexRenderFlags } from './flex-render/flags' +import { + flexRenderComponent, + FlexRenderComponent, +} from './flex-render/flex-render-component' +import { FlexRenderComponentFactory } from './flex-render/flex-render-component-ref' +import { + FlexRenderComponentView, + FlexRenderTemplateView, + type FlexRenderTypedContent, + FlexRenderView, + mapToFlexRenderTypedContent, +} from './flex-render/view' +import { memo } from '@tanstack/table-core' + +export { + injectFlexRenderContext, + type FlexRenderComponentProps, +} from './flex-render/context' export type FlexRenderContent> = | string @@ -23,15 +43,20 @@ export type FlexRenderContent> = | FlexRenderComponent | TemplateRef<{ $implicit: TProps }> | null + | Record | undefined @Directive({ selector: '[flexRender]', standalone: true, + providers: [FlexRenderComponentFactory], }) export class FlexRenderDirective> - implements OnChanges + implements OnChanges, DoCheck { + readonly #flexRenderComponentFactory = inject(FlexRenderComponentFactory) + readonly #changeDetectorRef = inject(ChangeDetectorRef) + @Input({ required: true, alias: 'flexRender' }) content: | number @@ -46,6 +71,24 @@ export class FlexRenderDirective> @Input({ required: false, alias: 'flexRenderInjector' }) injector: Injector = inject(Injector) + renderFlags = FlexRenderFlags.ViewFirstRender + renderView: FlexRenderView | null = null + + readonly #latestContent = () => { + const { content, props } = this + return typeof content !== 'function' + ? content + : runInInjectionContext(this.injector, () => content(props)) + } + + #getContentValue = memo( + () => [this.#latestContent(), this.props, this.content], + latestContent => { + return mapToFlexRenderTypedContent(latestContent) + }, + { key: 'flexRenderContentValue', debug: () => false } + ) + constructor( @Inject(ViewContainerRef) private readonly viewContainerRef: ViewContainerRef, @@ -53,132 +96,191 @@ export class FlexRenderDirective> private readonly templateRef: TemplateRef ) {} - ref?: ComponentRef | EmbeddedViewRef | null = null - ngOnChanges(changes: SimpleChanges) { - if (this.ref instanceof ComponentRef) { - this.ref.injector.get(ChangeDetectorRef).markForCheck() + if (changes['props']) { + this.renderFlags |= FlexRenderFlags.PropsReferenceChanged } - if (!changes['content']) { - return + if (changes['content']) { + this.renderFlags |= + FlexRenderFlags.ContentChanged | FlexRenderFlags.ViewFirstRender + this.update() } - this.render() } - render() { - this.viewContainerRef.clear() - const { content, props } = this - if (content === null || content === undefined) { - this.ref = null + ngDoCheck(): void { + if (this.renderFlags & FlexRenderFlags.ViewFirstRender) { + // On the initial render, the view is created during the `ngOnChanges` hook. + // Since `ngDoCheck` is called immediately afterward, there's no need to check for changes in this phase. + this.renderFlags &= ~FlexRenderFlags.ViewFirstRender return } - if (typeof content === 'function') { - return this.renderContent(content(props)) + + this.renderFlags |= FlexRenderFlags.DirtyCheck + + const latestContent = this.#getContentValue() + if (latestContent.kind === 'null' || !this.renderView) { + this.renderFlags |= FlexRenderFlags.ContentChanged } else { - return this.renderContent(content) + this.renderView.content = latestContent + const { kind: previousKind } = this.renderView.previousContent + if (latestContent.kind !== previousKind) { + this.renderFlags |= FlexRenderFlags.ContentChanged + } + } + this.update() + } + + update() { + if ( + this.renderFlags & + (FlexRenderFlags.ContentChanged | FlexRenderFlags.ViewFirstRender) + ) { + this.render() + return + } + if (this.renderFlags & FlexRenderFlags.PropsReferenceChanged) { + if (this.renderView) this.renderView.updateProps(this.props) + this.renderFlags &= ~FlexRenderFlags.PropsReferenceChanged + } + if ( + this.renderFlags & + (FlexRenderFlags.DirtyCheck | FlexRenderFlags.DirtySignal) + ) { + if (this.renderView) this.renderView.dirtyCheck() + this.renderFlags &= ~( + FlexRenderFlags.DirtyCheck | FlexRenderFlags.DirtySignal + ) } } - private renderContent(content: FlexRenderContent) { - if (typeof content === 'string' || typeof content === 'number') { - return this.renderStringContent() + #currentEffectRef: EffectRef | null = null + + render() { + if (this.#shouldRecreateEntireView() && this.#currentEffectRef) { + this.#currentEffectRef.destroy() + this.#currentEffectRef = null + this.renderFlags &= ~FlexRenderFlags.RenderEffectChecked + } + + this.viewContainerRef.clear() + this.renderFlags = + FlexRenderFlags.Pristine | + (this.renderFlags & FlexRenderFlags.ViewFirstRender) | + (this.renderFlags & FlexRenderFlags.RenderEffectChecked) + + const resolvedContent = this.#getContentValue() + if (resolvedContent.kind === 'null') { + this.renderView = null + } else { + this.renderView = this.#renderViewByContent(resolvedContent) } - if (content instanceof TemplateRef) { - return this.viewContainerRef.createEmbeddedView( - content, - this.getTemplateRefContext() + + // If the content is a function `content(props)`, we initialize an effect + // in order to react to changes if the given definition use signals. + if (!this.#currentEffectRef && typeof this.content === 'function') { + this.#currentEffectRef = effect( + () => { + this.#latestContent() + if (!(this.renderFlags & FlexRenderFlags.RenderEffectChecked)) { + this.renderFlags |= FlexRenderFlags.RenderEffectChecked + return + } + this.renderFlags |= FlexRenderFlags.DirtySignal + // This will mark the view as changed, + // so we'll try to check for updates into ngDoCheck + this.#changeDetectorRef.markForCheck() + }, + { injector: this.viewContainerRef.injector } ) - } else if (content instanceof FlexRenderComponent) { - return this.renderComponent(content) - } else if (content instanceof Type) { - return this.renderCustomComponent(content) + } + } + + #shouldRecreateEntireView() { + return ( + this.renderFlags & + FlexRenderFlags.ContentChanged & + FlexRenderFlags.ViewFirstRender + ) + } + + #renderViewByContent( + content: FlexRenderTypedContent + ): FlexRenderView | null { + if (content.kind === 'primitive') { + return this.#renderStringContent(content) + } else if (content.kind === 'templateRef') { + return this.#renderTemplateRefContent(content) + } else if (content.kind === 'flexRenderComponent') { + return this.#renderComponent(content) + } else if (content.kind === 'component') { + return this.#renderCustomComponent(content) } else { return null } } - private renderStringContent(): EmbeddedViewRef { + #renderStringContent( + template: Extract + ): FlexRenderTemplateView { const context = () => { return typeof this.content === 'string' || typeof this.content === 'number' ? this.content : this.content?.(this.props) } - return this.viewContainerRef.createEmbeddedView(this.templateRef, { + const ref = this.viewContainerRef.createEmbeddedView(this.templateRef, { get $implicit() { return context() }, }) + return new FlexRenderTemplateView(template, ref) + } + + #renderTemplateRefContent( + template: Extract + ): FlexRenderTemplateView { + const latestContext = () => this.props + const view = this.viewContainerRef.createEmbeddedView(template.content, { + get $implicit() { + return latestContext() + }, + }) + return new FlexRenderTemplateView(template, view) } - private renderComponent( - flexRenderComponent: FlexRenderComponent - ): ComponentRef { - const { component, inputs, injector } = flexRenderComponent + #renderComponent( + flexRenderComponent: Extract< + FlexRenderTypedContent, + { kind: 'flexRenderComponent' } + > + ): FlexRenderComponentView { + const { inputs, outputs, injector } = flexRenderComponent.content const getContext = () => this.props - const proxy = new Proxy(this.props, { - get: (_, key) => getContext()?.[key as keyof typeof _], + get: (_, key) => getContext()[key as keyof typeof _], }) - const componentInjector = Injector.create({ parent: injector ?? this.injector, providers: [{ provide: FlexRenderComponentProps, useValue: proxy }], }) - - const componentRef = this.viewContainerRef.createComponent(component, { - injector: componentInjector, - }) - for (const prop in inputs) { - if (componentRef.instance?.hasOwnProperty(prop)) { - componentRef.setInput(prop, inputs[prop]) - } - } - return componentRef - } - - private renderCustomComponent( - component: Type - ): ComponentRef { - const componentRef = this.viewContainerRef.createComponent(component, { - injector: this.injector, - }) - for (const prop in this.props) { - // Only signal based input can be added here - if ( - componentRef.instance?.hasOwnProperty(prop) && - // @ts-ignore - isSignal(componentRef.instance[prop]) - ) { - componentRef.setInput(prop, this.props[prop]) - } - } - return componentRef + const view = this.#flexRenderComponentFactory.createComponent( + flexRenderComponent.content, + componentInjector + ) + return new FlexRenderComponentView(flexRenderComponent, view) } - private getTemplateRefContext() { - const getContext = () => this.props - return { - get $implicit() { - return getContext() - }, - } + #renderCustomComponent( + component: Extract + ): FlexRenderComponentView { + const view = this.#flexRenderComponentFactory.createComponent( + flexRenderComponent(component.content, { + inputs: this.props, + injector: this.injector, + }), + this.injector + ) + return new FlexRenderComponentView(component, view) } } - -export class FlexRenderComponent> { - constructor( - readonly component: Type, - readonly inputs: T = {} as T, - readonly injector?: Injector - ) {} -} - -const FlexRenderComponentProps = new InjectionToken>( - '[@tanstack/angular-table] Flex render component context props' -) - -export function injectFlexRenderContext>(): T { - return inject(FlexRenderComponentProps) -} diff --git a/packages/angular-table/src/flex-render/context.ts b/packages/angular-table/src/flex-render/context.ts new file mode 100644 index 0000000000..b9eacac73c --- /dev/null +++ b/packages/angular-table/src/flex-render/context.ts @@ -0,0 +1,9 @@ +import { inject, InjectionToken } from '@angular/core' + +export const FlexRenderComponentProps = new InjectionToken< + NonNullable +>('[@tanstack/angular-table] Flex render component context props') + +export function injectFlexRenderContext>(): T { + return inject(FlexRenderComponentProps) +} diff --git a/packages/angular-table/src/flex-render/flags.ts b/packages/angular-table/src/flex-render/flags.ts new file mode 100644 index 0000000000..7458f71143 --- /dev/null +++ b/packages/angular-table/src/flex-render/flags.ts @@ -0,0 +1,40 @@ +/** + * Flags used to manage and optimize the rendering lifecycle of content of the cell, + * while using FlexRenderDirective. + */ +export enum FlexRenderFlags { + /** + * Indicates that the view is being created for the first time or will be cleared during the next update phase. + * This is the initial state and will transition after the first ngDoCheck. + */ + ViewFirstRender = 1 << 0, + /** + * Represents a state where the view is not dirty, meaning no changes require rendering updates. + */ + Pristine = 1 << 1, + /** + * Indicates the `content` property has been modified or the view requires a complete re-render. + * When this flag is enabled, the view will be cleared and recreated from scratch. + */ + ContentChanged = 1 << 2, + /** + * Indicates that the `props` property reference has changed. + * When this flag is enabled, the view context is updated based on the type of the content. + * + * For Component view, inputs will be updated and view will be marked as dirty. + * For TemplateRef and primitive values, view will be marked as dirty + */ + PropsReferenceChanged = 1 << 3, + /** + * Indicates that the current rendered view needs to be checked for changes. + */ + DirtyCheck = 1 << 4, + /** + * Indicates that a signal within the `content(props)` result has changed + */ + DirtySignal = 1 << 5, + /** + * Indicates that the first render effect has been checked at least one time. + */ + RenderEffectChecked = 1 << 6, +} diff --git a/packages/angular-table/src/flex-render/flex-render-component-ref.ts b/packages/angular-table/src/flex-render/flex-render-component-ref.ts new file mode 100644 index 0000000000..71ab7999a4 --- /dev/null +++ b/packages/angular-table/src/flex-render/flex-render-component-ref.ts @@ -0,0 +1,236 @@ +import { + ChangeDetectorRef, + ComponentRef, + inject, + Injectable, + Injector, + KeyValueDiffer, + KeyValueDiffers, + OutputEmitterRef, + OutputRefSubscription, + ViewContainerRef, +} from '@angular/core' +import { FlexRenderComponent } from './flex-render-component' + +@Injectable() +export class FlexRenderComponentFactory { + #viewContainerRef = inject(ViewContainerRef) + + createComponent( + flexRenderComponent: FlexRenderComponent, + componentInjector: Injector + ): FlexRenderComponentRef { + const componentRef = this.#viewContainerRef.createComponent( + flexRenderComponent.component, + { + injector: componentInjector, + } + ) + const view = new FlexRenderComponentRef( + componentRef, + flexRenderComponent, + componentInjector + ) + + const { inputs, outputs } = flexRenderComponent + + if (inputs) view.setInputs(inputs) + if (outputs) view.setOutputs(outputs) + + return view + } +} + +export class FlexRenderComponentRef { + readonly #keyValueDiffersFactory: KeyValueDiffers + #componentData: FlexRenderComponent + #inputValueDiffer: KeyValueDiffer + + readonly #outputRegistry: FlexRenderComponentOutputManager + + constructor( + readonly componentRef: ComponentRef, + componentData: FlexRenderComponent, + readonly componentInjector: Injector + ) { + this.#componentData = componentData + this.#keyValueDiffersFactory = componentInjector.get(KeyValueDiffers) + + this.#outputRegistry = new FlexRenderComponentOutputManager( + this.#keyValueDiffersFactory, + this.outputs + ) + + this.#inputValueDiffer = this.#keyValueDiffersFactory + .find(this.inputs) + .create() + this.#inputValueDiffer.diff(this.inputs) + + this.componentRef.onDestroy(() => this.#outputRegistry.unsubscribeAll()) + } + + get component() { + return this.#componentData.component + } + + get inputs() { + return this.#componentData.inputs ?? {} + } + + get outputs() { + return this.#componentData.outputs ?? {} + } + + /** + * Get component input and output diff by the given item + */ + diff(item: FlexRenderComponent) { + return { + inputDiff: this.#inputValueDiffer.diff(item.inputs ?? {}), + outputDiff: this.#outputRegistry.diff(item.outputs ?? {}), + } + } + /** + * + * @param compare Whether the current ref component instance is the same as the given one + */ + eqType(compare: FlexRenderComponent): boolean { + return compare.component === this.component + } + + /** + * Tries to update current component refs input by the new given content component. + */ + update(content: FlexRenderComponent) { + const eq = this.eqType(content) + if (!eq) return + const { inputDiff, outputDiff } = this.diff(content) + if (inputDiff) { + inputDiff.forEachAddedItem(item => + this.setInput(item.key, item.currentValue) + ) + inputDiff.forEachChangedItem(item => + this.setInput(item.key, item.currentValue) + ) + inputDiff.forEachRemovedItem(item => this.setInput(item.key, undefined)) + } + if (outputDiff) { + outputDiff.forEachAddedItem(item => { + this.setOutput(item.key, item.currentValue) + }) + outputDiff.forEachChangedItem(item => { + if (item.currentValue) { + this.#outputRegistry.setListener(item.key, item.currentValue) + } else { + this.#outputRegistry.unsubscribe(item.key) + } + }) + outputDiff.forEachRemovedItem(item => { + this.#outputRegistry.unsubscribe(item.key) + }) + } + + this.#componentData = content + } + + markAsDirty(): void { + this.componentRef.injector.get(ChangeDetectorRef).markForCheck() + } + + setInputs(inputs: Record) { + for (const prop in inputs) { + this.setInput(prop, inputs[prop]) + } + } + + setInput(key: string, value: unknown) { + if (this.#componentData.allowedInputNames.includes(key)) { + this.componentRef.setInput(key, value) + } + } + + setOutputs( + outputs: Record< + string, + OutputEmitterRef['emit'] | null | undefined + > + ) { + this.#outputRegistry.unsubscribeAll() + for (const prop in outputs) { + this.setOutput(prop, outputs[prop]) + } + } + + setOutput( + outputName: string, + emit: OutputEmitterRef['emit'] | undefined | null + ): void { + if (!this.#componentData.allowedOutputNames.includes(outputName)) return + if (!emit) { + this.#outputRegistry.unsubscribe(outputName) + return + } + + const hasListener = this.#outputRegistry.hasListener(outputName) + this.#outputRegistry.setListener(outputName, emit) + + if (hasListener) { + return + } + + const instance = this.componentRef.instance + const output = instance[outputName as keyof typeof instance] + if (output && output instanceof OutputEmitterRef) { + output.subscribe(value => { + this.#outputRegistry.getListener(outputName)?.(value) + }) + } + } +} + +class FlexRenderComponentOutputManager { + readonly #outputSubscribers: Record = {} + readonly #outputListeners: Record void> = {} + + readonly #valueDiffer: KeyValueDiffer< + string, + undefined | null | OutputEmitterRef['emit'] + > + + constructor(keyValueDiffers: KeyValueDiffers, initialOutputs: any) { + this.#valueDiffer = keyValueDiffers.find(initialOutputs).create() + if (initialOutputs) { + this.#valueDiffer.diff(initialOutputs) + } + } + + hasListener(outputName: string) { + return outputName in this.#outputListeners + } + + setListener(outputName: string, callback: (...args: any[]) => void) { + this.#outputListeners[outputName] = callback + } + + getListener(outputName: string) { + return this.#outputListeners[outputName] + } + + unsubscribeAll(): void { + for (const prop in this.#outputSubscribers) { + this.unsubscribe(prop) + } + } + + unsubscribe(outputName: string) { + if (outputName in this.#outputSubscribers) { + this.#outputSubscribers[outputName]?.unsubscribe() + delete this.#outputSubscribers[outputName] + delete this.#outputListeners[outputName] + } + } + + diff(outputs: Record['emit'] | undefined>) { + return this.#valueDiffer.diff(outputs ?? {}) + } +} diff --git a/packages/angular-table/src/flex-render/flex-render-component.ts b/packages/angular-table/src/flex-render/flex-render-component.ts new file mode 100644 index 0000000000..edf539cd35 --- /dev/null +++ b/packages/angular-table/src/flex-render/flex-render-component.ts @@ -0,0 +1,119 @@ +import { + ComponentMirror, + Injector, + InputSignal, + OutputEmitterRef, + reflectComponentType, + Type, +} from '@angular/core' + +type Inputs = { + [K in keyof T as T[K] extends InputSignal + ? K + : never]?: T[K] extends InputSignal ? R : never +} + +type Outputs = { + [K in keyof T as T[K] extends OutputEmitterRef + ? K + : never]?: T[K] extends OutputEmitterRef + ? OutputEmitterRef['emit'] + : never +} + +type OptionalKeys = K extends keyof T + ? T[K] extends Required[K] + ? undefined extends T[K] + ? K + : never + : K + : never + +interface FlexRenderRequiredOptions< + TInputs extends Record, + TOutputs extends Record, +> { + /** + * Component instance inputs. They will be set via [componentRef.setInput API](https://angular.dev/api/core/ComponentRef#setInput) + */ + inputs: TInputs + /** + * Component instance outputs. + */ + outputs?: TOutputs + /** + * Optional {@link Injector} that will be used when rendering the component + */ + injector?: Injector +} + +interface FlexRenderOptions< + TInputs extends Record, + TOutputs extends Record, +> { + /** + * Component instance inputs. They will be set via [componentRef.setInput API](https://angular.dev/api/core/ComponentRef#setInput) + */ + inputs?: TInputs + /** + * Component instance outputs. + */ + outputs?: TOutputs + /** + * Optional {@link Injector} that will be used when rendering the component + */ + injector?: Injector +} + +/** + * Helper function to create a [@link FlexRenderComponent] instance, with better type-safety. + * + * - options object must be passed when the given component instance contains at least one required signal input. + * - options/inputs is typed with the given component inputs + * - options/outputs is typed with the given component outputs + */ +export function flexRenderComponent< + TComponent = any, + TInputs extends Inputs = Inputs, + TOutputs extends Outputs = Outputs, +>( + component: Type, + ...options: OptionalKeys extends never + ? [FlexRenderOptions?] + : [FlexRenderRequiredOptions] +) { + const { inputs, injector, outputs } = options?.[0] ?? {} + return new FlexRenderComponent(component, inputs, injector, outputs) +} + +/** + * Wrapper class for a component that will be used as content for {@link FlexRenderDirective} + * + * Prefer {@link flexRenderComponent} helper for better type-safety + */ +export class FlexRenderComponent { + readonly mirror: ComponentMirror + readonly allowedInputNames: string[] = [] + readonly allowedOutputNames: string[] = [] + + constructor( + readonly component: Type, + readonly inputs?: Inputs, + readonly injector?: Injector, + readonly outputs?: Outputs + ) { + const mirror = reflectComponentType(component) + if (!mirror) { + throw new Error( + `[@tanstack-table/angular] The provided symbol is not a component` + ) + } + this.mirror = mirror + for (const input of this.mirror.inputs) { + this.allowedInputNames.push(input.propName) + } + for (const output of this.mirror.outputs) { + this.allowedOutputNames.push(output.propName) + } + } +} diff --git a/packages/angular-table/src/flex-render/view.ts b/packages/angular-table/src/flex-render/view.ts new file mode 100644 index 0000000000..9044b45abc --- /dev/null +++ b/packages/angular-table/src/flex-render/view.ts @@ -0,0 +1,153 @@ +import { FlexRenderComponentRef } from './flex-render-component-ref' +import { EmbeddedViewRef, TemplateRef, Type } from '@angular/core' +import type { FlexRenderContent } from '../flex-render' +import { FlexRenderComponent } from './flex-render-component' + +export type FlexRenderTypedContent = + | { kind: 'null' } + | { + kind: 'primitive' + content: string | number | Record + } + | { kind: 'flexRenderComponent'; content: FlexRenderComponent } + | { kind: 'templateRef'; content: TemplateRef } + | { kind: 'component'; content: Type } + +export function mapToFlexRenderTypedContent( + content: FlexRenderContent +): FlexRenderTypedContent { + if (content === null || content === undefined) { + return { kind: 'null' } + } + if (typeof content === 'string' || typeof content === 'number') { + return { kind: 'primitive', content } + } + if (content instanceof FlexRenderComponent) { + return { kind: 'flexRenderComponent', content } + } else if (content instanceof TemplateRef) { + return { kind: 'templateRef', content } + } else if (content instanceof Type) { + return { kind: 'component', content } + } else { + return { kind: 'primitive', content } + } +} + +export abstract class FlexRenderView< + TView extends FlexRenderComponentRef | EmbeddedViewRef | null, +> { + readonly view: TView + #previousContent: FlexRenderTypedContent | undefined + #content: FlexRenderTypedContent + + protected constructor( + initialContent: Exclude, + view: TView + ) { + this.#content = initialContent + this.view = view + } + + get previousContent(): FlexRenderTypedContent { + return this.#previousContent ?? { kind: 'null' } + } + + get content() { + return this.#content + } + + set content(content: FlexRenderTypedContent) { + this.#previousContent = this.#content + this.#content = content + } + + abstract updateProps(props: Record): void + + abstract dirtyCheck(): void + + abstract onDestroy(callback: Function): void +} + +export class FlexRenderTemplateView extends FlexRenderView< + EmbeddedViewRef +> { + constructor( + initialContent: Extract< + FlexRenderTypedContent, + { kind: 'primitive' | 'templateRef' } + >, + view: EmbeddedViewRef + ) { + super(initialContent, view) + } + + override updateProps(props: Record) { + this.view.markForCheck() + } + + override dirtyCheck() { + // Basically a no-op. When the view is created via EmbeddedViewRef, we don't need to do any manual update + // since this type of content has a proxy as a context, then every time the root component is checked for changes, + // the property getter will be re-evaluated. + // + // If in a future we need to manually mark the view as dirty, just uncomment next line + // this.view.markForCheck() + } + + override onDestroy(callback: Function) { + this.view.onDestroy(callback) + } +} + +export class FlexRenderComponentView extends FlexRenderView< + FlexRenderComponentRef +> { + constructor( + initialContent: Extract< + FlexRenderTypedContent, + { kind: 'component' | 'flexRenderComponent' } + >, + view: FlexRenderComponentRef + ) { + super(initialContent, view) + } + + override updateProps(props: Record) { + switch (this.content.kind) { + case 'component': { + this.view.setInputs(props) + break + } + case 'flexRenderComponent': { + // No-op. When FlexRenderFlags.PropsReferenceChanged is set, + // FlexRenderComponent will be updated into `dirtyCheck`. + break + } + } + } + + override dirtyCheck() { + switch (this.content.kind) { + case 'component': { + // Component context is currently valuated with the cell context. Since it's reference + // shouldn't change, we force mark the component as dirty in order to re-evaluate function invocation in view. + // NOTE: this should behave like having a component with ChangeDetectionStrategy.Default + this.view.markAsDirty() + break + } + case 'flexRenderComponent': { + // Given context instance will always have a different reference than the previous one, + // so instead of recreating the entire view, we will only update the current view + if (this.view.eqType(this.content.content)) { + this.view.update(this.content.content) + } + this.view.markAsDirty() + break + } + } + } + + override onDestroy(callback: Function) { + this.view.componentRef.onDestroy(callback) + } +} diff --git a/packages/angular-table/src/index.ts b/packages/angular-table/src/index.ts index 086671e0aa..278239217c 100644 --- a/packages/angular-table/src/index.ts +++ b/packages/angular-table/src/index.ts @@ -14,11 +14,17 @@ export * from '@tanstack/table-core' export { type FlexRenderContent, - FlexRenderComponent, FlexRenderDirective, + FlexRenderDirective as FlexRender, injectFlexRenderContext, + type FlexRenderComponentProps, } from './flex-render' +export { + FlexRenderComponent, + flexRenderComponent, +} from './flex-render/flex-render-component' + export function createAngularTable( options: () => TableOptions ): Table & Signal> { diff --git a/packages/angular-table/src/proxy.ts b/packages/angular-table/src/proxy.ts index 660bb6bc40..80e0fa191a 100644 --- a/packages/angular-table/src/proxy.ts +++ b/packages/angular-table/src/proxy.ts @@ -23,8 +23,11 @@ export function proxifyTable( */ if ( property.startsWith('get') && - !property.endsWith('Handler') && - !property.endsWith('Model') + !property.endsWith('Handler') + // e.g. getCoreRowModel, getSelectedRowModel etc. + // We need that after a signal change even `rowModel` may mark the view as dirty. + // This allows to always get the latest `getContext` value while using flexRender + // && !property.endsWith('Model') ) { const maybeFn = table[property] as Function | never if (typeof maybeFn === 'function') { diff --git a/packages/angular-table/tests/createAngularTable.test.ts b/packages/angular-table/tests/createAngularTable.test.ts index 344cfe2630..9101270afa 100644 --- a/packages/angular-table/tests/createAngularTable.test.ts +++ b/packages/angular-table/tests/createAngularTable.test.ts @@ -1,13 +1,24 @@ -import { describe, expect, test } from 'vitest' +import { describe, expect, test, vi } from 'vitest' import { type ColumnDef, createAngularTable, getCoreRowModel, + type RowSelectionState, type Table, + RowModel, + type PaginationState, + getPaginationRowModel, } from '../src/index' -import { Component, input, isSignal, signal, untracked } from '@angular/core' +import { + Component, + effect, + input, + isSignal, + signal, + untracked, +} from '@angular/core' import { TestBed } from '@angular/core/testing' -import { setSignalInputs } from './test-utils' +import { setFixtureSignalInputs } from './test-utils' describe('createAngularTable', () => { test('should render with required signal inputs', () => { @@ -27,7 +38,7 @@ describe('createAngularTable', () => { } const fixture = TestBed.createComponent(FakeComponent) - setSignalInputs(fixture.componentInstance, { + setFixtureSignalInputs(fixture, { data: [], }) @@ -73,6 +84,53 @@ describe('createAngularTable', () => { const tableProperty = table[name as keyof typeof table] expect(isSignal(tableProperty)).toEqual(expected) }) + + test('Row model is reactive', () => { + const coreRowModelFn = vi.fn<[RowModel]>() + const rowModelFn = vi.fn<[RowModel]>() + const pagination = signal({ + pageSize: 5, + pageIndex: 0, + }) + const data = Array.from({ length: 10 }, (_, i) => ({ + id: String(i), + title: `Title ${i}`, + })) + + TestBed.runInInjectionContext(() => { + const table = createAngularTable(() => ({ + data, + columns: columns, + getCoreRowModel: getCoreRowModel(), + getPaginationRowModel: getPaginationRowModel(), + getRowId: row => row.id, + state: { + pagination: pagination(), + }, + onPaginationChange: updater => { + typeof updater === 'function' + ? pagination.update(updater) + : pagination.set(updater) + }, + })) + + effect(() => coreRowModelFn(table.getCoreRowModel())) + effect(() => rowModelFn(table.getRowModel())) + + TestBed.flushEffects() + + pagination.set({ pageIndex: 0, pageSize: 3 }) + + TestBed.flushEffects() + }) + + expect(coreRowModelFn).toHaveBeenCalledOnce() + expect(coreRowModelFn.mock.calls[0]![0].rows.length).toEqual(10) + + expect(rowModelFn).toHaveBeenCalledTimes(2) + expect(rowModelFn.mock.calls[0]![0].rows.length).toEqual(5) + expect(rowModelFn.mock.calls[1]![0].rows.length).toEqual(3) + }) }) }) @@ -80,7 +138,8 @@ const testShouldBeComputedProperty = ( table: Table, propertyName: string ) => { - if (propertyName.endsWith('Handler') || propertyName.endsWith('Model')) { + if (propertyName.endsWith('Handler')) { + // || propertyName.endsWith('Model')) { return false } diff --git a/packages/angular-table/tests/flex-render-component.test-d.ts b/packages/angular-table/tests/flex-render-component.test-d.ts new file mode 100644 index 0000000000..dca2c7b989 --- /dev/null +++ b/packages/angular-table/tests/flex-render-component.test-d.ts @@ -0,0 +1,27 @@ +import { input } from '@angular/core' +import { test } from 'vitest' +import { flexRenderComponent } from '../src' + +test('Infer component inputs', () => { + class Test { + readonly input1 = input() + } + + // @ts-expect-error Must pass right type as a value + flexRenderComponent(Test, { inputs: { input1: 1 } }) + + // Input is optional so we can skip passing the property + flexRenderComponent(Test, { inputs: {} }) +}) + +test('Options are mandatory when given component has required inputs', () => { + class Test { + readonly input1 = input() + readonly requiredInput1 = input.required() + } + + // @ts-expect-error Required input + flexRenderComponent(Test) + + flexRenderComponent(Test, { inputs: { requiredInput1: 'My value' } }) +}) diff --git a/packages/angular-table/tests/flex-render-table.test.ts b/packages/angular-table/tests/flex-render-table.test.ts new file mode 100644 index 0000000000..6894a86b9f --- /dev/null +++ b/packages/angular-table/tests/flex-render-table.test.ts @@ -0,0 +1,449 @@ +import { + ChangeDetectionStrategy, + Component, + input, + output, + signal, + type TemplateRef, + ViewChild, +} from '@angular/core' +import { + type CellContext, + ColumnDef, + type ExpandedState, + getCoreRowModel, + type TableOptions, + type TableState, +} from '@tanstack/table-core' +import { + createAngularTable, + FlexRender, + flexRenderComponent, + type FlexRenderContent, + injectFlexRenderContext, +} from '../src' +import { TestBed } from '@angular/core/testing' +import { describe, expect, test, vi } from 'vitest' +import { By } from '@angular/platform-browser' + +const defaultData: TestData[] = [{ id: '1', title: 'My title' }] as TestData[] + +const defaultColumns: ColumnDef[] = [ + { + id: 'title', + accessorKey: 'title', + header: 'Title', + cell: props => props.renderValue(), + }, +] + +describe('FlexRenderDirective', () => { + test.each([null, undefined])('Render %s as empty', value => { + const { fixture, dom } = createTestTable(defaultData, [ + { id: 'first_cell', header: 'header', cell: () => value }, + ]) + const row = dom.getBodyRow(0)! + const firstCell = row.querySelector('td') + + expect(firstCell!.matches(':empty')).toBe(true) + }) + + test.each([ + ['String column via function', () => 'My string'], + ['String column', () => 'My string'], + ['Number column via function', () => 0], + ['Number column', 0], + ])('Render primitive (%s)', (columnName, columnValue) => { + const { fixture, dom } = createTestTable(defaultData, [ + { id: 'first_cell', header: columnName, cell: columnValue as any }, + ]) + const row = dom.getBodyRow(0)! + const firstCell = row.querySelector('td') + + expectPrimitiveValueIs( + firstCell, + String(typeof columnValue === 'function' ? columnValue() : columnValue) + ) + }) + + test('Render TemplateRef', () => { + @Component({ + template: ` + Cell id: {{ context.cell.id }} + `, + standalone: true, + }) + class FakeTemplateRefComponent { + @ViewChild('template', { static: true }) + templateRef!: TemplateRef + } + + const templateRef = TestBed.createComponent(FakeTemplateRefComponent) + .componentInstance.templateRef + + const { dom } = createTestTable(defaultData, [ + { id: 'first_cell', header: 'Header', cell: () => templateRef }, + ]) + + const row = dom.getBodyRow(0)! + const firstCell = row.querySelector('td') + expect(firstCell!.textContent).toEqual('Cell id: 0_first_cell') + }) + + test('Render component with FlexRenderComponent', async () => { + const status = signal('Initial status') + + const { dom } = createTestTable(defaultData, [ + { + id: 'first_cell', + header: 'Status', + cell: () => { + return flexRenderComponent(TestBadgeComponent, { + inputs: { + status: status(), + }, + }) + }, + }, + ]) + + let row = dom.getBodyRow(0)! + let firstCell = row.querySelector('td') + expect(firstCell!.textContent).toEqual('Initial status') + + status.set('Updated status') + dom.clickTriggerCdButton() + + expect(firstCell!.textContent).toEqual('Updated status') + }) + + test('Render content reactively based on signal value', async () => { + const statusComponent = signal>('Initial status') + + const { dom, fixture } = createTestTable(defaultData, [ + { + id: 'first_cell', + header: 'Status', + cell: () => { + return statusComponent() + }, + }, + ]) + + let row = dom.getBodyRow(0)! + let firstCell = row.querySelector('td') + + expect(firstCell!.textContent).toEqual('Initial status') + + statusComponent.set(null) + fixture.detectChanges() + expect(firstCell!.matches(':empty')).toBe(true) + + statusComponent.set( + flexRenderComponent(TestBadgeComponent, { + inputs: { status: 'Updated status' }, + }) + ) + fixture.detectChanges() + const el = firstCell!.firstElementChild as HTMLElement + expect(el!.tagName).toEqual('APP-TEST-BADGE') + expect(el.textContent).toEqual('Updated status') + }) + + test('Cell content always get the latest context value', async () => { + const contextCaptor = vi.fn() + + const tableState = signal>({ + rowSelection: {}, + }) + + @Component({ + template: ``, + }) + class EmptyCell {} + + const { dom, fixture } = createTestTable( + defaultData, + [ + { + id: 'cell', + header: 'Header', + cell: context => { + contextCaptor(context) + return flexRenderComponent(EmptyCell) + }, + }, + ], + () => ({ + state: tableState(), + onStateChange: updater => { + return typeof updater === 'function' + ? tableState.update(updater as any) + : tableState.set(updater) + }, + }) + ) + + const latestCall = () => + contextCaptor.mock.lastCall[0] as CellContext + // TODO: As a perf improvement, check in a future if we can avoid evaluating the cell twice during the first render. + // This is caused due to the registration of the initial effect and the first #getContentValue() to detect the + // type of content to render. + expect(contextCaptor).toHaveBeenCalledTimes(2) + + expect(latestCall().row.getIsExpanded()).toEqual(false) + expect(latestCall().row.getIsSelected()).toEqual(false) + + fixture.componentInstance.table.getRow('0').toggleSelected(true) + dom.clickTriggerCdButton2() + expect(contextCaptor).toHaveBeenCalledTimes(3) + expect(latestCall().row.getIsSelected()).toEqual(true) + + fixture.componentInstance.table.getRow('0').toggleSelected(false) + fixture.componentInstance.table.getRow('0').toggleExpanded(true) + dom.clickTriggerCdButton2() + expect(contextCaptor).toHaveBeenCalledTimes(4) + expect(latestCall().row.getIsSelected()).toEqual(false) + expect(latestCall().row.getIsExpanded()).toEqual(true) + }) + + test('Support cell with component output', async () => { + const columns = [ + { + id: 'expand', + header: 'Expand', + cell: ({ row }) => { + return flexRenderComponent(ExpandCell, { + inputs: { expanded: row.getIsExpanded() }, + outputs: { toggleExpand: () => row.toggleExpanded() }, + }) + }, + }, + ] satisfies ColumnDef[] + + @Component({ + selector: 'expand-cell', + template: ` + + `, + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + }) + class ExpandCell { + readonly expanded = input(false) + readonly toggleExpand = output() + } + + @Component({ + template: ` + + + @for (row of table.getRowModel().rows; track row.id) { + + @for (cell of row.getVisibleCells(); track cell.id) { + + } + + } + +
+ + + +
+ `, + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + selector: 'app-table-test', + imports: [FlexRender], + }) + class TestComponent { + readonly expandState = signal({}) + + readonly table = createAngularTable(() => { + return { + columns: columns, + data: defaultData, + getCoreRowModel: getCoreRowModel(), + state: { expanded: this.expandState() }, + onExpandedChange: updaterOrValue => { + typeof updaterOrValue === 'function' + ? this.expandState.update(updaterOrValue) + : this.expandState.set(updaterOrValue) + }, + } + }) + } + const fixture = TestBed.createComponent(TestComponent) + fixture.detectChanges() + + const expandCell = fixture.debugElement.query(By.directive(ExpandCell)) + expect(fixture.componentInstance.expandState()).toEqual({}) + expect(expandCell.componentInstance.expanded()).toEqual(false) + + const buttonEl = expandCell.query(By.css('button')) + expect(buttonEl.nativeElement.innerHTML).toEqual(' Not expanded ') + buttonEl.triggerEventHandler('click') + + expect(fixture.componentInstance.expandState()).toEqual({ + '0': true, + }) + fixture.detectChanges() + expect(buttonEl.nativeElement.innerHTML).toEqual(' Expanded ') + }) +}) + +function expectPrimitiveValueIs( + cell: HTMLTableCellElement | null, + value: unknown +) { + expect(cell).not.toBeNull() + expect(cell!.matches(':empty')).toBe(false) + const span = cell!.querySelector('span')! + expect(span).toBeDefined() + expect(span.innerHTML).toEqual(value) +} + +type TestData = { id: string; title: string } + +export function createTestTable( + data: TestData[], + columns: ColumnDef[], + optionsFn?: () => Partial> +) { + @Component({ + template: ` + + + @for (headerGroup of table.getHeaderGroups(); track headerGroup.id) { + + @for (header of headerGroup.headers; track header.id) { + @if (!header.isPlaceholder) { + + } + } + + } + + + @for (row of table.getRowModel().rows; track row.id) { + + @for (cell of row.getVisibleCells(); track cell.id) { + + } + + } + +
+ + + +
+ + + +
+ + + + + + {{ count() }} + `, + changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + selector: 'app-table-test', + imports: [FlexRender], + }) + class TestComponent { + readonly columns = input[]>(columns) + readonly data = input(data) + + readonly count = signal(0) + + readonly table = createAngularTable(() => { + return { + ...(optionsFn?.() ?? {}), + columns: this.columns(), + data: this.data(), + getCoreRowModel: getCoreRowModel(), + } + }) + } + + const fixture = TestBed.createComponent(TestComponent) + + fixture.detectChanges() + + return { + fixture, + dom: { + clickTriggerCdButton() { + const btn = fixture.debugElement.query(By.css('button')) + btn.triggerEventHandler('click', null) + fixture.detectChanges() + }, + clickTriggerCdButton2() { + const btn = fixture.debugElement.queryAll(By.css('button'))[1]! + btn.triggerEventHandler('click', null) + fixture.detectChanges() + }, + getTable() { + return fixture.nativeElement.querySelector('table') as HTMLTableElement + }, + getHeader() { + return this.getTable().querySelector('thead') as HTMLTableSectionElement + }, + getHeaderRow() { + return this.getHeader().querySelector('tr') as HTMLTableRowElement + }, + getBody() { + return this.getTable().querySelector('tbody') as HTMLTableSectionElement + }, + getBodyRow(index: number) { + return this.getBody().rows.item(index) + }, + }, + } +} + +@Component({ + selector: 'app-test-badge', + template: `{{ status() }} `, + standalone: true, + changeDetection: ChangeDetectionStrategy.OnPush, +}) +class TestBadgeComponent { + readonly context = injectFlexRenderContext>() + + readonly status = input.required() +} diff --git a/packages/angular-table/tests/flex-render.test.ts b/packages/angular-table/tests/flex-render.test.ts index 2cb4ecde82..e5f49ecae6 100644 --- a/packages/angular-table/tests/flex-render.test.ts +++ b/packages/angular-table/tests/flex-render.test.ts @@ -1,13 +1,22 @@ -import { Component, ViewChild, input, type TemplateRef } from '@angular/core' +import { + Component, + ViewChild, + input, + type TemplateRef, + effect, +} from '@angular/core' import { TestBed, type ComponentFixture } from '@angular/core/testing' import { createColumnHelper } from '@tanstack/table-core' import { describe, expect, test } from 'vitest' import { - FlexRenderComponent, FlexRenderDirective, injectFlexRenderContext, } from '../src/flex-render' import { setFixtureSignalInput, setFixtureSignalInputs } from './test-utils' +import { + flexRenderComponent, + FlexRenderComponent, +} from '../src/flex-render/flex-render-component' interface Data { id: string @@ -108,7 +117,7 @@ describe('FlexRenderDirective', () => { const fixture = TestBed.createComponent(TestRenderComponent) setFixtureSignalInputs(fixture, { - content: () => new FlexRenderComponent(FakeComponent), + content: () => flexRenderComponent(FakeComponent), context: { property: 'Context value', }, @@ -124,13 +133,15 @@ describe('FlexRenderDirective', () => { // Skip for now, test framework (using ComponentRef.setInput) cannot recognize signal inputs // as component inputs - test.skip('should render custom components', () => { + test('should render custom components', () => { @Component({ template: `{{ row().property }}`, standalone: true, }) class FakeComponent { row = input.required<{ property: string }>() + + constructor() {} } const fixture = TestBed.createComponent(TestRenderComponent) diff --git a/packages/angular-table/tests/test-setup.ts b/packages/angular-table/tests/test-setup.ts index 8bd07572e8..79d7ec4fa9 100644 --- a/packages/angular-table/tests/test-setup.ts +++ b/packages/angular-table/tests/test-setup.ts @@ -1,4 +1,4 @@ -import '@analogjs/vite-plugin-angular/setup-vitest' +import '@analogjs/vitest-angular/setup-zone' import '@testing-library/jest-dom/vitest' import { diff --git a/packages/angular-table/tests/test-utils.ts b/packages/angular-table/tests/test-utils.ts index cfff0e7e69..11bb5fd858 100644 --- a/packages/angular-table/tests/test-utils.ts +++ b/packages/angular-table/tests/test-utils.ts @@ -8,27 +8,14 @@ type ToSignalInputUpdatableMap = { : never]: T[K] extends InputSignal ? Value : never } -/** - * Set required signal input value to component fixture - * @see https://github.com/angular/angular/issues/54013 - */ -export function setSignalInputs>( - component: T, - inputs: ToSignalInputUpdatableMap -) { - for (const inputKey in inputs) { - if (componentHasSignalInputProperty(component, inputKey)) { - signalSetFn(component[inputKey][SIGNAL], inputs[inputKey]) - } - } -} - export function setFixtureSignalInputs>( componentFixture: ComponentFixture, inputs: ToSignalInputUpdatableMap, options: { detectChanges: boolean } = { detectChanges: true } ) { - setSignalInputs(componentFixture.componentInstance, inputs) + for (const inputKey in inputs) { + componentFixture.componentRef.setInput(inputKey, inputs[inputKey]) + } if (options.detectChanges) { componentFixture.detectChanges() } @@ -43,7 +30,7 @@ export function setFixtureSignalInput< inputName: InputName, value: InputMaps[InputName] ) { - setSignalInputs(componentFixture.componentInstance, { + setFixtureSignalInputs(componentFixture, { [inputName]: value, } as ToSignalInputUpdatableMap) } diff --git a/packages/angular-table/tsconfig.test.json b/packages/angular-table/tsconfig.test.json new file mode 100644 index 0000000000..caf761f734 --- /dev/null +++ b/packages/angular-table/tsconfig.test.json @@ -0,0 +1,30 @@ +{ + "compilerOptions": { + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "esModuleInterop": true, + "sourceMap": true, + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "ES2015", + "module": "ES2022", + "useDefineForClassFields": false, + "lib": ["ES2022", "dom"], + "types": ["vitest/globals"] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + }, + "include": ["src", "tests"] +} diff --git a/packages/angular-table/vitest.config.ts b/packages/angular-table/vitest.config.ts index 523b22e583..67bd4e6c7f 100644 --- a/packages/angular-table/vitest.config.ts +++ b/packages/angular-table/vitest.config.ts @@ -1,13 +1,23 @@ import { defineConfig } from 'vitest/config' import packageJson from './package.json' +import angular from '@analogjs/vite-plugin-angular' +import path from 'node:path' + +const angularPlugin = angular({ tsconfig: 'tsconfig.test.json', jit: true }) export default defineConfig({ + plugins: [ + // @ts-expect-error Fix types + angularPlugin, + ], test: { name: packageJson.name, - dir: './tests', watch: false, + pool: 'threads', environment: 'jsdom', setupFiles: ['./tests/test-setup.ts'], globals: true, + reporters: 'default', + disableConsoleIntercept: true, }, }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cf00fbd5ab..1bc8e40335 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2975,8 +2975,11 @@ importers: version: 2.6.3 devDependencies: '@analogjs/vite-plugin-angular': - specifier: ^1.3.1 - version: 1.5.0(@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(@types/express@4.17.21)(@types/node@20.14.9)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(tslib@2.6.3)(typescript@5.6.2))(typescript@5.6.2))(@ngtools/webpack@17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(typescript@5.6.2)(webpack@5.90.3(esbuild@0.21.5))) + specifier: ^1.11.0 + version: 1.11.0(@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(@types/node@20.14.9)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(tslib@2.6.3)(typescript@5.4.5))(typescript@5.4.5)) + '@analogjs/vitest-angular': + specifier: ^1.11.0 + version: 1.11.0(@analogjs/vite-plugin-angular@1.11.0(@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(@types/node@20.14.9)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(tslib@2.6.3)(typescript@5.4.5))(typescript@5.4.5)))(vitest@1.6.0(@types/node@20.14.9)(jsdom@24.1.0)(less@4.2.0)(sass@1.77.6)(terser@5.31.1)) '@angular/core': specifier: ^17.3.9 version: 17.3.11(rxjs@7.8.1)(zone.js@0.14.7) @@ -2988,7 +2991,13 @@ importers: version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))) ng-packagr: specifier: ^17.3.0 - version: 17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(tslib@2.6.3)(typescript@5.6.2) + version: 17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(tslib@2.6.3)(typescript@5.4.5) + typescript: + specifier: 5.4.5 + version: 5.4.5 + vitest: + specifier: ^1.6.0 + version: 1.6.0(@types/node@20.14.9)(jsdom@24.1.0)(less@4.2.0)(sass@1.77.6)(terser@5.31.1) packages/lit-table: dependencies: @@ -3078,7 +3087,7 @@ importers: devDependencies: vue: specifier: ^3.4.31 - version: 3.4.31(typescript@5.6.2) + version: 3.4.31(typescript@5.4.5) packages: @@ -3089,11 +3098,23 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@analogjs/vite-plugin-angular@1.5.0': - resolution: {integrity: sha512-e88LyREExpKc6KgpRUcKu8JJO0k6ZVDHYzsKEzRVxbz34e8D3LTGJxYAoiW6ucxW4irKbhHZlySll5+cdtvfXA==} + '@analogjs/vite-plugin-angular@1.11.0': + resolution: {integrity: sha512-18HSwOAVFQjwwRQPq9+duOoubuiut0INo55h0gV3v2TWS+tAP2wXP8SPyAG99P3ySNQB7zMUYE8mVsqLM+8bDA==} peerDependencies: - '@angular-devkit/build-angular': ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 - '@ngtools/webpack': ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + '@angular-devkit/build-angular': ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + '@angular/build': ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@angular-devkit/build-angular': + optional: true + '@angular/build': + optional: true + + '@analogjs/vitest-angular@1.11.0': + resolution: {integrity: sha512-ZY0AOJfTV/eIOkx3QLCF0iOUnGfYNGpf45kVVrOcuam2II6w6YcgsqpRxDIR66wXi3gbvIxJzwB05v0Hc4+Gkw==} + peerDependencies: + '@analogjs/vite-plugin-angular': '*' + '@angular-devkit/architect': ^0.1500.0 || ^0.1600.0 || ^0.1700.0 || ^0.1800.0 || ^0.1900.0 || next + vitest: ^1.3.1 || ^2.0.0 '@angular-devkit/architect@0.1703.8': resolution: {integrity: sha512-lKxwG4/QABXZvJpqeSIn/kAwnY6MM9HdHZUV+o5o3UiTi+vO8rZApG4CCaITH3Bxebm7Nam7Xbk8RuukC5rq6g==} @@ -9835,11 +9856,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@5.6.2: - resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} - engines: {node: '>=14.17'} - hasBin: true - ua-parser-js@0.7.38: resolution: {integrity: sha512-fYmIy7fKTSFAhG3fuPlubeGaMoAd6r0rSnfEsO5nEY55i26KSLt9EH7PLQiiqPUhNqYIJvSkTy1oArIcXAbPbA==} @@ -9901,6 +9917,9 @@ packages: resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -9970,6 +9989,12 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + vite-node@1.6.0: resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -10401,11 +10426,17 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@analogjs/vite-plugin-angular@1.5.0(@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(@types/express@4.17.21)(@types/node@20.14.9)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(tslib@2.6.3)(typescript@5.6.2))(typescript@5.6.2))(@ngtools/webpack@17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(typescript@5.6.2)(webpack@5.90.3(esbuild@0.21.5)))': + '@analogjs/vite-plugin-angular@1.11.0(@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(@types/node@20.14.9)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(tslib@2.6.3)(typescript@5.4.5))(typescript@5.4.5))': dependencies: - '@angular-devkit/build-angular': 17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(@types/express@4.17.21)(@types/node@20.14.9)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(tslib@2.6.3)(typescript@5.6.2))(typescript@5.6.2) - '@ngtools/webpack': 17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(typescript@5.6.2)(webpack@5.90.3(esbuild@0.21.5)) ts-morph: 21.0.1 + vfile: 6.0.3 + optionalDependencies: + '@angular-devkit/build-angular': 17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.14.9)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(tslib@2.6.3)(typescript@5.4.5))(typescript@5.4.5) + + '@analogjs/vitest-angular@1.11.0(@analogjs/vite-plugin-angular@1.11.0(@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(@types/node@20.14.9)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(tslib@2.6.3)(typescript@5.4.5))(typescript@5.4.5)))(vitest@1.6.0(@types/node@20.14.9)(jsdom@24.1.0)(less@4.2.0)(sass@1.77.6)(terser@5.31.1))': + dependencies: + '@analogjs/vite-plugin-angular': 1.11.0(@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(@types/node@20.14.9)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(tslib@2.6.3)(typescript@5.4.5))(typescript@5.4.5)) + vitest: 1.6.0(@types/node@20.14.9)(jsdom@24.1.0)(less@4.2.0)(sass@1.77.6)(terser@5.31.1) '@angular-devkit/architect@0.1703.8(chokidar@3.6.0)': dependencies: @@ -10418,7 +10449,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.1703.8(chokidar@3.6.0) - '@angular-devkit/build-webpack': 0.1703.8(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.21.5)))(webpack@5.90.3(esbuild@0.21.5)) + '@angular-devkit/build-webpack': 0.1703.8(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.20.1)))(webpack@5.90.3(esbuild@0.20.1)) '@angular-devkit/core': 17.3.8(chokidar@3.6.0) '@angular/compiler-cli': 17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5) '@babel/core': 7.24.0 @@ -10435,12 +10466,12 @@ snapshots: '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.1.7(@types/node@20.14.9)(less@4.2.0)(sass@1.71.1)(terser@5.29.1)) ansi-colors: 4.1.3 autoprefixer: 10.4.18(postcss@8.4.35) - babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.90.3(esbuild@0.21.5)) + babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.90.3(esbuild@0.20.1)) babel-plugin-istanbul: 6.1.1 browserslist: 4.23.1 - copy-webpack-plugin: 11.0.0(webpack@5.90.3(esbuild@0.21.5)) + copy-webpack-plugin: 11.0.0(webpack@5.90.3(esbuild@0.20.1)) critters: 0.0.22 - css-loader: 6.10.0(webpack@5.90.3(esbuild@0.21.5)) + css-loader: 6.10.0(webpack@5.90.3(esbuild@0.20.1)) esbuild-wasm: 0.20.1 fast-glob: 3.3.2 http-proxy-middleware: 2.0.6(@types/express@4.17.21) @@ -10449,11 +10480,11 @@ snapshots: jsonc-parser: 3.2.1 karma-source-map-support: 1.4.0 less: 4.2.0 - less-loader: 11.1.0(less@4.2.0)(webpack@5.90.3(esbuild@0.21.5)) - license-webpack-plugin: 4.0.2(webpack@5.90.3(esbuild@0.21.5)) + less-loader: 11.1.0(less@4.2.0)(webpack@5.90.3(esbuild@0.20.1)) + license-webpack-plugin: 4.0.2(webpack@5.90.3(esbuild@0.20.1)) loader-utils: 3.2.1 magic-string: 0.30.8 - mini-css-extract-plugin: 2.8.1(webpack@5.90.3(esbuild@0.21.5)) + mini-css-extract-plugin: 2.8.1(webpack@5.90.3(esbuild@0.20.1)) mrmime: 2.0.0 open: 8.4.2 ora: 5.4.1 @@ -10465,9 +10496,9 @@ snapshots: resolve-url-loader: 5.0.0 rxjs: 7.8.1 sass: 1.71.1 - sass-loader: 14.1.1(sass@1.71.1)(webpack@5.90.3(esbuild@0.21.5)) + sass-loader: 14.1.1(sass@1.71.1)(webpack@5.90.3(esbuild@0.20.1)) semver: 7.6.0 - source-map-loader: 5.0.0(webpack@5.90.3(esbuild@0.21.5)) + source-map-loader: 5.0.0(webpack@5.90.3(esbuild@0.20.1)) source-map-support: 0.5.21 terser: 5.29.1 tree-kill: 1.2.2 @@ -10477,10 +10508,10 @@ snapshots: vite: 5.1.7(@types/node@20.14.9)(less@4.2.0)(sass@1.71.1)(terser@5.29.1) watchpack: 2.4.0 webpack: 5.90.3(esbuild@0.21.5) - webpack-dev-middleware: 6.1.2(webpack@5.90.3(esbuild@0.21.5)) - webpack-dev-server: 4.15.1(webpack@5.90.3(esbuild@0.21.5)) + webpack-dev-middleware: 6.1.2(webpack@5.90.3(esbuild@0.20.1)) + webpack-dev-server: 4.15.1(webpack@5.90.3(esbuild@0.20.1)) webpack-merge: 5.10.0 - webpack-subresource-integrity: 5.1.0(webpack@5.90.3(esbuild@0.21.5)) + webpack-subresource-integrity: 5.1.0(webpack@5.90.3(esbuild@0.20.1)) optionalDependencies: esbuild: 0.20.1 karma: 6.4.3 @@ -10504,102 +10535,12 @@ snapshots: - utf-8-validate - webpack-cli - '@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(@types/express@4.17.21)(@types/node@20.14.9)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(tslib@2.6.3)(typescript@5.6.2))(typescript@5.6.2)': + '@angular-devkit/build-webpack@0.1703.8(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.20.1)))(webpack@5.90.3(esbuild@0.20.1))': dependencies: - '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.1703.8(chokidar@3.6.0) - '@angular-devkit/build-webpack': 0.1703.8(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.21.5)))(webpack@5.90.3(esbuild@0.21.5)) - '@angular-devkit/core': 17.3.8(chokidar@3.6.0) - '@angular/compiler-cli': 17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2) - '@babel/core': 7.24.0 - '@babel/generator': 7.23.6 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-runtime': 7.24.0(@babel/core@7.24.0) - '@babel/preset-env': 7.24.0(@babel/core@7.24.0) - '@babel/runtime': 7.24.0 - '@discoveryjs/json-ext': 0.5.7 - '@ngtools/webpack': 17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(typescript@5.6.2)(webpack@5.90.3(esbuild@0.21.5)) - '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.1.7(@types/node@20.14.9)(less@4.2.0)(sass@1.71.1)(terser@5.29.1)) - ansi-colors: 4.1.3 - autoprefixer: 10.4.18(postcss@8.4.35) - babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.90.3(esbuild@0.21.5)) - babel-plugin-istanbul: 6.1.1 - browserslist: 4.23.1 - copy-webpack-plugin: 11.0.0(webpack@5.90.3(esbuild@0.21.5)) - critters: 0.0.22 - css-loader: 6.10.0(webpack@5.90.3(esbuild@0.21.5)) - esbuild-wasm: 0.20.1 - fast-glob: 3.3.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.21) - https-proxy-agent: 7.0.4 - inquirer: 9.2.15 - jsonc-parser: 3.2.1 - karma-source-map-support: 1.4.0 - less: 4.2.0 - less-loader: 11.1.0(less@4.2.0)(webpack@5.90.3(esbuild@0.21.5)) - license-webpack-plugin: 4.0.2(webpack@5.90.3(esbuild@0.21.5)) - loader-utils: 3.2.1 - magic-string: 0.30.8 - mini-css-extract-plugin: 2.8.1(webpack@5.90.3(esbuild@0.21.5)) - mrmime: 2.0.0 - open: 8.4.2 - ora: 5.4.1 - parse5-html-rewriting-stream: 7.0.0 - picomatch: 4.0.1 - piscina: 4.4.0 - postcss: 8.4.35 - postcss-loader: 8.1.1(postcss@8.4.35)(typescript@5.6.2)(webpack@5.90.3(esbuild@0.21.5)) - resolve-url-loader: 5.0.0 rxjs: 7.8.1 - sass: 1.71.1 - sass-loader: 14.1.1(sass@1.71.1)(webpack@5.90.3(esbuild@0.21.5)) - semver: 7.6.0 - source-map-loader: 5.0.0(webpack@5.90.3(esbuild@0.21.5)) - source-map-support: 0.5.21 - terser: 5.29.1 - tree-kill: 1.2.2 - tslib: 2.6.2 - typescript: 5.6.2 - undici: 6.11.1 - vite: 5.1.7(@types/node@20.14.9)(less@4.2.0)(sass@1.71.1)(terser@5.29.1) - watchpack: 2.4.0 webpack: 5.90.3(esbuild@0.21.5) - webpack-dev-middleware: 6.1.2(webpack@5.90.3(esbuild@0.21.5)) - webpack-dev-server: 4.15.1(webpack@5.90.3(esbuild@0.21.5)) - webpack-merge: 5.10.0 - webpack-subresource-integrity: 5.1.0(webpack@5.90.3(esbuild@0.21.5)) - optionalDependencies: - esbuild: 0.20.1 - karma: 6.4.3 - ng-packagr: 17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(tslib@2.6.3)(typescript@5.6.2) - transitivePeerDependencies: - - '@rspack/core' - - '@swc/core' - - '@types/express' - - '@types/node' - - bufferutil - - chokidar - - debug - - html-webpack-plugin - - lightningcss - - node-sass - - sass-embedded - - stylus - - sugarss - - supports-color - - uglify-js - - utf-8-validate - - webpack-cli - - '@angular-devkit/build-webpack@0.1703.8(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.21.5)))(webpack@5.90.3(esbuild@0.21.5))': - dependencies: - '@angular-devkit/architect': 0.1703.8(chokidar@3.6.0) - rxjs: 7.8.1 - webpack: 5.90.3(esbuild@0.21.5) - webpack-dev-server: 4.15.1(webpack@5.90.3(esbuild@0.21.5)) + webpack-dev-server: 4.15.1(webpack@5.90.3(esbuild@0.20.1)) transitivePeerDependencies: - chokidar @@ -10675,21 +10616,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2)': - dependencies: - '@angular/compiler': 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) - '@babel/core': 7.23.9 - '@jridgewell/sourcemap-codec': 1.5.0 - chokidar: 3.6.0 - convert-source-map: 1.9.0 - reflect-metadata: 0.2.2 - semver: 7.6.3 - tslib: 2.6.3 - typescript: 5.6.2 - yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - '@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))': dependencies: tslib: 2.6.3 @@ -13012,12 +12938,6 @@ snapshots: typescript: 5.4.5 webpack: 5.90.3(esbuild@0.21.5) - '@ngtools/webpack@17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(typescript@5.6.2)(webpack@5.90.3(esbuild@0.21.5))': - dependencies: - '@angular/compiler-cli': 17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2) - typescript: 5.6.2 - webpack: 5.90.3(esbuild@0.21.5) - '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -14205,12 +14125,6 @@ snapshots: '@vue/shared': 3.4.31 vue: 3.4.31(typescript@5.4.5) - '@vue/server-renderer@3.4.31(vue@3.4.31(typescript@5.6.2))': - dependencies: - '@vue/compiler-ssr': 3.4.31 - '@vue/shared': 3.4.31 - vue: 3.4.31(typescript@5.6.2) - '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.4.5))': dependencies: '@vue/compiler-ssr': 3.5.13 @@ -14507,7 +14421,7 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@9.1.3(@babel/core@7.24.0)(webpack@5.90.3(esbuild@0.21.5)): + babel-loader@9.1.3(@babel/core@7.24.0)(webpack@5.90.3(esbuild@0.20.1)): dependencies: '@babel/core': 7.24.0 find-cache-dir: 4.0.0 @@ -14942,7 +14856,7 @@ snapshots: dependencies: is-what: 3.14.1 - copy-webpack-plugin@11.0.0(webpack@5.90.3(esbuild@0.21.5)): + copy-webpack-plugin@11.0.0(webpack@5.90.3(esbuild@0.20.1)): dependencies: fast-glob: 3.3.2 glob-parent: 6.0.2 @@ -14980,15 +14894,6 @@ snapshots: optionalDependencies: typescript: 5.4.5 - cosmiconfig@9.0.0(typescript@5.6.2): - dependencies: - env-paths: 2.2.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - optionalDependencies: - typescript: 5.6.2 - critters@0.0.22: dependencies: chalk: 4.1.2 @@ -15011,7 +14916,7 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - css-loader@6.10.0(webpack@5.90.3(esbuild@0.21.5)): + css-loader@6.10.0(webpack@5.90.3(esbuild@0.20.1)): dependencies: icss-utils: 5.1.0(postcss@8.4.39) postcss: 8.4.39 @@ -16491,7 +16396,7 @@ snapshots: picocolors: 1.0.1 shell-quote: 1.8.1 - less-loader@11.1.0(less@4.2.0)(webpack@5.90.3(esbuild@0.21.5)): + less-loader@11.1.0(less@4.2.0)(webpack@5.90.3(esbuild@0.20.1)): dependencies: klona: 2.0.6 less: 4.2.0 @@ -16516,7 +16421,7 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - license-webpack-plugin@4.0.2(webpack@5.90.3(esbuild@0.21.5)): + license-webpack-plugin@4.0.2(webpack@5.90.3(esbuild@0.20.1)): dependencies: webpack-sources: 3.2.3 optionalDependencies: @@ -16744,7 +16649,7 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.8.1(webpack@5.90.3(esbuild@0.21.5)): + mini-css-extract-plugin@2.8.1(webpack@5.90.3(esbuild@0.20.1)): dependencies: schema-utils: 4.2.0 tapable: 2.2.1 @@ -16902,38 +16807,6 @@ snapshots: optionalDependencies: esbuild: 0.20.2 rollup: 4.18.0 - optional: true - - ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2))(tslib@2.6.3)(typescript@5.6.2): - dependencies: - '@angular/compiler-cli': 17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.6.2) - '@rollup/plugin-json': 6.1.0(rollup@4.18.0) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.18.0) - '@rollup/wasm-node': 4.18.0 - ajv: 8.16.0 - ansi-colors: 4.1.3 - browserslist: 4.23.1 - cacache: 18.0.3 - chokidar: 3.6.0 - commander: 12.1.0 - convert-source-map: 2.0.0 - dependency-graph: 1.0.0 - esbuild-wasm: 0.20.2 - fast-glob: 3.3.2 - find-cache-dir: 3.3.2 - injection-js: 2.4.0 - jsonc-parser: 3.3.1 - less: 4.2.0 - ora: 5.4.1 - piscina: 4.6.1 - postcss: 8.4.39 - rxjs: 7.8.1 - sass: 1.77.6 - tslib: 2.6.3 - typescript: 5.6.2 - optionalDependencies: - esbuild: 0.20.2 - rollup: 4.18.0 nice-napi@1.0.2: dependencies: @@ -17373,17 +17246,6 @@ snapshots: transitivePeerDependencies: - typescript - postcss-loader@8.1.1(postcss@8.4.35)(typescript@5.6.2)(webpack@5.90.3(esbuild@0.21.5)): - dependencies: - cosmiconfig: 9.0.0(typescript@5.6.2) - jiti: 1.21.6 - postcss: 8.4.35 - semver: 7.6.3 - optionalDependencies: - webpack: 5.90.3(esbuild@0.21.5) - transitivePeerDependencies: - - typescript - postcss-media-query-parser@0.2.3: {} postcss-modules-extract-imports@3.1.0(postcss@8.4.39): @@ -17842,7 +17704,7 @@ snapshots: mkdirp: 0.5.6 rimraf: 2.7.1 - sass-loader@14.1.1(sass@1.71.1)(webpack@5.90.3(esbuild@0.21.5)): + sass-loader@14.1.1(sass@1.71.1)(webpack@5.90.3(esbuild@0.20.1)): dependencies: neo-async: 2.6.2 optionalDependencies: @@ -18193,7 +18055,7 @@ snapshots: source-map-js@1.2.1: {} - source-map-loader@5.0.0(webpack@5.90.3(esbuild@0.21.5)): + source-map-loader@5.0.0(webpack@5.90.3(esbuild@0.20.1)): dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.0 @@ -18605,8 +18467,6 @@ snapshots: typescript@5.4.5: {} - typescript@5.6.2: {} - ua-parser-js@0.7.38: {} uc.micro@2.1.0: {} @@ -18656,6 +18516,10 @@ snapshots: dependencies: imurmurhash: 0.1.4 + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.2 + universalify@0.1.2: {} universalify@0.2.0: {} @@ -18714,6 +18578,16 @@ snapshots: vary@1.1.2: {} + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.2 + vfile-message: 4.0.2 + vite-node@1.6.0(@types/node@20.14.9)(less@4.2.0)(sass@1.77.6)(terser@5.31.1): dependencies: cac: 6.7.14 @@ -18886,16 +18760,6 @@ snapshots: optionalDependencies: typescript: 5.4.5 - vue@3.4.31(typescript@5.6.2): - dependencies: - '@vue/compiler-dom': 3.4.31 - '@vue/compiler-sfc': 3.4.31 - '@vue/runtime-dom': 3.4.31 - '@vue/server-renderer': 3.4.31(vue@3.4.31(typescript@5.6.2)) - '@vue/shared': 3.4.31 - optionalDependencies: - typescript: 5.6.2 - vue@3.5.13(typescript@5.4.5): dependencies: '@vue/compiler-dom': 3.5.13 @@ -18929,7 +18793,7 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@5.3.4(webpack@5.90.3(esbuild@0.21.5)): + webpack-dev-middleware@5.3.4(webpack@5.90.3(esbuild@0.20.1)): dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -18938,7 +18802,7 @@ snapshots: schema-utils: 4.2.0 webpack: 5.90.3(esbuild@0.21.5) - webpack-dev-middleware@6.1.2(webpack@5.90.3(esbuild@0.21.5)): + webpack-dev-middleware@6.1.2(webpack@5.90.3(esbuild@0.20.1)): dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -18948,7 +18812,7 @@ snapshots: optionalDependencies: webpack: 5.90.3(esbuild@0.21.5) - webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.21.5)): + webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.20.1)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -18978,7 +18842,7 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 5.3.4(webpack@5.90.3(esbuild@0.21.5)) + webpack-dev-middleware: 5.3.4(webpack@5.90.3(esbuild@0.20.1)) ws: 8.17.1 optionalDependencies: webpack: 5.90.3(esbuild@0.21.5) @@ -18996,7 +18860,7 @@ snapshots: webpack-sources@3.2.3: {} - webpack-subresource-integrity@5.1.0(webpack@5.90.3(esbuild@0.21.5)): + webpack-subresource-integrity@5.1.0(webpack@5.90.3(esbuild@0.20.1)): dependencies: typed-assert: 1.0.9 webpack: 5.90.3(esbuild@0.21.5) From 0caf6955409de57bed80a0982060b9441e1c9f73 Mon Sep 17 00:00:00 2001 From: Tanner Linsley Date: Mon, 20 Jan 2025 06:11:07 +0000 Subject: [PATCH 02/22] release: v8.21.0 --- examples/angular/basic/package.json | 2 +- examples/angular/column-ordering/package.json | 2 +- .../column-pinning-sticky/package.json | 2 +- examples/angular/column-pinning/package.json | 2 +- .../angular/column-visibility/package.json | 2 +- examples/angular/filters/package.json | 2 +- examples/angular/grouping/package.json | 2 +- .../angular/row-selection-signal/package.json | 2 +- examples/angular/row-selection/package.json | 2 +- examples/angular/signal-input/package.json | 2 +- packages/angular-table/package.json | 2 +- pnpm-lock.yaml | 20 +++++++++---------- 12 files changed, 21 insertions(+), 21 deletions(-) diff --git a/examples/angular/basic/package.json b/examples/angular/basic/package.json index e713398656..a8f70e6cf3 100644 --- a/examples/angular/basic/package.json +++ b/examples/angular/basic/package.json @@ -18,7 +18,7 @@ "@angular/platform-browser": "^17.3.9", "@angular/platform-browser-dynamic": "^17.3.9", "@angular/router": "^17.3.9", - "@tanstack/angular-table": "^8.20.5", + "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" }, diff --git a/examples/angular/column-ordering/package.json b/examples/angular/column-ordering/package.json index 0be40f4c65..73f2b553d4 100644 --- a/examples/angular/column-ordering/package.json +++ b/examples/angular/column-ordering/package.json @@ -18,7 +18,7 @@ "@angular/platform-browser": "^17.3.9", "@angular/platform-browser-dynamic": "^17.3.9", "@faker-js/faker": "^8.4.1", - "@tanstack/angular-table": "^8.20.5", + "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" }, diff --git a/examples/angular/column-pinning-sticky/package.json b/examples/angular/column-pinning-sticky/package.json index ed69d5b3ea..efc3ec6f6f 100644 --- a/examples/angular/column-pinning-sticky/package.json +++ b/examples/angular/column-pinning-sticky/package.json @@ -18,7 +18,7 @@ "@angular/platform-browser": "^17.3.9", "@angular/platform-browser-dynamic": "^17.3.9", "@faker-js/faker": "^8.4.1", - "@tanstack/angular-table": "^8.20.5", + "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" }, diff --git a/examples/angular/column-pinning/package.json b/examples/angular/column-pinning/package.json index 3de8173aaa..af970e6f77 100644 --- a/examples/angular/column-pinning/package.json +++ b/examples/angular/column-pinning/package.json @@ -18,7 +18,7 @@ "@angular/platform-browser": "^17.3.9", "@angular/platform-browser-dynamic": "^17.3.9", "@faker-js/faker": "^8.4.1", - "@tanstack/angular-table": "^8.20.5", + "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" }, diff --git a/examples/angular/column-visibility/package.json b/examples/angular/column-visibility/package.json index 1c0a1d6e24..86e93fa179 100644 --- a/examples/angular/column-visibility/package.json +++ b/examples/angular/column-visibility/package.json @@ -17,7 +17,7 @@ "@angular/forms": "^17.3.9", "@angular/platform-browser": "^17.3.9", "@angular/platform-browser-dynamic": "^17.3.9", - "@tanstack/angular-table": "^8.20.5", + "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" }, diff --git a/examples/angular/filters/package.json b/examples/angular/filters/package.json index 3098179b3e..59bb4900a3 100644 --- a/examples/angular/filters/package.json +++ b/examples/angular/filters/package.json @@ -18,7 +18,7 @@ "@angular/platform-browser": "^17.3.9", "@angular/platform-browser-dynamic": "^17.3.9", "@faker-js/faker": "^8.4.1", - "@tanstack/angular-table": "^8.20.5", + "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", "tslib": "^2.6.2", "zone.js": "~0.14.4" diff --git a/examples/angular/grouping/package.json b/examples/angular/grouping/package.json index ce7b27c37e..13417e0ff8 100644 --- a/examples/angular/grouping/package.json +++ b/examples/angular/grouping/package.json @@ -18,7 +18,7 @@ "@angular/platform-browser": "^17.3.9", "@angular/platform-browser-dynamic": "^17.3.9", "@faker-js/faker": "^8.4.1", - "@tanstack/angular-table": "^8.20.5", + "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" }, diff --git a/examples/angular/row-selection-signal/package.json b/examples/angular/row-selection-signal/package.json index 376d351e36..6e3b6ea1ee 100644 --- a/examples/angular/row-selection-signal/package.json +++ b/examples/angular/row-selection-signal/package.json @@ -18,7 +18,7 @@ "@angular/platform-browser": "^17.3.9", "@angular/platform-browser-dynamic": "^17.3.9", "@faker-js/faker": "^8.4.1", - "@tanstack/angular-table": "^8.20.5", + "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", "tslib": "^2.6.2", "zone.js": "~0.14.4" diff --git a/examples/angular/row-selection/package.json b/examples/angular/row-selection/package.json index da1b83e281..32480773d0 100644 --- a/examples/angular/row-selection/package.json +++ b/examples/angular/row-selection/package.json @@ -18,7 +18,7 @@ "@angular/platform-browser": "^17.3.9", "@angular/platform-browser-dynamic": "^17.3.9", "@faker-js/faker": "^8.4.1", - "@tanstack/angular-table": "^8.20.5", + "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", "tslib": "^2.6.2", "zone.js": "~0.14.4" diff --git a/examples/angular/signal-input/package.json b/examples/angular/signal-input/package.json index dee398f483..06302fad6a 100644 --- a/examples/angular/signal-input/package.json +++ b/examples/angular/signal-input/package.json @@ -17,7 +17,7 @@ "@angular/platform-browser": "^17.3.9", "@angular/platform-browser-dynamic": "^17.3.9", "@faker-js/faker": "^8.4.1", - "@tanstack/angular-table": "^8.20.5", + "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" }, diff --git a/packages/angular-table/package.json b/packages/angular-table/package.json index e457315244..69f170dd6b 100644 --- a/packages/angular-table/package.json +++ b/packages/angular-table/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/angular-table", - "version": "8.20.5", + "version": "8.21.0", "description": "Headless UI for building powerful tables & datagrids for Angular.", "author": "Tanner Linsley", "license": "MIT", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1bc8e40335..80bcb75124 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -126,7 +126,7 @@ importers: specifier: ^17.3.9 version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(rxjs@7.8.1) '@tanstack/angular-table': - specifier: ^8.20.5 + specifier: ^8.21.0 version: link:../../../packages/angular-table rxjs: specifier: ~7.8.1 @@ -199,7 +199,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-table': - specifier: ^8.20.5 + specifier: ^8.21.0 version: link:../../../packages/angular-table rxjs: specifier: ~7.8.1 @@ -272,7 +272,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-table': - specifier: ^8.20.5 + specifier: ^8.21.0 version: link:../../../packages/angular-table rxjs: specifier: ~7.8.1 @@ -345,7 +345,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-table': - specifier: ^8.20.5 + specifier: ^8.21.0 version: link:../../../packages/angular-table rxjs: specifier: ~7.8.1 @@ -415,7 +415,7 @@ importers: specifier: ^17.3.9 version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))) '@tanstack/angular-table': - specifier: ^8.20.5 + specifier: ^8.21.0 version: link:../../../packages/angular-table rxjs: specifier: ~7.8.1 @@ -488,7 +488,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-table': - specifier: ^8.20.5 + specifier: ^8.21.0 version: link:../../../packages/angular-table rxjs: specifier: ~7.8.1 @@ -561,7 +561,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-table': - specifier: ^8.20.5 + specifier: ^8.21.0 version: link:../../../packages/angular-table rxjs: specifier: ~7.8.1 @@ -634,7 +634,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-table': - specifier: ^8.20.5 + specifier: ^8.21.0 version: link:../../../packages/angular-table rxjs: specifier: ~7.8.1 @@ -707,7 +707,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-table': - specifier: ^8.20.5 + specifier: ^8.21.0 version: link:../../../packages/angular-table rxjs: specifier: ~7.8.1 @@ -777,7 +777,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-table': - specifier: ^8.20.5 + specifier: ^8.21.0 version: link:../../../packages/angular-table rxjs: specifier: ~7.8.1 From 0baabdd292ed38fa0af4224b7a460b0fc46d2474 Mon Sep 17 00:00:00 2001 From: Riccardo Perra Date: Tue, 21 Jan 2025 17:53:09 +0100 Subject: [PATCH 03/22] docs(angular): add editable, row-dnd and performant column resizing example (#5881) * add editable cell example * add editable cell example * row dnd exmaple * revert basic * ci: apply automated fixes * column resizing performant example * fix * fix budgets * ci: apply automated fixes * typo --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> --- docs/config.json | 12 + .../.devcontainer/devcontainer.json | 4 + .../column-resizing-performant/.editorconfig | 16 + .../column-resizing-performant/.gitignore | 42 ++ .../column-resizing-performant/README.md | 27 ++ .../column-resizing-performant/angular.json | 83 ++++ .../column-resizing-performant/package.json | 39 ++ .../src/app/app.component.html | 66 ++++ .../src/app/app.component.ts | 122 ++++++ .../src/app/app.config.ts | 5 + .../src/app/makeData.ts | 48 +++ .../src/app/resizable-cell.ts | 35 ++ .../src/assets/.gitkeep | 0 .../src/favicon.ico | Bin 0 -> 15086 bytes .../column-resizing-performant/src/index.html | 14 + .../column-resizing-performant/src/main.ts | 5 + .../src/styles.scss | 74 ++++ .../tsconfig.app.json | 10 + .../column-resizing-performant/tsconfig.json | 31 ++ .../tsconfig.spec.json | 9 + .../editable/.devcontainer/devcontainer.json | 4 + examples/angular/editable/.editorconfig | 16 + examples/angular/editable/.gitignore | 42 ++ examples/angular/editable/README.md | 27 ++ examples/angular/editable/angular.json | 83 ++++ examples/angular/editable/package.json | 39 ++ .../editable/src/app/app.component.html | 106 +++++ .../angular/editable/src/app/app.component.ts | 130 ++++++ .../angular/editable/src/app/app.config.ts | 5 + .../angular/editable/src/app/editable-cell.ts | 30 ++ examples/angular/editable/src/app/makeData.ts | 48 +++ examples/angular/editable/src/assets/.gitkeep | 0 examples/angular/editable/src/favicon.ico | Bin 0 -> 15086 bytes examples/angular/editable/src/index.html | 14 + examples/angular/editable/src/main.ts | 5 + examples/angular/editable/src/styles.scss | 32 ++ examples/angular/editable/tsconfig.app.json | 10 + examples/angular/editable/tsconfig.json | 31 ++ examples/angular/editable/tsconfig.spec.json | 9 + .../row-dnd/.devcontainer/devcontainer.json | 4 + examples/angular/row-dnd/.editorconfig | 16 + examples/angular/row-dnd/.gitignore | 42 ++ examples/angular/row-dnd/README.md | 27 ++ examples/angular/row-dnd/angular.json | 83 ++++ examples/angular/row-dnd/package.json | 40 ++ .../angular/row-dnd/src/app/app.component.css | 23 ++ .../row-dnd/src/app/app.component.html | 55 +++ .../angular/row-dnd/src/app/app.component.ts | 93 +++++ .../angular/row-dnd/src/app/app.config.ts | 5 + .../row-dnd/src/app/drag-handle-cell.ts | 20 + examples/angular/row-dnd/src/app/makeData.ts | 50 +++ examples/angular/row-dnd/src/assets/.gitkeep | 0 examples/angular/row-dnd/src/favicon.ico | Bin 0 -> 15086 bytes examples/angular/row-dnd/src/index.html | 14 + examples/angular/row-dnd/src/main.ts | 5 + examples/angular/row-dnd/src/styles.scss | 41 ++ examples/angular/row-dnd/tsconfig.app.json | 10 + examples/angular/row-dnd/tsconfig.json | 31 ++ examples/angular/row-dnd/tsconfig.spec.json | 9 + pnpm-lock.yaml | 373 ++++++++++++++---- 60 files changed, 2147 insertions(+), 67 deletions(-) create mode 100644 examples/angular/column-resizing-performant/.devcontainer/devcontainer.json create mode 100644 examples/angular/column-resizing-performant/.editorconfig create mode 100644 examples/angular/column-resizing-performant/.gitignore create mode 100644 examples/angular/column-resizing-performant/README.md create mode 100644 examples/angular/column-resizing-performant/angular.json create mode 100644 examples/angular/column-resizing-performant/package.json create mode 100644 examples/angular/column-resizing-performant/src/app/app.component.html create mode 100644 examples/angular/column-resizing-performant/src/app/app.component.ts create mode 100644 examples/angular/column-resizing-performant/src/app/app.config.ts create mode 100644 examples/angular/column-resizing-performant/src/app/makeData.ts create mode 100644 examples/angular/column-resizing-performant/src/app/resizable-cell.ts create mode 100644 examples/angular/column-resizing-performant/src/assets/.gitkeep create mode 100644 examples/angular/column-resizing-performant/src/favicon.ico create mode 100644 examples/angular/column-resizing-performant/src/index.html create mode 100644 examples/angular/column-resizing-performant/src/main.ts create mode 100644 examples/angular/column-resizing-performant/src/styles.scss create mode 100644 examples/angular/column-resizing-performant/tsconfig.app.json create mode 100644 examples/angular/column-resizing-performant/tsconfig.json create mode 100644 examples/angular/column-resizing-performant/tsconfig.spec.json create mode 100644 examples/angular/editable/.devcontainer/devcontainer.json create mode 100644 examples/angular/editable/.editorconfig create mode 100644 examples/angular/editable/.gitignore create mode 100644 examples/angular/editable/README.md create mode 100644 examples/angular/editable/angular.json create mode 100644 examples/angular/editable/package.json create mode 100644 examples/angular/editable/src/app/app.component.html create mode 100644 examples/angular/editable/src/app/app.component.ts create mode 100644 examples/angular/editable/src/app/app.config.ts create mode 100644 examples/angular/editable/src/app/editable-cell.ts create mode 100644 examples/angular/editable/src/app/makeData.ts create mode 100644 examples/angular/editable/src/assets/.gitkeep create mode 100644 examples/angular/editable/src/favicon.ico create mode 100644 examples/angular/editable/src/index.html create mode 100644 examples/angular/editable/src/main.ts create mode 100644 examples/angular/editable/src/styles.scss create mode 100644 examples/angular/editable/tsconfig.app.json create mode 100644 examples/angular/editable/tsconfig.json create mode 100644 examples/angular/editable/tsconfig.spec.json create mode 100644 examples/angular/row-dnd/.devcontainer/devcontainer.json create mode 100644 examples/angular/row-dnd/.editorconfig create mode 100644 examples/angular/row-dnd/.gitignore create mode 100644 examples/angular/row-dnd/README.md create mode 100644 examples/angular/row-dnd/angular.json create mode 100644 examples/angular/row-dnd/package.json create mode 100644 examples/angular/row-dnd/src/app/app.component.css create mode 100644 examples/angular/row-dnd/src/app/app.component.html create mode 100644 examples/angular/row-dnd/src/app/app.component.ts create mode 100644 examples/angular/row-dnd/src/app/app.config.ts create mode 100644 examples/angular/row-dnd/src/app/drag-handle-cell.ts create mode 100644 examples/angular/row-dnd/src/app/makeData.ts create mode 100644 examples/angular/row-dnd/src/assets/.gitkeep create mode 100644 examples/angular/row-dnd/src/favicon.ico create mode 100644 examples/angular/row-dnd/src/index.html create mode 100644 examples/angular/row-dnd/src/main.ts create mode 100644 examples/angular/row-dnd/src/styles.scss create mode 100644 examples/angular/row-dnd/tsconfig.app.json create mode 100644 examples/angular/row-dnd/tsconfig.json create mode 100644 examples/angular/row-dnd/tsconfig.spec.json diff --git a/docs/config.json b/docs/config.json index 506f16ab8f..e0da28e51b 100644 --- a/docs/config.json +++ b/docs/config.json @@ -438,6 +438,18 @@ { "to": "framework/angular/examples/signal-input", "label": "Signal Input" + }, + { + "to": "framework/angular/examples/editable", + "label": "Editable data" + }, + { + "to": "framework/angular/examples/row-dnd", + "label": "Row DnD" + }, + { + "to": "framework/angular/examples/column-resizing-performant", + "label": "Performant Column Resizing" } ] }, diff --git a/examples/angular/column-resizing-performant/.devcontainer/devcontainer.json b/examples/angular/column-resizing-performant/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..36f47d8762 --- /dev/null +++ b/examples/angular/column-resizing-performant/.devcontainer/devcontainer.json @@ -0,0 +1,4 @@ +{ + "name": "Node.js", + "image": "mcr.microsoft.com/devcontainers/javascript-node:18" +} diff --git a/examples/angular/column-resizing-performant/.editorconfig b/examples/angular/column-resizing-performant/.editorconfig new file mode 100644 index 0000000000..59d9a3a3e7 --- /dev/null +++ b/examples/angular/column-resizing-performant/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/examples/angular/column-resizing-performant/.gitignore b/examples/angular/column-resizing-performant/.gitignore new file mode 100644 index 0000000000..0711527ef9 --- /dev/null +++ b/examples/angular/column-resizing-performant/.gitignore @@ -0,0 +1,42 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/examples/angular/column-resizing-performant/README.md b/examples/angular/column-resizing-performant/README.md new file mode 100644 index 0000000000..5da97a87d1 --- /dev/null +++ b/examples/angular/column-resizing-performant/README.md @@ -0,0 +1,27 @@ +# Basic + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.1.2. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/examples/angular/column-resizing-performant/angular.json b/examples/angular/column-resizing-performant/angular.json new file mode 100644 index 0000000000..f74e8d69b9 --- /dev/null +++ b/examples/angular/column-resizing-performant/angular.json @@ -0,0 +1,83 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "column-resizing-performant": { + "cli": { + "cache": { + "enabled": false + } + }, + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:application", + "options": { + "outputPath": "dist/column-resizing-performant", + "index": "src/index.html", + "browser": "src/main.ts", + "polyfills": ["zone.js"], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "column-resizing-performant:build:production" + }, + "development": { + "buildTarget": "column-resizing-performant:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "column-resizing-performant:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": ["zone.js", "zone.js/testing"], + "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "scss", + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [] + } + } + } + } + }, + "cli": { + "analytics": false + } +} diff --git a/examples/angular/column-resizing-performant/package.json b/examples/angular/column-resizing-performant/package.json new file mode 100644 index 0000000000..a61a62b8a3 --- /dev/null +++ b/examples/angular/column-resizing-performant/package.json @@ -0,0 +1,39 @@ +{ + "name": "tanstack-table-example-angular-column-resizing-performant", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "^17.3.9", + "@angular/common": "^17.3.9", + "@angular/compiler": "^17.3.9", + "@angular/core": "^17.3.9", + "@angular/forms": "^17.3.9", + "@angular/platform-browser": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.9", + "@angular/router": "^17.3.9", + "@tanstack/angular-table": "^8.21.0", + "rxjs": "~7.8.1", + "zone.js": "~0.14.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^17.3.8", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.9", + "@types/jasmine": "~5.1.4", + "jasmine-core": "~5.1.2", + "karma": "~6.4.3", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.1", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "tslib": "^2.6.2", + "typescript": "5.4.5" + } +} diff --git a/examples/angular/column-resizing-performant/src/app/app.component.html b/examples/angular/column-resizing-performant/src/app/app.component.html new file mode 100644 index 0000000000..e18f52be95 --- /dev/null +++ b/examples/angular/column-resizing-performant/src/app/app.component.html @@ -0,0 +1,66 @@ +
+
+
+    {{ columnSizingDebugInfo() }}
+  
+
+ + ({{ data().length }} rows) + +
+
+
+ @for (headerGroup of table.getHeaderGroups(); track headerGroup.id) { +
+ @for (header of headerGroup.headers; track header.id) { +
+ @if (!header.isPlaceholder) { + +
+
+ } + +
+
+ } +
+ } +
+
+ @for (row of table.getRowModel().rows; track row.id) { + + @for (cell of row.getVisibleCells(); track cell.id) { + + +
+
+ + } + + } +
+
+
+
diff --git a/examples/angular/column-resizing-performant/src/app/app.component.ts b/examples/angular/column-resizing-performant/src/app/app.component.ts new file mode 100644 index 0000000000..43efd47de2 --- /dev/null +++ b/examples/angular/column-resizing-performant/src/app/app.component.ts @@ -0,0 +1,122 @@ +import { + ChangeDetectionStrategy, + Component, + computed, + signal, + untracked, +} from '@angular/core' +import { + ColumnDef, + createAngularTable, + FlexRenderDirective, + getCoreRowModel, +} from '@tanstack/angular-table' +import { makeData, type Person } from './makeData' +import { TableResizableCell, TableResizableHeader } from './resizable-cell' + +const defaultColumns: ColumnDef[] = [ + { + header: 'Name', + footer: props => props.column.id, + columns: [ + { + accessorKey: 'firstName', + cell: info => info.getValue(), + footer: props => props.column.id, + }, + { + accessorFn: row => row.lastName, + id: 'lastName', + cell: info => info.getValue(), + header: () => 'Last Name', + footer: props => props.column.id, + }, + ], + }, + { + header: 'Info', + footer: props => props.column.id, + columns: [ + { + accessorKey: 'age', + header: () => 'Age', + footer: props => props.column.id, + }, + { + accessorKey: 'visits', + header: () => 'Visits', + footer: props => props.column.id, + }, + { + accessorKey: 'status', + header: 'Status', + footer: props => props.column.id, + }, + { + accessorKey: 'progress', + header: 'Profile Progress', + footer: props => props.column.id, + }, + ], + }, +] + +@Component({ + selector: 'app-root', + standalone: true, + imports: [FlexRenderDirective, TableResizableCell, TableResizableHeader], + templateUrl: './app.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class AppComponent { + readonly data = signal(makeData(200)) + + readonly columnSizingInfo = computed( + () => this.table.getState().columnSizingInfo + ) + readonly columnSizing = computed(() => this.table.getState().columnSizing) + + /** + * Instead of calling `column.getSize()` on every render for every header + * and especially every data cell (very expensive), + * we will calculate all column sizes at once at the root table level in a useMemo + * and pass the column sizes down as CSS variables to the element. + */ + readonly columnSizeVars = computed(() => { + void this.columnSizing() + void this.columnSizingInfo() + const headers = untracked(() => this.table.getFlatHeaders()) + const colSizes: { [key: string]: number } = {} + let i = headers.length + while (--i >= 0) { + const header = headers[i]! + colSizes[`--header-${header.id}-size`] = header.getSize() + colSizes[`--col-${header.column.id}-size`] = header.column.getSize() + } + return colSizes + }) + + readonly table = createAngularTable(() => ({ + data: this.data(), + columns: defaultColumns, + columnResizeMode: 'onChange', + getCoreRowModel: getCoreRowModel(), + defaultColumn: { + minSize: 60, + maxSize: 800, + }, + debugTable: true, + debugHeaders: true, + debugColumns: true, + })) + + readonly columnSizingDebugInfo = computed(() => + JSON.stringify( + { + columnSizing: this.table.getState().columnSizing, + }, + null, + 2 + ) + ) +} diff --git a/examples/angular/column-resizing-performant/src/app/app.config.ts b/examples/angular/column-resizing-performant/src/app/app.config.ts new file mode 100644 index 0000000000..f27099f33c --- /dev/null +++ b/examples/angular/column-resizing-performant/src/app/app.config.ts @@ -0,0 +1,5 @@ +import { ApplicationConfig } from '@angular/core' + +export const appConfig: ApplicationConfig = { + providers: [], +} diff --git a/examples/angular/column-resizing-performant/src/app/makeData.ts b/examples/angular/column-resizing-performant/src/app/makeData.ts new file mode 100644 index 0000000000..331dd1eb19 --- /dev/null +++ b/examples/angular/column-resizing-performant/src/app/makeData.ts @@ -0,0 +1,48 @@ +import { faker } from '@faker-js/faker' + +export type Person = { + firstName: string + lastName: string + age: number + visits: number + progress: number + status: 'relationship' | 'complicated' | 'single' + subRows?: Person[] +} + +const range = (len: number) => { + const arr: number[] = [] + for (let i = 0; i < len; i++) { + arr.push(i) + } + return arr +} + +const newPerson = (): Person => { + return { + firstName: faker.person.firstName(), + lastName: faker.person.lastName(), + age: faker.number.int(40), + visits: faker.number.int(1000), + progress: faker.number.int(100), + status: faker.helpers.shuffle([ + 'relationship', + 'complicated', + 'single', + ])[0]!, + } +} + +export function makeData(...lens: number[]) { + const makeDataLevel = (depth = 0): Person[] => { + const len = lens[depth]! + return range(len).map((d): Person => { + return { + ...newPerson(), + subRows: lens[depth + 1] ? makeDataLevel(depth + 1) : undefined, + } + }) + } + + return makeDataLevel() +} diff --git a/examples/angular/column-resizing-performant/src/app/resizable-cell.ts b/examples/angular/column-resizing-performant/src/app/resizable-cell.ts new file mode 100644 index 0000000000..2338bbc8c4 --- /dev/null +++ b/examples/angular/column-resizing-performant/src/app/resizable-cell.ts @@ -0,0 +1,35 @@ +import { computed, Directive, input } from '@angular/core' + +@Directive({ + selector: '[tableResizableHeader]', + host: { + '[style.width]': 'width()', + }, + standalone: true, +}) +export class TableResizableHeader { + readonly cellId = input.required({ + alias: 'tableResizableHeader', + }) + + readonly width = computed( + () => `calc(var(--header-${this.cellId()}-size) * 1px)` + ) +} + +@Directive({ + selector: '[tableResizableCell]', + host: { + '[style.width]': 'width()', + }, + standalone: true, +}) +export class TableResizableCell { + readonly cellId = input.required({ + alias: 'tableResizableCell', + }) + + readonly width = computed( + () => `calc(var(--col-${this.cellId()}-size) * 1px)` + ) +} diff --git a/examples/angular/column-resizing-performant/src/assets/.gitkeep b/examples/angular/column-resizing-performant/src/assets/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/angular/column-resizing-performant/src/favicon.ico b/examples/angular/column-resizing-performant/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 zcmd^G33O9Omi+`8$@{|M-I6TH3wzF-p5CV8o}7f~KxR60LK+ApEFB<$bcciv%@SmA zV{n>g85YMFFeU*Uvl=i4v)C*qgnb;$GQ=3XTe9{Y%c`mO%su)noNCCQ*@t1WXn|B(hQ7i~ zrUK8|pUkD6#lNo!bt$6)jR!&C?`P5G(`e((P($RaLeq+o0Vd~f11;qB05kdbAOm?r zXv~GYr_sibQO9NGTCdT;+G(!{4Xs@4fPak8#L8PjgJwcs-Mm#nR_Z0s&u?nDX5^~@ z+A6?}g0|=4e_LoE69pPFO`yCD@BCjgKpzMH0O4Xs{Ahc?K3HC5;l=f zg>}alhBXX&);z$E-wai+9TTRtBX-bWYY@cl$@YN#gMd~tM_5lj6W%8ah4;uZ;jP@Q zVbuel1rPA?2@x9Y+u?e`l{Z4ngfG5q5BLH5QsEu4GVpt{KIp1?U)=3+KQ;%7ec8l* zdV=zZgN5>O3G(3L2fqj3;oBbZZw$Ij@`Juz@?+yy#OPw)>#wsTewVgTK9BGt5AbZ&?K&B3GVF&yu?@(Xj3fR3n+ZP0%+wo)D9_xp>Z$`A4 zfV>}NWjO#3lqumR0`gvnffd9Ka}JJMuHS&|55-*mCD#8e^anA<+sFZVaJe7{=p*oX zE_Uv?1>e~ga=seYzh{9P+n5<+7&9}&(kwqSaz;1aD|YM3HBiy<))4~QJSIryyqp| z8nGc(8>3(_nEI4n)n7j(&d4idW1tVLjZ7QbNLXg;LB ziHsS5pXHEjGJZb59KcvS~wv;uZR-+4qEqow`;JCfB*+b^UL^3!?;-^F%yt=VjU|v z39SSqKcRu_NVvz!zJzL0CceJaS6%!(eMshPv_0U5G`~!a#I$qI5Ic(>IONej@aH=f z)($TAT#1I{iCS4f{D2+ApS=$3E7}5=+y(rA9mM#;Cky%b*Gi0KfFA`ofKTzu`AV-9 znW|y@19rrZ*!N2AvDi<_ZeR3O2R{#dh1#3-d%$k${Rx42h+i&GZo5!C^dSL34*AKp z27mTd>k>?V&X;Nl%GZ(>0s`1UN~Hfyj>KPjtnc|)xM@{H_B9rNr~LuH`Gr5_am&Ep zTjZA8hljNj5H1Ipm-uD9rC}U{-vR!eay5&6x6FkfupdpT*84MVwGpdd(}ib)zZ3Ky z7C$pnjc82(W_y_F{PhYj?o!@3__UUvpX)v69aBSzYj3 zdi}YQkKs^SyXyFG2LTRz9{(w}y~!`{EuAaUr6G1M{*%c+kP1olW9z23dSH!G4_HSK zzae-DF$OGR{ofP*!$a(r^5Go>I3SObVI6FLY)N@o<*gl0&kLo-OT{Tl*7nCz>Iq=? zcigIDHtj|H;6sR?or8Wd_a4996GI*CXGU}o;D9`^FM!AT1pBY~?|4h^61BY#_yIfO zKO?E0 zJ{Pc`9rVEI&$xxXu`<5E)&+m(7zX^v0rqofLs&bnQT(1baQkAr^kEsk)15vlzAZ-l z@OO9RF<+IiJ*O@HE256gCt!bF=NM*vh|WVWmjVawcNoksRTMvR03H{p@cjwKh(CL4 z7_PB(dM=kO)!s4fW!1p0f93YN@?ZSG` z$B!JaAJCtW$B97}HNO9(x-t30&E}Mo1UPi@Av%uHj~?T|!4JLwV;KCx8xO#b9IlUW zI6+{a@Wj|<2Y=U;a@vXbxqZNngH8^}LleE_4*0&O7#3iGxfJ%Id>+sb;7{L=aIic8 z|EW|{{S)J-wr@;3PmlxRXU8!e2gm_%s|ReH!reFcY8%$Hl4M5>;6^UDUUae?kOy#h zk~6Ee_@ZAn48Bab__^bNmQ~+k=02jz)e0d9Z3>G?RGG!65?d1>9}7iG17?P*=GUV-#SbLRw)Hu{zx*azHxWkGNTWl@HeWjA?39Ia|sCi{e;!^`1Oec zb>Z|b65OM*;eC=ZLSy?_fg$&^2xI>qSLA2G*$nA3GEnp3$N-)46`|36m*sc#4%C|h zBN<2U;7k>&G_wL4=Ve5z`ubVD&*Hxi)r@{4RCDw7U_D`lbC(9&pG5C*z#W>8>HU)h z!h3g?2UL&sS!oY5$3?VlA0Me9W5e~V;2jds*fz^updz#AJ%G8w2V}AEE?E^=MK%Xt z__Bx1cr7+DQmuHmzn*|hh%~eEc9@m05@clWfpEFcr+06%0&dZJH&@8^&@*$qR@}o3 z@Tuuh2FsLz^zH+dN&T&?0G3I?MpmYJ;GP$J!EzjeM#YLJ!W$}MVNb0^HfOA>5Fe~UNn%Zk(PT@~9}1dt)1UQ zU*B5K?Dl#G74qmg|2>^>0WtLX#Jz{lO4NT`NYB*(L#D|5IpXr9v&7a@YsGp3vLR7L zHYGHZg7{ie6n~2p$6Yz>=^cEg7tEgk-1YRl%-s7^cbqFb(U7&Dp78+&ut5!Tn(hER z|Gp4Ed@CnOPeAe|N>U(dB;SZ?NU^AzoD^UAH_vamp6Ws}{|mSq`^+VP1g~2B{%N-!mWz<`)G)>V-<`9`L4?3dM%Qh6<@kba+m`JS{Ya@9Fq*m6$$ zA1%Ogc~VRH33|S9l%CNb4zM%k^EIpqY}@h{w(aBcJ9c05oiZx#SK9t->5lSI`=&l~ z+-Ic)a{FbBhXV$Xt!WRd`R#Jk-$+_Z52rS>?Vpt2IK<84|E-SBEoIw>cs=a{BlQ7O z-?{Fy_M&84&9|KM5wt~)*!~i~E=(6m8(uCO)I=)M?)&sRbzH$9Rovzd?ZEY}GqX+~ zFbEbLz`BZ49=2Yh-|<`waK-_4!7`ro@zlC|r&I4fc4oyb+m=|c8)8%tZ-z5FwhzDt zL5kB@u53`d@%nHl0Sp)Dw`(QU&>vujEn?GPEXUW!Wi<+4e%BORl&BIH+SwRcbS}X@ z01Pk|vA%OdJKAs17zSXtO55k!;%m9>1eW9LnyAX4uj7@${O6cfii`49qTNItzny5J zH&Gj`e}o}?xjQ}r?LrI%FjUd@xflT3|7LA|ka%Q3i}a8gVm<`HIWoJGH=$EGClX^C0lysQJ>UO(q&;`T#8txuoQ_{l^kEV9CAdXuU1Ghg8 zN_6hHFuy&1x24q5-(Z7;!poYdt*`UTdrQOIQ!2O7_+AHV2hgXaEz7)>$LEdG z<8vE^Tw$|YwZHZDPM!SNOAWG$?J)MdmEk{U!!$M#fp7*Wo}jJ$Q(=8>R`Ats?e|VU?Zt7Cdh%AdnfyN3MBWw{ z$OnREvPf7%z6`#2##_7id|H%Y{vV^vWXb?5d5?a_y&t3@p9t$ncHj-NBdo&X{wrfJ zamN)VMYROYh_SvjJ=Xd!Ga?PY_$;*L=SxFte!4O6%0HEh%iZ4=gvns7IWIyJHa|hT z2;1+e)`TvbNb3-0z&DD_)Jomsg-7p_Uh`wjGnU1urmv1_oVqRg#=C?e?!7DgtqojU zWoAB($&53;TsXu^@2;8M`#z{=rPy?JqgYM0CDf4v@z=ZD|ItJ&8%_7A#K?S{wjxgd z?xA6JdJojrWpB7fr2p_MSsU4(R7=XGS0+Eg#xR=j>`H@R9{XjwBmqAiOxOL` zt?XK-iTEOWV}f>Pz3H-s*>W z4~8C&Xq25UQ^xH6H9kY_RM1$ch+%YLF72AA7^b{~VNTG}Tj#qZltz5Q=qxR`&oIlW Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/examples/angular/column-resizing-performant/src/index.html b/examples/angular/column-resizing-performant/src/index.html new file mode 100644 index 0000000000..0132a98242 --- /dev/null +++ b/examples/angular/column-resizing-performant/src/index.html @@ -0,0 +1,14 @@ + + + + + Performant Column Resizing + + + + + + + + + diff --git a/examples/angular/column-resizing-performant/src/main.ts b/examples/angular/column-resizing-performant/src/main.ts new file mode 100644 index 0000000000..0c3b92057c --- /dev/null +++ b/examples/angular/column-resizing-performant/src/main.ts @@ -0,0 +1,5 @@ +import { bootstrapApplication } from '@angular/platform-browser' +import { appConfig } from './app/app.config' +import { AppComponent } from './app/app.component' + +bootstrapApplication(AppComponent, appConfig).catch(err => console.error(err)) diff --git a/examples/angular/column-resizing-performant/src/styles.scss b/examples/angular/column-resizing-performant/src/styles.scss new file mode 100644 index 0000000000..b829b6ca09 --- /dev/null +++ b/examples/angular/column-resizing-performant/src/styles.scss @@ -0,0 +1,74 @@ +* { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + font-size: 14px; +} + +table, +.divTable { + display: block; + border: 1px solid lightgray; + width: fit-content; +} + +.tr { + display: flex; +} + +tr, +.tr { + width: fit-content; + height: 30px; +} + +th, +.th, +td, +.td { + box-shadow: inset 0 0 0 1px lightgray; + padding: 0.25rem; +} + +th, +.th { + padding: 2px 4px; + position: relative; + font-weight: bold; + text-align: center; + height: 30px; +} + +td, +.td { + height: 30px; +} + +.resizer { + position: absolute; + top: 0; + height: 100%; + right: 0; + width: 5px; + background: rgba(0, 0, 0, 0.5); + cursor: col-resize; + user-select: none; + touch-action: none; +} + +.resizer.isResizing { + background: blue; + opacity: 1; +} + +@media (hover: hover) { + .resizer { + opacity: 0; + } + + *:hover > .resizer { + opacity: 1; + } +} diff --git a/examples/angular/column-resizing-performant/tsconfig.app.json b/examples/angular/column-resizing-performant/tsconfig.app.json new file mode 100644 index 0000000000..84f1f992d2 --- /dev/null +++ b/examples/angular/column-resizing-performant/tsconfig.app.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": ["src/main.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/examples/angular/column-resizing-performant/tsconfig.json b/examples/angular/column-resizing-performant/tsconfig.json new file mode 100644 index 0000000000..b58d3efc71 --- /dev/null +++ b/examples/angular/column-resizing-performant/tsconfig.json @@ -0,0 +1,31 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "src", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "esModuleInterop": true, + "sourceMap": true, + "declaration": false, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "useDefineForClassFields": false, + "lib": ["ES2022", "dom"] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/examples/angular/column-resizing-performant/tsconfig.spec.json b/examples/angular/column-resizing-performant/tsconfig.spec.json new file mode 100644 index 0000000000..47e3dd7551 --- /dev/null +++ b/examples/angular/column-resizing-performant/tsconfig.spec.json @@ -0,0 +1,9 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": ["jasmine"] + }, + "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] +} diff --git a/examples/angular/editable/.devcontainer/devcontainer.json b/examples/angular/editable/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..36f47d8762 --- /dev/null +++ b/examples/angular/editable/.devcontainer/devcontainer.json @@ -0,0 +1,4 @@ +{ + "name": "Node.js", + "image": "mcr.microsoft.com/devcontainers/javascript-node:18" +} diff --git a/examples/angular/editable/.editorconfig b/examples/angular/editable/.editorconfig new file mode 100644 index 0000000000..59d9a3a3e7 --- /dev/null +++ b/examples/angular/editable/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/examples/angular/editable/.gitignore b/examples/angular/editable/.gitignore new file mode 100644 index 0000000000..0711527ef9 --- /dev/null +++ b/examples/angular/editable/.gitignore @@ -0,0 +1,42 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/examples/angular/editable/README.md b/examples/angular/editable/README.md new file mode 100644 index 0000000000..5da97a87d1 --- /dev/null +++ b/examples/angular/editable/README.md @@ -0,0 +1,27 @@ +# Basic + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.1.2. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/examples/angular/editable/angular.json b/examples/angular/editable/angular.json new file mode 100644 index 0000000000..0a6c896860 --- /dev/null +++ b/examples/angular/editable/angular.json @@ -0,0 +1,83 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "editable": { + "cli": { + "cache": { + "enabled": false + } + }, + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:application", + "options": { + "outputPath": "dist/editable", + "index": "src/index.html", + "browser": "src/main.ts", + "polyfills": ["zone.js"], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "editable:build:production" + }, + "development": { + "buildTarget": "editable:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "editable:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": ["zone.js", "zone.js/testing"], + "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "scss", + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [] + } + } + } + } + }, + "cli": { + "analytics": false + } +} diff --git a/examples/angular/editable/package.json b/examples/angular/editable/package.json new file mode 100644 index 0000000000..b01d3ffe33 --- /dev/null +++ b/examples/angular/editable/package.json @@ -0,0 +1,39 @@ +{ + "name": "tanstack-table-example-angular-editable", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "^17.3.9", + "@angular/common": "^17.3.9", + "@angular/compiler": "^17.3.9", + "@angular/core": "^17.3.9", + "@angular/forms": "^17.3.9", + "@angular/platform-browser": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.9", + "@angular/router": "^17.3.9", + "@tanstack/angular-table": "^8.21.0", + "rxjs": "~7.8.1", + "zone.js": "~0.14.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^17.3.8", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.9", + "@types/jasmine": "~5.1.4", + "jasmine-core": "~5.1.2", + "karma": "~6.4.3", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.1", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "tslib": "^2.6.2", + "typescript": "5.4.5" + } +} diff --git a/examples/angular/editable/src/app/app.component.html b/examples/angular/editable/src/app/app.component.html new file mode 100644 index 0000000000..d960bcf324 --- /dev/null +++ b/examples/angular/editable/src/app/app.component.html @@ -0,0 +1,106 @@ +
+
+ + @for (headerGroup of table.getHeaderGroups(); track headerGroup.id) { + + @for (header of headerGroup.headers; track header.id) { + @if (!header.isPlaceholder) { + + } + } + + } + + + @for (row of table.getRowModel().rows; track row.id) { + + @for (cell of row.getVisibleCells(); track cell.id) { + + } + + } + + + @for (footerGroup of table.getFooterGroups(); track footerGroup.id) { + + @for (footer of footerGroup.headers; track footer.id) { + + } + + } + +
+ +
+
+
+ +
+
+
+ + {{ footer }} + +
+ +
+
+ + + + + +
Page
+ + {{ table.getState().pagination.pageIndex + 1 }} of + {{ table.getPageCount() }} + +
+
+
+ + diff --git a/examples/angular/editable/src/app/app.component.ts b/examples/angular/editable/src/app/app.component.ts new file mode 100644 index 0000000000..54956725a4 --- /dev/null +++ b/examples/angular/editable/src/app/app.component.ts @@ -0,0 +1,130 @@ +import { + afterNextRender, + ChangeDetectionStrategy, + Component, + inject, + Injector, + signal, +} from '@angular/core' +import { + ColumnDef, + createAngularTable, + flexRenderComponent, + FlexRenderDirective, + getCoreRowModel, + getFilteredRowModel, + getPaginationRowModel, + type RowData, +} from '@tanstack/angular-table' +import { EditableCell } from './editable-cell' +import { makeData, type Person } from './makeData' + +declare module '@tanstack/angular-table' { + interface TableMeta { + updateData: (rowIndex: number, columnId: string, value: unknown) => void + } +} + +const defaultColumn: Partial> = { + cell: ({ getValue, row, column, table }) => { + const initialValue = getValue() + + return flexRenderComponent(EditableCell, { + inputs: { + value: initialValue, + }, + outputs: { + blur: value => { + if (table.options.meta?.updateData) { + table.options.meta.updateData(row.index, column.id, value) + } + }, + }, + }) + }, +} + +const defaultColumns: ColumnDef[] = [ + { + accessorKey: 'firstName', + footer: info => info.column.id, + }, + { + accessorFn: row => row.lastName, + id: 'lastName', + header: () => `Last Name`, + footer: info => info.column.id, + }, + { + accessorKey: 'age', + header: () => 'Age', + footer: info => info.column.id, + }, + { + accessorKey: 'visits', + header: () => `Visits`, + footer: info => info.column.id, + }, + { + accessorKey: 'status', + header: 'Status', + footer: info => info.column.id, + }, + { + accessorKey: 'progress', + header: 'Profile Progress', + footer: info => info.column.id, + }, +] + +@Component({ + selector: 'app-root', + standalone: true, + imports: [FlexRenderDirective], + templateUrl: './app.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class AppComponent { + readonly data = signal(makeData(10_000)) + readonly injector = inject(Injector) + + readonly autoResetPageIndex = signal(true) + + readonly table = createAngularTable(() => ({ + data: this.data(), + columns: defaultColumns, + defaultColumn: defaultColumn, + getCoreRowModel: getCoreRowModel(), + getFilteredRowModel: getFilteredRowModel(), + getPaginationRowModel: getPaginationRowModel(), + debugTable: true, + autoResetPageIndex: this.autoResetPageIndex(), + // Provide our updateData function to our table meta + meta: { + updateData: (rowIndex, columnId, value) => { + // Skip page index reset until after next rerender + this.autoResetPageIndex.set(false) + + this.data.update(old => + old.map((row, index) => { + if (index === rowIndex) { + return { + ...old[rowIndex], + [columnId]: value, + } + } + return row + }) + ) + + afterNextRender(() => this.autoResetPageIndex.set(true), { + injector: this.injector, + }) + }, + }, + })) + + refresh() { + this.data.set(makeData(10_000)) + } +} diff --git a/examples/angular/editable/src/app/app.config.ts b/examples/angular/editable/src/app/app.config.ts new file mode 100644 index 0000000000..f27099f33c --- /dev/null +++ b/examples/angular/editable/src/app/app.config.ts @@ -0,0 +1,5 @@ +import { ApplicationConfig } from '@angular/core' + +export const appConfig: ApplicationConfig = { + providers: [], +} diff --git a/examples/angular/editable/src/app/editable-cell.ts b/examples/angular/editable/src/app/editable-cell.ts new file mode 100644 index 0000000000..db5980334c --- /dev/null +++ b/examples/angular/editable/src/app/editable-cell.ts @@ -0,0 +1,30 @@ +import { + Component, + effect, + input, + output, + signal, + untracked, +} from '@angular/core' +import { FormsModule } from '@angular/forms' + +@Component({ + selector: 'editable-cell', + template: ` `, + standalone: true, + imports: [FormsModule], +}) +export class EditableCell { + readonly modelValue = signal(undefined) + + readonly value = input() + + readonly blur = output() + + constructor() { + effect(() => { + const value = this.value() + untracked(() => this.modelValue.set(value)) + }) + } +} diff --git a/examples/angular/editable/src/app/makeData.ts b/examples/angular/editable/src/app/makeData.ts new file mode 100644 index 0000000000..331dd1eb19 --- /dev/null +++ b/examples/angular/editable/src/app/makeData.ts @@ -0,0 +1,48 @@ +import { faker } from '@faker-js/faker' + +export type Person = { + firstName: string + lastName: string + age: number + visits: number + progress: number + status: 'relationship' | 'complicated' | 'single' + subRows?: Person[] +} + +const range = (len: number) => { + const arr: number[] = [] + for (let i = 0; i < len; i++) { + arr.push(i) + } + return arr +} + +const newPerson = (): Person => { + return { + firstName: faker.person.firstName(), + lastName: faker.person.lastName(), + age: faker.number.int(40), + visits: faker.number.int(1000), + progress: faker.number.int(100), + status: faker.helpers.shuffle([ + 'relationship', + 'complicated', + 'single', + ])[0]!, + } +} + +export function makeData(...lens: number[]) { + const makeDataLevel = (depth = 0): Person[] => { + const len = lens[depth]! + return range(len).map((d): Person => { + return { + ...newPerson(), + subRows: lens[depth + 1] ? makeDataLevel(depth + 1) : undefined, + } + }) + } + + return makeDataLevel() +} diff --git a/examples/angular/editable/src/assets/.gitkeep b/examples/angular/editable/src/assets/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/angular/editable/src/favicon.ico b/examples/angular/editable/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 zcmd^G33O9Omi+`8$@{|M-I6TH3wzF-p5CV8o}7f~KxR60LK+ApEFB<$bcciv%@SmA zV{n>g85YMFFeU*Uvl=i4v)C*qgnb;$GQ=3XTe9{Y%c`mO%su)noNCCQ*@t1WXn|B(hQ7i~ zrUK8|pUkD6#lNo!bt$6)jR!&C?`P5G(`e((P($RaLeq+o0Vd~f11;qB05kdbAOm?r zXv~GYr_sibQO9NGTCdT;+G(!{4Xs@4fPak8#L8PjgJwcs-Mm#nR_Z0s&u?nDX5^~@ z+A6?}g0|=4e_LoE69pPFO`yCD@BCjgKpzMH0O4Xs{Ahc?K3HC5;l=f zg>}alhBXX&);z$E-wai+9TTRtBX-bWYY@cl$@YN#gMd~tM_5lj6W%8ah4;uZ;jP@Q zVbuel1rPA?2@x9Y+u?e`l{Z4ngfG5q5BLH5QsEu4GVpt{KIp1?U)=3+KQ;%7ec8l* zdV=zZgN5>O3G(3L2fqj3;oBbZZw$Ij@`Juz@?+yy#OPw)>#wsTewVgTK9BGt5AbZ&?K&B3GVF&yu?@(Xj3fR3n+ZP0%+wo)D9_xp>Z$`A4 zfV>}NWjO#3lqumR0`gvnffd9Ka}JJMuHS&|55-*mCD#8e^anA<+sFZVaJe7{=p*oX zE_Uv?1>e~ga=seYzh{9P+n5<+7&9}&(kwqSaz;1aD|YM3HBiy<))4~QJSIryyqp| z8nGc(8>3(_nEI4n)n7j(&d4idW1tVLjZ7QbNLXg;LB ziHsS5pXHEjGJZb59KcvS~wv;uZR-+4qEqow`;JCfB*+b^UL^3!?;-^F%yt=VjU|v z39SSqKcRu_NVvz!zJzL0CceJaS6%!(eMshPv_0U5G`~!a#I$qI5Ic(>IONej@aH=f z)($TAT#1I{iCS4f{D2+ApS=$3E7}5=+y(rA9mM#;Cky%b*Gi0KfFA`ofKTzu`AV-9 znW|y@19rrZ*!N2AvDi<_ZeR3O2R{#dh1#3-d%$k${Rx42h+i&GZo5!C^dSL34*AKp z27mTd>k>?V&X;Nl%GZ(>0s`1UN~Hfyj>KPjtnc|)xM@{H_B9rNr~LuH`Gr5_am&Ep zTjZA8hljNj5H1Ipm-uD9rC}U{-vR!eay5&6x6FkfupdpT*84MVwGpdd(}ib)zZ3Ky z7C$pnjc82(W_y_F{PhYj?o!@3__UUvpX)v69aBSzYj3 zdi}YQkKs^SyXyFG2LTRz9{(w}y~!`{EuAaUr6G1M{*%c+kP1olW9z23dSH!G4_HSK zzae-DF$OGR{ofP*!$a(r^5Go>I3SObVI6FLY)N@o<*gl0&kLo-OT{Tl*7nCz>Iq=? zcigIDHtj|H;6sR?or8Wd_a4996GI*CXGU}o;D9`^FM!AT1pBY~?|4h^61BY#_yIfO zKO?E0 zJ{Pc`9rVEI&$xxXu`<5E)&+m(7zX^v0rqofLs&bnQT(1baQkAr^kEsk)15vlzAZ-l z@OO9RF<+IiJ*O@HE256gCt!bF=NM*vh|WVWmjVawcNoksRTMvR03H{p@cjwKh(CL4 z7_PB(dM=kO)!s4fW!1p0f93YN@?ZSG` z$B!JaAJCtW$B97}HNO9(x-t30&E}Mo1UPi@Av%uHj~?T|!4JLwV;KCx8xO#b9IlUW zI6+{a@Wj|<2Y=U;a@vXbxqZNngH8^}LleE_4*0&O7#3iGxfJ%Id>+sb;7{L=aIic8 z|EW|{{S)J-wr@;3PmlxRXU8!e2gm_%s|ReH!reFcY8%$Hl4M5>;6^UDUUae?kOy#h zk~6Ee_@ZAn48Bab__^bNmQ~+k=02jz)e0d9Z3>G?RGG!65?d1>9}7iG17?P*=GUV-#SbLRw)Hu{zx*azHxWkGNTWl@HeWjA?39Ia|sCi{e;!^`1Oec zb>Z|b65OM*;eC=ZLSy?_fg$&^2xI>qSLA2G*$nA3GEnp3$N-)46`|36m*sc#4%C|h zBN<2U;7k>&G_wL4=Ve5z`ubVD&*Hxi)r@{4RCDw7U_D`lbC(9&pG5C*z#W>8>HU)h z!h3g?2UL&sS!oY5$3?VlA0Me9W5e~V;2jds*fz^updz#AJ%G8w2V}AEE?E^=MK%Xt z__Bx1cr7+DQmuHmzn*|hh%~eEc9@m05@clWfpEFcr+06%0&dZJH&@8^&@*$qR@}o3 z@Tuuh2FsLz^zH+dN&T&?0G3I?MpmYJ;GP$J!EzjeM#YLJ!W$}MVNb0^HfOA>5Fe~UNn%Zk(PT@~9}1dt)1UQ zU*B5K?Dl#G74qmg|2>^>0WtLX#Jz{lO4NT`NYB*(L#D|5IpXr9v&7a@YsGp3vLR7L zHYGHZg7{ie6n~2p$6Yz>=^cEg7tEgk-1YRl%-s7^cbqFb(U7&Dp78+&ut5!Tn(hER z|Gp4Ed@CnOPeAe|N>U(dB;SZ?NU^AzoD^UAH_vamp6Ws}{|mSq`^+VP1g~2B{%N-!mWz<`)G)>V-<`9`L4?3dM%Qh6<@kba+m`JS{Ya@9Fq*m6$$ zA1%Ogc~VRH33|S9l%CNb4zM%k^EIpqY}@h{w(aBcJ9c05oiZx#SK9t->5lSI`=&l~ z+-Ic)a{FbBhXV$Xt!WRd`R#Jk-$+_Z52rS>?Vpt2IK<84|E-SBEoIw>cs=a{BlQ7O z-?{Fy_M&84&9|KM5wt~)*!~i~E=(6m8(uCO)I=)M?)&sRbzH$9Rovzd?ZEY}GqX+~ zFbEbLz`BZ49=2Yh-|<`waK-_4!7`ro@zlC|r&I4fc4oyb+m=|c8)8%tZ-z5FwhzDt zL5kB@u53`d@%nHl0Sp)Dw`(QU&>vujEn?GPEXUW!Wi<+4e%BORl&BIH+SwRcbS}X@ z01Pk|vA%OdJKAs17zSXtO55k!;%m9>1eW9LnyAX4uj7@${O6cfii`49qTNItzny5J zH&Gj`e}o}?xjQ}r?LrI%FjUd@xflT3|7LA|ka%Q3i}a8gVm<`HIWoJGH=$EGClX^C0lysQJ>UO(q&;`T#8txuoQ_{l^kEV9CAdXuU1Ghg8 zN_6hHFuy&1x24q5-(Z7;!poYdt*`UTdrQOIQ!2O7_+AHV2hgXaEz7)>$LEdG z<8vE^Tw$|YwZHZDPM!SNOAWG$?J)MdmEk{U!!$M#fp7*Wo}jJ$Q(=8>R`Ats?e|VU?Zt7Cdh%AdnfyN3MBWw{ z$OnREvPf7%z6`#2##_7id|H%Y{vV^vWXb?5d5?a_y&t3@p9t$ncHj-NBdo&X{wrfJ zamN)VMYROYh_SvjJ=Xd!Ga?PY_$;*L=SxFte!4O6%0HEh%iZ4=gvns7IWIyJHa|hT z2;1+e)`TvbNb3-0z&DD_)Jomsg-7p_Uh`wjGnU1urmv1_oVqRg#=C?e?!7DgtqojU zWoAB($&53;TsXu^@2;8M`#z{=rPy?JqgYM0CDf4v@z=ZD|ItJ&8%_7A#K?S{wjxgd z?xA6JdJojrWpB7fr2p_MSsU4(R7=XGS0+Eg#xR=j>`H@R9{XjwBmqAiOxOL` zt?XK-iTEOWV}f>Pz3H-s*>W z4~8C&Xq25UQ^xH6H9kY_RM1$ch+%YLF72AA7^b{~VNTG}Tj#qZltz5Q=qxR`&oIlW Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/examples/angular/editable/src/index.html b/examples/angular/editable/src/index.html new file mode 100644 index 0000000000..d24da42550 --- /dev/null +++ b/examples/angular/editable/src/index.html @@ -0,0 +1,14 @@ + + + + + Editable data + + + + + + + + + diff --git a/examples/angular/editable/src/main.ts b/examples/angular/editable/src/main.ts new file mode 100644 index 0000000000..0c3b92057c --- /dev/null +++ b/examples/angular/editable/src/main.ts @@ -0,0 +1,5 @@ +import { bootstrapApplication } from '@angular/platform-browser' +import { appConfig } from './app/app.config' +import { AppComponent } from './app/app.component' + +bootstrapApplication(AppComponent, appConfig).catch(err => console.error(err)) diff --git a/examples/angular/editable/src/styles.scss b/examples/angular/editable/src/styles.scss new file mode 100644 index 0000000000..cda3113f7d --- /dev/null +++ b/examples/angular/editable/src/styles.scss @@ -0,0 +1,32 @@ +html { + font-family: sans-serif; + font-size: 14px; +} + +table { + border: 1px solid lightgray; +} + +tbody { + border-bottom: 1px solid lightgray; +} + +th { + border-bottom: 1px solid lightgray; + border-right: 1px solid lightgray; + padding: 2px 4px; +} + +tfoot { + color: gray; +} + +tfoot th { + font-weight: normal; +} + +.pagination-actions { + margin: 10px; + display: flex; + gap: 10px; +} diff --git a/examples/angular/editable/tsconfig.app.json b/examples/angular/editable/tsconfig.app.json new file mode 100644 index 0000000000..84f1f992d2 --- /dev/null +++ b/examples/angular/editable/tsconfig.app.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": ["src/main.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/examples/angular/editable/tsconfig.json b/examples/angular/editable/tsconfig.json new file mode 100644 index 0000000000..b58d3efc71 --- /dev/null +++ b/examples/angular/editable/tsconfig.json @@ -0,0 +1,31 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "src", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "esModuleInterop": true, + "sourceMap": true, + "declaration": false, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "useDefineForClassFields": false, + "lib": ["ES2022", "dom"] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/examples/angular/editable/tsconfig.spec.json b/examples/angular/editable/tsconfig.spec.json new file mode 100644 index 0000000000..47e3dd7551 --- /dev/null +++ b/examples/angular/editable/tsconfig.spec.json @@ -0,0 +1,9 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": ["jasmine"] + }, + "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] +} diff --git a/examples/angular/row-dnd/.devcontainer/devcontainer.json b/examples/angular/row-dnd/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..36f47d8762 --- /dev/null +++ b/examples/angular/row-dnd/.devcontainer/devcontainer.json @@ -0,0 +1,4 @@ +{ + "name": "Node.js", + "image": "mcr.microsoft.com/devcontainers/javascript-node:18" +} diff --git a/examples/angular/row-dnd/.editorconfig b/examples/angular/row-dnd/.editorconfig new file mode 100644 index 0000000000..59d9a3a3e7 --- /dev/null +++ b/examples/angular/row-dnd/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/examples/angular/row-dnd/.gitignore b/examples/angular/row-dnd/.gitignore new file mode 100644 index 0000000000..0711527ef9 --- /dev/null +++ b/examples/angular/row-dnd/.gitignore @@ -0,0 +1,42 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/examples/angular/row-dnd/README.md b/examples/angular/row-dnd/README.md new file mode 100644 index 0000000000..8494f725e3 --- /dev/null +++ b/examples/angular/row-dnd/README.md @@ -0,0 +1,27 @@ +# Row Dnd + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.1.2. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/examples/angular/row-dnd/angular.json b/examples/angular/row-dnd/angular.json new file mode 100644 index 0000000000..0a6c896860 --- /dev/null +++ b/examples/angular/row-dnd/angular.json @@ -0,0 +1,83 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "editable": { + "cli": { + "cache": { + "enabled": false + } + }, + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:application", + "options": { + "outputPath": "dist/editable", + "index": "src/index.html", + "browser": "src/main.ts", + "polyfills": ["zone.js"], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "editable:build:production" + }, + "development": { + "buildTarget": "editable:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "editable:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": ["zone.js", "zone.js/testing"], + "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "scss", + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [] + } + } + } + } + }, + "cli": { + "analytics": false + } +} diff --git a/examples/angular/row-dnd/package.json b/examples/angular/row-dnd/package.json new file mode 100644 index 0000000000..af045e7d7a --- /dev/null +++ b/examples/angular/row-dnd/package.json @@ -0,0 +1,40 @@ +{ + "name": "tanstack-table-example-angular-row-dnd", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "^17.3.9", + "@angular/common": "^17.3.9", + "@angular/compiler": "^17.3.9", + "@angular/cdk": "^17.3.10", + "@angular/core": "^17.3.9", + "@angular/forms": "^17.3.9", + "@angular/platform-browser": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.9", + "@angular/router": "^17.3.9", + "@tanstack/angular-table": "^8.21.0", + "rxjs": "~7.8.1", + "zone.js": "~0.14.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^17.3.8", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.9", + "@types/jasmine": "~5.1.4", + "jasmine-core": "~5.1.2", + "karma": "~6.4.3", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.1", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "tslib": "^2.6.2", + "typescript": "5.4.5" + } +} diff --git a/examples/angular/row-dnd/src/app/app.component.css b/examples/angular/row-dnd/src/app/app.component.css new file mode 100644 index 0000000000..9c94476209 --- /dev/null +++ b/examples/angular/row-dnd/src/app/app.component.css @@ -0,0 +1,23 @@ +.cdk-drag-preview { + box-sizing: border-box; + box-shadow: + 0 5px 5px -3px rgba(0, 0, 0, 0.2), + 0 8px 10px 1px rgba(0, 0, 0, 0.14), + 0 3px 14px 2px rgba(0, 0, 0, 0.12); +} + +.cdk-drag-placeholder { + transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); +} + +.cdk-drag-placeholder > td { + background: #ccc; +} + +.cdk-drag-animating { + transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); +} + +.cdk-drop-list-dragging tr[cdkdrag]:not(.cdk-drag-placeholder) { + transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); +} diff --git a/examples/angular/row-dnd/src/app/app.component.html b/examples/angular/row-dnd/src/app/app.component.html new file mode 100644 index 0000000000..b680eaf212 --- /dev/null +++ b/examples/angular/row-dnd/src/app/app.component.html @@ -0,0 +1,55 @@ +
+ + + @for (headerGroup of table.getHeaderGroups(); track headerGroup.id) { + + @for (header of headerGroup.headers; track header.id) { + @if (!header.isPlaceholder) { + + } + } + + } + + + @for (row of table.getRowModel().rows; track row.id) { + + @for (cell of row.getVisibleCells(); track cell.id) { + + } + + } + +
+ +
+
+
+ +
+
+
+ +
{{ sortedIds() | json }}
+
diff --git a/examples/angular/row-dnd/src/app/app.component.ts b/examples/angular/row-dnd/src/app/app.component.ts new file mode 100644 index 0000000000..e28c236f08 --- /dev/null +++ b/examples/angular/row-dnd/src/app/app.component.ts @@ -0,0 +1,93 @@ +import { + ChangeDetectionStrategy, + Component, + computed, + signal, +} from '@angular/core' +import { + ColumnDef, + createAngularTable, + flexRenderComponent, + FlexRenderDirective, + getCoreRowModel, + getFilteredRowModel, + getPaginationRowModel, +} from '@tanstack/angular-table' +import { DragHandleCell } from './drag-handle-cell' +import { makeData, type Person } from './makeData' +import { + CdkDrag, + type CdkDragDrop, + CdkDropList, + moveItemInArray, +} from '@angular/cdk/drag-drop' +import { JsonPipe } from '@angular/common' + +const defaultColumns: ColumnDef[] = [ + { + id: 'drag-handle', + header: 'Move', + cell: () => flexRenderComponent(DragHandleCell), + size: 60, + }, + { + accessorKey: 'firstName', + cell: info => info.getValue(), + }, + { + accessorFn: row => row.lastName, + id: 'lastName', + cell: info => info.getValue(), + header: () => `Last Name`, + }, + { + accessorKey: 'age', + header: () => 'Age', + }, + { + accessorKey: 'visits', + header: () => `Visits`, + }, + { + accessorKey: 'status', + header: 'Status', + }, + { + accessorKey: 'progress', + header: 'Profile Progress', + }, +] + +@Component({ + selector: 'app-root', + standalone: true, + imports: [FlexRenderDirective, CdkDropList, CdkDrag, JsonPipe], + templateUrl: './app.component.html', + styleUrl: './app.component.css', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class AppComponent { + readonly data = signal(makeData(20)) + + readonly table = createAngularTable(() => { + return { + data: this.data(), + columns: defaultColumns, + getRowId: row => row.userId, //required because row indexes will change + debugTable: true, + debugHeaders: true, + debugColumns: true, + getCoreRowModel: getCoreRowModel(), + getFilteredRowModel: getFilteredRowModel(), + getPaginationRowModel: getPaginationRowModel(), + } + }) + + readonly sortedIds = computed(() => this.data().map(data => data.userId)) + + drop(event: CdkDragDrop) { + const data = [...this.data()] + moveItemInArray(data, event.previousIndex, event.currentIndex) + this.data.set(data) + } +} diff --git a/examples/angular/row-dnd/src/app/app.config.ts b/examples/angular/row-dnd/src/app/app.config.ts new file mode 100644 index 0000000000..f27099f33c --- /dev/null +++ b/examples/angular/row-dnd/src/app/app.config.ts @@ -0,0 +1,5 @@ +import { ApplicationConfig } from '@angular/core' + +export const appConfig: ApplicationConfig = { + providers: [], +} diff --git a/examples/angular/row-dnd/src/app/drag-handle-cell.ts b/examples/angular/row-dnd/src/app/drag-handle-cell.ts new file mode 100644 index 0000000000..00320e706e --- /dev/null +++ b/examples/angular/row-dnd/src/app/drag-handle-cell.ts @@ -0,0 +1,20 @@ +import { + ChangeDetectionStrategy, + Component, + effect, + input, + output, + signal, + untracked, +} from '@angular/core' +import { FormsModule } from '@angular/forms' +import { CdkDragHandle } from '@angular/cdk/drag-drop' + +@Component({ + selector: 'editable-cell', + template: ` `, + standalone: true, + imports: [CdkDragHandle], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class DragHandleCell {} diff --git a/examples/angular/row-dnd/src/app/makeData.ts b/examples/angular/row-dnd/src/app/makeData.ts new file mode 100644 index 0000000000..26b666d2ae --- /dev/null +++ b/examples/angular/row-dnd/src/app/makeData.ts @@ -0,0 +1,50 @@ +import { faker } from '@faker-js/faker' + +export type Person = { + userId: string + firstName: string + lastName: string + age: number + visits: number + progress: number + status: 'relationship' | 'complicated' | 'single' + subRows?: Person[] +} + +const range = (len: number) => { + const arr: number[] = [] + for (let i = 0; i < len; i++) { + arr.push(i) + } + return arr +} + +const newPerson = (): Person => { + return { + userId: faker.string.uuid(), + firstName: faker.person.firstName(), + lastName: faker.person.lastName(), + age: faker.number.int(40), + visits: faker.number.int(1000), + progress: faker.number.int(100), + status: faker.helpers.shuffle([ + 'relationship', + 'complicated', + 'single', + ])[0]!, + } +} + +export function makeData(...lens: number[]) { + const makeDataLevel = (depth = 0): Person[] => { + const len = lens[depth]! + return range(len).map((_d): Person => { + return { + ...newPerson(), + subRows: lens[depth + 1] ? makeDataLevel(depth + 1) : undefined, + } + }) + } + + return makeDataLevel() +} diff --git a/examples/angular/row-dnd/src/assets/.gitkeep b/examples/angular/row-dnd/src/assets/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/angular/row-dnd/src/favicon.ico b/examples/angular/row-dnd/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 zcmd^G33O9Omi+`8$@{|M-I6TH3wzF-p5CV8o}7f~KxR60LK+ApEFB<$bcciv%@SmA zV{n>g85YMFFeU*Uvl=i4v)C*qgnb;$GQ=3XTe9{Y%c`mO%su)noNCCQ*@t1WXn|B(hQ7i~ zrUK8|pUkD6#lNo!bt$6)jR!&C?`P5G(`e((P($RaLeq+o0Vd~f11;qB05kdbAOm?r zXv~GYr_sibQO9NGTCdT;+G(!{4Xs@4fPak8#L8PjgJwcs-Mm#nR_Z0s&u?nDX5^~@ z+A6?}g0|=4e_LoE69pPFO`yCD@BCjgKpzMH0O4Xs{Ahc?K3HC5;l=f zg>}alhBXX&);z$E-wai+9TTRtBX-bWYY@cl$@YN#gMd~tM_5lj6W%8ah4;uZ;jP@Q zVbuel1rPA?2@x9Y+u?e`l{Z4ngfG5q5BLH5QsEu4GVpt{KIp1?U)=3+KQ;%7ec8l* zdV=zZgN5>O3G(3L2fqj3;oBbZZw$Ij@`Juz@?+yy#OPw)>#wsTewVgTK9BGt5AbZ&?K&B3GVF&yu?@(Xj3fR3n+ZP0%+wo)D9_xp>Z$`A4 zfV>}NWjO#3lqumR0`gvnffd9Ka}JJMuHS&|55-*mCD#8e^anA<+sFZVaJe7{=p*oX zE_Uv?1>e~ga=seYzh{9P+n5<+7&9}&(kwqSaz;1aD|YM3HBiy<))4~QJSIryyqp| z8nGc(8>3(_nEI4n)n7j(&d4idW1tVLjZ7QbNLXg;LB ziHsS5pXHEjGJZb59KcvS~wv;uZR-+4qEqow`;JCfB*+b^UL^3!?;-^F%yt=VjU|v z39SSqKcRu_NVvz!zJzL0CceJaS6%!(eMshPv_0U5G`~!a#I$qI5Ic(>IONej@aH=f z)($TAT#1I{iCS4f{D2+ApS=$3E7}5=+y(rA9mM#;Cky%b*Gi0KfFA`ofKTzu`AV-9 znW|y@19rrZ*!N2AvDi<_ZeR3O2R{#dh1#3-d%$k${Rx42h+i&GZo5!C^dSL34*AKp z27mTd>k>?V&X;Nl%GZ(>0s`1UN~Hfyj>KPjtnc|)xM@{H_B9rNr~LuH`Gr5_am&Ep zTjZA8hljNj5H1Ipm-uD9rC}U{-vR!eay5&6x6FkfupdpT*84MVwGpdd(}ib)zZ3Ky z7C$pnjc82(W_y_F{PhYj?o!@3__UUvpX)v69aBSzYj3 zdi}YQkKs^SyXyFG2LTRz9{(w}y~!`{EuAaUr6G1M{*%c+kP1olW9z23dSH!G4_HSK zzae-DF$OGR{ofP*!$a(r^5Go>I3SObVI6FLY)N@o<*gl0&kLo-OT{Tl*7nCz>Iq=? zcigIDHtj|H;6sR?or8Wd_a4996GI*CXGU}o;D9`^FM!AT1pBY~?|4h^61BY#_yIfO zKO?E0 zJ{Pc`9rVEI&$xxXu`<5E)&+m(7zX^v0rqofLs&bnQT(1baQkAr^kEsk)15vlzAZ-l z@OO9RF<+IiJ*O@HE256gCt!bF=NM*vh|WVWmjVawcNoksRTMvR03H{p@cjwKh(CL4 z7_PB(dM=kO)!s4fW!1p0f93YN@?ZSG` z$B!JaAJCtW$B97}HNO9(x-t30&E}Mo1UPi@Av%uHj~?T|!4JLwV;KCx8xO#b9IlUW zI6+{a@Wj|<2Y=U;a@vXbxqZNngH8^}LleE_4*0&O7#3iGxfJ%Id>+sb;7{L=aIic8 z|EW|{{S)J-wr@;3PmlxRXU8!e2gm_%s|ReH!reFcY8%$Hl4M5>;6^UDUUae?kOy#h zk~6Ee_@ZAn48Bab__^bNmQ~+k=02jz)e0d9Z3>G?RGG!65?d1>9}7iG17?P*=GUV-#SbLRw)Hu{zx*azHxWkGNTWl@HeWjA?39Ia|sCi{e;!^`1Oec zb>Z|b65OM*;eC=ZLSy?_fg$&^2xI>qSLA2G*$nA3GEnp3$N-)46`|36m*sc#4%C|h zBN<2U;7k>&G_wL4=Ve5z`ubVD&*Hxi)r@{4RCDw7U_D`lbC(9&pG5C*z#W>8>HU)h z!h3g?2UL&sS!oY5$3?VlA0Me9W5e~V;2jds*fz^updz#AJ%G8w2V}AEE?E^=MK%Xt z__Bx1cr7+DQmuHmzn*|hh%~eEc9@m05@clWfpEFcr+06%0&dZJH&@8^&@*$qR@}o3 z@Tuuh2FsLz^zH+dN&T&?0G3I?MpmYJ;GP$J!EzjeM#YLJ!W$}MVNb0^HfOA>5Fe~UNn%Zk(PT@~9}1dt)1UQ zU*B5K?Dl#G74qmg|2>^>0WtLX#Jz{lO4NT`NYB*(L#D|5IpXr9v&7a@YsGp3vLR7L zHYGHZg7{ie6n~2p$6Yz>=^cEg7tEgk-1YRl%-s7^cbqFb(U7&Dp78+&ut5!Tn(hER z|Gp4Ed@CnOPeAe|N>U(dB;SZ?NU^AzoD^UAH_vamp6Ws}{|mSq`^+VP1g~2B{%N-!mWz<`)G)>V-<`9`L4?3dM%Qh6<@kba+m`JS{Ya@9Fq*m6$$ zA1%Ogc~VRH33|S9l%CNb4zM%k^EIpqY}@h{w(aBcJ9c05oiZx#SK9t->5lSI`=&l~ z+-Ic)a{FbBhXV$Xt!WRd`R#Jk-$+_Z52rS>?Vpt2IK<84|E-SBEoIw>cs=a{BlQ7O z-?{Fy_M&84&9|KM5wt~)*!~i~E=(6m8(uCO)I=)M?)&sRbzH$9Rovzd?ZEY}GqX+~ zFbEbLz`BZ49=2Yh-|<`waK-_4!7`ro@zlC|r&I4fc4oyb+m=|c8)8%tZ-z5FwhzDt zL5kB@u53`d@%nHl0Sp)Dw`(QU&>vujEn?GPEXUW!Wi<+4e%BORl&BIH+SwRcbS}X@ z01Pk|vA%OdJKAs17zSXtO55k!;%m9>1eW9LnyAX4uj7@${O6cfii`49qTNItzny5J zH&Gj`e}o}?xjQ}r?LrI%FjUd@xflT3|7LA|ka%Q3i}a8gVm<`HIWoJGH=$EGClX^C0lysQJ>UO(q&;`T#8txuoQ_{l^kEV9CAdXuU1Ghg8 zN_6hHFuy&1x24q5-(Z7;!poYdt*`UTdrQOIQ!2O7_+AHV2hgXaEz7)>$LEdG z<8vE^Tw$|YwZHZDPM!SNOAWG$?J)MdmEk{U!!$M#fp7*Wo}jJ$Q(=8>R`Ats?e|VU?Zt7Cdh%AdnfyN3MBWw{ z$OnREvPf7%z6`#2##_7id|H%Y{vV^vWXb?5d5?a_y&t3@p9t$ncHj-NBdo&X{wrfJ zamN)VMYROYh_SvjJ=Xd!Ga?PY_$;*L=SxFte!4O6%0HEh%iZ4=gvns7IWIyJHa|hT z2;1+e)`TvbNb3-0z&DD_)Jomsg-7p_Uh`wjGnU1urmv1_oVqRg#=C?e?!7DgtqojU zWoAB($&53;TsXu^@2;8M`#z{=rPy?JqgYM0CDf4v@z=ZD|ItJ&8%_7A#K?S{wjxgd z?xA6JdJojrWpB7fr2p_MSsU4(R7=XGS0+Eg#xR=j>`H@R9{XjwBmqAiOxOL` zt?XK-iTEOWV}f>Pz3H-s*>W z4~8C&Xq25UQ^xH6H9kY_RM1$ch+%YLF72AA7^b{~VNTG}Tj#qZltz5Q=qxR`&oIlW Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/examples/angular/row-dnd/src/index.html b/examples/angular/row-dnd/src/index.html new file mode 100644 index 0000000000..adc28921f9 --- /dev/null +++ b/examples/angular/row-dnd/src/index.html @@ -0,0 +1,14 @@ + + + + + Row Drag and drop + + + + + + + + + diff --git a/examples/angular/row-dnd/src/main.ts b/examples/angular/row-dnd/src/main.ts new file mode 100644 index 0000000000..0c3b92057c --- /dev/null +++ b/examples/angular/row-dnd/src/main.ts @@ -0,0 +1,5 @@ +import { bootstrapApplication } from '@angular/platform-browser' +import { appConfig } from './app/app.config' +import { AppComponent } from './app/app.component' + +bootstrapApplication(AppComponent, appConfig).catch(err => console.error(err)) diff --git a/examples/angular/row-dnd/src/styles.scss b/examples/angular/row-dnd/src/styles.scss new file mode 100644 index 0000000000..bcafc9601e --- /dev/null +++ b/examples/angular/row-dnd/src/styles.scss @@ -0,0 +1,41 @@ +html { + font-family: sans-serif; + font-size: 14px; +} + +table { + border: 1px solid lightgray; +} + +tbody { + border-bottom: 1px solid lightgray; +} + +th { + border-bottom: 1px solid lightgray; + border-right: 1px solid lightgray; + padding: 2px 4px; +} + +td { + border-right: 1px solid lightgray; + padding: 4px 4px; + background-color: white; +} + +td button { + padding: 1px 1rem; + cursor: grab; +} + +td:last-child { + border-right: 0; +} + +tfoot { + color: gray; +} + +tfoot th { + font-weight: normal; +} diff --git a/examples/angular/row-dnd/tsconfig.app.json b/examples/angular/row-dnd/tsconfig.app.json new file mode 100644 index 0000000000..84f1f992d2 --- /dev/null +++ b/examples/angular/row-dnd/tsconfig.app.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": ["src/main.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/examples/angular/row-dnd/tsconfig.json b/examples/angular/row-dnd/tsconfig.json new file mode 100644 index 0000000000..b58d3efc71 --- /dev/null +++ b/examples/angular/row-dnd/tsconfig.json @@ -0,0 +1,31 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "src", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "esModuleInterop": true, + "sourceMap": true, + "declaration": false, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "useDefineForClassFields": false, + "lib": ["ES2022", "dom"] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/examples/angular/row-dnd/tsconfig.spec.json b/examples/angular/row-dnd/tsconfig.spec.json new file mode 100644 index 0000000000..47e3dd7551 --- /dev/null +++ b/examples/angular/row-dnd/tsconfig.spec.json @@ -0,0 +1,9 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": ["jasmine"] + }, + "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 80bcb75124..6b3a532b2c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -391,6 +391,79 @@ importers: specifier: 5.4.5 version: 5.4.5 + examples/angular/column-resizing-performant: + dependencies: + '@angular/animations': + specifier: ^17.3.9 + version: 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) + '@angular/common': + specifier: ^17.3.9 + version: 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1) + '@angular/compiler': + specifier: ^17.3.9 + version: 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) + '@angular/core': + specifier: ^17.3.9 + version: 17.3.11(rxjs@7.8.1)(zone.js@0.14.7) + '@angular/forms': + specifier: ^17.3.9 + version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(rxjs@7.8.1) + '@angular/platform-browser': + specifier: ^17.3.9 + version: 17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) + '@angular/platform-browser-dynamic': + specifier: ^17.3.9 + version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))) + '@angular/router': + specifier: ^17.3.9 + version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(rxjs@7.8.1) + '@tanstack/angular-table': + specifier: ^8.21.0 + version: link:../../../packages/angular-table + rxjs: + specifier: ~7.8.1 + version: 7.8.1 + zone.js: + specifier: ~0.14.4 + version: 0.14.7 + devDependencies: + '@angular-devkit/build-angular': + specifier: ^17.3.8 + version: 17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.14.9)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(tslib@2.6.3)(typescript@5.4.5))(typescript@5.4.5) + '@angular/cli': + specifier: ^17.3.8 + version: 17.3.8(chokidar@3.6.0) + '@angular/compiler-cli': + specifier: ^17.3.9 + version: 17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5) + '@types/jasmine': + specifier: ~5.1.4 + version: 5.1.4 + jasmine-core: + specifier: ~5.1.2 + version: 5.1.2 + karma: + specifier: ~6.4.3 + version: 6.4.3 + karma-chrome-launcher: + specifier: ~3.2.0 + version: 3.2.0 + karma-coverage: + specifier: ~2.2.1 + version: 2.2.1 + karma-jasmine: + specifier: ~5.1.0 + version: 5.1.0(karma@6.4.3) + karma-jasmine-html-reporter: + specifier: ~2.1.0 + version: 2.1.0(jasmine-core@5.1.2)(karma-jasmine@5.1.0(karma@6.4.3))(karma@6.4.3) + tslib: + specifier: ^2.6.2 + version: 2.6.3 + typescript: + specifier: 5.4.5 + version: 5.4.5 + examples/angular/column-visibility: dependencies: '@angular/animations': @@ -461,6 +534,79 @@ importers: specifier: 5.4.5 version: 5.4.5 + examples/angular/editable: + dependencies: + '@angular/animations': + specifier: ^17.3.9 + version: 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) + '@angular/common': + specifier: ^17.3.9 + version: 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1) + '@angular/compiler': + specifier: ^17.3.9 + version: 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) + '@angular/core': + specifier: ^17.3.9 + version: 17.3.11(rxjs@7.8.1)(zone.js@0.14.7) + '@angular/forms': + specifier: ^17.3.9 + version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(rxjs@7.8.1) + '@angular/platform-browser': + specifier: ^17.3.9 + version: 17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) + '@angular/platform-browser-dynamic': + specifier: ^17.3.9 + version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))) + '@angular/router': + specifier: ^17.3.9 + version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(rxjs@7.8.1) + '@tanstack/angular-table': + specifier: ^8.21.0 + version: link:../../../packages/angular-table + rxjs: + specifier: ~7.8.1 + version: 7.8.1 + zone.js: + specifier: ~0.14.4 + version: 0.14.7 + devDependencies: + '@angular-devkit/build-angular': + specifier: ^17.3.8 + version: 17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.14.9)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(tslib@2.6.3)(typescript@5.4.5))(typescript@5.4.5) + '@angular/cli': + specifier: ^17.3.8 + version: 17.3.8(chokidar@3.6.0) + '@angular/compiler-cli': + specifier: ^17.3.9 + version: 17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5) + '@types/jasmine': + specifier: ~5.1.4 + version: 5.1.4 + jasmine-core: + specifier: ~5.1.2 + version: 5.1.2 + karma: + specifier: ~6.4.3 + version: 6.4.3 + karma-chrome-launcher: + specifier: ~3.2.0 + version: 3.2.0 + karma-coverage: + specifier: ~2.2.1 + version: 2.2.1 + karma-jasmine: + specifier: ~5.1.0 + version: 5.1.0(karma@6.4.3) + karma-jasmine-html-reporter: + specifier: ~2.1.0 + version: 2.1.0(jasmine-core@5.1.2)(karma-jasmine@5.1.0(karma@6.4.3))(karma@6.4.3) + tslib: + specifier: ^2.6.2 + version: 2.6.3 + typescript: + specifier: 5.4.5 + version: 5.4.5 + examples/angular/filters: dependencies: '@angular/animations': @@ -607,6 +753,82 @@ importers: specifier: 5.4.5 version: 5.4.5 + examples/angular/row-dnd: + dependencies: + '@angular/animations': + specifier: ^17.3.9 + version: 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) + '@angular/cdk': + specifier: ^17.3.10 + version: 17.3.10(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1) + '@angular/common': + specifier: ^17.3.9 + version: 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1) + '@angular/compiler': + specifier: ^17.3.9 + version: 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) + '@angular/core': + specifier: ^17.3.9 + version: 17.3.11(rxjs@7.8.1)(zone.js@0.14.7) + '@angular/forms': + specifier: ^17.3.9 + version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(rxjs@7.8.1) + '@angular/platform-browser': + specifier: ^17.3.9 + version: 17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) + '@angular/platform-browser-dynamic': + specifier: ^17.3.9 + version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))) + '@angular/router': + specifier: ^17.3.9 + version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(rxjs@7.8.1) + '@tanstack/angular-table': + specifier: ^8.21.0 + version: link:../../../packages/angular-table + rxjs: + specifier: ~7.8.1 + version: 7.8.1 + zone.js: + specifier: ~0.14.4 + version: 0.14.7 + devDependencies: + '@angular-devkit/build-angular': + specifier: ^17.3.8 + version: 17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.14.9)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(tslib@2.6.3)(typescript@5.4.5))(typescript@5.4.5) + '@angular/cli': + specifier: ^17.3.8 + version: 17.3.8(chokidar@3.6.0) + '@angular/compiler-cli': + specifier: ^17.3.9 + version: 17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5) + '@types/jasmine': + specifier: ~5.1.4 + version: 5.1.4 + jasmine-core: + specifier: ~5.1.2 + version: 5.1.2 + karma: + specifier: ~6.4.3 + version: 6.4.3 + karma-chrome-launcher: + specifier: ~3.2.0 + version: 3.2.0 + karma-coverage: + specifier: ~2.2.1 + version: 2.2.1 + karma-jasmine: + specifier: ~5.1.0 + version: 5.1.0(karma@6.4.3) + karma-jasmine-html-reporter: + specifier: ~2.1.0 + version: 2.1.0(jasmine-core@5.1.2)(karma-jasmine@5.1.0(karma@6.4.3))(karma@6.4.3) + tslib: + specifier: ^2.6.2 + version: 2.6.3 + typescript: + specifier: 5.4.5 + version: 5.4.5 + examples/angular/row-selection: dependencies: '@angular/animations': @@ -3187,6 +3409,13 @@ packages: peerDependencies: '@angular/core': 17.3.11 + '@angular/cdk@17.3.10': + resolution: {integrity: sha512-b1qktT2c1TTTe5nTji/kFAVW92fULK0YhYAvJ+BjZTPKu2FniZNe8o4qqQ0pUuvtMu+ZQxp/QqFYoidIVCjScg==} + peerDependencies: + '@angular/common': ^17.0.0 || ^18.0.0 + '@angular/core': ^17.0.0 || ^18.0.0 + rxjs: ^6.5.3 || ^7.4.0 + '@angular/cli@17.3.8': resolution: {integrity: sha512-X5ZOQ6ZTKVHjhIsfl32ZRqbs+FUoeHLbT7x4fh2Os/8ObDDwrUcCJPqxe2b2RB5E2d0vepYigknHeLE7gwzlNQ==} engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -6017,6 +6246,7 @@ packages: acorn-import-assertions@1.9.0: resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + deprecated: package has been renamed to acorn-import-attributes peerDependencies: acorn: ^8 @@ -10570,6 +10800,15 @@ snapshots: '@angular/core': 17.3.11(rxjs@7.8.1)(zone.js@0.14.7) tslib: 2.6.3 + '@angular/cdk@17.3.10(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1)': + dependencies: + '@angular/common': 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1) + '@angular/core': 17.3.11(rxjs@7.8.1)(zone.js@0.14.7) + rxjs: 7.8.1 + tslib: 2.6.3 + optionalDependencies: + parse5: 7.1.2 + '@angular/cli@17.3.8(chokidar@3.6.0)': dependencies: '@angular-devkit/architect': 0.1703.8(chokidar@3.6.0) @@ -10663,7 +10902,7 @@ snapshots: '@babel/code-frame@7.24.7': dependencies: '@babel/highlight': 7.24.7 - picocolors: 1.0.1 + picocolors: 1.1.1 '@babel/compat-data@7.24.7': {} @@ -10675,10 +10914,10 @@ snapshots: '@babel/helper-compilation-targets': 7.24.7 '@babel/helper-module-transforms': 7.24.7(@babel/core@7.23.9) '@babel/helpers': 7.24.7 - '@babel/parser': 7.24.7 + '@babel/parser': 7.26.3 '@babel/template': 7.24.7 '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 convert-source-map: 2.0.0 debug: 4.3.6 gensync: 1.0.0-beta.2 @@ -10695,10 +10934,10 @@ snapshots: '@babel/helper-compilation-targets': 7.24.7 '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.0) '@babel/helpers': 7.24.7 - '@babel/parser': 7.24.7 + '@babel/parser': 7.26.3 '@babel/template': 7.24.7 '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 convert-source-map: 2.0.0 debug: 4.3.6 gensync: 1.0.0-beta.2 @@ -10729,21 +10968,21 @@ snapshots: '@babel/generator@7.23.6': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 '@babel/generator@7.24.7': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 '@babel/helper-annotate-as-pure@7.22.5': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 '@babel/helper-annotate-as-pure@7.24.7': dependencies: @@ -10752,7 +10991,7 @@ snapshots: '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': dependencies: '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color @@ -10843,16 +11082,16 @@ snapshots: '@babel/helper-environment-visitor@7.24.7': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 '@babel/helper-function-name@7.24.7': dependencies: '@babel/template': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 '@babel/helper-hoist-variables@7.24.7': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 '@babel/helper-member-expression-to-functions@7.24.7': dependencies: @@ -10867,7 +11106,7 @@ snapshots: '@babel/helper-module-imports@7.22.15': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 '@babel/helper-module-imports@7.24.7': dependencies: @@ -10954,24 +11193,24 @@ snapshots: '@babel/helper-simple-access@7.24.7': dependencies: '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.24.7': dependencies: '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color '@babel/helper-split-export-declaration@7.22.6': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 '@babel/helper-split-export-declaration@7.24.7': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 '@babel/helper-string-parser@7.24.7': {} @@ -10995,18 +11234,18 @@ snapshots: '@babel/helpers@7.24.7': dependencies: '@babel/template': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 '@babel/highlight@7.24.7': dependencies: '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.1 + picocolors: 1.1.1 '@babel/parser@7.24.7': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 '@babel/parser@7.26.3': dependencies: @@ -12161,14 +12400,14 @@ snapshots: dependencies: '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 esutils: 2.0.3 '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-plugin-utils': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 esutils: 2.0.3 '@babel/preset-react@7.24.7(@babel/core@7.24.7)': @@ -12207,8 +12446,8 @@ snapshots: '@babel/template@7.24.7': dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 '@babel/traverse@7.24.7': dependencies: @@ -12218,8 +12457,8 @@ snapshots: '@babel/helper-function-name': 7.24.7 '@babel/helper-hoist-variables': 7.24.7 '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 debug: 4.3.6 globals: 11.12.0 transitivePeerDependencies: @@ -13687,11 +13926,11 @@ snapshots: '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 9.6.1 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/eslint@9.6.1': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 '@types/estree@1.0.5': {} @@ -14396,7 +14635,7 @@ snapshots: caniuse-lite: 1.0.30001638 fraction.js: 4.3.7 normalize-range: 0.1.2 - picocolors: 1.0.1 + picocolors: 1.1.1 postcss: 8.4.35 postcss-value-parser: 4.2.0 @@ -14417,7 +14656,7 @@ snapshots: '@babel/core': 7.24.7 '@babel/parser': 7.26.3 '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color @@ -14746,7 +14985,7 @@ snapshots: code-red@1.0.4: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 acorn: 8.12.1 estree-walker: 3.0.3 periscopic: 3.1.0 @@ -14901,7 +15140,7 @@ snapshots: dom-serializer: 2.0.0 domhandler: 5.0.3 htmlparser2: 8.0.2 - postcss: 8.4.39 + postcss: 8.4.49 postcss-media-query-parser: 0.2.3 cross-spawn@5.1.0: @@ -14918,12 +15157,12 @@ snapshots: css-loader@6.10.0(webpack@5.90.3(esbuild@0.20.1)): dependencies: - icss-utils: 5.1.0(postcss@8.4.39) - postcss: 8.4.39 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.39) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.39) - postcss-modules-scope: 3.2.0(postcss@8.4.39) - postcss-modules-values: 4.0.0(postcss@8.4.39) + icss-utils: 5.1.0(postcss@8.4.49) + postcss: 8.4.49 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.49) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.49) + postcss-modules-scope: 3.2.0(postcss@8.4.49) + postcss-modules-values: 4.0.0(postcss@8.4.49) postcss-value-parser: 4.2.0 semver: 7.6.3 optionalDependencies: @@ -14940,7 +15179,7 @@ snapshots: css-tree@2.3.1: dependencies: mdn-data: 2.0.30 - source-map-js: 1.2.0 + source-map-js: 1.2.1 css-what@6.1.0: {} @@ -15439,7 +15678,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 esutils@2.0.3: {} @@ -15963,9 +16202,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.4.39): + icss-utils@5.1.0(postcss@8.4.49): dependencies: - postcss: 8.4.39 + postcss: 8.4.49 identity-function@1.0.0: {} @@ -16111,7 +16350,7 @@ snapshots: is-reference@3.0.2: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 is-relative@1.0.0: dependencies: @@ -16158,7 +16397,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.24.7 - '@babel/parser': 7.24.7 + '@babel/parser': 7.26.3 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -16393,7 +16632,7 @@ snapshots: launch-editor@2.8.0: dependencies: - picocolors: 1.0.1 + picocolors: 1.1.1 shell-quote: 1.8.1 less-loader@11.1.0(less@4.2.0)(webpack@5.90.3(esbuild@0.20.1)): @@ -16761,7 +17000,7 @@ snapshots: nanospinner@1.1.0: dependencies: - picocolors: 1.0.1 + picocolors: 1.1.1 nanostores@0.11.3: {} @@ -17196,7 +17435,7 @@ snapshots: periscopic@3.1.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-walker: 3.0.3 is-reference: 3.0.2 @@ -17248,26 +17487,26 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.4.39): + postcss-modules-extract-imports@3.1.0(postcss@8.4.49): dependencies: - postcss: 8.4.39 + postcss: 8.4.49 - postcss-modules-local-by-default@4.0.5(postcss@8.4.39): + postcss-modules-local-by-default@4.0.5(postcss@8.4.49): dependencies: - icss-utils: 5.1.0(postcss@8.4.39) - postcss: 8.4.39 + icss-utils: 5.1.0(postcss@8.4.49) + postcss: 8.4.49 postcss-selector-parser: 6.1.0 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.0(postcss@8.4.39): + postcss-modules-scope@3.2.0(postcss@8.4.49): dependencies: - postcss: 8.4.39 + postcss: 8.4.49 postcss-selector-parser: 6.1.0 - postcss-modules-values@4.0.0(postcss@8.4.39): + postcss-modules-values@4.0.0(postcss@8.4.49): dependencies: - icss-utils: 5.1.0(postcss@8.4.39) - postcss: 8.4.39 + icss-utils: 5.1.0(postcss@8.4.49) + postcss: 8.4.49 postcss-selector-parser@6.1.0: dependencies: @@ -17279,8 +17518,8 @@ snapshots: postcss@8.4.35: dependencies: nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.0 + picocolors: 1.1.1 + source-map-js: 1.2.1 postcss@8.4.39: dependencies: @@ -17553,7 +17792,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.4.39 + postcss: 8.4.49 source-map: 0.6.1 resolve.exports@2.0.2: {} @@ -17715,13 +17954,13 @@ snapshots: dependencies: chokidar: 3.6.0 immutable: 4.3.6 - source-map-js: 1.2.0 + source-map-js: 1.2.1 sass@1.77.6: dependencies: chokidar: 3.6.0 immutable: 4.3.6 - source-map-js: 1.2.0 + source-map-js: 1.2.1 sax@1.4.1: optional: true @@ -18058,7 +18297,7 @@ snapshots: source-map-loader@5.0.0(webpack@5.90.3(esbuild@0.20.1)): dependencies: iconv-lite: 0.6.3 - source-map-js: 1.2.0 + source-map-js: 1.2.1 webpack: 5.90.3(esbuild@0.21.5) source-map-support@0.5.21: @@ -18539,7 +18778,7 @@ snapshots: dependencies: browserslist: 4.23.1 escalade: 3.1.2 - picocolors: 1.0.1 + picocolors: 1.1.1 update-check@1.5.4: dependencies: @@ -18659,8 +18898,8 @@ snapshots: vite@5.1.7(@types/node@20.14.9)(less@4.2.0)(sass@1.71.1)(terser@5.29.1): dependencies: esbuild: 0.19.12 - postcss: 8.4.39 - rollup: 4.18.0 + postcss: 8.4.49 + rollup: 4.29.1 optionalDependencies: '@types/node': 20.14.9 fsevents: 2.3.3 @@ -18870,7 +19109,7 @@ snapshots: webpack@5.90.3(esbuild@0.21.5): dependencies: '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 From 190c66906e8f2b444f86bbf69e50183cb23e65e2 Mon Sep 17 00:00:00 2001 From: Riccardo Perra Date: Tue, 21 Jan 2025 18:40:34 +0100 Subject: [PATCH 04/22] docs(angular): add missing faker-js deps (#5883) --- examples/angular/column-resizing-performant/package.json | 1 + examples/angular/editable/package.json | 1 + examples/angular/row-dnd/package.json | 3 ++- pnpm-lock.yaml | 9 +++++++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/examples/angular/column-resizing-performant/package.json b/examples/angular/column-resizing-performant/package.json index a61a62b8a3..f6888333d5 100644 --- a/examples/angular/column-resizing-performant/package.json +++ b/examples/angular/column-resizing-performant/package.json @@ -18,6 +18,7 @@ "@angular/platform-browser": "^17.3.9", "@angular/platform-browser-dynamic": "^17.3.9", "@angular/router": "^17.3.9", + "@faker-js/faker": "^8.4.1", "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" diff --git a/examples/angular/editable/package.json b/examples/angular/editable/package.json index b01d3ffe33..8fc6b2a49e 100644 --- a/examples/angular/editable/package.json +++ b/examples/angular/editable/package.json @@ -18,6 +18,7 @@ "@angular/platform-browser": "^17.3.9", "@angular/platform-browser-dynamic": "^17.3.9", "@angular/router": "^17.3.9", + "@faker-js/faker": "^8.4.1", "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" diff --git a/examples/angular/row-dnd/package.json b/examples/angular/row-dnd/package.json index af045e7d7a..67bdaae19d 100644 --- a/examples/angular/row-dnd/package.json +++ b/examples/angular/row-dnd/package.json @@ -11,14 +11,15 @@ "private": true, "dependencies": { "@angular/animations": "^17.3.9", + "@angular/cdk": "^17.3.10", "@angular/common": "^17.3.9", "@angular/compiler": "^17.3.9", - "@angular/cdk": "^17.3.10", "@angular/core": "^17.3.9", "@angular/forms": "^17.3.9", "@angular/platform-browser": "^17.3.9", "@angular/platform-browser-dynamic": "^17.3.9", "@angular/router": "^17.3.9", + "@faker-js/faker": "^8.4.1", "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", "zone.js": "~0.14.4" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6b3a532b2c..ea56f88c08 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -417,6 +417,9 @@ importers: '@angular/router': specifier: ^17.3.9 version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(rxjs@7.8.1) + '@faker-js/faker': + specifier: ^8.4.1 + version: 8.4.1 '@tanstack/angular-table': specifier: ^8.21.0 version: link:../../../packages/angular-table @@ -560,6 +563,9 @@ importers: '@angular/router': specifier: ^17.3.9 version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(rxjs@7.8.1) + '@faker-js/faker': + specifier: ^8.4.1 + version: 8.4.1 '@tanstack/angular-table': specifier: ^8.21.0 version: link:../../../packages/angular-table @@ -782,6 +788,9 @@ importers: '@angular/router': specifier: ^17.3.9 version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(rxjs@7.8.1) + '@faker-js/faker': + specifier: ^8.4.1 + version: 8.4.1 '@tanstack/angular-table': specifier: ^8.21.0 version: link:../../../packages/angular-table From 9763877e329882a8dcd6457e9d818cf40094952d Mon Sep 17 00:00:00 2001 From: Luke Schierer <2224044+lschierer@users.noreply.github.com> Date: Mon, 27 Jan 2025 13:02:45 -0500 Subject: [PATCH 05/22] fix(lit-table): dynamic data updates in the Lit Table Adapter (#5884) * this fixes an issue I discussed in discord where with the lit table adapter, updating a data array did not get reflected by the table. It is a one-line change to the TableController, and a new example that demonstrates the difference. * Update packages/lit-table/src/index.ts per suggestion from @kadoshms Co-authored-by: Mor Kadosh --------- Co-authored-by: Luke Schierer Co-authored-by: Mor Kadosh --- examples/lit/sorting-dynamic-data/.gitignore | 5 + examples/lit/sorting-dynamic-data/README.md | 6 + examples/lit/sorting-dynamic-data/index.html | 14 ++ .../lit/sorting-dynamic-data/package.json | 21 ++ examples/lit/sorting-dynamic-data/src/main.ts | 235 ++++++++++++++++++ .../lit/sorting-dynamic-data/src/makeData.ts | 52 ++++ .../lit/sorting-dynamic-data/tsconfig.json | 25 ++ .../lit/sorting-dynamic-data/vite.config.js | 15 ++ packages/lit-table/src/index.ts | 2 + 9 files changed, 375 insertions(+) create mode 100644 examples/lit/sorting-dynamic-data/.gitignore create mode 100644 examples/lit/sorting-dynamic-data/README.md create mode 100644 examples/lit/sorting-dynamic-data/index.html create mode 100644 examples/lit/sorting-dynamic-data/package.json create mode 100644 examples/lit/sorting-dynamic-data/src/main.ts create mode 100644 examples/lit/sorting-dynamic-data/src/makeData.ts create mode 100644 examples/lit/sorting-dynamic-data/tsconfig.json create mode 100644 examples/lit/sorting-dynamic-data/vite.config.js diff --git a/examples/lit/sorting-dynamic-data/.gitignore b/examples/lit/sorting-dynamic-data/.gitignore new file mode 100644 index 0000000000..d451ff16c1 --- /dev/null +++ b/examples/lit/sorting-dynamic-data/.gitignore @@ -0,0 +1,5 @@ +node_modules +.DS_Store +dist +dist-ssr +*.local diff --git a/examples/lit/sorting-dynamic-data/README.md b/examples/lit/sorting-dynamic-data/README.md new file mode 100644 index 0000000000..b168d3c4b1 --- /dev/null +++ b/examples/lit/sorting-dynamic-data/README.md @@ -0,0 +1,6 @@ +# Example + +To run this example: + +- `npm install` or `yarn` +- `npm run start` or `yarn start` diff --git a/examples/lit/sorting-dynamic-data/index.html b/examples/lit/sorting-dynamic-data/index.html new file mode 100644 index 0000000000..9807874fae --- /dev/null +++ b/examples/lit/sorting-dynamic-data/index.html @@ -0,0 +1,14 @@ + + + + + + Vite App + + + +
+ + + + diff --git a/examples/lit/sorting-dynamic-data/package.json b/examples/lit/sorting-dynamic-data/package.json new file mode 100644 index 0000000000..36276a3dc6 --- /dev/null +++ b/examples/lit/sorting-dynamic-data/package.json @@ -0,0 +1,21 @@ +{ + "name": "tanstack-lit-table-example-sorting-dynamic-data", + "version": "0.0.0", + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build", + "serve": "vite preview", + "start": "vite" + }, + "dependencies": { + "@faker-js/faker": "^8.4.1", + "@tanstack/lit-table": "^8.20.5", + "lit": "^3.1.4" + }, + "devDependencies": { + "@rollup/plugin-replace": "^5.0.7", + "typescript": "5.4.5", + "vite": "^5.3.2" + } +} diff --git a/examples/lit/sorting-dynamic-data/src/main.ts b/examples/lit/sorting-dynamic-data/src/main.ts new file mode 100644 index 0000000000..7e1583c8c3 --- /dev/null +++ b/examples/lit/sorting-dynamic-data/src/main.ts @@ -0,0 +1,235 @@ +import { customElement } from 'lit/decorators.js' +import { html, LitElement, PropertyValueMap } from 'lit' +import { repeat } from 'lit/directives/repeat.js' +import { state } from 'lit/decorators/state.js' +import { + ColumnDef, + flexRender, + getCoreRowModel, + getSortedRowModel, + SortingFn, + type SortingState, + TableController, +} from '@tanstack/lit-table' + +import { makeData, Person } from './makeData' + +const sortStatusFn: SortingFn = (rowA, rowB, _columnId) => { + const statusA = rowA.original.status + const statusB = rowB.original.status + const statusOrder = ['single', 'complicated', 'relationship'] + return statusOrder.indexOf(statusA) - statusOrder.indexOf(statusB) +} + +const columns: ColumnDef[] = [ + { + accessorKey: 'firstName', + cell: info => info.getValue(), + //this column will sort in ascending order by default since it is a string column + }, + { + accessorFn: row => row.lastName, + id: 'lastName', + cell: info => info.getValue(), + header: () => html`Last Name`, + sortUndefined: 'last', //force undefined values to the end + sortDescFirst: false, //first sort order will be ascending (nullable values can mess up auto detection of sort order) + }, + { + accessorKey: 'age', + header: () => 'Age', + //this column will sort in descending order by default since it is a number column + }, + { + accessorKey: 'visits', + header: () => html`Visits`, + sortUndefined: 'last', //force undefined values to the end + }, + { + accessorKey: 'status', + header: 'Status', + sortingFn: sortStatusFn, //use our custom sorting function for this enum column + }, + { + accessorKey: 'progress', + header: 'Profile Progress', + // enableSorting: false, //disable sorting for this column + }, + { + accessorKey: 'rank', + header: 'Rank', + invertSorting: true, //invert the sorting order (golf score-like where smaller is better) + }, + { + accessorKey: 'createdAt', + header: 'Created At', + // sortingFn: 'datetime' //make sure table knows this is a datetime column (usually can detect if no null values) + }, +] + +const data: Person[] = makeData(1000) + +@customElement('lit-table-example') +class LitTableExample extends LitElement { + @state() + private _sorting: SortingState = [] + + @state() + private _multiplier: number = 1 + + @state() + private _data: Person[] = new Array() + + private tableController = new TableController(this) + + constructor() { + super() + this._data = [...data] + } + + protected willUpdate( + _changedProperties: PropertyValueMap | Map + ): void { + super.willUpdate(_changedProperties) + if (_changedProperties.has('_multiplier')) { + const newData: Person[] = data.map(d => { + const p: Person = { + ...d, + visits: d.visits ? d.visits * this._multiplier : undefined, + } + return p + }) + this._data.length = 0 + this._data = newData + } + } + protected render() { + const table = this.tableController.table({ + columns, + data: this._data, + state: { + sorting: this._sorting, + }, + onSortingChange: updaterOrValue => { + if (typeof updaterOrValue === 'function') { + this._sorting = updaterOrValue(this._sorting) + } else { + this._sorting = updaterOrValue + } + }, + getSortedRowModel: getSortedRowModel(), + getCoreRowModel: getCoreRowModel(), + }) + + return html` + + + + ${repeat( + table.getHeaderGroups(), + headerGroup => headerGroup.id, + headerGroup => html` + + ${headerGroup.headers.map( + header => html` + + ` + )} + + ` + )} + + + ${table + .getRowModel() + .rows.slice(0, 10) + .map( + row => html` + + ${row + .getVisibleCells() + .map( + cell => html` + + ` + )} + + ` + )} + +
+ ${header.isPlaceholder + ? null + : html`
+ ${flexRender( + header.column.columnDef.header, + header.getContext() + )} + ${{ asc: ' 🔼', desc: ' 🔽' }[ + header.column.getIsSorted() as string + ] ?? null} +
`} +
+ ${flexRender( + cell.column.columnDef.cell, + cell.getContext() + )} +
+
${JSON.stringify(this._sorting, null, 2)}
+ + ` + } +} diff --git a/examples/lit/sorting-dynamic-data/src/makeData.ts b/examples/lit/sorting-dynamic-data/src/makeData.ts new file mode 100644 index 0000000000..d6c0639b22 --- /dev/null +++ b/examples/lit/sorting-dynamic-data/src/makeData.ts @@ -0,0 +1,52 @@ +import { faker } from '@faker-js/faker' + +export type Person = { + firstName: string + lastName: string | undefined + age: number + visits: number | undefined + progress: number + status: 'relationship' | 'complicated' | 'single' + rank: number + createdAt: Date + subRows?: Person[] +} + +const range = (len: number) => { + const arr: number[] = [] + for (let i = 0; i < len; i++) { + arr.push(i) + } + return arr +} + +const newPerson = (): Person => { + return { + firstName: faker.person.firstName(), + lastName: Math.random() < 0.1 ? undefined : faker.person.lastName(), + age: faker.number.int(40), + visits: Math.random() < 0.1 ? undefined : faker.number.int(1000), + progress: faker.number.int(100), + createdAt: faker.date.anytime(), + status: faker.helpers.shuffle([ + 'relationship', + 'complicated', + 'single', + ])[0]!, + rank: faker.number.int(100), + } +} + +export function makeData(...lens: number[]) { + const makeDataLevel = (depth = 0): Person[] => { + const len = lens[depth]! + return range(len).map((_d): Person => { + return { + ...newPerson(), + subRows: lens[depth + 1] ? makeDataLevel(depth + 1) : undefined, + } + }) + } + + return makeDataLevel() +} diff --git a/examples/lit/sorting-dynamic-data/tsconfig.json b/examples/lit/sorting-dynamic-data/tsconfig.json new file mode 100644 index 0000000000..56517d3a72 --- /dev/null +++ b/examples/lit/sorting-dynamic-data/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "target": "ES2020", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "useDefineForClassFields": false, + + /* Linting */ + "strict": true, + "noUnusedLocals": false, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/examples/lit/sorting-dynamic-data/vite.config.js b/examples/lit/sorting-dynamic-data/vite.config.js new file mode 100644 index 0000000000..fa3b238ac6 --- /dev/null +++ b/examples/lit/sorting-dynamic-data/vite.config.js @@ -0,0 +1,15 @@ +import { defineConfig } from 'vite' +import rollupReplace from '@rollup/plugin-replace' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + rollupReplace({ + preventAssignment: true, + values: { + __DEV__: JSON.stringify(true), + 'process.env.NODE_ENV': JSON.stringify('development'), + }, + }), + ], +}) diff --git a/packages/lit-table/src/index.ts b/packages/lit-table/src/index.ts index 1237d6553b..358bd3f7fe 100755 --- a/packages/lit-table/src/index.ts +++ b/packages/lit-table/src/index.ts @@ -55,6 +55,8 @@ export class TableController this.tableInstance.setOptions(prev => ({ ...prev, state: { ...this._tableState, ...options.state }, + data: options.data, + columns: options.columns, onStateChange: (updater: any) => { this._tableState = updater(this._tableState) this.host.requestUpdate() From 8d6e19fc7b4369125a135e79ce8cd5eed29c0850 Mon Sep 17 00:00:00 2001 From: Kevin Van Cott Date: Sun, 2 Feb 2025 23:36:03 -0600 Subject: [PATCH 06/22] docs: add experimental virtualization example (#5895) * docs: add experimental virtualization example * work on experimental virtualized column examples --------- Co-authored-by: Kevin Van Cott --- docs/config.json | 8 + .../.gitignore | 5 + .../README.md | 6 + .../index.html | 14 + .../package.json | 26 ++ .../src/index.css | 53 +++ .../src/main.tsx | 370 +++++++++++++++ .../src/makeData.ts | 19 + .../tsconfig.json | 24 + .../vite.config.js | 17 + examples/react/virtualized-columns/index.html | 1 + .../react/virtualized-columns/package.json | 2 +- .../react/virtualized-columns/src/main.tsx | 438 ++++++++++++------ .../package.json | 2 +- .../virtualized-rows-experimental/.gitignore | 5 + .../virtualized-rows-experimental/README.md | 6 + .../virtualized-rows-experimental/index.html | 14 + .../package.json | 26 ++ .../src/index.css | 40 ++ .../src/main.tsx | 295 ++++++++++++ .../src/makeData.ts | 50 ++ .../tsconfig.json | 24 + .../vite.config.js | 17 + examples/react/virtualized-rows/index.html | 1 + examples/react/virtualized-rows/package.json | 2 +- examples/react/virtualized-rows/src/main.tsx | 162 ++++--- pnpm-lock.yaml | 140 +++++- 27 files changed, 1530 insertions(+), 237 deletions(-) create mode 100644 examples/react/virtualized-columns-expiremental/.gitignore create mode 100644 examples/react/virtualized-columns-expiremental/README.md create mode 100644 examples/react/virtualized-columns-expiremental/index.html create mode 100644 examples/react/virtualized-columns-expiremental/package.json create mode 100644 examples/react/virtualized-columns-expiremental/src/index.css create mode 100644 examples/react/virtualized-columns-expiremental/src/main.tsx create mode 100644 examples/react/virtualized-columns-expiremental/src/makeData.ts create mode 100644 examples/react/virtualized-columns-expiremental/tsconfig.json create mode 100644 examples/react/virtualized-columns-expiremental/vite.config.js create mode 100644 examples/react/virtualized-rows-experimental/.gitignore create mode 100644 examples/react/virtualized-rows-experimental/README.md create mode 100644 examples/react/virtualized-rows-experimental/index.html create mode 100644 examples/react/virtualized-rows-experimental/package.json create mode 100644 examples/react/virtualized-rows-experimental/src/index.css create mode 100644 examples/react/virtualized-rows-experimental/src/main.tsx create mode 100644 examples/react/virtualized-rows-experimental/src/makeData.ts create mode 100644 examples/react/virtualized-rows-experimental/tsconfig.json create mode 100644 examples/react/virtualized-rows-experimental/vite.config.js diff --git a/docs/config.json b/docs/config.json index e0da28e51b..0b68b8d81e 100644 --- a/docs/config.json +++ b/docs/config.json @@ -602,10 +602,18 @@ "to": "framework/react/examples/virtualized-columns", "label": "Virtualized Columns" }, + { + "to": "framework/react/examples/virtualized-columns-experimental", + "label": "Virtualized Columns (Experimental)" + }, { "to": "framework/react/examples/virtualized-rows", "label": "Virtualized Rows" }, + { + "to": "framework/react/examples/virtualized-rows-experimental", + "label": "Virtualized Rows (Experimental)" + }, { "to": "framework/react/examples/virtualized-infinite-scrolling", "label": "Virtualized Infinite Scrolling" diff --git a/examples/react/virtualized-columns-expiremental/.gitignore b/examples/react/virtualized-columns-expiremental/.gitignore new file mode 100644 index 0000000000..d451ff16c1 --- /dev/null +++ b/examples/react/virtualized-columns-expiremental/.gitignore @@ -0,0 +1,5 @@ +node_modules +.DS_Store +dist +dist-ssr +*.local diff --git a/examples/react/virtualized-columns-expiremental/README.md b/examples/react/virtualized-columns-expiremental/README.md new file mode 100644 index 0000000000..b168d3c4b1 --- /dev/null +++ b/examples/react/virtualized-columns-expiremental/README.md @@ -0,0 +1,6 @@ +# Example + +To run this example: + +- `npm install` or `yarn` +- `npm run start` or `yarn start` diff --git a/examples/react/virtualized-columns-expiremental/index.html b/examples/react/virtualized-columns-expiremental/index.html new file mode 100644 index 0000000000..fa04f89341 --- /dev/null +++ b/examples/react/virtualized-columns-expiremental/index.html @@ -0,0 +1,14 @@ + + + + + + Vite App + + + +
+ + + + diff --git a/examples/react/virtualized-columns-expiremental/package.json b/examples/react/virtualized-columns-expiremental/package.json new file mode 100644 index 0000000000..c9d262a0ca --- /dev/null +++ b/examples/react/virtualized-columns-expiremental/package.json @@ -0,0 +1,26 @@ +{ + "name": "tanstack-table-example-virtualized-columns-experimental", + "version": "0.0.0", + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build", + "serve": "vite preview", + "start": "vite" + }, + "dependencies": { + "@faker-js/faker": "^8.4.1", + "@tanstack/react-table": "^8.20.6", + "@tanstack/react-virtual": "^3.12.0", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@rollup/plugin-replace": "^5.0.7", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.3.1", + "typescript": "5.4.5", + "vite": "^5.3.2" + } +} diff --git a/examples/react/virtualized-columns-expiremental/src/index.css b/examples/react/virtualized-columns-expiremental/src/index.css new file mode 100644 index 0000000000..98d667b225 --- /dev/null +++ b/examples/react/virtualized-columns-expiremental/src/index.css @@ -0,0 +1,53 @@ +:root { + --virtual-padding-left: 0px; + --virtual-padding-right: 0px; +} + +html { + font-family: sans-serif; + font-size: 14px; +} + +table { + border-collapse: collapse; + border-spacing: 0; + font-family: arial, sans-serif; + table-layout: fixed; +} + +thead { + background: lightgray; +} + +tr { + border-bottom: 1px solid lightgray; +} + +th { + border-bottom: 1px solid lightgray; + border-right: 1px solid lightgray; + padding: 2px 4px; + text-align: left; +} + +td { + padding: 6px; +} + +.container { + border: 1px solid lightgray; + margin: 1rem auto; +} + +.app { + margin: 1rem auto; + text-align: center; +} + +.left-column-spacer { + width: var(--virtual-padding-left); +} + +.right-column-spacer { + width: var(--virtual-padding-right); +} diff --git a/examples/react/virtualized-columns-expiremental/src/main.tsx b/examples/react/virtualized-columns-expiremental/src/main.tsx new file mode 100644 index 0000000000..b148f30f5a --- /dev/null +++ b/examples/react/virtualized-columns-expiremental/src/main.tsx @@ -0,0 +1,370 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import './index.css' +import { + Cell, + ColumnDef, + Header, + HeaderGroup, + Row, + Table, + flexRender, + getCoreRowModel, + getSortedRowModel, + useReactTable, +} from '@tanstack/react-table' +import { useVirtualizer, Virtualizer } from '@tanstack/react-virtual' +import { makeColumns, makeData, Person } from './makeData' + +// All important CSS styles are included as inline styles for this example. This is not recommended for your code. +function App() { + const columns = React.useMemo[]>( + () => makeColumns(1_000), + [] + ) + + const [data, setData] = React.useState(() => makeData(1_000, columns)) + + const refreshData = React.useCallback(() => { + setData(makeData(1_000, columns)) + }, [columns]) + + const table = useReactTable({ + data, + columns, + getCoreRowModel: getCoreRowModel(), + getSortedRowModel: getSortedRowModel(), + debugTable: true, + }) + + return ( +
+ {process.env.NODE_ENV === 'development' ? ( +

+ Notice: You are currently running React in + development mode. Virtualized rendering performance will be slightly + degraded until this application is built for production. +

+ ) : null} +
({columns.length.toLocaleString()} columns)
+
({data.length.toLocaleString()} rows)
+ + +
+ ) +} + +interface TableContainerProps { + table: Table +} + +function TableContainer({ table }: TableContainerProps) { + const visibleColumns = table.getVisibleLeafColumns() + + //The virtualizers need to know the scrollable container element + const tableContainerRef = React.useRef(null) + + //we are using a slightly different virtualization strategy for columns (compared to virtual rows) in order to support dynamic row heights + const columnVirtualizer = useVirtualizer< + HTMLDivElement, + HTMLTableCellElement + >({ + count: visibleColumns.length, + estimateSize: index => visibleColumns[index].getSize(), //estimate width of each column for accurate scrollbar dragging + getScrollElement: () => tableContainerRef.current, + horizontal: true, + overscan: 3, //how many columns to render on each side off screen each way (adjust this for performance) + onChange: instance => { + const virtualColumns = instance.getVirtualItems() + // different virtualization strategy for columns - instead of absolute and translateY, we add empty columns to the left and right + const virtualPaddingLeft = virtualColumns[0]?.start ?? 0 + const virtualPaddingRight = + instance.getTotalSize() - + (virtualColumns[virtualColumns.length - 1]?.end ?? 0) + + document.documentElement.style.setProperty( + '--virtual-padding-left', + `${virtualPaddingLeft}px` + ) + document.documentElement.style.setProperty( + '--virtual-padding-right', + `${virtualPaddingRight}px` + ) + }, + }) + + return ( +
+ {/* Even though we're still using sematic table tags, we must use CSS grid and flexbox for dynamic row heights */} + + + +
+
+ ) +} + +interface TableHeadProps { + columnVirtualizer: Virtualizer + table: Table +} + +function TableHead({ table, columnVirtualizer }: TableHeadProps) { + return ( + + {table.getHeaderGroups().map(headerGroup => ( + + ))} + + ) +} + +interface TableHeadRowProps { + columnVirtualizer: Virtualizer + headerGroup: HeaderGroup +} + +function TableHeadRow({ columnVirtualizer, headerGroup }: TableHeadRowProps) { + const virtualColumnIndexes = columnVirtualizer.getVirtualIndexes() + + return ( + + {/* fake empty column to the left for virtualization scroll padding */} + + {virtualColumnIndexes.map(virtualColumnIndex => { + const header = headerGroup.headers[virtualColumnIndex] + return ( + + ) + })} + {/* fake empty column to the right for virtualization scroll padding */} + + + ) +} + +interface TableHeadCellProps { + columnVirtualizer: Virtualizer + header: Header +} + +function TableHeadCell({ + columnVirtualizer: _columnVirtualizer, + header, +}: TableHeadCellProps) { + return ( + +
+ {flexRender(header.column.columnDef.header, header.getContext())} + {{ + asc: ' 🔼', + desc: ' 🔽', + }[header.column.getIsSorted() as string] ?? null} +
+ + ) +} + +const TableHeadCellMemo = React.memo( + TableHeadCell, + (_prev, next) => next.columnVirtualizer.isScrolling +) as typeof TableHeadCell + +interface TableBodyProps { + columnVirtualizer: Virtualizer + table: Table + tableContainerRef: React.RefObject +} + +function TableBody({ + columnVirtualizer, + table, + tableContainerRef, +}: TableBodyProps) { + const rowRefsMap = React.useRef>(new Map()) + + const { rows } = table.getRowModel() + + //dynamic row height virtualization - alternatively you could use a simpler fixed row height strategy without the need for `measureElement` + const rowVirtualizer = useVirtualizer({ + count: rows.length, + estimateSize: () => 33, //estimate row height for accurate scrollbar dragging + getScrollElement: () => tableContainerRef.current, + //measure dynamic row height, except in firefox because it measures table border height incorrectly + measureElement: + typeof window !== 'undefined' && + navigator.userAgent.indexOf('Firefox') === -1 + ? element => element?.getBoundingClientRect().height + : undefined, + overscan: 5, + onChange: instance => { + instance.getVirtualItems().forEach(virtualRow => { + const rowRef = rowRefsMap.current.get(virtualRow.index) + if (!rowRef) return + rowRef.style.transform = `translateY(${virtualRow.start}px)` + }) + }, + }) + + const virtualRowIndexes = rowVirtualizer.getVirtualIndexes() + + return ( + + {virtualRowIndexes.map(virtualRowIndex => { + const row = rows[virtualRowIndex] as Row + + return ( + + ) + })} + + ) +} + +interface TableBodyRowProps { + columnVirtualizer: Virtualizer + row: Row + rowVirtualizer: Virtualizer + virtualRowIndex: number + rowRefsMap: React.MutableRefObject> +} + +function TableBodyRow({ + columnVirtualizer, + row, + rowVirtualizer, + virtualRowIndex, + rowRefsMap, +}: TableBodyRowProps) { + const visibleCells = row.getVisibleCells() + const virtualColumnIndexes = columnVirtualizer.getVirtualIndexes() + + return ( + { + if (node) { + rowVirtualizer.measureElement(node) + rowRefsMap.current.set(virtualRowIndex, node) + } + }} //measure dynamic row height + key={row.id} + style={{ + display: 'flex', + position: 'absolute', + width: '100%', + }} + > + {/* fake empty column to the left for virtualization scroll padding */} + + {virtualColumnIndexes.map(virtualColumnIndex => { + const cell = visibleCells[virtualColumnIndex] + return ( + + ) + })} + {/* fake empty column to the right for virtualization scroll padding */} + + + ) +} + +// TODO: Can rows be memoized in any way without breaking column virtualization? +// const TableBodyRowMemo = React.memo( +// TableBodyRow, +// (_prev, next) => next.rowVirtualizer.isScrolling +// ) + +interface TableBodyCellProps { + cell: Cell + columnVirtualizer: Virtualizer +} + +function TableBodyCell({ + cell, + columnVirtualizer: _columnVirtualizer, +}: TableBodyCellProps) { + return ( + + {flexRender(cell.column.columnDef.cell, cell.getContext())} + + ) +} + +const TableBodyCellMemo = React.memo( + TableBodyCell, + (_prev, next) => next.columnVirtualizer.isScrolling +) as typeof TableBodyCell + +const rootElement = document.getElementById('root') + +if (!rootElement) throw new Error('Failed to find the root element') + +ReactDOM.createRoot(rootElement).render( + + + +) diff --git a/examples/react/virtualized-columns-expiremental/src/makeData.ts b/examples/react/virtualized-columns-expiremental/src/makeData.ts new file mode 100644 index 0000000000..3fde072d12 --- /dev/null +++ b/examples/react/virtualized-columns-expiremental/src/makeData.ts @@ -0,0 +1,19 @@ +import { faker } from '@faker-js/faker' + +export const makeColumns = num => + [...Array(num)].map((_, i) => { + return { + accessorKey: i.toString(), + header: 'Column ' + i.toString(), + size: Math.floor(Math.random() * 150) + 100, + } + }) + +export const makeData = (num, columns) => + [...Array(num)].map(() => ({ + ...Object.fromEntries( + columns.map(col => [col.accessorKey, faker.person.firstName()]) + ), + })) + +export type Person = ReturnType[0] diff --git a/examples/react/virtualized-columns-expiremental/tsconfig.json b/examples/react/virtualized-columns-expiremental/tsconfig.json new file mode 100644 index 0000000000..6d545f543f --- /dev/null +++ b/examples/react/virtualized-columns-expiremental/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/examples/react/virtualized-columns-expiremental/vite.config.js b/examples/react/virtualized-columns-expiremental/vite.config.js new file mode 100644 index 0000000000..2e1361723a --- /dev/null +++ b/examples/react/virtualized-columns-expiremental/vite.config.js @@ -0,0 +1,17 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' +import rollupReplace from '@rollup/plugin-replace' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + rollupReplace({ + preventAssignment: true, + values: { + __DEV__: JSON.stringify(true), + 'process.env.NODE_ENV': JSON.stringify('development'), + }, + }), + react(), + ], +}) diff --git a/examples/react/virtualized-columns/index.html b/examples/react/virtualized-columns/index.html index 3fc40c9367..fa04f89341 100644 --- a/examples/react/virtualized-columns/index.html +++ b/examples/react/virtualized-columns/index.html @@ -8,6 +8,7 @@
+ diff --git a/examples/react/virtualized-columns/package.json b/examples/react/virtualized-columns/package.json index 91126df109..3bb33f21af 100644 --- a/examples/react/virtualized-columns/package.json +++ b/examples/react/virtualized-columns/package.json @@ -11,7 +11,7 @@ "dependencies": { "@faker-js/faker": "^8.4.1", "@tanstack/react-table": "^8.20.6", - "@tanstack/react-virtual": "^3.8.1", + "@tanstack/react-virtual": "^3.12.0", "react": "^18.3.1", "react-dom": "^18.3.1" }, diff --git a/examples/react/virtualized-columns/src/main.tsx b/examples/react/virtualized-columns/src/main.tsx index 982b6447db..13076d02b0 100644 --- a/examples/react/virtualized-columns/src/main.tsx +++ b/examples/react/virtualized-columns/src/main.tsx @@ -1,19 +1,23 @@ import React from 'react' import ReactDOM from 'react-dom/client' - import './index.css' - import { + Cell, ColumnDef, + Header, + HeaderGroup, + Row, + Table, flexRender, getCoreRowModel, getSortedRowModel, - Row, useReactTable, } from '@tanstack/react-table' - -import { useVirtualizer } from '@tanstack/react-virtual' - +import { + useVirtualizer, + VirtualItem, + Virtualizer, +} from '@tanstack/react-virtual' import { makeColumns, makeData, Person } from './makeData' function App() { @@ -22,7 +26,11 @@ function App() { [] ) - const [data, _setData] = React.useState(() => makeData(1_000, columns)) + const [data, setData] = React.useState(() => makeData(1_000, columns)) + + const refreshData = React.useCallback(() => { + setData(makeData(1_000, columns)) + }, [columns]) const table = useReactTable({ data, @@ -32,15 +40,39 @@ function App() { debugTable: true, }) - const { rows } = table.getRowModel() + //All important CSS styles are included as inline styles for this example. This is not recommended for your code. + return ( +
+ {process.env.NODE_ENV === 'development' ? ( +

+ Notice: You are currently running React in + development mode. Virtualized rendering performance will be slightly + degraded until this application is built for production. +

+ ) : null} +
({columns.length.toLocaleString()} columns)
+
({data.length.toLocaleString()} rows)
+ + +
+ ) +} +interface TableContainerProps { + table: Table +} + +function TableContainer({ table }: TableContainerProps) { const visibleColumns = table.getVisibleLeafColumns() //The virtualizers need to know the scrollable container element const tableContainerRef = React.useRef(null) //we are using a slightly different virtualization strategy for columns (compared to virtual rows) in order to support dynamic row heights - const columnVirtualizer = useVirtualizer({ + const columnVirtualizer = useVirtualizer< + HTMLDivElement, + HTMLTableCellElement + >({ count: visibleColumns.length, estimateSize: index => visibleColumns[index].getSize(), //estimate width of each column for accurate scrollbar dragging getScrollElement: () => tableContainerRef.current, @@ -48,22 +80,7 @@ function App() { overscan: 3, //how many columns to render on each side off screen each way (adjust this for performance) }) - //dynamic row height virtualization - alternatively you could use a simpler fixed row height strategy without the need for `measureElement` - const rowVirtualizer = useVirtualizer({ - count: rows.length, - estimateSize: () => 33, //estimate row height for accurate scrollbar dragging - getScrollElement: () => tableContainerRef.current, - //measure dynamic row height, except in firefox because it measures table border height incorrectly - measureElement: - typeof window !== 'undefined' && - navigator.userAgent.indexOf('Firefox') === -1 - ? element => element?.getBoundingClientRect().height - : undefined, - overscan: 5, - }) - const virtualColumns = columnVirtualizer.getVirtualItems() - const virtualRows = rowVirtualizer.getVirtualItems() //different virtualization strategy for columns - instead of absolute and translateY, we add empty columns to the left and right let virtualPaddingLeft: number | undefined @@ -76,143 +93,256 @@ function App() { (virtualColumns[virtualColumns.length - 1]?.end ?? 0) } - //All important CSS styles are included as inline styles for this example. This is not recommended for your code. return ( -
- {process.env.NODE_ENV === 'development' ? ( -

- Notice: You are currently running React in - development mode. Virtualized rendering performance will be slightly - degraded until this application is built for production. -

+
+ {/* Even though we're still using sematic table tags, we must use CSS grid and flexbox for dynamic row heights */} + + + +
+
+ ) +} + +interface TableHeadProps { + columnVirtualizer: Virtualizer + table: Table + virtualPaddingLeft: number | undefined + virtualPaddingRight: number | undefined +} + +function TableHead({ + columnVirtualizer, + table, + virtualPaddingLeft, + virtualPaddingRight, +}: TableHeadProps) { + return ( + + {table.getHeaderGroups().map(headerGroup => ( + + ))} + + ) +} + +interface TableHeadRowProps { + columnVirtualizer: Virtualizer + headerGroup: HeaderGroup + virtualPaddingLeft: number | undefined + virtualPaddingRight: number | undefined +} + +function TableHeadRow({ + columnVirtualizer, + headerGroup, + virtualPaddingLeft, + virtualPaddingRight, +}: TableHeadRowProps) { + const virtualColumns = columnVirtualizer.getVirtualItems() + return ( + + {virtualPaddingLeft ? ( + //fake empty column to the left for virtualization scroll padding + ) : null} -
({columns.length.toLocaleString()} columns)
-
({data.length.toLocaleString()} rows)
+ {virtualColumns.map(virtualColumn => { + const header = headerGroup.headers[virtualColumn.index] + return + })} + {virtualPaddingRight ? ( + //fake empty column to the right for virtualization scroll padding + + ) : null} + + ) +} + +interface TableHeadCellProps { + header: Header +} +function TableHeadCell({ header }: TableHeadCellProps) { + return ( +
- {/* Even though we're still using sematic table tags, we must use CSS grid and flexbox for dynamic row heights */} - - - {table.getHeaderGroups().map(headerGroup => ( - - {virtualPaddingLeft ? ( - //fake empty column to the left for virtualization scroll padding - - ) - })} - {virtualPaddingRight ? ( - //fake empty column to the right for virtualization scroll padding - - ))} - - - {virtualRows.map(virtualRow => { - const row = rows[virtualRow.index] as Row - const visibleCells = row.getVisibleCells() - - return ( - rowVirtualizer.measureElement(node)} //measure dynamic row height - key={row.id} - style={{ - display: 'flex', - position: 'absolute', - transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll - width: '100%', - }} - > - {virtualPaddingLeft ? ( - //fake empty column to the left for virtualization scroll padding - - ) - })} - {virtualPaddingRight ? ( - //fake empty column to the right for virtualization scroll padding - - ) - })} - -
- ) : null} - {virtualColumns.map(vc => { - const header = headerGroup.headers[vc.index] - return ( - -
- {flexRender( - header.column.columnDef.header, - header.getContext() - )} - {{ - asc: ' 🔼', - desc: ' 🔽', - }[header.column.getIsSorted() as string] ?? null} -
-
- ) : null} -
- ) : null} - {virtualColumns.map(vc => { - const cell = visibleCells[vc.index] - return ( - - {flexRender( - cell.column.columnDef.cell, - cell.getContext() - )} - - ) : null} -
+ {flexRender(header.column.columnDef.header, header.getContext())} + {{ + asc: ' 🔼', + desc: ' 🔽', + }[header.column.getIsSorted() as string] ?? null}
-
+ + ) +} + +interface TableBodyProps { + columnVirtualizer: Virtualizer + table: Table + tableContainerRef: React.RefObject + virtualPaddingLeft: number | undefined + virtualPaddingRight: number | undefined +} + +function TableBody({ + columnVirtualizer, + table, + tableContainerRef, + virtualPaddingLeft, + virtualPaddingRight, +}: TableBodyProps) { + const { rows } = table.getRowModel() + + //dynamic row height virtualization - alternatively you could use a simpler fixed row height strategy without the need for `measureElement` + const rowVirtualizer = useVirtualizer({ + count: rows.length, + estimateSize: () => 33, //estimate row height for accurate scrollbar dragging + getScrollElement: () => tableContainerRef.current, + //measure dynamic row height, except in firefox because it measures table border height incorrectly + measureElement: + typeof window !== 'undefined' && + navigator.userAgent.indexOf('Firefox') === -1 + ? element => element?.getBoundingClientRect().height + : undefined, + overscan: 5, + }) + + const virtualRows = rowVirtualizer.getVirtualItems() + + return ( + + {virtualRows.map(virtualRow => { + const row = rows[virtualRow.index] as Row + + return ( + + ) + })} + + ) +} + +interface TableBodyRowProps { + columnVirtualizer: Virtualizer + row: Row + rowVirtualizer: Virtualizer + virtualPaddingLeft: number | undefined + virtualPaddingRight: number | undefined + virtualRow: VirtualItem +} + +function TableBodyRow({ + columnVirtualizer, + row, + rowVirtualizer, + virtualPaddingLeft, + virtualPaddingRight, + virtualRow, +}: TableBodyRowProps) { + const visibleCells = row.getVisibleCells() + const virtualColumns = columnVirtualizer.getVirtualItems() + return ( + rowVirtualizer.measureElement(node)} //measure dynamic row height + key={row.id} + style={{ + display: 'flex', + position: 'absolute', + transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll + width: '100%', + }} + > + {virtualPaddingLeft ? ( + //fake empty column to the left for virtualization scroll padding + + ) : null} + {virtualColumns.map(vc => { + const cell = visibleCells[vc.index] + return + })} + {virtualPaddingRight ? ( + //fake empty column to the right for virtualization scroll padding + + ) : null} + + ) +} + +interface TableBodyCellProps { + cell: Cell +} + +function TableBodyCell({ cell }: TableBodyCellProps) { + return ( + + {flexRender(cell.column.columnDef.cell, cell.getContext())} + ) } diff --git a/examples/react/virtualized-infinite-scrolling/package.json b/examples/react/virtualized-infinite-scrolling/package.json index 7250cfe972..2133608a90 100644 --- a/examples/react/virtualized-infinite-scrolling/package.json +++ b/examples/react/virtualized-infinite-scrolling/package.json @@ -12,7 +12,7 @@ "@faker-js/faker": "^8.4.1", "@tanstack/react-query": "^5.49.0", "@tanstack/react-table": "^8.20.6", - "@tanstack/react-virtual": "^3.8.1", + "@tanstack/react-virtual": "^3.12.0", "react": "^18.3.1", "react-dom": "^18.3.1" }, diff --git a/examples/react/virtualized-rows-experimental/.gitignore b/examples/react/virtualized-rows-experimental/.gitignore new file mode 100644 index 0000000000..d451ff16c1 --- /dev/null +++ b/examples/react/virtualized-rows-experimental/.gitignore @@ -0,0 +1,5 @@ +node_modules +.DS_Store +dist +dist-ssr +*.local diff --git a/examples/react/virtualized-rows-experimental/README.md b/examples/react/virtualized-rows-experimental/README.md new file mode 100644 index 0000000000..b168d3c4b1 --- /dev/null +++ b/examples/react/virtualized-rows-experimental/README.md @@ -0,0 +1,6 @@ +# Example + +To run this example: + +- `npm install` or `yarn` +- `npm run start` or `yarn start` diff --git a/examples/react/virtualized-rows-experimental/index.html b/examples/react/virtualized-rows-experimental/index.html new file mode 100644 index 0000000000..fa04f89341 --- /dev/null +++ b/examples/react/virtualized-rows-experimental/index.html @@ -0,0 +1,14 @@ + + + + + + Vite App + + + +
+ + + + diff --git a/examples/react/virtualized-rows-experimental/package.json b/examples/react/virtualized-rows-experimental/package.json new file mode 100644 index 0000000000..2a5e22a28e --- /dev/null +++ b/examples/react/virtualized-rows-experimental/package.json @@ -0,0 +1,26 @@ +{ + "name": "tanstack-table-example-virtualized-rows-experimental", + "version": "0.0.0", + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build", + "serve": "vite preview", + "start": "vite" + }, + "dependencies": { + "@faker-js/faker": "^8.4.1", + "@tanstack/react-table": "^8.20.6", + "@tanstack/react-virtual": "^3.12.0", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@rollup/plugin-replace": "^5.0.7", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.3.1", + "typescript": "5.4.5", + "vite": "^5.3.2" + } +} diff --git a/examples/react/virtualized-rows-experimental/src/index.css b/examples/react/virtualized-rows-experimental/src/index.css new file mode 100644 index 0000000000..6402cb4b8b --- /dev/null +++ b/examples/react/virtualized-rows-experimental/src/index.css @@ -0,0 +1,40 @@ +html { + font-family: sans-serif; + font-size: 14px; +} + +table { + border-collapse: collapse; + border-spacing: 0; + font-family: arial, sans-serif; + table-layout: fixed; +} + +thead { + background: lightgray; +} + +tr { + border-bottom: 1px solid lightgray; +} + +th { + border-bottom: 1px solid lightgray; + border-right: 1px solid lightgray; + padding: 2px 4px; + text-align: left; +} + +td { + padding: 6px; +} + +.container { + border: 1px solid lightgray; + margin: 1rem auto; +} + +.app { + margin: 1rem auto; + text-align: center; +} diff --git a/examples/react/virtualized-rows-experimental/src/main.tsx b/examples/react/virtualized-rows-experimental/src/main.tsx new file mode 100644 index 0000000000..b0e271b262 --- /dev/null +++ b/examples/react/virtualized-rows-experimental/src/main.tsx @@ -0,0 +1,295 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' + +import './index.css' + +import { + flexRender, + getCoreRowModel, + getSortedRowModel, + useReactTable, +} from '@tanstack/react-table' +import { useVirtualizer } from '@tanstack/react-virtual' +import { makeData } from './makeData' +import type { ColumnDef, Row, Table } from '@tanstack/react-table' +import type { Virtualizer } from '@tanstack/react-virtual' +import type { Person } from './makeData' + +// This is a dynamic row height example, which is more complicated, but allows for a more realistic table. +// See https://tanstack.com/virtual/v3/docs/examples/react/table for a simpler fixed row height example. +function App() { + const columns = React.useMemo>>( + () => [ + { + accessorKey: 'id', + header: 'ID', + size: 60, + }, + { + accessorKey: 'firstName', + cell: info => info.getValue(), + }, + { + accessorFn: row => row.lastName, + id: 'lastName', + cell: info => info.getValue(), + header: () => Last Name, + }, + { + accessorKey: 'age', + header: () => 'Age', + size: 50, + }, + { + accessorKey: 'visits', + header: () => Visits, + size: 50, + }, + { + accessorKey: 'status', + header: 'Status', + }, + { + accessorKey: 'progress', + header: 'Profile Progress', + size: 80, + }, + { + accessorKey: 'createdAt', + header: 'Created At', + cell: info => info.getValue().toLocaleString(), + size: 250, + }, + ], + [] + ) + + const [data, _setData] = React.useState(() => makeData(50_000)) + + const refreshData = React.useCallback(() => { + _setData(makeData(50_000)) + }, []) + + const table = useReactTable({ + data, + columns, + getCoreRowModel: getCoreRowModel(), + getSortedRowModel: getSortedRowModel(), + debugTable: true, + }) + + // The virtualizer needs to know the scrollable container element + const tableContainerRef = React.useRef(null) + + // All important CSS styles are included as inline styles for this example. This is not recommended for your code. + return ( +
+ {process.env.NODE_ENV === 'development' ? ( +

+ Notice: You are currently running React in + development mode. Virtualized rendering performance will be slightly + degraded until this application is built for production. +

+ ) : null} + ({data.length} rows) + +
+ {/* Even though we're still using sematic table tags, we must use CSS grid and flexbox for dynamic row heights */} + + + {table.getHeaderGroups().map(headerGroup => ( + + {headerGroup.headers.map(header => { + return ( + + ) + })} + + ))} + + +
+
+ {flexRender( + header.column.columnDef.header, + header.getContext() + )} + {{ + asc: ' 🔼', + desc: ' 🔽', + }[header.column.getIsSorted() as string] ?? null} +
+
+
+
+ ) +} + +interface TableBodyWrapperProps { + table: Table + tableContainerRef: React.RefObject +} + +function TableBodyWrapper({ table, tableContainerRef }: TableBodyWrapperProps) { + const rowRefsMap = React.useRef>(new Map()) + + const { rows } = table.getRowModel() + + const rowVirtualizer = useVirtualizer({ + count: rows.length, + estimateSize: () => 33, // estimate row height for accurate scrollbar dragging + getScrollElement: () => tableContainerRef.current, + // measure dynamic row height, except in firefox because it measures table border height incorrectly + measureElement: + typeof window !== 'undefined' && + navigator.userAgent.indexOf('Firefox') === -1 + ? element => element?.getBoundingClientRect().height + : undefined, + overscan: 5, + onChange: instance => { + instance.getVirtualItems().forEach(virtualRow => { + const rowRef = rowRefsMap.current.get(virtualRow.index) + if (!rowRef) return + rowRef.style.transform = `translateY(${virtualRow.start}px)` + }) + }, + }) + + return ( + + ) +} + +interface TableBodyProps { + table: Table + rowVirtualizer: Virtualizer + rowRefsMap: React.MutableRefObject> +} + +function TableBody({ rowVirtualizer, table, rowRefsMap }: TableBodyProps) { + const { rows } = table.getRowModel() + const virtualRowIndexes = rowVirtualizer.getVirtualIndexes() + + return ( + + {virtualRowIndexes.map(virtualRowIndex => { + const row = rows[virtualRowIndex] + return ( + + ) + })} + + ) +} + +interface TableBodyRowProps { + row: Row + rowRefsMap: React.MutableRefObject> + rowVirtualizer: Virtualizer + virtualRowIndex: number +} + +function TableBodyRow({ + row, + rowRefsMap, + rowVirtualizer, + virtualRowIndex, +}: TableBodyRowProps) { + return ( + { + if (node && virtualRowIndex) { + rowVirtualizer.measureElement(node) // measure dynamic row height + rowRefsMap.current.set(virtualRowIndex, node) // store ref for virtualizer to apply scrolling transforms + } + }} + key={row.id} + style={{ + display: 'flex', + position: 'absolute', + width: '100%', + }} + > + {row.getVisibleCells().map(cell => { + return ( + + {flexRender(cell.column.columnDef.cell, cell.getContext())} + + ) + })} + + ) +} + +// test out when rows don't re-render at all (future TanStack Virtual release can make this unnecessary) +const TableBodyRowMemo = React.memo( + TableBodyRow, + (_prev, next) => next.rowVirtualizer.isScrolling +) as typeof TableBodyRow + +const rootElement = document.getElementById('root') + +if (!rootElement) throw new Error('Failed to find the root element') + +ReactDOM.createRoot(rootElement).render( + + + +) diff --git a/examples/react/virtualized-rows-experimental/src/makeData.ts b/examples/react/virtualized-rows-experimental/src/makeData.ts new file mode 100644 index 0000000000..e5695467f5 --- /dev/null +++ b/examples/react/virtualized-rows-experimental/src/makeData.ts @@ -0,0 +1,50 @@ +import { faker } from '@faker-js/faker' + +export type Person = { + id: number + firstName: string + lastName: string + age: number + visits: number + progress: number + status: 'relationship' | 'complicated' | 'single' + createdAt: Date +} + +const range = (len: number) => { + const arr: number[] = [] + for (let i = 0; i < len; i++) { + arr.push(i) + } + return arr +} + +const newPerson = (index: number): Person => { + return { + id: index + 1, + firstName: faker.person.firstName(), + lastName: faker.person.lastName(), + age: faker.number.int(40), + visits: faker.number.int(1000), + progress: faker.number.int(100), + createdAt: faker.date.anytime(), + status: faker.helpers.shuffle([ + 'relationship', + 'complicated', + 'single', + ])[0]!, + } +} + +export function makeData(...lens: number[]) { + const makeDataLevel = (depth = 0): Person[] => { + const len = lens[depth]! + return range(len).map((d): Person => { + return { + ...newPerson(d), + } + }) + } + + return makeDataLevel() +} diff --git a/examples/react/virtualized-rows-experimental/tsconfig.json b/examples/react/virtualized-rows-experimental/tsconfig.json new file mode 100644 index 0000000000..6d545f543f --- /dev/null +++ b/examples/react/virtualized-rows-experimental/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/examples/react/virtualized-rows-experimental/vite.config.js b/examples/react/virtualized-rows-experimental/vite.config.js new file mode 100644 index 0000000000..2e1361723a --- /dev/null +++ b/examples/react/virtualized-rows-experimental/vite.config.js @@ -0,0 +1,17 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' +import rollupReplace from '@rollup/plugin-replace' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + rollupReplace({ + preventAssignment: true, + values: { + __DEV__: JSON.stringify(true), + 'process.env.NODE_ENV': JSON.stringify('development'), + }, + }), + react(), + ], +}) diff --git a/examples/react/virtualized-rows/index.html b/examples/react/virtualized-rows/index.html index 3fc40c9367..fa04f89341 100644 --- a/examples/react/virtualized-rows/index.html +++ b/examples/react/virtualized-rows/index.html @@ -8,6 +8,7 @@
+ diff --git a/examples/react/virtualized-rows/package.json b/examples/react/virtualized-rows/package.json index 9cf6df0b17..9f3b19b643 100644 --- a/examples/react/virtualized-rows/package.json +++ b/examples/react/virtualized-rows/package.json @@ -11,7 +11,7 @@ "dependencies": { "@faker-js/faker": "^8.4.1", "@tanstack/react-table": "^8.20.6", - "@tanstack/react-virtual": "^3.8.1", + "@tanstack/react-virtual": "^3.12.0", "react": "^18.3.1", "react-dom": "^18.3.1" }, diff --git a/examples/react/virtualized-rows/src/main.tsx b/examples/react/virtualized-rows/src/main.tsx index 630f3775de..9f9f72a2b7 100644 --- a/examples/react/virtualized-rows/src/main.tsx +++ b/examples/react/virtualized-rows/src/main.tsx @@ -9,11 +9,14 @@ import { getCoreRowModel, getSortedRowModel, Row, + Table, useReactTable, } from '@tanstack/react-table' - -import { useVirtualizer } from '@tanstack/react-virtual' - +import { + useVirtualizer, + VirtualItem, + Virtualizer, +} from '@tanstack/react-virtual' import { makeData, Person } from './makeData' //This is a dynamic row height example, which is more complicated, but allows for a more realistic table. @@ -65,7 +68,14 @@ function App() { [] ) - const [data, _setData] = React.useState(() => makeData(50_000)) + // The virtualizer will need a reference to the scrollable container element + const tableContainerRef = React.useRef(null) + + const [data, setData] = React.useState(() => makeData(50_000)) + + const refreshData = React.useCallback(() => { + setData(makeData(50_000)) + }, []) const table = useReactTable({ data, @@ -75,25 +85,7 @@ function App() { debugTable: true, }) - const { rows } = table.getRowModel() - - //The virtualizer needs to know the scrollable container element - const tableContainerRef = React.useRef(null) - - const rowVirtualizer = useVirtualizer({ - count: rows.length, - estimateSize: () => 33, //estimate row height for accurate scrollbar dragging - getScrollElement: () => tableContainerRef.current, - //measure dynamic row height, except in firefox because it measures table border height incorrectly - measureElement: - typeof window !== 'undefined' && - navigator.userAgent.indexOf('Firefox') === -1 - ? element => element?.getBoundingClientRect().height - : undefined, - overscan: 5, - }) - - //All important CSS styles are included as inline styles for this example. This is not recommended for your code. + // All important CSS styles are included as inline styles for this example. This is not recommended for your code. return (
{process.env.NODE_ENV === 'development' ? ( @@ -104,6 +96,7 @@ function App() {

) : null} ({data.length} rows) +
))} - - {rowVirtualizer.getVirtualItems().map(virtualRow => { - const row = rows[virtualRow.index] as Row - return ( - rowVirtualizer.measureElement(node)} //measure dynamic row height - key={row.id} - style={{ - display: 'flex', - position: 'absolute', - transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll - width: '100%', - }} - > - {row.getVisibleCells().map(cell => { - return ( - - {flexRender( - cell.column.columnDef.cell, - cell.getContext() - )} - - ) - })} - - ) - })} - +
) } +interface TableBodyProps { + table: Table + tableContainerRef: React.RefObject +} + +function TableBody({ table, tableContainerRef }: TableBodyProps) { + const { rows } = table.getRowModel() + + // Important: Keep the row virtualizer in the lowest component possible to avoid unnecessary re-renders. + const rowVirtualizer = useVirtualizer({ + count: rows.length, + estimateSize: () => 33, //estimate row height for accurate scrollbar dragging + getScrollElement: () => tableContainerRef.current, + //measure dynamic row height, except in firefox because it measures table border height incorrectly + measureElement: + typeof window !== 'undefined' && + navigator.userAgent.indexOf('Firefox') === -1 + ? element => element?.getBoundingClientRect().height + : undefined, + overscan: 5, + }) + + return ( + + {rowVirtualizer.getVirtualItems().map(virtualRow => { + const row = rows[virtualRow.index] as Row + return ( + + ) + })} + + ) +} + +interface TableBodyRowProps { + row: Row + virtualRow: VirtualItem + rowVirtualizer: Virtualizer +} + +function TableBodyRow({ row, virtualRow, rowVirtualizer }: TableBodyRowProps) { + return ( + rowVirtualizer.measureElement(node)} //measure dynamic row height + key={row.id} + style={{ + display: 'flex', + position: 'absolute', + transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll + width: '100%', + }} + > + {row.getVisibleCells().map(cell => { + return ( + + {flexRender(cell.column.columnDef.cell, cell.getContext())} + + ) + })} + + ) +} + const rootElement = document.getElementById('root') if (!rootElement) throw new Error('Failed to find the root element') diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ea56f88c08..956d45dbd7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1173,6 +1173,28 @@ importers: specifier: ^5.3.2 version: 5.3.2(@types/node@20.14.9)(less@4.2.0)(sass@1.77.6)(terser@5.31.1) + examples/lit/sorting-dynamic-data: + dependencies: + '@faker-js/faker': + specifier: ^8.4.1 + version: 8.4.1 + '@tanstack/lit-table': + specifier: ^8.20.5 + version: link:../../../packages/lit-table + lit: + specifier: ^3.1.4 + version: 3.1.4 + devDependencies: + '@rollup/plugin-replace': + specifier: ^5.0.7 + version: 5.0.7(rollup@4.29.1) + typescript: + specifier: 5.4.5 + version: 5.4.5 + vite: + specifier: ^5.3.2 + version: 5.4.11(@types/node@20.14.9)(less@4.2.0)(sass@1.77.6)(terser@5.31.1) + examples/lit/virtualized-rows: dependencies: '@faker-js/faker': @@ -2387,8 +2409,8 @@ importers: specifier: ^8.20.6 version: link:../../../packages/react-table '@tanstack/react-virtual': - specifier: ^3.8.1 - version: 3.8.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^3.12.0 + version: 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.3.1 version: 18.3.1 @@ -2415,6 +2437,43 @@ importers: specifier: ^5.3.2 version: 5.3.2(@types/node@20.14.9)(less@4.2.0)(sass@1.77.6)(terser@5.31.1) + examples/react/virtualized-columns-expiremental: + dependencies: + '@faker-js/faker': + specifier: ^8.4.1 + version: 8.4.1 + '@tanstack/react-table': + specifier: ^8.20.6 + version: link:../../../packages/react-table + '@tanstack/react-virtual': + specifier: ^3.12.0 + version: 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) + devDependencies: + '@rollup/plugin-replace': + specifier: ^5.0.7 + version: 5.0.7(rollup@4.29.1) + '@types/react': + specifier: ^18.3.3 + version: 18.3.3 + '@types/react-dom': + specifier: ^18.3.0 + version: 18.3.0 + '@vitejs/plugin-react': + specifier: ^4.3.1 + version: 4.3.1(vite@5.4.11(@types/node@20.14.9)(less@4.2.0)(sass@1.77.6)(terser@5.31.1)) + typescript: + specifier: 5.4.5 + version: 5.4.5 + vite: + specifier: ^5.3.2 + version: 5.4.11(@types/node@20.14.9)(less@4.2.0)(sass@1.77.6)(terser@5.31.1) + examples/react/virtualized-infinite-scrolling: dependencies: '@faker-js/faker': @@ -2427,8 +2486,8 @@ importers: specifier: ^8.20.6 version: link:../../../packages/react-table '@tanstack/react-virtual': - specifier: ^3.8.1 - version: 3.8.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^3.12.0 + version: 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.3.1 version: 18.3.1 @@ -2464,8 +2523,8 @@ importers: specifier: ^8.20.6 version: link:../../../packages/react-table '@tanstack/react-virtual': - specifier: ^3.8.1 - version: 3.8.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^3.12.0 + version: 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.3.1 version: 18.3.1 @@ -2492,6 +2551,43 @@ importers: specifier: ^5.3.2 version: 5.3.2(@types/node@20.14.9)(less@4.2.0)(sass@1.77.6)(terser@5.31.1) + examples/react/virtualized-rows-experimental: + dependencies: + '@faker-js/faker': + specifier: ^8.4.1 + version: 8.4.1 + '@tanstack/react-table': + specifier: ^8.20.6 + version: link:../../../packages/react-table + '@tanstack/react-virtual': + specifier: ^3.12.0 + version: 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) + devDependencies: + '@rollup/plugin-replace': + specifier: ^5.0.7 + version: 5.0.7(rollup@4.29.1) + '@types/react': + specifier: ^18.3.3 + version: 18.3.3 + '@types/react-dom': + specifier: ^18.3.0 + version: 18.3.0 + '@vitejs/plugin-react': + specifier: ^4.3.1 + version: 4.3.1(vite@5.4.11(@types/node@20.14.9)(less@4.2.0)(sass@1.77.6)(terser@5.31.1)) + typescript: + specifier: 5.4.5 + version: 5.4.5 + vite: + specifier: ^5.3.2 + version: 5.4.11(@types/node@20.14.9)(less@4.2.0)(sass@1.77.6)(terser@5.31.1) + examples/solid/basic: dependencies: '@tanstack/solid-table': @@ -5664,11 +5760,11 @@ packages: react: '>=16' react-dom: '>=16' - '@tanstack/react-virtual@3.8.1': - resolution: {integrity: sha512-dP5a7giEM4BQWLJ7K07ToZv8rF51mzbrBMkf0scg1QNYuFx3utnPUBPUHdzaowZhIez1K2XS78amuzD+YGRA5Q==} + '@tanstack/react-virtual@3.12.0': + resolution: {integrity: sha512-6krceiPN07kpxXmU6m8AY7EL0X1gHLu8m3nJdh4phvktzVNxkQfBmSwnRUpoUjGQO1PAn8wSAhYaL8hY1cS1vw==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 '@tanstack/router-generator@1.43.1': resolution: {integrity: sha512-9dK/vVGO6SupMed1EAHwsIY0sHEu1EBsVYa208/V+zonJLOTNTthuDAYUxjmLTLm18FeqsujKoDl0hFX4rsREw==} @@ -5696,8 +5792,8 @@ packages: '@tanstack/virtual-core@3.11.2': resolution: {integrity: sha512-vTtpNt7mKCiZ1pwU9hfKPhpdVO2sVzFQsxoVBGtOSHxlrRRzYr8iQ2TlwbAcRYCcEiZ9ECAM8kBzH0v2+VzfKw==} - '@tanstack/virtual-core@3.8.1': - resolution: {integrity: sha512-uNtAwenT276M9QYCjTBoHZ8X3MUeCRoGK59zPi92hMIxdfS9AyHjkDWJ94WroDxnv48UE+hIeo21BU84jKc8aQ==} + '@tanstack/virtual-core@3.12.0': + resolution: {integrity: sha512-7mDINtua3v/pOnn6WUmuT9dPXYSO7WidFej7JzoAfqEOcbbpt/iZ1WPqd+eg+FnrL9nUJK8radqj4iAU51Zchg==} '@tanstack/virtual-core@3.8.3': resolution: {integrity: sha512-vd2A2TnM5lbnWZnHi9B+L2gPtkSeOtJOAw358JqokIH1+v2J7vUAzFVPwB/wrye12RFOurffXu33plm4uQ+JBQ==} @@ -12488,12 +12584,13 @@ snapshots: dependencies: csstype: 3.1.3 undici: 6.11.1 - vite: 5.3.2(@types/node@20.14.9)(less@4.2.0)(sass@1.77.6)(terser@5.31.1) + vite: 5.4.11(@types/node@20.14.9)(less@4.2.0)(sass@1.77.6)(terser@5.31.1) transitivePeerDependencies: - '@types/node' - less - lightningcss - sass + - sass-embedded - stylus - sugarss - terser @@ -13743,9 +13840,9 @@ snapshots: react-dom: 18.3.1(react@18.3.1) use-sync-external-store: 1.2.2(react@18.3.1) - '@tanstack/react-virtual@3.8.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-virtual@3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/virtual-core': 3.8.1 + '@tanstack/virtual-core': 3.12.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -13789,7 +13886,7 @@ snapshots: '@tanstack/virtual-core@3.11.2': {} - '@tanstack/virtual-core@3.8.1': {} + '@tanstack/virtual-core@3.12.0': {} '@tanstack/virtual-core@3.8.3': {} @@ -14142,6 +14239,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@vitejs/plugin-react@4.3.1(vite@5.4.11(@types/node@20.14.9)(less@4.2.0)(sass@1.77.6)(terser@5.31.1))': + dependencies: + '@babel/core': 7.24.7 + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 5.4.11(@types/node@20.14.9)(less@4.2.0)(sass@1.77.6)(terser@5.31.1) + transitivePeerDependencies: + - supports-color + '@vitejs/plugin-vue-jsx@4.0.0(vite@5.3.2(@types/node@20.14.9)(less@4.2.0)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.4.5))': dependencies: '@babel/core': 7.24.7 From 64e10bc77082174ca9c67529735357cd066f3f3c Mon Sep 17 00:00:00 2001 From: Tanner Linsley Date: Mon, 3 Feb 2025 05:37:40 +0000 Subject: [PATCH 07/22] release: v8.21.1 --- examples/lit/basic/package.json | 2 +- examples/lit/column-sizing/package.json | 2 +- examples/lit/filters/package.json | 2 +- examples/lit/row-selection/package.json | 2 +- examples/lit/sorting-dynamic-data/package.json | 2 +- examples/lit/sorting/package.json | 2 +- examples/lit/virtualized-rows/package.json | 2 +- packages/lit-table/package.json | 2 +- pnpm-lock.yaml | 14 +++++++------- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/examples/lit/basic/package.json b/examples/lit/basic/package.json index 37ee5419ca..46a621b4e1 100644 --- a/examples/lit/basic/package.json +++ b/examples/lit/basic/package.json @@ -9,7 +9,7 @@ "start": "vite" }, "dependencies": { - "@tanstack/lit-table": "^8.20.5", + "@tanstack/lit-table": "^8.21.1", "@twind/core": "^1.1.3", "@twind/preset-autoprefix": "^1.0.7", "@twind/preset-tailwind": "^1.1.4", diff --git a/examples/lit/column-sizing/package.json b/examples/lit/column-sizing/package.json index 6603b18bb3..ef4a548833 100644 --- a/examples/lit/column-sizing/package.json +++ b/examples/lit/column-sizing/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@tanstack/lit-table": "^8.20.5", + "@tanstack/lit-table": "^8.21.1", "lit": "^3.1.4" }, "devDependencies": { diff --git a/examples/lit/filters/package.json b/examples/lit/filters/package.json index e221474fbf..662255f7ea 100644 --- a/examples/lit/filters/package.json +++ b/examples/lit/filters/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@tanstack/lit-table": "^8.20.5", + "@tanstack/lit-table": "^8.21.1", "lit": "^3.1.4" }, "devDependencies": { diff --git a/examples/lit/row-selection/package.json b/examples/lit/row-selection/package.json index 27795be3dd..2831588767 100644 --- a/examples/lit/row-selection/package.json +++ b/examples/lit/row-selection/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@tanstack/lit-table": "^8.20.5", + "@tanstack/lit-table": "^8.21.1", "lit": "^3.1.4" }, "devDependencies": { diff --git a/examples/lit/sorting-dynamic-data/package.json b/examples/lit/sorting-dynamic-data/package.json index 36276a3dc6..c2d4e5b0ba 100644 --- a/examples/lit/sorting-dynamic-data/package.json +++ b/examples/lit/sorting-dynamic-data/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@tanstack/lit-table": "^8.20.5", + "@tanstack/lit-table": "^8.21.1", "lit": "^3.1.4" }, "devDependencies": { diff --git a/examples/lit/sorting/package.json b/examples/lit/sorting/package.json index 9958736516..6a07077b2a 100644 --- a/examples/lit/sorting/package.json +++ b/examples/lit/sorting/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@tanstack/lit-table": "^8.20.5", + "@tanstack/lit-table": "^8.21.1", "lit": "^3.1.4" }, "devDependencies": { diff --git a/examples/lit/virtualized-rows/package.json b/examples/lit/virtualized-rows/package.json index 077611a9c0..88762c8de3 100644 --- a/examples/lit/virtualized-rows/package.json +++ b/examples/lit/virtualized-rows/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@tanstack/lit-table": "^8.20.5", + "@tanstack/lit-table": "^8.21.1", "@tanstack/lit-virtual": "^3.8.3", "lit": "^3.1.4" }, diff --git a/packages/lit-table/package.json b/packages/lit-table/package.json index 3468051046..4a236b854e 100644 --- a/packages/lit-table/package.json +++ b/packages/lit-table/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/lit-table", - "version": "8.20.5", + "version": "8.21.1", "description": "Headless UI for building powerful tables & datagrids for Lit.", "author": "Tanner Linsley", "license": "MIT", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 956d45dbd7..7f0ea7bd0f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1057,7 +1057,7 @@ importers: examples/lit/basic: dependencies: '@tanstack/lit-table': - specifier: ^8.20.5 + specifier: ^8.21.1 version: link:../../../packages/lit-table '@twind/core': specifier: ^1.1.3 @@ -1091,7 +1091,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/lit-table': - specifier: ^8.20.5 + specifier: ^8.21.1 version: link:../../../packages/lit-table lit: specifier: ^3.1.4 @@ -1113,7 +1113,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/lit-table': - specifier: ^8.20.5 + specifier: ^8.21.1 version: link:../../../packages/lit-table lit: specifier: ^3.1.4 @@ -1135,7 +1135,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/lit-table': - specifier: ^8.20.5 + specifier: ^8.21.1 version: link:../../../packages/lit-table lit: specifier: ^3.1.4 @@ -1157,7 +1157,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/lit-table': - specifier: ^8.20.5 + specifier: ^8.21.1 version: link:../../../packages/lit-table lit: specifier: ^3.1.4 @@ -1179,7 +1179,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/lit-table': - specifier: ^8.20.5 + specifier: ^8.21.1 version: link:../../../packages/lit-table lit: specifier: ^3.1.4 @@ -1201,7 +1201,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/lit-table': - specifier: ^8.20.5 + specifier: ^8.21.1 version: link:../../../packages/lit-table '@tanstack/lit-virtual': specifier: ^3.8.3 From 57703a437a70a9ae145e08b8691153bc140bb9fd Mon Sep 17 00:00:00 2001 From: Kevin Van Cott Date: Mon, 3 Feb 2025 00:14:08 -0600 Subject: [PATCH 08/22] docs: example name --- .../.gitignore | 0 .../README.md | 0 .../index.html | 0 .../package.json | 0 .../src/index.css | 0 .../src/main.tsx | 0 .../src/makeData.ts | 0 .../tsconfig.json | 0 .../vite.config.js | 0 9 files changed, 0 insertions(+), 0 deletions(-) rename examples/react/{virtualized-columns-expiremental => virtualized-columns-experimental}/.gitignore (100%) rename examples/react/{virtualized-columns-expiremental => virtualized-columns-experimental}/README.md (100%) rename examples/react/{virtualized-columns-expiremental => virtualized-columns-experimental}/index.html (100%) rename examples/react/{virtualized-columns-expiremental => virtualized-columns-experimental}/package.json (100%) rename examples/react/{virtualized-columns-expiremental => virtualized-columns-experimental}/src/index.css (100%) rename examples/react/{virtualized-columns-expiremental => virtualized-columns-experimental}/src/main.tsx (100%) rename examples/react/{virtualized-columns-expiremental => virtualized-columns-experimental}/src/makeData.ts (100%) rename examples/react/{virtualized-columns-expiremental => virtualized-columns-experimental}/tsconfig.json (100%) rename examples/react/{virtualized-columns-expiremental => virtualized-columns-experimental}/vite.config.js (100%) diff --git a/examples/react/virtualized-columns-expiremental/.gitignore b/examples/react/virtualized-columns-experimental/.gitignore similarity index 100% rename from examples/react/virtualized-columns-expiremental/.gitignore rename to examples/react/virtualized-columns-experimental/.gitignore diff --git a/examples/react/virtualized-columns-expiremental/README.md b/examples/react/virtualized-columns-experimental/README.md similarity index 100% rename from examples/react/virtualized-columns-expiremental/README.md rename to examples/react/virtualized-columns-experimental/README.md diff --git a/examples/react/virtualized-columns-expiremental/index.html b/examples/react/virtualized-columns-experimental/index.html similarity index 100% rename from examples/react/virtualized-columns-expiremental/index.html rename to examples/react/virtualized-columns-experimental/index.html diff --git a/examples/react/virtualized-columns-expiremental/package.json b/examples/react/virtualized-columns-experimental/package.json similarity index 100% rename from examples/react/virtualized-columns-expiremental/package.json rename to examples/react/virtualized-columns-experimental/package.json diff --git a/examples/react/virtualized-columns-expiremental/src/index.css b/examples/react/virtualized-columns-experimental/src/index.css similarity index 100% rename from examples/react/virtualized-columns-expiremental/src/index.css rename to examples/react/virtualized-columns-experimental/src/index.css diff --git a/examples/react/virtualized-columns-expiremental/src/main.tsx b/examples/react/virtualized-columns-experimental/src/main.tsx similarity index 100% rename from examples/react/virtualized-columns-expiremental/src/main.tsx rename to examples/react/virtualized-columns-experimental/src/main.tsx diff --git a/examples/react/virtualized-columns-expiremental/src/makeData.ts b/examples/react/virtualized-columns-experimental/src/makeData.ts similarity index 100% rename from examples/react/virtualized-columns-expiremental/src/makeData.ts rename to examples/react/virtualized-columns-experimental/src/makeData.ts diff --git a/examples/react/virtualized-columns-expiremental/tsconfig.json b/examples/react/virtualized-columns-experimental/tsconfig.json similarity index 100% rename from examples/react/virtualized-columns-expiremental/tsconfig.json rename to examples/react/virtualized-columns-experimental/tsconfig.json diff --git a/examples/react/virtualized-columns-expiremental/vite.config.js b/examples/react/virtualized-columns-experimental/vite.config.js similarity index 100% rename from examples/react/virtualized-columns-expiremental/vite.config.js rename to examples/react/virtualized-columns-experimental/vite.config.js From 099e1a4911618f79b1fcbb9ab34669b4ba286e14 Mon Sep 17 00:00:00 2001 From: Riccardo Perra Date: Mon, 3 Feb 2025 10:22:23 +0100 Subject: [PATCH 09/22] docs(angular): add expanding and sub components examples (#5898) * docs(angular): add expanding example * docs(angular): add sub components example * docs(angular): fix config.json --- docs/config.json | 8 ++ .../expanding/.devcontainer/devcontainer.json | 4 + examples/angular/expanding/.editorconfig | 16 +++ examples/angular/expanding/.gitignore | 42 ++++++ examples/angular/expanding/README.md | 27 ++++ examples/angular/expanding/angular.json | 83 ++++++++++++ examples/angular/expanding/package.json | 33 +++++ .../expanding/src/app/app.component.html | 110 ++++++++++++++++ .../expanding/src/app/app.component.ts | 110 ++++++++++++++++ .../angular/expanding/src/app/app.config.ts | 5 + .../expanding/src/app/expandable-cell.ts | 79 +++++++++++ .../angular/expanding/src/app/makeData.ts | 48 +++++++ .../angular/expanding/src/assets/.gitkeep | 0 examples/angular/expanding/src/favicon.ico | Bin 0 -> 15086 bytes examples/angular/expanding/src/index.html | 14 ++ examples/angular/expanding/src/main.ts | 5 + examples/angular/expanding/src/styles.scss | 26 ++++ examples/angular/expanding/tsconfig.app.json | 10 ++ examples/angular/expanding/tsconfig.json | 31 +++++ examples/angular/expanding/tsconfig.spec.json | 9 ++ .../.devcontainer/devcontainer.json | 4 + examples/angular/sub-components/.editorconfig | 16 +++ examples/angular/sub-components/.gitignore | 42 ++++++ examples/angular/sub-components/README.md | 27 ++++ examples/angular/sub-components/angular.json | 83 ++++++++++++ examples/angular/sub-components/package.json | 33 +++++ .../sub-components/src/app/app.component.html | 69 ++++++++++ .../sub-components/src/app/app.component.ts | 123 ++++++++++++++++++ .../sub-components/src/app/app.config.ts | 5 + .../sub-components/src/app/expandable-cell.ts | 51 ++++++++ .../sub-components/src/app/makeData.ts | 48 +++++++ .../sub-components/src/assets/.gitkeep | 0 .../angular/sub-components/src/favicon.ico | Bin 0 -> 15086 bytes .../angular/sub-components/src/index.html | 14 ++ examples/angular/sub-components/src/main.ts | 5 + .../angular/sub-components/src/styles.scss | 26 ++++ .../angular/sub-components/tsconfig.app.json | 10 ++ examples/angular/sub-components/tsconfig.json | 31 +++++ .../angular/sub-components/tsconfig.spec.json | 9 ++ pnpm-lock.yaml | 112 +++++++++++++++- 40 files changed, 1367 insertions(+), 1 deletion(-) create mode 100644 examples/angular/expanding/.devcontainer/devcontainer.json create mode 100644 examples/angular/expanding/.editorconfig create mode 100644 examples/angular/expanding/.gitignore create mode 100644 examples/angular/expanding/README.md create mode 100644 examples/angular/expanding/angular.json create mode 100644 examples/angular/expanding/package.json create mode 100644 examples/angular/expanding/src/app/app.component.html create mode 100644 examples/angular/expanding/src/app/app.component.ts create mode 100644 examples/angular/expanding/src/app/app.config.ts create mode 100644 examples/angular/expanding/src/app/expandable-cell.ts create mode 100644 examples/angular/expanding/src/app/makeData.ts create mode 100644 examples/angular/expanding/src/assets/.gitkeep create mode 100644 examples/angular/expanding/src/favicon.ico create mode 100644 examples/angular/expanding/src/index.html create mode 100644 examples/angular/expanding/src/main.ts create mode 100644 examples/angular/expanding/src/styles.scss create mode 100644 examples/angular/expanding/tsconfig.app.json create mode 100644 examples/angular/expanding/tsconfig.json create mode 100644 examples/angular/expanding/tsconfig.spec.json create mode 100644 examples/angular/sub-components/.devcontainer/devcontainer.json create mode 100644 examples/angular/sub-components/.editorconfig create mode 100644 examples/angular/sub-components/.gitignore create mode 100644 examples/angular/sub-components/README.md create mode 100644 examples/angular/sub-components/angular.json create mode 100644 examples/angular/sub-components/package.json create mode 100644 examples/angular/sub-components/src/app/app.component.html create mode 100644 examples/angular/sub-components/src/app/app.component.ts create mode 100644 examples/angular/sub-components/src/app/app.config.ts create mode 100644 examples/angular/sub-components/src/app/expandable-cell.ts create mode 100644 examples/angular/sub-components/src/app/makeData.ts create mode 100644 examples/angular/sub-components/src/assets/.gitkeep create mode 100644 examples/angular/sub-components/src/favicon.ico create mode 100644 examples/angular/sub-components/src/index.html create mode 100644 examples/angular/sub-components/src/main.ts create mode 100644 examples/angular/sub-components/src/styles.scss create mode 100644 examples/angular/sub-components/tsconfig.app.json create mode 100644 examples/angular/sub-components/tsconfig.json create mode 100644 examples/angular/sub-components/tsconfig.spec.json diff --git a/docs/config.json b/docs/config.json index 0b68b8d81e..80dba7960b 100644 --- a/docs/config.json +++ b/docs/config.json @@ -435,6 +435,14 @@ "to": "framework/angular/examples/row-selection", "label": "Row Selection" }, + { + "to": "framework/angular/examples/expanding", + "label": "Expanding" + }, + { + "to": "framework/angular/examples/sub-components", + "label": "Sub Components" + }, { "to": "framework/angular/examples/signal-input", "label": "Signal Input" diff --git a/examples/angular/expanding/.devcontainer/devcontainer.json b/examples/angular/expanding/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..36f47d8762 --- /dev/null +++ b/examples/angular/expanding/.devcontainer/devcontainer.json @@ -0,0 +1,4 @@ +{ + "name": "Node.js", + "image": "mcr.microsoft.com/devcontainers/javascript-node:18" +} diff --git a/examples/angular/expanding/.editorconfig b/examples/angular/expanding/.editorconfig new file mode 100644 index 0000000000..59d9a3a3e7 --- /dev/null +++ b/examples/angular/expanding/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/examples/angular/expanding/.gitignore b/examples/angular/expanding/.gitignore new file mode 100644 index 0000000000..0711527ef9 --- /dev/null +++ b/examples/angular/expanding/.gitignore @@ -0,0 +1,42 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/examples/angular/expanding/README.md b/examples/angular/expanding/README.md new file mode 100644 index 0000000000..5da97a87d1 --- /dev/null +++ b/examples/angular/expanding/README.md @@ -0,0 +1,27 @@ +# Basic + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.1.2. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/examples/angular/expanding/angular.json b/examples/angular/expanding/angular.json new file mode 100644 index 0000000000..afb55da75f --- /dev/null +++ b/examples/angular/expanding/angular.json @@ -0,0 +1,83 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "expanding": { + "cli": { + "cache": { + "enabled": false + } + }, + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:application", + "options": { + "outputPath": "dist/expanding", + "index": "src/index.html", + "browser": "src/main.ts", + "polyfills": ["zone.js"], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "expanding:build:production" + }, + "development": { + "buildTarget": "expanding:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "expanding:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": ["zone.js", "zone.js/testing"], + "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "scss", + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [] + } + } + } + } + }, + "cli": { + "analytics": false + } +} diff --git a/examples/angular/expanding/package.json b/examples/angular/expanding/package.json new file mode 100644 index 0000000000..8a149bdff6 --- /dev/null +++ b/examples/angular/expanding/package.json @@ -0,0 +1,33 @@ +{ + "name": "tanstack-table-example-angular-expanding", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "^17.3.9", + "@angular/common": "^17.3.9", + "@angular/compiler": "^17.3.9", + "@angular/core": "^17.3.9", + "@angular/forms": "^17.3.9", + "@angular/platform-browser": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.9", + "@angular/router": "^17.3.9", + "@faker-js/faker": "^8.4.1", + "@tanstack/angular-table": "^8.21.0", + "rxjs": "~7.8.1", + "zone.js": "~0.14.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^17.3.8", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.9", + "tslib": "^2.6.2", + "typescript": "5.4.5" + } +} diff --git a/examples/angular/expanding/src/app/app.component.html b/examples/angular/expanding/src/app/app.component.html new file mode 100644 index 0000000000..e010730d97 --- /dev/null +++ b/examples/angular/expanding/src/app/app.component.html @@ -0,0 +1,110 @@ +
+
+ +
+ + + @for (headerGroup of table.getHeaderGroups(); track headerGroup.id) { + + @for (header of headerGroup.headers; track header.id) { + + } + + } + + + @for (row of table.getRowModel().rows; track row.id) { + + @for (cell of row.getVisibleCells(); track cell.id) { + + } + + } + +
+ @if (!header.isPlaceholder) { + +
+
+ } +
+ +
+
+
+
+ +
+
+ + + + + +
Page
+ + {{ table.getState().pagination.pageIndex + 1 }} of + {{ table.getPageCount() }} + +
+ + | Go to page: + + + + +
+ + +
{{ rawExpandedState() }}
+ +
{{ rawRowSelectionState() }}
+
diff --git a/examples/angular/expanding/src/app/app.component.ts b/examples/angular/expanding/src/app/app.component.ts new file mode 100644 index 0000000000..741f357e53 --- /dev/null +++ b/examples/angular/expanding/src/app/app.component.ts @@ -0,0 +1,110 @@ +import { + ChangeDetectionStrategy, + Component, + computed, + signal, +} from '@angular/core' +import { + ColumnDef, + createAngularTable, + ExpandedState, + flexRenderComponent, + FlexRenderDirective, + getCoreRowModel, + getExpandedRowModel, + getFilteredRowModel, + getPaginationRowModel, +} from '@tanstack/angular-table' +import { makeData, type Person } from './makeData' +import { ReactiveFormsModule } from '@angular/forms' +import { ExpandableCell, ExpandableHeaderCell } from './expandable-cell' + +const defaultColumns: ColumnDef[] = [ + { + accessorKey: 'firstName', + header: () => + flexRenderComponent(ExpandableHeaderCell, { + inputs: { + label: 'First name', + }, + }), + cell: () => flexRenderComponent(ExpandableCell), + }, + { + accessorFn: row => row.lastName, + id: 'lastName', + cell: info => info.getValue(), + header: () => 'Last Name', + footer: props => props.column.id, + }, + { + accessorKey: 'age', + header: () => 'Age', + footer: props => props.column.id, + }, + { + accessorKey: 'visits', + header: () => `Visits`, + footer: props => props.column.id, + }, + { + accessorKey: 'status', + header: 'Status', + footer: props => props.column.id, + }, + { + accessorKey: 'progress', + header: 'Profile Progress', + footer: props => props.column.id, + }, +] + +@Component({ + selector: 'app-root', + standalone: true, + imports: [FlexRenderDirective, ReactiveFormsModule], + templateUrl: './app.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class AppComponent { + readonly data = signal(makeData(100, 5, 3)) + readonly expanded = signal({}) + + readonly table = createAngularTable(() => ({ + data: this.data(), + columns: defaultColumns, + state: { + expanded: this.expanded(), + }, + onExpandedChange: updater => + typeof updater === 'function' + ? this.expanded.update(updater) + : this.expanded.set(updater), + getSubRows: row => row.subRows, + getCoreRowModel: getCoreRowModel(), + getPaginationRowModel: getPaginationRowModel(), + getFilteredRowModel: getFilteredRowModel(), + getExpandedRowModel: getExpandedRowModel(), + // filterFromLeafRows: true, + // maxLeafRowFilterDepth: 0, + debugTable: true, + })) + + readonly rawExpandedState = computed(() => + JSON.stringify(this.expanded(), undefined, 2) + ) + + readonly rawRowSelectionState = computed(() => + JSON.stringify(this.table.getState().rowSelection, undefined, 2) + ) + + onPageInputChange(event: Event): void { + const inputElement = event.target as HTMLInputElement + const page = inputElement.value ? Number(inputElement.value) - 1 : 0 + this.table.setPageIndex(page) + } + + onPageSizeChange(event: any): void { + this.table.setPageSize(Number(event.target.value)) + } +} diff --git a/examples/angular/expanding/src/app/app.config.ts b/examples/angular/expanding/src/app/app.config.ts new file mode 100644 index 0000000000..f27099f33c --- /dev/null +++ b/examples/angular/expanding/src/app/app.config.ts @@ -0,0 +1,5 @@ +import { ApplicationConfig } from '@angular/core' + +export const appConfig: ApplicationConfig = { + providers: [], +} diff --git a/examples/angular/expanding/src/app/expandable-cell.ts b/examples/angular/expanding/src/app/expandable-cell.ts new file mode 100644 index 0000000000..2b1ecdd3b6 --- /dev/null +++ b/examples/angular/expanding/src/app/expandable-cell.ts @@ -0,0 +1,79 @@ +import { ChangeDetectionStrategy, Component, input } from '@angular/core' +import { + type HeaderContext, + injectFlexRenderContext, + type Table, + CellContext, +} from '@tanstack/angular-table' + +@Component({ + standalone: true, + template: ` + + {{ ' ' }} + + + + {{ label() }} + `, + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class ExpandableHeaderCell { + readonly context = injectFlexRenderContext>() + + readonly label = input.required() + + get table() { + return this.context.table as Table + } +} + +@Component({ + standalone: true, + template: ` +
+
+ + {{ ' ' }} + + @if (row.getCanExpand()) { + + } @else { + 🔵 + } + {{ ' ' }} + + {{ context.getValue() }} +
+
+ `, + changeDetection: ChangeDetectionStrategy.OnPush, + styles: ` + :host { + > div { + padding-left: calc(2rem * var(--depth, 1)); + } + } + `, +}) +export class ExpandableCell { + readonly context = injectFlexRenderContext>() + + get row() { + return this.context.row + } +} diff --git a/examples/angular/expanding/src/app/makeData.ts b/examples/angular/expanding/src/app/makeData.ts new file mode 100644 index 0000000000..331dd1eb19 --- /dev/null +++ b/examples/angular/expanding/src/app/makeData.ts @@ -0,0 +1,48 @@ +import { faker } from '@faker-js/faker' + +export type Person = { + firstName: string + lastName: string + age: number + visits: number + progress: number + status: 'relationship' | 'complicated' | 'single' + subRows?: Person[] +} + +const range = (len: number) => { + const arr: number[] = [] + for (let i = 0; i < len; i++) { + arr.push(i) + } + return arr +} + +const newPerson = (): Person => { + return { + firstName: faker.person.firstName(), + lastName: faker.person.lastName(), + age: faker.number.int(40), + visits: faker.number.int(1000), + progress: faker.number.int(100), + status: faker.helpers.shuffle([ + 'relationship', + 'complicated', + 'single', + ])[0]!, + } +} + +export function makeData(...lens: number[]) { + const makeDataLevel = (depth = 0): Person[] => { + const len = lens[depth]! + return range(len).map((d): Person => { + return { + ...newPerson(), + subRows: lens[depth + 1] ? makeDataLevel(depth + 1) : undefined, + } + }) + } + + return makeDataLevel() +} diff --git a/examples/angular/expanding/src/assets/.gitkeep b/examples/angular/expanding/src/assets/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/angular/expanding/src/favicon.ico b/examples/angular/expanding/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 zcmd^G33O9Omi+`8$@{|M-I6TH3wzF-p5CV8o}7f~KxR60LK+ApEFB<$bcciv%@SmA zV{n>g85YMFFeU*Uvl=i4v)C*qgnb;$GQ=3XTe9{Y%c`mO%su)noNCCQ*@t1WXn|B(hQ7i~ zrUK8|pUkD6#lNo!bt$6)jR!&C?`P5G(`e((P($RaLeq+o0Vd~f11;qB05kdbAOm?r zXv~GYr_sibQO9NGTCdT;+G(!{4Xs@4fPak8#L8PjgJwcs-Mm#nR_Z0s&u?nDX5^~@ z+A6?}g0|=4e_LoE69pPFO`yCD@BCjgKpzMH0O4Xs{Ahc?K3HC5;l=f zg>}alhBXX&);z$E-wai+9TTRtBX-bWYY@cl$@YN#gMd~tM_5lj6W%8ah4;uZ;jP@Q zVbuel1rPA?2@x9Y+u?e`l{Z4ngfG5q5BLH5QsEu4GVpt{KIp1?U)=3+KQ;%7ec8l* zdV=zZgN5>O3G(3L2fqj3;oBbZZw$Ij@`Juz@?+yy#OPw)>#wsTewVgTK9BGt5AbZ&?K&B3GVF&yu?@(Xj3fR3n+ZP0%+wo)D9_xp>Z$`A4 zfV>}NWjO#3lqumR0`gvnffd9Ka}JJMuHS&|55-*mCD#8e^anA<+sFZVaJe7{=p*oX zE_Uv?1>e~ga=seYzh{9P+n5<+7&9}&(kwqSaz;1aD|YM3HBiy<))4~QJSIryyqp| z8nGc(8>3(_nEI4n)n7j(&d4idW1tVLjZ7QbNLXg;LB ziHsS5pXHEjGJZb59KcvS~wv;uZR-+4qEqow`;JCfB*+b^UL^3!?;-^F%yt=VjU|v z39SSqKcRu_NVvz!zJzL0CceJaS6%!(eMshPv_0U5G`~!a#I$qI5Ic(>IONej@aH=f z)($TAT#1I{iCS4f{D2+ApS=$3E7}5=+y(rA9mM#;Cky%b*Gi0KfFA`ofKTzu`AV-9 znW|y@19rrZ*!N2AvDi<_ZeR3O2R{#dh1#3-d%$k${Rx42h+i&GZo5!C^dSL34*AKp z27mTd>k>?V&X;Nl%GZ(>0s`1UN~Hfyj>KPjtnc|)xM@{H_B9rNr~LuH`Gr5_am&Ep zTjZA8hljNj5H1Ipm-uD9rC}U{-vR!eay5&6x6FkfupdpT*84MVwGpdd(}ib)zZ3Ky z7C$pnjc82(W_y_F{PhYj?o!@3__UUvpX)v69aBSzYj3 zdi}YQkKs^SyXyFG2LTRz9{(w}y~!`{EuAaUr6G1M{*%c+kP1olW9z23dSH!G4_HSK zzae-DF$OGR{ofP*!$a(r^5Go>I3SObVI6FLY)N@o<*gl0&kLo-OT{Tl*7nCz>Iq=? zcigIDHtj|H;6sR?or8Wd_a4996GI*CXGU}o;D9`^FM!AT1pBY~?|4h^61BY#_yIfO zKO?E0 zJ{Pc`9rVEI&$xxXu`<5E)&+m(7zX^v0rqofLs&bnQT(1baQkAr^kEsk)15vlzAZ-l z@OO9RF<+IiJ*O@HE256gCt!bF=NM*vh|WVWmjVawcNoksRTMvR03H{p@cjwKh(CL4 z7_PB(dM=kO)!s4fW!1p0f93YN@?ZSG` z$B!JaAJCtW$B97}HNO9(x-t30&E}Mo1UPi@Av%uHj~?T|!4JLwV;KCx8xO#b9IlUW zI6+{a@Wj|<2Y=U;a@vXbxqZNngH8^}LleE_4*0&O7#3iGxfJ%Id>+sb;7{L=aIic8 z|EW|{{S)J-wr@;3PmlxRXU8!e2gm_%s|ReH!reFcY8%$Hl4M5>;6^UDUUae?kOy#h zk~6Ee_@ZAn48Bab__^bNmQ~+k=02jz)e0d9Z3>G?RGG!65?d1>9}7iG17?P*=GUV-#SbLRw)Hu{zx*azHxWkGNTWl@HeWjA?39Ia|sCi{e;!^`1Oec zb>Z|b65OM*;eC=ZLSy?_fg$&^2xI>qSLA2G*$nA3GEnp3$N-)46`|36m*sc#4%C|h zBN<2U;7k>&G_wL4=Ve5z`ubVD&*Hxi)r@{4RCDw7U_D`lbC(9&pG5C*z#W>8>HU)h z!h3g?2UL&sS!oY5$3?VlA0Me9W5e~V;2jds*fz^updz#AJ%G8w2V}AEE?E^=MK%Xt z__Bx1cr7+DQmuHmzn*|hh%~eEc9@m05@clWfpEFcr+06%0&dZJH&@8^&@*$qR@}o3 z@Tuuh2FsLz^zH+dN&T&?0G3I?MpmYJ;GP$J!EzjeM#YLJ!W$}MVNb0^HfOA>5Fe~UNn%Zk(PT@~9}1dt)1UQ zU*B5K?Dl#G74qmg|2>^>0WtLX#Jz{lO4NT`NYB*(L#D|5IpXr9v&7a@YsGp3vLR7L zHYGHZg7{ie6n~2p$6Yz>=^cEg7tEgk-1YRl%-s7^cbqFb(U7&Dp78+&ut5!Tn(hER z|Gp4Ed@CnOPeAe|N>U(dB;SZ?NU^AzoD^UAH_vamp6Ws}{|mSq`^+VP1g~2B{%N-!mWz<`)G)>V-<`9`L4?3dM%Qh6<@kba+m`JS{Ya@9Fq*m6$$ zA1%Ogc~VRH33|S9l%CNb4zM%k^EIpqY}@h{w(aBcJ9c05oiZx#SK9t->5lSI`=&l~ z+-Ic)a{FbBhXV$Xt!WRd`R#Jk-$+_Z52rS>?Vpt2IK<84|E-SBEoIw>cs=a{BlQ7O z-?{Fy_M&84&9|KM5wt~)*!~i~E=(6m8(uCO)I=)M?)&sRbzH$9Rovzd?ZEY}GqX+~ zFbEbLz`BZ49=2Yh-|<`waK-_4!7`ro@zlC|r&I4fc4oyb+m=|c8)8%tZ-z5FwhzDt zL5kB@u53`d@%nHl0Sp)Dw`(QU&>vujEn?GPEXUW!Wi<+4e%BORl&BIH+SwRcbS}X@ z01Pk|vA%OdJKAs17zSXtO55k!;%m9>1eW9LnyAX4uj7@${O6cfii`49qTNItzny5J zH&Gj`e}o}?xjQ}r?LrI%FjUd@xflT3|7LA|ka%Q3i}a8gVm<`HIWoJGH=$EGClX^C0lysQJ>UO(q&;`T#8txuoQ_{l^kEV9CAdXuU1Ghg8 zN_6hHFuy&1x24q5-(Z7;!poYdt*`UTdrQOIQ!2O7_+AHV2hgXaEz7)>$LEdG z<8vE^Tw$|YwZHZDPM!SNOAWG$?J)MdmEk{U!!$M#fp7*Wo}jJ$Q(=8>R`Ats?e|VU?Zt7Cdh%AdnfyN3MBWw{ z$OnREvPf7%z6`#2##_7id|H%Y{vV^vWXb?5d5?a_y&t3@p9t$ncHj-NBdo&X{wrfJ zamN)VMYROYh_SvjJ=Xd!Ga?PY_$;*L=SxFte!4O6%0HEh%iZ4=gvns7IWIyJHa|hT z2;1+e)`TvbNb3-0z&DD_)Jomsg-7p_Uh`wjGnU1urmv1_oVqRg#=C?e?!7DgtqojU zWoAB($&53;TsXu^@2;8M`#z{=rPy?JqgYM0CDf4v@z=ZD|ItJ&8%_7A#K?S{wjxgd z?xA6JdJojrWpB7fr2p_MSsU4(R7=XGS0+Eg#xR=j>`H@R9{XjwBmqAiOxOL` zt?XK-iTEOWV}f>Pz3H-s*>W z4~8C&Xq25UQ^xH6H9kY_RM1$ch+%YLF72AA7^b{~VNTG}Tj#qZltz5Q=qxR`&oIlW Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/examples/angular/expanding/src/index.html b/examples/angular/expanding/src/index.html new file mode 100644 index 0000000000..bd21f08bcc --- /dev/null +++ b/examples/angular/expanding/src/index.html @@ -0,0 +1,14 @@ + + + + + Expanding + + + + + + + + + diff --git a/examples/angular/expanding/src/main.ts b/examples/angular/expanding/src/main.ts new file mode 100644 index 0000000000..0c3b92057c --- /dev/null +++ b/examples/angular/expanding/src/main.ts @@ -0,0 +1,5 @@ +import { bootstrapApplication } from '@angular/platform-browser' +import { appConfig } from './app/app.config' +import { AppComponent } from './app/app.component' + +bootstrapApplication(AppComponent, appConfig).catch(err => console.error(err)) diff --git a/examples/angular/expanding/src/styles.scss b/examples/angular/expanding/src/styles.scss new file mode 100644 index 0000000000..43c09e0f6b --- /dev/null +++ b/examples/angular/expanding/src/styles.scss @@ -0,0 +1,26 @@ +html { + font-family: sans-serif; + font-size: 14px; +} + +table { + border: 1px solid lightgray; +} + +tbody { + border-bottom: 1px solid lightgray; +} + +th { + border-bottom: 1px solid lightgray; + border-right: 1px solid lightgray; + padding: 2px 4px; +} + +tfoot { + color: gray; +} + +tfoot th { + font-weight: normal; +} diff --git a/examples/angular/expanding/tsconfig.app.json b/examples/angular/expanding/tsconfig.app.json new file mode 100644 index 0000000000..84f1f992d2 --- /dev/null +++ b/examples/angular/expanding/tsconfig.app.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": ["src/main.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/examples/angular/expanding/tsconfig.json b/examples/angular/expanding/tsconfig.json new file mode 100644 index 0000000000..b58d3efc71 --- /dev/null +++ b/examples/angular/expanding/tsconfig.json @@ -0,0 +1,31 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "src", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "esModuleInterop": true, + "sourceMap": true, + "declaration": false, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "useDefineForClassFields": false, + "lib": ["ES2022", "dom"] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/examples/angular/expanding/tsconfig.spec.json b/examples/angular/expanding/tsconfig.spec.json new file mode 100644 index 0000000000..47e3dd7551 --- /dev/null +++ b/examples/angular/expanding/tsconfig.spec.json @@ -0,0 +1,9 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": ["jasmine"] + }, + "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] +} diff --git a/examples/angular/sub-components/.devcontainer/devcontainer.json b/examples/angular/sub-components/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..36f47d8762 --- /dev/null +++ b/examples/angular/sub-components/.devcontainer/devcontainer.json @@ -0,0 +1,4 @@ +{ + "name": "Node.js", + "image": "mcr.microsoft.com/devcontainers/javascript-node:18" +} diff --git a/examples/angular/sub-components/.editorconfig b/examples/angular/sub-components/.editorconfig new file mode 100644 index 0000000000..59d9a3a3e7 --- /dev/null +++ b/examples/angular/sub-components/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/examples/angular/sub-components/.gitignore b/examples/angular/sub-components/.gitignore new file mode 100644 index 0000000000..0711527ef9 --- /dev/null +++ b/examples/angular/sub-components/.gitignore @@ -0,0 +1,42 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/examples/angular/sub-components/README.md b/examples/angular/sub-components/README.md new file mode 100644 index 0000000000..5da97a87d1 --- /dev/null +++ b/examples/angular/sub-components/README.md @@ -0,0 +1,27 @@ +# Basic + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.1.2. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/examples/angular/sub-components/angular.json b/examples/angular/sub-components/angular.json new file mode 100644 index 0000000000..6327dd784f --- /dev/null +++ b/examples/angular/sub-components/angular.json @@ -0,0 +1,83 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "sub-components": { + "cli": { + "cache": { + "enabled": false + } + }, + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:application", + "options": { + "outputPath": "dist/sub-components", + "index": "src/index.html", + "browser": "src/main.ts", + "polyfills": ["zone.js"], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "sub-components:build:production" + }, + "development": { + "buildTarget": "sub-components:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "sub-components:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": ["zone.js", "zone.js/testing"], + "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "scss", + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [] + } + } + } + } + }, + "cli": { + "analytics": false + } +} diff --git a/examples/angular/sub-components/package.json b/examples/angular/sub-components/package.json new file mode 100644 index 0000000000..83fe8b6061 --- /dev/null +++ b/examples/angular/sub-components/package.json @@ -0,0 +1,33 @@ +{ + "name": "tanstack-table-example-angular-sub-components", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "^17.3.9", + "@angular/common": "^17.3.9", + "@angular/compiler": "^17.3.9", + "@angular/core": "^17.3.9", + "@angular/forms": "^17.3.9", + "@angular/platform-browser": "^17.3.9", + "@angular/platform-browser-dynamic": "^17.3.9", + "@angular/router": "^17.3.9", + "@faker-js/faker": "^8.4.1", + "@tanstack/angular-table": "^8.21.0", + "rxjs": "~7.8.1", + "zone.js": "~0.14.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^17.3.8", + "@angular/cli": "^17.3.8", + "@angular/compiler-cli": "^17.3.9", + "tslib": "^2.6.2", + "typescript": "5.4.5" + } +} diff --git a/examples/angular/sub-components/src/app/app.component.html b/examples/angular/sub-components/src/app/app.component.html new file mode 100644 index 0000000000..b2c63ba226 --- /dev/null +++ b/examples/angular/sub-components/src/app/app.component.html @@ -0,0 +1,69 @@ +
+
+ + + @for (headerGroup of table.getHeaderGroups(); track headerGroup.id) { + + @for (header of headerGroup.headers; track header.id) { + + } + + } + + + @for (row of table.getRowModel().rows; track row.id) { + + + @for (cell of row.getVisibleCells(); track cell.id) { + + } + + + @if (row.getIsExpanded()) { + + + + + } + } + +
+ @if (!header.isPlaceholder) { + +
+
+ } +
+ +
+
+
+ +
+
+
+ + +
+    
+      {{ row.original | json }}
+    
+  
+
diff --git a/examples/angular/sub-components/src/app/app.component.ts b/examples/angular/sub-components/src/app/app.component.ts new file mode 100644 index 0000000000..5b6372a173 --- /dev/null +++ b/examples/angular/sub-components/src/app/app.component.ts @@ -0,0 +1,123 @@ +import { + ChangeDetectionStrategy, + Component, + computed, + signal, +} from '@angular/core' +import { + ColumnDef, + createAngularTable, + ExpandedState, + flexRenderComponent, + FlexRenderDirective, + getCoreRowModel, + getExpandedRowModel, + getFilteredRowModel, + getPaginationRowModel, +} from '@tanstack/angular-table' +import { makeData, type Person } from './makeData' +import { ReactiveFormsModule } from '@angular/forms' +import { ExpandableCell, ExpanderCell } from './expandable-cell' +import { JsonPipe, NgTemplateOutlet } from '@angular/common' + +const columns: ColumnDef[] = [ + { + header: 'Name', + footer: props => props.column.id, + columns: [ + { + id: 'expander', + header: () => null, + cell: ({ row }) => { + if (!row.getCanExpand()) { + return '🔵' + } + return flexRenderComponent(ExpanderCell, { + inputs: { + expanded: row.getIsExpanded(), + }, + outputs: { + click: row.getToggleExpandedHandler(), + }, + }) + }, + }, + { + accessorKey: 'firstName', + header: 'First Name', + cell: () => flexRenderComponent(ExpandableCell), + footer: props => props.column.id, + }, + { + accessorFn: row => row.lastName, + id: 'lastName', + cell: info => info.getValue(), + header: () => 'Last Name', + footer: props => props.column.id, + }, + ], + }, + { + header: 'Info', + footer: props => props.column.id, + columns: [ + { + accessorKey: 'age', + header: () => 'Age', + footer: props => props.column.id, + }, + { + header: 'More Info', + columns: [ + { + accessorKey: 'visits', + header: () => 'Visits', + footer: props => props.column.id, + }, + { + accessorKey: 'status', + header: 'Status', + footer: props => props.column.id, + }, + { + accessorKey: 'progress', + header: 'Profile Progress', + footer: props => props.column.id, + }, + ], + }, + ], + }, +] + +@Component({ + selector: 'app-root', + standalone: true, + imports: [ + FlexRenderDirective, + ReactiveFormsModule, + JsonPipe, + NgTemplateOutlet, + ], + templateUrl: './app.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class AppComponent { + readonly data = signal(makeData(10)) + readonly expanded = signal({}) + + readonly table = createAngularTable(() => ({ + data: this.data(), + columns, + state: { + expanded: this.expanded(), + }, + onExpandedChange: updater => + typeof updater === 'function' + ? this.expanded.update(updater) + : this.expanded.set(updater), + getRowCanExpand: () => true, + getCoreRowModel: getCoreRowModel(), + getExpandedRowModel: getExpandedRowModel(), + })) +} diff --git a/examples/angular/sub-components/src/app/app.config.ts b/examples/angular/sub-components/src/app/app.config.ts new file mode 100644 index 0000000000..f27099f33c --- /dev/null +++ b/examples/angular/sub-components/src/app/app.config.ts @@ -0,0 +1,5 @@ +import { ApplicationConfig } from '@angular/core' + +export const appConfig: ApplicationConfig = { + providers: [], +} diff --git a/examples/angular/sub-components/src/app/expandable-cell.ts b/examples/angular/sub-components/src/app/expandable-cell.ts new file mode 100644 index 0000000000..cc89a29b21 --- /dev/null +++ b/examples/angular/sub-components/src/app/expandable-cell.ts @@ -0,0 +1,51 @@ +import { + ChangeDetectionStrategy, + Component, + input, + output, +} from '@angular/core' +import { + type HeaderContext, + injectFlexRenderContext, + type Table, + CellContext, +} from '@tanstack/angular-table' + +@Component({ + standalone: true, + template: ` + + `, + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class ExpanderCell { + readonly expanded = input.required() + + readonly click = output() +} + +@Component({ + standalone: true, + template: ` +
+ {{ context.getValue() }} +
+ `, + changeDetection: ChangeDetectionStrategy.OnPush, + styles: ` + :host { + > div { + padding-left: calc(2rem * var(--depth, 1)); + } + } + `, +}) +export class ExpandableCell { + readonly context = injectFlexRenderContext>() + + get row() { + return this.context.row + } +} diff --git a/examples/angular/sub-components/src/app/makeData.ts b/examples/angular/sub-components/src/app/makeData.ts new file mode 100644 index 0000000000..331dd1eb19 --- /dev/null +++ b/examples/angular/sub-components/src/app/makeData.ts @@ -0,0 +1,48 @@ +import { faker } from '@faker-js/faker' + +export type Person = { + firstName: string + lastName: string + age: number + visits: number + progress: number + status: 'relationship' | 'complicated' | 'single' + subRows?: Person[] +} + +const range = (len: number) => { + const arr: number[] = [] + for (let i = 0; i < len; i++) { + arr.push(i) + } + return arr +} + +const newPerson = (): Person => { + return { + firstName: faker.person.firstName(), + lastName: faker.person.lastName(), + age: faker.number.int(40), + visits: faker.number.int(1000), + progress: faker.number.int(100), + status: faker.helpers.shuffle([ + 'relationship', + 'complicated', + 'single', + ])[0]!, + } +} + +export function makeData(...lens: number[]) { + const makeDataLevel = (depth = 0): Person[] => { + const len = lens[depth]! + return range(len).map((d): Person => { + return { + ...newPerson(), + subRows: lens[depth + 1] ? makeDataLevel(depth + 1) : undefined, + } + }) + } + + return makeDataLevel() +} diff --git a/examples/angular/sub-components/src/assets/.gitkeep b/examples/angular/sub-components/src/assets/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/angular/sub-components/src/favicon.ico b/examples/angular/sub-components/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 zcmd^G33O9Omi+`8$@{|M-I6TH3wzF-p5CV8o}7f~KxR60LK+ApEFB<$bcciv%@SmA zV{n>g85YMFFeU*Uvl=i4v)C*qgnb;$GQ=3XTe9{Y%c`mO%su)noNCCQ*@t1WXn|B(hQ7i~ zrUK8|pUkD6#lNo!bt$6)jR!&C?`P5G(`e((P($RaLeq+o0Vd~f11;qB05kdbAOm?r zXv~GYr_sibQO9NGTCdT;+G(!{4Xs@4fPak8#L8PjgJwcs-Mm#nR_Z0s&u?nDX5^~@ z+A6?}g0|=4e_LoE69pPFO`yCD@BCjgKpzMH0O4Xs{Ahc?K3HC5;l=f zg>}alhBXX&);z$E-wai+9TTRtBX-bWYY@cl$@YN#gMd~tM_5lj6W%8ah4;uZ;jP@Q zVbuel1rPA?2@x9Y+u?e`l{Z4ngfG5q5BLH5QsEu4GVpt{KIp1?U)=3+KQ;%7ec8l* zdV=zZgN5>O3G(3L2fqj3;oBbZZw$Ij@`Juz@?+yy#OPw)>#wsTewVgTK9BGt5AbZ&?K&B3GVF&yu?@(Xj3fR3n+ZP0%+wo)D9_xp>Z$`A4 zfV>}NWjO#3lqumR0`gvnffd9Ka}JJMuHS&|55-*mCD#8e^anA<+sFZVaJe7{=p*oX zE_Uv?1>e~ga=seYzh{9P+n5<+7&9}&(kwqSaz;1aD|YM3HBiy<))4~QJSIryyqp| z8nGc(8>3(_nEI4n)n7j(&d4idW1tVLjZ7QbNLXg;LB ziHsS5pXHEjGJZb59KcvS~wv;uZR-+4qEqow`;JCfB*+b^UL^3!?;-^F%yt=VjU|v z39SSqKcRu_NVvz!zJzL0CceJaS6%!(eMshPv_0U5G`~!a#I$qI5Ic(>IONej@aH=f z)($TAT#1I{iCS4f{D2+ApS=$3E7}5=+y(rA9mM#;Cky%b*Gi0KfFA`ofKTzu`AV-9 znW|y@19rrZ*!N2AvDi<_ZeR3O2R{#dh1#3-d%$k${Rx42h+i&GZo5!C^dSL34*AKp z27mTd>k>?V&X;Nl%GZ(>0s`1UN~Hfyj>KPjtnc|)xM@{H_B9rNr~LuH`Gr5_am&Ep zTjZA8hljNj5H1Ipm-uD9rC}U{-vR!eay5&6x6FkfupdpT*84MVwGpdd(}ib)zZ3Ky z7C$pnjc82(W_y_F{PhYj?o!@3__UUvpX)v69aBSzYj3 zdi}YQkKs^SyXyFG2LTRz9{(w}y~!`{EuAaUr6G1M{*%c+kP1olW9z23dSH!G4_HSK zzae-DF$OGR{ofP*!$a(r^5Go>I3SObVI6FLY)N@o<*gl0&kLo-OT{Tl*7nCz>Iq=? zcigIDHtj|H;6sR?or8Wd_a4996GI*CXGU}o;D9`^FM!AT1pBY~?|4h^61BY#_yIfO zKO?E0 zJ{Pc`9rVEI&$xxXu`<5E)&+m(7zX^v0rqofLs&bnQT(1baQkAr^kEsk)15vlzAZ-l z@OO9RF<+IiJ*O@HE256gCt!bF=NM*vh|WVWmjVawcNoksRTMvR03H{p@cjwKh(CL4 z7_PB(dM=kO)!s4fW!1p0f93YN@?ZSG` z$B!JaAJCtW$B97}HNO9(x-t30&E}Mo1UPi@Av%uHj~?T|!4JLwV;KCx8xO#b9IlUW zI6+{a@Wj|<2Y=U;a@vXbxqZNngH8^}LleE_4*0&O7#3iGxfJ%Id>+sb;7{L=aIic8 z|EW|{{S)J-wr@;3PmlxRXU8!e2gm_%s|ReH!reFcY8%$Hl4M5>;6^UDUUae?kOy#h zk~6Ee_@ZAn48Bab__^bNmQ~+k=02jz)e0d9Z3>G?RGG!65?d1>9}7iG17?P*=GUV-#SbLRw)Hu{zx*azHxWkGNTWl@HeWjA?39Ia|sCi{e;!^`1Oec zb>Z|b65OM*;eC=ZLSy?_fg$&^2xI>qSLA2G*$nA3GEnp3$N-)46`|36m*sc#4%C|h zBN<2U;7k>&G_wL4=Ve5z`ubVD&*Hxi)r@{4RCDw7U_D`lbC(9&pG5C*z#W>8>HU)h z!h3g?2UL&sS!oY5$3?VlA0Me9W5e~V;2jds*fz^updz#AJ%G8w2V}AEE?E^=MK%Xt z__Bx1cr7+DQmuHmzn*|hh%~eEc9@m05@clWfpEFcr+06%0&dZJH&@8^&@*$qR@}o3 z@Tuuh2FsLz^zH+dN&T&?0G3I?MpmYJ;GP$J!EzjeM#YLJ!W$}MVNb0^HfOA>5Fe~UNn%Zk(PT@~9}1dt)1UQ zU*B5K?Dl#G74qmg|2>^>0WtLX#Jz{lO4NT`NYB*(L#D|5IpXr9v&7a@YsGp3vLR7L zHYGHZg7{ie6n~2p$6Yz>=^cEg7tEgk-1YRl%-s7^cbqFb(U7&Dp78+&ut5!Tn(hER z|Gp4Ed@CnOPeAe|N>U(dB;SZ?NU^AzoD^UAH_vamp6Ws}{|mSq`^+VP1g~2B{%N-!mWz<`)G)>V-<`9`L4?3dM%Qh6<@kba+m`JS{Ya@9Fq*m6$$ zA1%Ogc~VRH33|S9l%CNb4zM%k^EIpqY}@h{w(aBcJ9c05oiZx#SK9t->5lSI`=&l~ z+-Ic)a{FbBhXV$Xt!WRd`R#Jk-$+_Z52rS>?Vpt2IK<84|E-SBEoIw>cs=a{BlQ7O z-?{Fy_M&84&9|KM5wt~)*!~i~E=(6m8(uCO)I=)M?)&sRbzH$9Rovzd?ZEY}GqX+~ zFbEbLz`BZ49=2Yh-|<`waK-_4!7`ro@zlC|r&I4fc4oyb+m=|c8)8%tZ-z5FwhzDt zL5kB@u53`d@%nHl0Sp)Dw`(QU&>vujEn?GPEXUW!Wi<+4e%BORl&BIH+SwRcbS}X@ z01Pk|vA%OdJKAs17zSXtO55k!;%m9>1eW9LnyAX4uj7@${O6cfii`49qTNItzny5J zH&Gj`e}o}?xjQ}r?LrI%FjUd@xflT3|7LA|ka%Q3i}a8gVm<`HIWoJGH=$EGClX^C0lysQJ>UO(q&;`T#8txuoQ_{l^kEV9CAdXuU1Ghg8 zN_6hHFuy&1x24q5-(Z7;!poYdt*`UTdrQOIQ!2O7_+AHV2hgXaEz7)>$LEdG z<8vE^Tw$|YwZHZDPM!SNOAWG$?J)MdmEk{U!!$M#fp7*Wo}jJ$Q(=8>R`Ats?e|VU?Zt7Cdh%AdnfyN3MBWw{ z$OnREvPf7%z6`#2##_7id|H%Y{vV^vWXb?5d5?a_y&t3@p9t$ncHj-NBdo&X{wrfJ zamN)VMYROYh_SvjJ=Xd!Ga?PY_$;*L=SxFte!4O6%0HEh%iZ4=gvns7IWIyJHa|hT z2;1+e)`TvbNb3-0z&DD_)Jomsg-7p_Uh`wjGnU1urmv1_oVqRg#=C?e?!7DgtqojU zWoAB($&53;TsXu^@2;8M`#z{=rPy?JqgYM0CDf4v@z=ZD|ItJ&8%_7A#K?S{wjxgd z?xA6JdJojrWpB7fr2p_MSsU4(R7=XGS0+Eg#xR=j>`H@R9{XjwBmqAiOxOL` zt?XK-iTEOWV}f>Pz3H-s*>W z4~8C&Xq25UQ^xH6H9kY_RM1$ch+%YLF72AA7^b{~VNTG}Tj#qZltz5Q=qxR`&oIlW Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/examples/angular/sub-components/src/index.html b/examples/angular/sub-components/src/index.html new file mode 100644 index 0000000000..bd21f08bcc --- /dev/null +++ b/examples/angular/sub-components/src/index.html @@ -0,0 +1,14 @@ + + + + + Expanding + + + + + + + + + diff --git a/examples/angular/sub-components/src/main.ts b/examples/angular/sub-components/src/main.ts new file mode 100644 index 0000000000..0c3b92057c --- /dev/null +++ b/examples/angular/sub-components/src/main.ts @@ -0,0 +1,5 @@ +import { bootstrapApplication } from '@angular/platform-browser' +import { appConfig } from './app/app.config' +import { AppComponent } from './app/app.component' + +bootstrapApplication(AppComponent, appConfig).catch(err => console.error(err)) diff --git a/examples/angular/sub-components/src/styles.scss b/examples/angular/sub-components/src/styles.scss new file mode 100644 index 0000000000..43c09e0f6b --- /dev/null +++ b/examples/angular/sub-components/src/styles.scss @@ -0,0 +1,26 @@ +html { + font-family: sans-serif; + font-size: 14px; +} + +table { + border: 1px solid lightgray; +} + +tbody { + border-bottom: 1px solid lightgray; +} + +th { + border-bottom: 1px solid lightgray; + border-right: 1px solid lightgray; + padding: 2px 4px; +} + +tfoot { + color: gray; +} + +tfoot th { + font-weight: normal; +} diff --git a/examples/angular/sub-components/tsconfig.app.json b/examples/angular/sub-components/tsconfig.app.json new file mode 100644 index 0000000000..84f1f992d2 --- /dev/null +++ b/examples/angular/sub-components/tsconfig.app.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": ["src/main.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/examples/angular/sub-components/tsconfig.json b/examples/angular/sub-components/tsconfig.json new file mode 100644 index 0000000000..b58d3efc71 --- /dev/null +++ b/examples/angular/sub-components/tsconfig.json @@ -0,0 +1,31 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "src", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "esModuleInterop": true, + "sourceMap": true, + "declaration": false, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "useDefineForClassFields": false, + "lib": ["ES2022", "dom"] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/examples/angular/sub-components/tsconfig.spec.json b/examples/angular/sub-components/tsconfig.spec.json new file mode 100644 index 0000000000..47e3dd7551 --- /dev/null +++ b/examples/angular/sub-components/tsconfig.spec.json @@ -0,0 +1,9 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": ["jasmine"] + }, + "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7f0ea7bd0f..e3f5385ab2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -613,6 +613,61 @@ importers: specifier: 5.4.5 version: 5.4.5 + examples/angular/expanding: + dependencies: + '@angular/animations': + specifier: ^17.3.9 + version: 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) + '@angular/common': + specifier: ^17.3.9 + version: 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1) + '@angular/compiler': + specifier: ^17.3.9 + version: 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) + '@angular/core': + specifier: ^17.3.9 + version: 17.3.11(rxjs@7.8.1)(zone.js@0.14.7) + '@angular/forms': + specifier: ^17.3.9 + version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(rxjs@7.8.1) + '@angular/platform-browser': + specifier: ^17.3.9 + version: 17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) + '@angular/platform-browser-dynamic': + specifier: ^17.3.9 + version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))) + '@angular/router': + specifier: ^17.3.9 + version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(rxjs@7.8.1) + '@faker-js/faker': + specifier: ^8.4.1 + version: 8.4.1 + '@tanstack/angular-table': + specifier: ^8.21.0 + version: link:../../../packages/angular-table + rxjs: + specifier: ~7.8.1 + version: 7.8.1 + zone.js: + specifier: ~0.14.4 + version: 0.14.7 + devDependencies: + '@angular-devkit/build-angular': + specifier: ^17.3.8 + version: 17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.14.9)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(tslib@2.6.3)(typescript@5.4.5))(typescript@5.4.5) + '@angular/cli': + specifier: ^17.3.8 + version: 17.3.8(chokidar@3.6.0) + '@angular/compiler-cli': + specifier: ^17.3.9 + version: 17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5) + tslib: + specifier: ^2.6.2 + version: 2.6.3 + typescript: + specifier: 5.4.5 + version: 5.4.5 + examples/angular/filters: dependencies: '@angular/animations': @@ -1054,6 +1109,61 @@ importers: specifier: 5.4.5 version: 5.4.5 + examples/angular/sub-components: + dependencies: + '@angular/animations': + specifier: ^17.3.9 + version: 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) + '@angular/common': + specifier: ^17.3.9 + version: 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1) + '@angular/compiler': + specifier: ^17.3.9 + version: 17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) + '@angular/core': + specifier: ^17.3.9 + version: 17.3.11(rxjs@7.8.1)(zone.js@0.14.7) + '@angular/forms': + specifier: ^17.3.9 + version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(rxjs@7.8.1) + '@angular/platform-browser': + specifier: ^17.3.9 + version: 17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)) + '@angular/platform-browser-dynamic': + specifier: ^17.3.9 + version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))) + '@angular/router': + specifier: ^17.3.9 + version: 17.3.11(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(@angular/platform-browser@17.3.11(@angular/animations@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(@angular/common@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7))(rxjs@7.8.1))(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(rxjs@7.8.1) + '@faker-js/faker': + specifier: ^8.4.1 + version: 8.4.1 + '@tanstack/angular-table': + specifier: ^8.21.0 + version: link:../../../packages/angular-table + rxjs: + specifier: ~7.8.1 + version: 7.8.1 + zone.js: + specifier: ~0.14.4 + version: 0.14.7 + devDependencies: + '@angular-devkit/build-angular': + specifier: ^17.3.8 + version: 17.3.8(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@20.14.9)(chokidar@3.6.0)(karma@6.4.3)(ng-packagr@17.3.0(@angular/compiler-cli@17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5))(tslib@2.6.3)(typescript@5.4.5))(typescript@5.4.5) + '@angular/cli': + specifier: ^17.3.8 + version: 17.3.8(chokidar@3.6.0) + '@angular/compiler-cli': + specifier: ^17.3.9 + version: 17.3.11(@angular/compiler@17.3.11(@angular/core@17.3.11(rxjs@7.8.1)(zone.js@0.14.7)))(typescript@5.4.5) + tslib: + specifier: ^2.6.2 + version: 2.6.3 + typescript: + specifier: 5.4.5 + version: 5.4.5 + examples/lit/basic: dependencies: '@tanstack/lit-table': @@ -2437,7 +2547,7 @@ importers: specifier: ^5.3.2 version: 5.3.2(@types/node@20.14.9)(less@4.2.0)(sass@1.77.6)(terser@5.31.1) - examples/react/virtualized-columns-expiremental: + examples/react/virtualized-columns-experimental: dependencies: '@faker-js/faker': specifier: ^8.4.1 From e35226e12e0b3d6a890490b2aa54227ce6ddd522 Mon Sep 17 00:00:00 2001 From: riccardoperra Date: Mon, 3 Feb 2025 21:38:49 +0100 Subject: [PATCH 10/22] fix conflicts in lit package --- packages/lit-table/src/TableController.ts | 14 ++--- packages/lit-table/src/flexRender.ts | 2 +- packages/lit-table/src/index.ts | 62 ----------------------- 3 files changed, 9 insertions(+), 69 deletions(-) diff --git a/packages/lit-table/src/TableController.ts b/packages/lit-table/src/TableController.ts index 96477665fd..27be45fc6d 100644 --- a/packages/lit-table/src/TableController.ts +++ b/packages/lit-table/src/TableController.ts @@ -1,9 +1,3 @@ -import { - constructTable, - coreFeatures, - getInitialTableState, - isFunction, -} from '@tanstack/table-core' import type { RowData, Table, @@ -12,6 +6,12 @@ import type { TableState, Updater, } from '@tanstack/table-core' +import { + constructTable, + coreFeatures, + getInitialTableState, + isFunction, +} from '@tanstack/table-core' import type { ReactiveController, ReactiveControllerHost } from 'lit' export class TableController< @@ -50,6 +50,8 @@ export class TableController< this._table.setOptions((prev) => ({ ...prev, state: { ...this._state, ...tableOptions.state }, + data: tableOptions.data, + columns: tableOptions.columns, onStateChange: (updater: Updater>) => { this._state = isFunction(updater) ? updater(this._state!) : updater this.host.requestUpdate() diff --git a/packages/lit-table/src/flexRender.ts b/packages/lit-table/src/flexRender.ts index a6c462e1c1..eb21d6fff4 100644 --- a/packages/lit-table/src/flexRender.ts +++ b/packages/lit-table/src/flexRender.ts @@ -1,7 +1,7 @@ import type { TemplateResult } from 'lit' export function flexRender( - Comp: ((_props: TProps) => string) | string | TemplateResult | undefined, + Comp: ((props: TProps) => string) | string | TemplateResult | undefined, props: TProps, ): TemplateResult | string | null { if (!Comp) return null diff --git a/packages/lit-table/src/index.ts b/packages/lit-table/src/index.ts index 14977ed8f7..5f8a208c88 100755 --- a/packages/lit-table/src/index.ts +++ b/packages/lit-table/src/index.ts @@ -1,66 +1,4 @@ export * from '@tanstack/table-core' -<<<<<<< HEAD export * from './flexRender' export * from './TableController' -======= -export function flexRender( - Comp: ((props: TProps) => string) | string | TemplateResult | undefined, - props: TProps -): TemplateResult | string | null { - if (!Comp) return null - - if (typeof Comp === 'function') { - return Comp(props) - } - - return Comp -} - -export class TableController - implements ReactiveController -{ - host: ReactiveControllerHost - - private tableInstance: Table | null = null - - private _tableState: TableState | null = null - - constructor(host: ReactiveControllerHost) { - ;(this.host = host).addController(this) - } - - public table(options: TableOptions) { - if (!this.tableInstance) { - const resolvedOptions: TableOptionsResolved = { - state: {}, - onStateChange: () => {}, // noop - renderFallbackValue: null, - ...options, - } - - this.tableInstance = createTable(resolvedOptions) - this._tableState = { - ...this.tableInstance.initialState, - ...options.state, - } - } - - this.tableInstance.setOptions(prev => ({ - ...prev, - state: { ...this._tableState, ...options.state }, - data: options.data, - columns: options.columns, - onStateChange: (updater: any) => { - this._tableState = updater(this._tableState) - this.host.requestUpdate() - options.onStateChange?.(updater) - }, - })) - - return this.tableInstance - } - - hostDisconnected() {} -} ->>>>>>> origin/main From 849a7cb37ba1513b75d25dc69582e9352c61d768 Mon Sep 17 00:00:00 2001 From: riccardoperra Date: Mon, 3 Feb 2025 21:47:02 +0100 Subject: [PATCH 11/22] remove angular package non-fesm export * since angular 19, ng-packgr only bundle a `fesm2022` export --- packages/angular-table/package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/angular-table/package.json b/packages/angular-table/package.json index 70e824ba10..2d5a4a0945 100644 --- a/packages/angular-table/package.json +++ b/packages/angular-table/package.json @@ -21,13 +21,11 @@ "datagrid" ], "type": "module", - "module": "dist/esm2022/index.mjs", + "module": "dist/fesm2022/tanstack-angular-table.mjs", "types": "dist/index.d.ts", "exports": { ".": { "types": "./dist/index.d.ts", - "esm": "./dist/esm2022/index.mjs", - "esm2022": "./dist/esm2022/index.mjs", "default": "./dist/fesm2022/tanstack-angular-table.mjs" }, "./package.json": { From 9e6987d8fa246ede1e3c4d99fbc3ac67e36cdbf8 Mon Sep 17 00:00:00 2001 From: Kevin Van Cott Date: Mon, 3 Feb 2025 19:04:45 -0600 Subject: [PATCH 12/22] docs: exp virtual - remeasure when table state changes --- .../virtualized-columns-experimental/src/main.tsx | 12 ++++++++++++ .../react/virtualized-rows-experimental/src/main.tsx | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/examples/react/virtualized-columns-experimental/src/main.tsx b/examples/react/virtualized-columns-experimental/src/main.tsx index b148f30f5a..b951e73134 100644 --- a/examples/react/virtualized-columns-experimental/src/main.tsx +++ b/examples/react/virtualized-columns-experimental/src/main.tsx @@ -29,6 +29,14 @@ function App() { setData(makeData(1_000, columns)) }, [columns]) + // refresh data every 5 seconds + React.useEffect(() => { + const interval = setInterval(() => { + refreshData() + }, 5000) + return () => clearInterval(interval) + }, [refreshData]) + const table = useReactTable({ data, columns, @@ -246,6 +254,10 @@ function TableBody({ }, }) + React.useLayoutEffect(() => { + rowVirtualizer.measure() + }, [table.getState()]) + const virtualRowIndexes = rowVirtualizer.getVirtualIndexes() return ( diff --git a/examples/react/virtualized-rows-experimental/src/main.tsx b/examples/react/virtualized-rows-experimental/src/main.tsx index b0e271b262..2132bea714 100644 --- a/examples/react/virtualized-rows-experimental/src/main.tsx +++ b/examples/react/virtualized-rows-experimental/src/main.tsx @@ -70,6 +70,14 @@ function App() { _setData(makeData(50_000)) }, []) + // refresh data every 5 seconds + React.useEffect(() => { + const interval = setInterval(() => { + refreshData() + }, 5000) + return () => clearInterval(interval) + }, [refreshData]) + const table = useReactTable({ data, columns, @@ -189,6 +197,10 @@ function TableBodyWrapper({ table, tableContainerRef }: TableBodyWrapperProps) { }, }) + React.useLayoutEffect(() => { + rowVirtualizer.measure() + }, [table.getState()]) + return ( Date: Mon, 3 Feb 2025 19:49:26 -0600 Subject: [PATCH 13/22] docs: virtualizer tbody from onchange --- .../virtualized-columns-experimental/src/main.tsx | 13 ++++++++++--- .../virtualized-rows-experimental/src/main.tsx | 2 ++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/examples/react/virtualized-columns-experimental/src/main.tsx b/examples/react/virtualized-columns-experimental/src/main.tsx index b951e73134..5b1713dd04 100644 --- a/examples/react/virtualized-columns-experimental/src/main.tsx +++ b/examples/react/virtualized-columns-experimental/src/main.tsx @@ -37,6 +37,7 @@ function App() { return () => clearInterval(interval) }, [refreshData]) + // The table does not live in the same scope as the virtualizers const table = useReactTable({ data, columns, @@ -83,6 +84,7 @@ function TableContainer({ table }: TableContainerProps) { horizontal: true, overscan: 3, //how many columns to render on each side off screen each way (adjust this for performance) onChange: instance => { + // requestAnimationFrame(() => { const virtualColumns = instance.getVirtualItems() // different virtualization strategy for columns - instead of absolute and translateY, we add empty columns to the left and right const virtualPaddingLeft = virtualColumns[0]?.start ?? 0 @@ -90,14 +92,15 @@ function TableContainer({ table }: TableContainerProps) { instance.getTotalSize() - (virtualColumns[virtualColumns.length - 1]?.end ?? 0) - document.documentElement.style.setProperty( + tableContainerRef.current?.style.setProperty( '--virtual-padding-left', `${virtualPaddingLeft}px` ) - document.documentElement.style.setProperty( + tableContainerRef.current?.style.setProperty( '--virtual-padding-right', `${virtualPaddingRight}px` ) + // }) }, }) @@ -229,6 +232,7 @@ function TableBody({ table, tableContainerRef, }: TableBodyProps) { + const tableBodyRef = React.useRef(null) const rowRefsMap = React.useRef>(new Map()) const { rows } = table.getRowModel() @@ -246,11 +250,14 @@ function TableBody({ : undefined, overscan: 5, onChange: instance => { + // requestAnimationFrame(() => { + tableBodyRef.current!.style.height = `${instance.getTotalSize()}px` instance.getVirtualItems().forEach(virtualRow => { const rowRef = rowRefsMap.current.get(virtualRow.index) if (!rowRef) return rowRef.style.transform = `translateY(${virtualRow.start}px)` }) + // }) }, }) @@ -262,9 +269,9 @@ function TableBody({ return ( diff --git a/examples/react/virtualized-rows-experimental/src/main.tsx b/examples/react/virtualized-rows-experimental/src/main.tsx index 2132bea714..7c4fa00783 100644 --- a/examples/react/virtualized-rows-experimental/src/main.tsx +++ b/examples/react/virtualized-rows-experimental/src/main.tsx @@ -189,11 +189,13 @@ function TableBodyWrapper({ table, tableContainerRef }: TableBodyWrapperProps) { : undefined, overscan: 5, onChange: instance => { + // requestAnimationFrame(() => { instance.getVirtualItems().forEach(virtualRow => { const rowRef = rowRefsMap.current.get(virtualRow.index) if (!rowRef) return rowRef.style.transform = `translateY(${virtualRow.start}px)` }) + // }) }, }) From 9774cf4a511bcc1746d07ccb4eaf646caa49914f Mon Sep 17 00:00:00 2001 From: riccardoperra Date: Wed, 5 Feb 2025 19:02:34 +0100 Subject: [PATCH 14/22] update all angular examples --- examples/angular/basic/package.json | 20 +- examples/angular/column-ordering/package.json | 18 +- .../column-pinning-sticky/package.json | 18 +- examples/angular/column-pinning/package.json | 20 +- .../column-resizing-performant/package.json | 26 +- .../src/app/app.component.ts | 9 +- .../angular/column-visibility/package.json | 18 +- examples/angular/editable/package.json | 26 +- .../angular/editable/src/app/app.component.ts | 9 +- .../angular/editable/src/app/editable-cell.ts | 7 +- examples/angular/expanding/package.json | 26 +- .../expanding/src/app/app.component.ts | 9 +- examples/angular/filters/package.json | 18 +- examples/angular/grouping/package.json | 18 +- examples/angular/row-dnd/package.json | 26 +- .../angular/row-dnd/src/app/app.component.ts | 11 +- .../row-dnd/src/app/drag-handle-cell.ts | 9 +- .../angular/row-selection-signal/package.json | 20 +- examples/angular/row-selection/package.json | 18 +- examples/angular/signal-input/package.json | 16 +- examples/angular/sub-components/package.json | 28 +- .../sub-components/src/app/app.component.ts | 19 +- packages/angular-table/package.json | 8 +- pnpm-lock.yaml | 5588 ++++++----------- 24 files changed, 2051 insertions(+), 3934 deletions(-) diff --git a/examples/angular/basic/package.json b/examples/angular/basic/package.json index a5c6b37c13..c4f14e4dd9 100644 --- a/examples/angular/basic/package.json +++ b/examples/angular/basic/package.json @@ -11,21 +11,21 @@ }, "private": true, "dependencies": { - "@angular/common": "^19.0.5", - "@angular/compiler": "^19.0.5", - "@angular/core": "^19.0.5", - "@angular/forms": "^19.0.5", - "@angular/platform-browser": "^19.0.5", - "@angular/platform-browser-dynamic": "^19.0.5", - "@angular/router": "^19.0.5", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/forms": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", + "@angular/router": "^19.1.4", "@tanstack/angular-table": "^9.0.0-alpha.10", "rxjs": "~7.8.1", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^19.0.6", - "@angular/cli": "^19.0.6", - "@angular/compiler-cli": "^19.0.5", + "@angular/build": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", "@types/jasmine": "~5.1.5", "jasmine-core": "~5.5.0", "tslib": "^2.8.1", diff --git a/examples/angular/column-ordering/package.json b/examples/angular/column-ordering/package.json index cbcb6ca171..2d8e343b4d 100644 --- a/examples/angular/column-ordering/package.json +++ b/examples/angular/column-ordering/package.json @@ -11,20 +11,20 @@ }, "private": true, "dependencies": { - "@angular/common": "^19.0.5", - "@angular/compiler": "^19.0.5", - "@angular/core": "^19.0.5", - "@angular/forms": "^19.0.5", - "@angular/platform-browser": "^19.0.5", - "@angular/platform-browser-dynamic": "^19.0.5", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/forms": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", "@tanstack/angular-table": "^9.0.0-alpha.10", "rxjs": "~7.8.1", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^19.0.6", - "@angular/cli": "^19.0.6", - "@angular/compiler-cli": "^19.0.5", + "@angular/build": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", "tslib": "^2.8.1", "typescript": "5.6.3" } diff --git a/examples/angular/column-pinning-sticky/package.json b/examples/angular/column-pinning-sticky/package.json index 9107f12202..a612ddcfc1 100644 --- a/examples/angular/column-pinning-sticky/package.json +++ b/examples/angular/column-pinning-sticky/package.json @@ -11,21 +11,21 @@ }, "private": true, "dependencies": { - "@angular/common": "^19.0.5", - "@angular/compiler": "^19.0.5", - "@angular/core": "^19.0.5", - "@angular/forms": "^19.0.5", - "@angular/platform-browser": "^19.0.5", - "@angular/platform-browser-dynamic": "^19.0.5", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/forms": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", "@faker-js/faker": "^9.3.0", "@tanstack/angular-table": "^9.0.0-alpha.10", "rxjs": "~7.8.1", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^19.0.6", - "@angular/cli": "^19.0.6", - "@angular/compiler-cli": "^19.0.5", + "@angular/build": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", "tslib": "^2.8.1", "typescript": "5.6.3" } diff --git a/examples/angular/column-pinning/package.json b/examples/angular/column-pinning/package.json index e7f6795256..8daa808b13 100644 --- a/examples/angular/column-pinning/package.json +++ b/examples/angular/column-pinning/package.json @@ -11,22 +11,22 @@ }, "private": true, "dependencies": { - "@angular/animations": "^19.0.5", - "@angular/common": "^19.0.5", - "@angular/compiler": "^19.0.5", - "@angular/core": "^19.0.5", - "@angular/forms": "^19.0.5", - "@angular/platform-browser": "^19.0.5", - "@angular/platform-browser-dynamic": "^19.0.5", + "@angular/animations": "^19.1.4", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/forms": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", "@faker-js/faker": "^9.3.0", "@tanstack/angular-table": "^9.0.0-alpha.10", "rxjs": "~7.8.1", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^19.0.6", - "@angular/cli": "^19.0.6", - "@angular/compiler-cli": "^19.0.5", + "@angular/build": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", "tslib": "^2.8.1", "typescript": "5.6.3" } diff --git a/examples/angular/column-resizing-performant/package.json b/examples/angular/column-resizing-performant/package.json index f6888333d5..2a76979d8d 100644 --- a/examples/angular/column-resizing-performant/package.json +++ b/examples/angular/column-resizing-performant/package.json @@ -10,23 +10,23 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.9", - "@angular/common": "^17.3.9", - "@angular/compiler": "^17.3.9", - "@angular/core": "^17.3.9", - "@angular/forms": "^17.3.9", - "@angular/platform-browser": "^17.3.9", - "@angular/platform-browser-dynamic": "^17.3.9", - "@angular/router": "^17.3.9", + "@angular/animations": "^19.1.4", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/forms": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", + "@angular/router": "^19.1.4", "@faker-js/faker": "^8.4.1", "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", - "zone.js": "~0.14.4" + "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.8", - "@angular/cli": "^17.3.8", - "@angular/compiler-cli": "^17.3.9", + "@angular-devkit/build-angular": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", "@types/jasmine": "~5.1.4", "jasmine-core": "~5.1.2", "karma": "~6.4.3", @@ -35,6 +35,6 @@ "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", "tslib": "^2.6.2", - "typescript": "5.4.5" + "typescript": "5.7.3" } } diff --git a/examples/angular/column-resizing-performant/src/app/app.component.ts b/examples/angular/column-resizing-performant/src/app/app.component.ts index 43efd47de2..f3858ceaa1 100644 --- a/examples/angular/column-resizing-performant/src/app/app.component.ts +++ b/examples/angular/column-resizing-performant/src/app/app.component.ts @@ -62,11 +62,10 @@ const defaultColumns: ColumnDef[] = [ ] @Component({ - selector: 'app-root', - standalone: true, - imports: [FlexRenderDirective, TableResizableCell, TableResizableHeader], - templateUrl: './app.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, + selector: 'app-root', + imports: [FlexRenderDirective, TableResizableCell, TableResizableHeader], + templateUrl: './app.component.html', + changeDetection: ChangeDetectionStrategy.OnPush }) export class AppComponent { readonly data = signal(makeData(200)) diff --git a/examples/angular/column-visibility/package.json b/examples/angular/column-visibility/package.json index f7b1b01c6b..eefbed3548 100644 --- a/examples/angular/column-visibility/package.json +++ b/examples/angular/column-visibility/package.json @@ -11,20 +11,20 @@ }, "private": true, "dependencies": { - "@angular/common": "^19.0.5", - "@angular/compiler": "^19.0.5", - "@angular/core": "^19.0.5", - "@angular/forms": "^19.0.5", - "@angular/platform-browser": "^19.0.5", - "@angular/platform-browser-dynamic": "^19.0.5", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/forms": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", "@tanstack/angular-table": "^9.0.0-alpha.10", "rxjs": "~7.8.1", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^19.0.6", - "@angular/cli": "^19.0.6", - "@angular/compiler-cli": "^19.0.5", + "@angular/build": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", "tslib": "^2.8.1", "typescript": "5.6.3" } diff --git a/examples/angular/editable/package.json b/examples/angular/editable/package.json index 8fc6b2a49e..9ef210f30b 100644 --- a/examples/angular/editable/package.json +++ b/examples/angular/editable/package.json @@ -10,23 +10,23 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.9", - "@angular/common": "^17.3.9", - "@angular/compiler": "^17.3.9", - "@angular/core": "^17.3.9", - "@angular/forms": "^17.3.9", - "@angular/platform-browser": "^17.3.9", - "@angular/platform-browser-dynamic": "^17.3.9", - "@angular/router": "^17.3.9", + "@angular/animations": "^19.1.4", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/forms": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", + "@angular/router": "^19.1.4", "@faker-js/faker": "^8.4.1", "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", - "zone.js": "~0.14.4" + "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.8", - "@angular/cli": "^17.3.8", - "@angular/compiler-cli": "^17.3.9", + "@angular-devkit/build-angular": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", "@types/jasmine": "~5.1.4", "jasmine-core": "~5.1.2", "karma": "~6.4.3", @@ -35,6 +35,6 @@ "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", "tslib": "^2.6.2", - "typescript": "5.4.5" + "typescript": "5.7.3" } } diff --git a/examples/angular/editable/src/app/app.component.ts b/examples/angular/editable/src/app/app.component.ts index 54956725a4..8e0657648b 100644 --- a/examples/angular/editable/src/app/app.component.ts +++ b/examples/angular/editable/src/app/app.component.ts @@ -78,11 +78,10 @@ const defaultColumns: ColumnDef[] = [ ] @Component({ - selector: 'app-root', - standalone: true, - imports: [FlexRenderDirective], - templateUrl: './app.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, + selector: 'app-root', + imports: [FlexRenderDirective], + templateUrl: './app.component.html', + changeDetection: ChangeDetectionStrategy.OnPush }) export class AppComponent { readonly data = signal(makeData(10_000)) diff --git a/examples/angular/editable/src/app/editable-cell.ts b/examples/angular/editable/src/app/editable-cell.ts index db5980334c..a025ff7285 100644 --- a/examples/angular/editable/src/app/editable-cell.ts +++ b/examples/angular/editable/src/app/editable-cell.ts @@ -9,10 +9,9 @@ import { import { FormsModule } from '@angular/forms' @Component({ - selector: 'editable-cell', - template: ` `, - standalone: true, - imports: [FormsModule], + selector: 'editable-cell', + template: ` `, + imports: [FormsModule] }) export class EditableCell { readonly modelValue = signal(undefined) diff --git a/examples/angular/expanding/package.json b/examples/angular/expanding/package.json index 8a149bdff6..3977456ab2 100644 --- a/examples/angular/expanding/package.json +++ b/examples/angular/expanding/package.json @@ -10,24 +10,24 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.9", - "@angular/common": "^17.3.9", - "@angular/compiler": "^17.3.9", - "@angular/core": "^17.3.9", - "@angular/forms": "^17.3.9", - "@angular/platform-browser": "^17.3.9", - "@angular/platform-browser-dynamic": "^17.3.9", - "@angular/router": "^17.3.9", + "@angular/animations": "^19.1.4", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/forms": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", + "@angular/router": "^19.1.4", "@faker-js/faker": "^8.4.1", "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", - "zone.js": "~0.14.4" + "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.8", - "@angular/cli": "^17.3.8", - "@angular/compiler-cli": "^17.3.9", + "@angular-devkit/build-angular": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", "tslib": "^2.6.2", - "typescript": "5.4.5" + "typescript": "5.7.3" } } diff --git a/examples/angular/expanding/src/app/app.component.ts b/examples/angular/expanding/src/app/app.component.ts index 741f357e53..29ffbdd9b0 100644 --- a/examples/angular/expanding/src/app/app.component.ts +++ b/examples/angular/expanding/src/app/app.component.ts @@ -60,11 +60,10 @@ const defaultColumns: ColumnDef[] = [ ] @Component({ - selector: 'app-root', - standalone: true, - imports: [FlexRenderDirective, ReactiveFormsModule], - templateUrl: './app.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, + selector: 'app-root', + imports: [FlexRenderDirective, ReactiveFormsModule], + templateUrl: './app.component.html', + changeDetection: ChangeDetectionStrategy.OnPush }) export class AppComponent { readonly data = signal(makeData(100, 5, 3)) diff --git a/examples/angular/filters/package.json b/examples/angular/filters/package.json index e001b94dc5..d6a18361be 100644 --- a/examples/angular/filters/package.json +++ b/examples/angular/filters/package.json @@ -11,12 +11,12 @@ }, "private": true, "dependencies": { - "@angular/common": "^19.0.5", - "@angular/compiler": "^19.0.5", - "@angular/core": "^19.0.5", - "@angular/forms": "^19.0.5", - "@angular/platform-browser": "^19.0.5", - "@angular/platform-browser-dynamic": "^19.0.5", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/forms": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", "@faker-js/faker": "^9.3.0", "@tanstack/angular-table": "^9.0.0-alpha.10", "rxjs": "~7.8.1", @@ -24,9 +24,9 @@ "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^19.0.6", - "@angular/cli": "^19.0.6", - "@angular/compiler-cli": "^19.0.5", + "@angular/build": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", "typescript": "5.6.3" } } diff --git a/examples/angular/grouping/package.json b/examples/angular/grouping/package.json index 6c558b284e..3bc372eb2a 100644 --- a/examples/angular/grouping/package.json +++ b/examples/angular/grouping/package.json @@ -11,21 +11,21 @@ }, "private": true, "dependencies": { - "@angular/common": "^19.0.5", - "@angular/compiler": "^19.0.5", - "@angular/core": "^19.0.5", - "@angular/forms": "^19.0.5", - "@angular/platform-browser": "^19.0.5", - "@angular/platform-browser-dynamic": "^19.0.5", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/forms": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", "@faker-js/faker": "^9.3.0", "@tanstack/angular-table": "^9.0.0-alpha.10", "rxjs": "~7.8.1", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^19.0.6", - "@angular/cli": "^19.0.6", - "@angular/compiler-cli": "^19.0.5", + "@angular/build": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", "tslib": "^2.8.1", "typescript": "5.6.3" } diff --git a/examples/angular/row-dnd/package.json b/examples/angular/row-dnd/package.json index 67bdaae19d..5dd29aca08 100644 --- a/examples/angular/row-dnd/package.json +++ b/examples/angular/row-dnd/package.json @@ -10,24 +10,24 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.9", + "@angular/animations": "^19.1.4", "@angular/cdk": "^17.3.10", - "@angular/common": "^17.3.9", - "@angular/compiler": "^17.3.9", - "@angular/core": "^17.3.9", - "@angular/forms": "^17.3.9", - "@angular/platform-browser": "^17.3.9", - "@angular/platform-browser-dynamic": "^17.3.9", - "@angular/router": "^17.3.9", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/forms": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", + "@angular/router": "^19.1.4", "@faker-js/faker": "^8.4.1", "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", - "zone.js": "~0.14.4" + "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.8", - "@angular/cli": "^17.3.8", - "@angular/compiler-cli": "^17.3.9", + "@angular-devkit/build-angular": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", "@types/jasmine": "~5.1.4", "jasmine-core": "~5.1.2", "karma": "~6.4.3", @@ -36,6 +36,6 @@ "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", "tslib": "^2.6.2", - "typescript": "5.4.5" + "typescript": "5.7.3" } } diff --git a/examples/angular/row-dnd/src/app/app.component.ts b/examples/angular/row-dnd/src/app/app.component.ts index e28c236f08..1c3b8502ca 100644 --- a/examples/angular/row-dnd/src/app/app.component.ts +++ b/examples/angular/row-dnd/src/app/app.component.ts @@ -59,12 +59,11 @@ const defaultColumns: ColumnDef[] = [ ] @Component({ - selector: 'app-root', - standalone: true, - imports: [FlexRenderDirective, CdkDropList, CdkDrag, JsonPipe], - templateUrl: './app.component.html', - styleUrl: './app.component.css', - changeDetection: ChangeDetectionStrategy.OnPush, + selector: 'app-root', + imports: [FlexRenderDirective, CdkDropList, CdkDrag, JsonPipe], + templateUrl: './app.component.html', + styleUrl: './app.component.css', + changeDetection: ChangeDetectionStrategy.OnPush }) export class AppComponent { readonly data = signal(makeData(20)) diff --git a/examples/angular/row-dnd/src/app/drag-handle-cell.ts b/examples/angular/row-dnd/src/app/drag-handle-cell.ts index 00320e706e..80f5c245c2 100644 --- a/examples/angular/row-dnd/src/app/drag-handle-cell.ts +++ b/examples/angular/row-dnd/src/app/drag-handle-cell.ts @@ -11,10 +11,9 @@ import { FormsModule } from '@angular/forms' import { CdkDragHandle } from '@angular/cdk/drag-drop' @Component({ - selector: 'editable-cell', - template: ` `, - standalone: true, - imports: [CdkDragHandle], - changeDetection: ChangeDetectionStrategy.OnPush, + selector: 'editable-cell', + template: ` `, + imports: [CdkDragHandle], + changeDetection: ChangeDetectionStrategy.OnPush }) export class DragHandleCell {} diff --git a/examples/angular/row-selection-signal/package.json b/examples/angular/row-selection-signal/package.json index 8a4704e936..a3eb23d1af 100644 --- a/examples/angular/row-selection-signal/package.json +++ b/examples/angular/row-selection-signal/package.json @@ -11,13 +11,13 @@ }, "private": true, "dependencies": { - "@angular/animations": "^19.0.5", - "@angular/common": "^19.0.5", - "@angular/compiler": "^19.0.5", - "@angular/core": "^19.0.5", - "@angular/forms": "^19.0.5", - "@angular/platform-browser": "^19.0.5", - "@angular/platform-browser-dynamic": "^19.0.5", + "@angular/animations": "^19.1.4", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/forms": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", "@faker-js/faker": "^9.3.0", "@tanstack/angular-table": "^9.0.0-alpha.10", "rxjs": "~7.8.1", @@ -25,9 +25,9 @@ "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^19.0.6", - "@angular/cli": "^19.0.6", - "@angular/compiler-cli": "^19.0.5", + "@angular/build": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", "typescript": "5.6.3" } } diff --git a/examples/angular/row-selection/package.json b/examples/angular/row-selection/package.json index 616536b74f..f1715a19bd 100644 --- a/examples/angular/row-selection/package.json +++ b/examples/angular/row-selection/package.json @@ -11,12 +11,12 @@ }, "private": true, "dependencies": { - "@angular/common": "^19.0.5", - "@angular/compiler": "^19.0.5", - "@angular/core": "^19.0.5", - "@angular/forms": "^19.0.5", - "@angular/platform-browser": "^19.0.5", - "@angular/platform-browser-dynamic": "^19.0.5", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/forms": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", "@faker-js/faker": "^9.3.0", "@tanstack/angular-table": "^9.0.0-alpha.10", "rxjs": "~7.8.1", @@ -24,9 +24,9 @@ "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^19.0.6", - "@angular/cli": "^19.0.6", - "@angular/compiler-cli": "^19.0.5", + "@angular/build": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", "typescript": "5.6.3" } } diff --git a/examples/angular/signal-input/package.json b/examples/angular/signal-input/package.json index d4fc796f4c..2408b044be 100644 --- a/examples/angular/signal-input/package.json +++ b/examples/angular/signal-input/package.json @@ -11,20 +11,20 @@ }, "private": true, "dependencies": { - "@angular/common": "^19.0.5", - "@angular/compiler": "^19.0.5", - "@angular/core": "^19.0.5", - "@angular/platform-browser": "^19.0.5", - "@angular/platform-browser-dynamic": "^19.0.5", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", "@faker-js/faker": "^9.3.0", "@tanstack/angular-table": "^9.0.0-alpha.10", "rxjs": "~7.8.1", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^19.0.6", - "@angular/cli": "^19.0.6", - "@angular/compiler-cli": "^19.0.5", + "@angular/build": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", "tslib": "^2.8.1", "typescript": "5.6.3" } diff --git a/examples/angular/sub-components/package.json b/examples/angular/sub-components/package.json index 83fe8b6061..861d76a30f 100644 --- a/examples/angular/sub-components/package.json +++ b/examples/angular/sub-components/package.json @@ -10,24 +10,24 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.9", - "@angular/common": "^17.3.9", - "@angular/compiler": "^17.3.9", - "@angular/core": "^17.3.9", - "@angular/forms": "^17.3.9", - "@angular/platform-browser": "^17.3.9", - "@angular/platform-browser-dynamic": "^17.3.9", - "@angular/router": "^17.3.9", - "@faker-js/faker": "^8.4.1", + "@angular/animations": "^19.1.4", + "@angular/common": "^19.1.4", + "@angular/compiler": "^19.1.4", + "@angular/core": "^19.1.4", + "@angular/forms": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", + "@angular/router": "^19.1.4", + "@faker-js/faker": "^9.3.0", "@tanstack/angular-table": "^8.21.0", "rxjs": "~7.8.1", - "zone.js": "~0.14.4" + "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.8", - "@angular/cli": "^17.3.8", - "@angular/compiler-cli": "^17.3.9", + "@angular-devkit/build-angular": "^19.1.5", + "@angular/cli": "^19.1.5", + "@angular/compiler-cli": "^19.1.4", "tslib": "^2.6.2", - "typescript": "5.4.5" + "typescript": "5.7.3" } } diff --git a/examples/angular/sub-components/src/app/app.component.ts b/examples/angular/sub-components/src/app/app.component.ts index 5b6372a173..48a0a9311d 100644 --- a/examples/angular/sub-components/src/app/app.component.ts +++ b/examples/angular/sub-components/src/app/app.component.ts @@ -91,16 +91,15 @@ const columns: ColumnDef[] = [ ] @Component({ - selector: 'app-root', - standalone: true, - imports: [ - FlexRenderDirective, - ReactiveFormsModule, - JsonPipe, - NgTemplateOutlet, - ], - templateUrl: './app.component.html', - changeDetection: ChangeDetectionStrategy.OnPush, + selector: 'app-root', + imports: [ + FlexRenderDirective, + ReactiveFormsModule, + JsonPipe, + NgTemplateOutlet, + ], + templateUrl: './app.component.html', + changeDetection: ChangeDetectionStrategy.OnPush }) export class AppComponent { readonly data = signal(makeData(10)) diff --git a/packages/angular-table/package.json b/packages/angular-table/package.json index 2d5a4a0945..6180808e15 100644 --- a/packages/angular-table/package.json +++ b/packages/angular-table/package.json @@ -56,10 +56,10 @@ "devDependencies": { "@analogjs/vite-plugin-angular": "^1.11.0", "@analogjs/vitest-angular": "^1.11.0", - "@angular/core": "^19.0.5", - "@angular/platform-browser": "^19.0.5", - "@angular/platform-browser-dynamic": "^19.0.5", - "ng-packagr": "^19.0.1", + "@angular/core": "^19.1.4", + "@angular/platform-browser": "^19.1.4", + "@angular/platform-browser-dynamic": "^19.1.4", + "ng-packagr": "^19.1.2", "typescript": "~5.6.3" }, "peerDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0f38cadebc..bee87f6578 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: 11.1.6(size-limit@11.1.6) '@tanstack/config': specifier: 0.14.2 - version: 0.14.2(@types/node@22.10.2)(esbuild@0.24.2)(eslint@9.17.0(jiti@2.4.2))(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 0.14.2(@types/node@22.10.2)(esbuild@0.24.2)(eslint@9.17.0(jiti@2.4.2))(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@testing-library/jest-dom': specifier: ^6.6.3 version: 6.6.3 @@ -61,34 +61,34 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vitest: specifier: ^2.1.8 - version: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/angular/basic: dependencies: '@angular/common': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/compiler': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/core': - specifier: ^19.0.5 - version: 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/forms': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^19.0.5 - version: 19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) '@angular/router': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@tanstack/angular-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/angular-table @@ -100,14 +100,14 @@ importers: version: 0.15.0 devDependencies: '@angular/build': - specifier: ^19.0.6 - version: 19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(less@4.2.0)(postcss@8.5.1)(terser@5.37.0)(typescript@5.6.3) + specifier: ^19.1.5 + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': - specifier: ^19.0.6 - version: 19.0.6(@types/node@22.10.10)(chokidar@4.0.3) + specifier: ^19.1.5 + version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) '@angular/compiler-cli': - specifier: ^19.0.5 - version: 19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) '@types/jasmine': specifier: ~5.1.5 version: 5.1.5 @@ -124,23 +124,23 @@ importers: examples/angular/column-ordering: dependencies: '@angular/common': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/compiler': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/core': - specifier: ^19.0.5 - version: 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/forms': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^19.0.5 - version: 19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) '@tanstack/angular-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/angular-table @@ -152,14 +152,14 @@ importers: version: 0.15.0 devDependencies: '@angular/build': - specifier: ^19.0.6 - version: 19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(less@4.2.0)(postcss@8.5.1)(terser@5.37.0)(typescript@5.6.3) + specifier: ^19.1.5 + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': - specifier: ^19.0.6 - version: 19.0.6(@types/node@22.10.10)(chokidar@4.0.3) + specifier: ^19.1.5 + version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) '@angular/compiler-cli': - specifier: ^19.0.5 - version: 19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) tslib: specifier: ^2.8.1 version: 2.8.1 @@ -170,26 +170,26 @@ importers: examples/angular/column-pinning: dependencies: '@angular/animations': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/common': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/compiler': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/core': - specifier: ^19.0.5 - version: 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/forms': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^19.0.5 - version: 19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) '@faker-js/faker': specifier: ^9.3.0 version: 9.3.0 @@ -204,14 +204,14 @@ importers: version: 0.15.0 devDependencies: '@angular/build': - specifier: ^19.0.6 - version: 19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(less@4.2.0)(postcss@8.5.1)(terser@5.37.0)(typescript@5.6.3) + specifier: ^19.1.5 + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': - specifier: ^19.0.6 - version: 19.0.6(@types/node@22.10.10)(chokidar@4.0.3) + specifier: ^19.1.5 + version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) '@angular/compiler-cli': - specifier: ^19.0.5 - version: 19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) tslib: specifier: ^2.8.1 version: 2.8.1 @@ -222,23 +222,23 @@ importers: examples/angular/column-pinning-sticky: dependencies: '@angular/common': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/compiler': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/core': - specifier: ^19.0.5 - version: 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/forms': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^19.0.5 - version: 19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) '@faker-js/faker': specifier: ^9.3.0 version: 9.3.0 @@ -253,14 +253,14 @@ importers: version: 0.15.0 devDependencies: '@angular/build': - specifier: ^19.0.6 - version: 19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(less@4.2.0)(postcss@8.5.1)(terser@5.37.0)(typescript@5.6.3) + specifier: ^19.1.5 + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': - specifier: ^19.0.6 - version: 19.0.6(@types/node@22.10.10)(chokidar@4.0.3) + specifier: ^19.1.5 + version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) '@angular/compiler-cli': - specifier: ^19.0.5 - version: 19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) tslib: specifier: ^2.8.1 version: 2.8.1 @@ -271,51 +271,51 @@ importers: examples/angular/column-resizing-performant: dependencies: '@angular/animations': - specifier: ^17.3.9 - version: 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/common': - specifier: ^17.3.9 - version: 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/compiler': - specifier: ^17.3.9 - version: 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/core': - specifier: ^17.3.9 - version: 17.3.12(rxjs@7.8.1)(zone.js@0.14.10) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/forms': - specifier: ^17.3.9 - version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^17.3.9 - version: 17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^17.3.9 - version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) '@angular/router': - specifier: ^17.3.9 - version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-table': specifier: ^8.21.0 - version: 8.21.0(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + version: 8.21.0(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) rxjs: specifier: ~7.8.1 version: 7.8.1 zone.js: - specifier: ~0.14.4 - version: 0.14.10 + specifier: ~0.15.0 + version: 0.15.0 devDependencies: '@angular-devkit/build-angular': - specifier: ^17.3.8 - version: 17.3.8(@angular/compiler-cli@17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@22.10.10)(chokidar@3.6.0)(karma@6.4.4)(typescript@5.4.5) + specifier: ^19.1.5 + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) '@angular/cli': - specifier: ^17.3.8 - version: 17.3.11(chokidar@3.6.0) + specifier: ^19.1.5 + version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) '@angular/compiler-cli': - specifier: ^17.3.9 - version: 17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5) + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3) '@types/jasmine': specifier: ~5.1.4 version: 5.1.5 @@ -341,29 +341,29 @@ importers: specifier: ^2.6.2 version: 2.8.1 typescript: - specifier: 5.4.5 - version: 5.4.5 + specifier: 5.7.3 + version: 5.7.3 examples/angular/column-visibility: dependencies: '@angular/common': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/compiler': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/core': - specifier: ^19.0.5 - version: 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/forms': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^19.0.5 - version: 19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) '@tanstack/angular-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/angular-table @@ -375,14 +375,14 @@ importers: version: 0.15.0 devDependencies: '@angular/build': - specifier: ^19.0.6 - version: 19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(less@4.2.0)(postcss@8.5.1)(terser@5.37.0)(typescript@5.6.3) + specifier: ^19.1.5 + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': - specifier: ^19.0.6 - version: 19.0.6(@types/node@22.10.10)(chokidar@4.0.3) + specifier: ^19.1.5 + version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) '@angular/compiler-cli': - specifier: ^19.0.5 - version: 19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) tslib: specifier: ^2.8.1 version: 2.8.1 @@ -393,51 +393,51 @@ importers: examples/angular/editable: dependencies: '@angular/animations': - specifier: ^17.3.9 - version: 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/common': - specifier: ^17.3.9 - version: 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/compiler': - specifier: ^17.3.9 - version: 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/core': - specifier: ^17.3.9 - version: 17.3.12(rxjs@7.8.1)(zone.js@0.14.10) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/forms': - specifier: ^17.3.9 - version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^17.3.9 - version: 17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^17.3.9 - version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) '@angular/router': - specifier: ^17.3.9 - version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-table': specifier: ^8.21.0 - version: 8.21.0(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + version: 8.21.0(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) rxjs: specifier: ~7.8.1 version: 7.8.1 zone.js: - specifier: ~0.14.4 - version: 0.14.10 + specifier: ~0.15.0 + version: 0.15.0 devDependencies: '@angular-devkit/build-angular': - specifier: ^17.3.8 - version: 17.3.8(@angular/compiler-cli@17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@22.10.10)(chokidar@3.6.0)(karma@6.4.4)(typescript@5.4.5) + specifier: ^19.1.5 + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) '@angular/cli': - specifier: ^17.3.8 - version: 17.3.11(chokidar@3.6.0) + specifier: ^19.1.5 + version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) '@angular/compiler-cli': - specifier: ^17.3.9 - version: 17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5) + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3) '@types/jasmine': specifier: ~5.1.4 version: 5.1.5 @@ -463,84 +463,84 @@ importers: specifier: ^2.6.2 version: 2.8.1 typescript: - specifier: 5.4.5 - version: 5.4.5 + specifier: 5.7.3 + version: 5.7.3 examples/angular/expanding: dependencies: '@angular/animations': - specifier: ^17.3.9 - version: 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/common': - specifier: ^17.3.9 - version: 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/compiler': - specifier: ^17.3.9 - version: 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/core': - specifier: ^17.3.9 - version: 17.3.12(rxjs@7.8.1)(zone.js@0.14.10) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/forms': - specifier: ^17.3.9 - version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^17.3.9 - version: 17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^17.3.9 - version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) '@angular/router': - specifier: ^17.3.9 - version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-table': specifier: ^8.21.0 - version: 8.21.0(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + version: 8.21.0(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) rxjs: specifier: ~7.8.1 version: 7.8.1 zone.js: - specifier: ~0.14.4 - version: 0.14.10 + specifier: ~0.15.0 + version: 0.15.0 devDependencies: '@angular-devkit/build-angular': - specifier: ^17.3.8 - version: 17.3.8(@angular/compiler-cli@17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@22.10.10)(chokidar@3.6.0)(karma@6.4.4)(typescript@5.4.5) + specifier: ^19.1.5 + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) '@angular/cli': - specifier: ^17.3.8 - version: 17.3.11(chokidar@3.6.0) + specifier: ^19.1.5 + version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) '@angular/compiler-cli': - specifier: ^17.3.9 - version: 17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5) + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3) tslib: specifier: ^2.6.2 version: 2.8.1 typescript: - specifier: 5.4.5 - version: 5.4.5 + specifier: 5.7.3 + version: 5.7.3 examples/angular/filters: dependencies: '@angular/common': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/compiler': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/core': - specifier: ^19.0.5 - version: 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/forms': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^19.0.5 - version: 19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) '@faker-js/faker': specifier: ^9.3.0 version: 9.3.0 @@ -558,14 +558,14 @@ importers: version: 0.15.0 devDependencies: '@angular/build': - specifier: ^19.0.6 - version: 19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(less@4.2.0)(postcss@8.5.1)(terser@5.37.0)(typescript@5.6.3) + specifier: ^19.1.5 + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': - specifier: ^19.0.6 - version: 19.0.6(@types/node@22.10.10)(chokidar@4.0.3) + specifier: ^19.1.5 + version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) '@angular/compiler-cli': - specifier: ^19.0.5 - version: 19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) typescript: specifier: 5.6.3 version: 5.6.3 @@ -573,23 +573,23 @@ importers: examples/angular/grouping: dependencies: '@angular/common': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/compiler': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/core': - specifier: ^19.0.5 - version: 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/forms': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^19.0.5 - version: 19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) '@faker-js/faker': specifier: ^9.3.0 version: 9.3.0 @@ -604,14 +604,14 @@ importers: version: 0.15.0 devDependencies: '@angular/build': - specifier: ^19.0.6 - version: 19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(less@4.2.0)(postcss@8.5.1)(terser@5.37.0)(typescript@5.6.3) + specifier: ^19.1.5 + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': - specifier: ^19.0.6 - version: 19.0.6(@types/node@22.10.10)(chokidar@4.0.3) + specifier: ^19.1.5 + version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) '@angular/compiler-cli': - specifier: ^19.0.5 - version: 19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) tslib: specifier: ^2.8.1 version: 2.8.1 @@ -622,54 +622,54 @@ importers: examples/angular/row-dnd: dependencies: '@angular/animations': - specifier: ^17.3.9 - version: 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/cdk': specifier: ^17.3.10 - version: 17.3.10(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1) + version: 17.3.10(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/common': - specifier: ^17.3.9 - version: 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/compiler': - specifier: ^17.3.9 - version: 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/core': - specifier: ^17.3.9 - version: 17.3.12(rxjs@7.8.1)(zone.js@0.14.10) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/forms': - specifier: ^17.3.9 - version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^17.3.9 - version: 17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^17.3.9 - version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) '@angular/router': - specifier: ^17.3.9 - version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-table': specifier: ^8.21.0 - version: 8.21.0(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + version: 8.21.0(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) rxjs: specifier: ~7.8.1 version: 7.8.1 zone.js: - specifier: ~0.14.4 - version: 0.14.10 + specifier: ~0.15.0 + version: 0.15.0 devDependencies: '@angular-devkit/build-angular': - specifier: ^17.3.8 - version: 17.3.8(@angular/compiler-cli@17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@22.10.10)(chokidar@3.6.0)(karma@6.4.4)(typescript@5.4.5) + specifier: ^19.1.5 + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) '@angular/cli': - specifier: ^17.3.8 - version: 17.3.11(chokidar@3.6.0) + specifier: ^19.1.5 + version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) '@angular/compiler-cli': - specifier: ^17.3.9 - version: 17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5) + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3) '@types/jasmine': specifier: ~5.1.4 version: 5.1.5 @@ -695,29 +695,29 @@ importers: specifier: ^2.6.2 version: 2.8.1 typescript: - specifier: 5.4.5 - version: 5.4.5 + specifier: 5.7.3 + version: 5.7.3 examples/angular/row-selection: dependencies: '@angular/common': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/compiler': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/core': - specifier: ^19.0.5 - version: 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/forms': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^19.0.5 - version: 19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) '@faker-js/faker': specifier: ^9.3.0 version: 9.3.0 @@ -735,14 +735,14 @@ importers: version: 0.15.0 devDependencies: '@angular/build': - specifier: ^19.0.6 - version: 19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(less@4.2.0)(postcss@8.5.1)(terser@5.37.0)(typescript@5.6.3) + specifier: ^19.1.5 + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': - specifier: ^19.0.6 - version: 19.0.6(@types/node@22.10.10)(chokidar@4.0.3) + specifier: ^19.1.5 + version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) '@angular/compiler-cli': - specifier: ^19.0.5 - version: 19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) typescript: specifier: 5.6.3 version: 5.6.3 @@ -750,26 +750,26 @@ importers: examples/angular/row-selection-signal: dependencies: '@angular/animations': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/common': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/compiler': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/core': - specifier: ^19.0.5 - version: 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/forms': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^19.0.5 - version: 19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) '@faker-js/faker': specifier: ^9.3.0 version: 9.3.0 @@ -787,14 +787,14 @@ importers: version: 0.15.0 devDependencies: '@angular/build': - specifier: ^19.0.6 - version: 19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(less@4.2.0)(postcss@8.5.1)(terser@5.37.0)(typescript@5.6.3) + specifier: ^19.1.5 + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': - specifier: ^19.0.6 - version: 19.0.6(@types/node@22.10.10)(chokidar@4.0.3) + specifier: ^19.1.5 + version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) '@angular/compiler-cli': - specifier: ^19.0.5 - version: 19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) typescript: specifier: 5.6.3 version: 5.6.3 @@ -802,20 +802,20 @@ importers: examples/angular/signal-input: dependencies: '@angular/common': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/compiler': - specifier: ^19.0.5 - version: 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/core': - specifier: ^19.0.5 - version: 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/platform-browser': - specifier: ^19.0.5 - version: 19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) '@faker-js/faker': specifier: ^9.3.0 version: 9.3.0 @@ -830,14 +830,14 @@ importers: version: 0.15.0 devDependencies: '@angular/build': - specifier: ^19.0.6 - version: 19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(less@4.2.0)(postcss@8.5.1)(terser@5.37.0)(typescript@5.6.3) + specifier: ^19.1.5 + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': - specifier: ^19.0.6 - version: 19.0.6(@types/node@22.10.10)(chokidar@4.0.3) + specifier: ^19.1.5 + version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) '@angular/compiler-cli': - specifier: ^19.0.5 - version: 19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) tslib: specifier: ^2.8.1 version: 2.8.1 @@ -848,57 +848,57 @@ importers: examples/angular/sub-components: dependencies: '@angular/animations': - specifier: ^17.3.9 - version: 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/common': - specifier: ^17.3.9 - version: 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) '@angular/compiler': - specifier: ^17.3.9 - version: 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + specifier: ^19.1.4 + version: 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/core': - specifier: ^17.3.9 - version: 17.3.12(rxjs@7.8.1)(zone.js@0.14.10) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/forms': - specifier: ^17.3.9 - version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^17.3.9 - version: 17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^17.3.9 - version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) '@angular/router': - specifier: ^17.3.9 - version: 17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(rxjs@7.8.1) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1) '@faker-js/faker': - specifier: ^8.4.1 - version: 8.4.1 + specifier: ^9.3.0 + version: 9.3.0 '@tanstack/angular-table': specifier: ^8.21.0 - version: 8.21.0(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + version: 8.21.0(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) rxjs: specifier: ~7.8.1 version: 7.8.1 zone.js: - specifier: ~0.14.4 - version: 0.14.10 + specifier: ~0.15.0 + version: 0.15.0 devDependencies: '@angular-devkit/build-angular': - specifier: ^17.3.8 - version: 17.3.8(@angular/compiler-cli@17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@22.10.10)(chokidar@3.6.0)(karma@6.4.4)(typescript@5.4.5) + specifier: ^19.1.5 + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) '@angular/cli': - specifier: ^17.3.8 - version: 17.3.11(chokidar@3.6.0) + specifier: ^19.1.5 + version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) '@angular/compiler-cli': - specifier: ^17.3.9 - version: 17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5) + specifier: ^19.1.4 + version: 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3) tslib: specifier: ^2.6.2 version: 2.8.1 typescript: - specifier: 5.4.5 - version: 5.4.5 + specifier: 5.7.3 + version: 5.7.3 examples/lit/basic: dependencies: @@ -929,7 +929,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/lit/column-sizing: dependencies: @@ -951,7 +951,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/lit/filters: dependencies: @@ -973,7 +973,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/lit/row-selection: dependencies: @@ -995,7 +995,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/lit/sorting: dependencies: @@ -1017,7 +1017,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/lit/sorting-dynamic-data: dependencies: @@ -1039,7 +1039,7 @@ importers: version: 5.4.5 vite: specifier: ^5.3.2 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/lit/virtualized-rows: dependencies: @@ -1064,7 +1064,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/preact/basic: dependencies: @@ -1077,13 +1077,13 @@ importers: devDependencies: '@preact/preset-vite': specifier: ^2.9.3 - version: 2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/preact/sorting: dependencies: @@ -1099,13 +1099,13 @@ importers: devDependencies: '@preact/preset-vite': specifier: ^2.9.3 - version: 2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/qwik/basic: dependencies: @@ -1115,7 +1115,7 @@ importers: devDependencies: '@builder.io/qwik': specifier: ^1.11.0 - version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) serve: specifier: ^14.2.4 version: 14.2.4 @@ -1124,7 +1124,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/qwik/filters: dependencies: @@ -1137,7 +1137,7 @@ importers: devDependencies: '@builder.io/qwik': specifier: ^1.11.0 - version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@faker-js/faker': specifier: ^9.3.0 version: 9.3.0 @@ -1149,7 +1149,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/qwik/row-selection: dependencies: @@ -1159,7 +1159,7 @@ importers: devDependencies: '@builder.io/qwik': specifier: ^1.11.0 - version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@faker-js/faker': specifier: ^9.3.0 version: 9.3.0 @@ -1171,7 +1171,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/qwik/sorting: dependencies: @@ -1181,7 +1181,7 @@ importers: devDependencies: '@builder.io/qwik': specifier: ^1.11.0 - version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@faker-js/faker': specifier: ^9.3.0 version: 9.3.0 @@ -1193,7 +1193,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/basic: dependencies: @@ -1218,13 +1218,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/basic-table-helper: dependencies: @@ -1249,13 +1249,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-dnd: dependencies: @@ -1295,13 +1295,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-groups: dependencies: @@ -1326,13 +1326,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-ordering: dependencies: @@ -1360,13 +1360,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-pinning: dependencies: @@ -1394,13 +1394,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-pinning-split: dependencies: @@ -1428,13 +1428,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-pinning-sticky: dependencies: @@ -1462,13 +1462,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-resizing: dependencies: @@ -1493,13 +1493,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-resizing-performant: dependencies: @@ -1527,13 +1527,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-sizing: dependencies: @@ -1558,13 +1558,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-visibility: dependencies: @@ -1589,13 +1589,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/custom-features: dependencies: @@ -1623,13 +1623,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/editable-data: dependencies: @@ -1657,13 +1657,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/expanding: dependencies: @@ -1691,13 +1691,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/filters: dependencies: @@ -1728,13 +1728,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/filters-faceted: dependencies: @@ -1765,13 +1765,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/filters-fuzzy: dependencies: @@ -1802,13 +1802,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/full-width-resizable-table: dependencies: @@ -1836,13 +1836,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/full-width-table: dependencies: @@ -1870,13 +1870,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/fully-controlled: dependencies: @@ -1904,13 +1904,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/grouping: dependencies: @@ -1938,13 +1938,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/pagination: dependencies: @@ -1972,13 +1972,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/pagination-controlled: dependencies: @@ -2009,13 +2009,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/query-router-search-params: dependencies: @@ -2043,7 +2043,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@tanstack/router-vite-plugin': specifier: ^1.86.0 - version: 1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(webpack@5.97.1(esbuild@0.24.2)) '@types/react': specifier: ^19.0.1 version: 19.0.2 @@ -2052,13 +2052,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/row-dnd: dependencies: @@ -2098,13 +2098,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/row-pinning: dependencies: @@ -2132,13 +2132,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/row-selection: dependencies: @@ -2166,13 +2166,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/sorting: dependencies: @@ -2200,13 +2200,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/sub-components: dependencies: @@ -2234,13 +2234,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/virtualized-columns: dependencies: @@ -2271,13 +2271,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/virtualized-columns-experimental: dependencies: @@ -2308,13 +2308,13 @@ importers: version: 18.3.5(@types/react@18.3.18) '@vitejs/plugin-react': specifier: ^4.3.1 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.4.5 version: 5.4.5 vite: specifier: ^5.3.2 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/virtualized-infinite-scrolling: dependencies: @@ -2348,13 +2348,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/virtualized-rows: dependencies: @@ -2385,13 +2385,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/react/virtualized-rows-experimental: dependencies: @@ -2422,13 +2422,13 @@ importers: version: 18.3.5(@types/react@18.3.18) '@vitejs/plugin-react': specifier: ^4.3.1 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.4.5 version: 5.4.5 vite: specifier: ^5.3.2 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/solid/basic: dependencies: @@ -2444,10 +2444,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) examples/solid/basic-table-helper: dependencies: @@ -2463,10 +2463,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) examples/solid/column-groups: dependencies: @@ -2482,10 +2482,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) examples/solid/column-ordering: dependencies: @@ -2504,10 +2504,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) examples/solid/column-visibility: dependencies: @@ -2523,10 +2523,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) examples/solid/filters: dependencies: @@ -2548,10 +2548,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) examples/solid/filters-faceted: dependencies: @@ -2573,10 +2573,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) examples/solid/sorting: dependencies: @@ -2595,10 +2595,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) examples/svelte/basic: devDependencies: @@ -2607,7 +2607,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2625,7 +2625,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/basic-snippets: devDependencies: @@ -2634,7 +2634,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2652,7 +2652,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/basic-table-helper: devDependencies: @@ -2661,7 +2661,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2679,7 +2679,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/column-groups: devDependencies: @@ -2688,7 +2688,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2706,7 +2706,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/column-ordering: devDependencies: @@ -2718,7 +2718,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2736,7 +2736,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/column-pinning: devDependencies: @@ -2748,7 +2748,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2766,7 +2766,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/column-visibility: devDependencies: @@ -2775,7 +2775,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2793,7 +2793,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/filtering: devDependencies: @@ -2805,7 +2805,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/match-sorter-utils': specifier: ^9.0.0-alpha.4 version: link:../../../packages/match-sorter-utils @@ -2826,7 +2826,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/sorting: devDependencies: @@ -2838,7 +2838,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2856,7 +2856,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/vanilla/basic: dependencies: @@ -2878,7 +2878,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/vanilla/pagination: dependencies: @@ -2903,7 +2903,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/vanilla/sorting: dependencies: @@ -2928,7 +2928,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) examples/vue/basic: dependencies: @@ -2944,13 +2944,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -2972,13 +2972,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3000,13 +3000,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3028,13 +3028,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3056,13 +3056,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3084,13 +3084,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3112,16 +3112,16 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) '@vitejs/plugin-vue-jsx': specifier: ^4.1.1 - version: 4.1.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 4.1.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3143,13 +3143,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3171,13 +3171,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3202,13 +3202,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3224,22 +3224,22 @@ importers: devDependencies: '@analogjs/vite-plugin-angular': specifier: ^1.11.0 - version: 1.13.0(@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@types/node@22.10.10)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(typescript@5.6.3))(@angular/build@19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(less@4.2.0)(terser@5.37.0)(typescript@5.6.3)) + version: 1.13.0(rgq6hujoid62bmeuzktk4sungq) '@analogjs/vitest-angular': specifier: ^1.11.0 - version: 1.13.0(@analogjs/vite-plugin-angular@1.13.0(@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@types/node@22.10.10)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(typescript@5.6.3))(@angular/build@19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(less@4.2.0)(terser@5.37.0)(typescript@5.6.3)))(vitest@2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + version: 1.13.0(@analogjs/vite-plugin-angular@1.13.0(rgq6hujoid62bmeuzktk4sungq))(vitest@2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@angular/core': - specifier: ^19.0.5 - version: 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) + specifier: ^19.1.4 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/platform-browser': - specifier: ^19.0.5 - version: 19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + specifier: ^19.1.4 + version: 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@angular/platform-browser-dynamic': - specifier: ^19.0.5 - version: 19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))) + specifier: ^19.1.4 + version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) ng-packagr: - specifier: ^19.0.1 - version: 19.0.1(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3) + specifier: ^19.1.2 + version: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3) typescript: specifier: ~5.6.3 version: 5.6.3 @@ -3268,7 +3268,7 @@ importers: devDependencies: '@preact/preset-vite': specifier: ^2.9.3 - version: 2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + version: 2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) preact: specifier: ^10.25.4 version: 10.25.4 @@ -3281,7 +3281,7 @@ importers: devDependencies: '@builder.io/qwik': specifier: ^1.11.0 - version: 1.12.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + version: 1.12.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) packages/react-table: dependencies: @@ -3300,7 +3300,7 @@ importers: version: 19.0.2 '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + version: 4.3.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) eslint-plugin-react-hooks: specifier: ^5.1.0 version: 5.1.0(eslint@9.17.0(jiti@2.4.2)) @@ -3319,7 +3319,7 @@ importers: version: 1.9.3 vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) packages/svelte-table: dependencies: @@ -3332,7 +3332,7 @@ importers: version: 2.3.7(svelte@5.19.3)(typescript@5.7.3) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + version: 4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) eslint-plugin-svelte: specifier: ^2.46.1 version: 2.46.1(eslint@9.17.0(jiti@2.4.2))(svelte@5.19.3) @@ -3353,7 +3353,7 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3)) + version: 5.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3)) eslint-plugin-vue: specifier: ^9.32.0 version: 9.32.0(eslint@9.17.0(jiti@2.4.2)) @@ -3388,35 +3388,28 @@ packages: '@angular-devkit/architect': ^0.1500.0 || ^0.1600.0 || ^0.1700.0 || ^0.1800.0 || ^0.1900.0 || next vitest: ^1.3.1 || ^2.0.0 || ^3.0.0 - '@angular-devkit/architect@0.1703.11': - resolution: {integrity: sha512-YNasVZk4rYdcM6M+KRH8PUBhVyJfqzUYLpO98GgRokW+taIDgifckSlmfDZzQRbw45qiwei1IKCLqcpC8nM5Tw==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - - '@angular-devkit/architect@0.1703.8': - resolution: {integrity: sha512-lKxwG4/QABXZvJpqeSIn/kAwnY6MM9HdHZUV+o5o3UiTi+vO8rZApG4CCaITH3Bxebm7Nam7Xbk8RuukC5rq6g==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - - '@angular-devkit/architect@0.1900.6': - resolution: {integrity: sha512-w11bAXQnNWBawTJfQPjvaTRrzrqsOUm9tK9WNvaia/xjiRFpmO0CfmKtn3axNSEJM8jb/czaNQrgTwG+TGc/8g==} + '@angular-devkit/architect@0.1901.5': + resolution: {integrity: sha512-zlRudZx34FkFZnSdaQCjxDleHwbQYNLdBFcLi+FBwt0UXqxmhbEIasK3l/3kCOC3QledrjUzVXgouji+OZ/WGQ==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular-devkit/build-angular@17.3.8': - resolution: {integrity: sha512-ixsdXggWaFRP7Jvxd0AMukImnePuGflT9Yy7NJ9/y0cL/k//S/3RnkQv5i411KzN+7D4RIbNkRGGTYeqH24zlg==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@angular-devkit/build-angular@19.1.5': + resolution: {integrity: sha512-ny7ktNOTxaEi6cS3V6XFP5bbJkgiMt3OUNUYLdfdbv4y6wolVlPVHKl+wb4xs6tgbnmx63+e6zGpoDMCRytgcg==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: - '@angular/compiler-cli': ^17.0.0 - '@angular/localize': ^17.0.0 - '@angular/platform-server': ^17.0.0 - '@angular/service-worker': ^17.0.0 - '@web/test-runner': ^0.18.0 + '@angular/compiler-cli': ^19.0.0 + '@angular/localize': ^19.0.0 + '@angular/platform-server': ^19.0.0 + '@angular/service-worker': ^19.0.0 + '@angular/ssr': ^19.1.5 + '@web/test-runner': ^0.19.0 browser-sync: ^3.0.2 jest: ^29.5.0 jest-environment-jsdom: ^29.5.0 karma: ^6.3.0 - ng-packagr: ^17.0.0 + ng-packagr: ^19.0.0 protractor: ^7.0.0 - tailwindcss: ^2.0.0 || ^3.0.0 - typescript: '>=5.2 <5.5' + tailwindcss: ^2.0.0 || ^3.0.0 || ^4.0.0 + typescript: '>=5.5 <5.8' peerDependenciesMeta: '@angular/localize': optional: true @@ -3424,6 +3417,8 @@ packages: optional: true '@angular/service-worker': optional: true + '@angular/ssr': + optional: true '@web/test-runner': optional: true browser-sync: @@ -3441,33 +3436,15 @@ packages: tailwindcss: optional: true - '@angular-devkit/build-webpack@0.1703.8': - resolution: {integrity: sha512-9u6fl8VVOxcLOEMzrUeaybSvi9hSLSRucHnybneYrabsgreDo32tuy/4G8p6YAHQjpWEj9jvF9Um13ertdni5Q==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@angular-devkit/build-webpack@0.1901.5': + resolution: {integrity: sha512-UxEoF7F8L1GpH/N4me7VGe5ZPfxIiVHyhw5/ck3rcVbT6YD22/GYFGSJRGYP+D7LLTJ7OOQvfD6Bc/q62HhWvA==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 - webpack-dev-server: ^4.0.0 - - '@angular-devkit/core@17.3.11': - resolution: {integrity: sha512-vTNDYNsLIWpYk2I969LMQFH29GTsLzxNk/0cLw5q56ARF0v5sIWfHYwGTS88jdDqIpuuettcSczbxeA7EuAmqQ==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - peerDependencies: - chokidar: ^3.5.2 - peerDependenciesMeta: - chokidar: - optional: true + webpack-dev-server: ^5.0.2 - '@angular-devkit/core@17.3.8': - resolution: {integrity: sha512-Q8q0voCGudbdCgJ7lXdnyaxKHbNQBARH68zPQV72WT8NWy+Gw/tys870i6L58NWbBaCJEUcIj/kb6KoakSRu+Q==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - peerDependencies: - chokidar: ^3.5.2 - peerDependenciesMeta: - chokidar: - optional: true - - '@angular-devkit/core@19.0.6': - resolution: {integrity: sha512-WUWJhzQDsovfMY6jtb9Ktz/5sJszsaErj+XV2aXab85f1OweI/Iv2urPZnJwUSilvVN5Ok/fy3IJ6SuihK4Ceg==} + '@angular-devkit/core@19.1.5': + resolution: {integrity: sha512-wGKV+i5mCM/Hd/3CsdrIYcVi5G2Wg/D5941bUDXivrbsqHfKVINxAkI3OI1eaD90VnAL8ICrQEoAhh6ni2Umkg==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^4.0.0 @@ -3475,28 +3452,18 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@17.3.11': - resolution: {integrity: sha512-I5wviiIqiFwar9Pdk30Lujk8FczEEc18i22A5c6Z9lbmhPQdTroDnEQdsfXjy404wPe8H62s0I15o4pmMGfTYQ==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - - '@angular-devkit/schematics@19.0.6': - resolution: {integrity: sha512-R9hlHfAh1HKoIWgnYJlOEKhUezhTNl0fpUmHxG2252JSY5FLRxmYArTtJYYmbNdBbsBLNg3UHyM/GBPvJSA3NQ==} + '@angular-devkit/schematics@19.1.5': + resolution: {integrity: sha512-8QjOlO2CktcTT0TWcaABea2xSePxoPKaZu96+6gc8oZzj/y8DbdGiO9mRvIac9+m4hiZI41Cqm1W+yMsCzYMkA==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/animations@17.3.12': - resolution: {integrity: sha512-9hsdWF4gRRcVJtPcCcYLaX1CIyM9wUu6r+xRl6zU5hq8qhl35hig6ounz7CXFAzLf0WDBdM16bPHouVGaG76lg==} - engines: {node: ^18.13.0 || >=20.9.0} - peerDependencies: - '@angular/core': 17.3.12 - - '@angular/animations@19.0.5': - resolution: {integrity: sha512-HCOF2CrhUvjoZWusd4nh32VOxpUrg6bV+3Z8Q36Ix3aZdni8v0qoP2rl5wGbotaPtYg5RtyDH60Z2AOPKqlrZg==} + '@angular/animations@19.1.4': + resolution: {integrity: sha512-QGswsf/X+k7TijIgBzL6V8+KcArFAgebY6zM0L/Len8v5PNzPzdjJH99+P++5AOLiJctYKfISUwnlMbDb50NrA==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} peerDependencies: - '@angular/core': 19.0.5 + '@angular/core': 19.1.4 - '@angular/build@19.0.6': - resolution: {integrity: sha512-KEVNLgTZUF2dfpOYQn+yR2HONHUTxq/2rFVhiK9qAvrm/m+uKJNEXx7hGtbRyoqenZff4ScJq+7feITUldfX8g==} + '@angular/build@19.1.5': + resolution: {integrity: sha512-byoHcv0/s6WGWap59s43N/eC+4NsviuTnGoj+iR0ayubk8snn6jdkZLbFDfnTuQlTiu4ok8/XcksjzeMkgGyyw==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^19.0.0 @@ -3504,11 +3471,12 @@ packages: '@angular/localize': ^19.0.0 '@angular/platform-server': ^19.0.0 '@angular/service-worker': ^19.0.0 - '@angular/ssr': ^19.0.6 + '@angular/ssr': ^19.1.5 less: ^4.2.0 + ng-packagr: ^19.0.0 postcss: ^8.4.0 - tailwindcss: ^2.0.0 || ^3.0.0 - typescript: '>=5.5 <5.7' + tailwindcss: ^2.0.0 || ^3.0.0 || ^4.0.0 + typescript: '>=5.5 <5.8' peerDependenciesMeta: '@angular/localize': optional: true @@ -3520,6 +3488,8 @@ packages: optional: true less: optional: true + ng-packagr: + optional: true postcss: optional: true tailwindcss: @@ -3532,152 +3502,78 @@ packages: '@angular/core': ^17.0.0 || ^18.0.0 rxjs: ^6.5.3 || ^7.4.0 - '@angular/cli@17.3.11': - resolution: {integrity: sha512-8R9LwAGL8hGAWJ4mNG9ZPUrBUzIdmst0Ldua6RJJ+PrqgjX+8IbO+lNnfrOY/XY+Z3LXbCEJflL26f9czCvTPQ==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - hasBin: true - - '@angular/cli@19.0.6': - resolution: {integrity: sha512-ZEHhgRRVIdn10dbsAjB8TE9Co32hfuL9/im5Jcfa1yrn6KJefmigz6KN8Xu7FXMH5FkdqfQ11QpLBxJSPb9aww==} + '@angular/cli@19.1.5': + resolution: {integrity: sha512-bedjH3jUcrLgN3GOTTuvjbPcY3Lm0YcYBVY35S1ugI88UK6nbtttiRdgK++Qk2Q8wbg6zuaBAr4ACbfPMsnRaA==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular/common@17.3.12': - resolution: {integrity: sha512-vabJzvrx76XXFrm1RJZ6o/CyG32piTB/1sfFfKHdlH1QrmArb8It4gyk9oEjZ1IkAD0HvBWlfWmn+T6Vx3pdUw==} - engines: {node: ^18.13.0 || >=20.9.0} - peerDependencies: - '@angular/core': 17.3.12 - rxjs: ^6.5.3 || ^7.4.0 - - '@angular/common@19.0.5': - resolution: {integrity: sha512-fFK+euCj1AjBHBCpj9VnduMSeqoMRhZZHbhPYiND7tucRRJ8vwGU0sYK2KI/Ko+fsrNIXL/0O4F36jVPl09Smg==} + '@angular/common@19.1.4': + resolution: {integrity: sha512-E4MCl13VIotOxmzKQ/UGciPeaRXQgH7ymesEjYVGcT8jmC+qz5dEcoN7L5Jvq9aUsmLBt9MFp/B5QqKCIXMqYA==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} peerDependencies: - '@angular/core': 19.0.5 + '@angular/core': 19.1.4 rxjs: ^6.5.3 || ^7.4.0 - '@angular/compiler-cli@17.3.12': - resolution: {integrity: sha512-1F8M7nWfChzurb7obbvuE7mJXlHtY1UG58pcwcomVtpPb+kPavgAO8OEvJHYBMV+bzSxkXt5UIwL9lt9jHUxZA==} - engines: {node: ^18.13.0 || >=20.9.0} - hasBin: true - peerDependencies: - '@angular/compiler': 17.3.12 - typescript: '>=5.2 <5.5' - - '@angular/compiler-cli@19.0.5': - resolution: {integrity: sha512-KSzuWCTZlvJsoAenxM9cjTOzNM8mrFxDBInj0KVPz7QU83amGS4rcv1pWO/QGYQcErfskcN84TAdMegaRWWCmA==} + '@angular/compiler-cli@19.1.4': + resolution: {integrity: sha512-ozJvTUzPOgFqlz69YnV14Ncod+iH0cXZvUKerjw8o+JsixLG2LmJpwQ79Gh4a/ZQmAkAxMAYYK5izCiio8MmTg==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} hasBin: true peerDependencies: - '@angular/compiler': 19.0.5 - typescript: '>=5.5 <5.7' - - '@angular/compiler@17.3.12': - resolution: {integrity: sha512-vwI8oOL/gM+wPnptOVeBbMfZYwzRxQsovojZf+Zol9szl0k3SZ3FycWlxxXZGFu3VIEfrP6pXplTmyODS/Lt1w==} - engines: {node: ^18.13.0 || >=20.9.0} - peerDependencies: - '@angular/core': 17.3.12 - peerDependenciesMeta: - '@angular/core': - optional: true + '@angular/compiler': 19.1.4 + typescript: '>=5.5 <5.8' - '@angular/compiler@19.0.5': - resolution: {integrity: sha512-S8ku5Ljp0kqX3shfmE9DVo09629jeYJSlBRGbj2Glb92dd+VQZPOz7KxqKRTwmAl7lQIV/+4Lr6G/GVTsoC4vg==} + '@angular/compiler@19.1.4': + resolution: {integrity: sha512-9vGUZ+QhGWvf5dfeILybrh5rvZQtNqS8WumMeX2/vCb0JTA0N4DsL1Sy47HuWcgKBxbmHVUdF5/iufcFaqk2FA==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} peerDependencies: - '@angular/core': 19.0.5 + '@angular/core': 19.1.4 peerDependenciesMeta: '@angular/core': optional: true - '@angular/core@17.3.12': - resolution: {integrity: sha512-MuFt5yKi161JmauUta4Dh0m8ofwoq6Ino+KoOtkYMBGsSx+A7dSm+DUxxNwdj7+DNyg3LjVGCFgBFnq4g8z06A==} - engines: {node: ^18.13.0 || >=20.9.0} - peerDependencies: - rxjs: ^6.5.3 || ^7.4.0 - zone.js: ~0.14.0 - - '@angular/core@19.0.5': - resolution: {integrity: sha512-Ywc6sPO6G/Y1stfk3y/MallV/h0yzQ0vdOHRWueLrk5kD1DTdbolV4X03Cs3PuVvravgcSVE3nnuuHFuH32emQ==} + '@angular/core@19.1.4': + resolution: {integrity: sha512-r3T81lM9evmuW36HA3VAxIJ61M8kirGR8yHoln9fXSnYG8UeJ7JlWEbVRHmVHKOB48VK0bS/VxqN+w9TOq3bZg==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} peerDependencies: rxjs: ^6.5.3 || ^7.4.0 zone.js: ~0.15.0 - '@angular/forms@17.3.12': - resolution: {integrity: sha512-tV6r12Q3yEUlXwpVko4E+XscunTIpPkLbaiDn/MTL3Vxi2LZnsLgHyd/i38HaHN+e/H3B0a1ToSOhV5wf3ay4Q==} - engines: {node: ^18.13.0 || >=20.9.0} - peerDependencies: - '@angular/common': 17.3.12 - '@angular/core': 17.3.12 - '@angular/platform-browser': 17.3.12 - rxjs: ^6.5.3 || ^7.4.0 - - '@angular/forms@19.0.5': - resolution: {integrity: sha512-OhNFkfOoguqCDq07vNBV28FFrmTM8S11Z3Cd6PQZJJF9TgAtpV5KtF7A3eXBCN92W4pmqluomPjfK7YyImzIYQ==} + '@angular/forms@19.1.4': + resolution: {integrity: sha512-dcf4G+vXrfvy5NAP+C4A2rBeaZuwKs/TeWjZDpkRUPQMwTvDJcSNH+pqOeVsYUGNY2BkY1uPjzmgZh4F5NMQ9A==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} peerDependencies: - '@angular/common': 19.0.5 - '@angular/core': 19.0.5 - '@angular/platform-browser': 19.0.5 + '@angular/common': 19.1.4 + '@angular/core': 19.1.4 + '@angular/platform-browser': 19.1.4 rxjs: ^6.5.3 || ^7.4.0 - '@angular/platform-browser-dynamic@17.3.12': - resolution: {integrity: sha512-DQwV7B2x/DRLRDSisngZRdLqHdYbbrqZv2Hmu4ZbnNYaWPC8qvzgE/0CvY+UkDat3nCcsfwsMnlDeB6TL7/IaA==} - engines: {node: ^18.13.0 || >=20.9.0} - peerDependencies: - '@angular/common': 17.3.12 - '@angular/compiler': 17.3.12 - '@angular/core': 17.3.12 - '@angular/platform-browser': 17.3.12 - - '@angular/platform-browser-dynamic@19.0.5': - resolution: {integrity: sha512-KKFdue/uJVxkWdrntRAXkz+ycp4nD3SuGOH5pPf2svCBxieuHuFlWDi+DYVuFSEpC/ICCmlhrtzIAm44A4qzzQ==} + '@angular/platform-browser-dynamic@19.1.4': + resolution: {integrity: sha512-r1AM8qkjl63cg46tgOHsVV4URHDctcVpt98DU/d/yN8JAugrx6GA1qOM/HMDspMjEIU4aYcSkUUY6h6uIkYmOQ==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} peerDependencies: - '@angular/common': 19.0.5 - '@angular/compiler': 19.0.5 - '@angular/core': 19.0.5 - '@angular/platform-browser': 19.0.5 - - '@angular/platform-browser@17.3.12': - resolution: {integrity: sha512-DYY04ptWh/ulMHzd+y52WCE8QnEYGeIiW3hEIFjCN8z0kbIdFdUtEB0IK5vjNL3ejyhUmphcpeT5PYf3YXtqWQ==} - engines: {node: ^18.13.0 || >=20.9.0} - peerDependencies: - '@angular/animations': 17.3.12 - '@angular/common': 17.3.12 - '@angular/core': 17.3.12 - peerDependenciesMeta: - '@angular/animations': - optional: true + '@angular/common': 19.1.4 + '@angular/compiler': 19.1.4 + '@angular/core': 19.1.4 + '@angular/platform-browser': 19.1.4 - '@angular/platform-browser@19.0.5': - resolution: {integrity: sha512-41+Jo5DEil4Ifvv+UE/p1l9YJtYN+xfhx+/C9cahVgvV5D2q+givyK73d0Mnb6XOfe1q+hoV5lZ+XhQYp21//g==} + '@angular/platform-browser@19.1.4': + resolution: {integrity: sha512-IoVIvemj7ni6GLDCvwtZhTgMQjPyG+xPW7rASN2RVl9T3uS1fJUpXrh5JzBcCikIj20O2KV9mqt7p4iIXy9jbQ==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} peerDependencies: - '@angular/animations': 19.0.5 - '@angular/common': 19.0.5 - '@angular/core': 19.0.5 + '@angular/animations': 19.1.4 + '@angular/common': 19.1.4 + '@angular/core': 19.1.4 peerDependenciesMeta: '@angular/animations': optional: true - '@angular/router@17.3.12': - resolution: {integrity: sha512-dg7PHBSW9fmPKTVzwvHEeHZPZdpnUqW/U7kj8D29HTP9ur8zZnx9QcnbplwPeYb8yYa62JMnZSEel2X4PxdYBg==} - engines: {node: ^18.13.0 || >=20.9.0} - peerDependencies: - '@angular/common': 17.3.12 - '@angular/core': 17.3.12 - '@angular/platform-browser': 17.3.12 - rxjs: ^6.5.3 || ^7.4.0 - - '@angular/router@19.0.5': - resolution: {integrity: sha512-6tNubVVj/rRyTg+OXjQxACfufvCLHAwDQtv9wqt6q/3OYSnysHTik3ho3FaFPwu7fXJ+6p9Rjzkh2VY9QMk4bw==} + '@angular/router@19.1.4': + resolution: {integrity: sha512-0gEhGGqcCS7adKuv/XeQjRbhEqRXPhIH4ygjwfonV+uvmK+C1sf+bnAt4o01hxwf12w4FcnNPkgBKt+rJJ+LpA==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} peerDependencies: - '@angular/common': 19.0.5 - '@angular/core': 19.0.5 - '@angular/platform-browser': 19.0.5 + '@angular/common': 19.1.4 + '@angular/core': 19.1.4 + '@angular/platform-browser': 19.1.4 rxjs: ^6.5.3 || ^7.4.0 '@babel/code-frame@7.24.7': @@ -3692,22 +3588,10 @@ packages: resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.3': - resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} - engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.5': resolution: {integrity: sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==} engines: {node: '>=6.9.0'} - '@babel/core@7.23.9': - resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.24.0': - resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==} - engines: {node: '>=6.9.0'} - '@babel/core@7.24.7': resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} engines: {node: '>=6.9.0'} @@ -3716,10 +3600,6 @@ packages: resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} engines: {node: '>=6.9.0'} - '@babel/generator@7.23.6': - resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} - engines: {node: '>=6.9.0'} - '@babel/generator@7.24.7': resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} engines: {node: '>=6.9.0'} @@ -3732,10 +3612,6 @@ packages: resolution: {integrity: sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==} engines: {node: '>=6.9.0'} - '@babel/helper-annotate-as-pure@7.22.5': - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} - engines: {node: '>=6.9.0'} - '@babel/helper-annotate-as-pure@7.25.9': resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} engines: {node: '>=6.9.0'} @@ -3744,10 +3620,6 @@ packages: resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.25.9': - resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.26.5': resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} engines: {node: '>=6.9.0'} @@ -3764,11 +3636,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-define-polyfill-provider@0.5.0': - resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - '@babel/helper-define-polyfill-provider@0.6.3': resolution: {integrity: sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==} peerDependencies: @@ -3856,10 +3723,6 @@ packages: resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.22.6': - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} - engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.24.7': resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} engines: {node: '>=6.9.0'} @@ -3888,10 +3751,6 @@ packages: resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.26.0': - resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} - engines: {node: '>=6.9.0'} - '@babel/helpers@7.26.7': resolution: {integrity: sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==} engines: {node: '>=6.9.0'} @@ -3910,6 +3769,18 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': + resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9': + resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9': resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==} engines: {node: '>=6.9.0'} @@ -3934,32 +3805,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-async-generators@7.8.4': - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-properties@7.12.13': - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-static-block@7.14.5': - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-dynamic-import@7.8.3': - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-export-namespace-from@7.8.3': - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-assertions@7.26.0': resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==} engines: {node: '>=6.9.0'} @@ -3972,16 +3817,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-meta@7.10.4': - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-json-strings@7.8.3': - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.24.7': resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} @@ -3994,48 +3829,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-numeric-separator@7.10.4': - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3': - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-chaining@7.8.3': - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-private-property-in-object@7.14.5': - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-top-level-await@7.14.5': - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.25.9': resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} engines: {node: '>=6.9.0'} @@ -4054,14 +3847,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-generator-functions@7.23.9': - resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} + '@babel/plugin-transform-async-generator-functions@7.25.9': + resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-to-generator@7.23.3': - resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} + '@babel/plugin-transform-async-to-generator@7.25.9': + resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -4120,6 +3913,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9': + resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/plugin-transform-dynamic-import@7.25.9': resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} engines: {node: '>=6.9.0'} @@ -4300,14 +4099,20 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-regexp-modifiers@7.26.0': + resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/plugin-transform-reserved-words@7.25.9': resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-runtime@7.24.0': - resolution: {integrity: sha512-zc0GA5IitLKJrSfXlXmp8KDqLrnGECK7YRfQBmEKg1NmBOQ7e+KuclBEKJgzifQeUYLdNiAw4B4bjyvzWVLiSA==} + '@babel/plugin-transform-runtime@7.25.9': + resolution: {integrity: sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -4372,8 +4177,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/preset-env@7.24.0': - resolution: {integrity: sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==} + '@babel/preset-env@7.26.0': + resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -4383,8 +4188,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - '@babel/runtime@7.24.0': - resolution: {integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==} + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} '@babel/template@7.24.7': @@ -4434,9 +4239,9 @@ packages: resolution: {integrity: sha512-DSHae2obMSMkAtTBSOulg5X7/z+rGLxcXQIkg3OmWvY6wifojge5uVMydfhUvs7yQj+V7jNmRZ2Xzl8GJyqRgg==} engines: {node: '>=v18'} - '@discoveryjs/json-ext@0.5.7': - resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} - engines: {node: '>=10.0.0'} + '@discoveryjs/json-ext@0.6.3': + resolution: {integrity: sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==} + engines: {node: '>=14.17.0'} '@dnd-kit/accessibility@3.1.1': resolution: {integrity: sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==} @@ -4475,18 +4280,6 @@ packages: '@emnapi/wasi-threads@1.0.1': resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==} - '@esbuild/aix-ppc64@0.19.12': - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.20.1': - resolution: {integrity: sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} @@ -4499,30 +4292,12 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.24.0': - resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.24.2': resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.19.12': - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.20.1': - resolution: {integrity: sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.21.5': resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} @@ -4535,30 +4310,12 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.24.0': - resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.24.2': resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.19.12': - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.20.1': - resolution: {integrity: sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.21.5': resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} @@ -4571,30 +4328,12 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.24.0': - resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.24.2': resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.19.12': - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.20.1': - resolution: {integrity: sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.21.5': resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} @@ -4607,30 +4346,12 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.24.0': - resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.24.2': resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.19.12': - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.20.1': - resolution: {integrity: sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.21.5': resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} @@ -4643,30 +4364,12 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.24.0': - resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.24.2': resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.19.12': - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.20.1': - resolution: {integrity: sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.21.5': resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} @@ -4679,30 +4382,12 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.24.0': - resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.24.2': resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.19.12': - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.20.1': - resolution: {integrity: sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.21.5': resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} @@ -4715,30 +4400,12 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.24.0': - resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.24.2': resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.19.12': - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.20.1': - resolution: {integrity: sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.21.5': resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} @@ -4751,30 +4418,12 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.24.0': - resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.24.2': resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.19.12': - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.20.1': - resolution: {integrity: sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.21.5': resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} @@ -4787,30 +4436,12 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.24.0': - resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.24.2': resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.19.12': - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.20.1': - resolution: {integrity: sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.21.5': resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} @@ -4823,30 +4454,12 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.24.0': - resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.24.2': resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.19.12': - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.20.1': - resolution: {integrity: sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.21.5': resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} @@ -4859,30 +4472,12 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.24.0': - resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.24.2': resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.19.12': - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.20.1': - resolution: {integrity: sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.21.5': resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} @@ -4895,30 +4490,12 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.24.0': - resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.24.2': resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.19.12': - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.20.1': - resolution: {integrity: sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.21.5': resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} @@ -4931,30 +4508,12 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.24.0': - resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.24.2': resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.19.12': - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.20.1': - resolution: {integrity: sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.21.5': resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} @@ -4967,30 +4526,12 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.24.0': - resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.24.2': resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.19.12': - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.20.1': - resolution: {integrity: sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.21.5': resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} @@ -5003,30 +4544,12 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.24.0': - resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.24.2': resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.19.12': - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.20.1': - resolution: {integrity: sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.21.5': resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} @@ -5039,30 +4562,12 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.24.0': - resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.24.2': resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.19.12': - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.20.1': - resolution: {integrity: sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.21.5': resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} @@ -5075,12 +4580,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.24.0': - resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.24.2': resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} engines: {node: '>=18'} @@ -5093,18 +4592,6 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.19.12': - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.20.1': - resolution: {integrity: sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.21.5': resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} @@ -5117,12 +4604,6 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.24.0': - resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.24.2': resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} engines: {node: '>=18'} @@ -5135,30 +4616,12 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.24.0': - resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - '@esbuild/openbsd-arm64@0.24.2': resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.19.12': - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.20.1': - resolution: {integrity: sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.21.5': resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} @@ -5171,30 +4634,12 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.24.0': - resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.24.2': resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.19.12': - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.20.1': - resolution: {integrity: sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.21.5': resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} @@ -5207,30 +4652,12 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.24.0': - resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.24.2': resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.19.12': - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.20.1': - resolution: {integrity: sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.21.5': resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} @@ -5243,30 +4670,12 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.24.0': - resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.24.2': resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.19.12': - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.20.1': - resolution: {integrity: sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.21.5': resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} @@ -5279,30 +4688,12 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.24.0': - resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.24.2': resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.19.12': - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.20.1': - resolution: {integrity: sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.21.5': resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} @@ -5315,12 +4706,6 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.24.0': - resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.24.2': resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} engines: {node: '>=18'} @@ -5446,12 +4831,6 @@ packages: peerDependencies: '@types/node': '>=18' - '@inquirer/confirm@5.0.2': - resolution: {integrity: sha512-KJLUHOaKnNCYzwVbryj3TNBxyZIrr56fR5N45v6K9IPrbT6B7DcudBMfylkV1A8PUdJE15mybkEQyp2/ZUpxUA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - '@inquirer/confirm@5.1.1': resolution: {integrity: sha512-vVLSbGci+IKQvDOtzpPTCOiEJCNidHcAq9JYVoWTW0svb5FiwSLotkM+JXNXejfjnzVYV9n0DTBythl9+XgTxg==} engines: {node: '>=18'} @@ -5496,8 +4875,8 @@ packages: peerDependencies: '@types/node': '>=18' - '@inquirer/prompts@7.1.0': - resolution: {integrity: sha512-5U/XiVRH2pp1X6gpNAjWOglMf38/Ys522ncEHIKT1voRUvSj/DQnR22OVxHnwu5S+rCFaUiPQ57JOtMFQayqYA==} + '@inquirer/prompts@7.2.1': + resolution: {integrity: sha512-v2JSGri6/HXSfoGIwuKEn8sNCQK6nsB2BNpy2lSX6QH9bsECrMv93QHnj5+f+1ZWpF/VNioIV2B/PDox8EvGuQ==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -5538,10 +4917,6 @@ packages: resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} - '@istanbuljs/load-nyc-config@1.1.0': - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - '@istanbuljs/schema@0.1.3': resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} @@ -5575,6 +4950,24 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jsonjoy.com/base64@1.1.2': + resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/json-pack@1.1.1': + resolution: {integrity: sha512-osjeBqMJ2lb/j/M8NCPjs1ylqWIcTRTycIhVB5pt6LgzgeRSb0YRZ7j9RfA8wIUrsr/medIuhVyonXRZWLyfdw==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/util@1.5.0': + resolution: {integrity: sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + '@kwsites/file-exists@1.1.1': resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} @@ -5596,37 +4989,33 @@ packages: '@lit/reactive-element@2.0.4': resolution: {integrity: sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==} - '@ljharb/through@2.3.13': - resolution: {integrity: sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==} - engines: {node: '>= 0.4'} - - '@lmdb/lmdb-darwin-arm64@3.1.5': - resolution: {integrity: sha512-ue5PSOzHMCIYrfvPP/MRS6hsKKLzqqhcdAvJCO8uFlDdj598EhgnacuOTuqA6uBK5rgiZXfDWyb7DVZSiBKxBA==} + '@lmdb/lmdb-darwin-arm64@3.2.2': + resolution: {integrity: sha512-WBSJT9Z7DTol5viq+DZD2TapeWOw7mlwXxiSBHgAzqVwsaVb0h/ekMD9iu/jDD8MUA20tO9N0WEdnT06fsUp+g==} cpu: [arm64] os: [darwin] - '@lmdb/lmdb-darwin-x64@3.1.5': - resolution: {integrity: sha512-CGhsb0R5vE6mMNCoSfxHFD8QTvBHM51gs4DBeigTYHWnYv2V5YpJkC4rMo5qAAFifuUcc0+a8a3SIU0c9NrfNw==} + '@lmdb/lmdb-darwin-x64@3.2.2': + resolution: {integrity: sha512-4S13kUtR7c/j/MzkTIBJCXv52hQ41LG2ukeaqw4Eng9K0pNKLFjo1sDSz96/yKhwykxrWDb13ddJ/ZqD3rAhUA==} cpu: [x64] os: [darwin] - '@lmdb/lmdb-linux-arm64@3.1.5': - resolution: {integrity: sha512-LAjaoOcBHGj6fiYB8ureiqPoph4eygbXu4vcOF+hsxiY74n8ilA7rJMmGUT0K0JOB5lmRQHSmor3mytRjS4qeQ==} + '@lmdb/lmdb-linux-arm64@3.2.2': + resolution: {integrity: sha512-4hdgZtWI1idQlWRp+eleWXD9KLvObgboRaVoBj2POdPEYvsKANllvMW0El8tEQwtw74yB9NT6P8ENBB5UJf5+g==} cpu: [arm64] os: [linux] - '@lmdb/lmdb-linux-arm@3.1.5': - resolution: {integrity: sha512-3WeW328DN+xB5PZdhSWmqE+t3+44xWXEbqQ+caWJEZfOFdLp9yklBZEbVqVdqzznkoaXJYxTCp996KD6HmANeg==} + '@lmdb/lmdb-linux-arm@3.2.2': + resolution: {integrity: sha512-uW31JmfuPAaLUYW7NsEU8gzwgDAzpGPwjvkxnKlcWd8iDutoPKDJi8Wk9lFmPEZRxVSB0j1/wDQ7N2qliR9UFA==} cpu: [arm] os: [linux] - '@lmdb/lmdb-linux-x64@3.1.5': - resolution: {integrity: sha512-k/IklElP70qdCXOQixclSl2GPLFiopynGoKX1FqDd1/H0E3Fo1oPwjY2rEVu+0nS3AOw1sryStdXk8CW3cVIsw==} + '@lmdb/lmdb-linux-x64@3.2.2': + resolution: {integrity: sha512-A0zjf4a2vM4B4GAx78ncuOTZ8Ka1DbTaG1Axf1e00Sa7f5coqlWiLg1PX7Gxvyibc2YqtqB+8tg1KKrE8guZVw==} cpu: [x64] os: [linux] - '@lmdb/lmdb-win32-x64@3.1.5': - resolution: {integrity: sha512-KYar6W8nraZfSJspcK7Kp7hdj238X/FNauYbZyrqPBrtsXI1hvI4/KcRcRGP50aQoV7fkKDyJERlrQGMGTZUsA==} + '@lmdb/lmdb-win32-x64@3.2.2': + resolution: {integrity: sha512-Y0qoSCAja+xZE7QQ0LCHoYAuyI1n9ZqukQJa8lv9X3yCvWahFF7OYHAgVH1ejp43XWstj3U89/PAAzcowgF/uQ==} cpu: [x64] os: [win32] @@ -5776,12 +5165,12 @@ packages: '@napi-rs/wasm-runtime@0.2.4': resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==} - '@ngtools/webpack@17.3.8': - resolution: {integrity: sha512-CjSVVa/9fzMpEDQP01SC4colKCbZwj7vUq0H2bivp8jVsmd21x9Fu0gDBH0Y9NdfAIm4eGZvmiZKMII3vIOaYQ==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@ngtools/webpack@19.1.5': + resolution: {integrity: sha512-oIpE5Ci/Gl2iZqa0Hs6IOxaXEDHkF/zisHcflzYGkMnYcSFj+wRgYEuBFaHLCwuxQf9OdGu31i05w849i6tY1Q==} + engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: - '@angular/compiler-cli': ^17.0.0 - typescript: '>=5.2 <5.5' + '@angular/compiler-cli': ^19.0.0 + typescript: '>=5.5 <5.8' webpack: ^5.54.0 '@nodelib/fs.scandir@2.1.5': @@ -5796,76 +5185,39 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@npmcli/agent@2.2.2': - resolution: {integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==} - engines: {node: ^16.14.0 || >=18.0.0} - '@npmcli/agent@3.0.0': resolution: {integrity: sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==} engines: {node: ^18.17.0 || >=20.5.0} - '@npmcli/fs@3.1.1': - resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - '@npmcli/fs@4.0.0': resolution: {integrity: sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==} engines: {node: ^18.17.0 || >=20.5.0} - '@npmcli/git@5.0.8': - resolution: {integrity: sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==} - engines: {node: ^16.14.0 || >=18.0.0} - '@npmcli/git@6.0.1': resolution: {integrity: sha512-BBWMMxeQzalmKadyimwb2/VVQyJB01PH0HhVSNLHNBDZN/M/h/02P6f8fxedIiFhpMj11SO9Ep5tKTBE7zL2nw==} engines: {node: ^18.17.0 || >=20.5.0} - '@npmcli/installed-package-contents@2.1.0': - resolution: {integrity: sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - '@npmcli/installed-package-contents@3.0.0': resolution: {integrity: sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==} engines: {node: ^18.17.0 || >=20.5.0} hasBin: true - '@npmcli/node-gyp@3.0.0': - resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - '@npmcli/node-gyp@4.0.0': resolution: {integrity: sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==} engines: {node: ^18.17.0 || >=20.5.0} - '@npmcli/package-json@5.2.1': - resolution: {integrity: sha512-f7zYC6kQautXHvNbLEWgD/uGu1+xCn9izgqBfgItWSx22U0ZDekxN08A1vM8cTxj/cRVe0Q94Ode+tdoYmIOOQ==} - engines: {node: ^16.14.0 || >=18.0.0} - '@npmcli/package-json@6.1.0': resolution: {integrity: sha512-t6G+6ZInT4X+tqj2i+wlLIeCKnKOTuz9/VFYDtj+TGTur5q7sp/OYrQA19LdBbWfXDOi0Y4jtedV6xtB8zQ9ug==} engines: {node: ^18.17.0 || >=20.5.0} - '@npmcli/promise-spawn@7.0.2': - resolution: {integrity: sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==} - engines: {node: ^16.14.0 || >=18.0.0} - '@npmcli/promise-spawn@8.0.2': resolution: {integrity: sha512-/bNJhjc+o6qL+Dwz/bqfTQClkEO5nTQ1ZEcdCkAQjhkZMHIh22LPG7fNh1enJP1NKWDqYiiABnjFCY7E0zHYtQ==} engines: {node: ^18.17.0 || >=20.5.0} - '@npmcli/redact@1.1.0': - resolution: {integrity: sha512-PfnWuOkQgu7gCbnSsAisaX7hKOdZ4wSAhAzH3/ph5dSGau52kCRrMMGbiSQLwyTZpgldkZ49b0brkOr1AzGBHQ==} - engines: {node: ^16.14.0 || >=18.0.0} - '@npmcli/redact@3.0.0': resolution: {integrity: sha512-/1uFzjVcfzqrgCeGW7+SZ4hv0qLWmKXVzFahZGJ6QuJBj6Myt9s17+JL86i76NV9YSnJRcGXJYQbAU0rn1YTCQ==} engines: {node: ^18.17.0 || >=20.5.0} - '@npmcli/run-script@7.0.4': - resolution: {integrity: sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==} - engines: {node: ^16.14.0 || >=18.0.0} - '@npmcli/run-script@9.0.2': resolution: {integrity: sha512-cJXiUlycdizQwvqE1iaAb4VRUM3RX09/8q46zjvy+ct9GhfZRWd7jXYVc1tn/CfRlGPVkX/u4sstRlepsm7hfw==} engines: {node: ^18.17.0 || >=20.5.0} @@ -6079,13 +5431,13 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.26.0': - resolution: {integrity: sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==} + '@rollup/rollup-android-arm-eabi@4.29.1': + resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.29.1': - resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==} + '@rollup/rollup-android-arm-eabi@4.30.1': + resolution: {integrity: sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==} cpu: [arm] os: [android] @@ -6094,13 +5446,13 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.26.0': - resolution: {integrity: sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==} + '@rollup/rollup-android-arm64@4.29.1': + resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.29.1': - resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==} + '@rollup/rollup-android-arm64@4.30.1': + resolution: {integrity: sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==} cpu: [arm64] os: [android] @@ -6109,13 +5461,13 @@ packages: cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.26.0': - resolution: {integrity: sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==} + '@rollup/rollup-darwin-arm64@4.29.1': + resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.29.1': - resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==} + '@rollup/rollup-darwin-arm64@4.30.1': + resolution: {integrity: sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==} cpu: [arm64] os: [darwin] @@ -6124,13 +5476,13 @@ packages: cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.26.0': - resolution: {integrity: sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==} + '@rollup/rollup-darwin-x64@4.29.1': + resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.29.1': - resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==} + '@rollup/rollup-darwin-x64@4.30.1': + resolution: {integrity: sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==} cpu: [x64] os: [darwin] @@ -6139,13 +5491,13 @@ packages: cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.26.0': - resolution: {integrity: sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==} + '@rollup/rollup-freebsd-arm64@4.29.1': + resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.29.1': - resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==} + '@rollup/rollup-freebsd-arm64@4.30.1': + resolution: {integrity: sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==} cpu: [arm64] os: [freebsd] @@ -6154,13 +5506,13 @@ packages: cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.26.0': - resolution: {integrity: sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==} + '@rollup/rollup-freebsd-x64@4.29.1': + resolution: {integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.29.1': - resolution: {integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==} + '@rollup/rollup-freebsd-x64@4.30.1': + resolution: {integrity: sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==} cpu: [x64] os: [freebsd] @@ -6169,13 +5521,13 @@ packages: cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.26.0': - resolution: {integrity: sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==} + '@rollup/rollup-linux-arm-gnueabihf@4.29.1': + resolution: {integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.29.1': - resolution: {integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==} + '@rollup/rollup-linux-arm-gnueabihf@4.30.1': + resolution: {integrity: sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==} cpu: [arm] os: [linux] @@ -6184,13 +5536,13 @@ packages: cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.26.0': - resolution: {integrity: sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==} + '@rollup/rollup-linux-arm-musleabihf@4.29.1': + resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.29.1': - resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==} + '@rollup/rollup-linux-arm-musleabihf@4.30.1': + resolution: {integrity: sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==} cpu: [arm] os: [linux] @@ -6199,13 +5551,13 @@ packages: cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.26.0': - resolution: {integrity: sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==} + '@rollup/rollup-linux-arm64-gnu@4.29.1': + resolution: {integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.29.1': - resolution: {integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==} + '@rollup/rollup-linux-arm64-gnu@4.30.1': + resolution: {integrity: sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==} cpu: [arm64] os: [linux] @@ -6214,13 +5566,13 @@ packages: cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.26.0': - resolution: {integrity: sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==} + '@rollup/rollup-linux-arm64-musl@4.29.1': + resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.29.1': - resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==} + '@rollup/rollup-linux-arm64-musl@4.30.1': + resolution: {integrity: sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==} cpu: [arm64] os: [linux] @@ -6234,18 +5586,23 @@ packages: cpu: [loong64] os: [linux] + '@rollup/rollup-linux-loongarch64-gnu@4.30.1': + resolution: {integrity: sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==} + cpu: [loong64] + os: [linux] + '@rollup/rollup-linux-loongarch64-gnu@4.32.0': resolution: {integrity: sha512-VAEzZTD63YglFlWwRj3taofmkV1V3xhebDXffon7msNz4b14xKsz7utO6F8F4cqt8K/ktTl9rm88yryvDpsfOw==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': - resolution: {integrity: sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': + resolution: {integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': - resolution: {integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==} + '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': + resolution: {integrity: sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==} cpu: [ppc64] os: [linux] @@ -6254,13 +5611,13 @@ packages: cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.26.0': - resolution: {integrity: sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==} + '@rollup/rollup-linux-riscv64-gnu@4.29.1': + resolution: {integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.29.1': - resolution: {integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==} + '@rollup/rollup-linux-riscv64-gnu@4.30.1': + resolution: {integrity: sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==} cpu: [riscv64] os: [linux] @@ -6269,13 +5626,13 @@ packages: cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.26.0': - resolution: {integrity: sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==} + '@rollup/rollup-linux-s390x-gnu@4.29.1': + resolution: {integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.29.1': - resolution: {integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==} + '@rollup/rollup-linux-s390x-gnu@4.30.1': + resolution: {integrity: sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==} cpu: [s390x] os: [linux] @@ -6284,13 +5641,13 @@ packages: cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.26.0': - resolution: {integrity: sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==} + '@rollup/rollup-linux-x64-gnu@4.29.1': + resolution: {integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.29.1': - resolution: {integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==} + '@rollup/rollup-linux-x64-gnu@4.30.1': + resolution: {integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==} cpu: [x64] os: [linux] @@ -6299,13 +5656,13 @@ packages: cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.26.0': - resolution: {integrity: sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==} + '@rollup/rollup-linux-x64-musl@4.29.1': + resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.29.1': - resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==} + '@rollup/rollup-linux-x64-musl@4.30.1': + resolution: {integrity: sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==} cpu: [x64] os: [linux] @@ -6314,13 +5671,13 @@ packages: cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.26.0': - resolution: {integrity: sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==} + '@rollup/rollup-win32-arm64-msvc@4.29.1': + resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.29.1': - resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==} + '@rollup/rollup-win32-arm64-msvc@4.30.1': + resolution: {integrity: sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==} cpu: [arm64] os: [win32] @@ -6329,13 +5686,13 @@ packages: cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.26.0': - resolution: {integrity: sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==} + '@rollup/rollup-win32-ia32-msvc@4.29.1': + resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.29.1': - resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==} + '@rollup/rollup-win32-ia32-msvc@4.30.1': + resolution: {integrity: sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==} cpu: [ia32] os: [win32] @@ -6344,13 +5701,13 @@ packages: cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.26.0': - resolution: {integrity: sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==} + '@rollup/rollup-win32-x64-msvc@4.29.1': + resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.29.1': - resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==} + '@rollup/rollup-win32-x64-msvc@4.30.1': + resolution: {integrity: sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==} cpu: [x64] os: [win32] @@ -6386,12 +5743,8 @@ packages: '@rushstack/ts-command-line@4.22.3': resolution: {integrity: sha512-edMpWB3QhFFZ4KtSzS8WNjBgR4PXPPOVrOHMbb7kNpmQ1UFS9HdVtjCXg1H5fG+xYAbeE+TMPcVPUyX2p84STA==} - '@schematics/angular@17.3.11': - resolution: {integrity: sha512-tvJpTgYC+hCnTyLszYRUZVyNTpPd+C44gh5CPTcG3qkqStzXQwynQAf6X/DjtwXbUiPQF0XfF0+0R489GpdZPA==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - - '@schematics/angular@19.0.6': - resolution: {integrity: sha512-HicclmbW/+mlljU7a4PzbyIWG+7tognoL5LsgMFJQUDzJXHNjRt1riL0vk57o8Pcprnz9FheeWZXO1KRhXkQuw==} + '@schematics/angular@19.1.5': + resolution: {integrity: sha512-Yks2QD87z2qJhVLi6O0tQDBG4pyX5n5c8BYEyZ+yiThjzIXBRkHjWS1jIFvd/y1+yU/NQFHYG/sy8sVOxfQ9IA==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@shikijs/engine-oniguruma@1.24.4': @@ -6403,18 +5756,10 @@ packages: '@shikijs/vscode-textmate@9.3.1': resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==} - '@sigstore/bundle@2.3.2': - resolution: {integrity: sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==} - engines: {node: ^16.14.0 || >=18.0.0} - '@sigstore/bundle@3.0.0': resolution: {integrity: sha512-XDUYX56iMPAn/cdgh/DTJxz5RWmqKV4pwvUAEKEWJl+HzKdCd/24wUa9JYNMlDSCb7SUHAdtksxYX779Nne/Zg==} engines: {node: ^18.17.0 || >=20.5.0} - '@sigstore/core@1.1.0': - resolution: {integrity: sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==} - engines: {node: ^16.14.0 || >=18.0.0} - '@sigstore/core@2.0.0': resolution: {integrity: sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==} engines: {node: ^18.17.0 || >=20.5.0} @@ -6423,26 +5768,14 @@ packages: resolution: {integrity: sha512-c6B0ehIWxMI8wiS/bj6rHMPqeFvngFV7cDU/MY+B16P9Z3Mp9k8L93eYZ7BYzSickzuqAQqAq0V956b3Ju6mLw==} engines: {node: ^16.14.0 || >=18.0.0} - '@sigstore/sign@2.3.2': - resolution: {integrity: sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==} - engines: {node: ^16.14.0 || >=18.0.0} - '@sigstore/sign@3.0.0': resolution: {integrity: sha512-UjhDMQOkyDoktpXoc5YPJpJK6IooF2gayAr5LvXI4EL7O0vd58okgfRcxuaH+YTdhvb5aa1Q9f+WJ0c2sVuYIw==} engines: {node: ^18.17.0 || >=20.5.0} - '@sigstore/tuf@2.3.4': - resolution: {integrity: sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==} - engines: {node: ^16.14.0 || >=18.0.0} - '@sigstore/tuf@3.0.0': resolution: {integrity: sha512-9Xxy/8U5OFJu7s+OsHzI96IX/OzjF/zj0BSSaWhgJgTqtlBhQIV2xdrQI5qxLD7+CWWDepadnXAxzaZ3u9cvRw==} engines: {node: ^18.17.0 || >=20.5.0} - '@sigstore/verify@1.2.1': - resolution: {integrity: sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==} - engines: {node: ^16.14.0 || >=18.0.0} - '@sigstore/verify@2.0.0': resolution: {integrity: sha512-Ggtq2GsJuxFNUvQzLoXqRwS4ceRfLAJnrIHUDrzAD0GgnOhwujJkKkxM/s5Bako07c3WtAs/sZo5PJq7VHjeDg==} engines: {node: ^18.17.0 || >=20.5.0} @@ -6450,6 +5783,10 @@ packages: '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@sindresorhus/merge-streams@2.3.0': + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + '@size-limit/esbuild@11.1.6': resolution: {integrity: sha512-0nBKYSxeRjUVCVoCkWZbmGkGBwpm0HdwHedWgxksBGxTKU0PjOMSHc3XTjKOrXBKXQzw90Ue0mgOd4n6zct9SA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -6638,10 +5975,6 @@ packages: resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} engines: {node: ^16.14.0 || >=18.0.0} - '@tufjs/models@2.0.1': - resolution: {integrity: sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==} - engines: {node: ^16.14.0 || >=18.0.0} - '@tufjs/models@3.0.1': resolution: {integrity: sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -6797,8 +6130,8 @@ packages: '@types/react@19.0.2': resolution: {integrity: sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg==} - '@types/retry@0.12.0': - resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + '@types/retry@0.12.2': + resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} '@types/send@0.17.4': resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} @@ -6895,11 +6228,11 @@ packages: resolution: {integrity: sha512-RmZwrTbQ9QveF15m/Cl28n0LXD6ea2CjkhH5rQ55ewz3H24w+AMCJHPVYaZ8/0HoG8Z3cLLFFycRXxeO2tz9FA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@vitejs/plugin-basic-ssl@1.1.0': - resolution: {integrity: sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==} - engines: {node: '>=14.6.0'} + '@vitejs/plugin-basic-ssl@1.2.0': + resolution: {integrity: sha512-mkQnxTkcldAzIsomk1UuLfAu9n+kpQ3JbHcpCp7d2Oo6ITtji8pHS3QToOWjhPFvNQSnhlkAjmGbhv2QvwO/7Q==} + engines: {node: '>=14.21.3'} peerDependencies: - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 '@vitejs/plugin-react@4.3.4': resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==} @@ -7100,12 +6433,6 @@ packages: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - acorn-import-assertions@1.9.0: - resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} - deprecated: package has been renamed to acorn-import-attributes - peerDependencies: - acorn: ^8 - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -7274,8 +6601,8 @@ packages: asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - autoprefixer@10.4.18: - resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==} + autoprefixer@10.4.20: + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -7291,8 +6618,8 @@ packages: babel-dead-code-elimination@1.0.8: resolution: {integrity: sha512-og6HQERk0Cmm+nTT4Od2wbPtgABXFMPaHACjbKLulZIFMkYyXZLkUGuAxdgpMJBrxyt/XFpSz++lNzjbcMnPkQ==} - babel-loader@9.1.3: - resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} + babel-loader@9.2.1: + resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 @@ -7301,10 +6628,6 @@ packages: babel-plugin-add-module-exports@0.2.1: resolution: {integrity: sha512-3AN/9V/rKuv90NG65m4tTHsI04XrCKsWbztIcW7a8H5iIN7WlvWucRtVV0V/rT4QvtA11n5Vmp20fLwfMWqp6g==} - babel-plugin-istanbul@6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} - babel-plugin-jsx-dom-expressions@0.37.23: resolution: {integrity: sha512-Y/r8LyLi/njnwPTaDuPEReWk30FJ1KplloYvcFUhHmiH1F7yVVj5mWojD7mbO/IruKyvOs9OIPUoeMi3Z++J4w==} peerDependencies: @@ -7315,13 +6638,13 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-corejs3@0.9.0: - resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} + babel-plugin-polyfill-corejs3@0.10.6: + resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-regenerator@0.5.5: - resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} + babel-plugin-polyfill-regenerator@0.6.3: + resolution: {integrity: sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 @@ -7348,8 +6671,9 @@ packages: batch@0.6.1: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} - beasties@0.1.0: - resolution: {integrity: sha512-+Ssscd2gVG24qRNC+E2g88D+xsQW4xwakWtKAiGEQ3Pw54/FGdyo9RrfxhGhEv6ilFVbB7r3Lgx+QnAxnSpECw==} + beasties@0.2.0: + resolution: {integrity: sha512-Ljqskqx/tbZagIglYoJIMzH5zgssyp+in9+9sAyh15N22AornBeIDnb8EZ6Rk+6ShfMxd92uO3gfpT0NtZbpow==} + engines: {node: '>=14.0.0'} big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} @@ -7385,11 +6709,6 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.23.1: - resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - browserslist@4.24.4: resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -7401,6 +6720,10 @@ packages: buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + bytes-iec@3.1.1: resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==} engines: {node: '>= 0.8'} @@ -7417,10 +6740,6 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - cacache@18.0.4: - resolution: {integrity: sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==} - engines: {node: ^16.14.0 || >=18.0.0} - cacache@19.0.1: resolution: {integrity: sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -7429,10 +6748,6 @@ packages: resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} engines: {node: '>= 0.4'} - call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} - engines: {node: '>= 0.4'} - call-bound@1.0.3: resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} engines: {node: '>= 0.4'} @@ -7441,17 +6756,10 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - camelcase@7.0.1: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} - caniuse-lite@1.0.30001638: - resolution: {integrity: sha512-5SuJUJ7cZnhPpeLHaH0c/HPAnAHZvS6ElWyHK9GSIbVOQABLzowiI2pjmpvZ1WEbkyz46iFd4UXlOHR5SqgfMQ==} - caniuse-lite@1.0.30001695: resolution: {integrity: sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==} @@ -7483,10 +6791,6 @@ packages: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - chalk@5.4.1: - resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} @@ -7596,6 +6900,10 @@ packages: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} + commander@13.1.0: + resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} + engines: {node: '>=18'} + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -7685,9 +6993,9 @@ packages: copy-anything@2.0.6: resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} - copy-webpack-plugin@11.0.0: - resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} - engines: {node: '>= 14.15.0'} + copy-webpack-plugin@12.0.2: + resolution: {integrity: sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==} + engines: {node: '>= 18.12.0'} peerDependencies: webpack: ^5.1.0 @@ -7710,9 +7018,6 @@ packages: typescript: optional: true - critters@0.0.22: - resolution: {integrity: sha512-NU7DEcQZM2Dy8XTKFHxtdnIM/drE312j2T4PCVaSUcS0oBeyT/NImpRw/Ap0zOr/1SE7SgPK9tGPg1WK/sVakw==} - cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} @@ -7724,12 +7029,12 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - css-loader@6.10.0: - resolution: {integrity: sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==} - engines: {node: '>= 12.13.0'} + css-loader@7.1.2: + resolution: {integrity: sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==} + engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x - webpack: ^5.0.0 + webpack: ^5.27.0 peerDependenciesMeta: '@rspack/core': optional: true @@ -7830,21 +7135,25 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - default-gateway@6.0.3: - resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} - engines: {node: '>= 10'} + default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} + + default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -7892,10 +7201,6 @@ packages: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dns-packet@5.6.1: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} @@ -7951,9 +7256,6 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.4.815: - resolution: {integrity: sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg==} - electron-to-chromium@1.5.88: resolution: {integrity: sha512-K3C2qf1o+bGzbilTDCTBhTQcMS9KW60yTAaTeeXsfvQuTDDwlokLam/AdqlqcSy9u4UainDgsHV23ksXAOgamw==} @@ -8049,19 +7351,9 @@ packages: peerDependencies: esbuild: '>=0.12 <1' - esbuild-wasm@0.20.1: - resolution: {integrity: sha512-6v/WJubRsjxBbQdz6izgvx7LsVFvVaGmSdwrFHmEzoVgfXL89hkKPoQHsnVI2ngOkcBUQT9kmAM1hVL1k/Av4A==} - engines: {node: '>=12'} - hasBin: true - - esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - - esbuild@0.20.1: - resolution: {integrity: sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==} - engines: {node: '>=12'} + esbuild-wasm@0.24.2: + resolution: {integrity: sha512-03/7Z1gD+ohDnScFztvI4XddTAbKVmMEzCvvkBpQdWKEXJ+73dTyeNrmdxP1Q0zpDMFjzUJwtK4rLjqwiHbzkw==} + engines: {node: '>=18'} hasBin: true esbuild@0.21.5: @@ -8074,20 +7366,11 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.24.0: - resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} - engines: {node: '>=18'} - hasBin: true - esbuild@0.24.2: resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} engines: {node: '>=18'} hasBin: true - escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -8351,6 +7634,10 @@ packages: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -8513,9 +7800,6 @@ packages: resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - fs-monkey@1.0.6: - resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -8543,10 +7827,6 @@ packages: resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} engines: {node: '>= 0.4'} - get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - get-proto@1.0.1: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} @@ -8619,9 +7899,9 @@ packages: resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} engines: {node: '>=18'} - globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + globby@14.0.2: + resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} + engines: {node: '>=18'} globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} @@ -8647,9 +7927,6 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-symbols@1.1.0: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} @@ -8670,10 +7947,6 @@ packages: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} - hosted-git-info@7.0.2: - resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} - engines: {node: ^16.14.0 || >=18.0.0} - hosted-git-info@8.0.2: resolution: {integrity: sha512-sYKnA7eGln5ov8T8gnYlkSOxFJvywzEx9BueN6xo/GKO8PGiI6uK6xx+DIGe45T3bdVjLAQDQW1aicT8z8JwQg==} engines: {node: ^18.17.0 || >=20.5.0} @@ -8688,9 +7961,6 @@ packages: html-entities@2.3.3: resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} - html-entities@2.5.2: - resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==} - html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -8698,9 +7968,6 @@ packages: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} - htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - htmlparser2@9.1.0: resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} @@ -8725,8 +7992,8 @@ packages: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} - http-proxy-middleware@2.0.6: - resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} + http-proxy-middleware@2.0.7: + resolution: {integrity: sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==} engines: {node: '>=12.0.0'} peerDependencies: '@types/express': ^4.17.13 @@ -8734,22 +8001,30 @@ packages: '@types/express': optional: true + http-proxy-middleware@3.0.3: + resolution: {integrity: sha512-usY0HG5nyDUwtqpiZdETNbmKtw3QQ1jwYFZ9wi5iHzX2BcILwQKtYDJPo7XHTsu5Z0B2Hj3W9NNnbd+AjFWjqg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + http-proxy@1.18.1: resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} - https-proxy-agent@7.0.4: - resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} - engines: {node: '>= 14'} - https-proxy-agent@7.0.5: resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} engines: {node: '>= 14'} + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} + hyperdyperid@1.2.0: + resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} + engines: {node: '>=10.18'} + iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -8771,10 +8046,6 @@ packages: resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - ignore-walk@6.0.5: - resolution: {integrity: sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - ignore-walk@7.0.0: resolution: {integrity: sha512-T4gbf83A4NH95zvhVYZc+qWocBBGlpzUXLPGurJggw/WIOwicfXJChLDP/iBZnN5WqROSu5Bm3hhle4z8a8YGQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -8792,9 +8063,6 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - immutable@4.3.7: - resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} - immutable@5.0.3: resolution: {integrity: sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==} @@ -8827,14 +8095,6 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - ini@4.1.2: - resolution: {integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - ini@4.1.3: - resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - ini@5.0.0: resolution: {integrity: sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==} engines: {node: ^18.17.0 || >=20.5.0} @@ -8842,10 +8102,6 @@ packages: injection-js@2.4.0: resolution: {integrity: sha512-6jiJt0tCAo9zjHbcwLiPL+IuNe9SQ6a9g0PEzafThW3fOQi0mrmiJGBJvDD6tmhPh8cQHIQtCOrJuBfQME4kPA==} - inquirer@9.2.15: - resolution: {integrity: sha512-vI2w4zl/mDluHt9YEQ/543VTCwPKWiHzKtm9dM2V0NdFcqEexDAjUHzO1oA60HRNaVifGXXM1tRRNluLVHa0Kg==} - engines: {node: '>=18'} - interpret@3.1.1: resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} engines: {node: '>=10.13.0'} @@ -8886,6 +8142,11 @@ packages: engines: {node: '>=8'} hasBin: true + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -8915,12 +8176,18 @@ packages: eslint: '*' typescript: '>=4.7.4' + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - is-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + is-network-error@1.1.0: + resolution: {integrity: sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==} + engines: {node: '>=16'} is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} @@ -8995,6 +8262,10 @@ packages: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} @@ -9121,10 +8392,6 @@ packages: json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - json-parse-even-better-errors@3.0.2: - resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - json-parse-even-better-errors@4.0.0: resolution: {integrity: sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -9146,9 +8413,6 @@ packages: jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} @@ -9201,10 +8465,6 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - klona@2.0.6: - resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} - engines: {node: '>= 8'} - knip@5.41.1: resolution: {integrity: sha512-yNpCCe2REU7U3VRvMASnXSEtfEC2HmOoDW9Vp9teQ9FktJYnuagvSZD3xWq8Ru7sPABkmvbC5TVWuMzIaeADNA==} engines: {node: '>=18.6.0'} @@ -9222,18 +8482,29 @@ packages: launch-editor@2.9.1: resolution: {integrity: sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==} - less-loader@11.1.0: - resolution: {integrity: sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==} - engines: {node: '>= 14.15.0'} + less-loader@12.2.0: + resolution: {integrity: sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==} + engines: {node: '>= 18.12.0'} peerDependencies: + '@rspack/core': 0.x || 1.x less: ^3.5.0 || ^4.0.0 webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true less@4.2.0: resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==} engines: {node: '>=6'} hasBin: true + less@4.2.1: + resolution: {integrity: sha512-CasaJidTIhWmjcqv0Uj5vccMI7pJgfD9lMkKtlnTHAdJdYK/7l8pM9tumLyJ0zhbD4KJLo/YvTj+xznQd5NBhg==} + engines: {node: '>=6'} + hasBin: true + levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -9281,8 +8552,8 @@ packages: lit@3.2.1: resolution: {integrity: sha512-1BBa1E/z0O9ye5fZprPtdqnc0BFzxIxTTOO/tQFmyC/hj1O3jL4TfmLBw0WEwjAokdLwpclkvGgDJwTIh0/22w==} - lmdb@3.1.5: - resolution: {integrity: sha512-46Mch5Drq+A93Ss3gtbg+Xuvf5BOgIuvhKDWoGa3HcPHI6BL2NCOkRdSx1D4VfzwrxhnsjbyIVsLRlQHu6URvw==} + lmdb@3.2.2: + resolution: {integrity: sha512-LriG93la4PbmPMwI7Hbv8W+0ncLK7549w4sbZSi4QGDjnnxnmNMgxUkaQTEMzH8TpwsfFvgEjpLX7V8B/I9e3g==} hasBin: true loader-runner@4.3.0: @@ -9293,8 +8564,8 @@ packages: resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} engines: {node: '>=8.9.0'} - loader-utils@3.2.1: - resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} + loader-utils@3.3.1: + resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==} engines: {node: '>= 12.13.0'} local-pkg@0.5.0: @@ -9371,9 +8642,6 @@ packages: magic-string@0.30.11: resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} - magic-string@0.30.12: - resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} - magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} @@ -9381,10 +8649,6 @@ packages: resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} engines: {node: '>=12'} - magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} - engines: {node: '>=12'} - make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} @@ -9397,10 +8661,6 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} - make-fetch-happen@13.0.1: - resolution: {integrity: sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==} - engines: {node: ^16.14.0 || >=18.0.0} - make-fetch-happen@14.0.3: resolution: {integrity: sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -9424,8 +8684,8 @@ packages: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - memfs@3.5.3: - resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + memfs@4.17.0: + resolution: {integrity: sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg==} engines: {node: '>= 4.0.0'} meow@12.1.1: @@ -9499,8 +8759,8 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - mini-css-extract-plugin@2.8.1: - resolution: {integrity: sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==} + mini-css-extract-plugin@2.9.2: + resolution: {integrity: sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 @@ -9537,10 +8797,6 @@ packages: resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} engines: {node: '>=16 || 14 >=14.17'} - minipass-fetch@3.0.5: - resolution: {integrity: sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - minipass-fetch@4.0.0: resolution: {integrity: sha512-2v6aXUXwLP1Epd/gc32HAMIWoczx+fZwEPRHm/VwtrJzRGwR1qGZXEYV3Zp8ZjjbwaZhMrM6uHV4KVkk+XCc2w==} engines: {node: ^18.17.0 || >=20.5.0} @@ -9549,9 +8805,6 @@ packages: resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} engines: {node: '>= 8'} - minipass-json-stream@1.0.2: - resolution: {integrity: sha512-myxeeTm57lYs8pH2nxPzmEEg8DGIgW+9mv6D4JZD2pa81I/OBjeU7PtICXV6c9eRGTA5JMDsuIPUZRCyBMYNhg==} - minipass-pipeline@1.2.4: resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} engines: {node: '>=8'} @@ -9681,29 +8934,22 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - ng-packagr@19.0.1: - resolution: {integrity: sha512-PnXa/y3ce3v4bKJNtUBS7qcNoyv5g/tSthoMe23NyMV5kjNY4+hJT7h64zK+8tnJWTelCbIpoep7tmSPsOifBA==} + ng-packagr@19.1.2: + resolution: {integrity: sha512-h8YDp6YdPwAwbl7rs0lJE7vVugobY6m+JogS0hQ7P+52RmslPT8kRCgdvGLIS1JySwPrDFQkPh2PLBaSjwcRqQ==} engines: {node: ^18.19.1 || >=20.11.1} hasBin: true peerDependencies: - '@angular/compiler-cli': ^19.0.0-next.0 - tailwindcss: ^2.0.0 || ^3.0.0 + '@angular/compiler-cli': ^19.0.0 || ^19.1.0-next.0 || ^19.2.0-next.0 + tailwindcss: ^2.0.0 || ^3.0.0 || ^4.0.0 tslib: ^2.3.0 - typescript: '>=5.5 <5.7' + typescript: '>=5.5 <5.8' peerDependenciesMeta: tailwindcss: optional: true - nice-napi@1.0.2: - resolution: {integrity: sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==} - os: ['!win32'] - no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - node-addon-api@3.2.1: - resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} - node-addon-api@6.1.0: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} @@ -9718,15 +8964,6 @@ packages: resolution: {integrity: sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==} hasBin: true - node-gyp-build@4.8.4: - resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} - hasBin: true - - node-gyp@10.3.1: - resolution: {integrity: sha512-Pp3nFHBThHzVtNY7U6JfPjvT/DTE8+o/4xKsLQtBoU+j2HLsGlhcfzflAoUreaJbNmYnX+LlLi0qjV8kpyO6xQ==} - engines: {node: ^16.14.0 || >=18.0.0} - hasBin: true - node-gyp@11.0.0: resolution: {integrity: sha512-zQS+9MTTeCMgY0F3cWPyJyRFAkVltQ1uXm+xXu/ES6KFgC6Czo1Seb9vQW2wNxSX2OrDTiqL0ojtkFxBQ0ypIw==} engines: {node: ^18.17.0 || >=20.5.0} @@ -9738,26 +8975,14 @@ packages: node-machine-id@1.1.12: resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} - node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - nopt@7.2.1: - resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - nopt@8.0.0: resolution: {integrity: sha512-1L/fTJ4UmV/lUxT2Uf006pfZKTvAgCF+chz+0OgBHO8u2Z67pE7AaAUUj7CJy0lXqHmymUvGFt6NE9R3HER0yw==} engines: {node: ^18.17.0 || >=20.5.0} hasBin: true - normalize-package-data@6.0.2: - resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} - engines: {node: ^16.14.0 || >=18.0.0} - normalize-package-data@7.0.0: resolution: {integrity: sha512-k6U0gKRIuNCTkwHGZqblCfLfBRh+w1vI6tBo+IeJwq2M8FUiOqhX7GH+GArQGScA7azd1WfyRCvxoXDO3hQDIA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -9774,18 +8999,10 @@ packages: resolution: {integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - npm-bundled@3.0.1: - resolution: {integrity: sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - npm-bundled@4.0.0: resolution: {integrity: sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==} engines: {node: ^18.17.0 || >=20.5.0} - npm-install-checks@6.3.0: - resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - npm-install-checks@7.1.1: resolution: {integrity: sha512-u6DCwbow5ynAX5BdiHQ9qvexme4U3qHW3MWe5NqH+NeBm0LbiH6zvGjNNew1fY+AZZUtVHbOPF3j7mJxbUzpXg==} engines: {node: ^18.17.0 || >=20.5.0} @@ -9794,20 +9011,12 @@ packages: resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - npm-normalize-package-bin@3.0.1: - resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - npm-normalize-package-bin@4.0.0: resolution: {integrity: sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==} engines: {node: ^18.17.0 || >=20.5.0} - npm-package-arg@11.0.1: - resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} - engines: {node: ^16.14.0 || >=18.0.0} - - npm-package-arg@12.0.0: - resolution: {integrity: sha512-ZTE0hbwSdTNL+Stx2zxSqdu2KZfNDcrtrLdIk7XGnQFYBWYDho/ORvXtn5XEePcL3tFpGjHCV3X3xrtDh7eZ+A==} + npm-package-arg@12.0.1: + resolution: {integrity: sha512-aDxjFfPV3Liw0WOBWlyZLMBqtbgbg03rmGvHDJa2Ttv7tIz+1oB5qWec4psCDFZcZi9b5XdGkPdQiJxOPzvQRQ==} engines: {node: ^18.17.0 || >=20.5.0} npm-packlist@5.1.3: @@ -9815,10 +9024,6 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} hasBin: true - npm-packlist@8.0.2: - resolution: {integrity: sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - npm-packlist@9.0.0: resolution: {integrity: sha512-8qSayfmHJQTx3nJWYbbUmflpyarbLMBc6LCAjYsiGtXxDB68HaZpb8re6zeaLGxZzDuMdhsg70jryJe+RrItVQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -9827,14 +9032,6 @@ packages: resolution: {integrity: sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==} engines: {node: ^18.17.0 || >=20.5.0} - npm-pick-manifest@9.0.0: - resolution: {integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==} - engines: {node: ^16.14.0 || >=18.0.0} - - npm-registry-fetch@16.2.1: - resolution: {integrity: sha512-8l+7jxhim55S85fjiDGJ1rZXBWGtRLi1OSb4Z3BPLObPuIaeKRlPRiYMSHU4/81ck3t71Z+UwDDl47gcpmfQQA==} - engines: {node: ^16.14.0 || >=18.0.0} - npm-registry-fetch@18.0.2: resolution: {integrity: sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -9907,6 +9104,10 @@ packages: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} + open@10.1.0: + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} + open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -9966,9 +9167,9 @@ packages: resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} engines: {node: '>=18'} - p-retry@4.6.2: - resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} - engines: {node: '>=8'} + p-retry@6.2.1: + resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==} + engines: {node: '>=16.17'} p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} @@ -9977,11 +9178,6 @@ packages: package-json-from-dist@1.0.0: resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} - pacote@17.0.6: - resolution: {integrity: sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==} - engines: {node: ^16.14.0 || >=18.0.0} - hasBin: true - pacote@20.0.0: resolution: {integrity: sha512-pRjC5UFwZCgx9kUFDVM9YEahv4guZ1nSLqwmWiLUnDbGsjs+U5w7z6Uc8HNR1a6x8qnu5y9xtGE6D1uAuYz+0A==} engines: {node: ^18.17.0 || >=20.5.0} @@ -10078,9 +9274,9 @@ packages: path-to-regexp@3.3.0: resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} @@ -10096,10 +9292,6 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - picomatch@4.0.1: - resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==} - engines: {node: '>=12'} - picomatch@4.0.2: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} @@ -10108,12 +9300,6 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - piscina@4.4.0: - resolution: {integrity: sha512-+AQduEJefrOApE4bV7KRmp3N2JnnyErlVqq4P/jmko4FPz9Z877BCccl/iB3FdrWSUkvbGV9Kan/KllJgat3Vg==} - - piscina@4.7.0: - resolution: {integrity: sha512-b8hvkpp9zS0zsfa939b/jXbe64Z2gZv0Ha7FYPNUiDIB1y2AtxcOZdfP8xN8HFjUaqQiT9gRlfjAsoL8vdJ1Iw==} - piscina@4.8.0: resolution: {integrity: sha512-EZJb+ZxDrQf3dihsUL7p42pjNyrNIFJCrRHPMgxu/svsj+P3xS3fuEWp7k2+rfsavfl1N0G29b1HGs7J0m8rZA==} @@ -10203,10 +9389,6 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.4.49: resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} @@ -10241,14 +9423,6 @@ packages: resolution: {integrity: sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==} engines: {node: '>=18'} - proc-log@3.0.0: - resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - proc-log@4.2.0: - resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - proc-log@5.0.0: resolution: {integrity: sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -10352,15 +9526,6 @@ packages: resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} engines: {node: '>=0.10.0'} - read-package-json-fast@3.0.2: - resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - read-package-json@7.0.1: - resolution: {integrity: sha512-8PcDiZ8DXUjLf687Ol4BR8Bpm2umR7vhoZOzNRt+uxD9GpBh/K+CAAALVIiYFknmvlmyg7hM7BSNUXPaCCqd0Q==} - engines: {node: ^16.14.0 || >=18.0.0} - deprecated: This package is no longer supported. Please use @npmcli/package-json instead. - readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -10443,10 +9608,6 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} @@ -10463,10 +9624,6 @@ packages: engines: {node: '>= 0.4'} hasBin: true - resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} @@ -10510,13 +9667,13 @@ packages: peerDependencies: rollup: 2.x || 3.x || 4.x - rollup@4.26.0: - resolution: {integrity: sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==} + rollup@4.29.1: + resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.29.1: - resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} + rollup@4.30.1: + resolution: {integrity: sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -10528,9 +9685,9 @@ packages: rrweb-cssom@0.7.1: resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} - run-async@3.0.0: - resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} - engines: {node: '>=0.12.0'} + run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -10555,8 +9712,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass-loader@14.1.1: - resolution: {integrity: sha512-QX8AasDg75monlybel38BZ49JP5Z+uSKfKwF2rO7S74BywaRmGQMUBw9dtkS+ekyM/QnP+NOrRYq8ABMZ9G8jw==} + sass-loader@16.0.4: + resolution: {integrity: sha512-LavLbgbBGUt3wCiYzhuLLu65+fWXaXLmq7YxivLhEqmiupCFZ5sKUAipK3do6V80YSU0jvSxNhEdT13IXNr3rg==} engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x @@ -10576,18 +9733,13 @@ packages: webpack: optional: true - sass@1.71.1: - resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==} - engines: {node: '>=14.0.0'} - hasBin: true - - sass@1.80.7: - resolution: {integrity: sha512-MVWvN0u5meytrSjsU7AWsbhoXi1sc58zADXFllfZzbsBT1GHjjar6JwBINYPRrkx/zqnQ6uqbQuHgE95O+C+eQ==} + sass@1.83.0: + resolution: {integrity: sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw==} engines: {node: '>=14.0.0'} hasBin: true - sass@1.83.0: - resolution: {integrity: sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw==} + sass@1.83.1: + resolution: {integrity: sha512-EVJbDaEs4Rr3F0glJzFSOvtg2/oy2V/YrGFPqPY24UqcLDWcI9ZY5sN+qyO3c/QCZwzgfirvhXvINiJCE/OLcA==} engines: {node: '>=14.0.0'} hasBin: true @@ -10632,11 +9784,6 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true - semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} @@ -10675,10 +9822,6 @@ packages: engines: {node: '>= 14'} hasBin: true - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - setprototypeof@1.1.0: resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} @@ -10773,10 +9916,6 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - sigstore@2.3.1: - resolution: {integrity: sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==} - engines: {node: ^16.14.0 || >=18.0.0} - sigstore@3.0.0: resolution: {integrity: sha512-PHMifhh3EN4loMcHCz6l3v/luzgT3za+9f8subGgeMNjbJjzH4Ij/YoX3Gvu+kaouJRIlVdTHHCREADYf+ZteA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -10789,9 +9928,9 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} + slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} @@ -10893,10 +10032,6 @@ packages: sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - ssri@10.0.6: - resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - ssri@12.0.0: resolution: {integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -11078,24 +10213,21 @@ packages: uglify-js: optional: true - terser@5.29.1: - resolution: {integrity: sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==} - engines: {node: '>=10'} - hasBin: true - terser@5.37.0: resolution: {integrity: sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==} engines: {node: '>=10'} hasBin: true - test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - text-extensions@2.4.0: resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} engines: {node: '>=8'} + thingies@1.21.0: + resolution: {integrity: sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==} + engines: {node: '>=10.18'} + peerDependencies: + tslib: ^2 + through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -11161,6 +10293,12 @@ packages: resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} engines: {node: '>=18'} + tree-dump@1.0.2: + resolution: {integrity: sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -11202,9 +10340,6 @@ packages: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -11213,10 +10348,6 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - tuf-js@2.2.1: - resolution: {integrity: sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==} - engines: {node: ^16.14.0 || >=18.0.0} - tuf-js@3.0.1: resolution: {integrity: sha512-+68OP1ZzSF84rTckf3FA95vJ1Zlx/uaXyiiKyPd1pA4rZNkpEvDAKmsu1xUSmbF/chCRYgZ6UZkDwC7PmzmAyA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -11306,10 +10437,6 @@ packages: undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - undici@6.11.1: - resolution: {integrity: sha512-KyhzaLJnV1qa3BSHdj4AZ2ndqI0QWPxYzaIOio0WzcEJB9gvuysprJSLtpvc2D9mhR9jPDUk7xlJlZbH2KR5iw==} - engines: {node: '>=18.0'} - unicode-canonical-property-names-ecmascript@2.0.1: resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} @@ -11326,18 +10453,14 @@ packages: resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} engines: {node: '>=4'} - unique-filename@3.0.0: - resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} unique-filename@4.0.0: resolution: {integrity: sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==} engines: {node: ^18.17.0 || >=20.5.0} - unique-slug@4.0.0: - resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - unique-slug@5.0.0: resolution: {integrity: sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==} engines: {node: ^18.17.0 || >=20.5.0} @@ -11361,12 +10484,6 @@ packages: resolution: {integrity: sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ==} engines: {node: '>=14.0.0'} - update-browserslist-db@1.0.16: - resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - update-browserslist-db@1.1.2: resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} hasBin: true @@ -11413,10 +10530,6 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - validate-npm-package-name@5.0.1: - resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - validate-npm-package-name@6.0.0: resolution: {integrity: sha512-d7KLgL1LD3U3fgnvWEY1cQXoO/q6EQ1BSz48Sa149V/5zVTAbgmZIpyI8TRi6U9/JNyeYLlTKsEMPtLC27RFUg==} engines: {node: ^18.17.0 || >=20.5.0} @@ -11469,34 +10582,6 @@ packages: vite: optional: true - vite@5.1.7: - resolution: {integrity: sha512-sgnEEFTZYMui/sTlH1/XEnVNHMujOahPLGMxn1+5sIT45Xjng1Ec1K78jRP15dSmVgg5WBin9yO81j3o9OxofA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - vite@5.4.11: resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} engines: {node: ^18.0.0 || >=20.0.0} @@ -11638,10 +10723,6 @@ packages: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} - watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} - engines: {node: '>=10.13.0'} - watchpack@2.4.2: resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} engines: {node: '>=10.13.0'} @@ -11659,27 +10740,21 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - webpack-dev-middleware@5.3.4: - resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - - webpack-dev-middleware@6.1.2: - resolution: {integrity: sha512-Wu+EHmX326YPYUpQLKmKbTyZZJIB8/n6R09pTmB03kJmnMsVPTo9COzHZFr01txwaCAuZvfBJE4ZCHRcKs5JaQ==} - engines: {node: '>= 14.15.0'} + webpack-dev-middleware@7.4.2: + resolution: {integrity: sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==} + engines: {node: '>= 18.12.0'} peerDependencies: webpack: ^5.0.0 peerDependenciesMeta: webpack: optional: true - webpack-dev-server@4.15.1: - resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} - engines: {node: '>= 12.13.0'} + webpack-dev-server@5.2.0: + resolution: {integrity: sha512-90SqqYXA2SK36KcT6o1bvwvZfJFcmoamqeJY7+boioffX9g9C0wjjJRGUrQIuh43pb0ttX7+ssavmj/WN2RHtA==} + engines: {node: '>= 18.12.0'} hasBin: true peerDependencies: - webpack: ^4.37.0 || ^5.0.0 + webpack: ^5.0.0 webpack-cli: '*' peerDependenciesMeta: webpack: @@ -11687,9 +10762,9 @@ packages: webpack-cli: optional: true - webpack-merge@5.10.0: - resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} - engines: {node: '>=10.0.0'} + webpack-merge@6.0.1: + resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} + engines: {node: '>=18.0.0'} webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} @@ -11708,8 +10783,8 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - webpack@5.90.3: - resolution: {integrity: sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==} + webpack@5.97.1: + resolution: {integrity: sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -11747,11 +10822,6 @@ packages: engines: {node: '>= 8'} hasBin: true - which@4.0.0: - resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} - engines: {node: ^16.13.0 || >=18.0.0} - hasBin: true - which@5.0.0: resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -11898,9 +10968,6 @@ packages: zod@3.23.8: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} - zone.js@0.14.10: - resolution: {integrity: sha512-YGAhaO7J5ywOXW6InXNlLmfU194F8lVgu7bRntUF3TiG8Y3nBK0x1UJJuHUP/e8IyihkjCYqhCScpSwnlaSRkQ==} - zone.js@0.15.0: resolution: {integrity: sha512-9oxn0IIjbCZkJ67L+LkhYWRyAy7axphb3VgE2MBDlOqnmHMPWGYMxJxBYFueFq/JGY2GMwS0rU+UCLunEmy5UA==} @@ -11910,254 +10977,211 @@ snapshots: '@ampproject/remapping@2.3.0': dependencies: - '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 - '@analogjs/vite-plugin-angular@1.13.0(@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@types/node@22.10.10)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(typescript@5.6.3))(@angular/build@19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(less@4.2.0)(terser@5.37.0)(typescript@5.6.3))': + '@analogjs/vite-plugin-angular@1.13.0(rgq6hujoid62bmeuzktk4sungq)': dependencies: ts-morph: 21.0.1 vfile: 6.0.3 optionalDependencies: - '@angular-devkit/build-angular': 17.3.8(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@types/node@22.10.10)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(typescript@5.6.3) - '@angular/build': 19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(less@4.2.0)(postcss@8.5.1)(terser@5.37.0)(typescript@5.6.3) + '@angular-devkit/build-angular': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(jiti@2.4.2)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + '@angular/build': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.4.49)(terser@5.37.0)(typescript@5.6.3) - '@analogjs/vitest-angular@1.13.0(@analogjs/vite-plugin-angular@1.13.0(@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@types/node@22.10.10)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(typescript@5.6.3))(@angular/build@19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(less@4.2.0)(terser@5.37.0)(typescript@5.6.3)))(vitest@2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))': + '@analogjs/vitest-angular@1.13.0(@analogjs/vite-plugin-angular@1.13.0(rgq6hujoid62bmeuzktk4sungq))(vitest@2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': dependencies: - '@analogjs/vite-plugin-angular': 1.13.0(@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@types/node@22.10.10)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(typescript@5.6.3))(@angular/build@19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(less@4.2.0)(terser@5.37.0)(typescript@5.6.3)) - vitest: 2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + '@analogjs/vite-plugin-angular': 1.13.0(rgq6hujoid62bmeuzktk4sungq) + vitest: 2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) - '@angular-devkit/architect@0.1703.11(chokidar@3.6.0)': + '@angular-devkit/architect@0.1901.5(chokidar@4.0.3)': dependencies: - '@angular-devkit/core': 17.3.11(chokidar@3.6.0) + '@angular-devkit/core': 19.1.5(chokidar@4.0.3) rxjs: 7.8.1 transitivePeerDependencies: - chokidar - '@angular-devkit/architect@0.1703.8(chokidar@3.6.0)': - dependencies: - '@angular-devkit/core': 17.3.8(chokidar@3.6.0) - rxjs: 7.8.1 - transitivePeerDependencies: - - chokidar - - '@angular-devkit/architect@0.1900.6(chokidar@4.0.3)': - dependencies: - '@angular-devkit/core': 19.0.6(chokidar@4.0.3) - rxjs: 7.8.1 - transitivePeerDependencies: - - chokidar - - '@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5))(@types/express@4.17.21)(@types/node@22.10.10)(chokidar@3.6.0)(karma@6.4.4)(typescript@5.4.5)': + '@angular-devkit/build-angular@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(jiti@2.4.2)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.1703.8(chokidar@3.6.0) - '@angular-devkit/build-webpack': 0.1703.8(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.20.1)))(webpack@5.90.3(esbuild@0.20.1)) - '@angular-devkit/core': 17.3.8(chokidar@3.6.0) - '@angular/compiler-cli': 17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5) - '@babel/core': 7.24.0 - '@babel/generator': 7.23.6 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-runtime': 7.24.0(@babel/core@7.24.0) - '@babel/preset-env': 7.24.0(@babel/core@7.24.0) - '@babel/runtime': 7.24.0 - '@discoveryjs/json-ext': 0.5.7 - '@ngtools/webpack': 17.3.8(@angular/compiler-cli@17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5))(typescript@5.4.5)(webpack@5.90.3(esbuild@0.20.1)) - '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.1.7(@types/node@22.10.10)(less@4.2.0)(sass@1.71.1)(terser@5.29.1)) + '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) + '@angular-devkit/build-webpack': 0.1901.5(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.97.1(esbuild@0.24.2)))(webpack@5.97.1(esbuild@0.24.2)) + '@angular-devkit/core': 19.1.5(chokidar@4.0.3) + '@angular/build': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.4.49)(terser@5.37.0)(typescript@5.6.3) + '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + '@babel/core': 7.26.0 + '@babel/generator': 7.26.3 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-runtime': 7.25.9(@babel/core@7.26.0) + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + '@babel/runtime': 7.26.0 + '@discoveryjs/json-ext': 0.6.3 + '@ngtools/webpack': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(typescript@5.6.3)(webpack@5.97.1(esbuild@0.24.2)) + '@vitejs/plugin-basic-ssl': 1.2.0(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) ansi-colors: 4.1.3 - autoprefixer: 10.4.18(postcss@8.4.35) - babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.90.3(esbuild@0.20.1)) - babel-plugin-istanbul: 6.1.1 + autoprefixer: 10.4.20(postcss@8.4.49) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1(esbuild@0.24.2)) browserslist: 4.24.4 - copy-webpack-plugin: 11.0.0(webpack@5.90.3(esbuild@0.20.1)) - critters: 0.0.22 - css-loader: 6.10.0(webpack@5.90.3(esbuild@0.20.1)) - esbuild-wasm: 0.20.1 - fast-glob: 3.3.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.21) - https-proxy-agent: 7.0.4 - inquirer: 9.2.15 - jsonc-parser: 3.2.1 + copy-webpack-plugin: 12.0.2(webpack@5.97.1(esbuild@0.24.2)) + css-loader: 7.1.2(webpack@5.97.1(esbuild@0.24.2)) + esbuild-wasm: 0.24.2 + fast-glob: 3.3.3 + http-proxy-middleware: 3.0.3 + istanbul-lib-instrument: 6.0.3 + jsonc-parser: 3.3.1 karma-source-map-support: 1.4.0 - less: 4.2.0 - less-loader: 11.1.0(less@4.2.0)(webpack@5.90.3(esbuild@0.20.1)) - license-webpack-plugin: 4.0.2(webpack@5.90.3(esbuild@0.20.1)) - loader-utils: 3.2.1 - magic-string: 0.30.8 - mini-css-extract-plugin: 2.8.1(webpack@5.90.3(esbuild@0.20.1)) - mrmime: 2.0.0 - open: 8.4.2 + less: 4.2.1 + less-loader: 12.2.0(less@4.2.1)(webpack@5.97.1(esbuild@0.24.2)) + license-webpack-plugin: 4.0.2(webpack@5.97.1(esbuild@0.24.2)) + loader-utils: 3.3.1 + mini-css-extract-plugin: 2.9.2(webpack@5.97.1(esbuild@0.24.2)) + open: 10.1.0 ora: 5.4.1 - parse5-html-rewriting-stream: 7.0.0 - picomatch: 4.0.1 - piscina: 4.4.0 - postcss: 8.4.35 - postcss-loader: 8.1.1(postcss@8.4.35)(typescript@5.4.5)(webpack@5.90.3(esbuild@0.20.1)) + picomatch: 4.0.2 + piscina: 4.8.0 + postcss: 8.4.49 + postcss-loader: 8.1.1(postcss@8.4.49)(typescript@5.6.3)(webpack@5.97.1(esbuild@0.24.2)) resolve-url-loader: 5.0.0 rxjs: 7.8.1 - sass: 1.71.1 - sass-loader: 14.1.1(sass@1.71.1)(webpack@5.90.3(esbuild@0.20.1)) - semver: 7.6.0 - source-map-loader: 5.0.0(webpack@5.90.3(esbuild@0.20.1)) + sass: 1.83.1 + sass-loader: 16.0.4(sass@1.83.1)(webpack@5.97.1(esbuild@0.24.2)) + semver: 7.6.3 + source-map-loader: 5.0.0(webpack@5.97.1(esbuild@0.24.2)) source-map-support: 0.5.21 - terser: 5.29.1 + terser: 5.37.0 tree-kill: 1.2.2 - tslib: 2.6.2 - typescript: 5.4.5 - undici: 6.11.1 - vite: 5.1.7(@types/node@22.10.10)(less@4.2.0)(sass@1.71.1)(terser@5.29.1) - watchpack: 2.4.0 - webpack: 5.90.3(esbuild@0.24.2) - webpack-dev-middleware: 6.1.2(webpack@5.90.3(esbuild@0.20.1)) - webpack-dev-server: 4.15.1(webpack@5.90.3(esbuild@0.20.1)) - webpack-merge: 5.10.0 - webpack-subresource-integrity: 5.1.0(webpack@5.90.3(esbuild@0.20.1)) + tslib: 2.8.1 + typescript: 5.6.3 + webpack: 5.97.1(esbuild@0.24.2) + webpack-dev-middleware: 7.4.2(webpack@5.97.1(esbuild@0.24.2)) + webpack-dev-server: 5.2.0(webpack@5.97.1(esbuild@0.24.2)) + webpack-merge: 6.0.1 + webpack-subresource-integrity: 5.1.0(webpack@5.97.1(esbuild@0.24.2)) optionalDependencies: - esbuild: 0.20.1 - karma: 6.4.4 + esbuild: 0.24.2 + ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3) transitivePeerDependencies: + - '@angular/compiler' - '@rspack/core' - '@swc/core' - - '@types/express' - '@types/node' - bufferutil - chokidar - debug - html-webpack-plugin + - jiti - lightningcss - node-sass - sass-embedded - stylus - sugarss - supports-color + - tsx - uglify-js - utf-8-validate + - vite - webpack-cli + - yaml + optional: true - '@angular-devkit/build-angular@17.3.8(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@types/node@22.10.10)(ng-packagr@19.0.1(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(typescript@5.6.3)': + '@angular-devkit/build-angular@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.1703.8(chokidar@3.6.0) - '@angular-devkit/build-webpack': 0.1703.8(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.20.1)))(webpack@5.90.3(esbuild@0.20.1)) - '@angular-devkit/core': 17.3.8(chokidar@3.6.0) - '@angular/compiler-cli': 19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) - '@babel/core': 7.24.0 - '@babel/generator': 7.23.6 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-runtime': 7.24.0(@babel/core@7.24.0) - '@babel/preset-env': 7.24.0(@babel/core@7.24.0) - '@babel/runtime': 7.24.0 - '@discoveryjs/json-ext': 0.5.7 - '@ngtools/webpack': 17.3.8(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(typescript@5.6.3)(webpack@5.90.3(esbuild@0.20.1)) - '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.1.7(@types/node@22.10.10)(less@4.2.0)(sass@1.71.1)(terser@5.29.1)) + '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) + '@angular-devkit/build-webpack': 0.1901.5(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.97.1(esbuild@0.24.2)))(webpack@5.97.1(esbuild@0.24.2)) + '@angular-devkit/core': 19.1.5(chokidar@4.0.3) + '@angular/build': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(postcss@8.4.49)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.6.1) + '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3) + '@babel/core': 7.26.0 + '@babel/generator': 7.26.3 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-runtime': 7.25.9(@babel/core@7.26.0) + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + '@babel/runtime': 7.26.0 + '@discoveryjs/json-ext': 0.6.3 + '@ngtools/webpack': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(typescript@5.7.3)(webpack@5.97.1(esbuild@0.24.2)) + '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) ansi-colors: 4.1.3 - autoprefixer: 10.4.18(postcss@8.4.35) - babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.90.3(esbuild@0.20.1)) - babel-plugin-istanbul: 6.1.1 + autoprefixer: 10.4.20(postcss@8.4.49) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1(esbuild@0.24.2)) browserslist: 4.24.4 - copy-webpack-plugin: 11.0.0(webpack@5.90.3(esbuild@0.20.1)) - critters: 0.0.22 - css-loader: 6.10.0(webpack@5.90.3(esbuild@0.20.1)) - esbuild-wasm: 0.20.1 - fast-glob: 3.3.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.21) - https-proxy-agent: 7.0.4 - inquirer: 9.2.15 - jsonc-parser: 3.2.1 + copy-webpack-plugin: 12.0.2(webpack@5.97.1(esbuild@0.24.2)) + css-loader: 7.1.2(webpack@5.97.1(esbuild@0.24.2)) + esbuild-wasm: 0.24.2 + fast-glob: 3.3.3 + http-proxy-middleware: 3.0.3 + istanbul-lib-instrument: 6.0.3 + jsonc-parser: 3.3.1 karma-source-map-support: 1.4.0 - less: 4.2.0 - less-loader: 11.1.0(less@4.2.0)(webpack@5.90.3(esbuild@0.20.1)) - license-webpack-plugin: 4.0.2(webpack@5.90.3(esbuild@0.20.1)) - loader-utils: 3.2.1 - magic-string: 0.30.8 - mini-css-extract-plugin: 2.8.1(webpack@5.90.3(esbuild@0.20.1)) - mrmime: 2.0.0 - open: 8.4.2 + less: 4.2.1 + less-loader: 12.2.0(less@4.2.1)(webpack@5.97.1(esbuild@0.24.2)) + license-webpack-plugin: 4.0.2(webpack@5.97.1(esbuild@0.24.2)) + loader-utils: 3.3.1 + mini-css-extract-plugin: 2.9.2(webpack@5.97.1(esbuild@0.24.2)) + open: 10.1.0 ora: 5.4.1 - parse5-html-rewriting-stream: 7.0.0 - picomatch: 4.0.1 - piscina: 4.4.0 - postcss: 8.4.35 - postcss-loader: 8.1.1(postcss@8.4.35)(typescript@5.6.3)(webpack@5.90.3(esbuild@0.20.1)) + picomatch: 4.0.2 + piscina: 4.8.0 + postcss: 8.4.49 + postcss-loader: 8.1.1(postcss@8.4.49)(typescript@5.7.3)(webpack@5.97.1(esbuild@0.24.2)) resolve-url-loader: 5.0.0 rxjs: 7.8.1 - sass: 1.71.1 - sass-loader: 14.1.1(sass@1.71.1)(webpack@5.90.3(esbuild@0.20.1)) - semver: 7.6.0 - source-map-loader: 5.0.0(webpack@5.90.3(esbuild@0.20.1)) + sass: 1.83.1 + sass-loader: 16.0.4(sass@1.83.1)(webpack@5.97.1(esbuild@0.24.2)) + semver: 7.6.3 + source-map-loader: 5.0.0(webpack@5.97.1(esbuild@0.24.2)) source-map-support: 0.5.21 - terser: 5.29.1 + terser: 5.37.0 tree-kill: 1.2.2 - tslib: 2.6.2 - typescript: 5.6.3 - undici: 6.11.1 - vite: 5.1.7(@types/node@22.10.10)(less@4.2.0)(sass@1.71.1)(terser@5.29.1) - watchpack: 2.4.0 - webpack: 5.90.3(esbuild@0.24.2) - webpack-dev-middleware: 6.1.2(webpack@5.90.3(esbuild@0.20.1)) - webpack-dev-server: 4.15.1(webpack@5.90.3(esbuild@0.20.1)) - webpack-merge: 5.10.0 - webpack-subresource-integrity: 5.1.0(webpack@5.90.3(esbuild@0.20.1)) + tslib: 2.8.1 + typescript: 5.7.3 + webpack: 5.97.1(esbuild@0.24.2) + webpack-dev-middleware: 7.4.2(webpack@5.97.1(esbuild@0.24.2)) + webpack-dev-server: 5.2.0(webpack@5.97.1(esbuild@0.24.2)) + webpack-merge: 6.0.1 + webpack-subresource-integrity: 5.1.0(webpack@5.97.1(esbuild@0.24.2)) optionalDependencies: - esbuild: 0.20.1 - ng-packagr: 19.0.1(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3) + esbuild: 0.24.2 + karma: 6.4.4 + ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3) transitivePeerDependencies: + - '@angular/compiler' - '@rspack/core' - '@swc/core' - - '@types/express' - '@types/node' - bufferutil - chokidar - debug - html-webpack-plugin + - jiti - lightningcss - node-sass - sass-embedded - stylus - sugarss - supports-color + - tsx - uglify-js - utf-8-validate + - vite - webpack-cli - optional: true + - yaml - '@angular-devkit/build-webpack@0.1703.8(chokidar@3.6.0)(webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.20.1)))(webpack@5.90.3(esbuild@0.20.1))': + '@angular-devkit/build-webpack@0.1901.5(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.97.1(esbuild@0.24.2)))(webpack@5.97.1(esbuild@0.24.2))': dependencies: - '@angular-devkit/architect': 0.1703.8(chokidar@3.6.0) + '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) rxjs: 7.8.1 - webpack: 5.90.3(esbuild@0.24.2) - webpack-dev-server: 4.15.1(webpack@5.90.3(esbuild@0.20.1)) + webpack: 5.97.1(esbuild@0.24.2) + webpack-dev-server: 5.2.0(webpack@5.97.1(esbuild@0.24.2)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@17.3.11(chokidar@3.6.0)': - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - jsonc-parser: 3.2.1 - picomatch: 4.0.1 - rxjs: 7.8.1 - source-map: 0.7.4 - optionalDependencies: - chokidar: 3.6.0 - - '@angular-devkit/core@17.3.8(chokidar@3.6.0)': - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - jsonc-parser: 3.2.1 - picomatch: 4.0.1 - rxjs: 7.8.1 - source-map: 0.7.4 - optionalDependencies: - chokidar: 3.6.0 - - '@angular-devkit/core@19.0.6(chokidar@4.0.3)': + '@angular-devkit/core@19.1.5(chokidar@4.0.3)': dependencies: ajv: 8.17.1 ajv-formats: 3.0.1(ajv@8.17.1) @@ -12168,130 +11192,194 @@ snapshots: optionalDependencies: chokidar: 4.0.3 - '@angular-devkit/schematics@17.3.11(chokidar@3.6.0)': - dependencies: - '@angular-devkit/core': 17.3.11(chokidar@3.6.0) - jsonc-parser: 3.2.1 - magic-string: 0.30.8 - ora: 5.4.1 - rxjs: 7.8.1 - transitivePeerDependencies: - - chokidar - - '@angular-devkit/schematics@19.0.6(chokidar@4.0.3)': + '@angular-devkit/schematics@19.1.5(chokidar@4.0.3)': dependencies: - '@angular-devkit/core': 19.0.6(chokidar@4.0.3) + '@angular-devkit/core': 19.1.5(chokidar@4.0.3) jsonc-parser: 3.3.1 - magic-string: 0.30.12 + magic-string: 0.30.17 ora: 5.4.1 rxjs: 7.8.1 transitivePeerDependencies: - chokidar - '@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))': - dependencies: - '@angular/core': 17.3.12(rxjs@7.8.1)(zone.js@0.14.10) - tslib: 2.8.1 - - '@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))': + '@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))': dependencies: - '@angular/core': 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) + '@angular/core': 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) tslib: 2.8.1 - '@angular/build@19.0.6(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(less@4.2.0)(postcss@8.5.1)(terser@5.37.0)(typescript@5.6.3)': + '@angular/build@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.1900.6(chokidar@4.0.3) - '@angular/compiler': 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) - '@angular/compiler-cli': 19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) + '@angular-devkit/core': 19.1.5(chokidar@4.0.3) + '@angular/compiler': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-split-export-declaration': 7.24.7 '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) - '@inquirer/confirm': 5.0.2(@types/node@22.10.10) - '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.80.7)(terser@5.37.0)) - beasties: 0.1.0 - browserslist: 4.23.1 - esbuild: 0.24.0 - fast-glob: 3.3.2 - https-proxy-agent: 7.0.5 + '@inquirer/confirm': 5.1.1(@types/node@22.10.10) + '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + beasties: 0.2.0 + browserslist: 4.24.4 + esbuild: 0.24.2 + fast-glob: 3.3.3 + https-proxy-agent: 7.0.6 istanbul-lib-instrument: 6.0.3 listr2: 8.2.5 - magic-string: 0.30.12 + magic-string: 0.30.17 mrmime: 2.0.0 parse5-html-rewriting-stream: 7.0.0 picomatch: 4.0.2 - piscina: 4.7.0 - rollup: 4.26.0 - sass: 1.80.7 + piscina: 4.8.0 + rollup: 4.30.1 + sass: 1.83.1 semver: 7.6.3 typescript: 5.6.3 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.80.7)(terser@5.37.0) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) watchpack: 2.4.2 optionalDependencies: - less: 4.2.0 - lmdb: 3.1.5 + less: 4.2.1 + lmdb: 3.2.2 + ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3) postcss: 8.5.1 transitivePeerDependencies: - '@types/node' - chokidar + - jiti - lightningcss - sass-embedded - stylus - sugarss - supports-color - terser + - tsx + - yaml - '@angular/cdk@17.3.10(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1)': + '@angular/build@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.4.49)(terser@5.37.0)(typescript@5.6.3)': dependencies: - '@angular/common': 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1) - '@angular/core': 17.3.12(rxjs@7.8.1)(zone.js@0.14.10) - rxjs: 7.8.1 - tslib: 2.8.1 + '@ampproject/remapping': 2.3.0 + '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) + '@angular-devkit/core': 19.1.5(chokidar@4.0.3) + '@angular/compiler': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@inquirer/confirm': 5.1.1(@types/node@22.10.10) + '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + beasties: 0.2.0 + browserslist: 4.24.4 + esbuild: 0.24.2 + fast-glob: 3.3.3 + https-proxy-agent: 7.0.6 + istanbul-lib-instrument: 6.0.3 + listr2: 8.2.5 + magic-string: 0.30.17 + mrmime: 2.0.0 + parse5-html-rewriting-stream: 7.0.0 + picomatch: 4.0.2 + piscina: 4.8.0 + rollup: 4.30.1 + sass: 1.83.1 + semver: 7.6.3 + typescript: 5.6.3 + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + watchpack: 2.4.2 optionalDependencies: - parse5: 7.1.2 + less: 4.2.1 + lmdb: 3.2.2 + ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3) + postcss: 8.4.49 + transitivePeerDependencies: + - '@types/node' + - chokidar + - jiti + - lightningcss + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + optional: true - '@angular/cli@17.3.11(chokidar@3.6.0)': + '@angular/build@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(postcss@8.4.49)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.6.1)': dependencies: - '@angular-devkit/architect': 0.1703.11(chokidar@3.6.0) - '@angular-devkit/core': 17.3.11(chokidar@3.6.0) - '@angular-devkit/schematics': 17.3.11(chokidar@3.6.0) - '@schematics/angular': 17.3.11(chokidar@3.6.0) - '@yarnpkg/lockfile': 1.1.0 - ansi-colors: 4.1.3 - ini: 4.1.2 - inquirer: 9.2.15 - jsonc-parser: 3.2.1 - npm-package-arg: 11.0.1 - npm-pick-manifest: 9.0.0 - open: 8.4.2 - ora: 5.4.1 - pacote: 17.0.6 - resolve: 1.22.8 - semver: 7.6.0 - symbol-observable: 4.0.0 - yargs: 17.7.2 + '@ampproject/remapping': 2.3.0 + '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) + '@angular-devkit/core': 19.1.5(chokidar@4.0.3) + '@angular/compiler': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3) + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@inquirer/confirm': 5.1.1(@types/node@22.10.10) + '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + beasties: 0.2.0 + browserslist: 4.24.4 + esbuild: 0.24.2 + fast-glob: 3.3.3 + https-proxy-agent: 7.0.6 + istanbul-lib-instrument: 6.0.3 + listr2: 8.2.5 + magic-string: 0.30.17 + mrmime: 2.0.0 + parse5-html-rewriting-stream: 7.0.0 + picomatch: 4.0.2 + piscina: 4.8.0 + rollup: 4.30.1 + sass: 1.83.1 + semver: 7.6.3 + typescript: 5.7.3 + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + watchpack: 2.4.2 + optionalDependencies: + less: 4.2.1 + lmdb: 3.2.2 + ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3) + postcss: 8.4.49 transitivePeerDependencies: - - bluebird + - '@types/node' - chokidar + - jiti + - lightningcss + - sass-embedded + - stylus + - sugarss - supports-color + - terser + - tsx + - yaml - '@angular/cli@19.0.6(@types/node@22.10.10)(chokidar@4.0.3)': + '@angular/cdk@17.3.10(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1)': dependencies: - '@angular-devkit/architect': 0.1900.6(chokidar@4.0.3) - '@angular-devkit/core': 19.0.6(chokidar@4.0.3) - '@angular-devkit/schematics': 19.0.6(chokidar@4.0.3) - '@inquirer/prompts': 7.1.0(@types/node@22.10.10) - '@listr2/prompt-adapter-inquirer': 2.0.18(@inquirer/prompts@7.1.0(@types/node@22.10.10)) - '@schematics/angular': 19.0.6(chokidar@4.0.3) + '@angular/common': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + '@angular/core': 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) + rxjs: 7.8.1 + tslib: 2.8.1 + optionalDependencies: + parse5: 7.1.2 + + '@angular/cli@19.1.5(@types/node@22.10.10)(chokidar@4.0.3)': + dependencies: + '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) + '@angular-devkit/core': 19.1.5(chokidar@4.0.3) + '@angular-devkit/schematics': 19.1.5(chokidar@4.0.3) + '@inquirer/prompts': 7.2.1(@types/node@22.10.10) + '@listr2/prompt-adapter-inquirer': 2.0.18(@inquirer/prompts@7.2.1(@types/node@22.10.10)) + '@schematics/angular': 19.1.5(chokidar@4.0.3) '@yarnpkg/lockfile': 1.1.0 ini: 5.0.0 jsonc-parser: 3.3.1 listr2: 8.2.5 - npm-package-arg: 12.0.0 + npm-package-arg: 12.0.1 npm-pick-manifest: 10.0.0 pacote: 20.0.0 - resolve: 1.22.8 + resolve: 1.22.10 semver: 7.6.3 symbol-observable: 4.0.0 yargs: 17.7.2 @@ -12301,36 +11389,30 @@ snapshots: - chokidar - supports-color - '@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1)': + '@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1)': dependencies: - '@angular/core': 17.3.12(rxjs@7.8.1)(zone.js@0.14.10) + '@angular/core': 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) rxjs: 7.8.1 tslib: 2.8.1 - '@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1)': + '@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3)': dependencies: - '@angular/core': 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) - rxjs: 7.8.1 - tslib: 2.8.1 - - '@angular/compiler-cli@17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5)': - dependencies: - '@angular/compiler': 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) - '@babel/core': 7.23.9 + '@angular/compiler': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) + '@babel/core': 7.26.0 '@jridgewell/sourcemap-codec': 1.5.0 - chokidar: 3.6.0 + chokidar: 4.0.3 convert-source-map: 1.9.0 reflect-metadata: 0.2.2 semver: 7.6.3 tslib: 2.8.1 - typescript: 5.4.5 + typescript: 5.6.3 yargs: 17.7.2 transitivePeerDependencies: - supports-color - '@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3)': + '@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3)': dependencies: - '@angular/compiler': 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/compiler': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) '@babel/core': 7.26.0 '@jridgewell/sourcemap-codec': 1.5.0 chokidar: 4.0.3 @@ -12338,96 +11420,52 @@ snapshots: reflect-metadata: 0.2.2 semver: 7.6.3 tslib: 2.8.1 - typescript: 5.6.3 + typescript: 5.7.3 yargs: 17.7.2 transitivePeerDependencies: - supports-color - '@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))': + '@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))': dependencies: tslib: 2.8.1 optionalDependencies: - '@angular/core': 17.3.12(rxjs@7.8.1)(zone.js@0.14.10) - - '@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))': - dependencies: - tslib: 2.8.1 - optionalDependencies: - '@angular/core': 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) - - '@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)': - dependencies: - rxjs: 7.8.1 - tslib: 2.8.1 - zone.js: 0.14.10 + '@angular/core': 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) - '@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)': + '@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)': dependencies: rxjs: 7.8.1 tslib: 2.8.1 zone.js: 0.15.0 - '@angular/forms@17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(rxjs@7.8.1)': - dependencies: - '@angular/common': 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1) - '@angular/core': 17.3.12(rxjs@7.8.1)(zone.js@0.14.10) - '@angular/platform-browser': 17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) - rxjs: 7.8.1 - tslib: 2.8.1 - - '@angular/forms@19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1)': + '@angular/forms@19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1)': dependencies: - '@angular/common': 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) - '@angular/core': 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) - '@angular/platform-browser': 19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/common': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + '@angular/core': 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) + '@angular/platform-browser': 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) rxjs: 7.8.1 tslib: 2.8.1 - '@angular/platform-browser-dynamic@17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))': + '@angular/platform-browser-dynamic@19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))': dependencies: - '@angular/common': 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1) - '@angular/compiler': 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) - '@angular/core': 17.3.12(rxjs@7.8.1)(zone.js@0.14.10) - '@angular/platform-browser': 17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) + '@angular/common': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + '@angular/compiler': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/core': 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) + '@angular/platform-browser': 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) tslib: 2.8.1 - '@angular/platform-browser-dynamic@19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))': + '@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))': dependencies: - '@angular/common': 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) - '@angular/compiler': 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) - '@angular/core': 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) - '@angular/platform-browser': 19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) - tslib: 2.8.1 - - '@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))': - dependencies: - '@angular/common': 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1) - '@angular/core': 17.3.12(rxjs@7.8.1)(zone.js@0.14.10) - tslib: 2.8.1 - optionalDependencies: - '@angular/animations': 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) - - '@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))': - dependencies: - '@angular/common': 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) - '@angular/core': 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) + '@angular/common': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + '@angular/core': 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) tslib: 2.8.1 optionalDependencies: - '@angular/animations': 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/animations': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) - '@angular/router@17.3.12(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(@angular/platform-browser@17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(rxjs@7.8.1)': + '@angular/router@19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1)': dependencies: - '@angular/common': 17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1) - '@angular/core': 17.3.12(rxjs@7.8.1)(zone.js@0.14.10) - '@angular/platform-browser': 17.3.12(@angular/animations@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(@angular/common@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)) - rxjs: 7.8.1 - tslib: 2.8.1 - - '@angular/router@19.0.5(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1)': - dependencies: - '@angular/common': 19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) - '@angular/core': 19.0.5(rxjs@7.8.1)(zone.js@0.15.0) - '@angular/platform-browser': 19.0.5(@angular/animations@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)) + '@angular/common': 19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1) + '@angular/core': 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) + '@angular/platform-browser': 19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)) rxjs: 7.8.1 tslib: 2.8.1 @@ -12444,50 +11482,8 @@ snapshots: '@babel/compat-data@7.24.7': {} - '@babel/compat-data@7.26.3': {} - '@babel/compat-data@7.26.5': {} - '@babel/core@7.23.9': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.5 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.23.9) - '@babel/helpers': 7.26.7 - '@babel/parser': 7.26.7 - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.7 - '@babel/types': 7.26.7 - convert-source-map: 2.0.0 - debug: 4.4.0 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/core@7.24.0': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.5 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.24.0) - '@babel/helpers': 7.26.7 - '@babel/parser': 7.26.7 - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.7 - '@babel/types': 7.26.7 - convert-source-map: 2.0.0 - debug: 4.4.0 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/core@7.24.7': dependencies: '@ampproject/remapping': 2.3.0 @@ -12512,29 +11508,22 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/helper-compilation-targets': 7.25.9 + '@babel/generator': 7.26.5 + '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.3 + '@babel/helpers': 7.26.7 + '@babel/parser': 7.26.7 '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.26.7 + '@babel/types': 7.26.7 convert-source-map: 2.0.0 - debug: 4.3.6 + debug: 4.4.0 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.23.6': - dependencies: - '@babel/types': 7.26.7 - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - '@babel/generator@7.24.7': dependencies: '@babel/types': 7.26.3 @@ -12544,9 +11533,9 @@ snapshots: '@babel/generator@7.26.3': dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - '@jridgewell/gen-mapping': 0.3.5 + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 + '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 @@ -12558,13 +11547,9 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 - '@babel/helper-annotate-as-pure@7.22.5': - dependencies: - '@babel/types': 7.26.7 - '@babel/helper-annotate-as-pure@7.25.9': dependencies: - '@babel/types': 7.26.3 + '@babel/types': 7.26.7 '@babel/helper-compilation-targets@7.24.7': dependencies: @@ -12574,14 +11559,6 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-compilation-targets@7.25.9': - dependencies: - '@babel/compat-data': 7.26.3 - '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.4 - lru-cache: 5.1.1 - semver: 6.3.1 - '@babel/helper-compilation-targets@7.26.5': dependencies: '@babel/compat-data': 7.26.5 @@ -12590,19 +11567,6 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.24.0) - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.4 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -12616,27 +11580,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.24.0)': + '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 regexpu-core: 6.2.0 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.24.0)': + '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-plugin-utils': 7.26.5 - debug: 4.4.0 - lodash.debounce: 4.0.8 - resolve: 1.22.10 - transitivePeerDependencies: - - supports-color - - '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 debug: 4.4.0 @@ -12694,30 +11647,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.26.0(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.26.0(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color @@ -12731,24 +11666,15 @@ snapshots: '@babel/helper-plugin-utils@7.26.5': {} - '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.24.0)': + '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-wrap-function': 7.25.9 '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.25.9(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.26.7 - transitivePeerDependencies: - - supports-color - '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -12758,9 +11684,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.26.5(@babel/core@7.24.0)': + '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-member-expression-to-functions': 7.25.9 '@babel/helper-optimise-call-expression': 7.25.9 '@babel/traverse': 7.26.7 @@ -12781,13 +11707,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-split-export-declaration@7.22.6': - dependencies: - '@babel/types': 7.26.7 - '@babel/helper-split-export-declaration@7.24.7': dependencies: - '@babel/types': 7.26.3 + '@babel/types': 7.26.7 '@babel/helper-string-parser@7.25.9': {} @@ -12810,11 +11732,6 @@ snapshots: '@babel/template': 7.24.7 '@babel/types': 7.26.3 - '@babel/helpers@7.26.0': - dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.3 - '@babel/helpers@7.26.7': dependencies: '@babel/template': 7.25.9 @@ -12835,80 +11752,53 @@ snapshots: dependencies: '@babel/types': 7.26.7 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.24.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.0)': + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.0)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.0)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.0)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 + '@babel/traverse': 7.26.7 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.0)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.26.0 - '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.24.0)': + '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7)': @@ -12926,301 +11816,266 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.0)': - dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.0)': + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.24.0) + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.24.0)': + '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-environment-visitor': 7.24.7 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.24.0)': + '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.24.0) + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-block-scoped-functions@7.26.5(@babel/core@7.24.0)': + '@babel/plugin-transform-block-scoped-functions@7.26.5(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.24.0) + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.24.0)': + '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.24.0) + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.0) '@babel/traverse': 7.26.7 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 '@babel/template': 7.25.9 - '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.24.0) + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.24.0)': + '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-literals@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.24.0) + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.24.0)': + '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.24.0) + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.24.0) + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-identifier': 7.25.9 '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.24.0) + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.24.0) + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.24.0)': + '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.24.0) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.0) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.24.0) + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.24.0) + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-react-jsx-development@7.25.9(@babel/core@7.26.0)': @@ -13251,55 +12106,61 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 regenerator-transform: 0.15.2 - '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-runtime@7.24.0(@babel/core@7.24.0)': + '@babel/plugin-transform-runtime@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.26.5 - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.24.0) - babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.24.0) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.24.0) + babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) + babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-spread@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-typeof-symbol@7.26.7(@babel/core@7.24.0)': + '@babel/plugin-transform-typeof-symbol@7.26.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-typescript@7.26.3(@babel/core@7.26.0)': @@ -13313,123 +12174,112 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.24.0) + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.24.0) + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.24.0)': + '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.24.0) + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.26.5 - '@babel/preset-env@7.24.0(@babel/core@7.24.0)': + '@babel/preset-env@7.26.0(@babel/core@7.26.0)': dependencies: '@babel/compat-data': 7.26.5 - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.26.5 '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.0) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.24.0) - '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.24.0) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.0) - '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-block-scoped-functions': 7.26.5(@babel/core@7.24.0) - '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.24.0) - '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.24.0) - '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.24.0) - '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-typeof-symbol': 7.26.7(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.24.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.0) - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.24.0) - babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.24.0) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.24.0) + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) + '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoped-functions': 7.26.5(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.0) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-typeof-symbol': 7.26.7(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) + babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) + babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) core-js-compat: 3.40.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.0)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.26.5 '@babel/types': 7.26.7 esutils: 2.0.3 - '@babel/runtime@7.24.0': + '@babel/runtime@7.26.0': dependencies: regenerator-runtime: 0.14.1 @@ -13494,15 +12344,15 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@builder.io/qwik@1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))': + '@builder.io/qwik@1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': dependencies: csstype: 3.1.3 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) - '@builder.io/qwik@1.12.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@builder.io/qwik@1.12.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: csstype: 3.1.3 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) '@colors/colors@1.5.0': {} @@ -13517,7 +12367,7 @@ snapshots: '@types/conventional-commits-parser': 5.0.0 chalk: 5.3.0 - '@discoveryjs/json-ext@0.5.7': {} + '@discoveryjs/json-ext@0.6.3': {} '@dnd-kit/accessibility@3.1.1(react@19.0.0)': dependencies: @@ -13564,429 +12414,219 @@ snapshots: dependencies: tslib: 2.8.1 - '@esbuild/aix-ppc64@0.19.12': - optional: true - - '@esbuild/aix-ppc64@0.20.1': - optional: true - '@esbuild/aix-ppc64@0.21.5': optional: true '@esbuild/aix-ppc64@0.23.1': optional: true - '@esbuild/aix-ppc64@0.24.0': - optional: true - '@esbuild/aix-ppc64@0.24.2': optional: true - '@esbuild/android-arm64@0.19.12': - optional: true - - '@esbuild/android-arm64@0.20.1': - optional: true - '@esbuild/android-arm64@0.21.5': optional: true '@esbuild/android-arm64@0.23.1': optional: true - '@esbuild/android-arm64@0.24.0': - optional: true - '@esbuild/android-arm64@0.24.2': optional: true - '@esbuild/android-arm@0.19.12': - optional: true - - '@esbuild/android-arm@0.20.1': - optional: true - '@esbuild/android-arm@0.21.5': optional: true '@esbuild/android-arm@0.23.1': optional: true - '@esbuild/android-arm@0.24.0': - optional: true - '@esbuild/android-arm@0.24.2': optional: true - '@esbuild/android-x64@0.19.12': - optional: true - - '@esbuild/android-x64@0.20.1': - optional: true - '@esbuild/android-x64@0.21.5': optional: true '@esbuild/android-x64@0.23.1': optional: true - '@esbuild/android-x64@0.24.0': - optional: true - '@esbuild/android-x64@0.24.2': optional: true - '@esbuild/darwin-arm64@0.19.12': - optional: true - - '@esbuild/darwin-arm64@0.20.1': - optional: true - '@esbuild/darwin-arm64@0.21.5': optional: true '@esbuild/darwin-arm64@0.23.1': optional: true - '@esbuild/darwin-arm64@0.24.0': - optional: true - '@esbuild/darwin-arm64@0.24.2': optional: true - '@esbuild/darwin-x64@0.19.12': - optional: true - - '@esbuild/darwin-x64@0.20.1': - optional: true - '@esbuild/darwin-x64@0.21.5': optional: true '@esbuild/darwin-x64@0.23.1': optional: true - '@esbuild/darwin-x64@0.24.0': - optional: true - '@esbuild/darwin-x64@0.24.2': optional: true - '@esbuild/freebsd-arm64@0.19.12': - optional: true - - '@esbuild/freebsd-arm64@0.20.1': - optional: true - '@esbuild/freebsd-arm64@0.21.5': optional: true '@esbuild/freebsd-arm64@0.23.1': optional: true - '@esbuild/freebsd-arm64@0.24.0': - optional: true - '@esbuild/freebsd-arm64@0.24.2': optional: true - '@esbuild/freebsd-x64@0.19.12': - optional: true - - '@esbuild/freebsd-x64@0.20.1': - optional: true - '@esbuild/freebsd-x64@0.21.5': optional: true '@esbuild/freebsd-x64@0.23.1': optional: true - '@esbuild/freebsd-x64@0.24.0': - optional: true - '@esbuild/freebsd-x64@0.24.2': optional: true - '@esbuild/linux-arm64@0.19.12': - optional: true - - '@esbuild/linux-arm64@0.20.1': - optional: true - '@esbuild/linux-arm64@0.21.5': optional: true '@esbuild/linux-arm64@0.23.1': optional: true - '@esbuild/linux-arm64@0.24.0': - optional: true - '@esbuild/linux-arm64@0.24.2': optional: true - '@esbuild/linux-arm@0.19.12': - optional: true - - '@esbuild/linux-arm@0.20.1': - optional: true - '@esbuild/linux-arm@0.21.5': optional: true '@esbuild/linux-arm@0.23.1': optional: true - '@esbuild/linux-arm@0.24.0': - optional: true - '@esbuild/linux-arm@0.24.2': optional: true - '@esbuild/linux-ia32@0.19.12': - optional: true - - '@esbuild/linux-ia32@0.20.1': - optional: true - '@esbuild/linux-ia32@0.21.5': optional: true '@esbuild/linux-ia32@0.23.1': optional: true - '@esbuild/linux-ia32@0.24.0': - optional: true - '@esbuild/linux-ia32@0.24.2': optional: true - '@esbuild/linux-loong64@0.19.12': - optional: true - - '@esbuild/linux-loong64@0.20.1': - optional: true - '@esbuild/linux-loong64@0.21.5': optional: true '@esbuild/linux-loong64@0.23.1': optional: true - '@esbuild/linux-loong64@0.24.0': - optional: true - '@esbuild/linux-loong64@0.24.2': optional: true - '@esbuild/linux-mips64el@0.19.12': - optional: true - - '@esbuild/linux-mips64el@0.20.1': - optional: true - '@esbuild/linux-mips64el@0.21.5': optional: true '@esbuild/linux-mips64el@0.23.1': optional: true - '@esbuild/linux-mips64el@0.24.0': - optional: true - '@esbuild/linux-mips64el@0.24.2': optional: true - '@esbuild/linux-ppc64@0.19.12': - optional: true - - '@esbuild/linux-ppc64@0.20.1': - optional: true - '@esbuild/linux-ppc64@0.21.5': optional: true '@esbuild/linux-ppc64@0.23.1': optional: true - '@esbuild/linux-ppc64@0.24.0': - optional: true - '@esbuild/linux-ppc64@0.24.2': optional: true - '@esbuild/linux-riscv64@0.19.12': - optional: true - - '@esbuild/linux-riscv64@0.20.1': - optional: true - '@esbuild/linux-riscv64@0.21.5': optional: true '@esbuild/linux-riscv64@0.23.1': optional: true - '@esbuild/linux-riscv64@0.24.0': - optional: true - '@esbuild/linux-riscv64@0.24.2': optional: true - '@esbuild/linux-s390x@0.19.12': - optional: true - - '@esbuild/linux-s390x@0.20.1': - optional: true - '@esbuild/linux-s390x@0.21.5': optional: true '@esbuild/linux-s390x@0.23.1': optional: true - '@esbuild/linux-s390x@0.24.0': - optional: true - '@esbuild/linux-s390x@0.24.2': optional: true - '@esbuild/linux-x64@0.19.12': - optional: true - - '@esbuild/linux-x64@0.20.1': - optional: true - '@esbuild/linux-x64@0.21.5': optional: true '@esbuild/linux-x64@0.23.1': optional: true - '@esbuild/linux-x64@0.24.0': - optional: true - '@esbuild/linux-x64@0.24.2': optional: true '@esbuild/netbsd-arm64@0.24.2': optional: true - '@esbuild/netbsd-x64@0.19.12': - optional: true - - '@esbuild/netbsd-x64@0.20.1': - optional: true - '@esbuild/netbsd-x64@0.21.5': optional: true '@esbuild/netbsd-x64@0.23.1': optional: true - '@esbuild/netbsd-x64@0.24.0': - optional: true - '@esbuild/netbsd-x64@0.24.2': optional: true '@esbuild/openbsd-arm64@0.23.1': optional: true - '@esbuild/openbsd-arm64@0.24.0': - optional: true - '@esbuild/openbsd-arm64@0.24.2': optional: true - '@esbuild/openbsd-x64@0.19.12': - optional: true - - '@esbuild/openbsd-x64@0.20.1': - optional: true - '@esbuild/openbsd-x64@0.21.5': optional: true '@esbuild/openbsd-x64@0.23.1': optional: true - '@esbuild/openbsd-x64@0.24.0': - optional: true - '@esbuild/openbsd-x64@0.24.2': optional: true - '@esbuild/sunos-x64@0.19.12': - optional: true - - '@esbuild/sunos-x64@0.20.1': - optional: true - '@esbuild/sunos-x64@0.21.5': optional: true '@esbuild/sunos-x64@0.23.1': optional: true - '@esbuild/sunos-x64@0.24.0': - optional: true - '@esbuild/sunos-x64@0.24.2': optional: true - '@esbuild/win32-arm64@0.19.12': - optional: true - - '@esbuild/win32-arm64@0.20.1': - optional: true - '@esbuild/win32-arm64@0.21.5': optional: true '@esbuild/win32-arm64@0.23.1': optional: true - '@esbuild/win32-arm64@0.24.0': - optional: true - '@esbuild/win32-arm64@0.24.2': optional: true - '@esbuild/win32-ia32@0.19.12': - optional: true - - '@esbuild/win32-ia32@0.20.1': - optional: true - '@esbuild/win32-ia32@0.21.5': optional: true '@esbuild/win32-ia32@0.23.1': optional: true - '@esbuild/win32-ia32@0.24.0': - optional: true - '@esbuild/win32-ia32@0.24.2': optional: true - '@esbuild/win32-x64@0.19.12': - optional: true - - '@esbuild/win32-x64@0.20.1': - optional: true - '@esbuild/win32-x64@0.21.5': optional: true '@esbuild/win32-x64@0.23.1': optional: true - '@esbuild/win32-x64@0.24.0': - optional: true - '@esbuild/win32-x64@0.24.2': optional: true @@ -14180,12 +12820,6 @@ snapshots: ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 - '@inquirer/confirm@5.0.2(@types/node@22.10.10)': - dependencies: - '@inquirer/core': 10.1.2(@types/node@22.10.10) - '@inquirer/type': 3.0.2(@types/node@22.10.10) - '@types/node': 22.10.10 - '@inquirer/confirm@5.1.1(@types/node@22.10.10)': dependencies: '@inquirer/core': 10.1.2(@types/node@22.10.10) @@ -14241,7 +12875,7 @@ snapshots: '@types/node': 22.10.10 ansi-escapes: 4.3.2 - '@inquirer/prompts@7.1.0(@types/node@22.10.10)': + '@inquirer/prompts@7.2.1(@types/node@22.10.10)': dependencies: '@inquirer/checkbox': 4.0.4(@types/node@22.10.10) '@inquirer/confirm': 5.1.1(@types/node@22.10.10) @@ -14300,14 +12934,6 @@ snapshots: dependencies: minipass: 7.1.2 - '@istanbuljs/load-nyc-config@1.1.0': - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 - '@istanbuljs/schema@0.1.3': {} '@jest/schemas@29.6.3': @@ -14342,6 +12968,22 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/json-pack@1.1.1(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1) + '@jsonjoy.com/util': 1.5.0(tslib@2.8.1) + hyperdyperid: 1.2.0 + thingies: 1.21.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/util@1.5.0(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + '@kwsites/file-exists@1.1.1': dependencies: debug: 4.3.6 @@ -14352,9 +12994,9 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@2.0.18(@inquirer/prompts@7.1.0(@types/node@22.10.10))': + '@listr2/prompt-adapter-inquirer@2.0.18(@inquirer/prompts@7.2.1(@types/node@22.10.10))': dependencies: - '@inquirer/prompts': 7.1.0(@types/node@22.10.10) + '@inquirer/prompts': 7.2.1(@types/node@22.10.10) '@inquirer/type': 1.5.5 '@lit-labs/ssr-dom-shim@1.2.0': {} @@ -14363,26 +13005,22 @@ snapshots: dependencies: '@lit-labs/ssr-dom-shim': 1.2.0 - '@ljharb/through@2.3.13': - dependencies: - call-bind: 1.0.8 - - '@lmdb/lmdb-darwin-arm64@3.1.5': + '@lmdb/lmdb-darwin-arm64@3.2.2': optional: true - '@lmdb/lmdb-darwin-x64@3.1.5': + '@lmdb/lmdb-darwin-x64@3.2.2': optional: true - '@lmdb/lmdb-linux-arm64@3.1.5': + '@lmdb/lmdb-linux-arm64@3.2.2': optional: true - '@lmdb/lmdb-linux-arm@3.1.5': + '@lmdb/lmdb-linux-arm@3.2.2': optional: true - '@lmdb/lmdb-linux-x64@3.1.5': + '@lmdb/lmdb-linux-x64@3.2.2': optional: true - '@lmdb/lmdb-win32-x64@3.1.5': + '@lmdb/lmdb-win32-x64@3.2.2': optional: true '@microsoft/api-extractor-model@7.29.4(@types/node@22.10.2)': @@ -14512,19 +13150,19 @@ snapshots: '@emnapi/runtime': 1.3.1 '@tybys/wasm-util': 0.9.0 - '@ngtools/webpack@17.3.8(@angular/compiler-cli@17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5))(typescript@5.4.5)(webpack@5.90.3(esbuild@0.20.1))': - dependencies: - '@angular/compiler-cli': 17.3.12(@angular/compiler@17.3.12(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5) - typescript: 5.4.5 - webpack: 5.90.3(esbuild@0.24.2) - - '@ngtools/webpack@17.3.8(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(typescript@5.6.3)(webpack@5.90.3(esbuild@0.20.1))': + '@ngtools/webpack@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(typescript@5.6.3)(webpack@5.97.1(esbuild@0.24.2))': dependencies: - '@angular/compiler-cli': 19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) typescript: 5.6.3 - webpack: 5.90.3(esbuild@0.24.2) + webpack: 5.97.1(esbuild@0.24.2) optional: true + '@ngtools/webpack@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(typescript@5.7.3)(webpack@5.97.1(esbuild@0.24.2))': + dependencies: + '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3) + typescript: 5.7.3 + webpack: 5.97.1(esbuild@0.24.2) + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -14537,16 +13175,6 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@npmcli/agent@2.2.2': - dependencies: - agent-base: 7.1.3 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.5 - lru-cache: 10.3.0 - socks-proxy-agent: 8.0.4 - transitivePeerDependencies: - - supports-color - '@npmcli/agent@3.0.0': dependencies: agent-base: 7.1.3 @@ -14557,28 +13185,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@npmcli/fs@3.1.1': - dependencies: - semver: 7.6.3 - '@npmcli/fs@4.0.0': dependencies: semver: 7.6.3 - '@npmcli/git@5.0.8': - dependencies: - '@npmcli/promise-spawn': 7.0.2 - ini: 4.1.3 - lru-cache: 10.3.0 - npm-pick-manifest: 9.0.0 - proc-log: 4.2.0 - promise-inflight: 1.0.1 - promise-retry: 2.0.1 - semver: 7.6.3 - which: 4.0.0 - transitivePeerDependencies: - - bluebird - '@npmcli/git@6.0.1': dependencies: '@npmcli/promise-spawn': 8.0.2 @@ -14593,31 +13203,12 @@ snapshots: transitivePeerDependencies: - bluebird - '@npmcli/installed-package-contents@2.1.0': - dependencies: - npm-bundled: 3.0.1 - npm-normalize-package-bin: 3.0.1 - '@npmcli/installed-package-contents@3.0.0': dependencies: - npm-bundled: 4.0.0 - npm-normalize-package-bin: 4.0.0 - - '@npmcli/node-gyp@3.0.0': {} - - '@npmcli/node-gyp@4.0.0': {} - - '@npmcli/package-json@5.2.1': - dependencies: - '@npmcli/git': 5.0.8 - glob: 10.4.2 - hosted-git-info: 7.0.2 - json-parse-even-better-errors: 3.0.2 - normalize-package-data: 6.0.2 - proc-log: 4.2.0 - semver: 7.6.3 - transitivePeerDependencies: - - bluebird + npm-bundled: 4.0.0 + npm-normalize-package-bin: 4.0.0 + + '@npmcli/node-gyp@4.0.0': {} '@npmcli/package-json@6.1.0': dependencies: @@ -14631,29 +13222,12 @@ snapshots: transitivePeerDependencies: - bluebird - '@npmcli/promise-spawn@7.0.2': - dependencies: - which: 4.0.0 - '@npmcli/promise-spawn@8.0.2': dependencies: which: 5.0.0 - '@npmcli/redact@1.1.0': {} - '@npmcli/redact@3.0.0': {} - '@npmcli/run-script@7.0.4': - dependencies: - '@npmcli/node-gyp': 3.0.0 - '@npmcli/package-json': 5.2.1 - '@npmcli/promise-spawn': 7.0.2 - node-gyp: 10.3.1 - which: 4.0.0 - transitivePeerDependencies: - - bluebird - - supports-color - '@npmcli/run-script@9.0.2': dependencies: '@npmcli/node-gyp': 4.0.0 @@ -14739,7 +13313,7 @@ snapshots: dependencies: detect-libc: 1.0.3 is-glob: 4.0.3 - micromatch: 4.0.7 + micromatch: 4.0.8 node-addon-api: 7.1.1 optionalDependencies: '@parcel/watcher-android-arm64': 2.5.0 @@ -14760,13 +13334,13 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@preact/preset-vite@2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))': + '@preact/preset-vite@2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': dependencies: '@babel/code-frame': 7.26.2 '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-development': 7.25.9(@babel/core@7.26.0) - '@prefresh/vite': 2.4.6(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + '@prefresh/vite': 2.4.6(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@rollup/pluginutils': 4.2.1 babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.26.0) debug: 4.4.0 @@ -14775,18 +13349,18 @@ snapshots: node-html-parser: 6.1.13 source-map: 0.7.4 stack-trace: 1.0.0-pre2 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - preact - supports-color - '@preact/preset-vite@2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@preact/preset-vite@2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: '@babel/code-frame': 7.26.2 '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-development': 7.25.9(@babel/core@7.26.0) - '@prefresh/vite': 2.4.6(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + '@prefresh/vite': 2.4.6(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) '@rollup/pluginutils': 4.2.1 babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.26.0) debug: 4.4.0 @@ -14795,7 +13369,7 @@ snapshots: node-html-parser: 6.1.13 source-map: 0.7.4 stack-trace: 1.0.0-pre2 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - preact - supports-color @@ -14808,7 +13382,7 @@ snapshots: '@prefresh/utils@1.2.0': {} - '@prefresh/vite@2.4.6(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))': + '@prefresh/vite@2.4.6(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': dependencies: '@babel/core': 7.26.0 '@prefresh/babel-plugin': 0.5.1 @@ -14816,11 +13390,11 @@ snapshots: '@prefresh/utils': 1.2.0 '@rollup/pluginutils': 4.2.1 preact: 10.25.4 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - supports-color - '@prefresh/vite@2.4.6(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@prefresh/vite@2.4.6(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: '@babel/core': 7.26.0 '@prefresh/babel-plugin': 0.5.1 @@ -14828,15 +13402,15 @@ snapshots: '@prefresh/utils': 1.2.0 '@rollup/pluginutils': 4.2.1 preact: 10.25.4 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - supports-color - '@rollup/plugin-json@6.1.0(rollup@4.29.1)': + '@rollup/plugin-json@6.1.0(rollup@4.32.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.29.1) + '@rollup/pluginutils': 5.1.0(rollup@4.32.0) optionalDependencies: - rollup: 4.29.1 + rollup: 4.32.0 '@rollup/plugin-replace@5.0.7(rollup@4.32.0)': dependencies: @@ -14857,14 +13431,6 @@ snapshots: estree-walker: 2.0.2 picomatch: 2.3.1 - '@rollup/pluginutils@5.1.0(rollup@4.29.1)': - dependencies: - '@types/estree': 1.0.5 - estree-walker: 2.0.2 - picomatch: 2.3.1 - optionalDependencies: - rollup: 4.29.1 - '@rollup/pluginutils@5.1.0(rollup@4.32.0)': dependencies: '@types/estree': 1.0.5 @@ -14873,91 +13439,91 @@ snapshots: optionalDependencies: rollup: 4.32.0 - '@rollup/rollup-android-arm-eabi@4.26.0': + '@rollup/rollup-android-arm-eabi@4.29.1': optional: true - '@rollup/rollup-android-arm-eabi@4.29.1': + '@rollup/rollup-android-arm-eabi@4.30.1': optional: true '@rollup/rollup-android-arm-eabi@4.32.0': optional: true - '@rollup/rollup-android-arm64@4.26.0': + '@rollup/rollup-android-arm64@4.29.1': optional: true - '@rollup/rollup-android-arm64@4.29.1': + '@rollup/rollup-android-arm64@4.30.1': optional: true '@rollup/rollup-android-arm64@4.32.0': optional: true - '@rollup/rollup-darwin-arm64@4.26.0': + '@rollup/rollup-darwin-arm64@4.29.1': optional: true - '@rollup/rollup-darwin-arm64@4.29.1': + '@rollup/rollup-darwin-arm64@4.30.1': optional: true '@rollup/rollup-darwin-arm64@4.32.0': optional: true - '@rollup/rollup-darwin-x64@4.26.0': + '@rollup/rollup-darwin-x64@4.29.1': optional: true - '@rollup/rollup-darwin-x64@4.29.1': + '@rollup/rollup-darwin-x64@4.30.1': optional: true '@rollup/rollup-darwin-x64@4.32.0': optional: true - '@rollup/rollup-freebsd-arm64@4.26.0': + '@rollup/rollup-freebsd-arm64@4.29.1': optional: true - '@rollup/rollup-freebsd-arm64@4.29.1': + '@rollup/rollup-freebsd-arm64@4.30.1': optional: true '@rollup/rollup-freebsd-arm64@4.32.0': optional: true - '@rollup/rollup-freebsd-x64@4.26.0': + '@rollup/rollup-freebsd-x64@4.29.1': optional: true - '@rollup/rollup-freebsd-x64@4.29.1': + '@rollup/rollup-freebsd-x64@4.30.1': optional: true '@rollup/rollup-freebsd-x64@4.32.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.26.0': + '@rollup/rollup-linux-arm-gnueabihf@4.29.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.29.1': + '@rollup/rollup-linux-arm-gnueabihf@4.30.1': optional: true '@rollup/rollup-linux-arm-gnueabihf@4.32.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.26.0': + '@rollup/rollup-linux-arm-musleabihf@4.29.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.29.1': + '@rollup/rollup-linux-arm-musleabihf@4.30.1': optional: true '@rollup/rollup-linux-arm-musleabihf@4.32.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.26.0': + '@rollup/rollup-linux-arm64-gnu@4.29.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.29.1': + '@rollup/rollup-linux-arm64-gnu@4.30.1': optional: true '@rollup/rollup-linux-arm64-gnu@4.32.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.26.0': + '@rollup/rollup-linux-arm64-musl@4.29.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.29.1': + '@rollup/rollup-linux-arm64-musl@4.30.1': optional: true '@rollup/rollup-linux-arm64-musl@4.32.0': @@ -14966,78 +13532,81 @@ snapshots: '@rollup/rollup-linux-loongarch64-gnu@4.29.1': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.32.0': + '@rollup/rollup-linux-loongarch64-gnu@4.30.1': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': + '@rollup/rollup-linux-loongarch64-gnu@4.32.0': optional: true '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.32.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.26.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.32.0': optional: true '@rollup/rollup-linux-riscv64-gnu@4.29.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.32.0': + '@rollup/rollup-linux-riscv64-gnu@4.30.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.26.0': + '@rollup/rollup-linux-riscv64-gnu@4.32.0': optional: true '@rollup/rollup-linux-s390x-gnu@4.29.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.32.0': + '@rollup/rollup-linux-s390x-gnu@4.30.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.26.0': + '@rollup/rollup-linux-s390x-gnu@4.32.0': optional: true '@rollup/rollup-linux-x64-gnu@4.29.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.32.0': + '@rollup/rollup-linux-x64-gnu@4.30.1': optional: true - '@rollup/rollup-linux-x64-musl@4.26.0': + '@rollup/rollup-linux-x64-gnu@4.32.0': optional: true '@rollup/rollup-linux-x64-musl@4.29.1': optional: true - '@rollup/rollup-linux-x64-musl@4.32.0': + '@rollup/rollup-linux-x64-musl@4.30.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.26.0': + '@rollup/rollup-linux-x64-musl@4.32.0': optional: true '@rollup/rollup-win32-arm64-msvc@4.29.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.32.0': + '@rollup/rollup-win32-arm64-msvc@4.30.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.26.0': + '@rollup/rollup-win32-arm64-msvc@4.32.0': optional: true '@rollup/rollup-win32-ia32-msvc@4.29.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.32.0': + '@rollup/rollup-win32-ia32-msvc@4.30.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.26.0': + '@rollup/rollup-win32-ia32-msvc@4.32.0': optional: true '@rollup/rollup-win32-x64-msvc@4.29.1': optional: true + '@rollup/rollup-win32-x64-msvc@4.30.1': + optional: true + '@rollup/rollup-win32-x64-msvc@4.32.0': optional: true @@ -15081,18 +13650,10 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@schematics/angular@17.3.11(chokidar@3.6.0)': - dependencies: - '@angular-devkit/core': 17.3.11(chokidar@3.6.0) - '@angular-devkit/schematics': 17.3.11(chokidar@3.6.0) - jsonc-parser: 3.2.1 - transitivePeerDependencies: - - chokidar - - '@schematics/angular@19.0.6(chokidar@4.0.3)': + '@schematics/angular@19.1.5(chokidar@4.0.3)': dependencies: - '@angular-devkit/core': 19.0.6(chokidar@4.0.3) - '@angular-devkit/schematics': 19.0.6(chokidar@4.0.3) + '@angular-devkit/core': 19.1.5(chokidar@4.0.3) + '@angular-devkit/schematics': 19.1.5(chokidar@4.0.3) jsonc-parser: 3.3.1 transitivePeerDependencies: - chokidar @@ -15109,31 +13670,14 @@ snapshots: '@shikijs/vscode-textmate@9.3.1': {} - '@sigstore/bundle@2.3.2': - dependencies: - '@sigstore/protobuf-specs': 0.3.2 - '@sigstore/bundle@3.0.0': dependencies: '@sigstore/protobuf-specs': 0.3.2 - '@sigstore/core@1.1.0': {} - '@sigstore/core@2.0.0': {} '@sigstore/protobuf-specs@0.3.2': {} - '@sigstore/sign@2.3.2': - dependencies: - '@sigstore/bundle': 2.3.2 - '@sigstore/core': 1.1.0 - '@sigstore/protobuf-specs': 0.3.2 - make-fetch-happen: 13.0.1 - proc-log: 4.2.0 - promise-retry: 2.0.1 - transitivePeerDependencies: - - supports-color - '@sigstore/sign@3.0.0': dependencies: '@sigstore/bundle': 3.0.0 @@ -15145,13 +13689,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@sigstore/tuf@2.3.4': - dependencies: - '@sigstore/protobuf-specs': 0.3.2 - tuf-js: 2.2.1 - transitivePeerDependencies: - - supports-color - '@sigstore/tuf@3.0.0': dependencies: '@sigstore/protobuf-specs': 0.3.2 @@ -15159,12 +13696,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@sigstore/verify@1.2.1': - dependencies: - '@sigstore/bundle': 2.3.2 - '@sigstore/core': 1.1.0 - '@sigstore/protobuf-specs': 0.3.2 - '@sigstore/verify@2.0.0': dependencies: '@sigstore/bundle': 3.0.0 @@ -15173,6 +13704,8 @@ snapshots: '@sinclair/typebox@0.27.8': {} + '@sindresorhus/merge-streams@2.3.0': {} + '@size-limit/esbuild@11.1.6(size-limit@11.1.6)': dependencies: esbuild: 0.24.2 @@ -15218,57 +13751,57 @@ snapshots: transitivePeerDependencies: - typescript - '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)))(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))': + '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)))(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + '@sveltejs/vite-plugin-svelte': 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) debug: 4.4.0 svelte: 5.19.3 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)))(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)))(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + '@sveltejs/vite-plugin-svelte': 4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) debug: 4.4.0 svelte: 5.19.3 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))': + '@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)))(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)))(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) debug: 4.4.0 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 svelte: 5.19.3 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) - vitefu: 1.0.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vitefu: 1.0.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)))(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)))(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) debug: 4.4.0 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 svelte: 5.19.3 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) - vitefu: 1.0.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vitefu: 1.0.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) transitivePeerDependencies: - supports-color - '@tanstack/angular-table@8.21.0(@angular/core@17.3.12(rxjs@7.8.1)(zone.js@0.14.10))': + '@tanstack/angular-table@8.21.0(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))': dependencies: - '@angular/core': 17.3.12(rxjs@7.8.1)(zone.js@0.14.10) + '@angular/core': 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@tanstack/table-core': 8.20.5 tslib: 2.8.1 - '@tanstack/config@0.14.2(@types/node@22.10.2)(esbuild@0.24.2)(eslint@9.17.0(jiti@2.4.2))(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))': + '@tanstack/config@0.14.2(@types/node@22.10.2)(esbuild@0.24.2)(eslint@9.17.0(jiti@2.4.2))(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': dependencies: '@commitlint/parse': 19.5.0 '@eslint/js': 9.17.0 @@ -15291,9 +13824,9 @@ snapshots: typedoc-plugin-markdown: 4.4.0(typedoc@0.27.6(typescript@5.6.3)) typescript-eslint: 8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.6.3) v8flags: 4.0.1 - vite-plugin-dts: 4.0.3(@types/node@22.10.2)(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) - vite-plugin-externalize-deps: 0.8.0(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) - vite-tsconfig-paths: 5.1.4(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + vite-plugin-dts: 4.0.3(@types/node@22.10.2)(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + vite-plugin-externalize-deps: 0.8.0(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + vite-tsconfig-paths: 5.1.4(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) transitivePeerDependencies: - '@types/node' - esbuild @@ -15366,7 +13899,7 @@ snapshots: optionalDependencies: '@tanstack/react-router': 1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@tanstack/router-plugin@1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))': + '@tanstack/router-plugin@1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(webpack@5.97.1(esbuild@0.24.2))': dependencies: '@babel/core': 7.26.0 '@babel/generator': 7.26.3 @@ -15387,14 +13920,15 @@ snapshots: unplugin: 1.16.0 zod: 3.23.8 optionalDependencies: - vite: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + webpack: 5.97.1(esbuild@0.24.2) transitivePeerDependencies: - '@tanstack/react-router' - supports-color - '@tanstack/router-vite-plugin@1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))': + '@tanstack/router-vite-plugin@1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(webpack@5.97.1(esbuild@0.24.2))': dependencies: - '@tanstack/router-plugin': 1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + '@tanstack/router-plugin': 1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(webpack@5.97.1(esbuild@0.24.2)) transitivePeerDependencies: - '@rsbuild/core' - '@tanstack/react-router' @@ -15438,11 +13972,6 @@ snapshots: '@tufjs/canonical-json@2.0.0': {} - '@tufjs/models@2.0.1': - dependencies: - '@tufjs/canonical-json': 2.0.0 - minimatch: 9.0.5 - '@tufjs/models@3.0.1': dependencies: '@tufjs/canonical-json': 2.0.0 @@ -15614,7 +14143,7 @@ snapshots: dependencies: csstype: 3.1.3 - '@types/retry@0.12.0': {} + '@types/retry@0.12.2': {} '@types/send@0.17.4': dependencies: @@ -15794,54 +14323,55 @@ snapshots: '@typescript-eslint/types': 8.3.0 eslint-visitor-keys: 3.4.3 - '@vitejs/plugin-basic-ssl@1.1.0(vite@5.1.7(@types/node@22.10.10)(less@4.2.0)(sass@1.71.1)(terser@5.29.1))': + '@vitejs/plugin-basic-ssl@1.2.0(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': dependencies: - vite: 5.1.7(@types/node@22.10.10)(less@4.2.0)(sass@1.71.1)(terser@5.29.1) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + optional: true - '@vitejs/plugin-basic-ssl@1.1.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.80.7)(terser@5.37.0))': + '@vitejs/plugin-basic-ssl@1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: - vite: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.80.7)(terser@5.37.0) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) - '@vitejs/plugin-react@4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))': + '@vitejs/plugin-react@4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.3.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@vitejs/plugin-react@4.3.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue-jsx@4.1.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3))': + '@vitejs/plugin-vue-jsx@4.1.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0) '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0) - vite: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vue: 3.5.13(typescript@5.6.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3))': + '@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3))': dependencies: - vite: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) vue: 3.5.13(typescript@5.6.3) - '@vitejs/plugin-vue@5.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3))': + '@vitejs/plugin-vue@5.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3))': dependencies: - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) vue: 3.5.13(typescript@5.7.3) '@vitest/expect@2.1.8': @@ -15851,21 +14381,21 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))': + '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': dependencies: '@vitest/spy': 2.1.8 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) - '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0))': + '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': dependencies: '@vitest/spy': 2.1.8 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) '@vitest/pretty-format@2.1.8': dependencies: @@ -16130,10 +14660,6 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-import-assertions@1.9.0(acorn@8.14.0): - dependencies: - acorn: 8.14.0 - acorn-jsx@5.3.2(acorn@8.14.0): dependencies: acorn: 8.14.0 @@ -16166,10 +14692,6 @@ snapshots: optionalDependencies: ajv: 8.13.0 - ajv-formats@2.1.1(ajv@8.12.0): - optionalDependencies: - ajv: 8.12.0 - ajv-formats@2.1.1(ajv@8.17.1): optionalDependencies: ajv: 8.17.1 @@ -16286,14 +14808,14 @@ snapshots: asynckit@0.4.0: {} - autoprefixer@10.4.18(postcss@8.4.35): + autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.4 caniuse-lite: 1.0.30001695 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 - postcss: 8.4.35 + postcss: 8.4.49 postcss-value-parser: 4.2.0 axios@1.7.9: @@ -16315,25 +14837,15 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@9.1.3(@babel/core@7.24.0)(webpack@5.90.3(esbuild@0.20.1)): + babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.97.1(esbuild@0.24.2)): dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.26.0 find-cache-dir: 4.0.0 schema-utils: 4.3.0 - webpack: 5.90.3(esbuild@0.24.2) + webpack: 5.97.1(esbuild@0.24.2) babel-plugin-add-module-exports@0.2.1: {} - babel-plugin-istanbul@6.1.1: - dependencies: - '@babel/helper-plugin-utils': 7.26.5 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.2.1 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color - babel-plugin-jsx-dom-expressions@0.37.23(@babel/core@7.24.7): dependencies: '@babel/core': 7.24.7 @@ -16343,27 +14855,27 @@ snapshots: html-entities: 2.3.3 validate-html-nesting: 1.2.2 - babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.24.0): + babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): dependencies: '@babel/compat-data': 7.26.5 - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.24.0) + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.24.0): + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): dependencies: - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) core-js-compat: 3.40.0 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.24.0): + babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.0): dependencies: - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) transitivePeerDependencies: - supports-color @@ -16384,7 +14896,7 @@ snapshots: batch@0.6.1: {} - beasties@0.1.0: + beasties@0.2.0: dependencies: css-select: 5.1.0 css-what: 6.1.0 @@ -16392,7 +14904,7 @@ snapshots: domhandler: 5.0.3 htmlparser2: 9.1.0 picocolors: 1.1.1 - postcss: 8.4.49 + postcss: 8.5.1 postcss-media-query-parser: 0.2.3 big.js@5.2.2: {} @@ -16453,13 +14965,6 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.23.1: - dependencies: - caniuse-lite: 1.0.30001638 - electron-to-chromium: 1.4.815 - node-releases: 2.0.14 - update-browserslist-db: 1.0.16(browserslist@4.23.1) - browserslist@4.24.4: dependencies: caniuse-lite: 1.0.30001695 @@ -16474,6 +14979,10 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + bundle-name@4.1.0: + dependencies: + run-applescript: 7.0.0 + bytes-iec@3.1.1: {} bytes@3.0.0: {} @@ -16482,21 +14991,6 @@ snapshots: cac@6.7.14: {} - cacache@18.0.4: - dependencies: - '@npmcli/fs': 3.1.1 - fs-minipass: 3.0.3 - glob: 10.4.2 - lru-cache: 10.3.0 - minipass: 7.1.2 - minipass-collect: 2.0.1 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - p-map: 4.0.0 - ssri: 10.0.6 - tar: 6.2.1 - unique-filename: 3.0.0 - cacache@19.0.1: dependencies: '@npmcli/fs': 4.0.0 @@ -16517,13 +15011,6 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 - call-bind@1.0.8: - dependencies: - call-bind-apply-helpers: 1.0.1 - es-define-property: 1.0.1 - get-intrinsic: 1.2.7 - set-function-length: 1.2.2 - call-bound@1.0.3: dependencies: call-bind-apply-helpers: 1.0.1 @@ -16531,12 +15018,8 @@ snapshots: callsites@3.1.0: {} - camelcase@5.3.1: {} - camelcase@7.0.1: {} - caniuse-lite@1.0.30001638: {} - caniuse-lite@1.0.30001695: {} chai@5.1.2: @@ -16571,8 +15054,6 @@ snapshots: chalk@5.3.0: {} - chalk@5.4.1: {} - chardet@0.7.0: {} check-error@2.1.1: {} @@ -16672,6 +15153,8 @@ snapshots: commander@12.1.0: {} + commander@13.1.0: {} + commander@2.20.3: {} commander@4.1.1: {} @@ -16765,15 +15248,15 @@ snapshots: dependencies: is-what: 3.14.1 - copy-webpack-plugin@11.0.0(webpack@5.90.3(esbuild@0.20.1)): + copy-webpack-plugin@12.0.2(webpack@5.97.1(esbuild@0.24.2)): dependencies: - fast-glob: 3.3.2 + fast-glob: 3.3.3 glob-parent: 6.0.2 - globby: 13.2.2 + globby: 14.0.2 normalize-path: 3.0.0 schema-utils: 4.3.0 serialize-javascript: 6.0.2 - webpack: 5.90.3(esbuild@0.24.2) + webpack: 5.97.1(esbuild@0.24.2) core-js-compat@3.40.0: dependencies: @@ -16786,34 +15269,24 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig@9.0.0(typescript@5.4.5): + cosmiconfig@9.0.0(typescript@5.6.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.4.5 + typescript: 5.6.3 + optional: true - cosmiconfig@9.0.0(typescript@5.6.3): + cosmiconfig@9.0.0(typescript@5.7.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.6.3 - optional: true - - critters@0.0.22: - dependencies: - chalk: 4.1.2 - css-select: 5.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - htmlparser2: 8.0.2 - postcss: 8.5.1 - postcss-media-query-parser: 0.2.3 + typescript: 5.7.3 cross-spawn@5.1.0: dependencies: @@ -16833,7 +15306,7 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - css-loader@6.10.0(webpack@5.90.3(esbuild@0.20.1)): + css-loader@7.1.2(webpack@5.97.1(esbuild@0.24.2)): dependencies: icss-utils: 5.1.0(postcss@8.5.1) postcss: 8.5.1 @@ -16844,7 +15317,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.6.3 optionalDependencies: - webpack: 5.90.3(esbuild@0.24.2) + webpack: 5.97.1(esbuild@0.24.2) css-select@5.1.0: dependencies: @@ -16911,22 +15384,21 @@ snapshots: deepmerge@4.3.1: {} - default-gateway@6.0.3: + default-browser-id@5.0.0: {} + + default-browser@5.2.1: dependencies: - execa: 5.1.1 + bundle-name: 4.1.0 + default-browser-id: 5.0.0 defaults@1.0.4: dependencies: clone: 1.0.4 - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.1 - es-errors: 1.3.0 - gopd: 1.2.0 - define-lazy-prop@2.0.0: {} + define-lazy-prop@3.0.0: {} + delayed-stream@1.0.0: {} depd@1.1.2: {} @@ -16953,10 +15425,6 @@ snapshots: diff-sequences@29.6.3: {} - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - dns-packet@5.6.1: dependencies: '@leichtgewicht/ip-codec': 2.0.5 @@ -17024,8 +15492,6 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.4.815: {} - electron-to-chromium@1.5.88: {} emoji-regex@10.4.0: {} @@ -17119,60 +15585,7 @@ snapshots: transitivePeerDependencies: - supports-color - esbuild-wasm@0.20.1: {} - - esbuild@0.19.12: - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - - esbuild@0.20.1: - optionalDependencies: - '@esbuild/aix-ppc64': 0.20.1 - '@esbuild/android-arm': 0.20.1 - '@esbuild/android-arm64': 0.20.1 - '@esbuild/android-x64': 0.20.1 - '@esbuild/darwin-arm64': 0.20.1 - '@esbuild/darwin-x64': 0.20.1 - '@esbuild/freebsd-arm64': 0.20.1 - '@esbuild/freebsd-x64': 0.20.1 - '@esbuild/linux-arm': 0.20.1 - '@esbuild/linux-arm64': 0.20.1 - '@esbuild/linux-ia32': 0.20.1 - '@esbuild/linux-loong64': 0.20.1 - '@esbuild/linux-mips64el': 0.20.1 - '@esbuild/linux-ppc64': 0.20.1 - '@esbuild/linux-riscv64': 0.20.1 - '@esbuild/linux-s390x': 0.20.1 - '@esbuild/linux-x64': 0.20.1 - '@esbuild/netbsd-x64': 0.20.1 - '@esbuild/openbsd-x64': 0.20.1 - '@esbuild/sunos-x64': 0.20.1 - '@esbuild/win32-arm64': 0.20.1 - '@esbuild/win32-ia32': 0.20.1 - '@esbuild/win32-x64': 0.20.1 - optional: true + esbuild-wasm@0.24.2: {} esbuild@0.21.5: optionalDependencies: @@ -17227,33 +15640,6 @@ snapshots: '@esbuild/win32-ia32': 0.23.1 '@esbuild/win32-x64': 0.23.1 - esbuild@0.24.0: - optionalDependencies: - '@esbuild/aix-ppc64': 0.24.0 - '@esbuild/android-arm': 0.24.0 - '@esbuild/android-arm64': 0.24.0 - '@esbuild/android-x64': 0.24.0 - '@esbuild/darwin-arm64': 0.24.0 - '@esbuild/darwin-x64': 0.24.0 - '@esbuild/freebsd-arm64': 0.24.0 - '@esbuild/freebsd-x64': 0.24.0 - '@esbuild/linux-arm': 0.24.0 - '@esbuild/linux-arm64': 0.24.0 - '@esbuild/linux-ia32': 0.24.0 - '@esbuild/linux-loong64': 0.24.0 - '@esbuild/linux-mips64el': 0.24.0 - '@esbuild/linux-ppc64': 0.24.0 - '@esbuild/linux-riscv64': 0.24.0 - '@esbuild/linux-s390x': 0.24.0 - '@esbuild/linux-x64': 0.24.0 - '@esbuild/netbsd-x64': 0.24.0 - '@esbuild/openbsd-arm64': 0.24.0 - '@esbuild/openbsd-x64': 0.24.0 - '@esbuild/sunos-x64': 0.24.0 - '@esbuild/win32-arm64': 0.24.0 - '@esbuild/win32-ia32': 0.24.0 - '@esbuild/win32-x64': 0.24.0 - esbuild@0.24.2: optionalDependencies: '@esbuild/aix-ppc64': 0.24.2 @@ -17282,8 +15668,6 @@ snapshots: '@esbuild/win32-ia32': 0.24.2 '@esbuild/win32-x64': 0.24.2 - escalade@3.1.2: {} - escalade@3.2.0: {} escape-html@1.0.3: {} @@ -17708,6 +16092,14 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.7 + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} @@ -17820,7 +16212,9 @@ snapshots: follow-redirects@1.15.6: {} - follow-redirects@1.15.9: {} + follow-redirects@1.15.9(debug@4.4.0): + optionalDependencies: + debug: 4.4.0 for-in@1.0.2: {} @@ -17871,8 +16265,6 @@ snapshots: dependencies: minipass: 7.1.2 - fs-monkey@1.0.6: {} - fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -17899,8 +16291,6 @@ snapshots: hasown: 2.0.2 math-intrinsics: 1.1.0 - get-package-type@0.1.0: {} - get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 @@ -17987,13 +16377,14 @@ snapshots: globals@15.14.0: {} - globby@13.2.2: + globby@14.0.2: dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.2 + '@sindresorhus/merge-streams': 2.3.0 + fast-glob: 3.3.3 ignore: 5.3.2 - merge2: 1.4.1 - slash: 4.0.0 + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 globrex@0.1.2: {} @@ -18009,10 +16400,6 @@ snapshots: has-flag@4.0.0: {} - has-property-descriptors@1.0.2: - dependencies: - es-define-property: 1.0.1 - has-symbols@1.1.0: {} has-tostringtag@1.0.2: @@ -18029,10 +16416,6 @@ snapshots: dependencies: parse-passwd: 1.0.0 - hosted-git-info@7.0.2: - dependencies: - lru-cache: 10.3.0 - hosted-git-info@8.0.2: dependencies: lru-cache: 10.3.0 @@ -18050,24 +16433,15 @@ snapshots: html-entities@2.3.3: {} - html-entities@2.5.2: {} - html-escaper@2.0.2: {} html-tags@3.3.1: {} - htmlparser2@8.0.2: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - entities: 4.5.0 - htmlparser2@9.1.0: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 - domutils: 3.1.0 + domutils: 3.2.2 entities: 4.5.0 http-cache-semantics@4.1.1: {} @@ -18098,10 +16472,10 @@ snapshots: transitivePeerDependencies: - supports-color - http-proxy-middleware@2.0.6(@types/express@4.17.21): + http-proxy-middleware@2.0.7(@types/express@4.17.21): dependencies: '@types/http-proxy': 1.17.15 - http-proxy: 1.18.1 + http-proxy: 1.18.1(debug@4.4.0) is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.8 @@ -18110,30 +16484,43 @@ snapshots: transitivePeerDependencies: - debug - http-proxy@1.18.1: + http-proxy-middleware@3.0.3: + dependencies: + '@types/http-proxy': 1.17.15 + debug: 4.4.0 + http-proxy: 1.18.1(debug@4.4.0) + is-glob: 4.0.3 + is-plain-object: 5.0.0 + micromatch: 4.0.8 + transitivePeerDependencies: + - supports-color + + http-proxy@1.18.1(debug@4.4.0): dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.9 + follow-redirects: 1.15.9(debug@4.4.0) requires-port: 1.0.0 transitivePeerDependencies: - debug - https-proxy-agent@7.0.4: + https-proxy-agent@7.0.5: dependencies: - agent-base: 7.1.3 - debug: 4.4.0 + agent-base: 7.1.1 + debug: 4.3.6 transitivePeerDependencies: - supports-color - https-proxy-agent@7.0.5: + https-proxy-agent@7.0.6: dependencies: - agent-base: 7.1.1 - debug: 4.3.6 + agent-base: 7.1.3 + debug: 4.4.0 transitivePeerDependencies: - supports-color human-signals@2.1.0: {} + hyperdyperid@1.2.0: {} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -18152,10 +16539,6 @@ snapshots: dependencies: minimatch: 5.1.6 - ignore-walk@6.0.5: - dependencies: - minimatch: 9.0.5 - ignore-walk@7.0.0: dependencies: minimatch: 9.0.5 @@ -18167,8 +16550,6 @@ snapshots: image-size@0.5.5: optional: true - immutable@4.3.7: {} - immutable@5.0.3: {} import-fresh@3.3.0: @@ -18193,34 +16574,12 @@ snapshots: ini@1.3.8: {} - ini@4.1.2: {} - - ini@4.1.3: {} - ini@5.0.0: {} injection-js@2.4.0: dependencies: tslib: 2.8.1 - inquirer@9.2.15: - dependencies: - '@ljharb/through': 2.3.13 - ansi-escapes: 4.3.2 - chalk: 5.4.1 - cli-cursor: 3.1.0 - cli-width: 4.1.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 1.0.0 - ora: 5.4.1 - run-async: 3.0.0 - rxjs: 7.8.1 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - interpret@3.1.1: {} ip-address@9.0.5: @@ -18253,6 +16612,8 @@ snapshots: is-docker@2.2.1: {} + is-docker@3.0.0: {} + is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} @@ -18282,9 +16643,13 @@ snapshots: transitivePeerDependencies: - supports-color + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + is-interactive@1.0.0: {} - is-lambda@1.0.1: {} + is-network-error@1.1.0: {} is-number@7.0.0: {} @@ -18341,6 +16706,10 @@ snapshots: dependencies: is-docker: 2.2.1 + is-wsl@3.1.0: + dependencies: + is-inside-container: 1.0.0 + isarray@1.0.0: {} isbinaryfile@4.0.10: {} @@ -18366,7 +16735,7 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: '@babel/core': 7.26.0 - '@babel/parser': 7.26.3 + '@babel/parser': 7.26.7 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.6.3 @@ -18480,8 +16849,6 @@ snapshots: json-parse-even-better-errors@2.3.1: {} - json-parse-even-better-errors@3.0.2: {} - json-parse-even-better-errors@4.0.0: {} json-schema-traverse@0.4.1: {} @@ -18494,8 +16861,6 @@ snapshots: jsonc-parser@3.2.0: {} - jsonc-parser@3.2.1: {} - jsonc-parser@3.3.1: {} jsonfile@4.0.0: @@ -18551,7 +16916,7 @@ snapshots: dom-serialize: 2.2.1 glob: 7.2.3 graceful-fs: 4.2.11 - http-proxy: 1.18.1 + http-proxy: 1.18.1(debug@4.4.0) isbinaryfile: 4.0.10 lodash: 4.17.21 log4js: 6.9.1 @@ -18580,8 +16945,6 @@ snapshots: kleur@4.1.5: {} - klona@2.0.6: {} - knip@5.41.1(@types/node@22.10.2)(typescript@5.6.3): dependencies: '@nodelib/fs.walk': 1.2.8 @@ -18612,13 +16975,27 @@ snapshots: picocolors: 1.1.1 shell-quote: 1.8.2 - less-loader@11.1.0(less@4.2.0)(webpack@5.90.3(esbuild@0.20.1)): + less-loader@12.2.0(less@4.2.1)(webpack@5.97.1(esbuild@0.24.2)): dependencies: - klona: 2.0.6 - less: 4.2.0 - webpack: 5.90.3(esbuild@0.24.2) + less: 4.2.1 + optionalDependencies: + webpack: 5.97.1(esbuild@0.24.2) + + less@4.2.0: + dependencies: + copy-anything: 2.0.6 + parse-node-version: 1.0.1 + tslib: 2.8.1 + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.11 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.6.0 + needle: 3.3.1 + source-map: 0.6.1 - less@4.2.0: + less@4.2.1: dependencies: copy-anything: 2.0.6 parse-node-version: 1.0.1 @@ -18637,11 +17014,11 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - license-webpack-plugin@4.0.2(webpack@5.90.3(esbuild@0.20.1)): + license-webpack-plugin@4.0.2(webpack@5.97.1(esbuild@0.24.2)): dependencies: webpack-sources: 3.2.3 optionalDependencies: - webpack: 5.90.3(esbuild@0.24.2) + webpack: 5.97.1(esbuild@0.24.2) liftoff@5.0.0: dependencies: @@ -18690,7 +17067,7 @@ snapshots: lit-element: 4.1.1 lit-html: 3.2.1 - lmdb@3.1.5: + lmdb@3.2.2: dependencies: msgpackr: 1.11.2 node-addon-api: 6.1.0 @@ -18698,12 +17075,12 @@ snapshots: ordered-binary: 1.5.3 weak-lru-cache: 1.2.2 optionalDependencies: - '@lmdb/lmdb-darwin-arm64': 3.1.5 - '@lmdb/lmdb-darwin-x64': 3.1.5 - '@lmdb/lmdb-linux-arm': 3.1.5 - '@lmdb/lmdb-linux-arm64': 3.1.5 - '@lmdb/lmdb-linux-x64': 3.1.5 - '@lmdb/lmdb-win32-x64': 3.1.5 + '@lmdb/lmdb-darwin-arm64': 3.2.2 + '@lmdb/lmdb-darwin-x64': 3.2.2 + '@lmdb/lmdb-linux-arm': 3.2.2 + '@lmdb/lmdb-linux-arm64': 3.2.2 + '@lmdb/lmdb-linux-x64': 3.2.2 + '@lmdb/lmdb-win32-x64': 3.2.2 optional: true loader-runner@4.3.0: {} @@ -18714,7 +17091,7 @@ snapshots: emojis-list: 3.0.0 json5: 2.2.3 - loader-utils@3.2.1: {} + loader-utils@3.3.1: {} local-pkg@0.5.0: dependencies: @@ -18797,10 +17174,6 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - magic-string@0.30.12: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - magic-string@0.30.17: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -18809,10 +17182,6 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - magic-string@0.30.8: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - make-dir@2.1.0: dependencies: pify: 4.0.1 @@ -18827,23 +17196,6 @@ snapshots: dependencies: semver: 7.6.3 - make-fetch-happen@13.0.1: - dependencies: - '@npmcli/agent': 2.2.2 - cacache: 18.0.4 - http-cache-semantics: 4.1.1 - is-lambda: 1.0.1 - minipass: 7.1.2 - minipass-fetch: 3.0.5 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.4 - proc-log: 4.2.0 - promise-retry: 2.0.1 - ssri: 10.0.6 - transitivePeerDependencies: - - supports-color - make-fetch-happen@14.0.3: dependencies: '@npmcli/agent': 3.0.0 @@ -18877,9 +17229,12 @@ snapshots: media-typer@0.3.0: {} - memfs@3.5.3: + memfs@4.17.0: dependencies: - fs-monkey: 1.0.6 + '@jsonjoy.com/json-pack': 1.1.1(tslib@2.8.1) + '@jsonjoy.com/util': 1.5.0(tslib@2.8.1) + tree-dump: 1.0.2(tslib@2.8.1) + tslib: 2.8.1 meow@12.1.1: {} @@ -18929,11 +17284,11 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.8.1(webpack@5.90.3(esbuild@0.20.1)): + mini-css-extract-plugin@2.9.2(webpack@5.97.1(esbuild@0.24.2)): dependencies: schema-utils: 4.3.0 tapable: 2.2.1 - webpack: 5.90.3(esbuild@0.24.2) + webpack: 5.97.1(esbuild@0.24.2) minimalistic-assert@1.0.1: {} @@ -18967,14 +17322,6 @@ snapshots: dependencies: minipass: 7.1.2 - minipass-fetch@3.0.5: - dependencies: - minipass: 7.1.2 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - minipass-fetch@4.0.0: dependencies: minipass: 7.1.2 @@ -18987,11 +17334,6 @@ snapshots: dependencies: minipass: 3.3.6 - minipass-json-stream@1.0.2: - dependencies: - jsonparse: 1.3.1 - minipass: 3.3.6 - minipass-pipeline@1.2.4: dependencies: minipass: 3.3.6 @@ -19099,16 +17441,16 @@ snapshots: neo-async@2.6.2: {} - ng-packagr@19.0.1(@angular/compiler-cli@19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3): + ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3): dependencies: - '@angular/compiler-cli': 19.0.5(@angular/compiler@19.0.5(@angular/core@19.0.5(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) - '@rollup/plugin-json': 6.1.0(rollup@4.29.1) + '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) + '@rollup/plugin-json': 6.1.0(rollup@4.32.0) '@rollup/wasm-node': 4.29.1 ajv: 8.17.1 ansi-colors: 4.1.3 - browserslist: 4.23.1 + browserslist: 4.24.4 chokidar: 4.0.3 - commander: 12.1.0 + commander: 13.1.0 convert-source-map: 2.0.0 dependency-graph: 1.0.0 esbuild: 0.24.2 @@ -19119,18 +17461,41 @@ snapshots: less: 4.2.0 ora: 5.4.1 piscina: 4.8.0 - postcss: 8.4.49 + postcss: 8.5.1 rxjs: 7.8.1 sass: 1.83.0 tslib: 2.8.1 typescript: 5.6.3 optionalDependencies: - rollup: 4.29.1 + rollup: 4.32.0 - nice-napi@1.0.2: + ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3): dependencies: - node-addon-api: 3.2.1 - node-gyp-build: 4.8.4 + '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3) + '@rollup/plugin-json': 6.1.0(rollup@4.32.0) + '@rollup/wasm-node': 4.29.1 + ajv: 8.17.1 + ansi-colors: 4.1.3 + browserslist: 4.24.4 + chokidar: 4.0.3 + commander: 13.1.0 + convert-source-map: 2.0.0 + dependency-graph: 1.0.0 + esbuild: 0.24.2 + fast-glob: 3.3.2 + find-cache-dir: 3.3.2 + injection-js: 2.4.0 + jsonc-parser: 3.3.1 + less: 4.2.0 + ora: 5.4.1 + piscina: 4.8.0 + postcss: 8.5.1 + rxjs: 7.8.1 + sass: 1.83.0 + tslib: 2.8.1 + typescript: 5.7.3 + optionalDependencies: + rollup: 4.32.0 optional: true no-case@3.0.4: @@ -19138,9 +17503,6 @@ snapshots: lower-case: 2.0.2 tslib: 2.8.1 - node-addon-api@3.2.1: - optional: true - node-addon-api@6.1.0: optional: true @@ -19154,24 +17516,6 @@ snapshots: detect-libc: 2.0.3 optional: true - node-gyp-build@4.8.4: - optional: true - - node-gyp@10.3.1: - dependencies: - env-paths: 2.2.1 - exponential-backoff: 3.1.1 - glob: 10.4.2 - graceful-fs: 4.2.11 - make-fetch-happen: 13.0.1 - nopt: 7.2.1 - proc-log: 4.2.0 - semver: 7.6.3 - tar: 6.2.1 - which: 4.0.0 - transitivePeerDependencies: - - supports-color - node-gyp@11.0.0: dependencies: env-paths: 2.2.1 @@ -19194,24 +17538,12 @@ snapshots: node-machine-id@1.1.12: {} - node-releases@2.0.14: {} - node-releases@2.0.19: {} - nopt@7.2.1: - dependencies: - abbrev: 2.0.0 - nopt@8.0.0: dependencies: abbrev: 2.0.0 - normalize-package-data@6.0.2: - dependencies: - hosted-git-info: 7.0.2 - semver: 7.6.3 - validate-npm-package-license: 3.0.4 - normalize-package-data@7.0.0: dependencies: hosted-git-info: 8.0.2 @@ -19226,36 +17558,19 @@ snapshots: dependencies: npm-normalize-package-bin: 2.0.0 - npm-bundled@3.0.1: - dependencies: - npm-normalize-package-bin: 3.0.1 - npm-bundled@4.0.0: dependencies: npm-normalize-package-bin: 4.0.0 - npm-install-checks@6.3.0: - dependencies: - semver: 7.6.3 - npm-install-checks@7.1.1: dependencies: semver: 7.6.3 npm-normalize-package-bin@2.0.0: {} - npm-normalize-package-bin@3.0.1: {} - npm-normalize-package-bin@4.0.0: {} - npm-package-arg@11.0.1: - dependencies: - hosted-git-info: 7.0.2 - proc-log: 3.0.0 - semver: 7.6.3 - validate-npm-package-name: 5.0.1 - - npm-package-arg@12.0.0: + npm-package-arg@12.0.1: dependencies: hosted-git-info: 8.0.2 proc-log: 5.0.0 @@ -19269,10 +17584,6 @@ snapshots: npm-bundled: 2.0.1 npm-normalize-package-bin: 2.0.0 - npm-packlist@8.0.2: - dependencies: - ignore-walk: 6.0.5 - npm-packlist@9.0.0: dependencies: ignore-walk: 7.0.0 @@ -19281,29 +17592,9 @@ snapshots: dependencies: npm-install-checks: 7.1.1 npm-normalize-package-bin: 4.0.0 - npm-package-arg: 12.0.0 - semver: 7.6.3 - - npm-pick-manifest@9.0.0: - dependencies: - npm-install-checks: 6.3.0 - npm-normalize-package-bin: 3.0.1 - npm-package-arg: 11.0.1 + npm-package-arg: 12.0.1 semver: 7.6.3 - npm-registry-fetch@16.2.1: - dependencies: - '@npmcli/redact': 1.1.0 - make-fetch-happen: 13.0.1 - minipass: 7.1.2 - minipass-fetch: 3.0.5 - minipass-json-stream: 1.0.2 - minizlib: 2.1.2 - npm-package-arg: 11.0.1 - proc-log: 4.2.0 - transitivePeerDependencies: - - supports-color - npm-registry-fetch@18.0.2: dependencies: '@npmcli/redact': 3.0.0 @@ -19312,7 +17603,7 @@ snapshots: minipass: 7.1.2 minipass-fetch: 4.0.0 minizlib: 3.0.1 - npm-package-arg: 12.0.0 + npm-package-arg: 12.0.1 proc-log: 5.0.0 transitivePeerDependencies: - supports-color @@ -19420,6 +17711,13 @@ snapshots: dependencies: mimic-function: 5.0.1 + open@10.1.0: + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 3.1.0 + open@8.4.2: dependencies: define-lazy-prop: 2.0.0 @@ -19495,39 +17793,16 @@ snapshots: p-map@7.0.3: {} - p-retry@4.6.2: + p-retry@6.2.1: dependencies: - '@types/retry': 0.12.0 + '@types/retry': 0.12.2 + is-network-error: 1.1.0 retry: 0.13.1 p-try@2.2.0: {} package-json-from-dist@1.0.0: {} - pacote@17.0.6: - dependencies: - '@npmcli/git': 5.0.8 - '@npmcli/installed-package-contents': 2.1.0 - '@npmcli/promise-spawn': 7.0.2 - '@npmcli/run-script': 7.0.4 - cacache: 18.0.4 - fs-minipass: 3.0.3 - minipass: 7.1.2 - npm-package-arg: 11.0.1 - npm-packlist: 8.0.2 - npm-pick-manifest: 9.0.0 - npm-registry-fetch: 16.2.1 - proc-log: 3.0.0 - promise-retry: 2.0.1 - read-package-json: 7.0.1 - read-package-json-fast: 3.0.2 - sigstore: 2.3.1 - ssri: 10.0.6 - tar: 6.2.1 - transitivePeerDependencies: - - bluebird - - supports-color - pacote@20.0.0: dependencies: '@npmcli/git': 6.0.1 @@ -19538,7 +17813,7 @@ snapshots: cacache: 19.0.1 fs-minipass: 3.0.3 minipass: 7.1.2 - npm-package-arg: 12.0.0 + npm-package-arg: 12.0.1 npm-packlist: 9.0.0 npm-pick-manifest: 10.0.0 npm-registry-fetch: 18.0.2 @@ -19631,7 +17906,7 @@ snapshots: path-to-regexp@3.3.0: {} - path-type@4.0.0: {} + path-type@5.0.0: {} pathe@1.1.2: {} @@ -19641,21 +17916,11 @@ snapshots: picomatch@2.3.1: {} - picomatch@4.0.1: {} - picomatch@4.0.2: {} pify@4.0.1: optional: true - piscina@4.4.0: - optionalDependencies: - nice-napi: 1.0.2 - - piscina@4.7.0: - optionalDependencies: - '@napi-rs/nice': 1.0.1 - piscina@4.8.0: optionalDependencies: '@napi-rs/nice': 1.0.1 @@ -19681,28 +17946,28 @@ snapshots: optionalDependencies: postcss: 8.4.49 - postcss-loader@8.1.1(postcss@8.4.35)(typescript@5.4.5)(webpack@5.90.3(esbuild@0.20.1)): + postcss-loader@8.1.1(postcss@8.4.49)(typescript@5.6.3)(webpack@5.97.1(esbuild@0.24.2)): dependencies: - cosmiconfig: 9.0.0(typescript@5.4.5) + cosmiconfig: 9.0.0(typescript@5.6.3) jiti: 1.21.7 - postcss: 8.4.35 + postcss: 8.4.49 semver: 7.6.3 optionalDependencies: - webpack: 5.90.3(esbuild@0.24.2) + webpack: 5.97.1(esbuild@0.24.2) transitivePeerDependencies: - typescript + optional: true - postcss-loader@8.1.1(postcss@8.4.35)(typescript@5.6.3)(webpack@5.90.3(esbuild@0.20.1)): + postcss-loader@8.1.1(postcss@8.4.49)(typescript@5.7.3)(webpack@5.97.1(esbuild@0.24.2)): dependencies: - cosmiconfig: 9.0.0(typescript@5.6.3) + cosmiconfig: 9.0.0(typescript@5.7.3) jiti: 1.21.7 - postcss: 8.4.35 + postcss: 8.4.49 semver: 7.6.3 optionalDependencies: - webpack: 5.90.3(esbuild@0.24.2) + webpack: 5.97.1(esbuild@0.24.2) transitivePeerDependencies: - typescript - optional: true postcss-media-query-parser@0.2.3: {} @@ -19747,12 +18012,6 @@ snapshots: postcss-value-parser@4.2.0: {} - postcss@8.4.35: - dependencies: - nanoid: 3.3.8 - picocolors: 1.1.1 - source-map-js: 1.2.1 - postcss@8.4.49: dependencies: nanoid: 3.3.7 @@ -19786,10 +18045,6 @@ snapshots: dependencies: parse-ms: 4.0.0 - proc-log@3.0.0: {} - - proc-log@4.2.0: {} - proc-log@5.0.0: {} process-nextick-args@2.0.1: {} @@ -19882,18 +18137,6 @@ snapshots: react@19.0.0: {} - read-package-json-fast@3.0.2: - dependencies: - json-parse-even-better-errors: 3.0.2 - npm-normalize-package-bin: 3.0.1 - - read-package-json@7.0.1: - dependencies: - glob: 10.4.2 - json-parse-even-better-errors: 3.0.2 - normalize-package-data: 6.0.2 - npm-normalize-package-bin: 3.0.1 - readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 @@ -19937,7 +18180,7 @@ snapshots: regenerator-transform@0.15.2: dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.26.0 regex-parser@2.3.0: {} @@ -19980,8 +18223,6 @@ snapshots: resolve-from@4.0.0: {} - resolve-from@5.0.0: {} - resolve-pkg-maps@1.0.0: {} resolve-url-loader@5.0.0: @@ -20000,12 +18241,6 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - resolve@1.22.8: - dependencies: - is-core-module: 2.14.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - restore-cursor@3.1.0: dependencies: onetime: 5.1.2 @@ -20043,30 +18278,6 @@ snapshots: magic-string: 0.30.17 rollup: 4.32.0 - rollup@4.26.0: - dependencies: - '@types/estree': 1.0.6 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.26.0 - '@rollup/rollup-android-arm64': 4.26.0 - '@rollup/rollup-darwin-arm64': 4.26.0 - '@rollup/rollup-darwin-x64': 4.26.0 - '@rollup/rollup-freebsd-arm64': 4.26.0 - '@rollup/rollup-freebsd-x64': 4.26.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.26.0 - '@rollup/rollup-linux-arm-musleabihf': 4.26.0 - '@rollup/rollup-linux-arm64-gnu': 4.26.0 - '@rollup/rollup-linux-arm64-musl': 4.26.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.26.0 - '@rollup/rollup-linux-riscv64-gnu': 4.26.0 - '@rollup/rollup-linux-s390x-gnu': 4.26.0 - '@rollup/rollup-linux-x64-gnu': 4.26.0 - '@rollup/rollup-linux-x64-musl': 4.26.0 - '@rollup/rollup-win32-arm64-msvc': 4.26.0 - '@rollup/rollup-win32-ia32-msvc': 4.26.0 - '@rollup/rollup-win32-x64-msvc': 4.26.0 - fsevents: 2.3.3 - rollup@4.29.1: dependencies: '@types/estree': 1.0.6 @@ -20092,6 +18303,31 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.29.1 fsevents: 2.3.3 + rollup@4.30.1: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.30.1 + '@rollup/rollup-android-arm64': 4.30.1 + '@rollup/rollup-darwin-arm64': 4.30.1 + '@rollup/rollup-darwin-x64': 4.30.1 + '@rollup/rollup-freebsd-arm64': 4.30.1 + '@rollup/rollup-freebsd-x64': 4.30.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.30.1 + '@rollup/rollup-linux-arm-musleabihf': 4.30.1 + '@rollup/rollup-linux-arm64-gnu': 4.30.1 + '@rollup/rollup-linux-arm64-musl': 4.30.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.30.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.30.1 + '@rollup/rollup-linux-riscv64-gnu': 4.30.1 + '@rollup/rollup-linux-s390x-gnu': 4.30.1 + '@rollup/rollup-linux-x64-gnu': 4.30.1 + '@rollup/rollup-linux-x64-musl': 4.30.1 + '@rollup/rollup-win32-arm64-msvc': 4.30.1 + '@rollup/rollup-win32-ia32-msvc': 4.30.1 + '@rollup/rollup-win32-x64-msvc': 4.30.1 + fsevents: 2.3.3 + rollup@4.32.0: dependencies: '@types/estree': 1.0.6 @@ -20119,7 +18355,7 @@ snapshots: rrweb-cssom@0.7.1: {} - run-async@3.0.0: {} + run-applescript@7.0.0: {} run-parallel@1.2.0: dependencies: @@ -20145,20 +18381,14 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@14.1.1(sass@1.71.1)(webpack@5.90.3(esbuild@0.20.1)): + sass-loader@16.0.4(sass@1.83.1)(webpack@5.97.1(esbuild@0.24.2)): dependencies: neo-async: 2.6.2 optionalDependencies: - sass: 1.71.1 - webpack: 5.90.3(esbuild@0.24.2) - - sass@1.71.1: - dependencies: - chokidar: 3.6.0 - immutable: 4.3.7 - source-map-js: 1.2.1 + sass: 1.83.1 + webpack: 5.97.1(esbuild@0.24.2) - sass@1.80.7: + sass@1.83.0: dependencies: chokidar: 4.0.3 immutable: 5.0.3 @@ -20166,7 +18396,7 @@ snapshots: optionalDependencies: '@parcel/watcher': 2.5.0 - sass@1.83.0: + sass@1.83.1: dependencies: chokidar: 4.0.3 immutable: 5.0.3 @@ -20216,10 +18446,6 @@ snapshots: dependencies: lru-cache: 6.0.0 - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 - semver@7.6.3: {} send@0.19.0: @@ -20297,15 +18523,6 @@ snapshots: transitivePeerDependencies: - supports-color - set-function-length@1.2.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.7 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - setprototypeof@1.1.0: {} setprototypeof@1.2.0: {} @@ -20391,17 +18608,6 @@ snapshots: signal-exit@4.1.0: {} - sigstore@2.3.1: - dependencies: - '@sigstore/bundle': 2.3.2 - '@sigstore/core': 1.1.0 - '@sigstore/protobuf-specs': 0.3.2 - '@sigstore/sign': 2.3.2 - '@sigstore/tuf': 2.3.4 - '@sigstore/verify': 1.2.1 - transitivePeerDependencies: - - supports-color - sigstore@3.0.0: dependencies: '@sigstore/bundle': 3.0.0 @@ -20431,7 +18637,7 @@ snapshots: picocolors: 1.1.1 tinyglobby: 0.2.10 - slash@4.0.0: {} + slash@5.1.0: {} slice-ansi@5.0.0: dependencies: @@ -20515,11 +18721,11 @@ snapshots: source-map-js@1.2.1: {} - source-map-loader@5.0.0(webpack@5.90.3(esbuild@0.20.1)): + source-map-loader@5.0.0(webpack@5.97.1(esbuild@0.24.2)): dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.1 - webpack: 5.90.3(esbuild@0.24.2) + webpack: 5.97.1(esbuild@0.24.2) source-map-support@0.5.21: dependencies: @@ -20571,10 +18777,6 @@ snapshots: sprintf-js@1.1.3: {} - ssri@10.0.6: - dependencies: - minipass: 7.1.2 - ssri@12.0.0: dependencies: minipass: 7.1.2 @@ -20763,24 +18965,17 @@ snapshots: mkdirp: 3.0.1 yallist: 5.0.0 - terser-webpack-plugin@5.3.11(esbuild@0.24.2)(webpack@5.90.3(esbuild@0.20.1)): + terser-webpack-plugin@5.3.11(esbuild@0.24.2)(webpack@5.97.1(esbuild@0.24.2)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.37.0 - webpack: 5.90.3(esbuild@0.24.2) + webpack: 5.97.1(esbuild@0.24.2) optionalDependencies: esbuild: 0.24.2 - terser@5.29.1: - dependencies: - '@jridgewell/source-map': 0.3.6 - acorn: 8.14.0 - commander: 2.20.3 - source-map-support: 0.5.21 - terser@5.37.0: dependencies: '@jridgewell/source-map': 0.3.6 @@ -20788,14 +18983,12 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - test-exclude@6.0.0: - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - text-extensions@2.4.0: {} + thingies@1.21.0(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + through@2.3.8: {} thunky@1.1.0: {} @@ -20845,6 +19038,10 @@ snapshots: dependencies: punycode: 2.3.1 + tree-dump@1.0.2(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + tree-kill@1.2.2: {} ts-api-utils@1.3.0(typescript@5.6.3): @@ -20881,8 +19078,6 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tslib@2.6.2: {} - tslib@2.8.1: {} tsx@4.19.2: @@ -20892,18 +19087,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - tuf-js@2.2.1: - dependencies: - '@tufjs/models': 2.0.1 - debug: 4.4.0 - make-fetch-happen: 13.0.1 - transitivePeerDependencies: - - supports-color - tuf-js@3.0.1: dependencies: '@tufjs/models': 3.0.1 - debug: 4.3.6 + debug: 4.4.0 make-fetch-happen: 14.0.3 transitivePeerDependencies: - supports-color @@ -20971,8 +19158,6 @@ snapshots: undici-types@6.20.0: {} - undici@6.11.1: {} - unicode-canonical-property-names-ecmascript@2.0.1: {} unicode-match-property-ecmascript@2.0.0: @@ -20984,18 +19169,12 @@ snapshots: unicode-property-aliases-ecmascript@2.1.0: {} - unique-filename@3.0.0: - dependencies: - unique-slug: 4.0.0 + unicorn-magic@0.1.0: {} unique-filename@4.0.0: dependencies: unique-slug: 5.0.0 - unique-slug@4.0.0: - dependencies: - imurmurhash: 0.1.4 - unique-slug@5.0.0: dependencies: imurmurhash: 0.1.4 @@ -21015,12 +19194,6 @@ snapshots: acorn: 8.14.0 webpack-virtual-modules: 0.6.2 - update-browserslist-db@1.0.16(browserslist@4.23.1): - dependencies: - browserslist: 4.23.1 - escalade: 3.1.2 - picocolors: 1.1.1 - update-browserslist-db@1.1.2(browserslist@4.24.4): dependencies: browserslist: 4.24.4 @@ -21059,8 +19232,6 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - validate-npm-package-name@5.0.1: {} - validate-npm-package-name@6.0.0: {} vary@1.1.2: {} @@ -21075,13 +19246,13 @@ snapshots: '@types/unist': 3.0.2 vfile-message: 4.0.2 - vite-node@2.1.8(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0): + vite-node@2.1.8(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - '@types/node' - less @@ -21093,13 +19264,13 @@ snapshots: - supports-color - terser - vite-node@2.1.8(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0): + vite-node@2.1.8(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - '@types/node' - less @@ -21111,7 +19282,7 @@ snapshots: - supports-color - terser - vite-plugin-dts@4.0.3(@types/node@22.10.2)(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)): + vite-plugin-dts@4.0.3(@types/node@22.10.2)(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)): dependencies: '@microsoft/api-extractor': 7.47.4(@types/node@22.10.2) '@rollup/pluginutils': 5.1.0(rollup@4.32.0) @@ -21125,17 +19296,17 @@ snapshots: typescript: 5.6.3 vue-tsc: 2.0.29(typescript@5.6.3) optionalDependencies: - vite: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-externalize-deps@0.8.0(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)): + vite-plugin-externalize-deps@0.8.0(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)): dependencies: - vite: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) - vite-plugin-solid@2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)): + vite-plugin-solid@2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)): dependencies: '@babel/core': 7.24.7 '@types/babel__core': 7.20.5 @@ -21143,14 +19314,14 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.3 solid-refresh: 0.6.3(solid-js@1.9.3) - vite: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) - vitefu: 1.0.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vitefu: 1.0.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) optionalDependencies: '@testing-library/jest-dom': 6.6.3 transitivePeerDependencies: - supports-color - vite-plugin-solid@2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)): + vite-plugin-solid@2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)): dependencies: '@babel/core': 7.24.7 '@types/babel__core': 7.20.5 @@ -21158,49 +19329,25 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.3 solid-refresh: 0.6.3(solid-js@1.9.3) - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) - vitefu: 1.0.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vitefu: 1.0.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) optionalDependencies: '@testing-library/jest-dom': 6.6.3 transitivePeerDependencies: - supports-color - vite-tsconfig-paths@5.1.4(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)): + vite-tsconfig-paths@5.1.4(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)): dependencies: debug: 4.3.6 globrex: 0.1.2 tsconfck: 3.1.1(typescript@5.6.3) optionalDependencies: - vite: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - supports-color - typescript - vite@5.1.7(@types/node@22.10.10)(less@4.2.0)(sass@1.71.1)(terser@5.29.1): - dependencies: - esbuild: 0.19.12 - postcss: 8.5.1 - rollup: 4.32.0 - optionalDependencies: - '@types/node': 22.10.10 - fsevents: 2.3.3 - less: 4.2.0 - sass: 1.71.1 - terser: 5.29.1 - - vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.80.7)(terser@5.37.0): - dependencies: - esbuild: 0.21.5 - postcss: 8.4.49 - rollup: 4.29.1 - optionalDependencies: - '@types/node': 22.10.10 - fsevents: 2.3.3 - less: 4.2.0 - sass: 1.80.7 - terser: 5.37.0 - - vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0): + vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0): dependencies: esbuild: 0.21.5 postcss: 8.4.49 @@ -21208,11 +19355,11 @@ snapshots: optionalDependencies: '@types/node': 22.10.10 fsevents: 2.3.3 - less: 4.2.0 - sass: 1.83.0 + less: 4.2.1 + sass: 1.83.1 terser: 5.37.0 - vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0): + vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0): dependencies: esbuild: 0.21.5 postcss: 8.4.49 @@ -21220,11 +19367,11 @@ snapshots: optionalDependencies: '@types/node': 22.10.2 fsevents: 2.3.3 - less: 4.2.0 - sass: 1.83.0 + less: 4.2.1 + sass: 1.83.1 terser: 5.37.0 - vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1): + vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1): dependencies: esbuild: 0.24.2 postcss: 8.5.1 @@ -21233,24 +19380,24 @@ snapshots: '@types/node': 22.10.10 fsevents: 2.3.3 jiti: 2.4.2 - less: 4.2.0 - sass: 1.83.0 + less: 4.2.1 + sass: 1.83.1 terser: 5.37.0 tsx: 4.19.2 yaml: 2.6.1 - vitefu@1.0.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)): + vitefu@1.0.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)): optionalDependencies: - vite: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) - vitefu@1.0.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)): + vitefu@1.0.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)): optionalDependencies: - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) - vitest@2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.0)(sass@1.83.0)(terser@5.37.0): + vitest@2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.1)(sass@1.83.1)(terser@5.37.0): dependencies: '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.8 '@vitest/snapshot': 2.1.8 @@ -21266,8 +19413,8 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) - vite-node: 2.1.8(@types/node@22.10.10)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite-node: 2.1.8(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.10.10 @@ -21283,10 +19430,10 @@ snapshots: - supports-color - terser - vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.0)(sass@1.83.0)(terser@5.37.0): + vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(sass@1.83.1)(terser@5.37.0): dependencies: '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0)) + '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.8 '@vitest/snapshot': 2.1.8 @@ -21302,8 +19449,8 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) - vite-node: 2.1.8(@types/node@22.10.2)(less@4.2.0)(sass@1.83.0)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite-node: 2.1.8(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.10.2 @@ -21373,11 +19520,6 @@ snapshots: dependencies: xml-name-validator: 5.0.0 - watchpack@2.4.0: - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - watchpack@2.4.2: dependencies: glob-to-regexp: 0.4.1 @@ -21396,26 +19538,18 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@5.3.4(webpack@5.90.3(esbuild@0.20.1)): - dependencies: - colorette: 2.0.20 - memfs: 3.5.3 - mime-types: 2.1.35 - range-parser: 1.2.1 - schema-utils: 4.3.0 - webpack: 5.90.3(esbuild@0.24.2) - - webpack-dev-middleware@6.1.2(webpack@5.90.3(esbuild@0.20.1)): + webpack-dev-middleware@7.4.2(webpack@5.97.1(esbuild@0.24.2)): dependencies: colorette: 2.0.20 - memfs: 3.5.3 + memfs: 4.17.0 mime-types: 2.1.35 + on-finished: 2.4.1 range-parser: 1.2.1 schema-utils: 4.3.0 optionalDependencies: - webpack: 5.90.3(esbuild@0.24.2) + webpack: 5.97.1(esbuild@0.24.2) - webpack-dev-server@4.15.1(webpack@5.90.3(esbuild@0.20.1)): + webpack-dev-server@5.2.0(webpack@5.97.1(esbuild@0.24.2)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -21430,32 +19564,29 @@ snapshots: colorette: 2.0.20 compression: 1.7.5 connect-history-api-fallback: 2.0.0 - default-gateway: 6.0.3 express: 4.21.2 graceful-fs: 4.2.11 - html-entities: 2.5.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.21) + http-proxy-middleware: 2.0.7(@types/express@4.17.21) ipaddr.js: 2.2.0 launch-editor: 2.9.1 - open: 8.4.2 - p-retry: 4.6.2 - rimraf: 3.0.2 + open: 10.1.0 + p-retry: 6.2.1 schema-utils: 4.3.0 selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 5.3.4(webpack@5.90.3(esbuild@0.20.1)) + webpack-dev-middleware: 7.4.2(webpack@5.97.1(esbuild@0.24.2)) ws: 8.18.0 optionalDependencies: - webpack: 5.90.3(esbuild@0.24.2) + webpack: 5.97.1(esbuild@0.24.2) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate - webpack-merge@5.10.0: + webpack-merge@6.0.1: dependencies: clone-deep: 4.0.1 flat: 5.0.2 @@ -21463,14 +19594,14 @@ snapshots: webpack-sources@3.2.3: {} - webpack-subresource-integrity@5.1.0(webpack@5.90.3(esbuild@0.20.1)): + webpack-subresource-integrity@5.1.0(webpack@5.97.1(esbuild@0.24.2)): dependencies: typed-assert: 1.0.9 - webpack: 5.90.3(esbuild@0.24.2) + webpack: 5.97.1(esbuild@0.24.2) webpack-virtual-modules@0.6.2: {} - webpack@5.90.3(esbuild@0.24.2): + webpack@5.97.1(esbuild@0.24.2): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -21478,7 +19609,6 @@ snapshots: '@webassemblyjs/wasm-edit': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.14.0 - acorn-import-assertions: 1.9.0(acorn@8.14.0) browserslist: 4.24.4 chrome-trace-event: 1.0.4 enhanced-resolve: 5.18.0 @@ -21493,7 +19623,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.11(esbuild@0.24.2)(webpack@5.90.3(esbuild@0.20.1)) + terser-webpack-plugin: 5.3.11(esbuild@0.24.2)(webpack@5.97.1(esbuild@0.24.2)) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -21528,10 +19658,6 @@ snapshots: dependencies: isexe: 2.0.0 - which@4.0.0: - dependencies: - isexe: 3.1.1 - which@5.0.0: dependencies: isexe: 3.1.1 @@ -21618,7 +19744,7 @@ snapshots: yargs@17.7.2: dependencies: cliui: 8.0.1 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -21639,6 +19765,4 @@ snapshots: zod@3.23.8: {} - zone.js@0.14.10: {} - zone.js@0.15.0: {} From 3bacaa5933e0cb9b546334e461ff3e38ce46764c Mon Sep 17 00:00:00 2001 From: riccardoperra Date: Wed, 5 Feb 2025 19:14:48 +0100 Subject: [PATCH 15/22] fix conflicts in examples/react --- .../react/virtualized-columns/src/main.tsx | 274 +++--------------- examples/react/virtualized-rows/src/main.tsx | 135 ++------- 2 files changed, 77 insertions(+), 332 deletions(-) diff --git a/examples/react/virtualized-columns/src/main.tsx b/examples/react/virtualized-columns/src/main.tsx index 27fad76760..59f0dab022 100644 --- a/examples/react/virtualized-columns/src/main.tsx +++ b/examples/react/virtualized-columns/src/main.tsx @@ -2,7 +2,6 @@ import React from 'react' import ReactDOM from 'react-dom/client' import './index.css' import { -<<<<<<< HEAD columnSizingFeature, createSortedRowModel, flexRender, @@ -10,32 +9,27 @@ import { sortFns, useTable, } from '@tanstack/react-table' -import { useVirtualizer } from '@tanstack/react-virtual' +import { + useVirtualizer +} from '@tanstack/react-virtual' import { makeColumns, makeData } from './makeData' -import type { Person } from './makeData' -import type { ColumnDef } from '@tanstack/react-table' -======= +import type { Cell, ColumnDef, Header, HeaderGroup, Row, - Table, - flexRender, - getCoreRowModel, - getSortedRowModel, - useReactTable, -} from '@tanstack/react-table' -import { - useVirtualizer, + Table +} from '@tanstack/react-table'; +import type { VirtualItem, - Virtualizer, -} from '@tanstack/react-virtual' -import { makeColumns, makeData, Person } from './makeData' ->>>>>>> origin/main + Virtualizer} from '@tanstack/react-virtual'; +import type { Person } from './makeData'; + +const features = { columnSizingFeature, rowSortingFeature }; function App() { - const columns = React.useMemo>>( + const columns = React.useMemo>>( () => makeColumns(1_000), [], ) @@ -47,62 +41,14 @@ function App() { }, [columns]) const table = useTable({ - _features: { columnSizingFeature, rowSortingFeature }, + _features: features, _rowModels: { sortedRowModel: createSortedRowModel(sortFns) }, columns, data, debugTable: true, }) -<<<<<<< HEAD - const { rows } = table.getRowModel() - - const visibleColumns = table.getVisibleLeafColumns() - - // The virtualizers need to know the scrollable container element - const tableContainerRef = React.useRef(null) - - // we are using a slightly different virtualization strategy for columns (compared to virtual rows) in order to support dynamic row heights - const columnVirtualizer = useVirtualizer({ - count: visibleColumns.length, - estimateSize: (index) => visibleColumns[index].getSize(), // estimate width of each column for accurate scrollbar dragging - getScrollElement: () => tableContainerRef.current, - horizontal: true, - overscan: 3, // how many columns to render on each side off screen each way (adjust this for performance) - }) - - // dynamic row height virtualization - alternatively you could use a simpler fixed row height strategy without the need for `measureElement` - const rowVirtualizer = useVirtualizer({ - count: rows.length, - estimateSize: () => 33, // estimate row height for accurate scrollbar dragging - getScrollElement: () => tableContainerRef.current, - // measure dynamic row height, except in firefox because it measures table border height incorrectly - measureElement: - typeof window !== 'undefined' && - navigator.userAgent.indexOf('Firefox') === -1 - ? (element) => element.getBoundingClientRect().height - : undefined, - overscan: 5, - }) - - const virtualColumns = columnVirtualizer.getVirtualItems() - const virtualRows = rowVirtualizer.getVirtualItems() - - // different virtualization strategy for columns - instead of absolute and translateY, we add empty columns to the left and right - let virtualPaddingLeft: number | undefined - let virtualPaddingRight: number | undefined - - if (virtualColumns.length) { - virtualPaddingLeft = virtualColumns[0]?.start ?? 0 - virtualPaddingRight = - columnVirtualizer.getTotalSize() - - (virtualColumns[virtualColumns.length - 1]?.end ?? 0) - } - // All important CSS styles are included as inline styles for this example. This is not recommended for your code. -======= - //All important CSS styles are included as inline styles for this example. This is not recommended for your code. ->>>>>>> origin/main return (
{process.env.NODE_ENV === 'development' ? ( @@ -121,34 +67,34 @@ function App() { } interface TableContainerProps { - table: Table + table: Table } function TableContainer({ table }: TableContainerProps) { const visibleColumns = table.getVisibleLeafColumns() - //The virtualizers need to know the scrollable container element + // The virtualizers need to know the scrollable container element const tableContainerRef = React.useRef(null) - //we are using a slightly different virtualization strategy for columns (compared to virtual rows) in order to support dynamic row heights + // we are using a slightly different virtualization strategy for columns (compared to virtual rows) in order to support dynamic row heights const columnVirtualizer = useVirtualizer< HTMLDivElement, HTMLTableCellElement >({ count: visibleColumns.length, - estimateSize: index => visibleColumns[index].getSize(), //estimate width of each column for accurate scrollbar dragging + estimateSize: (index) => visibleColumns[index].getSize(), // estimate width of each column for accurate scrollbar dragging getScrollElement: () => tableContainerRef.current, horizontal: true, - overscan: 3, //how many columns to render on each side off screen each way (adjust this for performance) + overscan: 3, // how many columns to render on each side off screen each way (adjust this for performance) }) const virtualColumns = columnVirtualizer.getVirtualItems() - //different virtualization strategy for columns - instead of absolute and translateY, we add empty columns to the left and right + // different virtualization strategy for columns - instead of absolute and translateY, we add empty columns to the left and right let virtualPaddingLeft: number | undefined let virtualPaddingRight: number | undefined - if (columnVirtualizer && virtualColumns?.length) { + if (columnVirtualizer && virtualColumns.length) { virtualPaddingLeft = virtualColumns[0]?.start ?? 0 virtualPaddingRight = columnVirtualizer.getTotalSize() - @@ -160,9 +106,9 @@ function TableContainer({ table }: TableContainerProps) { className="container" ref={tableContainerRef} style={{ - overflow: 'auto', //our scrollable table container - position: 'relative', //needed for sticky header - height: '800px', //should be a fixed height + overflow: 'auto', // our scrollable table container + position: 'relative', // needed for sticky header + height: '800px', // should be a fixed height }} > {/* Even though we're still using sematic table tags, we must use CSS grid and flexbox for dynamic row heights */} @@ -187,7 +133,7 @@ function TableContainer({ table }: TableContainerProps) { interface TableHeadProps { columnVirtualizer: Virtualizer - table: Table + table: Table virtualPaddingLeft: number | undefined virtualPaddingRight: number | undefined } @@ -207,7 +153,7 @@ function TableHead({ zIndex: 1, }} > - {table.getHeaderGroups().map(headerGroup => ( + {table.getHeaderGroups().map((headerGroup) => ( - headerGroup: HeaderGroup + headerGroup: HeaderGroup virtualPaddingLeft: number | undefined virtualPaddingRight: number | undefined } @@ -237,15 +183,15 @@ function TableHeadRow({ return ( {virtualPaddingLeft ? ( - //fake empty column to the left for virtualization scroll padding + // fake empty column to the left for virtualization scroll padding ) : null} - {virtualColumns.map(virtualColumn => { + {virtualColumns.map((virtualColumn) => { const header = headerGroup.headers[virtualColumn.index] return })} {virtualPaddingRight ? ( - //fake empty column to the right for virtualization scroll padding + // fake empty column to the right for virtualization scroll padding ) : null} @@ -253,7 +199,7 @@ function TableHeadRow({ } interface TableHeadCellProps { - header: Header + header: Header } function TableHeadCell({ header }: TableHeadCellProps) { @@ -266,129 +212,6 @@ function TableHeadCell({ header }: TableHeadCellProps) { }} >
- {/* Even though we're still using sematic table tags, we must use CSS grid and flexbox for dynamic row heights */} - - - {table.getHeaderGroups().map((headerGroup) => ( - - {virtualPaddingLeft ? ( - // fake empty column to the left for virtualization scroll padding - - ) - })} - {virtualPaddingRight ? ( - // fake empty column to the right for virtualization scroll padding - - ))} - - - {virtualRows.map((virtualRow) => { - const row = rows[virtualRow.index] - const visibleCells = row.getVisibleCells() - - return ( - rowVirtualizer.measureElement(node)} // measure dynamic row height - key={row.id} - style={{ - display: 'flex', - position: 'absolute', - transform: `translateY(${virtualRow.start}px)`, // this should always be a `style` as it changes on scroll - width: '100%', - }} - > - {virtualPaddingLeft ? ( - // fake empty column to the left for virtualization scroll padding - - ) - })} - {virtualPaddingRight ? ( - // fake empty column to the right for virtualization scroll padding - - ) - })} - -
- ) : null} - {virtualColumns.map((vc) => { - const header = headerGroup.headers[vc.index] - return ( - -
- {flexRender( - header.column.columnDef.header, - header.getContext(), - )} - {{ - asc: ' 🔼', - desc: ' 🔽', - }[header.column.getIsSorted() as string] ?? null} -
-
- ) : null} -
- ) : null} - {virtualColumns.map((vc) => { - const cell = visibleCells[vc.index] - return ( - - {flexRender( - cell.column.columnDef.cell, - cell.getContext(), - )} - - ) : null} -
-======= {...{ className: header.column.getCanSort() ? 'cursor-pointer select-none' @@ -401,7 +224,6 @@ function TableHeadCell({ header }: TableHeadCellProps) { asc: ' 🔼', desc: ' 🔽', }[header.column.getIsSorted() as string] ?? null} ->>>>>>> origin/main
) @@ -409,8 +231,8 @@ function TableHeadCell({ header }: TableHeadCellProps) { interface TableBodyProps { columnVirtualizer: Virtualizer - table: Table - tableContainerRef: React.RefObject + table: Table + tableContainerRef: React.RefObject virtualPaddingLeft: number | undefined virtualPaddingRight: number | undefined } @@ -424,16 +246,16 @@ function TableBody({ }: TableBodyProps) { const { rows } = table.getRowModel() - //dynamic row height virtualization - alternatively you could use a simpler fixed row height strategy without the need for `measureElement` + // dynamic row height virtualization - alternatively you could use a simpler fixed row height strategy without the need for `measureElement` const rowVirtualizer = useVirtualizer({ count: rows.length, - estimateSize: () => 33, //estimate row height for accurate scrollbar dragging + estimateSize: () => 33, // estimate row height for accurate scrollbar dragging getScrollElement: () => tableContainerRef.current, - //measure dynamic row height, except in firefox because it measures table border height incorrectly + // measure dynamic row height, except in firefox because it measures table border height incorrectly measureElement: typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1 - ? element => element?.getBoundingClientRect().height + ? (element) => element.getBoundingClientRect().height : undefined, overscan: 5, }) @@ -444,12 +266,12 @@ function TableBody({ - {virtualRows.map(virtualRow => { - const row = rows[virtualRow.index] as Row + {virtualRows.map((virtualRow) => { + const row = rows[virtualRow.index] return ( - row: Row + row: Row rowVirtualizer: Virtualizer virtualPaddingLeft: number | undefined virtualPaddingRight: number | undefined @@ -488,26 +310,26 @@ function TableBodyRow({ const virtualColumns = columnVirtualizer.getVirtualItems() return ( rowVirtualizer.measureElement(node)} //measure dynamic row height + data-index={virtualRow.index} // needed for dynamic row height measurement + ref={(node) => rowVirtualizer.measureElement(node)} // measure dynamic row height key={row.id} style={{ display: 'flex', position: 'absolute', - transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll + transform: `translateY(${virtualRow.start}px)`, // this should always be a `style` as it changes on scroll width: '100%', }} > {virtualPaddingLeft ? ( - //fake empty column to the left for virtualization scroll padding + // fake empty column to the left for virtualization scroll padding ) : null} - {virtualColumns.map(vc => { + {virtualColumns.map((vc) => { const cell = visibleCells[vc.index] return })} {virtualPaddingRight ? ( - //fake empty column to the right for virtualization scroll padding + // fake empty column to the right for virtualization scroll padding ) : null} @@ -515,7 +337,7 @@ function TableBodyRow({ } interface TableBodyCellProps { - cell: Cell + cell: Cell } function TableBodyCell({ cell }: TableBodyCellProps) { diff --git a/examples/react/virtualized-rows/src/main.tsx b/examples/react/virtualized-rows/src/main.tsx index 4e2f4f0631..169c39460b 100644 --- a/examples/react/virtualized-rows/src/main.tsx +++ b/examples/react/virtualized-rows/src/main.tsx @@ -1,41 +1,29 @@ import React from 'react' import ReactDOM from 'react-dom/client' + import './index.css' + import { columnSizingFeature, + columnVisibilityFeature, createSortedRowModel, flexRender, -<<<<<<< HEAD rowSortingFeature, sortFns, useTable, } from '@tanstack/react-table' import { useVirtualizer } from '@tanstack/react-virtual' import { makeData } from './makeData' +import type { ColumnDef, Row, Table } from '@tanstack/react-table' +import type { VirtualItem, Virtualizer } from '@tanstack/react-virtual' import type { Person } from './makeData' -import type { ColumnDef } from '@tanstack/react-table' + +const features = { columnVisibilityFeature, columnSizingFeature, rowSortingFeature } // This is a dynamic row height example, which is more complicated, but allows for a more realistic table. // See https://tanstack.com/virtual/v3/docs/examples/react/table for a simpler fixed row height example. -======= - getCoreRowModel, - getSortedRowModel, - Row, - Table, - useReactTable, -} from '@tanstack/react-table' -import { - useVirtualizer, - VirtualItem, - Virtualizer, -} from '@tanstack/react-virtual' -import { makeData, Person } from './makeData' - -//This is a dynamic row height example, which is more complicated, but allows for a more realistic table. -//See https://tanstack.com/virtual/v3/docs/examples/react/table for a simpler fixed row height example. ->>>>>>> origin/main function App() { - const columns = React.useMemo>>( + const columns = React.useMemo>>( () => [ { accessorKey: 'id', @@ -91,34 +79,13 @@ function App() { }, []) const table = useTable({ - _features: { columnSizingFeature, rowSortingFeature }, + _features: features, _rowModels: { sortedRowModel: createSortedRowModel(sortFns) }, columns, data, debugTable: true, - }) - -<<<<<<< HEAD - const { rows } = table.getRowModel() + }); - // The virtualizer needs to know the scrollable container element - const tableContainerRef = React.useRef(null) - - const rowVirtualizer = useVirtualizer({ - count: rows.length, - estimateSize: () => 33, // estimate row height for accurate scrollbar dragging - getScrollElement: () => tableContainerRef.current, - // measure dynamic row height, except in firefox because it measures table border height incorrectly - measureElement: - typeof window !== 'undefined' && - navigator.userAgent.indexOf('Firefox') === -1 - ? (element) => element.getBoundingClientRect().height - : undefined, - overscan: 5, - }) - -======= ->>>>>>> origin/main // All important CSS styles are included as inline styles for this example. This is not recommended for your code. return (
@@ -165,12 +132,12 @@ function App() { }} >
{flexRender( header.column.columnDef.header, @@ -187,51 +154,7 @@ function App() { ))} -<<<<<<< HEAD - - {rowVirtualizer.getVirtualItems().map((virtualRow) => { - const row = rows[virtualRow.index] - return ( - rowVirtualizer.measureElement(node)} // measure dynamic row height - key={row.id} - style={{ - display: 'flex', - position: 'absolute', - transform: `translateY(${virtualRow.start}px)`, // this should always be a `style` as it changes on scroll - width: '100%', - }} - > - {row.getVisibleCells().map((cell) => { - return ( - - {flexRender( - cell.column.columnDef.cell, - cell.getContext(), - )} - - ) - })} - - ) - })} - -======= ->>>>>>> origin/main
@@ -239,8 +162,8 @@ function App() { } interface TableBodyProps { - table: Table - tableContainerRef: React.RefObject + table: Table + tableContainerRef: React.RefObject } function TableBody({ table, tableContainerRef }: TableBodyProps) { @@ -249,13 +172,13 @@ function TableBody({ table, tableContainerRef }: TableBodyProps) { // Important: Keep the row virtualizer in the lowest component possible to avoid unnecessary re-renders. const rowVirtualizer = useVirtualizer({ count: rows.length, - estimateSize: () => 33, //estimate row height for accurate scrollbar dragging + estimateSize: () => 33, // estimate row height for accurate scrollbar dragging getScrollElement: () => tableContainerRef.current, - //measure dynamic row height, except in firefox because it measures table border height incorrectly + // measure dynamic row height, except in firefox because it measures table border height incorrectly measureElement: typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1 - ? element => element?.getBoundingClientRect().height + ? (element) => element.getBoundingClientRect().height : undefined, overscan: 5, }) @@ -264,12 +187,12 @@ function TableBody({ table, tableContainerRef }: TableBodyProps) { - {rowVirtualizer.getVirtualItems().map(virtualRow => { - const row = rows[virtualRow.index] as Row + {rowVirtualizer.getVirtualItems().map((virtualRow) => { + const row = rows[virtualRow.index] return ( + row: Row virtualRow: VirtualItem rowVirtualizer: Virtualizer } @@ -292,17 +215,17 @@ interface TableBodyRowProps { function TableBodyRow({ row, virtualRow, rowVirtualizer }: TableBodyRowProps) { return ( rowVirtualizer.measureElement(node)} //measure dynamic row height + data-index={virtualRow.index} // needed for dynamic row height measurement + ref={(node) => rowVirtualizer.measureElement(node)} // measure dynamic row height key={row.id} style={{ display: 'flex', position: 'absolute', - transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll + transform: `translateY(${virtualRow.start}px)`, // this should always be a `style` as it changes on scroll width: '100%', }} > - {row.getVisibleCells().map(cell => { + {row.getVisibleCells().map((cell) => { return ( Date: Wed, 5 Feb 2025 18:17:16 +0000 Subject: [PATCH 16/22] ci: apply automated fixes --- .../src/app/app.component.ts | 36 ++++++++--------- .../src/app/resizable-cell.ts | 4 +- .../column-resizing-performant/src/main.ts | 2 +- .../angular/editable/src/app/app.component.ts | 28 ++++++------- .../angular/editable/src/app/editable-cell.ts | 6 +-- examples/angular/editable/src/main.ts | 2 +- .../expanding/src/app/app.component.ts | 30 +++++++------- examples/angular/expanding/src/main.ts | 2 +- .../angular/row-dnd/src/app/app.component.ts | 20 +++++----- .../row-dnd/src/app/drag-handle-cell.ts | 8 ++-- examples/angular/row-dnd/src/main.ts | 2 +- .../sub-components/src/app/app.component.ts | 40 +++++++++---------- examples/angular/sub-components/src/main.ts | 2 +- examples/lit/sorting-dynamic-data/src/main.ts | 34 ++++++++-------- .../src/main.tsx | 32 +++++++-------- .../src/makeData.ts | 4 +- .../react/virtualized-columns/src/main.tsx | 16 +++----- .../src/main.tsx | 32 +++++++-------- examples/react/virtualized-rows/src/main.tsx | 8 +++- .../flex-render/flex-render-component-ref.ts | 32 +++++++-------- .../src/flex-render/flex-render-component.ts | 4 +- .../angular-table/src/flex-render/view.ts | 8 ++-- .../tests/flex-render-table.test.ts | 13 ++++-- .../angular-table/tests/flex-render.test.ts | 14 ++++--- packages/angular-table/vite.config.ts | 4 +- 25 files changed, 195 insertions(+), 188 deletions(-) diff --git a/examples/angular/column-resizing-performant/src/app/app.component.ts b/examples/angular/column-resizing-performant/src/app/app.component.ts index f3858ceaa1..4f666c6233 100644 --- a/examples/angular/column-resizing-performant/src/app/app.component.ts +++ b/examples/angular/column-resizing-performant/src/app/app.component.ts @@ -17,61 +17,61 @@ import { TableResizableCell, TableResizableHeader } from './resizable-cell' const defaultColumns: ColumnDef[] = [ { header: 'Name', - footer: props => props.column.id, + footer: (props) => props.column.id, columns: [ { accessorKey: 'firstName', - cell: info => info.getValue(), - footer: props => props.column.id, + cell: (info) => info.getValue(), + footer: (props) => props.column.id, }, { - accessorFn: row => row.lastName, + accessorFn: (row) => row.lastName, id: 'lastName', - cell: info => info.getValue(), + cell: (info) => info.getValue(), header: () => 'Last Name', - footer: props => props.column.id, + footer: (props) => props.column.id, }, ], }, { header: 'Info', - footer: props => props.column.id, + footer: (props) => props.column.id, columns: [ { accessorKey: 'age', header: () => 'Age', - footer: props => props.column.id, + footer: (props) => props.column.id, }, { accessorKey: 'visits', header: () => 'Visits', - footer: props => props.column.id, + footer: (props) => props.column.id, }, { accessorKey: 'status', header: 'Status', - footer: props => props.column.id, + footer: (props) => props.column.id, }, { accessorKey: 'progress', header: 'Profile Progress', - footer: props => props.column.id, + footer: (props) => props.column.id, }, ], }, ] @Component({ - selector: 'app-root', - imports: [FlexRenderDirective, TableResizableCell, TableResizableHeader], - templateUrl: './app.component.html', - changeDetection: ChangeDetectionStrategy.OnPush + selector: 'app-root', + imports: [FlexRenderDirective, TableResizableCell, TableResizableHeader], + templateUrl: './app.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, }) export class AppComponent { readonly data = signal(makeData(200)) readonly columnSizingInfo = computed( - () => this.table.getState().columnSizingInfo + () => this.table.getState().columnSizingInfo, ) readonly columnSizing = computed(() => this.table.getState().columnSizing) @@ -115,7 +115,7 @@ export class AppComponent { columnSizing: this.table.getState().columnSizing, }, null, - 2 - ) + 2, + ), ) } diff --git a/examples/angular/column-resizing-performant/src/app/resizable-cell.ts b/examples/angular/column-resizing-performant/src/app/resizable-cell.ts index 2338bbc8c4..af40d01940 100644 --- a/examples/angular/column-resizing-performant/src/app/resizable-cell.ts +++ b/examples/angular/column-resizing-performant/src/app/resizable-cell.ts @@ -13,7 +13,7 @@ export class TableResizableHeader { }) readonly width = computed( - () => `calc(var(--header-${this.cellId()}-size) * 1px)` + () => `calc(var(--header-${this.cellId()}-size) * 1px)`, ) } @@ -30,6 +30,6 @@ export class TableResizableCell { }) readonly width = computed( - () => `calc(var(--col-${this.cellId()}-size) * 1px)` + () => `calc(var(--col-${this.cellId()}-size) * 1px)`, ) } diff --git a/examples/angular/column-resizing-performant/src/main.ts b/examples/angular/column-resizing-performant/src/main.ts index 0c3b92057c..c3d8f9af99 100644 --- a/examples/angular/column-resizing-performant/src/main.ts +++ b/examples/angular/column-resizing-performant/src/main.ts @@ -2,4 +2,4 @@ import { bootstrapApplication } from '@angular/platform-browser' import { appConfig } from './app/app.config' import { AppComponent } from './app/app.component' -bootstrapApplication(AppComponent, appConfig).catch(err => console.error(err)) +bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err)) diff --git a/examples/angular/editable/src/app/app.component.ts b/examples/angular/editable/src/app/app.component.ts index 8e0657648b..4c3fc9ef60 100644 --- a/examples/angular/editable/src/app/app.component.ts +++ b/examples/angular/editable/src/app/app.component.ts @@ -34,7 +34,7 @@ const defaultColumn: Partial> = { value: initialValue, }, outputs: { - blur: value => { + blur: (value) => { if (table.options.meta?.updateData) { table.options.meta.updateData(row.index, column.id, value) } @@ -47,41 +47,41 @@ const defaultColumn: Partial> = { const defaultColumns: ColumnDef[] = [ { accessorKey: 'firstName', - footer: info => info.column.id, + footer: (info) => info.column.id, }, { - accessorFn: row => row.lastName, + accessorFn: (row) => row.lastName, id: 'lastName', header: () => `Last Name`, - footer: info => info.column.id, + footer: (info) => info.column.id, }, { accessorKey: 'age', header: () => 'Age', - footer: info => info.column.id, + footer: (info) => info.column.id, }, { accessorKey: 'visits', header: () => `Visits`, - footer: info => info.column.id, + footer: (info) => info.column.id, }, { accessorKey: 'status', header: 'Status', - footer: info => info.column.id, + footer: (info) => info.column.id, }, { accessorKey: 'progress', header: 'Profile Progress', - footer: info => info.column.id, + footer: (info) => info.column.id, }, ] @Component({ - selector: 'app-root', - imports: [FlexRenderDirective], - templateUrl: './app.component.html', - changeDetection: ChangeDetectionStrategy.OnPush + selector: 'app-root', + imports: [FlexRenderDirective], + templateUrl: './app.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, }) export class AppComponent { readonly data = signal(makeData(10_000)) @@ -104,7 +104,7 @@ export class AppComponent { // Skip page index reset until after next rerender this.autoResetPageIndex.set(false) - this.data.update(old => + this.data.update((old) => old.map((row, index) => { if (index === rowIndex) { return { @@ -113,7 +113,7 @@ export class AppComponent { } } return row - }) + }), ) afterNextRender(() => this.autoResetPageIndex.set(true), { diff --git a/examples/angular/editable/src/app/editable-cell.ts b/examples/angular/editable/src/app/editable-cell.ts index a025ff7285..705244e902 100644 --- a/examples/angular/editable/src/app/editable-cell.ts +++ b/examples/angular/editable/src/app/editable-cell.ts @@ -9,9 +9,9 @@ import { import { FormsModule } from '@angular/forms' @Component({ - selector: 'editable-cell', - template: ` `, - imports: [FormsModule] + selector: 'editable-cell', + template: ` `, + imports: [FormsModule], }) export class EditableCell { readonly modelValue = signal(undefined) diff --git a/examples/angular/editable/src/main.ts b/examples/angular/editable/src/main.ts index 0c3b92057c..c3d8f9af99 100644 --- a/examples/angular/editable/src/main.ts +++ b/examples/angular/editable/src/main.ts @@ -2,4 +2,4 @@ import { bootstrapApplication } from '@angular/platform-browser' import { appConfig } from './app/app.config' import { AppComponent } from './app/app.component' -bootstrapApplication(AppComponent, appConfig).catch(err => console.error(err)) +bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err)) diff --git a/examples/angular/expanding/src/app/app.component.ts b/examples/angular/expanding/src/app/app.component.ts index 29ffbdd9b0..592c3f6a89 100644 --- a/examples/angular/expanding/src/app/app.component.ts +++ b/examples/angular/expanding/src/app/app.component.ts @@ -31,39 +31,39 @@ const defaultColumns: ColumnDef[] = [ cell: () => flexRenderComponent(ExpandableCell), }, { - accessorFn: row => row.lastName, + accessorFn: (row) => row.lastName, id: 'lastName', - cell: info => info.getValue(), + cell: (info) => info.getValue(), header: () => 'Last Name', - footer: props => props.column.id, + footer: (props) => props.column.id, }, { accessorKey: 'age', header: () => 'Age', - footer: props => props.column.id, + footer: (props) => props.column.id, }, { accessorKey: 'visits', header: () => `Visits`, - footer: props => props.column.id, + footer: (props) => props.column.id, }, { accessorKey: 'status', header: 'Status', - footer: props => props.column.id, + footer: (props) => props.column.id, }, { accessorKey: 'progress', header: 'Profile Progress', - footer: props => props.column.id, + footer: (props) => props.column.id, }, ] @Component({ - selector: 'app-root', - imports: [FlexRenderDirective, ReactiveFormsModule], - templateUrl: './app.component.html', - changeDetection: ChangeDetectionStrategy.OnPush + selector: 'app-root', + imports: [FlexRenderDirective, ReactiveFormsModule], + templateUrl: './app.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, }) export class AppComponent { readonly data = signal(makeData(100, 5, 3)) @@ -75,11 +75,11 @@ export class AppComponent { state: { expanded: this.expanded(), }, - onExpandedChange: updater => + onExpandedChange: (updater) => typeof updater === 'function' ? this.expanded.update(updater) : this.expanded.set(updater), - getSubRows: row => row.subRows, + getSubRows: (row) => row.subRows, getCoreRowModel: getCoreRowModel(), getPaginationRowModel: getPaginationRowModel(), getFilteredRowModel: getFilteredRowModel(), @@ -90,11 +90,11 @@ export class AppComponent { })) readonly rawExpandedState = computed(() => - JSON.stringify(this.expanded(), undefined, 2) + JSON.stringify(this.expanded(), undefined, 2), ) readonly rawRowSelectionState = computed(() => - JSON.stringify(this.table.getState().rowSelection, undefined, 2) + JSON.stringify(this.table.getState().rowSelection, undefined, 2), ) onPageInputChange(event: Event): void { diff --git a/examples/angular/expanding/src/main.ts b/examples/angular/expanding/src/main.ts index 0c3b92057c..c3d8f9af99 100644 --- a/examples/angular/expanding/src/main.ts +++ b/examples/angular/expanding/src/main.ts @@ -2,4 +2,4 @@ import { bootstrapApplication } from '@angular/platform-browser' import { appConfig } from './app/app.config' import { AppComponent } from './app/app.component' -bootstrapApplication(AppComponent, appConfig).catch(err => console.error(err)) +bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err)) diff --git a/examples/angular/row-dnd/src/app/app.component.ts b/examples/angular/row-dnd/src/app/app.component.ts index 1c3b8502ca..b3b796f0e4 100644 --- a/examples/angular/row-dnd/src/app/app.component.ts +++ b/examples/angular/row-dnd/src/app/app.component.ts @@ -32,12 +32,12 @@ const defaultColumns: ColumnDef[] = [ }, { accessorKey: 'firstName', - cell: info => info.getValue(), + cell: (info) => info.getValue(), }, { - accessorFn: row => row.lastName, + accessorFn: (row) => row.lastName, id: 'lastName', - cell: info => info.getValue(), + cell: (info) => info.getValue(), header: () => `Last Name`, }, { @@ -59,11 +59,11 @@ const defaultColumns: ColumnDef[] = [ ] @Component({ - selector: 'app-root', - imports: [FlexRenderDirective, CdkDropList, CdkDrag, JsonPipe], - templateUrl: './app.component.html', - styleUrl: './app.component.css', - changeDetection: ChangeDetectionStrategy.OnPush + selector: 'app-root', + imports: [FlexRenderDirective, CdkDropList, CdkDrag, JsonPipe], + templateUrl: './app.component.html', + styleUrl: './app.component.css', + changeDetection: ChangeDetectionStrategy.OnPush, }) export class AppComponent { readonly data = signal(makeData(20)) @@ -72,7 +72,7 @@ export class AppComponent { return { data: this.data(), columns: defaultColumns, - getRowId: row => row.userId, //required because row indexes will change + getRowId: (row) => row.userId, //required because row indexes will change debugTable: true, debugHeaders: true, debugColumns: true, @@ -82,7 +82,7 @@ export class AppComponent { } }) - readonly sortedIds = computed(() => this.data().map(data => data.userId)) + readonly sortedIds = computed(() => this.data().map((data) => data.userId)) drop(event: CdkDragDrop) { const data = [...this.data()] diff --git a/examples/angular/row-dnd/src/app/drag-handle-cell.ts b/examples/angular/row-dnd/src/app/drag-handle-cell.ts index 80f5c245c2..caadf4167a 100644 --- a/examples/angular/row-dnd/src/app/drag-handle-cell.ts +++ b/examples/angular/row-dnd/src/app/drag-handle-cell.ts @@ -11,9 +11,9 @@ import { FormsModule } from '@angular/forms' import { CdkDragHandle } from '@angular/cdk/drag-drop' @Component({ - selector: 'editable-cell', - template: ` `, - imports: [CdkDragHandle], - changeDetection: ChangeDetectionStrategy.OnPush + selector: 'editable-cell', + template: ` `, + imports: [CdkDragHandle], + changeDetection: ChangeDetectionStrategy.OnPush, }) export class DragHandleCell {} diff --git a/examples/angular/row-dnd/src/main.ts b/examples/angular/row-dnd/src/main.ts index 0c3b92057c..c3d8f9af99 100644 --- a/examples/angular/row-dnd/src/main.ts +++ b/examples/angular/row-dnd/src/main.ts @@ -2,4 +2,4 @@ import { bootstrapApplication } from '@angular/platform-browser' import { appConfig } from './app/app.config' import { AppComponent } from './app/app.component' -bootstrapApplication(AppComponent, appConfig).catch(err => console.error(err)) +bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err)) diff --git a/examples/angular/sub-components/src/app/app.component.ts b/examples/angular/sub-components/src/app/app.component.ts index 48a0a9311d..b548d4973e 100644 --- a/examples/angular/sub-components/src/app/app.component.ts +++ b/examples/angular/sub-components/src/app/app.component.ts @@ -23,7 +23,7 @@ import { JsonPipe, NgTemplateOutlet } from '@angular/common' const columns: ColumnDef[] = [ { header: 'Name', - footer: props => props.column.id, + footer: (props) => props.column.id, columns: [ { id: 'expander', @@ -46,25 +46,25 @@ const columns: ColumnDef[] = [ accessorKey: 'firstName', header: 'First Name', cell: () => flexRenderComponent(ExpandableCell), - footer: props => props.column.id, + footer: (props) => props.column.id, }, { - accessorFn: row => row.lastName, + accessorFn: (row) => row.lastName, id: 'lastName', - cell: info => info.getValue(), + cell: (info) => info.getValue(), header: () => 'Last Name', - footer: props => props.column.id, + footer: (props) => props.column.id, }, ], }, { header: 'Info', - footer: props => props.column.id, + footer: (props) => props.column.id, columns: [ { accessorKey: 'age', header: () => 'Age', - footer: props => props.column.id, + footer: (props) => props.column.id, }, { header: 'More Info', @@ -72,17 +72,17 @@ const columns: ColumnDef[] = [ { accessorKey: 'visits', header: () => 'Visits', - footer: props => props.column.id, + footer: (props) => props.column.id, }, { accessorKey: 'status', header: 'Status', - footer: props => props.column.id, + footer: (props) => props.column.id, }, { accessorKey: 'progress', header: 'Profile Progress', - footer: props => props.column.id, + footer: (props) => props.column.id, }, ], }, @@ -91,15 +91,15 @@ const columns: ColumnDef[] = [ ] @Component({ - selector: 'app-root', - imports: [ - FlexRenderDirective, - ReactiveFormsModule, - JsonPipe, - NgTemplateOutlet, - ], - templateUrl: './app.component.html', - changeDetection: ChangeDetectionStrategy.OnPush + selector: 'app-root', + imports: [ + FlexRenderDirective, + ReactiveFormsModule, + JsonPipe, + NgTemplateOutlet, + ], + templateUrl: './app.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, }) export class AppComponent { readonly data = signal(makeData(10)) @@ -111,7 +111,7 @@ export class AppComponent { state: { expanded: this.expanded(), }, - onExpandedChange: updater => + onExpandedChange: (updater) => typeof updater === 'function' ? this.expanded.update(updater) : this.expanded.set(updater), diff --git a/examples/angular/sub-components/src/main.ts b/examples/angular/sub-components/src/main.ts index 0c3b92057c..c3d8f9af99 100644 --- a/examples/angular/sub-components/src/main.ts +++ b/examples/angular/sub-components/src/main.ts @@ -2,4 +2,4 @@ import { bootstrapApplication } from '@angular/platform-browser' import { appConfig } from './app/app.config' import { AppComponent } from './app/app.component' -bootstrapApplication(AppComponent, appConfig).catch(err => console.error(err)) +bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err)) diff --git a/examples/lit/sorting-dynamic-data/src/main.ts b/examples/lit/sorting-dynamic-data/src/main.ts index 7e1583c8c3..57faa29319 100644 --- a/examples/lit/sorting-dynamic-data/src/main.ts +++ b/examples/lit/sorting-dynamic-data/src/main.ts @@ -24,13 +24,13 @@ const sortStatusFn: SortingFn = (rowA, rowB, _columnId) => { const columns: ColumnDef[] = [ { accessorKey: 'firstName', - cell: info => info.getValue(), + cell: (info) => info.getValue(), //this column will sort in ascending order by default since it is a string column }, { - accessorFn: row => row.lastName, + accessorFn: (row) => row.lastName, id: 'lastName', - cell: info => info.getValue(), + cell: (info) => info.getValue(), header: () => html`Last Name`, sortUndefined: 'last', //force undefined values to the end sortDescFirst: false, //first sort order will be ascending (nullable values can mess up auto detection of sort order) @@ -88,11 +88,11 @@ class LitTableExample extends LitElement { } protected willUpdate( - _changedProperties: PropertyValueMap | Map + _changedProperties: PropertyValueMap | Map, ): void { super.willUpdate(_changedProperties) if (_changedProperties.has('_multiplier')) { - const newData: Person[] = data.map(d => { + const newData: Person[] = data.map((d) => { const p: Person = { ...d, visits: d.visits ? d.visits * this._multiplier : undefined, @@ -110,7 +110,7 @@ class LitTableExample extends LitElement { state: { sorting: this._sorting, }, - onSortingChange: updaterOrValue => { + onSortingChange: (updaterOrValue) => { if (typeof updaterOrValue === 'function') { this._sorting = updaterOrValue(this._sorting) } else { @@ -139,11 +139,11 @@ class LitTableExample extends LitElement { ${repeat( table.getHeaderGroups(), - headerGroup => headerGroup.id, - headerGroup => html` + (headerGroup) => headerGroup.id, + (headerGroup) => html` ${headerGroup.headers.map( - header => html` + (header) => html` ${header.isPlaceholder ? null @@ -162,17 +162,17 @@ class LitTableExample extends LitElement { > ${flexRender( header.column.columnDef.header, - header.getContext() + header.getContext(), )} ${{ asc: ' 🔼', desc: ' 🔽' }[ header.column.getIsSorted() as string ] ?? null}
`} - ` + `, )} - ` + `, )} @@ -180,22 +180,22 @@ class LitTableExample extends LitElement { .getRowModel() .rows.slice(0, 10) .map( - row => html` + (row) => html` ${row .getVisibleCells() .map( - cell => html` + (cell) => html` ${flexRender( cell.column.columnDef.cell, - cell.getContext() + cell.getContext(), )} - ` + `, )} - ` + `, )} diff --git a/examples/react/virtualized-columns-experimental/src/main.tsx b/examples/react/virtualized-columns-experimental/src/main.tsx index 5b1713dd04..568b8159d7 100644 --- a/examples/react/virtualized-columns-experimental/src/main.tsx +++ b/examples/react/virtualized-columns-experimental/src/main.tsx @@ -20,7 +20,7 @@ import { makeColumns, makeData, Person } from './makeData' function App() { const columns = React.useMemo[]>( () => makeColumns(1_000), - [] + [], ) const [data, setData] = React.useState(() => makeData(1_000, columns)) @@ -79,11 +79,11 @@ function TableContainer({ table }: TableContainerProps) { HTMLTableCellElement >({ count: visibleColumns.length, - estimateSize: index => visibleColumns[index].getSize(), //estimate width of each column for accurate scrollbar dragging + estimateSize: (index) => visibleColumns[index].getSize(), //estimate width of each column for accurate scrollbar dragging getScrollElement: () => tableContainerRef.current, horizontal: true, overscan: 3, //how many columns to render on each side off screen each way (adjust this for performance) - onChange: instance => { + onChange: (instance) => { // requestAnimationFrame(() => { const virtualColumns = instance.getVirtualItems() // different virtualization strategy for columns - instead of absolute and translateY, we add empty columns to the left and right @@ -94,11 +94,11 @@ function TableContainer({ table }: TableContainerProps) { tableContainerRef.current?.style.setProperty( '--virtual-padding-left', - `${virtualPaddingLeft}px` + `${virtualPaddingLeft}px`, ) tableContainerRef.current?.style.setProperty( '--virtual-padding-right', - `${virtualPaddingRight}px` + `${virtualPaddingRight}px`, ) // }) }, @@ -142,7 +142,7 @@ function TableHead({ table, columnVirtualizer }: TableHeadProps) { zIndex: 1, }} > - {table.getHeaderGroups().map(headerGroup => ( + {table.getHeaderGroups().map((headerGroup) => ( {/* fake empty column to the left for virtualization scroll padding */} - {virtualColumnIndexes.map(virtualColumnIndex => { + {virtualColumnIndexes.map((virtualColumnIndex) => { const header = headerGroup.headers[virtualColumnIndex] return ( next.columnVirtualizer.isScrolling + (_prev, next) => next.columnVirtualizer.isScrolling, ) as typeof TableHeadCell interface TableBodyProps { @@ -246,13 +246,13 @@ function TableBody({ measureElement: typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1 - ? element => element?.getBoundingClientRect().height + ? (element) => element?.getBoundingClientRect().height : undefined, overscan: 5, - onChange: instance => { + onChange: (instance) => { // requestAnimationFrame(() => { tableBodyRef.current!.style.height = `${instance.getTotalSize()}px` - instance.getVirtualItems().forEach(virtualRow => { + instance.getVirtualItems().forEach((virtualRow) => { const rowRef = rowRefsMap.current.get(virtualRow.index) if (!rowRef) return rowRef.style.transform = `translateY(${virtualRow.start}px)` @@ -275,7 +275,7 @@ function TableBody({ position: 'relative', //needed for absolute positioning of rows }} > - {virtualRowIndexes.map(virtualRowIndex => { + {virtualRowIndexes.map((virtualRowIndex) => { const row = rows[virtualRowIndex] as Row return ( @@ -314,7 +314,7 @@ function TableBodyRow({ return ( { + ref={(node) => { if (node) { rowVirtualizer.measureElement(node) rowRefsMap.current.set(virtualRowIndex, node) @@ -329,7 +329,7 @@ function TableBodyRow({ > {/* fake empty column to the left for virtualization scroll padding */} - {virtualColumnIndexes.map(virtualColumnIndex => { + {virtualColumnIndexes.map((virtualColumnIndex) => { const cell = visibleCells[virtualColumnIndex] return ( next.columnVirtualizer.isScrolling + (_prev, next) => next.columnVirtualizer.isScrolling, ) as typeof TableBodyCell const rootElement = document.getElementById('root') @@ -385,5 +385,5 @@ if (!rootElement) throw new Error('Failed to find the root element') ReactDOM.createRoot(rootElement).render( - + , ) diff --git a/examples/react/virtualized-columns-experimental/src/makeData.ts b/examples/react/virtualized-columns-experimental/src/makeData.ts index 3fde072d12..2d45800b12 100644 --- a/examples/react/virtualized-columns-experimental/src/makeData.ts +++ b/examples/react/virtualized-columns-experimental/src/makeData.ts @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker' -export const makeColumns = num => +export const makeColumns = (num) => [...Array(num)].map((_, i) => { return { accessorKey: i.toString(), @@ -12,7 +12,7 @@ export const makeColumns = num => export const makeData = (num, columns) => [...Array(num)].map(() => ({ ...Object.fromEntries( - columns.map(col => [col.accessorKey, faker.person.firstName()]) + columns.map((col) => [col.accessorKey, faker.person.firstName()]), ), })) diff --git a/examples/react/virtualized-columns/src/main.tsx b/examples/react/virtualized-columns/src/main.tsx index 59f0dab022..ceefa33fbf 100644 --- a/examples/react/virtualized-columns/src/main.tsx +++ b/examples/react/virtualized-columns/src/main.tsx @@ -9,9 +9,7 @@ import { sortFns, useTable, } from '@tanstack/react-table' -import { - useVirtualizer -} from '@tanstack/react-virtual' +import { useVirtualizer } from '@tanstack/react-virtual' import { makeColumns, makeData } from './makeData' import type { Cell, @@ -19,14 +17,12 @@ import type { Header, HeaderGroup, Row, - Table -} from '@tanstack/react-table'; -import type { - VirtualItem, - Virtualizer} from '@tanstack/react-virtual'; -import type { Person } from './makeData'; + Table, +} from '@tanstack/react-table' +import type { VirtualItem, Virtualizer } from '@tanstack/react-virtual' +import type { Person } from './makeData' -const features = { columnSizingFeature, rowSortingFeature }; +const features = { columnSizingFeature, rowSortingFeature } function App() { const columns = React.useMemo>>( diff --git a/examples/react/virtualized-rows-experimental/src/main.tsx b/examples/react/virtualized-rows-experimental/src/main.tsx index 7c4fa00783..81d8734f46 100644 --- a/examples/react/virtualized-rows-experimental/src/main.tsx +++ b/examples/react/virtualized-rows-experimental/src/main.tsx @@ -27,12 +27,12 @@ function App() { }, { accessorKey: 'firstName', - cell: info => info.getValue(), + cell: (info) => info.getValue(), }, { - accessorFn: row => row.lastName, + accessorFn: (row) => row.lastName, id: 'lastName', - cell: info => info.getValue(), + cell: (info) => info.getValue(), header: () => Last Name, }, { @@ -57,11 +57,11 @@ function App() { { accessorKey: 'createdAt', header: 'Created At', - cell: info => info.getValue().toLocaleString(), + cell: (info) => info.getValue().toLocaleString(), size: 250, }, ], - [] + [], ) const [data, _setData] = React.useState(() => makeData(50_000)) @@ -120,12 +120,12 @@ function App() { zIndex: 1, }} > - {table.getHeaderGroups().map(headerGroup => ( + {table.getHeaderGroups().map((headerGroup) => ( - {headerGroup.headers.map(header => { + {headerGroup.headers.map((header) => { return ( {flexRender( header.column.columnDef.header, - header.getContext() + header.getContext(), )} {{ asc: ' 🔼', @@ -185,12 +185,12 @@ function TableBodyWrapper({ table, tableContainerRef }: TableBodyWrapperProps) { measureElement: typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1 - ? element => element?.getBoundingClientRect().height + ? (element) => element?.getBoundingClientRect().height : undefined, overscan: 5, - onChange: instance => { + onChange: (instance) => { // requestAnimationFrame(() => { - instance.getVirtualItems().forEach(virtualRow => { + instance.getVirtualItems().forEach((virtualRow) => { const rowRef = rowRefsMap.current.get(virtualRow.index) if (!rowRef) return rowRef.style.transform = `translateY(${virtualRow.start}px)` @@ -230,7 +230,7 @@ function TableBody({ rowVirtualizer, table, rowRefsMap }: TableBodyProps) { position: 'relative', // needed for absolute positioning of rows }} > - {virtualRowIndexes.map(virtualRowIndex => { + {virtualRowIndexes.map((virtualRowIndex) => { const row = rows[virtualRowIndex] return ( { + ref={(node) => { if (node && virtualRowIndex) { rowVirtualizer.measureElement(node) // measure dynamic row height rowRefsMap.current.set(virtualRowIndex, node) // store ref for virtualizer to apply scrolling transforms @@ -275,7 +275,7 @@ function TableBodyRow({ width: '100%', }} > - {row.getVisibleCells().map(cell => { + {row.getVisibleCells().map((cell) => { return ( next.rowVirtualizer.isScrolling + (_prev, next) => next.rowVirtualizer.isScrolling, ) as typeof TableBodyRow const rootElement = document.getElementById('root') @@ -305,5 +305,5 @@ if (!rootElement) throw new Error('Failed to find the root element') ReactDOM.createRoot(rootElement).render( - + , ) diff --git a/examples/react/virtualized-rows/src/main.tsx b/examples/react/virtualized-rows/src/main.tsx index 169c39460b..36b89f08a9 100644 --- a/examples/react/virtualized-rows/src/main.tsx +++ b/examples/react/virtualized-rows/src/main.tsx @@ -18,7 +18,11 @@ import type { ColumnDef, Row, Table } from '@tanstack/react-table' import type { VirtualItem, Virtualizer } from '@tanstack/react-virtual' import type { Person } from './makeData' -const features = { columnVisibilityFeature, columnSizingFeature, rowSortingFeature } +const features = { + columnVisibilityFeature, + columnSizingFeature, + rowSortingFeature, +} // This is a dynamic row height example, which is more complicated, but allows for a more realistic table. // See https://tanstack.com/virtual/v3/docs/examples/react/table for a simpler fixed row height example. @@ -84,7 +88,7 @@ function App() { columns, data, debugTable: true, - }); + }) // All important CSS styles are included as inline styles for this example. This is not recommended for your code. return ( diff --git a/packages/angular-table/src/flex-render/flex-render-component-ref.ts b/packages/angular-table/src/flex-render/flex-render-component-ref.ts index 71ab7999a4..a7d3583a86 100644 --- a/packages/angular-table/src/flex-render/flex-render-component-ref.ts +++ b/packages/angular-table/src/flex-render/flex-render-component-ref.ts @@ -18,18 +18,18 @@ export class FlexRenderComponentFactory { createComponent( flexRenderComponent: FlexRenderComponent, - componentInjector: Injector + componentInjector: Injector, ): FlexRenderComponentRef { const componentRef = this.#viewContainerRef.createComponent( flexRenderComponent.component, { injector: componentInjector, - } + }, ) const view = new FlexRenderComponentRef( componentRef, flexRenderComponent, - componentInjector + componentInjector, ) const { inputs, outputs } = flexRenderComponent @@ -51,14 +51,14 @@ export class FlexRenderComponentRef { constructor( readonly componentRef: ComponentRef, componentData: FlexRenderComponent, - readonly componentInjector: Injector + readonly componentInjector: Injector, ) { this.#componentData = componentData this.#keyValueDiffersFactory = componentInjector.get(KeyValueDiffers) this.#outputRegistry = new FlexRenderComponentOutputManager( this.#keyValueDiffersFactory, - this.outputs + this.outputs, ) this.#inputValueDiffer = this.#keyValueDiffersFactory @@ -106,26 +106,26 @@ export class FlexRenderComponentRef { if (!eq) return const { inputDiff, outputDiff } = this.diff(content) if (inputDiff) { - inputDiff.forEachAddedItem(item => - this.setInput(item.key, item.currentValue) + inputDiff.forEachAddedItem((item) => + this.setInput(item.key, item.currentValue), ) - inputDiff.forEachChangedItem(item => - this.setInput(item.key, item.currentValue) + inputDiff.forEachChangedItem((item) => + this.setInput(item.key, item.currentValue), ) - inputDiff.forEachRemovedItem(item => this.setInput(item.key, undefined)) + inputDiff.forEachRemovedItem((item) => this.setInput(item.key, undefined)) } if (outputDiff) { - outputDiff.forEachAddedItem(item => { + outputDiff.forEachAddedItem((item) => { this.setOutput(item.key, item.currentValue) }) - outputDiff.forEachChangedItem(item => { + outputDiff.forEachChangedItem((item) => { if (item.currentValue) { this.#outputRegistry.setListener(item.key, item.currentValue) } else { this.#outputRegistry.unsubscribe(item.key) } }) - outputDiff.forEachRemovedItem(item => { + outputDiff.forEachRemovedItem((item) => { this.#outputRegistry.unsubscribe(item.key) }) } @@ -153,7 +153,7 @@ export class FlexRenderComponentRef { outputs: Record< string, OutputEmitterRef['emit'] | null | undefined - > + >, ) { this.#outputRegistry.unsubscribeAll() for (const prop in outputs) { @@ -163,7 +163,7 @@ export class FlexRenderComponentRef { setOutput( outputName: string, - emit: OutputEmitterRef['emit'] | undefined | null + emit: OutputEmitterRef['emit'] | undefined | null, ): void { if (!this.#componentData.allowedOutputNames.includes(outputName)) return if (!emit) { @@ -181,7 +181,7 @@ export class FlexRenderComponentRef { const instance = this.componentRef.instance const output = instance[outputName as keyof typeof instance] if (output && output instanceof OutputEmitterRef) { - output.subscribe(value => { + output.subscribe((value) => { this.#outputRegistry.getListener(outputName)?.(value) }) } diff --git a/packages/angular-table/src/flex-render/flex-render-component.ts b/packages/angular-table/src/flex-render/flex-render-component.ts index edf539cd35..16335731f0 100644 --- a/packages/angular-table/src/flex-render/flex-render-component.ts +++ b/packages/angular-table/src/flex-render/flex-render-component.ts @@ -100,12 +100,12 @@ export class FlexRenderComponent { readonly component: Type, readonly inputs?: Inputs, readonly injector?: Injector, - readonly outputs?: Outputs + readonly outputs?: Outputs, ) { const mirror = reflectComponentType(component) if (!mirror) { throw new Error( - `[@tanstack-table/angular] The provided symbol is not a component` + `[@tanstack-table/angular] The provided symbol is not a component`, ) } this.mirror = mirror diff --git a/packages/angular-table/src/flex-render/view.ts b/packages/angular-table/src/flex-render/view.ts index 9044b45abc..c54e57b1bb 100644 --- a/packages/angular-table/src/flex-render/view.ts +++ b/packages/angular-table/src/flex-render/view.ts @@ -14,7 +14,7 @@ export type FlexRenderTypedContent = | { kind: 'component'; content: Type } export function mapToFlexRenderTypedContent( - content: FlexRenderContent + content: FlexRenderContent, ): FlexRenderTypedContent { if (content === null || content === undefined) { return { kind: 'null' } @@ -42,7 +42,7 @@ export abstract class FlexRenderView< protected constructor( initialContent: Exclude, - view: TView + view: TView, ) { this.#content = initialContent this.view = view @@ -76,7 +76,7 @@ export class FlexRenderTemplateView extends FlexRenderView< FlexRenderTypedContent, { kind: 'primitive' | 'templateRef' } >, - view: EmbeddedViewRef + view: EmbeddedViewRef, ) { super(initialContent, view) } @@ -107,7 +107,7 @@ export class FlexRenderComponentView extends FlexRenderView< FlexRenderTypedContent, { kind: 'component' | 'flexRenderComponent' } >, - view: FlexRenderComponentRef + view: FlexRenderComponentRef, ) { super(initialContent, view) } diff --git a/packages/angular-table/tests/flex-render-table.test.ts b/packages/angular-table/tests/flex-render-table.test.ts index 57bd5682d6..ed4024993a 100644 --- a/packages/angular-table/tests/flex-render-table.test.ts +++ b/packages/angular-table/tests/flex-render-table.test.ts @@ -70,8 +70,8 @@ describe('FlexRenderDirective', () => { test('Render TemplateRef', () => { @Component({ template: ` - - Cell id: {{ context.cell.id }} + + Cell id: {{ context.cell.id }} `, standalone: true, }) @@ -187,7 +187,11 @@ describe('FlexRenderDirective', () => { ) const latestCall = () => - contextCaptor.mock.lastCall[0] as CellContext + contextCaptor.mock.lastCall[0] as CellContext< + typeof stockFeatures, + TestData, + any + > // TODO: As a perf improvement, check in a future if we can avoid evaluating the cell twice during the first render. // This is caused due to the registration of the initial effect and the first #getContentValue() to detect the // type of content to render. @@ -449,7 +453,8 @@ export function createTestTable( changeDetection: ChangeDetectionStrategy.OnPush, }) class TestBadgeComponent { - readonly context = injectFlexRenderContext>() + readonly context = + injectFlexRenderContext>() readonly status = input.required() } diff --git a/packages/angular-table/tests/flex-render.test.ts b/packages/angular-table/tests/flex-render.test.ts index 91b7d4345e..b226780802 100644 --- a/packages/angular-table/tests/flex-render.test.ts +++ b/packages/angular-table/tests/flex-render.test.ts @@ -107,12 +107,16 @@ describe('FlexRenderDirective', () => { } const fixture = TestBed.createComponent(TestRenderComponent) - setFixtureSignalInputs(fixture, { - content: () => flexRenderComponent(FakeComponent), - context: { - property: 'Context value', + setFixtureSignalInputs( + fixture, + { + content: () => flexRenderComponent(FakeComponent), + context: { + property: 'Context value', + }, }, - }, {detectChanges: true}) + { detectChanges: true }, + ) expect(fixture.nativeElement.textContent).toEqual('Context value') diff --git a/packages/angular-table/vite.config.ts b/packages/angular-table/vite.config.ts index 1b419cf1aa..329f4e28d1 100644 --- a/packages/angular-table/vite.config.ts +++ b/packages/angular-table/vite.config.ts @@ -5,9 +5,7 @@ import angular from '@analogjs/vite-plugin-angular' const angularPlugin = angular({ tsconfig: 'tsconfig.test.json', jit: true }) export default defineConfig({ - plugins: [ - angularPlugin, - ], + plugins: [angularPlugin], test: { name: packageJson.name, watch: false, From d2fc9c1c0fdd4027df342b75eb752a4a7599f2ee Mon Sep 17 00:00:00 2001 From: riccardoperra Date: Wed, 5 Feb 2025 19:45:40 +0100 Subject: [PATCH 17/22] fix tests --- .../tests/flex-render-table.test.ts | 51 ++++++++++--------- .../angular-table/tests/lazy-init.test.ts | 2 +- packages/angular-table/tests/test-setup.ts | 13 ++++- 3 files changed, 40 insertions(+), 26 deletions(-) diff --git a/packages/angular-table/tests/flex-render-table.test.ts b/packages/angular-table/tests/flex-render-table.test.ts index ed4024993a..90f5f7dfc3 100644 --- a/packages/angular-table/tests/flex-render-table.test.ts +++ b/packages/angular-table/tests/flex-render-table.test.ts @@ -1,35 +1,39 @@ import { ChangeDetectionStrategy, Component, + ViewChild, input, output, signal, - type TemplateRef, - ViewChild, } from '@angular/core' import { - type CellContext, ColumnDef, createCoreRowModel, - type ExpandedState, stockFeatures, - type TableOptions, - type TableState, } from '@tanstack/table-core' +import { TestBed } from '@angular/core/testing' +import { describe, expect, test, vi } from 'vitest' +import { By } from '@angular/platform-browser' import { FlexRender, flexRenderComponent, - type FlexRenderContent, injectFlexRenderContext, injectTable, } from '../src' -import { TestBed } from '@angular/core/testing' -import { describe, expect, test, vi } from 'vitest' -import { By } from '@angular/platform-browser' +import type { FlexRenderContent } from '../src' +import type { + CellContext, + ExpandedState, + TableOptions, + TableState, +} from '@tanstack/table-core' +import type { TemplateRef } from '@angular/core' -const defaultData: TestData[] = [{ id: '1', title: 'My title' }] as TestData[] +const defaultData: Array = [ + { id: '1', title: 'My title' }, +] as Array -const defaultColumns: ColumnDef[] = [ +const defaultColumns: Array> = [ { id: 'title', accessorKey: 'title', @@ -109,8 +113,8 @@ describe('FlexRenderDirective', () => { }, ]) - let row = dom.getBodyRow(0)! - let firstCell = row.querySelector('td') + const row = dom.getBodyRow(0)! + const firstCell = row.querySelector('td') expect(firstCell!.textContent).toEqual('Initial status') status.set('Updated status') @@ -132,8 +136,8 @@ describe('FlexRenderDirective', () => { }, ]) - let row = dom.getBodyRow(0)! - let firstCell = row.querySelector('td') + const row = dom.getBodyRow(0)! + const firstCell = row.querySelector('td') expect(firstCell!.textContent).toEqual('Initial status') @@ -148,7 +152,7 @@ describe('FlexRenderDirective', () => { ) fixture.detectChanges() const el = firstCell!.firstElementChild as HTMLElement - expect(el!.tagName).toEqual('APP-TEST-BADGE') + expect(el.tagName).toEqual('APP-TEST-BADGE') expect(el.textContent).toEqual('Updated status') }) @@ -157,6 +161,7 @@ describe('FlexRenderDirective', () => { const tableState = signal>>({ rowSelection: {}, + expanded: {}, }) @Component({ @@ -187,7 +192,7 @@ describe('FlexRenderDirective', () => { ) const latestCall = () => - contextCaptor.mock.lastCall[0] as CellContext< + contextCaptor.mock.lastCall![0] as CellContext< typeof stockFeatures, TestData, any @@ -225,7 +230,7 @@ describe('FlexRenderDirective', () => { }) }, }, - ] satisfies ColumnDef[] + ] satisfies Array> @Component({ selector: 'expand-cell', @@ -325,8 +330,8 @@ function expectPrimitiveValueIs( type TestData = { id: string; title: string } export function createTestTable( - data: TestData[], - columns: ColumnDef[], + data: Array, + columns: Array>, optionsFn?: () => Partial>, ) { @Component({ @@ -394,8 +399,8 @@ export function createTestTable( }) class TestComponent { readonly columns = - input[]>(columns) - readonly data = input(data) + input>>(columns) + readonly data = input>(data) readonly count = signal(0) diff --git a/packages/angular-table/tests/lazy-init.test.ts b/packages/angular-table/tests/lazy-init.test.ts index 671a873137..d785b568d2 100644 --- a/packages/angular-table/tests/lazy-init.test.ts +++ b/packages/angular-table/tests/lazy-init.test.ts @@ -70,7 +70,7 @@ describe('lazyInit', () => { value.data() - await flushQueue() + TestBed.flushEffects(); expect(outerSignal).toBeDefined() diff --git a/packages/angular-table/tests/test-setup.ts b/packages/angular-table/tests/test-setup.ts index bc10ebd7e9..ad4d4f57be 100644 --- a/packages/angular-table/tests/test-setup.ts +++ b/packages/angular-table/tests/test-setup.ts @@ -1,12 +1,21 @@ -import '@analogjs/vitest-angular/setup-zone' +import '@analogjs/vitest-angular/setup-snapshots' import '@testing-library/jest-dom/vitest' import { BrowserDynamicTestingModule, platformBrowserDynamicTesting, } from '@angular/platform-browser-dynamic/testing' import { getTestBed } from '@angular/core/testing' +import { + NgModule, + provideExperimentalZonelessChangeDetection, +} from '@angular/core' + +@NgModule({ + providers: [provideExperimentalZonelessChangeDetection()], +}) +class TestModule {} getTestBed().initTestEnvironment( - BrowserDynamicTestingModule, + [BrowserDynamicTestingModule, TestModule], platformBrowserDynamicTesting(), ) From d391407cdb2a6b8d2cb6aa4fd7f823b96ea92a12 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Wed, 5 Feb 2025 18:46:52 +0000 Subject: [PATCH 18/22] ci: apply automated fixes --- packages/angular-table/tests/lazy-init.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular-table/tests/lazy-init.test.ts b/packages/angular-table/tests/lazy-init.test.ts index d785b568d2..0806e12cc8 100644 --- a/packages/angular-table/tests/lazy-init.test.ts +++ b/packages/angular-table/tests/lazy-init.test.ts @@ -70,7 +70,7 @@ describe('lazyInit', () => { value.data() - TestBed.flushEffects(); + TestBed.flushEffects() expect(outerSignal).toBeDefined() From 6f13e13cec3709f8c789bbe9de04b4270a149588 Mon Sep 17 00:00:00 2001 From: riccardoperra Date: Wed, 5 Feb 2025 19:46:59 +0100 Subject: [PATCH 19/22] fix tests --- packages/angular-table/tests/flex-render-table.test.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/angular-table/tests/flex-render-table.test.ts b/packages/angular-table/tests/flex-render-table.test.ts index 90f5f7dfc3..b7be984050 100644 --- a/packages/angular-table/tests/flex-render-table.test.ts +++ b/packages/angular-table/tests/flex-render-table.test.ts @@ -162,6 +162,10 @@ describe('FlexRenderDirective', () => { const tableState = signal>>({ rowSelection: {}, expanded: {}, + pagination: { + pageIndex: 0, + pageSize: 10 + } }) @Component({ From eaed1b95362e118a720ba69d46c76f5c6ad1bd44 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Wed, 5 Feb 2025 18:48:05 +0000 Subject: [PATCH 20/22] ci: apply automated fixes --- packages/angular-table/tests/flex-render-table.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/angular-table/tests/flex-render-table.test.ts b/packages/angular-table/tests/flex-render-table.test.ts index b7be984050..360f0cd350 100644 --- a/packages/angular-table/tests/flex-render-table.test.ts +++ b/packages/angular-table/tests/flex-render-table.test.ts @@ -164,8 +164,8 @@ describe('FlexRenderDirective', () => { expanded: {}, pagination: { pageIndex: 0, - pageSize: 10 - } + pageSize: 10, + }, }) @Component({ From fdfca1346068a60f5198b0944610173751e00626 Mon Sep 17 00:00:00 2001 From: riccardoperra Date: Wed, 5 Feb 2025 20:00:36 +0100 Subject: [PATCH 21/22] angular: update vite config to support vitest workspaces --- packages/angular-table/vite.config.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/angular-table/vite.config.ts b/packages/angular-table/vite.config.ts index 329f4e28d1..f1dc9d9158 100644 --- a/packages/angular-table/vite.config.ts +++ b/packages/angular-table/vite.config.ts @@ -1,17 +1,21 @@ +import * as path from 'node:path' import { defineConfig } from 'vitest/config' -import packageJson from './package.json' import angular from '@analogjs/vite-plugin-angular' +import packageJson from './package.json' -const angularPlugin = angular({ tsconfig: 'tsconfig.test.json', jit: true }) +const tsconfigPath = path.join(import.meta.dirname, 'tsconfig.test.json') +const testDirPath = path.join(import.meta.dirname, 'tests') +const angularPlugin = angular({ tsconfig: tsconfigPath, jit: true }) export default defineConfig({ plugins: [angularPlugin], test: { name: packageJson.name, watch: false, + dir: testDirPath, pool: 'threads', environment: 'jsdom', - setupFiles: ['./tests/test-setup.ts'], + setupFiles: [path.join(testDirPath, 'test-setup.ts')], globals: true, reporters: 'default', disableConsoleIntercept: true, From dde1e6a00906ae5f99cf233159d97e452feded59 Mon Sep 17 00:00:00 2001 From: Austin Mudd <31991302+austinm911@users.noreply.github.com> Date: Thu, 6 Feb 2025 17:41:43 -0800 Subject: [PATCH 22/22] init shadcn example --- docs/config.json | 4 + examples/react/shadcn-basic/.gitignore | 5 + examples/react/shadcn-basic/README.md | 6 + examples/react/shadcn-basic/components.json | 21 + examples/react/shadcn-basic/index.html | 13 + examples/react/shadcn-basic/package.json | 34 + .../shadcn-basic/src/components/ui/button.tsx | 59 ++ .../shadcn-basic/src/components/ui/table.tsx | 111 ++ examples/react/shadcn-basic/src/index.css | 100 ++ examples/react/shadcn-basic/src/main.tsx | 178 ++++ examples/react/shadcn-basic/tsconfig.json | 29 + examples/react/shadcn-basic/vite.config.js | 25 + pnpm-lock.yaml | 966 ++++++++++++------ 13 files changed, 1255 insertions(+), 296 deletions(-) create mode 100644 examples/react/shadcn-basic/.gitignore create mode 100644 examples/react/shadcn-basic/README.md create mode 100644 examples/react/shadcn-basic/components.json create mode 100644 examples/react/shadcn-basic/index.html create mode 100644 examples/react/shadcn-basic/package.json create mode 100644 examples/react/shadcn-basic/src/components/ui/button.tsx create mode 100644 examples/react/shadcn-basic/src/components/ui/table.tsx create mode 100644 examples/react/shadcn-basic/src/index.css create mode 100644 examples/react/shadcn-basic/src/main.tsx create mode 100644 examples/react/shadcn-basic/tsconfig.json create mode 100644 examples/react/shadcn-basic/vite.config.js diff --git a/docs/config.json b/docs/config.json index d050a0a967..56f68f67aa 100644 --- a/docs/config.json +++ b/docs/config.json @@ -518,6 +518,10 @@ "to": "framework/react/examples/basic", "label": "Basic" }, + { + "to": "framework/react/examples/shadcn-basic", + "label": "Shadcn Basic" + }, { "to": "framework/react/examples/basic-table-helper", "label": "Basic with Helpers" diff --git a/examples/react/shadcn-basic/.gitignore b/examples/react/shadcn-basic/.gitignore new file mode 100644 index 0000000000..d451ff16c1 --- /dev/null +++ b/examples/react/shadcn-basic/.gitignore @@ -0,0 +1,5 @@ +node_modules +.DS_Store +dist +dist-ssr +*.local diff --git a/examples/react/shadcn-basic/README.md b/examples/react/shadcn-basic/README.md new file mode 100644 index 0000000000..b168d3c4b1 --- /dev/null +++ b/examples/react/shadcn-basic/README.md @@ -0,0 +1,6 @@ +# Example + +To run this example: + +- `npm install` or `yarn` +- `npm run start` or `yarn start` diff --git a/examples/react/shadcn-basic/components.json b/examples/react/shadcn-basic/components.json new file mode 100644 index 0000000000..2082f482ac --- /dev/null +++ b/examples/react/shadcn-basic/components.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "new-york", + "rsc": false, + "tsx": true, + "tailwind": { + "config": "", + "css": "src/index.css", + "baseColor": "zinc", + "cssVariables": true, + "prefix": "" + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks" + }, + "iconLibrary": "lucide" +} \ No newline at end of file diff --git a/examples/react/shadcn-basic/index.html b/examples/react/shadcn-basic/index.html new file mode 100644 index 0000000000..3fc40c9367 --- /dev/null +++ b/examples/react/shadcn-basic/index.html @@ -0,0 +1,13 @@ + + + + + + Vite App + + + +
+ + + diff --git a/examples/react/shadcn-basic/package.json b/examples/react/shadcn-basic/package.json new file mode 100644 index 0000000000..f88acc6d4a --- /dev/null +++ b/examples/react/shadcn-basic/package.json @@ -0,0 +1,34 @@ +{ + "name": "tanstack-table-example-shadcn-basic", + "version": "0.0.0", + "type": "module", + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build", + "serve": "vite preview", + "start": "vite", + "lint": "eslint ./src" + }, + "dependencies": { + "@radix-ui/react-slot": "^1.1.2", + "@tailwindcss/vite": "^4.0.4", + "@tanstack/react-table": "^9.0.0-alpha.10", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "lucide-react": "^0.474.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tailwind-merge": "^3.0.1", + "tailwindcss": "^4.0.4", + "tailwindcss-animate": "^1.0.7" + }, + "devDependencies": { + "@rollup/plugin-replace": "^6.0.1", + "@types/react": "^19.0.1", + "@types/react-dom": "^19.0.1", + "@vitejs/plugin-react": "^4.3.4", + "typescript": "5.6.3", + "vite": "^5.4.11" + } +} diff --git a/examples/react/shadcn-basic/src/components/ui/button.tsx b/examples/react/shadcn-basic/src/components/ui/button.tsx new file mode 100644 index 0000000000..24bf026f74 --- /dev/null +++ b/examples/react/shadcn-basic/src/components/ui/button.tsx @@ -0,0 +1,59 @@ +import * as React from 'react' +import { Slot } from '@radix-ui/react-slot' +import { cva } from 'class-variance-authority' +import type { VariantProps } from 'class-variance-authority' + +import { cn } from '@/lib/utils' + +const buttonVariants = cva( + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 focus-visible:ring-4 focus-visible:outline-1 aria-invalid:focus-visible:ring-0", + { + variants: { + variant: { + default: + 'bg-primary text-primary-foreground shadow-sm hover:bg-primary/90', + destructive: + 'bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90', + outline: + 'border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground', + secondary: + 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80', + ghost: 'hover:bg-accent hover:text-accent-foreground', + link: 'text-primary underline-offset-4 hover:underline', + }, + size: { + default: 'h-9 px-4 py-2 has-[>svg]:px-3', + sm: 'h-8 rounded-md px-3 has-[>svg]:px-2.5', + lg: 'h-10 rounded-md px-6 has-[>svg]:px-4', + icon: 'size-9', + }, + }, + defaultVariants: { + variant: 'default', + size: 'default', + }, + }, +) + +function Button({ + className, + variant, + size, + asChild = false, + ...props +}: React.ComponentProps<'button'> & + VariantProps & { + asChild?: boolean + }) { + const Comp = asChild ? Slot : 'button' + + return ( + + ) +} + +export { Button, buttonVariants } diff --git a/examples/react/shadcn-basic/src/components/ui/table.tsx b/examples/react/shadcn-basic/src/components/ui/table.tsx new file mode 100644 index 0000000000..c16bd51222 --- /dev/null +++ b/examples/react/shadcn-basic/src/components/ui/table.tsx @@ -0,0 +1,111 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +function Table({ className, ...props }: React.ComponentProps<"table">) { + return ( +
+ + + ) +} + +function TableHeader({ className, ...props }: React.ComponentProps<"thead">) { + return ( + + ) +} + +function TableBody({ className, ...props }: React.ComponentProps<"tbody">) { + return ( + + ) +} + +function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">) { + return ( + tr]:last:border-b-0", + className + )} + {...props} + /> + ) +} + +function TableRow({ className, ...props }: React.ComponentProps<"tr">) { + return ( + + ) +} + +function TableHead({ className, ...props }: React.ComponentProps<"th">) { + return ( +
[role=checkbox]]:translate-y-[2px]", + className + )} + {...props} + /> + ) +} + +function TableCell({ className, ...props }: React.ComponentProps<"td">) { + return ( + [role=checkbox]]:translate-y-[2px]", + className + )} + {...props} + /> + ) +} + +function TableCaption({ + className, + ...props +}: React.ComponentProps<"caption">) { + return ( +
+ ) +} + +export { + Table, + TableHeader, + TableBody, + TableFooter, + TableHead, + TableRow, + TableCell, + TableCaption, +} diff --git a/examples/react/shadcn-basic/src/index.css b/examples/react/shadcn-basic/src/index.css new file mode 100644 index 0000000000..78b467934c --- /dev/null +++ b/examples/react/shadcn-basic/src/index.css @@ -0,0 +1,100 @@ +@import 'tailwindcss' source('../'); + +@plugin 'tailwindcss-animate'; + +@custom-variant dark (&:is(.dark *)); + +:root { + --background: hsl(0 0% 100%); + --foreground: hsl(240 10% 3.9%); + --card: hsl(0 0% 100%); + --card-foreground: hsl(240 10% 3.9%); + --popover: hsl(0 0% 100%); + --popover-foreground: hsl(240 10% 3.9%); + --primary: hsl(240 5.9% 10%); + --primary-foreground: hsl(0 0% 98%); + --secondary: hsl(240 4.8% 95.9%); + --secondary-foreground: hsl(240 5.9% 10%); + --muted: hsl(240 4.8% 95.9%); + --muted-foreground: hsl(240 3.8% 46.1%); + --accent: hsl(240 4.8% 95.9%); + --accent-foreground: hsl(240 5.9% 10%); + --destructive: hsl(0 84.2% 60.2%); + --destructive-foreground: hsl(0 0% 98%); + --border: hsl(240 5.9% 90%); + --input: hsl(240 5.9% 90%); + --ring: hsl(240 10% 3.9%); + --chart-1: hsl(12 76% 61%); + --chart-2: hsl(173 58% 39%); + --chart-3: hsl(197 37% 24%); + --chart-4: hsl(43 74% 66%); + --chart-5: hsl(27 87% 67%); + --radius: 0.6rem; +} + +.dark { + --background: hsl(240 10% 3.9%); + --foreground: hsl(0 0% 98%); + --card: hsl(240 10% 3.9%); + --card-foreground: hsl(0 0% 98%); + --popover: hsl(240 10% 3.9%); + --popover-foreground: hsl(0 0% 98%); + --primary: hsl(0 0% 98%); + --primary-foreground: hsl(240 5.9% 10%); + --secondary: hsl(240 3.7% 15.9%); + --secondary-foreground: hsl(0 0% 98%); + --muted: hsl(240 3.7% 15.9%); + --muted-foreground: hsl(240 5% 64.9%); + --accent: hsl(240 3.7% 15.9%); + --accent-foreground: hsl(0 0% 98%); + --destructive: hsl(0 62.8% 30.6%); + --destructive-foreground: hsl(0 0% 98%); + --border: hsl(240 3.7% 15.9%); + --input: hsl(240 3.7% 15.9%); + --ring: hsl(240 4.9% 83.9%); + --chart-1: hsl(220 70% 50%); + --chart-2: hsl(160 60% 45%); + --chart-3: hsl(30 80% 55%); + --chart-4: hsl(280 65% 60%); + --chart-5: hsl(340 75% 55%); +} + +@theme inline { + --color-background: var(--background); + --color-foreground: var(--foreground); + --color-card: var(--card); + --color-card-foreground: var(--card-foreground); + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-destructive-foreground: var(--destructive-foreground); + --color-border: var(--border); + --color-input: var(--input); + --color-ring: var(--ring); + --color-chart-1: var(--chart-1); + --color-chart-2: var(--chart-2); + --color-chart-3: var(--chart-3); + --color-chart-4: var(--chart-4); + --color-chart-5: var(--chart-5); + --radius-sm: calc(var(--radius) - 4px); + --radius-md: calc(var(--radius) - 2px); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) + 4px); +} + +@layer base { + * { + @apply border-border outline-ring/50; + } + body { + @apply bg-background text-foreground; + } +} diff --git a/examples/react/shadcn-basic/src/main.tsx b/examples/react/shadcn-basic/src/main.tsx new file mode 100644 index 0000000000..20807bd6f4 --- /dev/null +++ b/examples/react/shadcn-basic/src/main.tsx @@ -0,0 +1,178 @@ +import { flexRender, tableFeatures, useTable } from '@tanstack/react-table' +import * as React from 'react' +import ReactDOM from 'react-dom/client' +import { Button } from './components/ui/button' +import { + Table, + TableBody, + TableCell, + TableFooter, + TableHeader, + TableRow, +} from './components/ui/table' +import type { ColumnDef } from '@tanstack/react-table' +import './index.css' +// This example uses the classic standalone `useTable` hook to create a table without the new `createTableHelper` util. + +// 1. Define what the shape of your data will be for each row +type Person = { + firstName: string + lastName: string + age: number + visits: number + status: string + progress: number +} + +// 2. Create some dummy data with a stable reference (this could be an API response stored in useState or similar) +const defaultData: Array = [ + { + firstName: 'tanner', + lastName: 'linsley', + age: 24, + visits: 100, + status: 'In Relationship', + progress: 50, + }, + { + firstName: 'tandy', + lastName: 'miller', + age: 40, + visits: 40, + status: 'Single', + progress: 80, + }, + { + firstName: 'joe', + lastName: 'dirte', + age: 45, + visits: 20, + status: 'Complicated', + progress: 10, + }, + { + firstName: 'kevin', + lastName: 'vandy', + age: 12, + visits: 100, + status: 'Single', + progress: 70, + }, +] + +// 3. New in V9! Tell the table which features and row models we want to use. In this case, this will be a basic table with no additional features +const _features = tableFeatures({}) // util method to create sharable TFeatures object/type + +// 4. Define the columns for your table. This uses the new `ColumnDef` type to define columns. Alternatively, check out the createTableHelper/createColumnHelper util for an even more type-safe way to define columns. +const columns: Array> = [ + { + accessorKey: 'firstName', // accessorKey method (most common for simple use-cases) + header: 'First Name', + cell: (info) => info.getValue(), + }, + { + accessorFn: (row) => row.lastName, // accessorFn used (alternative) along with a custom id + id: 'lastName', + header: () => Last Name, + cell: (info) => {info.getValue()}, + }, + { + accessorFn: (row) => Number(row.age), // accessorFn used to transform the data + id: 'age', + header: () => 'Age', + cell: (info) => { + return info.renderValue() + }, + }, + { + accessorKey: 'visits', + header: () => Visits, + }, + { + accessorKey: 'status', + header: 'Status', + }, + { + accessorKey: 'progress', + header: 'Profile Progress', + }, +] + +function App() { + // 5. Store data with a stable reference + const [data, _setData] = React.useState(() => [...defaultData]) + const rerender = React.useReducer(() => ({}), {})[1] + + // 6. Create the table instance with required _features, columns, and data + const table = useTable({ + _features, // new required option in V9. Tell the table which features you are importing and using (better tree-shaking) + _rowModels: {}, // `Core` row model is now included by default, but you can still override it here + columns, + data, + // add additional table options here + }) + + // 7. Render your table markup from the table instance APIs + return ( +
+ + + {table.getHeaderGroups().map((headerGroup) => ( + + {headerGroup.headers.map((header) => ( + + ))} + + ))} + + + {table.getRowModel().rows.map((row) => ( + + {row.getAllCells().map((cell) => ( + + {flexRender(cell.column.columnDef.cell, cell.getContext())} + + ))} + + ))} + + + {table.getFooterGroups().map((footerGroup) => ( + + {footerGroup.headers.map((header) => ( + + ))} + + ))} + +
+ {header.isPlaceholder + ? null + : flexRender( + header.column.columnDef.header, + header.getContext(), + )} +
+ {header.isPlaceholder + ? null + : flexRender( + header.column.columnDef.footer, + header.getContext(), + )} +
+
+ +
+ ) +} + +const rootElement = document.getElementById('root') +if (!rootElement) throw new Error('Failed to find the root element') + +ReactDOM.createRoot(rootElement).render( + + + , +) diff --git a/examples/react/shadcn-basic/tsconfig.json b/examples/react/shadcn-basic/tsconfig.json new file mode 100644 index 0000000000..e7632f0829 --- /dev/null +++ b/examples/react/shadcn-basic/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + + "baseUrl": ".", + "paths": { + "@/*": ["src/*"] + } + }, + "include": ["src"] +} diff --git a/examples/react/shadcn-basic/vite.config.js b/examples/react/shadcn-basic/vite.config.js new file mode 100644 index 0000000000..48814d8e9c --- /dev/null +++ b/examples/react/shadcn-basic/vite.config.js @@ -0,0 +1,25 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' +import rollupReplace from '@rollup/plugin-replace' +import tailwindcss from '@tailwindcss/vite' +import * as path from 'path' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + rollupReplace({ + preventAssignment: true, + values: { + __DEV__: JSON.stringify(true), + 'process.env.NODE_ENV': JSON.stringify('development'), + }, + }), + react(), + tailwindcss(), + ], + resolve: { + alias: { + '@': path.resolve(__dirname, './src'), + }, + }, +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bee87f6578..3f38105266 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: 11.1.6(size-limit@11.1.6) '@tanstack/config': specifier: 0.14.2 - version: 0.14.2(@types/node@22.10.2)(esbuild@0.24.2)(eslint@9.17.0(jiti@2.4.2))(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 0.14.2(@types/node@22.10.2)(esbuild@0.24.2)(eslint@9.17.0(jiti@2.4.2))(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@testing-library/jest-dom': specifier: ^6.6.3 version: 6.6.3 @@ -61,10 +61,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vitest: specifier: ^2.1.8 - version: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/angular/basic: dependencies: @@ -101,7 +101,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -153,7 +153,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -205,7 +205,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -254,7 +254,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -309,7 +309,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.7.3))(tailwindcss@4.0.4)(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -376,7 +376,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -431,7 +431,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.7.3))(tailwindcss@4.0.4)(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -507,7 +507,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.7.3))(tailwindcss@4.0.4)(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -559,7 +559,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -605,7 +605,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -663,7 +663,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.7.3))(tailwindcss@4.0.4)(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -736,7 +736,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -788,7 +788,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -831,7 +831,7 @@ importers: devDependencies: '@angular/build': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -886,7 +886,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^19.1.5 - version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) + version: 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.7.3))(tailwindcss@4.0.4)(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) '@angular/cli': specifier: ^19.1.5 version: 19.1.5(@types/node@22.10.10)(chokidar@4.0.3) @@ -929,7 +929,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/lit/column-sizing: dependencies: @@ -951,7 +951,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/lit/filters: dependencies: @@ -973,7 +973,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/lit/row-selection: dependencies: @@ -995,7 +995,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/lit/sorting: dependencies: @@ -1017,7 +1017,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/lit/sorting-dynamic-data: dependencies: @@ -1039,7 +1039,7 @@ importers: version: 5.4.5 vite: specifier: ^5.3.2 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/lit/virtualized-rows: dependencies: @@ -1064,7 +1064,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/preact/basic: dependencies: @@ -1077,13 +1077,13 @@ importers: devDependencies: '@preact/preset-vite': specifier: ^2.9.3 - version: 2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/preact/sorting: dependencies: @@ -1099,13 +1099,13 @@ importers: devDependencies: '@preact/preset-vite': specifier: ^2.9.3 - version: 2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/qwik/basic: dependencies: @@ -1115,7 +1115,7 @@ importers: devDependencies: '@builder.io/qwik': specifier: ^1.11.0 - version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) serve: specifier: ^14.2.4 version: 14.2.4 @@ -1124,7 +1124,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/qwik/filters: dependencies: @@ -1137,7 +1137,7 @@ importers: devDependencies: '@builder.io/qwik': specifier: ^1.11.0 - version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@faker-js/faker': specifier: ^9.3.0 version: 9.3.0 @@ -1149,7 +1149,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/qwik/row-selection: dependencies: @@ -1159,7 +1159,7 @@ importers: devDependencies: '@builder.io/qwik': specifier: ^1.11.0 - version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@faker-js/faker': specifier: ^9.3.0 version: 9.3.0 @@ -1171,7 +1171,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/qwik/sorting: dependencies: @@ -1181,7 +1181,7 @@ importers: devDependencies: '@builder.io/qwik': specifier: ^1.11.0 - version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@faker-js/faker': specifier: ^9.3.0 version: 9.3.0 @@ -1193,7 +1193,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/basic: dependencies: @@ -1218,13 +1218,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/basic-table-helper: dependencies: @@ -1249,13 +1249,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-dnd: dependencies: @@ -1295,13 +1295,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-groups: dependencies: @@ -1326,13 +1326,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-ordering: dependencies: @@ -1360,13 +1360,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-pinning: dependencies: @@ -1394,13 +1394,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-pinning-split: dependencies: @@ -1428,13 +1428,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-pinning-sticky: dependencies: @@ -1462,13 +1462,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-resizing: dependencies: @@ -1493,13 +1493,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-resizing-performant: dependencies: @@ -1527,13 +1527,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-sizing: dependencies: @@ -1558,13 +1558,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/column-visibility: dependencies: @@ -1589,13 +1589,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/custom-features: dependencies: @@ -1623,13 +1623,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/editable-data: dependencies: @@ -1657,13 +1657,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/expanding: dependencies: @@ -1691,13 +1691,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/filters: dependencies: @@ -1728,13 +1728,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/filters-faceted: dependencies: @@ -1765,13 +1765,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/filters-fuzzy: dependencies: @@ -1802,13 +1802,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/full-width-resizable-table: dependencies: @@ -1836,13 +1836,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/full-width-table: dependencies: @@ -1870,13 +1870,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/fully-controlled: dependencies: @@ -1904,13 +1904,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/grouping: dependencies: @@ -1938,13 +1938,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/pagination: dependencies: @@ -1972,13 +1972,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/pagination-controlled: dependencies: @@ -2009,13 +2009,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/query-router-search-params: dependencies: @@ -2043,7 +2043,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@tanstack/router-vite-plugin': specifier: ^1.86.0 - version: 1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(webpack@5.97.1(esbuild@0.24.2)) + version: 1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(webpack@5.97.1(esbuild@0.24.2)) '@types/react': specifier: ^19.0.1 version: 19.0.2 @@ -2052,13 +2052,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/row-dnd: dependencies: @@ -2098,13 +2098,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/row-pinning: dependencies: @@ -2132,13 +2132,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/row-selection: dependencies: @@ -2166,13 +2166,68 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) + + examples/react/shadcn-basic: + dependencies: + '@radix-ui/react-slot': + specifier: ^1.1.2 + version: 1.1.2(@types/react@19.0.2)(react@19.0.0) + '@tailwindcss/vite': + specifier: ^4.0.4 + version: 4.0.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) + '@tanstack/react-table': + specifier: ^9.0.0-alpha.10 + version: link:../../../packages/react-table + class-variance-authority: + specifier: ^0.7.1 + version: 0.7.1 + clsx: + specifier: ^2.1.1 + version: 2.1.1 + lucide-react: + specifier: ^0.474.0 + version: 0.474.0(react@19.0.0) + react: + specifier: ^19.0.0 + version: 19.0.0 + react-dom: + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) + tailwind-merge: + specifier: ^3.0.1 + version: 3.0.1 + tailwindcss: + specifier: ^4.0.4 + version: 4.0.4 + tailwindcss-animate: + specifier: ^1.0.7 + version: 1.0.7(tailwindcss@4.0.4) + devDependencies: + '@rollup/plugin-replace': + specifier: ^6.0.1 + version: 6.0.2(rollup@4.32.0) + '@types/react': + specifier: ^19.0.1 + version: 19.0.2 + '@types/react-dom': + specifier: ^19.0.1 + version: 19.0.2(@types/react@19.0.2) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) + typescript: + specifier: 5.6.3 + version: 5.6.3 + vite: + specifier: ^5.4.11 + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/sorting: dependencies: @@ -2200,13 +2255,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/sub-components: dependencies: @@ -2234,13 +2289,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/virtualized-columns: dependencies: @@ -2271,13 +2326,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/virtualized-columns-experimental: dependencies: @@ -2308,13 +2363,13 @@ importers: version: 18.3.5(@types/react@18.3.18) '@vitejs/plugin-react': specifier: ^4.3.1 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.4.5 version: 5.4.5 vite: specifier: ^5.3.2 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/virtualized-infinite-scrolling: dependencies: @@ -2348,13 +2403,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/virtualized-rows: dependencies: @@ -2385,13 +2440,13 @@ importers: version: 19.0.2(@types/react@19.0.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/react/virtualized-rows-experimental: dependencies: @@ -2422,13 +2477,13 @@ importers: version: 18.3.5(@types/react@18.3.18) '@vitejs/plugin-react': specifier: ^4.3.1 - version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) typescript: specifier: 5.4.5 version: 5.4.5 vite: specifier: ^5.3.2 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/solid/basic: dependencies: @@ -2444,10 +2499,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) examples/solid/basic-table-helper: dependencies: @@ -2463,10 +2518,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) examples/solid/column-groups: dependencies: @@ -2482,10 +2537,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) examples/solid/column-ordering: dependencies: @@ -2504,10 +2559,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) examples/solid/column-visibility: dependencies: @@ -2523,10 +2578,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) examples/solid/filters: dependencies: @@ -2548,10 +2603,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) examples/solid/filters-faceted: dependencies: @@ -2573,10 +2628,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) examples/solid/sorting: dependencies: @@ -2595,10 +2650,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) examples/svelte/basic: devDependencies: @@ -2607,7 +2662,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2625,7 +2680,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/basic-snippets: devDependencies: @@ -2634,7 +2689,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2652,7 +2707,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/basic-table-helper: devDependencies: @@ -2661,7 +2716,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2679,7 +2734,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/column-groups: devDependencies: @@ -2688,7 +2743,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2706,7 +2761,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/column-ordering: devDependencies: @@ -2718,7 +2773,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2736,7 +2791,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/column-pinning: devDependencies: @@ -2748,7 +2803,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2766,7 +2821,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/column-visibility: devDependencies: @@ -2775,7 +2830,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2793,7 +2848,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/filtering: devDependencies: @@ -2805,7 +2860,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/match-sorter-utils': specifier: ^9.0.0-alpha.4 version: link:../../../packages/match-sorter-utils @@ -2826,7 +2881,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/svelte/sorting: devDependencies: @@ -2838,7 +2893,7 @@ importers: version: 6.0.2(rollup@4.32.0) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@tanstack/svelte-table': specifier: ^9.0.0-alpha.10 version: link:../../../packages/svelte-table @@ -2856,7 +2911,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/vanilla/basic: dependencies: @@ -2878,7 +2933,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/vanilla/pagination: dependencies: @@ -2903,7 +2958,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/vanilla/sorting: dependencies: @@ -2928,7 +2983,7 @@ importers: version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) examples/vue/basic: dependencies: @@ -2944,13 +2999,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -2972,13 +3027,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3000,13 +3055,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3028,13 +3083,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3056,13 +3111,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3084,13 +3139,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3112,16 +3167,16 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) '@vitejs/plugin-vue-jsx': specifier: ^4.1.1 - version: 4.1.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 4.1.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3143,13 +3198,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3171,13 +3226,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3202,13 +3257,13 @@ importers: version: 22.10.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vue-tsc: specifier: ^2.1.10 version: 2.2.0(typescript@5.6.3) @@ -3224,10 +3279,10 @@ importers: devDependencies: '@analogjs/vite-plugin-angular': specifier: ^1.11.0 - version: 1.13.0(rgq6hujoid62bmeuzktk4sungq) + version: 1.13.0(7jg3fzujxxhh7jdlhmgl2n7xkm) '@analogjs/vitest-angular': specifier: ^1.11.0 - version: 1.13.0(@analogjs/vite-plugin-angular@1.13.0(rgq6hujoid62bmeuzktk4sungq))(vitest@2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + version: 1.13.0(@analogjs/vite-plugin-angular@1.13.0(7jg3fzujxxhh7jdlhmgl2n7xkm))(vitest@2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@angular/core': specifier: ^19.1.4 version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) @@ -3239,7 +3294,7 @@ importers: version: 19.1.4(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.4(@angular/animations@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))) ng-packagr: specifier: ^19.1.2 - version: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3) + version: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3) typescript: specifier: ~5.6.3 version: 5.6.3 @@ -3268,7 +3323,7 @@ importers: devDependencies: '@preact/preset-vite': specifier: ^2.9.3 - version: 2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + version: 2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) preact: specifier: ^10.25.4 version: 10.25.4 @@ -3281,7 +3336,7 @@ importers: devDependencies: '@builder.io/qwik': specifier: ^1.11.0 - version: 1.12.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + version: 1.12.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) packages/react-table: dependencies: @@ -3300,7 +3355,7 @@ importers: version: 19.0.2 '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + version: 4.3.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) eslint-plugin-react-hooks: specifier: ^5.1.0 version: 5.1.0(eslint@9.17.0(jiti@2.4.2)) @@ -3319,7 +3374,7 @@ importers: version: 1.9.3 vite-plugin-solid: specifier: ^2.11.0 - version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + version: 2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) packages/svelte-table: dependencies: @@ -3332,7 +3387,7 @@ importers: version: 2.3.7(svelte@5.19.3)(typescript@5.7.3) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.4 - version: 4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + version: 4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) eslint-plugin-svelte: specifier: ^2.46.1 version: 2.46.1(eslint@9.17.0(jiti@2.4.2))(svelte@5.19.3) @@ -3353,7 +3408,7 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3)) + version: 5.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3)) eslint-plugin-vue: specifier: ^9.32.0 version: 9.32.0(eslint@9.17.0(jiti@2.4.2)) @@ -5391,6 +5446,24 @@ packages: preact: ^10.4.0 vite: '>=2.0.0' + '@radix-ui/react-compose-refs@1.1.1': + resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-slot@1.1.2': + resolution: {integrity: sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@rollup/plugin-json@6.1.0': resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} @@ -5845,6 +5918,84 @@ packages: svelte: ^5.0.0-next.96 || ^5.0.0 vite: ^5.0.0 + '@tailwindcss/node@4.0.4': + resolution: {integrity: sha512-VLFq80IyoV1hsHPcCm1mmlyPyUT6NlovQLoO2y7PGm84mW94ZrNJ7ax5H6K4M7Aj/fdMfem5IX7Ka+LXWZpDGg==} + + '@tailwindcss/oxide-android-arm64@4.0.4': + resolution: {integrity: sha512-hiGUA8d15ynH/LdurQNObnuTjri7i4ApAzhesusNxoz4br7vhZ6QO5CFgniYAYNZvf8Q8wCTBg0nj61RalBeVQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.0.4': + resolution: {integrity: sha512-vTca+ysNl8BYmYJTni9pLC+L3S4bvrj0ai1eUV3yYXYa5Cpugr5Fni6ylV0gcTZOyETm2RCCJ/0azU6MgqE6HA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.0.4': + resolution: {integrity: sha512-rxPWb5AQJ/aAM/5UDCjaQaMYIcrZHe/Dr9xZu9+P9nJf3WAweNsGi+e+SW9EYGRiF3hkBtP2dvxVNAkTiEbNQQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.0.4': + resolution: {integrity: sha512-UOnRHzlS5V5cxaMgBo6rk1E92tTDUtO/falc9vOpNiRdWhNcofYNN9zvZP63Wuo5FC6/XCyAnJo6OXUm18TwrQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.4': + resolution: {integrity: sha512-0Ry9Qfnf22rmJwHxsCFmHQIl5RZw+yOUUGHaqNT42REL8r308cU/bi4UqdrjqVRfAlu51gOGxTRf2NRueczuIA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.0.4': + resolution: {integrity: sha512-5a7WD30nVdI7Rl1ohZ0Ojj9t5yRnZkJBizvh3uIW52h9UeNpon8TfoknF6rU/TwD32dQ0Cjo5CcCHtQ2wW9PCA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.0.4': + resolution: {integrity: sha512-m6s5jKSqos07l6NtHFd49Ljcaw4jIWHE7jq6eNPNz9SCzQqRzs4esP1t7jH8UljQ7JffKOl7yZPwK5Nf+irliw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.0.4': + resolution: {integrity: sha512-K5dBjGHzby9eyUBwy9YHFhKY+5i8fzIBZM1NBWp6L2xpM7OzW9WJDgNcgESkZami9g+EozkQLt3ZmMZHAieXkw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.0.4': + resolution: {integrity: sha512-J8sskt+fA5ooq+kxy0Tf4E2TRWZD9Y8j3K+pnBwp9zdilLmSd8OHrB3e0/rO78KveZ6BE9ae75cKOWrT6wONmw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-win32-arm64-msvc@4.0.4': + resolution: {integrity: sha512-flFaaMc77NQbz0Fq73wBs9EH2lX1Oc2Z/3JuxoewpnGHpAGJ/j05tvBNMyTaGrKcHvf/+dk+mCDxb6+PmzGgnQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.0.4': + resolution: {integrity: sha512-WzMA0aL/24/JyNrv2Yhr/Og24QGRPWJMjRyCJ4HRoGMs6/8svOQKrnnZ/9LUFwn56irAndFBjWWnlaqykH+g5Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.0.4': + resolution: {integrity: sha512-vPpu30KFLiGyPOoElkYt8WRvzGKVrrOz49KpfiGGtnQGmyUpL8VCbJzzEEcpKT5BpaaQidhFok+OXscf6hHjOQ==} + engines: {node: '>= 10'} + + '@tailwindcss/vite@4.0.4': + resolution: {integrity: sha512-zrWGbluPeXeoetUQoDFmt1dQIeiOBThfznla7zPIqST69rMmiDD4SZwJrHVoL5CvXz06AYQXz/M/jELSakL7Rg==} + peerDependencies: + vite: ^5.2.0 || ^6 + '@tanstack/angular-table@8.21.0': resolution: {integrity: sha512-Y3mchcWBVdPisOHN4Ele87N19Wpm2rieMP302V+aDcsqzE6CBDm7S6SxqmE1JTryHuGjIb+PDQ+9DwGqLqTKdA==} engines: {node: '>=12'} @@ -6818,6 +6969,9 @@ packages: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} + class-variance-authority@0.7.1: + resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} @@ -8521,6 +8675,70 @@ packages: resolution: {integrity: sha512-a5BQjbCHnB+cy+gsro8lXJ4kZluzOijzJ1UVVfyJYZC+IP2pLv1h4+aysQeKuTmyO8NAqfyQAk4HWaP/HjcKTg==} engines: {node: '>=10.13.0'} + lightningcss-darwin-arm64@1.29.1: + resolution: {integrity: sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.29.1: + resolution: {integrity: sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.29.1: + resolution: {integrity: sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.29.1: + resolution: {integrity: sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.29.1: + resolution: {integrity: sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.29.1: + resolution: {integrity: sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.29.1: + resolution: {integrity: sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.29.1: + resolution: {integrity: sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.29.1: + resolution: {integrity: sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.29.1: + resolution: {integrity: sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.29.1: + resolution: {integrity: sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==} + engines: {node: '>= 12.0.0'} + lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -8636,6 +8854,11 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} + lucide-react@0.474.0: + resolution: {integrity: sha512-CmghgHkh0OJNmxGKWc0qfPJCYHASPMVSyGY8fj3xgk4v84ItqDg64JNKFZn5hC6E0vHi6gxnbCgwhyVB09wQtA==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + lunr@2.3.9: resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} @@ -10181,6 +10404,17 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + tailwind-merge@3.0.1: + resolution: {integrity: sha512-AvzE8FmSoXC7nC+oU5GlQJbip2UO7tmOhOfQyOmPhrStOGXHU08j8mZEHZ4BmCqY5dWTCo4ClWkNyRNx1wpT0g==} + + tailwindcss-animate@1.0.7: + resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders' + + tailwindcss@4.0.4: + resolution: {integrity: sha512-/ezDLEkOLf1lXkr9F2iI5BHJbexJpty5zkV2B8bGHCqAdbc9vk85Jgdkq+ZOvNkNPa3yAaqJ8DjRt584Bc84kw==} + tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -10980,18 +11214,18 @@ snapshots: '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 - '@analogjs/vite-plugin-angular@1.13.0(rgq6hujoid62bmeuzktk4sungq)': + '@analogjs/vite-plugin-angular@1.13.0(7jg3fzujxxhh7jdlhmgl2n7xkm)': dependencies: ts-morph: 21.0.1 vfile: 6.0.3 optionalDependencies: - '@angular-devkit/build-angular': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(jiti@2.4.2)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) - '@angular/build': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.4.49)(terser@5.37.0)(typescript@5.6.3) + '@angular-devkit/build-angular': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(tailwindcss@4.0.4)(tsx@4.19.2)(typescript@5.6.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) + '@angular/build': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) - '@analogjs/vitest-angular@1.13.0(@analogjs/vite-plugin-angular@1.13.0(rgq6hujoid62bmeuzktk4sungq))(vitest@2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': + '@analogjs/vitest-angular@1.13.0(@analogjs/vite-plugin-angular@1.13.0(7jg3fzujxxhh7jdlhmgl2n7xkm))(vitest@2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))': dependencies: - '@analogjs/vite-plugin-angular': 1.13.0(rgq6hujoid62bmeuzktk4sungq) - vitest: 2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + '@analogjs/vite-plugin-angular': 1.13.0(7jg3fzujxxhh7jdlhmgl2n7xkm) + vitest: 2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) '@angular-devkit/architect@0.1901.5(chokidar@4.0.3)': dependencies: @@ -11000,13 +11234,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(jiti@2.4.2)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': + '@angular-devkit/build-angular@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(tailwindcss@4.0.4)(tsx@4.19.2)(typescript@5.6.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) '@angular-devkit/build-webpack': 0.1901.5(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.97.1(esbuild@0.24.2)))(webpack@5.97.1(esbuild@0.24.2)) '@angular-devkit/core': 19.1.5(chokidar@4.0.3) - '@angular/build': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.4.49)(terser@5.37.0)(typescript@5.6.3) + '@angular/build': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(postcss@8.4.49)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) '@babel/core': 7.26.0 '@babel/generator': 7.26.3 @@ -11019,7 +11253,7 @@ snapshots: '@babel/runtime': 7.26.0 '@discoveryjs/json-ext': 0.6.3 '@ngtools/webpack': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(typescript@5.6.3)(webpack@5.97.1(esbuild@0.24.2)) - '@vitejs/plugin-basic-ssl': 1.2.0(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) ansi-colors: 4.1.3 autoprefixer: 10.4.20(postcss@8.4.49) babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1(esbuild@0.24.2)) @@ -11061,7 +11295,9 @@ snapshots: webpack-subresource-integrity: 5.1.0(webpack@5.97.1(esbuild@0.24.2)) optionalDependencies: esbuild: 0.24.2 - ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3) + karma: 6.4.4 + ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3) + tailwindcss: 4.0.4 transitivePeerDependencies: - '@angular/compiler' - '@rspack/core' @@ -11086,13 +11322,13 @@ snapshots: - yaml optional: true - '@angular-devkit/build-angular@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1)': + '@angular-devkit/build-angular@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(karma@6.4.4)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.7.3))(tailwindcss@4.0.4)(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) '@angular-devkit/build-webpack': 0.1901.5(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.97.1(esbuild@0.24.2)))(webpack@5.97.1(esbuild@0.24.2)) '@angular-devkit/core': 19.1.5(chokidar@4.0.3) - '@angular/build': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(postcss@8.4.49)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.6.1) + '@angular/build': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.7.3))(postcss@8.4.49)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.6.1) '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3) '@babel/core': 7.26.0 '@babel/generator': 7.26.3 @@ -11105,7 +11341,7 @@ snapshots: '@babel/runtime': 7.26.0 '@discoveryjs/json-ext': 0.6.3 '@ngtools/webpack': 19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(typescript@5.7.3)(webpack@5.97.1(esbuild@0.24.2)) - '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) ansi-colors: 4.1.3 autoprefixer: 10.4.20(postcss@8.4.49) babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1(esbuild@0.24.2)) @@ -11148,7 +11384,8 @@ snapshots: optionalDependencies: esbuild: 0.24.2 karma: 6.4.4 - ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3) + ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.7.3) + tailwindcss: 4.0.4 transitivePeerDependencies: - '@angular/compiler' - '@rspack/core' @@ -11207,7 +11444,7 @@ snapshots: '@angular/core': 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) tslib: 2.8.1 - '@angular/build@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1)': + '@angular/build@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(postcss@8.4.49)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) @@ -11219,7 +11456,7 @@ snapshots: '@babel/helper-split-export-declaration': 7.24.7 '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) '@inquirer/confirm': 5.1.1(@types/node@22.10.10) - '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) beasties: 0.2.0 browserslist: 4.24.4 esbuild: 0.24.2 @@ -11236,13 +11473,14 @@ snapshots: sass: 1.83.1 semver: 7.6.3 typescript: 5.6.3 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) watchpack: 2.4.2 optionalDependencies: less: 4.2.1 lmdb: 3.2.2 - ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3) - postcss: 8.5.1 + ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3) + postcss: 8.4.49 + tailwindcss: 4.0.4 transitivePeerDependencies: - '@types/node' - chokidar @@ -11255,8 +11493,9 @@ snapshots: - terser - tsx - yaml + optional: true - '@angular/build@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3))(postcss@8.4.49)(terser@5.37.0)(typescript@5.6.3)': + '@angular/build@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3))(postcss@8.5.1)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) @@ -11268,7 +11507,7 @@ snapshots: '@babel/helper-split-export-declaration': 7.24.7 '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) '@inquirer/confirm': 5.1.1(@types/node@22.10.10) - '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) beasties: 0.2.0 browserslist: 4.24.4 esbuild: 0.24.2 @@ -11285,13 +11524,14 @@ snapshots: sass: 1.83.1 semver: 7.6.3 typescript: 5.6.3 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) watchpack: 2.4.2 optionalDependencies: less: 4.2.1 lmdb: 3.2.2 - ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3) - postcss: 8.4.49 + ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3) + postcss: 8.5.1 + tailwindcss: 4.0.4 transitivePeerDependencies: - '@types/node' - chokidar @@ -11304,9 +11544,8 @@ snapshots: - terser - tsx - yaml - optional: true - '@angular/build@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3))(postcss@8.4.49)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.6.1)': + '@angular/build@19.1.5(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(@types/node@22.10.10)(chokidar@4.0.3)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.7.3))(postcss@8.4.49)(tailwindcss@4.0.4)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.6.1)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.1901.5(chokidar@4.0.3) @@ -11318,7 +11557,7 @@ snapshots: '@babel/helper-split-export-declaration': 7.24.7 '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) '@inquirer/confirm': 5.1.1(@types/node@22.10.10) - '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) beasties: 0.2.0 browserslist: 4.24.4 esbuild: 0.24.2 @@ -11335,13 +11574,14 @@ snapshots: sass: 1.83.1 semver: 7.6.3 typescript: 5.7.3 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) watchpack: 2.4.2 optionalDependencies: less: 4.2.1 lmdb: 3.2.2 - ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3) + ng-packagr: 19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.7.3) postcss: 8.4.49 + tailwindcss: 4.0.4 transitivePeerDependencies: - '@types/node' - chokidar @@ -12344,15 +12584,15 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@builder.io/qwik@1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': + '@builder.io/qwik@1.12.0(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))': dependencies: csstype: 3.1.3 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) - '@builder.io/qwik@1.12.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@builder.io/qwik@1.12.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: csstype: 3.1.3 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) '@colors/colors@1.5.0': {} @@ -13334,13 +13574,13 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@preact/preset-vite@2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': + '@preact/preset-vite@2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))': dependencies: '@babel/code-frame': 7.26.2 '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-development': 7.25.9(@babel/core@7.26.0) - '@prefresh/vite': 2.4.6(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + '@prefresh/vite': 2.4.6(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@rollup/pluginutils': 4.2.1 babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.26.0) debug: 4.4.0 @@ -13349,18 +13589,18 @@ snapshots: node-html-parser: 6.1.13 source-map: 0.7.4 stack-trace: 1.0.0-pre2 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - preact - supports-color - '@preact/preset-vite@2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@preact/preset-vite@2.9.4(@babel/core@7.26.0)(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: '@babel/code-frame': 7.26.2 '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-development': 7.25.9(@babel/core@7.26.0) - '@prefresh/vite': 2.4.6(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + '@prefresh/vite': 2.4.6(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) '@rollup/pluginutils': 4.2.1 babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.26.0) debug: 4.4.0 @@ -13369,7 +13609,7 @@ snapshots: node-html-parser: 6.1.13 source-map: 0.7.4 stack-trace: 1.0.0-pre2 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - preact - supports-color @@ -13382,7 +13622,7 @@ snapshots: '@prefresh/utils@1.2.0': {} - '@prefresh/vite@2.4.6(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': + '@prefresh/vite@2.4.6(preact@10.25.4)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))': dependencies: '@babel/core': 7.26.0 '@prefresh/babel-plugin': 0.5.1 @@ -13390,11 +13630,11 @@ snapshots: '@prefresh/utils': 1.2.0 '@rollup/pluginutils': 4.2.1 preact: 10.25.4 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - supports-color - '@prefresh/vite@2.4.6(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@prefresh/vite@2.4.6(preact@10.25.4)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: '@babel/core': 7.26.0 '@prefresh/babel-plugin': 0.5.1 @@ -13402,10 +13642,23 @@ snapshots: '@prefresh/utils': 1.2.0 '@rollup/pluginutils': 4.2.1 preact: 10.25.4 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - supports-color + '@radix-ui/react-compose-refs@1.1.1(@types/react@19.0.2)(react@19.0.0)': + dependencies: + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.2 + + '@radix-ui/react-slot@1.1.2(@types/react@19.0.2)(react@19.0.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0) + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.2 + '@rollup/plugin-json@6.1.0(rollup@4.32.0)': dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.32.0) @@ -13751,57 +14004,118 @@ snapshots: transitivePeerDependencies: - typescript - '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)))(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': + '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)))(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + '@sveltejs/vite-plugin-svelte': 4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) debug: 4.4.0 svelte: 5.19.3 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)))(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)))(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + '@sveltejs/vite-plugin-svelte': 4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) debug: 4.4.0 svelte: 5.19.3 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': + '@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)))(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)))(svelte@5.19.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) debug: 4.4.0 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 svelte: 5.19.3 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) - vitefu: 1.0.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) + vitefu: 1.0.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)))(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)))(svelte@5.19.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) debug: 4.4.0 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 svelte: 5.19.3 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) - vitefu: 1.0.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vitefu: 1.0.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) transitivePeerDependencies: - supports-color + '@tailwindcss/node@4.0.4': + dependencies: + enhanced-resolve: 5.18.0 + jiti: 2.4.2 + tailwindcss: 4.0.4 + + '@tailwindcss/oxide-android-arm64@4.0.4': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.0.4': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.0.4': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.0.4': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.4': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.0.4': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.0.4': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.0.4': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.0.4': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.0.4': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.0.4': + optional: true + + '@tailwindcss/oxide@4.0.4': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.0.4 + '@tailwindcss/oxide-darwin-arm64': 4.0.4 + '@tailwindcss/oxide-darwin-x64': 4.0.4 + '@tailwindcss/oxide-freebsd-x64': 4.0.4 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.4 + '@tailwindcss/oxide-linux-arm64-gnu': 4.0.4 + '@tailwindcss/oxide-linux-arm64-musl': 4.0.4 + '@tailwindcss/oxide-linux-x64-gnu': 4.0.4 + '@tailwindcss/oxide-linux-x64-musl': 4.0.4 + '@tailwindcss/oxide-win32-arm64-msvc': 4.0.4 + '@tailwindcss/oxide-win32-x64-msvc': 4.0.4 + + '@tailwindcss/vite@4.0.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))': + dependencies: + '@tailwindcss/node': 4.0.4 + '@tailwindcss/oxide': 4.0.4 + lightningcss: 1.29.1 + tailwindcss: 4.0.4 + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) + '@tanstack/angular-table@8.21.0(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0))': dependencies: '@angular/core': 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@tanstack/table-core': 8.20.5 tslib: 2.8.1 - '@tanstack/config@0.14.2(@types/node@22.10.2)(esbuild@0.24.2)(eslint@9.17.0(jiti@2.4.2))(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': + '@tanstack/config@0.14.2(@types/node@22.10.2)(esbuild@0.24.2)(eslint@9.17.0(jiti@2.4.2))(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))': dependencies: '@commitlint/parse': 19.5.0 '@eslint/js': 9.17.0 @@ -13824,9 +14138,9 @@ snapshots: typedoc-plugin-markdown: 4.4.0(typedoc@0.27.6(typescript@5.6.3)) typescript-eslint: 8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.6.3) v8flags: 4.0.1 - vite-plugin-dts: 4.0.3(@types/node@22.10.2)(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) - vite-plugin-externalize-deps: 0.8.0(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) - vite-tsconfig-paths: 5.1.4(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + vite-plugin-dts: 4.0.3(@types/node@22.10.2)(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) + vite-plugin-externalize-deps: 0.8.0(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) + vite-tsconfig-paths: 5.1.4(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) transitivePeerDependencies: - '@types/node' - esbuild @@ -13899,7 +14213,7 @@ snapshots: optionalDependencies: '@tanstack/react-router': 1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@tanstack/router-plugin@1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(webpack@5.97.1(esbuild@0.24.2))': + '@tanstack/router-plugin@1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(webpack@5.97.1(esbuild@0.24.2))': dependencies: '@babel/core': 7.26.0 '@babel/generator': 7.26.3 @@ -13920,15 +14234,15 @@ snapshots: unplugin: 1.16.0 zod: 3.23.8 optionalDependencies: - vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) webpack: 5.97.1(esbuild@0.24.2) transitivePeerDependencies: - '@tanstack/react-router' - supports-color - '@tanstack/router-vite-plugin@1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(webpack@5.97.1(esbuild@0.24.2))': + '@tanstack/router-vite-plugin@1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(webpack@5.97.1(esbuild@0.24.2))': dependencies: - '@tanstack/router-plugin': 1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(webpack@5.97.1(esbuild@0.24.2)) + '@tanstack/router-plugin': 1.92.11(@tanstack/react-router@1.92.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(webpack@5.97.1(esbuild@0.24.2)) transitivePeerDependencies: - '@rsbuild/core' - '@tanstack/react-router' @@ -14323,55 +14637,50 @@ snapshots: '@typescript-eslint/types': 8.3.0 eslint-visitor-keys: 3.4.3 - '@vitejs/plugin-basic-ssl@1.2.0(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': + '@vitejs/plugin-basic-ssl@1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: - vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) - optional: true - - '@vitejs/plugin-basic-ssl@1.2.0(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': - dependencies: - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) - '@vitejs/plugin-react@4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': + '@vitejs/plugin-react@4.3.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.3.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@vitejs/plugin-react@4.3.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue-jsx@4.1.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3))': + '@vitejs/plugin-vue-jsx@4.1.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0) '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0) - vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vue: 3.5.13(typescript@5.6.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3))': + '@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))(vue@3.5.13(typescript@5.6.3))': dependencies: - vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) vue: 3.5.13(typescript@5.6.3) - '@vitejs/plugin-vue@5.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3))': + '@vitejs/plugin-vue@5.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3))': dependencies: - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) vue: 3.5.13(typescript@5.7.3) '@vitest/expect@2.1.8': @@ -14381,21 +14690,21 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': + '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))': dependencies: '@vitest/spy': 2.1.8 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) - '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0))': + '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0))': dependencies: '@vitest/spy': 2.1.8 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) '@vitest/pretty-format@2.1.8': dependencies: @@ -15080,6 +15389,10 @@ snapshots: chrome-trace-event@1.0.4: {} + class-variance-authority@0.7.1: + dependencies: + clsx: 2.1.1 + clean-stack@2.2.0: {} cli-boxes@3.0.0: {} @@ -15413,8 +15726,7 @@ snapshots: detect-file@1.0.0: {} - detect-libc@1.0.3: - optional: true + detect-libc@1.0.3: {} detect-libc@2.0.3: optional: true @@ -17030,6 +17342,51 @@ snapshots: rechoir: 0.8.0 resolve: 1.22.10 + lightningcss-darwin-arm64@1.29.1: + optional: true + + lightningcss-darwin-x64@1.29.1: + optional: true + + lightningcss-freebsd-x64@1.29.1: + optional: true + + lightningcss-linux-arm-gnueabihf@1.29.1: + optional: true + + lightningcss-linux-arm64-gnu@1.29.1: + optional: true + + lightningcss-linux-arm64-musl@1.29.1: + optional: true + + lightningcss-linux-x64-gnu@1.29.1: + optional: true + + lightningcss-linux-x64-musl@1.29.1: + optional: true + + lightningcss-win32-arm64-msvc@1.29.1: + optional: true + + lightningcss-win32-x64-msvc@1.29.1: + optional: true + + lightningcss@1.29.1: + dependencies: + detect-libc: 1.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.29.1 + lightningcss-darwin-x64: 1.29.1 + lightningcss-freebsd-x64: 1.29.1 + lightningcss-linux-arm-gnueabihf: 1.29.1 + lightningcss-linux-arm64-gnu: 1.29.1 + lightningcss-linux-arm64-musl: 1.29.1 + lightningcss-linux-x64-gnu: 1.29.1 + lightningcss-linux-x64-musl: 1.29.1 + lightningcss-win32-arm64-msvc: 1.29.1 + lightningcss-win32-x64-msvc: 1.29.1 + lilconfig@2.1.0: {} lilconfig@3.1.2: {} @@ -17168,6 +17525,10 @@ snapshots: dependencies: yallist: 4.0.0 + lucide-react@0.474.0(react@19.0.0): + dependencies: + react: 19.0.0 + lunr@2.3.9: {} magic-string@0.30.11: @@ -17441,7 +17802,7 @@ snapshots: neo-async@2.6.2: {} - ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tslib@2.8.1)(typescript@5.6.3): + ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.6.3): dependencies: '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.6.3) '@rollup/plugin-json': 6.1.0(rollup@4.32.0) @@ -17468,8 +17829,9 @@ snapshots: typescript: 5.6.3 optionalDependencies: rollup: 4.32.0 + tailwindcss: 4.0.4 - ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3): + ng-packagr@19.1.2(@angular/compiler-cli@19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tailwindcss@4.0.4)(tslib@2.8.1)(typescript@5.7.3): dependencies: '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4(@angular/core@19.1.4(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3) '@rollup/plugin-json': 6.1.0(rollup@4.32.0) @@ -17496,6 +17858,7 @@ snapshots: typescript: 5.7.3 optionalDependencies: rollup: 4.32.0 + tailwindcss: 4.0.4 optional: true no-case@3.0.4: @@ -18937,6 +19300,14 @@ snapshots: symbol-tree@3.2.4: {} + tailwind-merge@3.0.1: {} + + tailwindcss-animate@1.0.7(tailwindcss@4.0.4): + dependencies: + tailwindcss: 4.0.4 + + tailwindcss@4.0.4: {} + tapable@2.2.1: {} tar-stream@2.2.0: @@ -19246,13 +19617,13 @@ snapshots: '@types/unist': 3.0.2 vfile-message: 4.0.2 - vite-node@2.1.8(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0): + vite-node@2.1.8(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - '@types/node' - less @@ -19264,13 +19635,13 @@ snapshots: - supports-color - terser - vite-node@2.1.8(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0): + vite-node@2.1.8(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - '@types/node' - less @@ -19282,7 +19653,7 @@ snapshots: - supports-color - terser - vite-plugin-dts@4.0.3(@types/node@22.10.2)(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)): + vite-plugin-dts@4.0.3(@types/node@22.10.2)(rollup@4.32.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)): dependencies: '@microsoft/api-extractor': 7.47.4(@types/node@22.10.2) '@rollup/pluginutils': 5.1.0(rollup@4.32.0) @@ -19296,17 +19667,17 @@ snapshots: typescript: 5.6.3 vue-tsc: 2.0.29(typescript@5.6.3) optionalDependencies: - vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-externalize-deps@0.8.0(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)): + vite-plugin-externalize-deps@0.8.0(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)): dependencies: - vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) - vite-plugin-solid@2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)): + vite-plugin-solid@2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)): dependencies: '@babel/core': 7.24.7 '@types/babel__core': 7.20.5 @@ -19314,14 +19685,14 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.3 solid-refresh: 0.6.3(solid-js@1.9.3) - vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) - vitefu: 1.0.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) + vitefu: 1.0.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) optionalDependencies: '@testing-library/jest-dom': 6.6.3 transitivePeerDependencies: - supports-color - vite-plugin-solid@2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)): + vite-plugin-solid@2.11.0(@testing-library/jest-dom@6.6.3)(solid-js@1.9.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)): dependencies: '@babel/core': 7.24.7 '@types/babel__core': 7.20.5 @@ -19329,25 +19700,25 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.3 solid-refresh: 0.6.3(solid-js@1.9.3) - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) - vitefu: 1.0.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vitefu: 1.0.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) optionalDependencies: '@testing-library/jest-dom': 6.6.3 transitivePeerDependencies: - supports-color - vite-tsconfig-paths@5.1.4(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)): + vite-tsconfig-paths@5.1.4(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)): dependencies: debug: 4.3.6 globrex: 0.1.2 tsconfck: 3.1.1(typescript@5.6.3) optionalDependencies: - vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) transitivePeerDependencies: - supports-color - typescript - vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0): + vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0): dependencies: esbuild: 0.21.5 postcss: 8.4.49 @@ -19356,10 +19727,11 @@ snapshots: '@types/node': 22.10.10 fsevents: 2.3.3 less: 4.2.1 + lightningcss: 1.29.1 sass: 1.83.1 terser: 5.37.0 - vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0): + vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0): dependencies: esbuild: 0.21.5 postcss: 8.4.49 @@ -19368,10 +19740,11 @@ snapshots: '@types/node': 22.10.2 fsevents: 2.3.3 less: 4.2.1 + lightningcss: 1.29.1 sass: 1.83.1 terser: 5.37.0 - vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1): + vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1): dependencies: esbuild: 0.24.2 postcss: 8.5.1 @@ -19381,23 +19754,24 @@ snapshots: fsevents: 2.3.3 jiti: 2.4.2 less: 4.2.1 + lightningcss: 1.29.1 sass: 1.83.1 terser: 5.37.0 tsx: 4.19.2 yaml: 2.6.1 - vitefu@1.0.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)): + vitefu@1.0.4(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)): optionalDependencies: - vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) - vitefu@1.0.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)): + vitefu@1.0.4(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)): optionalDependencies: - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) - vitest@2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.1)(sass@1.83.1)(terser@5.37.0): + vitest@2.1.8(@types/node@22.10.10)(jsdom@25.0.1)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0): dependencies: '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.8 '@vitest/snapshot': 2.1.8 @@ -19413,8 +19787,8 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) - vite-node: 2.1.8(@types/node@22.10.10)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) + vite-node: 2.1.8(@types/node@22.10.10)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.10.10 @@ -19430,10 +19804,10 @@ snapshots: - supports-color - terser - vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(sass@1.83.1)(terser@5.37.0): + vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0): dependencies: '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0)) + '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.8 '@vitest/snapshot': 2.1.8 @@ -19449,8 +19823,8 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) - vite-node: 2.1.8(@types/node@22.10.2)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) + vite-node: 2.1.8(@types/node@22.10.2)(less@4.2.1)(lightningcss@1.29.1)(sass@1.83.1)(terser@5.37.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.10.2