commons-shared-web-ui 0.0.33 → 0.0.35

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
@@ -1312,6 +1312,61 @@ declare class FormSectionComponent implements OnInit, OnDestroy {
1312
1312
  static ɵcmp: i0.ɵɵComponentDeclaration<FormSectionComponent, "lib-form-section", never, { "config": { "alias": "config"; "required": false; }; "controller": { "alias": "controller"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; }, {}, never, never, false, never>;
1313
1313
  }
1314
1314
 
1315
+ interface ConfirmationModalConfig {
1316
+ title: string;
1317
+ headerTheme?: 'light' | 'dark';
1318
+ icon?: string | {
1319
+ type: 'material' | 'custom';
1320
+ value: string;
1321
+ color?: string;
1322
+ };
1323
+ width?: string;
1324
+ size?: 'sm' | 'md' | 'lg' | 'xl';
1325
+ customClass?: string;
1326
+ type?: 'modal' | 'side-panel';
1327
+ panelPosition?: 'left' | 'right' | 'top' | 'bottom';
1328
+ panelSpacing?: string;
1329
+ panelWidth?: string;
1330
+ panelHeight?: string;
1331
+ backgroundColor?: string;
1332
+ borderRadius?: string;
1333
+ borderTopLeftRadius?: string;
1334
+ borderTopRightRadius?: string;
1335
+ borderBottomLeftRadius?: string;
1336
+ borderBottomRightRadius?: string;
1337
+ padding?: string;
1338
+ headerBackgroundColor?: string;
1339
+ headerTextColor?: string;
1340
+ headerBorderBottom?: string;
1341
+ bodyTextColor?: string;
1342
+ footerBackgroundColor?: string;
1343
+ footerBorderTop?: string;
1344
+ confirmButton: {
1345
+ label: string;
1346
+ type: 'primary' | 'danger' | 'warning';
1347
+ disabled?: boolean;
1348
+ loading?: boolean;
1349
+ };
1350
+ cancelButton?: {
1351
+ label?: string;
1352
+ show?: boolean;
1353
+ };
1354
+ customFooter?: boolean;
1355
+ formMode?: boolean;
1356
+ closeOnBackdrop?: boolean;
1357
+ closeOnEsc?: boolean;
1358
+ showCloseButton?: boolean;
1359
+ showCodeSnippetButton?: boolean;
1360
+ ariaLabel?: string;
1361
+ ariaDescribedBy?: string;
1362
+ labels?: {
1363
+ closeAriaLabel?: string;
1364
+ codeSnippetAriaLabel?: string;
1365
+ codeSnippetTitle?: string;
1366
+ iconAltText?: string;
1367
+ };
1368
+ }
1369
+
1315
1370
  declare class FormFieldComponent implements OnInit, OnDestroy {
1316
1371
  private fb;
1317
1372
  private expressionService;
@@ -1338,6 +1393,8 @@ declare class FormFieldComponent implements OnInit, OnDestroy {
1338
1393
  multiSaveError: string;
1339
1394
  private destroy$;
1340
1395
  mediaDeviceInput: ElementRef<HTMLInputElement>;
1396
+ /** Host div for the library picker — always in DOM, moved to body to escape parent transforms */
1397
+ libraryModalRef: ElementRef<HTMLDivElement>;
1341
1398
  showMediaMenu: boolean;
1342
1399
  showYoutubeInput: boolean;
1343
1400
  youtubeUrlInput: string;
@@ -1424,6 +1481,7 @@ declare class FormFieldComponent implements OnInit, OnDestroy {
1424
1481
  id: number;
1425
1482
  fg: FormGroup;
1426
1483
  }): number;
1484
+ ngAfterViewInit(): void;
1427
1485
  ngOnDestroy(): void;
1428
1486
  registerControl(): void;
1429
1487
  getValidators(): ValidatorFn[];
@@ -1532,6 +1590,8 @@ declare class FormFieldComponent implements OnInit, OnDestroy {
1532
1590
  * Returns `null` when not configured; the caller skips the API call.
1533
1591
  */
1534
1592
  private buildLibraryUploadRequest;
1593
+ /** Config object for the cc-confirmation-modal used as the library picker. */
1594
+ get libraryModalConfig(): ConfirmationModalConfig;
1535
1595
  onMediaMenuLibrary(): void;
1536
1596
  private _loadLibraryImages;
1537
1597
  getLibraryItemUrl(item: any): string;
@@ -1911,6 +1971,7 @@ declare class DropdownComponent implements ControlValueAccessor, OnInit, OnChang
1911
1971
  onTouched: () => void;
1912
1972
  ngOnInit(): void;
1913
1973
  ngOnChanges(changes: SimpleChanges): void;
1974
+ private get validOptions();
1914
1975
  private updateFromConfig;
1915
1976
  private updateFromLabels;
1916
1977
  get requiredMarker(): string;
@@ -2027,6 +2088,7 @@ declare class CheckboxComponent implements ControlValueAccessor, OnInit, OnChang
2027
2088
  private updateFromConfig;
2028
2089
  private updateFromLabels;
2029
2090
  get isGroup(): boolean;
2091
+ get visibleOptions(): CheckboxOption[];
2030
2092
  get requiredMarker(): string;
2031
2093
  writeValue(value: any): void;
2032
2094
  registerOnChange(fn: any): void;
@@ -2113,6 +2175,7 @@ declare class RadioComponent implements ControlValueAccessor, OnInit {
2113
2175
  ngOnChanges(changes: any): void;
2114
2176
  private updateFromConfig;
2115
2177
  get requiredMarker(): string;
2178
+ get visibleOptions(): RadioOption[];
2116
2179
  writeValue(value: any): void;
2117
2180
  registerOnChange(fn: any): void;
2118
2181
  registerOnTouched(fn: any): void;
@@ -2460,61 +2523,6 @@ interface DropdownAction {
2460
2523
  confirmationTitle?: string;
2461
2524
  }
2462
2525
 
2463
- interface ConfirmationModalConfig {
2464
- title: string;
2465
- headerTheme?: 'light' | 'dark';
2466
- icon?: string | {
2467
- type: 'material' | 'custom';
2468
- value: string;
2469
- color?: string;
2470
- };
2471
- width?: string;
2472
- size?: 'sm' | 'md' | 'lg' | 'xl';
2473
- customClass?: string;
2474
- type?: 'modal' | 'side-panel';
2475
- panelPosition?: 'left' | 'right' | 'top' | 'bottom';
2476
- panelSpacing?: string;
2477
- panelWidth?: string;
2478
- panelHeight?: string;
2479
- backgroundColor?: string;
2480
- borderRadius?: string;
2481
- borderTopLeftRadius?: string;
2482
- borderTopRightRadius?: string;
2483
- borderBottomLeftRadius?: string;
2484
- borderBottomRightRadius?: string;
2485
- padding?: string;
2486
- headerBackgroundColor?: string;
2487
- headerTextColor?: string;
2488
- headerBorderBottom?: string;
2489
- bodyTextColor?: string;
2490
- footerBackgroundColor?: string;
2491
- footerBorderTop?: string;
2492
- confirmButton: {
2493
- label: string;
2494
- type: 'primary' | 'danger' | 'warning';
2495
- disabled?: boolean;
2496
- loading?: boolean;
2497
- };
2498
- cancelButton?: {
2499
- label?: string;
2500
- show?: boolean;
2501
- };
2502
- customFooter?: boolean;
2503
- formMode?: boolean;
2504
- closeOnBackdrop?: boolean;
2505
- closeOnEsc?: boolean;
2506
- showCloseButton?: boolean;
2507
- showCodeSnippetButton?: boolean;
2508
- ariaLabel?: string;
2509
- ariaDescribedBy?: string;
2510
- labels?: {
2511
- closeAriaLabel?: string;
2512
- codeSnippetAriaLabel?: string;
2513
- codeSnippetTitle?: string;
2514
- iconAltText?: string;
2515
- };
2516
- }
2517
-
2518
2526
  declare class ButtonDropdownComponent {
2519
2527
  private elementRef;
2520
2528
  private router;
@@ -3614,6 +3622,7 @@ declare class SmartTableComponent implements OnInit, OnChanges, AfterViewInit, O
3614
3622
  value: any;
3615
3623
  } | null): void;
3616
3624
  getFilterDisplay(filter: any): string;
3625
+ getValidFilterOptions(filter: any): any[];
3617
3626
  isFilterActive(filter: any): boolean;
3618
3627
  /**
3619
3628
  * Assembles the current table state into a `TableDataChangeEvent` object.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "commons-shared-web-ui",
3
- "version": "0.0.33",
3
+ "version": "0.0.35",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "20.3.15",
6
6
  "@angular/cdk": "20.2.14",
@@ -16,6 +16,7 @@ $default-smart-form-config: (
16
16
 
17
17
  // ── Accent colour (flows from app primary; replaces hard-coded blue) ────────
18
18
  accent-color: #3B82F6,
19
+ selected-color: #3B82F6,
19
20
 
20
21
  // ── Form container ──────────────────────────────────────────────────────────
21
22
  form-bg: #ffffff,
@@ -198,7 +199,7 @@ $default-smart-form-config: (
198
199
 
199
200
  // ── Form action bar (submit / previous) ─────────────────────────────────────
200
201
  actions-border: 1px solid #E5E7EB,
201
- actions-padding: 20px 0 0,
202
+ actions-padding: 20px 10px 0,
202
203
  actions-gap: 12px,
203
204
 
204
205
  btn-primary-bg: #3B82F6,
@@ -252,6 +253,7 @@ $theme-2-smart-form-config: (
252
253
 
253
254
  // ── Accent colour ───────────────────────────────────────────────────────────
254
255
  accent-color: #818CF8,
256
+ selected-color: #818CF8,
255
257
 
256
258
  // ── Form container ──────────────────────────────────────────────────────────
257
259
  form-bg: #0F172A,
@@ -434,7 +436,7 @@ $theme-2-smart-form-config: (
434
436
 
435
437
  // ── Actions bar ─────────────────────────────────────────────────────────────
436
438
  actions-border: 1px solid #1E293B,
437
- actions-padding: 20px 0 0,
439
+ actions-padding: 20px 10px 0,
438
440
  actions-gap: 12px,
439
441
 
440
442
  btn-primary-bg: #818CF8,
@@ -482,6 +484,9 @@ $theme-2-smart-form-config: (
482
484
 
483
485
  // ── Theme 3 — Campus Students (campus red accent) ─────────────────────────────
484
486
  $type1-config: map.merge($default-smart-form-config, (
487
+ accent-color: #E63E30,
488
+ selected-color: #E63E30,
489
+
485
490
  input-focus-border: #E63E30,
486
491
  input-focus-shadow: 0 0 0 3px rgba(230, 62, 48, 0.08),
487
492
  chip-selected-bg: #E63E30,
@@ -553,6 +558,7 @@ $type1-config: map.merge($default-smart-form-config, (
553
558
 
554
559
  // Accent colour
555
560
  --cc-sf-accent-color: #{map.get($config, accent-color)};
561
+ --cc-sf-selected-color: #{map.get($config, selected-color)};
556
562
 
557
563
  // Form container
558
564
  --cc-sf-form-bg: #{map.get($config, form-bg)};