@qoretechnologies/reqraft 0.10.54 → 0.10.55-pr.115.g37abdfc

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 (370) hide show
  1. package/.claude/CLAUDE.md +25 -0
  2. package/.tasks/INDEX.md +1 -0
  3. package/.tasks/STORY_NETWORK_ISOLATION.md +98 -0
  4. package/README.md +1 -1
  5. package/design/FORM_ENGINE_COMPACT.md +34 -0
  6. package/design/FORM_ENGINE_EXPRESSIONS.md +110 -0
  7. package/design/FORM_ENGINE_FIELD_MIGRATION.md +155 -1
  8. package/design/IDE_INTEGRATION.md +13 -0
  9. package/design/RENDER_EXPRESSION_TRANSPORT.md +76 -10
  10. package/design/SELECT_DIALOG_FLOOR.md +86 -0
  11. package/design/SMART_EDITOR_UX.md +21 -0
  12. package/design/UNAVAILABLE_ALLOWED_VALUES.md +226 -0
  13. package/dist/components/composer/Composer.d.ts +8 -3
  14. package/dist/components/composer/Composer.d.ts.map +1 -1
  15. package/dist/components/composer/Composer.js.map +1 -1
  16. package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
  17. package/dist/components/dpqlEditor/DpqlEditor.js +3 -3
  18. package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
  19. package/dist/components/dpqlEditor/dpqlHelpers.d.ts +6 -0
  20. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  21. package/dist/components/dpqlEditor/dpqlHelpers.js +21 -2
  22. package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
  23. package/dist/components/dpqlEditor/dpqlProbe.d.ts +37 -0
  24. package/dist/components/dpqlEditor/dpqlProbe.d.ts.map +1 -0
  25. package/dist/components/dpqlEditor/dpqlProbe.js +203 -0
  26. package/dist/components/dpqlEditor/dpqlProbe.js.map +1 -0
  27. package/dist/components/dpqlEditor/dpqlTags.d.ts +8 -0
  28. package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
  29. package/dist/components/dpqlEditor/dpqlTags.js +5 -1
  30. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  31. package/dist/components/dpqlEditor/index.d.ts +4 -0
  32. package/dist/components/dpqlEditor/index.d.ts.map +1 -1
  33. package/dist/components/dpqlEditor/index.js +5 -1
  34. package/dist/components/dpqlEditor/index.js.map +1 -1
  35. package/dist/components/dpqlEditor/types.d.ts +42 -2
  36. package/dist/components/dpqlEditor/types.d.ts.map +1 -1
  37. package/dist/components/dpqlEditor/types.js +0 -4
  38. package/dist/components/dpqlEditor/types.js.map +1 -1
  39. package/dist/components/dpqlEditor/useDpqlProbe.d.ts +4 -0
  40. package/dist/components/dpqlEditor/useDpqlProbe.d.ts.map +1 -0
  41. package/dist/components/dpqlEditor/useDpqlProbe.js +29 -0
  42. package/dist/components/dpqlEditor/useDpqlProbe.js.map +1 -0
  43. package/dist/components/dpqlEditor/useDpqlSession.d.ts +5 -2
  44. package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
  45. package/dist/components/dpqlEditor/useDpqlSession.js +8 -2
  46. package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
  47. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  48. package/dist/components/form/engine/CompactRow.js +414 -128
  49. package/dist/components/form/engine/CompactRow.js.map +1 -1
  50. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  51. package/dist/components/form/engine/CompactToolbar.js +5 -2
  52. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  53. package/dist/components/form/engine/FormEngine.d.ts +272 -19
  54. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  55. package/dist/components/form/engine/FormEngine.js +666 -161
  56. package/dist/components/form/engine/FormEngine.js.map +1 -1
  57. package/dist/components/form/engine/FormFieldsSkeleton.d.ts +48 -0
  58. package/dist/components/form/engine/FormFieldsSkeleton.d.ts.map +1 -0
  59. package/dist/components/form/engine/FormFieldsSkeleton.js +41 -0
  60. package/dist/components/form/engine/FormFieldsSkeleton.js.map +1 -0
  61. package/dist/components/form/engine/OptionFieldMessages.d.ts +108 -2
  62. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  63. package/dist/components/form/engine/OptionFieldMessages.js +203 -13
  64. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  65. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  66. package/dist/components/form/engine/_structuredData/SchemaDataView.js +68 -5
  67. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  68. package/dist/components/form/engine/compactRowContext.d.ts +15 -1
  69. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  70. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  71. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  72. package/dist/components/form/engine/compactRowStyles.js +55 -29
  73. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  74. package/dist/components/form/engine/compactToolbarContext.d.ts +1 -0
  75. package/dist/components/form/engine/compactToolbarContext.d.ts.map +1 -1
  76. package/dist/components/form/engine/optionActions.d.ts +37 -1
  77. package/dist/components/form/engine/optionActions.d.ts.map +1 -1
  78. package/dist/components/form/engine/optionActions.js +71 -1
  79. package/dist/components/form/engine/optionActions.js.map +1 -1
  80. package/dist/components/form/engine/optionsContext.d.ts +22 -0
  81. package/dist/components/form/engine/optionsContext.d.ts.map +1 -0
  82. package/dist/components/form/engine/optionsContext.js +20 -0
  83. package/dist/components/form/engine/optionsContext.js.map +1 -0
  84. package/dist/components/form/engine/readFirst.d.ts +42 -1
  85. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  86. package/dist/components/form/engine/readFirst.js +76 -8
  87. package/dist/components/form/engine/readFirst.js.map +1 -1
  88. package/dist/components/form/engine/rendererTypes.d.ts +42 -3
  89. package/dist/components/form/engine/rendererTypes.d.ts.map +1 -1
  90. package/dist/components/form/engine/rendererTypes.js +3 -1
  91. package/dist/components/form/engine/rendererTypes.js.map +1 -1
  92. package/dist/components/form/engine/rowFocus.d.ts +30 -0
  93. package/dist/components/form/engine/rowFocus.d.ts.map +1 -0
  94. package/dist/components/form/engine/rowFocus.js +93 -0
  95. package/dist/components/form/engine/rowFocus.js.map +1 -0
  96. package/dist/components/form/engine/rowMenuContext.d.ts +78 -0
  97. package/dist/components/form/engine/rowMenuContext.d.ts.map +1 -0
  98. package/dist/components/form/engine/rowMenuContext.js +103 -0
  99. package/dist/components/form/engine/rowMenuContext.js.map +1 -0
  100. package/dist/components/form/engine/rowOpenPicker.d.ts +27 -0
  101. package/dist/components/form/engine/rowOpenPicker.d.ts.map +1 -0
  102. package/dist/components/form/engine/rowOpenPicker.js +30 -0
  103. package/dist/components/form/engine/rowOpenPicker.js.map +1 -0
  104. package/dist/components/form/engine/typeChoices.d.ts +42 -0
  105. package/dist/components/form/engine/typeChoices.d.ts.map +1 -0
  106. package/dist/components/form/engine/typeChoices.js +33 -0
  107. package/dist/components/form/engine/typeChoices.js.map +1 -0
  108. package/dist/components/form/expressions/DpqlRendering.d.ts +26 -0
  109. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -0
  110. package/dist/components/form/expressions/DpqlRendering.js +53 -0
  111. package/dist/components/form/expressions/DpqlRendering.js.map +1 -0
  112. package/dist/components/form/expressions/ExpressionField.d.ts +7 -1
  113. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  114. package/dist/components/form/expressions/ExpressionField.js +203 -45
  115. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  116. package/dist/components/form/expressions/argumentPresence.d.ts +84 -0
  117. package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -0
  118. package/dist/components/form/expressions/argumentPresence.js +217 -0
  119. package/dist/components/form/expressions/argumentPresence.js.map +1 -0
  120. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  121. package/dist/components/form/expressions/builder/argumentLabel.js +9 -4
  122. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  123. package/dist/components/form/expressions/builder/index.d.ts +15 -2
  124. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  125. package/dist/components/form/expressions/builder/index.js +21 -65
  126. package/dist/components/form/expressions/builder/index.js.map +1 -1
  127. package/dist/components/form/expressions/builder/renderTemplate.d.ts +4 -1
  128. package/dist/components/form/expressions/builder/renderTemplate.d.ts.map +1 -1
  129. package/dist/components/form/expressions/builder/renderTemplate.js +10 -67
  130. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  131. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  132. package/dist/components/form/expressions/mockExpressions.js +8 -4
  133. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  134. package/dist/components/form/expressions/renderExpressionToText.d.ts +1 -1
  135. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  136. package/dist/components/form/expressions/renderExpressionToText.js +95 -19
  137. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  138. package/dist/components/form/expressions/types.d.ts +7 -0
  139. package/dist/components/form/expressions/types.d.ts.map +1 -1
  140. package/dist/components/form/expressions/useExpressions.d.ts.map +1 -1
  141. package/dist/components/form/expressions/useExpressions.js +5 -2
  142. package/dist/components/form/expressions/useExpressions.js.map +1 -1
  143. package/dist/components/form/expressions/useRenderExpression.d.ts +7 -16
  144. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  145. package/dist/components/form/expressions/useRenderExpression.js +50 -126
  146. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  147. package/dist/components/form/fields/Field.d.ts +18 -0
  148. package/dist/components/form/fields/Field.d.ts.map +1 -1
  149. package/dist/components/form/fields/Field.js +54 -8
  150. package/dist/components/form/fields/Field.js.map +1 -1
  151. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts +11 -1
  152. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  153. package/dist/components/form/fields/allowed-values/AllowedValues.js +52 -8
  154. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  155. package/dist/components/form/fields/auto/AutoFormField.d.ts +7 -1
  156. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  157. package/dist/components/form/fields/auto/AutoFormField.js +91 -28
  158. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  159. package/dist/components/form/fields/date/Date.d.ts +1 -1
  160. package/dist/components/form/fields/date/Date.d.ts.map +1 -1
  161. package/dist/components/form/fields/date/Date.js +16 -2
  162. package/dist/components/form/fields/date/Date.js.map +1 -1
  163. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  164. package/dist/components/form/fields/long-string/LongString.js +14 -2
  165. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  166. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  167. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +50 -4
  168. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  169. package/dist/components/form/fields/rich-text/RichText.d.ts +47 -2
  170. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  171. package/dist/components/form/fields/rich-text/RichText.js +153 -12
  172. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  173. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  174. package/dist/components/form/fields/select/Select.js +120 -20
  175. package/dist/components/form/fields/select/Select.js.map +1 -1
  176. package/dist/components/form/fields/select/SelectCollection.d.ts +166 -9
  177. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  178. package/dist/components/form/fields/select/SelectCollection.js +200 -7
  179. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  180. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +2 -1
  181. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  182. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +3 -2
  183. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  184. package/dist/components/form/fields/template/TemplateField.d.ts +34 -2
  185. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  186. package/dist/components/form/fields/template/TemplateField.js +606 -58
  187. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  188. package/dist/components/form/fields/template/TemplateText.d.ts +36 -0
  189. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -0
  190. package/dist/components/form/fields/template/TemplateText.js +80 -0
  191. package/dist/components/form/fields/template/TemplateText.js.map +1 -0
  192. package/dist/components/form/index.d.ts +2 -0
  193. package/dist/components/form/index.d.ts.map +1 -1
  194. package/dist/components/form/index.js +4 -0
  195. package/dist/components/form/index.js.map +1 -1
  196. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  197. package/dist/components/smartEditor/SmartEditor.js +29 -8
  198. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  199. package/dist/components/smartEditor/useLspSession.d.ts +5 -1
  200. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  201. package/dist/components/smartEditor/useLspSession.js +16 -2
  202. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  203. package/dist/components/supportTicket/TicketReplyBox.d.ts +8 -4
  204. package/dist/components/supportTicket/TicketReplyBox.d.ts.map +1 -1
  205. package/dist/components/supportTicket/TicketReplyBox.js.map +1 -1
  206. package/dist/helpers/common.d.ts.map +1 -1
  207. package/dist/helpers/common.js +7 -3
  208. package/dist/helpers/common.js.map +1 -1
  209. package/dist/helpers/dpqlDetection.d.ts +58 -0
  210. package/dist/helpers/dpqlDetection.d.ts.map +1 -0
  211. package/dist/helpers/dpqlDetection.js +164 -0
  212. package/dist/helpers/dpqlDetection.js.map +1 -0
  213. package/dist/helpers/optionUiTypes.d.ts +31 -3
  214. package/dist/helpers/optionUiTypes.d.ts.map +1 -1
  215. package/dist/helpers/optionUiTypes.js +36 -1
  216. package/dist/helpers/optionUiTypes.js.map +1 -1
  217. package/dist/helpers/options.d.ts +57 -0
  218. package/dist/helpers/options.d.ts.map +1 -1
  219. package/dist/helpers/options.js +97 -1
  220. package/dist/helpers/options.js.map +1 -1
  221. package/dist/helpers/templateItems.d.ts +47 -0
  222. package/dist/helpers/templateItems.d.ts.map +1 -0
  223. package/dist/helpers/templateItems.js +88 -0
  224. package/dist/helpers/templateItems.js.map +1 -0
  225. package/dist/helpers/templateText.d.ts +80 -0
  226. package/dist/helpers/templateText.d.ts.map +1 -0
  227. package/dist/helpers/templateText.js +291 -0
  228. package/dist/helpers/templateText.js.map +1 -0
  229. package/dist/helpers/templates.d.ts +30 -12
  230. package/dist/helpers/templates.d.ts.map +1 -1
  231. package/dist/helpers/templates.js +91 -33
  232. package/dist/helpers/templates.js.map +1 -1
  233. package/dist/helpers/validations.d.ts +17 -8
  234. package/dist/helpers/validations.d.ts.map +1 -1
  235. package/dist/helpers/validations.js +117 -22
  236. package/dist/helpers/validations.js.map +1 -1
  237. package/dist/hooks/useArgSchema.d.ts +2 -1
  238. package/dist/hooks/useArgSchema.d.ts.map +1 -1
  239. package/dist/hooks/useFetch/useFetch.d.ts +3 -1
  240. package/dist/hooks/useFetch/useFetch.d.ts.map +1 -1
  241. package/dist/hooks/useFetch/useFetch.js +47 -9
  242. package/dist/hooks/useFetch/useFetch.js.map +1 -1
  243. package/dist/hooks/useTemplates.d.ts +20 -0
  244. package/dist/hooks/useTemplates.d.ts.map +1 -1
  245. package/dist/hooks/useTemplates.js +34 -2
  246. package/dist/hooks/useTemplates.js.map +1 -1
  247. package/dist/index.d.ts +2 -1
  248. package/dist/index.d.ts.map +1 -1
  249. package/dist/index.js +5 -1
  250. package/dist/index.js.map +1 -1
  251. package/dist/utils/fetch.d.ts +151 -1
  252. package/dist/utils/fetch.d.ts.map +1 -1
  253. package/dist/utils/fetch.js +256 -44
  254. package/dist/utils/fetch.js.map +1 -1
  255. package/dist/utils/lspClient.d.ts +6 -0
  256. package/dist/utils/lspClient.d.ts.map +1 -1
  257. package/dist/utils/lspClient.js +62 -11
  258. package/dist/utils/lspClient.js.map +1 -1
  259. package/dist/utils/websocket.d.ts +6 -0
  260. package/dist/utils/websocket.d.ts.map +1 -1
  261. package/dist/utils/websocket.js +15 -7
  262. package/dist/utils/websocket.js.map +1 -1
  263. package/package.json +8 -4
  264. package/src/components/composer/Composer.tsx +7 -2
  265. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +3 -119
  266. package/src/components/dpqlEditor/DpqlEditor.tsx +5 -2
  267. package/src/components/dpqlEditor/dpqlHelpers.ts +20 -1
  268. package/src/components/dpqlEditor/dpqlProbe.ts +165 -0
  269. package/src/components/dpqlEditor/dpqlTags.ts +13 -0
  270. package/src/components/dpqlEditor/index.ts +4 -0
  271. package/src/components/dpqlEditor/types.ts +38 -2
  272. package/src/components/dpqlEditor/useDpqlProbe.ts +33 -0
  273. package/src/components/dpqlEditor/useDpqlSession.ts +20 -4
  274. package/src/components/form/engine/CompactRow.tsx +487 -160
  275. package/src/components/form/engine/CompactToolbar.tsx +10 -3
  276. package/src/components/form/engine/FormEngine.stories.tsx +1294 -161
  277. package/src/components/form/engine/FormEngine.tsx +916 -213
  278. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +331 -0
  279. package/src/components/form/engine/FormFieldsSkeleton.tsx +77 -0
  280. package/src/components/form/engine/OptionFieldMessages.tsx +300 -14
  281. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +94 -3
  282. package/src/components/form/engine/compactRowContext.ts +15 -6
  283. package/src/components/form/engine/compactRowStyles.ts +56 -2
  284. package/src/components/form/engine/compactToolbarContext.ts +1 -1
  285. package/src/components/form/engine/optionActions.ts +89 -1
  286. package/src/components/form/engine/optionsContext.ts +24 -0
  287. package/src/components/form/engine/readFirst.ts +88 -8
  288. package/src/components/form/engine/rendererTypes.ts +48 -4
  289. package/src/components/form/engine/rowFocus.ts +101 -0
  290. package/src/components/form/engine/rowMenuContext.ts +159 -0
  291. package/src/components/form/engine/rowOpenPicker.ts +27 -0
  292. package/src/components/form/engine/typeChoices.ts +63 -0
  293. package/src/components/form/expressions/DpqlRendering.tsx +85 -0
  294. package/src/components/form/expressions/ExpressionField.stories.tsx +826 -48
  295. package/src/components/form/expressions/ExpressionField.tsx +269 -55
  296. package/src/components/form/expressions/argumentPresence.ts +213 -0
  297. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +38 -21
  298. package/src/components/form/expressions/builder/argumentLabel.tsx +10 -4
  299. package/src/components/form/expressions/builder/index.tsx +39 -81
  300. package/src/components/form/expressions/builder/renderTemplate.tsx +23 -56
  301. package/src/components/form/expressions/dpqlMockLanguage.ts +565 -0
  302. package/src/components/form/expressions/dpqlMockLsp.ts +109 -83
  303. package/src/components/form/expressions/mockExpressions.ts +8 -4
  304. package/src/components/form/expressions/renderExpressionToText.ts +112 -22
  305. package/src/components/form/expressions/types.ts +7 -0
  306. package/src/components/form/expressions/useExpressions.ts +5 -1
  307. package/src/components/form/expressions/useRenderExpression.ts +43 -127
  308. package/src/components/form/fields/Field.tsx +99 -20
  309. package/src/components/form/fields/allowed-values/AllowedValues.tsx +106 -44
  310. package/src/components/form/fields/auto/AutoFormField.stories.tsx +85 -18
  311. package/src/components/form/fields/auto/AutoFormField.tsx +97 -21
  312. package/src/components/form/fields/date/Date.tsx +17 -1
  313. package/src/components/form/fields/long-string/LongString.tsx +15 -3
  314. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +65 -6
  315. package/src/components/form/fields/rich-text/RichText.tsx +248 -30
  316. package/src/components/form/fields/select/Select.stories.tsx +392 -0
  317. package/src/components/form/fields/select/Select.tsx +164 -27
  318. package/src/components/form/fields/select/SelectCollection.tsx +350 -6
  319. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +4 -2
  320. package/src/components/form/fields/template/TemplateField.stories.tsx +93 -14
  321. package/src/components/form/fields/template/TemplateField.tsx +825 -131
  322. package/src/components/form/fields/template/TemplateText.tsx +115 -0
  323. package/src/components/form/index.tsx +4 -0
  324. package/src/components/log/Log.stories.tsx +2 -1
  325. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +3 -3
  326. package/src/components/smartEditor/SmartEditor.tsx +41 -9
  327. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +52 -3
  328. package/src/components/smartEditor/useLspSession.ts +21 -3
  329. package/src/components/supportTicket/TicketReplyBox.tsx +8 -4
  330. package/src/components/ticketThread/TicketThread.stories.tsx +1 -0
  331. package/src/helpers/common.ts +7 -3
  332. package/src/helpers/dpqlDetection.ts +209 -0
  333. package/src/helpers/optionUiTypes.ts +38 -0
  334. package/src/helpers/options.ts +96 -0
  335. package/src/helpers/templateItems.ts +81 -0
  336. package/src/helpers/templateText.ts +350 -0
  337. package/src/helpers/templates.ts +94 -41
  338. package/src/helpers/validations.ts +138 -39
  339. package/src/hooks/useFetch/useFetch.stories.tsx +6 -5
  340. package/src/hooks/useFetch/useFetch.tsx +53 -7
  341. package/src/hooks/useStorage/useStorage.stories.tsx +2 -1
  342. package/src/hooks/useTemplates.ts +41 -0
  343. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +2 -1
  344. package/src/index.tsx +14 -1
  345. package/src/stores/currentUser/currentUser.stories.tsx +2 -1
  346. package/src/stories/storyNetwork.ts +92 -0
  347. package/src/utils/fetch.ts +311 -21
  348. package/src/utils/lspClient.ts +68 -11
  349. package/src/utils/websocket.ts +20 -9
  350. package/dist/components/form/engine/__fixtures__/basicFormOptions.d.ts +0 -73
  351. package/dist/components/form/engine/__fixtures__/basicFormOptions.d.ts.map +0 -1
  352. package/dist/components/form/engine/__fixtures__/basicFormOptions.js +0 -317
  353. package/dist/components/form/engine/__fixtures__/basicFormOptions.js.map +0 -1
  354. package/dist/components/form/engine/__fixtures__/fieldChromeOptions.d.ts +0 -41
  355. package/dist/components/form/engine/__fixtures__/fieldChromeOptions.d.ts.map +0 -1
  356. package/dist/components/form/engine/__fixtures__/fieldChromeOptions.js +0 -45
  357. package/dist/components/form/engine/__fixtures__/fieldChromeOptions.js.map +0 -1
  358. package/dist/components/form/expressions/dpqlMockLsp.d.ts +0 -3
  359. package/dist/components/form/expressions/dpqlMockLsp.d.ts.map +0 -1
  360. package/dist/components/form/expressions/dpqlMockLsp.js +0 -91
  361. package/dist/components/form/expressions/dpqlMockLsp.js.map +0 -1
  362. package/dist/components/form/fields/template/__fixtures__/longExampleValue.d.ts +0 -2
  363. package/dist/components/form/fields/template/__fixtures__/longExampleValue.d.ts.map +0 -1
  364. package/dist/components/form/fields/template/__fixtures__/longExampleValue.js +0 -9
  365. package/dist/components/form/fields/template/__fixtures__/longExampleValue.js.map +0 -1
  366. package/dist/components/smartEditor/__fixtures__/mockLspServer.d.ts +0 -55
  367. package/dist/components/smartEditor/__fixtures__/mockLspServer.d.ts.map +0 -1
  368. package/dist/components/smartEditor/__fixtures__/mockLspServer.js +0 -126
  369. package/dist/components/smartEditor/__fixtures__/mockLspServer.js.map +0 -1
  370. package/dist/stories/Data/fileFieldArgSchema.json +0 -86
@@ -37,8 +37,24 @@ export type TOperatorValue = TQorusFormOperatorValue;
37
37
  */
38
38
  export interface IOptionFieldMessage extends IQorusFormFieldMessage, Pick<IConditionalFieldMessage, 'when' | 'unless'> {
39
39
  }
40
- export type IOptionsSchemaArg = TQorusFormFieldSchema;
41
- export interface IOptionsSchema extends IQorusFormSchema {
40
+ /** `T` without `K`, member by member — `Omit` on a union collapses the union. */
41
+ type TDistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
42
+ /**
43
+ * One field of a form's schema: the shared descriptor, plus what this engine
44
+ * reads that the shared type does not carry — conditional `messages`, and
45
+ * `absorb_fields`. Declared, so a descriptor using them is checked rather than
46
+ * cast; still assignable wherever the shared descriptor is expected.
47
+ */
48
+ export type IOptionsSchemaArg = TDistributiveOmit<TQorusFormFieldSchema, 'messages'> & {
49
+ messages?: IOptionFieldMessage[];
50
+ /**
51
+ * Siblings this field renders inside its own editor instead of on rows of
52
+ * their own — a code editor and its language, say.
53
+ */
54
+ absorb_fields?: string[];
55
+ };
56
+ export interface IOptionsSchema {
57
+ [optionName: string]: IOptionsSchemaArg;
42
58
  }
43
59
  export interface IOperator extends IQorusFormOperator {
44
60
  }
@@ -59,6 +75,34 @@ export interface IFormValidityData {
59
75
  fields: IFormFieldValidityData[];
60
76
  invalidFields: IFormFieldValidityData[];
61
77
  }
78
+ /**
79
+ * The inheritance bag ONE field forwards to any `arg_schema` sub-form it hosts:
80
+ * whatever the ancestor chain passed down, plus whatever this field's own
81
+ * `inherit_props` resolves to.
82
+ *
83
+ * Written as a function with a stable answer because it is a PROP, and a prop
84
+ * that is a new object on every render re-renders the field that receives it
85
+ * every time this form renders — for most fields, forever, over a value that
86
+ * never changed. It showed up in the console as `Template field kind Updated
87
+ * because: {inheritedFromParent}` repeating on a form nobody was touching:
88
+ * `kind` declares no `inherit_props` at all, so the bag it was handed was
89
+ * `{ ...(undefined ?? {}) }` — a fresh empty object each time, unequal to the
90
+ * last one, and `TemplateField` is memoised precisely so it does not re-render
91
+ * on a prop that did not change.
92
+ *
93
+ * So a field with nothing of its own to add forwards the bag it was HANDED,
94
+ * unchanged and unwrapped, and a form with no inherited scope at all forwards
95
+ * one shared frozen object rather than minting one per field per render.
96
+ *
97
+ * Mirrored in qorus-ide's `systemOptions.tsx` (which grew this treatment
98
+ * first); per the CLAUDE.md rule there, the forwarding logic is kept identical
99
+ * in both until FormEngine replaces that renderer.
100
+ *
101
+ * @param inheritProps the field's `inherit_props` map, if it declares one
102
+ * @param availableOptions this form's fields, where a sibling's value is read
103
+ * @param inheritedFromParent the bag threaded in from an outer form
104
+ */
105
+ export declare const inheritedScopeFor: (inheritProps: Record<string, string> | undefined, availableOptions: TQorusForm | undefined, inheritedFromParent: Record<string, unknown> | undefined) => Record<string, unknown>;
62
106
  export declare const getType: (type?: TQorusType | TQorusType[], operators?: IOperatorsSchema, operator?: TOperatorValue) => TQorusType;
63
107
  /** Re-exported from `helpers/common` so existing importers keep working; it
64
108
  * lives there because `helpers/validations` needs it and cannot import this
@@ -70,17 +114,83 @@ export { fixOperatorValue } from '../../../helpers/common';
70
114
  * consumer's injected editors are recognised too. See `./rendererTypes`.
71
115
  */
72
116
  type TRendererOnlyCheck = (type?: TQorusType | TQorusType[]) => boolean;
117
+ /**
118
+ * Which type an option resolves to — the schema's, or the one stored on the
119
+ * value.
120
+ *
121
+ * Exported because this single decision is what every option field is rendered
122
+ * with, and what an expression's return type is checked against. It deserves
123
+ * to be assertable without standing up a form.
124
+ */
125
+ export declare const getOptionFieldStorageType: (optionName: string, fieldType: TQorusType | TQorusType[] | undefined, schema?: IQorusFormSchema, operators?: IOperatorsSchema, operatorData?: TOperatorValue, isRendererOnly?: TRendererOnlyCheck, isExpression?: boolean) => TQorusType;
73
126
  export declare const hasRequiredOptions: (options?: IQorusFormSchema) => boolean;
74
- export declare const OptionsContext: import("use-context-selector").Context<{
75
- schema?: IQorusFormSchema;
76
- value?: TQorusForm;
77
- }>;
127
+ export { OptionsContext } from './optionsContext';
128
+ export type { IOptionsContext } from './optionsContext';
78
129
  export declare const fixOptions: (value?: TQorusForm | TQorusFlatForm, options?: IQorusFormSchema, operators?: IOperatorsSchema, isRendererOnly?: TRendererOnlyCheck) => TQorusForm;
130
+ /**
131
+ * Does this rebuild say anything the parent does not already hold?
132
+ *
133
+ * `false` means the rebuild is a MIRROR: `fixOptions` found no default to
134
+ * materialise, so the result repeats the `value` the parent handed down. The
135
+ * compare is empty-normalized because `fixOptions` round-trips a required-empty
136
+ * field between `{ value: '' }` and no `value` key, and that cosmetic
137
+ * difference would otherwise read as new information forever.
138
+ */
139
+ export declare const isMirrorOfValue: (fixedValue: TQorusForm | TQorusFlatForm | undefined, value: TQorusForm | TQorusFlatForm | undefined) => boolean;
140
+ /**
141
+ * What this rebuild lets the form agree with the parent on, if anything.
142
+ *
143
+ * Returns the rebuild when it mirrors `value`, and `undefined` when it
144
+ * contributed something the parent has yet to learn.
145
+ *
146
+ * Adopting the parent's value IS agreement, and saying so matters as much as
147
+ * staying quiet about it. The sync-down skips only when the parent echoed what
148
+ * this form last sent; if adopting a value never updates that record, it points
149
+ * at an older state forever, the skip can never fire again, and the form
150
+ * rebuilds on every single change. Holding the mirror back WITHOUT recording
151
+ * the agreement was measured making the starvation worse, not better — 8 s
152
+ * became a 45 s timeout — which is why the two belong together.
153
+ */
154
+ export declare const agreementFromRebuild: (fixedValue: TQorusForm | TQorusFlatForm | undefined, value: TQorusForm | TQorusFlatForm | undefined) => TQorusForm | TQorusFlatForm | undefined;
155
+ /** The state the emit decision is made against. */
156
+ export interface IEmitDecision {
157
+ /** The form's own copy of the value, as it stands now. */
158
+ localValue: TQorusForm | TQorusFlatForm | undefined;
159
+ /** The `value` prop, read at the moment the decision is made. */
160
+ value: TQorusForm | TQorusFlatForm | undefined;
161
+ /**
162
+ * The last rebuild that mirrored `value` without adding anything, if the most
163
+ * recent one did. `undefined` when the last rebuild contributed something.
164
+ */
165
+ mirroredValue: TQorusForm | TQorusFlatForm | undefined;
166
+ }
167
+ /**
168
+ * Should the form report `localValue` to its parent as an answer?
169
+ *
170
+ * Extracted and pure because the situation it exists for cannot be reproduced
171
+ * through a rendered form: it needs the emit to be decided against a `value`
172
+ * NEWER than the `localValue` built from it, which only happens when two
173
+ * components' effects land in one React commit — and a test renderer flushes
174
+ * effects between updates, so the two never fall out of step. The states below
175
+ * were recorded from a live instrumented run instead, and this is what makes
176
+ * them assertable.
177
+ *
178
+ * Two ways the answer is no:
179
+ *
180
+ * 1. `localValue` is a mirror — a rebuild of the parent's own value that added
181
+ * nothing. Repeating it back is not an answer. **Checked first**, because
182
+ * the comparison in (2) reads whatever `value` has become by now, which,
183
+ * when a nested engine shares the parent value, is already that engine's
184
+ * newer write; comparing against it would find a difference this form never
185
+ * made and emit the older mirror over the newer write. That is the loop.
186
+ * 2. `localValue` already equals `value` — there is nothing to report.
187
+ */
188
+ export declare const shouldEmitLocalValue: ({ localValue, value, mirroredValue, }: IEmitDecision) => boolean;
79
189
  export declare const flattenOptions: (options: TQorusForm) => TQorusFlatForm;
80
190
  export declare const getTypeAndCanBeNull: (type?: TQorusType | TQorusType[], allowed_values?: any[], operatorData?: TOperatorValue, operators?: IOperatorsSchema) => {
81
191
  type: TQorusType;
82
192
  defaultType: TQorusType;
83
- defaultInternalType: "string" | "number" | "boolean" | "function" | "type" | "file" | "data" | "date" | "email" | "range" | "url" | "group" | "list" | "step" | "richtext" | "fsm" | "errors" | "class" | "code-editor" | "processor-mappings" | "tool-catalog" | "mapper" | "workflow" | "service" | "job" | "connection" | "constant" | "mapper-code" | "queue" | "pipeline" | "sla" | "value-map" | "qog" | "ai-collection" | "ai-endpoint" | "ai-guardrail" | "binary" | "long-string" | "enum" | "int" | "integer" | "float" | "free-list" | "hash" | "rgbcolor" | "free-hash" | "null" | "nothing" | "bool" | "data-provider" | "context";
193
+ defaultInternalType: "string" | "number" | "boolean" | "function" | "type" | "file" | "data" | "date" | "email" | "range" | "url" | "group" | "list" | "step" | "richtext" | "mapper" | "workflow" | "service" | "job" | "connection" | "constant" | "class" | "errors" | "fsm" | "mapper-code" | "queue" | "pipeline" | "sla" | "value-map" | "qog" | "ai-collection" | "ai-endpoint" | "ai-guardrail" | "binary" | "long-string" | "enum" | "int" | "integer" | "float" | "free-list" | "hash" | "rgbcolor" | "free-hash" | "null" | "nothing" | "bool" | "data-provider" | "context" | "processor-mappings" | "tool-catalog" | "code-editor";
84
194
  canBeNull: boolean;
85
195
  };
86
196
  /** Display metadata for a read-first group, keyed by the raw `group` string;
@@ -95,7 +205,7 @@ export interface IFormEngineProps extends Omit<IReqoreCollectionProps, 'onChange
95
205
  name: string;
96
206
  uniqueName?: string;
97
207
  value?: TQorusForm | TQorusFlatForm;
98
- options?: IQorusFormSchema;
208
+ options?: IOptionsSchema;
99
209
  onChange?: (name: string, value?: TQorusForm, meta?: IOptionsOnChangeMeta) => void;
100
210
  /**
101
211
  * `'immediate'` (default): edits flow out via the debounced `onChange`.
@@ -132,7 +242,28 @@ export interface IFormEngineProps extends Omit<IReqoreCollectionProps, 'onChange
132
242
  onOptionsLoaded?: (options: IQorusFormSchema) => void;
133
243
  recordRequiresSearchOptions?: boolean;
134
244
  readOnly?: boolean;
245
+ /**
246
+ * What a click on a READ-ONLY row does, when there is somewhere to send it.
247
+ *
248
+ * A read-only row opens nothing by default — it shows everything it has and
249
+ * answers a click with silence, which is right when the form is the only
250
+ * place the value exists. Where the same field IS editable somewhere else,
251
+ * that silence is a dead end: the reader clicking a value they want to
252
+ * change has said exactly what they want.
253
+ *
254
+ * Given this, each row becomes the way in to that place and announces it —
255
+ * it takes a button's role, keyboard handling and cursor. Omit it and
256
+ * nothing changes.
257
+ */
258
+ onReadOnlyActivate?: (optionName: string) => void;
135
259
  allowTemplates?: boolean;
260
+ /**
261
+ * The form's SHARED template vocabulary — config items, system properties —
262
+ * offered to every field that supports templates.
263
+ *
264
+ * A field may also declare `templates` of its own in the schema, and that
265
+ * narrower list wins for that field: see {@link TFieldWithOwnTemplates}.
266
+ */
136
267
  stringTemplates?: IReqoreFormTemplates;
137
268
  /** Opt-in: fetch global templates from `system/getContextData` for this context. */
138
269
  interfaceContext?: string;
@@ -207,13 +338,78 @@ export interface IFormEngineProps extends Omit<IReqoreCollectionProps, 'onChange
207
338
  * the reader is choosing WHICH to open rather than reading this one, e.g. a
208
339
  * template's per-action option forms stacked in a drawer.
209
340
  *
210
- * Two escapes override this and are not negotiable: a box always opens while
211
- * a search query is running (`ReqorePanel` unmounts collapsed content, so a
212
- * match inside a closed box would be unreachable), and the Optional box stays
213
- * open when every row is optional, because collapsing it would render a card
214
- * that looks empty and broken.
341
+ * One escape is not negotiable: a box always opens while a search query is
342
+ * running (`ReqorePanel` unmounts collapsed content, so a match inside a
343
+ * closed box would be unreachable).
344
+ *
345
+ * A second applies only by DEFAULT: the Optional box stays open when every
346
+ * row is optional, because a form that collapsed its only box would render a
347
+ * card that looks empty and broken. Passing this prop explicitly waives it —
348
+ * a host that supplies its own heading and explanation around the form (a
349
+ * run-options panel, say) has already told the reader what the card is, and
350
+ * asked for the settings to start folded away.
215
351
  */
216
352
  compactCollapsedGroups?: TFormEngineBoxKey[];
353
+ /**
354
+ * Compact mode only: rename the status boxes.
355
+ *
356
+ * The three are `Needs attention`, `Set` and `Optional`, which read correctly
357
+ * when the form is the page's subject. Inside a host that already named the
358
+ * subject — a panel headed "Change a setting for this run" — a bare
359
+ * `Optional` names a category rather than the things in it, and
360
+ * `Optional settings` is what the reader is looking at. Only the labels
361
+ * change; bucketing, icons and intents are untouched.
362
+ */
363
+ compactBoxLabels?: Partial<Record<TFormEngineBoxKey, string>>;
364
+ /**
365
+ * Compact mode only: the three status-box headers stay pinned to the top of
366
+ * whatever scrolls while their own box is in view. Default `true`.
367
+ *
368
+ * A box header is the only thing that says which bucket a row is in — `Set`,
369
+ * `Needs attention`, `Optional`. On a form long enough to scroll it leaves
370
+ * the screen, and every row below it then reads as an undifferentiated list:
371
+ * the reader deep inside `Optional` has no way to tell it from `Set` except
372
+ * by scrolling back. Pinning the header is what keeps the answer on screen.
373
+ *
374
+ * ALL THREE behave identically, deliberately. They are one control rendered
375
+ * three times, differing only in label, tint and icon; a reader who has
376
+ * scrolled into the Optional box needs to know that exactly as much as one
377
+ * who has scrolled into Set, and a rule that pinned only some of them would
378
+ * make the absence of a pinned header mean two different things (this box has
379
+ * no header vs. you are above every box).
380
+ *
381
+ * A header can never outlive its own box: `position: sticky` is bounded by
382
+ * its containing block, so each header unpins as its box scrolls away and at
383
+ * most ONE box header is ever pinned at a time. The pin costs one header's
384
+ * height, not three.
385
+ *
386
+ * Off by construction for a nested (`arg_schema`) sub-form — it sits inside
387
+ * the parent form's card and owns no scroll context to pin against.
388
+ *
389
+ * On a NARROW form this also takes the pin off the form's own toolbar, so the
390
+ * two never cost a third of a phone's screen between them — see the note at
391
+ * the panel's `stickyHeader`.
392
+ *
393
+ * Turn it off where the form is one item in a scrolling LIST of forms: there
394
+ * the reader is choosing which form to read, and a box header pinned from the
395
+ * item they have scrolled past is chrome belonging to something they have
396
+ * left.
397
+ */
398
+ compactStickyBoxHeaders?: boolean;
399
+ /**
400
+ * Compact mode only: how many pixels of the HOST's own sticky chrome sit
401
+ * above this form, inside the same scroll container.
402
+ *
403
+ * Sticky offsets do not compose by themselves — every pinned thing resolves
404
+ * `top` against the same scrollport, so two of them with the same offset land
405
+ * on top of each other. A host that pins a bar of its own (a page header
406
+ * carrying a name and a Run control, say) measures it and passes the height
407
+ * here; the form then pins its toolbar below that bar, and its box headers
408
+ * below the toolbar, instead of underneath both.
409
+ *
410
+ * Default `0` — the form is the topmost pinned thing in its scroller.
411
+ */
412
+ compactStickyOffset?: number;
217
413
  /**
218
414
  * Compact mode only: which parts of the form's toolbar to show. `true`
219
415
  * (default) shows all of it; `false` hides the whole thing.
@@ -261,6 +457,36 @@ export interface IFormEngineProps extends Omit<IReqoreCollectionProps, 'onChange
261
457
  * a consumer injecting many actions can never blow out the row.
262
458
  */
263
459
  optionActionsCollapse?: 'auto' | 'always' | 'never';
460
+ /**
461
+ * The HOST is still loading something this form needs.
462
+ *
463
+ * Declared because it was already read (`rest.skeleton`) and honoured by the
464
+ * loading gate, but undeclared props are invisible to the people who need
465
+ * them — and the reason to reach for this is not obvious.
466
+ *
467
+ * A host that resolves anything before it can render a form — an option list
468
+ * fetched by `get_message`, a schema id resolved over the wire — has a wait of
469
+ * its own that ends just as this component's begins. Drawing its own
470
+ * placeholder for that first half and then handing over produces TWO
471
+ * placeholders in series for one load, from two different components: the DOM
472
+ * node is replaced, the geometry can differ, and the page relayouts in the
473
+ * middle of waiting. Measured on the Qorus alert rule, whose three sections
474
+ * each did this — six placeholder mounts where three would do.
475
+ *
476
+ * Passing the host's own wait in here instead makes ONE component own the
477
+ * whole wait, from the host's first fetch to this form's last, with one
478
+ * placeholder and one DOM node.
479
+ */
480
+ skeleton?: boolean;
481
+ /**
482
+ * What the HOST is waiting for, when it hands its wait down via `skeleton`.
483
+ *
484
+ * Without it every host wait reads as the same word and the reading stops at
485
+ * the package boundary — measured on the live alert rule, three sections all
486
+ * reported `host` and the next step was guessing which of the host's own five
487
+ * conditions had fired. Surfaced as `data-wait` on the placeholder.
488
+ */
489
+ skeletonReason?: string;
264
490
  /**
265
491
  * SEAM (reqraft): consumer-injected field editors for types reqraft doesn't
266
492
  * ship (IDE domain fields). Keyed by field `type`/`ui_type`; forwarded through
@@ -297,6 +523,28 @@ export interface IFormEngineProps extends Omit<IReqoreCollectionProps, 'onChange
297
523
  * consumer's new editor no longer needs a reqraft release to be handled.
298
524
  */
299
525
  rendererOnlyUiTypes?: string[];
526
+ /**
527
+ * The `ui_type` names whose own editor renders templates as chips INLINE.
528
+ *
529
+ * For these the template selector is suppressed and the field's editor is
530
+ * shown instead — the selector would replace a control the author can type in
531
+ * with one they can only pick from. Merged with reqraft's built-in list
532
+ * (`richtext`), the same way `rendererOnlyUiTypes` is.
533
+ */
534
+ templateAwareUiTypes?: string[];
535
+ /**
536
+ * Extra `ui_type` names that mean "a value of any type", for the purpose of
537
+ * offering the per-type choices in the row's menu.
538
+ *
539
+ * A field that pins no concrete type offers "enter a value of type X" for
540
+ * each type the form knows. That was gated on the schema saying
541
+ * `ui_type: 'any'` alone, which misses two cases: an option that declares its
542
+ * untypedness as `type: 'auto'` and carries no `ui_type` at all (the server
543
+ * spells an assertion's Expected Value exactly that way), and an option whose
544
+ * `ui_type` is a HOST's own untyped editor. Merged with reqraft's built-ins
545
+ * (`any`, `auto`), the same way `templateAwareUiTypes` is.
546
+ */
547
+ anyLikeUiTypes?: string[];
300
548
  /**
301
549
  * Bag of values forwarded from an outer FormEngine scope, used as a
302
550
  * fallback when a field's `inherit_props` names a sibling that isn't in
@@ -354,12 +602,17 @@ export interface IFormEngineProps extends Omit<IReqoreCollectionProps, 'onChange
354
602
  * for the pane to exist at all — so a pasted or reloaded link lands on a
355
603
  * collapsed form.
356
604
  *
357
- * Applied once, on the first render where the schema has rows, so an
358
- * async-loaded schema is covered. It never re-expands a row the user has
359
- * since collapsed, and it does not participate in `expandMode: 'single'`
360
- * accordion collapsing — the caller is naming a starting point, not
361
- * driving the state. Only a remount re-arms it. No-op in classic
362
- * (non-compact) mode.
605
+ * Applied once, on the first render that actually CONTAINS one of the named
606
+ * rows — not merely the first render with any rows — so a schema arriving in
607
+ * pieces still gets its address applied rather than spending the one shot on
608
+ * a form the field had not reached yet.
609
+ *
610
+ * It never re-expands a row the user has since collapsed, and it does not
611
+ * participate in `expandMode: 'single'` accordion collapsing — the caller is
612
+ * naming a starting point, not driving the state. That holds against the
613
+ * engine's own openers too: `expandFirstRequired` / `autoFocusFirstRequired`
614
+ * open their target ALONGSIDE these rows in single mode instead of replacing
615
+ * them. Only a remount re-arms it. No-op in classic (non-compact) mode.
363
616
  */
364
617
  initialExpandedOptions?: string[];
365
618
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FormEngine.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/FormEngine.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormEngine.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/FormEngine.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAE7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AASzF,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,EACX,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAA0C,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMzF,OAAO,KAA6E,MAAM,OAAO,CAAC;AAalG,OAAO,EACL,iBAAiB,EAKlB,MAAM,8BAA8B,CAAC;AAOtC,OAAO,EACL,mBAAmB,EAIpB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAyC,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAqBlG,OAAO,EACL,wBAAwB,EAIzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,iBAAiB,EAClB,MAAM,2CAA2C,CAAC;AAmBnD,6CAA6C;AAC7C,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,KAAK,GAAG,UAAU,CAAC;AAEjE,2EAA2E;AAC3E,MAAM,WAAW,uBAAuB;IACtC,yDAAyD;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kCAAkC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC;AAClC,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC;AAC1C,MAAM,MAAM,OAAO,GAAG,eAAe,CAAC;AACtC,MAAM,MAAM,cAAc,GAAG,uBAAuB,CAAC;AACrD;;;;;;;GAOG;AACH,MAAM,WAAW,mBACf,SAAQ,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,GAAG,QAAQ,CAAC;CAAG;AACtF,iFAAiF;AACjF,KAAK,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AAC1F;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,qBAAqB,EAAE,UAAU,CAAC,GAAG;IACrF,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AACF,MAAM,WAAW,cAAc;IAC7B,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAAC;CACzC;AACD,MAAM,WAAW,SAAU,SAAQ,kBAAkB;CAAG;AACxD,MAAM,WAAW,gBAAiB,SAAQ,yBAAyB;CAAG;AACtE,MAAM,WAAW,oBAAqB,SAAQ,2BAA2B;IACvE,oFAAoF;IACpF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,aAAa,EAAE,sBAAsB,EAAE,CAAC;CACzC;AA8CD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,iBAAiB,iBACd,OAAO,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,oBAC9B,UAAU,GAAG,SAAS,uBACnB,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KACvD,OAAO,MAAM,EAAE,OAAO,CAMxB,CAAC;AAoGF,eAAO,MAAM,OAAO,UACX,UAAU,GAAG,UAAU,EAAE,cACpB,gBAAgB,aACjB,cAAc,KACxB,UAOF,CAAC;AAYF;;mDAEmD;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;;;GAIG;AACH,KAAK,kBAAkB,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,KAAK,OAAO,CAAC;AAyBxE;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,eACxB,MAAM,aACP,UAAU,GAAG,UAAU,EAAE,GAAG,SAAS,WACvC,gBAAgB,cACb,gBAAgB,iBACb,cAAc,mBACb,kBAAkB,iBAEnB,OAAO,KACrB,UAyBF,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAa,gBAAgB,YAE3D,CAAC;AAIF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,eAAO,MAAM,UAAU,WACd,UAAU,GAAG,cAAc,YACxB,gBAAgB,cACd,gBAAgB,mBACZ,kBAAkB,KACjC,UAmJF,CAAC;AAwBF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,eACd,UAAU,GAAG,cAAc,GAAG,SAAS,SAC5C,UAAU,GAAG,cAAc,GAAG,SAAS,KAC7C,OAA2F,CAAC;AAE/F;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,eACnB,UAAU,GAAG,cAAc,GAAG,SAAS,SAC5C,UAAU,GAAG,cAAc,GAAG,SAAS,KAC7C,UAAU,GAAG,cAAc,GAAG,SAC4B,CAAC;AAE9D,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,UAAU,EAAE,UAAU,GAAG,cAAc,GAAG,SAAS,CAAC;IACpD,iEAAiE;IACjE,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,SAAS,CAAC;IAC/C;;;OAGG;IACH,aAAa,EAAE,UAAU,GAAG,cAAc,GAAG,SAAS,CAAC;CACxD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,oBAAoB,0CAI9B,aAAa,KAAG,OAKlB,CAAC;AAEF,eAAO,MAAM,cAAc,YAAa,UAAU,KAAG,cAWpD,CAAC;AAEF,eAAO,MAAM,mBAAmB,UACvB,UAAU,GAAG,UAAU,EAAE,mBACf,GAAG,EAAE,iBACP,cAAc,cACjB,gBAAgB;;;;;CAqB7B,CAAC;AAEF;0EAC0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC;IACpC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACnF;;;;OAIG;IACH,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACnF;;;OAGG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/D,wBAAwB,CAAC,EAAE,CACzB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,gBAAgB,KACrB,IAAI,CAAC;IACV,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtD,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClD;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;;;;;;;;OAeG;IACH,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;;;;;;;;;;;;;;OAkBG;IACH,sBAAsB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7C;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;;;;;;;;OAYG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IACnD;4DACwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC1C;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACvE;;;;;OAKG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B;;;;;;;;;;;;OAYG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAC3C;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9C;;;;;;;;;;;;;OAaG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;;;;;;;;;;;;;;;OAkBG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAElC;;;;;;;;;;;;;;;OAeG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAwrGD;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,UAAW,gBAAgB,4CAIjD,CAAC;AAEF,eAAe,UAAU,CAAC"}