@pecb-ui/components 1.1.7 → 1.1.8

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/index.d.ts CHANGED
@@ -132,6 +132,13 @@ declare class CardComponent {
132
132
  * Whether to add padding to the card
133
133
  */
134
134
  noPadding: _angular_core.InputSignal<boolean>;
135
+ /**
136
+ * Whether the card clips overflowing content to its rounded corners.
137
+ * Defaults to true (clips media/sections to the rounded shape).
138
+ * Set to false when the card hosts content that must escape its bounds,
139
+ * e.g. a dropdown/select panel that would otherwise be cut off.
140
+ */
141
+ clipContent: _angular_core.InputSignal<boolean>;
135
142
  /**
136
143
  * Border-radius: predefined token ('xs'|'sm'|'md'|'lg'|'none'|'full')
137
144
  * or any CSS value e.g. '20px', '50%'
@@ -161,7 +168,7 @@ declare class CardComponent {
161
168
  get borderRadiusStyle(): string;
162
169
  get roleAttribute(): string | null;
163
170
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CardComponent, never>;
164
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CardComponent, "pecb-card", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "elevation": { "alias": "elevation"; "required": false; "isSignal": true; }; "hoverable": { "alias": "hoverable"; "required": false; "isSignal": true; }; "noPadding": { "alias": "noPadding"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; "ariaDescribedBy": { "alias": "ariaDescribedBy"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
171
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CardComponent, "pecb-card", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "elevation": { "alias": "elevation"; "required": false; "isSignal": true; }; "hoverable": { "alias": "hoverable"; "required": false; "isSignal": true; }; "noPadding": { "alias": "noPadding"; "required": false; "isSignal": true; }; "clipContent": { "alias": "clipContent"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; "ariaDescribedBy": { "alias": "ariaDescribedBy"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
165
172
  }
166
173
  declare class CardHeaderComponent {
167
174
  headingLevel: _angular_core.InputSignal<number | null>;
@@ -297,6 +304,10 @@ interface PecbTableColumn {
297
304
  key: string;
298
305
  label: string;
299
306
  width?: string;
307
+ /** Caps the cell width so long text truncates with an ellipsis (e.g. '240px'). */
308
+ maxWidth?: string;
309
+ /** Wrap long text onto multiple lines instead of truncating. Overrides the table-level `wrapText`. */
310
+ wrap?: boolean;
300
311
  align?: 'left' | 'center' | 'right';
301
312
  sortable?: boolean;
302
313
  cellTemplate?: TemplateRef<any>;
@@ -416,6 +427,18 @@ declare class TableComponent {
416
427
  * Maximum height of the table body (enables scrolling)
417
428
  */
418
429
  maxHeight: _angular_core.InputSignal<string | undefined>;
430
+ /**
431
+ * Minimum width of the table (any CSS value, e.g. '800px', '60rem').
432
+ * Below this, the container scrolls horizontally instead of squishing
433
+ * columns — useful for wide tables on responsive / narrow screens.
434
+ */
435
+ minWidth: _angular_core.InputSignal<string | undefined>;
436
+ /**
437
+ * When true, long cell text wraps onto multiple lines.
438
+ * When false (default), it truncates with an ellipsis (…) and the full
439
+ * value is shown on hover via the cell's title. Per-column `wrap` overrides this.
440
+ */
441
+ wrapText: _angular_core.InputSignal<boolean>;
419
442
  /**
420
443
  * Column key currently being sorted
421
444
  */
@@ -464,6 +487,10 @@ declare class TableComponent {
464
487
  get tableClasses(): string;
465
488
  getCellValue(row: any, key: string): any;
466
489
  getAlignmentClass(column: PecbTableColumn): string;
490
+ /** Whether a column's cells wrap long text (per-column overrides the table default). */
491
+ isCellWrapped(column: PecbTableColumn): boolean;
492
+ /** Full text shown on hover for truncated text/link cells (so nothing is lost). */
493
+ getCellTitle(row: any, column: PecbTableColumn): string | null;
467
494
  onRowClick(row: any, index: number): void;
468
495
  onRowAction(action: string, row: any, index: number, event: Event): void;
469
496
  onHeaderClick(column: PecbTableColumn): void;
@@ -497,7 +524,7 @@ declare class TableComponent {
497
524
  getLinkHref(value: string): string;
498
525
  private emitSelectionChange;
499
526
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableComponent, never>;
500
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent, "pecb-table", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "hoverable": { "alias": "hoverable"; "required": false; "isSignal": true; }; "showPagination": { "alias": "showPagination"; "required": false; "isSignal": true; }; "totalItems": { "alias": "totalItems"; "required": false; "isSignal": true; }; "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "showPageSizeSelector": { "alias": "showPageSizeSelector"; "required": false; "isSignal": true; }; "paginationVariant": { "alias": "paginationVariant"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selectedIndices": { "alias": "selectedIndices"; "required": false; "isSignal": true; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "sortColumn": { "alias": "sortColumn"; "required": false; "isSignal": true; }; "sortDirection": { "alias": "sortDirection"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "selectAllAriaLabel": { "alias": "selectAllAriaLabel"; "required": false; "isSignal": true; }; "selectRowAriaLabel": { "alias": "selectRowAriaLabel"; "required": false; "isSignal": true; }; }, { "currentPage": "currentPageChange"; "pageSize": "pageSizeChange"; "selectedIndices": "selectedIndicesChange"; "sortColumn": "sortColumnChange"; "sortDirection": "sortDirectionChange"; "pageChange": "pageChange"; "rowClick": "rowClick"; "rowAction": "rowAction"; "sortChange": "sortChange"; "selectionChange": "selectionChange"; }, ["emptyTemplate", "loadingTemplate"], never, true, never>;
527
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent, "pecb-table", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "hoverable": { "alias": "hoverable"; "required": false; "isSignal": true; }; "showPagination": { "alias": "showPagination"; "required": false; "isSignal": true; }; "totalItems": { "alias": "totalItems"; "required": false; "isSignal": true; }; "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "showPageSizeSelector": { "alias": "showPageSizeSelector"; "required": false; "isSignal": true; }; "paginationVariant": { "alias": "paginationVariant"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selectedIndices": { "alias": "selectedIndices"; "required": false; "isSignal": true; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "wrapText": { "alias": "wrapText"; "required": false; "isSignal": true; }; "sortColumn": { "alias": "sortColumn"; "required": false; "isSignal": true; }; "sortDirection": { "alias": "sortDirection"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "selectAllAriaLabel": { "alias": "selectAllAriaLabel"; "required": false; "isSignal": true; }; "selectRowAriaLabel": { "alias": "selectRowAriaLabel"; "required": false; "isSignal": true; }; }, { "currentPage": "currentPageChange"; "pageSize": "pageSizeChange"; "selectedIndices": "selectedIndicesChange"; "sortColumn": "sortColumnChange"; "sortDirection": "sortDirectionChange"; "pageChange": "pageChange"; "rowClick": "rowClick"; "rowAction": "rowAction"; "sortChange": "sortChange"; "selectionChange": "selectionChange"; }, ["emptyTemplate", "loadingTemplate"], never, true, never>;
501
528
  }
502
529
 
503
530
  type TabStyle = 'rounded' | 'line';
@@ -1693,12 +1720,17 @@ declare class SpinnerComponent {
1693
1720
  id: _angular_core.InputSignal<string>;
1694
1721
  size: _angular_core.InputSignal<number>;
1695
1722
  ariaLabel: _angular_core.InputSignal<string>;
1723
+ /**
1724
+ * Arc color. Any CSS color value.
1725
+ * Defaults to the brand primary (#a11e29) defined in SCSS when empty.
1726
+ */
1727
+ color: _angular_core.InputSignal<string>;
1696
1728
  sizeValue: _angular_core.Signal<number>;
1697
1729
  strokeWidth: _angular_core.Signal<number>;
1698
1730
  radius: _angular_core.Signal<number>;
1699
1731
  circumference: _angular_core.Signal<number>;
1700
1732
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SpinnerComponent, never>;
1701
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SpinnerComponent, "pecb-spinner", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1733
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SpinnerComponent, "pecb-spinner", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1702
1734
  }
1703
1735
  declare class ProgressBarComponent {
1704
1736
  id: _angular_core.InputSignal<string>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pecb-ui/components",
3
- "version": "1.1.7",
3
+ "version": "1.1.8",
4
4
  "description": "Professional Angular UI Components Library with TypeScript and SCSS by PECB",
5
5
  "author": "PECB",
6
6
  "license": "MIT",