@qoretechnologies/reqraft 0.10.64 → 0.10.65-pr.137.g62fcecc

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 (774) hide show
  1. package/README.md +53 -1
  2. package/dist/components/Description/describedControl.d.ts +54 -0
  3. package/dist/components/Description/describedControl.d.ts.map +1 -0
  4. package/dist/components/Description/describedControl.js +81 -0
  5. package/dist/components/Description/describedControl.js.map +1 -0
  6. package/dist/components/Description/index.d.ts.map +1 -1
  7. package/dist/components/Description/index.js +3 -2
  8. package/dist/components/Description/index.js.map +1 -1
  9. package/dist/components/colorValue/colorValue.d.ts +59 -0
  10. package/dist/components/colorValue/colorValue.d.ts.map +1 -0
  11. package/dist/components/colorValue/colorValue.js +245 -0
  12. package/dist/components/colorValue/colorValue.js.map +1 -0
  13. package/dist/components/colorValue/index.d.ts +34 -0
  14. package/dist/components/colorValue/index.d.ts.map +1 -0
  15. package/dist/components/colorValue/index.js +136 -0
  16. package/dist/components/colorValue/index.js.map +1 -0
  17. package/dist/components/colorValue/labels.d.ts +12 -0
  18. package/dist/components/colorValue/labels.d.ts.map +1 -0
  19. package/dist/components/colorValue/labels.js +11 -0
  20. package/dist/components/colorValue/labels.js.map +1 -0
  21. package/dist/components/composer/Composer.d.ts +1 -1
  22. package/dist/components/composer/Composer.d.ts.map +1 -1
  23. package/dist/components/composer/Composer.js +2 -2
  24. package/dist/components/composer/Composer.js.map +1 -1
  25. package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
  26. package/dist/components/dpqlEditor/DpqlEditor.js +25 -5
  27. package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
  28. package/dist/components/dpqlEditor/dpqlHelpers.d.ts +36 -5
  29. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  30. package/dist/components/dpqlEditor/dpqlHelpers.js +340 -62
  31. package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
  32. package/dist/components/dpqlEditor/dpqlTags.d.ts +11 -7
  33. package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
  34. package/dist/components/dpqlEditor/dpqlTags.js +35 -17
  35. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  36. package/dist/components/dpqlEditor/types.d.ts +54 -8
  37. package/dist/components/dpqlEditor/types.d.ts.map +1 -1
  38. package/dist/components/dpqlEditor/useDpqlSession.d.ts +2 -2
  39. package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
  40. package/dist/components/dpqlEditor/useDpqlSession.js +16 -7
  41. package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
  42. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  43. package/dist/components/form/engine/CompactRow.js +207 -97
  44. package/dist/components/form/engine/CompactRow.js.map +1 -1
  45. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  46. package/dist/components/form/engine/CompactToolbar.js +29 -3
  47. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  48. package/dist/components/form/engine/FormEngine.d.ts +58 -10
  49. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  50. package/dist/components/form/engine/FormEngine.js +542 -112
  51. package/dist/components/form/engine/FormEngine.js.map +1 -1
  52. package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
  53. package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
  54. package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
  55. package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
  56. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  57. package/dist/components/form/engine/OptionFieldMessages.js +24 -3
  58. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  59. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
  60. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  61. package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
  62. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  63. package/dist/components/form/engine/compactRowContext.d.ts +21 -0
  64. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  65. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  66. package/dist/components/form/engine/compactRowStyles.d.ts +20 -10
  67. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  68. package/dist/components/form/engine/compactRowStyles.js +36 -30
  69. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  70. package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
  71. package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
  72. package/dist/components/form/engine/compactToolbarColors.js +21 -0
  73. package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
  74. package/dist/components/form/engine/readFirst.d.ts +24 -8
  75. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  76. package/dist/components/form/engine/readFirst.js +77 -109
  77. package/dist/components/form/engine/readFirst.js.map +1 -1
  78. package/dist/components/form/engine/readFirstColors.d.ts +30 -0
  79. package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
  80. package/dist/components/form/engine/readFirstColors.js +51 -0
  81. package/dist/components/form/engine/readFirstColors.js.map +1 -0
  82. package/dist/components/form/engine/rowFocus.d.ts +2 -0
  83. package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
  84. package/dist/components/form/engine/rowFocus.js +26 -3
  85. package/dist/components/form/engine/rowFocus.js.map +1 -1
  86. package/dist/components/form/engine/typeChoices.d.ts +1 -1
  87. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
  88. package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
  89. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
  90. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
  91. package/dist/components/form/engine/variants/VariantCards.js +2 -1
  92. package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
  93. package/dist/components/form/engine/variants/VariantFocus.js +1 -1
  94. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
  95. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
  96. package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
  97. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
  98. package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
  99. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
  100. package/dist/components/form/engine/variants/variantParts.js +25 -17
  101. package/dist/components/form/engine/variants/variantParts.js.map +1 -1
  102. package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
  103. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
  104. package/dist/components/form/expressions/DpqlRendering.js +3 -3
  105. package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
  106. package/dist/components/form/expressions/ExpressionField.d.ts +64 -3
  107. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  108. package/dist/components/form/expressions/ExpressionField.js +459 -100
  109. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  110. package/dist/components/form/expressions/argumentPresence.d.ts +14 -0
  111. package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -1
  112. package/dist/components/form/expressions/argumentPresence.js +16 -1
  113. package/dist/components/form/expressions/argumentPresence.js.map +1 -1
  114. package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
  115. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  116. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  117. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  118. package/dist/components/form/expressions/builder/argumentLabel.js +27 -9
  119. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  120. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  121. package/dist/components/form/expressions/builder/argumentWrapper.js +3 -1
  122. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  123. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  124. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +5 -4
  125. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  126. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  127. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  128. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +6 -3
  129. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  130. package/dist/components/form/expressions/builder/index.d.ts +24 -2
  131. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  132. package/dist/components/form/expressions/builder/index.js +138 -78
  133. package/dist/components/form/expressions/builder/index.js.map +1 -1
  134. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  135. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  136. package/dist/components/form/expressions/builder/item.js +19 -5
  137. package/dist/components/form/expressions/builder/item.js.map +1 -1
  138. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  139. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  140. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts +11 -0
  141. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts.map +1 -0
  142. package/dist/components/form/expressions/dpqlMockRecordPath.js +254 -0
  143. package/dist/components/form/expressions/dpqlMockRecordPath.js.map +1 -0
  144. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  145. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  146. package/dist/components/form/expressions/expressionOperands.js +97 -0
  147. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  148. package/dist/components/form/expressions/fieldPath.d.ts +24 -0
  149. package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
  150. package/dist/components/form/expressions/fieldPath.js +152 -0
  151. package/dist/components/form/expressions/fieldPath.js.map +1 -0
  152. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  153. package/dist/components/form/expressions/mockExpressions.js +22 -5
  154. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  155. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  156. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  157. package/dist/components/form/expressions/renderExpressionToText.js +40 -9
  158. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  159. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  160. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  161. package/dist/components/form/expressions/textOfExpression.js +49 -0
  162. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  163. package/dist/components/form/expressions/types.d.ts +7 -0
  164. package/dist/components/form/expressions/types.d.ts.map +1 -1
  165. package/dist/components/form/expressions/types.js +6 -1
  166. package/dist/components/form/expressions/types.js.map +1 -1
  167. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  168. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  169. package/dist/components/form/expressions/useExpressionType.js +181 -0
  170. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  171. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  172. package/dist/components/form/expressions/useRenderExpression.js +13 -9
  173. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  174. package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
  175. package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
  176. package/dist/components/form/expressions/wildcardExpressions.js +101 -0
  177. package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
  178. package/dist/components/form/fields/Field.d.ts.map +1 -1
  179. package/dist/components/form/fields/Field.js +26 -9
  180. package/dist/components/form/fields/Field.js.map +1 -1
  181. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  182. package/dist/components/form/fields/allowed-values/AllowedValues.js +17 -4
  183. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  184. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  185. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  186. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  187. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  188. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  189. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  190. package/dist/components/form/fields/auto/AutoFormField.d.ts +20 -1
  191. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  192. package/dist/components/form/fields/auto/AutoFormField.js +81 -36
  193. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  194. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  195. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  196. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  197. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  198. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  199. package/dist/components/form/fields/binary/Binary.js +23 -3
  200. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  201. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  202. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  203. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  204. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  205. package/dist/components/form/fields/color/Color.d.ts +103 -16
  206. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  207. package/dist/components/form/fields/color/Color.js +616 -16
  208. package/dist/components/form/fields/color/Color.js.map +1 -1
  209. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  210. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  211. package/dist/components/form/fields/emittedValues.js +24 -1
  212. package/dist/components/form/fields/emittedValues.js.map +1 -1
  213. package/dist/components/form/fields/file/File.d.ts +1 -1
  214. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  215. package/dist/components/form/fields/file/File.js +4 -2
  216. package/dist/components/form/fields/file/File.js.map +1 -1
  217. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  218. package/dist/components/form/fields/long-string/LongString.js +17 -3
  219. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  220. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  221. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  222. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +4 -1
  223. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  224. package/dist/components/form/fields/number/Number.d.ts +6 -0
  225. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  226. package/dist/components/form/fields/number/Number.js +41 -6
  227. package/dist/components/form/fields/number/Number.js.map +1 -1
  228. package/dist/components/form/fields/object/Object.d.ts +1 -1
  229. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  230. package/dist/components/form/fields/object/Object.js +4 -2
  231. package/dist/components/form/fields/object/Object.js.map +1 -1
  232. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  233. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  234. package/dist/components/form/fields/pendingEdit.js +79 -0
  235. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  236. package/dist/components/form/fields/rich-text/RichText.d.ts +8 -1
  237. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  238. package/dist/components/form/fields/rich-text/RichText.js +188 -82
  239. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  240. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  241. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  242. package/dist/components/form/fields/rich-text/useTemplateTags.js +49 -0
  243. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  244. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  245. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  246. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  247. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  248. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  249. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  250. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  251. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  252. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  253. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  254. package/dist/components/form/fields/schema-definition/index.js +8 -4
  255. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  256. package/dist/components/form/fields/select/Select.d.ts +2 -0
  257. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  258. package/dist/components/form/fields/select/Select.js +19 -10
  259. package/dist/components/form/fields/select/Select.js.map +1 -1
  260. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  261. package/dist/components/form/fields/select/SelectCollection.js +8 -2
  262. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  263. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  264. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  265. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  266. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  267. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
  268. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  269. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +13 -5
  270. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  271. package/dist/components/form/fields/template/TemplateBrowser.d.ts +22 -0
  272. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  273. package/dist/components/form/fields/template/TemplateBrowser.js +54 -0
  274. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  275. package/dist/components/form/fields/template/TemplateField.d.ts +102 -1
  276. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  277. package/dist/components/form/fields/template/TemplateField.js +572 -85
  278. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  279. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  280. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  281. package/dist/components/form/fields/template/TemplateText.js +9 -11
  282. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  283. package/dist/components/form/fields/template/writtenAsText.d.ts +61 -0
  284. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  285. package/dist/components/form/fields/template/writtenAsText.js +204 -0
  286. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  287. package/dist/components/form/index.d.ts +10 -0
  288. package/dist/components/form/index.d.ts.map +1 -1
  289. package/dist/components/form/index.js +23 -1
  290. package/dist/components/form/index.js.map +1 -1
  291. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  292. package/dist/components/imageLightbox/ImageLightbox.js +19 -7
  293. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  294. package/dist/components/log/Log.d.ts.map +1 -1
  295. package/dist/components/log/Log.js +16 -8
  296. package/dist/components/log/Log.js.map +1 -1
  297. package/dist/components/menu/Menu.d.ts.map +1 -1
  298. package/dist/components/menu/Menu.js +19 -10
  299. package/dist/components/menu/Menu.js.map +1 -1
  300. package/dist/components/smartEditor/CompletionMenu.d.ts +43 -0
  301. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  302. package/dist/components/smartEditor/CompletionMenu.js +196 -0
  303. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  304. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  305. package/dist/components/smartEditor/MarkdownDoc.js +3 -3
  306. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  307. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  308. package/dist/components/smartEditor/SmartEditor.js +164 -180
  309. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  310. package/dist/components/smartEditor/completionStyle.d.ts +27 -0
  311. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  312. package/dist/components/smartEditor/completionStyle.js +68 -0
  313. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  314. package/dist/components/smartEditor/index.d.ts +5 -1
  315. package/dist/components/smartEditor/index.d.ts.map +1 -1
  316. package/dist/components/smartEditor/index.js +19 -1
  317. package/dist/components/smartEditor/index.js.map +1 -1
  318. package/dist/components/smartEditor/templateCompletions.d.ts +18 -0
  319. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  320. package/dist/components/smartEditor/templateCompletions.js +94 -0
  321. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  322. package/dist/components/smartEditor/typedReferences.d.ts +21 -0
  323. package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
  324. package/dist/components/smartEditor/typedReferences.js +82 -0
  325. package/dist/components/smartEditor/typedReferences.js.map +1 -0
  326. package/dist/components/smartEditor/types.d.ts +33 -1
  327. package/dist/components/smartEditor/types.d.ts.map +1 -1
  328. package/dist/components/smartEditor/useLspAutocomplete.d.ts +32 -0
  329. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  330. package/dist/components/smartEditor/useLspAutocomplete.js +228 -118
  331. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  332. package/dist/components/smartEditor/useLspHover.d.ts +33 -7
  333. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  334. package/dist/components/smartEditor/useLspHover.js +279 -35
  335. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  336. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  337. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  338. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  339. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  340. package/dist/components/smartEditor/useLspSession.js +7 -6
  341. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  342. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  343. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  344. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  345. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
  346. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  347. package/dist/components/supportTicket/ReferencePicker.js +27 -6
  348. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  349. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  350. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  351. package/dist/components/supportTicket/TicketHeader.js +20 -2
  352. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  353. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  354. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  355. package/dist/components/ticketReferences/TicketReferences.js +9 -4
  356. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  357. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  358. package/dist/components/ticketThread/TicketThread.js +38 -13
  359. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  360. package/dist/helpers/descriptionTooltip.d.ts +43 -0
  361. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  362. package/dist/helpers/descriptionTooltip.js +70 -0
  363. package/dist/helpers/descriptionTooltip.js.map +1 -0
  364. package/dist/helpers/domProps.d.ts +5 -0
  365. package/dist/helpers/domProps.d.ts.map +1 -0
  366. package/dist/helpers/domProps.js +47 -0
  367. package/dist/helpers/domProps.js.map +1 -0
  368. package/dist/helpers/expressions.d.ts +107 -2
  369. package/dist/helpers/expressions.d.ts.map +1 -1
  370. package/dist/helpers/expressions.js +223 -8
  371. package/dist/helpers/expressions.js.map +1 -1
  372. package/dist/helpers/hoveringPointer.d.ts +26 -0
  373. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  374. package/dist/helpers/hoveringPointer.js +29 -0
  375. package/dist/helpers/hoveringPointer.js.map +1 -0
  376. package/dist/helpers/markdownText.d.ts +14 -0
  377. package/dist/helpers/markdownText.d.ts.map +1 -0
  378. package/dist/helpers/markdownText.js +160 -0
  379. package/dist/helpers/markdownText.js.map +1 -0
  380. package/dist/helpers/qorusTypeCatalogue.d.ts +53 -0
  381. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  382. package/dist/helpers/qorusTypeCatalogue.js +262 -0
  383. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  384. package/dist/helpers/readableColors.d.ts +36 -0
  385. package/dist/helpers/readableColors.d.ts.map +1 -0
  386. package/dist/helpers/readableColors.js +116 -0
  387. package/dist/helpers/readableColors.js.map +1 -0
  388. package/dist/helpers/recordFieldReference.d.ts +15 -0
  389. package/dist/helpers/recordFieldReference.d.ts.map +1 -0
  390. package/dist/helpers/recordFieldReference.js +89 -0
  391. package/dist/helpers/recordFieldReference.js.map +1 -0
  392. package/dist/helpers/templateItems.d.ts +2 -2
  393. package/dist/helpers/templateItems.d.ts.map +1 -1
  394. package/dist/helpers/templateItems.js +6 -4
  395. package/dist/helpers/templateItems.js.map +1 -1
  396. package/dist/helpers/templateText.js +5 -2
  397. package/dist/helpers/templateText.js.map +1 -1
  398. package/dist/helpers/templates.d.ts +41 -14
  399. package/dist/helpers/templates.d.ts.map +1 -1
  400. package/dist/helpers/templates.js +152 -9
  401. package/dist/helpers/templates.js.map +1 -1
  402. package/dist/helpers/validations.d.ts +9 -0
  403. package/dist/helpers/validations.d.ts.map +1 -1
  404. package/dist/helpers/validations.js +139 -33
  405. package/dist/helpers/validations.js.map +1 -1
  406. package/dist/hooks/useQorusTypes.d.ts +7 -15
  407. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  408. package/dist/hooks/useQorusTypes.js +25 -166
  409. package/dist/hooks/useQorusTypes.js.map +1 -1
  410. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  411. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  412. package/dist/hooks/useReadableIntentShade.js +23 -0
  413. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  414. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  415. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  416. package/dist/hooks/useReadableOpacity.js +17 -0
  417. package/dist/hooks/useReadableOpacity.js.map +1 -0
  418. package/dist/index.d.ts +1 -0
  419. package/dist/index.d.ts.map +1 -1
  420. package/dist/index.js +1 -0
  421. package/dist/index.js.map +1 -1
  422. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  423. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  424. package/dist/tracking/ui/ExperimentCard.js +26 -10
  425. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  426. package/dist/tracking/ui/card.d.ts +2 -2
  427. package/dist/tracking/ui/card.d.ts.map +1 -1
  428. package/dist/tracking/ui/card.js +2 -2
  429. package/dist/tracking/ui/card.js.map +1 -1
  430. package/dist/tracking/ui/readable.d.ts +14 -0
  431. package/dist/tracking/ui/readable.d.ts.map +1 -0
  432. package/dist/tracking/ui/readable.js +60 -0
  433. package/dist/tracking/ui/readable.js.map +1 -0
  434. package/dist/utils/fetch.d.ts +9 -2
  435. package/dist/utils/fetch.d.ts.map +1 -1
  436. package/dist/utils/fetch.js +6 -5
  437. package/dist/utils/fetch.js.map +1 -1
  438. package/dist/utils/websocket.d.ts +65 -2
  439. package/dist/utils/websocket.d.ts.map +1 -1
  440. package/dist/utils/websocket.js +276 -44
  441. package/dist/utils/websocket.js.map +1 -1
  442. package/package.json +14 -5
  443. package/.claude/CLAUDE.md +0 -317
  444. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  445. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  446. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  447. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  448. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  449. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  450. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  451. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  452. package/.tasks/INDEX.md +0 -111
  453. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  454. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  455. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  456. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  457. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  458. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  459. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  460. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  461. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  462. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  463. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  464. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  465. package/CODE_OF_CONDUCT.md +0 -105
  466. package/CONTRIBUTING.MD +0 -78
  467. package/SECURITY.md +0 -3
  468. package/chromatic.config.json +0 -5
  469. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  470. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  471. package/design/COMPACT_PARITY.md +0 -85
  472. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  473. package/design/FORM_ENGINE_COMPACT.md +0 -300
  474. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  475. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  476. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  477. package/design/IDE_INTEGRATION.md +0 -64
  478. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  479. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  480. package/design/SMART_EDITOR_UX.md +0 -438
  481. package/design/TRACKING.md +0 -290
  482. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  483. package/src/components/Description/index.tsx +0 -254
  484. package/src/components/Description/markdownRendererContext.tsx +0 -29
  485. package/src/components/FocusedEditing/index.tsx +0 -50
  486. package/src/components/codeSize/index.tsx +0 -79
  487. package/src/components/composer/Composer.stories.tsx +0 -238
  488. package/src/components/composer/Composer.tsx +0 -554
  489. package/src/components/composer/helpers.ts +0 -74
  490. package/src/components/composer/index.ts +0 -2
  491. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  492. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  493. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  494. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  495. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  496. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  497. package/src/components/dpqlEditor/index.ts +0 -41
  498. package/src/components/dpqlEditor/types.ts +0 -203
  499. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  500. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  501. package/src/components/form/engine/CompactRow.tsx +0 -2620
  502. package/src/components/form/engine/CompactToolbar.tsx +0 -330
  503. package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
  504. package/src/components/form/engine/FormEngine.tsx +0 -4569
  505. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  506. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
  507. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  508. package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
  509. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  510. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  511. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  512. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  513. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
  514. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  515. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  516. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  517. package/src/components/form/engine/compactRowContext.ts +0 -148
  518. package/src/components/form/engine/compactRowStyles.ts +0 -898
  519. package/src/components/form/engine/compactToolbarContext.ts +0 -69
  520. package/src/components/form/engine/optionActions.ts +0 -128
  521. package/src/components/form/engine/optionsContext.ts +0 -24
  522. package/src/components/form/engine/readFirst.ts +0 -1077
  523. package/src/components/form/engine/rendererTypes.ts +0 -107
  524. package/src/components/form/engine/revealRow.ts +0 -123
  525. package/src/components/form/engine/rowFocus.ts +0 -101
  526. package/src/components/form/engine/rowMenuContext.ts +0 -159
  527. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  528. package/src/components/form/engine/typeChoices.ts +0 -63
  529. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  530. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  531. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  532. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  533. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  534. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  535. package/src/components/form/engine/variants/variantModel.ts +0 -223
  536. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  537. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  538. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  539. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  540. package/src/components/form/expressions/argumentPresence.ts +0 -213
  541. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  542. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  543. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  544. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  545. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  546. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  547. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  548. package/src/components/form/expressions/builder/index.tsx +0 -1545
  549. package/src/components/form/expressions/builder/item.tsx +0 -89
  550. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  551. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  552. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  553. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  554. package/src/components/form/expressions/mockExpressions.ts +0 -317
  555. package/src/components/form/expressions/renderExpressionToText.ts +0 -137
  556. package/src/components/form/expressions/types.ts +0 -110
  557. package/src/components/form/expressions/useExpressions.ts +0 -101
  558. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  559. package/src/components/form/fields/Field.stories.tsx +0 -143
  560. package/src/components/form/fields/Field.tsx +0 -732
  561. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
  562. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  563. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  564. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  565. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  566. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
  567. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  568. package/src/components/form/fields/binary/Binary.tsx +0 -91
  569. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  570. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  571. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  572. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  573. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  574. package/src/components/form/fields/color/Color.tsx +0 -46
  575. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  576. package/src/components/form/fields/cron/Cron.tsx +0 -80
  577. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  578. package/src/components/form/fields/date/Date.tsx +0 -55
  579. package/src/components/form/fields/emittedValues.ts +0 -70
  580. package/src/components/form/fields/file/File.stories.tsx +0 -161
  581. package/src/components/form/fields/file/File.tsx +0 -227
  582. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
  583. package/src/components/form/fields/long-string/LongString.tsx +0 -130
  584. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  585. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  586. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  587. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
  588. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  589. package/src/components/form/fields/number/Number.tsx +0 -160
  590. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  591. package/src/components/form/fields/object/Object.tsx +0 -255
  592. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  593. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
  594. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  595. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  596. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  597. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  598. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  599. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  600. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  601. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  602. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  603. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  604. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  605. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  606. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  607. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  608. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  609. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  610. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  611. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  612. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  613. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  614. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  615. package/src/components/form/fields/schema-definition/types.ts +0 -185
  616. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  617. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  618. package/src/components/form/fields/select/Select.tsx +0 -624
  619. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  620. package/src/components/form/fields/string/String.stories.tsx +0 -86
  621. package/src/components/form/fields/string/String.tsx +0 -43
  622. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  623. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  624. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  625. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  626. package/src/components/form/fields/template/TemplateField.tsx +0 -1717
  627. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  628. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  629. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  630. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  631. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  632. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  633. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  634. package/src/components/form/fields/url/Url.tsx +0 -85
  635. package/src/components/form/index.tsx +0 -47
  636. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  637. package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
  638. package/src/components/imageLightbox/index.ts +0 -1
  639. package/src/components/log/Log.stories.tsx +0 -333
  640. package/src/components/log/Log.tsx +0 -285
  641. package/src/components/menu/Menu.stories.tsx +0 -155
  642. package/src/components/menu/Menu.tsx +0 -312
  643. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  644. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  645. package/src/components/qonsoleSmartInput/index.ts +0 -16
  646. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  647. package/src/components/qonsoleSmartInput/types.ts +0 -133
  648. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  649. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  650. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  651. package/src/components/searchFilterBar/index.ts +0 -1
  652. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  653. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  654. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  655. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  656. package/src/components/smartEditor/helpers.ts +0 -217
  657. package/src/components/smartEditor/index.ts +0 -35
  658. package/src/components/smartEditor/styling.ts +0 -45
  659. package/src/components/smartEditor/types.ts +0 -211
  660. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  661. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  662. package/src/components/smartEditor/useLspHover.ts +0 -230
  663. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  664. package/src/components/smartEditor/useLspSession.ts +0 -231
  665. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  666. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  667. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  668. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  669. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
  670. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
  671. package/src/components/supportTicket/ReferencePicker.tsx +0 -563
  672. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
  673. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  674. package/src/components/supportTicket/TicketHeader.tsx +0 -247
  675. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  676. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  677. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
  678. package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
  679. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  680. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  681. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  682. package/src/components/supportTicket/index.ts +0 -10
  683. package/src/components/supportTicket/meta.ts +0 -206
  684. package/src/components/supportTicket/ticketModel.ts +0 -131
  685. package/src/components/supportTicket/useLoadedImages.ts +0 -73
  686. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
  687. package/src/components/ticketReferences/TicketReferences.tsx +0 -906
  688. package/src/components/ticketReferences/index.ts +0 -2
  689. package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
  690. package/src/components/ticketThread/TicketThread.tsx +0 -719
  691. package/src/components/ticketThread/index.ts +0 -6
  692. package/src/contexts/FetchContext.tsx +0 -25
  693. package/src/contexts/ReqraftContext.tsx +0 -9
  694. package/src/contexts/StorageContext.tsx +0 -33
  695. package/src/global.d.ts +0 -4
  696. package/src/helpers/allowedValues.ts +0 -249
  697. package/src/helpers/choiceChip.ts +0 -227
  698. package/src/helpers/common.ts +0 -326
  699. package/src/helpers/dpqlDetection.ts +0 -209
  700. package/src/helpers/expressions.ts +0 -140
  701. package/src/helpers/optionUiTypes.ts +0 -199
  702. package/src/helpers/options.ts +0 -150
  703. package/src/helpers/providerValue.ts +0 -125
  704. package/src/helpers/scrollbar.ts +0 -32
  705. package/src/helpers/singleLineString.ts +0 -61
  706. package/src/helpers/templateItems.ts +0 -81
  707. package/src/helpers/templateText.ts +0 -350
  708. package/src/helpers/templates.ts +0 -602
  709. package/src/helpers/validations.ts +0 -2085
  710. package/src/hooks/useArgSchema.ts +0 -37
  711. package/src/hooks/useCoarsePointer.ts +0 -30
  712. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  713. package/src/hooks/useFetch/useFetch.tsx +0 -154
  714. package/src/hooks/usePhoneViewport.ts +0 -34
  715. package/src/hooks/useQorusTypes.ts +0 -233
  716. package/src/hooks/useReqraftProperty.ts +0 -16
  717. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  718. package/src/hooks/useStorage/useStorage.ts +0 -35
  719. package/src/hooks/useTemplates.ts +0 -123
  720. package/src/hooks/useValidation.ts +0 -9
  721. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  722. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  723. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  724. package/src/index.tsx +0 -86
  725. package/src/providers/FetchProvider.tsx +0 -40
  726. package/src/providers/ReqraftProvider.tsx +0 -52
  727. package/src/providers/StorageProvider.tsx +0 -131
  728. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  729. package/src/stores/currentUser/currentUser.tsx +0 -94
  730. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  731. package/src/stories/Tests/utils.ts +0 -320
  732. package/src/stories/storyNetwork.ts +0 -92
  733. package/src/stories/tracking.tsx +0 -206
  734. package/src/tracking/browser/attach.ts +0 -186
  735. package/src/tracking/browser/env.ts +0 -78
  736. package/src/tracking/core/consent.ts +0 -37
  737. package/src/tracking/core/engagement.ts +0 -47
  738. package/src/tracking/core/experiments.ts +0 -258
  739. package/src/tracking/core/hash.ts +0 -26
  740. package/src/tracking/core/ids.ts +0 -25
  741. package/src/tracking/core/observable.ts +0 -23
  742. package/src/tracking/core/queue.ts +0 -131
  743. package/src/tracking/core/sections.ts +0 -166
  744. package/src/tracking/core/storage.ts +0 -69
  745. package/src/tracking/core/tracker.ts +0 -417
  746. package/src/tracking/core/types.ts +0 -162
  747. package/src/tracking/core/utm.ts +0 -23
  748. package/src/tracking/index.ts +0 -72
  749. package/src/tracking/markup.ts +0 -17
  750. package/src/tracking/react/Experiment.tsx +0 -44
  751. package/src/tracking/react/TrackingProvider.tsx +0 -56
  752. package/src/tracking/react/hooks.ts +0 -106
  753. package/src/tracking/react/index.ts +0 -13
  754. package/src/tracking/testing.ts +0 -108
  755. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  756. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  757. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  758. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  759. package/src/tracking/ui/anchor.ts +0 -180
  760. package/src/tracking/ui/card.ts +0 -464
  761. package/src/tracking/ui/client.ts +0 -117
  762. package/src/tracking/ui/index.ts +0 -77
  763. package/src/tracking/ui/types.ts +0 -110
  764. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  765. package/src/types/Form.ts +0 -29
  766. package/src/types.ts +0 -14
  767. package/src/utils/datetime.ts +0 -10
  768. package/src/utils/fetch.ts +0 -457
  769. package/src/utils/lspClient.ts +0 -711
  770. package/src/utils/lspClient.types.ts +0 -211
  771. package/src/utils/queryUnlessCancelled.ts +0 -28
  772. package/src/utils/websocket.ts +0 -293
  773. package/vite.config.ts +0 -58
  774. package/vitest.config.ts +0 -69
@@ -27,7 +27,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
27
27
  return result;
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.StyledAbsorbedLabel = exports.StyledAbsorbedField = exports.StyledGroupBody = exports.StyledColorSwatch = exports.StyledCodePreview = exports.MONO_FONT_STACK = exports.StyledRowInset = exports.StyledColumn = exports.StyledActionSlot = exports.StyledStatusDot = exports.StyledRowActions = exports.StyledRowValue = exports.StyledCardLabel = exports.StyledCardHeading = exports.StyledLabelDesc = exports.StyledRowLabel = exports.StyledLabelBlock = exports.StyledEditCard = exports.StyledClusterNode = exports.StyledStatusBoxGroupLabel = exports.StyledRequiredClusterHeader = exports.StyledRequiredClusterBox = exports.StyledStatusBox = exports.StyledGroupHeaderLine = exports.StyledGroupHeader = exports.StyledCompactPanel = exports.PANEL_LEFT_CSS = exports.LABEL_COL = exports.LABEL_COL_VAR = exports.LABEL_AFFORDANCE_WIDTH = exports.LABEL_COL_MAX = exports.LABEL_COL_MIN = exports.GROUP_INDENT = exports.COMPACT_PANEL_LEFT = exports.COMPACT_VALUE_LEFT = exports.COMPACT_ROW_GAP = exports.COMPACT_ROW_PAD_X = exports.COMPACT_LABEL_COL = exports.HEADER_GAP = void 0;
30
+ exports.StyledAbsorbedLabel = exports.StyledAbsorbedField = exports.StyledGroupBody = exports.StyledCodePreview = exports.MONO_FONT_STACK = exports.StyledRowInset = exports.StyledColumn = exports.StyledActionSlot = exports.StyledStatusDot = exports.StyledRowActions = exports.StyledRowValue = exports.StyledCardLabel = exports.StyledCardHeading = exports.StyledLabelDesc = exports.StyledRowLabel = exports.StyledLabelBlock = exports.StyledEditCard = exports.StyledClusterNode = exports.StyledStatusBoxGroupLabel = exports.StyledRequiredClusterHeader = exports.StyledRequiredClusterBox = exports.StyledStatusBox = exports.StyledGroupHeaderLine = exports.StyledGroupHeader = exports.StyledCompactPanel = exports.PANEL_LEFT_CSS = exports.LABEL_COL = exports.LABEL_COL_VAR = exports.LABEL_AFFORDANCE_WIDTH = exports.LABEL_COL_MAX = exports.LABEL_COL_MIN = exports.GROUP_INDENT = exports.isCompactNarrow = exports.COMPACT_STACKED_VALUE_INDENT = exports.COMPACT_MIN_VALUE_WIDTH = exports.COMPACT_PANEL_LEFT = exports.COMPACT_VALUE_LEFT = exports.COMPACT_ROW_GAP = exports.COMPACT_ROW_PAD_X = exports.COMPACT_LABEL_COL = exports.HEADER_GAP = void 0;
31
31
  var reqore_1 = require("@qoretechnologies/reqore");
32
32
  var sizes_1 = require("@qoretechnologies/reqore/dist/constants/sizes");
33
33
  var styled_components_1 = __importStar(require("styled-components"));
@@ -46,6 +46,24 @@ exports.COMPACT_ROW_GAP = 14; // grid column gap
46
46
  exports.COMPACT_VALUE_LEFT = exports.COMPACT_ROW_PAD_X + exports.COMPACT_LABEL_COL + exports.COMPACT_ROW_GAP;
47
47
  // The surface starts a touch left of the value text, for inner left padding.
48
48
  exports.COMPACT_PANEL_LEFT = exports.COMPACT_VALUE_LEFT - 10;
49
+ /**
50
+ * The least room a row's value has beside its label (qorus#646, David: "on a narrow screen... put the wide output
51
+ * on a line below the header, slightly indented"). A form where the value column would be narrower stacks its rows:
52
+ * the label and the row's actions on the first line, the value under them, indented by
53
+ * `COMPACT_STACKED_VALUE_INDENT`.
54
+ */
55
+ exports.COMPACT_MIN_VALUE_WIDTH = 320;
56
+ /** How far a stacked row's value is indented under its label. */
57
+ exports.COMPACT_STACKED_VALUE_INDENT = 12;
58
+ /**
59
+ * Whether a form `width` wide stacks its rows: beside a label column `labelColumn` wide (the measured one,
60
+ * `LABEL_COL_VAR`), the row's gap and its padding, its value column would be under `COMPACT_MIN_VALUE_WIDTH`. With
61
+ * the widest labels (220px and their affordances) that is a form under about 600px; with the narrowest, about 500px.
62
+ */
63
+ var isCompactNarrow = function (width, labelColumn) {
64
+ return width - (labelColumn + exports.COMPACT_ROW_GAP + 2 * exports.COMPACT_ROW_PAD_X) < exports.COMPACT_MIN_VALUE_WIDTH;
65
+ };
66
+ exports.isCompactNarrow = isCompactNarrow;
49
67
  // Left offset for the group sub-labels / cluster header, kept equal to the row's
50
68
  // own horizontal padding so the labels line up flush with the field labels below
51
69
  // them (no extra gutter — the spine/rail that used a fluid indent are gone).
@@ -82,9 +100,9 @@ exports.PANEL_LEFT_CSS = "calc(".concat(exports.LABEL_COL, " + ").concat(exports
82
100
  // gives its sticky header) with a translucent theme tint + a moderate blur, the
83
101
  // way the IDE's DashboardModule overrides its own header. `translateZ(0)`
84
102
  // promotes the header to its own GPU layer, which stops the backdrop-filter
85
- // repaint flicker on scroll. `$headerBg` is a pre-mixed translucent colour so
103
+ // repaint flicker on scroll. `$headerBg` is a pre-mixed translucent color so
86
104
  // content blurs softly through.
87
- exports.StyledCompactPanel = (0, styled_components_1.default)(reqore_1.ReqorePanel)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n /* The wrapper must not clip, or nothing INSIDE it can pin.\n \n ReqorePanel sets its wrapper to `overflow: hidden` unless its own header\n is sticky \u2014 and a clipping box is a scrollport, so a status box header\n inside it resolves against the wrapper instead of the page and stops\n pinning. That coupling is right for the panel's own header and wrong for\n its descendants': a host that turns this form's toolbar off (a two-field\n form inside a longer page, where a pinned search bar is the biggest thing\n on screen and the least useful) was silently turning the box headers off\n with it.\n \n The clip is the panel's rounded corners, and this panel is transparent and\n border-less \u2014 `flat raised minimal`, no background of its own \u2014 so there\n is nothing for it to clip. */\n ", "\n /* A NARROW header dressed by the consumer (`compactPanelProps` label, icon\n or actions) stacks: the label and the consumer's actions share the first\n line, and the toolbar takes the whole second line.\n\n ReqorePanel lays its header out as one unwrapping row \u2014 the label, then an\n action group that never shrinks. The toolbar is one of those actions and\n is as wide as the form, so at phone width the label was squeezed to\n nothing and the consumer's own action was pushed past the panel's edge and\n clipped. Flattening the action group (`display: contents`) lets its\n members wrap with the label, and `order` moves the toolbar after them. */\n ", "\n > .reqore-panel-title {\n /* The blur + translateZ exist only to make the STICKY top-level toolbar ghost\n content beneath it; a nested sub-form's header isn't sticky, so skip them\n (and the stacking context translateZ creates). */\n ", "\n /* Above the status-box headers, which pin just below this toolbar. A\n pinned header cannot leave its own box, so when the end of a box\n scrolls up past the toolbar it pushes the header up with it \u2014 and with\n both at ReqorePanel's sticky z-index the header, later in the\n document, slid OVER the toolbar and covered the search and the\n meter. One step higher and it slides under the toolbar's blur\n instead. Nested sub-forms pin nothing, so they keep the default. */\n ", "\n padding-top: ", "px;\n /* A header with a SEARCH ROW keeps the `big` gap below it \u2014 a tall\n interactive control earns separation from the content it filters. A\n header without one (search hidden via `compactToolbar`, self-hidden on\n a single-option form, or no toolbar at all) is a thin strip, and at\n `big` its padding stacked onto the panel content's own 8px into a 26px\n dead band between the completion meter and the first status box \u2014\n rejected on build #140 as \"unnecessarily big\". `normal` lands it at\n the boxes' own 10px rhythm, and scoping the change here keeps every\n search-bearing form pixel-identical. */\n padding-bottom: ", "px;\n }\n\n /* Group framing. The HORIZONTAL rule is a real element in the header\n (StyledGroupHeaderLine) so it sits on the name's row, centred, and stretches\n from the name out to the status chip pinned at the far end \u2014 which needs the\n title's left group to fill the header width. The VERTICAL group spine is\n drawn by StyledGroupBody (so it shares the required-group rail's coordinate\n space and the two line up instead of doubling). */\n .options-readfirst-group {\n position: relative;\n }\n .options-readfirst-group > .reqore-panel-title > :first-child,\n .options-readfirst-group > .reqore-panel-title > :first-child > :first-child,\n .options-readfirst-group .reqore-panel-title-label-row {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n /* An injected option action declared `show: 'hover'` \u2014 the shape ReqorePanel\n honours on the classic path \u2014 is revealed only while its row or card is\n hovered or holds focus. The compact slots render plain buttons, so the gate\n has to be CSS here. Kept focus-visible too, so the action stays reachable by\n keyboard. Opacity rather than display keeps the slot's width stable, so rows\n don't reflow on hover. */\n .options-injected-action-hover {\n opacity: 0;\n /* Not hit-testable while invisible \u2014 an opacity:0 button still takes taps\n and clicks, which reads as a mystery control firing out of nowhere. */\n pointer-events: none;\n transition: opacity 0.15s ease;\n }\n .readfirst-row:hover .options-injected-action-hover,\n .readfirst-row:focus-within .options-injected-action-hover,\n .options-readfirst-card:hover .options-injected-action-hover,\n .options-readfirst-card:focus-within .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n /* Touch and other hover-less pointers never fire :hover, so a hover-gated\n action would be permanently unreachable there. Show it unconditionally\n instead \u2014 losing the tidiness beats losing the functionality. */\n @media (hover: none), (pointer: coarse) {\n .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n }\n"], ["\n /* The wrapper must not clip, or nothing INSIDE it can pin.\n \n ReqorePanel sets its wrapper to \\`overflow: hidden\\` unless its own header\n is sticky \u2014 and a clipping box is a scrollport, so a status box header\n inside it resolves against the wrapper instead of the page and stops\n pinning. That coupling is right for the panel's own header and wrong for\n its descendants': a host that turns this form's toolbar off (a two-field\n form inside a longer page, where a pinned search bar is the biggest thing\n on screen and the least useful) was silently turning the box headers off\n with it.\n \n The clip is the panel's rounded corners, and this panel is transparent and\n border-less \u2014 \\`flat raised minimal\\`, no background of its own \u2014 so there\n is nothing for it to clip. */\n ", "\n /* A NARROW header dressed by the consumer (\\`compactPanelProps\\` label, icon\n or actions) stacks: the label and the consumer's actions share the first\n line, and the toolbar takes the whole second line.\n\n ReqorePanel lays its header out as one unwrapping row \u2014 the label, then an\n action group that never shrinks. The toolbar is one of those actions and\n is as wide as the form, so at phone width the label was squeezed to\n nothing and the consumer's own action was pushed past the panel's edge and\n clipped. Flattening the action group (\\`display: contents\\`) lets its\n members wrap with the label, and \\`order\\` moves the toolbar after them. */\n ", "\n > .reqore-panel-title {\n /* The blur + translateZ exist only to make the STICKY top-level toolbar ghost\n content beneath it; a nested sub-form's header isn't sticky, so skip them\n (and the stacking context translateZ creates). */\n ", "\n /* Above the status-box headers, which pin just below this toolbar. A\n pinned header cannot leave its own box, so when the end of a box\n scrolls up past the toolbar it pushes the header up with it \u2014 and with\n both at ReqorePanel's sticky z-index the header, later in the\n document, slid OVER the toolbar and covered the search and the\n meter. One step higher and it slides under the toolbar's blur\n instead. Nested sub-forms pin nothing, so they keep the default. */\n ", "\n padding-top: ", "px;\n /* A header with a SEARCH ROW keeps the \\`big\\` gap below it \u2014 a tall\n interactive control earns separation from the content it filters. A\n header without one (search hidden via \\`compactToolbar\\`, self-hidden on\n a single-option form, or no toolbar at all) is a thin strip, and at\n \\`big\\` its padding stacked onto the panel content's own 8px into a 26px\n dead band between the completion meter and the first status box \u2014\n rejected on build #140 as \"unnecessarily big\". \\`normal\\` lands it at\n the boxes' own 10px rhythm, and scoping the change here keeps every\n search-bearing form pixel-identical. */\n padding-bottom: ", "px;\n }\n\n /* Group framing. The HORIZONTAL rule is a real element in the header\n (StyledGroupHeaderLine) so it sits on the name's row, centred, and stretches\n from the name out to the status chip pinned at the far end \u2014 which needs the\n title's left group to fill the header width. The VERTICAL group spine is\n drawn by StyledGroupBody (so it shares the required-group rail's coordinate\n space and the two line up instead of doubling). */\n .options-readfirst-group {\n position: relative;\n }\n .options-readfirst-group > .reqore-panel-title > :first-child,\n .options-readfirst-group > .reqore-panel-title > :first-child > :first-child,\n .options-readfirst-group .reqore-panel-title-label-row {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n /* An injected option action declared \\`show: 'hover'\\` \u2014 the shape ReqorePanel\n honours on the classic path \u2014 is revealed only while its row or card is\n hovered or holds focus. The compact slots render plain buttons, so the gate\n has to be CSS here. Kept focus-visible too, so the action stays reachable by\n keyboard. Opacity rather than display keeps the slot's width stable, so rows\n don't reflow on hover. */\n .options-injected-action-hover {\n opacity: 0;\n /* Not hit-testable while invisible \u2014 an opacity:0 button still takes taps\n and clicks, which reads as a mystery control firing out of nowhere. */\n pointer-events: none;\n transition: opacity 0.15s ease;\n }\n .readfirst-row:hover .options-injected-action-hover,\n .readfirst-row:focus-within .options-injected-action-hover,\n .options-readfirst-card:hover .options-injected-action-hover,\n .options-readfirst-card:focus-within .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n /* Touch and other hover-less pointers never fire :hover, so a hover-gated\n action would be permanently unreachable there. Show it unconditionally\n instead \u2014 losing the tidiness beats losing the functionality. */\n @media (hover: none), (pointer: coarse) {\n .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n }\n"])), function (_a) {
105
+ exports.StyledCompactPanel = (0, styled_components_1.default)(reqore_1.ReqorePanel)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n /* The wrapper must not clip, or nothing INSIDE it can pin.\n \n ReqorePanel sets its wrapper to `overflow: hidden` unless its own header\n is sticky \u2014 and a clipping box is a scrollport, so a status box header\n inside it resolves against the wrapper instead of the page and stops\n pinning. That coupling is right for the panel's own header and wrong for\n its descendants': a host that turns this form's toolbar off (a two-field\n form inside a longer page, where a pinned search bar is the biggest thing\n on screen and the least useful) was silently turning the box headers off\n with it.\n \n The clip is the panel's rounded corners, and this panel is transparent and\n border-less \u2014 `flat raised minimal`, no background of its own \u2014 so there\n is nothing for it to clip. */\n ", "\n /* A NARROW header dressed by the consumer (`compactPanelProps` label, icon\n or actions) stacks: the label and the consumer's actions share the first\n line, and the toolbar takes the whole second line.\n\n ReqorePanel lays its header out as one unwrapping row \u2014 the label, then an\n action group that never shrinks. The toolbar is one of those actions and\n is as wide as the form, so at phone width the label was squeezed to\n nothing and the consumer's own action was pushed past the panel's edge and\n clipped. Flattening the action group (`display: contents`) lets its\n members wrap with the label, and `order` moves the toolbar after them. */\n ", "\n > .reqore-panel-title {\n /* The blur + translateZ exist only to make the STICKY top-level toolbar ghost\n content beneath it; a nested sub-form's header isn't sticky, so skip them\n (and the stacking context translateZ creates). */\n ", "\n /* Above the status-box headers, which pin just below this toolbar. A\n pinned header cannot leave its own box, so when the end of a box\n scrolls up past the toolbar it pushes the header up with it \u2014 and with\n both at ReqorePanel's sticky z-index the header, later in the\n document, slid OVER the toolbar and covered the search and the\n meter. One step higher and it slides under the toolbar's blur\n instead. Nested sub-forms pin nothing, so they keep the default. */\n ", "\n padding-top: ", "px;\n /* A header with a SEARCH ROW keeps the `big` gap below it \u2014 a tall\n interactive control earns separation from the content it filters. A\n header without one (search hidden via `compactToolbar`, self-hidden on\n a single-option form, or no toolbar at all) is a thin strip, and at\n `big` its padding stacked onto the panel content's own 8px into a 26px\n dead band between the completion meter and the first status box \u2014\n rejected on build #140 as \"unnecessarily big\". `normal` lands it at\n the boxes' own 10px rhythm, and scoping the change here keeps every\n search-bearing form pixel-identical. */\n padding-bottom: ", "px;\n }\n\n /* Group framing. The HORIZONTAL rule is a real element in the header\n (StyledGroupHeaderLine) so it sits on the name's row, centered, and stretches\n from the name out to the status chip pinned at the far end \u2014 which needs the\n title's left group to fill the header width. The VERTICAL group spine is\n drawn by StyledGroupBody (so it shares the required-group rail's coordinate\n space and the two line up instead of doubling). */\n .options-readfirst-group {\n position: relative;\n }\n .options-readfirst-group > .reqore-panel-title > :first-child,\n .options-readfirst-group > .reqore-panel-title > :first-child > :first-child,\n .options-readfirst-group .reqore-panel-title-label-row {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n /* An injected option action declared `show: 'hover'` \u2014 the shape ReqorePanel\n honors on the classic path \u2014 is revealed only while its row or card is\n hovered or holds focus. The compact slots render plain buttons, so the gate\n has to be CSS here. Kept focus-visible too, so the action stays reachable by\n keyboard. Opacity rather than display keeps the slot's width stable, so rows\n don't reflow on hover. */\n .options-injected-action-hover {\n opacity: 0;\n /* Not hit-testable while invisible \u2014 an opacity:0 button still takes taps\n and clicks, which reads as a mystery control firing out of nowhere. */\n pointer-events: none;\n transition: opacity 0.15s ease;\n }\n .readfirst-row:hover .options-injected-action-hover,\n .readfirst-row:focus-within .options-injected-action-hover,\n .options-readfirst-card:hover .options-injected-action-hover,\n .options-readfirst-card:focus-within .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n /* Touch and other hover-less pointers never fire :hover, so a hover-gated\n action would be permanently unreachable there. Show it unconditionally\n instead \u2014 losing the tidiness beats losing the functionality. */\n @media (hover: none), (pointer: coarse) {\n .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n }\n"], ["\n /* The wrapper must not clip, or nothing INSIDE it can pin.\n \n ReqorePanel sets its wrapper to \\`overflow: hidden\\` unless its own header\n is sticky \u2014 and a clipping box is a scrollport, so a status box header\n inside it resolves against the wrapper instead of the page and stops\n pinning. That coupling is right for the panel's own header and wrong for\n its descendants': a host that turns this form's toolbar off (a two-field\n form inside a longer page, where a pinned search bar is the biggest thing\n on screen and the least useful) was silently turning the box headers off\n with it.\n \n The clip is the panel's rounded corners, and this panel is transparent and\n border-less \u2014 \\`flat raised minimal\\`, no background of its own \u2014 so there\n is nothing for it to clip. */\n ", "\n /* A NARROW header dressed by the consumer (\\`compactPanelProps\\` label, icon\n or actions) stacks: the label and the consumer's actions share the first\n line, and the toolbar takes the whole second line.\n\n ReqorePanel lays its header out as one unwrapping row \u2014 the label, then an\n action group that never shrinks. The toolbar is one of those actions and\n is as wide as the form, so at phone width the label was squeezed to\n nothing and the consumer's own action was pushed past the panel's edge and\n clipped. Flattening the action group (\\`display: contents\\`) lets its\n members wrap with the label, and \\`order\\` moves the toolbar after them. */\n ", "\n > .reqore-panel-title {\n /* The blur + translateZ exist only to make the STICKY top-level toolbar ghost\n content beneath it; a nested sub-form's header isn't sticky, so skip them\n (and the stacking context translateZ creates). */\n ", "\n /* Above the status-box headers, which pin just below this toolbar. A\n pinned header cannot leave its own box, so when the end of a box\n scrolls up past the toolbar it pushes the header up with it \u2014 and with\n both at ReqorePanel's sticky z-index the header, later in the\n document, slid OVER the toolbar and covered the search and the\n meter. One step higher and it slides under the toolbar's blur\n instead. Nested sub-forms pin nothing, so they keep the default. */\n ", "\n padding-top: ", "px;\n /* A header with a SEARCH ROW keeps the \\`big\\` gap below it \u2014 a tall\n interactive control earns separation from the content it filters. A\n header without one (search hidden via \\`compactToolbar\\`, self-hidden on\n a single-option form, or no toolbar at all) is a thin strip, and at\n \\`big\\` its padding stacked onto the panel content's own 8px into a 26px\n dead band between the completion meter and the first status box \u2014\n rejected on build #140 as \"unnecessarily big\". \\`normal\\` lands it at\n the boxes' own 10px rhythm, and scoping the change here keeps every\n search-bearing form pixel-identical. */\n padding-bottom: ", "px;\n }\n\n /* Group framing. The HORIZONTAL rule is a real element in the header\n (StyledGroupHeaderLine) so it sits on the name's row, centered, and stretches\n from the name out to the status chip pinned at the far end \u2014 which needs the\n title's left group to fill the header width. The VERTICAL group spine is\n drawn by StyledGroupBody (so it shares the required-group rail's coordinate\n space and the two line up instead of doubling). */\n .options-readfirst-group {\n position: relative;\n }\n .options-readfirst-group > .reqore-panel-title > :first-child,\n .options-readfirst-group > .reqore-panel-title > :first-child > :first-child,\n .options-readfirst-group .reqore-panel-title-label-row {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n /* An injected option action declared \\`show: 'hover'\\` \u2014 the shape ReqorePanel\n honors on the classic path \u2014 is revealed only while its row or card is\n hovered or holds focus. The compact slots render plain buttons, so the gate\n has to be CSS here. Kept focus-visible too, so the action stays reachable by\n keyboard. Opacity rather than display keeps the slot's width stable, so rows\n don't reflow on hover. */\n .options-injected-action-hover {\n opacity: 0;\n /* Not hit-testable while invisible \u2014 an opacity:0 button still takes taps\n and clicks, which reads as a mystery control firing out of nowhere. */\n pointer-events: none;\n transition: opacity 0.15s ease;\n }\n .readfirst-row:hover .options-injected-action-hover,\n .readfirst-row:focus-within .options-injected-action-hover,\n .options-readfirst-card:hover .options-injected-action-hover,\n .options-readfirst-card:focus-within .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n /* Touch and other hover-less pointers never fire :hover, so a hover-gated\n action would be permanently unreachable there. Show it unconditionally\n instead \u2014 losing the tidiness beats losing the functionality. */\n @media (hover: none), (pointer: coarse) {\n .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n }\n"])), function (_a) {
88
106
  var $stickyBoxes = _a.$stickyBoxes;
89
107
  return $stickyBoxes ? (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n &&& {\n overflow: visible;\n }\n "], ["\n &&& {\n overflow: visible;\n }\n "]))) : '';
90
108
  }, function (_a) {
@@ -109,9 +127,9 @@ exports.StyledGroupHeaderLine = styled_components_1.default.span(templateObject_
109
127
  });
110
128
  // A status box (Needs attention / Set / Optional). Matches the "Focus" prototype:
111
129
  // a barely-there accent border + a ~5%-opacity tint, NOT the loud intent border a
112
- // stock ReqorePanel draws. `$accent` is the box's theme colour (warning/success/
130
+ // stock ReqorePanel draws. `$accent` is the box's theme color (warning/success/
113
131
  // muted).
114
- exports.StyledStatusBox = (0, styled_components_1.default)(reqore_1.ReqorePanel)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n &&& {\n border: 1px solid ", ";\n /* $bg lets the muted \"Optional\" box opt into a darker, recessed surface\n instead of the faint accent tint the coloured boxes use. */\n background: ", ";\n border-radius: 10px;\n }\n\n /* A PINNED header needs a surface of its own.\n \n The box's tint lives on the wrapper, behind the header, and a `minimal`\n panel header is transparent \u2014 which is right while the header sits in the\n flow over its own box, and wrong the moment it pins, because the rows then\n scroll THROUGH it. Reqore's backdrop blur softens them but a 12% tint over\n moving text still reads as two overlaid labels.\n \n So repaint the pinned header as the box looks at rest: an opaque layer of\n the page background with the box's own translucent tint composited on top,\n which is exactly what the eye sees where the box meets the page. The\n Optional box already carries an opaque `$bg`, so that is used as-is.\n \n Only when `$surface` is supplied \u2014 i.e. only on a form that pins at all \u2014\n so an unpinned box is pixel-identical to before. */\n ", "\n"], ["\n &&& {\n border: 1px solid ", ";\n /* $bg lets the muted \"Optional\" box opt into a darker, recessed surface\n instead of the faint accent tint the coloured boxes use. */\n background: ", ";\n border-radius: 10px;\n }\n\n /* A PINNED header needs a surface of its own.\n \n The box's tint lives on the wrapper, behind the header, and a \\`minimal\\`\n panel header is transparent \u2014 which is right while the header sits in the\n flow over its own box, and wrong the moment it pins, because the rows then\n scroll THROUGH it. Reqore's backdrop blur softens them but a 12% tint over\n moving text still reads as two overlaid labels.\n \n So repaint the pinned header as the box looks at rest: an opaque layer of\n the page background with the box's own translucent tint composited on top,\n which is exactly what the eye sees where the box meets the page. The\n Optional box already carries an opaque \\`$bg\\`, so that is used as-is.\n \n Only when \\`$surface\\` is supplied \u2014 i.e. only on a form that pins at all \u2014\n so an unpinned box is pixel-identical to before. */\n ", "\n"])), function (_a) {
132
+ exports.StyledStatusBox = (0, styled_components_1.default)(reqore_1.ReqorePanel)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n &&& {\n border: 1px solid ", ";\n /* $bg lets the muted \"Optional\" box opt into a darker, recessed surface\n instead of the faint accent tint the colored boxes use. */\n background: ", ";\n border-radius: 10px;\n }\n\n /* A PINNED header needs a surface of its own.\n \n The box's tint lives on the wrapper, behind the header, and a `minimal`\n panel header is transparent \u2014 which is right while the header sits in the\n flow over its own box, and wrong the moment it pins, because the rows then\n scroll THROUGH it. Reqore's backdrop blur softens them but a 12% tint over\n moving text still reads as two overlaid labels.\n \n So repaint the pinned header as the box looks at rest: an opaque layer of\n the page background with the box's own translucent tint composited on top,\n which is exactly what the eye sees where the box meets the page. The\n Optional box already carries an opaque `$bg`, so that is used as-is.\n \n Only when `$surface` is supplied \u2014 i.e. only on a form that pins at all \u2014\n so an unpinned box is pixel-identical to before. */\n ", "\n"], ["\n &&& {\n border: 1px solid ", ";\n /* $bg lets the muted \"Optional\" box opt into a darker, recessed surface\n instead of the faint accent tint the colored boxes use. */\n background: ", ";\n border-radius: 10px;\n }\n\n /* A PINNED header needs a surface of its own.\n \n The box's tint lives on the wrapper, behind the header, and a \\`minimal\\`\n panel header is transparent \u2014 which is right while the header sits in the\n flow over its own box, and wrong the moment it pins, because the rows then\n scroll THROUGH it. Reqore's backdrop blur softens them but a 12% tint over\n moving text still reads as two overlaid labels.\n \n So repaint the pinned header as the box looks at rest: an opaque layer of\n the page background with the box's own translucent tint composited on top,\n which is exactly what the eye sees where the box meets the page. The\n Optional box already carries an opaque \\`$bg\\`, so that is used as-is.\n \n Only when \\`$surface\\` is supplied \u2014 i.e. only on a form that pins at all \u2014\n so an unpinned box is pixel-identical to before. */\n ", "\n"])), function (_a) {
115
133
  var $accent = _a.$accent;
116
134
  return "".concat($accent, "33");
117
135
  }, function (_a) {
@@ -125,7 +143,7 @@ exports.StyledStatusBox = (0, styled_components_1.default)(reqore_1.ReqorePanel)
125
143
  // one-of required group (in the Needs-attention box) so the constraint reads as
126
144
  // one unit. The connection rail + status nodes still render inside (they convey
127
145
  // which member satisfies the group); this box adds the explicit heading.
128
- exports.StyledRequiredClusterBox = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n border: 1px solid ", ";\n border-radius: 8px;\n background: ", ";\n padding: 2px 6px 6px;\n margin: 4px 0;\n /* The members render directly here (not via the gapped group body), so give\n them the same modest gap the rest of the rows have. Pin the divider-centring\n var to that gap (it doesn't widen in narrow like the group body's does). */\n display: flex;\n flex-flow: column;\n --readfirst-row-gap: 4px;\n gap: 4px;\n"], ["\n border: 1px solid ", ";\n border-radius: 8px;\n background: ", ";\n padding: 2px 6px 6px;\n margin: 4px 0;\n /* The members render directly here (not via the gapped group body), so give\n them the same modest gap the rest of the rows have. Pin the divider-centring\n var to that gap (it doesn't widen in narrow like the group body's does). */\n display: flex;\n flex-flow: column;\n --readfirst-row-gap: 4px;\n gap: 4px;\n"])), function (_a) {
146
+ exports.StyledRequiredClusterBox = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n border: 1px solid ", ";\n border-radius: 8px;\n background: ", ";\n padding: 2px 6px 6px;\n margin: 4px 0;\n /* The members render directly here (not via the gapped group body), so give\n them the same modest gap the rest of the rows have. Pin the divider-centering\n var to that gap (it doesn't widen in narrow like the group body's does). */\n display: flex;\n flex-flow: column;\n --readfirst-row-gap: 4px;\n gap: 4px;\n"], ["\n border: 1px solid ", ";\n border-radius: 8px;\n background: ", ";\n padding: 2px 6px 6px;\n margin: 4px 0;\n /* The members render directly here (not via the gapped group body), so give\n them the same modest gap the rest of the rows have. Pin the divider-centering\n var to that gap (it doesn't widen in narrow like the group body's does). */\n display: flex;\n flex-flow: column;\n --readfirst-row-gap: 4px;\n gap: 4px;\n"])), function (_a) {
129
147
  var $border = _a.$border;
130
148
  return $border;
131
149
  }, function (_a) {
@@ -189,7 +207,7 @@ exports.StyledCardLabel = styled_components_1.default.div(templateObject_17 || (
189
207
  });
190
208
  /* min-width: 0 lets the grid cell shrink below its content's intrinsic width
191
209
  so the ellipsis engages instead of overflowing. */
192
- exports.StyledRowValue = styled_components_1.default.div(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n min-width: 0;\n font-size: 13px;\n /* Value + inline reason(s) share the line, wrapping the reason below only when\n it doesn't fit (the Focus prototype's layout). */\n display: flex;\n flex-wrap: wrap;\n align-items: baseline;\n column-gap: 10px;\n row-gap: 2px;\n /* The muted/translucent colour applies to the VALUE TEXT only \u2014 not the whole\n cell \u2014 so the message panels and the structured preview below render at full\n opacity instead of inheriting the dimmed value colour. */\n .options-readfirst-valuetext {\n min-width: 0;\n max-width: 100%;\n color: ", ";\n font-style: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n /* The code size chip kept above an OPEN editor. The read row puts the same chip\n at the top of the value cell with a 2px row-gap under it; matching that here is\n what stops the editor moving as the field opens. */\n .options-readfirst-editing-summary {\n margin-bottom: 2px;\n }\n .options-readfirst-reason {\n font-style: italic;\n font-size: 12px;\n line-height: 1.3;\n }\n /* Schema message panels: full width of the value column, on their own line\n directly beneath the value. */\n .options-readfirst-info-panel {\n flex-basis: 100%;\n width: 100%;\n display: flex;\n flex-flow: column;\n gap: 4px;\n margin-top: 4px;\n }\n /* Read-only companions of the value: what a chosen option means, on its own\n line under it; and a long text drawn in full in the inset. */\n .options-readfirst-choice-desc {\n flex-basis: 100%;\n width: 100%;\n min-width: 0;\n font-size: 12px;\n line-height: 1.4;\n opacity: 0.6;\n }\n .options-readfirst-text {\n color: ", ";\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n line-height: 1.5;\n }\n"], ["\n min-width: 0;\n font-size: 13px;\n /* Value + inline reason(s) share the line, wrapping the reason below only when\n it doesn't fit (the Focus prototype's layout). */\n display: flex;\n flex-wrap: wrap;\n align-items: baseline;\n column-gap: 10px;\n row-gap: 2px;\n /* The muted/translucent colour applies to the VALUE TEXT only \u2014 not the whole\n cell \u2014 so the message panels and the structured preview below render at full\n opacity instead of inheriting the dimmed value colour. */\n .options-readfirst-valuetext {\n min-width: 0;\n max-width: 100%;\n color: ", ";\n font-style: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n /* The code size chip kept above an OPEN editor. The read row puts the same chip\n at the top of the value cell with a 2px row-gap under it; matching that here is\n what stops the editor moving as the field opens. */\n .options-readfirst-editing-summary {\n margin-bottom: 2px;\n }\n .options-readfirst-reason {\n font-style: italic;\n font-size: 12px;\n line-height: 1.3;\n }\n /* Schema message panels: full width of the value column, on their own line\n directly beneath the value. */\n .options-readfirst-info-panel {\n flex-basis: 100%;\n width: 100%;\n display: flex;\n flex-flow: column;\n gap: 4px;\n margin-top: 4px;\n }\n /* Read-only companions of the value: what a chosen option means, on its own\n line under it; and a long text drawn in full in the inset. */\n .options-readfirst-choice-desc {\n flex-basis: 100%;\n width: 100%;\n min-width: 0;\n font-size: 12px;\n line-height: 1.4;\n opacity: 0.6;\n }\n .options-readfirst-text {\n color: ", ";\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n line-height: 1.5;\n }\n"])), function (_a) {
210
+ exports.StyledRowValue = styled_components_1.default.div(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n min-width: 0;\n font-size: 13px;\n /* Value + inline reason(s) share the line, wrapping the reason below only when\n it doesn't fit (the Focus prototype's layout). */\n display: flex;\n flex-wrap: wrap;\n align-items: baseline;\n column-gap: 10px;\n row-gap: 2px;\n /* The muted/translucent color applies to the VALUE TEXT only \u2014 not the whole\n cell \u2014 so the message panels and the structured preview below render at full\n opacity instead of inheriting the dimmed value color. */\n .options-readfirst-valuetext {\n min-width: 0;\n max-width: 100%;\n color: ", ";\n font-style: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n /* The code size chip kept above an OPEN editor. The read row puts the same chip\n at the top of the value cell with a 2px row-gap under it; matching that here is\n what stops the editor moving as the field opens. */\n .options-readfirst-editing-summary {\n margin-bottom: 2px;\n }\n .options-readfirst-reason {\n font-style: italic;\n font-size: 12px;\n line-height: 1.3;\n }\n /* The reason that follows the value shares its line and wraps within its own box. As a flex item\n sized to its text it could only share the line whole: a reason longer than the room beside the\n value went to the line below as a block, and an empty value's dash was left alone on its line,\n the reason under it like the text of a list item under its bullet (qorus#646). It goes below\n only when the value leaves it less than 16em. */\n .options-readfirst-valuetext + .options-readfirst-reason {\n flex: 1 1 16em;\n min-width: 0;\n }\n /* Schema message panels: full width of the value column, on their own line\n directly beneath the value. */\n .options-readfirst-info-panel {\n flex-basis: 100%;\n width: 100%;\n display: flex;\n flex-flow: column;\n gap: 4px;\n margin-top: 4px;\n }\n /* Read-only companions of the value: what a chosen option means, on its own\n line under it; and a long text drawn in full in the inset. */\n .options-readfirst-choice-desc {\n flex-basis: 100%;\n width: 100%;\n min-width: 0;\n font-size: 12px;\n line-height: 1.4;\n opacity: 0.6;\n }\n .options-readfirst-text {\n color: ", ";\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n line-height: 1.5;\n }\n"], ["\n min-width: 0;\n font-size: 13px;\n /* Value + inline reason(s) share the line, wrapping the reason below only when\n it doesn't fit (the Focus prototype's layout). */\n display: flex;\n flex-wrap: wrap;\n align-items: baseline;\n column-gap: 10px;\n row-gap: 2px;\n /* The muted/translucent color applies to the VALUE TEXT only \u2014 not the whole\n cell \u2014 so the message panels and the structured preview below render at full\n opacity instead of inheriting the dimmed value color. */\n .options-readfirst-valuetext {\n min-width: 0;\n max-width: 100%;\n color: ", ";\n font-style: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n /* The code size chip kept above an OPEN editor. The read row puts the same chip\n at the top of the value cell with a 2px row-gap under it; matching that here is\n what stops the editor moving as the field opens. */\n .options-readfirst-editing-summary {\n margin-bottom: 2px;\n }\n .options-readfirst-reason {\n font-style: italic;\n font-size: 12px;\n line-height: 1.3;\n }\n /* The reason that follows the value shares its line and wraps within its own box. As a flex item\n sized to its text it could only share the line whole: a reason longer than the room beside the\n value went to the line below as a block, and an empty value's dash was left alone on its line,\n the reason under it like the text of a list item under its bullet (qorus#646). It goes below\n only when the value leaves it less than 16em. */\n .options-readfirst-valuetext + .options-readfirst-reason {\n flex: 1 1 16em;\n min-width: 0;\n }\n /* Schema message panels: full width of the value column, on their own line\n directly beneath the value. */\n .options-readfirst-info-panel {\n flex-basis: 100%;\n width: 100%;\n display: flex;\n flex-flow: column;\n gap: 4px;\n margin-top: 4px;\n }\n /* Read-only companions of the value: what a chosen option means, on its own\n line under it; and a long text drawn in full in the inset. */\n .options-readfirst-choice-desc {\n flex-basis: 100%;\n width: 100%;\n min-width: 0;\n font-size: 12px;\n line-height: 1.4;\n opacity: 0.6;\n }\n .options-readfirst-text {\n color: ", ";\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n line-height: 1.5;\n }\n"])), function (_a) {
193
211
  var $color = _a.$color;
194
212
  return $color;
195
213
  }, function (_a) {
@@ -200,7 +218,7 @@ exports.StyledRowValue = styled_components_1.default.div(templateObject_18 || (t
200
218
  return $color;
201
219
  });
202
220
  exports.StyledRowActions = styled_components_1.default.div(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n /* No align-self override: the actions (incl. the status dot) follow the row's\n own vertical alignment \u2014 CENTRED on the common single-line row, TOP-aligned\n (first line) on the tall rows that opt into align-items:start (descriptions /\n message panels / hash previews). */\n gap: 6px;\n"], ["\n display: flex;\n align-items: center;\n /* No align-self override: the actions (incl. the status dot) follow the row's\n own vertical alignment \u2014 CENTRED on the common single-line row, TOP-aligned\n (first line) on the tall rows that opt into align-items:start (descriptions /\n message panels / hash previews). */\n gap: 6px;\n"])));
203
- // A single status mark pinned at the row's trailing edge: one dot, colour =
221
+ // A single status mark pinned at the row's trailing edge: one dot, color =
204
222
  // severity (danger/warning/success). This is the "Focus" read-first signal that
205
223
  // replaces the recessed value surface's intent stripe — attention dots carry a
206
224
  // faint ring, a plain "set" dot does not. `unset` rows render no dot.
@@ -221,16 +239,12 @@ exports.StyledColumn = styled_components_1.default.div(templateObject_22 || (tem
221
239
  // the wrapping value cell) so it lines up with the value, not the label gutter.
222
240
  exports.StyledRowInset = styled_components_1.default.div(templateObject_23 || (templateObject_23 = __makeTemplateObject(["\n flex-basis: 100%;\n width: 100%;\n margin-top: 4px;\n"], ["\n flex-basis: 100%;\n width: 100%;\n margin-top: 4px;\n"])));
223
241
  /**
224
- * The stack literal text renders in: source, ids, tokens, data strings.
225
- *
226
- * Defined HERE rather than taken from reqore's `ReqoreFonts.mono`, which is the
227
- * same stack. Reqore is a peer dependency at `>=0.71.16` and that export arrived
228
- * later, so reading it would crash every consumer inside the declared range —
229
- * the whole form preview lost over a font choice. One local constant costs
230
- * nothing and keeps the code preview and the schema view's data values
231
- * identical, which is the only reason to share it in the first place.
242
+ * The stack literal text renders in: source, ids, tokens, data strings - reqore's own (`ReqoreFonts.mono`), as
243
+ * the expression editor's, so the code preview, the schema view's data values and the editor's text are one face.
244
+ * It has been in reqore since 0.72.7, below the peer range (`>=0.74.0`). Never the bare generic `monospace`:
245
+ * that is the browser's default fixed-width font (Courier in Chrome on macOS), larger than the text beside it.
232
246
  */
233
- exports.MONO_FONT_STACK = "ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace";
247
+ exports.MONO_FONT_STACK = reqore_1.ReqoreFonts.mono;
234
248
  // A collapsed code-block preview shown under the value summary for a
235
249
  // `code-editor` field. Multi-line, monospace, subtle background — matches
236
250
  // the aesthetic of the classic code-view surface but small enough to sit
@@ -246,15 +260,7 @@ exports.StyledCodePreview = styled_components_1.default.pre(templateObject_24 ||
246
260
  var $fg = _a.$fg;
247
261
  return $fg;
248
262
  }, exports.MONO_FONT_STACK);
249
- // A small inline colour swatch shown before an rgbcolor value's hex string.
250
- exports.StyledColorSwatch = styled_components_1.default.span(templateObject_25 || (templateObject_25 = __makeTemplateObject(["\n width: 12px;\n height: 12px;\n border-radius: 3px;\n flex: 0 0 auto;\n background: ", ";\n border: 1px solid ", ";\n"], ["\n width: 12px;\n height: 12px;\n border-radius: 3px;\n flex: 0 0 auto;\n background: ", ";\n border: 1px solid ", ";\n"])), function (_a) {
251
- var $color = _a.$color;
252
- return $color;
253
- }, function (_a) {
254
- var $border = _a.$border;
255
- return $border;
256
- });
257
- exports.StyledGroupBody = styled_components_1.default.div(templateObject_26 || (templateObject_26 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n position: relative;\n /* Exposed as a var so the inter-field divider can centre itself in the gap\n (the gap differs wide vs narrow). */\n --readfirst-row-gap: 4px;\n gap: var(--readfirst-row-gap);\n\n /* Indent each field block under the group header by a FLUID step. The %\n resolves against this container's width (not the screen), so it tracks the\n (Field blocks no longer get a left gutter \u2014 the spine/rail that needed it are\n gone, so rows sit flush against the box, like the Focus prototype.) */\n > * {\n margin-left: 0;\n }\n\n /* No group spine: the \"Focus\" look keeps the rows flat against the box. (The\n required-group rail is a separate descendant ::after and still renders.) */\n\n .readfirst-row {\n display: grid;\n /* Fixed label column: the recessed value surface (::before below) starts at a\n constant x, so the label width can't flex or the stripe would drift off the\n value edge. The value column is minmax(0, 1fr) \u2014 a bare 1fr keeps its\n min-content width, so a long unbroken value (e.g. a URL) would force the\n grid wider than its container and produce a horizontal scrollbar. The 0\n minimum lets it shrink and the value cell's ellipsis take over instead. */\n grid-template-columns: ", " minmax(0, 1fr) auto;\n /* CENTRE the cells vertically: on the common single-line read row the label,\n value and status dot all sit on one centred line. Tall rows (a shown\n description, message panels or a hash preview) opt back into top-alignment\n (.readfirst-row-info-open / .readfirst-row-tall below) so the label + dot\n stay on the value's FIRST line instead of floating to the middle. */\n align-items: center;\n gap: 14px;\n /* Generous, SYMMETRIC vertical padding so a single-line row isn't cramped\n (content sits with even breathing room top + bottom); a min-height floor\n keeps the rare shorter row a comfortable tap target. */\n min-height: 40px;\n padding: 9px 10px;\n border-radius: 6px;\n cursor: pointer;\n transition: background 0.12s ease;\n }\n /* A dim hairline in the gap below each field so its start/end reads clearly.\n Absolutely positioned (not a border) so it stays straight + full-width and\n the row's rounded hover highlight is unaffected; sits in the inter-row gap. */\n .readfirst-row::after {\n content: '';\n position: absolute;\n /* Inset to the row's horizontal padding so the line spans the content, not\n the full box edge-to-edge. */\n left: ", "px;\n right: ", "px;\n /* Centred in the inter-field gap (which differs wide vs narrow) so the space\n above and below each line is equal. */\n bottom: calc(var(--readfirst-row-gap, 4px) / -2);\n height: 1px;\n background: ", ";\n opacity: 0.5;\n pointer-events: none;\n z-index: 0;\n }\n .readfirst-row:last-child::after {\n display: none;\n }\n .readfirst-row:hover {\n background: ", ";\n }\n .readfirst-row:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n background: ", ";\n }\n /* A hidden (not-yet-added) field surfaced by the search is dimmed. */\n .readfirst-row-hidden {\n opacity: 0.65;\n }\n /* The \"N more fields\" control IS a field row \u2014 same grid, same padding, same\n hover \u2014 so it lines up with the rows above instead of floating as a scrap\n of text in the box's corner. A dashed edge and a lower-contrast label are\n what say it is not itself a field: nothing here can be set.\n\n It spans both content columns because it has no label/value split, and it\n drops the inter-row hairline (the ::after rule) since it always sits last. */\n .readfirst-more-row {\n grid-template-columns: 1fr auto;\n border: 1px dashed ", ";\n background: transparent;\n width: 100%;\n text-align: left;\n font: inherit;\n color: inherit;\n /* The dashed edge replaces the hairline; two lines would read as a divider\n AND a border stacked. */\n margin-top: 2px;\n }\n .readfirst-more-row::after {\n display: none;\n }\n .readfirst-more-row:hover {\n background: ", ";\n border-style: solid;\n }\n .readfirst-more-row:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n /* The chevron points the way the click goes: down to reveal, up to fold. */\n .readfirst-more-row .readfirst-more-chevron {\n transition: transform 0.15s ease;\n }\n .readfirst-more-row[aria-expanded='true'] .readfirst-more-chevron {\n transform: rotate(180deg);\n }\n /* A disabled field (schema disabled flag or unmet dependencies) is not a\n click target \u2014 no hover invite, not-allowed cursor; a lock replaces the\n pencil. */\n /* A disabled field reads dimmed (its name + value at 0.6) \u2014 clearly inactive. */\n .readfirst-row-disabled {\n cursor: not-allowed;\n opacity: 0.6;\n }\n .readfirst-row-disabled:hover {\n background: transparent;\n }\n /* Required-group linkage: hovering a member highlights every sibling row \u2014\n just a background tint, no left stripe (that reads as an intent edge). */\n .readfirst-row-group-highlight {\n background: ", ";\n }\n .readfirst-row-flash {\n animation: readfirstRowFlash 1.4s ease;\n }\n @keyframes readfirstRowFlash {\n 0% {\n background: ", ";\n }\n 100% {\n background: transparent;\n }\n }\n /* A scalar row being edited in place: the real editor replaces the value\n cell. The row stops being a click target (the editor owns the clicks) and\n keeps a constant active background. Vertical padding is tightened so the\n editor fits inside the same ~38px the read row occupies \u2014 switching into\n (and out of) inline editing must not shift the rows around it. */\n .readfirst-row-editing {\n cursor: default;\n /* Top-anchor the cells: with multi-line editors (e.g. allowed-values =\n input + picker), per-cell centring gives every control a different\n anchor. Instead everything aligns to the FIRST editor line \u2014 label and\n the \u2713/\u21BA cluster get small offsets to sit optically centred on it. */\n align-items: start;\n background: ", ";\n /* No top padding (the per-cell nudges below anchor the editor to the first\n line), but a real BOTTOM padding so the editor never sits flush against\n the row's bottom edge \u2014 a tall input used to look clipped/unfinished. */\n padding-top: 0;\n padding-bottom: 9px;\n /* Tighter column gap: the editor's trailing template \u22EE and our \u2713 should\n read as one control cluster, not two separated groups. */\n column-gap: 6px;\n }\n /* Centre each cell's content on the row's ~38px first-line band. The label\n text (+10) and the \u2713/\u21BA cluster (+3) were already nudged, but the editor\n cell was not \u2014 so a single-line input sat ~3px above the buttons. A 32px\n control needs +3 to centre in 38px, so the editor gets the same offset and\n lines up with the buttons. (A multi-line editor's first line lands on the\n band too; its extra rows grow downward.) */\n .readfirst-row-editing > div:nth-child(1) {\n padding-top: 10px;\n }\n .readfirst-row-editing > div:nth-child(2) {\n padding-top: 3px;\n }\n .readfirst-row-editing > div:nth-child(3) {\n padding-top: 3px;\n }\n /* A read-only row is not a control. No pointer and no hover tint, because a\n click does nothing; and its value wraps in full \u2014 the row is the only\n rendering the value gets, so a line cut with an ellipsis would be the\n reader's whole answer. */\n .readfirst-row-read {\n cursor: default;\n }\n .readfirst-row-read:hover {\n background: transparent;\n }\n .readfirst-row-read .options-readfirst-valuetext {\n white-space: pre-wrap;\n overflow: visible;\n text-overflow: clip;\n overflow-wrap: anywhere;\n }\n .readfirst-row-editing:hover {\n background: ", ";\n }\n\n /* Narrow FORMS (phone / slim drawer): stack each row \u2014 label + actions share\n the first line, the value cell (or the inline editor) takes the full width\n beneath. The class is set from a measured wrap width (react-use useMeasure)\n rather than a viewport media query, so a slim desktop drawer stacks too.\n The 3 row children are placed explicitly:\n label (1,1) \u00B7 actions (1,2) \u00B7 value (2, span both). */\n /* Generous breathing room BETWEEN fields when stacked \u2014 far easier to scan and\n less overwhelming on a phone. */\n &.readfirst-narrow {\n --readfirst-row-gap: 18px;\n }\n &.readfirst-narrow .readfirst-row {\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 2px 14px;\n position: relative;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(1) {\n grid-column: 1;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(3) {\n grid-column: 2;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n grid-column: 1 / -1;\n grid-row: 2;\n }\n /* Read (non-editing) rows: float the trailing actions (status dot + the\n hover-revealed delete/revert) out of the grid flow so a delete button can't\n inflate the first row and push the value down. They're pinned to a band the\n height of the LABEL line and vertically centred in it \u2014 so the dot always\n sits at the same place (centred on the field name), never the bare corner. */\n &.readfirst-narrow .readfirst-row:not(.readfirst-row-editing) > :nth-child(3) {\n position: absolute;\n top: 2px;\n right: 10px;\n height: 22px;\n }\n &.readfirst-narrow .readfirst-row:not(.readfirst-row-editing) > :nth-child(1) {\n padding-right: 46px;\n }\n\n /* Focus calm rows: NO recessed value surface and NO intent stripe. Row status\n is carried by the trailing status dot; message/preview panels keep their own\n intent backgrounds. The (now invisible) pseudo is retained only to preserve\n the block's positioning/stacking context that the required-group rail and its\n cluster nodes resolve against \u2014 removing it would unmoor them. */\n > *:not(.options-readfirst-card) {\n position: relative;\n }\n > *:not(.options-readfirst-card)::before {\n content: '';\n position: absolute;\n inset: 0;\n left: ", ";\n background: transparent;\n pointer-events: none;\n z-index: 0;\n }\n /* Content rides above the surface layer \u2014 except the cluster node, which is\n absolutely positioned in the gutter and must keep its own positioning. */\n > *:not(.options-readfirst-card) > *:not(.options-readfirst-node) {\n position: relative;\n z-index: 1;\n }\n\n /* (The required-group connection rail was removed \u2014 the \"One of the below is\n required\" box now carries the grouping.) */\n\n /* Tall rows top-anchor (overriding the row's centred default) so the label and\n dot stay on the value's FIRST line rather than floating to the vertical\n middle: .readfirst-row-info-open = a shown short_desc grows the LABEL;\n .readfirst-row-tall = message panels / a hash preview grow the VALUE cell. */\n .readfirst-row-info-open,\n .readfirst-row-tall {\n align-items: start;\n }\n /* Narrow stacks label-over-value: the value aligns flush UNDER the label (no\n indent), like the Focus prototype. */\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n padding-left: 0;\n }\n &.readfirst-narrow > *:not(.options-readfirst-card)::before {\n left: 0;\n }\n /* Touch layouts have no hover: a slot reserved for the hover-revealed edit\n pencil is permanent dead space that insets every chip from the edge \u2014\n drop it (rows are tap-to-edit; the lock/add slots stay, they're static). */\n &.readfirst-narrow .options-readfirst-trailing-hover-only {\n /* !important: the slot carries an inline display for the desktop layout. */\n display: none !important;\n }\n /* Stacked rows: keep them tight (match the Focus prototype). The min-height is\n dropped so a 2-line label+value row sizes to its content instead of being\n padded out to 38px. The in-place editor keeps zero padding (below). */\n &.readfirst-narrow .readfirst-row {\n padding-top: 2px;\n padding-bottom: 2px;\n min-height: 0;\n }\n &.readfirst-narrow .readfirst-row-editing {\n padding-top: 0;\n padding-bottom: 0;\n }\n"], ["\n display: flex;\n flex-flow: column;\n position: relative;\n /* Exposed as a var so the inter-field divider can centre itself in the gap\n (the gap differs wide vs narrow). */\n --readfirst-row-gap: 4px;\n gap: var(--readfirst-row-gap);\n\n /* Indent each field block under the group header by a FLUID step. The %\n resolves against this container's width (not the screen), so it tracks the\n (Field blocks no longer get a left gutter \u2014 the spine/rail that needed it are\n gone, so rows sit flush against the box, like the Focus prototype.) */\n > * {\n margin-left: 0;\n }\n\n /* No group spine: the \"Focus\" look keeps the rows flat against the box. (The\n required-group rail is a separate descendant ::after and still renders.) */\n\n .readfirst-row {\n display: grid;\n /* Fixed label column: the recessed value surface (::before below) starts at a\n constant x, so the label width can't flex or the stripe would drift off the\n value edge. The value column is minmax(0, 1fr) \u2014 a bare 1fr keeps its\n min-content width, so a long unbroken value (e.g. a URL) would force the\n grid wider than its container and produce a horizontal scrollbar. The 0\n minimum lets it shrink and the value cell's ellipsis take over instead. */\n grid-template-columns: ", " minmax(0, 1fr) auto;\n /* CENTRE the cells vertically: on the common single-line read row the label,\n value and status dot all sit on one centred line. Tall rows (a shown\n description, message panels or a hash preview) opt back into top-alignment\n (.readfirst-row-info-open / .readfirst-row-tall below) so the label + dot\n stay on the value's FIRST line instead of floating to the middle. */\n align-items: center;\n gap: 14px;\n /* Generous, SYMMETRIC vertical padding so a single-line row isn't cramped\n (content sits with even breathing room top + bottom); a min-height floor\n keeps the rare shorter row a comfortable tap target. */\n min-height: 40px;\n padding: 9px 10px;\n border-radius: 6px;\n cursor: pointer;\n transition: background 0.12s ease;\n }\n /* A dim hairline in the gap below each field so its start/end reads clearly.\n Absolutely positioned (not a border) so it stays straight + full-width and\n the row's rounded hover highlight is unaffected; sits in the inter-row gap. */\n .readfirst-row::after {\n content: '';\n position: absolute;\n /* Inset to the row's horizontal padding so the line spans the content, not\n the full box edge-to-edge. */\n left: ", "px;\n right: ", "px;\n /* Centred in the inter-field gap (which differs wide vs narrow) so the space\n above and below each line is equal. */\n bottom: calc(var(--readfirst-row-gap, 4px) / -2);\n height: 1px;\n background: ", ";\n opacity: 0.5;\n pointer-events: none;\n z-index: 0;\n }\n .readfirst-row:last-child::after {\n display: none;\n }\n .readfirst-row:hover {\n background: ", ";\n }\n .readfirst-row:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n background: ", ";\n }\n /* A hidden (not-yet-added) field surfaced by the search is dimmed. */\n .readfirst-row-hidden {\n opacity: 0.65;\n }\n /* The \"N more fields\" control IS a field row \u2014 same grid, same padding, same\n hover \u2014 so it lines up with the rows above instead of floating as a scrap\n of text in the box's corner. A dashed edge and a lower-contrast label are\n what say it is not itself a field: nothing here can be set.\n\n It spans both content columns because it has no label/value split, and it\n drops the inter-row hairline (the ::after rule) since it always sits last. */\n .readfirst-more-row {\n grid-template-columns: 1fr auto;\n border: 1px dashed ", ";\n background: transparent;\n width: 100%;\n text-align: left;\n font: inherit;\n color: inherit;\n /* The dashed edge replaces the hairline; two lines would read as a divider\n AND a border stacked. */\n margin-top: 2px;\n }\n .readfirst-more-row::after {\n display: none;\n }\n .readfirst-more-row:hover {\n background: ", ";\n border-style: solid;\n }\n .readfirst-more-row:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n /* The chevron points the way the click goes: down to reveal, up to fold. */\n .readfirst-more-row .readfirst-more-chevron {\n transition: transform 0.15s ease;\n }\n .readfirst-more-row[aria-expanded='true'] .readfirst-more-chevron {\n transform: rotate(180deg);\n }\n /* A disabled field (schema disabled flag or unmet dependencies) is not a\n click target \u2014 no hover invite, not-allowed cursor; a lock replaces the\n pencil. */\n /* A disabled field reads dimmed (its name + value at 0.6) \u2014 clearly inactive. */\n .readfirst-row-disabled {\n cursor: not-allowed;\n opacity: 0.6;\n }\n .readfirst-row-disabled:hover {\n background: transparent;\n }\n /* Required-group linkage: hovering a member highlights every sibling row \u2014\n just a background tint, no left stripe (that reads as an intent edge). */\n .readfirst-row-group-highlight {\n background: ", ";\n }\n .readfirst-row-flash {\n animation: readfirstRowFlash 1.4s ease;\n }\n @keyframes readfirstRowFlash {\n 0% {\n background: ", ";\n }\n 100% {\n background: transparent;\n }\n }\n /* A scalar row being edited in place: the real editor replaces the value\n cell. The row stops being a click target (the editor owns the clicks) and\n keeps a constant active background. Vertical padding is tightened so the\n editor fits inside the same ~38px the read row occupies \u2014 switching into\n (and out of) inline editing must not shift the rows around it. */\n .readfirst-row-editing {\n cursor: default;\n /* Top-anchor the cells: with multi-line editors (e.g. allowed-values =\n input + picker), per-cell centring gives every control a different\n anchor. Instead everything aligns to the FIRST editor line \u2014 label and\n the \u2713/\u21BA cluster get small offsets to sit optically centred on it. */\n align-items: start;\n background: ", ";\n /* No top padding (the per-cell nudges below anchor the editor to the first\n line), but a real BOTTOM padding so the editor never sits flush against\n the row's bottom edge \u2014 a tall input used to look clipped/unfinished. */\n padding-top: 0;\n padding-bottom: 9px;\n /* Tighter column gap: the editor's trailing template \u22EE and our \u2713 should\n read as one control cluster, not two separated groups. */\n column-gap: 6px;\n }\n /* Centre each cell's content on the row's ~38px first-line band. The label\n text (+10) and the \u2713/\u21BA cluster (+3) were already nudged, but the editor\n cell was not \u2014 so a single-line input sat ~3px above the buttons. A 32px\n control needs +3 to centre in 38px, so the editor gets the same offset and\n lines up with the buttons. (A multi-line editor's first line lands on the\n band too; its extra rows grow downward.) */\n .readfirst-row-editing > div:nth-child(1) {\n padding-top: 10px;\n }\n .readfirst-row-editing > div:nth-child(2) {\n padding-top: 3px;\n }\n .readfirst-row-editing > div:nth-child(3) {\n padding-top: 3px;\n }\n /* A read-only row is not a control. No pointer and no hover tint, because a\n click does nothing; and its value wraps in full \u2014 the row is the only\n rendering the value gets, so a line cut with an ellipsis would be the\n reader's whole answer. */\n .readfirst-row-read {\n cursor: default;\n }\n .readfirst-row-read:hover {\n background: transparent;\n }\n .readfirst-row-read .options-readfirst-valuetext {\n white-space: pre-wrap;\n overflow: visible;\n text-overflow: clip;\n overflow-wrap: anywhere;\n }\n .readfirst-row-editing:hover {\n background: ", ";\n }\n\n /* Narrow FORMS (phone / slim drawer): stack each row \u2014 label + actions share\n the first line, the value cell (or the inline editor) takes the full width\n beneath. The class is set from a measured wrap width (react-use useMeasure)\n rather than a viewport media query, so a slim desktop drawer stacks too.\n The 3 row children are placed explicitly:\n label (1,1) \u00B7 actions (1,2) \u00B7 value (2, span both). */\n /* Generous breathing room BETWEEN fields when stacked \u2014 far easier to scan and\n less overwhelming on a phone. */\n &.readfirst-narrow {\n --readfirst-row-gap: 18px;\n }\n &.readfirst-narrow .readfirst-row {\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 2px 14px;\n position: relative;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(1) {\n grid-column: 1;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(3) {\n grid-column: 2;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n grid-column: 1 / -1;\n grid-row: 2;\n }\n /* Read (non-editing) rows: float the trailing actions (status dot + the\n hover-revealed delete/revert) out of the grid flow so a delete button can't\n inflate the first row and push the value down. They're pinned to a band the\n height of the LABEL line and vertically centred in it \u2014 so the dot always\n sits at the same place (centred on the field name), never the bare corner. */\n &.readfirst-narrow .readfirst-row:not(.readfirst-row-editing) > :nth-child(3) {\n position: absolute;\n top: 2px;\n right: 10px;\n height: 22px;\n }\n &.readfirst-narrow .readfirst-row:not(.readfirst-row-editing) > :nth-child(1) {\n padding-right: 46px;\n }\n\n /* Focus calm rows: NO recessed value surface and NO intent stripe. Row status\n is carried by the trailing status dot; message/preview panels keep their own\n intent backgrounds. The (now invisible) pseudo is retained only to preserve\n the block's positioning/stacking context that the required-group rail and its\n cluster nodes resolve against \u2014 removing it would unmoor them. */\n > *:not(.options-readfirst-card) {\n position: relative;\n }\n > *:not(.options-readfirst-card)::before {\n content: '';\n position: absolute;\n inset: 0;\n left: ", ";\n background: transparent;\n pointer-events: none;\n z-index: 0;\n }\n /* Content rides above the surface layer \u2014 except the cluster node, which is\n absolutely positioned in the gutter and must keep its own positioning. */\n > *:not(.options-readfirst-card) > *:not(.options-readfirst-node) {\n position: relative;\n z-index: 1;\n }\n\n /* (The required-group connection rail was removed \u2014 the \"One of the below is\n required\" box now carries the grouping.) */\n\n /* Tall rows top-anchor (overriding the row's centred default) so the label and\n dot stay on the value's FIRST line rather than floating to the vertical\n middle: .readfirst-row-info-open = a shown short_desc grows the LABEL;\n .readfirst-row-tall = message panels / a hash preview grow the VALUE cell. */\n .readfirst-row-info-open,\n .readfirst-row-tall {\n align-items: start;\n }\n /* Narrow stacks label-over-value: the value aligns flush UNDER the label (no\n indent), like the Focus prototype. */\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n padding-left: 0;\n }\n &.readfirst-narrow > *:not(.options-readfirst-card)::before {\n left: 0;\n }\n /* Touch layouts have no hover: a slot reserved for the hover-revealed edit\n pencil is permanent dead space that insets every chip from the edge \u2014\n drop it (rows are tap-to-edit; the lock/add slots stay, they're static). */\n &.readfirst-narrow .options-readfirst-trailing-hover-only {\n /* !important: the slot carries an inline display for the desktop layout. */\n display: none !important;\n }\n /* Stacked rows: keep them tight (match the Focus prototype). The min-height is\n dropped so a 2-line label+value row sizes to its content instead of being\n padded out to 38px. The in-place editor keeps zero padding (below). */\n &.readfirst-narrow .readfirst-row {\n padding-top: 2px;\n padding-bottom: 2px;\n min-height: 0;\n }\n &.readfirst-narrow .readfirst-row-editing {\n padding-top: 0;\n padding-bottom: 0;\n }\n"])), exports.LABEL_COL, exports.COMPACT_ROW_PAD_X, exports.COMPACT_ROW_PAD_X, function (_a) {
263
+ exports.StyledGroupBody = styled_components_1.default.div(templateObject_25 || (templateObject_25 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n position: relative;\n /* Exposed as a var so the inter-field divider can center itself in the gap\n (the gap differs wide vs narrow). */\n --readfirst-row-gap: 4px;\n gap: var(--readfirst-row-gap);\n\n /* Indent each field block under the group header by a FLUID step. The %\n resolves against this container's width (not the screen), so it tracks the\n (Field blocks no longer get a left gutter \u2014 the spine/rail that needed it are\n gone, so rows sit flush against the box, like the Focus prototype.) */\n > * {\n margin-left: 0;\n }\n\n /* No group spine: the \"Focus\" look keeps the rows flat against the box. (The\n required-group rail is a separate descendant ::after and still renders.) */\n\n .readfirst-row {\n display: grid;\n /* Fixed label column: the recessed value surface (::before below) starts at a\n constant x, so the label width can't flex or the stripe would drift off the\n value edge. The value column is minmax(0, 1fr) \u2014 a bare 1fr keeps its\n min-content width, so a long unbroken value (e.g. a URL) would force the\n grid wider than its container and produce a horizontal scrollbar. The 0\n minimum lets it shrink and the value cell's ellipsis take over instead. */\n grid-template-columns: ", " minmax(0, 1fr) auto;\n /* CENTRE the cells vertically: on the common single-line read row the label,\n value and status dot all sit on one centered line. Tall rows (a shown\n description, message panels or a hash preview) opt back into top-alignment\n (.readfirst-row-info-open / .readfirst-row-tall below) so the label + dot\n stay on the value's FIRST line instead of floating to the middle. */\n align-items: center;\n gap: 14px;\n /* Generous, SYMMETRIC vertical padding so a single-line row isn't cramped\n (content sits with even breathing room top + bottom); a min-height floor\n keeps the rare shorter row a comfortable tap target. */\n min-height: 40px;\n padding: 9px 10px;\n border-radius: 6px;\n cursor: pointer;\n transition: background 0.12s ease;\n }\n /* A dim hairline in the gap below each field so its start/end reads clearly.\n Absolutely positioned (not a border) so it stays straight + full-width and\n the row's rounded hover highlight is unaffected; sits in the inter-row gap. */\n .readfirst-row::after {\n content: '';\n position: absolute;\n /* Inset to the row's horizontal padding so the line spans the content, not\n the full box edge-to-edge. */\n left: ", "px;\n right: ", "px;\n /* Centered in the inter-field gap (which differs wide vs narrow) so the space\n above and below each line is equal. */\n bottom: calc(var(--readfirst-row-gap, 4px) / -2);\n height: 1px;\n background: ", ";\n opacity: 0.5;\n pointer-events: none;\n z-index: 0;\n }\n .readfirst-row:last-child::after {\n display: none;\n }\n .readfirst-row:hover {\n background: ", ";\n }\n .readfirst-row:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n background: ", ";\n }\n /* A hidden (not-yet-added) field surfaced by the search is dimmed. */\n .readfirst-row-hidden {\n opacity: 0.65;\n }\n /* The \"N more fields\" control IS a field row \u2014 same grid, same padding, same\n hover \u2014 so it lines up with the rows above instead of floating as a scrap\n of text in the box's corner. A dashed edge and a lower-contrast label are\n what say it is not itself a field: nothing here can be set.\n\n It spans both content columns because it has no label/value split, and it\n drops the inter-row hairline (the ::after rule) since it always sits last. */\n .readfirst-more-row {\n grid-template-columns: 1fr auto;\n border: 1px dashed ", ";\n background: transparent;\n width: 100%;\n text-align: left;\n font: inherit;\n color: inherit;\n /* The dashed edge replaces the hairline; two lines would read as a divider\n AND a border stacked. */\n margin-top: 2px;\n }\n .readfirst-more-row::after {\n display: none;\n }\n .readfirst-more-row:hover {\n background: ", ";\n border-style: solid;\n }\n .readfirst-more-row:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n /* The chevron points the way the click goes: down to reveal, up to fold. */\n .readfirst-more-row .readfirst-more-chevron {\n transition: transform 0.15s ease;\n }\n .readfirst-more-row[aria-expanded='true'] .readfirst-more-chevron {\n transform: rotate(180deg);\n }\n /* A disabled field (schema disabled flag or unmet dependencies) is not a\n click target \u2014 no hover invite, not-allowed cursor; a lock replaces the\n pencil. */\n /* A disabled field reads dimmed (its name + value at 0.6) \u2014 clearly inactive. */\n .readfirst-row-disabled {\n cursor: not-allowed;\n opacity: 0.6;\n }\n .readfirst-row-disabled:hover {\n background: transparent;\n }\n /* Required-group linkage: hovering a member highlights every sibling row \u2014\n just a background tint, no left stripe (that reads as an intent edge). */\n .readfirst-row-group-highlight {\n background: ", ";\n }\n .readfirst-row-flash {\n animation: readfirstRowFlash 1.4s ease;\n }\n @keyframes readfirstRowFlash {\n 0% {\n background: ", ";\n }\n 100% {\n background: transparent;\n }\n }\n /* A scalar row being edited in place: the real editor replaces the value\n cell. The row stops being a click target (the editor owns the clicks) and\n keeps a constant active background. Vertical padding is tightened so the\n editor fits inside the same ~38px the read row occupies \u2014 switching into\n (and out of) inline editing must not shift the rows around it. */\n .readfirst-row-editing {\n cursor: default;\n /* Top-anchor the cells: with multi-line editors (e.g. allowed-values =\n input + picker), per-cell centering gives every control a different\n anchor. Instead everything aligns to the FIRST editor line \u2014 label and\n the \u2713/\u21BA cluster get small offsets to sit optically centered on it. */\n align-items: start;\n background: ", ";\n /* No top padding (the per-cell nudges below anchor the editor to the first\n line), but a real BOTTOM padding so the editor never sits flush against\n the row's bottom edge \u2014 a tall input used to look clipped/unfinished. */\n padding-top: 0;\n padding-bottom: 9px;\n /* Tighter column gap: the editor's trailing template \u22EE and our \u2713 should\n read as one control cluster, not two separated groups. */\n column-gap: 6px;\n }\n /* Center each cell's content on the row's ~38px first-line band. The label\n text (+10) and the \u2713/\u21BA cluster (+3) were already nudged, but the editor\n cell was not \u2014 so a single-line input sat ~3px above the buttons. A 32px\n control needs +3 to center in 38px, so the editor gets the same offset and\n lines up with the buttons. (A multi-line editor's first line lands on the\n band too; its extra rows grow downward.) */\n .readfirst-row-editing > div:nth-child(1) {\n padding-top: 10px;\n }\n .readfirst-row-editing > div:nth-child(2) {\n padding-top: 3px;\n }\n .readfirst-row-editing > div:nth-child(3) {\n padding-top: 3px;\n }\n /* A read-only row is not a control. No pointer and no hover tint, because a\n click does nothing; and its value wraps in full \u2014 the row is the only\n rendering the value gets, so a line cut with an ellipsis would be the\n reader's whole answer. */\n .readfirst-row-read {\n cursor: default;\n }\n .readfirst-row-read:hover {\n background: transparent;\n }\n .readfirst-row-read .options-readfirst-valuetext {\n white-space: pre-wrap;\n overflow: visible;\n text-overflow: clip;\n overflow-wrap: anywhere;\n }\n .readfirst-row-editing:hover {\n background: ", ";\n }\n\n /* Narrow FORMS (phone / slim drawer): stack each row \u2014 label + actions share\n the first line, the value cell (or the inline editor) takes the width\n beneath. The class is set where the value column would be narrower than\n COMPACT_MIN_VALUE_WIDTH beside the measured label column (isCompactNarrow),\n from the measured wrap width (react-use useMeasure) rather than a viewport\n media query, so a slim desktop drawer stacks too.\n The 3 row children are placed explicitly:\n label (1,1) \u00B7 actions (1,2) \u00B7 value (2, span both). */\n /* Generous breathing room BETWEEN fields when stacked \u2014 far easier to scan and\n less overwhelming on a phone. */\n &.readfirst-narrow {\n --readfirst-row-gap: 18px;\n }\n &.readfirst-narrow .readfirst-row {\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 2px 14px;\n position: relative;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(1) {\n grid-column: 1;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(3) {\n grid-column: 2;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n grid-column: 1 / -1;\n grid-row: 2;\n }\n /* Read (non-editing) rows: float the trailing actions (status dot + the\n hover-revealed delete/revert) out of the grid flow so a delete button can't\n inflate the first row and push the value down. They're pinned to a band the\n height of the LABEL line and vertically centered in it \u2014 so the dot always\n sits at the same place (centered on the field name), never the bare corner. */\n &.readfirst-narrow .readfirst-row:not(.readfirst-row-editing) > :nth-child(3) {\n position: absolute;\n top: 2px;\n right: 10px;\n height: 22px;\n }\n &.readfirst-narrow .readfirst-row:not(.readfirst-row-editing) > :nth-child(1) {\n padding-right: 46px;\n }\n\n /* Focus calm rows: NO recessed value surface and NO intent stripe. Row status\n is carried by the trailing status dot; message/preview panels keep their own\n intent backgrounds. The (now invisible) pseudo is retained only to preserve\n the block's positioning/stacking context that the required-group rail and its\n cluster nodes resolve against \u2014 removing it would unmoor them. */\n > *:not(.options-readfirst-card) {\n position: relative;\n }\n > *:not(.options-readfirst-card)::before {\n content: '';\n position: absolute;\n inset: 0;\n left: ", ";\n background: transparent;\n pointer-events: none;\n z-index: 0;\n }\n /* Content rides above the surface layer \u2014 except the cluster node, which is\n absolutely positioned in the gutter and must keep its own positioning. */\n > *:not(.options-readfirst-card) > *:not(.options-readfirst-node) {\n position: relative;\n z-index: 1;\n }\n\n /* (The required-group connection rail was removed \u2014 the \"One of the below is\n required\" box now carries the grouping.) */\n\n /* Tall rows top-anchor (overriding the row's centered default) so the label and\n dot stay on the value's FIRST line rather than floating to the vertical\n middle: .readfirst-row-info-open = a shown short_desc grows the LABEL;\n .readfirst-row-tall = message panels / a hash preview grow the VALUE cell. */\n .readfirst-row-info-open,\n .readfirst-row-tall {\n align-items: start;\n }\n /* Narrow stacks label-over-value: the value sits on the line below the label,\n slightly indented under it (David, qorus#646), so it reads as the label's. */\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n padding-left: ", "px;\n }\n &.readfirst-narrow > *:not(.options-readfirst-card)::before {\n left: 0;\n }\n /* Touch layouts have no hover: a slot reserved for the hover-revealed edit\n pencil is permanent dead space that insets every chip from the edge \u2014\n drop it (rows are tap-to-edit; the lock/add slots stay, they're static). */\n &.readfirst-narrow .options-readfirst-trailing-hover-only {\n /* !important: the slot carries an inline display for the desktop layout. */\n display: none !important;\n }\n /* Stacked rows: keep them tight (match the Focus prototype). The min-height is\n dropped so a 2-line label+value row sizes to its content instead of being\n padded out to 38px. The in-place editor keeps zero padding (below). */\n &.readfirst-narrow .readfirst-row {\n padding-top: 2px;\n padding-bottom: 2px;\n min-height: 0;\n }\n &.readfirst-narrow .readfirst-row-editing {\n padding-top: 0;\n padding-bottom: 0;\n }\n"], ["\n display: flex;\n flex-flow: column;\n position: relative;\n /* Exposed as a var so the inter-field divider can center itself in the gap\n (the gap differs wide vs narrow). */\n --readfirst-row-gap: 4px;\n gap: var(--readfirst-row-gap);\n\n /* Indent each field block under the group header by a FLUID step. The %\n resolves against this container's width (not the screen), so it tracks the\n (Field blocks no longer get a left gutter \u2014 the spine/rail that needed it are\n gone, so rows sit flush against the box, like the Focus prototype.) */\n > * {\n margin-left: 0;\n }\n\n /* No group spine: the \"Focus\" look keeps the rows flat against the box. (The\n required-group rail is a separate descendant ::after and still renders.) */\n\n .readfirst-row {\n display: grid;\n /* Fixed label column: the recessed value surface (::before below) starts at a\n constant x, so the label width can't flex or the stripe would drift off the\n value edge. The value column is minmax(0, 1fr) \u2014 a bare 1fr keeps its\n min-content width, so a long unbroken value (e.g. a URL) would force the\n grid wider than its container and produce a horizontal scrollbar. The 0\n minimum lets it shrink and the value cell's ellipsis take over instead. */\n grid-template-columns: ", " minmax(0, 1fr) auto;\n /* CENTRE the cells vertically: on the common single-line read row the label,\n value and status dot all sit on one centered line. Tall rows (a shown\n description, message panels or a hash preview) opt back into top-alignment\n (.readfirst-row-info-open / .readfirst-row-tall below) so the label + dot\n stay on the value's FIRST line instead of floating to the middle. */\n align-items: center;\n gap: 14px;\n /* Generous, SYMMETRIC vertical padding so a single-line row isn't cramped\n (content sits with even breathing room top + bottom); a min-height floor\n keeps the rare shorter row a comfortable tap target. */\n min-height: 40px;\n padding: 9px 10px;\n border-radius: 6px;\n cursor: pointer;\n transition: background 0.12s ease;\n }\n /* A dim hairline in the gap below each field so its start/end reads clearly.\n Absolutely positioned (not a border) so it stays straight + full-width and\n the row's rounded hover highlight is unaffected; sits in the inter-row gap. */\n .readfirst-row::after {\n content: '';\n position: absolute;\n /* Inset to the row's horizontal padding so the line spans the content, not\n the full box edge-to-edge. */\n left: ", "px;\n right: ", "px;\n /* Centered in the inter-field gap (which differs wide vs narrow) so the space\n above and below each line is equal. */\n bottom: calc(var(--readfirst-row-gap, 4px) / -2);\n height: 1px;\n background: ", ";\n opacity: 0.5;\n pointer-events: none;\n z-index: 0;\n }\n .readfirst-row:last-child::after {\n display: none;\n }\n .readfirst-row:hover {\n background: ", ";\n }\n .readfirst-row:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n background: ", ";\n }\n /* A hidden (not-yet-added) field surfaced by the search is dimmed. */\n .readfirst-row-hidden {\n opacity: 0.65;\n }\n /* The \"N more fields\" control IS a field row \u2014 same grid, same padding, same\n hover \u2014 so it lines up with the rows above instead of floating as a scrap\n of text in the box's corner. A dashed edge and a lower-contrast label are\n what say it is not itself a field: nothing here can be set.\n\n It spans both content columns because it has no label/value split, and it\n drops the inter-row hairline (the ::after rule) since it always sits last. */\n .readfirst-more-row {\n grid-template-columns: 1fr auto;\n border: 1px dashed ", ";\n background: transparent;\n width: 100%;\n text-align: left;\n font: inherit;\n color: inherit;\n /* The dashed edge replaces the hairline; two lines would read as a divider\n AND a border stacked. */\n margin-top: 2px;\n }\n .readfirst-more-row::after {\n display: none;\n }\n .readfirst-more-row:hover {\n background: ", ";\n border-style: solid;\n }\n .readfirst-more-row:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n /* The chevron points the way the click goes: down to reveal, up to fold. */\n .readfirst-more-row .readfirst-more-chevron {\n transition: transform 0.15s ease;\n }\n .readfirst-more-row[aria-expanded='true'] .readfirst-more-chevron {\n transform: rotate(180deg);\n }\n /* A disabled field (schema disabled flag or unmet dependencies) is not a\n click target \u2014 no hover invite, not-allowed cursor; a lock replaces the\n pencil. */\n /* A disabled field reads dimmed (its name + value at 0.6) \u2014 clearly inactive. */\n .readfirst-row-disabled {\n cursor: not-allowed;\n opacity: 0.6;\n }\n .readfirst-row-disabled:hover {\n background: transparent;\n }\n /* Required-group linkage: hovering a member highlights every sibling row \u2014\n just a background tint, no left stripe (that reads as an intent edge). */\n .readfirst-row-group-highlight {\n background: ", ";\n }\n .readfirst-row-flash {\n animation: readfirstRowFlash 1.4s ease;\n }\n @keyframes readfirstRowFlash {\n 0% {\n background: ", ";\n }\n 100% {\n background: transparent;\n }\n }\n /* A scalar row being edited in place: the real editor replaces the value\n cell. The row stops being a click target (the editor owns the clicks) and\n keeps a constant active background. Vertical padding is tightened so the\n editor fits inside the same ~38px the read row occupies \u2014 switching into\n (and out of) inline editing must not shift the rows around it. */\n .readfirst-row-editing {\n cursor: default;\n /* Top-anchor the cells: with multi-line editors (e.g. allowed-values =\n input + picker), per-cell centering gives every control a different\n anchor. Instead everything aligns to the FIRST editor line \u2014 label and\n the \u2713/\u21BA cluster get small offsets to sit optically centered on it. */\n align-items: start;\n background: ", ";\n /* No top padding (the per-cell nudges below anchor the editor to the first\n line), but a real BOTTOM padding so the editor never sits flush against\n the row's bottom edge \u2014 a tall input used to look clipped/unfinished. */\n padding-top: 0;\n padding-bottom: 9px;\n /* Tighter column gap: the editor's trailing template \u22EE and our \u2713 should\n read as one control cluster, not two separated groups. */\n column-gap: 6px;\n }\n /* Center each cell's content on the row's ~38px first-line band. The label\n text (+10) and the \u2713/\u21BA cluster (+3) were already nudged, but the editor\n cell was not \u2014 so a single-line input sat ~3px above the buttons. A 32px\n control needs +3 to center in 38px, so the editor gets the same offset and\n lines up with the buttons. (A multi-line editor's first line lands on the\n band too; its extra rows grow downward.) */\n .readfirst-row-editing > div:nth-child(1) {\n padding-top: 10px;\n }\n .readfirst-row-editing > div:nth-child(2) {\n padding-top: 3px;\n }\n .readfirst-row-editing > div:nth-child(3) {\n padding-top: 3px;\n }\n /* A read-only row is not a control. No pointer and no hover tint, because a\n click does nothing; and its value wraps in full \u2014 the row is the only\n rendering the value gets, so a line cut with an ellipsis would be the\n reader's whole answer. */\n .readfirst-row-read {\n cursor: default;\n }\n .readfirst-row-read:hover {\n background: transparent;\n }\n .readfirst-row-read .options-readfirst-valuetext {\n white-space: pre-wrap;\n overflow: visible;\n text-overflow: clip;\n overflow-wrap: anywhere;\n }\n .readfirst-row-editing:hover {\n background: ", ";\n }\n\n /* Narrow FORMS (phone / slim drawer): stack each row \u2014 label + actions share\n the first line, the value cell (or the inline editor) takes the width\n beneath. The class is set where the value column would be narrower than\n COMPACT_MIN_VALUE_WIDTH beside the measured label column (isCompactNarrow),\n from the measured wrap width (react-use useMeasure) rather than a viewport\n media query, so a slim desktop drawer stacks too.\n The 3 row children are placed explicitly:\n label (1,1) \u00B7 actions (1,2) \u00B7 value (2, span both). */\n /* Generous breathing room BETWEEN fields when stacked \u2014 far easier to scan and\n less overwhelming on a phone. */\n &.readfirst-narrow {\n --readfirst-row-gap: 18px;\n }\n &.readfirst-narrow .readfirst-row {\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 2px 14px;\n position: relative;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(1) {\n grid-column: 1;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(3) {\n grid-column: 2;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n grid-column: 1 / -1;\n grid-row: 2;\n }\n /* Read (non-editing) rows: float the trailing actions (status dot + the\n hover-revealed delete/revert) out of the grid flow so a delete button can't\n inflate the first row and push the value down. They're pinned to a band the\n height of the LABEL line and vertically centered in it \u2014 so the dot always\n sits at the same place (centered on the field name), never the bare corner. */\n &.readfirst-narrow .readfirst-row:not(.readfirst-row-editing) > :nth-child(3) {\n position: absolute;\n top: 2px;\n right: 10px;\n height: 22px;\n }\n &.readfirst-narrow .readfirst-row:not(.readfirst-row-editing) > :nth-child(1) {\n padding-right: 46px;\n }\n\n /* Focus calm rows: NO recessed value surface and NO intent stripe. Row status\n is carried by the trailing status dot; message/preview panels keep their own\n intent backgrounds. The (now invisible) pseudo is retained only to preserve\n the block's positioning/stacking context that the required-group rail and its\n cluster nodes resolve against \u2014 removing it would unmoor them. */\n > *:not(.options-readfirst-card) {\n position: relative;\n }\n > *:not(.options-readfirst-card)::before {\n content: '';\n position: absolute;\n inset: 0;\n left: ", ";\n background: transparent;\n pointer-events: none;\n z-index: 0;\n }\n /* Content rides above the surface layer \u2014 except the cluster node, which is\n absolutely positioned in the gutter and must keep its own positioning. */\n > *:not(.options-readfirst-card) > *:not(.options-readfirst-node) {\n position: relative;\n z-index: 1;\n }\n\n /* (The required-group connection rail was removed \u2014 the \"One of the below is\n required\" box now carries the grouping.) */\n\n /* Tall rows top-anchor (overriding the row's centered default) so the label and\n dot stay on the value's FIRST line rather than floating to the vertical\n middle: .readfirst-row-info-open = a shown short_desc grows the LABEL;\n .readfirst-row-tall = message panels / a hash preview grow the VALUE cell. */\n .readfirst-row-info-open,\n .readfirst-row-tall {\n align-items: start;\n }\n /* Narrow stacks label-over-value: the value sits on the line below the label,\n slightly indented under it (David, qorus#646), so it reads as the label's. */\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n padding-left: ", "px;\n }\n &.readfirst-narrow > *:not(.options-readfirst-card)::before {\n left: 0;\n }\n /* Touch layouts have no hover: a slot reserved for the hover-revealed edit\n pencil is permanent dead space that insets every chip from the edge \u2014\n drop it (rows are tap-to-edit; the lock/add slots stay, they're static). */\n &.readfirst-narrow .options-readfirst-trailing-hover-only {\n /* !important: the slot carries an inline display for the desktop layout. */\n display: none !important;\n }\n /* Stacked rows: keep them tight (match the Focus prototype). The min-height is\n dropped so a 2-line label+value row sizes to its content instead of being\n padded out to 38px. The in-place editor keeps zero padding (below). */\n &.readfirst-narrow .readfirst-row {\n padding-top: 2px;\n padding-bottom: 2px;\n min-height: 0;\n }\n &.readfirst-narrow .readfirst-row-editing {\n padding-top: 0;\n padding-bottom: 0;\n }\n"])), exports.LABEL_COL, exports.COMPACT_ROW_PAD_X, exports.COMPACT_ROW_PAD_X, function (_a) {
258
264
  var $divider = _a.$divider;
259
265
  return $divider;
260
266
  }, function (_a) {
@@ -287,7 +293,7 @@ exports.StyledGroupBody = styled_components_1.default.div(templateObject_26 || (
287
293
  }, function (_a) {
288
294
  var $hover = _a.$hover;
289
295
  return $hover;
290
- }, exports.PANEL_LEFT_CSS);
296
+ }, exports.PANEL_LEFT_CSS, exports.COMPACT_STACKED_VALUE_INDENT);
291
297
  // One absorbed sibling, rendered inside its host row's container rather than
292
298
  // on a row of its own (see `absorb_fields`). The pair this exists for is a code
293
299
  // editor and its language: reading them as two unrelated rows one above the
@@ -297,10 +303,10 @@ exports.StyledGroupBody = styled_components_1.default.div(templateObject_26 || (
297
303
  // element it now sits in, and separated from the editor below it by a hairline
298
304
  // rather than a gap — the two share one container, so the seam has to look like
299
305
  // a division inside it and not like two stacked things.
300
- exports.StyledAbsorbedField = styled_components_1.default.div(templateObject_27 || (templateObject_27 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n padding-bottom: 8px;\n margin-bottom: 8px;\n border-bottom: 1px solid ", ";\n"], ["\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n padding-bottom: 8px;\n margin-bottom: 8px;\n border-bottom: 1px solid ", ";\n"])), function (_a) {
306
+ exports.StyledAbsorbedField = styled_components_1.default.div(templateObject_26 || (templateObject_26 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n padding-bottom: 8px;\n margin-bottom: 8px;\n border-bottom: 1px solid ", ";\n"], ["\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n padding-bottom: 8px;\n margin-bottom: 8px;\n border-bottom: 1px solid ", ";\n"])), function (_a) {
301
307
  var theme = _a.theme;
302
308
  return "".concat(theme.main, "22");
303
309
  });
304
- exports.StyledAbsorbedLabel = (0, styled_components_1.default)(reqore_1.ReqoreP)(templateObject_28 || (templateObject_28 = __makeTemplateObject(["\n flex: 0 0 auto;\n margin: 0;\n"], ["\n flex: 0 0 auto;\n margin: 0;\n"])));
305
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26, templateObject_27, templateObject_28;
310
+ exports.StyledAbsorbedLabel = (0, styled_components_1.default)(reqore_1.ReqoreP)(templateObject_27 || (templateObject_27 = __makeTemplateObject(["\n flex: 0 0 auto;\n margin: 0;\n"], ["\n flex: 0 0 auto;\n margin: 0;\n"])));
311
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26, templateObject_27;
306
312
  //# sourceMappingURL=compactRowStyles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compactRowStyles.js","sourceRoot":"","sources":["../../../../src/components/form/engine/compactRowStyles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compactRowStyles.js","sourceRoot":"","sources":["../../../../src/components/form/engine/compactRowStyles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { IReqoreTheme } from '@qoretechnologies/reqore/dist/constants/theme';
2
+ export interface ICompactToolbarInks {
3
+ /** "Ready" and the meter's done run's word: the success intent in a shade that reads. */
4
+ success: string;
5
+ /** "Incomplete" and "N need attention": the warning intent in a shade that reads. */
6
+ warning: string;
7
+ /** The "· 4/6 set" count, a softer shade of the text: as soft as it still reads. */
8
+ countOpacity: number;
9
+ }
10
+ /**
11
+ * The completion summary's colors (qorus#646): the intents as they were, 4.0-4.1:1 on a dark page, did not read as
12
+ * text. Read against the theme's background, and a shade darker and lighter as the page or the panel the form is
13
+ * drawn on may be.
14
+ */
15
+ export declare const getCompactToolbarInks: (theme: IReqoreTheme) => ICompactToolbarInks;
16
+ //# sourceMappingURL=compactToolbarColors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compactToolbarColors.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/compactToolbarColors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAQ7E,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,OAAO,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,UAAW,YAAY,KAAG,mBAS3D,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCompactToolbarInks = void 0;
4
+ var colors_1 = require("@qoretechnologies/reqore/dist/helpers/colors");
5
+ var readableColors_1 = require("../../../helpers/readableColors");
6
+ /**
7
+ * The completion summary's colors (qorus#646): the intents as they were, 4.0-4.1:1 on a dark page, did not read as
8
+ * text. Read against the theme's background, and a shade darker and lighter as the page or the panel the form is
9
+ * drawn on may be.
10
+ */
11
+ var getCompactToolbarInks = function (theme) {
12
+ var surfaces = (0, readableColors_1.getThemeSurfaces)(theme);
13
+ var intents = (theme.intents || {});
14
+ return {
15
+ success: (0, readableColors_1.getReadableShade)(intents.success || '#4a7110', surfaces),
16
+ warning: (0, readableColors_1.getReadableShade)(intents.warning || '#d17c29', surfaces),
17
+ countOpacity: (0, readableColors_1.getReadableOpacity)((0, colors_1.getReadableColor)(theme), surfaces, 0.5),
18
+ };
19
+ };
20
+ exports.getCompactToolbarInks = getCompactToolbarInks;
21
+ //# sourceMappingURL=compactToolbarColors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compactToolbarColors.js","sourceRoot":"","sources":["../../../../src/components/form/engine/compactToolbarColors.ts"],"names":[],"mappings":";;;AACA,uEAAgF;AAChF,kEAIyC;AAWzC;;;;GAIG;AACI,IAAM,qBAAqB,GAAG,UAAC,KAAmB;IACvD,IAAM,QAAQ,GAAG,IAAA,iCAAgB,EAAC,KAAK,CAAC,CAAC;IACzC,IAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAA2B,CAAC;IAEhE,OAAO;QACL,OAAO,EAAE,IAAA,iCAAgB,EAAC,OAAO,CAAC,OAAO,IAAI,SAAS,EAAE,QAAQ,CAAC;QACjE,OAAO,EAAE,IAAA,iCAAgB,EAAC,OAAO,CAAC,OAAO,IAAI,SAAS,EAAE,QAAQ,CAAC;QACjE,YAAY,EAAE,IAAA,mCAAkB,EAAC,IAAA,yBAAgB,EAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC;KACzE,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,qBAAqB,yBAShC"}
@@ -1,6 +1,8 @@
1
+ import { markdownToProse } from '../../../helpers/markdownText';
1
2
  import { IQorusFormField, IQorusFormSchema, TQorusFormFieldSchema } from '@qoretechnologies/ts-toolkit';
2
3
  import { IExpressionValue } from '../expressions/types';
3
4
  import { findAllowedValueOption } from '../../../helpers/allowedValues';
5
+ import { isOptionValueEmpty } from '../../../helpers/validations';
4
6
  /** "datasource · omquser · /bb_local": the provider's kind, its name and its
5
7
  * path, as the picker shows them. A read row must say WHICH provider a value
6
8
  * is, and "11 fields" said only how many keys describe it. Undefined when the
@@ -10,8 +12,25 @@ export declare const formatDataProviderValue: (value: unknown) => string | undef
10
12
  * Pure helpers for FormEngine compact (read-first) mode: format an option's
11
13
  * stored value into a short summary and resolve its group. Unit-testable.
12
14
  */
13
- /** A value is "empty" (nothing set) when it is nullish, an empty string, or an empty array. */
14
- export declare const isOptionValueEmpty: (value: unknown) => boolean;
15
+ /** A value is "empty" (nothing set) when it is nullish, an empty string, or an empty array: one rule, which
16
+ * validation reads too (`helpers/validations.ts`). */
17
+ export { isOptionValueEmpty };
18
+ /**
19
+ * Why a form cannot be saved, in words a person can act on: the first field that blocks it, by the name the form
20
+ * shows it under, what is wrong with it, and how many more there are. `undefined` when nothing blocks it.
21
+ *
22
+ * Shown beside a Save that refuses, as text: a disabled button fires no hover, so a reason carried only in its
23
+ * tooltip reached nobody - and a phone has no hover at all.
24
+ */
25
+ export declare const describeBlockedSave: (invalidFields: ReadonlyArray<{
26
+ fieldName: string;
27
+ validation: {
28
+ reason?: string;
29
+ reasons?: string[];
30
+ };
31
+ }>, schema?: Record<string, {
32
+ display_name?: string;
33
+ } | undefined>) => string | undefined;
15
34
  /**
16
35
  * A schema-declared hash whose every entry is a materialised-but-unset field.
17
36
  *
@@ -74,12 +93,7 @@ export declare const getAllowedValueImage: (value: unknown, schema?: TQorusFormF
74
93
  * an icon standing behind it is a fallback rather than a second thing to draw.
75
94
  */
76
95
  export declare const getAllowedValueIcon: (value: unknown, schema?: TQorusFormFieldSchema) => string | undefined;
77
- /** Uppercase hex (`#0000FF`), or `rgba(…)` when non-opaque; undefined when
78
- * unrecognisable (the caller falls back to the generic marker). */
79
- export declare const formatColorValue: (value: unknown) => string | undefined;
80
- /** CSS colour for the swatch preview (keeps alpha); undefined when
81
- * unrecognisable. */
82
- export declare const colorToCss: (value: unknown) => string | undefined;
96
+ export { colorToCss, formatColorValue } from '../../colorValue/colorValue';
83
97
  /** Filename for a `file` value: accepts `{ name, content, size }`, the
84
98
  * build-tab `{ name: { value } }` shape, or a raw path; undefined when no
85
99
  * filename resolves. */
@@ -133,6 +147,8 @@ export declare const SUMMARY_MAX_LENGTH = 240;
133
147
  * underscore must not be intraword, or an option key loses its underscores.
134
148
  */
135
149
  export declare const summariseMarkdown: (value: unknown) => string;
150
+ /** The prose a description's markdown renders to, on one line (`helpers/markdownText`). */
151
+ export { markdownToProse };
136
152
  /**
137
153
  * The expression AST a field holds, whichever shape it arrived in.
138
154
  *
@@ -1 +1 @@
1
- {"version":3,"file":"readFirst.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/readFirst.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readFirst.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/readFirst.ts"],"names":[],"mappings":"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"}