@forgeroute/ui 0.4.54 → 0.4.55
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
package/types/forgeroute-ui.d.ts
CHANGED
|
@@ -10980,13 +10980,32 @@ export interface CalendarSlotClick {
|
|
|
10980
10980
|
* In the week view each all-day cell and each day column has a visually hidden "+ Add" button that appears when focused; Enter/Space on it
|
|
10981
10981
|
* creates (all-day, or the first visible hour). The initial `view` must be one of `views`.
|
|
10982
10982
|
*
|
|
10983
|
+
* Loading: bind `[loading]`. On the FIRST load (nothing shown yet) the whole page is drawn as one skeleton outline (`data-testid="calendar-skeleton"`,
|
|
10984
|
+
* one `role="status"` region "Loading calendar", only decorative `ui-skeleton`s): period label, Previous / Today / Next, view tabs, `loadingActions`
|
|
10985
|
+
* (default 2) action placeholders, the filter label + one chip per filter plus All, and the weekday row + day grid of the current view. The real
|
|
10986
|
+
* toolbar / filters / grid are not in the DOM until loading ends, but `rangeChange` still fires on the first render. After the first load,
|
|
10987
|
+
* `[loading]` replaces only the grid with a skeleton so the toolbar and period navigation stay usable. No markup or config is needed in the host;
|
|
10988
|
+
* start with `loading` true to avoid a one-frame flash of the real toolbar before the outline.
|
|
10989
|
+
*
|
|
10983
10990
|
* Content slots: `[calendar-actions]` (right of the view switcher), `[calendar-summary]` (centre of the toolbar on
|
|
10984
10991
|
* desktop) and `[calendar-summary-mobile]` (shown instead of it on phones).
|
|
10985
10992
|
*/
|
|
10986
10993
|
export declare class CalendarComponent {
|
|
10987
10994
|
/** Everything to show in the visible range. Ids must be unique across the whole list. */
|
|
10988
10995
|
readonly items: import("@angular/core").InputSignal<CalendarItem[]>;
|
|
10996
|
+
/**
|
|
10997
|
+
* The host is loading the visible range. On the FIRST load (nothing shown yet) the component draws an outline of the whole page (period label,
|
|
10998
|
+
* nav buttons, view tabs, action placeholders, filter chips, weekday row and day grid) built only from decorative `ui-skeleton`s in ONE status
|
|
10999
|
+
* region (`data-testid="calendar-skeleton"`, "Loading calendar"); the real toolbar / filters / grid are not in the DOM until loading ends.
|
|
11000
|
+
* `rangeChange` still fires meanwhile. Later reloads (after a first load finished, or while items are shown) replace only the grid with a
|
|
11001
|
+
* skeleton so the toolbar and period navigation stay usable. Hosts need no markup or config: they just bind `[loading]`.
|
|
11002
|
+
*/
|
|
10989
11003
|
readonly loading: import("@angular/core").InputSignal<boolean>;
|
|
11004
|
+
/**
|
|
11005
|
+
* Optional. How many skeleton button placeholders the first-load outline draws in the actions position (where `[calendar-actions]` content
|
|
11006
|
+
* goes). The calendar cannot count projected content, so this is a number: default 2; 0 draws none. Not used after the first load.
|
|
11007
|
+
*/
|
|
11008
|
+
readonly loadingActions: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
10990
11009
|
/** Active view; two-way bindable. A value that is not in `views` is replaced by the first allowed view. */
|
|
10991
11010
|
readonly view: import("@angular/core").ModelSignal<CalendarViewMode>;
|
|
10992
11011
|
/** Views the switcher offers. One entry hides the switcher. */
|
|
@@ -11033,6 +11052,13 @@ export declare class CalendarComponent {
|
|
|
11033
11052
|
protected readonly weekDayLabels: string[];
|
|
11034
11053
|
protected readonly weekDayNames: string[];
|
|
11035
11054
|
protected readonly skeletonCells: number[];
|
|
11055
|
+
protected readonly skeletonDays: number[];
|
|
11056
|
+
protected readonly skeletonRows: number[];
|
|
11057
|
+
/** `idle` until the first loading cycle starts, `first` while it runs, `loaded` once it has ended: from then on `loading` only skeletons the grid. */
|
|
11058
|
+
private readonly loadPhase;
|
|
11059
|
+
/** True while the first load runs and nothing is shown yet: the whole page is drawn as a skeleton outline. */
|
|
11060
|
+
protected readonly showOutline: import("@angular/core").Signal<boolean>;
|
|
11061
|
+
protected readonly loadingActionSlots: import("@angular/core").Signal<number[]>;
|
|
11036
11062
|
protected readonly formatHour: typeof formatHour;
|
|
11037
11063
|
/** The browser clock's today as `YYYY-MM-DD`; refreshed at local midnight, when the tab becomes visible again and when the user presses Today. */
|
|
11038
11064
|
private readonly clockToday;
|
|
@@ -11133,6 +11159,11 @@ export declare class CalendarComponent {
|
|
|
11133
11159
|
"required": false;
|
|
11134
11160
|
"isSignal": true;
|
|
11135
11161
|
};
|
|
11162
|
+
"loadingActions": {
|
|
11163
|
+
"alias": "loadingActions";
|
|
11164
|
+
"required": false;
|
|
11165
|
+
"isSignal": true;
|
|
11166
|
+
};
|
|
11136
11167
|
"view": {
|
|
11137
11168
|
"alias": "view";
|
|
11138
11169
|
"required": false;
|