@elaraai/e3-ui 1.0.102 → 1.0.104
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/src/allocation/functions.d.ts +2 -1
- package/dist/src/allocation/functions.d.ts.map +1 -1
- package/dist/src/allocation/functions.js +3 -2
- package/dist/src/allocation/functions.js.map +1 -1
- package/dist/src/allocation/index.d.ts +120 -1
- package/dist/src/allocation/index.d.ts.map +1 -1
- package/dist/src/allocation/index.js +24 -4
- package/dist/src/allocation/index.js.map +1 -1
- package/dist/src/bind/data-indexed.d.ts +25 -4
- package/dist/src/bind/data-indexed.d.ts.map +1 -1
- package/dist/src/bind/data-indexed.js +58 -7
- package/dist/src/bind/data-indexed.js.map +1 -1
- package/dist/src/bind/data.d.ts +12 -14
- package/dist/src/bind/data.d.ts.map +1 -1
- package/dist/src/bind/data.js +11 -11
- package/dist/src/bind/data.js.map +1 -1
- package/dist/src/bind/func.d.ts +7 -2
- package/dist/src/bind/func.d.ts.map +1 -1
- package/dist/src/bind/func.js +10 -3
- package/dist/src/bind/func.js.map +1 -1
- package/dist/src/bind/record.d.ts +6 -6
- package/dist/src/bind/record.d.ts.map +1 -1
- package/dist/src/bind/record.js.map +1 -1
- package/dist/src/calendar/index.d.ts +148 -1
- package/dist/src/calendar/index.d.ts.map +1 -1
- package/dist/src/calendar/index.js +55 -5
- package/dist/src/calendar/index.js.map +1 -1
- package/dist/src/decision/bind.d.ts.map +1 -1
- package/dist/src/decision/index.d.ts +218 -218
- package/dist/src/decision/index.d.ts.map +1 -1
- package/dist/src/decision/types.d.ts.map +1 -1
- package/dist/src/flowchart/canvas.d.ts +32 -14
- package/dist/src/flowchart/canvas.d.ts.map +1 -1
- package/dist/src/flowchart/canvas.js +21 -6
- package/dist/src/flowchart/canvas.js.map +1 -1
- package/dist/src/flowchart/details.d.ts +469 -0
- package/dist/src/flowchart/details.d.ts.map +1 -0
- package/dist/src/flowchart/details.js +1035 -0
- package/dist/src/flowchart/details.js.map +1 -0
- package/dist/src/flowchart/flowchart.d.ts +16 -72
- package/dist/src/flowchart/flowchart.d.ts.map +1 -1
- package/dist/src/flowchart/flowchart.js +10 -1
- package/dist/src/flowchart/flowchart.js.map +1 -1
- package/dist/src/flowchart/index.d.ts +282 -251
- package/dist/src/flowchart/index.d.ts.map +1 -1
- package/dist/src/flowchart/index.js +234 -220
- package/dist/src/flowchart/index.js.map +1 -1
- package/dist/src/flowchart/kinds.d.ts +438 -0
- package/dist/src/flowchart/kinds.d.ts.map +1 -0
- package/dist/src/flowchart/kinds.js +799 -0
- package/dist/src/flowchart/kinds.js.map +1 -0
- package/dist/src/flowchart/library.d.ts +155 -740
- package/dist/src/flowchart/library.d.ts.map +1 -1
- package/dist/src/flowchart/library.js +191 -673
- package/dist/src/flowchart/library.js.map +1 -1
- package/dist/src/flowchart/payload.d.ts +3654 -7845
- package/dist/src/flowchart/payload.d.ts.map +1 -1
- package/dist/src/flowchart/payload.js +331 -469
- package/dist/src/flowchart/payload.js.map +1 -1
- package/dist/src/flowchart/templates.d.ts +657 -0
- package/dist/src/flowchart/templates.d.ts.map +1 -0
- package/dist/src/flowchart/templates.js +658 -0
- package/dist/src/flowchart/templates.js.map +1 -0
- package/dist/src/flowchart/types.d.ts +2258 -214
- package/dist/src/flowchart/types.d.ts.map +1 -1
- package/dist/src/flowchart/types.js +374 -124
- package/dist/src/flowchart/types.js.map +1 -1
- package/dist/src/index.d.ts +13 -15
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +24 -29
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +5 -7
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +12 -19
- package/dist/src/internal.js.map +1 -1
- package/dist/src/ontology/index.d.ts +44 -15
- package/dist/src/ontology/index.d.ts.map +1 -1
- package/dist/src/ontology/index.js +19 -11
- package/dist/src/ontology/index.js.map +1 -1
- package/dist/src/plan/builders.d.ts +26 -26
- package/dist/src/plan/builders.d.ts.map +1 -1
- package/dist/src/plan/builders.js.map +1 -1
- package/dist/src/plan/event-rows.d.ts +59 -58
- package/dist/src/plan/event-rows.d.ts.map +1 -1
- package/dist/src/plan/event-rows.js +6 -4
- package/dist/src/plan/event-rows.js.map +1 -1
- package/dist/src/plan/factories.js.map +1 -1
- package/dist/src/plan/ir.d.ts +1 -0
- package/dist/src/plan/ir.d.ts.map +1 -1
- package/dist/src/plan/library.d.ts.map +1 -1
- package/dist/src/plan/nested-checks.js.map +1 -1
- package/dist/src/plan/plan.d.ts +567 -423
- package/dist/src/plan/plan.d.ts.map +1 -1
- package/dist/src/plan/plan.js +67 -3
- package/dist/src/plan/plan.js.map +1 -1
- package/dist/src/plan/series.d.ts.map +1 -1
- package/dist/src/plan/series.js.map +1 -1
- package/dist/src/plan/types.d.ts +173 -172
- package/dist/src/plan/types.d.ts.map +1 -1
- package/dist/src/query/builder.d.ts +368 -321
- package/dist/src/query/builder.d.ts.map +1 -1
- package/dist/src/query/builder.js +12 -1
- package/dist/src/query/builder.js.map +1 -1
- package/dist/src/query/index.d.ts +5 -1
- package/dist/src/query/index.d.ts.map +1 -1
- package/dist/src/query/index.js +3 -1
- package/dist/src/query/index.js.map +1 -1
- package/dist/src/query/library.d.ts +6 -6
- package/dist/src/query/queries.d.ts +3 -3
- package/dist/src/roster/fit.d.ts +5 -2
- package/dist/src/roster/fit.d.ts.map +1 -1
- package/dist/src/roster/fit.js +5 -3
- package/dist/src/roster/fit.js.map +1 -1
- package/dist/src/roster/index.d.ts +103 -2
- package/dist/src/roster/index.d.ts.map +1 -1
- package/dist/src/roster/index.js +45 -6
- package/dist/src/roster/index.js.map +1 -1
- package/dist/src/runtime/index.d.ts +1 -3
- package/dist/src/runtime/index.d.ts.map +1 -1
- package/dist/src/runtime/index.js +1 -3
- package/dist/src/runtime/index.js.map +1 -1
- package/dist/src/schedule/fields.js.map +1 -1
- package/dist/src/schedule/library.js.map +1 -1
- package/dist/src/schedule/record-window.d.ts +27 -26
- package/dist/src/schedule/record-window.d.ts.map +1 -1
- package/dist/src/schedule/types.d.ts +196 -196
- package/dist/src/schematic/index.d.ts +1 -1
- package/dist/src/schematic/index.d.ts.map +1 -1
- package/dist/src/schematic/index.js +1 -1
- package/dist/src/schematic/index.js.map +1 -1
- package/dist/src/schematic/kinds.d.ts +4 -24
- package/dist/src/schematic/kinds.d.ts.map +1 -1
- package/dist/src/schematic/kinds.js +8 -212
- package/dist/src/schematic/kinds.js.map +1 -1
- package/dist/src/schematic/library.d.ts.map +1 -1
- package/dist/src/schematic/payload.d.ts +1688 -1549
- package/dist/src/schematic/payload.d.ts.map +1 -1
- package/dist/src/schematic/payload.js +38 -1
- package/dist/src/schematic/payload.js.map +1 -1
- package/dist/src/schematic/shapes.d.ts.map +1 -1
- package/dist/src/schematic/types.d.ts +978 -978
- package/dist/src/schematic/types.d.ts.map +1 -1
- package/dist/src/schematic/types.js +4 -36
- package/dist/src/schematic/types.js.map +1 -1
- package/dist/src/schematic/window.d.ts +9 -42
- package/dist/src/schematic/window.d.ts.map +1 -1
- package/dist/src/schematic/window.js +10 -115
- package/dist/src/schematic/window.js.map +1 -1
- package/dist/src/sheet/actions.d.ts +388 -0
- package/dist/src/sheet/actions.d.ts.map +1 -0
- package/dist/src/sheet/actions.js +594 -0
- package/dist/src/sheet/actions.js.map +1 -0
- package/dist/src/sheet/bridge.d.ts +12 -1
- package/dist/src/sheet/bridge.d.ts.map +1 -1
- package/dist/src/sheet/bridge.js +30 -6
- package/dist/src/sheet/bridge.js.map +1 -1
- package/dist/src/sheet/columns.d.ts +5 -2
- package/dist/src/sheet/columns.d.ts.map +1 -1
- package/dist/src/sheet/columns.js.map +1 -1
- package/dist/src/sheet/draft-bridge.d.ts +9 -4
- package/dist/src/sheet/draft-bridge.d.ts.map +1 -1
- package/dist/src/sheet/draft-bridge.js +22 -7
- package/dist/src/sheet/draft-bridge.js.map +1 -1
- package/dist/src/sheet/editing-types.d.ts +71 -71
- package/dist/src/sheet/fields.d.ts +13 -0
- package/dist/src/sheet/fields.d.ts.map +1 -1
- package/dist/src/sheet/fields.js +3 -0
- package/dist/src/sheet/fields.js.map +1 -1
- package/dist/src/sheet/group.js.map +1 -1
- package/dist/src/sheet/index.d.ts +32 -2
- package/dist/src/sheet/index.d.ts.map +1 -1
- package/dist/src/sheet/index.js +18 -3
- package/dist/src/sheet/index.js.map +1 -1
- package/dist/src/sheet/library.d.ts +8 -0
- package/dist/src/sheet/library.d.ts.map +1 -1
- package/dist/src/sheet/library.js.map +1 -1
- package/dist/src/sheet/link.d.ts.map +1 -1
- package/dist/src/sheet/record.js.map +1 -1
- package/dist/src/sheet/root.d.ts +23 -1
- package/dist/src/sheet/root.d.ts.map +1 -1
- package/dist/src/sheet/root.js +40 -5
- package/dist/src/sheet/root.js.map +1 -1
- package/dist/src/sheet/sheet.d.ts +9332 -5621
- package/dist/src/sheet/sheet.d.ts.map +1 -1
- package/dist/src/sheet/sheet.js +41 -2
- package/dist/src/sheet/sheet.js.map +1 -1
- package/dist/src/sheet/templates.d.ts +4 -0
- package/dist/src/sheet/templates.d.ts.map +1 -1
- package/dist/src/sheet/types.d.ts +13020 -5839
- package/dist/src/sheet/types.d.ts.map +1 -1
- package/dist/src/sheet/types.js +114 -2
- package/dist/src/sheet/types.js.map +1 -1
- package/dist/src/studio/builder.d.ts +6 -6
- package/dist/src/studio/library.d.ts +9 -9
- package/dist/src/studio/pages.d.ts +6 -6
- package/dist/src/studio/publish.d.ts +3 -3
- package/dist/src/utils/derive.d.ts +1 -1
- package/dist/src/utils/derive.js +1 -1
- package/dist/src/utils/derive.js.map +1 -1
- package/dist/src/utils/key-visibility.d.ts +1 -1
- package/dist/src/utils/record-kind.d.ts +625 -0
- package/dist/src/utils/record-kind.d.ts.map +1 -0
- package/dist/src/utils/record-kind.js +450 -0
- package/dist/src/utils/record-kind.js.map +1 -0
- package/dist/src/utils/views.d.ts +55 -0
- package/dist/src/utils/views.d.ts.map +1 -0
- package/dist/src/utils/views.js +72 -0
- package/dist/src/utils/views.js.map +1 -0
- package/dist/src/utils/vocabulary.d.ts +48 -0
- package/dist/src/utils/vocabulary.d.ts.map +1 -0
- package/dist/src/utils/vocabulary.js +47 -0
- package/dist/src/utils/vocabulary.js.map +1 -0
- package/dist/test/allocation/allocation.examples.d.ts +3 -1
- package/dist/test/allocation/allocation.examples.d.ts.map +1 -1
- package/dist/test/allocation/allocation.examples.js +81 -2
- package/dist/test/allocation/allocation.examples.js.map +1 -1
- package/dist/test/bind/data/data.examples.d.ts +1 -1
- package/dist/test/bind/func/func.examples.d.ts +19 -1
- package/dist/test/bind/func/func.examples.d.ts.map +1 -1
- package/dist/test/bind/func/func.examples.js +36 -1
- package/dist/test/bind/func/func.examples.js.map +1 -1
- package/dist/test/calendar/calendar.examples.d.ts +2 -0
- package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
- package/dist/test/calendar/calendar.examples.js +80 -2
- package/dist/test/calendar/calendar.examples.js.map +1 -1
- package/dist/test/decision/queue.examples.d.ts +1 -0
- package/dist/test/decision/queue.examples.d.ts.map +1 -1
- package/dist/test/decision/queue.examples.js +12 -0
- package/dist/test/decision/queue.examples.js.map +1 -1
- package/dist/test/examples-package.d.ts.map +1 -1
- package/dist/test/examples-package.js +5 -4
- package/dist/test/examples-package.js.map +1 -1
- package/dist/test/flowchart/flowchart.examples.d.ts +1250 -4605
- package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
- package/dist/test/flowchart/flowchart.examples.js +861 -512
- package/dist/test/flowchart/flowchart.examples.js.map +1 -1
- package/dist/test/ontology/ontology.examples.d.ts +2 -3
- package/dist/test/ontology/ontology.examples.d.ts.map +1 -1
- package/dist/test/ontology/ontology.examples.js +32 -21
- package/dist/test/ontology/ontology.examples.js.map +1 -1
- package/dist/test/plan/plan-events.examples.d.ts +1 -0
- package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-events.examples.js +44 -0
- package/dist/test/plan/plan-events.examples.js.map +1 -1
- package/dist/test/plan/plan-nested.examples.d.ts +15 -15
- package/dist/test/plan/plan-nested.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-nested.examples.js +5 -5
- package/dist/test/plan/plan-nested.examples.js.map +1 -1
- package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-records.examples.js +1 -1
- package/dist/test/plan/plan-records.examples.js.map +1 -1
- package/dist/test/plan/plan.examples.js.map +1 -1
- package/dist/test/query/query.examples.d.ts +2 -0
- package/dist/test/query/query.examples.d.ts.map +1 -1
- package/dist/test/query/query.examples.js +37 -1
- package/dist/test/query/query.examples.js.map +1 -1
- package/dist/test/roster/domain.examples.d.ts.map +1 -1
- package/dist/test/roster/roster.examples.d.ts +2 -0
- package/dist/test/roster/roster.examples.d.ts.map +1 -1
- package/dist/test/roster/roster.examples.js +76 -15
- package/dist/test/roster/roster.examples.js.map +1 -1
- package/dist/test/schematic/schematic-records.examples.d.ts.map +1 -1
- package/dist/test/schematic/schematic-records.examples.js +6 -4
- package/dist/test/schematic/schematic-records.examples.js.map +1 -1
- package/dist/test/schematic/schematic.examples.d.ts +1 -0
- package/dist/test/schematic/schematic.examples.d.ts.map +1 -1
- package/dist/test/schematic/schematic.examples.js +144 -0
- package/dist/test/schematic/schematic.examples.js.map +1 -1
- package/dist/test/sheet/sheet-actions.examples.d.ts +1264 -0
- package/dist/test/sheet/sheet-actions.examples.d.ts.map +1 -0
- package/dist/test/sheet/sheet-actions.examples.js +394 -0
- package/dist/test/sheet/sheet-actions.examples.js.map +1 -0
- package/dist/test/sheet/sheet-records.examples.d.ts +1 -1
- package/dist/test/sheet/sheet.examples.d.ts +1 -0
- package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
- package/dist/test/sheet/sheet.examples.js +77 -0
- package/dist/test/sheet/sheet.examples.js.map +1 -1
- package/dist/test/studio/studio.examples.d.ts +1 -0
- package/dist/test/studio/studio.examples.d.ts.map +1 -1
- package/dist/test/studio/studio.examples.js +18 -8
- package/dist/test/studio/studio.examples.js.map +1 -1
- package/package.json +14 -13
- package/dist/src/diff/index.d.ts +0 -407
- package/dist/src/diff/index.d.ts.map +0 -1
- package/dist/src/diff/index.js +0 -203
- package/dist/src/diff/index.js.map +0 -1
- package/dist/src/experiment/index.d.ts +0 -1033
- package/dist/src/experiment/index.d.ts.map +0 -1
- package/dist/src/experiment/index.js +0 -197
- package/dist/src/experiment/index.js.map +0 -1
- package/dist/src/experiment/types.d.ts +0 -1093
- package/dist/src/experiment/types.d.ts.map +0 -1
- package/dist/src/experiment/types.js +0 -423
- package/dist/src/experiment/types.js.map +0 -1
- package/dist/src/flowchart/over.d.ts +0 -227
- package/dist/src/flowchart/over.d.ts.map +0 -1
- package/dist/src/flowchart/over.js +0 -213
- package/dist/src/flowchart/over.js.map +0 -1
- package/dist/src/flowchart/patch.d.ts +0 -64
- package/dist/src/flowchart/patch.d.ts.map +0 -1
- package/dist/src/flowchart/patch.js +0 -67
- package/dist/src/flowchart/patch.js.map +0 -1
- package/dist/src/flowchart/values.d.ts +0 -271
- package/dist/src/flowchart/values.d.ts.map +0 -1
- package/dist/src/flowchart/values.js +0 -220
- package/dist/src/flowchart/values.js.map +0 -1
- package/dist/src/flowchart/window.d.ts +0 -306
- package/dist/src/flowchart/window.d.ts.map +0 -1
- package/dist/src/flowchart/window.js +0 -63
- package/dist/src/flowchart/window.js.map +0 -1
- package/dist/src/runtime/diff.d.ts +0 -36
- package/dist/src/runtime/diff.d.ts.map +0 -1
- package/dist/src/runtime/diff.js +0 -34
- package/dist/src/runtime/diff.js.map +0 -1
- package/dist/src/runtime/experiment.d.ts +0 -48
- package/dist/src/runtime/experiment.d.ts.map +0 -1
- package/dist/src/runtime/experiment.js +0 -10
- package/dist/src/runtime/experiment.js.map +0 -1
- package/dist/test/diff/diff.examples.d.ts +0 -313
- package/dist/test/diff/diff.examples.d.ts.map +0 -1
- package/dist/test/diff/diff.examples.js +0 -452
- package/dist/test/diff/diff.examples.js.map +0 -1
- package/dist/test/experiment/experiment.examples.d.ts +0 -1512
- package/dist/test/experiment/experiment.examples.d.ts.map +0 -1
- package/dist/test/experiment/experiment.examples.js +0 -609
- package/dist/test/experiment/experiment.examples.js.map +0 -1
|
@@ -1,452 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "@elaraai/e3-ui/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
4
|
-
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
5
|
-
*/
|
|
6
|
-
/** @jsxImportSource @elaraai/e3-ui */
|
|
7
|
-
/**
|
|
8
|
-
* Diff component examples — realistic editing scenes that combine
|
|
9
|
-
* `Data.bind` with east-ui form components and a `<Diff>` panel
|
|
10
|
-
* surfacing the pending changes for sign-off.
|
|
11
|
-
*
|
|
12
|
-
* Coverage:
|
|
13
|
-
* 1. Slider-driven editor → workforcePolicyEditor
|
|
14
|
-
* 2. Editor variants panel → diffEditorVariants (heterogeneous inputs /
|
|
15
|
-
* mixed sliders + inputs / Set / Dict / Variant / density presets)
|
|
16
|
-
* 3. Editable Table cells → rosterTableEditor
|
|
17
|
-
* 4. Minimal call site → diffDefaults (IR-roundtrip)
|
|
18
|
-
* 5. Merge-conflict chooser → mergeConflictDemo
|
|
19
|
-
* 6. Overlay-mode patches → diffOverlayVariants
|
|
20
|
-
* 7. Staged + patch datasets → diffStagedPatchVariants
|
|
21
|
-
*
|
|
22
|
-
* Pattern:
|
|
23
|
-
* 1. Declare an `e3.input(name, type, variant('value', default))` per editable scalar.
|
|
24
|
-
* 2. Inside `<Reactive>`, bind each via `Data.bind`.
|
|
25
|
-
* 3. Wire form components — `read()` for the current value,
|
|
26
|
-
* `write()` on change.
|
|
27
|
-
* 4. Close the scene with `<Diff bindings={[...]} />` — Apply commits
|
|
28
|
-
* the merged batch; Discard drops the buffer.
|
|
29
|
-
*/
|
|
30
|
-
import { East, FloatType, IntegerType, StringType, BooleanType, DateTimeType, ArrayType, StructType, SetType, DictType, VariantType, NullType, FunctionType, PatchType, diffFor, some, variant, example, } from "@elaraai/east";
|
|
31
|
-
import { Card, HStack, VStack, Slider, Input, Switch, Select, Separator, Text, Button, Reactive, Table, UIComponentType, } from "@elaraai/east-ui";
|
|
32
|
-
import { Data, Diff } from "@elaraai/e3-ui";
|
|
33
|
-
import * as e3 from "@elaraai/e3";
|
|
34
|
-
// ============================================================================
|
|
35
|
-
// Inputs — flat scalars for slider/input examples; one ArrayType binding for
|
|
36
|
-
// the table example so Diff can surface array-element patches end-to-end.
|
|
37
|
-
// ============================================================================
|
|
38
|
-
// Workforce-policy scenario (sliders)
|
|
39
|
-
export const maxWeeklyHoursInput = e3.input("max_weekly_hours", FloatType, variant('value', 38.0));
|
|
40
|
-
export const overtimeThresholdInput = e3.input("overtime_threshold_hours", FloatType, variant('value', 38.0));
|
|
41
|
-
export const restGapHoursInput = e3.input("mandatory_rest_gap_hours", FloatType, variant('value', 12.0));
|
|
42
|
-
export const holidayPenaltyInput = e3.input("public_holiday_penalty", FloatType, variant('value', 1.5));
|
|
43
|
-
// Service-config scenario (heterogeneous inputs)
|
|
44
|
-
export const serviceNameInput = e3.input("service_name", StringType, variant('value', "auth-svc"));
|
|
45
|
-
export const replicasInput = e3.input("replicas", IntegerType, variant('value', 3n));
|
|
46
|
-
export const autoScaleInput = e3.input("auto_scale", BooleanType, variant('value', false));
|
|
47
|
-
export const regionInput = e3.input("region", StringType, variant('value', "ap-southeast-2"));
|
|
48
|
-
export const deployAfterInput = e3.input("deploy_after", DateTimeType, variant('value', new Date("2026-05-01T08:00:00Z")));
|
|
49
|
-
// Roster table scenario (single ArrayType<Struct> binding)
|
|
50
|
-
const RosterEntryType = StructType({
|
|
51
|
-
id: StringType,
|
|
52
|
-
name: StringType,
|
|
53
|
-
rate: FloatType,
|
|
54
|
-
shiftLength: IntegerType,
|
|
55
|
-
});
|
|
56
|
-
const RosterArrayType = ArrayType(RosterEntryType);
|
|
57
|
-
export const rosterInput = e3.input("roster", RosterArrayType, variant('value', [
|
|
58
|
-
{ id: "alice", name: "Alice Chen", rate: 32.50, shiftLength: 8n },
|
|
59
|
-
{ id: "bob", name: "Bob Romero", rate: 28.00, shiftLength: 8n },
|
|
60
|
-
{ id: "charlie", name: "Charlie Patel", rate: 35.75, shiftLength: 10n },
|
|
61
|
-
{ id: "diana", name: "Diana Wallace", rate: 30.25, shiftLength: 8n },
|
|
62
|
-
]));
|
|
63
|
-
// Merge-conflict demo scenario — single Float; both bindStaged (for the user's
|
|
64
|
-
// pending edit) and bindDirect (for the "simulate concurrent edit" button)
|
|
65
|
-
// point at the same path so writes via the button drift the server view away
|
|
66
|
-
// from the staged buffer's pinned snapshot.
|
|
67
|
-
export const mergeDemoHoursInput = e3.input("merge_demo_hours", FloatType, variant('value', 38.0));
|
|
68
|
-
// Pricing-rules scenario (mixed slider + integer/string input)
|
|
69
|
-
export const listPriceInput = e3.input("list_price", FloatType, variant('value', 49.95));
|
|
70
|
-
export const discountPctInput = e3.input("discount_pct", FloatType, variant('value', 10.0));
|
|
71
|
-
export const minOrderQtyInput = e3.input("min_order_qty", IntegerType, variant('value', 1n));
|
|
72
|
-
export const currencyCodeInput = e3.input("currency_code", StringType, variant('value', "AUD"));
|
|
73
|
-
// Feature flags scenario (Set<String>)
|
|
74
|
-
export const featureFlagsInput = e3.input("feature_flags", SetType(StringType), variant('value', new Set(["dark_mode", "experiments"])));
|
|
75
|
-
// Regional pricing scenario (Dict<String, Float>)
|
|
76
|
-
export const regionalPricesInput = e3.input("regional_prices", DictType(StringType, FloatType), variant('value', new Map([
|
|
77
|
-
["AU", 49.95],
|
|
78
|
-
["US", 39.95],
|
|
79
|
-
["EU", 44.95],
|
|
80
|
-
["JP", 5499.0],
|
|
81
|
-
])));
|
|
82
|
-
// Deployment status scenario (Variant)
|
|
83
|
-
const DeploymentStatusType = VariantType({
|
|
84
|
-
pending: NullType,
|
|
85
|
-
in_progress: NullType,
|
|
86
|
-
complete: NullType,
|
|
87
|
-
failed: NullType,
|
|
88
|
-
});
|
|
89
|
-
export const deploymentStatusInput = e3.input("deployment_status", DeploymentStatusType, variant('value', variant("pending", null)));
|
|
90
|
-
// ============================================================================
|
|
91
|
-
// 1. Workforce-policy editor — slider-driven edits across 4 staged scalars
|
|
92
|
-
// ============================================================================
|
|
93
|
-
export const workforcePolicyEditor = example({
|
|
94
|
-
keywords: ["Diff", "Slider", "bindStaged", "workforce", "policy", "Card"],
|
|
95
|
-
description: "Slider-driven workforce-policy editor — 4 staged Float scalars; Diff surfaces pending edits",
|
|
96
|
-
fn: East.function([], UIComponentType, (_$) => {
|
|
97
|
-
return (_jsx(Reactive, { children: $ => {
|
|
98
|
-
const maxHours = $.let(Data.bind(maxWeeklyHoursInput, { mode: "staged" }));
|
|
99
|
-
const otThresh = $.let(Data.bind(overtimeThresholdInput, { mode: "staged" }));
|
|
100
|
-
const restGap = $.let(Data.bind(restGapHoursInput, { mode: "staged" }));
|
|
101
|
-
const penalty = $.let(Data.bind(holidayPenaltyInput, { mode: "staged" }));
|
|
102
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "5", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Workforce policy" }), _jsx(Text, { children: "Drag the sliders to stage policy changes \u2014 review in the Diff card before applying." }), _jsxs(VStack, { gap: "1", children: [_jsx(Text, { textStyle: "label-sm", children: "Max weekly hours" }), _jsx(Slider, { value: maxHours.read(), min: 30.0, max: 60.0, step: 1.0, onChangeEnd: ($, v) => $(maxHours.write(v)) })] }), _jsxs(VStack, { gap: "1", children: [_jsx(Text, { textStyle: "label-sm", children: "Overtime threshold (h)" }), _jsx(Slider, { value: otThresh.read(), min: 30.0, max: 60.0, step: 1.0, onChangeEnd: ($, v) => $(otThresh.write(v)) })] }), _jsxs(VStack, { gap: "1", children: [_jsx(Text, { textStyle: "label-sm", children: "Mandatory rest gap (h)" }), _jsx(Slider, { value: restGap.read(), min: 8.0, max: 16.0, step: 1.0, onChangeEnd: ($, v) => $(restGap.write(v)) })] }), _jsxs(VStack, { gap: "1", children: [_jsx(Text, { textStyle: "label-sm", children: "Public holiday penalty (\u00D7)" }), _jsx(Slider, { value: penalty.read(), min: 1.0, max: 3.0, step: 0.25, onChangeEnd: ($, v) => $(penalty.write(v)) })] }), _jsx(Diff, { bindings: [maxHours.binding, otThresh.binding, restGap.binding, penalty.binding], hideUnchanged: some(true) })] }) }));
|
|
103
|
-
} }));
|
|
104
|
-
}),
|
|
105
|
-
inputs: [],
|
|
106
|
-
});
|
|
107
|
-
// ============================================================================
|
|
108
|
-
// 2. Editor variants panel — the type-coverage enumeration: heterogeneous
|
|
109
|
-
// scalar inputs (String / Integer / Bool / DateTime / Select), mixed
|
|
110
|
-
// sliders + inputs (side-by-side Diff), Set / Dict / Variant bindings,
|
|
111
|
-
// and the two non-default density presets.
|
|
112
|
-
// ============================================================================
|
|
113
|
-
export const diffEditorVariants = example({
|
|
114
|
-
keywords: ["Diff", "Input", "Switch", "Select", "DateTime", "Toast", "onCommitted", "side-by-side", "Slider", "pricing", "discount", "mixed", "Set", "feature flags", "bindStaged", "Dict", "regional pricing", "Variant", "Button", "deployment status", "density", "compact", "condensed"],
|
|
115
|
-
description: "Editor variant panel — SERVICE CONFIG FORM: heterogeneous String / Integer / Bool / DateTime / Select inputs, commit fires a success Toast; PRICING RULES: sliders for list price/discount, IntegerInput for min order qty, StringInput for currency, Diff in side-by-side mode; FEATURE FLAGS: Switch per known flag toggles inclusion in a staged Set, Diff shows insertions / deletions; REGIONAL PRICING: Input.Float per region writes back to a staged Dict, Diff shows per-key updates; DEPLOYMENT STATUS: buttons set a Variant binding, Diff shows the status tag change; PRICING RULES COMPACT: `density: \"compact\"` — denser rows; PRICING RULES CONDENSED: `density: \"condensed\"` — mission-control sizing for read-heavy views",
|
|
116
|
-
fn: East.function([], UIComponentType, (_$) => {
|
|
117
|
-
return (_jsxs(VStack, { gap: "4", align: "stretch", children: [_jsx(Separator, { label: "SERVICE CONFIG FORM", align: "start" }), _jsx(Reactive, { children: $ => {
|
|
118
|
-
const svcName = $.let(Data.bind(serviceNameInput, { mode: "staged" }));
|
|
119
|
-
const replicas = $.let(Data.bind(replicasInput, { mode: "staged" }));
|
|
120
|
-
const autoScale = $.let(Data.bind(autoScaleInput, { mode: "staged" }));
|
|
121
|
-
const region = $.let(Data.bind(regionInput, { mode: "staged" }));
|
|
122
|
-
const deployAfter = $.let(Data.bind(deployAfterInput, { mode: "staged" }));
|
|
123
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "4", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Service configuration" }), _jsx(Text, { children: "Stage edits across heterogeneous types; on apply you\u2019ll see a confirmation toast." }), _jsxs(VStack, { gap: "1", children: [_jsx(Text, { textStyle: "label-sm", children: "Service name" }), _jsx(Input.String, { value: svcName.read(), placeholder: "service-name", onChange: ($, v) => $(svcName.write(v)) })] }), _jsxs(VStack, { gap: "1", children: [_jsx(Text, { textStyle: "label-sm", children: "Replicas" }), _jsx(Input.Integer, { value: replicas.read(), min: 1n, max: 50n, onChange: ($, v) => $(replicas.write(v)) })] }), _jsxs(VStack, { gap: "1", children: [_jsx(Text, { textStyle: "label-sm", children: "Auto-scale" }), _jsx(Switch, { checked: autoScale.read(), onChange: ($, v) => $(autoScale.write(v)) })] }), _jsxs(VStack, { gap: "1", children: [_jsx(Text, { textStyle: "label-sm", children: "Region" }), _jsx(Select, { value: region.read(), items: [
|
|
124
|
-
Select.Item("ap-southeast-2", "ap-southeast-2 (Sydney)"),
|
|
125
|
-
Select.Item("us-east-1", "us-east-1 (N. Virginia)"),
|
|
126
|
-
Select.Item("eu-west-1", "eu-west-1 (Ireland)"),
|
|
127
|
-
], onChange: ($, v) => $(region.write(v)) })] }), _jsxs(VStack, { gap: "1", children: [_jsx(Text, { textStyle: "label-sm", children: "Deploy after" }), _jsx(Input.DateTime, { value: deployAfter.read(), precision: "datetime", onChange: ($, v) => $(deployAfter.write(v)) })] }), _jsx(Diff, { bindings: [svcName.binding, replicas.binding, autoScale.binding, region.binding, deployAfter.binding] })] }) }));
|
|
128
|
-
} }), _jsx(Separator, { label: "PRICING RULES", align: "start" }), _jsx(Reactive, { children: $ => {
|
|
129
|
-
const listPrice = $.let(Data.bind(listPriceInput, { mode: "staged" }));
|
|
130
|
-
const discountPct = $.let(Data.bind(discountPctInput, { mode: "staged" }));
|
|
131
|
-
const minOrderQty = $.let(Data.bind(minOrderQtyInput, { mode: "staged" }));
|
|
132
|
-
const currency = $.let(Data.bind(currencyCodeInput, { mode: "staged" }));
|
|
133
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "5", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Pricing rules" }), _jsx(Text, { children: "Stage pricing changes \u2014 review side-by-side before applying to the catalog." }), _jsxs(VStack, { gap: "1", children: [_jsx(Text, { textStyle: "label-sm", children: "List price" }), _jsx(Slider, { value: listPrice.read(), min: 0.0, max: 999.95, step: 0.05, onChangeEnd: ($, v) => $(listPrice.write(v)) })] }), _jsxs(VStack, { gap: "1", children: [_jsx(Text, { textStyle: "label-sm", children: "Discount (%)" }), _jsx(Slider, { value: discountPct.read(), min: 0.0, max: 75.0, step: 0.5, onChangeEnd: ($, v) => $(discountPct.write(v)) })] }), _jsxs(VStack, { gap: "1", children: [_jsx(Text, { textStyle: "label-sm", children: "Minimum order quantity" }), _jsx(Input.Integer, { value: minOrderQty.read(), min: 1n, max: 1000n, onChange: ($, v) => $(minOrderQty.write(v)) })] }), _jsxs(VStack, { gap: "1", children: [_jsx(Text, { textStyle: "label-sm", children: "Currency code" }), _jsx(Input.String, { value: currency.read(), placeholder: "AUD", onChange: ($, v) => $(currency.write(v)) })] }), _jsx(Diff, { bindings: [listPrice.binding, discountPct.binding, minOrderQty.binding, currency.binding], hideUnchanged: some(true) })] }) }));
|
|
134
|
-
} }), _jsx(Separator, { label: "FEATURE FLAGS", align: "start" }), _jsx(Reactive, { children: $ => {
|
|
135
|
-
const flags = $.let(Data.bind(featureFlagsInput, { mode: "staged" }));
|
|
136
|
-
const flagsRead = $.let(flags.read(), SetType(StringType));
|
|
137
|
-
// ONE East closure factory: `toggle(flag)` returns the per-switch
|
|
138
|
-
// handler as a real East function value (captures `flag` in East).
|
|
139
|
-
const toggle = $.const(East.function([StringType], FunctionType([BooleanType], NullType), (_$, flag) => East.function([BooleanType], NullType, ($, isOn) => {
|
|
140
|
-
const next = $.let(flags.read(), SetType(StringType));
|
|
141
|
-
$.if(isOn, $ => { $(next.insert(flag)); }).else($ => { $(next.delete(flag)); });
|
|
142
|
-
$(flags.write(next));
|
|
143
|
-
})));
|
|
144
|
-
const onDarkMode = $.const(toggle("dark_mode"));
|
|
145
|
-
const onExperiments = $.const(toggle("experiments"));
|
|
146
|
-
const onNotifications = $.const(toggle("notifications"));
|
|
147
|
-
const onAnalytics = $.const(toggle("analytics"));
|
|
148
|
-
const onAiAssist = $.const(toggle("ai_assist"));
|
|
149
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "4", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Feature flags" }), _jsx(Text, { children: "Toggle flags to stage changes; Diff card below shows the set delta." }), _jsxs(VStack, { gap: "3", justify: "space-between", children: [_jsx(Text, { textStyle: "label-sm", children: "dark_mode" }), _jsx(Switch, { checked: flagsRead.has("dark_mode"), onChange: onDarkMode })] }), _jsxs(VStack, { gap: "3", justify: "space-between", children: [_jsx(Text, { textStyle: "label-sm", children: "experiments" }), _jsx(Switch, { checked: flagsRead.has("experiments"), onChange: onExperiments })] }), _jsxs(VStack, { gap: "3", justify: "space-between", children: [_jsx(Text, { textStyle: "label-sm", children: "notifications" }), _jsx(Switch, { checked: flagsRead.has("notifications"), onChange: onNotifications })] }), _jsxs(VStack, { gap: "3", justify: "space-between", children: [_jsx(Text, { textStyle: "label-sm", children: "analytics" }), _jsx(Switch, { checked: flagsRead.has("analytics"), onChange: onAnalytics })] }), _jsxs(VStack, { gap: "3", justify: "space-between", children: [_jsx(Text, { textStyle: "label-sm", children: "ai_assist" }), _jsx(Switch, { checked: flagsRead.has("ai_assist"), onChange: onAiAssist })] }), _jsx(Diff, { bindings: [flags.binding], hideUnchanged: some(true) })] }) }));
|
|
150
|
-
} }), _jsx(Separator, { label: "REGIONAL PRICING", align: "start" }), _jsx(Reactive, { children: $ => {
|
|
151
|
-
const prices = $.let(Data.bind(regionalPricesInput, { mode: "staged" }));
|
|
152
|
-
const pricesRead = $.let(prices.read(), DictType(StringType, FloatType));
|
|
153
|
-
// ONE East closure factory: `setPrice(region)` returns the
|
|
154
|
-
// per-region handler as a real East function value.
|
|
155
|
-
const setPrice = $.const(East.function([StringType], FunctionType([FloatType], NullType), (_$, region) => East.function([FloatType], NullType, ($, newPrice) => {
|
|
156
|
-
const next = $.let(prices.read(), DictType(StringType, FloatType));
|
|
157
|
-
$(next.insertOrUpdate(region, newPrice));
|
|
158
|
-
$(prices.write(next));
|
|
159
|
-
})));
|
|
160
|
-
const onAu = $.const(setPrice("AU"));
|
|
161
|
-
const onUs = $.const(setPrice("US"));
|
|
162
|
-
const onEu = $.const(setPrice("EU"));
|
|
163
|
-
const onJp = $.const(setPrice("JP"));
|
|
164
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "4", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Regional pricing" }), _jsx(Text, { children: "Edit per-region prices; Diff card below tracks pending updates." }), _jsxs(VStack, { gap: "3", justify: "space-between", children: [_jsx(Text, { textStyle: "label-sm", children: "AU" }), _jsx(Input.Float, { value: pricesRead.get("AU", East.function([StringType], FloatType, _$ => 0.0)), min: 0.0, max: 99999.0, step: 0.05, onChange: onAu })] }), _jsxs(VStack, { gap: "3", justify: "space-between", children: [_jsx(Text, { textStyle: "label-sm", children: "US" }), _jsx(Input.Float, { value: pricesRead.get("US", East.function([StringType], FloatType, _$ => 0.0)), min: 0.0, max: 99999.0, step: 0.05, onChange: onUs })] }), _jsxs(VStack, { gap: "3", justify: "space-between", children: [_jsx(Text, { textStyle: "label-sm", children: "EU" }), _jsx(Input.Float, { value: pricesRead.get("EU", East.function([StringType], FloatType, _$ => 0.0)), min: 0.0, max: 99999.0, step: 0.05, onChange: onEu })] }), _jsxs(VStack, { gap: "3", justify: "space-between", children: [_jsx(Text, { textStyle: "label-sm", children: "JP" }), _jsx(Input.Float, { value: pricesRead.get("JP", East.function([StringType], FloatType, _$ => 0.0)), min: 0.0, max: 99999.0, step: 0.05, onChange: onJp })] }), _jsx(Diff, { bindings: [prices.binding], hideUnchanged: some(true) })] }) }));
|
|
165
|
-
} }), _jsx(Separator, { label: "DEPLOYMENT STATUS", align: "start" }), _jsx(Reactive, { children: $ => {
|
|
166
|
-
const status = $.let(Data.bind(deploymentStatusInput, { mode: "staged" }));
|
|
167
|
-
const statusRead = $.let(status.read(), DeploymentStatusType);
|
|
168
|
-
const setPending = $.const(East.function([], NullType, $ => $(status.write(variant("pending", null)))));
|
|
169
|
-
const setInProgress = $.const(East.function([], NullType, $ => $(status.write(variant("in_progress", null)))));
|
|
170
|
-
const setComplete = $.const(East.function([], NullType, $ => $(status.write(variant("complete", null)))));
|
|
171
|
-
const setFailed = $.const(East.function([], NullType, $ => $(status.write(variant("failed", null)))));
|
|
172
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "4", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Deployment status" }), _jsx(Text, { children: "Current:" }), _jsx(Text, { textStyle: "label-md", children: statusRead.getTag() }), _jsxs(HStack, { gap: "2", children: [_jsx(Button, { onClick: setPending, children: "Pending" }), _jsx(Button, { onClick: setInProgress, children: "In progress" }), _jsx(Button, { onClick: setComplete, children: "Complete" }), _jsx(Button, { onClick: setFailed, children: "Failed" })] }), _jsx(Diff, { bindings: [status.binding], hideUnchanged: some(true) })] }) }));
|
|
173
|
-
} }), _jsx(Separator, { label: "PRICING RULES COMPACT", align: "start" }), _jsx(Reactive, { children: $ => {
|
|
174
|
-
const listPrice = $.let(Data.bind(listPriceInput, { mode: "staged" }));
|
|
175
|
-
const discountPct = $.let(Data.bind(discountPctInput, { mode: "staged" }));
|
|
176
|
-
const minOrderQty = $.let(Data.bind(minOrderQtyInput, { mode: "staged" }));
|
|
177
|
-
const currency = $.let(Data.bind(currencyCodeInput, { mode: "staged" }));
|
|
178
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "5", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Pricing rules \u2014 compact" }), _jsx(Slider, { value: listPrice.read(), min: 0.0, max: 999.95, step: 0.05, onChangeEnd: ($, v) => $(listPrice.write(v)) }), _jsx(Slider, { value: discountPct.read(), min: 0.0, max: 75.0, step: 0.5, onChangeEnd: ($, v) => $(discountPct.write(v)) }), _jsx(Input.Integer, { value: minOrderQty.read(), min: 1n, max: 1000n, onChange: ($, v) => $(minOrderQty.write(v)) }), _jsx(Input.String, { value: currency.read(), placeholder: "AUD", onChange: ($, v) => $(currency.write(v)) }), _jsx(Diff, { bindings: [listPrice.binding, discountPct.binding, minOrderQty.binding, currency.binding], density: "compact", hideUnchanged: some(true) })] }) }));
|
|
179
|
-
} }), _jsx(Separator, { label: "PRICING RULES CONDENSED", align: "start" }), _jsx(Reactive, { children: $ => {
|
|
180
|
-
const listPrice = $.let(Data.bind(listPriceInput, { mode: "staged" }));
|
|
181
|
-
const discountPct = $.let(Data.bind(discountPctInput, { mode: "staged" }));
|
|
182
|
-
const minOrderQty = $.let(Data.bind(minOrderQtyInput, { mode: "staged" }));
|
|
183
|
-
const currency = $.let(Data.bind(currencyCodeInput, { mode: "staged" }));
|
|
184
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "5", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Pricing rules \u2014 condensed" }), _jsx(Slider, { value: listPrice.read(), min: 0.0, max: 999.95, step: 0.05, onChangeEnd: ($, v) => $(listPrice.write(v)) }), _jsx(Slider, { value: discountPct.read(), min: 0.0, max: 75.0, step: 0.5, onChangeEnd: ($, v) => $(discountPct.write(v)) }), _jsx(Input.Integer, { value: minOrderQty.read(), min: 1n, max: 1000n, onChange: ($, v) => $(minOrderQty.write(v)) }), _jsx(Input.String, { value: currency.read(), placeholder: "AUD", onChange: ($, v) => $(currency.write(v)) }), _jsx(Diff, { bindings: [listPrice.binding, discountPct.binding, minOrderQty.binding, currency.binding], density: "condensed", hideUnchanged: some(true) })] }) }));
|
|
185
|
-
} })] }));
|
|
186
|
-
}),
|
|
187
|
-
inputs: [],
|
|
188
|
-
});
|
|
189
|
-
// ============================================================================
|
|
190
|
-
// 3. Roster Table — editable cells (Float / Integer Inputs) writing back to
|
|
191
|
-
// a single ArrayType<Struct> staged binding. Diff visualises array
|
|
192
|
-
// patches per row.
|
|
193
|
-
// ============================================================================
|
|
194
|
-
export const rosterTableEditor = example({
|
|
195
|
-
keywords: ["Diff", "Table", "cell", "render", "Input", "Array", "bindStaged", "roster"],
|
|
196
|
-
description: "Editable Table — Input.Float / Input.Integer cells write back to a staged roster array; Diff shows per-row updates",
|
|
197
|
-
fn: East.function([], UIComponentType, (_$) => {
|
|
198
|
-
return (_jsx(Reactive, { children: $ => {
|
|
199
|
-
const roster = $.let(Data.bind(rosterInput, { mode: "staged" }));
|
|
200
|
-
// Get the roster array fresh inside the render closures to ensure edits to sibling
|
|
201
|
-
const rosterArray = $.let(roster.read(), RosterArrayType);
|
|
202
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "5", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Worker roster" }), _jsx(Text, { children: "Edit hourly rates and default shift lengths inline; Diff card below tracks pending changes." }), _jsx(Table, { data: rosterArray, columns: {
|
|
203
|
-
name: { header: "Name" },
|
|
204
|
-
rate: {
|
|
205
|
-
header: "Hourly rate ($)",
|
|
206
|
-
render: East.function([Table.Types.CellRenderContext], UIComponentType, ($, ctx) => {
|
|
207
|
-
const idx = $.let(ctx.rowIndex, IntegerType);
|
|
208
|
-
const row = $.let(rosterArray.get(idx), RosterEntryType);
|
|
209
|
-
// Re-read fresh inside the handler so a sibling cell's
|
|
210
|
-
// edit on the same row isn't overwritten by a stale
|
|
211
|
-
// capture of `row`. Merge via the map iterator's `r`.
|
|
212
|
-
const onRateChange = $.const(East.function([FloatType], NullType, ($, v) => {
|
|
213
|
-
const fresh = $.let(roster.read(), RosterArrayType);
|
|
214
|
-
const next = $.let(fresh.map(($, r, i) => i.equal(idx).ifElse(_$ => ({ ...r, rate: v }), () => r)), RosterArrayType);
|
|
215
|
-
$(roster.write(next));
|
|
216
|
-
}));
|
|
217
|
-
return (_jsx(Input.Float, { value: row.rate, min: 15.0, max: 80.0, step: 0.25, onChange: onRateChange }));
|
|
218
|
-
}),
|
|
219
|
-
},
|
|
220
|
-
shiftLength: {
|
|
221
|
-
header: "Shift length (h)",
|
|
222
|
-
render: East.function([Table.Types.CellRenderContext], UIComponentType, ($, ctx) => {
|
|
223
|
-
const idx = $.let(ctx.rowIndex, IntegerType);
|
|
224
|
-
const row = $.let(rosterArray.get(idx), RosterEntryType);
|
|
225
|
-
const onShiftChange = $.const(East.function([IntegerType], NullType, ($, v) => {
|
|
226
|
-
const fresh = $.let(roster.read(), RosterArrayType);
|
|
227
|
-
$(roster.write(fresh.map(($, r, i) => i.equal(idx).ifElse(_$ => ({ ...r, shiftLength: v }), () => r))));
|
|
228
|
-
}));
|
|
229
|
-
return (_jsx(Input.Integer, { value: row.shiftLength, min: 4n, max: 12n, onChange: onShiftChange }));
|
|
230
|
-
}),
|
|
231
|
-
},
|
|
232
|
-
}, variant: "line", striped: true }), _jsx(Diff, { bindings: [roster.binding], hideUnchanged: some(true) })] }) }));
|
|
233
|
-
} }));
|
|
234
|
-
}),
|
|
235
|
-
inputs: [],
|
|
236
|
-
});
|
|
237
|
-
// ============================================================================
|
|
238
|
-
// 4. Minimal call site — defaults only (used by IR-roundtrip + smoke tests)
|
|
239
|
-
// ============================================================================
|
|
240
|
-
export const diffDefaults = example({
|
|
241
|
-
keywords: ["Diff", "Root", "defaults", "minimal"],
|
|
242
|
-
description: "Minimal Diff — single binding, all options omitted (defaults from IR)",
|
|
243
|
-
fn: East.function([], UIComponentType, (_$) => {
|
|
244
|
-
return (_jsx(Reactive, { children: $ => {
|
|
245
|
-
const view = $.let(Data.bind(maxWeeklyHoursInput, { mode: "staged" }));
|
|
246
|
-
return _jsx(Diff, { bindings: [view.binding] });
|
|
247
|
-
} }));
|
|
248
|
-
}),
|
|
249
|
-
inputs: [],
|
|
250
|
-
});
|
|
251
|
-
// ============================================================================
|
|
252
|
-
// Merge-conflict demo — bindStaged for the user's edit + bindDirect on the
|
|
253
|
-
// SAME path for a "simulate concurrent edit" button. Clicking the button
|
|
254
|
-
// writes a different value through the live cache, so the staged buffer's
|
|
255
|
-
// pinned snapshot drifts away from the current server value. Hitting Apply
|
|
256
|
-
// on the Diff card then triggers the orange chooser flow.
|
|
257
|
-
// ============================================================================
|
|
258
|
-
/**
|
|
259
|
-
* Demonstrates the staged-mode merge tool / orange chooser. Workflow:
|
|
260
|
-
*
|
|
261
|
-
* 1. Drag the slider — your edit gets staged (snapshot pinned in StagedStore).
|
|
262
|
-
* 2. Click "Simulate concurrent edit" — `Data.bind.write(42.0)` writes 42 to
|
|
263
|
-
* the same path through the live cache, mimicking another session
|
|
264
|
-
* committing while you have edits open. Server view is now 42; your
|
|
265
|
-
* pinned snapshot is still 38; your buffer is whatever you dragged to.
|
|
266
|
-
* 3. Click Apply — `detectConflictsFor(userPatch, serverPatch)` finds both
|
|
267
|
-
* sides touching the root, switches the renderer to conflict mode, and
|
|
268
|
-
* shows the orange chooser row: keep yours (your dragged value), keep
|
|
269
|
-
* theirs (42), or manual (type a fresh number).
|
|
270
|
-
*/
|
|
271
|
-
export const mergeConflictDemo = example({
|
|
272
|
-
keywords: ["Diff", "merge", "conflict", "chooser", "bindStaged", "Slider"],
|
|
273
|
-
description: "Demo of the merge tool's orange chooser — drag, click Simulate, then Apply",
|
|
274
|
-
fn: East.function([], UIComponentType, (_$) => {
|
|
275
|
-
return (_jsx(Reactive, { children: $ => {
|
|
276
|
-
const staged = $.let(Data.bind(mergeDemoHoursInput, { mode: "staged" }));
|
|
277
|
-
const direct = $.let(Data.bind(mergeDemoHoursInput, { mode: "direct" }));
|
|
278
|
-
const stagedValue = $.let(staged.read(), FloatType);
|
|
279
|
-
const serverValue = $.let(direct.read(), FloatType);
|
|
280
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "5", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Merge-conflict demo" }), _jsx(Text, { children: "1. Drag the slider — your edit lands in the StagedStore (snapshot pinned). "
|
|
281
|
-
+ "2. Click \"Simulate concurrent edit\" — writes 42 through the live cache, "
|
|
282
|
-
+ "mimicking another session committing while you have edits open. "
|
|
283
|
-
+ "3. Click Apply on the Diff card — the merge tool detects drift and fires "
|
|
284
|
-
+ "the orange chooser row." }), _jsxs(VStack, { gap: "2", children: [_jsx(Text, { textStyle: "label-sm", children: "Server (live cache):" }), _jsx(Text, { children: East.str `${serverValue}` })] }), _jsxs(VStack, { gap: "2", children: [_jsx(Text, { textStyle: "label-sm", children: "Your staged value:" }), _jsx(Text, { children: East.str `${stagedValue}` })] }), _jsx(Slider, { value: stagedValue, min: 30.0, max: 60.0, step: 1.0, onChangeEnd: ($, v) => $(staged.write(v)) }), _jsxs(VStack, { gap: "2", children: [_jsx(Button, { onClick: $ => $(direct.write(42.0)), children: "Simulate concurrent edit (server \u2190 42)" }), _jsx(Button, { onClick: $ => $(direct.write(38.0)), children: "Reset server to 38" })] }), _jsx(Diff, { bindings: [staged.binding], hideUnchanged: some(true) })] }) }));
|
|
285
|
-
} }));
|
|
286
|
-
}),
|
|
287
|
-
inputs: [],
|
|
288
|
-
});
|
|
289
|
-
// ============================================================================
|
|
290
|
-
// Overlay-mode bindings — patches stored in a sibling `e3.input` typed
|
|
291
|
-
// `PatchType(T)`. The Diff component surfaces them via the `overlay` option
|
|
292
|
-
// instead of `staged`. See `Data.bindOverlay`.
|
|
293
|
-
// ============================================================================
|
|
294
|
-
// Patch inputs for overlay-mode examples. Each defaults to `unchanged`.
|
|
295
|
-
export const maxWeeklyHoursPatchInput = e3.input("max_weekly_hours_patch", PatchType(FloatType), variant('value', variant("unchanged", null)));
|
|
296
|
-
export const regionalPricesPatchInput = e3.input("regional_prices_patch", PatchType(DictType(StringType, FloatType)), variant('value', variant("unchanged", null)));
|
|
297
|
-
export const rosterPatchInput = e3.input("roster_patch", PatchType(RosterArrayType), variant('value', variant("unchanged", null)));
|
|
298
|
-
export const regionalPricesDriftPatchInput = e3.input("regional_prices_drift_patch", PatchType(DictType(StringType, FloatType)), variant('value', variant("patch", new Map([
|
|
299
|
-
["MX", variant("delete", 99.0)],
|
|
300
|
-
["AU", variant("insert", 100.0)],
|
|
301
|
-
["US", variant("update", variant("replace", { before: 30.0, after: 25.0 }))],
|
|
302
|
-
["EU", variant("update", variant("replace", { before: 44.95, after: 39.95 }))],
|
|
303
|
-
]))));
|
|
304
|
-
// Roster overlay drift — a patch over the array-of-structs source. Built with
|
|
305
|
-
// `diffFor` (base matches the bound source, so ops are clean) so the Diff card
|
|
306
|
-
// exercises its nested grouping: binding → array index → struct field. Only
|
|
307
|
-
// the `rate` of entries 0 and 1 change, producing `[0] → rate`, `[1] → rate`.
|
|
308
|
-
const rosterDriftBase = [
|
|
309
|
-
{ id: "alice", name: "Alice Chen", rate: 32.50, shiftLength: 8n },
|
|
310
|
-
{ id: "bob", name: "Bob Romero", rate: 28.00, shiftLength: 8n },
|
|
311
|
-
{ id: "charlie", name: "Charlie Patel", rate: 35.75, shiftLength: 10n },
|
|
312
|
-
{ id: "diana", name: "Diana Wallace", rate: 30.25, shiftLength: 8n },
|
|
313
|
-
];
|
|
314
|
-
const rosterDriftEdited = [
|
|
315
|
-
{ id: "alice", name: "Alice Chen", rate: 6.00, shiftLength: 8n },
|
|
316
|
-
{ id: "bob", name: "Bob Romero", rate: 29.00, shiftLength: 8n },
|
|
317
|
-
{ id: "charlie", name: "Charlie Patel", rate: 35.75, shiftLength: 10n },
|
|
318
|
-
{ id: "diana", name: "Diana Wallace", rate: 30.25, shiftLength: 8n },
|
|
319
|
-
];
|
|
320
|
-
export const rosterDriftPatchInput = e3.input("roster_drift_patch", PatchType(RosterArrayType), variant('value', diffFor(RosterArrayType)(rosterDriftBase, rosterDriftEdited)));
|
|
321
|
-
/**
|
|
322
|
-
* Overlay-mode variant panel. POLICY OVERLAY: Slider edits go to
|
|
323
|
-
* `max_weekly_hours_patch`, the Diff card surfaces the patch against the
|
|
324
|
-
* source. REGIONAL PRICING OVERLAY DRIFT: the patch input *starts* with a
|
|
325
|
-
* non-trivial patch that is stale relative to the source — what the Diff card
|
|
326
|
-
* displays when a server-stored patch was authored against an older revision
|
|
327
|
-
* (stale delete, stale insert, stale replace); no form components, because
|
|
328
|
-
* `view.read()` calls `apply(source, patch)` which throws `ConflictError` on
|
|
329
|
-
* the stale ops, while the Diff card walks the patch IR directly from cache
|
|
330
|
-
* bytes (no apply) so it renders cleanly (the bind is kept so the renderer's
|
|
331
|
-
* overlay-type registry knows how to decode the patch bytes). ROSTER OVERLAY
|
|
332
|
-
* DRIFT: an array-of-structs patch exercising nested grouping (binding →
|
|
333
|
-
* `[index]` → struct field) — only `rate` of entries 0 and 1 change, so the
|
|
334
|
-
* card renders `ROSTER → [0] → rate`, `[1] → rate`. ROSTER TABLE OVERLAY:
|
|
335
|
-
* the roster table editor with patches stored in `roster_patch`, surviving
|
|
336
|
-
* page reload and visible to other workspace sessions.
|
|
337
|
-
*/
|
|
338
|
-
export const diffOverlayVariants = example({
|
|
339
|
-
keywords: ["Diff", "bindOverlay", "Slider", "overlay", "policy", "patch", "Dict", "conflict", "drift", "roster", "array", "nested", "Table"],
|
|
340
|
-
description: "Overlay variant panel — POLICY OVERLAY: Slider writes patches to a sibling e3.input, Diff shows them; REGIONAL PRICING OVERLAY DRIFT: a stale patch — the Diff card surfaces ops that don't match the source; ROSTER OVERLAY DRIFT: an overlay roster patch — the Diff card surfaces nested array-element field changes; ROSTER TABLE OVERLAY: an editable table backed by a separate patch e3.input — patches persist across sessions",
|
|
341
|
-
fn: East.function([], UIComponentType, (_$) => {
|
|
342
|
-
return (_jsxs(VStack, { gap: "4", align: "stretch", children: [_jsx(Separator, { label: "POLICY OVERLAY", align: "start" }), _jsx(Reactive, { children: $ => {
|
|
343
|
-
const view = $.let(Data.bind(maxWeeklyHoursInput, { mode: "direct", patch: maxWeeklyHoursPatchInput }));
|
|
344
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "5", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Max weekly hours (overlay)" }), _jsx(Slider, { value: view.read(), min: 30.0, max: 60.0, step: 1.0, onChangeEnd: ($, v) => $(view.write(v)) }), _jsx(Diff, { bindings: [view.binding], hideUnchanged: some(true) })] }) }));
|
|
345
|
-
} }), _jsx(Separator, { label: "REGIONAL PRICING OVERLAY DRIFT", align: "start" }), _jsx(Reactive, { children: $ => {
|
|
346
|
-
const view = $.let(Data.bind(regionalPricesInput, { mode: "direct", patch: regionalPricesDriftPatchInput }));
|
|
347
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "5", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Regional pricing \u2014 overlay with stale patch" }), _jsx(Text, { children: "The patch input was authored against an older source. The Diff card below "
|
|
348
|
-
+ "shows: a stale delete (MX missing from source), a stale insert (AU already "
|
|
349
|
-
+ "exists), a stale replace (US before=30 doesn't match current 39.95), and "
|
|
350
|
-
+ "one clean replace (EU 44.95 → 39.95). Apply would throw ConflictError on "
|
|
351
|
-
+ "the stale ops; this example exists to show what the Diff renderer surfaces "
|
|
352
|
-
+ "when a server-stored patch has drifted from its source." }), _jsx(Diff, { bindings: [view.binding], hideUnchanged: some(true) })] }) }));
|
|
353
|
-
} }), _jsx(Separator, { label: "ROSTER OVERLAY DRIFT", align: "start" }), _jsx(Reactive, { children: $ => {
|
|
354
|
-
const view = $.let(Data.bind(rosterInput, { mode: "direct", patch: rosterDriftPatchInput }));
|
|
355
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "5", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Roster \u2014 overlay patch (nested)" }), _jsx(Text, { children: "The patch changes the hourly rate of the first two roster entries. The "
|
|
356
|
-
+ "Diff card groups each change under its array index, demonstrating the "
|
|
357
|
-
+ "binding → [index] → field nesting." }), _jsx(Diff, { bindings: [view.binding], hideUnchanged: some(true) })] }) }));
|
|
358
|
-
} }), _jsx(Separator, { label: "ROSTER TABLE OVERLAY", align: "start" }), _jsx(Reactive, { children: $ => {
|
|
359
|
-
const view = $.let(Data.bind(rosterInput, { mode: "direct", patch: rosterPatchInput }));
|
|
360
|
-
const rosterArray = $.let(view.read(), RosterArrayType);
|
|
361
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "5", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Worker roster (overlay-mode)" }), _jsx(Text, { children: "Patches stored in a sibling dataset \u2014 survive reload, visible to other sessions." }), _jsx(Table, { data: rosterArray, columns: {
|
|
362
|
-
name: { header: "Name" },
|
|
363
|
-
rate: {
|
|
364
|
-
header: "Hourly rate ($)",
|
|
365
|
-
render: East.function([Table.Types.CellRenderContext], UIComponentType, ($, ctx) => {
|
|
366
|
-
const idx = $.let(ctx.rowIndex, IntegerType);
|
|
367
|
-
const row = $.let(rosterArray.get(idx), RosterEntryType);
|
|
368
|
-
const onRateChange = $.const(East.function([FloatType], NullType, ($, v) => {
|
|
369
|
-
const fresh = $.let(view.read(), RosterArrayType);
|
|
370
|
-
const next = $.let(fresh.map(($, r, i) => i.equal(idx).ifElse(_$ => ({ ...r, rate: v }), _$ => r)), RosterArrayType);
|
|
371
|
-
$(view.write(next));
|
|
372
|
-
}));
|
|
373
|
-
return (_jsx(Input.Float, { value: row.rate, min: 15.0, max: 80.0, step: 0.25, onChange: onRateChange }));
|
|
374
|
-
}),
|
|
375
|
-
},
|
|
376
|
-
shiftLength: {
|
|
377
|
-
header: "Shift length (h)",
|
|
378
|
-
render: East.function([Table.Types.CellRenderContext], UIComponentType, ($, ctx) => {
|
|
379
|
-
const idx = $.let(ctx.rowIndex, IntegerType);
|
|
380
|
-
const row = $.let(rosterArray.get(idx), RosterEntryType);
|
|
381
|
-
const onShiftChange = $.const(East.function([IntegerType], NullType, ($, v) => {
|
|
382
|
-
const fresh = $.let(view.read(), RosterArrayType);
|
|
383
|
-
const next = $.let(fresh.map(($, r, i) => i.equal(idx).ifElse(_$ => ({ ...r, shiftLength: v }), _$ => r)), RosterArrayType);
|
|
384
|
-
$(view.write(next));
|
|
385
|
-
}));
|
|
386
|
-
return (_jsx(Input.Integer, { value: row.shiftLength, min: 4n, max: 12n, onChange: onShiftChange }));
|
|
387
|
-
}),
|
|
388
|
-
},
|
|
389
|
-
}, variant: "line", striped: true }), _jsx(Diff, { bindings: [view.binding], hideUnchanged: some(true) })] }) }));
|
|
390
|
-
} })] }));
|
|
391
|
-
}),
|
|
392
|
-
inputs: [],
|
|
393
|
-
});
|
|
394
|
-
// ============================================================================
|
|
395
|
-
// Staged + patch dataset — the fourth mode. Edits buffer locally (IndexedDB)
|
|
396
|
-
// while the user iterates; commit publishes a fresh patch IR to the patch
|
|
397
|
-
// dataset (the source is not touched until a separate apply step). Pairs
|
|
398
|
-
// well with reviewer / approval workflows where the patch dataset becomes
|
|
399
|
-
// the unit of review.
|
|
400
|
-
// ============================================================================
|
|
401
|
-
/**
|
|
402
|
-
* Staged + patch variant panel. POLICY STAGED PATCH: single-Float
|
|
403
|
-
* staged-with-patch editor — buffered Slider edits publish to
|
|
404
|
-
* `max_weekly_hours_patch` on Apply; the source `max_weekly_hours` stays
|
|
405
|
-
* untouched until a separate apply-patch-to-source step. ROSTER STAGED
|
|
406
|
-
* PATCH: the roster table editor in staged + patch mode — cell edits buffer
|
|
407
|
-
* in IndexedDB until Apply, which publishes a fresh patch to `roster_patch`;
|
|
408
|
-
* survives reload as a draft, and multi-session reviewers see the patch only
|
|
409
|
-
* after the author commits.
|
|
410
|
-
*/
|
|
411
|
-
export const diffStagedPatchVariants = example({
|
|
412
|
-
keywords: ["Diff", "Slider", "staged", "patch", "publish", "policy", "Table", "roster"],
|
|
413
|
-
description: "Staged + patch variant panel — POLICY STAGED PATCH: Slider edits buffered locally, Apply publishes the draft to a server-backed patch dataset; ROSTER STAGED PATCH: an editable roster whose buffered cell edits publish a fresh patch to the patch dataset on Apply",
|
|
414
|
-
fn: East.function([], UIComponentType, (_$) => {
|
|
415
|
-
return (_jsxs(VStack, { gap: "4", align: "stretch", children: [_jsx(Separator, { label: "POLICY STAGED PATCH", align: "start" }), _jsx(Reactive, { children: $ => {
|
|
416
|
-
const view = $.let(Data.bind(maxWeeklyHoursInput, { mode: "staged", patch: maxWeeklyHoursPatchInput }));
|
|
417
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "5", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Max weekly hours (staged + patch)" }), _jsx(Text, { children: "Drag to buffer locally; Apply publishes the draft as a patch to the patch dataset (source untouched)." }), _jsx(Slider, { value: view.read(), min: 30.0, max: 60.0, step: 1.0, onChange: ($, v) => $(view.write(v)) }), _jsx(Diff, { bindings: [view.binding], hideUnchanged: some(true) })] }) }));
|
|
418
|
-
} }), _jsx(Separator, { label: "ROSTER STAGED PATCH", align: "start" }), _jsx(Reactive, { children: $ => {
|
|
419
|
-
const view = $.let(Data.bind(rosterInput, { mode: "staged", patch: rosterPatchInput }));
|
|
420
|
-
const rosterArray = $.let(view.read(), RosterArrayType);
|
|
421
|
-
return (_jsx(Card, { children: _jsxs(VStack, { gap: "5", align: "stretch", children: [_jsx(Text, { textStyle: "heading-md", children: "Worker roster (staged + patch)" }), _jsx(Text, { children: "Edits buffer locally until Apply, which publishes a draft patch to the patch dataset for review." }), _jsx(Table, { data: rosterArray, columns: {
|
|
422
|
-
name: { header: "Name" },
|
|
423
|
-
rate: {
|
|
424
|
-
header: "Hourly rate ($)",
|
|
425
|
-
render: East.function([Table.Types.CellRenderContext], UIComponentType, ($, ctx) => {
|
|
426
|
-
const idx = $.let(ctx.rowIndex, IntegerType);
|
|
427
|
-
const row = $.let(rosterArray.get(idx), RosterEntryType);
|
|
428
|
-
const onRateChange = $.const(East.function([FloatType], NullType, ($, v) => {
|
|
429
|
-
const fresh = $.let(view.read(), RosterArrayType);
|
|
430
|
-
$(view.write(fresh.map(($, r, i) => i.equal(idx).ifElse(_$ => ({ ...r, rate: v }), () => r))));
|
|
431
|
-
}));
|
|
432
|
-
return (_jsx(Input.Float, { value: row.rate, min: 15.0, max: 80.0, step: 0.25, onChange: onRateChange }));
|
|
433
|
-
}),
|
|
434
|
-
},
|
|
435
|
-
shiftLength: {
|
|
436
|
-
header: "Shift length (h)",
|
|
437
|
-
render: East.function([Table.Types.CellRenderContext], UIComponentType, ($, ctx) => {
|
|
438
|
-
const idx = $.let(ctx.rowIndex, IntegerType);
|
|
439
|
-
const row = $.let(rosterArray.get(idx), RosterEntryType);
|
|
440
|
-
const onShiftChange = $.const(East.function([IntegerType], NullType, ($, v) => {
|
|
441
|
-
const fresh = $.let(view.read(), RosterArrayType);
|
|
442
|
-
$(view.write(fresh.map(($, r, i) => i.equal(idx).ifElse(_$ => ({ ...r, shiftLength: v }), () => r))));
|
|
443
|
-
}));
|
|
444
|
-
return (_jsx(Input.Integer, { value: row.shiftLength, min: 4n, max: 12n, onChange: onShiftChange }));
|
|
445
|
-
}),
|
|
446
|
-
},
|
|
447
|
-
}, variant: "line", striped: true }), _jsx(Diff, { bindings: [view.binding], hideUnchanged: some(true) })] }) }));
|
|
448
|
-
} })] }));
|
|
449
|
-
}),
|
|
450
|
-
inputs: [],
|
|
451
|
-
});
|
|
452
|
-
//# sourceMappingURL=diff.examples.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diff.examples.js","sourceRoot":"","sources":["../../../test/diff/diff.examples.tsx"],"names":[],"mappings":"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"}
|