@carlonicora/nextjs-jsonapi 1.98.0 → 1.99.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6455,6 +6455,71 @@ 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 TITLE_PX_PER_CHAR_16 = 8;
6464
+ var NAME_PX_PER_CHAR_12 = 6.5;
6465
+ var NAME_PX_PER_CHAR_16_BOLD = 8;
6466
+ var SUBTITLE_PX_PER_CHAR_11 = 6;
6467
+ var LABEL_PADDING_PX = 16;
6468
+ function estimateLabelWidth(node) {
6469
+ if (node.subtitle) {
6470
+ const titleWidth = (_nullishCoalesce(_optionalChain([node, 'access', _134 => _134.name, 'optionalAccess', _135 => _135.length]), () => ( 0))) * TITLE_PX_PER_CHAR_16;
6471
+ const subtitleWidth = node.subtitle.length * SUBTITLE_PX_PER_CHAR_11;
6472
+ return Math.max(titleWidth, subtitleWidth) + LABEL_PADDING_PX;
6473
+ }
6474
+ const perChar = node.bold ? NAME_PX_PER_CHAR_16_BOLD : NAME_PX_PER_CHAR_12;
6475
+ return (_nullishCoalesce(_optionalChain([node, 'access', _136 => _136.name, 'optionalAccess', _137 => _137.length]), () => ( 0))) * perChar + LABEL_PADDING_PX;
6476
+ }
6477
+ _chunk7QVYU63Ejs.__name.call(void 0, estimateLabelWidth, "estimateLabelWidth");
6478
+ function linkEndpointId(end) {
6479
+ return typeof end === "string" ? end : end.id;
6480
+ }
6481
+ _chunk7QVYU63Ejs.__name.call(void 0, linkEndpointId, "linkEndpointId");
6482
+ function computeLayeredLayout(nodes, links, opts) {
6483
+ if (nodes.length === 0) return /* @__PURE__ */ new Map();
6484
+ const rankdir = _nullishCoalesce(opts.rankdir, () => ( DEFAULT_RANKDIR));
6485
+ const nodesep = _nullishCoalesce(opts.nodesep, () => ( DEFAULT_NODESEP));
6486
+ const ranksep = _nullishCoalesce(opts.ranksep, () => ( DEFAULT_RANKSEP));
6487
+ const g = new dagre.graphlib.Graph({ directed: true });
6488
+ g.setGraph({ rankdir, nodesep, ranksep, marginx: 20, marginy: 20 });
6489
+ g.setDefaultEdgeLabel(() => ({}));
6490
+ for (const node of nodes) {
6491
+ const width = Math.max(opts.minNodeWidth, estimateLabelWidth(node));
6492
+ const height = opts.minNodeHeight;
6493
+ g.setNode(node.id, { width, height });
6494
+ }
6495
+ const seen = /* @__PURE__ */ new Set();
6496
+ for (const link of links) {
6497
+ const sourceId = linkEndpointId(link.source);
6498
+ const targetId = linkEndpointId(link.target);
6499
+ if (!g.hasNode(sourceId) || !g.hasNode(targetId)) continue;
6500
+ const key = `${sourceId}->${targetId}`;
6501
+ if (seen.has(key)) continue;
6502
+ seen.add(key);
6503
+ g.setEdge(sourceId, targetId);
6504
+ }
6505
+ try {
6506
+ dagre.layout(g);
6507
+ } catch (e4) {
6508
+ return null;
6509
+ }
6510
+ const positions = /* @__PURE__ */ new Map();
6511
+ for (const node of nodes) {
6512
+ const laid = g.node(node.id);
6513
+ if (laid && Number.isFinite(laid.x) && Number.isFinite(laid.y)) {
6514
+ positions.set(node.id, { x: laid.x, y: laid.y });
6515
+ }
6516
+ }
6517
+ return positions;
6518
+ }
6519
+ _chunk7QVYU63Ejs.__name.call(void 0, computeLayeredLayout, "computeLayeredLayout");
6520
+
6521
+ // src/hooks/useCustomD3Graph.tsx
6522
+
6458
6523
  function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, options, loadingNodeIds, containerKey) {
6459
6524
  const svgRef = _react.useRef.call(void 0, null);
6460
6525
  const zoomRef = _react.useRef.call(void 0, null);
@@ -6519,7 +6584,7 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, options, lo
6519
6584
  });
6520
6585
  const typeColorMap = /* @__PURE__ */ new Map();
6521
6586
  Array.from(groupTypes).forEach((type, index) => {
6522
- if (type === _optionalChain([nodes, 'access', _134 => _134[0], 'optionalAccess', _135 => _135.instanceType])) {
6587
+ if (type === _optionalChain([nodes, 'access', _138 => _138[0], 'optionalAccess', _139 => _139.instanceType])) {
6523
6588
  typeColorMap.set(type, accentColor);
6524
6589
  } else if (type === "documents" || type === "articles" || type === "hyperlinks") {
6525
6590
  typeColorMap.set(type, contentColor);
@@ -6565,14 +6630,14 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, options, lo
6565
6630
  });
6566
6631
  const svg = d3.select(svgRef.current);
6567
6632
  svg.selectAll("*").remove();
6568
- const container = _optionalChain([svgRef, 'access', _136 => _136.current, 'optionalAccess', _137 => _137.parentElement]);
6633
+ const container = _optionalChain([svgRef, 'access', _140 => _140.current, 'optionalAccess', _141 => _141.parentElement]);
6569
6634
  if (!container) return;
6570
6635
  const width = container.clientWidth;
6571
6636
  const height = container.clientHeight;
6572
6637
  svg.attr("width", width).attr("height", height).attr("viewBox", `0 0 ${width} ${height}`);
6573
6638
  const graphGroup = svg.append("g").attr("class", "graph-content");
6574
6639
  const nodeRadius = 40;
6575
- const directed = _optionalChain([options, 'optionalAccess', _138 => _138.directed]) === true;
6640
+ const directed = _optionalChain([options, 'optionalAccess', _142 => _142.directed]) === true;
6576
6641
  if (directed) {
6577
6642
  const defs = svg.append("defs");
6578
6643
  defs.append("marker").attr("id", "narr8-arrow").attr("viewBox", "-10 -10 20 20").attr("markerWidth", 14).attr("markerHeight", 14).attr("markerUnits", "userSpaceOnUse").attr("orient", "auto").attr("refX", 0).attr("refY", 0).append("path").attr("d", "M-10,-10 L0,0 L-10,10 z").attr("fill", "#999");
@@ -6584,117 +6649,167 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, options, lo
6584
6649
  });
6585
6650
  zoomBehaviorRef.current = zoom2;
6586
6651
  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);
6652
+ const layoutMode = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _143 => _143.layout]), () => ( "radial"));
6653
+ let layeredPositionsApplied = false;
6654
+ if (layoutMode === "layered") {
6655
+ const layeredOpts = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _144 => _144.layered]), () => ( {}));
6656
+ const positions = computeLayeredLayout(visibleNodes, visibleLinks, {
6657
+ rankdir: _nullishCoalesce(layeredOpts.rankdir, () => ( "LR")),
6658
+ nodesep: layeredOpts.nodesep,
6659
+ ranksep: layeredOpts.ranksep,
6660
+ minNodeWidth: nodeRadius * 2,
6661
+ minNodeHeight: nodeRadius * 2
6662
+ });
6663
+ if (positions) {
6664
+ visibleNodes.forEach((node2) => {
6665
+ const saved = nodePositionsRef.current.get(node2.id);
6666
+ if (saved) {
6667
+ node2.fx = saved.x;
6668
+ node2.fy = saved.y;
6669
+ node2.x = saved.x;
6670
+ node2.y = saved.y;
6671
+ return;
6672
+ }
6673
+ const pos = positions.get(node2.id);
6674
+ if (pos) {
6675
+ node2.fx = pos.x;
6676
+ node2.fy = pos.y;
6677
+ node2.x = pos.x;
6678
+ node2.y = pos.y;
6679
+ nodePositionsRef.current.set(node2.id, { x: pos.x, y: pos.y });
6680
+ }
6681
+ });
6682
+ const nodeById = /* @__PURE__ */ new Map();
6683
+ visibleNodes.forEach((n) => nodeById.set(n.id, n));
6684
+ visibleLinks.forEach((link2) => {
6685
+ if (typeof link2.source === "string") {
6686
+ const src = nodeById.get(link2.source);
6687
+ if (src) link2.source = src;
6688
+ }
6689
+ if (typeof link2.target === "string") {
6690
+ const tgt = nodeById.get(link2.target);
6691
+ if (tgt) link2.target = tgt;
6692
+ }
6693
+ });
6694
+ layeredPositionsApplied = true;
6695
+ } else {
6696
+ console.warn("[useCustomD3Graph] Layered layout failed; falling back to radial.");
6625
6697
  }
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;
6698
+ }
6699
+ let simulation = null;
6700
+ if (!layeredPositionsApplied) {
6701
+ const childDistanceFromRoot = Math.min(width, height) * 0.4;
6702
+ const grandchildDistanceFromChild = nodeRadius * 10;
6703
+ const centralNodeId = nodes[0].id;
6704
+ const nodeHierarchy = /* @__PURE__ */ new Map();
6705
+ nodeHierarchy.set(centralNodeId, {
6706
+ depth: 0,
6707
+ parent: null,
6708
+ children: []
6709
+ });
6710
+ visibleLinks.forEach((link2) => {
6711
+ const sourceId = typeof link2.source === "string" ? link2.source : link2.source.id;
6712
+ const targetId = typeof link2.target === "string" ? link2.target : link2.target.id;
6713
+ if (sourceId === centralNodeId) {
6714
+ nodeHierarchy.set(targetId, { depth: 1, parent: centralNodeId, children: [] });
6715
+ const rootNode = nodeHierarchy.get(centralNodeId);
6716
+ if (rootNode) {
6717
+ rootNode.children.push(targetId);
6646
6718
  }
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) => {
6719
+ }
6720
+ });
6721
+ visibleLinks.forEach((link2) => {
6722
+ const sourceId = typeof link2.source === "string" ? link2.source : link2.source.id;
6723
+ const targetId = typeof link2.target === "string" ? link2.target : link2.target.id;
6724
+ const sourceNode = nodeHierarchy.get(sourceId);
6725
+ if (sourceNode && sourceNode.depth === 1 && !nodeHierarchy.has(targetId)) {
6726
+ nodeHierarchy.set(targetId, { depth: 2, parent: sourceId, children: [] });
6727
+ sourceNode.children.push(targetId);
6728
+ }
6729
+ });
6730
+ const rootChildren = _optionalChain([nodeHierarchy, 'access', _145 => _145.get, 'call', _146 => _146(centralNodeId), 'optionalAccess', _147 => _147.children]) || [];
6731
+ const childAngleStep = 2 * Math.PI / Math.max(rootChildren.length, 1);
6732
+ rootChildren.forEach((childId, index) => {
6733
+ const childNode = nodeHierarchy.get(childId);
6734
+ if (childNode) {
6735
+ const angle = index * childAngleStep;
6736
+ childNode.angle = angle;
6737
+ childNode.x = width / 2 + childDistanceFromRoot * Math.cos(angle);
6738
+ childNode.y = height / 2 + childDistanceFromRoot * Math.sin(angle);
6739
+ }
6740
+ });
6741
+ for (const [_nodeId, node2] of nodeHierarchy.entries()) {
6742
+ if (node2.depth === 1 && node2.angle !== void 0 && node2.x !== void 0 && node2.y !== void 0) {
6743
+ const childAngle = node2.angle;
6744
+ const childX = node2.x;
6745
+ const childY = node2.y;
6746
+ const grandchildren = node2.children;
6747
+ if (grandchildren.length === 0) continue;
6748
+ const dirX = childX - width / 2;
6749
+ const dirY = childY - height / 2;
6750
+ const dirLength = Math.sqrt(dirX * dirX + dirY * dirY);
6751
+ const normDirX = dirX / dirLength;
6752
+ const normDirY = dirY / dirLength;
6753
+ if (grandchildren.length === 1) {
6754
+ const grandchildId = grandchildren[0];
6655
6755
  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
- });
6756
+ if (grandchildNode) {
6757
+ grandchildNode.x = childX + normDirX * grandchildDistanceFromChild;
6758
+ grandchildNode.y = childY + normDirY * grandchildDistanceFromChild;
6759
+ grandchildNode.angle = childAngle;
6760
+ }
6761
+ } else {
6762
+ const numChildren = grandchildren.length;
6763
+ const minArc = Math.PI / 3;
6764
+ const maxArc = Math.PI;
6765
+ const arcProgress = Math.min(1, (numChildren - 2) / 5);
6766
+ const arcSpan = minArc + arcProgress * (maxArc - minArc);
6767
+ const startAngle = childAngle - arcSpan / 2;
6768
+ grandchildren.forEach((grandchildId, index) => {
6769
+ const grandchildNode = nodeHierarchy.get(grandchildId);
6770
+ if (!grandchildNode) return;
6771
+ const angleOffset = numChildren > 1 ? index / (numChildren - 1) * arcSpan : 0;
6772
+ const angle = startAngle + angleOffset;
6773
+ grandchildNode.x = childX + grandchildDistanceFromChild * Math.cos(angle);
6774
+ grandchildNode.y = childY + grandchildDistanceFromChild * Math.sin(angle);
6775
+ grandchildNode.angle = angle;
6776
+ });
6777
+ }
6663
6778
  }
6664
6779
  }
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 });
6780
+ visibleNodes.forEach((node2) => {
6781
+ const savedPosition = nodePositionsRef.current.get(node2.id);
6782
+ if (savedPosition) {
6783
+ node2.fx = savedPosition.x;
6784
+ node2.fy = savedPosition.y;
6785
+ } else {
6786
+ const hierarchyNode = nodeHierarchy.get(node2.id);
6787
+ if (hierarchyNode && hierarchyNode.x !== void 0 && hierarchyNode.y !== void 0) {
6788
+ node2.fx = hierarchyNode.x;
6789
+ node2.fy = hierarchyNode.y;
6790
+ nodePositionsRef.current.set(node2.id, { x: hierarchyNode.x, y: hierarchyNode.y });
6791
+ } else if (node2.id === centralNodeId) {
6792
+ node2.fx = width / 2;
6793
+ node2.fy = height / 2;
6794
+ nodePositionsRef.current.set(node2.id, { x: width / 2, y: height / 2 });
6795
+ }
6681
6796
  }
6797
+ });
6798
+ simulation = d3.forceSimulation(visibleNodes).force(
6799
+ "link",
6800
+ d3.forceLink(visibleLinks).id((d) => d.id).distance(nodeRadius * 3).strength(0.1)
6801
+ ).force("charge", d3.forceManyBody().strength(-500).distanceMax(300)).force("collision", d3.forceCollide().radius(nodeRadius * 1.2)).force("center", d3.forceCenter(width / 2, height / 2).strength(0.1));
6802
+ simulation.stop();
6803
+ for (let i = 0; i < 100; i++) {
6804
+ simulation.tick();
6682
6805
  }
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
- });
6806
+ visibleNodes.forEach((node2) => {
6807
+ if (node2.fx === void 0) {
6808
+ node2.fx = node2.x;
6809
+ node2.fy = node2.y;
6810
+ }
6811
+ });
6812
+ }
6698
6813
  const linkX2 = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (sx, sy, tx, ty) => {
6699
6814
  if (!directed) return tx;
6700
6815
  const dx = tx - sx;
@@ -6761,7 +6876,7 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, options, lo
6761
6876
  if (d.instanceType === "root") return;
6762
6877
  const currentNode = d3.select(this);
6763
6878
  currentNode.raise();
6764
- const currentZoom = _optionalChain([zoomRef, 'access', _142 => _142.current, 'optionalAccess', _143 => _143.k]) || 1;
6879
+ const currentZoom = _optionalChain([zoomRef, 'access', _148 => _148.current, 'optionalAccess', _149 => _149.k]) || 1;
6765
6880
  const targetScreenFontSize = 20;
6766
6881
  const baseFontSize = 12;
6767
6882
  const textScale = targetScreenFontSize / (baseFontSize * currentZoom);
@@ -6836,9 +6951,21 @@ function useCustomD3Graph(nodes, links, onNodeClick, visibleNodeIds, options, lo
6836
6951
  }
6837
6952
  });
6838
6953
  return () => {
6839
- simulation.stop();
6954
+ _optionalChain([simulation, 'optionalAccess', _150 => _150.stop, 'call', _151 => _151()]);
6840
6955
  };
6841
- }, [nodes, links, colorScale, visibleNodeIds, _optionalChain([options, 'optionalAccess', _144 => _144.directed]), loadingNodeIds, onNodeClick]);
6956
+ }, [
6957
+ nodes,
6958
+ links,
6959
+ colorScale,
6960
+ visibleNodeIds,
6961
+ _optionalChain([options, 'optionalAccess', _152 => _152.directed]),
6962
+ _optionalChain([options, 'optionalAccess', _153 => _153.layout]),
6963
+ _optionalChain([options, 'optionalAccess', _154 => _154.layered, 'optionalAccess', _155 => _155.rankdir]),
6964
+ _optionalChain([options, 'optionalAccess', _156 => _156.layered, 'optionalAccess', _157 => _157.nodesep]),
6965
+ _optionalChain([options, 'optionalAccess', _158 => _158.layered, 'optionalAccess', _159 => _159.ranksep]),
6966
+ loadingNodeIds,
6967
+ onNodeClick
6968
+ ]);
6842
6969
  const zoomIn = _react.useCallback.call(void 0, () => {
6843
6970
  if (!svgRef.current || !zoomBehaviorRef.current) return;
6844
6971
  const svg = d3.select(svgRef.current);
@@ -6958,7 +7085,7 @@ function usePageTracker() {
6958
7085
  if (typeof document !== "undefined") {
6959
7086
  const titleParts = document.title.split("]");
6960
7087
  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()]);
7088
+ const cleanTitle = _optionalChain([titleParts, 'access', _160 => _160[1], 'access', _161 => _161.split, 'call', _162 => _162("|"), 'access', _163 => _163[0], 'optionalAccess', _164 => _164.trim, 'call', _165 => _165()]);
6962
7089
  pageTitle = cleanTitle || foundModule.name;
6963
7090
  }
6964
7091
  }
@@ -6995,7 +7122,7 @@ function usePushNotifications() {
6995
7122
  const register = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
6996
7123
  if ("serviceWorker" in navigator && "PushManager" in window) {
6997
7124
  try {
6998
- const sessionKey = `push_registered_${_optionalChain([currentUser, 'optionalAccess', _151 => _151.id])}`;
7125
+ const sessionKey = `push_registered_${_optionalChain([currentUser, 'optionalAccess', _166 => _166.id])}`;
6999
7126
  const lastRegisteredSubscription = sessionStorage.getItem(sessionKey);
7000
7127
  const registration = await navigator.serviceWorker.register(`${_chunkSE5HIHJSjs.getAppUrl.call(void 0, )}/sw.js`);
7001
7128
  let permission = Notification.permission;
@@ -7052,7 +7179,7 @@ function useSocket({ token }) {
7052
7179
  const socketRef = _react.useRef.call(void 0, null);
7053
7180
  _react.useEffect.call(void 0, () => {
7054
7181
  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, "_")])}`;
7182
+ const globalSocketKey = `__socket_${_optionalChain([process, 'access', _167 => _167.env, 'access', _168 => _168.NEXT_PUBLIC_API_URL, 'optionalAccess', _169 => _169.replace, 'call', _170 => _170(/[^a-zA-Z0-9]/g, "_")])}`;
7056
7183
  if (typeof window !== "undefined") {
7057
7184
  const _allSocketKeys = Object.keys(window).filter((key) => key.startsWith("__socket_"));
7058
7185
  const existingSocket = window[globalSocketKey];
@@ -7090,7 +7217,7 @@ function useSocket({ token }) {
7090
7217
  }
7091
7218
  socketRef.current = currentSocket;
7092
7219
  setSocket(currentSocket);
7093
- } catch (e4) {
7220
+ } catch (e5) {
7094
7221
  return () => {
7095
7222
  };
7096
7223
  }
@@ -7245,23 +7372,23 @@ var CurrentUserProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (
7245
7372
  );
7246
7373
  const matchedModuleKey = moduleKeys.find((key) => {
7247
7374
  const descriptor2 = Object.getOwnPropertyDescriptor(_chunkXAWKRNYMjs.Modules, key);
7248
- if (!_optionalChain([descriptor2, 'optionalAccess', _156 => _156.get])) return false;
7375
+ if (!_optionalChain([descriptor2, 'optionalAccess', _171 => _171.get])) return false;
7249
7376
  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()]));
7377
+ return path.toLowerCase().startsWith(_optionalChain([selectedModule, 'access', _172 => _172.pageUrl, 'optionalAccess', _173 => _173.toLowerCase, 'call', _174 => _174()]));
7251
7378
  });
7252
7379
  if (!matchedModuleKey) return void 0;
7253
7380
  const descriptor = Object.getOwnPropertyDescriptor(_chunkXAWKRNYMjs.Modules, matchedModuleKey);
7254
- return _optionalChain([descriptor, 'optionalAccess', _160 => _160.get, 'optionalAccess', _161 => _161.call, 'call', _162 => _162(_chunkXAWKRNYMjs.Modules)]);
7381
+ return _optionalChain([descriptor, 'optionalAccess', _175 => _175.get, 'optionalAccess', _176 => _176.call, 'call', _177 => _177(_chunkXAWKRNYMjs.Modules)]);
7255
7382
  }, "matchUrlToModule");
7256
7383
  const currentUser = dehydratedUser ? _chunkXAWKRNYMjs.rehydrate.call(void 0, _chunkXAWKRNYMjs.Modules.User, dehydratedUser) : null;
7257
- const company = _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _163 => _163.company]), () => ( null));
7384
+ const company = _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _178 => _178.company]), () => ( null));
7258
7385
  const setUser = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (user) => {
7259
7386
  if (user) setDehydratedUser(user.dehydrate());
7260
7387
  else setDehydratedUser(null);
7261
7388
  }, "setUser");
7262
7389
  const hasRole = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (roleId) => {
7263
7390
  if (!currentUser) return false;
7264
- return !!_optionalChain([currentUser, 'access', _164 => _164.roles, 'optionalAccess', _165 => _165.some, 'call', _166 => _166((userRole) => userRole.id === roleId)]);
7391
+ return !!_optionalChain([currentUser, 'access', _179 => _179.roles, 'optionalAccess', _180 => _180.some, 'call', _181 => _181((userRole) => userRole.id === roleId)]);
7265
7392
  }, "hasRole");
7266
7393
  const hasAccesToFeature = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (featureIdentifier) => {
7267
7394
  if (hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)) return true;
@@ -7301,12 +7428,12 @@ var CurrentUserProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (
7301
7428
  try {
7302
7429
  const fullUser = await _chunkXAWKRNYMjs.UserService.findFullUser();
7303
7430
  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({
7431
+ if (!_optionalChain([options, 'optionalAccess', _182 => _182.skipCookieUpdate])) {
7432
+ await _optionalChain([_chunkXAWKRNYMjs.getTokenHandler.call(void 0, ), 'optionalAccess', _183 => _183.updateToken, 'call', _184 => _184({
7306
7433
  userId: fullUser.id,
7307
- companyId: _optionalChain([fullUser, 'access', _170 => _170.company, 'optionalAccess', _171 => _171.id]),
7434
+ companyId: _optionalChain([fullUser, 'access', _185 => _185.company, 'optionalAccess', _186 => _186.id]),
7308
7435
  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)]), () => ( [])),
7436
+ features: _nullishCoalesce(_optionalChain([fullUser, 'access', _187 => _187.company, 'optionalAccess', _188 => _188.features, 'optionalAccess', _189 => _189.map, 'call', _190 => _190((feature) => feature.id)]), () => ( [])),
7310
7437
  modules: fullUser.modules.map((module) => ({
7311
7438
  id: module.id,
7312
7439
  permissions: module.permissions
@@ -7328,11 +7455,11 @@ var CurrentUserProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (
7328
7455
  refreshUserRef.current = refreshUser;
7329
7456
  const isRefreshingRef = _react.useRef.call(void 0, false);
7330
7457
  _react.useEffect.call(void 0, () => {
7331
- if (!socket || !isConnected || !_optionalChain([currentUser, 'optionalAccess', _176 => _176.company, 'optionalAccess', _177 => _177.id])) {
7458
+ if (!socket || !isConnected || !_optionalChain([currentUser, 'optionalAccess', _191 => _191.company, 'optionalAccess', _192 => _192.id])) {
7332
7459
  return;
7333
7460
  }
7334
7461
  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) {
7462
+ if (data.companyId === _optionalChain([currentUser, 'access', _193 => _193.company, 'optionalAccess', _194 => _194.id]) && !isRefreshingRef.current) {
7336
7463
  isRefreshingRef.current = true;
7337
7464
  refreshUserRef.current({ skipCookieUpdate: true }).finally(() => {
7338
7465
  isRefreshingRef.current = false;
@@ -7345,7 +7472,7 @@ var CurrentUserProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (
7345
7472
  socket.off("company:tokens_updated", handleCompanyUpdate);
7346
7473
  socket.off("company:subscription_updated", handleCompanyUpdate);
7347
7474
  };
7348
- }, [socket, isConnected, _optionalChain([currentUser, 'optionalAccess', _180 => _180.company, 'optionalAccess', _181 => _181.id])]);
7475
+ }, [socket, isConnected, _optionalChain([currentUser, 'optionalAccess', _195 => _195.company, 'optionalAccess', _196 => _196.id])]);
7349
7476
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7350
7477
  CurrentUserContext.Provider,
7351
7478
  {
@@ -7416,7 +7543,7 @@ function AddUserToRoleInternal({ role, refresh }) {
7416
7543
  const data = useDataListRetriever({
7417
7544
  ready: !!company && show,
7418
7545
  retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkXAWKRNYMjs.UserService.findAllUsers(params), "retriever"),
7419
- retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _182 => _182.id]) },
7546
+ retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _197 => _197.id]) },
7420
7547
  module: _chunkXAWKRNYMjs.Modules.User
7421
7548
  });
7422
7549
  _react.useEffect.call(void 0, () => {
@@ -7484,10 +7611,10 @@ function UserAvatarEditor({ user, file, setFile, resetImage, setResetImage }) {
7484
7611
  onValueChange: setFiles,
7485
7612
  dropzoneOptions: dropzone2,
7486
7613
  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,
7614
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FileInput, { className: "bg-muted text-muted-foreground flex h-full w-full flex-col items-center justify-center", children: !resetImage && (file || _optionalChain([user, 'optionalAccess', _198 => _198.avatar])) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7488
7615
  _image2.default,
7489
7616
  {
7490
- src: file ? URL.createObjectURL(file) : _optionalChain([user, 'optionalAccess', _184 => _184.avatar]) || "",
7617
+ src: file ? URL.createObjectURL(file) : _optionalChain([user, 'optionalAccess', _199 => _199.avatar]) || "",
7491
7618
  alt: t(`common.avatar`),
7492
7619
  width: 200,
7493
7620
  height: 200
@@ -7495,7 +7622,7 @@ function UserAvatarEditor({ user, file, setFile, resetImage, setResetImage }) {
7495
7622
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.UploadIcon, { className: "my-4 h-8 w-8" }) })
7496
7623
  }
7497
7624
  ),
7498
- !resetImage && (file || _optionalChain([user, 'optionalAccess', _185 => _185.avatar])) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7625
+ !resetImage && (file || _optionalChain([user, 'optionalAccess', _200 => _200.avatar])) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7499
7626
  Button,
7500
7627
  {
7501
7628
  className: "",
@@ -7523,7 +7650,7 @@ function UserDeleterInternal({ user, onDeleted, companyId }) {
7523
7650
  const router = _chunkSE5HIHJSjs.useI18nRouter.call(void 0, );
7524
7651
  const _t = _nextintl.useTranslations.call(void 0, );
7525
7652
  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) {
7653
+ if (_optionalChain([currentUser, 'optionalAccess', _201 => _201.roles, 'access', _202 => _202.find, 'call', _203 => _203((role) => role.id === _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)]) && companyId) {
7527
7654
  cId = companyId;
7528
7655
  } else {
7529
7656
  if (!company) return;
@@ -7586,18 +7713,18 @@ function UserEditorInternal({
7586
7713
  }, [company]);
7587
7714
  const handleDialogOpenChange = _react.useCallback.call(void 0,
7588
7715
  (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) {
7716
+ if (open && (company || _optionalChain([currentUser, 'optionalAccess', _204 => _204.roles, 'access', _205 => _205.find, 'call', _206 => _206((role) => role.id === _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)])) && roles.length === 0) {
7590
7717
  async function fetchRoles() {
7591
7718
  const allRoles = await _chunkXAWKRNYMjs.RoleService.findAllRoles({});
7592
7719
  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]))]))
7720
+ (role) => role.id !== _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator && (role.requiredFeature === void 0 || _optionalChain([company, 'optionalAccess', _207 => _207.features, 'access', _208 => _208.some, 'call', _209 => _209((feature) => feature.id === _optionalChain([role, 'access', _210 => _210.requiredFeature, 'optionalAccess', _211 => _211.id]))]))
7594
7721
  );
7595
7722
  setRoles(availableRoles);
7596
7723
  }
7597
7724
  _chunk7QVYU63Ejs.__name.call(void 0, fetchRoles, "fetchRoles");
7598
7725
  fetchRoles();
7599
7726
  }
7600
- _optionalChain([onDialogOpenChange, 'optionalCall', _197 => _197(open)]);
7727
+ _optionalChain([onDialogOpenChange, 'optionalCall', _212 => _212(open)]);
7601
7728
  },
7602
7729
  [company, currentUser, roles.length, onDialogOpenChange]
7603
7730
  );
@@ -7631,29 +7758,29 @@ function UserEditorInternal({
7631
7758
  );
7632
7759
  const getDefaultValues = _react.useCallback.call(void 0, () => {
7633
7760
  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]) || "",
7761
+ id: _optionalChain([user, 'optionalAccess', _213 => _213.id]) || _uuid.v4.call(void 0, ),
7762
+ name: _optionalChain([user, 'optionalAccess', _214 => _214.name]) || "",
7763
+ title: _optionalChain([user, 'optionalAccess', _215 => _215.title]) || "",
7764
+ bio: _optionalChain([user, 'optionalAccess', _216 => _216.bio]) || "",
7765
+ email: _optionalChain([user, 'optionalAccess', _217 => _217.email]) || "",
7766
+ phone: _optionalChain([user, 'optionalAccess', _218 => _218.phone]) || "",
7640
7767
  password: "",
7641
- roleIds: _optionalChain([user, 'optionalAccess', _204 => _204.roles, 'access', _205 => _205.map, 'call', _206 => _206((role) => role.id)]) || [],
7768
+ roleIds: _optionalChain([user, 'optionalAccess', _219 => _219.roles, 'access', _220 => _220.map, 'call', _221 => _221((role) => role.id)]) || [],
7642
7769
  sendInvitationEmail: false,
7643
- avatar: _optionalChain([user, 'optionalAccess', _207 => _207.avatarUrl]) || ""
7770
+ avatar: _optionalChain([user, 'optionalAccess', _222 => _222.avatarUrl]) || ""
7644
7771
  };
7645
7772
  }, [user]);
7646
7773
  const form = _reacthookform.useForm.call(void 0, {
7647
7774
  resolver: _zod.zodResolver.call(void 0, formSchema),
7648
7775
  defaultValues: getDefaultValues()
7649
7776
  });
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));
7777
+ const canChangeRoles = !(_optionalChain([currentUser, 'optionalAccess', _223 => _223.id]) === _optionalChain([user, 'optionalAccess', _224 => _224.id]) && hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)) && (hasPermissionToModule({ module: _chunkXAWKRNYMjs.Modules.User, action: "update" /* Update */ }) || hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator));
7651
7778
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7652
7779
  EditorSheet,
7653
7780
  {
7654
7781
  form,
7655
7782
  entityType: t(`entities.users`, { count: 1 }),
7656
- entityName: _optionalChain([user, 'optionalAccess', _210 => _210.name]),
7783
+ entityName: _optionalChain([user, 'optionalAccess', _225 => _225.name]),
7657
7784
  isEdit: !!user,
7658
7785
  module: _chunkXAWKRNYMjs.Modules.User,
7659
7786
  propagateChanges,
@@ -7705,7 +7832,7 @@ function UserEditorInternal({
7705
7832
  adminCreated
7706
7833
  };
7707
7834
  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);
7835
+ if (_optionalChain([currentUser, 'optionalAccess', _226 => _226.id]) === updatedUser.id) setUser(updatedUser);
7709
7836
  return updatedUser;
7710
7837
  },
7711
7838
  onRevalidate,
@@ -7952,7 +8079,7 @@ function EntityMultiSelector({
7952
8079
  if (open) {
7953
8080
  setSearchTerm("");
7954
8081
  requestAnimationFrame(() => {
7955
- _optionalChain([searchInputRef, 'access', _212 => _212.current, 'optionalAccess', _213 => _213.focus, 'call', _214 => _214()]);
8082
+ _optionalChain([searchInputRef, 'access', _227 => _227.current, 'optionalAccess', _228 => _228.focus, 'call', _229 => _229()]);
7956
8083
  });
7957
8084
  }
7958
8085
  }, [open]);
@@ -7969,7 +8096,7 @@ function EntityMultiSelector({
7969
8096
  form.setValue(id, next, { shouldDirty: true, shouldTouch: true });
7970
8097
  const cb = onChangeRef.current;
7971
8098
  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);
8099
+ const fullData = next.map((v) => _optionalChain([options, 'access', _230 => _230.find, 'call', _231 => _231((opt) => opt.id === v.id), 'optionalAccess', _232 => _232.entityData])).filter(Boolean);
7973
8100
  cb(fullData);
7974
8101
  }
7975
8102
  },
@@ -7982,7 +8109,7 @@ function EntityMultiSelector({
7982
8109
  form.setValue(id, next, { shouldDirty: true, shouldTouch: true });
7983
8110
  const cb = onChangeRef.current;
7984
8111
  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);
8112
+ const fullData = next.map((v) => _optionalChain([options, 'access', _233 => _233.find, 'call', _234 => _234((opt) => opt.id === v.id), 'optionalAccess', _235 => _235.entityData])).filter(Boolean);
7986
8113
  cb(fullData);
7987
8114
  }
7988
8115
  },
@@ -8120,11 +8247,11 @@ function UserMultiSelect({
8120
8247
  emptyText: t("ui.search.no_results", { type: t("entities.users", { count: 2 }) }),
8121
8248
  isRequired,
8122
8249
  retriever: (params) => _chunkXAWKRNYMjs.UserService.findAllUsers(params),
8123
- retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _221 => _221.id]) },
8250
+ retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _236 => _236.id]) },
8124
8251
  module: _chunkXAWKRNYMjs.Modules.User,
8125
8252
  getLabel: (user) => user.name,
8126
8253
  toFormValue: (user) => ({ id: user.id, name: user.name, avatar: user.avatar }),
8127
- excludeId: _optionalChain([currentUser, 'optionalAccess', _222 => _222.id]),
8254
+ excludeId: _optionalChain([currentUser, 'optionalAccess', _237 => _237.id]),
8128
8255
  onChange,
8129
8256
  renderOption: (user) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
8130
8257
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserAvatarIcon, { url: user.avatar, name: user.name }),
@@ -8390,7 +8517,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, ErrorDetails, "ErrorDetails");
8390
8517
 
8391
8518
  // src/components/errors/errorToast.ts
8392
8519
  function errorToast(params) {
8393
- _chunkXAWKRNYMjs.showError.call(void 0, _nullishCoalesce(_optionalChain([params, 'optionalAccess', _223 => _223.title]), () => ( "Error")), {
8520
+ _chunkXAWKRNYMjs.showError.call(void 0, _nullishCoalesce(_optionalChain([params, 'optionalAccess', _238 => _238.title]), () => ( "Error")), {
8394
8521
  description: params.error instanceof Error ? params.error.message : String(params.error)
8395
8522
  });
8396
8523
  }
@@ -8554,21 +8681,21 @@ function useEditorDialog(isFormDirty, options) {
8554
8681
  const [open, setOpen] = _react.useState.call(void 0, false);
8555
8682
  const [showDiscardConfirm, setShowDiscardConfirm] = _react.useState.call(void 0, false);
8556
8683
  _react.useEffect.call(void 0, () => {
8557
- if (_optionalChain([options, 'optionalAccess', _224 => _224.dialogOpen]) !== void 0) {
8684
+ if (_optionalChain([options, 'optionalAccess', _239 => _239.dialogOpen]) !== void 0) {
8558
8685
  setOpen(options.dialogOpen);
8559
8686
  }
8560
- }, [_optionalChain([options, 'optionalAccess', _225 => _225.dialogOpen])]);
8687
+ }, [_optionalChain([options, 'optionalAccess', _240 => _240.dialogOpen])]);
8561
8688
  _react.useEffect.call(void 0, () => {
8562
- if (typeof _optionalChain([options, 'optionalAccess', _226 => _226.onDialogOpenChange]) === "function") {
8689
+ if (typeof _optionalChain([options, 'optionalAccess', _241 => _241.onDialogOpenChange]) === "function") {
8563
8690
  options.onDialogOpenChange(open);
8564
8691
  }
8565
- }, [open, _optionalChain([options, 'optionalAccess', _227 => _227.onDialogOpenChange])]);
8692
+ }, [open, _optionalChain([options, 'optionalAccess', _242 => _242.onDialogOpenChange])]);
8566
8693
  _react.useEffect.call(void 0, () => {
8567
- if (_optionalChain([options, 'optionalAccess', _228 => _228.forceShow])) setOpen(true);
8568
- }, [_optionalChain([options, 'optionalAccess', _229 => _229.forceShow])]);
8694
+ if (_optionalChain([options, 'optionalAccess', _243 => _243.forceShow])) setOpen(true);
8695
+ }, [_optionalChain([options, 'optionalAccess', _244 => _244.forceShow])]);
8569
8696
  _react.useEffect.call(void 0, () => {
8570
8697
  if (!open) {
8571
- if (_optionalChain([options, 'optionalAccess', _230 => _230.onClose])) options.onClose();
8698
+ if (_optionalChain([options, 'optionalAccess', _245 => _245.onClose])) options.onClose();
8572
8699
  }
8573
8700
  }, [open]);
8574
8701
  const handleOpenChange = _react.useCallback.call(void 0,
@@ -8660,7 +8787,7 @@ function EditorSheet({
8660
8787
  hasBeenOpen.current = true;
8661
8788
  } else if (hasBeenOpen.current) {
8662
8789
  form.reset(onReset());
8663
- _optionalChain([onClose, 'optionalCall', _231 => _231()]);
8790
+ _optionalChain([onClose, 'optionalCall', _246 => _246()]);
8664
8791
  }
8665
8792
  }, [open]);
8666
8793
  const wrappedOnSubmit = _react.useCallback.call(void 0,
@@ -8674,11 +8801,11 @@ function EditorSheet({
8674
8801
  if (onSuccess) {
8675
8802
  await onSuccess();
8676
8803
  } else if (result) {
8677
- _optionalChain([onRevalidate, 'optionalCall', _232 => _232(generateUrl({ page: module, id: result.id, language: "[locale]" }))]);
8804
+ _optionalChain([onRevalidate, 'optionalCall', _247 => _247(generateUrl({ page: module, id: result.id, language: "[locale]" }))]);
8678
8805
  if (isEdit && propagateChanges) {
8679
8806
  propagateChanges(result);
8680
8807
  } else {
8681
- _optionalChain([onNavigate, 'optionalCall', _233 => _233(generateUrl({ page: module, id: result.id }))]);
8808
+ _optionalChain([onNavigate, 'optionalCall', _248 => _248(generateUrl({ page: module, id: result.id }))]);
8682
8809
  }
8683
8810
  }
8684
8811
  } catch (error) {
@@ -8904,7 +9031,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8904
9031
  const [open, setOpen] = _react.useState.call(void 0, false);
8905
9032
  const [prevRange, setPrevRange] = _react.useState.call(void 0, date);
8906
9033
  _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())) {
9034
+ if (_optionalChain([date, 'optionalAccess', _249 => _249.from]) && _optionalChain([date, 'optionalAccess', _250 => _250.to]) && date.to > date.from && (_optionalChain([prevRange, 'optionalAccess', _251 => _251.from, 'optionalAccess', _252 => _252.getTime, 'call', _253 => _253()]) !== date.from.getTime() || _optionalChain([prevRange, 'optionalAccess', _254 => _254.to, 'optionalAccess', _255 => _255.getTime, 'call', _256 => _256()]) !== date.to.getTime())) {
8908
9035
  onDateChange(date);
8909
9036
  setPrevRange(date);
8910
9037
  setOpen(false);
@@ -8915,7 +9042,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8915
9042
  setDate(void 0);
8916
9043
  return;
8917
9044
  }
8918
- if (range.from && (!_optionalChain([date, 'optionalAccess', _242 => _242.from]) || range.from.getTime() !== date.from.getTime())) {
9045
+ if (range.from && (!_optionalChain([date, 'optionalAccess', _257 => _257.from]) || range.from.getTime() !== date.from.getTime())) {
8919
9046
  setDate({ from: range.from, to: void 0 });
8920
9047
  } else {
8921
9048
  setDate(range);
@@ -8930,7 +9057,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8930
9057
  className: _chunkXAWKRNYMjs.cn.call(void 0, "w-[300px] justify-start text-left font-normal", !date && "text-muted-foreground"),
8931
9058
  children: [
8932
9059
  /* @__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: [
9060
+ _optionalChain([date, 'optionalAccess', _258 => _258.from]) ? date.to ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8934
9061
  _datefns.format.call(void 0, date.from, "LLL dd, y"),
8935
9062
  " - ",
8936
9063
  _datefns.format.call(void 0, date.to, "LLL dd, y")
@@ -8943,7 +9070,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8943
9070
  Calendar,
8944
9071
  {
8945
9072
  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))),
9073
+ defaultMonth: _nullishCoalesce(_optionalChain([date, 'optionalAccess', _259 => _259.from]), () => ( (showPreviousMonth ? new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth() - 1, 1) : void 0))),
8947
9074
  selected: date,
8948
9075
  onSelect: handleSelect,
8949
9076
  numberOfMonths: 2
@@ -9030,7 +9157,7 @@ var FileUploader = _react.forwardRef.call(void 0,
9030
9157
  movePrev();
9031
9158
  } else if (e.key === "Enter" || e.key === "Space") {
9032
9159
  if (activeIndex === -1) {
9033
- _optionalChain([dropzoneState, 'access', _245 => _245.inputRef, 'access', _246 => _246.current, 'optionalAccess', _247 => _247.click, 'call', _248 => _248()]);
9160
+ _optionalChain([dropzoneState, 'access', _260 => _260.inputRef, 'access', _261 => _261.current, 'optionalAccess', _262 => _262.click, 'call', _263 => _263()]);
9034
9161
  }
9035
9162
  } else if (e.key === "Delete" || e.key === "Backspace") {
9036
9163
  if (activeIndex !== -1) {
@@ -9068,13 +9195,13 @@ var FileUploader = _react.forwardRef.call(void 0,
9068
9195
  onValueChange(newValues);
9069
9196
  if (rejectedFiles.length > 0) {
9070
9197
  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") {
9198
+ if (_optionalChain([rejectedFiles, 'access', _264 => _264[i], 'access', _265 => _265.errors, 'access', _266 => _266[0], 'optionalAccess', _267 => _267.code]) === "file-too-large") {
9072
9199
  _chunkXAWKRNYMjs.showError.call(void 0, t("common.errors.file"), {
9073
9200
  description: t(`common.errors.file_max`, { size: maxSize / 1024 / 1024 })
9074
9201
  });
9075
9202
  break;
9076
9203
  }
9077
- if (_optionalChain([rejectedFiles, 'access', _253 => _253[i], 'access', _254 => _254.errors, 'access', _255 => _255[0], 'optionalAccess', _256 => _256.message])) {
9204
+ if (_optionalChain([rejectedFiles, 'access', _268 => _268[i], 'access', _269 => _269.errors, 'access', _270 => _270[0], 'optionalAccess', _271 => _271.message])) {
9078
9205
  _chunkXAWKRNYMjs.showError.call(void 0, t(`common.errors.file`), {
9079
9206
  description: rejectedFiles[i].errors[0].message
9080
9207
  });
@@ -9273,7 +9400,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, FormCheckbox, "FormCheckbox");
9273
9400
  var _dynamic = require('next/dynamic'); var _dynamic2 = _interopRequireDefault(_dynamic);
9274
9401
 
9275
9402
 
9276
- var BlockNoteEditor = _dynamic2.default.call(void 0, () => Promise.resolve().then(() => _interopRequireWildcard(require("./BlockNoteEditor-3SXAMY6O.js"))), {
9403
+ var BlockNoteEditor = _dynamic2.default.call(void 0, () => Promise.resolve().then(() => _interopRequireWildcard(require("./BlockNoteEditor-LYJUF5N4.js"))), {
9277
9404
  ssr: false
9278
9405
  });
9279
9406
  var BlockNoteEditorContainer = React.default.memo(/* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, function EditorContainer(props) {
@@ -9337,7 +9464,7 @@ function FormBlockNote({
9337
9464
  onChange: (content, isEmpty) => {
9338
9465
  lastEditorContentRef.current = content;
9339
9466
  field.onChange(content);
9340
- _optionalChain([onEmptyChange, 'optionalCall', _257 => _257(isEmpty)]);
9467
+ _optionalChain([onEmptyChange, 'optionalCall', _272 => _272(isEmpty)]);
9341
9468
  },
9342
9469
  placeholder,
9343
9470
  bordered: true,
@@ -9914,11 +10041,11 @@ function FormPlaceAutocomplete({
9914
10041
  const data = await response.json();
9915
10042
  if (data.suggestions) {
9916
10043
  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]) || "",
10044
+ place_id: _optionalChain([suggestion, 'access', _273 => _273.placePrediction, 'optionalAccess', _274 => _274.placeId]) || "",
10045
+ description: _optionalChain([suggestion, 'access', _275 => _275.placePrediction, 'optionalAccess', _276 => _276.text, 'optionalAccess', _277 => _277.text]) || "",
9919
10046
  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]) || ""
10047
+ main_text: _optionalChain([suggestion, 'access', _278 => _278.placePrediction, 'optionalAccess', _279 => _279.structuredFormat, 'optionalAccess', _280 => _280.mainText, 'optionalAccess', _281 => _281.text]) || "",
10048
+ secondary_text: _optionalChain([suggestion, 'access', _282 => _282.placePrediction, 'optionalAccess', _283 => _283.structuredFormat, 'optionalAccess', _284 => _284.secondaryText, 'optionalAccess', _285 => _285.text]) || ""
9922
10049
  }
9923
10050
  }));
9924
10051
  setSuggestions(formattedSuggestions);
@@ -9976,7 +10103,7 @@ function FormPlaceAutocomplete({
9976
10103
  }
9977
10104
  }
9978
10105
  return result;
9979
- } catch (e5) {
10106
+ } catch (e6) {
9980
10107
  return defaults;
9981
10108
  }
9982
10109
  }, "fetchPlaceDetails");
@@ -10065,8 +10192,8 @@ function FormPlaceAutocomplete({
10065
10192
  className: "hover:bg-muted cursor-pointer px-3 py-2 text-sm",
10066
10193
  onClick: () => handleSuggestionSelect(suggestion),
10067
10194
  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]) })
10195
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-medium", children: _optionalChain([suggestion, 'access', _286 => _286.structured_formatting, 'optionalAccess', _287 => _287.main_text]) }),
10196
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground", children: _optionalChain([suggestion, 'access', _288 => _288.structured_formatting, 'optionalAccess', _289 => _289.secondary_text]) })
10070
10197
  ]
10071
10198
  },
10072
10199
  suggestion.place_id || index
@@ -10112,7 +10239,7 @@ function FormSelect({
10112
10239
  disabled,
10113
10240
  "data-testid": testId,
10114
10241
  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, () => ( "")) }) }),
10242
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, { children: field.value ? _optionalChain([values, 'access', _290 => _290.find, 'call', _291 => _291((v) => v.id === field.value), 'optionalAccess', _292 => _292.text]) : _nullishCoalesce(placeholder, () => ( "")) }) }),
10116
10243
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SelectContent, { children: [
10117
10244
  allowEmpty && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: EMPTY_VALUE, className: "text-muted-foreground", children: _nullishCoalesce(placeholder, () => ( "")) }),
10118
10245
  values.map((type) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: type.id, children: type.text }, type.id))
@@ -10283,7 +10410,7 @@ function UserAvatar({ user, className, showFull, showLink, showTooltip = true })
10283
10410
  }, "getInitials");
10284
10411
  const getAvatar = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
10285
10412
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "*:ring-border *:ring-1", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Avatar, { className: `h-6 w-6 ${className}`, children: [
10286
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { className: "object-cover", src: _optionalChain([user, 'optionalAccess', _278 => _278.avatar]) }),
10413
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { className: "object-cover", src: _optionalChain([user, 'optionalAccess', _293 => _293.avatar]) }),
10287
10414
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: getInitials3(user.name) })
10288
10415
  ] }) });
10289
10416
  }, "getAvatar");
@@ -10474,7 +10601,7 @@ var useUserTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0,
10474
10601
  })
10475
10602
  };
10476
10603
  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);
10604
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _294 => _294[field], 'optionalCall', _295 => _295()])).filter((col) => col !== void 0);
10478
10605
  }, [params.fields, fieldColumnMap, t, generateUrl]);
10479
10606
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
10480
10607
  }, "useUserTableStructure");
@@ -10588,10 +10715,10 @@ function UserSelector({ id, form, label, placeholder, onChange, isRequired = fal
10588
10715
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between", children: [
10589
10716
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-row items-center justify-start rounded-md", children: field.value ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: [
10590
10717
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "*:ring-border *:ring-1", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Avatar, { className: `mr-2 h-4 w-4`, children: [
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" })
10718
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { src: _optionalChain([field, 'access', _296 => _296.value, 'optionalAccess', _297 => _297.avatar]) }),
10719
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: _optionalChain([field, 'access', _298 => _298.value, 'optionalAccess', _299 => _299.name]) ? _optionalChain([field, 'access', _300 => _300.value, 'optionalAccess', _301 => _301.name, 'access', _302 => _302.split, 'call', _303 => _303(" "), 'access', _304 => _304.map, 'call', _305 => _305((name) => name.charAt(0).toUpperCase())]) : "X" })
10593
10720
  ] }) }),
10594
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _291 => _291.value, 'optionalAccess', _292 => _292.name]), () => ( "")) })
10721
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _306 => _306.value, 'optionalAccess', _307 => _307.name]), () => ( "")) })
10595
10722
  ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input text-muted-foreground flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: _nullishCoalesce(placeholder, () => ( t(`ui.search.placeholder`, { type: t(`entities.users`, { count: 1 }) }))) }) }) }),
10596
10723
  field.value && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10597
10724
  _lucidereact.CircleX,
@@ -10922,7 +11049,7 @@ function CompanyUsersList({ isDeleted, fullWidth }) {
10922
11049
  const data = useDataListRetriever({
10923
11050
  ready: !!company,
10924
11051
  retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkXAWKRNYMjs.UserService.findAllUsers(params), "retriever"),
10925
- retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _293 => _293.id]), isDeleted },
11052
+ retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _308 => _308.id]), isDeleted },
10926
11053
  module: _chunkXAWKRNYMjs.Modules.User
10927
11054
  });
10928
11055
  _react.useEffect.call(void 0, () => {
@@ -11029,11 +11156,11 @@ function UserListInAdd({ data, existingUsers, setSelectedUser, setLevelOpen }) {
11029
11156
  className: "cursor-pointer hover:bg-muted data-selected:hover:bg-muted bg-transparent data-selected:bg-transparent",
11030
11157
  onClick: (_e) => {
11031
11158
  setSelectedUser(user);
11032
- _optionalChain([setLevelOpen, 'optionalCall', _294 => _294(true)]);
11159
+ _optionalChain([setLevelOpen, 'optionalCall', _309 => _309(true)]);
11033
11160
  },
11034
11161
  onSelect: (_e) => {
11035
11162
  setSelectedUser(user);
11036
- _optionalChain([setLevelOpen, 'optionalCall', _295 => _295(true)]);
11163
+ _optionalChain([setLevelOpen, 'optionalCall', _310 => _310(true)]);
11037
11164
  },
11038
11165
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between px-4 py-1", children: [
11039
11166
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserAvatar, { user }),
@@ -11103,7 +11230,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, UsersListByContentIds, "UsersListByContentI
11103
11230
  function parseFiscalData(fiscalDataJson) {
11104
11231
  try {
11105
11232
  return fiscalDataJson ? JSON.parse(fiscalDataJson) : {};
11106
- } catch (e6) {
11233
+ } catch (e7) {
11107
11234
  return {};
11108
11235
  }
11109
11236
  }
@@ -11164,7 +11291,7 @@ function CompanyContent({ company, actions }) {
11164
11291
  company.legal_address
11165
11292
  ] }),
11166
11293
  /* @__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: [
11294
+ _optionalChain([company, 'access', _311 => _311.configurations, 'optionalAccess', _312 => _312.country]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
11168
11295
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "font-medium", children: [
11169
11296
  t("features.configuration.country"),
11170
11297
  ":"
@@ -11172,7 +11299,7 @@ function CompanyContent({ company, actions }) {
11172
11299
  " ",
11173
11300
  company.configurations.country
11174
11301
  ] }),
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: [
11302
+ _optionalChain([company, 'access', _313 => _313.configurations, 'optionalAccess', _314 => _314.currency]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
11176
11303
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "font-medium", children: [
11177
11304
  t("features.configuration.currency"),
11178
11305
  ":"
@@ -11582,7 +11709,7 @@ function CompanyEditorInternal({
11582
11709
  const t = _nextintl.useTranslations.call(void 0, );
11583
11710
  const fiscalRef = _react.useRef.call(void 0, null);
11584
11711
  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";
11712
+ const canAccessFeatures = hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator) || hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).CompanyAdministrator) && _optionalChain([process, 'access', _315 => _315.env, 'access', _316 => _316.NEXT_PUBLIC_PRIVATE_INSTALLATION, 'optionalAccess', _317 => _317.toLowerCase, 'call', _318 => _318()]) === "true";
11586
11713
  const handleDialogOpenChange = _react.useCallback.call(void 0,
11587
11714
  (open) => {
11588
11715
  if (open && features.length === 0 && canAccessFeatures) {
@@ -11597,7 +11724,7 @@ function CompanyEditorInternal({
11597
11724
  _chunk7QVYU63Ejs.__name.call(void 0, fetchFeatures, "fetchFeatures");
11598
11725
  fetchFeatures();
11599
11726
  }
11600
- _optionalChain([onDialogOpenChange, 'optionalCall', _304 => _304(open)]);
11727
+ _optionalChain([onDialogOpenChange, 'optionalCall', _319 => _319(open)]);
11601
11728
  },
11602
11729
  [features.length, canAccessFeatures, hasRole, onDialogOpenChange]
11603
11730
  );
@@ -11642,12 +11769,12 @@ function CompanyEditorInternal({
11642
11769
  );
11643
11770
  const getDefaultValues = _react.useCallback.call(void 0, () => {
11644
11771
  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]) || ""
11772
+ id: _optionalChain([company, 'optionalAccess', _320 => _320.id]) || _uuid.v4.call(void 0, ),
11773
+ name: _optionalChain([company, 'optionalAccess', _321 => _321.name]) || "",
11774
+ featureIds: _optionalChain([company, 'optionalAccess', _322 => _322.features, 'access', _323 => _323.map, 'call', _324 => _324((feature) => feature.id)]) || [],
11775
+ moduleIds: _optionalChain([company, 'optionalAccess', _325 => _325.modules, 'access', _326 => _326.map, 'call', _327 => _327((module) => module.id)]) || [],
11776
+ logo: _optionalChain([company, 'optionalAccess', _328 => _328.logo]) || "",
11777
+ legal_address: _optionalChain([company, 'optionalAccess', _329 => _329.legal_address]) || ""
11651
11778
  };
11652
11779
  }, [company]);
11653
11780
  const form = _reacthookform.useForm.call(void 0, {
@@ -11659,7 +11786,7 @@ function CompanyEditorInternal({
11659
11786
  {
11660
11787
  form,
11661
11788
  entityType: t(`entities.companies`, { count: 1 }),
11662
- entityName: _optionalChain([company, 'optionalAccess', _315 => _315.name]),
11789
+ entityName: _optionalChain([company, 'optionalAccess', _330 => _330.name]),
11663
11790
  isEdit: !!company,
11664
11791
  module: _chunkXAWKRNYMjs.Modules.Company,
11665
11792
  propagateChanges,
@@ -11684,7 +11811,7 @@ function CompanyEditorInternal({
11684
11811
  throw new Error("Fiscal data validation failed");
11685
11812
  }
11686
11813
  const payload = {
11687
- id: _nullishCoalesce(_optionalChain([company, 'optionalAccess', _316 => _316.id]), () => ( _uuid.v4.call(void 0, ))),
11814
+ id: _nullishCoalesce(_optionalChain([company, 'optionalAccess', _331 => _331.id]), () => ( _uuid.v4.call(void 0, ))),
11688
11815
  name: values.name,
11689
11816
  logo: files && contentType ? values.logo : void 0,
11690
11817
  featureIds: values.featureIds,
@@ -11715,10 +11842,10 @@ function CompanyEditorInternal({
11715
11842
  dialogOpen,
11716
11843
  onDialogOpenChange: handleDialogOpenChange,
11717
11844
  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,
11845
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-96 flex-col justify-start gap-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FileUploader, { value: files, onValueChange: setFiles, dropzoneOptions: dropzone2, className: "w-full p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FileInput, { className: "text-neutral-300 outline-dashed", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col items-center justify-center pt-3 pb-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col items-center justify-center pt-3 pb-4", children: file || _optionalChain([company, 'optionalAccess', _332 => _332.logo]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11719
11846
  _image2.default,
11720
11847
  {
11721
- src: file ? URL.createObjectURL(file) : _optionalChain([company, 'optionalAccess', _318 => _318.logo]) || "",
11848
+ src: file ? URL.createObjectURL(file) : _optionalChain([company, 'optionalAccess', _333 => _333.logo]) || "",
11722
11849
  alt: "Company Logo",
11723
11850
  width: 200,
11724
11851
  height: 200
@@ -11752,7 +11879,7 @@ function CompanyEditorInternal({
11752
11879
  }
11753
11880
  ),
11754
11881
  /* @__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])) })
11882
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ItalianFiscalData_default, { ref: fiscalRef, initialData: parseFiscalData(_optionalChain([company, 'optionalAccess', _334 => _334.fiscal_data])) })
11756
11883
  ] }),
11757
11884
  canAccessFeatures && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-96 flex-col justify-start gap-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollArea, { className: "h-max", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FormFeatures, { form, name: t(`company.features_and_modules`), features }) }) })
11758
11885
  ] })
@@ -11869,7 +11996,7 @@ function NotificationToast(notification, t, generateUrl, reouter) {
11869
11996
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
11870
11997
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
11871
11998
  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]), () => ( "")),
11999
+ actor: _nullishCoalesce(_optionalChain([data, 'access', _335 => _335.actor, 'optionalAccess', _336 => _336.name]), () => ( "")),
11873
12000
  title: data.title,
11874
12001
  message: _nullishCoalesce(notification.message, () => ( ""))
11875
12002
  }) }),
@@ -11898,7 +12025,7 @@ function NotificationMenuItem({ notification, closePopover }) {
11898
12025
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
11899
12026
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
11900
12027
  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]), () => ( "")),
12028
+ actor: _nullishCoalesce(_optionalChain([data, 'access', _337 => _337.actor, 'optionalAccess', _338 => _338.name]), () => ( "")),
11902
12029
  title: data.title,
11903
12030
  message: _nullishCoalesce(notification.message, () => ( ""))
11904
12031
  }) }),
@@ -11955,7 +12082,7 @@ var NotificationContextProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(v
11955
12082
  _react.useEffect.call(void 0, () => {
11956
12083
  if (hasInitiallyLoaded || !currentUser) return;
11957
12084
  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)]);
12085
+ const isAdmin = _optionalChain([currentUser, 'access', _339 => _339.roles, 'optionalAccess', _340 => _340.some, 'call', _341 => _341((role) => role.id === _chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator)]);
11959
12086
  if (isAdmin) {
11960
12087
  setHasInitiallyLoaded(true);
11961
12088
  return;
@@ -12157,7 +12284,7 @@ function OnboardingProvider({
12157
12284
  let tourSteps = steps;
12158
12285
  if (!tourSteps) {
12159
12286
  const tour2 = tours.find((t) => t.id === tourId);
12160
- tourSteps = _optionalChain([tour2, 'optionalAccess', _327 => _327.steps]);
12287
+ tourSteps = _optionalChain([tour2, 'optionalAccess', _342 => _342.steps]);
12161
12288
  }
12162
12289
  if (!tourSteps || tourSteps.length === 0) {
12163
12290
  console.warn(`No steps found for tour: ${tourId}`);
@@ -12225,10 +12352,10 @@ function OnboardingProvider({
12225
12352
  when: {
12226
12353
  show: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
12227
12354
  setCurrentStepIndex(index);
12228
- _optionalChain([stepConfig, 'access', _328 => _328.onShow, 'optionalCall', _329 => _329()]);
12355
+ _optionalChain([stepConfig, 'access', _343 => _343.onShow, 'optionalCall', _344 => _344()]);
12229
12356
  }, "show"),
12230
12357
  hide: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
12231
- _optionalChain([stepConfig, 'access', _330 => _330.onHide, 'optionalCall', _331 => _331()]);
12358
+ _optionalChain([stepConfig, 'access', _345 => _345.onHide, 'optionalCall', _346 => _346()]);
12232
12359
  }, "hide")
12233
12360
  }
12234
12361
  });
@@ -12459,10 +12586,10 @@ function HowToEditorInternal({
12459
12586
  );
12460
12587
  const getDefaultValues = _react.useCallback.call(void 0,
12461
12588
  () => ({
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]))
12589
+ id: _optionalChain([howTo, 'optionalAccess', _347 => _347.id]) || _uuid.v4.call(void 0, ),
12590
+ name: _optionalChain([howTo, 'optionalAccess', _348 => _348.name]) || "",
12591
+ description: _optionalChain([howTo, 'optionalAccess', _349 => _349.description]) || [],
12592
+ pages: _chunkXAWKRNYMjs.HowTo.parsePagesFromString(_optionalChain([howTo, 'optionalAccess', _350 => _350.pages]))
12466
12593
  }),
12467
12594
  [howTo]
12468
12595
  );
@@ -12493,7 +12620,7 @@ function HowToEditorInternal({
12493
12620
  {
12494
12621
  form,
12495
12622
  entityType: t(`entities.howtos`, { count: 1 }),
12496
- entityName: _optionalChain([howTo, 'optionalAccess', _336 => _336.name]),
12623
+ entityName: _optionalChain([howTo, 'optionalAccess', _351 => _351.name]),
12497
12624
  isEdit: !!howTo,
12498
12625
  module: _chunkXAWKRNYMjs.Modules.HowTo,
12499
12626
  propagateChanges,
@@ -12797,7 +12924,7 @@ function withPatchedTitle(source, title) {
12797
12924
  return _chunkXAWKRNYMjs.rehydrate.call(void 0, _chunkXAWKRNYMjs.Modules.Assistant, {
12798
12925
  jsonApi: {
12799
12926
  ...dehydrated.jsonApi,
12800
- attributes: { ..._nullishCoalesce(_optionalChain([dehydrated, 'access', _337 => _337.jsonApi, 'optionalAccess', _338 => _338.attributes]), () => ( {})), title }
12927
+ attributes: { ..._nullishCoalesce(_optionalChain([dehydrated, 'access', _352 => _352.jsonApi, 'optionalAccess', _353 => _353.attributes]), () => ( {})), title }
12801
12928
  },
12802
12929
  included: dehydrated.included
12803
12930
  });
@@ -12824,7 +12951,7 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages }
12824
12951
  if (!trimmed) return;
12825
12952
  const optimistic = _chunkXAWKRNYMjs.AssistantMessage.buildOptimistic({
12826
12953
  content: trimmed,
12827
- assistantId: _optionalChain([assistant, 'optionalAccess', _339 => _339.id]),
12954
+ assistantId: _optionalChain([assistant, 'optionalAccess', _354 => _354.id]),
12828
12955
  position: nextPosition(messages)
12829
12956
  });
12830
12957
  setMessages((prev) => [...prev, optimistic]);
@@ -12834,7 +12961,7 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages }
12834
12961
  if (assistant && payload.assistantId && payload.assistantId !== assistant.id) return;
12835
12962
  if (typeof payload.status === "string") setStatus(payload.status);
12836
12963
  }, "handler");
12837
- _optionalChain([socket, 'optionalAccess', _340 => _340.on, 'call', _341 => _341("assistant:status", handler)]);
12964
+ _optionalChain([socket, 'optionalAccess', _355 => _355.on, 'call', _356 => _356("assistant:status", handler)]);
12838
12965
  try {
12839
12966
  if (!assistant) {
12840
12967
  const created = await _chunkXAWKRNYMjs.AssistantService.create({ firstMessage: trimmed });
@@ -12852,14 +12979,14 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages }
12852
12979
  });
12853
12980
  setMessages((prev) => [...stripOptimistic(prev), ...result]);
12854
12981
  }
12855
- } catch (e7) {
12982
+ } catch (e8) {
12856
12983
  setFailedMessageIds((prev) => {
12857
12984
  const next = new Set(prev);
12858
12985
  next.add(optimistic.id);
12859
12986
  return next;
12860
12987
  });
12861
12988
  } finally {
12862
- _optionalChain([socket, 'optionalAccess', _342 => _342.off, 'call', _343 => _343("assistant:status", handler)]);
12989
+ _optionalChain([socket, 'optionalAccess', _357 => _357.off, 'call', _358 => _358("assistant:status", handler)]);
12863
12990
  setSending(false);
12864
12991
  setStatus(void 0);
12865
12992
  }
@@ -12909,7 +13036,7 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages }
12909
13036
  await _chunkXAWKRNYMjs.AssistantService.delete({ id });
12910
13037
  setThreads((prev) => prev.filter((t2) => t2.id !== id));
12911
13038
  setAssistant((prev) => {
12912
- if (_optionalChain([prev, 'optionalAccess', _344 => _344.id]) === id) {
13039
+ if (_optionalChain([prev, 'optionalAccess', _359 => _359.id]) === id) {
12913
13040
  setMessages([]);
12914
13041
  return void 0;
12915
13042
  }
@@ -13124,7 +13251,7 @@ function EditableAvatar({
13124
13251
  }, [image, isUploading, patchImage, t]);
13125
13252
  const handleFileInputChange = _react.useCallback.call(void 0,
13126
13253
  (e) => {
13127
- const file = _optionalChain([e, 'access', _345 => _345.target, 'access', _346 => _346.files, 'optionalAccess', _347 => _347[0]]);
13254
+ const file = _optionalChain([e, 'access', _360 => _360.target, 'access', _361 => _361.files, 'optionalAccess', _362 => _362[0]]);
13128
13255
  if (file) handleFile(file);
13129
13256
  e.target.value = "";
13130
13257
  },
@@ -13133,7 +13260,7 @@ function EditableAvatar({
13133
13260
  const handleDrop = _react.useCallback.call(void 0,
13134
13261
  (e) => {
13135
13262
  e.preventDefault();
13136
- const file = _optionalChain([e, 'access', _348 => _348.dataTransfer, 'access', _349 => _349.files, 'optionalAccess', _350 => _350[0]]);
13263
+ const file = _optionalChain([e, 'access', _363 => _363.dataTransfer, 'access', _364 => _364.files, 'optionalAccess', _365 => _365[0]]);
13137
13264
  if (file && file.type.startsWith("image/")) {
13138
13265
  handleFile(file);
13139
13266
  }
@@ -13160,7 +13287,7 @@ function EditableAvatar({
13160
13287
  "button",
13161
13288
  {
13162
13289
  type: "button",
13163
- onClick: () => _optionalChain([fileInputRef, 'access', _351 => _351.current, 'optionalAccess', _352 => _352.click, 'call', _353 => _353()]),
13290
+ onClick: () => _optionalChain([fileInputRef, 'access', _366 => _366.current, 'optionalAccess', _367 => _367.click, 'call', _368 => _368()]),
13164
13291
  disabled: isUploading,
13165
13292
  className: "rounded-full p-2 text-white hover:bg-white/20 disabled:opacity-50",
13166
13293
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.PencilIcon, { className: "h-4 w-4" })
@@ -13241,7 +13368,7 @@ function BreadcrumbMobile({
13241
13368
  }
13242
13369
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DropdownMenu, { open, onOpenChange: setOpen, children: [
13243
13370
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DropdownMenuTrigger, { className: "text-foreground text-xs/relaxed font-normal hover:bg-accent flex items-center gap-1 rounded-md px-1.5 py-0.5 transition-colors outline-none", children: [
13244
- _optionalChain([lastItem, 'optionalAccess', _354 => _354.name]),
13371
+ _optionalChain([lastItem, 'optionalAccess', _369 => _369.name]),
13245
13372
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon, { className: "text-muted-foreground size-3.5" })
13246
13373
  ] }),
13247
13374
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DropdownMenuContent, { align: "start", children: allItems.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DropdownMenuItem, { children: item.href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Link, { href: item.href, children: item.name }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: item.name }) }, index)) })
@@ -13545,7 +13672,7 @@ function RoundPageContainer({
13545
13672
  const [mounted, setMounted] = _react.useState.call(void 0, false);
13546
13673
  _react.useEffect.call(void 0, () => {
13547
13674
  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);
13675
+ if (_optionalChain([match, 'optionalAccess', _370 => _370.split, 'call', _371 => _371("="), 'access', _372 => _372[1]]) === "true") setShowDetailsState(true);
13549
13676
  }, []);
13550
13677
  _react.useEffect.call(void 0, () => {
13551
13678
  setMounted(true);
@@ -13557,11 +13684,11 @@ function RoundPageContainer({
13557
13684
  const searchParams = _navigation.useSearchParams.call(void 0, );
13558
13685
  const section = searchParams.get("section");
13559
13686
  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;
13687
+ const initialValue = tabs ? (section && tabs.find((i) => (_nullishCoalesce(_optionalChain([i, 'access', _373 => _373.key, 'optionalAccess', _374 => _374.name]), () => ( i.label))) === section) ? section : null) || (_nullishCoalesce(_optionalChain([tabs, 'access', _375 => _375[0], 'access', _376 => _376.key, 'optionalAccess', _377 => _377.name]), () => ( tabs[0].label))) : void 0;
13561
13688
  const [activeTab, setActiveTab] = _react.useState.call(void 0, initialValue);
13562
13689
  _react.useEffect.call(void 0, () => {
13563
13690
  if (tabs && section) {
13564
- const tab = tabs.find((i) => (_nullishCoalesce(_optionalChain([i, 'access', _363 => _363.key, 'optionalAccess', _364 => _364.name]), () => ( i.label))) === section);
13691
+ const tab = tabs.find((i) => (_nullishCoalesce(_optionalChain([i, 'access', _378 => _378.key, 'optionalAccess', _379 => _379.name]), () => ( i.label))) === section);
13565
13692
  if (tab) {
13566
13693
  setActiveTab(section);
13567
13694
  }
@@ -13574,7 +13701,7 @@ function RoundPageContainer({
13574
13701
  },
13575
13702
  [module, id, rewriteUrl]
13576
13703
  );
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;
13704
+ const activeFillHeight = _optionalChain([tabs, 'optionalAccess', _380 => _380.find, 'call', _381 => _381((t) => (_nullishCoalesce(_optionalChain([t, 'access', _382 => _382.key, 'optionalAccess', _383 => _383.name]), () => ( t.label))) === activeTab), 'optionalAccess', _384 => _384.fillHeight]) === true;
13578
13705
  const isReady = mounted && isMobile !== void 0;
13579
13706
  if (!isReady) {
13580
13707
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -13630,10 +13757,10 @@ function RoundPageContainer({
13630
13757
  },
13631
13758
  children: [
13632
13759
  /* @__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)) })
13760
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectContent, { children: tabs.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: _nullishCoalesce(_optionalChain([tab, 'access', _385 => _385.key, 'optionalAccess', _386 => _386.name]), () => ( tab.label)), children: _nullishCoalesce(tab.contentLabel, () => ( tab.label)) }, tab.label)) })
13634
13761
  ]
13635
13762
  }
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)) }) }),
13763
+ ) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsList, { children: tabs.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsTrigger, { value: _nullishCoalesce(_optionalChain([tab, 'access', _387 => _387.key, 'optionalAccess', _388 => _388.name]), () => ( tab.label)), className: "px-4", children: _nullishCoalesce(tab.contentLabel, () => ( tab.label)) }, tab.label)) }) }),
13637
13764
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13638
13765
  "div",
13639
13766
  {
@@ -13645,7 +13772,7 @@ function RoundPageContainer({
13645
13772
  children: tabs.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13646
13773
  TabsContent,
13647
13774
  {
13648
- value: _nullishCoalesce(_optionalChain([tab, 'access', _374 => _374.key, 'optionalAccess', _375 => _375.name]), () => ( tab.label)),
13775
+ value: _nullishCoalesce(_optionalChain([tab, 'access', _389 => _389.key, 'optionalAccess', _390 => _390.name]), () => ( tab.label)),
13649
13776
  className: tab.fillHeight ? `flex flex-1 min-h-0 w-full flex-col` : `pb-20`,
13650
13777
  children: tab.content
13651
13778
  },
@@ -13773,14 +13900,14 @@ function BlockNoteEditorMentionHoverCard({
13773
13900
  const entityType = target.dataset.mentionType;
13774
13901
  const alias = target.dataset.mentionAlias;
13775
13902
  setHovered((prev) => {
13776
- if (_optionalChain([prev, 'optionalAccess', _376 => _376.id]) === id && _optionalChain([prev, 'optionalAccess', _377 => _377.element]) === target) return prev;
13903
+ if (_optionalChain([prev, 'optionalAccess', _391 => _391.id]) === id && _optionalChain([prev, 'optionalAccess', _392 => _392.element]) === target) return prev;
13777
13904
  return { id, entityType, alias, element: target };
13778
13905
  });
13779
13906
  }, "handleMouseOver");
13780
13907
  const handleMouseOut = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (e) => {
13781
13908
  const target = e.target.closest("[data-mention-id]");
13782
13909
  if (!target) return;
13783
- const related = _optionalChain([e, 'access', _378 => _378.relatedTarget, 'optionalAccess', _379 => _379.closest, 'call', _380 => _380("[data-mention-id]")]);
13910
+ const related = _optionalChain([e, 'access', _393 => _393.relatedTarget, 'optionalAccess', _394 => _394.closest, 'call', _395 => _395("[data-mention-id]")]);
13784
13911
  if (related) return;
13785
13912
  scheduleClose();
13786
13913
  }, "handleMouseOut");
@@ -13794,7 +13921,7 @@ function BlockNoteEditorMentionHoverCard({
13794
13921
  }, [containerRef, mentionResolveFn, cancelClose, scheduleClose]);
13795
13922
  if (!hovered || !mentionResolveFn) return null;
13796
13923
  const resolved = mentionResolveFn(hovered.id, hovered.entityType, hovered.alias);
13797
- if (!_optionalChain([resolved, 'optionalAccess', _381 => _381.HoverContent])) return null;
13924
+ if (!_optionalChain([resolved, 'optionalAccess', _396 => _396.HoverContent])) return null;
13798
13925
  const ContentComponent = resolved.HoverContent;
13799
13926
  const rect = hovered.element.getBoundingClientRect();
13800
13927
  return _reactdom.createPortal.call(void 0,
@@ -13830,21 +13957,21 @@ var mentionDataAttrs = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (p)
13830
13957
  }), "mentionDataAttrs");
13831
13958
  var createMentionInlineContentSpec = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (resolveFn, disableMention, nameResolver) => {
13832
13959
  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));
13960
+ const displayName = _nullishCoalesce(_optionalChain([nameResolver, 'optionalCall', _397 => _397(props.id, props.entityType, props.alias)]), () => ( props.alias));
13834
13961
  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: [
13962
+ const resolved2 = _optionalChain([resolveFn, 'optionalCall', _398 => _398(props.id, props.entityType, displayName)]);
13963
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: _nullishCoalesce(_optionalChain([resolved2, 'optionalAccess', _399 => _399.url]), () => ( "#")), className: "text-primary", children: [
13837
13964
  "@",
13838
13965
  displayName
13839
13966
  ] });
13840
13967
  }
13841
- const resolved = _optionalChain([resolveFn, 'optionalCall', _385 => _385(props.id, props.entityType, displayName)]);
13842
- if (_optionalChain([resolved, 'optionalAccess', _386 => _386.Inline])) {
13968
+ const resolved = _optionalChain([resolveFn, 'optionalCall', _400 => _400(props.id, props.entityType, displayName)]);
13969
+ if (_optionalChain([resolved, 'optionalAccess', _401 => _401.Inline])) {
13843
13970
  const Custom = resolved.Inline;
13844
13971
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Custom, { ...props, alias: displayName });
13845
13972
  }
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;
13973
+ const href = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _402 => _402.url]), () => ( "#"));
13974
+ const handleClick = _optionalChain([resolved, 'optionalAccess', _403 => _403.onActivate]) ? (e) => resolved.onActivate(e, props) : void 0;
13848
13975
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13849
13976
  _link2.default,
13850
13977
  {
@@ -13941,7 +14068,7 @@ function BlockNoteEditorMentionSuggestionMenu({
13941
14068
  if (!suggestionMenuComponent) return void 0;
13942
14069
  const Component2 = suggestionMenuComponent;
13943
14070
  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;
14071
+ const isSentinelOnly = props.items.length === 1 && _optionalChain([props, 'access', _404 => _404.items, 'access', _405 => _405[0], 'optionalAccess', _406 => _406.title]) === KEEP_OPEN_SENTINEL_TITLE;
13945
14072
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13946
14073
  Component2,
13947
14074
  {
@@ -13950,7 +14077,7 @@ function BlockNoteEditorMentionSuggestionMenu({
13950
14077
  selectedIndex: isSentinelOnly ? void 0 : props.selectedIndex,
13951
14078
  onItemClick: (item) => {
13952
14079
  if (item.title === KEEP_OPEN_SENTINEL_TITLE) return;
13953
- _optionalChain([props, 'access', _392 => _392.onItemClick, 'optionalCall', _393 => _393(item)]);
14080
+ _optionalChain([props, 'access', _407 => _407.onItemClick, 'optionalCall', _408 => _408(item)]);
13954
14081
  }
13955
14082
  }
13956
14083
  );
@@ -14135,10 +14262,10 @@ var cellId = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => {
14135
14262
  cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => params.toggleId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14136
14263
  Checkbox,
14137
14264
  {
14138
- checked: _optionalChain([params, 'access', _394 => _394.checkedIds, 'optionalAccess', _395 => _395.includes, 'call', _396 => _396(row.getValue(params.name))]) || false,
14265
+ checked: _optionalChain([params, 'access', _409 => _409.checkedIds, 'optionalAccess', _410 => _410.includes, 'call', _411 => _411(row.getValue(params.name))]) || false,
14139
14266
  onCheckedChange: (value) => {
14140
14267
  row.toggleSelected(!!value);
14141
- _optionalChain([params, 'access', _397 => _397.toggleId, 'optionalCall', _398 => _398(row.getValue(params.name))]);
14268
+ _optionalChain([params, 'access', _412 => _412.toggleId, 'optionalCall', _413 => _413(row.getValue(params.name))]);
14142
14269
  },
14143
14270
  "aria-label": "Select row"
14144
14271
  }
@@ -14197,7 +14324,7 @@ function useJsonApiGet(params) {
14197
14324
  const [response, setResponse] = _react.useState.call(void 0, null);
14198
14325
  const isMounted = _react.useRef.call(void 0, true);
14199
14326
  const fetchData = _react.useCallback.call(void 0, async () => {
14200
- if (_optionalChain([params, 'access', _399 => _399.options, 'optionalAccess', _400 => _400.enabled]) === false) return;
14327
+ if (_optionalChain([params, 'access', _414 => _414.options, 'optionalAccess', _415 => _415.enabled]) === false) return;
14201
14328
  setLoading(true);
14202
14329
  setError(null);
14203
14330
  try {
@@ -14224,9 +14351,9 @@ function useJsonApiGet(params) {
14224
14351
  setLoading(false);
14225
14352
  }
14226
14353
  }
14227
- }, [params.classKey, params.endpoint, params.companyId, _optionalChain([params, 'access', _401 => _401.options, 'optionalAccess', _402 => _402.enabled])]);
14354
+ }, [params.classKey, params.endpoint, params.companyId, _optionalChain([params, 'access', _416 => _416.options, 'optionalAccess', _417 => _417.enabled])]);
14228
14355
  const fetchNextPage = _react.useCallback.call(void 0, async () => {
14229
- if (!_optionalChain([response, 'optionalAccess', _403 => _403.nextPage])) return;
14356
+ if (!_optionalChain([response, 'optionalAccess', _418 => _418.nextPage])) return;
14230
14357
  setLoading(true);
14231
14358
  try {
14232
14359
  const nextResponse = await response.nextPage();
@@ -14247,7 +14374,7 @@ function useJsonApiGet(params) {
14247
14374
  }
14248
14375
  }, [response]);
14249
14376
  const fetchPreviousPage = _react.useCallback.call(void 0, async () => {
14250
- if (!_optionalChain([response, 'optionalAccess', _404 => _404.prevPage])) return;
14377
+ if (!_optionalChain([response, 'optionalAccess', _419 => _419.prevPage])) return;
14251
14378
  setLoading(true);
14252
14379
  try {
14253
14380
  const prevResponse = await response.prevPage();
@@ -14273,15 +14400,15 @@ function useJsonApiGet(params) {
14273
14400
  return () => {
14274
14401
  isMounted.current = false;
14275
14402
  };
14276
- }, [fetchData, ..._optionalChain([params, 'access', _405 => _405.options, 'optionalAccess', _406 => _406.deps]) || []]);
14403
+ }, [fetchData, ..._optionalChain([params, 'access', _420 => _420.options, 'optionalAccess', _421 => _421.deps]) || []]);
14277
14404
  return {
14278
14405
  data,
14279
14406
  loading,
14280
14407
  error,
14281
14408
  response,
14282
14409
  refetch: fetchData,
14283
- hasNextPage: !!_optionalChain([response, 'optionalAccess', _407 => _407.next]),
14284
- hasPreviousPage: !!_optionalChain([response, 'optionalAccess', _408 => _408.prev]),
14410
+ hasNextPage: !!_optionalChain([response, 'optionalAccess', _422 => _422.next]),
14411
+ hasPreviousPage: !!_optionalChain([response, 'optionalAccess', _423 => _423.prev]),
14285
14412
  fetchNextPage,
14286
14413
  fetchPreviousPage
14287
14414
  };
@@ -14359,17 +14486,17 @@ function useJsonApiMutation(config) {
14359
14486
  if (apiResponse.ok) {
14360
14487
  const resultData = apiResponse.data;
14361
14488
  setData(resultData);
14362
- _optionalChain([config, 'access', _409 => _409.onSuccess, 'optionalCall', _410 => _410(resultData)]);
14489
+ _optionalChain([config, 'access', _424 => _424.onSuccess, 'optionalCall', _425 => _425(resultData)]);
14363
14490
  return resultData;
14364
14491
  } else {
14365
14492
  setError(apiResponse.error);
14366
- _optionalChain([config, 'access', _411 => _411.onError, 'optionalCall', _412 => _412(apiResponse.error)]);
14493
+ _optionalChain([config, 'access', _426 => _426.onError, 'optionalCall', _427 => _427(apiResponse.error)]);
14367
14494
  return null;
14368
14495
  }
14369
14496
  } catch (err) {
14370
14497
  const errorMessage = err instanceof Error ? err.message : "Unknown error";
14371
14498
  setError(errorMessage);
14372
- _optionalChain([config, 'access', _413 => _413.onError, 'optionalCall', _414 => _414(errorMessage)]);
14499
+ _optionalChain([config, 'access', _428 => _428.onError, 'optionalCall', _429 => _429(errorMessage)]);
14373
14500
  return null;
14374
14501
  } finally {
14375
14502
  setLoading(false);
@@ -14442,7 +14569,7 @@ var useCompanyTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
14442
14569
  {
14443
14570
  href: hasRole(_chunkSE5HIHJSjs.getRoleId.call(void 0, ).Administrator) ? generateUrl({
14444
14571
  page: "/administration",
14445
- id: _optionalChain([_chunkXAWKRNYMjs.Modules, 'access', _415 => _415.Company, 'access', _416 => _416.pageUrl, 'optionalAccess', _417 => _417.substring, 'call', _418 => _418(1)]),
14572
+ id: _optionalChain([_chunkXAWKRNYMjs.Modules, 'access', _430 => _430.Company, 'access', _431 => _431.pageUrl, 'optionalAccess', _432 => _432.substring, 'call', _433 => _433(1)]),
14446
14573
  childPage: company.id
14447
14574
  }) : generateUrl({ page: _chunkXAWKRNYMjs.Modules.Company, id: company.id }),
14448
14575
  children: row.getValue("name")
@@ -14458,7 +14585,7 @@ var useCompanyTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
14458
14585
  })
14459
14586
  };
14460
14587
  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);
14588
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _434 => _434[field], 'optionalCall', _435 => _435()])).filter((col) => col !== void 0);
14462
14589
  }, [params.fields, fieldColumnMap, t, generateUrl, hasRole]);
14463
14590
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
14464
14591
  }, "useCompanyTableStructure");
@@ -14470,7 +14597,7 @@ var GRACE_DAYS = 3;
14470
14597
  var isAdministrator = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (currentUser) => {
14471
14598
  if (!currentUser || !_chunkSE5HIHJSjs.isRolesConfigured.call(void 0, )) return false;
14472
14599
  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)]);
14600
+ return !!_optionalChain([currentUser, 'access', _436 => _436.roles, 'optionalAccess', _437 => _437.some, 'call', _438 => _438((role) => role.id === adminRoleId)]);
14474
14601
  }, "isAdministrator");
14475
14602
  function useSubscriptionStatus() {
14476
14603
  const { company, currentUser } = useCurrentUserContext();
@@ -14587,7 +14714,7 @@ var useRoleTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0,
14587
14714
  })
14588
14715
  };
14589
14716
  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);
14717
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _439 => _439[field], 'optionalCall', _440 => _440()])).filter((col) => col !== void 0);
14591
14718
  }, [params.fields, fieldColumnMap, t, generateUrl]);
14592
14719
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
14593
14720
  }, "useRoleTableStructure");
@@ -14688,11 +14815,11 @@ var useContentTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
14688
14815
  return params.fields.map((field) => {
14689
14816
  const localHandler = fieldColumnMap[field];
14690
14817
  if (localHandler) return localHandler();
14691
- const customHandler = _optionalChain([params, 'access', _426 => _426.context, 'optionalAccess', _427 => _427.customCells, 'optionalAccess', _428 => _428[field]]);
14818
+ const customHandler = _optionalChain([params, 'access', _441 => _441.context, 'optionalAccess', _442 => _442.customCells, 'optionalAccess', _443 => _443[field]]);
14692
14819
  if (customHandler) return customHandler({ t });
14693
14820
  return void 0;
14694
14821
  }).filter((col) => col !== void 0);
14695
- }, [params.fields, fieldColumnMap, t, generateUrl, _optionalChain([params, 'access', _429 => _429.context, 'optionalAccess', _430 => _430.customCells])]);
14822
+ }, [params.fields, fieldColumnMap, t, generateUrl, _optionalChain([params, 'access', _444 => _444.context, 'optionalAccess', _445 => _445.customCells])]);
14696
14823
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
14697
14824
  }, "useContentTableStructure");
14698
14825
 
@@ -15027,7 +15154,7 @@ function ContentTableSearch({ data }) {
15027
15154
  const handleSearchIconClick = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
15028
15155
  if (!isExpanded) {
15029
15156
  setIsFocused(true);
15030
- setTimeout(() => _optionalChain([inputRef, 'access', _431 => _431.current, 'optionalAccess', _432 => _432.focus, 'call', _433 => _433()]), 50);
15157
+ setTimeout(() => _optionalChain([inputRef, 'access', _446 => _446.current, 'optionalAccess', _447 => _447.focus, 'call', _448 => _448()]), 50);
15031
15158
  }
15032
15159
  }, "handleSearchIconClick");
15033
15160
  const handleBlur = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
@@ -15104,7 +15231,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15104
15231
  props.defaultExpanded === true ? true : typeof props.defaultExpanded === "object" ? props.defaultExpanded : {}
15105
15232
  );
15106
15233
  const { data: tableData, columns: tableColumns } = useTableGenerator(props.tableGeneratorType, {
15107
- data: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _434 => _434.data]), () => ( EMPTY_ARRAY)),
15234
+ data: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _449 => _449.data]), () => ( EMPTY_ARRAY)),
15108
15235
  fields,
15109
15236
  checkedIds,
15110
15237
  toggleId,
@@ -15137,7 +15264,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15137
15264
  });
15138
15265
  const rowModel = tableData ? table.getRowModel() : null;
15139
15266
  const groupedRows = _react.useMemo.call(void 0, () => {
15140
- if (!props.groupBy || !_optionalChain([rowModel, 'optionalAccess', _435 => _435.rows, 'optionalAccess', _436 => _436.length])) return null;
15267
+ if (!props.groupBy || !_optionalChain([rowModel, 'optionalAccess', _450 => _450.rows, 'optionalAccess', _451 => _451.length])) return null;
15141
15268
  const groupMap = /* @__PURE__ */ new Map();
15142
15269
  for (const row of rowModel.rows) {
15143
15270
  const keys = getGroupKeys(row.original, props.groupBy);
@@ -15193,10 +15320,10 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15193
15320
  ) }),
15194
15321
  table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: headerGroup.headers.map((header) => {
15195
15322
  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);
15323
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableHead, { className: _optionalChain([meta, 'optionalAccess', _452 => _452.className]), children: header.isPlaceholder ? null : _reacttable.flexRender.call(void 0, header.column.columnDef.header, header.getContext()) }, header.id);
15197
15324
  }) }, headerGroup.id))
15198
15325
  ] }),
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: [
15326
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: rowModel && _optionalChain([rowModel, 'access', _453 => _453.rows, 'optionalAccess', _454 => _454.length]) ? groupedRows ? groupedRows.map((group) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React.default.Fragment, { children: [
15200
15327
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15201
15328
  TableCell,
15202
15329
  {
@@ -15207,11 +15334,11 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15207
15334
  ) }),
15208
15335
  group.rows.map((row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: row.getVisibleCells().map((cell) => {
15209
15336
  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);
15337
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _455 => _455.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
15211
15338
  }) }, row.id))
15212
15339
  ] }, group.groupKey)) : rowModel.rows.map((row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: row.getVisibleCells().map((cell) => {
15213
15340
  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);
15341
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _456 => _456.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
15215
15342
  }) }, row.id)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { colSpan: tableColumns.length, className: "h-24 text-center", children: "No results." }) }) }),
15216
15343
  showFooter && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableFooter, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { colSpan: tableColumns.length, className: "bg-card py-4 text-right", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end space-x-2", children: [
15217
15344
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -15221,7 +15348,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15221
15348
  size: "sm",
15222
15349
  onClick: (e) => {
15223
15350
  e.preventDefault();
15224
- _optionalChain([data, 'access', _442 => _442.previous, 'optionalCall', _443 => _443(true)]);
15351
+ _optionalChain([data, 'access', _457 => _457.previous, 'optionalCall', _458 => _458(true)]);
15225
15352
  },
15226
15353
  disabled: !data.previous,
15227
15354
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" })
@@ -15235,7 +15362,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
15235
15362
  size: "sm",
15236
15363
  onClick: (e) => {
15237
15364
  e.preventDefault();
15238
- _optionalChain([data, 'access', _444 => _444.next, 'optionalCall', _445 => _445(true)]);
15365
+ _optionalChain([data, 'access', _459 => _459.next, 'optionalCall', _460 => _460(true)]);
15239
15366
  },
15240
15367
  disabled: !data.next,
15241
15368
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" })
@@ -15256,7 +15383,7 @@ function ContentListGrid(props) {
15256
15383
  if (!data.next || !sentinelRef.current) return;
15257
15384
  const observer = new IntersectionObserver(
15258
15385
  (entries) => {
15259
- if (_optionalChain([entries, 'access', _446 => _446[0], 'optionalAccess', _447 => _447.isIntersecting])) _optionalChain([data, 'access', _448 => _448.next, 'optionalCall', _449 => _449()]);
15386
+ if (_optionalChain([entries, 'access', _461 => _461[0], 'optionalAccess', _462 => _462.isIntersecting])) _optionalChain([data, 'access', _463 => _463.next, 'optionalCall', _464 => _464()]);
15260
15387
  },
15261
15388
  { threshold: 0.1, rootMargin: "200px" }
15262
15389
  );
@@ -16006,7 +16133,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
16006
16133
  newDigits[index] = digit;
16007
16134
  setDigits(newDigits);
16008
16135
  if (digit && index < 5) {
16009
- _optionalChain([inputRefs, 'access', _450 => _450.current, 'access', _451 => _451[index + 1], 'optionalAccess', _452 => _452.focus, 'call', _453 => _453()]);
16136
+ _optionalChain([inputRefs, 'access', _465 => _465.current, 'access', _466 => _466[index + 1], 'optionalAccess', _467 => _467.focus, 'call', _468 => _468()]);
16010
16137
  }
16011
16138
  const code = newDigits.join("");
16012
16139
  if (code.length === 6 && newDigits.every((d) => d !== "")) {
@@ -16015,7 +16142,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
16015
16142
  }, "handleChange");
16016
16143
  const handleKeyDown = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (index, e) => {
16017
16144
  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()]);
16145
+ _optionalChain([inputRefs, 'access', _469 => _469.current, 'access', _470 => _470[index - 1], 'optionalAccess', _471 => _471.focus, 'call', _472 => _472()]);
16019
16146
  }
16020
16147
  }, "handleKeyDown");
16021
16148
  const handlePaste = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (e) => {
@@ -16024,7 +16151,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
16024
16151
  if (pastedData.length === 6) {
16025
16152
  const newDigits = pastedData.split("");
16026
16153
  setDigits(newDigits);
16027
- _optionalChain([inputRefs, 'access', _458 => _458.current, 'access', _459 => _459[5], 'optionalAccess', _460 => _460.focus, 'call', _461 => _461()]);
16154
+ _optionalChain([inputRefs, 'access', _473 => _473.current, 'access', _474 => _474[5], 'optionalAccess', _475 => _475.focus, 'call', _476 => _476()]);
16028
16155
  onComplete(pastedData);
16029
16156
  }
16030
16157
  }, "handlePaste");
@@ -16235,8 +16362,8 @@ function PasskeySetupDialog({ open, onOpenChange, onSuccess }) {
16235
16362
  try {
16236
16363
  const registrationData = await _chunkXAWKRNYMjs.TwoFactorService.getPasskeyRegistrationOptions({
16237
16364
  id: _uuid.v4.call(void 0, ),
16238
- userName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _462 => _462.email]), () => ( "")),
16239
- userDisplayName: _optionalChain([currentUser, 'optionalAccess', _463 => _463.name])
16365
+ userName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _477 => _477.email]), () => ( "")),
16366
+ userDisplayName: _optionalChain([currentUser, 'optionalAccess', _478 => _478.name])
16240
16367
  });
16241
16368
  const credential = await _browser.startRegistration.call(void 0, { optionsJSON: registrationData.options });
16242
16369
  await _chunkXAWKRNYMjs.TwoFactorService.verifyPasskeyRegistration({
@@ -16387,7 +16514,7 @@ function TotpSetupDialog({ onSuccess, trigger }) {
16387
16514
  const setup = await _chunkXAWKRNYMjs.TwoFactorService.setupTotp({
16388
16515
  id: _uuid.v4.call(void 0, ),
16389
16516
  name: name.trim(),
16390
- accountName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _464 => _464.email]), () => ( ""))
16517
+ accountName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _479 => _479.email]), () => ( ""))
16391
16518
  });
16392
16519
  setQrCodeUri(setup.qrCodeUri);
16393
16520
  setAuthenticatorId(setup.authenticatorId);
@@ -16521,7 +16648,7 @@ function TwoFactorSettings() {
16521
16648
  if (isLoading) {
16522
16649
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardContent, { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground", children: t("common.loading") }) }) });
16523
16650
  }
16524
- const isEnabled = _nullishCoalesce(_optionalChain([status, 'optionalAccess', _465 => _465.isEnabled]), () => ( false));
16651
+ const isEnabled = _nullishCoalesce(_optionalChain([status, 'optionalAccess', _480 => _480.isEnabled]), () => ( false));
16525
16652
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Card, { children: [
16526
16653
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
16527
16654
  isEnabled ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ShieldCheck, { className: "h-6 w-6 text-green-600" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ShieldAlert, { className: "h-6 w-6 text-yellow-600" }),
@@ -16559,7 +16686,7 @@ function TwoFactorSettings() {
16559
16686
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-medium", children: t("auth.two_factor.backup_codes") }),
16560
16687
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-muted-foreground", children: t("auth.two_factor.backup_codes_description") })
16561
16688
  ] }),
16562
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BackupCodesDialog, { remainingCodes: _nullishCoalesce(_optionalChain([status, 'optionalAccess', _466 => _466.backupCodesCount]), () => ( 0)), onRegenerate: handleRefresh })
16689
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BackupCodesDialog, { remainingCodes: _nullishCoalesce(_optionalChain([status, 'optionalAccess', _481 => _481.backupCodesCount]), () => ( 0)), onRegenerate: handleRefresh })
16563
16690
  ] }) }),
16564
16691
  !isEnabled && (authenticators.length > 0 || passkeys.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16565
16692
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Separator, {}),
@@ -16737,9 +16864,9 @@ function AcceptInvitation() {
16737
16864
  });
16738
16865
  const onSubmit = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (values) => {
16739
16866
  try {
16740
- if (!_optionalChain([params, 'optionalAccess', _467 => _467.code])) return;
16867
+ if (!_optionalChain([params, 'optionalAccess', _482 => _482.code])) return;
16741
16868
  const payload = {
16742
- code: _optionalChain([params, 'optionalAccess', _468 => _468.code]),
16869
+ code: _optionalChain([params, 'optionalAccess', _483 => _483.code]),
16743
16870
  password: values.password
16744
16871
  };
16745
16872
  await _chunkXAWKRNYMjs.AuthService.acceptInvitation(payload);
@@ -17089,7 +17216,7 @@ function Logout({ storageKeys }) {
17089
17216
  const generateUrl = usePageUrlGenerator();
17090
17217
  _react.useEffect.call(void 0, () => {
17091
17218
  const logOut = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
17092
- if (_optionalChain([storageKeys, 'optionalAccess', _469 => _469.length])) {
17219
+ if (_optionalChain([storageKeys, 'optionalAccess', _484 => _484.length])) {
17093
17220
  clearClientStorage(storageKeys);
17094
17221
  }
17095
17222
  await _chunkXAWKRNYMjs.AuthService.logout();
@@ -17112,14 +17239,14 @@ function RefreshUser() {
17112
17239
  setUser(fullUser);
17113
17240
  const token = {
17114
17241
  userId: fullUser.id,
17115
- companyId: _optionalChain([fullUser, 'access', _470 => _470.company, 'optionalAccess', _471 => _471.id]),
17242
+ companyId: _optionalChain([fullUser, 'access', _485 => _485.company, 'optionalAccess', _486 => _486.id]),
17116
17243
  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)]), () => ( [])),
17244
+ features: _nullishCoalesce(_optionalChain([fullUser, 'access', _487 => _487.company, 'optionalAccess', _488 => _488.features, 'optionalAccess', _489 => _489.map, 'call', _490 => _490((feature) => feature.id)]), () => ( [])),
17118
17245
  modules: fullUser.modules.map((module) => {
17119
17246
  return { id: module.id, permissions: module.permissions };
17120
17247
  })
17121
17248
  };
17122
- await _optionalChain([_chunkXAWKRNYMjs.getTokenHandler.call(void 0, ), 'optionalAccess', _476 => _476.updateToken, 'call', _477 => _477(token)]);
17249
+ await _optionalChain([_chunkXAWKRNYMjs.getTokenHandler.call(void 0, ), 'optionalAccess', _491 => _491.updateToken, 'call', _492 => _492(token)]);
17123
17250
  _cookiesnext.deleteCookie.call(void 0, "reloadData");
17124
17251
  }
17125
17252
  }, "loadFullUser");
@@ -17183,9 +17310,9 @@ function ResetPassword() {
17183
17310
  });
17184
17311
  const onSubmit = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (values) => {
17185
17312
  try {
17186
- if (!_optionalChain([params, 'optionalAccess', _478 => _478.code])) return;
17313
+ if (!_optionalChain([params, 'optionalAccess', _493 => _493.code])) return;
17187
17314
  const payload = {
17188
- code: _optionalChain([params, 'optionalAccess', _479 => _479.code]),
17315
+ code: _optionalChain([params, 'optionalAccess', _494 => _494.code]),
17189
17316
  password: values.password
17190
17317
  };
17191
17318
  await _chunkXAWKRNYMjs.AuthService.resetPassword(payload);
@@ -17534,7 +17661,7 @@ function extractHeadings(blocks) {
17534
17661
  function processBlocks(blockArray) {
17535
17662
  for (const block of blockArray) {
17536
17663
  if (block.type === "heading") {
17537
- const level = _optionalChain([block, 'access', _480 => _480.props, 'optionalAccess', _481 => _481.level]) || 1;
17664
+ const level = _optionalChain([block, 'access', _495 => _495.props, 'optionalAccess', _496 => _496.level]) || 1;
17538
17665
  const text = extractTextFromContent(block.content);
17539
17666
  if (text.trim()) {
17540
17667
  headings.push({
@@ -17877,7 +18004,7 @@ var useHowToTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
17877
18004
  })
17878
18005
  };
17879
18006
  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);
18007
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _497 => _497[field], 'optionalCall', _498 => _498()])).filter((col) => col !== void 0);
17881
18008
  }, [params.fields, fieldColumnMap, t, generateUrl]);
17882
18009
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
17883
18010
  }, "useHowToTableStructure");
@@ -17943,7 +18070,7 @@ function HowToMultiSelector({
17943
18070
  retriever: (params) => _chunkXAWKRNYMjs.HowToService.findMany(params),
17944
18071
  module: _chunkXAWKRNYMjs.Modules.HowTo,
17945
18072
  getLabel: (howTo) => howTo.name,
17946
- excludeId: _optionalChain([currentHowTo, 'optionalAccess', _484 => _484.id]),
18073
+ excludeId: _optionalChain([currentHowTo, 'optionalAccess', _499 => _499.id]),
17947
18074
  onChange
17948
18075
  }
17949
18076
  );
@@ -18008,7 +18135,7 @@ function HowToSelector({
18008
18135
  }, "setHowTo");
18009
18136
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FormFieldWrapper, { form, name: id, label, isRequired, children: (field) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Popover, { open, onOpenChange: setOpen, modal: true, children: [
18010
18137
  /* @__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 }) }))) }) }) }),
18138
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-row items-center justify-start rounded-md", children: field.value ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _500 => _500.value, 'optionalAccess', _501 => _501.name]), () => ( "")) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input text-muted-foreground flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: _nullishCoalesce(placeholder, () => ( t(`generic.search.placeholder`, { type: t(`entities.howtos`, { count: 1 }) }))) }) }) }),
18012
18139
  field.value && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18013
18140
  _lucidereact.CircleX,
18014
18141
  {
@@ -18292,7 +18419,7 @@ function ReferencesTab({ references }) {
18292
18419
  let module;
18293
18420
  try {
18294
18421
  module = _chunkXAWKRNYMjs.ModuleRegistry.findByName(ref.type);
18295
- } catch (e8) {
18422
+ } catch (e9) {
18296
18423
  return null;
18297
18424
  }
18298
18425
  const href = generate({ page: module, id: ref.id });
@@ -18363,9 +18490,9 @@ function CitationsTab({ citations, sources }) {
18363
18490
  ] }) }),
18364
18491
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: sorted.map((chunk) => {
18365
18492
  const isOpen = expanded.has(chunk.id);
18366
- const resolved = chunk.nodeId ? _optionalChain([sources, 'optionalAccess', _487 => _487.get, 'call', _488 => _488(chunk.nodeId)]) : void 0;
18493
+ const resolved = chunk.nodeId ? _optionalChain([sources, 'optionalAccess', _502 => _502.get, 'call', _503 => _503(chunk.nodeId)]) : void 0;
18367
18494
  const fallbackName = chunk.nodeId ? `${_nullishCoalesce(chunk.nodeType, () => ( t("features.assistant.message.sources.source")))} ${chunk.nodeId.slice(0, 8)}` : _nullishCoalesce(chunk.nodeType, () => ( t("features.assistant.message.sources.source")));
18368
- const sourceName = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _489 => _489.name]), () => ( fallbackName));
18495
+ const sourceName = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _504 => _504.name]), () => ( fallbackName));
18369
18496
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
18370
18497
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, TableRow, { children: [
18371
18498
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -18412,7 +18539,7 @@ function ContentsTab({ citations, sources }) {
18412
18539
  for (const c of citations) {
18413
18540
  const id = c.nodeId;
18414
18541
  if (!id) continue;
18415
- const source = _optionalChain([sources, 'optionalAccess', _490 => _490.get, 'call', _491 => _491(id)]);
18542
+ const source = _optionalChain([sources, 'optionalAccess', _505 => _505.get, 'call', _506 => _506(id)]);
18416
18543
  if (!source) continue;
18417
18544
  const existing = map.get(id);
18418
18545
  if (existing) {
@@ -18435,7 +18562,7 @@ function ContentsTab({ citations, sources }) {
18435
18562
  let module;
18436
18563
  try {
18437
18564
  module = _chunkXAWKRNYMjs.ModuleRegistry.findByName(source.type);
18438
- } catch (e9) {
18565
+ } catch (e10) {
18439
18566
  return null;
18440
18567
  }
18441
18568
  const href = generate({ page: module, id: source.id });
@@ -18467,7 +18594,7 @@ function readAuthor(source) {
18467
18594
  try {
18468
18595
  const a = source.author;
18469
18596
  return a && a.id ? a : void 0;
18470
- } catch (e10) {
18597
+ } catch (e11) {
18471
18598
  return void 0;
18472
18599
  }
18473
18600
  }
@@ -18477,7 +18604,7 @@ function UsersTab({ users, citations, sources }) {
18477
18604
  const generate = usePageUrlGenerator();
18478
18605
  const userMap = /* @__PURE__ */ new Map();
18479
18606
  for (const u of users) {
18480
- if (!_optionalChain([u, 'optionalAccess', _492 => _492.id])) continue;
18607
+ if (!_optionalChain([u, 'optionalAccess', _507 => _507.id])) continue;
18481
18608
  userMap.set(u.id, { user: u, contentCount: 0, citationCount: 0 });
18482
18609
  }
18483
18610
  if (citations && sources) {
@@ -18510,7 +18637,7 @@ function UsersTab({ users, citations, sources }) {
18510
18637
  let module;
18511
18638
  try {
18512
18639
  module = _chunkXAWKRNYMjs.ModuleRegistry.findByName(user.type);
18513
- } catch (e11) {
18640
+ } catch (e12) {
18514
18641
  return null;
18515
18642
  }
18516
18643
  const href = generate({ page: module, id: user.id });
@@ -18564,7 +18691,7 @@ function MessageSourcesPanel({ message, isLatestAssistant, onSelectFollowUp, sou
18564
18691
  () => message.references.filter((ref) => {
18565
18692
  try {
18566
18693
  return !!_chunkXAWKRNYMjs.ModuleRegistry.findByName(ref.type).pageUrl;
18567
- } catch (e12) {
18694
+ } catch (e13) {
18568
18695
  return false;
18569
18696
  }
18570
18697
  }),
@@ -18581,7 +18708,7 @@ function MessageSourcesPanel({ message, isLatestAssistant, onSelectFollowUp, sou
18581
18708
  }
18582
18709
  return ids.size;
18583
18710
  }, [message.citations, sources]);
18584
- const usersCount = _nullishCoalesce(_optionalChain([users, 'optionalAccess', _493 => _493.length]), () => ( 0));
18711
+ const usersCount = _nullishCoalesce(_optionalChain([users, 'optionalAccess', _508 => _508.length]), () => ( 0));
18585
18712
  const total = refsCount + citationsCount + contentsCount + usersCount + suggestionsCount;
18586
18713
  const visibleTabs = [];
18587
18714
  if (suggestionsCount > 0) visibleTabs.push("suggested");
@@ -18640,8 +18767,8 @@ var SourcesFetcher = class extends _chunkXAWKRNYMjs.ClientAbstractService {
18640
18767
  static async findManyByIds(params) {
18641
18768
  const endpoint = new (0, _chunkXAWKRNYMjs.EndpointCreator)({ endpoint: params.module });
18642
18769
  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);
18770
+ if (_optionalChain([params, 'access', _509 => _509.module, 'access', _510 => _510.inclusions, 'optionalAccess', _511 => _511.lists, 'optionalAccess', _512 => _512.fields])) endpoint.limitToFields(params.module.inclusions.lists.fields);
18771
+ if (_optionalChain([params, 'access', _513 => _513.module, 'access', _514 => _514.inclusions, 'optionalAccess', _515 => _515.lists, 'optionalAccess', _516 => _516.types])) endpoint.limitToType(params.module.inclusions.lists.types);
18645
18772
  return this.callApi({
18646
18773
  type: params.module,
18647
18774
  method: "GET" /* GET */,
@@ -18682,7 +18809,7 @@ function MessageSourcesContainer({ message, isLatestAssistant, onSelectFollowUp
18682
18809
  let module;
18683
18810
  try {
18684
18811
  module = _chunkXAWKRNYMjs.ModuleRegistry.findByModelName(nodeType);
18685
- } catch (e13) {
18812
+ } catch (e14) {
18686
18813
  continue;
18687
18814
  }
18688
18815
  const idsParam = `${_nullishCoalesce(module.nodeName, () => ( module.name.replace(/s$/, "")))}Ids`;
@@ -18716,11 +18843,11 @@ function MessageSourcesContainer({ message, isLatestAssistant, onSelectFollowUp
18716
18843
  const author = _nullishCoalesce(entity._author, () => ( (() => {
18717
18844
  try {
18718
18845
  return entity.author;
18719
- } catch (e14) {
18846
+ } catch (e15) {
18720
18847
  return void 0;
18721
18848
  }
18722
18849
  })()));
18723
- if (_optionalChain([author, 'optionalAccess', _502 => _502.id])) userMap.set(author.id, author);
18850
+ if (_optionalChain([author, 'optionalAccess', _517 => _517.id])) userMap.set(author.id, author);
18724
18851
  }
18725
18852
  return Array.from(userMap.values());
18726
18853
  }, [resolved]);
@@ -18742,14 +18869,14 @@ _chunk7QVYU63Ejs.__name.call(void 0, MessageSourcesContainer, "MessageSourcesCon
18742
18869
  function MessageItem({ message, isLatestAssistant, onSelectFollowUp, failedMessageIds, onRetry }) {
18743
18870
  const t = _nextintl.useTranslations.call(void 0, );
18744
18871
  const isUser = message.role === "user";
18745
- const isFailed = isUser && !!_optionalChain([failedMessageIds, 'optionalAccess', _503 => _503.has, 'call', _504 => _504(message.id)]);
18872
+ const isFailed = isUser && !!_optionalChain([failedMessageIds, 'optionalAccess', _518 => _518.has, 'call', _519 => _519(message.id)]);
18746
18873
  if (isUser) {
18747
18874
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-end gap-1", children: [
18748
18875
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-primary text-primary-foreground max-w-[72%] rounded-2xl rounded-br-sm px-3.5 py-2 text-sm", children: message.content }),
18749
18876
  isFailed && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-destructive flex items-center gap-2 text-xs", children: [
18750
18877
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertCircle, { className: "h-3.5 w-3.5" }),
18751
18878
  /* @__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") })
18879
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", className: "underline", onClick: () => _optionalChain([onRetry, 'optionalCall', _520 => _520(message.id)]), children: t("features.assistant.retry") })
18753
18880
  ] })
18754
18881
  ] });
18755
18882
  }
@@ -18815,7 +18942,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, AssistantStatusLine, "AssistantStatusLine")
18815
18942
  function AssistantThread({ messages, sending, status, onSelectFollowUp, failedMessageIds, onRetry }) {
18816
18943
  const endRef = _react.useRef.call(void 0, null);
18817
18944
  _react.useEffect.call(void 0, () => {
18818
- _optionalChain([endRef, 'access', _506 => _506.current, 'optionalAccess', _507 => _507.scrollIntoView, 'call', _508 => _508({ behavior: "smooth" })]);
18945
+ _optionalChain([endRef, 'access', _521 => _521.current, 'optionalAccess', _522 => _522.scrollIntoView, 'call', _523 => _523({ behavior: "smooth" })]);
18819
18946
  }, [messages.length, sending]);
18820
18947
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 overflow-x-hidden overflow-y-auto px-6 py-5", children: [
18821
18948
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18843,7 +18970,7 @@ function AssistantContainer() {
18843
18970
  AssistantSidebar,
18844
18971
  {
18845
18972
  threads: ctx.threads,
18846
- activeId: _optionalChain([ctx, 'access', _509 => _509.assistant, 'optionalAccess', _510 => _510.id]),
18973
+ activeId: _optionalChain([ctx, 'access', _524 => _524.assistant, 'optionalAccess', _525 => _525.id]),
18847
18974
  onSelect: ctx.selectThread,
18848
18975
  onNew: ctx.startNew
18849
18976
  }
@@ -18936,14 +19063,14 @@ function NotificationsList({ archived }) {
18936
19063
  ] }),
18937
19064
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Skeleton, { className: "h-8 w-20" })
18938
19065
  ] }) }) }, 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) => {
19066
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: data.isLoaded ? _optionalChain([data, 'access', _526 => _526.data, 'optionalAccess', _527 => _527.map, 'call', _528 => _528((notification) => {
18940
19067
  const notificationData = generateNotificationData({ notification, generateUrl });
18941
19068
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardContent, { className: "p-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex w-full flex-row items-center p-2`, children: [
18942
19069
  notificationData.actor ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-12 max-w-12 px-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Link, { href: generateUrl({ page: _chunkXAWKRNYMjs.Modules.User, id: notificationData.actor.id }), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserAvatar, { user: notificationData.actor, className: "h-8 w-8" }) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-14 max-w-14 px-2" }),
18943
19070
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
18944
19071
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
18945
19072
  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]), () => ( "")),
19073
+ actor: _nullishCoalesce(_optionalChain([notificationData, 'access', _529 => _529.actor, 'optionalAccess', _530 => _530.name]), () => ( "")),
18947
19074
  title: notificationData.title
18948
19075
  }) }),
18949
19076
  /* @__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 +19420,7 @@ var DEFAULT_TRANSLATIONS = {
19293
19420
  invalidEmail: "Please enter a valid email address"
19294
19421
  };
19295
19422
  async function copyToClipboard(text) {
19296
- if (_optionalChain([navigator, 'access', _516 => _516.clipboard, 'optionalAccess', _517 => _517.writeText])) {
19423
+ if (_optionalChain([navigator, 'access', _531 => _531.clipboard, 'optionalAccess', _532 => _532.writeText])) {
19297
19424
  try {
19298
19425
  await navigator.clipboard.writeText(text);
19299
19426
  return true;
@@ -19335,7 +19462,7 @@ function ReferralWidget({
19335
19462
  const linkInputRef = _react.useRef.call(void 0, null);
19336
19463
  const config = _chunkSE5HIHJSjs.getReferralConfig.call(void 0, );
19337
19464
  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}` : "";
19465
+ const referralUrl = _optionalChain([stats, 'optionalAccess', _533 => _533.referralCode]) ? `${baseUrl}${config.referralPath}?${config.urlParamName}=${stats.referralCode}` : "";
19339
19466
  if (!_chunkSE5HIHJSjs.isReferralEnabled.call(void 0, )) {
19340
19467
  return null;
19341
19468
  }
@@ -19345,7 +19472,7 @@ function ReferralWidget({
19345
19472
  if (success) {
19346
19473
  setCopied(true);
19347
19474
  _chunkXAWKRNYMjs.showToast.call(void 0, t.copiedMessage);
19348
- _optionalChain([onLinkCopied, 'optionalCall', _519 => _519()]);
19475
+ _optionalChain([onLinkCopied, 'optionalCall', _534 => _534()]);
19349
19476
  setTimeout(() => setCopied(false), 2e3);
19350
19477
  } else {
19351
19478
  _chunkXAWKRNYMjs.showError.call(void 0, t.copyError);
@@ -19359,12 +19486,12 @@ function ReferralWidget({
19359
19486
  try {
19360
19487
  await sendInvite(email);
19361
19488
  _chunkXAWKRNYMjs.showToast.call(void 0, t.inviteSent);
19362
- _optionalChain([onInviteSent, 'optionalCall', _520 => _520(email)]);
19489
+ _optionalChain([onInviteSent, 'optionalCall', _535 => _535(email)]);
19363
19490
  setEmail("");
19364
19491
  } catch (err) {
19365
19492
  const error2 = err instanceof Error ? err : new Error(t.inviteError);
19366
19493
  _chunkXAWKRNYMjs.showError.call(void 0, error2.message);
19367
- _optionalChain([onInviteError, 'optionalCall', _521 => _521(error2)]);
19494
+ _optionalChain([onInviteError, 'optionalCall', _536 => _536(error2)]);
19368
19495
  }
19369
19496
  }, [email, sendInvite, t.inviteSent, t.inviteError, t.invalidEmail, onInviteSent, onInviteError]);
19370
19497
  const handleEmailKeyDown = _react.useCallback.call(void 0,
@@ -19772,7 +19899,7 @@ function isValidRedirectUri(uri) {
19772
19899
  try {
19773
19900
  new URL(uri);
19774
19901
  return true;
19775
- } catch (e15) {
19902
+ } catch (e16) {
19776
19903
  return false;
19777
19904
  }
19778
19905
  }
@@ -20118,7 +20245,7 @@ function OAuthClientList({
20118
20245
  OAuthClientCard,
20119
20246
  {
20120
20247
  client,
20121
- onClick: () => _optionalChain([onClientClick, 'optionalCall', _522 => _522(client)]),
20248
+ onClick: () => _optionalChain([onClientClick, 'optionalCall', _537 => _537(client)]),
20122
20249
  onEdit: onEditClick ? () => onEditClick(client) : void 0,
20123
20250
  onDelete: onDeleteClick ? () => onDeleteClick(client) : void 0
20124
20251
  },
@@ -20134,11 +20261,11 @@ _chunk7QVYU63Ejs.__name.call(void 0, OAuthClientList, "OAuthClientList");
20134
20261
  function OAuthClientForm({ client, onSubmit, onCancel, isLoading = false }) {
20135
20262
  const isEditMode = !!client;
20136
20263
  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))
20264
+ name: _optionalChain([client, 'optionalAccess', _538 => _538.name]) || "",
20265
+ description: _optionalChain([client, 'optionalAccess', _539 => _539.description]) || "",
20266
+ redirectUris: _optionalChain([client, 'optionalAccess', _540 => _540.redirectUris, 'optionalAccess', _541 => _541.length]) ? client.redirectUris : [""],
20267
+ allowedScopes: _optionalChain([client, 'optionalAccess', _542 => _542.allowedScopes]) || [],
20268
+ isConfidential: _nullishCoalesce(_optionalChain([client, 'optionalAccess', _543 => _543.isConfidential]), () => ( true))
20142
20269
  });
20143
20270
  const [errors, setErrors] = _react.useState.call(void 0, {});
20144
20271
  const validate = _react.useCallback.call(void 0, () => {
@@ -20366,7 +20493,7 @@ function OAuthClientDetail({
20366
20493
  ] }),
20367
20494
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
20368
20495
  /* @__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)) })
20496
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2", children: client.allowedScopes.map((scope) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Badge, { variant: "secondary", children: _optionalChain([_chunkXAWKRNYMjs.OAUTH_SCOPE_DISPLAY, 'access', _544 => _544[scope], 'optionalAccess', _545 => _545.name]) || scope }, scope)) })
20370
20497
  ] }),
20371
20498
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
20372
20499
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Label, { children: "Grant Types" }),
@@ -20510,7 +20637,7 @@ function OAuthConsentScreen({
20510
20637
  if (error || !clientInfo) {
20511
20638
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-screen flex items-center justify-center p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Card, { className: "w-full max-w-md", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardContent, { className: "py-8", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Alert, { variant: "destructive", children: [
20512
20639
  /* @__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." })
20640
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDescription, { children: _optionalChain([error, 'optionalAccess', _546 => _546.message]) || "Invalid authorization request. Please try again." })
20514
20641
  ] }) }) }) });
20515
20642
  }
20516
20643
  const { client, scopes } = clientInfo;
@@ -20726,7 +20853,7 @@ function WaitlistForm({ onSuccess }) {
20726
20853
  questionnaire: values.questionnaire
20727
20854
  });
20728
20855
  setIsSuccess(true);
20729
- _optionalChain([onSuccess, 'optionalCall', _532 => _532()]);
20856
+ _optionalChain([onSuccess, 'optionalCall', _547 => _547()]);
20730
20857
  } catch (e) {
20731
20858
  errorToast({ error: e });
20732
20859
  } finally {
@@ -20884,7 +21011,7 @@ function parseQuestionnaire(questionnaire) {
20884
21011
  if (!questionnaire) return null;
20885
21012
  try {
20886
21013
  return JSON.parse(questionnaire);
20887
- } catch (e16) {
21014
+ } catch (e17) {
20888
21015
  return null;
20889
21016
  }
20890
21017
  }
@@ -21364,7 +21491,7 @@ var ModuleEditor = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs.__n
21364
21491
  ] }),
21365
21492
  roleIds.map((roleId) => {
21366
21493
  const roleTokens = block[roleId];
21367
- const roleLabel = _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _533 => _533[roleId]]), () => ( roleId));
21494
+ const roleLabel = _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _548 => _548[roleId]]), () => ( roleId));
21368
21495
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "tr", { className: "border-b last:border-b-0", children: [
21369
21496
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-4 py-1 text-xs font-medium text-muted-foreground", children: roleLabel }),
21370
21497
  _chunkSE5HIHJSjs.ACTION_TYPES.map((action) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-2 py-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -21401,7 +21528,7 @@ function RbacContainer() {
21401
21528
  }, []);
21402
21529
  const sortedModuleIds = _react.useMemo.call(void 0, () => {
21403
21530
  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))));
21531
+ return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _549 => _549[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _550 => _550[b]]), () => ( b))));
21405
21532
  }, [matrix, moduleNames]);
21406
21533
  const roleIds = _react.useMemo.call(void 0, () => {
21407
21534
  if (roleNames) {
@@ -21464,7 +21591,7 @@ function RbacContainer() {
21464
21591
  id === selectedModuleId && "bg-muted font-medium text-foreground",
21465
21592
  id !== selectedModuleId && "text-muted-foreground"
21466
21593
  ),
21467
- children: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _536 => _536[id]]), () => ( id))
21594
+ children: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _551 => _551[id]]), () => ( id))
21468
21595
  }
21469
21596
  ) }, id)) }) }),
21470
21597
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "section", { className: "flex-1 overflow-y-auto p-4", children: selectedModuleId && selectedBlock ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -21472,7 +21599,7 @@ function RbacContainer() {
21472
21599
  {
21473
21600
  moduleId: selectedModuleId,
21474
21601
  block: selectedBlock,
21475
- moduleLabel: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _537 => _537[selectedModuleId]]), () => ( selectedModuleId)),
21602
+ moduleLabel: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _552 => _552[selectedModuleId]]), () => ( selectedModuleId)),
21476
21603
  roleIds,
21477
21604
  roleNames,
21478
21605
  onOpenPicker: openPicker
@@ -21483,12 +21610,12 @@ function RbacContainer() {
21483
21610
  RbacPermissionPicker,
21484
21611
  {
21485
21612
  open: !!activePicker,
21486
- anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _538 => _538.anchor]), () => ( null)),
21613
+ anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _553 => _553.anchor]), () => ( null)),
21487
21614
  value: activeValue,
21488
- isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _539 => _539.isRoleColumn]), () => ( false)),
21615
+ isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _554 => _554.isRoleColumn]), () => ( false)),
21489
21616
  knownSegments: activeSegments,
21490
21617
  onSetValue: handleSetValue,
21491
- onClear: _optionalChain([activePicker, 'optionalAccess', _540 => _540.isRoleColumn]) ? handleClear : void 0,
21618
+ onClear: _optionalChain([activePicker, 'optionalAccess', _555 => _555.isRoleColumn]) ? handleClear : void 0,
21492
21619
  onClose: closePicker
21493
21620
  }
21494
21621
  )
@@ -21555,7 +21682,7 @@ function RbacByRoleContainer() {
21555
21682
  }, [roleNames]);
21556
21683
  const sortedModuleIds = _react.useMemo.call(void 0, () => {
21557
21684
  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))));
21685
+ return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _556 => _556[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _557 => _557[b]]), () => ( b))));
21559
21686
  }, [matrix, moduleNames]);
21560
21687
  _react.useEffect.call(void 0, () => {
21561
21688
  if (!selectedRoleId && sortedRoleIds.length > 0) {
@@ -21604,7 +21731,7 @@ function RbacByRoleContainer() {
21604
21731
  id === selectedRoleId && "bg-muted font-medium text-foreground",
21605
21732
  id !== selectedRoleId && "text-muted-foreground"
21606
21733
  ),
21607
- children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _543 => _543[id]]), () => ( id))
21734
+ children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _558 => _558[id]]), () => ( id))
21608
21735
  }
21609
21736
  ) }, id)) }) }),
21610
21737
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "section", { className: "flex-1 overflow-y-auto p-4", children: sortedModuleIds.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-accent bg-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "table", { className: "w-full text-sm", children: [
@@ -21624,7 +21751,7 @@ function RbacByRoleContainer() {
21624
21751
  if (!block) return null;
21625
21752
  const defaultTokens = _nullishCoalesce(block.default, () => ( []));
21626
21753
  const roleTokens = block[selectedRoleId];
21627
- const moduleLabel = _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _544 => _544[moduleId]]), () => ( moduleId));
21754
+ const moduleLabel = _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _559 => _559[moduleId]]), () => ( moduleId));
21628
21755
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
21629
21756
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { className: "border-b bg-muted/40", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21630
21757
  "td",
@@ -21639,7 +21766,7 @@ function RbacByRoleContainer() {
21639
21766
  _chunkSE5HIHJSjs.ACTION_TYPES.map((action) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-2 py-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RbacPermissionCell, { value: cellValue2(defaultTokens, action) }) }, action))
21640
21767
  ] }),
21641
21768
  /* @__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)) }),
21769
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-4 py-1 text-xs font-medium text-muted-foreground", children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _560 => _560[selectedRoleId]]), () => ( selectedRoleId)) }),
21643
21770
  _chunkSE5HIHJSjs.ACTION_TYPES.map((action) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-2 py-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21644
21771
  CellButton3,
21645
21772
  {
@@ -21660,12 +21787,12 @@ function RbacByRoleContainer() {
21660
21787
  RbacPermissionPicker,
21661
21788
  {
21662
21789
  open: !!activePicker,
21663
- anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _546 => _546.anchor]), () => ( null)),
21790
+ anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _561 => _561.anchor]), () => ( null)),
21664
21791
  value: activeValue,
21665
- isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _547 => _547.isRoleColumn]), () => ( false)),
21792
+ isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _562 => _562.isRoleColumn]), () => ( false)),
21666
21793
  knownSegments: activeSegments,
21667
21794
  onSetValue: handleSetValue,
21668
- onClear: _optionalChain([activePicker, 'optionalAccess', _548 => _548.isRoleColumn]) ? handleClear : void 0,
21795
+ onClear: _optionalChain([activePicker, 'optionalAccess', _563 => _563.isRoleColumn]) ? handleClear : void 0,
21669
21796
  onClose: closePicker
21670
21797
  }
21671
21798
  )
@@ -22185,5 +22312,6 @@ _chunk7QVYU63Ejs.__name.call(void 0, RbacByRoleContainer, "RbacByRoleContainer")
22185
22312
 
22186
22313
 
22187
22314
 
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
22315
+
22316
+ exports.JsonApiProvider = JsonApiProvider; exports.useJsonApiGet = useJsonApiGet; exports.useJsonApiMutation = useJsonApiMutation; exports.useRehydration = useRehydration; exports.useRehydrationList = useRehydrationList; exports.TableGeneratorRegistry = TableGeneratorRegistry; exports.tableGeneratorRegistry = tableGeneratorRegistry; exports.usePageUrlGenerator = usePageUrlGenerator; exports.useUrlRewriter = useUrlRewriter; exports.useDataListRetriever = useDataListRetriever; exports.useDebounce = useDebounce2; exports.registerTableGenerator = registerTableGenerator; exports.useTableGenerator = useTableGenerator; exports.computeLayeredLayout = computeLayeredLayout; exports.useCustomD3Graph = useCustomD3Graph; exports.SocketContext = SocketContext; exports.SocketProvider = SocketProvider; exports.useSocketContext = useSocketContext; exports.CurrentUserProvider = CurrentUserProvider; exports.useCurrentUserContext = useCurrentUserContext; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AlertAction = AlertAction; exports.buttonVariants = buttonVariants; exports.Button = Button; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogMedia = AlertDialogMedia; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.Avatar = Avatar; exports.AvatarImage = AvatarImage; exports.AvatarFallback = AvatarFallback; exports.AvatarBadge = AvatarBadge; exports.AvatarGroup = AvatarGroup; exports.AvatarGroupCount = AvatarGroupCount; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.Calendar = Calendar; exports.CalendarDayButton = CalendarDayButton; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardAction = CardAction; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.useCarousel = useCarousel; exports.Carousel = Carousel; exports.CarouselContent = CarouselContent; exports.CarouselItem = CarouselItem; exports.CarouselPrevious = CarouselPrevious; exports.CarouselNext = CarouselNext; exports.ChartContainer = ChartContainer; exports.ChartStyle = ChartStyle; exports.ChartTooltip = ChartTooltip; exports.ChartTooltipContent = ChartTooltipContent; exports.ChartLegend = ChartLegend; exports.ChartLegendContent = ChartLegendContent; exports.Checkbox = Checkbox; exports.Collapsible = Collapsible; exports.CollapsibleTrigger = CollapsibleTrigger; exports.CollapsibleContent = CollapsibleContent; exports.Input = Input; exports.Textarea = Textarea; exports.InputGroup = InputGroup; exports.InputGroupAddon = InputGroupAddon; exports.InputGroupButton = InputGroupButton; exports.InputGroupText = InputGroupText; exports.InputGroupInput = InputGroupInput; exports.InputGroupTextarea = InputGroupTextarea; exports.Combobox = Combobox; exports.ComboboxValue = ComboboxValue; exports.ComboboxTrigger = ComboboxTrigger; exports.ComboboxInput = ComboboxInput; exports.ComboboxContent = ComboboxContent; exports.ComboboxList = ComboboxList; exports.ComboboxItem = ComboboxItem; exports.ComboboxGroup = ComboboxGroup; exports.ComboboxLabel = ComboboxLabel; exports.ComboboxCollection = ComboboxCollection; exports.ComboboxEmpty = ComboboxEmpty; exports.ComboboxSeparator = ComboboxSeparator; exports.ComboboxChips = ComboboxChips; exports.ComboboxChip = ComboboxChip; exports.ComboboxChipsInput = ComboboxChipsInput; exports.useComboboxAnchor = useComboboxAnchor; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.Command = Command; exports.CommandDialog = CommandDialog; exports.CommandInput = CommandInput; exports.CommandList = CommandList; exports.CommandEmpty = CommandEmpty; exports.CommandGroup = CommandGroup; exports.CommandSeparator = CommandSeparator; exports.CommandItem = CommandItem; exports.CommandShortcut = CommandShortcut; exports.ContextMenu = ContextMenu; exports.ContextMenuPortal = ContextMenuPortal; exports.ContextMenuTrigger = ContextMenuTrigger; exports.ContextMenuContent = ContextMenuContent; exports.ContextMenuGroup = ContextMenuGroup; exports.ContextMenuLabel = ContextMenuLabel; exports.ContextMenuItem = ContextMenuItem; exports.ContextMenuSub = ContextMenuSub; exports.ContextMenuSubTrigger = ContextMenuSubTrigger; exports.ContextMenuSubContent = ContextMenuSubContent; exports.ContextMenuCheckboxItem = ContextMenuCheckboxItem; exports.ContextMenuRadioGroup = ContextMenuRadioGroup; exports.ContextMenuRadioItem = ContextMenuRadioItem; exports.ContextMenuSeparator = ContextMenuSeparator; exports.ContextMenuShortcut = ContextMenuShortcut; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerPortal = DrawerPortal; exports.DrawerClose = DrawerClose; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerFooter = DrawerFooter; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DropdownMenu = DropdownMenu; exports.DropdownMenuPortal = DropdownMenuPortal; exports.DropdownMenuTrigger = DropdownMenuTrigger; exports.DropdownMenuContent = DropdownMenuContent; exports.DropdownMenuGroup = DropdownMenuGroup; exports.DropdownMenuLabel = DropdownMenuLabel; exports.DropdownMenuItem = DropdownMenuItem; exports.DropdownMenuSub = DropdownMenuSub; exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger; exports.DropdownMenuSubContent = DropdownMenuSubContent; exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem; exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup; exports.DropdownMenuRadioItem = DropdownMenuRadioItem; exports.DropdownMenuSeparator = DropdownMenuSeparator; exports.DropdownMenuShortcut = DropdownMenuShortcut; exports.Label = Label; exports.Separator = Separator; exports.FieldSet = FieldSet; exports.FieldLegend = FieldLegend; exports.FieldGroup = FieldGroup; exports.Field = Field; exports.FieldContent = FieldContent; exports.FieldLabel = FieldLabel; exports.FieldTitle = FieldTitle; exports.FieldDescription = FieldDescription; exports.FieldSeparator = FieldSeparator; exports.FieldError = FieldError; exports.Form = Form; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.InputOTP = InputOTP; exports.InputOTPGroup = InputOTPGroup; exports.InputOTPSlot = InputOTPSlot; exports.InputOTPSeparator = InputOTPSeparator; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuPositioner = NavigationMenuPositioner; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.Popover = Popover; exports.PopoverTrigger = PopoverTrigger; exports.PopoverContent = PopoverContent; exports.PopoverHeader = PopoverHeader; exports.PopoverTitle = PopoverTitle; exports.PopoverDescription = PopoverDescription; exports.Progress = Progress; exports.ProgressTrack = ProgressTrack; exports.ProgressIndicator = ProgressIndicator; exports.ProgressLabel = ProgressLabel; exports.ProgressValue = ProgressValue; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.ResizablePanelGroup = ResizablePanelGroup; exports.ResizablePanel = ResizablePanel; exports.ResizableHandle = ResizableHandle; exports.ScrollArea = ScrollArea; exports.ScrollBar = ScrollBar; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Skeleton = Skeleton; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip2; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.useSidebar = useSidebar; exports.SidebarProvider = SidebarProvider; exports.Sidebar = Sidebar; exports.SidebarTrigger = SidebarTrigger; exports.SidebarRail = SidebarRail; exports.SidebarInset = SidebarInset; exports.SidebarInput = SidebarInput; exports.SidebarHeader = SidebarHeader; exports.SidebarFooter = SidebarFooter; exports.SidebarSeparator = SidebarSeparator; exports.SidebarContent = SidebarContent; exports.SidebarGroup = SidebarGroup; exports.SidebarGroupLabel = SidebarGroupLabel; exports.SidebarGroupAction = SidebarGroupAction; exports.SidebarGroupContent = SidebarGroupContent; exports.SidebarMenu = SidebarMenu; exports.SidebarMenuItem = SidebarMenuItem; exports.SidebarMenuButton = SidebarMenuButton; exports.SidebarMenuAction = SidebarMenuAction; exports.SidebarMenuBadge = SidebarMenuBadge; exports.SidebarMenuSkeleton = SidebarMenuSkeleton; exports.SidebarMenuSub = SidebarMenuSub; exports.SidebarMenuSubItem = SidebarMenuSubItem; exports.SidebarMenuSubButton = SidebarMenuSubButton; exports.Slider = Slider; exports.Toaster = Toaster; exports.Switch = Switch; exports.Table = Table; exports.TableHeader = TableHeader; exports.TableBody = TableBody; exports.TableFooter = TableFooter; exports.TableRow = TableRow; exports.TableHead = TableHead; exports.TableCell = TableCell; exports.TableCaption = TableCaption; exports.Tabs = Tabs; exports.tabsListVariants = tabsListVariants; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.KanbanRoot = KanbanRoot; exports.KanbanBoard = KanbanBoard; exports.KanbanColumn = KanbanColumn; exports.KanbanColumnHandle = KanbanColumnHandle; exports.KanbanItem = KanbanItem; exports.KanbanItemHandle = KanbanItemHandle; exports.KanbanOverlay = KanbanOverlay; exports.Link = Link; exports.MultiSelect = MultiSelect; exports.useDebounce2 = useDebounce; exports.MultipleSelector = MultipleSelector; exports.EntityAvatar = EntityAvatar; exports.errorToast = errorToast; exports.EditableAvatar = EditableAvatar; exports.TableCellAvatar = TableCellAvatar; exports.HeaderChildrenProvider = HeaderChildrenProvider; exports.useHeaderChildren = useHeaderChildren; exports.HeaderLeftContentProvider = HeaderLeftContentProvider; exports.useHeaderLeftContent = useHeaderLeftContent; exports.BreadcrumbNavigation = BreadcrumbNavigation; exports.ContentTitle = ContentTitle; exports.SharedProvider = SharedProvider; exports.useSharedContext = useSharedContext; exports.Header = Header; exports.ModeToggleSwitch = ModeToggleSwitch; exports.PageSection = PageSection; exports.recentPagesAtom = recentPagesAtom; exports.RecentPagesNavigator = RecentPagesNavigator; exports.PageContainer = PageContainer; exports.ReactMarkdownContainer = ReactMarkdownContainer; exports.RoundPageContainerTitle = RoundPageContainerTitle; exports.RoundPageContainer = RoundPageContainer; exports.TabsContainer = TabsContainer; exports.AttributeElement = AttributeElement; exports.AllUsersListContainer = AllUsersListContainer; exports.UserContent = UserContent; exports.UserAvatar = UserAvatar; exports.UserAvatarList = UserAvatarList; exports.useUserSearch = useUserSearch; exports.useUserTableStructure = useUserTableStructure; exports.UserSearchPopover = UserSearchPopover; exports.UserIndexDetails = UserIndexDetails; exports.UserStanadaloneDetails = UserStanadaloneDetails; exports.UserContainer = UserContainer; exports.UserIndexContainer = UserIndexContainer; exports.UsersListContainer = UsersListContainer; exports.AdminUsersList = AdminUsersList; exports.CompanyUsersList = CompanyUsersList; exports.ContributorsList = ContributorsList; exports.RelevantUsersList = RelevantUsersList; exports.RoleUsersList = RoleUsersList; exports.UserListInAdd = UserListInAdd; exports.UsersList = UsersList; exports.UsersListByContentIds = UsersListByContentIds; exports.AllowedUsersDetails = AllowedUsersDetails; exports.ErrorDetails = ErrorDetails; exports.BlockNoteEditorMentionHoverCard = BlockNoteEditorMentionHoverCard; exports.mentionDataAttrs = mentionDataAttrs; exports.createMentionInlineContentSpec = createMentionInlineContentSpec; exports.useMentionInsert = useMentionInsert; exports.BlockNoteEditorMentionSuggestionMenu = BlockNoteEditorMentionSuggestionMenu; exports.BlockNoteEditorContainer = BlockNoteEditorContainer; exports.CommonAssociationTrigger = CommonAssociationTrigger; exports.CommonAssociationCommandDialog = CommonAssociationCommandDialog; exports.triggerAssociationToast = triggerAssociationToast; exports.FormFieldWrapper = FormFieldWrapper; exports.EntityMultiSelector = EntityMultiSelector; exports.CommonDeleter = CommonDeleter; exports.CommonEditorButtons = CommonEditorButtons; exports.CommonEditorHeader = CommonEditorHeader; exports.CommonEditorDiscardDialog = CommonEditorDiscardDialog; exports.CommonEditorTrigger = CommonEditorTrigger; exports.useEditorDialog = useEditorDialog; exports.EditorSheet = EditorSheet; exports.DatePickerPopover = DatePickerPopover; exports.DateRangeSelector = DateRangeSelector; exports.useFileUpload = useFileUpload; exports.FileUploader = FileUploader; exports.FileUploaderContent = FileUploaderContent; exports.FileUploaderItem = FileUploaderItem; exports.FileInput = FileInput; exports.FormCheckbox = FormCheckbox; exports.FormBlockNote = FormBlockNote; exports.FormDate = FormDate; exports.FormDateTime = FormDateTime; exports.FormInput = FormInput; exports.PasswordInput = PasswordInput; exports.FormPassword = FormPassword; exports.FormPlaceAutocomplete = FormPlaceAutocomplete; exports.FormSelect = FormSelect; exports.FormSlider = FormSlider; exports.FormSwitch = FormSwitch; exports.FormTextarea = FormTextarea; exports.GdprConsentCheckbox = GdprConsentCheckbox; exports.FormFeatures = FormFeatures; exports.PageContainerContentDetails = PageContainerContentDetails; exports.PageContentContainer = PageContentContainer; exports.cellComponent = cellComponent; exports.cellDate = cellDate; exports.cellDateTime = cellDateTime; exports.cellId = cellId; exports.cellLink = cellLink; exports.cellUrl = cellUrl; exports.ContentTableSearch = ContentTableSearch; exports.ContentListTable = ContentListTable; exports.ContentListGrid = ContentListGrid; exports.ItalianFiscalData_default = ItalianFiscalData_default; exports.ItalianFiscalDataDisplay = ItalianFiscalDataDisplay; exports.parseFiscalData = parseFiscalData; exports.FiscalDataDisplay = FiscalDataDisplay; exports.GdprConsentSection = GdprConsentSection; exports.AuthContainer = AuthContainer; exports.BackupCodesDialog = BackupCodesDialog; exports.TotpInput = TotpInput; exports.DisableTwoFactorDialog = DisableTwoFactorDialog; exports.PasskeyList = PasskeyList; exports.PasskeySetupDialog = PasskeySetupDialog; exports.TotpAuthenticatorList = TotpAuthenticatorList; exports.TotpSetupDialog = TotpSetupDialog; exports.TwoFactorSettings = TwoFactorSettings; exports.SecurityContainer = SecurityContainer; exports.LandingComponent = LandingComponent; exports.AcceptInvitation = AcceptInvitation; exports.ActivateAccount = ActivateAccount; exports.Cookies = Cookies; exports.ForgotPassword = ForgotPassword; exports.Login = Login; exports.Logout = Logout; exports.RefreshUser = RefreshUser; exports.ResetPassword = ResetPassword; exports.PasskeyButton = PasskeyButton; exports.TwoFactorChallenge = TwoFactorChallenge; exports.CompanyContent = CompanyContent; exports.TokenStatusIndicator = TokenStatusIndicator; exports.CompanyDetails = CompanyDetails; exports.AdminCompanyContainer = AdminCompanyContainer; exports.CompanyContainer = CompanyContainer; exports.CompanyConfigurationEditor = CompanyConfigurationEditor; exports.CompanyDeleter = CompanyDeleter; exports.CompanyEditor = CompanyEditor; exports.CompaniesList = CompaniesList; exports.ContentsList = ContentsList; exports.ContentsListById = ContentsListById; exports.RelevantContentsList = RelevantContentsList; exports.HowToCommandViewer = HowToCommandViewer; exports.HowToCommand = HowToCommand; exports.HowToDeleter = HowToDeleter; exports.HowToEditor = HowToEditor; exports.HowToProvider = HowToProvider; exports.useHowToContext = useHowToContext; exports.HowToContent = HowToContent; exports.HowToDetails = HowToDetails; exports.HowToContainer = HowToContainer; exports.HowToList = HowToList; exports.HowToListContainer = HowToListContainer; exports.HowToMultiSelector = HowToMultiSelector; exports.HowToSelector = HowToSelector; exports.AssistantProvider = AssistantProvider; exports.useAssistantContext = useAssistantContext; exports.MessageSourcesPanel = MessageSourcesPanel; exports.MessageItem = MessageItem; exports.MessageList = MessageList; exports.AssistantContainer = AssistantContainer; exports.NotificationErrorBoundary = NotificationErrorBoundary; exports.generateNotificationData = generateNotificationData; exports.NotificationToast = NotificationToast; exports.NotificationMenuItem = NotificationMenuItem; exports.NotificationContextProvider = NotificationContextProvider; exports.useNotificationContext = useNotificationContext; exports.NotificationsList = NotificationsList; exports.NotificationsListContainer = NotificationsListContainer; exports.NotificationModal = NotificationModal; exports.PushNotificationProvider = PushNotificationProvider; exports.OnboardingCard = OnboardingCard; exports.ReferralCodeCapture = ReferralCodeCapture; exports.ReferralWidget = ReferralWidget; exports.ReferralDialog = ReferralDialog; exports.RoleProvider = RoleProvider; exports.useRoleContext = useRoleContext; exports.RoleDetails = RoleDetails; exports.RoleContainer = RoleContainer; exports.FormRoles = FormRoles; exports.RemoveUserFromRole = RemoveUserFromRole; exports.UserRoleAdd = UserRoleAdd; exports.useRoleTableStructure = useRoleTableStructure; exports.RolesList = RolesList; exports.UserRolesList = UserRolesList; exports.OAuthRedirectUriInput = OAuthRedirectUriInput; exports.OAuthScopeSelector = OAuthScopeSelector; exports.OAuthClientSecretDisplay = OAuthClientSecretDisplay; exports.OAuthClientCard = OAuthClientCard; exports.OAuthClientList = OAuthClientList; exports.OAuthClientForm = OAuthClientForm; exports.OAuthClientDetail = OAuthClientDetail; exports.OAuthConsentHeader = OAuthConsentHeader; exports.OAuthScopeList = OAuthScopeList; exports.OAuthConsentActions = OAuthConsentActions; exports.useOAuthConsent = useOAuthConsent; exports.OAuthConsentScreen = OAuthConsentScreen; exports.WaitlistQuestionnaireRenderer = WaitlistQuestionnaireRenderer; exports.WaitlistForm = WaitlistForm; exports.WaitlistHeroSection = WaitlistHeroSection; exports.WaitlistSuccessState = WaitlistSuccessState; exports.WaitlistConfirmation = WaitlistConfirmation; exports.WaitlistList = WaitlistList; exports.RbacProvider = RbacProvider; exports.useRbacContext = useRbacContext; exports.RbacPermissionCell = RbacPermissionCell; exports.RbacPermissionPicker = RbacPermissionPicker; exports.RbacContainer = RbacContainer; exports.RbacByRoleContainer = RbacByRoleContainer; exports.AddUserToRole = AddUserToRole; exports.UserAvatarEditor = UserAvatarEditor; exports.UserDeleter = UserDeleter; exports.UserEditor = UserEditor; exports.UserMultiSelect = UserMultiSelect; exports.UserReactivator = UserReactivator; exports.UserResentInvitationEmail = UserResentInvitationEmail; exports.UserSelector = UserSelector; exports.UserProvider = UserProvider; exports.useUserContext = useUserContext; exports.CompanyProvider = CompanyProvider; exports.useCompanyContext = useCompanyContext; exports.DEFAULT_ONBOARDING_LABELS = DEFAULT_ONBOARDING_LABELS; exports.OnboardingProvider = OnboardingProvider; exports.useOnboarding = useOnboarding; exports.CommonProvider = CommonProvider; exports.useCommonContext = useCommonContext; exports.useNotificationSync = useNotificationSync; exports.usePageTracker = usePageTracker; exports.useSocket = useSocket; exports.useSubscriptionStatus = useSubscriptionStatus; exports.useContentTableStructure = useContentTableStructure; exports.useOAuthClients = useOAuthClients; exports.useOAuthClient = useOAuthClient;
22317
+ //# sourceMappingURL=chunk-TRTKIQUB.js.map