@cratis/scene.primereact 4.6.0 → 4.8.0

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 (388) hide show
  1. package/.storybook/preview.tsx +8 -1
  2. package/EnumerationResolution.ts +7 -0
  3. package/README.md +22 -12
  4. package/data/DataGallery.stories.tsx +6 -0
  5. package/data/DataScrollerRow.tsx +35 -0
  6. package/data/PrimeDataScroller.tsx +84 -0
  7. package/data/PrimeTreeTable.tsx +145 -0
  8. package/data/TreeTableCheckState.ts +9 -0
  9. package/data/TreeTableRow.ts +22 -0
  10. package/data/TreeTableRowView.tsx +86 -0
  11. package/data/TreeTableSelectionMode.ts +10 -0
  12. package/data/checkboxSelection.ts +92 -0
  13. package/data/index.ts +4 -0
  14. package/data/isSerializedLegacyElement.ts +30 -0
  15. package/data/readableValue.ts +32 -0
  16. package/data/selectionKeysOf.ts +40 -0
  17. package/data/treeTableRows.ts +32 -0
  18. package/data/useIncrementalLoad.ts +36 -0
  19. package/data/useLoadOnReach.ts +31 -0
  20. package/data/useTreeGridNavigation.ts +81 -0
  21. package/dist/cjs/data/DataScrollerRow.js +50 -0
  22. package/dist/cjs/data/DataScrollerRow.js.map +1 -0
  23. package/dist/cjs/data/PrimeDataScroller.js +120 -0
  24. package/dist/cjs/data/PrimeDataScroller.js.map +1 -0
  25. package/dist/cjs/data/PrimeTreeTable.js +217 -0
  26. package/dist/cjs/data/PrimeTreeTable.js.map +1 -0
  27. package/dist/cjs/data/TreeTableCheckState.js +13 -0
  28. package/dist/cjs/data/TreeTableCheckState.js.map +1 -0
  29. package/dist/cjs/data/TreeTableRowView.js +76 -0
  30. package/dist/cjs/data/TreeTableRowView.js.map +1 -0
  31. package/dist/cjs/data/TreeTableSelectionMode.js +14 -0
  32. package/dist/cjs/data/TreeTableSelectionMode.js.map +1 -0
  33. package/dist/cjs/data/checkboxSelection.js +88 -0
  34. package/dist/cjs/data/checkboxSelection.js.map +1 -0
  35. package/dist/cjs/data/isSerializedLegacyElement.js +30 -0
  36. package/dist/cjs/data/isSerializedLegacyElement.js.map +1 -0
  37. package/dist/cjs/data/readableValue.js +31 -0
  38. package/dist/cjs/data/readableValue.js.map +1 -0
  39. package/dist/cjs/data/selectionKeysOf.js +40 -0
  40. package/dist/cjs/data/selectionKeysOf.js.map +1 -0
  41. package/dist/cjs/data/treeTableRows.js +42 -0
  42. package/dist/cjs/data/treeTableRows.js.map +1 -0
  43. package/dist/cjs/data/useIncrementalLoad.js +46 -0
  44. package/dist/cjs/data/useIncrementalLoad.js.map +1 -0
  45. package/dist/cjs/data/useLoadOnReach.js +42 -0
  46. package/dist/cjs/data/useLoadOnReach.js.map +1 -0
  47. package/dist/cjs/data/useTreeGridNavigation.js +75 -0
  48. package/dist/cjs/data/useTreeGridNavigation.js.map +1 -0
  49. package/dist/cjs/editor/PrimeEditor.js +96 -0
  50. package/dist/cjs/editor/PrimeEditor.js.map +1 -0
  51. package/dist/cjs/editor/QuillLoaderContext.js +10 -0
  52. package/dist/cjs/editor/QuillLoaderContext.js.map +1 -0
  53. package/dist/cjs/editor/QuillLoaderProvider.js +21 -0
  54. package/dist/cjs/editor/QuillLoaderProvider.js.map +1 -0
  55. package/dist/cjs/editor/applyHtml.js +25 -0
  56. package/dist/cjs/editor/applyHtml.js.map +1 -0
  57. package/dist/cjs/editor/characterCount.js +10 -0
  58. package/dist/cjs/editor/characterCount.js.map +1 -0
  59. package/dist/cjs/editor/htmlToPlainText.js +101 -0
  60. package/dist/cjs/editor/htmlToPlainText.js.map +1 -0
  61. package/dist/cjs/editor/renderSafeNodes.js +35 -0
  62. package/dist/cjs/editor/renderSafeNodes.js.map +1 -0
  63. package/dist/cjs/editor/safeUrls.js +44 -0
  64. package/dist/cjs/editor/safeUrls.js.map +1 -0
  65. package/dist/cjs/editor/sanitizeHtml.js +140 -0
  66. package/dist/cjs/editor/sanitizeHtml.js.map +1 -0
  67. package/dist/cjs/editor/serializeSafeNodes.js +33 -0
  68. package/dist/cjs/editor/serializeSafeNodes.js.map +1 -0
  69. package/dist/cjs/editor/toolbarLayout.js +35 -0
  70. package/dist/cjs/editor/toolbarLayout.js.map +1 -0
  71. package/dist/cjs/editor/useQuillEditor.js +137 -0
  72. package/dist/cjs/editor/useQuillEditor.js.map +1 -0
  73. package/dist/cjs/file/FileUploadContext.js +13 -0
  74. package/dist/cjs/file/FileUploadContext.js.map +1 -0
  75. package/dist/cjs/file/FileUploadHandlerProvider.js +25 -0
  76. package/dist/cjs/file/FileUploadHandlerProvider.js.map +1 -0
  77. package/dist/cjs/file/FileUploadMode.js +13 -0
  78. package/dist/cjs/file/FileUploadMode.js.map +1 -0
  79. package/dist/cjs/file/PrimeFileUpload.js +161 -0
  80. package/dist/cjs/file/PrimeFileUpload.js.map +1 -0
  81. package/dist/cjs/file/postFiles.js +31 -0
  82. package/dist/cjs/file/postFiles.js.map +1 -0
  83. package/dist/cjs/file/resolveUploadTarget.js +68 -0
  84. package/dist/cjs/file/resolveUploadTarget.js.map +1 -0
  85. package/dist/cjs/file/useUploadSession.js +62 -0
  86. package/dist/cjs/file/useUploadSession.js.map +1 -0
  87. package/dist/cjs/index.js +32 -0
  88. package/dist/cjs/index.js.map +1 -1
  89. package/dist/cjs/legacyEnumerationChoices.js +39 -0
  90. package/dist/cjs/legacyEnumerationChoices.js.map +1 -0
  91. package/dist/cjs/loadQuill/index.js +22 -0
  92. package/dist/cjs/loadQuill/index.js.map +1 -0
  93. package/dist/cjs/primeReactComponents.js +10 -0
  94. package/dist/cjs/primeReactComponents.js.map +1 -1
  95. package/dist/cjs/primeReactDescriptors.js +243 -0
  96. package/dist/cjs/primeReactDescriptors.js.map +1 -1
  97. package/dist/cjs/primeReactPackage.js +4 -0
  98. package/dist/cjs/primeReactPackage.js.map +1 -1
  99. package/dist/cjs/resolveEnumeration.js +55 -0
  100. package/dist/cjs/resolveEnumeration.js.map +1 -0
  101. package/dist/cjs/treeNodes.js +42 -7
  102. package/dist/cjs/treeNodes.js.map +1 -1
  103. package/dist/cjs/useResettingState.js +47 -0
  104. package/dist/cjs/useResettingState.js.map +1 -0
  105. package/dist/esm/EnumerationResolution.d.ts +9 -0
  106. package/dist/esm/EnumerationResolution.d.ts.map +1 -0
  107. package/dist/esm/EnumerationResolution.js +2 -0
  108. package/dist/esm/EnumerationResolution.js.map +1 -0
  109. package/dist/esm/data/DataGallery.stories.d.ts.map +1 -1
  110. package/dist/esm/data/DataGallery.stories.js +6 -0
  111. package/dist/esm/data/DataGallery.stories.js.map +1 -1
  112. package/dist/esm/data/DataScrollerRow.d.ts +4 -0
  113. package/dist/esm/data/DataScrollerRow.d.ts.map +1 -0
  114. package/dist/esm/data/DataScrollerRow.js +48 -0
  115. package/dist/esm/data/DataScrollerRow.js.map +1 -0
  116. package/dist/esm/data/PrimeDataScroller.d.ts +3 -0
  117. package/dist/esm/data/PrimeDataScroller.d.ts.map +1 -0
  118. package/dist/esm/data/PrimeDataScroller.js +118 -0
  119. package/dist/esm/data/PrimeDataScroller.js.map +1 -0
  120. package/dist/esm/data/PrimeTreeTable.d.ts +3 -0
  121. package/dist/esm/data/PrimeTreeTable.d.ts.map +1 -0
  122. package/dist/esm/data/PrimeTreeTable.js +215 -0
  123. package/dist/esm/data/PrimeTreeTable.js.map +1 -0
  124. package/dist/esm/data/TreeTableCheckState.d.ts +6 -0
  125. package/dist/esm/data/TreeTableCheckState.d.ts.map +1 -0
  126. package/dist/esm/data/TreeTableCheckState.js +11 -0
  127. package/dist/esm/data/TreeTableCheckState.js.map +1 -0
  128. package/dist/esm/data/TreeTableRow.d.ts +10 -0
  129. package/dist/esm/data/TreeTableRow.d.ts.map +1 -0
  130. package/dist/esm/data/TreeTableRow.js +2 -0
  131. package/dist/esm/data/TreeTableRow.js.map +1 -0
  132. package/dist/esm/data/TreeTableRowView.d.ts +21 -0
  133. package/dist/esm/data/TreeTableRowView.d.ts.map +1 -0
  134. package/dist/esm/data/TreeTableRowView.js +74 -0
  135. package/dist/esm/data/TreeTableRowView.js.map +1 -0
  136. package/dist/esm/data/TreeTableSelectionMode.d.ts +7 -0
  137. package/dist/esm/data/TreeTableSelectionMode.d.ts.map +1 -0
  138. package/dist/esm/data/TreeTableSelectionMode.js +12 -0
  139. package/dist/esm/data/TreeTableSelectionMode.js.map +1 -0
  140. package/dist/esm/data/checkboxSelection.d.ts +9 -0
  141. package/dist/esm/data/checkboxSelection.d.ts.map +1 -0
  142. package/dist/esm/data/checkboxSelection.js +85 -0
  143. package/dist/esm/data/checkboxSelection.js.map +1 -0
  144. package/dist/esm/data/index.d.ts +4 -0
  145. package/dist/esm/data/index.d.ts.map +1 -1
  146. package/dist/esm/data/index.js +4 -0
  147. package/dist/esm/data/index.js.map +1 -1
  148. package/dist/esm/data/isSerializedLegacyElement.d.ts +3 -0
  149. package/dist/esm/data/isSerializedLegacyElement.d.ts.map +1 -0
  150. package/dist/esm/data/isSerializedLegacyElement.js +27 -0
  151. package/dist/esm/data/isSerializedLegacyElement.js.map +1 -0
  152. package/dist/esm/data/readableValue.d.ts +2 -0
  153. package/dist/esm/data/readableValue.d.ts.map +1 -0
  154. package/dist/esm/data/readableValue.js +29 -0
  155. package/dist/esm/data/readableValue.js.map +1 -0
  156. package/dist/esm/data/selectionKeysOf.d.ts +2 -0
  157. package/dist/esm/data/selectionKeysOf.d.ts.map +1 -0
  158. package/dist/esm/data/selectionKeysOf.js +38 -0
  159. package/dist/esm/data/selectionKeysOf.js.map +1 -0
  160. package/dist/esm/data/treeTableRows.d.ts +6 -0
  161. package/dist/esm/data/treeTableRows.d.ts.map +1 -0
  162. package/dist/esm/data/treeTableRows.js +38 -0
  163. package/dist/esm/data/treeTableRows.js.map +1 -0
  164. package/dist/esm/data/useIncrementalLoad.d.ts +6 -0
  165. package/dist/esm/data/useIncrementalLoad.d.ts.map +1 -0
  166. package/dist/esm/data/useIncrementalLoad.js +44 -0
  167. package/dist/esm/data/useIncrementalLoad.js.map +1 -0
  168. package/dist/esm/data/useLoadOnReach.d.ts +3 -0
  169. package/dist/esm/data/useLoadOnReach.d.ts.map +1 -0
  170. package/dist/esm/data/useLoadOnReach.js +40 -0
  171. package/dist/esm/data/useLoadOnReach.js.map +1 -0
  172. package/dist/esm/data/useTreeGridNavigation.d.ts +17 -0
  173. package/dist/esm/data/useTreeGridNavigation.d.ts.map +1 -0
  174. package/dist/esm/data/useTreeGridNavigation.js +73 -0
  175. package/dist/esm/data/useTreeGridNavigation.js.map +1 -0
  176. package/dist/esm/editor/PrimeEditor.d.ts +3 -0
  177. package/dist/esm/editor/PrimeEditor.d.ts.map +1 -0
  178. package/dist/esm/editor/PrimeEditor.js +94 -0
  179. package/dist/esm/editor/PrimeEditor.js.map +1 -0
  180. package/dist/esm/editor/QuillConstructor.d.ts +4 -0
  181. package/dist/esm/editor/QuillConstructor.d.ts.map +1 -0
  182. package/dist/esm/editor/QuillConstructor.js +2 -0
  183. package/dist/esm/editor/QuillConstructor.js.map +1 -0
  184. package/dist/esm/editor/QuillEditorOptions.d.ts +13 -0
  185. package/dist/esm/editor/QuillEditorOptions.d.ts.map +1 -0
  186. package/dist/esm/editor/QuillEditorOptions.js +2 -0
  187. package/dist/esm/editor/QuillEditorOptions.js.map +1 -0
  188. package/dist/esm/editor/QuillEditorState.d.ts +6 -0
  189. package/dist/esm/editor/QuillEditorState.d.ts.map +1 -0
  190. package/dist/esm/editor/QuillEditorState.js +2 -0
  191. package/dist/esm/editor/QuillEditorState.js.map +1 -0
  192. package/dist/esm/editor/QuillInstance.d.ts +16 -0
  193. package/dist/esm/editor/QuillInstance.d.ts.map +1 -0
  194. package/dist/esm/editor/QuillInstance.js +2 -0
  195. package/dist/esm/editor/QuillInstance.js.map +1 -0
  196. package/dist/esm/editor/QuillLoader.d.ts +5 -0
  197. package/dist/esm/editor/QuillLoader.d.ts.map +1 -0
  198. package/dist/esm/editor/QuillLoader.js +2 -0
  199. package/dist/esm/editor/QuillLoader.js.map +1 -0
  200. package/dist/esm/editor/QuillLoaderContext.d.ts +3 -0
  201. package/dist/esm/editor/QuillLoaderContext.d.ts.map +1 -0
  202. package/dist/esm/editor/QuillLoaderContext.js +8 -0
  203. package/dist/esm/editor/QuillLoaderContext.js.map +1 -0
  204. package/dist/esm/editor/QuillLoaderProvider.d.ts +8 -0
  205. package/dist/esm/editor/QuillLoaderProvider.d.ts.map +1 -0
  206. package/dist/esm/editor/QuillLoaderProvider.js +19 -0
  207. package/dist/esm/editor/QuillLoaderProvider.js.map +1 -0
  208. package/dist/esm/editor/QuillOptions.d.ts +9 -0
  209. package/dist/esm/editor/QuillOptions.d.ts.map +1 -0
  210. package/dist/esm/editor/QuillOptions.js +2 -0
  211. package/dist/esm/editor/QuillOptions.js.map +1 -0
  212. package/dist/esm/editor/SafeElement.d.ts +7 -0
  213. package/dist/esm/editor/SafeElement.d.ts.map +1 -0
  214. package/dist/esm/editor/SafeElement.js +2 -0
  215. package/dist/esm/editor/SafeElement.js.map +1 -0
  216. package/dist/esm/editor/SafeNode.d.ts +3 -0
  217. package/dist/esm/editor/SafeNode.d.ts.map +1 -0
  218. package/dist/esm/editor/SafeNode.js +2 -0
  219. package/dist/esm/editor/SafeNode.js.map +1 -0
  220. package/dist/esm/editor/applyHtml.d.ts +3 -0
  221. package/dist/esm/editor/applyHtml.d.ts.map +1 -0
  222. package/dist/esm/editor/applyHtml.js +23 -0
  223. package/dist/esm/editor/applyHtml.js.map +1 -0
  224. package/dist/esm/editor/characterCount.d.ts +3 -0
  225. package/dist/esm/editor/characterCount.d.ts.map +1 -0
  226. package/dist/esm/editor/characterCount.js +8 -0
  227. package/dist/esm/editor/characterCount.js.map +1 -0
  228. package/dist/esm/editor/htmlToPlainText.d.ts +2 -0
  229. package/dist/esm/editor/htmlToPlainText.d.ts.map +1 -0
  230. package/dist/esm/editor/htmlToPlainText.js +99 -0
  231. package/dist/esm/editor/htmlToPlainText.js.map +1 -0
  232. package/dist/esm/editor/index.d.ts +14 -0
  233. package/dist/esm/editor/index.d.ts.map +1 -0
  234. package/dist/esm/editor/index.js +14 -0
  235. package/dist/esm/editor/index.js.map +1 -0
  236. package/dist/esm/editor/renderSafeNodes.d.ts +4 -0
  237. package/dist/esm/editor/renderSafeNodes.d.ts.map +1 -0
  238. package/dist/esm/editor/renderSafeNodes.js +33 -0
  239. package/dist/esm/editor/renderSafeNodes.js.map +1 -0
  240. package/dist/esm/editor/safeUrls.d.ts +3 -0
  241. package/dist/esm/editor/safeUrls.d.ts.map +1 -0
  242. package/dist/esm/editor/safeUrls.js +41 -0
  243. package/dist/esm/editor/safeUrls.js.map +1 -0
  244. package/dist/esm/editor/sanitizeHtml.d.ts +3 -0
  245. package/dist/esm/editor/sanitizeHtml.d.ts.map +1 -0
  246. package/dist/esm/editor/sanitizeHtml.js +138 -0
  247. package/dist/esm/editor/sanitizeHtml.js.map +1 -0
  248. package/dist/esm/editor/serializeSafeNodes.d.ts +3 -0
  249. package/dist/esm/editor/serializeSafeNodes.d.ts.map +1 -0
  250. package/dist/esm/editor/serializeSafeNodes.js +31 -0
  251. package/dist/esm/editor/serializeSafeNodes.js.map +1 -0
  252. package/dist/esm/editor/toolbarLayout.d.ts +2 -0
  253. package/dist/esm/editor/toolbarLayout.d.ts.map +1 -0
  254. package/dist/esm/editor/toolbarLayout.js +33 -0
  255. package/dist/esm/editor/toolbarLayout.js.map +1 -0
  256. package/dist/esm/editor/useQuillEditor.d.ts +4 -0
  257. package/dist/esm/editor/useQuillEditor.d.ts.map +1 -0
  258. package/dist/esm/editor/useQuillEditor.js +135 -0
  259. package/dist/esm/editor/useQuillEditor.js.map +1 -0
  260. package/dist/esm/file/FileGallery.stories.d.ts +19 -0
  261. package/dist/esm/file/FileGallery.stories.d.ts.map +1 -0
  262. package/dist/esm/file/FileGallery.stories.js +23 -0
  263. package/dist/esm/file/FileGallery.stories.js.map +1 -0
  264. package/dist/esm/file/FileUploadContext.d.ts +7 -0
  265. package/dist/esm/file/FileUploadContext.d.ts.map +1 -0
  266. package/dist/esm/file/FileUploadContext.js +11 -0
  267. package/dist/esm/file/FileUploadContext.js.map +1 -0
  268. package/dist/esm/file/FileUploadHandler.d.ts +4 -0
  269. package/dist/esm/file/FileUploadHandler.d.ts.map +1 -0
  270. package/dist/esm/file/FileUploadHandler.js +2 -0
  271. package/dist/esm/file/FileUploadHandler.js.map +1 -0
  272. package/dist/esm/file/FileUploadHandlerProvider.d.ts +9 -0
  273. package/dist/esm/file/FileUploadHandlerProvider.d.ts.map +1 -0
  274. package/dist/esm/file/FileUploadHandlerProvider.js +23 -0
  275. package/dist/esm/file/FileUploadHandlerProvider.js.map +1 -0
  276. package/dist/esm/file/FileUploadMode.d.ts +6 -0
  277. package/dist/esm/file/FileUploadMode.d.ts.map +1 -0
  278. package/dist/esm/file/FileUploadMode.js +11 -0
  279. package/dist/esm/file/FileUploadMode.js.map +1 -0
  280. package/dist/esm/file/PrimeFileUpload.d.ts +3 -0
  281. package/dist/esm/file/PrimeFileUpload.d.ts.map +1 -0
  282. package/dist/esm/file/PrimeFileUpload.js +159 -0
  283. package/dist/esm/file/PrimeFileUpload.js.map +1 -0
  284. package/dist/esm/file/UploadStatus.d.ts +5 -0
  285. package/dist/esm/file/UploadStatus.d.ts.map +1 -0
  286. package/dist/esm/file/UploadStatus.js +2 -0
  287. package/dist/esm/file/UploadStatus.js.map +1 -0
  288. package/dist/esm/file/UploadTarget.d.ts +8 -0
  289. package/dist/esm/file/UploadTarget.d.ts.map +1 -0
  290. package/dist/esm/file/UploadTarget.js +2 -0
  291. package/dist/esm/file/UploadTarget.js.map +1 -0
  292. package/dist/esm/file/index.d.ts +7 -0
  293. package/dist/esm/file/index.d.ts.map +1 -0
  294. package/dist/esm/file/index.js +7 -0
  295. package/dist/esm/file/index.js.map +1 -0
  296. package/dist/esm/file/postFiles.d.ts +2 -0
  297. package/dist/esm/file/postFiles.d.ts.map +1 -0
  298. package/dist/esm/file/postFiles.js +29 -0
  299. package/dist/esm/file/postFiles.js.map +1 -0
  300. package/dist/esm/file/resolveUploadTarget.d.ts +3 -0
  301. package/dist/esm/file/resolveUploadTarget.d.ts.map +1 -0
  302. package/dist/esm/file/resolveUploadTarget.js +66 -0
  303. package/dist/esm/file/resolveUploadTarget.js.map +1 -0
  304. package/dist/esm/file/useUploadSession.d.ts +10 -0
  305. package/dist/esm/file/useUploadSession.d.ts.map +1 -0
  306. package/dist/esm/file/useUploadSession.js +60 -0
  307. package/dist/esm/file/useUploadSession.js.map +1 -0
  308. package/dist/esm/form/FormGallery.stories.d.ts.map +1 -1
  309. package/dist/esm/form/FormGallery.stories.js +1 -0
  310. package/dist/esm/form/FormGallery.stories.js.map +1 -1
  311. package/dist/esm/index.d.ts +2 -0
  312. package/dist/esm/index.d.ts.map +1 -1
  313. package/dist/esm/index.js +16 -1
  314. package/dist/esm/index.js.map +1 -1
  315. package/dist/esm/legacyEnumerationChoices.d.ts +3 -0
  316. package/dist/esm/legacyEnumerationChoices.d.ts.map +1 -0
  317. package/dist/esm/legacyEnumerationChoices.js +37 -0
  318. package/dist/esm/legacyEnumerationChoices.js.map +1 -0
  319. package/dist/esm/loadQuill/index.d.ts +3 -0
  320. package/dist/esm/loadQuill/index.d.ts.map +1 -0
  321. package/dist/esm/loadQuill/index.js +20 -0
  322. package/dist/esm/loadQuill/index.js.map +1 -0
  323. package/dist/esm/primeReactComponents.d.ts.map +1 -1
  324. package/dist/esm/primeReactComponents.js +10 -0
  325. package/dist/esm/primeReactComponents.js.map +1 -1
  326. package/dist/esm/primeReactDescriptors.d.ts.map +1 -1
  327. package/dist/esm/primeReactDescriptors.js +243 -0
  328. package/dist/esm/primeReactDescriptors.js.map +1 -1
  329. package/dist/esm/primeReactPackage.js +4 -0
  330. package/dist/esm/primeReactPackage.js.map +1 -1
  331. package/dist/esm/resolveEnumeration.d.ts +3 -0
  332. package/dist/esm/resolveEnumeration.d.ts.map +1 -0
  333. package/dist/esm/resolveEnumeration.js +53 -0
  334. package/dist/esm/resolveEnumeration.js.map +1 -0
  335. package/dist/esm/treeNodes.d.ts +2 -1
  336. package/dist/esm/treeNodes.d.ts.map +1 -1
  337. package/dist/esm/treeNodes.js +42 -8
  338. package/dist/esm/treeNodes.js.map +1 -1
  339. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  340. package/dist/esm/useResettingState.d.ts +3 -0
  341. package/dist/esm/useResettingState.d.ts.map +1 -0
  342. package/dist/esm/useResettingState.js +45 -0
  343. package/dist/esm/useResettingState.js.map +1 -0
  344. package/editor/PrimeEditor.tsx +83 -0
  345. package/editor/QuillConstructor.ts +8 -0
  346. package/editor/QuillEditorOptions.ts +29 -0
  347. package/editor/QuillEditorState.ts +14 -0
  348. package/editor/QuillInstance.ts +27 -0
  349. package/editor/QuillLoader.ts +13 -0
  350. package/editor/QuillLoaderContext.ts +8 -0
  351. package/editor/QuillLoaderProvider.tsx +24 -0
  352. package/editor/QuillOptions.ts +10 -0
  353. package/editor/SafeElement.ts +15 -0
  354. package/editor/SafeNode.ts +7 -0
  355. package/editor/applyHtml.ts +21 -0
  356. package/editor/characterCount.ts +9 -0
  357. package/editor/htmlToPlainText.ts +74 -0
  358. package/editor/index.ts +16 -0
  359. package/editor/renderSafeNodes.tsx +26 -0
  360. package/editor/safeUrls.ts +43 -0
  361. package/editor/sanitizeHtml.ts +94 -0
  362. package/editor/serializeSafeNodes.ts +26 -0
  363. package/editor/toolbarLayout.ts +10 -0
  364. package/editor/useQuillEditor.ts +114 -0
  365. package/file/FileGallery.stories.tsx +32 -0
  366. package/file/FileUploadContext.ts +17 -0
  367. package/file/FileUploadHandler.ts +15 -0
  368. package/file/FileUploadHandlerProvider.tsx +33 -0
  369. package/file/FileUploadMode.ts +9 -0
  370. package/file/PrimeFileUpload.tsx +129 -0
  371. package/file/UploadStatus.ts +9 -0
  372. package/file/UploadTarget.ts +12 -0
  373. package/file/index.ts +9 -0
  374. package/file/postFiles.ts +23 -0
  375. package/file/resolveUploadTarget.ts +61 -0
  376. package/file/useUploadSession.ts +67 -0
  377. package/form/FormGallery.stories.tsx +1 -0
  378. package/index.ts +2 -0
  379. package/legacyEnumerationChoices.ts +35 -0
  380. package/loadQuill/index.ts +21 -0
  381. package/package.json +17 -7
  382. package/primeReactComponents.ts +8 -0
  383. package/primeReactDescriptors.ts +63 -0
  384. package/primeReactPackage.ts +2 -2
  385. package/primeReactTheme.css +69 -0
  386. package/resolveEnumeration.ts +50 -0
  387. package/treeNodes.ts +44 -6
  388. package/useResettingState.ts +34 -0
@@ -1,10 +1,24 @@
1
1
  import { PropertyValueType } from '@cratis/scene.model';
2
2
  import { componentRegistryKey } from '@cratis/scene.react';
3
3
  import { chartTypeChoices } from './chart/chartTypeChoices.js';
4
+ import { legacyEnumerationChoices } from './legacyEnumerationChoices.js';
4
5
  import { ChartType } from './chart/ChartType.js';
5
6
  import 'react/jsx-runtime';
6
7
  import 'react';
7
8
  import './chart/resolveChartType.js';
9
+ import './data/Column.js';
10
+ import 'primereact/datatable';
11
+ import 'primereact/dataview';
12
+ import 'primereact/paginator';
13
+ import 'primereact/tree';
14
+ import 'primereact/timeline';
15
+ import '@primereact/headless/orderlist';
16
+ import '@primereact/headless/picklist';
17
+ import 'primereact/organizationchart';
18
+ import { TreeTableSelectionMode } from './data/TreeTableSelectionMode.js';
19
+ import './file/FileUploadContext.js';
20
+ import { FileUploadMode } from './file/FileUploadMode.js';
21
+ import 'primereact/fileupload';
8
22
 
9
23
  // Copyright (c) Cratis. All rights reserved.
10
24
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
@@ -67,6 +81,235 @@ const key = (name)=>componentRegistryKey('PrimeReact', name);
67
81
  }
68
82
  ]
69
83
  },
84
+ {
85
+ component: key('fileUpload'),
86
+ displayName: 'File upload',
87
+ description: 'An accessible file picker and drop zone. A host provides its upload effect, or the files are posted to the authored server URL. The URL must be on the page\'s own origin unless the host allows another one.',
88
+ properties: [
89
+ {
90
+ path: 'mode',
91
+ label: 'Mode',
92
+ group: 'Behavior',
93
+ valueType: PropertyValueType.Enum,
94
+ default: FileUploadMode.Advanced,
95
+ choices: legacyEnumerationChoices(FileUploadMode, {
96
+ [FileUploadMode.Advanced]: 'Advanced',
97
+ [FileUploadMode.Basic]: 'Basic',
98
+ [FileUploadMode.Auto]: 'Automatic'
99
+ })
100
+ },
101
+ {
102
+ path: 'url',
103
+ label: 'Server URL',
104
+ group: 'Upload',
105
+ valueType: PropertyValueType.String,
106
+ description: 'Where the files are posted. Only the origin of the page, or an origin the host allows, is accepted; anything else is refused and nothing is sent.'
107
+ },
108
+ {
109
+ path: 'name',
110
+ label: 'Request field name',
111
+ group: 'Upload',
112
+ valueType: PropertyValueType.String,
113
+ default: 'files'
114
+ },
115
+ {
116
+ path: 'accept',
117
+ label: 'Accepted MIME types',
118
+ group: 'Upload',
119
+ valueType: PropertyValueType.String
120
+ },
121
+ {
122
+ path: 'multiple',
123
+ label: 'Allow multiple files',
124
+ group: 'Behavior',
125
+ valueType: PropertyValueType.Boolean,
126
+ default: false
127
+ },
128
+ {
129
+ path: 'maxFileSize',
130
+ label: 'Maximum file size',
131
+ group: 'Upload',
132
+ valueType: PropertyValueType.Number,
133
+ constraints: {
134
+ minimum: 0,
135
+ integer: true
136
+ }
137
+ },
138
+ {
139
+ path: 'ariaLabel',
140
+ label: 'Accessible name',
141
+ group: 'Accessibility',
142
+ valueType: PropertyValueType.String
143
+ }
144
+ ]
145
+ },
146
+ {
147
+ component: key('dataScroller'),
148
+ displayName: 'Data scroller',
149
+ description: 'A list that loads a chunk at a time as its end is reached. Items are strings, numbers or records, plus any child elements in the items slot; serialized legacy UI elements are refused.',
150
+ properties: [
151
+ {
152
+ path: 'items',
153
+ label: 'Items',
154
+ group: 'Data',
155
+ valueType: PropertyValueType.Json,
156
+ description: 'Strings, numbers or records. A record is titled by its label, title, name, text or header field.'
157
+ },
158
+ {
159
+ path: 'rows',
160
+ label: 'Rows per load',
161
+ group: 'Behavior',
162
+ valueType: PropertyValueType.Number,
163
+ default: 10,
164
+ constraints: {
165
+ minimum: 1,
166
+ integer: true
167
+ }
168
+ },
169
+ {
170
+ path: 'inline',
171
+ label: 'Scroll inline',
172
+ group: 'Layout',
173
+ valueType: PropertyValueType.Boolean,
174
+ default: false,
175
+ description: 'Scroll inside the control (true) or load as the page scrolls the end of the list into view (false).'
176
+ },
177
+ {
178
+ path: 'scrollHeight',
179
+ label: 'Inline scroll height',
180
+ group: 'Layout',
181
+ valueType: PropertyValueType.Number,
182
+ constraints: {
183
+ minimum: 1
184
+ },
185
+ description: 'The height in pixels of an inline scroller. 320 when omitted.'
186
+ },
187
+ {
188
+ path: 'emptyLabel',
189
+ label: 'No items label',
190
+ group: 'Accessibility',
191
+ valueType: PropertyValueType.String,
192
+ default: 'No items to show'
193
+ },
194
+ {
195
+ path: 'ariaLabel',
196
+ label: 'Accessible name',
197
+ group: 'Accessibility',
198
+ valueType: PropertyValueType.String
199
+ }
200
+ ]
201
+ },
202
+ {
203
+ component: key('treeTable'),
204
+ displayName: 'Tree table',
205
+ description: 'A hierarchical table with authored columns, selection, and optional pagination. Items are nodes (strings, numbers or records with key, label, data, children); serialized legacy UI elements are refused.',
206
+ properties: [
207
+ {
208
+ path: 'columns',
209
+ label: 'Columns',
210
+ group: 'Data',
211
+ valueType: PropertyValueType.Json,
212
+ description: 'Column definitions with field and header, or nested column elements. Inferred from the first row when absent.'
213
+ },
214
+ {
215
+ path: 'items',
216
+ label: 'Items',
217
+ group: 'Data',
218
+ valueType: PropertyValueType.Json,
219
+ description: 'The nodes: strings, numbers, or records with key, label, data, children, expanded and selectable.'
220
+ },
221
+ {
222
+ path: 'selectionMode',
223
+ label: 'Selection mode',
224
+ group: 'Behavior',
225
+ valueType: PropertyValueType.Enum,
226
+ default: TreeTableSelectionMode.None,
227
+ choices: legacyEnumerationChoices(TreeTableSelectionMode, {
228
+ [TreeTableSelectionMode.None]: 'None',
229
+ [TreeTableSelectionMode.Single]: 'Single',
230
+ [TreeTableSelectionMode.Multiple]: 'Multiple',
231
+ [TreeTableSelectionMode.Checkbox]: 'Checkbox'
232
+ })
233
+ },
234
+ {
235
+ path: 'selection',
236
+ label: 'Selection',
237
+ group: 'Behavior',
238
+ valueType: PropertyValueType.Json,
239
+ description: 'The selected node keys: a key, an array of keys or { key } objects, or PrimeReact\'s key map.'
240
+ },
241
+ {
242
+ path: 'paginator',
243
+ label: 'Show pagination',
244
+ group: 'Behavior',
245
+ valueType: PropertyValueType.Boolean,
246
+ default: false
247
+ },
248
+ {
249
+ path: 'rows',
250
+ label: 'Rows per page',
251
+ group: 'Behavior',
252
+ valueType: PropertyValueType.Number,
253
+ default: 10,
254
+ constraints: {
255
+ minimum: 1,
256
+ integer: true
257
+ }
258
+ },
259
+ {
260
+ path: 'emptyLabel',
261
+ label: 'No records label',
262
+ group: 'Accessibility',
263
+ valueType: PropertyValueType.String,
264
+ default: 'No records found'
265
+ },
266
+ {
267
+ path: 'ariaLabel',
268
+ label: 'Accessible name',
269
+ group: 'Accessibility',
270
+ valueType: PropertyValueType.String
271
+ }
272
+ ]
273
+ },
274
+ {
275
+ component: key('editor'),
276
+ displayName: 'Rich text editor',
277
+ description: 'A rich-text HTML editor. Editing needs the host to provide Quill (QuillLoaderProvider); without it the content is shown read-only. The HTML is sanitized before it is shown.',
278
+ properties: [
279
+ {
280
+ path: 'value',
281
+ label: 'HTML value',
282
+ group: 'Content',
283
+ valueType: PropertyValueType.String
284
+ },
285
+ {
286
+ path: 'placeholder',
287
+ label: 'Placeholder',
288
+ group: 'Content',
289
+ valueType: PropertyValueType.String
290
+ },
291
+ {
292
+ path: 'showHeader',
293
+ label: 'Show toolbar',
294
+ group: 'Behavior',
295
+ valueType: PropertyValueType.Boolean,
296
+ default: true
297
+ },
298
+ {
299
+ path: 'readOnly',
300
+ label: 'Read only',
301
+ group: 'Behavior',
302
+ valueType: PropertyValueType.Boolean,
303
+ default: false
304
+ },
305
+ {
306
+ path: 'ariaLabel',
307
+ label: 'Accessible name',
308
+ group: 'Accessibility',
309
+ valueType: PropertyValueType.String
310
+ }
311
+ ]
312
+ },
70
313
  {
71
314
  component: key('multiStateCheckbox'),
72
315
  displayName: 'Multi-state checkbox',
@@ -1 +1 @@
1
- {"version":3,"file":"primeReactDescriptors.js","sources":["../../primeReactDescriptors.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ComponentDescriptor, PropertyValueType } from '@cratis/scene.model';\nimport { componentRegistryKey } from '@cratis/scene.react';\nimport { chartTypeChoices } from './chart/chartTypeChoices';\nimport { ChartType } from './chart';\n\nconst key = (name: string) => componentRegistryKey('PrimeReact', name);\n\n/** Design-time descriptors for PrimeReact controls whose authored data has structured configuration. */\nexport const primeReactDescriptors: ComponentDescriptor[] = [\n {\n component: key('chart'),\n displayName: 'Chart',\n description: 'A Chart.js chart. Legacy numeric types are rendered without changing stored data; new documents use stable type names. The host application must install chart.js.',\n properties: [\n {\n path: 'type', label: 'Type', group: 'Chart', valueType: PropertyValueType.Enum, default: ChartType.Bar,\n choices: chartTypeChoices,\n },\n { path: 'data', label: 'Data', group: 'Data', valueType: PropertyValueType.Json, description: 'The Chart.js data object, including labels and datasets in their authored order.' },\n { path: 'options', label: 'Options', group: 'Chart', valueType: PropertyValueType.Json, description: 'The Chart.js options object.' },\n { path: 'emptyLabel', label: 'No data label', group: 'Accessibility', valueType: PropertyValueType.String, default: 'No chart data', description: 'Shown instead of the chart while it has no data points. Data is never invented.' },\n { path: 'responsive', label: 'Responsive', group: 'Layout', valueType: PropertyValueType.Boolean, default: true },\n { path: 'style', label: 'Style', group: 'Layout', valueType: PropertyValueType.Json, description: 'The CSS style object applied to the chart surface.' },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('multiStateCheckbox'),\n displayName: 'Multi-state checkbox',\n description: 'An accessible button that cycles through its authored states in order, showing the current state as a checkbox-style glyph.',\n properties: [\n { path: 'value', label: 'Value', group: 'State', valueType: PropertyValueType.Json, description: 'The selected value. It may be null when the empty state is enabled.' },\n { path: 'options', label: 'Options', group: 'State', valueType: PropertyValueType.Json, description: 'The ordered state options. Each may provide label, value, and icon fields.' },\n { path: 'optionLabel', label: 'Option label field', group: 'State', valueType: PropertyValueType.String, default: 'label' },\n { path: 'optionValue', label: 'Option value field', group: 'State', valueType: PropertyValueType.String, default: 'value' },\n { path: 'empty', label: 'Allow empty state', group: 'State', valueType: PropertyValueType.Boolean, default: true },\n { path: 'emptyLabel', label: 'Empty state label', group: 'Accessibility', valueType: PropertyValueType.String, default: 'No selection' },\n { path: 'icons', label: 'Icons', group: 'Appearance', valueType: PropertyValueType.Json, description: 'Icons aligned with the options, or keyed by their values. Each is a PrimeIcons class name or a qualified icon reference. Icons inside this value are not tracked by the icon library diagnostics; use the empty state icon where a tracked icon is needed.' },\n { path: 'emptyIcon', label: 'Empty state icon', group: 'Appearance', valueType: PropertyValueType.Icon },\n { path: 'readOnly', label: 'Read only', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'disabled', label: 'Disabled', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n];\n"],"names":["key","name","componentRegistryKey","primeReactDescriptors","component","displayName","description","properties","path","label","group","valueType","PropertyValueType","Enum","default","ChartType","Bar","choices","chartTypeChoices","Json","String","Boolean","Icon"],"mappings":"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"}
1
+ {"version":3,"file":"primeReactDescriptors.js","sources":["../../primeReactDescriptors.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ComponentDescriptor, PropertyValueType } from '@cratis/scene.model';\nimport { componentRegistryKey } from '@cratis/scene.react';\nimport { chartTypeChoices } from './chart/chartTypeChoices';\nimport { legacyEnumerationChoices } from './legacyEnumerationChoices';\nimport { ChartType } from './chart';\nimport { TreeTableSelectionMode } from './data';\nimport { FileUploadMode } from './file';\n\nconst key = (name: string) => componentRegistryKey('PrimeReact', name);\n\n/** Design-time descriptors for PrimeReact controls whose authored data has structured configuration. */\nexport const primeReactDescriptors: ComponentDescriptor[] = [\n {\n component: key('chart'),\n displayName: 'Chart',\n description: 'A Chart.js chart. Legacy numeric types are rendered without changing stored data; new documents use stable type names. The host application must install chart.js.',\n properties: [\n {\n path: 'type', label: 'Type', group: 'Chart', valueType: PropertyValueType.Enum, default: ChartType.Bar,\n choices: chartTypeChoices,\n },\n { path: 'data', label: 'Data', group: 'Data', valueType: PropertyValueType.Json, description: 'The Chart.js data object, including labels and datasets in their authored order.' },\n { path: 'options', label: 'Options', group: 'Chart', valueType: PropertyValueType.Json, description: 'The Chart.js options object.' },\n { path: 'emptyLabel', label: 'No data label', group: 'Accessibility', valueType: PropertyValueType.String, default: 'No chart data', description: 'Shown instead of the chart while it has no data points. Data is never invented.' },\n { path: 'responsive', label: 'Responsive', group: 'Layout', valueType: PropertyValueType.Boolean, default: true },\n { path: 'style', label: 'Style', group: 'Layout', valueType: PropertyValueType.Json, description: 'The CSS style object applied to the chart surface.' },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('fileUpload'),\n displayName: 'File upload',\n description: 'An accessible file picker and drop zone. A host provides its upload effect, or the files are posted to the authored server URL. The URL must be on the page\\'s own origin unless the host allows another one.',\n properties: [\n {\n path: 'mode', label: 'Mode', group: 'Behavior', valueType: PropertyValueType.Enum, default: FileUploadMode.Advanced,\n choices: legacyEnumerationChoices(FileUploadMode, { [FileUploadMode.Advanced]: 'Advanced', [FileUploadMode.Basic]: 'Basic', [FileUploadMode.Auto]: 'Automatic' }),\n },\n { path: 'url', label: 'Server URL', group: 'Upload', valueType: PropertyValueType.String, description: 'Where the files are posted. Only the origin of the page, or an origin the host allows, is accepted; anything else is refused and nothing is sent.' },\n { path: 'name', label: 'Request field name', group: 'Upload', valueType: PropertyValueType.String, default: 'files' },\n { path: 'accept', label: 'Accepted MIME types', group: 'Upload', valueType: PropertyValueType.String },\n { path: 'multiple', label: 'Allow multiple files', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'maxFileSize', label: 'Maximum file size', group: 'Upload', valueType: PropertyValueType.Number, constraints: { minimum: 0, integer: true } },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('dataScroller'),\n displayName: 'Data scroller',\n description: 'A list that loads a chunk at a time as its end is reached. Items are strings, numbers or records, plus any child elements in the items slot; serialized legacy UI elements are refused.',\n properties: [\n { path: 'items', label: 'Items', group: 'Data', valueType: PropertyValueType.Json, description: 'Strings, numbers or records. A record is titled by its label, title, name, text or header field.' },\n { path: 'rows', label: 'Rows per load', group: 'Behavior', valueType: PropertyValueType.Number, default: 10, constraints: { minimum: 1, integer: true } },\n { path: 'inline', label: 'Scroll inline', group: 'Layout', valueType: PropertyValueType.Boolean, default: false, description: 'Scroll inside the control (true) or load as the page scrolls the end of the list into view (false).' },\n { path: 'scrollHeight', label: 'Inline scroll height', group: 'Layout', valueType: PropertyValueType.Number, constraints: { minimum: 1 }, description: 'The height in pixels of an inline scroller. 320 when omitted.' },\n { path: 'emptyLabel', label: 'No items label', group: 'Accessibility', valueType: PropertyValueType.String, default: 'No items to show' },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('treeTable'),\n displayName: 'Tree table',\n description: 'A hierarchical table with authored columns, selection, and optional pagination. Items are nodes (strings, numbers or records with key, label, data, children); serialized legacy UI elements are refused.',\n properties: [\n { path: 'columns', label: 'Columns', group: 'Data', valueType: PropertyValueType.Json, description: 'Column definitions with field and header, or nested column elements. Inferred from the first row when absent.' },\n { path: 'items', label: 'Items', group: 'Data', valueType: PropertyValueType.Json, description: 'The nodes: strings, numbers, or records with key, label, data, children, expanded and selectable.' },\n {\n path: 'selectionMode', label: 'Selection mode', group: 'Behavior', valueType: PropertyValueType.Enum, default: TreeTableSelectionMode.None,\n choices: legacyEnumerationChoices(TreeTableSelectionMode, { [TreeTableSelectionMode.None]: 'None', [TreeTableSelectionMode.Single]: 'Single', [TreeTableSelectionMode.Multiple]: 'Multiple', [TreeTableSelectionMode.Checkbox]: 'Checkbox' }),\n },\n { path: 'selection', label: 'Selection', group: 'Behavior', valueType: PropertyValueType.Json, description: 'The selected node keys: a key, an array of keys or { key } objects, or PrimeReact\\'s key map.' },\n { path: 'paginator', label: 'Show pagination', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'rows', label: 'Rows per page', group: 'Behavior', valueType: PropertyValueType.Number, default: 10, constraints: { minimum: 1, integer: true } },\n { path: 'emptyLabel', label: 'No records label', group: 'Accessibility', valueType: PropertyValueType.String, default: 'No records found' },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('editor'),\n displayName: 'Rich text editor',\n description: 'A rich-text HTML editor. Editing needs the host to provide Quill (QuillLoaderProvider); without it the content is shown read-only. The HTML is sanitized before it is shown.',\n properties: [\n { path: 'value', label: 'HTML value', group: 'Content', valueType: PropertyValueType.String },\n { path: 'placeholder', label: 'Placeholder', group: 'Content', valueType: PropertyValueType.String },\n { path: 'showHeader', label: 'Show toolbar', group: 'Behavior', valueType: PropertyValueType.Boolean, default: true },\n { path: 'readOnly', label: 'Read only', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('multiStateCheckbox'),\n displayName: 'Multi-state checkbox',\n description: 'An accessible button that cycles through its authored states in order, showing the current state as a checkbox-style glyph.',\n properties: [\n { path: 'value', label: 'Value', group: 'State', valueType: PropertyValueType.Json, description: 'The selected value. It may be null when the empty state is enabled.' },\n { path: 'options', label: 'Options', group: 'State', valueType: PropertyValueType.Json, description: 'The ordered state options. Each may provide label, value, and icon fields.' },\n { path: 'optionLabel', label: 'Option label field', group: 'State', valueType: PropertyValueType.String, default: 'label' },\n { path: 'optionValue', label: 'Option value field', group: 'State', valueType: PropertyValueType.String, default: 'value' },\n { path: 'empty', label: 'Allow empty state', group: 'State', valueType: PropertyValueType.Boolean, default: true },\n { path: 'emptyLabel', label: 'Empty state label', group: 'Accessibility', valueType: PropertyValueType.String, default: 'No selection' },\n { path: 'icons', label: 'Icons', group: 'Appearance', valueType: PropertyValueType.Json, description: 'Icons aligned with the options, or keyed by their values. Each is a PrimeIcons class name or a qualified icon reference. Icons inside this value are not tracked by the icon library diagnostics; use the empty state icon where a tracked icon is needed.' },\n { path: 'emptyIcon', label: 'Empty state icon', group: 'Appearance', valueType: PropertyValueType.Icon },\n { path: 'readOnly', label: 'Read only', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'disabled', label: 'Disabled', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n];\n"],"names":["key","name","componentRegistryKey","primeReactDescriptors","component","displayName","description","properties","path","label","group","valueType","PropertyValueType","Enum","default","ChartType","Bar","choices","chartTypeChoices","Json","String","Boolean","FileUploadMode","Advanced","legacyEnumerationChoices","Basic","Auto","Number","constraints","minimum","integer","TreeTableSelectionMode","None","Single","Multiple","Checkbox","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAUA,MAAMA,GAAAA,GAAM,CAACC,IAAAA,GAAiBC,oBAAAA,CAAqB,YAAA,EAAcD,IAAAA,CAAAA;AAEjE,yGACO,MAAME,qBAAAA,GAA+C;AACxD,IAAA;AACIC,QAAAA,SAAAA,EAAWJ,GAAAA,CAAI,OAAA,CAAA;QACfK,WAAAA,EAAa,OAAA;QACbC,WAAAA,EAAa,oKAAA;QACbC,UAAAA,EAAY;AACR,YAAA;gBACIC,IAAAA,EAAM,MAAA;gBAAQC,KAAAA,EAAO,MAAA;gBAAQC,KAAAA,EAAO,OAAA;AAASC,gBAAAA,SAAAA,EAAWC,kBAAkBC,IAAI;AAAEC,gBAAAA,OAAAA,EAASC,UAAUC,GAAG;gBACtGC,OAAAA,EAASC;AACb,aAAA;AACA,YAAA;gBAAEV,IAAAA,EAAM,MAAA;gBAAQC,KAAAA,EAAO,MAAA;gBAAQC,KAAAA,EAAO,MAAA;AAAQC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAAmF,aAAA;AACjL,YAAA;gBAAEE,IAAAA,EAAM,SAAA;gBAAWC,KAAAA,EAAO,SAAA;gBAAWC,KAAAA,EAAO,OAAA;AAASC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAA+B,aAAA;AACpI,YAAA;gBAAEE,IAAAA,EAAM,YAAA;gBAAcC,KAAAA,EAAO,eAAA;gBAAiBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEN,OAAAA,EAAS,eAAA;gBAAiBR,WAAAA,EAAa;AAAkF,aAAA;AACpO,YAAA;gBAAEE,IAAAA,EAAM,YAAA;gBAAcC,KAAAA,EAAO,YAAA;gBAAcC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAK,aAAA;AAChH,YAAA;gBAAEN,IAAAA,EAAM,OAAA;gBAASC,KAAAA,EAAO,OAAA;gBAASC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAAqD,aAAA;AACvJ,YAAA;gBAAEE,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,iBAAA;gBAAmBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO;AAC9G;AACL,KAAA;AACA,IAAA;AACIhB,QAAAA,SAAAA,EAAWJ,GAAAA,CAAI,YAAA,CAAA;QACfK,WAAAA,EAAa,aAAA;QACbC,WAAAA,EAAa,+MAAA;QACbC,UAAAA,EAAY;AACR,YAAA;gBACIC,IAAAA,EAAM,MAAA;gBAAQC,KAAAA,EAAO,MAAA;gBAAQC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBC,IAAI;AAAEC,gBAAAA,OAAAA,EAASQ,eAAeC,QAAQ;AACnHN,gBAAAA,OAAAA,EAASO,yBAAyBF,cAAAA,EAAgB;oBAAE,CAACA,cAAAA,CAAeC,QAAQ,GAAG,UAAA;oBAAY,CAACD,cAAAA,CAAeG,KAAK,GAAG,OAAA;oBAAS,CAACH,cAAAA,CAAeI,IAAI,GAAG;AAAY,iBAAA;AACnK,aAAA;AACA,YAAA;gBAAElB,IAAAA,EAAM,KAAA;gBAAOC,KAAAA,EAAO,YAAA;gBAAcC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEd,WAAAA,EAAa;AAAoJ,aAAA;AAC3P,YAAA;gBAAEE,IAAAA,EAAM,MAAA;gBAAQC,KAAAA,EAAO,oBAAA;gBAAsBC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEN,OAAAA,EAAS;AAAQ,aAAA;AACpH,YAAA;gBAAEN,IAAAA,EAAM,QAAA;gBAAUC,KAAAA,EAAO,qBAAA;gBAAuBC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO,aAAA;AACrG,YAAA;gBAAEZ,IAAAA,EAAM,UAAA;gBAAYC,KAAAA,EAAO,sBAAA;gBAAwBC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAM,aAAA;AAC3H,YAAA;gBAAEN,IAAAA,EAAM,aAAA;gBAAeC,KAAAA,EAAO,mBAAA;gBAAqBC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBe,MAAM;gBAAEC,WAAAA,EAAa;oBAAEC,OAAAA,EAAS,CAAA;oBAAGC,OAAAA,EAAS;AAAK;AAAE,aAAA;AACpJ,YAAA;gBAAEtB,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,iBAAA;gBAAmBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO;AAC9G;AACL,KAAA;AACA,IAAA;AACIhB,QAAAA,SAAAA,EAAWJ,GAAAA,CAAI,cAAA,CAAA;QACfK,WAAAA,EAAa,eAAA;QACbC,WAAAA,EAAa,yLAAA;QACbC,UAAAA,EAAY;AACR,YAAA;gBAAEC,IAAAA,EAAM,OAAA;gBAASC,KAAAA,EAAO,OAAA;gBAASC,KAAAA,EAAO,MAAA;AAAQC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAAmG,aAAA;AACnM,YAAA;gBAAEE,IAAAA,EAAM,MAAA;gBAAQC,KAAAA,EAAO,eAAA;gBAAiBC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBe,MAAM;gBAAEb,OAAAA,EAAS,EAAA;gBAAIc,WAAAA,EAAa;oBAAEC,OAAAA,EAAS,CAAA;oBAAGC,OAAAA,EAAS;AAAK;AAAE,aAAA;AACxJ,YAAA;gBAAEtB,IAAAA,EAAM,QAAA;gBAAUC,KAAAA,EAAO,eAAA;gBAAiBC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS,KAAA;gBAAOR,WAAAA,EAAa;AAAsG,aAAA;AACpO,YAAA;gBAAEE,IAAAA,EAAM,cAAA;gBAAgBC,KAAAA,EAAO,sBAAA;gBAAwBC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBe,MAAM;gBAAEC,WAAAA,EAAa;oBAAEC,OAAAA,EAAS;AAAE,iBAAA;gBAAGvB,WAAAA,EAAa;AAAgE,aAAA;AACvN,YAAA;gBAAEE,IAAAA,EAAM,YAAA;gBAAcC,KAAAA,EAAO,gBAAA;gBAAkBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEN,OAAAA,EAAS;AAAmB,aAAA;AACxI,YAAA;gBAAEN,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,iBAAA;gBAAmBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO;AAC9G;AACL,KAAA;AACA,IAAA;AACIhB,QAAAA,SAAAA,EAAWJ,GAAAA,CAAI,WAAA,CAAA;QACfK,WAAAA,EAAa,YAAA;QACbC,WAAAA,EAAa,2MAAA;QACbC,UAAAA,EAAY;AACR,YAAA;gBAAEC,IAAAA,EAAM,SAAA;gBAAWC,KAAAA,EAAO,SAAA;gBAAWC,KAAAA,EAAO,MAAA;AAAQC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAAgH,aAAA;AACpN,YAAA;gBAAEE,IAAAA,EAAM,OAAA;gBAASC,KAAAA,EAAO,OAAA;gBAASC,KAAAA,EAAO,MAAA;AAAQC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAAoG,aAAA;AACpM,YAAA;gBACIE,IAAAA,EAAM,eAAA;gBAAiBC,KAAAA,EAAO,gBAAA;gBAAkBC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBC,IAAI;AAAEC,gBAAAA,OAAAA,EAASiB,uBAAuBC,IAAI;AAC1If,gBAAAA,OAAAA,EAASO,yBAAyBO,sBAAAA,EAAwB;oBAAE,CAACA,sBAAAA,CAAuBC,IAAI,GAAG,MAAA;oBAAQ,CAACD,sBAAAA,CAAuBE,MAAM,GAAG,QAAA;oBAAU,CAACF,sBAAAA,CAAuBG,QAAQ,GAAG,UAAA;oBAAY,CAACH,sBAAAA,CAAuBI,QAAQ,GAAG;AAAW,iBAAA;AAC/O,aAAA;AACA,YAAA;gBAAE3B,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,WAAA;gBAAaC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAAgG,aAAA;AAC5M,YAAA;gBAAEE,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,iBAAA;gBAAmBC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAM,aAAA;AACvH,YAAA;gBAAEN,IAAAA,EAAM,MAAA;gBAAQC,KAAAA,EAAO,eAAA;gBAAiBC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBe,MAAM;gBAAEb,OAAAA,EAAS,EAAA;gBAAIc,WAAAA,EAAa;oBAAEC,OAAAA,EAAS,CAAA;oBAAGC,OAAAA,EAAS;AAAK;AAAE,aAAA;AACxJ,YAAA;gBAAEtB,IAAAA,EAAM,YAAA;gBAAcC,KAAAA,EAAO,kBAAA;gBAAoBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEN,OAAAA,EAAS;AAAmB,aAAA;AAC1I,YAAA;gBAAEN,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,iBAAA;gBAAmBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO;AAC9G;AACL,KAAA;AACA,IAAA;AACIhB,QAAAA,SAAAA,EAAWJ,GAAAA,CAAI,QAAA,CAAA;QACfK,WAAAA,EAAa,kBAAA;QACbC,WAAAA,EAAa,8KAAA;QACbC,UAAAA,EAAY;AACR,YAAA;gBAAEC,IAAAA,EAAM,OAAA;gBAASC,KAAAA,EAAO,YAAA;gBAAcC,KAAAA,EAAO,SAAA;AAAWC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO,aAAA;AAC5F,YAAA;gBAAEZ,IAAAA,EAAM,aAAA;gBAAeC,KAAAA,EAAO,aAAA;gBAAeC,KAAAA,EAAO,SAAA;AAAWC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO,aAAA;AACnG,YAAA;gBAAEZ,IAAAA,EAAM,YAAA;gBAAcC,KAAAA,EAAO,cAAA;gBAAgBC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAK,aAAA;AACpH,YAAA;gBAAEN,IAAAA,EAAM,UAAA;gBAAYC,KAAAA,EAAO,WAAA;gBAAaC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAM,aAAA;AAChH,YAAA;gBAAEN,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,iBAAA;gBAAmBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO;AAC9G;AACL,KAAA;AACA,IAAA;AACIhB,QAAAA,SAAAA,EAAWJ,GAAAA,CAAI,oBAAA,CAAA;QACfK,WAAAA,EAAa,sBAAA;QACbC,WAAAA,EAAa,6HAAA;QACbC,UAAAA,EAAY;AACR,YAAA;gBAAEC,IAAAA,EAAM,OAAA;gBAASC,KAAAA,EAAO,OAAA;gBAASC,KAAAA,EAAO,OAAA;AAASC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAAsE,aAAA;AACvK,YAAA;gBAAEE,IAAAA,EAAM,SAAA;gBAAWC,KAAAA,EAAO,SAAA;gBAAWC,KAAAA,EAAO,OAAA;AAASC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAA6E,aAAA;AAClL,YAAA;gBAAEE,IAAAA,EAAM,aAAA;gBAAeC,KAAAA,EAAO,oBAAA;gBAAsBC,KAAAA,EAAO,OAAA;AAASC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEN,OAAAA,EAAS;AAAQ,aAAA;AAC1H,YAAA;gBAAEN,IAAAA,EAAM,aAAA;gBAAeC,KAAAA,EAAO,oBAAA;gBAAsBC,KAAAA,EAAO,OAAA;AAASC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEN,OAAAA,EAAS;AAAQ,aAAA;AAC1H,YAAA;gBAAEN,IAAAA,EAAM,OAAA;gBAASC,KAAAA,EAAO,mBAAA;gBAAqBC,KAAAA,EAAO,OAAA;AAASC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAK,aAAA;AACjH,YAAA;gBAAEN,IAAAA,EAAM,YAAA;gBAAcC,KAAAA,EAAO,mBAAA;gBAAqBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEN,OAAAA,EAAS;AAAe,aAAA;AACvI,YAAA;gBAAEN,IAAAA,EAAM,OAAA;gBAASC,KAAAA,EAAO,OAAA;gBAASC,KAAAA,EAAO,YAAA;AAAcC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAA6P,aAAA;AACnW,YAAA;gBAAEE,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,kBAAA;gBAAoBC,KAAAA,EAAO,YAAA;AAAcC,gBAAAA,SAAAA,EAAWC,kBAAkBwB;AAAK,aAAA;AACvG,YAAA;gBAAE5B,IAAAA,EAAM,UAAA;gBAAYC,KAAAA,EAAO,WAAA;gBAAaC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAM,aAAA;AAChH,YAAA;gBAAEN,IAAAA,EAAM,UAAA;gBAAYC,KAAAA,EAAO,UAAA;gBAAYC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAM,aAAA;AAC/G,YAAA;gBAAEN,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,iBAAA;gBAAmBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO;AAC9G;AACL;;;"}
@@ -57,6 +57,8 @@ import 'react';
57
57
  'chips',
58
58
  'autoComplete',
59
59
  'treeSelect',
60
+ 'editor',
61
+ 'fileUpload',
60
62
  'button',
61
63
  'splitButton',
62
64
  'speedDial',
@@ -65,7 +67,9 @@ import 'react';
65
67
  'table',
66
68
  'column',
67
69
  'dataView',
70
+ 'dataScroller',
68
71
  'tree',
72
+ 'treeTable',
69
73
  'timeline',
70
74
  'paginator',
71
75
  'orderList',
@@ -1 +1 @@
1
- {"version":3,"file":"primeReactPackage.js","sources":["../../primeReactPackage.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { PackageKind, ScenePackage } from '@cratis/scene.model';\nimport { ScenePackageBundle } from '@cratis/scene.react';\nimport { primeReactComponents } from './primeReactComponents';\nimport { primeReactDescriptors } from './primeReactDescriptors';\nimport { primeReactThemeNames, primeReactThemes } from './theme';\n\n/**\n * The `PrimeReact` package's declaration - what a `ui profile` lists by name and what a\n * `PackageDependency` refers to.\n *\n * The component list is written out rather than derived from the registry, on purpose. A manifest is\n * read by Stage's build and Studio's design-time queries *without loading a single component*, so it has\n * to stand on its own as the statement of what this package offers. Keeping it as its own list is also\n * what gives `validatePackageBundle` something real to check: two independently maintained lists that\n * must agree, rather than one list compared against itself.\n */\nexport const primeReactPackageManifest: ScenePackage = {\n name: 'PrimeReact',\n version: '11.1.0',\n kind: PackageKind.ComponentLibrary,\n\n /**\n * PrimeReact's own components need nothing from Tailwind - they are skinned by the `--p-*` custom\n * properties the active `@primeuix/themes` preset emits. The dependency is here because *this\n * package's wrappers* use Tailwind utility classes\n * for the layout around them: the row a checkbox and its label sit on, the column a radio group\n * stacks into, the grid a summary lays its pairs out in. A profile that activates this package\n * without Tailwind renders those wrappers unstyled, so declaring it is what makes the profile picker\n * offer Tailwind alongside PrimeReact instead of leaving the gap to be discovered on screen.\n */\n dependencies: [{ name: 'Tailwind' }],\n\n components: [\n 'inputText', 'inputTextarea', 'inputNumber', 'password', 'floatLabel', 'iconField', 'dropdown', 'multiSelect',\n 'listBox', 'selectButton', 'checkbox', 'multiStateCheckbox', 'radioButton', 'toggleSwitch', 'slider', 'rating', 'knob', 'calendar', 'colorPicker',\n 'chips', 'autoComplete', 'treeSelect', 'button', 'splitButton', 'speedDial', 'buttonGroup', 'dataTable', 'table',\n 'column', 'dataView', 'tree', 'timeline', 'paginator', 'orderList', 'pickList', 'organizationChart', 'chart',\n 'card', 'panel', 'accordion', 'fieldset', 'divider', 'splitter', 'scrollPanel', 'tabView', 'toolbar', 'stepper', 'dialog',\n 'confirmDialog', 'overlayPanel', 'sidebar', 'tooltip', 'menu', 'menubar', 'breadcrumb', 'tabMenu', 'steps', 'tieredMenu',\n 'panelMenu', 'contextMenu', 'megaMenu', 'dock', 'message', 'inlineMessage', 'toast', 'image', 'galleria', 'carousel', 'avatar',\n 'badge', 'chip', 'tag', 'progressBar', 'progressSpinner', 'skeleton', 'scrollTop', 'blockUI', 'inplace', 'terminal', 'text',\n 'title', 'field', 'section', 'summary', 'action',\n ],\n\n /**\n * Empty, and it stays empty. A layout is an application's base navigational look - one per\n * application - and choosing it is a decision about the product, not about which widgets are\n * available. A component library supplies the vocabulary a layout is built *from*; a\n * {@link PackageKind.Blueprint} package supplies the layout itself.\n */\n layouts: [],\n\n /**\n * Empty for the same reason `layouts` is. A screen template is a reusable page shape at module,\n * feature or slice level - \"list with filters and a detail pane\" - and it is composed *out of* the\n * names declared above. Shipping one here would mean this package had opinions about how a screen is\n * arranged, which is a Blueprint's job and not a component library's.\n */\n screenTemplates: [],\n\n /**\n * Empty, as above: a dialog template is a reusable dialog shape, composed from these components by a\n * Blueprint package rather than provided by the library the components come from.\n */\n dialogTemplates: [],\n\n themes: primeReactThemeNames,\n\n displayName: 'PrimeReact',\n description: 'PrimeReact 11 components and PrimeTek\\'s @primeuix/themes presets, mapped onto Scene\\'s abstract component names.',\n module: '@cratis/scene.primereact',\n // PrimeReact 11 is PrimeTek's commercial PrimeUI, not MIT as version 10 was. The Community\n // tier is free for eligible projects but still requires a key, so an author selecting this\n // package needs to see the terms before they select it, not after a banner appears.\n license: 'PrimeUI Community / Commercial',\n licenseUrl: 'https://primeui.dev/licenses/community',\n};\n\n/**\n * The `PrimeReact` package as a loadable bundle - the manifest plus the React components and themes\n * behind the names it declares.\n */\nexport const primeReactPackage: ScenePackageBundle = {\n manifest: primeReactPackageManifest,\n components: primeReactComponents,\n descriptors: primeReactDescriptors,\n themes: primeReactThemes,\n};\n"],"names":["primeReactPackageManifest","name","version","kind","PackageKind","ComponentLibrary","dependencies","components","layouts","screenTemplates","dialogTemplates","themes","primeReactThemeNames","displayName","description","module","license","licenseUrl","primeReactPackage","manifest","primeReactComponents","descriptors","primeReactDescriptors","primeReactThemes"],"mappings":";;;;;;;;AAAA;AACA;AAQA;;;;;;;;;UAUaA,yBAAAA,GAA0C;IACnDC,IAAAA,EAAM,YAAA;IACNC,OAAAA,EAAS,QAAA;AACTC,IAAAA,IAAAA,EAAMC,YAAYC,gBAAgB;AAElC;;;;;;;;AAQC,QACDC,YAAAA,EAAc;AAAC,QAAA;YAAEL,IAAAA,EAAM;AAAW;AAAE,KAAA;IAEpCM,UAAAA,EAAY;AACR,QAAA,WAAA;AAAa,QAAA,eAAA;AAAiB,QAAA,aAAA;AAAe,QAAA,UAAA;AAAY,QAAA,YAAA;AAAc,QAAA,WAAA;AAAa,QAAA,UAAA;AAAY,QAAA,aAAA;AAChG,QAAA,SAAA;AAAW,QAAA,cAAA;AAAgB,QAAA,UAAA;AAAY,QAAA,oBAAA;AAAsB,QAAA,aAAA;AAAe,QAAA,cAAA;AAAgB,QAAA,QAAA;AAAU,QAAA,QAAA;AAAU,QAAA,MAAA;AAAQ,QAAA,UAAA;AAAY,QAAA,aAAA;AACpI,QAAA,OAAA;AAAS,QAAA,cAAA;AAAgB,QAAA,YAAA;AAAc,QAAA,QAAA;AAAU,QAAA,aAAA;AAAe,QAAA,WAAA;AAAa,QAAA,aAAA;AAAe,QAAA,WAAA;AAAa,QAAA,OAAA;AACzG,QAAA,QAAA;AAAU,QAAA,UAAA;AAAY,QAAA,MAAA;AAAQ,QAAA,UAAA;AAAY,QAAA,WAAA;AAAa,QAAA,WAAA;AAAa,QAAA,UAAA;AAAY,QAAA,mBAAA;AAAqB,QAAA,OAAA;AACrG,QAAA,MAAA;AAAQ,QAAA,OAAA;AAAS,QAAA,WAAA;AAAa,QAAA,UAAA;AAAY,QAAA,SAAA;AAAW,QAAA,UAAA;AAAY,QAAA,aAAA;AAAe,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA,QAAA;AACjH,QAAA,eAAA;AAAiB,QAAA,cAAA;AAAgB,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA,MAAA;AAAQ,QAAA,SAAA;AAAW,QAAA,YAAA;AAAc,QAAA,SAAA;AAAW,QAAA,OAAA;AAAS,QAAA,YAAA;AAC5G,QAAA,WAAA;AAAa,QAAA,aAAA;AAAe,QAAA,UAAA;AAAY,QAAA,MAAA;AAAQ,QAAA,SAAA;AAAW,QAAA,eAAA;AAAiB,QAAA,OAAA;AAAS,QAAA,OAAA;AAAS,QAAA,UAAA;AAAY,QAAA,UAAA;AAAY,QAAA,QAAA;AACtH,QAAA,OAAA;AAAS,QAAA,MAAA;AAAQ,QAAA,KAAA;AAAO,QAAA,aAAA;AAAe,QAAA,iBAAA;AAAmB,QAAA,UAAA;AAAY,QAAA,WAAA;AAAa,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA,UAAA;AAAY,QAAA,MAAA;AACrH,QAAA,OAAA;AAAS,QAAA,OAAA;AAAS,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA;AAC3C,KAAA;AAED;;;;;AAKC,QACDC,SAAS,EAAE;AAEX;;;;;AAKC,QACDC,iBAAiB,EAAE;AAEnB;;;AAGC,QACDC,iBAAiB,EAAE;IAEnBC,MAAAA,EAAQC,oBAAAA;IAERC,WAAAA,EAAa,YAAA;IACbC,WAAAA,EAAa,mHAAA;IACbC,MAAAA,EAAQ,0BAAA;;;;IAIRC,OAAAA,EAAS,gCAAA;IACTC,UAAAA,EAAY;AAChB;AAEA;;;UAIaC,iBAAAA,GAAwC;IACjDC,QAAAA,EAAUnB,yBAAAA;IACVO,UAAAA,EAAYa,oBAAAA;IACZC,WAAAA,EAAaC,qBAAAA;IACbX,MAAAA,EAAQY;AACZ;;"}
1
+ {"version":3,"file":"primeReactPackage.js","sources":["../../primeReactPackage.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { PackageKind, ScenePackage } from '@cratis/scene.model';\nimport { ScenePackageBundle } from '@cratis/scene.react';\nimport { primeReactComponents } from './primeReactComponents';\nimport { primeReactDescriptors } from './primeReactDescriptors';\nimport { primeReactThemeNames, primeReactThemes } from './theme';\n\n/**\n * The `PrimeReact` package's declaration - what a `ui profile` lists by name and what a\n * `PackageDependency` refers to.\n *\n * The component list is written out rather than derived from the registry, on purpose. A manifest is\n * read by Stage's build and Studio's design-time queries *without loading a single component*, so it has\n * to stand on its own as the statement of what this package offers. Keeping it as its own list is also\n * what gives `validatePackageBundle` something real to check: two independently maintained lists that\n * must agree, rather than one list compared against itself.\n */\nexport const primeReactPackageManifest: ScenePackage = {\n name: 'PrimeReact',\n version: '11.1.0',\n kind: PackageKind.ComponentLibrary,\n\n /**\n * PrimeReact's own components need nothing from Tailwind - they are skinned by the `--p-*` custom\n * properties the active `@primeuix/themes` preset emits. The dependency is here because *this\n * package's wrappers* use Tailwind utility classes\n * for the layout around them: the row a checkbox and its label sit on, the column a radio group\n * stacks into, the grid a summary lays its pairs out in. A profile that activates this package\n * without Tailwind renders those wrappers unstyled, so declaring it is what makes the profile picker\n * offer Tailwind alongside PrimeReact instead of leaving the gap to be discovered on screen.\n */\n dependencies: [{ name: 'Tailwind' }],\n\n components: [\n 'inputText', 'inputTextarea', 'inputNumber', 'password', 'floatLabel', 'iconField', 'dropdown', 'multiSelect',\n 'listBox', 'selectButton', 'checkbox', 'multiStateCheckbox', 'radioButton', 'toggleSwitch', 'slider', 'rating', 'knob', 'calendar', 'colorPicker',\n 'chips', 'autoComplete', 'treeSelect', 'editor', 'fileUpload', 'button', 'splitButton', 'speedDial', 'buttonGroup', 'dataTable', 'table',\n 'column', 'dataView', 'dataScroller', 'tree', 'treeTable', 'timeline', 'paginator', 'orderList', 'pickList', 'organizationChart', 'chart',\n 'card', 'panel', 'accordion', 'fieldset', 'divider', 'splitter', 'scrollPanel', 'tabView', 'toolbar', 'stepper', 'dialog',\n 'confirmDialog', 'overlayPanel', 'sidebar', 'tooltip', 'menu', 'menubar', 'breadcrumb', 'tabMenu', 'steps', 'tieredMenu',\n 'panelMenu', 'contextMenu', 'megaMenu', 'dock', 'message', 'inlineMessage', 'toast', 'image', 'galleria', 'carousel', 'avatar',\n 'badge', 'chip', 'tag', 'progressBar', 'progressSpinner', 'skeleton', 'scrollTop', 'blockUI', 'inplace', 'terminal', 'text',\n 'title', 'field', 'section', 'summary', 'action',\n ],\n\n /**\n * Empty, and it stays empty. A layout is an application's base navigational look - one per\n * application - and choosing it is a decision about the product, not about which widgets are\n * available. A component library supplies the vocabulary a layout is built *from*; a\n * {@link PackageKind.Blueprint} package supplies the layout itself.\n */\n layouts: [],\n\n /**\n * Empty for the same reason `layouts` is. A screen template is a reusable page shape at module,\n * feature or slice level - \"list with filters and a detail pane\" - and it is composed *out of* the\n * names declared above. Shipping one here would mean this package had opinions about how a screen is\n * arranged, which is a Blueprint's job and not a component library's.\n */\n screenTemplates: [],\n\n /**\n * Empty, as above: a dialog template is a reusable dialog shape, composed from these components by a\n * Blueprint package rather than provided by the library the components come from.\n */\n dialogTemplates: [],\n\n themes: primeReactThemeNames,\n\n displayName: 'PrimeReact',\n description: 'PrimeReact 11 components and PrimeTek\\'s @primeuix/themes presets, mapped onto Scene\\'s abstract component names.',\n module: '@cratis/scene.primereact',\n // PrimeReact 11 is PrimeTek's commercial PrimeUI, not MIT as version 10 was. The Community\n // tier is free for eligible projects but still requires a key, so an author selecting this\n // package needs to see the terms before they select it, not after a banner appears.\n license: 'PrimeUI Community / Commercial',\n licenseUrl: 'https://primeui.dev/licenses/community',\n};\n\n/**\n * The `PrimeReact` package as a loadable bundle - the manifest plus the React components and themes\n * behind the names it declares.\n */\nexport const primeReactPackage: ScenePackageBundle = {\n manifest: primeReactPackageManifest,\n components: primeReactComponents,\n descriptors: primeReactDescriptors,\n themes: primeReactThemes,\n};\n"],"names":["primeReactPackageManifest","name","version","kind","PackageKind","ComponentLibrary","dependencies","components","layouts","screenTemplates","dialogTemplates","themes","primeReactThemeNames","displayName","description","module","license","licenseUrl","primeReactPackage","manifest","primeReactComponents","descriptors","primeReactDescriptors","primeReactThemes"],"mappings":";;;;;;;;AAAA;AACA;AAQA;;;;;;;;;UAUaA,yBAAAA,GAA0C;IACnDC,IAAAA,EAAM,YAAA;IACNC,OAAAA,EAAS,QAAA;AACTC,IAAAA,IAAAA,EAAMC,YAAYC,gBAAgB;AAElC;;;;;;;;AAQC,QACDC,YAAAA,EAAc;AAAC,QAAA;YAAEL,IAAAA,EAAM;AAAW;AAAE,KAAA;IAEpCM,UAAAA,EAAY;AACR,QAAA,WAAA;AAAa,QAAA,eAAA;AAAiB,QAAA,aAAA;AAAe,QAAA,UAAA;AAAY,QAAA,YAAA;AAAc,QAAA,WAAA;AAAa,QAAA,UAAA;AAAY,QAAA,aAAA;AAChG,QAAA,SAAA;AAAW,QAAA,cAAA;AAAgB,QAAA,UAAA;AAAY,QAAA,oBAAA;AAAsB,QAAA,aAAA;AAAe,QAAA,cAAA;AAAgB,QAAA,QAAA;AAAU,QAAA,QAAA;AAAU,QAAA,MAAA;AAAQ,QAAA,UAAA;AAAY,QAAA,aAAA;AACpI,QAAA,OAAA;AAAS,QAAA,cAAA;AAAgB,QAAA,YAAA;AAAc,QAAA,QAAA;AAAU,QAAA,YAAA;AAAc,QAAA,QAAA;AAAU,QAAA,aAAA;AAAe,QAAA,WAAA;AAAa,QAAA,aAAA;AAAe,QAAA,WAAA;AAAa,QAAA,OAAA;AACjI,QAAA,QAAA;AAAU,QAAA,UAAA;AAAY,QAAA,cAAA;AAAgB,QAAA,MAAA;AAAQ,QAAA,WAAA;AAAa,QAAA,UAAA;AAAY,QAAA,WAAA;AAAa,QAAA,WAAA;AAAa,QAAA,UAAA;AAAY,QAAA,mBAAA;AAAqB,QAAA,OAAA;AAClI,QAAA,MAAA;AAAQ,QAAA,OAAA;AAAS,QAAA,WAAA;AAAa,QAAA,UAAA;AAAY,QAAA,SAAA;AAAW,QAAA,UAAA;AAAY,QAAA,aAAA;AAAe,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA,QAAA;AACjH,QAAA,eAAA;AAAiB,QAAA,cAAA;AAAgB,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA,MAAA;AAAQ,QAAA,SAAA;AAAW,QAAA,YAAA;AAAc,QAAA,SAAA;AAAW,QAAA,OAAA;AAAS,QAAA,YAAA;AAC5G,QAAA,WAAA;AAAa,QAAA,aAAA;AAAe,QAAA,UAAA;AAAY,QAAA,MAAA;AAAQ,QAAA,SAAA;AAAW,QAAA,eAAA;AAAiB,QAAA,OAAA;AAAS,QAAA,OAAA;AAAS,QAAA,UAAA;AAAY,QAAA,UAAA;AAAY,QAAA,QAAA;AACtH,QAAA,OAAA;AAAS,QAAA,MAAA;AAAQ,QAAA,KAAA;AAAO,QAAA,aAAA;AAAe,QAAA,iBAAA;AAAmB,QAAA,UAAA;AAAY,QAAA,WAAA;AAAa,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA,UAAA;AAAY,QAAA,MAAA;AACrH,QAAA,OAAA;AAAS,QAAA,OAAA;AAAS,QAAA,SAAA;AAAW,QAAA,SAAA;AAAW,QAAA;AAC3C,KAAA;AAED;;;;;AAKC,QACDC,SAAS,EAAE;AAEX;;;;;AAKC,QACDC,iBAAiB,EAAE;AAEnB;;;AAGC,QACDC,iBAAiB,EAAE;IAEnBC,MAAAA,EAAQC,oBAAAA;IAERC,WAAAA,EAAa,YAAA;IACbC,WAAAA,EAAa,mHAAA;IACbC,MAAAA,EAAQ,0BAAA;;;;IAIRC,OAAAA,EAAS,gCAAA;IACTC,UAAAA,EAAY;AAChB;AAEA;;;UAIaC,iBAAAA,GAAwC;IACjDC,QAAAA,EAAUnB,yBAAAA;IACVO,UAAAA,EAAYa,oBAAAA;IACZC,WAAAA,EAAaC,qBAAAA;IACbX,MAAAA,EAAQY;AACZ;;"}
@@ -0,0 +1,3 @@
1
+ import { EnumerationResolution } from './EnumerationResolution';
2
+ export declare function resolveEnumeration<TMember extends string>(property: string, value: unknown, members: Record<string, TMember>, fallback: TMember): EnumerationResolution<TMember>;
3
+ //# sourceMappingURL=resolveEnumeration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveEnumeration.d.ts","sourceRoot":"","sources":["../../resolveEnumeration.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAsBhE,wBAAgB,kBAAkB,CAAC,OAAO,SAAS,MAAM,EACrD,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,OAAO,GAClB,qBAAqB,CAAC,OAAO,CAAC,CAmBhC"}
@@ -0,0 +1,53 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ /**
4
+ * Resolves an authored value to a member of one of this package's string enums.
5
+ *
6
+ * Three forms are accepted, and the stored value is never rewritten:
7
+ * - the canonical string value the enum declares (`'checkbox'`), which new documents use;
8
+ * - the ordinal of the original .NET enum (`3`), which migrated documents carry. The ordinal is the member's
9
+ * position in declaration order, so that order is part of the stored-data contract and must not change;
10
+ * - the .NET member name in its original Pascal case (`'Checkbox'`), which a JSON serialization of that enum
11
+ * produces.
12
+ *
13
+ * An absent value is the one default. Anything else - an out-of-range or fractional ordinal, a numeric
14
+ * string, a differently cased name, `null` - resolves to a finding with a message, because the intended
15
+ * behavior cannot be known and a silent fallback hides a mistyped document.
16
+ *
17
+ * @param property The property name, used in the message.
18
+ * @param value The authored value.
19
+ * @param members The enum object.
20
+ * @param fallback The member an absent value means.
21
+ * @returns The resolved member, or the finding.
22
+ */ function resolveEnumeration(property, value, members, fallback) {
23
+ if (value === undefined) return {
24
+ isValid: true,
25
+ value: fallback
26
+ };
27
+ const canonical = Object.values(members);
28
+ if (typeof value === 'number' && Number.isInteger(value) && value >= 0 && value < canonical.length) {
29
+ return {
30
+ isValid: true,
31
+ value: canonical[value]
32
+ };
33
+ }
34
+ if (typeof value === 'string') {
35
+ if (canonical.includes(value)) return {
36
+ isValid: true,
37
+ value: value
38
+ };
39
+ if (Object.hasOwn(members, value)) return {
40
+ isValid: true,
41
+ value: members[value]
42
+ };
43
+ }
44
+ const shown = typeof value === 'string' ? `'${value}'` : JSON.stringify(value) ?? String(value);
45
+ return {
46
+ isValid: false,
47
+ value,
48
+ message: `Unsupported ${property} ${shown}. Use one of ${canonical.join(', ')}, or a legacy ordinal from 0 to ${canonical.length - 1}.`
49
+ };
50
+ }
51
+
52
+ export { resolveEnumeration };
53
+ //# sourceMappingURL=resolveEnumeration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveEnumeration.js","sources":["../../resolveEnumeration.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { EnumerationResolution } from './EnumerationResolution';\n\n/**\n * Resolves an authored value to a member of one of this package's string enums.\n *\n * Three forms are accepted, and the stored value is never rewritten:\n * - the canonical string value the enum declares (`'checkbox'`), which new documents use;\n * - the ordinal of the original .NET enum (`3`), which migrated documents carry. The ordinal is the member's\n * position in declaration order, so that order is part of the stored-data contract and must not change;\n * - the .NET member name in its original Pascal case (`'Checkbox'`), which a JSON serialization of that enum\n * produces.\n *\n * An absent value is the one default. Anything else - an out-of-range or fractional ordinal, a numeric\n * string, a differently cased name, `null` - resolves to a finding with a message, because the intended\n * behavior cannot be known and a silent fallback hides a mistyped document.\n *\n * @param property The property name, used in the message.\n * @param value The authored value.\n * @param members The enum object.\n * @param fallback The member an absent value means.\n * @returns The resolved member, or the finding.\n */\nexport function resolveEnumeration<TMember extends string>(\n property: string,\n value: unknown,\n members: Record<string, TMember>,\n fallback: TMember\n): EnumerationResolution<TMember> {\n if (value === undefined) return { isValid: true, value: fallback };\n\n const canonical = Object.values(members);\n if (typeof value === 'number' && Number.isInteger(value) && value >= 0 && value < canonical.length) {\n return { isValid: true, value: canonical[value] };\n }\n\n if (typeof value === 'string') {\n if (canonical.includes(value as TMember)) return { isValid: true, value: value as TMember };\n if (Object.hasOwn(members, value)) return { isValid: true, value: members[value] };\n }\n\n const shown = typeof value === 'string' ? `'${value}'` : JSON.stringify(value) ?? String(value);\n return {\n isValid: false,\n value,\n message: `Unsupported ${property} ${shown}. Use one of ${canonical.join(', ')}, or a legacy ordinal from 0 to ${canonical.length - 1}.`,\n };\n}\n"],"names":["resolveEnumeration","property","value","members","fallback","undefined","isValid","canonical","Object","values","Number","isInteger","length","includes","hasOwn","shown","JSON","stringify","String","message","join"],"mappings":"AAAA;AACA;AAIA;;;;;;;;;;;;;;;;;;;IAoBO,SAASA,kBAAAA,CACZC,QAAgB,EAChBC,KAAc,EACdC,OAAgC,EAChCC,QAAiB,EAAA;IAEjB,IAAIF,KAAAA,KAAUG,WAAW,OAAO;QAAEC,OAAAA,EAAS,IAAA;QAAMJ,KAAAA,EAAOE;AAAS,KAAA;IAEjE,MAAMG,SAAAA,GAAYC,MAAAA,CAAOC,MAAM,CAACN,OAAAA,CAAAA;AAChC,IAAA,IAAI,OAAOD,KAAAA,KAAU,QAAA,IAAYQ,MAAAA,CAAOC,SAAS,CAACT,KAAAA,CAAAA,IAAUA,KAAAA,IAAS,CAAA,IAAKA,KAAAA,GAAQK,SAAAA,CAAUK,MAAM,EAAE;QAChG,OAAO;YAAEN,OAAAA,EAAS,IAAA;YAAMJ,KAAAA,EAAOK,SAAS,CAACL,KAAAA;AAAO,SAAA;AACpD,IAAA;IAEA,IAAI,OAAOA,UAAU,QAAA,EAAU;AAC3B,QAAA,IAAIK,SAAAA,CAAUM,QAAQ,CAACX,KAAAA,CAAAA,EAAmB,OAAO;YAAEI,OAAAA,EAAS,IAAA;YAAMJ,KAAAA,EAAOA;AAAiB,SAAA;AAC1F,QAAA,IAAIM,MAAAA,CAAOM,MAAM,CAACX,OAAAA,EAASD,QAAQ,OAAO;YAAEI,OAAAA,EAAS,IAAA;YAAMJ,KAAAA,EAAOC,OAAO,CAACD,KAAAA;AAAO,SAAA;AACrF,IAAA;AAEA,IAAA,MAAMa,KAAAA,GAAQ,OAAOb,KAAAA,KAAU,QAAA,GAAW,CAAC,CAAC,EAAEA,KAAAA,CAAM,CAAC,CAAC,GAAGc,IAAAA,CAAKC,SAAS,CAACf,UAAUgB,MAAAA,CAAOhB,KAAAA,CAAAA;IACzF,OAAO;QACHI,OAAAA,EAAS,KAAA;AACTJ,QAAAA,KAAAA;QACAiB,OAAAA,EAAS,CAAC,YAAY,EAAElB,QAAAA,CAAS,CAAC,EAAEc,KAAAA,CAAM,aAAa,EAAER,SAAAA,CAAUa,IAAI,CAAC,IAAA,CAAA,CAAM,gCAAgC,EAAEb,SAAAA,CAAUK,MAAM,GAAG,CAAA,CAAE,CAAC;AAC1I,KAAA;AACJ;;"}
@@ -1,5 +1,6 @@
1
1
  import { TreeNode } from './TreeNode';
2
2
  import { SceneElement } from '@cratis/scene.model';
3
- export declare function toTreeNodes(entries: unknown[], parentKey?: string): TreeNode[];
3
+ export declare function toTreeNodes(entries: unknown[], parentKey?: string, usedKeys?: Set<string>): TreeNode[];
4
+ export declare function countUnreadableEntries(entries: unknown[]): number;
4
5
  export declare function treeNodesProperty(element: SceneElement, name: string): TreeNode[];
5
6
  //# sourceMappingURL=treeNodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"treeNodes.d.ts","sourceRoot":"","sources":["../../treeNodes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAgBnD,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,SAAS,SAAK,GAAG,QAAQ,EAAE,CAuB1E;AASD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CAEjF"}
1
+ {"version":3,"file":"treeNodes.d.ts","sourceRoot":"","sources":["../../treeNodes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAwBnD,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,SAAS,SAAK,EAAE,QAAQ,GAAE,GAAG,CAAC,MAAM,CAAa,GAAG,QAAQ,EAAE,CAyB7G;AASD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAOjE;AAqBD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CAEjF"}
@@ -11,35 +11,69 @@ import { arrayProperty } from './properties.js';
11
11
  * expands the wrong rows the moment two siblings share a label. Deriving the key from the path makes it
12
12
  * unique and stable across re-renders without asking the author for anything.
13
13
  *
14
+ * An authored key may be a string or a number (a numeric id is a natural key); it is kept as a string. Keys
15
+ * are unique across the whole tree: a node whose authored key was already taken by an earlier node falls back
16
+ * to its path key, so two nodes can never share expansion or selection.
17
+ *
18
+ * An entry that is a string, number or boolean is a leaf labeled with it. Anything else that is not a record
19
+ * (`null`, a nested array) cannot be a node and is skipped; see {@link countUnreadableEntries}.
20
+ *
14
21
  * @param entries The raw entries to convert.
15
22
  * @param parentKey The key of the node these entries belong to, used to build stable child keys.
23
+ * @param usedKeys The keys already given out in this tree, shared down the recursion.
16
24
  * @returns The converted nodes, in order.
17
- */ function toTreeNodes(entries, parentKey = '') {
25
+ */ function toTreeNodes(entries, parentKey = '', usedKeys = new Set()) {
18
26
  const nodes = [];
19
27
  entries.forEach((entry, index)=>{
20
28
  const path = parentKey === '' ? `${index}` : `${parentKey}-${index}`;
21
- if (typeof entry === 'string') {
29
+ if (typeof entry === 'string' || typeof entry === 'number' || typeof entry === 'boolean') {
22
30
  nodes.push({
23
- key: path,
24
- label: entry
31
+ key: uniqueKey(undefined, path, usedKeys),
32
+ label: String(entry)
25
33
  });
26
34
  return;
27
35
  }
28
36
  if (typeof entry !== 'object' || entry === undefined || entry === null || Array.isArray(entry)) return;
29
37
  const record = entry;
30
38
  const node = {
31
- key: typeof record.key === 'string' ? record.key : path
39
+ key: uniqueKey(authoredKey(record.key), path, usedKeys)
32
40
  };
33
41
  if (typeof record.label === 'string') node.label = record.label;
34
42
  if (typeof record.icon === 'string') node.icon = record.icon;
35
43
  if (typeof record.className === 'string') node.className = record.className;
36
44
  if (typeof record.leaf === 'boolean') node.leaf = record.leaf;
37
- if (typeof record.data === 'object' && record.data !== null) node.data = record.data;
38
- if (Array.isArray(record.children)) node.children = toTreeNodes(record.children, node.key);
45
+ if (typeof record.expanded === 'boolean') node.expanded = record.expanded;
46
+ if (typeof record.selectable === 'boolean') node.selectable = record.selectable;
47
+ if (record.data !== undefined && record.data !== null) node.data = record.data;
48
+ if (Array.isArray(record.children)) node.children = toTreeNodes(record.children, node.key, usedKeys);
39
49
  nodes.push(node);
40
50
  });
41
51
  return nodes;
42
52
  }
53
+ /**
54
+ * Counts the entries `toTreeNodes` skips, so a control can say that some of its data was not shown instead
55
+ * of silently showing less.
56
+ *
57
+ * @param entries The raw entries.
58
+ * @returns How many entries, at any depth, were neither a scalar nor a record.
59
+ */ function countUnreadableEntries(entries) {
60
+ return entries.reduce((count, entry)=>{
61
+ if (typeof entry === 'string' || typeof entry === 'number' || typeof entry === 'boolean') return count;
62
+ if (typeof entry !== 'object' || entry === null || Array.isArray(entry)) return count + 1;
63
+ const children = entry.children;
64
+ return count + (Array.isArray(children) ? countUnreadableEntries(children) : 0);
65
+ }, 0);
66
+ }
67
+ function authoredKey(value) {
68
+ if (typeof value === 'string' && value !== '') return value;
69
+ return typeof value === 'number' && Number.isFinite(value) ? String(value) : undefined;
70
+ }
71
+ function uniqueKey(authored, path, usedKeys) {
72
+ let key = authored !== undefined && !usedKeys.has(authored) ? authored : path;
73
+ while(usedKeys.has(key))key = `${key}~`;
74
+ usedKeys.add(key);
75
+ return key;
76
+ }
43
77
  /**
44
78
  * Reads a tree model off a Scene element's properties.
45
79
  *
@@ -50,5 +84,5 @@ import { arrayProperty } from './properties.js';
50
84
  return toTreeNodes(arrayProperty(element, name));
51
85
  }
52
86
 
53
- export { toTreeNodes, treeNodesProperty };
87
+ export { countUnreadableEntries, toTreeNodes, treeNodesProperty };
54
88
  //# sourceMappingURL=treeNodes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"treeNodes.js","sources":["../../treeNodes.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { TreeNode } from './TreeNode';\nimport { SceneElement } from '@cratis/scene.model';\nimport { arrayProperty } from './properties';\n\n/**\n * Turns raw authored entries into the `TreeNode` model PrimeReact's tree, tree table, tree select and\n * organization chart all share.\n *\n * A `key` is synthesized from the node's path when an author did not supply one. That is not cosmetic:\n * PrimeReact keys expansion, selection and virtual scrolling off `key`, so a tree of unkeyed nodes\n * expands the wrong rows the moment two siblings share a label. Deriving the key from the path makes it\n * unique and stable across re-renders without asking the author for anything.\n *\n * @param entries The raw entries to convert.\n * @param parentKey The key of the node these entries belong to, used to build stable child keys.\n * @returns The converted nodes, in order.\n */\nexport function toTreeNodes(entries: unknown[], parentKey = ''): TreeNode[] {\n const nodes: TreeNode[] = [];\n entries.forEach((entry, index) => {\n const path = parentKey === '' ? `${index}` : `${parentKey}-${index}`;\n if (typeof entry === 'string') {\n nodes.push({ key: path, label: entry });\n return;\n }\n\n if (typeof entry !== 'object' || entry === undefined || entry === null || Array.isArray(entry)) return;\n\n const record = entry as Record<string, unknown>;\n const node: TreeNode = { key: typeof record.key === 'string' ? record.key : path };\n if (typeof record.label === 'string') node.label = record.label;\n if (typeof record.icon === 'string') node.icon = record.icon;\n if (typeof record.className === 'string') node.className = record.className;\n if (typeof record.leaf === 'boolean') node.leaf = record.leaf;\n if (typeof record.data === 'object' && record.data !== null) node.data = record.data;\n if (Array.isArray(record.children)) node.children = toTreeNodes(record.children, node.key as string);\n nodes.push(node);\n });\n\n return nodes;\n}\n\n/**\n * Reads a tree model off a Scene element's properties.\n *\n * @param element The element whose properties to read.\n * @param name The property name holding the entries.\n * @returns The converted nodes, empty when the property is missing or is not an array.\n */\nexport function treeNodesProperty(element: SceneElement, name: string): TreeNode[] {\n return toTreeNodes(arrayProperty(element, name));\n}\n"],"names":["toTreeNodes","entries","parentKey","nodes","forEach","entry","index","path","push","key","label","undefined","Array","isArray","record","node","icon","className","leaf","data","children","treeNodesProperty","element","name","arrayProperty"],"mappings":";;AAAA;AACA;AAMA;;;;;;;;;;;;AAYC,IACM,SAASA,WAAAA,CAAYC,OAAkB,EAAEC,YAAY,EAAE,EAAA;AAC1D,IAAA,MAAMC,QAAoB,EAAE;IAC5BF,OAAAA,CAAQG,OAAO,CAAC,CAACC,KAAAA,EAAOC,KAAAA,GAAAA;QACpB,MAAMC,IAAAA,GAAOL,SAAAA,KAAc,EAAA,GAAK,CAAA,EAAGI,KAAAA,CAAAA,CAAO,GAAG,CAAA,EAAGJ,SAAAA,CAAU,CAAC,EAAEI,KAAAA,CAAAA,CAAO;QACpE,IAAI,OAAOD,UAAU,QAAA,EAAU;AAC3BF,YAAAA,KAAAA,CAAMK,IAAI,CAAC;gBAAEC,GAAAA,EAAKF,IAAAA;gBAAMG,KAAAA,EAAOL;AAAM,aAAA,CAAA;AACrC,YAAA;AACJ,QAAA;QAEA,IAAI,OAAOA,KAAAA,KAAU,QAAA,IAAYA,KAAAA,KAAUM,SAAAA,IAAaN,UAAU,IAAA,IAAQO,KAAAA,CAAMC,OAAO,CAACR,KAAAA,CAAAA,EAAQ;AAEhG,QAAA,MAAMS,MAAAA,GAAST,KAAAA;AACf,QAAA,MAAMU,IAAAA,GAAiB;AAAEN,YAAAA,GAAAA,EAAK,OAAOK,MAAAA,CAAOL,GAAG,KAAK,QAAA,GAAWK,MAAAA,CAAOL,GAAG,GAAGF;AAAK,SAAA;QACjF,IAAI,OAAOO,OAAOJ,KAAK,KAAK,UAAUK,IAAAA,CAAKL,KAAK,GAAGI,MAAAA,CAAOJ,KAAK;QAC/D,IAAI,OAAOI,OAAOE,IAAI,KAAK,UAAUD,IAAAA,CAAKC,IAAI,GAAGF,MAAAA,CAAOE,IAAI;QAC5D,IAAI,OAAOF,OAAOG,SAAS,KAAK,UAAUF,IAAAA,CAAKE,SAAS,GAAGH,MAAAA,CAAOG,SAAS;QAC3E,IAAI,OAAOH,OAAOI,IAAI,KAAK,WAAWH,IAAAA,CAAKG,IAAI,GAAGJ,MAAAA,CAAOI,IAAI;AAC7D,QAAA,IAAI,OAAOJ,MAAAA,CAAOK,IAAI,KAAK,QAAA,IAAYL,MAAAA,CAAOK,IAAI,KAAK,IAAA,EAAMJ,IAAAA,CAAKI,IAAI,GAAGL,OAAOK,IAAI;AACpF,QAAA,IAAIP,KAAAA,CAAMC,OAAO,CAACC,MAAAA,CAAOM,QAAQ,CAAA,EAAGL,IAAAA,CAAKK,QAAQ,GAAGpB,WAAAA,CAAYc,MAAAA,CAAOM,QAAQ,EAAEL,KAAKN,GAAG,CAAA;AACzFN,QAAAA,KAAAA,CAAMK,IAAI,CAACO,IAAAA,CAAAA;AACf,IAAA,CAAA,CAAA;IAEA,OAAOZ,KAAAA;AACX;AAEA;;;;;;AAMC,IACM,SAASkB,iBAAAA,CAAkBC,OAAqB,EAAEC,IAAY,EAAA;IACjE,OAAOvB,WAAAA,CAAYwB,cAAcF,OAAAA,EAASC,IAAAA,CAAAA,CAAAA;AAC9C;;"}
1
+ {"version":3,"file":"treeNodes.js","sources":["../../treeNodes.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { TreeNode } from './TreeNode';\nimport { SceneElement } from '@cratis/scene.model';\nimport { arrayProperty } from './properties';\n\n/**\n * Turns raw authored entries into the `TreeNode` model PrimeReact's tree, tree table, tree select and\n * organization chart all share.\n *\n * A `key` is synthesized from the node's path when an author did not supply one. That is not cosmetic:\n * PrimeReact keys expansion, selection and virtual scrolling off `key`, so a tree of unkeyed nodes\n * expands the wrong rows the moment two siblings share a label. Deriving the key from the path makes it\n * unique and stable across re-renders without asking the author for anything.\n *\n * An authored key may be a string or a number (a numeric id is a natural key); it is kept as a string. Keys\n * are unique across the whole tree: a node whose authored key was already taken by an earlier node falls back\n * to its path key, so two nodes can never share expansion or selection.\n *\n * An entry that is a string, number or boolean is a leaf labeled with it. Anything else that is not a record\n * (`null`, a nested array) cannot be a node and is skipped; see {@link countUnreadableEntries}.\n *\n * @param entries The raw entries to convert.\n * @param parentKey The key of the node these entries belong to, used to build stable child keys.\n * @param usedKeys The keys already given out in this tree, shared down the recursion.\n * @returns The converted nodes, in order.\n */\nexport function toTreeNodes(entries: unknown[], parentKey = '', usedKeys: Set<string> = new Set()): TreeNode[] {\n const nodes: TreeNode[] = [];\n entries.forEach((entry, index) => {\n const path = parentKey === '' ? `${index}` : `${parentKey}-${index}`;\n if (typeof entry === 'string' || typeof entry === 'number' || typeof entry === 'boolean') {\n nodes.push({ key: uniqueKey(undefined, path, usedKeys), label: String(entry) });\n return;\n }\n\n if (typeof entry !== 'object' || entry === undefined || entry === null || Array.isArray(entry)) return;\n\n const record = entry as Record<string, unknown>;\n const node: TreeNode = { key: uniqueKey(authoredKey(record.key), path, usedKeys) };\n if (typeof record.label === 'string') node.label = record.label;\n if (typeof record.icon === 'string') node.icon = record.icon;\n if (typeof record.className === 'string') node.className = record.className;\n if (typeof record.leaf === 'boolean') node.leaf = record.leaf;\n if (typeof record.expanded === 'boolean') node.expanded = record.expanded;\n if (typeof record.selectable === 'boolean') node.selectable = record.selectable;\n if (record.data !== undefined && record.data !== null) node.data = record.data;\n if (Array.isArray(record.children)) node.children = toTreeNodes(record.children, node.key as string, usedKeys);\n nodes.push(node);\n });\n\n return nodes;\n}\n\n/**\n * Counts the entries `toTreeNodes` skips, so a control can say that some of its data was not shown instead\n * of silently showing less.\n *\n * @param entries The raw entries.\n * @returns How many entries, at any depth, were neither a scalar nor a record.\n */\nexport function countUnreadableEntries(entries: unknown[]): number {\n return entries.reduce<number>((count, entry) => {\n if (typeof entry === 'string' || typeof entry === 'number' || typeof entry === 'boolean') return count;\n if (typeof entry !== 'object' || entry === null || Array.isArray(entry)) return count + 1;\n const children = (entry as { children?: unknown }).children;\n return count + (Array.isArray(children) ? countUnreadableEntries(children) : 0);\n }, 0);\n}\n\nfunction authoredKey(value: unknown): string | undefined {\n if (typeof value === 'string' && value !== '') return value;\n return typeof value === 'number' && Number.isFinite(value) ? String(value) : undefined;\n}\n\nfunction uniqueKey(authored: string | undefined, path: string, usedKeys: Set<string>): string {\n let key = authored !== undefined && !usedKeys.has(authored) ? authored : path;\n while (usedKeys.has(key)) key = `${key}~`;\n usedKeys.add(key);\n return key;\n}\n\n/**\n * Reads a tree model off a Scene element's properties.\n *\n * @param element The element whose properties to read.\n * @param name The property name holding the entries.\n * @returns The converted nodes, empty when the property is missing or is not an array.\n */\nexport function treeNodesProperty(element: SceneElement, name: string): TreeNode[] {\n return toTreeNodes(arrayProperty(element, name));\n}\n"],"names":["toTreeNodes","entries","parentKey","usedKeys","Set","nodes","forEach","entry","index","path","push","key","uniqueKey","undefined","label","String","Array","isArray","record","node","authoredKey","icon","className","leaf","expanded","selectable","data","children","countUnreadableEntries","reduce","count","value","Number","isFinite","authored","has","add","treeNodesProperty","element","name","arrayProperty"],"mappings":"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"}