@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
@@ -90,6 +90,12 @@ class LspSharedConnection {
90
90
  private pending = new Map<number, IPendingRequest>();
91
91
  private readonly clients = new Set<ReqraftLspClient>();
92
92
  private initPromise: Promise<void> | null = null;
93
+ /**
94
+ * Fails the handshake in flight, if there is one. Every way this connection
95
+ * stops — released, reset, or given up by its socket — goes through it, so
96
+ * no `connect()` caller is ever left waiting on a socket that is gone.
97
+ */
98
+ private failHandshake: ((err: Error) => void) | null = null;
93
99
 
94
100
  connected = false;
95
101
  capabilities: ILspServerCapabilities | null = null;
@@ -106,9 +112,16 @@ class LspSharedConnection {
106
112
  return this.initPromise;
107
113
  }
108
114
 
109
- this.initPromise = new Promise<void>((resolve, reject) => {
115
+ const attempt = new Promise<void>((resolve, reject) => {
110
116
  let initialConnect = true;
111
117
 
118
+ this.failHandshake = (err) => {
119
+ if (initialConnect) {
120
+ initialConnect = false;
121
+ reject(err);
122
+ }
123
+ };
124
+
112
125
  this.rws = new ReqraftWebSocket({
113
126
  url: this.url,
114
127
  pooled: false,
@@ -144,6 +157,7 @@ class LspSharedConnection {
144
157
  }
145
158
  if (initialConnect) {
146
159
  initialConnect = false;
160
+ this.failHandshake = null;
147
161
  // Awaiting clients self-notify ready in their connect().
148
162
  resolve();
149
163
  } else {
@@ -219,17 +233,42 @@ class LspSharedConnection {
219
233
  onError: () => {
220
234
  // onClose fires after onError; rejection happens there.
221
235
  },
236
+ onReconnectFailed: () => {
237
+ this.giveUp();
238
+ },
222
239
  });
223
240
  });
241
+ this.initPromise = attempt;
224
242
 
225
243
  // Reset on failure so connect() can be retried with a clean slate —
226
244
  // close() also drops the dead socket, which would otherwise leak when
227
- // a retry stacks a fresh ReqraftWebSocket on top of it.
228
- this.initPromise.catch(() => {
229
- this.close();
245
+ // a retry stacks a fresh ReqraftWebSocket on top of it. Only for THIS
246
+ // attempt: by the time the rejection lands a client may already have
247
+ // started the next one, and closing that would kill a live socket.
248
+ attempt.catch(() => {
249
+ if (this.initPromise === attempt) {
250
+ this.close();
251
+ }
230
252
  });
231
253
 
232
- return this.initPromise;
254
+ return attempt;
255
+ }
256
+
257
+ /**
258
+ * The socket has stopped reconnecting. Without this the connection would
259
+ * stay registered around a dead socket for as long as any client holds it —
260
+ * which, for the page-lifetime render client, is forever: a first handshake
261
+ * that never completed kept every later `connect()` waiting on it, and one
262
+ * that had completed kept reporting the dead socket as ready. Fail whatever
263
+ * is waiting and forget the socket, so the next `connect()` dials afresh.
264
+ */
265
+ private giveUp(): void {
266
+ this.clients.forEach((c) => c._forgetConnect());
267
+ this.close(
268
+ new Error(
269
+ `LSP connection to ${this.url} gave up after ${this.config.maxReconnectTries} reconnect attempts`
270
+ )
271
+ );
233
272
  }
234
273
 
235
274
  /** @internal Test hook — close and forget every shared connection. */
@@ -242,13 +281,19 @@ class LspSharedConnection {
242
281
  release(client: ReqraftLspClient): void {
243
282
  this.clients.delete(client);
244
283
  if (this.clients.size === 0) {
245
- LspSharedConnection.registry.delete(this.url);
284
+ // A reset may already have replaced this connection for the url.
285
+ if (LspSharedConnection.registry.get(this.url) === this) {
286
+ LspSharedConnection.registry.delete(this.url);
287
+ }
246
288
  this.close();
247
289
  }
248
290
  }
249
291
 
250
- private close(): void {
292
+ private close(reason: Error = new Error('Client disconnected')): void {
251
293
  this.initPromise = null;
294
+ const failHandshake = this.failHandshake;
295
+ this.failHandshake = null;
296
+ failHandshake?.(reason);
252
297
  if (this.rws) {
253
298
  // Disable reconnect before cleanup to prevent zombie reconnect timers.
254
299
  this.rws.options.reconnect = false;
@@ -374,18 +419,30 @@ export class ReqraftLspClient {
374
419
  this
375
420
  );
376
421
  }
377
- this.connectPromise = this.conn
422
+ const attempt: Promise<void> = this.conn
378
423
  .connect()
379
424
  .then(() => {
380
425
  this.readyCallback?.(true);
381
426
  })
382
427
  .catch((err) => {
383
- // Allow a retry after failure.
384
- this.connectPromise = null;
428
+ // Allow a retry after failure — unless one has already started.
429
+ if (this.connectPromise === attempt) {
430
+ this.connectPromise = null;
431
+ }
385
432
  this.readyCallback?.(false);
386
433
  throw err;
387
434
  });
388
- return this.connectPromise;
435
+ this.connectPromise = attempt;
436
+ return attempt;
437
+ }
438
+
439
+ /**
440
+ * @internal The shared connection gave up on its socket. Drop the cached
441
+ * handshake so the next `connect()` dials again instead of resolving from
442
+ * a socket that no longer exists.
443
+ */
444
+ _forgetConnect(): void {
445
+ this.connectPromise = null;
389
446
  }
390
447
 
391
448
  /**
@@ -18,6 +18,21 @@ export interface IReqraftWebSocketConfig {
18
18
  tokenOverride?: string;
19
19
  }
20
20
 
21
+ /**
22
+ * The URL a socket for `path` dials on `instance`: `http(s)` becomes `ws(s)`,
23
+ * and the token, when there is one, rides in the query. The single definition —
24
+ * story mocks build their URLs with it too, so they cannot drift from it.
25
+ */
26
+ export const buildReqraftSocketUrl = (instance: string, path: string, token?: string): string => {
27
+ let wsUrl = instance.replace('http', 'ws');
28
+
29
+ if (wsUrl.endsWith('/')) {
30
+ wsUrl = wsUrl.slice(0, -1);
31
+ }
32
+
33
+ return `${wsUrl}/${path}${token ? `?token=${token}` : ''}`;
34
+ };
35
+
21
36
  export class ReqraftWebSocketsManager {
22
37
  public static defaultConfig: IReqraftWebSocketConfig = {
23
38
  reconnect: true,
@@ -108,15 +123,11 @@ export class ReqraftWebSocket {
108
123
  }
109
124
 
110
125
  private getSocketUrl() {
111
- let wsUrl = fetchConfig.instance.replace('http', 'ws');
112
-
113
- if (wsUrl.endsWith('/')) {
114
- wsUrl = wsUrl.slice(0, -1);
115
- }
116
-
117
- const token = this.options.tokenOverride || fetchConfig.instanceToken;
118
-
119
- return `${wsUrl}/${this.options.url}${token ? `?token=${token}` : ''}`;
126
+ return buildReqraftSocketUrl(
127
+ fetchConfig.instance,
128
+ this.options.url,
129
+ this.options.tokenOverride || fetchConfig.instanceToken
130
+ );
120
131
  }
121
132
 
122
133
  public connect() {
@@ -1,73 +0,0 @@
1
- import { IQorusFormSchema } from '@qoretechnologies/ts-toolkit';
2
- /**
3
- * The schema + value behind `Form/Engine/FormEngine › Basic`. Extracted here so
4
- * the Basic story and the Subtle Edit Showcase render the *same* options — every
5
- * field type and state the real form exercises (allowed-values, multilevel hash,
6
- * nested arg_schema, file, date, rgbcolor, auto, list, messages, disabled,
7
- * readonly, depends_on, templates) — with no subset and no drift between them.
8
- */
9
- export declare const getBasicFormOptions: (allOptional?: boolean) => IQorusFormSchema;
10
- /** The `value` the Basic story seeds the form with. */
11
- export declare const basicFormValue: {
12
- optionWithValue: {
13
- type: string;
14
- value: string;
15
- };
16
- optionWithInvalidValue: {
17
- type: string;
18
- value: any;
19
- };
20
- readOnlyOptionWithValue: {
21
- type: string;
22
- value: number;
23
- };
24
- templateOption: {
25
- type: string;
26
- value: string;
27
- };
28
- schemaOption: {
29
- type: string;
30
- value: {
31
- schemaOption2: {
32
- type: string;
33
- value: {
34
- schemaOption3: {
35
- type: string;
36
- value: string;
37
- };
38
- };
39
- };
40
- };
41
- };
42
- richTextOption: {
43
- type: string;
44
- value: {
45
- type: string;
46
- children: ({
47
- text: string;
48
- type?: undefined;
49
- label?: undefined;
50
- value?: undefined;
51
- children?: undefined;
52
- } | {
53
- type: string;
54
- label: string;
55
- value: string;
56
- children: {
57
- text: string;
58
- }[];
59
- text?: undefined;
60
- })[];
61
- }[];
62
- };
63
- colorOption: {
64
- type: string;
65
- value: {
66
- r: number;
67
- g: number;
68
- b: number;
69
- a: number;
70
- };
71
- };
72
- };
73
- //# sourceMappingURL=basicFormOptions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"basicFormOptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/engine/__fixtures__/basicFormOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,6BAA0B,gBAiQxD,CAAC;AAEH,uDAAuD;AACvD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC1B,CAAC"}
@@ -1,317 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.basicFormValue = exports.getBasicFormOptions = void 0;
7
- var fileFieldArgSchema_json_1 = __importDefault(require("../../../../stories/Data/fileFieldArgSchema.json"));
8
- /**
9
- * The schema + value behind `Form/Engine/FormEngine › Basic`. Extracted here so
10
- * the Basic story and the Subtle Edit Showcase render the *same* options — every
11
- * field type and state the real form exercises (allowed-values, multilevel hash,
12
- * nested arg_schema, file, date, rgbcolor, auto, list, messages, disabled,
13
- * readonly, depends_on, templates) — with no subset and no drift between them.
14
- */
15
- var getBasicFormOptions = function (allOptional) {
16
- if (allOptional === void 0) { allOptional = false; }
17
- return ({
18
- basicOption: { type: 'string', ui_type: 'richtext', preselected: !allOptional },
19
- optionWithDescription: {
20
- type: 'string',
21
- ui_type: 'richtext',
22
- display_name: 'Option with description',
23
- short_desc: 'Option with description',
24
- desc: 'Option with markdown `description`\n\r ## Nice',
25
- preselected: !allOptional,
26
- supports_templates: true,
27
- },
28
- optionWithDefaultValue: {
29
- type: 'file',
30
- ui_type: 'file',
31
- type_options: {
32
- accept: {
33
- 'text/plain': ['.txt'],
34
- },
35
- },
36
- display_name: 'Option with default value',
37
- preselected: !allOptional,
38
- supports_templates: true,
39
- default_value: {
40
- type: 'file',
41
- value: {
42
- name: 'file.txt',
43
- size: 1234,
44
- content: 'file content',
45
- },
46
- },
47
- },
48
- booleanOption: {
49
- type: 'bool',
50
- ui_type: 'bool',
51
- display_name: 'Boolean option',
52
- required: !allOptional,
53
- default_value: { type: 'bool', value: true },
54
- supports_templates: true,
55
- },
56
- optionWithShortDescription: {
57
- type: 'list',
58
- ui_type: 'list',
59
- display_name: 'Option with short description',
60
- short_desc: 'Option with short description',
61
- required: !allOptional,
62
- depends_on: ['basicOption', 'nonExistentOption'],
63
- supports_templates: true,
64
- },
65
- hiddenOption: {
66
- type: 'string',
67
- ui_type: 'richtext',
68
- display_name: 'I am hidden',
69
- short_desc: 'I am hidden because I am not preselected or required',
70
- },
71
- preselectedOption: {
72
- type: 'auto',
73
- ui_type: 'richtext',
74
- display_name: 'I am preselected',
75
- short_desc: 'I am visible without any value because I am preselected',
76
- preselected: true,
77
- },
78
- optionWithValue: {
79
- type: 'string',
80
- ui_type: 'richtext',
81
- display_name: 'Option with value',
82
- supports_templates: true,
83
- },
84
- optionWithInvalidValue: {
85
- type: 'string',
86
- ui_type: 'richtext',
87
- display_name: 'Option with invalid value',
88
- },
89
- templateOption: {
90
- type: 'string',
91
- ui_type: 'string',
92
- display_name: 'Template option',
93
- supports_templates: true,
94
- },
95
- numberOption: {
96
- type: 'int',
97
- ui_type: 'number',
98
- display_name: 'Number option',
99
- preselected: !allOptional,
100
- default_value: { type: 'int', value: 42 },
101
- },
102
- richTextOption: {
103
- type: 'richtext',
104
- ui_type: 'richtext',
105
- display_name: 'Rich Text option',
106
- supports_templates: true,
107
- },
108
- optionWithMessages: {
109
- short_desc: 'Option with some messages',
110
- preselected: !allOptional,
111
- type: 'string',
112
- ui_type: 'richtext',
113
- display_name: 'Option with messages',
114
- supports_templates: true,
115
- messages: [
116
- {
117
- title: 'Success',
118
- intent: 'success',
119
- content: 'A successful message with title',
120
- },
121
- {
122
- intent: 'danger',
123
- content: 'A dangerous message',
124
- },
125
- ],
126
- },
127
- disabledOption: {
128
- type: 'number',
129
- ui_type: 'number',
130
- display_name: 'Disabled option',
131
- disabled: true,
132
- preselected: !allOptional,
133
- },
134
- readOnlyOption: {
135
- type: 'number',
136
- ui_type: 'number',
137
- display_name: 'Read only option with default value',
138
- default_value: { type: 'number', value: 123 },
139
- default_value_desc: 'Default value is 123',
140
- readonly: true,
141
- preselected: !allOptional,
142
- },
143
- readOnlyOptionWithValue: {
144
- type: 'number',
145
- ui_type: 'number',
146
- display_name: 'Read only option with default value and value',
147
- default_value: { type: 'number', value: 123 },
148
- default_value_desc: 'Default value is 123',
149
- default_value_display_name: 'The 123 value',
150
- readonly: true,
151
- preselected: !allOptional,
152
- },
153
- optionWithAllowedValuesCreatable: {
154
- type: 'number',
155
- ui_type: 'number',
156
- display_name: 'Fillable option with allowed values',
157
- allowed_values: [
158
- {
159
- display_name: 'Allowed value 1',
160
- short_desc: 'Allowed value 1',
161
- desc: 'Allowed value 1',
162
- value: { type: 'number', value: 10 },
163
- },
164
- {
165
- display_name: 'Allowed value 2',
166
- short_desc: 'Allowed value 2',
167
- desc: 'Allowed value 2',
168
- value: { type: 'number', value: 20 },
169
- },
170
- ],
171
- required: !allOptional,
172
- supports_templates: true,
173
- allowed_values_creatable: true,
174
- },
175
- optionWithBrokenAllowedValues: {
176
- type: 'string',
177
- ui_type: 'string',
178
- supports_templates: true,
179
- display_name: 'Option with allowed values',
180
- allowed_values: [
181
- {
182
- display_name: 'Allowed value 1',
183
- short_desc: 'Allowed value 1',
184
- value: { type: 'string', value: 'abcde' },
185
- },
186
- // Testing invalid allowed value — missing display_name and wrong value type
187
- {
188
- value: { type: 'number', value: 12345 },
189
- short_desc: 'Allowed value 2',
190
- },
191
- ],
192
- required: !allOptional,
193
- },
194
- selectedOption: {
195
- type: 'hash',
196
- ui_type: 'hash',
197
- supports_templates: true,
198
- required: true,
199
- display_name: 'Selected option',
200
- default_value: {
201
- type: 'hash',
202
- value: {
203
- option1: { type: 'string', value: 'value1' },
204
- option2: {
205
- type: 'hash',
206
- value: {
207
- option3: { type: 'string', value: 'value3' },
208
- option4: {
209
- type: 'list',
210
- value: [
211
- { type: 'string', value: 'value4' },
212
- { type: 'string', value: 'value5' },
213
- ],
214
- },
215
- },
216
- },
217
- },
218
- },
219
- },
220
- optionWithDependents: {
221
- supports_templates: true,
222
- type: 'date',
223
- ui_type: 'date',
224
- display_name: 'Option with dependents',
225
- short_desc: 'Option with dependents',
226
- has_dependents: true,
227
- required: !allOptional,
228
- },
229
- colorOption: {
230
- type: 'rgbcolor',
231
- ui_type: 'rgbcolor',
232
- required: true,
233
- supports_templates: true,
234
- default_value: { type: 'rgbcolor', value: { r: 255, g: 0, b: 0, a: 1 } },
235
- },
236
- schemaOption: {
237
- supports_templates: true,
238
- type: 'hash',
239
- ui_type: 'hash',
240
- preselected: !allOptional,
241
- display_name: 'Schema Option',
242
- short_desc: 'Option with nested arg_schema',
243
- arg_schema: {
244
- schemaOption1: {
245
- type: 'file',
246
- ui_type: 'file',
247
- display_name: 'Schema option 1',
248
- required: true,
249
- arg_schema: fileFieldArgSchema_json_1.default,
250
- },
251
- schemaOption2: {
252
- type: 'hash',
253
- ui_type: 'hash',
254
- display_name: 'Schema option with arg_schema',
255
- required: true,
256
- arg_schema: {
257
- schemaOption3: {
258
- type: 'string',
259
- ui_type: 'string',
260
- display_name: 'Schema option 3',
261
- required: true,
262
- },
263
- },
264
- },
265
- optionWithAutoType: {
266
- type: 'auto',
267
- ui_type: 'auto',
268
- display_name: 'Option with auto type',
269
- default_value: { type: 'auto', value: 'allowed' },
270
- required: true,
271
- },
272
- },
273
- },
274
- });
275
- };
276
- exports.getBasicFormOptions = getBasicFormOptions;
277
- /** The `value` the Basic story seeds the form with. */
278
- exports.basicFormValue = {
279
- optionWithValue: { type: 'string', value: '123' },
280
- optionWithInvalidValue: { type: 'string', value: 123 },
281
- readOnlyOptionWithValue: { type: 'number', value: 456 },
282
- templateOption: { type: 'string', value: '$local:test' },
283
- schemaOption: {
284
- type: 'hash',
285
- value: {
286
- schemaOption2: {
287
- type: 'hash',
288
- value: {
289
- schemaOption3: {
290
- type: 'string',
291
- value: 'test',
292
- },
293
- },
294
- },
295
- },
296
- },
297
- richTextOption: {
298
- type: 'richtext',
299
- value: [
300
- {
301
- type: 'paragraph',
302
- children: [
303
- { text: 'This is a rich text option ' },
304
- {
305
- type: 'tag',
306
- label: 'Richtext Template',
307
- value: '$local:some-richtext',
308
- children: [{ text: '' }],
309
- },
310
- { text: '' },
311
- ],
312
- },
313
- ],
314
- },
315
- colorOption: { type: 'rgbcolor', value: { r: 0, g: 0, b: 255, a: 1 } },
316
- };
317
- //# sourceMappingURL=basicFormOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"basicFormOptions.js","sourceRoot":"","sources":["../../../../../src/components/form/engine/__fixtures__/basicFormOptions.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- export declare const FIXTURE_LOGO = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%233b8eea'/%3E%3Ctext x='12' y='16' font-size='10' text-anchor='middle' fill='white'%3EQ%3C/text%3E%3C/svg%3E";
2
- export declare const chromeFieldBases: {
3
- chromeIcon: {
4
- type: string;
5
- ui_type: string;
6
- display_name: string;
7
- icon: string;
8
- };
9
- chromeImage: {
10
- type: string;
11
- ui_type: string;
12
- display_name: string;
13
- image: string;
14
- };
15
- chromeIntent: {
16
- type: string;
17
- ui_type: string;
18
- display_name: string;
19
- intent: string;
20
- };
21
- };
22
- export declare const metaFieldBases: {
23
- metaSensitive: {
24
- type: string;
25
- ui_type: string;
26
- display_name: string;
27
- sensitive: boolean;
28
- };
29
- metaDefault: {
30
- type: string;
31
- ui_type: string;
32
- display_name: string;
33
- default_value: {
34
- type: string;
35
- value: number;
36
- };
37
- default_value_desc: string;
38
- default_value_display_name: string;
39
- };
40
- };
41
- //# sourceMappingURL=fieldChromeOptions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fieldChromeOptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/engine/__fixtures__/fieldChromeOptions.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,4OACkN,CAAC;AAE5O,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;CAmB5B,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;CAe1B,CAAC"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
- // Shared field-chrome / meta schema bodies used by both the CompactFieldTypes
3
- // catalog and the CompactShowcase stress schema; each site decorates them
4
- // (group / preselected / extra messages) on top.
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.metaFieldBases = exports.chromeFieldBases = exports.FIXTURE_LOGO = void 0;
7
- // A tiny inline SVG logo so the `image` chrome examples need no network.
8
- exports.FIXTURE_LOGO = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%233b8eea'/%3E%3Ctext x='12' y='16' font-size='10' text-anchor='middle' fill='white'%3EQ%3C/text%3E%3C/svg%3E";
9
- exports.chromeFieldBases = {
10
- chromeIcon: {
11
- type: 'string',
12
- ui_type: 'string',
13
- display_name: 'With icon',
14
- icon: 'Database2Line',
15
- },
16
- chromeImage: {
17
- type: 'string',
18
- ui_type: 'string',
19
- display_name: 'With image (logo)',
20
- image: exports.FIXTURE_LOGO,
21
- },
22
- chromeIntent: {
23
- type: 'string',
24
- ui_type: 'string',
25
- display_name: 'With intent (danger)',
26
- intent: 'danger',
27
- },
28
- };
29
- exports.metaFieldBases = {
30
- metaSensitive: {
31
- type: 'string',
32
- ui_type: 'string',
33
- display_name: 'Sensitive (masked)',
34
- sensitive: true,
35
- },
36
- metaDefault: {
37
- type: 'number',
38
- ui_type: 'number',
39
- display_name: 'Default-value note',
40
- default_value: { type: 'number', value: 30 },
41
- default_value_desc: 'Falls back to 30 seconds when unset.',
42
- default_value_display_name: 'thirty',
43
- },
44
- };
45
- //# sourceMappingURL=fieldChromeOptions.js.map