@cratis/scene.components 4.15.0 → 4.16.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 (49) hide show
  1. package/cratisComponentsPackage.ts +9 -125
  2. package/cratisComponentsPackageManifest.ts +106 -0
  3. package/cratisComponentsRuntimePackage.ts +22 -0
  4. package/designTime/cratisComponentsDesignTime.ts +22 -0
  5. package/dist/cjs/cratisComponentsPackage.js +10 -144
  6. package/dist/cjs/cratisComponentsPackage.js.map +1 -1
  7. package/dist/cjs/cratisComponentsPackageManifest.js +126 -0
  8. package/dist/cjs/cratisComponentsPackageManifest.js.map +1 -0
  9. package/dist/cjs/cratisComponentsRuntimePackage.js +24 -0
  10. package/dist/cjs/cratisComponentsRuntimePackage.js.map +1 -0
  11. package/dist/cjs/designTime/cratisComponentsDesignTime.js +24 -0
  12. package/dist/cjs/designTime/cratisComponentsDesignTime.js.map +1 -0
  13. package/dist/cjs/forms/generateCommandFieldsAction.js +10 -1
  14. package/dist/cjs/forms/generateCommandFieldsAction.js.map +1 -1
  15. package/dist/cjs/index.js +6 -1
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/runtime.js +15 -0
  18. package/dist/cjs/runtime.js.map +1 -0
  19. package/dist/esm/cratisComponentsPackage.d.ts +1 -2
  20. package/dist/esm/cratisComponentsPackage.d.ts.map +1 -1
  21. package/dist/esm/cratisComponentsPackage.js +10 -144
  22. package/dist/esm/cratisComponentsPackage.js.map +1 -1
  23. package/dist/esm/cratisComponentsPackageManifest.d.ts +3 -0
  24. package/dist/esm/cratisComponentsPackageManifest.d.ts.map +1 -0
  25. package/dist/esm/cratisComponentsPackageManifest.js +124 -0
  26. package/dist/esm/cratisComponentsPackageManifest.js.map +1 -0
  27. package/dist/esm/cratisComponentsRuntimePackage.d.ts +3 -0
  28. package/dist/esm/cratisComponentsRuntimePackage.d.ts.map +1 -0
  29. package/dist/esm/cratisComponentsRuntimePackage.js +22 -0
  30. package/dist/esm/cratisComponentsRuntimePackage.js.map +1 -0
  31. package/dist/esm/designTime/cratisComponentsDesignTime.d.ts +3 -0
  32. package/dist/esm/designTime/cratisComponentsDesignTime.d.ts.map +1 -0
  33. package/dist/esm/designTime/cratisComponentsDesignTime.js +22 -0
  34. package/dist/esm/designTime/cratisComponentsDesignTime.js.map +1 -0
  35. package/dist/esm/forms/generateCommandFieldsAction.js +10 -1
  36. package/dist/esm/forms/generateCommandFieldsAction.js.map +1 -1
  37. package/dist/esm/index.d.ts +2 -0
  38. package/dist/esm/index.d.ts.map +1 -1
  39. package/dist/esm/index.js +4 -1
  40. package/dist/esm/index.js.map +1 -1
  41. package/dist/esm/runtime.d.ts +5 -0
  42. package/dist/esm/runtime.d.ts.map +1 -0
  43. package/dist/esm/runtime.js +5 -0
  44. package/dist/esm/runtime.js.map +1 -0
  45. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  46. package/forms/generateCommandFieldsAction.ts +5 -1
  47. package/index.ts +2 -0
  48. package/package.json +12 -7
  49. package/runtime.ts +9 -0
@@ -11,7 +11,7 @@ const generateCommandFieldsAction = {
11
11
  description: 'Creates a deterministic editable field layout from the selected command metadata.'
12
12
  },
13
13
  isVisible: (context)=>context.element.componentName.endsWith(':commandForm'),
14
- isEnabled: (context)=>Array.isArray(context.commandMetadata?.properties) && !Array.isArray(context.element.properties.inputs),
14
+ isEnabled: (context)=>Array.isArray(context.commandMetadata?.properties) && context.element.properties.inputs === undefined,
15
15
  execute: (context)=>generateCommandFields(context)
16
16
  };
17
17
  function generateCommandFields(context) {
@@ -22,6 +22,7 @@ function generateCommandFields(context) {
22
22
  'No command metadata was supplied.'
23
23
  ]
24
24
  };
25
+ // Authored fields, or a binding that supplies them, are never overwritten.
25
26
  if (Array.isArray(context.element.properties.inputs)) {
26
27
  return {
27
28
  edits: [],
@@ -30,6 +31,14 @@ function generateCommandFields(context) {
30
31
  ]
31
32
  };
32
33
  }
34
+ if (context.element.properties.inputs !== undefined) {
35
+ return {
36
+ edits: [],
37
+ diagnostics: [
38
+ 'The form\'s fields come from a binding; Generate fields will not overwrite it.'
39
+ ]
40
+ };
41
+ }
33
42
  return {
34
43
  diagnostics: [],
35
44
  edits: [
@@ -1 +1 @@
1
- {"version":3,"file":"generateCommandFieldsAction.js","sources":["../../../forms/generateCommandFieldsAction.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 { DesignTimeAction, DesignTimeActionContext, DesignTimeActionResult } from '@cratis/scene.react';\nimport { DesignTimeActionPlacement, SceneEditKind } from '@cratis/scene.model';\n\nexport const generateCommandFieldsAction: DesignTimeAction = {\n descriptor: {\n id: 'Cratis.Components.commandForm.generateFields',\n label: 'Generate fields',\n placement: DesignTimeActionPlacement.Toolbar,\n availability: 'commandForm.canGenerateFields',\n description: 'Creates a deterministic editable field layout from the selected command metadata.',\n },\n isVisible: context => context.element.componentName.endsWith(':commandForm'),\n isEnabled: context => Array.isArray(context.commandMetadata?.properties) && !Array.isArray(context.element.properties.inputs),\n execute: context => generateCommandFields(context),\n};\n\nfunction generateCommandFields(context: DesignTimeActionContext): DesignTimeActionResult {\n const properties = context.commandMetadata?.properties ?? [];\n if (!properties.length) return { edits: [], diagnostics: ['No command metadata was supplied.'] };\n if (Array.isArray(context.element.properties.inputs)) {\n return { edits: [], diagnostics: ['The form already has authored fields; Generate fields will not overwrite them.'] };\n }\n\n return {\n diagnostics: [],\n edits: [{\n kind: SceneEditKind.SetProperty,\n nodeId: context.element.id,\n path: 'inputs',\n value: properties.map((property, index) => ({\n property: property.name,\n type: property.type === 'Guid' || property.type === 'guid' ? 'guid' : 'string',\n label: property.label ?? humanize(property.name),\n column: (index % 2) + 1,\n width: '1fr',\n })),\n }],\n };\n}\n\nfunction humanize(name: string): string {\n return name.replace(/([a-z0-9])([A-Z])/g, '$1 $2').replace(/^./, value => value.toUpperCase());\n}\n"],"names":["generateCommandFieldsAction","descriptor","id","label","placement","DesignTimeActionPlacement","Toolbar","availability","description","isVisible","context","element","componentName","endsWith","isEnabled","Array","isArray","commandMetadata","properties","inputs","execute","generateCommandFields","length","edits","diagnostics","kind","SceneEditKind","SetProperty","nodeId","path","value","map","property","index","name","type","humanize","column","width","replace","toUpperCase"],"mappings":";;AAAA;AACA;MAKaA,2BAAAA,GAAgD;IACzDC,UAAAA,EAAY;QACRC,EAAAA,EAAI,8CAAA;QACJC,KAAAA,EAAO,iBAAA;AACPC,QAAAA,SAAAA,EAAWC,0BAA0BC,OAAO;QAC5CC,YAAAA,EAAc,+BAAA;QACdC,WAAAA,EAAa;AACjB,KAAA;IACAC,SAAAA,EAAWC,CAAAA,UAAWA,OAAAA,CAAQC,OAAO,CAACC,aAAa,CAACC,QAAQ,CAAC,cAAA,CAAA;AAC7DC,IAAAA,SAAAA,EAAWJ,CAAAA,OAAAA,GAAWK,KAAAA,CAAMC,OAAO,CAACN,OAAAA,CAAQO,eAAe,EAAEC,UAAAA,CAAAA,IAAe,CAACH,KAAAA,CAAMC,OAAO,CAACN,OAAAA,CAAQC,OAAO,CAACO,UAAU,CAACC,MAAM,CAAA;IAC5HC,OAAAA,EAASV,CAAAA,UAAWW,qBAAAA,CAAsBX,OAAAA;AAC9C;AAEA,SAASW,sBAAsBX,OAAgC,EAAA;AAC3D,IAAA,MAAMQ,UAAAA,GAAaR,OAAAA,CAAQO,eAAe,EAAEC,cAAc,EAAE;AAC5D,IAAA,IAAI,CAACA,UAAAA,CAAWI,MAAM,EAAE,OAAO;AAAEC,QAAAA,KAAAA,EAAO,EAAE;QAAEC,WAAAA,EAAa;AAAC,YAAA;AAAoC;AAAC,KAAA;IAC/F,IAAIT,KAAAA,CAAMC,OAAO,CAACN,OAAAA,CAAQC,OAAO,CAACO,UAAU,CAACC,MAAM,CAAA,EAAG;QAClD,OAAO;AAAEI,YAAAA,KAAAA,EAAO,EAAE;YAAEC,WAAAA,EAAa;AAAC,gBAAA;AAAiF;AAAC,SAAA;AACxH,IAAA;IAEA,OAAO;AACHA,QAAAA,WAAAA,EAAa,EAAE;QACfD,KAAAA,EAAO;AAAC,YAAA;AACJE,gBAAAA,IAAAA,EAAMC,cAAcC,WAAW;gBAC/BC,MAAAA,EAAQlB,OAAAA,CAAQC,OAAO,CAACT,EAAE;gBAC1B2B,IAAAA,EAAM,QAAA;AACNC,gBAAAA,KAAAA,EAAOZ,WAAWa,GAAG,CAAC,CAACC,QAAAA,EAAUC,SAAW;AACxCD,wBAAAA,QAAAA,EAAUA,SAASE,IAAI;wBACvBC,IAAAA,EAAMH,QAAAA,CAASG,IAAI,KAAK,MAAA,IAAUH,SAASG,IAAI,KAAK,SAAS,MAAA,GAAS,QAAA;AACtEhC,wBAAAA,KAAAA,EAAO6B,QAAAA,CAAS7B,KAAK,IAAIiC,QAAAA,CAASJ,SAASE,IAAI,CAAA;wBAC/CG,MAAAA,EAASJ,QAAQ,CAAA,GAAK,CAAA;wBACtBK,KAAAA,EAAO;qBACX,CAAA;AACJ;AAAE;AACN,KAAA;AACJ;AAEA,SAASF,SAASF,IAAY,EAAA;IAC1B,OAAOA,IAAAA,CAAKK,OAAO,CAAC,oBAAA,EAAsB,OAAA,CAAA,CAASA,OAAO,CAAC,IAAA,EAAMT,CAAAA,KAAAA,GAASA,KAAAA,CAAMU,WAAW,EAAA,CAAA;AAC/F;;"}
1
+ {"version":3,"file":"generateCommandFieldsAction.js","sources":["../../../forms/generateCommandFieldsAction.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 { DesignTimeAction, DesignTimeActionContext, DesignTimeActionResult } from '@cratis/scene.react';\nimport { DesignTimeActionPlacement, SceneEditKind } from '@cratis/scene.model';\n\nexport const generateCommandFieldsAction: DesignTimeAction = {\n descriptor: {\n id: 'Cratis.Components.commandForm.generateFields',\n label: 'Generate fields',\n placement: DesignTimeActionPlacement.Toolbar,\n availability: 'commandForm.canGenerateFields',\n description: 'Creates a deterministic editable field layout from the selected command metadata.',\n },\n isVisible: context => context.element.componentName.endsWith(':commandForm'),\n isEnabled: context => Array.isArray(context.commandMetadata?.properties) && context.element.properties.inputs === undefined,\n execute: context => generateCommandFields(context),\n};\n\nfunction generateCommandFields(context: DesignTimeActionContext): DesignTimeActionResult {\n const properties = context.commandMetadata?.properties ?? [];\n if (!properties.length) return { edits: [], diagnostics: ['No command metadata was supplied.'] };\n // Authored fields, or a binding that supplies them, are never overwritten.\n if (Array.isArray(context.element.properties.inputs)) {\n return { edits: [], diagnostics: ['The form already has authored fields; Generate fields will not overwrite them.'] };\n }\n if (context.element.properties.inputs !== undefined) {\n return { edits: [], diagnostics: ['The form\\'s fields come from a binding; Generate fields will not overwrite it.'] };\n }\n\n return {\n diagnostics: [],\n edits: [{\n kind: SceneEditKind.SetProperty,\n nodeId: context.element.id,\n path: 'inputs',\n value: properties.map((property, index) => ({\n property: property.name,\n type: property.type === 'Guid' || property.type === 'guid' ? 'guid' : 'string',\n label: property.label ?? humanize(property.name),\n column: (index % 2) + 1,\n width: '1fr',\n })),\n }],\n };\n}\n\nfunction humanize(name: string): string {\n return name.replace(/([a-z0-9])([A-Z])/g, '$1 $2').replace(/^./, value => value.toUpperCase());\n}\n"],"names":["generateCommandFieldsAction","descriptor","id","label","placement","DesignTimeActionPlacement","Toolbar","availability","description","isVisible","context","element","componentName","endsWith","isEnabled","Array","isArray","commandMetadata","properties","inputs","undefined","execute","generateCommandFields","length","edits","diagnostics","kind","SceneEditKind","SetProperty","nodeId","path","value","map","property","index","name","type","humanize","column","width","replace","toUpperCase"],"mappings":";;AAAA;AACA;MAKaA,2BAAAA,GAAgD;IACzDC,UAAAA,EAAY;QACRC,EAAAA,EAAI,8CAAA;QACJC,KAAAA,EAAO,iBAAA;AACPC,QAAAA,SAAAA,EAAWC,0BAA0BC,OAAO;QAC5CC,YAAAA,EAAc,+BAAA;QACdC,WAAAA,EAAa;AACjB,KAAA;IACAC,SAAAA,EAAWC,CAAAA,UAAWA,OAAAA,CAAQC,OAAO,CAACC,aAAa,CAACC,QAAQ,CAAC,cAAA,CAAA;AAC7DC,IAAAA,SAAAA,EAAWJ,CAAAA,OAAAA,GAAWK,KAAAA,CAAMC,OAAO,CAACN,OAAAA,CAAQO,eAAe,EAAEC,UAAAA,CAAAA,IAAeR,QAAQC,OAAO,CAACO,UAAU,CAACC,MAAM,KAAKC,SAAAA;IAClHC,OAAAA,EAASX,CAAAA,UAAWY,qBAAAA,CAAsBZ,OAAAA;AAC9C;AAEA,SAASY,sBAAsBZ,OAAgC,EAAA;AAC3D,IAAA,MAAMQ,UAAAA,GAAaR,OAAAA,CAAQO,eAAe,EAAEC,cAAc,EAAE;AAC5D,IAAA,IAAI,CAACA,UAAAA,CAAWK,MAAM,EAAE,OAAO;AAAEC,QAAAA,KAAAA,EAAO,EAAE;QAAEC,WAAAA,EAAa;AAAC,YAAA;AAAoC;AAAC,KAAA;;IAE/F,IAAIV,KAAAA,CAAMC,OAAO,CAACN,OAAAA,CAAQC,OAAO,CAACO,UAAU,CAACC,MAAM,CAAA,EAAG;QAClD,OAAO;AAAEK,YAAAA,KAAAA,EAAO,EAAE;YAAEC,WAAAA,EAAa;AAAC,gBAAA;AAAiF;AAAC,SAAA;AACxH,IAAA;AACA,IAAA,IAAIf,QAAQC,OAAO,CAACO,UAAU,CAACC,MAAM,KAAKC,SAAAA,EAAW;QACjD,OAAO;AAAEI,YAAAA,KAAAA,EAAO,EAAE;YAAEC,WAAAA,EAAa;AAAC,gBAAA;AAAiF;AAAC,SAAA;AACxH,IAAA;IAEA,OAAO;AACHA,QAAAA,WAAAA,EAAa,EAAE;QACfD,KAAAA,EAAO;AAAC,YAAA;AACJE,gBAAAA,IAAAA,EAAMC,cAAcC,WAAW;gBAC/BC,MAAAA,EAAQnB,OAAAA,CAAQC,OAAO,CAACT,EAAE;gBAC1B4B,IAAAA,EAAM,QAAA;AACNC,gBAAAA,KAAAA,EAAOb,WAAWc,GAAG,CAAC,CAACC,QAAAA,EAAUC,SAAW;AACxCD,wBAAAA,QAAAA,EAAUA,SAASE,IAAI;wBACvBC,IAAAA,EAAMH,QAAAA,CAASG,IAAI,KAAK,MAAA,IAAUH,SAASG,IAAI,KAAK,SAAS,MAAA,GAAS,QAAA;AACtEjC,wBAAAA,KAAAA,EAAO8B,QAAAA,CAAS9B,KAAK,IAAIkC,QAAAA,CAASJ,SAASE,IAAI,CAAA;wBAC/CG,MAAAA,EAASJ,QAAQ,CAAA,GAAK,CAAA;wBACtBK,KAAAA,EAAO;qBACX,CAAA;AACJ;AAAE;AACN,KAAA;AACJ;AAEA,SAASF,SAASF,IAAY,EAAA;IAC1B,OAAOA,IAAAA,CAAKK,OAAO,CAAC,oBAAA,EAAsB,OAAA,CAAA,CAASA,OAAO,CAAC,IAAA,EAAMT,CAAAA,KAAAA,GAASA,KAAAA,CAAMU,WAAW,EAAA,CAAA;AAC/F;;"}
@@ -10,4 +10,6 @@ export * from './toolbar';
10
10
  export * from './cratisComponents';
11
11
  export * from './cratisComponentsDescriptors';
12
12
  export * from './cratisComponentsPackage';
13
+ export * from './cratisComponentsRuntimePackage';
14
+ export * from './designTime/cratisComponentsDesignTime';
13
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC"}
package/dist/esm/index.js CHANGED
@@ -50,5 +50,8 @@ export { SceneToolbarGroup } from './toolbar/SceneToolbarGroup.js';
50
50
  export { SceneToolbarSeparator } from './toolbar/SceneToolbarSeparator.js';
51
51
  export { cratisComponents, cratisComponentsPackageName } from './cratisComponents.js';
52
52
  export { cratisComponentsDescriptors } from './cratisComponentsDescriptors.js';
53
- export { cratisComponentsPackage, cratisComponentsPackageManifest } from './cratisComponentsPackage.js';
53
+ export { cratisComponentsPackage } from './cratisComponentsPackage.js';
54
+ export { cratisComponentsRuntimePackage } from './cratisComponentsRuntimePackage.js';
55
+ export { cratisComponentsDesignTime } from './designTime/cratisComponentsDesignTime.js';
56
+ export { cratisComponentsPackageManifest } from './cratisComponentsPackageManifest.js';
54
57
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ export * from './cratisComponents';
2
+ export * from './cratisComponentsDescriptors';
3
+ export * from './cratisComponentsPackageManifest';
4
+ export * from './cratisComponentsRuntimePackage';
5
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../runtime.ts"],"names":[],"mappings":"AAKA,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { cratisComponents, cratisComponentsPackageName } from './cratisComponents.js';
2
+ export { cratisComponentsDescriptors } from './cratisComponentsDescriptors.js';
3
+ export { cratisComponentsPackageManifest } from './cratisComponentsPackageManifest.js';
4
+ export { cratisComponentsRuntimePackage } from './cratisComponentsRuntimePackage.js';
5
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}