@vroxal/vd-angular 1.0.1
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 +63 -0
- package/fesm2022/vroxal-vd-angular.mjs +4768 -0
- package/fesm2022/vroxal-vd-angular.mjs.map +1 -0
- package/guidelines/COMPONENT_REGISTRY.md +94 -0
- package/guidelines/USAGE_GUIDELINES.md +70 -0
- package/guidelines/component-registry.json +723 -0
- package/package.json +43 -0
- package/styles/style.css +0 -0
- package/types/vroxal-vd-angular.d.ts +1335 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Vroxal Component Registry
|
|
2
|
+
|
|
3
|
+
Human-readable registry of the exported API in `@vroxal/vd-angular`.
|
|
4
|
+
|
|
5
|
+
## Source of Truth
|
|
6
|
+
|
|
7
|
+
- Package: `@vroxal/vd-angular`
|
|
8
|
+
|
|
9
|
+
## Actions and Display
|
|
10
|
+
|
|
11
|
+
| Component | Selector | Angular Symbol | Primary Usage |
|
|
12
|
+
| ----------- | ---------------- | -------------- | ------------------------------------ |
|
|
13
|
+
| Button | `vd-button` | `VdButton` | Primary and secondary actions |
|
|
14
|
+
| Icon Button | `vd-icon-button` | `VdIconButton` | Icon-only actions |
|
|
15
|
+
| Icon | `vd-icon` | `VdIcon` | Contextual/decorative icon rendering |
|
|
16
|
+
| Badge | `vd-badge` | `VdBadge` | Compact status labels and counts |
|
|
17
|
+
|
|
18
|
+
## Inputs and Selection
|
|
19
|
+
|
|
20
|
+
| Component | Selector | Angular Symbol | Primary Usage |
|
|
21
|
+
| ----------------------- | ---------------------------- | ------------------------- | --------------------------------- |
|
|
22
|
+
| Input | `vd-input` | `VdInput` | Single-line text input |
|
|
23
|
+
| Textarea | `vd-textarea` | `VdTextarea` | Multi-line text input |
|
|
24
|
+
| Select | `vd-select` | `VdSelect` | Single-option selection from list |
|
|
25
|
+
| Number Input | `vd-number-input` | `VdNumberInput` | Numeric entry |
|
|
26
|
+
| File Input | `vd-file-input` | `VdFileInput` | File selection/upload input |
|
|
27
|
+
| Verification Code Input | `vd-verification-code-input` | `VdVerificationCodeInput` | OTP/verification code entry |
|
|
28
|
+
| Checkbox | `vd-checkbox` | `VdCheckbox` | Independent true/false choice |
|
|
29
|
+
| Checkbox Group | `vd-checkbox-group` | `VdCheckboxGroup` | Grouped multi-select options |
|
|
30
|
+
| Radio Button | `vd-radio-button` | `VdRadioButton` | Single option item in radio sets |
|
|
31
|
+
| Radio Group | `vd-radio-group` | `VdRadioGroup` | Exclusive single-choice selection |
|
|
32
|
+
| Switch | `vd-switch` | `VdSwitch` | On/off settings toggles |
|
|
33
|
+
| Tab | `vd-tab` | `VdTab` | Switching sibling content views |
|
|
34
|
+
|
|
35
|
+
## Date and Time
|
|
36
|
+
|
|
37
|
+
| Component | Selector | Angular Symbol | Primary Usage |
|
|
38
|
+
| ------------------ | ----------------------- | -------------------- | ------------------------------------------ |
|
|
39
|
+
| Date Time Picker | `vd-date-time-picker` | `VdDateTimePicker` | Unified date/date-range with optional time |
|
|
40
|
+
| Single Date Picker | `vd-single-date-picker` | `VdSingleDatePicker` | Single date selection |
|
|
41
|
+
| Range Date Picker | `vd-range-date-picker` | `VdRangeDatePicker` | Start/end date selection |
|
|
42
|
+
| Time Picker | `vd-time-picker` | `VdTimePicker` | Time-only selection |
|
|
43
|
+
| Single Date Inline | `vd-single-date-inline` | `VdSingleDateInline` | Inline always-visible single calendar |
|
|
44
|
+
| Range Date Inline | `vd-range-date-inline` | `VdRangeDateInline` | Inline always-visible range calendar |
|
|
45
|
+
|
|
46
|
+
## Overlay and Menus
|
|
47
|
+
|
|
48
|
+
| Component | Selector | Angular Symbol | Primary Usage |
|
|
49
|
+
| --------------------- | -------------------------- | ----------------------- | --------------------------------------- |
|
|
50
|
+
| Dropdown | `vd-dropdown` | `VdDropdown` | Context/action menu container |
|
|
51
|
+
| Dropdown Item | `vd-dropdown-item` | `VdDropdownItem` | Action row in dropdown |
|
|
52
|
+
| Dropdown Item Link | `vd-dropdown-item-link` | `VdDropdownItemLink` | Link row in dropdown |
|
|
53
|
+
| Dropdown Item Divider | `vd-dropdown-item-divider` | `VdDropdownItemDivider` | Visual separator in dropdown |
|
|
54
|
+
| Dropdown Item Group | `vd-dropdown-item-group` | `VdDropdownItemGroup` | Section grouping in dropdown |
|
|
55
|
+
| Tooltip | `vd-tooltip` | `VdTooltip` | Tooltip host/content rendering |
|
|
56
|
+
| Tooltip Directive | `[vdTooltip]` | `VdTooltipDirective` | Attach tooltip to existing element |
|
|
57
|
+
| Dialog | `vd-dialog` | `VdDialog` | Generic modal dialog |
|
|
58
|
+
| Drawer | `vd-drawer` | `VdDrawer` | Side-panel workflows |
|
|
59
|
+
| Confirmation Dialog | `vd-confirmation-dialog` | `VdConfirmationDialog` | Confirm destructive/high-impact actions |
|
|
60
|
+
|
|
61
|
+
## Navigation and Layout
|
|
62
|
+
|
|
63
|
+
| Component | Selector | Angular Symbol | Primary Usage |
|
|
64
|
+
| ---------- | --------------- | -------------- | ---------------------------------- |
|
|
65
|
+
| Breadcrumb | `vd-breadcrumb` | `VdBreadcrumb` | Hierarchical path navigation |
|
|
66
|
+
| Navbar | `vd-navbar` | `VdNavbar` | Top-level app/page navigation bar |
|
|
67
|
+
| Sidebar | `vd-sidebar` | `VdSidebar` | Persistent side navigation |
|
|
68
|
+
| Accordion | `vd-accordion` | `VdAccordion` | Collapsible sections |
|
|
69
|
+
| Divider | `vd-divider` | `VdDivider` | Visual separation between sections |
|
|
70
|
+
|
|
71
|
+
## Data and Feedback
|
|
72
|
+
|
|
73
|
+
| Component | Selector | Angular Symbol | Primary Usage |
|
|
74
|
+
| ---------------- | --------------------- | ------------------- | ---------------------------- |
|
|
75
|
+
| Datatable | `vd-datatable` | `VdDatatable` | Structured tabular data |
|
|
76
|
+
| Pagination | `vd-pagination` | `VdPagination` | Page navigation for datasets |
|
|
77
|
+
| Alert | `vd-alert` | `VdAlert` | Inline status messaging |
|
|
78
|
+
| Toast | `vd-toast` | `VdToast` | Transient notification host |
|
|
79
|
+
| Progress Tracker | `vd-progress-tracker` | `VdProgressTracker` | Multi-step progress state |
|
|
80
|
+
| Empty State | `vd-empty-state` | `VdEmptyState` | No-content and first-use UX |
|
|
81
|
+
| Loading State | `vd-loading-state` | `VdLoadingState` | In-progress loading feedback |
|
|
82
|
+
|
|
83
|
+
## Non-Component Exports
|
|
84
|
+
|
|
85
|
+
### Modules
|
|
86
|
+
|
|
87
|
+
- `VdAngularComponentsModule`
|
|
88
|
+
|
|
89
|
+
### Services
|
|
90
|
+
|
|
91
|
+
- `VdToastService` (`configure`, `setMaxToasts`, `show`, `dismiss`, `pause`, `resume`)
|
|
92
|
+
- `VdDialogService` (`open`)
|
|
93
|
+
- `VdDrawerService` (`open`)
|
|
94
|
+
- `VdConfirmationDialogService` (`confirm`)
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Vroxal Design System Usage Guidelines
|
|
2
|
+
|
|
3
|
+
This guide is for agentic AI and developers using `@vroxal/vd-angular`.
|
|
4
|
+
|
|
5
|
+
## Source of Truth
|
|
6
|
+
|
|
7
|
+
- Package import path: `@vroxal/vd-angular`
|
|
8
|
+
- Full selector inventory with all the available inputs and outputs: `projects/angular-components/component-registry.json`
|
|
9
|
+
|
|
10
|
+
## Required Rules
|
|
11
|
+
|
|
12
|
+
1. If a component exists in the registry, use it instead of building custom UI.
|
|
13
|
+
2. Import only from the package root (`@vroxal/vd-angular`).
|
|
14
|
+
3. Do not override the styles of the components.
|
|
15
|
+
4. Preserve built-in accessibility behavior. Do not override focus handling, keyboard semantics, or ARIA semantics provided by components.
|
|
16
|
+
5. For overlays and transient feedback, prefer service-driven APIs where provided:
|
|
17
|
+
- `VdToastService` with `<vd-toast>`
|
|
18
|
+
- `VdDialogService`
|
|
19
|
+
- `VdDrawerService`
|
|
20
|
+
- `VdConfirmationDialogService`
|
|
21
|
+
|
|
22
|
+
## Selection Guide By Intent
|
|
23
|
+
|
|
24
|
+
- Actions: `vd-button`, `vd-icon-button`
|
|
25
|
+
- Form input: `vd-input`, `vd-textarea`, `vd-select`, `vd-number-input`, `vd-file-input`, `vd-verification-code-input`
|
|
26
|
+
- Choice controls: `vd-checkbox`, `vd-checkbox-group`, `vd-radio-button`, `vd-radio-group`, `vd-switch`, `vd-tab`
|
|
27
|
+
- Date and time: `vd-date-time-picker`, `vd-single-date-picker`, `vd-range-date-picker`, `vd-time-picker`, `vd-single-date-inline`, `vd-range-date-inline`
|
|
28
|
+
- Navigation: `vd-breadcrumb`, `vd-navbar`, `vd-sidebar`, `vd-pagination`
|
|
29
|
+
- Data display and structure: `vd-datatable`, `vd-accordion`, `vd-divider`, `vd-icon`
|
|
30
|
+
- Feedback and status: `vd-alert`, `vd-toast`, `vd-badge`, `vd-progress-tracker`, `vd-empty-state`, `vd-loading-state`
|
|
31
|
+
- Menus, hints, and overlays: `vd-dropdown`, `vd-dropdown-item`, `vd-dropdown-item-link`, `vd-dropdown-item-divider`, `vd-dropdown-item-group`, `vd-tooltip`, `[vdTooltip]`, `vd-dialog`, `vd-drawer`, `vd-confirmation-dialog`
|
|
32
|
+
|
|
33
|
+
## Feedback Component Notes
|
|
34
|
+
|
|
35
|
+
- `vd-empty-state`
|
|
36
|
+
- Use for empty data views, first-use screens, or when guiding users to a next step.
|
|
37
|
+
- Do not use for loading flows or transient progress.
|
|
38
|
+
- `vd-loading-state`
|
|
39
|
+
- Use while async content is being fetched or prepared.
|
|
40
|
+
- Keep messaging concise (`title` required, optional `description`).
|
|
41
|
+
- Do not use for empty-result or error messaging.
|
|
42
|
+
|
|
43
|
+
## Import Patterns
|
|
44
|
+
|
|
45
|
+
Preferred (standalone imports):
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
import { VdButton, VdInput } from '@vroxal/vd-angular';
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
NgModule bulk import option:
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
import { AngularComponentsModule } from '@vroxal/vd-angular';
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## When No Component Exists
|
|
58
|
+
|
|
59
|
+
When no suitable Vroxal Design component exists, state this explicitly:
|
|
60
|
+
|
|
61
|
+
`No Vroxal Design component available for this requirement.`
|
|
62
|
+
|
|
63
|
+
Then build a custom solution using Vroxal Design tokens and document why the existing component set was insufficient.
|
|
64
|
+
|
|
65
|
+
## Pre-Output Checklist
|
|
66
|
+
|
|
67
|
+
- Selector/API exists in `component-registry.json`
|
|
68
|
+
- Imports come from `@vroxal/vd-angular`
|
|
69
|
+
- No deep imports
|
|
70
|
+
- Service APIs used for modal/drawer/toast flows when applicable
|