@akcelik/strct 0.24.0 → 0.25.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.24.0",
3
+ "version": "0.25.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",
@@ -841,6 +841,14 @@ declare class StrctModal {
841
841
  * `dismissible` for lightweight, transient dialogs where quick dismissal is fine.
842
842
  */
843
843
  readonly dismissible: _angular_core.InputSignalWithTransform<boolean, unknown>;
844
+ /** Allow repositioning the dialog by dragging its header (mouse + touch). */
845
+ readonly draggable: _angular_core.InputSignalWithTransform<boolean, unknown>;
846
+ /** Extra class(es) added to the dialog panel — style it from app-global CSS. */
847
+ readonly panelClass: _angular_core.InputSignal<string>;
848
+ /** Extra class(es) added to the backdrop / overlay. */
849
+ readonly backdropClass: _angular_core.InputSignal<string>;
850
+ /** Built-in look: `glass` is a theme-aware frosted preset (translucent panel + blurred backdrop). */
851
+ readonly variant: _angular_core.InputSignal<"solid" | "glass">;
844
852
  /** Emitted when the alert is dismissed. */
845
853
  readonly closed: _angular_core.OutputEmitterRef<void>;
846
854
  protected readonly titleId: string;
@@ -854,11 +862,19 @@ declare class StrctModal {
854
862
  protected onEscape(): void;
855
863
  /** Wrap Tab focus within the dialog. */
856
864
  protected onTab(event: Event): void;
865
+ /** Dialog translation from its centered position; reset on every open. */
866
+ private readonly dragOffset;
867
+ /** Pointer + clamp bounds captured at drag start; null while not dragging. */
868
+ private dragStart;
869
+ protected readonly dragTransform: _angular_core.Signal<string | null>;
870
+ protected onHeadPointerDown(event: PointerEvent): void;
871
+ protected onHeadPointerMove(event: PointerEvent): void;
872
+ protected onHeadPointerEnd(): void;
857
873
  private dialog;
858
874
  private focusable;
859
875
  private focusInitial;
860
876
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctModal, never>;
861
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctModal, "strct-modal", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "hideFooter": { "alias": "hideFooter"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "closed": "closed"; }, never, ["*", "[strctModalFooter]"], true, never>;
877
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctModal, "strct-modal", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "hideFooter": { "alias": "hideFooter"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "backdropClass": { "alias": "backdropClass"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "closed": "closed"; }, never, ["*", "[strctModalFooter]"], true, never>;
862
878
  }
863
879
 
864
880
  /** Marks the drawer's footer action area: `<ng-container strctDrawerFooter>…`. */
@@ -2029,6 +2045,11 @@ declare class StrctDatagrid {
2029
2045
  readonly detailPane: _angular_core.InputSignalWithTransform<boolean, unknown>;
2030
2046
  /** Compact density mode. */
2031
2047
  readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
2048
+ /**
2049
+ * Keep every row exactly one line tall: cell content never wraps — long values
2050
+ * truncate with an ellipsis instead — so tall content can't distort the grid.
2051
+ */
2052
+ readonly singleLine: _angular_core.InputSignalWithTransform<boolean, unknown>;
2032
2053
  /** Message shown when there are no rows. */
2033
2054
  readonly emptyText: _angular_core.InputSignal<string>;
2034
2055
  /** Show skeleton rows while data is loading. */
@@ -2148,7 +2169,7 @@ declare class StrctDatagrid {
2148
2169
  private commitSelection;
2149
2170
  private compare;
2150
2171
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctDatagrid, never>;
2151
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctDatagrid, "strct-datagrid", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "detailPane": { "alias": "detailPane"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "columnChooser": { "alias": "columnChooser"; "required": false; "isSignal": true; }; "sync": { "alias": "sync"; "required": false; "isSignal": true; }; "footerActionsDisabled": { "alias": "footerActionsDisabled"; "required": false; "isSignal": true; }; "rowId": { "alias": "rowId"; "required": false; "isSignal": true; }; "rowActions": { "alias": "rowActions"; "required": false; "isSignal": true; }; "initialSelection": { "alias": "initialSelection"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "syncChange": "syncChange"; "rowAction": "rowAction"; }, ["detailDef", "actionBarDef", "cellDefs"], ["[strctDatagridActionBar]"], true, never>;
2172
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctDatagrid, "strct-datagrid", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "detailPane": { "alias": "detailPane"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "singleLine": { "alias": "singleLine"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "columnChooser": { "alias": "columnChooser"; "required": false; "isSignal": true; }; "sync": { "alias": "sync"; "required": false; "isSignal": true; }; "footerActionsDisabled": { "alias": "footerActionsDisabled"; "required": false; "isSignal": true; }; "rowId": { "alias": "rowId"; "required": false; "isSignal": true; }; "rowActions": { "alias": "rowActions"; "required": false; "isSignal": true; }; "initialSelection": { "alias": "initialSelection"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "syncChange": "syncChange"; "rowAction": "rowAction"; }, ["detailDef", "actionBarDef", "cellDefs"], ["[strctDatagridActionBar]"], true, never>;
2152
2173
  }
2153
2174
 
2154
2175
  /** Timeline node state colors. */