@qoretechnologies/reqraft 0.10.2 → 0.10.5

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 (74) hide show
  1. package/.claude/CLAUDE.md +5 -0
  2. package/design/COMPACT_ENGINE_REDESIGN.md +156 -0
  3. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +353 -0
  4. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  5. package/dist/components/form/engine/CompactRow.js +158 -101
  6. package/dist/components/form/engine/CompactRow.js.map +1 -1
  7. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  8. package/dist/components/form/engine/CompactToolbar.js +122 -105
  9. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  10. package/dist/components/form/engine/FormEngine.d.ts +9 -1
  11. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  12. package/dist/components/form/engine/FormEngine.js +272 -82
  13. package/dist/components/form/engine/FormEngine.js.map +1 -1
  14. package/dist/components/form/engine/compactRowStyles.d.ts +6 -3
  15. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  16. package/dist/components/form/engine/compactRowStyles.js +76 -49
  17. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  18. package/dist/components/form/engine/compactToolbarContext.d.ts +1 -0
  19. package/dist/components/form/engine/compactToolbarContext.d.ts.map +1 -1
  20. package/dist/components/form/engine/compactToolbarContext.js.map +1 -1
  21. package/dist/components/form/engine/readFirst.d.ts +19 -0
  22. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  23. package/dist/components/form/engine/readFirst.js +22 -1
  24. package/dist/components/form/engine/readFirst.js.map +1 -1
  25. package/dist/components/form/engine/variants/VariantCalmTable.d.ts +6 -0
  26. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -0
  27. package/dist/components/form/engine/variants/VariantCalmTable.js +94 -0
  28. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -0
  29. package/dist/components/form/engine/variants/VariantCards.d.ts +6 -0
  30. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -0
  31. package/dist/components/form/engine/variants/VariantCards.js +80 -0
  32. package/dist/components/form/engine/variants/VariantCards.js.map +1 -0
  33. package/dist/components/form/engine/variants/VariantFocus.d.ts +7 -0
  34. package/dist/components/form/engine/variants/VariantFocus.d.ts.map +1 -0
  35. package/dist/components/form/engine/variants/VariantFocus.js +138 -0
  36. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -0
  37. package/dist/components/form/engine/variants/VariantMinimal.d.ts +6 -0
  38. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -0
  39. package/dist/components/form/engine/variants/VariantMinimal.js +73 -0
  40. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -0
  41. package/dist/components/form/engine/variants/focusDemo.d.ts +13 -0
  42. package/dist/components/form/engine/variants/focusDemo.d.ts.map +1 -0
  43. package/dist/components/form/engine/variants/focusDemo.js +139 -0
  44. package/dist/components/form/engine/variants/focusDemo.js.map +1 -0
  45. package/dist/components/form/engine/variants/variantModel.d.ts +70 -0
  46. package/dist/components/form/engine/variants/variantModel.d.ts.map +1 -0
  47. package/dist/components/form/engine/variants/variantModel.js +133 -0
  48. package/dist/components/form/engine/variants/variantModel.js.map +1 -0
  49. package/dist/components/form/engine/variants/variantParts.d.ts +79 -0
  50. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -0
  51. package/dist/components/form/engine/variants/variantParts.js +191 -0
  52. package/dist/components/form/engine/variants/variantParts.js.map +1 -0
  53. package/dist/components/form/fields/auto/AutoFormField.d.ts +3 -0
  54. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  55. package/dist/components/form/fields/auto/AutoFormField.js +5 -2
  56. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  57. package/package.json +1 -1
  58. package/src/components/form/engine/CompactRow.tsx +273 -258
  59. package/src/components/form/engine/CompactToolbar.tsx +112 -85
  60. package/src/components/form/engine/FormEngine.stories.tsx +239 -115
  61. package/src/components/form/engine/FormEngine.tsx +332 -83
  62. package/src/components/form/engine/compactRowStyles.ts +221 -144
  63. package/src/components/form/engine/compactToolbarContext.ts +1 -0
  64. package/src/components/form/engine/readFirst.ts +35 -0
  65. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +119 -0
  66. package/src/components/form/engine/variants/VariantCalmTable.tsx +242 -0
  67. package/src/components/form/engine/variants/VariantCards.tsx +212 -0
  68. package/src/components/form/engine/variants/VariantFocus.tsx +382 -0
  69. package/src/components/form/engine/variants/VariantMinimal.tsx +170 -0
  70. package/src/components/form/engine/variants/focusDemo.ts +145 -0
  71. package/src/components/form/engine/variants/variantModel.ts +216 -0
  72. package/src/components/form/engine/variants/variantParts.tsx +313 -0
  73. package/src/components/form/fields/auto/AutoFormField.stories.tsx +9 -2
  74. package/src/components/form/fields/auto/AutoFormField.tsx +8 -0
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.VariantCalmTable = void 0;
11
+ var jsx_runtime_1 = require("react/jsx-runtime");
12
+ /**
13
+ * VARIANT 1 — "Calm Table"
14
+ *
15
+ * Direction: treat it like a clean data table. One status channel (segmented
16
+ * meter), one mark per row (a status dot), whitespace instead of borders/boxes.
17
+ * Errors are quiet inline text, not full-width red boxes. WHOLE-ROW hover.
18
+ * ONE unified description control (tap to reveal short+long inline). Click a row
19
+ * to edit it inline. Responsive: collapses to stacked label/value on phone.
20
+ */
21
+ var reqore_1 = require("@qoretechnologies/reqore");
22
+ var styled_components_1 = __importDefault(require("styled-components"));
23
+ var variantParts_1 = require("./variantParts");
24
+ var Wrap = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n gap: 22px;\n font-size: 13px;\n\n .vct-row {\n display: grid;\n grid-template-columns: minmax(180px, 320px) minmax(0, 1fr) auto;\n align-items: center;\n gap: 18px;\n min-height: 40px;\n padding: 6px 10px;\n border-radius: 8px;\n cursor: pointer;\n transition: background 0.12s ease;\n }\n /* WHOLE-row hover (fixes: hover used to only tint the label cell) */\n .vct-row:hover,\n .vct-row:focus-within {\n background: ", ";\n }\n .vct-label {\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n }\n .vct-actions {\n display: inline-flex;\n align-items: center;\n gap: 10px;\n opacity: 0.85;\n }\n .vct-desc {\n grid-column: 1 / -1;\n padding: 2px 2px 6px 0;\n color: ", ";\n }\n .vct-reason {\n font-size: 12px;\n margin-left: 8px;\n }\n .vct-info {\n background: none;\n border: none;\n color: ", ";\n cursor: pointer;\n padding: 4px;\n display: inline-flex;\n border-radius: 6px;\n }\n .vct-info:hover {\n color: ", ";\n }\n\n @media (max-width: 620px) {\n .vct-row {\n grid-template-columns: 1fr auto;\n grid-template-areas: 'label actions' 'value value';\n row-gap: 2px;\n }\n .vct-label {\n grid-area: label;\n }\n .vct-value {\n grid-area: value;\n }\n .vct-actions {\n grid-area: actions;\n }\n }\n"], ["\n display: flex;\n flex-flow: column;\n gap: 22px;\n font-size: 13px;\n\n .vct-row {\n display: grid;\n grid-template-columns: minmax(180px, 320px) minmax(0, 1fr) auto;\n align-items: center;\n gap: 18px;\n min-height: 40px;\n padding: 6px 10px;\n border-radius: 8px;\n cursor: pointer;\n transition: background 0.12s ease;\n }\n /* WHOLE-row hover (fixes: hover used to only tint the label cell) */\n .vct-row:hover,\n .vct-row:focus-within {\n background: ", ";\n }\n .vct-label {\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n }\n .vct-actions {\n display: inline-flex;\n align-items: center;\n gap: 10px;\n opacity: 0.85;\n }\n .vct-desc {\n grid-column: 1 / -1;\n padding: 2px 2px 6px 0;\n color: ", ";\n }\n .vct-reason {\n font-size: 12px;\n margin-left: 8px;\n }\n .vct-info {\n background: none;\n border: none;\n color: ", ";\n cursor: pointer;\n padding: 4px;\n display: inline-flex;\n border-radius: 6px;\n }\n .vct-info:hover {\n color: ", ";\n }\n\n @media (max-width: 620px) {\n .vct-row {\n grid-template-columns: 1fr auto;\n grid-template-areas: 'label actions' 'value value';\n row-gap: 2px;\n }\n .vct-label {\n grid-area: label;\n }\n .vct-value {\n grid-area: value;\n }\n .vct-actions {\n grid-area: actions;\n }\n }\n"])), function (_a) {
25
+ var $hover = _a.$hover;
26
+ return $hover;
27
+ }, function (_a) {
28
+ var $muted = _a.$muted;
29
+ return $muted;
30
+ }, function (_a) {
31
+ var $faint = _a.$faint;
32
+ return $faint;
33
+ }, function (_a) {
34
+ var $muted = _a.$muted;
35
+ return $muted;
36
+ });
37
+ var Meter = function (_a) {
38
+ var form = _a.form;
39
+ var c = (0, variantParts_1.useVariantColors)();
40
+ var s = form.summary;
41
+ var filtering = form.filter === 'attention';
42
+ return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexFlow: 'column', gap: 8 }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'center', gap: 12, fontSize: 12, color: c.muted }, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreP, { size: 'small', effect: {
43
+ uppercase: true,
44
+ spaced: 1,
45
+ weight: 'bold',
46
+ color: (s.attention ? c.warning : c.success),
47
+ }, children: s.attention ? 'Draft' : 'Ready' }), (0, jsx_runtime_1.jsxs)("span", { children: [s.set, " of ", s.total, " set"] }), s.attention ?
48
+ (0, jsx_runtime_1.jsx)("button", { type: 'button', onClick: form.toggleAttention, style: {
49
+ marginLeft: 'auto',
50
+ background: 'none',
51
+ border: 'none',
52
+ cursor: 'pointer',
53
+ color: c.warning,
54
+ fontSize: 12,
55
+ textDecoration: 'underline',
56
+ textUnderlineOffset: 3,
57
+ }, children: filtering ? '← show all fields' : "".concat(s.attention, " need attention \u2192") })
58
+ : (0, jsx_runtime_1.jsx)("span", { style: { color: c.success, marginLeft: 'auto' }, children: "All clear" })] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', height: 6, borderRadius: 3, overflow: 'hidden', background: c.line }, children: [(0, jsx_runtime_1.jsx)("div", { style: { width: "".concat((s.set / s.total) * 100, "%"), background: c.success } }), (0, jsx_runtime_1.jsx)("div", { style: { width: "".concat((s.attention / s.total) * 100, "%"), background: c.warning } })] })] }));
59
+ };
60
+ var VariantCalmTable = function (_a) {
61
+ var options = _a.options, values = _a.values;
62
+ var c = (0, variantParts_1.useVariantColors)();
63
+ var form = (0, variantParts_1.useVariantForm)(options, values);
64
+ var disc = (0, variantParts_1.useDisclosure)();
65
+ return ((0, jsx_runtime_1.jsxs)(Wrap, { "$line": c.line, "$hover": c.hover, "$muted": c.muted, "$faint": c.faint, children: [(0, jsx_runtime_1.jsx)(Meter, { form: form }), (0, jsx_runtime_1.jsx)(variantParts_1.VariantToolbar, { form: form }), form.visibleGroups.map(function (g) { return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexFlow: 'column', gap: 2 }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
66
+ display: 'flex',
67
+ alignItems: 'center',
68
+ gap: 10,
69
+ padding: '0 10px 6px',
70
+ borderBottom: "1px solid ".concat(c.line),
71
+ marginBottom: 4,
72
+ }, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreP, { effect: { weight: 'bold' }, children: g.label }), (0, jsx_runtime_1.jsx)("span", { style: { color: c.faint, fontSize: 12 }, children: g.rows.length })] }), g.rows.map(function (r) {
73
+ var hasDesc = !!(r.shortDesc || r.longDesc);
74
+ var open = disc.isOpen(r.name);
75
+ var editing = form.editing === r.name;
76
+ return ((0, jsx_runtime_1.jsxs)("div", { className: 'vct-row', role: 'button', tabIndex: 0, "aria-label": r.label, onClick: function () { return !r.readOnly && form.startEdit(r.name); }, children: [(0, jsx_runtime_1.jsxs)("span", { className: 'vct-label', style: { color: c.text }, children: [r.label, r.required ?
77
+ (0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: 'Asterisk', size: '9px', style: { color: c.danger } })
78
+ : null] }), (0, jsx_runtime_1.jsxs)("span", { className: 'vct-value', style: { minWidth: 0, color: c.muted }, children: [(0, jsx_runtime_1.jsx)(variantParts_1.ValueView, { value: r.value }), r.status === 'invalid' || r.status === 'todo' ?
79
+ (0, jsx_runtime_1.jsx)("span", { className: 'vct-reason', style: { color: r.status === 'invalid' ? c.danger : c.warning }, children: r.reason })
80
+ : null] }), (0, jsx_runtime_1.jsxs)("span", { className: 'vct-actions', children: [(0, jsx_runtime_1.jsx)(variantParts_1.StatusDot, { status: r.status }), hasDesc ?
81
+ (0, jsx_runtime_1.jsx)("button", { type: 'button', className: 'vct-info', "aria-label": 'Toggle description', "aria-expanded": open, onClick: function (e) {
82
+ e.stopPropagation();
83
+ disc.toggle(r.name);
84
+ }, children: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: open ? 'InformationFill' : 'InformationLine', size: '14px' }) })
85
+ : null] }), hasDesc && open ?
86
+ (0, jsx_runtime_1.jsxs)("div", { className: 'vct-desc', children: [r.shortDesc ? (0, jsx_runtime_1.jsx)("div", { children: r.shortDesc }) : null, r.longDesc ?
87
+ (0, jsx_runtime_1.jsx)("div", { style: { opacity: 0.8, marginTop: r.shortDesc ? 4 : 0 }, children: r.longDesc.replace(/[#`*]/g, '') })
88
+ : null] })
89
+ : null, editing ? (0, jsx_runtime_1.jsx)(variantParts_1.InlineEdit, { row: r, onDone: form.stopEdit }) : null] }, r.name));
90
+ })] }, g.name)); })] }));
91
+ };
92
+ exports.VariantCalmTable = VariantCalmTable;
93
+ var templateObject_1;
94
+ //# sourceMappingURL=VariantCalmTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariantCalmTable.js","sourceRoot":"","sources":["../../../../../src/components/form/engine/variants/VariantCalmTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { IQorusFormField, IQorusFormSchema } from '@qoretechnologies/ts-toolkit';
2
+ export declare const VariantCards: ({ options, values, }: {
3
+ options: IQorusFormSchema;
4
+ values: Record<string, IQorusFormField>;
5
+ }) => import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=VariantCards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariantCards.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/engine/variants/VariantCards.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAyEjF,eAAO,MAAM,YAAY,yBAGtB;IACD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,OAAO,MAAM,EAAE,eAAe,CAAC,CAAC;CACzC,4CA0HA,CAAC"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.VariantCards = void 0;
11
+ var jsx_runtime_1 = require("react/jsx-runtime");
12
+ /**
13
+ * VARIANT 2 — "Cards / Stack"
14
+ *
15
+ * Direction: breathing room over density. Each field is a subtle card with a
16
+ * generous tap target (phone-friendly). Status is shown with a single left
17
+ * accent — but ONLY for genuinely invalid (touched) fields; to-dos get a calm
18
+ * amber label dot, unset fields stay neutral. The description control sits on
19
+ * the LEFT under the label (where the text appears). Click a card to edit inline.
20
+ */
21
+ var reqore_1 = require("@qoretechnologies/reqore");
22
+ var styled_components_1 = __importDefault(require("styled-components"));
23
+ var variantParts_1 = require("./variantParts");
24
+ var Wrap = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n gap: 26px;\n font-size: 13px;\n\n .vc-card {\n position: relative;\n display: grid;\n grid-template-columns: minmax(200px, 0.7fr) minmax(0, 1.3fr);\n gap: 18px;\n padding: 14px 16px;\n border-radius: 10px;\n background: ", ";\n cursor: pointer;\n transition: background 0.12s ease;\n overflow: hidden;\n }\n .vc-card:hover,\n .vc-card:focus-within {\n background: ", ";\n }\n .vc-accent {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 3px;\n }\n .vc-name {\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 7px;\n }\n .vc-descbtn {\n background: none;\n border: none;\n padding: 0;\n margin-top: 6px;\n color: inherit;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n font-size: 12px;\n }\n .vc-value {\n align-self: center;\n min-width: 0;\n }\n\n @media (max-width: 620px) {\n .vc-card {\n grid-template-columns: 1fr;\n gap: 8px;\n padding: 14px;\n }\n }\n"], ["\n display: flex;\n flex-flow: column;\n gap: 26px;\n font-size: 13px;\n\n .vc-card {\n position: relative;\n display: grid;\n grid-template-columns: minmax(200px, 0.7fr) minmax(0, 1.3fr);\n gap: 18px;\n padding: 14px 16px;\n border-radius: 10px;\n background: ", ";\n cursor: pointer;\n transition: background 0.12s ease;\n overflow: hidden;\n }\n .vc-card:hover,\n .vc-card:focus-within {\n background: ", ";\n }\n .vc-accent {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 3px;\n }\n .vc-name {\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 7px;\n }\n .vc-descbtn {\n background: none;\n border: none;\n padding: 0;\n margin-top: 6px;\n color: inherit;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n font-size: 12px;\n }\n .vc-value {\n align-self: center;\n min-width: 0;\n }\n\n @media (max-width: 620px) {\n .vc-card {\n grid-template-columns: 1fr;\n gap: 8px;\n padding: 14px;\n }\n }\n"])), function (_a) {
25
+ var $surface = _a.$surface;
26
+ return $surface;
27
+ }, function (_a) {
28
+ var $hover = _a.$hover;
29
+ return $hover;
30
+ });
31
+ var VariantCards = function (_a) {
32
+ var options = _a.options, values = _a.values;
33
+ var c = (0, variantParts_1.useVariantColors)();
34
+ var form = (0, variantParts_1.useVariantForm)(options, values);
35
+ var s = form.summary;
36
+ var disc = (0, variantParts_1.useDisclosure)();
37
+ return ((0, jsx_runtime_1.jsxs)(Wrap, { "$surface": c.surface, "$line": c.line, "$hover": c.hover, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexFlow: 'column', gap: 10 }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'baseline', gap: 12 }, children: [(0, jsx_runtime_1.jsxs)(reqore_1.ReqoreP, { size: 'big', effect: { weight: 'bold' }, children: [s.pct, "% complete"] }), (0, jsx_runtime_1.jsxs)("span", { style: { color: c.muted, fontSize: 12 }, children: [s.set, "/", s.total, " set"] }), s.attention ?
38
+ (0, jsx_runtime_1.jsx)("button", { type: 'button', onClick: form.toggleAttention, style: {
39
+ background: 'none',
40
+ border: 'none',
41
+ cursor: 'pointer',
42
+ color: c.warning,
43
+ fontSize: 12,
44
+ textDecoration: 'underline',
45
+ textUnderlineOffset: 3,
46
+ }, children: form.filter === 'attention' ? '← show all' : "".concat(s.attention, " need attention \u2192") })
47
+ : null] }), (0, jsx_runtime_1.jsx)("div", { style: { height: 4, borderRadius: 2, background: c.line, overflow: 'hidden' }, children: (0, jsx_runtime_1.jsx)("div", { style: { width: "".concat(s.pct, "%"), height: '100%', background: c.success } }) })] }), (0, jsx_runtime_1.jsx)(variantParts_1.VariantToolbar, { form: form }), form.visibleGroups.map(function (g) { return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexFlow: 'column', gap: 10 }, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreP, { effect: { weight: 'bold', uppercase: true, spaced: 1 }, size: 'small', children: g.label }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexFlow: 'column', gap: 8 }, children: g.rows.map(function (r) {
48
+ var hasDesc = !!(r.shortDesc || r.longDesc);
49
+ var open = disc.isOpen(r.name);
50
+ var editing = form.editing === r.name;
51
+ return ((0, jsx_runtime_1.jsxs)("div", { className: 'vc-card', role: 'button', tabIndex: 0, onClick: function () { return !r.readOnly && form.startEdit(r.name); }, children: [r.status === 'invalid' ?
52
+ (0, jsx_runtime_1.jsx)("span", { className: 'vc-accent', style: { background: c.danger } })
53
+ : null, (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("span", { className: 'vc-name', style: { color: c.text }, children: [r.status === 'todo' || r.status === 'invalid' ?
54
+ (0, jsx_runtime_1.jsx)("span", { "aria-hidden": true, style: {
55
+ width: 6,
56
+ height: 6,
57
+ borderRadius: '50%',
58
+ background: (0, variantParts_1.STATUS_COLOR)(r.status, c),
59
+ } })
60
+ : null, r.label, r.required ?
61
+ (0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: 'Asterisk', size: '9px', style: { color: c.danger } })
62
+ : null] }), hasDesc ?
63
+ (0, jsx_runtime_1.jsxs)("button", { type: 'button', className: 'vc-descbtn', style: { color: c.faint }, "aria-expanded": open, onClick: function (e) {
64
+ e.stopPropagation();
65
+ disc.toggle(r.name);
66
+ }, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: open ? 'ArrowUpSLine' : 'QuestionLine', size: '12px' }), open ? 'Hide info' : 'Info'] })
67
+ : null, open ?
68
+ (0, jsx_runtime_1.jsxs)("div", { style: { color: c.muted, marginTop: 6, fontSize: 12, lineHeight: 1.5 }, children: [r.shortDesc ? (0, jsx_runtime_1.jsx)("div", { children: r.shortDesc }) : null, r.longDesc ?
69
+ (0, jsx_runtime_1.jsx)("div", { style: { opacity: 0.85, marginTop: r.shortDesc ? 4 : 0 }, children: r.longDesc.replace(/[#`*]/g, '') })
70
+ : null] })
71
+ : null] }), (0, jsx_runtime_1.jsxs)("div", { className: 'vc-value', style: { color: c.muted }, children: [(0, jsx_runtime_1.jsx)(variantParts_1.ValueView, { value: r.value }), r.status === 'invalid' ?
72
+ (0, jsx_runtime_1.jsx)("div", { style: { color: c.danger, fontSize: 12, marginTop: 4 }, children: r.reason })
73
+ : r.status === 'todo' ?
74
+ (0, jsx_runtime_1.jsx)("div", { style: { color: c.warning, fontSize: 12, marginTop: 4 }, children: r.reason })
75
+ : null] }), editing ? (0, jsx_runtime_1.jsx)(variantParts_1.InlineEdit, { row: r, onDone: form.stopEdit }) : null] }, r.name));
76
+ }) })] }, g.name)); })] }));
77
+ };
78
+ exports.VariantCards = VariantCards;
79
+ var templateObject_1;
80
+ //# sourceMappingURL=VariantCards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariantCards.js","sourceRoot":"","sources":["../../../../../src/components/form/engine/variants/VariantCards.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { IQorusFormField, IQorusFormSchema } from '@qoretechnologies/ts-toolkit';
2
+ export declare const VariantFocus: ({ options, values, config, }: {
3
+ options: IQorusFormSchema;
4
+ values: Record<string, IQorusFormField>;
5
+ config?: any;
6
+ }) => import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=VariantFocus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariantFocus.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/engine/variants/VariantFocus.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AA6PjF,eAAO,MAAM,YAAY,iCAItB;IACD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,OAAO,MAAM,EAAE,eAAe,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,GAAG,CAAC;CACd,4CAyGA,CAAC"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.VariantFocus = void 0;
11
+ var jsx_runtime_1 = require("react/jsx-runtime");
12
+ /**
13
+ * VARIANT 3 — "Focus" (production-leaning)
14
+ *
15
+ * The original Focus structure — three expandable boxes (Needs attention / Set /
16
+ * Optional) — with the engine's real functionality layered in:
17
+ * • REQUIRED (one-of) GROUPS highlighted as a "pick one" cluster in the box,
18
+ * • schema GROUPS as thin Minimal-style labels INSIDE the Set / Optional boxes,
19
+ * • a "Descriptions" toggle (short_desc under every field),
20
+ * • COMPLEX fields showing their nested value inline with Show-more,
21
+ * • real inline editing (AutoFormField) on click.
22
+ *
23
+ * Attention box and the rest are EXCLUSIVE: a field needing attention sits in the
24
+ * box until resolved, then drops into Set (or Optional) below.
25
+ */
26
+ var reqore_1 = require("@qoretechnologies/reqore");
27
+ var react_1 = __importDefault(require("react"));
28
+ var styled_components_1 = __importDefault(require("styled-components"));
29
+ var variantParts_1 = require("./variantParts");
30
+ var Wrap = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n gap: 18px;\n font-size: 13px;\n\n .vf-row {\n display: grid;\n grid-template-columns: minmax(190px, 320px) minmax(0, 1fr) auto;\n column-gap: 16px;\n row-gap: 2px;\n align-items: center;\n /* Single-line rows: centre the content within the min-height. */\n align-content: center;\n min-height: 38px;\n padding: 6px 12px;\n border-radius: 8px;\n cursor: pointer;\n }\n /* Rows with a description / preview / editor below: pin the name+value to the\n top instead of centring the whole block. */\n .vf-row.vf-tall {\n align-content: start;\n }\n .vf-row:hover,\n .vf-row[aria-expanded='true'] {\n background: ", ";\n }\n .vf-section {\n border-radius: 12px;\n padding: 6px;\n }\n .vf-sechead {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n user-select: none;\n }\n .vf-grouplabel {\n font-size: 10px;\n letter-spacing: 1px;\n text-transform: uppercase;\n padding: 10px 0 2px 12px;\n }\n .vf-cluster {\n border-radius: 10px;\n padding: 4px 4px 6px;\n margin: 2px 0;\n }\n .vf-desc {\n grid-column: 1 / -1;\n padding: 0 0 2px;\n font-size: 12px;\n line-height: 1.45;\n }\n .vf-preview {\n grid-column: 2 / -1;\n padding: 2px 0 4px;\n }\n @media (max-width: 640px) {\n .vf-row {\n grid-template-columns: 1fr auto;\n grid-template-areas: 'label dot' 'value value';\n row-gap: 2px;\n }\n .vf-label {\n grid-area: label;\n }\n .vf-value {\n grid-area: value;\n }\n .vf-dot {\n grid-area: dot;\n }\n .vf-preview {\n grid-column: 1 / -1;\n }\n }\n"], ["\n display: flex;\n flex-flow: column;\n gap: 18px;\n font-size: 13px;\n\n .vf-row {\n display: grid;\n grid-template-columns: minmax(190px, 320px) minmax(0, 1fr) auto;\n column-gap: 16px;\n row-gap: 2px;\n align-items: center;\n /* Single-line rows: centre the content within the min-height. */\n align-content: center;\n min-height: 38px;\n padding: 6px 12px;\n border-radius: 8px;\n cursor: pointer;\n }\n /* Rows with a description / preview / editor below: pin the name+value to the\n top instead of centring the whole block. */\n .vf-row.vf-tall {\n align-content: start;\n }\n .vf-row:hover,\n .vf-row[aria-expanded='true'] {\n background: ", ";\n }\n .vf-section {\n border-radius: 12px;\n padding: 6px;\n }\n .vf-sechead {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n user-select: none;\n }\n .vf-grouplabel {\n font-size: 10px;\n letter-spacing: 1px;\n text-transform: uppercase;\n padding: 10px 0 2px 12px;\n }\n .vf-cluster {\n border-radius: 10px;\n padding: 4px 4px 6px;\n margin: 2px 0;\n }\n .vf-desc {\n grid-column: 1 / -1;\n padding: 0 0 2px;\n font-size: 12px;\n line-height: 1.45;\n }\n .vf-preview {\n grid-column: 2 / -1;\n padding: 2px 0 4px;\n }\n @media (max-width: 640px) {\n .vf-row {\n grid-template-columns: 1fr auto;\n grid-template-areas: 'label dot' 'value value';\n row-gap: 2px;\n }\n .vf-label {\n grid-area: label;\n }\n .vf-value {\n grid-area: value;\n }\n .vf-dot {\n grid-area: dot;\n }\n .vf-preview {\n grid-column: 1 / -1;\n }\n }\n"])), function (_a) {
31
+ var $hover = _a.$hover;
32
+ return $hover;
33
+ });
34
+ var Row = function (_a) {
35
+ var _b;
36
+ var r = _a.r, form = _a.form, showDesc = _a.showDesc;
37
+ var c = (0, variantParts_1.useVariantColors)();
38
+ var editing = form.editing === r.name;
39
+ var isHash = r.value.kind === 'hash';
40
+ // A row is "tall" (has something below the name/value line) when editing, when
41
+ // it's a complex preview, or when descriptions are shown for it.
42
+ var tall = editing || isHash || (showDesc && !!r.shortDesc);
43
+ return ((0, jsx_runtime_1.jsxs)("div", { className: tall ? 'vf-row vf-tall' : 'vf-row', role: 'button', tabIndex: 0, "aria-expanded": editing, onClick: function () { return !r.readOnly && form.startEdit(r.name); }, children: [(0, jsx_runtime_1.jsxs)("span", { className: 'vf-label', style: { fontWeight: 600, color: c.text, display: 'flex', alignItems: 'center', gap: 6, minWidth: 0 }, children: [r.label, r.required ?
44
+ (0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: 'Asterisk', size: '9px', style: { color: c.danger } })
45
+ : null] }), (0, jsx_runtime_1.jsxs)("span", { className: 'vf-value', style: { color: c.muted, minWidth: 0 }, children: [(0, jsx_runtime_1.jsx)(variantParts_1.ValueView, { value: r.value }), r.reason && r.status !== 'set' ?
46
+ (0, jsx_runtime_1.jsx)("span", { style: { color: (0, variantParts_1.STATUS_COLOR)(r.status, c), fontSize: 12, marginLeft: 8 }, children: r.reason })
47
+ : null] }), (0, jsx_runtime_1.jsx)("span", { className: 'vf-dot', style: { display: 'inline-flex', justifyContent: 'flex-end' }, children: (0, jsx_runtime_1.jsx)(variantParts_1.StatusDot, { status: r.status }) }), showDesc && r.shortDesc && !editing ?
48
+ (0, jsx_runtime_1.jsx)("div", { className: 'vf-desc', style: { color: c.faint }, children: r.shortDesc })
49
+ : null, isHash && !editing ?
50
+ (0, jsx_runtime_1.jsx)("div", { className: 'vf-preview', children: (0, jsx_runtime_1.jsx)(variantParts_1.ComplexPreview, { value: (_b = r.field) === null || _b === void 0 ? void 0 : _b.value, onOpen: function () { return !r.readOnly && form.startEdit(r.name); } }) })
51
+ : null, editing ?
52
+ (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [r.shortDesc ? (0, jsx_runtime_1.jsx)("div", { className: 'vf-desc', style: { color: c.faint }, children: r.shortDesc }) : null, (0, jsx_runtime_1.jsx)(variantParts_1.InlineEdit, { row: r, onDone: form.stopEdit })] })
53
+ : null] }));
54
+ };
55
+ /** A one-of required group, highlighted: "pick one of these". */
56
+ var RequiredCluster = function (_a) {
57
+ var rows = _a.rows, form = _a.form, showDesc = _a.showDesc;
58
+ var c = (0, variantParts_1.useVariantColors)();
59
+ var tint = c.warning;
60
+ return ((0, jsx_runtime_1.jsxs)("div", { className: 'vf-cluster', style: { background: "".concat(tint, "10"), border: "1px solid ".concat(tint, "33") }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'center', gap: 6, padding: '8px 0 2px 12px' }, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: 'LinkM', size: '11px', style: { color: tint } }), (0, jsx_runtime_1.jsx)("span", { style: { fontSize: 10, letterSpacing: 1, textTransform: 'uppercase', color: tint }, children: "One of the below is required" })] }), rows.map(function (r) { return (0, jsx_runtime_1.jsx)(Row, { r: r, form: form, showDesc: showDesc }, r.name); })] }));
61
+ };
62
+ var Section = function (_a) {
63
+ var title = _a.title, intent = _a.intent, count = _a.count, children = _a.children, _b = _a.defaultOpen, defaultOpen = _b === void 0 ? true : _b;
64
+ var _c = react_1.default.useState(defaultOpen), open = _c[0], setOpen = _c[1];
65
+ if (!count)
66
+ return null;
67
+ return ((0, jsx_runtime_1.jsxs)("div", { className: 'vf-section', style: { background: "".concat(intent, "0e"), border: "1px solid ".concat(intent, "22") }, children: [(0, jsx_runtime_1.jsxs)("div", { className: 'vf-sechead', onClick: function () { return setOpen(function (o) { return !o; }); }, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: open ? 'ArrowDownSLine' : 'ArrowRightSLine', size: '15px' }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreP, { effect: { weight: 'bold' }, children: title }), (0, jsx_runtime_1.jsx)("span", { style: {
68
+ background: "".concat(intent, "22"),
69
+ color: intent,
70
+ borderRadius: 20,
71
+ padding: '1px 9px',
72
+ fontSize: 12,
73
+ fontWeight: 700,
74
+ }, children: count })] }), open ? (0, jsx_runtime_1.jsx)("div", { children: children }) : null] }));
75
+ };
76
+ /** Rows of a given status, grouped by schema group with thin Minimal-style
77
+ * labels. Used inside the Set and Optional boxes. */
78
+ var GroupedRows = function (_a) {
79
+ var groups = _a.groups, status = _a.status, skip = _a.skip, form = _a.form, showDesc = _a.showDesc;
80
+ var c = (0, variantParts_1.useVariantColors)();
81
+ var sections = groups
82
+ .map(function (g) { return ({ g: g, rows: g.rows.filter(function (r) { return r.status === status && !skip.has(r.name); }) }); })
83
+ .filter(function (s) { return s.rows.length; });
84
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: sections.map(function (_a) {
85
+ var g = _a.g, rows = _a.rows;
86
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [sections.length > 1 ?
87
+ (0, jsx_runtime_1.jsx)("div", { className: 'vf-grouplabel', style: { color: c.faint }, children: g.label })
88
+ : null, rows.map(function (r) { return (0, jsx_runtime_1.jsx)(Row, { r: r, form: form, showDesc: showDesc }, r.name); })] }, g.name));
89
+ }) }));
90
+ };
91
+ var VariantFocus = function (_a) {
92
+ var options = _a.options, values = _a.values, config = _a.config;
93
+ var c = (0, variantParts_1.useVariantColors)();
94
+ var form = (0, variantParts_1.useVariantForm)(options, values, config);
95
+ var s = form.summary;
96
+ var showDesc = form.showDescriptions;
97
+ var allRows = form.visibleGroups.flatMap(function (g) { return g.rows; });
98
+ var unmetGroups = Object.values(form.requiredGroups).filter(function (g) { return !g.satisfied; });
99
+ var unmetMembers = new Set();
100
+ unmetGroups.forEach(function (g) { return g.members.forEach(function (m) { return unmetMembers.add(m); }); });
101
+ // Attention = invalid + individually-required-todo (NOT one-of members, which
102
+ // show as their cluster) + the unmet one-of clusters.
103
+ var attentionRows = allRows.filter(function (r) { return (r.status === 'invalid' || r.status === 'todo') && !unmetMembers.has(r.name); });
104
+ var attentionCount = attentionRows.length + unmetGroups.length;
105
+ var skip = new Set(attentionRows.map(function (r) { return r.name; }));
106
+ unmetMembers.forEach(function (n) { return skip.add(n); });
107
+ var setCount = allRows.filter(function (r) { return r.status === 'set' && !skip.has(r.name); }).length;
108
+ var optionalCount = allRows.filter(function (r) { return r.status === 'unset' && !skip.has(r.name); }).length;
109
+ // Group the attention items by schema group (placing each one-of cluster under
110
+ // its members' group) so the attention box reads like the Set / Optional boxes.
111
+ var clusterGroupName = function (members) { var _a; return (_a = form.visibleGroups.find(function (g) { return g.rows.some(function (r) { return r.name === members[0]; }); })) === null || _a === void 0 ? void 0 : _a.name; };
112
+ var attnGroups = form.visibleGroups
113
+ .map(function (g) { return ({
114
+ g: g,
115
+ rows: g.rows.filter(function (r) { return (r.status === 'invalid' || r.status === 'todo') && !unmetMembers.has(r.name); }),
116
+ clusters: unmetGroups.filter(function (rg) { return clusterGroupName(rg.members) === g.name; }),
117
+ }); })
118
+ .filter(function (x) { return x.rows.length || x.clusters.length; });
119
+ return ((0, jsx_runtime_1.jsxs)(Wrap, { "$hover": c.hover, "$faint": c.faint, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexFlow: 'column', gap: 10 }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'baseline', gap: 12, flexWrap: 'wrap' }, children: [(0, jsx_runtime_1.jsxs)(reqore_1.ReqoreP, { size: 'big', effect: { weight: 'bold' }, children: [s.pct, "% complete"] }), (0, jsx_runtime_1.jsxs)("span", { style: { color: c.muted, fontSize: 12 }, children: [s.set, "/", s.total, " set"] }), s.attention ?
120
+ (0, jsx_runtime_1.jsx)("button", { type: 'button', onClick: form.toggleAttention, style: {
121
+ background: 'none',
122
+ border: 'none',
123
+ cursor: 'pointer',
124
+ color: c.warning,
125
+ fontSize: 12,
126
+ textDecoration: 'underline',
127
+ textUnderlineOffset: 3,
128
+ }, children: form.filter === 'attention' ? '← show all' : "".concat(s.attention, " need attention \u2192") })
129
+ : null] }), (0, jsx_runtime_1.jsxs)("div", { style: { height: 4, borderRadius: 2, background: c.line, overflow: 'hidden', display: 'flex' }, children: [(0, jsx_runtime_1.jsx)("div", { style: { width: "".concat((s.set / s.total) * 100, "%"), background: c.success } }), (0, jsx_runtime_1.jsx)("div", { style: { width: "".concat((s.attention / s.total) * 100, "%"), background: c.warning } })] })] }), (0, jsx_runtime_1.jsx)(variantParts_1.VariantToolbar, { form: form }), (0, jsx_runtime_1.jsx)(Section, { title: 'Needs attention', intent: c.warning, count: attentionCount, children: attnGroups.map(function (_a) {
130
+ var g = _a.g, rows = _a.rows, clusters = _a.clusters;
131
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [attnGroups.length > 1 ?
132
+ (0, jsx_runtime_1.jsx)("div", { className: 'vf-grouplabel', style: { color: c.faint }, children: g.label })
133
+ : null, clusters.map(function (cl) { return ((0, jsx_runtime_1.jsx)(RequiredCluster, { rows: allRows.filter(function (r) { return cl.members.includes(r.name); }), form: form, showDesc: showDesc }, cl.key)); }), rows.map(function (r) { return (0, jsx_runtime_1.jsx)(Row, { r: r, form: form, showDesc: showDesc }, r.name); })] }, g.name));
134
+ }) }), (0, jsx_runtime_1.jsx)(Section, { title: 'Set', intent: c.success, count: setCount, children: (0, jsx_runtime_1.jsx)(GroupedRows, { groups: form.visibleGroups, status: 'set', skip: skip, form: form, showDesc: showDesc }) }), (0, jsx_runtime_1.jsx)(Section, { title: 'Optional \u2014 not set', intent: c.muted, count: optionalCount, defaultOpen: false, children: (0, jsx_runtime_1.jsx)(GroupedRows, { groups: form.visibleGroups, status: 'unset', skip: skip, form: form, showDesc: showDesc }) })] }));
135
+ };
136
+ exports.VariantFocus = VariantFocus;
137
+ var templateObject_1;
138
+ //# sourceMappingURL=VariantFocus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariantFocus.js","sourceRoot":"","sources":["../../../../../src/components/form/engine/variants/VariantFocus.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { IQorusFormField, IQorusFormSchema } from '@qoretechnologies/ts-toolkit';
2
+ export declare const VariantMinimal: ({ options, values, }: {
3
+ options: IQorusFormSchema;
4
+ values: Record<string, IQorusFormField>;
5
+ }) => import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=VariantMinimal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariantMinimal.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/engine/variants/VariantMinimal.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AA+DjF,eAAO,MAAM,cAAc,yBAGxB;IACD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,OAAO,MAAM,EAAE,eAAe,CAAC,CAAC;CACzC,4CA2FA,CAAC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.VariantMinimal = void 0;
11
+ var jsx_runtime_1 = require("react/jsx-runtime");
12
+ /**
13
+ * VARIANT 4 — "Minimal" (Notion / Linear inspired)
14
+ *
15
+ * Direction: the lightest possible treatment. No surfaces, no boxes, no group
16
+ * panels — just a quiet `label · value` list with a hairline status tick on the
17
+ * left edge. TAP a row to reveal its description and edit it inline — NO hover
18
+ * dependency, so it behaves identically on phone. Densest of the four.
19
+ */
20
+ var reqore_1 = require("@qoretechnologies/reqore");
21
+ var react_1 = __importDefault(require("react"));
22
+ var styled_components_1 = __importDefault(require("styled-components"));
23
+ var variantParts_1 = require("./variantParts");
24
+ var Wrap = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n gap: 4px;\n font-size: 13px;\n\n .vm-group {\n font-size: 11px;\n letter-spacing: 1px;\n text-transform: uppercase;\n padding: 16px 0 6px 14px;\n }\n .vm-row {\n display: grid;\n grid-template-columns: minmax(180px, 320px) minmax(0, 1fr);\n gap: 14px;\n align-items: baseline;\n padding: 7px 12px 7px 14px;\n border-left: 2px solid transparent;\n cursor: pointer;\n border-radius: 0 6px 6px 0;\n }\n .vm-row[aria-expanded='true'] {\n background: ", ";\n }\n @media (hover: hover) {\n .vm-row:hover {\n background: ", ";\n }\n }\n .vm-label {\n display: flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n }\n .vm-detail {\n grid-column: 1 / -1;\n color: ", ";\n padding: 4px 0 2px;\n font-size: 12px;\n line-height: 1.5;\n }\n @media (max-width: 620px) {\n .vm-row {\n grid-template-columns: 1fr;\n gap: 2px;\n }\n }\n"], ["\n display: flex;\n flex-flow: column;\n gap: 4px;\n font-size: 13px;\n\n .vm-group {\n font-size: 11px;\n letter-spacing: 1px;\n text-transform: uppercase;\n padding: 16px 0 6px 14px;\n }\n .vm-row {\n display: grid;\n grid-template-columns: minmax(180px, 320px) minmax(0, 1fr);\n gap: 14px;\n align-items: baseline;\n padding: 7px 12px 7px 14px;\n border-left: 2px solid transparent;\n cursor: pointer;\n border-radius: 0 6px 6px 0;\n }\n .vm-row[aria-expanded='true'] {\n background: ", ";\n }\n @media (hover: hover) {\n .vm-row:hover {\n background: ", ";\n }\n }\n .vm-label {\n display: flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n }\n .vm-detail {\n grid-column: 1 / -1;\n color: ", ";\n padding: 4px 0 2px;\n font-size: 12px;\n line-height: 1.5;\n }\n @media (max-width: 620px) {\n .vm-row {\n grid-template-columns: 1fr;\n gap: 2px;\n }\n }\n"])), function (_a) {
25
+ var $hover = _a.$hover;
26
+ return $hover;
27
+ }, function (_a) {
28
+ var $hover = _a.$hover;
29
+ return $hover;
30
+ }, function (_a) {
31
+ var $faint = _a.$faint;
32
+ return $faint;
33
+ });
34
+ var VariantMinimal = function (_a) {
35
+ var options = _a.options, values = _a.values;
36
+ var c = (0, variantParts_1.useVariantColors)();
37
+ var form = (0, variantParts_1.useVariantForm)(options, values);
38
+ var s = form.summary;
39
+ return ((0, jsx_runtime_1.jsxs)(Wrap, { "$hover": c.hover, "$line": c.line, "$faint": c.faint, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
40
+ display: 'flex',
41
+ alignItems: 'center',
42
+ gap: 10,
43
+ padding: '0 12px 10px',
44
+ borderBottom: "1px solid ".concat(c.line),
45
+ }, children: [(0, jsx_runtime_1.jsx)("span", { style: { width: 8, height: 8, borderRadius: '50%', background: s.attention ? c.warning : c.success } }), (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreP, { effect: { weight: 'bold' }, children: [s.pct, "%"] }), (0, jsx_runtime_1.jsxs)("span", { style: { color: c.muted, fontSize: 12 }, children: [s.set, "/", s.total, " set"] }), s.attention ?
46
+ (0, jsx_runtime_1.jsx)("button", { type: 'button', onClick: form.toggleAttention, style: {
47
+ background: 'none',
48
+ border: 'none',
49
+ cursor: 'pointer',
50
+ color: c.warning,
51
+ fontSize: 12,
52
+ textDecoration: 'underline',
53
+ textUnderlineOffset: 3,
54
+ }, children: form.filter === 'attention' ? '← all' : "".concat(s.attention, " to resolve \u2192") })
55
+ : null] }), (0, jsx_runtime_1.jsx)(variantParts_1.VariantToolbar, { form: form }), form.visibleGroups.map(function (g) { return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: 'vm-group', style: { color: c.faint }, children: g.label }), g.rows.map(function (r) {
56
+ var editing = form.editing === r.name;
57
+ var hasDetail = !!(r.shortDesc || r.longDesc);
58
+ return ((0, jsx_runtime_1.jsxs)("div", { className: 'vm-row', role: 'button', tabIndex: 0, "aria-expanded": editing, style: { borderLeftColor: r.status === 'set' || r.status === 'unset' ? 'transparent' : (0, variantParts_1.STATUS_COLOR)(r.status, c) }, onClick: function () { return !r.readOnly && form.startEdit(r.name); }, children: [(0, jsx_runtime_1.jsxs)("span", { className: 'vm-label', style: { color: c.text, fontWeight: 500 }, children: [r.label, r.required ?
59
+ (0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: 'Asterisk', size: '8px', style: { color: c.danger } })
60
+ : null] }), (0, jsx_runtime_1.jsxs)("span", { style: { color: c.muted, minWidth: 0, display: 'inline-flex', alignItems: 'baseline', gap: 8 }, children: [(0, jsx_runtime_1.jsx)(variantParts_1.ValueView, { value: r.value }), r.status === 'invalid' || r.status === 'todo' ?
61
+ (0, jsx_runtime_1.jsxs)("span", { style: { color: (0, variantParts_1.STATUS_COLOR)(r.status, c), fontSize: 12 }, children: ["\u00B7 ", r.reason] })
62
+ : null] }), editing ?
63
+ (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [hasDetail ?
64
+ (0, jsx_runtime_1.jsxs)("div", { className: 'vm-detail', children: [r.shortDesc ? (0, jsx_runtime_1.jsx)("div", { children: r.shortDesc }) : null, r.longDesc ?
65
+ (0, jsx_runtime_1.jsx)("div", { style: { marginTop: r.shortDesc ? 4 : 0 }, children: r.longDesc.replace(/[#`*]/g, '') })
66
+ : null] })
67
+ : null, (0, jsx_runtime_1.jsx)(variantParts_1.InlineEdit, { row: r, onDone: form.stopEdit })] })
68
+ : null] }, r.name));
69
+ })] }, g.name)); })] }));
70
+ };
71
+ exports.VariantMinimal = VariantMinimal;
72
+ var templateObject_1;
73
+ //# sourceMappingURL=VariantMinimal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariantMinimal.js","sourceRoot":"","sources":["../../../../../src/components/form/engine/variants/VariantMinimal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * A richer, realistic demo schema for the Focus-Pro variant — exercises the
3
+ * features the basic fixture lacks: NAMED groups, a one-of REQUIRED GROUP,
4
+ * a complex nested hash (Show-more preview), allowed-values, files/lists, plus
5
+ * a mix of set / invalid / required-unset / optional states. Modelled loosely
6
+ * on a Qorus datasource connection config.
7
+ */
8
+ import { IQorusFormField, IQorusFormSchema } from '@qoretechnologies/ts-toolkit';
9
+ export declare const getFocusDemoOptions: () => IQorusFormSchema;
10
+ export declare const focusDemoValue: Record<string, IQorusFormField>;
11
+ export declare const focusDemoInvalid: Record<string, string>;
12
+ export declare const focusDemoGroupLabels: Record<string, string>;
13
+ //# sourceMappingURL=focusDemo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focusDemo.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/engine/variants/focusDemo.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEjF,eAAO,MAAM,mBAAmB,QAAO,gBAwGJ,CAAC;AAEpC,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAe1D,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEnD,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMvD,CAAC"}