@carlonicora/nextjs-jsonapi 1.98.0 → 1.100.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.
@@ -6455,6 +6455,137 @@ var _d3 = require('d3'); var d3 = _interopRequireWildcard(_d3);
6455
6455
 
6456
6456
  var _server = require('react-dom/server');
6457
6457
 
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 MIN_NODESEP = 20;
6464
+ var MAX_NODESEP = 400;
6465
+ var MIN_RANKSEP = 40;
6466
+ var MAX_RANKSEP = 600;
6467
+ var MIN_FACTOR = 0.25;
6468
+ var MAX_FACTOR = 4;
6469
+ var DEFAULT_TOLERANCE = 0.05;
6470
+ var DEFAULT_MAX_ITERATIONS = 4;
6471
+ var TITLE_PX_PER_CHAR_16 = 8;
6472
+ var NAME_PX_PER_CHAR_12 = 6.5;
6473
+ var NAME_PX_PER_CHAR_16_BOLD = 8;
6474
+ var SUBTITLE_PX_PER_CHAR_11 = 6;
6475
+ var LABEL_PADDING_PX = 16;
6476
+ function estimateLabelWidth(node) {
6477
+ if (node.subtitle) {
6478
+ const titleWidth = (_nullishCoalesce(_optionalChain([node, 'access', _134 => _134.name, 'optionalAccess', _135 => _135.length]), () => ( 0))) * TITLE_PX_PER_CHAR_16;
6479
+ const subtitleWidth = node.subtitle.length * SUBTITLE_PX_PER_CHAR_11;
6480
+ return Math.max(titleWidth, subtitleWidth) + LABEL_PADDING_PX;
6481
+ }
6482
+ const perChar = node.bold ? NAME_PX_PER_CHAR_16_BOLD : NAME_PX_PER_CHAR_12;
6483
+ return (_nullishCoalesce(_optionalChain([node, 'access', _136 => _136.name, 'optionalAccess', _137 => _137.length]), () => ( 0))) * perChar + LABEL_PADDING_PX;
6484
+ }
6485
+ _chunk7QVYU63Ejs.__name.call(void 0, estimateLabelWidth, "estimateLabelWidth");
6486
+ function linkEndpointId(end) {
6487
+ return typeof end === "string" ? end : end.id;
6488
+ }
6489
+ _chunk7QVYU63Ejs.__name.call(void 0, linkEndpointId, "linkEndpointId");
6490
+ function clamp(value, min, max) {
6491
+ return Math.min(Math.max(value, min), max);
6492
+ }
6493
+ _chunk7QVYU63Ejs.__name.call(void 0, clamp, "clamp");
6494
+ function runDagreOnce(nodes, links, opts) {
6495
+ const rankdir = _nullishCoalesce(opts.rankdir, () => ( DEFAULT_RANKDIR));
6496
+ const nodesep = _nullishCoalesce(opts.nodesep, () => ( DEFAULT_NODESEP));
6497
+ const ranksep = _nullishCoalesce(opts.ranksep, () => ( DEFAULT_RANKSEP));
6498
+ const g = new dagre.graphlib.Graph({ directed: true });
6499
+ g.setGraph({ rankdir, nodesep, ranksep, marginx: 20, marginy: 20 });
6500
+ g.setDefaultEdgeLabel(() => ({}));
6501
+ for (const node of nodes) {
6502
+ const width = Math.max(opts.minNodeWidth, estimateLabelWidth(node));
6503
+ const height = opts.minNodeHeight;
6504
+ g.setNode(node.id, { width, height });
6505
+ }
6506
+ const seen = /* @__PURE__ */ new Set();
6507
+ for (const link of links) {
6508
+ const sourceId = linkEndpointId(link.source);
6509
+ const targetId = linkEndpointId(link.target);
6510
+ if (!g.hasNode(sourceId) || !g.hasNode(targetId)) continue;
6511
+ const key = `${sourceId}->${targetId}`;
6512
+ if (seen.has(key)) continue;
6513
+ seen.add(key);
6514
+ g.setEdge(sourceId, targetId);
6515
+ }
6516
+ try {
6517
+ dagre.layout(g);
6518
+ } catch (e4) {
6519
+ return null;
6520
+ }
6521
+ const positions = /* @__PURE__ */ new Map();
6522
+ let xMin = Infinity;
6523
+ let xMax = -Infinity;
6524
+ let yMin = Infinity;
6525
+ let yMax = -Infinity;
6526
+ for (const node of nodes) {
6527
+ const laid = g.node(node.id);
6528
+ if (laid && Number.isFinite(laid.x) && Number.isFinite(laid.y)) {
6529
+ positions.set(node.id, { x: laid.x, y: laid.y });
6530
+ const halfW = (_nullishCoalesce(laid.width, () => ( opts.minNodeWidth))) / 2;
6531
+ const halfH = (_nullishCoalesce(laid.height, () => ( opts.minNodeHeight))) / 2;
6532
+ xMin = Math.min(xMin, laid.x - halfW);
6533
+ xMax = Math.max(xMax, laid.x + halfW);
6534
+ yMin = Math.min(yMin, laid.y - halfH);
6535
+ yMax = Math.max(yMax, laid.y + halfH);
6536
+ }
6537
+ }
6538
+ const bbox = positions.size === 0 ? { width: 0, height: 0 } : { width: Math.max(0, xMax - xMin), height: Math.max(0, yMax - yMin) };
6539
+ return { positions, bbox };
6540
+ }
6541
+ _chunk7QVYU63Ejs.__name.call(void 0, runDagreOnce, "runDagreOnce");
6542
+ function computeLayeredLayout(nodes, links, opts) {
6543
+ if (nodes.length === 0) return /* @__PURE__ */ new Map();
6544
+ const result = runDagreOnce(nodes, links, opts);
6545
+ return result ? result.positions : null;
6546
+ }
6547
+ _chunk7QVYU63Ejs.__name.call(void 0, computeLayeredLayout, "computeLayeredLayout");
6548
+ function fitLayeredLayoutToAspectRatio(nodes, links, opts) {
6549
+ if (nodes.length === 0) return /* @__PURE__ */ new Map();
6550
+ if (!Number.isFinite(opts.targetAspectRatio) || opts.targetAspectRatio <= 0) {
6551
+ return computeLayeredLayout(nodes, links, opts);
6552
+ }
6553
+ const maxIterations = _nullishCoalesce(opts.maxIterations, () => ( DEFAULT_MAX_ITERATIONS));
6554
+ const tolerance = _nullishCoalesce(opts.tolerance, () => ( DEFAULT_TOLERANCE));
6555
+ const rankdir = _nullishCoalesce(opts.rankdir, () => ( DEFAULT_RANKDIR));
6556
+ const isHorizontalFlow = rankdir === "LR" || rankdir === "RL";
6557
+ let nodesep = _nullishCoalesce(opts.nodesep, () => ( DEFAULT_NODESEP));
6558
+ let ranksep = _nullishCoalesce(opts.ranksep, () => ( DEFAULT_RANKSEP));
6559
+ let best = null;
6560
+ for (let i = 0; i < maxIterations; i++) {
6561
+ const result = runDagreOnce(nodes, links, {
6562
+ ...opts,
6563
+ nodesep,
6564
+ ranksep
6565
+ });
6566
+ if (!result) return best ? best.positions : null;
6567
+ best = result;
6568
+ if (result.positions.size <= 1) return result.positions;
6569
+ const { width, height } = result.bbox;
6570
+ if (width === 0 || height === 0) return result.positions;
6571
+ const currentAspect = width / height;
6572
+ const ratio = opts.targetAspectRatio / currentAspect;
6573
+ if (Math.abs(ratio - 1) < tolerance) return result.positions;
6574
+ const factor = clamp(Math.sqrt(ratio), MIN_FACTOR, MAX_FACTOR);
6575
+ if (isHorizontalFlow) {
6576
+ ranksep = clamp(ranksep * factor, MIN_RANKSEP, MAX_RANKSEP);
6577
+ nodesep = clamp(nodesep / factor, MIN_NODESEP, MAX_NODESEP);
6578
+ } else {
6579
+ ranksep = clamp(ranksep / factor, MIN_RANKSEP, MAX_RANKSEP);
6580
+ nodesep = clamp(nodesep * factor, MIN_NODESEP, MAX_NODESEP);
6581
+ }
6582
+ }
6583
+ return best ? best.positions : null;
6584
+ }
6585
+ _chunk7QVYU63Ejs.__name.call(void 0, fitLayeredLayoutToAspectRatio, "fitLayeredLayoutToAspectRatio");
6586
+
6587
+ // src/hooks/useCustomD3Graph.tsx
6588
+
6458
6589
  function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, options, loadingNodeIds, containerKey) {
6459
6590
  const svgRef = _react.useRef.call(void 0, null);
6460
6591
  const zoomRef = _react.useRef.call(void 0, null);
@@ -6519,7 +6650,7 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, options, lo
6519
6650
  });
6520
6651
  const typeColorMap = /* @__PURE__ */ new Map();
6521
6652
  Array.from(groupTypes).forEach((type, index) => {
6522
- if (type === _optionalChain([nodes, 'access', _134 => _134[0], 'optionalAccess', _135 => _135.instanceType])) {
6653
+ if (type === _optionalChain([nodes, 'access', _138 => _138[0], 'optionalAccess', _139 => _139.instanceType])) {
6523
6654
  typeColorMap.set(type, accentColor);
6524
6655
  } else if (type === "documents" || type === "articles" || type === "hyperlinks") {
6525
6656
  typeColorMap.set(type, contentColor);
@@ -6565,14 +6696,14 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, options, lo
6565
6696
  });
6566
6697
  const svg = d3.select(svgRef.current);
6567
6698
  svg.selectAll("*").remove();
6568
- const container = _optionalChain([svgRef, 'access', _136 => _136.current, 'optionalAccess', _137 => _137.parentElement]);
6699
+ const container = _optionalChain([svgRef, 'access', _140 => _140.current, 'optionalAccess', _141 => _141.parentElement]);
6569
6700
  if (!container) return;
6570
6701
  const width = container.clientWidth;
6571
6702
  const height = container.clientHeight;
6572
6703
  svg.attr("width", width).attr("height", height).attr("viewBox", `0 0 ${width} ${height}`);
6573
6704
  const graphGroup = svg.append("g").attr("class", "graph-content");
6574
6705
  const nodeRadius = 40;
6575
- const directed = _optionalChain([options, 'optionalAccess', _138 => _138.directed]) === true;
6706
+ const directed = _optionalChain([options, 'optionalAccess', _142 => _142.directed]) === true;
6576
6707
  if (directed) {
6577
6708
  const defs = svg.append("defs");
6578
6709
  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");
@@ -6584,117 +6715,175 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, options, lo
6584
6715
  });
6585
6716
  zoomBehaviorRef.current = zoom2;
6586
6717
  svg.call(zoom2).on("wheel.zoom", null).on("dblclick.zoom", null);
6587
- const childDistanceFromRoot = Math.min(width, height) * 0.4;
6588
- const grandchildDistanceFromChild = nodeRadius * 10;
6589
- const centralNodeId = nodes[0].id;
6590
- const nodeHierarchy = /* @__PURE__ */ new Map();
6591
- nodeHierarchy.set(centralNodeId, {
6592
- depth: 0,
6593
- parent: null,
6594
- children: []
6595
- });
6596
- visibleLinks.forEach((link2) => {
6597
- const sourceId = typeof link2.source === "string" ? link2.source : link2.source.id;
6598
- const targetId = typeof link2.target === "string" ? link2.target : link2.target.id;
6599
- if (sourceId === centralNodeId) {
6600
- nodeHierarchy.set(targetId, { depth: 1, parent: centralNodeId, children: [] });
6601
- const rootNode = nodeHierarchy.get(centralNodeId);
6602
- if (rootNode) {
6603
- rootNode.children.push(targetId);
6604
- }
6605
- }
6606
- });
6607
- visibleLinks.forEach((link2) => {
6608
- const sourceId = typeof link2.source === "string" ? link2.source : link2.source.id;
6609
- const targetId = typeof link2.target === "string" ? link2.target : link2.target.id;
6610
- const sourceNode = nodeHierarchy.get(sourceId);
6611
- if (sourceNode && sourceNode.depth === 1 && !nodeHierarchy.has(targetId)) {
6612
- nodeHierarchy.set(targetId, { depth: 2, parent: sourceId, children: [] });
6613
- sourceNode.children.push(targetId);
6614
- }
6615
- });
6616
- const rootChildren = _optionalChain([nodeHierarchy, 'access', _139 => _139.get, 'call', _140 => _140(centralNodeId), 'optionalAccess', _141 => _141.children]) || [];
6617
- const childAngleStep = 2 * Math.PI / Math.max(rootChildren.length, 1);
6618
- rootChildren.forEach((childId, index) => {
6619
- const childNode = nodeHierarchy.get(childId);
6620
- if (childNode) {
6621
- const angle = index * childAngleStep;
6622
- childNode.angle = angle;
6623
- childNode.x = width / 2 + childDistanceFromRoot * Math.cos(angle);
6624
- childNode.y = height / 2 + childDistanceFromRoot * Math.sin(angle);
6718
+ const layoutMode = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _143 => _143.layout]), () => ( "radial"));
6719
+ let layeredPositionsApplied = false;
6720
+ if (layoutMode === "layered") {
6721
+ const layeredOpts = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _144 => _144.layered]), () => ( {}));
6722
+ const useFit = layeredOpts.fitContainer === true && width > 0 && height > 0;
6723
+ const positions = useFit ? fitLayeredLayoutToAspectRatio(visibleNodes, visibleLinks, {
6724
+ rankdir: _nullishCoalesce(layeredOpts.rankdir, () => ( "LR")),
6725
+ nodesep: layeredOpts.nodesep,
6726
+ ranksep: layeredOpts.ranksep,
6727
+ minNodeWidth: nodeRadius * 2,
6728
+ minNodeHeight: nodeRadius * 2,
6729
+ targetAspectRatio: width / height
6730
+ }) : computeLayeredLayout(visibleNodes, visibleLinks, {
6731
+ rankdir: _nullishCoalesce(layeredOpts.rankdir, () => ( "LR")),
6732
+ nodesep: layeredOpts.nodesep,
6733
+ ranksep: layeredOpts.ranksep,
6734
+ minNodeWidth: nodeRadius * 2,
6735
+ minNodeHeight: nodeRadius * 2
6736
+ });
6737
+ if (positions) {
6738
+ visibleNodes.forEach((node2) => {
6739
+ const saved = nodePositionsRef.current.get(node2.id);
6740
+ if (saved) {
6741
+ node2.fx = saved.x;
6742
+ node2.fy = saved.y;
6743
+ node2.x = saved.x;
6744
+ node2.y = saved.y;
6745
+ return;
6746
+ }
6747
+ const pos = positions.get(node2.id);
6748
+ if (pos) {
6749
+ node2.fx = pos.x;
6750
+ node2.fy = pos.y;
6751
+ node2.x = pos.x;
6752
+ node2.y = pos.y;
6753
+ nodePositionsRef.current.set(node2.id, { x: pos.x, y: pos.y });
6754
+ }
6755
+ });
6756
+ const nodeById = /* @__PURE__ */ new Map();
6757
+ visibleNodes.forEach((n) => nodeById.set(n.id, n));
6758
+ visibleLinks.forEach((link2) => {
6759
+ if (typeof link2.source === "string") {
6760
+ const src = nodeById.get(link2.source);
6761
+ if (src) link2.source = src;
6762
+ }
6763
+ if (typeof link2.target === "string") {
6764
+ const tgt = nodeById.get(link2.target);
6765
+ if (tgt) link2.target = tgt;
6766
+ }
6767
+ });
6768
+ layeredPositionsApplied = true;
6769
+ } else {
6770
+ console.warn("[useCustomD3Graph] Layered layout failed; falling back to radial.");
6625
6771
  }
6626
- });
6627
- for (const [_nodeId, node2] of nodeHierarchy.entries()) {
6628
- if (node2.depth === 1 && node2.angle !== void 0 && node2.x !== void 0 && node2.y !== void 0) {
6629
- const childAngle = node2.angle;
6630
- const childX = node2.x;
6631
- const childY = node2.y;
6632
- const grandchildren = node2.children;
6633
- if (grandchildren.length === 0) continue;
6634
- const dirX = childX - width / 2;
6635
- const dirY = childY - height / 2;
6636
- const dirLength = Math.sqrt(dirX * dirX + dirY * dirY);
6637
- const normDirX = dirX / dirLength;
6638
- const normDirY = dirY / dirLength;
6639
- if (grandchildren.length === 1) {
6640
- const grandchildId = grandchildren[0];
6641
- const grandchildNode = nodeHierarchy.get(grandchildId);
6642
- if (grandchildNode) {
6643
- grandchildNode.x = childX + normDirX * grandchildDistanceFromChild;
6644
- grandchildNode.y = childY + normDirY * grandchildDistanceFromChild;
6645
- grandchildNode.angle = childAngle;
6772
+ }
6773
+ let simulation = null;
6774
+ if (!layeredPositionsApplied) {
6775
+ const childDistanceFromRoot = Math.min(width, height) * 0.4;
6776
+ const grandchildDistanceFromChild = nodeRadius * 10;
6777
+ const centralNodeId = nodes[0].id;
6778
+ const nodeHierarchy = /* @__PURE__ */ new Map();
6779
+ nodeHierarchy.set(centralNodeId, {
6780
+ depth: 0,
6781
+ parent: null,
6782
+ children: []
6783
+ });
6784
+ visibleLinks.forEach((link2) => {
6785
+ const sourceId = typeof link2.source === "string" ? link2.source : link2.source.id;
6786
+ const targetId = typeof link2.target === "string" ? link2.target : link2.target.id;
6787
+ if (sourceId === centralNodeId) {
6788
+ nodeHierarchy.set(targetId, { depth: 1, parent: centralNodeId, children: [] });
6789
+ const rootNode = nodeHierarchy.get(centralNodeId);
6790
+ if (rootNode) {
6791
+ rootNode.children.push(targetId);
6646
6792
  }
6647
- } else {
6648
- const numChildren = grandchildren.length;
6649
- const minArc = Math.PI / 3;
6650
- const maxArc = Math.PI;
6651
- const arcProgress = Math.min(1, (numChildren - 2) / 5);
6652
- const arcSpan = minArc + arcProgress * (maxArc - minArc);
6653
- const startAngle = childAngle - arcSpan / 2;
6654
- grandchildren.forEach((grandchildId, index) => {
6793
+ }
6794
+ });
6795
+ visibleLinks.forEach((link2) => {
6796
+ const sourceId = typeof link2.source === "string" ? link2.source : link2.source.id;
6797
+ const targetId = typeof link2.target === "string" ? link2.target : link2.target.id;
6798
+ const sourceNode = nodeHierarchy.get(sourceId);
6799
+ if (sourceNode && sourceNode.depth === 1 && !nodeHierarchy.has(targetId)) {
6800
+ nodeHierarchy.set(targetId, { depth: 2, parent: sourceId, children: [] });
6801
+ sourceNode.children.push(targetId);
6802
+ }
6803
+ });
6804
+ const rootChildren = _optionalChain([nodeHierarchy, 'access', _145 => _145.get, 'call', _146 => _146(centralNodeId), 'optionalAccess', _147 => _147.children]) || [];
6805
+ const childAngleStep = 2 * Math.PI / Math.max(rootChildren.length, 1);
6806
+ rootChildren.forEach((childId, index) => {
6807
+ const childNode = nodeHierarchy.get(childId);
6808
+ if (childNode) {
6809
+ const angle = index * childAngleStep;
6810
+ childNode.angle = angle;
6811
+ childNode.x = width / 2 + childDistanceFromRoot * Math.cos(angle);
6812
+ childNode.y = height / 2 + childDistanceFromRoot * Math.sin(angle);
6813
+ }
6814
+ });
6815
+ for (const [_nodeId, node2] of nodeHierarchy.entries()) {
6816
+ if (node2.depth === 1 && node2.angle !== void 0 && node2.x !== void 0 && node2.y !== void 0) {
6817
+ const childAngle = node2.angle;
6818
+ const childX = node2.x;
6819
+ const childY = node2.y;
6820
+ const grandchildren = node2.children;
6821
+ if (grandchildren.length === 0) continue;
6822
+ const dirX = childX - width / 2;
6823
+ const dirY = childY - height / 2;
6824
+ const dirLength = Math.sqrt(dirX * dirX + dirY * dirY);
6825
+ const normDirX = dirX / dirLength;
6826
+ const normDirY = dirY / dirLength;
6827
+ if (grandchildren.length === 1) {
6828
+ const grandchildId = grandchildren[0];
6655
6829
  const grandchildNode = nodeHierarchy.get(grandchildId);
6656
- if (!grandchildNode) return;
6657
- const angleOffset = numChildren > 1 ? index / (numChildren - 1) * arcSpan : 0;
6658
- const angle = startAngle + angleOffset;
6659
- grandchildNode.x = childX + grandchildDistanceFromChild * Math.cos(angle);
6660
- grandchildNode.y = childY + grandchildDistanceFromChild * Math.sin(angle);
6661
- grandchildNode.angle = angle;
6662
- });
6830
+ if (grandchildNode) {
6831
+ grandchildNode.x = childX + normDirX * grandchildDistanceFromChild;
6832
+ grandchildNode.y = childY + normDirY * grandchildDistanceFromChild;
6833
+ grandchildNode.angle = childAngle;
6834
+ }
6835
+ } else {
6836
+ const numChildren = grandchildren.length;
6837
+ const minArc = Math.PI / 3;
6838
+ const maxArc = Math.PI;
6839
+ const arcProgress = Math.min(1, (numChildren - 2) / 5);
6840
+ const arcSpan = minArc + arcProgress * (maxArc - minArc);
6841
+ const startAngle = childAngle - arcSpan / 2;
6842
+ grandchildren.forEach((grandchildId, index) => {
6843
+ const grandchildNode = nodeHierarchy.get(grandchildId);
6844
+ if (!grandchildNode) return;
6845
+ const angleOffset = numChildren > 1 ? index / (numChildren - 1) * arcSpan : 0;
6846
+ const angle = startAngle + angleOffset;
6847
+ grandchildNode.x = childX + grandchildDistanceFromChild * Math.cos(angle);
6848
+ grandchildNode.y = childY + grandchildDistanceFromChild * Math.sin(angle);
6849
+ grandchildNode.angle = angle;
6850
+ });
6851
+ }
6663
6852
  }
6664
6853
  }
6665
- }
6666
- visibleNodes.forEach((node2) => {
6667
- const savedPosition = nodePositionsRef.current.get(node2.id);
6668
- if (savedPosition) {
6669
- node2.fx = savedPosition.x;
6670
- node2.fy = savedPosition.y;
6671
- } else {
6672
- const hierarchyNode = nodeHierarchy.get(node2.id);
6673
- if (hierarchyNode && hierarchyNode.x !== void 0 && hierarchyNode.y !== void 0) {
6674
- node2.fx = hierarchyNode.x;
6675
- node2.fy = hierarchyNode.y;
6676
- nodePositionsRef.current.set(node2.id, { x: hierarchyNode.x, y: hierarchyNode.y });
6677
- } else if (node2.id === centralNodeId) {
6678
- node2.fx = width / 2;
6679
- node2.fy = height / 2;
6680
- nodePositionsRef.current.set(node2.id, { x: width / 2, y: height / 2 });
6854
+ visibleNodes.forEach((node2) => {
6855
+ const savedPosition = nodePositionsRef.current.get(node2.id);
6856
+ if (savedPosition) {
6857
+ node2.fx = savedPosition.x;
6858
+ node2.fy = savedPosition.y;
6859
+ } else {
6860
+ const hierarchyNode = nodeHierarchy.get(node2.id);
6861
+ if (hierarchyNode && hierarchyNode.x !== void 0 && hierarchyNode.y !== void 0) {
6862
+ node2.fx = hierarchyNode.x;
6863
+ node2.fy = hierarchyNode.y;
6864
+ nodePositionsRef.current.set(node2.id, { x: hierarchyNode.x, y: hierarchyNode.y });
6865
+ } else if (node2.id === centralNodeId) {
6866
+ node2.fx = width / 2;
6867
+ node2.fy = height / 2;
6868
+ nodePositionsRef.current.set(node2.id, { x: width / 2, y: height / 2 });
6869
+ }
6681
6870
  }
6871
+ });
6872
+ simulation = d3.forceSimulation(visibleNodes).force(
6873
+ "link",
6874
+ d3.forceLink(visibleLinks).id((d) => d.id).distance(nodeRadius * 3).strength(0.1)
6875
+ ).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));
6876
+ simulation.stop();
6877
+ for (let i = 0; i < 100; i++) {
6878
+ simulation.tick();
6682
6879
  }
6683
- });
6684
- const simulation = d3.forceSimulation(visibleNodes).force(
6685
- "link",
6686
- d3.forceLink(visibleLinks).id((d) => d.id).distance(nodeRadius * 3).strength(0.1)
6687
- ).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));
6688
- simulation.stop();
6689
- for (let i = 0; i < 100; i++) {
6690
- simulation.tick();
6691
- }
6692
- visibleNodes.forEach((node2) => {
6693
- if (node2.fx === void 0) {
6694
- node2.fx = node2.x;
6695
- node2.fy = node2.y;
6696
- }
6697
- });
6880
+ visibleNodes.forEach((node2) => {
6881
+ if (node2.fx === void 0) {
6882
+ node2.fx = node2.x;
6883
+ node2.fy = node2.y;
6884
+ }
6885
+ });
6886
+ }
6698
6887
  const linkX2 = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (sx, sy, tx, ty) => {
6699
6888
  if (!directed) return tx;
6700
6889
  const dx = tx - sx;
@@ -6761,7 +6950,7 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, options, lo
6761
6950
  if (d.instanceType === "root") return;
6762
6951
  const currentNode = d3.select(this);
6763
6952
  currentNode.raise();
6764
- const currentZoom = _optionalChain([zoomRef, 'access', _142 => _142.current, 'optionalAccess', _143 => _143.k]) || 1;
6953
+ const currentZoom = _optionalChain([zoomRef, 'access', _148 => _148.current, 'optionalAccess', _149 => _149.k]) || 1;
6765
6954
  const targetScreenFontSize = 20;
6766
6955
  const baseFontSize = 12;
6767
6956
  const textScale = targetScreenFontSize / (baseFontSize * currentZoom);
@@ -6836,9 +7025,22 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, options, lo
6836
7025
  }
6837
7026
  });
6838
7027
  return () => {
6839
- simulation.stop();
7028
+ _optionalChain([simulation, 'optionalAccess', _150 => _150.stop, 'call', _151 => _151()]);
6840
7029
  };
6841
- }, [nodes, links, colorScale, visibleNodeIds, _optionalChain([options, 'optionalAccess', _144 => _144.directed]), loadingNodeIds, onNodeClick]);
7030
+ }, [
7031
+ nodes,
7032
+ links,
7033
+ colorScale,
7034
+ visibleNodeIds,
7035
+ _optionalChain([options, 'optionalAccess', _152 => _152.directed]),
7036
+ _optionalChain([options, 'optionalAccess', _153 => _153.layout]),
7037
+ _optionalChain([options, 'optionalAccess', _154 => _154.layered, 'optionalAccess', _155 => _155.rankdir]),
7038
+ _optionalChain([options, 'optionalAccess', _156 => _156.layered, 'optionalAccess', _157 => _157.nodesep]),
7039
+ _optionalChain([options, 'optionalAccess', _158 => _158.layered, 'optionalAccess', _159 => _159.ranksep]),
7040
+ _optionalChain([options, 'optionalAccess', _160 => _160.layered, 'optionalAccess', _161 => _161.fitContainer]),
7041
+ loadingNodeIds,
7042
+ onNodeClick
7043
+ ]);
6842
7044
  const zoomIn = _react.useCallback.call(void 0, () => {
6843
7045
  if (!svgRef.current || !zoomBehaviorRef.current) return;
6844
7046
  const svg = d3.select(svgRef.current);
@@ -6958,7 +7160,7 @@ function usePageTracker() {
6958
7160
  if (typeof document !== "undefined") {
6959
7161
  const titleParts = document.title.split("]");
6960
7162
  if (titleParts[1]) {
6961
- const cleanTitle = _optionalChain([titleParts, 'access', _145 => _145[1], 'access', _146 => _146.split, 'call', _147 => _147("|"), 'access', _148 => _148[0], 'optionalAccess', _149 => _149.trim, 'call', _150 => _150()]);
7163
+ const cleanTitle = _optionalChain([titleParts, 'access', _162 => _162[1], 'access', _163 => _163.split, 'call', _164 => _164("|"), 'access', _165 => _165[0], 'optionalAccess', _166 => _166.trim, 'call', _167 => _167()]);
6962
7164
  pageTitle = cleanTitle || foundModule.name;
6963
7165
  }
6964
7166
  }
@@ -6995,7 +7197,7 @@ function usePushNotifications() {
6995
7197
  const register = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
6996
7198
  if ("serviceWorker" in navigator && "PushManager" in window) {
6997
7199
  try {
6998
- const sessionKey = `push_registered_${_optionalChain([currentUser, 'optionalAccess', _151 => _151.id])}`;
7200
+ const sessionKey = `push_registered_${_optionalChain([currentUser, 'optionalAccess', _168 => _168.id])}`;
6999
7201
  const lastRegisteredSubscription = sessionStorage.getItem(sessionKey);
7000
7202
  const registration = await navigator.serviceWorker.register(`${_chunkSE5HIHJSjs.getAppUrl.call(void 0, )}/sw.js`);
7001
7203
  let permission = Notification.permission;
@@ -7052,7 +7254,7 @@ function useSocket({ token }) {
7052
7254
  const socketRef = _react.useRef.call(void 0, null);
7053
7255
  _react.useEffect.call(void 0, () => {
7054
7256
  if (!token) return;
7055
- const globalSocketKey = `__socket_${_optionalChain([process, 'access', _152 => _152.env, 'access', _153 => _153.NEXT_PUBLIC_API_URL, 'optionalAccess', _154 => _154.replace, 'call', _155 => _155(/[^a-zA-Z0-9]/g, "_")])}`;
7257
+ const globalSocketKey = `__socket_${_optionalChain([process, 'access', _169 => _169.env, 'access', _170 => _170.NEXT_PUBLIC_API_URL, 'optionalAccess', _171 => _171.replace, 'call', _172 => _172(/[^a-zA-Z0-9]/g, "_")])}`;
7056
7258
  if (typeof window !== "undefined") {
7057
7259
  const _allSocketKeys = Object.keys(window).filter((key) => key.startsWith("__socket_"));
7058
7260
  const existingSocket = window[globalSocketKey];
@@ -7090,7 +7292,7 @@ function useSocket({ token }) {
7090
7292
  }
7091
7293
  socketRef.current = currentSocket;
7092
7294
  setSocket(currentSocket);
7093
- } catch (e4) {
7295
+ } catch (e5) {
7094
7296
  return () => {
7095
7297
  };
7096
7298
  }
@@ -7245,23 +7447,23 @@ var CurrentUserProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (
7245
7447
  );
7246
7448
  const matchedModuleKey = moduleKeys.find((key) => {
7247
7449
  const descriptor2 = Object.getOwnPropertyDescriptor(_chunkXAWKRNYMjs.Modules, key);
7248
- if (!_optionalChain([descriptor2, 'optionalAccess', _156 => _156.get])) return false;
7450
+ if (!_optionalChain([descriptor2, 'optionalAccess', _173 => _173.get])) return false;
7249
7451
  const selectedModule = descriptor2.get.call(_chunkXAWKRNYMjs.Modules);
7250
- return path.toLowerCase().startsWith(_optionalChain([selectedModule, 'access', _157 => _157.pageUrl, 'optionalAccess', _158 => _158.toLowerCase, 'call', _159 => _159()]));
7452
+ return path.toLowerCase().startsWith(_optionalChain([selectedModule, 'access', _174 => _174.pageUrl, 'optionalAccess', _175 => _175.toLowerCase, 'call', _176 => _176()]));
7251
7453
  });
7252
7454
  if (!matchedModuleKey) return void 0;
7253
7455
  const descriptor = Object.getOwnPropertyDescriptor(_chunkXAWKRNYMjs.Modules, matchedModuleKey);
7254
- return _optionalChain([descriptor, 'optionalAccess', _160 => _160.get, 'optionalAccess', _161 => _161.call, 'call', _162 => _162(_chunkXAWKRNYMjs.Modules)]);
7456
+ return _optionalChain([descriptor, 'optionalAccess', _177 => _177.get, 'optionalAccess', _178 => _178.call, 'call', _179 => _179(_chunkXAWKRNYMjs.Modules)]);
7255
7457
  }, "matchUrlToModule");
7256
7458
  const currentUser = dehydratedUser ? _chunkXAWKRNYMjs.rehydrate.call(void 0, _chunkXAWKRNYMjs.Modules.User, dehydratedUser) : null;
7257
- const company = _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _163 => _163.company]), () => ( null));
7459
+ const company = _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _180 => _180.company]), () => ( null));
7258
7460
  const setUser = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (user) => {
7259
7461
  if (user) setDehydratedUser(user.dehydrate());
7260
7462
  else setDehydratedUser(null);
7261
7463
  }, "setUser");
7262
7464
  const hasRole = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (roleId) => {
7263
7465
  if (!currentUser) return false;
7264
- return !!_optionalChain([currentUser, 'access', _164 => _164.roles, 'optionalAccess', _165 => _165.some, 'call', _166 => _166((userRole) => userRole.id === roleId)]);
7466
+ return !!_optionalChain([currentUser, 'access', _181 => _181.roles, 'optionalAccess', _182 => _182.some, 'call', _183 => _183((userRole) => userRole.id === roleId)]);
7265
7467
  }, "hasRole");
7266
7468
  const hasAccesToFeature = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (featureIdentifier) => {
7267
7469
  if (hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)) return true;
@@ -7301,12 +7503,12 @@ var CurrentUserProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (
7301
7503
  try {
7302
7504
  const fullUser = await _chunkXAWKRNYMjs.UserService.findFullUser();
7303
7505
  if (fullUser) {
7304
- if (!_optionalChain([options, 'optionalAccess', _167 => _167.skipCookieUpdate])) {
7305
- await _optionalChain([_chunkXAWKRNYMjs.getTokenHandler.call(void 0, ), 'optionalAccess', _168 => _168.updateToken, 'call', _169 => _169({
7506
+ if (!_optionalChain([options, 'optionalAccess', _184 => _184.skipCookieUpdate])) {
7507
+ await _optionalChain([_chunkXAWKRNYMjs.getTokenHandler.call(void 0, ), 'optionalAccess', _185 => _185.updateToken, 'call', _186 => _186({
7306
7508
  userId: fullUser.id,
7307
- companyId: _optionalChain([fullUser, 'access', _170 => _170.company, 'optionalAccess', _171 => _171.id]),
7509
+ companyId: _optionalChain([fullUser, 'access', _187 => _187.company, 'optionalAccess', _188 => _188.id]),
7308
7510
  roles: fullUser.roles.map((role) => role.id),
7309
- features: _nullishCoalesce(_optionalChain([fullUser, 'access', _172 => _172.company, 'optionalAccess', _173 => _173.features, 'optionalAccess', _174 => _174.map, 'call', _175 => _175((feature) => feature.id)]), () => ( [])),
7511
+ features: _nullishCoalesce(_optionalChain([fullUser, 'access', _189 => _189.company, 'optionalAccess', _190 => _190.features, 'optionalAccess', _191 => _191.map, 'call', _192 => _192((feature) => feature.id)]), () => ( [])),
7310
7512
  modules: fullUser.modules.map((module) => ({
7311
7513
  id: module.id,
7312
7514
  permissions: module.permissions
@@ -7328,11 +7530,11 @@ var CurrentUserProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (
7328
7530
  refreshUserRef.current = refreshUser;
7329
7531
  const isRefreshingRef = _react.useRef.call(void 0, false);
7330
7532
  _react.useEffect.call(void 0, () => {
7331
- if (!socket || !isConnected || !_optionalChain([currentUser, 'optionalAccess', _176 => _176.company, 'optionalAccess', _177 => _177.id])) {
7533
+ if (!socket || !isConnected || !_optionalChain([currentUser, 'optionalAccess', _193 => _193.company, 'optionalAccess', _194 => _194.id])) {
7332
7534
  return;
7333
7535
  }
7334
7536
  const handleCompanyUpdate = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (data) => {
7335
- if (data.companyId === _optionalChain([currentUser, 'access', _178 => _178.company, 'optionalAccess', _179 => _179.id]) && !isRefreshingRef.current) {
7537
+ if (data.companyId === _optionalChain([currentUser, 'access', _195 => _195.company, 'optionalAccess', _196 => _196.id]) && !isRefreshingRef.current) {
7336
7538
  isRefreshingRef.current = true;
7337
7539
  refreshUserRef.current({ skipCookieUpdate: true }).finally(() => {
7338
7540
  isRefreshingRef.current = false;
@@ -7345,7 +7547,7 @@ var CurrentUserProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (
7345
7547
  socket.off("company:tokens_updated", handleCompanyUpdate);
7346
7548
  socket.off("company:subscription_updated", handleCompanyUpdate);
7347
7549
  };
7348
- }, [socket, isConnected, _optionalChain([currentUser, 'optionalAccess', _180 => _180.company, 'optionalAccess', _181 => _181.id])]);
7550
+ }, [socket, isConnected, _optionalChain([currentUser, 'optionalAccess', _197 => _197.company, 'optionalAccess', _198 => _198.id])]);
7349
7551
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7350
7552
  CurrentUserContext.Provider,
7351
7553
  {
@@ -7416,7 +7618,7 @@ function AddUserToRoleInternal({ role, refresh }) {
7416
7618
  const data = useDataListRetriever({
7417
7619
  ready: !!company && show,
7418
7620
  retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkXAWKRNYMjs.UserService.findAllUsers(params), "retriever"),
7419
- retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _182 => _182.id]) },
7621
+ retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _199 => _199.id]) },
7420
7622
  module: _chunkXAWKRNYMjs.Modules.User
7421
7623
  });
7422
7624
  _react.useEffect.call(void 0, () => {
@@ -7484,10 +7686,10 @@ function UserAvatarEditor({ user, file, setFile, resetImage, setResetImage }) {
7484
7686
  onValueChange: setFiles,
7485
7687
  dropzoneOptions: dropzone2,
7486
7688
  className: "h-40 w-40 rounded-full p-0",
7487
- 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', _183 => _183.avatar])) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7689
+ 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', _200 => _200.avatar])) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7488
7690
  _image2.default,
7489
7691
  {
7490
- src: file ? URL.createObjectURL(file) : _optionalChain([user, 'optionalAccess', _184 => _184.avatar]) || "",
7692
+ src: file ? URL.createObjectURL(file) : _optionalChain([user, 'optionalAccess', _201 => _201.avatar]) || "",
7491
7693
  alt: t(`common.avatar`),
7492
7694
  width: 200,
7493
7695
  height: 200
@@ -7495,7 +7697,7 @@ function UserAvatarEditor({ user, file, setFile, resetImage, setResetImage }) {
7495
7697
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.UploadIcon, { className: "my-4 h-8 w-8" }) })
7496
7698
  }
7497
7699
  ),
7498
- !resetImage && (file || _optionalChain([user, 'optionalAccess', _185 => _185.avatar])) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7700
+ !resetImage && (file || _optionalChain([user, 'optionalAccess', _202 => _202.avatar])) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7499
7701
  Button,
7500
7702
  {
7501
7703
  className: "",
@@ -7523,7 +7725,7 @@ function UserDeleterInternal({ user, onDeleted, companyId }) {
7523
7725
  const router = _chunkSE5HIHJSjs.useI18nRouter.call(void 0, );
7524
7726
  const _t = _nextintl.useTranslations.call(void 0, );
7525
7727
  let cId;
7526
- if (_optionalChain([currentUser, 'optionalAccess', _186 => _186.roles, 'access', _187 => _187.find, 'call', _188 => _188((role) => role.id === _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)]) && companyId) {
7728
+ if (_optionalChain([currentUser, 'optionalAccess', _203 => _203.roles, 'access', _204 => _204.find, 'call', _205 => _205((role) => role.id === _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)]) && companyId) {
7527
7729
  cId = companyId;
7528
7730
  } else {
7529
7731
  if (!company) return;
@@ -7586,18 +7788,18 @@ function UserEditorInternal({
7586
7788
  }, [company]);
7587
7789
  const handleDialogOpenChange = _react.useCallback.call(void 0,
7588
7790
  (open) => {
7589
- if (open && (company || _optionalChain([currentUser, 'optionalAccess', _189 => _189.roles, 'access', _190 => _190.find, 'call', _191 => _191((role) => role.id === _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)])) && roles.length === 0) {
7791
+ if (open && (company || _optionalChain([currentUser, 'optionalAccess', _206 => _206.roles, 'access', _207 => _207.find, 'call', _208 => _208((role) => role.id === _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)])) && roles.length === 0) {
7590
7792
  async function fetchRoles() {
7591
7793
  const allRoles = await _chunkXAWKRNYMjs.RoleService.findAllRoles({});
7592
7794
  const availableRoles = allRoles.filter(
7593
- (role) => role.id !== _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator && (role.requiredFeature === void 0 || _optionalChain([company, 'optionalAccess', _192 => _192.features, 'access', _193 => _193.some, 'call', _194 => _194((feature) => feature.id === _optionalChain([role, 'access', _195 => _195.requiredFeature, 'optionalAccess', _196 => _196.id]))]))
7795
+ (role) => role.id !== _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator && (role.requiredFeature === void 0 || _optionalChain([company, 'optionalAccess', _209 => _209.features, 'access', _210 => _210.some, 'call', _211 => _211((feature) => feature.id === _optionalChain([role, 'access', _212 => _212.requiredFeature, 'optionalAccess', _213 => _213.id]))]))
7594
7796
  );
7595
7797
  setRoles(availableRoles);
7596
7798
  }
7597
7799
  _chunk7QVYU63Ejs.__name.call(void 0, fetchRoles, "fetchRoles");
7598
7800
  fetchRoles();
7599
7801
  }
7600
- _optionalChain([onDialogOpenChange, 'optionalCall', _197 => _197(open)]);
7802
+ _optionalChain([onDialogOpenChange, 'optionalCall', _214 => _214(open)]);
7601
7803
  },
7602
7804
  [company, currentUser, roles.length, onDialogOpenChange]
7603
7805
  );
@@ -7631,29 +7833,29 @@ function UserEditorInternal({
7631
7833
  );
7632
7834
  const getDefaultValues = _react.useCallback.call(void 0, () => {
7633
7835
  return {
7634
- id: _optionalChain([user, 'optionalAccess', _198 => _198.id]) || _uuid.v4.call(void 0, ),
7635
- name: _optionalChain([user, 'optionalAccess', _199 => _199.name]) || "",
7636
- title: _optionalChain([user, 'optionalAccess', _200 => _200.title]) || "",
7637
- bio: _optionalChain([user, 'optionalAccess', _201 => _201.bio]) || "",
7638
- email: _optionalChain([user, 'optionalAccess', _202 => _202.email]) || "",
7639
- phone: _optionalChain([user, 'optionalAccess', _203 => _203.phone]) || "",
7836
+ id: _optionalChain([user, 'optionalAccess', _215 => _215.id]) || _uuid.v4.call(void 0, ),
7837
+ name: _optionalChain([user, 'optionalAccess', _216 => _216.name]) || "",
7838
+ title: _optionalChain([user, 'optionalAccess', _217 => _217.title]) || "",
7839
+ bio: _optionalChain([user, 'optionalAccess', _218 => _218.bio]) || "",
7840
+ email: _optionalChain([user, 'optionalAccess', _219 => _219.email]) || "",
7841
+ phone: _optionalChain([user, 'optionalAccess', _220 => _220.phone]) || "",
7640
7842
  password: "",
7641
- roleIds: _optionalChain([user, 'optionalAccess', _204 => _204.roles, 'access', _205 => _205.map, 'call', _206 => _206((role) => role.id)]) || [],
7843
+ roleIds: _optionalChain([user, 'optionalAccess', _221 => _221.roles, 'access', _222 => _222.map, 'call', _223 => _223((role) => role.id)]) || [],
7642
7844
  sendInvitationEmail: false,
7643
- avatar: _optionalChain([user, 'optionalAccess', _207 => _207.avatarUrl]) || ""
7845
+ avatar: _optionalChain([user, 'optionalAccess', _224 => _224.avatarUrl]) || ""
7644
7846
  };
7645
7847
  }, [user]);
7646
7848
  const form = _reacthookform.useForm.call(void 0, {
7647
7849
  resolver: _zod.zodResolver.call(void 0, formSchema),
7648
7850
  defaultValues: getDefaultValues()
7649
7851
  });
7650
- const canChangeRoles = !(_optionalChain([currentUser, 'optionalAccess', _208 => _208.id]) === _optionalChain([user, 'optionalAccess', _209 => _209.id]) && hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)) && (hasPermissionToModule({ module: _chunkXAWKRNYMjs.Modules.User, action: "update" /* Update */ }) || hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator));
7852
+ const canChangeRoles = !(_optionalChain([currentUser, 'optionalAccess', _225 => _225.id]) === _optionalChain([user, 'optionalAccess', _226 => _226.id]) && hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)) && (hasPermissionToModule({ module: _chunkXAWKRNYMjs.Modules.User, action: "update" /* Update */ }) || hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator));
7651
7853
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7652
7854
  EditorSheet,
7653
7855
  {
7654
7856
  form,
7655
7857
  entityType: t(`entities.users`, { count: 1 }),
7656
- entityName: _optionalChain([user, 'optionalAccess', _210 => _210.name]),
7858
+ entityName: _optionalChain([user, 'optionalAccess', _227 => _227.name]),
7657
7859
  isEdit: !!user,
7658
7860
  module: _chunkXAWKRNYMjs.Modules.User,
7659
7861
  propagateChanges,
@@ -7705,7 +7907,7 @@ function UserEditorInternal({
7705
7907
  adminCreated
7706
7908
  };
7707
7909
  const updatedUser = user ? await _chunkXAWKRNYMjs.UserService.update(payload) : await _chunkXAWKRNYMjs.UserService.create(payload);
7708
- if (_optionalChain([currentUser, 'optionalAccess', _211 => _211.id]) === updatedUser.id) setUser(updatedUser);
7910
+ if (_optionalChain([currentUser, 'optionalAccess', _228 => _228.id]) === updatedUser.id) setUser(updatedUser);
7709
7911
  return updatedUser;
7710
7912
  },
7711
7913
  onRevalidate,
@@ -7952,7 +8154,7 @@ function EntityMultiSelector({
7952
8154
  if (open) {
7953
8155
  setSearchTerm("");
7954
8156
  requestAnimationFrame(() => {
7955
- _optionalChain([searchInputRef, 'access', _212 => _212.current, 'optionalAccess', _213 => _213.focus, 'call', _214 => _214()]);
8157
+ _optionalChain([searchInputRef, 'access', _229 => _229.current, 'optionalAccess', _230 => _230.focus, 'call', _231 => _231()]);
7956
8158
  });
7957
8159
  }
7958
8160
  }, [open]);
@@ -7969,7 +8171,7 @@ function EntityMultiSelector({
7969
8171
  form.setValue(id, next, { shouldDirty: true, shouldTouch: true });
7970
8172
  const cb = onChangeRef.current;
7971
8173
  if (cb) {
7972
- const fullData = next.map((v) => _optionalChain([options, 'access', _215 => _215.find, 'call', _216 => _216((opt) => opt.id === v.id), 'optionalAccess', _217 => _217.entityData])).filter(Boolean);
8174
+ const fullData = next.map((v) => _optionalChain([options, 'access', _232 => _232.find, 'call', _233 => _233((opt) => opt.id === v.id), 'optionalAccess', _234 => _234.entityData])).filter(Boolean);
7973
8175
  cb(fullData);
7974
8176
  }
7975
8177
  },
@@ -7982,7 +8184,7 @@ function EntityMultiSelector({
7982
8184
  form.setValue(id, next, { shouldDirty: true, shouldTouch: true });
7983
8185
  const cb = onChangeRef.current;
7984
8186
  if (cb) {
7985
- const fullData = next.map((v) => _optionalChain([options, 'access', _218 => _218.find, 'call', _219 => _219((opt) => opt.id === v.id), 'optionalAccess', _220 => _220.entityData])).filter(Boolean);
8187
+ const fullData = next.map((v) => _optionalChain([options, 'access', _235 => _235.find, 'call', _236 => _236((opt) => opt.id === v.id), 'optionalAccess', _237 => _237.entityData])).filter(Boolean);
7986
8188
  cb(fullData);
7987
8189
  }
7988
8190
  },
@@ -8120,11 +8322,11 @@ function UserMultiSelect({
8120
8322
  emptyText: t("ui.search.no_results", { type: t("entities.users", { count: 2 }) }),
8121
8323
  isRequired,
8122
8324
  retriever: (params) => _chunkXAWKRNYMjs.UserService.findAllUsers(params),
8123
- retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _221 => _221.id]) },
8325
+ retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _238 => _238.id]) },
8124
8326
  module: _chunkXAWKRNYMjs.Modules.User,
8125
8327
  getLabel: (user) => user.name,
8126
8328
  toFormValue: (user) => ({ id: user.id, name: user.name, avatar: user.avatar }),
8127
- excludeId: _optionalChain([currentUser, 'optionalAccess', _222 => _222.id]),
8329
+ excludeId: _optionalChain([currentUser, 'optionalAccess', _239 => _239.id]),
8128
8330
  onChange,
8129
8331
  renderOption: (user) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
8130
8332
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserAvatarIcon, { url: user.avatar, name: user.name }),
@@ -8390,7 +8592,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, ErrorDetails, "ErrorDetails");
8390
8592
 
8391
8593
  // src/components/errors/errorToast.ts
8392
8594
  function errorToast(params) {
8393
- _chunkXAWKRNYMjs.showError.call(void 0, _nullishCoalesce(_optionalChain([params, 'optionalAccess', _223 => _223.title]), () => ( "Error")), {
8595
+ _chunkXAWKRNYMjs.showError.call(void 0, _nullishCoalesce(_optionalChain([params, 'optionalAccess', _240 => _240.title]), () => ( "Error")), {
8394
8596
  description: params.error instanceof Error ? params.error.message : String(params.error)
8395
8597
  });
8396
8598
  }
@@ -8554,21 +8756,21 @@ function useEditorDialog(isFormDirty, options) {
8554
8756
  const [open, setOpen] = _react.useState.call(void 0, false);
8555
8757
  const [showDiscardConfirm, setShowDiscardConfirm] = _react.useState.call(void 0, false);
8556
8758
  _react.useEffect.call(void 0, () => {
8557
- if (_optionalChain([options, 'optionalAccess', _224 => _224.dialogOpen]) !== void 0) {
8759
+ if (_optionalChain([options, 'optionalAccess', _241 => _241.dialogOpen]) !== void 0) {
8558
8760
  setOpen(options.dialogOpen);
8559
8761
  }
8560
- }, [_optionalChain([options, 'optionalAccess', _225 => _225.dialogOpen])]);
8762
+ }, [_optionalChain([options, 'optionalAccess', _242 => _242.dialogOpen])]);
8561
8763
  _react.useEffect.call(void 0, () => {
8562
- if (typeof _optionalChain([options, 'optionalAccess', _226 => _226.onDialogOpenChange]) === "function") {
8764
+ if (typeof _optionalChain([options, 'optionalAccess', _243 => _243.onDialogOpenChange]) === "function") {
8563
8765
  options.onDialogOpenChange(open);
8564
8766
  }
8565
- }, [open, _optionalChain([options, 'optionalAccess', _227 => _227.onDialogOpenChange])]);
8767
+ }, [open, _optionalChain([options, 'optionalAccess', _244 => _244.onDialogOpenChange])]);
8566
8768
  _react.useEffect.call(void 0, () => {
8567
- if (_optionalChain([options, 'optionalAccess', _228 => _228.forceShow])) setOpen(true);
8568
- }, [_optionalChain([options, 'optionalAccess', _229 => _229.forceShow])]);
8769
+ if (_optionalChain([options, 'optionalAccess', _245 => _245.forceShow])) setOpen(true);
8770
+ }, [_optionalChain([options, 'optionalAccess', _246 => _246.forceShow])]);
8569
8771
  _react.useEffect.call(void 0, () => {
8570
8772
  if (!open) {
8571
- if (_optionalChain([options, 'optionalAccess', _230 => _230.onClose])) options.onClose();
8773
+ if (_optionalChain([options, 'optionalAccess', _247 => _247.onClose])) options.onClose();
8572
8774
  }
8573
8775
  }, [open]);
8574
8776
  const handleOpenChange = _react.useCallback.call(void 0,
@@ -8660,7 +8862,7 @@ function EditorSheet({
8660
8862
  hasBeenOpen.current = true;
8661
8863
  } else if (hasBeenOpen.current) {
8662
8864
  form.reset(onReset());
8663
- _optionalChain([onClose, 'optionalCall', _231 => _231()]);
8865
+ _optionalChain([onClose, 'optionalCall', _248 => _248()]);
8664
8866
  }
8665
8867
  }, [open]);
8666
8868
  const wrappedOnSubmit = _react.useCallback.call(void 0,
@@ -8674,11 +8876,11 @@ function EditorSheet({
8674
8876
  if (onSuccess) {
8675
8877
  await onSuccess();
8676
8878
  } else if (result) {
8677
- _optionalChain([onRevalidate, 'optionalCall', _232 => _232(generateUrl({ page: module, id: result.id, language: "[locale]" }))]);
8879
+ _optionalChain([onRevalidate, 'optionalCall', _249 => _249(generateUrl({ page: module, id: result.id, language: "[locale]" }))]);
8678
8880
  if (isEdit && propagateChanges) {
8679
8881
  propagateChanges(result);
8680
8882
  } else {
8681
- _optionalChain([onNavigate, 'optionalCall', _233 => _233(generateUrl({ page: module, id: result.id }))]);
8883
+ _optionalChain([onNavigate, 'optionalCall', _250 => _250(generateUrl({ page: module, id: result.id }))]);
8682
8884
  }
8683
8885
  }
8684
8886
  } catch (error) {
@@ -8904,7 +9106,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8904
9106
  const [open, setOpen] = _react.useState.call(void 0, false);
8905
9107
  const [prevRange, setPrevRange] = _react.useState.call(void 0, date);
8906
9108
  _react.useEffect.call(void 0, () => {
8907
- if (_optionalChain([date, 'optionalAccess', _234 => _234.from]) && _optionalChain([date, 'optionalAccess', _235 => _235.to]) && date.to > date.from && (_optionalChain([prevRange, 'optionalAccess', _236 => _236.from, 'optionalAccess', _237 => _237.getTime, 'call', _238 => _238()]) !== date.from.getTime() || _optionalChain([prevRange, 'optionalAccess', _239 => _239.to, 'optionalAccess', _240 => _240.getTime, 'call', _241 => _241()]) !== date.to.getTime())) {
9109
+ if (_optionalChain([date, 'optionalAccess', _251 => _251.from]) && _optionalChain([date, 'optionalAccess', _252 => _252.to]) && date.to > date.from && (_optionalChain([prevRange, 'optionalAccess', _253 => _253.from, 'optionalAccess', _254 => _254.getTime, 'call', _255 => _255()]) !== date.from.getTime() || _optionalChain([prevRange, 'optionalAccess', _256 => _256.to, 'optionalAccess', _257 => _257.getTime, 'call', _258 => _258()]) !== date.to.getTime())) {
8908
9110
  onDateChange(date);
8909
9111
  setPrevRange(date);
8910
9112
  setOpen(false);
@@ -8915,7 +9117,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8915
9117
  setDate(void 0);
8916
9118
  return;
8917
9119
  }
8918
- if (range.from && (!_optionalChain([date, 'optionalAccess', _242 => _242.from]) || range.from.getTime() !== date.from.getTime())) {
9120
+ if (range.from && (!_optionalChain([date, 'optionalAccess', _259 => _259.from]) || range.from.getTime() !== date.from.getTime())) {
8919
9121
  setDate({ from: range.from, to: void 0 });
8920
9122
  } else {
8921
9123
  setDate(range);
@@ -8930,7 +9132,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8930
9132
  className: _chunkXAWKRNYMjs.cn.call(void 0, "w-[300px] justify-start text-left font-normal", !date && "text-muted-foreground"),
8931
9133
  children: [
8932
9134
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CalendarIcon, {}),
8933
- _optionalChain([date, 'optionalAccess', _243 => _243.from]) ? date.to ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9135
+ _optionalChain([date, 'optionalAccess', _260 => _260.from]) ? date.to ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8934
9136
  _datefns.format.call(void 0, date.from, "LLL dd, y"),
8935
9137
  " - ",
8936
9138
  _datefns.format.call(void 0, date.to, "LLL dd, y")
@@ -8943,7 +9145,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8943
9145
  Calendar,
8944
9146
  {
8945
9147
  mode: "range",
8946
- defaultMonth: _nullishCoalesce(_optionalChain([date, 'optionalAccess', _244 => _244.from]), () => ( (showPreviousMonth ? new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth() - 1, 1) : void 0))),
9148
+ defaultMonth: _nullishCoalesce(_optionalChain([date, 'optionalAccess', _261 => _261.from]), () => ( (showPreviousMonth ? new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth() - 1, 1) : void 0))),
8947
9149
  selected: date,
8948
9150
  onSelect: handleSelect,
8949
9151
  numberOfMonths: 2
@@ -9030,7 +9232,7 @@ var FileUploader = _react.forwardRef.call(void 0,
9030
9232
  movePrev();
9031
9233
  } else if (e.key === "Enter" || e.key === "Space") {
9032
9234
  if (activeIndex === -1) {
9033
- _optionalChain([dropzoneState, 'access', _245 => _245.inputRef, 'access', _246 => _246.current, 'optionalAccess', _247 => _247.click, 'call', _248 => _248()]);
9235
+ _optionalChain([dropzoneState, 'access', _262 => _262.inputRef, 'access', _263 => _263.current, 'optionalAccess', _264 => _264.click, 'call', _265 => _265()]);
9034
9236
  }
9035
9237
  } else if (e.key === "Delete" || e.key === "Backspace") {
9036
9238
  if (activeIndex !== -1) {
@@ -9068,13 +9270,13 @@ var FileUploader = _react.forwardRef.call(void 0,
9068
9270
  onValueChange(newValues);
9069
9271
  if (rejectedFiles.length > 0) {
9070
9272
  for (let i = 0; i < rejectedFiles.length; i++) {
9071
- if (_optionalChain([rejectedFiles, 'access', _249 => _249[i], 'access', _250 => _250.errors, 'access', _251 => _251[0], 'optionalAccess', _252 => _252.code]) === "file-too-large") {
9273
+ if (_optionalChain([rejectedFiles, 'access', _266 => _266[i], 'access', _267 => _267.errors, 'access', _268 => _268[0], 'optionalAccess', _269 => _269.code]) === "file-too-large") {
9072
9274
  _chunkXAWKRNYMjs.showError.call(void 0, t("common.errors.file"), {
9073
9275
  description: t(`common.errors.file_max`, { size: maxSize / 1024 / 1024 })
9074
9276
  });
9075
9277
  break;
9076
9278
  }
9077
- if (_optionalChain([rejectedFiles, 'access', _253 => _253[i], 'access', _254 => _254.errors, 'access', _255 => _255[0], 'optionalAccess', _256 => _256.message])) {
9279
+ if (_optionalChain([rejectedFiles, 'access', _270 => _270[i], 'access', _271 => _271.errors, 'access', _272 => _272[0], 'optionalAccess', _273 => _273.message])) {
9078
9280
  _chunkXAWKRNYMjs.showError.call(void 0, t(`common.errors.file`), {
9079
9281
  description: rejectedFiles[i].errors[0].message
9080
9282
  });
@@ -9273,7 +9475,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, FormCheckbox, "FormCheckbox");
9273
9475
  var _dynamic = require('next/dynamic'); var _dynamic2 = _interopRequireDefault(_dynamic);
9274
9476
 
9275
9477
 
9276
- var BlockNoteEditor = _dynamic2.default.call(void 0, () => Promise.resolve().then(() => _interopRequireWildcard(require("./BlockNoteEditor-3SXAMY6O.js"))), {
9478
+ var BlockNoteEditor = _dynamic2.default.call(void 0, () => Promise.resolve().then(() => _interopRequireWildcard(require("./BlockNoteEditor-ZD2AMN72.js"))), {
9277
9479
  ssr: false
9278
9480
  });
9279
9481
  var BlockNoteEditorContainer = React.default.memo(/* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, function EditorContainer(props) {
@@ -9337,7 +9539,7 @@ function FormBlockNote({
9337
9539
  onChange: (content, isEmpty) => {
9338
9540
  lastEditorContentRef.current = content;
9339
9541
  field.onChange(content);
9340
- _optionalChain([onEmptyChange, 'optionalCall', _257 => _257(isEmpty)]);
9542
+ _optionalChain([onEmptyChange, 'optionalCall', _274 => _274(isEmpty)]);
9341
9543
  },
9342
9544
  placeholder,
9343
9545
  bordered: true,
@@ -9914,11 +10116,11 @@ function FormPlaceAutocomplete({
9914
10116
  const data = await response.json();
9915
10117
  if (data.suggestions) {
9916
10118
  const formattedSuggestions = data.suggestions.map((suggestion) => ({
9917
- place_id: _optionalChain([suggestion, 'access', _258 => _258.placePrediction, 'optionalAccess', _259 => _259.placeId]) || "",
9918
- description: _optionalChain([suggestion, 'access', _260 => _260.placePrediction, 'optionalAccess', _261 => _261.text, 'optionalAccess', _262 => _262.text]) || "",
10119
+ place_id: _optionalChain([suggestion, 'access', _275 => _275.placePrediction, 'optionalAccess', _276 => _276.placeId]) || "",
10120
+ description: _optionalChain([suggestion, 'access', _277 => _277.placePrediction, 'optionalAccess', _278 => _278.text, 'optionalAccess', _279 => _279.text]) || "",
9919
10121
  structured_formatting: {
9920
- main_text: _optionalChain([suggestion, 'access', _263 => _263.placePrediction, 'optionalAccess', _264 => _264.structuredFormat, 'optionalAccess', _265 => _265.mainText, 'optionalAccess', _266 => _266.text]) || "",
9921
- secondary_text: _optionalChain([suggestion, 'access', _267 => _267.placePrediction, 'optionalAccess', _268 => _268.structuredFormat, 'optionalAccess', _269 => _269.secondaryText, 'optionalAccess', _270 => _270.text]) || ""
10122
+ main_text: _optionalChain([suggestion, 'access', _280 => _280.placePrediction, 'optionalAccess', _281 => _281.structuredFormat, 'optionalAccess', _282 => _282.mainText, 'optionalAccess', _283 => _283.text]) || "",
10123
+ secondary_text: _optionalChain([suggestion, 'access', _284 => _284.placePrediction, 'optionalAccess', _285 => _285.structuredFormat, 'optionalAccess', _286 => _286.secondaryText, 'optionalAccess', _287 => _287.text]) || ""
9922
10124
  }
9923
10125
  }));
9924
10126
  setSuggestions(formattedSuggestions);
@@ -9976,7 +10178,7 @@ function FormPlaceAutocomplete({
9976
10178
  }
9977
10179
  }
9978
10180
  return result;
9979
- } catch (e5) {
10181
+ } catch (e6) {
9980
10182
  return defaults;
9981
10183
  }
9982
10184
  }, "fetchPlaceDetails");
@@ -10065,8 +10267,8 @@ function FormPlaceAutocomplete({
10065
10267
  className: "hover:bg-muted cursor-pointer px-3 py-2 text-sm",
10066
10268
  onClick: () => handleSuggestionSelect(suggestion),
10067
10269
  children: [
10068
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-medium", children: _optionalChain([suggestion, 'access', _271 => _271.structured_formatting, 'optionalAccess', _272 => _272.main_text]) }),
10069
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground", children: _optionalChain([suggestion, 'access', _273 => _273.structured_formatting, 'optionalAccess', _274 => _274.secondary_text]) })
10270
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-medium", children: _optionalChain([suggestion, 'access', _288 => _288.structured_formatting, 'optionalAccess', _289 => _289.main_text]) }),
10271
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground", children: _optionalChain([suggestion, 'access', _290 => _290.structured_formatting, 'optionalAccess', _291 => _291.secondary_text]) })
10070
10272
  ]
10071
10273
  },
10072
10274
  suggestion.place_id || index
@@ -10112,7 +10314,7 @@ function FormSelect({
10112
10314
  disabled,
10113
10315
  "data-testid": testId,
10114
10316
  children: [
10115
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, { children: field.value ? _optionalChain([values, 'access', _275 => _275.find, 'call', _276 => _276((v) => v.id === field.value), 'optionalAccess', _277 => _277.text]) : _nullishCoalesce(placeholder, () => ( "")) }) }),
10317
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, { children: field.value ? _optionalChain([values, 'access', _292 => _292.find, 'call', _293 => _293((v) => v.id === field.value), 'optionalAccess', _294 => _294.text]) : _nullishCoalesce(placeholder, () => ( "")) }) }),
10116
10318
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SelectContent, { children: [
10117
10319
  allowEmpty && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: EMPTY_VALUE, className: "text-muted-foreground", children: _nullishCoalesce(placeholder, () => ( "")) }),
10118
10320
  values.map((type) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: type.id, children: type.text }, type.id))
@@ -10283,7 +10485,7 @@ function UserAvatar({ user, className, showFull, showLink, showTooltip = true })
10283
10485
  }, "getInitials");
10284
10486
  const getAvatar = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
10285
10487
  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: [
10286
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { className: "object-cover", src: _optionalChain([user, 'optionalAccess', _278 => _278.avatar]) }),
10488
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { className: "object-cover", src: _optionalChain([user, 'optionalAccess', _295 => _295.avatar]) }),
10287
10489
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: getInitials3(user.name) })
10288
10490
  ] }) });
10289
10491
  }, "getAvatar");
@@ -10474,7 +10676,7 @@ var useUserTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0,
10474
10676
  })
10475
10677
  };
10476
10678
  const columns = _react.useMemo.call(void 0, () => {
10477
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _279 => _279[field], 'optionalCall', _280 => _280()])).filter((col) => col !== void 0);
10679
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _296 => _296[field], 'optionalCall', _297 => _297()])).filter((col) => col !== void 0);
10478
10680
  }, [params.fields, fieldColumnMap, t, generateUrl]);
10479
10681
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
10480
10682
  }, "useUserTableStructure");
@@ -10588,10 +10790,10 @@ function UserSelector({ id, form, label, placeholder, onChange, isRequired = fal
10588
10790
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between", children: [
10589
10791
  /* @__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: [
10590
10792
  /* @__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: [
10591
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { src: _optionalChain([field, 'access', _281 => _281.value, 'optionalAccess', _282 => _282.avatar]) }),
10592
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: _optionalChain([field, 'access', _283 => _283.value, 'optionalAccess', _284 => _284.name]) ? _optionalChain([field, 'access', _285 => _285.value, 'optionalAccess', _286 => _286.name, 'access', _287 => _287.split, 'call', _288 => _288(" "), 'access', _289 => _289.map, 'call', _290 => _290((name) => name.charAt(0).toUpperCase())]) : "X" })
10793
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { src: _optionalChain([field, 'access', _298 => _298.value, 'optionalAccess', _299 => _299.avatar]) }),
10794
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: _optionalChain([field, 'access', _300 => _300.value, 'optionalAccess', _301 => _301.name]) ? _optionalChain([field, 'access', _302 => _302.value, 'optionalAccess', _303 => _303.name, 'access', _304 => _304.split, 'call', _305 => _305(" "), 'access', _306 => _306.map, 'call', _307 => _307((name) => name.charAt(0).toUpperCase())]) : "X" })
10593
10795
  ] }) }),
10594
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _291 => _291.value, 'optionalAccess', _292 => _292.name]), () => ( "")) })
10796
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _308 => _308.value, 'optionalAccess', _309 => _309.name]), () => ( "")) })
10595
10797
  ] }) : /* @__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 }) }))) }) }) }),
10596
10798
  field.value && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10597
10799
  _lucidereact.CircleX,
@@ -10922,7 +11124,7 @@ function CompanyUsersList({ isDeleted, fullWidth }) {
10922
11124
  const data = useDataListRetriever({
10923
11125
  ready: !!company,
10924
11126
  retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkXAWKRNYMjs.UserService.findAllUsers(params), "retriever"),
10925
- retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _293 => _293.id]), isDeleted },
11127
+ retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _310 => _310.id]), isDeleted },
10926
11128
  module: _chunkXAWKRNYMjs.Modules.User
10927
11129
  });
10928
11130
  _react.useEffect.call(void 0, () => {
@@ -11029,11 +11231,11 @@ function UserListInAdd({ data, existingUsers, setSelectedUser, setLevelOpen }) {
11029
11231
  className: "cursor-pointer hover:bg-muted data-selected:hover:bg-muted bg-transparent data-selected:bg-transparent",
11030
11232
  onClick: (_e) => {
11031
11233
  setSelectedUser(user);
11032
- _optionalChain([setLevelOpen, 'optionalCall', _294 => _294(true)]);
11234
+ _optionalChain([setLevelOpen, 'optionalCall', _311 => _311(true)]);
11033
11235
  },
11034
11236
  onSelect: (_e) => {
11035
11237
  setSelectedUser(user);
11036
- _optionalChain([setLevelOpen, 'optionalCall', _295 => _295(true)]);
11238
+ _optionalChain([setLevelOpen, 'optionalCall', _312 => _312(true)]);
11037
11239
  },
11038
11240
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between px-4 py-1", children: [
11039
11241
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserAvatar, { user }),
@@ -11103,7 +11305,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, UsersListByContentIds, "UsersListByContentI
11103
11305
  function parseFiscalData(fiscalDataJson) {
11104
11306
  try {
11105
11307
  return fiscalDataJson ? JSON.parse(fiscalDataJson) : {};
11106
- } catch (e6) {
11308
+ } catch (e7) {
11107
11309
  return {};
11108
11310
  }
11109
11311
  }
@@ -11164,7 +11366,7 @@ function CompanyContent({ company, actions }) {
11164
11366
  company.legal_address
11165
11367
  ] }),
11166
11368
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-y-1", children: [
11167
- _optionalChain([company, 'access', _296 => _296.configurations, 'optionalAccess', _297 => _297.country]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
11369
+ _optionalChain([company, 'access', _313 => _313.configurations, 'optionalAccess', _314 => _314.country]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
11168
11370
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "font-medium", children: [
11169
11371
  t("features.configuration.country"),
11170
11372
  ":"
@@ -11172,7 +11374,7 @@ function CompanyContent({ company, actions }) {
11172
11374
  " ",
11173
11375
  company.configurations.country
11174
11376
  ] }),
11175
- _optionalChain([company, 'access', _298 => _298.configurations, 'optionalAccess', _299 => _299.currency]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
11377
+ _optionalChain([company, 'access', _315 => _315.configurations, 'optionalAccess', _316 => _316.currency]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
11176
11378
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "font-medium", children: [
11177
11379
  t("features.configuration.currency"),
11178
11380
  ":"
@@ -11582,7 +11784,7 @@ function CompanyEditorInternal({
11582
11784
  const t = _nextintl.useTranslations.call(void 0, );
11583
11785
  const fiscalRef = _react.useRef.call(void 0, null);
11584
11786
  const addressComponentsRef = _react.useRef.call(void 0, {});
11585
- const canAccessFeatures = hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator) || hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).CompanyAdministrator) && _optionalChain([process, 'access', _300 => _300.env, 'access', _301 => _301.NEXT_PUBLIC_PRIVATE_INSTALLATION, 'optionalAccess', _302 => _302.toLowerCase, 'call', _303 => _303()]) === "true";
11787
+ const canAccessFeatures = hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator) || hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).CompanyAdministrator) && _optionalChain([process, 'access', _317 => _317.env, 'access', _318 => _318.NEXT_PUBLIC_PRIVATE_INSTALLATION, 'optionalAccess', _319 => _319.toLowerCase, 'call', _320 => _320()]) === "true";
11586
11788
  const handleDialogOpenChange = _react.useCallback.call(void 0,
11587
11789
  (open) => {
11588
11790
  if (open && features.length === 0 && canAccessFeatures) {
@@ -11597,7 +11799,7 @@ function CompanyEditorInternal({
11597
11799
  _chunk7QVYU63Ejs.__name.call(void 0, fetchFeatures, "fetchFeatures");
11598
11800
  fetchFeatures();
11599
11801
  }
11600
- _optionalChain([onDialogOpenChange, 'optionalCall', _304 => _304(open)]);
11802
+ _optionalChain([onDialogOpenChange, 'optionalCall', _321 => _321(open)]);
11601
11803
  },
11602
11804
  [features.length, canAccessFeatures, hasRole, onDialogOpenChange]
11603
11805
  );
@@ -11642,12 +11844,12 @@ function CompanyEditorInternal({
11642
11844
  );
11643
11845
  const getDefaultValues = _react.useCallback.call(void 0, () => {
11644
11846
  return {
11645
- id: _optionalChain([company, 'optionalAccess', _305 => _305.id]) || _uuid.v4.call(void 0, ),
11646
- name: _optionalChain([company, 'optionalAccess', _306 => _306.name]) || "",
11647
- featureIds: _optionalChain([company, 'optionalAccess', _307 => _307.features, 'access', _308 => _308.map, 'call', _309 => _309((feature) => feature.id)]) || [],
11648
- moduleIds: _optionalChain([company, 'optionalAccess', _310 => _310.modules, 'access', _311 => _311.map, 'call', _312 => _312((module) => module.id)]) || [],
11649
- logo: _optionalChain([company, 'optionalAccess', _313 => _313.logo]) || "",
11650
- legal_address: _optionalChain([company, 'optionalAccess', _314 => _314.legal_address]) || ""
11847
+ id: _optionalChain([company, 'optionalAccess', _322 => _322.id]) || _uuid.v4.call(void 0, ),
11848
+ name: _optionalChain([company, 'optionalAccess', _323 => _323.name]) || "",
11849
+ featureIds: _optionalChain([company, 'optionalAccess', _324 => _324.features, 'access', _325 => _325.map, 'call', _326 => _326((feature) => feature.id)]) || [],
11850
+ moduleIds: _optionalChain([company, 'optionalAccess', _327 => _327.modules, 'access', _328 => _328.map, 'call', _329 => _329((module) => module.id)]) || [],
11851
+ logo: _optionalChain([company, 'optionalAccess', _330 => _330.logo]) || "",
11852
+ legal_address: _optionalChain([company, 'optionalAccess', _331 => _331.legal_address]) || ""
11651
11853
  };
11652
11854
  }, [company]);
11653
11855
  const form = _reacthookform.useForm.call(void 0, {
@@ -11659,7 +11861,7 @@ function CompanyEditorInternal({
11659
11861
  {
11660
11862
  form,
11661
11863
  entityType: t(`entities.companies`, { count: 1 }),
11662
- entityName: _optionalChain([company, 'optionalAccess', _315 => _315.name]),
11864
+ entityName: _optionalChain([company, 'optionalAccess', _332 => _332.name]),
11663
11865
  isEdit: !!company,
11664
11866
  module: _chunkXAWKRNYMjs.Modules.Company,
11665
11867
  propagateChanges,
@@ -11684,7 +11886,7 @@ function CompanyEditorInternal({
11684
11886
  throw new Error("Fiscal data validation failed");
11685
11887
  }
11686
11888
  const payload = {
11687
- id: _nullishCoalesce(_optionalChain([company, 'optionalAccess', _316 => _316.id]), () => ( _uuid.v4.call(void 0, ))),
11889
+ id: _nullishCoalesce(_optionalChain([company, 'optionalAccess', _333 => _333.id]), () => ( _uuid.v4.call(void 0, ))),
11688
11890
  name: values.name,
11689
11891
  logo: files && contentType ? values.logo : void 0,
11690
11892
  featureIds: values.featureIds,
@@ -11715,10 +11917,10 @@ function CompanyEditorInternal({
11715
11917
  dialogOpen,
11716
11918
  onDialogOpenChange: handleDialogOpenChange,
11717
11919
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start justify-between gap-x-4", children: [
11718
- /* @__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', _317 => _317.logo]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11920
+ /* @__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', _334 => _334.logo]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11719
11921
  _image2.default,
11720
11922
  {
11721
- src: file ? URL.createObjectURL(file) : _optionalChain([company, 'optionalAccess', _318 => _318.logo]) || "",
11923
+ src: file ? URL.createObjectURL(file) : _optionalChain([company, 'optionalAccess', _335 => _335.logo]) || "",
11722
11924
  alt: "Company Logo",
11723
11925
  width: 200,
11724
11926
  height: 200
@@ -11752,7 +11954,7 @@ function CompanyEditorInternal({
11752
11954
  }
11753
11955
  ),
11754
11956
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "mt-2 text-sm font-semibold", children: t(`company.sections.fiscal_data`) }),
11755
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ItalianFiscalData_default, { ref: fiscalRef, initialData: parseFiscalData(_optionalChain([company, 'optionalAccess', _319 => _319.fiscal_data])) })
11957
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ItalianFiscalData_default, { ref: fiscalRef, initialData: parseFiscalData(_optionalChain([company, 'optionalAccess', _336 => _336.fiscal_data])) })
11756
11958
  ] }),
11757
11959
  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 }) }) })
11758
11960
  ] })
@@ -11869,7 +12071,7 @@ function NotificationToast(notification, t, generateUrl, reouter) {
11869
12071
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
11870
12072
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
11871
12073
  strong: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (chunks) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: chunks }), "strong"),
11872
- actor: _nullishCoalesce(_optionalChain([data, 'access', _320 => _320.actor, 'optionalAccess', _321 => _321.name]), () => ( "")),
12074
+ actor: _nullishCoalesce(_optionalChain([data, 'access', _337 => _337.actor, 'optionalAccess', _338 => _338.name]), () => ( "")),
11873
12075
  title: data.title,
11874
12076
  message: _nullishCoalesce(notification.message, () => ( ""))
11875
12077
  }) }),
@@ -11898,7 +12100,7 @@ function NotificationMenuItem({ notification, closePopover }) {
11898
12100
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
11899
12101
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
11900
12102
  strong: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (chunks) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: chunks }), "strong"),
11901
- actor: _nullishCoalesce(_optionalChain([data, 'access', _322 => _322.actor, 'optionalAccess', _323 => _323.name]), () => ( "")),
12103
+ actor: _nullishCoalesce(_optionalChain([data, 'access', _339 => _339.actor, 'optionalAccess', _340 => _340.name]), () => ( "")),
11902
12104
  title: data.title,
11903
12105
  message: _nullishCoalesce(notification.message, () => ( ""))
11904
12106
  }) }),
@@ -11955,7 +12157,7 @@ var NotificationContextProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(v
11955
12157
  _react.useEffect.call(void 0, () => {
11956
12158
  if (hasInitiallyLoaded || !currentUser) return;
11957
12159
  if (_chunkSE5HIHJSjs.isRolesConfigured.call(void 0, )) {
11958
- const isAdmin = _optionalChain([currentUser, 'access', _324 => _324.roles, 'optionalAccess', _325 => _325.some, 'call', _326 => _326((role) => role.id === _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)]);
12160
+ const isAdmin = _optionalChain([currentUser, 'access', _341 => _341.roles, 'optionalAccess', _342 => _342.some, 'call', _343 => _343((role) => role.id === _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)]);
11959
12161
  if (isAdmin) {
11960
12162
  setHasInitiallyLoaded(true);
11961
12163
  return;
@@ -12157,7 +12359,7 @@ function OnboardingProvider({
12157
12359
  let tourSteps = steps;
12158
12360
  if (!tourSteps) {
12159
12361
  const tour2 = tours.find((t) => t.id === tourId);
12160
- tourSteps = _optionalChain([tour2, 'optionalAccess', _327 => _327.steps]);
12362
+ tourSteps = _optionalChain([tour2, 'optionalAccess', _344 => _344.steps]);
12161
12363
  }
12162
12364
  if (!tourSteps || tourSteps.length === 0) {
12163
12365
  console.warn(`No steps found for tour: ${tourId}`);
@@ -12225,10 +12427,10 @@ function OnboardingProvider({
12225
12427
  when: {
12226
12428
  show: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
12227
12429
  setCurrentStepIndex(index);
12228
- _optionalChain([stepConfig, 'access', _328 => _328.onShow, 'optionalCall', _329 => _329()]);
12430
+ _optionalChain([stepConfig, 'access', _345 => _345.onShow, 'optionalCall', _346 => _346()]);
12229
12431
  }, "show"),
12230
12432
  hide: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
12231
- _optionalChain([stepConfig, 'access', _330 => _330.onHide, 'optionalCall', _331 => _331()]);
12433
+ _optionalChain([stepConfig, 'access', _347 => _347.onHide, 'optionalCall', _348 => _348()]);
12232
12434
  }, "hide")
12233
12435
  }
12234
12436
  });
@@ -12459,10 +12661,10 @@ function HowToEditorInternal({
12459
12661
  );
12460
12662
  const getDefaultValues = _react.useCallback.call(void 0,
12461
12663
  () => ({
12462
- id: _optionalChain([howTo, 'optionalAccess', _332 => _332.id]) || _uuid.v4.call(void 0, ),
12463
- name: _optionalChain([howTo, 'optionalAccess', _333 => _333.name]) || "",
12464
- description: _optionalChain([howTo, 'optionalAccess', _334 => _334.description]) || [],
12465
- pages: _chunkXAWKRNYMjs.HowTo.parsePagesFromString(_optionalChain([howTo, 'optionalAccess', _335 => _335.pages]))
12664
+ id: _optionalChain([howTo, 'optionalAccess', _349 => _349.id]) || _uuid.v4.call(void 0, ),
12665
+ name: _optionalChain([howTo, 'optionalAccess', _350 => _350.name]) || "",
12666
+ description: _optionalChain([howTo, 'optionalAccess', _351 => _351.description]) || [],
12667
+ pages: _chunkXAWKRNYMjs.HowTo.parsePagesFromString(_optionalChain([howTo, 'optionalAccess', _352 => _352.pages]))
12466
12668
  }),
12467
12669
  [howTo]
12468
12670
  );
@@ -12493,7 +12695,7 @@ function HowToEditorInternal({
12493
12695
  {
12494
12696
  form,
12495
12697
  entityType: t(`entities.howtos`, { count: 1 }),
12496
- entityName: _optionalChain([howTo, 'optionalAccess', _336 => _336.name]),
12698
+ entityName: _optionalChain([howTo, 'optionalAccess', _353 => _353.name]),
12497
12699
  isEdit: !!howTo,
12498
12700
  module: _chunkXAWKRNYMjs.Modules.HowTo,
12499
12701
  propagateChanges,
@@ -12797,7 +12999,7 @@ function withPatchedTitle(source, title) {
12797
12999
  return _chunkXAWKRNYMjs.rehydrate.call(void 0, _chunkXAWKRNYMjs.Modules.Assistant, {
12798
13000
  jsonApi: {
12799
13001
  ...dehydrated.jsonApi,
12800
- attributes: { ..._nullishCoalesce(_optionalChain([dehydrated, 'access', _337 => _337.jsonApi, 'optionalAccess', _338 => _338.attributes]), () => ( {})), title }
13002
+ attributes: { ..._nullishCoalesce(_optionalChain([dehydrated, 'access', _354 => _354.jsonApi, 'optionalAccess', _355 => _355.attributes]), () => ( {})), title }
12801
13003
  },
12802
13004
  included: dehydrated.included
12803
13005
  });
@@ -12824,7 +13026,7 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages }
12824
13026
  if (!trimmed) return;
12825
13027
  const optimistic = _chunkXAWKRNYMjs.AssistantMessage.buildOptimistic({
12826
13028
  content: trimmed,
12827
- assistantId: _optionalChain([assistant, 'optionalAccess', _339 => _339.id]),
13029
+ assistantId: _optionalChain([assistant, 'optionalAccess', _356 => _356.id]),
12828
13030
  position: nextPosition(messages)
12829
13031
  });
12830
13032
  setMessages((prev) => [...prev, optimistic]);
@@ -12834,7 +13036,7 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages }
12834
13036
  if (assistant && payload.assistantId && payload.assistantId !== assistant.id) return;
12835
13037
  if (typeof payload.status === "string") setStatus(payload.status);
12836
13038
  }, "handler");
12837
- _optionalChain([socket, 'optionalAccess', _340 => _340.on, 'call', _341 => _341("assistant:status", handler)]);
13039
+ _optionalChain([socket, 'optionalAccess', _357 => _357.on, 'call', _358 => _358("assistant:status", handler)]);
12838
13040
  try {
12839
13041
  if (!assistant) {
12840
13042
  const created = await _chunkXAWKRNYMjs.AssistantService.create({ firstMessage: trimmed });
@@ -12852,14 +13054,14 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages }
12852
13054
  });
12853
13055
  setMessages((prev) => [...stripOptimistic(prev), ...result]);
12854
13056
  }
12855
- } catch (e7) {
13057
+ } catch (e8) {
12856
13058
  setFailedMessageIds((prev) => {
12857
13059
  const next = new Set(prev);
12858
13060
  next.add(optimistic.id);
12859
13061
  return next;
12860
13062
  });
12861
13063
  } finally {
12862
- _optionalChain([socket, 'optionalAccess', _342 => _342.off, 'call', _343 => _343("assistant:status", handler)]);
13064
+ _optionalChain([socket, 'optionalAccess', _359 => _359.off, 'call', _360 => _360("assistant:status", handler)]);
12863
13065
  setSending(false);
12864
13066
  setStatus(void 0);
12865
13067
  }
@@ -12909,7 +13111,7 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages }
12909
13111
  await _chunkXAWKRNYMjs.AssistantService.delete({ id });
12910
13112
  setThreads((prev) => prev.filter((t2) => t2.id !== id));
12911
13113
  setAssistant((prev) => {
12912
- if (_optionalChain([prev, 'optionalAccess', _344 => _344.id]) === id) {
13114
+ if (_optionalChain([prev, 'optionalAccess', _361 => _361.id]) === id) {
12913
13115
  setMessages([]);
12914
13116
  return void 0;
12915
13117
  }
@@ -13124,7 +13326,7 @@ function EditableAvatar({
13124
13326
  }, [image, isUploading, patchImage, t]);
13125
13327
  const handleFileInputChange = _react.useCallback.call(void 0,
13126
13328
  (e) => {
13127
- const file = _optionalChain([e, 'access', _345 => _345.target, 'access', _346 => _346.files, 'optionalAccess', _347 => _347[0]]);
13329
+ const file = _optionalChain([e, 'access', _362 => _362.target, 'access', _363 => _363.files, 'optionalAccess', _364 => _364[0]]);
13128
13330
  if (file) handleFile(file);
13129
13331
  e.target.value = "";
13130
13332
  },
@@ -13133,7 +13335,7 @@ function EditableAvatar({
13133
13335
  const handleDrop = _react.useCallback.call(void 0,
13134
13336
  (e) => {
13135
13337
  e.preventDefault();
13136
- const file = _optionalChain([e, 'access', _348 => _348.dataTransfer, 'access', _349 => _349.files, 'optionalAccess', _350 => _350[0]]);
13338
+ const file = _optionalChain([e, 'access', _365 => _365.dataTransfer, 'access', _366 => _366.files, 'optionalAccess', _367 => _367[0]]);
13137
13339
  if (file && file.type.startsWith("image/")) {
13138
13340
  handleFile(file);
13139
13341
  }
@@ -13160,7 +13362,7 @@ function EditableAvatar({
13160
13362
  "button",
13161
13363
  {
13162
13364
  type: "button",
13163
- onClick: () => _optionalChain([fileInputRef, 'access', _351 => _351.current, 'optionalAccess', _352 => _352.click, 'call', _353 => _353()]),
13365
+ onClick: () => _optionalChain([fileInputRef, 'access', _368 => _368.current, 'optionalAccess', _369 => _369.click, 'call', _370 => _370()]),
13164
13366
  disabled: isUploading,
13165
13367
  className: "rounded-full p-2 text-white hover:bg-white/20 disabled:opacity-50",
13166
13368
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.PencilIcon, { className: "h-4 w-4" })
@@ -13241,7 +13443,7 @@ function BreadcrumbMobile({
13241
13443
  }
13242
13444
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DropdownMenu, { open, onOpenChange: setOpen, children: [
13243
13445
  /* @__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: [
13244
- _optionalChain([lastItem, 'optionalAccess', _354 => _354.name]),
13446
+ _optionalChain([lastItem, 'optionalAccess', _371 => _371.name]),
13245
13447
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon, { className: "text-muted-foreground size-3.5" })
13246
13448
  ] }),
13247
13449
  /* @__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)) })
@@ -13545,7 +13747,7 @@ function RoundPageContainer({
13545
13747
  const [mounted, setMounted] = _react.useState.call(void 0, false);
13546
13748
  _react.useEffect.call(void 0, () => {
13547
13749
  const match = document.cookie.split("; ").find((row) => row.startsWith(`${DETAILS_COOKIE_NAME}=`));
13548
- if (_optionalChain([match, 'optionalAccess', _355 => _355.split, 'call', _356 => _356("="), 'access', _357 => _357[1]]) === "true") setShowDetailsState(true);
13750
+ if (_optionalChain([match, 'optionalAccess', _372 => _372.split, 'call', _373 => _373("="), 'access', _374 => _374[1]]) === "true") setShowDetailsState(true);
13549
13751
  }, []);
13550
13752
  _react.useEffect.call(void 0, () => {
13551
13753
  setMounted(true);
@@ -13557,11 +13759,11 @@ function RoundPageContainer({
13557
13759
  const searchParams = _navigation.useSearchParams.call(void 0, );
13558
13760
  const section = searchParams.get("section");
13559
13761
  const rewriteUrl = useUrlRewriter();
13560
- const initialValue = tabs ? (section && tabs.find((i) => (_nullishCoalesce(_optionalChain([i, 'access', _358 => _358.key, 'optionalAccess', _359 => _359.name]), () => ( i.label))) === section) ? section : null) || (_nullishCoalesce(_optionalChain([tabs, 'access', _360 => _360[0], 'access', _361 => _361.key, 'optionalAccess', _362 => _362.name]), () => ( tabs[0].label))) : void 0;
13762
+ const initialValue = tabs ? (section && tabs.find((i) => (_nullishCoalesce(_optionalChain([i, 'access', _375 => _375.key, 'optionalAccess', _376 => _376.name]), () => ( i.label))) === section) ? section : null) || (_nullishCoalesce(_optionalChain([tabs, 'access', _377 => _377[0], 'access', _378 => _378.key, 'optionalAccess', _379 => _379.name]), () => ( tabs[0].label))) : void 0;
13561
13763
  const [activeTab, setActiveTab] = _react.useState.call(void 0, initialValue);
13562
13764
  _react.useEffect.call(void 0, () => {
13563
13765
  if (tabs && section) {
13564
- const tab = tabs.find((i) => (_nullishCoalesce(_optionalChain([i, 'access', _363 => _363.key, 'optionalAccess', _364 => _364.name]), () => ( i.label))) === section);
13766
+ const tab = tabs.find((i) => (_nullishCoalesce(_optionalChain([i, 'access', _380 => _380.key, 'optionalAccess', _381 => _381.name]), () => ( i.label))) === section);
13565
13767
  if (tab) {
13566
13768
  setActiveTab(section);
13567
13769
  }
@@ -13574,7 +13776,7 @@ function RoundPageContainer({
13574
13776
  },
13575
13777
  [module, id, rewriteUrl]
13576
13778
  );
13577
- const activeFillHeight = _optionalChain([tabs, 'optionalAccess', _365 => _365.find, 'call', _366 => _366((t) => (_nullishCoalesce(_optionalChain([t, 'access', _367 => _367.key, 'optionalAccess', _368 => _368.name]), () => ( t.label))) === activeTab), 'optionalAccess', _369 => _369.fillHeight]) === true;
13779
+ const activeFillHeight = _optionalChain([tabs, 'optionalAccess', _382 => _382.find, 'call', _383 => _383((t) => (_nullishCoalesce(_optionalChain([t, 'access', _384 => _384.key, 'optionalAccess', _385 => _385.name]), () => ( t.label))) === activeTab), 'optionalAccess', _386 => _386.fillHeight]) === true;
13578
13780
  const isReady = mounted && isMobile !== void 0;
13579
13781
  if (!isReady) {
13580
13782
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -13630,10 +13832,10 @@ function RoundPageContainer({
13630
13832
  },
13631
13833
  children: [
13632
13834
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, {}) }),
13633
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectContent, { children: tabs.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: _nullishCoalesce(_optionalChain([tab, 'access', _370 => _370.key, 'optionalAccess', _371 => _371.name]), () => ( tab.label)), children: _nullishCoalesce(tab.contentLabel, () => ( tab.label)) }, tab.label)) })
13835
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectContent, { children: tabs.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: _nullishCoalesce(_optionalChain([tab, 'access', _387 => _387.key, 'optionalAccess', _388 => _388.name]), () => ( tab.label)), children: _nullishCoalesce(tab.contentLabel, () => ( tab.label)) }, tab.label)) })
13634
13836
  ]
13635
13837
  }
13636
- ) }) : /* @__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', _372 => _372.key, 'optionalAccess', _373 => _373.name]), () => ( tab.label)), className: "px-4", children: _nullishCoalesce(tab.contentLabel, () => ( tab.label)) }, tab.label)) }) }),
13838
+ ) }) : /* @__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', _389 => _389.key, 'optionalAccess', _390 => _390.name]), () => ( tab.label)), className: "px-4", children: _nullishCoalesce(tab.contentLabel, () => ( tab.label)) }, tab.label)) }) }),
13637
13839
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13638
13840
  "div",
13639
13841
  {
@@ -13645,7 +13847,7 @@ function RoundPageContainer({
13645
13847
  children: tabs.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13646
13848
  TabsContent,
13647
13849
  {
13648
- value: _nullishCoalesce(_optionalChain([tab, 'access', _374 => _374.key, 'optionalAccess', _375 => _375.name]), () => ( tab.label)),
13850
+ value: _nullishCoalesce(_optionalChain([tab, 'access', _391 => _391.key, 'optionalAccess', _392 => _392.name]), () => ( tab.label)),
13649
13851
  className: tab.fillHeight ? `flex flex-1 min-h-0 w-full flex-col` : `pb-20`,
13650
13852
  children: tab.content
13651
13853
  },
@@ -13773,14 +13975,14 @@ function BlockNoteEditorMentionHoverCard({
13773
13975
  const entityType = target.dataset.mentionType;
13774
13976
  const alias = target.dataset.mentionAlias;
13775
13977
  setHovered((prev) => {
13776
- if (_optionalChain([prev, 'optionalAccess', _376 => _376.id]) === id && _optionalChain([prev, 'optionalAccess', _377 => _377.element]) === target) return prev;
13978
+ if (_optionalChain([prev, 'optionalAccess', _393 => _393.id]) === id && _optionalChain([prev, 'optionalAccess', _394 => _394.element]) === target) return prev;
13777
13979
  return { id, entityType, alias, element: target };
13778
13980
  });
13779
13981
  }, "handleMouseOver");
13780
13982
  const handleMouseOut = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (e) => {
13781
13983
  const target = e.target.closest("[data-mention-id]");
13782
13984
  if (!target) return;
13783
- const related = _optionalChain([e, 'access', _378 => _378.relatedTarget, 'optionalAccess', _379 => _379.closest, 'call', _380 => _380("[data-mention-id]")]);
13985
+ const related = _optionalChain([e, 'access', _395 => _395.relatedTarget, 'optionalAccess', _396 => _396.closest, 'call', _397 => _397("[data-mention-id]")]);
13784
13986
  if (related) return;
13785
13987
  scheduleClose();
13786
13988
  }, "handleMouseOut");
@@ -13794,7 +13996,7 @@ function BlockNoteEditorMentionHoverCard({
13794
13996
  }, [containerRef, mentionResolveFn, cancelClose, scheduleClose]);
13795
13997
  if (!hovered || !mentionResolveFn) return null;
13796
13998
  const resolved = mentionResolveFn(hovered.id, hovered.entityType, hovered.alias);
13797
- if (!_optionalChain([resolved, 'optionalAccess', _381 => _381.HoverContent])) return null;
13999
+ if (!_optionalChain([resolved, 'optionalAccess', _398 => _398.HoverContent])) return null;
13798
14000
  const ContentComponent = resolved.HoverContent;
13799
14001
  const rect = hovered.element.getBoundingClientRect();
13800
14002
  return _reactdom.createPortal.call(void 0,
@@ -13830,21 +14032,21 @@ var mentionDataAttrs = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (p)
13830
14032
  }), "mentionDataAttrs");
13831
14033
  var createMentionInlineContentSpec = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (resolveFn, disableMention, nameResolver) => {
13832
14034
  const Mention = React.default.memo(/* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, function Mention2(props) {
13833
- const displayName = _nullishCoalesce(_optionalChain([nameResolver, 'optionalCall', _382 => _382(props.id, props.entityType, props.alias)]), () => ( props.alias));
14035
+ const displayName = _nullishCoalesce(_optionalChain([nameResolver, 'optionalCall', _399 => _399(props.id, props.entityType, props.alias)]), () => ( props.alias));
13834
14036
  if (disableMention) {
13835
- const resolved2 = _optionalChain([resolveFn, 'optionalCall', _383 => _383(props.id, props.entityType, displayName)]);
13836
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: _nullishCoalesce(_optionalChain([resolved2, 'optionalAccess', _384 => _384.url]), () => ( "#")), className: "text-primary", children: [
14037
+ const resolved2 = _optionalChain([resolveFn, 'optionalCall', _400 => _400(props.id, props.entityType, displayName)]);
14038
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: _nullishCoalesce(_optionalChain([resolved2, 'optionalAccess', _401 => _401.url]), () => ( "#")), className: "text-primary", children: [
13837
14039
  "@",
13838
14040
  displayName
13839
14041
  ] });
13840
14042
  }
13841
- const resolved = _optionalChain([resolveFn, 'optionalCall', _385 => _385(props.id, props.entityType, displayName)]);
13842
- if (_optionalChain([resolved, 'optionalAccess', _386 => _386.Inline])) {
14043
+ const resolved = _optionalChain([resolveFn, 'optionalCall', _402 => _402(props.id, props.entityType, displayName)]);
14044
+ if (_optionalChain([resolved, 'optionalAccess', _403 => _403.Inline])) {
13843
14045
  const Custom = resolved.Inline;
13844
14046
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Custom, { ...props, alias: displayName });
13845
14047
  }
13846
- const href = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _387 => _387.url]), () => ( "#"));
13847
- const handleClick = _optionalChain([resolved, 'optionalAccess', _388 => _388.onActivate]) ? (e) => resolved.onActivate(e, props) : void 0;
14048
+ const href = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _404 => _404.url]), () => ( "#"));
14049
+ const handleClick = _optionalChain([resolved, 'optionalAccess', _405 => _405.onActivate]) ? (e) => resolved.onActivate(e, props) : void 0;
13848
14050
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13849
14051
  _link2.default,
13850
14052
  {
@@ -13941,7 +14143,7 @@ function BlockNoteEditorMentionSuggestionMenu({
13941
14143
  if (!suggestionMenuComponent) return void 0;
13942
14144
  const Component2 = suggestionMenuComponent;
13943
14145
  const Wrapped = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (props) => {
13944
- const isSentinelOnly = props.items.length === 1 && _optionalChain([props, 'access', _389 => _389.items, 'access', _390 => _390[0], 'optionalAccess', _391 => _391.title]) === KEEP_OPEN_SENTINEL_TITLE;
14146
+ const isSentinelOnly = props.items.length === 1 && _optionalChain([props, 'access', _406 => _406.items, 'access', _407 => _407[0], 'optionalAccess', _408 => _408.title]) === KEEP_OPEN_SENTINEL_TITLE;
13945
14147
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13946
14148
  Component2,
13947
14149
  {
@@ -13950,7 +14152,7 @@ function BlockNoteEditorMentionSuggestionMenu({
13950
14152
  selectedIndex: isSentinelOnly ? void 0 : props.selectedIndex,
13951
14153
  onItemClick: (item) => {
13952
14154
  if (item.title === KEEP_OPEN_SENTINEL_TITLE) return;
13953
- _optionalChain([props, 'access', _392 => _392.onItemClick, 'optionalCall', _393 => _393(item)]);
14155
+ _optionalChain([props, 'access', _409 => _409.onItemClick, 'optionalCall', _410 => _410(item)]);
13954
14156
  }
13955
14157
  }
13956
14158
  );
@@ -14135,10 +14337,10 @@ var cellId = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => {
14135
14337
  cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => params.toggleId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14136
14338
  Checkbox,
14137
14339
  {
14138
- checked: _optionalChain([params, 'access', _394 => _394.checkedIds, 'optionalAccess', _395 => _395.includes, 'call', _396 => _396(row.getValue(params.name))]) || false,
14340
+ checked: _optionalChain([params, 'access', _411 => _411.checkedIds, 'optionalAccess', _412 => _412.includes, 'call', _413 => _413(row.getValue(params.name))]) || false,
14139
14341
  onCheckedChange: (value) => {
14140
14342
  row.toggleSelected(!!value);
14141
- _optionalChain([params, 'access', _397 => _397.toggleId, 'optionalCall', _398 => _398(row.getValue(params.name))]);
14343
+ _optionalChain([params, 'access', _414 => _414.toggleId, 'optionalCall', _415 => _415(row.getValue(params.name))]);
14142
14344
  },
14143
14345
  "aria-label": "Select row"
14144
14346
  }
@@ -14197,7 +14399,7 @@ function useJsonApiGet(params) {
14197
14399
  const [response, setResponse] = _react.useState.call(void 0, null);
14198
14400
  const isMounted = _react.useRef.call(void 0, true);
14199
14401
  const fetchData = _react.useCallback.call(void 0, async () => {
14200
- if (_optionalChain([params, 'access', _399 => _399.options, 'optionalAccess', _400 => _400.enabled]) === false) return;
14402
+ if (_optionalChain([params, 'access', _416 => _416.options, 'optionalAccess', _417 => _417.enabled]) === false) return;
14201
14403
  setLoading(true);
14202
14404
  setError(null);
14203
14405
  try {
@@ -14224,9 +14426,9 @@ function useJsonApiGet(params) {
14224
14426
  setLoading(false);
14225
14427
  }
14226
14428
  }
14227
- }, [params.classKey, params.endpoint, params.companyId, _optionalChain([params, 'access', _401 => _401.options, 'optionalAccess', _402 => _402.enabled])]);
14429
+ }, [params.classKey, params.endpoint, params.companyId, _optionalChain([params, 'access', _418 => _418.options, 'optionalAccess', _419 => _419.enabled])]);
14228
14430
  const fetchNextPage = _react.useCallback.call(void 0, async () => {
14229
- if (!_optionalChain([response, 'optionalAccess', _403 => _403.nextPage])) return;
14431
+ if (!_optionalChain([response, 'optionalAccess', _420 => _420.nextPage])) return;
14230
14432
  setLoading(true);
14231
14433
  try {
14232
14434
  const nextResponse = await response.nextPage();
@@ -14247,7 +14449,7 @@ function useJsonApiGet(params) {
14247
14449
  }
14248
14450
  }, [response]);
14249
14451
  const fetchPreviousPage = _react.useCallback.call(void 0, async () => {
14250
- if (!_optionalChain([response, 'optionalAccess', _404 => _404.prevPage])) return;
14452
+ if (!_optionalChain([response, 'optionalAccess', _421 => _421.prevPage])) return;
14251
14453
  setLoading(true);
14252
14454
  try {
14253
14455
  const prevResponse = await response.prevPage();
@@ -14273,15 +14475,15 @@ function useJsonApiGet(params) {
14273
14475
  return () => {
14274
14476
  isMounted.current = false;
14275
14477
  };
14276
- }, [fetchData, ..._optionalChain([params, 'access', _405 => _405.options, 'optionalAccess', _406 => _406.deps]) || []]);
14478
+ }, [fetchData, ..._optionalChain([params, 'access', _422 => _422.options, 'optionalAccess', _423 => _423.deps]) || []]);
14277
14479
  return {
14278
14480
  data,
14279
14481
  loading,
14280
14482
  error,
14281
14483
  response,
14282
14484
  refetch: fetchData,
14283
- hasNextPage: !!_optionalChain([response, 'optionalAccess', _407 => _407.next]),
14284
- hasPreviousPage: !!_optionalChain([response, 'optionalAccess', _408 => _408.prev]),
14485
+ hasNextPage: !!_optionalChain([response, 'optionalAccess', _424 => _424.next]),
14486
+ hasPreviousPage: !!_optionalChain([response, 'optionalAccess', _425 => _425.prev]),
14285
14487
  fetchNextPage,
14286
14488
  fetchPreviousPage
14287
14489
  };
@@ -14359,17 +14561,17 @@ function useJsonApiMutation(config) {
14359
14561
  if (apiResponse.ok) {
14360
14562
  const resultData = apiResponse.data;
14361
14563
  setData(resultData);
14362
- _optionalChain([config, 'access', _409 => _409.onSuccess, 'optionalCall', _410 => _410(resultData)]);
14564
+ _optionalChain([config, 'access', _426 => _426.onSuccess, 'optionalCall', _427 => _427(resultData)]);
14363
14565
  return resultData;
14364
14566
  } else {
14365
14567
  setError(apiResponse.error);
14366
- _optionalChain([config, 'access', _411 => _411.onError, 'optionalCall', _412 => _412(apiResponse.error)]);
14568
+ _optionalChain([config, 'access', _428 => _428.onError, 'optionalCall', _429 => _429(apiResponse.error)]);
14367
14569
  return null;
14368
14570
  }
14369
14571
  } catch (err) {
14370
14572
  const errorMessage = err instanceof Error ? err.message : "Unknown error";
14371
14573
  setError(errorMessage);
14372
- _optionalChain([config, 'access', _413 => _413.onError, 'optionalCall', _414 => _414(errorMessage)]);
14574
+ _optionalChain([config, 'access', _430 => _430.onError, 'optionalCall', _431 => _431(errorMessage)]);
14373
14575
  return null;
14374
14576
  } finally {
14375
14577
  setLoading(false);
@@ -14442,7 +14644,7 @@ var useCompanyTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
14442
14644
  {
14443
14645
  href: hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator) ? generateUrl({
14444
14646
  page: "/administration",
14445
- id: _optionalChain([_chunkXAWKRNYMjs.Modules, 'access', _415 => _415.Company, 'access', _416 => _416.pageUrl, 'optionalAccess', _417 => _417.substring, 'call', _418 => _418(1)]),
14647
+ id: _optionalChain([_chunkXAWKRNYMjs.Modules, 'access', _432 => _432.Company, 'access', _433 => _433.pageUrl, 'optionalAccess', _434 => _434.substring, 'call', _435 => _435(1)]),
14446
14648
  childPage: company.id
14447
14649
  }) : generateUrl({ page: _chunkXAWKRNYMjs.Modules.Company, id: company.id }),
14448
14650
  children: row.getValue("name")
@@ -14458,7 +14660,7 @@ var useCompanyTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
14458
14660
  })
14459
14661
  };
14460
14662
  const columns = _react.useMemo.call(void 0, () => {
14461
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _419 => _419[field], 'optionalCall', _420 => _420()])).filter((col) => col !== void 0);
14663
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _436 => _436[field], 'optionalCall', _437 => _437()])).filter((col) => col !== void 0);
14462
14664
  }, [params.fields, fieldColumnMap, t, generateUrl, hasRole]);
14463
14665
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
14464
14666
  }, "useCompanyTableStructure");
@@ -14470,7 +14672,7 @@ var GRACE_DAYS = 3;
14470
14672
  var isAdministrator = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (currentUser) => {
14471
14673
  if (!currentUser || !_chunkSE5HIHJSjs.isRolesConfigured.call(void 0, )) return false;
14472
14674
  const adminRoleId = _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator;
14473
- return !!_optionalChain([currentUser, 'access', _421 => _421.roles, 'optionalAccess', _422 => _422.some, 'call', _423 => _423((role) => role.id === adminRoleId)]);
14675
+ return !!_optionalChain([currentUser, 'access', _438 => _438.roles, 'optionalAccess', _439 => _439.some, 'call', _440 => _440((role) => role.id === adminRoleId)]);
14474
14676
  }, "isAdministrator");
14475
14677
  function useSubscriptionStatus() {
14476
14678
  const { company, currentUser } = useCurrentUserContext();
@@ -14587,7 +14789,7 @@ var useRoleTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0,
14587
14789
  })
14588
14790
  };
14589
14791
  const columns = _react.useMemo.call(void 0, () => {
14590
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _424 => _424[field], 'optionalCall', _425 => _425()])).filter((col) => col !== void 0);
14792
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _441 => _441[field], 'optionalCall', _442 => _442()])).filter((col) => col !== void 0);
14591
14793
  }, [params.fields, fieldColumnMap, t, generateUrl]);
14592
14794
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
14593
14795
  }, "useRoleTableStructure");
@@ -14688,11 +14890,11 @@ var useContentTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
14688
14890
  return params.fields.map((field) => {
14689
14891
  const localHandler = fieldColumnMap[field];
14690
14892
  if (localHandler) return localHandler();
14691
- const customHandler = _optionalChain([params, 'access', _426 => _426.context, 'optionalAccess', _427 => _427.customCells, 'optionalAccess', _428 => _428[field]]);
14893
+ const customHandler = _optionalChain([params, 'access', _443 => _443.context, 'optionalAccess', _444 => _444.customCells, 'optionalAccess', _445 => _445[field]]);
14692
14894
  if (customHandler) return customHandler({ t });
14693
14895
  return void 0;
14694
14896
  }).filter((col) => col !== void 0);
14695
- }, [params.fields, fieldColumnMap, t, generateUrl, _optionalChain([params, 'access', _429 => _429.context, 'optionalAccess', _430 => _430.customCells])]);
14897
+ }, [params.fields, fieldColumnMap, t, generateUrl, _optionalChain([params, 'access', _446 => _446.context, 'optionalAccess', _447 => _447.customCells])]);
14696
14898
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
14697
14899
  }, "useContentTableStructure");
14698
14900
 
@@ -15027,7 +15229,7 @@ function ContentTableSearch({ data }) {
15027
15229
  const handleSearchIconClick = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
15028
15230
  if (!isExpanded) {
15029
15231
  setIsFocused(true);
15030
- setTimeout(() => _optionalChain([inputRef, 'access', _431 => _431.current, 'optionalAccess', _432 => _432.focus, 'call', _433 => _433()]), 50);
15232
+ setTimeout(() => _optionalChain([inputRef, 'access', _448 => _448.current, 'optionalAccess', _449 => _449.focus, 'call', _450 => _450()]), 50);
15031
15233
  }
15032
15234
  }, "handleSearchIconClick");
15033
15235
  const handleBlur = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
@@ -15104,7 +15306,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15104
15306
  props.defaultExpanded === true ? true : typeof props.defaultExpanded === "object" ? props.defaultExpanded : {}
15105
15307
  );
15106
15308
  const { data: tableData, columns: tableColumns } = useTableGenerator(props.tableGeneratorType, {
15107
- data: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _434 => _434.data]), () => ( EMPTY_ARRAY)),
15309
+ data: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _451 => _451.data]), () => ( EMPTY_ARRAY)),
15108
15310
  fields,
15109
15311
  checkedIds,
15110
15312
  toggleId,
@@ -15137,7 +15339,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15137
15339
  });
15138
15340
  const rowModel = tableData ? table.getRowModel() : null;
15139
15341
  const groupedRows = _react.useMemo.call(void 0, () => {
15140
- if (!props.groupBy || !_optionalChain([rowModel, 'optionalAccess', _435 => _435.rows, 'optionalAccess', _436 => _436.length])) return null;
15342
+ if (!props.groupBy || !_optionalChain([rowModel, 'optionalAccess', _452 => _452.rows, 'optionalAccess', _453 => _453.length])) return null;
15141
15343
  const groupMap = /* @__PURE__ */ new Map();
15142
15344
  for (const row of rowModel.rows) {
15143
15345
  const keys = getGroupKeys(row.original, props.groupBy);
@@ -15193,10 +15395,10 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15193
15395
  ) }),
15194
15396
  table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: headerGroup.headers.map((header) => {
15195
15397
  const meta = header.column.columnDef.meta;
15196
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableHead, { className: _optionalChain([meta, 'optionalAccess', _437 => _437.className]), children: header.isPlaceholder ? null : _reacttable.flexRender.call(void 0, header.column.columnDef.header, header.getContext()) }, header.id);
15398
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableHead, { className: _optionalChain([meta, 'optionalAccess', _454 => _454.className]), children: header.isPlaceholder ? null : _reacttable.flexRender.call(void 0, header.column.columnDef.header, header.getContext()) }, header.id);
15197
15399
  }) }, headerGroup.id))
15198
15400
  ] }),
15199
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: rowModel && _optionalChain([rowModel, 'access', _438 => _438.rows, 'optionalAccess', _439 => _439.length]) ? groupedRows ? groupedRows.map((group) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React.default.Fragment, { children: [
15401
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: rowModel && _optionalChain([rowModel, 'access', _455 => _455.rows, 'optionalAccess', _456 => _456.length]) ? groupedRows ? groupedRows.map((group) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React.default.Fragment, { children: [
15200
15402
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15201
15403
  TableCell,
15202
15404
  {
@@ -15207,11 +15409,11 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15207
15409
  ) }),
15208
15410
  group.rows.map((row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: row.getVisibleCells().map((cell) => {
15209
15411
  const meta = cell.column.columnDef.meta;
15210
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _440 => _440.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
15412
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _457 => _457.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
15211
15413
  }) }, row.id))
15212
15414
  ] }, group.groupKey)) : rowModel.rows.map((row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: row.getVisibleCells().map((cell) => {
15213
15415
  const meta = cell.column.columnDef.meta;
15214
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _441 => _441.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
15416
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _458 => _458.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
15215
15417
  }) }, 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." }) }) }),
15216
15418
  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: [
15217
15419
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -15221,7 +15423,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15221
15423
  size: "sm",
15222
15424
  onClick: (e) => {
15223
15425
  e.preventDefault();
15224
- _optionalChain([data, 'access', _442 => _442.previous, 'optionalCall', _443 => _443(true)]);
15426
+ _optionalChain([data, 'access', _459 => _459.previous, 'optionalCall', _460 => _460(true)]);
15225
15427
  },
15226
15428
  disabled: !data.previous,
15227
15429
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" })
@@ -15235,7 +15437,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15235
15437
  size: "sm",
15236
15438
  onClick: (e) => {
15237
15439
  e.preventDefault();
15238
- _optionalChain([data, 'access', _444 => _444.next, 'optionalCall', _445 => _445(true)]);
15440
+ _optionalChain([data, 'access', _461 => _461.next, 'optionalCall', _462 => _462(true)]);
15239
15441
  },
15240
15442
  disabled: !data.next,
15241
15443
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" })
@@ -15256,7 +15458,7 @@ function ContentListGrid(props) {
15256
15458
  if (!data.next || !sentinelRef.current) return;
15257
15459
  const observer = new IntersectionObserver(
15258
15460
  (entries) => {
15259
- if (_optionalChain([entries, 'access', _446 => _446[0], 'optionalAccess', _447 => _447.isIntersecting])) _optionalChain([data, 'access', _448 => _448.next, 'optionalCall', _449 => _449()]);
15461
+ if (_optionalChain([entries, 'access', _463 => _463[0], 'optionalAccess', _464 => _464.isIntersecting])) _optionalChain([data, 'access', _465 => _465.next, 'optionalCall', _466 => _466()]);
15260
15462
  },
15261
15463
  { threshold: 0.1, rootMargin: "200px" }
15262
15464
  );
@@ -16006,7 +16208,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
16006
16208
  newDigits[index] = digit;
16007
16209
  setDigits(newDigits);
16008
16210
  if (digit && index < 5) {
16009
- _optionalChain([inputRefs, 'access', _450 => _450.current, 'access', _451 => _451[index + 1], 'optionalAccess', _452 => _452.focus, 'call', _453 => _453()]);
16211
+ _optionalChain([inputRefs, 'access', _467 => _467.current, 'access', _468 => _468[index + 1], 'optionalAccess', _469 => _469.focus, 'call', _470 => _470()]);
16010
16212
  }
16011
16213
  const code = newDigits.join("");
16012
16214
  if (code.length === 6 && newDigits.every((d) => d !== "")) {
@@ -16015,7 +16217,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
16015
16217
  }, "handleChange");
16016
16218
  const handleKeyDown = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (index, e) => {
16017
16219
  if (e.key === "Backspace" && !digits[index] && index > 0) {
16018
- _optionalChain([inputRefs, 'access', _454 => _454.current, 'access', _455 => _455[index - 1], 'optionalAccess', _456 => _456.focus, 'call', _457 => _457()]);
16220
+ _optionalChain([inputRefs, 'access', _471 => _471.current, 'access', _472 => _472[index - 1], 'optionalAccess', _473 => _473.focus, 'call', _474 => _474()]);
16019
16221
  }
16020
16222
  }, "handleKeyDown");
16021
16223
  const handlePaste = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (e) => {
@@ -16024,7 +16226,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
16024
16226
  if (pastedData.length === 6) {
16025
16227
  const newDigits = pastedData.split("");
16026
16228
  setDigits(newDigits);
16027
- _optionalChain([inputRefs, 'access', _458 => _458.current, 'access', _459 => _459[5], 'optionalAccess', _460 => _460.focus, 'call', _461 => _461()]);
16229
+ _optionalChain([inputRefs, 'access', _475 => _475.current, 'access', _476 => _476[5], 'optionalAccess', _477 => _477.focus, 'call', _478 => _478()]);
16028
16230
  onComplete(pastedData);
16029
16231
  }
16030
16232
  }, "handlePaste");
@@ -16235,8 +16437,8 @@ function PasskeySetupDialog({ open, onOpenChange, onSuccess }) {
16235
16437
  try {
16236
16438
  const registrationData = await _chunkXAWKRNYMjs.TwoFactorService.getPasskeyRegistrationOptions({
16237
16439
  id: _uuid.v4.call(void 0, ),
16238
- userName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _462 => _462.email]), () => ( "")),
16239
- userDisplayName: _optionalChain([currentUser, 'optionalAccess', _463 => _463.name])
16440
+ userName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _479 => _479.email]), () => ( "")),
16441
+ userDisplayName: _optionalChain([currentUser, 'optionalAccess', _480 => _480.name])
16240
16442
  });
16241
16443
  const credential = await _browser.startRegistration.call(void 0, { optionsJSON: registrationData.options });
16242
16444
  await _chunkXAWKRNYMjs.TwoFactorService.verifyPasskeyRegistration({
@@ -16387,7 +16589,7 @@ function TotpSetupDialog({ onSuccess, trigger }) {
16387
16589
  const setup = await _chunkXAWKRNYMjs.TwoFactorService.setupTotp({
16388
16590
  id: _uuid.v4.call(void 0, ),
16389
16591
  name: name.trim(),
16390
- accountName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _464 => _464.email]), () => ( ""))
16592
+ accountName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _481 => _481.email]), () => ( ""))
16391
16593
  });
16392
16594
  setQrCodeUri(setup.qrCodeUri);
16393
16595
  setAuthenticatorId(setup.authenticatorId);
@@ -16521,7 +16723,7 @@ function TwoFactorSettings() {
16521
16723
  if (isLoading) {
16522
16724
  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") }) }) });
16523
16725
  }
16524
- const isEnabled = _nullishCoalesce(_optionalChain([status, 'optionalAccess', _465 => _465.isEnabled]), () => ( false));
16726
+ const isEnabled = _nullishCoalesce(_optionalChain([status, 'optionalAccess', _482 => _482.isEnabled]), () => ( false));
16525
16727
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Card, { children: [
16526
16728
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
16527
16729
  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" }),
@@ -16559,7 +16761,7 @@ function TwoFactorSettings() {
16559
16761
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-medium", children: t("auth.two_factor.backup_codes") }),
16560
16762
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-muted-foreground", children: t("auth.two_factor.backup_codes_description") })
16561
16763
  ] }),
16562
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BackupCodesDialog, { remainingCodes: _nullishCoalesce(_optionalChain([status, 'optionalAccess', _466 => _466.backupCodesCount]), () => ( 0)), onRegenerate: handleRefresh })
16764
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BackupCodesDialog, { remainingCodes: _nullishCoalesce(_optionalChain([status, 'optionalAccess', _483 => _483.backupCodesCount]), () => ( 0)), onRegenerate: handleRefresh })
16563
16765
  ] }) }),
16564
16766
  !isEnabled && (authenticators.length > 0 || passkeys.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16565
16767
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Separator, {}),
@@ -16737,9 +16939,9 @@ function AcceptInvitation() {
16737
16939
  });
16738
16940
  const onSubmit = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (values) => {
16739
16941
  try {
16740
- if (!_optionalChain([params, 'optionalAccess', _467 => _467.code])) return;
16942
+ if (!_optionalChain([params, 'optionalAccess', _484 => _484.code])) return;
16741
16943
  const payload = {
16742
- code: _optionalChain([params, 'optionalAccess', _468 => _468.code]),
16944
+ code: _optionalChain([params, 'optionalAccess', _485 => _485.code]),
16743
16945
  password: values.password
16744
16946
  };
16745
16947
  await _chunkXAWKRNYMjs.AuthService.acceptInvitation(payload);
@@ -17089,7 +17291,7 @@ function Logout({ storageKeys }) {
17089
17291
  const generateUrl = usePageUrlGenerator();
17090
17292
  _react.useEffect.call(void 0, () => {
17091
17293
  const logOut = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
17092
- if (_optionalChain([storageKeys, 'optionalAccess', _469 => _469.length])) {
17294
+ if (_optionalChain([storageKeys, 'optionalAccess', _486 => _486.length])) {
17093
17295
  clearClientStorage(storageKeys);
17094
17296
  }
17095
17297
  await _chunkXAWKRNYMjs.AuthService.logout();
@@ -17112,14 +17314,14 @@ function RefreshUser() {
17112
17314
  setUser(fullUser);
17113
17315
  const token = {
17114
17316
  userId: fullUser.id,
17115
- companyId: _optionalChain([fullUser, 'access', _470 => _470.company, 'optionalAccess', _471 => _471.id]),
17317
+ companyId: _optionalChain([fullUser, 'access', _487 => _487.company, 'optionalAccess', _488 => _488.id]),
17116
17318
  roles: fullUser.roles.map((role) => role.id),
17117
- features: _nullishCoalesce(_optionalChain([fullUser, 'access', _472 => _472.company, 'optionalAccess', _473 => _473.features, 'optionalAccess', _474 => _474.map, 'call', _475 => _475((feature) => feature.id)]), () => ( [])),
17319
+ features: _nullishCoalesce(_optionalChain([fullUser, 'access', _489 => _489.company, 'optionalAccess', _490 => _490.features, 'optionalAccess', _491 => _491.map, 'call', _492 => _492((feature) => feature.id)]), () => ( [])),
17118
17320
  modules: fullUser.modules.map((module) => {
17119
17321
  return { id: module.id, permissions: module.permissions };
17120
17322
  })
17121
17323
  };
17122
- await _optionalChain([_chunkXAWKRNYMjs.getTokenHandler.call(void 0, ), 'optionalAccess', _476 => _476.updateToken, 'call', _477 => _477(token)]);
17324
+ await _optionalChain([_chunkXAWKRNYMjs.getTokenHandler.call(void 0, ), 'optionalAccess', _493 => _493.updateToken, 'call', _494 => _494(token)]);
17123
17325
  _cookiesnext.deleteCookie.call(void 0, "reloadData");
17124
17326
  }
17125
17327
  }, "loadFullUser");
@@ -17183,9 +17385,9 @@ function ResetPassword() {
17183
17385
  });
17184
17386
  const onSubmit = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (values) => {
17185
17387
  try {
17186
- if (!_optionalChain([params, 'optionalAccess', _478 => _478.code])) return;
17388
+ if (!_optionalChain([params, 'optionalAccess', _495 => _495.code])) return;
17187
17389
  const payload = {
17188
- code: _optionalChain([params, 'optionalAccess', _479 => _479.code]),
17390
+ code: _optionalChain([params, 'optionalAccess', _496 => _496.code]),
17189
17391
  password: values.password
17190
17392
  };
17191
17393
  await _chunkXAWKRNYMjs.AuthService.resetPassword(payload);
@@ -17534,7 +17736,7 @@ function extractHeadings(blocks) {
17534
17736
  function processBlocks(blockArray) {
17535
17737
  for (const block of blockArray) {
17536
17738
  if (block.type === "heading") {
17537
- const level = _optionalChain([block, 'access', _480 => _480.props, 'optionalAccess', _481 => _481.level]) || 1;
17739
+ const level = _optionalChain([block, 'access', _497 => _497.props, 'optionalAccess', _498 => _498.level]) || 1;
17538
17740
  const text = extractTextFromContent(block.content);
17539
17741
  if (text.trim()) {
17540
17742
  headings.push({
@@ -17877,7 +18079,7 @@ var useHowToTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
17877
18079
  })
17878
18080
  };
17879
18081
  const columns = _react.useMemo.call(void 0, () => {
17880
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _482 => _482[field], 'optionalCall', _483 => _483()])).filter((col) => col !== void 0);
18082
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _499 => _499[field], 'optionalCall', _500 => _500()])).filter((col) => col !== void 0);
17881
18083
  }, [params.fields, fieldColumnMap, t, generateUrl]);
17882
18084
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
17883
18085
  }, "useHowToTableStructure");
@@ -17943,7 +18145,7 @@ function HowToMultiSelector({
17943
18145
  retriever: (params) => _chunkXAWKRNYMjs.HowToService.findMany(params),
17944
18146
  module: _chunkXAWKRNYMjs.Modules.HowTo,
17945
18147
  getLabel: (howTo) => howTo.name,
17946
- excludeId: _optionalChain([currentHowTo, 'optionalAccess', _484 => _484.id]),
18148
+ excludeId: _optionalChain([currentHowTo, 'optionalAccess', _501 => _501.id]),
17947
18149
  onChange
17948
18150
  }
17949
18151
  );
@@ -18008,7 +18210,7 @@ function HowToSelector({
18008
18210
  }, "setHowTo");
18009
18211
  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: [
18010
18212
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between", children: [
18011
- /* @__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', _485 => _485.value, 'optionalAccess', _486 => _486.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 }) }))) }) }) }),
18213
+ /* @__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', _502 => _502.value, 'optionalAccess', _503 => _503.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 }) }))) }) }) }),
18012
18214
  field.value && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18013
18215
  _lucidereact.CircleX,
18014
18216
  {
@@ -18292,7 +18494,7 @@ function ReferencesTab({ references }) {
18292
18494
  let module;
18293
18495
  try {
18294
18496
  module = _chunkXAWKRNYMjs.ModuleRegistry.findByName(ref.type);
18295
- } catch (e8) {
18497
+ } catch (e9) {
18296
18498
  return null;
18297
18499
  }
18298
18500
  const href = generate({ page: module, id: ref.id });
@@ -18363,9 +18565,9 @@ function CitationsTab({ citations, sources }) {
18363
18565
  ] }) }),
18364
18566
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: sorted.map((chunk) => {
18365
18567
  const isOpen = expanded.has(chunk.id);
18366
- const resolved = chunk.nodeId ? _optionalChain([sources, 'optionalAccess', _487 => _487.get, 'call', _488 => _488(chunk.nodeId)]) : void 0;
18568
+ const resolved = chunk.nodeId ? _optionalChain([sources, 'optionalAccess', _504 => _504.get, 'call', _505 => _505(chunk.nodeId)]) : void 0;
18367
18569
  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")));
18368
- const sourceName = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _489 => _489.name]), () => ( fallbackName));
18570
+ const sourceName = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _506 => _506.name]), () => ( fallbackName));
18369
18571
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
18370
18572
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, TableRow, { children: [
18371
18573
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -18412,7 +18614,7 @@ function ContentsTab({ citations, sources }) {
18412
18614
  for (const c of citations) {
18413
18615
  const id = c.nodeId;
18414
18616
  if (!id) continue;
18415
- const source = _optionalChain([sources, 'optionalAccess', _490 => _490.get, 'call', _491 => _491(id)]);
18617
+ const source = _optionalChain([sources, 'optionalAccess', _507 => _507.get, 'call', _508 => _508(id)]);
18416
18618
  if (!source) continue;
18417
18619
  const existing = map.get(id);
18418
18620
  if (existing) {
@@ -18435,7 +18637,7 @@ function ContentsTab({ citations, sources }) {
18435
18637
  let module;
18436
18638
  try {
18437
18639
  module = _chunkXAWKRNYMjs.ModuleRegistry.findByName(source.type);
18438
- } catch (e9) {
18640
+ } catch (e10) {
18439
18641
  return null;
18440
18642
  }
18441
18643
  const href = generate({ page: module, id: source.id });
@@ -18467,7 +18669,7 @@ function readAuthor(source) {
18467
18669
  try {
18468
18670
  const a = source.author;
18469
18671
  return a && a.id ? a : void 0;
18470
- } catch (e10) {
18672
+ } catch (e11) {
18471
18673
  return void 0;
18472
18674
  }
18473
18675
  }
@@ -18477,7 +18679,7 @@ function UsersTab({ users, citations, sources }) {
18477
18679
  const generate = usePageUrlGenerator();
18478
18680
  const userMap = /* @__PURE__ */ new Map();
18479
18681
  for (const u of users) {
18480
- if (!_optionalChain([u, 'optionalAccess', _492 => _492.id])) continue;
18682
+ if (!_optionalChain([u, 'optionalAccess', _509 => _509.id])) continue;
18481
18683
  userMap.set(u.id, { user: u, contentCount: 0, citationCount: 0 });
18482
18684
  }
18483
18685
  if (citations && sources) {
@@ -18510,7 +18712,7 @@ function UsersTab({ users, citations, sources }) {
18510
18712
  let module;
18511
18713
  try {
18512
18714
  module = _chunkXAWKRNYMjs.ModuleRegistry.findByName(user.type);
18513
- } catch (e11) {
18715
+ } catch (e12) {
18514
18716
  return null;
18515
18717
  }
18516
18718
  const href = generate({ page: module, id: user.id });
@@ -18564,7 +18766,7 @@ function MessageSourcesPanel({ message, isLatestAssistant, onSelectFollowUp, sou
18564
18766
  () => message.references.filter((ref) => {
18565
18767
  try {
18566
18768
  return !!_chunkXAWKRNYMjs.ModuleRegistry.findByName(ref.type).pageUrl;
18567
- } catch (e12) {
18769
+ } catch (e13) {
18568
18770
  return false;
18569
18771
  }
18570
18772
  }),
@@ -18581,7 +18783,7 @@ function MessageSourcesPanel({ message, isLatestAssistant, onSelectFollowUp, sou
18581
18783
  }
18582
18784
  return ids.size;
18583
18785
  }, [message.citations, sources]);
18584
- const usersCount = _nullishCoalesce(_optionalChain([users, 'optionalAccess', _493 => _493.length]), () => ( 0));
18786
+ const usersCount = _nullishCoalesce(_optionalChain([users, 'optionalAccess', _510 => _510.length]), () => ( 0));
18585
18787
  const total = refsCount + citationsCount + contentsCount + usersCount + suggestionsCount;
18586
18788
  const visibleTabs = [];
18587
18789
  if (suggestionsCount > 0) visibleTabs.push("suggested");
@@ -18640,8 +18842,8 @@ var SourcesFetcher = class extends _chunkXAWKRNYMjs.ClientAbstractService {
18640
18842
  static async findManyByIds(params) {
18641
18843
  const endpoint = new (0, _chunkXAWKRNYMjs.EndpointCreator)({ endpoint: params.module });
18642
18844
  endpoint.addAdditionalParam(params.idsParam, params.ids.join(","));
18643
- if (_optionalChain([params, 'access', _494 => _494.module, 'access', _495 => _495.inclusions, 'optionalAccess', _496 => _496.lists, 'optionalAccess', _497 => _497.fields])) endpoint.limitToFields(params.module.inclusions.lists.fields);
18644
- if (_optionalChain([params, 'access', _498 => _498.module, 'access', _499 => _499.inclusions, 'optionalAccess', _500 => _500.lists, 'optionalAccess', _501 => _501.types])) endpoint.limitToType(params.module.inclusions.lists.types);
18845
+ if (_optionalChain([params, 'access', _511 => _511.module, 'access', _512 => _512.inclusions, 'optionalAccess', _513 => _513.lists, 'optionalAccess', _514 => _514.fields])) endpoint.limitToFields(params.module.inclusions.lists.fields);
18846
+ if (_optionalChain([params, 'access', _515 => _515.module, 'access', _516 => _516.inclusions, 'optionalAccess', _517 => _517.lists, 'optionalAccess', _518 => _518.types])) endpoint.limitToType(params.module.inclusions.lists.types);
18645
18847
  return this.callApi({
18646
18848
  type: params.module,
18647
18849
  method: "GET" /* GET */,
@@ -18682,7 +18884,7 @@ function MessageSourcesContainer({ message, isLatestAssistant, onSelectFollowUp
18682
18884
  let module;
18683
18885
  try {
18684
18886
  module = _chunkXAWKRNYMjs.ModuleRegistry.findByModelName(nodeType);
18685
- } catch (e13) {
18887
+ } catch (e14) {
18686
18888
  continue;
18687
18889
  }
18688
18890
  const idsParam = `${_nullishCoalesce(module.nodeName, () => ( module.name.replace(/s$/, "")))}Ids`;
@@ -18716,11 +18918,11 @@ function MessageSourcesContainer({ message, isLatestAssistant, onSelectFollowUp
18716
18918
  const author = _nullishCoalesce(entity._author, () => ( (() => {
18717
18919
  try {
18718
18920
  return entity.author;
18719
- } catch (e14) {
18921
+ } catch (e15) {
18720
18922
  return void 0;
18721
18923
  }
18722
18924
  })()));
18723
- if (_optionalChain([author, 'optionalAccess', _502 => _502.id])) userMap.set(author.id, author);
18925
+ if (_optionalChain([author, 'optionalAccess', _519 => _519.id])) userMap.set(author.id, author);
18724
18926
  }
18725
18927
  return Array.from(userMap.values());
18726
18928
  }, [resolved]);
@@ -18742,14 +18944,14 @@ _chunk7QVYU63Ejs.__name.call(void 0, MessageSourcesContainer, "MessageSourcesCon
18742
18944
  function MessageItem({ message, isLatestAssistant, onSelectFollowUp, failedMessageIds, onRetry }) {
18743
18945
  const t = _nextintl.useTranslations.call(void 0, );
18744
18946
  const isUser = message.role === "user";
18745
- const isFailed = isUser && !!_optionalChain([failedMessageIds, 'optionalAccess', _503 => _503.has, 'call', _504 => _504(message.id)]);
18947
+ const isFailed = isUser && !!_optionalChain([failedMessageIds, 'optionalAccess', _520 => _520.has, 'call', _521 => _521(message.id)]);
18746
18948
  if (isUser) {
18747
18949
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-end gap-1", children: [
18748
18950
  /* @__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 }),
18749
18951
  isFailed && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-destructive flex items-center gap-2 text-xs", children: [
18750
18952
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertCircle, { className: "h-3.5 w-3.5" }),
18751
18953
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: t("features.assistant.send_failed") }),
18752
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", className: "underline", onClick: () => _optionalChain([onRetry, 'optionalCall', _505 => _505(message.id)]), children: t("features.assistant.retry") })
18954
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", className: "underline", onClick: () => _optionalChain([onRetry, 'optionalCall', _522 => _522(message.id)]), children: t("features.assistant.retry") })
18753
18955
  ] })
18754
18956
  ] });
18755
18957
  }
@@ -18815,7 +19017,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, AssistantStatusLine, "AssistantStatusLine")
18815
19017
  function AssistantThread({ messages, sending, status, onSelectFollowUp, failedMessageIds, onRetry }) {
18816
19018
  const endRef = _react.useRef.call(void 0, null);
18817
19019
  _react.useEffect.call(void 0, () => {
18818
- _optionalChain([endRef, 'access', _506 => _506.current, 'optionalAccess', _507 => _507.scrollIntoView, 'call', _508 => _508({ behavior: "smooth" })]);
19020
+ _optionalChain([endRef, 'access', _523 => _523.current, 'optionalAccess', _524 => _524.scrollIntoView, 'call', _525 => _525({ behavior: "smooth" })]);
18819
19021
  }, [messages.length, sending]);
18820
19022
  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: [
18821
19023
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18843,7 +19045,7 @@ function AssistantContainer() {
18843
19045
  AssistantSidebar,
18844
19046
  {
18845
19047
  threads: ctx.threads,
18846
- activeId: _optionalChain([ctx, 'access', _509 => _509.assistant, 'optionalAccess', _510 => _510.id]),
19048
+ activeId: _optionalChain([ctx, 'access', _526 => _526.assistant, 'optionalAccess', _527 => _527.id]),
18847
19049
  onSelect: ctx.selectThread,
18848
19050
  onNew: ctx.startNew
18849
19051
  }
@@ -18936,14 +19138,14 @@ function NotificationsList({ archived }) {
18936
19138
  ] }),
18937
19139
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Skeleton, { className: "h-8 w-20" })
18938
19140
  ] }) }) }, i)) }), "LoadingSkeleton");
18939
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: data.isLoaded ? _optionalChain([data, 'access', _511 => _511.data, 'optionalAccess', _512 => _512.map, 'call', _513 => _513((notification) => {
19141
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: data.isLoaded ? _optionalChain([data, 'access', _528 => _528.data, 'optionalAccess', _529 => _529.map, 'call', _530 => _530((notification) => {
18940
19142
  const notificationData = generateNotificationData({ notification, generateUrl });
18941
19143
  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: [
18942
19144
  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" }),
18943
19145
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
18944
19146
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
18945
19147
  strong: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (chunks) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: chunks }), "strong"),
18946
- actor: _nullishCoalesce(_optionalChain([notificationData, 'access', _514 => _514.actor, 'optionalAccess', _515 => _515.name]), () => ( "")),
19148
+ actor: _nullishCoalesce(_optionalChain([notificationData, 'access', _531 => _531.actor, 'optionalAccess', _532 => _532.name]), () => ( "")),
18947
19149
  title: notificationData.title
18948
19150
  }) }),
18949
19151
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground mt-1 w-full text-xs", children: new Date(notification.createdAt).toLocaleString() })
@@ -19293,7 +19495,7 @@ var DEFAULT_TRANSLATIONS = {
19293
19495
  invalidEmail: "Please enter a valid email address"
19294
19496
  };
19295
19497
  async function copyToClipboard(text) {
19296
- if (_optionalChain([navigator, 'access', _516 => _516.clipboard, 'optionalAccess', _517 => _517.writeText])) {
19498
+ if (_optionalChain([navigator, 'access', _533 => _533.clipboard, 'optionalAccess', _534 => _534.writeText])) {
19297
19499
  try {
19298
19500
  await navigator.clipboard.writeText(text);
19299
19501
  return true;
@@ -19335,7 +19537,7 @@ function ReferralWidget({
19335
19537
  const linkInputRef = _react.useRef.call(void 0, null);
19336
19538
  const config = _chunkSE5HIHJSjs.getReferralConfig.call(void 0, );
19337
19539
  const baseUrl = config.referralUrlBase || (typeof window !== "undefined" ? window.location.origin : "");
19338
- const referralUrl = _optionalChain([stats, 'optionalAccess', _518 => _518.referralCode]) ? `${baseUrl}${config.referralPath}?${config.urlParamName}=${stats.referralCode}` : "";
19540
+ const referralUrl = _optionalChain([stats, 'optionalAccess', _535 => _535.referralCode]) ? `${baseUrl}${config.referralPath}?${config.urlParamName}=${stats.referralCode}` : "";
19339
19541
  if (!_chunkSE5HIHJSjs.isReferralEnabled.call(void 0, )) {
19340
19542
  return null;
19341
19543
  }
@@ -19345,7 +19547,7 @@ function ReferralWidget({
19345
19547
  if (success) {
19346
19548
  setCopied(true);
19347
19549
  _chunkXAWKRNYMjs.showToast.call(void 0, t.copiedMessage);
19348
- _optionalChain([onLinkCopied, 'optionalCall', _519 => _519()]);
19550
+ _optionalChain([onLinkCopied, 'optionalCall', _536 => _536()]);
19349
19551
  setTimeout(() => setCopied(false), 2e3);
19350
19552
  } else {
19351
19553
  _chunkXAWKRNYMjs.showError.call(void 0, t.copyError);
@@ -19359,12 +19561,12 @@ function ReferralWidget({
19359
19561
  try {
19360
19562
  await sendInvite(email);
19361
19563
  _chunkXAWKRNYMjs.showToast.call(void 0, t.inviteSent);
19362
- _optionalChain([onInviteSent, 'optionalCall', _520 => _520(email)]);
19564
+ _optionalChain([onInviteSent, 'optionalCall', _537 => _537(email)]);
19363
19565
  setEmail("");
19364
19566
  } catch (err) {
19365
19567
  const error2 = err instanceof Error ? err : new Error(t.inviteError);
19366
19568
  _chunkXAWKRNYMjs.showError.call(void 0, error2.message);
19367
- _optionalChain([onInviteError, 'optionalCall', _521 => _521(error2)]);
19569
+ _optionalChain([onInviteError, 'optionalCall', _538 => _538(error2)]);
19368
19570
  }
19369
19571
  }, [email, sendInvite, t.inviteSent, t.inviteError, t.invalidEmail, onInviteSent, onInviteError]);
19370
19572
  const handleEmailKeyDown = _react.useCallback.call(void 0,
@@ -19772,7 +19974,7 @@ function isValidRedirectUri(uri) {
19772
19974
  try {
19773
19975
  new URL(uri);
19774
19976
  return true;
19775
- } catch (e15) {
19977
+ } catch (e16) {
19776
19978
  return false;
19777
19979
  }
19778
19980
  }
@@ -20118,7 +20320,7 @@ function OAuthClientList({
20118
20320
  OAuthClientCard,
20119
20321
  {
20120
20322
  client,
20121
- onClick: () => _optionalChain([onClientClick, 'optionalCall', _522 => _522(client)]),
20323
+ onClick: () => _optionalChain([onClientClick, 'optionalCall', _539 => _539(client)]),
20122
20324
  onEdit: onEditClick ? () => onEditClick(client) : void 0,
20123
20325
  onDelete: onDeleteClick ? () => onDeleteClick(client) : void 0
20124
20326
  },
@@ -20134,11 +20336,11 @@ _chunk7QVYU63Ejs.__name.call(void 0, OAuthClientList, "OAuthClientList");
20134
20336
  function OAuthClientForm({ client, onSubmit, onCancel, isLoading = false }) {
20135
20337
  const isEditMode = !!client;
20136
20338
  const [formState, setFormState] = _react.useState.call(void 0, {
20137
- name: _optionalChain([client, 'optionalAccess', _523 => _523.name]) || "",
20138
- description: _optionalChain([client, 'optionalAccess', _524 => _524.description]) || "",
20139
- redirectUris: _optionalChain([client, 'optionalAccess', _525 => _525.redirectUris, 'optionalAccess', _526 => _526.length]) ? client.redirectUris : [""],
20140
- allowedScopes: _optionalChain([client, 'optionalAccess', _527 => _527.allowedScopes]) || [],
20141
- isConfidential: _nullishCoalesce(_optionalChain([client, 'optionalAccess', _528 => _528.isConfidential]), () => ( true))
20339
+ name: _optionalChain([client, 'optionalAccess', _540 => _540.name]) || "",
20340
+ description: _optionalChain([client, 'optionalAccess', _541 => _541.description]) || "",
20341
+ redirectUris: _optionalChain([client, 'optionalAccess', _542 => _542.redirectUris, 'optionalAccess', _543 => _543.length]) ? client.redirectUris : [""],
20342
+ allowedScopes: _optionalChain([client, 'optionalAccess', _544 => _544.allowedScopes]) || [],
20343
+ isConfidential: _nullishCoalesce(_optionalChain([client, 'optionalAccess', _545 => _545.isConfidential]), () => ( true))
20142
20344
  });
20143
20345
  const [errors, setErrors] = _react.useState.call(void 0, {});
20144
20346
  const validate = _react.useCallback.call(void 0, () => {
@@ -20366,7 +20568,7 @@ function OAuthClientDetail({
20366
20568
  ] }),
20367
20569
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
20368
20570
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Label, { children: "Allowed Scopes" }),
20369
- /* @__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', _529 => _529[scope], 'optionalAccess', _530 => _530.name]) || scope }, scope)) })
20571
+ /* @__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', _546 => _546[scope], 'optionalAccess', _547 => _547.name]) || scope }, scope)) })
20370
20572
  ] }),
20371
20573
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
20372
20574
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Label, { children: "Grant Types" }),
@@ -20510,7 +20712,7 @@ function OAuthConsentScreen({
20510
20712
  if (error || !clientInfo) {
20511
20713
  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: [
20512
20714
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertTriangle, { className: "h-4 w-4" }),
20513
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDescription, { children: _optionalChain([error, 'optionalAccess', _531 => _531.message]) || "Invalid authorization request. Please try again." })
20715
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDescription, { children: _optionalChain([error, 'optionalAccess', _548 => _548.message]) || "Invalid authorization request. Please try again." })
20514
20716
  ] }) }) }) });
20515
20717
  }
20516
20718
  const { client, scopes } = clientInfo;
@@ -20726,7 +20928,7 @@ function WaitlistForm({ onSuccess }) {
20726
20928
  questionnaire: values.questionnaire
20727
20929
  });
20728
20930
  setIsSuccess(true);
20729
- _optionalChain([onSuccess, 'optionalCall', _532 => _532()]);
20931
+ _optionalChain([onSuccess, 'optionalCall', _549 => _549()]);
20730
20932
  } catch (e) {
20731
20933
  errorToast({ error: e });
20732
20934
  } finally {
@@ -20884,7 +21086,7 @@ function parseQuestionnaire(questionnaire) {
20884
21086
  if (!questionnaire) return null;
20885
21087
  try {
20886
21088
  return JSON.parse(questionnaire);
20887
- } catch (e16) {
21089
+ } catch (e17) {
20888
21090
  return null;
20889
21091
  }
20890
21092
  }
@@ -21364,7 +21566,7 @@ var ModuleEditor = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs.__n
21364
21566
  ] }),
21365
21567
  roleIds.map((roleId) => {
21366
21568
  const roleTokens = block[roleId];
21367
- const roleLabel = _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _533 => _533[roleId]]), () => ( roleId));
21569
+ const roleLabel = _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _550 => _550[roleId]]), () => ( roleId));
21368
21570
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "tr", { className: "border-b last:border-b-0", children: [
21369
21571
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-4 py-1 text-xs font-medium text-muted-foreground", children: roleLabel }),
21370
21572
  _chunkSE5HIHJSjs.ACTION_TYPES.map((action) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-2 py-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -21401,7 +21603,7 @@ function RbacContainer() {
21401
21603
  }, []);
21402
21604
  const sortedModuleIds = _react.useMemo.call(void 0, () => {
21403
21605
  if (!matrix) return [];
21404
- return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _534 => _534[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _535 => _535[b]]), () => ( b))));
21606
+ return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _551 => _551[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _552 => _552[b]]), () => ( b))));
21405
21607
  }, [matrix, moduleNames]);
21406
21608
  const roleIds = _react.useMemo.call(void 0, () => {
21407
21609
  if (roleNames) {
@@ -21464,7 +21666,7 @@ function RbacContainer() {
21464
21666
  id === selectedModuleId && "bg-muted font-medium text-foreground",
21465
21667
  id !== selectedModuleId && "text-muted-foreground"
21466
21668
  ),
21467
- children: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _536 => _536[id]]), () => ( id))
21669
+ children: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _553 => _553[id]]), () => ( id))
21468
21670
  }
21469
21671
  ) }, id)) }) }),
21470
21672
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "section", { className: "flex-1 overflow-y-auto p-4", children: selectedModuleId && selectedBlock ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -21472,7 +21674,7 @@ function RbacContainer() {
21472
21674
  {
21473
21675
  moduleId: selectedModuleId,
21474
21676
  block: selectedBlock,
21475
- moduleLabel: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _537 => _537[selectedModuleId]]), () => ( selectedModuleId)),
21677
+ moduleLabel: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _554 => _554[selectedModuleId]]), () => ( selectedModuleId)),
21476
21678
  roleIds,
21477
21679
  roleNames,
21478
21680
  onOpenPicker: openPicker
@@ -21483,12 +21685,12 @@ function RbacContainer() {
21483
21685
  RbacPermissionPicker,
21484
21686
  {
21485
21687
  open: !!activePicker,
21486
- anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _538 => _538.anchor]), () => ( null)),
21688
+ anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _555 => _555.anchor]), () => ( null)),
21487
21689
  value: activeValue,
21488
- isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _539 => _539.isRoleColumn]), () => ( false)),
21690
+ isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _556 => _556.isRoleColumn]), () => ( false)),
21489
21691
  knownSegments: activeSegments,
21490
21692
  onSetValue: handleSetValue,
21491
- onClear: _optionalChain([activePicker, 'optionalAccess', _540 => _540.isRoleColumn]) ? handleClear : void 0,
21693
+ onClear: _optionalChain([activePicker, 'optionalAccess', _557 => _557.isRoleColumn]) ? handleClear : void 0,
21492
21694
  onClose: closePicker
21493
21695
  }
21494
21696
  )
@@ -21555,7 +21757,7 @@ function RbacByRoleContainer() {
21555
21757
  }, [roleNames]);
21556
21758
  const sortedModuleIds = _react.useMemo.call(void 0, () => {
21557
21759
  if (!matrix) return [];
21558
- return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _541 => _541[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _542 => _542[b]]), () => ( b))));
21760
+ return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _558 => _558[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _559 => _559[b]]), () => ( b))));
21559
21761
  }, [matrix, moduleNames]);
21560
21762
  _react.useEffect.call(void 0, () => {
21561
21763
  if (!selectedRoleId && sortedRoleIds.length > 0) {
@@ -21604,7 +21806,7 @@ function RbacByRoleContainer() {
21604
21806
  id === selectedRoleId && "bg-muted font-medium text-foreground",
21605
21807
  id !== selectedRoleId && "text-muted-foreground"
21606
21808
  ),
21607
- children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _543 => _543[id]]), () => ( id))
21809
+ children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _560 => _560[id]]), () => ( id))
21608
21810
  }
21609
21811
  ) }, id)) }) }),
21610
21812
  /* @__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: [
@@ -21624,7 +21826,7 @@ function RbacByRoleContainer() {
21624
21826
  if (!block) return null;
21625
21827
  const defaultTokens = _nullishCoalesce(block.default, () => ( []));
21626
21828
  const roleTokens = block[selectedRoleId];
21627
- const moduleLabel = _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _544 => _544[moduleId]]), () => ( moduleId));
21829
+ const moduleLabel = _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _561 => _561[moduleId]]), () => ( moduleId));
21628
21830
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
21629
21831
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { className: "border-b bg-muted/40", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21630
21832
  "td",
@@ -21639,7 +21841,7 @@ function RbacByRoleContainer() {
21639
21841
  _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))
21640
21842
  ] }),
21641
21843
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "tr", { className: "border-b last:border-b-0", children: [
21642
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-4 py-1 text-xs font-medium text-muted-foreground", children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _545 => _545[selectedRoleId]]), () => ( selectedRoleId)) }),
21844
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-4 py-1 text-xs font-medium text-muted-foreground", children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _562 => _562[selectedRoleId]]), () => ( selectedRoleId)) }),
21643
21845
  _chunkSE5HIHJSjs.ACTION_TYPES.map((action) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-2 py-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21644
21846
  CellButton3,
21645
21847
  {
@@ -21660,12 +21862,12 @@ function RbacByRoleContainer() {
21660
21862
  RbacPermissionPicker,
21661
21863
  {
21662
21864
  open: !!activePicker,
21663
- anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _546 => _546.anchor]), () => ( null)),
21865
+ anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _563 => _563.anchor]), () => ( null)),
21664
21866
  value: activeValue,
21665
- isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _547 => _547.isRoleColumn]), () => ( false)),
21867
+ isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _564 => _564.isRoleColumn]), () => ( false)),
21666
21868
  knownSegments: activeSegments,
21667
21869
  onSetValue: handleSetValue,
21668
- onClear: _optionalChain([activePicker, 'optionalAccess', _548 => _548.isRoleColumn]) ? handleClear : void 0,
21870
+ onClear: _optionalChain([activePicker, 'optionalAccess', _565 => _565.isRoleColumn]) ? handleClear : void 0,
21669
21871
  onClose: closePicker
21670
21872
  }
21671
21873
  )
@@ -22185,5 +22387,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, RbacByRoleContainer, "RbacByRoleContainer")
22185
22387
 
22186
22388
 
22187
22389
 
22188
- 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;
22189
- //# sourceMappingURL=chunk-S5LH5422.js.map
22390
+
22391
+
22392
+ 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.fitLayeredLayoutToAspectRatio = fitLayeredLayoutToAspectRatio; 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;
22393
+ //# sourceMappingURL=chunk-LIZ5C76W.js.map