mayak-common-library 0.0.13 → 0.0.15

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.d.mts CHANGED
@@ -104,10 +104,53 @@ declare const Providers: FC<PropsWithChildren>;
104
104
 
105
105
  interface AppBarProps {
106
106
  links: {
107
- href: string;
107
+ path: string;
108
108
  title: string;
109
109
  }[];
110
110
  }
111
111
  declare const AppBar: FC<AppBarProps>;
112
112
 
113
- export { AppBar, CustomAvatar as Avatar, CustomBadge as Badge, Button, CustomChip as Chip, FromToInput, Greet, IconButton, CustomInput as Input, CustomMenuItem as MenuItem, PhoneInput, Providers, CustomRadio as Radio, CustomRadioGroup as RadioGroup, CustomSelect as Select, SelectPro, CustomSlider as Slider, CustomSwitch as Switch, Text };
113
+ interface ImageContainerProps {
114
+ src: any;
115
+ alt: string;
116
+ contentful?: boolean;
117
+ priority?: boolean;
118
+ loading?: "lazy" | "eager" | undefined;
119
+ width?: string;
120
+ height?: string;
121
+ objectFit?: string;
122
+ }
123
+ declare const ImageContainer: FC<ImageContainerProps>;
124
+
125
+ interface CategoryCardProps {
126
+ image_url?: string;
127
+ title: string;
128
+ text: string;
129
+ link: string;
130
+ }
131
+ declare const CategoryCard: FC<CategoryCardProps>;
132
+
133
+ interface ArticleCardProps {
134
+ image_src?: string;
135
+ }
136
+ declare const ArticleCard: FC<ArticleCardProps>;
137
+
138
+ interface JobCardProps {
139
+ }
140
+ declare const JobCard: FC<JobCardProps>;
141
+
142
+ declare const RealtorCard: () => react_jsx_runtime.JSX.Element;
143
+
144
+ interface RealtyCardProps {
145
+ }
146
+ declare const RealtyCard: FC<RealtyCardProps>;
147
+
148
+ interface TeamPersonCardProps {
149
+ image_url?: string;
150
+ name: string;
151
+ position: string;
152
+ text: string;
153
+ }
154
+ declare const TeamPersonCard: FC<TeamPersonCardProps>;
155
+
156
+ export { AppBar, ArticleCard, CustomAvatar as Avatar, CustomBadge as Badge, Button, CategoryCard, CustomChip as Chip, FromToInput, Greet, IconButton, ImageContainer, CustomInput as Input, JobCard, CustomMenuItem as MenuItem, PhoneInput, Providers, CustomRadio as Radio, CustomRadioGroup as RadioGroup, RealtorCard, RealtyCard, CustomSelect as Select, SelectPro, CustomSlider as Slider, CustomSwitch as Switch, TeamPersonCard, Text };
package/dist/index.d.ts CHANGED
@@ -104,10 +104,53 @@ declare const Providers: FC<PropsWithChildren>;
104
104
 
105
105
  interface AppBarProps {
106
106
  links: {
107
- href: string;
107
+ path: string;
108
108
  title: string;
109
109
  }[];
110
110
  }
111
111
  declare const AppBar: FC<AppBarProps>;
112
112
 
113
- export { AppBar, CustomAvatar as Avatar, CustomBadge as Badge, Button, CustomChip as Chip, FromToInput, Greet, IconButton, CustomInput as Input, CustomMenuItem as MenuItem, PhoneInput, Providers, CustomRadio as Radio, CustomRadioGroup as RadioGroup, CustomSelect as Select, SelectPro, CustomSlider as Slider, CustomSwitch as Switch, Text };
113
+ interface ImageContainerProps {
114
+ src: any;
115
+ alt: string;
116
+ contentful?: boolean;
117
+ priority?: boolean;
118
+ loading?: "lazy" | "eager" | undefined;
119
+ width?: string;
120
+ height?: string;
121
+ objectFit?: string;
122
+ }
123
+ declare const ImageContainer: FC<ImageContainerProps>;
124
+
125
+ interface CategoryCardProps {
126
+ image_url?: string;
127
+ title: string;
128
+ text: string;
129
+ link: string;
130
+ }
131
+ declare const CategoryCard: FC<CategoryCardProps>;
132
+
133
+ interface ArticleCardProps {
134
+ image_src?: string;
135
+ }
136
+ declare const ArticleCard: FC<ArticleCardProps>;
137
+
138
+ interface JobCardProps {
139
+ }
140
+ declare const JobCard: FC<JobCardProps>;
141
+
142
+ declare const RealtorCard: () => react_jsx_runtime.JSX.Element;
143
+
144
+ interface RealtyCardProps {
145
+ }
146
+ declare const RealtyCard: FC<RealtyCardProps>;
147
+
148
+ interface TeamPersonCardProps {
149
+ image_url?: string;
150
+ name: string;
151
+ position: string;
152
+ text: string;
153
+ }
154
+ declare const TeamPersonCard: FC<TeamPersonCardProps>;
155
+
156
+ export { AppBar, ArticleCard, CustomAvatar as Avatar, CustomBadge as Badge, Button, CategoryCard, CustomChip as Chip, FromToInput, Greet, IconButton, ImageContainer, CustomInput as Input, JobCard, CustomMenuItem as MenuItem, PhoneInput, Providers, CustomRadio as Radio, CustomRadioGroup as RadioGroup, RealtorCard, RealtyCard, CustomSelect as Select, SelectPro, CustomSlider as Slider, CustomSwitch as Switch, TeamPersonCard, Text };
package/dist/index.js CHANGED
@@ -60,23 +60,30 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
60
60
  var src_exports = {};
61
61
  __export(src_exports, {
62
62
  AppBar: () => AppBar_default,
63
+ ArticleCard: () => ArticleCard_default,
63
64
  Avatar: () => Avatar_default,
64
65
  Badge: () => Badge_default,
65
66
  Button: () => Button_default,
67
+ CategoryCard: () => CategoryCard_default,
66
68
  Chip: () => Chip_default,
67
69
  FromToInput: () => FromToInput_default,
68
70
  Greet: () => Greet,
69
71
  IconButton: () => IconButton_default,
72
+ ImageContainer: () => ImageContainer_default,
70
73
  Input: () => Input_default,
74
+ JobCard: () => JobCard_default,
71
75
  MenuItem: () => MenuItem_default,
72
76
  PhoneInput: () => PhoneInput_default,
73
77
  Providers: () => Providers_default,
74
78
  Radio: () => Radio_default,
75
79
  RadioGroup: () => RadioGroup_default,
80
+ RealtorCard: () => RealtorCard_default,
81
+ RealtyCard: () => RealtyCard_default,
76
82
  Select: () => Select_default,
77
83
  SelectPro: () => SelectPro_default,
78
84
  Slider: () => Slider_default,
79
85
  Switch: () => Switch_default,
86
+ TeamPersonCard: () => TeamPersonCard_default,
80
87
  Text: () => Text_default
81
88
  });
82
89
  module.exports = __toCommonJS(src_exports);
@@ -160,7 +167,7 @@ var IconButton_default = IconButton;
160
167
  var import_react = require("react");
161
168
  var import_material3 = require("@mui/material");
162
169
 
163
- // src/assets/dropdown-arrow.svg
170
+ // src/icons/dropdown-arrow.svg
164
171
  var dropdown_arrow_default = "./dropdown-arrow-CDZAF5GJ.svg";
165
172
 
166
173
  // src/components/Select/Select.tsx
@@ -248,14 +255,14 @@ var CustomSelect = (props) => {
248
255
  };
249
256
  var Select_default = CustomSelect;
250
257
 
251
- // src/assets/search.svg
258
+ // src/icons/search.svg
252
259
  var search_default = "./search-HJGCO2DZ.svg";
253
260
 
254
261
  // src/components/Select/SelectPro.tsx
255
262
  var import_react2 = require("react");
256
263
  var import_material4 = require("@mui/material");
257
264
 
258
- // src/assets/close.svg
265
+ // src/icons/close.svg
259
266
  var close_default = "./close-4XJDSDVO.svg";
260
267
 
261
268
  // src/components/Select/SelectPro.tsx
@@ -609,8 +616,46 @@ var import_ThemeProvider = __toESM(require("@mui/material/styles/ThemeProvider")
609
616
  var import_createTheme = __toESM(require("@mui/material/styles/createTheme"));
610
617
  var import_CssBaseline = __toESM(require("@mui/material/CssBaseline"));
611
618
  var import_stylis = require("stylis");
619
+
620
+ // src/styles/assets.ts
621
+ var WINDOW_SIZE = {
622
+ xs: 0,
623
+ sm: 400,
624
+ md: 700,
625
+ lg: 1200,
626
+ xl: 1620
627
+ };
628
+ var _theme = {
629
+ typography: {
630
+ fontFamily: ["RockStar", "sans-serif"].join(","),
631
+ body1: {
632
+ fontSize: 14,
633
+ lineHeight: "22px"
634
+ }
635
+ },
636
+ breakpoints: {
637
+ values: {
638
+ xs: WINDOW_SIZE.xs,
639
+ sm: WINDOW_SIZE.sm,
640
+ md: WINDOW_SIZE.md,
641
+ lg: WINDOW_SIZE.lg,
642
+ xl: WINDOW_SIZE.xl
643
+ }
644
+ },
645
+ components: {
646
+ MuiButton: {
647
+ styleOverrides: {
648
+ root: {
649
+ fontFamily: "RockStar, sans-serif"
650
+ }
651
+ }
652
+ }
653
+ }
654
+ };
655
+
656
+ // src/theme/index.tsx
612
657
  var import_jsx_runtime18 = require("react/jsx-runtime");
613
- var theme = (0, import_createTheme.default)({});
658
+ var theme = (0, import_createTheme.default)(__spreadValues({}, _theme));
614
659
  function ThemeRegistry(props) {
615
660
  const { children } = props;
616
661
  const [{ cache, flush }] = (0, import_react4.useState)(() => {
@@ -637,9 +682,7 @@ function ThemeRegistry(props) {
637
682
  });
638
683
  (0, import_navigation.useServerInsertedHTML)(() => {
639
684
  const names = flush();
640
- if (names.length === 0) {
641
- return null;
642
- }
685
+ if (names.length === 0) return null;
643
686
  let styles = "";
644
687
  for (const name of names) {
645
688
  styles += cache.inserted[name];
@@ -698,8 +741,8 @@ var AppBar = ({ links }) => {
698
741
  ref: (el) => {
699
742
  navItemsRef.current[index] = el;
700
743
  },
701
- href: link.href,
702
- className: `nav-item ${index === activeIndex ? "active" : ""}`,
744
+ href: link.path,
745
+ className: `nav-item ${index === activeIndex ? "active" : ""} hover:text-accent-beige`,
703
746
  onClick: () => handleClick(index),
704
747
  children: link.title
705
748
  },
@@ -708,25 +751,225 @@ var AppBar = ({ links }) => {
708
751
  ] });
709
752
  };
710
753
  var AppBar_default = AppBar;
754
+
755
+ // src/components/Image/ImageContainer.tsx
756
+ var import_material13 = require("@mui/material");
757
+ var import_image = __toESM(require("next/image"));
758
+ var import_jsx_runtime21 = require("react/jsx-runtime");
759
+ var ImageContainer = (props) => {
760
+ const {
761
+ src,
762
+ alt,
763
+ width = "w-full",
764
+ height = "h-full",
765
+ contentful = true,
766
+ priority = false,
767
+ loading = "lazy",
768
+ objectFit = "object-cover"
769
+ } = props;
770
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_material13.Box, { className: `relative ${width} ${height}`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
771
+ import_image.default,
772
+ {
773
+ className: `${objectFit} object-center`,
774
+ src: contentful ? `https:${src}` : src,
775
+ alt,
776
+ fill: true,
777
+ loading,
778
+ sizes: "(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw",
779
+ priority
780
+ }
781
+ ) });
782
+ };
783
+ var ImageContainer_default = ImageContainer;
784
+
785
+ // src/components/Card/CategoryCard.tsx
786
+ var import_material14 = require("@mui/material");
787
+ var import_link2 = __toESM(require("next/link"));
788
+
789
+ // src/lib/assets.ts
790
+ var NO_IMAGE = "/images/no-photo.svg";
791
+
792
+ // src/components/Card/CategoryCard.tsx
793
+ var import_jsx_runtime22 = require("react/jsx-runtime");
794
+ var CategoryCard = (props) => {
795
+ const { link, text, title, image_url = NO_IMAGE } = props;
796
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_link2.default, { href: link, className: "group/card", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_material14.Box, { className: "flex flex-col gap-[20px]", children: [
797
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ImageContainer_default, { src: image_url, alt: title, height: "h-[300px]" }),
798
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_material14.Box, { className: "flex flex-col px-[16px]", children: [
799
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
800
+ import_material14.Typography,
801
+ {
802
+ component: "span",
803
+ className: "font-extrabold text-16 group-hover/card:text-gold2",
804
+ children: title
805
+ }
806
+ ),
807
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_material14.Typography, { component: "span", className: "group-hover/card:text-gold2", children: text })
808
+ ] })
809
+ ] }) });
810
+ };
811
+ var CategoryCard_default = CategoryCard;
812
+
813
+ // src/components/Card/ArticleCard.tsx
814
+ var import_link3 = __toESM(require("next/link"));
815
+ var import_material15 = require("@mui/material");
816
+ var import_Typography5 = __toESM(require("@mui/material/Typography"));
817
+ var import_jsx_runtime23 = require("react/jsx-runtime");
818
+ var ArticleCard = (props) => {
819
+ const { image_src = NO_IMAGE } = props;
820
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_link3.default, { href: "/", className: "group/card bg-gray-light", children: [
821
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
822
+ ImageContainer_default,
823
+ {
824
+ src: image_src,
825
+ alt: "test",
826
+ contentful: false,
827
+ height: "h-[220px]"
828
+ }
829
+ ),
830
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_material15.Box, { className: "pt-[24px] pl-[16px] pr-[50px] pb-[10px] flex flex-col gap-[6px]", children: [
831
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
832
+ import_Typography5.default,
833
+ {
834
+ component: "span",
835
+ className: "text-16 font-extrabold group-hover/card:text-gold2",
836
+ children: "\u041E\u0441\u043E\u0431\u043B\u0438\u0432\u043E\u0441\u0442\u0456 \u043A\u0443\u043F\u0456\u0432\u043B\u0456 \u0433\u043E\u0442\u0435\u043B\u044E"
837
+ }
838
+ ),
839
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
840
+ import_Typography5.default,
841
+ {
842
+ component: "span",
843
+ className: "text-gray group-hover/card:text-gold2",
844
+ children: "We have built a strong network in Dubai since 2009, which allows us to source the best deal for"
845
+ }
846
+ ),
847
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_Typography5.default, { component: "span", className: "border-gold-block-snack", children: "\u0422\u0435\u0433-\u043D\u0430\u0437\u0432\u0430" })
848
+ ] })
849
+ ] });
850
+ };
851
+ var ArticleCard_default = ArticleCard;
852
+
853
+ // src/components/Card/JobCard.tsx
854
+ var import_jsx_runtime24 = require("react/jsx-runtime");
855
+ var JobCard = () => {
856
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {});
857
+ };
858
+ var JobCard_default = JobCard;
859
+
860
+ // src/components/Card/RealtorCard.tsx
861
+ var import_jsx_runtime25 = require("react/jsx-runtime");
862
+ var RealtorCard = () => {
863
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_jsx_runtime25.Fragment, {});
864
+ };
865
+ var RealtorCard_default = RealtorCard;
866
+
867
+ // src/components/Card/RealtyCard.tsx
868
+ var import_material16 = require("@mui/material");
869
+ var import_link4 = __toESM(require("next/link"));
870
+ var import_jsx_runtime26 = require("react/jsx-runtime");
871
+ var RealtyCard = () => {
872
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_link4.default, { href: "/", className: "relative", children: [
873
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_material16.Box, { className: "absolute left-[16px] top-[16px] flex flex-col gap-[9px] z-[1]", children: [
874
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Chip_default, { view: "white", label: "id: 00154" }),
875
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Chip_default, { view: "white", label: "\u0416\u041A: \u0421\u0443\u0447\u0430\u0441\u043D\u0438\u0439 \u043A\u0432\u0430\u0440\u0442\u0430\u043B4" })
876
+ ] }),
877
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
878
+ ImageContainer_default,
879
+ {
880
+ src: "/images/test.png",
881
+ alt: "test",
882
+ height: "h-[260px]",
883
+ contentful: false
884
+ }
885
+ ),
886
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_material16.Box, { className: "bg-white py-[20px] px-[16px] flex flex-col gap-[6px]", children: [
887
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Chip_default, { view: "black", label: "120 000 \u20B4/\u043C\u0456\u0441\u044F\u0446\u044C" }),
888
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_material16.Typography, { component: "span", className: "font-extrabold", children: "\u0432\u0443\u043B. \u0414\u0440\u0430\u0433\u043E\u043C\u0438\u0440\u043E\u0432\u0430 25" }),
889
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_material16.Typography, { component: "span", className: "text-12", children: "\u041F\u0435\u0447\u0435\u0440\u0441\u044C\u043A\u0438\u0439 \u0440-\u043D" }),
890
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
891
+ Chip_default,
892
+ {
893
+ view: "silver",
894
+ label: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_material16.Stack, { direction: "row", spacing: 1, children: [
895
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_material16.Typography, { children: "\u043C\u0435\u0442\u0440\u043E:" }),
896
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_material16.Typography, { className: "font-extrabold", children: "\u041B\u0438\u0431\u0456\u0434\u0441\u044C\u043A\u0430" })
897
+ ] })
898
+ }
899
+ ),
900
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_material16.Box, { className: "flex flex-wrap gap-[6px] mt-[6px]", children: [
901
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Chip_default, { view: "line", label: "2 \u043A\u0456\u043C\u043D" }),
902
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Chip_default, { view: "line", label: "60 \u043C\xB2" }),
903
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Chip_default, { view: "line", label: "\u043F\u043E\u0432\u0435\u0440\u0445: 3/24" })
904
+ ] })
905
+ ] })
906
+ ] });
907
+ };
908
+ var RealtyCard_default = RealtyCard;
909
+
910
+ // src/components/Card/TeamPersonCard.tsx
911
+ var import_material17 = require("@mui/material");
912
+ var import_jsx_runtime27 = require("react/jsx-runtime");
913
+ var TeamPersonCard = (props) => {
914
+ const { image_url = NO_IMAGE, name, position, text } = props;
915
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_material17.Box, { className: "group/card", children: [
916
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_material17.Box, { className: "relative h-[300px]", children: [
917
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material17.Box, { className: "w-full h-full bg-gray-medium group-hover/card:brightness-[50%]", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
918
+ ImageContainer_default,
919
+ {
920
+ contentful: false,
921
+ src: image_url,
922
+ alt: name,
923
+ objectFit: "object-contain"
924
+ }
925
+ ) }),
926
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_material17.Box, { className: "hidden absolute top-[110px] left-[30px] right-[30px] group-hover/card:flex flex-col text-white", children: [
927
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material17.Typography, { component: "span", className: "text-16 font-extrabold", children: position }),
928
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material17.Typography, { component: "span", className: "mt-[4px]", children: name }),
929
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
930
+ import_material17.Typography,
931
+ {
932
+ component: "span",
933
+ className: "mt-[11px] text-12 !leading-[16px]",
934
+ children: text
935
+ }
936
+ )
937
+ ] })
938
+ ] }),
939
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_material17.Box, { className: "mt-[20px] text-center mx-auto flex flex-col w-10/12", children: [
940
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material17.Typography, { component: "span", className: "text-16 font-extrabold", children: position }),
941
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material17.Typography, { component: "span", className: "text-gray", children: name })
942
+ ] })
943
+ ] });
944
+ };
945
+ var TeamPersonCard_default = TeamPersonCard;
711
946
  // Annotate the CommonJS export names for ESM import in node:
712
947
  0 && (module.exports = {
713
948
  AppBar,
949
+ ArticleCard,
714
950
  Avatar,
715
951
  Badge,
716
952
  Button,
953
+ CategoryCard,
717
954
  Chip,
718
955
  FromToInput,
719
956
  Greet,
720
957
  IconButton,
958
+ ImageContainer,
721
959
  Input,
960
+ JobCard,
722
961
  MenuItem,
723
962
  PhoneInput,
724
963
  Providers,
725
964
  Radio,
726
965
  RadioGroup,
966
+ RealtorCard,
967
+ RealtyCard,
727
968
  Select,
728
969
  SelectPro,
729
970
  Slider,
730
971
  Switch,
972
+ TeamPersonCard,
731
973
  Text
732
974
  });
975
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/components/Greet.tsx","../src/components/Button/Button.tsx","../src/components/Button/IconButton.tsx","../src/components/Select/Select.tsx","../src/components/Select/SelectPro.tsx","../src/components/Chip/Chip.tsx","../src/components/Badge/Badge.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Text/Text.tsx","../src/components/Radio/Radio.tsx","../src/components/RadioGroup/RadioGroup.tsx","../src/components/Switch/Switch.tsx","../src/components/Slider/Slider.tsx","../src/components/MenuItem/MenuItem.tsx","../src/components/Input/Input.tsx","../src/components/Input/PhoneInput.tsx","../src/components/Input/FromToInput.tsx","../src/theme/index.tsx","../src/styles/assets.ts","../src/providers/Providers.tsx","../src/components/AppBar/AppBar.tsx","../src/components/Image/ImageContainer.tsx","../src/components/Card/CategoryCard.tsx","../src/lib/assets.ts","../src/components/Card/ArticleCard.tsx","../src/components/Card/JobCard.tsx","../src/components/Card/RealtorCard.tsx","../src/components/Card/RealtyCard.tsx","../src/components/Card/TeamPersonCard.tsx"],"sourcesContent":["import Greet from \"./components/Greet\";\nimport { Button, IconButton } from \"./components/Button\";\nimport { Select, SelectPro } from \"./components/Select\";\nimport Chip from \"./components/Chip\";\nimport Badge from \"./components/Badge\";\nimport Avatar from \"./components/Avatar\";\nimport Text from \"./components/Text\";\nimport Radio from \"./components/Radio\";\nimport RadioGroup from \"./components/RadioGroup\";\nimport Switch from \"./components/Switch\";\nimport Slider from \"./components/Slider\";\nimport MenuItem from \"./components/MenuItem\";\nimport { Input, PhoneInput, FromToInput } from \"./components/Input\";\nimport Providers from \"./providers/Providers\";\nimport AppBar from \"./components/AppBar\";\nimport ImageContainer from \"./components/Image\";\nimport {\n ArticleCard,\n JobCard,\n RealtorCard,\n TeamPersonCard,\n RealtyCard,\n CategoryCard,\n} from \"./components/Card\";\n\nexport {\n FromToInput,\n Greet,\n Button,\n IconButton,\n Select,\n SelectPro,\n Badge,\n Chip,\n Text,\n Avatar,\n Radio,\n RadioGroup,\n Input,\n PhoneInput,\n Switch,\n Slider,\n AppBar,\n MenuItem,\n Providers,\n ImageContainer,\n ArticleCard,\n RealtorCard,\n JobCard,\n TeamPersonCard,\n RealtyCard,\n CategoryCard,\n};\n","export default function Greet(props: { name: string }) {\n const { name } = props;\n\n return <div>Hello {name}</div>;\n}\n","import ButtonMUI, { ButtonProps } from \"@mui/material/Button\";\nimport { PropsWithChildren, FC } from \"react\";\nimport { styled } from \"@mui/material\";\nimport Typography from \"@mui/material/Typography\";\n\nconst StyledButton = styled(ButtonMUI)(() => ({\n textTransform: \"none\",\n width: \"fit-content\",\n color: \"#343434\",\n \"&:hover\": {\n backgroundColor: \"unset\",\n svg: {\n filter:\n \"brightness(0) saturate(100%) invert(95%) sepia(10%) saturate(806%) hue-rotate(339deg) brightness(83%) contrast(85%)\",\n },\n },\n transition: \"transform 0.1s ease-in-out\",\n \"&:active\": {\n // p: {\n // transform: \"scale(0.99)\",\n // },\n },\n}));\n\nexport interface CustomButtonProps extends ButtonProps, PropsWithChildren {\n bolt?: boolean;\n border?: boolean;\n base?: boolean;\n small?: boolean;\n large?: boolean;\n}\n// px-7 py-1.5\nconst Button: FC<CustomButtonProps> = (props) => {\n const { children, base, bolt, border, small, large, ...rest } = props;\n return (\n <StyledButton\n {...rest}\n disableRipple\n className={`${base ? \"bg-accent-dark rounded-none text-white hover:bg-accent-beige text-base\" : \"\"}\n${small ? \"py-1.5 px-4\" : \"\"}\n ${large ? \"py-5 px-10\" : \"\"} \n ${border ? \"border-b border-solid rounded-none\" : \"\"}`}\n >\n <Typography\n className={`${bolt ? \"font-extrabold leading-4\" : \"font-normal leading-3\"}`}\n >\n {children}\n </Typography>\n </StyledButton>\n );\n};\n\nexport default Button;\n","import { PropsWithChildren, FC } from \"react\";\nimport { IconButton as IconButtonMUI, styled } from \"@mui/material\";\nimport { IconButtonProps } from \"@mui/material/IconButton/IconButton\";\n\nconst StyledButton = styled(IconButtonMUI)(() => ({\n width: \"fit-content\",\n borderRadius: 0,\n svg: {\n margin: \"1px 0 0 0px\",\n },\n \"&:hover\": {\n svg: {\n filter:\n \"brightness(0) saturate(100%) invert(95%) sepia(10%) saturate(806%) hue-rotate(339deg) brightness(83%) contrast(85%)\",\n },\n },\n}));\n\nexport interface CustomIconButtonProps\n extends IconButtonProps,\n PropsWithChildren {}\n\nconst IconButton: FC<CustomIconButtonProps> = (props) => {\n const { children, ...rest } = props;\n return (\n <StyledButton {...rest} disableRipple>\n {children}\n </StyledButton>\n );\n};\n\nexport default IconButton;\n","import { PropsWithChildren, useRef, FC, useState, useEffect } from \"react\";\nimport { Select, styled } from \"@mui/material\";\nimport Arrow from \"@/icons/dropdown-arrow.svg\";\nimport \"./styles.css\";\n\nimport { SelectProps } from \"@mui/material/Select/Select\";\nconst StyledSelect = styled(Select)(({ open }: SelectProps) => ({\n minWidth: 250,\n \"&.MuiInputBase-root\": {\n borderRadius: \"0\",\n transition: \"0.3s ease-in-out\",\n \"&.Mui-focused\": {\n backgroundColor: open ? \"white\" : \"transparent\",\n },\n },\n\n svg: {\n // Added '&' to the beginning of the selector\n position: \"absolute\",\n right: \"18px\",\n transform: `${open ? \"rotate(180deg)\" : \"rotate(0deg)\"}`, // Moved the transform style here and added a condition based on the 'open' prop\n },\n \".MuiOutlinedInput-notchedOutline\": {\n // transition: '0.3s ease-in-out',\n borderColor: \"#343434 \",\n },\n // '.MuiSvgIcon-root':{\n // transition: '0.3s ease-in-out',\n // },\n \":hover\": {\n \".MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#343434\",\n },\n },\n\n \"&.Mui-focused fieldset\": {\n \"&.MuiOutlinedInput-notchedOutline\": {\n // borderColor: 'accent-dark',\n border: \"none\",\n // all: 'unset'\n },\n },\n}));\n\nconst CustomSelect: FC<SelectProps & PropsWithChildren> = (props) => {\n const { children, placeholder, ...rest } = props;\n const myRef = useRef<HTMLInputElement>(null);\n\n const [open, setOpen] = useState(false);\n const uniqueId = \"select_\" + Math.random().toFixed(5).slice(2);\n // const menuRef = useRef(null);\n\n const handleOpen = () => {\n setOpen(true);\n // myRef.current?.classList?.add('Mui-focused');\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n useEffect(() => {\n if (!open) myRef.current?.classList.remove(\"Mui-focused\");\n }, [open]);\n\n return (\n <StyledSelect\n {...rest}\n ref={myRef}\n open={open}\n onOpen={handleOpen}\n onClose={handleClose}\n sx={{\n \"& .MuiSelect-select .notranslate::after\": placeholder\n ? {\n content: `\"${placeholder}\"`,\n // opacity: 0.42,\n }\n : {},\n }}\n // displayEmpty\n // renderValue={(value) => (value !== '' ? value : 'Placeholder text')}\n\n inputProps={{ \"aria-labelledby\": uniqueId }}\n className={`h-12 `}\n MenuProps={{\n disableScrollLock: true,\n // ref: menuRef,\n id: uniqueId,\n PaperProps: {\n classes: {\n root: `menu ${open ? \"menu--open\" : \"menu--close\"}`,\n },\n },\n }}\n // IconComponent={()=><Arrow style={{position: 'absolute', right: '18px', transform: open ? 'rotate(180deg)' : 'rotate(0deg)', transition: '0.3s ease-in-out' }}/>}\n IconComponent={() => <Arrow />}\n >\n {children}\n </StyledSelect>\n );\n};\n\nexport default CustomSelect;\n","import Arrow from \"@/icons/dropdown-arrow.svg\";\nimport Search from \"@/icons/search.svg\";\nimport \"./styles.css\";\nimport {\n useState,\n MouseEvent,\n PropsWithChildren,\n FC,\n isValidElement,\n ReactElement,\n cloneElement,\n} from \"react\";\nimport {\n Box,\n ClickAwayListener,\n Paper,\n Typography,\n Button,\n} from \"@mui/material\";\nimport Close from \"@/icons/close.svg\";\nimport IconButton from \"@/components/Button/IconButton\";\n\ninterface SelectProProps {\n placeholder?: string;\n childTitle?: string;\n colorBorder?: boolean;\n clickComponent?: ReactElement;\n fullContainerWidth?: boolean;\n overButton?: boolean;\n small?: boolean;\n}\n\nconst SelectPro: FC<PropsWithChildren & SelectProProps> = ({\n children,\n placeholder,\n childTitle,\n colorBorder = false,\n clickComponent,\n fullContainerWidth = false,\n overButton = false,\n small = false,\n}) => {\n const [btn, setAnchorEl] = useState(null);\n const [open, setOpen] = useState<boolean>(false);\n\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n if (open)\n setTimeout(() => {\n setAnchorEl(null);\n }, 200);\n else setAnchorEl(event.currentTarget as any);\n setOpen(!open);\n };\n\n const handleClose = () => {\n setOpen(false);\n setTimeout(() => {\n setAnchorEl(null);\n }, 200);\n };\n\n const childrenWithHandleChange = isValidElement(children)\n ? cloneElement(children as ReactElement, {\n collapseParent: handleClose,\n })\n : children;\n\n return (\n <ClickAwayListener onClickAway={handleClose}>\n <Box>\n {clickComponent ? (\n cloneElement(clickComponent, {\n ref: btn,\n onClick: handleClick,\n })\n ) : (\n <Button\n ref={btn}\n aria-controls={open ? \"basic-menu\" : undefined}\n aria-haspopup=\"true\"\n aria-expanded={open ? \"true\" : undefined}\n onClick={handleClick}\n disableRipple\n fullWidth\n sx={{\n height: small ? \"34px\" : \"49px\",\n padding: small ? \"0 10px 0 6px\" : \"0 20px 0 19px\",\n }}\n className={`border rounded-none border-solid normal-case text-accent-dark hover:bg-white ${\n open ? \"!border-transparent bg-white\" : \"\"\n } ${\n colorBorder\n ? \"border-accent-beige flex-row-reverse justify-end gap-x-2\"\n : \"justify-between border-accent-dark\"\n }`}\n >\n <Typography\n className={\"text-sm leading-4\"}\n >{`${placeholder}`}</Typography>\n {colorBorder ? (\n <Search />\n ) : (\n <Arrow\n style={{\n transform: open ? \"scaleY(-1)\" : \"scaleY(1)\",\n transition: \"0.3s ease-in-out\",\n }}\n />\n )}\n </Button>\n )}\n\n {btn ? (\n <Paper\n sx={{\n position: \"absolute\",\n width:\n !fullContainerWidth && btn\n ? (btn as HTMLButtonElement).offsetWidth\n : \"100%\",\n left: fullContainerWidth ? 0 : \"initial\",\n right: fullContainerWidth ? 0 : \"initial\",\n top: overButton ? 0 : \"initial\",\n }}\n className={`menu ${open ? \"menu--open\" : \"menu--close\"} z-50 rounded-none shadow-sm`}\n >\n <Box className={`flex flex-col p-3 gap-3`}>\n {overButton ? (\n <IconButton\n className={\"bg-accent-silver p-1 self-end absolute\"}\n onClick={handleClose}\n >\n <Close />\n </IconButton>\n ) : null}\n {childTitle ? (\n <Typography\n className={\"text-sm font-normal text-accent-silver-2\"}\n >\n {childTitle}\n </Typography>\n ) : null}\n {childrenWithHandleChange}\n </Box>\n </Paper>\n ) : null}\n </Box>\n </ClickAwayListener>\n );\n};\n\nexport default SelectPro;\n","import { Chip, ChipProps, styled } from \"@mui/material\";\nimport { FC } from \"react\";\n\nconst StyledChip = styled(Chip)(({ theme }) => ({\n borderRadius: theme.shape.borderRadius,\n}));\n\ninterface CustomChipProps {\n view: \"black\" | \"line\" | \"white\" | \"silver\";\n}\n\nconst ChipViews = {\n black: \"bg-accent-dark text-accent-white py-1.5 px-4\",\n line: \"border border-solid border-accent-dark bg-accent-white\",\n white: \"bg-accent-white text-accent-dark\",\n silver: \"bg-accent-silver\",\n};\n\nconst CustomChip: FC<ChipProps & CustomChipProps> = (props) => {\n const { view, ...rest } = props;\n\n // ${black ? \"bg-accent-dark text-accent-white\" : \"bg-accent-white text-accent-dark\"}\n // ${line ? \"border border-solid border-accent-dark\" : \"border-none\"}\n return (\n <StyledChip\n className={`rounded-none w-fit h-fit px-2.5 py-0 ${ChipViews[view]}`}\n {...rest}\n />\n );\n};\n\nexport default CustomChip;\n","import { Badge } from \"@mui/material\";\nimport { BadgeProps } from \"@mui/material/Badge/Badge\";\n\nconst CustomBadge = (props: BadgeProps) => {\n return <Badge {...props} />;\n};\n\nexport default CustomBadge;\n","import Avatar from \"@mui/material/Avatar\";\nimport { AvatarProps } from \"@mui/material/Avatar/Avatar\";\n\nconst CustomAvatar = (props: AvatarProps) => {\n return <Avatar {...props} />;\n};\n\nexport default CustomAvatar;\n","import { FC, PropsWithChildren } from \"react\";\nimport Typography, { TypographyOwnProps } from \"@mui/material/Typography\";\n\nconst Text: FC<TypographyOwnProps & PropsWithChildren> = (props) => {\n const { children, ...rest } = props;\n return <Typography {...rest}>{children}</Typography>;\n};\n\nexport default Text;\n","import React from \"react\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport FormControlLabel, {\n FormControlLabelProps,\n} from \"@mui/material/FormControlLabel\";\n\nexport interface CustomRadioProps {\n labelProps?: FormControlLabelProps;\n radioProps?: RadioProps;\n label?: string;\n value?: string;\n}\n\nconst CustomRadio: React.FC<CustomRadioProps> = (props) => {\n const { value, label, radioProps, labelProps } = props;\n\n if (label && value)\n return (\n <FormControlLabel\n value={value}\n control={<Radio {...radioProps} />}\n label={label}\n {...labelProps}\n />\n );\n\n return <Radio {...radioProps} />;\n};\n\nexport default CustomRadio;\n","import React, { PropsWithChildren } from \"react\";\nimport RadioGroup, { RadioGroupProps } from \"@mui/material/RadioGroup\";\n\nconst CustomRadioGroup: React.FC<RadioGroupProps & PropsWithChildren> = (\n props,\n) => {\n const { children, ...rest } = props;\n\n return <RadioGroup {...rest}>{children}</RadioGroup>;\n};\n\nexport default CustomRadioGroup;\n","import { Stack, styled, Switch as SwitchMUI } from \"@mui/material\";\nimport { SwitchProps } from \"@mui/material/Switch/Switch\";\nimport { FC } from \"react\";\nimport Typography from \"@mui/material/Typography\";\n\nconst Switch = styled(SwitchMUI)(({ theme }) => ({\n width: 60,\n height: 30,\n padding: 0,\n display: \"flex\",\n \"&:active\": {\n \"& .MuiSwitch-thumb\": {\n width: 20,\n },\n \"& .MuiSwitch-switchBase.Mui-checked\": {\n transform: \"translateX(12px)\",\n },\n },\n \"& .MuiSwitch-switchBase\": {\n padding: 5.1,\n color: \"#C8BCA1\",\n transform: \"translateX(2px)\",\n\n \"&.Mui-checked\": {\n transform: \"translateX(30px)\",\n color: \"#C8BCA1\",\n \"& + .MuiSwitch-track\": {\n opacity: 1,\n backgroundColor: \"#343434\",\n },\n },\n },\n \"& .MuiSwitch-thumb\": {\n width: 20,\n height: 20,\n borderRadius: \"100%\",\n transition: theme.transitions.create([\"width\"], {\n duration: 200,\n }),\n },\n \"& .MuiSwitch-track\": {\n borderRadius: \"22px\",\n opacity: 1,\n backgroundColor: \"#343434\",\n boxSizing: \"border-box\",\n },\n}));\n\ninterface CustomSwitchProps {\n beforeText?: string;\n afterText?: string;\n}\nconst CustomSwitch: FC<CustomSwitchProps & SwitchProps> = (props) => {\n const { beforeText, afterText, ...rest } = props;\n\n return (\n <Stack direction=\"row\" spacing={1} alignItems=\"center\">\n {beforeText ? (\n <Typography className={\"text-base\"}>{beforeText}</Typography>\n ) : null}\n <Switch defaultChecked {...rest} disableRipple />\n {afterText ? (\n <Typography className={\"text-base\"}>{afterText}</Typography>\n ) : null}\n </Stack>\n );\n};\n\nexport default CustomSwitch;\n","import { Slider, styled } from \"@mui/material\";\nimport { SliderProps } from \"@mui/material/Slider/Slider\";\nimport { FC } from \"react\";\n\nconst StyledSlider = styled(Slider)(() => ({}));\n\nconst CustomSlider: FC<SliderProps> = (props) => {\n return <StyledSlider {...props} />;\n};\n\nexport default CustomSlider;\n","import { PropsWithChildren, FC } from \"react\";\nimport { MenuItem, styled } from \"@mui/material\";\nimport { MenuItemProps } from \"@mui/material/MenuItem/MenuItem\";\n\nconst StyledMenuItem = styled(MenuItem)(() => ({\n borderRadius: \"5px\",\n \"&.Mui-selected\": {\n backgroundColor: \"unset\",\n color: \"purple\",\n },\n}));\n\nconst CustomMenuItem: FC<MenuItemProps & PropsWithChildren> = (props) => {\n const { children, ...rest } = props;\n\n return <StyledMenuItem {...rest}>{children}</StyledMenuItem>;\n};\n\nexport default CustomMenuItem;\n","import { InputAdornment, styled } from \"@mui/material\";\nimport Input, { InputProps } from \"@mui/material/Input\";\n\nconst StyledInput = styled(Input)(() => ({\n \"& input::-webkit-outer-spin-button, & input::-webkit-inner-spin-button\": {\n display: \"none\",\n },\n \"& input[type=number]\": {\n MozAppearance: \"textfield\",\n },\n}));\n\nexport interface CustomInputProps {\n type?: \"number\" | \"string\";\n adornmentText?: string;\n}\n\nconst CustomInput: React.FC<CustomInputProps & InputProps> = (props) => {\n const { type, adornmentText, value, ...rest } = props;\n\n const handleKeyDown = (event: any) => {\n if (!/[0-9]/.test(event.key) && event.key !== \"Backspace\") {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n return (\n <StyledInput\n disableUnderline\n onKeyDown={handleKeyDown}\n startAdornment={\n adornmentText ? (\n <InputAdornment position=\"start\" className={\"text-sm\"}>\n {adornmentText}\n </InputAdornment>\n ) : undefined\n }\n value={value}\n componentsProps={{\n root: {\n className:\n \"border border-black rounded-none border-solid py-1.5 px-2.5 h-8\",\n },\n }}\n type={type || \"string\"}\n {...rest}\n />\n );\n};\n\nexport default CustomInput;\n","import { PatternFormat } from \"react-number-format\";\nimport { forwardRef } from \"react\";\nimport { PatternFormatProps } from \"react-number-format/types/types\";\nimport Input from \"./Input\";\n\nexport interface PhoneInputProps {\n onChange: (event: { target: { name: string; value: string } }) => void;\n name: string;\n}\n\nconst PhoneInput = forwardRef<PatternFormatProps, PhoneInputProps>(\n function NumericFormatCustom(props, ref) {\n const { onChange, ...other } = props;\n\n return (\n <PatternFormat\n {...other}\n getInputRef={ref}\n customInput={Input}\n onValueChange={(values) => {\n onChange({\n target: {\n name: props.name,\n value: values.value,\n },\n });\n }}\n placeholder=\"000 000 00 00\"\n format=\"### ### ## ##\"\n />\n );\n },\n);\n\nexport default PhoneInput;\n","import { Stack } from \"@mui/material\";\nimport { Input } from \"./index.ts\";\nimport { FC } from \"react\";\nimport Typography from \"@mui/material/Typography\";\n\ninterface FromToInputProps {\n label?: string;\n}\nconst FromToInput: FC<FromToInputProps> = ({ label }) => {\n return (\n <Stack>\n {label ? (\n <Typography className={\"text-accent-dark text-xs\"}>{label}</Typography>\n ) : null}\n <Stack direction={\"row\"} spacing={1}>\n <Input adornmentText={\"від\"} fullWidth type={\"number\"} />\n <Input adornmentText={\"до\"} fullWidth type={\"number\"} />\n </Stack>\n </Stack>\n );\n};\n\nexport default FromToInput;\n","\"use client\";\n\nimport { useState } from \"react\";\nimport createCache from \"@emotion/cache\";\nimport { useServerInsertedHTML } from \"next/navigation\";\nimport { CacheProvider } from \"@emotion/react\";\nimport ThemeProvider from \"@mui/material/styles/ThemeProvider\";\nimport createTheme from \"@mui/material/styles/createTheme\";\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport { prefixer } from \"stylis\";\nimport { _theme } from \"@/styles/assets.ts\";\n\nconst theme = createTheme({ ..._theme });\n\n// This implementation is from emotion-js\nexport default function ThemeRegistry(props: any) {\n const { children } = props;\n\n const [{ cache, flush }] = useState(() => {\n const cache = createCache({\n key: \"mui\",\n stylisPlugins: [prefixer],\n });\n\n cache.compat = true;\n const prevInsert = cache.insert;\n let inserted: string[] = [];\n\n cache.insert = (...args) => {\n const serialized = args[1];\n if (cache.inserted[serialized.name] === undefined) {\n inserted.push(serialized.name);\n }\n return prevInsert(...args);\n };\n\n const flush = () => {\n const prevInserted = inserted;\n inserted = [];\n return prevInserted;\n };\n\n return { cache, flush };\n });\n\n useServerInsertedHTML(() => {\n const names = flush();\n\n if (names.length === 0) return null;\n\n let styles = \"\";\n\n for (const name of names) {\n styles += cache.inserted[name];\n }\n\n return (\n <style\n key={cache.key}\n data-emotion={`${cache.key} ${names.join(\" \")}`}\n dangerouslySetInnerHTML={{\n __html: styles,\n }}\n />\n );\n });\n\n return (\n <CacheProvider value={cache}>\n <ThemeProvider theme={theme}>\n <CssBaseline />\n {children}\n </ThemeProvider>\n </CacheProvider>\n );\n}\n","export const WINDOW_SIZE = {\n xs: 0,\n sm: 400,\n md: 700,\n lg: 1200,\n xl: 1620,\n};\n\nexport const _theme = {\n typography: {\n fontFamily: [\"RockStar\", \"sans-serif\"].join(\",\"),\n body1: {\n fontSize: 14,\n lineHeight: \"22px\",\n },\n },\n breakpoints: {\n values: {\n xs: WINDOW_SIZE.xs,\n sm: WINDOW_SIZE.sm,\n md: WINDOW_SIZE.md,\n lg: WINDOW_SIZE.lg,\n xl: WINDOW_SIZE.xl,\n },\n },\n components: {\n MuiButton: {\n styleOverrides: {\n root: {\n fontFamily: \"RockStar, sans-serif\",\n },\n },\n },\n },\n};\n","import { FC, PropsWithChildren } from \"react\";\nimport ThemeRegistry from \"@/theme\";\nimport \"@/styles/globals.scss\";\n\nconst Providers: FC<PropsWithChildren> = ({ children }) => {\n return <ThemeRegistry>{children}</ThemeRegistry>;\n};\n\nexport default Providers;\n","import { FC, useEffect, useRef, useState } from \"react\";\nimport \"./styles.css\";\nimport { Box, Stack } from \"@mui/material\";\nimport Link from \"next/link\";\n\ninterface AppBarProps {\n links: { path: string; title: string }[];\n}\n\nconst AppBar: FC<AppBarProps> = ({ links }) => {\n const [activeIndex, setActiveIndex] = useState(0);\n const navItemsRef = useRef<(HTMLElement | null)[]>([]);\n\n useEffect(() => {\n const indicator = document.querySelector(\".nav-indicator\") as HTMLElement;\n const navItem = navItemsRef.current[activeIndex] as HTMLElement;\n const navItemWidth = navItem.offsetWidth;\n const navItemLeft =\n navItem.offsetLeft + navItemWidth / 2 - indicator.offsetWidth / 2;\n\n const navItemTop = navItem.offsetTop - 5;\n\n indicator?.setAttribute(\n \"style\",\n `transform: translate(${navItemLeft}px, ${navItemTop}px);`,\n );\n }, [activeIndex]);\n\n const handleClick = (index: number) => {\n setActiveIndex(index);\n };\n\n return (\n <Stack direction=\"row\" spacing={1} position={\"relative\"}>\n <Box className=\"nav-indicator\" />\n {links.map((link, index) => (\n <Link\n ref={(el) => {\n navItemsRef.current[index] = el;\n }}\n key={index}\n href={link.path}\n className={`nav-item ${index === activeIndex ? \"active\" : \"\"} hover:text-accent-beige`}\n onClick={() => handleClick(index)}\n >\n {link.title}\n </Link>\n ))}\n </Stack>\n );\n};\n\nexport default AppBar;\n","import { FC } from \"react\";\nimport { Box } from \"@mui/material\";\nimport Image from \"next/image\";\n\ninterface ImageContainerProps {\n src: any;\n alt: string;\n contentful?: boolean;\n priority?: boolean;\n loading?: \"lazy\" | \"eager\" | undefined;\n width?: string;\n height?: string;\n objectFit?: string;\n}\n\nconst ImageContainer: FC<ImageContainerProps> = (props) => {\n const {\n src,\n alt,\n width = \"w-full\",\n height = \"h-full\",\n contentful = true,\n priority = false,\n loading = \"lazy\",\n objectFit = \"object-cover\",\n } = props;\n\n return (\n <Box className={`relative ${width} ${height}`}>\n <Image\n className={`${objectFit} object-center`}\n src={contentful ? `https:${src}` : src}\n alt={alt}\n fill\n loading={loading}\n sizes=\"(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw\"\n priority={priority}\n />\n </Box>\n );\n};\n\nexport default ImageContainer;\n","import { Box, Typography } from \"@mui/material\";\nimport Link from \"next/link\";\nimport ImageContainer from \"@/components/Image\";\nimport { NO_IMAGE } from \"@/lib/assets\";\nimport { FC } from \"react\";\n\ninterface CategoryCardProps {\n image_url?: string;\n title: string;\n text: string;\n link: string;\n}\n\nconst CategoryCard: FC<CategoryCardProps> = (props) => {\n const { link, text, title, image_url = NO_IMAGE } = props;\n\n return (\n <Link href={link} className=\"group/card\">\n <Box className=\"flex flex-col gap-[20px]\">\n <ImageContainer src={image_url} alt={title} height={\"h-[300px]\"} />\n <Box className=\"flex flex-col px-[16px]\">\n <Typography\n component=\"span\"\n className=\"font-extrabold text-16 group-hover/card:text-gold2\"\n >\n {title}\n </Typography>\n <Typography component=\"span\" className=\"group-hover/card:text-gold2\">\n {text}\n </Typography>\n </Box>\n </Box>\n </Link>\n );\n};\n\nexport default CategoryCard;\n","export const NO_IMAGE = \"/images/no-photo.svg\";\n","import { FC } from \"react\";\nimport Link from \"next/link\";\nimport { Box } from \"@mui/material\";\nimport Typography from \"@mui/material/Typography\";\nimport ImageContainer from \"@/components/Image/ImageContainer.tsx\";\nimport { NO_IMAGE } from \"@/lib/assets.ts\";\n\ninterface ArticleCardProps {\n image_src?: string;\n}\nconst ArticleCard: FC<ArticleCardProps> = (props) => {\n const { image_src = NO_IMAGE } = props;\n\n return (\n <Link href={\"/\"} className=\"group/card bg-gray-light\">\n <ImageContainer\n src={image_src}\n alt={\"test\"}\n contentful={false}\n height={\"h-[220px]\"}\n />\n <Box className=\"pt-[24px] pl-[16px] pr-[50px] pb-[10px] flex flex-col gap-[6px]\">\n <Typography\n component=\"span\"\n className=\"text-16 font-extrabold group-hover/card:text-gold2\"\n >\n Особливості купівлі готелю\n </Typography>\n <Typography\n component=\"span\"\n className=\"text-gray group-hover/card:text-gold2\"\n >\n We have built a strong network in Dubai since 2009, which allows us to\n source the best deal for\n </Typography>\n <Typography component=\"span\" className=\"border-gold-block-snack\">\n Тег-назва\n </Typography>\n </Box>\n </Link>\n );\n};\n\nexport default ArticleCard;\n","import { FC } from \"react\";\n\ninterface JobCardProps {}\nconst JobCard: FC<JobCardProps> = () => {\n return <></>;\n};\n\nexport default JobCard;\n","const RealtorCard = () => {\n return <></>;\n};\nexport default RealtorCard;\n","import { Box, Stack, Typography } from \"@mui/material\";\nimport Link from \"next/link\";\nimport { FC } from \"react\";\nimport ImageContainer from \"@/components/Image\";\nimport Chip from \"@/components/Chip/Chip.tsx\";\n\ninterface RealtyCardProps {}\n\nconst RealtyCard: FC<RealtyCardProps> = () => {\n return (\n <Link href={\"/\"} className=\"relative\">\n <Box className=\"absolute left-[16px] top-[16px] flex flex-col gap-[9px] z-[1]\">\n <Chip view={\"white\"} label={\"id: 00154\"} />\n <Chip view={\"white\"} label={\"ЖК: Сучасний квартал4\"} />\n </Box>\n <ImageContainer\n src={\"/images/test.png\"}\n alt={\"test\"}\n height={\"h-[260px]\"}\n contentful={false}\n />\n <Box className=\"bg-white py-[20px] px-[16px] flex flex-col gap-[6px]\">\n <Chip view={\"black\"} label={\"120 000 ₴/місяць\"} />\n <Typography component=\"span\" className=\"font-extrabold\">\n вул. Драгомирова 25\n </Typography>\n <Typography component=\"span\" className=\"text-12\">\n Печерський р-н\n </Typography>\n <Chip\n view={\"silver\"}\n label={\n <Stack direction={\"row\"} spacing={1}>\n <Typography>метро:</Typography>\n <Typography className=\"font-extrabold\">Либідська</Typography>\n </Stack>\n }\n />\n <Box className=\"flex flex-wrap gap-[6px] mt-[6px]\">\n <Chip view={\"line\"} label={\"2 кімн\"} />\n <Chip view={\"line\"} label={\"60 м²\"} />\n <Chip view={\"line\"} label={\"поверх: 3/24\"} />\n </Box>\n </Box>\n </Link>\n );\n};\n\nexport default RealtyCard;\n","import { Box, Typography } from \"@mui/material\";\nimport { FC } from \"react\";\nimport { NO_IMAGE } from \"@/lib/assets.ts\";\nimport ImageContainer from \"@/components/Image\";\n\ninterface TeamPersonCardProps {\n image_url?: string;\n name: string;\n position: string;\n text: string;\n}\n\nconst TeamPersonCard: FC<TeamPersonCardProps> = (props) => {\n const { image_url = NO_IMAGE, name, position, text } = props;\n\n return (\n <Box className=\"group/card\">\n <Box className=\"relative h-[300px]\">\n <Box className=\"w-full h-full bg-gray-medium group-hover/card:brightness-[50%]\">\n <ImageContainer\n contentful={false}\n src={image_url}\n alt={name}\n objectFit={\"object-contain\"}\n />\n </Box>\n <Box className=\"hidden absolute top-[110px] left-[30px] right-[30px] group-hover/card:flex flex-col text-white\">\n <Typography component=\"span\" className=\"text-16 font-extrabold\">\n {position}\n </Typography>\n <Typography component=\"span\" className=\"mt-[4px]\">\n {name}\n </Typography>\n <Typography\n component=\"span\"\n className=\"mt-[11px] text-12 !leading-[16px]\"\n >\n {text}\n </Typography>\n </Box>\n </Box>\n <Box className=\"mt-[20px] text-center mx-auto flex flex-col w-10/12\">\n <Typography component=\"span\" className=\"text-16 font-extrabold\">\n {position}\n </Typography>\n <Typography component=\"span\" className=\"text-gray\">\n {name}\n </Typography>\n </Box>\n </Box>\n );\n};\n\nexport default TeamPersonCard;\n"],"mappings":"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","names":["import_jsx_runtime","ButtonMUI","Typography","import_material","import_jsx_runtime","StyledButton","IconButtonMUI","import_material","import_jsx_runtime","_a","import_react","import_material","import_jsx_runtime","import_material","import_jsx_runtime","theme","import_material","import_jsx_runtime","import_jsx_runtime","Avatar","import_Typography","import_jsx_runtime","Typography","import_jsx_runtime","FormControlLabel","Radio","import_jsx_runtime","RadioGroup","import_material","import_Typography","import_jsx_runtime","SwitchMUI","theme","Typography","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","Input","import_react","import_jsx_runtime","import_material","import_Typography","import_jsx_runtime","Typography","import_react","import_jsx_runtime","createTheme","cache","createCache","flush","ThemeProvider","CssBaseline","import_jsx_runtime","import_react","import_material","import_jsx_runtime","Link","import_material","import_jsx_runtime","Image","import_material","import_link","import_jsx_runtime","Link","import_link","import_material","import_Typography","import_jsx_runtime","Link","Typography","import_jsx_runtime","import_jsx_runtime","import_material","import_link","import_jsx_runtime","Link","import_material","import_jsx_runtime"]}