@jsenv/navi 0.29.437 → 0.29.439
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/dev/jsenv_navi.js +206 -37
- package/dist/dev/jsenv_navi.js.map +7 -5
- package/dist/jsenv_navi.js +206 -37
- package/dist/jsenv_navi.js.map +7 -5
- package/docs/dynamic_import.md +3 -1
- package/docs/resource.md +29 -10
- package/package.json +1 -1
package/dist/jsenv_navi.js
CHANGED
|
@@ -2943,6 +2943,41 @@ const setActionPrivateProperties = (action, properties) => {
|
|
|
2943
2943
|
actionPrivatePropertiesWeakMap.set(action, properties);
|
|
2944
2944
|
};
|
|
2945
2945
|
|
|
2946
|
+
/*
|
|
2947
|
+
* Where an action that declares no provisionalValue of its own finds one: the
|
|
2948
|
+
* value the page kept from the previous document, for a route action that is
|
|
2949
|
+
* not a resource read (see keepPageOnScreen in nav/page_kept.js). routeAction
|
|
2950
|
+
* adds the source when it binds the action; a run asks for it at its start,
|
|
2951
|
+
* like it asks provisionalValue (actions.js).
|
|
2952
|
+
*
|
|
2953
|
+
* A registry beside actions.js rather than an import of the kept reads: those
|
|
2954
|
+
* know about stores and params keys, which import actions.js.
|
|
2955
|
+
*/
|
|
2956
|
+
|
|
2957
|
+
const keptValueSourcesWeakMap = new WeakMap();
|
|
2958
|
+
const addKeptValueSource = (rootAction, source) => {
|
|
2959
|
+
let sources = keptValueSourcesWeakMap.get(rootAction);
|
|
2960
|
+
if (!sources) {
|
|
2961
|
+
sources = [];
|
|
2962
|
+
keptValueSourcesWeakMap.set(rootAction, sources);
|
|
2963
|
+
}
|
|
2964
|
+
sources.push(source);
|
|
2965
|
+
};
|
|
2966
|
+
const takeKeptValue = (action, params) => {
|
|
2967
|
+
const rootAction = action.rootAction || action;
|
|
2968
|
+
const sources = keptValueSourcesWeakMap.get(rootAction);
|
|
2969
|
+
if (!sources) {
|
|
2970
|
+
return undefined;
|
|
2971
|
+
}
|
|
2972
|
+
for (const source of sources) {
|
|
2973
|
+
const value = source(params);
|
|
2974
|
+
if (value !== undefined) {
|
|
2975
|
+
return value;
|
|
2976
|
+
}
|
|
2977
|
+
}
|
|
2978
|
+
return undefined;
|
|
2979
|
+
};
|
|
2980
|
+
|
|
2946
2981
|
/*
|
|
2947
2982
|
* Actions: async callbacks wrapped in reactive state.
|
|
2948
2983
|
*
|
|
@@ -4058,8 +4093,12 @@ const createAction = (callback, rootOptions = {}) => {
|
|
|
4058
4093
|
actionAbortMap.set(action, abort);
|
|
4059
4094
|
|
|
4060
4095
|
batch(() => {
|
|
4061
|
-
if (
|
|
4062
|
-
|
|
4096
|
+
if (valueSignal.peek() === undefined) {
|
|
4097
|
+
// An action saying nothing of its own may still have a value the
|
|
4098
|
+
// page kept from the previous document (see kept_values.js).
|
|
4099
|
+
const provisional = provisionalValue
|
|
4100
|
+
? provisionalValue(params, action)
|
|
4101
|
+
: takeKeptValue(action, params);
|
|
4063
4102
|
if (provisional !== undefined) {
|
|
4064
4103
|
valueSignal.value = provisional;
|
|
4065
4104
|
}
|
|
@@ -25852,10 +25891,10 @@ const isOwnerReadBy = (childResource, childAction, ownerGetAction) => {
|
|
|
25852
25891
|
* out again, after a reset say, it would write the previous document's rows
|
|
25853
25892
|
* over a fresher answer.
|
|
25854
25893
|
*
|
|
25855
|
-
* This module is the half the
|
|
25856
|
-
* take from it
|
|
25857
|
-
*
|
|
25858
|
-
* page_kept.js.
|
|
25894
|
+
* This module is the half the reads see: `resource()` and the range reader
|
|
25895
|
+
* take from it and say which of their reads are kept as rows, routeAction takes
|
|
25896
|
+
* from it for any other action (through action/kept_values.js). Which reads are
|
|
25897
|
+
* on the page on screen, and what the slot is written into, is page_kept.js.
|
|
25859
25898
|
*/
|
|
25860
25899
|
|
|
25861
25900
|
// key → what the read answered in the previous document, not handed out yet
|
|
@@ -25878,9 +25917,10 @@ const takeKeptRead = (key) => {
|
|
|
25878
25917
|
return entry;
|
|
25879
25918
|
};
|
|
25880
25919
|
|
|
25881
|
-
// The root actions whose answer is rows of a store
|
|
25882
|
-
//
|
|
25883
|
-
//
|
|
25920
|
+
// The root actions whose answer is rows of a store: a resource's GET and
|
|
25921
|
+
// GET_MANY. They are kept as rows, since their value (ids) names rows a new
|
|
25922
|
+
// document's store does not hold. Any other route action is kept by its value
|
|
25923
|
+
// (see page_kept.js).
|
|
25884
25924
|
const keepableReadWeakSet = new WeakSet();
|
|
25885
25925
|
const markKeepableRead = (rootAction) => {
|
|
25886
25926
|
keepableReadWeakSet.add(rootAction);
|
|
@@ -38215,18 +38255,24 @@ const writeCover = (edge, element, size) => {
|
|
|
38215
38255
|
// Every route action, with whether it asks something of the address at the
|
|
38216
38256
|
// moment: its route matches and its params getter returns something.
|
|
38217
38257
|
const routeActionEntriesSignal = signal([]);
|
|
38258
|
+
// What a route action is called in the page kept for the next document (see
|
|
38259
|
+
// keepPageOnScreen): its place among the route actions declared, which the
|
|
38260
|
+
// next document of the same build declares in the same order. A resource read
|
|
38261
|
+
// has a name of its own and is kept by it; an action made from a callback is
|
|
38262
|
+
// most often "anonymous", and several of them read the same page.
|
|
38263
|
+
const keptNameWeakMap = new WeakMap();
|
|
38264
|
+
const getRouteActionKeptName = (routeAction) => {
|
|
38265
|
+
return keptNameWeakMap.get(routeAction);
|
|
38266
|
+
};
|
|
38218
38267
|
let activeRouteActionsPrevious = new Set();
|
|
38219
38268
|
/**
|
|
38220
38269
|
* The route actions asking something for the page on screen: their route
|
|
38221
38270
|
* matches and their params getter returns something — the running ones, not
|
|
38222
38271
|
* every matching one, so an action bound to every page that asks only when a
|
|
38223
|
-
* popup is open over it counts while it is open.
|
|
38224
|
-
*
|
|
38272
|
+
* popup is open over it counts while it is open. The page's code included (see
|
|
38273
|
+
* `activeRouteReadsSignal` for the set to rerun). Read by `keepPageOnScreen`.
|
|
38225
38274
|
* The set is handed out again only when its members change.
|
|
38226
38275
|
*
|
|
38227
|
-
* A page's code is declared as a route action too; `action.meta.verb` says
|
|
38228
|
-
* which ones read data.
|
|
38229
|
-
*
|
|
38230
38276
|
* @type {import("@preact/signals").ReadonlySignal<Set<object>>}
|
|
38231
38277
|
*/
|
|
38232
38278
|
const activeRouteActionsSignal = computed(() => {
|
|
@@ -38243,6 +38289,36 @@ const activeRouteActionsSignal = computed(() => {
|
|
|
38243
38289
|
return active;
|
|
38244
38290
|
});
|
|
38245
38291
|
|
|
38292
|
+
let activeRouteReadsPrevious = new Set();
|
|
38293
|
+
/**
|
|
38294
|
+
* `activeRouteActionsSignal` without the page's code: what to rerun to read
|
|
38295
|
+
* the page on screen again, the app back from the background. A page's code
|
|
38296
|
+
* has nothing to read again — a module does not change until a deploy — and
|
|
38297
|
+
* rerunning it is not free: a page reading its code the delegated way
|
|
38298
|
+
* (`useAsyncData(CODE)` under a `<Loading>`) leaves the document for the frame
|
|
38299
|
+
* the import takes, and its lists lose their scroll position.
|
|
38300
|
+
*
|
|
38301
|
+
* Code is told by its answer: a function (the page component) or a module
|
|
38302
|
+
* namespace. An import that failed has none and stays in the set; rerun, it
|
|
38303
|
+
* fails again at once, since the document refuses a module it failed to fetch.
|
|
38304
|
+
*
|
|
38305
|
+
* @type {import("@preact/signals").ReadonlySignal<Set<object>>}
|
|
38306
|
+
*/
|
|
38307
|
+
const activeRouteReadsSignal = computed(() => {
|
|
38308
|
+
const reads = new Set();
|
|
38309
|
+
for (const routeAction of activeRouteActionsSignal.value) {
|
|
38310
|
+
if (isCode(routeAction.valueSignal.value)) {
|
|
38311
|
+
continue;
|
|
38312
|
+
}
|
|
38313
|
+
reads.add(routeAction);
|
|
38314
|
+
}
|
|
38315
|
+
if (haveSameMembers(reads, activeRouteReadsPrevious)) {
|
|
38316
|
+
return activeRouteReadsPrevious;
|
|
38317
|
+
}
|
|
38318
|
+
activeRouteReadsPrevious = reads;
|
|
38319
|
+
return reads;
|
|
38320
|
+
});
|
|
38321
|
+
|
|
38246
38322
|
/**
|
|
38247
38323
|
* Binds an action to a route: it runs when the route matches, with the params
|
|
38248
38324
|
* the effect reads off the address, runs again on a `reload()`, and is aborted
|
|
@@ -38299,7 +38375,16 @@ const routeAction = (
|
|
|
38299
38375
|
}
|
|
38300
38376
|
return params;
|
|
38301
38377
|
};
|
|
38378
|
+
const rootAction = rootActionOf(action);
|
|
38379
|
+
const keptName = `route_action#${routeActionEntriesSignal.peek().length} ${rootAction.name}`;
|
|
38380
|
+
if (!isKeepableRead(rootAction)) {
|
|
38381
|
+
// Before the effect below: it may run the action at once.
|
|
38382
|
+
addKeptValueSource(rootAction, (params) =>
|
|
38383
|
+
takeKeptRead(getKeptReadKey(keptName, params)),
|
|
38384
|
+
);
|
|
38385
|
+
}
|
|
38302
38386
|
const actionBoundToRoute = actionRunEffect(action, readParamsAsked, options);
|
|
38387
|
+
keptNameWeakMap.set(actionBoundToRoute, keptName);
|
|
38303
38388
|
routeActionEntriesSignal.value = [
|
|
38304
38389
|
...routeActionEntriesSignal.peek(),
|
|
38305
38390
|
{
|
|
@@ -38390,6 +38475,24 @@ const anyMatchingRouteSignal = (routes) => {
|
|
|
38390
38475
|
return anyMatchingSignal;
|
|
38391
38476
|
};
|
|
38392
38477
|
|
|
38478
|
+
const isCode = (value) => {
|
|
38479
|
+
if (typeof value === "function") {
|
|
38480
|
+
return true;
|
|
38481
|
+
}
|
|
38482
|
+
return (
|
|
38483
|
+
value !== null &&
|
|
38484
|
+
typeof value === "object" &&
|
|
38485
|
+
value[Symbol.toStringTag] === "Module"
|
|
38486
|
+
);
|
|
38487
|
+
};
|
|
38488
|
+
|
|
38489
|
+
const rootActionOf = (action) => {
|
|
38490
|
+
if (action.isProxy) {
|
|
38491
|
+
return rootActionOf(getActionPrivateProperties(action).currentAction);
|
|
38492
|
+
}
|
|
38493
|
+
return action.rootAction || action;
|
|
38494
|
+
};
|
|
38495
|
+
|
|
38393
38496
|
const haveSameMembers = (setA, setB) => {
|
|
38394
38497
|
if (setA.size !== setB.size) {
|
|
38395
38498
|
return false;
|
|
@@ -38417,6 +38520,15 @@ const haveSameMembers = (setA, setB) => {
|
|
|
38417
38520
|
* (shownRangeReadersSignal). A search typed on the page is neither, and is not
|
|
38418
38521
|
* kept.
|
|
38419
38522
|
*
|
|
38523
|
+
* What a read is made of on the way out depends on what it holds. A resource
|
|
38524
|
+
* read holds ids, which name rows a new document's store does not have: its
|
|
38525
|
+
* rows are written, and re-enter the store. Any other route action holds its
|
|
38526
|
+
* value, written as it is when JSON brings it back as it was — a page's code
|
|
38527
|
+
* (a function), a Date built by the callback, a Map, are not, and are left
|
|
38528
|
+
* out. Such an action is recognized in the next document by its place among
|
|
38529
|
+
* the route actions declared (see getRouteActionKeptName), not by a name the
|
|
38530
|
+
* app would have to give every action made from a callback.
|
|
38531
|
+
*
|
|
38420
38532
|
* A read is written once it has answered in this document. Before that it
|
|
38421
38533
|
* keeps what the previous document kept for it, never what it shows meanwhile:
|
|
38422
38534
|
* an answer handed over from other params (a list standing in for the next
|
|
@@ -38443,17 +38555,19 @@ let stopKeepingCurrent = null;
|
|
|
38443
38555
|
* draws it again while its reads go out, rather than skeletons.
|
|
38444
38556
|
*
|
|
38445
38557
|
* What the page reads is what navi runs for it: the route actions asking
|
|
38446
|
-
* something for it (see `activeRouteActionsSignal`)
|
|
38447
|
-
*
|
|
38448
|
-
*
|
|
38449
|
-
*
|
|
38450
|
-
*
|
|
38451
|
-
*
|
|
38452
|
-
*
|
|
38453
|
-
*
|
|
38454
|
-
* rewrites it.
|
|
38455
|
-
*
|
|
38456
|
-
* Call it before the routes start: the first runs are the ones that look.
|
|
38558
|
+
* something for it (see `activeRouteActionsSignal`), and the `GET_RANGE`
|
|
38559
|
+
* compositions the `<List.Items>` on screen read, around the window they draw.
|
|
38560
|
+
* A resource read keeps its rows; any other route action keeps its value when
|
|
38561
|
+
* JSON brings it back as it was. A navigation replaces the slot with the next
|
|
38562
|
+
* page's reads, and the page left is dropped. In the next document, the first
|
|
38563
|
+
* run of the same read with the same params draws the kept answer as its
|
|
38564
|
+
* provisional value: `data` set while `loading` is `true`, the answer replacing
|
|
38565
|
+
* it. Under a network policy answering reads from the store, a resource read
|
|
38566
|
+
* completes with it. The copy follows the store: a `PUT` on a row rewrites it.
|
|
38567
|
+
*
|
|
38568
|
+
* Call it before the routes start: the first runs are the ones that look. And
|
|
38569
|
+
* declare the route actions where the app starts: one that is not a resource
|
|
38570
|
+
* read is recognized by its place among them.
|
|
38457
38571
|
*
|
|
38458
38572
|
* @param {object} options
|
|
38459
38573
|
* @param {import("@preact/signals").Signal} options.signal - where the slot is
|
|
@@ -38576,7 +38690,7 @@ const keepPageOnScreen = ({
|
|
|
38576
38690
|
});
|
|
38577
38691
|
|
|
38578
38692
|
const actionReadWeakMap = new WeakMap();
|
|
38579
|
-
const actionReadOf = (action) => {
|
|
38693
|
+
const actionReadOf = (action, keptName, readEntryOf) => {
|
|
38580
38694
|
let read = actionReadWeakMap.get(action);
|
|
38581
38695
|
if (read) {
|
|
38582
38696
|
return read;
|
|
@@ -38590,16 +38704,10 @@ const keepPageOnScreen = ({
|
|
|
38590
38704
|
answeredActionWeakSet.add(action);
|
|
38591
38705
|
}
|
|
38592
38706
|
return {
|
|
38593
|
-
key: getKeptReadKey(
|
|
38707
|
+
key: getKeptReadKey(keptName, action.params),
|
|
38594
38708
|
answered: answeredActionWeakSet.has(action),
|
|
38595
38709
|
landed,
|
|
38596
|
-
readEntry: () =>
|
|
38597
|
-
const data = action.dataSignal.value;
|
|
38598
|
-
if (data === undefined || data === null) {
|
|
38599
|
-
return undefined;
|
|
38600
|
-
}
|
|
38601
|
-
return serializeData(data);
|
|
38602
|
-
},
|
|
38710
|
+
readEntry: () => readEntryOf(action),
|
|
38603
38711
|
};
|
|
38604
38712
|
};
|
|
38605
38713
|
actionReadWeakMap.set(action, read);
|
|
@@ -38638,10 +38746,20 @@ const keepPageOnScreen = ({
|
|
|
38638
38746
|
// eslint-disable-next-line no-unused-expressions
|
|
38639
38747
|
routeAction.callSource;
|
|
38640
38748
|
const action = getActionPrivateProperties(routeAction).currentAction;
|
|
38641
|
-
if (action.params === NO_PARAMS
|
|
38749
|
+
if (action.params === NO_PARAMS) {
|
|
38642
38750
|
continue;
|
|
38643
38751
|
}
|
|
38644
|
-
|
|
38752
|
+
if (isKeepableRead(action)) {
|
|
38753
|
+
reads.push(actionReadOf(action, action.name, readRows));
|
|
38754
|
+
} else {
|
|
38755
|
+
reads.push(
|
|
38756
|
+
actionReadOf(
|
|
38757
|
+
action,
|
|
38758
|
+
getRouteActionKeptName(routeAction),
|
|
38759
|
+
readPlainValue,
|
|
38760
|
+
),
|
|
38761
|
+
);
|
|
38762
|
+
}
|
|
38645
38763
|
}
|
|
38646
38764
|
for (const reader of shownRangeReadersSignal.value.keys()) {
|
|
38647
38765
|
reads.push(rangeReadOf(reader));
|
|
@@ -38727,6 +38845,57 @@ const keepPageOnScreen = ({
|
|
|
38727
38845
|
return stop;
|
|
38728
38846
|
};
|
|
38729
38847
|
|
|
38848
|
+
const readRows = (action) => {
|
|
38849
|
+
const data = action.dataSignal.value;
|
|
38850
|
+
if (data === undefined || data === null) {
|
|
38851
|
+
return undefined;
|
|
38852
|
+
}
|
|
38853
|
+
return serializeData(data);
|
|
38854
|
+
};
|
|
38855
|
+
const readPlainValue = (action) => {
|
|
38856
|
+
const value = action.valueSignal.value;
|
|
38857
|
+
if (value === undefined || !isPlainData(value, new Set())) {
|
|
38858
|
+
return undefined;
|
|
38859
|
+
}
|
|
38860
|
+
return value;
|
|
38861
|
+
};
|
|
38862
|
+
// What JSON writes and reads back as it was. `undefined` inside is accepted:
|
|
38863
|
+
// JSON drops the key, which reads the same.
|
|
38864
|
+
const isPlainData = (value, ancestorSet) => {
|
|
38865
|
+
if (value === null || value === undefined) {
|
|
38866
|
+
return true;
|
|
38867
|
+
}
|
|
38868
|
+
const type = typeof value;
|
|
38869
|
+
if (type === "string" || type === "boolean") {
|
|
38870
|
+
return true;
|
|
38871
|
+
}
|
|
38872
|
+
if (type === "number") {
|
|
38873
|
+
return Number.isFinite(value);
|
|
38874
|
+
}
|
|
38875
|
+
if (type !== "object") {
|
|
38876
|
+
return false;
|
|
38877
|
+
}
|
|
38878
|
+
if (ancestorSet.has(value)) {
|
|
38879
|
+
return false;
|
|
38880
|
+
}
|
|
38881
|
+
const isArray = Array.isArray(value);
|
|
38882
|
+
if (!isArray) {
|
|
38883
|
+
const proto = Object.getPrototypeOf(value);
|
|
38884
|
+
if (proto !== Object.prototype && proto !== null) {
|
|
38885
|
+
return false;
|
|
38886
|
+
}
|
|
38887
|
+
}
|
|
38888
|
+
ancestorSet.add(value);
|
|
38889
|
+
const entries = isArray ? value : Object.values(value);
|
|
38890
|
+
for (const entry of entries) {
|
|
38891
|
+
if (!isPlainData(entry, ancestorSet)) {
|
|
38892
|
+
return false;
|
|
38893
|
+
}
|
|
38894
|
+
}
|
|
38895
|
+
ancestorSet.delete(value);
|
|
38896
|
+
return true;
|
|
38897
|
+
};
|
|
38898
|
+
|
|
38730
38899
|
/**
|
|
38731
38900
|
* A popup that is the anchor, brought to the front.
|
|
38732
38901
|
*
|
|
@@ -94243,5 +94412,5 @@ const UserSvg = () => jsx("svg", {
|
|
|
94243
94412
|
})
|
|
94244
94413
|
});
|
|
94245
94414
|
|
|
94246
|
-
export { ActionRenderer, ActiveKeyboardShortcuts, Address, Badge, BadgeCount, BadgeList, Binder, Box, Button, ButtonCopyToClipboard, CalloutStatusIcon, Caption, CardLayout, CheckSvg, CheckboxGroup, CloseSvg, Code, Col, Colgroup, Color, ConstructionSvg, ControlGroup, ControlSwap, DaySpin, Details, Dialog, Editable, ErrorBoundary, ErrorBoundaryContext, ExclamationSvg, Expandable, EyeClosedSvg, EyeSvg, Field, FixedBar, Form, Group, Head, HeartSvg, HomeSvg, Icon, Image, InfoSvg, Input, InputDuration, Interpolate, Label, Link, LinkAnchorSvg, LinkBlankTargetSvg, LinkCurrentSvg, List, ListItem, ListItemGroup, ListItems, Loading, LoadingDotsSvg, LoadingIndicator, LoadingIndicatorFluid, LoadingOutline, MessageBox, Meter, Nav, NaviDebug, NetworkPolicyError, NumberSpin, Paragraph, Picker, Popover, Popup, Quantity, RadioGroup, Route, RouteTransitionArea, RouteTravel, RowNumberCol, RowNumberTableCell, SVGMaskOverlay, SearchSvg, Select, SelectableInput, SelectionContext, Separator, SettingsSvg, SidePanel, Slide, SlideContainer, Spin, SpinGroup, SplitButton, StarSvg, Step, StepList, SummaryMarker, Svg, Table, TableCell, Tbody, Text, TextBox, Textarea, TextareaCharCount, Thead, Time, TimeRange, TimeRangeSpin, TimeRangeWheel, TimeSpin, TimeWheel, Title, Tr, UITransition, Unit, UserSvg, ViewportLayout, Wheel, WheelGroup, WheelItem, actionRunEffect, activeRouteActionsSignal, anyMatchingRouteSignal, applySearch, arraySignalMembership, canNavBackSignal, canNavForwardSignal, coarsePointerSignal, compareTwoJsValues, constraintFromValidityRule, createAction, createAvailableConstraint, createRequestCanceller, createSearch, createSelectionKeyboardShortcuts, createSlot, defineInteractionDetector, defineRouteDefaultTransition, defineRouteTransition, detectHorizontalOverflow, dispatchRequestSetUIState, enableDebugActions, enableDebugOnDocumentLoading, enableVirtualKeyboardOverlay, ensureDocumentStartViewTransition, errorIsDisplayed, filterTableSelection, getNowHours, getNowHoursRoundedToStep, isCellSelected, isColumnSelected, isNetworkPolicyError, isRowSelected, isScrolling, isToday, keepPageOnScreen, languagesSignal, localStorageSignal, markAsOutsideTextFlow, markErrorAsDisplayedBy, moveArrayItemByIndex, moveFocusTo, navBack, navForward, navIntegratedVia, navTo, naviI18n, openCallout, preloadUrl, rawUrlPart, registerGlobalConstraint, reload, rerunActions, resource, route, routeAction, routeFallback, scrollActivitySignal, setBaseUrl, setNetworkPolicy, setPreferredLanguage, setSupportedLanguages, setUrlTargetOptions, setupRoutes, smallTouchScreenSignal, stateSignal, stopLoad, stringifyTableSelectionValue, swapArrayItemByIndex, syncOwnedResourceToSignals, syncResourceToSignals, triggerNaviCommand, updateActions, useActionStatus, useArraySignalMembership, useAsyncData, useCalloutElement, useCalloutRequestClose, useCanNavBack, useCanNavForward, useCancelPrevious, useCellGridFromRows, useConstraintValidityState, useDependenciesDiff, useDisplayedLayoutEffect, useDocumentResource, useDocumentState, useDocumentUrl, useEditionController, useFocusGroup, useInputGroup, useKeyboardShortcuts, useNavState, useNetworkPolicyReason, useOrderedColumns, usePickerState, usePopupMode, useRouteStatus, useSearchText, useSelectableElement, useSelectionController, useSignalSync, useSlideContainer, useSlideValue, useStateArray, useTitleLevel, useTransitionCover, useUrlSearchParam, useUrlTargetId, valueInLocalStorage, windowWidthSignal };
|
|
94415
|
+
export { ActionRenderer, ActiveKeyboardShortcuts, Address, Badge, BadgeCount, BadgeList, Binder, Box, Button, ButtonCopyToClipboard, CalloutStatusIcon, Caption, CardLayout, CheckSvg, CheckboxGroup, CloseSvg, Code, Col, Colgroup, Color, ConstructionSvg, ControlGroup, ControlSwap, DaySpin, Details, Dialog, Editable, ErrorBoundary, ErrorBoundaryContext, ExclamationSvg, Expandable, EyeClosedSvg, EyeSvg, Field, FixedBar, Form, Group, Head, HeartSvg, HomeSvg, Icon, Image, InfoSvg, Input, InputDuration, Interpolate, Label, Link, LinkAnchorSvg, LinkBlankTargetSvg, LinkCurrentSvg, List, ListItem, ListItemGroup, ListItems, Loading, LoadingDotsSvg, LoadingIndicator, LoadingIndicatorFluid, LoadingOutline, MessageBox, Meter, Nav, NaviDebug, NetworkPolicyError, NumberSpin, Paragraph, Picker, Popover, Popup, Quantity, RadioGroup, Route, RouteTransitionArea, RouteTravel, RowNumberCol, RowNumberTableCell, SVGMaskOverlay, SearchSvg, Select, SelectableInput, SelectionContext, Separator, SettingsSvg, SidePanel, Slide, SlideContainer, Spin, SpinGroup, SplitButton, StarSvg, Step, StepList, SummaryMarker, Svg, Table, TableCell, Tbody, Text, TextBox, Textarea, TextareaCharCount, Thead, Time, TimeRange, TimeRangeSpin, TimeRangeWheel, TimeSpin, TimeWheel, Title, Tr, UITransition, Unit, UserSvg, ViewportLayout, Wheel, WheelGroup, WheelItem, actionRunEffect, activeRouteActionsSignal, activeRouteReadsSignal, anyMatchingRouteSignal, applySearch, arraySignalMembership, canNavBackSignal, canNavForwardSignal, coarsePointerSignal, compareTwoJsValues, constraintFromValidityRule, createAction, createAvailableConstraint, createRequestCanceller, createSearch, createSelectionKeyboardShortcuts, createSlot, defineInteractionDetector, defineRouteDefaultTransition, defineRouteTransition, detectHorizontalOverflow, dispatchRequestSetUIState, enableDebugActions, enableDebugOnDocumentLoading, enableVirtualKeyboardOverlay, ensureDocumentStartViewTransition, errorIsDisplayed, filterTableSelection, getNowHours, getNowHoursRoundedToStep, isCellSelected, isColumnSelected, isNetworkPolicyError, isRowSelected, isScrolling, isToday, keepPageOnScreen, languagesSignal, localStorageSignal, markAsOutsideTextFlow, markErrorAsDisplayedBy, moveArrayItemByIndex, moveFocusTo, navBack, navForward, navIntegratedVia, navTo, naviI18n, openCallout, preloadUrl, rawUrlPart, registerGlobalConstraint, reload, rerunActions, resource, route, routeAction, routeFallback, scrollActivitySignal, setBaseUrl, setNetworkPolicy, setPreferredLanguage, setSupportedLanguages, setUrlTargetOptions, setupRoutes, smallTouchScreenSignal, stateSignal, stopLoad, stringifyTableSelectionValue, swapArrayItemByIndex, syncOwnedResourceToSignals, syncResourceToSignals, triggerNaviCommand, updateActions, useActionStatus, useArraySignalMembership, useAsyncData, useCalloutElement, useCalloutRequestClose, useCanNavBack, useCanNavForward, useCancelPrevious, useCellGridFromRows, useConstraintValidityState, useDependenciesDiff, useDisplayedLayoutEffect, useDocumentResource, useDocumentState, useDocumentUrl, useEditionController, useFocusGroup, useInputGroup, useKeyboardShortcuts, useNavState, useNetworkPolicyReason, useOrderedColumns, usePickerState, usePopupMode, useRouteStatus, useSearchText, useSelectableElement, useSelectionController, useSignalSync, useSlideContainer, useSlideValue, useStateArray, useTitleLevel, useTransitionCover, useUrlSearchParam, useUrlTargetId, valueInLocalStorage, windowWidthSignal };
|
|
94247
94416
|
//# sourceMappingURL=jsenv_navi.js.map
|