ux4g-components-angular 1.4.0 → 1.4.2

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.
Files changed (53) hide show
  1. package/README.md +196 -48
  2. package/dist/accessibility-bar/README.md +196 -48
  3. package/dist/accordion/README.md +196 -48
  4. package/dist/alert/README.md +196 -48
  5. package/dist/avatar/README.md +196 -48
  6. package/dist/badge/README.md +196 -48
  7. package/dist/breadcrumb/README.md +196 -48
  8. package/dist/button/README.md +196 -48
  9. package/dist/card/README.md +196 -48
  10. package/dist/carousel/README.md +196 -48
  11. package/dist/checkbox/README.md +196 -48
  12. package/dist/chip/README.md +196 -48
  13. package/dist/chip-group/README.md +196 -48
  14. package/dist/combobox/README.md +196 -48
  15. package/dist/date-time-picker/README.md +196 -48
  16. package/dist/divider/README.md +196 -48
  17. package/dist/draft-status-banner/README.md +196 -48
  18. package/dist/drawer/README.md +196 -48
  19. package/dist/dropdown/README.md +196 -48
  20. package/dist/empty-state/README.md +196 -48
  21. package/dist/feedback/README.md +196 -48
  22. package/dist/file-upload/README.md +196 -48
  23. package/dist/footer/README.md +196 -48
  24. package/dist/form-field-group/README.md +196 -48
  25. package/dist/icon-button/README.md +196 -48
  26. package/dist/image/README.md +196 -48
  27. package/dist/input/README.md +196 -48
  28. package/dist/journey-timeline/README.md +196 -48
  29. package/dist/link/README.md +196 -48
  30. package/dist/list/README.md +196 -48
  31. package/dist/mega-menu/README.md +196 -48
  32. package/dist/modal/README.md +196 -48
  33. package/dist/navbar/README.md +196 -48
  34. package/dist/otp-input/README.md +196 -48
  35. package/dist/pagination/README.md +196 -48
  36. package/dist/popover/README.md +196 -48
  37. package/dist/progress-indicator/README.md +196 -48
  38. package/dist/radio/README.md +196 -48
  39. package/dist/result-list-row/README.md +196 -48
  40. package/dist/search/README.md +196 -48
  41. package/dist/sla-progress-indicator/README.md +196 -48
  42. package/dist/slider/README.md +196 -48
  43. package/dist/slot-grid/README.md +196 -48
  44. package/dist/social-links/README.md +196 -48
  45. package/dist/spinner/README.md +196 -48
  46. package/dist/status-pipeline/README.md +196 -48
  47. package/dist/stepper/README.md +196 -48
  48. package/dist/switch/README.md +196 -48
  49. package/dist/tab/README.md +196 -48
  50. package/dist/table/README.md +196 -48
  51. package/dist/tag/README.md +196 -48
  52. package/dist/tooltip/README.md +196 -48
  53. package/package.json +3 -2
@@ -196,14 +196,20 @@ export class AppModule {}
196
196
 
197
197
  ```html
198
198
  <ux4g-image src="photo.jpg" alt="Photo" ratio="16-9"></ux4g-image>
199
- <ux4g-image src="photo.jpg" alt="Photo" ratio="4-3" [rounded]="true" [overlay]="true"></ux4g-image>
199
+ <ux4g-image src="photo.jpg" alt="Photo" ratio="4-3" [rounded]="true"></ux4g-image>
200
+ <ux4g-image src="photo.jpg" alt="Photo" ratio="16-9" [overlay]="true" overlayPosition="bottom">
201
+ <ng-template #overlayContent>
202
+ <p class="ux4g-body-m-default">Caption text</p>
203
+ </ng-template>
204
+ </ux4g-image>
200
205
  ```
201
206
 
202
207
  | Input | Type | Default | Description |
203
208
  |---|---|---|---|
204
209
  | `ratio` | `'1-1' \| '4-3' \| '3-2' \| '16-10' \| '16-9' \| '2-1' \| '5-2' \| '3-1' \| '1-16' \| '2-3' \| '3-4'` | — | Aspect ratio |
205
210
  | `rounded` | `boolean` | `false` | Rounded corners |
206
- | `overlay` | `boolean` | `false` | Enable overlay |
211
+ | `overlay` | `boolean` | `false` | Enable overlay container |
212
+ | `overlayPosition` | `'top' \| 'bottom' \| 'center' \| 'full'` | `'bottom'` | Overlay position |
207
213
 
208
214
  ### Chip
209
215
 
@@ -296,15 +302,36 @@ export class AppModule {}
296
302
  ```
297
303
 
298
304
  ```html
299
- <ux4g-checkbox size="md" label="Accept terms"></ux4g-checkbox>
300
- <ux4g-checkbox size="sm" [error]="true" label="Required field"></ux4g-checkbox>
305
+ <label>
306
+ <ux4g-checkbox size="md" [checked]="isChecked" (changed)="onCheck($event)"></ux4g-checkbox>
307
+ Accept terms
308
+ </label>
309
+
310
+ <label>
311
+ <ux4g-checkbox size="sm" [error]="true"></ux4g-checkbox>
312
+ Required field
313
+ </label>
314
+
315
+ <label>
316
+ <ux4g-checkbox size="md" [indeterminate]="true"></ux4g-checkbox>
317
+ Select all
318
+ </label>
301
319
  ```
302
320
 
303
321
  | Input | Type | Default | Description |
304
322
  |---|---|---|---|
305
323
  | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | Checkbox size |
324
+ | `checked` | `boolean` | `false` | Checked state |
325
+ | `indeterminate` | `boolean` | `false` | Indeterminate state |
326
+ | `disabled` | `boolean` | `false` | Disabled state |
306
327
  | `error` | `boolean` | `false` | Error state |
307
328
 
329
+ | Output | Type | Description |
330
+ |---|---|---|
331
+ | `changed` | `EventEmitter<Event>` | Emitted on change |
332
+
333
+ > **Note:** This is a control-only wrapper. Wrap with `<label>` to associate visible text.
334
+
308
335
  ### Radio
309
336
 
310
337
  ```ts
@@ -315,14 +342,30 @@ export class AppModule {}
315
342
  ```
316
343
 
317
344
  ```html
318
- <ux4g-radio size="md" name="option" label="Option A"></ux4g-radio>
319
- <ux4g-radio size="lg" name="option" label="Option B" [error]="true"></ux4g-radio>
345
+ <label>
346
+ <ux4g-radio size="md" name="option" value="a" [checked]="selected === 'a'" (changed)="onSelect($event)"></ux4g-radio>
347
+ Option A
348
+ </label>
349
+ <label>
350
+ <ux4g-radio size="lg" name="option" value="b" [error]="true"></ux4g-radio>
351
+ Option B
352
+ </label>
320
353
  ```
321
354
 
322
355
  | Input | Type | Default | Description |
323
356
  |---|---|---|---|
324
357
  | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | Radio size |
358
+ | `checked` | `boolean` | `false` | Checked state |
359
+ | `disabled` | `boolean` | `false` | Disabled state |
325
360
  | `error` | `boolean` | `false` | Error state |
361
+ | `name` | `string` | `''` | Radio group name |
362
+ | `value` | `string` | `''` | Radio value |
363
+
364
+ | Output | Type | Description |
365
+ |---|---|---|
366
+ | `changed` | `EventEmitter<Event>` | Emitted on change |
367
+
368
+ > **Note:** This is a control-only wrapper. Wrap with `<label>` to associate visible text.
326
369
 
327
370
  ### Switch
328
371
 
@@ -334,12 +377,23 @@ export class AppModule {}
334
377
  ```
335
378
 
336
379
  ```html
337
- <ux4g-switch size="md" label="Enable notifications"></ux4g-switch>
380
+ <label>
381
+ <ux4g-switch size="md" [checked]="isOn" (changed)="onToggle($event)"></ux4g-switch>
382
+ Enable notifications
383
+ </label>
338
384
  ```
339
385
 
340
386
  | Input | Type | Default | Description |
341
387
  |---|---|---|---|
342
388
  | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | Switch size |
389
+ | `checked` | `boolean` | `false` | Checked state |
390
+ | `disabled` | `boolean` | `false` | Disabled state |
391
+
392
+ | Output | Type | Description |
393
+ |---|---|---|
394
+ | `changed` | `EventEmitter<Event>` | Emitted on change |
395
+
396
+ > **Note:** This is a control-only wrapper. Wrap with `<label>` to associate visible text.
343
397
 
344
398
  ### Card
345
399
 
@@ -377,14 +431,30 @@ export class AppModule {}
377
431
  ```
378
432
 
379
433
  ```html
380
- <ux4g-input size="md" state="default" label="Email" placeholder="Enter email"></ux4g-input>
381
- <ux4g-input size="lg" state="error" label="Password" helperText="Password is required"></ux4g-input>
434
+ <ux4g-input size="md" state="default">
435
+ <label class="ux4g-input-label">Email</label>
436
+ <input class="ux4g-input" type="email" placeholder="Enter email" />
437
+ </ux4g-input>
438
+
439
+ <ux4g-input size="lg" state="error">
440
+ <label class="ux4g-input-label">Password</label>
441
+ <input class="ux4g-input" type="password" />
442
+ <span class="ux4g-input-helper">Password is required</span>
443
+ </ux4g-input>
444
+
445
+ <ux4g-input size="md" state="default" [disabled]="true">
446
+ <label class="ux4g-input-label">Disabled</label>
447
+ <input class="ux4g-input" type="text" disabled />
448
+ </ux4g-input>
382
449
  ```
383
450
 
384
451
  | Input | Type | Default | Description |
385
452
  |---|---|---|---|
386
- | `size` | `'sm' \| 'md' \| 'lg' \| 'xl'` | `'md'` | Input size |
453
+ | `size` | `'sm' \| 'md' \| 'lg' \| 'xl'` | `'md'` | Input container size |
387
454
  | `state` | `'default' \| 'error' \| 'success' \| 'warning'` | `'default'` | Validation state |
455
+ | `disabled` | `boolean` | `false` | Disabled state |
456
+
457
+ > **Note:** This is a container shell. Label, input element, and helper text are projected as children using UX4G CSS classes.
388
458
 
389
459
  ### List
390
460
 
@@ -461,9 +531,10 @@ export class AppModule {}
461
531
  ```
462
532
 
463
533
  ```html
464
- <ux4g-modal size="m" opacity="50" [open]="isOpen" (closed)="isOpen = false">
534
+ <ux4g-modal size="m" opacity="50" [open]="isOpen">
465
535
  <h2>Modal Title</h2>
466
536
  <p>Modal content here.</p>
537
+ <button (click)="isOpen = false">Close</button>
467
538
  </ux4g-modal>
468
539
  ```
469
540
 
@@ -475,9 +546,7 @@ export class AppModule {}
475
546
  | `open` | `boolean` | `false` | Open state |
476
547
  | `centerContent` | `boolean` | `false` | Center modal content |
477
548
 
478
- | Output | Type | Description |
479
- |---|---|---|
480
- | `closed` | `EventEmitter<void>` | Emitted when modal is closed |
549
+ > **Note:** Close handling is external — toggle the `open` input from your component state.
481
550
 
482
551
  ### Alert / Toast
483
552
 
@@ -492,15 +561,20 @@ export class AppModule {}
492
561
  <ux4g-alert variant="info">This is an informational message.</ux4g-alert>
493
562
  <ux4g-alert variant="success" layout="wide">Saved successfully!</ux4g-alert>
494
563
 
564
+ <!-- Toast variant -->
565
+ <ux4g-alert variant="success" [toast]="true">Toast notification</ux4g-alert>
566
+
567
+ <!-- Toast container for positioning -->
495
568
  <ux4g-alert-container position="top-right">
496
- <ux4g-alert variant="success">Toast notification</ux4g-alert>
569
+ <ux4g-alert variant="success" [toast]="true">Toast notification</ux4g-alert>
497
570
  </ux4g-alert-container>
498
571
  ```
499
572
 
500
573
  | Input | Type | Default | Description |
501
574
  |---|---|---|---|
502
575
  | `variant` | `'info' \| 'success' \| 'warning' \| 'error'` | `'info'` | Alert type |
503
- | `layout` | `'fluid' \| 'center' \| 'wide'` | `'fluid'` | Alert layout |
576
+ | `toast` | `boolean` | `false` | Use contextual toast styling instead of inline alert |
577
+ | `layout` | `'fluid' \| 'center' \| 'wide'` | `'fluid'` | Alert layout (when toast=false) |
504
578
 
505
579
  **AlertContainer Inputs:**
506
580
 
@@ -518,16 +592,19 @@ export class AppModule {}
518
592
  ```
519
593
 
520
594
  ```html
521
- <ux4g-search size="m" placeholder="Search..." (searched)="onSearch($event)"></ux4g-search>
595
+ <ux4g-search-container size="m">
596
+ <input class="ux4g-search-input" type="search" placeholder="Search..." />
597
+ <button class="ux4g-search-btn">
598
+ <span class="ux4g-icon-outlined">search</span>
599
+ </button>
600
+ </ux4g-search-container>
522
601
  ```
523
602
 
524
603
  | Input | Type | Default | Description |
525
604
  |---|---|---|---|
526
- | `size` | `'s' \| 'm' \| 'lg'` | `'m'` | Search size |
605
+ | `size` | `'s' \| 'm' \| 'lg'` | `'m'` | Search container size |
527
606
 
528
- | Output | Type | Description |
529
- |---|---|---|
530
- | `searched` | `EventEmitter<string>` | Emitted on search submit |
607
+ > **Note:** This is a container shell — the search input, button, and event handling are projected as children. The selector is `ux4g-search-container`.
531
608
 
532
609
  ### Pagination
533
610
 
@@ -539,8 +616,19 @@ export class AppModule {}
539
616
  ```
540
617
 
541
618
  ```html
542
- <ux4g-pagination variant="default" [totalPages]="10" [currentPage]="1" (pageChanged)="onPage($event)"></ux4g-pagination>
543
- <ux4g-pagination variant="dotted" paginationStyle="solid" [totalPages]="5" [currentPage]="2"></ux4g-pagination>
619
+ <ux4g-pagination variant="default">
620
+ <button class="ux4g-pagination-prev" aria-label="Previous">‹</button>
621
+ <button class="ux4g-pagination-item ux4g-pagination-active">1</button>
622
+ <button class="ux4g-pagination-item">2</button>
623
+ <button class="ux4g-pagination-item">3</button>
624
+ <button class="ux4g-pagination-next" aria-label="Next">›</button>
625
+ </ux4g-pagination>
626
+
627
+ <ux4g-pagination variant="dotted" paginationStyle="solid">
628
+ <span class="ux4g-pagination-dot ux4g-pagination-active"></span>
629
+ <span class="ux4g-pagination-dot"></span>
630
+ <span class="ux4g-pagination-dot"></span>
631
+ </ux4g-pagination>
544
632
  ```
545
633
 
546
634
  | Input | Type | Default | Description |
@@ -548,9 +636,7 @@ export class AppModule {}
548
636
  | `variant` | `'default' \| 'dotted'` | `'default'` | Pagination style |
549
637
  | `paginationStyle` | `'default' \| 'solid' \| 'translucent'` | `'default'` | Dotted variant style |
550
638
 
551
- | Output | Type | Description |
552
- |---|---|---|
553
- | `pageChanged` | `EventEmitter<number>` | Emitted on page change |
639
+ > **Note:** This is a container shell — page items, navigation buttons, and active state management are handled externally via content projection.
554
640
 
555
641
  ### Table
556
642
 
@@ -592,8 +678,9 @@ export class AppModule {}
592
678
  ```
593
679
 
594
680
  ```html
595
- <ux4g-popover placement="right" title="Popover Title" content="Body text" [show]="showPopover">
596
- <button>Toggle Popover</button>
681
+ <ux4g-popover placement="right" [show]="showPopover">
682
+ <div class="ux4g-popover-header">Popover Title</div>
683
+ <div class="ux4g-popover-body">Body text goes here</div>
597
684
  </ux4g-popover>
598
685
  ```
599
686
 
@@ -602,6 +689,8 @@ export class AppModule {}
602
689
  | `placement` | `'top' \| 'top-start' \| 'top-end' \| 'bottom' \| 'bottom-start' \| 'bottom-end' \| 'left' \| 'left-start' \| 'left-end' \| 'right' \| 'right-start' \| 'right-end'` | `'bottom'` | Popover position |
603
690
  | `show` | `boolean` | `false` | Visibility |
604
691
 
692
+ > **Note:** Content (title, body) is projected as children using UX4G popover CSS classes. There are no `title` or `content` inputs.
693
+
605
694
  ### Tooltip
606
695
 
607
696
  ```ts
@@ -612,8 +701,8 @@ export class AppModule {}
612
701
  ```
613
702
 
614
703
  ```html
615
- <ux4g-tooltip placement="top-center" size="s" content="Tooltip text">
616
- <button>Hover me</button>
704
+ <ux4g-tooltip placement="top-center" size="s">
705
+ Tooltip text content goes here
617
706
  </ux4g-tooltip>
618
707
  ```
619
708
 
@@ -622,6 +711,8 @@ export class AppModule {}
622
711
  | `placement` | `'top-left' \| 'top-center' \| 'top-right' \| 'bottom-left' \| 'bottom-center' \| 'bottom-right' \| 'left-center' \| 'right-center'` | `'top-center'` | Tooltip position |
623
712
  | `size` | `'s' \| 'xs'` | `'s'` | Tooltip size |
624
713
 
714
+ > **Note:** Tooltip text is projected as content. There is no `content` input. Visibility is controlled by the UX4G runtime.
715
+
625
716
  ### Tab
626
717
 
627
718
  ```ts
@@ -665,7 +756,7 @@ export class AppModule {}
665
756
 
666
757
  | Input | Type | Default | Description |
667
758
  |---|---|---|---|
668
- | `variant` | `'primary' \| 'outline-primary' \| 'tonal-primary' \| 'text-primary'` | `'primary'` | Button style |
759
+ | `variant` | `'primary' \| 'outline-primary' \| 'tonal-primary' \| 'text-primary'` | `'text-primary'` | Button style |
669
760
  | `size` | `'xl' \| 'lg' \| 'md' \| 'sm' \| 'xs'` | `'md'` | Button size |
670
761
  | `pill` | `boolean` | `false` | Pill shape |
671
762
 
@@ -732,21 +823,29 @@ export class AppModule {}
732
823
  ### Slider
733
824
 
734
825
  ```ts
735
- import { UX4GSliderModule } from 'ux4g-components-angular/slider';
826
+ import { UX4GSliderFieldModule } from 'ux4g-components-angular/slider';
736
827
 
737
- @NgModule({ imports: [UX4GSliderModule] })
828
+ @NgModule({ imports: [UX4GSliderFieldModule] })
738
829
  export class AppModule {}
739
830
  ```
740
831
 
741
832
  ```html
742
- <ux4g-slider size="sm" [min]="0" [max]="100" [value]="50"></ux4g-slider>
743
- <ux4g-slider size="md" [min]="0" [max]="100" [value]="75"></ux4g-slider>
833
+ <ux4g-slider-field size="sm">
834
+ <label class="ux4g-slider-label">Volume</label>
835
+ <input class="ux4g-slider-input" type="range" min="0" max="100" value="50" />
836
+ </ux4g-slider-field>
837
+
838
+ <ux4g-slider-field size="md">
839
+ <input class="ux4g-slider-input" type="range" min="0" max="100" value="75" />
840
+ </ux4g-slider-field>
744
841
  ```
745
842
 
746
843
  | Input | Type | Default | Description |
747
844
  |---|---|---|---|
748
845
  | `size` | `'sm' \| 'md'` | `'sm'` | Slider size |
749
846
 
847
+ > **Note:** The module is `UX4GSliderFieldModule` and the selector is `ux4g-slider-field`. The range input and label are projected as children.
848
+
750
849
  ### Drawer
751
850
 
752
851
  ```ts
@@ -757,9 +856,10 @@ export class AppModule {}
757
856
  ```
758
857
 
759
858
  ```html
760
- <ux4g-drawer placement="right" [open]="isOpen" (closed)="isOpen = false">
859
+ <ux4g-drawer placement="right" [open]="isOpen">
761
860
  <h3>Drawer Title</h3>
762
861
  <p>Drawer content</p>
862
+ <button (click)="isOpen = false">Close</button>
763
863
  </ux4g-drawer>
764
864
  ```
765
865
 
@@ -768,9 +868,7 @@ export class AppModule {}
768
868
  | `placement` | `'right' \| 'left' \| 'top' \| 'bottom'` | `'right'` | Slide-in direction |
769
869
  | `open` | `boolean` | `false` | Open state |
770
870
 
771
- | Output | Type | Description |
772
- |---|---|---|
773
- | `closed` | `EventEmitter<void>` | Emitted when drawer is closed |
871
+ > **Note:** Close handling is external — toggle the `open` input from your component state.
774
872
 
775
873
  ### Date-Time Picker
776
874
 
@@ -861,14 +959,31 @@ export class AppModule {}
861
959
  ```
862
960
 
863
961
  ```html
864
- <ux4g-otp-input [length]="4" state="default"></ux4g-otp-input>
865
- <ux4g-otp-input [length]="6" state="error"></ux4g-otp-input>
962
+ <ux4g-otp-input state="default">
963
+ <div class="ux4g-otp-label ux4g-label-l-default">Enter OTP</div>
964
+ <div class="ux4g-otp-group">
965
+ <input class="ux4g-otp-source" type="hidden" value="" data-ux-count="4" placeholder="—" />
966
+ </div>
967
+ <div class="ux4g-otp-meta ux4g-body-s-default">
968
+ <span class="ux4g-otp-helper">Didn't receive OTP?</span>
969
+ <span class="ux4g-otp-resend">Resend</span>
970
+ </div>
971
+ </ux4g-otp-input>
972
+
973
+ <ux4g-otp-input state="error">
974
+ <div class="ux4g-otp-label ux4g-label-l-default">Enter OTP</div>
975
+ <div class="ux4g-otp-group">
976
+ <input class="ux4g-otp-source" type="hidden" value="" data-ux-count="6" placeholder="—" />
977
+ </div>
978
+ </ux4g-otp-input>
866
979
  ```
867
980
 
868
981
  | Input | Type | Default | Description |
869
982
  |---|---|---|---|
870
983
  | `state` | `'default' \| 'success' \| 'error' \| 'locked'` | `'default'` | Input state |
871
984
 
985
+ > **Note:** The OTP digit inputs are constructed by the runtime JS. The `data-ux-count` attribute on the hidden input controls how many digit boxes render. There is no `length` input — content is projected as children.
986
+
872
987
  ### File Upload
873
988
 
874
989
  ```ts
@@ -897,14 +1012,35 @@ export class AppModule {}
897
1012
  ```
898
1013
 
899
1014
  ```html
900
- <ux4g-progress-indicator type="bar" [value]="60"></ux4g-progress-indicator>
901
- <ux4g-progress-indicator type="circle" [value]="75" size="l"></ux4g-progress-indicator>
1015
+ <!-- Bar variant -->
1016
+ <ux4g-progress-indicator type="bar">
1017
+ <div class="ux4g-progress-bar-track">
1018
+ <div class="ux4g-progress-bar-fill" style="width: 60%"></div>
1019
+ </div>
1020
+ <span class="ux4g-progress-label">60%</span>
1021
+ </ux4g-progress-indicator>
1022
+
1023
+ <!-- Circle variant -->
1024
+ <ux4g-progress-indicator type="circle" size="l" labelPlacement="inside">
1025
+ <span class="ux4g-progress-value">75%</span>
1026
+ </ux4g-progress-indicator>
1027
+
1028
+ <!-- Rounded shape -->
1029
+ <ux4g-progress-indicator type="bar" shape="rounded">
1030
+ <div class="ux4g-progress-bar-track">
1031
+ <div class="ux4g-progress-bar-fill" style="width: 45%"></div>
1032
+ </div>
1033
+ </ux4g-progress-indicator>
902
1034
  ```
903
1035
 
904
1036
  | Input | Type | Default | Description |
905
1037
  |---|---|---|---|
906
- | `type` | `'bar' \| 'circle'` | `'bar'` | Indicator type |
907
- | `size` | `'xs' \| 's' \| 'm' \| 'l' \| 'xl' \| '2xl' \| '3xl'` | `'m'` | Circle size |
1038
+ | `type` | `'bar' \| 'circle'` | (required) | Indicator type |
1039
+ | `labelPlacement` | `'outside' \| 'inside'` | | Label position |
1040
+ | `shape` | `'default' \| 'rounded'` | — | Bar shape |
1041
+ | `size` | `'xs' \| 's' \| 'm' \| 'l' \| 'xl' \| '2xl' \| '3xl'` | — | Circle size (ignored for bar) |
1042
+
1043
+ > **Note:** This is a container shell. Progress track, fill, and value label are projected as children. There is no `value` input.
908
1044
 
909
1045
  ### Feedback
910
1046
 
@@ -952,14 +1088,26 @@ export class AppModule {}
952
1088
  ```
953
1089
 
954
1090
  ```html
955
- <ux4g-sla-progress-indicator type="circle" [value]="75"></ux4g-sla-progress-indicator>
956
- <ux4g-sla-progress-indicator type="linear" [value]="50"></ux4g-sla-progress-indicator>
1091
+ <ux4g-sla-progress-indicator type="circle">
1092
+ <div class="ux4g-sla-circle-track">
1093
+ <span class="ux4g-sla-value">75%</span>
1094
+ </div>
1095
+ </ux4g-sla-progress-indicator>
1096
+
1097
+ <ux4g-sla-progress-indicator type="linear">
1098
+ <div class="ux4g-sla-linear-track">
1099
+ <div class="ux4g-sla-linear-fill" style="width: 50%"></div>
1100
+ </div>
1101
+ </ux4g-sla-progress-indicator>
1102
+
957
1103
  <ux4g-sla-progress-indicator type="badge">On Track</ux4g-sla-progress-indicator>
958
1104
  ```
959
1105
 
960
1106
  | Input | Type | Default | Description |
961
1107
  |---|---|---|---|
962
- | `type` | `'circle' \| 'linear' \| 'badge'` | `'circle'` | Indicator type |
1108
+ | `type` | `'circle' \| 'linear' \| 'badge'` | (required) | Indicator type |
1109
+
1110
+ > **Note:** This is a container shell. Progress value and track are projected as children. There is no `value` input.
963
1111
 
964
1112
  ### Carousel
965
1113