@lv-x-software-house/x_view 1.2.2-dev.19 → 1.2.2-dev.20
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/index.js +37 -9
- package/dist/index.mjs +37 -9
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5088,6 +5088,17 @@ function AncestryRelationshipPanel({
|
|
|
5088
5088
|
return newProps;
|
|
5089
5089
|
});
|
|
5090
5090
|
};
|
|
5091
|
+
const handleSaveDescriptionInline = (newDescription) => {
|
|
5092
|
+
setDescription(newDescription);
|
|
5093
|
+
const extrasObj = toObjectFromCustomProps(customProps.filter((p) => !p.isEditing));
|
|
5094
|
+
const processedSections = processDescriptionForSave(newDescription, existingSections);
|
|
5095
|
+
const dataToSave = {
|
|
5096
|
+
description: newDescription,
|
|
5097
|
+
description_sections: processedSections,
|
|
5098
|
+
...extrasObj
|
|
5099
|
+
};
|
|
5100
|
+
onSave(dataToSave);
|
|
5101
|
+
};
|
|
5091
5102
|
const handleSave = () => {
|
|
5092
5103
|
const extrasObj = toObjectFromCustomProps(customProps.filter((p) => !p.isEditing));
|
|
5093
5104
|
const processedSections = processDescriptionForSave(description, existingSections);
|
|
@@ -5137,7 +5148,8 @@ function AncestryRelationshipPanel({
|
|
|
5137
5148
|
availableAncestries,
|
|
5138
5149
|
onOpenReference,
|
|
5139
5150
|
onMentionClick,
|
|
5140
|
-
onImageClick: handleImageClickFromText
|
|
5151
|
+
onImageClick: handleImageClickFromText,
|
|
5152
|
+
onSaveDescription: handleSaveDescriptionInline
|
|
5141
5153
|
}
|
|
5142
5154
|
) : /* @__PURE__ */ import_react9.default.createElement(import_react9.default.Fragment, null, /* @__PURE__ */ import_react9.default.createElement("div", { className: "h-[2px] bg-gradient-to-r from-cyan-400/0 via-cyan-400/70 to-cyan-400/0" }), /* @__PURE__ */ import_react9.default.createElement("div", { className: "px-6 pt-5 pb-3 flex items-start justify-between gap-4" }, /* @__PURE__ */ import_react9.default.createElement("div", null, /* @__PURE__ */ import_react9.default.createElement("div", { className: "flex items-center gap-2 mb-1" }, /* @__PURE__ */ import_react9.default.createElement("span", { className: "inline-flex h-2.5 w-2.5 rounded-full bg-cyan-400/80 shadow-[0_0_18px_2px_rgba(45,212,191,0.55)]" }), /* @__PURE__ */ import_react9.default.createElement("p", { className: "text-xs/relaxed text-slate-300" }, "Detalhes da Rela\xE7\xE3o de Ancestralidade")), /* @__PURE__ */ import_react9.default.createElement("h2", { className: "text-xl sm:text-2xl font-semibold tracking-tight" }, "Editar Rela\xE7\xE3o")), /* @__PURE__ */ import_react9.default.createElement("button", { onClick: onClose, className: "w-9 h-9 grid place-content-center rounded-lg border border-white/15 bg-transparent hover:bg-white/5 transition-colors text-xl", title: "Fechar" }, "\xD7")), /* @__PURE__ */ import_react9.default.createElement("div", { className: "px-6 pb-4 overflow-y-auto overscroll-contain space-y-4 custom-scrollbar" }, /* @__PURE__ */ import_react9.default.createElement("div", { className: "space-y-1.5 relative" }, /* @__PURE__ */ import_react9.default.createElement("label", { className: "text-xs text-slate-300" }, "Descri\xE7\xE3o da Rela\xE7\xE3o"), /* @__PURE__ */ import_react9.default.createElement("div", { className: "relative group min-h-[60px] bg-slate-800/40 rounded-lg border border-white/10 hover:border-white/20 transition-colors" }, /* @__PURE__ */ import_react9.default.createElement(
|
|
5143
5155
|
DescriptionDisplay,
|
|
@@ -5148,7 +5160,8 @@ function AncestryRelationshipPanel({
|
|
|
5148
5160
|
availableAncestries,
|
|
5149
5161
|
onOpenReference,
|
|
5150
5162
|
onMentionClick,
|
|
5151
|
-
onImageClick: handleImageClickFromText
|
|
5163
|
+
onImageClick: handleImageClickFromText,
|
|
5164
|
+
onSaveDescription: handleSaveDescriptionInline
|
|
5152
5165
|
}
|
|
5153
5166
|
), /* @__PURE__ */ import_react9.default.createElement("div", { className: "absolute top-0 right-0 flex bg-slate-900/50 rounded-bl-lg backdrop-blur-sm opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity overflow-hidden border-b border-l border-white/5" }, /* @__PURE__ */ import_react9.default.createElement(
|
|
5154
5167
|
"button",
|
|
@@ -6396,6 +6409,10 @@ function CreateAncestryPanel({
|
|
|
6396
6409
|
setInternalHighlightedNodeId(id);
|
|
6397
6410
|
if (onHighlightNode) onHighlightNode(id);
|
|
6398
6411
|
};
|
|
6412
|
+
const handleSaveDescriptionInline = (newDesc) => {
|
|
6413
|
+
setDescription(newDesc);
|
|
6414
|
+
handleLocalSave(true, { description: newDesc });
|
|
6415
|
+
};
|
|
6399
6416
|
const swallow = (e) => e.stopPropagation();
|
|
6400
6417
|
const getSelectedParentName = () => {
|
|
6401
6418
|
if (!activeTree || !selectedParentId) return "";
|
|
@@ -6507,7 +6524,8 @@ function CreateAncestryPanel({
|
|
|
6507
6524
|
onMentionClick,
|
|
6508
6525
|
onSectionChange: handleSectionChangeWrapper,
|
|
6509
6526
|
onHighlightNode,
|
|
6510
|
-
onImageClick: handleImageClickFromText
|
|
6527
|
+
onImageClick: handleImageClickFromText,
|
|
6528
|
+
onSaveDescription: handleSaveDescriptionInline
|
|
6511
6529
|
}
|
|
6512
6530
|
) : /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement("div", { className: "h-[2px] bg-gradient-to-r from-indigo-400/0 via-indigo-400/70 to-indigo-400/0 flex-shrink-0" }), /* @__PURE__ */ import_react11.default.createElement("div", { className: "px-6 pt-5 pb-3 flex items-start justify-between gap-4 flex-shrink-0" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "w-full" }, /* @__PURE__ */ import_react11.default.createElement("div", { className: "flex items-center gap-2 mb-1" }, /* @__PURE__ */ import_react11.default.createElement("span", { className: "inline-flex h-2.5 w-2.5 rounded-full bg-indigo-400/80 shadow-[0_0_18px_2px_rgba(99,102,241,0.55)]" }), /* @__PURE__ */ import_react11.default.createElement("p", { className: "text-xs/relaxed text-slate-300" }, branchStack.length > 0 ? `Ramifica\xE7\xE3o (N\xEDvel ${branchStack.length})` : isEditMode ? "Editar Ancestralidade" : "Criar Ancestralidade"), currentAncestryId && currentAncestryId !== "temp_creating" && currentAncestryId !== "temp_root" && /* @__PURE__ */ import_react11.default.createElement(
|
|
6513
6531
|
"button",
|
|
@@ -6564,7 +6582,8 @@ function CreateAncestryPanel({
|
|
|
6564
6582
|
onHighlightNode: handleHighlightWrapper,
|
|
6565
6583
|
initialSectionId: targetScrollSectionId,
|
|
6566
6584
|
currentBranchDirection: currentContext ? currentContext.direction : null,
|
|
6567
|
-
onImageClick: handleImageClickFromText
|
|
6585
|
+
onImageClick: handleImageClickFromText,
|
|
6586
|
+
onSaveDescription: handleSaveDescriptionInline
|
|
6568
6587
|
}
|
|
6569
6588
|
), /* @__PURE__ */ import_react11.default.createElement("div", { className: "absolute top-0 right-0 flex bg-slate-900/50 rounded-bl-lg backdrop-blur-sm opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity overflow-hidden border-b border-l border-white/5 z-30" }, /* @__PURE__ */ import_react11.default.createElement(
|
|
6570
6589
|
"button",
|
|
@@ -7287,7 +7306,8 @@ function InSceneCreationForm({
|
|
|
7287
7306
|
availableNodes,
|
|
7288
7307
|
availableAncestries,
|
|
7289
7308
|
onMentionClick,
|
|
7290
|
-
onImageClick: handleImageClickFromText
|
|
7309
|
+
onImageClick: handleImageClickFromText,
|
|
7310
|
+
onSaveDescription: (newDesc) => setDescription(newDesc)
|
|
7291
7311
|
}
|
|
7292
7312
|
), /* @__PURE__ */ import_react14.default.createElement("div", { className: "absolute top-0 right-0 flex bg-slate-900/50 rounded-bl-lg backdrop-blur-sm opacity-0 group-hover:opacity-100 transition-opacity overflow-hidden border-b border-l border-white/5" }, /* @__PURE__ */ import_react14.default.createElement(
|
|
7293
7313
|
"button",
|
|
@@ -7524,7 +7544,8 @@ function InSceneVersionForm({
|
|
|
7524
7544
|
availableNodes,
|
|
7525
7545
|
availableAncestries,
|
|
7526
7546
|
onMentionClick,
|
|
7527
|
-
onImageClick: handleImageClickFromText
|
|
7547
|
+
onImageClick: handleImageClickFromText,
|
|
7548
|
+
onSaveDescription: (newDesc) => setDescription(newDesc)
|
|
7528
7549
|
}
|
|
7529
7550
|
), /* @__PURE__ */ import_react15.default.createElement("div", { className: "absolute top-0 right-0 flex bg-slate-900/50 rounded-bl-lg backdrop-blur-sm opacity-0 group-hover:opacity-100 transition-opacity overflow-hidden border-b border-l border-white/5" }, /* @__PURE__ */ import_react15.default.createElement(
|
|
7530
7551
|
"button",
|
|
@@ -8158,7 +8179,6 @@ function RelationshipDetailsPanel({
|
|
|
8158
8179
|
onMentionClick,
|
|
8159
8180
|
onUploadFile,
|
|
8160
8181
|
userRole
|
|
8161
|
-
// Recebendo userRole via props
|
|
8162
8182
|
}) {
|
|
8163
8183
|
const [name, setName] = (0, import_react18.useState)((link == null ? void 0 : link.name) ?? "");
|
|
8164
8184
|
const [description, setDescription] = (0, import_react18.useState)((link == null ? void 0 : link.description) ?? "");
|
|
@@ -8221,6 +8241,12 @@ function RelationshipDetailsPanel({
|
|
|
8221
8241
|
const triggerAutoSave = (overrides = {}) => {
|
|
8222
8242
|
if (canEdit) handleSave(true, overrides);
|
|
8223
8243
|
};
|
|
8244
|
+
const handleSaveDescriptionInline = (newDescription) => {
|
|
8245
|
+
if (!canEdit) return;
|
|
8246
|
+
setDescription(newDescription);
|
|
8247
|
+
onDataUpdate((prev) => ({ ...prev, description: newDescription }));
|
|
8248
|
+
triggerAutoSave({ description: newDescription });
|
|
8249
|
+
};
|
|
8224
8250
|
const handleRemoveProp = (i) => {
|
|
8225
8251
|
const newProps = customProps.filter((_, idx) => idx !== i);
|
|
8226
8252
|
setCustomProps(newProps);
|
|
@@ -8274,7 +8300,8 @@ function RelationshipDetailsPanel({
|
|
|
8274
8300
|
availableAncestries,
|
|
8275
8301
|
onOpenReference,
|
|
8276
8302
|
onMentionClick,
|
|
8277
|
-
onImageClick: handleImageClickFromText
|
|
8303
|
+
onImageClick: handleImageClickFromText,
|
|
8304
|
+
onSaveDescription: handleSaveDescriptionInline
|
|
8278
8305
|
}
|
|
8279
8306
|
) : /* @__PURE__ */ import_react18.default.createElement(import_react18.default.Fragment, null, /* @__PURE__ */ import_react18.default.createElement("div", { className: "h-[2px] bg-gradient-to-r from-teal-400/0 via-teal-400/70 to-teal-400/0" }), /* @__PURE__ */ import_react18.default.createElement("div", { className: "px-6 pt-5 pb-3 flex items-start justify-between gap-4" }, /* @__PURE__ */ import_react18.default.createElement("div", null, /* @__PURE__ */ import_react18.default.createElement("div", { className: "flex items-center gap-2 mb-1" }, /* @__PURE__ */ import_react18.default.createElement("span", { className: "inline-flex h-2.5 w-2.5 rounded-full bg-teal-400/80 shadow-[0_0_18px_2px_rgba(45,212,191,0.55)]" }), /* @__PURE__ */ import_react18.default.createElement("p", { className: "text-xs/relaxed text-slate-300" }, "Detalhes da Rela\xE7\xE3o")), /* @__PURE__ */ import_react18.default.createElement("h2", { className: "text-xl sm:text-2xl font-semibold tracking-tight" }, name || "Rela\xE7\xE3o")), /* @__PURE__ */ import_react18.default.createElement("button", { onClick: onClose, disabled: isSaving, className: "w-9 h-9 grid place-content-center rounded-lg border border-white/15 bg-transparent hover:bg-white/5 transition-colors text-xl disabled:opacity-50", title: "Fechar" }, "\xD7")), /* @__PURE__ */ import_react18.default.createElement("div", { className: "px-6 pb-28 overflow-y-auto overscroll-contain space-y-4 max-h-[68vh] custom-scrollbar" }, /* @__PURE__ */ import_react18.default.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ import_react18.default.createElement("label", { className: "text-xs text-slate-300" }, "Nome da Rela\xE7\xE3o (Opcional)"), /* @__PURE__ */ import_react18.default.createElement(
|
|
8280
8307
|
"input",
|
|
@@ -8297,7 +8324,8 @@ function RelationshipDetailsPanel({
|
|
|
8297
8324
|
availableAncestries,
|
|
8298
8325
|
onOpenReference,
|
|
8299
8326
|
onMentionClick,
|
|
8300
|
-
onImageClick: handleImageClickFromText
|
|
8327
|
+
onImageClick: handleImageClickFromText,
|
|
8328
|
+
onSaveDescription: handleSaveDescriptionInline
|
|
8301
8329
|
}
|
|
8302
8330
|
), /* @__PURE__ */ import_react18.default.createElement("div", { className: "absolute top-0 right-0 flex bg-slate-900/50 rounded-bl-lg backdrop-blur-sm opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity overflow-hidden border-b border-l border-white/5" }, /* @__PURE__ */ import_react18.default.createElement(
|
|
8303
8331
|
"button",
|
package/dist/index.mjs
CHANGED
|
@@ -5058,6 +5058,17 @@ function AncestryRelationshipPanel({
|
|
|
5058
5058
|
return newProps;
|
|
5059
5059
|
});
|
|
5060
5060
|
};
|
|
5061
|
+
const handleSaveDescriptionInline = (newDescription) => {
|
|
5062
|
+
setDescription(newDescription);
|
|
5063
|
+
const extrasObj = toObjectFromCustomProps(customProps.filter((p) => !p.isEditing));
|
|
5064
|
+
const processedSections = processDescriptionForSave(newDescription, existingSections);
|
|
5065
|
+
const dataToSave = {
|
|
5066
|
+
description: newDescription,
|
|
5067
|
+
description_sections: processedSections,
|
|
5068
|
+
...extrasObj
|
|
5069
|
+
};
|
|
5070
|
+
onSave(dataToSave);
|
|
5071
|
+
};
|
|
5061
5072
|
const handleSave = () => {
|
|
5062
5073
|
const extrasObj = toObjectFromCustomProps(customProps.filter((p) => !p.isEditing));
|
|
5063
5074
|
const processedSections = processDescriptionForSave(description, existingSections);
|
|
@@ -5107,7 +5118,8 @@ function AncestryRelationshipPanel({
|
|
|
5107
5118
|
availableAncestries,
|
|
5108
5119
|
onOpenReference,
|
|
5109
5120
|
onMentionClick,
|
|
5110
|
-
onImageClick: handleImageClickFromText
|
|
5121
|
+
onImageClick: handleImageClickFromText,
|
|
5122
|
+
onSaveDescription: handleSaveDescriptionInline
|
|
5111
5123
|
}
|
|
5112
5124
|
) : /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("div", { className: "h-[2px] bg-gradient-to-r from-cyan-400/0 via-cyan-400/70 to-cyan-400/0" }), /* @__PURE__ */ React8.createElement("div", { className: "px-6 pt-5 pb-3 flex items-start justify-between gap-4" }, /* @__PURE__ */ React8.createElement("div", null, /* @__PURE__ */ React8.createElement("div", { className: "flex items-center gap-2 mb-1" }, /* @__PURE__ */ React8.createElement("span", { className: "inline-flex h-2.5 w-2.5 rounded-full bg-cyan-400/80 shadow-[0_0_18px_2px_rgba(45,212,191,0.55)]" }), /* @__PURE__ */ React8.createElement("p", { className: "text-xs/relaxed text-slate-300" }, "Detalhes da Rela\xE7\xE3o de Ancestralidade")), /* @__PURE__ */ React8.createElement("h2", { className: "text-xl sm:text-2xl font-semibold tracking-tight" }, "Editar Rela\xE7\xE3o")), /* @__PURE__ */ React8.createElement("button", { onClick: onClose, className: "w-9 h-9 grid place-content-center rounded-lg border border-white/15 bg-transparent hover:bg-white/5 transition-colors text-xl", title: "Fechar" }, "\xD7")), /* @__PURE__ */ React8.createElement("div", { className: "px-6 pb-4 overflow-y-auto overscroll-contain space-y-4 custom-scrollbar" }, /* @__PURE__ */ React8.createElement("div", { className: "space-y-1.5 relative" }, /* @__PURE__ */ React8.createElement("label", { className: "text-xs text-slate-300" }, "Descri\xE7\xE3o da Rela\xE7\xE3o"), /* @__PURE__ */ React8.createElement("div", { className: "relative group min-h-[60px] bg-slate-800/40 rounded-lg border border-white/10 hover:border-white/20 transition-colors" }, /* @__PURE__ */ React8.createElement(
|
|
5113
5125
|
DescriptionDisplay,
|
|
@@ -5118,7 +5130,8 @@ function AncestryRelationshipPanel({
|
|
|
5118
5130
|
availableAncestries,
|
|
5119
5131
|
onOpenReference,
|
|
5120
5132
|
onMentionClick,
|
|
5121
|
-
onImageClick: handleImageClickFromText
|
|
5133
|
+
onImageClick: handleImageClickFromText,
|
|
5134
|
+
onSaveDescription: handleSaveDescriptionInline
|
|
5122
5135
|
}
|
|
5123
5136
|
), /* @__PURE__ */ React8.createElement("div", { className: "absolute top-0 right-0 flex bg-slate-900/50 rounded-bl-lg backdrop-blur-sm opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity overflow-hidden border-b border-l border-white/5" }, /* @__PURE__ */ React8.createElement(
|
|
5124
5137
|
"button",
|
|
@@ -6382,6 +6395,10 @@ function CreateAncestryPanel({
|
|
|
6382
6395
|
setInternalHighlightedNodeId(id);
|
|
6383
6396
|
if (onHighlightNode) onHighlightNode(id);
|
|
6384
6397
|
};
|
|
6398
|
+
const handleSaveDescriptionInline = (newDesc) => {
|
|
6399
|
+
setDescription(newDesc);
|
|
6400
|
+
handleLocalSave(true, { description: newDesc });
|
|
6401
|
+
};
|
|
6385
6402
|
const swallow = (e) => e.stopPropagation();
|
|
6386
6403
|
const getSelectedParentName = () => {
|
|
6387
6404
|
if (!activeTree || !selectedParentId) return "";
|
|
@@ -6493,7 +6510,8 @@ function CreateAncestryPanel({
|
|
|
6493
6510
|
onMentionClick,
|
|
6494
6511
|
onSectionChange: handleSectionChangeWrapper,
|
|
6495
6512
|
onHighlightNode,
|
|
6496
|
-
onImageClick: handleImageClickFromText
|
|
6513
|
+
onImageClick: handleImageClickFromText,
|
|
6514
|
+
onSaveDescription: handleSaveDescriptionInline
|
|
6497
6515
|
}
|
|
6498
6516
|
) : /* @__PURE__ */ React10.createElement(React10.Fragment, null, /* @__PURE__ */ React10.createElement("div", { className: "h-[2px] bg-gradient-to-r from-indigo-400/0 via-indigo-400/70 to-indigo-400/0 flex-shrink-0" }), /* @__PURE__ */ React10.createElement("div", { className: "px-6 pt-5 pb-3 flex items-start justify-between gap-4 flex-shrink-0" }, /* @__PURE__ */ React10.createElement("div", { className: "w-full" }, /* @__PURE__ */ React10.createElement("div", { className: "flex items-center gap-2 mb-1" }, /* @__PURE__ */ React10.createElement("span", { className: "inline-flex h-2.5 w-2.5 rounded-full bg-indigo-400/80 shadow-[0_0_18px_2px_rgba(99,102,241,0.55)]" }), /* @__PURE__ */ React10.createElement("p", { className: "text-xs/relaxed text-slate-300" }, branchStack.length > 0 ? `Ramifica\xE7\xE3o (N\xEDvel ${branchStack.length})` : isEditMode ? "Editar Ancestralidade" : "Criar Ancestralidade"), currentAncestryId && currentAncestryId !== "temp_creating" && currentAncestryId !== "temp_root" && /* @__PURE__ */ React10.createElement(
|
|
6499
6517
|
"button",
|
|
@@ -6550,7 +6568,8 @@ function CreateAncestryPanel({
|
|
|
6550
6568
|
onHighlightNode: handleHighlightWrapper,
|
|
6551
6569
|
initialSectionId: targetScrollSectionId,
|
|
6552
6570
|
currentBranchDirection: currentContext ? currentContext.direction : null,
|
|
6553
|
-
onImageClick: handleImageClickFromText
|
|
6571
|
+
onImageClick: handleImageClickFromText,
|
|
6572
|
+
onSaveDescription: handleSaveDescriptionInline
|
|
6554
6573
|
}
|
|
6555
6574
|
), /* @__PURE__ */ React10.createElement("div", { className: "absolute top-0 right-0 flex bg-slate-900/50 rounded-bl-lg backdrop-blur-sm opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity overflow-hidden border-b border-l border-white/5 z-30" }, /* @__PURE__ */ React10.createElement(
|
|
6556
6575
|
"button",
|
|
@@ -7273,7 +7292,8 @@ function InSceneCreationForm({
|
|
|
7273
7292
|
availableNodes,
|
|
7274
7293
|
availableAncestries,
|
|
7275
7294
|
onMentionClick,
|
|
7276
|
-
onImageClick: handleImageClickFromText
|
|
7295
|
+
onImageClick: handleImageClickFromText,
|
|
7296
|
+
onSaveDescription: (newDesc) => setDescription(newDesc)
|
|
7277
7297
|
}
|
|
7278
7298
|
), /* @__PURE__ */ React13.createElement("div", { className: "absolute top-0 right-0 flex bg-slate-900/50 rounded-bl-lg backdrop-blur-sm opacity-0 group-hover:opacity-100 transition-opacity overflow-hidden border-b border-l border-white/5" }, /* @__PURE__ */ React13.createElement(
|
|
7279
7299
|
"button",
|
|
@@ -7510,7 +7530,8 @@ function InSceneVersionForm({
|
|
|
7510
7530
|
availableNodes,
|
|
7511
7531
|
availableAncestries,
|
|
7512
7532
|
onMentionClick,
|
|
7513
|
-
onImageClick: handleImageClickFromText
|
|
7533
|
+
onImageClick: handleImageClickFromText,
|
|
7534
|
+
onSaveDescription: (newDesc) => setDescription(newDesc)
|
|
7514
7535
|
}
|
|
7515
7536
|
), /* @__PURE__ */ React14.createElement("div", { className: "absolute top-0 right-0 flex bg-slate-900/50 rounded-bl-lg backdrop-blur-sm opacity-0 group-hover:opacity-100 transition-opacity overflow-hidden border-b border-l border-white/5" }, /* @__PURE__ */ React14.createElement(
|
|
7516
7537
|
"button",
|
|
@@ -8144,7 +8165,6 @@ function RelationshipDetailsPanel({
|
|
|
8144
8165
|
onMentionClick,
|
|
8145
8166
|
onUploadFile,
|
|
8146
8167
|
userRole
|
|
8147
|
-
// Recebendo userRole via props
|
|
8148
8168
|
}) {
|
|
8149
8169
|
const [name, setName] = useState18((link == null ? void 0 : link.name) ?? "");
|
|
8150
8170
|
const [description, setDescription] = useState18((link == null ? void 0 : link.description) ?? "");
|
|
@@ -8207,6 +8227,12 @@ function RelationshipDetailsPanel({
|
|
|
8207
8227
|
const triggerAutoSave = (overrides = {}) => {
|
|
8208
8228
|
if (canEdit) handleSave(true, overrides);
|
|
8209
8229
|
};
|
|
8230
|
+
const handleSaveDescriptionInline = (newDescription) => {
|
|
8231
|
+
if (!canEdit) return;
|
|
8232
|
+
setDescription(newDescription);
|
|
8233
|
+
onDataUpdate((prev) => ({ ...prev, description: newDescription }));
|
|
8234
|
+
triggerAutoSave({ description: newDescription });
|
|
8235
|
+
};
|
|
8210
8236
|
const handleRemoveProp = (i) => {
|
|
8211
8237
|
const newProps = customProps.filter((_, idx) => idx !== i);
|
|
8212
8238
|
setCustomProps(newProps);
|
|
@@ -8260,7 +8286,8 @@ function RelationshipDetailsPanel({
|
|
|
8260
8286
|
availableAncestries,
|
|
8261
8287
|
onOpenReference,
|
|
8262
8288
|
onMentionClick,
|
|
8263
|
-
onImageClick: handleImageClickFromText
|
|
8289
|
+
onImageClick: handleImageClickFromText,
|
|
8290
|
+
onSaveDescription: handleSaveDescriptionInline
|
|
8264
8291
|
}
|
|
8265
8292
|
) : /* @__PURE__ */ React17.createElement(React17.Fragment, null, /* @__PURE__ */ React17.createElement("div", { className: "h-[2px] bg-gradient-to-r from-teal-400/0 via-teal-400/70 to-teal-400/0" }), /* @__PURE__ */ React17.createElement("div", { className: "px-6 pt-5 pb-3 flex items-start justify-between gap-4" }, /* @__PURE__ */ React17.createElement("div", null, /* @__PURE__ */ React17.createElement("div", { className: "flex items-center gap-2 mb-1" }, /* @__PURE__ */ React17.createElement("span", { className: "inline-flex h-2.5 w-2.5 rounded-full bg-teal-400/80 shadow-[0_0_18px_2px_rgba(45,212,191,0.55)]" }), /* @__PURE__ */ React17.createElement("p", { className: "text-xs/relaxed text-slate-300" }, "Detalhes da Rela\xE7\xE3o")), /* @__PURE__ */ React17.createElement("h2", { className: "text-xl sm:text-2xl font-semibold tracking-tight" }, name || "Rela\xE7\xE3o")), /* @__PURE__ */ React17.createElement("button", { onClick: onClose, disabled: isSaving, className: "w-9 h-9 grid place-content-center rounded-lg border border-white/15 bg-transparent hover:bg-white/5 transition-colors text-xl disabled:opacity-50", title: "Fechar" }, "\xD7")), /* @__PURE__ */ React17.createElement("div", { className: "px-6 pb-28 overflow-y-auto overscroll-contain space-y-4 max-h-[68vh] custom-scrollbar" }, /* @__PURE__ */ React17.createElement("div", { className: "space-y-1.5" }, /* @__PURE__ */ React17.createElement("label", { className: "text-xs text-slate-300" }, "Nome da Rela\xE7\xE3o (Opcional)"), /* @__PURE__ */ React17.createElement(
|
|
8266
8293
|
"input",
|
|
@@ -8283,7 +8310,8 @@ function RelationshipDetailsPanel({
|
|
|
8283
8310
|
availableAncestries,
|
|
8284
8311
|
onOpenReference,
|
|
8285
8312
|
onMentionClick,
|
|
8286
|
-
onImageClick: handleImageClickFromText
|
|
8313
|
+
onImageClick: handleImageClickFromText,
|
|
8314
|
+
onSaveDescription: handleSaveDescriptionInline
|
|
8287
8315
|
}
|
|
8288
8316
|
), /* @__PURE__ */ React17.createElement("div", { className: "absolute top-0 right-0 flex bg-slate-900/50 rounded-bl-lg backdrop-blur-sm opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity overflow-hidden border-b border-l border-white/5" }, /* @__PURE__ */ React17.createElement(
|
|
8289
8317
|
"button",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lv-x-software-house/x_view",
|
|
3
|
-
"version": "1.2.2-dev.
|
|
3
|
+
"version": "1.2.2-dev.20",
|
|
4
4
|
"description": "Pacote privado contendo os componentes e lógica de renderização 3D do X View.",
|
|
5
5
|
"author": "iv.x - Engenharia de Software - ivxsoftwarehouse@gmail.com",
|
|
6
6
|
"license": "UNLICENSED",
|