@cratis/scene.model 0.1.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 (441) hide show
  1. package/README.md +40 -0
  2. package/common/BindingExpression.ts +12 -0
  3. package/common/Color.ts +14 -0
  4. package/common/HorizontalAlignment.ts +12 -0
  5. package/common/Size.ts +12 -0
  6. package/common/Thickness.ts +14 -0
  7. package/common/VerticalAlignment.ts +12 -0
  8. package/common/Visibility.ts +11 -0
  9. package/common/index.ts +10 -0
  10. package/contributionPoints/Contribution.ts +17 -0
  11. package/contributionPoints/ContributionPoint.ts +14 -0
  12. package/contributionPoints/NavigationItem.ts +21 -0
  13. package/contributionPoints/index.ts +6 -0
  14. package/dist/cjs/common/BindingExpression.js +13 -0
  15. package/dist/cjs/common/BindingExpression.js.map +1 -0
  16. package/dist/cjs/common/Color.js +15 -0
  17. package/dist/cjs/common/Color.js.map +1 -0
  18. package/dist/cjs/common/HorizontalAlignment.js +16 -0
  19. package/dist/cjs/common/HorizontalAlignment.js.map +1 -0
  20. package/dist/cjs/common/Size.js +13 -0
  21. package/dist/cjs/common/Size.js.map +1 -0
  22. package/dist/cjs/common/Thickness.js +15 -0
  23. package/dist/cjs/common/Thickness.js.map +1 -0
  24. package/dist/cjs/common/VerticalAlignment.js +16 -0
  25. package/dist/cjs/common/VerticalAlignment.js.map +1 -0
  26. package/dist/cjs/common/Visibility.js +15 -0
  27. package/dist/cjs/common/Visibility.js.map +1 -0
  28. package/dist/cjs/contributionPoints/Contribution.js +12 -0
  29. package/dist/cjs/contributionPoints/Contribution.js.map +1 -0
  30. package/dist/cjs/contributionPoints/ContributionPoint.js +15 -0
  31. package/dist/cjs/contributionPoints/ContributionPoint.js.map +1 -0
  32. package/dist/cjs/contributionPoints/NavigationItem.js +14 -0
  33. package/dist/cjs/contributionPoints/NavigationItem.js.map +1 -0
  34. package/dist/cjs/elements/ContentControl.js +10 -0
  35. package/dist/cjs/elements/ContentControl.js.map +1 -0
  36. package/dist/cjs/elements/Control.js +17 -0
  37. package/dist/cjs/elements/Control.js.map +1 -0
  38. package/dist/cjs/elements/ExternalComponent.js +11 -0
  39. package/dist/cjs/elements/ExternalComponent.js.map +1 -0
  40. package/dist/cjs/elements/FrameworkElement.js +15 -0
  41. package/dist/cjs/elements/FrameworkElement.js.map +1 -0
  42. package/dist/cjs/elements/ItemsControl.js +11 -0
  43. package/dist/cjs/elements/ItemsControl.js.map +1 -0
  44. package/dist/cjs/elements/Panel.js +10 -0
  45. package/dist/cjs/elements/Panel.js.map +1 -0
  46. package/dist/cjs/elements/SceneElement.js +14 -0
  47. package/dist/cjs/elements/SceneElement.js.map +1 -0
  48. package/dist/cjs/elements/VisualElement.js +14 -0
  49. package/dist/cjs/elements/VisualElement.js.map +1 -0
  50. package/dist/cjs/forms/Form.js +13 -0
  51. package/dist/cjs/forms/Form.js.map +1 -0
  52. package/dist/cjs/forms/FormField.js +17 -0
  53. package/dist/cjs/forms/FormField.js.map +1 -0
  54. package/dist/cjs/forms/PopulateFromItem.js +10 -0
  55. package/dist/cjs/forms/PopulateFromItem.js.map +1 -0
  56. package/dist/cjs/forms/PopulateViaQuery.js +11 -0
  57. package/dist/cjs/forms/PopulateViaQuery.js.map +1 -0
  58. package/dist/cjs/index.js +110 -0
  59. package/dist/cjs/index.js.map +1 -0
  60. package/dist/cjs/layouts/ElementPlacement.js +14 -0
  61. package/dist/cjs/layouts/ElementPlacement.js.map +1 -0
  62. package/dist/cjs/layouts/FlowArrangement.js +11 -0
  63. package/dist/cjs/layouts/FlowArrangement.js.map +1 -0
  64. package/dist/cjs/layouts/FlowColumn.js +10 -0
  65. package/dist/cjs/layouts/FlowColumn.js.map +1 -0
  66. package/dist/cjs/layouts/FlowContainer.js +12 -0
  67. package/dist/cjs/layouts/FlowContainer.js.map +1 -0
  68. package/dist/cjs/layouts/FlowContainerKind.js +20 -0
  69. package/dist/cjs/layouts/FlowContainerKind.js.map +1 -0
  70. package/dist/cjs/layouts/FlowGrid.js +12 -0
  71. package/dist/cjs/layouts/FlowGrid.js.map +1 -0
  72. package/dist/cjs/layouts/FlowLeaf.js +10 -0
  73. package/dist/cjs/layouts/FlowLeaf.js.map +1 -0
  74. package/dist/cjs/layouts/FlowNode.js +14 -0
  75. package/dist/cjs/layouts/FlowNode.js.map +1 -0
  76. package/dist/cjs/layouts/FlowOverride.js +12 -0
  77. package/dist/cjs/layouts/FlowOverride.js.map +1 -0
  78. package/dist/cjs/layouts/FlowRow.js +10 -0
  79. package/dist/cjs/layouts/FlowRow.js.map +1 -0
  80. package/dist/cjs/layouts/FlowSlotLeaf.js +10 -0
  81. package/dist/cjs/layouts/FlowSlotLeaf.js.map +1 -0
  82. package/dist/cjs/layouts/FreeformArrangement.js +10 -0
  83. package/dist/cjs/layouts/FreeformArrangement.js.map +1 -0
  84. package/dist/cjs/layouts/FreeformSlotArrangement.js +10 -0
  85. package/dist/cjs/layouts/FreeformSlotArrangement.js.map +1 -0
  86. package/dist/cjs/layouts/FreeformSlotVariant.js +11 -0
  87. package/dist/cjs/layouts/FreeformSlotVariant.js.map +1 -0
  88. package/dist/cjs/layouts/FreeformVariant.js +11 -0
  89. package/dist/cjs/layouts/FreeformVariant.js.map +1 -0
  90. package/dist/cjs/layouts/Layout.js +12 -0
  91. package/dist/cjs/layouts/Layout.js.map +1 -0
  92. package/dist/cjs/layouts/Slot.js +11 -0
  93. package/dist/cjs/layouts/Slot.js.map +1 -0
  94. package/dist/cjs/layouts/SlotPlacement.js +18 -0
  95. package/dist/cjs/layouts/SlotPlacement.js.map +1 -0
  96. package/dist/cjs/package.json +3 -0
  97. package/dist/cjs/packages/PackageDependency.js +16 -0
  98. package/dist/cjs/packages/PackageDependency.js.map +1 -0
  99. package/dist/cjs/packages/PackageKind.js +34 -0
  100. package/dist/cjs/packages/PackageKind.js.map +1 -0
  101. package/dist/cjs/packages/ScenePackage.js +21 -0
  102. package/dist/cjs/packages/ScenePackage.js.map +1 -0
  103. package/dist/cjs/profiles/Theme.js +21 -0
  104. package/dist/cjs/profiles/Theme.js.map +1 -0
  105. package/dist/cjs/profiles/UiProfile.js +13 -0
  106. package/dist/cjs/profiles/UiProfile.js.map +1 -0
  107. package/dist/cjs/screens/DialogTemplate.js +15 -0
  108. package/dist/cjs/screens/DialogTemplate.js.map +1 -0
  109. package/dist/cjs/screens/Screen.js +15 -0
  110. package/dist/cjs/screens/Screen.js.map +1 -0
  111. package/dist/cjs/screens/ScreenTemplate.js +16 -0
  112. package/dist/cjs/screens/ScreenTemplate.js.map +1 -0
  113. package/dist/cjs/sizeClasses/HeightSizeClass.js +14 -0
  114. package/dist/cjs/sizeClasses/HeightSizeClass.js.map +1 -0
  115. package/dist/cjs/sizeClasses/SizeClass.js +11 -0
  116. package/dist/cjs/sizeClasses/SizeClass.js.map +1 -0
  117. package/dist/cjs/sizeClasses/WidthSizeClass.js +14 -0
  118. package/dist/cjs/sizeClasses/WidthSizeClass.js.map +1 -0
  119. package/dist/cjs/starters/UiStarter.js +19 -0
  120. package/dist/cjs/starters/UiStarter.js.map +1 -0
  121. package/dist/esm/common/BindingExpression.d.ts +5 -0
  122. package/dist/esm/common/BindingExpression.d.ts.map +1 -0
  123. package/dist/esm/common/BindingExpression.js +11 -0
  124. package/dist/esm/common/BindingExpression.js.map +1 -0
  125. package/dist/esm/common/Color.d.ts +8 -0
  126. package/dist/esm/common/Color.d.ts.map +1 -0
  127. package/dist/esm/common/Color.js +13 -0
  128. package/dist/esm/common/Color.js.map +1 -0
  129. package/dist/esm/common/HorizontalAlignment.d.ts +7 -0
  130. package/dist/esm/common/HorizontalAlignment.d.ts.map +1 -0
  131. package/dist/esm/common/HorizontalAlignment.js +14 -0
  132. package/dist/esm/common/HorizontalAlignment.js.map +1 -0
  133. package/dist/esm/common/Size.d.ts +6 -0
  134. package/dist/esm/common/Size.d.ts.map +1 -0
  135. package/dist/esm/common/Size.js +11 -0
  136. package/dist/esm/common/Size.js.map +1 -0
  137. package/dist/esm/common/Thickness.d.ts +8 -0
  138. package/dist/esm/common/Thickness.d.ts.map +1 -0
  139. package/dist/esm/common/Thickness.js +13 -0
  140. package/dist/esm/common/Thickness.js.map +1 -0
  141. package/dist/esm/common/VerticalAlignment.d.ts +7 -0
  142. package/dist/esm/common/VerticalAlignment.d.ts.map +1 -0
  143. package/dist/esm/common/VerticalAlignment.js +14 -0
  144. package/dist/esm/common/VerticalAlignment.js.map +1 -0
  145. package/dist/esm/common/Visibility.d.ts +6 -0
  146. package/dist/esm/common/Visibility.d.ts.map +1 -0
  147. package/dist/esm/common/Visibility.js +13 -0
  148. package/dist/esm/common/Visibility.js.map +1 -0
  149. package/dist/esm/common/index.d.ts +8 -0
  150. package/dist/esm/common/index.d.ts.map +1 -0
  151. package/dist/esm/common/index.js +8 -0
  152. package/dist/esm/common/index.js.map +1 -0
  153. package/dist/esm/contributionPoints/Contribution.d.ts +8 -0
  154. package/dist/esm/contributionPoints/Contribution.d.ts.map +1 -0
  155. package/dist/esm/contributionPoints/Contribution.js +10 -0
  156. package/dist/esm/contributionPoints/Contribution.js.map +1 -0
  157. package/dist/esm/contributionPoints/ContributionPoint.d.ts +5 -0
  158. package/dist/esm/contributionPoints/ContributionPoint.d.ts.map +1 -0
  159. package/dist/esm/contributionPoints/ContributionPoint.js +13 -0
  160. package/dist/esm/contributionPoints/ContributionPoint.js.map +1 -0
  161. package/dist/esm/contributionPoints/NavigationItem.d.ts +10 -0
  162. package/dist/esm/contributionPoints/NavigationItem.d.ts.map +1 -0
  163. package/dist/esm/contributionPoints/NavigationItem.js +12 -0
  164. package/dist/esm/contributionPoints/NavigationItem.js.map +1 -0
  165. package/dist/esm/contributionPoints/index.d.ts +4 -0
  166. package/dist/esm/contributionPoints/index.d.ts.map +1 -0
  167. package/dist/esm/contributionPoints/index.js +4 -0
  168. package/dist/esm/contributionPoints/index.js.map +1 -0
  169. package/dist/esm/elements/ContentControl.d.ts +7 -0
  170. package/dist/esm/elements/ContentControl.d.ts.map +1 -0
  171. package/dist/esm/elements/ContentControl.js +8 -0
  172. package/dist/esm/elements/ContentControl.js.map +1 -0
  173. package/dist/esm/elements/Control.d.ts +14 -0
  174. package/dist/esm/elements/Control.d.ts.map +1 -0
  175. package/dist/esm/elements/Control.js +15 -0
  176. package/dist/esm/elements/Control.js.map +1 -0
  177. package/dist/esm/elements/ExternalComponent.d.ts +8 -0
  178. package/dist/esm/elements/ExternalComponent.d.ts.map +1 -0
  179. package/dist/esm/elements/ExternalComponent.js +9 -0
  180. package/dist/esm/elements/ExternalComponent.js.map +1 -0
  181. package/dist/esm/elements/FrameworkElement.d.ts +12 -0
  182. package/dist/esm/elements/FrameworkElement.d.ts.map +1 -0
  183. package/dist/esm/elements/FrameworkElement.js +13 -0
  184. package/dist/esm/elements/FrameworkElement.js.map +1 -0
  185. package/dist/esm/elements/ItemsControl.d.ts +9 -0
  186. package/dist/esm/elements/ItemsControl.d.ts.map +1 -0
  187. package/dist/esm/elements/ItemsControl.js +9 -0
  188. package/dist/esm/elements/ItemsControl.js.map +1 -0
  189. package/dist/esm/elements/Panel.d.ts +7 -0
  190. package/dist/esm/elements/Panel.d.ts.map +1 -0
  191. package/dist/esm/elements/Panel.js +8 -0
  192. package/dist/esm/elements/Panel.js.map +1 -0
  193. package/dist/esm/elements/SceneElement.d.ts +6 -0
  194. package/dist/esm/elements/SceneElement.d.ts.map +1 -0
  195. package/dist/esm/elements/SceneElement.js +12 -0
  196. package/dist/esm/elements/SceneElement.js.map +1 -0
  197. package/dist/esm/elements/VisualElement.d.ts +11 -0
  198. package/dist/esm/elements/VisualElement.d.ts.map +1 -0
  199. package/dist/esm/elements/VisualElement.js +12 -0
  200. package/dist/esm/elements/VisualElement.js.map +1 -0
  201. package/dist/esm/elements/index.d.ts +9 -0
  202. package/dist/esm/elements/index.d.ts.map +1 -0
  203. package/dist/esm/elements/index.js +9 -0
  204. package/dist/esm/elements/index.js.map +1 -0
  205. package/dist/esm/for_shape/when_checking_the_mirror_matches_the_shared_manifest.d.ts +2 -0
  206. package/dist/esm/for_shape/when_checking_the_mirror_matches_the_shared_manifest.d.ts.map +1 -0
  207. package/dist/esm/for_shape/when_checking_the_mirror_matches_the_shared_manifest.js +22 -0
  208. package/dist/esm/for_shape/when_checking_the_mirror_matches_the_shared_manifest.js.map +1 -0
  209. package/dist/esm/forms/Form.d.ts +10 -0
  210. package/dist/esm/forms/Form.d.ts.map +1 -0
  211. package/dist/esm/forms/Form.js +11 -0
  212. package/dist/esm/forms/Form.js.map +1 -0
  213. package/dist/esm/forms/FormField.d.ts +8 -0
  214. package/dist/esm/forms/FormField.d.ts.map +1 -0
  215. package/dist/esm/forms/FormField.js +15 -0
  216. package/dist/esm/forms/FormField.js.map +1 -0
  217. package/dist/esm/forms/PopulateFromItem.d.ts +7 -0
  218. package/dist/esm/forms/PopulateFromItem.d.ts.map +1 -0
  219. package/dist/esm/forms/PopulateFromItem.js +8 -0
  220. package/dist/esm/forms/PopulateFromItem.js.map +1 -0
  221. package/dist/esm/forms/PopulateSource.d.ts +3 -0
  222. package/dist/esm/forms/PopulateSource.d.ts.map +1 -0
  223. package/dist/esm/forms/PopulateSource.js +2 -0
  224. package/dist/esm/forms/PopulateSource.js.map +1 -0
  225. package/dist/esm/forms/PopulateViaQuery.d.ts +8 -0
  226. package/dist/esm/forms/PopulateViaQuery.d.ts.map +1 -0
  227. package/dist/esm/forms/PopulateViaQuery.js +9 -0
  228. package/dist/esm/forms/PopulateViaQuery.js.map +1 -0
  229. package/dist/esm/forms/index.d.ts +6 -0
  230. package/dist/esm/forms/index.d.ts.map +1 -0
  231. package/dist/esm/forms/index.js +6 -0
  232. package/dist/esm/forms/index.js.map +1 -0
  233. package/dist/esm/index.d.ts +11 -0
  234. package/dist/esm/index.d.ts.map +1 -0
  235. package/dist/esm/index.js +53 -0
  236. package/dist/esm/index.js.map +1 -0
  237. package/dist/esm/layouts/Arrangement.d.ts +3 -0
  238. package/dist/esm/layouts/Arrangement.d.ts.map +1 -0
  239. package/dist/esm/layouts/Arrangement.js +2 -0
  240. package/dist/esm/layouts/Arrangement.js.map +1 -0
  241. package/dist/esm/layouts/ElementPlacement.d.ts +10 -0
  242. package/dist/esm/layouts/ElementPlacement.d.ts.map +1 -0
  243. package/dist/esm/layouts/ElementPlacement.js +12 -0
  244. package/dist/esm/layouts/ElementPlacement.js.map +1 -0
  245. package/dist/esm/layouts/FlowArrangement.d.ts +9 -0
  246. package/dist/esm/layouts/FlowArrangement.d.ts.map +1 -0
  247. package/dist/esm/layouts/FlowArrangement.js +9 -0
  248. package/dist/esm/layouts/FlowArrangement.js.map +1 -0
  249. package/dist/esm/layouts/FlowColumn.d.ts +7 -0
  250. package/dist/esm/layouts/FlowColumn.d.ts.map +1 -0
  251. package/dist/esm/layouts/FlowColumn.js +8 -0
  252. package/dist/esm/layouts/FlowColumn.js.map +1 -0
  253. package/dist/esm/layouts/FlowContainer.d.ts +9 -0
  254. package/dist/esm/layouts/FlowContainer.d.ts.map +1 -0
  255. package/dist/esm/layouts/FlowContainer.js +10 -0
  256. package/dist/esm/layouts/FlowContainer.js.map +1 -0
  257. package/dist/esm/layouts/FlowContainerKind.d.ts +6 -0
  258. package/dist/esm/layouts/FlowContainerKind.d.ts.map +1 -0
  259. package/dist/esm/layouts/FlowContainerKind.js +18 -0
  260. package/dist/esm/layouts/FlowContainerKind.js.map +1 -0
  261. package/dist/esm/layouts/FlowGrid.d.ts +9 -0
  262. package/dist/esm/layouts/FlowGrid.d.ts.map +1 -0
  263. package/dist/esm/layouts/FlowGrid.js +10 -0
  264. package/dist/esm/layouts/FlowGrid.js.map +1 -0
  265. package/dist/esm/layouts/FlowLeaf.d.ts +7 -0
  266. package/dist/esm/layouts/FlowLeaf.d.ts.map +1 -0
  267. package/dist/esm/layouts/FlowLeaf.js +8 -0
  268. package/dist/esm/layouts/FlowLeaf.js.map +1 -0
  269. package/dist/esm/layouts/FlowNode.d.ts +6 -0
  270. package/dist/esm/layouts/FlowNode.d.ts.map +1 -0
  271. package/dist/esm/layouts/FlowNode.js +12 -0
  272. package/dist/esm/layouts/FlowNode.js.map +1 -0
  273. package/dist/esm/layouts/FlowOverride.d.ts +9 -0
  274. package/dist/esm/layouts/FlowOverride.d.ts.map +1 -0
  275. package/dist/esm/layouts/FlowOverride.js +10 -0
  276. package/dist/esm/layouts/FlowOverride.js.map +1 -0
  277. package/dist/esm/layouts/FlowRow.d.ts +7 -0
  278. package/dist/esm/layouts/FlowRow.d.ts.map +1 -0
  279. package/dist/esm/layouts/FlowRow.js +8 -0
  280. package/dist/esm/layouts/FlowRow.js.map +1 -0
  281. package/dist/esm/layouts/FlowSlotLeaf.d.ts +6 -0
  282. package/dist/esm/layouts/FlowSlotLeaf.d.ts.map +1 -0
  283. package/dist/esm/layouts/FlowSlotLeaf.js +8 -0
  284. package/dist/esm/layouts/FlowSlotLeaf.js.map +1 -0
  285. package/dist/esm/layouts/FreeformArrangement.d.ts +7 -0
  286. package/dist/esm/layouts/FreeformArrangement.d.ts.map +1 -0
  287. package/dist/esm/layouts/FreeformArrangement.js +8 -0
  288. package/dist/esm/layouts/FreeformArrangement.js.map +1 -0
  289. package/dist/esm/layouts/FreeformSlotArrangement.d.ts +7 -0
  290. package/dist/esm/layouts/FreeformSlotArrangement.d.ts.map +1 -0
  291. package/dist/esm/layouts/FreeformSlotArrangement.js +8 -0
  292. package/dist/esm/layouts/FreeformSlotArrangement.js.map +1 -0
  293. package/dist/esm/layouts/FreeformSlotVariant.d.ts +8 -0
  294. package/dist/esm/layouts/FreeformSlotVariant.d.ts.map +1 -0
  295. package/dist/esm/layouts/FreeformSlotVariant.js +9 -0
  296. package/dist/esm/layouts/FreeformSlotVariant.js.map +1 -0
  297. package/dist/esm/layouts/FreeformVariant.d.ts +8 -0
  298. package/dist/esm/layouts/FreeformVariant.d.ts.map +1 -0
  299. package/dist/esm/layouts/FreeformVariant.js +9 -0
  300. package/dist/esm/layouts/FreeformVariant.js.map +1 -0
  301. package/dist/esm/layouts/Layout.d.ts +9 -0
  302. package/dist/esm/layouts/Layout.d.ts.map +1 -0
  303. package/dist/esm/layouts/Layout.js +10 -0
  304. package/dist/esm/layouts/Layout.js.map +1 -0
  305. package/dist/esm/layouts/Slot.d.ts +7 -0
  306. package/dist/esm/layouts/Slot.d.ts.map +1 -0
  307. package/dist/esm/layouts/Slot.js +9 -0
  308. package/dist/esm/layouts/Slot.js.map +1 -0
  309. package/dist/esm/layouts/SlotPlacement.d.ts +9 -0
  310. package/dist/esm/layouts/SlotPlacement.d.ts.map +1 -0
  311. package/dist/esm/layouts/SlotPlacement.js +16 -0
  312. package/dist/esm/layouts/SlotPlacement.js.map +1 -0
  313. package/dist/esm/layouts/index.d.ts +20 -0
  314. package/dist/esm/layouts/index.d.ts.map +1 -0
  315. package/dist/esm/layouts/index.js +20 -0
  316. package/dist/esm/layouts/index.js.map +1 -0
  317. package/dist/esm/package.json +3 -0
  318. package/dist/esm/packages/PackageDependency.d.ts +6 -0
  319. package/dist/esm/packages/PackageDependency.d.ts.map +1 -0
  320. package/dist/esm/packages/PackageDependency.js +14 -0
  321. package/dist/esm/packages/PackageDependency.js.map +1 -0
  322. package/dist/esm/packages/PackageKind.d.ts +6 -0
  323. package/dist/esm/packages/PackageKind.d.ts.map +1 -0
  324. package/dist/esm/packages/PackageKind.js +32 -0
  325. package/dist/esm/packages/PackageKind.js.map +1 -0
  326. package/dist/esm/packages/ScenePackage.d.ts +18 -0
  327. package/dist/esm/packages/ScenePackage.d.ts.map +1 -0
  328. package/dist/esm/packages/ScenePackage.js +19 -0
  329. package/dist/esm/packages/ScenePackage.js.map +1 -0
  330. package/dist/esm/packages/index.d.ts +4 -0
  331. package/dist/esm/packages/index.d.ts.map +1 -0
  332. package/dist/esm/packages/index.js +4 -0
  333. package/dist/esm/packages/index.js.map +1 -0
  334. package/dist/esm/profiles/Theme.d.ts +12 -0
  335. package/dist/esm/profiles/Theme.d.ts.map +1 -0
  336. package/dist/esm/profiles/Theme.js +19 -0
  337. package/dist/esm/profiles/Theme.js.map +1 -0
  338. package/dist/esm/profiles/UiProfile.d.ts +9 -0
  339. package/dist/esm/profiles/UiProfile.d.ts.map +1 -0
  340. package/dist/esm/profiles/UiProfile.js +11 -0
  341. package/dist/esm/profiles/UiProfile.js.map +1 -0
  342. package/dist/esm/profiles/index.d.ts +3 -0
  343. package/dist/esm/profiles/index.d.ts.map +1 -0
  344. package/dist/esm/profiles/index.js +3 -0
  345. package/dist/esm/profiles/index.js.map +1 -0
  346. package/dist/esm/screens/DialogTemplate.d.ts +12 -0
  347. package/dist/esm/screens/DialogTemplate.d.ts.map +1 -0
  348. package/dist/esm/screens/DialogTemplate.js +13 -0
  349. package/dist/esm/screens/DialogTemplate.js.map +1 -0
  350. package/dist/esm/screens/Screen.d.ts +13 -0
  351. package/dist/esm/screens/Screen.d.ts.map +1 -0
  352. package/dist/esm/screens/Screen.js +13 -0
  353. package/dist/esm/screens/Screen.js.map +1 -0
  354. package/dist/esm/screens/ScreenTemplate.d.ts +13 -0
  355. package/dist/esm/screens/ScreenTemplate.d.ts.map +1 -0
  356. package/dist/esm/screens/ScreenTemplate.js +14 -0
  357. package/dist/esm/screens/ScreenTemplate.js.map +1 -0
  358. package/dist/esm/screens/index.d.ts +4 -0
  359. package/dist/esm/screens/index.d.ts.map +1 -0
  360. package/dist/esm/screens/index.js +4 -0
  361. package/dist/esm/screens/index.js.map +1 -0
  362. package/dist/esm/sizeClasses/HeightSizeClass.d.ts +5 -0
  363. package/dist/esm/sizeClasses/HeightSizeClass.d.ts.map +1 -0
  364. package/dist/esm/sizeClasses/HeightSizeClass.js +12 -0
  365. package/dist/esm/sizeClasses/HeightSizeClass.js.map +1 -0
  366. package/dist/esm/sizeClasses/SizeClass.d.ts +8 -0
  367. package/dist/esm/sizeClasses/SizeClass.d.ts.map +1 -0
  368. package/dist/esm/sizeClasses/SizeClass.js +9 -0
  369. package/dist/esm/sizeClasses/SizeClass.js.map +1 -0
  370. package/dist/esm/sizeClasses/WidthSizeClass.d.ts +5 -0
  371. package/dist/esm/sizeClasses/WidthSizeClass.d.ts.map +1 -0
  372. package/dist/esm/sizeClasses/WidthSizeClass.js +12 -0
  373. package/dist/esm/sizeClasses/WidthSizeClass.js.map +1 -0
  374. package/dist/esm/sizeClasses/index.d.ts +4 -0
  375. package/dist/esm/sizeClasses/index.d.ts.map +1 -0
  376. package/dist/esm/sizeClasses/index.js +4 -0
  377. package/dist/esm/sizeClasses/index.js.map +1 -0
  378. package/dist/esm/starters/UiStarter.d.ts +8 -0
  379. package/dist/esm/starters/UiStarter.d.ts.map +1 -0
  380. package/dist/esm/starters/UiStarter.js +17 -0
  381. package/dist/esm/starters/UiStarter.js.map +1 -0
  382. package/dist/esm/starters/index.d.ts +2 -0
  383. package/dist/esm/starters/index.d.ts.map +1 -0
  384. package/dist/esm/starters/index.js +2 -0
  385. package/dist/esm/starters/index.js.map +1 -0
  386. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  387. package/elements/ContentControl.ts +14 -0
  388. package/elements/Control.ts +24 -0
  389. package/elements/ExternalComponent.ts +17 -0
  390. package/elements/FrameworkElement.ts +22 -0
  391. package/elements/ItemsControl.ts +16 -0
  392. package/elements/Panel.ts +14 -0
  393. package/elements/SceneElement.ts +13 -0
  394. package/elements/VisualElement.ts +18 -0
  395. package/elements/index.ts +11 -0
  396. package/for_shape/when_checking_the_mirror_matches_the_shared_manifest.ts +32 -0
  397. package/forms/Form.ts +17 -0
  398. package/forms/FormField.ts +16 -0
  399. package/forms/PopulateFromItem.ts +15 -0
  400. package/forms/PopulateSource.ts +7 -0
  401. package/forms/PopulateViaQuery.ts +15 -0
  402. package/forms/index.ts +8 -0
  403. package/index.ts +13 -0
  404. package/layouts/Arrangement.ts +12 -0
  405. package/layouts/ElementPlacement.ts +17 -0
  406. package/layouts/FlowArrangement.ts +26 -0
  407. package/layouts/FlowColumn.ts +14 -0
  408. package/layouts/FlowContainer.ts +21 -0
  409. package/layouts/FlowContainerKind.ts +16 -0
  410. package/layouts/FlowGrid.ts +16 -0
  411. package/layouts/FlowLeaf.ts +14 -0
  412. package/layouts/FlowNode.ts +13 -0
  413. package/layouts/FlowOverride.ts +21 -0
  414. package/layouts/FlowRow.ts +14 -0
  415. package/layouts/FlowSlotLeaf.ts +15 -0
  416. package/layouts/FreeformArrangement.ts +15 -0
  417. package/layouts/FreeformSlotArrangement.ts +17 -0
  418. package/layouts/FreeformSlotVariant.ts +18 -0
  419. package/layouts/FreeformVariant.ts +16 -0
  420. package/layouts/Layout.ts +26 -0
  421. package/layouts/Slot.ts +16 -0
  422. package/layouts/SlotPlacement.ts +17 -0
  423. package/layouts/index.ts +22 -0
  424. package/package.json +39 -0
  425. package/packages/PackageDependency.ts +23 -0
  426. package/packages/PackageKind.ts +35 -0
  427. package/packages/ScenePackage.ts +90 -0
  428. package/packages/index.ts +6 -0
  429. package/profiles/Theme.ts +64 -0
  430. package/profiles/UiProfile.ts +19 -0
  431. package/profiles/index.ts +5 -0
  432. package/screens/DialogTemplate.ts +57 -0
  433. package/screens/Screen.ts +50 -0
  434. package/screens/ScreenTemplate.ts +70 -0
  435. package/screens/index.ts +6 -0
  436. package/sizeClasses/HeightSizeClass.ts +10 -0
  437. package/sizeClasses/SizeClass.ts +16 -0
  438. package/sizeClasses/WidthSizeClass.ts +10 -0
  439. package/sizeClasses/index.ts +6 -0
  440. package/starters/UiStarter.ts +18 -0
  441. package/starters/index.ts +4 -0
@@ -0,0 +1,64 @@
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
+ /**
5
+ * A named token/styling layer, declaring which component packages it is known to work with. An
6
+ * incompatible theme/package pairing is a warning, not an error — the theme might still work by
7
+ * coincidence, but the gap must be visible.
8
+ */
9
+ export interface Theme {
10
+ /**
11
+ * The theme's name.
12
+ */
13
+ name: string;
14
+
15
+ /**
16
+ * The component packages this theme is declared compatible with.
17
+ */
18
+ compatibleWith: string[];
19
+
20
+ /**
21
+ * The theme's design tokens, keyed by semantic name (`primary.color`, `surface.background`,
22
+ * `content.borderColor`, ...). Deliberately semantic rather than CSS: a renderer decides how a token
23
+ * becomes a custom property, a native style, or anything else. Absent for a theme a package applies
24
+ * by its own means rather than through tokens.
25
+ */
26
+ tokens?: Record<string, string>;
27
+
28
+ /**
29
+ * Whether the theme is a dark scheme, so a picker can group and preview it correctly.
30
+ */
31
+ isDark?: boolean;
32
+
33
+ /**
34
+ * Who created the theme. A theme adopted from somewhere else — PrimeTek's free presets, a community
35
+ * theme — must credit its original creator here rather than appear to be ours.
36
+ */
37
+ author?: string;
38
+
39
+ /**
40
+ * A link to the original creator or the theme's home, shown alongside `author`.
41
+ */
42
+ authorUrl?: string;
43
+
44
+ /**
45
+ * The license the theme is used under, so redistributing it stays honest.
46
+ */
47
+ license?: string;
48
+
49
+ /**
50
+ * A one-line description for a theme picker.
51
+ */
52
+ description?: string;
53
+ }
54
+
55
+ export const ThemePropertyNames: (keyof Theme)[] = [
56
+ 'name',
57
+ 'compatibleWith',
58
+ 'tokens',
59
+ 'isDark',
60
+ 'author',
61
+ 'authorUrl',
62
+ 'license',
63
+ 'description',
64
+ ];
@@ -0,0 +1,19 @@
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
+ import { SizeClass } from '../sizeClasses';
5
+
6
+ /**
7
+ * A named target: a platform, a default size class, and an ordered list of component packages.
8
+ * Declaration order in `packages` is override priority — a later package shadows an earlier one when
9
+ * both resolve the same bare component name. `core` is always the final fallback, so a minimum
10
+ * vocabulary resolves regardless of which packages a profile lists.
11
+ */
12
+ export interface UiProfile {
13
+ name: string;
14
+ targetPlatform: string;
15
+ packages: string[];
16
+ defaultSizeClass?: SizeClass;
17
+ }
18
+
19
+ export const UiProfilePropertyNames: (keyof UiProfile)[] = ['name', 'targetPlatform', 'packages', 'defaultSizeClass'];
@@ -0,0 +1,5 @@
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
+ export * from './UiProfile';
5
+ export * from './Theme';
@@ -0,0 +1,57 @@
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
+ import { SceneElement } from '../elements';
5
+ import { Arrangement, Slot } from '../layouts';
6
+
7
+ /**
8
+ * A reusable dialog structure — the same idea as a {@link ScreenTemplate}, for content that opens over an
9
+ * application rather than sitting inside it.
10
+ *
11
+ * A dialog has no `fitsSlot` because it occupies no slot: it is an overlay, summoned by something rather
12
+ * than placed by a containing layout. Everything else is the same, which is deliberate — a confirmation
13
+ * dialog and a detail screen are both "slots with an arrangement, filled with content", and there is no
14
+ * reason for an author to learn that twice.
15
+ */
16
+ export interface DialogTemplate {
17
+ /**
18
+ * The template's name.
19
+ */
20
+ name: string;
21
+
22
+ /**
23
+ * The slots this template offers to whatever it contains, in declaration order.
24
+ */
25
+ slots: Slot[];
26
+
27
+ /**
28
+ * How this template's own `slots` position relative to each other. Absent for declaration order with
29
+ * no further positioning.
30
+ */
31
+ arrangement?: Arrangement;
32
+
33
+ /**
34
+ * Content the template itself provides, keyed by slot name — a dialog's own chrome, such as its header
35
+ * and button bar.
36
+ */
37
+ content?: Record<string, SceneElement[]>;
38
+
39
+ /**
40
+ * A human-readable name for a template picker, falling back to `name`.
41
+ */
42
+ displayName?: string;
43
+
44
+ /**
45
+ * A one-line description for a template picker.
46
+ */
47
+ description?: string;
48
+ }
49
+
50
+ export const DialogTemplatePropertyNames: (keyof DialogTemplate)[] = [
51
+ 'name',
52
+ 'slots',
53
+ 'arrangement',
54
+ 'content',
55
+ 'displayName',
56
+ 'description',
57
+ ];
@@ -0,0 +1,50 @@
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
+ import { SceneElement } from '../elements';
5
+ import { Form } from '../forms';
6
+ import { Contribution } from '../contributionPoints';
7
+
8
+ /**
9
+ * A named screen: the structure it fills, the content that fills it, the forms it hosts, and whatever it
10
+ * contributes to contribution points elsewhere in the tree.
11
+ *
12
+ * A screen is an instance, not a shape. The shape comes from either the application's {@link Layout} — for
13
+ * a screen that sits directly in the application shell — or a {@link ScreenTemplate}, for one nested
14
+ * inside a module, feature or slice. Both declare slots; a screen only ever fills them.
15
+ */
16
+ export interface Screen {
17
+ /**
18
+ * The screen's name.
19
+ */
20
+ name: string;
21
+
22
+ /**
23
+ * The resolved name of the application {@link Layout} this screen ultimately renders inside.
24
+ */
25
+ layout: string;
26
+
27
+ /**
28
+ * The content filling each slot, keyed by slot name.
29
+ */
30
+ slotContent: Record<string, SceneElement[]>;
31
+
32
+ /**
33
+ * The forms this screen hosts.
34
+ */
35
+ forms: Form[];
36
+
37
+ /**
38
+ * What this screen contributes to contribution points elsewhere in the tree.
39
+ */
40
+ contributions: Contribution[];
41
+
42
+ /**
43
+ * The resolved name of the {@link ScreenTemplate} this screen fills, or undefined when it fills the
44
+ * `layout`'s own slots directly. The template's `fitsSlot` is what decides where it lands, so a screen
45
+ * never has to state its own position.
46
+ */
47
+ screenTemplate?: string;
48
+ }
49
+
50
+ export const ScreenPropertyNames: (keyof Screen)[] = ['name', 'layout', 'slotContent', 'forms', 'contributions', 'screenTemplate'];
@@ -0,0 +1,70 @@
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
+ import { SceneElement } from '../elements';
5
+ import { Arrangement, Slot } from '../layouts';
6
+
7
+ /**
8
+ * A reusable screen structure that fills a named slot on whatever contains it, and offers slots of its
9
+ * own for what it contains in turn.
10
+ *
11
+ * A {@link Layout} and a screen template are deliberately different things. A layout is the application's
12
+ * base navigational look — the shell with its top bar, navigation and content region — and an application
13
+ * has one. A screen template is what goes *inside* that shell, and an application has many: one per
14
+ * module, feature or slice that needs a shape of its own.
15
+ *
16
+ * `fitsSlot` is what makes them compose. A module's screen template fits the application layout's content
17
+ * slot; a feature's screen template fits a slot the module's template declares; a slice's fits one the
18
+ * feature's declares. The same rule at every level, so nesting is arbitrarily deep without a second
19
+ * mechanism — and a template always states where it belongs rather than being told by whatever happens to
20
+ * host it.
21
+ */
22
+ export interface ScreenTemplate {
23
+ /**
24
+ * The template's name, which a {@link Screen} refers to.
25
+ */
26
+ name: string;
27
+
28
+ /**
29
+ * The name of the slot on the containing {@link Layout} or screen template this one fills, or
30
+ * undefined for a template that is placed explicitly rather than by declaration.
31
+ */
32
+ fitsSlot?: string;
33
+
34
+ /**
35
+ * The slots this template offers to whatever it contains, in declaration order.
36
+ */
37
+ slots: Slot[];
38
+
39
+ /**
40
+ * How this template's own `slots` position relative to each other — the same shape a {@link Layout}
41
+ * uses, evaluated by the same engine. Absent for declaration order with no further positioning.
42
+ */
43
+ arrangement?: Arrangement;
44
+
45
+ /**
46
+ * Content the template itself provides, keyed by slot name — the chrome a template brings with it, as
47
+ * opposed to what a {@link Screen} based on it fills in.
48
+ */
49
+ content?: Record<string, SceneElement[]>;
50
+
51
+ /**
52
+ * A human-readable name for a template picker, falling back to `name`.
53
+ */
54
+ displayName?: string;
55
+
56
+ /**
57
+ * A one-line description for a template picker.
58
+ */
59
+ description?: string;
60
+ }
61
+
62
+ export const ScreenTemplatePropertyNames: (keyof ScreenTemplate)[] = [
63
+ 'name',
64
+ 'fitsSlot',
65
+ 'slots',
66
+ 'arrangement',
67
+ 'content',
68
+ 'displayName',
69
+ 'description',
70
+ ];
@@ -0,0 +1,6 @@
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
+ export * from './Screen';
5
+ export * from './ScreenTemplate';
6
+ export * from './DialogTemplate';
@@ -0,0 +1,10 @@
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
+ /**
5
+ * The height axis of a {@link SizeClass}.
6
+ */
7
+ export enum HeightSizeClass {
8
+ Compact = 'Compact',
9
+ Regular = 'Regular',
10
+ }
@@ -0,0 +1,16 @@
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
+ import { WidthSizeClass } from './WidthSizeClass';
5
+ import { HeightSizeClass } from './HeightSizeClass';
6
+
7
+ /**
8
+ * A width x height size class, UIKit-style. Phone portrait/landscape, tablet and desktop all fall out
9
+ * of this matrix — there is deliberately no separate orientation concept.
10
+ */
11
+ export interface SizeClass {
12
+ width: WidthSizeClass;
13
+ height: HeightSizeClass;
14
+ }
15
+
16
+ export const SizeClassPropertyNames: (keyof SizeClass)[] = ['width', 'height'];
@@ -0,0 +1,10 @@
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
+ /**
5
+ * The width axis of a {@link SizeClass}.
6
+ */
7
+ export enum WidthSizeClass {
8
+ Compact = 'Compact',
9
+ Regular = 'Regular',
10
+ }
@@ -0,0 +1,6 @@
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
+ export * from './WidthSizeClass';
5
+ export * from './HeightSizeClass';
6
+ export * from './SizeClass';
@@ -0,0 +1,18 @@
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
+ /**
5
+ * A packaged, versioned UI starting point: a package list, the themes it ships compatible with, and a
6
+ * gallery of ordinary screens shipped alongside it - part of Cratis/Scene#6. A starter is data, not a
7
+ * `.play` language construct; Studio's "new project" flow scaffolds from it, and its gallery boots
8
+ * through the real `Scene.Engine` + `Scene.React` inside a sandboxed `UiProfile` built from `packages` -
9
+ * there is no separate preview pipeline and no mocked screens.
10
+ */
11
+ export interface UiStarter {
12
+ name: string;
13
+ packages: string[];
14
+ themes: string[];
15
+ gallery: string[];
16
+ }
17
+
18
+ export const UiStarterPropertyNames: (keyof UiStarter)[] = ['name', 'packages', 'themes', 'gallery'];
@@ -0,0 +1,4 @@
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
+ export * from './UiStarter';