@masmarino/gabarit 0.3.0 → 0.4.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/package.json
CHANGED
|
@@ -86,14 +86,26 @@
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
.gbt-app-shell__link {
|
|
89
|
+
position: relative;
|
|
89
90
|
display: flex;
|
|
90
91
|
align-items: center;
|
|
91
92
|
gap: 0.625rem;
|
|
93
|
+
min-width: 0;
|
|
92
94
|
padding: 0.5rem 0.75rem;
|
|
93
95
|
border-radius: var(--site-border-radius-sm);
|
|
94
96
|
color: var(--text-secondary);
|
|
95
97
|
font-size: 0.875rem;
|
|
96
98
|
text-decoration: none;
|
|
99
|
+
overflow: hidden;
|
|
100
|
+
white-space: nowrap;
|
|
101
|
+
text-overflow: ellipsis;
|
|
102
|
+
|
|
103
|
+
> span {
|
|
104
|
+
min-width: 0;
|
|
105
|
+
overflow: hidden;
|
|
106
|
+
white-space: nowrap;
|
|
107
|
+
text-overflow: ellipsis;
|
|
108
|
+
}
|
|
97
109
|
|
|
98
110
|
&:hover {
|
|
99
111
|
background: var(--bg-hover);
|
|
@@ -111,7 +123,46 @@
|
|
|
111
123
|
}
|
|
112
124
|
}
|
|
113
125
|
|
|
126
|
+
@media (min-width: 769px) {
|
|
127
|
+
.gbt-app-shell__nav--collapsed {
|
|
128
|
+
.gbt-app-shell__link {
|
|
129
|
+
> span {
|
|
130
|
+
display: inline-block;
|
|
131
|
+
width: 0;
|
|
132
|
+
overflow: hidden;
|
|
133
|
+
white-space: nowrap;
|
|
134
|
+
opacity: 0;
|
|
135
|
+
transition: opacity 0.15s ease, width 0.2s ease;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
&:hover > span,
|
|
139
|
+
&:focus-visible > span {
|
|
140
|
+
position: absolute;
|
|
141
|
+
left: 100%;
|
|
142
|
+
top: 50%;
|
|
143
|
+
transform: translateY(-50%);
|
|
144
|
+
width: auto;
|
|
145
|
+
overflow: visible;
|
|
146
|
+
opacity: 1;
|
|
147
|
+
margin-left: 0.625rem;
|
|
148
|
+
padding: 0.375rem 0.625rem;
|
|
149
|
+
background: var(--bg-principal);
|
|
150
|
+
border: 1px solid var(--border-color);
|
|
151
|
+
border-radius: var(--site-border-radius-sm);
|
|
152
|
+
box-shadow: var(--site-shadow-md);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
@media (prefers-reduced-motion: reduce) {
|
|
156
|
+
> span {
|
|
157
|
+
transition: none;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
114
164
|
.gbt-container {
|
|
165
|
+
box-sizing: border-box;
|
|
115
166
|
width: 100%;
|
|
116
167
|
max-width: 1200px;
|
|
117
168
|
margin-inline: auto;
|
|
@@ -119,6 +170,7 @@
|
|
|
119
170
|
}
|
|
120
171
|
|
|
121
172
|
.gbt-menu__item {
|
|
173
|
+
box-sizing: border-box;
|
|
122
174
|
display: flex;
|
|
123
175
|
align-items: center;
|
|
124
176
|
gap: 0.5rem;
|
|
@@ -143,3 +195,39 @@
|
|
|
143
195
|
outline-offset: -2px;
|
|
144
196
|
}
|
|
145
197
|
}
|
|
198
|
+
|
|
199
|
+
.gbt-breadcrumb__list {
|
|
200
|
+
display: flex;
|
|
201
|
+
align-items: center;
|
|
202
|
+
flex-wrap: wrap;
|
|
203
|
+
gap: 0.375rem;
|
|
204
|
+
margin: 0;
|
|
205
|
+
padding: 0;
|
|
206
|
+
list-style: none;
|
|
207
|
+
font-size: 0.875rem;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.gbt-breadcrumb__list > li {
|
|
211
|
+
display: flex;
|
|
212
|
+
align-items: center;
|
|
213
|
+
gap: 0.375rem;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.gbt-breadcrumb__list > li:not(:last-child)::after {
|
|
217
|
+
content: '/';
|
|
218
|
+
color: var(--text-secondary);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
.gbt-breadcrumb__item {
|
|
222
|
+
color: var(--text-secondary);
|
|
223
|
+
text-decoration: none;
|
|
224
|
+
|
|
225
|
+
&:hover {
|
|
226
|
+
text-decoration: underline;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.gbt-breadcrumb__current {
|
|
231
|
+
color: var(--text-primary);
|
|
232
|
+
font-weight: 600;
|
|
233
|
+
}
|
|
@@ -2,8 +2,9 @@ import * as _angular_platform_browser from '@angular/platform-browser';
|
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
3
|
import { OnDestroy, TemplateRef, ElementRef, InjectionToken, Signal } from '@angular/core';
|
|
4
4
|
import { ControlValueAccessor } from '@angular/forms';
|
|
5
|
+
import { Observable } from 'rxjs';
|
|
5
6
|
|
|
6
|
-
declare const GABARIT_VERSION = "0.
|
|
7
|
+
declare const GABARIT_VERSION = "0.4.0";
|
|
7
8
|
|
|
8
9
|
declare class Icon {
|
|
9
10
|
private readonly sanitizer;
|
|
@@ -28,6 +29,11 @@ declare class AppShell {
|
|
|
28
29
|
skipLabel: _angular_core.InputSignal<string>;
|
|
29
30
|
openMenuLabel: _angular_core.InputSignal<string>;
|
|
30
31
|
closeMenuLabel: _angular_core.InputSignal<string>;
|
|
32
|
+
collapseLabel: _angular_core.InputSignal<string>;
|
|
33
|
+
expandLabel: _angular_core.InputSignal<string>;
|
|
34
|
+
collapsed: _angular_core.InputSignal<boolean>;
|
|
35
|
+
collapsible: _angular_core.InputSignal<boolean>;
|
|
36
|
+
collapsedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
31
37
|
private readonly id;
|
|
32
38
|
protected readonly mainId: string;
|
|
33
39
|
protected readonly navId: string;
|
|
@@ -37,10 +43,11 @@ declare class AppShell {
|
|
|
37
43
|
private readonly nav;
|
|
38
44
|
protected toggleMenu(): void;
|
|
39
45
|
protected close(): void;
|
|
46
|
+
protected toggleCollapsed(): void;
|
|
40
47
|
protected onEscape(): void;
|
|
41
48
|
protected onNavKeydown(event: KeyboardEvent): void;
|
|
42
49
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AppShell, never>;
|
|
43
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AppShell, "gbt-app-shell", never, { "navLabel": { "alias": "navLabel"; "required": true; "isSignal": true; }; "skipLabel": { "alias": "skipLabel"; "required": true; "isSignal": true; }; "openMenuLabel": { "alias": "openMenuLabel"; "required": true; "isSignal": true; }; "closeMenuLabel": { "alias": "closeMenuLabel"; "required": true; "isSignal": true; }; }, {}, never, ["[shell-brand]", "[shell-nav]", "[shell-header]", "*"], true, never>;
|
|
50
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AppShell, "gbt-app-shell", never, { "navLabel": { "alias": "navLabel"; "required": true; "isSignal": true; }; "skipLabel": { "alias": "skipLabel"; "required": true; "isSignal": true; }; "openMenuLabel": { "alias": "openMenuLabel"; "required": true; "isSignal": true; }; "closeMenuLabel": { "alias": "closeMenuLabel"; "required": true; "isSignal": true; }; "collapseLabel": { "alias": "collapseLabel"; "required": false; "isSignal": true; }; "expandLabel": { "alias": "expandLabel"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; }, { "collapsedChange": "collapsedChange"; }, never, ["[shell-brand]", "[shell-nav]", "[shell-header]", "*"], true, never>;
|
|
44
51
|
}
|
|
45
52
|
|
|
46
53
|
declare class Button {
|
|
@@ -765,6 +772,8 @@ declare class Menu {
|
|
|
765
772
|
private readonly injector;
|
|
766
773
|
label: _angular_core.InputSignal<string>;
|
|
767
774
|
align: _angular_core.InputSignal<"start" | "end">;
|
|
775
|
+
triggerIcon: _angular_core.InputSignal<string | null>;
|
|
776
|
+
opened: _angular_core.OutputEmitterRef<void>;
|
|
768
777
|
protected readonly open: _angular_core.WritableSignal<boolean>;
|
|
769
778
|
protected readonly position: _angular_core.WritableSignal<PopupPosition | null>;
|
|
770
779
|
private readonly trigger;
|
|
@@ -781,7 +790,33 @@ declare class Menu {
|
|
|
781
790
|
private focus;
|
|
782
791
|
private focusAfterRender;
|
|
783
792
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Menu, never>;
|
|
784
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Menu, "gbt-menu", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
793
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Menu, "gbt-menu", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "triggerIcon": { "alias": "triggerIcon"; "required": false; "isSignal": true; }; }, { "opened": "opened"; }, never, ["*"], true, never>;
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
declare class Breadcrumb {
|
|
797
|
+
ariaLabel: _angular_core.InputSignal<string>;
|
|
798
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Breadcrumb, never>;
|
|
799
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Breadcrumb, "gbt-breadcrumb", never, { "ariaLabel": { "alias": "ariaLabel"; "required": true; "isSignal": true; }; }, {}, never, ["[breadcrumb-ancestor]", "*"], true, never>;
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
declare class ConfirmDangerModal {
|
|
803
|
+
isOpen: _angular_core.InputSignal<boolean>;
|
|
804
|
+
heading: _angular_core.InputSignal<string>;
|
|
805
|
+
message: _angular_core.InputSignal<string>;
|
|
806
|
+
confirmText: _angular_core.InputSignal<string>;
|
|
807
|
+
confirmInputLabel: _angular_core.InputSignal<string>;
|
|
808
|
+
confirmLabel: _angular_core.InputSignal<string>;
|
|
809
|
+
cancelLabel: _angular_core.InputSignal<string>;
|
|
810
|
+
closeLabel: _angular_core.InputSignal<string>;
|
|
811
|
+
confirmed: _angular_core.OutputEmitterRef<void>;
|
|
812
|
+
closed: _angular_core.OutputEmitterRef<void>;
|
|
813
|
+
protected readonly typed: _angular_core.WritableSignal<string>;
|
|
814
|
+
protected readonly canConfirm: _angular_core.Signal<boolean>;
|
|
815
|
+
constructor();
|
|
816
|
+
protected confirm(): void;
|
|
817
|
+
protected cancel(): void;
|
|
818
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfirmDangerModal, never>;
|
|
819
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConfirmDangerModal, "gbt-confirm-danger-modal", never, { "isOpen": { "alias": "isOpen"; "required": true; "isSignal": true; }; "heading": { "alias": "heading"; "required": true; "isSignal": true; }; "message": { "alias": "message"; "required": true; "isSignal": true; }; "confirmText": { "alias": "confirmText"; "required": true; "isSignal": true; }; "confirmInputLabel": { "alias": "confirmInputLabel"; "required": false; "isSignal": true; }; "confirmLabel": { "alias": "confirmLabel"; "required": false; "isSignal": true; }; "cancelLabel": { "alias": "cancelLabel"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; }, { "confirmed": "confirmed"; "closed": "closed"; }, never, never, true, never>;
|
|
785
820
|
}
|
|
786
821
|
|
|
787
822
|
type ToastVariant = 'success' | 'error' | 'warning' | 'info';
|
|
@@ -901,5 +936,62 @@ declare class Textarea implements ControlValueAccessor {
|
|
|
901
936
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Textarea, "gbt-textarea", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; }, { "committed": "committed"; }, never, never, true, never>;
|
|
902
937
|
}
|
|
903
938
|
|
|
904
|
-
|
|
905
|
-
|
|
939
|
+
type AutocompleteSearchFn<T> = (query: string) => Observable<T[]> | Promise<T[]>;
|
|
940
|
+
declare class Autocomplete<T = unknown> implements ControlValueAccessor, OnDestroy {
|
|
941
|
+
private readonly elementRef;
|
|
942
|
+
id: _angular_core.InputSignal<string>;
|
|
943
|
+
label: _angular_core.InputSignal<string>;
|
|
944
|
+
placeholder: _angular_core.InputSignal<string>;
|
|
945
|
+
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
946
|
+
required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
947
|
+
errorMessage: _angular_core.InputSignal<string | null>;
|
|
948
|
+
search: _angular_core.InputSignal<AutocompleteSearchFn<T>>;
|
|
949
|
+
displayFn: _angular_core.InputSignal<(item: T) => string>;
|
|
950
|
+
itemTemplate: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
951
|
+
debounceMs: _angular_core.InputSignal<number>;
|
|
952
|
+
minLength: _angular_core.InputSignal<number>;
|
|
953
|
+
loadingMessage: _angular_core.InputSignal<string>;
|
|
954
|
+
noResultsMessage: _angular_core.InputSignal<string>;
|
|
955
|
+
searchErrorMessage: _angular_core.InputSignal<string>;
|
|
956
|
+
resultsAnnouncement: _angular_core.InputSignal<(count: number) => string>;
|
|
957
|
+
itemSelected: _angular_core.OutputEmitterRef<T>;
|
|
958
|
+
protected readonly query: _angular_core.WritableSignal<string>;
|
|
959
|
+
protected readonly open: _angular_core.WritableSignal<boolean>;
|
|
960
|
+
protected readonly results: _angular_core.WritableSignal<T[]>;
|
|
961
|
+
protected readonly loading: _angular_core.WritableSignal<boolean>;
|
|
962
|
+
protected readonly searchFailed: _angular_core.WritableSignal<boolean>;
|
|
963
|
+
protected readonly activeIndex: _angular_core.WritableSignal<number>;
|
|
964
|
+
protected readonly selectedItem: _angular_core.WritableSignal<T | null>;
|
|
965
|
+
protected readonly panelStyle: _angular_core.WritableSignal<{
|
|
966
|
+
top: string;
|
|
967
|
+
left: string;
|
|
968
|
+
width: string;
|
|
969
|
+
} | null>;
|
|
970
|
+
private readonly formDisabled;
|
|
971
|
+
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
972
|
+
protected readonly hasNoResults: _angular_core.Signal<boolean>;
|
|
973
|
+
protected readonly activeOptionId: _angular_core.Signal<string | null>;
|
|
974
|
+
private onChange;
|
|
975
|
+
private onTouched;
|
|
976
|
+
private requestSeq;
|
|
977
|
+
private debounceHandle?;
|
|
978
|
+
private subscription?;
|
|
979
|
+
setDisabledState(isDisabled: boolean): void;
|
|
980
|
+
writeValue(value: T | null): void;
|
|
981
|
+
registerOnChange(fn: (value: T | null) => void): void;
|
|
982
|
+
registerOnTouched(fn: () => void): void;
|
|
983
|
+
protected onInput(event: Event): void;
|
|
984
|
+
protected onFocus(): void;
|
|
985
|
+
protected onBlur(): void;
|
|
986
|
+
private scheduleSearch;
|
|
987
|
+
private runSearch;
|
|
988
|
+
protected updatePanelPosition(): void;
|
|
989
|
+
protected selectOption(item: T): void;
|
|
990
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
991
|
+
ngOnDestroy(): void;
|
|
992
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Autocomplete<any>, never>;
|
|
993
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Autocomplete<any>, "gbt-autocomplete", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": true; "isSignal": true; }; "displayFn": { "alias": "displayFn"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "debounceMs": { "alias": "debounceMs"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "loadingMessage": { "alias": "loadingMessage"; "required": false; "isSignal": true; }; "noResultsMessage": { "alias": "noResultsMessage"; "required": false; "isSignal": true; }; "searchErrorMessage": { "alias": "searchErrorMessage"; "required": false; "isSignal": true; }; "resultsAnnouncement": { "alias": "resultsAnnouncement"; "required": false; "isSignal": true; }; }, { "itemSelected": "itemSelected"; }, never, never, true, never>;
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
export { AppShell, Autocomplete, BarChart, BarSeries, Breadcrumb, Button, CHART_CONTEXT, Card, ChartAxis, ChartEmpty, ChartFrame, ChartLegend, ChartTable, ChartTooltip, Checkbox, ConfirmDangerModal, DimensionCard, FunnelChart, GABARIT_VERSION, GaugeBar, GbtInput, Icon, IconRegistry, LineChart, LineSeries, Menu, Modal, RadioGroup, SearchBar, Select, Sparkline, Switch, Tab, Table, Tabs, Textarea, TimelineChart, TimelineSeries, Toaster, Tooltip, areaPath, bandScale, formatCompact, formatDuration, formatNumber, formatPercent, linePath, linearScale, nearestIndex, niceTicks, niceXDomain, niceYDomain, timeScale, timeTicks };
|
|
997
|
+
export type { AutocompleteSearchFn, AxisSpec, BandScale, ChartBox, ChartInterval, ChartMargin, ChartPoint, ChartReader, ChartSeries, DimensionRow, FunnelStep, LegendEntry, LinearAxisSpec, Point, PointValue, RadioOption, Scale, SearchResultCategory, SelectOption, TableColumn, TimeTicks, TimeUnit, ToastItem, ToastVariant, ToasterPosition, TooltipPoint, TooltipPosition, TooltipRow };
|