@ship-ui/core 0.18.4 → 0.18.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, computed, ElementRef, Renderer2, input, ChangeDetectionStrategy, Component, viewChild, effect, HostListener, NgModule, signal, Injectable, DOCUMENT, model, output, ApplicationRef, OutputEmitterRef, TemplateRef, createComponent, isSignal, DestroyRef, PLATFORM_ID, ViewChild, Directive, contentChild, contentChildren, afterNextRender, Injector, HostBinding, runInInjectionContext, ChangeDetectorRef, viewChildren, untracked, ViewContainerRef, EnvironmentInjector } from '@angular/core';
2
+ import { InjectionToken, inject, computed, ElementRef, Renderer2, input, ChangeDetectionStrategy, Component, viewChild, effect, HostListener, NgModule, signal, Injectable, DOCUMENT, model, output, ApplicationRef, OutputEmitterRef, TemplateRef, createComponent, isSignal, DestroyRef, PLATFORM_ID, ViewChild, Directive, contentChild, contentChildren, afterNextRender, Injector, HostBinding, untracked, runInInjectionContext, ChangeDetectorRef, viewChildren, ViewContainerRef, EnvironmentInjector } from '@angular/core';
3
3
  import { isPlatformBrowser, JsonPipe, DatePipe, isPlatformServer, NgTemplateOutlet } from '@angular/common';
4
4
  import { NgModel } from '@angular/forms';
5
5
  import { SIGNAL } from '@angular/core/primitives/signals';
@@ -29,6 +29,9 @@ function shipComponentClasses(componentName, inputs) {
29
29
  }
30
30
  // Resolve color (Input > Component Config > empty)
31
31
  const color = inputs.color?.() || componentConfig?.color;
32
+ if (!variant) {
33
+ variant = 'base';
34
+ }
32
35
  // Resolve size (Input > Component Config > empty)
33
36
  const size = inputs.size?.() || componentConfig?.size;
34
37
  // Resolve sharp (Input > Component Config > false)
@@ -66,12 +69,10 @@ class ShipIcon {
66
69
  constructor() {
67
70
  this.#selfRef = inject(ElementRef);
68
71
  this.#renderer = inject(Renderer2);
69
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
70
- this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : []));
71
- this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : []));
72
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
73
+ this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
72
74
  this.hostClasses = shipComponentClasses('icon', {
73
75
  color: this.color,
74
- variant: this.variant,
75
76
  size: this.size,
76
77
  });
77
78
  }
@@ -86,12 +87,12 @@ class ShipIcon {
86
87
  this.#renderer.addClass(this.#selfRef.nativeElement, potentialType);
87
88
  }
88
89
  }
89
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
90
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ShipIcon, isStandalone: true, selector: "sh-icon", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: `
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
91
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ShipIcon, isStandalone: true, selector: "sh-icon", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: `
91
92
  <ng-content />
92
93
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
93
94
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipIcon, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipIcon, decorators: [{
95
96
  type: Component,
96
97
  args: [{
97
98
  selector: 'sh-icon',
@@ -105,27 +106,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
105
106
  '[class]': 'hostClasses()',
106
107
  },
107
108
  }]
108
- }], propDecorators: { color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
109
+ }], propDecorators: { color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
109
110
 
110
111
  class ShipAlert {
111
112
  constructor() {
112
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
113
- this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : []));
113
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
114
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
114
115
  this.hostClasses = shipComponentClasses('alert', {
115
116
  color: this.color,
116
117
  variant: this.variant,
117
118
  });
118
119
  this._el = inject(ElementRef); // Used by alert container
119
- this.alertService = input(null, ...(ngDevMode ? [{ debugName: "alertService" }] : []));
120
- this.id = input(null, ...(ngDevMode ? [{ debugName: "id" }] : []));
120
+ this.alertService = input(null, ...(ngDevMode ? [{ debugName: "alertService" }] : /* istanbul ignore next */ []));
121
+ this.id = input(null, ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
121
122
  }
122
123
  removeAlert() {
123
124
  if (this.id() && this.alertService()) {
124
125
  this.alertService()?.removeAlert(this.id());
125
126
  }
126
127
  }
127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipAlert, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
128
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipAlert, isStandalone: true, selector: "sh-alert", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, alertService: { classPropertyName: "alertService", publicName: "alertService", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" }, classAttribute: "sh-sheet" }, ngImport: i0, template: `
128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipAlert, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
129
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipAlert, isStandalone: true, selector: "sh-alert", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, alertService: { classPropertyName: "alertService", publicName: "alertService", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" }, classAttribute: "sh-sheet" }, ngImport: i0, template: `
129
130
  <div class="alert">
130
131
  <div #ref class="icon" [style.display]="!ref.children.length ? 'none' : 'block'">
131
132
  <ng-content select="[icon]" />
@@ -169,9 +170,9 @@ class ShipAlert {
169
170
  <ng-content select="p" />
170
171
  </div>
171
172
  </div>
172
- `, isInline: true, dependencies: [{ kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "variant", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
173
+ `, isInline: true, dependencies: [{ kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
173
174
  }
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipAlert, decorators: [{
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipAlert, decorators: [{
175
176
  type: Component,
176
177
  args: [{
177
178
  selector: 'sh-alert',
@@ -231,10 +232,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
231
232
 
232
233
  class ShipAlertContainer {
233
234
  constructor() {
234
- this.inline = input(null, ...(ngDevMode ? [{ debugName: "inline" }] : []));
235
+ this.inline = input(null, ...(ngDevMode ? [{ debugName: "inline" }] : /* istanbul ignore next */ []));
235
236
  this.alerts = viewChild.required('alerts');
236
237
  this.scroller = viewChild.required('scroller');
237
- this.alertService = input.required(...(ngDevMode ? [{ debugName: "alertService" }] : []));
238
+ this.alertService = input.required(...(ngDevMode ? [{ debugName: "alertService" }] : /* istanbul ignore next */ []));
238
239
  // alertHistory = this.alertService()?.alertHistory;
239
240
  // alertHistoryIsOpen = this.alertService()?.alertHistoryIsOpen;
240
241
  // alertHistoryIsHidden = this.alertService()?.alertHistoryIsHidden;
@@ -242,12 +243,12 @@ class ShipAlertContainer {
242
243
  return this.alertService()
243
244
  .alertHistory()
244
245
  .filter((x) => x.isOpen).length;
245
- }, ...(ngDevMode ? [{ debugName: "numberOfOpenAlerts" }] : []));
246
+ }, ...(ngDevMode ? [{ debugName: "numberOfOpenAlerts" }] : /* istanbul ignore next */ []));
246
247
  this.#e = effect(() => {
247
248
  this.alertService().alertHistory();
248
249
  this.alertService().alertHistoryIsOpen();
249
250
  this.#scrollToBottom();
250
- }, ...(ngDevMode ? [{ debugName: "#e" }] : []));
251
+ }, ...(ngDevMode ? [{ debugName: "#e" }] : /* istanbul ignore next */ []));
251
252
  }
252
253
  #e;
253
254
  #scrollToBottom() {
@@ -288,10 +289,10 @@ class ShipAlertContainer {
288
289
  ? this.alertService().alertHistory().length - 1 * 40 + 'ms'
289
290
  : (this.numberOfOpenAlerts() - i) * 40 + 'ms';
290
291
  }
291
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipAlertContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
292
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipAlertContainer, isStandalone: true, selector: "ship-alert-container", inputs: { inline: { classPropertyName: "inline", publicName: "inline", isSignal: true, isRequired: false, transformFunction: null }, alertService: { classPropertyName: "alertService", publicName: "alertService", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "mouseover": "onMouseOver()", "mouseout": "onMouseOut()" } }, viewQueries: [{ propertyName: "alerts", first: true, predicate: ["alerts"], descendants: true, isSignal: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"scroller\" #scroller>\n <div class=\"container\">\n @for (alert of this.alertService().alertHistory(); track $index) {\n <sh-alert\n #alerts\n [class]=\"alert.type\"\n [id]=\"alert.id\"\n [alertService]=\"alertService()\"\n [style.transition-delay]=\"transitionDelay($index, true)\"\n [class.animate-in]=\"alert.animateIn\"\n [class.animate-out]=\"alert.animateOut\"\n [class.is-hidden]=\"this.alertService().alertHistoryIsHidden() && !alert.isOpen\">\n <div title>{{ alert.title }}</div>\n\n @if (alert.content) {\n <div content>\n {{ alert.content }}\n </div>\n }\n </sh-alert>\n }\n </div>\n</div>\n<div\n class=\"tray\"\n [class.tray-is-hidden]=\"!this.alertService().alertHistoryIsHidden()\"\n (mouseover)=\"this.onMouseOver()\"\n (mouseout)=\"this.onMouseOut()\">\n <sh-icon class=\"small\">info</sh-icon>\n</div>\n", dependencies: [{ kind: "component", type: ShipAlert, selector: "sh-alert", inputs: ["color", "variant", "alertService", "id"] }, { kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "variant", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
292
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipAlertContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
293
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipAlertContainer, isStandalone: true, selector: "ship-alert-container", inputs: { inline: { classPropertyName: "inline", publicName: "inline", isSignal: true, isRequired: false, transformFunction: null }, alertService: { classPropertyName: "alertService", publicName: "alertService", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "mouseover": "onMouseOver()", "mouseout": "onMouseOut()" } }, viewQueries: [{ propertyName: "alerts", first: true, predicate: ["alerts"], descendants: true, isSignal: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"scroller\" #scroller>\n <div class=\"container\">\n @for (alert of this.alertService().alertHistory(); track $index) {\n <sh-alert\n #alerts\n [class]=\"alert.type\"\n [id]=\"alert.id\"\n [alertService]=\"alertService()\"\n [style.transition-delay]=\"transitionDelay($index, true)\"\n [class.animate-in]=\"alert.animateIn\"\n [class.animate-out]=\"alert.animateOut\"\n [class.is-hidden]=\"this.alertService().alertHistoryIsHidden() && !alert.isOpen\">\n <div title>{{ alert.title }}</div>\n\n @if (alert.content) {\n <div content>\n {{ alert.content }}\n </div>\n }\n </sh-alert>\n }\n </div>\n</div>\n<div\n class=\"tray\"\n [class.tray-is-hidden]=\"!this.alertService().alertHistoryIsHidden()\"\n (mouseover)=\"this.onMouseOver()\"\n (mouseout)=\"this.onMouseOut()\">\n <sh-icon class=\"small\">info</sh-icon>\n</div>\n", dependencies: [{ kind: "component", type: ShipAlert, selector: "sh-alert", inputs: ["color", "variant", "alertService", "id"] }, { kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
293
294
  }
294
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipAlertContainer, decorators: [{
295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipAlertContainer, decorators: [{
295
296
  type: Component,
296
297
  args: [{ selector: 'ship-alert-container', imports: [ShipAlert, ShipIcon], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"scroller\" #scroller>\n <div class=\"container\">\n @for (alert of this.alertService().alertHistory(); track $index) {\n <sh-alert\n #alerts\n [class]=\"alert.type\"\n [id]=\"alert.id\"\n [alertService]=\"alertService()\"\n [style.transition-delay]=\"transitionDelay($index, true)\"\n [class.animate-in]=\"alert.animateIn\"\n [class.animate-out]=\"alert.animateOut\"\n [class.is-hidden]=\"this.alertService().alertHistoryIsHidden() && !alert.isOpen\">\n <div title>{{ alert.title }}</div>\n\n @if (alert.content) {\n <div content>\n {{ alert.content }}\n </div>\n }\n </sh-alert>\n }\n </div>\n</div>\n<div\n class=\"tray\"\n [class.tray-is-hidden]=\"!this.alertService().alertHistoryIsHidden()\"\n (mouseover)=\"this.onMouseOver()\"\n (mouseout)=\"this.onMouseOut()\">\n <sh-icon class=\"small\">info</sh-icon>\n</div>\n" }]
297
298
  }], propDecorators: { inline: [{ type: i0.Input, args: [{ isSignal: true, alias: "inline", required: false }] }], alerts: [{ type: i0.ViewChild, args: ['alerts', { isSignal: true }] }], scroller: [{ type: i0.ViewChild, args: ['scroller', { isSignal: true }] }], alertService: [{ type: i0.Input, args: [{ isSignal: true, alias: "alertService", required: true }] }], onMouseOver: [{
@@ -303,11 +304,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
303
304
  }] } });
304
305
 
305
306
  class ShipAlertModule {
306
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
307
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.5", ngImport: i0, type: ShipAlertModule, imports: [ShipAlert, ShipAlertContainer], exports: [ShipAlert, ShipAlertContainer] }); }
308
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipAlertModule }); }
307
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
308
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: ShipAlertModule, imports: [ShipAlert, ShipAlertContainer], exports: [ShipAlert, ShipAlertContainer] }); }
309
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipAlertModule }); }
309
310
  }
310
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipAlertModule, decorators: [{
311
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipAlertModule, decorators: [{
311
312
  type: NgModule,
312
313
  args: [{
313
314
  imports: [ShipAlert, ShipAlertContainer],
@@ -322,9 +323,9 @@ function generateUniqueId() {
322
323
 
323
324
  class ShipAlertService {
324
325
  constructor() {
325
- this.alertHistory = signal([], ...(ngDevMode ? [{ debugName: "alertHistory" }] : []));
326
- this.alertHistoryIsOpen = signal(false, ...(ngDevMode ? [{ debugName: "alertHistoryIsOpen" }] : []));
327
- this.alertHistoryIsHidden = signal(true, ...(ngDevMode ? [{ debugName: "alertHistoryIsHidden" }] : []));
326
+ this.alertHistory = signal([], ...(ngDevMode ? [{ debugName: "alertHistory" }] : /* istanbul ignore next */ []));
327
+ this.alertHistoryIsOpen = signal(false, ...(ngDevMode ? [{ debugName: "alertHistoryIsOpen" }] : /* istanbul ignore next */ []));
328
+ this.alertHistoryIsHidden = signal(true, ...(ngDevMode ? [{ debugName: "alertHistoryIsHidden" }] : /* istanbul ignore next */ []));
328
329
  }
329
330
  error(message) {
330
331
  this.addAlert({
@@ -390,10 +391,10 @@ class ShipAlertService {
390
391
  setHidden(isHidden) {
391
392
  this.alertHistoryIsHidden.set(isHidden);
392
393
  }
393
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipAlertService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
394
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipAlertService, providedIn: 'root' }); }
394
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipAlertService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
395
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipAlertService, providedIn: 'root' }); }
395
396
  }
396
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipAlertService, decorators: [{
397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipAlertService, decorators: [{
397
398
  type: Injectable,
398
399
  args: [{
399
400
  providedIn: 'root',
@@ -414,15 +415,15 @@ class ShipDialog {
414
415
  constructor() {
415
416
  this.#document = inject(DOCUMENT);
416
417
  this.#shConfig = inject(SHIP_CONFIG, { optional: true });
417
- this.dialogRef = viewChild('dialogRef', ...(ngDevMode ? [{ debugName: "dialogRef" }] : []));
418
- this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
419
- this.options = input(...(ngDevMode ? [undefined, { debugName: "options" }] : []));
418
+ this.dialogRef = viewChild('dialogRef', ...(ngDevMode ? [{ debugName: "dialogRef" }] : /* istanbul ignore next */ []));
419
+ this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
420
+ this.options = input(...(ngDevMode ? [undefined, { debugName: "options" }] : /* istanbul ignore next */ []));
420
421
  this.closed = output();
421
422
  this.defaultOptionMerge = computed(() => ({
422
423
  ...DEFAULT_OPTIONS$1,
423
424
  ...{ class: this.#shConfig?.dialogType ?? 'default' },
424
425
  ...this.options(),
425
- }), ...(ngDevMode ? [{ debugName: "defaultOptionMerge" }] : []));
426
+ }), ...(ngDevMode ? [{ debugName: "defaultOptionMerge" }] : /* istanbul ignore next */ []));
426
427
  this.abortController = null;
427
428
  this.isOpenEffect = effect(() => {
428
429
  const dialogEl = this.dialogRef()?.nativeElement;
@@ -455,15 +456,15 @@ class ShipDialog {
455
456
  dialogEl.close();
456
457
  queueMicrotask(() => this.closed.emit());
457
458
  }
458
- }, ...(ngDevMode ? [{ debugName: "isOpenEffect" }] : []));
459
+ }, ...(ngDevMode ? [{ debugName: "isOpenEffect" }] : /* istanbul ignore next */ []));
459
460
  }
460
461
  #document;
461
462
  #shConfig;
462
463
  ngOnDestroy() {
463
464
  this.abortController?.abort();
464
465
  }
465
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipDialog, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
466
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipDialog, isStandalone: true, selector: "sh-dialog", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", closed: "closed" }, viewQueries: [{ propertyName: "dialogRef", first: true, predicate: ["dialogRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
466
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipDialog, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
467
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipDialog, isStandalone: true, selector: "sh-dialog", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", closed: "closed" }, viewQueries: [{ propertyName: "dialogRef", first: true, predicate: ["dialogRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
467
468
  @let options = this.defaultOptionMerge();
468
469
 
469
470
  @if (isOpen()) {
@@ -486,7 +487,7 @@ class ShipDialog {
486
487
  }
487
488
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
488
489
  }
489
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipDialog, decorators: [{
490
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipDialog, decorators: [{
490
491
  type: Component,
491
492
  args: [{
492
493
  selector: 'sh-dialog',
@@ -643,10 +644,10 @@ class ShipDialogService {
643
644
  ngOnDestroy() {
644
645
  this.#cleanupRefs(true);
645
646
  }
646
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
647
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipDialogService, providedIn: 'root' }); }
647
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
648
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipDialogService, providedIn: 'root' }); }
648
649
  }
649
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipDialogService, decorators: [{
650
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipDialogService, decorators: [{
650
651
  type: Injectable,
651
652
  args: [{
652
653
  providedIn: 'root',
@@ -657,7 +658,7 @@ function classMutationSignal(_element = null) {
657
658
  const element = _element ?? inject(ElementRef).nativeElement;
658
659
  if (!element)
659
660
  return signal('');
660
- const classListSignal = signal(element.className, ...(ngDevMode ? [{ debugName: "classListSignal" }] : []));
661
+ const classListSignal = signal(element.className, ...(ngDevMode ? [{ debugName: "classListSignal" }] : /* istanbul ignore next */ []));
661
662
  if (typeof MutationObserver === 'undefined')
662
663
  return classListSignal.asReadonly();
663
664
  const destroyRef = inject(DestroyRef);
@@ -896,37 +897,37 @@ class ShipBlueprint {
896
897
  this.#selfRef = inject((ElementRef));
897
898
  this.#currentClass = classMutationSignal();
898
899
  this.#htmlClass = classMutationSignal(this.#document.documentElement);
899
- this.asDots = computed(() => this.#currentClass().includes('dots'), ...(ngDevMode ? [{ debugName: "asDots" }] : []));
900
- this.lightMode = computed(() => this.#htmlClass().includes('light'), ...(ngDevMode ? [{ debugName: "lightMode" }] : []));
901
- this.forceUnique = input(true, ...(ngDevMode ? [{ debugName: "forceUnique" }] : []));
902
- this.autoLayout = input(false, ...(ngDevMode ? [{ debugName: "autoLayout" }] : []));
903
- this.gridSize = input(20, ...(ngDevMode ? [{ debugName: "gridSize" }] : []));
904
- this.snapToGrid = input(true, ...(ngDevMode ? [{ debugName: "snapToGrid" }] : []));
905
- this.gridColor = input(['#d8d8d8', '#2c2c2c'], ...(ngDevMode ? [{ debugName: "gridColor" }] : []));
906
- this.nodes = model([], ...(ngDevMode ? [{ debugName: "nodes" }] : []));
907
- this.#currentGridColor = computed(() => this.gridColor()[this.lightMode() ? 0 : 1], ...(ngDevMode ? [{ debugName: "#currentGridColor" }] : []));
908
- this.panX = signal(0, ...(ngDevMode ? [{ debugName: "panX" }] : []));
909
- this.panY = signal(0, ...(ngDevMode ? [{ debugName: "panY" }] : []));
910
- this.zoomLevel = signal(1, ...(ngDevMode ? [{ debugName: "zoomLevel" }] : []));
911
- this.gridSnapSize = signal(20, ...(ngDevMode ? [{ debugName: "gridSnapSize" }] : []));
912
- this.isHoveringNode = signal(false, ...(ngDevMode ? [{ debugName: "isHoveringNode" }] : []));
913
- this.midpointDivPosition = signal(null, ...(ngDevMode ? [{ debugName: "midpointDivPosition" }] : []));
914
- this.showMidpointDiv = signal(false, ...(ngDevMode ? [{ debugName: "showMidpointDiv" }] : []));
915
- this.isLocked = signal(false, ...(ngDevMode ? [{ debugName: "isLocked" }] : []));
916
- this.draggingConnection = signal(null, ...(ngDevMode ? [{ debugName: "draggingConnection" }] : []));
917
- this.validationErrors = signal(null, ...(ngDevMode ? [{ debugName: "validationErrors" }] : []));
918
- this.highlightedConnection = signal(null, ...(ngDevMode ? [{ debugName: "highlightedConnection" }] : []));
919
- this.#draggingNodeCoordinates = signal(null, ...(ngDevMode ? [{ debugName: "#draggingNodeCoordinates" }] : []));
920
- this.#isDragging = signal(false, ...(ngDevMode ? [{ debugName: "#isDragging" }] : []));
921
- this.#lastMouseX = signal(0, ...(ngDevMode ? [{ debugName: "#lastMouseX" }] : []));
922
- this.#lastMouseY = signal(0, ...(ngDevMode ? [{ debugName: "#lastMouseY" }] : []));
923
- this.#initialPinchDistance = signal(0, ...(ngDevMode ? [{ debugName: "#initialPinchDistance" }] : []));
924
- this.#isNodeDragging = signal(false, ...(ngDevMode ? [{ debugName: "#isNodeDragging" }] : []));
925
- this.#draggedNodeId = signal(null, ...(ngDevMode ? [{ debugName: "#draggedNodeId" }] : []));
926
- this.#dragOffset = signal(null, ...(ngDevMode ? [{ debugName: "#dragOffset" }] : []));
927
- this.#connections = signal([], ...(ngDevMode ? [{ debugName: "#connections" }] : []));
928
- this.#canvasWidth = signal(0, ...(ngDevMode ? [{ debugName: "#canvasWidth" }] : []));
929
- this.#canvasHeight = signal(0, ...(ngDevMode ? [{ debugName: "#canvasHeight" }] : []));
900
+ this.asDots = computed(() => this.#currentClass().includes('dots'), ...(ngDevMode ? [{ debugName: "asDots" }] : /* istanbul ignore next */ []));
901
+ this.lightMode = computed(() => this.#htmlClass().includes('light'), ...(ngDevMode ? [{ debugName: "lightMode" }] : /* istanbul ignore next */ []));
902
+ this.forceUnique = input(true, ...(ngDevMode ? [{ debugName: "forceUnique" }] : /* istanbul ignore next */ []));
903
+ this.autoLayout = input(false, ...(ngDevMode ? [{ debugName: "autoLayout" }] : /* istanbul ignore next */ []));
904
+ this.gridSize = input(20, ...(ngDevMode ? [{ debugName: "gridSize" }] : /* istanbul ignore next */ []));
905
+ this.snapToGrid = input(true, ...(ngDevMode ? [{ debugName: "snapToGrid" }] : /* istanbul ignore next */ []));
906
+ this.gridColor = input(['#d8d8d8', '#2c2c2c'], ...(ngDevMode ? [{ debugName: "gridColor" }] : /* istanbul ignore next */ []));
907
+ this.nodes = model([], ...(ngDevMode ? [{ debugName: "nodes" }] : /* istanbul ignore next */ []));
908
+ this.#currentGridColor = computed(() => this.gridColor()[this.lightMode() ? 0 : 1], ...(ngDevMode ? [{ debugName: "#currentGridColor" }] : /* istanbul ignore next */ []));
909
+ this.panX = signal(0, ...(ngDevMode ? [{ debugName: "panX" }] : /* istanbul ignore next */ []));
910
+ this.panY = signal(0, ...(ngDevMode ? [{ debugName: "panY" }] : /* istanbul ignore next */ []));
911
+ this.zoomLevel = signal(1, ...(ngDevMode ? [{ debugName: "zoomLevel" }] : /* istanbul ignore next */ []));
912
+ this.gridSnapSize = signal(20, ...(ngDevMode ? [{ debugName: "gridSnapSize" }] : /* istanbul ignore next */ []));
913
+ this.isHoveringNode = signal(false, ...(ngDevMode ? [{ debugName: "isHoveringNode" }] : /* istanbul ignore next */ []));
914
+ this.midpointDivPosition = signal(null, ...(ngDevMode ? [{ debugName: "midpointDivPosition" }] : /* istanbul ignore next */ []));
915
+ this.showMidpointDiv = signal(false, ...(ngDevMode ? [{ debugName: "showMidpointDiv" }] : /* istanbul ignore next */ []));
916
+ this.isLocked = signal(false, ...(ngDevMode ? [{ debugName: "isLocked" }] : /* istanbul ignore next */ []));
917
+ this.draggingConnection = signal(null, ...(ngDevMode ? [{ debugName: "draggingConnection" }] : /* istanbul ignore next */ []));
918
+ this.validationErrors = signal(null, ...(ngDevMode ? [{ debugName: "validationErrors" }] : /* istanbul ignore next */ []));
919
+ this.highlightedConnection = signal(null, ...(ngDevMode ? [{ debugName: "highlightedConnection" }] : /* istanbul ignore next */ []));
920
+ this.#draggingNodeCoordinates = signal(null, ...(ngDevMode ? [{ debugName: "#draggingNodeCoordinates" }] : /* istanbul ignore next */ []));
921
+ this.#isDragging = signal(false, ...(ngDevMode ? [{ debugName: "#isDragging" }] : /* istanbul ignore next */ []));
922
+ this.#lastMouseX = signal(0, ...(ngDevMode ? [{ debugName: "#lastMouseX" }] : /* istanbul ignore next */ []));
923
+ this.#lastMouseY = signal(0, ...(ngDevMode ? [{ debugName: "#lastMouseY" }] : /* istanbul ignore next */ []));
924
+ this.#initialPinchDistance = signal(0, ...(ngDevMode ? [{ debugName: "#initialPinchDistance" }] : /* istanbul ignore next */ []));
925
+ this.#isNodeDragging = signal(false, ...(ngDevMode ? [{ debugName: "#isNodeDragging" }] : /* istanbul ignore next */ []));
926
+ this.#draggedNodeId = signal(null, ...(ngDevMode ? [{ debugName: "#draggedNodeId" }] : /* istanbul ignore next */ []));
927
+ this.#dragOffset = signal(null, ...(ngDevMode ? [{ debugName: "#dragOffset" }] : /* istanbul ignore next */ []));
928
+ this.#connections = signal([], ...(ngDevMode ? [{ debugName: "#connections" }] : /* istanbul ignore next */ []));
929
+ this.#canvasWidth = signal(0, ...(ngDevMode ? [{ debugName: "#canvasWidth" }] : /* istanbul ignore next */ []));
930
+ this.#canvasHeight = signal(0, ...(ngDevMode ? [{ debugName: "#canvasHeight" }] : /* istanbul ignore next */ []));
930
931
  this.visibleNodes = computed(() => {
931
932
  const nodes = this.nodes();
932
933
  const panX = this.panX();
@@ -949,7 +950,7 @@ class ShipBlueprint {
949
950
  const [x, y] = node.coordinates;
950
951
  return x > viewbox.x1 && x < viewbox.x2 && y > viewbox.y1 && y < viewbox.y2;
951
952
  });
952
- }, ...(ngDevMode ? [{ debugName: "visibleNodes" }] : []));
953
+ }, ...(ngDevMode ? [{ debugName: "visibleNodes" }] : /* istanbul ignore next */ []));
953
954
  if (isPlatformBrowser(this.#platformId)) {
954
955
  effect(() => {
955
956
  this.asDots();
@@ -1581,8 +1582,8 @@ class ShipBlueprint {
1581
1582
  #clamp(value, min, max) {
1582
1583
  return Math.max(min, Math.min(max, value));
1583
1584
  }
1584
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipBlueprint, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1585
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipBlueprint, isStandalone: true, selector: "sh-blueprint", inputs: { forceUnique: { classPropertyName: "forceUnique", publicName: "forceUnique", isSignal: true, isRequired: false, transformFunction: null }, autoLayout: { classPropertyName: "autoLayout", publicName: "autoLayout", isSignal: true, isRequired: false, transformFunction: null }, gridSize: { classPropertyName: "gridSize", publicName: "gridSize", isSignal: true, isRequired: false, transformFunction: null }, snapToGrid: { classPropertyName: "snapToGrid", publicName: "snapToGrid", isSignal: true, isRequired: false, transformFunction: null }, gridColor: { classPropertyName: "gridColor", publicName: "gridColor", isSignal: true, isRequired: false, transformFunction: null }, nodes: { classPropertyName: "nodes", publicName: "nodes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { nodes: "nodesChange" }, host: { listeners: { "document:mouseup": "onMouseUp($event)", "document:click": "onClick($event)", "document:keydown.escape": "onEscape()", "document:mousemove": "onMouseMove($event)", "document:touchmove": "onTouchMove($event)", "document:touchend": "onDocumentTouchEnd($event)" } }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["blueprintCanvas"], descendants: true, static: true }], ngImport: i0, template: `
1585
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipBlueprint, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1586
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipBlueprint, isStandalone: true, selector: "sh-blueprint", inputs: { forceUnique: { classPropertyName: "forceUnique", publicName: "forceUnique", isSignal: true, isRequired: false, transformFunction: null }, autoLayout: { classPropertyName: "autoLayout", publicName: "autoLayout", isSignal: true, isRequired: false, transformFunction: null }, gridSize: { classPropertyName: "gridSize", publicName: "gridSize", isSignal: true, isRequired: false, transformFunction: null }, snapToGrid: { classPropertyName: "snapToGrid", publicName: "snapToGrid", isSignal: true, isRequired: false, transformFunction: null }, gridColor: { classPropertyName: "gridColor", publicName: "gridColor", isSignal: true, isRequired: false, transformFunction: null }, nodes: { classPropertyName: "nodes", publicName: "nodes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { nodes: "nodesChange" }, host: { listeners: { "document:mouseup": "onMouseUp($event)", "document:click": "onClick($event)", "document:keydown.escape": "onEscape()", "document:mousemove": "onMouseMove($event)", "document:touchmove": "onTouchMove($event)", "document:touchend": "onDocumentTouchEnd($event)" } }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["blueprintCanvas"], descendants: true, static: true }], ngImport: i0, template: `
1586
1587
  <div
1587
1588
  class="canvas-container"
1588
1589
  [class.locked]="isLocked()"
@@ -1668,9 +1669,9 @@ class ShipBlueprint {
1668
1669
  </div>
1669
1670
  }
1670
1671
  </div>
1671
- `, isInline: true, dependencies: [{ kind: "component", type: ShipCard, selector: "sh-card", inputs: ["color", "variant"] }, { kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "variant", "size"] }, { kind: "component", type: ShipButton, selector: "[shButton]", inputs: ["color", "variant", "size", "readonly"] }, { kind: "pipe", type: JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1672
+ `, isInline: true, dependencies: [{ kind: "component", type: ShipCard, selector: "sh-card", inputs: ["color", "variant"] }, { kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "size"] }, { kind: "component", type: ShipButton, selector: "[shButton]", inputs: ["color", "variant", "size", "readonly"] }, { kind: "pipe", type: JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1672
1673
  }
1673
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipBlueprint, decorators: [{
1674
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipBlueprint, decorators: [{
1674
1675
  type: Component,
1675
1676
  args: [{
1676
1677
  selector: 'sh-blueprint',
@@ -1790,7 +1791,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
1790
1791
  function contentProjectionSignal(querySelector, options = { childList: true }) {
1791
1792
  const hostElement = inject((ElementRef)).nativeElement;
1792
1793
  const destroyRef = inject(DestroyRef);
1793
- const projectedElementsSignal = signal([], ...(ngDevMode ? [{ debugName: "projectedElementsSignal" }] : []));
1794
+ const projectedElementsSignal = signal([], ...(ngDevMode ? [{ debugName: "projectedElementsSignal" }] : /* istanbul ignore next */ []));
1794
1795
  const updateElements = () => {
1795
1796
  projectedElementsSignal.set(Array.from(hostElement.querySelectorAll(querySelector)));
1796
1797
  };
@@ -1813,7 +1814,7 @@ class ShipSelectionGroup {
1813
1814
  this.itemSelector = itemSelector;
1814
1815
  this.activeClass = activeClass;
1815
1816
  this.hostElement = inject((ElementRef)).nativeElement;
1816
- this.value = model(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
1817
+ this.value = model(null, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
1817
1818
  this.items = contentProjectionSignal(this.itemSelector, {
1818
1819
  childList: true,
1819
1820
  subtree: true,
@@ -1875,10 +1876,10 @@ class ShipSelectionGroup {
1875
1876
  nextItem.focus();
1876
1877
  }
1877
1878
  }
1878
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipSelectionGroup, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
1879
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: ShipSelectionGroup, isStandalone: true, inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { listeners: { "click": "onClick($event.target)", "keydown": "onKeyDown($event)" } }, ngImport: i0 }); }
1879
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipSelectionGroup, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
1880
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.5", type: ShipSelectionGroup, isStandalone: true, inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { listeners: { "click": "onClick($event.target)", "keydown": "onKeyDown($event)" } }, ngImport: i0 }); }
1880
1881
  }
1881
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipSelectionGroup, decorators: [{
1882
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipSelectionGroup, decorators: [{
1882
1883
  type: Directive
1883
1884
  }], ctorParameters: () => [{ type: undefined }, { type: undefined }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], onClick: [{
1884
1885
  type: HostListener,
@@ -1892,21 +1893,21 @@ class ShipButtonGroup extends ShipSelectionGroup {
1892
1893
  constructor() {
1893
1894
  super('button', 'active');
1894
1895
  this.id = '--' + Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 12);
1895
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
1896
- this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : []));
1897
- this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : []));
1896
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
1897
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
1898
+ this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
1898
1899
  this.hostClasses = shipComponentClasses('buttonGroup', {
1899
1900
  color: this.color,
1900
1901
  variant: this.variant,
1901
1902
  size: this.size,
1902
1903
  });
1903
1904
  }
1904
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipButtonGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1905
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ShipButtonGroup, isStandalone: true, selector: "sh-button-group", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()", "style.--btng-id": "id" } }, usesInheritance: true, ngImport: i0, template: `
1905
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipButtonGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1906
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ShipButtonGroup, isStandalone: true, selector: "sh-button-group", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()", "style.--btng-id": "id" } }, usesInheritance: true, ngImport: i0, template: `
1906
1907
  <ng-content />
1907
1908
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1908
1909
  }
1909
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipButtonGroup, decorators: [{
1910
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipButtonGroup, decorators: [{
1910
1911
  type: Component,
1911
1912
  args: [{
1912
1913
  selector: 'sh-button-group',
@@ -1924,10 +1925,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
1924
1925
 
1925
1926
  class ShipButton {
1926
1927
  constructor() {
1927
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
1928
- this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : []));
1929
- this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : []));
1930
- this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
1928
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
1929
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
1930
+ this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
1931
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
1931
1932
  this.hostClasses = shipComponentClasses('button', {
1932
1933
  color: this.color,
1933
1934
  variant: this.variant,
@@ -1935,10 +1936,10 @@ class ShipButton {
1935
1936
  readonly: this.readonly,
1936
1937
  });
1937
1938
  }
1938
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1939
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ShipButton, isStandalone: true, selector: "[shButton]", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" }, classAttribute: "sh-sheet-h" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1939
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1940
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ShipButton, isStandalone: true, selector: "[shButton]", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" }, classAttribute: "sh-sheet-h" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1940
1941
  }
1941
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipButton, decorators: [{
1942
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipButton, decorators: [{
1942
1943
  type: Component,
1943
1944
  args: [{
1944
1945
  selector: '[shButton]',
@@ -1954,19 +1955,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
1954
1955
 
1955
1956
  class ShipCard {
1956
1957
  constructor() {
1957
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
1958
- this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : []));
1958
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
1959
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
1959
1960
  this.hostClasses = shipComponentClasses('card', {
1960
1961
  color: this.color,
1961
1962
  variant: this.variant,
1962
1963
  });
1963
1964
  }
1964
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1965
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ShipCard, isStandalone: true, selector: "sh-card", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: `
1965
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1966
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ShipCard, isStandalone: true, selector: "sh-card", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: `
1966
1967
  <ng-content />
1967
1968
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1968
1969
  }
1969
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipCard, decorators: [{
1970
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipCard, decorators: [{
1970
1971
  type: Component,
1971
1972
  args: [{
1972
1973
  selector: 'sh-card',
@@ -1984,18 +1985,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
1984
1985
  class ShipCheckbox {
1985
1986
  constructor() {
1986
1987
  this._elementRef = inject(ElementRef);
1987
- this.internalInput = viewChild('internalInput', ...(ngDevMode ? [{ debugName: "internalInput" }] : []));
1988
+ this.internalInput = viewChild('internalInput', ...(ngDevMode ? [{ debugName: "internalInput" }] : /* istanbul ignore next */ []));
1988
1989
  this.projectedInputs = contentProjectionSignal('input:not(.internal-input)', {
1989
1990
  childList: true,
1990
1991
  attributes: true,
1991
1992
  });
1992
- this.checked = model(false, ...(ngDevMode ? [{ debugName: "checked" }] : []));
1993
+ this.checked = model(false, ...(ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []));
1993
1994
  this.currentClassList = classMutationSignal();
1994
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
1995
- this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : []));
1996
- this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
1997
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
1998
- this.noInternalInput = input(false, ...(ngDevMode ? [{ debugName: "noInternalInput" }] : []));
1995
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
1996
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
1997
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
1998
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
1999
+ this.noInternalInput = input(false, ...(ngDevMode ? [{ debugName: "noInternalInput" }] : /* istanbul ignore next */ []));
1999
2000
  this.hostClasses = shipComponentClasses('checkbox', {
2000
2001
  color: this.color,
2001
2002
  variant: this.variant,
@@ -2018,8 +2019,8 @@ class ShipCheckbox {
2018
2019
  }
2019
2020
  event.preventDefault();
2020
2021
  }
2021
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2022
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipCheckbox, isStandalone: true, selector: "sh-checkbox", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, noInternalInput: { classPropertyName: "noInternalInput", publicName: "noInternalInput", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange" }, host: { listeners: { "keydown.enter": "onEnter($event)" }, properties: { "class": "hostClasses()", "attr.disabled": "disabled() ? \"\" : null" } }, viewQueries: [{ propertyName: "internalInput", first: true, predicate: ["internalInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
2022
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2023
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipCheckbox, isStandalone: true, selector: "sh-checkbox", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, noInternalInput: { classPropertyName: "noInternalInput", publicName: "noInternalInput", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange" }, host: { listeners: { "keydown.enter": "onEnter($event)" }, properties: { "class": "hostClasses()", "attr.disabled": "disabled() ? \"\" : null" } }, viewQueries: [{ propertyName: "internalInput", first: true, predicate: ["internalInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
2023
2024
  <div class="box sh-sheet" [class]="currentClassList()">
2024
2025
  <sh-icon class="inherit default-indicator">check-bold</sh-icon>
2025
2026
  <sh-icon class="inherit indeterminate-indicator">minus-bold</sh-icon>
@@ -2038,9 +2039,9 @@ class ShipCheckbox {
2038
2039
  [checked]="checked()"
2039
2040
  (change)="onInternalInputChange($event)" />
2040
2041
  }
2041
- `, isInline: true, dependencies: [{ kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "variant", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2042
+ `, isInline: true, dependencies: [{ kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2042
2043
  }
2043
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipCheckbox, decorators: [{
2044
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipCheckbox, decorators: [{
2044
2045
  type: Component,
2045
2046
  args: [{
2046
2047
  selector: 'sh-checkbox',
@@ -2078,12 +2079,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
2078
2079
 
2079
2080
  class ShipChip {
2080
2081
  constructor() {
2081
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
2082
- this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : []));
2083
- this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : []));
2084
- this.sharp = input(undefined, ...(ngDevMode ? [{ debugName: "sharp" }] : []));
2085
- this.dynamic = input(undefined, ...(ngDevMode ? [{ debugName: "dynamic" }] : []));
2086
- this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
2082
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
2083
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
2084
+ this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
2085
+ this.sharp = input(undefined, ...(ngDevMode ? [{ debugName: "sharp" }] : /* istanbul ignore next */ []));
2086
+ this.dynamic = input(undefined, ...(ngDevMode ? [{ debugName: "dynamic" }] : /* istanbul ignore next */ []));
2087
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
2087
2088
  this.hostClasses = shipComponentClasses('chip', {
2088
2089
  color: this.color,
2089
2090
  variant: this.variant,
@@ -2093,10 +2094,10 @@ class ShipChip {
2093
2094
  readonly: this.readonly,
2094
2095
  });
2095
2096
  }
2096
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipChip, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2097
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ShipChip, isStandalone: true, selector: "sh-chip", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, sharp: { classPropertyName: "sharp", publicName: "sharp", isSignal: true, isRequired: false, transformFunction: null }, dynamic: { classPropertyName: "dynamic", publicName: "dynamic", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" }, classAttribute: "sh-sheet" }, ngImport: i0, template: '<div><ng-content /></div>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2097
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipChip, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2098
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ShipChip, isStandalone: true, selector: "sh-chip", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, sharp: { classPropertyName: "sharp", publicName: "sharp", isSignal: true, isRequired: false, transformFunction: null }, dynamic: { classPropertyName: "dynamic", publicName: "dynamic", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" }, classAttribute: "sh-sheet" }, ngImport: i0, template: '<div><ng-content /></div>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2098
2099
  }
2099
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipChip, decorators: [{
2100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipChip, decorators: [{
2100
2101
  type: Component,
2101
2102
  args: [{
2102
2103
  selector: 'sh-chip',
@@ -2118,22 +2119,22 @@ class ShipColorPicker {
2118
2119
  constructor() {
2119
2120
  this.#document = inject(DOCUMENT);
2120
2121
  this.canvasRef = viewChild.required('colorCanvas');
2121
- this.canvasData = signal(null, ...(ngDevMode ? [{ debugName: "canvasData" }] : []));
2122
- this.showDarkColors = input(false, ...(ngDevMode ? [{ debugName: "showDarkColors" }] : []));
2123
- this.renderingType = input('hsl', ...(ngDevMode ? [{ debugName: "renderingType" }] : []));
2124
- this.gridSize = input(20, ...(ngDevMode ? [{ debugName: "gridSize" }] : []));
2125
- this.hue = input(0, ...(ngDevMode ? [{ debugName: "hue" }] : []));
2126
- this.direction = input('horizontal', ...(ngDevMode ? [{ debugName: "direction" }] : []));
2127
- this.selectedColor = model([255, 255, 255], ...(ngDevMode ? [{ debugName: "selectedColor" }] : []));
2122
+ this.canvasData = signal(null, ...(ngDevMode ? [{ debugName: "canvasData" }] : /* istanbul ignore next */ []));
2123
+ this.showDarkColors = input(false, ...(ngDevMode ? [{ debugName: "showDarkColors" }] : /* istanbul ignore next */ []));
2124
+ this.renderingType = input('hsl', ...(ngDevMode ? [{ debugName: "renderingType" }] : /* istanbul ignore next */ []));
2125
+ this.gridSize = input(20, ...(ngDevMode ? [{ debugName: "gridSize" }] : /* istanbul ignore next */ []));
2126
+ this.hue = input(0, ...(ngDevMode ? [{ debugName: "hue" }] : /* istanbul ignore next */ []));
2127
+ this.direction = input('horizontal', ...(ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []));
2128
+ this.selectedColor = model([255, 255, 255], ...(ngDevMode ? [{ debugName: "selectedColor" }] : /* istanbul ignore next */ []));
2128
2129
  this.currentColor = output();
2129
- this.centerLightness = computed(() => (this.showDarkColors() ? 200 : 100), ...(ngDevMode ? [{ debugName: "centerLightness" }] : []));
2130
- this.isDragging = signal(false, ...(ngDevMode ? [{ debugName: "isDragging" }] : []));
2131
- this.markerPosition = signal({ x: '50%', y: '50%' }, ...(ngDevMode ? [{ debugName: "markerPosition" }] : []));
2130
+ this.centerLightness = computed(() => (this.showDarkColors() ? 200 : 100), ...(ngDevMode ? [{ debugName: "centerLightness" }] : /* istanbul ignore next */ []));
2131
+ this.isDragging = signal(false, ...(ngDevMode ? [{ debugName: "isDragging" }] : /* istanbul ignore next */ []));
2132
+ this.markerPosition = signal({ x: '50%', y: '50%' }, ...(ngDevMode ? [{ debugName: "markerPosition" }] : /* istanbul ignore next */ []));
2132
2133
  this._pos = { x: '0', y: '0' };
2133
- this._markerPosition = effect(() => (this._pos = this.markerPosition()), ...(ngDevMode ? [{ debugName: "_markerPosition" }] : []));
2134
- this.selectedColorRgb = computed(() => `rgb(${this.selectedColor().join(',')})`, ...(ngDevMode ? [{ debugName: "selectedColorRgb" }] : []));
2135
- this.selectedColorHex = computed(() => this.rgbToHex(...this.selectedColor()), ...(ngDevMode ? [{ debugName: "selectedColorHex" }] : []));
2136
- this.selectedColorHsl = computed(() => this.rgbToHsl(...this.selectedColor()), ...(ngDevMode ? [{ debugName: "selectedColorHsl" }] : []));
2134
+ this._markerPosition = effect(() => (this._pos = this.markerPosition()), ...(ngDevMode ? [{ debugName: "_markerPosition" }] : /* istanbul ignore next */ []));
2135
+ this.selectedColorRgb = computed(() => `rgb(${this.selectedColor().join(',')})`, ...(ngDevMode ? [{ debugName: "selectedColorRgb" }] : /* istanbul ignore next */ []));
2136
+ this.selectedColorHex = computed(() => this.rgbToHex(...this.selectedColor()), ...(ngDevMode ? [{ debugName: "selectedColorHex" }] : /* istanbul ignore next */ []));
2137
+ this.selectedColorHsl = computed(() => this.rgbToHsl(...this.selectedColor()), ...(ngDevMode ? [{ debugName: "selectedColorHsl" }] : /* istanbul ignore next */ []));
2137
2138
  this.selectedColorEffect = effect(() => {
2138
2139
  const selectedColor = this.selectedColor();
2139
2140
  const hsl = this.rgbToHsl(...selectedColor);
@@ -2146,7 +2147,7 @@ class ShipColorPicker {
2146
2147
  hue: hsl.match(/\d+/g).map(Number)[0],
2147
2148
  saturation: hsl.match(/\d+/g).map(Number)[1],
2148
2149
  });
2149
- }, ...(ngDevMode ? [{ debugName: "selectedColorEffect" }] : []));
2150
+ }, ...(ngDevMode ? [{ debugName: "selectedColorEffect" }] : /* istanbul ignore next */ []));
2150
2151
  this.renderingTypeEffect = effect(() => {
2151
2152
  const currentRenderingType = this.renderingType();
2152
2153
  if (this.canvasData()) {
@@ -2159,7 +2160,7 @@ class ShipColorPicker {
2159
2160
  this.updateMarkerFromColor(this.selectedColor());
2160
2161
  }
2161
2162
  }
2162
- }, ...(ngDevMode ? [{ debugName: "renderingTypeEffect" }] : []));
2163
+ }, ...(ngDevMode ? [{ debugName: "renderingTypeEffect" }] : /* istanbul ignore next */ []));
2163
2164
  this.initColor = null;
2164
2165
  }
2165
2166
  #document;
@@ -2425,8 +2426,8 @@ class ShipColorPicker {
2425
2426
  }
2426
2427
  return `hsl(${Math.floor(h * 360)}, ${Math.round(s * 100)}%, ${Math.round(l * 100)}%)`;
2427
2428
  }
2428
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipColorPicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2429
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.5", type: ShipColorPicker, isStandalone: true, selector: "sh-color-picker", inputs: { showDarkColors: { classPropertyName: "showDarkColors", publicName: "showDarkColors", isSignal: true, isRequired: false, transformFunction: null }, renderingType: { classPropertyName: "renderingType", publicName: "renderingType", isSignal: true, isRequired: false, transformFunction: null }, gridSize: { classPropertyName: "gridSize", publicName: "gridSize", isSignal: true, isRequired: false, transformFunction: null }, hue: { classPropertyName: "hue", publicName: "hue", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, selectedColor: { classPropertyName: "selectedColor", publicName: "selectedColor", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedColor: "selectedColorChange", currentColor: "currentColor" }, host: { listeners: { "window:resize": "onResize()" }, properties: { "class": "renderingType()", "class.vertical": "(renderingType() === \"hue\" || renderingType() === \"saturation\") && direction() === \"vertical\"" } }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["colorCanvas"], descendants: true, isSignal: true }], ngImport: i0, template: `
2429
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipColorPicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2430
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.5", type: ShipColorPicker, isStandalone: true, selector: "sh-color-picker", inputs: { showDarkColors: { classPropertyName: "showDarkColors", publicName: "showDarkColors", isSignal: true, isRequired: false, transformFunction: null }, renderingType: { classPropertyName: "renderingType", publicName: "renderingType", isSignal: true, isRequired: false, transformFunction: null }, gridSize: { classPropertyName: "gridSize", publicName: "gridSize", isSignal: true, isRequired: false, transformFunction: null }, hue: { classPropertyName: "hue", publicName: "hue", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, selectedColor: { classPropertyName: "selectedColor", publicName: "selectedColor", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedColor: "selectedColorChange", currentColor: "currentColor" }, host: { listeners: { "window:resize": "onResize()" }, properties: { "class": "renderingType()", "class.vertical": "(renderingType() === \"hue\" || renderingType() === \"saturation\") && direction() === \"vertical\"" } }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["colorCanvas"], descendants: true, isSignal: true }], ngImport: i0, template: `
2430
2431
  <canvas #colorCanvas></canvas>
2431
2432
  <div
2432
2433
  class="marker"
@@ -2435,7 +2436,7 @@ class ShipColorPicker {
2435
2436
  [style.background]="selectedColorRgb()"></div>
2436
2437
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2437
2438
  }
2438
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipColorPicker, decorators: [{
2439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipColorPicker, decorators: [{
2439
2440
  type: Component,
2440
2441
  args: [{
2441
2442
  selector: 'sh-color-picker',
@@ -2462,34 +2463,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
2462
2463
  class ShipDatepicker {
2463
2464
  constructor() {
2464
2465
  this.#INIT_DATE = new Date(new Date().setHours(0, 0, 0, 0));
2465
- this.date = model(null, ...(ngDevMode ? [{ debugName: "date" }] : []));
2466
- this.endDate = model(null, ...(ngDevMode ? [{ debugName: "endDate" }] : []));
2467
- this.asRange = input(false, ...(ngDevMode ? [{ debugName: "asRange" }] : []));
2468
- this.monthsToShow = input(1, ...(ngDevMode ? [{ debugName: "monthsToShow" }] : []));
2469
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
2470
- this.startOfWeek = input(1, ...(ngDevMode ? [{ debugName: "startOfWeek" }] : []));
2471
- this.weekdayLabels = input(['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], ...(ngDevMode ? [{ debugName: "weekdayLabels" }] : []));
2472
- this.daysRef = viewChild('daysRef', ...(ngDevMode ? [{ debugName: "daysRef" }] : []));
2473
- this.currentDate = signal(this.date() ?? this.#INIT_DATE, ...(ngDevMode ? [{ debugName: "currentDate" }] : []));
2466
+ this.date = model(null, ...(ngDevMode ? [{ debugName: "date" }] : /* istanbul ignore next */ []));
2467
+ this.endDate = model(null, ...(ngDevMode ? [{ debugName: "endDate" }] : /* istanbul ignore next */ []));
2468
+ this.asRange = input(false, ...(ngDevMode ? [{ debugName: "asRange" }] : /* istanbul ignore next */ []));
2469
+ this.monthsToShow = input(1, ...(ngDevMode ? [{ debugName: "monthsToShow" }] : /* istanbul ignore next */ []));
2470
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
2471
+ this.startOfWeek = input(1, ...(ngDevMode ? [{ debugName: "startOfWeek" }] : /* istanbul ignore next */ []));
2472
+ this.weekdayLabels = input(['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], ...(ngDevMode ? [{ debugName: "weekdayLabels" }] : /* istanbul ignore next */ []));
2473
+ this.daysRef = viewChild('daysRef', ...(ngDevMode ? [{ debugName: "daysRef" }] : /* istanbul ignore next */ []));
2474
+ this.currentDate = signal(this.date() ?? this.#INIT_DATE, ...(ngDevMode ? [{ debugName: "currentDate" }] : /* istanbul ignore next */ []));
2474
2475
  this.monthOffsets = computed(() => {
2475
2476
  return Array.from({ length: this.monthsToShow() }, (_, i) => i);
2476
- }, ...(ngDevMode ? [{ debugName: "monthOffsets" }] : []));
2477
- this.selectedDateStylePosition = signal(null, ...(ngDevMode ? [{ debugName: "selectedDateStylePosition" }] : []));
2477
+ }, ...(ngDevMode ? [{ debugName: "monthOffsets" }] : /* istanbul ignore next */ []));
2478
+ this.selectedDateStylePosition = signal(null, ...(ngDevMode ? [{ debugName: "selectedDateStylePosition" }] : /* istanbul ignore next */ []));
2478
2479
  this.weekdays = computed(() => {
2479
2480
  const startOfWeek = this.startOfWeek();
2480
2481
  const weekdayLabels = this.weekdayLabels();
2481
2482
  return weekdayLabels.slice(startOfWeek).concat(weekdayLabels.slice(0, startOfWeek));
2482
- }, ...(ngDevMode ? [{ debugName: "weekdays" }] : []));
2483
+ }, ...(ngDevMode ? [{ debugName: "weekdays" }] : /* istanbul ignore next */ []));
2483
2484
  this.currentClasses = classMutationSignal();
2484
2485
  this.someEffect = effect(() => {
2485
2486
  const _ = this.currentClasses();
2486
2487
  this.#findSelectedAndCalc();
2487
- }, ...(ngDevMode ? [{ debugName: "someEffect" }] : []));
2488
+ }, ...(ngDevMode ? [{ debugName: "someEffect" }] : /* istanbul ignore next */ []));
2488
2489
  this.#newDateEffect = effect(() => {
2489
2490
  if (this.monthsToShow() > 1)
2490
2491
  return;
2491
2492
  this.#setDateAsCurrent();
2492
- }, ...(ngDevMode ? [{ debugName: "#newDateEffect" }] : []));
2493
+ }, ...(ngDevMode ? [{ debugName: "#newDateEffect" }] : /* istanbul ignore next */ []));
2493
2494
  }
2494
2495
  #INIT_DATE;
2495
2496
  getLastVisibleMonth() {
@@ -2680,8 +2681,8 @@ class ShipDatepicker {
2680
2681
  const offsetDate = this.getOffsetDate(monthOffset);
2681
2682
  return date.getMonth() === offsetDate.getMonth();
2682
2683
  }
2683
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipDatepicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2684
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipDatepicker, isStandalone: true, selector: "sh-datepicker", inputs: { date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, endDate: { classPropertyName: "endDate", publicName: "endDate", isSignal: true, isRequired: false, transformFunction: null }, asRange: { classPropertyName: "asRange", publicName: "asRange", isSignal: true, isRequired: false, transformFunction: null }, monthsToShow: { classPropertyName: "monthsToShow", publicName: "monthsToShow", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, startOfWeek: { classPropertyName: "startOfWeek", publicName: "startOfWeek", isSignal: true, isRequired: false, transformFunction: null }, weekdayLabels: { classPropertyName: "weekdayLabels", publicName: "weekdayLabels", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { date: "dateChange", endDate: "endDateChange" }, host: { properties: { "class.as-range": "asRange()", "class": "\"columns-\" + monthsToShow()", "class.disabled": "disabled()" } }, viewQueries: [{ propertyName: "daysRef", first: true, predicate: ["daysRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
2684
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipDatepicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2685
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipDatepicker, isStandalone: true, selector: "sh-datepicker", inputs: { date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, endDate: { classPropertyName: "endDate", publicName: "endDate", isSignal: true, isRequired: false, transformFunction: null }, asRange: { classPropertyName: "asRange", publicName: "asRange", isSignal: true, isRequired: false, transformFunction: null }, monthsToShow: { classPropertyName: "monthsToShow", publicName: "monthsToShow", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, startOfWeek: { classPropertyName: "startOfWeek", publicName: "startOfWeek", isSignal: true, isRequired: false, transformFunction: null }, weekdayLabels: { classPropertyName: "weekdayLabels", publicName: "weekdayLabels", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { date: "dateChange", endDate: "endDateChange" }, host: { properties: { "class.as-range": "asRange()", "class": "\"columns-\" + monthsToShow()", "class.disabled": "disabled()" } }, viewQueries: [{ propertyName: "daysRef", first: true, predicate: ["daysRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
2685
2686
  <header>
2686
2687
  <button (click)="previousMonth()"><sh-icon>caret-left</sh-icon></button>
2687
2688
  <div class="title">
@@ -2723,9 +2724,9 @@ class ShipDatepicker {
2723
2724
  </div>
2724
2725
  }
2725
2726
  </section>
2726
- `, isInline: true, dependencies: [{ kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "variant", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2727
+ `, isInline: true, dependencies: [{ kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2727
2728
  }
2728
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipDatepicker, decorators: [{
2729
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipDatepicker, decorators: [{
2729
2730
  type: Component,
2730
2731
  args: [{
2731
2732
  selector: 'sh-datepicker',
@@ -2794,20 +2795,20 @@ class ShipPopover {
2794
2795
  constructor() {
2795
2796
  this.#document = inject(DOCUMENT);
2796
2797
  this.SUPPORTS_ANCHOR = typeof CSS !== 'undefined' && CSS.supports('position-anchor', '--abc') && CSS.supports('anchor-name', '--abc');
2797
- this.asMultiLayer = input(false, ...(ngDevMode ? [{ debugName: "asMultiLayer" }] : []));
2798
- this.disableOpenByClick = input(false, ...(ngDevMode ? [{ debugName: "disableOpenByClick" }] : []));
2799
- this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
2800
- this.options = input(...(ngDevMode ? [undefined, { debugName: "options" }] : []));
2798
+ this.asMultiLayer = input(false, ...(ngDevMode ? [{ debugName: "asMultiLayer" }] : /* istanbul ignore next */ []));
2799
+ this.disableOpenByClick = input(false, ...(ngDevMode ? [{ debugName: "disableOpenByClick" }] : /* istanbul ignore next */ []));
2800
+ this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
2801
+ this.options = input(...(ngDevMode ? [undefined, { debugName: "options" }] : /* istanbul ignore next */ []));
2801
2802
  this.closed = output();
2802
2803
  this.defaultOptionMerge = computed(() => ({
2803
2804
  ...DEFAULT_OPTIONS,
2804
2805
  ...this.options(),
2805
- }), ...(ngDevMode ? [{ debugName: "defaultOptionMerge" }] : []));
2806
+ }), ...(ngDevMode ? [{ debugName: "defaultOptionMerge" }] : /* istanbul ignore next */ []));
2806
2807
  this.triggerRef = viewChild.required('triggerRef');
2807
- this.popoverRef = viewChild('popoverRef', ...(ngDevMode ? [{ debugName: "popoverRef" }] : []));
2808
- this.popoverContentRef = viewChild('popoverContentRef', ...(ngDevMode ? [{ debugName: "popoverContentRef" }] : []));
2809
- this.id = signal('--' + generateUniqueId(), ...(ngDevMode ? [{ debugName: "id" }] : []));
2810
- this.menuStyle = signal(null, ...(ngDevMode ? [{ debugName: "menuStyle" }] : []));
2808
+ this.popoverRef = viewChild('popoverRef', ...(ngDevMode ? [{ debugName: "popoverRef" }] : /* istanbul ignore next */ []));
2809
+ this.popoverContentRef = viewChild('popoverContentRef', ...(ngDevMode ? [{ debugName: "popoverContentRef" }] : /* istanbul ignore next */ []));
2810
+ this.id = signal('--' + generateUniqueId(), ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
2811
+ this.menuStyle = signal(null, ...(ngDevMode ? [{ debugName: "menuStyle" }] : /* istanbul ignore next */ []));
2811
2812
  this.openAbort = null;
2812
2813
  this.openEffect = effect(() => {
2813
2814
  const open = this.isOpen();
@@ -2856,7 +2857,7 @@ class ShipPopover {
2856
2857
  this.openAbort = null;
2857
2858
  }
2858
2859
  });
2859
- }, ...(ngDevMode ? [{ debugName: "openEffect" }] : []));
2860
+ }, ...(ngDevMode ? [{ debugName: "openEffect" }] : /* istanbul ignore next */ []));
2860
2861
  }
2861
2862
  #document;
2862
2863
  toggleIsOpen(event) {
@@ -2987,8 +2988,8 @@ class ShipPopover {
2987
2988
  this.openAbort?.abort();
2988
2989
  this.openAbort = null;
2989
2990
  }
2990
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipPopover, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2991
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipPopover, isStandalone: true, selector: "sh-popover", inputs: { asMultiLayer: { classPropertyName: "asMultiLayer", publicName: "asMultiLayer", isSignal: true, isRequired: false, transformFunction: null }, disableOpenByClick: { classPropertyName: "disableOpenByClick", publicName: "disableOpenByClick", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", closed: "closed" }, host: { properties: { "class.multi-layer": "asMultiLayer()" } }, viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true, isSignal: true }, { propertyName: "popoverRef", first: true, predicate: ["popoverRef"], descendants: true, isSignal: true }, { propertyName: "popoverContentRef", first: true, predicate: ["popoverContentRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
2991
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipPopover, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2992
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipPopover, isStandalone: true, selector: "sh-popover", inputs: { asMultiLayer: { classPropertyName: "asMultiLayer", publicName: "asMultiLayer", isSignal: true, isRequired: false, transformFunction: null }, disableOpenByClick: { classPropertyName: "disableOpenByClick", publicName: "disableOpenByClick", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", closed: "closed" }, host: { properties: { "class.multi-layer": "asMultiLayer()" } }, viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true, isSignal: true }, { propertyName: "popoverRef", first: true, predicate: ["popoverRef"], descendants: true, isSignal: true }, { propertyName: "popoverContentRef", first: true, predicate: ["popoverContentRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
2992
2993
  <div class="trigger" #triggerRef [attr.popovertarget]="id() + 'hello'" (click)="toggleIsOpen($event)">
2993
2994
  <div class="trigger-wrapper">
2994
2995
  <ng-content select="[trigger]" />
@@ -3008,7 +3009,7 @@ class ShipPopover {
3008
3009
  }
3009
3010
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3010
3011
  }
3011
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipPopover, decorators: [{
3012
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipPopover, decorators: [{
3012
3013
  type: Component,
3013
3014
  args: [{
3014
3015
  selector: 'sh-popover',
@@ -3042,7 +3043,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
3042
3043
  class ShipFormFieldPopover {
3043
3044
  constructor() {
3044
3045
  this.#selfRef = inject(ElementRef);
3045
- this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
3046
+ this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
3046
3047
  this.closed = output();
3047
3048
  }
3048
3049
  #selfRef;
@@ -3082,8 +3083,8 @@ class ShipFormFieldPopover {
3082
3083
  }
3083
3084
  }
3084
3085
  }
3085
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipFormFieldPopover, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3086
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ShipFormFieldPopover, isStandalone: true, selector: "sh-form-field-popover", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", closed: "closed" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0, template: `
3086
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipFormFieldPopover, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3087
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ShipFormFieldPopover, isStandalone: true, selector: "sh-form-field-popover", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", closed: "closed" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0, template: `
3087
3088
  <ng-content select="label"></ng-content>
3088
3089
 
3089
3090
  <sh-popover
@@ -3123,7 +3124,7 @@ class ShipFormFieldPopover {
3123
3124
  </div>
3124
3125
  `, isInline: true, dependencies: [{ kind: "component", type: ShipPopover, selector: "sh-popover", inputs: ["asMultiLayer", "disableOpenByClick", "isOpen", "options"], outputs: ["isOpenChange", "closed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3125
3126
  }
3126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipFormFieldPopover, decorators: [{
3127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipFormFieldPopover, decorators: [{
3127
3128
  type: Component,
3128
3129
  args: [{
3129
3130
  selector: 'sh-form-field-popover',
@@ -3177,10 +3178,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
3177
3178
  class ShipDatepickerInput {
3178
3179
  constructor() {
3179
3180
  // #INIT_DATE = this.#getUTCDate(new Date());
3180
- this.ngModels = contentChild(NgModel, ...(ngDevMode ? [{ debugName: "ngModels" }] : []));
3181
+ this.ngModels = contentChild(NgModel, ...(ngDevMode ? [{ debugName: "ngModels" }] : /* istanbul ignore next */ []));
3181
3182
  this.#datePipe = inject(DatePipe);
3182
- this.#inputRef = signal(null, ...(ngDevMode ? [{ debugName: "#inputRef" }] : []));
3183
- this.masking = input('mediumDate', ...(ngDevMode ? [{ debugName: "masking" }] : []));
3183
+ this.#inputRef = signal(null, ...(ngDevMode ? [{ debugName: "#inputRef" }] : /* istanbul ignore next */ []));
3184
+ this.masking = input('mediumDate', ...(ngDevMode ? [{ debugName: "masking" }] : /* istanbul ignore next */ []));
3184
3185
  this.closed = output();
3185
3186
  this._maskedDate = computed(() => {
3186
3187
  const date = this.internalDate();
@@ -3190,9 +3191,9 @@ class ShipDatepickerInput {
3190
3191
  if (!date)
3191
3192
  return null;
3192
3193
  return this.#datePipe.transform(date, mask);
3193
- }, ...(ngDevMode ? [{ debugName: "_maskedDate" }] : []));
3194
- this.internalDate = signal(null, ...(ngDevMode ? [{ debugName: "internalDate" }] : []));
3195
- this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
3194
+ }, ...(ngDevMode ? [{ debugName: "_maskedDate" }] : /* istanbul ignore next */ []));
3195
+ this.internalDate = signal(null, ...(ngDevMode ? [{ debugName: "internalDate" }] : /* istanbul ignore next */ []));
3196
+ this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
3196
3197
  this.currentClass = classMutationSignal();
3197
3198
  this.#inputObserver = contentProjectionSignal('#input-wrap input');
3198
3199
  this.#inputRefEffect = effect(() => {
@@ -3215,7 +3216,7 @@ class ShipDatepickerInput {
3215
3216
  if (typeof input.value === 'string') {
3216
3217
  this.internalDate.set(input.value ? new Date(input.value) : null);
3217
3218
  }
3218
- }, ...(ngDevMode ? [{ debugName: "#inputRefEffect" }] : []));
3219
+ }, ...(ngDevMode ? [{ debugName: "#inputRefEffect" }] : /* istanbul ignore next */ []));
3219
3220
  }
3220
3221
  #datePipe;
3221
3222
  #inputRef;
@@ -3255,8 +3256,8 @@ class ShipDatepickerInput {
3255
3256
  });
3256
3257
  return input;
3257
3258
  }
3258
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipDatepickerInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3259
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipDatepickerInput, isStandalone: true, selector: "sh-datepicker-input", inputs: { masking: { classPropertyName: "masking", publicName: "masking", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", isOpen: "isOpenChange" }, providers: [DatePipe], queries: [{ propertyName: "ngModels", first: true, predicate: NgModel, descendants: true, isSignal: true }], ngImport: i0, template: `
3259
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipDatepickerInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3260
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipDatepickerInput, isStandalone: true, selector: "sh-datepicker-input", inputs: { masking: { classPropertyName: "masking", publicName: "masking", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", isOpen: "isOpenChange" }, providers: [DatePipe], queries: [{ propertyName: "ngModels", first: true, predicate: NgModel, descendants: true, isSignal: true }], ngImport: i0, template: `
3260
3261
  <sh-form-field-popover (closed)="close()" [(isOpen)]="isOpen">
3261
3262
  <ng-content select="label" ngProjectAs="label" />
3262
3263
 
@@ -3284,9 +3285,9 @@ class ShipDatepickerInput {
3284
3285
  </sh-form-field-popover>
3285
3286
 
3286
3287
  <ng-template #defaultIndicator></ng-template>
3287
- `, isInline: true, dependencies: [{ kind: "component", type: ShipDatepicker, selector: "sh-datepicker", inputs: ["date", "endDate", "asRange", "monthsToShow", "disabled", "startOfWeek", "weekdayLabels"], outputs: ["dateChange", "endDateChange"] }, { kind: "component", type: ShipFormFieldPopover, selector: "sh-form-field-popover", inputs: ["isOpen"], outputs: ["isOpenChange", "closed"] }, { kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "variant", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3288
+ `, isInline: true, dependencies: [{ kind: "component", type: ShipDatepicker, selector: "sh-datepicker", inputs: ["date", "endDate", "asRange", "monthsToShow", "disabled", "startOfWeek", "weekdayLabels"], outputs: ["dateChange", "endDateChange"] }, { kind: "component", type: ShipFormFieldPopover, selector: "sh-form-field-popover", inputs: ["isOpen"], outputs: ["isOpenChange", "closed"] }, { kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3288
3289
  }
3289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipDatepickerInput, decorators: [{
3290
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipDatepickerInput, decorators: [{
3290
3291
  type: Component,
3291
3292
  args: [{
3292
3293
  selector: 'sh-datepicker-input',
@@ -3333,29 +3334,29 @@ class ShipDaterangeInput {
3333
3334
  }
3334
3335
  constructor() {
3335
3336
  this.#selfRef = inject(ElementRef);
3336
- this.startDateInputs = contentChildren('startDate', ...(ngDevMode ? [{ debugName: "startDateInputs" }] : []));
3337
- this.endDateInputs = contentChildren('endDate', ...(ngDevMode ? [{ debugName: "endDateInputs" }] : []));
3337
+ this.startDateInputs = contentChildren('startDate', ...(ngDevMode ? [{ debugName: "startDateInputs" }] : /* istanbul ignore next */ []));
3338
+ this.endDateInputs = contentChildren('endDate', ...(ngDevMode ? [{ debugName: "endDateInputs" }] : /* istanbul ignore next */ []));
3338
3339
  this.#datePipe = inject(DatePipe);
3339
- this.monthsToShow = input(1, ...(ngDevMode ? [{ debugName: "monthsToShow" }] : []));
3340
- this.masking = input('mediumDate', ...(ngDevMode ? [{ debugName: "masking" }] : []));
3340
+ this.monthsToShow = input(1, ...(ngDevMode ? [{ debugName: "monthsToShow" }] : /* istanbul ignore next */ []));
3341
+ this.masking = input('mediumDate', ...(ngDevMode ? [{ debugName: "masking" }] : /* istanbul ignore next */ []));
3341
3342
  this.closed = output();
3342
- this.startDate = signal(null, ...(ngDevMode ? [{ debugName: "startDate" }] : []));
3343
- this.endDate = signal(null, ...(ngDevMode ? [{ debugName: "endDate" }] : []));
3344
- this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
3343
+ this.startDate = signal(null, ...(ngDevMode ? [{ debugName: "startDate" }] : /* istanbul ignore next */ []));
3344
+ this.endDate = signal(null, ...(ngDevMode ? [{ debugName: "endDate" }] : /* istanbul ignore next */ []));
3345
+ this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
3345
3346
  this._maskedStartDate = computed(() => {
3346
3347
  const date = this.startDate();
3347
3348
  const mask = this.masking();
3348
3349
  if (!mask || !date)
3349
3350
  return null;
3350
3351
  return this.#datePipe.transform(date, mask);
3351
- }, ...(ngDevMode ? [{ debugName: "_maskedStartDate" }] : []));
3352
+ }, ...(ngDevMode ? [{ debugName: "_maskedStartDate" }] : /* istanbul ignore next */ []));
3352
3353
  this._maskedEndDate = computed(() => {
3353
3354
  const date = this.endDate();
3354
3355
  const mask = this.masking();
3355
3356
  if (!mask || !date)
3356
3357
  return null;
3357
3358
  return this.#datePipe.transform(date, mask);
3358
- }, ...(ngDevMode ? [{ debugName: "_maskedEndDate" }] : []));
3359
+ }, ...(ngDevMode ? [{ debugName: "_maskedEndDate" }] : /* istanbul ignore next */ []));
3359
3360
  effect(() => {
3360
3361
  // Setup start date inputs
3361
3362
  this.startDateInputs().forEach((input) => {
@@ -3424,8 +3425,8 @@ class ShipDaterangeInput {
3424
3425
  end: this.endDate(),
3425
3426
  });
3426
3427
  }
3427
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipDaterangeInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3428
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipDaterangeInput, isStandalone: true, selector: "sh-daterange-input", inputs: { monthsToShow: { classPropertyName: "monthsToShow", publicName: "monthsToShow", isSignal: true, isRequired: false, transformFunction: null }, masking: { classPropertyName: "masking", publicName: "masking", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", isOpen: "isOpenChange" }, providers: [DatePipe], queries: [{ propertyName: "startDateInputs", predicate: ["startDate"], isSignal: true }, { propertyName: "endDateInputs", predicate: ["endDate"], isSignal: true }], ngImport: i0, template: `
3428
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipDaterangeInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3429
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipDaterangeInput, isStandalone: true, selector: "sh-daterange-input", inputs: { monthsToShow: { classPropertyName: "monthsToShow", publicName: "monthsToShow", isSignal: true, isRequired: false, transformFunction: null }, masking: { classPropertyName: "masking", publicName: "masking", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", isOpen: "isOpenChange" }, providers: [DatePipe], queries: [{ propertyName: "startDateInputs", predicate: ["startDate"], isSignal: true }, { propertyName: "endDateInputs", predicate: ["endDate"], isSignal: true }], ngImport: i0, template: `
3429
3430
  <sh-form-field-popover [class]="'columns-' + monthsToShow()" (closed)="close()" [(isOpen)]="isOpen">
3430
3431
  <ng-content select="label" ngProjectAs="label" />
3431
3432
 
@@ -3456,9 +3457,9 @@ class ShipDaterangeInput {
3456
3457
  }
3457
3458
  </div>
3458
3459
  </sh-form-field-popover>
3459
- `, isInline: true, dependencies: [{ kind: "component", type: ShipDatepicker, selector: "sh-datepicker", inputs: ["date", "endDate", "asRange", "monthsToShow", "disabled", "startOfWeek", "weekdayLabels"], outputs: ["dateChange", "endDateChange"] }, { kind: "component", type: ShipFormFieldPopover, selector: "sh-form-field-popover", inputs: ["isOpen"], outputs: ["isOpenChange", "closed"] }, { kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "variant", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3460
+ `, isInline: true, dependencies: [{ kind: "component", type: ShipDatepicker, selector: "sh-datepicker", inputs: ["date", "endDate", "asRange", "monthsToShow", "disabled", "startOfWeek", "weekdayLabels"], outputs: ["dateChange", "endDateChange"] }, { kind: "component", type: ShipFormFieldPopover, selector: "sh-form-field-popover", inputs: ["isOpen"], outputs: ["isOpenChange", "closed"] }, { kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3460
3461
  }
3461
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipDaterangeInput, decorators: [{
3462
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipDaterangeInput, decorators: [{
3462
3463
  type: Component,
3463
3464
  args: [{
3464
3465
  selector: 'sh-daterange-input',
@@ -3501,12 +3502,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
3501
3502
  }], ctorParameters: () => [], propDecorators: { startDateInputs: [{ type: i0.ContentChildren, args: ['startDate', { isSignal: true }] }], endDateInputs: [{ type: i0.ContentChildren, args: ['endDate', { isSignal: true }] }], monthsToShow: [{ type: i0.Input, args: [{ isSignal: true, alias: "monthsToShow", required: false }] }], masking: [{ type: i0.Input, args: [{ isSignal: true, alias: "masking", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }], isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }, { type: i0.Output, args: ["isOpenChange"] }] } });
3502
3503
 
3503
3504
  class ShipDivider {
3504
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipDivider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3505
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.5", type: ShipDivider, isStandalone: true, selector: "sh-divider", ngImport: i0, template: `
3505
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipDivider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3506
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: ShipDivider, isStandalone: true, selector: "sh-divider", ngImport: i0, template: `
3506
3507
  <ng-content />
3507
3508
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3508
3509
  }
3509
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipDivider, decorators: [{
3510
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipDivider, decorators: [{
3510
3511
  type: Component,
3511
3512
  args: [{
3512
3513
  selector: 'sh-divider',
@@ -3520,15 +3521,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
3520
3521
 
3521
3522
  class ShipEventCard {
3522
3523
  constructor() {
3523
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
3524
- this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : []));
3524
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
3525
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
3525
3526
  this.hostClasses = shipComponentClasses('event-card', {
3526
3527
  color: this.color,
3527
3528
  variant: this.variant,
3528
3529
  });
3529
3530
  }
3530
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipEventCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3531
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ShipEventCard, isStandalone: true, selector: "sh-event-card", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" }, classAttribute: "sh-sheet" }, ngImport: i0, template: `
3531
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipEventCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3532
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ShipEventCard, isStandalone: true, selector: "sh-event-card", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" }, classAttribute: "sh-sheet" }, ngImport: i0, template: `
3532
3533
  <div class="content">
3533
3534
  <ng-content />
3534
3535
  </div>
@@ -3539,7 +3540,7 @@ class ShipEventCard {
3539
3540
  </div>
3540
3541
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3541
3542
  }
3542
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipEventCard, decorators: [{
3543
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipEventCard, decorators: [{
3543
3544
  type: Component,
3544
3545
  args: [{
3545
3546
  selector: 'sh-event-card',
@@ -3574,10 +3575,10 @@ class ShipFormField {
3574
3575
  }
3575
3576
  constructor() {
3576
3577
  this.#selfRef = inject(ElementRef);
3577
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
3578
- this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : []));
3579
- this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : []));
3580
- this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
3578
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
3579
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
3580
+ this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
3581
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
3581
3582
  this.hostClasses = shipComponentClasses('formField', {
3582
3583
  color: this.color,
3583
3584
  variant: this.variant,
@@ -3607,8 +3608,8 @@ class ShipFormField {
3607
3608
  }
3608
3609
  });
3609
3610
  }
3610
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipFormField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3611
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ShipFormField, isStandalone: true, selector: "sh-form-field", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" }, properties: { "class": "hostClasses()" } }, ngImport: i0, template: `
3611
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipFormField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3612
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ShipFormField, isStandalone: true, selector: "sh-form-field", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" }, properties: { "class": "hostClasses()" } }, ngImport: i0, template: `
3612
3613
  <ng-content select="label"></ng-content>
3613
3614
 
3614
3615
  <div class="input-wrap">
@@ -3639,7 +3640,7 @@ class ShipFormField {
3639
3640
  </div>
3640
3641
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3641
3642
  }
3642
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipFormField, decorators: [{
3643
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipFormField, decorators: [{
3643
3644
  type: Component,
3644
3645
  args: [{
3645
3646
  selector: 'sh-form-field',
@@ -3688,13 +3689,13 @@ class ShipFileUpload {
3688
3689
  constructor() {
3689
3690
  this._el = inject(ElementRef);
3690
3691
  this.inputRef = viewChild.required('input');
3691
- this.filesOver = signal(false, ...(ngDevMode ? [{ debugName: "filesOver" }] : []));
3692
- this.multiple = input(...(ngDevMode ? [undefined, { debugName: "multiple" }] : []));
3693
- this.accept = input(null, ...(ngDevMode ? [{ debugName: "accept" }] : []));
3694
- this.placeholder = model('Click or drag files here', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
3695
- this.overlayText = input('Drop files here', ...(ngDevMode ? [{ debugName: "overlayText" }] : []));
3696
- this.files = model([], ...(ngDevMode ? [{ debugName: "files" }] : []));
3697
- this.fileUploadClasses = computed(() => this._el.nativeElement.classList.toString(), ...(ngDevMode ? [{ debugName: "fileUploadClasses" }] : []));
3692
+ this.filesOver = signal(false, ...(ngDevMode ? [{ debugName: "filesOver" }] : /* istanbul ignore next */ []));
3693
+ this.multiple = input(...(ngDevMode ? [undefined, { debugName: "multiple" }] : /* istanbul ignore next */ []));
3694
+ this.accept = input(null, ...(ngDevMode ? [{ debugName: "accept" }] : /* istanbul ignore next */ []));
3695
+ this.placeholder = model('Click or drag files here', ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
3696
+ this.overlayText = input('Drop files here', ...(ngDevMode ? [{ debugName: "overlayText" }] : /* istanbul ignore next */ []));
3697
+ this.files = model([], ...(ngDevMode ? [{ debugName: "files" }] : /* istanbul ignore next */ []));
3698
+ this.fileUploadClasses = computed(() => this._el.nativeElement.classList.toString(), ...(ngDevMode ? [{ debugName: "fileUploadClasses" }] : /* istanbul ignore next */ []));
3698
3699
  this.inputEffect = effect(() => {
3699
3700
  const input = this.inputRef().nativeElement;
3700
3701
  if (!input)
@@ -3723,7 +3724,7 @@ class ShipFileUpload {
3723
3724
  e.preventDefault();
3724
3725
  this.handleFileUpload(Array.from(e.target.files));
3725
3726
  });
3726
- }, ...(ngDevMode ? [{ debugName: "inputEffect" }] : []));
3727
+ }, ...(ngDevMode ? [{ debugName: "inputEffect" }] : /* istanbul ignore next */ []));
3727
3728
  }
3728
3729
  handleFileUpload(newFiles) {
3729
3730
  if (this.multiple()) {
@@ -3733,8 +3734,8 @@ class ShipFileUpload {
3733
3734
  this.files.set(newFiles);
3734
3735
  }
3735
3736
  }
3736
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipFileUpload, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3737
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipFileUpload, isStandalone: true, selector: "sh-file-upload", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, accept: { classPropertyName: "accept", publicName: "accept", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, overlayText: { classPropertyName: "overlayText", publicName: "overlayText", isSignal: true, isRequired: false, transformFunction: null }, files: { classPropertyName: "files", publicName: "files", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { placeholder: "placeholderChange", files: "filesChange" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true, isSignal: true }], ngImport: i0, template: `
3737
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipFileUpload, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3738
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipFileUpload, isStandalone: true, selector: "sh-file-upload", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, accept: { classPropertyName: "accept", publicName: "accept", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, overlayText: { classPropertyName: "overlayText", publicName: "overlayText", isSignal: true, isRequired: false, transformFunction: null }, files: { classPropertyName: "files", publicName: "files", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { placeholder: "placeholderChange", files: "filesChange" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true, isSignal: true }], ngImport: i0, template: `
3738
3739
  <sh-form-field [class]="fileUploadClasses()">
3739
3740
  <ng-content select="label" ngProjectAs="label"></ng-content>
3740
3741
 
@@ -3752,9 +3753,9 @@ class ShipFileUpload {
3752
3753
 
3753
3754
  <sh-icon suffix>upload-simple</sh-icon>
3754
3755
  </sh-form-field>
3755
- `, isInline: true, dependencies: [{ kind: "component", type: ShipFormField, selector: "sh-form-field", inputs: ["color", "variant", "size", "readonly"] }, { kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "variant", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3756
+ `, isInline: true, dependencies: [{ kind: "component", type: ShipFormField, selector: "sh-form-field", inputs: ["color", "variant", "size", "readonly"] }, { kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3756
3757
  }
3757
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipFileUpload, decorators: [{
3758
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipFileUpload, decorators: [{
3758
3759
  type: Component,
3759
3760
  args: [{
3760
3761
  selector: 'sh-file-upload',
@@ -3782,13 +3783,131 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
3782
3783
  }]
3783
3784
  }], propDecorators: { inputRef: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], accept: [{ type: i0.Input, args: [{ isSignal: true, alias: "accept", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }, { type: i0.Output, args: ["placeholderChange"] }], overlayText: [{ type: i0.Input, args: [{ isSignal: true, alias: "overlayText", required: false }] }], files: [{ type: i0.Input, args: [{ isSignal: true, alias: "files", required: false }] }, { type: i0.Output, args: ["filesChange"] }] } });
3784
3785
 
3786
+ class ShipAccordion {
3787
+ constructor() {
3788
+ this.selfElement = inject((ElementRef)).nativeElement;
3789
+ this.name = input(`sh-accordion-${Math.random().toString(36).substring(2, 9)}`, ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
3790
+ this.value = model(null, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
3791
+ this.allowMultiple = input(false, ...(ngDevMode ? [{ debugName: "allowMultiple" }] : /* istanbul ignore next */ []));
3792
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
3793
+ this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
3794
+ this.hostClasses = shipComponentClasses('accordion', {
3795
+ variant: this.variant,
3796
+ size: this.size,
3797
+ });
3798
+ this.items = contentProjectionSignal('details', {
3799
+ childList: true,
3800
+ subtree: true,
3801
+ attributes: true,
3802
+ attributeFilter: ['open', 'value'],
3803
+ });
3804
+ this.selfElement.addEventListener('toggle', this.onToggle.bind(this), true);
3805
+ effect(() => {
3806
+ const isMultiple = this.allowMultiple();
3807
+ const groupName = this.name();
3808
+ const valStr = this.value();
3809
+ const vals = valStr ? valStr.split(',').filter((v) => v !== '') : [];
3810
+ this.items().forEach((details) => {
3811
+ if (!isMultiple) {
3812
+ details.setAttribute('name', groupName);
3813
+ }
3814
+ else {
3815
+ details.removeAttribute('name');
3816
+ }
3817
+ const summary = details.querySelector('summary');
3818
+ if (summary && !summary.querySelector('sh-icon')) {
3819
+ const icon = document.createElement('sh-icon');
3820
+ icon.textContent = 'caret-down';
3821
+ summary.appendChild(icon);
3822
+ }
3823
+ let contentWrapper = details.querySelector(':scope > .content');
3824
+ if (!contentWrapper) {
3825
+ const newWrapper = document.createElement('div');
3826
+ newWrapper.className = 'content';
3827
+ const childrenToMove = Array.from(details.childNodes).filter((node) => {
3828
+ if (node.nodeType === Node.ELEMENT_NODE &&
3829
+ node.tagName.toLowerCase() === 'summary') {
3830
+ return false;
3831
+ }
3832
+ return true;
3833
+ });
3834
+ childrenToMove.forEach((child) => newWrapper.appendChild(child));
3835
+ details.appendChild(newWrapper);
3836
+ contentWrapper = newWrapper;
3837
+ }
3838
+ const itemVal = details.getAttribute('value');
3839
+ if (itemVal && vals.includes(itemVal)) {
3840
+ // Avoid triggering endless loops by only setting open if it actually changed
3841
+ if (!details.open)
3842
+ details.open = true;
3843
+ }
3844
+ else if (itemVal) {
3845
+ if (details.open)
3846
+ details.open = false;
3847
+ }
3848
+ });
3849
+ });
3850
+ }
3851
+ onToggle(event) {
3852
+ const target = event.target;
3853
+ if (target.tagName !== 'DETAILS')
3854
+ return;
3855
+ if (!this.selfElement.contains(target))
3856
+ return;
3857
+ const itemVal = target.getAttribute('value');
3858
+ if (!itemVal)
3859
+ return; // Uncontrolled details element
3860
+ const isOpen = target.open;
3861
+ if (this.allowMultiple()) {
3862
+ let vals = this.value()
3863
+ ? this.value()
3864
+ .split(',')
3865
+ .filter((v) => v !== '')
3866
+ : [];
3867
+ if (isOpen && !vals.includes(itemVal))
3868
+ vals.push(itemVal);
3869
+ if (!isOpen)
3870
+ vals = vals.filter((v) => v !== itemVal);
3871
+ this.value.set(vals.join(','));
3872
+ }
3873
+ else {
3874
+ if (isOpen) {
3875
+ this.value.set(itemVal);
3876
+ }
3877
+ else {
3878
+ if (this.value() === itemVal) {
3879
+ this.value.set(null);
3880
+ }
3881
+ }
3882
+ }
3883
+ }
3884
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipAccordion, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3885
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ShipAccordion, isStandalone: true, selector: "sh-accordion", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, allowMultiple: { classPropertyName: "allowMultiple", publicName: "allowMultiple", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "class.sh-accordion": "true", "class": "hostClasses()" } }, ngImport: i0, template: `
3886
+ <ng-content></ng-content>
3887
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3888
+ }
3889
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipAccordion, decorators: [{
3890
+ type: Component,
3891
+ args: [{
3892
+ selector: 'sh-accordion',
3893
+ template: `
3894
+ <ng-content></ng-content>
3895
+ `,
3896
+ changeDetection: ChangeDetectionStrategy.OnPush,
3897
+ host: {
3898
+ '[class.sh-accordion]': 'true',
3899
+ '[class]': 'hostClasses()',
3900
+ },
3901
+ }]
3902
+ }], ctorParameters: () => [], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], allowMultiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowMultiple", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
3903
+
3785
3904
  class ShipList {
3786
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3787
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.5", type: ShipList, isStandalone: true, selector: "sh-list", ngImport: i0, template: `
3905
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3906
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: ShipList, isStandalone: true, selector: "sh-list", ngImport: i0, template: `
3788
3907
  <ng-content />
3789
3908
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3790
3909
  }
3791
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipList, decorators: [{
3910
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipList, decorators: [{
3792
3911
  type: Component,
3793
3912
  args: [{
3794
3913
  selector: 'sh-list',
@@ -3801,7 +3920,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
3801
3920
  }] });
3802
3921
 
3803
3922
  function observeFirstChild(parentEl, elementTags) {
3804
- const elementSignal = signal(null, ...(ngDevMode ? [{ debugName: "elementSignal" }] : []));
3923
+ const elementSignal = signal(null, ...(ngDevMode ? [{ debugName: "elementSignal" }] : /* istanbul ignore next */ []));
3805
3924
  const _upperCaseElementTags = elementTags.map((tag) => tag.toUpperCase());
3806
3925
  const injector = inject(Injector);
3807
3926
  const destroyRef = injector.get(DestroyRef);
@@ -3835,7 +3954,7 @@ function observeFirstChild(parentEl, elementTags) {
3835
3954
  function observeChildren(parentEl, elementTags) {
3836
3955
  const injector = inject(Injector);
3837
3956
  const destroyRef = injector.get(DestroyRef);
3838
- const elementsSignal = signal([], ...(ngDevMode ? [{ debugName: "elementsSignal" }] : []));
3957
+ const elementsSignal = signal([], ...(ngDevMode ? [{ debugName: "elementsSignal" }] : /* istanbul ignore next */ []));
3839
3958
  let effectOnSignal = null;
3840
3959
  let observer = null;
3841
3960
  const setupObserver = (el, elementTags) => {
@@ -3888,10 +4007,10 @@ function observeChildren(parentEl, elementTags) {
3888
4007
 
3889
4008
  function createFormInputSignal(formEl, elementTags = ['input', 'textarea']) {
3890
4009
  const elementRefSignal = formEl ? formEl : observeFirstChild(inject(ElementRef), elementTags);
3891
- const valueSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "valueSignal" }] : []));
4010
+ const valueSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "valueSignal" }] : /* istanbul ignore next */ []));
3892
4011
  const injector = inject(Injector);
3893
4012
  const destroyRef = injector.get(DestroyRef);
3894
- const firstInputEl = signal(null, ...(ngDevMode ? [{ debugName: "firstInputEl" }] : []));
4013
+ const firstInputEl = signal(null, ...(ngDevMode ? [{ debugName: "firstInputEl" }] : /* istanbul ignore next */ []));
3895
4014
  effect((onCleanup) => {
3896
4015
  const elRef = elementRefSignal();
3897
4016
  if (!elRef)
@@ -3973,18 +4092,18 @@ class ShipMenu {
3973
4092
  constructor() {
3974
4093
  this.#document = inject(DOCUMENT);
3975
4094
  this.#renderer = inject(Renderer2);
3976
- this.asMultiLayer = input(false, ...(ngDevMode ? [{ debugName: "asMultiLayer" }] : []));
3977
- this.openIndicator = input(false, ...(ngDevMode ? [{ debugName: "openIndicator" }] : []));
3978
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
3979
- this.customOptionElementSelectors = input(['button'], ...(ngDevMode ? [{ debugName: "customOptionElementSelectors" }] : []));
3980
- this.keepClickedOptionActive = input(false, ...(ngDevMode ? [{ debugName: "keepClickedOptionActive" }] : []));
3981
- this.closeOnClick = input(true, ...(ngDevMode ? [{ debugName: "closeOnClick" }] : []));
3982
- this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
4095
+ this.asMultiLayer = input(false, ...(ngDevMode ? [{ debugName: "asMultiLayer" }] : /* istanbul ignore next */ []));
4096
+ this.openIndicator = input(false, ...(ngDevMode ? [{ debugName: "openIndicator" }] : /* istanbul ignore next */ []));
4097
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
4098
+ this.customOptionElementSelectors = input(['button'], ...(ngDevMode ? [{ debugName: "customOptionElementSelectors" }] : /* istanbul ignore next */ []));
4099
+ this.keepClickedOptionActive = input(false, ...(ngDevMode ? [{ debugName: "keepClickedOptionActive" }] : /* istanbul ignore next */ []));
4100
+ this.closeOnClick = input(true, ...(ngDevMode ? [{ debugName: "closeOnClick" }] : /* istanbul ignore next */ []));
4101
+ this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
3983
4102
  this.closed = output();
3984
- this.searchable = input(false, ...(ngDevMode ? [{ debugName: "searchable" }] : []));
3985
- this.activeOptionIndex = signal(-1, ...(ngDevMode ? [{ debugName: "activeOptionIndex" }] : []));
3986
- this.inputRef = viewChild('inputRef', ...(ngDevMode ? [{ debugName: "inputRef" }] : []));
3987
- this.optionsRef = viewChild('optionsRef', ...(ngDevMode ? [{ debugName: "optionsRef" }] : []));
4103
+ this.searchable = input(false, ...(ngDevMode ? [{ debugName: "searchable" }] : /* istanbul ignore next */ []));
4104
+ this.activeOptionIndex = signal(-1, ...(ngDevMode ? [{ debugName: "activeOptionIndex" }] : /* istanbul ignore next */ []));
4105
+ this.inputRef = viewChild('inputRef', ...(ngDevMode ? [{ debugName: "inputRef" }] : /* istanbul ignore next */ []));
4106
+ this.optionsRef = viewChild('optionsRef', ...(ngDevMode ? [{ debugName: "optionsRef" }] : /* istanbul ignore next */ []));
3988
4107
  this.openMenusEffect = effect((onCleanup) => {
3989
4108
  if (this.isOpen()) {
3990
4109
  ShipMenu.openMenus.push(this);
@@ -3995,12 +4114,12 @@ class ShipMenu {
3995
4114
  ShipMenu.openMenus.splice(index, 1);
3996
4115
  }
3997
4116
  });
3998
- }, ...(ngDevMode ? [{ debugName: "openMenusEffect" }] : []));
4117
+ }, ...(ngDevMode ? [{ debugName: "openMenusEffect" }] : /* istanbul ignore next */ []));
3999
4118
  this.options = observeChildren(this.optionsRef, this.customOptionElementSelectors);
4000
- this.optionsEl = computed(() => this.options.signal().filter((x) => !x.disabled), ...(ngDevMode ? [{ debugName: "optionsEl" }] : []));
4119
+ this.optionsEl = computed(() => this.options.signal().filter((x) => !x.disabled), ...(ngDevMode ? [{ debugName: "optionsEl" }] : /* istanbul ignore next */ []));
4001
4120
  this.inputValue = createFormInputSignal(this.inputRef);
4002
4121
  this.optionsId = generateUniqueId();
4003
- this.activeOptionId = signal(undefined, ...(ngDevMode ? [{ debugName: "activeOptionId" }] : []));
4122
+ this.activeOptionId = signal(undefined, ...(ngDevMode ? [{ debugName: "activeOptionId" }] : /* istanbul ignore next */ []));
4004
4123
  this.abortController = null;
4005
4124
  this.optionsEffect = effect(() => {
4006
4125
  if (this.abortController !== null) {
@@ -4040,7 +4159,7 @@ class ShipMenu {
4040
4159
  }
4041
4160
  });
4042
4161
  }
4043
- }, ...(ngDevMode ? [{ debugName: "optionsEffect" }] : []));
4162
+ }, ...(ngDevMode ? [{ debugName: "optionsEffect" }] : /* istanbul ignore next */ []));
4044
4163
  this.keyDownEventListener = (e) => {
4045
4164
  // Only handle events if this is the most recently opened menu
4046
4165
  if (ShipMenu.openMenus.at(-1) !== this)
@@ -4105,7 +4224,7 @@ class ShipMenu {
4105
4224
  }
4106
4225
  };
4107
4226
  this._lastElementList = [];
4108
- this.activeElements = signal([], ...(ngDevMode ? [{ debugName: "activeElements" }] : []));
4227
+ this.activeElements = signal([], ...(ngDevMode ? [{ debugName: "activeElements" }] : /* istanbul ignore next */ []));
4109
4228
  this.lastInputValue = '';
4110
4229
  this.inputValueEffect = effect(() => {
4111
4230
  const searchable = this.searchable();
@@ -4153,7 +4272,7 @@ class ShipMenu {
4153
4272
  }
4154
4273
  optionElements[i].setAttribute('role', 'option');
4155
4274
  }
4156
- }, ...(ngDevMode ? [{ debugName: "inputValueEffect" }] : []));
4275
+ }, ...(ngDevMode ? [{ debugName: "inputValueEffect" }] : /* istanbul ignore next */ []));
4157
4276
  this.activeOptionIndexEffect = effect(() => {
4158
4277
  const optionElements = this.activeElements();
4159
4278
  const activeOptionIndex = this.activeOptionIndex();
@@ -4171,7 +4290,7 @@ class ShipMenu {
4171
4290
  else {
4172
4291
  this.activeOptionId.set(undefined);
4173
4292
  }
4174
- }, ...(ngDevMode ? [{ debugName: "activeOptionIndexEffect" }] : []));
4293
+ }, ...(ngDevMode ? [{ debugName: "activeOptionIndexEffect" }] : /* istanbul ignore next */ []));
4175
4294
  }
4176
4295
  #document;
4177
4296
  #renderer;
@@ -4302,8 +4421,8 @@ class ShipMenu {
4302
4421
  ShipMenu.openMenus.splice(index, 1);
4303
4422
  }
4304
4423
  }
4305
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipMenu, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4306
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipMenu, isStandalone: true, selector: "sh-menu", inputs: { asMultiLayer: { classPropertyName: "asMultiLayer", publicName: "asMultiLayer", isSignal: true, isRequired: false, transformFunction: null }, openIndicator: { classPropertyName: "openIndicator", publicName: "openIndicator", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, customOptionElementSelectors: { classPropertyName: "customOptionElementSelectors", publicName: "customOptionElementSelectors", isSignal: true, isRequired: false, transformFunction: null }, keepClickedOptionActive: { classPropertyName: "keepClickedOptionActive", publicName: "keepClickedOptionActive", isSignal: true, isRequired: false, transformFunction: null }, closeOnClick: { classPropertyName: "closeOnClick", publicName: "closeOnClick", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", closed: "closed" }, host: { listeners: { "ship-menu-open": "onShipMenuOpen($event)" }, properties: { "class.disabled": "disabled()", "class.has-search": "searchable()", "class.multi-layer": "asMultiLayer()" } }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, isSignal: true }, { propertyName: "optionsRef", first: true, predicate: ["optionsRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
4424
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipMenu, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4425
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipMenu, isStandalone: true, selector: "sh-menu", inputs: { asMultiLayer: { classPropertyName: "asMultiLayer", publicName: "asMultiLayer", isSignal: true, isRequired: false, transformFunction: null }, openIndicator: { classPropertyName: "openIndicator", publicName: "openIndicator", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, customOptionElementSelectors: { classPropertyName: "customOptionElementSelectors", publicName: "customOptionElementSelectors", isSignal: true, isRequired: false, transformFunction: null }, keepClickedOptionActive: { classPropertyName: "keepClickedOptionActive", publicName: "keepClickedOptionActive", isSignal: true, isRequired: false, transformFunction: null }, closeOnClick: { classPropertyName: "closeOnClick", publicName: "closeOnClick", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", closed: "closed" }, host: { listeners: { "ship-menu-open": "onShipMenuOpen($event)" }, properties: { "class.disabled": "disabled()", "class.has-search": "searchable()", "class.multi-layer": "asMultiLayer()" } }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, isSignal: true }, { propertyName: "optionsRef", first: true, predicate: ["optionsRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
4307
4426
  <sh-popover
4308
4427
  #formFieldWrapper
4309
4428
  [(isOpen)]="isOpen"
@@ -4355,9 +4474,9 @@ class ShipMenu {
4355
4474
  <ng-content select="[menu]" />
4356
4475
  </div>
4357
4476
  </sh-popover>
4358
- `, isInline: true, dependencies: [{ kind: "component", type: ShipPopover, selector: "sh-popover", inputs: ["asMultiLayer", "disableOpenByClick", "isOpen", "options"], outputs: ["isOpenChange", "closed"] }, { kind: "component", type: ShipFormField, selector: "sh-form-field", inputs: ["color", "variant", "size", "readonly"] }, { kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "variant", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4477
+ `, isInline: true, dependencies: [{ kind: "component", type: ShipPopover, selector: "sh-popover", inputs: ["asMultiLayer", "disableOpenByClick", "isOpen", "options"], outputs: ["isOpenChange", "closed"] }, { kind: "component", type: ShipFormField, selector: "sh-form-field", inputs: ["color", "variant", "size", "readonly"] }, { kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4359
4478
  }
4360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipMenu, decorators: [{
4479
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipMenu, decorators: [{
4361
4480
  type: Component,
4362
4481
  args: [{
4363
4482
  selector: 'sh-menu',
@@ -4429,20 +4548,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
4429
4548
 
4430
4549
  class ShipProgressBar {
4431
4550
  constructor() {
4432
- this.value = input(undefined, ...(ngDevMode ? [{ debugName: "value" }] : []));
4433
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
4434
- this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : []));
4551
+ this.value = input(undefined, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
4552
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
4553
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
4435
4554
  this.hostClasses = shipComponentClasses('progressBar', {
4436
4555
  color: this.color,
4437
4556
  variant: this.variant,
4438
4557
  });
4439
4558
  }
4440
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipProgressBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4441
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ShipProgressBar, isStandalone: true, selector: "sh-progress-bar", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: `
4559
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipProgressBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4560
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ShipProgressBar, isStandalone: true, selector: "sh-progress-bar", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: `
4442
4561
  <div class="progress-bar" [style.width.%]="value()"></div>
4443
4562
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4444
4563
  }
4445
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipProgressBar, decorators: [{
4564
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipProgressBar, decorators: [{
4446
4565
  type: Component,
4447
4566
  args: [{
4448
4567
  selector: 'sh-progress-bar',
@@ -4460,18 +4579,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
4460
4579
  class ShipRadio {
4461
4580
  constructor() {
4462
4581
  this._elementRef = inject(ElementRef);
4463
- this.internalInput = viewChild('internalInput', ...(ngDevMode ? [{ debugName: "internalInput" }] : []));
4582
+ this.internalInput = viewChild('internalInput', ...(ngDevMode ? [{ debugName: "internalInput" }] : /* istanbul ignore next */ []));
4464
4583
  this.projectedInputs = contentProjectionSignal('input:not(.internal-input)', {
4465
4584
  childList: true,
4466
4585
  attributes: true,
4467
4586
  });
4468
- this.checked = model(false, ...(ngDevMode ? [{ debugName: "checked" }] : []));
4587
+ this.checked = model(false, ...(ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []));
4469
4588
  this.currentClassList = classMutationSignal();
4470
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
4471
- this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : []));
4472
- this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
4473
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
4474
- this.noInternalInput = input(false, ...(ngDevMode ? [{ debugName: "noInternalInput" }] : []));
4589
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
4590
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
4591
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
4592
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
4593
+ this.noInternalInput = input(false, ...(ngDevMode ? [{ debugName: "noInternalInput" }] : /* istanbul ignore next */ []));
4475
4594
  this.hostClasses = shipComponentClasses('radio', {
4476
4595
  color: this.color,
4477
4596
  variant: this.variant,
@@ -4494,8 +4613,8 @@ class ShipRadio {
4494
4613
  }
4495
4614
  event.preventDefault();
4496
4615
  }
4497
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipRadio, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4498
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipRadio, isStandalone: true, selector: "sh-radio", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, noInternalInput: { classPropertyName: "noInternalInput", publicName: "noInternalInput", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange" }, host: { listeners: { "keydown.enter": "onEnter($event)" }, properties: { "class": "hostClasses()", "attr.disabled": "disabled() ? \"\" : null" } }, viewQueries: [{ propertyName: "internalInput", first: true, predicate: ["internalInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
4616
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipRadio, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4617
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipRadio, isStandalone: true, selector: "sh-radio", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, noInternalInput: { classPropertyName: "noInternalInput", publicName: "noInternalInput", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange" }, host: { listeners: { "keydown.enter": "onEnter($event)" }, properties: { "class": "hostClasses()", "attr.disabled": "disabled() ? \"\" : null" } }, viewQueries: [{ propertyName: "internalInput", first: true, predicate: ["internalInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
4499
4618
  <div class="radio sh-sheet" [class]="currentClassList()"></div>
4500
4619
 
4501
4620
  <ng-content />
@@ -4511,7 +4630,7 @@ class ShipRadio {
4511
4630
  }
4512
4631
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4513
4632
  }
4514
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipRadio, decorators: [{
4633
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipRadio, decorators: [{
4515
4634
  type: Component,
4516
4635
  args: [{
4517
4636
  selector: 'sh-radio',
@@ -4548,13 +4667,13 @@ class ShipRangeSlider {
4548
4667
  this.#observer = null;
4549
4668
  this.#inputElement = null;
4550
4669
  this.#initialDefaultValue = 0;
4551
- this.unit = input('', ...(ngDevMode ? [{ debugName: "unit" }] : []));
4552
- this.value = model(this.#initialDefaultValue, ...(ngDevMode ? [{ debugName: "value" }] : []));
4670
+ this.unit = input('', ...(ngDevMode ? [{ debugName: "unit" }] : /* istanbul ignore next */ []));
4671
+ this.value = model(this.#initialDefaultValue, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
4553
4672
  this.inputState = signal({
4554
4673
  min: 0,
4555
4674
  max: 100,
4556
4675
  step: 1,
4557
- }, ...(ngDevMode ? [{ debugName: "inputState" }] : []));
4676
+ }, ...(ngDevMode ? [{ debugName: "inputState" }] : /* istanbul ignore next */ []));
4558
4677
  this.valuePercentage = computed(() => {
4559
4678
  const { min, max } = this.inputState();
4560
4679
  const currentValue = this.value() ?? min;
@@ -4565,9 +4684,9 @@ class ShipRangeSlider {
4565
4684
  return 0;
4566
4685
  const percentage = ((currentValue - min) / range) * 100;
4567
4686
  return Math.max(0, Math.min(100, percentage));
4568
- }, ...(ngDevMode ? [{ debugName: "valuePercentage" }] : []));
4569
- this.trackFilledPercentage = computed(() => this.valuePercentage(), ...(ngDevMode ? [{ debugName: "trackFilledPercentage" }] : []));
4570
- this.thumbPositionPercentage = computed(() => this.valuePercentage(), ...(ngDevMode ? [{ debugName: "thumbPositionPercentage" }] : []));
4687
+ }, ...(ngDevMode ? [{ debugName: "valuePercentage" }] : /* istanbul ignore next */ []));
4688
+ this.trackFilledPercentage = computed(() => this.valuePercentage(), ...(ngDevMode ? [{ debugName: "trackFilledPercentage" }] : /* istanbul ignore next */ []));
4689
+ this.thumbPositionPercentage = computed(() => this.valuePercentage(), ...(ngDevMode ? [{ debugName: "thumbPositionPercentage" }] : /* istanbul ignore next */ []));
4571
4690
  this.syncModelToInputEffect = effect(() => {
4572
4691
  const modelValue = this.value();
4573
4692
  if (this.#inputElement) {
@@ -4576,7 +4695,7 @@ class ShipRangeSlider {
4576
4695
  this.#inputElement.value = String(modelValue);
4577
4696
  }
4578
4697
  }
4579
- }, ...(ngDevMode ? [{ debugName: "syncModelToInputEffect" }] : []));
4698
+ }, ...(ngDevMode ? [{ debugName: "syncModelToInputEffect" }] : /* istanbul ignore next */ []));
4580
4699
  }
4581
4700
  #selfRef;
4582
4701
  #observer;
@@ -4723,8 +4842,8 @@ class ShipRangeSlider {
4723
4842
  this.#inputElement.oninput = null;
4724
4843
  }
4725
4844
  }
4726
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipRangeSlider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4727
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ShipRangeSlider, isStandalone: true, selector: "sh-range-slider", inputs: { unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "class.has-input": "this.hasInputElement" } }, ngImport: i0, template: `
4845
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipRangeSlider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4846
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ShipRangeSlider, isStandalone: true, selector: "sh-range-slider", inputs: { unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "class.has-input": "this.hasInputElement" } }, ngImport: i0, template: `
4728
4847
  <div class="label">
4729
4848
  <ng-content select="label"></ng-content>
4730
4849
  </div>
@@ -4750,7 +4869,7 @@ class ShipRangeSlider {
4750
4869
  </div>
4751
4870
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4752
4871
  }
4753
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipRangeSlider, decorators: [{
4872
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipRangeSlider, decorators: [{
4754
4873
  type: Component,
4755
4874
  args: [{
4756
4875
  selector: 'sh-range-slider',
@@ -4789,15 +4908,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
4789
4908
 
4790
4909
  class ShipSpinner {
4791
4910
  constructor() {
4792
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
4911
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
4793
4912
  this.hostClasses = shipComponentClasses('spinner', {
4794
4913
  color: this.color,
4795
4914
  });
4796
4915
  }
4797
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipSpinner, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4798
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ShipSpinner, isStandalone: true, selector: "sh-spinner", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4916
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipSpinner, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4917
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ShipSpinner, isStandalone: true, selector: "sh-spinner", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4799
4918
  }
4800
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipSpinner, decorators: [{
4919
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipSpinner, decorators: [{
4801
4920
  type: Component,
4802
4921
  args: [{
4803
4922
  selector: 'sh-spinner',
@@ -4813,29 +4932,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
4813
4932
  class ShipSelect {
4814
4933
  constructor() {
4815
4934
  this.#selfRef = inject((ElementRef));
4816
- this.value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
4817
- this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
4818
- this.asFreeText = input(false, ...(ngDevMode ? [{ debugName: "asFreeText" }] : []));
4819
- this.optionTitle = input(null, ...(ngDevMode ? [{ debugName: "optionTitle" }] : []));
4820
- this.freeTextTitle = input(null, ...(ngDevMode ? [{ debugName: "freeTextTitle" }] : []));
4821
- this.freeTextPlaceholder = input('Type to create a new option', ...(ngDevMode ? [{ debugName: "freeTextPlaceholder" }] : []));
4822
- this.validateFreeText = input(...(ngDevMode ? [undefined, { debugName: "validateFreeText" }] : []));
4823
- this.placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : []));
4824
- this.readonly = model(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
4825
- this.disabled = model(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
4826
- this.lazySearch = input(false, ...(ngDevMode ? [{ debugName: "lazySearch" }] : []));
4827
- this.inlineSearch = input(false, ...(ngDevMode ? [{ debugName: "inlineSearch" }] : []));
4828
- this.asText = input(false, ...(ngDevMode ? [{ debugName: "asText" }] : []));
4829
- this.isClearable = input(true, ...(ngDevMode ? [{ debugName: "isClearable" }] : []));
4830
- this.selectMultiple = input(false, ...(ngDevMode ? [{ debugName: "selectMultiple" }] : []));
4831
- this.optionTemplate = input(null, ...(ngDevMode ? [{ debugName: "optionTemplate" }] : []));
4832
- this.selectedOptionTemplate = input(null, ...(ngDevMode ? [{ debugName: "selectedOptionTemplate" }] : []));
4833
- this.placeholderTemplate = input(null, ...(ngDevMode ? [{ debugName: "placeholderTemplate" }] : []));
4834
- this.freeTextOptionTemplate = input(null, ...(ngDevMode ? [{ debugName: "freeTextOptionTemplate" }] : []));
4835
- this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
4836
- this.isLoading = model(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
4837
- this.options = model([], ...(ngDevMode ? [{ debugName: "options" }] : []));
4838
- this.selectedOptions = model([], ...(ngDevMode ? [{ debugName: "selectedOptions" }] : []));
4935
+ this.value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
4936
+ this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
4937
+ this.asFreeText = input(false, ...(ngDevMode ? [{ debugName: "asFreeText" }] : /* istanbul ignore next */ []));
4938
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
4939
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
4940
+ this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
4941
+ this.optionTitle = input(null, ...(ngDevMode ? [{ debugName: "optionTitle" }] : /* istanbul ignore next */ []));
4942
+ this.freeTextTitle = input(null, ...(ngDevMode ? [{ debugName: "freeTextTitle" }] : /* istanbul ignore next */ []));
4943
+ this.freeTextPlaceholder = input('Type to create a new option', ...(ngDevMode ? [{ debugName: "freeTextPlaceholder" }] : /* istanbul ignore next */ []));
4944
+ this.validateFreeText = input(...(ngDevMode ? [undefined, { debugName: "validateFreeText" }] : /* istanbul ignore next */ []));
4945
+ this.placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
4946
+ this.readonly = model(false, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
4947
+ this.disabled = model(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
4948
+ this.hostClasses = shipComponentClasses('select', {
4949
+ color: this.color,
4950
+ variant: this.variant,
4951
+ size: this.size,
4952
+ readonly: this.readonly,
4953
+ });
4954
+ this.lazySearch = input(false, ...(ngDevMode ? [{ debugName: "lazySearch" }] : /* istanbul ignore next */ []));
4955
+ this.inlineSearch = input(false, ...(ngDevMode ? [{ debugName: "inlineSearch" }] : /* istanbul ignore next */ []));
4956
+ this.asText = input(false, ...(ngDevMode ? [{ debugName: "asText" }] : /* istanbul ignore next */ []));
4957
+ this.isClearable = input(true, ...(ngDevMode ? [{ debugName: "isClearable" }] : /* istanbul ignore next */ []));
4958
+ this.selectMultiple = input(false, ...(ngDevMode ? [{ debugName: "selectMultiple" }] : /* istanbul ignore next */ []));
4959
+ this.optionTemplate = input(null, ...(ngDevMode ? [{ debugName: "optionTemplate" }] : /* istanbul ignore next */ []));
4960
+ this.selectedOptionTemplate = input(null, ...(ngDevMode ? [{ debugName: "selectedOptionTemplate" }] : /* istanbul ignore next */ []));
4961
+ this.placeholderTemplate = input(null, ...(ngDevMode ? [{ debugName: "placeholderTemplate" }] : /* istanbul ignore next */ []));
4962
+ this.freeTextOptionTemplate = input(null, ...(ngDevMode ? [{ debugName: "freeTextOptionTemplate" }] : /* istanbul ignore next */ []));
4963
+ this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
4964
+ this.isLoading = model(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : /* istanbul ignore next */ []));
4965
+ this.options = model([], ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
4966
+ this.selectedOptions = model([], ...(ngDevMode ? [{ debugName: "selectedOptions" }] : /* istanbul ignore next */ []));
4839
4967
  this.cleared = output();
4840
4968
  this.onAddNewFreeTextOption = output();
4841
4969
  this.computedFreeTextOption = computed(() => {
@@ -4846,11 +4974,11 @@ class ShipSelect {
4846
4974
  newOption[valueKey] = inputValue;
4847
4975
  }
4848
4976
  return newOption;
4849
- }, ...(ngDevMode ? [{ debugName: "computedFreeTextOption" }] : []));
4850
- this.#previousSelectedOptions = signal(null, ...(ngDevMode ? [{ debugName: "#previousSelectedOptions" }] : []));
4851
- this.inlineTemplate = contentChild(TemplateRef, ...(ngDevMode ? [{ debugName: "inlineTemplate" }] : []));
4977
+ }, ...(ngDevMode ? [{ debugName: "computedFreeTextOption" }] : /* istanbul ignore next */ []));
4978
+ this.#previousSelectedOptions = signal(null, ...(ngDevMode ? [{ debugName: "#previousSelectedOptions" }] : /* istanbul ignore next */ []));
4979
+ this.inlineTemplate = contentChild(TemplateRef, ...(ngDevMode ? [{ debugName: "inlineTemplate" }] : /* istanbul ignore next */ []));
4852
4980
  this.optionsWrapRef = viewChild.required('optionsWrap');
4853
- this.inputRefInput = signal(null, ...(ngDevMode ? [{ debugName: "inputRefInput" }] : []));
4981
+ this.inputRefInput = signal(null, ...(ngDevMode ? [{ debugName: "inputRefInput" }] : /* istanbul ignore next */ []));
4854
4982
  this.#inputObserver = typeof MutationObserver !== 'undefined' &&
4855
4983
  new MutationObserver((mutations) => {
4856
4984
  for (var mutation of mutations) {
@@ -4860,25 +4988,25 @@ class ShipSelect {
4860
4988
  }
4861
4989
  }
4862
4990
  });
4863
- this.inputValue = signal('', ...(ngDevMode ? [{ debugName: "inputValue" }] : []));
4864
- this.prevInputValue = signal(null, ...(ngDevMode ? [{ debugName: "prevInputValue" }] : []));
4865
- this.focusedOptionIndex = signal(-1, ...(ngDevMode ? [{ debugName: "focusedOptionIndex" }] : []));
4866
- this._isClearable = computed(() => this.selectMultiple() || this.isClearable(), ...(ngDevMode ? [{ debugName: "_isClearable" }] : []));
4867
- this.selectClasses = computed(() => this.#selfRef.nativeElement.classList.toString(), ...(ngDevMode ? [{ debugName: "selectClasses" }] : []));
4868
- this.stretch = computed(() => this.selectClasses().includes('stretch'), ...(ngDevMode ? [{ debugName: "stretch" }] : []));
4869
- this.small = computed(() => this.selectClasses().includes('small'), ...(ngDevMode ? [{ debugName: "small" }] : []));
4991
+ this.inputValue = signal('', ...(ngDevMode ? [{ debugName: "inputValue" }] : /* istanbul ignore next */ []));
4992
+ this.prevInputValue = signal(null, ...(ngDevMode ? [{ debugName: "prevInputValue" }] : /* istanbul ignore next */ []));
4993
+ this.focusedOptionIndex = signal(-1, ...(ngDevMode ? [{ debugName: "focusedOptionIndex" }] : /* istanbul ignore next */ []));
4994
+ this._isClearable = computed(() => this.selectMultiple() || this.isClearable(), ...(ngDevMode ? [{ debugName: "_isClearable" }] : /* istanbul ignore next */ []));
4995
+ this.selectClasses = computed(() => this.#selfRef.nativeElement.classList.toString(), ...(ngDevMode ? [{ debugName: "selectClasses" }] : /* istanbul ignore next */ []));
4996
+ this.stretch = computed(() => this.selectClasses().includes('stretch'), ...(ngDevMode ? [{ debugName: "stretch" }] : /* istanbul ignore next */ []));
4997
+ this.small = computed(() => this.selectClasses().includes('small'), ...(ngDevMode ? [{ debugName: "small" }] : /* istanbul ignore next */ []));
4870
4998
  this.placeholderText = computed(() => {
4871
4999
  const placeholder = this.placeholder();
4872
5000
  const inputRefEl = this.inputRefEl();
4873
5001
  return placeholder || inputRefEl?.placeholder || null;
4874
- }, ...(ngDevMode ? [{ debugName: "placeholderText" }] : []));
5002
+ }, ...(ngDevMode ? [{ debugName: "placeholderText" }] : /* istanbul ignore next */ []));
4875
5003
  this.selectedOptionValues = computed(() => {
4876
5004
  const selectedOptions = this.selectedOptions();
4877
5005
  const valueKey = this.value();
4878
5006
  return valueKey
4879
5007
  ? selectedOptions.map((selectedOption) => this.#getProperty(selectedOption, valueKey))
4880
5008
  : selectedOptions;
4881
- }, ...(ngDevMode ? [{ debugName: "selectedOptionValues" }] : []));
5009
+ }, ...(ngDevMode ? [{ debugName: "selectedOptionValues" }] : /* istanbul ignore next */ []));
4882
5010
  this.filteredOptions = computed(() => {
4883
5011
  const opts = this.options() || [];
4884
5012
  const label = this.label();
@@ -4914,7 +5042,7 @@ class ShipSelect {
4914
5042
  });
4915
5043
  scoredOptions.sort((a, b) => b.score - a.score);
4916
5044
  return scoredOptions.map((scoredOption) => scoredOption.item);
4917
- }, ...(ngDevMode ? [{ debugName: "filteredOptions" }] : []));
5045
+ }, ...(ngDevMode ? [{ debugName: "filteredOptions" }] : /* istanbul ignore next */ []));
4918
5046
  this.#componentId = generateUniqueId();
4919
5047
  this.inputRefEl = computed(() => {
4920
5048
  const inputRefInput = this.inputRefInput();
@@ -4948,18 +5076,15 @@ class ShipSelect {
4948
5076
  input.addEventListener('inputValueChanged', (event) => {
4949
5077
  const newInputValue = event.detail.value;
4950
5078
  const inputValue = this.inputValue();
4951
- if (newInputValue === inputValue)
5079
+ const selectedOptionsLength = untracked(() => this.selectedOptions().length);
5080
+ if (newInputValue === inputValue && (newInputValue !== '' || selectedOptionsLength > 0))
4952
5081
  return;
4953
- if (newInputValue === '') {
4954
- this.clear();
4955
- return;
4956
- }
4957
5082
  this.setSelectedOptionsFromValue(newInputValue);
4958
5083
  this.setInputValueFromOptions(this.selectedOptions());
4959
5084
  this.#setFirstSelectedOptionAsFocused();
4960
5085
  });
4961
5086
  return input;
4962
- }, ...(ngDevMode ? [{ debugName: "inputRefEl" }] : []));
5087
+ }, ...(ngDevMode ? [{ debugName: "inputRefEl" }] : /* istanbul ignore next */ []));
4963
5088
  this.focusEffect = effect(() => {
4964
5089
  const input = this.inputRefEl();
4965
5090
  if (!input)
@@ -4971,7 +5096,7 @@ class ShipSelect {
4971
5096
  else {
4972
5097
  input.removeAttribute('aria-activedescendant');
4973
5098
  }
4974
- }, ...(ngDevMode ? [{ debugName: "focusEffect" }] : []));
5099
+ }, ...(ngDevMode ? [{ debugName: "focusEffect" }] : /* istanbul ignore next */ []));
4975
5100
  this.openAbortController = null;
4976
5101
  this.isOpenEffect = effect(() => {
4977
5102
  const isOpen = this.isOpen();
@@ -5018,22 +5143,25 @@ class ShipSelect {
5018
5143
  this.openAbortController = null;
5019
5144
  }
5020
5145
  }
5021
- }, ...(ngDevMode ? [{ debugName: "isOpenEffect" }] : []));
5146
+ }, ...(ngDevMode ? [{ debugName: "isOpenEffect" }] : /* istanbul ignore next */ []));
5022
5147
  this._inputValue = '';
5023
5148
  this.inputValueEffect = effect(() => {
5024
5149
  const inputValue = this.inputValue();
5025
5150
  this._inputValue = inputValue;
5026
- }, ...(ngDevMode ? [{ debugName: "inputValueEffect" }] : []));
5151
+ }, ...(ngDevMode ? [{ debugName: "inputValueEffect" }] : /* istanbul ignore next */ []));
5027
5152
  this.inputRefElEffect = effect(() => {
5028
5153
  const input = this.inputRefEl();
5029
5154
  if (!input)
5030
5155
  return;
5031
- if (input.value === this._inputValue)
5156
+ const selectedOptionsLength = untracked(() => this.selectedOptions().length);
5157
+ if (input.value === this._inputValue && (input.value !== '' || selectedOptionsLength > 0))
5032
5158
  return;
5033
5159
  this.disabled.set(input.disabled);
5034
- this.setSelectedOptionsFromValue(input.value);
5035
- this.setInputValueFromOptions(this.selectedOptions());
5036
- }, ...(ngDevMode ? [{ debugName: "inputRefElEffect" }] : []));
5160
+ untracked(() => {
5161
+ this.setSelectedOptionsFromValue(input.value);
5162
+ this.setInputValueFromOptions(this.selectedOptions());
5163
+ });
5164
+ }, ...(ngDevMode ? [{ debugName: "inputRefElEffect" }] : /* istanbul ignore next */ []));
5037
5165
  this.selectedLabels = computed(() => {
5038
5166
  const selected = this.selectedOptions();
5039
5167
  const label = this.label();
@@ -5041,7 +5169,7 @@ class ShipSelect {
5041
5169
  return selected.join(', ');
5042
5170
  }
5043
5171
  return selected.map((selected) => this.getLabel(selected)).join(', ');
5044
- }, ...(ngDevMode ? [{ debugName: "selectedLabels" }] : []));
5172
+ }, ...(ngDevMode ? [{ debugName: "selectedLabels" }] : /* istanbul ignore next */ []));
5045
5173
  this.inputState = computed(() => {
5046
5174
  if ((this.selectedOptions().length > 0 || (this.asFreeText() && this.inputValue().length > 0)) && !this.isOpen()) {
5047
5175
  return 'selected';
@@ -5059,8 +5187,8 @@ class ShipSelect {
5059
5187
  return 'searching';
5060
5188
  }
5061
5189
  return 'closed';
5062
- }, ...(ngDevMode ? [{ debugName: "inputState" }] : []));
5063
- this.hasSearch = computed(() => this.inlineSearch() || this.lazySearch(), ...(ngDevMode ? [{ debugName: "hasSearch" }] : []));
5190
+ }, ...(ngDevMode ? [{ debugName: "inputState" }] : /* istanbul ignore next */ []));
5191
+ this.hasSearch = computed(() => this.inlineSearch() || this.lazySearch(), ...(ngDevMode ? [{ debugName: "hasSearch" }] : /* istanbul ignore next */ []));
5064
5192
  this.#selectedOptionsEffect = effect(() => {
5065
5193
  if (this.selectMultiple() && this.hasSearch()) {
5066
5194
  return;
@@ -5074,7 +5202,7 @@ class ShipSelect {
5074
5202
  })
5075
5203
  .join(',');
5076
5204
  this.inputValue.set(inputValue);
5077
- }, ...(ngDevMode ? [{ debugName: "#selectedOptionsEffect" }] : []));
5205
+ }, ...(ngDevMode ? [{ debugName: "#selectedOptionsEffect" }] : /* istanbul ignore next */ []));
5078
5206
  }
5079
5207
  #selfRef;
5080
5208
  #previousSelectedOptions;
@@ -5149,9 +5277,10 @@ class ShipSelect {
5149
5277
  const inputAsArray = selectMultiple ? inputValueAsString : [inputValueAsString[0]];
5150
5278
  const selectedOptions = options.filter((option) => {
5151
5279
  const optionValue = valueKey ? this.#getProperty(option, valueKey)?.toString() : option?.toString();
5152
- return optionValue && inputAsArray.includes(optionValue);
5280
+ return optionValue !== undefined && optionValue !== null && inputAsArray.includes(optionValue);
5153
5281
  });
5154
- this.selectedOptions.set(selectMultiple ? selectedOptions : [selectedOptions[0]]);
5282
+ const isMatched = selectedOptions.length > 0;
5283
+ this.selectedOptions.set(selectMultiple ? selectedOptions : isMatched ? [selectedOptions[0]] : []);
5155
5284
  }
5156
5285
  setInputValueFromOptions(options) {
5157
5286
  const valueKey = this.value();
@@ -5373,8 +5502,8 @@ class ShipSelect {
5373
5502
  this.#inputObserver.disconnect();
5374
5503
  }
5375
5504
  }
5376
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipSelect, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5377
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipSelect, isStandalone: true, selector: "sh-select", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, asFreeText: { classPropertyName: "asFreeText", publicName: "asFreeText", isSignal: true, isRequired: false, transformFunction: null }, optionTitle: { classPropertyName: "optionTitle", publicName: "optionTitle", isSignal: true, isRequired: false, transformFunction: null }, freeTextTitle: { classPropertyName: "freeTextTitle", publicName: "freeTextTitle", isSignal: true, isRequired: false, transformFunction: null }, freeTextPlaceholder: { classPropertyName: "freeTextPlaceholder", publicName: "freeTextPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, validateFreeText: { classPropertyName: "validateFreeText", publicName: "validateFreeText", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, lazySearch: { classPropertyName: "lazySearch", publicName: "lazySearch", isSignal: true, isRequired: false, transformFunction: null }, inlineSearch: { classPropertyName: "inlineSearch", publicName: "inlineSearch", isSignal: true, isRequired: false, transformFunction: null }, asText: { classPropertyName: "asText", publicName: "asText", isSignal: true, isRequired: false, transformFunction: null }, isClearable: { classPropertyName: "isClearable", publicName: "isClearable", isSignal: true, isRequired: false, transformFunction: null }, selectMultiple: { classPropertyName: "selectMultiple", publicName: "selectMultiple", isSignal: true, isRequired: false, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null }, selectedOptionTemplate: { classPropertyName: "selectedOptionTemplate", publicName: "selectedOptionTemplate", isSignal: true, isRequired: false, transformFunction: null }, placeholderTemplate: { classPropertyName: "placeholderTemplate", publicName: "placeholderTemplate", isSignal: true, isRequired: false, transformFunction: null }, freeTextOptionTemplate: { classPropertyName: "freeTextOptionTemplate", publicName: "freeTextOptionTemplate", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, selectedOptions: { classPropertyName: "selectedOptions", publicName: "selectedOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { readonly: "readonlyChange", disabled: "disabledChange", isOpen: "isOpenChange", isLoading: "isLoadingChange", options: "optionsChange", selectedOptions: "selectedOptionsChange", cleared: "cleared", onAddNewFreeTextOption: "onAddNewFreeTextOption" }, host: { properties: { "class.multiple": "selectMultiple()" } }, queries: [{ propertyName: "inlineTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "optionsWrapRef", first: true, predicate: ["optionsWrap"], descendants: true, isSignal: true }], ngImport: i0, template: `
5505
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipSelect, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5506
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipSelect, isStandalone: true, selector: "sh-select", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, asFreeText: { classPropertyName: "asFreeText", publicName: "asFreeText", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, optionTitle: { classPropertyName: "optionTitle", publicName: "optionTitle", isSignal: true, isRequired: false, transformFunction: null }, freeTextTitle: { classPropertyName: "freeTextTitle", publicName: "freeTextTitle", isSignal: true, isRequired: false, transformFunction: null }, freeTextPlaceholder: { classPropertyName: "freeTextPlaceholder", publicName: "freeTextPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, validateFreeText: { classPropertyName: "validateFreeText", publicName: "validateFreeText", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, lazySearch: { classPropertyName: "lazySearch", publicName: "lazySearch", isSignal: true, isRequired: false, transformFunction: null }, inlineSearch: { classPropertyName: "inlineSearch", publicName: "inlineSearch", isSignal: true, isRequired: false, transformFunction: null }, asText: { classPropertyName: "asText", publicName: "asText", isSignal: true, isRequired: false, transformFunction: null }, isClearable: { classPropertyName: "isClearable", publicName: "isClearable", isSignal: true, isRequired: false, transformFunction: null }, selectMultiple: { classPropertyName: "selectMultiple", publicName: "selectMultiple", isSignal: true, isRequired: false, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null }, selectedOptionTemplate: { classPropertyName: "selectedOptionTemplate", publicName: "selectedOptionTemplate", isSignal: true, isRequired: false, transformFunction: null }, placeholderTemplate: { classPropertyName: "placeholderTemplate", publicName: "placeholderTemplate", isSignal: true, isRequired: false, transformFunction: null }, freeTextOptionTemplate: { classPropertyName: "freeTextOptionTemplate", publicName: "freeTextOptionTemplate", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, selectedOptions: { classPropertyName: "selectedOptions", publicName: "selectedOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { readonly: "readonlyChange", disabled: "disabledChange", isOpen: "isOpenChange", isLoading: "isLoadingChange", options: "optionsChange", selectedOptions: "selectedOptionsChange", cleared: "cleared", onAddNewFreeTextOption: "onAddNewFreeTextOption" }, host: { properties: { "class.multiple": "selectMultiple()", "class": "hostClasses()" } }, queries: [{ propertyName: "inlineTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "optionsWrapRef", first: true, predicate: ["optionsWrap"], descendants: true, isSignal: true }], ngImport: i0, template: `
5378
5507
  @let _placeholderTemplate = placeholderTemplate();
5379
5508
  @let _optionTemplate = optionTemplate();
5380
5509
  @let _freeTextOptionTemplate = freeTextOptionTemplate();
@@ -5400,6 +5529,9 @@ class ShipSelect {
5400
5529
  <sh-form-field
5401
5530
  trigger
5402
5531
  (click)="open()"
5532
+ [color]="color()"
5533
+ [variant]="variant()"
5534
+ [size]="size()"
5403
5535
  [class.stretch]="stretch()"
5404
5536
  [class.small]="small()"
5405
5537
  [class.readonly]="readonly() || disabled()">
@@ -5527,9 +5659,9 @@ class ShipSelect {
5527
5659
  }
5528
5660
  </div>
5529
5661
  </sh-popover>
5530
- `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ShipPopover, selector: "sh-popover", inputs: ["asMultiLayer", "disableOpenByClick", "isOpen", "options"], outputs: ["isOpenChange", "closed"] }, { kind: "component", type: ShipFormField, selector: "sh-form-field", inputs: ["color", "variant", "size", "readonly"] }, { kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "variant", "size"] }, { kind: "component", type: ShipCheckbox, selector: "sh-checkbox", inputs: ["checked", "color", "variant", "readonly", "disabled", "noInternalInput"], outputs: ["checkedChange"] }, { kind: "component", type: ShipSpinner, selector: "sh-spinner", inputs: ["color"] }, { kind: "component", type: ShipChip, selector: "sh-chip", inputs: ["color", "variant", "size", "sharp", "dynamic", "readonly"] }, { kind: "component", type: ShipDivider, selector: "sh-divider" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5662
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ShipPopover, selector: "sh-popover", inputs: ["asMultiLayer", "disableOpenByClick", "isOpen", "options"], outputs: ["isOpenChange", "closed"] }, { kind: "component", type: ShipFormField, selector: "sh-form-field", inputs: ["color", "variant", "size", "readonly"] }, { kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "size"] }, { kind: "component", type: ShipCheckbox, selector: "sh-checkbox", inputs: ["checked", "color", "variant", "readonly", "disabled", "noInternalInput"], outputs: ["checkedChange"] }, { kind: "component", type: ShipSpinner, selector: "sh-spinner", inputs: ["color"] }, { kind: "component", type: ShipChip, selector: "sh-chip", inputs: ["color", "variant", "size", "sharp", "dynamic", "readonly"] }, { kind: "component", type: ShipDivider, selector: "sh-divider" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5531
5663
  }
5532
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipSelect, decorators: [{
5664
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipSelect, decorators: [{
5533
5665
  type: Component,
5534
5666
  args: [{
5535
5667
  selector: 'sh-select',
@@ -5560,6 +5692,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
5560
5692
  <sh-form-field
5561
5693
  trigger
5562
5694
  (click)="open()"
5695
+ [color]="color()"
5696
+ [variant]="variant()"
5697
+ [size]="size()"
5563
5698
  [class.stretch]="stretch()"
5564
5699
  [class.small]="small()"
5565
5700
  [class.readonly]="readonly() || disabled()">
@@ -5690,15 +5825,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
5690
5825
  `,
5691
5826
  host: {
5692
5827
  '[class.multiple]': 'selectMultiple()',
5828
+ '[class]': 'hostClasses()',
5693
5829
  },
5694
5830
  changeDetection: ChangeDetectionStrategy.OnPush,
5695
5831
  }]
5696
- }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], asFreeText: [{ type: i0.Input, args: [{ isSignal: true, alias: "asFreeText", required: false }] }], optionTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTitle", required: false }] }], freeTextTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "freeTextTitle", required: false }] }], freeTextPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "freeTextPlaceholder", required: false }] }], validateFreeText: [{ type: i0.Input, args: [{ isSignal: true, alias: "validateFreeText", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }, { type: i0.Output, args: ["readonlyChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], lazySearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "lazySearch", required: false }] }], inlineSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineSearch", required: false }] }], asText: [{ type: i0.Input, args: [{ isSignal: true, alias: "asText", required: false }] }], isClearable: [{ type: i0.Input, args: [{ isSignal: true, alias: "isClearable", required: false }] }], selectMultiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectMultiple", required: false }] }], optionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTemplate", required: false }] }], selectedOptionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedOptionTemplate", required: false }] }], placeholderTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholderTemplate", required: false }] }], freeTextOptionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "freeTextOptionTemplate", required: false }] }], isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }, { type: i0.Output, args: ["isOpenChange"] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }, { type: i0.Output, args: ["isLoadingChange"] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }, { type: i0.Output, args: ["optionsChange"] }], selectedOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedOptions", required: false }] }, { type: i0.Output, args: ["selectedOptionsChange"] }], cleared: [{ type: i0.Output, args: ["cleared"] }], onAddNewFreeTextOption: [{ type: i0.Output, args: ["onAddNewFreeTextOption"] }], inlineTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }], optionsWrapRef: [{ type: i0.ViewChild, args: ['optionsWrap', { isSignal: true }] }] } });
5832
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], asFreeText: [{ type: i0.Input, args: [{ isSignal: true, alias: "asFreeText", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], optionTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTitle", required: false }] }], freeTextTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "freeTextTitle", required: false }] }], freeTextPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "freeTextPlaceholder", required: false }] }], validateFreeText: [{ type: i0.Input, args: [{ isSignal: true, alias: "validateFreeText", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }, { type: i0.Output, args: ["readonlyChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], lazySearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "lazySearch", required: false }] }], inlineSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineSearch", required: false }] }], asText: [{ type: i0.Input, args: [{ isSignal: true, alias: "asText", required: false }] }], isClearable: [{ type: i0.Input, args: [{ isSignal: true, alias: "isClearable", required: false }] }], selectMultiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectMultiple", required: false }] }], optionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTemplate", required: false }] }], selectedOptionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedOptionTemplate", required: false }] }], placeholderTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholderTemplate", required: false }] }], freeTextOptionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "freeTextOptionTemplate", required: false }] }], isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }, { type: i0.Output, args: ["isOpenChange"] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }, { type: i0.Output, args: ["isLoadingChange"] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }, { type: i0.Output, args: ["optionsChange"] }], selectedOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedOptions", required: false }] }, { type: i0.Output, args: ["selectedOptionsChange"] }], cleared: [{ type: i0.Output, args: ["cleared"] }], onAddNewFreeTextOption: [{ type: i0.Output, args: ["onAddNewFreeTextOption"] }], inlineTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }], optionsWrapRef: [{ type: i0.ViewChild, args: ['optionsWrap', { isSignal: true }] }] } });
5697
5833
 
5698
5834
  function watchHostClass(className) {
5699
5835
  const elementRef = inject(ElementRef);
5700
5836
  const destroyRef = inject(DestroyRef);
5701
- const hasClass = signal(false, ...(ngDevMode ? [{ debugName: "hasClass" }] : []));
5837
+ const hasClass = signal(false, ...(ngDevMode ? [{ debugName: "hasClass" }] : /* istanbul ignore next */ []));
5702
5838
  const observer = typeof MutationObserver !== 'undefined' &&
5703
5839
  new MutationObserver((mutations) => {
5704
5840
  mutations.forEach((mutation) => {
@@ -5726,16 +5862,16 @@ class ShipSidenav {
5726
5862
  this.#selfRef = inject(ElementRef);
5727
5863
  this.openWidth = 280;
5728
5864
  this.openWidthTreshold = this.openWidth * 0.5;
5729
- this.disableDrag = input(false, ...(ngDevMode ? [{ debugName: "disableDrag" }] : []));
5730
- this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
5865
+ this.disableDrag = input(false, ...(ngDevMode ? [{ debugName: "disableDrag" }] : /* istanbul ignore next */ []));
5866
+ this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
5731
5867
  this.isOverlay = watchHostClass('overlay');
5732
5868
  this.#closestParent = this.#selfRef.nativeElement.parentElement;
5733
5869
  this.#closestParentRect = this.#closestParent.getBoundingClientRect && this.#closestParent.getBoundingClientRect();
5734
5870
  this.dragImageElement = viewChild.required('dragImageElement');
5735
- this.dragIsEnding = signal(false, ...(ngDevMode ? [{ debugName: "dragIsEnding" }] : []));
5736
- this.dragIsOnScreen = signal(true, ...(ngDevMode ? [{ debugName: "dragIsOnScreen" }] : []));
5737
- this.isDragging = signal(false, ...(ngDevMode ? [{ debugName: "isDragging" }] : []));
5738
- this.dragPositionX = signal(0, ...(ngDevMode ? [{ debugName: "dragPositionX" }] : []));
5871
+ this.dragIsEnding = signal(false, ...(ngDevMode ? [{ debugName: "dragIsEnding" }] : /* istanbul ignore next */ []));
5872
+ this.dragIsOnScreen = signal(true, ...(ngDevMode ? [{ debugName: "dragIsOnScreen" }] : /* istanbul ignore next */ []));
5873
+ this.isDragging = signal(false, ...(ngDevMode ? [{ debugName: "isDragging" }] : /* istanbul ignore next */ []));
5874
+ this.dragPositionX = signal(0, ...(ngDevMode ? [{ debugName: "dragPositionX" }] : /* istanbul ignore next */ []));
5739
5875
  this.dragActualPositionX = computed(() => {
5740
5876
  const dragPosition = this.dragPositionX();
5741
5877
  const openWidth = 280;
@@ -5757,7 +5893,7 @@ class ShipSidenav {
5757
5893
  return deadZoneStart - dampenedDistance;
5758
5894
  }
5759
5895
  return dragPosition;
5760
- }, ...(ngDevMode ? [{ debugName: "dragActualPositionX" }] : []));
5896
+ }, ...(ngDevMode ? [{ debugName: "dragActualPositionX" }] : /* istanbul ignore next */ []));
5761
5897
  this.draggingStyle = computed(() => {
5762
5898
  if (!this.isOverlay() || this.disableDrag())
5763
5899
  return null;
@@ -5765,7 +5901,7 @@ class ShipSidenav {
5765
5901
  return `translateX(${this.dragActualPositionX()}px)`;
5766
5902
  }
5767
5903
  return this.isOpen() ? `translateX(${this.openWidth}px)` : `translateX(0px)`;
5768
- }, ...(ngDevMode ? [{ debugName: "draggingStyle" }] : []));
5904
+ }, ...(ngDevMode ? [{ debugName: "draggingStyle" }] : /* istanbul ignore next */ []));
5769
5905
  this.draggingEffect = effect(() => {
5770
5906
  if (this.disableDrag())
5771
5907
  return;
@@ -5775,7 +5911,7 @@ class ShipSidenav {
5775
5911
  else {
5776
5912
  this.#document.body.classList.remove('dragging');
5777
5913
  }
5778
- }, ...(ngDevMode ? [{ debugName: "draggingEffect" }] : []));
5914
+ }, ...(ngDevMode ? [{ debugName: "draggingEffect" }] : /* istanbul ignore next */ []));
5779
5915
  }
5780
5916
  #document;
5781
5917
  #selfRef;
@@ -5841,8 +5977,8 @@ class ShipSidenav {
5841
5977
  e.stopPropagation();
5842
5978
  this.isDragging.set(false);
5843
5979
  }
5844
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipSidenav, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5845
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipSidenav, isStandalone: true, selector: "sh-sidenav", inputs: { disableDrag: { classPropertyName: "disableDrag", publicName: "disableDrag", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange" }, host: { properties: { "class.open": "isOpen()", "class.closed": "!isOpen()", "class.is-dragging": "isDragging()" } }, viewQueries: [{ propertyName: "dragImageElement", first: true, predicate: ["dragImageElement"], descendants: true, isSignal: true }], ngImport: i0, template: `
5980
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipSidenav, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5981
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipSidenav, isStandalone: true, selector: "sh-sidenav", inputs: { disableDrag: { classPropertyName: "disableDrag", publicName: "disableDrag", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange" }, host: { properties: { "class.open": "isOpen()", "class.closed": "!isOpen()", "class.is-dragging": "isDragging()" } }, viewQueries: [{ propertyName: "dragImageElement", first: true, predicate: ["dragImageElement"], descendants: true, isSignal: true }], ngImport: i0, template: `
5846
5982
  @if (isOverlay() && !disableDrag()) {
5847
5983
  <div #dragImageElement class="drag-image"></div>
5848
5984
  }
@@ -5879,7 +6015,7 @@ class ShipSidenav {
5879
6015
  </div>
5880
6016
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5881
6017
  }
5882
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipSidenav, decorators: [{
6018
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipSidenav, decorators: [{
5883
6019
  type: Component,
5884
6020
  args: [{
5885
6021
  selector: 'sh-sidenav',
@@ -5958,10 +6094,10 @@ class GridSortable {
5958
6094
  }
5959
6095
  });
5960
6096
  }
5961
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: GridSortable, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5962
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.5", type: GridSortable, isStandalone: true, selector: "[shGridSortable]", host: { listeners: { "dragstart": "onDragStart($event)", "dragover": "onDragOver($event)", "dragenter": "onDragEnter($event)" } }, ngImport: i0 }); }
6097
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridSortable, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6098
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: GridSortable, isStandalone: true, selector: "[shGridSortable]", host: { listeners: { "dragstart": "onDragStart($event)", "dragover": "onDragOver($event)", "dragenter": "onDragEnter($event)" } }, ngImport: i0 }); }
5963
6099
  }
5964
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: GridSortable, decorators: [{
6100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridSortable, decorators: [{
5965
6101
  type: Directive,
5966
6102
  args: [{
5967
6103
  standalone: true,
@@ -5983,12 +6119,12 @@ class ShipSortable {
5983
6119
  this.#document = inject(DOCUMENT);
5984
6120
  this.#selfEl = inject((ElementRef));
5985
6121
  this.#renderer = inject(Renderer2);
5986
- this.#placeholderEl = signal(null, ...(ngDevMode ? [{ debugName: "#placeholderEl" }] : []));
5987
- this.#ghostEl = signal(null, ...(ngDevMode ? [{ debugName: "#ghostEl" }] : []));
5988
- this.#parentGap = signal(0, ...(ngDevMode ? [{ debugName: "#parentGap" }] : []));
5989
- this.dragStartIndex = signal(-1, ...(ngDevMode ? [{ debugName: "dragStartIndex" }] : []));
5990
- this.dragToIndex = signal(-1, ...(ngDevMode ? [{ debugName: "dragToIndex" }] : []));
5991
- this.dragables = signal([], ...(ngDevMode ? [{ debugName: "dragables" }] : []));
6122
+ this.#placeholderEl = signal(null, ...(ngDevMode ? [{ debugName: "#placeholderEl" }] : /* istanbul ignore next */ []));
6123
+ this.#ghostEl = signal(null, ...(ngDevMode ? [{ debugName: "#ghostEl" }] : /* istanbul ignore next */ []));
6124
+ this.#parentGap = signal(0, ...(ngDevMode ? [{ debugName: "#parentGap" }] : /* istanbul ignore next */ []));
6125
+ this.dragStartIndex = signal(-1, ...(ngDevMode ? [{ debugName: "dragStartIndex" }] : /* istanbul ignore next */ []));
6126
+ this.dragToIndex = signal(-1, ...(ngDevMode ? [{ debugName: "dragToIndex" }] : /* istanbul ignore next */ []));
6127
+ this.dragables = signal([], ...(ngDevMode ? [{ debugName: "dragables" }] : /* istanbul ignore next */ []));
5992
6128
  this.afterDrop = output();
5993
6129
  this.abortController = null;
5994
6130
  this.isDropping = false;
@@ -6035,7 +6171,7 @@ class ShipSortable {
6035
6171
  }
6036
6172
  }
6037
6173
  }
6038
- }, ...(ngDevMode ? [{ debugName: "draggingEffect" }] : []));
6174
+ }, ...(ngDevMode ? [{ debugName: "draggingEffect" }] : /* istanbul ignore next */ []));
6039
6175
  this.draggablesEffect = effect(() => {
6040
6176
  const els = this.dragables();
6041
6177
  if (this.abortController) {
@@ -6046,7 +6182,7 @@ class ShipSortable {
6046
6182
  el.addEventListener('dragstart', (e) => this.dragStart(e), { signal: this.abortController.signal });
6047
6183
  el.addEventListener('dragend', () => this.dragEnd(), { signal: this.abortController.signal });
6048
6184
  }
6049
- }, ...(ngDevMode ? [{ debugName: "draggablesEffect" }] : []));
6185
+ }, ...(ngDevMode ? [{ debugName: "draggablesEffect" }] : /* istanbul ignore next */ []));
6050
6186
  this.#dragableObserver = typeof MutationObserver !== 'undefined' &&
6051
6187
  new MutationObserver((mutations) => {
6052
6188
  for (const mutation of mutations) {
@@ -6194,10 +6330,10 @@ class ShipSortable {
6194
6330
  this.#dragableObserver?.disconnect();
6195
6331
  this.abortController?.abort();
6196
6332
  }
6197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipSortable, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6198
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.5", type: ShipSortable, isStandalone: true, selector: "[shSortable]", outputs: { afterDrop: "afterDrop" }, host: { listeners: { "dragover": "dragOver($event)", "drop": "drop()" } }, ngImport: i0 }); }
6333
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipSortable, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6334
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: ShipSortable, isStandalone: true, selector: "[shSortable]", outputs: { afterDrop: "afterDrop" }, host: { listeners: { "dragover": "dragOver($event)", "drop": "drop()" } }, ngImport: i0 }); }
6199
6335
  }
6200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipSortable, decorators: [{
6336
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipSortable, decorators: [{
6201
6337
  type: Directive,
6202
6338
  args: [{
6203
6339
  selector: '[shSortable]',
@@ -6224,7 +6360,7 @@ function moveIndex(array, event) {
6224
6360
  class ShipStepper extends ShipSelectionGroup {
6225
6361
  constructor() {
6226
6362
  super('[value], [step], [routerLinkActive], button, a', 'active');
6227
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
6363
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
6228
6364
  this.hostClasses = shipComponentClasses('stepper', {
6229
6365
  color: this.color,
6230
6366
  });
@@ -6241,12 +6377,12 @@ class ShipStepper extends ShipSelectionGroup {
6241
6377
  });
6242
6378
  });
6243
6379
  }
6244
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipStepper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6245
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ShipStepper, isStandalone: true, selector: "sh-stepper", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, usesInheritance: true, ngImport: i0, template: `
6380
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipStepper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6381
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ShipStepper, isStandalone: true, selector: "sh-stepper", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, usesInheritance: true, ngImport: i0, template: `
6246
6382
  <ng-content />
6247
6383
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6248
6384
  }
6249
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipStepper, decorators: [{
6385
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipStepper, decorators: [{
6250
6386
  type: Component,
6251
6387
  args: [{
6252
6388
  selector: 'sh-stepper',
@@ -6266,9 +6402,9 @@ class ShipResize {
6266
6402
  this.#el = inject(ElementRef);
6267
6403
  this.#renderer = inject(Renderer2);
6268
6404
  this.#table = inject(ShipTable);
6269
- this.resizable = input(true, ...(ngDevMode ? [{ debugName: "resizable" }] : []));
6270
- this.minWidth = input(50, ...(ngDevMode ? [{ debugName: "minWidth" }] : []));
6271
- this.maxWidth = input(null, ...(ngDevMode ? [{ debugName: "maxWidth" }] : []));
6405
+ this.resizable = input(true, ...(ngDevMode ? [{ debugName: "resizable" }] : /* istanbul ignore next */ []));
6406
+ this.minWidth = input(50, ...(ngDevMode ? [{ debugName: "minWidth" }] : /* istanbul ignore next */ []));
6407
+ this.maxWidth = input(null, ...(ngDevMode ? [{ debugName: "maxWidth" }] : /* istanbul ignore next */ []));
6272
6408
  this.#resizing = false;
6273
6409
  this.#animationFrameRequest = null; // Store request ID
6274
6410
  }
@@ -6340,10 +6476,10 @@ class ShipResize {
6340
6476
  cancelAnimationFrame(this.#animationFrameRequest);
6341
6477
  }
6342
6478
  }
6343
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipResize, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6344
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: ShipResize, isStandalone: true, selector: "[shResize]", inputs: { resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)", "document:click": "onClick($event)" } }, ngImport: i0 }); }
6479
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipResize, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6480
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.5", type: ShipResize, isStandalone: true, selector: "[shResize]", inputs: { resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)", "document:click": "onClick($event)" } }, ngImport: i0 }); }
6345
6481
  }
6346
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipResize, decorators: [{
6482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipResize, decorators: [{
6347
6483
  type: Directive,
6348
6484
  args: [{
6349
6485
  selector: '[shResize]',
@@ -6362,21 +6498,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
6362
6498
  class ShipSort {
6363
6499
  constructor() {
6364
6500
  this.#table = inject(ShipTable);
6365
- this.shSort = input(...(ngDevMode ? [undefined, { debugName: "shSort" }] : []));
6501
+ this.shSort = input(...(ngDevMode ? [undefined, { debugName: "shSort" }] : /* istanbul ignore next */ []));
6366
6502
  this.sortAsc = computed(() => {
6367
6503
  const currentSort = this.#table.sortByColumn();
6368
6504
  const thisColumn = this.shSort();
6369
6505
  if (!currentSort || !thisColumn)
6370
6506
  return false;
6371
6507
  return currentSort === thisColumn;
6372
- }, ...(ngDevMode ? [{ debugName: "sortAsc" }] : []));
6508
+ }, ...(ngDevMode ? [{ debugName: "sortAsc" }] : /* istanbul ignore next */ []));
6373
6509
  this.sortDesc = computed(() => {
6374
6510
  const currentSort = this.#table.sortByColumn();
6375
6511
  const thisColumn = this.shSort();
6376
6512
  if (!currentSort || !thisColumn)
6377
6513
  return false;
6378
6514
  return currentSort === `-${thisColumn}`;
6379
- }, ...(ngDevMode ? [{ debugName: "sortDesc" }] : []));
6515
+ }, ...(ngDevMode ? [{ debugName: "sortDesc" }] : /* istanbul ignore next */ []));
6380
6516
  }
6381
6517
  #table;
6382
6518
  toggleSort() {
@@ -6385,10 +6521,10 @@ class ShipSort {
6385
6521
  return;
6386
6522
  this.#table.toggleSort(sortCol);
6387
6523
  }
6388
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipSort, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6389
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: ShipSort, isStandalone: true, selector: "[shSort]", inputs: { shSort: { classPropertyName: "shSort", publicName: "shSort", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mousedown": "toggleSort()" }, properties: { "class.sort-asc": "sortAsc()", "class.sort-desc": "sortDesc()" }, classAttribute: "sortable" }, ngImport: i0 }); }
6524
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipSort, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6525
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.5", type: ShipSort, isStandalone: true, selector: "[shSort]", inputs: { shSort: { classPropertyName: "shSort", publicName: "shSort", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mousedown": "toggleSort()" }, properties: { "class.sort-asc": "sortAsc()", "class.sort-desc": "sortDesc()" }, classAttribute: "sortable" }, ngImport: i0 }); }
6390
6526
  }
6391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipSort, decorators: [{
6527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipSort, decorators: [{
6392
6528
  type: Directive,
6393
6529
  args: [{
6394
6530
  selector: '[shSort]',
@@ -6405,7 +6541,7 @@ class ShipStickyColumns {
6405
6541
  constructor() {
6406
6542
  this.#elementRef = inject(ElementRef);
6407
6543
  this.#renderer = inject(Renderer2);
6408
- this.shStickyColumns = input('start', ...(ngDevMode ? [{ debugName: "shStickyColumns" }] : []));
6544
+ this.shStickyColumns = input('start', ...(ngDevMode ? [{ debugName: "shStickyColumns" }] : /* istanbul ignore next */ []));
6409
6545
  }
6410
6546
  #elementRef;
6411
6547
  #renderer;
@@ -6421,10 +6557,10 @@ class ShipStickyColumns {
6421
6557
  this.#renderer.setStyle(nativeElement, 'grid-column', position === 'end' ? `-${columnSpanCount + 1} / -1` : `1 / ${columnSpanCount + 1}`);
6422
6558
  }
6423
6559
  }
6424
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipStickyColumns, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6425
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: ShipStickyColumns, isStandalone: true, selector: "[shStickyColumns]", inputs: { shStickyColumns: { classPropertyName: "shStickyColumns", publicName: "shStickyColumns", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.sticky": "shStickyColumns() === \"start\"", "class.sticky-end": "shStickyColumns() === \"end\"" } }, ngImport: i0 }); }
6560
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipStickyColumns, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6561
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.5", type: ShipStickyColumns, isStandalone: true, selector: "[shStickyColumns]", inputs: { shStickyColumns: { classPropertyName: "shStickyColumns", publicName: "shStickyColumns", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.sticky": "shStickyColumns() === \"start\"", "class.sticky-end": "shStickyColumns() === \"end\"" } }, ngImport: i0 }); }
6426
6562
  }
6427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipStickyColumns, decorators: [{
6563
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipStickyColumns, decorators: [{
6428
6564
  type: Directive,
6429
6565
  args: [{
6430
6566
  selector: '[shStickyColumns]',
@@ -6438,24 +6574,24 @@ const SCROLL_TOLERANCE = 1.5;
6438
6574
  class ShipTable {
6439
6575
  constructor() {
6440
6576
  this.#el = inject(ElementRef);
6441
- this.loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
6442
- this.data = input([], ...(ngDevMode ? [{ debugName: "data" }] : []));
6577
+ this.loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
6578
+ this.data = input([], ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
6443
6579
  this.dataChange = output();
6444
- this.sortByColumn = model(null, ...(ngDevMode ? [{ debugName: "sortByColumn" }] : []));
6445
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
6446
- this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : []));
6580
+ this.sortByColumn = model(null, ...(ngDevMode ? [{ debugName: "sortByColumn" }] : /* istanbul ignore next */ []));
6581
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
6582
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
6447
6583
  this.hostClasses = shipComponentClasses('table', {
6448
6584
  color: this.color,
6449
6585
  variant: this.variant,
6450
6586
  });
6451
- this.thead = viewChild('thead', ...(ngDevMode ? [{ debugName: "thead" }] : []));
6452
- this.tbody = viewChild('tbody', ...(ngDevMode ? [{ debugName: "tbody" }] : []));
6587
+ this.thead = viewChild('thead', ...(ngDevMode ? [{ debugName: "thead" }] : /* istanbul ignore next */ []));
6588
+ this.tbody = viewChild('tbody', ...(ngDevMode ? [{ debugName: "tbody" }] : /* istanbul ignore next */ []));
6453
6589
  this.columns = observeChildren(this.thead, ['tr:first-child th']);
6454
6590
  this.stickyHeaderHeight = computed(() => {
6455
6591
  const _ = this.hostClasses();
6456
6592
  const height = this.thead()?.nativeElement?.clientHeight;
6457
6593
  return height ?? 0;
6458
- }, ...(ngDevMode ? [{ debugName: "stickyHeaderHeight" }] : []));
6594
+ }, ...(ngDevMode ? [{ debugName: "stickyHeaderHeight" }] : /* istanbul ignore next */ []));
6459
6595
  this.bodyEffect = effect(() => {
6460
6596
  const body = this.tbody()?.nativeElement;
6461
6597
  const head = this.thead()?.nativeElement;
@@ -6472,15 +6608,15 @@ class ShipTable {
6472
6608
  }
6473
6609
  }
6474
6610
  });
6475
- }, ...(ngDevMode ? [{ debugName: "bodyEffect" }] : []));
6476
- this.resizing = signal(false, ...(ngDevMode ? [{ debugName: "resizing" }] : []));
6477
- this.sizeTrigger = signal(true, ...(ngDevMode ? [{ debugName: "sizeTrigger" }] : []));
6611
+ }, ...(ngDevMode ? [{ debugName: "bodyEffect" }] : /* istanbul ignore next */ []));
6612
+ this.resizing = signal(false, ...(ngDevMode ? [{ debugName: "resizing" }] : /* istanbul ignore next */ []));
6613
+ this.sizeTrigger = signal(true, ...(ngDevMode ? [{ debugName: "sizeTrigger" }] : /* istanbul ignore next */ []));
6478
6614
  this.#initialData = null;
6479
- this.#initialDataSet = signal(false, ...(ngDevMode ? [{ debugName: "#initialDataSet" }] : []));
6480
- this.scrollXState = signal(-1, ...(ngDevMode ? [{ debugName: "scrollXState" }] : []));
6481
- this.scrollYState = signal(-1, ...(ngDevMode ? [{ debugName: "scrollYState" }] : []));
6482
- this.canScrollX = signal(false, ...(ngDevMode ? [{ debugName: "canScrollX" }] : []));
6483
- this.canScrollY = signal(false, ...(ngDevMode ? [{ debugName: "canScrollY" }] : []));
6615
+ this.#initialDataSet = signal(false, ...(ngDevMode ? [{ debugName: "#initialDataSet" }] : /* istanbul ignore next */ []));
6616
+ this.scrollXState = signal(-1, ...(ngDevMode ? [{ debugName: "scrollXState" }] : /* istanbul ignore next */ []));
6617
+ this.scrollYState = signal(-1, ...(ngDevMode ? [{ debugName: "scrollYState" }] : /* istanbul ignore next */ []));
6618
+ this.canScrollX = signal(false, ...(ngDevMode ? [{ debugName: "canScrollX" }] : /* istanbul ignore next */ []));
6619
+ this.canScrollY = signal(false, ...(ngDevMode ? [{ debugName: "canScrollY" }] : /* istanbul ignore next */ []));
6484
6620
  this.columnSizes = computed(() => {
6485
6621
  this.sizeTrigger();
6486
6622
  const colSignal = this.columns.signal();
@@ -6499,7 +6635,7 @@ class ShipTable {
6499
6635
  }
6500
6636
  return `${acc} 1fr`;
6501
6637
  }, '');
6502
- }, ...(ngDevMode ? [{ debugName: "columnSizes" }] : []));
6638
+ }, ...(ngDevMode ? [{ debugName: "columnSizes" }] : /* istanbul ignore next */ []));
6503
6639
  this.e = effect(() => {
6504
6640
  const sortByColumn = this.sortByColumn();
6505
6641
  if (sortByColumn === null) {
@@ -6527,7 +6663,7 @@ class ShipTable {
6527
6663
  return isDescending ? -comparison : comparison;
6528
6664
  });
6529
6665
  this.dataChange.emit(sortedData);
6530
- }, ...(ngDevMode ? [{ debugName: "e" }] : []));
6666
+ }, ...(ngDevMode ? [{ debugName: "e" }] : /* istanbul ignore next */ []));
6531
6667
  }
6532
6668
  #el;
6533
6669
  #initialData;
@@ -6580,8 +6716,8 @@ class ShipTable {
6580
6716
  this.scrollYState.set(nextYState);
6581
6717
  this.canScrollY.set(canScrollY);
6582
6718
  }
6583
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipTable, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6584
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipTable, isStandalone: true, selector: "sh-table", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, sortByColumn: { classPropertyName: "sortByColumn", publicName: "sortByColumn", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dataChange: "dataChange", sortByColumn: "sortByColumnChange" }, host: { listeners: { "scroll": "onScroll()", "window:resize": "onResize($event)" }, properties: { "class": "hostClasses()", "style.grid-template-columns": "columnSizes()", "class.resizing": "resizing()", "class.can-scroll-x": "canScrollX()", "class.can-scroll-y": "canScrollY()", "class.scrolled-x": "scrollXState() >= 0", "class.scrolled-x-end": "scrollXState() === 1", "class.scrolled-y": "scrollYState() >= 0", "class.scrolled-y-end": "scrollYState() === 1" } }, viewQueries: [{ propertyName: "thead", first: true, predicate: ["thead"], descendants: true, isSignal: true }, { propertyName: "tbody", first: true, predicate: ["tbody"], descendants: true, isSignal: true }], ngImport: i0, template: `
6719
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipTable, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6720
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipTable, isStandalone: true, selector: "sh-table", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, sortByColumn: { classPropertyName: "sortByColumn", publicName: "sortByColumn", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dataChange: "dataChange", sortByColumn: "sortByColumnChange" }, host: { listeners: { "scroll": "onScroll()", "window:resize": "onResize($event)" }, properties: { "class": "hostClasses()", "style.grid-template-columns": "columnSizes()", "class.resizing": "resizing()", "class.can-scroll-x": "canScrollX()", "class.can-scroll-y": "canScrollY()", "class.scrolled-x": "scrollXState() >= 0", "class.scrolled-x-end": "scrollXState() === 1", "class.scrolled-y": "scrollYState() >= 0", "class.scrolled-y-end": "scrollYState() === 1" } }, viewQueries: [{ propertyName: "thead", first: true, predicate: ["thead"], descendants: true, isSignal: true }, { propertyName: "tbody", first: true, predicate: ["tbody"], descendants: true, isSignal: true }], ngImport: i0, template: `
6585
6721
  <div class="actionbar">
6586
6722
  <ng-content select="[actionbar]" />
6587
6723
  </div>
@@ -6606,7 +6742,7 @@ class ShipTable {
6606
6742
  }
6607
6743
  `, isInline: true, dependencies: [{ kind: "component", type: ShipProgressBar, selector: "sh-progress-bar", inputs: ["value", "color", "variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6608
6744
  }
6609
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipTable, decorators: [{
6745
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipTable, decorators: [{
6610
6746
  type: Component,
6611
6747
  args: [{
6612
6748
  selector: 'sh-table',
@@ -6658,19 +6794,19 @@ class ShipTabs extends ShipSelectionGroup {
6658
6794
  constructor() {
6659
6795
  super('[value], [tab], button, a', 'active');
6660
6796
  this.id = '--' + Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 12);
6661
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
6662
- this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : []));
6797
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
6798
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
6663
6799
  this.hostClasses = shipComponentClasses('tabs', {
6664
6800
  color: this.color,
6665
6801
  variant: this.variant,
6666
6802
  });
6667
6803
  }
6668
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipTabs, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6669
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ShipTabs, isStandalone: true, selector: "sh-tabs", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()", "style.--tabs-id": "id" } }, usesInheritance: true, ngImport: i0, template: `
6804
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipTabs, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6805
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ShipTabs, isStandalone: true, selector: "sh-tabs", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()", "style.--tabs-id": "id" } }, usesInheritance: true, ngImport: i0, template: `
6670
6806
  <ng-content />
6671
6807
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6672
6808
  }
6673
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipTabs, decorators: [{
6809
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipTabs, decorators: [{
6674
6810
  type: Component,
6675
6811
  args: [{
6676
6812
  selector: 'sh-tabs',
@@ -6697,7 +6833,7 @@ class ShipThemeState {
6697
6833
  this.#window = inject(WINDOW);
6698
6834
  this.#platformId = inject(PLATFORM_ID);
6699
6835
  this.#storedDarkMode = this.localStorage()?.getItem('shipTheme');
6700
- this.#theme = signal(this.#storedDarkMode, ...(ngDevMode ? [{ debugName: "#theme" }] : []));
6836
+ this.#theme = signal(this.#storedDarkMode, ...(ngDevMode ? [{ debugName: "#theme" }] : /* istanbul ignore next */ []));
6701
6837
  this.theme = this.#theme.asReadonly();
6702
6838
  this.darkModeEffect = effect(() => {
6703
6839
  const theme = this.#theme();
@@ -6714,7 +6850,7 @@ class ShipThemeState {
6714
6850
  this.#document.documentElement.classList.add('light');
6715
6851
  this.#document.documentElement.classList.remove('dark');
6716
6852
  }
6717
- }, ...(ngDevMode ? [{ debugName: "darkModeEffect" }] : []));
6853
+ }, ...(ngDevMode ? [{ debugName: "darkModeEffect" }] : /* istanbul ignore next */ []));
6718
6854
  }
6719
6855
  #document;
6720
6856
  #window;
@@ -6739,10 +6875,10 @@ class ShipThemeState {
6739
6875
  this.localStorage()?.setItem('shipTheme', theme);
6740
6876
  this.#theme.set(theme);
6741
6877
  }
6742
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipThemeState, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6743
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipThemeState, providedIn: 'root' }); }
6878
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipThemeState, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6879
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipThemeState, providedIn: 'root' }); }
6744
6880
  }
6745
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipThemeState, decorators: [{
6881
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipThemeState, decorators: [{
6746
6882
  type: Injectable,
6747
6883
  args: [{
6748
6884
  providedIn: 'root',
@@ -6761,8 +6897,8 @@ class ShipThemeToggle {
6761
6897
  setTheme(theme) {
6762
6898
  this.#themeState.setTheme(theme);
6763
6899
  }
6764
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipThemeToggle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6765
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipThemeToggle, isStandalone: true, selector: "ship-theme-toggle", ngImport: i0, template: `
6900
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipThemeToggle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6901
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipThemeToggle, isStandalone: true, selector: "ship-theme-toggle", ngImport: i0, template: `
6766
6902
  <button shButton size="small" (click)="toggleTheme()">
6767
6903
  @if (theme() === 'dark') {
6768
6904
  <sh-icon>moon-bold</sh-icon>
@@ -6773,9 +6909,9 @@ class ShipThemeToggle {
6773
6909
  <sh-icon class="small-icon">moon-bold</sh-icon>
6774
6910
  }
6775
6911
  </button>
6776
- `, isInline: true, dependencies: [{ kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "variant", "size"] }, { kind: "component", type: ShipButton, selector: "[shButton]", inputs: ["color", "variant", "size", "readonly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6912
+ `, isInline: true, dependencies: [{ kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "size"] }, { kind: "component", type: ShipButton, selector: "[shButton]", inputs: ["color", "variant", "size", "readonly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6777
6913
  }
6778
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipThemeToggle, decorators: [{
6914
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipThemeToggle, decorators: [{
6779
6915
  type: Component,
6780
6916
  args: [{
6781
6917
  selector: 'ship-theme-toggle',
@@ -6798,15 +6934,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
6798
6934
 
6799
6935
  class ShipToggleCard {
6800
6936
  constructor() {
6801
- this.disableToggle = input(false, ...(ngDevMode ? [{ debugName: "disableToggle" }] : []));
6802
- this.isActive = model(...(ngDevMode ? [undefined, { debugName: "isActive" }] : []));
6937
+ this.disableToggle = input(false, ...(ngDevMode ? [{ debugName: "disableToggle" }] : /* istanbul ignore next */ []));
6938
+ this.isActive = model(...(ngDevMode ? [undefined, { debugName: "isActive" }] : /* istanbul ignore next */ []));
6803
6939
  this.#disabledEffect = effect(() => {
6804
6940
  if (this.disableToggle()) {
6805
6941
  this.isActive.set(true);
6806
6942
  }
6807
- }, ...(ngDevMode ? [{ debugName: "#disabledEffect" }] : []));
6808
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
6809
- this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : []));
6943
+ }, ...(ngDevMode ? [{ debugName: "#disabledEffect" }] : /* istanbul ignore next */ []));
6944
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
6945
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
6810
6946
  this.hostClasses = shipComponentClasses('card', {
6811
6947
  color: this.color,
6812
6948
  variant: this.variant,
@@ -6816,8 +6952,8 @@ class ShipToggleCard {
6816
6952
  toggle() {
6817
6953
  this.isActive.set(!this.isActive());
6818
6954
  }
6819
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipToggleCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6820
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipToggleCard, isStandalone: true, selector: "sh-toggle-card", inputs: { disableToggle: { classPropertyName: "disableToggle", publicName: "disableToggle", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isActive: "isActiveChange" }, host: { properties: { "class.active": "isActive()", "class": "hostClasses()" } }, ngImport: i0, template: `
6955
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipToggleCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6956
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipToggleCard, isStandalone: true, selector: "sh-toggle-card", inputs: { disableToggle: { classPropertyName: "disableToggle", publicName: "disableToggle", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isActive: "isActiveChange" }, host: { properties: { "class.active": "isActive()", "class": "hostClasses()" } }, ngImport: i0, template: `
6821
6957
  <h3 (click)="!disableToggle() && toggle()">
6822
6958
  <ng-content select="[title]">Title</ng-content>
6823
6959
 
@@ -6831,9 +6967,9 @@ class ShipToggleCard {
6831
6967
  <ng-content />
6832
6968
  </div>
6833
6969
  </div>
6834
- `, isInline: true, dependencies: [{ kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "variant", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6970
+ `, isInline: true, dependencies: [{ kind: "component", type: ShipIcon, selector: "sh-icon", inputs: ["color", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6835
6971
  }
6836
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipToggleCard, decorators: [{
6972
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipToggleCard, decorators: [{
6837
6973
  type: Component,
6838
6974
  args: [{
6839
6975
  selector: 'sh-toggle-card',
@@ -6864,17 +7000,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
6864
7000
  class ShipToggle {
6865
7001
  constructor() {
6866
7002
  this._elementRef = inject(ElementRef);
6867
- this.internalInput = viewChild('internalInput', ...(ngDevMode ? [{ debugName: "internalInput" }] : []));
7003
+ this.internalInput = viewChild('internalInput', ...(ngDevMode ? [{ debugName: "internalInput" }] : /* istanbul ignore next */ []));
6868
7004
  this.projectedInputs = contentProjectionSignal('input:not(.internal-input)', {
6869
7005
  childList: true,
6870
7006
  attributes: true,
6871
7007
  });
6872
- this.checked = model(false, ...(ngDevMode ? [{ debugName: "checked" }] : []));
6873
- this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : []));
6874
- this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : []));
6875
- this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
6876
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
6877
- this.noInternalInput = input(false, ...(ngDevMode ? [{ debugName: "noInternalInput" }] : []));
7008
+ this.checked = model(false, ...(ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []));
7009
+ this.color = input(null, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
7010
+ this.variant = input(null, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
7011
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
7012
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
7013
+ this.noInternalInput = input(false, ...(ngDevMode ? [{ debugName: "noInternalInput" }] : /* istanbul ignore next */ []));
6878
7014
  this.hostClasses = shipComponentClasses('toggle', {
6879
7015
  color: this.color,
6880
7016
  variant: this.variant,
@@ -6897,8 +7033,8 @@ class ShipToggle {
6897
7033
  }
6898
7034
  event.preventDefault();
6899
7035
  }
6900
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipToggle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6901
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipToggle, isStandalone: true, selector: "sh-toggle", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, noInternalInput: { classPropertyName: "noInternalInput", publicName: "noInternalInput", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange" }, host: { listeners: { "keydown.enter": "onEnter($event)" }, properties: { "class": "hostClasses()", "attr.disabled": "disabled() ? \"\" : null" } }, viewQueries: [{ propertyName: "internalInput", first: true, predicate: ["internalInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
7036
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipToggle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7037
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipToggle, isStandalone: true, selector: "sh-toggle", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, noInternalInput: { classPropertyName: "noInternalInput", publicName: "noInternalInput", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange" }, host: { listeners: { "keydown.enter": "onEnter($event)" }, properties: { "class": "hostClasses()", "attr.disabled": "disabled() ? \"\" : null" } }, viewQueries: [{ propertyName: "internalInput", first: true, predicate: ["internalInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
6902
7038
  <div class="box">
6903
7039
  <div class="knob"></div>
6904
7040
  </div>
@@ -6916,7 +7052,7 @@ class ShipToggle {
6916
7052
  }
6917
7053
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6918
7054
  }
6919
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipToggle, decorators: [{
7055
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipToggle, decorators: [{
6920
7056
  type: Component,
6921
7057
  args: [{
6922
7058
  selector: 'sh-toggle',
@@ -6955,14 +7091,14 @@ class ShipVirtualScroll {
6955
7091
  this.#renderer = inject(Renderer2);
6956
7092
  this.#hostElement = inject(ElementRef);
6957
7093
  this.viewportRef = viewChild.required('viewport');
6958
- this.itemElements = viewChildren('item', ...(ngDevMode ? [{ debugName: "itemElements" }] : []));
6959
- this.bufferSize = signal(10, ...(ngDevMode ? [{ debugName: "bufferSize" }] : []));
6960
- this.itemHeights = signal([], ...(ngDevMode ? [{ debugName: "itemHeights" }] : []));
6961
- this.startIndex = signal(0, ...(ngDevMode ? [{ debugName: "startIndex" }] : []));
6962
- this.endIndex = signal(0, ...(ngDevMode ? [{ debugName: "endIndex" }] : []));
6963
- this.translateY = signal(0, ...(ngDevMode ? [{ debugName: "translateY" }] : []));
6964
- this.totalHeight = computed(() => this.itemHeights().reduce((sum, height) => sum + height, 0), ...(ngDevMode ? [{ debugName: "totalHeight" }] : []));
6965
- this.numberOfRenderedItems = signal(0, ...(ngDevMode ? [{ debugName: "numberOfRenderedItems" }] : []));
7094
+ this.itemElements = viewChildren('item', ...(ngDevMode ? [{ debugName: "itemElements" }] : /* istanbul ignore next */ []));
7095
+ this.bufferSize = signal(10, ...(ngDevMode ? [{ debugName: "bufferSize" }] : /* istanbul ignore next */ []));
7096
+ this.itemHeights = signal([], ...(ngDevMode ? [{ debugName: "itemHeights" }] : /* istanbul ignore next */ []));
7097
+ this.startIndex = signal(0, ...(ngDevMode ? [{ debugName: "startIndex" }] : /* istanbul ignore next */ []));
7098
+ this.endIndex = signal(0, ...(ngDevMode ? [{ debugName: "endIndex" }] : /* istanbul ignore next */ []));
7099
+ this.translateY = signal(0, ...(ngDevMode ? [{ debugName: "translateY" }] : /* istanbul ignore next */ []));
7100
+ this.totalHeight = computed(() => this.itemHeights().reduce((sum, height) => sum + height, 0), ...(ngDevMode ? [{ debugName: "totalHeight" }] : /* istanbul ignore next */ []));
7101
+ this.numberOfRenderedItems = signal(0, ...(ngDevMode ? [{ debugName: "numberOfRenderedItems" }] : /* istanbul ignore next */ []));
6966
7102
  this.#resizeObserver = null;
6967
7103
  this.#hostResizeObserver = null;
6968
7104
  this.#itemHeightsEffect = effect(() => {
@@ -6976,11 +7112,11 @@ class ShipVirtualScroll {
6976
7112
  }
6977
7113
  this.translateY.set(newTranslateY);
6978
7114
  }
6979
- }, ...(ngDevMode ? [{ debugName: "#itemHeightsEffect" }] : []));
7115
+ }, ...(ngDevMode ? [{ debugName: "#itemHeightsEffect" }] : /* istanbul ignore next */ []));
6980
7116
  this.#totalHeightEffect = effect(() => {
6981
7117
  const _ = this.totalHeight();
6982
7118
  this.#changeRef.detectChanges();
6983
- }, ...(ngDevMode ? [{ debugName: "#totalHeightEffect" }] : []));
7119
+ }, ...(ngDevMode ? [{ debugName: "#totalHeightEffect" }] : /* istanbul ignore next */ []));
6984
7120
  this.#itemElementsEffect = effect(() => {
6985
7121
  const itemElements = this.itemElements();
6986
7122
  if (this.#resizeObserver && itemElements) {
@@ -6995,7 +7131,7 @@ class ShipVirtualScroll {
6995
7131
  this.itemHeights.set(heights);
6996
7132
  this.#calculateVisibleItems();
6997
7133
  }
6998
- }, ...(ngDevMode ? [{ debugName: "#itemElementsEffect" }] : []));
7134
+ }, ...(ngDevMode ? [{ debugName: "#itemElementsEffect" }] : /* istanbul ignore next */ []));
6999
7135
  }
7000
7136
  #changeRef;
7001
7137
  #renderer;
@@ -7089,8 +7225,8 @@ class ShipVirtualScroll {
7089
7225
  this.#cleanupResizeObserver();
7090
7226
  this.#cleanupHostResizeObserver();
7091
7227
  }
7092
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipVirtualScroll, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7093
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.5", type: ShipVirtualScroll, isStandalone: true, selector: "sh-virtual-scroll", viewQueries: [{ propertyName: "viewportRef", first: true, predicate: ["viewport"], descendants: true, isSignal: true }, { propertyName: "itemElements", predicate: ["item"], descendants: true, isSignal: true }], ngImport: i0, template: `
7228
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipVirtualScroll, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7229
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.5", type: ShipVirtualScroll, isStandalone: true, selector: "sh-virtual-scroll", viewQueries: [{ propertyName: "viewportRef", first: true, predicate: ["viewport"], descendants: true, isSignal: true }, { propertyName: "itemElements", predicate: ["item"], descendants: true, isSignal: true }], ngImport: i0, template: `
7094
7230
  <div class="viewport" #viewport (scroll)="onScroll()">
7095
7231
  <div class="total-height" [style.height]="totalHeight() + 'px'"></div>
7096
7232
  <div class="items-container" [style.transform]="'translateY(' + translateY() + 'px)'">
@@ -7099,7 +7235,7 @@ class ShipVirtualScroll {
7099
7235
  </div>
7100
7236
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7101
7237
  }
7102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipVirtualScroll, decorators: [{
7238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipVirtualScroll, decorators: [{
7103
7239
  type: Component,
7104
7240
  args: [{
7105
7241
  selector: 'sh-virtual-scroll',
@@ -7121,19 +7257,19 @@ class ShipFormFieldExperimental {
7121
7257
  this.firstInput = createFormInputSignal();
7122
7258
  this.hello = effect(() => {
7123
7259
  console.log('hello', this.firstInput());
7124
- }, ...(ngDevMode ? [{ debugName: "hello" }] : []));
7260
+ }, ...(ngDevMode ? [{ debugName: "hello" }] : /* istanbul ignore next */ []));
7125
7261
  }
7126
7262
  myClick() {
7127
7263
  this.firstInput.update((x) => x + 'hello');
7128
7264
  }
7129
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipFormFieldExperimental, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7130
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.5", type: ShipFormFieldExperimental, isStandalone: true, selector: "sh-form-field-experimental", ngImport: i0, template: `
7265
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipFormFieldExperimental, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7266
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: ShipFormFieldExperimental, isStandalone: true, selector: "sh-form-field-experimental", ngImport: i0, template: `
7131
7267
  <ng-content></ng-content>
7132
7268
 
7133
7269
  <button (click)="myClick()">hello</button>
7134
7270
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7135
7271
  }
7136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipFormFieldExperimental, decorators: [{
7272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipFormFieldExperimental, decorators: [{
7137
7273
  type: Component,
7138
7274
  args: [{
7139
7275
  selector: 'sh-form-field-experimental',
@@ -7149,7 +7285,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
7149
7285
 
7150
7286
  class ShipFileDragDrop {
7151
7287
  constructor() {
7152
- this.filesOver = signal(false, ...(ngDevMode ? [{ debugName: "filesOver" }] : []));
7288
+ this.filesOver = signal(false, ...(ngDevMode ? [{ debugName: "filesOver" }] : /* istanbul ignore next */ []));
7153
7289
  this.filesDropped = output();
7154
7290
  }
7155
7291
  onDragOver(e) {
@@ -7171,10 +7307,10 @@ class ShipFileDragDrop {
7171
7307
  this.filesDropped.emit(files);
7172
7308
  }
7173
7309
  }
7174
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipFileDragDrop, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7175
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.5", type: ShipFileDragDrop, isStandalone: true, selector: "[shDragDrop]", outputs: { filesDropped: "filesDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "ondrop($event)" }, properties: { "class.filesover": "filesOver()" } }, ngImport: i0 }); }
7310
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipFileDragDrop, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7311
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: ShipFileDragDrop, isStandalone: true, selector: "[shDragDrop]", outputs: { filesDropped: "filesDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "ondrop($event)" }, properties: { "class.filesover": "filesOver()" } }, ngImport: i0 }); }
7176
7312
  }
7177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipFileDragDrop, decorators: [{
7313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipFileDragDrop, decorators: [{
7178
7314
  type: Directive,
7179
7315
  args: [{
7180
7316
  selector: '[shDragDrop]',
@@ -7198,7 +7334,7 @@ class ShipInputMask {
7198
7334
  constructor() {
7199
7335
  this.#selfRef = inject(ElementRef);
7200
7336
  this.#renderer = inject(Renderer2);
7201
- this.shInputMask = input('(999) 999-9999', ...(ngDevMode ? [{ debugName: "shInputMask" }] : []));
7337
+ this.shInputMask = input('(999) 999-9999', ...(ngDevMode ? [{ debugName: "shInputMask" }] : /* istanbul ignore next */ []));
7202
7338
  }
7203
7339
  #selfRef;
7204
7340
  #renderer;
@@ -7256,10 +7392,10 @@ class ShipInputMask {
7256
7392
  }
7257
7393
  return masked;
7258
7394
  }
7259
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipInputMask, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7260
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: ShipInputMask, isStandalone: true, selector: "[shInputMask]", inputs: { shInputMask: { classPropertyName: "shInputMask", publicName: "shInputMask", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "onInput($event)" } }, ngImport: i0 }); }
7395
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipInputMask, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7396
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.5", type: ShipInputMask, isStandalone: true, selector: "[shInputMask]", inputs: { shInputMask: { classPropertyName: "shInputMask", publicName: "shInputMask", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "onInput($event)" } }, ngImport: i0 }); }
7261
7397
  }
7262
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipInputMask, decorators: [{
7398
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipInputMask, decorators: [{
7263
7399
  type: Directive,
7264
7400
  args: [{
7265
7401
  selector: '[shInputMask]',
@@ -7274,10 +7410,10 @@ class ShipPreventWheel {
7274
7410
  wheel(event) {
7275
7411
  event.preventDefault();
7276
7412
  }
7277
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipPreventWheel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7278
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.5", type: ShipPreventWheel, isStandalone: true, selector: "[shPreventWheel]", host: { listeners: { "wheel": "wheel($event)" } }, ngImport: i0 }); }
7413
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipPreventWheel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7414
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: ShipPreventWheel, isStandalone: true, selector: "[shPreventWheel]", host: { listeners: { "wheel": "wheel($event)" } }, ngImport: i0 }); }
7279
7415
  }
7280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipPreventWheel, decorators: [{
7416
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipPreventWheel, decorators: [{
7281
7417
  type: Directive,
7282
7418
  args: [{
7283
7419
  selector: '[shPreventWheel]',
@@ -7290,21 +7426,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
7290
7426
 
7291
7427
  class ShipTooltipWrapper {
7292
7428
  constructor() {
7293
- this.positionAnchorName = input.required(...(ngDevMode ? [{ debugName: "positionAnchorName" }] : []));
7294
- this.anchorEl = input.required(...(ngDevMode ? [{ debugName: "anchorEl" }] : []));
7295
- this.isOpen = input(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
7296
- this.content = input(...(ngDevMode ? [undefined, { debugName: "content" }] : []));
7297
- this.close = input(() => { }, ...(ngDevMode ? [{ debugName: "close" }] : []));
7429
+ this.positionAnchorName = input.required(...(ngDevMode ? [{ debugName: "positionAnchorName" }] : /* istanbul ignore next */ []));
7430
+ this.anchorEl = input.required(...(ngDevMode ? [{ debugName: "anchorEl" }] : /* istanbul ignore next */ []));
7431
+ this.isOpen = input(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
7432
+ this.content = input(...(ngDevMode ? [undefined, { debugName: "content" }] : /* istanbul ignore next */ []));
7433
+ this.close = input(() => { }, ...(ngDevMode ? [{ debugName: "close" }] : /* istanbul ignore next */ []));
7298
7434
  this.tooltipContext = {
7299
7435
  close: () => this.close()(),
7300
7436
  };
7301
- this.isTemplate = computed(() => this.content() instanceof TemplateRef, ...(ngDevMode ? [{ debugName: "isTemplate" }] : []));
7437
+ this.isTemplate = computed(() => this.content() instanceof TemplateRef, ...(ngDevMode ? [{ debugName: "isTemplate" }] : /* istanbul ignore next */ []));
7302
7438
  this.#document = inject(DOCUMENT);
7303
7439
  this.#selfRef = inject((ElementRef));
7304
7440
  this.#renderer = inject(Renderer2);
7305
7441
  this.#positionAbort = null;
7306
7442
  this.SUPPORTS_ANCHOR = typeof CSS !== 'undefined' && CSS.supports('position-anchor', '--abc') && CSS.supports('anchor-name', '--abc');
7307
- this.isBelow = signal(false, ...(ngDevMode ? [{ debugName: "isBelow" }] : []));
7443
+ this.isBelow = signal(false, ...(ngDevMode ? [{ debugName: "isBelow" }] : /* istanbul ignore next */ []));
7308
7444
  this.openEffect = effect(() => {
7309
7445
  if (this.isOpen()) {
7310
7446
  queueMicrotask(() => {
@@ -7347,7 +7483,7 @@ class ShipTooltipWrapper {
7347
7483
  this.#positionAbort?.abort();
7348
7484
  this.#positionAbort = null;
7349
7485
  }
7350
- }, ...(ngDevMode ? [{ debugName: "openEffect" }] : []));
7486
+ }, ...(ngDevMode ? [{ debugName: "openEffect" }] : /* istanbul ignore next */ []));
7351
7487
  this.calculateTooltipPosition = () => {
7352
7488
  if (!this.anchorEl())
7353
7489
  return;
@@ -7422,8 +7558,8 @@ class ShipTooltipWrapper {
7422
7558
  top: Math.max(0, Math.min(pos.top, window.innerHeight - m.height)),
7423
7559
  };
7424
7560
  }
7425
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipTooltipWrapper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7426
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ShipTooltipWrapper, isStandalone: true, selector: "ship-tooltip-wrapper", inputs: { positionAnchorName: { classPropertyName: "positionAnchorName", publicName: "positionAnchorName", isSignal: true, isRequired: true, transformFunction: null }, anchorEl: { classPropertyName: "anchorEl", publicName: "anchorEl", isSignal: true, isRequired: true, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, close: { classPropertyName: "close", publicName: "close", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "tooltip" }, properties: { "attr.popover": "\"manual\"", "style.position-anchor": "positionAnchorName()", "class.below": "isBelow()" } }, ngImport: i0, template: `
7561
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipTooltipWrapper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7562
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ShipTooltipWrapper, isStandalone: true, selector: "ship-tooltip-wrapper", inputs: { positionAnchorName: { classPropertyName: "positionAnchorName", publicName: "positionAnchorName", isSignal: true, isRequired: true, transformFunction: null }, anchorEl: { classPropertyName: "anchorEl", publicName: "anchorEl", isSignal: true, isRequired: true, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, close: { classPropertyName: "close", publicName: "close", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "tooltip" }, properties: { "attr.popover": "\"manual\"", "style.position-anchor": "positionAnchorName()", "class.below": "isBelow()" } }, ngImport: i0, template: `
7427
7563
  <div class="tooltip-content">
7428
7564
  @if (isTemplate()) {
7429
7565
  <ng-container *ngTemplateOutlet="$any(content()); context: { $implicit: tooltipContext }" />
@@ -7433,7 +7569,7 @@ class ShipTooltipWrapper {
7433
7569
  </div>
7434
7570
  `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
7435
7571
  }
7436
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipTooltipWrapper, decorators: [{
7572
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipTooltipWrapper, decorators: [{
7437
7573
  type: Component,
7438
7574
  args: [{
7439
7575
  selector: 'ship-tooltip-wrapper',
@@ -7459,7 +7595,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
7459
7595
  let openRef = null;
7460
7596
  class ShipTooltip {
7461
7597
  constructor() {
7462
- this.shTooltip = input.required(...(ngDevMode ? [{ debugName: "shTooltip" }] : []));
7598
+ this.shTooltip = input.required(...(ngDevMode ? [{ debugName: "shTooltip" }] : /* istanbul ignore next */ []));
7463
7599
  this.#contentReplacedEffect = effect(() => {
7464
7600
  const content = this.shTooltip();
7465
7601
  untracked(() => {
@@ -7468,14 +7604,14 @@ class ShipTooltip {
7468
7604
  openRef.wrapperComponentRef.changeDetectorRef.detectChanges();
7469
7605
  }
7470
7606
  });
7471
- }, ...(ngDevMode ? [{ debugName: "#contentReplacedEffect" }] : []));
7607
+ }, ...(ngDevMode ? [{ debugName: "#contentReplacedEffect" }] : /* istanbul ignore next */ []));
7472
7608
  this.#elementRef = inject((ElementRef));
7473
7609
  this.#viewContainerRef = inject(ViewContainerRef);
7474
7610
  this.#environmentInjector = inject(EnvironmentInjector);
7475
7611
  this.debounceTimer = null;
7476
7612
  this.DEBOUNCE_DELAY = 50;
7477
7613
  this.anchorName = `--${generateUniqueId()}`;
7478
- this.isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
7614
+ this.isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
7479
7615
  this.destroyTimeout = null;
7480
7616
  }
7481
7617
  #contentReplacedEffect;
@@ -7561,10 +7697,10 @@ class ShipTooltip {
7561
7697
  }, this.DEBOUNCE_DELAY);
7562
7698
  }
7563
7699
  }
7564
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipTooltip, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7565
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: ShipTooltip, isStandalone: true, selector: "[shTooltip]", inputs: { shTooltip: { classPropertyName: "shTooltip", publicName: "shTooltip", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "mouseenter": "onMouseEnter($event)", "mouseleave": "onMouseLeave($event)" }, properties: { "style.anchor-name": "anchorName", "class.active": "isOpen()" }, classAttribute: "tooltip" }, ngImport: i0 }); }
7700
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipTooltip, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7701
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.5", type: ShipTooltip, isStandalone: true, selector: "[shTooltip]", inputs: { shTooltip: { classPropertyName: "shTooltip", publicName: "shTooltip", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "mouseenter": "onMouseEnter($event)", "mouseleave": "onMouseLeave($event)" }, properties: { "style.anchor-name": "anchorName", "class.active": "isOpen()" }, classAttribute: "tooltip" }, ngImport: i0 }); }
7566
7702
  }
7567
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ShipTooltip, decorators: [{
7703
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ShipTooltip, decorators: [{
7568
7704
  type: Directive,
7569
7705
  args: [{
7570
7706
  selector: '[shTooltip]',
@@ -7591,5 +7727,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
7591
7727
  * Generated bundle index. Do not edit.
7592
7728
  */
7593
7729
 
7594
- export { GridSortable, SHIP_CONFIG, ShipAlert, ShipAlertContainer, ShipAlertModule, ShipAlertService, ShipBlueprint, ShipButton, ShipButtonGroup, ShipCard, ShipCheckbox, ShipChip, ShipColorPicker, ShipDatepicker, ShipDatepickerInput, ShipDaterangeInput, ShipDialog, ShipDialogService, ShipDivider, ShipEventCard, ShipFileDragDrop, ShipFileUpload, ShipFormField, ShipFormFieldExperimental, ShipIcon, ShipInputMask, ShipList, ShipMenu, ShipPopover, ShipPreventWheel, ShipProgressBar, ShipRadio, ShipRangeSlider, ShipResize, ShipSelect, ShipSidenav, ShipSort, ShipSortable, ShipSpinner, ShipStepper, ShipStickyColumns, ShipTable, ShipTabs, ShipThemeToggle, ShipToggle, ShipToggleCard, ShipTooltip, ShipTooltipWrapper, ShipVirtualScroll, TEST_NODES, moveIndex, watchHostClass };
7730
+ export { GridSortable, SHIP_CONFIG, ShipAccordion, ShipAlert, ShipAlertContainer, ShipAlertModule, ShipAlertService, ShipBlueprint, ShipButton, ShipButtonGroup, ShipCard, ShipCheckbox, ShipChip, ShipColorPicker, ShipDatepicker, ShipDatepickerInput, ShipDaterangeInput, ShipDialog, ShipDialogService, ShipDivider, ShipEventCard, ShipFileDragDrop, ShipFileUpload, ShipFormField, ShipFormFieldExperimental, ShipIcon, ShipInputMask, ShipList, ShipMenu, ShipPopover, ShipPreventWheel, ShipProgressBar, ShipRadio, ShipRangeSlider, ShipResize, ShipSelect, ShipSidenav, ShipSort, ShipSortable, ShipSpinner, ShipStepper, ShipStickyColumns, ShipTable, ShipTabs, ShipThemeToggle, ShipToggle, ShipToggleCard, ShipTooltip, ShipTooltipWrapper, ShipVirtualScroll, TEST_NODES, moveIndex, watchHostClass };
7595
7731
  //# sourceMappingURL=ship-ui-core.mjs.map