@cratis/scene.primereact 4.21.0 → 4.22.1

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.
@@ -1,4 +1,4 @@
1
- import { PropertyValueType } from '@cratis/scene.model';
1
+ import { BindingSourceKind, PropertyValueType, PropertyEditorKind } from '@cratis/scene.model';
2
2
  import { componentRegistryKey } from '@cratis/scene.react';
3
3
  import { chartTypeChoices } from './chart/chartTypeChoices.js';
4
4
  import { legacyEnumerationChoices } from './legacyEnumerationChoices.js';
@@ -24,6 +24,167 @@ import { primeReactInputDescriptors } from './inputDescriptors.js';
24
24
  // Copyright (c) Cratis. All rights reserved.
25
25
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
26
26
  const key = (name)=>componentRegistryKey('PrimeReact', name);
27
+ /** Structured values keep accepting what a screen binds them to - a query's rows, a data context - as they did when they were any JSON. */ const bindable = [
28
+ BindingSourceKind.DataContext,
29
+ BindingSourceKind.QueryResult,
30
+ BindingSourceKind.ComponentProperty
31
+ ];
32
+ const choice = (...values)=>values.map((value)=>({
33
+ value,
34
+ label: value
35
+ }));
36
+ const text = (path, label, description)=>({
37
+ path,
38
+ label,
39
+ group: 'Content',
40
+ valueType: PropertyValueType.String,
41
+ ...description ? {
42
+ description
43
+ } : {}
44
+ });
45
+ const flag = (path, label, description)=>({
46
+ path,
47
+ label,
48
+ group: 'Content',
49
+ valueType: PropertyValueType.Boolean,
50
+ ...{}
51
+ });
52
+ const numeric = (path, label, description)=>({
53
+ path,
54
+ label,
55
+ group: 'Content',
56
+ valueType: PropertyValueType.Number,
57
+ ...description ? {
58
+ description
59
+ } : {}
60
+ });
61
+ const list = (path, label, editorKind, description)=>({
62
+ path,
63
+ label,
64
+ group: 'Content',
65
+ valueType: PropertyValueType.Json,
66
+ editorKind,
67
+ ...description ? {
68
+ description
69
+ } : {}
70
+ });
71
+ /** The Chart.js data object: its labels and its datasets, with the fields of a dataset that authors set most. Anything else a dataset carries is kept. */ const chartData = [
72
+ list('labels', 'Labels', PropertyEditorKind.StringList, 'One label for each point of every dataset, in order.'),
73
+ {
74
+ path: 'datasets',
75
+ label: 'Datasets',
76
+ group: 'Content',
77
+ valueType: PropertyValueType.Collection,
78
+ item: {
79
+ label: 'Dataset',
80
+ open: true,
81
+ positional: true,
82
+ properties: [
83
+ text('label', 'Label'),
84
+ list('data', 'Values', PropertyEditorKind.NumberList, 'One value for each label, in order.'),
85
+ list('backgroundColor', 'Fill colour', PropertyEditorKind.StringOrList, 'One CSS colour for the whole dataset, or one for each point.'),
86
+ list('borderColor', 'Border colour', PropertyEditorKind.StringOrList, 'One CSS colour for the whole dataset, or one for each point.'),
87
+ numeric('borderWidth', 'Border width'),
88
+ flag('fill', 'Fill under the line'),
89
+ numeric('tension', 'Line tension', 'How much a line curves between points: 0 is straight.')
90
+ ]
91
+ }
92
+ }
93
+ ];
94
+ /** The Chart.js options authors set most; any other option the stored value carries is kept. */ const chartOptions = [
95
+ flag('responsive', 'Responsive'),
96
+ flag('maintainAspectRatio', 'Keep the aspect ratio'),
97
+ numeric('aspectRatio', 'Aspect ratio', 'Width divided by height.'),
98
+ {
99
+ path: 'indexAxis',
100
+ label: 'Index axis',
101
+ group: 'Content',
102
+ valueType: PropertyValueType.Enum,
103
+ choices: choice('x', 'y'),
104
+ description: 'The axis the labels run along; y draws horizontal bars.'
105
+ },
106
+ {
107
+ path: 'plugins',
108
+ label: 'Plugins',
109
+ group: 'Content',
110
+ valueType: PropertyValueType.Object,
111
+ open: true,
112
+ properties: [
113
+ {
114
+ path: 'legend',
115
+ label: 'Legend',
116
+ group: 'Content',
117
+ valueType: PropertyValueType.Object,
118
+ open: true,
119
+ properties: [
120
+ flag('display', 'Show the legend'),
121
+ {
122
+ path: 'position',
123
+ label: 'Position',
124
+ group: 'Content',
125
+ valueType: PropertyValueType.Enum,
126
+ choices: choice('top', 'left', 'bottom', 'right')
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ path: 'title',
132
+ label: 'Title',
133
+ group: 'Content',
134
+ valueType: PropertyValueType.Object,
135
+ open: true,
136
+ properties: [
137
+ flag('display', 'Show the title'),
138
+ text('text', 'Text')
139
+ ]
140
+ }
141
+ ]
142
+ }
143
+ ];
144
+ /** The CSS sizes that shape the surface a chart is drawn on. */ const chartStyle = [
145
+ 'width',
146
+ 'height',
147
+ 'minWidth',
148
+ 'minHeight',
149
+ 'maxWidth',
150
+ 'maxHeight'
151
+ ].map((name)=>text(name, name.replace(/([A-Z])/g, ' $1').replace(/^./, (first)=>first.toUpperCase()), 'A CSS length such as 320px or 100%.'));
152
+ /**
153
+ * A tree node: the fields of Scene's tree model. Children are the same shape; the description goes as deep as a tree is authored by hand,
154
+ * and a node below that keeps its own children without editing them.
155
+ */ function treeNode(depth) {
156
+ const fields = [
157
+ text('key', 'Key', 'Identity across the whole tree. Derived from the node\'s position when it is not set.'),
158
+ text('label', 'Label'),
159
+ text('icon', 'Icon', 'A PrimeIcons class name such as pi pi-folder.'),
160
+ flag('leaf', 'Leaf'),
161
+ flag('expanded', 'Expanded'),
162
+ flag('selectable', 'Selectable'),
163
+ {
164
+ path: 'data',
165
+ label: 'Data',
166
+ group: 'Content',
167
+ valueType: PropertyValueType.Object,
168
+ editorKind: PropertyEditorKind.StringMap,
169
+ description: 'The values the node shows, under the field names the columns use.'
170
+ }
171
+ ];
172
+ if (depth > 0) {
173
+ fields.push({
174
+ path: 'children',
175
+ label: 'Children',
176
+ group: 'Content',
177
+ valueType: PropertyValueType.Collection,
178
+ item: {
179
+ label: 'Node',
180
+ open: true,
181
+ positional: true,
182
+ properties: treeNode(depth - 1)
183
+ }
184
+ });
185
+ }
186
+ return fields;
187
+ }
27
188
  /** Design-time descriptors for PrimeReact controls whose authored data has structured configuration. */ const primeReactDescriptors = [
28
189
  ...primeReactInputDescriptors,
29
190
  {
@@ -43,15 +204,21 @@ const key = (name)=>componentRegistryKey('PrimeReact', name);
43
204
  path: 'data',
44
205
  label: 'Data',
45
206
  group: 'Data',
46
- valueType: PropertyValueType.Json,
207
+ valueType: PropertyValueType.Object,
208
+ open: true,
209
+ properties: chartData,
210
+ acceptedBindingKinds: bindable,
47
211
  description: 'The Chart.js data object, including labels and datasets in their authored order.'
48
212
  },
49
213
  {
50
214
  path: 'options',
51
215
  label: 'Options',
52
216
  group: 'Chart',
53
- valueType: PropertyValueType.Json,
54
- description: 'The Chart.js options object.'
217
+ valueType: PropertyValueType.Object,
218
+ open: true,
219
+ properties: chartOptions,
220
+ acceptedBindingKinds: bindable,
221
+ description: 'The Chart.js options object. The options listed here are the ones authors set most; any other option it holds is kept.'
55
222
  },
56
223
  {
57
224
  path: 'emptyLabel',
@@ -72,7 +239,10 @@ const key = (name)=>componentRegistryKey('PrimeReact', name);
72
239
  path: 'style',
73
240
  label: 'Style',
74
241
  group: 'Layout',
75
- valueType: PropertyValueType.Json,
242
+ valueType: PropertyValueType.Object,
243
+ open: true,
244
+ properties: chartStyle,
245
+ acceptedBindingKinds: bindable,
76
246
  description: 'The CSS style object applied to the chart surface.'
77
247
  },
78
248
  {
@@ -155,7 +325,8 @@ const key = (name)=>componentRegistryKey('PrimeReact', name);
155
325
  label: 'Items',
156
326
  group: 'Data',
157
327
  valueType: PropertyValueType.Json,
158
- description: 'Strings, numbers or records. A record is titled by its label, title, name, text or header field.'
328
+ editorKind: PropertyEditorKind.StringList,
329
+ description: 'The text of each item, in order. A record is titled by its label, title, name, text or header field; records authored in a file are kept but not edited here.'
159
330
  },
160
331
  {
161
332
  path: 'rows',
@@ -210,15 +381,33 @@ const key = (name)=>componentRegistryKey('PrimeReact', name);
210
381
  path: 'columns',
211
382
  label: 'Columns',
212
383
  group: 'Data',
213
- valueType: PropertyValueType.Json,
214
- description: 'Column definitions with field and header, or nested column elements. Inferred from the first row when absent.'
384
+ valueType: PropertyValueType.Collection,
385
+ acceptedBindingKinds: bindable,
386
+ description: 'Column definitions with field and header, or nested column elements. Inferred from the first row when absent.',
387
+ item: {
388
+ label: 'Column',
389
+ open: true,
390
+ positional: true,
391
+ properties: [
392
+ text('field', 'Field', 'The name in a node\'s data that the column shows.'),
393
+ text('header', 'Header', 'The column heading. The field name when it is not set.'),
394
+ flag('sortable', 'Sortable')
395
+ ]
396
+ }
215
397
  },
216
398
  {
217
399
  path: 'items',
218
400
  label: 'Items',
219
401
  group: 'Data',
220
- valueType: PropertyValueType.Json,
221
- description: 'The nodes: strings, numbers, or records with key, label, data, children, expanded and selectable.'
402
+ valueType: PropertyValueType.Collection,
403
+ item: {
404
+ label: 'Node',
405
+ open: true,
406
+ positional: true,
407
+ properties: treeNode(3)
408
+ },
409
+ acceptedBindingKinds: bindable,
410
+ description: 'The nodes: records with key, label, data, children, expanded and selectable.'
222
411
  },
223
412
  {
224
413
  path: 'selectionMode',
@@ -238,7 +427,8 @@ const key = (name)=>componentRegistryKey('PrimeReact', name);
238
427
  label: 'Selection',
239
428
  group: 'Behavior',
240
429
  valueType: PropertyValueType.Json,
241
- description: 'The selected node keys: a key, an array of keys or { key } objects, or PrimeReact\'s key map.'
430
+ editorKind: PropertyEditorKind.StringOrList,
431
+ description: 'The key of the selected node, or the keys of the selected nodes.'
242
432
  },
243
433
  {
244
434
  path: 'paginator',
@@ -322,14 +512,26 @@ const key = (name)=>componentRegistryKey('PrimeReact', name);
322
512
  label: 'Value',
323
513
  group: 'State',
324
514
  valueType: PropertyValueType.Json,
325
- description: 'The selected value. It may be null when the empty state is enabled.'
515
+ editorKind: PropertyEditorKind.Scalar,
516
+ description: 'The selected value: a word, a number or a flag. Not set when the empty state is selected.'
326
517
  },
327
518
  {
328
519
  path: 'options',
329
520
  label: 'Options',
330
521
  group: 'State',
331
- valueType: PropertyValueType.Json,
332
- description: 'The ordered state options. Each may provide label, value, and icon fields.'
522
+ valueType: PropertyValueType.Collection,
523
+ acceptedBindingKinds: bindable,
524
+ description: 'The ordered state options. Each may provide label, value, and icon fields.',
525
+ item: {
526
+ label: 'State',
527
+ open: true,
528
+ positional: true,
529
+ properties: [
530
+ text('label', 'Label'),
531
+ text('value', 'Value'),
532
+ text('icon', 'Icon', 'A PrimeIcons class name such as pi pi-check.')
533
+ ]
534
+ }
333
535
  },
334
536
  {
335
537
  path: 'optionLabel',
@@ -364,7 +566,8 @@ const key = (name)=>componentRegistryKey('PrimeReact', name);
364
566
  label: 'Icons',
365
567
  group: 'Appearance',
366
568
  valueType: PropertyValueType.Json,
367
- description: 'Icons aligned with the options, or keyed by their values. Each is a PrimeIcons class name or a qualified icon reference. Icons inside this value are not tracked by the icon library diagnostics; use the empty state icon where a tracked icon is needed.'
569
+ editorKind: PropertyEditorKind.StringList,
570
+ description: 'One icon for each option, in the order of the options. Each is a PrimeIcons class name or a qualified icon reference. Icons inside this value are not tracked by the icon library diagnostics; use the empty state icon where a tracked icon is needed.'
368
571
  },
369
572
  {
370
573
  path: 'emptyIcon',
@@ -1 +1 @@
1
- {"version":3,"file":"primeReactDescriptors.js","sources":["../../primeReactDescriptors.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ComponentDescriptor, PropertyValueType } from '@cratis/scene.model';\nimport { componentRegistryKey } from '@cratis/scene.react';\nimport { chartTypeChoices } from './chart/chartTypeChoices';\nimport { legacyEnumerationChoices } from './legacyEnumerationChoices';\nimport { ChartType } from './chart';\nimport { TreeTableSelectionMode } from './data';\nimport { FileUploadMode } from './file';\nimport { primeReactInputDescriptors } from './inputDescriptors';\n\nconst key = (name: string) => componentRegistryKey('PrimeReact', name);\n\n/** Design-time descriptors for PrimeReact controls whose authored data has structured configuration. */\nexport const primeReactDescriptors: ComponentDescriptor[] = [\n ...primeReactInputDescriptors,\n {\n component: key('chart'),\n displayName: 'Chart',\n description: 'A Chart.js chart. Legacy numeric types are rendered without changing stored data; new documents use stable type names. The host application must install chart.js.',\n properties: [\n {\n path: 'type', label: 'Type', group: 'Chart', valueType: PropertyValueType.Enum, default: ChartType.Bar,\n choices: chartTypeChoices,\n },\n { path: 'data', label: 'Data', group: 'Data', valueType: PropertyValueType.Json, description: 'The Chart.js data object, including labels and datasets in their authored order.' },\n { path: 'options', label: 'Options', group: 'Chart', valueType: PropertyValueType.Json, description: 'The Chart.js options object.' },\n { path: 'emptyLabel', label: 'No data label', group: 'Accessibility', valueType: PropertyValueType.String, default: 'No chart data', description: 'Shown instead of the chart while it has no data points. Data is never invented.' },\n { path: 'responsive', label: 'Responsive', group: 'Layout', valueType: PropertyValueType.Boolean, default: true },\n { path: 'style', label: 'Style', group: 'Layout', valueType: PropertyValueType.Json, description: 'The CSS style object applied to the chart surface.' },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('fileUpload'),\n displayName: 'File upload',\n description: 'An accessible file picker and drop zone. A host provides its upload effect, or the files are posted to the authored server URL. The URL must be on the page\\'s own origin unless the host allows another one.',\n properties: [\n {\n path: 'mode', label: 'Mode', group: 'Behavior', valueType: PropertyValueType.Enum, default: FileUploadMode.Advanced,\n choices: legacyEnumerationChoices(FileUploadMode, { [FileUploadMode.Advanced]: 'Advanced', [FileUploadMode.Basic]: 'Basic', [FileUploadMode.Auto]: 'Automatic' }),\n },\n { path: 'url', label: 'Server URL', group: 'Upload', valueType: PropertyValueType.String, description: 'Where the files are posted. Only the origin of the page, or an origin the host allows, is accepted; anything else is refused and nothing is sent.' },\n { path: 'name', label: 'Request field name', group: 'Upload', valueType: PropertyValueType.String, default: 'files' },\n { path: 'accept', label: 'Accepted MIME types', group: 'Upload', valueType: PropertyValueType.String },\n { path: 'multiple', label: 'Allow multiple files', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'maxFileSize', label: 'Maximum file size', group: 'Upload', valueType: PropertyValueType.Number, constraints: { minimum: 0, integer: true } },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('dataScroller'),\n displayName: 'Data scroller',\n description: 'A list that loads a chunk at a time as its end is reached. Items are strings, numbers or records, plus any child elements in the items slot; serialized legacy UI elements are refused.',\n properties: [\n { path: 'items', label: 'Items', group: 'Data', valueType: PropertyValueType.Json, description: 'Strings, numbers or records. A record is titled by its label, title, name, text or header field.' },\n { path: 'rows', label: 'Rows per load', group: 'Behavior', valueType: PropertyValueType.Number, default: 10, constraints: { minimum: 1, integer: true } },\n { path: 'inline', label: 'Scroll inline', group: 'Layout', valueType: PropertyValueType.Boolean, default: false, description: 'Scroll inside the control (true) or load as the page scrolls the end of the list into view (false).' },\n { path: 'scrollHeight', label: 'Inline scroll height', group: 'Layout', valueType: PropertyValueType.Number, constraints: { minimum: 1 }, description: 'The height in pixels of an inline scroller. 320 when omitted.' },\n { path: 'emptyLabel', label: 'No items label', group: 'Accessibility', valueType: PropertyValueType.String, default: 'No items to show' },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('treeTable'),\n displayName: 'Tree table',\n description: 'A hierarchical table with authored columns, selection, and optional pagination. Items are nodes (strings, numbers or records with key, label, data, children); serialized legacy UI elements are refused.',\n properties: [\n { path: 'columns', label: 'Columns', group: 'Data', valueType: PropertyValueType.Json, description: 'Column definitions with field and header, or nested column elements. Inferred from the first row when absent.' },\n { path: 'items', label: 'Items', group: 'Data', valueType: PropertyValueType.Json, description: 'The nodes: strings, numbers, or records with key, label, data, children, expanded and selectable.' },\n {\n path: 'selectionMode', label: 'Selection mode', group: 'Behavior', valueType: PropertyValueType.Enum, default: TreeTableSelectionMode.None,\n choices: legacyEnumerationChoices(TreeTableSelectionMode, { [TreeTableSelectionMode.None]: 'None', [TreeTableSelectionMode.Single]: 'Single', [TreeTableSelectionMode.Multiple]: 'Multiple', [TreeTableSelectionMode.Checkbox]: 'Checkbox' }),\n },\n { path: 'selection', label: 'Selection', group: 'Behavior', valueType: PropertyValueType.Json, description: 'The selected node keys: a key, an array of keys or { key } objects, or PrimeReact\\'s key map.' },\n { path: 'paginator', label: 'Show pagination', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'rows', label: 'Rows per page', group: 'Behavior', valueType: PropertyValueType.Number, default: 10, constraints: { minimum: 1, integer: true } },\n { path: 'emptyLabel', label: 'No records label', group: 'Accessibility', valueType: PropertyValueType.String, default: 'No records found' },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('editor'),\n displayName: 'Rich text editor',\n description: 'A rich-text HTML editor. Editing needs the host to provide Quill (QuillLoaderProvider); without it the content is shown read-only. The HTML is sanitized before it is shown.',\n properties: [\n { path: 'value', label: 'HTML value', group: 'Content', valueType: PropertyValueType.String },\n { path: 'placeholder', label: 'Placeholder', group: 'Content', valueType: PropertyValueType.String },\n { path: 'showHeader', label: 'Show toolbar', group: 'Behavior', valueType: PropertyValueType.Boolean, default: true },\n { path: 'readOnly', label: 'Read only', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('multiStateCheckbox'),\n displayName: 'Multi-state checkbox',\n description: 'An accessible button that cycles through its authored states in order, showing the current state as a checkbox-style glyph.',\n properties: [\n { path: 'value', label: 'Value', group: 'State', valueType: PropertyValueType.Json, description: 'The selected value. It may be null when the empty state is enabled.' },\n { path: 'options', label: 'Options', group: 'State', valueType: PropertyValueType.Json, description: 'The ordered state options. Each may provide label, value, and icon fields.' },\n { path: 'optionLabel', label: 'Option label field', group: 'State', valueType: PropertyValueType.String, default: 'label' },\n { path: 'optionValue', label: 'Option value field', group: 'State', valueType: PropertyValueType.String, default: 'value' },\n { path: 'empty', label: 'Allow empty state', group: 'State', valueType: PropertyValueType.Boolean, default: true },\n { path: 'emptyLabel', label: 'Empty state label', group: 'Accessibility', valueType: PropertyValueType.String, default: 'No selection' },\n { path: 'icons', label: 'Icons', group: 'Appearance', valueType: PropertyValueType.Json, description: 'Icons aligned with the options, or keyed by their values. Each is a PrimeIcons class name or a qualified icon reference. Icons inside this value are not tracked by the icon library diagnostics; use the empty state icon where a tracked icon is needed.' },\n { path: 'emptyIcon', label: 'Empty state icon', group: 'Appearance', valueType: PropertyValueType.Icon },\n { path: 'readOnly', label: 'Read only', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'disabled', label: 'Disabled', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n];\n"],"names":["key","name","componentRegistryKey","primeReactDescriptors","primeReactInputDescriptors","component","displayName","description","properties","path","label","group","valueType","PropertyValueType","Enum","default","ChartType","Bar","choices","chartTypeChoices","Json","String","Boolean","FileUploadMode","Advanced","legacyEnumerationChoices","Basic","Auto","Number","constraints","minimum","integer","TreeTableSelectionMode","None","Single","Multiple","Checkbox","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAWA,MAAMA,GAAAA,GAAM,CAACC,IAAAA,GAAiBC,oBAAAA,CAAqB,YAAA,EAAcD,IAAAA,CAAAA;AAEjE,yGACO,MAAME,qBAAAA,GAA+C;AACrDC,IAAAA,GAAAA,0BAAAA;AACH,IAAA;AACIC,QAAAA,SAAAA,EAAWL,GAAAA,CAAI,OAAA,CAAA;QACfM,WAAAA,EAAa,OAAA;QACbC,WAAAA,EAAa,oKAAA;QACbC,UAAAA,EAAY;AACR,YAAA;gBACIC,IAAAA,EAAM,MAAA;gBAAQC,KAAAA,EAAO,MAAA;gBAAQC,KAAAA,EAAO,OAAA;AAASC,gBAAAA,SAAAA,EAAWC,kBAAkBC,IAAI;AAAEC,gBAAAA,OAAAA,EAASC,UAAUC,GAAG;gBACtGC,OAAAA,EAASC;AACb,aAAA;AACA,YAAA;gBAAEV,IAAAA,EAAM,MAAA;gBAAQC,KAAAA,EAAO,MAAA;gBAAQC,KAAAA,EAAO,MAAA;AAAQC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAAmF,aAAA;AACjL,YAAA;gBAAEE,IAAAA,EAAM,SAAA;gBAAWC,KAAAA,EAAO,SAAA;gBAAWC,KAAAA,EAAO,OAAA;AAASC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAA+B,aAAA;AACpI,YAAA;gBAAEE,IAAAA,EAAM,YAAA;gBAAcC,KAAAA,EAAO,eAAA;gBAAiBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEN,OAAAA,EAAS,eAAA;gBAAiBR,WAAAA,EAAa;AAAkF,aAAA;AACpO,YAAA;gBAAEE,IAAAA,EAAM,YAAA;gBAAcC,KAAAA,EAAO,YAAA;gBAAcC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAK,aAAA;AAChH,YAAA;gBAAEN,IAAAA,EAAM,OAAA;gBAASC,KAAAA,EAAO,OAAA;gBAASC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAAqD,aAAA;AACvJ,YAAA;gBAAEE,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,iBAAA;gBAAmBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO;AAC9G;AACL,KAAA;AACA,IAAA;AACIhB,QAAAA,SAAAA,EAAWL,GAAAA,CAAI,YAAA,CAAA;QACfM,WAAAA,EAAa,aAAA;QACbC,WAAAA,EAAa,+MAAA;QACbC,UAAAA,EAAY;AACR,YAAA;gBACIC,IAAAA,EAAM,MAAA;gBAAQC,KAAAA,EAAO,MAAA;gBAAQC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBC,IAAI;AAAEC,gBAAAA,OAAAA,EAASQ,eAAeC,QAAQ;AACnHN,gBAAAA,OAAAA,EAASO,yBAAyBF,cAAAA,EAAgB;oBAAE,CAACA,cAAAA,CAAeC,QAAQ,GAAG,UAAA;oBAAY,CAACD,cAAAA,CAAeG,KAAK,GAAG,OAAA;oBAAS,CAACH,cAAAA,CAAeI,IAAI,GAAG;AAAY,iBAAA;AACnK,aAAA;AACA,YAAA;gBAAElB,IAAAA,EAAM,KAAA;gBAAOC,KAAAA,EAAO,YAAA;gBAAcC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEd,WAAAA,EAAa;AAAoJ,aAAA;AAC3P,YAAA;gBAAEE,IAAAA,EAAM,MAAA;gBAAQC,KAAAA,EAAO,oBAAA;gBAAsBC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEN,OAAAA,EAAS;AAAQ,aAAA;AACpH,YAAA;gBAAEN,IAAAA,EAAM,QAAA;gBAAUC,KAAAA,EAAO,qBAAA;gBAAuBC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO,aAAA;AACrG,YAAA;gBAAEZ,IAAAA,EAAM,UAAA;gBAAYC,KAAAA,EAAO,sBAAA;gBAAwBC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAM,aAAA;AAC3H,YAAA;gBAAEN,IAAAA,EAAM,aAAA;gBAAeC,KAAAA,EAAO,mBAAA;gBAAqBC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBe,MAAM;gBAAEC,WAAAA,EAAa;oBAAEC,OAAAA,EAAS,CAAA;oBAAGC,OAAAA,EAAS;AAAK;AAAE,aAAA;AACpJ,YAAA;gBAAEtB,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,iBAAA;gBAAmBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO;AAC9G;AACL,KAAA;AACA,IAAA;AACIhB,QAAAA,SAAAA,EAAWL,GAAAA,CAAI,cAAA,CAAA;QACfM,WAAAA,EAAa,eAAA;QACbC,WAAAA,EAAa,yLAAA;QACbC,UAAAA,EAAY;AACR,YAAA;gBAAEC,IAAAA,EAAM,OAAA;gBAASC,KAAAA,EAAO,OAAA;gBAASC,KAAAA,EAAO,MAAA;AAAQC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAAmG,aAAA;AACnM,YAAA;gBAAEE,IAAAA,EAAM,MAAA;gBAAQC,KAAAA,EAAO,eAAA;gBAAiBC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBe,MAAM;gBAAEb,OAAAA,EAAS,EAAA;gBAAIc,WAAAA,EAAa;oBAAEC,OAAAA,EAAS,CAAA;oBAAGC,OAAAA,EAAS;AAAK;AAAE,aAAA;AACxJ,YAAA;gBAAEtB,IAAAA,EAAM,QAAA;gBAAUC,KAAAA,EAAO,eAAA;gBAAiBC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS,KAAA;gBAAOR,WAAAA,EAAa;AAAsG,aAAA;AACpO,YAAA;gBAAEE,IAAAA,EAAM,cAAA;gBAAgBC,KAAAA,EAAO,sBAAA;gBAAwBC,KAAAA,EAAO,QAAA;AAAUC,gBAAAA,SAAAA,EAAWC,kBAAkBe,MAAM;gBAAEC,WAAAA,EAAa;oBAAEC,OAAAA,EAAS;AAAE,iBAAA;gBAAGvB,WAAAA,EAAa;AAAgE,aAAA;AACvN,YAAA;gBAAEE,IAAAA,EAAM,YAAA;gBAAcC,KAAAA,EAAO,gBAAA;gBAAkBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEN,OAAAA,EAAS;AAAmB,aAAA;AACxI,YAAA;gBAAEN,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,iBAAA;gBAAmBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO;AAC9G;AACL,KAAA;AACA,IAAA;AACIhB,QAAAA,SAAAA,EAAWL,GAAAA,CAAI,WAAA,CAAA;QACfM,WAAAA,EAAa,YAAA;QACbC,WAAAA,EAAa,2MAAA;QACbC,UAAAA,EAAY;AACR,YAAA;gBAAEC,IAAAA,EAAM,SAAA;gBAAWC,KAAAA,EAAO,SAAA;gBAAWC,KAAAA,EAAO,MAAA;AAAQC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAAgH,aAAA;AACpN,YAAA;gBAAEE,IAAAA,EAAM,OAAA;gBAASC,KAAAA,EAAO,OAAA;gBAASC,KAAAA,EAAO,MAAA;AAAQC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAAoG,aAAA;AACpM,YAAA;gBACIE,IAAAA,EAAM,eAAA;gBAAiBC,KAAAA,EAAO,gBAAA;gBAAkBC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBC,IAAI;AAAEC,gBAAAA,OAAAA,EAASiB,uBAAuBC,IAAI;AAC1If,gBAAAA,OAAAA,EAASO,yBAAyBO,sBAAAA,EAAwB;oBAAE,CAACA,sBAAAA,CAAuBC,IAAI,GAAG,MAAA;oBAAQ,CAACD,sBAAAA,CAAuBE,MAAM,GAAG,QAAA;oBAAU,CAACF,sBAAAA,CAAuBG,QAAQ,GAAG,UAAA;oBAAY,CAACH,sBAAAA,CAAuBI,QAAQ,GAAG;AAAW,iBAAA;AAC/O,aAAA;AACA,YAAA;gBAAE3B,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,WAAA;gBAAaC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAAgG,aAAA;AAC5M,YAAA;gBAAEE,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,iBAAA;gBAAmBC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAM,aAAA;AACvH,YAAA;gBAAEN,IAAAA,EAAM,MAAA;gBAAQC,KAAAA,EAAO,eAAA;gBAAiBC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBe,MAAM;gBAAEb,OAAAA,EAAS,EAAA;gBAAIc,WAAAA,EAAa;oBAAEC,OAAAA,EAAS,CAAA;oBAAGC,OAAAA,EAAS;AAAK;AAAE,aAAA;AACxJ,YAAA;gBAAEtB,IAAAA,EAAM,YAAA;gBAAcC,KAAAA,EAAO,kBAAA;gBAAoBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEN,OAAAA,EAAS;AAAmB,aAAA;AAC1I,YAAA;gBAAEN,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,iBAAA;gBAAmBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO;AAC9G;AACL,KAAA;AACA,IAAA;AACIhB,QAAAA,SAAAA,EAAWL,GAAAA,CAAI,QAAA,CAAA;QACfM,WAAAA,EAAa,kBAAA;QACbC,WAAAA,EAAa,8KAAA;QACbC,UAAAA,EAAY;AACR,YAAA;gBAAEC,IAAAA,EAAM,OAAA;gBAASC,KAAAA,EAAO,YAAA;gBAAcC,KAAAA,EAAO,SAAA;AAAWC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO,aAAA;AAC5F,YAAA;gBAAEZ,IAAAA,EAAM,aAAA;gBAAeC,KAAAA,EAAO,aAAA;gBAAeC,KAAAA,EAAO,SAAA;AAAWC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO,aAAA;AACnG,YAAA;gBAAEZ,IAAAA,EAAM,YAAA;gBAAcC,KAAAA,EAAO,cAAA;gBAAgBC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAK,aAAA;AACpH,YAAA;gBAAEN,IAAAA,EAAM,UAAA;gBAAYC,KAAAA,EAAO,WAAA;gBAAaC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAM,aAAA;AAChH,YAAA;gBAAEN,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,iBAAA;gBAAmBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO;AAC9G;AACL,KAAA;AACA,IAAA;AACIhB,QAAAA,SAAAA,EAAWL,GAAAA,CAAI,oBAAA,CAAA;QACfM,WAAAA,EAAa,sBAAA;QACbC,WAAAA,EAAa,6HAAA;QACbC,UAAAA,EAAY;AACR,YAAA;gBAAEC,IAAAA,EAAM,OAAA;gBAASC,KAAAA,EAAO,OAAA;gBAASC,KAAAA,EAAO,OAAA;AAASC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAAsE,aAAA;AACvK,YAAA;gBAAEE,IAAAA,EAAM,SAAA;gBAAWC,KAAAA,EAAO,SAAA;gBAAWC,KAAAA,EAAO,OAAA;AAASC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAA6E,aAAA;AAClL,YAAA;gBAAEE,IAAAA,EAAM,aAAA;gBAAeC,KAAAA,EAAO,oBAAA;gBAAsBC,KAAAA,EAAO,OAAA;AAASC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEN,OAAAA,EAAS;AAAQ,aAAA;AAC1H,YAAA;gBAAEN,IAAAA,EAAM,aAAA;gBAAeC,KAAAA,EAAO,oBAAA;gBAAsBC,KAAAA,EAAO,OAAA;AAASC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEN,OAAAA,EAAS;AAAQ,aAAA;AAC1H,YAAA;gBAAEN,IAAAA,EAAM,OAAA;gBAASC,KAAAA,EAAO,mBAAA;gBAAqBC,KAAAA,EAAO,OAAA;AAASC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAK,aAAA;AACjH,YAAA;gBAAEN,IAAAA,EAAM,YAAA;gBAAcC,KAAAA,EAAO,mBAAA;gBAAqBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ,MAAM;gBAAEN,OAAAA,EAAS;AAAe,aAAA;AACvI,YAAA;gBAAEN,IAAAA,EAAM,OAAA;gBAASC,KAAAA,EAAO,OAAA;gBAASC,KAAAA,EAAO,YAAA;AAAcC,gBAAAA,SAAAA,EAAWC,kBAAkBO,IAAI;gBAAEb,WAAAA,EAAa;AAA6P,aAAA;AACnW,YAAA;gBAAEE,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,kBAAA;gBAAoBC,KAAAA,EAAO,YAAA;AAAcC,gBAAAA,SAAAA,EAAWC,kBAAkBwB;AAAK,aAAA;AACvG,YAAA;gBAAE5B,IAAAA,EAAM,UAAA;gBAAYC,KAAAA,EAAO,WAAA;gBAAaC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAM,aAAA;AAChH,YAAA;gBAAEN,IAAAA,EAAM,UAAA;gBAAYC,KAAAA,EAAO,UAAA;gBAAYC,KAAAA,EAAO,UAAA;AAAYC,gBAAAA,SAAAA,EAAWC,kBAAkBS,OAAO;gBAAEP,OAAAA,EAAS;AAAM,aAAA;AAC/G,YAAA;gBAAEN,IAAAA,EAAM,WAAA;gBAAaC,KAAAA,EAAO,iBAAA;gBAAmBC,KAAAA,EAAO,eAAA;AAAiBC,gBAAAA,SAAAA,EAAWC,kBAAkBQ;AAAO;AAC9G;AACL;;;"}
1
+ {"version":3,"file":"primeReactDescriptors.js","sources":["../../primeReactDescriptors.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { BindingSourceKind, ComponentDescriptor, PropertyDescriptor, PropertyEditorKind, PropertyValueType } from '@cratis/scene.model';\nimport { componentRegistryKey } from '@cratis/scene.react';\nimport { chartTypeChoices } from './chart/chartTypeChoices';\nimport { legacyEnumerationChoices } from './legacyEnumerationChoices';\nimport { ChartType } from './chart';\nimport { TreeTableSelectionMode } from './data';\nimport { FileUploadMode } from './file';\nimport { primeReactInputDescriptors } from './inputDescriptors';\n\nconst key = (name: string) => componentRegistryKey('PrimeReact', name);\n\n/** Structured values keep accepting what a screen binds them to - a query's rows, a data context - as they did when they were any JSON. */\nconst bindable = [BindingSourceKind.DataContext, BindingSourceKind.QueryResult, BindingSourceKind.ComponentProperty];\nconst choice = (...values: string[]) => values.map(value => ({ value, label: value }));\nconst text = (path: string, label: string, description?: string): PropertyDescriptor => ({ path, label, group: 'Content', valueType: PropertyValueType.String, ...(description ? { description } : {}) });\nconst flag = (path: string, label: string, description?: string): PropertyDescriptor => ({ path, label, group: 'Content', valueType: PropertyValueType.Boolean, ...(description ? { description } : {}) });\nconst numeric = (path: string, label: string, description?: string): PropertyDescriptor => ({ path, label, group: 'Content', valueType: PropertyValueType.Number, ...(description ? { description } : {}) });\nconst list = (path: string, label: string, editorKind: PropertyEditorKind, description?: string): PropertyDescriptor => ({ path, label, group: 'Content', valueType: PropertyValueType.Json, editorKind, ...(description ? { description } : {}) });\n\n/** The Chart.js data object: its labels and its datasets, with the fields of a dataset that authors set most. Anything else a dataset carries is kept. */\nconst chartData: PropertyDescriptor['properties'] = [\n list('labels', 'Labels', PropertyEditorKind.StringList, 'One label for each point of every dataset, in order.'),\n {\n path: 'datasets', label: 'Datasets', group: 'Content', valueType: PropertyValueType.Collection,\n item: {\n label: 'Dataset',\n open: true,\n positional: true,\n properties: [\n text('label', 'Label'),\n list('data', 'Values', PropertyEditorKind.NumberList, 'One value for each label, in order.'),\n list('backgroundColor', 'Fill colour', PropertyEditorKind.StringOrList, 'One CSS colour for the whole dataset, or one for each point.'),\n list('borderColor', 'Border colour', PropertyEditorKind.StringOrList, 'One CSS colour for the whole dataset, or one for each point.'),\n numeric('borderWidth', 'Border width'),\n flag('fill', 'Fill under the line'),\n numeric('tension', 'Line tension', 'How much a line curves between points: 0 is straight.'),\n ],\n },\n },\n];\n\n/** The Chart.js options authors set most; any other option the stored value carries is kept. */\nconst chartOptions: PropertyDescriptor['properties'] = [\n flag('responsive', 'Responsive'),\n flag('maintainAspectRatio', 'Keep the aspect ratio'),\n numeric('aspectRatio', 'Aspect ratio', 'Width divided by height.'),\n { path: 'indexAxis', label: 'Index axis', group: 'Content', valueType: PropertyValueType.Enum, choices: choice('x', 'y'), description: 'The axis the labels run along; y draws horizontal bars.' },\n {\n path: 'plugins', label: 'Plugins', group: 'Content', valueType: PropertyValueType.Object, open: true,\n properties: [\n {\n path: 'legend', label: 'Legend', group: 'Content', valueType: PropertyValueType.Object, open: true,\n properties: [flag('display', 'Show the legend'), { path: 'position', label: 'Position', group: 'Content', valueType: PropertyValueType.Enum, choices: choice('top', 'left', 'bottom', 'right') }],\n },\n {\n path: 'title', label: 'Title', group: 'Content', valueType: PropertyValueType.Object, open: true,\n properties: [flag('display', 'Show the title'), text('text', 'Text')],\n },\n ],\n },\n];\n\n/** The CSS sizes that shape the surface a chart is drawn on. */\nconst chartStyle: PropertyDescriptor['properties'] = ['width', 'height', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight'].map(name => text(name, name.replace(/([A-Z])/g, ' $1').replace(/^./, first => first.toUpperCase()), 'A CSS length such as 320px or 100%.'));\n\n/**\n * A tree node: the fields of Scene's tree model. Children are the same shape; the description goes as deep as a tree is authored by hand,\n * and a node below that keeps its own children without editing them.\n */\nfunction treeNode(depth: number): PropertyDescriptor[] {\n const fields: PropertyDescriptor[] = [\n text('key', 'Key', 'Identity across the whole tree. Derived from the node\\'s position when it is not set.'),\n text('label', 'Label'),\n text('icon', 'Icon', 'A PrimeIcons class name such as pi pi-folder.'),\n flag('leaf', 'Leaf'),\n flag('expanded', 'Expanded'),\n flag('selectable', 'Selectable'),\n { path: 'data', label: 'Data', group: 'Content', valueType: PropertyValueType.Object, editorKind: PropertyEditorKind.StringMap, description: 'The values the node shows, under the field names the columns use.' },\n ];\n\n if (depth > 0) {\n fields.push({ path: 'children', label: 'Children', group: 'Content', valueType: PropertyValueType.Collection, item: { label: 'Node', open: true, positional: true, properties: treeNode(depth - 1) } });\n }\n\n return fields;\n}\n\n/** Design-time descriptors for PrimeReact controls whose authored data has structured configuration. */\nexport const primeReactDescriptors: ComponentDescriptor[] = [\n ...primeReactInputDescriptors,\n {\n component: key('chart'),\n displayName: 'Chart',\n description: 'A Chart.js chart. Legacy numeric types are rendered without changing stored data; new documents use stable type names. The host application must install chart.js.',\n properties: [\n {\n path: 'type', label: 'Type', group: 'Chart', valueType: PropertyValueType.Enum, default: ChartType.Bar,\n choices: chartTypeChoices,\n },\n { path: 'data', label: 'Data', group: 'Data', valueType: PropertyValueType.Object, open: true, properties: chartData, acceptedBindingKinds: bindable, description: 'The Chart.js data object, including labels and datasets in their authored order.' },\n { path: 'options', label: 'Options', group: 'Chart', valueType: PropertyValueType.Object, open: true, properties: chartOptions, acceptedBindingKinds: bindable, description: 'The Chart.js options object. The options listed here are the ones authors set most; any other option it holds is kept.' },\n { path: 'emptyLabel', label: 'No data label', group: 'Accessibility', valueType: PropertyValueType.String, default: 'No chart data', description: 'Shown instead of the chart while it has no data points. Data is never invented.' },\n { path: 'responsive', label: 'Responsive', group: 'Layout', valueType: PropertyValueType.Boolean, default: true },\n { path: 'style', label: 'Style', group: 'Layout', valueType: PropertyValueType.Object, open: true, properties: chartStyle, acceptedBindingKinds: bindable, description: 'The CSS style object applied to the chart surface.' },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('fileUpload'),\n displayName: 'File upload',\n description: 'An accessible file picker and drop zone. A host provides its upload effect, or the files are posted to the authored server URL. The URL must be on the page\\'s own origin unless the host allows another one.',\n properties: [\n {\n path: 'mode', label: 'Mode', group: 'Behavior', valueType: PropertyValueType.Enum, default: FileUploadMode.Advanced,\n choices: legacyEnumerationChoices(FileUploadMode, { [FileUploadMode.Advanced]: 'Advanced', [FileUploadMode.Basic]: 'Basic', [FileUploadMode.Auto]: 'Automatic' }),\n },\n { path: 'url', label: 'Server URL', group: 'Upload', valueType: PropertyValueType.String, description: 'Where the files are posted. Only the origin of the page, or an origin the host allows, is accepted; anything else is refused and nothing is sent.' },\n { path: 'name', label: 'Request field name', group: 'Upload', valueType: PropertyValueType.String, default: 'files' },\n { path: 'accept', label: 'Accepted MIME types', group: 'Upload', valueType: PropertyValueType.String },\n { path: 'multiple', label: 'Allow multiple files', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'maxFileSize', label: 'Maximum file size', group: 'Upload', valueType: PropertyValueType.Number, constraints: { minimum: 0, integer: true } },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('dataScroller'),\n displayName: 'Data scroller',\n description: 'A list that loads a chunk at a time as its end is reached. Items are strings, numbers or records, plus any child elements in the items slot; serialized legacy UI elements are refused.',\n properties: [\n { path: 'items', label: 'Items', group: 'Data', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.StringList, description: 'The text of each item, in order. A record is titled by its label, title, name, text or header field; records authored in a file are kept but not edited here.' },\n { path: 'rows', label: 'Rows per load', group: 'Behavior', valueType: PropertyValueType.Number, default: 10, constraints: { minimum: 1, integer: true } },\n { path: 'inline', label: 'Scroll inline', group: 'Layout', valueType: PropertyValueType.Boolean, default: false, description: 'Scroll inside the control (true) or load as the page scrolls the end of the list into view (false).' },\n { path: 'scrollHeight', label: 'Inline scroll height', group: 'Layout', valueType: PropertyValueType.Number, constraints: { minimum: 1 }, description: 'The height in pixels of an inline scroller. 320 when omitted.' },\n { path: 'emptyLabel', label: 'No items label', group: 'Accessibility', valueType: PropertyValueType.String, default: 'No items to show' },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('treeTable'),\n displayName: 'Tree table',\n description: 'A hierarchical table with authored columns, selection, and optional pagination. Items are nodes (strings, numbers or records with key, label, data, children); serialized legacy UI elements are refused.',\n properties: [\n {\n path: 'columns', label: 'Columns', group: 'Data', valueType: PropertyValueType.Collection, acceptedBindingKinds: bindable, description: 'Column definitions with field and header, or nested column elements. Inferred from the first row when absent.',\n item: { label: 'Column', open: true, positional: true, properties: [text('field', 'Field', 'The name in a node\\'s data that the column shows.'), text('header', 'Header', 'The column heading. The field name when it is not set.'), flag('sortable', 'Sortable')] },\n },\n { path: 'items', label: 'Items', group: 'Data', valueType: PropertyValueType.Collection, item: { label: 'Node', open: true, positional: true, properties: treeNode(3) }, acceptedBindingKinds: bindable, description: 'The nodes: records with key, label, data, children, expanded and selectable.' },\n {\n path: 'selectionMode', label: 'Selection mode', group: 'Behavior', valueType: PropertyValueType.Enum, default: TreeTableSelectionMode.None,\n choices: legacyEnumerationChoices(TreeTableSelectionMode, { [TreeTableSelectionMode.None]: 'None', [TreeTableSelectionMode.Single]: 'Single', [TreeTableSelectionMode.Multiple]: 'Multiple', [TreeTableSelectionMode.Checkbox]: 'Checkbox' }),\n },\n { path: 'selection', label: 'Selection', group: 'Behavior', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.StringOrList, description: 'The key of the selected node, or the keys of the selected nodes.' },\n { path: 'paginator', label: 'Show pagination', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'rows', label: 'Rows per page', group: 'Behavior', valueType: PropertyValueType.Number, default: 10, constraints: { minimum: 1, integer: true } },\n { path: 'emptyLabel', label: 'No records label', group: 'Accessibility', valueType: PropertyValueType.String, default: 'No records found' },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('editor'),\n displayName: 'Rich text editor',\n description: 'A rich-text HTML editor. Editing needs the host to provide Quill (QuillLoaderProvider); without it the content is shown read-only. The HTML is sanitized before it is shown.',\n properties: [\n { path: 'value', label: 'HTML value', group: 'Content', valueType: PropertyValueType.String },\n { path: 'placeholder', label: 'Placeholder', group: 'Content', valueType: PropertyValueType.String },\n { path: 'showHeader', label: 'Show toolbar', group: 'Behavior', valueType: PropertyValueType.Boolean, default: true },\n { path: 'readOnly', label: 'Read only', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n {\n component: key('multiStateCheckbox'),\n displayName: 'Multi-state checkbox',\n description: 'An accessible button that cycles through its authored states in order, showing the current state as a checkbox-style glyph.',\n properties: [\n { path: 'value', label: 'Value', group: 'State', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.Scalar, description: 'The selected value: a word, a number or a flag. Not set when the empty state is selected.' },\n {\n path: 'options', label: 'Options', group: 'State', valueType: PropertyValueType.Collection, acceptedBindingKinds: bindable, description: 'The ordered state options. Each may provide label, value, and icon fields.',\n item: { label: 'State', open: true, positional: true, properties: [text('label', 'Label'), text('value', 'Value'), text('icon', 'Icon', 'A PrimeIcons class name such as pi pi-check.')] },\n },\n { path: 'optionLabel', label: 'Option label field', group: 'State', valueType: PropertyValueType.String, default: 'label' },\n { path: 'optionValue', label: 'Option value field', group: 'State', valueType: PropertyValueType.String, default: 'value' },\n { path: 'empty', label: 'Allow empty state', group: 'State', valueType: PropertyValueType.Boolean, default: true },\n { path: 'emptyLabel', label: 'Empty state label', group: 'Accessibility', valueType: PropertyValueType.String, default: 'No selection' },\n { path: 'icons', label: 'Icons', group: 'Appearance', valueType: PropertyValueType.Json, editorKind: PropertyEditorKind.StringList, description: 'One icon for each option, in the order of the options. Each is a PrimeIcons class name or a qualified icon reference. Icons inside this value are not tracked by the icon library diagnostics; use the empty state icon where a tracked icon is needed.' },\n { path: 'emptyIcon', label: 'Empty state icon', group: 'Appearance', valueType: PropertyValueType.Icon },\n { path: 'readOnly', label: 'Read only', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'disabled', label: 'Disabled', group: 'Behavior', valueType: PropertyValueType.Boolean, default: false },\n { path: 'ariaLabel', label: 'Accessible name', group: 'Accessibility', valueType: PropertyValueType.String },\n ],\n },\n];\n"],"names":["key","name","componentRegistryKey","bindable","BindingSourceKind","DataContext","QueryResult","ComponentProperty","choice","values","map","value","label","text","path","description","group","valueType","PropertyValueType","String","flag","Boolean","numeric","Number","list","editorKind","Json","chartData","PropertyEditorKind","StringList","Collection","item","open","positional","properties","NumberList","StringOrList","chartOptions","Enum","choices","Object","chartStyle","replace","first","toUpperCase","treeNode","depth","fields","StringMap","push","primeReactDescriptors","primeReactInputDescriptors","component","displayName","default","ChartType","Bar","chartTypeChoices","acceptedBindingKinds","FileUploadMode","Advanced","legacyEnumerationChoices","Basic","Auto","constraints","minimum","integer","TreeTableSelectionMode","None","Single","Multiple","Checkbox","Scalar","Icon"],"mappings":"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"}