ux4g-components-angular 1.0.0 → 1.1.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/README.md +87 -0
- package/dist/accessibility-bar/README.md +87 -0
- package/dist/accessibility-bar/fesm2022/ux4g-components-angular-accessibility-bar.mjs +1 -0
- package/dist/accessibility-bar/fesm2022/ux4g-components-angular-accessibility-bar.mjs.map +1 -1
- package/dist/accessibility-bar/public-api.d.ts +1 -0
- package/dist/accessibility-bar/public-api.d.ts.map +1 -1
- package/dist/accordion/README.md +87 -0
- package/dist/accordion/fesm2022/ux4g-components-angular-accordion.mjs +1 -0
- package/dist/accordion/fesm2022/ux4g-components-angular-accordion.mjs.map +1 -1
- package/dist/accordion/public-api.d.ts +1 -0
- package/dist/accordion/public-api.d.ts.map +1 -1
- package/dist/alert/README.md +87 -0
- package/dist/alert/fesm2022/ux4g-components-angular-alert.mjs +1 -0
- package/dist/alert/fesm2022/ux4g-components-angular-alert.mjs.map +1 -1
- package/dist/alert/public-api.d.ts +1 -0
- package/dist/alert/public-api.d.ts.map +1 -1
- package/dist/avatar/README.md +87 -0
- package/dist/avatar/fesm2022/ux4g-components-angular-avatar.mjs +1 -0
- package/dist/avatar/fesm2022/ux4g-components-angular-avatar.mjs.map +1 -1
- package/dist/avatar/public-api.d.ts +1 -0
- package/dist/avatar/public-api.d.ts.map +1 -1
- package/dist/badge/README.md +87 -0
- package/dist/badge/fesm2022/ux4g-components-angular-badge.mjs +1 -0
- package/dist/badge/fesm2022/ux4g-components-angular-badge.mjs.map +1 -1
- package/dist/badge/public-api.d.ts +1 -0
- package/dist/badge/public-api.d.ts.map +1 -1
- package/dist/breadcrumb/README.md +87 -0
- package/dist/breadcrumb/fesm2022/ux4g-components-angular-breadcrumb.mjs +1 -0
- package/dist/breadcrumb/fesm2022/ux4g-components-angular-breadcrumb.mjs.map +1 -1
- package/dist/breadcrumb/public-api.d.ts +1 -0
- package/dist/breadcrumb/public-api.d.ts.map +1 -1
- package/dist/button/README.md +87 -0
- package/dist/button/fesm2022/ux4g-components-angular-button.mjs +1 -0
- package/dist/button/fesm2022/ux4g-components-angular-button.mjs.map +1 -1
- package/dist/button/public-api.d.ts +1 -0
- package/dist/button/public-api.d.ts.map +1 -1
- package/dist/card/README.md +87 -0
- package/dist/card/fesm2022/ux4g-components-angular-card.mjs +1 -0
- package/dist/card/fesm2022/ux4g-components-angular-card.mjs.map +1 -1
- package/dist/card/public-api.d.ts +1 -0
- package/dist/card/public-api.d.ts.map +1 -1
- package/dist/carousel/README.md +87 -0
- package/dist/carousel/fesm2022/ux4g-components-angular-carousel.mjs +1 -0
- package/dist/carousel/fesm2022/ux4g-components-angular-carousel.mjs.map +1 -1
- package/dist/carousel/public-api.d.ts +1 -0
- package/dist/carousel/public-api.d.ts.map +1 -1
- package/dist/checkbox/README.md +87 -0
- package/dist/checkbox/fesm2022/ux4g-components-angular-checkbox.mjs +1 -0
- package/dist/checkbox/fesm2022/ux4g-components-angular-checkbox.mjs.map +1 -1
- package/dist/checkbox/public-api.d.ts +1 -0
- package/dist/checkbox/public-api.d.ts.map +1 -1
- package/dist/chip/README.md +87 -0
- package/dist/chip/fesm2022/ux4g-components-angular-chip.mjs +1 -0
- package/dist/chip/fesm2022/ux4g-components-angular-chip.mjs.map +1 -1
- package/dist/chip/public-api.d.ts +1 -0
- package/dist/chip/public-api.d.ts.map +1 -1
- package/dist/chip-group/README.md +87 -0
- package/dist/chip-group/fesm2022/ux4g-components-angular-chip-group.mjs +1 -0
- package/dist/chip-group/fesm2022/ux4g-components-angular-chip-group.mjs.map +1 -1
- package/dist/chip-group/public-api.d.ts +1 -0
- package/dist/chip-group/public-api.d.ts.map +1 -1
- package/dist/combobox/README.md +87 -0
- package/dist/combobox/fesm2022/ux4g-components-angular-combobox.mjs +1 -0
- package/dist/combobox/fesm2022/ux4g-components-angular-combobox.mjs.map +1 -1
- package/dist/combobox/public-api.d.ts +1 -0
- package/dist/combobox/public-api.d.ts.map +1 -1
- package/dist/date-time-picker/README.md +87 -0
- package/dist/date-time-picker/fesm2022/ux4g-components-angular-date-time-picker.mjs +1 -0
- package/dist/date-time-picker/fesm2022/ux4g-components-angular-date-time-picker.mjs.map +1 -1
- package/dist/date-time-picker/public-api.d.ts +1 -0
- package/dist/date-time-picker/public-api.d.ts.map +1 -1
- package/dist/divider/README.md +87 -0
- package/dist/divider/fesm2022/ux4g-components-angular-divider.mjs +1 -0
- package/dist/divider/fesm2022/ux4g-components-angular-divider.mjs.map +1 -1
- package/dist/divider/public-api.d.ts +1 -0
- package/dist/divider/public-api.d.ts.map +1 -1
- package/dist/draft-status-banner/README.md +87 -0
- package/dist/draft-status-banner/fesm2022/ux4g-components-angular-draft-status-banner.mjs +1 -0
- package/dist/draft-status-banner/fesm2022/ux4g-components-angular-draft-status-banner.mjs.map +1 -1
- package/dist/draft-status-banner/public-api.d.ts +1 -0
- package/dist/draft-status-banner/public-api.d.ts.map +1 -1
- package/dist/drawer/README.md +87 -0
- package/dist/drawer/fesm2022/ux4g-components-angular-drawer.mjs +1 -0
- package/dist/drawer/fesm2022/ux4g-components-angular-drawer.mjs.map +1 -1
- package/dist/drawer/public-api.d.ts +1 -0
- package/dist/drawer/public-api.d.ts.map +1 -1
- package/dist/dropdown/README.md +87 -0
- package/dist/dropdown/fesm2022/ux4g-components-angular-dropdown.mjs +1 -0
- package/dist/dropdown/fesm2022/ux4g-components-angular-dropdown.mjs.map +1 -1
- package/dist/dropdown/public-api.d.ts +1 -0
- package/dist/dropdown/public-api.d.ts.map +1 -1
- package/dist/empty-state/README.md +87 -0
- package/dist/empty-state/fesm2022/ux4g-components-angular-empty-state.mjs +1 -0
- package/dist/empty-state/fesm2022/ux4g-components-angular-empty-state.mjs.map +1 -1
- package/dist/empty-state/public-api.d.ts +1 -0
- package/dist/empty-state/public-api.d.ts.map +1 -1
- package/dist/feedback/README.md +87 -0
- package/dist/feedback/fesm2022/ux4g-components-angular-feedback.mjs +1 -0
- package/dist/feedback/fesm2022/ux4g-components-angular-feedback.mjs.map +1 -1
- package/dist/feedback/public-api.d.ts +1 -0
- package/dist/feedback/public-api.d.ts.map +1 -1
- package/dist/footer/README.md +87 -0
- package/dist/footer/fesm2022/ux4g-components-angular-footer.mjs +1 -0
- package/dist/footer/fesm2022/ux4g-components-angular-footer.mjs.map +1 -1
- package/dist/footer/public-api.d.ts +1 -0
- package/dist/footer/public-api.d.ts.map +1 -1
- package/dist/form-field-group/README.md +87 -0
- package/dist/form-field-group/fesm2022/ux4g-components-angular-form-field-group.mjs +1 -0
- package/dist/form-field-group/fesm2022/ux4g-components-angular-form-field-group.mjs.map +1 -1
- package/dist/form-field-group/public-api.d.ts +1 -0
- package/dist/form-field-group/public-api.d.ts.map +1 -1
- package/dist/icon-button/README.md +87 -0
- package/dist/icon-button/fesm2022/ux4g-components-angular-icon-button.mjs +1 -0
- package/dist/icon-button/fesm2022/ux4g-components-angular-icon-button.mjs.map +1 -1
- package/dist/icon-button/public-api.d.ts +1 -0
- package/dist/icon-button/public-api.d.ts.map +1 -1
- package/dist/image/README.md +87 -0
- package/dist/image/fesm2022/ux4g-components-angular-image.mjs +1 -0
- package/dist/image/fesm2022/ux4g-components-angular-image.mjs.map +1 -1
- package/dist/image/public-api.d.ts +1 -0
- package/dist/image/public-api.d.ts.map +1 -1
- package/dist/input/README.md +87 -0
- package/dist/input/fesm2022/ux4g-components-angular-input.mjs +1 -0
- package/dist/input/fesm2022/ux4g-components-angular-input.mjs.map +1 -1
- package/dist/input/public-api.d.ts +1 -0
- package/dist/input/public-api.d.ts.map +1 -1
- package/dist/journey-timeline/README.md +87 -0
- package/dist/journey-timeline/fesm2022/ux4g-components-angular-journey-timeline.mjs +1 -0
- package/dist/journey-timeline/fesm2022/ux4g-components-angular-journey-timeline.mjs.map +1 -1
- package/dist/journey-timeline/public-api.d.ts +1 -0
- package/dist/journey-timeline/public-api.d.ts.map +1 -1
- package/dist/link/README.md +87 -0
- package/dist/link/fesm2022/ux4g-components-angular-link.mjs +1 -0
- package/dist/link/fesm2022/ux4g-components-angular-link.mjs.map +1 -1
- package/dist/link/public-api.d.ts +1 -0
- package/dist/link/public-api.d.ts.map +1 -1
- package/dist/list/README.md +87 -0
- package/dist/list/fesm2022/ux4g-components-angular-list.mjs +1 -0
- package/dist/list/fesm2022/ux4g-components-angular-list.mjs.map +1 -1
- package/dist/list/public-api.d.ts +1 -0
- package/dist/list/public-api.d.ts.map +1 -1
- package/dist/modal/README.md +87 -0
- package/dist/modal/fesm2022/ux4g-components-angular-modal.mjs +1 -0
- package/dist/modal/fesm2022/ux4g-components-angular-modal.mjs.map +1 -1
- package/dist/modal/public-api.d.ts +1 -0
- package/dist/modal/public-api.d.ts.map +1 -1
- package/dist/navbar/README.md +87 -0
- package/dist/navbar/fesm2022/ux4g-components-angular-navbar.mjs +1 -0
- package/dist/navbar/fesm2022/ux4g-components-angular-navbar.mjs.map +1 -1
- package/dist/navbar/public-api.d.ts +1 -0
- package/dist/navbar/public-api.d.ts.map +1 -1
- package/dist/otp-input/README.md +87 -0
- package/dist/otp-input/fesm2022/ux4g-components-angular-otp-input.mjs +1 -0
- package/dist/otp-input/fesm2022/ux4g-components-angular-otp-input.mjs.map +1 -1
- package/dist/otp-input/public-api.d.ts +1 -0
- package/dist/otp-input/public-api.d.ts.map +1 -1
- package/dist/pagination/README.md +87 -0
- package/dist/pagination/fesm2022/ux4g-components-angular-pagination.mjs +1 -0
- package/dist/pagination/fesm2022/ux4g-components-angular-pagination.mjs.map +1 -1
- package/dist/pagination/public-api.d.ts +1 -0
- package/dist/pagination/public-api.d.ts.map +1 -1
- package/dist/popover/README.md +87 -0
- package/dist/popover/fesm2022/ux4g-components-angular-popover.mjs +1 -0
- package/dist/popover/fesm2022/ux4g-components-angular-popover.mjs.map +1 -1
- package/dist/popover/public-api.d.ts +1 -0
- package/dist/popover/public-api.d.ts.map +1 -1
- package/dist/progress-indicator/README.md +87 -0
- package/dist/progress-indicator/fesm2022/ux4g-components-angular-progress-indicator.mjs +1 -0
- package/dist/progress-indicator/fesm2022/ux4g-components-angular-progress-indicator.mjs.map +1 -1
- package/dist/progress-indicator/public-api.d.ts +1 -0
- package/dist/progress-indicator/public-api.d.ts.map +1 -1
- package/dist/radio/README.md +87 -0
- package/dist/radio/fesm2022/ux4g-components-angular-radio.mjs +1 -0
- package/dist/radio/fesm2022/ux4g-components-angular-radio.mjs.map +1 -1
- package/dist/radio/public-api.d.ts +1 -0
- package/dist/radio/public-api.d.ts.map +1 -1
- package/dist/result-list-row/README.md +87 -0
- package/dist/result-list-row/fesm2022/ux4g-components-angular-result-list-row.mjs +1 -0
- package/dist/result-list-row/fesm2022/ux4g-components-angular-result-list-row.mjs.map +1 -1
- package/dist/result-list-row/public-api.d.ts +1 -0
- package/dist/result-list-row/public-api.d.ts.map +1 -1
- package/dist/search/README.md +87 -0
- package/dist/search/fesm2022/ux4g-components-angular-search.mjs +1 -0
- package/dist/search/fesm2022/ux4g-components-angular-search.mjs.map +1 -1
- package/dist/search/public-api.d.ts +1 -0
- package/dist/search/public-api.d.ts.map +1 -1
- package/dist/sla-progress-indicator/README.md +87 -0
- package/dist/sla-progress-indicator/fesm2022/ux4g-components-angular-sla-progress-indicator.mjs +1 -0
- package/dist/sla-progress-indicator/fesm2022/ux4g-components-angular-sla-progress-indicator.mjs.map +1 -1
- package/dist/sla-progress-indicator/public-api.d.ts +1 -0
- package/dist/sla-progress-indicator/public-api.d.ts.map +1 -1
- package/dist/slider/README.md +87 -0
- package/dist/slider/fesm2022/ux4g-components-angular-slider.mjs +1 -0
- package/dist/slider/fesm2022/ux4g-components-angular-slider.mjs.map +1 -1
- package/dist/slider/public-api.d.ts +1 -0
- package/dist/slider/public-api.d.ts.map +1 -1
- package/dist/slot-grid/README.md +87 -0
- package/dist/slot-grid/fesm2022/ux4g-components-angular-slot-grid.mjs +1 -0
- package/dist/slot-grid/fesm2022/ux4g-components-angular-slot-grid.mjs.map +1 -1
- package/dist/slot-grid/public-api.d.ts +1 -0
- package/dist/slot-grid/public-api.d.ts.map +1 -1
- package/dist/social-links/README.md +87 -0
- package/dist/social-links/fesm2022/ux4g-components-angular-social-links.mjs +1 -0
- package/dist/social-links/fesm2022/ux4g-components-angular-social-links.mjs.map +1 -1
- package/dist/social-links/public-api.d.ts +1 -0
- package/dist/social-links/public-api.d.ts.map +1 -1
- package/dist/spinner/README.md +87 -0
- package/dist/spinner/fesm2022/ux4g-components-angular-spinner.mjs +1 -0
- package/dist/spinner/fesm2022/ux4g-components-angular-spinner.mjs.map +1 -1
- package/dist/spinner/public-api.d.ts +1 -0
- package/dist/spinner/public-api.d.ts.map +1 -1
- package/dist/status-pipeline/README.md +87 -0
- package/dist/status-pipeline/fesm2022/ux4g-components-angular-status-pipeline.mjs +1 -0
- package/dist/status-pipeline/fesm2022/ux4g-components-angular-status-pipeline.mjs.map +1 -1
- package/dist/status-pipeline/public-api.d.ts +1 -0
- package/dist/status-pipeline/public-api.d.ts.map +1 -1
- package/dist/stepper/README.md +87 -0
- package/dist/stepper/fesm2022/ux4g-components-angular-stepper.mjs +1 -0
- package/dist/stepper/fesm2022/ux4g-components-angular-stepper.mjs.map +1 -1
- package/dist/stepper/public-api.d.ts +1 -0
- package/dist/stepper/public-api.d.ts.map +1 -1
- package/dist/switch/README.md +87 -0
- package/dist/switch/fesm2022/ux4g-components-angular-switch.mjs +1 -0
- package/dist/switch/fesm2022/ux4g-components-angular-switch.mjs.map +1 -1
- package/dist/switch/public-api.d.ts +1 -0
- package/dist/switch/public-api.d.ts.map +1 -1
- package/dist/tab/README.md +87 -0
- package/dist/tab/fesm2022/ux4g-components-angular-tab.mjs +1 -0
- package/dist/tab/fesm2022/ux4g-components-angular-tab.mjs.map +1 -1
- package/dist/tab/public-api.d.ts +1 -0
- package/dist/tab/public-api.d.ts.map +1 -1
- package/dist/table/README.md +87 -0
- package/dist/table/fesm2022/ux4g-components-angular-table.mjs +1 -0
- package/dist/table/fesm2022/ux4g-components-angular-table.mjs.map +1 -1
- package/dist/table/public-api.d.ts +1 -0
- package/dist/table/public-api.d.ts.map +1 -1
- package/dist/tag/README.md +87 -0
- package/dist/tag/fesm2022/ux4g-components-angular-tag.mjs +1 -0
- package/dist/tag/fesm2022/ux4g-components-angular-tag.mjs.map +1 -1
- package/dist/tag/public-api.d.ts +1 -0
- package/dist/tag/public-api.d.ts.map +1 -1
- package/dist/tooltip/README.md +87 -0
- package/dist/tooltip/fesm2022/ux4g-components-angular-tooltip.mjs +1 -0
- package/dist/tooltip/fesm2022/ux4g-components-angular-tooltip.mjs.map +1 -1
- package/dist/tooltip/public-api.d.ts +1 -0
- package/dist/tooltip/public-api.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/file-upload/fesm2022/ux4g-components-angular-file-upload.mjs +0 -45
- package/dist/file-upload/fesm2022/ux4g-components-angular-file-upload.mjs.map +0 -1
- package/dist/file-upload/index.d.ts +0 -6
- package/dist/file-upload/public-api.d.ts +0 -4
- package/dist/file-upload/public-api.d.ts.map +0 -1
- package/dist/file-upload/ux4g-components-angular-file-upload.d.ts.map +0 -1
- package/dist/file-upload/ux4g-file-upload.component.d.ts +0 -9
- package/dist/file-upload/ux4g-file-upload.component.d.ts.map +0 -1
- package/dist/file-upload/ux4g-file-upload.module.d.ts +0 -9
- package/dist/file-upload/ux4g-file-upload.module.d.ts.map +0 -1
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# ux4g-components-angular
|
|
2
|
+
|
|
3
|
+
Angular wrapper components for the UX4G Design System.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install ux4g-components-angular ux4g-components-web
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Setup
|
|
12
|
+
|
|
13
|
+
Add the CSS bundle to your `angular.json` styles array:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"styles": [
|
|
18
|
+
"node_modules/ux4g-components-web/styles/ux4g.css",
|
|
19
|
+
"src/styles.css"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
// app.module.ts
|
|
28
|
+
import { UX4GButtonModule } from 'ux4g-components-angular/button';
|
|
29
|
+
import { UX4GSpinnerModule } from 'ux4g-components-angular/spinner';
|
|
30
|
+
|
|
31
|
+
@NgModule({
|
|
32
|
+
imports: [UX4GButtonModule, UX4GSpinnerModule],
|
|
33
|
+
})
|
|
34
|
+
export class AppModule {}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
```html
|
|
38
|
+
<!-- app.component.html -->
|
|
39
|
+
<ux4g-button variant="primary" size="md" (buttonClick)="onSave()">
|
|
40
|
+
Save
|
|
41
|
+
</ux4g-button>
|
|
42
|
+
|
|
43
|
+
<ux4g-spinner variant="primary" size="md" type="full"></ux4g-spinner>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Available Components (50)
|
|
47
|
+
|
|
48
|
+
Each component is available as a sub-path import:
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
import { UX4GButtonModule } from 'ux4g-components-angular/button';
|
|
52
|
+
import { UX4GSpinnerModule } from 'ux4g-components-angular/spinner';
|
|
53
|
+
import { UX4GBadgeModule } from 'ux4g-components-angular/badge';
|
|
54
|
+
import { UX4GCardModule } from 'ux4g-components-angular/card';
|
|
55
|
+
// ... and 46 more
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Full list: `accessibility-bar`, `accordion`, `alert`, `avatar`, `badge`, `breadcrumb`, `button`, `card`, `carousel`, `checkbox`, `chip`, `chip-group`, `combobox`, `date-time-picker`, `divider`, `draft-status-banner`, `drawer`, `dropdown`, `empty-state`, `feedback`, `file-upload`, `footer`, `form-field-group`, `icon-button`, `image`, `input`, `journey-timeline`, `link`, `list`, `modal`, `navbar`, `otp-input`, `pagination`, `popover`, `progress-indicator`, `radio`, `result-list-row`, `search`, `sla-progress-indicator`, `slider`, `slot-grid`, `social-links`, `spinner`, `status-pipeline`, `stepper`, `switch`, `tab`, `table`, `tag`, `tooltip`
|
|
59
|
+
|
|
60
|
+
## Architecture
|
|
61
|
+
|
|
62
|
+
This package follows a CSS-first architecture:
|
|
63
|
+
|
|
64
|
+
- **CSS is the source of truth** — all visual decisions live in CSS
|
|
65
|
+
- **Wrappers are thin** — they map typed inputs to CSS class strings via `buildXxxClasses()` functions
|
|
66
|
+
- **No inline styles, no CSS-in-JS** — only `[class]` bindings
|
|
67
|
+
- **No local `types.ts` copies** — all Class_Builder functions are imported from `ux4g-components-web/types`
|
|
68
|
+
|
|
69
|
+
## Compatibility
|
|
70
|
+
|
|
71
|
+
- Angular >= 15.0.0
|
|
72
|
+
- Built with Ivy partial compilation (compatible with Angular 15–19+)
|
|
73
|
+
- `typesVersions` included for `moduleResolution: node` compatibility
|
|
74
|
+
|
|
75
|
+
## Peer Dependencies
|
|
76
|
+
|
|
77
|
+
- `@angular/core >= 15.0.0`
|
|
78
|
+
- `@angular/common >= 15.0.0`
|
|
79
|
+
|
|
80
|
+
## Related Packages
|
|
81
|
+
|
|
82
|
+
- [`ux4g-components-web`](https://www.npmjs.com/package/ux4g-components-web) — CSS bundle and shared types (required)
|
|
83
|
+
- [`ux4g-components-react`](https://www.npmjs.com/package/ux4g-components-react) — React wrapper components
|
|
84
|
+
|
|
85
|
+
## License
|
|
86
|
+
|
|
87
|
+
MIT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ux4g-components-angular-slot-grid.mjs","sources":["../../../src/slot-grid/ux4g-slot-grid.component.ts","../../../src/slot-grid/ux4g-slot-grid.module.ts","../../../src/slot-grid/ux4g-components-angular-slot-grid.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { SlotGridVariant, buildSlotGridClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-slot-grid',\r\n standalone: false,\r\n template: `<div [className]=\"slotGridClasses\"><ng-content></ng-content></div>`,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GSlotGridComponent {\r\n @Input() variant: SlotGridVariant = 'weekly';\r\n\r\n get slotGridClasses(): string {\r\n return buildSlotGridClasses(this.variant);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GSlotGridComponent } from './ux4g-slot-grid.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GSlotGridComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GSlotGridComponent],\r\n})\r\nexport class UX4GSlotGridModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ux4g-components-angular-slot-grid.mjs","sources":["../../../src/slot-grid/ux4g-slot-grid.component.ts","../../../src/slot-grid/ux4g-slot-grid.module.ts","../../../src/slot-grid/ux4g-components-angular-slot-grid.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { SlotGridVariant, buildSlotGridClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-slot-grid',\r\n standalone: false,\r\n template: `<div [className]=\"slotGridClasses\"><ng-content></ng-content></div>`,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GSlotGridComponent {\r\n @Input() variant: SlotGridVariant = 'weekly';\r\n\r\n get slotGridClasses(): string {\r\n return buildSlotGridClasses(this.variant);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GSlotGridComponent } from './ux4g-slot-grid.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GSlotGridComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GSlotGridComponent],\r\n})\r\nexport class UX4GSlotGridModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;MASa,qBAAqB,CAAA;AANlC,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,OAAO,GAAoB,QAAQ;AAK7C,IAAA;AAHC,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC;IAC3C;+GALW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,2GAHtB,CAAA,kEAAA,CAAoE,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGnE,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,CAAA,kEAAA,CAAoE;oBAC9E,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA;8BAEU,OAAO,EAAA,CAAA;sBAAf;;;MCDU,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,CAJd,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAC1B,YAAY,aACZ,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAEpB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAHnB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACjC,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/slot-grid/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/slot-grid/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# ux4g-components-angular
|
|
2
|
+
|
|
3
|
+
Angular wrapper components for the UX4G Design System.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install ux4g-components-angular ux4g-components-web
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Setup
|
|
12
|
+
|
|
13
|
+
Add the CSS bundle to your `angular.json` styles array:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"styles": [
|
|
18
|
+
"node_modules/ux4g-components-web/styles/ux4g.css",
|
|
19
|
+
"src/styles.css"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
// app.module.ts
|
|
28
|
+
import { UX4GButtonModule } from 'ux4g-components-angular/button';
|
|
29
|
+
import { UX4GSpinnerModule } from 'ux4g-components-angular/spinner';
|
|
30
|
+
|
|
31
|
+
@NgModule({
|
|
32
|
+
imports: [UX4GButtonModule, UX4GSpinnerModule],
|
|
33
|
+
})
|
|
34
|
+
export class AppModule {}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
```html
|
|
38
|
+
<!-- app.component.html -->
|
|
39
|
+
<ux4g-button variant="primary" size="md" (buttonClick)="onSave()">
|
|
40
|
+
Save
|
|
41
|
+
</ux4g-button>
|
|
42
|
+
|
|
43
|
+
<ux4g-spinner variant="primary" size="md" type="full"></ux4g-spinner>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Available Components (50)
|
|
47
|
+
|
|
48
|
+
Each component is available as a sub-path import:
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
import { UX4GButtonModule } from 'ux4g-components-angular/button';
|
|
52
|
+
import { UX4GSpinnerModule } from 'ux4g-components-angular/spinner';
|
|
53
|
+
import { UX4GBadgeModule } from 'ux4g-components-angular/badge';
|
|
54
|
+
import { UX4GCardModule } from 'ux4g-components-angular/card';
|
|
55
|
+
// ... and 46 more
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Full list: `accessibility-bar`, `accordion`, `alert`, `avatar`, `badge`, `breadcrumb`, `button`, `card`, `carousel`, `checkbox`, `chip`, `chip-group`, `combobox`, `date-time-picker`, `divider`, `draft-status-banner`, `drawer`, `dropdown`, `empty-state`, `feedback`, `file-upload`, `footer`, `form-field-group`, `icon-button`, `image`, `input`, `journey-timeline`, `link`, `list`, `modal`, `navbar`, `otp-input`, `pagination`, `popover`, `progress-indicator`, `radio`, `result-list-row`, `search`, `sla-progress-indicator`, `slider`, `slot-grid`, `social-links`, `spinner`, `status-pipeline`, `stepper`, `switch`, `tab`, `table`, `tag`, `tooltip`
|
|
59
|
+
|
|
60
|
+
## Architecture
|
|
61
|
+
|
|
62
|
+
This package follows a CSS-first architecture:
|
|
63
|
+
|
|
64
|
+
- **CSS is the source of truth** — all visual decisions live in CSS
|
|
65
|
+
- **Wrappers are thin** — they map typed inputs to CSS class strings via `buildXxxClasses()` functions
|
|
66
|
+
- **No inline styles, no CSS-in-JS** — only `[class]` bindings
|
|
67
|
+
- **No local `types.ts` copies** — all Class_Builder functions are imported from `ux4g-components-web/types`
|
|
68
|
+
|
|
69
|
+
## Compatibility
|
|
70
|
+
|
|
71
|
+
- Angular >= 15.0.0
|
|
72
|
+
- Built with Ivy partial compilation (compatible with Angular 15–19+)
|
|
73
|
+
- `typesVersions` included for `moduleResolution: node` compatibility
|
|
74
|
+
|
|
75
|
+
## Peer Dependencies
|
|
76
|
+
|
|
77
|
+
- `@angular/core >= 15.0.0`
|
|
78
|
+
- `@angular/common >= 15.0.0`
|
|
79
|
+
|
|
80
|
+
## Related Packages
|
|
81
|
+
|
|
82
|
+
- [`ux4g-components-web`](https://www.npmjs.com/package/ux4g-components-web) — CSS bundle and shared types (required)
|
|
83
|
+
- [`ux4g-components-react`](https://www.npmjs.com/package/ux4g-components-react) — React wrapper components
|
|
84
|
+
|
|
85
|
+
## License
|
|
86
|
+
|
|
87
|
+
MIT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ux4g-components-angular-social-links.mjs","sources":["../../../src/social-links/ux4g-social-links.component.ts","../../../src/social-links/ux4g-social-links.module.ts","../../../src/social-links/ux4g-components-angular-social-links.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { SocialLinksSize, buildSocialLinksClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-social-links',\r\n standalone: false,\r\n template: `<div [className]=\"socialLinksClasses\"><ng-content></ng-content></div>`,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GSocialLinksComponent {\r\n @Input() size: SocialLinksSize = 'md';\r\n\r\n get socialLinksClasses(): string {\r\n return buildSocialLinksClasses(this.size);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GSocialLinksComponent } from './ux4g-social-links.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GSocialLinksComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GSocialLinksComponent],\r\n})\r\nexport class UX4GSocialLinksModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ux4g-components-angular-social-links.mjs","sources":["../../../src/social-links/ux4g-social-links.component.ts","../../../src/social-links/ux4g-social-links.module.ts","../../../src/social-links/ux4g-components-angular-social-links.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { SocialLinksSize, buildSocialLinksClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-social-links',\r\n standalone: false,\r\n template: `<div [className]=\"socialLinksClasses\"><ng-content></ng-content></div>`,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GSocialLinksComponent {\r\n @Input() size: SocialLinksSize = 'md';\r\n\r\n get socialLinksClasses(): string {\r\n return buildSocialLinksClasses(this.size);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GSocialLinksComponent } from './ux4g-social-links.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GSocialLinksComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GSocialLinksComponent],\r\n})\r\nexport class UX4GSocialLinksModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;MASa,wBAAwB,CAAA;AANrC,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,IAAI,GAAoB,IAAI;AAKtC,IAAA;AAHC,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3C;+GALW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,wGAHzB,CAAA,qEAAA,CAAuE,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGtE,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,CAAA,qEAAA,CAAuE;oBACjF,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA;8BAEU,IAAI,EAAA,CAAA;sBAAZ;;;MCDU,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,CAJjB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAC7B,YAAY,aACZ,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAEvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAHtB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;oBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,wBAAwB,CAAC;AACpC,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import 'ux4g-components-web/runtime/bootstrap';
|
|
1
2
|
export { UX4GSocialLinksComponent } from './ux4g-social-links.component';
|
|
2
3
|
export { UX4GSocialLinksModule } from './ux4g-social-links.module';
|
|
3
4
|
export { SocialLinksSize, buildSocialLinksClasses } from 'ux4g-components-web/types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/social-links/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/social-links/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# ux4g-components-angular
|
|
2
|
+
|
|
3
|
+
Angular wrapper components for the UX4G Design System.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install ux4g-components-angular ux4g-components-web
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Setup
|
|
12
|
+
|
|
13
|
+
Add the CSS bundle to your `angular.json` styles array:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"styles": [
|
|
18
|
+
"node_modules/ux4g-components-web/styles/ux4g.css",
|
|
19
|
+
"src/styles.css"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
// app.module.ts
|
|
28
|
+
import { UX4GButtonModule } from 'ux4g-components-angular/button';
|
|
29
|
+
import { UX4GSpinnerModule } from 'ux4g-components-angular/spinner';
|
|
30
|
+
|
|
31
|
+
@NgModule({
|
|
32
|
+
imports: [UX4GButtonModule, UX4GSpinnerModule],
|
|
33
|
+
})
|
|
34
|
+
export class AppModule {}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
```html
|
|
38
|
+
<!-- app.component.html -->
|
|
39
|
+
<ux4g-button variant="primary" size="md" (buttonClick)="onSave()">
|
|
40
|
+
Save
|
|
41
|
+
</ux4g-button>
|
|
42
|
+
|
|
43
|
+
<ux4g-spinner variant="primary" size="md" type="full"></ux4g-spinner>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Available Components (50)
|
|
47
|
+
|
|
48
|
+
Each component is available as a sub-path import:
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
import { UX4GButtonModule } from 'ux4g-components-angular/button';
|
|
52
|
+
import { UX4GSpinnerModule } from 'ux4g-components-angular/spinner';
|
|
53
|
+
import { UX4GBadgeModule } from 'ux4g-components-angular/badge';
|
|
54
|
+
import { UX4GCardModule } from 'ux4g-components-angular/card';
|
|
55
|
+
// ... and 46 more
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Full list: `accessibility-bar`, `accordion`, `alert`, `avatar`, `badge`, `breadcrumb`, `button`, `card`, `carousel`, `checkbox`, `chip`, `chip-group`, `combobox`, `date-time-picker`, `divider`, `draft-status-banner`, `drawer`, `dropdown`, `empty-state`, `feedback`, `file-upload`, `footer`, `form-field-group`, `icon-button`, `image`, `input`, `journey-timeline`, `link`, `list`, `modal`, `navbar`, `otp-input`, `pagination`, `popover`, `progress-indicator`, `radio`, `result-list-row`, `search`, `sla-progress-indicator`, `slider`, `slot-grid`, `social-links`, `spinner`, `status-pipeline`, `stepper`, `switch`, `tab`, `table`, `tag`, `tooltip`
|
|
59
|
+
|
|
60
|
+
## Architecture
|
|
61
|
+
|
|
62
|
+
This package follows a CSS-first architecture:
|
|
63
|
+
|
|
64
|
+
- **CSS is the source of truth** — all visual decisions live in CSS
|
|
65
|
+
- **Wrappers are thin** — they map typed inputs to CSS class strings via `buildXxxClasses()` functions
|
|
66
|
+
- **No inline styles, no CSS-in-JS** — only `[class]` bindings
|
|
67
|
+
- **No local `types.ts` copies** — all Class_Builder functions are imported from `ux4g-components-web/types`
|
|
68
|
+
|
|
69
|
+
## Compatibility
|
|
70
|
+
|
|
71
|
+
- Angular >= 15.0.0
|
|
72
|
+
- Built with Ivy partial compilation (compatible with Angular 15–19+)
|
|
73
|
+
- `typesVersions` included for `moduleResolution: node` compatibility
|
|
74
|
+
|
|
75
|
+
## Peer Dependencies
|
|
76
|
+
|
|
77
|
+
- `@angular/core >= 15.0.0`
|
|
78
|
+
- `@angular/common >= 15.0.0`
|
|
79
|
+
|
|
80
|
+
## Related Packages
|
|
81
|
+
|
|
82
|
+
- [`ux4g-components-web`](https://www.npmjs.com/package/ux4g-components-web) — CSS bundle and shared types (required)
|
|
83
|
+
- [`ux4g-components-react`](https://www.npmjs.com/package/ux4g-components-react) — React wrapper components
|
|
84
|
+
|
|
85
|
+
## License
|
|
86
|
+
|
|
87
|
+
MIT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ux4g-components-angular-spinner.mjs","sources":["../../../src/spinner/ux4g-spinner.component.ts","../../../src/spinner/ux4g-spinner.module.ts","../../../src/spinner/ux4g-components-angular-spinner.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { SpinnerVariant, SpinnerSize, SpinnerType, buildSpinnerClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-spinner',\r\n standalone: false,\r\n template: `<span [class]=\"spinnerClasses\" role=\"status\" [attr.aria-label]=\"label\" aria-live=\"polite\"></span>`,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GSpinnerComponent {\r\n @Input() variant: SpinnerVariant = 'primary';\r\n @Input() size: SpinnerSize = 'md';\r\n @Input() type: SpinnerType = 'full';\r\n @Input() label: string = 'Loading';\r\n\r\n get spinnerClasses(): string {\r\n return buildSpinnerClasses(this.variant, this.size, this.type);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GSpinnerComponent } from './ux4g-spinner.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GSpinnerComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GSpinnerComponent],\r\n})\r\nexport class UX4GSpinnerModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ux4g-components-angular-spinner.mjs","sources":["../../../src/spinner/ux4g-spinner.component.ts","../../../src/spinner/ux4g-spinner.module.ts","../../../src/spinner/ux4g-components-angular-spinner.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { SpinnerVariant, SpinnerSize, SpinnerType, buildSpinnerClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-spinner',\r\n standalone: false,\r\n template: `<span [class]=\"spinnerClasses\" role=\"status\" [attr.aria-label]=\"label\" aria-live=\"polite\"></span>`,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GSpinnerComponent {\r\n @Input() variant: SpinnerVariant = 'primary';\r\n @Input() size: SpinnerSize = 'md';\r\n @Input() type: SpinnerType = 'full';\r\n @Input() label: string = 'Loading';\r\n\r\n get spinnerClasses(): string {\r\n return buildSpinnerClasses(this.variant, this.size, this.type);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GSpinnerComponent } from './ux4g-spinner.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GSpinnerComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GSpinnerComponent],\r\n})\r\nexport class UX4GSpinnerModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MASa,oBAAoB,CAAA;AANjC,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,OAAO,GAAmB,SAAS;QACnC,IAAA,CAAA,IAAI,GAAgB,IAAI;QACxB,IAAA,CAAA,IAAI,GAAgB,MAAM;QAC1B,IAAA,CAAA,KAAK,GAAW,SAAS;AAKnC,IAAA;AAHC,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAChE;+GARW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,qJAHrB,CAAA,iGAAA,CAAmG,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGlG,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,CAAA,iGAAA,CAAmG;oBAC7G,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA;8BAEU,OAAO,EAAA,CAAA;sBAAf;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;;;MCJU,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,CAJb,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACzB,YAAY,aACZ,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAEnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAHlB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;oBACpC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAChC,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/spinner/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/spinner/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# ux4g-components-angular
|
|
2
|
+
|
|
3
|
+
Angular wrapper components for the UX4G Design System.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install ux4g-components-angular ux4g-components-web
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Setup
|
|
12
|
+
|
|
13
|
+
Add the CSS bundle to your `angular.json` styles array:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"styles": [
|
|
18
|
+
"node_modules/ux4g-components-web/styles/ux4g.css",
|
|
19
|
+
"src/styles.css"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
// app.module.ts
|
|
28
|
+
import { UX4GButtonModule } from 'ux4g-components-angular/button';
|
|
29
|
+
import { UX4GSpinnerModule } from 'ux4g-components-angular/spinner';
|
|
30
|
+
|
|
31
|
+
@NgModule({
|
|
32
|
+
imports: [UX4GButtonModule, UX4GSpinnerModule],
|
|
33
|
+
})
|
|
34
|
+
export class AppModule {}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
```html
|
|
38
|
+
<!-- app.component.html -->
|
|
39
|
+
<ux4g-button variant="primary" size="md" (buttonClick)="onSave()">
|
|
40
|
+
Save
|
|
41
|
+
</ux4g-button>
|
|
42
|
+
|
|
43
|
+
<ux4g-spinner variant="primary" size="md" type="full"></ux4g-spinner>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Available Components (50)
|
|
47
|
+
|
|
48
|
+
Each component is available as a sub-path import:
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
import { UX4GButtonModule } from 'ux4g-components-angular/button';
|
|
52
|
+
import { UX4GSpinnerModule } from 'ux4g-components-angular/spinner';
|
|
53
|
+
import { UX4GBadgeModule } from 'ux4g-components-angular/badge';
|
|
54
|
+
import { UX4GCardModule } from 'ux4g-components-angular/card';
|
|
55
|
+
// ... and 46 more
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Full list: `accessibility-bar`, `accordion`, `alert`, `avatar`, `badge`, `breadcrumb`, `button`, `card`, `carousel`, `checkbox`, `chip`, `chip-group`, `combobox`, `date-time-picker`, `divider`, `draft-status-banner`, `drawer`, `dropdown`, `empty-state`, `feedback`, `file-upload`, `footer`, `form-field-group`, `icon-button`, `image`, `input`, `journey-timeline`, `link`, `list`, `modal`, `navbar`, `otp-input`, `pagination`, `popover`, `progress-indicator`, `radio`, `result-list-row`, `search`, `sla-progress-indicator`, `slider`, `slot-grid`, `social-links`, `spinner`, `status-pipeline`, `stepper`, `switch`, `tab`, `table`, `tag`, `tooltip`
|
|
59
|
+
|
|
60
|
+
## Architecture
|
|
61
|
+
|
|
62
|
+
This package follows a CSS-first architecture:
|
|
63
|
+
|
|
64
|
+
- **CSS is the source of truth** — all visual decisions live in CSS
|
|
65
|
+
- **Wrappers are thin** — they map typed inputs to CSS class strings via `buildXxxClasses()` functions
|
|
66
|
+
- **No inline styles, no CSS-in-JS** — only `[class]` bindings
|
|
67
|
+
- **No local `types.ts` copies** — all Class_Builder functions are imported from `ux4g-components-web/types`
|
|
68
|
+
|
|
69
|
+
## Compatibility
|
|
70
|
+
|
|
71
|
+
- Angular >= 15.0.0
|
|
72
|
+
- Built with Ivy partial compilation (compatible with Angular 15–19+)
|
|
73
|
+
- `typesVersions` included for `moduleResolution: node` compatibility
|
|
74
|
+
|
|
75
|
+
## Peer Dependencies
|
|
76
|
+
|
|
77
|
+
- `@angular/core >= 15.0.0`
|
|
78
|
+
- `@angular/common >= 15.0.0`
|
|
79
|
+
|
|
80
|
+
## Related Packages
|
|
81
|
+
|
|
82
|
+
- [`ux4g-components-web`](https://www.npmjs.com/package/ux4g-components-web) — CSS bundle and shared types (required)
|
|
83
|
+
- [`ux4g-components-react`](https://www.npmjs.com/package/ux4g-components-react) — React wrapper components
|
|
84
|
+
|
|
85
|
+
## License
|
|
86
|
+
|
|
87
|
+
MIT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ux4g-components-angular-status-pipeline.mjs","sources":["../../../src/status-pipeline/ux4g-status-pipeline.component.ts","../../../src/status-pipeline/ux4g-status-pipeline.module.ts","../../../src/status-pipeline/ux4g-components-angular-status-pipeline.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport {\r\n StatusPipelineOrientation,\r\n StatusPipelineAlignment,\r\n StatusPipelineVariant,\r\n StatusPipelineSize,\r\n buildStatusPipelineClasses,\r\n} from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-status-pipeline',\r\n standalone: false,\r\n template: `<div [className]=\"statusPipelineClasses\"><ng-content></ng-content></div>`,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GStatusPipelineComponent {\r\n @Input() orientation: StatusPipelineOrientation = 'horizontal';\r\n @Input() alignment: StatusPipelineAlignment = 'default';\r\n @Input() variant: StatusPipelineVariant = 'default';\r\n @Input() size: StatusPipelineSize = 'default';\r\n\r\n get statusPipelineClasses(): string {\r\n return buildStatusPipelineClasses(this.orientation, this.alignment, this.variant, this.size);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GStatusPipelineComponent } from './ux4g-status-pipeline.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GStatusPipelineComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GStatusPipelineComponent],\r\n})\r\nexport class UX4GStatusPipelineModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ux4g-components-angular-status-pipeline.mjs","sources":["../../../src/status-pipeline/ux4g-status-pipeline.component.ts","../../../src/status-pipeline/ux4g-status-pipeline.module.ts","../../../src/status-pipeline/ux4g-components-angular-status-pipeline.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport {\r\n StatusPipelineOrientation,\r\n StatusPipelineAlignment,\r\n StatusPipelineVariant,\r\n StatusPipelineSize,\r\n buildStatusPipelineClasses,\r\n} from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-status-pipeline',\r\n standalone: false,\r\n template: `<div [className]=\"statusPipelineClasses\"><ng-content></ng-content></div>`,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GStatusPipelineComponent {\r\n @Input() orientation: StatusPipelineOrientation = 'horizontal';\r\n @Input() alignment: StatusPipelineAlignment = 'default';\r\n @Input() variant: StatusPipelineVariant = 'default';\r\n @Input() size: StatusPipelineSize = 'default';\r\n\r\n get statusPipelineClasses(): string {\r\n return buildStatusPipelineClasses(this.orientation, this.alignment, this.variant, this.size);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GStatusPipelineComponent } from './ux4g-status-pipeline.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GStatusPipelineComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GStatusPipelineComponent],\r\n})\r\nexport class UX4GStatusPipelineModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;MAea,2BAA2B,CAAA;AANxC,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,WAAW,GAA8B,YAAY;QACrD,IAAA,CAAA,SAAS,GAA4B,SAAS;QAC9C,IAAA,CAAA,OAAO,GAA0B,SAAS;QAC1C,IAAA,CAAA,IAAI,GAAuB,SAAS;AAK9C,IAAA;AAHC,IAAA,IAAI,qBAAqB,GAAA;AACvB,QAAA,OAAO,0BAA0B,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;IAC9F;+GARW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,mLAH5B,CAAA,wEAAA,CAA0E,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGzE,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,CAAA,wEAAA,CAA0E;oBACpF,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA;8BAEU,WAAW,EAAA,CAAA;sBAAnB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;MCVU,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,CAJpB,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAChC,YAAY,aACZ,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAE1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAHzB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGX,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,2BAA2B,CAAC;oBAC3C,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,2BAA2B,CAAC;AACvC,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import 'ux4g-components-web/runtime/bootstrap';
|
|
1
2
|
export { UX4GStatusPipelineComponent } from './ux4g-status-pipeline.component';
|
|
2
3
|
export { UX4GStatusPipelineModule } from './ux4g-status-pipeline.module';
|
|
3
4
|
export { StatusPipelineOrientation, StatusPipelineAlignment, StatusPipelineVariant, StatusPipelineSize, buildStatusPipelineClasses, } from 'ux4g-components-web/types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/status-pipeline/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/status-pipeline/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# ux4g-components-angular
|
|
2
|
+
|
|
3
|
+
Angular wrapper components for the UX4G Design System.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install ux4g-components-angular ux4g-components-web
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Setup
|
|
12
|
+
|
|
13
|
+
Add the CSS bundle to your `angular.json` styles array:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"styles": [
|
|
18
|
+
"node_modules/ux4g-components-web/styles/ux4g.css",
|
|
19
|
+
"src/styles.css"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
// app.module.ts
|
|
28
|
+
import { UX4GButtonModule } from 'ux4g-components-angular/button';
|
|
29
|
+
import { UX4GSpinnerModule } from 'ux4g-components-angular/spinner';
|
|
30
|
+
|
|
31
|
+
@NgModule({
|
|
32
|
+
imports: [UX4GButtonModule, UX4GSpinnerModule],
|
|
33
|
+
})
|
|
34
|
+
export class AppModule {}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
```html
|
|
38
|
+
<!-- app.component.html -->
|
|
39
|
+
<ux4g-button variant="primary" size="md" (buttonClick)="onSave()">
|
|
40
|
+
Save
|
|
41
|
+
</ux4g-button>
|
|
42
|
+
|
|
43
|
+
<ux4g-spinner variant="primary" size="md" type="full"></ux4g-spinner>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Available Components (50)
|
|
47
|
+
|
|
48
|
+
Each component is available as a sub-path import:
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
import { UX4GButtonModule } from 'ux4g-components-angular/button';
|
|
52
|
+
import { UX4GSpinnerModule } from 'ux4g-components-angular/spinner';
|
|
53
|
+
import { UX4GBadgeModule } from 'ux4g-components-angular/badge';
|
|
54
|
+
import { UX4GCardModule } from 'ux4g-components-angular/card';
|
|
55
|
+
// ... and 46 more
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Full list: `accessibility-bar`, `accordion`, `alert`, `avatar`, `badge`, `breadcrumb`, `button`, `card`, `carousel`, `checkbox`, `chip`, `chip-group`, `combobox`, `date-time-picker`, `divider`, `draft-status-banner`, `drawer`, `dropdown`, `empty-state`, `feedback`, `file-upload`, `footer`, `form-field-group`, `icon-button`, `image`, `input`, `journey-timeline`, `link`, `list`, `modal`, `navbar`, `otp-input`, `pagination`, `popover`, `progress-indicator`, `radio`, `result-list-row`, `search`, `sla-progress-indicator`, `slider`, `slot-grid`, `social-links`, `spinner`, `status-pipeline`, `stepper`, `switch`, `tab`, `table`, `tag`, `tooltip`
|
|
59
|
+
|
|
60
|
+
## Architecture
|
|
61
|
+
|
|
62
|
+
This package follows a CSS-first architecture:
|
|
63
|
+
|
|
64
|
+
- **CSS is the source of truth** — all visual decisions live in CSS
|
|
65
|
+
- **Wrappers are thin** — they map typed inputs to CSS class strings via `buildXxxClasses()` functions
|
|
66
|
+
- **No inline styles, no CSS-in-JS** — only `[class]` bindings
|
|
67
|
+
- **No local `types.ts` copies** — all Class_Builder functions are imported from `ux4g-components-web/types`
|
|
68
|
+
|
|
69
|
+
## Compatibility
|
|
70
|
+
|
|
71
|
+
- Angular >= 15.0.0
|
|
72
|
+
- Built with Ivy partial compilation (compatible with Angular 15–19+)
|
|
73
|
+
- `typesVersions` included for `moduleResolution: node` compatibility
|
|
74
|
+
|
|
75
|
+
## Peer Dependencies
|
|
76
|
+
|
|
77
|
+
- `@angular/core >= 15.0.0`
|
|
78
|
+
- `@angular/common >= 15.0.0`
|
|
79
|
+
|
|
80
|
+
## Related Packages
|
|
81
|
+
|
|
82
|
+
- [`ux4g-components-web`](https://www.npmjs.com/package/ux4g-components-web) — CSS bundle and shared types (required)
|
|
83
|
+
- [`ux4g-components-react`](https://www.npmjs.com/package/ux4g-components-react) — React wrapper components
|
|
84
|
+
|
|
85
|
+
## License
|
|
86
|
+
|
|
87
|
+
MIT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ux4g-components-angular-stepper.mjs","sources":["../../../src/stepper/ux4g-stepper.component.ts","../../../src/stepper/ux4g-stepper.module.ts","../../../src/stepper/ux4g-components-angular-stepper.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { StepperOrientation, StepperAlignment, StepperVariant, StepperSize, buildStepperClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-stepper',\r\n standalone: false,\r\n template: `<div [className]=\"stepperClasses\"><ng-content></ng-content></div>`,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GStepperComponent {\r\n @Input() orientation: StepperOrientation = 'horizontal';\r\n @Input() alignment: StepperAlignment = 'default';\r\n @Input() variant: StepperVariant = 'default';\r\n @Input() size: StepperSize = 'default';\r\n\r\n get stepperClasses(): string {\r\n return buildStepperClasses(this.orientation, this.alignment, this.variant, this.size);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GStepperComponent } from './ux4g-stepper.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GStepperComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GStepperComponent],\r\n})\r\nexport class UX4GStepperModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ux4g-components-angular-stepper.mjs","sources":["../../../src/stepper/ux4g-stepper.component.ts","../../../src/stepper/ux4g-stepper.module.ts","../../../src/stepper/ux4g-components-angular-stepper.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { StepperOrientation, StepperAlignment, StepperVariant, StepperSize, buildStepperClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-stepper',\r\n standalone: false,\r\n template: `<div [className]=\"stepperClasses\"><ng-content></ng-content></div>`,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GStepperComponent {\r\n @Input() orientation: StepperOrientation = 'horizontal';\r\n @Input() alignment: StepperAlignment = 'default';\r\n @Input() variant: StepperVariant = 'default';\r\n @Input() size: StepperSize = 'default';\r\n\r\n get stepperClasses(): string {\r\n return buildStepperClasses(this.orientation, this.alignment, this.variant, this.size);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GStepperComponent } from './ux4g-stepper.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GStepperComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GStepperComponent],\r\n})\r\nexport class UX4GStepperModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;MASa,oBAAoB,CAAA;AANjC,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,WAAW,GAAuB,YAAY;QAC9C,IAAA,CAAA,SAAS,GAAqB,SAAS;QACvC,IAAA,CAAA,OAAO,GAAmB,SAAS;QACnC,IAAA,CAAA,IAAI,GAAgB,SAAS;AAKvC,IAAA;AAHC,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;IACvF;+GARW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,2KAHrB,CAAA,iEAAA,CAAmE,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGlE,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,CAAA,iEAAA,CAAmE;oBAC7E,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA;8BAEU,WAAW,EAAA,CAAA;sBAAnB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;MCJU,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,CAJb,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACzB,YAAY,aACZ,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAEnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAHlB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;oBACpC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAChC,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import 'ux4g-components-web/runtime/bootstrap';
|
|
1
2
|
export { UX4GStepperComponent } from './ux4g-stepper.component';
|
|
2
3
|
export { UX4GStepperModule } from './ux4g-stepper.module';
|
|
3
4
|
export { StepperOrientation, StepperAlignment, StepperVariant, StepperSize, buildStepperClasses } from 'ux4g-components-web/types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/stepper/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/stepper/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC"}
|