hds-web 1.38.9 → 1.39.1

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.
@@ -21,7 +21,7 @@ const updatePGParam = (originalLink, websiteKey) => {
21
21
  };
22
22
 
23
23
  export default function V3Header(props) {
24
- // const listSize = props.HEADER_LIST.length;
24
+ const listSize = props.HEADER_LIST.length;
25
25
 
26
26
  const [mobileNavOpen, setmobileNavOpen] = useState(false);
27
27
 
@@ -29,19 +29,17 @@ export default function V3Header(props) {
29
29
 
30
30
  const [isDeveloper, setIsDeveloper] = useState(false);
31
31
 
32
- const [isResources, setIsResources] = useState(false);
33
-
34
32
  const [isCompany, setIsCompany] = useState(false);
35
33
 
36
34
  const [currentTab, setCurrentTab] = useState("");
37
35
 
38
- // const [isShown, setIsShown] = useState(false);
36
+ const [isShown, setIsShown] = useState(false);
39
37
 
40
38
  const [isArrowActive, setIsArrowActive] = useState(false);
41
39
 
42
40
  const signUpLink = props.signUpLink
43
41
  ? props.signUpLink
44
- : "https://console.hasura.io";
42
+ : "https://cloud.hasura.io/signup?pg=sample-apps&plcmt=header&cta=try-hasura&tech=default";
45
43
 
46
44
  const logInLink = props.logInLink
47
45
  ? props.logInLink
@@ -174,7 +172,6 @@ export default function V3Header(props) {
174
172
  <>
175
173
  {renderDropdownContainer(headerList, 0)}
176
174
  {renderDropdownContainer(headerList, 1)}
177
- {renderDropdownContainer(headerList, 2)}
178
175
  {
179
176
  <a href="/customers">
180
177
  <Typography
@@ -189,6 +186,8 @@ export default function V3Header(props) {
189
186
  </Typography>
190
187
  </a>
191
188
  }
189
+ {renderDropdownContainer(headerList, 3)}
190
+
192
191
  {
193
192
  <a href="/pricing">
194
193
  <Typography
@@ -227,21 +226,10 @@ export default function V3Header(props) {
227
226
  primaryCard={HEADER_LIST[1]["primaryCard"]}
228
227
  secondaryCardArr={HEADER_LIST[1]["secondaryCardArr"]}
229
228
  tertiaryCard={HEADER_LIST[1]["tertiaryCard"]}
230
- flyoutD={HEADER_LIST[1]["flyoutD"]}
231
- />
232
- </div>
233
- )}
234
- {isResources && (
235
- <div className="product_resources">
236
- <V3Dropdown
237
- primaryCard={HEADER_LIST[2]["primaryCard"]}
238
- secondaryCardArr={HEADER_LIST[2]["secondaryCardArr"]}
239
- tertiaryCard={HEADER_LIST[2]["tertiaryCard"]}
240
- flyoutD={HEADER_LIST[2]["flyoutD"]}
241
229
  />
242
230
  </div>
243
231
  )}
244
- {/* {isCompany && (
232
+ {isCompany && (
245
233
  <div className="product_company">
246
234
  <V3Dropdown
247
235
  primaryCard={HEADER_LIST[3]["primaryCard"]}
@@ -249,7 +237,7 @@ export default function V3Header(props) {
249
237
  tertiaryCard={HEADER_LIST[3]["tertiaryCard"]}
250
238
  />
251
239
  </div>
252
- )} */}
240
+ )}
253
241
  </div>
254
242
  </div>
255
243
  );
@@ -271,7 +259,6 @@ export default function V3Header(props) {
271
259
  function handleMbDropdownClose() {
272
260
  setmobileNavOpen(!mobileNavOpen);
273
261
  setIsDeveloper(false);
274
- setIsResources(false);
275
262
  setIsCompany(false);
276
263
  setIsProduct(false);
277
264
  setCurrentTab("");
@@ -282,7 +269,6 @@ export default function V3Header(props) {
282
269
  }
283
270
  function handleBackClick() {
284
271
  setIsDeveloper(false);
285
- setIsResources(false);
286
272
  setIsCompany(false);
287
273
  setIsProduct(false);
288
274
  setCurrentTab("");
@@ -299,9 +285,6 @@ export default function V3Header(props) {
299
285
  if (title === "Developer") {
300
286
  setIsDeveloper(true);
301
287
  }
302
- if (title === "Resources") {
303
- setIsResources(true);
304
- }
305
288
  if (title === "Customers") {
306
289
  window.location.href = "/customers";
307
290
  }
@@ -321,12 +304,10 @@ export default function V3Header(props) {
321
304
  setCurrentTab("Product");
322
305
  } else if (isDeveloper) {
323
306
  setCurrentTab("Developer");
324
- } else if (isResources) {
325
- setCurrentTab("Resources");
326
307
  } else if (isCompany) {
327
308
  setCurrentTab("Company");
328
309
  }
329
- }, [isProduct, isDeveloper, isCompany, isResources]);
310
+ }, [isProduct, isDeveloper, isCompany]);
330
311
 
331
312
  // **************************** //
332
313
 
@@ -355,7 +336,7 @@ export default function V3Header(props) {
355
336
  <div className={"h-full " + (mobileNavOpen ? " hds-hidden" : "")}>
356
337
  {!props.hideSearch && <AlgoliaSearch {...props} />}
357
338
  </div>
358
- {!(isCompany || isDeveloper || isProduct || isResources) && (
339
+ {!(isCompany || isDeveloper || isProduct) && (
359
340
  <motion.div
360
341
  initial={{ opacity: 0 }}
361
342
  animate={{ opacity: 1 }}
@@ -454,7 +435,7 @@ export default function V3Header(props) {
454
435
  >
455
436
  <div className="bg-neutral-100 h-[calc(100%-80px)] rounded-2xl overflow-y-scroll scrollbar-hide">
456
437
  <div className="pt-6 pb-4 tb:mr-[12px] mr-[30px] min-h-[36px] flex flex-row justify-between items-center sticky top-0 bg-neutral-100 z-50 ">
457
- {(isCompany || isDeveloper || isProduct || isResources) && (
438
+ {(isCompany || isDeveloper || isProduct) && (
458
439
  <div
459
440
  className=" flex flex-row justify-start z-10"
460
441
  onClick={() => handleBackClick()}
@@ -479,7 +460,7 @@ export default function V3Header(props) {
479
460
  {currentTab}
480
461
  </Typography>
481
462
  </motion.div>
482
- {(isCompany || isDeveloper || isProduct || isResources) && (
463
+ {(isCompany || isDeveloper || isProduct) && (
483
464
  <motion.div
484
465
  initial={{ opacity: 0 }}
485
466
  animate={{ opacity: 1 }}
@@ -496,7 +477,7 @@ export default function V3Header(props) {
496
477
  )}
497
478
  </div>
498
479
  <AnimatePresence mode="wait" exit={false}>
499
- {isProduct || isDeveloper || isCompany || isResources ? (
480
+ {isProduct || isDeveloper || isCompany ? (
500
481
  <motion.div
501
482
  key="hey"
502
483
  exit={{ opacity: 0, y: [0, 300] }}
@@ -506,7 +487,7 @@ export default function V3Header(props) {
506
487
  exit: { duration: 0.3 },
507
488
  opacity: { ease: "easeIn" },
508
489
  }}
509
- when={isProduct || isDeveloper || isCompany || isResources}
490
+ when={isProduct || isDeveloper || isCompany}
510
491
  className="flex flex-col justify-between "
511
492
  >
512
493
  <div className="flex flex-col justify-between rounded-2xl h-full">
@@ -650,7 +631,8 @@ V3Header.defaultProps = {
650
631
  cta_leftVariantIcon: "zap",
651
632
  cta_leftVariantIconColor: "#6C737F",
652
633
  cta_text: "Get Started",
653
- cta_link: "https://console.hasura.io/",
634
+ cta_link:
635
+ "https://cloud.hasura.io/signup?pg=nav&plcmt=product-dropdown&cta=get-started",
654
636
  },
655
637
  ],
656
638
  },
@@ -667,51 +649,44 @@ V3Header.defaultProps = {
667
649
  },
668
650
  {
669
651
  description: "",
670
- href: "/graphql/database/mysql",
671
- icon: "database01",
672
- name: "MySQL",
673
- strokeClass: "stroke-blue-500",
674
- },
675
- {
676
- description: "",
677
- href: "/graphql/database/elasticsearch",
652
+ href: "/graphql/database/mongodb",
678
653
  icon: "database01",
679
- name: "Elasticsearch",
654
+ name: "MongoDB",
680
655
  strokeClass: "stroke-blue-500",
681
656
  },
682
657
  {
683
658
  description: "",
684
- href: "/graphql/database/sql-server",
659
+ href: "/graphql/database/mysql",
685
660
  icon: "database01",
686
- name: "SQL Server",
661
+ name: "MySQL",
687
662
  strokeClass: "stroke-blue-500",
688
663
  },
689
664
  {
690
665
  description: "",
691
- href: "/graphql/database/mongodb",
666
+ href: "/graphql/database/snowflake",
692
667
  icon: "database01",
693
- name: "MongoDB",
668
+ name: "Snowflake",
694
669
  strokeClass: "stroke-blue-500",
695
670
  },
696
671
  {
697
672
  description: "",
698
- href: "/graphql/database/snowflake",
673
+ href: "/graphql/database/oracle",
699
674
  icon: "database01",
700
- name: "Snowflake",
675
+ name: "Oracle",
701
676
  strokeClass: "stroke-blue-500",
702
677
  },
703
678
  {
704
679
  description: "",
705
- href: "/graphql/database/clickhouse",
680
+ href: "/graphql/database/sql-server",
706
681
  icon: "database01",
707
- name: "ClickHouse",
682
+ name: "SQL Server",
708
683
  strokeClass: "stroke-blue-500",
709
684
  },
710
685
  {
711
686
  description: "",
712
687
  href: "/graphql/database",
713
688
  icon: "database01",
714
- name: "More",
689
+ name: "See all",
715
690
  strokeClass: "stroke-blue-500",
716
691
  },
717
692
  ],
@@ -719,8 +694,7 @@ V3Header.defaultProps = {
719
694
  ],
720
695
  flyoutD: {
721
696
  link: "https://hasura.io/ddn",
722
- cardImg: `https://res.cloudinary.com/dh8fp23nd/image/upload/v1721205269/Frame_2610016_1_jluh5u.png`,
723
- cardImgAlt: "Hasura DDN",
697
+ cardImg: `https://res.cloudinary.com/dh8fp23nd/image/upload/v1716906625/Frame_12754_2_iaixzx.png`,
724
698
  },
725
699
  },
726
700
  {
@@ -730,16 +704,56 @@ V3Header.defaultProps = {
730
704
  childArray: [
731
705
  {
732
706
  description: "",
733
- href: "/docs/3.0/index/",
707
+ href: "/docs/latest/index/",
734
708
  icon: "file02",
735
709
  name: "Documentation",
736
710
  strokeClass: "stroke-neutral-500",
737
711
  },
738
712
  {
739
713
  description: "",
740
- href: "/connectors",
714
+ href: "/hub",
715
+ icon: "hasura",
716
+ name: "Hasura Hub",
717
+ strokeClass: "stroke-neutral-500",
718
+ },
719
+ {
720
+ description: "",
721
+ href: "/reference-app/",
741
722
  icon: "route",
742
- name: "Connector Hub",
723
+ name: "Guides",
724
+ strokeClass: "stroke-neutral-500",
725
+ },
726
+ {
727
+ description: "",
728
+ href: "/graphql/",
729
+ icon: "asterisk02",
730
+ name: "GraphQL Hub",
731
+ strokeClass: "stroke-neutral-500",
732
+ },
733
+ {
734
+ description: "",
735
+ href: "https://cloud.hasura.io/public/graphiql",
736
+ icon: "codebrowser",
737
+ name: "GraphiQL",
738
+ strokeClass: "stroke-neutral-500",
739
+ },
740
+ {
741
+ description: "",
742
+ href: "/changelog",
743
+ icon: "gitpullrequest",
744
+ name: "Changelog",
745
+ strokeClass: "stroke-neutral-500",
746
+ },
747
+ ],
748
+ label: "BUILD",
749
+ },
750
+ {
751
+ childArray: [
752
+ {
753
+ description: "",
754
+ href: "/blog",
755
+ icon: "bookopen01",
756
+ name: "Blog",
743
757
  strokeClass: "stroke-neutral-500",
744
758
  },
745
759
  {
@@ -749,8 +763,22 @@ V3Header.defaultProps = {
749
763
  name: "Tutorials",
750
764
  strokeClass: "stroke-neutral-500",
751
765
  },
766
+ {
767
+ description: "",
768
+ href: "/events",
769
+ icon: "calendarplus02",
770
+ name: "Events",
771
+ strokeClass: "stroke-neutral-500",
772
+ },
773
+ {
774
+ description: "",
775
+ href: "/sample-apps/",
776
+ icon: "box",
777
+ name: "Resources",
778
+ strokeClass: "stroke-neutral-500",
779
+ },
752
780
  ],
753
- label: "BUILD",
781
+ label: "Learn",
754
782
  },
755
783
  {
756
784
  childArray: [
@@ -786,64 +814,107 @@ V3Header.defaultProps = {
786
814
  label: "Connect",
787
815
  },
788
816
  ],
789
- flyoutD: {
790
- link: "https://hasura.io/events/community-call/latest",
791
- cardImg: `https://res.cloudinary.com/dh8fp23nd/image/upload/v1721210357/cc-blog-july_2_1_k8k22u.png`,
792
- cardImgAlt: "Hasura Community Call",
793
- },
817
+ tertiaryCard: [
818
+ {
819
+ title: "HasuraCon 2023 is here!",
820
+
821
+ title_colorClass: "text-neutral-900",
822
+ img_url:
823
+ "https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/hascon_211daeb83a.png",
824
+ },
825
+ {
826
+ title: "Top 6 Architecture Trends for API Development",
827
+
828
+ title_colorClass: "text-neutral-900",
829
+ img_url:
830
+ "https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/api_trends_0a035678d8.png",
831
+ },
832
+ {
833
+ title: "Announcing Hasura integration with Snowflake",
834
+
835
+ title_colorClass: "text-neutral-900",
836
+ img_url:
837
+ "https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/snowflake_def20494db.png",
838
+ },
839
+ ],
794
840
  },
795
841
  {
796
- title: "Resources",
842
+ title: "Customers",
843
+ href: "",
844
+ },
845
+
846
+ {
847
+ title: "Company",
797
848
  secondaryCardArr: [
798
849
  {
799
850
  childArray: [
800
851
  {
801
852
  description: "",
802
- href: "/blog",
803
- icon: "bookopen01",
804
- name: "Blogs",
805
- strokeClass: "stroke-neutral-500",
806
- },
807
- {
808
- description: "",
809
- href: "/events?category=Webinar#wall-section",
810
- icon: "videorecorder",
811
- name: "Webinars",
853
+ href: "/about/",
854
+ icon: "pentool02",
855
+ name: "Our Story",
812
856
  strokeClass: "stroke-neutral-500",
813
857
  },
814
858
  {
815
859
  description: "",
816
- href: "/graphql/",
817
- icon: "home04",
818
- name: "GraphQL Hub",
860
+ href: "/partners",
861
+ icon: "intersectcircle",
862
+ name: "Partners",
819
863
  strokeClass: "stroke-neutral-500",
820
864
  },
821
865
  {
822
866
  description: "",
823
- href: "/events",
824
- icon: "calendarplus02",
825
- name: "Events",
826
- strokeClass: "stroke-neutral-500",
827
- },
828
- {
829
- description: "",
830
- href: "/",
831
- icon: "file05",
832
- name: "Whitepapers",
833
- strokeClass: "stroke-neutral-500",
834
- },
835
- {
836
- description: "",
837
- href: "https://supergraph.io/",
838
- icon: "beziercurve02",
839
- name: "Supergraph Manifesto",
867
+ href: "/careers/",
868
+ icon: "hearthand",
869
+ name: "Work at Hasura",
840
870
  strokeClass: "stroke-neutral-500",
841
871
  },
872
+ // {
873
+ // description: '',
874
+ // href: '/press/',
875
+ // icon: 'headingsquare',
876
+ // name: 'Newsroom',
877
+ // strokeClass: 'stroke-neutral-500'
878
+ // },
879
+ // {
880
+ // description: '',
881
+ // href: '/brand',
882
+ // icon: 'star06',
883
+ // name: 'Brand',
884
+ // strokeClass: 'stroke-neutral-500'
885
+ // },
842
886
  ],
843
- label: "RESOURCES",
887
+ label: "Company",
888
+ },
889
+ ],
890
+ tertiaryCard: [
891
+ {
892
+ title: "HasuraCon 2023 is here!",
893
+
894
+ title_colorClass: "text-neutral-900",
895
+ img_url:
896
+ "https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/hascon_211daeb83a.png",
897
+ },
898
+ {
899
+ title: "Top 6 Architecture Trends for API Development",
900
+
901
+ title_colorClass: "text-neutral-900",
902
+ img_url:
903
+ "https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/api_trends_0a035678d8.png",
904
+ },
905
+ {
906
+ title: "Announcing Hasura integration with Snowflake",
907
+
908
+ title_colorClass: "text-neutral-900",
909
+ img_url:
910
+ "https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1687040455/snowflake_def20494db.png",
844
911
  },
845
912
  ],
846
913
  },
914
+ {
915
+ title: "Pricing",
916
+ href: "",
917
+ },
847
918
  ],
848
919
  headerUrl: "/",
849
920
  };
@@ -1527,10 +1527,6 @@ select{
1527
1527
  margin-top: 70px;
1528
1528
  }
1529
1529
 
1530
- .ml-10{
1531
- margin-left: 2.5rem;
1532
- }
1533
-
1534
1530
  .line-clamp-3{
1535
1531
  overflow: hidden;
1536
1532
  display: -webkit-box;
@@ -11160,10 +11156,6 @@ select{
11160
11156
  min-width: 18rem;
11161
11157
  }
11162
11158
 
11163
- .tb\:min-w-\[200px\]{
11164
- min-width: 200px;
11165
- }
11166
-
11167
11159
  .tb\:min-w-\[310px\]{
11168
11160
  min-width: 310px;
11169
11161
  }
@@ -11911,18 +11903,6 @@ select{
11911
11903
  }
11912
11904
 
11913
11905
  @media (min-width: 768px){
11914
- .md\:ml-10{
11915
- margin-left: 2.5rem;
11916
- }
11917
-
11918
- .md\:ml-16{
11919
- margin-left: 4rem;
11920
- }
11921
-
11922
- .md\:flex-row{
11923
- flex-direction: row;
11924
- }
11925
-
11926
11906
  .md\:px-6{
11927
11907
  padding-left: 1.5rem;
11928
11908
  padding-right: 1.5rem;
@@ -12349,10 +12329,6 @@ select{
12349
12329
  }
12350
12330
 
12351
12331
  @media (min-width: 1024px){
12352
- .lg\:ml-0{
12353
- margin-left: 0px;
12354
- }
12355
-
12356
12332
  .lg\:flex{
12357
12333
  display: flex;
12358
12334
  }
@@ -12365,18 +12341,6 @@ select{
12365
12341
  height: auto;
12366
12342
  }
12367
12343
 
12368
- .lg\:max-w-\[716px\]{
12369
- max-width: 716px;
12370
- }
12371
-
12372
- .lg\:max-w-\[714px\]{
12373
- max-width: 714px;
12374
- }
12375
-
12376
- .lg\:max-w-\[712px\]{
12377
- max-width: 712px;
12378
- }
12379
-
12380
12344
  .lg\:grid-cols-2{
12381
12345
  grid-template-columns: repeat(2, minmax(0, 1fr));
12382
12346
  }
@@ -12408,10 +12372,6 @@ select{
12408
12372
  padding-top: 0.5rem;
12409
12373
  }
12410
12374
 
12411
- .lg\:pl-0{
12412
- padding-left: 0px;
12413
- }
12414
-
12415
12375
  .db-s\:mb-0{
12416
12376
  margin-bottom: 0px;
12417
12377
  }
@@ -12602,14 +12562,6 @@ select{
12602
12562
  max-width: 625px;
12603
12563
  }
12604
12564
 
12605
- .db\:max-w-\[716px\]{
12606
- max-width: 716px;
12607
- }
12608
-
12609
- .db\:max-w-\[714px\]{
12610
- max-width: 714px;
12611
- }
12612
-
12613
12565
  .db\:snap-center{
12614
12566
  scroll-snap-align: center;
12615
12567
  }
@@ -13041,16 +12993,6 @@ select{
13041
12993
  }
13042
12994
  }
13043
12995
 
13044
- @media (min-width: 1536px){
13045
- .\32xl\:max-w-\[914px\]{
13046
- max-width: 914px;
13047
- }
13048
-
13049
- .\32xl\:max-w-\[916px\]{
13050
- max-width: 916px;
13051
- }
13052
- }
13053
-
13054
12996
  .\[\&\>\*\]\:mb-8>*{
13055
12997
  margin-bottom: 2rem;
13056
12998
  }
@@ -1,106 +0,0 @@
1
- import React from "react";
2
- import { Icon } from "../../common-components/Icon";
3
- import { Typography } from "../../../foundation/Typography";
4
-
5
- export default function ResourcesDropdown(props) {
6
- const { split } = props;
7
-
8
- const cardLayout = (label, childArray) => (
9
- <div className=" group h-full">
10
- <div className={`w-full h-full ` + (split ? " " : " rounded-2xl")}>
11
- <div className={`w-full py-6 px-4`}>
12
- {label ? (
13
- <Typography
14
- textStyle="h6"
15
- className=" uppercase group-hover/split:text-neutral-1000 group-hover:text-neutral-1000 group-hover-transition text-neutral-500 mb-4"
16
- >
17
- {label}
18
- </Typography>
19
- ) : (
20
- <div className="mb-8"></div>
21
- )}
22
- <div className={` tb:tb:grid tb:tb:grid-cols-1 tb:min-w-[200px] `}>
23
- {childArray &&
24
- childArray.map((item) => (
25
- <div
26
- key={item.name}
27
- className="relative pb-2 flex rounded-lg items-center"
28
- >
29
- <a href={item.href} className="w-full">
30
- <div className="flex group/icon pl-2 py-2 pr-3 hover:pl-[9px] hover:bg-neutral-100 rounded-lg flex-row w-full justify-between items-center">
31
- <div className="flex gap-2 flex-row items-center">
32
- <div className="flex rounded-lg items-center group-hover:bg-white">
33
- {item.icon && (
34
- <Icon
35
- height={
36
- "h-5 w-5 stroke-2 " +
37
- (item.icon === "discord" ||
38
- item.icon === "octoface" ||
39
- item.icon === "meetup"
40
- ? ""
41
- : "group-hover/icon:stroke-blue-500 ")
42
- }
43
- variant={item.icon}
44
- strokeClass={item.strokeClass}
45
- />
46
- )}
47
- </div>
48
- <Typography
49
- textStyle="body3c-medium"
50
- className="text-neutral-1000 group-hover/icon:text-blue-600 hover:transition-all hover:duration-300 hover:ease-in-out whitespace-nowrap overflow-clip"
51
- >
52
- {item.name}
53
- </Typography>
54
- </div>
55
- <div className="flex group-hover/icon:translate-x-1 transform transition-all duration-200 ease-in-out tb-l:-ml-1">
56
- <Icon
57
- height={
58
- "h-4 w-4 stroke-2 invisible group-hover/icon:visible transition-all ease-in-out "
59
- }
60
- variant={"chevronright"}
61
- strokeClass={"stroke-blue-500"}
62
- />
63
- </div>
64
- </div>
65
- </a>
66
- </div>
67
- ))}
68
- </div>
69
- </div>
70
- </div>
71
- </div>
72
- );
73
-
74
- return (
75
- <>
76
- {split ? (
77
- <>
78
- <div className="hds-hidden tb-l:flex h-full">
79
- <div className="rounded-l-2xl">
80
- {cardLayout(
81
- props.label,
82
- props.childArray.slice(
83
- 0,
84
- Math.ceil(props.childArray.length / 2)
85
- )
86
- )}
87
- </div>
88
- <div className="group/split rounded-r-2xl tb-l:-ml-6">
89
- {cardLayout(
90
- null,
91
- props.childArray.slice(Math.ceil(props.childArray.length / 2))
92
- )}
93
- </div>
94
- </div>
95
- <div className="hds-hidden-tbl h-full rounded-2xl">
96
- {cardLayout(props.label, props.childArray)}
97
- </div>
98
- </>
99
- ) : (
100
- <div className=" shadow h-full rounded-2xl">
101
- {cardLayout(props.label, props.childArray)}
102
- </div>
103
- )}
104
- </>
105
- );
106
- }