@jsenv/navi 0.29.130 → 0.29.132
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/jsenv_navi.js
CHANGED
|
@@ -39245,7 +39245,6 @@ installImportMetaCssBuild(import.meta);const css$W = /* css */`
|
|
|
39245
39245
|
outline-style: solid;
|
|
39246
39246
|
outline-color: var(--link-outline-color);
|
|
39247
39247
|
cursor: var(--x-link-cursor);
|
|
39248
|
-
-webkit-tap-highlight-color: var(--navi-control-tap-highlight-color);
|
|
39249
39248
|
|
|
39250
39249
|
.navi_current_indicator {
|
|
39251
39250
|
position: absolute;
|
|
@@ -44090,7 +44089,6 @@ installImportMetaCssBuild(import.meta);const css$N = /* css */`
|
|
|
44090
44089
|
opacity: 0;
|
|
44091
44090
|
appearance: none; /* This allows border-radius to have an effect */
|
|
44092
44091
|
cursor: var(--x-cursor);
|
|
44093
|
-
-webkit-tap-highlight-color: var(--navi-control-tap-highlight-color);
|
|
44094
44092
|
}
|
|
44095
44093
|
|
|
44096
44094
|
.navi_checkbox_accent_probe {
|
|
@@ -44871,7 +44869,6 @@ installImportMetaCssBuild(import.meta);const css$L = /* css */`
|
|
|
44871
44869
|
opacity: 0;
|
|
44872
44870
|
appearance: none; /* This allows border-radius to have an effect */
|
|
44873
44871
|
cursor: var(--x-cursor);
|
|
44874
|
-
-webkit-tap-highlight-color: var(--navi-control-tap-highlight-color);
|
|
44875
44872
|
}
|
|
44876
44873
|
|
|
44877
44874
|
/* Focus */
|
|
@@ -45434,7 +45431,6 @@ installImportMetaCssBuild(import.meta);const css$K = /* css */`
|
|
|
45434
45431
|
min-width: inherit;
|
|
45435
45432
|
font-size: inherit;
|
|
45436
45433
|
appearance: none;
|
|
45437
|
-
-webkit-tap-highlight-color: var(--navi-control-tap-highlight-color);
|
|
45438
45434
|
|
|
45439
45435
|
&::-webkit-slider-thumb {
|
|
45440
45436
|
width: var(--thumb-width);
|
|
@@ -46145,7 +46141,6 @@ installImportMetaCssBuild(import.meta);const css$J = /* css */`
|
|
|
46145
46141
|
cursor: var(--x-button-cursor);
|
|
46146
46142
|
touch-action: manipulation;
|
|
46147
46143
|
user-select: none;
|
|
46148
|
-
-webkit-tap-highlight-color: var(--navi-control-tap-highlight-color);
|
|
46149
46144
|
|
|
46150
46145
|
.navi_button_content {
|
|
46151
46146
|
/* The ask stops here: this element is the button's frame, so what is
|
|
@@ -47497,7 +47492,6 @@ const inputCss = /* css */`
|
|
|
47497
47492
|
border: none;
|
|
47498
47493
|
border-radius: inherit;
|
|
47499
47494
|
outline: none;
|
|
47500
|
-
-webkit-tap-highlight-color: var(--navi-control-tap-highlight-color);
|
|
47501
47495
|
|
|
47502
47496
|
&::placeholder {
|
|
47503
47497
|
color: var(--x-placeholder-color);
|
|
@@ -59302,6 +59296,22 @@ const PickerConfirmBody = ({
|
|
|
59302
59296
|
|
|
59303
59297
|
const PickerContext = createContext();
|
|
59304
59298
|
|
|
59299
|
+
/*
|
|
59300
|
+
* A typed picker (`type="date"`, `type="array"`, …) draws its value with a ui
|
|
59301
|
+
* of navi's own, installed as the very "ui" prop a caller overrides to draw
|
|
59302
|
+
* that value themselves. Marking navi's own tells the two apart afterwards:
|
|
59303
|
+
* an empty value is greyed as a placeholder only when the drawing is navi's —
|
|
59304
|
+
* a caller's ui may well be their way of writing "no filter", which is an
|
|
59305
|
+
* answer, not a blank (see navi-placeholder in picker.jsx).
|
|
59306
|
+
*/
|
|
59307
|
+
const asPickerOwnUI = PickerUI => {
|
|
59308
|
+
PickerUI.isPickerOwnUI = true;
|
|
59309
|
+
return PickerUI;
|
|
59310
|
+
};
|
|
59311
|
+
const pickerUIIsNaviOwn = ui => {
|
|
59312
|
+
return Boolean(ui) && typeof ui === "object" && Boolean(ui.type?.isPickerOwnUI);
|
|
59313
|
+
};
|
|
59314
|
+
|
|
59305
59315
|
const PickerNaviMinute = props => {
|
|
59306
59316
|
const Next = useNextResolver();
|
|
59307
59317
|
const {
|
|
@@ -60124,7 +60134,6 @@ installImportMetaCssBuild(import.meta);const css$y = /* css */`
|
|
|
60124
60134
|
inputs (a horizontal list of choices), so it takes the control line
|
|
60125
60135
|
with the control font — the same number of pixels tall as them. */
|
|
60126
60136
|
line-height: var(--navi-control-line-height);
|
|
60127
|
-
-webkit-tap-highlight-color: var(--navi-control-tap-highlight-color);
|
|
60128
60137
|
}
|
|
60129
60138
|
}
|
|
60130
60139
|
|
|
@@ -66342,7 +66351,7 @@ const PickerObject = props => {
|
|
|
66342
66351
|
"navi-state-shape": "object"
|
|
66343
66352
|
});
|
|
66344
66353
|
};
|
|
66345
|
-
const PickerObjectUI = () => {
|
|
66354
|
+
const PickerObjectUI = asPickerOwnUI(() => {
|
|
66346
66355
|
const {
|
|
66347
66356
|
value,
|
|
66348
66357
|
placeholder
|
|
@@ -66367,7 +66376,7 @@ const PickerObjectUI = () => {
|
|
|
66367
66376
|
}, key);
|
|
66368
66377
|
})
|
|
66369
66378
|
});
|
|
66370
|
-
};
|
|
66379
|
+
});
|
|
66371
66380
|
const PickerArray = props => {
|
|
66372
66381
|
const Next = useNextResolver();
|
|
66373
66382
|
return jsx(Next, {
|
|
@@ -66377,7 +66386,7 @@ const PickerArray = props => {
|
|
|
66377
66386
|
"navi-state-shape": "array"
|
|
66378
66387
|
});
|
|
66379
66388
|
};
|
|
66380
|
-
const PickerArrayUI = () => {
|
|
66389
|
+
const PickerArrayUI = asPickerOwnUI(() => {
|
|
66381
66390
|
const {
|
|
66382
66391
|
value,
|
|
66383
66392
|
placeholder,
|
|
@@ -66399,7 +66408,7 @@ const PickerArrayUI = () => {
|
|
|
66399
66408
|
}, item);
|
|
66400
66409
|
})
|
|
66401
66410
|
});
|
|
66402
|
-
};
|
|
66411
|
+
});
|
|
66403
66412
|
|
|
66404
66413
|
/**
|
|
66405
66414
|
* One value the picker holds, drawn as a chip with a cross that takes it back
|
|
@@ -66460,7 +66469,7 @@ const PickerColor = props => {
|
|
|
66460
66469
|
...props
|
|
66461
66470
|
});
|
|
66462
66471
|
};
|
|
66463
|
-
const PickerColorUI = () => {
|
|
66472
|
+
const PickerColorUI = asPickerOwnUI(() => {
|
|
66464
66473
|
const {
|
|
66465
66474
|
value,
|
|
66466
66475
|
placeholder
|
|
@@ -66474,7 +66483,7 @@ const PickerColorUI = () => {
|
|
|
66474
66483
|
return jsx(Color, {
|
|
66475
66484
|
children: value
|
|
66476
66485
|
});
|
|
66477
|
-
};
|
|
66486
|
+
});
|
|
66478
66487
|
const PickerDate = props => {
|
|
66479
66488
|
const Next = useNextResolver();
|
|
66480
66489
|
return jsx(Next, {
|
|
@@ -66484,7 +66493,7 @@ const PickerDate = props => {
|
|
|
66484
66493
|
type: "date"
|
|
66485
66494
|
});
|
|
66486
66495
|
};
|
|
66487
|
-
const PickerDateUI = props => {
|
|
66496
|
+
const PickerDateUI = asPickerOwnUI(props => {
|
|
66488
66497
|
const {
|
|
66489
66498
|
value,
|
|
66490
66499
|
placeholder
|
|
@@ -66506,7 +66515,7 @@ const PickerDateUI = props => {
|
|
|
66506
66515
|
...props,
|
|
66507
66516
|
children: value
|
|
66508
66517
|
});
|
|
66509
|
-
};
|
|
66518
|
+
});
|
|
66510
66519
|
const PickerMonth = props => {
|
|
66511
66520
|
const Next = useNextResolver();
|
|
66512
66521
|
return jsx(Next, {
|
|
@@ -66516,7 +66525,7 @@ const PickerMonth = props => {
|
|
|
66516
66525
|
type: "month"
|
|
66517
66526
|
});
|
|
66518
66527
|
};
|
|
66519
|
-
const PickerMonthUI = props => {
|
|
66528
|
+
const PickerMonthUI = asPickerOwnUI(props => {
|
|
66520
66529
|
const {
|
|
66521
66530
|
value,
|
|
66522
66531
|
placeholder
|
|
@@ -66537,7 +66546,7 @@ const PickerMonthUI = props => {
|
|
|
66537
66546
|
...props,
|
|
66538
66547
|
children: value
|
|
66539
66548
|
});
|
|
66540
|
-
};
|
|
66549
|
+
});
|
|
66541
66550
|
const PickerWeek = props => {
|
|
66542
66551
|
const Next = useNextResolver();
|
|
66543
66552
|
return jsx(Next, {
|
|
@@ -66547,7 +66556,7 @@ const PickerWeek = props => {
|
|
|
66547
66556
|
type: "week"
|
|
66548
66557
|
});
|
|
66549
66558
|
};
|
|
66550
|
-
const PickerWeekUI = props => {
|
|
66559
|
+
const PickerWeekUI = asPickerOwnUI(props => {
|
|
66551
66560
|
const {
|
|
66552
66561
|
value,
|
|
66553
66562
|
placeholder
|
|
@@ -66568,7 +66577,7 @@ const PickerWeekUI = props => {
|
|
|
66568
66577
|
...props,
|
|
66569
66578
|
children: value
|
|
66570
66579
|
});
|
|
66571
|
-
};
|
|
66580
|
+
});
|
|
66572
66581
|
const PickerTime = props => {
|
|
66573
66582
|
const Next = useNextResolver();
|
|
66574
66583
|
return jsx(Next, {
|
|
@@ -66578,7 +66587,7 @@ const PickerTime = props => {
|
|
|
66578
66587
|
type: "time"
|
|
66579
66588
|
});
|
|
66580
66589
|
};
|
|
66581
|
-
const PickerTimeUI = props => {
|
|
66590
|
+
const PickerTimeUI = asPickerOwnUI(props => {
|
|
66582
66591
|
const {
|
|
66583
66592
|
value,
|
|
66584
66593
|
placeholder
|
|
@@ -66598,7 +66607,7 @@ const PickerTimeUI = props => {
|
|
|
66598
66607
|
...props,
|
|
66599
66608
|
children: value
|
|
66600
66609
|
});
|
|
66601
|
-
};
|
|
66610
|
+
});
|
|
66602
66611
|
const PickerDuration = props => {
|
|
66603
66612
|
const Next = useNextResolver();
|
|
66604
66613
|
return jsx(Next, {
|
|
@@ -66609,7 +66618,7 @@ const PickerDuration = props => {
|
|
|
66609
66618
|
"navi-input-type": "duration"
|
|
66610
66619
|
});
|
|
66611
66620
|
};
|
|
66612
|
-
const PickerDurationUI = props => {
|
|
66621
|
+
const PickerDurationUI = asPickerOwnUI(props => {
|
|
66613
66622
|
const {
|
|
66614
66623
|
value,
|
|
66615
66624
|
placeholder
|
|
@@ -66629,7 +66638,7 @@ const PickerDurationUI = props => {
|
|
|
66629
66638
|
...props,
|
|
66630
66639
|
children: value
|
|
66631
66640
|
});
|
|
66632
|
-
};
|
|
66641
|
+
});
|
|
66633
66642
|
const PickerDatetime = props => {
|
|
66634
66643
|
const Next = useNextResolver();
|
|
66635
66644
|
return jsx(Next, {
|
|
@@ -66639,7 +66648,7 @@ const PickerDatetime = props => {
|
|
|
66639
66648
|
type: "datetime-local"
|
|
66640
66649
|
});
|
|
66641
66650
|
};
|
|
66642
|
-
const PickerDatetimeUI = props => {
|
|
66651
|
+
const PickerDatetimeUI = asPickerOwnUI(props => {
|
|
66643
66652
|
const {
|
|
66644
66653
|
value,
|
|
66645
66654
|
placeholder
|
|
@@ -66658,7 +66667,7 @@ const PickerDatetimeUI = props => {
|
|
|
66658
66667
|
type: "datetime",
|
|
66659
66668
|
children: value
|
|
66660
66669
|
});
|
|
66661
|
-
};
|
|
66670
|
+
});
|
|
66662
66671
|
const PickerFile = props => {
|
|
66663
66672
|
const Next = useNextResolver();
|
|
66664
66673
|
return jsx(Next, {
|
|
@@ -66668,7 +66677,7 @@ const PickerFile = props => {
|
|
|
66668
66677
|
...props
|
|
66669
66678
|
});
|
|
66670
66679
|
};
|
|
66671
|
-
const PickerFileUI = () => {
|
|
66680
|
+
const PickerFileUI = asPickerOwnUI(() => {
|
|
66672
66681
|
const {
|
|
66673
66682
|
value,
|
|
66674
66683
|
placeholder
|
|
@@ -66681,7 +66690,7 @@ const PickerFileUI = () => {
|
|
|
66681
66690
|
}
|
|
66682
66691
|
// value is a FileList-like string from the input; display file names
|
|
66683
66692
|
return String(value);
|
|
66684
|
-
};
|
|
66693
|
+
});
|
|
66685
66694
|
|
|
66686
66695
|
installImportMetaCssBuild(import.meta);const css$t = /* css */`
|
|
66687
66696
|
@layer navi {
|
|
@@ -66870,7 +66879,6 @@ installImportMetaCssBuild(import.meta);const css$t = /* css */`
|
|
|
66870
66879
|
cursor: var(--x-picker-cursor, pointer);
|
|
66871
66880
|
pointer-events: auto;
|
|
66872
66881
|
/* user-select: none; */
|
|
66873
|
-
-webkit-tap-highlight-color: var(--navi-control-tap-highlight-color);
|
|
66874
66882
|
}
|
|
66875
66883
|
|
|
66876
66884
|
.navi_picker_value {
|
|
@@ -67513,11 +67521,16 @@ const PickerButton = props => {
|
|
|
67513
67521
|
,
|
|
67514
67522
|
|
|
67515
67523
|
"data-picker-facade": ui === undefined ? undefined : ""
|
|
67516
|
-
// A
|
|
67517
|
-
//
|
|
67524
|
+
// A placeholder is the picker saying "nothing here yet" about
|
|
67525
|
+
// the value navi draws — the default rendering, or the one a
|
|
67526
|
+
// typed picker installs for itself. A button's label is not
|
|
67527
|
+
// that, however empty the picker behind it is, and neither is a
|
|
67528
|
+
// caller's own "ui": an empty value may be exactly what the
|
|
67529
|
+
// caller is drawing there ("no filter", "anywhere"), so how it
|
|
67530
|
+
// looks empty stays theirs (documented on the ui prop below).
|
|
67518
67531
|
,
|
|
67519
67532
|
|
|
67520
|
-
"navi-placeholder": variant !== "button" && variant !== "text" && uiStateHoldsNothing(value) ? "" : undefined,
|
|
67533
|
+
"navi-placeholder": (ui === undefined || pickerUIIsNaviOwn(ui)) && variant !== "button" && variant !== "text" && uiStateHoldsNothing(value) ? "" : undefined,
|
|
67521
67534
|
maxLines: maxLines,
|
|
67522
67535
|
children: jsx(PickerOwnContent, {
|
|
67523
67536
|
children: jsx(PickerContext.Provider, {
|
|
@@ -67946,10 +67959,6 @@ const css$s = /* css */`
|
|
|
67946
67959
|
keyboard here (see navi-focus-delegate below). */
|
|
67947
67960
|
outline-color: var(--navi-focus-outline-color);
|
|
67948
67961
|
outline-offset: 0px;
|
|
67949
|
-
/* No grey flash under a finger: what a press does is said by the chevron's
|
|
67950
|
-
own background, and the browser's rectangle is drawn square over corners
|
|
67951
|
-
that are round. Inherited, so the three pieces inside get it too. */
|
|
67952
|
-
-webkit-tap-highlight-color: var(--navi-control-tap-highlight-color);
|
|
67953
67962
|
}
|
|
67954
67963
|
/* The middle holds the keyboard, and this box wears its ring: whatever is in
|
|
67955
67964
|
there fills it, so a ring of its own would be drawn a pixel inside this
|
|
@@ -68203,7 +68212,6 @@ const css$s = /* css */`
|
|
|
68203
68212
|
outline-width: var(--navi-focus-outline-width);
|
|
68204
68213
|
outline-color: var(--navi-focus-outline-color);
|
|
68205
68214
|
outline-offset: 0px;
|
|
68206
|
-
-webkit-tap-highlight-color: var(--navi-control-tap-highlight-color);
|
|
68207
68215
|
}
|
|
68208
68216
|
/* A value one PICKS has nowhere of its own to wear a ring — its middle is a
|
|
68209
68217
|
container that hands the ring over (data-focus-outline-delegate) — so the
|
|
@@ -71145,7 +71153,6 @@ const css$m = /* css */`
|
|
|
71145
71153
|
border: var(--navi-control-border-width) solid
|
|
71146
71154
|
var(--navi-control-border-color);
|
|
71147
71155
|
border-radius: var(--navi-control-border-radius);
|
|
71148
|
-
-webkit-tap-highlight-color: var(--navi-control-tap-highlight-color);
|
|
71149
71156
|
|
|
71150
71157
|
&:focus {
|
|
71151
71158
|
/* Keyboard focus rings the center window only (see .navi_wheel_focus_ring) —
|
|
@@ -71275,7 +71282,6 @@ const css$m = /* css */`
|
|
|
71275
71282
|
inherited here, so it stays fixed to the center window rather than flipping
|
|
71276
71283
|
as rows scroll under the pointer. */
|
|
71277
71284
|
user-select: none;
|
|
71278
|
-
-webkit-tap-highlight-color: transparent;
|
|
71279
71285
|
/* NO content-visibility here, ever. content-visibility: auto was tried
|
|
71280
71286
|
(to skip painting clipped rows) and it breaks the first opening of any
|
|
71281
71287
|
popup holding a wheel: rows born inside a closed dialog are "skipped"
|