@akcelik/strct 1.13.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, DOCUMENT, signal, computed, Injectable, input, isDevMode, ViewEncapsulation, ChangeDetectionStrategy, Component, ElementRef, NgZone, afterNextRender, Directive, model, output, booleanAttribute, HostListener, contentChildren, effect, ApplicationRef, EnvironmentInjector, createComponent, forwardRef, DestroyRef, contentChild, viewChild, viewChildren, untracked, TemplateRef, Renderer2, Pipe } from '@angular/core';
2
+ import { inject, DOCUMENT, signal, computed, Injectable, input, isDevMode, ViewEncapsulation, ChangeDetectionStrategy, Component, ElementRef, NgZone, afterNextRender, Directive, model, output, booleanAttribute, HostListener, contentChildren, effect, ApplicationRef, EnvironmentInjector, createComponent, forwardRef, DestroyRef, contentChild, InjectionToken, untracked, viewChild, viewChildren, TemplateRef, Renderer2, Pipe } from '@angular/core';
3
3
  import { DomSanitizer } from '@angular/platform-browser';
4
4
  import { NgTemplateOutlet, DOCUMENT as DOCUMENT$1 } from '@angular/common';
5
5
  import { RouterLink, RouterLinkActive } from '@angular/router';
@@ -3744,10 +3744,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
3744
3744
  `, host: { class: 'strct-submenu-host' }, styles: [".strct-submenu{position:relative}.strct-submenu__trigger{display:flex;align-items:center;gap:8px;padding:7px 8px 7px 10px;border-radius:5px;cursor:default;font-size:13px;color:var(--t1)}.strct-submenu__trigger:hover{background:var(--bg-3)}.strct-submenu__trigger:focus-visible{outline:none;background:var(--bg-3)}.strct-submenu__icon{color:var(--t2);flex-shrink:0}.strct-submenu__icon-spacer{width:14px;flex-shrink:0}.strct-submenu__label{flex:1;display:inline-flex;align-items:center;gap:8px}.strct-submenu__arrow{color:var(--t3)}.strct-submenu__panel{position:absolute;top:-5px;left:100%;z-index:1;min-width:170px;margin-inline-start:2px;padding:4px;background:var(--bg-1);border:1px solid var(--b2);border-radius:7px;box-shadow:var(--shh);animation:strct-submenu-in .1s ease}.strct-submenu__panel--flip{left:auto;right:100%;margin-inline-start:0;margin-inline-end:2px}@keyframes strct-submenu-in{0%{opacity:0;transform:translate(-4px)}}\n"] }]
3745
3745
  }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }] } });
3746
3746
 
3747
- /** A single wizard step. `label` names it in the step header. */
3747
+ /** A single wizard step. `label` names it in the step header / rail. */
3748
3748
  class StrctStep {
3749
3749
  /** Label text. */
3750
3750
  label = input.required(...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
3751
+ /** Rail sublabel (vertical mode; shown while the step is active). */
3752
+ description = input('', ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
3751
3753
  /** When false, the wizard's Next / Finish is disabled on this step. */
3752
3754
  canAdvance = input(true, { ...(ngDevMode ? { debugName: "canAdvance" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3753
3755
  _active = signal(false, ...(ngDevMode ? [{ debugName: "_active" }] : /* istanbul ignore next */ []));
@@ -3757,7 +3759,7 @@ class StrctStep {
3757
3759
  this._active.set(value);
3758
3760
  }
3759
3761
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: StrctStep, deps: [], target: i0.ɵɵFactoryTarget.Component });
3760
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: StrctStep, isStandalone: true, selector: "strct-step", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, canAdvance: { classPropertyName: "canAdvance", publicName: "canAdvance", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "hidden": "!active()" }, classAttribute: "strct-step" }, ngImport: i0, template: `@if (active()) {
3762
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: StrctStep, isStandalone: true, selector: "strct-step", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, canAdvance: { classPropertyName: "canAdvance", publicName: "canAdvance", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "hidden": "!active()" }, classAttribute: "strct-step" }, ngImport: i0, template: `@if (active()) {
3761
3763
  <ng-content />
3762
3764
  }`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3763
3765
  }
@@ -3771,16 +3773,73 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
3771
3773
  }`,
3772
3774
  host: { class: 'strct-step', '[hidden]': '!active()' },
3773
3775
  }]
3774
- }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], canAdvance: [{ type: i0.Input, args: [{ isSignal: true, alias: "canAdvance", required: false }] }] } });
3775
- /** Multi-step flow with a numbered header and Back / Next / Finish controls. */
3776
+ }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], canAdvance: [{ type: i0.Input, args: [{ isSignal: true, alias: "canAdvance", required: false }] }] } });
3777
+ /** Marks the live-summary column projected beside a vertical wizard. */
3778
+ class StrctWizardAside {
3779
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: StrctWizardAside, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3780
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: StrctWizardAside, isStandalone: true, selector: "[strctWizardAside]", ngImport: i0 });
3781
+ }
3782
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: StrctWizardAside, decorators: [{
3783
+ type: Directive,
3784
+ args: [{ selector: '[strctWizardAside]' }]
3785
+ }] });
3786
+ const STRCT_WIZARD_DEFAULTS = new InjectionToken('STRCT_WIZARD_DEFAULTS');
3787
+ /**
3788
+ * Flip wizard defaults for the whole app — the way to make a house rule like
3789
+ * "steps are always vertical" hold without repeating the attribute:
3790
+ *
3791
+ * providers: [provideStrctWizardDefaults({ vertical: true })]
3792
+ *
3793
+ * A per-instance binding still wins: `[vertical]="false"` opts one wizard out.
3794
+ */
3795
+ function provideStrctWizardDefaults(defaults) {
3796
+ return { provide: STRCT_WIZARD_DEFAULTS, useValue: defaults };
3797
+ }
3798
+ /**
3799
+ * Multi-step flow with Back / Next / Finish controls.
3800
+ *
3801
+ * Default: a numbered horizontal header. With `vertical`, steps become a left
3802
+ * rail — dashed-ring states (idle ⊙ / active ●⊙ / done ✓), a progress bar
3803
+ * with an “n/N” counter, and click-back navigation to visited steps — plus an
3804
+ * optional right column projected via `strctWizardAside` (live summaries).
3805
+ * The rail never flips horizontal: under ~720px of component width it
3806
+ * collapses to a compact vertical ring column (container query).
3807
+ *
3808
+ * <strct-wizard vertical title="Create virtual machine">
3809
+ * <strct-step label="Identity" description="Name, environment">…</strct-step>
3810
+ * …
3811
+ * <aside strctWizardAside>…live summary…</aside>
3812
+ * </strct-wizard>
3813
+ */
3776
3814
  class StrctWizard {
3815
+ defaults = inject(STRCT_WIZARD_DEFAULTS, { optional: true });
3777
3816
  steps = contentChildren(StrctStep, ...(ngDevMode ? [{ debugName: "steps" }] : /* istanbul ignore next */ []));
3817
+ asideDef = contentChild(StrctWizardAside, ...(ngDevMode ? [{ debugName: "asideDef" }] : /* istanbul ignore next */ []));
3778
3818
  current = model(0, ...(ngDevMode ? [{ debugName: "current" }] : /* istanbul ignore next */ []));
3819
+ /**
3820
+ * Vertical mode: steps become a left rail with dashed-ring states, a
3821
+ * progress bar and click-back navigation; `strctWizardAside` projects a
3822
+ * right column. The rail collapses to a compact vertical ring column under
3823
+ * ~720px of component width — it never flips horizontal.
3824
+ *
3825
+ * The default can be flipped app-wide via `provideStrctWizardDefaults`;
3826
+ * this input always wins when bound.
3827
+ */
3828
+ vertical = input(this.defaults?.vertical ?? false, { ...(ngDevMode ? { debugName: "vertical" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3829
+ /** Rail heading shown above the progress bar (vertical mode). */
3830
+ title = input('', ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
3779
3831
  /** Label for the final-step button (default "Finish"). */
3780
3832
  finishLabel = input('Finish', ...(ngDevMode ? [{ debugName: "finishLabel" }] : /* istanbul ignore next */ []));
3781
- /** Labels for the Back / Next buttons (localizable). */
3833
+ /** Labels for the Back / Next / Cancel buttons (localizable). */
3782
3834
  backLabel = input('Back', ...(ngDevMode ? [{ debugName: "backLabel" }] : /* istanbul ignore next */ []));
3783
3835
  nextLabel = input('Next', ...(ngDevMode ? [{ debugName: "nextLabel" }] : /* istanbul ignore next */ []));
3836
+ cancelLabel = input('Cancel', ...(ngDevMode ? [{ debugName: "cancelLabel" }] : /* istanbul ignore next */ []));
3837
+ /** Busy label while `submitting` (localizable). */
3838
+ submittingLabel = input('Submitting…', ...(ngDevMode ? [{ debugName: "submittingLabel" }] : /* istanbul ignore next */ []));
3839
+ /** Counter suffix in the rail: "2/5 {progressLabel}". */
3840
+ progressLabel = input('completed', ...(ngDevMode ? [{ debugName: "progressLabel" }] : /* istanbul ignore next */ []));
3841
+ /** Accessible name of the vertical step rail. */
3842
+ stepsLabel = input('Steps', ...(ngDevMode ? [{ debugName: "stepsLabel" }] : /* istanbul ignore next */ []));
3784
3843
  /** Disable Finish and show a busy label while an async submit is in flight. */
3785
3844
  submitting = input(false, { ...(ngDevMode ? { debugName: "submitting" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3786
3845
  /** Show a Cancel button on the left. */
@@ -3789,8 +3848,11 @@ class StrctWizard {
3789
3848
  finished = output();
3790
3849
  /** Emitted when the user clicks Cancel. */
3791
3850
  cancelled = output();
3792
- /** Emits the new step index after a Back / Next move. */
3851
+ /** Emits the new step index after a Back / Next / rail move. */
3793
3852
  stepChange = output();
3853
+ /** Furthest step reached — drives the progress bar and rail clickability. */
3854
+ maxVisited = signal(0, ...(ngDevMode ? [{ debugName: "maxVisited" }] : /* istanbul ignore next */ []));
3855
+ progressPct = computed(() => this.steps().length ? (this.maxVisited() / this.steps().length) * 100 : 0, ...(ngDevMode ? [{ debugName: "progressPct" }] : /* istanbul ignore next */ []));
3794
3856
  isLast = computed(() => this.current() >= this.steps().length - 1, ...(ngDevMode ? [{ debugName: "isLast" }] : /* istanbul ignore next */ []));
3795
3857
  /** Whether the current step permits advancing (its `canAdvance`). */
3796
3858
  canAdvance = computed(() => this.steps()[this.current()]?.canAdvance() ?? true, ...(ngDevMode ? [{ debugName: "canAdvance" }] : /* istanbul ignore next */ []));
@@ -3798,6 +3860,10 @@ class StrctWizard {
3798
3860
  effect(() => {
3799
3861
  const idx = this.current();
3800
3862
  this.steps().forEach((step, i) => step.setActive(i === idx));
3863
+ untracked(() => {
3864
+ if (idx > this.maxVisited())
3865
+ this.maxVisited.set(idx);
3866
+ });
3801
3867
  });
3802
3868
  }
3803
3869
  next() {
@@ -3812,103 +3878,216 @@ class StrctWizard {
3812
3878
  this.stepChange.emit(this.current());
3813
3879
  }
3814
3880
  }
3881
+ /** Jump to a visited step (rail click). Forward moves still go through Next. */
3882
+ goTo(index) {
3883
+ if (index === this.current() || index < 0 || index > this.maxVisited())
3884
+ return;
3885
+ this.current.set(index);
3886
+ this.stepChange.emit(index);
3887
+ }
3815
3888
  finish() {
3816
3889
  if (this.canAdvance() && !this.submitting())
3817
3890
  this.finished.emit();
3818
3891
  }
3819
3892
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: StrctWizard, deps: [], target: i0.ɵɵFactoryTarget.Component });
3820
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: StrctWizard, isStandalone: true, selector: "strct-wizard", inputs: { current: { classPropertyName: "current", publicName: "current", isSignal: true, isRequired: false, transformFunction: null }, finishLabel: { classPropertyName: "finishLabel", publicName: "finishLabel", isSignal: true, isRequired: false, transformFunction: null }, backLabel: { classPropertyName: "backLabel", publicName: "backLabel", isSignal: true, isRequired: false, transformFunction: null }, nextLabel: { classPropertyName: "nextLabel", publicName: "nextLabel", isSignal: true, isRequired: false, transformFunction: null }, submitting: { classPropertyName: "submitting", publicName: "submitting", isSignal: true, isRequired: false, transformFunction: null }, cancelable: { classPropertyName: "cancelable", publicName: "cancelable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { current: "currentChange", finished: "finished", cancelled: "cancelled", stepChange: "stepChange" }, host: { classAttribute: "strct-wiz" }, queries: [{ propertyName: "steps", predicate: StrctStep, isSignal: true }], ngImport: i0, template: `
3821
- <div class="strct-wiz__steps">
3822
- @for (step of steps(); track step; let i = $index; let last = $last) {
3823
- <div
3824
- class="strct-wiz__step"
3825
- [class.strct-wiz__step--active]="i === current()"
3826
- [class.strct-wiz__step--done]="i < current()"
3827
- >
3828
- <span class="strct-wiz__dot">{{ i + 1 }}</span>
3829
- <span class="strct-wiz__label">{{ step.label() }}</span>
3893
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: StrctWizard, isStandalone: true, selector: "strct-wizard", inputs: { current: { classPropertyName: "current", publicName: "current", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, finishLabel: { classPropertyName: "finishLabel", publicName: "finishLabel", isSignal: true, isRequired: false, transformFunction: null }, backLabel: { classPropertyName: "backLabel", publicName: "backLabel", isSignal: true, isRequired: false, transformFunction: null }, nextLabel: { classPropertyName: "nextLabel", publicName: "nextLabel", isSignal: true, isRequired: false, transformFunction: null }, cancelLabel: { classPropertyName: "cancelLabel", publicName: "cancelLabel", isSignal: true, isRequired: false, transformFunction: null }, submittingLabel: { classPropertyName: "submittingLabel", publicName: "submittingLabel", isSignal: true, isRequired: false, transformFunction: null }, progressLabel: { classPropertyName: "progressLabel", publicName: "progressLabel", isSignal: true, isRequired: false, transformFunction: null }, stepsLabel: { classPropertyName: "stepsLabel", publicName: "stepsLabel", isSignal: true, isRequired: false, transformFunction: null }, submitting: { classPropertyName: "submitting", publicName: "submitting", isSignal: true, isRequired: false, transformFunction: null }, cancelable: { classPropertyName: "cancelable", publicName: "cancelable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { current: "currentChange", finished: "finished", cancelled: "cancelled", stepChange: "stepChange" }, host: { properties: { "class.strct-wiz--vertical": "vertical()" }, classAttribute: "strct-wiz" }, queries: [{ propertyName: "steps", predicate: StrctStep, isSignal: true }, { propertyName: "asideDef", first: true, predicate: StrctWizardAside, descendants: true, isSignal: true }], ngImport: i0, template: `
3894
+ <div
3895
+ class="strct-wiz__layout"
3896
+ [class.strct-wiz__layout--v]="vertical()"
3897
+ [class.strct-wiz__layout--aside]="vertical() && asideDef()"
3898
+ >
3899
+ @if (vertical()) {
3900
+ <nav class="strct-wiz__rail" [attr.aria-label]="stepsLabel()">
3901
+ @if (title()) {
3902
+ <div class="strct-wiz__vtitle">{{ title() }}</div>
3903
+ }
3904
+ <div class="strct-wiz__pbar" aria-hidden="true">
3905
+ <i [style.width.%]="progressPct()"></i>
3906
+ </div>
3907
+ <div class="strct-wiz__pcount">
3908
+ {{ maxVisited() }}/{{ steps().length }} {{ progressLabel() }}
3909
+ </div>
3910
+ <div class="strct-wiz__vsteps">
3911
+ @for (step of steps(); track step; let i = $index) {
3912
+ <button
3913
+ type="button"
3914
+ class="strct-wiz__vstep"
3915
+ [class.strct-wiz__vstep--done]="i < maxVisited() && i !== current()"
3916
+ [class.strct-wiz__vstep--active]="i === current()"
3917
+ [disabled]="i > maxVisited() || null"
3918
+ [attr.aria-current]="i === current() ? 'step' : null"
3919
+ [attr.title]="step.label()"
3920
+ (click)="goTo(i)"
3921
+ >
3922
+ <span class="strct-wiz__ring" aria-hidden="true"></span>
3923
+ <span class="strct-wiz__vmeta">
3924
+ <span class="strct-wiz__vlabel">{{ step.label() }}</span>
3925
+ @if (step.description()) {
3926
+ <span class="strct-wiz__vdesc">{{ step.description() }}</span>
3927
+ }
3928
+ </span>
3929
+ </button>
3930
+ }
3931
+ </div>
3932
+ </nav>
3933
+ } @else {
3934
+ <div class="strct-wiz__steps">
3935
+ @for (step of steps(); track step; let i = $index; let last = $last) {
3936
+ <div
3937
+ class="strct-wiz__step"
3938
+ [class.strct-wiz__step--active]="i === current()"
3939
+ [class.strct-wiz__step--done]="i < current()"
3940
+ >
3941
+ <span class="strct-wiz__dot">{{ i + 1 }}</span>
3942
+ <span class="strct-wiz__label">{{ step.label() }}</span>
3943
+ </div>
3944
+ @if (!last) {
3945
+ <span class="strct-wiz__sep"></span>
3946
+ }
3947
+ }
3830
3948
  </div>
3831
- @if (!last) {
3832
- <span class="strct-wiz__sep"></span>
3833
- }
3834
3949
  }
3835
- </div>
3836
3950
 
3837
- <div class="strct-wiz__content"><ng-content /></div>
3951
+ <div class="strct-wiz__main">
3952
+ <div class="strct-wiz__content"><ng-content /></div>
3838
3953
 
3839
- <div class="strct-wiz__foot">
3840
- @if (cancelable()) {
3841
- <button strct-button variant="flat" class="strct-wiz__cancel" (click)="cancelled.emit()">
3842
- Cancel
3843
- </button>
3844
- }
3845
- <button strct-button variant="flat" [disabled]="current() === 0" (click)="back()">
3846
- {{ backLabel() }}
3847
- </button>
3848
- @if (isLast()) {
3849
- <button
3850
- strct-button
3851
- variant="primary"
3852
- [disabled]="submitting() || !canAdvance()"
3853
- (click)="finish()"
3854
- >
3855
- {{ submitting() ? 'Submitting…' : finishLabel() }}
3856
- </button>
3857
- } @else {
3858
- <button strct-button variant="primary" [disabled]="!canAdvance()" (click)="next()">
3859
- {{ nextLabel() }}
3860
- </button>
3861
- }
3954
+ <div class="strct-wiz__foot">
3955
+ @if (cancelable()) {
3956
+ <button
3957
+ strct-button
3958
+ variant="flat"
3959
+ class="strct-wiz__cancel"
3960
+ (click)="cancelled.emit()"
3961
+ >
3962
+ {{ cancelLabel() }}
3963
+ </button>
3964
+ }
3965
+ <button strct-button variant="flat" [disabled]="current() === 0" (click)="back()">
3966
+ {{ backLabel() }}
3967
+ </button>
3968
+ @if (isLast()) {
3969
+ <button
3970
+ strct-button
3971
+ variant="primary"
3972
+ [disabled]="submitting() || !canAdvance()"
3973
+ (click)="finish()"
3974
+ >
3975
+ {{ submitting() ? submittingLabel() : finishLabel() }}
3976
+ </button>
3977
+ } @else {
3978
+ <button strct-button variant="primary" [disabled]="!canAdvance()" (click)="next()">
3979
+ {{ nextLabel() }}
3980
+ </button>
3981
+ }
3982
+ </div>
3983
+ </div>
3984
+
3985
+ <aside class="strct-wiz__aside">
3986
+ <ng-content select="[strctWizardAside]" />
3987
+ </aside>
3862
3988
  </div>
3863
- `, isInline: true, styles: [".strct-wiz{display:block}.strct-wiz__steps{display:flex;align-items:center;gap:6px}.strct-wiz__step{display:flex;align-items:center;gap:8px}.strct-wiz__dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:600;color:var(--t2);background:var(--bg-3);border:1px solid var(--b2)}.strct-wiz__label{font-size:12px;color:var(--t2)}.strct-wiz__step--active .strct-wiz__dot{background:var(--acc-m);color:var(--acc);border-color:var(--acc)}.strct-wiz__step--active .strct-wiz__label{color:var(--t1);font-weight:600}.strct-wiz__step--done .strct-wiz__dot{background:var(--acc-m);color:var(--acc);border-color:var(--acc30)}.strct-wiz__sep{flex:1;height:1px;background:var(--b2);min-width:18px}.strct-wiz__content{margin:18px 0;padding:16px;min-height:80px;background:var(--bg-1);border:1px solid var(--b2);border-radius:8px;color:var(--t2);font-size:13px}.strct-wiz__foot{display:flex;justify-content:flex-end;gap:8px}.strct-wiz__cancel{margin-inline-end:auto}\n"], dependencies: [{ kind: "component", type: StrctButton, selector: "button[strct-button], a[strct-button]", inputs: ["variant", "size", "solid", "block", "iconOnly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3989
+ `, isInline: true, styles: [".strct-wiz{display:block}.strct-wiz__steps{display:flex;align-items:center;gap:6px}.strct-wiz__step{display:flex;align-items:center;gap:8px}.strct-wiz__dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:600;color:var(--t2);background:var(--bg-3);border:1px solid var(--b2)}.strct-wiz__label{font-size:12px;color:var(--t2)}.strct-wiz__step--active .strct-wiz__dot{background:var(--acc-m);color:var(--acc);border-color:var(--acc)}.strct-wiz__step--active .strct-wiz__label{color:var(--t1);font-weight:600}.strct-wiz__step--done .strct-wiz__dot{background:var(--acc-m);color:var(--acc);border-color:var(--acc30)}.strct-wiz__sep{flex:1;height:1px;background:var(--b2);min-width:18px}.strct-wiz__content{margin:18px 0;padding:16px;min-height:80px;background:var(--bg-1);border:1px solid var(--b2);border-radius:8px;color:var(--t2);font-size:13px}.strct-wiz__foot{display:flex;justify-content:flex-end;gap:8px}.strct-wiz__cancel{margin-inline-end:auto}.strct-wiz__aside{display:none}.strct-wiz--vertical{container-type:inline-size}.strct-wiz__layout--v{display:grid;grid-template-columns:232px minmax(0,1fr);border:1px solid var(--b2);border-radius:12px;background:var(--bg-1);overflow:hidden}.strct-wiz__layout--v.strct-wiz__layout--aside{grid-template-columns:232px minmax(0,1fr) 280px}.strct-wiz__layout--v .strct-wiz__aside{display:block;background:var(--bg-2);border-inline-start:1px solid var(--b1);overflow-y:auto}.strct-wiz__layout--v .strct-wiz__main{display:flex;flex-direction:column;min-width:0}.strct-wiz__layout--v .strct-wiz__content{flex:1;margin:0;padding:20px 24px;border:0;border-radius:0;background:transparent;overflow-y:auto}.strct-wiz__layout--v .strct-wiz__foot{padding:13px 24px;border-top:1px solid var(--b1)}.strct-wiz__rail{display:flex;flex-direction:column;padding:20px 18px 16px;background:var(--bg-2);border-inline-end:1px solid var(--b1);min-width:0}.strct-wiz__vtitle{font-size:15px;font-weight:600;letter-spacing:-.2px;line-height:1.3;margin-bottom:12px}.strct-wiz__pbar{height:4px;border-radius:99px;background:var(--bg-a);overflow:hidden;flex:none}.strct-wiz__pbar i{display:block;height:100%;border-radius:99px;background:var(--acc);transition:width .4s cubic-bezier(.4,0,.2,1)}.strct-wiz__pcount{font-family:var(--mono);font-size:10.5px;letter-spacing:.4px;color:var(--t3);margin:7px 0 16px;font-variant-numeric:tabular-nums}.strct-wiz__vsteps{display:flex;flex-direction:column}.strct-wiz__vstep{display:grid;grid-template-columns:22px 1fr;gap:11px;align-items:start;width:100%;padding:8px 0;border:0;background:none;text-align:start;font:inherit;color:inherit;cursor:pointer}.strct-wiz__vstep:disabled{cursor:default;opacity:.55}.strct-wiz__ring{width:20px;height:20px;margin-top:1px;border-radius:50%;border:2px dashed var(--b3);display:grid;place-items:center;transition:border-color .2s,background .2s}.strct-wiz__vlabel{display:block;font-size:13px;color:var(--t2);transition:color .15s}.strct-wiz__vdesc{display:block;font-size:11px;color:var(--t3);margin-top:1px;opacity:0;height:0;overflow:hidden;transition:opacity .25s}.strct-wiz__vstep--done .strct-wiz__ring{border:0;background:var(--success)}.strct-wiz__vstep--done .strct-wiz__ring:after{content:\"\";width:8px;height:4px;border-left:2px solid var(--inv);border-bottom:2px solid var(--inv);transform:rotate(-45deg) translate(1px,-1px)}.strct-wiz__vstep--done .strct-wiz__vlabel{color:var(--t1)}.strct-wiz__vstep--active .strct-wiz__ring{border-style:solid;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc18)}.strct-wiz__vstep--active .strct-wiz__ring:after{content:\"\";width:7px;height:7px;border-radius:50%;background:var(--acc)}.strct-wiz__vstep--active .strct-wiz__vlabel{color:var(--t1);font-weight:600}.strct-wiz__vstep--active .strct-wiz__vdesc{opacity:1;height:auto}@container (max-width: 800px){.strct-wiz__layout--v.strct-wiz__layout--aside{grid-template-columns:232px minmax(0,1fr)}.strct-wiz__layout--v .strct-wiz__aside{display:none}}@container (max-width: 720px){.strct-wiz__layout--v,.strct-wiz__layout--v.strct-wiz__layout--aside{grid-template-columns:56px minmax(0,1fr)}.strct-wiz__rail{padding:18px 0 12px;align-items:center}.strct-wiz__vtitle,.strct-wiz__pbar,.strct-wiz__pcount,.strct-wiz__vmeta{display:none}.strct-wiz__vsteps{gap:3px;align-items:center}.strct-wiz__vstep{grid-template-columns:22px;justify-items:center;position:relative;padding:7px 0}.strct-wiz__vstep:not(:last-child):after{content:\"\";position:absolute;left:50%;top:30px;height:10px;width:1.5px;background:var(--b3)}.strct-wiz__vstep--done:not(:last-child):after{background:var(--success);opacity:.6}.strct-wiz__layout--v .strct-wiz__content{padding:16px 18px}.strct-wiz__layout--v .strct-wiz__foot{padding:12px 18px}}@media(prefers-reduced-motion:reduce){.strct-wiz__pbar i,.strct-wiz__ring,.strct-wiz__vlabel,.strct-wiz__vdesc{transition:none}}\n"], dependencies: [{ kind: "component", type: StrctButton, selector: "button[strct-button], a[strct-button]", inputs: ["variant", "size", "solid", "block", "iconOnly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3864
3990
  }
3865
3991
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: StrctWizard, decorators: [{
3866
3992
  type: Component,
3867
3993
  args: [{ selector: 'strct-wizard', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [StrctButton], template: `
3868
- <div class="strct-wiz__steps">
3869
- @for (step of steps(); track step; let i = $index; let last = $last) {
3870
- <div
3871
- class="strct-wiz__step"
3872
- [class.strct-wiz__step--active]="i === current()"
3873
- [class.strct-wiz__step--done]="i < current()"
3874
- >
3875
- <span class="strct-wiz__dot">{{ i + 1 }}</span>
3876
- <span class="strct-wiz__label">{{ step.label() }}</span>
3994
+ <div
3995
+ class="strct-wiz__layout"
3996
+ [class.strct-wiz__layout--v]="vertical()"
3997
+ [class.strct-wiz__layout--aside]="vertical() && asideDef()"
3998
+ >
3999
+ @if (vertical()) {
4000
+ <nav class="strct-wiz__rail" [attr.aria-label]="stepsLabel()">
4001
+ @if (title()) {
4002
+ <div class="strct-wiz__vtitle">{{ title() }}</div>
4003
+ }
4004
+ <div class="strct-wiz__pbar" aria-hidden="true">
4005
+ <i [style.width.%]="progressPct()"></i>
4006
+ </div>
4007
+ <div class="strct-wiz__pcount">
4008
+ {{ maxVisited() }}/{{ steps().length }} {{ progressLabel() }}
4009
+ </div>
4010
+ <div class="strct-wiz__vsteps">
4011
+ @for (step of steps(); track step; let i = $index) {
4012
+ <button
4013
+ type="button"
4014
+ class="strct-wiz__vstep"
4015
+ [class.strct-wiz__vstep--done]="i < maxVisited() && i !== current()"
4016
+ [class.strct-wiz__vstep--active]="i === current()"
4017
+ [disabled]="i > maxVisited() || null"
4018
+ [attr.aria-current]="i === current() ? 'step' : null"
4019
+ [attr.title]="step.label()"
4020
+ (click)="goTo(i)"
4021
+ >
4022
+ <span class="strct-wiz__ring" aria-hidden="true"></span>
4023
+ <span class="strct-wiz__vmeta">
4024
+ <span class="strct-wiz__vlabel">{{ step.label() }}</span>
4025
+ @if (step.description()) {
4026
+ <span class="strct-wiz__vdesc">{{ step.description() }}</span>
4027
+ }
4028
+ </span>
4029
+ </button>
4030
+ }
4031
+ </div>
4032
+ </nav>
4033
+ } @else {
4034
+ <div class="strct-wiz__steps">
4035
+ @for (step of steps(); track step; let i = $index; let last = $last) {
4036
+ <div
4037
+ class="strct-wiz__step"
4038
+ [class.strct-wiz__step--active]="i === current()"
4039
+ [class.strct-wiz__step--done]="i < current()"
4040
+ >
4041
+ <span class="strct-wiz__dot">{{ i + 1 }}</span>
4042
+ <span class="strct-wiz__label">{{ step.label() }}</span>
4043
+ </div>
4044
+ @if (!last) {
4045
+ <span class="strct-wiz__sep"></span>
4046
+ }
4047
+ }
3877
4048
  </div>
3878
- @if (!last) {
3879
- <span class="strct-wiz__sep"></span>
3880
- }
3881
4049
  }
3882
- </div>
3883
4050
 
3884
- <div class="strct-wiz__content"><ng-content /></div>
4051
+ <div class="strct-wiz__main">
4052
+ <div class="strct-wiz__content"><ng-content /></div>
3885
4053
 
3886
- <div class="strct-wiz__foot">
3887
- @if (cancelable()) {
3888
- <button strct-button variant="flat" class="strct-wiz__cancel" (click)="cancelled.emit()">
3889
- Cancel
3890
- </button>
3891
- }
3892
- <button strct-button variant="flat" [disabled]="current() === 0" (click)="back()">
3893
- {{ backLabel() }}
3894
- </button>
3895
- @if (isLast()) {
3896
- <button
3897
- strct-button
3898
- variant="primary"
3899
- [disabled]="submitting() || !canAdvance()"
3900
- (click)="finish()"
3901
- >
3902
- {{ submitting() ? 'Submitting…' : finishLabel() }}
3903
- </button>
3904
- } @else {
3905
- <button strct-button variant="primary" [disabled]="!canAdvance()" (click)="next()">
3906
- {{ nextLabel() }}
3907
- </button>
3908
- }
4054
+ <div class="strct-wiz__foot">
4055
+ @if (cancelable()) {
4056
+ <button
4057
+ strct-button
4058
+ variant="flat"
4059
+ class="strct-wiz__cancel"
4060
+ (click)="cancelled.emit()"
4061
+ >
4062
+ {{ cancelLabel() }}
4063
+ </button>
4064
+ }
4065
+ <button strct-button variant="flat" [disabled]="current() === 0" (click)="back()">
4066
+ {{ backLabel() }}
4067
+ </button>
4068
+ @if (isLast()) {
4069
+ <button
4070
+ strct-button
4071
+ variant="primary"
4072
+ [disabled]="submitting() || !canAdvance()"
4073
+ (click)="finish()"
4074
+ >
4075
+ {{ submitting() ? submittingLabel() : finishLabel() }}
4076
+ </button>
4077
+ } @else {
4078
+ <button strct-button variant="primary" [disabled]="!canAdvance()" (click)="next()">
4079
+ {{ nextLabel() }}
4080
+ </button>
4081
+ }
4082
+ </div>
4083
+ </div>
4084
+
4085
+ <aside class="strct-wiz__aside">
4086
+ <ng-content select="[strctWizardAside]" />
4087
+ </aside>
3909
4088
  </div>
3910
- `, host: { class: 'strct-wiz' }, styles: [".strct-wiz{display:block}.strct-wiz__steps{display:flex;align-items:center;gap:6px}.strct-wiz__step{display:flex;align-items:center;gap:8px}.strct-wiz__dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:600;color:var(--t2);background:var(--bg-3);border:1px solid var(--b2)}.strct-wiz__label{font-size:12px;color:var(--t2)}.strct-wiz__step--active .strct-wiz__dot{background:var(--acc-m);color:var(--acc);border-color:var(--acc)}.strct-wiz__step--active .strct-wiz__label{color:var(--t1);font-weight:600}.strct-wiz__step--done .strct-wiz__dot{background:var(--acc-m);color:var(--acc);border-color:var(--acc30)}.strct-wiz__sep{flex:1;height:1px;background:var(--b2);min-width:18px}.strct-wiz__content{margin:18px 0;padding:16px;min-height:80px;background:var(--bg-1);border:1px solid var(--b2);border-radius:8px;color:var(--t2);font-size:13px}.strct-wiz__foot{display:flex;justify-content:flex-end;gap:8px}.strct-wiz__cancel{margin-inline-end:auto}\n"] }]
3911
- }], ctorParameters: () => [], propDecorators: { steps: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => StrctStep), { isSignal: true }] }], current: [{ type: i0.Input, args: [{ isSignal: true, alias: "current", required: false }] }, { type: i0.Output, args: ["currentChange"] }], finishLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "finishLabel", required: false }] }], backLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "backLabel", required: false }] }], nextLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "nextLabel", required: false }] }], submitting: [{ type: i0.Input, args: [{ isSignal: true, alias: "submitting", required: false }] }], cancelable: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelable", required: false }] }], finished: [{ type: i0.Output, args: ["finished"] }], cancelled: [{ type: i0.Output, args: ["cancelled"] }], stepChange: [{ type: i0.Output, args: ["stepChange"] }] } });
4089
+ `, host: { class: 'strct-wiz', '[class.strct-wiz--vertical]': 'vertical()' }, styles: [".strct-wiz{display:block}.strct-wiz__steps{display:flex;align-items:center;gap:6px}.strct-wiz__step{display:flex;align-items:center;gap:8px}.strct-wiz__dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:600;color:var(--t2);background:var(--bg-3);border:1px solid var(--b2)}.strct-wiz__label{font-size:12px;color:var(--t2)}.strct-wiz__step--active .strct-wiz__dot{background:var(--acc-m);color:var(--acc);border-color:var(--acc)}.strct-wiz__step--active .strct-wiz__label{color:var(--t1);font-weight:600}.strct-wiz__step--done .strct-wiz__dot{background:var(--acc-m);color:var(--acc);border-color:var(--acc30)}.strct-wiz__sep{flex:1;height:1px;background:var(--b2);min-width:18px}.strct-wiz__content{margin:18px 0;padding:16px;min-height:80px;background:var(--bg-1);border:1px solid var(--b2);border-radius:8px;color:var(--t2);font-size:13px}.strct-wiz__foot{display:flex;justify-content:flex-end;gap:8px}.strct-wiz__cancel{margin-inline-end:auto}.strct-wiz__aside{display:none}.strct-wiz--vertical{container-type:inline-size}.strct-wiz__layout--v{display:grid;grid-template-columns:232px minmax(0,1fr);border:1px solid var(--b2);border-radius:12px;background:var(--bg-1);overflow:hidden}.strct-wiz__layout--v.strct-wiz__layout--aside{grid-template-columns:232px minmax(0,1fr) 280px}.strct-wiz__layout--v .strct-wiz__aside{display:block;background:var(--bg-2);border-inline-start:1px solid var(--b1);overflow-y:auto}.strct-wiz__layout--v .strct-wiz__main{display:flex;flex-direction:column;min-width:0}.strct-wiz__layout--v .strct-wiz__content{flex:1;margin:0;padding:20px 24px;border:0;border-radius:0;background:transparent;overflow-y:auto}.strct-wiz__layout--v .strct-wiz__foot{padding:13px 24px;border-top:1px solid var(--b1)}.strct-wiz__rail{display:flex;flex-direction:column;padding:20px 18px 16px;background:var(--bg-2);border-inline-end:1px solid var(--b1);min-width:0}.strct-wiz__vtitle{font-size:15px;font-weight:600;letter-spacing:-.2px;line-height:1.3;margin-bottom:12px}.strct-wiz__pbar{height:4px;border-radius:99px;background:var(--bg-a);overflow:hidden;flex:none}.strct-wiz__pbar i{display:block;height:100%;border-radius:99px;background:var(--acc);transition:width .4s cubic-bezier(.4,0,.2,1)}.strct-wiz__pcount{font-family:var(--mono);font-size:10.5px;letter-spacing:.4px;color:var(--t3);margin:7px 0 16px;font-variant-numeric:tabular-nums}.strct-wiz__vsteps{display:flex;flex-direction:column}.strct-wiz__vstep{display:grid;grid-template-columns:22px 1fr;gap:11px;align-items:start;width:100%;padding:8px 0;border:0;background:none;text-align:start;font:inherit;color:inherit;cursor:pointer}.strct-wiz__vstep:disabled{cursor:default;opacity:.55}.strct-wiz__ring{width:20px;height:20px;margin-top:1px;border-radius:50%;border:2px dashed var(--b3);display:grid;place-items:center;transition:border-color .2s,background .2s}.strct-wiz__vlabel{display:block;font-size:13px;color:var(--t2);transition:color .15s}.strct-wiz__vdesc{display:block;font-size:11px;color:var(--t3);margin-top:1px;opacity:0;height:0;overflow:hidden;transition:opacity .25s}.strct-wiz__vstep--done .strct-wiz__ring{border:0;background:var(--success)}.strct-wiz__vstep--done .strct-wiz__ring:after{content:\"\";width:8px;height:4px;border-left:2px solid var(--inv);border-bottom:2px solid var(--inv);transform:rotate(-45deg) translate(1px,-1px)}.strct-wiz__vstep--done .strct-wiz__vlabel{color:var(--t1)}.strct-wiz__vstep--active .strct-wiz__ring{border-style:solid;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc18)}.strct-wiz__vstep--active .strct-wiz__ring:after{content:\"\";width:7px;height:7px;border-radius:50%;background:var(--acc)}.strct-wiz__vstep--active .strct-wiz__vlabel{color:var(--t1);font-weight:600}.strct-wiz__vstep--active .strct-wiz__vdesc{opacity:1;height:auto}@container (max-width: 800px){.strct-wiz__layout--v.strct-wiz__layout--aside{grid-template-columns:232px minmax(0,1fr)}.strct-wiz__layout--v .strct-wiz__aside{display:none}}@container (max-width: 720px){.strct-wiz__layout--v,.strct-wiz__layout--v.strct-wiz__layout--aside{grid-template-columns:56px minmax(0,1fr)}.strct-wiz__rail{padding:18px 0 12px;align-items:center}.strct-wiz__vtitle,.strct-wiz__pbar,.strct-wiz__pcount,.strct-wiz__vmeta{display:none}.strct-wiz__vsteps{gap:3px;align-items:center}.strct-wiz__vstep{grid-template-columns:22px;justify-items:center;position:relative;padding:7px 0}.strct-wiz__vstep:not(:last-child):after{content:\"\";position:absolute;left:50%;top:30px;height:10px;width:1.5px;background:var(--b3)}.strct-wiz__vstep--done:not(:last-child):after{background:var(--success);opacity:.6}.strct-wiz__layout--v .strct-wiz__content{padding:16px 18px}.strct-wiz__layout--v .strct-wiz__foot{padding:12px 18px}}@media(prefers-reduced-motion:reduce){.strct-wiz__pbar i,.strct-wiz__ring,.strct-wiz__vlabel,.strct-wiz__vdesc{transition:none}}\n"] }]
4090
+ }], ctorParameters: () => [], propDecorators: { steps: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => StrctStep), { isSignal: true }] }], asideDef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => StrctWizardAside), { isSignal: true }] }], current: [{ type: i0.Input, args: [{ isSignal: true, alias: "current", required: false }] }, { type: i0.Output, args: ["currentChange"] }], vertical: [{ type: i0.Input, args: [{ isSignal: true, alias: "vertical", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], finishLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "finishLabel", required: false }] }], backLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "backLabel", required: false }] }], nextLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "nextLabel", required: false }] }], cancelLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelLabel", required: false }] }], submittingLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "submittingLabel", required: false }] }], progressLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "progressLabel", required: false }] }], stepsLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepsLabel", required: false }] }], submitting: [{ type: i0.Input, args: [{ isSignal: true, alias: "submitting", required: false }] }], cancelable: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelable", required: false }] }], finished: [{ type: i0.Output, args: ["finished"] }], cancelled: [{ type: i0.Output, args: ["cancelled"] }], stepChange: [{ type: i0.Output, args: ["stepChange"] }] } });
3912
4091
 
3913
4092
  /**
3914
4093
  * Separator rule. Horizontal by default; pass `vertical` for an inline rule.
@@ -15653,5 +15832,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImpo
15653
15832
  * Generated bundle index. Do not edit.
15654
15833
  */
15655
15834
 
15656
- export { STRCT_ICONS, STRCT_ICON_GROUPS, STRCT_ICON_NAMES, STRCT_MASKS, STRCT_PALETTES, STRCT_RAW_ICONS, STRCT_TIME_RANGE_PRESETS, StrctAccordion, StrctAccordionPanel, StrctAlert, StrctAnnouncer, StrctAvatar, StrctBadge, StrctBreadcrumb, StrctBreadcrumbItem, StrctButton, StrctButtonGroup, StrctBytesPipe, StrctCard, StrctCardBlock, StrctCardFooter, StrctCardHeader, StrctCascadeHost, StrctCascadeNode, StrctCascadeSelect, StrctCellDef, StrctCellStatus, StrctChart, StrctCheckbox, StrctChips, StrctCode, StrctColorPicker, StrctCombobox, StrctCommandPalette, StrctContextMenu, StrctContextMenuTrigger, StrctCopy, StrctDatagrid, StrctDatagridActionBar, StrctDatepicker, StrctDesc, StrctDescriptionList, StrctDiff, StrctDivider, StrctDonut, StrctDrawer, StrctDrawerFooter, StrctDropdown, StrctDropdownDivider, StrctDropdownItem, StrctDropdownTrigger, StrctDurationPipe, StrctEmptyState, StrctField, StrctFile, StrctFilterBar, StrctFlow, StrctFooter, StrctGauge, StrctHeader, StrctHero, StrctHotkeysHelp, StrctHotkeysService, StrctIcon, StrctInput, StrctInputMask, StrctInputOtp, StrctKbd, StrctKnob, StrctLogViewer, StrctLogin, StrctMenuPanel, StrctMenuService, StrctMenubar, StrctMetricTile, StrctModal, StrctNav, StrctNavItem, StrctOverlay, StrctPageHeader, StrctPageHeaderActions, StrctPageHeaderCrumbs, StrctPagination, StrctPassword, StrctProgress, StrctRadio, StrctRadioGroup, StrctRail, StrctRange, StrctRatePipe, StrctRating, StrctReorder, StrctReorderItem, StrctRowDetailDef, StrctSearchbox, StrctSectionMenu, StrctSegmented, StrctShell, StrctShellService, StrctSiPipe, StrctSignpost, StrctSkeleton, StrctSparkline, StrctSpeedDial, StrctSpinner, StrctSplitButton, StrctSplitter, StrctStack, StrctStackItem, StrctStep, StrctSubmenu, StrctTab, StrctTable, StrctTabs, StrctTag, StrctThemeService, StrctThemeSwitcher, StrctTimeRangePicker, StrctTimeline, StrctTimelineItem, StrctToastOutlet, StrctToastService, StrctToggle, StrctTooltip, StrctTour, StrctTransfer, StrctTree, StrctTreeNode, StrctVerticalNav, StrctWatermark, StrctWizard, parseAnsi, registerStrctIcon, strctComputeDiff, strctFormatBytes, strctFormatDuration, strctFormatRate, strctFormatSi, strctValidationIcon, strctValidationTone };
15835
+ export { STRCT_ICONS, STRCT_ICON_GROUPS, STRCT_ICON_NAMES, STRCT_MASKS, STRCT_PALETTES, STRCT_RAW_ICONS, STRCT_TIME_RANGE_PRESETS, STRCT_WIZARD_DEFAULTS, StrctAccordion, StrctAccordionPanel, StrctAlert, StrctAnnouncer, StrctAvatar, StrctBadge, StrctBreadcrumb, StrctBreadcrumbItem, StrctButton, StrctButtonGroup, StrctBytesPipe, StrctCard, StrctCardBlock, StrctCardFooter, StrctCardHeader, StrctCascadeHost, StrctCascadeNode, StrctCascadeSelect, StrctCellDef, StrctCellStatus, StrctChart, StrctCheckbox, StrctChips, StrctCode, StrctColorPicker, StrctCombobox, StrctCommandPalette, StrctContextMenu, StrctContextMenuTrigger, StrctCopy, StrctDatagrid, StrctDatagridActionBar, StrctDatepicker, StrctDesc, StrctDescriptionList, StrctDiff, StrctDivider, StrctDonut, StrctDrawer, StrctDrawerFooter, StrctDropdown, StrctDropdownDivider, StrctDropdownItem, StrctDropdownTrigger, StrctDurationPipe, StrctEmptyState, StrctField, StrctFile, StrctFilterBar, StrctFlow, StrctFooter, StrctGauge, StrctHeader, StrctHero, StrctHotkeysHelp, StrctHotkeysService, StrctIcon, StrctInput, StrctInputMask, StrctInputOtp, StrctKbd, StrctKnob, StrctLogViewer, StrctLogin, StrctMenuPanel, StrctMenuService, StrctMenubar, StrctMetricTile, StrctModal, StrctNav, StrctNavItem, StrctOverlay, StrctPageHeader, StrctPageHeaderActions, StrctPageHeaderCrumbs, StrctPagination, StrctPassword, StrctProgress, StrctRadio, StrctRadioGroup, StrctRail, StrctRange, StrctRatePipe, StrctRating, StrctReorder, StrctReorderItem, StrctRowDetailDef, StrctSearchbox, StrctSectionMenu, StrctSegmented, StrctShell, StrctShellService, StrctSiPipe, StrctSignpost, StrctSkeleton, StrctSparkline, StrctSpeedDial, StrctSpinner, StrctSplitButton, StrctSplitter, StrctStack, StrctStackItem, StrctStep, StrctSubmenu, StrctTab, StrctTable, StrctTabs, StrctTag, StrctThemeService, StrctThemeSwitcher, StrctTimeRangePicker, StrctTimeline, StrctTimelineItem, StrctToastOutlet, StrctToastService, StrctToggle, StrctTooltip, StrctTour, StrctTransfer, StrctTree, StrctTreeNode, StrctVerticalNav, StrctWatermark, StrctWizard, StrctWizardAside, parseAnsi, provideStrctWizardDefaults, registerStrctIcon, strctComputeDiff, strctFormatBytes, strctFormatDuration, strctFormatRate, strctFormatSi, strctValidationIcon, strctValidationTone };
15657
15836
  //# sourceMappingURL=akcelik-strct.mjs.map