kaafil-react-uikit 0.12.0 → 0.13.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/CHANGELOG.md +62 -0
- package/dist/admin/index.cjs +363 -381
- package/dist/admin/index.cjs.map +1 -1
- package/dist/admin/index.js +6 -24
- package/dist/admin/index.js.map +1 -1
- package/dist/chunk-5QFW5GL4.cjs +24 -0
- package/dist/chunk-5QFW5GL4.cjs.map +1 -0
- package/dist/{chunk-5ORJRFXZ.cjs → chunk-64AFXHOF.cjs} +6 -4
- package/dist/chunk-64AFXHOF.cjs.map +1 -0
- package/dist/{chunk-YJJ4DI42.js → chunk-AKJLIH5A.js} +6 -4
- package/dist/chunk-AKJLIH5A.js.map +1 -0
- package/dist/{chunk-ZKLX6YRT.js → chunk-BT2ZX3JY.js} +5 -5
- package/dist/{chunk-ZKLX6YRT.js.map → chunk-BT2ZX3JY.js.map} +1 -1
- package/dist/{chunk-U6IE2UYL.js → chunk-CJLQ2Z4Q.js} +3 -3
- package/dist/{chunk-U6IE2UYL.js.map → chunk-CJLQ2Z4Q.js.map} +1 -1
- package/dist/{chunk-F2ENMVT7.js → chunk-DXDSCQLC.js} +3 -3
- package/dist/{chunk-F2ENMVT7.js.map → chunk-DXDSCQLC.js.map} +1 -1
- package/dist/{chunk-ARXY3ZA7.cjs → chunk-GD5UU4G6.cjs} +85 -85
- package/dist/{chunk-ARXY3ZA7.cjs.map → chunk-GD5UU4G6.cjs.map} +1 -1
- package/dist/{chunk-RCWSMWQD.js → chunk-IAKK2CKB.js} +3 -3
- package/dist/{chunk-RCWSMWQD.js.map → chunk-IAKK2CKB.js.map} +1 -1
- package/dist/chunk-JOUTGBUJ.js +22 -0
- package/dist/chunk-JOUTGBUJ.js.map +1 -0
- package/dist/{chunk-KJSQLVBR.cjs → chunk-JY2C4S3J.cjs} +55 -55
- package/dist/{chunk-KJSQLVBR.cjs.map → chunk-JY2C4S3J.cjs.map} +1 -1
- package/dist/chunk-KFOCETDW.cjs +12 -0
- package/dist/{chunk-YKBA4WQJ.cjs.map → chunk-KFOCETDW.cjs.map} +1 -1
- package/dist/{chunk-T5JYKERY.cjs → chunk-LSOV3FJL.cjs} +12 -12
- package/dist/{chunk-T5JYKERY.cjs.map → chunk-LSOV3FJL.cjs.map} +1 -1
- package/dist/{chunk-XGPX7TYV.js → chunk-LW2YB7VC.js} +3 -3
- package/dist/{chunk-XGPX7TYV.js.map → chunk-LW2YB7VC.js.map} +1 -1
- package/dist/{chunk-6QSHORU3.cjs → chunk-MLVS5KS6.cjs} +17 -17
- package/dist/{chunk-6QSHORU3.cjs.map → chunk-MLVS5KS6.cjs.map} +1 -1
- package/dist/{chunk-XWU5MCY3.cjs → chunk-TCVXLZ4H.cjs} +9 -9
- package/dist/{chunk-XWU5MCY3.cjs.map → chunk-TCVXLZ4H.cjs.map} +1 -1
- package/dist/{chunk-LJO2FGFD.js → chunk-TFFHYZMZ.js} +5 -5
- package/dist/{chunk-LJO2FGFD.js.map → chunk-TFFHYZMZ.js.map} +1 -1
- package/dist/{chunk-VHBGE4BY.cjs → chunk-XNZU6ZLX.cjs} +4 -4
- package/dist/{chunk-VHBGE4BY.cjs.map → chunk-XNZU6ZLX.cjs.map} +1 -1
- package/dist/{chunk-LOLQNRIK.js → chunk-YSJXNKCU.js} +3 -3
- package/dist/{chunk-LOLQNRIK.js.map → chunk-YSJXNKCU.js.map} +1 -1
- package/dist/core/index.cjs +107 -107
- package/dist/core/index.js +10 -10
- package/dist/manager/index.cjs +273 -298
- package/dist/manager/index.cjs.map +1 -1
- package/dist/manager/index.d.cts +46 -2
- package/dist/manager/index.d.ts +46 -2
- package/dist/manager/index.js +21 -46
- package/dist/manager/index.js.map +1 -1
- package/dist/traveller/index.cjs +35 -35
- package/dist/traveller/index.js +5 -5
- package/package.json +14 -14
- package/dist/chunk-5ORJRFXZ.cjs.map +0 -1
- package/dist/chunk-YJJ4DI42.js.map +0 -1
- package/dist/chunk-YKBA4WQJ.cjs +0 -12
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,68 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
|
6
6
|
and this package uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
While on `0.x` a minor bump may carry a breaking change; the entry will say so.
|
|
8
8
|
|
|
9
|
+
## [0.13.0] — 2026-09-21
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- **The manifest's diet figures were wrong, and quietly so.** `normalizeDiet`
|
|
14
|
+
existed as three verbatim copies in three families, and all three tested raw
|
|
15
|
+
EXACT EQUALITY against `V|VEG|VEGETARIAN` / `NV|NON-VEG|NONVEG|NON_VEG` /
|
|
16
|
+
`J|JAIN` over `Traveller.dietary` — a free-text column the CRM supplies, whose
|
|
17
|
+
own published example is `"Vegetarian, no nuts"`.
|
|
18
|
+
|
|
19
|
+
Case was handled; nothing else was. `"Pure veg"`, `"Vegetarian, no nuts"`,
|
|
20
|
+
`"Vegan"`, `"Halal"` and `"Non veg"` (space, no hyphen) all normalised to
|
|
21
|
+
`null`, which the UI rendered identically to "nothing recorded". A 20-pax trip
|
|
22
|
+
with twelve vegetarians spelled five ways showed a **`Veg 4 / 20`** stat card,
|
|
23
|
+
and the kitchen ordered four meals. The filter chips did not sum to the roster
|
|
24
|
+
and offered no bucket the other eight could appear in, so tapping "Veg" to
|
|
25
|
+
build a meal list silently excluded them.
|
|
26
|
+
|
|
27
|
+
There is now one implementation in `core/`, with 34 tests.
|
|
28
|
+
|
|
29
|
+
- **A traveller's dietary text could vanish from their profile.**
|
|
30
|
+
`deriveDietaryRows` pushed the Meal row with `value: mealPreference ?? ''`, so
|
|
31
|
+
when the CRM sent only `dietary`, the raw string was never rendered: a
|
|
32
|
+
`"Vegetarian, no nuts"` traveller showed a `V` badge and the nut allergy
|
|
33
|
+
appeared nowhere on the screen. The raw value is now shown when no separate
|
|
34
|
+
meal preference exists.
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
|
|
38
|
+
- **BREAKING — `ManifestDiet` is now `'V' | 'NV' | 'J' | 'OTHER'`.** An
|
|
39
|
+
exhaustive `switch` or a `Record<ManifestDiet, …>` in consumer code will no
|
|
40
|
+
longer compile until it handles `OTHER`. This is the fix, not a side effect:
|
|
41
|
+
the previous three-state set had nowhere to put a recorded-but-unrecognised
|
|
42
|
+
value, so it used `null` and the value disappeared. `null` now means only that
|
|
43
|
+
the column is empty, which is what makes the counts account for every
|
|
44
|
+
traveller.
|
|
45
|
+
|
|
46
|
+
`VEGAN` and `HALAL` bucket as `OTHER` rather than `V`. Folding them into the
|
|
47
|
+
vegetarian count would report them as served by the vegetarian meal and remove
|
|
48
|
+
the only signal that something further is needed.
|
|
49
|
+
|
|
50
|
+
- **A new "Other" diet filter chip**, with its `en`/`hi` labels, so the chip
|
|
51
|
+
counts plus the unrecorded remainder account for the whole roster.
|
|
52
|
+
|
|
53
|
+
- **`diet` is gone from the agency settings screen's rooming strategy picker.**
|
|
54
|
+
It was the last place a human could still select a heuristic key the engine had
|
|
55
|
+
stopped accepting.
|
|
56
|
+
|
|
57
|
+
- **Peer floor moves to `kaafil-js@^0.9.0`**, which is why this is a minor rather
|
|
58
|
+
than a patch on that count too. The engine no longer accepts `diet` in a
|
|
59
|
+
rooming `strategyOrder`, and `kaafil-js@0.8.0`'s `RoomingHeuristicKey` still
|
|
60
|
+
lists it — so on the old floor a consumer could write code that typechecks and
|
|
61
|
+
is then refused at runtime. Following the precedent 0.12.0 set: when the fix
|
|
62
|
+
lives elsewhere, the floor is how a consumer actually gets it.
|
|
63
|
+
|
|
64
|
+
### Notes
|
|
65
|
+
|
|
66
|
+
- The bucket rules mirror the engine's own `dietBucketOf`, and were verified to
|
|
67
|
+
agree with it on 32 inputs including every edge case in the corpus. The engine
|
|
68
|
+
additionally publishes `facets.dietBuckets` and a `?dietBucket=` filter; this
|
|
69
|
+
package still buckets client-side and does not require either.
|
|
70
|
+
|
|
9
71
|
## [0.12.0] — 2026-09-18
|
|
10
72
|
|
|
11
73
|
### Changed
|