@gravionlabs/helix-ui 22.2.1 → 22.2.3
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 +3 -0
- package/fesm2022/gravionlabs-helix-ui.mjs +3710 -1889
- package/fesm2022/gravionlabs-helix-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/styles.css +907 -76
- package/tokens.css +3 -0
- package/types/gravionlabs-helix-ui.d.ts +575 -1
|
@@ -683,6 +683,180 @@ export declare class HxCard {
|
|
|
683
683
|
};
|
|
684
684
|
}, {}, never, ["[hxCardTitle]", "[hxCardHeader]", "[hxCardSubtitle]", "*", "[hxCardFooter]"], true, never>;
|
|
685
685
|
}
|
|
686
|
+
type HxCarouselOrientation = 'horizontal' | 'vertical';
|
|
687
|
+
/** How many items are visible and scrolled at a viewport width (`breakpoint` is a max-width, `'1024px'`). */
|
|
688
|
+
interface HxCarouselResponsiveOption {
|
|
689
|
+
breakpoint: string;
|
|
690
|
+
numVisible: number;
|
|
691
|
+
numScroll: number;
|
|
692
|
+
}
|
|
693
|
+
interface HxCarouselItemContext<T = unknown> {
|
|
694
|
+
$implicit: T;
|
|
695
|
+
index: number;
|
|
696
|
+
}
|
|
697
|
+
/** The template of one item: `<ng-template hxCarouselItem let-item let-index="index">`. */
|
|
698
|
+
export declare class HxCarouselItem {
|
|
699
|
+
readonly template: TemplateRef<HxCarouselItemContext<unknown>>;
|
|
700
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HxCarouselItem, never>;
|
|
701
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<HxCarouselItem, "ng-template[hxCarouselItem]", never, {}, {}, never, never, true, never>;
|
|
702
|
+
}
|
|
703
|
+
/**
|
|
704
|
+
* A slider over a list of items: `numVisible` items at a time, moved by `numScroll` with the previous/next buttons,
|
|
705
|
+
* the page indicators or the arrow keys; optional autoplay and circular paging.
|
|
706
|
+
*
|
|
707
|
+
* ```html
|
|
708
|
+
* <hx-carousel [value]="products" [numVisible]="3" [numScroll]="1" [responsiveOptions]="responsive" ariaLabel="Products">
|
|
709
|
+
* <ng-template hxCarouselItem let-product>…</ng-template>
|
|
710
|
+
* </hx-carousel>
|
|
711
|
+
* ```
|
|
712
|
+
*
|
|
713
|
+
* The carousel is a `region` with `aria-roledescription="carousel"`; the items are `group`s named "n of m"; items
|
|
714
|
+
* outside the viewport are hidden from assistive technology and the tab order. Autoplay pauses while the pointer or
|
|
715
|
+
* the focus is inside and stays off when the user prefers reduced motion.
|
|
716
|
+
*/
|
|
717
|
+
export declare class HxCarousel<T = unknown> {
|
|
718
|
+
readonly value: import("@angular/core").InputSignal<readonly T[]>;
|
|
719
|
+
readonly numVisible: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
720
|
+
readonly numScroll: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
721
|
+
/** After the last page comes the first again. */
|
|
722
|
+
readonly circular: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
723
|
+
/** Milliseconds between automatic page changes; 0 is off. */
|
|
724
|
+
readonly autoplayInterval: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
725
|
+
readonly orientation: import("@angular/core").InputSignal<HxCarouselOrientation>;
|
|
726
|
+
/** Height of the viewport when vertical. */
|
|
727
|
+
readonly verticalViewPortHeight: import("@angular/core").InputSignal<string>;
|
|
728
|
+
readonly showIndicators: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
729
|
+
readonly showNavigators: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
730
|
+
readonly responsiveOptions: import("@angular/core").InputSignal<readonly HxCarouselResponsiveOption[] | undefined>;
|
|
731
|
+
/** The current page (0-based); `pageChange` is its output. */
|
|
732
|
+
readonly page: import("@angular/core").ModelSignal<number>;
|
|
733
|
+
readonly ariaLabel: import("@angular/core").InputSignal<string>;
|
|
734
|
+
readonly prevLabel: import("@angular/core").InputSignal<string>;
|
|
735
|
+
readonly nextLabel: import("@angular/core").InputSignal<string>;
|
|
736
|
+
/** `{page}` and `{pageCount}` are replaced. */
|
|
737
|
+
readonly pageLabelTemplate: import("@angular/core").InputSignal<string>;
|
|
738
|
+
/** `{index}` and `{count}` are replaced. */
|
|
739
|
+
readonly itemLabelTemplate: import("@angular/core").InputSignal<string>;
|
|
740
|
+
protected readonly itemTemplate: import("@angular/core").Signal<HxCarouselItem | undefined>;
|
|
741
|
+
protected readonly hovered: import("@angular/core").WritableSignal<boolean>;
|
|
742
|
+
protected readonly focused: import("@angular/core").WritableSignal<boolean>;
|
|
743
|
+
protected readonly id: string;
|
|
744
|
+
private readonly viewportWidth;
|
|
745
|
+
private readonly reducedMotion;
|
|
746
|
+
/** The visible/scroll counts for the current viewport (the smallest matching breakpoint wins). */
|
|
747
|
+
private readonly counts;
|
|
748
|
+
protected readonly visible: import("@angular/core").Signal<number>;
|
|
749
|
+
protected readonly scroll: import("@angular/core").Signal<number>;
|
|
750
|
+
protected readonly pageCount: import("@angular/core").Signal<number>;
|
|
751
|
+
protected readonly currentPage: import("@angular/core").Signal<number>;
|
|
752
|
+
/** The index of the first visible item. */
|
|
753
|
+
protected readonly first: import("@angular/core").Signal<number>;
|
|
754
|
+
protected readonly pages: import("@angular/core").Signal<number[]>;
|
|
755
|
+
protected readonly isFirst: import("@angular/core").Signal<boolean>;
|
|
756
|
+
protected readonly isLast: import("@angular/core").Signal<boolean>;
|
|
757
|
+
protected readonly prevDisabled: import("@angular/core").Signal<boolean>;
|
|
758
|
+
protected readonly nextDisabled: import("@angular/core").Signal<boolean>;
|
|
759
|
+
protected readonly itemSize: import("@angular/core").Signal<number>;
|
|
760
|
+
protected readonly offset: import("@angular/core").Signal<number>;
|
|
761
|
+
protected readonly transform: import("@angular/core").Signal<string>;
|
|
762
|
+
constructor();
|
|
763
|
+
protected isVisible(index: number): boolean;
|
|
764
|
+
protected itemLabel(index: number): string;
|
|
765
|
+
protected pageLabel(page: number): string;
|
|
766
|
+
/** Goes to a page (0-based); wraps around when `circular`, else clamps. */
|
|
767
|
+
goTo(page: number): void;
|
|
768
|
+
next(auto?: boolean): void;
|
|
769
|
+
prev(): void;
|
|
770
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
771
|
+
protected onIndicatorKeydown(event: KeyboardEvent): void;
|
|
772
|
+
protected onFocusOut(event: FocusEvent): void;
|
|
773
|
+
protected onResize(): void;
|
|
774
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HxCarousel<any>, never>;
|
|
775
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<HxCarousel<any>, "hx-carousel", never, {
|
|
776
|
+
"value": {
|
|
777
|
+
"alias": "value";
|
|
778
|
+
"required": false;
|
|
779
|
+
"isSignal": true;
|
|
780
|
+
};
|
|
781
|
+
"numVisible": {
|
|
782
|
+
"alias": "numVisible";
|
|
783
|
+
"required": false;
|
|
784
|
+
"isSignal": true;
|
|
785
|
+
};
|
|
786
|
+
"numScroll": {
|
|
787
|
+
"alias": "numScroll";
|
|
788
|
+
"required": false;
|
|
789
|
+
"isSignal": true;
|
|
790
|
+
};
|
|
791
|
+
"circular": {
|
|
792
|
+
"alias": "circular";
|
|
793
|
+
"required": false;
|
|
794
|
+
"isSignal": true;
|
|
795
|
+
};
|
|
796
|
+
"autoplayInterval": {
|
|
797
|
+
"alias": "autoplayInterval";
|
|
798
|
+
"required": false;
|
|
799
|
+
"isSignal": true;
|
|
800
|
+
};
|
|
801
|
+
"orientation": {
|
|
802
|
+
"alias": "orientation";
|
|
803
|
+
"required": false;
|
|
804
|
+
"isSignal": true;
|
|
805
|
+
};
|
|
806
|
+
"verticalViewPortHeight": {
|
|
807
|
+
"alias": "verticalViewPortHeight";
|
|
808
|
+
"required": false;
|
|
809
|
+
"isSignal": true;
|
|
810
|
+
};
|
|
811
|
+
"showIndicators": {
|
|
812
|
+
"alias": "showIndicators";
|
|
813
|
+
"required": false;
|
|
814
|
+
"isSignal": true;
|
|
815
|
+
};
|
|
816
|
+
"showNavigators": {
|
|
817
|
+
"alias": "showNavigators";
|
|
818
|
+
"required": false;
|
|
819
|
+
"isSignal": true;
|
|
820
|
+
};
|
|
821
|
+
"responsiveOptions": {
|
|
822
|
+
"alias": "responsiveOptions";
|
|
823
|
+
"required": false;
|
|
824
|
+
"isSignal": true;
|
|
825
|
+
};
|
|
826
|
+
"page": {
|
|
827
|
+
"alias": "page";
|
|
828
|
+
"required": false;
|
|
829
|
+
"isSignal": true;
|
|
830
|
+
};
|
|
831
|
+
"ariaLabel": {
|
|
832
|
+
"alias": "ariaLabel";
|
|
833
|
+
"required": false;
|
|
834
|
+
"isSignal": true;
|
|
835
|
+
};
|
|
836
|
+
"prevLabel": {
|
|
837
|
+
"alias": "prevLabel";
|
|
838
|
+
"required": false;
|
|
839
|
+
"isSignal": true;
|
|
840
|
+
};
|
|
841
|
+
"nextLabel": {
|
|
842
|
+
"alias": "nextLabel";
|
|
843
|
+
"required": false;
|
|
844
|
+
"isSignal": true;
|
|
845
|
+
};
|
|
846
|
+
"pageLabelTemplate": {
|
|
847
|
+
"alias": "pageLabelTemplate";
|
|
848
|
+
"required": false;
|
|
849
|
+
"isSignal": true;
|
|
850
|
+
};
|
|
851
|
+
"itemLabelTemplate": {
|
|
852
|
+
"alias": "itemLabelTemplate";
|
|
853
|
+
"required": false;
|
|
854
|
+
"isSignal": true;
|
|
855
|
+
};
|
|
856
|
+
}, {
|
|
857
|
+
"page": "pageChange";
|
|
858
|
+
}, ["itemTemplate"], ["[hxCarouselHeader]", "[hxCarouselFooter]"], true, never>;
|
|
859
|
+
}
|
|
686
860
|
type HxChartType = 'bar' | 'line' | 'scatter' | 'bubble' | 'pie' | 'doughnut' | 'polarArea' | 'radar';
|
|
687
861
|
/** What `(dataSelect)` carries: the click and what chart.js found under it. */
|
|
688
862
|
interface HxChartSelectEvent {
|
|
@@ -2441,6 +2615,213 @@ export declare class HxFloatLabel {
|
|
|
2441
2615
|
};
|
|
2442
2616
|
}, {}, never, ["*"], true, never>;
|
|
2443
2617
|
}
|
|
2618
|
+
/** One picture of a galleria. */
|
|
2619
|
+
interface HxGalleriaItem {
|
|
2620
|
+
src: string;
|
|
2621
|
+
alt: string;
|
|
2622
|
+
/** A smaller picture for the thumbnail strip (default: `src`). */
|
|
2623
|
+
thumbnailSrc?: string;
|
|
2624
|
+
title?: string;
|
|
2625
|
+
caption?: string;
|
|
2626
|
+
}
|
|
2627
|
+
type HxGalleriaThumbnailsPosition = 'bottom' | 'top' | 'left' | 'right';
|
|
2628
|
+
interface HxGalleriaItemContext {
|
|
2629
|
+
$implicit: HxGalleriaItem;
|
|
2630
|
+
index: number;
|
|
2631
|
+
}
|
|
2632
|
+
/** The template of the stage: `<ng-template hxGalleriaItem let-item let-index="index">`. */
|
|
2633
|
+
export declare class HxGalleriaItemTemplate {
|
|
2634
|
+
readonly template: TemplateRef<HxGalleriaItemContext>;
|
|
2635
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HxGalleriaItemTemplate, never>;
|
|
2636
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<HxGalleriaItemTemplate, "ng-template[hxGalleriaItem]", never, {}, {}, never, never, true, never>;
|
|
2637
|
+
}
|
|
2638
|
+
/** The template of a thumbnail: `<ng-template hxGalleriaThumbnail let-item>`. */
|
|
2639
|
+
export declare class HxGalleriaThumbnail {
|
|
2640
|
+
readonly template: TemplateRef<HxGalleriaItemContext>;
|
|
2641
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HxGalleriaThumbnail, never>;
|
|
2642
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<HxGalleriaThumbnail, "ng-template[hxGalleriaThumbnail]", never, {}, {}, never, never, true, never>;
|
|
2643
|
+
}
|
|
2644
|
+
/** The template of the caption over the stage: `<ng-template hxGalleriaCaption let-item>`. */
|
|
2645
|
+
export declare class HxGalleriaCaption {
|
|
2646
|
+
readonly template: TemplateRef<HxGalleriaItemContext>;
|
|
2647
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HxGalleriaCaption, never>;
|
|
2648
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<HxGalleriaCaption, "ng-template[hxGalleriaCaption]", never, {}, {}, never, never, true, never>;
|
|
2649
|
+
}
|
|
2650
|
+
/**
|
|
2651
|
+
* An image gallery: a stage with the current picture, a strip of thumbnails, previous/next buttons, captions and an
|
|
2652
|
+
* optional full-screen mode in a modal overlay.
|
|
2653
|
+
*
|
|
2654
|
+
* ```html
|
|
2655
|
+
* <hx-galleria [value]="pictures" [(activeIndex)]="index" [numVisible]="5" circular ariaLabel="Product pictures" />
|
|
2656
|
+
* <hx-galleria [value]="pictures" fullScreen [(visible)]="open" />
|
|
2657
|
+
* ```
|
|
2658
|
+
*
|
|
2659
|
+
* The stage is a `region` with `aria-roledescription="carousel"` and the arrow keys move between pictures; the
|
|
2660
|
+
* thumbnails are a `tablist`. Full screen is a modal dialog: the focus is trapped, Escape closes it and the focus goes
|
|
2661
|
+
* back to where it was.
|
|
2662
|
+
*/
|
|
2663
|
+
export declare class HxGalleria {
|
|
2664
|
+
#private;
|
|
2665
|
+
readonly value: import("@angular/core").InputSignal<readonly HxGalleriaItem[]>;
|
|
2666
|
+
/** The picture on the stage (0-based); `activeIndexChange` is its output. */
|
|
2667
|
+
readonly activeIndex: import("@angular/core").ModelSignal<number>;
|
|
2668
|
+
/** Thumbnails shown at a time. */
|
|
2669
|
+
readonly numVisible: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
2670
|
+
/** After the last picture comes the first again. */
|
|
2671
|
+
readonly circular: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
2672
|
+
readonly autoplay: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
2673
|
+
readonly autoplayInterval: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
2674
|
+
readonly showThumbnails: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
2675
|
+
/** Dots over the stage. */
|
|
2676
|
+
readonly showIndicators: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
2677
|
+
readonly showItemNavigators: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
2678
|
+
readonly thumbnailsPosition: import("@angular/core").InputSignal<HxGalleriaThumbnailsPosition>;
|
|
2679
|
+
/** The gallery is not shown inline; `visible` opens it in a modal overlay. */
|
|
2680
|
+
readonly fullScreen: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
2681
|
+
/** Full screen open (with `fullScreen`); `visibleChange` is its output. */
|
|
2682
|
+
readonly visible: import("@angular/core").ModelSignal<boolean>;
|
|
2683
|
+
/** CSS height of the stage inline (full screen uses the viewport). */
|
|
2684
|
+
readonly height: import("@angular/core").InputSignal<string>;
|
|
2685
|
+
readonly ariaLabel: import("@angular/core").InputSignal<string>;
|
|
2686
|
+
readonly prevLabel: import("@angular/core").InputSignal<string>;
|
|
2687
|
+
readonly nextLabel: import("@angular/core").InputSignal<string>;
|
|
2688
|
+
readonly closeLabel: import("@angular/core").InputSignal<string>;
|
|
2689
|
+
/** `{index}` and `{count}` are replaced. */
|
|
2690
|
+
readonly itemLabelTemplate: import("@angular/core").InputSignal<string>;
|
|
2691
|
+
protected readonly itemTemplate: import("@angular/core").Signal<HxGalleriaItemTemplate | undefined>;
|
|
2692
|
+
protected readonly thumbnailTemplate: import("@angular/core").Signal<HxGalleriaThumbnail | undefined>;
|
|
2693
|
+
protected readonly captionTemplate: import("@angular/core").Signal<HxGalleriaCaption | undefined>;
|
|
2694
|
+
private readonly content;
|
|
2695
|
+
protected readonly hovered: import("@angular/core").WritableSignal<boolean>;
|
|
2696
|
+
protected readonly focused: import("@angular/core").WritableSignal<boolean>;
|
|
2697
|
+
protected readonly id: string;
|
|
2698
|
+
private readonly reducedMotion;
|
|
2699
|
+
protected readonly count: import("@angular/core").Signal<number>;
|
|
2700
|
+
protected readonly index: import("@angular/core").Signal<number>;
|
|
2701
|
+
protected readonly current: import("@angular/core").Signal<HxGalleriaItem | undefined>;
|
|
2702
|
+
protected readonly isFirst: import("@angular/core").Signal<boolean>;
|
|
2703
|
+
protected readonly isLast: import("@angular/core").Signal<boolean>;
|
|
2704
|
+
protected readonly prevDisabled: import("@angular/core").Signal<boolean>;
|
|
2705
|
+
protected readonly nextDisabled: import("@angular/core").Signal<boolean>;
|
|
2706
|
+
protected readonly indices: import("@angular/core").Signal<number[]>;
|
|
2707
|
+
protected readonly hasCaption: import("@angular/core").Signal<boolean>;
|
|
2708
|
+
/** The first thumbnail of the strip: the strip moves so the active picture stays visible. */
|
|
2709
|
+
private readonly thumbStart;
|
|
2710
|
+
protected readonly thumbsVisible: import("@angular/core").Signal<number>;
|
|
2711
|
+
protected readonly thumbNavigation: import("@angular/core").Signal<boolean>;
|
|
2712
|
+
protected readonly thumbs: import("@angular/core").Signal<number[]>;
|
|
2713
|
+
protected readonly thumbPrevDisabled: import("@angular/core").Signal<boolean>;
|
|
2714
|
+
protected readonly thumbNextDisabled: import("@angular/core").Signal<boolean>;
|
|
2715
|
+
constructor();
|
|
2716
|
+
protected itemLabel(index: number): string;
|
|
2717
|
+
protected thumbnailSrc(item: HxGalleriaItem): string;
|
|
2718
|
+
/** Shows a picture (0-based); wraps around when `circular`, else clamps. */
|
|
2719
|
+
goTo(index: number): void;
|
|
2720
|
+
next(auto?: boolean): void;
|
|
2721
|
+
prev(): void;
|
|
2722
|
+
protected scrollThumbs(delta: number): void;
|
|
2723
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
2724
|
+
protected onThumbKeydown(event: KeyboardEvent): void;
|
|
2725
|
+
protected onFocusIn(): void;
|
|
2726
|
+
protected onFocusOut(event: FocusEvent): void;
|
|
2727
|
+
protected close(): void;
|
|
2728
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HxGalleria, never>;
|
|
2729
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<HxGalleria, "hx-galleria", never, {
|
|
2730
|
+
"value": {
|
|
2731
|
+
"alias": "value";
|
|
2732
|
+
"required": false;
|
|
2733
|
+
"isSignal": true;
|
|
2734
|
+
};
|
|
2735
|
+
"activeIndex": {
|
|
2736
|
+
"alias": "activeIndex";
|
|
2737
|
+
"required": false;
|
|
2738
|
+
"isSignal": true;
|
|
2739
|
+
};
|
|
2740
|
+
"numVisible": {
|
|
2741
|
+
"alias": "numVisible";
|
|
2742
|
+
"required": false;
|
|
2743
|
+
"isSignal": true;
|
|
2744
|
+
};
|
|
2745
|
+
"circular": {
|
|
2746
|
+
"alias": "circular";
|
|
2747
|
+
"required": false;
|
|
2748
|
+
"isSignal": true;
|
|
2749
|
+
};
|
|
2750
|
+
"autoplay": {
|
|
2751
|
+
"alias": "autoplay";
|
|
2752
|
+
"required": false;
|
|
2753
|
+
"isSignal": true;
|
|
2754
|
+
};
|
|
2755
|
+
"autoplayInterval": {
|
|
2756
|
+
"alias": "autoplayInterval";
|
|
2757
|
+
"required": false;
|
|
2758
|
+
"isSignal": true;
|
|
2759
|
+
};
|
|
2760
|
+
"showThumbnails": {
|
|
2761
|
+
"alias": "showThumbnails";
|
|
2762
|
+
"required": false;
|
|
2763
|
+
"isSignal": true;
|
|
2764
|
+
};
|
|
2765
|
+
"showIndicators": {
|
|
2766
|
+
"alias": "showIndicators";
|
|
2767
|
+
"required": false;
|
|
2768
|
+
"isSignal": true;
|
|
2769
|
+
};
|
|
2770
|
+
"showItemNavigators": {
|
|
2771
|
+
"alias": "showItemNavigators";
|
|
2772
|
+
"required": false;
|
|
2773
|
+
"isSignal": true;
|
|
2774
|
+
};
|
|
2775
|
+
"thumbnailsPosition": {
|
|
2776
|
+
"alias": "thumbnailsPosition";
|
|
2777
|
+
"required": false;
|
|
2778
|
+
"isSignal": true;
|
|
2779
|
+
};
|
|
2780
|
+
"fullScreen": {
|
|
2781
|
+
"alias": "fullScreen";
|
|
2782
|
+
"required": false;
|
|
2783
|
+
"isSignal": true;
|
|
2784
|
+
};
|
|
2785
|
+
"visible": {
|
|
2786
|
+
"alias": "visible";
|
|
2787
|
+
"required": false;
|
|
2788
|
+
"isSignal": true;
|
|
2789
|
+
};
|
|
2790
|
+
"height": {
|
|
2791
|
+
"alias": "height";
|
|
2792
|
+
"required": false;
|
|
2793
|
+
"isSignal": true;
|
|
2794
|
+
};
|
|
2795
|
+
"ariaLabel": {
|
|
2796
|
+
"alias": "ariaLabel";
|
|
2797
|
+
"required": false;
|
|
2798
|
+
"isSignal": true;
|
|
2799
|
+
};
|
|
2800
|
+
"prevLabel": {
|
|
2801
|
+
"alias": "prevLabel";
|
|
2802
|
+
"required": false;
|
|
2803
|
+
"isSignal": true;
|
|
2804
|
+
};
|
|
2805
|
+
"nextLabel": {
|
|
2806
|
+
"alias": "nextLabel";
|
|
2807
|
+
"required": false;
|
|
2808
|
+
"isSignal": true;
|
|
2809
|
+
};
|
|
2810
|
+
"closeLabel": {
|
|
2811
|
+
"alias": "closeLabel";
|
|
2812
|
+
"required": false;
|
|
2813
|
+
"isSignal": true;
|
|
2814
|
+
};
|
|
2815
|
+
"itemLabelTemplate": {
|
|
2816
|
+
"alias": "itemLabelTemplate";
|
|
2817
|
+
"required": false;
|
|
2818
|
+
"isSignal": true;
|
|
2819
|
+
};
|
|
2820
|
+
}, {
|
|
2821
|
+
"activeIndex": "activeIndexChange";
|
|
2822
|
+
"visible": "visibleChange";
|
|
2823
|
+
}, ["itemTemplate", "thumbnailTemplate", "captionTemplate"], never, true, never>;
|
|
2824
|
+
}
|
|
2444
2825
|
type HxIconPosition = 'left' | 'right';
|
|
2445
2826
|
/**
|
|
2446
2827
|
* An icon inside a text field. Wrap an `hx-input` (or `hx-password`) and one `hx-input-icon` element; the
|
|
@@ -2477,6 +2858,167 @@ export declare class HxInputIcon {
|
|
|
2477
2858
|
static ɵfac: i0.ɵɵFactoryDeclaration<HxInputIcon, never>;
|
|
2478
2859
|
static ɵdir: i0.ɵɵDirectiveDeclaration<HxInputIcon, "[hx-input-icon]", never, {}, {}, never, never, true, never>;
|
|
2479
2860
|
}
|
|
2861
|
+
/** The content of the hover indicator over a previewable image: `<ng-template hxImageIndicator>`. */
|
|
2862
|
+
export declare class HxImageIndicator {
|
|
2863
|
+
readonly template: TemplateRef<unknown>;
|
|
2864
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HxImageIndicator, never>;
|
|
2865
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<HxImageIndicator, "ng-template[hxImageIndicator]", never, {}, {}, never, never, true, never>;
|
|
2866
|
+
}
|
|
2867
|
+
/**
|
|
2868
|
+
* An image, optionally with a preview: a click (or Enter on the button over it) opens the picture in a modal
|
|
2869
|
+
* overlay with a toolbar to rotate, zoom and close.
|
|
2870
|
+
*
|
|
2871
|
+
* ```html
|
|
2872
|
+
* <hx-image src="product.jpg" alt="Bamboo watch" width="250" preview />
|
|
2873
|
+
* <hx-image src="thumb.jpg" previewImageSrc="large.jpg" alt="Bamboo watch" preview />
|
|
2874
|
+
* ```
|
|
2875
|
+
*
|
|
2876
|
+
* The preview trigger is a button named "Preview {alt}"; the overlay is a modal dialog (focus trap, Escape closes,
|
|
2877
|
+
* focus restored); the toolbar buttons are labelled; + and - zoom from the keyboard.
|
|
2878
|
+
*/
|
|
2879
|
+
export declare class HxImage {
|
|
2880
|
+
#private;
|
|
2881
|
+
readonly src: import("@angular/core").InputSignal<string>;
|
|
2882
|
+
readonly alt: import("@angular/core").InputSignal<string>;
|
|
2883
|
+
/** Width and height of the inline image (CSS or number of pixels). */
|
|
2884
|
+
readonly width: import("@angular/core").InputSignal<string | number | undefined>;
|
|
2885
|
+
readonly height: import("@angular/core").InputSignal<string | number | undefined>;
|
|
2886
|
+
/** A click opens the picture in an overlay. */
|
|
2887
|
+
readonly preview: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
2888
|
+
/** A larger picture for the overlay (default: `src`). */
|
|
2889
|
+
readonly previewImageSrc: import("@angular/core").InputSignal<string | undefined>;
|
|
2890
|
+
readonly imageClass: import("@angular/core").InputSignal<string | undefined>;
|
|
2891
|
+
readonly imageStyle: import("@angular/core").InputSignal<Record<string, string> | undefined>;
|
|
2892
|
+
readonly showToolbar: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
2893
|
+
readonly zoomStep: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
2894
|
+
readonly zoomMin: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
2895
|
+
readonly zoomMax: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
2896
|
+
/** `{alt}` is replaced. */
|
|
2897
|
+
readonly previewLabelTemplate: import("@angular/core").InputSignal<string>;
|
|
2898
|
+
readonly rotateLeftLabel: import("@angular/core").InputSignal<string>;
|
|
2899
|
+
readonly rotateRightLabel: import("@angular/core").InputSignal<string>;
|
|
2900
|
+
readonly zoomOutLabel: import("@angular/core").InputSignal<string>;
|
|
2901
|
+
readonly zoomInLabel: import("@angular/core").InputSignal<string>;
|
|
2902
|
+
readonly closeLabel: import("@angular/core").InputSignal<string>;
|
|
2903
|
+
/** The preview opened. */
|
|
2904
|
+
readonly show: import("@angular/core").OutputEmitterRef<void>;
|
|
2905
|
+
/** The preview closed. */
|
|
2906
|
+
readonly hide: import("@angular/core").OutputEmitterRef<void>;
|
|
2907
|
+
protected readonly indicatorTemplate: import("@angular/core").Signal<HxImageIndicator | undefined>;
|
|
2908
|
+
private readonly overlay;
|
|
2909
|
+
protected readonly rotation: import("@angular/core").WritableSignal<number>;
|
|
2910
|
+
protected readonly scale: import("@angular/core").WritableSignal<number>;
|
|
2911
|
+
protected readonly transform: import("@angular/core").Signal<string>;
|
|
2912
|
+
protected readonly previewLabel: import("@angular/core").Signal<string>;
|
|
2913
|
+
protected readonly previewSrc: import("@angular/core").Signal<string>;
|
|
2914
|
+
protected readonly zoomOutDisabled: import("@angular/core").Signal<boolean>;
|
|
2915
|
+
protected readonly zoomInDisabled: import("@angular/core").Signal<boolean>;
|
|
2916
|
+
constructor();
|
|
2917
|
+
protected cssSize(value: string | number | undefined): string | null;
|
|
2918
|
+
/** Opens the preview. */
|
|
2919
|
+
open(): void;
|
|
2920
|
+
/** Closes the preview. */
|
|
2921
|
+
close(): void;
|
|
2922
|
+
protected rotate(degrees: number): void;
|
|
2923
|
+
protected zoom(direction: 1 | -1): void;
|
|
2924
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
2925
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HxImage, never>;
|
|
2926
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<HxImage, "hx-image", never, {
|
|
2927
|
+
"src": {
|
|
2928
|
+
"alias": "src";
|
|
2929
|
+
"required": true;
|
|
2930
|
+
"isSignal": true;
|
|
2931
|
+
};
|
|
2932
|
+
"alt": {
|
|
2933
|
+
"alias": "alt";
|
|
2934
|
+
"required": true;
|
|
2935
|
+
"isSignal": true;
|
|
2936
|
+
};
|
|
2937
|
+
"width": {
|
|
2938
|
+
"alias": "width";
|
|
2939
|
+
"required": false;
|
|
2940
|
+
"isSignal": true;
|
|
2941
|
+
};
|
|
2942
|
+
"height": {
|
|
2943
|
+
"alias": "height";
|
|
2944
|
+
"required": false;
|
|
2945
|
+
"isSignal": true;
|
|
2946
|
+
};
|
|
2947
|
+
"preview": {
|
|
2948
|
+
"alias": "preview";
|
|
2949
|
+
"required": false;
|
|
2950
|
+
"isSignal": true;
|
|
2951
|
+
};
|
|
2952
|
+
"previewImageSrc": {
|
|
2953
|
+
"alias": "previewImageSrc";
|
|
2954
|
+
"required": false;
|
|
2955
|
+
"isSignal": true;
|
|
2956
|
+
};
|
|
2957
|
+
"imageClass": {
|
|
2958
|
+
"alias": "imageClass";
|
|
2959
|
+
"required": false;
|
|
2960
|
+
"isSignal": true;
|
|
2961
|
+
};
|
|
2962
|
+
"imageStyle": {
|
|
2963
|
+
"alias": "imageStyle";
|
|
2964
|
+
"required": false;
|
|
2965
|
+
"isSignal": true;
|
|
2966
|
+
};
|
|
2967
|
+
"showToolbar": {
|
|
2968
|
+
"alias": "showToolbar";
|
|
2969
|
+
"required": false;
|
|
2970
|
+
"isSignal": true;
|
|
2971
|
+
};
|
|
2972
|
+
"zoomStep": {
|
|
2973
|
+
"alias": "zoomStep";
|
|
2974
|
+
"required": false;
|
|
2975
|
+
"isSignal": true;
|
|
2976
|
+
};
|
|
2977
|
+
"zoomMin": {
|
|
2978
|
+
"alias": "zoomMin";
|
|
2979
|
+
"required": false;
|
|
2980
|
+
"isSignal": true;
|
|
2981
|
+
};
|
|
2982
|
+
"zoomMax": {
|
|
2983
|
+
"alias": "zoomMax";
|
|
2984
|
+
"required": false;
|
|
2985
|
+
"isSignal": true;
|
|
2986
|
+
};
|
|
2987
|
+
"previewLabelTemplate": {
|
|
2988
|
+
"alias": "previewLabelTemplate";
|
|
2989
|
+
"required": false;
|
|
2990
|
+
"isSignal": true;
|
|
2991
|
+
};
|
|
2992
|
+
"rotateLeftLabel": {
|
|
2993
|
+
"alias": "rotateLeftLabel";
|
|
2994
|
+
"required": false;
|
|
2995
|
+
"isSignal": true;
|
|
2996
|
+
};
|
|
2997
|
+
"rotateRightLabel": {
|
|
2998
|
+
"alias": "rotateRightLabel";
|
|
2999
|
+
"required": false;
|
|
3000
|
+
"isSignal": true;
|
|
3001
|
+
};
|
|
3002
|
+
"zoomOutLabel": {
|
|
3003
|
+
"alias": "zoomOutLabel";
|
|
3004
|
+
"required": false;
|
|
3005
|
+
"isSignal": true;
|
|
3006
|
+
};
|
|
3007
|
+
"zoomInLabel": {
|
|
3008
|
+
"alias": "zoomInLabel";
|
|
3009
|
+
"required": false;
|
|
3010
|
+
"isSignal": true;
|
|
3011
|
+
};
|
|
3012
|
+
"closeLabel": {
|
|
3013
|
+
"alias": "closeLabel";
|
|
3014
|
+
"required": false;
|
|
3015
|
+
"isSignal": true;
|
|
3016
|
+
};
|
|
3017
|
+
}, {
|
|
3018
|
+
"show": "show";
|
|
3019
|
+
"hide": "hide";
|
|
3020
|
+
}, ["indicatorTemplate"], never, true, never>;
|
|
3021
|
+
}
|
|
2480
3022
|
type HxInputSize = 'small' | 'medium' | 'large';
|
|
2481
3023
|
type HxInputVariant = 'outlined' | 'filled';
|
|
2482
3024
|
/**
|
|
@@ -3783,6 +4325,13 @@ export declare class HxSelect<V = unknown> implements ControlValueAccessor, Form
|
|
|
3783
4325
|
readonly optionDisabled: import("@angular/core").InputSignal<Accessor<never, boolean>>;
|
|
3784
4326
|
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
3785
4327
|
readonly emptyMessage: import("@angular/core").InputSignal<string>;
|
|
4328
|
+
/** A search field above the list that narrows the options (case-insensitive "contains"). */
|
|
4329
|
+
readonly filter: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
4330
|
+
readonly filterPlaceholder: import("@angular/core").InputSignal<string>;
|
|
4331
|
+
/** What the filter matches: a property name or accessor of an option; default the label. */
|
|
4332
|
+
readonly filterBy: import("@angular/core").InputSignal<Accessor<never, string> | undefined>;
|
|
4333
|
+
/** Shown when the filter matches nothing. */
|
|
4334
|
+
readonly emptyFilterMessage: import("@angular/core").InputSignal<string>;
|
|
3786
4335
|
readonly size: import("@angular/core").InputSignal<HxSelectSize>;
|
|
3787
4336
|
readonly variant: import("@angular/core").InputSignal<HxSelectVariant>;
|
|
3788
4337
|
readonly fluid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
@@ -3804,8 +4353,12 @@ export declare class HxSelect<V = unknown> implements ControlValueAccessor, Form
|
|
|
3804
4353
|
protected readonly positions: ConnectedPosition[];
|
|
3805
4354
|
private readonly trigger;
|
|
3806
4355
|
private readonly listbox;
|
|
4356
|
+
private readonly filterField;
|
|
4357
|
+
protected readonly query: import("@angular/core").WritableSignal<string>;
|
|
3807
4358
|
protected readonly isDisabled: import("@angular/core").Signal<boolean>;
|
|
3808
4359
|
protected readonly items: import("@angular/core").Signal<HxSelectItem<unknown>[]>;
|
|
4360
|
+
protected readonly visibleItems: import("@angular/core").Signal<HxSelectItem<unknown>[]>;
|
|
4361
|
+
protected readonly resultsLabel: import("@angular/core").Signal<string>;
|
|
3809
4362
|
protected readonly selected: import("@angular/core").Signal<HxSelectItem<unknown> | undefined>;
|
|
3810
4363
|
protected readonly canClear: import("@angular/core").Signal<boolean>;
|
|
3811
4364
|
protected readonly selectedValues: import("@angular/core").Signal<unknown[]>;
|
|
@@ -3819,6 +4372,7 @@ export declare class HxSelect<V = unknown> implements ControlValueAccessor, Form
|
|
|
3819
4372
|
protected show(): void;
|
|
3820
4373
|
protected close(refocus?: boolean): void;
|
|
3821
4374
|
protected onAttach(): void;
|
|
4375
|
+
protected onFilterKeydown(event: KeyboardEvent): void;
|
|
3822
4376
|
protected onTriggerKeydown(event: KeyboardEvent): void;
|
|
3823
4377
|
protected onOverlayKeydown(event: KeyboardEvent): void;
|
|
3824
4378
|
protected onOutsideClick(event: MouseEvent): void;
|
|
@@ -3857,6 +4411,26 @@ export declare class HxSelect<V = unknown> implements ControlValueAccessor, Form
|
|
|
3857
4411
|
"required": false;
|
|
3858
4412
|
"isSignal": true;
|
|
3859
4413
|
};
|
|
4414
|
+
"filter": {
|
|
4415
|
+
"alias": "filter";
|
|
4416
|
+
"required": false;
|
|
4417
|
+
"isSignal": true;
|
|
4418
|
+
};
|
|
4419
|
+
"filterPlaceholder": {
|
|
4420
|
+
"alias": "filterPlaceholder";
|
|
4421
|
+
"required": false;
|
|
4422
|
+
"isSignal": true;
|
|
4423
|
+
};
|
|
4424
|
+
"filterBy": {
|
|
4425
|
+
"alias": "filterBy";
|
|
4426
|
+
"required": false;
|
|
4427
|
+
"isSignal": true;
|
|
4428
|
+
};
|
|
4429
|
+
"emptyFilterMessage": {
|
|
4430
|
+
"alias": "emptyFilterMessage";
|
|
4431
|
+
"required": false;
|
|
4432
|
+
"isSignal": true;
|
|
4433
|
+
};
|
|
3860
4434
|
"size": {
|
|
3861
4435
|
"alias": "size";
|
|
3862
4436
|
"required": false;
|
|
@@ -5307,4 +5881,4 @@ export declare class HxTree {
|
|
|
5307
5881
|
"nodeCollapse": "nodeCollapse";
|
|
5308
5882
|
}, ["template"], never, true, never>;
|
|
5309
5883
|
}
|
|
5310
|
-
export type { HxAccordionValue, HxAutoCompleteEvent, HxAutoCompleteSize, HxAvatarShape, HxAvatarSize, HxBadgeSeverity, HxBadgeSize, HxBreadcrumbItem, HxButtonSeverity, HxButtonSize, HxButtonVariant, HxCellContext, HxChartInstance, HxChartModule, HxChartSelectEvent, HxChartType, HxCheckboxSize, HxColumn, HxColumnAlign, HxConfirmation, HxDatePickerSelectionMode, HxDatePickerValue, HxDialogConfig, HxDialogPosition, HxDividerAlign, HxDividerLayout, HxDividerType, HxDrawerPosition, HxFileUploadMode, HxFloatLabelVariant, HxIconPosition, HxInputNumberButtonLayout, HxInputNumberMode, HxInputNumberSize, HxInputNumberVariant, HxInputSize, HxInputVariant, HxLazyLoadEvent, HxMenuItem, HxMenuItemCommandEvent, HxMessageSeverity, HxMessageSize, HxMessageVariant, HxMultiSelectDisplay, HxMultiSelectSize, HxMultiSelectVariant, HxPageEvent, HxPrimaryColor, HxProgressMode, HxRadioSize, HxSelectButtonSize, HxSelectItem, HxSelectSize, HxSelectVariant, HxSelectionMode, HxSkeletonAnimation, HxSkeletonShape, HxSliderOrientation, HxSliderValue, HxSortFunction, HxSortMeta, HxSortMode, HxStepContentContext, HxStepValue, HxSurface, HxTableColumnsContext, HxTableRowContext, HxTableSize, HxTagSeverity, HxThemeOptions, HxTimelineAlign, HxTimelineContext, HxTimelineLayout, HxToastMessage, HxToastMessageInput, HxToastPosition, HxToastSeverity, HxToggleButtonSize, HxTooltipEvent, HxTooltipPosition, HxTreeFilterMode, HxTreeNode, HxTreeNodeContext, HxTreeNodeEvent, HxTreeSelection, HxTreeSelectionMode };
|
|
5884
|
+
export type { HxAccordionValue, HxAutoCompleteEvent, HxAutoCompleteSize, HxAvatarShape, HxAvatarSize, HxBadgeSeverity, HxBadgeSize, HxBreadcrumbItem, HxButtonSeverity, HxButtonSize, HxButtonVariant, HxCarouselItemContext, HxCarouselOrientation, HxCarouselResponsiveOption, HxCellContext, HxChartInstance, HxChartModule, HxChartSelectEvent, HxChartType, HxCheckboxSize, HxColumn, HxColumnAlign, HxConfirmation, HxDatePickerSelectionMode, HxDatePickerValue, HxDialogConfig, HxDialogPosition, HxDividerAlign, HxDividerLayout, HxDividerType, HxDrawerPosition, HxFileUploadMode, HxFloatLabelVariant, HxGalleriaItem, HxGalleriaItemContext, HxGalleriaThumbnailsPosition, HxIconPosition, HxInputNumberButtonLayout, HxInputNumberMode, HxInputNumberSize, HxInputNumberVariant, HxInputSize, HxInputVariant, HxLazyLoadEvent, HxMenuItem, HxMenuItemCommandEvent, HxMessageSeverity, HxMessageSize, HxMessageVariant, HxMultiSelectDisplay, HxMultiSelectSize, HxMultiSelectVariant, HxPageEvent, HxPrimaryColor, HxProgressMode, HxRadioSize, HxSelectButtonSize, HxSelectItem, HxSelectSize, HxSelectVariant, HxSelectionMode, HxSkeletonAnimation, HxSkeletonShape, HxSliderOrientation, HxSliderValue, HxSortFunction, HxSortMeta, HxSortMode, HxStepContentContext, HxStepValue, HxSurface, HxTableColumnsContext, HxTableRowContext, HxTableSize, HxTagSeverity, HxThemeOptions, HxTimelineAlign, HxTimelineContext, HxTimelineLayout, HxToastMessage, HxToastMessageInput, HxToastPosition, HxToastSeverity, HxToggleButtonSize, HxTooltipEvent, HxTooltipPosition, HxTreeFilterMode, HxTreeNode, HxTreeNodeContext, HxTreeNodeEvent, HxTreeSelection, HxTreeSelectionMode };
|