@lifecorner/angular-ui-kit 3.8.0 → 3.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/fesm2022/lifecorner-angular-ui-kit-app-shell.mjs +4 -4
- package/fesm2022/lifecorner-angular-ui-kit-app-shell.mjs.map +1 -1
- package/fesm2022/lifecorner-angular-ui-kit-button.mjs +39 -6
- package/fesm2022/lifecorner-angular-ui-kit-button.mjs.map +1 -1
- package/fesm2022/lifecorner-angular-ui-kit-choice-prompt.mjs +2 -1
- package/fesm2022/lifecorner-angular-ui-kit-choice-prompt.mjs.map +1 -1
- package/fesm2022/lifecorner-angular-ui-kit-confirm-dialog.mjs +2 -1
- package/fesm2022/lifecorner-angular-ui-kit-confirm-dialog.mjs.map +1 -1
- package/fesm2022/lifecorner-angular-ui-kit-copy-field.mjs +2 -1
- package/fesm2022/lifecorner-angular-ui-kit-copy-field.mjs.map +1 -1
- package/fesm2022/lifecorner-angular-ui-kit-header.mjs +2 -1
- package/fesm2022/lifecorner-angular-ui-kit-header.mjs.map +1 -1
- package/fesm2022/lifecorner-angular-ui-kit-list.mjs +2 -1
- package/fesm2022/lifecorner-angular-ui-kit-list.mjs.map +1 -1
- package/fesm2022/lifecorner-angular-ui-kit-next-step-card.mjs +2 -1
- package/fesm2022/lifecorner-angular-ui-kit-next-step-card.mjs.map +1 -1
- package/fesm2022/lifecorner-angular-ui-kit-page-header.mjs +2 -2
- package/fesm2022/lifecorner-angular-ui-kit-page-header.mjs.map +1 -1
- package/fesm2022/lifecorner-angular-ui-kit-skeleton.mjs +2 -2
- package/fesm2022/lifecorner-angular-ui-kit-skeleton.mjs.map +1 -1
- package/fesm2022/lifecorner-angular-ui-kit-table.mjs +2 -1
- package/fesm2022/lifecorner-angular-ui-kit-table.mjs.map +1 -1
- package/package.json +1 -1
- package/src/styles/_horizon.scss +46 -12
- package/src/styles/horizon.shell.spec.ts +67 -0
- package/src/styles/horizon.spec.ts +6 -4
- package/types/lifecorner-angular-ui-kit-app-shell.d.ts +15 -4
- package/types/lifecorner-angular-ui-kit-button.d.ts +30 -0
- package/types/lifecorner-angular-ui-kit-page-header.d.ts +6 -1
- package/types/lifecorner-angular-ui-kit-skeleton.d.ts +7 -1
|
@@ -20,8 +20,17 @@ import * as i0 from "@angular/core";
|
|
|
20
20
|
* reserves its height at the end of the page (16 + 72 + 24 px plus the
|
|
21
21
|
* safe-area inset; `--lc-app-shell-bottom-clearance`), so it never covers
|
|
22
22
|
* content. With the horizon, the bar rests on the land instead.
|
|
23
|
-
* - `[shell-footer]` — e.g. a compact `lc-footer`;
|
|
24
|
-
* `horizon`
|
|
23
|
+
* - `[shell-footer]` — e.g. a compact `lc-footer`; after the page, or with
|
|
24
|
+
* `horizon` in a row of its own below the horizon, painted in the land's
|
|
25
|
+
* colour (`--color-land-3`): the land grows by the footer's height, so
|
|
26
|
+
* `--lc-horizon-land` stays the land above the footer and no page overrides
|
|
27
|
+
* it (3.9, LK-12).
|
|
28
|
+
* - `[shell-horizon-figure]` — Edu (or any decorative figure) on the horizon
|
|
29
|
+
* line, left of the sun: `lc-character`, `<img>`, `<picture>` or an element
|
|
30
|
+
* holding an inline `<svg>`. Projected as a direct child of `.lc-horizon`,
|
|
31
|
+
* sized and placed by the horizon (`--lc-horizon-figure-size` / `-gap`).
|
|
32
|
+
* Decorative: the horizon is `aria-hidden`, so give an `<img>` `alt=""` and
|
|
33
|
+
* nothing focusable. Shown only when `horizon` is on (3.9, AS-29).
|
|
25
34
|
*
|
|
26
35
|
* `horizon` closes the page with the "Weite" horizon (`.lc-horizon` from the
|
|
27
36
|
* kit's styles): full-bleed, below the side navigation and the page, filling
|
|
@@ -47,7 +56,9 @@ export declare class AppShellComponent {
|
|
|
47
56
|
/**
|
|
48
57
|
* Close the page with the horizon (`.lc-horizon`): full width, below the
|
|
49
58
|
* side navigation and the page, filling the rest of the screen; the footer
|
|
50
|
-
* and the floating bar rest
|
|
59
|
+
* (in a row of its own, which adds to the land) and the floating bar rest
|
|
60
|
+
* on its land, and `[shell-horizon-figure]` stands on its line.
|
|
61
|
+
* @default false
|
|
51
62
|
*/
|
|
52
63
|
readonly horizon: import("@angular/core").InputSignal<boolean>;
|
|
53
64
|
protected readonly shellClasses: import("@angular/core").Signal<string>;
|
|
@@ -58,7 +69,7 @@ export declare class AppShellComponent {
|
|
|
58
69
|
"required": false;
|
|
59
70
|
"isSignal": true;
|
|
60
71
|
};
|
|
61
|
-
}, {}, never, ["[shell-header]", "[shell-nav]", "*", "[shell-footer]", "[shell-bottom-nav]"], true, never>;
|
|
72
|
+
}, {}, never, ["[shell-header]", "[shell-nav]", "*", "[shell-horizon-figure]", "[shell-footer]", "[shell-bottom-nav]"], true, never>;
|
|
62
73
|
}
|
|
63
74
|
/**
|
|
64
75
|
* A page inside `lc-app-shell`: the `<main>` landmark with the page's content
|
|
@@ -30,6 +30,16 @@ export declare class ButtonComponent {
|
|
|
30
30
|
* @default false
|
|
31
31
|
*/
|
|
32
32
|
readonly inline: import("@angular/core").InputSignal<boolean>;
|
|
33
|
+
/**
|
|
34
|
+
* Drop the inline padding so a `variant="link"` button sits flush with the
|
|
35
|
+
* content edge: the label starts at the edge, and the button keeps its height
|
|
36
|
+
* and a 44 × 44 px minimum target. At the end edge of a row, set the CSS
|
|
37
|
+
* hook `--lc-btn-flush-align: end` (default `start`) on the host or an
|
|
38
|
+
* ancestor: every line of the label then ends at the edge. Ignored on other
|
|
39
|
+
* variants and with `iconOnly` (3.9, AS-26).
|
|
40
|
+
* @default false
|
|
41
|
+
*/
|
|
42
|
+
readonly flush: import("@angular/core").InputSignal<boolean>;
|
|
33
43
|
readonly clicked: import("@angular/core").OutputEmitterRef<void>;
|
|
34
44
|
readonly focused: import("@angular/core").OutputEmitterRef<void>;
|
|
35
45
|
readonly blurred: import("@angular/core").OutputEmitterRef<void>;
|
|
@@ -102,6 +112,11 @@ export declare class ButtonComponent {
|
|
|
102
112
|
"required": false;
|
|
103
113
|
"isSignal": true;
|
|
104
114
|
};
|
|
115
|
+
"flush": {
|
|
116
|
+
"alias": "flush";
|
|
117
|
+
"required": false;
|
|
118
|
+
"isSignal": true;
|
|
119
|
+
};
|
|
105
120
|
}, {
|
|
106
121
|
"clicked": "clicked";
|
|
107
122
|
"focused": "focused";
|
|
@@ -148,6 +163,16 @@ export declare class ButtonLinkComponent {
|
|
|
148
163
|
* size, weight and line-height). Pair with `variant="link"`.
|
|
149
164
|
*/
|
|
150
165
|
readonly inline: import("@angular/core").InputSignal<boolean>;
|
|
166
|
+
/**
|
|
167
|
+
* Drop the inline padding so a `variant="link"` link sits flush with the
|
|
168
|
+
* content edge: the label starts at the edge, and the link keeps its height
|
|
169
|
+
* and a 44 × 44 px minimum target. At the end edge of a row, set the CSS
|
|
170
|
+
* hook `--lc-btn-flush-align: end` (default `start`) on the link or an
|
|
171
|
+
* ancestor: every line of the label then ends at the edge. Ignored on other
|
|
172
|
+
* variants and with `iconOnly` (3.9, AS-26).
|
|
173
|
+
* @default false
|
|
174
|
+
*/
|
|
175
|
+
readonly flush: import("@angular/core").InputSignal<boolean>;
|
|
151
176
|
/** Classes on the anchor; merged with the consumer's own `class`. */
|
|
152
177
|
protected readonly hostClasses: import("@angular/core").Signal<string>;
|
|
153
178
|
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonLinkComponent, never>;
|
|
@@ -177,5 +202,10 @@ export declare class ButtonLinkComponent {
|
|
|
177
202
|
"required": false;
|
|
178
203
|
"isSignal": true;
|
|
179
204
|
};
|
|
205
|
+
"flush": {
|
|
206
|
+
"alias": "flush";
|
|
207
|
+
"required": false;
|
|
208
|
+
"isSignal": true;
|
|
209
|
+
};
|
|
180
210
|
}, {}, never, ["[slot='icon-before']", "*", "[slot='icon-after']"], true, never>;
|
|
181
211
|
}
|
|
@@ -2,6 +2,9 @@ import * as i0 from "@angular/core";
|
|
|
2
2
|
/**
|
|
3
3
|
* Visual size of the page header.
|
|
4
4
|
* - `compact` — dense data-tool pages and section headings (18 px)
|
|
5
|
+
* - `secondary` — a second title under the page's main one, e.g. the other
|
|
6
|
+
* language of a bilingual page (20 px, `--font-size-xl`;
|
|
7
|
+
* the `compact` spacing; 3.9, AS-25)
|
|
5
8
|
* - `default` — standard app pages (24 px)
|
|
6
9
|
* - `comfortable` — landing-page hero feel (30 px)
|
|
7
10
|
* - `title` — the "Weite" page title: 32 px on phones, 40 / 44 / 48 px
|
|
@@ -11,7 +14,7 @@ import * as i0 from "@angular/core";
|
|
|
11
14
|
* - `auth` — the sign-in and registration `<h1>`: 30 px, 34 px from
|
|
12
15
|
* 1024 px (`--font-size-auth-title`)
|
|
13
16
|
*/
|
|
14
|
-
export type PageHeaderSize = 'compact' | 'default' | 'comfortable' | 'title' | 'display' | 'auth';
|
|
17
|
+
export type PageHeaderSize = 'compact' | 'secondary' | 'default' | 'comfortable' | 'title' | 'display' | 'auth';
|
|
15
18
|
/**
|
|
16
19
|
* Page header — top-of-page title block with optional subtitle,
|
|
17
20
|
* breadcrumbs, badge, description and an actions area.
|
|
@@ -88,6 +91,8 @@ export declare class PageHeaderComponent {
|
|
|
88
91
|
/**
|
|
89
92
|
* Visual size of the page header.
|
|
90
93
|
* - `compact` — dense data-tool pages and section headings (18 px)
|
|
94
|
+
* - `secondary` — a second title under the main one, e.g. the other
|
|
95
|
+
* language of a bilingual page (20 px, compact spacing)
|
|
91
96
|
* - `default` — standard app pages (24 px)
|
|
92
97
|
* - `comfortable` — landing-page hero feel (30 px)
|
|
93
98
|
* - `title` — page title on the responsive title scale, 32–48 px
|
|
@@ -9,6 +9,9 @@ export type SkeletonVariant = 'line' | 'circle' | 'rect';
|
|
|
9
9
|
* - Colours from `--color-skeleton` / `--color-skeleton-highlight`, overridable
|
|
10
10
|
* with the `--lc-skeleton-bg` / `--lc-skeleton-highlight` hooks
|
|
11
11
|
* - Custom width, height, and border radius
|
|
12
|
+
* - `--lc-skeleton-height` hook: the height from CSS (a container query, `cqi`),
|
|
13
|
+
* winning over the `height` input; set it on the `lc-skeleton` element (on a
|
|
14
|
+
* wrapper it reaches every skeleton inside)
|
|
12
15
|
* - Composable for building complex loading layouts
|
|
13
16
|
* - Dark mode compatible
|
|
14
17
|
*
|
|
@@ -24,7 +27,10 @@ export declare class SkeletonComponent {
|
|
|
24
27
|
readonly variant: import("@angular/core").InputSignal<SkeletonVariant>;
|
|
25
28
|
/** Width (CSS value). Defaults to '100%' for line/rect, '40px' for circle. */
|
|
26
29
|
readonly width: import("@angular/core").InputSignal<string | undefined>;
|
|
27
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* Height (CSS value). Defaults to '0.875rem' for line, '40px' for circle, '100px' for rect.
|
|
32
|
+
* The `--lc-skeleton-height` custom property, when set, wins over it.
|
|
33
|
+
*/
|
|
28
34
|
readonly height: import("@angular/core").InputSignal<string | undefined>;
|
|
29
35
|
/** Border radius override (CSS value). */
|
|
30
36
|
readonly borderRadius: import("@angular/core").InputSignal<string | undefined>;
|