@dxos/react-ui-form 0.8.3-main.7f5a14c → 0.8.3
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.
- package/dist/lib/browser/index.mjs +190 -174
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +150 -134
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +190 -174
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/components/ControlSection/ControlSection.d.ts +1 -1
- package/dist/types/src/components/ControlSection/ControlSection.d.ts.map +1 -1
- package/dist/types/src/components/ControlSection/ControlSection.stories.d.ts.map +1 -1
- package/dist/types/src/components/FieldEditor/FieldEditor.d.ts +3 -2
- package/dist/types/src/components/FieldEditor/FieldEditor.d.ts.map +1 -1
- package/dist/types/src/components/FieldEditor/FieldEditor.stories.d.ts +0 -1
- package/dist/types/src/components/FieldEditor/FieldEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/Form/Defaults.d.ts.map +1 -1
- package/dist/types/src/components/Form/Form.d.ts +6 -15
- package/dist/types/src/components/Form/Form.d.ts.map +1 -1
- package/dist/types/src/components/Form/Form.stories.d.ts +2 -2
- package/dist/types/src/components/Form/Form.stories.d.ts.map +1 -1
- package/dist/types/src/components/Form/FormActions.d.ts +3 -1
- package/dist/types/src/components/Form/FormActions.d.ts.map +1 -1
- package/dist/types/src/components/Form/FormContent.d.ts +30 -3
- package/dist/types/src/components/Form/FormContent.d.ts.map +1 -1
- package/dist/types/src/components/Form/Input.d.ts +6 -4
- package/dist/types/src/components/Form/Input.d.ts.map +1 -1
- package/dist/types/src/components/Form/RefField.d.ts.map +1 -1
- package/dist/types/src/components/Form/custom/GeoPointInput.d.ts.map +1 -1
- package/dist/types/src/components/Form/custom/SelectOptionsInput.d.ts.map +1 -1
- package/dist/types/src/components/Form/custom/SelectOptionsInput.stories.d.ts.map +1 -1
- package/dist/types/src/components/Form/custom/TupleInput.d.ts.map +1 -1
- package/dist/types/src/components/ViewEditor/ViewEditor.d.ts +3 -2
- package/dist/types/src/components/ViewEditor/ViewEditor.d.ts.map +1 -1
- package/dist/types/src/components/ViewEditor/ViewEditor.stories.d.ts +0 -1
- package/dist/types/src/components/ViewEditor/ViewEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/testing.d.ts +3 -1
- package/dist/types/src/components/testing.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +3 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/package.json +28 -27
- package/src/components/ControlSection/ControlSection.stories.tsx +15 -3
- package/src/components/ControlSection/ControlSection.tsx +11 -9
- package/src/components/FieldEditor/FieldEditor.stories.tsx +1 -4
- package/src/components/FieldEditor/FieldEditor.test.tsx +2 -1
- package/src/components/FieldEditor/FieldEditor.tsx +11 -2
- package/src/components/Form/ArrayField.tsx +1 -1
- package/src/components/Form/Defaults.tsx +5 -25
- package/src/components/Form/Form.stories.tsx +5 -5
- package/src/components/Form/Form.tsx +44 -52
- package/src/components/Form/FormActions.tsx +17 -2
- package/src/components/Form/FormContent.tsx +46 -46
- package/src/components/Form/Input.tsx +13 -8
- package/src/components/Form/RefField.tsx +1 -5
- package/src/components/Form/custom/GeoPointInput.tsx +1 -3
- package/src/components/Form/custom/SelectOptionsInput.stories.tsx +7 -5
- package/src/components/Form/custom/SelectOptionsInput.tsx +1 -3
- package/src/components/Form/custom/TupleInput.tsx +1 -3
- package/src/components/ViewEditor/ViewEditor.stories.tsx +1 -4
- package/src/components/ViewEditor/ViewEditor.test.tsx +2 -1
- package/src/components/ViewEditor/ViewEditor.tsx +66 -66
- package/src/components/testing.tsx +12 -7
- package/src/translations.ts +4 -1
package/dist/lib/node/index.cjs
CHANGED
|
@@ -91,6 +91,7 @@ var import_util = require("@dxos/util");
|
|
|
91
91
|
var import_tracking5 = require("@preact-signals/safe-react/tracking");
|
|
92
92
|
var import_react5 = __toESM(require("react"));
|
|
93
93
|
var import_react_ui5 = require("@dxos/react-ui");
|
|
94
|
+
var import_react_ui_stack = require("@dxos/react-ui-stack");
|
|
94
95
|
var import_react_ui_theme3 = require("@dxos/react-ui-theme");
|
|
95
96
|
var import_tracking6 = require("@preact-signals/safe-react/tracking");
|
|
96
97
|
var import_react6 = __toESM(require("react"));
|
|
@@ -109,11 +110,12 @@ var import_react8 = __toESM(require("react"));
|
|
|
109
110
|
var import_react_ui8 = require("@dxos/react-ui");
|
|
110
111
|
var import_tracking9 = require("@preact-signals/safe-react/tracking");
|
|
111
112
|
var import_react9 = __toESM(require("react"));
|
|
112
|
-
var
|
|
113
|
-
var import_react_ui_theme6 = require("@dxos/react-ui-theme");
|
|
113
|
+
var import_react_ui_stack2 = require("@dxos/react-ui-stack");
|
|
114
114
|
var import_tracking10 = require("@preact-signals/safe-react/tracking");
|
|
115
115
|
var import_react10 = __toESM(require("react"));
|
|
116
116
|
var import_react_ui9 = require("@dxos/react-ui");
|
|
117
|
+
var import_react_ui_stack3 = require("@dxos/react-ui-stack");
|
|
118
|
+
var import_react_ui_theme6 = require("@dxos/react-ui-theme");
|
|
117
119
|
var import_tracking11 = require("@preact-signals/safe-react/tracking");
|
|
118
120
|
var import_react11 = __toESM(require("react"));
|
|
119
121
|
var import_debug = require("@dxos/debug");
|
|
@@ -173,6 +175,7 @@ var import_echo_schema11 = require("@dxos/echo-schema");
|
|
|
173
175
|
var import_invariant3 = require("@dxos/invariant");
|
|
174
176
|
var import_react_ui12 = require("@dxos/react-ui");
|
|
175
177
|
var import_react_ui_list2 = require("@dxos/react-ui-list");
|
|
178
|
+
var import_react_ui_stack4 = require("@dxos/react-ui-stack");
|
|
176
179
|
var import_react_ui_theme9 = require("@dxos/react-ui-theme");
|
|
177
180
|
var import_schema5 = require("@dxos/schema");
|
|
178
181
|
var translationKey = "react-ui-form";
|
|
@@ -204,6 +207,7 @@ var translations_default = [
|
|
|
204
207
|
"format date-time": "DateTime",
|
|
205
208
|
"format did": "DID",
|
|
206
209
|
"format duration": "Duration",
|
|
210
|
+
"format dxn": "DXN",
|
|
207
211
|
"format email": "Email",
|
|
208
212
|
"format formula": "Formula",
|
|
209
213
|
"format hostname": "Hostname",
|
|
@@ -216,12 +220,14 @@ var translations_default = [
|
|
|
216
220
|
"format regex": "RegExp",
|
|
217
221
|
"format string": "String",
|
|
218
222
|
"format single-select": "Select",
|
|
223
|
+
"format multi-select": "Multi-select",
|
|
219
224
|
"format text": "Long text",
|
|
220
225
|
"format time": "Time",
|
|
221
226
|
"format timestamp": "Timestamp",
|
|
222
227
|
"format user": "User",
|
|
223
228
|
"format number": "Number",
|
|
224
229
|
"format uri": "URI",
|
|
230
|
+
"format url": "URL",
|
|
225
231
|
"format uuid": "UUID",
|
|
226
232
|
// Placeholders.
|
|
227
233
|
"placeholder latitude": "Latitude",
|
|
@@ -234,7 +240,7 @@ var translations_default = [
|
|
|
234
240
|
"select option add": "Add option",
|
|
235
241
|
// System schema message.
|
|
236
242
|
"system schema title": "System Schema",
|
|
237
|
-
"system schema description": "This
|
|
243
|
+
"system schema description": "This is a system schema and cannot be modified."
|
|
238
244
|
}
|
|
239
245
|
}
|
|
240
246
|
}
|
|
@@ -290,7 +296,7 @@ var ControlPage = ({ children, classNames, ...props }) => {
|
|
|
290
296
|
try {
|
|
291
297
|
return /* @__PURE__ */ import_react2.default.createElement("div", {
|
|
292
298
|
role: "none",
|
|
293
|
-
className: (0, import_react_ui_theme2.mx)("pli-
|
|
299
|
+
className: (0, import_react_ui_theme2.mx)("pli-cardSpacingInline", classNames),
|
|
294
300
|
...props
|
|
295
301
|
}, children);
|
|
296
302
|
} finally {
|
|
@@ -313,9 +319,9 @@ var ControlSectionHeading = ({ title, description }) => {
|
|
|
313
319
|
try {
|
|
314
320
|
const { t } = (0, import_react_ui2.useTranslation)(translationKey);
|
|
315
321
|
return /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement("h2", {
|
|
316
|
-
className: "pli-
|
|
322
|
+
className: "pli-trimMd container-max-width text-xl mbs-trimLg mbe-trimMd"
|
|
317
323
|
}, (0, import_react_ui2.toLocalizedString)(title, t)), description && /* @__PURE__ */ import_react2.default.createElement("p", {
|
|
318
|
-
className: "pli-
|
|
324
|
+
className: "pli-trimMd mlb-trimMd container-max-width text-description"
|
|
319
325
|
}, (0, import_react_ui2.toLocalizedString)(description, t)));
|
|
320
326
|
} finally {
|
|
321
327
|
_effect.f();
|
|
@@ -340,7 +346,7 @@ var ControlGroup = ({ children, classNames }) => {
|
|
|
340
346
|
try {
|
|
341
347
|
return /* @__PURE__ */ import_react2.default.createElement("div", {
|
|
342
348
|
role: "none",
|
|
343
|
-
className: (0, import_react_ui_theme2.mx)("group container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content] gap-
|
|
349
|
+
className: (0, import_react_ui_theme2.mx)("group container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content] gap-trimMd", classNames)
|
|
344
350
|
}, children);
|
|
345
351
|
} finally {
|
|
346
352
|
_effect.f();
|
|
@@ -351,15 +357,15 @@ var ControlFrame = ({ children }) => {
|
|
|
351
357
|
try {
|
|
352
358
|
return /* @__PURE__ */ import_react2.default.createElement("div", {
|
|
353
359
|
role: "none",
|
|
354
|
-
className: "p-
|
|
360
|
+
className: "p-trimMd container-max-width grid grid-cols-1 md:grid-cols-[1fr_1fr] gap-trimSm md:gap-trimMd border border-separator rounded-md"
|
|
355
361
|
}, children);
|
|
356
362
|
} finally {
|
|
357
363
|
_effect.f();
|
|
358
364
|
}
|
|
359
365
|
};
|
|
360
|
-
var controlItemClasses = "
|
|
366
|
+
var controlItemClasses = "pli-trimMd plb-trimMd container-max-width grid md:col-span-2 grid-cols-subgrid items-center gap-trimSm border border-separator rounded-md *:first:!mbs-0 *:last:!mbe-0";
|
|
361
367
|
var controlItemTitleClasses = "text-lg font-normal";
|
|
362
|
-
var controlItemDescriptionClasses = "text-base mlb-
|
|
368
|
+
var controlItemDescriptionClasses = "text-base mlb-trimSm md:mbe-0 text-description";
|
|
363
369
|
var ControlItem = ({ title, description, children }) => {
|
|
364
370
|
var _effect = (0, import_tracking2.useSignals)();
|
|
365
371
|
try {
|
|
@@ -404,19 +410,23 @@ var ControlFrameItem = ({ title, description, children }) => {
|
|
|
404
410
|
}, /* @__PURE__ */ import_react2.default.createElement("h3", {
|
|
405
411
|
className: "text-lg mbe-2"
|
|
406
412
|
}, (0, import_react_ui2.toLocalizedString)(title, t)), description && /* @__PURE__ */ import_react2.default.createElement("p", {
|
|
407
|
-
className: "mlb-
|
|
413
|
+
className: "mlb-trimSm md:mbe-0 text-description"
|
|
408
414
|
}, (0, import_react_ui2.toLocalizedString)(description, t)), children);
|
|
409
415
|
} finally {
|
|
410
416
|
_effect.f();
|
|
411
417
|
}
|
|
412
418
|
};
|
|
413
|
-
var InputHeader = ({
|
|
419
|
+
var InputHeader = ({ error, label, readonly }) => {
|
|
414
420
|
var _effect = (0, import_tracking5.useSignals)();
|
|
415
421
|
try {
|
|
422
|
+
const Label = readonly ? "span" : import_react_ui5.Input.Label;
|
|
423
|
+
const labelProps = readonly ? {} : {
|
|
424
|
+
classNames: "!mlb-0"
|
|
425
|
+
};
|
|
416
426
|
return /* @__PURE__ */ import_react5.default.createElement("div", {
|
|
417
427
|
role: "none",
|
|
418
|
-
className: "flex justify-between items-center
|
|
419
|
-
},
|
|
428
|
+
className: (0, import_react_ui_theme3.mx)("flex justify-between items-center", import_react_ui_stack.labelSpacing)
|
|
429
|
+
}, /* @__PURE__ */ import_react5.default.createElement(Label, labelProps, label), error && /* @__PURE__ */ import_react5.default.createElement(import_react_ui5.Tooltip.Trigger, {
|
|
420
430
|
asChild: true,
|
|
421
431
|
content: error,
|
|
422
432
|
side: "bottom"
|
|
@@ -478,8 +488,9 @@ var GeoPointInput = ({ type, label, disabled, getStatus, getValue: getValue3, on
|
|
|
478
488
|
return /* @__PURE__ */ import_react4.default.createElement(import_react_ui4.Input.Root, {
|
|
479
489
|
validationValence: status
|
|
480
490
|
}, /* @__PURE__ */ import_react4.default.createElement(InputHeader, {
|
|
481
|
-
error
|
|
482
|
-
|
|
491
|
+
error,
|
|
492
|
+
label
|
|
493
|
+
}), /* @__PURE__ */ import_react4.default.createElement("div", {
|
|
483
494
|
role: "none",
|
|
484
495
|
className: "grid grid-cols-2 gap-2"
|
|
485
496
|
}, /* @__PURE__ */ import_react4.default.createElement(import_react_ui4.Input.TextInput, {
|
|
@@ -615,8 +626,9 @@ var SelectOptionInput = ({ type, label, disabled, getStatus, getValue: getValue3
|
|
|
615
626
|
return /* @__PURE__ */ import_react6.default.createElement(import_react_ui6.Input.Root, {
|
|
616
627
|
validationValence: status
|
|
617
628
|
}, /* @__PURE__ */ import_react6.default.createElement(InputHeader, {
|
|
618
|
-
error
|
|
619
|
-
|
|
629
|
+
error,
|
|
630
|
+
label
|
|
631
|
+
}), /* @__PURE__ */ import_react6.default.createElement("div", {
|
|
620
632
|
role: "none"
|
|
621
633
|
}, options && /* @__PURE__ */ import_react6.default.createElement(import_react_ui_list.List.Root, {
|
|
622
634
|
items: options,
|
|
@@ -698,8 +710,9 @@ var TupleInput = ({ binding, type, label, disabled, getStatus, getValue: getValu
|
|
|
698
710
|
return /* @__PURE__ */ import_react7.default.createElement(import_react_ui7.Input.Root, {
|
|
699
711
|
validationValence: status
|
|
700
712
|
}, /* @__PURE__ */ import_react7.default.createElement(InputHeader, {
|
|
701
|
-
error
|
|
702
|
-
|
|
713
|
+
error,
|
|
714
|
+
label
|
|
715
|
+
}), /* @__PURE__ */ import_react7.default.createElement("div", {
|
|
703
716
|
className: (0, import_react_ui_theme5.mx)("grid gap-2", gridCols[binding.length - 1])
|
|
704
717
|
}, binding.map((prop) => /* @__PURE__ */ import_react7.default.createElement(import_react_ui7.Input.TextInput, {
|
|
705
718
|
key: prop,
|
|
@@ -723,8 +736,9 @@ var TextInput = ({ type, label, inputOnly, disabled, placeholder, getStatus, get
|
|
|
723
736
|
return disabled && !getValue3() ? null : disabled && inputOnly ? /* @__PURE__ */ import_react8.default.createElement("p", null, getValue3() ?? "") : /* @__PURE__ */ import_react8.default.createElement(import_react_ui8.Input.Root, {
|
|
724
737
|
validationValence: status
|
|
725
738
|
}, !inputOnly && /* @__PURE__ */ import_react8.default.createElement(InputHeader, {
|
|
726
|
-
error
|
|
727
|
-
|
|
739
|
+
error,
|
|
740
|
+
label
|
|
741
|
+
}), disabled ? /* @__PURE__ */ import_react8.default.createElement("p", null, getValue3() ?? "") : /* @__PURE__ */ import_react8.default.createElement(import_react_ui8.Input.TextInput, {
|
|
728
742
|
disabled,
|
|
729
743
|
placeholder,
|
|
730
744
|
value: getValue3() ?? "",
|
|
@@ -742,8 +756,9 @@ var NumberInput = ({ type, label, inputOnly, disabled, placeholder, getStatus, g
|
|
|
742
756
|
return disabled && !getValue3() ? null : disabled && inputOnly ? /* @__PURE__ */ import_react8.default.createElement("p", null, getValue3() ?? "") : /* @__PURE__ */ import_react8.default.createElement(import_react_ui8.Input.Root, {
|
|
743
757
|
validationValence: status
|
|
744
758
|
}, !inputOnly && /* @__PURE__ */ import_react8.default.createElement(InputHeader, {
|
|
745
|
-
error
|
|
746
|
-
|
|
759
|
+
error,
|
|
760
|
+
label
|
|
761
|
+
}), disabled ? /* @__PURE__ */ import_react8.default.createElement("p", null, getValue3() ?? "") : /* @__PURE__ */ import_react8.default.createElement(import_react_ui8.Input.TextInput, {
|
|
747
762
|
type: "number",
|
|
748
763
|
disabled,
|
|
749
764
|
placeholder,
|
|
@@ -764,8 +779,9 @@ var BooleanInput = ({ type, label, inputOnly, getStatus, getValue: getValue3, on
|
|
|
764
779
|
return /* @__PURE__ */ import_react8.default.createElement(import_react_ui8.Input.Root, {
|
|
765
780
|
validationValence: status
|
|
766
781
|
}, !inputOnly && /* @__PURE__ */ import_react8.default.createElement(InputHeader, {
|
|
767
|
-
error
|
|
768
|
-
|
|
782
|
+
error,
|
|
783
|
+
label
|
|
784
|
+
}), disabled ? /* @__PURE__ */ import_react8.default.createElement("p", null, t(checked ? "boolean input true value" : "boolean input false value")) : /* @__PURE__ */ import_react8.default.createElement(import_react_ui8.Input.Switch, {
|
|
769
785
|
checked,
|
|
770
786
|
onCheckedChange: (value) => onValueChange(type, value)
|
|
771
787
|
}), inputOnly && /* @__PURE__ */ import_react8.default.createElement(import_react_ui8.Input.DescriptionAndValidation, null, error));
|
|
@@ -785,8 +801,9 @@ var SelectInput = ({ type, label, inputOnly, disabled, placeholder, options, get
|
|
|
785
801
|
return disabled && !value ? null : /* @__PURE__ */ import_react8.default.createElement(import_react_ui8.Input.Root, {
|
|
786
802
|
validationValence: status
|
|
787
803
|
}, !inputOnly && /* @__PURE__ */ import_react8.default.createElement(InputHeader, {
|
|
788
|
-
error
|
|
789
|
-
|
|
804
|
+
error,
|
|
805
|
+
label
|
|
806
|
+
}), disabled ? /* @__PURE__ */ import_react8.default.createElement("p", null, options?.find(({ value: optionValue }) => optionValue === value)?.label ?? String(value)) : /* @__PURE__ */ import_react8.default.createElement(import_react_ui8.Select.Root, {
|
|
790
807
|
value,
|
|
791
808
|
onValueChange: handleValueChange
|
|
792
809
|
}, /* @__PURE__ */ import_react8.default.createElement(import_react_ui8.Select.TriggerButton, {
|
|
@@ -830,8 +847,9 @@ var MarkdownInput = ({ type, label, inputOnly, disabled, placeholder, getStatus,
|
|
|
830
847
|
return /* @__PURE__ */ import_react8.default.createElement(import_react_ui8.Input.Root, {
|
|
831
848
|
validationValence: status
|
|
832
849
|
}, !inputOnly && /* @__PURE__ */ import_react8.default.createElement(InputHeader, {
|
|
833
|
-
error
|
|
834
|
-
|
|
850
|
+
error,
|
|
851
|
+
label
|
|
852
|
+
}), disabled ? /* @__PURE__ */ import_react8.default.createElement("p", null, getValue3() ?? "") : /* @__PURE__ */ import_react8.default.createElement(import_react_ui8.Input.TextArea, {
|
|
835
853
|
ref: textareaRef,
|
|
836
854
|
disabled,
|
|
837
855
|
placeholder,
|
|
@@ -1183,14 +1201,14 @@ var FormProvider = ({ children, formRef, autoSave, ...formOptions }) => {
|
|
|
1183
1201
|
_effect.f();
|
|
1184
1202
|
}
|
|
1185
1203
|
};
|
|
1186
|
-
var FormActions = ({ readonly, onCancel }) => {
|
|
1204
|
+
var FormActions = ({ readonly, onCancel, outerSpacing = true }) => {
|
|
1187
1205
|
var _effect = (0, import_tracking10.useSignals)();
|
|
1188
1206
|
try {
|
|
1189
1207
|
const { t } = (0, import_react_ui9.useTranslation)(translationKey);
|
|
1190
1208
|
const { canSave, handleSave } = useFormContext();
|
|
1191
1209
|
return /* @__PURE__ */ import_react10.default.createElement("div", {
|
|
1192
1210
|
role: "none",
|
|
1193
|
-
className: "flex [&_button]:grow gap-1
|
|
1211
|
+
className: (0, import_react_ui_theme6.mx)(outerSpacing === "scroll-fields" ? "pli-cardSpacingInline mbe-cardSpacingBlock" : outerSpacing ? import_react_ui_stack3.cardSpacing : "mbs-cardSpacingBlock", "flex [&_button]:grow gap-1 first:mbs-0")
|
|
1194
1212
|
}, onCancel && !readonly && /* @__PURE__ */ import_react10.default.createElement(import_react_ui9.IconButton, {
|
|
1195
1213
|
"data-testid": "cancel-button",
|
|
1196
1214
|
icon: "ph--x--regular",
|
|
@@ -1550,7 +1568,10 @@ var ArrayField = ({ property, readonly, path, inputProps, Custom, lookupComponen
|
|
|
1550
1568
|
if (!elementType) {
|
|
1551
1569
|
return null;
|
|
1552
1570
|
}
|
|
1553
|
-
return readonly && values.length < 1 ? null : /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(InputHeader,
|
|
1571
|
+
return readonly && values.length < 1 ? null : /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(InputHeader, {
|
|
1572
|
+
readonly: true,
|
|
1573
|
+
label
|
|
1574
|
+
}), /* @__PURE__ */ import_react16.default.createElement("div", {
|
|
1554
1575
|
role: "none",
|
|
1555
1576
|
className: readonly ? "flex flex-wrap gap-1 mlb-1" : values.length > 0 ? "grid gap-1 grid-cols-[1fr_min-content] mlb-1" : "hidden"
|
|
1556
1577
|
}, values.map((_value, index) => {
|
|
@@ -1682,8 +1703,9 @@ var RefField = ({ type, label, disabled, placeholder, inputOnly, array, ast, get
|
|
|
1682
1703
|
return disabled && items.length < 1 ? null : /* @__PURE__ */ import_react17.default.createElement(import_react_ui11.Input.Root, {
|
|
1683
1704
|
validationValence: status
|
|
1684
1705
|
}, !inputOnly && /* @__PURE__ */ import_react17.default.createElement(InputHeader, {
|
|
1685
|
-
error
|
|
1686
|
-
|
|
1706
|
+
error,
|
|
1707
|
+
label
|
|
1708
|
+
}), /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
1687
1709
|
"data-no-submit": true
|
|
1688
1710
|
}, disabled ? items.length < 1 ? /* @__PURE__ */ import_react17.default.createElement("p", {
|
|
1689
1711
|
className: (0, import_react_ui_theme8.mx)(import_react_ui_theme8.descriptionText, "mbe-2")
|
|
@@ -1763,8 +1785,8 @@ var getInputComponent = (type, format) => {
|
|
|
1763
1785
|
var FormField = ({ property, path, readonly, inline, onQueryRefOptions, lookupComponent, Custom }) => {
|
|
1764
1786
|
var _effect = (0, import_tracking12.useSignals)();
|
|
1765
1787
|
try {
|
|
1766
|
-
const inputProps = useInputProps(path);
|
|
1767
1788
|
const { ast, name, type, format, title, description, options, examples, array } = property;
|
|
1789
|
+
const inputProps = useInputProps(path);
|
|
1768
1790
|
const label = (0, import_react15.useMemo)(() => title ?? (0, import_effect4.pipe)(name, import_String.capitalize), [
|
|
1769
1791
|
title,
|
|
1770
1792
|
name
|
|
@@ -1857,7 +1879,7 @@ var FormField = ({ property, path, readonly, inline, onQueryRefOptions, lookupCo
|
|
|
1857
1879
|
const typeLiteral = baseNode ? (0, import_effect5.getDiscriminatedType)(baseNode, inputProps.getValue()) : (0, import_effect5.findNode)(ast, import_effect4.SchemaAST.isTypeLiteral);
|
|
1858
1880
|
if (typeLiteral) {
|
|
1859
1881
|
return /* @__PURE__ */ import_react15.default.createElement(import_react15.default.Fragment, null, !inline && /* @__PURE__ */ import_react15.default.createElement("h3", {
|
|
1860
|
-
className: (0, import_react_ui_theme7.mx)("text-lg mlb-
|
|
1882
|
+
className: (0, import_react_ui_theme7.mx)("text-lg mlb-inputSpacingBlock first:mbs-0")
|
|
1861
1883
|
}, label), /* @__PURE__ */ import_react15.default.createElement(FormFields, {
|
|
1862
1884
|
schema: import_effect4.Schema.make(typeLiteral),
|
|
1863
1885
|
path,
|
|
@@ -1873,7 +1895,7 @@ var FormField = ({ property, path, readonly, inline, onQueryRefOptions, lookupCo
|
|
|
1873
1895
|
_effect.f();
|
|
1874
1896
|
}
|
|
1875
1897
|
};
|
|
1876
|
-
var FormFields = ({ classNames,
|
|
1898
|
+
var FormFields = /* @__PURE__ */ (0, import_react15.forwardRef)(({ classNames, testId, schema, path, filter, sort, readonly, lookupComponent, Custom, onQueryRefOptions }, forwardRef2) => {
|
|
1877
1899
|
var _effect = (0, import_tracking12.useSignals)();
|
|
1878
1900
|
try {
|
|
1879
1901
|
const values = useFormValues(path);
|
|
@@ -1887,35 +1909,33 @@ var FormFields = ({ classNames, Custom, schema, path, filter, sort, readonly, lo
|
|
|
1887
1909
|
filter,
|
|
1888
1910
|
sort
|
|
1889
1911
|
]);
|
|
1890
|
-
return (
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
path
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
}).filter(import_util4.isNotFalsy))
|
|
1909
|
-
);
|
|
1912
|
+
return /* @__PURE__ */ import_react15.default.createElement("div", {
|
|
1913
|
+
role: "form",
|
|
1914
|
+
className: (0, import_react_ui_theme7.mx)("is-full", classNames),
|
|
1915
|
+
ref: forwardRef2
|
|
1916
|
+
}, properties.map((property) => {
|
|
1917
|
+
return /* @__PURE__ */ import_react15.default.createElement(FormField, {
|
|
1918
|
+
key: property.name,
|
|
1919
|
+
property,
|
|
1920
|
+
path: [
|
|
1921
|
+
...path ?? [],
|
|
1922
|
+
property.name
|
|
1923
|
+
],
|
|
1924
|
+
readonly,
|
|
1925
|
+
onQueryRefOptions,
|
|
1926
|
+
lookupComponent,
|
|
1927
|
+
Custom
|
|
1928
|
+
});
|
|
1929
|
+
}).filter(import_util4.isNotFalsy));
|
|
1910
1930
|
} finally {
|
|
1911
1931
|
_effect.f();
|
|
1912
1932
|
}
|
|
1913
|
-
};
|
|
1914
|
-
var Form = ({ classNames,
|
|
1933
|
+
});
|
|
1934
|
+
var Form = ({ classNames, testId, values: initialValues, autoFocus, readonly, autoSave, outerSpacing = true, onCancel, schema, onValuesChanged, onValidate, onSave, ...props }) => {
|
|
1915
1935
|
var _effect = (0, import_tracking9.useSignals)();
|
|
1916
1936
|
try {
|
|
1917
1937
|
const formRef = (0, import_react9.useRef)(null);
|
|
1918
|
-
const
|
|
1938
|
+
const handleValid = (0, import_react9.useMemo)(() => autoSave ? onSave : void 0, [
|
|
1919
1939
|
autoSave,
|
|
1920
1940
|
onSave
|
|
1921
1941
|
]);
|
|
@@ -1936,32 +1956,33 @@ var Form = ({ classNames, schema, values: initialValues, path = [], autoFocus, r
|
|
|
1936
1956
|
initialValues,
|
|
1937
1957
|
onValuesChanged,
|
|
1938
1958
|
onValidate,
|
|
1939
|
-
onValid,
|
|
1959
|
+
onValid: handleValid,
|
|
1940
1960
|
onSave
|
|
1941
1961
|
}, /* @__PURE__ */ import_react9.default.createElement("div", {
|
|
1942
|
-
ref: formRef,
|
|
1943
1962
|
role: "none",
|
|
1944
|
-
className:
|
|
1963
|
+
className: "contents",
|
|
1945
1964
|
"data-testid": testId
|
|
1946
1965
|
}, /* @__PURE__ */ import_react9.default.createElement(FormFields, {
|
|
1947
|
-
|
|
1948
|
-
|
|
1966
|
+
...props,
|
|
1967
|
+
ref: formRef,
|
|
1968
|
+
classNames: [
|
|
1969
|
+
outerSpacing === "blockStart-0" ? "pli-cardSpacingInline mbe-cardSpacingBlock [&>.mbs-inputSpacingBlock:first-child]:!mbs-0" : outerSpacing === "scroll-fields" ? "pli-cardSpacingInline pbe-cardSpacingBlock" : outerSpacing ? import_react_ui_stack2.cardSpacing : false,
|
|
1970
|
+
outerSpacing === "scroll-fields" && import_react_ui_stack2.cardDialogOverflow,
|
|
1971
|
+
classNames
|
|
1972
|
+
],
|
|
1949
1973
|
readonly,
|
|
1950
|
-
|
|
1951
|
-
sort,
|
|
1952
|
-
onQueryRefOptions,
|
|
1953
|
-
lookupComponent,
|
|
1954
|
-
Custom
|
|
1974
|
+
schema
|
|
1955
1975
|
}), (onCancel || onSave) && !autoSave && /* @__PURE__ */ import_react9.default.createElement(FormActions, {
|
|
1976
|
+
readonly,
|
|
1956
1977
|
onCancel,
|
|
1957
|
-
|
|
1978
|
+
outerSpacing
|
|
1958
1979
|
})));
|
|
1959
1980
|
} finally {
|
|
1960
1981
|
_effect.f();
|
|
1961
1982
|
}
|
|
1962
1983
|
};
|
|
1963
1984
|
var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/ui/react-ui-form/src/components/FieldEditor/FieldEditor.tsx";
|
|
1964
|
-
var FieldEditor = ({ view, projection, field, registry, onSave, onCancel }) => {
|
|
1985
|
+
var FieldEditor = ({ view, projection, field, registry, onSave, onCancel, outerSpacing }) => {
|
|
1965
1986
|
var _effect = (0, import_tracking3.useSignals)();
|
|
1966
1987
|
try {
|
|
1967
1988
|
const { t } = (0, import_react_ui3.useTranslation)(translationKey);
|
|
@@ -2096,7 +2117,7 @@ var FieldEditor = ({ view, projection, field, registry, onSave, onCancel }) => {
|
|
|
2096
2117
|
props
|
|
2097
2118
|
}, {
|
|
2098
2119
|
F: __dxlog_file4,
|
|
2099
|
-
L:
|
|
2120
|
+
L: 183,
|
|
2100
2121
|
S: void 0,
|
|
2101
2122
|
C: (f, a) => f(...a)
|
|
2102
2123
|
});
|
|
@@ -2116,14 +2137,15 @@ var FieldEditor = ({ view, projection, field, registry, onSave, onCancel }) => {
|
|
|
2116
2137
|
onValidate: handleValidate,
|
|
2117
2138
|
onSave: handleSave,
|
|
2118
2139
|
onCancel: handleCancel,
|
|
2119
|
-
Custom: custom
|
|
2140
|
+
Custom: custom,
|
|
2141
|
+
outerSpacing
|
|
2120
2142
|
});
|
|
2121
2143
|
} finally {
|
|
2122
2144
|
_effect.f();
|
|
2123
2145
|
}
|
|
2124
2146
|
};
|
|
2125
2147
|
var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/ui/react-ui-form/src/components/ViewEditor/ViewEditor.tsx";
|
|
2126
|
-
var grid = "grid grid-cols-[
|
|
2148
|
+
var grid = "grid grid-cols-[32px_1fr_32px_32px] min-bs-[2.5rem]";
|
|
2127
2149
|
var ViewMetaSchema = import_effect12.Schema.Struct({
|
|
2128
2150
|
name: import_effect12.Schema.String.annotations({
|
|
2129
2151
|
title: "View"
|
|
@@ -2132,7 +2154,7 @@ var ViewMetaSchema = import_effect12.Schema.Struct({
|
|
|
2132
2154
|
title: "Typename"
|
|
2133
2155
|
})
|
|
2134
2156
|
}).pipe(import_effect12.Schema.mutable);
|
|
2135
|
-
var ViewEditor = ({ classNames, schema, view, registry, readonly, showHeading = false, onTypenameChanged, onDelete }) => {
|
|
2157
|
+
var ViewEditor = ({ classNames, schema, view, registry, readonly: _readonly, showHeading = false, onTypenameChanged, onDelete, outerSpacing = true }) => {
|
|
2136
2158
|
var _effect = (0, import_tracking15.useSignals)();
|
|
2137
2159
|
try {
|
|
2138
2160
|
const { t } = (0, import_react_ui12.useTranslation)(translationKey);
|
|
@@ -2144,7 +2166,7 @@ var ViewEditor = ({ classNames, schema, view, registry, readonly, showHeading =
|
|
|
2144
2166
|
view
|
|
2145
2167
|
]);
|
|
2146
2168
|
const [field, setField] = (0, import_react19.useState)();
|
|
2147
|
-
const
|
|
2169
|
+
const readonly = _readonly || !(0, import_echo_schema11.isMutable)(schema);
|
|
2148
2170
|
const viewValues = (0, import_react19.useMemo)(() => {
|
|
2149
2171
|
return {
|
|
2150
2172
|
name: view.name,
|
|
@@ -2156,20 +2178,20 @@ var ViewEditor = ({ classNames, schema, view, registry, readonly, showHeading =
|
|
|
2156
2178
|
view
|
|
2157
2179
|
]);
|
|
2158
2180
|
const handleSelect = (0, import_react19.useCallback)((field2) => {
|
|
2159
|
-
if (
|
|
2181
|
+
if (readonly) {
|
|
2160
2182
|
return;
|
|
2161
2183
|
}
|
|
2162
2184
|
setField((f) => f === field2 ? void 0 : field2);
|
|
2163
2185
|
}, [
|
|
2164
|
-
|
|
2186
|
+
readonly
|
|
2165
2187
|
]);
|
|
2166
2188
|
const handleAdd = (0, import_react19.useCallback)(() => {
|
|
2167
|
-
(0, import_invariant3.invariant)(!
|
|
2189
|
+
(0, import_invariant3.invariant)(!readonly, void 0, {
|
|
2168
2190
|
F: __dxlog_file5,
|
|
2169
|
-
L:
|
|
2191
|
+
L: 92,
|
|
2170
2192
|
S: void 0,
|
|
2171
2193
|
A: [
|
|
2172
|
-
"!
|
|
2194
|
+
"!readonly",
|
|
2173
2195
|
""
|
|
2174
2196
|
]
|
|
2175
2197
|
});
|
|
@@ -2177,15 +2199,16 @@ var ViewEditor = ({ classNames, schema, view, registry, readonly, showHeading =
|
|
|
2177
2199
|
setField(field2);
|
|
2178
2200
|
}, [
|
|
2179
2201
|
schema,
|
|
2180
|
-
view
|
|
2202
|
+
view,
|
|
2203
|
+
readonly
|
|
2181
2204
|
]);
|
|
2182
2205
|
const handleUpdate = (0, import_react19.useCallback)(({ name, typename }) => {
|
|
2183
|
-
(0, import_invariant3.invariant)(!
|
|
2206
|
+
(0, import_invariant3.invariant)(!readonly, void 0, {
|
|
2184
2207
|
F: __dxlog_file5,
|
|
2185
|
-
L:
|
|
2208
|
+
L: 99,
|
|
2186
2209
|
S: void 0,
|
|
2187
2210
|
A: [
|
|
2188
|
-
"!
|
|
2211
|
+
"!readonly",
|
|
2189
2212
|
""
|
|
2190
2213
|
]
|
|
2191
2214
|
});
|
|
@@ -2193,7 +2216,7 @@ var ViewEditor = ({ classNames, schema, view, registry, readonly, showHeading =
|
|
|
2193
2216
|
if (view.name !== name) {
|
|
2194
2217
|
view.name = name;
|
|
2195
2218
|
}
|
|
2196
|
-
if (view.query.typename !== typename && !
|
|
2219
|
+
if (view.query.typename !== typename && !readonly) {
|
|
2197
2220
|
onTypenameChanged?.(typename);
|
|
2198
2221
|
}
|
|
2199
2222
|
});
|
|
@@ -2201,15 +2224,15 @@ var ViewEditor = ({ classNames, schema, view, registry, readonly, showHeading =
|
|
|
2201
2224
|
schema,
|
|
2202
2225
|
view,
|
|
2203
2226
|
onTypenameChanged,
|
|
2204
|
-
|
|
2227
|
+
readonly
|
|
2205
2228
|
]);
|
|
2206
2229
|
const handleDelete = (0, import_react19.useCallback)((fieldId) => {
|
|
2207
|
-
(0, import_invariant3.invariant)(!
|
|
2230
|
+
(0, import_invariant3.invariant)(!readonly, void 0, {
|
|
2208
2231
|
F: __dxlog_file5,
|
|
2209
|
-
L:
|
|
2232
|
+
L: 115,
|
|
2210
2233
|
S: void 0,
|
|
2211
2234
|
A: [
|
|
2212
|
-
"!
|
|
2235
|
+
"!readonly",
|
|
2213
2236
|
""
|
|
2214
2237
|
]
|
|
2215
2238
|
});
|
|
@@ -2220,15 +2243,16 @@ var ViewEditor = ({ classNames, schema, view, registry, readonly, showHeading =
|
|
|
2220
2243
|
}, [
|
|
2221
2244
|
schema,
|
|
2222
2245
|
field,
|
|
2223
|
-
onDelete
|
|
2246
|
+
onDelete,
|
|
2247
|
+
readonly
|
|
2224
2248
|
]);
|
|
2225
2249
|
const handleMove = (0, import_react19.useCallback)((fromIndex, toIndex) => {
|
|
2226
|
-
(0, import_invariant3.invariant)(!
|
|
2250
|
+
(0, import_invariant3.invariant)(!readonly, void 0, {
|
|
2227
2251
|
F: __dxlog_file5,
|
|
2228
|
-
L:
|
|
2252
|
+
L: 127,
|
|
2229
2253
|
S: void 0,
|
|
2230
2254
|
A: [
|
|
2231
|
-
"!
|
|
2255
|
+
"!readonly",
|
|
2232
2256
|
""
|
|
2233
2257
|
]
|
|
2234
2258
|
});
|
|
@@ -2240,7 +2264,8 @@ var ViewEditor = ({ classNames, schema, view, registry, readonly, showHeading =
|
|
|
2240
2264
|
view.fields = fields;
|
|
2241
2265
|
}, [
|
|
2242
2266
|
schema,
|
|
2243
|
-
view.fields
|
|
2267
|
+
view.fields,
|
|
2268
|
+
readonly
|
|
2244
2269
|
]);
|
|
2245
2270
|
const handleClose = (0, import_react19.useCallback)(() => setField(void 0), []);
|
|
2246
2271
|
const hiddenProperties = projection.getHiddenProperties();
|
|
@@ -2258,36 +2283,30 @@ var ViewEditor = ({ classNames, schema, view, registry, readonly, showHeading =
|
|
|
2258
2283
|
]);
|
|
2259
2284
|
return /* @__PURE__ */ import_react19.default.createElement("div", {
|
|
2260
2285
|
role: "none",
|
|
2261
|
-
className: (0, import_react_ui_theme9.mx)(
|
|
2262
|
-
},
|
|
2286
|
+
className: (0, import_react_ui_theme9.mx)(classNames)
|
|
2287
|
+
}, readonly && /* @__PURE__ */ import_react19.default.createElement("div", {
|
|
2263
2288
|
role: "none",
|
|
2264
|
-
className: "
|
|
2265
|
-
}, /* @__PURE__ */ import_react19.default.createElement(import_react_ui12.
|
|
2266
|
-
valence: "
|
|
2267
|
-
|
|
2268
|
-
}, /* @__PURE__ */ import_react19.default.createElement(import_react_ui12.Message.Title, null, /* @__PURE__ */ import_react19.default.createElement(import_react_ui12.Icon, {
|
|
2269
|
-
icon: "ph--info--regular",
|
|
2270
|
-
size: 5,
|
|
2271
|
-
classNames: "inline"
|
|
2272
|
-
}), " ", t("system schema title")), /* @__PURE__ */ import_react19.default.createElement(import_react_ui12.Message.Body, null, t("system schema description")))), /* @__PURE__ */ import_react19.default.createElement(Form, {
|
|
2289
|
+
className: (0, import_react_ui_theme9.mx)("is-full", outerSpacing && "plb-cardSpacingBlock pli-cardSpacingInline")
|
|
2290
|
+
}, /* @__PURE__ */ import_react19.default.createElement(import_react_ui12.Callout.Root, {
|
|
2291
|
+
valence: "info"
|
|
2292
|
+
}, /* @__PURE__ */ import_react19.default.createElement(import_react_ui12.Callout.Title, null, t("system schema description")))), /* @__PURE__ */ import_react19.default.createElement(Form, {
|
|
2273
2293
|
autoSave: true,
|
|
2274
2294
|
schema: ViewMetaSchema,
|
|
2275
2295
|
values: viewValues,
|
|
2296
|
+
readonly,
|
|
2276
2297
|
onSave: handleUpdate,
|
|
2277
|
-
|
|
2298
|
+
outerSpacing
|
|
2278
2299
|
}), /* @__PURE__ */ import_react19.default.createElement("div", {
|
|
2279
2300
|
role: "none",
|
|
2280
|
-
className: "
|
|
2281
|
-
}, /* @__PURE__ */ import_react19.default.createElement("div", {
|
|
2282
|
-
role: "none",
|
|
2283
|
-
className: "pli-card-spacing-inline mlb-card-spacing-block"
|
|
2301
|
+
className: outerSpacing ? import_react_ui_stack4.cardSpacing : "mlb-cardSpacingBlock"
|
|
2284
2302
|
}, /* @__PURE__ */ import_react19.default.createElement("label", {
|
|
2285
2303
|
className: (0, import_react_ui_theme9.mx)(import_react_ui_theme9.inputTextLabel)
|
|
2286
|
-
}, t("fields label"))
|
|
2304
|
+
}, t("fields label")), /* @__PURE__ */ import_react19.default.createElement(import_react_ui_list2.List.Root, {
|
|
2287
2305
|
items: view.fields,
|
|
2288
2306
|
isItem: import_effect12.Schema.is(import_schema5.FieldSchema),
|
|
2289
2307
|
getId: (field2) => field2.id,
|
|
2290
|
-
|
|
2308
|
+
readonly,
|
|
2309
|
+
onMove: readonly ? void 0 : handleMove
|
|
2291
2310
|
}, ({ items: fields }) => /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, showHeading && /* @__PURE__ */ import_react19.default.createElement("div", {
|
|
2292
2311
|
role: "heading",
|
|
2293
2312
|
className: grid
|
|
@@ -2295,41 +2314,38 @@ var ViewEditor = ({ classNames, schema, view, registry, readonly, showHeading =
|
|
|
2295
2314
|
className: "flex items-center text-sm"
|
|
2296
2315
|
}, t("field path label"))), /* @__PURE__ */ import_react19.default.createElement("div", {
|
|
2297
2316
|
role: "list",
|
|
2298
|
-
className: "flex flex-col
|
|
2317
|
+
className: "flex flex-col is-full"
|
|
2299
2318
|
}, fields?.map((field2) => /* @__PURE__ */ import_react19.default.createElement(import_react_ui_list2.List.Item, {
|
|
2300
2319
|
key: field2.id,
|
|
2301
2320
|
item: field2,
|
|
2302
|
-
classNames: (0, import_react_ui_theme9.mx)(grid, import_react_ui_theme9.ghostHover, !
|
|
2321
|
+
classNames: (0, import_react_ui_theme9.mx)(grid, import_react_ui_theme9.ghostHover, "overflow-hidden", !readonly && "cursor-pointer")
|
|
2303
2322
|
}, /* @__PURE__ */ import_react19.default.createElement(import_react_ui_list2.List.ItemDragHandle, null), /* @__PURE__ */ import_react19.default.createElement(import_react_ui_list2.List.ItemTitle, {
|
|
2304
2323
|
onClick: () => handleSelect(field2)
|
|
2305
|
-
}, field2.path), /* @__PURE__ */ import_react19.default.createElement(
|
|
2306
|
-
|
|
2307
|
-
}, /* @__PURE__ */ import_react19.default.createElement(import_react_ui_list2.List.ItemButton, {
|
|
2324
|
+
}, field2.path), /* @__PURE__ */ import_react19.default.createElement(import_react_ui_list2.List.ItemButton, {
|
|
2325
|
+
"data-testid": "hide-field-button",
|
|
2308
2326
|
icon: "ph--eye-slash--regular",
|
|
2327
|
+
// TDOO(burdon): Is this the correct test?
|
|
2309
2328
|
disabled: view.fields.length <= 1,
|
|
2310
|
-
onClick: () => handleHide(field2.id)
|
|
2311
|
-
|
|
2312
|
-
}), !immutable && /* @__PURE__ */ import_react19.default.createElement(import_react_ui_list2.List.ItemDeleteButton, {
|
|
2313
|
-
icon: "ph--trash--regular",
|
|
2329
|
+
onClick: () => handleHide(field2.id)
|
|
2330
|
+
}), !readonly && /* @__PURE__ */ import_react19.default.createElement(import_react_ui_list2.List.ItemDeleteButton, {
|
|
2314
2331
|
disabled: view.fields.length <= 1,
|
|
2315
2332
|
onClick: () => handleDelete(field2.id)
|
|
2316
|
-
}))))))
|
|
2317
|
-
role: "none",
|
|
2318
|
-
className: "pli-card-spacing-inline mlb-card-spacing-block"
|
|
2319
|
-
}, /* @__PURE__ */ import_react19.default.createElement("label", {
|
|
2333
|
+
})))))), hiddenProperties.length > 0 && /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement("label", {
|
|
2320
2334
|
className: (0, import_react_ui_theme9.mx)(import_react_ui_theme9.inputTextLabel)
|
|
2321
|
-
}, t("hidden fields label"))
|
|
2335
|
+
}, t("hidden fields label")), /* @__PURE__ */ import_react19.default.createElement(import_react_ui_list2.List.Root, {
|
|
2322
2336
|
items: hiddenProperties,
|
|
2323
2337
|
isItem: (item) => typeof item === "string",
|
|
2324
2338
|
getId: (property) => property
|
|
2325
2339
|
}, ({ items: properties }) => /* @__PURE__ */ import_react19.default.createElement("div", {
|
|
2326
2340
|
role: "list",
|
|
2327
|
-
className: "flex flex-col
|
|
2341
|
+
className: "flex flex-col is-full"
|
|
2328
2342
|
}, properties?.map((property) => /* @__PURE__ */ import_react19.default.createElement(import_react_ui_list2.List.Item, {
|
|
2329
2343
|
key: property,
|
|
2330
2344
|
item: property,
|
|
2331
|
-
classNames: (0, import_react_ui_theme9.mx)(grid, import_react_ui_theme9.ghostHover, !
|
|
2332
|
-
}, /* @__PURE__ */ import_react19.default.createElement(
|
|
2345
|
+
classNames: (0, import_react_ui_theme9.mx)(grid, import_react_ui_theme9.ghostHover, !readonly && "cursor-pointer")
|
|
2346
|
+
}, /* @__PURE__ */ import_react19.default.createElement(import_react_ui_list2.List.ItemDragHandle, {
|
|
2347
|
+
disabled: true
|
|
2348
|
+
}), /* @__PURE__ */ import_react19.default.createElement(import_react_ui_list2.List.ItemTitle, null, property), /* @__PURE__ */ import_react19.default.createElement(import_react_ui_list2.List.ItemButton, {
|
|
2333
2349
|
icon: "ph--eye--regular",
|
|
2334
2350
|
onClick: () => handleShow(property),
|
|
2335
2351
|
"data-testid": "show-field-button"
|
|
@@ -2342,11 +2358,11 @@ var ViewEditor = ({ classNames, schema, view, registry, readonly, showHeading =
|
|
|
2342
2358
|
onSave: handleClose
|
|
2343
2359
|
}), !readonly && !field && /* @__PURE__ */ import_react19.default.createElement("div", {
|
|
2344
2360
|
role: "none",
|
|
2345
|
-
className: "
|
|
2361
|
+
className: outerSpacing ? import_react_ui_stack4.cardSpacing : "mlb-cardSpacingBlock"
|
|
2346
2362
|
}, /* @__PURE__ */ import_react19.default.createElement(import_react_ui12.IconButton, {
|
|
2347
2363
|
icon: "ph--plus--regular",
|
|
2348
2364
|
label: t("button add property"),
|
|
2349
|
-
onClick:
|
|
2365
|
+
onClick: readonly ? void 0 : handleAdd,
|
|
2350
2366
|
// TODO(burdon): Show field limit in ux (not tooltip).
|
|
2351
2367
|
disabled: view.fields.length >= import_schema5.VIEW_FIELD_LIMIT,
|
|
2352
2368
|
classNames: "flex is-full"
|