@lv-x-software-house/x_view 1.2.7-dev.3 → 1.2.7-dev.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.js +95 -106
  2. package/dist/index.mjs +95 -106
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -3989,6 +3989,7 @@ function XViewSidebar({
3989
3989
  const [questFilterStatus, setQuestFilterStatus] = (0, import_react3.useState)("");
3990
3990
  const [questFilterMilestone, setQuestFilterMilestone] = (0, import_react3.useState)("");
3991
3991
  const [isQuestLensLoading, setIsQuestLensLoading] = (0, import_react3.useState)(false);
3992
+ const [isQuestLensMenuOpen, setIsQuestLensMenuOpen] = (0, import_react3.useState)(false);
3992
3993
  const [reshapeLayoutType, setReshapeLayoutType] = (0, import_react3.useState)("Star");
3993
3994
  const [reshapeColumnCount, setReshapeColumnCount] = (0, import_react3.useState)(4);
3994
3995
  const [reshapeCenterNodeId, setReshapeCenterNodeId] = (0, import_react3.useState)("");
@@ -4010,6 +4011,7 @@ function XViewSidebar({
4010
4011
  const filterMenuRef = (0, import_react3.useRef)(null);
4011
4012
  const typeDropdownRef = (0, import_react3.useRef)(null);
4012
4013
  const annexedPanelRef = (0, import_react3.useRef)(null);
4014
+ const questLensRef = (0, import_react3.useRef)(null);
4013
4015
  const ability = (0, import_react3.useMemo)(() => {
4014
4016
  return defineAbilityFor(userRole);
4015
4017
  }, [userRole]);
@@ -4126,6 +4128,18 @@ function XViewSidebar({
4126
4128
  }
4127
4129
  return () => document.removeEventListener("mousedown", handleClickOutside);
4128
4130
  }, [isFilterMenuOpen, isTypeDropdownOpen]);
4131
+ (0, import_react3.useEffect)(() => {
4132
+ const handleClickOutsideQuest = (event) => {
4133
+ if (questLensRef.current && !questLensRef.current.contains(event.target)) {
4134
+ if (event.target.tagName.toLowerCase() === "select" || event.target.tagName.toLowerCase() === "option") return;
4135
+ setIsQuestLensMenuOpen(false);
4136
+ }
4137
+ };
4138
+ if (isQuestLensMenuOpen) {
4139
+ document.addEventListener("mousedown", handleClickOutsideQuest);
4140
+ }
4141
+ return () => document.removeEventListener("mousedown", handleClickOutsideQuest);
4142
+ }, [isQuestLensMenuOpen]);
4129
4143
  (0, import_react3.useEffect)(() => {
4130
4144
  const handleClickOutsideAnnexed = (event) => {
4131
4145
  if (annexedPanelRef.current && !annexedPanelRef.current.contains(event.target)) {
@@ -4284,7 +4298,7 @@ function XViewSidebar({
4284
4298
  }
4285
4299
  )
4286
4300
  )
4287
- ), /* @__PURE__ */ import_react3.default.createElement("h3", { className: "text-sm font-semibold text-indigo-100 uppercase tracking-wider" }, activeSubMenu === "quest" ? "Quest Lens" : activeSubMenu === "reshape" ? "Reshape Lens" : "Integra\xE7\xF5es"), /* @__PURE__ */ import_react3.default.createElement(
4301
+ ), /* @__PURE__ */ import_react3.default.createElement("h3", { className: "text-sm font-semibold text-indigo-100 uppercase tracking-wider" }, activeSubMenu === "reshape" ? "Reshape Lens" : "Integra\xE7\xF5es"), /* @__PURE__ */ import_react3.default.createElement(
4288
4302
  "button",
4289
4303
  {
4290
4304
  className: "ml-auto p-1.5 rounded-md text-slate-400 hover:text-white hover:bg-white/10 transition-colors hidden md:block",
@@ -4403,74 +4417,7 @@ function XViewSidebar({
4403
4417
  }
4404
4418
  )
4405
4419
  ) : "Selecionar Pasta no Drive"
4406
- ), /* @__PURE__ */ import_react3.default.createElement("p", { className: "text-[10px] text-slate-500 italic px-1 leading-relaxed" }, "Documentos criados nesta View ser\xE3o salvos na pasta selecionada acima.")))), 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-4" }, /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 block" }, "Respons\xE1vel"), /* @__PURE__ */ import_react3.default.createElement(
4407
- CustomSelect,
4408
- {
4409
- value: questFilterAssignee,
4410
- onChange: (val) => setQuestFilterAssignee(val),
4411
- options: [
4412
- { value: "", label: "Qualquer / Todos" },
4413
- ...(viewMembers || []).map((m) => ({ value: m.id, label: m.name || m.email }))
4414
- ],
4415
- placeholder: "Filtrar por respons\xE1vel"
4416
- }
4417
- )), /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 block" }, "Status"), /* @__PURE__ */ import_react3.default.createElement(
4418
- CustomSelect,
4419
- {
4420
- value: questFilterStatus,
4421
- onChange: (val) => setQuestFilterStatus(val),
4422
- options: [
4423
- { value: "", label: "Padr\xE3o (Oculta Dones)" },
4424
- { value: "all", label: "Mostrar Todos" },
4425
- { value: "Backlog", label: "Backlog" },
4426
- { value: "In Progress", label: "In Progress" },
4427
- { value: "Review", label: "Review" },
4428
- { value: "Done", label: "Done" }
4429
- ],
4430
- placeholder: "Filtrar por status"
4431
- }
4432
- )), /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 block" }, "Milestone"), /* @__PURE__ */ import_react3.default.createElement(
4433
- CustomSelect,
4434
- {
4435
- value: questFilterMilestone,
4436
- onChange: (val) => setQuestFilterMilestone(val),
4437
- options: [
4438
- { value: "", label: "Todos os Milestones" },
4439
- ...(milestones || []).map((m) => ({ value: m.id, label: m.name }))
4440
- ],
4441
- placeholder: "Filtrar por marco"
4442
- }
4443
- ))), /* @__PURE__ */ import_react3.default.createElement("div", { className: "flex gap-3 pt-4 border-t border-white/10" }, /* @__PURE__ */ import_react3.default.createElement(
4444
- "button",
4445
- {
4446
- onClick: () => {
4447
- setQuestFilterAssignee("");
4448
- setQuestFilterStatus("");
4449
- setQuestFilterMilestone("");
4450
- },
4451
- className: "flex-1 py-3 bg-white/[0.03] hover:bg-white/[0.08] text-slate-400 hover:text-slate-200 text-[10px] font-black uppercase tracking-widest rounded-xl transition-all border border-white/5 active:scale-95"
4452
- },
4453
- "Limpar"
4454
- ), /* @__PURE__ */ import_react3.default.createElement(
4455
- "button",
4456
- {
4457
- disabled: isQuestLensLoading,
4458
- onClick: async () => {
4459
- setIsQuestLensLoading(true);
4460
- try {
4461
- await onActivateQuestLens({
4462
- assigneeId: questFilterAssignee,
4463
- status: questFilterStatus,
4464
- milestoneId: questFilterMilestone
4465
- });
4466
- } finally {
4467
- setIsQuestLensLoading(false);
4468
- }
4469
- },
4470
- 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 flex items-center justify-center gap-2 disabled:opacity-50"
4471
- },
4472
- isQuestLensLoading ? "Processando..." : "Aplicar Lens"
4473
- ))), 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(
4420
+ ), /* @__PURE__ */ import_react3.default.createElement("p", { className: "text-[10px] text-slate-500 italic px-1 leading-relaxed" }, "Documentos criados nesta View ser\xE3o salvos na pasta selecionada acima.")))), 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(
4474
4421
  CustomSelect,
4475
4422
  {
4476
4423
  value: reshapeLayoutType,
@@ -4733,30 +4680,72 @@ function XViewSidebar({
4733
4680
  className: "w-full py-1.5 bg-indigo-600 hover:bg-indigo-500 disabled:opacity-50 text-white text-xs font-medium rounded transition-colors"
4734
4681
  },
4735
4682
  "Aplicar Filtro"
4736
- ))))), /* @__PURE__ */ import_react3.default.createElement("div", { className: "h-px bg-white/10" }), /* @__PURE__ */ import_react3.default.createElement("section", { className: "space-y-2" }, /* @__PURE__ */ import_react3.default.createElement("p", { className: "text-[11px] uppercase tracking-wider text-slate-400" }, "Lentes"), /* @__PURE__ */ import_react3.default.createElement("div", { className: "relative" }, /* @__PURE__ */ import_react3.default.createElement(
4683
+ ))))), /* @__PURE__ */ import_react3.default.createElement("div", { className: "h-px bg-white/10" }), /* @__PURE__ */ import_react3.default.createElement("section", { className: "space-y-2" }, /* @__PURE__ */ import_react3.default.createElement("p", { className: "text-[11px] uppercase tracking-wider text-slate-400" }, "Lentes"), /* @__PURE__ */ import_react3.default.createElement("div", { className: "relative", ref: questLensRef }, /* @__PURE__ */ import_react3.default.createElement(
4737
4684
  "button",
4738
4685
  {
4739
- onClick: () => setActiveSubMenu(activeSubMenu === "quest" ? null : "quest"),
4740
- className: `${buttonBaseClass} lens-button ${activeSubMenu === "quest" || questFilterAssignee || questFilterStatus || questFilterMilestone ? "bg-indigo-500/30 border-indigo-400" : ""}`
4686
+ onClick: () => setIsQuestLensMenuOpen(!isQuestLensMenuOpen),
4687
+ className: `${buttonBaseClass} ${isQuestLensMenuOpen || questFilterAssignee || questFilterStatus || questFilterMilestone ? "bg-indigo-500/30 border-indigo-400" : ""}`,
4688
+ title: "Abrir filtros da Lente de Quests"
4741
4689
  },
4742
- /* @__PURE__ */ import_react3.default.createElement(
4743
- "svg",
4744
- {
4745
- xmlns: "http://www.w3.org/2000/svg",
4746
- width: "16",
4747
- height: "16",
4748
- viewBox: "0 0 24 24",
4749
- fill: "none",
4750
- stroke: "currentColor",
4751
- strokeWidth: "2",
4752
- strokeLinecap: "round",
4753
- strokeLinejoin: "round"
4690
+ /* @__PURE__ */ import_react3.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ import_react3.default.createElement("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }), /* @__PURE__ */ import_react3.default.createElement("path", { d: "M9 12l2 2 4-4" })),
4691
+ "Quest Lens",
4692
+ (questFilterAssignee || questFilterStatus || questFilterMilestone) && /* @__PURE__ */ import_react3.default.createElement("span", { className: "ml-1 px-1.5 py-0.5 rounded-full bg-indigo-500 text-[9px] font-bold" }, "!")
4693
+ ), isQuestLensMenuOpen && /* @__PURE__ */ import_react3.default.createElement("div", { className: "absolute left-0 bottom-full mb-2 w-full p-4 rounded-xl bg-slate-900 border border-white/10 shadow-2xl z-50 flex flex-col gap-4 animate-in fade-in slide-in-from-bottom-2 duration-200" }, /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[10px] uppercase text-slate-400 font-bold tracking-widest" }, "Respons\xE1vel"), /* @__PURE__ */ import_react3.default.createElement(
4694
+ "select",
4695
+ {
4696
+ value: questFilterAssignee,
4697
+ onChange: (e) => setQuestFilterAssignee(e.target.value),
4698
+ className: "w-full bg-slate-800 p-2 text-xs rounded border border-white/10 focus:outline-none focus:border-indigo-500/50 text-white appearance-none cursor-pointer"
4699
+ },
4700
+ /* @__PURE__ */ import_react3.default.createElement("option", { value: "" }, "Todos os Respons\xE1veis"),
4701
+ viewMembers.map((m) => /* @__PURE__ */ import_react3.default.createElement("option", { key: m.id, value: m.id }, m.name || m.email))
4702
+ )), /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[10px] uppercase text-slate-400 font-bold tracking-widest" }, "Status"), /* @__PURE__ */ import_react3.default.createElement(
4703
+ "select",
4704
+ {
4705
+ value: questFilterStatus,
4706
+ onChange: (e) => setQuestFilterStatus(e.target.value),
4707
+ className: "w-full bg-slate-800 p-2 text-xs rounded border border-white/10 focus:outline-none focus:border-indigo-500/50 text-white appearance-none cursor-pointer"
4708
+ },
4709
+ /* @__PURE__ */ import_react3.default.createElement("option", { value: "" }, "Todos (Exclui Done)"),
4710
+ /* @__PURE__ */ import_react3.default.createElement("option", { value: "Backlog" }, "Backlog"),
4711
+ /* @__PURE__ */ import_react3.default.createElement("option", { value: "In Progress" }, "In Progress"),
4712
+ /* @__PURE__ */ import_react3.default.createElement("option", { value: "Review" }, "Review"),
4713
+ /* @__PURE__ */ import_react3.default.createElement("option", { value: "Done" }, "Done")
4714
+ )), /* @__PURE__ */ import_react3.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ import_react3.default.createElement("label", { className: "text-[10px] uppercase text-slate-400 font-bold tracking-widest" }, "Milestone"), /* @__PURE__ */ import_react3.default.createElement(
4715
+ "select",
4716
+ {
4717
+ value: questFilterMilestone,
4718
+ onChange: (e) => setQuestFilterMilestone(e.target.value),
4719
+ className: "w-full bg-slate-800 p-2 text-xs rounded border border-white/10 focus:outline-none focus:border-indigo-500/50 text-white appearance-none cursor-pointer"
4720
+ },
4721
+ /* @__PURE__ */ import_react3.default.createElement("option", { value: "" }, "Todos os Milestones"),
4722
+ (milestones || []).map((ms) => /* @__PURE__ */ import_react3.default.createElement("option", { key: ms.id, value: ms.id }, ms.name, " ", ms.status === "inactive" ? "(Inativo)" : ""))
4723
+ )), /* @__PURE__ */ import_react3.default.createElement("div", { className: "flex gap-2 pt-1 border-t border-white/10 mt-2" }, /* @__PURE__ */ import_react3.default.createElement(
4724
+ "button",
4725
+ {
4726
+ onClick: () => {
4727
+ setQuestFilterAssignee("");
4728
+ setQuestFilterStatus("");
4729
+ setQuestFilterMilestone("");
4754
4730
  },
4755
- /* @__PURE__ */ import_react3.default.createElement("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }),
4756
- /* @__PURE__ */ import_react3.default.createElement("path", { d: "M9 12l2 2 4-4" })
4757
- ),
4758
- "Quests"
4759
- )), /* @__PURE__ */ import_react3.default.createElement("div", { className: "relative" }, /* @__PURE__ */ import_react3.default.createElement(
4731
+ className: "flex-1 py-2 bg-white/5 hover:bg-white/10 text-slate-300 text-[11px] font-medium rounded-lg transition-colors border border-white/5 mt-3"
4732
+ },
4733
+ "Limpar"
4734
+ ), /* @__PURE__ */ import_react3.default.createElement(
4735
+ "button",
4736
+ {
4737
+ onClick: () => {
4738
+ onActivateQuestLens({
4739
+ assigneeId: questFilterAssignee,
4740
+ status: questFilterStatus,
4741
+ milestoneId: questFilterMilestone
4742
+ });
4743
+ setIsQuestLensMenuOpen(false);
4744
+ },
4745
+ className: "flex-[2] py-2 bg-indigo-600 hover:bg-indigo-500 text-white text-[11px] font-bold rounded-lg shadow-lg shadow-indigo-500/20 transition-all hover:scale-[1.02] active:scale-95 mt-3"
4746
+ },
4747
+ "Aplicar Lente"
4748
+ )))), /* @__PURE__ */ import_react3.default.createElement("div", { className: "relative" }, /* @__PURE__ */ import_react3.default.createElement(
4760
4749
  "button",
4761
4750
  {
4762
4751
  onClick: () => setActiveSubMenu(
@@ -15425,7 +15414,7 @@ function XViewScene({
15425
15414
  create_google_doc_action,
15426
15415
  open_google_picker_action
15427
15416
  }) {
15428
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
15417
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
15429
15418
  const { data: session, status } = (0, import_react34.useSession)();
15430
15419
  const router = (0, import_navigation.useRouter)();
15431
15420
  const searchParams = (0, import_navigation.useSearchParams)();
@@ -20458,10 +20447,10 @@ function XViewScene({
20458
20447
  onOpenBoards: handleOpenBoards,
20459
20448
  viewType: viewParams == null ? void 0 : viewParams.type,
20460
20449
  viewName: viewParams == null ? void 0 : viewParams.name,
20461
- milestones: (viewParams == null ? void 0 : viewParams.milestones) || [],
20450
+ milestones: ((_c = sceneDataRef.current) == null ? void 0 : _c.milestones) || (viewParams == null ? void 0 : viewParams.milestones) || [],
20462
20451
  onOpenMilestoneManager: () => setIsMilestoneManagerOpen(true),
20463
- view_google_folder_id: (_c = sceneDataRef.current) == null ? void 0 : _c.view_google_folder_id,
20464
- view_google_folder_name: (_d = sceneDataRef.current) == null ? void 0 : _d.view_google_folder_name,
20452
+ view_google_folder_id: (_d = sceneDataRef.current) == null ? void 0 : _d.view_google_folder_id,
20453
+ view_google_folder_name: (_e = sceneDataRef.current) == null ? void 0 : _e.view_google_folder_name,
20465
20454
  open_google_picker_action,
20466
20455
  onSaveConfig: handleSaveConfig,
20467
20456
  onNavigateBack: handleNavigateBack,
@@ -20493,8 +20482,8 @@ function XViewScene({
20493
20482
  },
20494
20483
  refEl: formRef,
20495
20484
  existingTypes: existingNodeTypes,
20496
- initialColor: (_e = creationMode.sourceNodeData) == null ? void 0 : _e.color,
20497
- sourceTypes: (_f = creationMode.sourceNodeData) == null ? void 0 : _f.type,
20485
+ initialColor: (_f = creationMode.sourceNodeData) == null ? void 0 : _f.color,
20486
+ sourceTypes: (_g = creationMode.sourceNodeData) == null ? void 0 : _g.type,
20498
20487
  onIntensityChange: handleGhostNodeIntensityChange,
20499
20488
  onUploadFile: upload_file_action,
20500
20489
  availableDatasets,
@@ -20503,7 +20492,7 @@ function XViewScene({
20503
20492
  availableNodes: allAvailableNodes,
20504
20493
  availableAncestries: allAvailableAncestries,
20505
20494
  create_google_doc_action,
20506
- view_google_folder_id: (_g = sceneDataRef.current) == null ? void 0 : _g.view_google_folder_id
20495
+ view_google_folder_id: (_h = sceneDataRef.current) == null ? void 0 : _h.view_google_folder_id
20507
20496
  }
20508
20497
  ),
20509
20498
  versionMode.isActive && /* @__PURE__ */ import_react33.default.createElement(
@@ -20526,8 +20515,8 @@ function XViewScene({
20526
20515
  ...overlayHiddenStyle
20527
20516
  },
20528
20517
  refEl: formRef,
20529
- fixedType: (_h = versionMode.sourceNodeData) == null ? void 0 : _h.type,
20530
- fixedColor: (_i = versionMode.sourceNodeData) == null ? void 0 : _i.color,
20518
+ fixedType: (_i = versionMode.sourceNodeData) == null ? void 0 : _i.type,
20519
+ fixedColor: (_j = versionMode.sourceNodeData) == null ? void 0 : _j.color,
20531
20520
  onUploadFile: upload_file_action,
20532
20521
  availableNodes: allAvailableNodes,
20533
20522
  availableAncestries: allAvailableAncestries
@@ -20565,12 +20554,12 @@ function XViewScene({
20565
20554
  availableNodes: allAvailableNodes,
20566
20555
  availableAncestries: allAvailableAncestries,
20567
20556
  viewName: viewParams == null ? void 0 : viewParams.name,
20568
- questCounter: ((_j = sceneDataRef.current) == null ? void 0 : _j.quest_counter) || 1,
20557
+ questCounter: ((_k = sceneDataRef.current) == null ? void 0 : _k.quest_counter) || 1,
20569
20558
  viewMembers,
20570
- milestones: ((_k = sceneDataRef.current) == null ? void 0 : _k.milestones) || [],
20559
+ milestones: ((_l = sceneDataRef.current) == null ? void 0 : _l.milestones) || [],
20571
20560
  onUpdateMilestones: handleUpdateMilestones,
20572
20561
  create_google_doc_action,
20573
- view_google_folder_id: (_l = sceneDataRef.current) == null ? void 0 : _l.view_google_folder_id
20562
+ view_google_folder_id: (_m = sceneDataRef.current) == null ? void 0 : _m.view_google_folder_id
20574
20563
  }
20575
20564
  ),
20576
20565
  readingMode.isActive && readingMode.ancestry && /* @__PURE__ */ import_react33.default.createElement(
@@ -20704,10 +20693,10 @@ function XViewScene({
20704
20693
  currentDatasetName: detailsNodeDatasetInfo == null ? void 0 : detailsNodeDatasetInfo.datasetName,
20705
20694
  viewMembers,
20706
20695
  currentUser: session == null ? void 0 : session.user,
20707
- milestones: ((_m = sceneDataRef.current) == null ? void 0 : _m.milestones) || [],
20696
+ milestones: ((_n = sceneDataRef.current) == null ? void 0 : _n.milestones) || [],
20708
20697
  onUpdateMilestones: handleUpdateMilestones,
20709
20698
  create_google_doc_action,
20710
- view_google_folder_id: (_n = sceneDataRef.current) == null ? void 0 : _n.view_google_folder_id,
20699
+ view_google_folder_id: (_o = sceneDataRef.current) == null ? void 0 : _o.view_google_folder_id,
20711
20700
  setQuestTreeMode,
20712
20701
  handleRenderQuestTree,
20713
20702
  handleRenderQuestAbstractionTree,
@@ -20745,7 +20734,7 @@ function XViewScene({
20745
20734
  userRole: userPermissionRole,
20746
20735
  currentDatasetName: detailsNodeDatasetInfo == null ? void 0 : detailsNodeDatasetInfo.datasetName,
20747
20736
  create_google_doc_action,
20748
- view_google_folder_id: (_o = sceneDataRef.current) == null ? void 0 : _o.view_google_folder_id,
20737
+ view_google_folder_id: (_p = sceneDataRef.current) == null ? void 0 : _p.view_google_folder_id,
20749
20738
  style: overlayHiddenStyle
20750
20739
  }
20751
20740
  ),
@@ -20898,7 +20887,7 @@ function XViewScene({
20898
20887
  {
20899
20888
  isOpen: isMilestoneManagerOpen,
20900
20889
  onClose: () => setIsMilestoneManagerOpen(false),
20901
- milestones: ((_p = sceneDataRef.current) == null ? void 0 : _p.milestones) || [],
20890
+ milestones: ((_q = sceneDataRef.current) == null ? void 0 : _q.milestones) || [],
20902
20891
  onUpdateMilestones: handleUpdateMilestones
20903
20892
  }
20904
20893
  ),
@@ -20909,7 +20898,7 @@ function XViewScene({
20909
20898
  onClose: () => setIsImportModalOpen(false),
20910
20899
  onConfirm: handleConfirmImport,
20911
20900
  session,
20912
- parentDbs: ((_q = sceneDataRef.current) == null ? void 0 : _q.parent_dbs) || [],
20901
+ parentDbs: ((_r = sceneDataRef.current) == null ? void 0 : _r.parent_dbs) || [],
20913
20902
  onFetchAvailableFiles: import_parent_file_modal_get,
20914
20903
  currentViewName: viewParams == null ? void 0 : viewParams.name,
20915
20904
  currentAncestries: ancestryDataRef.current || []
package/dist/index.mjs CHANGED
@@ -3950,6 +3950,7 @@ function XViewSidebar({
3950
3950
  const [questFilterStatus, setQuestFilterStatus] = useState3("");
3951
3951
  const [questFilterMilestone, setQuestFilterMilestone] = useState3("");
3952
3952
  const [isQuestLensLoading, setIsQuestLensLoading] = useState3(false);
3953
+ const [isQuestLensMenuOpen, setIsQuestLensMenuOpen] = useState3(false);
3953
3954
  const [reshapeLayoutType, setReshapeLayoutType] = useState3("Star");
3954
3955
  const [reshapeColumnCount, setReshapeColumnCount] = useState3(4);
3955
3956
  const [reshapeCenterNodeId, setReshapeCenterNodeId] = useState3("");
@@ -3971,6 +3972,7 @@ function XViewSidebar({
3971
3972
  const filterMenuRef = useRef2(null);
3972
3973
  const typeDropdownRef = useRef2(null);
3973
3974
  const annexedPanelRef = useRef2(null);
3975
+ const questLensRef = useRef2(null);
3974
3976
  const ability = useMemo2(() => {
3975
3977
  return defineAbilityFor(userRole);
3976
3978
  }, [userRole]);
@@ -4087,6 +4089,18 @@ function XViewSidebar({
4087
4089
  }
4088
4090
  return () => document.removeEventListener("mousedown", handleClickOutside);
4089
4091
  }, [isFilterMenuOpen, isTypeDropdownOpen]);
4092
+ useEffect2(() => {
4093
+ const handleClickOutsideQuest = (event) => {
4094
+ if (questLensRef.current && !questLensRef.current.contains(event.target)) {
4095
+ if (event.target.tagName.toLowerCase() === "select" || event.target.tagName.toLowerCase() === "option") return;
4096
+ setIsQuestLensMenuOpen(false);
4097
+ }
4098
+ };
4099
+ if (isQuestLensMenuOpen) {
4100
+ document.addEventListener("mousedown", handleClickOutsideQuest);
4101
+ }
4102
+ return () => document.removeEventListener("mousedown", handleClickOutsideQuest);
4103
+ }, [isQuestLensMenuOpen]);
4090
4104
  useEffect2(() => {
4091
4105
  const handleClickOutsideAnnexed = (event) => {
4092
4106
  if (annexedPanelRef.current && !annexedPanelRef.current.contains(event.target)) {
@@ -4245,7 +4259,7 @@ function XViewSidebar({
4245
4259
  }
4246
4260
  )
4247
4261
  )
4248
- ), /* @__PURE__ */ React2.createElement("h3", { className: "text-sm font-semibold text-indigo-100 uppercase tracking-wider" }, activeSubMenu === "quest" ? "Quest Lens" : activeSubMenu === "reshape" ? "Reshape Lens" : "Integra\xE7\xF5es"), /* @__PURE__ */ React2.createElement(
4262
+ ), /* @__PURE__ */ React2.createElement("h3", { className: "text-sm font-semibold text-indigo-100 uppercase tracking-wider" }, activeSubMenu === "reshape" ? "Reshape Lens" : "Integra\xE7\xF5es"), /* @__PURE__ */ React2.createElement(
4249
4263
  "button",
4250
4264
  {
4251
4265
  className: "ml-auto p-1.5 rounded-md text-slate-400 hover:text-white hover:bg-white/10 transition-colors hidden md:block",
@@ -4364,74 +4378,7 @@ function XViewSidebar({
4364
4378
  }
4365
4379
  )
4366
4380
  ) : "Selecionar Pasta no Drive"
4367
- ), /* @__PURE__ */ React2.createElement("p", { className: "text-[10px] text-slate-500 italic px-1 leading-relaxed" }, "Documentos criados nesta View ser\xE3o salvos na pasta selecionada acima.")))), 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-4" }, /* @__PURE__ */ React2.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 block" }, "Respons\xE1vel"), /* @__PURE__ */ React2.createElement(
4368
- CustomSelect,
4369
- {
4370
- value: questFilterAssignee,
4371
- onChange: (val) => setQuestFilterAssignee(val),
4372
- options: [
4373
- { value: "", label: "Qualquer / Todos" },
4374
- ...(viewMembers || []).map((m) => ({ value: m.id, label: m.name || m.email }))
4375
- ],
4376
- placeholder: "Filtrar por respons\xE1vel"
4377
- }
4378
- )), /* @__PURE__ */ React2.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 block" }, "Status"), /* @__PURE__ */ React2.createElement(
4379
- CustomSelect,
4380
- {
4381
- value: questFilterStatus,
4382
- onChange: (val) => setQuestFilterStatus(val),
4383
- options: [
4384
- { value: "", label: "Padr\xE3o (Oculta Dones)" },
4385
- { value: "all", label: "Mostrar Todos" },
4386
- { value: "Backlog", label: "Backlog" },
4387
- { value: "In Progress", label: "In Progress" },
4388
- { value: "Review", label: "Review" },
4389
- { value: "Done", label: "Done" }
4390
- ],
4391
- placeholder: "Filtrar por status"
4392
- }
4393
- )), /* @__PURE__ */ React2.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[11px] uppercase text-slate-400 font-semibold tracking-wider ml-1 block" }, "Milestone"), /* @__PURE__ */ React2.createElement(
4394
- CustomSelect,
4395
- {
4396
- value: questFilterMilestone,
4397
- onChange: (val) => setQuestFilterMilestone(val),
4398
- options: [
4399
- { value: "", label: "Todos os Milestones" },
4400
- ...(milestones || []).map((m) => ({ value: m.id, label: m.name }))
4401
- ],
4402
- placeholder: "Filtrar por marco"
4403
- }
4404
- ))), /* @__PURE__ */ React2.createElement("div", { className: "flex gap-3 pt-4 border-t border-white/10" }, /* @__PURE__ */ React2.createElement(
4405
- "button",
4406
- {
4407
- onClick: () => {
4408
- setQuestFilterAssignee("");
4409
- setQuestFilterStatus("");
4410
- setQuestFilterMilestone("");
4411
- },
4412
- className: "flex-1 py-3 bg-white/[0.03] hover:bg-white/[0.08] text-slate-400 hover:text-slate-200 text-[10px] font-black uppercase tracking-widest rounded-xl transition-all border border-white/5 active:scale-95"
4413
- },
4414
- "Limpar"
4415
- ), /* @__PURE__ */ React2.createElement(
4416
- "button",
4417
- {
4418
- disabled: isQuestLensLoading,
4419
- onClick: async () => {
4420
- setIsQuestLensLoading(true);
4421
- try {
4422
- await onActivateQuestLens({
4423
- assigneeId: questFilterAssignee,
4424
- status: questFilterStatus,
4425
- milestoneId: questFilterMilestone
4426
- });
4427
- } finally {
4428
- setIsQuestLensLoading(false);
4429
- }
4430
- },
4431
- 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 flex items-center justify-center gap-2 disabled:opacity-50"
4432
- },
4433
- isQuestLensLoading ? "Processando..." : "Aplicar Lens"
4434
- ))), 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(
4381
+ ), /* @__PURE__ */ React2.createElement("p", { className: "text-[10px] text-slate-500 italic px-1 leading-relaxed" }, "Documentos criados nesta View ser\xE3o salvos na pasta selecionada acima.")))), 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(
4435
4382
  CustomSelect,
4436
4383
  {
4437
4384
  value: reshapeLayoutType,
@@ -4694,30 +4641,72 @@ function XViewSidebar({
4694
4641
  className: "w-full py-1.5 bg-indigo-600 hover:bg-indigo-500 disabled:opacity-50 text-white text-xs font-medium rounded transition-colors"
4695
4642
  },
4696
4643
  "Aplicar Filtro"
4697
- ))))), /* @__PURE__ */ React2.createElement("div", { className: "h-px bg-white/10" }), /* @__PURE__ */ React2.createElement("section", { className: "space-y-2" }, /* @__PURE__ */ React2.createElement("p", { className: "text-[11px] uppercase tracking-wider text-slate-400" }, "Lentes"), /* @__PURE__ */ React2.createElement("div", { className: "relative" }, /* @__PURE__ */ React2.createElement(
4644
+ ))))), /* @__PURE__ */ React2.createElement("div", { className: "h-px bg-white/10" }), /* @__PURE__ */ React2.createElement("section", { className: "space-y-2" }, /* @__PURE__ */ React2.createElement("p", { className: "text-[11px] uppercase tracking-wider text-slate-400" }, "Lentes"), /* @__PURE__ */ React2.createElement("div", { className: "relative", ref: questLensRef }, /* @__PURE__ */ React2.createElement(
4698
4645
  "button",
4699
4646
  {
4700
- onClick: () => setActiveSubMenu(activeSubMenu === "quest" ? null : "quest"),
4701
- className: `${buttonBaseClass} lens-button ${activeSubMenu === "quest" || questFilterAssignee || questFilterStatus || questFilterMilestone ? "bg-indigo-500/30 border-indigo-400" : ""}`
4647
+ onClick: () => setIsQuestLensMenuOpen(!isQuestLensMenuOpen),
4648
+ className: `${buttonBaseClass} ${isQuestLensMenuOpen || questFilterAssignee || questFilterStatus || questFilterMilestone ? "bg-indigo-500/30 border-indigo-400" : ""}`,
4649
+ title: "Abrir filtros da Lente de Quests"
4702
4650
  },
4703
- /* @__PURE__ */ React2.createElement(
4704
- "svg",
4705
- {
4706
- xmlns: "http://www.w3.org/2000/svg",
4707
- width: "16",
4708
- height: "16",
4709
- viewBox: "0 0 24 24",
4710
- fill: "none",
4711
- stroke: "currentColor",
4712
- strokeWidth: "2",
4713
- strokeLinecap: "round",
4714
- strokeLinejoin: "round"
4651
+ /* @__PURE__ */ React2.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, /* @__PURE__ */ React2.createElement("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }), /* @__PURE__ */ React2.createElement("path", { d: "M9 12l2 2 4-4" })),
4652
+ "Quest Lens",
4653
+ (questFilterAssignee || questFilterStatus || questFilterMilestone) && /* @__PURE__ */ React2.createElement("span", { className: "ml-1 px-1.5 py-0.5 rounded-full bg-indigo-500 text-[9px] font-bold" }, "!")
4654
+ ), isQuestLensMenuOpen && /* @__PURE__ */ React2.createElement("div", { className: "absolute left-0 bottom-full mb-2 w-full p-4 rounded-xl bg-slate-900 border border-white/10 shadow-2xl z-50 flex flex-col gap-4 animate-in fade-in slide-in-from-bottom-2 duration-200" }, /* @__PURE__ */ React2.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[10px] uppercase text-slate-400 font-bold tracking-widest" }, "Respons\xE1vel"), /* @__PURE__ */ React2.createElement(
4655
+ "select",
4656
+ {
4657
+ value: questFilterAssignee,
4658
+ onChange: (e) => setQuestFilterAssignee(e.target.value),
4659
+ className: "w-full bg-slate-800 p-2 text-xs rounded border border-white/10 focus:outline-none focus:border-indigo-500/50 text-white appearance-none cursor-pointer"
4660
+ },
4661
+ /* @__PURE__ */ React2.createElement("option", { value: "" }, "Todos os Respons\xE1veis"),
4662
+ viewMembers.map((m) => /* @__PURE__ */ React2.createElement("option", { key: m.id, value: m.id }, m.name || m.email))
4663
+ )), /* @__PURE__ */ React2.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[10px] uppercase text-slate-400 font-bold tracking-widest" }, "Status"), /* @__PURE__ */ React2.createElement(
4664
+ "select",
4665
+ {
4666
+ value: questFilterStatus,
4667
+ onChange: (e) => setQuestFilterStatus(e.target.value),
4668
+ className: "w-full bg-slate-800 p-2 text-xs rounded border border-white/10 focus:outline-none focus:border-indigo-500/50 text-white appearance-none cursor-pointer"
4669
+ },
4670
+ /* @__PURE__ */ React2.createElement("option", { value: "" }, "Todos (Exclui Done)"),
4671
+ /* @__PURE__ */ React2.createElement("option", { value: "Backlog" }, "Backlog"),
4672
+ /* @__PURE__ */ React2.createElement("option", { value: "In Progress" }, "In Progress"),
4673
+ /* @__PURE__ */ React2.createElement("option", { value: "Review" }, "Review"),
4674
+ /* @__PURE__ */ React2.createElement("option", { value: "Done" }, "Done")
4675
+ )), /* @__PURE__ */ React2.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React2.createElement("label", { className: "text-[10px] uppercase text-slate-400 font-bold tracking-widest" }, "Milestone"), /* @__PURE__ */ React2.createElement(
4676
+ "select",
4677
+ {
4678
+ value: questFilterMilestone,
4679
+ onChange: (e) => setQuestFilterMilestone(e.target.value),
4680
+ className: "w-full bg-slate-800 p-2 text-xs rounded border border-white/10 focus:outline-none focus:border-indigo-500/50 text-white appearance-none cursor-pointer"
4681
+ },
4682
+ /* @__PURE__ */ React2.createElement("option", { value: "" }, "Todos os Milestones"),
4683
+ (milestones || []).map((ms) => /* @__PURE__ */ React2.createElement("option", { key: ms.id, value: ms.id }, ms.name, " ", ms.status === "inactive" ? "(Inativo)" : ""))
4684
+ )), /* @__PURE__ */ React2.createElement("div", { className: "flex gap-2 pt-1 border-t border-white/10 mt-2" }, /* @__PURE__ */ React2.createElement(
4685
+ "button",
4686
+ {
4687
+ onClick: () => {
4688
+ setQuestFilterAssignee("");
4689
+ setQuestFilterStatus("");
4690
+ setQuestFilterMilestone("");
4715
4691
  },
4716
- /* @__PURE__ */ React2.createElement("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }),
4717
- /* @__PURE__ */ React2.createElement("path", { d: "M9 12l2 2 4-4" })
4718
- ),
4719
- "Quests"
4720
- )), /* @__PURE__ */ React2.createElement("div", { className: "relative" }, /* @__PURE__ */ React2.createElement(
4692
+ className: "flex-1 py-2 bg-white/5 hover:bg-white/10 text-slate-300 text-[11px] font-medium rounded-lg transition-colors border border-white/5 mt-3"
4693
+ },
4694
+ "Limpar"
4695
+ ), /* @__PURE__ */ React2.createElement(
4696
+ "button",
4697
+ {
4698
+ onClick: () => {
4699
+ onActivateQuestLens({
4700
+ assigneeId: questFilterAssignee,
4701
+ status: questFilterStatus,
4702
+ milestoneId: questFilterMilestone
4703
+ });
4704
+ setIsQuestLensMenuOpen(false);
4705
+ },
4706
+ className: "flex-[2] py-2 bg-indigo-600 hover:bg-indigo-500 text-white text-[11px] font-bold rounded-lg shadow-lg shadow-indigo-500/20 transition-all hover:scale-[1.02] active:scale-95 mt-3"
4707
+ },
4708
+ "Aplicar Lente"
4709
+ )))), /* @__PURE__ */ React2.createElement("div", { className: "relative" }, /* @__PURE__ */ React2.createElement(
4721
4710
  "button",
4722
4711
  {
4723
4712
  onClick: () => setActiveSubMenu(
@@ -15488,7 +15477,7 @@ function XViewScene({
15488
15477
  create_google_doc_action,
15489
15478
  open_google_picker_action
15490
15479
  }) {
15491
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
15480
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
15492
15481
  const { data: session, status } = useSession();
15493
15482
  const router = useRouter();
15494
15483
  const searchParams = useSearchParams();
@@ -20521,10 +20510,10 @@ function XViewScene({
20521
20510
  onOpenBoards: handleOpenBoards,
20522
20511
  viewType: viewParams == null ? void 0 : viewParams.type,
20523
20512
  viewName: viewParams == null ? void 0 : viewParams.name,
20524
- milestones: (viewParams == null ? void 0 : viewParams.milestones) || [],
20513
+ milestones: ((_c = sceneDataRef.current) == null ? void 0 : _c.milestones) || (viewParams == null ? void 0 : viewParams.milestones) || [],
20525
20514
  onOpenMilestoneManager: () => setIsMilestoneManagerOpen(true),
20526
- view_google_folder_id: (_c = sceneDataRef.current) == null ? void 0 : _c.view_google_folder_id,
20527
- view_google_folder_name: (_d = sceneDataRef.current) == null ? void 0 : _d.view_google_folder_name,
20515
+ view_google_folder_id: (_d = sceneDataRef.current) == null ? void 0 : _d.view_google_folder_id,
20516
+ view_google_folder_name: (_e = sceneDataRef.current) == null ? void 0 : _e.view_google_folder_name,
20528
20517
  open_google_picker_action,
20529
20518
  onSaveConfig: handleSaveConfig,
20530
20519
  onNavigateBack: handleNavigateBack,
@@ -20556,8 +20545,8 @@ function XViewScene({
20556
20545
  },
20557
20546
  refEl: formRef,
20558
20547
  existingTypes: existingNodeTypes,
20559
- initialColor: (_e = creationMode.sourceNodeData) == null ? void 0 : _e.color,
20560
- sourceTypes: (_f = creationMode.sourceNodeData) == null ? void 0 : _f.type,
20548
+ initialColor: (_f = creationMode.sourceNodeData) == null ? void 0 : _f.color,
20549
+ sourceTypes: (_g = creationMode.sourceNodeData) == null ? void 0 : _g.type,
20561
20550
  onIntensityChange: handleGhostNodeIntensityChange,
20562
20551
  onUploadFile: upload_file_action,
20563
20552
  availableDatasets,
@@ -20566,7 +20555,7 @@ function XViewScene({
20566
20555
  availableNodes: allAvailableNodes,
20567
20556
  availableAncestries: allAvailableAncestries,
20568
20557
  create_google_doc_action,
20569
- view_google_folder_id: (_g = sceneDataRef.current) == null ? void 0 : _g.view_google_folder_id
20558
+ view_google_folder_id: (_h = sceneDataRef.current) == null ? void 0 : _h.view_google_folder_id
20570
20559
  }
20571
20560
  ),
20572
20561
  versionMode.isActive && /* @__PURE__ */ React32.createElement(
@@ -20589,8 +20578,8 @@ function XViewScene({
20589
20578
  ...overlayHiddenStyle
20590
20579
  },
20591
20580
  refEl: formRef,
20592
- fixedType: (_h = versionMode.sourceNodeData) == null ? void 0 : _h.type,
20593
- fixedColor: (_i = versionMode.sourceNodeData) == null ? void 0 : _i.color,
20581
+ fixedType: (_i = versionMode.sourceNodeData) == null ? void 0 : _i.type,
20582
+ fixedColor: (_j = versionMode.sourceNodeData) == null ? void 0 : _j.color,
20594
20583
  onUploadFile: upload_file_action,
20595
20584
  availableNodes: allAvailableNodes,
20596
20585
  availableAncestries: allAvailableAncestries
@@ -20628,12 +20617,12 @@ function XViewScene({
20628
20617
  availableNodes: allAvailableNodes,
20629
20618
  availableAncestries: allAvailableAncestries,
20630
20619
  viewName: viewParams == null ? void 0 : viewParams.name,
20631
- questCounter: ((_j = sceneDataRef.current) == null ? void 0 : _j.quest_counter) || 1,
20620
+ questCounter: ((_k = sceneDataRef.current) == null ? void 0 : _k.quest_counter) || 1,
20632
20621
  viewMembers,
20633
- milestones: ((_k = sceneDataRef.current) == null ? void 0 : _k.milestones) || [],
20622
+ milestones: ((_l = sceneDataRef.current) == null ? void 0 : _l.milestones) || [],
20634
20623
  onUpdateMilestones: handleUpdateMilestones,
20635
20624
  create_google_doc_action,
20636
- view_google_folder_id: (_l = sceneDataRef.current) == null ? void 0 : _l.view_google_folder_id
20625
+ view_google_folder_id: (_m = sceneDataRef.current) == null ? void 0 : _m.view_google_folder_id
20637
20626
  }
20638
20627
  ),
20639
20628
  readingMode.isActive && readingMode.ancestry && /* @__PURE__ */ React32.createElement(
@@ -20767,10 +20756,10 @@ function XViewScene({
20767
20756
  currentDatasetName: detailsNodeDatasetInfo == null ? void 0 : detailsNodeDatasetInfo.datasetName,
20768
20757
  viewMembers,
20769
20758
  currentUser: session == null ? void 0 : session.user,
20770
- milestones: ((_m = sceneDataRef.current) == null ? void 0 : _m.milestones) || [],
20759
+ milestones: ((_n = sceneDataRef.current) == null ? void 0 : _n.milestones) || [],
20771
20760
  onUpdateMilestones: handleUpdateMilestones,
20772
20761
  create_google_doc_action,
20773
- view_google_folder_id: (_n = sceneDataRef.current) == null ? void 0 : _n.view_google_folder_id,
20762
+ view_google_folder_id: (_o = sceneDataRef.current) == null ? void 0 : _o.view_google_folder_id,
20774
20763
  setQuestTreeMode,
20775
20764
  handleRenderQuestTree,
20776
20765
  handleRenderQuestAbstractionTree,
@@ -20808,7 +20797,7 @@ function XViewScene({
20808
20797
  userRole: userPermissionRole,
20809
20798
  currentDatasetName: detailsNodeDatasetInfo == null ? void 0 : detailsNodeDatasetInfo.datasetName,
20810
20799
  create_google_doc_action,
20811
- view_google_folder_id: (_o = sceneDataRef.current) == null ? void 0 : _o.view_google_folder_id,
20800
+ view_google_folder_id: (_p = sceneDataRef.current) == null ? void 0 : _p.view_google_folder_id,
20812
20801
  style: overlayHiddenStyle
20813
20802
  }
20814
20803
  ),
@@ -20961,7 +20950,7 @@ function XViewScene({
20961
20950
  {
20962
20951
  isOpen: isMilestoneManagerOpen,
20963
20952
  onClose: () => setIsMilestoneManagerOpen(false),
20964
- milestones: ((_p = sceneDataRef.current) == null ? void 0 : _p.milestones) || [],
20953
+ milestones: ((_q = sceneDataRef.current) == null ? void 0 : _q.milestones) || [],
20965
20954
  onUpdateMilestones: handleUpdateMilestones
20966
20955
  }
20967
20956
  ),
@@ -20972,7 +20961,7 @@ function XViewScene({
20972
20961
  onClose: () => setIsImportModalOpen(false),
20973
20962
  onConfirm: handleConfirmImport,
20974
20963
  session,
20975
- parentDbs: ((_q = sceneDataRef.current) == null ? void 0 : _q.parent_dbs) || [],
20964
+ parentDbs: ((_r = sceneDataRef.current) == null ? void 0 : _r.parent_dbs) || [],
20976
20965
  onFetchAvailableFiles: import_parent_file_modal_get,
20977
20966
  currentViewName: viewParams == null ? void 0 : viewParams.name,
20978
20967
  currentAncestries: ancestryDataRef.current || []
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lv-x-software-house/x_view",
3
- "version": "1.2.7-dev.3",
3
+ "version": "1.2.7-dev.4",
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",