@sentropic/design-system-angular 0.36.58 → 0.36.59
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/dist/AppShell.d.ts +62 -1
- package/dist/AppShell.d.ts.map +1 -1
- package/dist/AppShell.js +378 -15
- package/dist/AppShell.js.map +1 -1
- package/dist/TimeRangePicker.d.ts +103 -0
- package/dist/TimeRangePicker.d.ts.map +1 -0
- package/dist/TimeRangePicker.js +456 -0
- package/dist/TimeRangePicker.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/styles.css +192 -0
- package/dist/timeRange.d.ts +75 -0
- package/dist/timeRange.d.ts.map +1 -0
- package/dist/timeRange.js +201 -0
- package/dist/timeRange.js.map +1 -0
- package/package.json +1 -1
package/dist/AppShell.d.ts
CHANGED
|
@@ -2,29 +2,90 @@ import * as i0 from "@angular/core";
|
|
|
2
2
|
export type AppShellVariant = "site" | "workspace";
|
|
3
3
|
export type AppShellUtilityMode = "reserve" | "overlay" | "floating";
|
|
4
4
|
export type AppShellUtilitySide = "left" | "right" | "bottom";
|
|
5
|
+
export type AppShellPanelCollapse = "stack" | "accordion";
|
|
5
6
|
export type AppShellProps = {
|
|
6
7
|
variant?: AppShellVariant;
|
|
8
|
+
/** Presence flags for named panels — pair with a projected `[slot=x]` element. */
|
|
9
|
+
topChrome?: unknown;
|
|
10
|
+
primaryRail?: unknown;
|
|
11
|
+
navigationPanel?: unknown;
|
|
12
|
+
contextPanel?: unknown;
|
|
13
|
+
utilityPanel?: unknown;
|
|
14
|
+
bottomPanel?: unknown;
|
|
7
15
|
mainId?: string;
|
|
8
16
|
navigationLabel?: string;
|
|
9
17
|
contextLabel?: string;
|
|
10
18
|
utilityLabel?: string;
|
|
11
19
|
utilityMode?: AppShellUtilityMode;
|
|
12
20
|
utilitySide?: AppShellUtilitySide;
|
|
21
|
+
/**
|
|
22
|
+
* Below the 48rem breakpoint, `"stack"` (default) keeps today's behaviour —
|
|
23
|
+
* panels stack full-width in document order, always expanded. `"accordion"`
|
|
24
|
+
* degrades each present panel to a keyboard-accessible disclosure (collapsed
|
|
25
|
+
* by default) instead of squeezing the main content. Desktop (>48rem)
|
|
26
|
+
* rendering is IDENTICAL in both modes. Panel content is mounted once
|
|
27
|
+
* regardless of mode/breakpoint; collapsing hides/sizes the region via CSS
|
|
28
|
+
* rather than destroying it, so a stateful widget projected into a panel
|
|
29
|
+
* never remounts.
|
|
30
|
+
*/
|
|
31
|
+
panelCollapse?: AppShellPanelCollapse;
|
|
32
|
+
/** Disclosure label for `primaryRail` when `panelCollapse="accordion"`. */
|
|
33
|
+
primaryRailLabel?: string;
|
|
34
|
+
/** Disclosure label for `navigationPanel` when `panelCollapse="accordion"`. Defaults to `navigationLabel`. */
|
|
35
|
+
navigationPanelLabel?: string;
|
|
36
|
+
/** Disclosure label for `contextPanel` when `panelCollapse="accordion"`. Defaults to `contextLabel`. */
|
|
37
|
+
contextPanelLabel?: string;
|
|
38
|
+
/** Disclosure label for `utilityPanel` when `panelCollapse="accordion"`. Defaults to `utilityLabel`. */
|
|
39
|
+
utilityPanelLabel?: string;
|
|
13
40
|
class?: string;
|
|
14
41
|
};
|
|
15
42
|
export declare class AppShell {
|
|
16
43
|
static readonly stComponentName = "AppShell";
|
|
17
44
|
readonly componentName = "AppShell";
|
|
18
45
|
variant: AppShellVariant;
|
|
46
|
+
topChrome?: unknown;
|
|
47
|
+
primaryRail?: unknown;
|
|
48
|
+
navigationPanel?: unknown;
|
|
49
|
+
contextPanel?: unknown;
|
|
50
|
+
utilityPanel?: unknown;
|
|
51
|
+
bottomPanel?: unknown;
|
|
19
52
|
mainId: string;
|
|
20
53
|
navigationLabel: string;
|
|
21
54
|
contextLabel: string;
|
|
22
55
|
utilityLabel: string;
|
|
23
56
|
utilityMode: AppShellUtilityMode;
|
|
24
57
|
utilitySide: AppShellUtilitySide;
|
|
58
|
+
panelCollapse: AppShellPanelCollapse;
|
|
59
|
+
primaryRailLabel: string;
|
|
60
|
+
navigationPanelLabel?: string;
|
|
61
|
+
contextPanelLabel?: string;
|
|
62
|
+
utilityPanelLabel?: string;
|
|
25
63
|
classInput?: string;
|
|
64
|
+
primaryRailPanelOpen: boolean;
|
|
65
|
+
navigationPanelOpen: boolean;
|
|
66
|
+
contextPanelOpen: boolean;
|
|
67
|
+
utilityPanelOpen: boolean;
|
|
68
|
+
readonly primaryRailTriggerId = "st-appShell-primaryRail-trigger";
|
|
69
|
+
readonly primaryRailRegionId = "st-appShell-primaryRail-region";
|
|
70
|
+
readonly navigationPanelTriggerId = "st-appShell-navigationPanel-trigger";
|
|
71
|
+
readonly navigationPanelRegionId = "st-appShell-navigationPanel-region";
|
|
72
|
+
readonly contextPanelTriggerId = "st-appShell-contextPanel-trigger";
|
|
73
|
+
readonly contextPanelRegionId = "st-appShell-contextPanel-region";
|
|
74
|
+
readonly utilityPanelTriggerId = "st-appShell-utilityPanel-trigger";
|
|
75
|
+
readonly utilityPanelRegionId = "st-appShell-utilityPanel-region";
|
|
26
76
|
get hostClass(): string;
|
|
77
|
+
get navigationPanelLabelResolved(): string;
|
|
78
|
+
get contextPanelLabelResolved(): string;
|
|
79
|
+
get utilityPanelLabelResolved(): string;
|
|
80
|
+
get primaryRailRegionCollapsed(): boolean;
|
|
81
|
+
get navigationPanelRegionCollapsed(): boolean;
|
|
82
|
+
get contextPanelRegionCollapsed(): boolean;
|
|
83
|
+
get utilityPanelRegionCollapsed(): boolean;
|
|
84
|
+
togglePrimaryRailPanel(): void;
|
|
85
|
+
toggleNavigationPanel(): void;
|
|
86
|
+
toggleContextPanel(): void;
|
|
87
|
+
toggleUtilityPanel(): void;
|
|
27
88
|
static ɵfac: i0.ɵɵFactoryDeclaration<AppShell, never>;
|
|
28
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AppShell, "st-app-shell", never, { "variant": { "alias": "variant"; "required": false; }; "mainId": { "alias": "mainId"; "required": false; }; "navigationLabel": { "alias": "navigationLabel"; "required": false; }; "contextLabel": { "alias": "contextLabel"; "required": false; }; "utilityLabel": { "alias": "utilityLabel"; "required": false; }; "utilityMode": { "alias": "utilityMode"; "required": false; }; "utilitySide": { "alias": "utilitySide"; "required": false; }; "classInput": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
89
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AppShell, "st-app-shell", never, { "variant": { "alias": "variant"; "required": false; }; "topChrome": { "alias": "topChrome"; "required": false; }; "primaryRail": { "alias": "primaryRail"; "required": false; }; "navigationPanel": { "alias": "navigationPanel"; "required": false; }; "contextPanel": { "alias": "contextPanel"; "required": false; }; "utilityPanel": { "alias": "utilityPanel"; "required": false; }; "bottomPanel": { "alias": "bottomPanel"; "required": false; }; "mainId": { "alias": "mainId"; "required": false; }; "navigationLabel": { "alias": "navigationLabel"; "required": false; }; "contextLabel": { "alias": "contextLabel"; "required": false; }; "utilityLabel": { "alias": "utilityLabel"; "required": false; }; "utilityMode": { "alias": "utilityMode"; "required": false; }; "utilitySide": { "alias": "utilitySide"; "required": false; }; "panelCollapse": { "alias": "panelCollapse"; "required": false; }; "primaryRailLabel": { "alias": "primaryRailLabel"; "required": false; }; "navigationPanelLabel": { "alias": "navigationPanelLabel"; "required": false; }; "contextPanelLabel": { "alias": "contextPanelLabel"; "required": false; }; "utilityPanelLabel": { "alias": "utilityPanelLabel"; "required": false; }; "classInput": { "alias": "class"; "required": false; }; }, {}, never, ["*", "[slot=topChrome]", "[slot=primaryRail]", "[slot=navigationPanel]", "[slot=main]", "[slot=contextPanel]", "[slot=utilityPanel]", "[slot=bottomPanel]"], true, never>;
|
|
29
90
|
}
|
|
30
91
|
//# sourceMappingURL=AppShell.d.ts.map
|
package/dist/AppShell.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../src/AppShell.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../src/AppShell.ts"],"names":[],"mappings":"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"}
|
package/dist/AppShell.js
CHANGED
|
@@ -1,39 +1,392 @@
|
|
|
1
1
|
import { Component, Input as NgInput } from "@angular/core";
|
|
2
|
+
import { classNames } from "./classNames.js";
|
|
3
|
+
import { Icon } from "./Icon.js";
|
|
2
4
|
import * as i0 from "@angular/core";
|
|
3
5
|
export class AppShell {
|
|
4
6
|
static stComponentName = "AppShell";
|
|
5
7
|
componentName = "AppShell";
|
|
6
8
|
variant = "workspace";
|
|
9
|
+
topChrome;
|
|
10
|
+
primaryRail;
|
|
11
|
+
navigationPanel;
|
|
12
|
+
contextPanel;
|
|
13
|
+
utilityPanel;
|
|
14
|
+
bottomPanel;
|
|
7
15
|
mainId = "main";
|
|
8
16
|
navigationLabel = "Workspace navigation";
|
|
9
17
|
contextLabel = "Context panel";
|
|
10
18
|
utilityLabel = "Utility panel";
|
|
11
19
|
utilityMode = "reserve";
|
|
12
20
|
utilitySide = "right";
|
|
21
|
+
panelCollapse = "stack";
|
|
22
|
+
primaryRailLabel = "Primary rail";
|
|
23
|
+
navigationPanelLabel;
|
|
24
|
+
contextPanelLabel;
|
|
25
|
+
utilityPanelLabel;
|
|
13
26
|
classInput;
|
|
27
|
+
// Uncontrolled per-panel disclosure state (v1) — each accordion panel
|
|
28
|
+
// starts collapsed. Desktop rendering never reads these (CSS scopes the
|
|
29
|
+
// collapse to `@media (max-width: 48rem)`), so they have zero effect above
|
|
30
|
+
// the breakpoint.
|
|
31
|
+
primaryRailPanelOpen = false;
|
|
32
|
+
navigationPanelOpen = false;
|
|
33
|
+
contextPanelOpen = false;
|
|
34
|
+
utilityPanelOpen = false;
|
|
35
|
+
// Static, framework-wide-matching disclosure ids (parity with the Svelte
|
|
36
|
+
// reference — one AppShell instance per page is the expected usage).
|
|
37
|
+
primaryRailTriggerId = "st-appShell-primaryRail-trigger";
|
|
38
|
+
primaryRailRegionId = "st-appShell-primaryRail-region";
|
|
39
|
+
navigationPanelTriggerId = "st-appShell-navigationPanel-trigger";
|
|
40
|
+
navigationPanelRegionId = "st-appShell-navigationPanel-region";
|
|
41
|
+
contextPanelTriggerId = "st-appShell-contextPanel-trigger";
|
|
42
|
+
contextPanelRegionId = "st-appShell-contextPanel-region";
|
|
43
|
+
utilityPanelTriggerId = "st-appShell-utilityPanel-trigger";
|
|
44
|
+
utilityPanelRegionId = "st-appShell-utilityPanel-region";
|
|
14
45
|
get hostClass() {
|
|
15
|
-
return
|
|
46
|
+
return classNames("st-appShell", `st-appShell--${this.variant}`, this.classInput);
|
|
47
|
+
}
|
|
48
|
+
// Resolved disclosure labels: default to the existing aria-label inputs so
|
|
49
|
+
// a consumer who already customized navigationLabel/contextLabel/utilityLabel
|
|
50
|
+
// doesn't need to duplicate the translation for the accordion trigger text.
|
|
51
|
+
get navigationPanelLabelResolved() {
|
|
52
|
+
return this.navigationPanelLabel ?? this.navigationLabel;
|
|
53
|
+
}
|
|
54
|
+
get contextPanelLabelResolved() {
|
|
55
|
+
return this.contextPanelLabel ?? this.contextLabel;
|
|
56
|
+
}
|
|
57
|
+
get utilityPanelLabelResolved() {
|
|
58
|
+
return this.utilityPanelLabel ?? this.utilityLabel;
|
|
59
|
+
}
|
|
60
|
+
get primaryRailRegionCollapsed() {
|
|
61
|
+
return this.panelCollapse === "accordion" && !this.primaryRailPanelOpen;
|
|
62
|
+
}
|
|
63
|
+
get navigationPanelRegionCollapsed() {
|
|
64
|
+
return this.panelCollapse === "accordion" && !this.navigationPanelOpen;
|
|
65
|
+
}
|
|
66
|
+
get contextPanelRegionCollapsed() {
|
|
67
|
+
return this.panelCollapse === "accordion" && !this.contextPanelOpen;
|
|
68
|
+
}
|
|
69
|
+
get utilityPanelRegionCollapsed() {
|
|
70
|
+
return this.panelCollapse === "accordion" && !this.utilityPanelOpen;
|
|
71
|
+
}
|
|
72
|
+
togglePrimaryRailPanel() {
|
|
73
|
+
this.primaryRailPanelOpen = !this.primaryRailPanelOpen;
|
|
74
|
+
}
|
|
75
|
+
toggleNavigationPanel() {
|
|
76
|
+
this.navigationPanelOpen = !this.navigationPanelOpen;
|
|
77
|
+
}
|
|
78
|
+
toggleContextPanel() {
|
|
79
|
+
this.contextPanelOpen = !this.contextPanelOpen;
|
|
80
|
+
}
|
|
81
|
+
toggleUtilityPanel() {
|
|
82
|
+
this.utilityPanelOpen = !this.utilityPanelOpen;
|
|
16
83
|
}
|
|
17
84
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AppShell, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
19
|
-
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
85
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: AppShell, isStandalone: true, selector: "st-app-shell", inputs: { variant: "variant", topChrome: "topChrome", primaryRail: "primaryRail", navigationPanel: "navigationPanel", contextPanel: "contextPanel", utilityPanel: "utilityPanel", bottomPanel: "bottomPanel", mainId: "mainId", navigationLabel: "navigationLabel", contextLabel: "contextLabel", utilityLabel: "utilityLabel", utilityMode: "utilityMode", utilitySide: "utilitySide", panelCollapse: "panelCollapse", primaryRailLabel: "primaryRailLabel", navigationPanelLabel: "navigationPanelLabel", contextPanelLabel: "contextPanelLabel", utilityPanelLabel: "utilityPanelLabel", classInput: ["class", "classInput"] }, ngImport: i0, template: `
|
|
86
|
+
@if (variant === "site") {
|
|
87
|
+
<div [attr.data-st-component]="componentName" data-st-app-shell-variant="site" [class]="hostClass">
|
|
88
|
+
<ng-content></ng-content>
|
|
89
|
+
</div>
|
|
90
|
+
} @else {
|
|
91
|
+
<div
|
|
92
|
+
[attr.data-st-component]="componentName"
|
|
93
|
+
data-st-app-shell-variant="workspace"
|
|
94
|
+
[attr.data-utility-mode]="utilityMode"
|
|
95
|
+
[attr.data-utility-side]="utilitySide"
|
|
96
|
+
[attr.data-panel-collapse]="panelCollapse"
|
|
97
|
+
[class]="hostClass"
|
|
98
|
+
>
|
|
99
|
+
@if (topChrome) {
|
|
100
|
+
<div class="st-appShell__topChrome">
|
|
101
|
+
<ng-content select="[slot=topChrome]"></ng-content>
|
|
102
|
+
</div>
|
|
103
|
+
}
|
|
104
|
+
<div class="st-appShell__body">
|
|
105
|
+
@if (primaryRail) {
|
|
106
|
+
<aside class="st-appShell__primaryRail" [attr.aria-label]="primaryRailLabel">
|
|
107
|
+
@if (panelCollapse === "accordion") {
|
|
108
|
+
<button
|
|
109
|
+
type="button"
|
|
110
|
+
class="st-appShell__panelDisclosure"
|
|
111
|
+
[attr.aria-expanded]="primaryRailPanelOpen"
|
|
112
|
+
[attr.aria-controls]="primaryRailRegionId"
|
|
113
|
+
[id]="primaryRailTriggerId"
|
|
114
|
+
(click)="togglePrimaryRailPanel()"
|
|
115
|
+
>
|
|
116
|
+
<span class="st-appShell__panelDisclosureLabel">{{ primaryRailLabel }}</span>
|
|
117
|
+
<span class="st-appShell__panelDisclosureIcon" [class.st-appShell__panelDisclosureIcon--expanded]="primaryRailPanelOpen">
|
|
118
|
+
<st-icon name="chevron-down" [size]="16"></st-icon>
|
|
119
|
+
</span>
|
|
120
|
+
</button>
|
|
121
|
+
}
|
|
122
|
+
<div
|
|
123
|
+
class="st-appShell__panelRegion"
|
|
124
|
+
[class.st-appShell__panelRegion--collapsed]="primaryRailRegionCollapsed"
|
|
125
|
+
[attr.id]="panelCollapse === 'accordion' ? primaryRailRegionId : null"
|
|
126
|
+
[attr.role]="panelCollapse === 'accordion' ? 'region' : null"
|
|
127
|
+
[attr.aria-labelledby]="panelCollapse === 'accordion' ? primaryRailTriggerId : null"
|
|
128
|
+
>
|
|
129
|
+
<ng-content select="[slot=primaryRail]"></ng-content>
|
|
130
|
+
</div>
|
|
131
|
+
</aside>
|
|
132
|
+
}
|
|
133
|
+
@if (navigationPanel) {
|
|
134
|
+
<aside class="st-appShell__navigationPanel" [attr.aria-label]="navigationLabel">
|
|
135
|
+
@if (panelCollapse === "accordion") {
|
|
136
|
+
<button
|
|
137
|
+
type="button"
|
|
138
|
+
class="st-appShell__panelDisclosure"
|
|
139
|
+
[attr.aria-expanded]="navigationPanelOpen"
|
|
140
|
+
[attr.aria-controls]="navigationPanelRegionId"
|
|
141
|
+
[id]="navigationPanelTriggerId"
|
|
142
|
+
(click)="toggleNavigationPanel()"
|
|
143
|
+
>
|
|
144
|
+
<span class="st-appShell__panelDisclosureLabel">{{ navigationPanelLabelResolved }}</span>
|
|
145
|
+
<span class="st-appShell__panelDisclosureIcon" [class.st-appShell__panelDisclosureIcon--expanded]="navigationPanelOpen">
|
|
146
|
+
<st-icon name="chevron-down" [size]="16"></st-icon>
|
|
147
|
+
</span>
|
|
148
|
+
</button>
|
|
149
|
+
}
|
|
150
|
+
<div
|
|
151
|
+
class="st-appShell__panelRegion"
|
|
152
|
+
[class.st-appShell__panelRegion--collapsed]="navigationPanelRegionCollapsed"
|
|
153
|
+
[attr.id]="panelCollapse === 'accordion' ? navigationPanelRegionId : null"
|
|
154
|
+
[attr.role]="panelCollapse === 'accordion' ? 'region' : null"
|
|
155
|
+
[attr.aria-labelledby]="panelCollapse === 'accordion' ? navigationPanelTriggerId : null"
|
|
156
|
+
>
|
|
157
|
+
<ng-content select="[slot=navigationPanel]"></ng-content>
|
|
158
|
+
</div>
|
|
159
|
+
</aside>
|
|
160
|
+
}
|
|
161
|
+
<main class="st-appShell__main" [id]="mainId">
|
|
162
|
+
<ng-content select="[slot=main]"></ng-content>
|
|
163
|
+
</main>
|
|
164
|
+
@if (contextPanel) {
|
|
165
|
+
<aside class="st-appShell__contextPanel" [attr.aria-label]="contextLabel">
|
|
166
|
+
@if (panelCollapse === "accordion") {
|
|
167
|
+
<button
|
|
168
|
+
type="button"
|
|
169
|
+
class="st-appShell__panelDisclosure"
|
|
170
|
+
[attr.aria-expanded]="contextPanelOpen"
|
|
171
|
+
[attr.aria-controls]="contextPanelRegionId"
|
|
172
|
+
[id]="contextPanelTriggerId"
|
|
173
|
+
(click)="toggleContextPanel()"
|
|
174
|
+
>
|
|
175
|
+
<span class="st-appShell__panelDisclosureLabel">{{ contextPanelLabelResolved }}</span>
|
|
176
|
+
<span class="st-appShell__panelDisclosureIcon" [class.st-appShell__panelDisclosureIcon--expanded]="contextPanelOpen">
|
|
177
|
+
<st-icon name="chevron-down" [size]="16"></st-icon>
|
|
178
|
+
</span>
|
|
179
|
+
</button>
|
|
180
|
+
}
|
|
181
|
+
<div
|
|
182
|
+
class="st-appShell__panelRegion"
|
|
183
|
+
[class.st-appShell__panelRegion--collapsed]="contextPanelRegionCollapsed"
|
|
184
|
+
[attr.id]="panelCollapse === 'accordion' ? contextPanelRegionId : null"
|
|
185
|
+
[attr.role]="panelCollapse === 'accordion' ? 'region' : null"
|
|
186
|
+
[attr.aria-labelledby]="panelCollapse === 'accordion' ? contextPanelTriggerId : null"
|
|
187
|
+
>
|
|
188
|
+
<ng-content select="[slot=contextPanel]"></ng-content>
|
|
189
|
+
</div>
|
|
190
|
+
</aside>
|
|
191
|
+
}
|
|
192
|
+
@if (utilityPanel) {
|
|
193
|
+
<aside class="st-appShell__utilityPanel" [attr.aria-label]="utilityLabel">
|
|
194
|
+
@if (panelCollapse === "accordion") {
|
|
195
|
+
<button
|
|
196
|
+
type="button"
|
|
197
|
+
class="st-appShell__panelDisclosure"
|
|
198
|
+
[attr.aria-expanded]="utilityPanelOpen"
|
|
199
|
+
[attr.aria-controls]="utilityPanelRegionId"
|
|
200
|
+
[id]="utilityPanelTriggerId"
|
|
201
|
+
(click)="toggleUtilityPanel()"
|
|
202
|
+
>
|
|
203
|
+
<span class="st-appShell__panelDisclosureLabel">{{ utilityPanelLabelResolved }}</span>
|
|
204
|
+
<span class="st-appShell__panelDisclosureIcon" [class.st-appShell__panelDisclosureIcon--expanded]="utilityPanelOpen">
|
|
205
|
+
<st-icon name="chevron-down" [size]="16"></st-icon>
|
|
206
|
+
</span>
|
|
207
|
+
</button>
|
|
208
|
+
}
|
|
209
|
+
<div
|
|
210
|
+
class="st-appShell__panelRegion"
|
|
211
|
+
[class.st-appShell__panelRegion--collapsed]="utilityPanelRegionCollapsed"
|
|
212
|
+
[attr.id]="panelCollapse === 'accordion' ? utilityPanelRegionId : null"
|
|
213
|
+
[attr.role]="panelCollapse === 'accordion' ? 'region' : null"
|
|
214
|
+
[attr.aria-labelledby]="panelCollapse === 'accordion' ? utilityPanelTriggerId : null"
|
|
215
|
+
>
|
|
216
|
+
<ng-content select="[slot=utilityPanel]"></ng-content>
|
|
217
|
+
</div>
|
|
218
|
+
</aside>
|
|
219
|
+
}
|
|
220
|
+
</div>
|
|
221
|
+
@if (bottomPanel) {
|
|
222
|
+
<section class="st-appShell__bottomPanel" aria-label="Workspace tools">
|
|
223
|
+
<ng-content select="[slot=bottomPanel]"></ng-content>
|
|
224
|
+
</section>
|
|
225
|
+
}
|
|
226
|
+
</div>
|
|
227
|
+
}
|
|
228
|
+
`, isInline: true, styles: [":host { display: contents; }"], dependencies: [{ kind: "component", type: Icon, selector: "st-icon", inputs: ["name", "size", "strokeWidth", "title", "class"] }] });
|
|
23
229
|
}
|
|
24
230
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AppShell, decorators: [{
|
|
25
231
|
type: Component,
|
|
26
|
-
args: [{
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
232
|
+
args: [{ selector: "st-app-shell", standalone: true, imports: [Icon], template: `
|
|
233
|
+
@if (variant === "site") {
|
|
234
|
+
<div [attr.data-st-component]="componentName" data-st-app-shell-variant="site" [class]="hostClass">
|
|
235
|
+
<ng-content></ng-content>
|
|
236
|
+
</div>
|
|
237
|
+
} @else {
|
|
238
|
+
<div
|
|
239
|
+
[attr.data-st-component]="componentName"
|
|
240
|
+
data-st-app-shell-variant="workspace"
|
|
241
|
+
[attr.data-utility-mode]="utilityMode"
|
|
242
|
+
[attr.data-utility-side]="utilitySide"
|
|
243
|
+
[attr.data-panel-collapse]="panelCollapse"
|
|
244
|
+
[class]="hostClass"
|
|
245
|
+
>
|
|
246
|
+
@if (topChrome) {
|
|
247
|
+
<div class="st-appShell__topChrome">
|
|
248
|
+
<ng-content select="[slot=topChrome]"></ng-content>
|
|
249
|
+
</div>
|
|
250
|
+
}
|
|
251
|
+
<div class="st-appShell__body">
|
|
252
|
+
@if (primaryRail) {
|
|
253
|
+
<aside class="st-appShell__primaryRail" [attr.aria-label]="primaryRailLabel">
|
|
254
|
+
@if (panelCollapse === "accordion") {
|
|
255
|
+
<button
|
|
256
|
+
type="button"
|
|
257
|
+
class="st-appShell__panelDisclosure"
|
|
258
|
+
[attr.aria-expanded]="primaryRailPanelOpen"
|
|
259
|
+
[attr.aria-controls]="primaryRailRegionId"
|
|
260
|
+
[id]="primaryRailTriggerId"
|
|
261
|
+
(click)="togglePrimaryRailPanel()"
|
|
262
|
+
>
|
|
263
|
+
<span class="st-appShell__panelDisclosureLabel">{{ primaryRailLabel }}</span>
|
|
264
|
+
<span class="st-appShell__panelDisclosureIcon" [class.st-appShell__panelDisclosureIcon--expanded]="primaryRailPanelOpen">
|
|
265
|
+
<st-icon name="chevron-down" [size]="16"></st-icon>
|
|
266
|
+
</span>
|
|
267
|
+
</button>
|
|
268
|
+
}
|
|
269
|
+
<div
|
|
270
|
+
class="st-appShell__panelRegion"
|
|
271
|
+
[class.st-appShell__panelRegion--collapsed]="primaryRailRegionCollapsed"
|
|
272
|
+
[attr.id]="panelCollapse === 'accordion' ? primaryRailRegionId : null"
|
|
273
|
+
[attr.role]="panelCollapse === 'accordion' ? 'region' : null"
|
|
274
|
+
[attr.aria-labelledby]="panelCollapse === 'accordion' ? primaryRailTriggerId : null"
|
|
275
|
+
>
|
|
276
|
+
<ng-content select="[slot=primaryRail]"></ng-content>
|
|
277
|
+
</div>
|
|
278
|
+
</aside>
|
|
279
|
+
}
|
|
280
|
+
@if (navigationPanel) {
|
|
281
|
+
<aside class="st-appShell__navigationPanel" [attr.aria-label]="navigationLabel">
|
|
282
|
+
@if (panelCollapse === "accordion") {
|
|
283
|
+
<button
|
|
284
|
+
type="button"
|
|
285
|
+
class="st-appShell__panelDisclosure"
|
|
286
|
+
[attr.aria-expanded]="navigationPanelOpen"
|
|
287
|
+
[attr.aria-controls]="navigationPanelRegionId"
|
|
288
|
+
[id]="navigationPanelTriggerId"
|
|
289
|
+
(click)="toggleNavigationPanel()"
|
|
290
|
+
>
|
|
291
|
+
<span class="st-appShell__panelDisclosureLabel">{{ navigationPanelLabelResolved }}</span>
|
|
292
|
+
<span class="st-appShell__panelDisclosureIcon" [class.st-appShell__panelDisclosureIcon--expanded]="navigationPanelOpen">
|
|
293
|
+
<st-icon name="chevron-down" [size]="16"></st-icon>
|
|
294
|
+
</span>
|
|
295
|
+
</button>
|
|
296
|
+
}
|
|
297
|
+
<div
|
|
298
|
+
class="st-appShell__panelRegion"
|
|
299
|
+
[class.st-appShell__panelRegion--collapsed]="navigationPanelRegionCollapsed"
|
|
300
|
+
[attr.id]="panelCollapse === 'accordion' ? navigationPanelRegionId : null"
|
|
301
|
+
[attr.role]="panelCollapse === 'accordion' ? 'region' : null"
|
|
302
|
+
[attr.aria-labelledby]="panelCollapse === 'accordion' ? navigationPanelTriggerId : null"
|
|
303
|
+
>
|
|
304
|
+
<ng-content select="[slot=navigationPanel]"></ng-content>
|
|
305
|
+
</div>
|
|
306
|
+
</aside>
|
|
307
|
+
}
|
|
308
|
+
<main class="st-appShell__main" [id]="mainId">
|
|
309
|
+
<ng-content select="[slot=main]"></ng-content>
|
|
310
|
+
</main>
|
|
311
|
+
@if (contextPanel) {
|
|
312
|
+
<aside class="st-appShell__contextPanel" [attr.aria-label]="contextLabel">
|
|
313
|
+
@if (panelCollapse === "accordion") {
|
|
314
|
+
<button
|
|
315
|
+
type="button"
|
|
316
|
+
class="st-appShell__panelDisclosure"
|
|
317
|
+
[attr.aria-expanded]="contextPanelOpen"
|
|
318
|
+
[attr.aria-controls]="contextPanelRegionId"
|
|
319
|
+
[id]="contextPanelTriggerId"
|
|
320
|
+
(click)="toggleContextPanel()"
|
|
321
|
+
>
|
|
322
|
+
<span class="st-appShell__panelDisclosureLabel">{{ contextPanelLabelResolved }}</span>
|
|
323
|
+
<span class="st-appShell__panelDisclosureIcon" [class.st-appShell__panelDisclosureIcon--expanded]="contextPanelOpen">
|
|
324
|
+
<st-icon name="chevron-down" [size]="16"></st-icon>
|
|
325
|
+
</span>
|
|
326
|
+
</button>
|
|
327
|
+
}
|
|
328
|
+
<div
|
|
329
|
+
class="st-appShell__panelRegion"
|
|
330
|
+
[class.st-appShell__panelRegion--collapsed]="contextPanelRegionCollapsed"
|
|
331
|
+
[attr.id]="panelCollapse === 'accordion' ? contextPanelRegionId : null"
|
|
332
|
+
[attr.role]="panelCollapse === 'accordion' ? 'region' : null"
|
|
333
|
+
[attr.aria-labelledby]="panelCollapse === 'accordion' ? contextPanelTriggerId : null"
|
|
334
|
+
>
|
|
335
|
+
<ng-content select="[slot=contextPanel]"></ng-content>
|
|
336
|
+
</div>
|
|
337
|
+
</aside>
|
|
338
|
+
}
|
|
339
|
+
@if (utilityPanel) {
|
|
340
|
+
<aside class="st-appShell__utilityPanel" [attr.aria-label]="utilityLabel">
|
|
341
|
+
@if (panelCollapse === "accordion") {
|
|
342
|
+
<button
|
|
343
|
+
type="button"
|
|
344
|
+
class="st-appShell__panelDisclosure"
|
|
345
|
+
[attr.aria-expanded]="utilityPanelOpen"
|
|
346
|
+
[attr.aria-controls]="utilityPanelRegionId"
|
|
347
|
+
[id]="utilityPanelTriggerId"
|
|
348
|
+
(click)="toggleUtilityPanel()"
|
|
349
|
+
>
|
|
350
|
+
<span class="st-appShell__panelDisclosureLabel">{{ utilityPanelLabelResolved }}</span>
|
|
351
|
+
<span class="st-appShell__panelDisclosureIcon" [class.st-appShell__panelDisclosureIcon--expanded]="utilityPanelOpen">
|
|
352
|
+
<st-icon name="chevron-down" [size]="16"></st-icon>
|
|
353
|
+
</span>
|
|
354
|
+
</button>
|
|
355
|
+
}
|
|
356
|
+
<div
|
|
357
|
+
class="st-appShell__panelRegion"
|
|
358
|
+
[class.st-appShell__panelRegion--collapsed]="utilityPanelRegionCollapsed"
|
|
359
|
+
[attr.id]="panelCollapse === 'accordion' ? utilityPanelRegionId : null"
|
|
360
|
+
[attr.role]="panelCollapse === 'accordion' ? 'region' : null"
|
|
361
|
+
[attr.aria-labelledby]="panelCollapse === 'accordion' ? utilityPanelTriggerId : null"
|
|
362
|
+
>
|
|
363
|
+
<ng-content select="[slot=utilityPanel]"></ng-content>
|
|
364
|
+
</div>
|
|
365
|
+
</aside>
|
|
366
|
+
}
|
|
367
|
+
</div>
|
|
368
|
+
@if (bottomPanel) {
|
|
369
|
+
<section class="st-appShell__bottomPanel" aria-label="Workspace tools">
|
|
370
|
+
<ng-content select="[slot=bottomPanel]"></ng-content>
|
|
371
|
+
</section>
|
|
372
|
+
}
|
|
373
|
+
</div>
|
|
374
|
+
}
|
|
375
|
+
`, styles: [":host { display: contents; }"] }]
|
|
35
376
|
}], propDecorators: { variant: [{
|
|
36
377
|
type: NgInput
|
|
378
|
+
}], topChrome: [{
|
|
379
|
+
type: NgInput
|
|
380
|
+
}], primaryRail: [{
|
|
381
|
+
type: NgInput
|
|
382
|
+
}], navigationPanel: [{
|
|
383
|
+
type: NgInput
|
|
384
|
+
}], contextPanel: [{
|
|
385
|
+
type: NgInput
|
|
386
|
+
}], utilityPanel: [{
|
|
387
|
+
type: NgInput
|
|
388
|
+
}], bottomPanel: [{
|
|
389
|
+
type: NgInput
|
|
37
390
|
}], mainId: [{
|
|
38
391
|
type: NgInput
|
|
39
392
|
}], navigationLabel: [{
|
|
@@ -46,6 +399,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
46
399
|
type: NgInput
|
|
47
400
|
}], utilitySide: [{
|
|
48
401
|
type: NgInput
|
|
402
|
+
}], panelCollapse: [{
|
|
403
|
+
type: NgInput
|
|
404
|
+
}], primaryRailLabel: [{
|
|
405
|
+
type: NgInput
|
|
406
|
+
}], navigationPanelLabel: [{
|
|
407
|
+
type: NgInput
|
|
408
|
+
}], contextPanelLabel: [{
|
|
409
|
+
type: NgInput
|
|
410
|
+
}], utilityPanelLabel: [{
|
|
411
|
+
type: NgInput
|
|
49
412
|
}], classInput: [{
|
|
50
413
|
type: NgInput,
|
|
51
414
|
args: ["class"]
|
package/dist/AppShell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../src/AppShell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,eAAe,CAAC;;
|
|
1
|
+
{"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../src/AppShell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;;AAsMjC,MAAM,OAAO,QAAQ;IACnB,MAAM,CAAU,eAAe,GAAG,UAAU,CAAC;IACpC,aAAa,GAAG,UAAU,CAAC;IAEzB,OAAO,GAAoB,WAAW,CAAC;IACvC,SAAS,CAAW;IACpB,WAAW,CAAW;IACtB,eAAe,CAAW;IAC1B,YAAY,CAAW;IACvB,YAAY,CAAW;IACvB,WAAW,CAAW;IACtB,MAAM,GAAG,MAAM,CAAC;IAChB,eAAe,GAAG,sBAAsB,CAAC;IACzC,YAAY,GAAG,eAAe,CAAC;IAC/B,YAAY,GAAG,eAAe,CAAC;IAC/B,WAAW,GAAwB,SAAS,CAAC;IAC7C,WAAW,GAAwB,OAAO,CAAC;IAC3C,aAAa,GAA0B,OAAO,CAAC;IAC/C,gBAAgB,GAAG,cAAc,CAAC;IAClC,oBAAoB,CAAU;IAC9B,iBAAiB,CAAU;IAC3B,iBAAiB,CAAU;IACpB,UAAU,CAAU;IAEtC,sEAAsE;IACtE,wEAAwE;IACxE,2EAA2E;IAC3E,kBAAkB;IAClB,oBAAoB,GAAG,KAAK,CAAC;IAC7B,mBAAmB,GAAG,KAAK,CAAC;IAC5B,gBAAgB,GAAG,KAAK,CAAC;IACzB,gBAAgB,GAAG,KAAK,CAAC;IAEzB,yEAAyE;IACzE,qEAAqE;IAC5D,oBAAoB,GAAG,iCAAiC,CAAC;IACzD,mBAAmB,GAAG,gCAAgC,CAAC;IACvD,wBAAwB,GAAG,qCAAqC,CAAC;IACjE,uBAAuB,GAAG,oCAAoC,CAAC;IAC/D,qBAAqB,GAAG,kCAAkC,CAAC;IAC3D,oBAAoB,GAAG,iCAAiC,CAAC;IACzD,qBAAqB,GAAG,kCAAkC,CAAC;IAC3D,oBAAoB,GAAG,iCAAiC,CAAC;IAElE,IAAI,SAAS;QACX,OAAO,UAAU,CAAC,aAAa,EAAE,gBAAgB,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACpF,CAAC;IAED,2EAA2E;IAC3E,8EAA8E;IAC9E,4EAA4E;IAC5E,IAAI,4BAA4B;QAC9B,OAAO,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,eAAe,CAAC;IAC3D,CAAC;IAED,IAAI,yBAAyB;QAC3B,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,YAAY,CAAC;IACrD,CAAC;IAED,IAAI,yBAAyB;QAC3B,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,YAAY,CAAC;IACrD,CAAC;IAED,IAAI,0BAA0B;QAC5B,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAC1E,CAAC;IAED,IAAI,8BAA8B;QAChC,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACzE,CAAC;IAED,IAAI,2BAA2B;QAC7B,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACtE,CAAC;IAED,IAAI,2BAA2B;QAC7B,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACtE,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC;IACzD,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACvD,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACjD,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACjD,CAAC;wGA7FU,QAAQ;4FAAR,QAAQ,2qBAjJT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+IT,sGArJS,IAAI;;4FAuJH,QAAQ;kBA1JpB,SAAS;+BACE,cAAc,cACZ,IAAI,WACP,CAAC,IAAI,CAAC,YAML;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+IT;;sBAMA,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;;sBACP,OAAO;uBAAC,OAAO"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { EventEmitter } from "@angular/core";
|
|
2
|
+
import { type AbsoluteDraft, type TimeRange, type TimeRangeMode, type TimeRangePreset } from "./timeRange.js";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export type TimeRangePickerSize = "sm" | "md" | "lg";
|
|
5
|
+
export type TimeRangePickerPlacement = "bottom-start" | "bottom-end" | "top-start" | "top-end";
|
|
6
|
+
export type TimeRangePickerAlign = "start" | "end" | "center";
|
|
7
|
+
export type TimeRangePickerProps = {
|
|
8
|
+
value?: TimeRange;
|
|
9
|
+
defaultValue?: TimeRange;
|
|
10
|
+
presets?: TimeRangePreset[];
|
|
11
|
+
min?: number;
|
|
12
|
+
max?: number;
|
|
13
|
+
locale?: string;
|
|
14
|
+
timeFormat?: "24" | "12";
|
|
15
|
+
timeStep?: number;
|
|
16
|
+
calendarMonths?: 1 | 2;
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
label?: string;
|
|
19
|
+
placement?: TimeRangePickerPlacement;
|
|
20
|
+
align?: TimeRangePickerAlign;
|
|
21
|
+
size?: TimeRangePickerSize;
|
|
22
|
+
class?: string;
|
|
23
|
+
};
|
|
24
|
+
type ResolvedPreset = {
|
|
25
|
+
token: string;
|
|
26
|
+
label: string;
|
|
27
|
+
disabled: boolean;
|
|
28
|
+
};
|
|
29
|
+
export declare class TimeRangePicker {
|
|
30
|
+
static readonly stComponentName = "TimeRangePicker";
|
|
31
|
+
readonly componentName = "TimeRangePicker";
|
|
32
|
+
value?: TimeRange;
|
|
33
|
+
defaultValue?: TimeRange;
|
|
34
|
+
presets?: TimeRangePreset[];
|
|
35
|
+
min?: number;
|
|
36
|
+
max?: number;
|
|
37
|
+
locale?: string;
|
|
38
|
+
timeFormat?: "24" | "12";
|
|
39
|
+
timeStep?: number;
|
|
40
|
+
calendarMonths?: 1 | 2;
|
|
41
|
+
disabled?: boolean;
|
|
42
|
+
label?: string;
|
|
43
|
+
placement?: TimeRangePickerPlacement;
|
|
44
|
+
align?: TimeRangePickerAlign;
|
|
45
|
+
size?: TimeRangePickerSize;
|
|
46
|
+
classInput?: string;
|
|
47
|
+
formatRange?: (value: TimeRange, locale: string) => string;
|
|
48
|
+
formatPresetLabel?: (token: string, locale: string) => string;
|
|
49
|
+
valueChange: EventEmitter<TimeRange>;
|
|
50
|
+
change: EventEmitter<TimeRange>;
|
|
51
|
+
open: boolean;
|
|
52
|
+
activeTab: TimeRangeMode;
|
|
53
|
+
draft: AbsoluteDraft;
|
|
54
|
+
/** Uncontrolled fallback, seeded on first read from `defaultValue`. */
|
|
55
|
+
private internalValue?;
|
|
56
|
+
private get resolvedLocale();
|
|
57
|
+
private get isFr();
|
|
58
|
+
/** The committed range: controlled `value` wins, else internal/uncontrolled. */
|
|
59
|
+
get currentValue(): TimeRange;
|
|
60
|
+
get hostClass(): string;
|
|
61
|
+
get popoverClass(): string;
|
|
62
|
+
get triggerLabel(): string;
|
|
63
|
+
get tabItems(): Array<{
|
|
64
|
+
value: string;
|
|
65
|
+
label: string;
|
|
66
|
+
}>;
|
|
67
|
+
get fromLabel(): string;
|
|
68
|
+
get toLabel(): string;
|
|
69
|
+
get applyLabel(): string;
|
|
70
|
+
get cancelLabel(): string;
|
|
71
|
+
get selectedRelativeToken(): string | null;
|
|
72
|
+
/** Presets resolved to labels + a disabled flag when they'd fall below `min`. */
|
|
73
|
+
get resolvedPresets(): ResolvedPreset[];
|
|
74
|
+
/** `AbsoluteDraft` times are optional; the TimePicker input requires a string. */
|
|
75
|
+
get fromTimeValue(): string;
|
|
76
|
+
get toTimeValue(): string;
|
|
77
|
+
get calendarValue(): [string | null, string | null];
|
|
78
|
+
get minDay(): string | null;
|
|
79
|
+
get maxDay(): string | null;
|
|
80
|
+
/** Null when the draft is valid; otherwise the user-facing reason. */
|
|
81
|
+
get errorText(): string | null;
|
|
82
|
+
get canApply(): boolean;
|
|
83
|
+
toggle(): void;
|
|
84
|
+
openPanel(): void;
|
|
85
|
+
close(): void;
|
|
86
|
+
/** Cancel discards the draft and emits nothing. */
|
|
87
|
+
cancel(): void;
|
|
88
|
+
onTabChange: (tab: string) => void;
|
|
89
|
+
onFromTimeChange: (time: string) => void;
|
|
90
|
+
onToTimeChange: (time: string) => void;
|
|
91
|
+
onCalendarChange: (next: unknown) => void;
|
|
92
|
+
makePresetSelect(preset: ResolvedPreset): () => void;
|
|
93
|
+
/** Relative presets resolve, emit and close immediately. */
|
|
94
|
+
selectPreset(token: string): void;
|
|
95
|
+
/** Absolute mode is staged: nothing emits until Apply. */
|
|
96
|
+
apply(): void;
|
|
97
|
+
private resolveToken;
|
|
98
|
+
private commit;
|
|
99
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TimeRangePicker, never>;
|
|
100
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TimeRangePicker, "st-time-range-picker", never, { "value": { "alias": "value"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "presets": { "alias": "presets"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "timeFormat": { "alias": "timeFormat"; "required": false; }; "timeStep": { "alias": "timeStep"; "required": false; }; "calendarMonths": { "alias": "calendarMonths"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "align": { "alias": "align"; "required": false; }; "size": { "alias": "size"; "required": false; }; "classInput": { "alias": "class"; "required": false; }; "formatRange": { "alias": "formatRange"; "required": false; }; "formatPresetLabel": { "alias": "formatPresetLabel"; "required": false; }; }, { "valueChange": "valueChange"; "change": "change"; }, never, never, true, never>;
|
|
101
|
+
}
|
|
102
|
+
export {};
|
|
103
|
+
//# sourceMappingURL=TimeRangePicker.d.ts.map
|