geoiq-frontend-ui-kit 1.7.7 → 1.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/components/organisms/navbar/navbar-extended.d.ts.map +1 -1
  2. package/dist/components/ui/report-snippet-view/report-snippet-view.d.ts.map +1 -1
  3. package/dist/components/ui/report-snippet-view/report-snippet-view.types.d.ts +4 -0
  4. package/dist/components/ui/report-snippet-view/report-snippet-view.types.d.ts.map +1 -1
  5. package/dist/index.es100.js +9 -86
  6. package/dist/index.es100.js.map +1 -1
  7. package/dist/index.es101.js +32 -9
  8. package/dist/index.es101.js.map +1 -1
  9. package/dist/index.es102.js +270 -19
  10. package/dist/index.es102.js.map +1 -1
  11. package/dist/index.es103.js +71 -20
  12. package/dist/index.es103.js.map +1 -1
  13. package/dist/index.es104.js +32 -44
  14. package/dist/index.es104.js.map +1 -1
  15. package/dist/index.es105.js +62 -33
  16. package/dist/index.es105.js.map +1 -1
  17. package/dist/index.es106.js +21 -18
  18. package/dist/index.es106.js.map +1 -1
  19. package/dist/index.es107.js +45 -16
  20. package/dist/index.es107.js.map +1 -1
  21. package/dist/index.es108.js +42 -12
  22. package/dist/index.es108.js.map +1 -1
  23. package/dist/index.es109.js +37 -98
  24. package/dist/index.es109.js.map +1 -1
  25. package/dist/index.es11.js +1 -1
  26. package/dist/index.es110.js +24 -63
  27. package/dist/index.es110.js.map +1 -1
  28. package/dist/index.es111.js +8 -54
  29. package/dist/index.es111.js.map +1 -1
  30. package/dist/index.es112.js +67 -10
  31. package/dist/index.es112.js.map +1 -1
  32. package/dist/index.es113.js +183 -47
  33. package/dist/index.es113.js.map +1 -1
  34. package/dist/index.es114.js +23 -37
  35. package/dist/index.es114.js.map +1 -1
  36. package/dist/index.es115.js +176 -13
  37. package/dist/index.es115.js.map +1 -1
  38. package/dist/index.es116.js +31 -30
  39. package/dist/index.es116.js.map +1 -1
  40. package/dist/index.es117.js +18 -61
  41. package/dist/index.es117.js.map +1 -1
  42. package/dist/index.es118.js +20 -25
  43. package/dist/index.es118.js.map +1 -1
  44. package/dist/index.es119.js +10 -7
  45. package/dist/index.es119.js.map +1 -1
  46. package/dist/index.es12.js +1 -1
  47. package/dist/index.es120.js +94 -64
  48. package/dist/index.es120.js.map +1 -1
  49. package/dist/index.es121.js +58 -179
  50. package/dist/index.es121.js.map +1 -1
  51. package/dist/index.es122.js +55 -23
  52. package/dist/index.es122.js.map +1 -1
  53. package/dist/index.es123.js +43 -177
  54. package/dist/index.es123.js.map +1 -1
  55. package/dist/index.es124.js +181 -22
  56. package/dist/index.es124.js.map +1 -1
  57. package/dist/index.es125.js +21 -12
  58. package/dist/index.es125.js.map +1 -1
  59. package/dist/index.es126.js +10 -42
  60. package/dist/index.es126.js.map +1 -1
  61. package/dist/index.es127.js +12 -21
  62. package/dist/index.es127.js.map +1 -1
  63. package/dist/index.es128.js +5 -12
  64. package/dist/index.es128.js.map +1 -1
  65. package/dist/index.es129.js +11 -5
  66. package/dist/index.es129.js.map +1 -1
  67. package/dist/index.es130.js +10 -10
  68. package/dist/index.es130.js.map +1 -1
  69. package/dist/index.es131.js +2 -11
  70. package/dist/index.es131.js.map +1 -1
  71. package/dist/index.es132.js +44 -2
  72. package/dist/index.es132.js.map +1 -1
  73. package/dist/index.es135.js +2 -2
  74. package/dist/index.es136.js +1 -1
  75. package/dist/index.es137.js +1 -1
  76. package/dist/index.es138.js +1 -1
  77. package/dist/index.es139.js +1 -1
  78. package/dist/index.es140.js +1 -1
  79. package/dist/index.es141.js +1 -1
  80. package/dist/index.es142.js +1 -1
  81. package/dist/index.es16.js +1 -1
  82. package/dist/index.es19.js +1 -1
  83. package/dist/index.es20.js +1 -1
  84. package/dist/index.es21.js +3 -3
  85. package/dist/index.es22.js +1 -1
  86. package/dist/index.es25.js +1 -1
  87. package/dist/index.es27.js +1 -1
  88. package/dist/index.es29.js +1 -1
  89. package/dist/index.es31.js +1 -1
  90. package/dist/index.es32.js +1 -1
  91. package/dist/index.es42.js +2 -2
  92. package/dist/index.es43.js +1 -1
  93. package/dist/index.es44.js +106 -81
  94. package/dist/index.es44.js.map +1 -1
  95. package/dist/index.es49.js +37 -35
  96. package/dist/index.es49.js.map +1 -1
  97. package/dist/index.es50.js +1 -1
  98. package/dist/index.es51.js +1 -1
  99. package/dist/index.es53.js +1 -1
  100. package/dist/index.es61.js +2 -2
  101. package/dist/index.es62.js +1 -1
  102. package/dist/index.es64.js +5 -5
  103. package/dist/index.es65.js +1 -1
  104. package/dist/index.es66.js +7 -7
  105. package/dist/index.es73.js +1 -1
  106. package/dist/index.es90.js +12 -41
  107. package/dist/index.es90.js.map +1 -1
  108. package/dist/index.es91.js +86 -12
  109. package/dist/index.es91.js.map +1 -1
  110. package/dist/index.es92.js +86 -85
  111. package/dist/index.es92.js.map +1 -1
  112. package/dist/index.es93.js +120 -179
  113. package/dist/index.es93.js.map +1 -1
  114. package/dist/index.es94.js +13 -39
  115. package/dist/index.es94.js.map +1 -1
  116. package/dist/index.es95.js +33 -28
  117. package/dist/index.es95.js.map +1 -1
  118. package/dist/index.es96.js +4 -4
  119. package/dist/index.es96.js.map +1 -1
  120. package/dist/index.es97.js +19 -270
  121. package/dist/index.es97.js.map +1 -1
  122. package/dist/index.es98.js +12 -120
  123. package/dist/index.es98.js.map +1 -1
  124. package/dist/index.es99.js +22 -74
  125. package/dist/index.es99.js.map +1 -1
  126. package/dist/styles.css +3 -0
  127. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"navbar-extended.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/navbar/navbar-extended.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAqB,MAAM,gBAAgB,CAAA;AA8PvE,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAkKxD,CAAA"}
1
+ {"version":3,"file":"navbar-extended.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/navbar/navbar-extended.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAqB,MAAM,gBAAgB,CAAA;AAmQvE,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA8JxD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"report-snippet-view.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/report-snippet-view/report-snippet-view.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAiB,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAejE,QAAA,MAAM,iBAAiB,EAAE,EAAE,CAAC,mBAAmB,CAAC,sBAAsB,CAwTrE,CAAA;AAED,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"report-snippet-view.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/report-snippet-view/report-snippet-view.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAiB,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAejE,QAAA,MAAM,iBAAiB,EAAE,EAAE,CAAC,mBAAmB,CAAC,sBAAsB,CAkUrE,CAAA;AAED,eAAe,iBAAiB,CAAA"}
@@ -48,6 +48,10 @@ export declare namespace ReportSnippetViewNS {
48
48
  catchmentInsights?: CatchmentInsights[];
49
49
  footfallChartData?: FootfallChartData[];
50
50
  cannibalisationChartData?: CannibalisationChartData[];
51
+ /** Optional section rendered above Location Highlights (e.g. financial projections, coordinates) */
52
+ customModelSection?: React.ReactNode;
53
+ /** Optional custom section rendered at the very end (after all sections) to show anything extra */
54
+ customSection?: React.ReactNode;
51
55
  };
52
56
  }
53
57
  //# sourceMappingURL=report-snippet-view.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report-snippet-view.types.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/report-snippet-view/report-snippet-view.types.ts"],"names":[],"mappings":"AACA,yBAAiB,mBAAmB,CAAC;IACnC,KAAY,eAAe,GAAG;QAC5B,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,KAAY,cAAc,GAAG,eAAe,EAAE,GAAG,IAAI,CAAA;IACrD,KAAY,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IAE9B,KAAY,iBAAiB,GAAG;QAC9B,IAAI,EAAE,YAAY,GAAG,eAAe,CAAA;QACpC,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,KAAY,eAAe,GAAG;QAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KACtB,CAAA;IAED,KAAY,iBAAiB,GAAG;QAC9B,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;QACvB,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,KAAY,wBAAwB,GAAG;QACrC,UAAU,EAAE,MAAM,CAAA;QAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;QAC9B,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IAED,KAAY,sBAAsB,GAAG;QACnC,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE;YACX,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,EACH,SAAS,GACT,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,SAAS,CAAA;SACd,EAAE,CAAA;QACH,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE;YAEN,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;YAEpB,SAAS,CAAC,EAAE,OAAO,CAAA;SACpB,CAAA;QACD,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAEnB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAA;QAClC,uBAAuB,CAAC,EAAE,OAAO,CAAA;QACjC,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QAC1B,eAAe,CAAC,EAAE,eAAe,EAAE,CAAA;QACnC,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAA;QACvC,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAA;QACvC,wBAAwB,CAAC,EAAE,wBAAwB,EAAE,CAAA;KAEtD,CAAA;CACF"}
1
+ {"version":3,"file":"report-snippet-view.types.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/report-snippet-view/report-snippet-view.types.ts"],"names":[],"mappings":"AACA,yBAAiB,mBAAmB,CAAC;IACnC,KAAY,eAAe,GAAG;QAC5B,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,KAAY,cAAc,GAAG,eAAe,EAAE,GAAG,IAAI,CAAA;IACrD,KAAY,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IAE9B,KAAY,iBAAiB,GAAG;QAC9B,IAAI,EAAE,YAAY,GAAG,eAAe,CAAA;QACpC,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,KAAY,eAAe,GAAG;QAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KACtB,CAAA;IAED,KAAY,iBAAiB,GAAG;QAC9B,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;QACvB,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,KAAY,wBAAwB,GAAG;QACrC,UAAU,EAAE,MAAM,CAAA;QAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;QAC9B,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IAED,KAAY,sBAAsB,GAAG;QACnC,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE;YACX,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,EACH,SAAS,GACT,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,SAAS,CAAA;SACd,EAAE,CAAA;QACH,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE;YAEN,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;YAEpB,SAAS,CAAC,EAAE,OAAO,CAAA;SACpB,CAAA;QACD,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAEnB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAA;QAClC,uBAAuB,CAAC,EAAE,OAAO,CAAA;QACjC,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QAC1B,eAAe,CAAC,EAAE,eAAe,EAAE,CAAA;QACnC,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAA;QACvC,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAA;QACvC,wBAAwB,CAAC,EAAE,wBAAwB,EAAE,CAAA;QACrD,oGAAoG;QACpG,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACpC,mGAAmG;QACnG,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAEhC,CAAA;CACF"}
@@ -1,91 +1,14 @@
1
- import * as e from "react";
2
- import { Slot as o } from "@radix-ui/react-slot";
3
- import { ChevronRight as l, MoreHorizontal as c } from "lucide-react";
4
- import { cn as m } from "./index.es82.js";
5
- const i = e.forwardRef(({ ...r }, a) => /* @__PURE__ */ e.createElement("nav", { ref: a, "aria-label": "breadcrumb", ...r }));
6
- i.displayName = "Breadcrumb";
7
- const d = e.forwardRef(({ className: r, ...a }, t) => /* @__PURE__ */ e.createElement(
8
- "ol",
9
- {
10
- ref: t,
11
- className: m(
12
- "flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",
13
- r
14
- ),
15
- ...a
16
- }
17
- ));
18
- d.displayName = "BreadcrumbList";
19
- const p = e.forwardRef(({ className: r, ...a }, t) => /* @__PURE__ */ e.createElement(
20
- "li",
21
- {
22
- ref: t,
23
- className: m("inline-flex items-center gap-1.5", r),
24
- ...a
25
- }
26
- ));
27
- p.displayName = "BreadcrumbItem";
28
- const u = e.forwardRef(({ asChild: r, className: a, ...t }, s) => {
29
- const n = r ? o : "a";
30
- return /* @__PURE__ */ e.createElement(
31
- n,
32
- {
33
- ref: s,
34
- className: m("transition-colors hover:text-foreground", a),
35
- ...t
36
- }
37
- );
38
- });
39
- u.displayName = "BreadcrumbLink";
40
- const f = e.forwardRef(({ className: r, ...a }, t) => /* @__PURE__ */ e.createElement(
41
- "span",
42
- {
43
- ref: t,
44
- role: "link",
45
- "aria-disabled": "true",
46
- "aria-current": "page",
47
- className: m("font-normal text-foreground", r),
48
- ...a
1
+ import { cva as e } from "class-variance-authority";
2
+ const a = e(
3
+ "relative flex w-60 touch-none select-none items-center",
4
+ {
5
+ variants: {
6
+ variant: {}
7
+ },
8
+ defaultVariants: {}
49
9
  }
50
- ));
51
- f.displayName = "BreadcrumbPage";
52
- const b = ({
53
- children: r,
54
- className: a,
55
- ...t
56
- }) => /* @__PURE__ */ e.createElement(
57
- "li",
58
- {
59
- role: "presentation",
60
- "aria-hidden": "true",
61
- className: m("[&>svg]:size-3.5", a),
62
- ...t
63
- },
64
- r ?? /* @__PURE__ */ e.createElement(l, null)
65
- );
66
- b.displayName = "BreadcrumbSeparator";
67
- const N = ({
68
- className: r,
69
- ...a
70
- }) => /* @__PURE__ */ e.createElement(
71
- "span",
72
- {
73
- role: "presentation",
74
- "aria-hidden": "true",
75
- className: m("flex h-9 w-9 items-center justify-center", r),
76
- ...a
77
- },
78
- /* @__PURE__ */ e.createElement(c, { className: "h-4 w-4" }),
79
- /* @__PURE__ */ e.createElement("span", { className: "sr-only" }, "More")
80
10
  );
81
- N.displayName = "BreadcrumbElipssis";
82
11
  export {
83
- i as Breadcrumb,
84
- N as BreadcrumbEllipsis,
85
- p as BreadcrumbItem,
86
- u as BreadcrumbLink,
87
- d as BreadcrumbList,
88
- f as BreadcrumbPage,
89
- b as BreadcrumbSeparator
12
+ a as SliderVariants
90
13
  };
91
14
  //# sourceMappingURL=index.es100.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es100.js","sources":["../src/components/molecules/breadcrumb/breadcrumb-components.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { ChevronRight, MoreHorizontal } from 'lucide-react'\n\nimport { cn } from '@/lib/utils'\n\nconst Breadcrumb = React.forwardRef<\n HTMLElement,\n React.ComponentPropsWithoutRef<'nav'> & {\n separator?: React.ReactNode\n }\n>(({ ...props }, ref) => <nav ref={ref} aria-label=\"breadcrumb\" {...props} />)\nBreadcrumb.displayName = 'Breadcrumb'\n\nconst BreadcrumbList = React.forwardRef<\n HTMLOListElement,\n React.ComponentPropsWithoutRef<'ol'>\n>(({ className, ...props }, ref) => (\n <ol\n ref={ref}\n className={cn(\n 'flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5',\n className\n )}\n {...props}\n />\n))\nBreadcrumbList.displayName = 'BreadcrumbList'\n\nconst BreadcrumbItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentPropsWithoutRef<'li'>\n>(({ className, ...props }, ref) => (\n <li\n ref={ref}\n className={cn('inline-flex items-center gap-1.5', className)}\n {...props}\n />\n))\nBreadcrumbItem.displayName = 'BreadcrumbItem'\n\nconst BreadcrumbLink = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentPropsWithoutRef<'a'> & {\n asChild?: boolean\n }\n>(({ asChild, className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'a'\n\n return (\n <Comp\n ref={ref}\n className={cn('transition-colors hover:text-foreground', className)}\n {...props}\n />\n )\n})\nBreadcrumbLink.displayName = 'BreadcrumbLink'\n\nconst BreadcrumbPage = React.forwardRef<\n HTMLSpanElement,\n React.ComponentPropsWithoutRef<'span'>\n>(({ className, ...props }, ref) => (\n <span\n ref={ref}\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn('font-normal text-foreground', className)}\n {...props}\n />\n))\nBreadcrumbPage.displayName = 'BreadcrumbPage'\n\nconst BreadcrumbSeparator = ({\n children,\n className,\n ...props\n}: React.ComponentProps<'li'>) => (\n <li\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('[&>svg]:size-3.5', className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n)\nBreadcrumbSeparator.displayName = 'BreadcrumbSeparator'\n\nconst BreadcrumbEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<'span'>) => (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('flex h-9 w-9 items-center justify-center', className)}\n {...props}\n >\n <MoreHorizontal className=\"h-4 w-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n)\nBreadcrumbEllipsis.displayName = 'BreadcrumbElipssis'\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n"],"names":["Breadcrumb","React","props","ref","BreadcrumbList","className","cn","BreadcrumbItem","BreadcrumbLink","asChild","Comp","Slot","BreadcrumbPage","BreadcrumbSeparator","children","ChevronRight","BreadcrumbEllipsis","MoreHorizontal"],"mappings":";;;;AAMA,MAAMA,IAAaC,EAAM,WAKvB,CAAC,EAAE,GAAGC,EAAA,GAASC,MAAQ,gBAAAF,EAAA,cAAC,SAAI,KAAAE,GAAU,cAAW,cAAc,GAAGD,GAAO,CAAE;AAC7EF,EAAW,cAAc;AAEzB,MAAMI,IAAiBH,EAAM,WAG3B,CAAC,EAAE,WAAAI,GAAW,GAAGH,EAAA,GAASC,MAC1B,gBAAAF,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAE;AAAA,IACA,WAAWG;AAAA,MACT;AAAA,MACAD;AAAA,IAAA;AAAA,IAED,GAAGH;AAAA,EAAA;AACN,CACD;AACDE,EAAe,cAAc;AAE7B,MAAMG,IAAiBN,EAAM,WAG3B,CAAC,EAAE,WAAAI,GAAW,GAAGH,EAAA,GAASC,MAC1B,gBAAAF,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAE;AAAA,IACA,WAAWG,EAAG,oCAAoCD,CAAS;AAAA,IAC1D,GAAGH;AAAA,EAAA;AACN,CACD;AACDK,EAAe,cAAc;AAE7B,MAAMC,IAAiBP,EAAM,WAK3B,CAAC,EAAE,SAAAQ,GAAS,WAAAJ,GAAW,GAAGH,EAAA,GAASC,MAAQ;AAC3C,QAAMO,IAAOD,IAAUE,IAAO;AAE9B,SACE,gBAAAV,EAAA;AAAA,IAACS;AAAA,IAAA;AAAA,MACC,KAAAP;AAAA,MACA,WAAWG,EAAG,2CAA2CD,CAAS;AAAA,MACjE,GAAGH;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;AACDM,EAAe,cAAc;AAE7B,MAAMI,IAAiBX,EAAM,WAG3B,CAAC,EAAE,WAAAI,GAAW,GAAGH,EAAA,GAASC,MAC1B,gBAAAF,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAE;AAAA,IACA,MAAK;AAAA,IACL,iBAAc;AAAA,IACd,gBAAa;AAAA,IACb,WAAWG,EAAG,+BAA+BD,CAAS;AAAA,IACrD,GAAGH;AAAA,EAAA;AACN,CACD;AACDU,EAAe,cAAc;AAE7B,MAAMC,IAAsB,CAAC;AAAA,EAC3B,UAAAC;AAAA,EACA,WAAAT;AAAA,EACA,GAAGH;AACL,MACE,gBAAAD,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,eAAY;AAAA,IACZ,WAAWK,EAAG,oBAAoBD,CAAS;AAAA,IAC1C,GAAGH;AAAA,EAAA;AAAA,EAEHY,qCAAaC,GAAA,IAAa;AAC7B;AAEFF,EAAoB,cAAc;AAElC,MAAMG,IAAqB,CAAC;AAAA,EAC1B,WAAAX;AAAA,EACA,GAAGH;AACL,MACE,gBAAAD,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,eAAY;AAAA,IACZ,WAAWK,EAAG,4CAA4CD,CAAS;AAAA,IAClE,GAAGH;AAAA,EAAA;AAAA,EAEJ,gBAAAD,EAAA,cAACgB,GAAA,EAAe,WAAU,UAAA,CAAU;AAAA,EACpC,gBAAAhB,EAAA,cAAC,QAAA,EAAK,WAAU,UAAA,GAAU,MAAI;AAChC;AAEFe,EAAmB,cAAc;"}
1
+ {"version":3,"file":"index.es100.js","sources":["../src/components/molecules/slider/slider.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const SliderVariants = cva(\n 'relative flex w-60 touch-none select-none items-center',\n {\n variants: {\n variant: {},\n },\n defaultVariants: {},\n }\n)\n"],"names":["SliderVariants","cva"],"mappings":";AAEO,MAAMA,IAAiBC;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS,CAAA;AAAA,IAAC;AAAA,IAEZ,iBAAiB,CAAA;AAAA,EAAC;AAEtB;"}
@@ -1,20 +1,43 @@
1
1
  import { cva as t } from "class-variance-authority";
2
- const r = t(
3
- "rounded hover:text-light-2 hover:stroke-light-1 hover:bg-light-3 ",
2
+ const e = t(
3
+ "inline-flex items-center justify-evenly p-1 text-muted-foreground",
4
4
  {
5
5
  variants: {
6
- type: {
7
- icon: "p-1",
8
- text: "px-2 py-1"
6
+ variant: {
7
+ primary: "bg-light-3 border rounded-xl border-neutral-1",
8
+ secondary: "bg-background "
9
9
  },
10
- isSelected: {
11
- true: "text-light-2 stroke-light-1 bg-light-3",
12
- false: "text-light-3 stroke-light-2"
10
+ size: {
11
+ sm: "h-10 rounded-xl ",
12
+ md: "h-12 rounded-xl "
13
13
  }
14
+ },
15
+ defaultVariants: {
16
+ variant: "primary",
17
+ size: "md"
18
+ }
19
+ }
20
+ ), i = t(
21
+ "inline-flex w-full items-center justify-center whitespace-nowrap text-sm text-light-2 font-medium disabled:pointer-events-none disabled:opacity-50 ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ",
22
+ {
23
+ variants: {
24
+ size: {
25
+ sm: "h-8 text-[14px] p-1.5 ",
26
+ md: "h-10 text-[16px] p-2 "
27
+ },
28
+ variant: {
29
+ primary: "rounded-lg data-[state=active]:bg-rest-s1 data-[state=active]:text-primary-1 data-[state=active]:border data-[state=active]:border-neutral-1 data-[state=active]:font-semibold data-[state=active]:shadow-sm ",
30
+ secondary: "data-[state=active]:bg-background data-[state=active]:text-primary-1 data-[state=active]:font-semibold data-[state=active]:border-b-2 data-[state=active]:border-primary-2 "
31
+ }
32
+ },
33
+ defaultVariants: {
34
+ variant: "primary",
35
+ size: "md"
14
36
  }
15
37
  }
16
38
  );
17
39
  export {
18
- r as CrumbVariants
40
+ i as TabTriggerVariants,
41
+ e as TabsVariants
19
42
  };
20
43
  //# sourceMappingURL=index.es101.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es101.js","sources":["../src/components/molecules/breadcrumb/breadcrumb.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const CrumbVariants = cva(\n 'rounded hover:text-light-2 hover:stroke-light-1 hover:bg-light-3 ',\n {\n variants: {\n type: {\n icon: 'p-1',\n text: 'px-2 py-1',\n },\n isSelected: {\n true: 'text-light-2 stroke-light-1 bg-light-3',\n false: 'text-light-3 stroke-light-2',\n },\n },\n }\n)\n"],"names":["CrumbVariants","cva"],"mappings":";AAEO,MAAMA,IAAgBC;AAAA,EAC3B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,MAER,YAAY;AAAA,QACV,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"index.es101.js","sources":["../src/components/molecules/tabs/tabs.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const TabsVariants = cva(\n 'inline-flex items-center justify-evenly p-1 text-muted-foreground',\n {\n variants: {\n variant: {\n primary: 'bg-light-3 border rounded-xl border-neutral-1',\n secondary: 'bg-background ',\n },\n size: {\n sm: 'h-10 rounded-xl ',\n md: 'h-12 rounded-xl ',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n },\n }\n)\n\nexport const TabTriggerVariants = cva(\n 'inline-flex w-full items-center justify-center whitespace-nowrap text-sm text-light-2 font-medium disabled:pointer-events-none disabled:opacity-50 ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ',\n {\n variants: {\n size: {\n sm: 'h-8 text-[14px] p-1.5 ',\n md: 'h-10 text-[16px] p-2 ',\n },\n variant: {\n primary:\n 'rounded-lg data-[state=active]:bg-rest-s1 data-[state=active]:text-primary-1 data-[state=active]:border data-[state=active]:border-neutral-1 data-[state=active]:font-semibold data-[state=active]:shadow-sm ',\n secondary:\n 'data-[state=active]:bg-background data-[state=active]:text-primary-1 data-[state=active]:font-semibold data-[state=active]:border-b-2 data-[state=active]:border-primary-2 ',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n },\n }\n)\n"],"names":["TabsVariants","cva","TabTriggerVariants"],"mappings":";AAEO,MAAMA,IAAeC;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,MAEb,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,GAEaC,IAAqBD;AAAA,EAChC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,MAEN,SAAS;AAAA,QACP,SACE;AAAA,QACF,WACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;"}
@@ -1,25 +1,276 @@
1
- import { cva as r } from "class-variance-authority";
2
- const t = r(
3
- ` border flex items-center justify-between gap-1.5 relative mt-1.5 rounded-lg
4
- text-light-1 px-3 py-2
5
- file:border-0 file:bg-transparent
6
- placeholder:font-normal placeholder:text-light-4`,
7
- {
8
- variants: {
9
- isFocused: {
10
- true: "border-primary-2 ring-4 ring-primary-1",
11
- false: "border-light-2"
1
+ import e from "react";
2
+ import { _Dialog as v } from "./index.es39.js";
3
+ import { X as N, ChevronLeft as w, ChevronRight as S } from "lucide-react";
4
+ import { Typography as i } from "./index.es19.js";
5
+ import { ResponsiveContainer as d, BarChart as u, CartesianGrid as f, XAxis as g, YAxis as h, Tooltip as p, Bar as E } from "recharts";
6
+ import { trendBoxStyles as C, trendValueStyles as k } from "./index.es125.js";
7
+ const O = ({
8
+ data: r,
9
+ onToggle: t,
10
+ isOpen: n,
11
+ galleryActiveIndex: a,
12
+ setgalleryActiveIndex: l
13
+ }) => {
14
+ const o = r && r.length, b = () => {
15
+ r && l((s) => (s + 1) % r?.length);
16
+ }, y = () => {
17
+ r && l(
18
+ (s) => (s - 1 + r.length) % r.length
19
+ );
20
+ }, x = (s) => {
21
+ l(s);
22
+ }, m = () => {
23
+ t();
24
+ };
25
+ return /* @__PURE__ */ e.createElement(
26
+ v,
27
+ {
28
+ open: n,
29
+ trigger: null,
30
+ contentClassName: "bg-transparent w-fit border-0",
31
+ onInteractOutside: m,
32
+ body: /* @__PURE__ */ e.createElement("div", { className: "flex flex-col items-center justify-center w-full h-full max-w-3xl mx-auto" }, /* @__PURE__ */ e.createElement(
33
+ N,
34
+ {
35
+ size: 24,
36
+ color: "white",
37
+ className: "absolute z-50 cursor-pointer -right-10 -top-10",
38
+ onClick: m
39
+ }
40
+ ), /* @__PURE__ */ e.createElement("div", { className: "relative" }, /* @__PURE__ */ e.createElement("div", { className: "relative " }, o && /* @__PURE__ */ e.createElement(
41
+ "img",
42
+ {
43
+ key: r[a].image_url,
44
+ src: r[a].image_url,
45
+ alt: `Street ${a + 1}`,
46
+ className: "w-[500px] max-h-[80vh] object-contain flex-shrink-0"
47
+ }
48
+ )), /* @__PURE__ */ e.createElement("div", { className: "relative top-[-50%] left-[-10%] flex row w-[120%] justify-between" }, /* @__PURE__ */ e.createElement("div", { role: "button", tabIndex: 0, onClick: y }, /* @__PURE__ */ e.createElement(w, { size: 30, color: "white" })), /* @__PURE__ */ e.createElement("div", { role: "button", tabIndex: 0, onClick: b }, /* @__PURE__ */ e.createElement(S, { size: 30, color: "white" })))), /* @__PURE__ */ e.createElement("div", { className: "flex justify-center p-2 mt-4 space-x-2 rounded-lg" }, o && r.map((s, c) => /* @__PURE__ */ e.createElement(
49
+ "img",
50
+ {
51
+ key: c,
52
+ src: s.image_url,
53
+ alt: `Thumbnail ${c + 1}`,
54
+ onClick: () => x(c),
55
+ className: `w-20 h-auto rounded-lg cursor-pointer ${c === a ? "ring-2 ring-primary-1" : "ring-2 ring-transparent"} hover:ring-gray-300`
56
+ }
57
+ ))))
58
+ }
59
+ );
60
+ }, $ = ({ active: r, payload: t, label: n, year: a }) => {
61
+ if (r && t && t.length) {
62
+ const l = t[0]?.payload?.year, o = t[0]?.value;
63
+ return /* @__PURE__ */ e.createElement("div", { className: "flex flex-col bg-light-1 p-4 rounded-lg shadow-md min-w-[200px] gap-1" }, /* @__PURE__ */ e.createElement(i, { variant: "body6", className: "text-primary" }, `${n}'${l}`), /* @__PURE__ */ e.createElement("div", { className: "my-2 w-full h-px border border-stroke-1" }), /* @__PURE__ */ e.createElement("div", { className: "flex" }, /* @__PURE__ */ e.createElement(
64
+ "div",
65
+ {
66
+ className: "h-4 w-1 rounded-lg",
67
+ style: { backgroundColor: "#6D48EF" }
68
+ }
69
+ ), /* @__PURE__ */ e.createElement(i, { variant: "body6", className: "text-secondary mx-1" }, "Visits"), /* @__PURE__ */ e.createElement(i, { variant: "body4", className: "text-secondary ml-auto" }, ` ${o}`)));
70
+ }
71
+ return null;
72
+ }, z = ({ active: r, payload: t, label: n }) => {
73
+ if (r && t && t.length) {
74
+ const a = t[0]?.payload?.distance, l = t[0]?.value;
75
+ return /* @__PURE__ */ e.createElement("div", { className: "flex bg-light-1 items-center justify-between rounded-lg shadow-md min-w-45 max-w-80 gap-2 p-2" }, /* @__PURE__ */ e.createElement(i, { variant: "body6", className: "text-primary" }, /* @__PURE__ */ e.createElement("div", { className: "flex h-full justify-between items-center p-2 gap-4" }, /* @__PURE__ */ e.createElement("div", null, n), /* @__PURE__ */ e.createElement("div", null, " ", a + "km"))), /* @__PURE__ */ e.createElement(
76
+ i,
77
+ {
78
+ variant: "body4",
79
+ className: "text-normal text-danger-1 ml-auto p-2"
12
80
  },
13
- disabled: {
14
- true: "bg-light-3 border-neutral-2 cursor-not-allowed",
15
- false: ""
81
+ `${l}%`
82
+ ));
83
+ }
84
+ return null;
85
+ }, D = ({ insights: r }) => /* @__PURE__ */ e.createElement("div", null, /* @__PURE__ */ e.createElement("div", { className: "flex flex-row mb-4 justify-between" }, /* @__PURE__ */ e.createElement(i, { variant: "body4", className: "text-light-2" }, "Store Insight:")), /* @__PURE__ */ e.createElement("div", { className: "bg-light-2 p-3 border border-neutral-1 rounded-lg" }, /* @__PURE__ */ e.createElement(i, { variant: "body4", className: "text-light-2 mb-2" }, "Presence of other brands in catchment:"), /* @__PURE__ */ e.createElement("div", { className: "flex gap-1 flex-wrap" }, r.map((t) => /* @__PURE__ */ e.createElement(
86
+ "div",
87
+ {
88
+ key: t.type,
89
+ className: "flex items-center gap-1 bg-light-1 px-2 py-1 rounded-full border border-neutral-1"
90
+ },
91
+ /* @__PURE__ */ e.createElement(
92
+ "img",
93
+ {
94
+ src: t.iconUrl,
95
+ alt: `${t.type} Icon`,
96
+ className: "w-4 h-4"
97
+ }
98
+ ),
99
+ /* @__PURE__ */ e.createElement(i, { variant: "body6", className: "text-light-2" }, t.count),
100
+ /* @__PURE__ */ e.createElement("div", { className: "flex items-center gap-1" }, /* @__PURE__ */ e.createElement(i, { variant: "body6", className: "text-light-2" }, t.type === "competitor" ? "Competitors" : "Complementary"))
101
+ ))))), K = ({
102
+ highlights: r
103
+ }) => /* @__PURE__ */ e.createElement("div", null, /* @__PURE__ */ e.createElement(i, { variant: "body4", className: "text-light-2 mb-2" }, "Store Overview:"), /* @__PURE__ */ e.createElement("div", { className: "bg-light-2 p-1 border border-neutral-1 rounded-lg" }, /* @__PURE__ */ e.createElement("div", { className: "flex justify-evenly items-center" }, r.map((t, n) => /* @__PURE__ */ e.createElement(e.Fragment, { key: n }, /* @__PURE__ */ e.createElement("div", { className: "flex flex-col items-center justify-center text-center gap-1 p-" }, /* @__PURE__ */ e.createElement(
104
+ "div",
105
+ {
106
+ className: C({
107
+ trend: t.trend?.toString()
108
+ })
109
+ },
110
+ t.trend === 1 && /* @__PURE__ */ e.createElement(
111
+ "img",
112
+ {
113
+ src: "https://frontend-static-files.geoiq.io/strapi/trending_up_9d73d6fac5.svg",
114
+ alt: "High Trend",
115
+ className: "w-3 h-3"
116
+ }
117
+ ),
118
+ t.trend === -1 && /* @__PURE__ */ e.createElement(
119
+ "img",
120
+ {
121
+ src: "https://frontend-static-files.geoiq.io/strapi/trending_down_87adc7f3a6.svg",
122
+ alt: "Low Trend",
123
+ className: "w-3 h-3"
124
+ }
125
+ ),
126
+ t.value && t.trend ? /* @__PURE__ */ e.createElement(
127
+ i,
128
+ {
129
+ variant: "body5",
130
+ className: k({
131
+ trend: t.trend?.toString()
132
+ })
133
+ },
134
+ `${t.value}%`
135
+ ) : /* @__PURE__ */ e.createElement(i, { variant: "body5", className: "text-sm" }, "-")
136
+ ), t.name && /* @__PURE__ */ e.createElement(i, { variant: "body6", className: "text-light-2" }, t.name)), n < r.length - 1 && /* @__PURE__ */ e.createElement("div", { className: "border-l border-stroke-light-1 h-20 mx-1" })))))), I = ({ data: r }) => !r || r.every((t) => t.footfall === null) ? null : /* @__PURE__ */ e.createElement("div", { className: "w-full h-full bg-light-2 border border-neutral-1 p-3 rounded-lg" }, /* @__PURE__ */ e.createElement(i, { variant: "body4", className: "text-light-2 mb-4" }, "Footfall trends"), /* @__PURE__ */ e.createElement(d, { width: "100%", height: 300 }, /* @__PURE__ */ e.createElement(
137
+ u,
138
+ {
139
+ data: r,
140
+ margin: {
141
+ top: 3,
142
+ right: 3,
143
+ bottom: -10,
144
+ left: 3
145
+ },
146
+ barSize: 24
147
+ },
148
+ /* @__PURE__ */ e.createElement(f, { strokeDasharray: "10 10" }),
149
+ /* @__PURE__ */ e.createElement(
150
+ g,
151
+ {
152
+ dataKey: "month",
153
+ style: {
154
+ font: "Kumbh Sans",
155
+ fontSize: "12px",
156
+ fontWeight: "500",
157
+ color: "#4A4A4A"
158
+ }
159
+ }
160
+ ),
161
+ /* @__PURE__ */ e.createElement(
162
+ h,
163
+ {
164
+ className: "text-4-grey",
165
+ style: { fontSize: "12px", fontWeight: "500" },
166
+ tickFormatter: (t) => t > 1e6 ? `${t / 1e6}M` : t > 1e3 ? `${t / 1e3}K` : t,
167
+ label: {
168
+ value: "AVG FOOTFALL FOR A 3-MONTH PERIOD",
169
+ angle: -90,
170
+ position: "insideLeft",
171
+ dy: -5,
172
+ style: {
173
+ textAnchor: "middle",
174
+ fontSize: "12px",
175
+ fontWeight: "500"
176
+ }
16
177
  }
178
+ }
179
+ ),
180
+ /* @__PURE__ */ e.createElement(p, { content: /* @__PURE__ */ e.createElement($, null) }),
181
+ /* @__PURE__ */ e.createElement(
182
+ E,
183
+ {
184
+ dataKey: "footfall",
185
+ fill: "#6D48EF",
186
+ radius: [4, 4, 4, 4],
187
+ style: { cursor: "pointer" }
188
+ }
189
+ )
190
+ ))), R = ({
191
+ data: r
192
+ }) => {
193
+ if (!r || r.every((n) => n.cannibalisation === null))
194
+ return null;
195
+ const t = (n) => {
196
+ const a = r.length;
197
+ let l;
198
+ return a <= 1 ? l = 50 : a <= 6 ? l = 22 - (a - 1) * 4 : l = 6, n.length > l ? `${n.slice(0, l)}...` : n;
199
+ };
200
+ return /* @__PURE__ */ e.createElement("div", { className: "w-full h-full bg-light-2 border border-neutral-1 p-3 rounded-lg" }, /* @__PURE__ */ e.createElement(i, { variant: "body4", className: "text-light-2 mb-4" }, "Cannibalisation effects"), /* @__PURE__ */ e.createElement(d, { width: "100%", height: 300 }, /* @__PURE__ */ e.createElement(
201
+ u,
202
+ {
203
+ data: r,
204
+ margin: {
205
+ top: 3,
206
+ right: 3,
207
+ bottom: 5,
208
+ left: 3
209
+ },
210
+ barSize: 24
17
211
  },
18
- defaultVariants: {},
19
- compoundVariants: []
20
- }
21
- );
212
+ /* @__PURE__ */ e.createElement(f, { strokeDasharray: "10 10" }),
213
+ /* @__PURE__ */ e.createElement(
214
+ g,
215
+ {
216
+ dataKey: "store_name",
217
+ tickFormatter: t,
218
+ tickMargin: 10,
219
+ tick: (n) => {
220
+ const { x: a, y: l, payload: o } = n;
221
+ return /* @__PURE__ */ e.createElement("text", { x: a, y: l, textAnchor: "end", fill: "#666" }, /* @__PURE__ */ e.createElement("tspan", { x: a, style: { fontSize: 12 } }, t(o.value)), /* @__PURE__ */ e.createElement(
222
+ "tspan",
223
+ {
224
+ x: a,
225
+ dy: "1.5em",
226
+ style: {
227
+ fontSize: 10,
228
+ whiteSpace: "nowrap",
229
+ paddingTop: "2px"
230
+ }
231
+ },
232
+ r[o.index].distance + " kms"
233
+ ));
234
+ }
235
+ }
236
+ ),
237
+ /* @__PURE__ */ e.createElement(
238
+ h,
239
+ {
240
+ className: "text-4-grey",
241
+ style: { fontSize: "12px", fontWeight: "500" },
242
+ tickFormatter: (n) => n > 1e6 ? `${n / 1e6}M` : n > 1e3 ? `${n / 1e3}K` : n,
243
+ label: {
244
+ value: "CANNIBALISATION IN %",
245
+ angle: -90,
246
+ position: "insideLeft",
247
+ dy: -5,
248
+ style: {
249
+ textAnchor: "middle",
250
+ fontSize: "12px",
251
+ fontWeight: "500"
252
+ }
253
+ },
254
+ domain: [0, 100]
255
+ }
256
+ ),
257
+ /* @__PURE__ */ e.createElement(p, { content: /* @__PURE__ */ e.createElement(z, null) }),
258
+ /* @__PURE__ */ e.createElement(
259
+ E,
260
+ {
261
+ dataKey: "cannibalisation",
262
+ fill: "#F93232",
263
+ radius: [4, 4, 4, 4],
264
+ style: { cursor: "pointer" }
265
+ }
266
+ )
267
+ )));
268
+ };
22
269
  export {
23
- t as TextAreaVariants
270
+ R as CannibalisationChartSection,
271
+ I as FootfallChartSection,
272
+ O as ReportSnippetGalleryView,
273
+ D as StoreInsightsSection,
274
+ K as StoreOverviewSection
24
275
  };
25
276
  //# sourceMappingURL=index.es102.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es102.js","sources":["../src/components/atoms/textarea/textarea.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const TextAreaVariants = cva(\n ` border flex items-center justify-between gap-1.5 relative mt-1.5 rounded-lg \n text-light-1 px-3 py-2\n file:border-0 file:bg-transparent\n placeholder:font-normal placeholder:text-light-4`,\n {\n variants: {\n isFocused: {\n true: 'border-primary-2 ring-4 ring-primary-1',\n false: 'border-light-2',\n },\n disabled: {\n true: 'bg-light-3 border-neutral-2 cursor-not-allowed',\n false: '',\n },\n },\n defaultVariants: {},\n compoundVariants: [],\n }\n)\n"],"names":["TextAreaVariants","cva"],"mappings":";AAEO,MAAMA,IAAmBC;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,IACE,UAAU;AAAA,MACR,WAAW;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,MAET,UAAU;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,iBAAiB,CAAA;AAAA,IACjB,kBAAkB,CAAA;AAAA,EAAC;AAEvB;"}
1
+ {"version":3,"file":"index.es102.js","sources":["../src/components/ui/report-snippet-view/report-snippet-view-components.tsx"],"sourcesContent":["import React, { FC } from 'react'\nimport { ReportSnippetViewNS } from './report-snippet-view.types'\n\nimport { Dialog } from '@/components/organisms/dialog'\nimport { ChevronLeft, ChevronRight, X } from 'lucide-react'\nimport { Typography } from '@/components/atoms/typography'\nimport {\n BarChart,\n Bar,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from 'recharts'\nimport { trendBoxStyles, trendValueStyles } from './report-snippet-view-style'\n\nconst ReportSnippetGalleryView: FC<{\n onToggle: () => void\n isOpen: boolean\n data?: ReportSnippetViewNS.StreetViewData\n galleryActiveIndex: number\n setgalleryActiveIndex: React.Dispatch<React.SetStateAction<number>>\n}> = ({\n data,\n onToggle,\n isOpen,\n galleryActiveIndex,\n setgalleryActiveIndex,\n}) => {\n // Current active item\n\n const isDataAvailable = data && data.length\n\n // Handle next click\n const handleNext = () => {\n if (!data) return\n setgalleryActiveIndex((prevIndex) => (prevIndex + 1) % data?.length)\n }\n\n // Handle previous click\n const handlePrev = () => {\n if (!data) return\n setgalleryActiveIndex(\n (prevIndex) => (prevIndex - 1 + data.length) % data.length\n )\n }\n\n const handleThumbnailClick = (index: number) => {\n setgalleryActiveIndex(index)\n }\n\n const toggleGallery = () => {\n onToggle()\n }\n\n return (\n <Dialog\n open={isOpen}\n trigger={null}\n contentClassName=\"bg-transparent w-fit border-0\"\n onInteractOutside={toggleGallery}\n body={\n <div className=\"flex flex-col items-center justify-center w-full h-full max-w-3xl mx-auto\">\n <X\n size={24}\n color=\"white\"\n className=\"absolute z-50 cursor-pointer -right-10 -top-10\"\n onClick={toggleGallery}\n />\n\n {/* Main Carousel */}\n <div className=\"relative\">\n <div className=\"relative \">\n {isDataAvailable && (\n <img\n key={data[galleryActiveIndex].image_url}\n src={data[galleryActiveIndex].image_url}\n alt={`Street ${galleryActiveIndex + 1}`}\n className=\"w-[500px] max-h-[80vh] object-contain flex-shrink-0\"\n />\n )}\n </div>\n\n {/* Navigation Buttons */}\n <div className=\"relative top-[-50%] left-[-10%] flex row w-[120%] justify-between\">\n <div role=\"button\" tabIndex={0} onClick={handlePrev}>\n <ChevronLeft size={30} color=\"white\" />\n </div>\n <div role=\"button\" tabIndex={0} onClick={handleNext}>\n <ChevronRight size={30} color=\"white\" />\n </div>\n </div>\n </div>\n\n {/* Thumbnails */}\n <div className=\"flex justify-center p-2 mt-4 space-x-2 rounded-lg\">\n {isDataAvailable &&\n data.map((item, index) => (\n <img\n key={index}\n src={item.image_url}\n alt={`Thumbnail ${index + 1}`}\n onClick={() => handleThumbnailClick(index)}\n className={`w-20 h-auto rounded-lg cursor-pointer ${\n index === galleryActiveIndex\n ? 'ring-2 ring-primary-1'\n : 'ring-2 ring-transparent'\n } hover:ring-gray-300`}\n />\n ))}\n </div>\n </div>\n }\n />\n )\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars\nconst CustomTooltipFootfall = ({ active, payload, label, year }: any) => {\n if (active && payload && payload.length) {\n const year = payload[0]?.payload?.year\n const footfall = payload[0]?.value\n return (\n <div className=\"flex flex-col bg-light-1 p-4 rounded-lg shadow-md min-w-[200px] gap-1\">\n {/* Month Information */}\n <Typography variant={'body6'} className=\"text-primary\">\n {`${label}'${year}`}\n </Typography>\n\n {/* Separator */}\n <div className=\"my-2 w-full h-px border border-stroke-1\" />\n\n {/* Footfall/Visits Information */}\n <div className=\"flex\">\n <div\n className=\"h-4 w-1 rounded-lg\"\n style={{ backgroundColor: '#6D48EF' }}\n />\n <Typography variant={'body6'} className=\"text-secondary mx-1\">\n Visits\n </Typography>\n <Typography variant={'body4'} className=\"text-secondary ml-auto\">\n {` ${footfall}`}\n </Typography>\n </div>\n </div>\n )\n }\n return null\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst CustomTooltipCannibalisation = ({ active, payload, label }: any) => {\n if (active && payload && payload.length) {\n const distance = payload[0]?.payload?.distance\n const cannibalisation = payload[0]?.value\n return (\n <div className=\"flex bg-light-1 items-center justify-between rounded-lg shadow-md min-w-45 max-w-80 gap-2 p-2\">\n {/* Month Information */}\n <Typography variant={'body6'} className=\"text-primary\">\n {\n <div className=\"flex h-full justify-between items-center p-2 gap-4\">\n <div>{label}</div>\n <div> {distance + 'km'}</div>\n </div>\n }\n </Typography>\n {/* Footfall/Visits Information */}\n <Typography\n variant={'body4'}\n className=\"text-normal text-danger-1 ml-auto p-2\"\n >\n {`${cannibalisation}%`}\n </Typography>\n </div>\n )\n }\n return null\n}\n\n{\n /*--------- Store insights ----------*/\n}\ninterface StoreInsightsSectionProps {\n insights: ReportSnippetViewNS.CatchmentInsights[]\n // customButton?: React.ReactNode\n}\n\nconst StoreInsightsSection: FC<StoreInsightsSectionProps> = ({ insights }) => {\n return (\n <div>\n <div className=\"flex flex-row mb-4 justify-between\">\n <Typography variant=\"body4\" className=\"text-light-2\">\n Store Insight:\n </Typography>\n </div>\n\n <div className=\"bg-light-2 p-3 border border-neutral-1 rounded-lg\">\n <Typography variant=\"body4\" className=\"text-light-2 mb-2\">\n Presence of other brands in catchment:\n </Typography>\n\n {/* Render store insights data */}\n <div className=\"flex gap-1 flex-wrap\">\n {insights.map((item) => (\n <div\n key={item.type}\n className=\"flex items-center gap-1 bg-light-1 px-2 py-1 rounded-full border border-neutral-1\"\n >\n {/* Icon */}\n <img\n src={item.iconUrl}\n alt={`${item.type} Icon`}\n className=\"w-4 h-4\"\n />\n\n {/* Name and Count */}\n <Typography variant=\"body6\" className=\"text-light-2\">\n {item.count}\n </Typography>\n <div className=\"flex items-center gap-1\">\n <Typography variant=\"body6\" className=\"text-light-2\">\n {item.type === 'competitor' ? 'Competitors' : 'Complementary'}\n </Typography>\n </div>\n </div>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\n{\n /*--------- Store Overview ----------*/\n}\ninterface StoreOverviewSectionProps {\n highlights: ReportSnippetViewNS.StoreHighlights[]\n}\n\nconst StoreOverviewSection: FC<StoreOverviewSectionProps> = ({\n highlights,\n}) => {\n return (\n <div>\n <Typography variant={'body4'} className=\"text-light-2 mb-2\">\n Store Overview:\n </Typography>\n <div className=\"bg-light-2 p-1 border border-neutral-1 rounded-lg\">\n <div className=\"flex justify-evenly items-center\">\n {highlights.map((item, index) => (\n <React.Fragment key={index}>\n <div className=\"flex flex-col items-center justify-center text-center gap-1 p-\">\n {/* Trend Box */}\n <div\n className={trendBoxStyles({\n trend: item.trend?.toString() as '1' | '-1' | '0' | null,\n })}\n >\n {item.trend === 1 && (\n <img\n src=\"https://frontend-static-files.geoiq.io/strapi/trending_up_9d73d6fac5.svg\"\n alt=\"High Trend\"\n className={'w-3 h-3'}\n />\n )}\n {item.trend === -1 && (\n <img\n src=\"https://frontend-static-files.geoiq.io/strapi/trending_down_87adc7f3a6.svg\"\n alt=\"Low Trend\"\n className={'w-3 h-3'}\n />\n )}\n {item.value && item.trend ? (\n <Typography\n variant=\"body5\"\n className={trendValueStyles({\n trend: item.trend?.toString() as\n | '1'\n | '-1'\n | '0'\n | null,\n })}\n >\n {`${item.value}%`}\n </Typography>\n ) : (\n <Typography variant=\"body5\" className=\"text-sm\">\n -\n </Typography>\n )}\n </div>\n\n {/* Name */}\n {item.name && (\n <Typography variant={'body6'} className=\"text-light-2\">\n {item.name}\n </Typography>\n )}\n </div>\n\n {/* Separator */}\n {index < highlights.length - 1 && (\n <div className=\"border-l border-stroke-light-1 h-20 mx-1\" />\n )}\n </React.Fragment>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\n{\n /*----------------- Footfall Trends ------------------*/\n}\ninterface FootfallChartSectionProps {\n data: ReportSnippetViewNS.FootfallChartData[]\n}\n\nconst FootfallChartSection: FC<FootfallChartSectionProps> = ({ data }) => {\n if (!data || data.every((item) => item.footfall === null)) {\n return null\n }\n return (\n <div className=\"w-full h-full bg-light-2 border border-neutral-1 p-3 rounded-lg\">\n {/* Section heading */}\n <Typography variant={'body4'} className=\"text-light-2 mb-4\">\n Footfall trends\n </Typography>\n\n {/* Bar Chart */}\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart\n data={data}\n margin={{\n top: 3,\n right: 3,\n bottom: -10,\n left: 3,\n }}\n barSize={24}\n >\n <CartesianGrid strokeDasharray=\"10 10\" />\n <XAxis\n dataKey=\"month\"\n style={{\n font: 'Kumbh Sans',\n fontSize: '12px',\n fontWeight: '500',\n color: '#4A4A4A',\n }}\n />\n <YAxis\n className=\"text-4-grey\"\n style={{ fontSize: '12px', fontWeight: '500' }}\n tickFormatter={(val) => {\n if (val > 1000000) {\n return `${val / 1000000}M`\n }\n if (val > 1000) {\n return `${val / 1000}K`\n }\n return val\n }}\n label={{\n value: 'AVG FOOTFALL FOR A 3-MONTH PERIOD',\n angle: -90,\n position: 'insideLeft',\n dy: -5,\n style: {\n textAnchor: 'middle',\n fontSize: '12px',\n fontWeight: '500',\n },\n }}\n />\n <Tooltip content={<CustomTooltipFootfall />} />\n <Bar\n dataKey=\"footfall\"\n fill=\"#6D48EF\"\n radius={[4, 4, 4, 4]}\n style={{ cursor: 'pointer' }}\n />\n </BarChart>\n </ResponsiveContainer>\n </div>\n )\n}\n\n{\n /* -----------------Cannibalisation Effect------------------ */\n}\ninterface CannibalisationChartSectionProps {\n data: ReportSnippetViewNS.CannibalisationChartData[]\n}\n\nconst CannibalisationChartSection: FC<CannibalisationChartSectionProps> = ({\n data,\n}) => {\n if (!data || data.every((item) => item.cannibalisation === null)) {\n return null\n }\n const formatXAxisLabel = (label: string) => {\n const barCount = data.length\n let maxLength\n\n if (barCount <= 1) {\n maxLength = 50\n } else if (barCount <= 6) {\n maxLength = 22 - (barCount - 1) * 4\n } else {\n maxLength = 6\n }\n\n return label.length > maxLength ? `${label.slice(0, maxLength)}...` : label\n }\n return (\n <div className=\"w-full h-full bg-light-2 border border-neutral-1 p-3 rounded-lg\">\n {/* Section heading */}\n <Typography variant={'body4'} className=\"text-light-2 mb-4\">\n Cannibalisation effects\n </Typography>\n\n {/* Bar Chart */}\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart\n data={data}\n margin={{\n top: 3,\n right: 3,\n bottom: 5,\n left: 3,\n }}\n barSize={24}\n >\n <CartesianGrid strokeDasharray=\"10 10\" />\n <XAxis\n dataKey=\"store_name\"\n tickFormatter={formatXAxisLabel}\n tickMargin={10}\n tick={(props) => {\n const { x, y, payload } = props\n return (\n <text x={x} y={y} textAnchor={'end'} fill=\"#666\">\n <tspan x={x} style={{ fontSize: 12 }}>\n {formatXAxisLabel(payload.value)}\n </tspan>\n <tspan\n x={x}\n dy=\"1.5em\"\n style={{\n fontSize: 10,\n whiteSpace: 'nowrap',\n paddingTop: '2px',\n }}\n >\n {data[payload.index].distance + ' kms'}\n </tspan>\n </text>\n )\n }}\n />\n <YAxis\n className=\"text-4-grey\"\n style={{ fontSize: '12px', fontWeight: '500' }}\n tickFormatter={(val) => {\n if (val > 1000000) {\n return `${val / 1000000}M`\n }\n if (val > 1000) {\n return `${val / 1000}K`\n }\n return val\n }}\n label={{\n value: 'CANNIBALISATION IN %',\n angle: -90,\n position: 'insideLeft',\n dy: -5,\n style: {\n textAnchor: 'middle',\n fontSize: '12px',\n fontWeight: '500',\n },\n }}\n domain={[0, 100]}\n />\n <Tooltip content={<CustomTooltipCannibalisation />} />\n <Bar\n dataKey=\"cannibalisation\"\n fill=\"#F93232\"\n radius={[4, 4, 4, 4]}\n style={{ cursor: 'pointer' }}\n />\n </BarChart>\n </ResponsiveContainer>\n </div>\n )\n}\n\nexport {\n ReportSnippetGalleryView,\n StoreInsightsSection,\n StoreOverviewSection,\n FootfallChartSection,\n CannibalisationChartSection,\n}\n"],"names":["ReportSnippetGalleryView","data","onToggle","isOpen","galleryActiveIndex","setgalleryActiveIndex","isDataAvailable","handleNext","prevIndex","handlePrev","handleThumbnailClick","index","toggleGallery","React","Dialog","X","ChevronLeft","ChevronRight","item","CustomTooltipFootfall","active","payload","label","year","footfall","Typography","CustomTooltipCannibalisation","distance","cannibalisation","StoreInsightsSection","insights","StoreOverviewSection","highlights","trendBoxStyles","trendValueStyles","FootfallChartSection","ResponsiveContainer","BarChart","CartesianGrid","XAxis","YAxis","val","Tooltip","Bar","CannibalisationChartSection","formatXAxisLabel","barCount","maxLength","props","x","y"],"mappings":"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"}