@qoretechnologies/reqraft 0.10.37-pr.96.gdcd72eb → 0.10.37-pr.98.gac01251

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 (29) hide show
  1. package/.tasks/INDEX.md +0 -1
  2. package/dist/components/form/fields/template/ExampleValueModal.d.ts +19 -0
  3. package/dist/components/form/fields/template/ExampleValueModal.d.ts.map +1 -0
  4. package/dist/components/form/fields/template/ExampleValueModal.js +122 -0
  5. package/dist/components/form/fields/template/ExampleValueModal.js.map +1 -0
  6. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  7. package/dist/components/form/fields/template/TemplateField.js +3 -16
  8. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  9. package/dist/components/form/fields/template/__fixtures__/longExampleValue.d.ts +2 -0
  10. package/dist/components/form/fields/template/__fixtures__/longExampleValue.d.ts.map +1 -0
  11. package/dist/components/form/fields/template/__fixtures__/longExampleValue.js +9 -0
  12. package/dist/components/form/fields/template/__fixtures__/longExampleValue.js.map +1 -0
  13. package/dist/components/form/index.d.ts +1 -0
  14. package/dist/components/form/index.d.ts.map +1 -1
  15. package/dist/components/form/index.js +1 -0
  16. package/dist/components/form/index.js.map +1 -1
  17. package/dist/helpers/templates.d.ts +8 -17
  18. package/dist/helpers/templates.d.ts.map +1 -1
  19. package/dist/helpers/templates.js +36 -24
  20. package/dist/helpers/templates.js.map +1 -1
  21. package/package.json +1 -1
  22. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +60 -0
  23. package/src/components/form/fields/template/ExampleValueModal.tsx +82 -0
  24. package/src/components/form/fields/template/TemplateField.stories.tsx +149 -60
  25. package/src/components/form/fields/template/TemplateField.tsx +4 -21
  26. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +7 -0
  27. package/src/components/form/index.tsx +1 -0
  28. package/src/helpers/templates.ts +44 -25
  29. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -53
package/.tasks/INDEX.md CHANGED
@@ -58,7 +58,6 @@ needs phase 1.
58
58
  | [RENDER_EXPRESSION_LSP](./RENDER_EXPRESSION_LSP.md) | done pending user verify, branch `feature/render-expression-lsp` — server deployed + live-verified end-to-end 2026-06-10 (final gate 201/201 storybook, 268/268 jest, browser proof of server rendering) | **8th.** Server "Explain" over the LSP: new `dpql/renderExpression` in `QorusLspWebSocketHandler.qc` + `useRenderExpression` swap. Closes EXPRESSION_BUILDER_REPORT Phase D. Design: `design/RENDER_EXPRESSION_TRANSPORT.md`. |
59
59
  | [FIELD_STACK_REPORT](./FIELD_STACK_REPORT.md) | done pending user verify (uncommitted) — final gate 234/234 storybook (incl. 37 ported Template/Auto plays), 268/268 jest | **9th.** Verbatim re-port of the IDE's `Field/template.tsx` + `Field/auto.tsx` (the operand layer under the ported builder) + their IDE stories, replacing the from-scratch TemplateField/AutoFormField; closes the `isFunction` operand-flow gap (behavioral difference #4 in EXPRESSION_BUILDER_REPORT). Supersedes the from-scratch implementation from REQRAFT_AUTO_FIELD (its stories/assertions are kept and reconciled). |
60
60
  | [BRANCH_REMEDIATION](./BRANCH_REMEDIATION.md) | done pending user verify (uncommitted) — jest 268→356, plays 241→255, lint/tsc clean | **10th.** Burn-down of the 2026-06-10 full-branch audit: tests/stories/API/comment-voice remediation + behavior fixes (Select modal-click collapse, edge-triggered Url, ReqraftLspClient rename, CI auth wiring). Ledger: gitignored `SWEEP.local.md`. |
61
- | [TEMPLATE_TOKEN_GRAMMAR](./TEMPLATE_TOKEN_GRAMMAR.md) | committed `0ef167c`, in PR (branch `bugfix/template-token-grammar`) — user-verified 2026-08-27; 13/13 unit, 21/21 template plays, qlip PNGs read | **11th (bugfix).** Braced `$data:{…}` state-output refs rehydrate as raw text: canonical token grammar + strict whole-token check + TemplateField renders whole-token values as the picker chip. Twin fix applied in qorus-ide the same day; ships as a normal per-PR patch release (`0.10.37`). |
62
61
 
63
62
  Not yet scoped (acknowledged in the design doc): the remaining
64
63
  `ui_type` editors (`tool-catalog`, `processor-mappings`, `test-cases`,
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import { IReqoreModalProps } from '@qoretechnologies/reqore/dist/components/Modal';
3
+ export interface IReqraftTemplateExampleValueModalProps extends Partial<IReqoreModalProps> {
4
+ /** The template field's display name — the modal heading. */
5
+ label?: string;
6
+ /** The FULL serialized example value. */
7
+ value: string;
8
+ }
9
+ /**
10
+ * Full example-value viewer for template/context-data items whose
11
+ * `example_value` is too long for the picker's item description (a
12
+ * binary-carrying field's example can be an entire base64 file). Opened by the
13
+ * "?" item action wired in `helpers/templates.ts` via reqore's global
14
+ * `modalStore.addModal()` — the modals wrapper injects `isOpen`/`onClose`, so
15
+ * this component stays presentation-only (pass `isOpen` yourself only when
16
+ * rendering it standalone, e.g. in a story).
17
+ */
18
+ export declare const ReqraftTemplateExampleValueModal: import("react").MemoExoticComponent<({ label, value, ...rest }: IReqraftTemplateExampleValueModalProps) => import("react/jsx-runtime").JSX.Element>;
19
+ //# sourceMappingURL=ExampleValueModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExampleValueModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/fields/template/ExampleValueModal.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAGnF,MAAM,WAAW,sCAAuC,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IACxF,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf;AASD;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,kEACf,sCAAsC,6CAmDnE,CAAC"}
@@ -0,0 +1,122 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __rest = (this && this.__rest) || function (s, e) {
50
+ var t = {};
51
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
52
+ t[p] = s[p];
53
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
54
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
55
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
56
+ t[p[i]] = s[p[i]];
57
+ }
58
+ return t;
59
+ };
60
+ Object.defineProperty(exports, "__esModule", { value: true });
61
+ exports.ReqraftTemplateExampleValueModal = void 0;
62
+ var jsx_runtime_1 = require("react/jsx-runtime");
63
+ var reqore_1 = require("@qoretechnologies/reqore");
64
+ var react_1 = require("react");
65
+ /* Fill the modal's fixed-height body instead of scaling with content: a
66
+ content-scaled textarea either stops short of the body (dead space below, a
67
+ partial-height scrollbar) or explodes it on huge values. Filling hands the
68
+ whole body to the textarea, so its scrollbar spans the modal body. Module
69
+ scope for stable identity. */
70
+ var FILL_STYLE = { height: '100%' };
71
+ /**
72
+ * Full example-value viewer for template/context-data items whose
73
+ * `example_value` is too long for the picker's item description (a
74
+ * binary-carrying field's example can be an entire base64 file). Opened by the
75
+ * "?" item action wired in `helpers/templates.ts` via reqore's global
76
+ * `modalStore.addModal()` — the modals wrapper injects `isOpen`/`onClose`, so
77
+ * this component stays presentation-only (pass `isOpen` yourself only when
78
+ * rendering it standalone, e.g. in a story).
79
+ */
80
+ exports.ReqraftTemplateExampleValueModal = (0, react_1.memo)(function (_a) {
81
+ var label = _a.label, value = _a.value, rest = __rest(_a, ["label", "value"]);
82
+ var addNotification = (0, reqore_1.useReqoreProperty)('addNotification');
83
+ var handleCopyClick = (0, react_1.useCallback)(function () { return __awaiter(void 0, void 0, void 0, function () {
84
+ var error_1;
85
+ return __generator(this, function (_a) {
86
+ switch (_a.label) {
87
+ case 0:
88
+ _a.trys.push([0, 2, , 3]);
89
+ return [4 /*yield*/, navigator.clipboard.writeText(value)];
90
+ case 1:
91
+ _a.sent();
92
+ addNotification({
93
+ content: 'Example value copied to clipboard',
94
+ intent: 'success',
95
+ duration: 3000,
96
+ });
97
+ return [3 /*break*/, 3];
98
+ case 2:
99
+ error_1 = _a.sent();
100
+ addNotification({
101
+ content: 'Could not copy to clipboard',
102
+ intent: 'danger',
103
+ duration: 3000,
104
+ });
105
+ return [3 /*break*/, 3];
106
+ case 3: return [2 /*return*/];
107
+ }
108
+ });
109
+ }); }, [value, addNotification]);
110
+ return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreModal, __assign({ label: label || 'Example value', icon: 'FileTextLine', height: '70vh', className: 'reqraft-template-example-value-modal', bottomActions: [
111
+ {
112
+ position: 'right',
113
+ label: 'Copy',
114
+ icon: 'ClipboardLine',
115
+ onClick: function () {
116
+ handleCopyClick();
117
+ },
118
+ },
119
+ ] }, rest, { children: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreTextarea, { readOnly: true, value: value, minimal: true, fluid: true, style: FILL_STYLE, wrapperStyle: FILL_STYLE }) })));
120
+ });
121
+ exports.ReqraftTemplateExampleValueModal.displayName = 'ReqraftTemplateExampleValueModal';
122
+ //# sourceMappingURL=ExampleValueModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExampleValueModal.js","sourceRoot":"","sources":["../../../../../src/components/form/fields/template/ExampleValueModal.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA0F;AAE1F,+BAAyD;AASzD;;;;gCAIgC;AAChC,IAAM,UAAU,GAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAErD;;;;;;;;GAQG;AACU,QAAA,gCAAgC,GAAG,IAAA,YAAI,EAClD,UAAC,EAAiE;IAA/D,IAAA,KAAK,WAAA,EAAE,KAAK,WAAA,EAAK,IAAI,cAAvB,kBAAyB,CAAF;IACtB,IAAM,eAAe,GAAG,IAAA,0BAAiB,EAAC,iBAAiB,CAAC,CAAC;IAE7D,IAAM,eAAe,GAAG,IAAA,mBAAW,EAAC;;;;;;oBAIhC,qBAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAAA;;oBAA1C,SAA0C,CAAC;oBAC3C,eAAe,CAAC;wBACd,OAAO,EAAE,mCAAmC;wBAC5C,MAAM,EAAE,SAAS;wBACjB,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;;;;oBAEH,eAAe,CAAC;wBACd,OAAO,EAAE,6BAA6B;wBACtC,MAAM,EAAE,QAAQ;wBAChB,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;;;;;SAEN,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;IAE7B,OAAO,CACL,uBAAC,oBAAW,aACV,KAAK,EAAE,KAAK,IAAI,eAAe,EAC/B,IAAI,EAAC,cAAc,EACnB,MAAM,EAAC,MAAM,EACb,SAAS,EAAC,sCAAsC,EAChD,aAAa,EAAE;YACb;gBACE,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE;oBACP,eAAe,EAAE,CAAC;gBACpB,CAAC;aACF;SACF,IACG,IAAI,cAER,uBAAC,uBAAc,IACb,QAAQ,QACR,KAAK,EAAE,KAAK,EACZ,OAAO,QACP,KAAK,QACL,KAAK,EAAE,UAAU,EACjB,YAAY,EAAE,UAAU,GACxB,IACU,CACf,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,wCAAgC,CAAC,WAAW,GAAG,kCAAkC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateField.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/fields/template/TemplateField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TemplateField.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/fields/template/TemplateField.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAA0B,EACxB,uBAAuB,EACxB,MAAM,uDAAuD,CAAC;AAE/D,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAIrF,OAAO,EAGL,cAAc,EACd,gBAAgB,EAChB,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAUvC,OAAO,EAAyB,UAAU,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAU5F,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;AAC7D,YAAY,EAAE,cAAc,IAAI,UAAU,EAAE,CAAC;AAE7C,eAAO,MAAM,kBAAkB,EAAE,oBAOhC,CAAC;AAgCF,MAAM,WAAW,mBAAoB,SAAQ,OAAO,CAClD,IAAI,CAAC,yBAAyB,EAAE,eAAe,CAAC,CACjD;IACC,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvF,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC9C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,oBAAoB,KAAK,oBAAoB,CAAC;IAChF,UAAU,CAAC,EAAE,UAAU,GAAG,cAAc,EAAE,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,YAAY;uEA/D0D,GAAG;uEAGZ,GAAG;oEAAH,GAAG;sEAAH,GAAG;qEAHM,GAAG;qEAAH,GAAG;uEAAH,GAAG;4EAMC,GAAG;+EAAH,GAAG;qEAOb,GAAG;yDAGf,GAAG;qEAGS,GAAG;CAyD/E,CAAC;AAEF,MAAM,WAAW,8BAA+B,SAAQ,oBAAoB;IAC1E,aAAa,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC9C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,oBAAoB,GAAG,CAC/B,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,GAAG;IACrC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CAC1F,CAAC,GACF,CAAC,uBAAuB,GAAG;IAAE,SAAS,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC,CACnD,EAAE,CAAC;AAEJ,eAAO,MAAM,eAAe,0GAOvB;IACD,KAAK,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,QAAQ,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,gBAAgB,EAAE,MAAM,QAAQ,CAAC,MAAM,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CACvE,6CAwBF,CAAC;AAEF,eAAO,MAAM,wBAAwB,yJAWhC,8BAA8B,6CAsDlC,CAAC;AAEF,eAAO,MAAM,aAAa,mWAwBrB,mBAAmB,6CA4evB,CAAC"}
@@ -168,13 +168,8 @@ exports.TemplateField = (0, react_2.memo)(function (_a) {
168
168
  }, [allowCustomValues]);
169
169
  (0, react_2.useEffect)(function () {
170
170
  if (!isTemplate && (0, templates_1.isValueTemplate)(value) && allowTemplates) {
171
- // In auto mode, leave user-typed dollar-strings alone ('$foo: hello'
172
- // passes the loose check) — but a string that IS one well-formed token
173
- // ($data:{…}, $config:item) must still flip into template mode, or an
174
- // arg whose value hydrates after mount is stuck rendering raw text.
175
- if (type === 'auto' &&
176
- (0, validations_1.getTypeFromValue)(value) === 'string' &&
177
- !(0, templates_1.isCompleteTemplateToken)(value)) {
171
+ // Do not set the template value if the value is a string in auto mode
172
+ if (type === 'auto' && (0, validations_1.getTypeFromValue)(value) === 'string') {
178
173
  return;
179
174
  }
180
175
  setIsTemplate(true);
@@ -189,13 +184,6 @@ exports.TemplateField = (0, react_2.memo)(function (_a) {
189
184
  }, [JSON.stringify(templateValue)]);
190
185
  var hasOnlyAllowedValues = (0, react_2.useMemo)(function () { return !!(0, lodash_1.size)(rest.allowed_values) && !rest.allowed_values_creatable; }, [rest.allowed_values, rest.allowed_values_creatable]);
191
186
  var showTemplateToggle = allowCustomValues && allowTemplates && !rest.arg_schema;
192
- // A value that IS one well-formed token renders as the picker chip (label +
193
- // app image via findTemplate) rather than as its raw `$data:{…}` text in a
194
- // string editor — a plain textarea cannot chip, so a rehydrated draft used
195
- // to show the literal token. Mixed text-and-token strings keep the string
196
- // editor; the chip-in-editor treatment arrives with the rich-text string
197
- // mode.
198
- var templateValueIsCompleteToken = (0, templates_1.isCompleteTemplateToken)(templateValue);
199
187
  var templateSupportsCustomValues = allowCustomValues && type === 'string' && !hasOnlyAllowedValues;
200
188
  var showTemplatesDropdown = allowTemplates && (!allowCustomValues || (isTemplate && !templateSupportsCustomValues));
201
189
  var hasOnlyExpressions = !allowCustomValues && !allowTemplates && allowFunctions;
@@ -402,7 +390,6 @@ exports.TemplateField = (0, react_2.memo)(function (_a) {
402
390
  }
403
391
  return (0, jsx_runtime_1.jsx)(Comp, __assign({ value: value, onChange: onChange, name: name }, rest));
404
392
  }
405
- return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, __assign({ fluid: rest.fluid, fixed: rest.fixed, size: rest.size }, rest, { stack: false, verticalAlign: 'flex-start', children: [!isTemplate && allowCustomValues ? ((0, jsx_runtime_1.jsx)(Component, __assign({ value: value, allowTemplates: allowTemplates, onChange: onChange, name: name, level: level }, rest, { "aria-label": fieldAriaLabel, className: "".concat(className, " template-selector"), templates: componentTemplates }))) : null, isTemplate && templateSupportsCustomValues && !templateValueIsCompleteToken ? ((0, jsx_runtime_1.jsx)(LongStringField, __assign({ className: 'template-selector', type: 'string', name: 'templateVal', level: level, value: templateValue, templates: __assign(__assign({}, filteredTemplates), exports.TemplatesListProps), onChange: handleTemplateFieldChange }, rest, { "aria-label": fieldAriaLabel }))) : null, showTemplatesDropdown ||
406
- (isTemplate && templateSupportsCustomValues && templateValueIsCompleteToken) ? ((0, jsx_runtime_1.jsx)(exports.TemplateDropdownSelector, { allowCustomValues: allowCustomValues, templates: templates, value: templateValue, items: filteredTemplates === null || filteredTemplates === void 0 ? void 0 : filteredTemplates.items, onItemSelect: handleSelectTemplateFromList, onRemoveClick: handleRemoveTemplateClick, size: rest.size, label: label, hasOnlyAllowedValues: hasOnlyAllowedValues })) : null, renderControls()] })));
393
+ return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, __assign({ fluid: rest.fluid, fixed: rest.fixed, size: rest.size }, rest, { stack: false, verticalAlign: 'flex-start', children: [!isTemplate && allowCustomValues ? ((0, jsx_runtime_1.jsx)(Component, __assign({ value: value, allowTemplates: allowTemplates, onChange: onChange, name: name, level: level }, rest, { "aria-label": fieldAriaLabel, className: "".concat(className, " template-selector"), templates: componentTemplates }))) : null, isTemplate && templateSupportsCustomValues ? ((0, jsx_runtime_1.jsx)(LongStringField, __assign({ className: 'template-selector', type: 'string', name: 'templateVal', level: level, value: templateValue, templates: __assign(__assign({}, filteredTemplates), exports.TemplatesListProps), onChange: handleTemplateFieldChange }, rest, { "aria-label": fieldAriaLabel }))) : null, showTemplatesDropdown ? ((0, jsx_runtime_1.jsx)(exports.TemplateDropdownSelector, { allowCustomValues: allowCustomValues, templates: templates, value: templateValue, items: filteredTemplates === null || filteredTemplates === void 0 ? void 0 : filteredTemplates.items, onItemSelect: handleSelectTemplateFromList, onRemoveClick: handleRemoveTemplateClick, size: rest.size, label: label, hasOnlyAllowedValues: hasOnlyAllowedValues })) : null, renderControls()] })));
407
394
  });
408
395
  //# sourceMappingURL=TemplateField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateField.js","sourceRoot":"","sources":["../../../../../src/components/form/fields/template/TemplateField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TemplateField.js","sourceRoot":"","sources":["../../../../../src/components/form/fields/template/TemplateField.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const LONG_EXAMPLE_VALUE: string;
2
+ //# sourceMappingURL=longExampleValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"longExampleValue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/fields/template/__fixtures__/longExampleValue.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,QAEhB,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LONG_EXAMPLE_VALUE = void 0;
4
+ /* A deterministic "whole base64 file" example value — the payload class the
5
+ example-value modal exists for (an email attachment body). No spaces on
6
+ purpose: the unbroken run is what breaks naive rendering. The sentinel
7
+ proves a consumer holds the value to the very end. */
8
+ exports.LONG_EXAMPLE_VALUE = "".concat('JVBERi0xLjcKJcTl8uXrp9Og0MTGCjQgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlCg=='.repeat(90), "THE_VERY_END");
9
+ //# sourceMappingURL=longExampleValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"longExampleValue.js","sourceRoot":"","sources":["../../../../../../src/components/form/fields/template/__fixtures__/longExampleValue.ts"],"names":[],"mappings":";;;AAAA;;;wDAGwD;AAC3C,QAAA,kBAAkB,GAAG,UAAG,0EAA0E,CAAC,MAAM,CACpH,EAAE,CACH,iBAAc,CAAC"}
@@ -21,6 +21,7 @@ export * from './fields/rich-text/RichText';
21
21
  export * from './fields/select/Select';
22
22
  export * from './fields/select/SelectCollection';
23
23
  export * from './fields/string/String';
24
+ export * from './fields/template/ExampleValueModal';
24
25
  export * from './fields/template/TemplateField';
25
26
  export * from './engine/FormEngine';
26
27
  export * from './engine/optionActions';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/form/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAG7C,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAChG,YAAY,EACV,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,mCAAmC,CAAC;AAC3C,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/form/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAG7C,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAChG,YAAY,EACV,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,mCAAmC,CAAC;AAC3C,cAAc,+BAA+B,CAAC"}
@@ -38,6 +38,7 @@ __exportStar(require("./fields/rich-text/RichText"), exports);
38
38
  __exportStar(require("./fields/select/Select"), exports);
39
39
  __exportStar(require("./fields/select/SelectCollection"), exports);
40
40
  __exportStar(require("./fields/string/String"), exports);
41
+ __exportStar(require("./fields/template/ExampleValueModal"), exports);
41
42
  __exportStar(require("./fields/template/TemplateField"), exports);
42
43
  __exportStar(require("./engine/FormEngine"), exports);
43
44
  __exportStar(require("./engine/optionActions"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/form/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,wEAAsD;AACtD,2DAAyC;AACzC,gEAA8C;AAC9C,8DAA4C;AAC5C,8DAA4C;AAC5C,2DAAyC;AACzC,mDAAiC;AACjC,6DAA2C;AAC3C,2DAAyC;AACzC,uDAAqC;AACrC,qDAAmC;AACnC,qDAAmC;AACnC,kEAAgD;AAChD,6DAA2C;AAC3C,6EAA2D;AAC3D,yDAAuC;AACvC,yDAAuC;AACvC,kEAAgD;AAChD,8DAA4C;AAC5C,yDAAuC;AACvC,mEAAiD;AACjD,yDAAuC;AACvC,kEAAgD;AAChD,sDAAoC;AACpC,yDAAuC;AACvC,yDAAuC;AACvC,sDAAoC;AACpC,+DAA6C;AAC7C,wEAAwE;AACxE,qDAAqD;AACrD,yEAAgG;AAAvF,6HAAA,sBAAsB,OAAA;AAAE,0HAAA,mBAAmB,OAAA;AAKpD,gEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/form/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,wEAAsD;AACtD,2DAAyC;AACzC,gEAA8C;AAC9C,8DAA4C;AAC5C,8DAA4C;AAC5C,2DAAyC;AACzC,mDAAiC;AACjC,6DAA2C;AAC3C,2DAAyC;AACzC,uDAAqC;AACrC,qDAAmC;AACnC,qDAAmC;AACnC,kEAAgD;AAChD,6DAA2C;AAC3C,6EAA2D;AAC3D,yDAAuC;AACvC,yDAAuC;AACvC,kEAAgD;AAChD,8DAA4C;AAC5C,yDAAuC;AACvC,mEAAiD;AACjD,yDAAuC;AACvC,sEAAoD;AACpD,kEAAgD;AAChD,sDAAoC;AACpC,yDAAuC;AACvC,yDAAuC;AACvC,sDAAoC;AACpC,+DAA6C;AAC7C,wEAAwE;AACxE,qDAAqD;AACrD,yEAAgG;AAAvF,6HAAA,sBAAsB,OAAA;AAAE,0HAAA,mBAAmB,OAAA;AAKpD,gEAA8C"}
@@ -1,5 +1,13 @@
1
1
  import { IReqoreFormTemplates } from '@qoretechnologies/reqore/dist/components/Textarea';
2
2
  import { TReqoreDropdownItem } from '@qoretechnologies/reqore/dist/components/Dropdown/list';
3
+ /**
4
+ * How much of a serialized example value the picker item shows inline. Past
5
+ * this, the description is cut and the item grows a "?" action opening the
6
+ * full value in a modal — a binary-carrying field's example (e.g. an email
7
+ * attachment body) can be an entire base64 file, and rendered whole it makes
8
+ * the picker unusable. ~150 chars is a few lines in the picker's popover.
9
+ */
10
+ export declare const TEMPLATE_EXAMPLE_PREVIEW_LENGTH = 150;
3
11
  /**
4
12
  * Shared template string utilities.
5
13
  * Used by both validations and TemplateField.
@@ -15,23 +23,6 @@ export declare const getTemplateTagStyle: (meta?: TTemplateMeta) => {
15
23
  export declare const isValueTemplate: (value: string) => boolean;
16
24
  export declare const getTemplateKey: (value: string) => string;
17
25
  export declare const getTemplateValue: (value: string) => string;
18
- /**
19
- * The canonical template-token grammar (twin of the IDE's
20
- * `helpers/templateValue.ts` — keep the two in step). A token is
21
- * `$<key>:<segment>(:<segment>)*` where the key may carry dashes
22
- * (`-expr`) and every segment is either a plain word or a braced
23
- * context reference — `{W2n….filename}` — whose content may hold dots,
24
- * colons, spaces and dashes (`:{deep:test:list}`,
25
- * `{id.Created by.name}`). `isValueTemplate` above stays deliberately
26
- * LOOSER (starts with `$`, has `:`): it answers "does the user mean a
27
- * template here" while typing; use the strict check below when a decision
28
- * must not misfire on user-typed dollar-strings.
29
- */
30
- export declare const TEMPLATE_TOKEN_SOURCE = "\\$[A-Za-z_][\\w-]*(?::(?:\\{[^}]*\\}|[A-Za-z_][\\w-]*))+";
31
- /** STRICT whole-value check: the entire string is one well-formed template
32
- * token (`:{id.path}`, `:item`, …) — nothing before or after.
33
- * `'$foo: hello'` passes the loose check but not this one. */
34
- export declare const isCompleteTemplateToken: (value?: unknown) => value is string;
35
26
  export declare const findTemplate: (templates: IReqoreFormTemplates, value: string) => TReqoreDropdownItem | undefined;
36
27
  export declare const filterTemplatesByType: (templates?: IReqoreFormTemplates, fieldType?: string, hasArgSchema?: boolean) => IReqoreFormTemplates;
37
28
  interface ITemplateItemPayload {
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/helpers/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EACL,mBAAmB,EAEpB,MAAM,wDAAwD,CAAC;AAIhE;;;GAGG;AAEH,MAAM,MAAM,aAAa,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE5F,eAAO,MAAM,mBAAmB,UACvB,aAAa,KACnB;IAAE,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;CAI1C,CAAC;AAEF,eAAO,MAAM,eAAe,UAAW,MAAM,KAAG,OAK/C,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,MAG9C,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,MAGhD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,8DAC2B,CAAC;AAI9D;;+DAE+D;AAC/D,eAAO,MAAM,uBAAuB,WAAY,OAAO,oBACW,CAAC;AAEnE,eAAO,MAAM,YAAY,cACZ,oBAAoB,SACxB,MAAM,KACZ,mBAAmB,GAAG,SAoBxB,CAAC;AAMF,eAAO,MAAM,qBAAqB,eACrB,oBAAoB,qCAEhB,OAAO,KACrB,oBAgEF,CAAC;AAOF,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,MAAM,EAAE,MAAM,GAAG;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;QAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,eAAO,MAAM,cAAc,eACb,iBAAiB,KAC5B,oBAAoB,GAAG,SA6GzB,CAAC"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/helpers/templates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EACL,mBAAmB,EAEpB,MAAM,wDAAwD,CAAC;AAMhE;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD;;;GAGG;AAEH,MAAM,MAAM,aAAa,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE5F,eAAO,MAAM,mBAAmB,UACvB,aAAa,KACnB;IAAE,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;CAI1C,CAAC;AAEF,eAAO,MAAM,eAAe,UAAW,MAAM,KAAG,OAK/C,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,MAG9C,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,MAGhD,CAAC;AAEF,eAAO,MAAM,YAAY,cACZ,oBAAoB,SACxB,MAAM,KACZ,mBAAmB,GAAG,SAoBxB,CAAC;AAMF,eAAO,MAAM,qBAAqB,eACrB,oBAAoB,qCAEhB,OAAO,KACrB,oBAgEF,CAAC;AAOF,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,MAAM,EAAE,MAAM,GAAG;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;QAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,eAAO,MAAM,cAAc,eACb,iBAAiB,KAC5B,oBAAoB,GAAG,SA2IzB,CAAC"}
@@ -20,9 +20,20 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
20
20
  return to.concat(ar || Array.prototype.slice.call(from));
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.buildTemplates = exports.filterTemplatesByType = exports.findTemplate = exports.isCompleteTemplateToken = exports.TEMPLATE_TOKEN_SOURCE = exports.getTemplateValue = exports.getTemplateKey = exports.isValueTemplate = exports.getTemplateTagStyle = void 0;
23
+ exports.buildTemplates = exports.filterTemplatesByType = exports.findTemplate = exports.getTemplateValue = exports.getTemplateKey = exports.isValueTemplate = exports.getTemplateTagStyle = exports.TEMPLATE_EXAMPLE_PREVIEW_LENGTH = void 0;
24
+ var reqore_1 = require("@qoretechnologies/reqore");
24
25
  var lodash_1 = require("lodash");
26
+ var react_1 = require("react");
27
+ var ExampleValueModal_1 = require("../components/form/fields/template/ExampleValueModal");
25
28
  var expressions_1 = require("./expressions");
29
+ /**
30
+ * How much of a serialized example value the picker item shows inline. Past
31
+ * this, the description is cut and the item grows a "?" action opening the
32
+ * full value in a modal — a binary-carrying field's example (e.g. an email
33
+ * attachment body) can be an entire base64 file, and rendered whole it makes
34
+ * the picker unusable. ~150 chars is a few lines in the picker's popover.
35
+ */
36
+ exports.TEMPLATE_EXAMPLE_PREVIEW_LENGTH = 150;
26
37
  var getTemplateTagStyle = function (meta) {
27
38
  if (meta === null || meta === void 0 ? void 0 : meta.isEventTrigger)
28
39
  return { intent: 'success' };
@@ -48,27 +59,6 @@ var getTemplateValue = function (value) {
48
59
  return value.substring(colonIndex + 1);
49
60
  };
50
61
  exports.getTemplateValue = getTemplateValue;
51
- /**
52
- * The canonical template-token grammar (twin of the IDE's
53
- * `helpers/templateValue.ts` — keep the two in step). A token is
54
- * `$<key>:<segment>(:<segment>)*` where the key may carry dashes
55
- * (`-expr`) and every segment is either a plain word or a braced
56
- * context reference — `{W2n….filename}` — whose content may hold dots,
57
- * colons, spaces and dashes (`:{deep:test:list}`,
58
- * `{id.Created by.name}`). `isValueTemplate` above stays deliberately
59
- * LOOSER (starts with `$`, has `:`): it answers "does the user mean a
60
- * template here" while typing; use the strict check below when a decision
61
- * must not misfire on user-typed dollar-strings.
62
- */
63
- exports.TEMPLATE_TOKEN_SOURCE = '\\$[A-Za-z_][\\w-]*(?::(?:\\{[^}]*\\}|[A-Za-z_][\\w-]*))+';
64
- var COMPLETE_TEMPLATE_TOKEN = new RegExp("^".concat(exports.TEMPLATE_TOKEN_SOURCE, "$"));
65
- /** STRICT whole-value check: the entire string is one well-formed template
66
- * token (`:{id.path}`, `:item`, …) — nothing before or after.
67
- * `'$foo: hello'` passes the loose check but not this one. */
68
- var isCompleteTemplateToken = function (value) {
69
- return typeof value === 'string' && COMPLETE_TEMPLATE_TOKEN.test(value);
70
- };
71
- exports.isCompleteTemplateToken = isCompleteTemplateToken;
72
62
  var findTemplate = function (templates, value) {
73
63
  if (!value)
74
64
  return undefined;
@@ -147,10 +137,15 @@ var buildTemplates = function (templates) {
147
137
  if (items === void 0) { items = []; }
148
138
  return items.map(function (_a) {
149
139
  var itemDisplayName = _a.display_name, value = _a.value, example_value = _a.example_value, type = _a.type, childItems = _a.items, itemDataRole = _a.data_role;
140
+ var serializedExample = example_value !== undefined ? JSON.stringify(example_value) : undefined;
141
+ var exampleIsLong = serializedExample !== undefined &&
142
+ serializedExample.length > exports.TEMPLATE_EXAMPLE_PREVIEW_LENGTH;
150
143
  var item = {
151
144
  label: itemDisplayName,
152
- description: example_value
153
- ? "Example value: ".concat(JSON.stringify(example_value))
145
+ description: serializedExample
146
+ ? "Example value: ".concat(exampleIsLong
147
+ ? "".concat(serializedExample.slice(0, exports.TEMPLATE_EXAMPLE_PREVIEW_LENGTH), "\u2026")
148
+ : serializedExample)
154
149
  : undefined,
155
150
  badge: type,
156
151
  metadata: {
@@ -167,6 +162,23 @@ var buildTemplates = function (templates) {
167
162
  transparent: false,
168
163
  minimal: true,
169
164
  };
165
+ if (exampleIsLong) {
166
+ // Menu-item actions stop propagation, so the click never selects or
167
+ // expands the item. The modal rides reqore's global modal queue
168
+ // (rendered by the provider portal), so no host component is needed
169
+ // — the modals wrapper injects `isOpen`/`onClose` itself.
170
+ item.rightAction = {
171
+ icon: 'QuestionLine',
172
+ compact: true,
173
+ tooltip: 'Show the full example value',
174
+ onClick: function () {
175
+ reqore_1.modalStore.getState().addModal((0, react_1.createElement)(ExampleValueModal_1.ReqraftTemplateExampleValueModal, {
176
+ label: itemDisplayName,
177
+ value: serializedExample,
178
+ }));
179
+ },
180
+ };
181
+ }
170
182
  if (childItems === null || childItems === void 0 ? void 0 : childItems.length) {
171
183
  item.items = mapTemplates(childItems, app, action, logo, display_name, builtIn, isEventTrigger, dataRole);
172
184
  item.stackWithActions = false;
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/helpers/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/helpers/templates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qoretechnologies/reqraft",
3
- "version": "0.10.37-pr.96.gdcd72eb",
3
+ "version": "0.10.37-pr.98.gac01251",
4
4
  "description": "ReQraft is a collection of React components and hooks that are used across Qore Technologies' products made using the ReQore component library from Qore.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -0,0 +1,60 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { expect, fireEvent, fn, waitFor } from 'storybook/test';
3
+ import { LONG_EXAMPLE_VALUE } from './__fixtures__/longExampleValue';
4
+ import { ReqraftTemplateExampleValueModal } from './ExampleValueModal';
5
+
6
+ const meta = {
7
+ component: ReqraftTemplateExampleValueModal,
8
+ title: 'Components/Form/TemplateExampleValueModal',
9
+ args: {
10
+ // Standalone render — in the app the modal rides reqore's global modal
11
+ // queue, whose wrapper injects `isOpen`/`onClose` itself.
12
+ isOpen: true,
13
+ label: 'Attachment Body',
14
+ value: LONG_EXAMPLE_VALUE,
15
+ onClose: fn(),
16
+ },
17
+ } as Meta<typeof ReqraftTemplateExampleValueModal>;
18
+
19
+ export default meta;
20
+
21
+ export const Default: StoryObj<typeof meta> = {
22
+ parameters: {
23
+ docs: {
24
+ description: {
25
+ story:
26
+ 'The full example-value viewer for template items whose value is too long for the picker: the whole value in a selectable, scrollable textarea filling the modal body, with a Copy action. Copy surfaces a notification either way — success, or a danger notice when the browser denies clipboard access — never an unhandled rejection.',
27
+ },
28
+ },
29
+ },
30
+ play: async () => {
31
+ const modal = await waitFor(
32
+ () => {
33
+ const el = document.querySelector('.reqraft-template-example-value-modal');
34
+ if (!el) throw new Error('modal not rendered yet');
35
+ return el;
36
+ },
37
+ { timeout: 10000 }
38
+ );
39
+
40
+ // The modal holds the WHOLE value — down to the sentinel at the very end.
41
+ const textarea = modal.querySelector('textarea') as HTMLTextAreaElement;
42
+ await expect(textarea.value).toBe(LONG_EXAMPLE_VALUE);
43
+ await expect(textarea.value.endsWith('THE_VERY_END')).toBe(true);
44
+
45
+ // Copy notifies (success locally, clipboard-denied danger in headless CI).
46
+ const copy = Array.from(modal.querySelectorAll('button')).find((button) =>
47
+ button.textContent?.includes('Copy')
48
+ );
49
+ await expect(copy).toBeTruthy();
50
+ fireEvent.click(copy);
51
+ await waitFor(
52
+ () => {
53
+ if (!document.querySelector('.reqore-notification')) {
54
+ throw new Error('no notification yet');
55
+ }
56
+ },
57
+ { timeout: 10000 }
58
+ );
59
+ },
60
+ };
@@ -0,0 +1,82 @@
1
+ import { ReqoreModal, ReqoreTextarea, useReqoreProperty } from '@qoretechnologies/reqore';
2
+ import { IReqoreModalProps } from '@qoretechnologies/reqore/dist/components/Modal';
3
+ import { CSSProperties, memo, useCallback } from 'react';
4
+
5
+ export interface IReqraftTemplateExampleValueModalProps extends Partial<IReqoreModalProps> {
6
+ /** The template field's display name — the modal heading. */
7
+ label?: string;
8
+ /** The FULL serialized example value. */
9
+ value: string;
10
+ }
11
+
12
+ /* Fill the modal's fixed-height body instead of scaling with content: a
13
+ content-scaled textarea either stops short of the body (dead space below, a
14
+ partial-height scrollbar) or explodes it on huge values. Filling hands the
15
+ whole body to the textarea, so its scrollbar spans the modal body. Module
16
+ scope for stable identity. */
17
+ const FILL_STYLE: CSSProperties = { height: '100%' };
18
+
19
+ /**
20
+ * Full example-value viewer for template/context-data items whose
21
+ * `example_value` is too long for the picker's item description (a
22
+ * binary-carrying field's example can be an entire base64 file). Opened by the
23
+ * "?" item action wired in `helpers/templates.ts` via reqore's global
24
+ * `modalStore.addModal()` — the modals wrapper injects `isOpen`/`onClose`, so
25
+ * this component stays presentation-only (pass `isOpen` yourself only when
26
+ * rendering it standalone, e.g. in a story).
27
+ */
28
+ export const ReqraftTemplateExampleValueModal = memo(
29
+ ({ label, value, ...rest }: IReqraftTemplateExampleValueModalProps) => {
30
+ const addNotification = useReqoreProperty('addNotification');
31
+
32
+ const handleCopyClick = useCallback(async () => {
33
+ // Clipboard access can be denied (permissions, insecure context) — the
34
+ // failure surfaces as a notification instead of an unhandled rejection.
35
+ try {
36
+ await navigator.clipboard.writeText(value);
37
+ addNotification({
38
+ content: 'Example value copied to clipboard',
39
+ intent: 'success',
40
+ duration: 3000,
41
+ });
42
+ } catch (error) {
43
+ addNotification({
44
+ content: 'Could not copy to clipboard',
45
+ intent: 'danger',
46
+ duration: 3000,
47
+ });
48
+ }
49
+ }, [value, addNotification]);
50
+
51
+ return (
52
+ <ReqoreModal
53
+ label={label || 'Example value'}
54
+ icon='FileTextLine'
55
+ height='70vh'
56
+ className='reqraft-template-example-value-modal'
57
+ bottomActions={[
58
+ {
59
+ position: 'right',
60
+ label: 'Copy',
61
+ icon: 'ClipboardLine',
62
+ onClick: () => {
63
+ handleCopyClick();
64
+ },
65
+ },
66
+ ]}
67
+ {...rest}
68
+ >
69
+ <ReqoreTextarea
70
+ readOnly
71
+ value={value}
72
+ minimal
73
+ fluid
74
+ style={FILL_STYLE}
75
+ wrapperStyle={FILL_STYLE}
76
+ />
77
+ </ReqoreModal>
78
+ );
79
+ }
80
+ );
81
+
82
+ ReqraftTemplateExampleValueModal.displayName = 'ReqraftTemplateExampleValueModal';
@@ -19,6 +19,7 @@ import { AutoFormField as auto } from '../auto/AutoFormField';
19
19
  import LongStringFormField from '../long-string/LongString';
20
20
  import NumberFormField from '../number/Number';
21
21
  import { StringFormField } from '../string/String';
22
+ import { LONG_EXAMPLE_VALUE } from './__fixtures__/longExampleValue';
22
23
  import { TemplateField } from './TemplateField';
23
24
  import multiLevelTemplates from './__fixtures__/multiLevelTemplates.json';
24
25
  import templates from './__fixtures__/templates.json';
@@ -307,56 +308,6 @@ export const TemplateValue: StoryObj<typeof meta> = {
307
308
  },
308
309
  };
309
310
 
310
- /** REGRESSION — a rehydrated whole-token template value (the FSM state-output
311
- * `$data:{…}` form above all) must render as the picker CHIP, not as its raw
312
- * token text in a string editor. */
313
- export const BracedTemplateValue: StoryObj<typeof meta> = {
314
- args: {
315
- component: LongStringField,
316
- type: 'string',
317
- allowTemplates: true,
318
- allowCustomValues: true,
319
- value: '$data:{W2n_BuSHbaNrbvV1MkfPF.filename}',
320
- templates: buildTemplates({
321
- state_outputs: {
322
- display_name: 'Context Data',
323
- short_desc: 'Outputs of previous states',
324
- app: 'GoogleDrive',
325
- items: [
326
- {
327
- name: 'filename',
328
- display_name: 'Filename',
329
- short_desc: 'The uploaded file name',
330
- desc: 'The uploaded file name',
331
- value: '$data:{W2n_BuSHbaNrbvV1MkfPF.filename}',
332
- type: 'string',
333
- },
334
- ],
335
- },
336
- } as any),
337
- },
338
- parameters: {
339
- docs: {
340
- description: {
341
- story:
342
- 'Renders TemplateField for a string field whose saved value is a braced state-output reference ($data:{id.filename}) — the field shows the resolved picker chip ("Filename"), never the raw token in a textarea, which is what rehydrated drafts degraded to before the token grammar learned braces.',
343
- },
344
- },
345
- },
346
- play: async () => {
347
- await waitFor(() => {
348
- const chip = Array.from(document.querySelectorAll('.reqore-button')).find((button) =>
349
- button.textContent?.includes('Filename')
350
- );
351
- expect(chip, 'the braced value renders as the labeled picker chip').toBeTruthy();
352
- });
353
- const rawTextareas = Array.from(document.querySelectorAll('textarea')).filter((textarea) =>
354
- textarea.value.includes('$data:{')
355
- );
356
- expect(rawTextareas, 'no textarea holds the raw token').toHaveLength(0);
357
- },
358
- };
359
-
360
311
  export const ElementTypeInListShowsCorrectTemplates: StoryObj<typeof meta> = {
361
312
  args: {
362
313
  component: auto,
@@ -571,7 +522,7 @@ export const TemplateCanBeSelected: StoryObj<typeof meta> = {
571
522
  docs: {
572
523
  description: {
573
524
  story:
574
- 'Renders TemplateField for a string, opens the templates popover and clicks the Interface ID template — the field switches into template mode and shows the resolved picker chip (a whole-token value renders as the chip, not as its raw $local:id text).',
525
+ 'Renders TemplateField for a string, opens the templates popover and clicks the Interface ID template — the field switches to the $local:id template value.',
575
526
  },
576
527
  },
577
528
  },
@@ -583,15 +534,7 @@ export const TemplateCanBeSelected: StoryObj<typeof meta> = {
583
534
 
584
535
  await sleep(100);
585
536
 
586
- // A whole-token value renders as the resolved picker chip — never as the
587
- // raw token in a textarea (that was the rehydration bug).
588
- await waitFor(() => {
589
- const chip = Array.from(canvasElement.querySelectorAll('.reqore-button')).find((button) =>
590
- button.textContent?.includes('Interface ID')
591
- );
592
- expect(chip, 'the picked template renders as the labeled chip').toBeTruthy();
593
- });
594
- await expect(canvas.queryByDisplayValue('$local:id')).not.toBeInTheDocument();
537
+ await expect(canvas.getByDisplayValue('$local:id')).toBeInTheDocument();
595
538
  },
596
539
  };
597
540
 
@@ -710,3 +653,149 @@ export const TemplateWithItemsCanBeSelected: StoryObj<typeof meta> = {
710
653
  await _testsWaitForText('Testing Hash');
711
654
  },
712
655
  };
656
+
657
+ /* One group, four items covering every affordance combination:
658
+ - "Attachment Body" — leaf, LONG example → "?" (right) only
659
+ - "Attachment Name" — leaf, short example → no actions at all
660
+ - "Message Author Props" — hash with children, LONG example (the whole
661
+ object) → BOTH: the "+" select action (left) and the "?" (right)
662
+ - "Delivery Flags" — hash with children, short example → "+" only
663
+ The sentinel at the very end proves truncation in the picker and
664
+ completeness in the modal. */
665
+ const longExampleTemplates = {
666
+ gmail_attachment: {
667
+ display_name: 'New Attachment',
668
+ short_desc: 'Data from the attachment trigger',
669
+ app: 'Gmail',
670
+ items: [
671
+ {
672
+ name: 'attachment_body',
673
+ display_name: 'Attachment Body',
674
+ value: '$data:{on_attachment.data}',
675
+ type: 'data',
676
+ example_value: LONG_EXAMPLE_VALUE,
677
+ },
678
+ {
679
+ name: 'attachment_name',
680
+ display_name: 'Attachment Name',
681
+ value: '$data:{on_attachment.name}',
682
+ type: 'string',
683
+ example_value: 'invoice.pdf',
684
+ },
685
+ {
686
+ name: 'author',
687
+ display_name: 'Message Author Properties',
688
+ value: '$data:{on_attachment.author}',
689
+ type: 'hash',
690
+ // A parent's example is the whole object, so it goes long almost by
691
+ // definition — this is the "+ AND ?" case.
692
+ example_value: {
693
+ name: 'Ada Lovelace',
694
+ email: 'ada@example.com',
695
+ signature: LONG_EXAMPLE_VALUE.slice(0, 600),
696
+ },
697
+ items: [
698
+ {
699
+ name: 'author_name',
700
+ display_name: 'Name',
701
+ value: '$data:{on_attachment.author.name}',
702
+ type: 'string',
703
+ example_value: 'Ada Lovelace',
704
+ },
705
+ {
706
+ name: 'author_email',
707
+ display_name: 'Email',
708
+ value: '$data:{on_attachment.author.email}',
709
+ type: 'string',
710
+ example_value: 'ada@example.com',
711
+ },
712
+ ],
713
+ },
714
+ {
715
+ name: 'flags',
716
+ display_name: 'Delivery Flags',
717
+ value: '$data:{on_attachment.flags}',
718
+ type: 'hash',
719
+ // Small object: the serialized example stays under the preview
720
+ // threshold, so this parent keeps ONLY the "+" select action.
721
+ example_value: { read: true },
722
+ items: [
723
+ {
724
+ name: 'flags_read',
725
+ display_name: 'Read',
726
+ value: '$data:{on_attachment.flags.read}',
727
+ type: 'bool',
728
+ example_value: true,
729
+ },
730
+ ],
731
+ },
732
+ ],
733
+ },
734
+ };
735
+
736
+ export const LongExampleValueTruncatedWithModal: StoryObj<typeof meta> = {
737
+ args: {
738
+ component: LongStringField,
739
+ value: 'Some string',
740
+ type: 'string',
741
+ templates: buildTemplates(longExampleTemplates as any),
742
+ },
743
+ parameters: {
744
+ docs: {
745
+ description: {
746
+ story:
747
+ 'Every item-affordance combination in one picker: a leaf with a whole-base64-file example gets ONLY the "?" action (right) opening the full value in a modal; a hash parent whose own example object is long gets BOTH the "+" select action (left) and the "?"; a small hash parent keeps only the "+"; and a short leaf has no actions at all. Neither previewing nor copying ever selects an item.',
748
+ },
749
+ },
750
+ },
751
+ play: async ({ args }) => {
752
+ await _testsOpenTemplates();
753
+ await _testsWaitForText('Attachment Body');
754
+
755
+ // The picker shows TRUNCATED previews — the long value's tail sentinel
756
+ // must not be in the popover…
757
+ const popover = document.querySelector('.reqore-popover-content');
758
+ await expect(popover.textContent).toContain('Example value: "JVBERi0x');
759
+ await expect(popover.textContent).not.toContain('THE_VERY_END');
760
+
761
+ // …and the affordances land exactly by shape: "?" on the long leaf AND
762
+ // the long-example hash parent (2), "+" on both hash parents (2) — the
763
+ // long-example parent carries both at once. The short leaf and the small
764
+ // parent's example stay modal-free.
765
+ await expect(popover.querySelectorAll('.reqore-menu-item-right-action').length).toBe(2);
766
+ await expect(popover.querySelectorAll('.reqore-menu-item-left-action').length).toBe(2);
767
+
768
+ await _testsClickButton({ selector: '.reqore-menu-item-right-action' });
769
+
770
+ const modal = await waitFor(
771
+ () => {
772
+ const el = document.querySelector('.reqraft-template-example-value-modal');
773
+ if (!el) throw new Error('modal not open yet');
774
+ return el;
775
+ },
776
+ { timeout: 10000 }
777
+ );
778
+
779
+ // The modal holds the WHOLE value, down to the sentinel.
780
+ const textarea = modal.querySelector('textarea') as HTMLTextAreaElement;
781
+ await expect(textarea.value.endsWith('THE_VERY_END"')).toBe(true);
782
+
783
+ // Close it; opening/previewing must never have selected the item.
784
+ fireEvent.click(modal.querySelector('.reqore-drawer-close-button'));
785
+ await waitFor(
786
+ () => {
787
+ if (document.querySelector('.reqraft-template-example-value-modal')) {
788
+ throw new Error('modal still open');
789
+ }
790
+ },
791
+ { timeout: 10000 }
792
+ );
793
+ await expect(args.onChange).not.toHaveBeenCalled();
794
+
795
+ // End on the informative frame for the visual snapshot: the popover with
796
+ // the truncated preview and its "?" action visible (the assertions above
797
+ // close everything, which would leave the capture showing an empty field).
798
+ await _testsOpenTemplates();
799
+ await _testsWaitForText('Attachment Body');
800
+ },
801
+ };
@@ -33,7 +33,6 @@ import {
33
33
  findTemplate,
34
34
  getTemplateKey,
35
35
  getTemplateValue,
36
- isCompleteTemplateToken,
37
36
  isValueTemplate,
38
37
  } from '../../../../helpers/templates';
39
38
  import { getTypeFromValue } from '../../../../helpers/validations';
@@ -336,15 +335,8 @@ export const TemplateField = memo(
336
335
 
337
336
  useEffect(() => {
338
337
  if (!isTemplate && isValueTemplate(value) && allowTemplates) {
339
- // In auto mode, leave user-typed dollar-strings alone ('$foo: hello'
340
- // passes the loose check) — but a string that IS one well-formed token
341
- // ($data:{…}, $config:item) must still flip into template mode, or an
342
- // arg whose value hydrates after mount is stuck rendering raw text.
343
- if (
344
- type === 'auto' &&
345
- getTypeFromValue(value) === 'string' &&
346
- !isCompleteTemplateToken(value)
347
- ) {
338
+ // Do not set the template value if the value is a string in auto mode
339
+ if (type === 'auto' && getTypeFromValue(value) === 'string') {
348
340
  return;
349
341
  }
350
342
 
@@ -367,14 +359,6 @@ export const TemplateField = memo(
367
359
 
368
360
  const showTemplateToggle = allowCustomValues && allowTemplates && !rest.arg_schema;
369
361
 
370
- // A value that IS one well-formed token renders as the picker chip (label +
371
- // app image via findTemplate) rather than as its raw `$data:{…}` text in a
372
- // string editor — a plain textarea cannot chip, so a rehydrated draft used
373
- // to show the literal token. Mixed text-and-token strings keep the string
374
- // editor; the chip-in-editor treatment arrives with the rich-text string
375
- // mode.
376
- const templateValueIsCompleteToken = isCompleteTemplateToken(templateValue);
377
-
378
362
  const templateSupportsCustomValues =
379
363
  allowCustomValues && type === 'string' && !hasOnlyAllowedValues;
380
364
  const showTemplatesDropdown =
@@ -768,7 +752,7 @@ export const TemplateField = memo(
768
752
  />
769
753
  ) : null}
770
754
 
771
- {isTemplate && templateSupportsCustomValues && !templateValueIsCompleteToken ? (
755
+ {isTemplate && templateSupportsCustomValues ? (
772
756
  <LongStringField
773
757
  className='template-selector'
774
758
  type='string'
@@ -785,8 +769,7 @@ export const TemplateField = memo(
785
769
  />
786
770
  ) : null}
787
771
 
788
- {showTemplatesDropdown ||
789
- (isTemplate && templateSupportsCustomValues && templateValueIsCompleteToken) ? (
772
+ {showTemplatesDropdown ? (
790
773
  <TemplateDropdownSelector
791
774
  allowCustomValues={allowCustomValues}
792
775
  templates={templates}
@@ -0,0 +1,7 @@
1
+ /* A deterministic "whole base64 file" example value — the payload class the
2
+ example-value modal exists for (an email attachment body). No spaces on
3
+ purpose: the unbroken run is what breaks naive rendering. The sentinel
4
+ proves a consumer holds the value to the very end. */
5
+ export const LONG_EXAMPLE_VALUE = `${'JVBERi0xLjcKJcTl8uXrp9Og0MTGCjQgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlCg=='.repeat(
6
+ 90
7
+ )}THE_VERY_END`;
@@ -21,6 +21,7 @@ export * from './fields/rich-text/RichText';
21
21
  export * from './fields/select/Select';
22
22
  export * from './fields/select/SelectCollection';
23
23
  export * from './fields/string/String';
24
+ export * from './fields/template/ExampleValueModal';
24
25
  export * from './fields/template/TemplateField';
25
26
  export * from './engine/FormEngine';
26
27
  export * from './engine/optionActions';
@@ -1,11 +1,23 @@
1
+ import { modalStore } from '@qoretechnologies/reqore';
1
2
  import { IReqoreFormTemplates } from '@qoretechnologies/reqore/dist/components/Textarea';
2
3
  import {
3
4
  TReqoreDropdownItem,
4
5
  TReqoreDropdownItems,
5
6
  } from '@qoretechnologies/reqore/dist/components/Dropdown/list';
6
7
  import { cloneDeep, size } from 'lodash';
8
+ import { createElement } from 'react';
9
+ import { ReqraftTemplateExampleValueModal } from '../components/form/fields/template/ExampleValueModal';
7
10
  import { areQorusTypesCompatible } from './expressions';
8
11
 
12
+ /**
13
+ * How much of a serialized example value the picker item shows inline. Past
14
+ * this, the description is cut and the item grows a "?" action opening the
15
+ * full value in a modal — a binary-carrying field's example (e.g. an email
16
+ * attachment body) can be an entire base64 file, and rendered whole it makes
17
+ * the picker unusable. ~150 chars is a few lines in the picker's popover.
18
+ */
19
+ export const TEMPLATE_EXAMPLE_PREVIEW_LENGTH = 150;
20
+
9
21
  /**
10
22
  * Shared template string utilities.
11
23
  * Used by both validations and TemplateField.
@@ -38,29 +50,6 @@ export const getTemplateValue = (value: string): string => {
38
50
  return value.substring(colonIndex + 1);
39
51
  };
40
52
 
41
- /**
42
- * The canonical template-token grammar (twin of the IDE's
43
- * `helpers/templateValue.ts` — keep the two in step). A token is
44
- * `$<key>:<segment>(:<segment>)*` where the key may carry dashes
45
- * (`-expr`) and every segment is either a plain word or a braced
46
- * context reference — `{W2n….filename}` — whose content may hold dots,
47
- * colons, spaces and dashes (`:{deep:test:list}`,
48
- * `{id.Created by.name}`). `isValueTemplate` above stays deliberately
49
- * LOOSER (starts with `$`, has `:`): it answers "does the user mean a
50
- * template here" while typing; use the strict check below when a decision
51
- * must not misfire on user-typed dollar-strings.
52
- */
53
- export const TEMPLATE_TOKEN_SOURCE =
54
- '\\$[A-Za-z_][\\w-]*(?::(?:\\{[^}]*\\}|[A-Za-z_][\\w-]*))+';
55
-
56
- const COMPLETE_TEMPLATE_TOKEN = new RegExp(`^${TEMPLATE_TOKEN_SOURCE}$`);
57
-
58
- /** STRICT whole-value check: the entire string is one well-formed template
59
- * token (`:{id.path}`, `:item`, …) — nothing before or after.
60
- * `'$foo: hello'` passes the loose check but not this one. */
61
- export const isCompleteTemplateToken = (value?: unknown): value is string =>
62
- typeof value === 'string' && COMPLETE_TEMPLATE_TOKEN.test(value);
63
-
64
53
  export const findTemplate = (
65
54
  templates: IReqoreFormTemplates,
66
55
  value: string
@@ -215,10 +204,20 @@ export const buildTemplates = (
215
204
  items: childItems,
216
205
  data_role: itemDataRole,
217
206
  }): TReqoreDropdownItem => {
207
+ const serializedExample =
208
+ example_value !== undefined ? JSON.stringify(example_value) : undefined;
209
+ const exampleIsLong =
210
+ serializedExample !== undefined &&
211
+ serializedExample.length > TEMPLATE_EXAMPLE_PREVIEW_LENGTH;
212
+
218
213
  const item: TReqoreDropdownItem = {
219
214
  label: itemDisplayName,
220
- description: example_value
221
- ? `Example value: ${JSON.stringify(example_value)}`
215
+ description: serializedExample
216
+ ? `Example value: ${
217
+ exampleIsLong
218
+ ? `${serializedExample.slice(0, TEMPLATE_EXAMPLE_PREVIEW_LENGTH)}…`
219
+ : serializedExample
220
+ }`
222
221
  : undefined,
223
222
  badge: type,
224
223
  metadata: {
@@ -236,6 +235,26 @@ export const buildTemplates = (
236
235
  minimal: true,
237
236
  };
238
237
 
238
+ if (exampleIsLong) {
239
+ // Menu-item actions stop propagation, so the click never selects or
240
+ // expands the item. The modal rides reqore's global modal queue
241
+ // (rendered by the provider portal), so no host component is needed
242
+ // — the modals wrapper injects `isOpen`/`onClose` itself.
243
+ item.rightAction = {
244
+ icon: 'QuestionLine',
245
+ compact: true,
246
+ tooltip: 'Show the full example value',
247
+ onClick: () => {
248
+ modalStore.getState().addModal(
249
+ createElement(ReqraftTemplateExampleValueModal, {
250
+ label: itemDisplayName,
251
+ value: serializedExample,
252
+ })
253
+ );
254
+ },
255
+ };
256
+ }
257
+
239
258
  if (childItems?.length) {
240
259
  item.items = mapTemplates(
241
260
  childItems,
@@ -1,53 +0,0 @@
1
- # Template token grammar — braced context refs rehydrate as chips
2
-
3
- **Status:** committed `0ef167c`, in PR to develop (branch `bugfix/template-token-grammar`, worktree `~/Projects/qorus-frontend/reqraft-template-grammar`)
4
-
5
- No standalone design doc — this is a two-repo bugfix; the qorus-ide twin
6
- (`src/helpers/templateValue.ts` there) is the reference for the shared
7
- grammar, and the drift analysis lives in the qorus-ide session that found
8
- it. Short form below.
9
-
10
- ## Problem
11
-
12
- A saved template value in the braced state-output form —
13
- `$data:{W2n_BuSHbaNrbvV1MkfPF.filename}` — rehydrates as **raw token text
14
- in a textarea** instead of a template chip. Two causes:
15
-
16
- 1. No strict token grammar existed here: `isValueTemplate` is loose
17
- (starts with `$`, has `:`), and nothing could distinguish a
18
- well-formed whole token from a user-typed dollar-string.
19
- 2. `TemplateField`'s template-mode-with-custom-values branch renders
20
- `LongStringField` — a plain textarea that can never chip, so ANY
21
- template value (word or braced) shows as its literal text there.
22
-
23
- Reqraft's `TemplateField` is a near-1:1 extraction of qorus-ide's; the
24
- same bug was fixed there the same day (grammar + wiring). The qorus-ide
25
- IDE surface that exposed it: FSM draft 70, `split($data:{…filename}, …)`.
26
-
27
- ## Surface area
28
-
29
- | File | Change |
30
- |---|---|
31
- | `src/helpers/templates.ts` | `TEMPLATE_TOKEN_SOURCE` (canonical grammar, braced segments allow `.: -` and spaces) + strict `isCompleteTemplateToken` |
32
- | `src/components/form/fields/template/TemplateField.tsx` | auto-mode flip guard narrowed to complete tokens; whole-token template values render the `TemplateDropdownSelector` picker chip instead of the LongString textarea |
33
- | `src/components/form/fields/template/TemplateField.stories.tsx` | new `BracedTemplateValue` regression story; `TemplateCanBeSelected` play updated to assert the chip (was asserting the raw-token textarea) |
34
- | `__tests__/templates.test.ts` | strict-grammar cases (braced, colon-braces, dashed keys, spaced paths, negatives) |
35
- | `package.json` | `0.10.36` → `0.10.37` (every-PR-bumps rule) |
36
-
37
- Deliberately NOT done here: the qorus-ide-style rich-editor treatment for
38
- template mode. Develop's `RichTextFormField` has no string mode — that is
39
- the in-flight `bugfix/richtext-string-storage-serialization` work
40
- (`returnValueType`) — and a nodes round-trip without it reintroduces the
41
- reset-while-typing hazard. Mixed text+token strings therefore keep the
42
- textarea until that lands; whole tokens (the overwhelmingly common case)
43
- chip now.
44
-
45
- ## Phases
46
-
47
- - [x] Grammar + strict helper in `helpers/templates.ts`, unit-tested
48
- - [x] `TemplateField` guard + render wiring, story-tested
49
- - [x] `yarn precheck` green (lint, 593/593 unit, prod tsc)
50
- - [x] Qlip PNGs read for `BracedTemplateValue` + `TemplateCanBeSelected` (chips confirmed)
51
- - [x] **STOP — user signed off 2026-08-27** (see `VERIFY.local.md`)
52
- - [x] Commit + PR to develop — `0ef167c`; version re-checked at push time (beta `0.10.36`, ours `0.10.37` ✓; PR #95's prereleases ALSO sit at `0.10.37` — whichever merges second rebases and re-bumps)
53
- - [ ] Pin the CI prerelease (`0.10.37-pr.<N>.g<sha>`) in qorus-ide, lockfile committed; after merge, move qorus-ide to the released version