@acoustte-digital-services/digitalstore-controls-dev 0.8.1-dev.20260423093014 → 0.8.1-dev.20260423095249

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -2440,8 +2440,51 @@ var DataList_default = DataList;
2440
2440
 
2441
2441
  // src/components/dataForm/DataListRenderer.tsx
2442
2442
  import React31, { useState as useState6, useEffect as useEffect7 } from "react";
2443
+ import { usePathname as usePathname2 } from "next/navigation";
2444
+
2445
+ // src/components/NavigationTabsV2.tsx
2446
+ import Link2 from "next/link";
2443
2447
  import { usePathname } from "next/navigation";
2444
2448
  import { jsx as jsx37 } from "react/jsx-runtime";
2449
+ function resolveRoutePlaceholders(route, params) {
2450
+ return route.replace(/\{([^}]+)\}/g, (match, key) => {
2451
+ const value = params[key];
2452
+ if (value === void 0 || value === null) {
2453
+ console.warn(`No value found for route param: ${key}`);
2454
+ return "";
2455
+ }
2456
+ return value;
2457
+ });
2458
+ }
2459
+ var NavigationTabsV2 = ({ tabs, params = {} }) => {
2460
+ const pathname = usePathname();
2461
+ const shouldHideTabs = pathname?.includes("/add");
2462
+ if (shouldHideTabs) return null;
2463
+ const mappedTabs = tabs?.sort((a, b) => a.displayOrder - b.displayOrder)?.map((tab) => ({
2464
+ tabTitle: tab.tabTitle,
2465
+ displayOrder: tab.displayOrder,
2466
+ landingPageUrl: resolveRoutePlaceholders(
2467
+ tab.landingPageUrl,
2468
+ params
2469
+ ),
2470
+ isActive: tab.isActive
2471
+ })) || [];
2472
+ if (mappedTabs.length === 0) return null;
2473
+ return /* @__PURE__ */ jsx37("div", { className: "flex border-b bg-white rounded-t mb-3", children: mappedTabs.map(({ tabTitle, landingPageUrl, isActive }) => {
2474
+ return /* @__PURE__ */ jsx37(Link2, { href: landingPageUrl, className: "-mb-px", children: /* @__PURE__ */ jsx37(
2475
+ "div",
2476
+ {
2477
+ className: `text-sm font-medium border-b-2 px-6 py-2 transition
2478
+ ${isActive ? "bg-info-base" : "bg-neutral-weak "}`,
2479
+ children: tabTitle
2480
+ }
2481
+ ) }, landingPageUrl);
2482
+ }) });
2483
+ };
2484
+ var NavigationTabsV2_default = NavigationTabsV2;
2485
+
2486
+ // src/components/dataForm/DataListRenderer.tsx
2487
+ import { jsx as jsx38, jsxs as jsxs24 } from "react/jsx-runtime";
2445
2488
  var viewControlMap = {
2446
2489
  number: ViewControlTypes.number,
2447
2490
  lineText: ViewControlTypes.lineText,
@@ -2449,7 +2492,7 @@ var viewControlMap = {
2449
2492
  date: ViewControlTypes.date,
2450
2493
  boolean: ViewControlTypes.boolean
2451
2494
  };
2452
- function resolveRoutePlaceholders(route, params) {
2495
+ function resolveRoutePlaceholders2(route, params) {
2453
2496
  return route.replace(/\{([^}]+)\}/g, (match, key) => {
2454
2497
  const value = params[key];
2455
2498
  if (value === void 0 || value === null) {
@@ -2489,6 +2532,7 @@ var DataListRenderer = ({
2489
2532
  apiBaseUrl,
2490
2533
  session,
2491
2534
  params,
2535
+ tabs,
2492
2536
  query,
2493
2537
  path,
2494
2538
  widgetProps
@@ -2500,14 +2544,14 @@ var DataListRenderer = ({
2500
2544
  const [addLinkHref, setAddLinkHref] = useState6("");
2501
2545
  const [addLinkText, setAddLinkText] = useState6("");
2502
2546
  const [serviceRoute, setServiceRoute] = useState6("");
2503
- const pathname = usePathname();
2547
+ const pathname = usePathname2();
2504
2548
  useEffect7(() => {
2505
2549
  if (!formDefinition) return;
2506
2550
  setColumns(mapApiToColumns(formDefinition));
2507
2551
  setFilters(mapApiToFilters(formDefinition));
2508
2552
  setServiceRoute(formDefinition?.siteFormDataList?.serviceRoute ?? "/");
2509
2553
  const rawAddLinkHref = formDefinition?.siteFormDataList?.addLinkHref ?? "";
2510
- const resolvedAddLinkHref = resolveRoutePlaceholders(
2554
+ const resolvedAddLinkHref = resolveRoutePlaceholders2(
2511
2555
  rawAddLinkHref,
2512
2556
  params
2513
2557
  );
@@ -2517,7 +2561,7 @@ var DataListRenderer = ({
2517
2561
  useEffect7(() => {
2518
2562
  const fetchData = async () => {
2519
2563
  if (!serviceRoute) return;
2520
- const resolvedRoute = resolveRoutePlaceholders(serviceRoute, params);
2564
+ const resolvedRoute = resolveRoutePlaceholders2(serviceRoute, params);
2521
2565
  const queryString = OdataBuilder.getOdataQueryString(query);
2522
2566
  const separator = resolvedRoute.includes("?") ? "&" : "?";
2523
2567
  const finalUrl = resolvedRoute + (queryString ? separator + queryString : "");
@@ -2528,21 +2572,24 @@ var DataListRenderer = ({
2528
2572
  }, [serviceRoute, query, params]);
2529
2573
  const [tabItem, setTabItem] = useState6();
2530
2574
  const activeTab = tabItem?.find((tab) => tab.isActive);
2531
- const activeHref = activeTab ? resolveRoutePlaceholders(activeTab.landingPageUrl, params) : pathname;
2532
- return /* @__PURE__ */ jsx37(React31.Fragment, { children: /* @__PURE__ */ jsx37(
2533
- DataList_default,
2534
- {
2535
- addLinkHref,
2536
- addLinkText,
2537
- title: (formDefinition?.formTitle || "") + "-V2",
2538
- path,
2539
- columns,
2540
- dataset,
2541
- filters: filter,
2542
- serviceClient,
2543
- query
2544
- }
2545
- ) });
2575
+ const activeHref = activeTab ? resolveRoutePlaceholders2(activeTab.landingPageUrl, params) : pathname;
2576
+ return /* @__PURE__ */ jsxs24(React31.Fragment, { children: [
2577
+ widgetProps && /* @__PURE__ */ jsx38(NavigationTabsV2_default, { tabs, params: widgetProps.params }),
2578
+ /* @__PURE__ */ jsx38(
2579
+ DataList_default,
2580
+ {
2581
+ addLinkHref,
2582
+ addLinkText,
2583
+ title: (formDefinition?.formTitle || "") + "-V2",
2584
+ path,
2585
+ columns,
2586
+ dataset,
2587
+ filters: filter,
2588
+ serviceClient,
2589
+ query
2590
+ }
2591
+ )
2592
+ ] });
2546
2593
  };
2547
2594
  var DataListRenderer_default = DataListRenderer;
2548
2595
 
@@ -2553,7 +2600,7 @@ import React45 from "react";
2553
2600
  import React34 from "react";
2554
2601
 
2555
2602
  // src/components/pageRenderingEngine/nodes/TextNode.tsx
2556
- import { jsx as jsx38, jsxs as jsxs24 } from "react/jsx-runtime";
2603
+ import { jsx as jsx39, jsxs as jsxs25 } from "react/jsx-runtime";
2557
2604
  var TextNode = (props) => {
2558
2605
  function cssStringToJson(cssString) {
2559
2606
  const styleObject = {};
@@ -2611,24 +2658,24 @@ var TextNode = (props) => {
2611
2658
  });
2612
2659
  }
2613
2660
  function renderWithLineBreaks(text) {
2614
- return text.split("\n").map((line, index, arr) => /* @__PURE__ */ jsxs24("span", { children: [
2661
+ return text.split("\n").map((line, index, arr) => /* @__PURE__ */ jsxs25("span", { children: [
2615
2662
  line,
2616
- index < arr.length - 1 && /* @__PURE__ */ jsx38("br", {})
2663
+ index < arr.length - 1 && /* @__PURE__ */ jsx39("br", {})
2617
2664
  ] }, index));
2618
2665
  }
2619
2666
  const displayText = props.linkText ? props.linkText : props.node.text;
2620
2667
  const finalText = props.dataitem && props.linkText ? displayText : props.dataitem ? replacePlaceholders(props.node.text, props.dataitem) : props.node.text;
2621
2668
  return (
2622
2669
  // @ts-expect-error custom code
2623
- /* @__PURE__ */ jsx38("span", { style: { ...styles }, className: getFormatClass(props.node.format), children: typeof finalText === "string" ? renderWithLineBreaks(finalText) : finalText })
2670
+ /* @__PURE__ */ jsx39("span", { style: { ...styles }, className: getFormatClass(props.node.format), children: typeof finalText === "string" ? renderWithLineBreaks(finalText) : finalText })
2624
2671
  );
2625
2672
  };
2626
2673
  var TextNode_default = TextNode;
2627
2674
 
2628
2675
  // src/components/pageRenderingEngine/nodes/LineBreakNode.tsx
2629
- import { jsx as jsx39 } from "react/jsx-runtime";
2676
+ import { jsx as jsx40 } from "react/jsx-runtime";
2630
2677
  var LineBreakNode = () => {
2631
- return /* @__PURE__ */ jsx39("div", { className: "py-0.5 lg:py-1.5" });
2678
+ return /* @__PURE__ */ jsx40("div", { className: "py-0.5 lg:py-1.5" });
2632
2679
  };
2633
2680
  var LineBreakNode_default = LineBreakNode;
2634
2681
 
@@ -2663,7 +2710,7 @@ var AssetUtility_default = AssetUtility;
2663
2710
  import dynamic from "next/dynamic";
2664
2711
 
2665
2712
  // src/components/DeviceAssetSelector.tsx
2666
- import { jsx as jsx40 } from "react/jsx-runtime";
2713
+ import { jsx as jsx41 } from "react/jsx-runtime";
2667
2714
  var DeviceAssetSelector = ({
2668
2715
  assets,
2669
2716
  assetBaseUrl,
@@ -2738,7 +2785,7 @@ var DeviceAssetSelector = ({
2738
2785
  const formatClasses = FormatClass[nodeProps?.format || ""] || "";
2739
2786
  const renderMedia = () => {
2740
2787
  if (isHls) {
2741
- return /* @__PURE__ */ jsx40(
2788
+ return /* @__PURE__ */ jsx41(
2742
2789
  HlsPlayer_default,
2743
2790
  {
2744
2791
  assetUrl: resolvedAssetUrl,
@@ -2755,7 +2802,7 @@ var DeviceAssetSelector = ({
2755
2802
  } else {
2756
2803
  return (
2757
2804
  /* eslint-disable-next-line @next/next/no-img-element */
2758
- /* @__PURE__ */ jsx40(
2805
+ /* @__PURE__ */ jsx41(
2759
2806
  "img",
2760
2807
  {
2761
2808
  style: styles,
@@ -2771,17 +2818,17 @@ var DeviceAssetSelector = ({
2771
2818
  }
2772
2819
  };
2773
2820
  if (width) {
2774
- return /* @__PURE__ */ jsx40("div", { style: { width }, children: renderMedia() });
2821
+ return /* @__PURE__ */ jsx41("div", { style: { width }, children: renderMedia() });
2775
2822
  }
2776
2823
  if (nodeProps?.format) {
2777
- return /* @__PURE__ */ jsx40("div", { className: `flex ${formatClasses}`, children: renderMedia() });
2824
+ return /* @__PURE__ */ jsx41("div", { className: `flex ${formatClasses}`, children: renderMedia() });
2778
2825
  }
2779
2826
  return renderMedia();
2780
2827
  };
2781
2828
  var DeviceAssetSelector_default = DeviceAssetSelector;
2782
2829
 
2783
2830
  // src/components/pageRenderingEngine/nodes/ImageNode.tsx
2784
- import { Fragment as Fragment3, jsx as jsx41 } from "react/jsx-runtime";
2831
+ import { Fragment as Fragment3, jsx as jsx42 } from "react/jsx-runtime";
2785
2832
  var HlsPlayer = dynamic(() => import("./HlsPlayer-GV3FOPYT.mjs"), {
2786
2833
  ssr: false
2787
2834
  });
@@ -2824,7 +2871,7 @@ var ImageNode = (props) => {
2824
2871
  console.error("Error parsing assets in ImageNode:", error);
2825
2872
  }
2826
2873
  if (assets && assets.length > 0) {
2827
- return /* @__PURE__ */ jsx41(Fragment3, { children: /* @__PURE__ */ jsx41(
2874
+ return /* @__PURE__ */ jsx42(Fragment3, { children: /* @__PURE__ */ jsx42(
2828
2875
  DeviceAssetSelector_default,
2829
2876
  {
2830
2877
  device: props.device,
@@ -2873,7 +2920,7 @@ var ImageNode = (props) => {
2873
2920
  const isHls = imageUrl?.endsWith(".m3u8");
2874
2921
  const renderMedia = () => {
2875
2922
  if (isHls) {
2876
- return /* @__PURE__ */ jsx41(
2923
+ return /* @__PURE__ */ jsx42(
2877
2924
  HlsPlayer,
2878
2925
  {
2879
2926
  assetUrl: imageUrl,
@@ -2888,7 +2935,7 @@ var ImageNode = (props) => {
2888
2935
  }
2889
2936
  );
2890
2937
  } else {
2891
- return /* @__PURE__ */ jsx41(React32.Fragment, { children: /* @__PURE__ */ jsx41(
2938
+ return /* @__PURE__ */ jsx42(React32.Fragment, { children: /* @__PURE__ */ jsx42(
2892
2939
  "img",
2893
2940
  {
2894
2941
  style: styles,
@@ -2903,7 +2950,7 @@ var ImageNode = (props) => {
2903
2950
  }
2904
2951
  };
2905
2952
  if (props.node.width) {
2906
- return /* @__PURE__ */ jsx41("div", { className: `flex ${formatClasses}`, children: renderMedia() });
2953
+ return /* @__PURE__ */ jsx42("div", { className: `flex ${formatClasses}`, children: renderMedia() });
2907
2954
  }
2908
2955
  return renderMedia();
2909
2956
  };
@@ -2911,7 +2958,7 @@ var ImageNode_default = ImageNode;
2911
2958
 
2912
2959
  // src/components/pageRenderingEngine/nodes/LinkNode.tsx
2913
2960
  import dynamic2 from "next/dynamic";
2914
- import { Fragment as Fragment4, jsx as jsx42, jsxs as jsxs25 } from "react/jsx-runtime";
2961
+ import { Fragment as Fragment4, jsx as jsx43, jsxs as jsxs26 } from "react/jsx-runtime";
2915
2962
  var LinkNodeButton = dynamic2(() => import("./LinkNodeButton-CEDMPW3R.mjs"), {
2916
2963
  ssr: false
2917
2964
  });
@@ -2958,13 +3005,13 @@ var LinkNode = (props) => {
2958
3005
  const isButton = node.isButton === true;
2959
3006
  const renderChildren = () => {
2960
3007
  if (!node.children || node.children.length === 0) return null;
2961
- return /* @__PURE__ */ jsx42(Fragment4, { children: node.children.map((childNode, index) => {
3008
+ return /* @__PURE__ */ jsx43(Fragment4, { children: node.children.map((childNode, index) => {
2962
3009
  const SelectedNode = NodeTypes2[childNode.type];
2963
3010
  if (!SelectedNode) {
2964
3011
  console.warn("Unknown node type:", childNode.type);
2965
3012
  return null;
2966
3013
  }
2967
- return /* @__PURE__ */ jsx42(React33.Fragment, { children: /* @__PURE__ */ jsx42(
3014
+ return /* @__PURE__ */ jsx43(React33.Fragment, { children: /* @__PURE__ */ jsx43(
2968
3015
  SelectedNode,
2969
3016
  {
2970
3017
  node: childNode,
@@ -2977,15 +3024,15 @@ var LinkNode = (props) => {
2977
3024
  };
2978
3025
  const renderFallback = () => {
2979
3026
  if ((!node.children || node.children.length === 0) && linkText) {
2980
- return /* @__PURE__ */ jsx42("span", { children: linkText });
3027
+ return /* @__PURE__ */ jsx43("span", { children: linkText });
2981
3028
  }
2982
3029
  if ((!node.children || node.children.length === 0) && !linkText) {
2983
- return /* @__PURE__ */ jsx42("br", {});
3030
+ return /* @__PURE__ */ jsx43("br", {});
2984
3031
  }
2985
3032
  return null;
2986
3033
  };
2987
3034
  if (isButton) {
2988
- return /* @__PURE__ */ jsxs25(
3035
+ return /* @__PURE__ */ jsxs26(
2989
3036
  LinkNodeButton,
2990
3037
  {
2991
3038
  node,
@@ -3003,7 +3050,7 @@ var LinkNode = (props) => {
3003
3050
  }
3004
3051
  );
3005
3052
  }
3006
- return /* @__PURE__ */ jsxs25(
3053
+ return /* @__PURE__ */ jsxs26(
3007
3054
  Hyperlink,
3008
3055
  {
3009
3056
  href: linkUrl || "#",
@@ -3019,10 +3066,10 @@ var LinkNode = (props) => {
3019
3066
  var LinkNode_default = LinkNode;
3020
3067
 
3021
3068
  // src/components/pageRenderingEngine/nodes/SVGIconNode.tsx
3022
- import { jsx as jsx43 } from "react/jsx-runtime";
3069
+ import { jsx as jsx44 } from "react/jsx-runtime";
3023
3070
  var SVGIconNode = ({ node }) => {
3024
3071
  if (!node?.svgCode) return null;
3025
- return /* @__PURE__ */ jsx43(
3072
+ return /* @__PURE__ */ jsx44(
3026
3073
  "span",
3027
3074
  {
3028
3075
  style: {
@@ -3039,7 +3086,7 @@ var SVGIconNode_default = SVGIconNode;
3039
3086
 
3040
3087
  // src/components/pageRenderingEngine/nodes/EquationNode.tsx
3041
3088
  import katex from "katex";
3042
- import { jsx as jsx44 } from "react/jsx-runtime";
3089
+ import { jsx as jsx45 } from "react/jsx-runtime";
3043
3090
  var EquationNode = ({ node }) => {
3044
3091
  const { equation, inline } = node;
3045
3092
  let html = "";
@@ -3054,7 +3101,7 @@ var EquationNode = ({ node }) => {
3054
3101
  });
3055
3102
  }
3056
3103
  if (inline) {
3057
- return /* @__PURE__ */ jsx44(
3104
+ return /* @__PURE__ */ jsx45(
3058
3105
  "span",
3059
3106
  {
3060
3107
  className: "katex-inline",
@@ -3062,7 +3109,7 @@ var EquationNode = ({ node }) => {
3062
3109
  }
3063
3110
  );
3064
3111
  }
3065
- return /* @__PURE__ */ jsx44(
3112
+ return /* @__PURE__ */ jsx45(
3066
3113
  "div",
3067
3114
  {
3068
3115
  className: "katex-block my-3 text-center",
@@ -3073,7 +3120,7 @@ var EquationNode = ({ node }) => {
3073
3120
  var EquationNode_default = EquationNode;
3074
3121
 
3075
3122
  // src/components/pageRenderingEngine/nodes/DatafieldNode.tsx
3076
- import { jsx as jsx45 } from "react/jsx-runtime";
3123
+ import { jsx as jsx46 } from "react/jsx-runtime";
3077
3124
  function getNestedProperty(obj, path) {
3078
3125
  if (!obj || !path) return null;
3079
3126
  if (path.includes(".")) {
@@ -3086,7 +3133,7 @@ function getNestedProperty(obj, path) {
3086
3133
  }
3087
3134
  const value = obj[path];
3088
3135
  if (Array.isArray(value)) {
3089
- return value.map((item, index) => /* @__PURE__ */ jsx45("div", { children: String(item) }, index));
3136
+ return value.map((item, index) => /* @__PURE__ */ jsx46("div", { children: String(item) }, index));
3090
3137
  }
3091
3138
  return value;
3092
3139
  }
@@ -3147,7 +3194,7 @@ var DatafieldNode = (props) => {
3147
3194
  const dataType = props.node.dataType;
3148
3195
  if (isEmptyValue) return null;
3149
3196
  if (dataType === "rawContent") {
3150
- return /* @__PURE__ */ jsx45(
3197
+ return /* @__PURE__ */ jsx46(
3151
3198
  PageBodyRenderer_default,
3152
3199
  {
3153
3200
  rawBody: String(value ?? `@databound[${fieldName}]`),
@@ -3163,12 +3210,12 @@ var DatafieldNode = (props) => {
3163
3210
  }
3164
3211
  );
3165
3212
  }
3166
- return /* @__PURE__ */ jsx45(
3213
+ return /* @__PURE__ */ jsx46(
3167
3214
  "span",
3168
3215
  {
3169
3216
  className: `datafield-node ${props.node.format < Formats.length ? Formats[props.node.format] : ""}`,
3170
3217
  style: styles,
3171
- children: /* @__PURE__ */ jsx45(
3218
+ children: /* @__PURE__ */ jsx46(
3172
3219
  ViewControl_default,
3173
3220
  {
3174
3221
  controlType: dataType,
@@ -3181,7 +3228,7 @@ var DatafieldNode = (props) => {
3181
3228
  var DatafieldNode_default = DatafieldNode;
3182
3229
 
3183
3230
  // src/components/pageRenderingEngine/nodes/ParagraphNode.tsx
3184
- import { Fragment as Fragment5, jsx as jsx46, jsxs as jsxs26 } from "react/jsx-runtime";
3231
+ import { Fragment as Fragment5, jsx as jsx47, jsxs as jsxs27 } from "react/jsx-runtime";
3185
3232
  var ParagraphNode = (props) => {
3186
3233
  const NodeTypes2 = {
3187
3234
  ["text"]: TextNode_default,
@@ -3201,9 +3248,9 @@ var ParagraphNode = (props) => {
3201
3248
  const isInlineOnlyParent = props.parentTag === "summary";
3202
3249
  const hasChildren = props.node.children && props.node.children.length > 0;
3203
3250
  if (isInlineOnlyParent) {
3204
- return /* @__PURE__ */ jsx46(Fragment5, { children: hasChildren && props.node.children.map((node, index) => {
3251
+ return /* @__PURE__ */ jsx47(Fragment5, { children: hasChildren && props.node.children.map((node, index) => {
3205
3252
  const SelectedNode = NodeTypes2[node.type];
3206
- return /* @__PURE__ */ jsx46(React34.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx46(
3253
+ return /* @__PURE__ */ jsx47(React34.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx47(
3207
3254
  SelectedNode,
3208
3255
  {
3209
3256
  node,
@@ -3215,10 +3262,10 @@ var ParagraphNode = (props) => {
3215
3262
  ) }, index);
3216
3263
  }) });
3217
3264
  }
3218
- return /* @__PURE__ */ jsxs26("div", { className: " " + formatClasses, children: [
3265
+ return /* @__PURE__ */ jsxs27("div", { className: " " + formatClasses, children: [
3219
3266
  hasChildren && props.node.children.map((node, index) => {
3220
3267
  const SelectedNode = NodeTypes2[node.type];
3221
- return /* @__PURE__ */ jsx46(React34.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx46(
3268
+ return /* @__PURE__ */ jsx47(React34.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx47(
3222
3269
  SelectedNode,
3223
3270
  {
3224
3271
  node,
@@ -3229,14 +3276,14 @@ var ParagraphNode = (props) => {
3229
3276
  }
3230
3277
  ) }, index);
3231
3278
  }),
3232
- !hasChildren && /* @__PURE__ */ jsx46("div", { className: "py-1.5 lg:py-2" })
3279
+ !hasChildren && /* @__PURE__ */ jsx47("div", { className: "py-1.5 lg:py-2" })
3233
3280
  ] });
3234
3281
  };
3235
3282
  var ParagraphNode_default = ParagraphNode;
3236
3283
 
3237
3284
  // src/components/pageRenderingEngine/nodes/HeadingNode.tsx
3238
3285
  import React35 from "react";
3239
- import { Fragment as Fragment6, jsx as jsx47 } from "react/jsx-runtime";
3286
+ import { Fragment as Fragment6, jsx as jsx48 } from "react/jsx-runtime";
3240
3287
  var HeadingNode = (props) => {
3241
3288
  const NodeTypes2 = {
3242
3289
  ["text"]: TextNode_default,
@@ -3252,12 +3299,12 @@ var HeadingNode = (props) => {
3252
3299
  {
3253
3300
  }
3254
3301
  const formatClasses = FormatClass[props.node.format] || "";
3255
- return /* @__PURE__ */ jsx47(Fragment6, { children: React35.createElement(
3302
+ return /* @__PURE__ */ jsx48(Fragment6, { children: React35.createElement(
3256
3303
  HeadingTag,
3257
3304
  { className: formatClasses },
3258
3305
  props.node.children && props.node.children.map((childNode, index) => {
3259
3306
  const SelectedNode = NodeTypes2[childNode.type];
3260
- return /* @__PURE__ */ jsx47(React35.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx47(SelectedNode, { node: childNode, dataitem: props.dataitem, session: props.session, apiBaseUrl: props.apiBaseUrl, routeParameters: props.routeParameters }) }, index);
3307
+ return /* @__PURE__ */ jsx48(React35.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx48(SelectedNode, { node: childNode, dataitem: props.dataitem, session: props.session, apiBaseUrl: props.apiBaseUrl, routeParameters: props.routeParameters }) }, index);
3261
3308
  })
3262
3309
  ) });
3263
3310
  };
@@ -3268,7 +3315,7 @@ import React37 from "react";
3268
3315
 
3269
3316
  // src/components/pageRenderingEngine/nodes/ListItemNode.tsx
3270
3317
  import React36 from "react";
3271
- import { jsx as jsx48 } from "react/jsx-runtime";
3318
+ import { jsx as jsx49 } from "react/jsx-runtime";
3272
3319
  var ListItemNode = (props) => {
3273
3320
  const NodeTypes2 = {
3274
3321
  text: TextNode_default,
@@ -3285,37 +3332,37 @@ var ListItemNode = (props) => {
3285
3332
  liStyle.fontSize = match[1].trim();
3286
3333
  }
3287
3334
  }
3288
- return /* @__PURE__ */ jsx48("li", { style: liStyle, children: props.node.children && props.node.children.map((node, index) => {
3335
+ return /* @__PURE__ */ jsx49("li", { style: liStyle, children: props.node.children && props.node.children.map((node, index) => {
3289
3336
  const SelectedNode = NodeTypes2[node.type];
3290
3337
  if (node.type === "linebreak") {
3291
3338
  if (!foundFirstBreak) {
3292
3339
  foundFirstBreak = true;
3293
- return /* @__PURE__ */ jsx48("div", {}, index);
3340
+ return /* @__PURE__ */ jsx49("div", {}, index);
3294
3341
  } else {
3295
- return /* @__PURE__ */ jsx48("div", { className: "py-1 lg:py-2" }, index);
3342
+ return /* @__PURE__ */ jsx49("div", { className: "py-1 lg:py-2" }, index);
3296
3343
  }
3297
3344
  } else {
3298
3345
  foundFirstBreak = false;
3299
- return /* @__PURE__ */ jsx48(React36.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx48(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
3346
+ return /* @__PURE__ */ jsx49(React36.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx49(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
3300
3347
  }
3301
3348
  }) });
3302
3349
  };
3303
3350
  var ListItemNode_default = ListItemNode;
3304
3351
 
3305
3352
  // src/components/pageRenderingEngine/nodes/ListNode.tsx
3306
- import { jsx as jsx49, jsxs as jsxs27 } from "react/jsx-runtime";
3353
+ import { jsx as jsx50, jsxs as jsxs28 } from "react/jsx-runtime";
3307
3354
  var ListNode = (props) => {
3308
3355
  const NodeTypes2 = {
3309
3356
  listitem: ListItemNode_default
3310
3357
  };
3311
- return /* @__PURE__ */ jsxs27(React37.Fragment, { children: [
3312
- props.node.listType == "bullet" && /* @__PURE__ */ jsx49("ul", { children: props.node.children && props.node.children.map((node, index) => {
3358
+ return /* @__PURE__ */ jsxs28(React37.Fragment, { children: [
3359
+ props.node.listType == "bullet" && /* @__PURE__ */ jsx50("ul", { children: props.node.children && props.node.children.map((node, index) => {
3313
3360
  const SelectedNode = NodeTypes2[node.type];
3314
- return /* @__PURE__ */ jsx49(React37.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx49(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
3361
+ return /* @__PURE__ */ jsx50(React37.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx50(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
3315
3362
  }) }),
3316
- props.node.listType == "number" && /* @__PURE__ */ jsx49("ol", { children: props.node.children && props.node.children.map((node, index) => {
3363
+ props.node.listType == "number" && /* @__PURE__ */ jsx50("ol", { children: props.node.children && props.node.children.map((node, index) => {
3317
3364
  const SelectedNode = NodeTypes2[node.type];
3318
- return /* @__PURE__ */ jsx49(React37.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx49(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
3365
+ return /* @__PURE__ */ jsx50(React37.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx50(SelectedNode, { node, dataitem: props.dataitem, routeParameters: props.routeParameters }) }, index);
3319
3366
  }) })
3320
3367
  ] });
3321
3368
  };
@@ -3323,16 +3370,16 @@ var ListNode_default = ListNode;
3323
3370
 
3324
3371
  // src/components/pageRenderingEngine/nodes/QuoteNode.tsx
3325
3372
  import React38 from "react";
3326
- import { jsx as jsx50 } from "react/jsx-runtime";
3373
+ import { jsx as jsx51 } from "react/jsx-runtime";
3327
3374
  var QuoteNode = (props) => {
3328
3375
  const NodeTypes2 = {
3329
3376
  ["text"]: TextNode_default,
3330
3377
  ["linebreak"]: LineBreakNode_default,
3331
3378
  ["link"]: LinkNode_default
3332
3379
  };
3333
- return /* @__PURE__ */ jsx50("blockquote", { children: props.node.children && props.node.children.map((node, index) => {
3380
+ return /* @__PURE__ */ jsx51("blockquote", { children: props.node.children && props.node.children.map((node, index) => {
3334
3381
  const SelectedNode = NodeTypes2[node.type];
3335
- return /* @__PURE__ */ jsx50(React38.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx50(SelectedNode, { node, session: props.session, apiBaseUrl: props.apiBaseUrl, routeParameters: props.routeParameters }) }, index);
3382
+ return /* @__PURE__ */ jsx51(React38.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx51(SelectedNode, { node, session: props.session, apiBaseUrl: props.apiBaseUrl, routeParameters: props.routeParameters }) }, index);
3336
3383
  }) });
3337
3384
  };
3338
3385
  var QuoteNode_default = QuoteNode;
@@ -3340,11 +3387,11 @@ var QuoteNode_default = QuoteNode;
3340
3387
  // src/components/pageRenderingEngine/nodes/CodeNode.tsx
3341
3388
  import React39 from "react";
3342
3389
  import dynamic3 from "next/dynamic";
3343
- import { jsx as jsx51, jsxs as jsxs28 } from "react/jsx-runtime";
3390
+ import { jsx as jsx52, jsxs as jsxs29 } from "react/jsx-runtime";
3344
3391
  var CopyButton = dynamic3(() => import("./CopyButton-XONTQQW7.mjs"), {
3345
3392
  ssr: false,
3346
3393
  // optional: fallback UI while loading
3347
- loading: () => /* @__PURE__ */ jsx51("span", { className: "text-gray-400 text-xs", children: "Copy" })
3394
+ loading: () => /* @__PURE__ */ jsx52("span", { className: "text-gray-400 text-xs", children: "Copy" })
3348
3395
  });
3349
3396
  var CodeNode = (props) => {
3350
3397
  const NodeTypes2 = {
@@ -3358,14 +3405,14 @@ var CodeNode = (props) => {
3358
3405
  if (node.type === "link") return node.text || node.url || "";
3359
3406
  return "";
3360
3407
  }).join("") ?? "";
3361
- return /* @__PURE__ */ jsxs28("div", { children: [
3362
- /* @__PURE__ */ jsxs28("div", { className: "flex items-center relative bg-neutral-strong px-4 py-3 text-xs font-sans justify-between rounded-t-md ", children: [
3363
- /* @__PURE__ */ jsx51("span", { children: "Code Snippet" }),
3364
- /* @__PURE__ */ jsx51(CopyButton, { text: textContent })
3408
+ return /* @__PURE__ */ jsxs29("div", { children: [
3409
+ /* @__PURE__ */ jsxs29("div", { className: "flex items-center relative bg-neutral-strong px-4 py-3 text-xs font-sans justify-between rounded-t-md ", children: [
3410
+ /* @__PURE__ */ jsx52("span", { children: "Code Snippet" }),
3411
+ /* @__PURE__ */ jsx52(CopyButton, { text: textContent })
3365
3412
  ] }),
3366
- /* @__PURE__ */ jsx51("code", { className: "bg-neutral-soft p-4 text-sm whitespace-pre-wrap border border-2 block", children: props.node.children && props.node.children.map((node, index) => {
3413
+ /* @__PURE__ */ jsx52("code", { className: "bg-neutral-soft p-4 text-sm whitespace-pre-wrap border border-2 block", children: props.node.children && props.node.children.map((node, index) => {
3367
3414
  const SelectedNode = NodeTypes2[node.type];
3368
- return /* @__PURE__ */ jsx51(React39.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx51(
3415
+ return /* @__PURE__ */ jsx52(React39.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx52(
3369
3416
  SelectedNode,
3370
3417
  {
3371
3418
  node,
@@ -3380,15 +3427,15 @@ var CodeNode = (props) => {
3380
3427
  var CodeNode_default = CodeNode;
3381
3428
 
3382
3429
  // src/components/pageRenderingEngine/nodes/HorizontalRuleNode.tsx
3383
- import { jsx as jsx52 } from "react/jsx-runtime";
3430
+ import { jsx as jsx53 } from "react/jsx-runtime";
3384
3431
  var HorizontalRuleNode = () => {
3385
- return /* @__PURE__ */ jsx52("hr", {});
3432
+ return /* @__PURE__ */ jsx53("hr", {});
3386
3433
  };
3387
3434
  var HorizontalRuleNode_default = HorizontalRuleNode;
3388
3435
 
3389
3436
  // src/components/pageRenderingEngine/nodes/WidgetNode.tsx
3390
3437
  import React40 from "react";
3391
- import { Fragment as Fragment7, jsx as jsx53 } from "react/jsx-runtime";
3438
+ import { Fragment as Fragment7, jsx as jsx54 } from "react/jsx-runtime";
3392
3439
  var WidgetNode = (props) => {
3393
3440
  const getWidgetParameters = () => {
3394
3441
  const widgetInputParameters = {
@@ -3445,7 +3492,7 @@ var WidgetNode = (props) => {
3445
3492
  };
3446
3493
  const widgetCode = props.node?.widgetCode;
3447
3494
  if (!widgetCode) {
3448
- return /* @__PURE__ */ jsx53(Fragment7, { children: "Invalid widget" });
3495
+ return /* @__PURE__ */ jsx54(Fragment7, { children: "Invalid widget" });
3449
3496
  }
3450
3497
  const widgetParams = getWidgetParameters();
3451
3498
  const WidgetRenderer = props.widgetRenderer;
@@ -3454,7 +3501,7 @@ var WidgetNode = (props) => {
3454
3501
  }
3455
3502
  return (
3456
3503
  // eslint-disable-next-line react-hooks/static-components
3457
- /* @__PURE__ */ jsx53(React40.Fragment, { children: /* @__PURE__ */ jsx53(
3504
+ /* @__PURE__ */ jsx54(React40.Fragment, { children: /* @__PURE__ */ jsx54(
3458
3505
  WidgetRenderer,
3459
3506
  {
3460
3507
  params: widgetParams,
@@ -3474,9 +3521,9 @@ var WidgetNode_default = WidgetNode;
3474
3521
  import React41, { useRef as useRef3, useReducer as useReducer2, useCallback as useCallback3, useEffect as useEffect8 } from "react";
3475
3522
 
3476
3523
  // src/components/pageRenderingEngine/nodes/InputControlNode.tsx
3477
- import { jsx as jsx54 } from "react/jsx-runtime";
3524
+ import { jsx as jsx55 } from "react/jsx-runtime";
3478
3525
  var InputControlNode = (props) => {
3479
- return /* @__PURE__ */ jsx54("div", { children: /* @__PURE__ */ jsx54(
3526
+ return /* @__PURE__ */ jsx55("div", { children: /* @__PURE__ */ jsx55(
3480
3527
  InputControl_default,
3481
3528
  {
3482
3529
  name: props.node.name,
@@ -3505,7 +3552,7 @@ var InputControlNode = (props) => {
3505
3552
  var InputControlNode_default = InputControlNode;
3506
3553
 
3507
3554
  // src/components/pageRenderingEngine/nodes/FormContainerNode.tsx
3508
- import { jsx as jsx55, jsxs as jsxs29 } from "react/jsx-runtime";
3555
+ import { jsx as jsx56, jsxs as jsxs30 } from "react/jsx-runtime";
3509
3556
  var FormContainerNode = (props) => {
3510
3557
  const NodeTypes2 = {
3511
3558
  ["input-control"]: InputControlNode_default
@@ -3535,12 +3582,12 @@ var FormContainerNode = (props) => {
3535
3582
  };
3536
3583
  fetchInitialData();
3537
3584
  }, [props.apiBaseUrl, props.node, props.session, props.routeParameters]);
3538
- return /* @__PURE__ */ jsxs29("form", { className: "group space-y-6 pb-6 overflow-y-auto", noValidate: true, ref: formRef, children: [
3585
+ return /* @__PURE__ */ jsxs30("form", { className: "group space-y-6 pb-6 overflow-y-auto", noValidate: true, ref: formRef, children: [
3539
3586
  node.children && node.children.map((node2, index) => {
3540
3587
  {
3541
3588
  }
3542
3589
  const SelectedNode = NodeTypes2[node2.type];
3543
- return /* @__PURE__ */ jsx55(React41.Fragment, { children: SelectedNode && node2.type == "input-control" && /* @__PURE__ */ jsx55(
3590
+ return /* @__PURE__ */ jsx56(React41.Fragment, { children: SelectedNode && node2.type == "input-control" && /* @__PURE__ */ jsx56(
3544
3591
  InputControlNode_default,
3545
3592
  {
3546
3593
  value: formState.inputValues[node2.name],
@@ -3549,7 +3596,7 @@ var FormContainerNode = (props) => {
3549
3596
  }
3550
3597
  ) }, index);
3551
3598
  }),
3552
- node.children.length == 0 && /* @__PURE__ */ jsx55("div", { className: "py-0.5 lg:py-1.5" })
3599
+ node.children.length == 0 && /* @__PURE__ */ jsx56("div", { className: "py-0.5 lg:py-1.5" })
3553
3600
  ] });
3554
3601
  };
3555
3602
  var FormContainerNode_default = FormContainerNode;
@@ -3559,7 +3606,7 @@ import React44 from "react";
3559
3606
 
3560
3607
  // src/components/pageRenderingEngine/nodes/EmbedNode.tsx
3561
3608
  import dynamic4 from "next/dynamic";
3562
- import { jsx as jsx56 } from "react/jsx-runtime";
3609
+ import { jsx as jsx57 } from "react/jsx-runtime";
3563
3610
  var IframeClient = dynamic4(() => import("./IframeClient-J22NMEVY.mjs"), {
3564
3611
  ssr: false
3565
3612
  });
@@ -3572,13 +3619,13 @@ var EmbedNode = (props) => {
3572
3619
  } else {
3573
3620
  src = props.node.embedSrc;
3574
3621
  }
3575
- return /* @__PURE__ */ jsx56("div", { className: "aspect-video", children: src && /* @__PURE__ */ jsx56(IframeClient, { src }) });
3622
+ return /* @__PURE__ */ jsx57("div", { className: "aspect-video", children: src && /* @__PURE__ */ jsx57(IframeClient, { src }) });
3576
3623
  };
3577
3624
  var EmbedNode_default = EmbedNode;
3578
3625
 
3579
3626
  // src/components/Slider.tsx
3580
3627
  import React42, { useState as useState7, useEffect as useEffect9, Children, cloneElement } from "react";
3581
- import { Fragment as Fragment8, jsx as jsx57, jsxs as jsxs30 } from "react/jsx-runtime";
3628
+ import { Fragment as Fragment8, jsx as jsx58, jsxs as jsxs31 } from "react/jsx-runtime";
3582
3629
  var Slider = ({
3583
3630
  children,
3584
3631
  slidesToShow = 4,
@@ -3675,7 +3722,7 @@ var Slider = ({
3675
3722
  if (!React42.isValidElement(child)) return null;
3676
3723
  const childProps = child.props;
3677
3724
  const mergedClassName = `${childProps.className ?? ""} w-full`.trim();
3678
- return /* @__PURE__ */ jsx57(
3725
+ return /* @__PURE__ */ jsx58(
3679
3726
  "div",
3680
3727
  {
3681
3728
  className: `flex-none ${scaleOnHover ? "group hover:z-50" : ""} relative`,
@@ -3698,14 +3745,14 @@ var Slider = ({
3698
3745
  return "bottom-4";
3699
3746
  }
3700
3747
  };
3701
- return /* @__PURE__ */ jsxs30(
3748
+ return /* @__PURE__ */ jsxs31(
3702
3749
  "div",
3703
3750
  {
3704
3751
  className: `relative w-full overflow-hidden ${className}`,
3705
3752
  onMouseEnter: handleMouseEnter,
3706
3753
  onMouseLeave: handleMouseLeave,
3707
3754
  children: [
3708
- /* @__PURE__ */ jsx57(
3755
+ /* @__PURE__ */ jsx58(
3709
3756
  "div",
3710
3757
  {
3711
3758
  className: "flex h-full",
@@ -3716,18 +3763,18 @@ var Slider = ({
3716
3763
  children: slides
3717
3764
  }
3718
3765
  ),
3719
- show_arrows && /* @__PURE__ */ jsxs30(Fragment8, { children: [
3720
- /* @__PURE__ */ jsx57(
3766
+ show_arrows && /* @__PURE__ */ jsxs31(Fragment8, { children: [
3767
+ /* @__PURE__ */ jsx58(
3721
3768
  ArrowButton,
3722
3769
  {
3723
3770
  direction: "left",
3724
3771
  onClick: prevSlide,
3725
3772
  visible: infinite_scroll || currentSlide > 0,
3726
3773
  className: arrowClassName,
3727
- children: /* @__PURE__ */ jsx57("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: "w-6 h-6", children: /* @__PURE__ */ jsx57("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 19.5 8.25 12l7.5-7.5" }) })
3774
+ children: /* @__PURE__ */ jsx58("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: "w-6 h-6", children: /* @__PURE__ */ jsx58("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 19.5 8.25 12l7.5-7.5" }) })
3728
3775
  }
3729
3776
  ),
3730
- /* @__PURE__ */ jsxs30(
3777
+ /* @__PURE__ */ jsxs31(
3731
3778
  ArrowButton,
3732
3779
  {
3733
3780
  direction: "right",
@@ -3735,13 +3782,13 @@ var Slider = ({
3735
3782
  visible: infinite_scroll || currentSlide < maxSlide,
3736
3783
  className: arrowClassName,
3737
3784
  children: [
3738
- /* @__PURE__ */ jsx57("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: "w-6 h-6", children: /* @__PURE__ */ jsx57("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m8.25 4.5 7.5 7.5-7.5 7.5" }) }),
3785
+ /* @__PURE__ */ jsx58("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: "w-6 h-6", children: /* @__PURE__ */ jsx58("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m8.25 4.5 7.5 7.5-7.5 7.5" }) }),
3739
3786
  " "
3740
3787
  ]
3741
3788
  }
3742
3789
  )
3743
3790
  ] }),
3744
- show_dots && /* @__PURE__ */ jsx57("div", { className: `absolute left-1/2 -translate-x-1/2 flex justify-center space-x-1.5 ${getProgressPositionClass()}`, children: Array.from({ length: totalSlides }).map((_, index) => /* @__PURE__ */ jsx57(
3791
+ show_dots && /* @__PURE__ */ jsx58("div", { className: `absolute left-1/2 -translate-x-1/2 flex justify-center space-x-1.5 ${getProgressPositionClass()}`, children: Array.from({ length: totalSlides }).map((_, index) => /* @__PURE__ */ jsx58(
3745
3792
  ProgressPill,
3746
3793
  {
3747
3794
  active: index === currentSlide,
@@ -3767,7 +3814,7 @@ var ArrowButton = ({
3767
3814
  visible,
3768
3815
  children,
3769
3816
  className = ""
3770
- }) => /* @__PURE__ */ jsx57(
3817
+ }) => /* @__PURE__ */ jsx58(
3771
3818
  "button",
3772
3819
  {
3773
3820
  className: `
@@ -3854,7 +3901,7 @@ var ProgressPill = ({
3854
3901
  const renderProgressBar = () => {
3855
3902
  if (style === "modern" && isActive || style === "cumulative" && shouldShowProgress) {
3856
3903
  const displayProgress = style === "cumulative" && isFilled ? 100 : progress;
3857
- return /* @__PURE__ */ jsx57(
3904
+ return /* @__PURE__ */ jsx58(
3858
3905
  "div",
3859
3906
  {
3860
3907
  className: `absolute top-0 left-0 h-full rounded-full ${style === "cumulative" && isFilled ? activeClassName || "bg-white" : activeClassName || "bg-white"} transition-all duration-50 ease-linear`,
@@ -3866,7 +3913,7 @@ var ProgressPill = ({
3866
3913
  };
3867
3914
  const renderCumulativeFill = () => {
3868
3915
  if (style === "cumulative" && isFilled && !isActive) {
3869
- return /* @__PURE__ */ jsx57(
3916
+ return /* @__PURE__ */ jsx58(
3870
3917
  "div",
3871
3918
  {
3872
3919
  className: `absolute top-0 left-0 h-full rounded-full ${activeClassName || "bg-white"} transition-all duration-300`,
@@ -3876,7 +3923,7 @@ var ProgressPill = ({
3876
3923
  }
3877
3924
  return null;
3878
3925
  };
3879
- return /* @__PURE__ */ jsxs30(
3926
+ return /* @__PURE__ */ jsxs31(
3880
3927
  "button",
3881
3928
  {
3882
3929
  className: `${baseClasses} ${getStyleClasses()}`,
@@ -4052,10 +4099,10 @@ var PathUtility = class {
4052
4099
  var PathUtility_default = new PathUtility();
4053
4100
 
4054
4101
  // src/components/NoDataFound.tsx
4055
- import { jsx as jsx58, jsxs as jsxs31 } from "react/jsx-runtime";
4102
+ import { jsx as jsx59, jsxs as jsxs32 } from "react/jsx-runtime";
4056
4103
  var NoDataFound = () => {
4057
- return /* @__PURE__ */ jsxs31("div", { className: "flex flex-col items-center justify-center py-12 px-4 text-center bg-neutral-weak", children: [
4058
- /* @__PURE__ */ jsx58("div", { className: "mb-5", children: /* @__PURE__ */ jsx58("div", { className: "mx-auto w-20 h-20 rounded-full flex items-center justify-center bg-neutral-soft", children: /* @__PURE__ */ jsx58(
4104
+ return /* @__PURE__ */ jsxs32("div", { className: "flex flex-col items-center justify-center py-12 px-4 text-center bg-neutral-weak", children: [
4105
+ /* @__PURE__ */ jsx59("div", { className: "mb-5", children: /* @__PURE__ */ jsx59("div", { className: "mx-auto w-20 h-20 rounded-full flex items-center justify-center bg-neutral-soft", children: /* @__PURE__ */ jsx59(
4059
4106
  "svg",
4060
4107
  {
4061
4108
  className: "w-10 h-10",
@@ -4063,7 +4110,7 @@ var NoDataFound = () => {
4063
4110
  stroke: "currentColor",
4064
4111
  viewBox: "0 0 24 24",
4065
4112
  xmlns: "http://www.w3.org/2000/svg",
4066
- children: /* @__PURE__ */ jsx58(
4113
+ children: /* @__PURE__ */ jsx59(
4067
4114
  "path",
4068
4115
  {
4069
4116
  strokeLinecap: "round",
@@ -4074,15 +4121,15 @@ var NoDataFound = () => {
4074
4121
  )
4075
4122
  }
4076
4123
  ) }) }),
4077
- /* @__PURE__ */ jsx58("h3", { className: "text-lg font-medium mb-2", children: "No data available" }),
4078
- /* @__PURE__ */ jsx58("p", { className: " max-w-sm mb-0", children: "No records found. Data may be empty or not available at the moment." })
4124
+ /* @__PURE__ */ jsx59("h3", { className: "text-lg font-medium mb-2", children: "No data available" }),
4125
+ /* @__PURE__ */ jsx59("p", { className: " max-w-sm mb-0", children: "No records found. Data may be empty or not available at the moment." })
4079
4126
  ] });
4080
4127
  };
4081
4128
  var NoDataFound_default = NoDataFound;
4082
4129
 
4083
4130
  // src/components/Pagination.tsx
4084
4131
  import { useMemo } from "react";
4085
- import { jsx as jsx59, jsxs as jsxs32 } from "react/jsx-runtime";
4132
+ import { jsx as jsx60, jsxs as jsxs33 } from "react/jsx-runtime";
4086
4133
  var Pagination = (props) => {
4087
4134
  const { dataset, path, query, showPageSizeSelector = false, showJumpToPage = false } = props;
4088
4135
  const builder = useMemo(() => {
@@ -4126,7 +4173,7 @@ var Pagination = (props) => {
4126
4173
  return range;
4127
4174
  };
4128
4175
  const paginationRange = getPaginationRange();
4129
- const PageButton = ({ page, children }) => /* @__PURE__ */ jsx59(
4176
+ const PageButton = ({ page, children }) => /* @__PURE__ */ jsx60(
4130
4177
  Hyperlink,
4131
4178
  {
4132
4179
  linkType: "Link" /* Link */,
@@ -4141,9 +4188,9 @@ var Pagination = (props) => {
4141
4188
  );
4142
4189
  const NavigationButton = ({ page, disabled, children }) => {
4143
4190
  if (disabled) {
4144
- return /* @__PURE__ */ jsx59("span", { className: "min-w-[20px] md:min-w-[40px] h-10 flex items-center justify-center px-2 md:px-3 border bg-neutral-base cursor-not-allowed", children });
4191
+ return /* @__PURE__ */ jsx60("span", { className: "min-w-[20px] md:min-w-[40px] h-10 flex items-center justify-center px-2 md:px-3 border bg-neutral-base cursor-not-allowed", children });
4145
4192
  }
4146
- return /* @__PURE__ */ jsx59(
4193
+ return /* @__PURE__ */ jsx60(
4147
4194
  Hyperlink,
4148
4195
  {
4149
4196
  className: "min-w-[20px] md:min-w-[40px] h-10 flex items-center justify-center px-2 md:px-3 border transition-colors duration-150",
@@ -4153,35 +4200,35 @@ var Pagination = (props) => {
4153
4200
  );
4154
4201
  };
4155
4202
  if (totalPages <= 1 && totalItems === 0) return null;
4156
- return /* @__PURE__ */ jsxs32("div", { className: "py-6 border-t bg-default", children: [
4157
- /* @__PURE__ */ jsxs32("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4", children: [
4158
- /* @__PURE__ */ jsxs32("div", { className: "text-sm", children: [
4203
+ return /* @__PURE__ */ jsxs33("div", { className: "py-6 border-t bg-default", children: [
4204
+ /* @__PURE__ */ jsxs33("div", { className: "flex flex-col sm:flex-row items-center justify-between gap-4", children: [
4205
+ /* @__PURE__ */ jsxs33("div", { className: "text-sm", children: [
4159
4206
  "Showing ",
4160
- /* @__PURE__ */ jsxs32("span", { className: "font-semibold", children: [
4207
+ /* @__PURE__ */ jsxs33("span", { className: "font-semibold", children: [
4161
4208
  startItem,
4162
4209
  "-",
4163
4210
  endItem
4164
4211
  ] }),
4165
4212
  " ",
4166
4213
  "out of ",
4167
- /* @__PURE__ */ jsx59("span", { className: "font-semibold", children: totalItems.toLocaleString() }),
4214
+ /* @__PURE__ */ jsx60("span", { className: "font-semibold", children: totalItems.toLocaleString() }),
4168
4215
  " results"
4169
4216
  ] }),
4170
- totalPages > 1 && /* @__PURE__ */ jsxs32("div", { className: "flex items-center space-x-1", children: [
4171
- /* @__PURE__ */ jsxs32(
4217
+ totalPages > 1 && /* @__PURE__ */ jsxs33("div", { className: "flex items-center space-x-1", children: [
4218
+ /* @__PURE__ */ jsxs33(
4172
4219
  NavigationButton,
4173
4220
  {
4174
4221
  page: activePageNumber - 1,
4175
4222
  disabled: activePageNumber === 1,
4176
4223
  children: [
4177
- /* @__PURE__ */ jsx59("span", { children: /* @__PURE__ */ jsx59(Icon_default, { name: "chevronLeft", className: "w-4 h-4 mr-1" }) }),
4178
- /* @__PURE__ */ jsx59("span", { className: "text-sm", children: "Prev" })
4224
+ /* @__PURE__ */ jsx60("span", { children: /* @__PURE__ */ jsx60(Icon_default, { name: "chevronLeft", className: "w-4 h-4 mr-1" }) }),
4225
+ /* @__PURE__ */ jsx60("span", { className: "text-sm", children: "Prev" })
4179
4226
  ]
4180
4227
  }
4181
4228
  ),
4182
4229
  paginationRange.map((item, index) => {
4183
4230
  if (item === "...") {
4184
- return /* @__PURE__ */ jsx59(
4231
+ return /* @__PURE__ */ jsx60(
4185
4232
  "span",
4186
4233
  {
4187
4234
  className: "min-w-[20px] md:min-w-[40px] h-10 flex items-center justify-center text-gray-500",
@@ -4191,23 +4238,23 @@ var Pagination = (props) => {
4191
4238
  );
4192
4239
  }
4193
4240
  const page = item;
4194
- return /* @__PURE__ */ jsx59(PageButton, { page, children: page }, page);
4241
+ return /* @__PURE__ */ jsx60(PageButton, { page, children: page }, page);
4195
4242
  }),
4196
- /* @__PURE__ */ jsxs32(
4243
+ /* @__PURE__ */ jsxs33(
4197
4244
  NavigationButton,
4198
4245
  {
4199
4246
  page: activePageNumber + 1,
4200
4247
  disabled: activePageNumber === totalPages,
4201
4248
  children: [
4202
- /* @__PURE__ */ jsx59("span", { className: "text-sm", children: "Next" }),
4203
- /* @__PURE__ */ jsx59("span", { children: /* @__PURE__ */ jsx59(Icon_default, { name: "chevronRight", className: "w-4 h-4 ml-1" }) })
4249
+ /* @__PURE__ */ jsx60("span", { className: "text-sm", children: "Next" }),
4250
+ /* @__PURE__ */ jsx60("span", { children: /* @__PURE__ */ jsx60(Icon_default, { name: "chevronRight", className: "w-4 h-4 ml-1" }) })
4204
4251
  ]
4205
4252
  }
4206
4253
  )
4207
4254
  ] }),
4208
- showJumpToPage && totalPages > 5 && /* @__PURE__ */ jsxs32("div", { className: "flex items-center space-x-2", children: [
4209
- /* @__PURE__ */ jsx59("span", { className: "text-sm", children: "Go to:" }),
4210
- /* @__PURE__ */ jsx59("div", { className: "relative", children: /* @__PURE__ */ jsx59(
4255
+ showJumpToPage && totalPages > 5 && /* @__PURE__ */ jsxs33("div", { className: "flex items-center space-x-2", children: [
4256
+ /* @__PURE__ */ jsx60("span", { className: "text-sm", children: "Go to:" }),
4257
+ /* @__PURE__ */ jsx60("div", { className: "relative", children: /* @__PURE__ */ jsx60(
4211
4258
  "input",
4212
4259
  {
4213
4260
  type: "number",
@@ -4228,9 +4275,9 @@ var Pagination = (props) => {
4228
4275
  ) })
4229
4276
  ] })
4230
4277
  ] }),
4231
- showPageSizeSelector && /* @__PURE__ */ jsx59("div", { className: "mt-4 pt-4 border-t bg-default", children: /* @__PURE__ */ jsxs32("div", { className: "flex items-center justify-center space-x-2", children: [
4232
- /* @__PURE__ */ jsx59("span", { className: "text-sm", children: "Show:" }),
4233
- /* @__PURE__ */ jsx59("div", { className: "flex space-x-1", children: [10, 25, 50, 100].map((size) => /* @__PURE__ */ jsx59(
4278
+ showPageSizeSelector && /* @__PURE__ */ jsx60("div", { className: "mt-4 pt-4 border-t bg-default", children: /* @__PURE__ */ jsxs33("div", { className: "flex items-center justify-center space-x-2", children: [
4279
+ /* @__PURE__ */ jsx60("span", { className: "text-sm", children: "Show:" }),
4280
+ /* @__PURE__ */ jsx60("div", { className: "flex space-x-1", children: [10, 25, 50, 100].map((size) => /* @__PURE__ */ jsx60(
4234
4281
  Hyperlink,
4235
4282
  {
4236
4283
  className: `
@@ -4242,7 +4289,7 @@ var Pagination = (props) => {
4242
4289
  },
4243
4290
  size
4244
4291
  )) }),
4245
- /* @__PURE__ */ jsx59("span", { className: "text-sm", children: "per page" })
4292
+ /* @__PURE__ */ jsx60("span", { className: "text-sm", children: "per page" })
4246
4293
  ] }) })
4247
4294
  ] });
4248
4295
  };
@@ -4250,7 +4297,7 @@ var Pagination_default = Pagination;
4250
4297
 
4251
4298
  // src/components/pageRenderingEngine/nodes/ImageGalleryNode.tsx
4252
4299
  import dynamic5 from "next/dynamic";
4253
- import { Fragment as Fragment9, jsx as jsx60, jsxs as jsxs33 } from "react/jsx-runtime";
4300
+ import { Fragment as Fragment9, jsx as jsx61, jsxs as jsxs34 } from "react/jsx-runtime";
4254
4301
  var HlsPlayer2 = dynamic5(() => import("./HlsPlayer-GV3FOPYT.mjs"), { ssr: false });
4255
4302
  var deviceToMediaQuery = (device) => {
4256
4303
  switch (device) {
@@ -4319,8 +4366,8 @@ var ImageGalleryNode = (props) => {
4319
4366
  right: "justify-end"
4320
4367
  };
4321
4368
  const formatClasses = FormatClass[props.node.format || ""] || "";
4322
- return /* @__PURE__ */ jsxs33(Fragment9, { children: [
4323
- hlsSources.length > 0 && /* @__PURE__ */ jsx60(Fragment9, { children: /* @__PURE__ */ jsx60(
4369
+ return /* @__PURE__ */ jsxs34(Fragment9, { children: [
4370
+ hlsSources.length > 0 && /* @__PURE__ */ jsx61(Fragment9, { children: /* @__PURE__ */ jsx61(
4324
4371
  HlsPlayer2,
4325
4372
  {
4326
4373
  sources: hlsSources,
@@ -4334,14 +4381,14 @@ var ImageGalleryNode = (props) => {
4334
4381
  session: props.session
4335
4382
  }
4336
4383
  ) }),
4337
- staticFallback && /* @__PURE__ */ jsx60(Fragment9, { children: /* @__PURE__ */ jsxs33("picture", { children: [
4384
+ staticFallback && /* @__PURE__ */ jsx61(Fragment9, { children: /* @__PURE__ */ jsxs34("picture", { children: [
4338
4385
  DEVICE_ORDER.map((deviceKey) => {
4339
4386
  const match = staticSources.find((img) => img.device === deviceKey);
4340
4387
  if (!match) return null;
4341
4388
  const srcUrl = resolveImageUrl(match.imageUrl);
4342
4389
  if (!srcUrl) return null;
4343
4390
  const mediaQuery = deviceToMediaQuery(match.device);
4344
- return /* @__PURE__ */ jsx60(
4391
+ return /* @__PURE__ */ jsx61(
4345
4392
  "source",
4346
4393
  {
4347
4394
  media: mediaQuery,
@@ -4365,7 +4412,7 @@ var ImageGalleryNode = (props) => {
4365
4412
  if (img.borderRadius) styles.borderRadius = img.borderRadius;
4366
4413
  return (
4367
4414
  // eslint-disable-next-line @next/next/no-img-element
4368
- /* @__PURE__ */ jsx60(
4415
+ /* @__PURE__ */ jsx61(
4369
4416
  "img",
4370
4417
  {
4371
4418
  loading: "lazy",
@@ -4385,8 +4432,8 @@ var ImageGalleryNode = (props) => {
4385
4432
  var ImageGalleryNode_default = ImageGalleryNode;
4386
4433
 
4387
4434
  // src/components/pageRenderingEngine/nodes/DivContainer.tsx
4388
- import Link2 from "next/link";
4389
- import { jsx as jsx61, jsxs as jsxs34 } from "react/jsx-runtime";
4435
+ import Link3 from "next/link";
4436
+ import { jsx as jsx62, jsxs as jsxs35 } from "react/jsx-runtime";
4390
4437
  function toCamelCase(str) {
4391
4438
  return str.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
4392
4439
  }
@@ -4591,7 +4638,7 @@ var DivContainer = async (props) => {
4591
4638
  response = await serviceClient.get(endpoint);
4592
4639
  result = response?.result;
4593
4640
  if (dataBindingProperties.showNoResultsMessage && (result === void 0 || result.length == 0)) {
4594
- return /* @__PURE__ */ jsx61(NoDataFound_default, {});
4641
+ return /* @__PURE__ */ jsx62(NoDataFound_default, {});
4595
4642
  }
4596
4643
  if (dataBindingProperties.childCollectionName && props.dataitem) {
4597
4644
  childCollectionData = getNestedValue2(props.dataitem, dataBindingProperties.childCollectionName);
@@ -4608,7 +4655,7 @@ var DivContainer = async (props) => {
4608
4655
  }
4609
4656
  const SelectedNode = NodeTypes2[node.type];
4610
4657
  if (!SelectedNode) return null;
4611
- return /* @__PURE__ */ jsx61(React44.Fragment, { children: /* @__PURE__ */ jsx61(
4658
+ return /* @__PURE__ */ jsx62(React44.Fragment, { children: /* @__PURE__ */ jsx62(
4612
4659
  SelectedNode,
4613
4660
  {
4614
4661
  node,
@@ -4678,7 +4725,7 @@ var DivContainer = async (props) => {
4678
4725
  wrapperProps = { ...props.node.componentProperties, "slidesToShow": slidesToShow };
4679
4726
  break;
4680
4727
  case !!(props.node.href || props.href):
4681
- Wrapper = Link2;
4728
+ Wrapper = Link3;
4682
4729
  let href = props.node.href || props.href;
4683
4730
  if (href?.includes("{")) {
4684
4731
  href = resolveHrefTemplate(href, props.dataitem);
@@ -4710,9 +4757,9 @@ var DivContainer = async (props) => {
4710
4757
  props.node.autoFormat && "auto-format",
4711
4758
  props.node.bgClass
4712
4759
  ].filter(Boolean).join(" ");
4713
- return /* @__PURE__ */ jsxs34(React44.Fragment, { children: [
4714
- /* @__PURE__ */ jsx61("style", { dangerouslySetInnerHTML: { __html: cssResult.css + animationCSS } }),
4715
- /* @__PURE__ */ jsx61(React44.Fragment, { children: /* @__PURE__ */ jsx61(
4760
+ return /* @__PURE__ */ jsxs35(React44.Fragment, { children: [
4761
+ /* @__PURE__ */ jsx62("style", { dangerouslySetInnerHTML: { __html: cssResult.css + animationCSS } }),
4762
+ /* @__PURE__ */ jsx62(React44.Fragment, { children: /* @__PURE__ */ jsx62(
4716
4763
  Wrapper,
4717
4764
  {
4718
4765
  id: guid,
@@ -4721,18 +4768,18 @@ var DivContainer = async (props) => {
4721
4768
  ...wrapperProps,
4722
4769
  children: dataToRender.map(
4723
4770
  (item, idx) => item?.links?.view && renderLink ? renderChildren(props.node.children, props, item, idx, props.href ? void 0 : item?.links?.view)?.map(
4724
- (child, i) => /* @__PURE__ */ jsx61(React44.Fragment, { children: child }, i)
4771
+ (child, i) => /* @__PURE__ */ jsx62(React44.Fragment, { children: child }, i)
4725
4772
  ) : renderChildren(props.node.children, props, item, idx)
4726
4773
  )
4727
4774
  }
4728
4775
  ) }),
4729
- dataBindingProperties && props.node.dataBinding.enablePagination && /* @__PURE__ */ jsx61("div", { children: /* @__PURE__ */ jsx61(Pagination_default, { path: props.path, query: props.query, dataset: response }) })
4776
+ dataBindingProperties && props.node.dataBinding.enablePagination && /* @__PURE__ */ jsx62("div", { children: /* @__PURE__ */ jsx62(Pagination_default, { path: props.path, query: props.query, dataset: response }) })
4730
4777
  ] });
4731
4778
  };
4732
4779
  var DivContainer_default = DivContainer;
4733
4780
 
4734
4781
  // src/components/pageRenderingEngine/PageBodyRenderer.tsx
4735
- import { jsx as jsx62 } from "react/jsx-runtime";
4782
+ import { jsx as jsx63 } from "react/jsx-runtime";
4736
4783
  var NodeTypes = {
4737
4784
  ["paragraph"]: ParagraphNode_default,
4738
4785
  ["heading"]: HeadingNode_default,
@@ -4760,11 +4807,11 @@ var PageBodyRenderer = (props) => {
4760
4807
  if (pageBodyTree && pageBodyTree.root) {
4761
4808
  rootNode = pageBodyTree.root;
4762
4809
  }
4763
- return /* @__PURE__ */ jsx62(React45.Fragment, { children: rootNode && rootNode?.children?.map((node, index) => {
4810
+ return /* @__PURE__ */ jsx63(React45.Fragment, { children: rootNode && rootNode?.children?.map((node, index) => {
4764
4811
  {
4765
4812
  }
4766
4813
  const SelectedNode = NodeTypes[node.type];
4767
- return /* @__PURE__ */ jsx62(React45.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx62(React45.Fragment, { children: node.type == "layout-container" ? /* @__PURE__ */ jsx62(React45.Fragment, { children: /* @__PURE__ */ jsx62(
4814
+ return /* @__PURE__ */ jsx63(React45.Fragment, { children: SelectedNode && /* @__PURE__ */ jsx63(React45.Fragment, { children: node.type == "layout-container" ? /* @__PURE__ */ jsx63(React45.Fragment, { children: /* @__PURE__ */ jsx63(
4768
4815
  SelectedNode,
4769
4816
  {
4770
4817
  node,
@@ -4780,7 +4827,7 @@ var PageBodyRenderer = (props) => {
4780
4827
  device: props.device,
4781
4828
  widgetRenderer: props.widgetRenderer
4782
4829
  }
4783
- ) }) : /* @__PURE__ */ jsx62(React45.Fragment, { children: /* @__PURE__ */ jsx62(
4830
+ ) }) : /* @__PURE__ */ jsx63(React45.Fragment, { children: /* @__PURE__ */ jsx63(
4784
4831
  SelectedNode,
4785
4832
  {
4786
4833
  node,
@@ -4802,7 +4849,7 @@ var PageBodyRenderer_default = PageBodyRenderer;
4802
4849
 
4803
4850
  // src/components/Toast.tsx
4804
4851
  import { useState as useState9 } from "react";
4805
- import { Fragment as Fragment10, jsx as jsx63, jsxs as jsxs35 } from "react/jsx-runtime";
4852
+ import { Fragment as Fragment10, jsx as jsx64, jsxs as jsxs36 } from "react/jsx-runtime";
4806
4853
  var Toast = () => {
4807
4854
  const [showToast, setShowToast] = useState9(false);
4808
4855
  const [message, setMessage] = useState9("");
@@ -4845,8 +4892,8 @@ var Toast = () => {
4845
4892
  const closeToast = () => {
4846
4893
  setShowToast(false);
4847
4894
  };
4848
- return /* @__PURE__ */ jsx63(Fragment10, { children: showToast && /* @__PURE__ */ jsx63("div", { className: "fixed top-2 flex justify-center w-1/2 max-w-xl left-1/2 -translate-x-1/2", style: { zIndex: 1e3 }, children: /* @__PURE__ */ jsxs35("div", { className: `w-full items-center flex justify-between p-3 rounded-md relative shadow border bg-${messageType}-soft`, children: [
4849
- /* @__PURE__ */ jsx63(
4895
+ return /* @__PURE__ */ jsx64(Fragment10, { children: showToast && /* @__PURE__ */ jsx64("div", { className: "fixed top-2 flex justify-center w-1/2 max-w-xl left-1/2 -translate-x-1/2", style: { zIndex: 1e3 }, children: /* @__PURE__ */ jsxs36("div", { className: `w-full items-center flex justify-between p-3 rounded-md relative shadow border bg-${messageType}-soft`, children: [
4896
+ /* @__PURE__ */ jsx64(
4850
4897
  "span",
4851
4898
  {
4852
4899
  className: "font-medium text-inherit text-sm",
@@ -4854,7 +4901,7 @@ var Toast = () => {
4854
4901
  children: message
4855
4902
  }
4856
4903
  ),
4857
- /* @__PURE__ */ jsx63("button", { className: "absolute right-2 top-2 ml-2 focus:outline-none", onClick: closeToast, children: /* @__PURE__ */ jsx63(
4904
+ /* @__PURE__ */ jsx64("button", { className: "absolute right-2 top-2 ml-2 focus:outline-none", onClick: closeToast, children: /* @__PURE__ */ jsx64(
4858
4905
  "svg",
4859
4906
  {
4860
4907
  xmlns: "http://www.w3.org/2000/svg",
@@ -4862,53 +4909,12 @@ var Toast = () => {
4862
4909
  fill: "none",
4863
4910
  viewBox: "0 0 24 24",
4864
4911
  stroke: "currentColor",
4865
- children: /* @__PURE__ */ jsx63("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M6 18L18 6M6 6l12 12" })
4912
+ children: /* @__PURE__ */ jsx64("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M6 18L18 6M6 6l12 12" })
4866
4913
  }
4867
4914
  ) })
4868
4915
  ] }) }) });
4869
4916
  };
4870
4917
  var Toast_default = Toast;
4871
-
4872
- // src/components/NavigationTabsV2.tsx
4873
- import Link3 from "next/link";
4874
- import { usePathname as usePathname2 } from "next/navigation";
4875
- import { jsx as jsx64 } from "react/jsx-runtime";
4876
- function resolveRoutePlaceholders2(route, params) {
4877
- return route.replace(/\{([^}]+)\}/g, (match, key) => {
4878
- const value = params[key];
4879
- if (value === void 0 || value === null) {
4880
- console.warn(`No value found for route param: ${key}`);
4881
- return "";
4882
- }
4883
- return value;
4884
- });
4885
- }
4886
- var NavigationTabsV2 = ({ tabs, params = {} }) => {
4887
- const pathname = usePathname2();
4888
- const shouldHideTabs = pathname?.includes("/add");
4889
- if (shouldHideTabs) return null;
4890
- const mappedTabs = tabs?.sort((a, b) => a.displayOrder - b.displayOrder)?.map((tab) => ({
4891
- tabTitle: tab.tabTitle,
4892
- displayOrder: tab.displayOrder,
4893
- landingPageUrl: resolveRoutePlaceholders2(
4894
- tab.landingPageUrl,
4895
- params
4896
- ),
4897
- isActive: tab.isActive
4898
- })) || [];
4899
- if (mappedTabs.length === 0) return null;
4900
- return /* @__PURE__ */ jsx64("div", { className: "flex border-b bg-white rounded-t mb-3", children: mappedTabs.map(({ tabTitle, landingPageUrl, isActive }) => {
4901
- return /* @__PURE__ */ jsx64(Link3, { href: landingPageUrl, className: "-mb-px", children: /* @__PURE__ */ jsx64(
4902
- "div",
4903
- {
4904
- className: `text-sm font-medium border-b-2 px-6 py-2 transition
4905
- ${isActive ? "bg-info-base" : "bg-neutral-weak "}`,
4906
- children: tabTitle
4907
- }
4908
- ) }, landingPageUrl);
4909
- }) });
4910
- };
4911
- var NavigationTabsV2_default = NavigationTabsV2;
4912
4918
  export {
4913
4919
  BooleanSelect_default as BooleanSelect,
4914
4920
  CheckboxInput_default as CheckboxInput,