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-input.mjs","sources":["../../../src/input/ux4g-input.component.ts","../../../src/input/ux4g-input.module.ts","../../../src/input/ux4g-components-angular-input.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { InputSize, InputState, buildInputContainerClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-input',\r\n standalone: false,\r\n template: `\r\n <div [className]=\"inputContainerClasses\">\r\n <ng-content></ng-content>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GInputComponent {\r\n @Input() size: InputSize = 'md';\r\n @Input() state: InputState = 'default';\r\n @Input() disabled: boolean = false;\r\n\r\n get inputContainerClasses(): string {\r\n return buildInputContainerClasses(this.size, this.state);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GInputComponent } from './ux4g-input.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GInputComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GInputComponent],\r\n})\r\nexport class UX4GInputModule {}\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-input.mjs","sources":["../../../src/input/ux4g-input.component.ts","../../../src/input/ux4g-input.module.ts","../../../src/input/ux4g-components-angular-input.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { InputSize, InputState, buildInputContainerClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-input',\r\n standalone: false,\r\n template: `\r\n <div [className]=\"inputContainerClasses\">\r\n <ng-content></ng-content>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GInputComponent {\r\n @Input() size: InputSize = 'md';\r\n @Input() state: InputState = 'default';\r\n @Input() disabled: boolean = false;\r\n\r\n get inputContainerClasses(): string {\r\n return buildInputContainerClasses(this.size, this.state);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GInputComponent } from './ux4g-input.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GInputComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GInputComponent],\r\n})\r\nexport class UX4GInputModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAaa,kBAAkB,CAAA;AAV/B,IAAA,WAAA,GAAA;QAWW,IAAA,CAAA,IAAI,GAAc,IAAI;QACtB,IAAA,CAAA,KAAK,GAAe,SAAS;QAC7B,IAAA,CAAA,QAAQ,GAAY,KAAK;AAKnC,IAAA;AAHC,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;IAC1D;+GAPW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAPnB,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAV9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,EAAA,CAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA;8BAEU,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;;;MCPU,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,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,eAAe,EAAA,YAAA,EAAA,CAJX,kBAAkB,CAAA,EAAA,OAAA,EAAA,CACvB,YAAY,aACZ,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAEjB,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,eAAe,YAHhB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;oBAClC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC9B,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/input/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/input/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,UAAU,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-journey-timeline.mjs","sources":["../../../src/journey-timeline/ux4g-journey-timeline.component.ts","../../../src/journey-timeline/ux4g-journey-timeline.module.ts","../../../src/journey-timeline/ux4g-components-angular-journey-timeline.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { JourneyTimelineOrientation, buildJourneyTimelineClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-journey-timeline',\r\n standalone: false,\r\n template: `<div [className]=\"journeyTimelineClasses\"><ng-content></ng-content></div>`,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GJourneyTimelineComponent {\r\n @Input() orientation: JourneyTimelineOrientation = 'vertical';\r\n\r\n get journeyTimelineClasses(): string {\r\n return buildJourneyTimelineClasses(this.orientation);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GJourneyTimelineComponent } from './ux4g-journey-timeline.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GJourneyTimelineComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GJourneyTimelineComponent],\r\n})\r\nexport class UX4GJourneyTimelineModule {}\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-journey-timeline.mjs","sources":["../../../src/journey-timeline/ux4g-journey-timeline.component.ts","../../../src/journey-timeline/ux4g-journey-timeline.module.ts","../../../src/journey-timeline/ux4g-components-angular-journey-timeline.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { JourneyTimelineOrientation, buildJourneyTimelineClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-journey-timeline',\r\n standalone: false,\r\n template: `<div [className]=\"journeyTimelineClasses\"><ng-content></ng-content></div>`,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GJourneyTimelineComponent {\r\n @Input() orientation: JourneyTimelineOrientation = 'vertical';\r\n\r\n get journeyTimelineClasses(): string {\r\n return buildJourneyTimelineClasses(this.orientation);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GJourneyTimelineComponent } from './ux4g-journey-timeline.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GJourneyTimelineComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GJourneyTimelineComponent],\r\n})\r\nexport class UX4GJourneyTimelineModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;MASa,4BAA4B,CAAA;AANzC,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,WAAW,GAA+B,UAAU;AAK9D,IAAA;AAHC,IAAA,IAAI,sBAAsB,GAAA;AACxB,QAAA,OAAO,2BAA2B,CAAC,IAAI,CAAC,WAAW,CAAC;IACtD;+GALW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,0HAH7B,CAAA,yEAAA,CAA2E,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAG1E,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,CAAA,yEAAA,CAA2E;oBACrF,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA;8BAEU,WAAW,EAAA,CAAA;sBAAnB;;;MCDU,yBAAyB,CAAA;+GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,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,yBAAyB,EAAA,YAAA,EAAA,CAJrB,4BAA4B,CAAA,EAAA,OAAA,EAAA,CACjC,YAAY,aACZ,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAE3B,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,yBAAyB,YAH1B,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGX,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,4BAA4B,CAAC;oBAC5C,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,4BAA4B,CAAC;AACxC,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import 'ux4g-components-web/runtime/bootstrap';
|
|
1
2
|
export { UX4GJourneyTimelineComponent } from './ux4g-journey-timeline.component';
|
|
2
3
|
export { UX4GJourneyTimelineModule } from './ux4g-journey-timeline.module';
|
|
3
4
|
export { JourneyTimelineOrientation, buildJourneyTimelineClasses } from 'ux4g-components-web/types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/journey-timeline/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/journey-timeline/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,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-link.mjs","sources":["../../../src/link/ux4g-link.component.ts","../../../src/link/ux4g-link.module.ts","../../../src/link/ux4g-components-angular-link.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { LinkVariant, LinkSize, buildLinkClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-link',\r\n standalone: false,\r\n template: `<a [class]=\"linkClasses\" [attr.aria-disabled]=\"disabled || null\" [attr.tabindex]=\"disabled ? -1 : null\" [attr.href]=\"disabled ? null : href\"><ng-content></ng-content></a>`,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GLinkComponent {\r\n @Input() variant: LinkVariant = 'default';\r\n @Input() size: LinkSize = 'md';\r\n @Input() href: string = '';\r\n @Input() disabled: boolean = false;\r\n\r\n get linkClasses(): string {\r\n return buildLinkClasses(this.variant, this.size);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GLinkComponent } from './ux4g-link.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GLinkComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GLinkComponent],\r\n})\r\nexport class UX4GLinkModule {}\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-link.mjs","sources":["../../../src/link/ux4g-link.component.ts","../../../src/link/ux4g-link.module.ts","../../../src/link/ux4g-components-angular-link.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { LinkVariant, LinkSize, buildLinkClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-link',\r\n standalone: false,\r\n template: `<a [class]=\"linkClasses\" [attr.aria-disabled]=\"disabled || null\" [attr.tabindex]=\"disabled ? -1 : null\" [attr.href]=\"disabled ? null : href\"><ng-content></ng-content></a>`,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GLinkComponent {\r\n @Input() variant: LinkVariant = 'default';\r\n @Input() size: LinkSize = 'md';\r\n @Input() href: string = '';\r\n @Input() disabled: boolean = false;\r\n\r\n get linkClasses(): string {\r\n return buildLinkClasses(this.variant, this.size);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GLinkComponent } from './ux4g-link.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GLinkComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GLinkComponent],\r\n})\r\nexport class UX4GLinkModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MASa,iBAAiB,CAAA;AAN9B,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,OAAO,GAAgB,SAAS;QAChC,IAAA,CAAA,IAAI,GAAa,IAAI;QACrB,IAAA,CAAA,IAAI,GAAW,EAAE;QACjB,IAAA,CAAA,QAAQ,GAAY,KAAK;AAKnC,IAAA;AAHC,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;IAClD;+GARW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,wJAHlB,CAAA,0KAAA,CAA4K,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAG3K,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,CAAA,0KAAA,CAA4K;oBACtL,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA;8BAEU,OAAO,EAAA,CAAA;sBAAf;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;;;MCJU,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,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,cAAc,EAAA,YAAA,EAAA,CAJV,iBAAiB,CAAA,EAAA,OAAA,EAAA,CACtB,YAAY,aACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAEhB,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,cAAc,YAHf,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGX,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;oBACjC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC7B,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/link/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/link/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,QAAQ,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-list.mjs","sources":["../../../src/list/ux4g-list.component.ts","../../../src/list/ux4g-list.module.ts","../../../src/list/ux4g-components-angular-list.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { ListVariant, ListSize, buildListClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-list',\r\n standalone: false,\r\n template: `\r\n <ul [className]=\"listClasses\">\r\n <ng-content></ng-content>\r\n </ul>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GListComponent {\r\n @Input() variant: ListVariant = 'default';\r\n @Input() size: ListSize = 'm';\r\n\r\n get listClasses(): string {\r\n return buildListClasses(this.variant, this.size);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GListComponent } from './ux4g-list.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GListComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GListComponent],\r\n})\r\nexport class UX4GListModule {}\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-list.mjs","sources":["../../../src/list/ux4g-list.component.ts","../../../src/list/ux4g-list.module.ts","../../../src/list/ux4g-components-angular-list.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { ListVariant, ListSize, buildListClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-list',\r\n standalone: false,\r\n template: `\r\n <ul [className]=\"listClasses\">\r\n <ng-content></ng-content>\r\n </ul>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GListComponent {\r\n @Input() variant: ListVariant = 'default';\r\n @Input() size: ListSize = 'm';\r\n\r\n get listClasses(): string {\r\n return buildListClasses(this.variant, this.size);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GListComponent } from './ux4g-list.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GListComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GListComponent],\r\n})\r\nexport class UX4GListModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAaa,iBAAiB,CAAA;AAV9B,IAAA,WAAA,GAAA;QAWW,IAAA,CAAA,OAAO,GAAgB,SAAS;QAChC,IAAA,CAAA,IAAI,GAAa,GAAG;AAK9B,IAAA;AAHC,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;IAClD;+GANW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAPlB,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,EAAA,CAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA;8BAEU,OAAO,EAAA,CAAA;sBAAf;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;MCNU,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,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,cAAc,EAAA,YAAA,EAAA,CAJV,iBAAiB,CAAA,EAAA,OAAA,EAAA,CACtB,YAAY,aACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAEhB,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,cAAc,YAHf,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGX,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;oBACjC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC7B,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/list/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/list/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,QAAQ,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-modal.mjs","sources":["../../../src/modal/ux4g-modal.component.ts","../../../src/modal/ux4g-modal.module.ts","../../../src/modal/ux4g-components-angular-modal.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { ModalSize, ModalOpacity, buildModalBackdropClasses, buildModalBoxClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-modal',\r\n standalone: false,\r\n template: `\r\n <div [className]=\"backdropClasses\">\r\n <div class=\"ux4g-modal\">\r\n <div [className]=\"boxClasses\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GModalComponent {\r\n @Input() size: ModalSize = 'm';\r\n @Input() opacity: ModalOpacity = '50';\r\n @Input() blur: boolean = false;\r\n @Input() centerContent: boolean = false;\r\n @Input() open: boolean = false;\r\n\r\n get backdropClasses(): string {\r\n return buildModalBackdropClasses(this.opacity, this.blur, this.open);\r\n }\r\n\r\n get boxClasses(): string {\r\n return buildModalBoxClasses(this.size, this.centerContent);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GModalComponent } from './ux4g-modal.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GModalComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GModalComponent],\r\n})\r\nexport class UX4GModalModule {}\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-modal.mjs","sources":["../../../src/modal/ux4g-modal.component.ts","../../../src/modal/ux4g-modal.module.ts","../../../src/modal/ux4g-components-angular-modal.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { ModalSize, ModalOpacity, buildModalBackdropClasses, buildModalBoxClasses } from 'ux4g-components-web/types';\r\n\r\n@Component({\r\n selector: 'ux4g-modal',\r\n standalone: false,\r\n template: `\r\n <div [className]=\"backdropClasses\">\r\n <div class=\"ux4g-modal\">\r\n <div [className]=\"boxClasses\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UX4GModalComponent {\r\n @Input() size: ModalSize = 'm';\r\n @Input() opacity: ModalOpacity = '50';\r\n @Input() blur: boolean = false;\r\n @Input() centerContent: boolean = false;\r\n @Input() open: boolean = false;\r\n\r\n get backdropClasses(): string {\r\n return buildModalBackdropClasses(this.opacity, this.blur, this.open);\r\n }\r\n\r\n get boxClasses(): string {\r\n return buildModalBoxClasses(this.size, this.centerContent);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UX4GModalComponent } from './ux4g-modal.component';\r\n\r\n@NgModule({\r\n declarations: [UX4GModalComponent],\r\n imports: [CommonModule],\r\n exports: [UX4GModalComponent],\r\n})\r\nexport class UX4GModalModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAiBa,kBAAkB,CAAA;AAd/B,IAAA,WAAA,GAAA;QAeW,IAAA,CAAA,IAAI,GAAc,GAAG;QACrB,IAAA,CAAA,OAAO,GAAiB,IAAI;QAC5B,IAAA,CAAA,IAAI,GAAY,KAAK;QACrB,IAAA,CAAA,aAAa,GAAY,KAAK;QAC9B,IAAA,CAAA,IAAI,GAAY,KAAK;AAS/B,IAAA;AAPC,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,yBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IACtE;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC;IAC5D;+GAbW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,aAAA,EAAA,eAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAXnB,CAAA;;;;;;;;AAQT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAd9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;AAQT,EAAA,CAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA;8BAEU,IAAI,EAAA,CAAA;sBAAZ;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;MCbU,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,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,eAAe,EAAA,YAAA,EAAA,CAJX,kBAAkB,CAAA,EAAA,OAAA,EAAA,CACvB,YAAY,aACZ,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAEjB,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,eAAe,YAHhB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;oBAClC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC9B,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/modal/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/modal/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC"}
|