@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/dev/jsenv_navi.js
CHANGED
|
@@ -2975,6 +2975,41 @@ const setActionPrivateProperties = (action, properties) => {
|
|
|
2975
2975
|
actionPrivatePropertiesWeakMap.set(action, properties);
|
|
2976
2976
|
};
|
|
2977
2977
|
|
|
2978
|
+
/*
|
|
2979
|
+
* Where an action that declares no provisionalValue of its own finds one: the
|
|
2980
|
+
* value the page kept from the previous document, for a route action that is
|
|
2981
|
+
* not a resource read (see keepPageOnScreen in nav/page_kept.js). routeAction
|
|
2982
|
+
* adds the source when it binds the action; a run asks for it at its start,
|
|
2983
|
+
* like it asks provisionalValue (actions.js).
|
|
2984
|
+
*
|
|
2985
|
+
* A registry beside actions.js rather than an import of the kept reads: those
|
|
2986
|
+
* know about stores and params keys, which import actions.js.
|
|
2987
|
+
*/
|
|
2988
|
+
|
|
2989
|
+
const keptValueSourcesWeakMap = new WeakMap();
|
|
2990
|
+
const addKeptValueSource = (rootAction, source) => {
|
|
2991
|
+
let sources = keptValueSourcesWeakMap.get(rootAction);
|
|
2992
|
+
if (!sources) {
|
|
2993
|
+
sources = [];
|
|
2994
|
+
keptValueSourcesWeakMap.set(rootAction, sources);
|
|
2995
|
+
}
|
|
2996
|
+
sources.push(source);
|
|
2997
|
+
};
|
|
2998
|
+
const takeKeptValue = (action, params) => {
|
|
2999
|
+
const rootAction = action.rootAction || action;
|
|
3000
|
+
const sources = keptValueSourcesWeakMap.get(rootAction);
|
|
3001
|
+
if (!sources) {
|
|
3002
|
+
return undefined;
|
|
3003
|
+
}
|
|
3004
|
+
for (const source of sources) {
|
|
3005
|
+
const value = source(params);
|
|
3006
|
+
if (value !== undefined) {
|
|
3007
|
+
return value;
|
|
3008
|
+
}
|
|
3009
|
+
}
|
|
3010
|
+
return undefined;
|
|
3011
|
+
};
|
|
3012
|
+
|
|
2978
3013
|
/*
|
|
2979
3014
|
* Actions: async callbacks wrapped in reactive state.
|
|
2980
3015
|
*
|
|
@@ -4210,8 +4245,12 @@ const createAction = (callback, rootOptions = {}) => {
|
|
|
4210
4245
|
actionAbortMap.set(action, abort);
|
|
4211
4246
|
|
|
4212
4247
|
batch(() => {
|
|
4213
|
-
if (
|
|
4214
|
-
|
|
4248
|
+
if (valueSignal.peek() === undefined) {
|
|
4249
|
+
// An action saying nothing of its own may still have a value the
|
|
4250
|
+
// page kept from the previous document (see kept_values.js).
|
|
4251
|
+
const provisional = provisionalValue
|
|
4252
|
+
? provisionalValue(params, action)
|
|
4253
|
+
: takeKeptValue(action, params);
|
|
4215
4254
|
if (provisional !== undefined) {
|
|
4216
4255
|
valueSignal.value = provisional;
|
|
4217
4256
|
}
|
|
@@ -26749,10 +26788,10 @@ const isOwnerReadBy = (childResource, childAction, ownerGetAction) => {
|
|
|
26749
26788
|
* out again, after a reset say, it would write the previous document's rows
|
|
26750
26789
|
* over a fresher answer.
|
|
26751
26790
|
*
|
|
26752
|
-
* This module is the half the
|
|
26753
|
-
* take from it
|
|
26754
|
-
*
|
|
26755
|
-
* page_kept.js.
|
|
26791
|
+
* This module is the half the reads see: `resource()` and the range reader
|
|
26792
|
+
* take from it and say which of their reads are kept as rows, routeAction takes
|
|
26793
|
+
* from it for any other action (through action/kept_values.js). Which reads are
|
|
26794
|
+
* on the page on screen, and what the slot is written into, is page_kept.js.
|
|
26756
26795
|
*/
|
|
26757
26796
|
|
|
26758
26797
|
// key → what the read answered in the previous document, not handed out yet
|
|
@@ -26775,9 +26814,10 @@ const takeKeptRead = (key) => {
|
|
|
26775
26814
|
return entry;
|
|
26776
26815
|
};
|
|
26777
26816
|
|
|
26778
|
-
// The root actions whose answer is rows of a store
|
|
26779
|
-
//
|
|
26780
|
-
//
|
|
26817
|
+
// The root actions whose answer is rows of a store: a resource's GET and
|
|
26818
|
+
// GET_MANY. They are kept as rows, since their value (ids) names rows a new
|
|
26819
|
+
// document's store does not hold. Any other route action is kept by its value
|
|
26820
|
+
// (see page_kept.js).
|
|
26781
26821
|
const keepableReadWeakSet = new WeakSet();
|
|
26782
26822
|
const markKeepableRead = (rootAction) => {
|
|
26783
26823
|
keepableReadWeakSet.add(rootAction);
|
|
@@ -39211,18 +39251,24 @@ const writeCover = (edge, element, size) => {
|
|
|
39211
39251
|
// Every route action, with whether it asks something of the address at the
|
|
39212
39252
|
// moment: its route matches and its params getter returns something.
|
|
39213
39253
|
const routeActionEntriesSignal = signal([]);
|
|
39254
|
+
// What a route action is called in the page kept for the next document (see
|
|
39255
|
+
// keepPageOnScreen): its place among the route actions declared, which the
|
|
39256
|
+
// next document of the same build declares in the same order. A resource read
|
|
39257
|
+
// has a name of its own and is kept by it; an action made from a callback is
|
|
39258
|
+
// most often "anonymous", and several of them read the same page.
|
|
39259
|
+
const keptNameWeakMap = new WeakMap();
|
|
39260
|
+
const getRouteActionKeptName = (routeAction) => {
|
|
39261
|
+
return keptNameWeakMap.get(routeAction);
|
|
39262
|
+
};
|
|
39214
39263
|
let activeRouteActionsPrevious = new Set();
|
|
39215
39264
|
/**
|
|
39216
39265
|
* The route actions asking something for the page on screen: their route
|
|
39217
39266
|
* matches and their params getter returns something — the running ones, not
|
|
39218
39267
|
* every matching one, so an action bound to every page that asks only when a
|
|
39219
|
-
* popup is open over it counts while it is open.
|
|
39220
|
-
*
|
|
39268
|
+
* popup is open over it counts while it is open. The page's code included (see
|
|
39269
|
+
* `activeRouteReadsSignal` for the set to rerun). Read by `keepPageOnScreen`.
|
|
39221
39270
|
* The set is handed out again only when its members change.
|
|
39222
39271
|
*
|
|
39223
|
-
* A page's code is declared as a route action too; `action.meta.verb` says
|
|
39224
|
-
* which ones read data.
|
|
39225
|
-
*
|
|
39226
39272
|
* @type {import("@preact/signals").ReadonlySignal<Set<object>>}
|
|
39227
39273
|
*/
|
|
39228
39274
|
const activeRouteActionsSignal = computed(() => {
|
|
@@ -39239,6 +39285,36 @@ const activeRouteActionsSignal = computed(() => {
|
|
|
39239
39285
|
return active;
|
|
39240
39286
|
});
|
|
39241
39287
|
|
|
39288
|
+
let activeRouteReadsPrevious = new Set();
|
|
39289
|
+
/**
|
|
39290
|
+
* `activeRouteActionsSignal` without the page's code: what to rerun to read
|
|
39291
|
+
* the page on screen again, the app back from the background. A page's code
|
|
39292
|
+
* has nothing to read again — a module does not change until a deploy — and
|
|
39293
|
+
* rerunning it is not free: a page reading its code the delegated way
|
|
39294
|
+
* (`useAsyncData(CODE)` under a `<Loading>`) leaves the document for the frame
|
|
39295
|
+
* the import takes, and its lists lose their scroll position.
|
|
39296
|
+
*
|
|
39297
|
+
* Code is told by its answer: a function (the page component) or a module
|
|
39298
|
+
* namespace. An import that failed has none and stays in the set; rerun, it
|
|
39299
|
+
* fails again at once, since the document refuses a module it failed to fetch.
|
|
39300
|
+
*
|
|
39301
|
+
* @type {import("@preact/signals").ReadonlySignal<Set<object>>}
|
|
39302
|
+
*/
|
|
39303
|
+
const activeRouteReadsSignal = computed(() => {
|
|
39304
|
+
const reads = new Set();
|
|
39305
|
+
for (const routeAction of activeRouteActionsSignal.value) {
|
|
39306
|
+
if (isCode(routeAction.valueSignal.value)) {
|
|
39307
|
+
continue;
|
|
39308
|
+
}
|
|
39309
|
+
reads.add(routeAction);
|
|
39310
|
+
}
|
|
39311
|
+
if (haveSameMembers(reads, activeRouteReadsPrevious)) {
|
|
39312
|
+
return activeRouteReadsPrevious;
|
|
39313
|
+
}
|
|
39314
|
+
activeRouteReadsPrevious = reads;
|
|
39315
|
+
return reads;
|
|
39316
|
+
});
|
|
39317
|
+
|
|
39242
39318
|
/**
|
|
39243
39319
|
* Binds an action to a route: it runs when the route matches, with the params
|
|
39244
39320
|
* the effect reads off the address, runs again on a `reload()`, and is aborted
|
|
@@ -39295,7 +39371,16 @@ const routeAction = (
|
|
|
39295
39371
|
}
|
|
39296
39372
|
return params;
|
|
39297
39373
|
};
|
|
39374
|
+
const rootAction = rootActionOf(action);
|
|
39375
|
+
const keptName = `route_action#${routeActionEntriesSignal.peek().length} ${rootAction.name}`;
|
|
39376
|
+
if (!isKeepableRead(rootAction)) {
|
|
39377
|
+
// Before the effect below: it may run the action at once.
|
|
39378
|
+
addKeptValueSource(rootAction, (params) =>
|
|
39379
|
+
takeKeptRead(getKeptReadKey(keptName, params)),
|
|
39380
|
+
);
|
|
39381
|
+
}
|
|
39298
39382
|
const actionBoundToRoute = actionRunEffect(action, readParamsAsked, options);
|
|
39383
|
+
keptNameWeakMap.set(actionBoundToRoute, keptName);
|
|
39299
39384
|
routeActionEntriesSignal.value = [
|
|
39300
39385
|
...routeActionEntriesSignal.peek(),
|
|
39301
39386
|
{
|
|
@@ -39386,6 +39471,24 @@ const anyMatchingRouteSignal = (routes) => {
|
|
|
39386
39471
|
return anyMatchingSignal;
|
|
39387
39472
|
};
|
|
39388
39473
|
|
|
39474
|
+
const isCode = (value) => {
|
|
39475
|
+
if (typeof value === "function") {
|
|
39476
|
+
return true;
|
|
39477
|
+
}
|
|
39478
|
+
return (
|
|
39479
|
+
value !== null &&
|
|
39480
|
+
typeof value === "object" &&
|
|
39481
|
+
value[Symbol.toStringTag] === "Module"
|
|
39482
|
+
);
|
|
39483
|
+
};
|
|
39484
|
+
|
|
39485
|
+
const rootActionOf = (action) => {
|
|
39486
|
+
if (action.isProxy) {
|
|
39487
|
+
return rootActionOf(getActionPrivateProperties(action).currentAction);
|
|
39488
|
+
}
|
|
39489
|
+
return action.rootAction || action;
|
|
39490
|
+
};
|
|
39491
|
+
|
|
39389
39492
|
const haveSameMembers = (setA, setB) => {
|
|
39390
39493
|
if (setA.size !== setB.size) {
|
|
39391
39494
|
return false;
|
|
@@ -39413,6 +39516,15 @@ const haveSameMembers = (setA, setB) => {
|
|
|
39413
39516
|
* (shownRangeReadersSignal). A search typed on the page is neither, and is not
|
|
39414
39517
|
* kept.
|
|
39415
39518
|
*
|
|
39519
|
+
* What a read is made of on the way out depends on what it holds. A resource
|
|
39520
|
+
* read holds ids, which name rows a new document's store does not have: its
|
|
39521
|
+
* rows are written, and re-enter the store. Any other route action holds its
|
|
39522
|
+
* value, written as it is when JSON brings it back as it was — a page's code
|
|
39523
|
+
* (a function), a Date built by the callback, a Map, are not, and are left
|
|
39524
|
+
* out. Such an action is recognized in the next document by its place among
|
|
39525
|
+
* the route actions declared (see getRouteActionKeptName), not by a name the
|
|
39526
|
+
* app would have to give every action made from a callback.
|
|
39527
|
+
*
|
|
39416
39528
|
* A read is written once it has answered in this document. Before that it
|
|
39417
39529
|
* keeps what the previous document kept for it, never what it shows meanwhile:
|
|
39418
39530
|
* an answer handed over from other params (a list standing in for the next
|
|
@@ -39439,17 +39551,19 @@ let stopKeepingCurrent = null;
|
|
|
39439
39551
|
* draws it again while its reads go out, rather than skeletons.
|
|
39440
39552
|
*
|
|
39441
39553
|
* What the page reads is what navi runs for it: the route actions asking
|
|
39442
|
-
* something for it (see `activeRouteActionsSignal`)
|
|
39443
|
-
*
|
|
39444
|
-
*
|
|
39445
|
-
*
|
|
39446
|
-
*
|
|
39447
|
-
*
|
|
39448
|
-
*
|
|
39449
|
-
*
|
|
39450
|
-
* rewrites it.
|
|
39451
|
-
*
|
|
39452
|
-
* Call it before the routes start: the first runs are the ones that look.
|
|
39554
|
+
* something for it (see `activeRouteActionsSignal`), and the `GET_RANGE`
|
|
39555
|
+
* compositions the `<List.Items>` on screen read, around the window they draw.
|
|
39556
|
+
* A resource read keeps its rows; any other route action keeps its value when
|
|
39557
|
+
* JSON brings it back as it was. A navigation replaces the slot with the next
|
|
39558
|
+
* page's reads, and the page left is dropped. In the next document, the first
|
|
39559
|
+
* run of the same read with the same params draws the kept answer as its
|
|
39560
|
+
* provisional value: `data` set while `loading` is `true`, the answer replacing
|
|
39561
|
+
* it. Under a network policy answering reads from the store, a resource read
|
|
39562
|
+
* completes with it. The copy follows the store: a `PUT` on a row rewrites it.
|
|
39563
|
+
*
|
|
39564
|
+
* Call it before the routes start: the first runs are the ones that look. And
|
|
39565
|
+
* declare the route actions where the app starts: one that is not a resource
|
|
39566
|
+
* read is recognized by its place among them.
|
|
39453
39567
|
*
|
|
39454
39568
|
* @param {object} options
|
|
39455
39569
|
* @param {import("@preact/signals").Signal} options.signal - where the slot is
|
|
@@ -39572,7 +39686,7 @@ const keepPageOnScreen = ({
|
|
|
39572
39686
|
});
|
|
39573
39687
|
|
|
39574
39688
|
const actionReadWeakMap = new WeakMap();
|
|
39575
|
-
const actionReadOf = (action) => {
|
|
39689
|
+
const actionReadOf = (action, keptName, readEntryOf) => {
|
|
39576
39690
|
let read = actionReadWeakMap.get(action);
|
|
39577
39691
|
if (read) {
|
|
39578
39692
|
return read;
|
|
@@ -39586,16 +39700,10 @@ const keepPageOnScreen = ({
|
|
|
39586
39700
|
answeredActionWeakSet.add(action);
|
|
39587
39701
|
}
|
|
39588
39702
|
return {
|
|
39589
|
-
key: getKeptReadKey(
|
|
39703
|
+
key: getKeptReadKey(keptName, action.params),
|
|
39590
39704
|
answered: answeredActionWeakSet.has(action),
|
|
39591
39705
|
landed,
|
|
39592
|
-
readEntry: () =>
|
|
39593
|
-
const data = action.dataSignal.value;
|
|
39594
|
-
if (data === undefined || data === null) {
|
|
39595
|
-
return undefined;
|
|
39596
|
-
}
|
|
39597
|
-
return serializeData(data);
|
|
39598
|
-
},
|
|
39706
|
+
readEntry: () => readEntryOf(action),
|
|
39599
39707
|
};
|
|
39600
39708
|
};
|
|
39601
39709
|
actionReadWeakMap.set(action, read);
|
|
@@ -39634,10 +39742,20 @@ const keepPageOnScreen = ({
|
|
|
39634
39742
|
// eslint-disable-next-line no-unused-expressions
|
|
39635
39743
|
routeAction.callSource;
|
|
39636
39744
|
const action = getActionPrivateProperties(routeAction).currentAction;
|
|
39637
|
-
if (action.params === NO_PARAMS
|
|
39745
|
+
if (action.params === NO_PARAMS) {
|
|
39638
39746
|
continue;
|
|
39639
39747
|
}
|
|
39640
|
-
|
|
39748
|
+
if (isKeepableRead(action)) {
|
|
39749
|
+
reads.push(actionReadOf(action, action.name, readRows));
|
|
39750
|
+
} else {
|
|
39751
|
+
reads.push(
|
|
39752
|
+
actionReadOf(
|
|
39753
|
+
action,
|
|
39754
|
+
getRouteActionKeptName(routeAction),
|
|
39755
|
+
readPlainValue,
|
|
39756
|
+
),
|
|
39757
|
+
);
|
|
39758
|
+
}
|
|
39641
39759
|
}
|
|
39642
39760
|
for (const reader of shownRangeReadersSignal.value.keys()) {
|
|
39643
39761
|
reads.push(rangeReadOf(reader));
|
|
@@ -39723,6 +39841,57 @@ const keepPageOnScreen = ({
|
|
|
39723
39841
|
return stop;
|
|
39724
39842
|
};
|
|
39725
39843
|
|
|
39844
|
+
const readRows = (action) => {
|
|
39845
|
+
const data = action.dataSignal.value;
|
|
39846
|
+
if (data === undefined || data === null) {
|
|
39847
|
+
return undefined;
|
|
39848
|
+
}
|
|
39849
|
+
return serializeData(data);
|
|
39850
|
+
};
|
|
39851
|
+
const readPlainValue = (action) => {
|
|
39852
|
+
const value = action.valueSignal.value;
|
|
39853
|
+
if (value === undefined || !isPlainData(value, new Set())) {
|
|
39854
|
+
return undefined;
|
|
39855
|
+
}
|
|
39856
|
+
return value;
|
|
39857
|
+
};
|
|
39858
|
+
// What JSON writes and reads back as it was. `undefined` inside is accepted:
|
|
39859
|
+
// JSON drops the key, which reads the same.
|
|
39860
|
+
const isPlainData = (value, ancestorSet) => {
|
|
39861
|
+
if (value === null || value === undefined) {
|
|
39862
|
+
return true;
|
|
39863
|
+
}
|
|
39864
|
+
const type = typeof value;
|
|
39865
|
+
if (type === "string" || type === "boolean") {
|
|
39866
|
+
return true;
|
|
39867
|
+
}
|
|
39868
|
+
if (type === "number") {
|
|
39869
|
+
return Number.isFinite(value);
|
|
39870
|
+
}
|
|
39871
|
+
if (type !== "object") {
|
|
39872
|
+
return false;
|
|
39873
|
+
}
|
|
39874
|
+
if (ancestorSet.has(value)) {
|
|
39875
|
+
return false;
|
|
39876
|
+
}
|
|
39877
|
+
const isArray = Array.isArray(value);
|
|
39878
|
+
if (!isArray) {
|
|
39879
|
+
const proto = Object.getPrototypeOf(value);
|
|
39880
|
+
if (proto !== Object.prototype && proto !== null) {
|
|
39881
|
+
return false;
|
|
39882
|
+
}
|
|
39883
|
+
}
|
|
39884
|
+
ancestorSet.add(value);
|
|
39885
|
+
const entries = isArray ? value : Object.values(value);
|
|
39886
|
+
for (const entry of entries) {
|
|
39887
|
+
if (!isPlainData(entry, ancestorSet)) {
|
|
39888
|
+
return false;
|
|
39889
|
+
}
|
|
39890
|
+
}
|
|
39891
|
+
ancestorSet.delete(value);
|
|
39892
|
+
return true;
|
|
39893
|
+
};
|
|
39894
|
+
|
|
39726
39895
|
/**
|
|
39727
39896
|
* A popup that is the anchor, brought to the front.
|
|
39728
39897
|
*
|
|
@@ -96461,5 +96630,5 @@ const UserSvg = () => jsx("svg", {
|
|
|
96461
96630
|
})
|
|
96462
96631
|
});
|
|
96463
96632
|
|
|
96464
|
-
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 };
|
|
96633
|
+
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 };
|
|
96465
96634
|
//# sourceMappingURL=jsenv_navi.js.map
|