@qoretechnologies/reqraft 0.10.13-pr.74.gf718c08 → 0.10.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/CLAUDE.md +8 -11
- package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
- package/dist/components/form/engine/CompactToolbar.js +2 -2
- package/dist/components/form/engine/CompactToolbar.js.map +1 -1
- package/dist/components/form/engine/FormEngine.d.ts +15 -3
- package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
- package/dist/components/form/engine/FormEngine.js +15 -20
- package/dist/components/form/engine/FormEngine.js.map +1 -1
- package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowStyles.js +3 -8
- package/dist/components/form/engine/compactRowStyles.js.map +1 -1
- package/dist/helpers/common.d.ts +0 -5
- package/dist/helpers/common.d.ts.map +1 -1
- package/dist/helpers/common.js +1 -20
- package/dist/helpers/common.js.map +1 -1
- package/dist/index.d.ts +0 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -7
- package/dist/index.js.map +1 -1
- package/dist/providers/StorageProvider.d.ts +13 -0
- package/dist/providers/StorageProvider.d.ts.map +1 -1
- package/dist/providers/StorageProvider.js +29 -5
- package/dist/providers/StorageProvider.js.map +1 -1
- package/package.json +2 -2
- package/src/components/form/engine/CompactToolbar.tsx +117 -110
- package/src/components/form/engine/FormEngine.stories.tsx +27 -0
- package/src/components/form/engine/FormEngine.tsx +44 -25
- package/src/components/form/engine/compactRowStyles.ts +3 -5
- package/src/helpers/common.ts +0 -19
- package/src/hooks/useStorage/useStorage.stories.tsx +52 -0
- package/src/index.tsx +0 -5
- package/src/providers/StorageProvider.tsx +30 -4
- package/dist/components/composer/Composer.d.ts +0 -108
- package/dist/components/composer/Composer.d.ts.map +0 -1
- package/dist/components/composer/Composer.js +0 -238
- package/dist/components/composer/Composer.js.map +0 -1
- package/dist/components/composer/helpers.d.ts +0 -21
- package/dist/components/composer/helpers.d.ts.map +0 -1
- package/dist/components/composer/helpers.js +0 -75
- package/dist/components/composer/helpers.js.map +0 -1
- package/dist/components/composer/index.d.ts +0 -3
- package/dist/components/composer/index.d.ts.map +0 -1
- package/dist/components/composer/index.js +0 -19
- package/dist/components/composer/index.js.map +0 -1
- package/dist/components/imageLightbox/ImageLightbox.d.ts +0 -17
- package/dist/components/imageLightbox/ImageLightbox.d.ts.map +0 -1
- package/dist/components/imageLightbox/ImageLightbox.js +0 -129
- package/dist/components/imageLightbox/ImageLightbox.js.map +0 -1
- package/dist/components/imageLightbox/index.d.ts +0 -2
- package/dist/components/imageLightbox/index.d.ts.map +0 -1
- package/dist/components/imageLightbox/index.js +0 -18
- package/dist/components/imageLightbox/index.js.map +0 -1
- package/dist/components/supportTicket/AttachmentChips.d.ts +0 -10
- package/dist/components/supportTicket/AttachmentChips.d.ts.map +0 -1
- package/dist/components/supportTicket/AttachmentChips.js +0 -119
- package/dist/components/supportTicket/AttachmentChips.js.map +0 -1
- package/dist/components/supportTicket/InterfaceReferenceTags.d.ts +0 -35
- package/dist/components/supportTicket/InterfaceReferenceTags.d.ts.map +0 -1
- package/dist/components/supportTicket/InterfaceReferenceTags.js +0 -31
- package/dist/components/supportTicket/InterfaceReferenceTags.js.map +0 -1
- package/dist/components/supportTicket/ReferencePicker.d.ts +0 -41
- package/dist/components/supportTicket/ReferencePicker.d.ts.map +0 -1
- package/dist/components/supportTicket/ReferencePicker.js +0 -86
- package/dist/components/supportTicket/ReferencePicker.js.map +0 -1
- package/dist/components/supportTicket/TicketHeader.d.ts +0 -86
- package/dist/components/supportTicket/TicketHeader.d.ts.map +0 -1
- package/dist/components/supportTicket/TicketHeader.js +0 -149
- package/dist/components/supportTicket/TicketHeader.js.map +0 -1
- package/dist/components/supportTicket/TicketMetaTags.d.ts +0 -32
- package/dist/components/supportTicket/TicketMetaTags.d.ts.map +0 -1
- package/dist/components/supportTicket/TicketMetaTags.js +0 -21
- package/dist/components/supportTicket/TicketMetaTags.js.map +0 -1
- package/dist/components/supportTicket/TicketReplyBox.d.ts +0 -63
- package/dist/components/supportTicket/TicketReplyBox.d.ts.map +0 -1
- package/dist/components/supportTicket/TicketReplyBox.js +0 -115
- package/dist/components/supportTicket/TicketReplyBox.js.map +0 -1
- package/dist/components/supportTicket/fileToAttachment.d.ts +0 -9
- package/dist/components/supportTicket/fileToAttachment.d.ts.map +0 -1
- package/dist/components/supportTicket/fileToAttachment.js +0 -28
- package/dist/components/supportTicket/fileToAttachment.js.map +0 -1
- package/dist/components/supportTicket/index.d.ts +0 -9
- package/dist/components/supportTicket/index.d.ts.map +0 -1
- package/dist/components/supportTicket/index.js +0 -25
- package/dist/components/supportTicket/index.js.map +0 -1
- package/dist/components/supportTicket/meta.d.ts +0 -63
- package/dist/components/supportTicket/meta.d.ts.map +0 -1
- package/dist/components/supportTicket/meta.js +0 -79
- package/dist/components/supportTicket/meta.js.map +0 -1
- package/dist/components/ticketReferences/TicketReferences.d.ts +0 -52
- package/dist/components/ticketReferences/TicketReferences.d.ts.map +0 -1
- package/dist/components/ticketReferences/TicketReferences.js +0 -453
- package/dist/components/ticketReferences/TicketReferences.js.map +0 -1
- package/dist/components/ticketReferences/index.d.ts +0 -3
- package/dist/components/ticketReferences/index.d.ts.map +0 -1
- package/dist/components/ticketReferences/index.js +0 -6
- package/dist/components/ticketReferences/index.js.map +0 -1
- package/dist/components/ticketThread/TicketThread.d.ts +0 -52
- package/dist/components/ticketThread/TicketThread.d.ts.map +0 -1
- package/dist/components/ticketThread/TicketThread.js +0 -248
- package/dist/components/ticketThread/TicketThread.js.map +0 -1
- package/dist/components/ticketThread/index.d.ts +0 -3
- package/dist/components/ticketThread/index.d.ts.map +0 -1
- package/dist/components/ticketThread/index.js +0 -7
- package/dist/components/ticketThread/index.js.map +0 -1
- package/dist/helpers/scrollbar.d.ts +0 -2
- package/dist/helpers/scrollbar.d.ts.map +0 -1
- package/dist/helpers/scrollbar.js +0 -25
- package/dist/helpers/scrollbar.js.map +0 -1
- package/src/components/composer/Composer.stories.tsx +0 -238
- package/src/components/composer/Composer.tsx +0 -545
- package/src/components/composer/helpers.ts +0 -74
- package/src/components/composer/index.ts +0 -2
- package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -156
- package/src/components/imageLightbox/ImageLightbox.tsx +0 -169
- package/src/components/imageLightbox/index.ts +0 -1
- package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -122
- package/src/components/supportTicket/AttachmentChips.tsx +0 -142
- package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -134
- package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -85
- package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -296
- package/src/components/supportTicket/ReferencePicker.tsx +0 -237
- package/src/components/supportTicket/TicketConversation.stories.tsx +0 -122
- package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
- package/src/components/supportTicket/TicketHeader.tsx +0 -247
- package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
- package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
- package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -355
- package/src/components/supportTicket/TicketReplyBox.tsx +0 -146
- package/src/components/supportTicket/fileToAttachment.ts +0 -24
- package/src/components/supportTicket/index.ts +0 -8
- package/src/components/supportTicket/meta.ts +0 -145
- package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -301
- package/src/components/ticketReferences/TicketReferences.tsx +0 -899
- package/src/components/ticketReferences/index.ts +0 -2
- package/src/components/ticketThread/TicketThread.stories.tsx +0 -751
- package/src/components/ticketThread/TicketThread.tsx +0 -650
- package/src/components/ticketThread/index.ts +0 -6
- package/src/helpers/scrollbar.ts +0 -32
package/.claude/CLAUDE.md
CHANGED
|
@@ -44,7 +44,7 @@ ReQraft (`@qoretechnologies/reqraft`) is a **React hooks and components toolkit*
|
|
|
44
44
|
- **Styling:** styled-components (inherited from ReQore); no CSS modules
|
|
45
45
|
- **State Management:** zustand (stores) + React Context (`use-context-selector`)
|
|
46
46
|
- **Data Fetching:** `@tanstack/react-query` v4 (via `query()` util + `useFetch` hook)
|
|
47
|
-
- **Testing:**
|
|
47
|
+
- **Testing:** Jest + React Testing Library (tests in `__tests__/`)
|
|
48
48
|
- **Documentation:** Storybook (stories co-located in `src/` with `.stories.tsx` suffix)
|
|
49
49
|
- **Storybook port:** `6008` (not 6007 — that's reqore)
|
|
50
50
|
|
|
@@ -155,9 +155,7 @@ A generic `<Field>` component dispatches to the appropriate field by type.
|
|
|
155
155
|
```bash
|
|
156
156
|
yarn install
|
|
157
157
|
yarn storybook # Dev mode on http://localhost:6008
|
|
158
|
-
yarn test
|
|
159
|
-
yarn test:watch # Vitest unit watch mode
|
|
160
|
-
yarn test:stories # Story / interaction tests in a real browser (+ Qlip capture)
|
|
158
|
+
yarn test:watch # Jest watch mode
|
|
161
159
|
yarn lint # ESLint check
|
|
162
160
|
yarn build # TypeScript compilation (tsconfig.prod.json)
|
|
163
161
|
yarn build:test # Type-check without emit
|
|
@@ -179,17 +177,16 @@ yarn build:test # Type-check without emit
|
|
|
179
177
|
|
|
180
178
|
### Testing Patterns
|
|
181
179
|
|
|
182
|
-
-
|
|
183
|
-
- Wrap
|
|
180
|
+
- Tests live in `__tests__/` (mirror `src/` structure)
|
|
181
|
+
- Wrap tests with `ReqraftProvider` (or at minimum `QueryClientProvider`)
|
|
184
182
|
- Use `mock-socket` for WebSocket testing
|
|
185
|
-
- Run:
|
|
183
|
+
- Run: `./node_modules/.bin/jest --passWithNoTests`
|
|
186
184
|
|
|
187
|
-
### Storybook Stories
|
|
185
|
+
### Storybook Stories
|
|
188
186
|
|
|
189
187
|
- Stories are co-located alongside source: `src/hooks/useFetch/useFetch.stories.tsx`
|
|
190
188
|
- Storybook port: **6008**
|
|
191
|
-
-
|
|
192
|
-
- **Visual regression via Qlip** (not Chromatic): the story run captures snapshots through the `qlip` Vitest plugin. Upload is gated on `QLIP_UPLOAD_TOKEN` (`vitest.config.ts`), so **local runs capture but never upload** — PNGs land in `qlip/screenshots/<ts>/stories/auto/<StoryId>.png` (gitignored); read the PNG to verify a visual change. CI (`.github/workflows/tests.yml`) sets the token and uploads a build for dashboard review. The full visual-change flow + the `qlip` MCP review skill live in the imported `stacks/frontend/FRONTEND.md`.
|
|
189
|
+
- Visual testing via Chromatic (`yarn chromatic`)
|
|
193
190
|
|
|
194
191
|
## Code Patterns & Conventions
|
|
195
192
|
|
|
@@ -271,7 +268,7 @@ yarn build:test # Type-check without emit
|
|
|
271
268
|
| `src/components/log/` | Log display component |
|
|
272
269
|
| `src/components/menu/` | Navigation menu component |
|
|
273
270
|
| `src/types/` | Shared TypeScript types |
|
|
274
|
-
| `__tests__/` |
|
|
271
|
+
| `__tests__/` | Jest tests |
|
|
275
272
|
|
|
276
273
|
## Other
|
|
277
274
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompactToolbar.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/CompactToolbar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CompactToolbar.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/CompactToolbar.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AAMjG,OAAO,KAAe,MAAM,OAAO,CAAC;AAyFpC;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,0CAAsB,QAAQ,wBAAwB,CAAC,6CAgMhF,CAAC"}
|
|
@@ -23,8 +23,8 @@ var jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
23
23
|
var reqore_1 = require("@qoretechnologies/reqore");
|
|
24
24
|
var useTheme_1 = require("@qoretechnologies/reqore/dist/hooks/useTheme");
|
|
25
25
|
var react_1 = require("react");
|
|
26
|
-
var use_context_selector_1 = require("use-context-selector");
|
|
27
26
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
27
|
+
var use_context_selector_1 = require("use-context-selector");
|
|
28
28
|
var compactToolbarContext_1 = require("./compactToolbarContext");
|
|
29
29
|
// Field sort modes, listed in the Fields menu's "Sort by" submenu. 'schema' is
|
|
30
30
|
// the default (the schema's declared order); the rest reorder within each group.
|
|
@@ -164,7 +164,7 @@ exports.CompactToolbar = (0, react_1.memo)(function (reqoreProps) {
|
|
|
164
164
|
// menu keeps only the bulk actions above (Select all / Default
|
|
165
165
|
// fields / filters).
|
|
166
166
|
] })
|
|
167
|
-
: null, (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { fixed: true, flat: true, minimal: showAllDescriptions === true, icon: showAllDescriptions ? 'InformationFill' : 'InformationLine', className: 'options-readfirst-descriptions',
|
|
167
|
+
: null, (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { fixed: true, flat: true, minimal: showAllDescriptions === true, icon: showAllDescriptions ? 'InformationFill' : 'InformationLine', className: 'options-readfirst-descriptions', intent: showAllDescriptions ? 'info' : undefined, tooltip: showAllDescriptions ? 'Hide all field information' : 'Show all field information', onClick: onToggleAllDescriptions })] })
|
|
168
168
|
: null })
|
|
169
169
|
: null] })));
|
|
170
170
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompactToolbar.js","sourceRoot":"","sources":["../../../../src/components/form/engine/CompactToolbar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mDAKkC;
|
|
1
|
+
{"version":3,"file":"CompactToolbar.js","sourceRoot":"","sources":["../../../../src/components/form/engine/CompactToolbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IReqoreCollectionProps } from '@qoretechnologies/reqore/dist/components/Collection';
|
|
2
|
-
import { IReqorePanelAction } from '@qoretechnologies/reqore/dist/components/Panel';
|
|
2
|
+
import { IReqorePanelAction, IReqorePanelProps } from '@qoretechnologies/reqore/dist/components/Panel';
|
|
3
3
|
import { IReqoreFormTemplates } from '@qoretechnologies/reqore/dist/components/Textarea';
|
|
4
4
|
import { IReqoreIconName } from '@qoretechnologies/reqore/dist/types/icons';
|
|
5
5
|
import { IQorusFormField, IQorusFormFieldMessage, IQorusFormFieldOnChangeMeta, IQorusFormOperator, IQorusFormOperatorsSchema, IQorusFormSchema, TQorusFlatForm, TQorusForm, TQorusFormFieldSchema, TQorusFormOperatorValue, TQorusType } from '@qoretechnologies/ts-toolkit';
|
|
@@ -46,7 +46,7 @@ export declare const flattenOptions: (options: TQorusForm) => TQorusFlatForm;
|
|
|
46
46
|
export declare const getTypeAndCanBeNull: (type: TQorusType | TQorusType[], allowed_values?: any[], operatorData?: TOperatorValue, operators?: IOperatorsSchema) => {
|
|
47
47
|
type: TQorusType;
|
|
48
48
|
defaultType: TQorusType;
|
|
49
|
-
defaultInternalType: "string" | "number" | "boolean" | "function" | "
|
|
49
|
+
defaultInternalType: "string" | "number" | "boolean" | "function" | "url" | "data" | "richtext" | "type" | "group" | "list" | "fsm" | "errors" | "step" | "class" | "bool" | "int" | "float" | "hash" | "mapper" | "workflow" | "service" | "job" | "connection" | "constant" | "mapper-code" | "queue" | "pipeline" | "sla" | "value-map" | "qog" | "ai-collection" | "ai-endpoint" | "ai-guardrail" | "binary" | "date" | "email" | "long-string" | "enum" | "integer" | "range" | "free-list" | "rgbcolor" | "free-hash" | "null" | "nothing" | "data-provider" | "context" | "file" | "processor-mappings" | "tool-catalog" | "code-editor";
|
|
50
50
|
canBeNull: boolean;
|
|
51
51
|
};
|
|
52
52
|
/** Display metadata for a read-first group, keyed by the raw `group` string;
|
|
@@ -124,6 +124,18 @@ export interface IFormEngineProps extends Omit<IReqoreCollectionProps, 'onChange
|
|
|
124
124
|
* transparently inside the parent's edit card. Default `false`.
|
|
125
125
|
*/
|
|
126
126
|
compactNested?: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Compact mode only: props forwarded to the read-first form's outer
|
|
129
|
+
* `ReqorePanel` — the panel that carries the sticky toolbar header and holds
|
|
130
|
+
* the status boxes. Spread AFTER the engine's own defaults, so anything set
|
|
131
|
+
* here wins (`flat`, `raised`, `minimal`, `stickyHeader`, `label`, `icon`,
|
|
132
|
+
* `intent`, `padded`, `size`, …). Two props merge instead of replacing, so a
|
|
133
|
+
* consumer can add to the panel without dismantling the form:
|
|
134
|
+
* - `actions` — appended after the engine's toolbar action.
|
|
135
|
+
* - `contentStyle` — merged over the engine's flex-column layout.
|
|
136
|
+
* No-op in classic (non-compact) mode.
|
|
137
|
+
*/
|
|
138
|
+
compactPanelProps?: IReqorePanelProps;
|
|
127
139
|
/** Compact mode only: per-group display metadata (label / icon / subtitle /
|
|
128
140
|
* order) — the server only sends the bare group key. */
|
|
129
141
|
groups?: Record<string, IFormEngineGroup>;
|
|
@@ -177,6 +189,6 @@ export interface IFormEngineProps extends Omit<IReqoreCollectionProps, 'onChange
|
|
|
177
189
|
*/
|
|
178
190
|
autoFocusFirstRequired?: boolean;
|
|
179
191
|
}
|
|
180
|
-
export declare const FormEngine: ({ name, uniqueName, value, onChange, onSingleOptionsChange, onDependableOptionChange, placeholder, noValueString, isValid, url, customUrl, operatorsUrl, onOptionsLoaded, recordRequiresSearchOptions, readOnly, allowTemplates, interfaceContext, templateFieldProps, showTypeToggle, compact, compactFlush, compactNested, commitMode, expandMode, onCommit, operators: operatorsProp, groups, optionsLoader, onValidityChange, optionActions, componentOverrides, inheritedFromParent, autoFocusFirstRequired, ...rest }: IFormEngineProps) => import("react/jsx-runtime").JSX.Element;
|
|
192
|
+
export declare const FormEngine: ({ name, uniqueName, value, onChange, onSingleOptionsChange, onDependableOptionChange, placeholder, noValueString, isValid, url, customUrl, operatorsUrl, onOptionsLoaded, recordRequiresSearchOptions, readOnly, allowTemplates, interfaceContext, templateFieldProps, showTypeToggle, compact, compactFlush, compactNested, compactPanelProps, commitMode, expandMode, onCommit, operators: operatorsProp, groups, optionsLoader, onValidityChange, optionActions, componentOverrides, inheritedFromParent, autoFocusFirstRequired, ...rest }: IFormEngineProps) => import("react/jsx-runtime").JSX.Element;
|
|
181
193
|
export default FormEngine;
|
|
182
194
|
//# sourceMappingURL=FormEngine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormEngine.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/FormEngine.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAE7F,OAAO,EACL,kBAAkB,
|
|
1
|
+
{"version":3,"file":"FormEngine.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/FormEngine.tsx"],"names":[],"mappings":"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"}
|
|
@@ -109,23 +109,23 @@ var reduce_1 = __importDefault(require("lodash/reduce"));
|
|
|
109
109
|
var size_1 = __importDefault(require("lodash/size"));
|
|
110
110
|
var react_2 = __importStar(require("react"));
|
|
111
111
|
var react_use_1 = require("react-use");
|
|
112
|
-
var use_context_selector_1 = require("use-context-selector");
|
|
113
112
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
113
|
+
var use_context_selector_1 = require("use-context-selector");
|
|
114
114
|
var common_1 = require("../../../helpers/common");
|
|
115
115
|
var options_1 = require("../../../helpers/options");
|
|
116
|
-
var fetch_1 = require("../../../utils/fetch");
|
|
117
116
|
var validations_1 = require("../../../helpers/validations");
|
|
118
117
|
var useQorusTypes_1 = require("../../../hooks/useQorusTypes");
|
|
119
118
|
var useTemplates_1 = require("../../../hooks/useTemplates");
|
|
119
|
+
var fetch_1 = require("../../../utils/fetch");
|
|
120
120
|
var Description_1 = require("../../Description");
|
|
121
121
|
var FocusedEditing_1 = require("../../FocusedEditing");
|
|
122
122
|
var Select_1 = require("../fields/select/Select");
|
|
123
123
|
var TemplateField_1 = require("../fields/template/TemplateField");
|
|
124
124
|
var CompactRow_1 = require("./CompactRow");
|
|
125
125
|
var compactRowContext_1 = require("./compactRowContext");
|
|
126
|
+
var compactRowStyles_1 = require("./compactRowStyles");
|
|
126
127
|
var CompactToolbar_1 = require("./CompactToolbar");
|
|
127
128
|
var compactToolbarContext_1 = require("./compactToolbarContext");
|
|
128
|
-
var compactRowStyles_1 = require("./compactRowStyles");
|
|
129
129
|
var OptionFieldMessages_1 = require("./OptionFieldMessages");
|
|
130
130
|
var OptionsHelpDialog_1 = require("./OptionsHelpDialog");
|
|
131
131
|
var readFirst_1 = require("./readFirst");
|
|
@@ -183,10 +183,7 @@ var PositiveColorEffect = {
|
|
|
183
183
|
};
|
|
184
184
|
// Compact (read-first) layout: flat label | value | action rows in collapsible
|
|
185
185
|
// group panels; colours come in as props so the layout follows the Reqore theme.
|
|
186
|
-
var StyledCompactWrap = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n gap: 10px;\n width: 100%;\n /* Allow the wrap to shrink inside flex/grid parents so its rows' ellipsis can\n engage instead of overflowing the container horizontally. */\n min-width: 0;\n max-width: 100%;\n /*
|
|
187
|
-
var $flush = _a.$flush;
|
|
188
|
-
return ($flush ? '0' : '0 12px');
|
|
189
|
-
});
|
|
186
|
+
var StyledCompactWrap = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n gap: 10px;\n width: 100%;\n /* Allow the wrap to shrink inside flex/grid parents so its rows' ellipsis can\n engage instead of overflowing the container horizontally. */\n min-width: 0;\n max-width: 100%;\n /* Own our scroll context instead of borrowing the host's. The sticky toolbar\n pins to whatever scrolls; if that scroller carries top padding (e.g. a\n ReqorePanel/ReqoreContent body), sticky `top: 0` resolves against its\n padding box and leaves an unblurred strip above the toolbar. By scrolling\n here \u2014 an UNPADDED box \u2014 the toolbar always pins flush and content ghosts\n cleanly beneath it, regardless of host padding (mirrors how the IDE\n dashboard keeps its StyledScrollBody scroller unpadded).\n We cap at the host's available height and scroll past it, but do NOT grow\n to fill it \u2014 short forms still hug their content. When the host height is\n indefinite, `max-height: 100%` resolves to none and the box grows so the\n host scrolls as before (graceful fallback). */\n min-height: 0;\n max-height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n\n /* Option logos (e.g. language images) render as <img> inside ReqoreIcon's\n square box; constrain them so portrait PNGs don't overflow the row. */\n .reqore-icon img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n }\n"], ["\n display: flex;\n flex-flow: column;\n gap: 10px;\n width: 100%;\n /* Allow the wrap to shrink inside flex/grid parents so its rows' ellipsis can\n engage instead of overflowing the container horizontally. */\n min-width: 0;\n max-width: 100%;\n /* Own our scroll context instead of borrowing the host's. The sticky toolbar\n pins to whatever scrolls; if that scroller carries top padding (e.g. a\n ReqorePanel/ReqoreContent body), sticky \\`top: 0\\` resolves against its\n padding box and leaves an unblurred strip above the toolbar. By scrolling\n here \u2014 an UNPADDED box \u2014 the toolbar always pins flush and content ghosts\n cleanly beneath it, regardless of host padding (mirrors how the IDE\n dashboard keeps its StyledScrollBody scroller unpadded).\n We cap at the host's available height and scroll past it, but do NOT grow\n to fill it \u2014 short forms still hug their content. When the host height is\n indefinite, \\`max-height: 100%\\` resolves to none and the box grows so the\n host scrolls as before (graceful fallback). */\n min-height: 0;\n max-height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n\n /* Option logos (e.g. language images) render as <img> inside ReqoreIcon's\n square box; constrain them so portrait PNGs don't overflow the row. */\n .reqore-icon img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n }\n"])));
|
|
190
187
|
// Batched-commit dock: a floating Save/Discard card pinned bottom-right. Sticky
|
|
191
188
|
// (not fixed) so it stays within the form's own scroll bounds when the engine
|
|
192
189
|
// renders inside a drawer/panel; align-self pushes it to the right edge, and it
|
|
@@ -335,7 +332,7 @@ var FormEngine = function (_a) {
|
|
|
335
332
|
var _b, _c, _d, _f, _g;
|
|
336
333
|
var name = _a.name, uniqueName = _a.uniqueName, value = _a.value, onChange = _a.onChange, onSingleOptionsChange = _a.onSingleOptionsChange, onDependableOptionChange = _a.onDependableOptionChange, placeholder = _a.placeholder, noValueString = _a.noValueString, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
337
334
|
isValid = _a.isValid, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
338
|
-
url = _a.url, customUrl = _a.customUrl, operatorsUrl = _a.operatorsUrl, onOptionsLoaded = _a.onOptionsLoaded, recordRequiresSearchOptions = _a.recordRequiresSearchOptions, readOnly = _a.readOnly, _h = _a.allowTemplates, allowTemplates = _h === void 0 ? true : _h, interfaceContext = _a.interfaceContext, templateFieldProps = _a.templateFieldProps, _j = _a.showTypeToggle, showTypeToggle = _j === void 0 ? true : _j, compact = _a.compact, _k = _a.compactFlush, compactFlush = _k === void 0 ? false : _k, _l = _a.compactNested, compactNested = _l === void 0 ? false : _l, _m = _a.commitMode, commitMode = _m === void 0 ? 'immediate' : _m, _o = _a.expandMode, expandMode = _o === void 0 ? 'single' : _o, onCommit = _a.onCommit, operatorsProp = _a.operators, groups = _a.groups, optionsLoader = _a.optionsLoader, onValidityChange = _a.onValidityChange, optionActions = _a.optionActions, componentOverrides = _a.componentOverrides, inheritedFromParent = _a.inheritedFromParent, autoFocusFirstRequired = _a.autoFocusFirstRequired, rest = __rest(_a, ["name", "uniqueName", "value", "onChange", "onSingleOptionsChange", "onDependableOptionChange", "placeholder", "noValueString", "isValid", "url", "customUrl", "operatorsUrl", "onOptionsLoaded", "recordRequiresSearchOptions", "readOnly", "allowTemplates", "interfaceContext", "templateFieldProps", "showTypeToggle", "compact", "compactFlush", "compactNested", "commitMode", "expandMode", "onCommit", "operators", "groups", "optionsLoader", "onValidityChange", "optionActions", "componentOverrides", "inheritedFromParent", "autoFocusFirstRequired"]);
|
|
335
|
+
url = _a.url, customUrl = _a.customUrl, operatorsUrl = _a.operatorsUrl, onOptionsLoaded = _a.onOptionsLoaded, recordRequiresSearchOptions = _a.recordRequiresSearchOptions, readOnly = _a.readOnly, _h = _a.allowTemplates, allowTemplates = _h === void 0 ? true : _h, interfaceContext = _a.interfaceContext, templateFieldProps = _a.templateFieldProps, _j = _a.showTypeToggle, showTypeToggle = _j === void 0 ? true : _j, compact = _a.compact, _k = _a.compactFlush, compactFlush = _k === void 0 ? false : _k, _l = _a.compactNested, compactNested = _l === void 0 ? false : _l, compactPanelProps = _a.compactPanelProps, _m = _a.commitMode, commitMode = _m === void 0 ? 'immediate' : _m, _o = _a.expandMode, expandMode = _o === void 0 ? 'single' : _o, onCommit = _a.onCommit, operatorsProp = _a.operators, groups = _a.groups, optionsLoader = _a.optionsLoader, onValidityChange = _a.onValidityChange, optionActions = _a.optionActions, componentOverrides = _a.componentOverrides, inheritedFromParent = _a.inheritedFromParent, autoFocusFirstRequired = _a.autoFocusFirstRequired, rest = __rest(_a, ["name", "uniqueName", "value", "onChange", "onSingleOptionsChange", "onDependableOptionChange", "placeholder", "noValueString", "isValid", "url", "customUrl", "operatorsUrl", "onOptionsLoaded", "recordRequiresSearchOptions", "readOnly", "allowTemplates", "interfaceContext", "templateFieldProps", "showTypeToggle", "compact", "compactFlush", "compactNested", "compactPanelProps", "commitMode", "expandMode", "onCommit", "operators", "groups", "optionsLoader", "onValidityChange", "optionActions", "componentOverrides", "inheritedFromParent", "autoFocusFirstRequired"]);
|
|
339
336
|
var _p = (0, react_2.useState)((rest === null || rest === void 0 ? void 0 : rest.options) || undefined), options = _p[0], setOptions = _p[1];
|
|
340
337
|
// optionsLoader lifecycle: loading feeds the skeleton gate, error the banner.
|
|
341
338
|
var _q = (0, react_2.useState)(!!optionsLoader && !(rest === null || rest === void 0 ? void 0 : rest.options)), optionsLoading = _q[0], setOptionsLoading = _q[1];
|
|
@@ -1228,7 +1225,9 @@ var FormEngine = function (_a) {
|
|
|
1228
1225
|
var operatorParts = (0, exports.fixOperatorValue)(other.op);
|
|
1229
1226
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(function () {
|
|
1230
1227
|
var _a;
|
|
1231
|
-
var schemaMsgs = (suppressSchemaMessages ?
|
|
1228
|
+
var schemaMsgs = (suppressSchemaMessages ?
|
|
1229
|
+
[]
|
|
1230
|
+
: ((_a = options === null || options === void 0 ? void 0 : options[optionName]) === null || _a === void 0 ? void 0 : _a.messages) || []);
|
|
1232
1231
|
if (!schemaMsgs.length)
|
|
1233
1232
|
return null;
|
|
1234
1233
|
var items = schemaMsgs.map(function (_a, index) {
|
|
@@ -1479,7 +1478,10 @@ var FormEngine = function (_a) {
|
|
|
1479
1478
|
handleResetToDefaultFields,
|
|
1480
1479
|
handleRevertChangesClick,
|
|
1481
1480
|
]);
|
|
1482
|
-
|
|
1481
|
+
// The engine's own toolbar action, plus whatever the consumer added through
|
|
1482
|
+
// `compactPanelProps.actions` — appended, so an outside action can never
|
|
1483
|
+
// knock the form's toolbar out of the header.
|
|
1484
|
+
var compactHeaderActions = (0, react_2.useMemo)(function () { return __spreadArray([{ as: CompactToolbar_1.CompactToolbar, responsive: false }], ((compactPanelProps === null || compactPanelProps === void 0 ? void 0 : compactPanelProps.actions) || []), true); }, [compactPanelProps === null || compactPanelProps === void 0 ? void 0 : compactPanelProps.actions]);
|
|
1483
1485
|
var renderCompact = function () {
|
|
1484
1486
|
var headerBg = "".concat((0, colors_1.changeDarkness)((0, colors_1.getMainBackgroundColor)(theme), 0.02)).concat((0, colors_1.percentToHexAlpha)(88));
|
|
1485
1487
|
// Toolbar filters narrow the listed rows; the meter reflects the full set.
|
|
@@ -1662,20 +1664,13 @@ var FormEngine = function (_a) {
|
|
|
1662
1664
|
// nested (arg_schema) sub-form owns no scroll context — drop the
|
|
1663
1665
|
// sticky, the backdrop, and the stacking context so its header is
|
|
1664
1666
|
// transparent inside the parent's card.
|
|
1665
|
-
, { "$headerBg": compactNested ? 'transparent' : headerBg, "$nested": compactNested, flat: true,
|
|
1667
|
+
, __assign({ "$headerBg": compactNested ? 'transparent' : headerBg, "$nested": compactNested, flat: true, raised: true, minimal: true,
|
|
1666
1668
|
// No panel background: the form sits transparently on whatever
|
|
1667
1669
|
// hosts it (page, drawer, or — for an arg_schema field — the
|
|
1668
1670
|
// parent's edit card) instead of stacking its own dark surface.
|
|
1669
1671
|
// The status boxes keep their own tints; the sticky toolbar keeps
|
|
1670
1672
|
// its blurred header via the $headerBg override.
|
|
1671
|
-
|
|
1672
|
-
display: 'flex',
|
|
1673
|
-
flexFlow: 'column',
|
|
1674
|
-
gap: '10px',
|
|
1675
|
-
// Nested sub-form: no surrounding panel padding (it's flush in
|
|
1676
|
-
// the parent card); top-level keeps a small bottom gutter.
|
|
1677
|
-
padding: compactNested ? '0' : '0 0 12px',
|
|
1678
|
-
}, children: [(0, size_1.default)(groupKeys) === 0 ?
|
|
1673
|
+
stickyHeader: !compactNested }, compactPanelProps, { actions: compactHeaderActions, contentStyle: __assign({ display: 'flex', flexFlow: 'column', gap: '10px' }, compactPanelProps === null || compactPanelProps === void 0 ? void 0 : compactPanelProps.contentStyle), children: [(0, size_1.default)(groupKeys) === 0 ?
|
|
1679
1674
|
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreMessage, { flat: true, opaque: false, size: 'small', children: "No fields match the current filters." })
|
|
1680
1675
|
: null, STATUS_BOXES.map(function (box) {
|
|
1681
1676
|
var groupsInBox = bucketGroups[box.key];
|
|
@@ -1712,7 +1707,7 @@ var FormEngine = function (_a) {
|
|
|
1712
1707
|
}, children: groupConfig.subtitle })
|
|
1713
1708
|
: null, renderGroupRows(buckets[box.key][groupName])] }, groupName));
|
|
1714
1709
|
}) }) }, box.key));
|
|
1715
|
-
})] }), commitMode === 'batched' && !readOnly && dirtyOptionNames.length ?
|
|
1710
|
+
})] })), commitMode === 'batched' && !readOnly && dirtyOptionNames.length ?
|
|
1716
1711
|
(0, jsx_runtime_1.jsx)(StyledCommitDock, { "$bg": cBg, "$border": cDivider, children: (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { className: 'options-readfirst-commitbar', verticalAlign: 'center', wrap: true, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { size: 'tiny', minimal: true, flat: true, compact: true, effect: { uppercase: true, spaced: 1 }, intent: 'warning', icon: 'EditLine', label: "".concat(dirtyOptionNames.length, " unsaved change").concat(dirtyOptionNames.length === 1 ? '' : 's') }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { size: 'small', intent: 'success', icon: 'CheckLine', fixed: true, className: 'options-readfirst-save', disabled: !validityData.isValid, tooltip: validityData.isValid ?
|
|
1717
1712
|
'Apply the staged changes'
|
|
1718
1713
|
: 'Resolve the invalid fields before saving', onClick: handleCommitClick, children: "Save" }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { size: 'small', minimal: true, flat: true, fixed: true, icon: 'HistoryLine', className: 'options-readfirst-discard', onClick: handleRevertChangesClick, children: "Discard" })] }) })
|