@carlonicora/nextjs-jsonapi 1.97.2 → 1.99.0

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 (37) hide show
  1. package/dist/{BlockNoteEditor-LRJUTHTW.mjs → BlockNoteEditor-IBV3KBQM.mjs} +2 -2
  2. package/dist/{BlockNoteEditor-OOZGXU6E.js → BlockNoteEditor-LYJUF5N4.js} +9 -9
  3. package/dist/{BlockNoteEditor-OOZGXU6E.js.map → BlockNoteEditor-LYJUF5N4.js.map} +1 -1
  4. package/dist/billing/index.js +299 -299
  5. package/dist/billing/index.mjs +1 -1
  6. package/dist/{chunk-XYGK26YG.mjs → chunk-CDNVUON3.mjs} +374 -148
  7. package/dist/chunk-CDNVUON3.mjs.map +1 -0
  8. package/dist/{chunk-HCOX3PKM.js → chunk-TRTKIQUB.js} +608 -382
  9. package/dist/chunk-TRTKIQUB.js.map +1 -0
  10. package/dist/client/index.d.mts +32 -3
  11. package/dist/client/index.d.ts +32 -3
  12. package/dist/client/index.js +4 -2
  13. package/dist/client/index.js.map +1 -1
  14. package/dist/client/index.mjs +3 -1
  15. package/dist/components/index.d.mts +5 -2
  16. package/dist/components/index.d.ts +5 -2
  17. package/dist/components/index.js +2 -2
  18. package/dist/components/index.mjs +1 -1
  19. package/dist/{content.fields-hzZvhlBd.d.mts → content.fields-xH3TGvVk.d.mts} +2 -0
  20. package/dist/{content.fields-hzZvhlBd.d.ts → content.fields-xH3TGvVk.d.ts} +2 -0
  21. package/dist/contexts/index.js +2 -2
  22. package/dist/contexts/index.mjs +1 -1
  23. package/dist/core/index.d.mts +1 -1
  24. package/dist/core/index.d.ts +1 -1
  25. package/dist/index.d.mts +1 -1
  26. package/dist/index.d.ts +1 -1
  27. package/package.json +3 -1
  28. package/src/components/forms/FormDate.tsx +27 -3
  29. package/src/components/forms/FormDateTime.tsx +40 -8
  30. package/src/hooks/__tests__/computeLayeredLayout.spec.ts +152 -0
  31. package/src/hooks/computeLayeredLayout.ts +96 -0
  32. package/src/hooks/index.ts +6 -0
  33. package/src/hooks/useCustomD3Graph.tsx +310 -148
  34. package/src/interfaces/d3.node.interface.ts +2 -0
  35. package/dist/chunk-HCOX3PKM.js.map +0 -1
  36. package/dist/chunk-XYGK26YG.mjs.map +0 -1
  37. /package/dist/{BlockNoteEditor-LRJUTHTW.mjs.map → BlockNoteEditor-IBV3KBQM.mjs.map} +0 -0
@@ -6455,7 +6455,72 @@ var _d3 = require('d3'); var d3 = _interopRequireWildcard(_d3);
6455
6455
 
6456
6456
  var _server = require('react-dom/server');
6457
6457
 
6458
- function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, loadingNodeIds, containerKey) {
6458
+ // src/hooks/computeLayeredLayout.ts
6459
+ var _dagre = require('dagre'); var dagre = _interopRequireWildcard(_dagre);
6460
+ var DEFAULT_RANKDIR = "LR";
6461
+ var DEFAULT_NODESEP = 50;
6462
+ var DEFAULT_RANKSEP = 120;
6463
+ var TITLE_PX_PER_CHAR_16 = 8;
6464
+ var NAME_PX_PER_CHAR_12 = 6.5;
6465
+ var NAME_PX_PER_CHAR_16_BOLD = 8;
6466
+ var SUBTITLE_PX_PER_CHAR_11 = 6;
6467
+ var LABEL_PADDING_PX = 16;
6468
+ function estimateLabelWidth(node) {
6469
+ if (node.subtitle) {
6470
+ const titleWidth = (_nullishCoalesce(_optionalChain([node, 'access', _134 => _134.name, 'optionalAccess', _135 => _135.length]), () => ( 0))) * TITLE_PX_PER_CHAR_16;
6471
+ const subtitleWidth = node.subtitle.length * SUBTITLE_PX_PER_CHAR_11;
6472
+ return Math.max(titleWidth, subtitleWidth) + LABEL_PADDING_PX;
6473
+ }
6474
+ const perChar = node.bold ? NAME_PX_PER_CHAR_16_BOLD : NAME_PX_PER_CHAR_12;
6475
+ return (_nullishCoalesce(_optionalChain([node, 'access', _136 => _136.name, 'optionalAccess', _137 => _137.length]), () => ( 0))) * perChar + LABEL_PADDING_PX;
6476
+ }
6477
+ _chunk7QVYU63Ejs.__name.call(void 0, estimateLabelWidth, "estimateLabelWidth");
6478
+ function linkEndpointId(end) {
6479
+ return typeof end === "string" ? end : end.id;
6480
+ }
6481
+ _chunk7QVYU63Ejs.__name.call(void 0, linkEndpointId, "linkEndpointId");
6482
+ function computeLayeredLayout(nodes, links, opts) {
6483
+ if (nodes.length === 0) return /* @__PURE__ */ new Map();
6484
+ const rankdir = _nullishCoalesce(opts.rankdir, () => ( DEFAULT_RANKDIR));
6485
+ const nodesep = _nullishCoalesce(opts.nodesep, () => ( DEFAULT_NODESEP));
6486
+ const ranksep = _nullishCoalesce(opts.ranksep, () => ( DEFAULT_RANKSEP));
6487
+ const g = new dagre.graphlib.Graph({ directed: true });
6488
+ g.setGraph({ rankdir, nodesep, ranksep, marginx: 20, marginy: 20 });
6489
+ g.setDefaultEdgeLabel(() => ({}));
6490
+ for (const node of nodes) {
6491
+ const width = Math.max(opts.minNodeWidth, estimateLabelWidth(node));
6492
+ const height = opts.minNodeHeight;
6493
+ g.setNode(node.id, { width, height });
6494
+ }
6495
+ const seen = /* @__PURE__ */ new Set();
6496
+ for (const link of links) {
6497
+ const sourceId = linkEndpointId(link.source);
6498
+ const targetId = linkEndpointId(link.target);
6499
+ if (!g.hasNode(sourceId) || !g.hasNode(targetId)) continue;
6500
+ const key = `${sourceId}->${targetId}`;
6501
+ if (seen.has(key)) continue;
6502
+ seen.add(key);
6503
+ g.setEdge(sourceId, targetId);
6504
+ }
6505
+ try {
6506
+ dagre.layout(g);
6507
+ } catch (e4) {
6508
+ return null;
6509
+ }
6510
+ const positions = /* @__PURE__ */ new Map();
6511
+ for (const node of nodes) {
6512
+ const laid = g.node(node.id);
6513
+ if (laid && Number.isFinite(laid.x) && Number.isFinite(laid.y)) {
6514
+ positions.set(node.id, { x: laid.x, y: laid.y });
6515
+ }
6516
+ }
6517
+ return positions;
6518
+ }
6519
+ _chunk7QVYU63Ejs.__name.call(void 0, computeLayeredLayout, "computeLayeredLayout");
6520
+
6521
+ // src/hooks/useCustomD3Graph.tsx
6522
+
6523
+ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, options, loadingNodeIds, containerKey) {
6459
6524
  const svgRef = _react.useRef.call(void 0, null);
6460
6525
  const zoomRef = _react.useRef.call(void 0, null);
6461
6526
  const zoomBehaviorRef = _react.useRef.call(void 0, null);
@@ -6519,7 +6584,7 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, loadingNode
6519
6584
  });
6520
6585
  const typeColorMap = /* @__PURE__ */ new Map();
6521
6586
  Array.from(groupTypes).forEach((type, index) => {
6522
- if (type === _optionalChain([nodes, 'access', _134 => _134[0], 'optionalAccess', _135 => _135.instanceType])) {
6587
+ if (type === _optionalChain([nodes, 'access', _138 => _138[0], 'optionalAccess', _139 => _139.instanceType])) {
6523
6588
  typeColorMap.set(type, accentColor);
6524
6589
  } else if (type === "documents" || type === "articles" || type === "hyperlinks") {
6525
6590
  typeColorMap.set(type, contentColor);
@@ -6543,6 +6608,9 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, loadingNode
6543
6608
  }, []);
6544
6609
  const getNodeColor = _react.useCallback.call(void 0,
6545
6610
  (node) => {
6611
+ if (node.color) {
6612
+ return node.washedOut ? washOutColor(node.color) : node.color;
6613
+ }
6546
6614
  const baseColor = colorScale.get(node.instanceType) || "gray";
6547
6615
  if (node.washedOut) {
6548
6616
  return washOutColor(baseColor);
@@ -6562,12 +6630,18 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, loadingNode
6562
6630
  });
6563
6631
  const svg = d3.select(svgRef.current);
6564
6632
  svg.selectAll("*").remove();
6565
- const container = _optionalChain([svgRef, 'access', _136 => _136.current, 'optionalAccess', _137 => _137.parentElement]);
6633
+ const container = _optionalChain([svgRef, 'access', _140 => _140.current, 'optionalAccess', _141 => _141.parentElement]);
6566
6634
  if (!container) return;
6567
6635
  const width = container.clientWidth;
6568
6636
  const height = container.clientHeight;
6569
6637
  svg.attr("width", width).attr("height", height).attr("viewBox", `0 0 ${width} ${height}`);
6570
6638
  const graphGroup = svg.append("g").attr("class", "graph-content");
6639
+ const nodeRadius = 40;
6640
+ const directed = _optionalChain([options, 'optionalAccess', _142 => _142.directed]) === true;
6641
+ if (directed) {
6642
+ const defs = svg.append("defs");
6643
+ defs.append("marker").attr("id", "narr8-arrow").attr("viewBox", "-10 -10 20 20").attr("markerWidth", 14).attr("markerHeight", 14).attr("markerUnits", "userSpaceOnUse").attr("orient", "auto").attr("refX", 0).attr("refY", 0).append("path").attr("d", "M-10,-10 L0,0 L-10,10 z").attr("fill", "#999");
6644
+ }
6571
6645
  const zoom2 = d3.zoom().scaleExtent([0.1, 4]).on("zoom", (event) => {
6572
6646
  const transform = event.transform;
6573
6647
  graphGroup.attr("transform", transform.toString());
@@ -6575,119 +6649,190 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, loadingNode
6575
6649
  });
6576
6650
  zoomBehaviorRef.current = zoom2;
6577
6651
  svg.call(zoom2).on("wheel.zoom", null).on("dblclick.zoom", null);
6578
- const nodeRadius = 40;
6579
- const childDistanceFromRoot = Math.min(width, height) * 0.4;
6580
- const grandchildDistanceFromChild = nodeRadius * 10;
6581
- const centralNodeId = nodes[0].id;
6582
- const nodeHierarchy = /* @__PURE__ */ new Map();
6583
- nodeHierarchy.set(centralNodeId, {
6584
- depth: 0,
6585
- parent: null,
6586
- children: []
6587
- });
6588
- visibleLinks.forEach((link2) => {
6589
- const sourceId = typeof link2.source === "string" ? link2.source : link2.source.id;
6590
- const targetId = typeof link2.target === "string" ? link2.target : link2.target.id;
6591
- if (sourceId === centralNodeId) {
6592
- nodeHierarchy.set(targetId, { depth: 1, parent: centralNodeId, children: [] });
6593
- const rootNode = nodeHierarchy.get(centralNodeId);
6594
- if (rootNode) {
6595
- rootNode.children.push(targetId);
6596
- }
6597
- }
6598
- });
6599
- visibleLinks.forEach((link2) => {
6600
- const sourceId = typeof link2.source === "string" ? link2.source : link2.source.id;
6601
- const targetId = typeof link2.target === "string" ? link2.target : link2.target.id;
6602
- const sourceNode = nodeHierarchy.get(sourceId);
6603
- if (sourceNode && sourceNode.depth === 1 && !nodeHierarchy.has(targetId)) {
6604
- nodeHierarchy.set(targetId, { depth: 2, parent: sourceId, children: [] });
6605
- sourceNode.children.push(targetId);
6606
- }
6607
- });
6608
- const rootChildren = _optionalChain([nodeHierarchy, 'access', _138 => _138.get, 'call', _139 => _139(centralNodeId), 'optionalAccess', _140 => _140.children]) || [];
6609
- const childAngleStep = 2 * Math.PI / Math.max(rootChildren.length, 1);
6610
- rootChildren.forEach((childId, index) => {
6611
- const childNode = nodeHierarchy.get(childId);
6612
- if (childNode) {
6613
- const angle = index * childAngleStep;
6614
- childNode.angle = angle;
6615
- childNode.x = width / 2 + childDistanceFromRoot * Math.cos(angle);
6616
- childNode.y = height / 2 + childDistanceFromRoot * Math.sin(angle);
6652
+ const layoutMode = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _143 => _143.layout]), () => ( "radial"));
6653
+ let layeredPositionsApplied = false;
6654
+ if (layoutMode === "layered") {
6655
+ const layeredOpts = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _144 => _144.layered]), () => ( {}));
6656
+ const positions = computeLayeredLayout(visibleNodes, visibleLinks, {
6657
+ rankdir: _nullishCoalesce(layeredOpts.rankdir, () => ( "LR")),
6658
+ nodesep: layeredOpts.nodesep,
6659
+ ranksep: layeredOpts.ranksep,
6660
+ minNodeWidth: nodeRadius * 2,
6661
+ minNodeHeight: nodeRadius * 2
6662
+ });
6663
+ if (positions) {
6664
+ visibleNodes.forEach((node2) => {
6665
+ const saved = nodePositionsRef.current.get(node2.id);
6666
+ if (saved) {
6667
+ node2.fx = saved.x;
6668
+ node2.fy = saved.y;
6669
+ node2.x = saved.x;
6670
+ node2.y = saved.y;
6671
+ return;
6672
+ }
6673
+ const pos = positions.get(node2.id);
6674
+ if (pos) {
6675
+ node2.fx = pos.x;
6676
+ node2.fy = pos.y;
6677
+ node2.x = pos.x;
6678
+ node2.y = pos.y;
6679
+ nodePositionsRef.current.set(node2.id, { x: pos.x, y: pos.y });
6680
+ }
6681
+ });
6682
+ const nodeById = /* @__PURE__ */ new Map();
6683
+ visibleNodes.forEach((n) => nodeById.set(n.id, n));
6684
+ visibleLinks.forEach((link2) => {
6685
+ if (typeof link2.source === "string") {
6686
+ const src = nodeById.get(link2.source);
6687
+ if (src) link2.source = src;
6688
+ }
6689
+ if (typeof link2.target === "string") {
6690
+ const tgt = nodeById.get(link2.target);
6691
+ if (tgt) link2.target = tgt;
6692
+ }
6693
+ });
6694
+ layeredPositionsApplied = true;
6695
+ } else {
6696
+ console.warn("[useCustomD3Graph] Layered layout failed; falling back to radial.");
6617
6697
  }
6618
- });
6619
- for (const [_nodeId, node2] of nodeHierarchy.entries()) {
6620
- if (node2.depth === 1 && node2.angle !== void 0 && node2.x !== void 0 && node2.y !== void 0) {
6621
- const childAngle = node2.angle;
6622
- const childX = node2.x;
6623
- const childY = node2.y;
6624
- const grandchildren = node2.children;
6625
- if (grandchildren.length === 0) continue;
6626
- const dirX = childX - width / 2;
6627
- const dirY = childY - height / 2;
6628
- const dirLength = Math.sqrt(dirX * dirX + dirY * dirY);
6629
- const normDirX = dirX / dirLength;
6630
- const normDirY = dirY / dirLength;
6631
- if (grandchildren.length === 1) {
6632
- const grandchildId = grandchildren[0];
6633
- const grandchildNode = nodeHierarchy.get(grandchildId);
6634
- if (grandchildNode) {
6635
- grandchildNode.x = childX + normDirX * grandchildDistanceFromChild;
6636
- grandchildNode.y = childY + normDirY * grandchildDistanceFromChild;
6637
- grandchildNode.angle = childAngle;
6698
+ }
6699
+ let simulation = null;
6700
+ if (!layeredPositionsApplied) {
6701
+ const childDistanceFromRoot = Math.min(width, height) * 0.4;
6702
+ const grandchildDistanceFromChild = nodeRadius * 10;
6703
+ const centralNodeId = nodes[0].id;
6704
+ const nodeHierarchy = /* @__PURE__ */ new Map();
6705
+ nodeHierarchy.set(centralNodeId, {
6706
+ depth: 0,
6707
+ parent: null,
6708
+ children: []
6709
+ });
6710
+ visibleLinks.forEach((link2) => {
6711
+ const sourceId = typeof link2.source === "string" ? link2.source : link2.source.id;
6712
+ const targetId = typeof link2.target === "string" ? link2.target : link2.target.id;
6713
+ if (sourceId === centralNodeId) {
6714
+ nodeHierarchy.set(targetId, { depth: 1, parent: centralNodeId, children: [] });
6715
+ const rootNode = nodeHierarchy.get(centralNodeId);
6716
+ if (rootNode) {
6717
+ rootNode.children.push(targetId);
6638
6718
  }
6639
- } else {
6640
- const numChildren = grandchildren.length;
6641
- const minArc = Math.PI / 3;
6642
- const maxArc = Math.PI;
6643
- const arcProgress = Math.min(1, (numChildren - 2) / 5);
6644
- const arcSpan = minArc + arcProgress * (maxArc - minArc);
6645
- const startAngle = childAngle - arcSpan / 2;
6646
- grandchildren.forEach((grandchildId, index) => {
6719
+ }
6720
+ });
6721
+ visibleLinks.forEach((link2) => {
6722
+ const sourceId = typeof link2.source === "string" ? link2.source : link2.source.id;
6723
+ const targetId = typeof link2.target === "string" ? link2.target : link2.target.id;
6724
+ const sourceNode = nodeHierarchy.get(sourceId);
6725
+ if (sourceNode && sourceNode.depth === 1 && !nodeHierarchy.has(targetId)) {
6726
+ nodeHierarchy.set(targetId, { depth: 2, parent: sourceId, children: [] });
6727
+ sourceNode.children.push(targetId);
6728
+ }
6729
+ });
6730
+ const rootChildren = _optionalChain([nodeHierarchy, 'access', _145 => _145.get, 'call', _146 => _146(centralNodeId), 'optionalAccess', _147 => _147.children]) || [];
6731
+ const childAngleStep = 2 * Math.PI / Math.max(rootChildren.length, 1);
6732
+ rootChildren.forEach((childId, index) => {
6733
+ const childNode = nodeHierarchy.get(childId);
6734
+ if (childNode) {
6735
+ const angle = index * childAngleStep;
6736
+ childNode.angle = angle;
6737
+ childNode.x = width / 2 + childDistanceFromRoot * Math.cos(angle);
6738
+ childNode.y = height / 2 + childDistanceFromRoot * Math.sin(angle);
6739
+ }
6740
+ });
6741
+ for (const [_nodeId, node2] of nodeHierarchy.entries()) {
6742
+ if (node2.depth === 1 && node2.angle !== void 0 && node2.x !== void 0 && node2.y !== void 0) {
6743
+ const childAngle = node2.angle;
6744
+ const childX = node2.x;
6745
+ const childY = node2.y;
6746
+ const grandchildren = node2.children;
6747
+ if (grandchildren.length === 0) continue;
6748
+ const dirX = childX - width / 2;
6749
+ const dirY = childY - height / 2;
6750
+ const dirLength = Math.sqrt(dirX * dirX + dirY * dirY);
6751
+ const normDirX = dirX / dirLength;
6752
+ const normDirY = dirY / dirLength;
6753
+ if (grandchildren.length === 1) {
6754
+ const grandchildId = grandchildren[0];
6647
6755
  const grandchildNode = nodeHierarchy.get(grandchildId);
6648
- if (!grandchildNode) return;
6649
- const angleOffset = numChildren > 1 ? index / (numChildren - 1) * arcSpan : 0;
6650
- const angle = startAngle + angleOffset;
6651
- grandchildNode.x = childX + grandchildDistanceFromChild * Math.cos(angle);
6652
- grandchildNode.y = childY + grandchildDistanceFromChild * Math.sin(angle);
6653
- grandchildNode.angle = angle;
6654
- });
6756
+ if (grandchildNode) {
6757
+ grandchildNode.x = childX + normDirX * grandchildDistanceFromChild;
6758
+ grandchildNode.y = childY + normDirY * grandchildDistanceFromChild;
6759
+ grandchildNode.angle = childAngle;
6760
+ }
6761
+ } else {
6762
+ const numChildren = grandchildren.length;
6763
+ const minArc = Math.PI / 3;
6764
+ const maxArc = Math.PI;
6765
+ const arcProgress = Math.min(1, (numChildren - 2) / 5);
6766
+ const arcSpan = minArc + arcProgress * (maxArc - minArc);
6767
+ const startAngle = childAngle - arcSpan / 2;
6768
+ grandchildren.forEach((grandchildId, index) => {
6769
+ const grandchildNode = nodeHierarchy.get(grandchildId);
6770
+ if (!grandchildNode) return;
6771
+ const angleOffset = numChildren > 1 ? index / (numChildren - 1) * arcSpan : 0;
6772
+ const angle = startAngle + angleOffset;
6773
+ grandchildNode.x = childX + grandchildDistanceFromChild * Math.cos(angle);
6774
+ grandchildNode.y = childY + grandchildDistanceFromChild * Math.sin(angle);
6775
+ grandchildNode.angle = angle;
6776
+ });
6777
+ }
6655
6778
  }
6656
6779
  }
6657
- }
6658
- visibleNodes.forEach((node2) => {
6659
- const savedPosition = nodePositionsRef.current.get(node2.id);
6660
- if (savedPosition) {
6661
- node2.fx = savedPosition.x;
6662
- node2.fy = savedPosition.y;
6663
- } else {
6664
- const hierarchyNode = nodeHierarchy.get(node2.id);
6665
- if (hierarchyNode && hierarchyNode.x !== void 0 && hierarchyNode.y !== void 0) {
6666
- node2.fx = hierarchyNode.x;
6667
- node2.fy = hierarchyNode.y;
6668
- nodePositionsRef.current.set(node2.id, { x: hierarchyNode.x, y: hierarchyNode.y });
6669
- } else if (node2.id === centralNodeId) {
6670
- node2.fx = width / 2;
6671
- node2.fy = height / 2;
6672
- nodePositionsRef.current.set(node2.id, { x: width / 2, y: height / 2 });
6780
+ visibleNodes.forEach((node2) => {
6781
+ const savedPosition = nodePositionsRef.current.get(node2.id);
6782
+ if (savedPosition) {
6783
+ node2.fx = savedPosition.x;
6784
+ node2.fy = savedPosition.y;
6785
+ } else {
6786
+ const hierarchyNode = nodeHierarchy.get(node2.id);
6787
+ if (hierarchyNode && hierarchyNode.x !== void 0 && hierarchyNode.y !== void 0) {
6788
+ node2.fx = hierarchyNode.x;
6789
+ node2.fy = hierarchyNode.y;
6790
+ nodePositionsRef.current.set(node2.id, { x: hierarchyNode.x, y: hierarchyNode.y });
6791
+ } else if (node2.id === centralNodeId) {
6792
+ node2.fx = width / 2;
6793
+ node2.fy = height / 2;
6794
+ nodePositionsRef.current.set(node2.id, { x: width / 2, y: height / 2 });
6795
+ }
6673
6796
  }
6797
+ });
6798
+ simulation = d3.forceSimulation(visibleNodes).force(
6799
+ "link",
6800
+ d3.forceLink(visibleLinks).id((d) => d.id).distance(nodeRadius * 3).strength(0.1)
6801
+ ).force("charge", d3.forceManyBody().strength(-500).distanceMax(300)).force("collision", d3.forceCollide().radius(nodeRadius * 1.2)).force("center", d3.forceCenter(width / 2, height / 2).strength(0.1));
6802
+ simulation.stop();
6803
+ for (let i = 0; i < 100; i++) {
6804
+ simulation.tick();
6674
6805
  }
6675
- });
6676
- const simulation = d3.forceSimulation(visibleNodes).force(
6677
- "link",
6678
- d3.forceLink(visibleLinks).id((d) => d.id).distance(nodeRadius * 3).strength(0.1)
6679
- ).force("charge", d3.forceManyBody().strength(-500).distanceMax(300)).force("collision", d3.forceCollide().radius(nodeRadius * 1.2)).force("center", d3.forceCenter(width / 2, height / 2).strength(0.1));
6680
- simulation.stop();
6681
- for (let i = 0; i < 100; i++) {
6682
- simulation.tick();
6683
- }
6684
- visibleNodes.forEach((node2) => {
6685
- if (node2.fx === void 0) {
6686
- node2.fx = node2.x;
6687
- node2.fy = node2.y;
6688
- }
6689
- });
6690
- const link = graphGroup.append("g").attr("stroke", "#999").attr("stroke-opacity", 0.6).selectAll("line").data(visibleLinks).join("line").attr("x1", (d) => d.source.x || 0).attr("y1", (d) => d.source.y || 0).attr("x2", (d) => d.target.x || 0).attr("y2", (d) => d.target.y || 0).attr("stroke-width", 1.5);
6806
+ visibleNodes.forEach((node2) => {
6807
+ if (node2.fx === void 0) {
6808
+ node2.fx = node2.x;
6809
+ node2.fy = node2.y;
6810
+ }
6811
+ });
6812
+ }
6813
+ const linkX2 = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (sx, sy, tx, ty) => {
6814
+ if (!directed) return tx;
6815
+ const dx = tx - sx;
6816
+ const dy = ty - sy;
6817
+ const dist = Math.sqrt(dx * dx + dy * dy) || 1;
6818
+ return tx - dx / dist * nodeRadius;
6819
+ }, "linkX2");
6820
+ const linkY2 = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (sx, sy, tx, ty) => {
6821
+ if (!directed) return ty;
6822
+ const dx = tx - sx;
6823
+ const dy = ty - sy;
6824
+ const dist = Math.sqrt(dx * dx + dy * dy) || 1;
6825
+ return ty - dy / dist * nodeRadius;
6826
+ }, "linkY2");
6827
+ const link = graphGroup.append("g").attr("stroke", "#999").attr("stroke-opacity", 0.6).selectAll("line").data(visibleLinks).join("line").attr("x1", (d) => d.source.x || 0).attr("y1", (d) => d.source.y || 0).attr("x2", (d) => {
6828
+ const s = d.source;
6829
+ const t = d.target;
6830
+ return linkX2(s.x || 0, s.y || 0, t.x || 0, t.y || 0);
6831
+ }).attr("y2", (d) => {
6832
+ const s = d.source;
6833
+ const t = d.target;
6834
+ return linkY2(s.x || 0, s.y || 0, t.x || 0, t.y || 0);
6835
+ }).attr("stroke-width", 1.5).attr("marker-end", directed ? "url(#narr8-arrow)" : null);
6691
6836
  const node = graphGroup.append("g").selectAll("g").data(visibleNodes).join("g").attr("class", "node-group").attr("data-id", (d) => d.id).attr("cursor", "pointer").attr("transform", (d) => `translate(${d.x || 0}, ${d.y || 0})`).call(
6692
6837
  d3.drag().subject(function(d) {
6693
6838
  return d;
@@ -6707,11 +6852,21 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, loadingNode
6707
6852
  const source = l.source;
6708
6853
  return source.fy || source.y || 0;
6709
6854
  }).attr("x2", (l) => {
6855
+ const source = l.source;
6710
6856
  const target = l.target;
6711
- return target.fx || target.x || 0;
6857
+ const sx = source.fx || source.x || 0;
6858
+ const sy = source.fy || source.y || 0;
6859
+ const tx = target.fx || target.x || 0;
6860
+ const ty = target.fy || target.y || 0;
6861
+ return linkX2(sx, sy, tx, ty);
6712
6862
  }).attr("y2", (l) => {
6863
+ const source = l.source;
6713
6864
  const target = l.target;
6714
- return target.fy || target.y || 0;
6865
+ const sx = source.fx || source.x || 0;
6866
+ const sy = source.fy || source.y || 0;
6867
+ const tx = target.fx || target.x || 0;
6868
+ const ty = target.fy || target.y || 0;
6869
+ return linkY2(sx, sy, tx, ty);
6715
6870
  });
6716
6871
  }).on("end", function(event, d) {
6717
6872
  d.fx = event.x;
@@ -6721,7 +6876,7 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, loadingNode
6721
6876
  if (d.instanceType === "root") return;
6722
6877
  const currentNode = d3.select(this);
6723
6878
  currentNode.raise();
6724
- const currentZoom = _optionalChain([zoomRef, 'access', _141 => _141.current, 'optionalAccess', _142 => _142.k]) || 1;
6879
+ const currentZoom = _optionalChain([zoomRef, 'access', _148 => _148.current, 'optionalAccess', _149 => _149.k]) || 1;
6725
6880
  const targetScreenFontSize = 20;
6726
6881
  const baseFontSize = 12;
6727
6882
  const textScale = targetScreenFontSize / (baseFontSize * currentZoom);
@@ -6732,7 +6887,7 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, loadingNode
6732
6887
  if (d.instanceType === "root") return;
6733
6888
  const currentNode = d3.select(this);
6734
6889
  currentNode.select("circle").transition().duration(250).ease(d3.easeExpOut).attr("r", nodeRadius).attr("filter", null);
6735
- const normalOffset = nodeRadius + 5;
6890
+ const normalOffset = nodeRadius + 5 + (d.subtitle ? 16 : 0);
6736
6891
  currentNode.select("text").transition().duration(250).ease(d3.easeExpOut).attr("dy", -normalOffset).attr("transform", `translate(0, ${-normalOffset}) scale(1) translate(0, ${normalOffset})`);
6737
6892
  });
6738
6893
  node.append("circle").attr("r", nodeRadius).attr("fill", (d) => getNodeColor(d)).attr("stroke", "#fff").attr("stroke-width", 1.5).on("click", (event, d) => {
@@ -6784,14 +6939,33 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, loadingNode
6784
6939
  words.forEach((word, index) => {
6785
6940
  textElement.append("tspan").attr("x", 0).attr("dy", index === 0 ? `${startY}em` : `${lineHeight}em`).text(word);
6786
6941
  });
6942
+ } else if (d.subtitle) {
6943
+ const titleSize = 16;
6944
+ const subtitleSize = 11;
6945
+ const lineGap = titleSize;
6946
+ textElement.attr("dy", -nodeRadius - 5 - lineGap).attr("fill", "currentColor");
6947
+ textElement.append("tspan").attr("x", 0).attr("font-size", titleSize).attr("font-weight", 700).text(d.name);
6948
+ textElement.append("tspan").attr("x", 0).attr("dy", lineGap).attr("font-size", subtitleSize).attr("fill-opacity", 0.7).text(d.subtitle);
6787
6949
  } else {
6788
6950
  textElement.attr("dy", -nodeRadius - 5).attr("fill", "currentColor").attr("font-size", d.bold ? 16 : 12).attr("font-weight", d.bold ? 700 : null).text(d.name);
6789
6951
  }
6790
6952
  });
6791
6953
  return () => {
6792
- simulation.stop();
6954
+ _optionalChain([simulation, 'optionalAccess', _150 => _150.stop, 'call', _151 => _151()]);
6793
6955
  };
6794
- }, [nodes, links, colorScale, visibleNodeIds, loadingNodeIds, onNodeClick]);
6956
+ }, [
6957
+ nodes,
6958
+ links,
6959
+ colorScale,
6960
+ visibleNodeIds,
6961
+ _optionalChain([options, 'optionalAccess', _152 => _152.directed]),
6962
+ _optionalChain([options, 'optionalAccess', _153 => _153.layout]),
6963
+ _optionalChain([options, 'optionalAccess', _154 => _154.layered, 'optionalAccess', _155 => _155.rankdir]),
6964
+ _optionalChain([options, 'optionalAccess', _156 => _156.layered, 'optionalAccess', _157 => _157.nodesep]),
6965
+ _optionalChain([options, 'optionalAccess', _158 => _158.layered, 'optionalAccess', _159 => _159.ranksep]),
6966
+ loadingNodeIds,
6967
+ onNodeClick
6968
+ ]);
6795
6969
  const zoomIn = _react.useCallback.call(void 0, () => {
6796
6970
  if (!svgRef.current || !zoomBehaviorRef.current) return;
6797
6971
  const svg = d3.select(svgRef.current);
@@ -6911,7 +7085,7 @@ function usePageTracker() {
6911
7085
  if (typeof document !== "undefined") {
6912
7086
  const titleParts = document.title.split("]");
6913
7087
  if (titleParts[1]) {
6914
- const cleanTitle = _optionalChain([titleParts, 'access', _143 => _143[1], 'access', _144 => _144.split, 'call', _145 => _145("|"), 'access', _146 => _146[0], 'optionalAccess', _147 => _147.trim, 'call', _148 => _148()]);
7088
+ const cleanTitle = _optionalChain([titleParts, 'access', _160 => _160[1], 'access', _161 => _161.split, 'call', _162 => _162("|"), 'access', _163 => _163[0], 'optionalAccess', _164 => _164.trim, 'call', _165 => _165()]);
6915
7089
  pageTitle = cleanTitle || foundModule.name;
6916
7090
  }
6917
7091
  }
@@ -6948,7 +7122,7 @@ function usePushNotifications() {
6948
7122
  const register = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
6949
7123
  if ("serviceWorker" in navigator && "PushManager" in window) {
6950
7124
  try {
6951
- const sessionKey = `push_registered_${_optionalChain([currentUser, 'optionalAccess', _149 => _149.id])}`;
7125
+ const sessionKey = `push_registered_${_optionalChain([currentUser, 'optionalAccess', _166 => _166.id])}`;
6952
7126
  const lastRegisteredSubscription = sessionStorage.getItem(sessionKey);
6953
7127
  const registration = await navigator.serviceWorker.register(`${_chunkSE5HIHJSjs.getAppUrl.call(void 0, )}/sw.js`);
6954
7128
  let permission = Notification.permission;
@@ -7005,7 +7179,7 @@ function useSocket({ token }) {
7005
7179
  const socketRef = _react.useRef.call(void 0, null);
7006
7180
  _react.useEffect.call(void 0, () => {
7007
7181
  if (!token) return;
7008
- const globalSocketKey = `__socket_${_optionalChain([process, 'access', _150 => _150.env, 'access', _151 => _151.NEXT_PUBLIC_API_URL, 'optionalAccess', _152 => _152.replace, 'call', _153 => _153(/[^a-zA-Z0-9]/g, "_")])}`;
7182
+ const globalSocketKey = `__socket_${_optionalChain([process, 'access', _167 => _167.env, 'access', _168 => _168.NEXT_PUBLIC_API_URL, 'optionalAccess', _169 => _169.replace, 'call', _170 => _170(/[^a-zA-Z0-9]/g, "_")])}`;
7009
7183
  if (typeof window !== "undefined") {
7010
7184
  const _allSocketKeys = Object.keys(window).filter((key) => key.startsWith("__socket_"));
7011
7185
  const existingSocket = window[globalSocketKey];
@@ -7043,7 +7217,7 @@ function useSocket({ token }) {
7043
7217
  }
7044
7218
  socketRef.current = currentSocket;
7045
7219
  setSocket(currentSocket);
7046
- } catch (e4) {
7220
+ } catch (e5) {
7047
7221
  return () => {
7048
7222
  };
7049
7223
  }
@@ -7198,23 +7372,23 @@ var CurrentUserProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (
7198
7372
  );
7199
7373
  const matchedModuleKey = moduleKeys.find((key) => {
7200
7374
  const descriptor2 = Object.getOwnPropertyDescriptor(_chunkXAWKRNYMjs.Modules, key);
7201
- if (!_optionalChain([descriptor2, 'optionalAccess', _154 => _154.get])) return false;
7375
+ if (!_optionalChain([descriptor2, 'optionalAccess', _171 => _171.get])) return false;
7202
7376
  const selectedModule = descriptor2.get.call(_chunkXAWKRNYMjs.Modules);
7203
- return path.toLowerCase().startsWith(_optionalChain([selectedModule, 'access', _155 => _155.pageUrl, 'optionalAccess', _156 => _156.toLowerCase, 'call', _157 => _157()]));
7377
+ return path.toLowerCase().startsWith(_optionalChain([selectedModule, 'access', _172 => _172.pageUrl, 'optionalAccess', _173 => _173.toLowerCase, 'call', _174 => _174()]));
7204
7378
  });
7205
7379
  if (!matchedModuleKey) return void 0;
7206
7380
  const descriptor = Object.getOwnPropertyDescriptor(_chunkXAWKRNYMjs.Modules, matchedModuleKey);
7207
- return _optionalChain([descriptor, 'optionalAccess', _158 => _158.get, 'optionalAccess', _159 => _159.call, 'call', _160 => _160(_chunkXAWKRNYMjs.Modules)]);
7381
+ return _optionalChain([descriptor, 'optionalAccess', _175 => _175.get, 'optionalAccess', _176 => _176.call, 'call', _177 => _177(_chunkXAWKRNYMjs.Modules)]);
7208
7382
  }, "matchUrlToModule");
7209
7383
  const currentUser = dehydratedUser ? _chunkXAWKRNYMjs.rehydrate.call(void 0, _chunkXAWKRNYMjs.Modules.User, dehydratedUser) : null;
7210
- const company = _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _161 => _161.company]), () => ( null));
7384
+ const company = _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _178 => _178.company]), () => ( null));
7211
7385
  const setUser = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (user) => {
7212
7386
  if (user) setDehydratedUser(user.dehydrate());
7213
7387
  else setDehydratedUser(null);
7214
7388
  }, "setUser");
7215
7389
  const hasRole = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (roleId) => {
7216
7390
  if (!currentUser) return false;
7217
- return !!_optionalChain([currentUser, 'access', _162 => _162.roles, 'optionalAccess', _163 => _163.some, 'call', _164 => _164((userRole) => userRole.id === roleId)]);
7391
+ return !!_optionalChain([currentUser, 'access', _179 => _179.roles, 'optionalAccess', _180 => _180.some, 'call', _181 => _181((userRole) => userRole.id === roleId)]);
7218
7392
  }, "hasRole");
7219
7393
  const hasAccesToFeature = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (featureIdentifier) => {
7220
7394
  if (hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)) return true;
@@ -7254,12 +7428,12 @@ var CurrentUserProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (
7254
7428
  try {
7255
7429
  const fullUser = await _chunkXAWKRNYMjs.UserService.findFullUser();
7256
7430
  if (fullUser) {
7257
- if (!_optionalChain([options, 'optionalAccess', _165 => _165.skipCookieUpdate])) {
7258
- await _optionalChain([_chunkXAWKRNYMjs.getTokenHandler.call(void 0, ), 'optionalAccess', _166 => _166.updateToken, 'call', _167 => _167({
7431
+ if (!_optionalChain([options, 'optionalAccess', _182 => _182.skipCookieUpdate])) {
7432
+ await _optionalChain([_chunkXAWKRNYMjs.getTokenHandler.call(void 0, ), 'optionalAccess', _183 => _183.updateToken, 'call', _184 => _184({
7259
7433
  userId: fullUser.id,
7260
- companyId: _optionalChain([fullUser, 'access', _168 => _168.company, 'optionalAccess', _169 => _169.id]),
7434
+ companyId: _optionalChain([fullUser, 'access', _185 => _185.company, 'optionalAccess', _186 => _186.id]),
7261
7435
  roles: fullUser.roles.map((role) => role.id),
7262
- features: _nullishCoalesce(_optionalChain([fullUser, 'access', _170 => _170.company, 'optionalAccess', _171 => _171.features, 'optionalAccess', _172 => _172.map, 'call', _173 => _173((feature) => feature.id)]), () => ( [])),
7436
+ features: _nullishCoalesce(_optionalChain([fullUser, 'access', _187 => _187.company, 'optionalAccess', _188 => _188.features, 'optionalAccess', _189 => _189.map, 'call', _190 => _190((feature) => feature.id)]), () => ( [])),
7263
7437
  modules: fullUser.modules.map((module) => ({
7264
7438
  id: module.id,
7265
7439
  permissions: module.permissions
@@ -7281,11 +7455,11 @@ var CurrentUserProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (
7281
7455
  refreshUserRef.current = refreshUser;
7282
7456
  const isRefreshingRef = _react.useRef.call(void 0, false);
7283
7457
  _react.useEffect.call(void 0, () => {
7284
- if (!socket || !isConnected || !_optionalChain([currentUser, 'optionalAccess', _174 => _174.company, 'optionalAccess', _175 => _175.id])) {
7458
+ if (!socket || !isConnected || !_optionalChain([currentUser, 'optionalAccess', _191 => _191.company, 'optionalAccess', _192 => _192.id])) {
7285
7459
  return;
7286
7460
  }
7287
7461
  const handleCompanyUpdate = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (data) => {
7288
- if (data.companyId === _optionalChain([currentUser, 'access', _176 => _176.company, 'optionalAccess', _177 => _177.id]) && !isRefreshingRef.current) {
7462
+ if (data.companyId === _optionalChain([currentUser, 'access', _193 => _193.company, 'optionalAccess', _194 => _194.id]) && !isRefreshingRef.current) {
7289
7463
  isRefreshingRef.current = true;
7290
7464
  refreshUserRef.current({ skipCookieUpdate: true }).finally(() => {
7291
7465
  isRefreshingRef.current = false;
@@ -7298,7 +7472,7 @@ var CurrentUserProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (
7298
7472
  socket.off("company:tokens_updated", handleCompanyUpdate);
7299
7473
  socket.off("company:subscription_updated", handleCompanyUpdate);
7300
7474
  };
7301
- }, [socket, isConnected, _optionalChain([currentUser, 'optionalAccess', _178 => _178.company, 'optionalAccess', _179 => _179.id])]);
7475
+ }, [socket, isConnected, _optionalChain([currentUser, 'optionalAccess', _195 => _195.company, 'optionalAccess', _196 => _196.id])]);
7302
7476
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7303
7477
  CurrentUserContext.Provider,
7304
7478
  {
@@ -7369,7 +7543,7 @@ function AddUserToRoleInternal({ role, refresh }) {
7369
7543
  const data = useDataListRetriever({
7370
7544
  ready: !!company && show,
7371
7545
  retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkXAWKRNYMjs.UserService.findAllUsers(params), "retriever"),
7372
- retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _180 => _180.id]) },
7546
+ retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _197 => _197.id]) },
7373
7547
  module: _chunkXAWKRNYMjs.Modules.User
7374
7548
  });
7375
7549
  _react.useEffect.call(void 0, () => {
@@ -7437,10 +7611,10 @@ function UserAvatarEditor({ user, file, setFile, resetImage, setResetImage }) {
7437
7611
  onValueChange: setFiles,
7438
7612
  dropzoneOptions: dropzone2,
7439
7613
  className: "h-40 w-40 rounded-full p-0",
7440
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FileInput, { className: "bg-muted text-muted-foreground flex h-full w-full flex-col items-center justify-center", children: !resetImage && (file || _optionalChain([user, 'optionalAccess', _181 => _181.avatar])) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7614
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FileInput, { className: "bg-muted text-muted-foreground flex h-full w-full flex-col items-center justify-center", children: !resetImage && (file || _optionalChain([user, 'optionalAccess', _198 => _198.avatar])) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7441
7615
  _image2.default,
7442
7616
  {
7443
- src: file ? URL.createObjectURL(file) : _optionalChain([user, 'optionalAccess', _182 => _182.avatar]) || "",
7617
+ src: file ? URL.createObjectURL(file) : _optionalChain([user, 'optionalAccess', _199 => _199.avatar]) || "",
7444
7618
  alt: t(`common.avatar`),
7445
7619
  width: 200,
7446
7620
  height: 200
@@ -7448,7 +7622,7 @@ function UserAvatarEditor({ user, file, setFile, resetImage, setResetImage }) {
7448
7622
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.UploadIcon, { className: "my-4 h-8 w-8" }) })
7449
7623
  }
7450
7624
  ),
7451
- !resetImage && (file || _optionalChain([user, 'optionalAccess', _183 => _183.avatar])) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7625
+ !resetImage && (file || _optionalChain([user, 'optionalAccess', _200 => _200.avatar])) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7452
7626
  Button,
7453
7627
  {
7454
7628
  className: "",
@@ -7476,7 +7650,7 @@ function UserDeleterInternal({ user, onDeleted, companyId }) {
7476
7650
  const router = _chunkSE5HIHJSjs.useI18nRouter.call(void 0, );
7477
7651
  const _t = _nextintl.useTranslations.call(void 0, );
7478
7652
  let cId;
7479
- if (_optionalChain([currentUser, 'optionalAccess', _184 => _184.roles, 'access', _185 => _185.find, 'call', _186 => _186((role) => role.id === _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)]) && companyId) {
7653
+ if (_optionalChain([currentUser, 'optionalAccess', _201 => _201.roles, 'access', _202 => _202.find, 'call', _203 => _203((role) => role.id === _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)]) && companyId) {
7480
7654
  cId = companyId;
7481
7655
  } else {
7482
7656
  if (!company) return;
@@ -7539,18 +7713,18 @@ function UserEditorInternal({
7539
7713
  }, [company]);
7540
7714
  const handleDialogOpenChange = _react.useCallback.call(void 0,
7541
7715
  (open) => {
7542
- if (open && (company || _optionalChain([currentUser, 'optionalAccess', _187 => _187.roles, 'access', _188 => _188.find, 'call', _189 => _189((role) => role.id === _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)])) && roles.length === 0) {
7716
+ if (open && (company || _optionalChain([currentUser, 'optionalAccess', _204 => _204.roles, 'access', _205 => _205.find, 'call', _206 => _206((role) => role.id === _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)])) && roles.length === 0) {
7543
7717
  async function fetchRoles() {
7544
7718
  const allRoles = await _chunkXAWKRNYMjs.RoleService.findAllRoles({});
7545
7719
  const availableRoles = allRoles.filter(
7546
- (role) => role.id !== _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator && (role.requiredFeature === void 0 || _optionalChain([company, 'optionalAccess', _190 => _190.features, 'access', _191 => _191.some, 'call', _192 => _192((feature) => feature.id === _optionalChain([role, 'access', _193 => _193.requiredFeature, 'optionalAccess', _194 => _194.id]))]))
7720
+ (role) => role.id !== _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator && (role.requiredFeature === void 0 || _optionalChain([company, 'optionalAccess', _207 => _207.features, 'access', _208 => _208.some, 'call', _209 => _209((feature) => feature.id === _optionalChain([role, 'access', _210 => _210.requiredFeature, 'optionalAccess', _211 => _211.id]))]))
7547
7721
  );
7548
7722
  setRoles(availableRoles);
7549
7723
  }
7550
7724
  _chunk7QVYU63Ejs.__name.call(void 0, fetchRoles, "fetchRoles");
7551
7725
  fetchRoles();
7552
7726
  }
7553
- _optionalChain([onDialogOpenChange, 'optionalCall', _195 => _195(open)]);
7727
+ _optionalChain([onDialogOpenChange, 'optionalCall', _212 => _212(open)]);
7554
7728
  },
7555
7729
  [company, currentUser, roles.length, onDialogOpenChange]
7556
7730
  );
@@ -7584,29 +7758,29 @@ function UserEditorInternal({
7584
7758
  );
7585
7759
  const getDefaultValues = _react.useCallback.call(void 0, () => {
7586
7760
  return {
7587
- id: _optionalChain([user, 'optionalAccess', _196 => _196.id]) || _uuid.v4.call(void 0, ),
7588
- name: _optionalChain([user, 'optionalAccess', _197 => _197.name]) || "",
7589
- title: _optionalChain([user, 'optionalAccess', _198 => _198.title]) || "",
7590
- bio: _optionalChain([user, 'optionalAccess', _199 => _199.bio]) || "",
7591
- email: _optionalChain([user, 'optionalAccess', _200 => _200.email]) || "",
7592
- phone: _optionalChain([user, 'optionalAccess', _201 => _201.phone]) || "",
7761
+ id: _optionalChain([user, 'optionalAccess', _213 => _213.id]) || _uuid.v4.call(void 0, ),
7762
+ name: _optionalChain([user, 'optionalAccess', _214 => _214.name]) || "",
7763
+ title: _optionalChain([user, 'optionalAccess', _215 => _215.title]) || "",
7764
+ bio: _optionalChain([user, 'optionalAccess', _216 => _216.bio]) || "",
7765
+ email: _optionalChain([user, 'optionalAccess', _217 => _217.email]) || "",
7766
+ phone: _optionalChain([user, 'optionalAccess', _218 => _218.phone]) || "",
7593
7767
  password: "",
7594
- roleIds: _optionalChain([user, 'optionalAccess', _202 => _202.roles, 'access', _203 => _203.map, 'call', _204 => _204((role) => role.id)]) || [],
7768
+ roleIds: _optionalChain([user, 'optionalAccess', _219 => _219.roles, 'access', _220 => _220.map, 'call', _221 => _221((role) => role.id)]) || [],
7595
7769
  sendInvitationEmail: false,
7596
- avatar: _optionalChain([user, 'optionalAccess', _205 => _205.avatarUrl]) || ""
7770
+ avatar: _optionalChain([user, 'optionalAccess', _222 => _222.avatarUrl]) || ""
7597
7771
  };
7598
7772
  }, [user]);
7599
7773
  const form = _reacthookform.useForm.call(void 0, {
7600
7774
  resolver: _zod.zodResolver.call(void 0, formSchema),
7601
7775
  defaultValues: getDefaultValues()
7602
7776
  });
7603
- const canChangeRoles = !(_optionalChain([currentUser, 'optionalAccess', _206 => _206.id]) === _optionalChain([user, 'optionalAccess', _207 => _207.id]) && hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)) && (hasPermissionToModule({ module: _chunkXAWKRNYMjs.Modules.User, action: "update" /* Update */ }) || hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator));
7777
+ const canChangeRoles = !(_optionalChain([currentUser, 'optionalAccess', _223 => _223.id]) === _optionalChain([user, 'optionalAccess', _224 => _224.id]) && hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)) && (hasPermissionToModule({ module: _chunkXAWKRNYMjs.Modules.User, action: "update" /* Update */ }) || hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator));
7604
7778
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7605
7779
  EditorSheet,
7606
7780
  {
7607
7781
  form,
7608
7782
  entityType: t(`entities.users`, { count: 1 }),
7609
- entityName: _optionalChain([user, 'optionalAccess', _208 => _208.name]),
7783
+ entityName: _optionalChain([user, 'optionalAccess', _225 => _225.name]),
7610
7784
  isEdit: !!user,
7611
7785
  module: _chunkXAWKRNYMjs.Modules.User,
7612
7786
  propagateChanges,
@@ -7658,7 +7832,7 @@ function UserEditorInternal({
7658
7832
  adminCreated
7659
7833
  };
7660
7834
  const updatedUser = user ? await _chunkXAWKRNYMjs.UserService.update(payload) : await _chunkXAWKRNYMjs.UserService.create(payload);
7661
- if (_optionalChain([currentUser, 'optionalAccess', _209 => _209.id]) === updatedUser.id) setUser(updatedUser);
7835
+ if (_optionalChain([currentUser, 'optionalAccess', _226 => _226.id]) === updatedUser.id) setUser(updatedUser);
7662
7836
  return updatedUser;
7663
7837
  },
7664
7838
  onRevalidate,
@@ -7905,7 +8079,7 @@ function EntityMultiSelector({
7905
8079
  if (open) {
7906
8080
  setSearchTerm("");
7907
8081
  requestAnimationFrame(() => {
7908
- _optionalChain([searchInputRef, 'access', _210 => _210.current, 'optionalAccess', _211 => _211.focus, 'call', _212 => _212()]);
8082
+ _optionalChain([searchInputRef, 'access', _227 => _227.current, 'optionalAccess', _228 => _228.focus, 'call', _229 => _229()]);
7909
8083
  });
7910
8084
  }
7911
8085
  }, [open]);
@@ -7922,7 +8096,7 @@ function EntityMultiSelector({
7922
8096
  form.setValue(id, next, { shouldDirty: true, shouldTouch: true });
7923
8097
  const cb = onChangeRef.current;
7924
8098
  if (cb) {
7925
- const fullData = next.map((v) => _optionalChain([options, 'access', _213 => _213.find, 'call', _214 => _214((opt) => opt.id === v.id), 'optionalAccess', _215 => _215.entityData])).filter(Boolean);
8099
+ const fullData = next.map((v) => _optionalChain([options, 'access', _230 => _230.find, 'call', _231 => _231((opt) => opt.id === v.id), 'optionalAccess', _232 => _232.entityData])).filter(Boolean);
7926
8100
  cb(fullData);
7927
8101
  }
7928
8102
  },
@@ -7935,7 +8109,7 @@ function EntityMultiSelector({
7935
8109
  form.setValue(id, next, { shouldDirty: true, shouldTouch: true });
7936
8110
  const cb = onChangeRef.current;
7937
8111
  if (cb) {
7938
- const fullData = next.map((v) => _optionalChain([options, 'access', _216 => _216.find, 'call', _217 => _217((opt) => opt.id === v.id), 'optionalAccess', _218 => _218.entityData])).filter(Boolean);
8112
+ const fullData = next.map((v) => _optionalChain([options, 'access', _233 => _233.find, 'call', _234 => _234((opt) => opt.id === v.id), 'optionalAccess', _235 => _235.entityData])).filter(Boolean);
7939
8113
  cb(fullData);
7940
8114
  }
7941
8115
  },
@@ -8073,11 +8247,11 @@ function UserMultiSelect({
8073
8247
  emptyText: t("ui.search.no_results", { type: t("entities.users", { count: 2 }) }),
8074
8248
  isRequired,
8075
8249
  retriever: (params) => _chunkXAWKRNYMjs.UserService.findAllUsers(params),
8076
- retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _219 => _219.id]) },
8250
+ retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _236 => _236.id]) },
8077
8251
  module: _chunkXAWKRNYMjs.Modules.User,
8078
8252
  getLabel: (user) => user.name,
8079
8253
  toFormValue: (user) => ({ id: user.id, name: user.name, avatar: user.avatar }),
8080
- excludeId: _optionalChain([currentUser, 'optionalAccess', _220 => _220.id]),
8254
+ excludeId: _optionalChain([currentUser, 'optionalAccess', _237 => _237.id]),
8081
8255
  onChange,
8082
8256
  renderOption: (user) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
8083
8257
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserAvatarIcon, { url: user.avatar, name: user.name }),
@@ -8343,7 +8517,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, ErrorDetails, "ErrorDetails");
8343
8517
 
8344
8518
  // src/components/errors/errorToast.ts
8345
8519
  function errorToast(params) {
8346
- _chunkXAWKRNYMjs.showError.call(void 0, _nullishCoalesce(_optionalChain([params, 'optionalAccess', _221 => _221.title]), () => ( "Error")), {
8520
+ _chunkXAWKRNYMjs.showError.call(void 0, _nullishCoalesce(_optionalChain([params, 'optionalAccess', _238 => _238.title]), () => ( "Error")), {
8347
8521
  description: params.error instanceof Error ? params.error.message : String(params.error)
8348
8522
  });
8349
8523
  }
@@ -8507,21 +8681,21 @@ function useEditorDialog(isFormDirty, options) {
8507
8681
  const [open, setOpen] = _react.useState.call(void 0, false);
8508
8682
  const [showDiscardConfirm, setShowDiscardConfirm] = _react.useState.call(void 0, false);
8509
8683
  _react.useEffect.call(void 0, () => {
8510
- if (_optionalChain([options, 'optionalAccess', _222 => _222.dialogOpen]) !== void 0) {
8684
+ if (_optionalChain([options, 'optionalAccess', _239 => _239.dialogOpen]) !== void 0) {
8511
8685
  setOpen(options.dialogOpen);
8512
8686
  }
8513
- }, [_optionalChain([options, 'optionalAccess', _223 => _223.dialogOpen])]);
8687
+ }, [_optionalChain([options, 'optionalAccess', _240 => _240.dialogOpen])]);
8514
8688
  _react.useEffect.call(void 0, () => {
8515
- if (typeof _optionalChain([options, 'optionalAccess', _224 => _224.onDialogOpenChange]) === "function") {
8689
+ if (typeof _optionalChain([options, 'optionalAccess', _241 => _241.onDialogOpenChange]) === "function") {
8516
8690
  options.onDialogOpenChange(open);
8517
8691
  }
8518
- }, [open, _optionalChain([options, 'optionalAccess', _225 => _225.onDialogOpenChange])]);
8692
+ }, [open, _optionalChain([options, 'optionalAccess', _242 => _242.onDialogOpenChange])]);
8519
8693
  _react.useEffect.call(void 0, () => {
8520
- if (_optionalChain([options, 'optionalAccess', _226 => _226.forceShow])) setOpen(true);
8521
- }, [_optionalChain([options, 'optionalAccess', _227 => _227.forceShow])]);
8694
+ if (_optionalChain([options, 'optionalAccess', _243 => _243.forceShow])) setOpen(true);
8695
+ }, [_optionalChain([options, 'optionalAccess', _244 => _244.forceShow])]);
8522
8696
  _react.useEffect.call(void 0, () => {
8523
8697
  if (!open) {
8524
- if (_optionalChain([options, 'optionalAccess', _228 => _228.onClose])) options.onClose();
8698
+ if (_optionalChain([options, 'optionalAccess', _245 => _245.onClose])) options.onClose();
8525
8699
  }
8526
8700
  }, [open]);
8527
8701
  const handleOpenChange = _react.useCallback.call(void 0,
@@ -8613,7 +8787,7 @@ function EditorSheet({
8613
8787
  hasBeenOpen.current = true;
8614
8788
  } else if (hasBeenOpen.current) {
8615
8789
  form.reset(onReset());
8616
- _optionalChain([onClose, 'optionalCall', _229 => _229()]);
8790
+ _optionalChain([onClose, 'optionalCall', _246 => _246()]);
8617
8791
  }
8618
8792
  }, [open]);
8619
8793
  const wrappedOnSubmit = _react.useCallback.call(void 0,
@@ -8627,11 +8801,11 @@ function EditorSheet({
8627
8801
  if (onSuccess) {
8628
8802
  await onSuccess();
8629
8803
  } else if (result) {
8630
- _optionalChain([onRevalidate, 'optionalCall', _230 => _230(generateUrl({ page: module, id: result.id, language: "[locale]" }))]);
8804
+ _optionalChain([onRevalidate, 'optionalCall', _247 => _247(generateUrl({ page: module, id: result.id, language: "[locale]" }))]);
8631
8805
  if (isEdit && propagateChanges) {
8632
8806
  propagateChanges(result);
8633
8807
  } else {
8634
- _optionalChain([onNavigate, 'optionalCall', _231 => _231(generateUrl({ page: module, id: result.id }))]);
8808
+ _optionalChain([onNavigate, 'optionalCall', _248 => _248(generateUrl({ page: module, id: result.id }))]);
8635
8809
  }
8636
8810
  }
8637
8811
  } catch (error) {
@@ -8857,7 +9031,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8857
9031
  const [open, setOpen] = _react.useState.call(void 0, false);
8858
9032
  const [prevRange, setPrevRange] = _react.useState.call(void 0, date);
8859
9033
  _react.useEffect.call(void 0, () => {
8860
- if (_optionalChain([date, 'optionalAccess', _232 => _232.from]) && _optionalChain([date, 'optionalAccess', _233 => _233.to]) && date.to > date.from && (_optionalChain([prevRange, 'optionalAccess', _234 => _234.from, 'optionalAccess', _235 => _235.getTime, 'call', _236 => _236()]) !== date.from.getTime() || _optionalChain([prevRange, 'optionalAccess', _237 => _237.to, 'optionalAccess', _238 => _238.getTime, 'call', _239 => _239()]) !== date.to.getTime())) {
9034
+ if (_optionalChain([date, 'optionalAccess', _249 => _249.from]) && _optionalChain([date, 'optionalAccess', _250 => _250.to]) && date.to > date.from && (_optionalChain([prevRange, 'optionalAccess', _251 => _251.from, 'optionalAccess', _252 => _252.getTime, 'call', _253 => _253()]) !== date.from.getTime() || _optionalChain([prevRange, 'optionalAccess', _254 => _254.to, 'optionalAccess', _255 => _255.getTime, 'call', _256 => _256()]) !== date.to.getTime())) {
8861
9035
  onDateChange(date);
8862
9036
  setPrevRange(date);
8863
9037
  setOpen(false);
@@ -8868,7 +9042,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8868
9042
  setDate(void 0);
8869
9043
  return;
8870
9044
  }
8871
- if (range.from && (!_optionalChain([date, 'optionalAccess', _240 => _240.from]) || range.from.getTime() !== date.from.getTime())) {
9045
+ if (range.from && (!_optionalChain([date, 'optionalAccess', _257 => _257.from]) || range.from.getTime() !== date.from.getTime())) {
8872
9046
  setDate({ from: range.from, to: void 0 });
8873
9047
  } else {
8874
9048
  setDate(range);
@@ -8883,7 +9057,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8883
9057
  className: _chunkXAWKRNYMjs.cn.call(void 0, "w-[300px] justify-start text-left font-normal", !date && "text-muted-foreground"),
8884
9058
  children: [
8885
9059
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CalendarIcon, {}),
8886
- _optionalChain([date, 'optionalAccess', _241 => _241.from]) ? date.to ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9060
+ _optionalChain([date, 'optionalAccess', _258 => _258.from]) ? date.to ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8887
9061
  _datefns.format.call(void 0, date.from, "LLL dd, y"),
8888
9062
  " - ",
8889
9063
  _datefns.format.call(void 0, date.to, "LLL dd, y")
@@ -8896,7 +9070,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8896
9070
  Calendar,
8897
9071
  {
8898
9072
  mode: "range",
8899
- defaultMonth: _nullishCoalesce(_optionalChain([date, 'optionalAccess', _242 => _242.from]), () => ( (showPreviousMonth ? new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth() - 1, 1) : void 0))),
9073
+ defaultMonth: _nullishCoalesce(_optionalChain([date, 'optionalAccess', _259 => _259.from]), () => ( (showPreviousMonth ? new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth() - 1, 1) : void 0))),
8900
9074
  selected: date,
8901
9075
  onSelect: handleSelect,
8902
9076
  numberOfMonths: 2
@@ -8983,7 +9157,7 @@ var FileUploader = _react.forwardRef.call(void 0,
8983
9157
  movePrev();
8984
9158
  } else if (e.key === "Enter" || e.key === "Space") {
8985
9159
  if (activeIndex === -1) {
8986
- _optionalChain([dropzoneState, 'access', _243 => _243.inputRef, 'access', _244 => _244.current, 'optionalAccess', _245 => _245.click, 'call', _246 => _246()]);
9160
+ _optionalChain([dropzoneState, 'access', _260 => _260.inputRef, 'access', _261 => _261.current, 'optionalAccess', _262 => _262.click, 'call', _263 => _263()]);
8987
9161
  }
8988
9162
  } else if (e.key === "Delete" || e.key === "Backspace") {
8989
9163
  if (activeIndex !== -1) {
@@ -9021,13 +9195,13 @@ var FileUploader = _react.forwardRef.call(void 0,
9021
9195
  onValueChange(newValues);
9022
9196
  if (rejectedFiles.length > 0) {
9023
9197
  for (let i = 0; i < rejectedFiles.length; i++) {
9024
- if (_optionalChain([rejectedFiles, 'access', _247 => _247[i], 'access', _248 => _248.errors, 'access', _249 => _249[0], 'optionalAccess', _250 => _250.code]) === "file-too-large") {
9198
+ if (_optionalChain([rejectedFiles, 'access', _264 => _264[i], 'access', _265 => _265.errors, 'access', _266 => _266[0], 'optionalAccess', _267 => _267.code]) === "file-too-large") {
9025
9199
  _chunkXAWKRNYMjs.showError.call(void 0, t("common.errors.file"), {
9026
9200
  description: t(`common.errors.file_max`, { size: maxSize / 1024 / 1024 })
9027
9201
  });
9028
9202
  break;
9029
9203
  }
9030
- if (_optionalChain([rejectedFiles, 'access', _251 => _251[i], 'access', _252 => _252.errors, 'access', _253 => _253[0], 'optionalAccess', _254 => _254.message])) {
9204
+ if (_optionalChain([rejectedFiles, 'access', _268 => _268[i], 'access', _269 => _269.errors, 'access', _270 => _270[0], 'optionalAccess', _271 => _271.message])) {
9031
9205
  _chunkXAWKRNYMjs.showError.call(void 0, t(`common.errors.file`), {
9032
9206
  description: rejectedFiles[i].errors[0].message
9033
9207
  });
@@ -9226,7 +9400,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, FormCheckbox, "FormCheckbox");
9226
9400
  var _dynamic = require('next/dynamic'); var _dynamic2 = _interopRequireDefault(_dynamic);
9227
9401
 
9228
9402
 
9229
- var BlockNoteEditor = _dynamic2.default.call(void 0, () => Promise.resolve().then(() => _interopRequireWildcard(require("./BlockNoteEditor-OOZGXU6E.js"))), {
9403
+ var BlockNoteEditor = _dynamic2.default.call(void 0, () => Promise.resolve().then(() => _interopRequireWildcard(require("./BlockNoteEditor-LYJUF5N4.js"))), {
9230
9404
  ssr: false
9231
9405
  });
9232
9406
  var BlockNoteEditorContainer = React.default.memo(/* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, function EditorContainer(props) {
@@ -9290,7 +9464,7 @@ function FormBlockNote({
9290
9464
  onChange: (content, isEmpty) => {
9291
9465
  lastEditorContentRef.current = content;
9292
9466
  field.onChange(content);
9293
- _optionalChain([onEmptyChange, 'optionalCall', _255 => _255(isEmpty)]);
9467
+ _optionalChain([onEmptyChange, 'optionalCall', _272 => _272(isEmpty)]);
9294
9468
  },
9295
9469
  placeholder,
9296
9470
  bordered: true,
@@ -9325,14 +9499,17 @@ function FormDate({
9325
9499
  name,
9326
9500
  minDate,
9327
9501
  onChange,
9328
- isRequired = false
9502
+ isRequired = false,
9503
+ defaultMonth,
9504
+ allowEmpty
9329
9505
  }) {
9506
+ const t = _chunkSE5HIHJSjs.useI18nTranslations.call(void 0, );
9330
9507
  const locale = _chunkSE5HIHJSjs.useI18nLocale.call(void 0, );
9331
9508
  const dateFnsLocale = _chunkSE5HIHJSjs.useI18nDateFnsLocale.call(void 0, );
9332
9509
  const [open, setOpen] = _react.useState.call(void 0, false);
9333
9510
  const [displayMonth, setDisplayMonth] = _react.useState.call(void 0, () => {
9334
9511
  const currentValue = form.getValues(id);
9335
- return currentValue || /* @__PURE__ */ new Date();
9512
+ return currentValue || defaultMonth || /* @__PURE__ */ new Date();
9336
9513
  });
9337
9514
  const dateFormatter = _react.useMemo.call(void 0,
9338
9515
  () => new Intl.DateTimeFormat(locale, { day: "2-digit", month: "2-digit", year: "numeric" }),
@@ -9395,7 +9572,7 @@ function FormDate({
9395
9572
  ),
9396
9573
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, InputGroupAddon, { align: "inline-end", children: [
9397
9574
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverTrigger, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {}), nativeButton: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InputGroupButton, { variant: "ghost", size: "icon-xs", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Calendar, { className: "h-4 w-4 opacity-50" }) }) }),
9398
- field.value && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9575
+ field.value && allowEmpty !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9399
9576
  InputGroupButton,
9400
9577
  {
9401
9578
  variant: "ghost",
@@ -9410,25 +9587,43 @@ function FormDate({
9410
9587
  )
9411
9588
  ] })
9412
9589
  ] }),
9413
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverContent, { className: "w-auto p-0", align: "end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9414
- Calendar,
9415
- {
9416
- mode: "single",
9417
- captionLayout: "dropdown",
9418
- selected: field.value,
9419
- onSelect: (e) => {
9420
- handleCalendarSelect(e, field);
9421
- setOpen(false);
9422
- },
9423
- disabled: (date) => minDate && date < minDate ? true : false,
9424
- locale: dateFnsLocale,
9425
- weekStartsOn: 1,
9426
- month: displayMonth,
9427
- onMonthChange: setDisplayMonth,
9428
- startMonth: new Date(1900, 0),
9429
- endMonth: new Date((/* @__PURE__ */ new Date()).getFullYear() + 10, 11)
9430
- }
9431
- ) })
9590
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverContent, { className: "w-auto p-0", align: "end", children: [
9591
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9592
+ Calendar,
9593
+ {
9594
+ mode: "single",
9595
+ captionLayout: "dropdown",
9596
+ selected: field.value,
9597
+ onSelect: (e) => {
9598
+ handleCalendarSelect(e, field);
9599
+ setOpen(false);
9600
+ },
9601
+ disabled: (date) => minDate && date < minDate ? true : false,
9602
+ locale: dateFnsLocale,
9603
+ weekStartsOn: 1,
9604
+ month: displayMonth,
9605
+ onMonthChange: setDisplayMonth,
9606
+ startMonth: new Date(1900, 0),
9607
+ endMonth: new Date((/* @__PURE__ */ new Date()).getFullYear() + 10, 11)
9608
+ }
9609
+ ),
9610
+ allowEmpty !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9611
+ Button,
9612
+ {
9613
+ type: "button",
9614
+ variant: "outline",
9615
+ className: "w-full",
9616
+ disabled: !field.value,
9617
+ onClick: () => {
9618
+ field.onChange(void 0);
9619
+ setInputValue("");
9620
+ if (onChange) onChange(void 0);
9621
+ setOpen(false);
9622
+ },
9623
+ children: t(`ui.buttons.clear`)
9624
+ }
9625
+ ) })
9626
+ ] })
9432
9627
  ] }) }) });
9433
9628
  }
9434
9629
  _chunk7QVYU63Ejs.__name.call(void 0, FormDate, "FormDate");
@@ -9443,12 +9638,17 @@ function FormDateTime({
9443
9638
  name,
9444
9639
  minDate,
9445
9640
  onChange,
9446
- allowEmpty
9641
+ allowEmpty,
9642
+ defaultMonth
9447
9643
  }) {
9448
9644
  const [open, setOpen] = _react.useState.call(void 0, false);
9449
9645
  const t = _chunkSE5HIHJSjs.useI18nTranslations.call(void 0, );
9450
9646
  const locale = _chunkSE5HIHJSjs.useI18nLocale.call(void 0, );
9451
9647
  const dateFnsLocale = _chunkSE5HIHJSjs.useI18nDateFnsLocale.call(void 0, );
9648
+ const [displayMonth, setDisplayMonth] = _react.useState.call(void 0, () => {
9649
+ const currentValue = form.getValues(id);
9650
+ return currentValue || defaultMonth || /* @__PURE__ */ new Date();
9651
+ });
9452
9652
  const dateTimeFormatter = _react.useMemo.call(void 0,
9453
9653
  () => new Intl.DateTimeFormat(locale, {
9454
9654
  year: "numeric",
@@ -9525,7 +9725,10 @@ function FormDateTime({
9525
9725
  Calendar,
9526
9726
  {
9527
9727
  mode: "single",
9728
+ captionLayout: "dropdown",
9528
9729
  selected: field.value,
9730
+ month: displayMonth,
9731
+ onMonthChange: setDisplayMonth,
9529
9732
  onSelect: (date) => {
9530
9733
  if (date) {
9531
9734
  const newDate = new Date(date);
@@ -9536,13 +9739,17 @@ function FormDateTime({
9536
9739
  newDate.setHours(selectedHours, selectedMinutes);
9537
9740
  }
9538
9741
  form.setValue(id, newDate);
9742
+ setDisplayMonth(newDate);
9539
9743
  if (onChange) onChange(newDate);
9540
9744
  setSelectedHours(newDate.getHours());
9541
9745
  setSelectedMinutes(roundToNearestFiveMinutes(newDate.getMinutes()));
9542
9746
  }
9543
9747
  },
9544
9748
  disabled: (date) => minDate && date < minDate ? true : false,
9545
- locale: dateFnsLocale
9749
+ locale: dateFnsLocale,
9750
+ weekStartsOn: 1,
9751
+ startMonth: new Date(1900, 0),
9752
+ endMonth: new Date((/* @__PURE__ */ new Date()).getFullYear() + 10, 11)
9546
9753
  }
9547
9754
  ),
9548
9755
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-row items-end justify-center space-x-4", children: [
@@ -9591,16 +9798,34 @@ function FormDateTime({
9591
9798
  )
9592
9799
  ] })
9593
9800
  ] }),
9594
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9595
- Button,
9596
- {
9597
- className: "mt-2",
9598
- onClick: () => {
9599
- setOpen(false);
9600
- },
9601
- children: t(`ui.buttons.select_date`)
9602
- }
9603
- )
9801
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-2 flex flex-row gap-x-2", children: [
9802
+ allowEmpty !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9803
+ Button,
9804
+ {
9805
+ type: "button",
9806
+ variant: "outline",
9807
+ className: "flex-1",
9808
+ disabled: !field.value,
9809
+ onClick: () => {
9810
+ if (onChange) onChange(void 0);
9811
+ form.setValue(id, "");
9812
+ setOpen(false);
9813
+ },
9814
+ children: t(`ui.buttons.clear`)
9815
+ }
9816
+ ),
9817
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9818
+ Button,
9819
+ {
9820
+ type: "button",
9821
+ className: "flex-1",
9822
+ onClick: () => {
9823
+ setOpen(false);
9824
+ },
9825
+ children: t(`ui.buttons.select_date`)
9826
+ }
9827
+ )
9828
+ ] })
9604
9829
  ] }) })
9605
9830
  ] }) }) }) });
9606
9831
  }
@@ -9816,11 +10041,11 @@ function FormPlaceAutocomplete({
9816
10041
  const data = await response.json();
9817
10042
  if (data.suggestions) {
9818
10043
  const formattedSuggestions = data.suggestions.map((suggestion) => ({
9819
- place_id: _optionalChain([suggestion, 'access', _256 => _256.placePrediction, 'optionalAccess', _257 => _257.placeId]) || "",
9820
- description: _optionalChain([suggestion, 'access', _258 => _258.placePrediction, 'optionalAccess', _259 => _259.text, 'optionalAccess', _260 => _260.text]) || "",
10044
+ place_id: _optionalChain([suggestion, 'access', _273 => _273.placePrediction, 'optionalAccess', _274 => _274.placeId]) || "",
10045
+ description: _optionalChain([suggestion, 'access', _275 => _275.placePrediction, 'optionalAccess', _276 => _276.text, 'optionalAccess', _277 => _277.text]) || "",
9821
10046
  structured_formatting: {
9822
- main_text: _optionalChain([suggestion, 'access', _261 => _261.placePrediction, 'optionalAccess', _262 => _262.structuredFormat, 'optionalAccess', _263 => _263.mainText, 'optionalAccess', _264 => _264.text]) || "",
9823
- secondary_text: _optionalChain([suggestion, 'access', _265 => _265.placePrediction, 'optionalAccess', _266 => _266.structuredFormat, 'optionalAccess', _267 => _267.secondaryText, 'optionalAccess', _268 => _268.text]) || ""
10047
+ main_text: _optionalChain([suggestion, 'access', _278 => _278.placePrediction, 'optionalAccess', _279 => _279.structuredFormat, 'optionalAccess', _280 => _280.mainText, 'optionalAccess', _281 => _281.text]) || "",
10048
+ secondary_text: _optionalChain([suggestion, 'access', _282 => _282.placePrediction, 'optionalAccess', _283 => _283.structuredFormat, 'optionalAccess', _284 => _284.secondaryText, 'optionalAccess', _285 => _285.text]) || ""
9824
10049
  }
9825
10050
  }));
9826
10051
  setSuggestions(formattedSuggestions);
@@ -9878,7 +10103,7 @@ function FormPlaceAutocomplete({
9878
10103
  }
9879
10104
  }
9880
10105
  return result;
9881
- } catch (e5) {
10106
+ } catch (e6) {
9882
10107
  return defaults;
9883
10108
  }
9884
10109
  }, "fetchPlaceDetails");
@@ -9967,8 +10192,8 @@ function FormPlaceAutocomplete({
9967
10192
  className: "hover:bg-muted cursor-pointer px-3 py-2 text-sm",
9968
10193
  onClick: () => handleSuggestionSelect(suggestion),
9969
10194
  children: [
9970
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-medium", children: _optionalChain([suggestion, 'access', _269 => _269.structured_formatting, 'optionalAccess', _270 => _270.main_text]) }),
9971
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground", children: _optionalChain([suggestion, 'access', _271 => _271.structured_formatting, 'optionalAccess', _272 => _272.secondary_text]) })
10195
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-medium", children: _optionalChain([suggestion, 'access', _286 => _286.structured_formatting, 'optionalAccess', _287 => _287.main_text]) }),
10196
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground", children: _optionalChain([suggestion, 'access', _288 => _288.structured_formatting, 'optionalAccess', _289 => _289.secondary_text]) })
9972
10197
  ]
9973
10198
  },
9974
10199
  suggestion.place_id || index
@@ -10014,7 +10239,7 @@ function FormSelect({
10014
10239
  disabled,
10015
10240
  "data-testid": testId,
10016
10241
  children: [
10017
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, { children: field.value ? _optionalChain([values, 'access', _273 => _273.find, 'call', _274 => _274((v) => v.id === field.value), 'optionalAccess', _275 => _275.text]) : _nullishCoalesce(placeholder, () => ( "")) }) }),
10242
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, { children: field.value ? _optionalChain([values, 'access', _290 => _290.find, 'call', _291 => _291((v) => v.id === field.value), 'optionalAccess', _292 => _292.text]) : _nullishCoalesce(placeholder, () => ( "")) }) }),
10018
10243
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SelectContent, { children: [
10019
10244
  allowEmpty && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: EMPTY_VALUE, className: "text-muted-foreground", children: _nullishCoalesce(placeholder, () => ( "")) }),
10020
10245
  values.map((type) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: type.id, children: type.text }, type.id))
@@ -10185,7 +10410,7 @@ function UserAvatar({ user, className, showFull, showLink, showTooltip = true })
10185
10410
  }, "getInitials");
10186
10411
  const getAvatar = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
10187
10412
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "*:ring-border *:ring-1", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Avatar, { className: `h-6 w-6 ${className}`, children: [
10188
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { className: "object-cover", src: _optionalChain([user, 'optionalAccess', _276 => _276.avatar]) }),
10413
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { className: "object-cover", src: _optionalChain([user, 'optionalAccess', _293 => _293.avatar]) }),
10189
10414
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: getInitials3(user.name) })
10190
10415
  ] }) });
10191
10416
  }, "getAvatar");
@@ -10376,7 +10601,7 @@ var useUserTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0,
10376
10601
  })
10377
10602
  };
10378
10603
  const columns = _react.useMemo.call(void 0, () => {
10379
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _277 => _277[field], 'optionalCall', _278 => _278()])).filter((col) => col !== void 0);
10604
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _294 => _294[field], 'optionalCall', _295 => _295()])).filter((col) => col !== void 0);
10380
10605
  }, [params.fields, fieldColumnMap, t, generateUrl]);
10381
10606
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
10382
10607
  }, "useUserTableStructure");
@@ -10490,10 +10715,10 @@ function UserSelector({ id, form, label, placeholder, onChange, isRequired = fal
10490
10715
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between", children: [
10491
10716
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-row items-center justify-start rounded-md", children: field.value ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: [
10492
10717
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "*:ring-border *:ring-1", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Avatar, { className: `mr-2 h-4 w-4`, children: [
10493
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { src: _optionalChain([field, 'access', _279 => _279.value, 'optionalAccess', _280 => _280.avatar]) }),
10494
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: _optionalChain([field, 'access', _281 => _281.value, 'optionalAccess', _282 => _282.name]) ? _optionalChain([field, 'access', _283 => _283.value, 'optionalAccess', _284 => _284.name, 'access', _285 => _285.split, 'call', _286 => _286(" "), 'access', _287 => _287.map, 'call', _288 => _288((name) => name.charAt(0).toUpperCase())]) : "X" })
10718
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { src: _optionalChain([field, 'access', _296 => _296.value, 'optionalAccess', _297 => _297.avatar]) }),
10719
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: _optionalChain([field, 'access', _298 => _298.value, 'optionalAccess', _299 => _299.name]) ? _optionalChain([field, 'access', _300 => _300.value, 'optionalAccess', _301 => _301.name, 'access', _302 => _302.split, 'call', _303 => _303(" "), 'access', _304 => _304.map, 'call', _305 => _305((name) => name.charAt(0).toUpperCase())]) : "X" })
10495
10720
  ] }) }),
10496
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _289 => _289.value, 'optionalAccess', _290 => _290.name]), () => ( "")) })
10721
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _306 => _306.value, 'optionalAccess', _307 => _307.name]), () => ( "")) })
10497
10722
  ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input text-muted-foreground flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: _nullishCoalesce(placeholder, () => ( t(`ui.search.placeholder`, { type: t(`entities.users`, { count: 1 }) }))) }) }) }),
10498
10723
  field.value && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10499
10724
  _lucidereact.CircleX,
@@ -10824,7 +11049,7 @@ function CompanyUsersList({ isDeleted, fullWidth }) {
10824
11049
  const data = useDataListRetriever({
10825
11050
  ready: !!company,
10826
11051
  retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkXAWKRNYMjs.UserService.findAllUsers(params), "retriever"),
10827
- retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _291 => _291.id]), isDeleted },
11052
+ retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _308 => _308.id]), isDeleted },
10828
11053
  module: _chunkXAWKRNYMjs.Modules.User
10829
11054
  });
10830
11055
  _react.useEffect.call(void 0, () => {
@@ -10931,11 +11156,11 @@ function UserListInAdd({ data, existingUsers, setSelectedUser, setLevelOpen }) {
10931
11156
  className: "cursor-pointer hover:bg-muted data-selected:hover:bg-muted bg-transparent data-selected:bg-transparent",
10932
11157
  onClick: (_e) => {
10933
11158
  setSelectedUser(user);
10934
- _optionalChain([setLevelOpen, 'optionalCall', _292 => _292(true)]);
11159
+ _optionalChain([setLevelOpen, 'optionalCall', _309 => _309(true)]);
10935
11160
  },
10936
11161
  onSelect: (_e) => {
10937
11162
  setSelectedUser(user);
10938
- _optionalChain([setLevelOpen, 'optionalCall', _293 => _293(true)]);
11163
+ _optionalChain([setLevelOpen, 'optionalCall', _310 => _310(true)]);
10939
11164
  },
10940
11165
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between px-4 py-1", children: [
10941
11166
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserAvatar, { user }),
@@ -11005,7 +11230,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, UsersListByContentIds, "UsersListByContentI
11005
11230
  function parseFiscalData(fiscalDataJson) {
11006
11231
  try {
11007
11232
  return fiscalDataJson ? JSON.parse(fiscalDataJson) : {};
11008
- } catch (e6) {
11233
+ } catch (e7) {
11009
11234
  return {};
11010
11235
  }
11011
11236
  }
@@ -11066,7 +11291,7 @@ function CompanyContent({ company, actions }) {
11066
11291
  company.legal_address
11067
11292
  ] }),
11068
11293
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-y-1", children: [
11069
- _optionalChain([company, 'access', _294 => _294.configurations, 'optionalAccess', _295 => _295.country]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
11294
+ _optionalChain([company, 'access', _311 => _311.configurations, 'optionalAccess', _312 => _312.country]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
11070
11295
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "font-medium", children: [
11071
11296
  t("features.configuration.country"),
11072
11297
  ":"
@@ -11074,7 +11299,7 @@ function CompanyContent({ company, actions }) {
11074
11299
  " ",
11075
11300
  company.configurations.country
11076
11301
  ] }),
11077
- _optionalChain([company, 'access', _296 => _296.configurations, 'optionalAccess', _297 => _297.currency]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
11302
+ _optionalChain([company, 'access', _313 => _313.configurations, 'optionalAccess', _314 => _314.currency]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
11078
11303
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "font-medium", children: [
11079
11304
  t("features.configuration.currency"),
11080
11305
  ":"
@@ -11484,7 +11709,7 @@ function CompanyEditorInternal({
11484
11709
  const t = _nextintl.useTranslations.call(void 0, );
11485
11710
  const fiscalRef = _react.useRef.call(void 0, null);
11486
11711
  const addressComponentsRef = _react.useRef.call(void 0, {});
11487
- const canAccessFeatures = hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator) || hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).CompanyAdministrator) && _optionalChain([process, 'access', _298 => _298.env, 'access', _299 => _299.NEXT_PUBLIC_PRIVATE_INSTALLATION, 'optionalAccess', _300 => _300.toLowerCase, 'call', _301 => _301()]) === "true";
11712
+ const canAccessFeatures = hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator) || hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).CompanyAdministrator) && _optionalChain([process, 'access', _315 => _315.env, 'access', _316 => _316.NEXT_PUBLIC_PRIVATE_INSTALLATION, 'optionalAccess', _317 => _317.toLowerCase, 'call', _318 => _318()]) === "true";
11488
11713
  const handleDialogOpenChange = _react.useCallback.call(void 0,
11489
11714
  (open) => {
11490
11715
  if (open && features.length === 0 && canAccessFeatures) {
@@ -11499,7 +11724,7 @@ function CompanyEditorInternal({
11499
11724
  _chunk7QVYU63Ejs.__name.call(void 0, fetchFeatures, "fetchFeatures");
11500
11725
  fetchFeatures();
11501
11726
  }
11502
- _optionalChain([onDialogOpenChange, 'optionalCall', _302 => _302(open)]);
11727
+ _optionalChain([onDialogOpenChange, 'optionalCall', _319 => _319(open)]);
11503
11728
  },
11504
11729
  [features.length, canAccessFeatures, hasRole, onDialogOpenChange]
11505
11730
  );
@@ -11544,12 +11769,12 @@ function CompanyEditorInternal({
11544
11769
  );
11545
11770
  const getDefaultValues = _react.useCallback.call(void 0, () => {
11546
11771
  return {
11547
- id: _optionalChain([company, 'optionalAccess', _303 => _303.id]) || _uuid.v4.call(void 0, ),
11548
- name: _optionalChain([company, 'optionalAccess', _304 => _304.name]) || "",
11549
- featureIds: _optionalChain([company, 'optionalAccess', _305 => _305.features, 'access', _306 => _306.map, 'call', _307 => _307((feature) => feature.id)]) || [],
11550
- moduleIds: _optionalChain([company, 'optionalAccess', _308 => _308.modules, 'access', _309 => _309.map, 'call', _310 => _310((module) => module.id)]) || [],
11551
- logo: _optionalChain([company, 'optionalAccess', _311 => _311.logo]) || "",
11552
- legal_address: _optionalChain([company, 'optionalAccess', _312 => _312.legal_address]) || ""
11772
+ id: _optionalChain([company, 'optionalAccess', _320 => _320.id]) || _uuid.v4.call(void 0, ),
11773
+ name: _optionalChain([company, 'optionalAccess', _321 => _321.name]) || "",
11774
+ featureIds: _optionalChain([company, 'optionalAccess', _322 => _322.features, 'access', _323 => _323.map, 'call', _324 => _324((feature) => feature.id)]) || [],
11775
+ moduleIds: _optionalChain([company, 'optionalAccess', _325 => _325.modules, 'access', _326 => _326.map, 'call', _327 => _327((module) => module.id)]) || [],
11776
+ logo: _optionalChain([company, 'optionalAccess', _328 => _328.logo]) || "",
11777
+ legal_address: _optionalChain([company, 'optionalAccess', _329 => _329.legal_address]) || ""
11553
11778
  };
11554
11779
  }, [company]);
11555
11780
  const form = _reacthookform.useForm.call(void 0, {
@@ -11561,7 +11786,7 @@ function CompanyEditorInternal({
11561
11786
  {
11562
11787
  form,
11563
11788
  entityType: t(`entities.companies`, { count: 1 }),
11564
- entityName: _optionalChain([company, 'optionalAccess', _313 => _313.name]),
11789
+ entityName: _optionalChain([company, 'optionalAccess', _330 => _330.name]),
11565
11790
  isEdit: !!company,
11566
11791
  module: _chunkXAWKRNYMjs.Modules.Company,
11567
11792
  propagateChanges,
@@ -11586,7 +11811,7 @@ function CompanyEditorInternal({
11586
11811
  throw new Error("Fiscal data validation failed");
11587
11812
  }
11588
11813
  const payload = {
11589
- id: _nullishCoalesce(_optionalChain([company, 'optionalAccess', _314 => _314.id]), () => ( _uuid.v4.call(void 0, ))),
11814
+ id: _nullishCoalesce(_optionalChain([company, 'optionalAccess', _331 => _331.id]), () => ( _uuid.v4.call(void 0, ))),
11590
11815
  name: values.name,
11591
11816
  logo: files && contentType ? values.logo : void 0,
11592
11817
  featureIds: values.featureIds,
@@ -11617,10 +11842,10 @@ function CompanyEditorInternal({
11617
11842
  dialogOpen,
11618
11843
  onDialogOpenChange: handleDialogOpenChange,
11619
11844
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start justify-between gap-x-4", children: [
11620
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-96 flex-col justify-start gap-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FileUploader, { value: files, onValueChange: setFiles, dropzoneOptions: dropzone2, className: "w-full p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FileInput, { className: "text-neutral-300 outline-dashed", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col items-center justify-center pt-3 pb-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col items-center justify-center pt-3 pb-4", children: file || _optionalChain([company, 'optionalAccess', _315 => _315.logo]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11845
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-96 flex-col justify-start gap-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FileUploader, { value: files, onValueChange: setFiles, dropzoneOptions: dropzone2, className: "w-full p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FileInput, { className: "text-neutral-300 outline-dashed", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col items-center justify-center pt-3 pb-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col items-center justify-center pt-3 pb-4", children: file || _optionalChain([company, 'optionalAccess', _332 => _332.logo]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11621
11846
  _image2.default,
11622
11847
  {
11623
- src: file ? URL.createObjectURL(file) : _optionalChain([company, 'optionalAccess', _316 => _316.logo]) || "",
11848
+ src: file ? URL.createObjectURL(file) : _optionalChain([company, 'optionalAccess', _333 => _333.logo]) || "",
11624
11849
  alt: "Company Logo",
11625
11850
  width: 200,
11626
11851
  height: 200
@@ -11654,7 +11879,7 @@ function CompanyEditorInternal({
11654
11879
  }
11655
11880
  ),
11656
11881
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "mt-2 text-sm font-semibold", children: t(`company.sections.fiscal_data`) }),
11657
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ItalianFiscalData_default, { ref: fiscalRef, initialData: parseFiscalData(_optionalChain([company, 'optionalAccess', _317 => _317.fiscal_data])) })
11882
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ItalianFiscalData_default, { ref: fiscalRef, initialData: parseFiscalData(_optionalChain([company, 'optionalAccess', _334 => _334.fiscal_data])) })
11658
11883
  ] }),
11659
11884
  canAccessFeatures && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-96 flex-col justify-start gap-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollArea, { className: "h-max", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FormFeatures, { form, name: t(`company.features_and_modules`), features }) }) })
11660
11885
  ] })
@@ -11771,7 +11996,7 @@ function NotificationToast(notification, t, generateUrl, reouter) {
11771
11996
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
11772
11997
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
11773
11998
  strong: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (chunks) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: chunks }), "strong"),
11774
- actor: _nullishCoalesce(_optionalChain([data, 'access', _318 => _318.actor, 'optionalAccess', _319 => _319.name]), () => ( "")),
11999
+ actor: _nullishCoalesce(_optionalChain([data, 'access', _335 => _335.actor, 'optionalAccess', _336 => _336.name]), () => ( "")),
11775
12000
  title: data.title,
11776
12001
  message: _nullishCoalesce(notification.message, () => ( ""))
11777
12002
  }) }),
@@ -11800,7 +12025,7 @@ function NotificationMenuItem({ notification, closePopover }) {
11800
12025
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
11801
12026
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
11802
12027
  strong: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (chunks) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: chunks }), "strong"),
11803
- actor: _nullishCoalesce(_optionalChain([data, 'access', _320 => _320.actor, 'optionalAccess', _321 => _321.name]), () => ( "")),
12028
+ actor: _nullishCoalesce(_optionalChain([data, 'access', _337 => _337.actor, 'optionalAccess', _338 => _338.name]), () => ( "")),
11804
12029
  title: data.title,
11805
12030
  message: _nullishCoalesce(notification.message, () => ( ""))
11806
12031
  }) }),
@@ -11857,7 +12082,7 @@ var NotificationContextProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(v
11857
12082
  _react.useEffect.call(void 0, () => {
11858
12083
  if (hasInitiallyLoaded || !currentUser) return;
11859
12084
  if (_chunkSE5HIHJSjs.isRolesConfigured.call(void 0, )) {
11860
- const isAdmin = _optionalChain([currentUser, 'access', _322 => _322.roles, 'optionalAccess', _323 => _323.some, 'call', _324 => _324((role) => role.id === _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)]);
12085
+ const isAdmin = _optionalChain([currentUser, 'access', _339 => _339.roles, 'optionalAccess', _340 => _340.some, 'call', _341 => _341((role) => role.id === _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)]);
11861
12086
  if (isAdmin) {
11862
12087
  setHasInitiallyLoaded(true);
11863
12088
  return;
@@ -12059,7 +12284,7 @@ function OnboardingProvider({
12059
12284
  let tourSteps = steps;
12060
12285
  if (!tourSteps) {
12061
12286
  const tour2 = tours.find((t) => t.id === tourId);
12062
- tourSteps = _optionalChain([tour2, 'optionalAccess', _325 => _325.steps]);
12287
+ tourSteps = _optionalChain([tour2, 'optionalAccess', _342 => _342.steps]);
12063
12288
  }
12064
12289
  if (!tourSteps || tourSteps.length === 0) {
12065
12290
  console.warn(`No steps found for tour: ${tourId}`);
@@ -12127,10 +12352,10 @@ function OnboardingProvider({
12127
12352
  when: {
12128
12353
  show: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
12129
12354
  setCurrentStepIndex(index);
12130
- _optionalChain([stepConfig, 'access', _326 => _326.onShow, 'optionalCall', _327 => _327()]);
12355
+ _optionalChain([stepConfig, 'access', _343 => _343.onShow, 'optionalCall', _344 => _344()]);
12131
12356
  }, "show"),
12132
12357
  hide: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
12133
- _optionalChain([stepConfig, 'access', _328 => _328.onHide, 'optionalCall', _329 => _329()]);
12358
+ _optionalChain([stepConfig, 'access', _345 => _345.onHide, 'optionalCall', _346 => _346()]);
12134
12359
  }, "hide")
12135
12360
  }
12136
12361
  });
@@ -12361,10 +12586,10 @@ function HowToEditorInternal({
12361
12586
  );
12362
12587
  const getDefaultValues = _react.useCallback.call(void 0,
12363
12588
  () => ({
12364
- id: _optionalChain([howTo, 'optionalAccess', _330 => _330.id]) || _uuid.v4.call(void 0, ),
12365
- name: _optionalChain([howTo, 'optionalAccess', _331 => _331.name]) || "",
12366
- description: _optionalChain([howTo, 'optionalAccess', _332 => _332.description]) || [],
12367
- pages: _chunkXAWKRNYMjs.HowTo.parsePagesFromString(_optionalChain([howTo, 'optionalAccess', _333 => _333.pages]))
12589
+ id: _optionalChain([howTo, 'optionalAccess', _347 => _347.id]) || _uuid.v4.call(void 0, ),
12590
+ name: _optionalChain([howTo, 'optionalAccess', _348 => _348.name]) || "",
12591
+ description: _optionalChain([howTo, 'optionalAccess', _349 => _349.description]) || [],
12592
+ pages: _chunkXAWKRNYMjs.HowTo.parsePagesFromString(_optionalChain([howTo, 'optionalAccess', _350 => _350.pages]))
12368
12593
  }),
12369
12594
  [howTo]
12370
12595
  );
@@ -12395,7 +12620,7 @@ function HowToEditorInternal({
12395
12620
  {
12396
12621
  form,
12397
12622
  entityType: t(`entities.howtos`, { count: 1 }),
12398
- entityName: _optionalChain([howTo, 'optionalAccess', _334 => _334.name]),
12623
+ entityName: _optionalChain([howTo, 'optionalAccess', _351 => _351.name]),
12399
12624
  isEdit: !!howTo,
12400
12625
  module: _chunkXAWKRNYMjs.Modules.HowTo,
12401
12626
  propagateChanges,
@@ -12699,7 +12924,7 @@ function withPatchedTitle(source, title) {
12699
12924
  return _chunkXAWKRNYMjs.rehydrate.call(void 0, _chunkXAWKRNYMjs.Modules.Assistant, {
12700
12925
  jsonApi: {
12701
12926
  ...dehydrated.jsonApi,
12702
- attributes: { ..._nullishCoalesce(_optionalChain([dehydrated, 'access', _335 => _335.jsonApi, 'optionalAccess', _336 => _336.attributes]), () => ( {})), title }
12927
+ attributes: { ..._nullishCoalesce(_optionalChain([dehydrated, 'access', _352 => _352.jsonApi, 'optionalAccess', _353 => _353.attributes]), () => ( {})), title }
12703
12928
  },
12704
12929
  included: dehydrated.included
12705
12930
  });
@@ -12726,7 +12951,7 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages }
12726
12951
  if (!trimmed) return;
12727
12952
  const optimistic = _chunkXAWKRNYMjs.AssistantMessage.buildOptimistic({
12728
12953
  content: trimmed,
12729
- assistantId: _optionalChain([assistant, 'optionalAccess', _337 => _337.id]),
12954
+ assistantId: _optionalChain([assistant, 'optionalAccess', _354 => _354.id]),
12730
12955
  position: nextPosition(messages)
12731
12956
  });
12732
12957
  setMessages((prev) => [...prev, optimistic]);
@@ -12736,7 +12961,7 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages }
12736
12961
  if (assistant && payload.assistantId && payload.assistantId !== assistant.id) return;
12737
12962
  if (typeof payload.status === "string") setStatus(payload.status);
12738
12963
  }, "handler");
12739
- _optionalChain([socket, 'optionalAccess', _338 => _338.on, 'call', _339 => _339("assistant:status", handler)]);
12964
+ _optionalChain([socket, 'optionalAccess', _355 => _355.on, 'call', _356 => _356("assistant:status", handler)]);
12740
12965
  try {
12741
12966
  if (!assistant) {
12742
12967
  const created = await _chunkXAWKRNYMjs.AssistantService.create({ firstMessage: trimmed });
@@ -12754,14 +12979,14 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages }
12754
12979
  });
12755
12980
  setMessages((prev) => [...stripOptimistic(prev), ...result]);
12756
12981
  }
12757
- } catch (e7) {
12982
+ } catch (e8) {
12758
12983
  setFailedMessageIds((prev) => {
12759
12984
  const next = new Set(prev);
12760
12985
  next.add(optimistic.id);
12761
12986
  return next;
12762
12987
  });
12763
12988
  } finally {
12764
- _optionalChain([socket, 'optionalAccess', _340 => _340.off, 'call', _341 => _341("assistant:status", handler)]);
12989
+ _optionalChain([socket, 'optionalAccess', _357 => _357.off, 'call', _358 => _358("assistant:status", handler)]);
12765
12990
  setSending(false);
12766
12991
  setStatus(void 0);
12767
12992
  }
@@ -12811,7 +13036,7 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages }
12811
13036
  await _chunkXAWKRNYMjs.AssistantService.delete({ id });
12812
13037
  setThreads((prev) => prev.filter((t2) => t2.id !== id));
12813
13038
  setAssistant((prev) => {
12814
- if (_optionalChain([prev, 'optionalAccess', _342 => _342.id]) === id) {
13039
+ if (_optionalChain([prev, 'optionalAccess', _359 => _359.id]) === id) {
12815
13040
  setMessages([]);
12816
13041
  return void 0;
12817
13042
  }
@@ -13026,7 +13251,7 @@ function EditableAvatar({
13026
13251
  }, [image, isUploading, patchImage, t]);
13027
13252
  const handleFileInputChange = _react.useCallback.call(void 0,
13028
13253
  (e) => {
13029
- const file = _optionalChain([e, 'access', _343 => _343.target, 'access', _344 => _344.files, 'optionalAccess', _345 => _345[0]]);
13254
+ const file = _optionalChain([e, 'access', _360 => _360.target, 'access', _361 => _361.files, 'optionalAccess', _362 => _362[0]]);
13030
13255
  if (file) handleFile(file);
13031
13256
  e.target.value = "";
13032
13257
  },
@@ -13035,7 +13260,7 @@ function EditableAvatar({
13035
13260
  const handleDrop = _react.useCallback.call(void 0,
13036
13261
  (e) => {
13037
13262
  e.preventDefault();
13038
- const file = _optionalChain([e, 'access', _346 => _346.dataTransfer, 'access', _347 => _347.files, 'optionalAccess', _348 => _348[0]]);
13263
+ const file = _optionalChain([e, 'access', _363 => _363.dataTransfer, 'access', _364 => _364.files, 'optionalAccess', _365 => _365[0]]);
13039
13264
  if (file && file.type.startsWith("image/")) {
13040
13265
  handleFile(file);
13041
13266
  }
@@ -13062,7 +13287,7 @@ function EditableAvatar({
13062
13287
  "button",
13063
13288
  {
13064
13289
  type: "button",
13065
- onClick: () => _optionalChain([fileInputRef, 'access', _349 => _349.current, 'optionalAccess', _350 => _350.click, 'call', _351 => _351()]),
13290
+ onClick: () => _optionalChain([fileInputRef, 'access', _366 => _366.current, 'optionalAccess', _367 => _367.click, 'call', _368 => _368()]),
13066
13291
  disabled: isUploading,
13067
13292
  className: "rounded-full p-2 text-white hover:bg-white/20 disabled:opacity-50",
13068
13293
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.PencilIcon, { className: "h-4 w-4" })
@@ -13143,7 +13368,7 @@ function BreadcrumbMobile({
13143
13368
  }
13144
13369
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DropdownMenu, { open, onOpenChange: setOpen, children: [
13145
13370
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DropdownMenuTrigger, { className: "text-foreground text-xs/relaxed font-normal hover:bg-accent flex items-center gap-1 rounded-md px-1.5 py-0.5 transition-colors outline-none", children: [
13146
- _optionalChain([lastItem, 'optionalAccess', _352 => _352.name]),
13371
+ _optionalChain([lastItem, 'optionalAccess', _369 => _369.name]),
13147
13372
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon, { className: "text-muted-foreground size-3.5" })
13148
13373
  ] }),
13149
13374
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DropdownMenuContent, { align: "start", children: allItems.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DropdownMenuItem, { children: item.href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Link, { href: item.href, children: item.name }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: item.name }) }, index)) })
@@ -13447,7 +13672,7 @@ function RoundPageContainer({
13447
13672
  const [mounted, setMounted] = _react.useState.call(void 0, false);
13448
13673
  _react.useEffect.call(void 0, () => {
13449
13674
  const match = document.cookie.split("; ").find((row) => row.startsWith(`${DETAILS_COOKIE_NAME}=`));
13450
- if (_optionalChain([match, 'optionalAccess', _353 => _353.split, 'call', _354 => _354("="), 'access', _355 => _355[1]]) === "true") setShowDetailsState(true);
13675
+ if (_optionalChain([match, 'optionalAccess', _370 => _370.split, 'call', _371 => _371("="), 'access', _372 => _372[1]]) === "true") setShowDetailsState(true);
13451
13676
  }, []);
13452
13677
  _react.useEffect.call(void 0, () => {
13453
13678
  setMounted(true);
@@ -13459,11 +13684,11 @@ function RoundPageContainer({
13459
13684
  const searchParams = _navigation.useSearchParams.call(void 0, );
13460
13685
  const section = searchParams.get("section");
13461
13686
  const rewriteUrl = useUrlRewriter();
13462
- const initialValue = tabs ? (section && tabs.find((i) => (_nullishCoalesce(_optionalChain([i, 'access', _356 => _356.key, 'optionalAccess', _357 => _357.name]), () => ( i.label))) === section) ? section : null) || (_nullishCoalesce(_optionalChain([tabs, 'access', _358 => _358[0], 'access', _359 => _359.key, 'optionalAccess', _360 => _360.name]), () => ( tabs[0].label))) : void 0;
13687
+ const initialValue = tabs ? (section && tabs.find((i) => (_nullishCoalesce(_optionalChain([i, 'access', _373 => _373.key, 'optionalAccess', _374 => _374.name]), () => ( i.label))) === section) ? section : null) || (_nullishCoalesce(_optionalChain([tabs, 'access', _375 => _375[0], 'access', _376 => _376.key, 'optionalAccess', _377 => _377.name]), () => ( tabs[0].label))) : void 0;
13463
13688
  const [activeTab, setActiveTab] = _react.useState.call(void 0, initialValue);
13464
13689
  _react.useEffect.call(void 0, () => {
13465
13690
  if (tabs && section) {
13466
- const tab = tabs.find((i) => (_nullishCoalesce(_optionalChain([i, 'access', _361 => _361.key, 'optionalAccess', _362 => _362.name]), () => ( i.label))) === section);
13691
+ const tab = tabs.find((i) => (_nullishCoalesce(_optionalChain([i, 'access', _378 => _378.key, 'optionalAccess', _379 => _379.name]), () => ( i.label))) === section);
13467
13692
  if (tab) {
13468
13693
  setActiveTab(section);
13469
13694
  }
@@ -13476,7 +13701,7 @@ function RoundPageContainer({
13476
13701
  },
13477
13702
  [module, id, rewriteUrl]
13478
13703
  );
13479
- const activeFillHeight = _optionalChain([tabs, 'optionalAccess', _363 => _363.find, 'call', _364 => _364((t) => (_nullishCoalesce(_optionalChain([t, 'access', _365 => _365.key, 'optionalAccess', _366 => _366.name]), () => ( t.label))) === activeTab), 'optionalAccess', _367 => _367.fillHeight]) === true;
13704
+ const activeFillHeight = _optionalChain([tabs, 'optionalAccess', _380 => _380.find, 'call', _381 => _381((t) => (_nullishCoalesce(_optionalChain([t, 'access', _382 => _382.key, 'optionalAccess', _383 => _383.name]), () => ( t.label))) === activeTab), 'optionalAccess', _384 => _384.fillHeight]) === true;
13480
13705
  const isReady = mounted && isMobile !== void 0;
13481
13706
  if (!isReady) {
13482
13707
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -13532,10 +13757,10 @@ function RoundPageContainer({
13532
13757
  },
13533
13758
  children: [
13534
13759
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, {}) }),
13535
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectContent, { children: tabs.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: _nullishCoalesce(_optionalChain([tab, 'access', _368 => _368.key, 'optionalAccess', _369 => _369.name]), () => ( tab.label)), children: _nullishCoalesce(tab.contentLabel, () => ( tab.label)) }, tab.label)) })
13760
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectContent, { children: tabs.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: _nullishCoalesce(_optionalChain([tab, 'access', _385 => _385.key, 'optionalAccess', _386 => _386.name]), () => ( tab.label)), children: _nullishCoalesce(tab.contentLabel, () => ( tab.label)) }, tab.label)) })
13536
13761
  ]
13537
13762
  }
13538
- ) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsList, { children: tabs.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsTrigger, { value: _nullishCoalesce(_optionalChain([tab, 'access', _370 => _370.key, 'optionalAccess', _371 => _371.name]), () => ( tab.label)), className: "px-4", children: _nullishCoalesce(tab.contentLabel, () => ( tab.label)) }, tab.label)) }) }),
13763
+ ) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsList, { children: tabs.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsTrigger, { value: _nullishCoalesce(_optionalChain([tab, 'access', _387 => _387.key, 'optionalAccess', _388 => _388.name]), () => ( tab.label)), className: "px-4", children: _nullishCoalesce(tab.contentLabel, () => ( tab.label)) }, tab.label)) }) }),
13539
13764
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13540
13765
  "div",
13541
13766
  {
@@ -13547,7 +13772,7 @@ function RoundPageContainer({
13547
13772
  children: tabs.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13548
13773
  TabsContent,
13549
13774
  {
13550
- value: _nullishCoalesce(_optionalChain([tab, 'access', _372 => _372.key, 'optionalAccess', _373 => _373.name]), () => ( tab.label)),
13775
+ value: _nullishCoalesce(_optionalChain([tab, 'access', _389 => _389.key, 'optionalAccess', _390 => _390.name]), () => ( tab.label)),
13551
13776
  className: tab.fillHeight ? `flex flex-1 min-h-0 w-full flex-col` : `pb-20`,
13552
13777
  children: tab.content
13553
13778
  },
@@ -13675,14 +13900,14 @@ function BlockNoteEditorMentionHoverCard({
13675
13900
  const entityType = target.dataset.mentionType;
13676
13901
  const alias = target.dataset.mentionAlias;
13677
13902
  setHovered((prev) => {
13678
- if (_optionalChain([prev, 'optionalAccess', _374 => _374.id]) === id && _optionalChain([prev, 'optionalAccess', _375 => _375.element]) === target) return prev;
13903
+ if (_optionalChain([prev, 'optionalAccess', _391 => _391.id]) === id && _optionalChain([prev, 'optionalAccess', _392 => _392.element]) === target) return prev;
13679
13904
  return { id, entityType, alias, element: target };
13680
13905
  });
13681
13906
  }, "handleMouseOver");
13682
13907
  const handleMouseOut = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (e) => {
13683
13908
  const target = e.target.closest("[data-mention-id]");
13684
13909
  if (!target) return;
13685
- const related = _optionalChain([e, 'access', _376 => _376.relatedTarget, 'optionalAccess', _377 => _377.closest, 'call', _378 => _378("[data-mention-id]")]);
13910
+ const related = _optionalChain([e, 'access', _393 => _393.relatedTarget, 'optionalAccess', _394 => _394.closest, 'call', _395 => _395("[data-mention-id]")]);
13686
13911
  if (related) return;
13687
13912
  scheduleClose();
13688
13913
  }, "handleMouseOut");
@@ -13696,7 +13921,7 @@ function BlockNoteEditorMentionHoverCard({
13696
13921
  }, [containerRef, mentionResolveFn, cancelClose, scheduleClose]);
13697
13922
  if (!hovered || !mentionResolveFn) return null;
13698
13923
  const resolved = mentionResolveFn(hovered.id, hovered.entityType, hovered.alias);
13699
- if (!_optionalChain([resolved, 'optionalAccess', _379 => _379.HoverContent])) return null;
13924
+ if (!_optionalChain([resolved, 'optionalAccess', _396 => _396.HoverContent])) return null;
13700
13925
  const ContentComponent = resolved.HoverContent;
13701
13926
  const rect = hovered.element.getBoundingClientRect();
13702
13927
  return _reactdom.createPortal.call(void 0,
@@ -13732,21 +13957,21 @@ var mentionDataAttrs = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (p)
13732
13957
  }), "mentionDataAttrs");
13733
13958
  var createMentionInlineContentSpec = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (resolveFn, disableMention, nameResolver) => {
13734
13959
  const Mention = React.default.memo(/* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, function Mention2(props) {
13735
- const displayName = _nullishCoalesce(_optionalChain([nameResolver, 'optionalCall', _380 => _380(props.id, props.entityType, props.alias)]), () => ( props.alias));
13960
+ const displayName = _nullishCoalesce(_optionalChain([nameResolver, 'optionalCall', _397 => _397(props.id, props.entityType, props.alias)]), () => ( props.alias));
13736
13961
  if (disableMention) {
13737
- const resolved2 = _optionalChain([resolveFn, 'optionalCall', _381 => _381(props.id, props.entityType, displayName)]);
13738
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: _nullishCoalesce(_optionalChain([resolved2, 'optionalAccess', _382 => _382.url]), () => ( "#")), className: "text-primary", children: [
13962
+ const resolved2 = _optionalChain([resolveFn, 'optionalCall', _398 => _398(props.id, props.entityType, displayName)]);
13963
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: _nullishCoalesce(_optionalChain([resolved2, 'optionalAccess', _399 => _399.url]), () => ( "#")), className: "text-primary", children: [
13739
13964
  "@",
13740
13965
  displayName
13741
13966
  ] });
13742
13967
  }
13743
- const resolved = _optionalChain([resolveFn, 'optionalCall', _383 => _383(props.id, props.entityType, displayName)]);
13744
- if (_optionalChain([resolved, 'optionalAccess', _384 => _384.Inline])) {
13968
+ const resolved = _optionalChain([resolveFn, 'optionalCall', _400 => _400(props.id, props.entityType, displayName)]);
13969
+ if (_optionalChain([resolved, 'optionalAccess', _401 => _401.Inline])) {
13745
13970
  const Custom = resolved.Inline;
13746
13971
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Custom, { ...props, alias: displayName });
13747
13972
  }
13748
- const href = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _385 => _385.url]), () => ( "#"));
13749
- const handleClick = _optionalChain([resolved, 'optionalAccess', _386 => _386.onActivate]) ? (e) => resolved.onActivate(e, props) : void 0;
13973
+ const href = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _402 => _402.url]), () => ( "#"));
13974
+ const handleClick = _optionalChain([resolved, 'optionalAccess', _403 => _403.onActivate]) ? (e) => resolved.onActivate(e, props) : void 0;
13750
13975
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13751
13976
  _link2.default,
13752
13977
  {
@@ -13843,7 +14068,7 @@ function BlockNoteEditorMentionSuggestionMenu({
13843
14068
  if (!suggestionMenuComponent) return void 0;
13844
14069
  const Component2 = suggestionMenuComponent;
13845
14070
  const Wrapped = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (props) => {
13846
- const isSentinelOnly = props.items.length === 1 && _optionalChain([props, 'access', _387 => _387.items, 'access', _388 => _388[0], 'optionalAccess', _389 => _389.title]) === KEEP_OPEN_SENTINEL_TITLE;
14071
+ const isSentinelOnly = props.items.length === 1 && _optionalChain([props, 'access', _404 => _404.items, 'access', _405 => _405[0], 'optionalAccess', _406 => _406.title]) === KEEP_OPEN_SENTINEL_TITLE;
13847
14072
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13848
14073
  Component2,
13849
14074
  {
@@ -13852,7 +14077,7 @@ function BlockNoteEditorMentionSuggestionMenu({
13852
14077
  selectedIndex: isSentinelOnly ? void 0 : props.selectedIndex,
13853
14078
  onItemClick: (item) => {
13854
14079
  if (item.title === KEEP_OPEN_SENTINEL_TITLE) return;
13855
- _optionalChain([props, 'access', _390 => _390.onItemClick, 'optionalCall', _391 => _391(item)]);
14080
+ _optionalChain([props, 'access', _407 => _407.onItemClick, 'optionalCall', _408 => _408(item)]);
13856
14081
  }
13857
14082
  }
13858
14083
  );
@@ -14037,10 +14262,10 @@ var cellId = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => {
14037
14262
  cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => params.toggleId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14038
14263
  Checkbox,
14039
14264
  {
14040
- checked: _optionalChain([params, 'access', _392 => _392.checkedIds, 'optionalAccess', _393 => _393.includes, 'call', _394 => _394(row.getValue(params.name))]) || false,
14265
+ checked: _optionalChain([params, 'access', _409 => _409.checkedIds, 'optionalAccess', _410 => _410.includes, 'call', _411 => _411(row.getValue(params.name))]) || false,
14041
14266
  onCheckedChange: (value) => {
14042
14267
  row.toggleSelected(!!value);
14043
- _optionalChain([params, 'access', _395 => _395.toggleId, 'optionalCall', _396 => _396(row.getValue(params.name))]);
14268
+ _optionalChain([params, 'access', _412 => _412.toggleId, 'optionalCall', _413 => _413(row.getValue(params.name))]);
14044
14269
  },
14045
14270
  "aria-label": "Select row"
14046
14271
  }
@@ -14099,7 +14324,7 @@ function useJsonApiGet(params) {
14099
14324
  const [response, setResponse] = _react.useState.call(void 0, null);
14100
14325
  const isMounted = _react.useRef.call(void 0, true);
14101
14326
  const fetchData = _react.useCallback.call(void 0, async () => {
14102
- if (_optionalChain([params, 'access', _397 => _397.options, 'optionalAccess', _398 => _398.enabled]) === false) return;
14327
+ if (_optionalChain([params, 'access', _414 => _414.options, 'optionalAccess', _415 => _415.enabled]) === false) return;
14103
14328
  setLoading(true);
14104
14329
  setError(null);
14105
14330
  try {
@@ -14126,9 +14351,9 @@ function useJsonApiGet(params) {
14126
14351
  setLoading(false);
14127
14352
  }
14128
14353
  }
14129
- }, [params.classKey, params.endpoint, params.companyId, _optionalChain([params, 'access', _399 => _399.options, 'optionalAccess', _400 => _400.enabled])]);
14354
+ }, [params.classKey, params.endpoint, params.companyId, _optionalChain([params, 'access', _416 => _416.options, 'optionalAccess', _417 => _417.enabled])]);
14130
14355
  const fetchNextPage = _react.useCallback.call(void 0, async () => {
14131
- if (!_optionalChain([response, 'optionalAccess', _401 => _401.nextPage])) return;
14356
+ if (!_optionalChain([response, 'optionalAccess', _418 => _418.nextPage])) return;
14132
14357
  setLoading(true);
14133
14358
  try {
14134
14359
  const nextResponse = await response.nextPage();
@@ -14149,7 +14374,7 @@ function useJsonApiGet(params) {
14149
14374
  }
14150
14375
  }, [response]);
14151
14376
  const fetchPreviousPage = _react.useCallback.call(void 0, async () => {
14152
- if (!_optionalChain([response, 'optionalAccess', _402 => _402.prevPage])) return;
14377
+ if (!_optionalChain([response, 'optionalAccess', _419 => _419.prevPage])) return;
14153
14378
  setLoading(true);
14154
14379
  try {
14155
14380
  const prevResponse = await response.prevPage();
@@ -14175,15 +14400,15 @@ function useJsonApiGet(params) {
14175
14400
  return () => {
14176
14401
  isMounted.current = false;
14177
14402
  };
14178
- }, [fetchData, ..._optionalChain([params, 'access', _403 => _403.options, 'optionalAccess', _404 => _404.deps]) || []]);
14403
+ }, [fetchData, ..._optionalChain([params, 'access', _420 => _420.options, 'optionalAccess', _421 => _421.deps]) || []]);
14179
14404
  return {
14180
14405
  data,
14181
14406
  loading,
14182
14407
  error,
14183
14408
  response,
14184
14409
  refetch: fetchData,
14185
- hasNextPage: !!_optionalChain([response, 'optionalAccess', _405 => _405.next]),
14186
- hasPreviousPage: !!_optionalChain([response, 'optionalAccess', _406 => _406.prev]),
14410
+ hasNextPage: !!_optionalChain([response, 'optionalAccess', _422 => _422.next]),
14411
+ hasPreviousPage: !!_optionalChain([response, 'optionalAccess', _423 => _423.prev]),
14187
14412
  fetchNextPage,
14188
14413
  fetchPreviousPage
14189
14414
  };
@@ -14261,17 +14486,17 @@ function useJsonApiMutation(config) {
14261
14486
  if (apiResponse.ok) {
14262
14487
  const resultData = apiResponse.data;
14263
14488
  setData(resultData);
14264
- _optionalChain([config, 'access', _407 => _407.onSuccess, 'optionalCall', _408 => _408(resultData)]);
14489
+ _optionalChain([config, 'access', _424 => _424.onSuccess, 'optionalCall', _425 => _425(resultData)]);
14265
14490
  return resultData;
14266
14491
  } else {
14267
14492
  setError(apiResponse.error);
14268
- _optionalChain([config, 'access', _409 => _409.onError, 'optionalCall', _410 => _410(apiResponse.error)]);
14493
+ _optionalChain([config, 'access', _426 => _426.onError, 'optionalCall', _427 => _427(apiResponse.error)]);
14269
14494
  return null;
14270
14495
  }
14271
14496
  } catch (err) {
14272
14497
  const errorMessage = err instanceof Error ? err.message : "Unknown error";
14273
14498
  setError(errorMessage);
14274
- _optionalChain([config, 'access', _411 => _411.onError, 'optionalCall', _412 => _412(errorMessage)]);
14499
+ _optionalChain([config, 'access', _428 => _428.onError, 'optionalCall', _429 => _429(errorMessage)]);
14275
14500
  return null;
14276
14501
  } finally {
14277
14502
  setLoading(false);
@@ -14344,7 +14569,7 @@ var useCompanyTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
14344
14569
  {
14345
14570
  href: hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator) ? generateUrl({
14346
14571
  page: "/administration",
14347
- id: _optionalChain([_chunkXAWKRNYMjs.Modules, 'access', _413 => _413.Company, 'access', _414 => _414.pageUrl, 'optionalAccess', _415 => _415.substring, 'call', _416 => _416(1)]),
14572
+ id: _optionalChain([_chunkXAWKRNYMjs.Modules, 'access', _430 => _430.Company, 'access', _431 => _431.pageUrl, 'optionalAccess', _432 => _432.substring, 'call', _433 => _433(1)]),
14348
14573
  childPage: company.id
14349
14574
  }) : generateUrl({ page: _chunkXAWKRNYMjs.Modules.Company, id: company.id }),
14350
14575
  children: row.getValue("name")
@@ -14360,7 +14585,7 @@ var useCompanyTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
14360
14585
  })
14361
14586
  };
14362
14587
  const columns = _react.useMemo.call(void 0, () => {
14363
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _417 => _417[field], 'optionalCall', _418 => _418()])).filter((col) => col !== void 0);
14588
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _434 => _434[field], 'optionalCall', _435 => _435()])).filter((col) => col !== void 0);
14364
14589
  }, [params.fields, fieldColumnMap, t, generateUrl, hasRole]);
14365
14590
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
14366
14591
  }, "useCompanyTableStructure");
@@ -14372,7 +14597,7 @@ var GRACE_DAYS = 3;
14372
14597
  var isAdministrator = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (currentUser) => {
14373
14598
  if (!currentUser || !_chunkSE5HIHJSjs.isRolesConfigured.call(void 0, )) return false;
14374
14599
  const adminRoleId = _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator;
14375
- return !!_optionalChain([currentUser, 'access', _419 => _419.roles, 'optionalAccess', _420 => _420.some, 'call', _421 => _421((role) => role.id === adminRoleId)]);
14600
+ return !!_optionalChain([currentUser, 'access', _436 => _436.roles, 'optionalAccess', _437 => _437.some, 'call', _438 => _438((role) => role.id === adminRoleId)]);
14376
14601
  }, "isAdministrator");
14377
14602
  function useSubscriptionStatus() {
14378
14603
  const { company, currentUser } = useCurrentUserContext();
@@ -14489,7 +14714,7 @@ var useRoleTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0,
14489
14714
  })
14490
14715
  };
14491
14716
  const columns = _react.useMemo.call(void 0, () => {
14492
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _422 => _422[field], 'optionalCall', _423 => _423()])).filter((col) => col !== void 0);
14717
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _439 => _439[field], 'optionalCall', _440 => _440()])).filter((col) => col !== void 0);
14493
14718
  }, [params.fields, fieldColumnMap, t, generateUrl]);
14494
14719
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
14495
14720
  }, "useRoleTableStructure");
@@ -14590,11 +14815,11 @@ var useContentTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
14590
14815
  return params.fields.map((field) => {
14591
14816
  const localHandler = fieldColumnMap[field];
14592
14817
  if (localHandler) return localHandler();
14593
- const customHandler = _optionalChain([params, 'access', _424 => _424.context, 'optionalAccess', _425 => _425.customCells, 'optionalAccess', _426 => _426[field]]);
14818
+ const customHandler = _optionalChain([params, 'access', _441 => _441.context, 'optionalAccess', _442 => _442.customCells, 'optionalAccess', _443 => _443[field]]);
14594
14819
  if (customHandler) return customHandler({ t });
14595
14820
  return void 0;
14596
14821
  }).filter((col) => col !== void 0);
14597
- }, [params.fields, fieldColumnMap, t, generateUrl, _optionalChain([params, 'access', _427 => _427.context, 'optionalAccess', _428 => _428.customCells])]);
14822
+ }, [params.fields, fieldColumnMap, t, generateUrl, _optionalChain([params, 'access', _444 => _444.context, 'optionalAccess', _445 => _445.customCells])]);
14598
14823
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
14599
14824
  }, "useContentTableStructure");
14600
14825
 
@@ -14929,7 +15154,7 @@ function ContentTableSearch({ data }) {
14929
15154
  const handleSearchIconClick = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
14930
15155
  if (!isExpanded) {
14931
15156
  setIsFocused(true);
14932
- setTimeout(() => _optionalChain([inputRef, 'access', _429 => _429.current, 'optionalAccess', _430 => _430.focus, 'call', _431 => _431()]), 50);
15157
+ setTimeout(() => _optionalChain([inputRef, 'access', _446 => _446.current, 'optionalAccess', _447 => _447.focus, 'call', _448 => _448()]), 50);
14933
15158
  }
14934
15159
  }, "handleSearchIconClick");
14935
15160
  const handleBlur = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
@@ -15006,7 +15231,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15006
15231
  props.defaultExpanded === true ? true : typeof props.defaultExpanded === "object" ? props.defaultExpanded : {}
15007
15232
  );
15008
15233
  const { data: tableData, columns: tableColumns } = useTableGenerator(props.tableGeneratorType, {
15009
- data: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _432 => _432.data]), () => ( EMPTY_ARRAY)),
15234
+ data: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _449 => _449.data]), () => ( EMPTY_ARRAY)),
15010
15235
  fields,
15011
15236
  checkedIds,
15012
15237
  toggleId,
@@ -15039,7 +15264,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15039
15264
  });
15040
15265
  const rowModel = tableData ? table.getRowModel() : null;
15041
15266
  const groupedRows = _react.useMemo.call(void 0, () => {
15042
- if (!props.groupBy || !_optionalChain([rowModel, 'optionalAccess', _433 => _433.rows, 'optionalAccess', _434 => _434.length])) return null;
15267
+ if (!props.groupBy || !_optionalChain([rowModel, 'optionalAccess', _450 => _450.rows, 'optionalAccess', _451 => _451.length])) return null;
15043
15268
  const groupMap = /* @__PURE__ */ new Map();
15044
15269
  for (const row of rowModel.rows) {
15045
15270
  const keys = getGroupKeys(row.original, props.groupBy);
@@ -15095,10 +15320,10 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15095
15320
  ) }),
15096
15321
  table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: headerGroup.headers.map((header) => {
15097
15322
  const meta = header.column.columnDef.meta;
15098
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableHead, { className: _optionalChain([meta, 'optionalAccess', _435 => _435.className]), children: header.isPlaceholder ? null : _reacttable.flexRender.call(void 0, header.column.columnDef.header, header.getContext()) }, header.id);
15323
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableHead, { className: _optionalChain([meta, 'optionalAccess', _452 => _452.className]), children: header.isPlaceholder ? null : _reacttable.flexRender.call(void 0, header.column.columnDef.header, header.getContext()) }, header.id);
15099
15324
  }) }, headerGroup.id))
15100
15325
  ] }),
15101
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: rowModel && _optionalChain([rowModel, 'access', _436 => _436.rows, 'optionalAccess', _437 => _437.length]) ? groupedRows ? groupedRows.map((group) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React.default.Fragment, { children: [
15326
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: rowModel && _optionalChain([rowModel, 'access', _453 => _453.rows, 'optionalAccess', _454 => _454.length]) ? groupedRows ? groupedRows.map((group) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React.default.Fragment, { children: [
15102
15327
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15103
15328
  TableCell,
15104
15329
  {
@@ -15109,11 +15334,11 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15109
15334
  ) }),
15110
15335
  group.rows.map((row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: row.getVisibleCells().map((cell) => {
15111
15336
  const meta = cell.column.columnDef.meta;
15112
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _438 => _438.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
15337
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _455 => _455.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
15113
15338
  }) }, row.id))
15114
15339
  ] }, group.groupKey)) : rowModel.rows.map((row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: row.getVisibleCells().map((cell) => {
15115
15340
  const meta = cell.column.columnDef.meta;
15116
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _439 => _439.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
15341
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _456 => _456.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
15117
15342
  }) }, row.id)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { colSpan: tableColumns.length, className: "h-24 text-center", children: "No results." }) }) }),
15118
15343
  showFooter && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableFooter, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { colSpan: tableColumns.length, className: "bg-card py-4 text-right", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end space-x-2", children: [
15119
15344
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -15123,7 +15348,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15123
15348
  size: "sm",
15124
15349
  onClick: (e) => {
15125
15350
  e.preventDefault();
15126
- _optionalChain([data, 'access', _440 => _440.previous, 'optionalCall', _441 => _441(true)]);
15351
+ _optionalChain([data, 'access', _457 => _457.previous, 'optionalCall', _458 => _458(true)]);
15127
15352
  },
15128
15353
  disabled: !data.previous,
15129
15354
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" })
@@ -15137,7 +15362,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15137
15362
  size: "sm",
15138
15363
  onClick: (e) => {
15139
15364
  e.preventDefault();
15140
- _optionalChain([data, 'access', _442 => _442.next, 'optionalCall', _443 => _443(true)]);
15365
+ _optionalChain([data, 'access', _459 => _459.next, 'optionalCall', _460 => _460(true)]);
15141
15366
  },
15142
15367
  disabled: !data.next,
15143
15368
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" })
@@ -15158,7 +15383,7 @@ function ContentListGrid(props) {
15158
15383
  if (!data.next || !sentinelRef.current) return;
15159
15384
  const observer = new IntersectionObserver(
15160
15385
  (entries) => {
15161
- if (_optionalChain([entries, 'access', _444 => _444[0], 'optionalAccess', _445 => _445.isIntersecting])) _optionalChain([data, 'access', _446 => _446.next, 'optionalCall', _447 => _447()]);
15386
+ if (_optionalChain([entries, 'access', _461 => _461[0], 'optionalAccess', _462 => _462.isIntersecting])) _optionalChain([data, 'access', _463 => _463.next, 'optionalCall', _464 => _464()]);
15162
15387
  },
15163
15388
  { threshold: 0.1, rootMargin: "200px" }
15164
15389
  );
@@ -15908,7 +16133,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
15908
16133
  newDigits[index] = digit;
15909
16134
  setDigits(newDigits);
15910
16135
  if (digit && index < 5) {
15911
- _optionalChain([inputRefs, 'access', _448 => _448.current, 'access', _449 => _449[index + 1], 'optionalAccess', _450 => _450.focus, 'call', _451 => _451()]);
16136
+ _optionalChain([inputRefs, 'access', _465 => _465.current, 'access', _466 => _466[index + 1], 'optionalAccess', _467 => _467.focus, 'call', _468 => _468()]);
15912
16137
  }
15913
16138
  const code = newDigits.join("");
15914
16139
  if (code.length === 6 && newDigits.every((d) => d !== "")) {
@@ -15917,7 +16142,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
15917
16142
  }, "handleChange");
15918
16143
  const handleKeyDown = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (index, e) => {
15919
16144
  if (e.key === "Backspace" && !digits[index] && index > 0) {
15920
- _optionalChain([inputRefs, 'access', _452 => _452.current, 'access', _453 => _453[index - 1], 'optionalAccess', _454 => _454.focus, 'call', _455 => _455()]);
16145
+ _optionalChain([inputRefs, 'access', _469 => _469.current, 'access', _470 => _470[index - 1], 'optionalAccess', _471 => _471.focus, 'call', _472 => _472()]);
15921
16146
  }
15922
16147
  }, "handleKeyDown");
15923
16148
  const handlePaste = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (e) => {
@@ -15926,7 +16151,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
15926
16151
  if (pastedData.length === 6) {
15927
16152
  const newDigits = pastedData.split("");
15928
16153
  setDigits(newDigits);
15929
- _optionalChain([inputRefs, 'access', _456 => _456.current, 'access', _457 => _457[5], 'optionalAccess', _458 => _458.focus, 'call', _459 => _459()]);
16154
+ _optionalChain([inputRefs, 'access', _473 => _473.current, 'access', _474 => _474[5], 'optionalAccess', _475 => _475.focus, 'call', _476 => _476()]);
15930
16155
  onComplete(pastedData);
15931
16156
  }
15932
16157
  }, "handlePaste");
@@ -16137,8 +16362,8 @@ function PasskeySetupDialog({ open, onOpenChange, onSuccess }) {
16137
16362
  try {
16138
16363
  const registrationData = await _chunkXAWKRNYMjs.TwoFactorService.getPasskeyRegistrationOptions({
16139
16364
  id: _uuid.v4.call(void 0, ),
16140
- userName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _460 => _460.email]), () => ( "")),
16141
- userDisplayName: _optionalChain([currentUser, 'optionalAccess', _461 => _461.name])
16365
+ userName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _477 => _477.email]), () => ( "")),
16366
+ userDisplayName: _optionalChain([currentUser, 'optionalAccess', _478 => _478.name])
16142
16367
  });
16143
16368
  const credential = await _browser.startRegistration.call(void 0, { optionsJSON: registrationData.options });
16144
16369
  await _chunkXAWKRNYMjs.TwoFactorService.verifyPasskeyRegistration({
@@ -16289,7 +16514,7 @@ function TotpSetupDialog({ onSuccess, trigger }) {
16289
16514
  const setup = await _chunkXAWKRNYMjs.TwoFactorService.setupTotp({
16290
16515
  id: _uuid.v4.call(void 0, ),
16291
16516
  name: name.trim(),
16292
- accountName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _462 => _462.email]), () => ( ""))
16517
+ accountName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _479 => _479.email]), () => ( ""))
16293
16518
  });
16294
16519
  setQrCodeUri(setup.qrCodeUri);
16295
16520
  setAuthenticatorId(setup.authenticatorId);
@@ -16423,7 +16648,7 @@ function TwoFactorSettings() {
16423
16648
  if (isLoading) {
16424
16649
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardContent, { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground", children: t("common.loading") }) }) });
16425
16650
  }
16426
- const isEnabled = _nullishCoalesce(_optionalChain([status, 'optionalAccess', _463 => _463.isEnabled]), () => ( false));
16651
+ const isEnabled = _nullishCoalesce(_optionalChain([status, 'optionalAccess', _480 => _480.isEnabled]), () => ( false));
16427
16652
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Card, { children: [
16428
16653
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
16429
16654
  isEnabled ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ShieldCheck, { className: "h-6 w-6 text-green-600" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ShieldAlert, { className: "h-6 w-6 text-yellow-600" }),
@@ -16461,7 +16686,7 @@ function TwoFactorSettings() {
16461
16686
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-medium", children: t("auth.two_factor.backup_codes") }),
16462
16687
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-muted-foreground", children: t("auth.two_factor.backup_codes_description") })
16463
16688
  ] }),
16464
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BackupCodesDialog, { remainingCodes: _nullishCoalesce(_optionalChain([status, 'optionalAccess', _464 => _464.backupCodesCount]), () => ( 0)), onRegenerate: handleRefresh })
16689
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BackupCodesDialog, { remainingCodes: _nullishCoalesce(_optionalChain([status, 'optionalAccess', _481 => _481.backupCodesCount]), () => ( 0)), onRegenerate: handleRefresh })
16465
16690
  ] }) }),
16466
16691
  !isEnabled && (authenticators.length > 0 || passkeys.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16467
16692
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Separator, {}),
@@ -16639,9 +16864,9 @@ function AcceptInvitation() {
16639
16864
  });
16640
16865
  const onSubmit = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (values) => {
16641
16866
  try {
16642
- if (!_optionalChain([params, 'optionalAccess', _465 => _465.code])) return;
16867
+ if (!_optionalChain([params, 'optionalAccess', _482 => _482.code])) return;
16643
16868
  const payload = {
16644
- code: _optionalChain([params, 'optionalAccess', _466 => _466.code]),
16869
+ code: _optionalChain([params, 'optionalAccess', _483 => _483.code]),
16645
16870
  password: values.password
16646
16871
  };
16647
16872
  await _chunkXAWKRNYMjs.AuthService.acceptInvitation(payload);
@@ -16991,7 +17216,7 @@ function Logout({ storageKeys }) {
16991
17216
  const generateUrl = usePageUrlGenerator();
16992
17217
  _react.useEffect.call(void 0, () => {
16993
17218
  const logOut = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
16994
- if (_optionalChain([storageKeys, 'optionalAccess', _467 => _467.length])) {
17219
+ if (_optionalChain([storageKeys, 'optionalAccess', _484 => _484.length])) {
16995
17220
  clearClientStorage(storageKeys);
16996
17221
  }
16997
17222
  await _chunkXAWKRNYMjs.AuthService.logout();
@@ -17014,14 +17239,14 @@ function RefreshUser() {
17014
17239
  setUser(fullUser);
17015
17240
  const token = {
17016
17241
  userId: fullUser.id,
17017
- companyId: _optionalChain([fullUser, 'access', _468 => _468.company, 'optionalAccess', _469 => _469.id]),
17242
+ companyId: _optionalChain([fullUser, 'access', _485 => _485.company, 'optionalAccess', _486 => _486.id]),
17018
17243
  roles: fullUser.roles.map((role) => role.id),
17019
- features: _nullishCoalesce(_optionalChain([fullUser, 'access', _470 => _470.company, 'optionalAccess', _471 => _471.features, 'optionalAccess', _472 => _472.map, 'call', _473 => _473((feature) => feature.id)]), () => ( [])),
17244
+ features: _nullishCoalesce(_optionalChain([fullUser, 'access', _487 => _487.company, 'optionalAccess', _488 => _488.features, 'optionalAccess', _489 => _489.map, 'call', _490 => _490((feature) => feature.id)]), () => ( [])),
17020
17245
  modules: fullUser.modules.map((module) => {
17021
17246
  return { id: module.id, permissions: module.permissions };
17022
17247
  })
17023
17248
  };
17024
- await _optionalChain([_chunkXAWKRNYMjs.getTokenHandler.call(void 0, ), 'optionalAccess', _474 => _474.updateToken, 'call', _475 => _475(token)]);
17249
+ await _optionalChain([_chunkXAWKRNYMjs.getTokenHandler.call(void 0, ), 'optionalAccess', _491 => _491.updateToken, 'call', _492 => _492(token)]);
17025
17250
  _cookiesnext.deleteCookie.call(void 0, "reloadData");
17026
17251
  }
17027
17252
  }, "loadFullUser");
@@ -17085,9 +17310,9 @@ function ResetPassword() {
17085
17310
  });
17086
17311
  const onSubmit = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (values) => {
17087
17312
  try {
17088
- if (!_optionalChain([params, 'optionalAccess', _476 => _476.code])) return;
17313
+ if (!_optionalChain([params, 'optionalAccess', _493 => _493.code])) return;
17089
17314
  const payload = {
17090
- code: _optionalChain([params, 'optionalAccess', _477 => _477.code]),
17315
+ code: _optionalChain([params, 'optionalAccess', _494 => _494.code]),
17091
17316
  password: values.password
17092
17317
  };
17093
17318
  await _chunkXAWKRNYMjs.AuthService.resetPassword(payload);
@@ -17436,7 +17661,7 @@ function extractHeadings(blocks) {
17436
17661
  function processBlocks(blockArray) {
17437
17662
  for (const block of blockArray) {
17438
17663
  if (block.type === "heading") {
17439
- const level = _optionalChain([block, 'access', _478 => _478.props, 'optionalAccess', _479 => _479.level]) || 1;
17664
+ const level = _optionalChain([block, 'access', _495 => _495.props, 'optionalAccess', _496 => _496.level]) || 1;
17440
17665
  const text = extractTextFromContent(block.content);
17441
17666
  if (text.trim()) {
17442
17667
  headings.push({
@@ -17779,7 +18004,7 @@ var useHowToTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
17779
18004
  })
17780
18005
  };
17781
18006
  const columns = _react.useMemo.call(void 0, () => {
17782
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _480 => _480[field], 'optionalCall', _481 => _481()])).filter((col) => col !== void 0);
18007
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _497 => _497[field], 'optionalCall', _498 => _498()])).filter((col) => col !== void 0);
17783
18008
  }, [params.fields, fieldColumnMap, t, generateUrl]);
17784
18009
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
17785
18010
  }, "useHowToTableStructure");
@@ -17845,7 +18070,7 @@ function HowToMultiSelector({
17845
18070
  retriever: (params) => _chunkXAWKRNYMjs.HowToService.findMany(params),
17846
18071
  module: _chunkXAWKRNYMjs.Modules.HowTo,
17847
18072
  getLabel: (howTo) => howTo.name,
17848
- excludeId: _optionalChain([currentHowTo, 'optionalAccess', _482 => _482.id]),
18073
+ excludeId: _optionalChain([currentHowTo, 'optionalAccess', _499 => _499.id]),
17849
18074
  onChange
17850
18075
  }
17851
18076
  );
@@ -17910,7 +18135,7 @@ function HowToSelector({
17910
18135
  }, "setHowTo");
17911
18136
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FormFieldWrapper, { form, name: id, label, isRequired, children: (field) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Popover, { open, onOpenChange: setOpen, modal: true, children: [
17912
18137
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between", children: [
17913
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-row items-center justify-start rounded-md", children: field.value ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _483 => _483.value, 'optionalAccess', _484 => _484.name]), () => ( "")) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input text-muted-foreground flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: _nullishCoalesce(placeholder, () => ( t(`generic.search.placeholder`, { type: t(`entities.howtos`, { count: 1 }) }))) }) }) }),
18138
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-row items-center justify-start rounded-md", children: field.value ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _500 => _500.value, 'optionalAccess', _501 => _501.name]), () => ( "")) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input text-muted-foreground flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: _nullishCoalesce(placeholder, () => ( t(`generic.search.placeholder`, { type: t(`entities.howtos`, { count: 1 }) }))) }) }) }),
17914
18139
  field.value && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17915
18140
  _lucidereact.CircleX,
17916
18141
  {
@@ -18194,7 +18419,7 @@ function ReferencesTab({ references }) {
18194
18419
  let module;
18195
18420
  try {
18196
18421
  module = _chunkXAWKRNYMjs.ModuleRegistry.findByName(ref.type);
18197
- } catch (e8) {
18422
+ } catch (e9) {
18198
18423
  return null;
18199
18424
  }
18200
18425
  const href = generate({ page: module, id: ref.id });
@@ -18265,9 +18490,9 @@ function CitationsTab({ citations, sources }) {
18265
18490
  ] }) }),
18266
18491
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: sorted.map((chunk) => {
18267
18492
  const isOpen = expanded.has(chunk.id);
18268
- const resolved = chunk.nodeId ? _optionalChain([sources, 'optionalAccess', _485 => _485.get, 'call', _486 => _486(chunk.nodeId)]) : void 0;
18493
+ const resolved = chunk.nodeId ? _optionalChain([sources, 'optionalAccess', _502 => _502.get, 'call', _503 => _503(chunk.nodeId)]) : void 0;
18269
18494
  const fallbackName = chunk.nodeId ? `${_nullishCoalesce(chunk.nodeType, () => ( t("features.assistant.message.sources.source")))} ${chunk.nodeId.slice(0, 8)}` : _nullishCoalesce(chunk.nodeType, () => ( t("features.assistant.message.sources.source")));
18270
- const sourceName = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _487 => _487.name]), () => ( fallbackName));
18495
+ const sourceName = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _504 => _504.name]), () => ( fallbackName));
18271
18496
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
18272
18497
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, TableRow, { children: [
18273
18498
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -18314,7 +18539,7 @@ function ContentsTab({ citations, sources }) {
18314
18539
  for (const c of citations) {
18315
18540
  const id = c.nodeId;
18316
18541
  if (!id) continue;
18317
- const source = _optionalChain([sources, 'optionalAccess', _488 => _488.get, 'call', _489 => _489(id)]);
18542
+ const source = _optionalChain([sources, 'optionalAccess', _505 => _505.get, 'call', _506 => _506(id)]);
18318
18543
  if (!source) continue;
18319
18544
  const existing = map.get(id);
18320
18545
  if (existing) {
@@ -18337,7 +18562,7 @@ function ContentsTab({ citations, sources }) {
18337
18562
  let module;
18338
18563
  try {
18339
18564
  module = _chunkXAWKRNYMjs.ModuleRegistry.findByName(source.type);
18340
- } catch (e9) {
18565
+ } catch (e10) {
18341
18566
  return null;
18342
18567
  }
18343
18568
  const href = generate({ page: module, id: source.id });
@@ -18369,7 +18594,7 @@ function readAuthor(source) {
18369
18594
  try {
18370
18595
  const a = source.author;
18371
18596
  return a && a.id ? a : void 0;
18372
- } catch (e10) {
18597
+ } catch (e11) {
18373
18598
  return void 0;
18374
18599
  }
18375
18600
  }
@@ -18379,7 +18604,7 @@ function UsersTab({ users, citations, sources }) {
18379
18604
  const generate = usePageUrlGenerator();
18380
18605
  const userMap = /* @__PURE__ */ new Map();
18381
18606
  for (const u of users) {
18382
- if (!_optionalChain([u, 'optionalAccess', _490 => _490.id])) continue;
18607
+ if (!_optionalChain([u, 'optionalAccess', _507 => _507.id])) continue;
18383
18608
  userMap.set(u.id, { user: u, contentCount: 0, citationCount: 0 });
18384
18609
  }
18385
18610
  if (citations && sources) {
@@ -18412,7 +18637,7 @@ function UsersTab({ users, citations, sources }) {
18412
18637
  let module;
18413
18638
  try {
18414
18639
  module = _chunkXAWKRNYMjs.ModuleRegistry.findByName(user.type);
18415
- } catch (e11) {
18640
+ } catch (e12) {
18416
18641
  return null;
18417
18642
  }
18418
18643
  const href = generate({ page: module, id: user.id });
@@ -18466,7 +18691,7 @@ function MessageSourcesPanel({ message, isLatestAssistant, onSelectFollowUp, sou
18466
18691
  () => message.references.filter((ref) => {
18467
18692
  try {
18468
18693
  return !!_chunkXAWKRNYMjs.ModuleRegistry.findByName(ref.type).pageUrl;
18469
- } catch (e12) {
18694
+ } catch (e13) {
18470
18695
  return false;
18471
18696
  }
18472
18697
  }),
@@ -18483,7 +18708,7 @@ function MessageSourcesPanel({ message, isLatestAssistant, onSelectFollowUp, sou
18483
18708
  }
18484
18709
  return ids.size;
18485
18710
  }, [message.citations, sources]);
18486
- const usersCount = _nullishCoalesce(_optionalChain([users, 'optionalAccess', _491 => _491.length]), () => ( 0));
18711
+ const usersCount = _nullishCoalesce(_optionalChain([users, 'optionalAccess', _508 => _508.length]), () => ( 0));
18487
18712
  const total = refsCount + citationsCount + contentsCount + usersCount + suggestionsCount;
18488
18713
  const visibleTabs = [];
18489
18714
  if (suggestionsCount > 0) visibleTabs.push("suggested");
@@ -18542,8 +18767,8 @@ var SourcesFetcher = class extends _chunkXAWKRNYMjs.ClientAbstractService {
18542
18767
  static async findManyByIds(params) {
18543
18768
  const endpoint = new (0, _chunkXAWKRNYMjs.EndpointCreator)({ endpoint: params.module });
18544
18769
  endpoint.addAdditionalParam(params.idsParam, params.ids.join(","));
18545
- if (_optionalChain([params, 'access', _492 => _492.module, 'access', _493 => _493.inclusions, 'optionalAccess', _494 => _494.lists, 'optionalAccess', _495 => _495.fields])) endpoint.limitToFields(params.module.inclusions.lists.fields);
18546
- if (_optionalChain([params, 'access', _496 => _496.module, 'access', _497 => _497.inclusions, 'optionalAccess', _498 => _498.lists, 'optionalAccess', _499 => _499.types])) endpoint.limitToType(params.module.inclusions.lists.types);
18770
+ if (_optionalChain([params, 'access', _509 => _509.module, 'access', _510 => _510.inclusions, 'optionalAccess', _511 => _511.lists, 'optionalAccess', _512 => _512.fields])) endpoint.limitToFields(params.module.inclusions.lists.fields);
18771
+ if (_optionalChain([params, 'access', _513 => _513.module, 'access', _514 => _514.inclusions, 'optionalAccess', _515 => _515.lists, 'optionalAccess', _516 => _516.types])) endpoint.limitToType(params.module.inclusions.lists.types);
18547
18772
  return this.callApi({
18548
18773
  type: params.module,
18549
18774
  method: "GET" /* GET */,
@@ -18584,7 +18809,7 @@ function MessageSourcesContainer({ message, isLatestAssistant, onSelectFollowUp
18584
18809
  let module;
18585
18810
  try {
18586
18811
  module = _chunkXAWKRNYMjs.ModuleRegistry.findByModelName(nodeType);
18587
- } catch (e13) {
18812
+ } catch (e14) {
18588
18813
  continue;
18589
18814
  }
18590
18815
  const idsParam = `${_nullishCoalesce(module.nodeName, () => ( module.name.replace(/s$/, "")))}Ids`;
@@ -18618,11 +18843,11 @@ function MessageSourcesContainer({ message, isLatestAssistant, onSelectFollowUp
18618
18843
  const author = _nullishCoalesce(entity._author, () => ( (() => {
18619
18844
  try {
18620
18845
  return entity.author;
18621
- } catch (e14) {
18846
+ } catch (e15) {
18622
18847
  return void 0;
18623
18848
  }
18624
18849
  })()));
18625
- if (_optionalChain([author, 'optionalAccess', _500 => _500.id])) userMap.set(author.id, author);
18850
+ if (_optionalChain([author, 'optionalAccess', _517 => _517.id])) userMap.set(author.id, author);
18626
18851
  }
18627
18852
  return Array.from(userMap.values());
18628
18853
  }, [resolved]);
@@ -18644,14 +18869,14 @@ _chunk7QVYU63Ejs.__name.call(void 0, MessageSourcesContainer, "MessageSourcesCon
18644
18869
  function MessageItem({ message, isLatestAssistant, onSelectFollowUp, failedMessageIds, onRetry }) {
18645
18870
  const t = _nextintl.useTranslations.call(void 0, );
18646
18871
  const isUser = message.role === "user";
18647
- const isFailed = isUser && !!_optionalChain([failedMessageIds, 'optionalAccess', _501 => _501.has, 'call', _502 => _502(message.id)]);
18872
+ const isFailed = isUser && !!_optionalChain([failedMessageIds, 'optionalAccess', _518 => _518.has, 'call', _519 => _519(message.id)]);
18648
18873
  if (isUser) {
18649
18874
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-end gap-1", children: [
18650
18875
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-primary text-primary-foreground max-w-[72%] rounded-2xl rounded-br-sm px-3.5 py-2 text-sm", children: message.content }),
18651
18876
  isFailed && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-destructive flex items-center gap-2 text-xs", children: [
18652
18877
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertCircle, { className: "h-3.5 w-3.5" }),
18653
18878
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: t("features.assistant.send_failed") }),
18654
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", className: "underline", onClick: () => _optionalChain([onRetry, 'optionalCall', _503 => _503(message.id)]), children: t("features.assistant.retry") })
18879
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", className: "underline", onClick: () => _optionalChain([onRetry, 'optionalCall', _520 => _520(message.id)]), children: t("features.assistant.retry") })
18655
18880
  ] })
18656
18881
  ] });
18657
18882
  }
@@ -18717,7 +18942,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, AssistantStatusLine, "AssistantStatusLine")
18717
18942
  function AssistantThread({ messages, sending, status, onSelectFollowUp, failedMessageIds, onRetry }) {
18718
18943
  const endRef = _react.useRef.call(void 0, null);
18719
18944
  _react.useEffect.call(void 0, () => {
18720
- _optionalChain([endRef, 'access', _504 => _504.current, 'optionalAccess', _505 => _505.scrollIntoView, 'call', _506 => _506({ behavior: "smooth" })]);
18945
+ _optionalChain([endRef, 'access', _521 => _521.current, 'optionalAccess', _522 => _522.scrollIntoView, 'call', _523 => _523({ behavior: "smooth" })]);
18721
18946
  }, [messages.length, sending]);
18722
18947
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 overflow-x-hidden overflow-y-auto px-6 py-5", children: [
18723
18948
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18745,7 +18970,7 @@ function AssistantContainer() {
18745
18970
  AssistantSidebar,
18746
18971
  {
18747
18972
  threads: ctx.threads,
18748
- activeId: _optionalChain([ctx, 'access', _507 => _507.assistant, 'optionalAccess', _508 => _508.id]),
18973
+ activeId: _optionalChain([ctx, 'access', _524 => _524.assistant, 'optionalAccess', _525 => _525.id]),
18749
18974
  onSelect: ctx.selectThread,
18750
18975
  onNew: ctx.startNew
18751
18976
  }
@@ -18838,14 +19063,14 @@ function NotificationsList({ archived }) {
18838
19063
  ] }),
18839
19064
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Skeleton, { className: "h-8 w-20" })
18840
19065
  ] }) }) }, i)) }), "LoadingSkeleton");
18841
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: data.isLoaded ? _optionalChain([data, 'access', _509 => _509.data, 'optionalAccess', _510 => _510.map, 'call', _511 => _511((notification) => {
19066
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: data.isLoaded ? _optionalChain([data, 'access', _526 => _526.data, 'optionalAccess', _527 => _527.map, 'call', _528 => _528((notification) => {
18842
19067
  const notificationData = generateNotificationData({ notification, generateUrl });
18843
19068
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardContent, { className: "p-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex w-full flex-row items-center p-2`, children: [
18844
19069
  notificationData.actor ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-12 max-w-12 px-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Link, { href: generateUrl({ page: _chunkXAWKRNYMjs.Modules.User, id: notificationData.actor.id }), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserAvatar, { user: notificationData.actor, className: "h-8 w-8" }) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-14 max-w-14 px-2" }),
18845
19070
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
18846
19071
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
18847
19072
  strong: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (chunks) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: chunks }), "strong"),
18848
- actor: _nullishCoalesce(_optionalChain([notificationData, 'access', _512 => _512.actor, 'optionalAccess', _513 => _513.name]), () => ( "")),
19073
+ actor: _nullishCoalesce(_optionalChain([notificationData, 'access', _529 => _529.actor, 'optionalAccess', _530 => _530.name]), () => ( "")),
18849
19074
  title: notificationData.title
18850
19075
  }) }),
18851
19076
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground mt-1 w-full text-xs", children: new Date(notification.createdAt).toLocaleString() })
@@ -19195,7 +19420,7 @@ var DEFAULT_TRANSLATIONS = {
19195
19420
  invalidEmail: "Please enter a valid email address"
19196
19421
  };
19197
19422
  async function copyToClipboard(text) {
19198
- if (_optionalChain([navigator, 'access', _514 => _514.clipboard, 'optionalAccess', _515 => _515.writeText])) {
19423
+ if (_optionalChain([navigator, 'access', _531 => _531.clipboard, 'optionalAccess', _532 => _532.writeText])) {
19199
19424
  try {
19200
19425
  await navigator.clipboard.writeText(text);
19201
19426
  return true;
@@ -19237,7 +19462,7 @@ function ReferralWidget({
19237
19462
  const linkInputRef = _react.useRef.call(void 0, null);
19238
19463
  const config = _chunkSE5HIHJSjs.getReferralConfig.call(void 0, );
19239
19464
  const baseUrl = config.referralUrlBase || (typeof window !== "undefined" ? window.location.origin : "");
19240
- const referralUrl = _optionalChain([stats, 'optionalAccess', _516 => _516.referralCode]) ? `${baseUrl}${config.referralPath}?${config.urlParamName}=${stats.referralCode}` : "";
19465
+ const referralUrl = _optionalChain([stats, 'optionalAccess', _533 => _533.referralCode]) ? `${baseUrl}${config.referralPath}?${config.urlParamName}=${stats.referralCode}` : "";
19241
19466
  if (!_chunkSE5HIHJSjs.isReferralEnabled.call(void 0, )) {
19242
19467
  return null;
19243
19468
  }
@@ -19247,7 +19472,7 @@ function ReferralWidget({
19247
19472
  if (success) {
19248
19473
  setCopied(true);
19249
19474
  _chunkXAWKRNYMjs.showToast.call(void 0, t.copiedMessage);
19250
- _optionalChain([onLinkCopied, 'optionalCall', _517 => _517()]);
19475
+ _optionalChain([onLinkCopied, 'optionalCall', _534 => _534()]);
19251
19476
  setTimeout(() => setCopied(false), 2e3);
19252
19477
  } else {
19253
19478
  _chunkXAWKRNYMjs.showError.call(void 0, t.copyError);
@@ -19261,12 +19486,12 @@ function ReferralWidget({
19261
19486
  try {
19262
19487
  await sendInvite(email);
19263
19488
  _chunkXAWKRNYMjs.showToast.call(void 0, t.inviteSent);
19264
- _optionalChain([onInviteSent, 'optionalCall', _518 => _518(email)]);
19489
+ _optionalChain([onInviteSent, 'optionalCall', _535 => _535(email)]);
19265
19490
  setEmail("");
19266
19491
  } catch (err) {
19267
19492
  const error2 = err instanceof Error ? err : new Error(t.inviteError);
19268
19493
  _chunkXAWKRNYMjs.showError.call(void 0, error2.message);
19269
- _optionalChain([onInviteError, 'optionalCall', _519 => _519(error2)]);
19494
+ _optionalChain([onInviteError, 'optionalCall', _536 => _536(error2)]);
19270
19495
  }
19271
19496
  }, [email, sendInvite, t.inviteSent, t.inviteError, t.invalidEmail, onInviteSent, onInviteError]);
19272
19497
  const handleEmailKeyDown = _react.useCallback.call(void 0,
@@ -19674,7 +19899,7 @@ function isValidRedirectUri(uri) {
19674
19899
  try {
19675
19900
  new URL(uri);
19676
19901
  return true;
19677
- } catch (e15) {
19902
+ } catch (e16) {
19678
19903
  return false;
19679
19904
  }
19680
19905
  }
@@ -20020,7 +20245,7 @@ function OAuthClientList({
20020
20245
  OAuthClientCard,
20021
20246
  {
20022
20247
  client,
20023
- onClick: () => _optionalChain([onClientClick, 'optionalCall', _520 => _520(client)]),
20248
+ onClick: () => _optionalChain([onClientClick, 'optionalCall', _537 => _537(client)]),
20024
20249
  onEdit: onEditClick ? () => onEditClick(client) : void 0,
20025
20250
  onDelete: onDeleteClick ? () => onDeleteClick(client) : void 0
20026
20251
  },
@@ -20036,11 +20261,11 @@ _chunk7QVYU63Ejs.__name.call(void 0, OAuthClientList, "OAuthClientList");
20036
20261
  function OAuthClientForm({ client, onSubmit, onCancel, isLoading = false }) {
20037
20262
  const isEditMode = !!client;
20038
20263
  const [formState, setFormState] = _react.useState.call(void 0, {
20039
- name: _optionalChain([client, 'optionalAccess', _521 => _521.name]) || "",
20040
- description: _optionalChain([client, 'optionalAccess', _522 => _522.description]) || "",
20041
- redirectUris: _optionalChain([client, 'optionalAccess', _523 => _523.redirectUris, 'optionalAccess', _524 => _524.length]) ? client.redirectUris : [""],
20042
- allowedScopes: _optionalChain([client, 'optionalAccess', _525 => _525.allowedScopes]) || [],
20043
- isConfidential: _nullishCoalesce(_optionalChain([client, 'optionalAccess', _526 => _526.isConfidential]), () => ( true))
20264
+ name: _optionalChain([client, 'optionalAccess', _538 => _538.name]) || "",
20265
+ description: _optionalChain([client, 'optionalAccess', _539 => _539.description]) || "",
20266
+ redirectUris: _optionalChain([client, 'optionalAccess', _540 => _540.redirectUris, 'optionalAccess', _541 => _541.length]) ? client.redirectUris : [""],
20267
+ allowedScopes: _optionalChain([client, 'optionalAccess', _542 => _542.allowedScopes]) || [],
20268
+ isConfidential: _nullishCoalesce(_optionalChain([client, 'optionalAccess', _543 => _543.isConfidential]), () => ( true))
20044
20269
  });
20045
20270
  const [errors, setErrors] = _react.useState.call(void 0, {});
20046
20271
  const validate = _react.useCallback.call(void 0, () => {
@@ -20268,7 +20493,7 @@ function OAuthClientDetail({
20268
20493
  ] }),
20269
20494
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
20270
20495
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Label, { children: "Allowed Scopes" }),
20271
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2", children: client.allowedScopes.map((scope) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Badge, { variant: "secondary", children: _optionalChain([_chunkXAWKRNYMjs.OAUTH_SCOPE_DISPLAY, 'access', _527 => _527[scope], 'optionalAccess', _528 => _528.name]) || scope }, scope)) })
20496
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2", children: client.allowedScopes.map((scope) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Badge, { variant: "secondary", children: _optionalChain([_chunkXAWKRNYMjs.OAUTH_SCOPE_DISPLAY, 'access', _544 => _544[scope], 'optionalAccess', _545 => _545.name]) || scope }, scope)) })
20272
20497
  ] }),
20273
20498
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
20274
20499
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Label, { children: "Grant Types" }),
@@ -20412,7 +20637,7 @@ function OAuthConsentScreen({
20412
20637
  if (error || !clientInfo) {
20413
20638
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-screen flex items-center justify-center p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Card, { className: "w-full max-w-md", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardContent, { className: "py-8", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Alert, { variant: "destructive", children: [
20414
20639
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertTriangle, { className: "h-4 w-4" }),
20415
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDescription, { children: _optionalChain([error, 'optionalAccess', _529 => _529.message]) || "Invalid authorization request. Please try again." })
20640
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDescription, { children: _optionalChain([error, 'optionalAccess', _546 => _546.message]) || "Invalid authorization request. Please try again." })
20416
20641
  ] }) }) }) });
20417
20642
  }
20418
20643
  const { client, scopes } = clientInfo;
@@ -20628,7 +20853,7 @@ function WaitlistForm({ onSuccess }) {
20628
20853
  questionnaire: values.questionnaire
20629
20854
  });
20630
20855
  setIsSuccess(true);
20631
- _optionalChain([onSuccess, 'optionalCall', _530 => _530()]);
20856
+ _optionalChain([onSuccess, 'optionalCall', _547 => _547()]);
20632
20857
  } catch (e) {
20633
20858
  errorToast({ error: e });
20634
20859
  } finally {
@@ -20786,7 +21011,7 @@ function parseQuestionnaire(questionnaire) {
20786
21011
  if (!questionnaire) return null;
20787
21012
  try {
20788
21013
  return JSON.parse(questionnaire);
20789
- } catch (e16) {
21014
+ } catch (e17) {
20790
21015
  return null;
20791
21016
  }
20792
21017
  }
@@ -21266,7 +21491,7 @@ var ModuleEditor = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs.__n
21266
21491
  ] }),
21267
21492
  roleIds.map((roleId) => {
21268
21493
  const roleTokens = block[roleId];
21269
- const roleLabel = _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _531 => _531[roleId]]), () => ( roleId));
21494
+ const roleLabel = _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _548 => _548[roleId]]), () => ( roleId));
21270
21495
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "tr", { className: "border-b last:border-b-0", children: [
21271
21496
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-4 py-1 text-xs font-medium text-muted-foreground", children: roleLabel }),
21272
21497
  _chunkSE5HIHJSjs.ACTION_TYPES.map((action) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-2 py-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -21303,7 +21528,7 @@ function RbacContainer() {
21303
21528
  }, []);
21304
21529
  const sortedModuleIds = _react.useMemo.call(void 0, () => {
21305
21530
  if (!matrix) return [];
21306
- return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _532 => _532[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _533 => _533[b]]), () => ( b))));
21531
+ return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _549 => _549[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _550 => _550[b]]), () => ( b))));
21307
21532
  }, [matrix, moduleNames]);
21308
21533
  const roleIds = _react.useMemo.call(void 0, () => {
21309
21534
  if (roleNames) {
@@ -21366,7 +21591,7 @@ function RbacContainer() {
21366
21591
  id === selectedModuleId && "bg-muted font-medium text-foreground",
21367
21592
  id !== selectedModuleId && "text-muted-foreground"
21368
21593
  ),
21369
- children: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _534 => _534[id]]), () => ( id))
21594
+ children: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _551 => _551[id]]), () => ( id))
21370
21595
  }
21371
21596
  ) }, id)) }) }),
21372
21597
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "section", { className: "flex-1 overflow-y-auto p-4", children: selectedModuleId && selectedBlock ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -21374,7 +21599,7 @@ function RbacContainer() {
21374
21599
  {
21375
21600
  moduleId: selectedModuleId,
21376
21601
  block: selectedBlock,
21377
- moduleLabel: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _535 => _535[selectedModuleId]]), () => ( selectedModuleId)),
21602
+ moduleLabel: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _552 => _552[selectedModuleId]]), () => ( selectedModuleId)),
21378
21603
  roleIds,
21379
21604
  roleNames,
21380
21605
  onOpenPicker: openPicker
@@ -21385,12 +21610,12 @@ function RbacContainer() {
21385
21610
  RbacPermissionPicker,
21386
21611
  {
21387
21612
  open: !!activePicker,
21388
- anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _536 => _536.anchor]), () => ( null)),
21613
+ anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _553 => _553.anchor]), () => ( null)),
21389
21614
  value: activeValue,
21390
- isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _537 => _537.isRoleColumn]), () => ( false)),
21615
+ isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _554 => _554.isRoleColumn]), () => ( false)),
21391
21616
  knownSegments: activeSegments,
21392
21617
  onSetValue: handleSetValue,
21393
- onClear: _optionalChain([activePicker, 'optionalAccess', _538 => _538.isRoleColumn]) ? handleClear : void 0,
21618
+ onClear: _optionalChain([activePicker, 'optionalAccess', _555 => _555.isRoleColumn]) ? handleClear : void 0,
21394
21619
  onClose: closePicker
21395
21620
  }
21396
21621
  )
@@ -21457,7 +21682,7 @@ function RbacByRoleContainer() {
21457
21682
  }, [roleNames]);
21458
21683
  const sortedModuleIds = _react.useMemo.call(void 0, () => {
21459
21684
  if (!matrix) return [];
21460
- return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _539 => _539[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _540 => _540[b]]), () => ( b))));
21685
+ return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _556 => _556[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _557 => _557[b]]), () => ( b))));
21461
21686
  }, [matrix, moduleNames]);
21462
21687
  _react.useEffect.call(void 0, () => {
21463
21688
  if (!selectedRoleId && sortedRoleIds.length > 0) {
@@ -21506,7 +21731,7 @@ function RbacByRoleContainer() {
21506
21731
  id === selectedRoleId && "bg-muted font-medium text-foreground",
21507
21732
  id !== selectedRoleId && "text-muted-foreground"
21508
21733
  ),
21509
- children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _541 => _541[id]]), () => ( id))
21734
+ children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _558 => _558[id]]), () => ( id))
21510
21735
  }
21511
21736
  ) }, id)) }) }),
21512
21737
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "section", { className: "flex-1 overflow-y-auto p-4", children: sortedModuleIds.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-accent bg-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "table", { className: "w-full text-sm", children: [
@@ -21526,7 +21751,7 @@ function RbacByRoleContainer() {
21526
21751
  if (!block) return null;
21527
21752
  const defaultTokens = _nullishCoalesce(block.default, () => ( []));
21528
21753
  const roleTokens = block[selectedRoleId];
21529
- const moduleLabel = _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _542 => _542[moduleId]]), () => ( moduleId));
21754
+ const moduleLabel = _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _559 => _559[moduleId]]), () => ( moduleId));
21530
21755
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
21531
21756
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { className: "border-b bg-muted/40", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21532
21757
  "td",
@@ -21541,7 +21766,7 @@ function RbacByRoleContainer() {
21541
21766
  _chunkSE5HIHJSjs.ACTION_TYPES.map((action) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-2 py-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RbacPermissionCell, { value: cellValue2(defaultTokens, action) }) }, action))
21542
21767
  ] }),
21543
21768
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "tr", { className: "border-b last:border-b-0", children: [
21544
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-4 py-1 text-xs font-medium text-muted-foreground", children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _543 => _543[selectedRoleId]]), () => ( selectedRoleId)) }),
21769
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-4 py-1 text-xs font-medium text-muted-foreground", children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _560 => _560[selectedRoleId]]), () => ( selectedRoleId)) }),
21545
21770
  _chunkSE5HIHJSjs.ACTION_TYPES.map((action) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-2 py-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21546
21771
  CellButton3,
21547
21772
  {
@@ -21562,12 +21787,12 @@ function RbacByRoleContainer() {
21562
21787
  RbacPermissionPicker,
21563
21788
  {
21564
21789
  open: !!activePicker,
21565
- anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _544 => _544.anchor]), () => ( null)),
21790
+ anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _561 => _561.anchor]), () => ( null)),
21566
21791
  value: activeValue,
21567
- isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _545 => _545.isRoleColumn]), () => ( false)),
21792
+ isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _562 => _562.isRoleColumn]), () => ( false)),
21568
21793
  knownSegments: activeSegments,
21569
21794
  onSetValue: handleSetValue,
21570
- onClear: _optionalChain([activePicker, 'optionalAccess', _546 => _546.isRoleColumn]) ? handleClear : void 0,
21795
+ onClear: _optionalChain([activePicker, 'optionalAccess', _563 => _563.isRoleColumn]) ? handleClear : void 0,
21571
21796
  onClose: closePicker
21572
21797
  }
21573
21798
  )
@@ -22087,5 +22312,6 @@ _chunk7QVYU63Ejs.__name.call(void 0, RbacByRoleContainer, "RbacByRoleContainer")
22087
22312
 
22088
22313
 
22089
22314
 
22090
- exports.JsonApiProvider = JsonApiProvider; exports.useJsonApiGet = useJsonApiGet; exports.useJsonApiMutation = useJsonApiMutation; exports.useRehydration = useRehydration; exports.useRehydrationList = useRehydrationList; exports.TableGeneratorRegistry = TableGeneratorRegistry; exports.tableGeneratorRegistry = tableGeneratorRegistry; exports.usePageUrlGenerator = usePageUrlGenerator; exports.useUrlRewriter = useUrlRewriter; exports.useDataListRetriever = useDataListRetriever; exports.useDebounce = useDebounce2; exports.registerTableGenerator = registerTableGenerator; exports.useTableGenerator = useTableGenerator; exports.useCustomD3Graph = useCustomD3Graph; exports.SocketContext = SocketContext; exports.SocketProvider = SocketProvider; exports.useSocketContext = useSocketContext; exports.CurrentUserProvider = CurrentUserProvider; exports.useCurrentUserContext = useCurrentUserContext; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AlertAction = AlertAction; exports.buttonVariants = buttonVariants; exports.Button = Button; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogMedia = AlertDialogMedia; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.Avatar = Avatar; exports.AvatarImage = AvatarImage; exports.AvatarFallback = AvatarFallback; exports.AvatarBadge = AvatarBadge; exports.AvatarGroup = AvatarGroup; exports.AvatarGroupCount = AvatarGroupCount; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.Calendar = Calendar; exports.CalendarDayButton = CalendarDayButton; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardAction = CardAction; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.useCarousel = useCarousel; exports.Carousel = Carousel; exports.CarouselContent = CarouselContent; exports.CarouselItem = CarouselItem; exports.CarouselPrevious = CarouselPrevious; exports.CarouselNext = CarouselNext; exports.ChartContainer = ChartContainer; exports.ChartStyle = ChartStyle; exports.ChartTooltip = ChartTooltip; exports.ChartTooltipContent = ChartTooltipContent; exports.ChartLegend = ChartLegend; exports.ChartLegendContent = ChartLegendContent; exports.Checkbox = Checkbox; exports.Collapsible = Collapsible; exports.CollapsibleTrigger = CollapsibleTrigger; exports.CollapsibleContent = CollapsibleContent; exports.Input = Input; exports.Textarea = Textarea; exports.InputGroup = InputGroup; exports.InputGroupAddon = InputGroupAddon; exports.InputGroupButton = InputGroupButton; exports.InputGroupText = InputGroupText; exports.InputGroupInput = InputGroupInput; exports.InputGroupTextarea = InputGroupTextarea; exports.Combobox = Combobox; exports.ComboboxValue = ComboboxValue; exports.ComboboxTrigger = ComboboxTrigger; exports.ComboboxInput = ComboboxInput; exports.ComboboxContent = ComboboxContent; exports.ComboboxList = ComboboxList; exports.ComboboxItem = ComboboxItem; exports.ComboboxGroup = ComboboxGroup; exports.ComboboxLabel = ComboboxLabel; exports.ComboboxCollection = ComboboxCollection; exports.ComboboxEmpty = ComboboxEmpty; exports.ComboboxSeparator = ComboboxSeparator; exports.ComboboxChips = ComboboxChips; exports.ComboboxChip = ComboboxChip; exports.ComboboxChipsInput = ComboboxChipsInput; exports.useComboboxAnchor = useComboboxAnchor; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.Command = Command; exports.CommandDialog = CommandDialog; exports.CommandInput = CommandInput; exports.CommandList = CommandList; exports.CommandEmpty = CommandEmpty; exports.CommandGroup = CommandGroup; exports.CommandSeparator = CommandSeparator; exports.CommandItem = CommandItem; exports.CommandShortcut = CommandShortcut; exports.ContextMenu = ContextMenu; exports.ContextMenuPortal = ContextMenuPortal; exports.ContextMenuTrigger = ContextMenuTrigger; exports.ContextMenuContent = ContextMenuContent; exports.ContextMenuGroup = ContextMenuGroup; exports.ContextMenuLabel = ContextMenuLabel; exports.ContextMenuItem = ContextMenuItem; exports.ContextMenuSub = ContextMenuSub; exports.ContextMenuSubTrigger = ContextMenuSubTrigger; exports.ContextMenuSubContent = ContextMenuSubContent; exports.ContextMenuCheckboxItem = ContextMenuCheckboxItem; exports.ContextMenuRadioGroup = ContextMenuRadioGroup; exports.ContextMenuRadioItem = ContextMenuRadioItem; exports.ContextMenuSeparator = ContextMenuSeparator; exports.ContextMenuShortcut = ContextMenuShortcut; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerPortal = DrawerPortal; exports.DrawerClose = DrawerClose; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerFooter = DrawerFooter; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DropdownMenu = DropdownMenu; exports.DropdownMenuPortal = DropdownMenuPortal; exports.DropdownMenuTrigger = DropdownMenuTrigger; exports.DropdownMenuContent = DropdownMenuContent; exports.DropdownMenuGroup = DropdownMenuGroup; exports.DropdownMenuLabel = DropdownMenuLabel; exports.DropdownMenuItem = DropdownMenuItem; exports.DropdownMenuSub = DropdownMenuSub; exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger; exports.DropdownMenuSubContent = DropdownMenuSubContent; exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem; exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup; exports.DropdownMenuRadioItem = DropdownMenuRadioItem; exports.DropdownMenuSeparator = DropdownMenuSeparator; exports.DropdownMenuShortcut = DropdownMenuShortcut; exports.Label = Label; exports.Separator = Separator; exports.FieldSet = FieldSet; exports.FieldLegend = FieldLegend; exports.FieldGroup = FieldGroup; exports.Field = Field; exports.FieldContent = FieldContent; exports.FieldLabel = FieldLabel; exports.FieldTitle = FieldTitle; exports.FieldDescription = FieldDescription; exports.FieldSeparator = FieldSeparator; exports.FieldError = FieldError; exports.Form = Form; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.InputOTP = InputOTP; exports.InputOTPGroup = InputOTPGroup; exports.InputOTPSlot = InputOTPSlot; exports.InputOTPSeparator = InputOTPSeparator; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuPositioner = NavigationMenuPositioner; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.Popover = Popover; exports.PopoverTrigger = PopoverTrigger; exports.PopoverContent = PopoverContent; exports.PopoverHeader = PopoverHeader; exports.PopoverTitle = PopoverTitle; exports.PopoverDescription = PopoverDescription; exports.Progress = Progress; exports.ProgressTrack = ProgressTrack; exports.ProgressIndicator = ProgressIndicator; exports.ProgressLabel = ProgressLabel; exports.ProgressValue = ProgressValue; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.ResizablePanelGroup = ResizablePanelGroup; exports.ResizablePanel = ResizablePanel; exports.ResizableHandle = ResizableHandle; exports.ScrollArea = ScrollArea; exports.ScrollBar = ScrollBar; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Skeleton = Skeleton; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip2; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.useSidebar = useSidebar; exports.SidebarProvider = SidebarProvider; exports.Sidebar = Sidebar; exports.SidebarTrigger = SidebarTrigger; exports.SidebarRail = SidebarRail; exports.SidebarInset = SidebarInset; exports.SidebarInput = SidebarInput; exports.SidebarHeader = SidebarHeader; exports.SidebarFooter = SidebarFooter; exports.SidebarSeparator = SidebarSeparator; exports.SidebarContent = SidebarContent; exports.SidebarGroup = SidebarGroup; exports.SidebarGroupLabel = SidebarGroupLabel; exports.SidebarGroupAction = SidebarGroupAction; exports.SidebarGroupContent = SidebarGroupContent; exports.SidebarMenu = SidebarMenu; exports.SidebarMenuItem = SidebarMenuItem; exports.SidebarMenuButton = SidebarMenuButton; exports.SidebarMenuAction = SidebarMenuAction; exports.SidebarMenuBadge = SidebarMenuBadge; exports.SidebarMenuSkeleton = SidebarMenuSkeleton; exports.SidebarMenuSub = SidebarMenuSub; exports.SidebarMenuSubItem = SidebarMenuSubItem; exports.SidebarMenuSubButton = SidebarMenuSubButton; exports.Slider = Slider; exports.Toaster = Toaster; exports.Switch = Switch; exports.Table = Table; exports.TableHeader = TableHeader; exports.TableBody = TableBody; exports.TableFooter = TableFooter; exports.TableRow = TableRow; exports.TableHead = TableHead; exports.TableCell = TableCell; exports.TableCaption = TableCaption; exports.Tabs = Tabs; exports.tabsListVariants = tabsListVariants; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.KanbanRoot = KanbanRoot; exports.KanbanBoard = KanbanBoard; exports.KanbanColumn = KanbanColumn; exports.KanbanColumnHandle = KanbanColumnHandle; exports.KanbanItem = KanbanItem; exports.KanbanItemHandle = KanbanItemHandle; exports.KanbanOverlay = KanbanOverlay; exports.Link = Link; exports.MultiSelect = MultiSelect; exports.useDebounce2 = useDebounce; exports.MultipleSelector = MultipleSelector; exports.EntityAvatar = EntityAvatar; exports.errorToast = errorToast; exports.EditableAvatar = EditableAvatar; exports.TableCellAvatar = TableCellAvatar; exports.HeaderChildrenProvider = HeaderChildrenProvider; exports.useHeaderChildren = useHeaderChildren; exports.HeaderLeftContentProvider = HeaderLeftContentProvider; exports.useHeaderLeftContent = useHeaderLeftContent; exports.BreadcrumbNavigation = BreadcrumbNavigation; exports.ContentTitle = ContentTitle; exports.SharedProvider = SharedProvider; exports.useSharedContext = useSharedContext; exports.Header = Header; exports.ModeToggleSwitch = ModeToggleSwitch; exports.PageSection = PageSection; exports.recentPagesAtom = recentPagesAtom; exports.RecentPagesNavigator = RecentPagesNavigator; exports.PageContainer = PageContainer; exports.ReactMarkdownContainer = ReactMarkdownContainer; exports.RoundPageContainerTitle = RoundPageContainerTitle; exports.RoundPageContainer = RoundPageContainer; exports.TabsContainer = TabsContainer; exports.AttributeElement = AttributeElement; exports.AllUsersListContainer = AllUsersListContainer; exports.UserContent = UserContent; exports.UserAvatar = UserAvatar; exports.UserAvatarList = UserAvatarList; exports.useUserSearch = useUserSearch; exports.useUserTableStructure = useUserTableStructure; exports.UserSearchPopover = UserSearchPopover; exports.UserIndexDetails = UserIndexDetails; exports.UserStanadaloneDetails = UserStanadaloneDetails; exports.UserContainer = UserContainer; exports.UserIndexContainer = UserIndexContainer; exports.UsersListContainer = UsersListContainer; exports.AdminUsersList = AdminUsersList; exports.CompanyUsersList = CompanyUsersList; exports.ContributorsList = ContributorsList; exports.RelevantUsersList = RelevantUsersList; exports.RoleUsersList = RoleUsersList; exports.UserListInAdd = UserListInAdd; exports.UsersList = UsersList; exports.UsersListByContentIds = UsersListByContentIds; exports.AllowedUsersDetails = AllowedUsersDetails; exports.ErrorDetails = ErrorDetails; exports.BlockNoteEditorMentionHoverCard = BlockNoteEditorMentionHoverCard; exports.mentionDataAttrs = mentionDataAttrs; exports.createMentionInlineContentSpec = createMentionInlineContentSpec; exports.useMentionInsert = useMentionInsert; exports.BlockNoteEditorMentionSuggestionMenu = BlockNoteEditorMentionSuggestionMenu; exports.BlockNoteEditorContainer = BlockNoteEditorContainer; exports.CommonAssociationTrigger = CommonAssociationTrigger; exports.CommonAssociationCommandDialog = CommonAssociationCommandDialog; exports.triggerAssociationToast = triggerAssociationToast; exports.FormFieldWrapper = FormFieldWrapper; exports.EntityMultiSelector = EntityMultiSelector; exports.CommonDeleter = CommonDeleter; exports.CommonEditorButtons = CommonEditorButtons; exports.CommonEditorHeader = CommonEditorHeader; exports.CommonEditorDiscardDialog = CommonEditorDiscardDialog; exports.CommonEditorTrigger = CommonEditorTrigger; exports.useEditorDialog = useEditorDialog; exports.EditorSheet = EditorSheet; exports.DatePickerPopover = DatePickerPopover; exports.DateRangeSelector = DateRangeSelector; exports.useFileUpload = useFileUpload; exports.FileUploader = FileUploader; exports.FileUploaderContent = FileUploaderContent; exports.FileUploaderItem = FileUploaderItem; exports.FileInput = FileInput; exports.FormCheckbox = FormCheckbox; exports.FormBlockNote = FormBlockNote; exports.FormDate = FormDate; exports.FormDateTime = FormDateTime; exports.FormInput = FormInput; exports.PasswordInput = PasswordInput; exports.FormPassword = FormPassword; exports.FormPlaceAutocomplete = FormPlaceAutocomplete; exports.FormSelect = FormSelect; exports.FormSlider = FormSlider; exports.FormSwitch = FormSwitch; exports.FormTextarea = FormTextarea; exports.GdprConsentCheckbox = GdprConsentCheckbox; exports.FormFeatures = FormFeatures; exports.PageContainerContentDetails = PageContainerContentDetails; exports.PageContentContainer = PageContentContainer; exports.cellComponent = cellComponent; exports.cellDate = cellDate; exports.cellDateTime = cellDateTime; exports.cellId = cellId; exports.cellLink = cellLink; exports.cellUrl = cellUrl; exports.ContentTableSearch = ContentTableSearch; exports.ContentListTable = ContentListTable; exports.ContentListGrid = ContentListGrid; exports.ItalianFiscalData_default = ItalianFiscalData_default; exports.ItalianFiscalDataDisplay = ItalianFiscalDataDisplay; exports.parseFiscalData = parseFiscalData; exports.FiscalDataDisplay = FiscalDataDisplay; exports.GdprConsentSection = GdprConsentSection; exports.AuthContainer = AuthContainer; exports.BackupCodesDialog = BackupCodesDialog; exports.TotpInput = TotpInput; exports.DisableTwoFactorDialog = DisableTwoFactorDialog; exports.PasskeyList = PasskeyList; exports.PasskeySetupDialog = PasskeySetupDialog; exports.TotpAuthenticatorList = TotpAuthenticatorList; exports.TotpSetupDialog = TotpSetupDialog; exports.TwoFactorSettings = TwoFactorSettings; exports.SecurityContainer = SecurityContainer; exports.LandingComponent = LandingComponent; exports.AcceptInvitation = AcceptInvitation; exports.ActivateAccount = ActivateAccount; exports.Cookies = Cookies; exports.ForgotPassword = ForgotPassword; exports.Login = Login; exports.Logout = Logout; exports.RefreshUser = RefreshUser; exports.ResetPassword = ResetPassword; exports.PasskeyButton = PasskeyButton; exports.TwoFactorChallenge = TwoFactorChallenge; exports.CompanyContent = CompanyContent; exports.TokenStatusIndicator = TokenStatusIndicator; exports.CompanyDetails = CompanyDetails; exports.AdminCompanyContainer = AdminCompanyContainer; exports.CompanyContainer = CompanyContainer; exports.CompanyConfigurationEditor = CompanyConfigurationEditor; exports.CompanyDeleter = CompanyDeleter; exports.CompanyEditor = CompanyEditor; exports.CompaniesList = CompaniesList; exports.ContentsList = ContentsList; exports.ContentsListById = ContentsListById; exports.RelevantContentsList = RelevantContentsList; exports.HowToCommandViewer = HowToCommandViewer; exports.HowToCommand = HowToCommand; exports.HowToDeleter = HowToDeleter; exports.HowToEditor = HowToEditor; exports.HowToProvider = HowToProvider; exports.useHowToContext = useHowToContext; exports.HowToContent = HowToContent; exports.HowToDetails = HowToDetails; exports.HowToContainer = HowToContainer; exports.HowToList = HowToList; exports.HowToListContainer = HowToListContainer; exports.HowToMultiSelector = HowToMultiSelector; exports.HowToSelector = HowToSelector; exports.AssistantProvider = AssistantProvider; exports.useAssistantContext = useAssistantContext; exports.MessageSourcesPanel = MessageSourcesPanel; exports.MessageItem = MessageItem; exports.MessageList = MessageList; exports.AssistantContainer = AssistantContainer; exports.NotificationErrorBoundary = NotificationErrorBoundary; exports.generateNotificationData = generateNotificationData; exports.NotificationToast = NotificationToast; exports.NotificationMenuItem = NotificationMenuItem; exports.NotificationContextProvider = NotificationContextProvider; exports.useNotificationContext = useNotificationContext; exports.NotificationsList = NotificationsList; exports.NotificationsListContainer = NotificationsListContainer; exports.NotificationModal = NotificationModal; exports.PushNotificationProvider = PushNotificationProvider; exports.OnboardingCard = OnboardingCard; exports.ReferralCodeCapture = ReferralCodeCapture; exports.ReferralWidget = ReferralWidget; exports.ReferralDialog = ReferralDialog; exports.RoleProvider = RoleProvider; exports.useRoleContext = useRoleContext; exports.RoleDetails = RoleDetails; exports.RoleContainer = RoleContainer; exports.FormRoles = FormRoles; exports.RemoveUserFromRole = RemoveUserFromRole; exports.UserRoleAdd = UserRoleAdd; exports.useRoleTableStructure = useRoleTableStructure; exports.RolesList = RolesList; exports.UserRolesList = UserRolesList; exports.OAuthRedirectUriInput = OAuthRedirectUriInput; exports.OAuthScopeSelector = OAuthScopeSelector; exports.OAuthClientSecretDisplay = OAuthClientSecretDisplay; exports.OAuthClientCard = OAuthClientCard; exports.OAuthClientList = OAuthClientList; exports.OAuthClientForm = OAuthClientForm; exports.OAuthClientDetail = OAuthClientDetail; exports.OAuthConsentHeader = OAuthConsentHeader; exports.OAuthScopeList = OAuthScopeList; exports.OAuthConsentActions = OAuthConsentActions; exports.useOAuthConsent = useOAuthConsent; exports.OAuthConsentScreen = OAuthConsentScreen; exports.WaitlistQuestionnaireRenderer = WaitlistQuestionnaireRenderer; exports.WaitlistForm = WaitlistForm; exports.WaitlistHeroSection = WaitlistHeroSection; exports.WaitlistSuccessState = WaitlistSuccessState; exports.WaitlistConfirmation = WaitlistConfirmation; exports.WaitlistList = WaitlistList; exports.RbacProvider = RbacProvider; exports.useRbacContext = useRbacContext; exports.RbacPermissionCell = RbacPermissionCell; exports.RbacPermissionPicker = RbacPermissionPicker; exports.RbacContainer = RbacContainer; exports.RbacByRoleContainer = RbacByRoleContainer; exports.AddUserToRole = AddUserToRole; exports.UserAvatarEditor = UserAvatarEditor; exports.UserDeleter = UserDeleter; exports.UserEditor = UserEditor; exports.UserMultiSelect = UserMultiSelect; exports.UserReactivator = UserReactivator; exports.UserResentInvitationEmail = UserResentInvitationEmail; exports.UserSelector = UserSelector; exports.UserProvider = UserProvider; exports.useUserContext = useUserContext; exports.CompanyProvider = CompanyProvider; exports.useCompanyContext = useCompanyContext; exports.DEFAULT_ONBOARDING_LABELS = DEFAULT_ONBOARDING_LABELS; exports.OnboardingProvider = OnboardingProvider; exports.useOnboarding = useOnboarding; exports.CommonProvider = CommonProvider; exports.useCommonContext = useCommonContext; exports.useNotificationSync = useNotificationSync; exports.usePageTracker = usePageTracker; exports.useSocket = useSocket; exports.useSubscriptionStatus = useSubscriptionStatus; exports.useContentTableStructure = useContentTableStructure; exports.useOAuthClients = useOAuthClients; exports.useOAuthClient = useOAuthClient;
22091
- //# sourceMappingURL=chunk-HCOX3PKM.js.map
22315
+
22316
+ exports.JsonApiProvider = JsonApiProvider; exports.useJsonApiGet = useJsonApiGet; exports.useJsonApiMutation = useJsonApiMutation; exports.useRehydration = useRehydration; exports.useRehydrationList = useRehydrationList; exports.TableGeneratorRegistry = TableGeneratorRegistry; exports.tableGeneratorRegistry = tableGeneratorRegistry; exports.usePageUrlGenerator = usePageUrlGenerator; exports.useUrlRewriter = useUrlRewriter; exports.useDataListRetriever = useDataListRetriever; exports.useDebounce = useDebounce2; exports.registerTableGenerator = registerTableGenerator; exports.useTableGenerator = useTableGenerator; exports.computeLayeredLayout = computeLayeredLayout; exports.useCustomD3Graph = useCustomD3Graph; exports.SocketContext = SocketContext; exports.SocketProvider = SocketProvider; exports.useSocketContext = useSocketContext; exports.CurrentUserProvider = CurrentUserProvider; exports.useCurrentUserContext = useCurrentUserContext; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AlertAction = AlertAction; exports.buttonVariants = buttonVariants; exports.Button = Button; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogMedia = AlertDialogMedia; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.Avatar = Avatar; exports.AvatarImage = AvatarImage; exports.AvatarFallback = AvatarFallback; exports.AvatarBadge = AvatarBadge; exports.AvatarGroup = AvatarGroup; exports.AvatarGroupCount = AvatarGroupCount; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.Calendar = Calendar; exports.CalendarDayButton = CalendarDayButton; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardAction = CardAction; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.useCarousel = useCarousel; exports.Carousel = Carousel; exports.CarouselContent = CarouselContent; exports.CarouselItem = CarouselItem; exports.CarouselPrevious = CarouselPrevious; exports.CarouselNext = CarouselNext; exports.ChartContainer = ChartContainer; exports.ChartStyle = ChartStyle; exports.ChartTooltip = ChartTooltip; exports.ChartTooltipContent = ChartTooltipContent; exports.ChartLegend = ChartLegend; exports.ChartLegendContent = ChartLegendContent; exports.Checkbox = Checkbox; exports.Collapsible = Collapsible; exports.CollapsibleTrigger = CollapsibleTrigger; exports.CollapsibleContent = CollapsibleContent; exports.Input = Input; exports.Textarea = Textarea; exports.InputGroup = InputGroup; exports.InputGroupAddon = InputGroupAddon; exports.InputGroupButton = InputGroupButton; exports.InputGroupText = InputGroupText; exports.InputGroupInput = InputGroupInput; exports.InputGroupTextarea = InputGroupTextarea; exports.Combobox = Combobox; exports.ComboboxValue = ComboboxValue; exports.ComboboxTrigger = ComboboxTrigger; exports.ComboboxInput = ComboboxInput; exports.ComboboxContent = ComboboxContent; exports.ComboboxList = ComboboxList; exports.ComboboxItem = ComboboxItem; exports.ComboboxGroup = ComboboxGroup; exports.ComboboxLabel = ComboboxLabel; exports.ComboboxCollection = ComboboxCollection; exports.ComboboxEmpty = ComboboxEmpty; exports.ComboboxSeparator = ComboboxSeparator; exports.ComboboxChips = ComboboxChips; exports.ComboboxChip = ComboboxChip; exports.ComboboxChipsInput = ComboboxChipsInput; exports.useComboboxAnchor = useComboboxAnchor; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.Command = Command; exports.CommandDialog = CommandDialog; exports.CommandInput = CommandInput; exports.CommandList = CommandList; exports.CommandEmpty = CommandEmpty; exports.CommandGroup = CommandGroup; exports.CommandSeparator = CommandSeparator; exports.CommandItem = CommandItem; exports.CommandShortcut = CommandShortcut; exports.ContextMenu = ContextMenu; exports.ContextMenuPortal = ContextMenuPortal; exports.ContextMenuTrigger = ContextMenuTrigger; exports.ContextMenuContent = ContextMenuContent; exports.ContextMenuGroup = ContextMenuGroup; exports.ContextMenuLabel = ContextMenuLabel; exports.ContextMenuItem = ContextMenuItem; exports.ContextMenuSub = ContextMenuSub; exports.ContextMenuSubTrigger = ContextMenuSubTrigger; exports.ContextMenuSubContent = ContextMenuSubContent; exports.ContextMenuCheckboxItem = ContextMenuCheckboxItem; exports.ContextMenuRadioGroup = ContextMenuRadioGroup; exports.ContextMenuRadioItem = ContextMenuRadioItem; exports.ContextMenuSeparator = ContextMenuSeparator; exports.ContextMenuShortcut = ContextMenuShortcut; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerPortal = DrawerPortal; exports.DrawerClose = DrawerClose; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerFooter = DrawerFooter; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DropdownMenu = DropdownMenu; exports.DropdownMenuPortal = DropdownMenuPortal; exports.DropdownMenuTrigger = DropdownMenuTrigger; exports.DropdownMenuContent = DropdownMenuContent; exports.DropdownMenuGroup = DropdownMenuGroup; exports.DropdownMenuLabel = DropdownMenuLabel; exports.DropdownMenuItem = DropdownMenuItem; exports.DropdownMenuSub = DropdownMenuSub; exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger; exports.DropdownMenuSubContent = DropdownMenuSubContent; exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem; exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup; exports.DropdownMenuRadioItem = DropdownMenuRadioItem; exports.DropdownMenuSeparator = DropdownMenuSeparator; exports.DropdownMenuShortcut = DropdownMenuShortcut; exports.Label = Label; exports.Separator = Separator; exports.FieldSet = FieldSet; exports.FieldLegend = FieldLegend; exports.FieldGroup = FieldGroup; exports.Field = Field; exports.FieldContent = FieldContent; exports.FieldLabel = FieldLabel; exports.FieldTitle = FieldTitle; exports.FieldDescription = FieldDescription; exports.FieldSeparator = FieldSeparator; exports.FieldError = FieldError; exports.Form = Form; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.InputOTP = InputOTP; exports.InputOTPGroup = InputOTPGroup; exports.InputOTPSlot = InputOTPSlot; exports.InputOTPSeparator = InputOTPSeparator; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuPositioner = NavigationMenuPositioner; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.Popover = Popover; exports.PopoverTrigger = PopoverTrigger; exports.PopoverContent = PopoverContent; exports.PopoverHeader = PopoverHeader; exports.PopoverTitle = PopoverTitle; exports.PopoverDescription = PopoverDescription; exports.Progress = Progress; exports.ProgressTrack = ProgressTrack; exports.ProgressIndicator = ProgressIndicator; exports.ProgressLabel = ProgressLabel; exports.ProgressValue = ProgressValue; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.ResizablePanelGroup = ResizablePanelGroup; exports.ResizablePanel = ResizablePanel; exports.ResizableHandle = ResizableHandle; exports.ScrollArea = ScrollArea; exports.ScrollBar = ScrollBar; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Skeleton = Skeleton; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip2; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.useSidebar = useSidebar; exports.SidebarProvider = SidebarProvider; exports.Sidebar = Sidebar; exports.SidebarTrigger = SidebarTrigger; exports.SidebarRail = SidebarRail; exports.SidebarInset = SidebarInset; exports.SidebarInput = SidebarInput; exports.SidebarHeader = SidebarHeader; exports.SidebarFooter = SidebarFooter; exports.SidebarSeparator = SidebarSeparator; exports.SidebarContent = SidebarContent; exports.SidebarGroup = SidebarGroup; exports.SidebarGroupLabel = SidebarGroupLabel; exports.SidebarGroupAction = SidebarGroupAction; exports.SidebarGroupContent = SidebarGroupContent; exports.SidebarMenu = SidebarMenu; exports.SidebarMenuItem = SidebarMenuItem; exports.SidebarMenuButton = SidebarMenuButton; exports.SidebarMenuAction = SidebarMenuAction; exports.SidebarMenuBadge = SidebarMenuBadge; exports.SidebarMenuSkeleton = SidebarMenuSkeleton; exports.SidebarMenuSub = SidebarMenuSub; exports.SidebarMenuSubItem = SidebarMenuSubItem; exports.SidebarMenuSubButton = SidebarMenuSubButton; exports.Slider = Slider; exports.Toaster = Toaster; exports.Switch = Switch; exports.Table = Table; exports.TableHeader = TableHeader; exports.TableBody = TableBody; exports.TableFooter = TableFooter; exports.TableRow = TableRow; exports.TableHead = TableHead; exports.TableCell = TableCell; exports.TableCaption = TableCaption; exports.Tabs = Tabs; exports.tabsListVariants = tabsListVariants; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.KanbanRoot = KanbanRoot; exports.KanbanBoard = KanbanBoard; exports.KanbanColumn = KanbanColumn; exports.KanbanColumnHandle = KanbanColumnHandle; exports.KanbanItem = KanbanItem; exports.KanbanItemHandle = KanbanItemHandle; exports.KanbanOverlay = KanbanOverlay; exports.Link = Link; exports.MultiSelect = MultiSelect; exports.useDebounce2 = useDebounce; exports.MultipleSelector = MultipleSelector; exports.EntityAvatar = EntityAvatar; exports.errorToast = errorToast; exports.EditableAvatar = EditableAvatar; exports.TableCellAvatar = TableCellAvatar; exports.HeaderChildrenProvider = HeaderChildrenProvider; exports.useHeaderChildren = useHeaderChildren; exports.HeaderLeftContentProvider = HeaderLeftContentProvider; exports.useHeaderLeftContent = useHeaderLeftContent; exports.BreadcrumbNavigation = BreadcrumbNavigation; exports.ContentTitle = ContentTitle; exports.SharedProvider = SharedProvider; exports.useSharedContext = useSharedContext; exports.Header = Header; exports.ModeToggleSwitch = ModeToggleSwitch; exports.PageSection = PageSection; exports.recentPagesAtom = recentPagesAtom; exports.RecentPagesNavigator = RecentPagesNavigator; exports.PageContainer = PageContainer; exports.ReactMarkdownContainer = ReactMarkdownContainer; exports.RoundPageContainerTitle = RoundPageContainerTitle; exports.RoundPageContainer = RoundPageContainer; exports.TabsContainer = TabsContainer; exports.AttributeElement = AttributeElement; exports.AllUsersListContainer = AllUsersListContainer; exports.UserContent = UserContent; exports.UserAvatar = UserAvatar; exports.UserAvatarList = UserAvatarList; exports.useUserSearch = useUserSearch; exports.useUserTableStructure = useUserTableStructure; exports.UserSearchPopover = UserSearchPopover; exports.UserIndexDetails = UserIndexDetails; exports.UserStanadaloneDetails = UserStanadaloneDetails; exports.UserContainer = UserContainer; exports.UserIndexContainer = UserIndexContainer; exports.UsersListContainer = UsersListContainer; exports.AdminUsersList = AdminUsersList; exports.CompanyUsersList = CompanyUsersList; exports.ContributorsList = ContributorsList; exports.RelevantUsersList = RelevantUsersList; exports.RoleUsersList = RoleUsersList; exports.UserListInAdd = UserListInAdd; exports.UsersList = UsersList; exports.UsersListByContentIds = UsersListByContentIds; exports.AllowedUsersDetails = AllowedUsersDetails; exports.ErrorDetails = ErrorDetails; exports.BlockNoteEditorMentionHoverCard = BlockNoteEditorMentionHoverCard; exports.mentionDataAttrs = mentionDataAttrs; exports.createMentionInlineContentSpec = createMentionInlineContentSpec; exports.useMentionInsert = useMentionInsert; exports.BlockNoteEditorMentionSuggestionMenu = BlockNoteEditorMentionSuggestionMenu; exports.BlockNoteEditorContainer = BlockNoteEditorContainer; exports.CommonAssociationTrigger = CommonAssociationTrigger; exports.CommonAssociationCommandDialog = CommonAssociationCommandDialog; exports.triggerAssociationToast = triggerAssociationToast; exports.FormFieldWrapper = FormFieldWrapper; exports.EntityMultiSelector = EntityMultiSelector; exports.CommonDeleter = CommonDeleter; exports.CommonEditorButtons = CommonEditorButtons; exports.CommonEditorHeader = CommonEditorHeader; exports.CommonEditorDiscardDialog = CommonEditorDiscardDialog; exports.CommonEditorTrigger = CommonEditorTrigger; exports.useEditorDialog = useEditorDialog; exports.EditorSheet = EditorSheet; exports.DatePickerPopover = DatePickerPopover; exports.DateRangeSelector = DateRangeSelector; exports.useFileUpload = useFileUpload; exports.FileUploader = FileUploader; exports.FileUploaderContent = FileUploaderContent; exports.FileUploaderItem = FileUploaderItem; exports.FileInput = FileInput; exports.FormCheckbox = FormCheckbox; exports.FormBlockNote = FormBlockNote; exports.FormDate = FormDate; exports.FormDateTime = FormDateTime; exports.FormInput = FormInput; exports.PasswordInput = PasswordInput; exports.FormPassword = FormPassword; exports.FormPlaceAutocomplete = FormPlaceAutocomplete; exports.FormSelect = FormSelect; exports.FormSlider = FormSlider; exports.FormSwitch = FormSwitch; exports.FormTextarea = FormTextarea; exports.GdprConsentCheckbox = GdprConsentCheckbox; exports.FormFeatures = FormFeatures; exports.PageContainerContentDetails = PageContainerContentDetails; exports.PageContentContainer = PageContentContainer; exports.cellComponent = cellComponent; exports.cellDate = cellDate; exports.cellDateTime = cellDateTime; exports.cellId = cellId; exports.cellLink = cellLink; exports.cellUrl = cellUrl; exports.ContentTableSearch = ContentTableSearch; exports.ContentListTable = ContentListTable; exports.ContentListGrid = ContentListGrid; exports.ItalianFiscalData_default = ItalianFiscalData_default; exports.ItalianFiscalDataDisplay = ItalianFiscalDataDisplay; exports.parseFiscalData = parseFiscalData; exports.FiscalDataDisplay = FiscalDataDisplay; exports.GdprConsentSection = GdprConsentSection; exports.AuthContainer = AuthContainer; exports.BackupCodesDialog = BackupCodesDialog; exports.TotpInput = TotpInput; exports.DisableTwoFactorDialog = DisableTwoFactorDialog; exports.PasskeyList = PasskeyList; exports.PasskeySetupDialog = PasskeySetupDialog; exports.TotpAuthenticatorList = TotpAuthenticatorList; exports.TotpSetupDialog = TotpSetupDialog; exports.TwoFactorSettings = TwoFactorSettings; exports.SecurityContainer = SecurityContainer; exports.LandingComponent = LandingComponent; exports.AcceptInvitation = AcceptInvitation; exports.ActivateAccount = ActivateAccount; exports.Cookies = Cookies; exports.ForgotPassword = ForgotPassword; exports.Login = Login; exports.Logout = Logout; exports.RefreshUser = RefreshUser; exports.ResetPassword = ResetPassword; exports.PasskeyButton = PasskeyButton; exports.TwoFactorChallenge = TwoFactorChallenge; exports.CompanyContent = CompanyContent; exports.TokenStatusIndicator = TokenStatusIndicator; exports.CompanyDetails = CompanyDetails; exports.AdminCompanyContainer = AdminCompanyContainer; exports.CompanyContainer = CompanyContainer; exports.CompanyConfigurationEditor = CompanyConfigurationEditor; exports.CompanyDeleter = CompanyDeleter; exports.CompanyEditor = CompanyEditor; exports.CompaniesList = CompaniesList; exports.ContentsList = ContentsList; exports.ContentsListById = ContentsListById; exports.RelevantContentsList = RelevantContentsList; exports.HowToCommandViewer = HowToCommandViewer; exports.HowToCommand = HowToCommand; exports.HowToDeleter = HowToDeleter; exports.HowToEditor = HowToEditor; exports.HowToProvider = HowToProvider; exports.useHowToContext = useHowToContext; exports.HowToContent = HowToContent; exports.HowToDetails = HowToDetails; exports.HowToContainer = HowToContainer; exports.HowToList = HowToList; exports.HowToListContainer = HowToListContainer; exports.HowToMultiSelector = HowToMultiSelector; exports.HowToSelector = HowToSelector; exports.AssistantProvider = AssistantProvider; exports.useAssistantContext = useAssistantContext; exports.MessageSourcesPanel = MessageSourcesPanel; exports.MessageItem = MessageItem; exports.MessageList = MessageList; exports.AssistantContainer = AssistantContainer; exports.NotificationErrorBoundary = NotificationErrorBoundary; exports.generateNotificationData = generateNotificationData; exports.NotificationToast = NotificationToast; exports.NotificationMenuItem = NotificationMenuItem; exports.NotificationContextProvider = NotificationContextProvider; exports.useNotificationContext = useNotificationContext; exports.NotificationsList = NotificationsList; exports.NotificationsListContainer = NotificationsListContainer; exports.NotificationModal = NotificationModal; exports.PushNotificationProvider = PushNotificationProvider; exports.OnboardingCard = OnboardingCard; exports.ReferralCodeCapture = ReferralCodeCapture; exports.ReferralWidget = ReferralWidget; exports.ReferralDialog = ReferralDialog; exports.RoleProvider = RoleProvider; exports.useRoleContext = useRoleContext; exports.RoleDetails = RoleDetails; exports.RoleContainer = RoleContainer; exports.FormRoles = FormRoles; exports.RemoveUserFromRole = RemoveUserFromRole; exports.UserRoleAdd = UserRoleAdd; exports.useRoleTableStructure = useRoleTableStructure; exports.RolesList = RolesList; exports.UserRolesList = UserRolesList; exports.OAuthRedirectUriInput = OAuthRedirectUriInput; exports.OAuthScopeSelector = OAuthScopeSelector; exports.OAuthClientSecretDisplay = OAuthClientSecretDisplay; exports.OAuthClientCard = OAuthClientCard; exports.OAuthClientList = OAuthClientList; exports.OAuthClientForm = OAuthClientForm; exports.OAuthClientDetail = OAuthClientDetail; exports.OAuthConsentHeader = OAuthConsentHeader; exports.OAuthScopeList = OAuthScopeList; exports.OAuthConsentActions = OAuthConsentActions; exports.useOAuthConsent = useOAuthConsent; exports.OAuthConsentScreen = OAuthConsentScreen; exports.WaitlistQuestionnaireRenderer = WaitlistQuestionnaireRenderer; exports.WaitlistForm = WaitlistForm; exports.WaitlistHeroSection = WaitlistHeroSection; exports.WaitlistSuccessState = WaitlistSuccessState; exports.WaitlistConfirmation = WaitlistConfirmation; exports.WaitlistList = WaitlistList; exports.RbacProvider = RbacProvider; exports.useRbacContext = useRbacContext; exports.RbacPermissionCell = RbacPermissionCell; exports.RbacPermissionPicker = RbacPermissionPicker; exports.RbacContainer = RbacContainer; exports.RbacByRoleContainer = RbacByRoleContainer; exports.AddUserToRole = AddUserToRole; exports.UserAvatarEditor = UserAvatarEditor; exports.UserDeleter = UserDeleter; exports.UserEditor = UserEditor; exports.UserMultiSelect = UserMultiSelect; exports.UserReactivator = UserReactivator; exports.UserResentInvitationEmail = UserResentInvitationEmail; exports.UserSelector = UserSelector; exports.UserProvider = UserProvider; exports.useUserContext = useUserContext; exports.CompanyProvider = CompanyProvider; exports.useCompanyContext = useCompanyContext; exports.DEFAULT_ONBOARDING_LABELS = DEFAULT_ONBOARDING_LABELS; exports.OnboardingProvider = OnboardingProvider; exports.useOnboarding = useOnboarding; exports.CommonProvider = CommonProvider; exports.useCommonContext = useCommonContext; exports.useNotificationSync = useNotificationSync; exports.usePageTracker = usePageTracker; exports.useSocket = useSocket; exports.useSubscriptionStatus = useSubscriptionStatus; exports.useContentTableStructure = useContentTableStructure; exports.useOAuthClients = useOAuthClients; exports.useOAuthClient = useOAuthClient;
22317
+ //# sourceMappingURL=chunk-TRTKIQUB.js.map