@arclux/arc-ui-angular 1.9.1 → 1.10.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.
Files changed (50) hide show
  1. package/package.json +2 -2
  2. package/src/content/Avatar.ts +2 -1
  3. package/src/content/DataTable.ts +5 -1
  4. package/src/content/Image.ts +22 -0
  5. package/src/content/List.ts +21 -0
  6. package/src/content/ListItem.ts +21 -0
  7. package/src/content/ScrollIndicator.ts +18 -0
  8. package/src/content/Separator.ts +16 -0
  9. package/src/content/VirtualList.ts +18 -0
  10. package/src/content/index.ts +5 -0
  11. package/src/feedback/Announcement.ts +15 -0
  12. package/src/feedback/Banner.ts +17 -0
  13. package/src/feedback/CommandPalette.ts +1 -2
  14. package/src/feedback/Confirm.ts +19 -0
  15. package/src/feedback/ConnectionStatus.ts +17 -0
  16. package/src/feedback/Dialog.ts +1 -1
  17. package/src/feedback/DropdownMenu.ts +1 -2
  18. package/src/feedback/GuidedTour.ts +19 -0
  19. package/src/feedback/HoverCard.ts +1 -1
  20. package/src/feedback/InlineMessage.ts +14 -0
  21. package/src/feedback/LoadingOverlay.ts +16 -0
  22. package/src/feedback/Popover.ts +1 -1
  23. package/src/feedback/ProgressToast.ts +17 -0
  24. package/src/feedback/Snackbar.ts +18 -0
  25. package/src/feedback/Spotlight.ts +17 -0
  26. package/src/index.ts +40 -0
  27. package/src/input/ButtonGroup.ts +16 -0
  28. package/src/input/Fieldset.ts +20 -0
  29. package/src/input/Hotkey.ts +17 -0
  30. package/src/input/InputGroup.ts +16 -0
  31. package/src/input/Label.ts +19 -0
  32. package/src/input/SwitchGroup.ts +17 -0
  33. package/src/layout/AspectGrid.ts +16 -0
  34. package/src/layout/Center.ts +16 -0
  35. package/src/layout/Cluster.ts +16 -0
  36. package/src/layout/Dock.ts +17 -0
  37. package/src/layout/FloatBar.ts +15 -0
  38. package/src/layout/Inset.ts +15 -0
  39. package/src/layout/Masonry.ts +15 -0
  40. package/src/layout/ResponsiveSwitcher.ts +15 -0
  41. package/src/layout/Sticky.ts +16 -0
  42. package/src/navigation/AnchorNav.ts +17 -0
  43. package/src/navigation/BottomNav.ts +16 -0
  44. package/src/navigation/BreadcrumbMenu.ts +16 -0
  45. package/src/navigation/CommandBar.ts +18 -0
  46. package/src/navigation/PageIndicator.ts +17 -0
  47. package/src/navigation/Rail.ts +17 -0
  48. package/src/navigation/SkipLink.ts +14 -0
  49. package/src/navigation/SpeedDial.ts +19 -0
  50. package/src/navigation/StepperNav.ts +18 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arclux/arc-ui-angular",
3
- "version": "1.9.1",
3
+ "version": "1.10.0",
4
4
  "description": "Angular standalone component wrappers for ARC UI Web Components.",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
@@ -44,7 +44,7 @@
44
44
  "@angular/core": ">=17.0.0"
45
45
  },
46
46
  "dependencies": {
47
- "@arclux/arc-ui": "1.9.1"
47
+ "@arclux/arc-ui": "1.10.0"
48
48
  },
49
49
  "license": "MIT",
50
50
  "keywords": [
@@ -7,7 +7,7 @@ import '@arclux/arc-ui';
7
7
  selector: 'arc-avatar',
8
8
  standalone: true,
9
9
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
- template: `<arc-avatar [attr.src]="src" [attr.name]="name" [attr.size]="size" [attr.shape]="shape" [attr.status]="status"><ng-content /></arc-avatar>`,
10
+ template: `<arc-avatar [attr.src]="src" [attr.name]="name" [attr.size]="size" [attr.shape]="shape" [attr.status]="status" [attr._imgState]="_imgState"><ng-content /></arc-avatar>`,
11
11
  })
12
12
  export class Avatar {
13
13
  @Input() src: string = '';
@@ -15,4 +15,5 @@ export class Avatar {
15
15
  @Input() size: 'sm' | 'md' | 'lg' = 'md';
16
16
  @Input() shape: 'square' | 'rounded' = 'circle';
17
17
  @Input() status: 'online' | 'offline' | 'busy' | 'away' = '';
18
+ @Input() _imgState: string = 'loading';
18
19
  }
@@ -7,7 +7,7 @@ import '@arclux/arc-ui';
7
7
  selector: 'arc-data-table',
8
8
  standalone: true,
9
9
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
- template: `<arc-data-table [attr.rows]="rows" [sortable]="sortable" [selectable]="selectable" [attr.sortColumn]="sortColumn" [attr.sortDirection]="sortDirection" [attr._columns]="_columns" [attr._selectedRows]="_selectedRows" (arc-sort)="arcSort.emit($event)" (arc-select-all)="arcSelectAll.emit($event)" (arc-row-select)="arcRowSelect.emit($event)"><ng-content /></arc-data-table>`,
10
+ template: `<arc-data-table [attr.rows]="rows" [sortable]="sortable" [selectable]="selectable" [attr.sortColumn]="sortColumn" [attr.sortDirection]="sortDirection" [virtual]="virtual" [attr.rowHeight]="rowHeight" [attr._columns]="_columns" [attr._selectedRows]="_selectedRows" [attr._startIndex]="_startIndex" [attr._visibleCount]="_visibleCount" (arc-sort)="arcSort.emit($event)" (arc-select-all)="arcSelectAll.emit($event)" (arc-row-select)="arcRowSelect.emit($event)"><ng-content /></arc-data-table>`,
11
11
  })
12
12
  export class DataTable {
13
13
  @Input() rows: unknown[] = [];
@@ -15,8 +15,12 @@ export class DataTable {
15
15
  @Input() selectable: boolean = false;
16
16
  @Input() sortColumn: string = '';
17
17
  @Input() sortDirection: string = 'asc';
18
+ @Input() virtual: boolean = false;
19
+ @Input() rowHeight: number = 40;
18
20
  @Input() _columns: string = [];
19
21
  @Input() _selectedRows: string = 'new Set()';
22
+ @Input() _startIndex: string = 0;
23
+ @Input() _visibleCount: string = 0;
20
24
  @Output() arcSort = new EventEmitter<CustomEvent>();
21
25
  @Output() arcSelectAll = new EventEmitter<CustomEvent>();
22
26
  @Output() arcRowSelect = new EventEmitter<CustomEvent>();
@@ -0,0 +1,22 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-image',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-image [attr.src]="src" [attr.alt]="alt" [attr.aspect]="aspect" [attr.fit]="fit" [attr.loading]="loading" [attr.fallback]="fallback" [attr._state]="_state" (arc-load)="arcLoad.emit($event)" (arc-error)="arcError.emit($event)"><ng-content /></arc-image>`,
11
+ })
12
+ export class Image {
13
+ @Input() src: string = '';
14
+ @Input() alt: string = '';
15
+ @Input() aspect: '1/1' | '4/3' | '16/9' | '21/9' | '3/4' | '9/16' = '';
16
+ @Input() fit: 'contain' | 'fill' | 'none' | 'scale-down' = 'cover';
17
+ @Input() loading: string = 'lazy';
18
+ @Input() fallback: string = '';
19
+ @Input() _state: string = 'loading';
20
+ @Output() arcLoad = new EventEmitter<CustomEvent>();
21
+ @Output() arcError = new EventEmitter<CustomEvent>();
22
+ }
@@ -0,0 +1,21 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-list',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-list [attr.variant]="variant" [attr.size]="size" [selectable]="selectable" [multiple]="multiple" [attr.value]="value" [attr._items]="_items" (arc-change)="arcChange.emit($event)" (arc-item-click)="arcItemClick.emit($event)"><ng-content /></arc-list>`,
11
+ })
12
+ export class List {
13
+ @Input() variant: 'bordered' | 'separated' = 'default';
14
+ @Input() size: 'sm' | 'lg' = 'md';
15
+ @Input() selectable: boolean = false;
16
+ @Input() multiple: boolean = false;
17
+ @Input() value: string = '';
18
+ @Input() _items: string = [];
19
+ @Output() arcChange = new EventEmitter<CustomEvent>();
20
+ @Output() arcItemClick = new EventEmitter<CustomEvent>();
21
+ }
@@ -0,0 +1,21 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-list-item',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-list-item [attr.value]="value" [selected]="selected" [disabled]="disabled" [attr.href]="href" [attr._hasPrefix]="_hasPrefix" [attr._hasSuffix]="_hasSuffix" [attr._hasDescription]="_hasDescription" (arc-item-click)="arcItemClick.emit($event)"><ng-content /></arc-list-item>`,
11
+ })
12
+ export class ListItem {
13
+ @Input() value: string = '';
14
+ @Input() selected: boolean = false;
15
+ @Input() disabled: boolean = false;
16
+ @Input() href: string = '';
17
+ @Input() _hasPrefix: string = false;
18
+ @Input() _hasSuffix: string = false;
19
+ @Input() _hasDescription: string = false;
20
+ @Output() arcItemClick = new EventEmitter<CustomEvent>();
21
+ }
@@ -0,0 +1,18 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-scroll-indicator',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-scroll-indicator [attr.target]="target" [attr.position]="position" [attr.size]="size" [attr.color]="color" [attr._progress]="_progress"><ng-content /></arc-scroll-indicator>`,
11
+ })
12
+ export class ScrollIndicator {
13
+ @Input() target: string = '';
14
+ @Input() position: 'bottom' = 'top';
15
+ @Input() size: 'sm' | 'md' | 'lg' = 'sm';
16
+ @Input() color: 'gradient' = 'accent';
17
+ @Input() _progress: string = 0;
18
+ }
@@ -0,0 +1,16 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-separator',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-separator [attr.orientation]="orientation" [attr.label]="label" [attr.variant]="variant"><ng-content /></arc-separator>`,
11
+ })
12
+ export class Separator {
13
+ @Input() orientation: 'vertical' = 'horizontal';
14
+ @Input() label: string = '';
15
+ @Input() variant: 'dashed' | 'dotted' | 'fade' = 'line';
16
+ }
@@ -0,0 +1,18 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-virtual-list',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-virtual-list [attr.items]="items" [attr.itemHeight]="itemHeight" [attr.overscan]="overscan" [attr._startIndex]="_startIndex" [attr._visibleCount]="_visibleCount"><ng-content /></arc-virtual-list>`,
11
+ })
12
+ export class VirtualList {
13
+ @Input() items: unknown[] = [];
14
+ @Input() itemHeight: number = 40;
15
+ @Input() overscan: number = 5;
16
+ @Input() _startIndex: string = 0;
17
+ @Input() _visibleCount: string = 0;
18
+ }
@@ -37,3 +37,8 @@ export { Tag } from './Tag.js';
37
37
  export { Truncate } from './Truncate.js';
38
38
  export { CtaBanner } from './CtaBanner.js';
39
39
  export { IconLibrary } from './IconLibrary.js';
40
+ export { Image } from './Image.js';
41
+ export { ListItem } from './ListItem.js';
42
+ export { ScrollIndicator } from './ScrollIndicator.js';
43
+ export { Separator } from './Separator.js';
44
+ export { VirtualList } from './VirtualList.js';
@@ -0,0 +1,15 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-announcement',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-announcement [attr.politeness]="politeness" [attr.message]="message"><ng-content /></arc-announcement>`,
11
+ })
12
+ export class Announcement {
13
+ @Input() politeness: string = 'polite';
14
+ @Input() message: string = '';
15
+ }
@@ -0,0 +1,17 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-banner',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-banner [attr.variant]="variant" [dismissible]="dismissible" [sticky]="sticky" (arc-dismiss)="arcDismiss.emit($event)"><ng-content /></arc-banner>`,
11
+ })
12
+ export class Banner {
13
+ @Input() variant: string = 'info';
14
+ @Input() dismissible: boolean = false;
15
+ @Input() sticky: boolean = false;
16
+ @Output() arcDismiss = new EventEmitter<CustomEvent>();
17
+ }
@@ -7,13 +7,12 @@ import '@arclux/arc-ui';
7
7
  selector: 'arc-command-palette',
8
8
  standalone: true,
9
9
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
- template: `<arc-command-palette [open]="open" [attr.placeholder]="placeholder" [attr._query]="_query" [attr._focusedIndex]="_focusedIndex" [attr._items]="_items" (arc-select)="arcSelect.emit($event)" (arc-close)="arcClose.emit($event)"><ng-content /></arc-command-palette>`,
10
+ template: `<arc-command-palette [open]="open" [attr.placeholder]="placeholder" [attr._query]="_query" [attr._items]="_items" (arc-select)="arcSelect.emit($event)" (arc-close)="arcClose.emit($event)"><ng-content /></arc-command-palette>`,
11
11
  })
12
12
  export class CommandPalette {
13
13
  @Input() open: boolean = false;
14
14
  @Input() placeholder: string = 'Type a command...';
15
15
  @Input() _query: string = '';
16
- @Input() _focusedIndex: string = 0;
17
16
  @Input() _items: string = [];
18
17
  @Output() arcSelect = new EventEmitter<CustomEvent>();
19
18
  @Output() arcClose = new EventEmitter<CustomEvent>();
@@ -0,0 +1,19 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-confirm',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-confirm [open]="open" [attr.heading]="heading" [attr.message]="message" [attr.variant]="variant" (arc-confirm)="arcConfirm.emit($event)" (arc-cancel)="arcCancel.emit($event)"><ng-content /></arc-confirm>`,
11
+ })
12
+ export class Confirm {
13
+ @Input() open: boolean = false;
14
+ @Input() heading: string = '';
15
+ @Input() message: string = '';
16
+ @Input() variant: string = 'default';
17
+ @Output() arcConfirm = new EventEmitter<CustomEvent>();
18
+ @Output() arcCancel = new EventEmitter<CustomEvent>();
19
+ }
@@ -0,0 +1,17 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-connection-status',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-connection-status [attr.online]="online" [attr._visible]="_visible" (arc-online)="arcOnline.emit($event)" (arc-offline)="arcOffline.emit($event)"><ng-content /></arc-connection-status>`,
11
+ })
12
+ export class ConnectionStatus {
13
+ @Input() online: string = 'navigator.onLine';
14
+ @Input() _visible: string = false;
15
+ @Output() arcOnline = new EventEmitter<CustomEvent>();
16
+ @Output() arcOffline = new EventEmitter<CustomEvent>();
17
+ }
@@ -13,7 +13,7 @@ export class Dialog {
13
13
  @Input() open: boolean = false;
14
14
  @Input() heading: string = '';
15
15
  @Input() message: string = '';
16
- @Input() variant: 'danger' = 'default';
16
+ @Input() variant: string = 'default';
17
17
  @Output() arcConfirm = new EventEmitter<CustomEvent>();
18
18
  @Output() arcCancel = new EventEmitter<CustomEvent>();
19
19
  }
@@ -7,11 +7,10 @@ import '@arclux/arc-ui';
7
7
  selector: 'arc-dropdown-menu',
8
8
  standalone: true,
9
9
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
- template: `<arc-dropdown-menu [open]="open" [attr._focusedIndex]="_focusedIndex" [attr._children]="_children" (arc-close)="arcClose.emit($event)" (arc-select)="arcSelect.emit($event)"><ng-content /></arc-dropdown-menu>`,
10
+ template: `<arc-dropdown-menu [open]="open" [attr._children]="_children" (arc-close)="arcClose.emit($event)" (arc-select)="arcSelect.emit($event)"><ng-content /></arc-dropdown-menu>`,
11
11
  })
12
12
  export class DropdownMenu {
13
13
  @Input() open: boolean = false;
14
- @Input() _focusedIndex: string = -1;
15
14
  @Input() _children: string = [];
16
15
  @Output() arcClose = new EventEmitter<CustomEvent>();
17
16
  @Output() arcSelect = new EventEmitter<CustomEvent>();
@@ -0,0 +1,19 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-guided-tour',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-guided-tour [attr.steps]="steps" [attr.active]="active" [open]="open" (arc-change)="arcChange.emit($event)" (arc-complete)="arcComplete.emit($event)" (arc-dismiss)="arcDismiss.emit($event)"><ng-content /></arc-guided-tour>`,
11
+ })
12
+ export class GuidedTour {
13
+ @Input() steps: string = [];
14
+ @Input() active: string = 0;
15
+ @Input() open: boolean = false;
16
+ @Output() arcChange = new EventEmitter<CustomEvent>();
17
+ @Output() arcComplete = new EventEmitter<CustomEvent>();
18
+ @Output() arcDismiss = new EventEmitter<CustomEvent>();
19
+ }
@@ -10,7 +10,7 @@ import '@arclux/arc-ui';
10
10
  template: `<arc-hover-card [attr.position]="position" [attr.openDelay]="openDelay" [attr.closeDelay]="closeDelay" [attr._visible]="_visible" (arc-open)="arcOpen.emit($event)" (arc-close)="arcClose.emit($event)"><ng-content /></arc-hover-card>`,
11
11
  })
12
12
  export class HoverCard {
13
- @Input() position: 'bottom' | 'top' | 'left' | 'right' = 'bottom';
13
+ @Input() position: string = 'bottom';
14
14
  @Input() openDelay: number = 400;
15
15
  @Input() closeDelay: number = 300;
16
16
  @Input() _visible: string = false;
@@ -0,0 +1,14 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-inline-message',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-inline-message [attr.variant]="variant"><ng-content /></arc-inline-message>`,
11
+ })
12
+ export class InlineMessage {
13
+ @Input() variant: string = 'info';
14
+ }
@@ -0,0 +1,16 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-loading-overlay',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-loading-overlay [active]="active" [attr.message]="message" [global]="global"><ng-content /></arc-loading-overlay>`,
11
+ })
12
+ export class LoadingOverlay {
13
+ @Input() active: boolean = false;
14
+ @Input() message: string = '';
15
+ @Input() global: boolean = false;
16
+ }
@@ -11,7 +11,7 @@ import '@arclux/arc-ui';
11
11
  })
12
12
  export class Popover {
13
13
  @Input() open: boolean = false;
14
- @Input() position: 'bottom' | 'top' | 'left' | 'right' = 'bottom';
14
+ @Input() position: string = 'bottom';
15
15
  @Input() trigger: string = '';
16
16
  @Output() arcClose = new EventEmitter<CustomEvent>();
17
17
  }
@@ -0,0 +1,17 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-progress-toast',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-progress-toast [attr.position]="position" [attr._toasts]="_toasts" (arc-complete)="arcComplete.emit($event)" (arc-cancel)="arcCancel.emit($event)"><ng-content /></arc-progress-toast>`,
11
+ })
12
+ export class ProgressToast {
13
+ @Input() position: 'bottom-right' | 'top-right' = 'bottom-right';
14
+ @Input() _toasts: string = [];
15
+ @Output() arcComplete = new EventEmitter<CustomEvent>();
16
+ @Output() arcCancel = new EventEmitter<CustomEvent>();
17
+ }
@@ -0,0 +1,18 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-snackbar',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-snackbar [attr.position]="position" [attr.duration]="duration" [attr._snackbars]="_snackbars" (arc-action)="arcAction.emit($event)" (arc-dismiss)="arcDismiss.emit($event)"><ng-content /></arc-snackbar>`,
11
+ })
12
+ export class Snackbar {
13
+ @Input() position: 'bottom-center' | 'bottom-left' | 'bottom-right' = 'bottom-center';
14
+ @Input() duration: number = 5000;
15
+ @Input() _snackbars: string = [];
16
+ @Output() arcAction = new EventEmitter<CustomEvent>();
17
+ @Output() arcDismiss = new EventEmitter<CustomEvent>();
18
+ }
@@ -0,0 +1,17 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-spotlight',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-spotlight [attr.target]="target" [active]="active" [attr.padding]="padding" (arc-dismiss)="arcDismiss.emit($event)"><ng-content /></arc-spotlight>`,
11
+ })
12
+ export class Spotlight {
13
+ @Input() target: string = '';
14
+ @Input() active: boolean = false;
15
+ @Input() padding: number = 8;
16
+ @Output() arcDismiss = new EventEmitter<CustomEvent>();
17
+ }
package/src/index.ts CHANGED
@@ -116,3 +116,43 @@ export { MenuItem } from './shared/MenuItem.js';
116
116
  export { Option } from './shared/Option.js';
117
117
  export { CtaBanner } from './content/CtaBanner.js';
118
118
  export { IconLibrary } from './content/IconLibrary.js';
119
+ export { Image } from './content/Image.js';
120
+ export { ListItem } from './content/ListItem.js';
121
+ export { List } from './content/List.js';
122
+ export { ScrollIndicator } from './content/ScrollIndicator.js';
123
+ export { Separator } from './content/Separator.js';
124
+ export { VirtualList } from './content/VirtualList.js';
125
+ export { ButtonGroup } from './input/ButtonGroup.js';
126
+ export { Fieldset } from './input/Fieldset.js';
127
+ export { InputGroup } from './input/InputGroup.js';
128
+ export { Label } from './input/Label.js';
129
+ export { SwitchGroup } from './input/SwitchGroup.js';
130
+ export { Hotkey } from './input/Hotkey.js';
131
+ export { AnchorNav } from './navigation/AnchorNav.js';
132
+ export { BottomNav } from './navigation/BottomNav.js';
133
+ export { BreadcrumbMenu } from './navigation/BreadcrumbMenu.js';
134
+ export { CommandBar } from './navigation/CommandBar.js';
135
+ export { PageIndicator } from './navigation/PageIndicator.js';
136
+ export { Rail } from './navigation/Rail.js';
137
+ export { SkipLink } from './navigation/SkipLink.js';
138
+ export { SpeedDial } from './navigation/SpeedDial.js';
139
+ export { StepperNav } from './navigation/StepperNav.js';
140
+ export { AspectGrid } from './layout/AspectGrid.js';
141
+ export { Center } from './layout/Center.js';
142
+ export { Cluster } from './layout/Cluster.js';
143
+ export { Dock } from './layout/Dock.js';
144
+ export { FloatBar } from './layout/FloatBar.js';
145
+ export { Inset } from './layout/Inset.js';
146
+ export { Masonry } from './layout/Masonry.js';
147
+ export { ResponsiveSwitcher } from './layout/ResponsiveSwitcher.js';
148
+ export { Sticky } from './layout/Sticky.js';
149
+ export { Announcement } from './feedback/Announcement.js';
150
+ export { Banner } from './feedback/Banner.js';
151
+ export { Confirm } from './feedback/Confirm.js';
152
+ export { ConnectionStatus } from './feedback/ConnectionStatus.js';
153
+ export { GuidedTour } from './feedback/GuidedTour.js';
154
+ export { InlineMessage } from './feedback/InlineMessage.js';
155
+ export { LoadingOverlay } from './feedback/LoadingOverlay.js';
156
+ export { ProgressToast } from './feedback/ProgressToast.js';
157
+ export { Snackbar } from './feedback/Snackbar.js';
158
+ export { Spotlight } from './feedback/Spotlight.js';
@@ -0,0 +1,16 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-button-group',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-button-group [attr.orientation]="orientation" [attr.size]="size" [attr.variant]="variant"><ng-content /></arc-button-group>`,
11
+ })
12
+ export class ButtonGroup {
13
+ @Input() orientation: 'vertical' = 'horizontal';
14
+ @Input() size: string = 'md';
15
+ @Input() variant: string = '';
16
+ }
@@ -0,0 +1,20 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-fieldset',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-fieldset [attr.legend]="legend" [attr.description]="description" [disabled]="disabled" [attr.error]="error" [attr.variant]="variant" [attr._hasLegend]="_hasLegend" [attr._hasActions]="_hasActions"><ng-content /></arc-fieldset>`,
11
+ })
12
+ export class Fieldset {
13
+ @Input() legend: string = '';
14
+ @Input() description: string = '';
15
+ @Input() disabled: boolean = false;
16
+ @Input() error: string = '';
17
+ @Input() variant: 'card' = 'default';
18
+ @Input() _hasLegend: string = false;
19
+ @Input() _hasActions: string = false;
20
+ }
@@ -0,0 +1,17 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-hotkey',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-hotkey [attr.keys]="keys" [disabled]="disabled" [global]="global" (arc-trigger)="arcTrigger.emit($event)"><ng-content /></arc-hotkey>`,
11
+ })
12
+ export class Hotkey {
13
+ @Input() keys: string = '';
14
+ @Input() disabled: boolean = false;
15
+ @Input() global: boolean = false;
16
+ @Output() arcTrigger = new EventEmitter<CustomEvent>();
17
+ }
@@ -0,0 +1,16 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-input-group',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-input-group [attr.size]="size" [attr._hasPrefix]="_hasPrefix" [attr._hasSuffix]="_hasSuffix"><ng-content /></arc-input-group>`,
11
+ })
12
+ export class InputGroup {
13
+ @Input() size: 'sm' | 'lg' = 'md';
14
+ @Input() _hasPrefix: string = false;
15
+ @Input() _hasSuffix: string = false;
16
+ }
@@ -0,0 +1,19 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-label',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-label [attr.for]="for" [required]="required" [attr.size]="size" [disabled]="disabled" [attr._hasDescription]="_hasDescription" [attr._hasTooltip]="_hasTooltip"><ng-content /></arc-label>`,
11
+ })
12
+ export class Label {
13
+ @Input() for: string = '';
14
+ @Input() required: boolean = false;
15
+ @Input() size: 'sm' | 'lg' = 'md';
16
+ @Input() disabled: boolean = false;
17
+ @Input() _hasDescription: string = false;
18
+ @Input() _hasTooltip: string = false;
19
+ }
@@ -0,0 +1,17 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-switch-group',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-switch-group [attr.label]="label" [attr.orientation]="orientation" [attr.size]="size" [disabled]="disabled"><ng-content /></arc-switch-group>`,
11
+ })
12
+ export class SwitchGroup {
13
+ @Input() label: string = '';
14
+ @Input() orientation: 'horizontal' = 'vertical';
15
+ @Input() size: string = 'md';
16
+ @Input() disabled: boolean = false;
17
+ }
@@ -0,0 +1,16 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-aspect-grid',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-aspect-grid [attr.columns]="columns" [attr.ratio]="ratio" [attr.gap]="gap"><ng-content /></arc-aspect-grid>`,
11
+ })
12
+ export class AspectGrid {
13
+ @Input() columns: number = 3;
14
+ @Input() ratio: string = '1/1';
15
+ @Input() gap: 'sm' | 'md' | 'lg' = 'md';
16
+ }
@@ -0,0 +1,16 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-center',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-center [attr.maxWidth]="maxWidth" [intrinsic]="intrinsic" [text]="text"><ng-content /></arc-center>`,
11
+ })
12
+ export class Center {
13
+ @Input() maxWidth: string = '60ch';
14
+ @Input() intrinsic: boolean = false;
15
+ @Input() text: boolean = false;
16
+ }
@@ -0,0 +1,16 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-cluster',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-cluster [attr.gap]="gap" [attr.align]="align" [attr.justify]="justify"><ng-content /></arc-cluster>`,
11
+ })
12
+ export class Cluster {
13
+ @Input() gap: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'sm';
14
+ @Input() align: 'start' | 'center' | 'end' = 'center';
15
+ @Input() justify: 'start' | 'center' | 'end' | 'space-between' | 'space-around' = 'start';
16
+ }
@@ -0,0 +1,17 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-dock',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-dock [attr.position]="position" [autoHide]="autoHide" [open]="open" [attr._hovered]="_hovered"><ng-content /></arc-dock>`,
11
+ })
12
+ export class Dock {
13
+ @Input() position: 'bottom' | 'left' | 'right' = 'bottom';
14
+ @Input() autoHide: boolean = false;
15
+ @Input() open: boolean = false;
16
+ @Input() _hovered: string = false;
17
+ }
@@ -0,0 +1,15 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-float-bar',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-float-bar [open]="open" [attr.position]="position"><ng-content /></arc-float-bar>`,
11
+ })
12
+ export class FloatBar {
13
+ @Input() open: boolean = false;
14
+ @Input() position: 'top' = 'bottom';
15
+ }
@@ -0,0 +1,15 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-inset',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-inset [attr.space]="space" [bleed]="bleed"><ng-content /></arc-inset>`,
11
+ })
12
+ export class Inset {
13
+ @Input() space: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' = 'md';
14
+ @Input() bleed: boolean = false;
15
+ }
@@ -0,0 +1,15 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-masonry',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-masonry [attr.columns]="columns" [attr.gap]="gap"><ng-content /></arc-masonry>`,
11
+ })
12
+ export class Masonry {
13
+ @Input() columns: number = 3;
14
+ @Input() gap: 'sm' | 'md' | 'lg' = 'md';
15
+ }
@@ -0,0 +1,15 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-responsive-switcher',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-responsive-switcher [attr.threshold]="threshold" [attr.gap]="gap"><ng-content /></arc-responsive-switcher>`,
11
+ })
12
+ export class ResponsiveSwitcher {
13
+ @Input() threshold: string = '600px';
14
+ @Input() gap: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'md';
15
+ }
@@ -0,0 +1,16 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-sticky',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-sticky [attr.offset]="offset" [stuck]="stuck" (arc-stuck)="arcStuck.emit($event)"><ng-content /></arc-sticky>`,
11
+ })
12
+ export class Sticky {
13
+ @Input() offset: string = '0px';
14
+ @Input() stuck: boolean = false;
15
+ @Output() arcStuck = new EventEmitter<CustomEvent>();
16
+ }
@@ -0,0 +1,17 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-anchor-nav',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-anchor-nav [attr.orientation]="orientation" [attr.value]="value" [attr.items]="items" (arc-change)="arcChange.emit($event)"><ng-content /></arc-anchor-nav>`,
11
+ })
12
+ export class AnchorNav {
13
+ @Input() orientation: 'vertical' = 'horizontal';
14
+ @Input() value: string = '';
15
+ @Input() items: string = [];
16
+ @Output() arcChange = new EventEmitter<CustomEvent>();
17
+ }
@@ -0,0 +1,16 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-bottom-nav',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-bottom-nav [attr.items]="items" [attr.value]="value" (arc-change)="arcChange.emit($event)"><ng-content /></arc-bottom-nav>`,
11
+ })
12
+ export class BottomNav {
13
+ @Input() items: string = [];
14
+ @Input() value: string = '';
15
+ @Output() arcChange = new EventEmitter<CustomEvent>();
16
+ }
@@ -0,0 +1,16 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-breadcrumb-menu',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-breadcrumb-menu [attr.items]="items" [attr._openIndex]="_openIndex" (arc-navigate)="arcNavigate.emit($event)"><ng-content /></arc-breadcrumb-menu>`,
11
+ })
12
+ export class BreadcrumbMenu {
13
+ @Input() items: string = [];
14
+ @Input() _openIndex: number = -1;
15
+ @Output() arcNavigate = new EventEmitter<CustomEvent>();
16
+ }
@@ -0,0 +1,18 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-command-bar',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-command-bar [attr.placeholder]="placeholder" [attr.value]="value" [attr.icon]="icon" (arc-input)="arcInput.emit($event)" (arc-submit)="arcSubmit.emit($event)"><ng-content /></arc-command-bar>`,
11
+ })
12
+ export class CommandBar {
13
+ @Input() placeholder: string = 'Search…';
14
+ @Input() value: string = '';
15
+ @Input() icon: string = 'magnifying-glass';
16
+ @Output() arcInput = new EventEmitter<CustomEvent>();
17
+ @Output() arcSubmit = new EventEmitter<CustomEvent>();
18
+ }
@@ -0,0 +1,17 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-page-indicator',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-page-indicator [attr.count]="count" [attr.value]="value" [clickable]="clickable" (arc-change)="arcChange.emit($event)"><ng-content /></arc-page-indicator>`,
11
+ })
12
+ export class PageIndicator {
13
+ @Input() count: number = 0;
14
+ @Input() value: number = 0;
15
+ @Input() clickable: boolean = false;
16
+ @Output() arcChange = new EventEmitter<CustomEvent>();
17
+ }
@@ -0,0 +1,17 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-rail',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-rail [attr.items]="items" [attr.value]="value" [expanded]="expanded" (arc-change)="arcChange.emit($event)"><ng-content /></arc-rail>`,
11
+ })
12
+ export class Rail {
13
+ @Input() items: string = [];
14
+ @Input() value: string = '';
15
+ @Input() expanded: boolean = false;
16
+ @Output() arcChange = new EventEmitter<CustomEvent>();
17
+ }
@@ -0,0 +1,14 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-skip-link',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-skip-link [attr.target]="target"><ng-content /></arc-skip-link>`,
11
+ })
12
+ export class SkipLink {
13
+ @Input() target: string = '#main';
14
+ }
@@ -0,0 +1,19 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-speed-dial',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-speed-dial [open]="open" [attr.direction]="direction" [attr.position]="position" [attr.items]="items" (arc-action)="arcAction.emit($event)" (arc-close)="arcClose.emit($event)"><ng-content /></arc-speed-dial>`,
11
+ })
12
+ export class SpeedDial {
13
+ @Input() open: boolean = false;
14
+ @Input() direction: 'down' | 'left' | 'right' = 'up';
15
+ @Input() position: 'bottom-right' | 'bottom-left' = 'bottom-right';
16
+ @Input() items: string = [];
17
+ @Output() arcAction = new EventEmitter<CustomEvent>();
18
+ @Output() arcClose = new EventEmitter<CustomEvent>();
19
+ }
@@ -0,0 +1,18 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, Output, EventEmitter } from '@angular/core';
4
+ import '@arclux/arc-ui';
5
+
6
+ @Component({
7
+ selector: 'arc-stepper-nav',
8
+ standalone: true,
9
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
10
+ template: `<arc-stepper-nav [attr.steps]="steps" [attr.active]="active" [linear]="linear" (arc-change)="arcChange.emit($event)" (arc-complete)="arcComplete.emit($event)"><ng-content /></arc-stepper-nav>`,
11
+ })
12
+ export class StepperNav {
13
+ @Input() steps: string = [];
14
+ @Input() active: number = 0;
15
+ @Input() linear: boolean = false;
16
+ @Output() arcChange = new EventEmitter<CustomEvent>();
17
+ @Output() arcComplete = new EventEmitter<CustomEvent>();
18
+ }