@qoretechnologies/reqore 0.69.5 → 0.70.1

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.
Files changed (52) hide show
  1. package/.tasks/EDITABLE_DATAVIEW.md +171 -0
  2. package/dist/components/Button/index.d.ts +14 -0
  3. package/dist/components/Button/index.d.ts.map +1 -1
  4. package/dist/components/Button/index.js +20 -3
  5. package/dist/components/Button/index.js.map +1 -1
  6. package/dist/components/DataView/helpers.d.ts +41 -0
  7. package/dist/components/DataView/helpers.d.ts.map +1 -1
  8. package/dist/components/DataView/helpers.js +189 -1
  9. package/dist/components/DataView/helpers.js.map +1 -1
  10. package/dist/components/DataView/index.d.ts +49 -2
  11. package/dist/components/DataView/index.d.ts.map +1 -1
  12. package/dist/components/DataView/index.js +485 -25
  13. package/dist/components/DataView/index.js.map +1 -1
  14. package/dist/components/DatePicker/index.d.ts.map +1 -1
  15. package/dist/components/DatePicker/index.js +2 -2
  16. package/dist/components/DatePicker/index.js.map +1 -1
  17. package/dist/components/Input/index.d.ts +6 -0
  18. package/dist/components/Input/index.d.ts.map +1 -1
  19. package/dist/components/Input/index.js +25 -10
  20. package/dist/components/Input/index.js.map +1 -1
  21. package/dist/components/KeyboardShortcut/index.d.ts +33 -0
  22. package/dist/components/KeyboardShortcut/index.d.ts.map +1 -0
  23. package/dist/components/KeyboardShortcut/index.js +69 -0
  24. package/dist/components/KeyboardShortcut/index.js.map +1 -0
  25. package/dist/components/StackedBar/index.d.ts +80 -0
  26. package/dist/components/StackedBar/index.d.ts.map +1 -0
  27. package/dist/components/StackedBar/index.js +209 -0
  28. package/dist/components/StackedBar/index.js.map +1 -0
  29. package/dist/components/Textarea/index.d.ts +5 -0
  30. package/dist/components/Textarea/index.d.ts.map +1 -1
  31. package/dist/components/Textarea/index.js +12 -3
  32. package/dist/components/Textarea/index.js.map +1 -1
  33. package/dist/containers/ReqoreProvider.d.ts.map +1 -1
  34. package/dist/containers/ReqoreProvider.js +3 -1
  35. package/dist/containers/ReqoreProvider.js.map +1 -1
  36. package/dist/containers/UIProvider.d.ts +1 -1
  37. package/dist/containers/UIProvider.d.ts.map +1 -1
  38. package/dist/containers/UIProvider.js.map +1 -1
  39. package/dist/context/ReqoreContext.d.ts +8 -0
  40. package/dist/context/ReqoreContext.d.ts.map +1 -1
  41. package/dist/context/ReqoreContext.js +1 -0
  42. package/dist/context/ReqoreContext.js.map +1 -1
  43. package/dist/helpers/shortcuts.d.ts +35 -0
  44. package/dist/helpers/shortcuts.d.ts.map +1 -0
  45. package/dist/helpers/shortcuts.js +152 -0
  46. package/dist/helpers/shortcuts.js.map +1 -0
  47. package/dist/index.d.ts +6 -1
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +17 -3
  50. package/dist/index.js.map +1 -1
  51. package/package.json +3 -2
  52. package/tests.json +1 -1
@@ -0,0 +1,171 @@
1
+ # Editable DataView — JSON Schema builder mode
2
+
3
+ ## Current state
4
+
5
+ ReqoreDataView (src/components/DataView/index.tsx) is a read-only, visually-rich tree renderer for structured payloads:
6
+
7
+ - **Render-only**: Wraps ReqorePanel + renders `data` (object, array, scalar) as a collapsible tree.
8
+ - **Type-aware display**: Chips colour-code values by kind (string / number / boolean / date / null / object / array) using ReqoreTag with intents.
9
+ - **Envelope detection**: Unwraps `{ type: string, value: unknown }` shapes and labels the value with the type (helpers.ts, line 13-127).
10
+ - **Nested nesting**: Records render as a grid table (key | value pairs), arrays as stacked indexed items; depth levels control collapse state.
11
+ - **Interaction**: `onItemClick` fires on a scalar value (no tree mutation). `onSectionToggle` fires when user expands/collapses a section (no data mutation).
12
+ - **Key primitives**: RecordTable (memo, ResizeObserver for responsive stacking), PreservedDetails (scroll-preserving collapsible), renderTree (pure function, depth-aware).
13
+ - **Props surface**: No data-mutation callbacks; size, intent, theme customization via ReqorePanel forwarding; envelope/parseEmbedded for structural hints.
14
+
15
+ ## Target capability
16
+
17
+ Turn DataView into an editable JSON Schema builder:
18
+
19
+ - **Editable inline values**: Property type, description, default value, enum members editable as inline controls (ReqoreInput, ReqoreSelect, ReqoreTa textarea).
20
+ - **Structural edits**: Add/remove properties from objects; add/remove items from arrays; rename keys; reorder (optional).
21
+ - **Schema-aware**: Render JSON Schema constructs (type, properties, required, items, enum, format, minLength, pattern, examples) as visual controls instead of raw JSON.
22
+ - **Nested objects + arrays**: Support building complex schemas (`properties: { name: { type: "string" }, address: { type: "object", properties: {...} } }`).
23
+ - **Validation**: Show errors inline (e.g. "required property 'name' not set"), prevent invalid states (e.g. can't set type="object" without properties).
24
+ - **Callbacks**: `onSchemaChange(newSchema)` after any edit; `onAddProperty(path)`, `onRemoveProperty(path)`, `onChangePropertyType(path, type)`, etc. to wire parent logic.
25
+
26
+ ## Gaps
27
+
28
+ ### 1. Render-as-input gap (index.tsx renderScalar, line 520)
29
+ Currently `renderScalar` returns a static ReqoreTag chip. For editable mode:
30
+ - No dispatch to per-type input component (e.g. ReqoreInput for string values, ReqoreSelect for enum).
31
+ - renderValue does not know about edit intent — renders display-only.
32
+ - **Gap**: Need a "value renderer" pattern similar to ReqoreTree (line 60 `KeyRenderer` / `ValueRenderer` props) or an `editable` flag + callbacks to swap scalar rendering.
33
+
34
+ ### 2. Row add/remove missing (RecordTable, index.tsx line 606)
35
+ RecordTable only renders existing entries; no "add property" or "remove property" UI.
36
+ - **Gap**: Need action buttons (+, ✕) on each row to insert/delete; need an "add row" button after the last entry.
37
+ - Likely a new sub-component or `RecordTable` enhancement to render trailing buttons per row.
38
+
39
+ ### 3. Type picker not built (helpers.ts)
40
+ JSON Schema `type` can be `"string" | "number" | "boolean" | "integer" | "object" | "array" | "null"` — no generic "type picker" exists in Reqore.
41
+ - **Gap**: Need a ReqoreSelect (or custom multi-select for `type: ["string", "null"]`) that renders the JSON Schema type list.
42
+ - No schema-to-option mapping (e.g. type="object" → show +Add Property button, type="array" → show items schema editor).
43
+
44
+ ### 4. Enum editor missing
45
+ JSON Schema `enum: [...]` requires rendering an array of allowed values as editable tags/chips.
46
+ - **Gap**: ReqoreMultiSelect exists (src/components/MultiSelect, line 85) but is not integrated; need wrapper to bind it to the `enum` field.
47
+
48
+ ### 5. Nested object/array editing
49
+ When `type: "object"`, the `properties` field itself is a map of nested schemas. Same for `items` in arrays.
50
+ - **Gap**: Recursive schema rendering — each nested schema is another DataView-like tree that must also be editable.
51
+ - renderTree (index.tsx line 685) handles nesting visually but doesn't know about JSON Schema semantics (when to render a type picker vs. a string input).
52
+
53
+ ### 6. No "required" field editor
54
+ JSON Schema `required: ["name", "age"]` marks which object properties are mandatory.
55
+ - **Gap**: No UI to toggle membership in the required array; no visual indicator (checkbox, badge) next to a property name to mark it required.
56
+
57
+ ### 7. Edit state + callbacks not wired
58
+ Editable mode needs:
59
+ - Edit state per row (isEditing?, focus management).
60
+ - Callback handlers: `onChangeValue(path, value)`, `onChangeType(path, type)`, `onAddProperty(path)`, `onRemoveProperty(path)`.
61
+ - **Gap**: No callbacks defined in IReqoreDataViewProps (index.tsx line 74); ReqorePanel wrapping doesn't expose them.
62
+
63
+ ### 8. Validation + error display
64
+ Schema builder must validate on change (e.g. can't set type="object" without properties; can't have duplicate required entries).
65
+ - **Gap**: No error state model; no inline error rendering (e.g. red intent badge, tooltip, or callout).
66
+
67
+ ### 9. Key rename affordance
68
+ Users must be able to change property names (keys).
69
+ - **Gap**: Key is rendered as a static ReqoreTag (index.tsx line 657); no edit mode swaps it to a ReqoreInput.
70
+
71
+ ### 10. Scroll preservation during edit
72
+ When a row switches from display → edit (inline input appears), ResizeObserver may fire, scroll position shifts.
73
+ - **Gap**: Need to preserve scroll + focus position during mode switch (similar to PreservedDetails, line 429).
74
+
75
+ ## Proposed shape (high-level)
76
+
77
+ ```typescript
78
+ export interface IReqoreDataViewProps {
79
+ // ... existing props ...
80
+
81
+ // Enable editable mode
82
+ editable?: boolean;
83
+
84
+ // Callbacks for edit operations
85
+ onDataChange?: (data: unknown) => void; // Called after any edit
86
+ onAddProperty?: (path: string[]) => void;
87
+ onRemoveProperty?: (path: string[]) => void;
88
+ onChangePropertyType?: (path: string[], type: string) => void;
89
+ onChangePropertyValue?: (path: string[], value: unknown) => void;
90
+ onRenameProperty?: (path: string[], oldKey: string, newKey: string) => void;
91
+ onChangeRequired?: (path: string[], required: string[]) => void;
92
+
93
+ // Schema mode hint — tells DataView this is a JSON Schema, enable type picker + required indicator
94
+ schemaMode?: boolean; // or 'json-schema' | 'openapi' for hints
95
+
96
+ // Validation errors
97
+ errors?: Record<string, string>; // path.join('.') → error message
98
+
99
+ // Custom renderers for special fields
100
+ PropertyTypeRenderer?: React.ComponentType<{
101
+ value: unknown;
102
+ path: string[];
103
+ onChangeType?: (type: string) => void;
104
+ }>;
105
+ EnumValueRenderer?: React.ComponentType<{
106
+ value: string[];
107
+ path: string[];
108
+ onChangeValues?: (values: string[]) => void;
109
+ }>;
110
+ }
111
+ ```
112
+
113
+ ## Implementation phases
114
+
115
+ ### Phase 1: Edit-mode toggle + inline scalar input
116
+ - Add `editable?: boolean` prop to IReqoreDataViewProps.
117
+ - Create a new `EditableScalarCell` component that dispatches to ReqoreInput (text), ReqoreSelect (boolean), etc. based on value type.
118
+ - Modify renderScalar to accept an `onValueChange` callback and swap to EditableScalarCell when editable=true.
119
+ - Test: edit a string scalar, confirm onChange fires and value updates.
120
+
121
+ ### Phase 2: Row add/remove buttons
122
+ - Enhance RecordTable to render action buttons (+, ✕) on each row.
123
+ - Add `onAddProperty(path)` and `onRemoveProperty(path, key)` callbacks.
124
+ - For arrays, add "add item" button after the last item.
125
+ - Test: add a property, remove a property, confirm callbacks fire.
126
+
127
+ ### Phase 3: Key renaming
128
+ - Swap the static key ReqoreTag to an inline-edit component (pattern: Panel.LabelEditor).
129
+ - Add `onRenameProperty(path, oldKey, newKey)` callback.
130
+ - Test: rename a key, confirm validation (duplicate keys not allowed).
131
+
132
+ ### Phase 4: Type picker + schema-aware rendering
133
+ - Build a "JSON Schema type picker" ReqoreSelect (type: "string" | "number" | "object" | "array" | ...).
134
+ - Add `schemaMode?: boolean` prop; when true, detect JSON Schema constructs (type, properties, required, items, enum).
135
+ - Render `type` field as a dropdown; when type changes, conditionally show/hide related fields (e.g. hide "properties" if type != "object").
136
+ - Test: toggle type from "string" to "object", confirm "properties" field appears/disappears.
137
+
138
+ ### Phase 5: Required field editor + enum editor
139
+ - Add checkbox / toggle indicator next to property names when schemaMode=true and parent type="object".
140
+ - Clicking toggles the property's membership in the `required: [...]` array.
141
+ - For `enum: [...]`, integrate ReqoreMultiSelect to add/remove allowed values.
142
+ - Test: mark a property required, toggle it off; add/remove enum values.
143
+
144
+ ### Phase 6: Nested schema editing + validation
145
+ - Recursively render nested `properties` and `items` schemas as editable DataViews.
146
+ - Add error state: display inline badges/callouts for validation failures (e.g. "type='object' requires properties").
147
+ - Test: build a nested schema (object with nested object property), edit at all levels, confirm validation.
148
+
149
+ ### Phase 7: Polish + accessibility
150
+ - Scroll preservation on mode switches (inline input appears).
151
+ - Keyboard navigation (Tab through edits, Escape to cancel, Enter to confirm).
152
+ - Undo/redo (optional; may defer to parent).
153
+
154
+ ## Open questions
155
+
156
+ 1. **Reordering**: Do properties need to reorder? JSON objects are unordered, but UI UX often benefits from drag-to-reorder. Should array items support reordering?
157
+
158
+ 2. **Schema subset**: Must the editor support `oneOf` / `anyOf` / `allOf` (polymorphic schemas)? Or only the core subset (type, properties, required, items, enum, format)?
159
+
160
+ 3. **Validation gate**: Should edits be rejected immediately if invalid (e.g. can't save until all required properties set), or show warnings but allow saves?
161
+
162
+ 4. **Colocated vs. modal**: Is this an inline-editable tree inside a panel, or does editing large schemas open a modal?
163
+
164
+ 5. **Root-level type change**: When schemaMode=true and data is an object, can the user change the root type from "object" to "array" or "string"? (Likely yes; affects row layout.)
165
+
166
+ 6. **Default value editor**: Should the editor support editing `default: ...` field for each property? This needs context-aware input (type matching).
167
+
168
+ 7. **Examples field**: Does the builder need to support the `examples: [...]` field from JSON Schema? (Lower priority; can defer.)
169
+
170
+ 8. **Integration point**: Does this live as props on ReqoreDataView, or as a new ReqoreSchemaBuilder component that wraps DataView + adds edit logic?
171
+
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { TSizes } from '../../constants/sizes';
3
3
  import { IReqoreCustomTheme, IReqoreTheme } from '../../constants/theme';
4
+ import { TReqoreKeyboardShortcut } from '../../helpers/shortcuts';
4
5
  import { IReqoreDisabled, IReqoreIntent, IReqoreReadOnly, IWithReqoreEffect, IWithReqoreLoading, IWithReqoreSize, TReqoreTooltipProp } from '../../types/global';
5
6
  import { IReqoreIconName } from '../../types/icons';
6
7
  import { IReqoreEffect, TReqoreEffectColor, TReqoreHexColor } from '../Effect';
@@ -28,6 +29,19 @@ export interface IReqoreButtonProps extends React.HTMLAttributes<HTMLButtonEleme
28
29
  customTheme?: IReqoreCustomTheme;
29
30
  wrap?: boolean;
30
31
  badge?: TReqoreBadge | TReqoreBadge[];
32
+ /**
33
+ * Keyboard shortcut that triggers the button's `onClick`, following the
34
+ * `react-hotkeys-hook` syntax (e.g. `'mod+k'`, `'ctrl+shift+s'`, or an array
35
+ * of alternatives). The `mod` modifier maps to `⌘` on macOS and `Ctrl`
36
+ * elsewhere. Combos that include a modifier also fire while a form field is
37
+ * focused; bare single-key shortcuts do not, to avoid clashing with typing.
38
+ */
39
+ shortcut?: TReqoreKeyboardShortcut;
40
+ /**
41
+ * Whether to render the badge-style hint for `shortcut`. Defaults to `true`,
42
+ * unless globally disabled via the `shortcutHints` UI option.
43
+ */
44
+ shortcutHint?: boolean;
31
45
  description?: string | number;
32
46
  maxWidth?: string;
33
47
  textAlign?: 'left' | 'center' | 'right';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAGtE,OAAO,EAUL,MAAM,EACP,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAwBzE,OAAO,EACL,eAAe,EACf,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAEL,aAAa,EAGb,kBAAkB,EAClB,eAAe,EAChB,MAAM,WAAW,CAAC;AACnB,OAAmB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAkB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAIpD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,kBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAC7C,eAAe,EACf,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,iBAAiB;IACnB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IAEtC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC;IAC5D,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AA0BD,eAAO,MAAM,yBAAyB,KAQrC,CAAC;AAEF,eAAO,MAAM,YAAY,KAsLxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,KAe/B,CAAC;AAEF,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,WAAW,+EACsC,uBAAuB,6CAwFpF,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,YAAY,8HA4QjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.tsx"],"names":[],"mappings":"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"}
@@ -67,17 +67,21 @@ var jsx_runtime_1 = require("react/jsx-runtime");
67
67
  var lodash_1 = require("lodash");
68
68
  var polished_1 = require("polished");
69
69
  var react_1 = require("react");
70
+ var react_hotkeys_hook_1 = require("react-hotkeys-hook");
70
71
  var styled_components_1 = __importStar(require("styled-components"));
71
72
  var colors_1 = require("../../constants/colors");
72
73
  var sizes_1 = require("../../constants/sizes");
73
74
  var colors_2 = require("../../helpers/colors");
75
+ var shortcuts_1 = require("../../helpers/shortcuts");
74
76
  var utils_1 = require("../../helpers/utils");
77
+ var useCombinedRefs_1 = require("../../hooks/useCombinedRefs");
75
78
  var useReqoreContext_1 = require("../../hooks/useReqoreContext");
76
79
  var useReqoreEffect_1 = require("../../hooks/useReqoreEffect");
77
80
  var useTheme_1 = require("../../hooks/useTheme");
78
81
  var styles_1 = require("../../styles");
79
82
  var Effect_1 = require("../Effect");
80
83
  var Icon_1 = __importDefault(require("../Icon"));
84
+ var KeyboardShortcut_1 = require("../KeyboardShortcut");
81
85
  var Spacer_1 = require("../Spacer");
82
86
  var Tag_1 = __importDefault(require("../Tag"));
83
87
  var group_1 = __importDefault(require("../Tag/group"));
@@ -267,10 +271,23 @@ exports.ButtonBadge = (0, react_1.memo)(function (_a) {
267
271
  */
268
272
  var ReqoreButton = (0, react_1.memo)((0, react_1.forwardRef)(function (_a, ref) {
269
273
  var _b, _c;
270
- var icon = _a.icon, _d = _a.size, size = _d === void 0 ? 'normal' : _d, minimal = _a.minimal, transparent = _a.transparent, children = _a.children, tooltip = _a.tooltip, className = _a.className, fluid = _a.fluid, fixed = _a.fixed, alignSelf = _a.alignSelf, intent = _a.intent, active = _a.active, flat = _a.flat, rightIcon = _a.rightIcon, customTheme = _a.customTheme, wrap = _a.wrap, readOnly = _a.readOnly, badge = _a.badge, description = _a.description, maxWidth = _a.maxWidth, _e = _a.textAlign, textAlign = _e === void 0 ? 'left' : _e, effect = _a.effect, labelEffect = _a.labelEffect, descriptionEffect = _a.descriptionEffect, leftIconColor = _a.leftIconColor, rightIconColor = _a.rightIconColor, iconColor = _a.iconColor, iconsAlign = _a.iconsAlign, leftIconProps = _a.leftIconProps, rightIconProps = _a.rightIconProps, label = _a.label, compact = _a.compact, as = _a.as, animated = _a.animated, loading = _a.loading, loadingIconType = _a.loadingIconType, rest = __rest(_a, ["icon", "size", "minimal", "transparent", "children", "tooltip", "className", "fluid", "fixed", "alignSelf", "intent", "active", "flat", "rightIcon", "customTheme", "wrap", "readOnly", "badge", "description", "maxWidth", "textAlign", "effect", "labelEffect", "descriptionEffect", "leftIconColor", "rightIconColor", "iconColor", "iconsAlign", "leftIconProps", "rightIconProps", "label", "compact", "as", "animated", "loading", "loadingIconType"]);
274
+ var icon = _a.icon, _d = _a.size, size = _d === void 0 ? 'normal' : _d, minimal = _a.minimal, transparent = _a.transparent, children = _a.children, tooltip = _a.tooltip, className = _a.className, fluid = _a.fluid, fixed = _a.fixed, alignSelf = _a.alignSelf, intent = _a.intent, active = _a.active, flat = _a.flat, rightIcon = _a.rightIcon, customTheme = _a.customTheme, wrap = _a.wrap, readOnly = _a.readOnly, badge = _a.badge, description = _a.description, maxWidth = _a.maxWidth, _e = _a.textAlign, textAlign = _e === void 0 ? 'left' : _e, effect = _a.effect, labelEffect = _a.labelEffect, descriptionEffect = _a.descriptionEffect, leftIconColor = _a.leftIconColor, rightIconColor = _a.rightIconColor, iconColor = _a.iconColor, iconsAlign = _a.iconsAlign, leftIconProps = _a.leftIconProps, rightIconProps = _a.rightIconProps, label = _a.label, compact = _a.compact, as = _a.as, animated = _a.animated, loading = _a.loading, shortcut = _a.shortcut, shortcutHint = _a.shortcutHint, loadingIconType = _a.loadingIconType, rest = __rest(_a, ["icon", "size", "minimal", "transparent", "children", "tooltip", "className", "fluid", "fixed", "alignSelf", "intent", "active", "flat", "rightIcon", "customTheme", "wrap", "readOnly", "badge", "description", "maxWidth", "textAlign", "effect", "labelEffect", "descriptionEffect", "leftIconColor", "rightIconColor", "iconColor", "iconsAlign", "leftIconProps", "rightIconProps", "label", "compact", "as", "animated", "loading", "shortcut", "shortcutHint", "loadingIconType"]);
271
275
  var animations = (0, useReqoreContext_1.useReqoreProperty)('animations');
276
+ var shortcutHintsEnabled = (0, useReqoreContext_1.useReqoreProperty)('shortcutHints');
272
277
  var theme = (0, useTheme_1.useReqoreTheme)('main', customTheme, intent);
273
278
  var fixedEffect = (0, useReqoreEffect_1.useReqoreEffect)('buttons', theme, effect);
279
+ var targetRef = (0, useCombinedRefs_1.useCombinedRefs)(ref).targetRef;
280
+ var shortcutEnabled = !!shortcut && !rest.disabled && !readOnly && !loading;
281
+ (0, react_hotkeys_hook_1.useHotkeys)(shortcut !== null && shortcut !== void 0 ? shortcut : [], function (event) {
282
+ var _a;
283
+ event.preventDefault();
284
+ (_a = targetRef.current) === null || _a === void 0 ? void 0 : _a.click();
285
+ }, {
286
+ enabled: shortcutEnabled,
287
+ enableOnFormTags: shortcut ? (0, shortcuts_1.shortcutHasModifier)(shortcut) : false,
288
+ preventDefault: true,
289
+ }, [shortcut, shortcutEnabled]);
290
+ var showShortcutHint = !!shortcut && shortcutHint !== false && shortcutHintsEnabled !== false;
274
291
  // If color or intent was specified, set the color
275
292
  var customColor = (0, react_1.useMemo)(function () { return (intent ? theme.main : (0, colors_2.changeLightness)(theme.main, 0.07)); }, [intent, theme.main]);
276
293
  var _flat = minimal ? flat : flat === true;
@@ -294,7 +311,7 @@ var ReqoreButton = (0, react_1.memo)((0, react_1.forwardRef)(function (_a, ref)
294
311
  return ((0, jsx_runtime_1.jsxs)(TooltipComponent_1.ReqoreTooltipComponent, __assign({}, rest, { effect: memoEffect,
295
312
  tabIndex: rest.disabled ? -1 : 0,
296
313
  as: as || 'button', theme: theme, fluid: fluid, fixed: fixed, alignSelf: alignSelf, maxWidth: maxWidth, minimal: minimal, transparent: transparent, size: size, intent: intent, color: customColor, animate: animate, flat: _flat, active: active, readOnly: readOnly || loading, wrap: wrap, description: description, className: "".concat(className || '', " reqore-control reqore-button"),
297
- compact: _compact, tooltip: tooltip, Component: exports.StyledButton, ref: ref, children: [(0, jsx_runtime_1.jsxs)(exports.StyledButtonContent, { size: size, wrap: wrap, description: description, flat: _flat, children: [hasLeftIcon ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Icon_1.default, __assign({ size: size, color: leftIconColor || iconColor, compact: true, effect: {
314
+ compact: _compact, tooltip: tooltip, Component: exports.StyledButton, ref: targetRef, children: [(0, jsx_runtime_1.jsxs)(exports.StyledButtonContent, { size: size, wrap: wrap, description: description, flat: _flat, children: [hasLeftIcon ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Icon_1.default, __assign({ size: size, color: leftIconColor || iconColor, compact: true, effect: {
298
315
  opacity: colors_1.CONTROL_ICON_OPACITY,
299
316
  } }, leftIconProps, { style: textAlign !== 'left' || iconsAlign === 'center' || !_children
300
317
  ? {
@@ -318,7 +335,7 @@ var ReqoreButton = (0, react_1.memo)((0, react_1.forwardRef)(function (_a, ref)
318
335
  ? 'auto'
319
336
  : undefined,
320
337
  }
321
- : undefined }))] }))] }), description && ((0, jsx_runtime_1.jsx)(Effect_1.ReqoreTextEffect, { className: 'reqore-button-description', effect: __assign({ textSize: (0, utils_1.getOneLessSize)(size), weight: 'light', textAlign: textAlign }, descriptionEffect), children: description }))] })));
338
+ : undefined }))] })), showShortcutHint ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Spacer_1.ReqoreSpacer, { width: sizes_1.PADDING_FROM_SIZE[size] / 2 }), (0, jsx_runtime_1.jsx)(KeyboardShortcut_1.ReqoreKeyboardShortcut, { shortcut: shortcut, size: size, compact: _compact })] })) : null] }), description && ((0, jsx_runtime_1.jsx)(Effect_1.ReqoreTextEffect, { className: 'reqore-button-description', effect: __assign({ textSize: (0, utils_1.getOneLessSize)(size), weight: 'light', textAlign: textAlign }, descriptionEffect), children: description }))] })));
322
339
  }));
323
340
  exports.default = ReqoreButton;
324
341
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Button/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Button/index.tsx"],"names":[],"mappings":"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"}
@@ -47,6 +47,47 @@ export declare const reqoreEnvelopeType: (value: unknown, envelope?: IReqoreData
47
47
  /** Test whether a value would render as a "structural" block (record /
48
48
  * array) rather than a scalar. Envelope-aware. */
49
49
  export declare const reqoreHasStructuredValue: (value: unknown, envelope?: IReqoreDataViewEnvelope) => boolean;
50
+ /** Immutable set-at-path — walks the structural tree (`data`),
51
+ * produces a new copy with the leaf at `path` replaced by `value`, and
52
+ * returns it. Used by the editable mode to apply per-cell edits while
53
+ * keeping the surrounding shape intact for diffing / undo / parent
54
+ * re-renders.
55
+ *
56
+ * Supports nested records and arrays. Numeric path segments are
57
+ * interpreted as array indices when the parent at that level is an
58
+ * array. Out-of-range array indices extend the array (pushes
59
+ * `undefined` into the gap) — useful when an "add item" affordance
60
+ * appends to a list. Setting a record key that does not yet exist
61
+ * creates it. */
62
+ export declare const reqoreSetAtPath: (data: unknown, path: ReadonlyArray<string>, value: unknown) => unknown;
63
+ /** Coerce a value to a target value-kind, preserving the existing
64
+ * content where reasonable. Powers the inline type-change picker —
65
+ * when the operator flips a string to a number we try to parse it;
66
+ * when they flip a number to a boolean we use the standard
67
+ * zero-is-false rule; flips to an object or array discard the scalar
68
+ * and yield an empty container ready to be filled in.
69
+ *
70
+ * Returns sensible defaults when conversion isn't possible:
71
+ * - string → unchanged for string; `String(value)` for scalars; `''` for objects/arrays/null
72
+ * - number → parsed when possible; `0` otherwise; booleans → 0/1
73
+ * - boolean → unchanged for boolean; `'true'`/`'1'` → true; numbers → !!value; else false
74
+ * - object → unchanged for record; `{}` otherwise
75
+ * - array → unchanged for array; `[]` otherwise
76
+ * - null → always `null`
77
+ */
78
+ export declare const reqoreCoerceValueToKind: (current: unknown, kind: TReqoreDataValueKind) => unknown;
79
+ /** Immutable key-rename — locate the record at `path` and rename one
80
+ * of its keys while preserving the insertion order of every other
81
+ * key. Returns the input unchanged if the path doesn't resolve to a
82
+ * record, if `oldKey` isn't a key on that record, or if `newKey` is
83
+ * already taken (refuses to overwrite). */
84
+ export declare const reqoreRenameKeyAtPath: (data: unknown, path: ReadonlyArray<string>, oldKey: string, newKey: string) => unknown;
85
+ /** Immutable delete-at-path — walks the structural tree (`data`),
86
+ * produces a new copy with the leaf at `path` removed. For records,
87
+ * the key is dropped; for arrays, the index is spliced out (so later
88
+ * indices shift down). Returns the input unchanged if the path
89
+ * doesn't resolve. */
90
+ export declare const reqoreDeleteAtPath: (data: unknown, path: ReadonlyArray<string>) => unknown;
50
91
  /** The shape returned by a custom `parseEmbedded` hook — used by the
51
92
  * view to swap an embedded structured string in-place for the parsed
52
93
  * tree. The optional `prefix` lets the source string carry a leading
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/components/DataView/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;;cAIc;AACd,MAAM,WAAW,uBAAuB;IACtC;qBACiB;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;oBACgB;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;sBAKkB;IAClB,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACrC;AAED,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC,GAAG;IACtF,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAIrC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,MAAM,GACN,QAAQ,GACR,OAAO,CAAC;AAEZ,uCAAuC;AACvC,eAAO,MAAM,mBAAmB,GAAI,OAAO,OAAO,EAAE,OAAO,MAAM,KAAG,oBAYnE,CAAC;AAEF;;;+BAG+B;AAC/B,eAAO,MAAM,qBAAqB,GAAI,MAAM,oBAAoB,KAAG,aAAa,GAAG,SAgBlF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CACY,CAAC;AAK5F,eAAO,MAAM,gBAAgB,GAAI,MAAM,OAAO,KAAG,OAGhD,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,EACd,WAAU,uBAA0C,KACnD,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAWjC,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,oBAAoB,GAC/B,OAAO,OAAO,EACd,WAAU,uBAA0C,KACnD,OAGF,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,GAC7B,OAAO,OAAO,EACd,WAAU,uBAA0C,KACnD,MAAM,GAAG,SAGX,CAAC;AAEF;mDACmD;AACnD,eAAO,MAAM,wBAAwB,GACnC,OAAO,OAAO,EACd,WAAU,uBAA0C,KACnD,OAMF,CAAC;AAEF;;;6DAG6D;AAC7D,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACjE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB;;+CAE2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAiBD,eAAO,MAAM,kBAAkB,GAC7B,OAAO,OAAO,EACd,OAAO,MAAM,EACb,UAAS,4BAAiC,KACzC,qBAkCF,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/components/DataView/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,28 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
2
24
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reqoreFormatScalar = exports.reqoreHasStructuredValue = exports.reqoreEnvelopeType = exports.reqoreUnwrapEnvelope = exports.reqoreIsEnvelope = exports.reqoreIsDateType = exports.reqoreIsRecord = exports.reqoreDataValueIntent = exports.reqoreDataValueKind = exports.DEFAULT_ENVELOPE = void 0;
25
+ exports.reqoreFormatScalar = exports.reqoreDeleteAtPath = exports.reqoreRenameKeyAtPath = exports.reqoreCoerceValueToKind = exports.reqoreSetAtPath = exports.reqoreHasStructuredValue = exports.reqoreEnvelopeType = exports.reqoreUnwrapEnvelope = exports.reqoreIsEnvelope = exports.reqoreIsDateType = exports.reqoreIsRecord = exports.reqoreDataValueIntent = exports.reqoreDataValueKind = exports.DEFAULT_ENVELOPE = void 0;
4
26
  exports.DEFAULT_ENVELOPE = {
5
27
  valueKey: 'value',
6
28
  typeKey: 'type',
@@ -111,6 +133,172 @@ var reqoreHasStructuredValue = function (value, envelope) {
111
133
  return true;
112
134
  };
113
135
  exports.reqoreHasStructuredValue = reqoreHasStructuredValue;
136
+ /** Immutable set-at-path — walks the structural tree (`data`),
137
+ * produces a new copy with the leaf at `path` replaced by `value`, and
138
+ * returns it. Used by the editable mode to apply per-cell edits while
139
+ * keeping the surrounding shape intact for diffing / undo / parent
140
+ * re-renders.
141
+ *
142
+ * Supports nested records and arrays. Numeric path segments are
143
+ * interpreted as array indices when the parent at that level is an
144
+ * array. Out-of-range array indices extend the array (pushes
145
+ * `undefined` into the gap) — useful when an "add item" affordance
146
+ * appends to a list. Setting a record key that does not yet exist
147
+ * creates it. */
148
+ var reqoreSetAtPath = function (data, path, value) {
149
+ var _a;
150
+ if (path.length === 0)
151
+ return value;
152
+ var head = path[0], rest = path.slice(1);
153
+ if (Array.isArray(data)) {
154
+ var index = Number.parseInt(head, 10);
155
+ if (Number.isNaN(index) || index < 0)
156
+ return data;
157
+ var next = data.slice();
158
+ while (next.length <= index)
159
+ next.push(undefined);
160
+ next[index] = (0, exports.reqoreSetAtPath)(next[index], rest, value);
161
+ return next;
162
+ }
163
+ if ((0, exports.reqoreIsRecord)(data)) {
164
+ return __assign(__assign({}, data), (_a = {}, _a[head] = (0, exports.reqoreSetAtPath)(data[head], rest, value), _a));
165
+ }
166
+ // Walking into a scalar — synthesize the missing container based on
167
+ // the next path segment (numeric → array, otherwise record).
168
+ var nextIsArray = /^\d+$/.test(head);
169
+ var container = nextIsArray ? [] : {};
170
+ return (0, exports.reqoreSetAtPath)(container, path, value);
171
+ };
172
+ exports.reqoreSetAtPath = reqoreSetAtPath;
173
+ /** Coerce a value to a target value-kind, preserving the existing
174
+ * content where reasonable. Powers the inline type-change picker —
175
+ * when the operator flips a string to a number we try to parse it;
176
+ * when they flip a number to a boolean we use the standard
177
+ * zero-is-false rule; flips to an object or array discard the scalar
178
+ * and yield an empty container ready to be filled in.
179
+ *
180
+ * Returns sensible defaults when conversion isn't possible:
181
+ * - string → unchanged for string; `String(value)` for scalars; `''` for objects/arrays/null
182
+ * - number → parsed when possible; `0` otherwise; booleans → 0/1
183
+ * - boolean → unchanged for boolean; `'true'`/`'1'` → true; numbers → !!value; else false
184
+ * - object → unchanged for record; `{}` otherwise
185
+ * - array → unchanged for array; `[]` otherwise
186
+ * - null → always `null`
187
+ */
188
+ var reqoreCoerceValueToKind = function (current, kind) {
189
+ switch (kind) {
190
+ case 'string':
191
+ if (typeof current === 'string')
192
+ return current;
193
+ if (typeof current === 'number' || typeof current === 'boolean') {
194
+ return String(current);
195
+ }
196
+ return '';
197
+ case 'number': {
198
+ if (typeof current === 'number')
199
+ return current;
200
+ if (typeof current === 'boolean')
201
+ return current ? 1 : 0;
202
+ if (typeof current === 'string') {
203
+ var trimmed = current.trim();
204
+ if (trimmed === '')
205
+ return 0;
206
+ var parsed = Number(trimmed);
207
+ return Number.isNaN(parsed) ? 0 : parsed;
208
+ }
209
+ return 0;
210
+ }
211
+ case 'boolean':
212
+ if (typeof current === 'boolean')
213
+ return current;
214
+ if (typeof current === 'number')
215
+ return current !== 0;
216
+ if (typeof current === 'string') {
217
+ var lower = current.trim().toLowerCase();
218
+ return lower === 'true' || lower === '1' || lower === 'yes';
219
+ }
220
+ return false;
221
+ case 'object':
222
+ return (0, exports.reqoreIsRecord)(current) ? current : {};
223
+ case 'array':
224
+ return Array.isArray(current) ? current : [];
225
+ case 'null':
226
+ default:
227
+ return null;
228
+ }
229
+ };
230
+ exports.reqoreCoerceValueToKind = reqoreCoerceValueToKind;
231
+ /** Immutable key-rename — locate the record at `path` and rename one
232
+ * of its keys while preserving the insertion order of every other
233
+ * key. Returns the input unchanged if the path doesn't resolve to a
234
+ * record, if `oldKey` isn't a key on that record, or if `newKey` is
235
+ * already taken (refuses to overwrite). */
236
+ var reqoreRenameKeyAtPath = function (data, path, oldKey, newKey) {
237
+ var _a;
238
+ if (oldKey === newKey)
239
+ return data;
240
+ if (path.length === 0) {
241
+ if (!(0, exports.reqoreIsRecord)(data))
242
+ return data;
243
+ if (!(oldKey in data) || newKey in data)
244
+ return data;
245
+ var next = {};
246
+ for (var _i = 0, _b = Object.entries(data); _i < _b.length; _i++) {
247
+ var _c = _b[_i], k = _c[0], v = _c[1];
248
+ next[k === oldKey ? newKey : k] = v;
249
+ }
250
+ return next;
251
+ }
252
+ var head = path[0], rest = path.slice(1);
253
+ if (Array.isArray(data)) {
254
+ var index = Number.parseInt(head, 10);
255
+ if (Number.isNaN(index) || index < 0 || index >= data.length)
256
+ return data;
257
+ var arr = data.slice();
258
+ arr[index] = (0, exports.reqoreRenameKeyAtPath)(arr[index], rest, oldKey, newKey);
259
+ return arr;
260
+ }
261
+ if ((0, exports.reqoreIsRecord)(data)) {
262
+ return __assign(__assign({}, data), (_a = {}, _a[head] = (0, exports.reqoreRenameKeyAtPath)(data[head], rest, oldKey, newKey), _a));
263
+ }
264
+ return data;
265
+ };
266
+ exports.reqoreRenameKeyAtPath = reqoreRenameKeyAtPath;
267
+ /** Immutable delete-at-path — walks the structural tree (`data`),
268
+ * produces a new copy with the leaf at `path` removed. For records,
269
+ * the key is dropped; for arrays, the index is spliced out (so later
270
+ * indices shift down). Returns the input unchanged if the path
271
+ * doesn't resolve. */
272
+ var reqoreDeleteAtPath = function (data, path) {
273
+ var _a;
274
+ if (path.length === 0)
275
+ return undefined;
276
+ var head = path[0], rest = path.slice(1);
277
+ if (Array.isArray(data)) {
278
+ var index = Number.parseInt(head, 10);
279
+ if (Number.isNaN(index) || index < 0 || index >= data.length)
280
+ return data;
281
+ if (rest.length === 0) {
282
+ var next_1 = data.slice();
283
+ next_1.splice(index, 1);
284
+ return next_1;
285
+ }
286
+ var next = data.slice();
287
+ next[index] = (0, exports.reqoreDeleteAtPath)(next[index], rest);
288
+ return next;
289
+ }
290
+ if ((0, exports.reqoreIsRecord)(data)) {
291
+ if (!(head in data))
292
+ return data;
293
+ if (rest.length === 0) {
294
+ var _b = data, _c = head, _dropped = _b[_c], remaining = __rest(_b, [typeof _c === "symbol" ? _c : _c + ""]);
295
+ return remaining;
296
+ }
297
+ return __assign(__assign({}, data), (_a = {}, _a[head] = (0, exports.reqoreDeleteAtPath)(data[head], rest), _a));
298
+ }
299
+ return data;
300
+ };
301
+ exports.reqoreDeleteAtPath = reqoreDeleteAtPath;
114
302
  var defaultParseDate = function (value, type) {
115
303
  var trimmed = value.trim();
116
304
  if (!trimmed)