@cratis/scene.components 4.15.0 → 4.17.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 (62) hide show
  1. package/cratisComponentsDescriptors.ts +16 -0
  2. package/cratisComponentsPackage.ts +9 -125
  3. package/cratisComponentsPackageManifest.ts +106 -0
  4. package/cratisComponentsRuntimePackage.ts +22 -0
  5. package/designTime/cratisComponentsDesignTime.ts +22 -0
  6. package/dist/cjs/cratisComponentsDescriptors.js +68 -1
  7. package/dist/cjs/cratisComponentsDescriptors.js.map +1 -1
  8. package/dist/cjs/cratisComponentsPackage.js +10 -144
  9. package/dist/cjs/cratisComponentsPackage.js.map +1 -1
  10. package/dist/cjs/cratisComponentsPackageManifest.js +126 -0
  11. package/dist/cjs/cratisComponentsPackageManifest.js.map +1 -0
  12. package/dist/cjs/cratisComponentsRuntimePackage.js +24 -0
  13. package/dist/cjs/cratisComponentsRuntimePackage.js.map +1 -0
  14. package/dist/cjs/designTime/cratisComponentsDesignTime.js +24 -0
  15. package/dist/cjs/designTime/cratisComponentsDesignTime.js.map +1 -0
  16. package/dist/cjs/forms/generateCommandFieldsAction.js +10 -1
  17. package/dist/cjs/forms/generateCommandFieldsAction.js.map +1 -1
  18. package/dist/cjs/index.js +6 -1
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/runtime.js +15 -0
  21. package/dist/cjs/runtime.js.map +1 -0
  22. package/dist/cjs/toolbar/SceneToolbarButton.js +34 -2
  23. package/dist/cjs/toolbar/SceneToolbarButton.js.map +1 -1
  24. package/dist/esm/cratisComponentsDescriptors.d.ts.map +1 -1
  25. package/dist/esm/cratisComponentsDescriptors.js +68 -1
  26. package/dist/esm/cratisComponentsDescriptors.js.map +1 -1
  27. package/dist/esm/cratisComponentsPackage.d.ts +1 -2
  28. package/dist/esm/cratisComponentsPackage.d.ts.map +1 -1
  29. package/dist/esm/cratisComponentsPackage.js +10 -144
  30. package/dist/esm/cratisComponentsPackage.js.map +1 -1
  31. package/dist/esm/cratisComponentsPackageManifest.d.ts +3 -0
  32. package/dist/esm/cratisComponentsPackageManifest.d.ts.map +1 -0
  33. package/dist/esm/cratisComponentsPackageManifest.js +124 -0
  34. package/dist/esm/cratisComponentsPackageManifest.js.map +1 -0
  35. package/dist/esm/cratisComponentsRuntimePackage.d.ts +3 -0
  36. package/dist/esm/cratisComponentsRuntimePackage.d.ts.map +1 -0
  37. package/dist/esm/cratisComponentsRuntimePackage.js +22 -0
  38. package/dist/esm/cratisComponentsRuntimePackage.js.map +1 -0
  39. package/dist/esm/designTime/cratisComponentsDesignTime.d.ts +3 -0
  40. package/dist/esm/designTime/cratisComponentsDesignTime.d.ts.map +1 -0
  41. package/dist/esm/designTime/cratisComponentsDesignTime.js +22 -0
  42. package/dist/esm/designTime/cratisComponentsDesignTime.js.map +1 -0
  43. package/dist/esm/forms/generateCommandFieldsAction.js +10 -1
  44. package/dist/esm/forms/generateCommandFieldsAction.js.map +1 -1
  45. package/dist/esm/index.d.ts +2 -0
  46. package/dist/esm/index.d.ts.map +1 -1
  47. package/dist/esm/index.js +4 -1
  48. package/dist/esm/index.js.map +1 -1
  49. package/dist/esm/runtime.d.ts +5 -0
  50. package/dist/esm/runtime.d.ts.map +1 -0
  51. package/dist/esm/runtime.js +5 -0
  52. package/dist/esm/runtime.js.map +1 -0
  53. package/dist/esm/toolbar/SceneToolbarButton.d.ts +1 -1
  54. package/dist/esm/toolbar/SceneToolbarButton.d.ts.map +1 -1
  55. package/dist/esm/toolbar/SceneToolbarButton.js +34 -2
  56. package/dist/esm/toolbar/SceneToolbarButton.js.map +1 -1
  57. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  58. package/forms/generateCommandFieldsAction.ts +5 -1
  59. package/index.ts +2 -0
  60. package/package.json +12 -7
  61. package/runtime.ts +9 -0
  62. package/toolbar/SceneToolbarButton.tsx +24 -2
@@ -1 +1 @@
1
- {"version":3,"file":"cratisComponentsPackage.js","sources":["../../cratisComponentsPackage.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 { cratisComponents, cratisComponentsPackageName } from './cratisComponents';\nimport { cratisComponentsDescriptors } from './cratisComponentsDescriptors';\nimport { CommandFieldPropertyEditor } from './forms/CommandFieldPropertyEditor';\nimport { CommandFormDesigner } from './forms/CommandFormDesigner';\nimport { CommandFormLayoutEditor } from './forms/CommandFormLayoutEditor';\nimport { generateCommandFieldsAction } from './forms/generateCommandFieldsAction';\n\n/**\n * The `Cratis.Components` package's declaration - what a profile gets when it lists this package.\n *\n * This is the concrete case the whole package-dependency mechanism exists for. `@cratis/components` is\n * not a self-contained library: every component in it is a wrapper over a PrimeReact widget, and its own\n * styling is a `--cratis-*` token layer (`@cratis/components/tokens`) plus the component stylesheets and\n * compiled Tailwind utilities in `@cratis/components/styles`. Activate it in a profile without PrimeReact\n * and nothing renders; activate it without Tailwind and everything renders unstyled. Both are stated as\n * dependencies so a package picker can say so while the profile is being configured, instead of leaving\n * it to be discovered when the page opens.\n *\n * The version ranges are the real ones the library carries. `>=11.0.0` for PrimeReact: version 3.0.0\n * declares `primereact@^11` as a peer dependency and is built against version 11's component set, so the\n * span across the major boundary that the previous `>=10.9.0` range described is over. The `--cratis-*`\n * tokens still resolve a version 10 theme variable as their last fallback, but that is an upgrade-window\n * courtesy for an application with a compiled version 10 stylesheet still on the page - not a version of\n * PrimeReact this package can be activated against. `^4.0.0` for Tailwind, because the utility sheet is\n * compiled against Tailwind 4.\n */\nexport const cratisComponentsPackageManifest: ScenePackage = {\n name: cratisComponentsPackageName,\n version: '3.0.0',\n kind: PackageKind.ComponentLibrary,\n dependencies: [\n { name: 'PrimeReact', versionRange: '>=11.0.0' },\n { name: 'Tailwind', versionRange: '^4.0.0' },\n ],\n components: [\n 'page',\n 'dataPage',\n 'formElement',\n 'singleResult',\n 'queryInputForm',\n 'dataTable',\n 'table',\n 'observableDataTable',\n 'commandForm',\n 'inputTextField',\n 'numberField',\n 'checkboxField',\n 'textAreaField',\n 'dropdownField',\n 'sliderField',\n 'calendarField',\n 'colorPickerField',\n 'multiSelectField',\n 'chipsField',\n 'radioButtonField',\n 'radioGroupField',\n 'dialog',\n 'confirmationDialog',\n 'busyIndicatorDialog',\n 'commandDialog',\n 'stepperCommandDialog',\n 'icon',\n 'tooltip',\n 'dropdown',\n 'errorBoundary',\n 'objectContentEditor',\n 'objectNavigationalBar',\n 'schemaEditor',\n 'timeMachine',\n 'filterPanel',\n 'toolbar',\n 'toolbarButton',\n 'toolbarGroup',\n 'toolbarSeparator',\n ],\n\n // A component library ships components, and nothing else. Layouts, screen templates and dialog\n // templates all belong to a Blueprint: they are decisions about what an application looks like as a\n // whole, and this package deliberately makes none of them - it provides the Arc-bound composites a\n // template is *built from*, so that a blueprint can place a `dataPage` in a slot and configure it,\n // rather than shipping one opinionated data page nobody can rearrange.\n layouts: [],\n screenTemplates: [],\n dialogTemplates: [],\n\n // No themes either, for a different reason: `@cratis/components` has no palette of its own. It reads\n // a `--cratis-*` variable layer that resolves whatever is in front of it - the `--p-*` properties a\n // PrimeReact 11 preset emits at runtime, or a Scene theme through this package's token bridge.\n // Shipping a theme here would be this library asserting a look it was specifically built not to have.\n themes: [],\n\n displayName: 'Cratis Components',\n description: \"Cratis' Arc-bound data, form and dialog composites, built on PrimeReact and Tailwind. dataTable and table accept optional object-valued queryArguments for collection queries. singleResult displays one read-only scalar own resultField of an optional model using an explicit query, object queryArguments and enabled: true. queryInputForm commits explicit string inputs on submit to the same optional-single runtime; drafts never execute a query.\",\n module: '@cratis/scene.components',\n license: 'MIT',\n licenseUrl: 'https://github.com/Cratis/Scene/blob/main/LICENSE',\n designTime: {\n previews: [],\n designers: ['commandFormDesigner'],\n propertyEditors: ['commandBinding', 'commandFields', 'fieldWidths', 'commandFormLayout'],\n propertyDisplays: [],\n actions: ['Cratis.Components.commandForm.generateFields'],\n },\n assets: ['@cratis/components/styles', '@cratis/components/tokens'],\n runtimeSingletons: ['react', '@cratis/arc', '@cratis/components'],\n};\n\n/**\n * The `Cratis.Components` package as a loadable bundle - the manifest above, plus the React components\n * behind the names it declares.\n *\n * No `layouts`, `screenTemplates`, `dialogTemplates` or `themes` are provided, matching a manifest that\n * declares none of them; `validatePackageBundle` is what proves the two halves agree.\n */\nexport const cratisComponentsPackage: ScenePackageBundle = {\n manifest: cratisComponentsPackageManifest,\n components: cratisComponents,\n descriptors: cratisComponentsDescriptors,\n designTime: {\n designers: {\n commandFormDesigner: CommandFormDesigner,\n },\n propertyEditors: {\n commandBinding: CommandFieldPropertyEditor,\n commandFormLayout: CommandFormLayoutEditor,\n },\n actions: {\n [generateCommandFieldsAction.descriptor.id]: generateCommandFieldsAction,\n },\n },\n};\n"],"names":["cratisComponentsPackageManifest","name","cratisComponentsPackageName","version","kind","PackageKind","ComponentLibrary","dependencies","versionRange","components","layouts","screenTemplates","dialogTemplates","themes","displayName","description","module","license","licenseUrl","designTime","previews","designers","propertyEditors","propertyDisplays","actions","assets","runtimeSingletons","cratisComponentsPackage","manifest","cratisComponents","descriptors","cratisComponentsDescriptors","commandFormDesigner","CommandFormDesigner","commandBinding","CommandFieldPropertyEditor","commandFormLayout","CommandFormLayoutEditor","generateCommandFieldsAction","descriptor","id"],"mappings":";;;;;;;;;;AAAA;AACA;AAWA;;;;;;;;;;;;;;;;;;UAmBaA,+BAAAA,GAAgD;IACzDC,IAAAA,EAAMC,4CAAAA;IACNC,OAAAA,EAAS,OAAA;AACTC,IAAAA,IAAAA,EAAMC,wBAAYC,gBAAgB;IAClCC,YAAAA,EAAc;AACV,QAAA;YAAEN,IAAAA,EAAM,YAAA;YAAcO,YAAAA,EAAc;AAAW,SAAA;AAC/C,QAAA;YAAEP,IAAAA,EAAM,UAAA;YAAYO,YAAAA,EAAc;AAAS;AAC9C,KAAA;IACDC,UAAAA,EAAY;AACR,QAAA,MAAA;AACA,QAAA,UAAA;AACA,QAAA,aAAA;AACA,QAAA,cAAA;AACA,QAAA,gBAAA;AACA,QAAA,WAAA;AACA,QAAA,OAAA;AACA,QAAA,qBAAA;AACA,QAAA,aAAA;AACA,QAAA,gBAAA;AACA,QAAA,aAAA;AACA,QAAA,eAAA;AACA,QAAA,eAAA;AACA,QAAA,eAAA;AACA,QAAA,aAAA;AACA,QAAA,eAAA;AACA,QAAA,kBAAA;AACA,QAAA,kBAAA;AACA,QAAA,YAAA;AACA,QAAA,kBAAA;AACA,QAAA,iBAAA;AACA,QAAA,QAAA;AACA,QAAA,oBAAA;AACA,QAAA,qBAAA;AACA,QAAA,eAAA;AACA,QAAA,sBAAA;AACA,QAAA,MAAA;AACA,QAAA,SAAA;AACA,QAAA,UAAA;AACA,QAAA,eAAA;AACA,QAAA,qBAAA;AACA,QAAA,uBAAA;AACA,QAAA,cAAA;AACA,QAAA,aAAA;AACA,QAAA,aAAA;AACA,QAAA,SAAA;AACA,QAAA,eAAA;AACA,QAAA,cAAA;AACA,QAAA;AACH,KAAA;;;;;;AAODC,IAAAA,OAAAA,EAAS,EAAE;AACXC,IAAAA,eAAAA,EAAiB,EAAE;AACnBC,IAAAA,eAAAA,EAAiB,EAAE;;;;;AAMnBC,IAAAA,MAAAA,EAAQ,EAAE;IAEVC,WAAAA,EAAa,mBAAA;IACbC,WAAAA,EAAa,6bAAA;IACbC,MAAAA,EAAQ,0BAAA;IACRC,OAAAA,EAAS,KAAA;IACTC,UAAAA,EAAY,mDAAA;IACZC,UAAAA,EAAY;AACRC,QAAAA,QAAAA,EAAU,EAAE;QACZC,SAAAA,EAAW;AAAC,YAAA;AAAsB,SAAA;QAClCC,eAAAA,EAAiB;AAAC,YAAA,gBAAA;AAAkB,YAAA,eAAA;AAAiB,YAAA,aAAA;AAAe,YAAA;AAAoB,SAAA;AACxFC,QAAAA,gBAAAA,EAAkB,EAAE;QACpBC,OAAAA,EAAS;AAAC,YAAA;AAA+C;AAC7D,KAAA;IACAC,MAAAA,EAAQ;AAAC,QAAA,2BAAA;AAA6B,QAAA;AAA4B,KAAA;IAClEC,iBAAAA,EAAmB;AAAC,QAAA,OAAA;AAAS,QAAA,aAAA;AAAe,QAAA;AAAqB;AACrE;AAEA;;;;;;UAOaC,uBAAAA,GAA8C;IACvDC,QAAAA,EAAU5B,+BAAAA;IACVS,UAAAA,EAAYoB,iCAAAA;IACZC,WAAAA,EAAaC,uDAAAA;IACbZ,UAAAA,EAAY;QACRE,SAAAA,EAAW;YACPW,mBAAAA,EAAqBC;AACzB,SAAA;QACAX,eAAAA,EAAiB;YACbY,cAAAA,EAAgBC,qDAAAA;YAChBC,iBAAAA,EAAmBC;AACvB,SAAA;QACAb,OAAAA,EAAS;AACL,YAAA,CAACc,uDAAAA,CAA4BC,UAAU,CAACC,EAAE,GAAGF;AACjD;AACJ;AACJ;;;"}
1
+ {"version":3,"file":"cratisComponentsPackage.js","sources":["../../cratisComponentsPackage.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 { ScenePackageBundle } from '@cratis/scene.react';\nimport { cratisComponentsDesignTime } from './designTime/cratisComponentsDesignTime';\nimport { cratisComponentsRuntimePackage } from './cratisComponentsRuntimePackage';\n\nexport { cratisComponentsPackageManifest } from './cratisComponentsPackageManifest';\n\n/**\n * The `Cratis.Components` package as a loadable bundle - the manifest, the React components behind the names\n * it declares, and the design-time contributions a designer loads.\n *\n * A runtime host that must not load design-time code imports `cratisComponentsRuntimePackage` from\n * `@cratis/scene.components/runtime` instead; that entry reaches no designer, editor or action.\n */\nexport const cratisComponentsPackage: ScenePackageBundle = {\n ...cratisComponentsRuntimePackage,\n designTime: cratisComponentsDesignTime,\n};\n"],"names":["cratisComponentsPackage","cratisComponentsRuntimePackage","designTime","cratisComponentsDesignTime"],"mappings":";;;;;;AAAA;AACA;AAQA;;;;;;UAOaA,uBAAAA,GAA8C;AACvD,IAAA,GAAGC,6DAA8B;IACjCC,UAAAA,EAAYC;AAChB;;;"}
@@ -0,0 +1,126 @@
1
+ 'use strict';
2
+
3
+ var scene_model = require('@cratis/scene.model');
4
+ var cratisComponents = require('./cratisComponents.js');
5
+
6
+ // Copyright (c) Cratis. All rights reserved.
7
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
8
+ /**
9
+ * The `Cratis.Components` package's declaration - what a profile gets when it lists this package.
10
+ *
11
+ * This is the concrete case the whole package-dependency mechanism exists for. `@cratis/components` is
12
+ * not a self-contained library: every component in it is a wrapper over a PrimeReact widget, and its own
13
+ * styling is a `--cratis-*` token layer (`@cratis/components/tokens`) plus the component stylesheets and
14
+ * compiled Tailwind utilities in `@cratis/components/styles`. Activate it in a profile without PrimeReact
15
+ * and nothing renders; activate it without Tailwind and everything renders unstyled. Both are stated as
16
+ * dependencies so a package picker can say so while the profile is being configured, instead of leaving
17
+ * it to be discovered when the page opens.
18
+ *
19
+ * The version ranges are the real ones the library carries. `>=11.0.0` for PrimeReact: version 3.0.0
20
+ * declares `primereact@^11` as a peer dependency and is built against version 11's component set, so the
21
+ * span across the major boundary that the previous `>=10.9.0` range described is over. The `--cratis-*`
22
+ * tokens still resolve a version 10 theme variable as their last fallback, but that is an upgrade-window
23
+ * courtesy for an application with a compiled version 10 stylesheet still on the page - not a version of
24
+ * PrimeReact this package can be activated against. `^4.0.0` for Tailwind, because the utility sheet is
25
+ * compiled against Tailwind 4.
26
+ */ const cratisComponentsPackageManifest = {
27
+ name: cratisComponents.cratisComponentsPackageName,
28
+ version: '3.0.0',
29
+ kind: scene_model.PackageKind.ComponentLibrary,
30
+ dependencies: [
31
+ {
32
+ name: 'PrimeReact',
33
+ versionRange: '>=11.0.0'
34
+ },
35
+ {
36
+ name: 'Tailwind',
37
+ versionRange: '^4.0.0'
38
+ }
39
+ ],
40
+ components: [
41
+ 'page',
42
+ 'dataPage',
43
+ 'formElement',
44
+ 'singleResult',
45
+ 'queryInputForm',
46
+ 'dataTable',
47
+ 'table',
48
+ 'observableDataTable',
49
+ 'commandForm',
50
+ 'inputTextField',
51
+ 'numberField',
52
+ 'checkboxField',
53
+ 'textAreaField',
54
+ 'dropdownField',
55
+ 'sliderField',
56
+ 'calendarField',
57
+ 'colorPickerField',
58
+ 'multiSelectField',
59
+ 'chipsField',
60
+ 'radioButtonField',
61
+ 'radioGroupField',
62
+ 'dialog',
63
+ 'confirmationDialog',
64
+ 'busyIndicatorDialog',
65
+ 'commandDialog',
66
+ 'stepperCommandDialog',
67
+ 'icon',
68
+ 'tooltip',
69
+ 'dropdown',
70
+ 'errorBoundary',
71
+ 'objectContentEditor',
72
+ 'objectNavigationalBar',
73
+ 'schemaEditor',
74
+ 'timeMachine',
75
+ 'filterPanel',
76
+ 'toolbar',
77
+ 'toolbarButton',
78
+ 'toolbarGroup',
79
+ 'toolbarSeparator'
80
+ ],
81
+ // A component library ships components, and nothing else. Layouts, screen templates and dialog
82
+ // templates all belong to a Blueprint: they are decisions about what an application looks like as a
83
+ // whole, and this package deliberately makes none of them - it provides the Arc-bound composites a
84
+ // template is *built from*, so that a blueprint can place a `dataPage` in a slot and configure it,
85
+ // rather than shipping one opinionated data page nobody can rearrange.
86
+ layouts: [],
87
+ screenTemplates: [],
88
+ dialogTemplates: [],
89
+ // No themes either, for a different reason: `@cratis/components` has no palette of its own. It reads
90
+ // a `--cratis-*` variable layer that resolves whatever is in front of it - the `--p-*` properties a
91
+ // PrimeReact 11 preset emits at runtime, or a Scene theme through this package's token bridge.
92
+ // Shipping a theme here would be this library asserting a look it was specifically built not to have.
93
+ themes: [],
94
+ displayName: 'Cratis Components',
95
+ description: "Cratis' Arc-bound data, form and dialog composites, built on PrimeReact and Tailwind. dataTable and table accept optional object-valued queryArguments for collection queries. singleResult displays one read-only scalar own resultField of an optional model using an explicit query, object queryArguments and enabled: true. queryInputForm commits explicit string inputs on submit to the same optional-single runtime; drafts never execute a query.",
96
+ module: '@cratis/scene.components',
97
+ license: 'MIT',
98
+ licenseUrl: 'https://github.com/Cratis/Scene/blob/main/LICENSE',
99
+ designTime: {
100
+ previews: [],
101
+ designers: [
102
+ 'commandFormDesigner'
103
+ ],
104
+ // `commandFields` and `fieldWidths` are host editor kinds (Studio implements them); the package does not ship them.
105
+ propertyEditors: [
106
+ 'commandBinding',
107
+ 'commandFormLayout'
108
+ ],
109
+ propertyDisplays: [],
110
+ actions: [
111
+ 'Cratis.Components.commandForm.generateFields'
112
+ ]
113
+ },
114
+ assets: [
115
+ '@cratis/components/styles',
116
+ '@cratis/components/tokens'
117
+ ],
118
+ runtimeSingletons: [
119
+ 'react',
120
+ '@cratis/arc',
121
+ '@cratis/components'
122
+ ]
123
+ };
124
+
125
+ exports.cratisComponentsPackageManifest = cratisComponentsPackageManifest;
126
+ //# sourceMappingURL=cratisComponentsPackageManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cratisComponentsPackageManifest.js","sources":["../../cratisComponentsPackageManifest.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 { cratisComponentsPackageName } from './cratisComponents';\n\n/**\n * The `Cratis.Components` package's declaration - what a profile gets when it lists this package.\n *\n * This is the concrete case the whole package-dependency mechanism exists for. `@cratis/components` is\n * not a self-contained library: every component in it is a wrapper over a PrimeReact widget, and its own\n * styling is a `--cratis-*` token layer (`@cratis/components/tokens`) plus the component stylesheets and\n * compiled Tailwind utilities in `@cratis/components/styles`. Activate it in a profile without PrimeReact\n * and nothing renders; activate it without Tailwind and everything renders unstyled. Both are stated as\n * dependencies so a package picker can say so while the profile is being configured, instead of leaving\n * it to be discovered when the page opens.\n *\n * The version ranges are the real ones the library carries. `>=11.0.0` for PrimeReact: version 3.0.0\n * declares `primereact@^11` as a peer dependency and is built against version 11's component set, so the\n * span across the major boundary that the previous `>=10.9.0` range described is over. The `--cratis-*`\n * tokens still resolve a version 10 theme variable as their last fallback, but that is an upgrade-window\n * courtesy for an application with a compiled version 10 stylesheet still on the page - not a version of\n * PrimeReact this package can be activated against. `^4.0.0` for Tailwind, because the utility sheet is\n * compiled against Tailwind 4.\n */\nexport const cratisComponentsPackageManifest: ScenePackage = {\n name: cratisComponentsPackageName,\n version: '3.0.0',\n kind: PackageKind.ComponentLibrary,\n dependencies: [\n { name: 'PrimeReact', versionRange: '>=11.0.0' },\n { name: 'Tailwind', versionRange: '^4.0.0' },\n ],\n components: [\n 'page',\n 'dataPage',\n 'formElement',\n 'singleResult',\n 'queryInputForm',\n 'dataTable',\n 'table',\n 'observableDataTable',\n 'commandForm',\n 'inputTextField',\n 'numberField',\n 'checkboxField',\n 'textAreaField',\n 'dropdownField',\n 'sliderField',\n 'calendarField',\n 'colorPickerField',\n 'multiSelectField',\n 'chipsField',\n 'radioButtonField',\n 'radioGroupField',\n 'dialog',\n 'confirmationDialog',\n 'busyIndicatorDialog',\n 'commandDialog',\n 'stepperCommandDialog',\n 'icon',\n 'tooltip',\n 'dropdown',\n 'errorBoundary',\n 'objectContentEditor',\n 'objectNavigationalBar',\n 'schemaEditor',\n 'timeMachine',\n 'filterPanel',\n 'toolbar',\n 'toolbarButton',\n 'toolbarGroup',\n 'toolbarSeparator',\n ],\n\n // A component library ships components, and nothing else. Layouts, screen templates and dialog\n // templates all belong to a Blueprint: they are decisions about what an application looks like as a\n // whole, and this package deliberately makes none of them - it provides the Arc-bound composites a\n // template is *built from*, so that a blueprint can place a `dataPage` in a slot and configure it,\n // rather than shipping one opinionated data page nobody can rearrange.\n layouts: [],\n screenTemplates: [],\n dialogTemplates: [],\n\n // No themes either, for a different reason: `@cratis/components` has no palette of its own. It reads\n // a `--cratis-*` variable layer that resolves whatever is in front of it - the `--p-*` properties a\n // PrimeReact 11 preset emits at runtime, or a Scene theme through this package's token bridge.\n // Shipping a theme here would be this library asserting a look it was specifically built not to have.\n themes: [],\n\n displayName: 'Cratis Components',\n description: \"Cratis' Arc-bound data, form and dialog composites, built on PrimeReact and Tailwind. dataTable and table accept optional object-valued queryArguments for collection queries. singleResult displays one read-only scalar own resultField of an optional model using an explicit query, object queryArguments and enabled: true. queryInputForm commits explicit string inputs on submit to the same optional-single runtime; drafts never execute a query.\",\n module: '@cratis/scene.components',\n license: 'MIT',\n licenseUrl: 'https://github.com/Cratis/Scene/blob/main/LICENSE',\n designTime: {\n previews: [],\n designers: ['commandFormDesigner'],\n // `commandFields` and `fieldWidths` are host editor kinds (Studio implements them); the package does not ship them.\n propertyEditors: ['commandBinding', 'commandFormLayout'],\n propertyDisplays: [],\n actions: ['Cratis.Components.commandForm.generateFields'],\n },\n assets: ['@cratis/components/styles', '@cratis/components/tokens'],\n runtimeSingletons: ['react', '@cratis/arc', '@cratis/components'],\n};\n"],"names":["cratisComponentsPackageManifest","name","cratisComponentsPackageName","version","kind","PackageKind","ComponentLibrary","dependencies","versionRange","components","layouts","screenTemplates","dialogTemplates","themes","displayName","description","module","license","licenseUrl","designTime","previews","designers","propertyEditors","propertyDisplays","actions","assets","runtimeSingletons"],"mappings":";;;;;AAAA;AACA;AAKA;;;;;;;;;;;;;;;;;;UAmBaA,+BAAAA,GAAgD;IACzDC,IAAAA,EAAMC,4CAAAA;IACNC,OAAAA,EAAS,OAAA;AACTC,IAAAA,IAAAA,EAAMC,wBAAYC,gBAAgB;IAClCC,YAAAA,EAAc;AACV,QAAA;YAAEN,IAAAA,EAAM,YAAA;YAAcO,YAAAA,EAAc;AAAW,SAAA;AAC/C,QAAA;YAAEP,IAAAA,EAAM,UAAA;YAAYO,YAAAA,EAAc;AAAS;AAC9C,KAAA;IACDC,UAAAA,EAAY;AACR,QAAA,MAAA;AACA,QAAA,UAAA;AACA,QAAA,aAAA;AACA,QAAA,cAAA;AACA,QAAA,gBAAA;AACA,QAAA,WAAA;AACA,QAAA,OAAA;AACA,QAAA,qBAAA;AACA,QAAA,aAAA;AACA,QAAA,gBAAA;AACA,QAAA,aAAA;AACA,QAAA,eAAA;AACA,QAAA,eAAA;AACA,QAAA,eAAA;AACA,QAAA,aAAA;AACA,QAAA,eAAA;AACA,QAAA,kBAAA;AACA,QAAA,kBAAA;AACA,QAAA,YAAA;AACA,QAAA,kBAAA;AACA,QAAA,iBAAA;AACA,QAAA,QAAA;AACA,QAAA,oBAAA;AACA,QAAA,qBAAA;AACA,QAAA,eAAA;AACA,QAAA,sBAAA;AACA,QAAA,MAAA;AACA,QAAA,SAAA;AACA,QAAA,UAAA;AACA,QAAA,eAAA;AACA,QAAA,qBAAA;AACA,QAAA,uBAAA;AACA,QAAA,cAAA;AACA,QAAA,aAAA;AACA,QAAA,aAAA;AACA,QAAA,SAAA;AACA,QAAA,eAAA;AACA,QAAA,cAAA;AACA,QAAA;AACH,KAAA;;;;;;AAODC,IAAAA,OAAAA,EAAS,EAAE;AACXC,IAAAA,eAAAA,EAAiB,EAAE;AACnBC,IAAAA,eAAAA,EAAiB,EAAE;;;;;AAMnBC,IAAAA,MAAAA,EAAQ,EAAE;IAEVC,WAAAA,EAAa,mBAAA;IACbC,WAAAA,EAAa,6bAAA;IACbC,MAAAA,EAAQ,0BAAA;IACRC,OAAAA,EAAS,KAAA;IACTC,UAAAA,EAAY,mDAAA;IACZC,UAAAA,EAAY;AACRC,QAAAA,QAAAA,EAAU,EAAE;QACZC,SAAAA,EAAW;AAAC,YAAA;AAAsB,SAAA;;QAElCC,eAAAA,EAAiB;AAAC,YAAA,gBAAA;AAAkB,YAAA;AAAoB,SAAA;AACxDC,QAAAA,gBAAAA,EAAkB,EAAE;QACpBC,OAAAA,EAAS;AAAC,YAAA;AAA+C;AAC7D,KAAA;IACAC,MAAAA,EAAQ;AAAC,QAAA,2BAAA;AAA6B,QAAA;AAA4B,KAAA;IAClEC,iBAAAA,EAAmB;AAAC,QAAA,OAAA;AAAS,QAAA,aAAA;AAAe,QAAA;AAAqB;AACrE;;"}
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var cratisComponents = require('./cratisComponents.js');
4
+ var cratisComponentsDescriptors = require('./cratisComponentsDescriptors.js');
5
+ var cratisComponentsPackageManifest = require('./cratisComponentsPackageManifest.js');
6
+
7
+ // Copyright (c) Cratis. All rights reserved.
8
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
9
+ /**
10
+ * The `Cratis.Components` package without design-time contributions: the manifest, the components and their
11
+ * descriptors. The manifest still names the design-time extensions - that is data a host reads without
12
+ * loading them - but no designer, editor or action module is reachable from this bundle, which is what a
13
+ * runtime host imports from `@cratis/scene.components/runtime`.
14
+ *
15
+ * No `layouts`, `screenTemplates`, `dialogTemplates` or `themes` are provided, matching a manifest that
16
+ * declares none of them; `validatePackageBundle` is what proves the two halves agree.
17
+ */ const cratisComponentsRuntimePackage = {
18
+ manifest: cratisComponentsPackageManifest.cratisComponentsPackageManifest,
19
+ components: cratisComponents.cratisComponents,
20
+ descriptors: cratisComponentsDescriptors.cratisComponentsDescriptors
21
+ };
22
+
23
+ exports.cratisComponentsRuntimePackage = cratisComponentsRuntimePackage;
24
+ //# sourceMappingURL=cratisComponentsRuntimePackage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cratisComponentsRuntimePackage.js","sources":["../../cratisComponentsRuntimePackage.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 { ScenePackageBundle } from '@cratis/scene.react';\nimport { cratisComponents } from './cratisComponents';\nimport { cratisComponentsDescriptors } from './cratisComponentsDescriptors';\nimport { cratisComponentsPackageManifest } from './cratisComponentsPackageManifest';\n\n/**\n * The `Cratis.Components` package without design-time contributions: the manifest, the components and their\n * descriptors. The manifest still names the design-time extensions - that is data a host reads without\n * loading them - but no designer, editor or action module is reachable from this bundle, which is what a\n * runtime host imports from `@cratis/scene.components/runtime`.\n *\n * No `layouts`, `screenTemplates`, `dialogTemplates` or `themes` are provided, matching a manifest that\n * declares none of them; `validatePackageBundle` is what proves the two halves agree.\n */\nexport const cratisComponentsRuntimePackage: ScenePackageBundle = {\n manifest: cratisComponentsPackageManifest,\n components: cratisComponents,\n descriptors: cratisComponentsDescriptors,\n};\n"],"names":["cratisComponentsRuntimePackage","manifest","cratisComponentsPackageManifest","components","cratisComponents","descriptors","cratisComponentsDescriptors"],"mappings":";;;;;;AAAA;AACA;AAOA;;;;;;;;UASaA,8BAAAA,GAAqD;IAC9DC,QAAAA,EAAUC,+DAAAA;IACVC,UAAAA,EAAYC,iCAAAA;IACZC,WAAAA,EAAaC;AACjB;;"}
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var CommandFieldPropertyEditor = require('../forms/CommandFieldPropertyEditor.js');
4
+ var CommandFormDesigner = require('../forms/CommandFormDesigner.js');
5
+ var CommandFormLayoutEditor = require('../forms/CommandFormLayoutEditor.js');
6
+ var generateCommandFieldsAction = require('../forms/generateCommandFieldsAction.js');
7
+
8
+ // Copyright (c) Cratis. All rights reserved.
9
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
10
+ /** Every design-time contribution of `Cratis.Components`, under the names its manifest declares. */ const cratisComponentsDesignTime = {
11
+ designers: {
12
+ commandFormDesigner: CommandFormDesigner.CommandFormDesigner
13
+ },
14
+ propertyEditors: {
15
+ commandBinding: CommandFieldPropertyEditor.CommandFieldPropertyEditor,
16
+ commandFormLayout: CommandFormLayoutEditor.CommandFormLayoutEditor
17
+ },
18
+ actions: {
19
+ [generateCommandFieldsAction.generateCommandFieldsAction.descriptor.id]: generateCommandFieldsAction.generateCommandFieldsAction
20
+ }
21
+ };
22
+
23
+ exports.cratisComponentsDesignTime = cratisComponentsDesignTime;
24
+ //# sourceMappingURL=cratisComponentsDesignTime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cratisComponentsDesignTime.js","sources":["../../../designTime/cratisComponentsDesignTime.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 { DesignTimeBundle } from '@cratis/scene.react';\nimport { CommandFieldPropertyEditor } from '../forms/CommandFieldPropertyEditor';\nimport { CommandFormDesigner } from '../forms/CommandFormDesigner';\nimport { CommandFormLayoutEditor } from '../forms/CommandFormLayoutEditor';\nimport { generateCommandFieldsAction } from '../forms/generateCommandFieldsAction';\n\n/** Every design-time contribution of `Cratis.Components`, under the names its manifest declares. */\nexport const cratisComponentsDesignTime: DesignTimeBundle = {\n designers: {\n commandFormDesigner: CommandFormDesigner,\n },\n propertyEditors: {\n commandBinding: CommandFieldPropertyEditor,\n commandFormLayout: CommandFormLayoutEditor,\n },\n actions: {\n [generateCommandFieldsAction.descriptor.id]: generateCommandFieldsAction,\n },\n};\n"],"names":["cratisComponentsDesignTime","designers","commandFormDesigner","CommandFormDesigner","propertyEditors","commandBinding","CommandFieldPropertyEditor","commandFormLayout","CommandFormLayoutEditor","actions","generateCommandFieldsAction","descriptor","id"],"mappings":";;;;;;;AAAA;AACA;AAQA,qGACO,MAAMA,0BAAAA,GAA+C;IACxDC,SAAAA,EAAW;QACPC,mBAAAA,EAAqBC;AACzB,KAAA;IACAC,eAAAA,EAAiB;QACbC,cAAAA,EAAgBC,qDAAAA;QAChBC,iBAAAA,EAAmBC;AACvB,KAAA;IACAC,OAAAA,EAAS;AACL,QAAA,CAACC,uDAAAA,CAA4BC,UAAU,CAACC,EAAE,GAAGF;AACjD;AACJ;;"}
@@ -13,7 +13,7 @@ const generateCommandFieldsAction = {
13
13
  description: 'Creates a deterministic editable field layout from the selected command metadata.'
14
14
  },
15
15
  isVisible: (context)=>context.element.componentName.endsWith(':commandForm'),
16
- isEnabled: (context)=>Array.isArray(context.commandMetadata?.properties) && !Array.isArray(context.element.properties.inputs),
16
+ isEnabled: (context)=>Array.isArray(context.commandMetadata?.properties) && context.element.properties.inputs === undefined,
17
17
  execute: (context)=>generateCommandFields(context)
18
18
  };
19
19
  function generateCommandFields(context) {
@@ -24,6 +24,7 @@ function generateCommandFields(context) {
24
24
  'No command metadata was supplied.'
25
25
  ]
26
26
  };
27
+ // Authored fields, or a binding that supplies them, are never overwritten.
27
28
  if (Array.isArray(context.element.properties.inputs)) {
28
29
  return {
29
30
  edits: [],
@@ -32,6 +33,14 @@ function generateCommandFields(context) {
32
33
  ]
33
34
  };
34
35
  }
36
+ if (context.element.properties.inputs !== undefined) {
37
+ return {
38
+ edits: [],
39
+ diagnostics: [
40
+ 'The form\'s fields come from a binding; Generate fields will not overwrite it.'
41
+ ]
42
+ };
43
+ }
35
44
  return {
36
45
  diagnostics: [],
37
46
  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,sCAA0BC,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,0BAAcC,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,sCAA0BC,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,0BAAcC,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;;"}
package/dist/cjs/index.js CHANGED
@@ -53,6 +53,9 @@ var SceneToolbarSeparator = require('./toolbar/SceneToolbarSeparator.js');
53
53
  var cratisComponents = require('./cratisComponents.js');
54
54
  var cratisComponentsDescriptors = require('./cratisComponentsDescriptors.js');
55
55
  var cratisComponentsPackage = require('./cratisComponentsPackage.js');
56
+ var cratisComponentsRuntimePackage = require('./cratisComponentsRuntimePackage.js');
57
+ var cratisComponentsDesignTime = require('./designTime/cratisComponentsDesignTime.js');
58
+ var cratisComponentsPackageManifest = require('./cratisComponentsPackageManifest.js');
56
59
 
57
60
 
58
61
 
@@ -129,5 +132,7 @@ exports.cratisComponents = cratisComponents.cratisComponents;
129
132
  exports.cratisComponentsPackageName = cratisComponents.cratisComponentsPackageName;
130
133
  exports.cratisComponentsDescriptors = cratisComponentsDescriptors.cratisComponentsDescriptors;
131
134
  exports.cratisComponentsPackage = cratisComponentsPackage.cratisComponentsPackage;
132
- exports.cratisComponentsPackageManifest = cratisComponentsPackage.cratisComponentsPackageManifest;
135
+ exports.cratisComponentsRuntimePackage = cratisComponentsRuntimePackage.cratisComponentsRuntimePackage;
136
+ exports.cratisComponentsDesignTime = cratisComponentsDesignTime.cratisComponentsDesignTime;
137
+ exports.cratisComponentsPackageManifest = cratisComponentsPackageManifest.cratisComponentsPackageManifest;
133
138
  //# 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,15 @@
1
+ 'use strict';
2
+
3
+ var cratisComponents = require('./cratisComponents.js');
4
+ var cratisComponentsDescriptors = require('./cratisComponentsDescriptors.js');
5
+ var cratisComponentsPackageManifest = require('./cratisComponentsPackageManifest.js');
6
+ var cratisComponentsRuntimePackage = require('./cratisComponentsRuntimePackage.js');
7
+
8
+
9
+
10
+ exports.cratisComponents = cratisComponents.cratisComponents;
11
+ exports.cratisComponentsPackageName = cratisComponents.cratisComponentsPackageName;
12
+ exports.cratisComponentsDescriptors = cratisComponentsDescriptors.cratisComponentsDescriptors;
13
+ exports.cratisComponentsPackageManifest = cratisComponentsPackageManifest.cratisComponentsPackageManifest;
14
+ exports.cratisComponentsRuntimePackage = cratisComponentsRuntimePackage.cratisComponentsRuntimePackage;
15
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -1,7 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
4
5
  var Toolbar = require('@cratis/components/Toolbar');
6
+ var scene_react = require('@cratis/scene.react');
5
7
  var properties = require('../properties.js');
6
8
 
7
9
  /** Which side of the button its tooltip appears on. */ const tooltipPositions = [
@@ -17,16 +19,46 @@ var properties = require('../properties.js');
17
19
  * the accessible name, so a toolbar of icon-only buttons is still usable by anyone who cannot see the
18
20
  * icons. It defaults to the `text` property rather than to an empty string, so a button that has a
19
21
  * visible label is never left nameless.
20
- */ function SceneToolbarButton({ element }) {
22
+ */ /**
23
+ * A toolbar button. Its authored `destination` - a screen in an outlet, or a dialog - is executed by the
24
+ * enclosing navigation host; outside one it is announced with the host-neutral `cratis.scene.navigate` event.
25
+ * Interactions attached by the document run first.
26
+ */ function SceneToolbarButton({ element, interactions }) {
21
27
  const text = properties.stringProperty(element.properties, 'text');
28
+ const navigation = react.useContext(scene_react.SceneNavigationContextInternal);
29
+ const destination = isDestination(element.properties.destination) ? element.properties.destination : undefined;
30
+ const onClick = ()=>{
31
+ interactions?.onClick?.({
32
+ stopPropagation: ()=>undefined
33
+ });
34
+ if (!destination) return;
35
+ if (navigation) navigation.navigate(destination);
36
+ else globalThis.dispatchEvent(new CustomEvent('cratis.scene.navigate', {
37
+ detail: {
38
+ destination,
39
+ element
40
+ }
41
+ }));
42
+ };
22
43
  return /*#__PURE__*/ jsxRuntime.jsx(Toolbar.ToolbarButton, {
23
44
  icon: properties.stringProperty(element.properties, 'icon'),
24
45
  text: text,
25
46
  title: properties.stringProperty(element.properties, 'title') ?? text ?? '',
26
47
  active: properties.booleanProperty(element.properties, 'active'),
27
- tooltipPosition: properties.unionProperty(element.properties, 'tooltipPosition', tooltipPositions)
48
+ tooltipPosition: properties.unionProperty(element.properties, 'tooltipPosition', tooltipPositions),
49
+ onClick: onClick
28
50
  });
29
51
  }
52
+ function isDestination(value) {
53
+ if (value === null || typeof value !== 'object' || Array.isArray(value)) return false;
54
+ const candidate = value;
55
+ return [
56
+ 'screen',
57
+ 'module',
58
+ 'route',
59
+ 'dialog'
60
+ ].some((key)=>typeof candidate[key] === 'string');
61
+ }
30
62
 
31
63
  exports.SceneToolbarButton = SceneToolbarButton;
32
64
  //# sourceMappingURL=SceneToolbarButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SceneToolbarButton.js","sources":["../../../toolbar/SceneToolbarButton.tsx"],"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 { ToolbarButton } from '@cratis/components/Toolbar';\nimport { RegisteredComponentProps } from '@cratis/scene.react';\nimport { booleanProperty, stringProperty, unionProperty } from '../properties';\n\n/** Which side of the button its tooltip appears on. */\nconst tooltipPositions = ['top', 'right', 'bottom', 'left'] as const;\n\n/**\n * The `Cratis.Components:toolbarButton` component - `ToolbarButton` from `@cratis/components/Toolbar`.\n *\n * `title` is required by the underlying component and is not decoration: it is both the tooltip text and\n * the accessible name, so a toolbar of icon-only buttons is still usable by anyone who cannot see the\n * icons. It defaults to the `text` property rather than to an empty string, so a button that has a\n * visible label is never left nameless.\n */\nexport function SceneToolbarButton({ element }: RegisteredComponentProps) {\n const text = stringProperty(element.properties, 'text');\n\n return (\n <ToolbarButton\n icon={stringProperty(element.properties, 'icon')}\n text={text}\n title={stringProperty(element.properties, 'title') ?? text ?? ''}\n active={booleanProperty(element.properties, 'active')}\n tooltipPosition={unionProperty(element.properties, 'tooltipPosition', tooltipPositions)}\n />\n );\n}\n"],"names":["tooltipPositions","SceneToolbarButton","element","text","stringProperty","properties","_jsx","ToolbarButton","icon","title","active","booleanProperty","tooltipPosition","unionProperty"],"mappings":";;;;;;AAOA,wDACA,MAAMA,gBAAAA,GAAmB;AAAC,IAAA,KAAA;AAAO,IAAA,OAAA;AAAS,IAAA,QAAA;AAAU,IAAA;AAAO,CAAA;AAE3D;;;;;;;AAOC,IACM,SAASC,kBAAAA,CAAmB,EAAEC,OAAO,EAA4B,EAAA;AACpE,IAAA,MAAMC,IAAAA,GAAOC,yBAAAA,CAAeF,OAAAA,CAAQG,UAAU,EAAE,MAAA,CAAA;AAEhD,IAAA,qBACIC,cAAA,CAACC,qBAAAA,EAAAA;QACGC,IAAAA,EAAMJ,yBAAAA,CAAeF,OAAAA,CAAQG,UAAU,EAAE,MAAA,CAAA;QACzCF,IAAAA,EAAMA,IAAAA;AACNM,QAAAA,KAAAA,EAAOL,yBAAAA,CAAeF,OAAAA,CAAQG,UAAU,EAAE,YAAYF,IAAAA,IAAQ,EAAA;QAC9DO,MAAAA,EAAQC,0BAAAA,CAAgBT,OAAAA,CAAQG,UAAU,EAAE,QAAA,CAAA;AAC5CO,QAAAA,eAAAA,EAAiBC,wBAAAA,CAAcX,OAAAA,CAAQG,UAAU,EAAE,iBAAA,EAAmBL,gBAAAA;;AAGlF;;"}
1
+ {"version":3,"file":"SceneToolbarButton.js","sources":["../../../toolbar/SceneToolbarButton.tsx"],"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 { useContext } from 'react';\nimport { ToolbarButton } from '@cratis/components/Toolbar';\nimport { DestinationReference } from '@cratis/scene.model';\nimport { RegisteredComponentProps, SceneNavigationContextInternal } from '@cratis/scene.react';\nimport { booleanProperty, stringProperty, unionProperty } from '../properties';\n\n/** Which side of the button its tooltip appears on. */\nconst tooltipPositions = ['top', 'right', 'bottom', 'left'] as const;\n\n/**\n * The `Cratis.Components:toolbarButton` component - `ToolbarButton` from `@cratis/components/Toolbar`.\n *\n * `title` is required by the underlying component and is not decoration: it is both the tooltip text and\n * the accessible name, so a toolbar of icon-only buttons is still usable by anyone who cannot see the\n * icons. It defaults to the `text` property rather than to an empty string, so a button that has a\n * visible label is never left nameless.\n */\n/**\n * A toolbar button. Its authored `destination` - a screen in an outlet, or a dialog - is executed by the\n * enclosing navigation host; outside one it is announced with the host-neutral `cratis.scene.navigate` event.\n * Interactions attached by the document run first.\n */\nexport function SceneToolbarButton({ element, interactions }: RegisteredComponentProps) {\n const text = stringProperty(element.properties, 'text');\n const navigation = useContext(SceneNavigationContextInternal);\n const destination = isDestination(element.properties.destination) ? element.properties.destination : undefined;\n const onClick = () => {\n interactions?.onClick?.({ stopPropagation: () => undefined });\n if (!destination) return;\n if (navigation) navigation.navigate(destination);\n else globalThis.dispatchEvent(new CustomEvent('cratis.scene.navigate', { detail: { destination, element } }));\n };\n\n return (\n <ToolbarButton\n icon={stringProperty(element.properties, 'icon')}\n text={text}\n title={stringProperty(element.properties, 'title') ?? text ?? ''}\n active={booleanProperty(element.properties, 'active')}\n tooltipPosition={unionProperty(element.properties, 'tooltipPosition', tooltipPositions)}\n onClick={onClick}\n />\n );\n}\n\nfunction isDestination(value: unknown): value is DestinationReference {\n if (value === null || typeof value !== 'object' || Array.isArray(value)) return false;\n const candidate = value as Record<string, unknown>;\n return ['screen', 'module', 'route', 'dialog'].some(key => typeof candidate[key] === 'string');\n}\n"],"names":["tooltipPositions","SceneToolbarButton","element","interactions","text","stringProperty","properties","navigation","useContext","SceneNavigationContextInternal","destination","isDestination","undefined","onClick","stopPropagation","navigate","globalThis","dispatchEvent","CustomEvent","detail","_jsx","ToolbarButton","icon","title","active","booleanProperty","tooltipPosition","unionProperty","value","Array","isArray","candidate","some","key"],"mappings":";;;;;;;;AASA,wDACA,MAAMA,gBAAAA,GAAmB;AAAC,IAAA,KAAA;AAAO,IAAA,OAAA;AAAS,IAAA,QAAA;AAAU,IAAA;AAAO,CAAA;AAE3D;;;;;;;;;;;AAYC,IACM,SAASC,kBAAAA,CAAmB,EAAEC,OAAO,EAAEC,YAAY,EAA4B,EAAA;AAClF,IAAA,MAAMC,IAAAA,GAAOC,yBAAAA,CAAeH,OAAAA,CAAQI,UAAU,EAAE,MAAA,CAAA;AAChD,IAAA,MAAMC,aAAaC,gBAAAA,CAAWC,0CAAAA,CAAAA;IAC9B,MAAMC,WAAAA,GAAcC,aAAAA,CAAcT,OAAAA,CAAQI,UAAU,CAACI,WAAW,CAAA,GAAIR,OAAAA,CAAQI,UAAU,CAACI,WAAW,GAAGE,SAAAA;AACrG,IAAA,MAAMC,OAAAA,GAAU,IAAA;AACZV,QAAAA,YAAAA,EAAcU,OAAAA,GAAU;AAAEC,YAAAA,eAAAA,EAAiB,IAAMF;AAAU,SAAA,CAAA;AAC3D,QAAA,IAAI,CAACF,WAAAA,EAAa;QAClB,IAAIH,UAAAA,EAAYA,UAAAA,CAAWQ,QAAQ,CAACL,WAAAA,CAAAA;AAC/BM,aAAAA,UAAAA,CAAWC,aAAa,CAAC,IAAIC,WAAAA,CAAY,uBAAA,EAAyB;YAAEC,MAAAA,EAAQ;AAAET,gBAAAA,WAAAA;AAAaR,gBAAAA;AAAQ;AAAE,SAAA,CAAA,CAAA;AAC9G,IAAA,CAAA;AAEA,IAAA,qBACIkB,cAAA,CAACC,qBAAAA,EAAAA;QACGC,IAAAA,EAAMjB,yBAAAA,CAAeH,OAAAA,CAAQI,UAAU,EAAE,MAAA,CAAA;QACzCF,IAAAA,EAAMA,IAAAA;AACNmB,QAAAA,KAAAA,EAAOlB,yBAAAA,CAAeH,OAAAA,CAAQI,UAAU,EAAE,YAAYF,IAAAA,IAAQ,EAAA;QAC9DoB,MAAAA,EAAQC,0BAAAA,CAAgBvB,OAAAA,CAAQI,UAAU,EAAE,QAAA,CAAA;AAC5CoB,QAAAA,eAAAA,EAAiBC,wBAAAA,CAAczB,OAAAA,CAAQI,UAAU,EAAE,iBAAA,EAAmBN,gBAAAA,CAAAA;QACtEa,OAAAA,EAASA;;AAGrB;AAEA,SAASF,cAAciB,KAAc,EAAA;IACjC,IAAIA,KAAAA,KAAU,QAAQ,OAAOA,KAAAA,KAAU,YAAYC,KAAAA,CAAMC,OAAO,CAACF,KAAAA,CAAAA,EAAQ,OAAO,KAAA;AAChF,IAAA,MAAMG,SAAAA,GAAYH,KAAAA;IAClB,OAAO;AAAC,QAAA,QAAA;AAAU,QAAA,QAAA;AAAU,QAAA,OAAA;AAAS,QAAA;KAAS,CAACI,IAAI,CAACC,CAAAA,GAAAA,GAAO,OAAOF,SAAS,CAACE,IAAI,KAAK,QAAA,CAAA;AACzF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"cratisComponentsDescriptors.d.ts","sourceRoot":"","sources":["../../cratisComponentsDescriptors.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkC,mBAAmB,EAAsF,MAAM,qBAAqB,CAAC;AAsF9K,eAAO,MAAM,2BAA2B,EAAE,mBAAmB,EAiB5D,CAAC"}
1
+ {"version":3,"file":"cratisComponentsDescriptors.d.ts","sourceRoot":"","sources":["../../cratisComponentsDescriptors.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkC,mBAAmB,EAAsF,MAAM,qBAAqB,CAAC;AAqG9K,eAAO,MAAM,2BAA2B,EAAE,mBAAmB,EAkB5D,CAAC"}
@@ -228,7 +228,69 @@ const commandFormProperties = [
228
228
  * Only the query-bound tables are described so far; the form, dialog and editor composites carry
229
229
  * Arc proxy classes by name and are configured through their own tooling. A package adds a descriptor here the
230
230
  * same way it adds a component to the manifest.
231
- */ const cratisComponentsDescriptors = [
231
+ */ const toolbarButtonProperties = [
232
+ {
233
+ path: 'title',
234
+ label: 'Label',
235
+ group: 'Content',
236
+ valueType: PropertyValueType.String,
237
+ description: 'The accessible name and tooltip.'
238
+ },
239
+ {
240
+ path: 'icon',
241
+ label: 'Icon',
242
+ group: 'Content',
243
+ valueType: PropertyValueType.Icon,
244
+ editorKind: 'icon'
245
+ },
246
+ {
247
+ path: 'text',
248
+ label: 'Text',
249
+ group: 'Content',
250
+ valueType: PropertyValueType.String,
251
+ description: 'Short text shown instead of the icon.'
252
+ },
253
+ {
254
+ path: 'active',
255
+ label: 'Active',
256
+ group: 'Presentation',
257
+ valueType: PropertyValueType.Boolean,
258
+ default: false
259
+ },
260
+ {
261
+ path: 'tooltipPosition',
262
+ label: 'Tooltip position',
263
+ group: 'Presentation',
264
+ valueType: PropertyValueType.Enum,
265
+ default: 'right',
266
+ choices: [
267
+ {
268
+ value: 'top',
269
+ label: 'Top'
270
+ },
271
+ {
272
+ value: 'right',
273
+ label: 'Right'
274
+ },
275
+ {
276
+ value: 'bottom',
277
+ label: 'Bottom'
278
+ },
279
+ {
280
+ value: 'left',
281
+ label: 'Left'
282
+ }
283
+ ]
284
+ },
285
+ {
286
+ path: 'destination',
287
+ label: 'Destination',
288
+ group: 'Navigation',
289
+ valueType: PropertyValueType.Destination,
290
+ description: 'The screen, slice or dialog the button opens - executed by the enclosing navigation host.'
291
+ }
292
+ ];
293
+ const cratisComponentsDescriptors = [
232
294
  {
233
295
  component: key('dataTable'),
234
296
  displayName: 'Data table',
@@ -258,6 +320,11 @@ const commandFormProperties = [
258
320
  description: 'Creates a deterministic editable field layout from the selected command metadata.'
259
321
  }
260
322
  ]
323
+ },
324
+ {
325
+ component: key('toolbarButton'),
326
+ displayName: 'Toolbar button',
327
+ properties: toolbarButtonProperties
261
328
  }
262
329
  ];
263
330
 
@@ -1 +1 @@
1
- {"version":3,"file":"cratisComponentsDescriptors.js","sources":["../../cratisComponentsDescriptors.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 { BindingMode, BindingSourceKind, ComponentDescriptor, DesignTimeActionPlacement, PropertyDescriptor, PropertyValueType, QueryResultShape } from '@cratis/scene.model';\nimport { componentRegistryKey } from '@cratis/scene.react';\n\n// The package name, spelled out so describing components does not pull every adapter (and its UI dependencies) in\n// with it; the bundle's validation checks each key against the manifest.\nconst key = (name: string) => componentRegistryKey('Cratis.Components', name);\n\n/**\n * The properties every query-bound data table shares: which query feeds it, and the few settings that shape how\n * it shows the result.\n *\n * `query` is a `QueryReference`, so an editor binds it to a host-supplied query candidate and validates the\n * arguments against it. What is stored is a `QueryBinding`; a plain query name - what screens carried before\n * bindings existed - is still read, as a binding with no explicit connections. The columns are not properties:\n * they are the `content` slot's children, edited as nodes.\n */\nconst dataTableProperties: PropertyDescriptor[] = [\n {\n path: 'query', label: 'Query', group: 'Data', valueType: PropertyValueType.QueryReference, editorKind: 'queryBinding',\n description: 'The collection query that feeds the table.',\n constraints: { required: true, resultShapes: [QueryResultShape.Collection] },\n },\n { path: 'emptyMessage', label: 'Empty message', group: 'Content', valueType: PropertyValueType.String, default: '' },\n {\n path: 'dataKey', label: 'Row identity', group: 'Data', valueType: PropertyValueType.String, editorKind: 'resultField',\n description: 'The result field that identifies a row.',\n },\n {\n path: 'globalFilterFields', label: 'Searchable fields', group: 'Data', valueType: PropertyValueType.Object, editorKind: 'resultFieldList',\n description: 'The result fields the table\\'s search box looks in.',\n },\n {\n path: 'selectedItem', label: 'Selected item', group: 'Outputs', valueType: PropertyValueType.Object, readOnly: true,\n output: true, bindingMode: BindingMode.OneWay,\n description: 'The currently selected row, or null after selection is cleared.',\n },\n];\n\nconst commandFormProperties: PropertyDescriptor[] = [\n {\n path: 'command', label: 'Command', group: 'Command', valueType: PropertyValueType.String, editorKind: 'commandBinding',\n constraints: { required: true },\n description: 'The Arc command proxy rendered through the native command form runtime.',\n },\n {\n path: 'mode', label: 'Mode', group: 'Layout', valueType: PropertyValueType.Enum,\n choices: [{ value: 'auto', label: 'Auto' }, { value: 'manual', label: 'Manual' }], default: 'auto',\n description: 'Auto follows command metadata; manual renders explicit inputs inside the same native form boundary.',\n },\n { path: 'columns', label: 'Legacy columns', group: 'Layout', valueType: PropertyValueType.Number, default: 1, description: 'Backward-compatible column count used when no typed layout metadata is authored.' },\n { path: 'layout', label: 'Layout', group: 'Layout', valueType: PropertyValueType.Object, editorKind: 'commandFormLayout', description: 'Typed command-form geometry: columns, gaps and field placements. Independent of auto/manual field generation.' },\n {\n path: 'widthSizeClass', label: 'Width size class', group: 'Layout', valueType: PropertyValueType.Enum, default: 'Regular',\n choices: [{ value: 'Regular', label: 'Regular' }, { value: 'Compact', label: 'Compact' }],\n description: 'The width size class the host evaluated. At Compact the fields of a manual form stack in one column in reading order.',\n },\n { path: 'fieldWidths', label: 'Legacy field widths', group: 'Layout', valueType: PropertyValueType.Object, editorKind: 'fieldWidths' },\n {\n path: 'inputs', label: 'Fields', group: 'Layout', valueType: PropertyValueType.Collection, editorKind: 'commandFields',\n acceptedBindingKinds: [BindingSourceKind.DataContext, BindingSourceKind.ComponentProperty],\n item: {\n label: 'Field',\n properties: [\n { path: 'property', label: 'Property', group: 'Field', valueType: PropertyValueType.String },\n { path: 'type', label: 'Type', group: 'Field', valueType: PropertyValueType.Enum, choices: [{ value: 'string', label: 'String' }, { value: 'guid', label: 'Guid' }] },\n { path: 'label', label: 'Label', group: 'Field', valueType: PropertyValueType.String },\n { path: 'column', label: 'Legacy column', group: 'Layout', valueType: PropertyValueType.Number },\n { path: 'width', label: 'Legacy width token', group: 'Layout', valueType: PropertyValueType.String },\n { path: 'placement', label: 'Placement', group: 'Layout', valueType: PropertyValueType.Object, editorKind: 'commandFormFieldPlacement' },\n ],\n },\n },\n {\n path: 'exclude', label: 'Excluded fields', group: 'Command', valueType: PropertyValueType.Collection,\n item: { label: 'Excluded field', properties: [{ path: 'property', label: 'Property', group: 'Field', valueType: PropertyValueType.String }] },\n },\n { path: 'submitLabel', label: 'Submit label', group: 'Content', valueType: PropertyValueType.String, default: 'Submit' },\n];\n\n/**\n * What can be edited on the `Cratis.Components` package's components.\n *\n * Only the query-bound tables are described so far; the form, dialog and editor composites carry\n * Arc proxy classes by name and are configured through their own tooling. A package adds a descriptor here the\n * same way it adds a component to the manifest.\n */\nexport const cratisComponentsDescriptors: ComponentDescriptor[] = [\n { component: key('dataTable'), displayName: 'Data table', properties: dataTableProperties },\n { component: key('table'), displayName: 'Table', properties: dataTableProperties },\n { component: key('observableDataTable'), displayName: 'Live data table', properties: dataTableProperties },\n {\n component: key('commandForm'),\n displayName: 'Command form',\n editorKind: 'commandFormDesigner',\n properties: commandFormProperties,\n actions: [{\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 },\n];\n"],"names":["key","name","componentRegistryKey","dataTableProperties","path","label","group","valueType","PropertyValueType","QueryReference","editorKind","description","constraints","required","resultShapes","QueryResultShape","Collection","String","default","Object","readOnly","output","bindingMode","BindingMode","OneWay","commandFormProperties","Enum","choices","value","Number","acceptedBindingKinds","BindingSourceKind","DataContext","ComponentProperty","item","properties","cratisComponentsDescriptors","component","displayName","actions","id","placement","DesignTimeActionPlacement","Toolbar","availability"],"mappings":"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"}
1
+ {"version":3,"file":"cratisComponentsDescriptors.js","sources":["../../cratisComponentsDescriptors.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 { BindingMode, BindingSourceKind, ComponentDescriptor, DesignTimeActionPlacement, PropertyDescriptor, PropertyValueType, QueryResultShape } from '@cratis/scene.model';\nimport { componentRegistryKey } from '@cratis/scene.react';\n\n// The package name, spelled out so describing components does not pull every adapter (and its UI dependencies) in\n// with it; the bundle's validation checks each key against the manifest.\nconst key = (name: string) => componentRegistryKey('Cratis.Components', name);\n\n/**\n * The properties every query-bound data table shares: which query feeds it, and the few settings that shape how\n * it shows the result.\n *\n * `query` is a `QueryReference`, so an editor binds it to a host-supplied query candidate and validates the\n * arguments against it. What is stored is a `QueryBinding`; a plain query name - what screens carried before\n * bindings existed - is still read, as a binding with no explicit connections. The columns are not properties:\n * they are the `content` slot's children, edited as nodes.\n */\nconst dataTableProperties: PropertyDescriptor[] = [\n {\n path: 'query', label: 'Query', group: 'Data', valueType: PropertyValueType.QueryReference, editorKind: 'queryBinding',\n description: 'The collection query that feeds the table.',\n constraints: { required: true, resultShapes: [QueryResultShape.Collection] },\n },\n { path: 'emptyMessage', label: 'Empty message', group: 'Content', valueType: PropertyValueType.String, default: '' },\n {\n path: 'dataKey', label: 'Row identity', group: 'Data', valueType: PropertyValueType.String, editorKind: 'resultField',\n description: 'The result field that identifies a row.',\n },\n {\n path: 'globalFilterFields', label: 'Searchable fields', group: 'Data', valueType: PropertyValueType.Object, editorKind: 'resultFieldList',\n description: 'The result fields the table\\'s search box looks in.',\n },\n {\n path: 'selectedItem', label: 'Selected item', group: 'Outputs', valueType: PropertyValueType.Object, readOnly: true,\n output: true, bindingMode: BindingMode.OneWay,\n description: 'The currently selected row, or null after selection is cleared.',\n },\n];\n\nconst commandFormProperties: PropertyDescriptor[] = [\n {\n path: 'command', label: 'Command', group: 'Command', valueType: PropertyValueType.String, editorKind: 'commandBinding',\n constraints: { required: true },\n description: 'The Arc command proxy rendered through the native command form runtime.',\n },\n {\n path: 'mode', label: 'Mode', group: 'Layout', valueType: PropertyValueType.Enum,\n choices: [{ value: 'auto', label: 'Auto' }, { value: 'manual', label: 'Manual' }], default: 'auto',\n description: 'Auto follows command metadata; manual renders explicit inputs inside the same native form boundary.',\n },\n { path: 'columns', label: 'Legacy columns', group: 'Layout', valueType: PropertyValueType.Number, default: 1, description: 'Backward-compatible column count used when no typed layout metadata is authored.' },\n { path: 'layout', label: 'Layout', group: 'Layout', valueType: PropertyValueType.Object, editorKind: 'commandFormLayout', description: 'Typed command-form geometry: columns, gaps and field placements. Independent of auto/manual field generation.' },\n {\n path: 'widthSizeClass', label: 'Width size class', group: 'Layout', valueType: PropertyValueType.Enum, default: 'Regular',\n choices: [{ value: 'Regular', label: 'Regular' }, { value: 'Compact', label: 'Compact' }],\n description: 'The width size class the host evaluated. At Compact the fields of a manual form stack in one column in reading order.',\n },\n { path: 'fieldWidths', label: 'Legacy field widths', group: 'Layout', valueType: PropertyValueType.Object, editorKind: 'fieldWidths' },\n {\n path: 'inputs', label: 'Fields', group: 'Layout', valueType: PropertyValueType.Collection, editorKind: 'commandFields',\n acceptedBindingKinds: [BindingSourceKind.DataContext, BindingSourceKind.ComponentProperty],\n item: {\n label: 'Field',\n properties: [\n { path: 'property', label: 'Property', group: 'Field', valueType: PropertyValueType.String },\n { path: 'type', label: 'Type', group: 'Field', valueType: PropertyValueType.Enum, choices: [{ value: 'string', label: 'String' }, { value: 'guid', label: 'Guid' }] },\n { path: 'label', label: 'Label', group: 'Field', valueType: PropertyValueType.String },\n { path: 'column', label: 'Legacy column', group: 'Layout', valueType: PropertyValueType.Number },\n { path: 'width', label: 'Legacy width token', group: 'Layout', valueType: PropertyValueType.String },\n { path: 'placement', label: 'Placement', group: 'Layout', valueType: PropertyValueType.Object, editorKind: 'commandFormFieldPlacement' },\n ],\n },\n },\n {\n path: 'exclude', label: 'Excluded fields', group: 'Command', valueType: PropertyValueType.Collection,\n item: { label: 'Excluded field', properties: [{ path: 'property', label: 'Property', group: 'Field', valueType: PropertyValueType.String }] },\n },\n { path: 'submitLabel', label: 'Submit label', group: 'Content', valueType: PropertyValueType.String, default: 'Submit' },\n];\n\n/**\n * What can be edited on the `Cratis.Components` package's components.\n *\n * Only the query-bound tables are described so far; the form, dialog and editor composites carry\n * Arc proxy classes by name and are configured through their own tooling. A package adds a descriptor here the\n * same way it adds a component to the manifest.\n */\nconst toolbarButtonProperties: PropertyDescriptor[] = [\n { path: 'title', label: 'Label', group: 'Content', valueType: PropertyValueType.String, description: 'The accessible name and tooltip.' },\n { path: 'icon', label: 'Icon', group: 'Content', valueType: PropertyValueType.Icon, editorKind: 'icon' },\n { path: 'text', label: 'Text', group: 'Content', valueType: PropertyValueType.String, description: 'Short text shown instead of the icon.' },\n { path: 'active', label: 'Active', group: 'Presentation', valueType: PropertyValueType.Boolean, default: false },\n {\n path: 'tooltipPosition', label: 'Tooltip position', group: 'Presentation', valueType: PropertyValueType.Enum, default: 'right',\n choices: [{ value: 'top', label: 'Top' }, { value: 'right', label: 'Right' }, { value: 'bottom', label: 'Bottom' }, { value: 'left', label: 'Left' }],\n },\n {\n path: 'destination', label: 'Destination', group: 'Navigation', valueType: PropertyValueType.Destination,\n description: 'The screen, slice or dialog the button opens - executed by the enclosing navigation host.',\n },\n];\n\nexport const cratisComponentsDescriptors: ComponentDescriptor[] = [\n { component: key('dataTable'), displayName: 'Data table', properties: dataTableProperties },\n { component: key('table'), displayName: 'Table', properties: dataTableProperties },\n { component: key('observableDataTable'), displayName: 'Live data table', properties: dataTableProperties },\n {\n component: key('commandForm'),\n displayName: 'Command form',\n editorKind: 'commandFormDesigner',\n properties: commandFormProperties,\n actions: [{\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 },\n { component: key('toolbarButton'), displayName: 'Toolbar button', properties: toolbarButtonProperties },\n];\n"],"names":["key","name","componentRegistryKey","dataTableProperties","path","label","group","valueType","PropertyValueType","QueryReference","editorKind","description","constraints","required","resultShapes","QueryResultShape","Collection","String","default","Object","readOnly","output","bindingMode","BindingMode","OneWay","commandFormProperties","Enum","choices","value","Number","acceptedBindingKinds","BindingSourceKind","DataContext","ComponentProperty","item","properties","toolbarButtonProperties","Icon","Boolean","Destination","cratisComponentsDescriptors","component","displayName","actions","id","placement","DesignTimeActionPlacement","Toolbar","availability"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { ScenePackage } from '@cratis/scene.model';
2
1
  import { ScenePackageBundle } from '@cratis/scene.react';
3
- export declare const cratisComponentsPackageManifest: ScenePackage;
2
+ export { cratisComponentsPackageManifest } from './cratisComponentsPackageManifest';
4
3
  export declare const cratisComponentsPackage: ScenePackageBundle;
5
4
  //# sourceMappingURL=cratisComponentsPackage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cratisComponentsPackage.d.ts","sourceRoot":"","sources":["../../cratisComponentsPackage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA2BzD,eAAO,MAAM,+BAA+B,EAAE,YA+E7C,CAAC;AASF,eAAO,MAAM,uBAAuB,EAAE,kBAgBrC,CAAC"}
1
+ {"version":3,"file":"cratisComponentsPackage.d.ts","sourceRoot":"","sources":["../../cratisComponentsPackage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAIzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AASpF,eAAO,MAAM,uBAAuB,EAAE,kBAGrC,CAAC"}