@akcelik/strct 0.28.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akcelik/strct",
3
- "version": "0.28.0",
3
+ "version": "0.30.0",
4
4
  "description": "UIStruct — a standalone Angular component library with a tokenised, multi-palette theme system, built for datacenter / infrastructure management UIs.",
5
5
  "author": "Serkan Akcelik <serkan.akcelik@gmail.com>",
6
6
  "license": "MIT",
@@ -32,7 +32,8 @@
32
32
  "@angular/common": "^21.2.0",
33
33
  "@angular/core": "^21.2.0",
34
34
  "@angular/forms": "^21.2.0",
35
- "@angular/platform-browser": "^21.2.0"
35
+ "@angular/platform-browser": "^21.2.0",
36
+ "@angular/router": "^21.2.0"
36
37
  },
37
38
  "dependencies": {
38
39
  "tslib": "^2.3.0"
@@ -247,6 +247,22 @@ interface StrctRailItem {
247
247
  /** Badge colour (defaults to `accent`). When collapsed it renders as a dot. */
248
248
  badgeStatus?: StrctRailStatus;
249
249
  disabled?: boolean;
250
+ /** `'bottom'` pins the item to the foot of the rail (e.g. Administration). */
251
+ placement?: 'top' | 'bottom';
252
+ /**
253
+ * Render as a real router link (`<a routerLink>`): middle-click, ⌘/Ctrl-click
254
+ * and "open in new tab" work; `(select)` still fires on plain activation.
255
+ * When neither `routerLink` nor `href` is set the item stays a `<button>`.
256
+ */
257
+ routerLink?: string | unknown[];
258
+ /** Render as a plain `<a href>` (external or non-router destinations). */
259
+ href?: string;
260
+ /** Small trailing status dot with no text (e.g. "unsaved changes"). */
261
+ dot?: boolean;
262
+ /** Dot tone; defaults to `accent`. */
263
+ dotStatus?: StrctRailStatus;
264
+ /** Muted trailing icon (e.g. "restart required"), before any badge / dot. */
265
+ trailingIcon?: string;
250
266
  }
251
267
  /**
252
268
  * Collapsible, data-driven primary navigation rail for an application shell.
@@ -269,7 +285,16 @@ declare class StrctRail {
269
285
  readonly ariaLabel: _angular_core.InputSignal<string>;
270
286
  /** Emitted when an item is chosen. */
271
287
  readonly select: _angular_core.OutputEmitterRef<StrctRailItem>;
272
- protected pick(item: StrctRailItem): void;
288
+ protected readonly topItems: _angular_core.Signal<StrctRailItem[]>;
289
+ protected readonly bottomItems: _angular_core.Signal<StrctRailItem[]>;
290
+ /** Enabled item with a router destination → renders as `<a routerLink>`. */
291
+ protected isRouted(item: StrctRailItem): boolean;
292
+ /**
293
+ * Active state of a router-link item: an explicit `activeId` is authoritative;
294
+ * without one, the router's own active state drives it.
295
+ */
296
+ protected isActive(item: StrctRailItem, routerActive: boolean): boolean;
297
+ protected pick(item: StrctRailItem, event?: MouseEvent): void;
273
298
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctRail, never>;
274
299
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctRail, "strct-rail", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "activeId": { "alias": "activeId"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "activeId": "activeIdChange"; "collapsed": "collapsedChange"; "select": "select"; }, never, never, true, never>;
275
300
  }
@@ -1111,6 +1136,16 @@ interface StrctMenuLink {
1111
1136
  /** Optional leading icon name. */
1112
1137
  icon?: string;
1113
1138
  disabled?: boolean;
1139
+ /** Trailing count/label chip (e.g. a deviation count). */
1140
+ badge?: string | number;
1141
+ /** Badge tone; defaults to `accent` (shared vocabulary with {@link StrctRailItem}). */
1142
+ badgeStatus?: StrctRailStatus;
1143
+ /** Small trailing status dot with no text (e.g. "unsaved changes"). */
1144
+ dot?: boolean;
1145
+ /** Dot tone; defaults to `accent`. */
1146
+ dotStatus?: StrctRailStatus;
1147
+ /** Muted trailing icon (e.g. "restart required"), before any badge / dot. */
1148
+ trailingIcon?: string;
1114
1149
  }
1115
1150
  /** A category (level 1) that groups {@link StrctMenuLink} items (level 2). */
1116
1151
  interface StrctMenuSection {
@@ -2240,7 +2275,8 @@ type StrctChartType = 'line' | 'area' | 'bar';
2240
2275
  type StrctChartCurve = 'smooth' | 'linear' | 'step';
2241
2276
  /** One series in a multi-series chart. */
2242
2277
  interface StrctChartSeries {
2243
- data: number[];
2278
+ /** Values; `null` (or `NaN`) marks a data gap — the line breaks, no interpolation. */
2279
+ data: (number | null)[];
2244
2280
  /** Legend + tooltip name. */
2245
2281
  label?: string;
2246
2282
  /** Per-series color; falls back to the chart's `status`. */
@@ -2255,6 +2291,24 @@ interface StrctChartSeries {
2255
2291
  * custom SVG dasharray string to tune it.
2256
2292
  */
2257
2293
  dash?: boolean | string;
2294
+ /**
2295
+ * Optional per-point lower/upper bound (e.g. min/max per downsampled bucket).
2296
+ * When both are set a soft band is filled between them behind the line, so
2297
+ * within-bucket spikes stay visible; the tooltip shows `avg (min–max)`.
2298
+ */
2299
+ lower?: (number | null)[];
2300
+ upper?: (number | null)[];
2301
+ }
2302
+ /** A vertical event / annotation marker anchored to a data index. */
2303
+ interface StrctChartAnnotation {
2304
+ /** X position as a data index. */
2305
+ index: number;
2306
+ /** Shown near the top of the line and in the tooltip at that index. */
2307
+ label?: string;
2308
+ /** Line color; default 'accent'. */
2309
+ status?: StrctChartStatus;
2310
+ /** Dashed line; default true. */
2311
+ dashed?: boolean;
2258
2312
  }
2259
2313
  /** A horizontal reference / threshold line. */
2260
2314
  interface StrctChartThreshold {
@@ -2274,12 +2328,15 @@ interface SeriesRender {
2274
2328
  label: string;
2275
2329
  area: boolean;
2276
2330
  dash: string | null;
2277
- pts: Pt[];
2331
+ pts: (Pt | null)[];
2278
2332
  path: string;
2279
2333
  areaPath: string;
2334
+ bandPath: string;
2280
2335
  /** Global x-offset (right-aligned) so shorter series line up on the right. */
2281
2336
  offset: number;
2282
- data: number[];
2337
+ data: (number | null)[];
2338
+ lower?: (number | null)[];
2339
+ upper?: (number | null)[];
2283
2340
  }
2284
2341
  /**
2285
2342
  * Single- or multi-series chart (line / area / bar). Dependency-free SVG,
@@ -2297,8 +2354,8 @@ interface SeriesRender {
2297
2354
  * <strct-chart [series]="[{data:inArr,label:'In'},{data:outArr,label:'Out'}]" legend />
2298
2355
  */
2299
2356
  declare class StrctChart {
2300
- /** Single-series data (or use `series`). */
2301
- readonly data: _angular_core.InputSignal<number[]>;
2357
+ /** Single-series data (or use `series`). `null` / `NaN` marks a gap — the line breaks. */
2358
+ readonly data: _angular_core.InputSignal<(number | null)[]>;
2302
2359
  /** Multiple series; when set it takes precedence over `data`. */
2303
2360
  readonly series: _angular_core.InputSignal<StrctChartSeries[] | null>;
2304
2361
  /** Visual type / variant. */
@@ -2355,6 +2412,28 @@ declare class StrctChart {
2355
2412
  * `[valueFormat]="v => v.toFixed(3) + ' %'"`. When null, the raw value is shown.
2356
2413
  */
2357
2414
  readonly valueFormat: _angular_core.InputSignal<((v: number) => string) | null>;
2415
+ /** Vertical event / annotation markers ("alarm raised", "deploy", …). */
2416
+ readonly annotations: _angular_core.InputSignal<StrctChartAnnotation[]>;
2417
+ /**
2418
+ * Drive the crosshair externally (e.g. mirror a sibling chart's hover for a
2419
+ * vCenter-style synced dashboard). A local pointer wins while over this chart.
2420
+ */
2421
+ readonly activeIndex: _angular_core.InputSignal<number | null>;
2422
+ /** Drag-select a range; the selection is emitted through `brushChange`. */
2423
+ readonly brush: _angular_core.InputSignalWithTransform<boolean, unknown>;
2424
+ /**
2425
+ * Drag-select **zooms into** the selected range (implies `brush`).
2426
+ * Double-click, Escape or the reset chip zooms back out.
2427
+ */
2428
+ readonly zoom: _angular_core.InputSignalWithTransform<boolean, unknown>;
2429
+ /** Tooltip text for a gap (null) point. */
2430
+ readonly gapText: _angular_core.InputSignal<string>;
2431
+ /** Accessible label of the reset-zoom chip (localizable). */
2432
+ readonly resetLabel: _angular_core.InputSignal<string>;
2433
+ /** Emits the hovered point index (or null on leave) — wire cross-chart sync with it. */
2434
+ readonly hoverIndex: _angular_core.OutputEmitterRef<number | null>;
2435
+ /** Emits the brushed [startIndex, endIndex] (inclusive), or null when cleared. */
2436
+ readonly brushChange: _angular_core.OutputEmitterRef<[number, number] | null>;
2358
2437
  protected readonly pad: {
2359
2438
  l: number;
2360
2439
  r: number;
@@ -2376,6 +2455,14 @@ declare class StrctChart {
2376
2455
  /** Reactive OS motion preference (tracks live changes, not just first load). */
2377
2456
  private readonly reduceMotion;
2378
2457
  protected readonly hoverIdx: _angular_core.WritableSignal<number | null>;
2458
+ protected readonly dispIdx: _angular_core.Signal<number | null>;
2459
+ private readonly viewRange;
2460
+ protected readonly brushDrag: _angular_core.WritableSignal<{
2461
+ a: number;
2462
+ b: number;
2463
+ } | null>;
2464
+ private readonly brushEnabled;
2465
+ protected readonly zoomed: _angular_core.Signal<boolean>;
2379
2466
  constructor();
2380
2467
  private readonly seriesResolved;
2381
2468
  protected readonly isMulti: _angular_core.Signal<boolean>;
@@ -2384,16 +2471,22 @@ declare class StrctChart {
2384
2471
  protected readonly isEmpty: _angular_core.Signal<boolean>;
2385
2472
  /** Number of x slots. */
2386
2473
  private readonly nx;
2474
+ /** Visible index window: the brush-zoom range, or the full data. */
2475
+ private readonly domain;
2387
2476
  /** Left padding: wider when the y-axis labels are shown. */
2388
2477
  protected readonly pl: _angular_core.Signal<number>;
2389
2478
  private chartW;
2390
2479
  private chartH;
2391
- /** Horizontal gap between two data points, in px. */
2480
+ /** Horizontal gap between two data points, in px (of the visible window). */
2392
2481
  private stepX;
2482
+ /** Real values inside the visible window (multi-aware; bands included). */
2483
+ private readonly visibleValues;
2393
2484
  private readonly yMax;
2394
2485
  private readonly yMin;
2395
2486
  private yOf;
2396
- protected readonly points: _angular_core.Signal<Pt[]>;
2487
+ protected readonly points: _angular_core.Signal<(Pt | null)[]>;
2488
+ /** Non-gap points only (dot rendering). */
2489
+ protected readonly dotPts: _angular_core.Signal<Pt[]>;
2397
2490
  protected readonly head: _angular_core.Signal<Pt | null>;
2398
2491
  private readonly plotPoints;
2399
2492
  protected readonly linePath: _angular_core.Signal<string>;
@@ -2430,17 +2523,19 @@ declare class StrctChart {
2430
2523
  protected readonly hoverX: _angular_core.Signal<number | null>;
2431
2524
  protected readonly hoverPt: _angular_core.Signal<Pt | null>;
2432
2525
  protected readonly hoverValue: _angular_core.Signal<number | "">;
2526
+ /** The hovered slot exists but holds a gap (single-series). */
2527
+ protected readonly hoverGap: _angular_core.Signal<boolean>;
2433
2528
  /** hoverValue run through valueFormat (unit / precision), else the raw value. */
2434
2529
  protected readonly hoverValueText: _angular_core.Signal<string>;
2435
2530
  /** Delta magnitude, formatted the same way so its unit matches the value. */
2436
2531
  protected readonly absDeltaText: _angular_core.Signal<string>;
2437
2532
  protected readonly hoverLabel: _angular_core.Signal<string>;
2438
- /** Change from the previous point (single-series; null at the first point). */
2533
+ /** Change from the previous point (single-series; null at the first point or across a gap). */
2439
2534
  protected readonly hoverDelta: _angular_core.Signal<number | null>;
2440
2535
  protected readonly absDelta: _angular_core.Signal<number>;
2441
2536
  /** Second tooltip line: "Xs ago" while live, else the x label. */
2442
2537
  protected readonly hoverMeta: _angular_core.Signal<string>;
2443
- /** Per-series value at the hovered index (multi-series tooltip). */
2538
+ /** Per-series value at the hovered index (multi-series tooltip; bands as `avg (min–max)`). */
2444
2539
  protected readonly hoverRows: _angular_core.Signal<{
2445
2540
  label: string;
2446
2541
  color: string;
@@ -2453,17 +2548,53 @@ declare class StrctChart {
2453
2548
  y: number;
2454
2549
  color: string;
2455
2550
  }[]>;
2551
+ protected readonly annotationLines: _angular_core.Signal<{
2552
+ x: number;
2553
+ color: string;
2554
+ dashed: boolean;
2555
+ label: string;
2556
+ index: number;
2557
+ }[]>;
2558
+ /** The annotation sitting exactly under the crosshair, if any. */
2559
+ protected readonly annAt: _angular_core.Signal<{
2560
+ x: number;
2561
+ color: string;
2562
+ dashed: boolean;
2563
+ label: string;
2564
+ index: number;
2565
+ } | null>;
2566
+ protected readonly brushRect: _angular_core.Signal<{
2567
+ x: number;
2568
+ w: number;
2569
+ } | null>;
2570
+ /** Zoom back out to the full data window (also emits `brushChange` null). */
2571
+ resetZoom(): void;
2456
2572
  /** Screen-reader summary of the whole chart (role="img" name). */
2457
2573
  protected readonly chartAria: _angular_core.Signal<string>;
2458
2574
  /** aria-live text announcing the hovered / keyboard-selected point. */
2459
2575
  protected readonly srText: _angular_core.Signal<string>;
2460
- /** Pixel x of a data index (shared by the plot and the x-axis labels). */
2576
+ /** Pixel x of a data index (shared by the plot, labels and annotations). */
2461
2577
  protected xOf(i: number): number;
2462
- /** Keyboard access to the crosshair: arrows walk the points. */
2578
+ /** Set the local hover index, emitting `hoverIndex` on change. */
2579
+ private setHover;
2580
+ protected onLeave(): void;
2581
+ /** Keyboard access: arrows walk the points; Escape unwinds brush → zoom → crosshair. */
2463
2582
  protected onKey(event: KeyboardEvent): void;
2583
+ /** Data index under the pointer, clamped to the visible window. */
2584
+ private idxAt;
2585
+ protected onDown(event: PointerEvent): void;
2464
2586
  protected onMove(event: PointerEvent): void;
2587
+ protected onUp(): void;
2588
+ protected onDblClick(): void;
2589
+ /**
2590
+ * The rendered chart as a standalone SVG string — theme colors resolved to
2591
+ * literals, background baked in, y-tick / x-label text included.
2592
+ */
2593
+ toSVG(): string;
2594
+ /** The chart as a PNG data URL at the given scale (default 2×). */
2595
+ toPNG(scale?: number): Promise<string>;
2465
2596
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctChart, never>;
2466
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctChart, "strct-chart", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "series": { "alias": "series"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "curve": { "alias": "curve"; "required": false; "isSignal": true; }; "area": { "alias": "area"; "required": false; "isSignal": true; }; "glow": { "alias": "glow"; "required": false; "isSignal": true; }; "live": { "alias": "live"; "required": false; "isSignal": true; }; "interval": { "alias": "interval"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "grid": { "alias": "grid"; "required": false; "isSignal": true; }; "dots": { "alias": "dots"; "required": false; "isSignal": true; }; "legend": { "alias": "legend"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "xTicks": { "alias": "xTicks"; "required": false; "isSignal": true; }; "xFormat": { "alias": "xFormat"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "yAxis": { "alias": "yAxis"; "required": false; "isSignal": true; }; "yTicks": { "alias": "yTicks"; "required": false; "isSignal": true; }; "axisFormat": { "alias": "axisFormat"; "required": false; "isSignal": true; }; "thresholds": { "alias": "thresholds"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "agoFormat": { "alias": "agoFormat"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2597
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctChart, "strct-chart", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "series": { "alias": "series"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "curve": { "alias": "curve"; "required": false; "isSignal": true; }; "area": { "alias": "area"; "required": false; "isSignal": true; }; "glow": { "alias": "glow"; "required": false; "isSignal": true; }; "live": { "alias": "live"; "required": false; "isSignal": true; }; "interval": { "alias": "interval"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "grid": { "alias": "grid"; "required": false; "isSignal": true; }; "dots": { "alias": "dots"; "required": false; "isSignal": true; }; "legend": { "alias": "legend"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "xTicks": { "alias": "xTicks"; "required": false; "isSignal": true; }; "xFormat": { "alias": "xFormat"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "yAxis": { "alias": "yAxis"; "required": false; "isSignal": true; }; "yTicks": { "alias": "yTicks"; "required": false; "isSignal": true; }; "axisFormat": { "alias": "axisFormat"; "required": false; "isSignal": true; }; "thresholds": { "alias": "thresholds"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "agoFormat": { "alias": "agoFormat"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "annotations": { "alias": "annotations"; "required": false; "isSignal": true; }; "activeIndex": { "alias": "activeIndex"; "required": false; "isSignal": true; }; "brush": { "alias": "brush"; "required": false; "isSignal": true; }; "zoom": { "alias": "zoom"; "required": false; "isSignal": true; }; "gapText": { "alias": "gapText"; "required": false; "isSignal": true; }; "resetLabel": { "alias": "resetLabel"; "required": false; "isSignal": true; }; }, { "hoverIndex": "hoverIndex"; "brushChange": "brushChange"; }, never, never, true, never>;
2467
2598
  }
2468
2599
 
2469
2600
  /** A single weighted slice of a donut chart. */
@@ -2819,4 +2950,4 @@ declare class StrctEmptyState {
2819
2950
  }
2820
2951
 
2821
2952
  export { STRCT_ICONS, STRCT_ICON_GROUPS, STRCT_MASKS, STRCT_PALETTES, STRCT_RAW_ICONS, StrctAccordion, StrctAccordionPanel, StrctAlert, StrctAvatar, StrctBadge, StrctBreadcrumb, StrctBreadcrumbItem, StrctButton, StrctButtonGroup, StrctCard, StrctCardBlock, StrctCardFooter, StrctCardHeader, StrctCascadeHost, StrctCascadeNode, StrctCascadeSelect, StrctCellDef, StrctCellStatus, StrctChart, StrctCheckbox, StrctChips, StrctColorPicker, StrctCombobox, StrctCommandPalette, StrctContextMenu, StrctContextMenuTrigger, StrctDatagrid, StrctDatagridActionBar, StrctDatepicker, StrctDesc, StrctDescriptionList, StrctDivider, StrctDonut, StrctDrawer, StrctDrawerFooter, StrctDropdown, StrctDropdownDivider, StrctDropdownItem, StrctEmptyState, StrctField, StrctFile, StrctFlow, StrctFooter, StrctGauge, StrctHeader, StrctHero, StrctIcon, StrctInput, StrctInputMask, StrctInputOtp, StrctKbd, StrctKnob, StrctLogin, StrctMenuPanel, StrctMenuService, StrctMetricTile, StrctModal, StrctNav, StrctNavItem, StrctOverlay, StrctPagination, StrctPassword, StrctProgress, StrctRadio, StrctRadioGroup, StrctRail, StrctRange, StrctRating, StrctRowDetailDef, StrctSectionMenu, StrctSegmented, StrctShell, StrctShellService, StrctSignpost, StrctSkeleton, StrctSparkline, StrctSpeedDial, StrctSpinner, StrctStack, StrctStackItem, StrctStep, StrctSubmenu, StrctTab, StrctTable, StrctTabs, StrctTag, StrctThemeService, StrctThemeSwitcher, StrctTimeline, StrctTimelineItem, StrctToastOutlet, StrctToastService, StrctToggle, StrctTooltip, StrctTree, StrctTreeNode, StrctVerticalNav, StrctWizard, registerStrctIcon, strctValidationIcon, strctValidationTone };
2822
- export type { StrctAlertType, StrctAvatarSize, StrctAvatarStatus, StrctBadgeStatus, StrctButtonSize, StrctButtonVariant, StrctCascadeOption, StrctCellContext, StrctChartCurve, StrctChartSeries, StrctChartStatus, StrctChartThreshold, StrctChartType, StrctColumn, StrctCommandItem, StrctDatagridColumn, StrctDatagridLabels, StrctDescAlign, StrctDescItem, StrctDonutSegment, StrctDrawerSide, StrctDrawerSize, StrctEmptyVariant, StrctFlowDirection, StrctFlowNode, StrctFlowOrientation, StrctIconBadge, StrctKnobStatus, StrctMenuItem, StrctMenuLink, StrctMenuOpenOptions, StrctMenuSection, StrctMetricStatus, StrctModalSize, StrctMode, StrctOption, StrctOverlayPlacement, StrctPalette, StrctPaletteInfo, StrctProgressStatus, StrctRailItem, StrctRailStatus, StrctRow, StrctRowId, StrctSegmentedOption, StrctSegmentedSize, StrctSignpostPosition, StrctSpeedDialDirection, StrctSpinnerSize, StrctStatus, StrctTagStatus, StrctThresholds, StrctTimelineState, StrctToast, StrctToastOptions, StrctToastType, StrctTooltipPosition, StrctTreeMenuEvent, StrctTreeNodeData, StrctTreeNodeMenuFn, StrctValidationState, StrctValidationStatus };
2953
+ export type { StrctAlertType, StrctAvatarSize, StrctAvatarStatus, StrctBadgeStatus, StrctButtonSize, StrctButtonVariant, StrctCascadeOption, StrctCellContext, StrctChartAnnotation, StrctChartCurve, StrctChartSeries, StrctChartStatus, StrctChartThreshold, StrctChartType, StrctColumn, StrctCommandItem, StrctDatagridColumn, StrctDatagridLabels, StrctDescAlign, StrctDescItem, StrctDonutSegment, StrctDrawerSide, StrctDrawerSize, StrctEmptyVariant, StrctFlowDirection, StrctFlowNode, StrctFlowOrientation, StrctIconBadge, StrctKnobStatus, StrctMenuItem, StrctMenuLink, StrctMenuOpenOptions, StrctMenuSection, StrctMetricStatus, StrctModalSize, StrctMode, StrctOption, StrctOverlayPlacement, StrctPalette, StrctPaletteInfo, StrctProgressStatus, StrctRailItem, StrctRailStatus, StrctRow, StrctRowId, StrctSegmentedOption, StrctSegmentedSize, StrctSignpostPosition, StrctSpeedDialDirection, StrctSpinnerSize, StrctStatus, StrctTagStatus, StrctThresholds, StrctTimelineState, StrctToast, StrctToastOptions, StrctToastType, StrctTooltipPosition, StrctTreeMenuEvent, StrctTreeNodeData, StrctTreeNodeMenuFn, StrctValidationState, StrctValidationStatus };