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

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 (762) 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 +33 -4
  29. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  30. package/dist/components/dpqlEditor/dpqlHelpers.js +329 -60
  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 +17 -15
  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 +151 -83
  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 +47 -10
  49. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  50. package/dist/components/form/engine/FormEngine.js +520 -98
  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 +19 -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 +5 -10
  67. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  68. package/dist/components/form/engine/compactRowStyles.js +17 -29
  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/builder/argumentDetail.d.ts.map +1 -1
  111. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  112. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  113. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  114. package/dist/components/form/expressions/builder/argumentLabel.js +27 -9
  115. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  116. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  117. package/dist/components/form/expressions/builder/argumentWrapper.js +3 -1
  118. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  119. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  120. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +5 -4
  121. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  122. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  123. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  124. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +6 -3
  125. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  126. package/dist/components/form/expressions/builder/index.d.ts +24 -2
  127. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  128. package/dist/components/form/expressions/builder/index.js +138 -78
  129. package/dist/components/form/expressions/builder/index.js.map +1 -1
  130. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  131. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  132. package/dist/components/form/expressions/builder/item.js +19 -5
  133. package/dist/components/form/expressions/builder/item.js.map +1 -1
  134. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  135. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  136. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  137. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  138. package/dist/components/form/expressions/expressionOperands.js +97 -0
  139. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  140. package/dist/components/form/expressions/fieldPath.d.ts +24 -0
  141. package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
  142. package/dist/components/form/expressions/fieldPath.js +152 -0
  143. package/dist/components/form/expressions/fieldPath.js.map +1 -0
  144. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  145. package/dist/components/form/expressions/mockExpressions.js +22 -5
  146. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  147. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  148. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  149. package/dist/components/form/expressions/renderExpressionToText.js +40 -9
  150. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  151. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  152. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  153. package/dist/components/form/expressions/textOfExpression.js +49 -0
  154. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  155. package/dist/components/form/expressions/types.d.ts +7 -0
  156. package/dist/components/form/expressions/types.d.ts.map +1 -1
  157. package/dist/components/form/expressions/types.js +6 -1
  158. package/dist/components/form/expressions/types.js.map +1 -1
  159. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  160. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  161. package/dist/components/form/expressions/useExpressionType.js +181 -0
  162. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  163. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  164. package/dist/components/form/expressions/useRenderExpression.js +13 -9
  165. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  166. package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
  167. package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
  168. package/dist/components/form/expressions/wildcardExpressions.js +101 -0
  169. package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
  170. package/dist/components/form/fields/Field.d.ts.map +1 -1
  171. package/dist/components/form/fields/Field.js +26 -9
  172. package/dist/components/form/fields/Field.js.map +1 -1
  173. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  174. package/dist/components/form/fields/allowed-values/AllowedValues.js +17 -4
  175. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  176. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  177. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  178. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  179. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  180. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  181. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  182. package/dist/components/form/fields/auto/AutoFormField.d.ts +20 -1
  183. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  184. package/dist/components/form/fields/auto/AutoFormField.js +81 -36
  185. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  186. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  187. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  188. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  189. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  190. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  191. package/dist/components/form/fields/binary/Binary.js +23 -3
  192. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  193. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  194. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  195. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  196. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  197. package/dist/components/form/fields/color/Color.d.ts +103 -16
  198. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  199. package/dist/components/form/fields/color/Color.js +616 -16
  200. package/dist/components/form/fields/color/Color.js.map +1 -1
  201. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  202. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  203. package/dist/components/form/fields/emittedValues.js +24 -1
  204. package/dist/components/form/fields/emittedValues.js.map +1 -1
  205. package/dist/components/form/fields/file/File.d.ts +1 -1
  206. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  207. package/dist/components/form/fields/file/File.js +4 -2
  208. package/dist/components/form/fields/file/File.js.map +1 -1
  209. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  210. package/dist/components/form/fields/long-string/LongString.js +17 -3
  211. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  212. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  213. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  214. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +4 -1
  215. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  216. package/dist/components/form/fields/number/Number.d.ts +6 -0
  217. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  218. package/dist/components/form/fields/number/Number.js +41 -6
  219. package/dist/components/form/fields/number/Number.js.map +1 -1
  220. package/dist/components/form/fields/object/Object.d.ts +1 -1
  221. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  222. package/dist/components/form/fields/object/Object.js +4 -2
  223. package/dist/components/form/fields/object/Object.js.map +1 -1
  224. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  225. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  226. package/dist/components/form/fields/pendingEdit.js +79 -0
  227. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  228. package/dist/components/form/fields/rich-text/RichText.d.ts +8 -1
  229. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  230. package/dist/components/form/fields/rich-text/RichText.js +188 -82
  231. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  232. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  233. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  234. package/dist/components/form/fields/rich-text/useTemplateTags.js +49 -0
  235. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  236. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  237. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  238. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  239. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  240. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  241. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  242. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  243. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  244. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  245. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  246. package/dist/components/form/fields/schema-definition/index.js +8 -4
  247. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  248. package/dist/components/form/fields/select/Select.d.ts +2 -0
  249. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  250. package/dist/components/form/fields/select/Select.js +19 -10
  251. package/dist/components/form/fields/select/Select.js.map +1 -1
  252. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  253. package/dist/components/form/fields/select/SelectCollection.js +8 -2
  254. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  255. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  256. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  257. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  258. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  259. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
  260. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  261. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +13 -5
  262. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  263. package/dist/components/form/fields/template/TemplateBrowser.d.ts +22 -0
  264. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  265. package/dist/components/form/fields/template/TemplateBrowser.js +54 -0
  266. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  267. package/dist/components/form/fields/template/TemplateField.d.ts +102 -1
  268. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  269. package/dist/components/form/fields/template/TemplateField.js +569 -85
  270. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  271. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  272. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  273. package/dist/components/form/fields/template/TemplateText.js +9 -11
  274. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  275. package/dist/components/form/fields/template/writtenAsText.d.ts +55 -0
  276. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  277. package/dist/components/form/fields/template/writtenAsText.js +188 -0
  278. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  279. package/dist/components/form/index.d.ts +10 -0
  280. package/dist/components/form/index.d.ts.map +1 -1
  281. package/dist/components/form/index.js +23 -1
  282. package/dist/components/form/index.js.map +1 -1
  283. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  284. package/dist/components/imageLightbox/ImageLightbox.js +19 -7
  285. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  286. package/dist/components/log/Log.d.ts.map +1 -1
  287. package/dist/components/log/Log.js +16 -8
  288. package/dist/components/log/Log.js.map +1 -1
  289. package/dist/components/menu/Menu.d.ts.map +1 -1
  290. package/dist/components/menu/Menu.js +19 -10
  291. package/dist/components/menu/Menu.js.map +1 -1
  292. package/dist/components/smartEditor/CompletionMenu.d.ts +43 -0
  293. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  294. package/dist/components/smartEditor/CompletionMenu.js +196 -0
  295. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  296. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  297. package/dist/components/smartEditor/MarkdownDoc.js +3 -3
  298. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  299. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  300. package/dist/components/smartEditor/SmartEditor.js +164 -180
  301. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  302. package/dist/components/smartEditor/completionStyle.d.ts +27 -0
  303. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  304. package/dist/components/smartEditor/completionStyle.js +68 -0
  305. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  306. package/dist/components/smartEditor/index.d.ts +5 -1
  307. package/dist/components/smartEditor/index.d.ts.map +1 -1
  308. package/dist/components/smartEditor/index.js +19 -1
  309. package/dist/components/smartEditor/index.js.map +1 -1
  310. package/dist/components/smartEditor/templateCompletions.d.ts +18 -0
  311. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  312. package/dist/components/smartEditor/templateCompletions.js +94 -0
  313. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  314. package/dist/components/smartEditor/typedReferences.d.ts +21 -0
  315. package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
  316. package/dist/components/smartEditor/typedReferences.js +82 -0
  317. package/dist/components/smartEditor/typedReferences.js.map +1 -0
  318. package/dist/components/smartEditor/types.d.ts +33 -1
  319. package/dist/components/smartEditor/types.d.ts.map +1 -1
  320. package/dist/components/smartEditor/useLspAutocomplete.d.ts +32 -0
  321. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  322. package/dist/components/smartEditor/useLspAutocomplete.js +228 -118
  323. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  324. package/dist/components/smartEditor/useLspHover.d.ts +33 -7
  325. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  326. package/dist/components/smartEditor/useLspHover.js +279 -35
  327. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  328. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  329. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  330. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  331. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  332. package/dist/components/smartEditor/useLspSession.js +7 -6
  333. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  334. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  335. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  336. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  337. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
  338. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  339. package/dist/components/supportTicket/ReferencePicker.js +27 -6
  340. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  341. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  342. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  343. package/dist/components/supportTicket/TicketHeader.js +20 -2
  344. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  345. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  346. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  347. package/dist/components/ticketReferences/TicketReferences.js +9 -4
  348. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  349. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  350. package/dist/components/ticketThread/TicketThread.js +38 -13
  351. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  352. package/dist/helpers/descriptionTooltip.d.ts +43 -0
  353. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  354. package/dist/helpers/descriptionTooltip.js +70 -0
  355. package/dist/helpers/descriptionTooltip.js.map +1 -0
  356. package/dist/helpers/domProps.d.ts +5 -0
  357. package/dist/helpers/domProps.d.ts.map +1 -0
  358. package/dist/helpers/domProps.js +47 -0
  359. package/dist/helpers/domProps.js.map +1 -0
  360. package/dist/helpers/expressions.d.ts +107 -2
  361. package/dist/helpers/expressions.d.ts.map +1 -1
  362. package/dist/helpers/expressions.js +223 -8
  363. package/dist/helpers/expressions.js.map +1 -1
  364. package/dist/helpers/hoveringPointer.d.ts +26 -0
  365. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  366. package/dist/helpers/hoveringPointer.js +29 -0
  367. package/dist/helpers/hoveringPointer.js.map +1 -0
  368. package/dist/helpers/markdownText.d.ts +14 -0
  369. package/dist/helpers/markdownText.d.ts.map +1 -0
  370. package/dist/helpers/markdownText.js +160 -0
  371. package/dist/helpers/markdownText.js.map +1 -0
  372. package/dist/helpers/qorusTypeCatalogue.d.ts +53 -0
  373. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  374. package/dist/helpers/qorusTypeCatalogue.js +262 -0
  375. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  376. package/dist/helpers/readableColors.d.ts +36 -0
  377. package/dist/helpers/readableColors.d.ts.map +1 -0
  378. package/dist/helpers/readableColors.js +116 -0
  379. package/dist/helpers/readableColors.js.map +1 -0
  380. package/dist/helpers/templateItems.d.ts +2 -2
  381. package/dist/helpers/templateItems.d.ts.map +1 -1
  382. package/dist/helpers/templateItems.js +6 -4
  383. package/dist/helpers/templateItems.js.map +1 -1
  384. package/dist/helpers/templateText.js +5 -2
  385. package/dist/helpers/templateText.js.map +1 -1
  386. package/dist/helpers/templates.d.ts +41 -14
  387. package/dist/helpers/templates.d.ts.map +1 -1
  388. package/dist/helpers/templates.js +152 -9
  389. package/dist/helpers/templates.js.map +1 -1
  390. package/dist/helpers/validations.d.ts +9 -0
  391. package/dist/helpers/validations.d.ts.map +1 -1
  392. package/dist/helpers/validations.js +139 -33
  393. package/dist/helpers/validations.js.map +1 -1
  394. package/dist/hooks/useQorusTypes.d.ts +7 -15
  395. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  396. package/dist/hooks/useQorusTypes.js +25 -166
  397. package/dist/hooks/useQorusTypes.js.map +1 -1
  398. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  399. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  400. package/dist/hooks/useReadableIntentShade.js +23 -0
  401. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  402. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  403. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  404. package/dist/hooks/useReadableOpacity.js +17 -0
  405. package/dist/hooks/useReadableOpacity.js.map +1 -0
  406. package/dist/index.d.ts +1 -0
  407. package/dist/index.d.ts.map +1 -1
  408. package/dist/index.js +1 -0
  409. package/dist/index.js.map +1 -1
  410. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  411. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  412. package/dist/tracking/ui/ExperimentCard.js +26 -10
  413. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  414. package/dist/tracking/ui/card.d.ts +2 -2
  415. package/dist/tracking/ui/card.d.ts.map +1 -1
  416. package/dist/tracking/ui/card.js +2 -2
  417. package/dist/tracking/ui/card.js.map +1 -1
  418. package/dist/tracking/ui/readable.d.ts +14 -0
  419. package/dist/tracking/ui/readable.d.ts.map +1 -0
  420. package/dist/tracking/ui/readable.js +60 -0
  421. package/dist/tracking/ui/readable.js.map +1 -0
  422. package/dist/utils/fetch.d.ts +9 -2
  423. package/dist/utils/fetch.d.ts.map +1 -1
  424. package/dist/utils/fetch.js +6 -5
  425. package/dist/utils/fetch.js.map +1 -1
  426. package/dist/utils/websocket.d.ts +65 -2
  427. package/dist/utils/websocket.d.ts.map +1 -1
  428. package/dist/utils/websocket.js +276 -44
  429. package/dist/utils/websocket.js.map +1 -1
  430. package/package.json +14 -5
  431. package/.claude/CLAUDE.md +0 -317
  432. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  433. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  434. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  435. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  436. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  437. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  438. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  439. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  440. package/.tasks/INDEX.md +0 -111
  441. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  442. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  443. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  444. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  445. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  446. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  447. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  448. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  449. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  450. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  451. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  452. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  453. package/CODE_OF_CONDUCT.md +0 -105
  454. package/CONTRIBUTING.MD +0 -78
  455. package/SECURITY.md +0 -3
  456. package/chromatic.config.json +0 -5
  457. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  458. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  459. package/design/COMPACT_PARITY.md +0 -85
  460. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  461. package/design/FORM_ENGINE_COMPACT.md +0 -300
  462. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  463. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  464. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  465. package/design/IDE_INTEGRATION.md +0 -64
  466. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  467. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  468. package/design/SMART_EDITOR_UX.md +0 -438
  469. package/design/TRACKING.md +0 -290
  470. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  471. package/src/components/Description/index.tsx +0 -254
  472. package/src/components/Description/markdownRendererContext.tsx +0 -29
  473. package/src/components/FocusedEditing/index.tsx +0 -50
  474. package/src/components/codeSize/index.tsx +0 -79
  475. package/src/components/composer/Composer.stories.tsx +0 -238
  476. package/src/components/composer/Composer.tsx +0 -554
  477. package/src/components/composer/helpers.ts +0 -74
  478. package/src/components/composer/index.ts +0 -2
  479. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  480. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  481. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  482. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  483. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  484. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  485. package/src/components/dpqlEditor/index.ts +0 -41
  486. package/src/components/dpqlEditor/types.ts +0 -203
  487. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  488. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  489. package/src/components/form/engine/CompactRow.tsx +0 -2620
  490. package/src/components/form/engine/CompactToolbar.tsx +0 -330
  491. package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
  492. package/src/components/form/engine/FormEngine.tsx +0 -4569
  493. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  494. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
  495. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  496. package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
  497. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  498. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  499. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  500. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  501. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
  502. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  503. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  504. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  505. package/src/components/form/engine/compactRowContext.ts +0 -148
  506. package/src/components/form/engine/compactRowStyles.ts +0 -898
  507. package/src/components/form/engine/compactToolbarContext.ts +0 -69
  508. package/src/components/form/engine/optionActions.ts +0 -128
  509. package/src/components/form/engine/optionsContext.ts +0 -24
  510. package/src/components/form/engine/readFirst.ts +0 -1077
  511. package/src/components/form/engine/rendererTypes.ts +0 -107
  512. package/src/components/form/engine/revealRow.ts +0 -123
  513. package/src/components/form/engine/rowFocus.ts +0 -101
  514. package/src/components/form/engine/rowMenuContext.ts +0 -159
  515. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  516. package/src/components/form/engine/typeChoices.ts +0 -63
  517. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  518. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  519. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  520. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  521. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  522. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  523. package/src/components/form/engine/variants/variantModel.ts +0 -223
  524. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  525. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  526. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  527. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  528. package/src/components/form/expressions/argumentPresence.ts +0 -213
  529. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  530. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  531. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  532. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  533. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  534. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  535. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  536. package/src/components/form/expressions/builder/index.tsx +0 -1545
  537. package/src/components/form/expressions/builder/item.tsx +0 -89
  538. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  539. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  540. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  541. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  542. package/src/components/form/expressions/mockExpressions.ts +0 -317
  543. package/src/components/form/expressions/renderExpressionToText.ts +0 -137
  544. package/src/components/form/expressions/types.ts +0 -110
  545. package/src/components/form/expressions/useExpressions.ts +0 -101
  546. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  547. package/src/components/form/fields/Field.stories.tsx +0 -143
  548. package/src/components/form/fields/Field.tsx +0 -732
  549. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
  550. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  551. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  552. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  553. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  554. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
  555. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  556. package/src/components/form/fields/binary/Binary.tsx +0 -91
  557. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  558. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  559. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  560. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  561. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  562. package/src/components/form/fields/color/Color.tsx +0 -46
  563. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  564. package/src/components/form/fields/cron/Cron.tsx +0 -80
  565. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  566. package/src/components/form/fields/date/Date.tsx +0 -55
  567. package/src/components/form/fields/emittedValues.ts +0 -70
  568. package/src/components/form/fields/file/File.stories.tsx +0 -161
  569. package/src/components/form/fields/file/File.tsx +0 -227
  570. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
  571. package/src/components/form/fields/long-string/LongString.tsx +0 -130
  572. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  573. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  574. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  575. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
  576. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  577. package/src/components/form/fields/number/Number.tsx +0 -160
  578. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  579. package/src/components/form/fields/object/Object.tsx +0 -255
  580. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  581. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
  582. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  583. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  584. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  585. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  586. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  587. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  588. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  589. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  590. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  591. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  592. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  593. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  594. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  595. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  596. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  597. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  598. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  599. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  600. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  601. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  602. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  603. package/src/components/form/fields/schema-definition/types.ts +0 -185
  604. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  605. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  606. package/src/components/form/fields/select/Select.tsx +0 -624
  607. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  608. package/src/components/form/fields/string/String.stories.tsx +0 -86
  609. package/src/components/form/fields/string/String.tsx +0 -43
  610. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  611. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  612. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  613. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  614. package/src/components/form/fields/template/TemplateField.tsx +0 -1717
  615. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  616. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  617. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  618. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  619. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  620. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  621. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  622. package/src/components/form/fields/url/Url.tsx +0 -85
  623. package/src/components/form/index.tsx +0 -47
  624. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  625. package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
  626. package/src/components/imageLightbox/index.ts +0 -1
  627. package/src/components/log/Log.stories.tsx +0 -333
  628. package/src/components/log/Log.tsx +0 -285
  629. package/src/components/menu/Menu.stories.tsx +0 -155
  630. package/src/components/menu/Menu.tsx +0 -312
  631. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  632. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  633. package/src/components/qonsoleSmartInput/index.ts +0 -16
  634. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  635. package/src/components/qonsoleSmartInput/types.ts +0 -133
  636. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  637. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  638. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  639. package/src/components/searchFilterBar/index.ts +0 -1
  640. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  641. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  642. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  643. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  644. package/src/components/smartEditor/helpers.ts +0 -217
  645. package/src/components/smartEditor/index.ts +0 -35
  646. package/src/components/smartEditor/styling.ts +0 -45
  647. package/src/components/smartEditor/types.ts +0 -211
  648. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  649. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  650. package/src/components/smartEditor/useLspHover.ts +0 -230
  651. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  652. package/src/components/smartEditor/useLspSession.ts +0 -231
  653. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  654. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  655. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  656. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  657. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
  658. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
  659. package/src/components/supportTicket/ReferencePicker.tsx +0 -563
  660. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
  661. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  662. package/src/components/supportTicket/TicketHeader.tsx +0 -247
  663. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  664. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  665. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
  666. package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
  667. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  668. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  669. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  670. package/src/components/supportTicket/index.ts +0 -10
  671. package/src/components/supportTicket/meta.ts +0 -206
  672. package/src/components/supportTicket/ticketModel.ts +0 -131
  673. package/src/components/supportTicket/useLoadedImages.ts +0 -73
  674. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
  675. package/src/components/ticketReferences/TicketReferences.tsx +0 -906
  676. package/src/components/ticketReferences/index.ts +0 -2
  677. package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
  678. package/src/components/ticketThread/TicketThread.tsx +0 -719
  679. package/src/components/ticketThread/index.ts +0 -6
  680. package/src/contexts/FetchContext.tsx +0 -25
  681. package/src/contexts/ReqraftContext.tsx +0 -9
  682. package/src/contexts/StorageContext.tsx +0 -33
  683. package/src/global.d.ts +0 -4
  684. package/src/helpers/allowedValues.ts +0 -249
  685. package/src/helpers/choiceChip.ts +0 -227
  686. package/src/helpers/common.ts +0 -326
  687. package/src/helpers/dpqlDetection.ts +0 -209
  688. package/src/helpers/expressions.ts +0 -140
  689. package/src/helpers/optionUiTypes.ts +0 -199
  690. package/src/helpers/options.ts +0 -150
  691. package/src/helpers/providerValue.ts +0 -125
  692. package/src/helpers/scrollbar.ts +0 -32
  693. package/src/helpers/singleLineString.ts +0 -61
  694. package/src/helpers/templateItems.ts +0 -81
  695. package/src/helpers/templateText.ts +0 -350
  696. package/src/helpers/templates.ts +0 -602
  697. package/src/helpers/validations.ts +0 -2085
  698. package/src/hooks/useArgSchema.ts +0 -37
  699. package/src/hooks/useCoarsePointer.ts +0 -30
  700. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  701. package/src/hooks/useFetch/useFetch.tsx +0 -154
  702. package/src/hooks/usePhoneViewport.ts +0 -34
  703. package/src/hooks/useQorusTypes.ts +0 -233
  704. package/src/hooks/useReqraftProperty.ts +0 -16
  705. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  706. package/src/hooks/useStorage/useStorage.ts +0 -35
  707. package/src/hooks/useTemplates.ts +0 -123
  708. package/src/hooks/useValidation.ts +0 -9
  709. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  710. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  711. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  712. package/src/index.tsx +0 -86
  713. package/src/providers/FetchProvider.tsx +0 -40
  714. package/src/providers/ReqraftProvider.tsx +0 -52
  715. package/src/providers/StorageProvider.tsx +0 -131
  716. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  717. package/src/stores/currentUser/currentUser.tsx +0 -94
  718. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  719. package/src/stories/Tests/utils.ts +0 -320
  720. package/src/stories/storyNetwork.ts +0 -92
  721. package/src/stories/tracking.tsx +0 -206
  722. package/src/tracking/browser/attach.ts +0 -186
  723. package/src/tracking/browser/env.ts +0 -78
  724. package/src/tracking/core/consent.ts +0 -37
  725. package/src/tracking/core/engagement.ts +0 -47
  726. package/src/tracking/core/experiments.ts +0 -258
  727. package/src/tracking/core/hash.ts +0 -26
  728. package/src/tracking/core/ids.ts +0 -25
  729. package/src/tracking/core/observable.ts +0 -23
  730. package/src/tracking/core/queue.ts +0 -131
  731. package/src/tracking/core/sections.ts +0 -166
  732. package/src/tracking/core/storage.ts +0 -69
  733. package/src/tracking/core/tracker.ts +0 -417
  734. package/src/tracking/core/types.ts +0 -162
  735. package/src/tracking/core/utm.ts +0 -23
  736. package/src/tracking/index.ts +0 -72
  737. package/src/tracking/markup.ts +0 -17
  738. package/src/tracking/react/Experiment.tsx +0 -44
  739. package/src/tracking/react/TrackingProvider.tsx +0 -56
  740. package/src/tracking/react/hooks.ts +0 -106
  741. package/src/tracking/react/index.ts +0 -13
  742. package/src/tracking/testing.ts +0 -108
  743. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  744. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  745. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  746. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  747. package/src/tracking/ui/anchor.ts +0 -180
  748. package/src/tracking/ui/card.ts +0 -464
  749. package/src/tracking/ui/client.ts +0 -117
  750. package/src/tracking/ui/index.ts +0 -77
  751. package/src/tracking/ui/types.ts +0 -110
  752. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  753. package/src/types/Form.ts +0 -29
  754. package/src/types.ts +0 -14
  755. package/src/utils/datetime.ts +0 -10
  756. package/src/utils/fetch.ts +0 -457
  757. package/src/utils/lspClient.ts +0 -711
  758. package/src/utils/lspClient.types.ts +0 -211
  759. package/src/utils/queryUnlessCancelled.ts +0 -28
  760. package/src/utils/websocket.ts +0 -293
  761. package/vite.config.ts +0 -58
  762. package/vitest.config.ts +0 -69
package/README.md CHANGED
@@ -77,7 +77,7 @@ The ref exposes `format()`, `validate()`, `parse(text)`, and `serialize(expressi
77
77
 
78
78
  ### `SmartEditor`
79
79
 
80
- The generic Slate-based editor primitive that `DpqlEditor` wraps. Knows nothing about any specific language — instead it takes a caller-owned LSP session (`useLspSession`) plus a set of language-flavour props (`decorate`, `customRenderLeaf`, `tagRenderer`, `triggerCharacters`, `converter`, `completionInserter`, `topActions`). The same primitive can drive a DPQL editor, a Qonsole command input, or any other LSP-backed text field.
80
+ The generic Slate-based editor primitive that `DpqlEditor` wraps. Knows nothing about any specific language — instead it takes a caller-owned LSP session (`useLspSession`) plus a set of language-flavor props (`decorate`, `customRenderLeaf`, `tagRenderer`, `triggerCharacters`, `converter`, `completionInserter`, `topActions`). The same primitive can drive a DPQL editor, a Qonsole command input, or any other LSP-backed text field.
81
81
 
82
82
  ```tsx
83
83
  import { SmartEditor, useLspSession } from '@qoretechnologies/reqraft';
@@ -148,6 +148,58 @@ client.onNotification('qonsole/sessionStateChanged', (params) => { /* … */ });
148
148
  client.disconnect();
149
149
  ```
150
150
 
151
+ ### `ReqraftWebSocket`
152
+
153
+ The WebSocket under `useReqraftWebSocket` and `ReqraftLspClient`: one socket per URL on the configured instance (unless `pooled: false`), with a heartbeat and reconnects. `useReqraftWebSocket` takes the same options.
154
+
155
+ ```ts
156
+ import { ReqraftWebSocket } from '@qoretechnologies/reqraft';
157
+
158
+ const socket = new ReqraftWebSocket({
159
+ url: 'log/main', // the path on the instance
160
+ onMessage: (event) => append(event.data),
161
+ onReconnectFailed: () => offerReload(),
162
+ });
163
+
164
+ socket.remove(); // let go of it; the last user of a shared socket closes it
165
+ ```
166
+
167
+ | Option | Default | |
168
+ |---|---|---|
169
+ | `pooled` | `true` | Users of the same `url` share one socket; `false` gives this one its own |
170
+ | `reconnect` | `true` | Replace a socket that closes, or whose handshake does not open in time |
171
+ | `reconnectInterval` | `5000` | ms between attempts; the first attempt after a socket is lost is made at once |
172
+ | `maxReconnectTries` | `10` | Attempts before `onReconnectFailed` |
173
+ | `handshakeTimeout` | `15000` (`REQRAFT_WS_HANDSHAKE_TIMEOUT_MS`) | ms a handshake has to open; `0` sets no limit |
174
+ | `probeTimeout` | `10000` (`REQRAFT_WS_PROBE_TIMEOUT_MS`) | ms an attempt waits for its server-status probe; `0` sets no limit |
175
+ | `useHeartbeat` | `true` | Send `ping` every 3 s while open |
176
+ | `tokenOverride` | | A token for this socket instead of the instance's |
177
+ | `onOpen`, `onMessage`, `onClose`, `onError`, `onReconnecting`, `onReconnectFailed` | | Callbacks |
178
+
179
+ - **A handshake that hangs** (the server takes the connection and never answers the upgrade) sends no event at all until the browser gives up, about four minutes later in Chromium, and Chromium holds back every other socket to the same host and port while it waits. At `handshakeTimeout` the socket is closed and replaced: its users get `onError` and then `onClose` with code 1006, as for a handshake that failed, and the replacement follows the same `reconnectInterval` and `maxReconnectTries` as after a close. An open socket has no deadline, and a connection never has more than one socket.
180
+ - **Before each attempt** it asks the server `GET system/pid`, so that a session that has expired is sent to sign in (`fetchConfig.unauthorizedRedirect`). The answer never holds the attempt back: the request is aborted after `probeTimeout`, and the attempt is made either way.
181
+ - **`remove()` and `close()`** close on purpose: the socket is not reconnected, also when it was still connecting (a browser reports that close as 1006), and a reconnect waiting to run, its probe and the handshake deadline are called off. `ReqraftWebSocketsManager.closeAll()` closes every socket the same way.
182
+
183
+ ### `ReqraftColorValue`
184
+
185
+ A stored color, read-only: a swatch painted the color, beside the color written out (`#6495ED`, or `rgba(255, 0, 0, 0.5)` when it is see-through), on a wash of the color. A compact form row draws its colors with it, so a page and a form show a color the same way.
186
+
187
+ ```tsx
188
+ import { ReqraftColorValue } from '@qoretechnologies/reqraft';
189
+
190
+ <ReqraftColorValue value={{ r: 100, g: 149, b: 237 }} /> // detail page
191
+ <ReqraftColorValue value={option.value} size='compact' /> // one-line summary (row, cell)
192
+ ```
193
+
194
+ - **Values:** `{ r, g, b }`, `{ r, g, b, a }` (as the color field stores it), `{ hex }`, or a hex code of 3, 4, 6 or 8 digits, with or without its `#`. A channel past its range is brought into it, as the color field does.
195
+ - **A stored color** is `{ r, g, b, a? }` and nothing more: `r`, `g` and `b` whole numbers from 0 to 255, `a` its opacity from 0 to 1 (none: opaque). A hex code, bare or as `{ hex }`, and a color with another field beside its own (`{ r, g, b, hex }`, which the server refuses), are drawn so a value stored that way is seen, but they are not stored colors: the `rgbcolor` validator says what is wrong (`storedColorProblem(value)`), and the color field stores the hash, and only the hash, when it edits such a value.
196
+ - **A value that is not a color** (`#zzz`, `red`, a channel that is not a number) draws no swatch: it says what the value is ("Not a color: “#zzz”"). With no value it says "No color".
197
+ - **Sizes:** `normal` (default; a 20px swatch over a checkerboard, so transparency shows; the text wraps) and `compact` (a 12px swatch; one line ending in an ellipsis). `wrap` overrides the line behavior.
198
+ - **Accessible:** the color is text (it reads, copies and is found like any text); the swatch is an image named for the color ("Color #6495ED").
199
+ - **Words:** `labels` replaces any of `swatch(color)`, `invalid(shown)` and `empty` for a host that translates its interface.
200
+
201
+ `describeColorValue(value)` is the reader on its own: `{ kind: 'color', text, css }`, `{ kind: 'invalid', shown }` or `{ kind: 'empty' }`.
202
+
151
203
  ## Tracking, consent and A/B testing
152
204
 
153
205
  First-party analytics with a consent gate and client-side A/B testing, for any Qore web app. The core is plain TypeScript with no DOM, the browser layer attaches the listeners, and the React bindings sit on top. Everything product-specific comes in through config; the server keeps each product's data separate by `property`.
@@ -0,0 +1,54 @@
1
+ import { IReqorePanelAction } from '@qoretechnologies/reqore/dist/components/Panel';
2
+ import { TSizes } from '@qoretechnologies/reqore/dist/constants/sizes';
3
+ import { TReqoreTooltipProp } from '@qoretechnologies/reqore/dist/types/global';
4
+ import { Key, ReactElement } from 'react';
5
+ import { IDescriptionTooltipOptions } from '../../helpers/descriptionTooltip';
6
+ /** What the ⓘ is called, for a screen reader: the thing it explains. */
7
+ export declare const describedControlInfoLabel: (name: string) => string;
8
+ export interface IDescriptionInfoButtonProps {
9
+ /** The description it opens: the server's markdown, drawn as every description card is. */
10
+ description: string;
11
+ /** What it describes: the card's title and the button's accessible name. */
12
+ name: string;
13
+ descriptions: IDescriptionTooltipOptions;
14
+ /** The size of the group it is in, which a control group hands its children: the control beside it has it too. */
15
+ size?: TSizes;
16
+ }
17
+ /**
18
+ * A finger's way to a control's description: a small ⓘ beside the control that opens its card on a tap. A tap on
19
+ * the control itself does what the control does, and only that.
20
+ *
21
+ * It is the size of the control it sits beside: no size of its own, so it takes the group's, as the control does.
22
+ * A fixed big one (48px) beside a small checkbox read as the main thing in the row (Foxhoundn, qlip #361).
23
+ */
24
+ export declare const DescriptionInfoButton: import("react").MemoExoticComponent<({ description, name, descriptions, size }: IDescriptionInfoButtonProps) => import("react/jsx-runtime").JSX.Element>;
25
+ export interface IDescribedControl {
26
+ /** The control's own hover, with a mouse. None on a touch screen, where a tap is the control's own. */
27
+ tooltip?: TReqoreTooltipProp;
28
+ /** The ⓘ to put beside the control, on a touch screen. */
29
+ info?: ReactElement;
30
+ /** The same ⓘ as a panel's header action, for a control that is a panel. */
31
+ infoAction?: IReqorePanelAction;
32
+ }
33
+ /**
34
+ * How a control that does something when tapped - a checkbox, a tab, a collapsible section - shows its description.
35
+ *
36
+ * With a mouse, as its hover card. On a touch screen (`descriptions.tapToOpen`), never on the control: a tap there
37
+ * ticked the box or switched the tab and opened the card at once. The card opens from an ⓘ beside the control
38
+ * instead (`info`, or `infoAction` for a panel's header). A control with no description gets neither.
39
+ */
40
+ export declare const describedControl: (description: unknown, descriptions: IDescriptionTooltipOptions, name: string) => IDescribedControl;
41
+ /**
42
+ * A control with its ⓘ beside it, in one row, keyed as the control was; the control alone where there is no ⓘ
43
+ * (a mouse, or no description).
44
+ */
45
+ export declare const besideItsInfo: (control: ReactElement, info: ReactElement | undefined, key: Key) => ReactElement;
46
+ /**
47
+ * A collapsible section's description, as props for its `ReqorePanel`: with a mouse its header's hover, on a touch
48
+ * screen an ⓘ among its header's actions, so a tap on the header only opens or closes it.
49
+ */
50
+ export declare const describedPanelProps: (description: unknown, descriptions: IDescriptionTooltipOptions, name: string) => {
51
+ tooltip?: TReqoreTooltipProp;
52
+ actions?: IReqorePanelAction[];
53
+ };
54
+ //# sourceMappingURL=describedControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"describedControl.d.ts","sourceRoot":"","sources":["../../../src/components/Description/describedControl.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,+CAA+C,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAgB,GAAG,EAAQ,YAAY,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAsB,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAElG,wEAAwE;AACxE,eAAO,MAAM,yBAAyB,SAAU,MAAM,WAAoB,CAAC;AAE3E,MAAM,WAAW,2BAA2B;IAC1C,2FAA2F;IAC3F,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,0BAA0B,CAAC;IACzC,kHAAkH;IAClH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,kFACY,2BAA2B,6CAYxE,CAAC;AAIF,MAAM,WAAW,iBAAiB;IAChC,uGAAuG;IACvG,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,0DAA0D;IAC1D,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,gBACd,OAAO,gBACN,0BAA0B,QAClC,MAAM,KACX,iBAkBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,YACf,YAAY,QACf,YAAY,GAAG,SAAS,OACzB,GAAG,KACP,YAM+B,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,gBACjB,OAAO,gBACN,0BAA0B,QAClC,MAAM,KACX;IAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAGhE,CAAC"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.describedPanelProps = exports.besideItsInfo = exports.describedControl = exports.DescriptionInfoButton = exports.describedControlInfoLabel = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ // Copyright 2026 Qore Technologies, s.r.o.
17
+ var reqore_1 = require("@qoretechnologies/reqore");
18
+ var react_1 = require("react");
19
+ var descriptionTooltip_1 = require("../../helpers/descriptionTooltip");
20
+ /** What the ⓘ is called, for a screen reader: the thing it explains. */
21
+ var describedControlInfoLabel = function (name) { return "About ".concat(name); };
22
+ exports.describedControlInfoLabel = describedControlInfoLabel;
23
+ /**
24
+ * A finger's way to a control's description: a small ⓘ beside the control that opens its card on a tap. A tap on
25
+ * the control itself does what the control does, and only that.
26
+ *
27
+ * It is the size of the control it sits beside: no size of its own, so it takes the group's, as the control does.
28
+ * A fixed big one (48px) beside a small checkbox read as the main thing in the row (Foxhoundn, qlip #361).
29
+ */
30
+ exports.DescriptionInfoButton = (0, react_1.memo)(function (_a) {
31
+ var description = _a.description, name = _a.name, descriptions = _a.descriptions, size = _a.size;
32
+ return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'reqraft-description-info', icon: 'InformationLine', size: size, minimal: true, flat: true, fixed: true, "aria-label": (0, exports.describedControlInfoLabel)(name), tooltip: (0, descriptionTooltip_1.descriptionTooltip)(description, __assign(__assign({}, descriptions), { tapToOpen: true }), name) }));
33
+ });
34
+ exports.DescriptionInfoButton.displayName = 'DescriptionInfoButton';
35
+ /**
36
+ * How a control that does something when tapped - a checkbox, a tab, a collapsible section - shows its description.
37
+ *
38
+ * With a mouse, as its hover card. On a touch screen (`descriptions.tapToOpen`), never on the control: a tap there
39
+ * ticked the box or switched the tab and opened the card at once. The card opens from an ⓘ beside the control
40
+ * instead (`info`, or `infoAction` for a panel's header). A control with no description gets neither.
41
+ */
42
+ var describedControl = function (description, descriptions, name) {
43
+ if (!descriptions.tapToOpen) {
44
+ return { tooltip: (0, descriptionTooltip_1.descriptionTooltip)(description, descriptions) };
45
+ }
46
+ if (typeof description !== 'string' || !description.trim()) {
47
+ return {};
48
+ }
49
+ return {
50
+ info: (0, jsx_runtime_1.jsx)(exports.DescriptionInfoButton, { description: description, name: name, descriptions: descriptions }),
51
+ infoAction: {
52
+ className: 'reqraft-description-info',
53
+ icon: 'InformationLine',
54
+ minimal: true,
55
+ flat: true,
56
+ 'aria-label': (0, exports.describedControlInfoLabel)(name),
57
+ tooltip: (0, descriptionTooltip_1.descriptionTooltip)(description, __assign(__assign({}, descriptions), { tapToOpen: true }), name),
58
+ },
59
+ };
60
+ };
61
+ exports.describedControl = describedControl;
62
+ /**
63
+ * A control with its ⓘ beside it, in one row, keyed as the control was; the control alone where there is no ⓘ
64
+ * (a mouse, or no description).
65
+ */
66
+ var besideItsInfo = function (control, info, key) {
67
+ return info ?
68
+ (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { className: 'reqraft-described-control', gapSize: 'tiny', children: [control, info] }, key)
69
+ : (0, react_1.cloneElement)(control, { key: key });
70
+ };
71
+ exports.besideItsInfo = besideItsInfo;
72
+ /**
73
+ * A collapsible section's description, as props for its `ReqorePanel`: with a mouse its header's hover, on a touch
74
+ * screen an ⓘ among its header's actions, so a tap on the header only opens or closes it.
75
+ */
76
+ var describedPanelProps = function (description, descriptions, name) {
77
+ var _a = (0, exports.describedControl)(description, descriptions, name), tooltip = _a.tooltip, infoAction = _a.infoAction;
78
+ return __assign({ tooltip: tooltip }, (infoAction ? { actions: [infoAction] } : {}));
79
+ };
80
+ exports.describedPanelProps = describedPanelProps;
81
+ //# sourceMappingURL=describedControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"describedControl.js","sourceRoot":"","sources":["../../../src/components/Description/describedControl.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA2C;AAC3C,mDAA4E;AAI5E,+BAA8D;AAC9D,uEAAkG;AAElG,wEAAwE;AACjE,IAAM,yBAAyB,GAAG,UAAC,IAAY,IAAK,OAAA,gBAAS,IAAI,CAAE,EAAf,CAAe,CAAC;AAA9D,QAAA,yBAAyB,6BAAqC;AAY3E;;;;;;GAMG;AACU,QAAA,qBAAqB,GAAG,IAAA,YAAI,EACvC,UAAC,EAAsE;QAApE,WAAW,iBAAA,EAAE,IAAI,UAAA,EAAE,YAAY,kBAAA,EAAE,IAAI,UAAA;IAAoC,OAAA,CAC1E,uBAAC,qBAAY,IACX,SAAS,EAAC,0BAA0B,EACpC,IAAI,EAAC,iBAAiB,EACtB,IAAI,EAAE,IAAI,EACV,OAAO,QACP,IAAI,QACJ,KAAK,sBACO,IAAA,iCAAyB,EAAC,IAAI,CAAC,EAC3C,OAAO,EAAE,IAAA,uCAAkB,EAAC,WAAW,wBAAO,YAAY,KAAE,SAAS,EAAE,IAAI,KAAI,IAAI,CAAC,GACpF,CACH;AAX2E,CAW3E,CACF,CAAC;AAEF,6BAAqB,CAAC,WAAW,GAAG,uBAAuB,CAAC;AAW5D;;;;;;GAMG;AACI,IAAM,gBAAgB,GAAG,UAC9B,WAAoB,EACpB,YAAwC,EACxC,IAAY;IAEZ,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,IAAA,uCAAkB,EAAC,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC;IACpE,CAAC;IACD,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3D,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,uBAAC,6BAAqB,IAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,GAAI;QACjG,UAAU,EAAE;YACV,SAAS,EAAE,0BAA0B;YACrC,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,IAAA,iCAAyB,EAAC,IAAI,CAAC;YAC7C,OAAO,EAAE,IAAA,uCAAkB,EAAC,WAAW,wBAAO,YAAY,KAAE,SAAS,EAAE,IAAI,KAAI,IAAI,CAAC;SAC/D;KACxB,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,gBAAgB,oBAsB3B;AAEF;;;GAGG;AACI,IAAM,aAAa,GAAG,UAC3B,OAAqB,EACrB,IAA8B,EAC9B,GAAQ;IAER,OAAA,IAAI,CAAC,CAAC;QACJ,wBAAC,2BAAkB,IAAW,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAC,MAAM,aAC/E,OAAO,EACP,IAAI,KAFkB,GAAG,CAGP;QACvB,CAAC,CAAC,IAAA,oBAAY,EAAC,OAAO,EAAE,EAAE,GAAG,KAAA,EAAE,CAAC;AALhC,CAKgC,CAAC;AAVtB,QAAA,aAAa,iBAUS;AAEnC;;;GAGG;AACI,IAAM,mBAAmB,GAAG,UACjC,WAAoB,EACpB,YAAwC,EACxC,IAAY;IAEN,IAAA,KAA0B,IAAA,wBAAgB,EAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,EAAzE,OAAO,aAAA,EAAE,UAAU,gBAAsD,CAAC;IAClF,kBAAS,OAAO,SAAA,IAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAG;AACvE,CAAC,CAAC;AAPW,QAAA,mBAAmB,uBAO9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Description/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,qBAAqB,EAAW,MAAM,oDAAoD,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAM1D,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoHD,eAAO,MAAM,YAAY,UAAW,GAAG,4CAQtC,CAAC;AAEF,eAAO,MAAM,WAAW,oMAWnB,iBAAiB,6CA6FrB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Description/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,qBAAqB,EAAW,MAAM,oDAAoD,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAO1D,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoHD,eAAO,MAAM,YAAY,UAAW,GAAG,4CAQtC,CAAC;AAEF,eAAO,MAAM,WAAW,oMAWnB,iBAAiB,6CA8FrB,CAAC"}
@@ -36,6 +36,7 @@ var Paragraph_1 = require("@qoretechnologies/reqore/dist/components/Paragraph");
36
36
  var react_1 = require("react");
37
37
  var react_markdown_1 = __importDefault(require("react-markdown"));
38
38
  var styled_components_1 = __importDefault(require("styled-components"));
39
+ var markdownText_1 = require("../../helpers/markdownText");
39
40
  var markdownRendererContext_1 = require("./markdownRendererContext");
40
41
  /**
41
42
  * System monospace, spelled out rather than imported from
@@ -51,7 +52,7 @@ var MONO_FONT = "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberat
51
52
  * `styled(ReactMarkdown)` — hence a wrapper element rather than a styled
52
53
  * component around the renderer itself.
53
54
  */
54
- var StyledDescriptionMarkdown = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n /*\n * Inline code. A backtick span marks an identifier \u2014 an option key, a header\n * name, a path \u2014 so it has to be monospace, and it has to sit quietly inside\n * the sentence around it.\n *\n * This used to map the code element to a ReqoreTag with an explicit near-white\n * colour, which auto-contrasted to near-black text: on a dark form a description\n * full of option names read as a row of glaring labels rather than as prose with\n * identifiers in it. Keeping the reading colour and tinting the background\n * behind it says \"literal\" without shouting it.\n */\n code {\n font-family: ", ";\n font-size: 0.92em;\n background: rgba(255, 255, 255, 0.09);\n border: 1px solid rgba(255, 255, 255, 0.08);\n border-radius: 3px;\n padding: 0.05em 0.35em;\n color: inherit;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n }\n\n /* Block code owns the whole pre surface; it must not also be chipped. */\n pre {\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n max-width: 100%;\n }\n pre code {\n background: none;\n border: 0;\n padding: 0;\n font-size: 1em;\n }\n\n /*\n * Headings. These used to map to ReqoreH1\u2026ReqoreH6, which render at page-title\n * scale \u2014 an option description opening with a level-two heading came out\n * larger than the dialog title above it. A description is never a page, so the\n * scale here is relative to the text it interrupts.\n */\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin: ", ";\n line-height: 1.3;\n font-weight: 600;\n }\n\n > h1:first-child,\n > h2:first-child,\n > h3:first-child,\n > h4:first-child,\n > h5:first-child,\n > h6:first-child {\n margin-top: 0;\n }\n\n h1 {\n font-size: ", ";\n }\n h2 {\n font-size: ", ";\n }\n h3 {\n font-size: ", ";\n }\n h4,\n h5,\n h6 {\n font-size: 1em;\n opacity: 0.85;\n }\n\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n\n ul,\n ol {\n margin: 4px 0;\n padding-left: 20px;\n }\n li {\n margin: 2px 0;\n }\n"], ["\n /*\n * Inline code. A backtick span marks an identifier \u2014 an option key, a header\n * name, a path \u2014 so it has to be monospace, and it has to sit quietly inside\n * the sentence around it.\n *\n * This used to map the code element to a ReqoreTag with an explicit near-white\n * colour, which auto-contrasted to near-black text: on a dark form a description\n * full of option names read as a row of glaring labels rather than as prose with\n * identifiers in it. Keeping the reading colour and tinting the background\n * behind it says \"literal\" without shouting it.\n */\n code {\n font-family: ", ";\n font-size: 0.92em;\n background: rgba(255, 255, 255, 0.09);\n border: 1px solid rgba(255, 255, 255, 0.08);\n border-radius: 3px;\n padding: 0.05em 0.35em;\n color: inherit;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n }\n\n /* Block code owns the whole pre surface; it must not also be chipped. */\n pre {\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n max-width: 100%;\n }\n pre code {\n background: none;\n border: 0;\n padding: 0;\n font-size: 1em;\n }\n\n /*\n * Headings. These used to map to ReqoreH1\u2026ReqoreH6, which render at page-title\n * scale \u2014 an option description opening with a level-two heading came out\n * larger than the dialog title above it. A description is never a page, so the\n * scale here is relative to the text it interrupts.\n */\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin: ", ";\n line-height: 1.3;\n font-weight: 600;\n }\n\n > h1:first-child,\n > h2:first-child,\n > h3:first-child,\n > h4:first-child,\n > h5:first-child,\n > h6:first-child {\n margin-top: 0;\n }\n\n h1 {\n font-size: ", ";\n }\n h2 {\n font-size: ", ";\n }\n h3 {\n font-size: ", ";\n }\n h4,\n h5,\n h6 {\n font-size: 1em;\n opacity: 0.85;\n }\n\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n\n ul,\n ol {\n margin: 4px 0;\n padding-left: 20px;\n }\n li {\n margin: 2px 0;\n }\n"])), MONO_FONT, function (_a) {
55
+ var StyledDescriptionMarkdown = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n /*\n * Inline code. A backtick span marks an identifier \u2014 an option key, a header\n * name, a path \u2014 so it has to be monospace, and it has to sit quietly inside\n * the sentence around it.\n *\n * This used to map the code element to a ReqoreTag with an explicit near-white\n * color, which auto-contrasted to near-black text: on a dark form a description\n * full of option names read as a row of glaring labels rather than as prose with\n * identifiers in it. Keeping the reading color and tinting the background\n * behind it says \"literal\" without shouting it.\n */\n code {\n font-family: ", ";\n font-size: 0.92em;\n background: rgba(255, 255, 255, 0.09);\n border: 1px solid rgba(255, 255, 255, 0.08);\n border-radius: 3px;\n padding: 0.05em 0.35em;\n color: inherit;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n }\n\n /* Block code owns the whole pre surface; it must not also be chipped. */\n pre {\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n max-width: 100%;\n }\n pre code {\n background: none;\n border: 0;\n padding: 0;\n font-size: 1em;\n }\n\n /*\n * Headings. These used to map to ReqoreH1\u2026ReqoreH6, which render at page-title\n * scale \u2014 an option description opening with a level-two heading came out\n * larger than the dialog title above it. A description is never a page, so the\n * scale here is relative to the text it interrupts.\n */\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin: ", ";\n line-height: 1.3;\n font-weight: 600;\n }\n\n > h1:first-child,\n > h2:first-child,\n > h3:first-child,\n > h4:first-child,\n > h5:first-child,\n > h6:first-child {\n margin-top: 0;\n }\n\n h1 {\n font-size: ", ";\n }\n h2 {\n font-size: ", ";\n }\n h3 {\n font-size: ", ";\n }\n h4,\n h5,\n h6 {\n font-size: 1em;\n opacity: 0.85;\n }\n\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n\n ul,\n ol {\n margin: 4px 0;\n padding-left: 20px;\n }\n li {\n margin: 2px 0;\n }\n"], ["\n /*\n * Inline code. A backtick span marks an identifier \u2014 an option key, a header\n * name, a path \u2014 so it has to be monospace, and it has to sit quietly inside\n * the sentence around it.\n *\n * This used to map the code element to a ReqoreTag with an explicit near-white\n * color, which auto-contrasted to near-black text: on a dark form a description\n * full of option names read as a row of glaring labels rather than as prose with\n * identifiers in it. Keeping the reading color and tinting the background\n * behind it says \"literal\" without shouting it.\n */\n code {\n font-family: ", ";\n font-size: 0.92em;\n background: rgba(255, 255, 255, 0.09);\n border: 1px solid rgba(255, 255, 255, 0.08);\n border-radius: 3px;\n padding: 0.05em 0.35em;\n color: inherit;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n }\n\n /* Block code owns the whole pre surface; it must not also be chipped. */\n pre {\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n max-width: 100%;\n }\n pre code {\n background: none;\n border: 0;\n padding: 0;\n font-size: 1em;\n }\n\n /*\n * Headings. These used to map to ReqoreH1\u2026ReqoreH6, which render at page-title\n * scale \u2014 an option description opening with a level-two heading came out\n * larger than the dialog title above it. A description is never a page, so the\n * scale here is relative to the text it interrupts.\n */\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin: ", ";\n line-height: 1.3;\n font-weight: 600;\n }\n\n > h1:first-child,\n > h2:first-child,\n > h3:first-child,\n > h4:first-child,\n > h5:first-child,\n > h6:first-child {\n margin-top: 0;\n }\n\n h1 {\n font-size: ", ";\n }\n h2 {\n font-size: ", ";\n }\n h3 {\n font-size: ", ";\n }\n h4,\n h5,\n h6 {\n font-size: 1em;\n opacity: 0.85;\n }\n\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n\n ul,\n ol {\n margin: 4px 0;\n padding-left: 20px;\n }\n li {\n margin: 2px 0;\n }\n"])), MONO_FONT, function (_a) {
55
56
  var $compact = _a.$compact;
56
57
  return ($compact ? '10px 0 4px' : '16px 0 8px');
57
58
  }, function (_a) {
@@ -111,7 +112,7 @@ exports.Description = (0, react_1.memo)(function (_a) {
111
112
  // its own paragraphs, lists, headings — and a `<p>` may not contain
112
113
  // any of them, so the browser closed the outer paragraph early and
113
114
  // the rest of the description escaped its own styling.
114
- (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [markdownRenderer ? (markdownRenderer({ value: finalLongDescription, compact: compact })) : ((0, jsx_runtime_1.jsx)(StyledDescriptionMarkdown, { "$compact": compact, children: (0, jsx_runtime_1.jsx)(react_markdown_1.default, { components: components, children: finalLongDescription }) })), renderToggle()] })) : ((0, jsx_runtime_1.jsx)(Paragraph_1.ReqoreP, __assign({}, rest, { children: (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreSpan, { effect: effect, children: [finalShownDescription, " ", finalLongDescription ? renderToggle() : null] }) }))), margin === 'both' || margin === 'bottom' ? (0, jsx_runtime_1.jsx)(reqore_1.ReqoreVerticalSpacer, { height: 10 }) : null] }));
115
+ (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [markdownRenderer ? (markdownRenderer({ value: finalLongDescription, compact: compact })) : ((0, jsx_runtime_1.jsx)(StyledDescriptionMarkdown, { "$compact": compact, children: (0, jsx_runtime_1.jsx)(react_markdown_1.default, { components: components, children: finalLongDescription }) })), renderToggle()] })) : ((0, jsx_runtime_1.jsx)(Paragraph_1.ReqoreP, __assign({}, rest, { children: (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreSpan, { effect: effect, children: [(0, markdownText_1.markdownToProse)(finalShownDescription), " ", finalLongDescription ? renderToggle() : null] }) }))), margin === 'both' || margin === 'bottom' ? (0, jsx_runtime_1.jsx)(reqore_1.ReqoreVerticalSpacer, { height: 10 }) : null] }));
115
116
  });
116
117
  var templateObject_1;
117
118
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Description/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Description/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /** What a stored value is, as a color. */
2
+ export type TReqraftColorValueDescription =
3
+ /** A color: `text` is how it is written (`#6495ED`, or `rgba(…)` when it is see-through), `css` paints it. */
4
+ {
5
+ kind: 'color';
6
+ text: string;
7
+ css: string;
8
+ }
9
+ /** No color: nothing, an empty string or an empty hash. */
10
+ | {
11
+ kind: 'empty';
12
+ }
13
+ /** A value that is not a color; `shown` is the value as text (a string in quotes), to say what it is. */
14
+ | {
15
+ kind: 'invalid';
16
+ shown: string;
17
+ };
18
+ /** A color's red, green and blue, each from 0 to 255, and its opacity, from 0 to 1. */
19
+ export interface IReqraftRgba {
20
+ r: number;
21
+ g: number;
22
+ b: number;
23
+ a: number;
24
+ }
25
+ /**
26
+ * What a hex code says: its red, green and blue, and its opacity - the one hex reader in reqraft (qorus#646), for
27
+ * the color field, the readers here and a host that turns a hex code into a stored color. A hex code has 3, 4, 6 or 8
28
+ * hex digits, with or without its `#`, in either case. 3 and 4 are short for 6 and 8, each digit doubled: `F808` is
29
+ * `FF880088`. The last pair of 8 (the last digit of 4) is the opacity, `00` to `FF` read as 0 to 1; without one the
30
+ * color is opaque. Undefined when the text is not a hex code.
31
+ */
32
+ export declare const readHexColor: (text: string) => IReqraftRgba | undefined;
33
+ /** Whether a hex code gives its own opacity: 4 or 8 digits. */
34
+ export declare const hexGivesOpacity: (text: string) => boolean;
35
+ /**
36
+ * What a stored value is, as a color: a color (how it is written, and how CSS paints it), no color, or
37
+ * a value that is not a color (shown as it is). A channel past its range is brought into it, as the color
38
+ * field does; a channel that is not a finite number, a hex code that is not one (`#zzz`, seven digits) or
39
+ * a color name is not a color.
40
+ */
41
+ export declare const describeColorValue: (value: unknown) => TReqraftColorValueDescription;
42
+ /** How a color is written (`#0000FF`, or `rgba(…)` when see-through); undefined when the value is none. */
43
+ export declare const formatColorValue: (value: unknown) => string | undefined;
44
+ /** The CSS color a swatch is painted (alpha kept); undefined when the value is none. */
45
+ export declare const colorToCss: (value: unknown) => string | undefined;
46
+ /**
47
+ * What is wrong with a value stored as an `rgbcolor`, in plain words; undefined when it is a stored color (qorus#646,
48
+ * David): the hash `{ r, g, b, a? }`, `r`, `g` and `b` whole numbers from 0 to 255 and `a` its opacity, a number from
49
+ * 0 to 1 (without one, the color is opaque), and no other field: the server refuses one (Qore's RgbColorDataType:
50
+ * "unsupported fields in value").
51
+ *
52
+ * A hex code, bare or as `{ hex }`, and a color with other fields beside its own (react-color wrote a `hex`) are not
53
+ * stored colors: the readers above still draw them, so a value stored that way is seen, and this says why it is
54
+ * wrong. The color field stores the hash, and only the hash, when it edits such a value.
55
+ */
56
+ export declare const storedColorProblem: (value: unknown) => string | undefined;
57
+ /** Whether a value is a stored color, `{ r, g, b, a? }`; see `storedColorProblem`. */
58
+ export declare const isStoredColor: (value: unknown) => boolean;
59
+ //# sourceMappingURL=colorValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorValue.d.ts","sourceRoot":"","sources":["../../../src/components/colorValue/colorValue.ts"],"names":[],"mappings":"AASA,0CAA0C;AAC1C,MAAM,MAAM,6BAA6B;AACvC,8GAA8G;AAC5G;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AAC9C,2DAA2D;GACzD;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE;AACnB,yGAAyG;GACvG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AA8BvC,uFAAuF;AACvF,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,YAAY,GAAG,SAe1D,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,OAG9C,CAAC;AAmEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,UAAW,OAAO,KAAG,6BA8BnD,CAAC;AAEF,2GAA2G;AAC3G,eAAO,MAAM,gBAAgB,UAAW,OAAO,KAAG,MAAM,GAAG,SAG1D,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,UAAU,UAAW,OAAO,KAAG,MAAM,GAAG,SAGpD,CAAC;AA2BF;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,UAAW,OAAO,KAAG,MAAM,GAAG,SA+C5D,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,OAAkD,CAAC"}
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+ // Copyright 2026 Qore Technologies, s.r.o.
3
+ // What a stored color is: the one reader for every read-only view of a color (qorus#646).
4
+ //
5
+ // A color reaches a page in the shapes it is stored in - `{ r, g, b }` or `{ r, g, b, a }` as the color
6
+ // field stores it - and in shapes a stored color is not, which are drawn so a value stored that way is seen:
7
+ // `{ r, g, b, a }` with other fields beside them (react-color wrote a `hex`), `{ hex }`, or a hex code, with or
8
+ // without its `#`, as a value written by hand or by another client can be. `ReqraftColorValue` draws what
9
+ // this reads, and a compact form row summarises a color with it, so the two never disagree.
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.isStoredColor = exports.storedColorProblem = exports.colorToCss = exports.formatColorValue = exports.describeColorValue = exports.hexGivesOpacity = exports.readHexColor = void 0;
12
+ /** A hex code as CSS takes one: 3, 4, 6 or 8 hex digits (the last digit or pair is the alpha). */
13
+ var HEX_CODE = /^#?([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
14
+ /** The longest an invalid value is shown; a longer one is cut, with an ellipsis. */
15
+ var SHOWN_MAX = 60;
16
+ var isFiniteNumber = function (n) { return typeof n === 'number' && Number.isFinite(n); };
17
+ /** A channel brought into its range, as a whole number: the color field does the same. */
18
+ var clampChannel = function (n) { return Math.max(0, Math.min(255, Math.round(n))); };
19
+ var clampAlpha = function (n) { return Math.max(0, Math.min(1, n)); };
20
+ var toHexPart = function (n) { return clampChannel(n).toString(16).padStart(2, '0'); };
21
+ var hasRgb = function (c) {
22
+ return c.r !== undefined && c.g !== undefined && c.b !== undefined;
23
+ };
24
+ /**
25
+ * What a hex code says: its red, green and blue, and its opacity - the one hex reader in reqraft (qorus#646), for
26
+ * the color field, the readers here and a host that turns a hex code into a stored color. A hex code has 3, 4, 6 or 8
27
+ * hex digits, with or without its `#`, in either case. 3 and 4 are short for 6 and 8, each digit doubled: `F808` is
28
+ * `FF880088`. The last pair of 8 (the last digit of 4) is the opacity, `00` to `FF` read as 0 to 1; without one the
29
+ * color is opaque. Undefined when the text is not a hex code.
30
+ */
31
+ var readHexColor = function (text) {
32
+ var _a;
33
+ var match = HEX_CODE.exec(text.trim());
34
+ if (!match) {
35
+ return undefined;
36
+ }
37
+ var digits = match[1];
38
+ var full = digits.length <= 4 ?
39
+ digits
40
+ .split('')
41
+ .map(function (digit) { return "".concat(digit).concat(digit); })
42
+ .join('')
43
+ : digits;
44
+ var _b = ((_a = full.match(/../g)) !== null && _a !== void 0 ? _a : []).map(function (pair) { return parseInt(pair, 16); }), r = _b[0], g = _b[1], b = _b[2], a = _b[3];
45
+ return { r: r, g: g, b: b, a: a === undefined ? 1 : a / 255 };
46
+ };
47
+ exports.readHexColor = readHexColor;
48
+ /** Whether a hex code gives its own opacity: 4 or 8 digits. */
49
+ var hexGivesOpacity = function (text) {
50
+ var match = HEX_CODE.exec(text.trim());
51
+ return !!match && (match[1].length === 4 || match[1].length === 8);
52
+ };
53
+ exports.hexGivesOpacity = hexGivesOpacity;
54
+ /** A hex code with its `#`, or undefined when the text is not one. */
55
+ var hexCode = function (text) {
56
+ var trimmed = text.trim();
57
+ return (HEX_CODE.test(trimmed) ?
58
+ trimmed.startsWith('#') ?
59
+ trimmed
60
+ : "#".concat(trimmed)
61
+ : undefined);
62
+ };
63
+ /** Whether a value holds nothing: nothing, an empty string or an empty hash. */
64
+ var isEmpty = function (value) {
65
+ return value === undefined ||
66
+ value === null ||
67
+ (typeof value === 'string' && value.trim() === '') ||
68
+ (typeof value === 'object' && !Array.isArray(value) && Object.keys(value).length === 0);
69
+ };
70
+ /** A stored color's parts, or undefined when the value is not a color. */
71
+ var parseColor = function (value) {
72
+ if (typeof value === 'string') {
73
+ var hex = hexCode(value);
74
+ return hex ? { hex: hex, a: 1 } : undefined;
75
+ }
76
+ if (value && typeof value === 'object' && !Array.isArray(value)) {
77
+ var _a = value, r = _a.r, g = _a.g, b = _a.b, a = _a.a, hex = _a.hex;
78
+ // an alpha that is given is a number, or this is not a color (null is an alpha not given)
79
+ if (a !== undefined && a !== null && !isFiniteNumber(a)) {
80
+ return undefined;
81
+ }
82
+ var alpha = isFiniteNumber(a) ? clampAlpha(a) : 1;
83
+ if (isFiniteNumber(r) && isFiniteNumber(g) && isFiniteNumber(b)) {
84
+ return { r: r, g: g, b: b, a: alpha };
85
+ }
86
+ if (typeof hex === 'string') {
87
+ var code = hexCode(hex);
88
+ return code ? { hex: code, a: alpha } : undefined;
89
+ }
90
+ }
91
+ return undefined;
92
+ };
93
+ /** A value that is not a color, as text: a string in quotes, anything else as JSON, cut when long. */
94
+ var showValue = function (value) {
95
+ var _a;
96
+ var shown;
97
+ if (typeof value === 'string') {
98
+ shown = "\u201C".concat(value, "\u201D");
99
+ }
100
+ else {
101
+ try {
102
+ shown = (_a = JSON.stringify(value)) !== null && _a !== void 0 ? _a : String(value);
103
+ }
104
+ catch (_b) {
105
+ // a value JSON cannot write (a cycle, a BigInt) is still shown as something
106
+ shown = String(value);
107
+ }
108
+ }
109
+ return shown.length > SHOWN_MAX ? "".concat(shown.slice(0, SHOWN_MAX), "\u2026") : shown;
110
+ };
111
+ /**
112
+ * What a stored value is, as a color: a color (how it is written, and how CSS paints it), no color, or
113
+ * a value that is not a color (shown as it is). A channel past its range is brought into it, as the color
114
+ * field does; a channel that is not a finite number, a hex code that is not one (`#zzz`, seven digits) or
115
+ * a color name is not a color.
116
+ */
117
+ var describeColorValue = function (value) {
118
+ if (isEmpty(value)) {
119
+ return { kind: 'empty' };
120
+ }
121
+ var c = parseColor(value);
122
+ if (!c) {
123
+ return { kind: 'invalid', shown: showValue(value) };
124
+ }
125
+ if (hasRgb(c)) {
126
+ var _a = [clampChannel(c.r), clampChannel(c.g), clampChannel(c.b)], r = _a[0], g = _a[1], b = _a[2];
127
+ var alpha = Math.round(c.a * 100) / 100;
128
+ return {
129
+ kind: 'color',
130
+ // rgba(…) for a see-through color: the hex shortcut would drop its alpha
131
+ text: c.a < 1 ?
132
+ "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(alpha, ")")
133
+ : "#".concat(toHexPart(r)).concat(toHexPart(g)).concat(toHexPart(b)).toUpperCase(),
134
+ css: "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(c.a, ")"),
135
+ };
136
+ }
137
+ // written as it was stored; painted as the hex reader reads it, as the color field would store it - its own
138
+ // opacity where it has one (4 or 8 digits), or the opacity given beside it
139
+ var read = (0, exports.readHexColor)(c.hex);
140
+ return {
141
+ kind: 'color',
142
+ text: c.hex.toUpperCase(),
143
+ // the opacity in hundredths, as the color field stores it
144
+ css: "rgba(".concat(read.r, ", ").concat(read.g, ", ").concat(read.b, ", ").concat((0, exports.hexGivesOpacity)(c.hex) ? Math.round(read.a * 100) / 100 : c.a, ")"),
145
+ };
146
+ };
147
+ exports.describeColorValue = describeColorValue;
148
+ /** How a color is written (`#0000FF`, or `rgba(…)` when see-through); undefined when the value is none. */
149
+ var formatColorValue = function (value) {
150
+ var description = (0, exports.describeColorValue)(value);
151
+ return description.kind === 'color' ? description.text : undefined;
152
+ };
153
+ exports.formatColorValue = formatColorValue;
154
+ /** The CSS color a swatch is painted (alpha kept); undefined when the value is none. */
155
+ var colorToCss = function (value) {
156
+ var description = (0, exports.describeColorValue)(value);
157
+ return description.kind === 'color' ? description.css : undefined;
158
+ };
159
+ exports.colorToCss = colorToCss;
160
+ /** The channels of a stored color, with the words a reader knows them by. */
161
+ var STORED_CHANNELS = [
162
+ ['r', 'red'],
163
+ ['g', 'green'],
164
+ ['b', 'blue'],
165
+ ];
166
+ var isWholeChannel = function (n) {
167
+ return typeof n === 'number' && Number.isInteger(n) && n >= 0 && n <= 255;
168
+ };
169
+ var isOpacity = function (n) {
170
+ return typeof n === 'number' && Number.isFinite(n) && n >= 0 && n <= 1;
171
+ };
172
+ /** "red (r)", "red (r) and blue (b)", "red (r), green (g) and blue (b)" - and the same for any words. */
173
+ var listChannels = function (channels) {
174
+ return channels.length < 2 ?
175
+ channels.join('')
176
+ : "".concat(channels.slice(0, -1).join(', '), " and ").concat(channels[channels.length - 1]);
177
+ };
178
+ /** The fields a stored color has: its channels and its opacity. */
179
+ var STORED_FIELDS = ['r', 'g', 'b', 'a'];
180
+ /** The stored shape, said where a value is not in it at all. */
181
+ var STORED_AS = 'A color is stored as its red, green and blue values (r, g, b)';
182
+ /**
183
+ * What is wrong with a value stored as an `rgbcolor`, in plain words; undefined when it is a stored color (qorus#646,
184
+ * David): the hash `{ r, g, b, a? }`, `r`, `g` and `b` whole numbers from 0 to 255 and `a` its opacity, a number from
185
+ * 0 to 1 (without one, the color is opaque), and no other field: the server refuses one (Qore's RgbColorDataType:
186
+ * "unsupported fields in value").
187
+ *
188
+ * A hex code, bare or as `{ hex }`, and a color with other fields beside its own (react-color wrote a `hex`) are not
189
+ * stored colors: the readers above still draw them, so a value stored that way is seen, and this says why it is
190
+ * wrong. The color field stores the hash, and only the hash, when it edits such a value.
191
+ */
192
+ var storedColorProblem = function (value) {
193
+ if (value === undefined || value === null || (typeof value === 'string' && value.trim() === '')) {
194
+ return 'No color is set.';
195
+ }
196
+ if (typeof value === 'string') {
197
+ var hex = hexCode(value);
198
+ return "".concat(STORED_AS, ", not as ").concat(hex ? "the hex code ".concat(showValue(value)) : showValue(value), ".");
199
+ }
200
+ if (typeof value !== 'object' || Array.isArray(value)) {
201
+ return "".concat(STORED_AS, ", not as ").concat(showValue(value), ".");
202
+ }
203
+ var color = value;
204
+ var missing = STORED_CHANNELS.filter(function (_a) {
205
+ var key = _a[0];
206
+ return color[key] === undefined || color[key] === null;
207
+ });
208
+ if (missing.length === STORED_CHANNELS.length && typeof color.hex === 'string') {
209
+ return "".concat(STORED_AS, ", not as the hex code ").concat(showValue(color.hex), ".");
210
+ }
211
+ var problems = [];
212
+ if (missing.length) {
213
+ var names = missing.map(function (_a) {
214
+ var key = _a[0], name = _a[1];
215
+ return "".concat(name, " (").concat(key, ")");
216
+ });
217
+ problems.push("".concat(listChannels(names), " ").concat(missing.length === 1 ? 'is' : 'are', " missing"));
218
+ }
219
+ for (var _i = 0, STORED_CHANNELS_1 = STORED_CHANNELS; _i < STORED_CHANNELS_1.length; _i++) {
220
+ var _a = STORED_CHANNELS_1[_i], key = _a[0], name_1 = _a[1];
221
+ var channel = color[key];
222
+ if (channel !== undefined && channel !== null && !isWholeChannel(channel)) {
223
+ problems.push("".concat(name_1, " (").concat(key, ") must be a whole number from 0 to 255, not ").concat(showValue(channel)));
224
+ }
225
+ }
226
+ // an opacity that is not given is a color that is opaque
227
+ if (color.a !== undefined && color.a !== null && !isOpacity(color.a)) {
228
+ problems.push("opacity (a) must be a number from 0 to 1, not ".concat(showValue(color.a)));
229
+ }
230
+ // a field beside its own, which the server refuses
231
+ var extra = Object.keys(color).filter(function (key) { return !STORED_FIELDS.includes(key); });
232
+ if (extra.length) {
233
+ problems.push("the color also has ".concat(listChannels(extra.map(function (key) { return showValue(key); })), ", which a stored color can't have"));
234
+ }
235
+ if (!problems.length) {
236
+ return undefined;
237
+ }
238
+ var said = problems.join('; ');
239
+ return "".concat(said.charAt(0).toUpperCase()).concat(said.slice(1), ".");
240
+ };
241
+ exports.storedColorProblem = storedColorProblem;
242
+ /** Whether a value is a stored color, `{ r, g, b, a? }`; see `storedColorProblem`. */
243
+ var isStoredColor = function (value) { return (0, exports.storedColorProblem)(value) === undefined; };
244
+ exports.isStoredColor = isStoredColor;
245
+ //# sourceMappingURL=colorValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorValue.js","sourceRoot":"","sources":["../../../src/components/colorValue/colorValue.ts"],"names":[],"mappings":"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"}