@lv-x-software-house/x_view 1.2.6-dev.52 → 1.2.6-dev.53
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 +101 -42
- package/dist/index.mjs +101 -42
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3869,6 +3869,49 @@ function ContextMenu({
|
|
|
3869
3869
|
// src/components/XViewSidebar.jsx
|
|
3870
3870
|
var import_react3 = __toESM(require("react"));
|
|
3871
3871
|
var import_fi2 = require("react-icons/fi");
|
|
3872
|
+
var CustomSelect = ({ value, onChange, options, placeholder }) => {
|
|
3873
|
+
const [isOpen, setIsOpen] = (0, import_react3.useState)(false);
|
|
3874
|
+
const selectRef = (0, import_react3.useRef)(null);
|
|
3875
|
+
(0, import_react3.useEffect)(() => {
|
|
3876
|
+
const handleClickOutside = (e) => {
|
|
3877
|
+
if (selectRef.current && !selectRef.current.contains(e.target)) {
|
|
3878
|
+
setIsOpen(false);
|
|
3879
|
+
}
|
|
3880
|
+
};
|
|
3881
|
+
if (isOpen) {
|
|
3882
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
3883
|
+
}
|
|
3884
|
+
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
3885
|
+
}, [isOpen]);
|
|
3886
|
+
const selectedOption = options.find((o) => String(o.value) === String(value));
|
|
3887
|
+
return /* @__PURE__ */ import_react3.default.createElement("div", { ref: selectRef, className: "relative w-full text-slate-200 text-sm" }, /* @__PURE__ */ import_react3.default.createElement(
|
|
3888
|
+
"button",
|
|
3889
|
+
{
|
|
3890
|
+
type: "button",
|
|
3891
|
+
onClick: () => setIsOpen(!isOpen),
|
|
3892
|
+
className: `w-full bg-slate-900/80 px-3 py-2.5 rounded-md border text-left transition-all flex items-center justify-between
|
|
3893
|
+
${isOpen ? "border-indigo-500/50 bg-slate-800" : "border-white/10 hover:bg-slate-800"}`
|
|
3894
|
+
},
|
|
3895
|
+
/* @__PURE__ */ import_react3.default.createElement("span", { className: "truncate" }, selectedOption ? selectedOption.label : placeholder),
|
|
3896
|
+
/* @__PURE__ */ import_react3.default.createElement("svg", { className: `w-4 h-4 text-slate-500 transition-transform flex-shrink-0 ${isOpen ? "rotate-180" : ""}`, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, /* @__PURE__ */ import_react3.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }))
|
|
3897
|
+
), isOpen && /* @__PURE__ */ import_react3.default.createElement("div", { className: "absolute z-50 w-full mt-2 bg-slate-800 border border-white/10 rounded-lg shadow-2xl max-h-56 overflow-y-auto custom-scrollbar animate-in fade-in zoom-in-95 duration-100 py-1" }, options.map((opt, idx) => {
|
|
3898
|
+
const isSelected = String(value) === String(opt.value);
|
|
3899
|
+
return /* @__PURE__ */ import_react3.default.createElement(
|
|
3900
|
+
"button",
|
|
3901
|
+
{
|
|
3902
|
+
key: idx,
|
|
3903
|
+
type: "button",
|
|
3904
|
+
onClick: () => {
|
|
3905
|
+
onChange(opt.value);
|
|
3906
|
+
setIsOpen(false);
|
|
3907
|
+
},
|
|
3908
|
+
className: `w-full text-left px-3 py-2.5 text-sm transition-colors
|
|
3909
|
+
${isSelected ? "bg-indigo-600/30 text-indigo-200 font-medium" : "text-slate-300 hover:bg-white/10"}`
|
|
3910
|
+
},
|
|
3911
|
+
opt.label
|
|
3912
|
+
);
|
|
3913
|
+
})));
|
|
3914
|
+
};
|
|
3872
3915
|
function XViewSidebar({
|
|
3873
3916
|
dbNodes = [],
|
|
3874
3917
|
isNodeInView = () => false,
|
|
@@ -4161,37 +4204,46 @@ function XViewSidebar({
|
|
|
4161
4204
|
},
|
|
4162
4205
|
/* @__PURE__ */ import_react3.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "h-4 w-4", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ import_react3.default.createElement("path", { fillRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z", clipRule: "evenodd" }))
|
|
4163
4206
|
)),
|
|
4164
|
-
/* @__PURE__ */ import_react3.default.createElement("div", { className: "flex-1 overflow-y-auto p-4 space-y-6" }, activeSubMenu === "quest" && /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-6 animate-in fade-in slide-in-from-bottom-2 duration-500" }, /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Respons\xE1vel"), /* @__PURE__ */ import_react3.default.createElement(
|
|
4165
|
-
|
|
4207
|
+
/* @__PURE__ */ import_react3.default.createElement("div", { className: "flex-1 overflow-y-auto p-4 space-y-6" }, activeSubMenu === "quest" && /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-6 animate-in fade-in slide-in-from-bottom-2 duration-500" }, /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Respons\xE1vel"), /* @__PURE__ */ import_react3.default.createElement(
|
|
4208
|
+
CustomSelect,
|
|
4166
4209
|
{
|
|
4167
4210
|
value: questFilterAssignee,
|
|
4168
|
-
onChange: (
|
|
4169
|
-
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
|
|
4174
|
-
|
|
4211
|
+
onChange: (val) => setQuestFilterAssignee(val),
|
|
4212
|
+
options: [
|
|
4213
|
+
{ value: "", label: "Todos os Respons\xE1veis" },
|
|
4214
|
+
...viewMembers.map((m) => ({ value: m.id, label: m.name || m.email }))
|
|
4215
|
+
],
|
|
4216
|
+
placeholder: "Selecione um Respons\xE1vel"
|
|
4217
|
+
}
|
|
4218
|
+
)), /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Status"), /* @__PURE__ */ import_react3.default.createElement(
|
|
4219
|
+
CustomSelect,
|
|
4175
4220
|
{
|
|
4176
4221
|
value: questFilterStatus,
|
|
4177
|
-
onChange: (
|
|
4178
|
-
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
|
|
4185
|
-
|
|
4186
|
-
|
|
4222
|
+
onChange: (val) => setQuestFilterStatus(val),
|
|
4223
|
+
options: [
|
|
4224
|
+
{ value: "", label: "Todos (Exclui Done)" },
|
|
4225
|
+
{ value: "Backlog", label: "Backlog" },
|
|
4226
|
+
{ value: "In Progress", label: "In Progress" },
|
|
4227
|
+
{ value: "Review", label: "Review" },
|
|
4228
|
+
{ value: "Done", label: "Done" }
|
|
4229
|
+
],
|
|
4230
|
+
placeholder: "Selecione um Status"
|
|
4231
|
+
}
|
|
4232
|
+
)), /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Milestone"), /* @__PURE__ */ import_react3.default.createElement(
|
|
4233
|
+
CustomSelect,
|
|
4187
4234
|
{
|
|
4188
4235
|
value: questFilterMilestone,
|
|
4189
|
-
onChange: (
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4236
|
+
onChange: (val) => setQuestFilterMilestone(val),
|
|
4237
|
+
options: [
|
|
4238
|
+
{ value: "", label: "Todos os Milestones" },
|
|
4239
|
+
...milestones.map((ms) => ({
|
|
4240
|
+
value: ms.id,
|
|
4241
|
+
label: `${ms.name} ${ms.status === "inactive" ? "(Inativo)" : ""}`
|
|
4242
|
+
}))
|
|
4243
|
+
],
|
|
4244
|
+
placeholder: "Todos os Milestones"
|
|
4245
|
+
}
|
|
4246
|
+
)), /* @__PURE__ */ import_react3.default.createElement("div", { className: "flex gap-3 pt-4" }, /* @__PURE__ */ import_react3.default.createElement(
|
|
4195
4247
|
"button",
|
|
4196
4248
|
{
|
|
4197
4249
|
onClick: () => {
|
|
@@ -4216,17 +4268,19 @@ function XViewSidebar({
|
|
|
4216
4268
|
className: "flex-[2] py-3 bg-indigo-600 hover:bg-indigo-500 text-white text-[10px] font-black uppercase tracking-widest rounded-xl shadow-lg shadow-indigo-500/20 transition-all hover:scale-[1.02] active:scale-95"
|
|
4217
4269
|
},
|
|
4218
4270
|
"Aplicar Lente"
|
|
4219
|
-
))), activeSubMenu === "reshape" && /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-6 animate-in fade-in slide-in-from-bottom-2 duration-500" }, /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Layout Type"), /* @__PURE__ */ import_react3.default.createElement(
|
|
4220
|
-
|
|
4271
|
+
))), activeSubMenu === "reshape" && /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-6 animate-in fade-in slide-in-from-bottom-2 duration-500" }, /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Layout Type"), /* @__PURE__ */ import_react3.default.createElement(
|
|
4272
|
+
CustomSelect,
|
|
4221
4273
|
{
|
|
4222
4274
|
value: reshapeLayoutType,
|
|
4223
|
-
onChange: (
|
|
4224
|
-
|
|
4225
|
-
|
|
4226
|
-
|
|
4227
|
-
|
|
4228
|
-
|
|
4229
|
-
|
|
4275
|
+
onChange: (val) => setReshapeLayoutType(val),
|
|
4276
|
+
options: [
|
|
4277
|
+
{ value: "Star", label: "Star" },
|
|
4278
|
+
{ value: "Circle", label: "Circle" },
|
|
4279
|
+
{ value: "Column", label: "Column" }
|
|
4280
|
+
],
|
|
4281
|
+
placeholder: "Selecione um Formato"
|
|
4282
|
+
}
|
|
4283
|
+
)), reshapeLayoutType === "Column" && /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Colunas"), /* @__PURE__ */ import_react3.default.createElement(
|
|
4230
4284
|
"input",
|
|
4231
4285
|
{
|
|
4232
4286
|
type: "number",
|
|
@@ -4236,16 +4290,21 @@ function XViewSidebar({
|
|
|
4236
4290
|
onChange: (e) => setReshapeColumnCount(parseInt(e.target.value) || 4),
|
|
4237
4291
|
className: "w-full bg-slate-900/80 px-3 py-2.5 text-sm rounded-md border border-white/10 focus:outline-none focus:border-indigo-500/50 text-white hover:bg-slate-800/50 transition-all"
|
|
4238
4292
|
}
|
|
4239
|
-
)), reshapeLayoutType === "Star" && /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "N\xF3 Central"), /* @__PURE__ */ import_react3.default.createElement(
|
|
4240
|
-
|
|
4293
|
+
)), reshapeLayoutType === "Star" && /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "N\xF3 Central"), /* @__PURE__ */ import_react3.default.createElement(
|
|
4294
|
+
CustomSelect,
|
|
4241
4295
|
{
|
|
4242
4296
|
value: reshapeCenterNodeId,
|
|
4243
|
-
onChange: (
|
|
4244
|
-
|
|
4245
|
-
|
|
4246
|
-
|
|
4247
|
-
|
|
4248
|
-
|
|
4297
|
+
onChange: (val) => setReshapeCenterNodeId(val),
|
|
4298
|
+
options: [
|
|
4299
|
+
{ value: "", label: "Selecione um n\xF3..." },
|
|
4300
|
+
...(Array.isArray(dbNodes) ? dbNodes.filter((n) => isNodeInView(n.id)) : []).map((n) => ({
|
|
4301
|
+
value: n.id,
|
|
4302
|
+
label: n.name
|
|
4303
|
+
}))
|
|
4304
|
+
],
|
|
4305
|
+
placeholder: "Selecione um n\xF3..."
|
|
4306
|
+
}
|
|
4307
|
+
)), /* @__PURE__ */ import_react3.default.createElement("div", { className: "flex gap-3 pt-4" }, /* @__PURE__ */ import_react3.default.createElement(
|
|
4249
4308
|
"button",
|
|
4250
4309
|
{
|
|
4251
4310
|
onClick: () => {
|
package/dist/index.mjs
CHANGED
|
@@ -3830,6 +3830,49 @@ function ContextMenu({
|
|
|
3830
3830
|
// src/components/XViewSidebar.jsx
|
|
3831
3831
|
import React2, { useMemo as useMemo2, useState as useState3, useEffect as useEffect2, useRef as useRef2 } from "react";
|
|
3832
3832
|
import { FiLayers } from "react-icons/fi";
|
|
3833
|
+
var CustomSelect = ({ value, onChange, options, placeholder }) => {
|
|
3834
|
+
const [isOpen, setIsOpen] = useState3(false);
|
|
3835
|
+
const selectRef = useRef2(null);
|
|
3836
|
+
useEffect2(() => {
|
|
3837
|
+
const handleClickOutside = (e) => {
|
|
3838
|
+
if (selectRef.current && !selectRef.current.contains(e.target)) {
|
|
3839
|
+
setIsOpen(false);
|
|
3840
|
+
}
|
|
3841
|
+
};
|
|
3842
|
+
if (isOpen) {
|
|
3843
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
3844
|
+
}
|
|
3845
|
+
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
3846
|
+
}, [isOpen]);
|
|
3847
|
+
const selectedOption = options.find((o) => String(o.value) === String(value));
|
|
3848
|
+
return /* @__PURE__ */ React2.createElement("div", { ref: selectRef, className: "relative w-full text-slate-200 text-sm" }, /* @__PURE__ */ React2.createElement(
|
|
3849
|
+
"button",
|
|
3850
|
+
{
|
|
3851
|
+
type: "button",
|
|
3852
|
+
onClick: () => setIsOpen(!isOpen),
|
|
3853
|
+
className: `w-full bg-slate-900/80 px-3 py-2.5 rounded-md border text-left transition-all flex items-center justify-between
|
|
3854
|
+
${isOpen ? "border-indigo-500/50 bg-slate-800" : "border-white/10 hover:bg-slate-800"}`
|
|
3855
|
+
},
|
|
3856
|
+
/* @__PURE__ */ React2.createElement("span", { className: "truncate" }, selectedOption ? selectedOption.label : placeholder),
|
|
3857
|
+
/* @__PURE__ */ React2.createElement("svg", { className: `w-4 h-4 text-slate-500 transition-transform flex-shrink-0 ${isOpen ? "rotate-180" : ""}`, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, /* @__PURE__ */ React2.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }))
|
|
3858
|
+
), isOpen && /* @__PURE__ */ React2.createElement("div", { className: "absolute z-50 w-full mt-2 bg-slate-800 border border-white/10 rounded-lg shadow-2xl max-h-56 overflow-y-auto custom-scrollbar animate-in fade-in zoom-in-95 duration-100 py-1" }, options.map((opt, idx) => {
|
|
3859
|
+
const isSelected = String(value) === String(opt.value);
|
|
3860
|
+
return /* @__PURE__ */ React2.createElement(
|
|
3861
|
+
"button",
|
|
3862
|
+
{
|
|
3863
|
+
key: idx,
|
|
3864
|
+
type: "button",
|
|
3865
|
+
onClick: () => {
|
|
3866
|
+
onChange(opt.value);
|
|
3867
|
+
setIsOpen(false);
|
|
3868
|
+
},
|
|
3869
|
+
className: `w-full text-left px-3 py-2.5 text-sm transition-colors
|
|
3870
|
+
${isSelected ? "bg-indigo-600/30 text-indigo-200 font-medium" : "text-slate-300 hover:bg-white/10"}`
|
|
3871
|
+
},
|
|
3872
|
+
opt.label
|
|
3873
|
+
);
|
|
3874
|
+
})));
|
|
3875
|
+
};
|
|
3833
3876
|
function XViewSidebar({
|
|
3834
3877
|
dbNodes = [],
|
|
3835
3878
|
isNodeInView = () => false,
|
|
@@ -4122,37 +4165,46 @@ function XViewSidebar({
|
|
|
4122
4165
|
},
|
|
4123
4166
|
/* @__PURE__ */ React2.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "h-4 w-4", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React2.createElement("path", { fillRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z", clipRule: "evenodd" }))
|
|
4124
4167
|
)),
|
|
4125
|
-
/* @__PURE__ */ React2.createElement("div", { className: "flex-1 overflow-y-auto p-4 space-y-6" }, activeSubMenu === "quest" && /* @__PURE__ */ React2.createElement("div", { className: "space-y-6 animate-in fade-in slide-in-from-bottom-2 duration-500" }, /* @__PURE__ */ React2.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Respons\xE1vel"), /* @__PURE__ */ React2.createElement(
|
|
4126
|
-
|
|
4168
|
+
/* @__PURE__ */ React2.createElement("div", { className: "flex-1 overflow-y-auto p-4 space-y-6" }, activeSubMenu === "quest" && /* @__PURE__ */ React2.createElement("div", { className: "space-y-6 animate-in fade-in slide-in-from-bottom-2 duration-500" }, /* @__PURE__ */ React2.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Respons\xE1vel"), /* @__PURE__ */ React2.createElement(
|
|
4169
|
+
CustomSelect,
|
|
4127
4170
|
{
|
|
4128
4171
|
value: questFilterAssignee,
|
|
4129
|
-
onChange: (
|
|
4130
|
-
|
|
4131
|
-
|
|
4132
|
-
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
|
|
4172
|
+
onChange: (val) => setQuestFilterAssignee(val),
|
|
4173
|
+
options: [
|
|
4174
|
+
{ value: "", label: "Todos os Respons\xE1veis" },
|
|
4175
|
+
...viewMembers.map((m) => ({ value: m.id, label: m.name || m.email }))
|
|
4176
|
+
],
|
|
4177
|
+
placeholder: "Selecione um Respons\xE1vel"
|
|
4178
|
+
}
|
|
4179
|
+
)), /* @__PURE__ */ React2.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Status"), /* @__PURE__ */ React2.createElement(
|
|
4180
|
+
CustomSelect,
|
|
4136
4181
|
{
|
|
4137
4182
|
value: questFilterStatus,
|
|
4138
|
-
onChange: (
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4142
|
-
|
|
4143
|
-
|
|
4144
|
-
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
|
|
4183
|
+
onChange: (val) => setQuestFilterStatus(val),
|
|
4184
|
+
options: [
|
|
4185
|
+
{ value: "", label: "Todos (Exclui Done)" },
|
|
4186
|
+
{ value: "Backlog", label: "Backlog" },
|
|
4187
|
+
{ value: "In Progress", label: "In Progress" },
|
|
4188
|
+
{ value: "Review", label: "Review" },
|
|
4189
|
+
{ value: "Done", label: "Done" }
|
|
4190
|
+
],
|
|
4191
|
+
placeholder: "Selecione um Status"
|
|
4192
|
+
}
|
|
4193
|
+
)), /* @__PURE__ */ React2.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Milestone"), /* @__PURE__ */ React2.createElement(
|
|
4194
|
+
CustomSelect,
|
|
4148
4195
|
{
|
|
4149
4196
|
value: questFilterMilestone,
|
|
4150
|
-
onChange: (
|
|
4151
|
-
|
|
4152
|
-
|
|
4153
|
-
|
|
4154
|
-
|
|
4155
|
-
|
|
4197
|
+
onChange: (val) => setQuestFilterMilestone(val),
|
|
4198
|
+
options: [
|
|
4199
|
+
{ value: "", label: "Todos os Milestones" },
|
|
4200
|
+
...milestones.map((ms) => ({
|
|
4201
|
+
value: ms.id,
|
|
4202
|
+
label: `${ms.name} ${ms.status === "inactive" ? "(Inativo)" : ""}`
|
|
4203
|
+
}))
|
|
4204
|
+
],
|
|
4205
|
+
placeholder: "Todos os Milestones"
|
|
4206
|
+
}
|
|
4207
|
+
)), /* @__PURE__ */ React2.createElement("div", { className: "flex gap-3 pt-4" }, /* @__PURE__ */ React2.createElement(
|
|
4156
4208
|
"button",
|
|
4157
4209
|
{
|
|
4158
4210
|
onClick: () => {
|
|
@@ -4177,17 +4229,19 @@ function XViewSidebar({
|
|
|
4177
4229
|
className: "flex-[2] py-3 bg-indigo-600 hover:bg-indigo-500 text-white text-[10px] font-black uppercase tracking-widest rounded-xl shadow-lg shadow-indigo-500/20 transition-all hover:scale-[1.02] active:scale-95"
|
|
4178
4230
|
},
|
|
4179
4231
|
"Aplicar Lente"
|
|
4180
|
-
))), activeSubMenu === "reshape" && /* @__PURE__ */ React2.createElement("div", { className: "space-y-6 animate-in fade-in slide-in-from-bottom-2 duration-500" }, /* @__PURE__ */ React2.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Layout Type"), /* @__PURE__ */ React2.createElement(
|
|
4181
|
-
|
|
4232
|
+
))), activeSubMenu === "reshape" && /* @__PURE__ */ React2.createElement("div", { className: "space-y-6 animate-in fade-in slide-in-from-bottom-2 duration-500" }, /* @__PURE__ */ React2.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Layout Type"), /* @__PURE__ */ React2.createElement(
|
|
4233
|
+
CustomSelect,
|
|
4182
4234
|
{
|
|
4183
4235
|
value: reshapeLayoutType,
|
|
4184
|
-
onChange: (
|
|
4185
|
-
|
|
4186
|
-
|
|
4187
|
-
|
|
4188
|
-
|
|
4189
|
-
|
|
4190
|
-
|
|
4236
|
+
onChange: (val) => setReshapeLayoutType(val),
|
|
4237
|
+
options: [
|
|
4238
|
+
{ value: "Star", label: "Star" },
|
|
4239
|
+
{ value: "Circle", label: "Circle" },
|
|
4240
|
+
{ value: "Column", label: "Column" }
|
|
4241
|
+
],
|
|
4242
|
+
placeholder: "Selecione um Formato"
|
|
4243
|
+
}
|
|
4244
|
+
)), reshapeLayoutType === "Column" && /* @__PURE__ */ React2.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "Colunas"), /* @__PURE__ */ React2.createElement(
|
|
4191
4245
|
"input",
|
|
4192
4246
|
{
|
|
4193
4247
|
type: "number",
|
|
@@ -4197,16 +4251,21 @@ function XViewSidebar({
|
|
|
4197
4251
|
onChange: (e) => setReshapeColumnCount(parseInt(e.target.value) || 4),
|
|
4198
4252
|
className: "w-full bg-slate-900/80 px-3 py-2.5 text-sm rounded-md border border-white/10 focus:outline-none focus:border-indigo-500/50 text-white hover:bg-slate-800/50 transition-all"
|
|
4199
4253
|
}
|
|
4200
|
-
)), reshapeLayoutType === "Star" && /* @__PURE__ */ React2.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "N\xF3 Central"), /* @__PURE__ */ React2.createElement(
|
|
4201
|
-
|
|
4254
|
+
)), reshapeLayoutType === "Star" && /* @__PURE__ */ React2.createElement("div", { className: "space-y-2.5" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 mb-1 block" }, "N\xF3 Central"), /* @__PURE__ */ React2.createElement(
|
|
4255
|
+
CustomSelect,
|
|
4202
4256
|
{
|
|
4203
4257
|
value: reshapeCenterNodeId,
|
|
4204
|
-
onChange: (
|
|
4205
|
-
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4258
|
+
onChange: (val) => setReshapeCenterNodeId(val),
|
|
4259
|
+
options: [
|
|
4260
|
+
{ value: "", label: "Selecione um n\xF3..." },
|
|
4261
|
+
...(Array.isArray(dbNodes) ? dbNodes.filter((n) => isNodeInView(n.id)) : []).map((n) => ({
|
|
4262
|
+
value: n.id,
|
|
4263
|
+
label: n.name
|
|
4264
|
+
}))
|
|
4265
|
+
],
|
|
4266
|
+
placeholder: "Selecione um n\xF3..."
|
|
4267
|
+
}
|
|
4268
|
+
)), /* @__PURE__ */ React2.createElement("div", { className: "flex gap-3 pt-4" }, /* @__PURE__ */ React2.createElement(
|
|
4210
4269
|
"button",
|
|
4211
4270
|
{
|
|
4212
4271
|
onClick: () => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lv-x-software-house/x_view",
|
|
3
|
-
"version": "1.2.6-dev.
|
|
3
|
+
"version": "1.2.6-dev.53",
|
|
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",
|