hds-web 1.8.5 → 1.8.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hds-web",
3
- "version": "1.8.5",
3
+ "version": "1.8.6",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.es.js",
@@ -14,11 +14,23 @@ const AvatarVariant = {
14
14
  'square': 'rounded-lg',
15
15
  }
16
16
 
17
- export default function ProfileAvatar({avatarBgColor, name, designation, size, imageUrl, avatarVariant }) {
17
+ const ProfileAvatarVariant = {
18
+ 'default': {
19
+ 'titleTextStyle': 'text-hds-m-body2c-bold tb:text-hds-t-body2c-bold db:text-hds-d-body2c-bold',
20
+ 'desgnTextStyle': 'text-hds-m-body3c tb:text-hds-t-body3c db:text-hds-d-body3c'
21
+ },
22
+ 'secondary': {
23
+ 'titleTextStyle': 'text-hds-m-sub2 tb:text-hds-t-sub2 db:text-hds-d-sub2',
24
+ 'desgnTextStyle': 'text-hds-m-body2 tb:text-hds-t-body2 db:text-hds-d-body2'
25
+ }
26
+ }
27
+
28
+ export default function ProfileAvatar({avatarBgColor, name, designation, size, imageUrl, avatarVariant, avatarType }) {
18
29
  const imgSizeClass = imgSizes[size] || imgSizes.md;
19
30
  const avatarVariantClass = AvatarVariant[avatarVariant] || AvatarVariant.circular;
20
31
  const defaultAvatarIcon = "user03";
21
32
  const hasImageUrl = imageUrl && imageUrl.length > 0;
33
+ const AvType = avatarType || 'default';
22
34
 
23
35
  return (
24
36
  <div className="group block flex-shrink-0">
@@ -28,6 +40,7 @@ export default function ProfileAvatar({avatarBgColor, name, designation, size, i
28
40
  <img
29
41
  className={`${imgSizeClass} ${avatarVariantClass} ${HDSColor(avatarBgColor)} rounded inline-block`}
30
42
  src={imageUrl}
43
+ alt={name}
31
44
  />
32
45
  ) : (
33
46
  <Icon
@@ -38,8 +51,8 @@ export default function ProfileAvatar({avatarBgColor, name, designation, size, i
38
51
  )}
39
52
  </div>
40
53
  <div className="ml-3">
41
- <Typography textStyle='body2c-bold' className={` text-neutral-800`}>{name}</Typography>
42
- <Typography textStyle='body3c' className={` text-neutral-500`}>{designation}</Typography>
54
+ <div className={`${ProfileAvatarVariant[AvType]['titleTextStyle']} text-neutral-800`}>{name}</div>
55
+ <div className={`${ProfileAvatarVariant[AvType]['desgnTextStyle']} text-neutral-600`}>{designation}</div>
43
56
  </div>
44
57
  </div>
45
58
  </div>
@@ -0,0 +1,28 @@
1
+ import React, { useState } from 'react';
2
+
3
+ export default function HomeVC(props) {
4
+
5
+
6
+ return (
7
+ <>
8
+
9
+ <div className='carouselShadow'>
10
+ <div className='w-[643.51px] h-[472.64px] bg-base-1000 rounded-2xl flex flex-col items-center justify-center border-2 border-neutral-300'>
11
+ <div className='w-[598.55px] h-[449.94px] border-x-2 border-neutral-800 bg-base-1000 rounded-lg grid grid-cols-2 '>
12
+ <div className='relative bg-neutral-0 w-full h-full'></div>
13
+ <div className='relative bg-yellow-100 w-[221px] justify-self-end h-full'></div>
14
+ </div>
15
+ <div className='w-[598.55px] h-[449.94px] border-x-2 border-neutral-800 bg-base-1000 rounded-lg grid grid-cols-2 '>
16
+ <div className='relative bg-neutral-0 w-full h-full'></div>
17
+ <div className='relative bg-yellow-100 w-[221px] justify-self-end h-full'></div>
18
+ </div>
19
+ <div className='w-[598.55px] h-[449.94px] border-x-2 border-neutral-800 bg-base-1000 rounded-lg grid grid-cols-2 '>
20
+ <div className='relative bg-neutral-0 w-full h-full'></div>
21
+ <div className='relative bg-yellow-100 w-[221px] justify-self-end h-full'></div>
22
+ </div>
23
+
24
+ </div>
25
+ {/* <div className='relative mx-auto top-[442.72px] w-[151.7px] h-[3.1px] bg-neutral-0/20' /> */}
26
+ </div>
27
+ </>)
28
+ }
@@ -0,0 +1 @@
1
+ export { default as VideoCard } from './homeVC';
@@ -8,3 +8,4 @@ export * from './TalkDetailCard';
8
8
  export * from './ImageSlider';
9
9
  export * from './CommunityCard';
10
10
  export * from './Announcement';
11
+ export * from './VideoCard';
@@ -5,28 +5,8 @@ import { HDSButton } from "../Buttons";
5
5
  export default function HomePageCarousel(props) {
6
6
  const carouselRef = useRef(null); // Create a ref using useRef
7
7
  const [currentCard, setCurrentCard] = React.useState(0);
8
- const [touchStart, setTouchStart] = React.useState(0);
9
- const [touchEnd, setTouchEnd] = React.useState(0);
10
8
  const [showAllCards, setShowAllCards] = useState(false);
11
9
 
12
- const handleTouchStart = e => {
13
- setTouchStart(e.targetTouches[0].clientX);
14
- };
15
-
16
- const handleTouchMove = e => {
17
- setTouchEnd(e.targetTouches[0].clientX);
18
- };
19
-
20
- const handleTouchEnd = () => {
21
- if (touchStart - touchEnd > 150) {
22
- nextCard();
23
- }
24
-
25
- if (touchStart - touchEnd < -150) {
26
- previousCard();
27
- }
28
- };
29
-
30
10
  const refs = props.cards.reduce((acc, val, i) => {
31
11
  acc[i] = React.createRef();
32
12
  return acc;
@@ -146,8 +126,8 @@ export default function HomePageCarousel(props) {
146
126
  </div>
147
127
 
148
128
 
149
- <div className="hidden tb:flex tb:flex-col">
150
- <div className="flex pb-12 items-center justify-end ">
129
+ <div className="hidden tb:flex tb:flex-col-reverse">
130
+ <div className="flex pt-10 justify-center items-center">
151
131
  {/* {slider()} */}
152
132
  <div className="flex">
153
133
  {sliderControl(true)}
@@ -155,19 +135,7 @@ export default function HomePageCarousel(props) {
155
135
  </div>
156
136
  </div>
157
137
  <div className="justify-center select-none items-center"
158
- onTouchStart={handleTouchStart}
159
- onTouchMove={handleTouchMove}
160
- onTouchEnd={handleTouchEnd}
161
- onMouseDown={e => setTouchStart(e.clientX)}
162
- onMouseUp={e => {
163
- if (touchStart - e.clientX > 50) {
164
- nextCard();
165
- }
166
-
167
- if (touchStart - e.clientX < -50) {
168
- previousCard();
169
- }
170
- }}
138
+
171
139
  >
172
140
  <div className="">
173
141
  <div className={`snap-x w-full inline-flex select-none overflow-x-hidden scrollbar-hide`}
@@ -175,7 +143,6 @@ export default function HomePageCarousel(props) {
175
143
  >
176
144
 
177
145
  {props.cards.map((item, i) => (
178
- // <div className="max-[1140px]:snap-always tb:snap-always mx-5 max-[1140px]:shrink-0" key={i} ref={refs[i]}>
179
146
  <div className=" db:snap-center snap-center tb-m:snap-start mx-5 shrink-0" key={i} ref={refs[i]}>
180
147
  <div className="w-full select-none rounded-3xl object-contain">
181
148
  {React.createElement(props.component, item)}
@@ -183,6 +150,12 @@ export default function HomePageCarousel(props) {
183
150
 
184
151
  </div>
185
152
  ))}
153
+ <div className="db:snap-center snap-center tb-m:snap-start mx-5 shrink-0" key={totalCards}>
154
+ <div className="w-full select-none rounded-3xl object-contain">
155
+ {React.createElement(props.component, props.cards[0])}
156
+ </div>
157
+ </div>
158
+
186
159
 
187
160
  </div>
188
161
  </div>
@@ -0,0 +1 @@
1
+ export { default as ScrollSlider } from './scrollSlider';
@@ -0,0 +1,111 @@
1
+ import React, { useState } from 'react';
2
+ import { VideoCard } from "../../components/Cards/VideoCard";
3
+ import { HomepageCarousel } from '../../components';
4
+
5
+ const SideCard = () => (
6
+ <div className='bg-green-500 w-[300px] flex flex-col items-center justify-between rounded-3xl max-h-[338px]'>
7
+ <div className='w-[300px] flex justify-center'>
8
+ <img src='https://res.cloudinary.com/dh8fp23nd/image/upload/v1686737531/hasura-design-system/icons/optum_zn0bhw.png' alt='imgb' className='p-5 ' />
9
+ </div>
10
+ <div className='w-[300px] flex justify-center'>
11
+ <img src='https://res.cloudinary.com/dh8fp23nd/image/upload/v1685596743/website%20v3/capabilities-pre-footer_qxqlon.png' alt='imga' className='p-2 w-[194px]' />
12
+ </div>
13
+ </div>
14
+ )
15
+
16
+ const carouselItems = [
17
+ {
18
+ name: "John Smith",
19
+ designation: "CEO",
20
+ imageUrl: "https://images.unsplash.com/photo-1503023345310-bd7c1de61c7d?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8aHVtYW58ZW58MHx8MHx8&w=1000&q=80",
21
+ size: 'w-full'
22
+ },
23
+ {
24
+ name: "Jane Doe",
25
+ designation: "CTO",
26
+ imageUrl: "https://images.unsplash.com/photo-1503023345310-bd7c1de61c7d?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8aHVtYW58ZW58MHx8MHx8&w=1000&q=80",
27
+ size: 'w-full'
28
+ },
29
+ {
30
+ name: "Bob Johnson",
31
+ designation: "COO",
32
+ imageUrl: "https://images.unsplash.com/photo-1503023345310-bd7c1de61c7d?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8aHVtYW58ZW58MHx8MHx8&w=1000&q=80",
33
+ size: 'w-full'
34
+ },
35
+ {
36
+ name: "Gourav",
37
+ designation: "SDE",
38
+ imageUrl: "https://images.unsplash.com/photo-1503023345310-bd7c1de61c7d?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8aHVtYW58ZW58MHx8MHx8&w=1000&q=80",
39
+ size: 'w-full'
40
+ },
41
+ {
42
+ name: "Gourav",
43
+ designation: "SDE",
44
+ imageUrl: "https://images.unsplash.com/photo-1503023345310-bd7c1de61c7d?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8aHVtYW58ZW58MHx8MHx8&w=1000&q=80",
45
+ size: 'w-full'
46
+ },
47
+ {
48
+ name: "Gourav",
49
+ designation: "SDE",
50
+ imageUrl: "https://images.unsplash.com/photo-1503023345310-bd7c1de61c7d?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8aHVtYW58ZW58MHx8MHx8&w=1000&q=80",
51
+ size: 'w-full'
52
+ },
53
+ {
54
+ name: "Bob Johnson",
55
+ designation: "COO",
56
+ imageUrl: "https://images.unsplash.com/photo-1503023345310-bd7c1de61c7d?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8aHVtYW58ZW58MHx8MHx8&w=1000&q=80",
57
+ size: 'w-full'
58
+ },
59
+ {
60
+ name: "Gourav",
61
+ designation: "SDE",
62
+ imageUrl: "https://images.unsplash.com/photo-1503023345310-bd7c1de61c7d?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8aHVtYW58ZW58MHx8MHx8&w=1000&q=80",
63
+ size: 'w-full'
64
+ },
65
+ {
66
+ name: "Gourav",
67
+ designation: "SDE",
68
+ imageUrl: "https://images.unsplash.com/photo-1503023345310-bd7c1de61c7d?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8aHVtYW58ZW58MHx8MHx8&w=1000&q=80",
69
+ size: 'w-full'
70
+ },
71
+ {
72
+ name: "Gourav",
73
+ designation: "SDE",
74
+ imageUrl: "https://images.unsplash.com/photo-1503023345310-bd7c1de61c7d?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8aHVtYW58ZW58MHx8MHx8&w=1000&q=80",
75
+ size: 'w-full'
76
+ }
77
+ ];
78
+
79
+ export default function ScrollSlider() {
80
+ const [isScrollActive, setScrollActive] = useState(false);
81
+
82
+ const handleMouseEnter = () => {
83
+ setScrollActive(true); // Mouse entered, scroll is active
84
+ };
85
+
86
+ const handleMouseLeave = () => {
87
+ setScrollActive(false); // Mouse left, scroll is inactive
88
+ };
89
+ return (
90
+ <div
91
+ className={`flex flex-row gap-4 w-screen h-screen items-center justify-center`}
92
+ onMouseEnter={handleMouseEnter}
93
+ onMouseLeave={handleMouseLeave}
94
+ >
95
+ <div className={`${isScrollActive ? 'translate-y-0' : ''} -translate-y-36 transition-all duration-[1500ms]`}>
96
+ <SideCard />
97
+ </div>
98
+ <div className='w-[643px] '>
99
+ <HomepageCarousel
100
+ cards={carouselItems}
101
+ component={VideoCard}
102
+ length={carouselItems.length}
103
+
104
+ />
105
+ </div>
106
+ <div className={`${isScrollActive ? '-translate-y-0' : ''} translate-y-36 transition-all duration-[1500ms]`}>
107
+ <SideCard />
108
+ </div>
109
+ </div>
110
+ );
111
+ }
@@ -1,2 +1,3 @@
1
1
  export * from './Translations';
2
- export * from './Media';
2
+ export * from './Media';
3
+ export * from './Sliders'
package/src/index.css CHANGED
@@ -4,6 +4,8 @@
4
4
  @tailwind utilities;
5
5
  /* Typography classes */
6
6
 
7
+
8
+
7
9
  .carouselShadow{
8
10
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25)) drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
9
11
  }
@@ -1514,6 +1514,10 @@ select{
1514
1514
  max-height: 26.25;
1515
1515
  }
1516
1516
 
1517
+ .max-h-\[338px\]{
1518
+ max-height: 338px;
1519
+ }
1520
+
1517
1521
  .max-h-full{
1518
1522
  max-height: 100%;
1519
1523
  }
@@ -1594,10 +1598,6 @@ select{
1594
1598
  width: 1.5rem;
1595
1599
  }
1596
1600
 
1597
- .w-72{
1598
- width: 18rem;
1599
- }
1600
-
1601
1601
  .w-8{
1602
1602
  width: 2rem;
1603
1603
  }
@@ -1614,6 +1614,10 @@ select{
1614
1614
  width: 151.7px;
1615
1615
  }
1616
1616
 
1617
+ .w-\[194px\]{
1618
+ width: 194px;
1619
+ }
1620
+
1617
1621
  .w-\[22\.5rem\]{
1618
1622
  width: 22.5rem;
1619
1623
  }
@@ -1630,6 +1634,10 @@ select{
1630
1634
  width: 290px;
1631
1635
  }
1632
1636
 
1637
+ .w-\[300px\]{
1638
+ width: 300px;
1639
+ }
1640
+
1633
1641
  .w-\[598\.55px\]{
1634
1642
  width: 598.55px;
1635
1643
  }
@@ -1646,6 +1654,10 @@ select{
1646
1654
  width: 643.51px;
1647
1655
  }
1648
1656
 
1657
+ .w-\[643px\]{
1658
+ width: 643px;
1659
+ }
1660
+
1649
1661
  .w-\[70\%\]{
1650
1662
  width: 70%;
1651
1663
  }
@@ -1692,10 +1704,6 @@ select{
1692
1704
  min-width: 20px;
1693
1705
  }
1694
1706
 
1695
- .min-w-\[22rem\]{
1696
- min-width: 22rem;
1697
- }
1698
-
1699
1707
  .min-w-\[24px\]{
1700
1708
  min-width: 24px;
1701
1709
  }
@@ -1867,6 +1875,12 @@ select{
1867
1875
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1868
1876
  }
1869
1877
 
1878
+ .-translate-y-36{
1879
+ --tw-translate-y: -9rem;
1880
+ -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1881
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1882
+ }
1883
+
1870
1884
  .-translate-y-\[0px\]{
1871
1885
  --tw-translate-y: -0px;
1872
1886
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -1903,6 +1917,12 @@ select{
1903
1917
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1904
1918
  }
1905
1919
 
1920
+ .translate-y-36{
1921
+ --tw-translate-y: 9rem;
1922
+ -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1923
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1924
+ }
1925
+
1906
1926
  .translate-y-\[-20px\]{
1907
1927
  --tw-translate-y: -20px;
1908
1928
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -1915,6 +1935,12 @@ select{
1915
1935
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1916
1936
  }
1917
1937
 
1938
+ .-translate-y-0{
1939
+ --tw-translate-y: -0px;
1940
+ -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1941
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1942
+ }
1943
+
1918
1944
  .-rotate-45{
1919
1945
  --tw-rotate: -45deg;
1920
1946
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -2028,6 +2054,10 @@ select{
2028
2054
  flex-direction: row;
2029
2055
  }
2030
2056
 
2057
+ .flex-row-reverse{
2058
+ flex-direction: row-reverse;
2059
+ }
2060
+
2031
2061
  .flex-col{
2032
2062
  flex-direction: column;
2033
2063
  }
@@ -5835,6 +5865,10 @@ select{
5835
5865
  padding: 0.625rem;
5836
5866
  }
5837
5867
 
5868
+ .p-20{
5869
+ padding: 5rem;
5870
+ }
5871
+
5838
5872
  .p-3{
5839
5873
  padding: 0.75rem;
5840
5874
  }
@@ -7176,6 +7210,10 @@ select{
7176
7210
  transition-duration: 100ms;
7177
7211
  }
7178
7212
 
7213
+ .duration-1000{
7214
+ transition-duration: 1000ms;
7215
+ }
7216
+
7179
7217
  .duration-150{
7180
7218
  transition-duration: 150ms;
7181
7219
  }
@@ -7192,6 +7230,10 @@ select{
7192
7230
  transition-duration: 500ms;
7193
7231
  }
7194
7232
 
7233
+ .duration-\[1500ms\]{
7234
+ transition-duration: 1500ms;
7235
+ }
7236
+
7195
7237
  .ease-in{
7196
7238
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
7197
7239
  }
@@ -9720,6 +9762,10 @@ select{
9720
9762
  flex-direction: column;
9721
9763
  }
9722
9764
 
9765
+ .tb\:flex-col-reverse{
9766
+ flex-direction: column-reverse;
9767
+ }
9768
+
9723
9769
  .tb\:items-center{
9724
9770
  align-items: center;
9725
9771
  }