@wix/himalaya-cli 0.1188.0 → 0.1189.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/dist/cli.mjs
CHANGED
|
@@ -6818,7 +6818,6 @@ function walk(node, registry, path2, out2) {
|
|
|
6818
6818
|
var SYSTEM_FONT_FAMILY, TONAL_ELEVATION_ALPHA, COLOR_TOKEN_PROPS, TYPOGRAPHY_TOKEN_PROPS;
|
|
6819
6819
|
var init_tokens = __esm({
|
|
6820
6820
|
"../../core/ts/src/tokens.ts"() {
|
|
6821
|
-
"use strict";
|
|
6822
6821
|
SYSTEM_FONT_FAMILY = "$system";
|
|
6823
6822
|
TONAL_ELEVATION_ALPHA = [0, 0.05, 0.08, 0.11, 0.12, 0.14];
|
|
6824
6823
|
COLOR_TOKEN_PROPS = {
|
|
@@ -31656,6 +31655,26 @@ function encodeDateFieldValue(raw) {
|
|
|
31656
31655
|
const ms = Date.parse(raw);
|
|
31657
31656
|
return Number.isFinite(ms) ? String(Math.trunc(ms / 1e3)) : "";
|
|
31658
31657
|
}
|
|
31658
|
+
function clampDateFieldValue(encoded2, minUnix, maxUnix, mode) {
|
|
31659
|
+
if (!/^-?\d+$/.test(encoded2)) return encoded2;
|
|
31660
|
+
return String(clampDateUnix(Number(encoded2), minUnix, maxUnix, mode));
|
|
31661
|
+
}
|
|
31662
|
+
function clampDateUnix(unix, minUnix, maxUnix, mode) {
|
|
31663
|
+
const onDay = (bound) => {
|
|
31664
|
+
if (typeof bound !== "number") return null;
|
|
31665
|
+
if (mode !== "time") return bound;
|
|
31666
|
+
const b = new Date(bound * 1e3);
|
|
31667
|
+
const d = new Date(unix * 1e3);
|
|
31668
|
+
d.setHours(b.getHours(), b.getMinutes(), b.getSeconds(), 0);
|
|
31669
|
+
return Math.floor(d.getTime() / 1e3);
|
|
31670
|
+
};
|
|
31671
|
+
const lo = onDay(minUnix);
|
|
31672
|
+
const hi = onDay(maxUnix);
|
|
31673
|
+
let held = unix;
|
|
31674
|
+
if (hi != null && held > hi) held = hi;
|
|
31675
|
+
if (lo != null && held < lo) held = lo;
|
|
31676
|
+
return held;
|
|
31677
|
+
}
|
|
31659
31678
|
var ISO_INTERNET_DATE_TIME;
|
|
31660
31679
|
var init_form_bag = __esm({
|
|
31661
31680
|
"../../core/ts/src/form-bag.ts"() {
|
|
@@ -37484,6 +37503,10 @@ var init_renderNode = __esm({
|
|
|
37484
37503
|
InteractiveDatePicker = withExtras("InteractiveDatePicker", ({ props, ctx, wrap }) => {
|
|
37485
37504
|
const C = ctx.color;
|
|
37486
37505
|
const timeMode = props.mode === "time";
|
|
37506
|
+
const dateTimeMode = props.mode === "datetime";
|
|
37507
|
+
const minUnix = typeof props.minUnix === "number" ? props.minUnix : null;
|
|
37508
|
+
const maxUnix = typeof props.maxUnix === "number" ? props.maxUnix : null;
|
|
37509
|
+
const clampUnix = (unix) => clampDateUnix(unix, minUnix, maxUnix, props.mode);
|
|
37487
37510
|
const boundRaw = useBoundValue(ctx, typeof props.valuePath === "string" && isBinding(props.valuePath) ? props.valuePath : "");
|
|
37488
37511
|
const seedUnix = () => {
|
|
37489
37512
|
if (typeof boundRaw === "number") return boundRaw;
|
|
@@ -37497,16 +37520,22 @@ var init_renderNode = __esm({
|
|
|
37497
37520
|
if (unix == null) return "";
|
|
37498
37521
|
const d = new Date(unix * 1e3);
|
|
37499
37522
|
const p = (n) => String(n).padStart(2, "0");
|
|
37500
|
-
|
|
37523
|
+
const day = `${d.getFullYear()}-${p(d.getMonth() + 1)}-${p(d.getDate())}`;
|
|
37524
|
+
const time = `${p(d.getHours())}:${p(d.getMinutes())}`;
|
|
37525
|
+
return timeMode ? time : dateTimeMode ? `${day}T${time}` : day;
|
|
37526
|
+
};
|
|
37527
|
+
const shownSeed = () => {
|
|
37528
|
+
const s = seedUnix();
|
|
37529
|
+
return s == null ? null : clampUnix(s);
|
|
37501
37530
|
};
|
|
37502
|
-
const [val, setVal] = React7.useState(ctx.empty ? "" : toInput(
|
|
37531
|
+
const [val, setVal] = React7.useState(ctx.empty ? "" : toInput(shownSeed()));
|
|
37503
37532
|
const dateServiceBound = typeof props.valuePath === "string" && props.valuePath.startsWith("$service:");
|
|
37504
37533
|
const bagSource = () => dateServiceBound ? boundRaw : boundRaw !== void 0 && boundRaw !== null && boundRaw !== "" ? boundRaw : props.valueUnix;
|
|
37505
|
-
const [dateBagVal, setDateBagVal] = React7.useState(ctx.empty ? "" : encodeDateFieldValue(bagSource()));
|
|
37534
|
+
const [dateBagVal, setDateBagVal] = React7.useState(ctx.empty ? "" : clampDateFieldValue(encodeDateFieldValue(bagSource()), props.minUnix, props.maxUnix, props.mode));
|
|
37506
37535
|
React7.useEffect(() => {
|
|
37507
37536
|
if (ctx.empty) return;
|
|
37508
|
-
setVal(toInput(
|
|
37509
|
-
setDateBagVal(encodeDateFieldValue(bagSource()));
|
|
37537
|
+
setVal(toInput(shownSeed()));
|
|
37538
|
+
setDateBagVal(clampDateFieldValue(encodeDateFieldValue(bagSource()), props.minUnix, props.maxUnix, props.mode));
|
|
37510
37539
|
}, [boundRaw, props.valueUnix, props.valuePath, ctx.empty]);
|
|
37511
37540
|
const dateBag = React7.useContext(FormValuesContext);
|
|
37512
37541
|
const dateFieldId = props.__formFieldId;
|
|
@@ -37523,7 +37552,7 @@ var init_renderNode = __esm({
|
|
|
37523
37552
|
let label2 = "Select date";
|
|
37524
37553
|
if (!ctx.empty && props.valueUnix) {
|
|
37525
37554
|
const d = new Date(props.valueUnix * 1e3);
|
|
37526
|
-
label2 = timeMode ? d.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }) : d.toLocaleDateString(void 0, { year: "numeric", month: "short", day: "numeric" });
|
|
37555
|
+
label2 = timeMode ? d.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }) : dateTimeMode ? d.toLocaleString(void 0, { year: "numeric", month: "short", day: "numeric", hour: "2-digit", minute: "2-digit" }) : d.toLocaleDateString(void 0, { year: "numeric", month: "short", day: "numeric" });
|
|
37527
37556
|
}
|
|
37528
37557
|
return /* @__PURE__ */ jsxs5("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", width: "100%", background: C("surfacePrimary", "#fff"), border: `1px solid ${C("border", "#e3e3e3")}`, borderRadius: ctx.radius("md", 8), padding: "12px 14px", boxSizing: "border-box", fontFamily: bodyFont(ctx), fontSize: pxToRem(15), color: C("textPrimary", "#111"), ...wrap }, children: [
|
|
37529
37558
|
/* @__PURE__ */ jsx8("span", { children: label2 }),
|
|
@@ -37537,12 +37566,14 @@ var init_renderNode = __esm({
|
|
|
37537
37566
|
setDateBagVal("");
|
|
37538
37567
|
return;
|
|
37539
37568
|
}
|
|
37540
|
-
const
|
|
37569
|
+
const picked = timeMode ? (() => {
|
|
37541
37570
|
const [h, m] = raw.split(":").map(Number);
|
|
37542
37571
|
const d = /* @__PURE__ */ new Date();
|
|
37543
37572
|
d.setHours(h || 0, m || 0, 0, 0);
|
|
37544
37573
|
return Math.floor(d.getTime() / 1e3);
|
|
37545
|
-
})() : Math.floor(Date.parse(`${raw}T00:00:00`) / 1e3);
|
|
37574
|
+
})() : dateTimeMode ? Math.floor(Date.parse(raw) / 1e3) : Math.floor(Date.parse(`${raw}T00:00:00`) / 1e3);
|
|
37575
|
+
const unix = Number.isFinite(picked) ? clampUnix(picked) : NaN;
|
|
37576
|
+
if (Number.isFinite(unix) && unix !== picked) setVal(toInput(unix));
|
|
37546
37577
|
const value = Number.isFinite(unix) ? String(unix) : "";
|
|
37547
37578
|
setDateBagVal(value);
|
|
37548
37579
|
if (!onChange || !ctx.onAction) return;
|
|
@@ -37551,10 +37582,12 @@ var init_renderNode = __esm({
|
|
|
37551
37582
|
return /* @__PURE__ */ jsx8(
|
|
37552
37583
|
"input",
|
|
37553
37584
|
{
|
|
37554
|
-
type: timeMode ? "time" : "date",
|
|
37585
|
+
type: timeMode ? "time" : dateTimeMode ? "datetime-local" : "date",
|
|
37555
37586
|
value: val,
|
|
37556
37587
|
onChange: (e) => emit(e.currentTarget.value),
|
|
37557
|
-
|
|
37588
|
+
min: minUnix != null ? toInput(minUnix) : void 0,
|
|
37589
|
+
max: maxUnix != null ? toInput(maxUnix) : void 0,
|
|
37590
|
+
"aria-label": timeMode ? "Select time" : dateTimeMode ? "Select date and time" : "Select date",
|
|
37558
37591
|
style: { width: "100%", boxSizing: "border-box", background: C("surfacePrimary", "#fff"), border: `1px solid ${C("border", "#e3e3e3")}`, borderRadius: ctx.radius("md", 8), padding: "12px 14px", fontFamily: bodyFont(ctx), fontSize: pxToRem(15), color: C("textPrimary", "#111"), ...wrap }
|
|
37559
37592
|
}
|
|
37560
37593
|
);
|
|
@@ -61120,21 +61153,21 @@ var init_preview_assets_generated = __esm({
|
|
|
61120
61153
|
"../../packages/serve/src/preview-assets.generated.ts"() {
|
|
61121
61154
|
init_preview_assets_format();
|
|
61122
61155
|
PREVIEW_ASSET_MANIFEST = [
|
|
61123
|
-
{ key: "assets/index-
|
|
61124
|
-
{ key: "fonts/Roboto-LICENSE.txt", contentType: "application/octet-stream", offset:
|
|
61125
|
-
{ key: "fonts/Roboto-Variable.ttf", contentType: "font/ttf", offset:
|
|
61126
|
-
{ key: "fonts/WixMadeforDisplay-Bold.ttf", contentType: "font/ttf", offset:
|
|
61127
|
-
{ key: "fonts/WixMadeforDisplay-ExtraBold.ttf", contentType: "font/ttf", offset:
|
|
61128
|
-
{ key: "fonts/WixMadeforDisplay-Medium.ttf", contentType: "font/ttf", offset:
|
|
61129
|
-
{ key: "fonts/WixMadeforDisplay-Regular.ttf", contentType: "font/ttf", offset:
|
|
61130
|
-
{ key: "fonts/WixMadeforDisplay-SemiBold.ttf", contentType: "font/ttf", offset:
|
|
61131
|
-
{ key: "fonts/WixMadeforText-Bold.ttf", contentType: "font/ttf", offset:
|
|
61132
|
-
{ key: "fonts/WixMadeforText-ExtraBold.ttf", contentType: "font/ttf", offset:
|
|
61133
|
-
{ key: "fonts/WixMadeforText-Medium.ttf", contentType: "font/ttf", offset:
|
|
61134
|
-
{ key: "fonts/WixMadeforText-Regular.ttf", contentType: "font/ttf", offset:
|
|
61135
|
-
{ key: "fonts/WixMadeforText-SemiBold.ttf", contentType: "font/ttf", offset:
|
|
61136
|
-
{ key: "index.html", contentType: "text/html; charset=utf-8", offset:
|
|
61137
|
-
{ key: "t5-frame.html", contentType: "text/html; charset=utf-8", offset:
|
|
61156
|
+
{ key: "assets/index-C_AIgKp4.js", contentType: "application/javascript; charset=utf-8", offset: 8, length: 1135680, sha256: "dec95bd7419620a5edfb4e9cdcf7a027a81cce9009bc214cf03578d384fc1724" },
|
|
61157
|
+
{ key: "fonts/Roboto-LICENSE.txt", contentType: "application/octet-stream", offset: 1135688, length: 4610, sha256: "994062dd7af4186a739de55dd9e151c63b6301f8e2cbafc608d35c2e87da0cd2" },
|
|
61158
|
+
{ key: "fonts/Roboto-Variable.ttf", contentType: "font/ttf", offset: 1140298, length: 488584, sha256: "d7598e12c5dbef095ff8272cfc55da0250bd07fbdecbac8a530b9b277872a134" },
|
|
61159
|
+
{ key: "fonts/WixMadeforDisplay-Bold.ttf", contentType: "font/ttf", offset: 1628882, length: 90924, sha256: "ec4c7d63772d980d6e147b2df6215fd2737e4b04cebe0cf7e11dc695fb63cdcf" },
|
|
61160
|
+
{ key: "fonts/WixMadeforDisplay-ExtraBold.ttf", contentType: "font/ttf", offset: 1719806, length: 90984, sha256: "bf4c16a2774edd38a921edf3099469866cd74c094fd596f3fa4e81f54a04dfaa" },
|
|
61161
|
+
{ key: "fonts/WixMadeforDisplay-Medium.ttf", contentType: "font/ttf", offset: 1810790, length: 90980, sha256: "368faca44fb9f7207e4af784e94750b1ee59c1098b8689e0f4a918926f244fb5" },
|
|
61162
|
+
{ key: "fonts/WixMadeforDisplay-Regular.ttf", contentType: "font/ttf", offset: 1901770, length: 90872, sha256: "97ed8f1a6772abe26e3d8af5cecfc4b02faa94497d585b0398b5053b739a70c1" },
|
|
61163
|
+
{ key: "fonts/WixMadeforDisplay-SemiBold.ttf", contentType: "font/ttf", offset: 1992642, length: 90980, sha256: "642feab8a48ddf6c7a89d7c2a7c0edfa0e6e773f671287e460e222703563191e" },
|
|
61164
|
+
{ key: "fonts/WixMadeforText-Bold.ttf", contentType: "font/ttf", offset: 2083622, length: 108636, sha256: "37c179b4fefb63ea9637322b84583a2df53aa226c150294eea1675c14b1b8e29" },
|
|
61165
|
+
{ key: "fonts/WixMadeforText-ExtraBold.ttf", contentType: "font/ttf", offset: 2192258, length: 109084, sha256: "62e2fe4718129f36ecdb0ae4de385bd6b81ecc876146447167c6c140fad699a9" },
|
|
61166
|
+
{ key: "fonts/WixMadeforText-Medium.ttf", contentType: "font/ttf", offset: 2301342, length: 109048, sha256: "4ecf270136af928612c76fe4ebade91d8156975e5ea4c0cf9225501dd1788e02" },
|
|
61167
|
+
{ key: "fonts/WixMadeforText-Regular.ttf", contentType: "font/ttf", offset: 2410390, length: 107700, sha256: "dee56f09fd3efc127c1ea95557edc74110c1460a46287da36e0af25efd341ef5" },
|
|
61168
|
+
{ key: "fonts/WixMadeforText-SemiBold.ttf", contentType: "font/ttf", offset: 2518090, length: 88108, sha256: "dced97a77624bc5f8b1ae65850360908297f4588e09feb6f22792d29dc7e765b" },
|
|
61169
|
+
{ key: "index.html", contentType: "text/html; charset=utf-8", offset: 2606198, length: 4947, sha256: "c3f476b436d5ba5d2c7e928ba8da0472201b6353f25d6f73fb6cce9f5326c965" },
|
|
61170
|
+
{ key: "t5-frame.html", contentType: "text/html; charset=utf-8", offset: 2611145, length: 17344, sha256: "d057298d75e7373e5e2c4d11b7d1bcbea88e03af555ba63d97641c78509c58e4" }
|
|
61138
61171
|
];
|
|
61139
61172
|
}
|
|
61140
61173
|
});
|
|
Binary file
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
"notImplementedComponents": [
|
|
7
7
|
"FieldError",
|
|
8
8
|
"Picker",
|
|
9
|
-
"DatePicker",
|
|
10
9
|
"Tabs",
|
|
11
10
|
"Snackbar",
|
|
12
11
|
"Slider",
|
|
@@ -348,22 +347,16 @@
|
|
|
348
347
|
"name": "DatePicker",
|
|
349
348
|
"category": "Form primitives",
|
|
350
349
|
"propsType": "DatePickerProps",
|
|
351
|
-
"bindings": [
|
|
350
|
+
"bindings": [
|
|
351
|
+
"valuePath"
|
|
352
|
+
],
|
|
352
353
|
"dispatches": [
|
|
353
354
|
{
|
|
354
355
|
"callback": "onChange",
|
|
355
356
|
"key": "value",
|
|
356
357
|
"encoding": "unix-seconds-string",
|
|
357
|
-
"note": "Unix SECONDS, string-encoded so the params mirror stays legal. iOS
|
|
358
|
+
"note": "Unix SECONDS, string-encoded so the params mirror stays legal, clamped into [minUnix, maxUnix]. iOS, Android and web conform (iOS shipped `valueUnix` as an int until the SwiftUI-parity DatePicker fix); RN ships nothing. The normative key is `value` because that is what the arms use for every other scalar control.",
|
|
358
359
|
"divergences": [
|
|
359
|
-
{
|
|
360
|
-
"arms": [
|
|
361
|
-
"ios"
|
|
362
|
-
],
|
|
363
|
-
"kind": "wrong-key",
|
|
364
|
-
"actual": "sends `valueUnix` as an int instead of the contract's `value`.",
|
|
365
|
-
"reason": "Only web conforms. This is the widest split in the vocabulary and the clearest argument for the file."
|
|
366
|
-
},
|
|
367
360
|
{
|
|
368
361
|
"arms": [
|
|
369
362
|
"rn"
|
|
@@ -382,19 +375,6 @@
|
|
|
382
375
|
]
|
|
383
376
|
}
|
|
384
377
|
],
|
|
385
|
-
"notImplemented": {
|
|
386
|
-
"props": [
|
|
387
|
-
"mode",
|
|
388
|
-
"minUnix",
|
|
389
|
-
"maxUnix",
|
|
390
|
-
"valuePath"
|
|
391
|
-
],
|
|
392
|
-
"platforms": [
|
|
393
|
-
"ios"
|
|
394
|
-
],
|
|
395
|
-
"severity": "styling",
|
|
396
|
-
"note": "The picker itself renders as a native date wheel — these four props are inert: `mode: \"time\"` still renders a date wheel; `minUnix`/`maxUnix` do not clamp; `valuePath` does not bind."
|
|
397
|
-
},
|
|
398
378
|
"propsSource": "export interface DatePickerProps {\n valueUnix?: number;\n minUnix?: number;\n maxUnix?: number;\n mode?: \"date\" | \"time\" | \"datetime\";\n onChange?: Action;\n /** \"$service:\" sentinel → ISO-8601 string (or unix seconds); prefills + tracks. */\n valuePath?: string;\n}"
|
|
399
379
|
},
|
|
400
380
|
{
|
|
@@ -52,7 +52,7 @@ See also **[Modifiers](#modifiers)** (the `modifiers` block) and **[Actions](#ac
|
|
|
52
52
|
| `FormField` | Form primitives | — |
|
|
53
53
|
| `FieldError` | Form primitives | `textPath` |
|
|
54
54
|
| `Picker` | Form primitives | — |
|
|
55
|
-
| `DatePicker` | Form primitives |
|
|
55
|
+
| `DatePicker` | Form primitives | `valuePath` |
|
|
56
56
|
| `StatefulSection` | State envelopes | — |
|
|
57
57
|
| `Skeleton` | State envelopes | — |
|
|
58
58
|
| `FragmentSlot` | Descriptor-shipped dynamic structure | `casePath` |
|
|
@@ -116,16 +116,15 @@ See also **[Modifiers](#modifiers)** (the `modifiers` block) and **[Actions](#ac
|
|
|
116
116
|
|
|
117
117
|
These props are accepted by the schema and pass validation, but the named platform's renderer never reads them — they silently do nothing (no warning, no log). Prefer a prop NOT listed here, or drive the behaviour from a worker.
|
|
118
118
|
|
|
119
|
-
**Scope:
|
|
119
|
+
**Scope: 13 of 84 components, all of them ios-only** — every other component/platform pair reads every prop it decodes. The list splits in two, and the halves mean different things:
|
|
120
120
|
|
|
121
121
|
- **`category` (4: `BottomSheet`, `Menu`, `Tooltip`, `Popover`)** — the prop changes the component's *kind*. These genuinely are **not implemented**: an overlay renders always-visible inline, so the component does not do the job its name implies. Check the row's note for a working alternative — for a dismissible sheet it is `presentation: "sheet"` on the navigating `Action`, not `BottomSheet`.
|
|
122
|
-
- **`styling` (
|
|
122
|
+
- **`styling` (9: `FieldError`, `Picker`, `Tabs`, `Snackbar`, `Slider`, `ActivityIndicator`, `ChipsInput`, `OtpInput`, `Video`)** — the component itself **works**; only the listed prop is inert. `Slider` on iOS is a working slider whose `debounceMs` does not throttle — not a broken `Slider`. Use the component; just do not depend on that one prop.
|
|
123
123
|
|
|
124
124
|
| Component | Unread props | Platform | Kind | Note |
|
|
125
125
|
|---|---|---|---|---|
|
|
126
126
|
| `FieldError` | `severity` | ios | styling | `severity: "warning"` still paints `danger` red. |
|
|
127
127
|
| `Picker` | `optionsPath`, `placeholder` | ios | styling | `optionsPath` does not bind options; `placeholder` is not shown. |
|
|
128
|
-
| `DatePicker` | `mode`, `minUnix`, `maxUnix`, `valuePath` | ios | styling | The picker itself renders as a native date wheel — these four props are inert: `mode: "time"` still renders a date wheel; `minUnix`/`maxUnix` do not clamp; `valuePath` does not bind. |
|
|
129
128
|
| `Tabs` | `style` | ios | styling | The tab bar itself renders — only `style` is inert: `swipe` still renders as top tabs. |
|
|
130
129
|
| `Snackbar` | `durationMs` | ios | styling | `durationMs` does not control the auto-dismiss timeout. |
|
|
131
130
|
| `Slider` | `debounceMs` | ios | styling | `debounceMs` does not throttle the onChange stream. |
|
|
@@ -821,17 +820,13 @@ export interface DatePickerProps {
|
|
|
821
820
|
}
|
|
822
821
|
```
|
|
823
822
|
|
|
824
|
-
> ⚠️ **Implemented, but these props are inert on ios:** `mode`, `minUnix`, `maxUnix`, `valuePath` — The picker itself renders as a native date wheel — these four props are inert: `mode: "time"` still renders a date wheel; `minUnix`/`maxUnix` do not clamp; `valuePath` does not bind.
|
|
825
|
-
|
|
826
823
|
**Dispatches** — see [What a control sends](#what-a-control-sends-action-payloads):
|
|
827
824
|
|
|
828
825
|
| callback | key | type |
|
|
829
826
|
|---|---|---|
|
|
830
827
|
| `onChange` | `value` | unix-seconds-string |
|
|
831
828
|
|
|
832
|
-
> `onChange` — Unix SECONDS, string-encoded so the params mirror stays legal. iOS
|
|
833
|
-
|
|
834
|
-
> ⚠️ **`onChange` on ios — DIVERGES:** sends `valueUnix` as an int instead of the contract's `value`. Only web conforms. This is the widest split in the vocabulary and the clearest argument for the file.
|
|
829
|
+
> `onChange` — Unix SECONDS, string-encoded so the params mirror stays legal, clamped into [minUnix, maxUnix]. iOS, Android and web conform (iOS shipped `valueUnix` as an int until the SwiftUI-parity DatePicker fix); RN ships nothing. The normative key is `value` because that is what the arms use for every other scalar control.
|
|
835
830
|
|
|
836
831
|
> ⚠️ **`onChange` on rn — DIVERGES:** dispatches the bare action with no date at all.
|
|
837
832
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/himalaya-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1189.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "himi — the Himalaya authoring CLI. Build a Tier-5 content package on your own machine, push it to the production serve as a draft, preview it on web + Himi Player, and read worker logs back — the remote dev loop. Wraps @himalaya/serve-cli for transport.",
|
|
6
6
|
"keywords": [
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
"artifactId": "himalaya-cli"
|
|
68
68
|
}
|
|
69
69
|
},
|
|
70
|
-
"falconPackageHash": "
|
|
70
|
+
"falconPackageHash": "6cdd1d60a3c8d77a450fac977716f1d7ded301af4e074c978148513e"
|
|
71
71
|
}
|