@joanroucoux/cairn-ui 0.7.0 → 0.7.2
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/CHANGELOG.md +79 -0
- package/fesm2022/joanroucoux-cairn-ui.mjs +380 -111
- package/fesm2022/joanroucoux-cairn-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/motion.css +9 -0
- package/types/joanroucoux-cairn-ui.d.ts +96 -18
package/package.json
CHANGED
package/styles/motion.css
CHANGED
|
@@ -69,6 +69,15 @@
|
|
|
69
69
|
transition: none !important;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
[data-ui-settling],
|
|
73
|
+
[data-ui-settling]::before,
|
|
74
|
+
[data-ui-settling]::after,
|
|
75
|
+
[data-ui-settling] *,
|
|
76
|
+
[data-ui-settling] *::before,
|
|
77
|
+
[data-ui-settling] *::after {
|
|
78
|
+
transition: none !important;
|
|
79
|
+
}
|
|
80
|
+
|
|
72
81
|
@media (prefers-reduced-motion: reduce) {
|
|
73
82
|
.ui-enter-fade-up,
|
|
74
83
|
.ui-enter-panel {
|
|
@@ -3,7 +3,7 @@ import { InjectionToken, Signal, ElementRef } from '@angular/core';
|
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Bar of actions fixed above the tab bar on iPhone: the primary actions of a detail screen, within
|
|
6
|
-
* thumb reach. It sits 52px plus the safe area above the bottom edge, so it clears `ui-tab-bar`, and
|
|
6
|
+
* thumb reach. It sits `--tab-bar-height` (52px plus the safe area) above the bottom edge, so it clears `ui-tab-bar`, and
|
|
7
7
|
* it is hidden from `64rem`, where the same actions live in the page itself. Its children share the
|
|
8
8
|
* width equally. While it is on the page it publishes its height as `--action-bar-height` on the
|
|
9
9
|
* root element, which `ui-toaster` adds to its offset so a confirmation never covers the actions.
|
|
@@ -116,6 +116,7 @@ declare class UiAsync {
|
|
|
116
116
|
protected readonly titleClasses: _angular_core.Signal<string>;
|
|
117
117
|
protected readonly messageClasses: _angular_core.Signal<string>;
|
|
118
118
|
protected readonly retryButtonClasses: _angular_core.Signal<string>;
|
|
119
|
+
constructor();
|
|
119
120
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UiAsync, never>;
|
|
120
121
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UiAsync, "ui-async", never, { "state": { "alias": "state"; "required": true; "isSignal": true; }; "errorTitle": { "alias": "errorTitle"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "retryLabel": { "alias": "retryLabel"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "card": { "alias": "card"; "required": false; "isSignal": true; }; "fill": { "alias": "fill"; "required": false; "isSignal": true; }; }, { "retry": "retry"; }, never, ["[asyncLoading]", "[asyncEmpty]", "*"], true, never>;
|
|
121
122
|
}
|
|
@@ -151,7 +152,8 @@ declare class UiAvatar {
|
|
|
151
152
|
/**
|
|
152
153
|
* Round hit area around a `ui-avatar` that links somewhere: 44px on touch, 40px from 64rem, with a
|
|
153
154
|
* glow on hover and the press scale. On the current page (`aria-current="page"`, which `routerLinkActive`
|
|
154
|
-
* sets through `ariaCurrentWhenActive`) it holds a soft halo
|
|
155
|
+
* sets through `ariaCurrentWhenActive`) it holds a soft halo, drawn at once when the route changes. The avatar
|
|
156
|
+
* itself keeps its own size.
|
|
155
157
|
*
|
|
156
158
|
* @example
|
|
157
159
|
* <a uiAvatarLink routerLink="/profile"><ui-avatar initials="JR" label="Profile" size="auto" /></a>
|
|
@@ -174,6 +176,7 @@ declare class UiBackLink {
|
|
|
174
176
|
readonly size: _angular_core.InputSignal<"sm" | "md" | "header">;
|
|
175
177
|
protected readonly chevron: _angular_core.Signal<number>;
|
|
176
178
|
protected readonly classes: _angular_core.Signal<string>;
|
|
179
|
+
constructor();
|
|
177
180
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UiBackLink, never>;
|
|
178
181
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UiBackLink, "a[ui-back-link]", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
179
182
|
}
|
|
@@ -364,6 +367,9 @@ type DialogCloseReason = (typeof DIALOG_CLOSE_REASONS)[number];
|
|
|
364
367
|
/**
|
|
365
368
|
* Modal dialog on the native <dialog>: a bottom sheet under `64rem`, centered above it.
|
|
366
369
|
*
|
|
370
|
+
* `busy` keeps it open while its action runs: Escape, a click on the backdrop and a drag of the sheet do
|
|
371
|
+
* nothing and the cross is disabled. The owner disables its own buttons and still closes it through `open`.
|
|
372
|
+
*
|
|
367
373
|
* @example
|
|
368
374
|
* <ui-dialog heading="Buy" description="Ferrari" closeLabel="Close" width="528px" [open]="buying()" (dismissed)="buying.set(false)">
|
|
369
375
|
* <p>Body</p>
|
|
@@ -380,6 +386,7 @@ declare class UiDialog {
|
|
|
380
386
|
readonly truncateDescription: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
381
387
|
readonly width: _angular_core.InputSignal<"md" | "lg" | (string & {})>;
|
|
382
388
|
readonly open: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
389
|
+
readonly busy: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
383
390
|
readonly dismissed: _angular_core.OutputEmitterRef<void>;
|
|
384
391
|
readonly closed: _angular_core.OutputEmitterRef<"drag" | "escape" | "backdrop" | "cross" | "programmatic">;
|
|
385
392
|
protected readonly headingId: string;
|
|
@@ -398,11 +405,12 @@ declare class UiDialog {
|
|
|
398
405
|
constructor();
|
|
399
406
|
protected close(reason: DialogCloseReason): void;
|
|
400
407
|
protected onCancel(event: Event): void;
|
|
408
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
401
409
|
protected onPointerDown(event: MouseEvent): void;
|
|
402
410
|
protected onClick(event: MouseEvent): void;
|
|
403
411
|
protected onNativeClose(): void;
|
|
404
412
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UiDialog, never>;
|
|
405
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UiDialog, "ui-dialog", never, { "heading": { "alias": "heading"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "truncateDescription": { "alias": "truncateDescription"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "dismissed": "dismissed"; "closed": "closed"; }, never, ["*", "[dialogActions]"], true, never>;
|
|
413
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UiDialog, "ui-dialog", never, { "heading": { "alias": "heading"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "truncateDescription": { "alias": "truncateDescription"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "busy": { "alias": "busy"; "required": false; "isSignal": true; }; }, { "dismissed": "dismissed"; "closed": "closed"; }, never, ["*", "[dialogActions]"], true, never>;
|
|
406
414
|
}
|
|
407
415
|
|
|
408
416
|
type DonutSlice = {
|
|
@@ -717,6 +725,10 @@ type EndRef = ElementRef<SVGCircleElement>;
|
|
|
717
725
|
* only the first, middle and last ticks count; with `auto` every tick counts from `sm` up and the
|
|
718
726
|
* three core ticks below it. Tick positions are unchanged.
|
|
719
727
|
*
|
|
728
|
+
* A new series interpolates from the drawn curve, fading the start label and the dashed line. With
|
|
729
|
+
* `rangeKey` bound, only a series that comes with a new key does so: a new series under the same key
|
|
730
|
+
* (a reload after a buy) is drawn at once, with no fade. The key may change before its series arrives.
|
|
731
|
+
*
|
|
720
732
|
* @example
|
|
721
733
|
* <ui-line-chart [points]="points" label="Net worth over one month" startLabel="Since" [valueFormat]="formatEur" />
|
|
722
734
|
*/
|
|
@@ -737,6 +749,7 @@ declare class UiLineChart {
|
|
|
737
749
|
readonly tooltipDelta: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
738
750
|
readonly axisGap: _angular_core.InputSignal<number | "auto">;
|
|
739
751
|
readonly axisTicks: _angular_core.InputSignalWithTransform<AxisTicks, string | 3 | 5>;
|
|
752
|
+
readonly rangeKey: _angular_core.InputSignal<string | null>;
|
|
740
753
|
protected readonly svgRef: _angular_core.Signal<PlotRef>;
|
|
741
754
|
protected readonly lineRef: _angular_core.Signal<LineRef | undefined>;
|
|
742
755
|
protected readonly endRef: _angular_core.Signal<EndRef | undefined>;
|
|
@@ -776,7 +789,7 @@ declare class UiLineChart {
|
|
|
776
789
|
protected onPointerLeave(): void;
|
|
777
790
|
protected onKeydown(event: KeyboardEvent): void;
|
|
778
791
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UiLineChart, never>;
|
|
779
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UiLineChart, "ui-line-chart", never, { "points": { "alias": "points"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "tooltipFormat": { "alias": "tooltipFormat"; "required": false; "isSignal": true; }; "deltaFormat": { "alias": "deltaFormat"; "required": false; "isSignal": true; }; "timeFormat": { "alias": "timeFormat"; "required": false; "isSignal": true; }; "axisFormat": { "alias": "axisFormat"; "required": false; "isSignal": true; }; "startLabel": { "alias": "startLabel"; "required": false; "isSignal": true; }; "timeColumnLabel": { "alias": "timeColumnLabel"; "required": false; "isSignal": true; }; "valueColumnLabel": { "alias": "valueColumnLabel"; "required": false; "isSignal": true; }; "sparkline": { "alias": "sparkline"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tooltipDelta": { "alias": "tooltipDelta"; "required": false; "isSignal": true; }; "axisGap": { "alias": "axisGap"; "required": false; "isSignal": true; }; "axisTicks": { "alias": "axisTicks"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
792
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UiLineChart, "ui-line-chart", never, { "points": { "alias": "points"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "tooltipFormat": { "alias": "tooltipFormat"; "required": false; "isSignal": true; }; "deltaFormat": { "alias": "deltaFormat"; "required": false; "isSignal": true; }; "timeFormat": { "alias": "timeFormat"; "required": false; "isSignal": true; }; "axisFormat": { "alias": "axisFormat"; "required": false; "isSignal": true; }; "startLabel": { "alias": "startLabel"; "required": false; "isSignal": true; }; "timeColumnLabel": { "alias": "timeColumnLabel"; "required": false; "isSignal": true; }; "valueColumnLabel": { "alias": "valueColumnLabel"; "required": false; "isSignal": true; }; "sparkline": { "alias": "sparkline"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tooltipDelta": { "alias": "tooltipDelta"; "required": false; "isSignal": true; }; "axisGap": { "alias": "axisGap"; "required": false; "isSignal": true; }; "axisTicks": { "alias": "axisTicks"; "required": false; "isSignal": true; }; "rangeKey": { "alias": "rangeKey"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
780
793
|
}
|
|
781
794
|
|
|
782
795
|
/**
|
|
@@ -859,7 +872,7 @@ declare class UiMeter {
|
|
|
859
872
|
readonly value: _angular_core.InputSignal<number>;
|
|
860
873
|
readonly label: _angular_core.InputSignal<string>;
|
|
861
874
|
readonly valueText: _angular_core.InputSignal<string>;
|
|
862
|
-
readonly tone: _angular_core.InputSignal<2 |
|
|
875
|
+
readonly tone: _angular_core.InputSignal<2 | 3 | 1 | 4 | 6 | 5>;
|
|
863
876
|
readonly size: _angular_core.InputSignal<"sm" | "md">;
|
|
864
877
|
protected readonly trackClasses: _angular_core.Signal<string>;
|
|
865
878
|
protected readonly percent: _angular_core.Signal<number>;
|
|
@@ -869,17 +882,35 @@ declare class UiMeter {
|
|
|
869
882
|
}
|
|
870
883
|
|
|
871
884
|
/**
|
|
872
|
-
* Slides the
|
|
873
|
-
*
|
|
874
|
-
* `--duration-base` `--ease-out`. Pair it with `animate.leave="ui-leave-fade"` on the item so it fades
|
|
885
|
+
* Slides the items of a list into place when one is removed or inserted (FLIP): it measures every item
|
|
886
|
+
* before and after the change, from the top of the list itself, then animates the shift in `translateY`
|
|
887
|
+
* over `--duration-base` `--ease-out`. Pair it with `animate.leave="ui-leave-fade"` on the item so it fades
|
|
875
888
|
* out first. Nothing moves under `prefers-reduced-motion`: the list closes up at once.
|
|
876
889
|
*
|
|
890
|
+
* By default the items are the direct children of the list. Mark them with `uiFlipItem` instead when they
|
|
891
|
+
* sit deeper, for instance a page of several groups: put `uiFlipList` on the element around every group and
|
|
892
|
+
* `uiFlipItem` on each group heading and row, so a removal also slides the groups below. An item may sit
|
|
893
|
+
* inside another item (a row inside a card): it then moves by its own share and its card carries the rest.
|
|
894
|
+
* Only an item added or removed starts a slide; a change inside an item does not. Positions leave out the
|
|
895
|
+
* translate of any animation running inside the list (a slide in progress, an enter fade-up).
|
|
896
|
+
*
|
|
877
897
|
* @example
|
|
878
898
|
* <ul uiFlipList>
|
|
879
899
|
* @for (key of keys(); track key.id) {
|
|
880
900
|
* <li uiListRow animate.leave="ui-leave-fade">...</li>
|
|
881
901
|
* }
|
|
882
902
|
* </ul>
|
|
903
|
+
*
|
|
904
|
+
* <table uiTable uiFlipList>
|
|
905
|
+
* @for (group of groups(); track group.id) {
|
|
906
|
+
* <tbody>
|
|
907
|
+
* <tr uiTr group uiFlipItem>...</tr>
|
|
908
|
+
* @for (row of group.rows; track row.id) {
|
|
909
|
+
* <tr uiTr uiFlipItem animate.leave="ui-leave-fade">...</tr>
|
|
910
|
+
* }
|
|
911
|
+
* </tbody>
|
|
912
|
+
* }
|
|
913
|
+
* </table>
|
|
883
914
|
*/
|
|
884
915
|
declare class UiFlipList {
|
|
885
916
|
private readonly host;
|
|
@@ -888,14 +919,29 @@ declare class UiFlipList {
|
|
|
888
919
|
private readonly resizes;
|
|
889
920
|
private readonly running;
|
|
890
921
|
private readonly watched;
|
|
922
|
+
private readonly items;
|
|
891
923
|
private tops;
|
|
924
|
+
private shifts;
|
|
892
925
|
constructor();
|
|
926
|
+
private tracked;
|
|
893
927
|
private measure;
|
|
894
|
-
private interruptedOffset;
|
|
895
928
|
private onChange;
|
|
929
|
+
private parentItem;
|
|
896
930
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UiFlipList, never>;
|
|
897
931
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<UiFlipList, "[uiFlipList]", never, {}, {}, never, never, true, never>;
|
|
898
932
|
}
|
|
933
|
+
/**
|
|
934
|
+
* Marks an element as an item of the nearest `uiFlipList`, at any depth: a group heading, a row inside a
|
|
935
|
+
* group, a card. Once one item is marked, the list follows its marked items only.
|
|
936
|
+
*
|
|
937
|
+
* @example
|
|
938
|
+
* <tr uiTr uiFlipItem animate.leave="ui-leave-fade">...</tr>
|
|
939
|
+
*/
|
|
940
|
+
declare class UiFlipItem {
|
|
941
|
+
constructor();
|
|
942
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UiFlipItem, never>;
|
|
943
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<UiFlipItem, "[uiFlipItem]", never, {}, {}, never, never, true, never>;
|
|
944
|
+
}
|
|
899
945
|
|
|
900
946
|
/**
|
|
901
947
|
* Draws the eye to an element that just changed: scrolls it into view when it is off screen, holds the
|
|
@@ -905,6 +951,10 @@ declare class UiFlipList {
|
|
|
905
951
|
* cells, on a `td[ui-group-cell]` the band, anywhere else the host. Under `prefers-reduced-motion` the
|
|
906
952
|
* scroll is instant and the fade lasts 600 ms.
|
|
907
953
|
*
|
|
954
|
+
* It starts on the next frame and, when the element is still playing a finite animation of its own (an
|
|
955
|
+
* `animate.enter` fade on a new row), once that animation has finished, waiting no longer than
|
|
956
|
+
* `--duration-base`: the element fades in, then lights up. Both can sit on the same element.
|
|
957
|
+
*
|
|
908
958
|
* Give the element `scroll-margin-top` and `scroll-margin-bottom` equal to what is pinned above and
|
|
909
959
|
* below it (header, tab bar, action bar): a row under them counts as off screen and is scrolled out.
|
|
910
960
|
* For an arrival on a page opened at the element, scroll to it at once first (`scrollIntoView` in
|
|
@@ -937,7 +987,23 @@ declare class UiHighlight {
|
|
|
937
987
|
declare function injectReducedMotion(): Signal<boolean>;
|
|
938
988
|
|
|
939
989
|
/**
|
|
940
|
-
*
|
|
990
|
+
* Holds the transitions of the host and of everything inside it until two frames after its first
|
|
991
|
+
* render, through the `data-ui-settling` attribute and the matching rule of `styles/motion.css`.
|
|
992
|
+
* A route's elements are created a tick before their classes are bound; a layout read in between
|
|
993
|
+
* would otherwise turn the bound fill, colour or switch track into a transition on page open. Call it
|
|
994
|
+
* in an injection context. A host whose view is never refreshed (a detached change detector) keeps the
|
|
995
|
+
* attribute, and with it no transition.
|
|
996
|
+
*
|
|
997
|
+
* @example
|
|
998
|
+
* constructor() {
|
|
999
|
+
* holdTransitionsUntilRendered();
|
|
1000
|
+
* }
|
|
1001
|
+
*/
|
|
1002
|
+
declare function holdTransitionsUntilRendered(): void;
|
|
1003
|
+
|
|
1004
|
+
/**
|
|
1005
|
+
* One destination of the sidebar navigation (Portfolio, Holdings, Allocation, Accounts). The active
|
|
1006
|
+
* fill and text colour switch at once on navigation; only the hover fill fades.
|
|
941
1007
|
*
|
|
942
1008
|
* @example
|
|
943
1009
|
* <a ui-nav-item [active]="url === '/'" routerLink="/">
|
|
@@ -948,6 +1014,7 @@ declare function injectReducedMotion(): Signal<boolean>;
|
|
|
948
1014
|
declare class UiNavItem {
|
|
949
1015
|
readonly active: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
950
1016
|
protected readonly classes: _angular_core.Signal<string>;
|
|
1017
|
+
constructor();
|
|
951
1018
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UiNavItem, never>;
|
|
952
1019
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UiNavItem, "a[ui-nav-item]", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; }, {}, never, ["[navIcon]", "*"], true, never>;
|
|
953
1020
|
}
|
|
@@ -1048,6 +1115,7 @@ declare class UiSegmented {
|
|
|
1048
1115
|
readonly size: _angular_core.InputSignal<"sm" | "md">;
|
|
1049
1116
|
protected readonly radios: _angular_core.Signal<readonly ElementRef<HTMLButtonElement>[]>;
|
|
1050
1117
|
protected readonly thumbIndex: _angular_core.Signal<number>;
|
|
1118
|
+
constructor();
|
|
1051
1119
|
protected optionClasses(optionValue: string): string;
|
|
1052
1120
|
protected tabIndexFor(optionValue: string): number;
|
|
1053
1121
|
protected select(optionValue: string): void;
|
|
@@ -1097,19 +1165,24 @@ declare class UiSkeleton {
|
|
|
1097
1165
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UiSkeleton, "ui-skeleton", never, { "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "lines": { "alias": "lines"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1098
1166
|
}
|
|
1099
1167
|
|
|
1168
|
+
/** Available stale link sizes. `StaleLinkSize` is derived from this tuple. */
|
|
1169
|
+
declare const STALE_LINK_SIZES: readonly ["caption", "label"];
|
|
1170
|
+
type StaleLinkSize = (typeof STALE_LINK_SIZES)[number];
|
|
1100
1171
|
/**
|
|
1101
1172
|
* Link in the stale tone, for a caption about data that is late or left out of a total, such as
|
|
1102
|
-
* "1 ligne sans cours, non comptée".
|
|
1103
|
-
*
|
|
1173
|
+
* "1 ligne sans cours, non comptée". Weight 500, underlined on hover, with an optional trailing
|
|
1174
|
+
* chevron. `size` is `caption` (12/17, the default) or `label` (14/20, the dashboard total's
|
|
1175
|
+
* "1 cours en retard").
|
|
1104
1176
|
*
|
|
1105
1177
|
* @example
|
|
1106
|
-
* <a uiStaleLink chevron routerLink="/holdings">1 cours en retard</a>
|
|
1178
|
+
* <a uiStaleLink chevron size="label" routerLink="/holdings">1 cours en retard</a>
|
|
1107
1179
|
*/
|
|
1108
1180
|
declare class UiStaleLink {
|
|
1109
1181
|
readonly chevron: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1110
|
-
|
|
1182
|
+
readonly size: _angular_core.InputSignal<"label" | "caption">;
|
|
1183
|
+
protected readonly classes: _angular_core.Signal<string>;
|
|
1111
1184
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UiStaleLink, never>;
|
|
1112
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<UiStaleLink, "a[uiStaleLink]", never, { "chevron": { "alias": "chevron"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1185
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<UiStaleLink, "a[uiStaleLink]", never, { "chevron": { "alias": "chevron"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1113
1186
|
}
|
|
1114
1187
|
|
|
1115
1188
|
/** Available stat sizes. `StatSize` is derived from this tuple. */
|
|
@@ -1149,12 +1222,15 @@ declare class UiStat {
|
|
|
1149
1222
|
*/
|
|
1150
1223
|
declare class UiSwitch {
|
|
1151
1224
|
protected readonly classes = "relative shrink-0 w-[51px] h-[31px] pointer-fine:w-10 pointer-fine:h-6 appearance-none cursor-pointer rounded-pill bg-(--muted) checked:bg-(--primary) transition-[background-color] duration-(--duration-fast) ease-out disabled:pointer-events-none disabled:opacity-40 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-(--ring) before:absolute before:inset-x-0 before:top-1/2 before:-translate-y-1/2 before:h-(--row-min) before:content-[''] after:absolute after:top-0.5 after:left-0.5 after:size-[27px] pointer-fine:after:size-5 after:rounded-pill after:bg-(--card) after:shadow-[0_1px_3px_rgb(0_0_0/0.2)] after:transition-transform after:duration-(--duration-fast) after:ease-out after:content-[''] checked:after:translate-x-[20px] pointer-fine:checked:after:translate-x-4";
|
|
1225
|
+
constructor();
|
|
1152
1226
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UiSwitch, never>;
|
|
1153
1227
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<UiSwitch, "input[type=checkbox][uiSwitch]", never, {}, {}, never, never, true, never>;
|
|
1154
1228
|
}
|
|
1155
1229
|
|
|
1156
1230
|
/**
|
|
1157
|
-
* Bottom navigation bar for iPhone: 52px of tabs plus the home indicator's safe area.
|
|
1231
|
+
* Bottom navigation bar for iPhone: 52px of tabs plus the home indicator's safe area. While it is on the
|
|
1232
|
+
* page it publishes that height as `--tab-bar-height` on the root element, which `ui-action-bar` and
|
|
1233
|
+
* `ui-toaster` sit above; use it rather than restating 52px for anything that must clear the bar.
|
|
1158
1234
|
*
|
|
1159
1235
|
* @example
|
|
1160
1236
|
* <nav ui-tab-bar>
|
|
@@ -1162,6 +1238,7 @@ declare class UiSwitch {
|
|
|
1162
1238
|
* </nav>
|
|
1163
1239
|
*/
|
|
1164
1240
|
declare class UiTabBar {
|
|
1241
|
+
constructor();
|
|
1165
1242
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UiTabBar, never>;
|
|
1166
1243
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UiTabBar, "nav[ui-tab-bar]", never, {}, {}, never, ["*"], true, never>;
|
|
1167
1244
|
}
|
|
@@ -1244,6 +1321,7 @@ declare class UiTable {
|
|
|
1244
1321
|
readonly rule: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1245
1322
|
readonly spaced: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1246
1323
|
protected readonly classes: _angular_core.Signal<string>;
|
|
1324
|
+
constructor();
|
|
1247
1325
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UiTable, never>;
|
|
1248
1326
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<UiTable, "table[uiTable]", never, { "row": { "alias": "row"; "required": false; "isSignal": true; }; "rule": { "alias": "rule"; "required": false; "isSignal": true; }; "spaced": { "alias": "spaced"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1249
1327
|
}
|
|
@@ -1359,5 +1437,5 @@ declare class UiCellSub {
|
|
|
1359
1437
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<UiCellSub, "[uiCellSub]", never, { "narrow": { "alias": "narrow"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1360
1438
|
}
|
|
1361
1439
|
|
|
1362
|
-
export { ALERT_VARIANTS, AMOUNT_MASKINGS, AMOUNT_NUMERICS, ASYNC_ALIGNS, ASYNC_STATES, ASYNC_VARIANTS, AVATAR_SIZES, BACK_LINK_SIZES, BADGE_SIZES, BADGE_VARIANTS, BUTTON_SIZES, BUTTON_VARIANTS, CARD_PADDINGS, CARD_SURFACES, CARD_VARIANTS, CELL_BREAKPOINTS, CONTROL_SIZES, CONTROL_SURFACES, DELTA_EMPHASES, DELTA_SIZES, DELTA_WEIGHTS, DIALOG_CLOSE_REASONS, DIALOG_LAYOUTS, DIALOG_WIDTHS, FACT_SIZES, FACT_SUB_TONES, GROUP_SIZES, METER_SIZES, METER_TONES, ROW_GAPS, ROW_PADDINGS, ROW_SIZES, SEGMENTED_SIZES, SKELETON_SHAPES, STAT_SIZES, SUB_TONES, TABLE_ROWS, UI_AMOUNT_MASKED, UiActionBar, UiAlert, UiAmount, UiAsync, UiAvatar, UiAvatarLink, UiBackLink, UiBadge, UiButton, UiCard, UiCellSub, UiChoiceChips, UiDelta, UiDialog, UiDonut, UiEmpty, UiExternalLink, UiFact, UiFacts, UiField, UiFieldLeading, UiFieldTrailing, UiFilterChips, UiFlipList, UiGroup, UiGroupCell, UiHighlight, UiInput, UiLineChart, UiListRow, UiMenu, UiMenuItem, UiMenuTrigger, UiMeter, UiNavItem, UiRow, UiRowAction, UiRowItem, UiRowLink, UiRowTile, UiSegmented, UiSelect, UiSkeleton, UiStaleLink, UiStat, UiSwitch, UiTab, UiTabBar, UiTable, UiTd, UiTextarea, UiTh, UiToaster, UiToasts, UiTr, delayedState, formatAmount, injectReducedMotion };
|
|
1363
|
-
export type { AlertVariant, AmountFormatOptions, AmountMasking, AmountNumeric, AsyncAlign, AsyncState, AsyncVariant, AvatarSize, AxisTicks, BackLinkSize, BadgeSize, BadgeVariant, ButtonSize, ButtonVariant, CardPadding, CardSurface, CardVariant, CellBreakpoint, ChartPoint, ChoiceChipOption, ControlSize, ControlSurface, DeltaEmphasis, DeltaSize, DeltaWeight, DialogCloseReason, DialogLayout, DialogWidth, DonutSlice, FactSize, FactSubTone, FilterChipOption, GroupSize, MeterSize, MeterTone, RowGap, RowPadding, RowSize, SegmentedOption, SegmentedSize, SkeletonShape, StatSize, SubTone, TableRow, Toast, TooltipSize, UiControlError };
|
|
1440
|
+
export { ALERT_VARIANTS, AMOUNT_MASKINGS, AMOUNT_NUMERICS, ASYNC_ALIGNS, ASYNC_STATES, ASYNC_VARIANTS, AVATAR_SIZES, BACK_LINK_SIZES, BADGE_SIZES, BADGE_VARIANTS, BUTTON_SIZES, BUTTON_VARIANTS, CARD_PADDINGS, CARD_SURFACES, CARD_VARIANTS, CELL_BREAKPOINTS, CONTROL_SIZES, CONTROL_SURFACES, DELTA_EMPHASES, DELTA_SIZES, DELTA_WEIGHTS, DIALOG_CLOSE_REASONS, DIALOG_LAYOUTS, DIALOG_WIDTHS, FACT_SIZES, FACT_SUB_TONES, GROUP_SIZES, METER_SIZES, METER_TONES, ROW_GAPS, ROW_PADDINGS, ROW_SIZES, SEGMENTED_SIZES, SKELETON_SHAPES, STALE_LINK_SIZES, STAT_SIZES, SUB_TONES, TABLE_ROWS, UI_AMOUNT_MASKED, UiActionBar, UiAlert, UiAmount, UiAsync, UiAvatar, UiAvatarLink, UiBackLink, UiBadge, UiButton, UiCard, UiCellSub, UiChoiceChips, UiDelta, UiDialog, UiDonut, UiEmpty, UiExternalLink, UiFact, UiFacts, UiField, UiFieldLeading, UiFieldTrailing, UiFilterChips, UiFlipItem, UiFlipList, UiGroup, UiGroupCell, UiHighlight, UiInput, UiLineChart, UiListRow, UiMenu, UiMenuItem, UiMenuTrigger, UiMeter, UiNavItem, UiRow, UiRowAction, UiRowItem, UiRowLink, UiRowTile, UiSegmented, UiSelect, UiSkeleton, UiStaleLink, UiStat, UiSwitch, UiTab, UiTabBar, UiTable, UiTd, UiTextarea, UiTh, UiToaster, UiToasts, UiTr, delayedState, formatAmount, holdTransitionsUntilRendered, injectReducedMotion };
|
|
1441
|
+
export type { AlertVariant, AmountFormatOptions, AmountMasking, AmountNumeric, AsyncAlign, AsyncState, AsyncVariant, AvatarSize, AxisTicks, BackLinkSize, BadgeSize, BadgeVariant, ButtonSize, ButtonVariant, CardPadding, CardSurface, CardVariant, CellBreakpoint, ChartPoint, ChoiceChipOption, ControlSize, ControlSurface, DeltaEmphasis, DeltaSize, DeltaWeight, DialogCloseReason, DialogLayout, DialogWidth, DonutSlice, FactSize, FactSubTone, FilterChipOption, GroupSize, MeterSize, MeterTone, RowGap, RowPadding, RowSize, SegmentedOption, SegmentedSize, SkeletonShape, StaleLinkSize, StatSize, SubTone, TableRow, Toast, TooltipSize, UiControlError };
|