@ilo-org/react 0.11.0 → 0.12.0

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 (73) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/lib/cjs/components/Cards/Card.js +40 -0
  3. package/lib/cjs/components/Cards/CardGroup.js +33 -0
  4. package/lib/cjs/components/Cards/DataCard/index.js +27 -0
  5. package/lib/cjs/components/Cards/DetailCard/index.js +20 -0
  6. package/lib/cjs/components/Cards/FactlistCard/index.js +23 -0
  7. package/lib/cjs/components/Cards/FeatureCard/index.js +24 -0
  8. package/lib/cjs/components/Cards/MultilinkCard/index.js +24 -0
  9. package/lib/cjs/components/Cards/PromoCard/index.js +23 -0
  10. package/lib/cjs/components/Cards/StatCard/index.js +21 -0
  11. package/lib/cjs/components/Cards/TextCard/index.js +25 -0
  12. package/lib/cjs/components/Cards/index.js +37 -0
  13. package/lib/cjs/components/LinkList/LinkList.js +1 -1
  14. package/lib/cjs/components/index.js +12 -4
  15. package/lib/cjs/index.js +12 -4
  16. package/lib/esm/components/Cards/Card.js +38 -0
  17. package/lib/esm/components/{Card → Cards}/CardGroup.js +14 -6
  18. package/lib/esm/components/Cards/DataCard/index.js +25 -0
  19. package/lib/esm/components/Cards/DetailCard/index.js +18 -0
  20. package/lib/esm/components/Cards/FactlistCard/index.js +21 -0
  21. package/lib/esm/components/Cards/FeatureCard/index.js +22 -0
  22. package/lib/esm/components/Cards/MultilinkCard/index.js +22 -0
  23. package/lib/esm/components/Cards/PromoCard/index.js +21 -0
  24. package/lib/esm/components/Cards/StatCard/index.js +19 -0
  25. package/lib/esm/components/Cards/TextCard/index.js +23 -0
  26. package/lib/esm/components/Cards/index.js +22 -0
  27. package/lib/esm/components/LinkList/LinkList.js +1 -1
  28. package/lib/esm/components/index.js +10 -2
  29. package/lib/esm/index.js +10 -2
  30. package/lib/types/react/src/components/Cards/Card.props.d.ts +307 -0
  31. package/lib/types/react/src/components/{Card → Cards}/CardGroup.props.d.ts +1 -1
  32. package/lib/types/react/src/components/Cards/DataCard/index.d.ts +4 -0
  33. package/lib/types/react/src/components/Cards/DetailCard/index.d.ts +4 -0
  34. package/lib/types/react/src/components/Cards/FactlistCard/index.d.ts +4 -0
  35. package/lib/types/react/src/components/Cards/FeatureCard/index.d.ts +4 -0
  36. package/lib/types/react/src/components/Cards/MultilinkCard/index.d.ts +4 -0
  37. package/lib/types/react/src/components/Cards/PromoCard/index.d.ts +4 -0
  38. package/lib/types/react/src/components/Cards/StatCard/index.d.ts +4 -0
  39. package/lib/types/react/src/components/Cards/TextCard/index.d.ts +4 -0
  40. package/lib/types/react/src/components/Cards/index.d.ts +11 -0
  41. package/lib/types/react/src/components/index.d.ts +1 -1
  42. package/lib/types/react/src/types/index.d.ts +3 -3
  43. package/package.json +2 -2
  44. package/src/components/{Card → Cards}/Card.args.ts +41 -36
  45. package/src/components/Cards/Card.props.ts +382 -0
  46. package/src/components/Cards/Card.tsx +36 -0
  47. package/src/components/{Card → Cards}/CardGroup.args.ts +26 -26
  48. package/src/components/{Card → Cards}/CardGroup.props.ts +1 -1
  49. package/src/components/{Card → Cards}/CardGroup.tsx +12 -13
  50. package/src/components/Cards/DataCard/index.tsx +107 -0
  51. package/src/components/Cards/DetailCard/index.tsx +62 -0
  52. package/src/components/Cards/FactlistCard/index.tsx +42 -0
  53. package/src/components/Cards/FeatureCard/index.tsx +69 -0
  54. package/src/components/Cards/MultilinkCard/index.tsx +76 -0
  55. package/src/components/Cards/PromoCard/index.tsx +60 -0
  56. package/src/components/Cards/StatCard/index.tsx +36 -0
  57. package/src/components/Cards/TextCard/index.tsx +63 -0
  58. package/src/components/Cards/index.ts +22 -0
  59. package/src/components/LinkList/LinkList.tsx +1 -1
  60. package/src/components/index.ts +1 -1
  61. package/src/types/index.ts +4 -4
  62. package/lib/cjs/components/Card/Card.js +0 -43
  63. package/lib/cjs/components/Card/CardGroup.js +0 -25
  64. package/lib/cjs/components/Card/index.js +0 -21
  65. package/lib/esm/components/Card/Card.js +0 -41
  66. package/lib/esm/components/Card/index.js +0 -14
  67. package/lib/types/react/src/components/Card/Card.props.d.ts +0 -110
  68. package/lib/types/react/src/components/Card/index.d.ts +0 -2
  69. package/src/components/Card/Card.props.ts +0 -142
  70. package/src/components/Card/Card.tsx +0 -183
  71. package/src/components/Card/index.ts +0 -2
  72. /package/lib/types/react/src/components/{Card → Cards}/Card.d.ts +0 -0
  73. /package/lib/types/react/src/components/{Card → Cards}/CardGroup.d.ts +0 -0
@@ -1,183 +0,0 @@
1
- import { FC } from "react";
2
- import classnames from "classnames";
3
- import useGlobalSettings from "../../hooks/useGlobalSettings";
4
- import { CardProps } from "./Card.props";
5
- import { Link } from "../Link";
6
- import { List, ListItem } from "../List";
7
- import { LinkList } from "../LinkList";
8
- import { Profile } from "../Profile";
9
-
10
- const Card: FC<CardProps> = ({
11
- isvideo,
12
- eyebrow,
13
- title,
14
- color,
15
- theme,
16
- variant,
17
- size,
18
- cornercut,
19
- alignment,
20
- intro,
21
- date,
22
- eventdetails,
23
- profile,
24
- listitems,
25
- link,
26
- linklist,
27
- cta,
28
- image,
29
- source,
30
- dataset,
31
- }) => {
32
- const { prefix } = useGlobalSettings();
33
-
34
- const baseClass = `${prefix}--card`;
35
- const cardClasses = classnames(
36
- baseClass,
37
- `${baseClass}--${variant}`,
38
- `${baseClass}--${color}`,
39
- {
40
- [`${baseClass}--${cornercut}`]: cornercut,
41
- [`${baseClass}--${alignment}`]: alignment,
42
- [`${baseClass}--action`]: link,
43
- [`${baseClass}--${size}`]: size,
44
- [`${baseClass}--isvideo`]: isvideo,
45
- [`${baseClass}--linklist`]: linklist,
46
- [`${baseClass}--${theme}`]: theme,
47
- }
48
- );
49
-
50
- return (
51
- <div className={cardClasses}>
52
- {link &&
53
- variant != "data" &&
54
- variant != "factlist" &&
55
- variant != "stat" && (
56
- <a className={`${baseClass}--link`} href={link} title={title}>
57
- <span className={`${baseClass}--link--text`}>{title}</span>
58
- </a>
59
- )}
60
- <div className={`${baseClass}--wrap`}>
61
- {image && (
62
- <div className={`${baseClass}--image--wrapper`}>
63
- <picture>
64
- <img className={`${baseClass}--image`} src={image} alt={title} />
65
- </picture>
66
- </div>
67
- )}
68
- <div className={`${baseClass}--content`}>
69
- {eyebrow && <p className={`${baseClass}--eyebrow`}>{eyebrow}</p>}
70
- {title && <h3 className={`${baseClass}--title`}>{title}</h3>}
71
- {(variant == "multilink" || (variant == "data" && image)) && (
72
- <div className={`${baseClass}--image--wrapper`}>
73
- <picture>
74
- <img
75
- className={`${baseClass}--image`}
76
- src={image}
77
- alt={title}
78
- />
79
- </picture>
80
- </div>
81
- )}
82
- {intro && <p className={`${baseClass}--intro`}>{intro}</p>}
83
- {date &&
84
- variant != "stat" &&
85
- variant != "data" &&
86
- variant != "graphicpromo" &&
87
- variant != "factlist" && (
88
- <time className={`${baseClass}--date`} dateTime={date.unix}>
89
- {date.human}
90
- </time>
91
- )}
92
- {eventdetails && (
93
- <p className={`${baseClass}--event-date`}>{eventdetails}</p>
94
- )}
95
- {profile && profile.avatar && (
96
- <Profile
97
- avatar={profile.avatar}
98
- description={profile.description}
99
- link={profile.link}
100
- name={profile.name}
101
- role={profile.role}
102
- className={`${prefix}--profile--contents--${theme}`}
103
- />
104
- )}
105
- {listitems && (
106
- <List alignment="default" ordered="unordered">
107
- {listitems.map((item, index) => (
108
- <ListItem id={`list${index}`}>
109
- <p>{item}</p>
110
- </ListItem>
111
- ))}
112
- </List>
113
- )}
114
- {cta && cta.label && (
115
- <a
116
- className={`${baseClass}--cta ${prefix}--button ${prefix}--button--medium ${prefix}--button--primary`}
117
- href={cta.url}
118
- >
119
- <span className="link__label">{cta.label}</span>
120
- </a>
121
- )}
122
- {source && (
123
- <Link theme={theme} url={source.url}>
124
- {source.label}
125
- </Link>
126
- )}
127
- {linklist && (
128
- <LinkList
129
- headline={linklist.headline}
130
- linkgroup={linklist.linkgroup}
131
- />
132
- )}
133
- {dataset &&
134
- dataset.content &&
135
- dataset.content.items &&
136
- dataset.content.items.map((item) => (
137
- <>
138
- <p className={`${baseClass}--data--content-label`}>
139
- {item.label}
140
- </p>
141
- <p className={`${baseClass}--data--content-copy`}>
142
- {item.copy}
143
- </p>
144
- </>
145
- ))}
146
- {dataset && dataset.files && (
147
- <div className={`${baseClass}--data--content-files`}>
148
- <p className={`${baseClass}--data--content-label`}>
149
- {dataset.files.headline}
150
- </p>
151
- {dataset.files.items &&
152
- dataset.files.items.map((item) => (
153
- <a
154
- className={`${baseClass}--data--file ${prefix}--button ${prefix}--button--primary ${prefix}--button--small`}
155
- href={item.url}
156
- download
157
- >
158
- <span className="button__label">{item.label}</span>
159
- </a>
160
- ))}
161
- </div>
162
- )}
163
- {dataset && dataset.links && (
164
- <div className={`${baseClass}--data--content-links`}>
165
- <p className={`${baseClass}--data--content-label`}>
166
- {dataset.links.headline}
167
- </p>
168
- {dataset.links.items &&
169
- dataset.links.items.map((item) => (
170
- <>
171
- <Link url={item.url}>{item.label}</Link>
172
- <span>&nbsp;&nbsp;</span>
173
- </>
174
- ))}
175
- </div>
176
- )}
177
- </div>
178
- </div>
179
- </div>
180
- );
181
- };
182
-
183
- export default Card;
@@ -1,2 +0,0 @@
1
- export { default as Card } from "./Card";
2
- export { default as CardGroup } from "./CardGroup";