@joanroucoux/cairn-ui 0.8.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +105 -0
- package/README.md +2 -0
- package/fesm2022/joanroucoux-cairn-ui-action-bar.mjs +57 -53
- package/fesm2022/joanroucoux-cairn-ui-action-bar.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-alert.mjs +155 -47
- package/fesm2022/joanroucoux-cairn-ui-alert.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-amount.mjs +220 -110
- package/fesm2022/joanroucoux-cairn-ui-amount.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-async.mjs +392 -216
- package/fesm2022/joanroucoux-cairn-ui-async.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-avatar.mjs +145 -68
- package/fesm2022/joanroucoux-cairn-ui-avatar.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-back-link.mjs +87 -47
- package/fesm2022/joanroucoux-cairn-ui-back-link.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-badge.mjs +83 -43
- package/fesm2022/joanroucoux-cairn-ui-badge.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-button.mjs +184 -104
- package/fesm2022/joanroucoux-cairn-ui-button.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-card.mjs +232 -137
- package/fesm2022/joanroucoux-cairn-ui-card.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-choice-chips.mjs +298 -102
- package/fesm2022/joanroucoux-cairn-ui-choice-chips.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-control.mjs +4 -17
- package/fesm2022/joanroucoux-cairn-ui-control.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-delta.mjs +150 -83
- package/fesm2022/joanroucoux-cairn-ui-delta.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-dialog.mjs +508 -471
- package/fesm2022/joanroucoux-cairn-ui-dialog.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-donut.mjs +255 -157
- package/fesm2022/joanroucoux-cairn-ui-donut.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-drawer.mjs +303 -0
- package/fesm2022/joanroucoux-cairn-ui-drawer.mjs.map +1 -0
- package/fesm2022/joanroucoux-cairn-ui-empty.mjs +76 -35
- package/fesm2022/joanroucoux-cairn-ui-empty.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-external-link.mjs +40 -31
- package/fesm2022/joanroucoux-cairn-ui-external-link.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-fact.mjs +188 -79
- package/fesm2022/joanroucoux-cairn-ui-fact.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-field.mjs +309 -173
- package/fesm2022/joanroucoux-cairn-ui-field.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-filter-chips.mjs +165 -87
- package/fesm2022/joanroucoux-cairn-ui-filter-chips.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-group-header.mjs +269 -0
- package/fesm2022/joanroucoux-cairn-ui-group-header.mjs.map +1 -0
- package/fesm2022/joanroucoux-cairn-ui-input.mjs +205 -85
- package/fesm2022/joanroucoux-cairn-ui-input.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-line-chart.mjs +838 -512
- package/fesm2022/joanroucoux-cairn-ui-line-chart.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-menu.mjs +401 -225
- package/fesm2022/joanroucoux-cairn-ui-menu.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-meter.mjs +143 -57
- package/fesm2022/joanroucoux-cairn-ui-meter.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-motion.mjs +367 -399
- package/fesm2022/joanroucoux-cairn-ui-motion.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-nav-item.mjs +73 -44
- package/fesm2022/joanroucoux-cairn-ui-nav-item.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-result-group.mjs +191 -0
- package/fesm2022/joanroucoux-cairn-ui-result-group.mjs.map +1 -0
- package/fesm2022/joanroucoux-cairn-ui-row.mjs +376 -146
- package/fesm2022/joanroucoux-cairn-ui-row.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-segmented.mjs +183 -81
- package/fesm2022/joanroucoux-cairn-ui-segmented.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-select-pill.mjs +233 -0
- package/fesm2022/joanroucoux-cairn-ui-select-pill.mjs.map +1 -0
- package/fesm2022/joanroucoux-cairn-ui-select.mjs +121 -67
- package/fesm2022/joanroucoux-cairn-ui-select.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-skeleton.mjs +129 -51
- package/fesm2022/joanroucoux-cairn-ui-skeleton.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-stale-link.mjs +80 -39
- package/fesm2022/joanroucoux-cairn-ui-stale-link.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-stat.mjs +85 -55
- package/fesm2022/joanroucoux-cairn-ui-stat.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-switch.mjs +48 -35
- package/fesm2022/joanroucoux-cairn-ui-switch.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-tab-bar.mjs +113 -69
- package/fesm2022/joanroucoux-cairn-ui-tab-bar.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-table.mjs +1036 -310
- package/fesm2022/joanroucoux-cairn-ui-table.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui-toast.mjs +240 -127
- package/fesm2022/joanroucoux-cairn-ui-toast.mjs.map +1 -1
- package/fesm2022/joanroucoux-cairn-ui.mjs +0 -4
- package/package.json +17 -1
- package/styles/motion.css +1 -13
- package/styles/tokens.css +35 -64
- package/types/joanroucoux-cairn-ui-action-bar.d.ts +9 -14
- package/types/joanroucoux-cairn-ui-alert.d.ts +29 -15
- package/types/joanroucoux-cairn-ui-amount.d.ts +64 -32
- package/types/joanroucoux-cairn-ui-async.d.ts +85 -38
- package/types/joanroucoux-cairn-ui-avatar.d.ts +34 -22
- package/types/joanroucoux-cairn-ui-back-link.d.ts +20 -15
- package/types/joanroucoux-cairn-ui-badge.d.ts +22 -14
- package/types/joanroucoux-cairn-ui-button.d.ts +36 -18
- package/types/joanroucoux-cairn-ui-card.d.ts +48 -23
- package/types/joanroucoux-cairn-ui-choice-chips.d.ts +91 -35
- package/types/joanroucoux-cairn-ui-control.d.ts +9 -18
- package/types/joanroucoux-cairn-ui-delta.d.ts +46 -24
- package/types/joanroucoux-cairn-ui-dialog.d.ts +124 -57
- package/types/joanroucoux-cairn-ui-donut.d.ts +83 -46
- package/types/joanroucoux-cairn-ui-drawer.d.ts +73 -0
- package/types/joanroucoux-cairn-ui-empty.d.ts +20 -13
- package/types/joanroucoux-cairn-ui-external-link.d.ts +6 -10
- package/types/joanroucoux-cairn-ui-fact.d.ts +49 -25
- package/types/joanroucoux-cairn-ui-field.d.ts +72 -49
- package/types/joanroucoux-cairn-ui-filter-chips.d.ts +35 -20
- package/types/joanroucoux-cairn-ui-group-header.d.ts +58 -0
- package/types/joanroucoux-cairn-ui-input.d.ts +59 -37
- package/types/joanroucoux-cairn-ui-line-chart.d.ts +199 -89
- package/types/joanroucoux-cairn-ui-menu.d.ts +81 -44
- package/types/joanroucoux-cairn-ui-meter.d.ts +44 -22
- package/types/joanroucoux-cairn-ui-motion.d.ts +61 -75
- package/types/joanroucoux-cairn-ui-nav-item.d.ts +15 -13
- package/types/joanroucoux-cairn-ui-result-group.d.ts +52 -0
- package/types/joanroucoux-cairn-ui-row.d.ts +79 -37
- package/types/joanroucoux-cairn-ui-segmented.d.ts +51 -27
- package/types/joanroucoux-cairn-ui-select-pill.d.ts +52 -0
- package/types/joanroucoux-cairn-ui-select.d.ts +28 -18
- package/types/joanroucoux-cairn-ui-skeleton.d.ts +35 -18
- package/types/joanroucoux-cairn-ui-stale-link.d.ts +23 -16
- package/types/joanroucoux-cairn-ui-stat.d.ts +26 -21
- package/types/joanroucoux-cairn-ui-switch.d.ts +7 -11
- package/types/joanroucoux-cairn-ui-tab-bar.d.ts +20 -17
- package/types/joanroucoux-cairn-ui-table.d.ts +251 -89
- package/types/joanroucoux-cairn-ui-toast.d.ts +46 -36
- package/types/joanroucoux-cairn-ui.d.ts +1 -2
- package/fesm2022/joanroucoux-cairn-ui.mjs.map +0 -1
|
@@ -1,139 +1,301 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
3
2
|
/** Breakpoints a secondary column can be held back until. */
|
|
4
|
-
declare const CELL_BREAKPOINTS: readonly ["md", "lg"];
|
|
3
|
+
export declare const CELL_BREAKPOINTS: readonly ["md", "lg"];
|
|
5
4
|
type CellBreakpoint = (typeof CELL_BREAKPOINTS)[number];
|
|
6
5
|
/** Body row heights. */
|
|
7
|
-
declare const TABLE_ROWS: readonly ["48", "52", "60"];
|
|
6
|
+
export declare const TABLE_ROWS: readonly ["48", "52", "60"];
|
|
8
7
|
type TableRow = (typeof TABLE_ROWS)[number];
|
|
9
8
|
/**
|
|
10
|
-
* Styled native table.
|
|
11
|
-
*
|
|
12
|
-
* header and the first row.
|
|
9
|
+
* Styled native table. `row` sets the height of every body row, `rule` draws or drops the hairline
|
|
10
|
+
* under the header, `spaced` leaves a gap between the header and the first row.
|
|
13
11
|
*
|
|
14
12
|
* @example
|
|
15
13
|
* <table uiTable row="60" [rule]="false">
|
|
16
14
|
*/
|
|
17
|
-
declare class UiTable {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
15
|
+
export declare class UiTable {
|
|
16
|
+
readonly row: import("@angular/core").InputSignal<"48" | "52" | "60">;
|
|
17
|
+
readonly rule: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
18
|
+
readonly spaced: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
19
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
20
|
+
constructor();
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiTable, never>;
|
|
22
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiTable, "table[uiTable]", never, {
|
|
23
|
+
"row": {
|
|
24
|
+
"alias": "row";
|
|
25
|
+
"required": false;
|
|
26
|
+
"isSignal": true;
|
|
27
|
+
};
|
|
28
|
+
"rule": {
|
|
29
|
+
"alias": "rule";
|
|
30
|
+
"required": false;
|
|
31
|
+
"isSignal": true;
|
|
32
|
+
};
|
|
33
|
+
"spaced": {
|
|
34
|
+
"alias": "spaced";
|
|
35
|
+
"required": false;
|
|
36
|
+
"isSignal": true;
|
|
37
|
+
};
|
|
38
|
+
}, {}, never, never, true, never>;
|
|
25
39
|
}
|
|
26
|
-
/**
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Body of one group of rows. `collapsed` hides every `tr[uiTr]` but the group row with `hidden`: the rows
|
|
42
|
+
* stay in the DOM, so a `uiFlipList` around the table sees no item added or removed and slides
|
|
43
|
+
* nothing. A plain `tr` without `uiTr` is not hidden.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* <tbody uiGroup [collapsed]="!open()">
|
|
47
|
+
*/
|
|
48
|
+
export declare class UiGroup {
|
|
49
|
+
readonly collapsed: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
50
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiGroup, never>;
|
|
51
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiGroup, "tbody[uiGroup]", never, {
|
|
52
|
+
"collapsed": {
|
|
53
|
+
"alias": "collapsed";
|
|
54
|
+
"required": false;
|
|
55
|
+
"isSignal": true;
|
|
56
|
+
};
|
|
57
|
+
}, {}, never, never, true, never>;
|
|
30
58
|
}
|
|
31
59
|
/**
|
|
32
|
-
* Body or group row.
|
|
33
|
-
*
|
|
34
|
-
* plain name: `<td uiTd primary class="truncate font-medium">`.
|
|
35
|
-
* `group` marks the row that holds a group band: it carries no hover state.
|
|
60
|
+
* Body or group row. `selected` takes the soft fill, `interactive` (a row that opens something) also
|
|
61
|
+
* presses to it. `group` marks the row that holds a group band: it has no hover state.
|
|
36
62
|
*
|
|
37
63
|
* @example
|
|
38
64
|
* <tr uiTr [selected]="open">...
|
|
39
65
|
* <tr uiTr group><td ui-group-cell name="Brokerage">...
|
|
40
66
|
*/
|
|
41
|
-
declare class UiTr {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
67
|
+
export declare class UiTr {
|
|
68
|
+
protected readonly body: UiGroup | null;
|
|
69
|
+
readonly group: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
70
|
+
readonly selected: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
71
|
+
readonly interactive: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
72
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
73
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiTr, never>;
|
|
74
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiTr, "tr[uiTr]", never, {
|
|
75
|
+
"group": {
|
|
76
|
+
"alias": "group";
|
|
77
|
+
"required": false;
|
|
78
|
+
"isSignal": true;
|
|
79
|
+
};
|
|
80
|
+
"selected": {
|
|
81
|
+
"alias": "selected";
|
|
82
|
+
"required": false;
|
|
83
|
+
"isSignal": true;
|
|
84
|
+
};
|
|
85
|
+
"interactive": {
|
|
86
|
+
"alias": "interactive";
|
|
87
|
+
"required": false;
|
|
88
|
+
"isSignal": true;
|
|
89
|
+
};
|
|
90
|
+
}, {}, never, never, true, never>;
|
|
48
91
|
}
|
|
49
92
|
/**
|
|
50
|
-
* Column header
|
|
51
|
-
*
|
|
52
|
-
*
|
|
93
|
+
* Column header. `numeric` right-aligns, `secondary` (or `from`) hides the column below a
|
|
94
|
+
* breakpoint, `primary` makes it the column that absorbs the free width, `tall` is a 40px header,
|
|
95
|
+
* `width` fixes the column width.
|
|
53
96
|
*
|
|
54
97
|
* @example
|
|
55
98
|
* <th uiTh numeric secondary width="108px">Quantity</th>
|
|
56
99
|
*/
|
|
57
|
-
declare class UiTh {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
100
|
+
export declare class UiTh {
|
|
101
|
+
readonly width: import("@angular/core").InputSignal<string | null>;
|
|
102
|
+
readonly numeric: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
103
|
+
readonly primary: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
104
|
+
readonly secondary: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
105
|
+
readonly tall: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
106
|
+
readonly from: import("@angular/core").InputSignal<"md" | "lg" | null>;
|
|
107
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
108
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiTh, never>;
|
|
109
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiTh, "th[uiTh]", never, {
|
|
110
|
+
"width": {
|
|
111
|
+
"alias": "width";
|
|
112
|
+
"required": false;
|
|
113
|
+
"isSignal": true;
|
|
114
|
+
};
|
|
115
|
+
"numeric": {
|
|
116
|
+
"alias": "numeric";
|
|
117
|
+
"required": false;
|
|
118
|
+
"isSignal": true;
|
|
119
|
+
};
|
|
120
|
+
"primary": {
|
|
121
|
+
"alias": "primary";
|
|
122
|
+
"required": false;
|
|
123
|
+
"isSignal": true;
|
|
124
|
+
};
|
|
125
|
+
"secondary": {
|
|
126
|
+
"alias": "secondary";
|
|
127
|
+
"required": false;
|
|
128
|
+
"isSignal": true;
|
|
129
|
+
};
|
|
130
|
+
"tall": {
|
|
131
|
+
"alias": "tall";
|
|
132
|
+
"required": false;
|
|
133
|
+
"isSignal": true;
|
|
134
|
+
};
|
|
135
|
+
"from": {
|
|
136
|
+
"alias": "from";
|
|
137
|
+
"required": false;
|
|
138
|
+
"isSignal": true;
|
|
139
|
+
};
|
|
140
|
+
}, {}, never, never, true, never>;
|
|
67
141
|
}
|
|
68
|
-
/** Body cell. Same inputs as `UiTh`
|
|
69
|
-
declare class UiTd {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
142
|
+
/** Body cell. Same inputs as `UiTh` bar `tall` and `width`, which must be set on both to match. */
|
|
143
|
+
export declare class UiTd {
|
|
144
|
+
readonly numeric: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
145
|
+
readonly primary: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
146
|
+
readonly secondary: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
147
|
+
readonly from: import("@angular/core").InputSignal<"md" | "lg" | null>;
|
|
148
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
149
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiTd, never>;
|
|
150
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiTd, "td[uiTd]", never, {
|
|
151
|
+
"numeric": {
|
|
152
|
+
"alias": "numeric";
|
|
153
|
+
"required": false;
|
|
154
|
+
"isSignal": true;
|
|
155
|
+
};
|
|
156
|
+
"primary": {
|
|
157
|
+
"alias": "primary";
|
|
158
|
+
"required": false;
|
|
159
|
+
"isSignal": true;
|
|
160
|
+
};
|
|
161
|
+
"secondary": {
|
|
162
|
+
"alias": "secondary";
|
|
163
|
+
"required": false;
|
|
164
|
+
"isSignal": true;
|
|
165
|
+
};
|
|
166
|
+
"from": {
|
|
167
|
+
"alias": "from";
|
|
168
|
+
"required": false;
|
|
169
|
+
"isSignal": true;
|
|
170
|
+
};
|
|
171
|
+
}, {}, never, never, true, never>;
|
|
77
172
|
}
|
|
78
173
|
/** Group band sizes. */
|
|
79
|
-
declare const GROUP_SIZES: readonly ["md", "lg"];
|
|
174
|
+
export declare const GROUP_SIZES: readonly ["md", "lg"];
|
|
80
175
|
type GroupSize = (typeof GROUP_SIZES)[number];
|
|
81
176
|
/**
|
|
82
|
-
* The band that opens a group of rows: name
|
|
83
|
-
*
|
|
177
|
+
* The band that opens a group of rows: name, meta beside it, the projected total on the right.
|
|
178
|
+
* Spans the whole row through `colspan`.
|
|
179
|
+
*
|
|
180
|
+
* With `collapsible` the band is a button inside the heading, with a chevron that turns when the
|
|
181
|
+
* group is folded. `expanded` is a model: the page keeps the fold memory and sets `collapsed` on the
|
|
182
|
+
* `tbody[uiGroup]`. `toggleDisabled` keeps the button focusable and announced, but a click changes
|
|
183
|
+
* nothing (a filter holds the group open). `controls` is the id of the group it folds.
|
|
84
184
|
*
|
|
85
185
|
* @example
|
|
86
186
|
* <tr uiTr group><td ui-group-cell colspan="4" name="Brokerage" meta="Savings plan">...total...</td></tr>
|
|
187
|
+
* <tr uiTr group><td ui-group-cell collapsible [(expanded)]="open" controls="brokerage" colspan="4" name="Brokerage">...</td></tr>
|
|
87
188
|
*/
|
|
88
|
-
declare class UiGroupCell {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
189
|
+
export declare class UiGroupCell {
|
|
190
|
+
readonly name: import("@angular/core").InputSignal<string>;
|
|
191
|
+
readonly meta: import("@angular/core").InputSignal<string | undefined>;
|
|
192
|
+
readonly size: import("@angular/core").InputSignal<"md" | "lg">;
|
|
193
|
+
readonly collapsible: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
194
|
+
readonly expanded: import("@angular/core").ModelSignal<boolean>;
|
|
195
|
+
readonly toggleDisabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
196
|
+
readonly controls: import("@angular/core").InputSignal<string | undefined>;
|
|
197
|
+
protected readonly hostClasses: import("@angular/core").Signal<string>;
|
|
198
|
+
protected toggle(): void;
|
|
199
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiGroupCell, never>;
|
|
200
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiGroupCell, "td[ui-group-cell]", never, {
|
|
201
|
+
"name": {
|
|
202
|
+
"alias": "name";
|
|
203
|
+
"required": true;
|
|
204
|
+
"isSignal": true;
|
|
205
|
+
};
|
|
206
|
+
"meta": {
|
|
207
|
+
"alias": "meta";
|
|
208
|
+
"required": false;
|
|
209
|
+
"isSignal": true;
|
|
210
|
+
};
|
|
211
|
+
"size": {
|
|
212
|
+
"alias": "size";
|
|
213
|
+
"required": false;
|
|
214
|
+
"isSignal": true;
|
|
215
|
+
};
|
|
216
|
+
"collapsible": {
|
|
217
|
+
"alias": "collapsible";
|
|
218
|
+
"required": false;
|
|
219
|
+
"isSignal": true;
|
|
220
|
+
};
|
|
221
|
+
"expanded": {
|
|
222
|
+
"alias": "expanded";
|
|
223
|
+
"required": false;
|
|
224
|
+
"isSignal": true;
|
|
225
|
+
};
|
|
226
|
+
"toggleDisabled": {
|
|
227
|
+
"alias": "toggleDisabled";
|
|
228
|
+
"required": false;
|
|
229
|
+
"isSignal": true;
|
|
230
|
+
};
|
|
231
|
+
"controls": {
|
|
232
|
+
"alias": "controls";
|
|
233
|
+
"required": false;
|
|
234
|
+
"isSignal": true;
|
|
235
|
+
};
|
|
236
|
+
}, {
|
|
237
|
+
"expanded": "expandedChange";
|
|
238
|
+
}, never, ["*"], true, never>;
|
|
95
239
|
}
|
|
96
240
|
/**
|
|
97
|
-
* Makes a link or button the way into its row
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
* target: it underlines on hover and takes its own ring. `current` marks the open line.
|
|
241
|
+
* Makes a link or button the way into its row: by default it stretches over the whole row, so the
|
|
242
|
+
* row is one target. With `[stretch]="false"` only the name is the target. `current` marks the open
|
|
243
|
+
* line. Other controls in the row need `uiRowAction` to stay clickable.
|
|
101
244
|
*
|
|
102
245
|
* @example
|
|
103
246
|
* <td uiTd primary><a uiRowLink href="/lines/42">Ferrari</a></td>
|
|
104
247
|
* <td uiTd primary><a uiRowLink [stretch]="false" href="/accounts/3">Brokerage</a></td>
|
|
105
248
|
*/
|
|
106
|
-
declare class UiRowLink {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
249
|
+
export declare class UiRowLink {
|
|
250
|
+
readonly stretch: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
251
|
+
readonly current: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
252
|
+
protected readonly classes: import("@angular/core").Signal<"block max-w-full truncate rounded-control text-left font-medium outline-none after:absolute after:inset-0 after:rounded-control after:content-[\"\"] focus-visible:after:outline-2 focus-visible:after:-outline-offset-2 focus-visible:after:outline-(--ring)" | "block max-w-full truncate rounded-sm text-left font-medium underline-offset-[3px] outline-none hover:underline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-(--ring)">;
|
|
253
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiRowLink, never>;
|
|
254
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiRowLink, "a[uiRowLink], button[uiRowLink]", never, {
|
|
255
|
+
"stretch": {
|
|
256
|
+
"alias": "stretch";
|
|
257
|
+
"required": false;
|
|
258
|
+
"isSignal": true;
|
|
259
|
+
};
|
|
260
|
+
"current": {
|
|
261
|
+
"alias": "current";
|
|
262
|
+
"required": false;
|
|
263
|
+
"isSignal": true;
|
|
264
|
+
};
|
|
265
|
+
}, {}, never, never, true, never>;
|
|
112
266
|
}
|
|
113
|
-
/** A control in another cell of a stretched-link row:
|
|
114
|
-
declare class UiRowAction {
|
|
115
|
-
|
|
116
|
-
|
|
267
|
+
/** A control in another cell of a stretched-link row: keeps it clickable above the row-wide link. */
|
|
268
|
+
export declare class UiRowAction {
|
|
269
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiRowAction, never>;
|
|
270
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiRowAction, "[uiRowAction]", never, {}, {}, never, never, true, never>;
|
|
117
271
|
}
|
|
118
272
|
/** Tones of a subtitle: subtle (default), `--stale` at 500, or the color of the cell. */
|
|
119
|
-
declare const SUB_TONES: readonly ["subtle", "stale", "inherit"];
|
|
273
|
+
export declare const SUB_TONES: readonly ["subtle", "stale", "inherit"];
|
|
120
274
|
type SubTone = (typeof SUB_TONES)[number];
|
|
121
275
|
/**
|
|
122
|
-
* A second line under a cell's main text. `narrow` shows it only under 1024px,
|
|
123
|
-
*
|
|
124
|
-
* so they mask.
|
|
276
|
+
* A second line under a cell's main text. `narrow` shows it only under 1024px, for the data held
|
|
277
|
+
* back by `secondary` columns.
|
|
125
278
|
*
|
|
126
279
|
* @example
|
|
127
280
|
* <span uiCellSub narrow>10 × 421.26 € · cost 388.10 €</span>
|
|
128
281
|
* <span uiCellSub tone="stale">Quote of 24/09</span>
|
|
129
282
|
*/
|
|
130
|
-
declare class UiCellSub {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
283
|
+
export declare class UiCellSub {
|
|
284
|
+
readonly narrow: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
285
|
+
readonly tone: import("@angular/core").InputSignal<"subtle" | "stale" | "inherit">;
|
|
286
|
+
protected readonly classes: import("@angular/core").Signal<string>;
|
|
287
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiCellSub, never>;
|
|
288
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UiCellSub, "[uiCellSub]", never, {
|
|
289
|
+
"narrow": {
|
|
290
|
+
"alias": "narrow";
|
|
291
|
+
"required": false;
|
|
292
|
+
"isSignal": true;
|
|
293
|
+
};
|
|
294
|
+
"tone": {
|
|
295
|
+
"alias": "tone";
|
|
296
|
+
"required": false;
|
|
297
|
+
"isSignal": true;
|
|
298
|
+
};
|
|
299
|
+
}, {}, never, never, true, never>;
|
|
136
300
|
}
|
|
137
|
-
|
|
138
|
-
export { CELL_BREAKPOINTS, GROUP_SIZES, SUB_TONES, TABLE_ROWS, UiCellSub, UiGroup, UiGroupCell, UiRowAction, UiRowLink, UiTable, UiTd, UiTh, UiTr };
|
|
139
|
-
export type { CellBreakpoint, GroupSize, SubTone, TableRow };
|
|
301
|
+
export type { CellBreakpoint, GroupSize, SubTone, TableRow };
|
|
@@ -1,51 +1,61 @@
|
|
|
1
|
-
import * as i0 from
|
|
2
|
-
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
3
2
|
type Toast = {
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
readonly id: number;
|
|
4
|
+
readonly text: string;
|
|
5
|
+
readonly kind: 'success';
|
|
6
|
+
} | {
|
|
7
|
+
readonly id: number;
|
|
8
|
+
readonly text: string;
|
|
9
|
+
readonly kind: 'error';
|
|
10
|
+
readonly closeLabel: string;
|
|
6
11
|
};
|
|
7
12
|
/**
|
|
8
|
-
* One-slot
|
|
13
|
+
* One-slot message queue read by `ui-toaster`: a confirmation that times out, or an error that stays until closed.
|
|
9
14
|
*
|
|
10
15
|
* @example
|
|
11
16
|
* inject(UiToasts).show('Achat enregistré');
|
|
17
|
+
* inject(UiToasts).showError("Échec de l'import");
|
|
12
18
|
*/
|
|
13
|
-
declare class UiToasts {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
export declare class UiToasts {
|
|
20
|
+
private readonly current;
|
|
21
|
+
private sequence;
|
|
22
|
+
readonly toast: import("@angular/core").Signal<Toast | null>;
|
|
23
|
+
show(message: string): void;
|
|
24
|
+
showError(message: string, closeLabel?: string): void;
|
|
25
|
+
dismiss(): void;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiToasts, never>;
|
|
27
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
21
28
|
}
|
|
22
|
-
|
|
23
29
|
/**
|
|
24
|
-
*
|
|
30
|
+
* Message shown by `UiToasts`: one at a time, no action. A confirmation (`show`) is gone after `--toast-duration`;
|
|
31
|
+
* an error (`showError`) stays until its cross is clicked. Centred at the bottom of the content area: from `64rem`
|
|
32
|
+
* between `--sidebar-width` (0 when unset) and the right edge.
|
|
25
33
|
* Place it once in the app shell.
|
|
26
34
|
*
|
|
27
35
|
* @example
|
|
28
36
|
* <ui-toaster />
|
|
29
37
|
*/
|
|
30
|
-
declare class UiToaster {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
38
|
+
export declare class UiToaster {
|
|
39
|
+
protected readonly toasts: UiToasts;
|
|
40
|
+
protected readonly toastClasses = "pointer-events-auto flex min-h-11 min-w-[min(280px,calc(100vw-2rem))] max-w-[min(400px,calc(100vw-2rem))] items-center gap-2.5 rounded-container bg-(--primary) px-4 py-3 text-label font-medium text-(--primary-foreground) shadow-[0_8px_24px_rgb(0_0_0/0.16)] transition-[opacity,translate] duration-(--duration-base) ease-out starting:opacity-0 starting:translate-y-2 motion-reduce:starting:translate-y-0";
|
|
41
|
+
protected readonly closeClasses = "relative grid size-7 flex-none cursor-pointer place-items-center -my-1 -mr-2 rounded-[calc(var(--radius-control)-2px)] text-(--primary-foreground) outline-none hover:bg-[rgb(127_127_127/0.2)] focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-(--primary-foreground) after:absolute after:-inset-2 pointer-fine:after:-inset-1";
|
|
42
|
+
private readonly host;
|
|
43
|
+
private readonly hovered;
|
|
44
|
+
private popoverShown;
|
|
45
|
+
private readonly focused;
|
|
46
|
+
private lastId;
|
|
47
|
+
private raisedId;
|
|
48
|
+
private remaining;
|
|
49
|
+
private startedAt;
|
|
50
|
+
private timer;
|
|
51
|
+
constructor();
|
|
52
|
+
protected setHovered(value: boolean): void;
|
|
53
|
+
protected setFocused(value: boolean): void;
|
|
54
|
+
private raise;
|
|
55
|
+
private resume;
|
|
56
|
+
private pause;
|
|
57
|
+
private stop;
|
|
58
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiToaster, never>;
|
|
59
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UiToaster, "ui-toaster", never, {}, {}, never, never, true, never>;
|
|
48
60
|
}
|
|
49
|
-
|
|
50
|
-
export { UiToaster, UiToasts };
|
|
51
|
-
export type { Toast };
|
|
61
|
+
export type { Toast };
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { };
|
|
1
|
+
export {}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"joanroucoux-cairn-ui.mjs","sources":["../../../projects/ui/src/joanroucoux-cairn-ui.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAA;;AAEG"}
|