@orangesk/orange-design-system 3.1.0 → 3.3.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.
- package/build/components/Avatar/style.css +2 -0
- package/build/components/Avatar/style.css.map +1 -0
- package/build/components/BodyBanner/style.css +1 -1
- package/build/components/BodyBanner/style.css.map +1 -1
- package/build/components/Carousel/style.css +1 -1
- package/build/components/Carousel/style.css.map +1 -1
- package/build/components/Countdown/style.css +2 -0
- package/build/components/Countdown/style.css.map +1 -0
- package/build/components/DocumentationSidebar/style.css +1 -1
- package/build/components/DocumentationSidebar/style.css.map +1 -1
- package/build/components/Footer/style.css +1 -1
- package/build/components/Footer/style.css.map +1 -1
- package/build/components/List/style.css +1 -1
- package/build/components/List/style.css.map +1 -1
- package/build/components/Megamenu/style.css +1 -1
- package/build/components/Megamenu/style.css.map +1 -1
- package/build/components/Pill/style.css +1 -1
- package/build/components/Pill/style.css.map +1 -1
- package/build/components/Preview/style.css +1 -1
- package/build/components/Preview/style.css.map +1 -1
- package/build/components/StarRating/style.css +2 -0
- package/build/components/StarRating/style.css.map +1 -0
- package/build/components/index.js +1 -1
- package/build/components/index.js.map +1 -1
- package/build/components/tsconfig.tsbuildinfo +1 -1
- package/build/components/types/index.d.ts +65 -15
- package/build/components/types/src/components/Avatar/Avatar.d.ts +7 -0
- package/build/components/types/src/components/Avatar/index.d.ts +2 -0
- package/build/components/types/src/components/Carousel/Carousel.d.ts +10 -3
- package/build/components/types/src/components/Carousel/constants.d.ts +2 -0
- package/build/components/types/src/components/Countdown/Countdown.d.ts +10 -0
- package/build/components/types/src/components/Countdown/Countdown.react.d.ts +8 -0
- package/build/components/types/src/components/Countdown/Countdown.shared.d.ts +54 -0
- package/build/components/types/src/components/Countdown/Countdown.static.d.ts +21 -0
- package/build/components/types/src/components/Countdown/CountdownTag.d.ts +9 -0
- package/build/components/types/src/components/Countdown/CountdownTag.static.d.ts +16 -0
- package/build/components/types/src/components/Countdown/constants.d.ts +28 -0
- package/build/components/types/src/components/Countdown/index.d.ts +3 -0
- package/build/components/types/src/components/DocumentationSidebar/DocumentationSidebar.d.ts +1 -0
- package/build/components/types/src/components/Preview/PreviewGenerator.d.ts +1 -0
- package/build/components/types/src/components/PromoBanner/PromoBanner.d.ts +5 -1
- package/build/components/types/src/components/StarRating/StarRating.d.ts +9 -0
- package/build/components/types/src/components/StarRating/index.d.ts +1 -0
- package/build/components/types/src/components/index.d.ts +5 -3
- package/build/components/types/src/scripts/index.d.ts +10 -0
- package/build/components/types/src/styles/export/color.d.ts +2 -0
- package/build/lib/base.css +1 -1
- package/build/lib/base.css.map +1 -1
- package/build/lib/components.css +1 -1
- package/build/lib/components.css.map +1 -1
- package/build/lib/footer.css +1 -1
- package/build/lib/footer.css.map +1 -1
- package/build/lib/megamenu.css +1 -1
- package/build/lib/megamenu.css.map +1 -1
- package/build/lib/scripts.js +1 -1
- package/build/lib/scripts.js.map +1 -1
- package/build/lib/style.css +1 -1
- package/build/lib/style.css.map +1 -1
- package/build/lib/tsconfig.tsbuildinfo +1 -1
- package/build/lib/utilities.css +1 -1
- package/build/lib/utilities.css.map +1 -1
- package/build/sprite.svg +1 -1
- package/package.json +30 -29
- package/src/assets/icons/add.svg +4 -1
- package/src/assets/icons/close.svg +3 -3
- package/src/assets/icons/menu.svg +4 -1
- package/src/assets/icons/pause.svg +3 -3
- package/src/assets/icons/play.svg +2 -2
- package/src/assets/icons/quote.svg +1 -1
- package/src/assets/icons/remove.svg +4 -1
- package/src/assets/icons/search.svg +4 -1
- package/src/assets/icons/star-empty-thin.svg +4 -0
- package/src/components/Avatar/Avatar.tsx +36 -0
- package/src/components/Avatar/index.ts +2 -0
- package/src/components/Avatar/styles/config.scss +11 -0
- package/src/components/Avatar/styles/mixins.scss +53 -0
- package/src/components/Avatar/styles/style.scss +20 -0
- package/src/components/Avatar/tests/Avatar.conformance.test.jsx +23 -0
- package/src/components/Avatar/tests/Avatar.unit.test.jsx +45 -0
- package/src/components/BodyBanner/styles/mixins.scss +5 -1
- package/src/components/Carousel/Carousel.static.ts +17 -3
- package/src/components/Carousel/Carousel.tsx +55 -32
- package/src/components/Carousel/constants.ts +2 -0
- package/src/components/Carousel/styles/config.scss +5 -8
- package/src/components/Carousel/styles/mixins.scss +48 -78
- package/src/components/Carousel/styles/style.scss +8 -21
- package/src/components/Carousel/tests/Carousel.unit.test.jsx +77 -5
- package/src/components/Countdown/Countdown.react.ts +67 -0
- package/src/components/Countdown/Countdown.shared.ts +228 -0
- package/src/components/Countdown/Countdown.static.ts +201 -0
- package/src/components/Countdown/Countdown.tsx +105 -0
- package/src/components/Countdown/CountdownTag.static.ts +140 -0
- package/src/components/Countdown/CountdownTag.tsx +99 -0
- package/src/components/Countdown/constants.ts +36 -0
- package/src/components/Countdown/index.ts +3 -0
- package/src/components/Countdown/styles/config.scss +17 -0
- package/src/components/Countdown/styles/mixins.scss +193 -0
- package/src/components/Countdown/styles/style.scss +82 -0
- package/src/components/{Testimonial/tests/Testimonial.conformance.test.jsx → Countdown/tests/Countdown.conformance.test.jsx} +7 -2
- package/src/components/Countdown/tests/Countdown.static.test.jsx +117 -0
- package/src/components/Countdown/tests/Countdown.unit.test.jsx +101 -0
- package/src/components/Countdown/tests/CountdownTag.conformance.test.jsx +21 -0
- package/src/components/Countdown/tests/CountdownTag.static.test.jsx +30 -0
- package/src/components/Countdown/tests/CountdownTag.unit.test.jsx +67 -0
- package/src/components/DocumentationSidebar/DocumentationSidebar.tsx +14 -1
- package/src/components/DocumentationSidebar/styles/style.scss +11 -0
- package/src/components/Forms/Autocomplete/Autocomplete.static.ts +14 -1
- package/src/components/Forms/Autocomplete/styles/mixins.scss +3 -2
- package/src/components/Forms/Autocomplete/tests/Autocomplete.styles.unit.test.jsx +20 -0
- package/src/components/List/styles/config.scss +1 -1
- package/src/components/Pill/styles/style.scss +2 -1
- package/src/components/Preview/PreviewGenerator.tsx +137 -103
- package/src/components/Preview/styles/style.scss +15 -9
- package/src/components/PromoBanner/PromoBanner.tsx +24 -7
- package/src/components/PromoBanner/tests/PromoBanner.unit.test.jsx +31 -0
- package/src/components/StarRating/StarRating.tsx +52 -0
- package/src/components/StarRating/index.ts +1 -0
- package/src/components/StarRating/styles/style.scss +28 -0
- package/src/components/StarRating/tests/StarRating.unit.test.jsx +62 -0
- package/src/components/index.ts +9 -3
- package/src/styles/export/color.js +2 -0
- package/src/styles/tokens/color.scss +2 -0
- package/src/styles/typography/mixins.scss +4 -0
- package/src/styles/utilities/text.scss +9 -0
- package/build/components/Testimonial/style.css +0 -2
- package/build/components/Testimonial/style.css.map +0 -1
- package/build/components/types/src/components/Testimonial/Testimonial.d.ts +0 -10
- package/build/components/types/src/components/Testimonial/index.d.ts +0 -1
- package/build/search-index.json +0 -430
- package/src/components/Testimonial/Testimonial.tsx +0 -38
- package/src/components/Testimonial/index.ts +0 -1
- package/src/components/Testimonial/styles/config.scss +0 -42
- package/src/components/Testimonial/styles/mixins.scss +0 -44
- package/src/components/Testimonial/styles/style.scss +0 -16
- package/src/components/Testimonial/tests/Testimonial.unit.test.jsx +0 -43
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import cx from "classnames";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
import { Icon } from "../Icon";
|
|
5
|
+
|
|
6
|
+
export interface StarRatingProps
|
|
7
|
+
extends Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> {
|
|
8
|
+
/** Extra class name for root element. */
|
|
9
|
+
className?: string;
|
|
10
|
+
/** Rating value. Rounded to nearest whole star. */
|
|
11
|
+
rating: number;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const CLASS_ROOT = "star-rating";
|
|
15
|
+
const STAR_COUNT = 5;
|
|
16
|
+
const FILLED_ICON_NAME = "star-favourite";
|
|
17
|
+
const EMPTY_ICON_NAME = "star-empty-thin";
|
|
18
|
+
|
|
19
|
+
const clampRating = (rating: number) =>
|
|
20
|
+
Math.max(0, Math.min(Math.round(rating), STAR_COUNT));
|
|
21
|
+
|
|
22
|
+
const StarRating: React.FC<StarRatingProps> = ({
|
|
23
|
+
className,
|
|
24
|
+
rating,
|
|
25
|
+
...other
|
|
26
|
+
}) => {
|
|
27
|
+
const filledStars = clampRating(rating);
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<span className={cx(CLASS_ROOT, className)} {...other}>
|
|
31
|
+
{Array.from({ length: STAR_COUNT }, (_, index) => {
|
|
32
|
+
const isFilled = index < filledStars;
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<Icon
|
|
36
|
+
key={`${isFilled ? FILLED_ICON_NAME : EMPTY_ICON_NAME}-${index}`}
|
|
37
|
+
className={cx(`${CLASS_ROOT}__icon`, {
|
|
38
|
+
[`${CLASS_ROOT}__icon--filled`]: isFilled,
|
|
39
|
+
[`${CLASS_ROOT}__icon--empty`]: !isFilled,
|
|
40
|
+
})}
|
|
41
|
+
name={isFilled ? FILLED_ICON_NAME : EMPTY_ICON_NAME}
|
|
42
|
+
size="large"
|
|
43
|
+
/>
|
|
44
|
+
);
|
|
45
|
+
})}
|
|
46
|
+
</span>
|
|
47
|
+
);
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
StarRating.displayName = "StarRating";
|
|
51
|
+
|
|
52
|
+
export { StarRating };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { StarRating } from "./StarRating";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
@use "../../../styles/tools/convert";
|
|
2
|
+
@use "../../../styles/tokens/space";
|
|
3
|
+
@use "../../../styles/tokens/breakpoint";
|
|
4
|
+
|
|
5
|
+
@layer components {
|
|
6
|
+
.star-rating {
|
|
7
|
+
display: flex;
|
|
8
|
+
margin-bottom: space.get("large");
|
|
9
|
+
width: fit-content;
|
|
10
|
+
gap: convert.to-rem(5px);
|
|
11
|
+
|
|
12
|
+
&__icon--filled {
|
|
13
|
+
color: var(--color-icon-brand);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&__icon--empty {
|
|
17
|
+
color: var(--color-icon-disabled);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&__icon {
|
|
21
|
+
--icon-size: #{convert.to-rem(24px)};
|
|
22
|
+
|
|
23
|
+
@include breakpoint.get(md) {
|
|
24
|
+
--icon-size: #{convert.to-rem(32px)};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @vitest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { render } from "@testing-library/react";
|
|
6
|
+
|
|
7
|
+
import { StarRating } from "../StarRating";
|
|
8
|
+
|
|
9
|
+
describe("rendering StarRating", () => {
|
|
10
|
+
it("has default class star-rating", () => {
|
|
11
|
+
const { getByTestId } = render(
|
|
12
|
+
<StarRating rating={4} data-testid="test-id" />,
|
|
13
|
+
);
|
|
14
|
+
|
|
15
|
+
expect(getByTestId("test-id")).toHaveClass("star-rating");
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it("renders five icons by default", () => {
|
|
19
|
+
const { container } = render(<StarRating rating={4} />);
|
|
20
|
+
|
|
21
|
+
expect(container.querySelectorAll("svg.icon")).toHaveLength(5);
|
|
22
|
+
expect(container.querySelector("svg")).toHaveClass("icon--large");
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it("renders filled and empty stars from rating", () => {
|
|
26
|
+
const { container } = render(<StarRating rating={3} />);
|
|
27
|
+
const uses = container.querySelectorAll("use");
|
|
28
|
+
|
|
29
|
+
expect(uses[0].getAttribute("xlink:href")).toBe(
|
|
30
|
+
"/sprite.svg#star-favourite",
|
|
31
|
+
);
|
|
32
|
+
expect(uses[1].getAttribute("xlink:href")).toBe(
|
|
33
|
+
"/sprite.svg#star-favourite",
|
|
34
|
+
);
|
|
35
|
+
expect(uses[2].getAttribute("xlink:href")).toBe(
|
|
36
|
+
"/sprite.svg#star-favourite",
|
|
37
|
+
);
|
|
38
|
+
expect(uses[3].getAttribute("xlink:href")).toBe(
|
|
39
|
+
"/sprite.svg#star-empty-thin",
|
|
40
|
+
);
|
|
41
|
+
expect(uses[4].getAttribute("xlink:href")).toBe(
|
|
42
|
+
"/sprite.svg#star-empty-thin",
|
|
43
|
+
);
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
it("rounds and clamps rating", () => {
|
|
47
|
+
const { container } = render(<StarRating rating={5.7} />);
|
|
48
|
+
const uses = container.querySelectorAll("use");
|
|
49
|
+
|
|
50
|
+
uses.forEach((use) => {
|
|
51
|
+
expect(use.getAttribute("xlink:href")).toBe("/sprite.svg#star-favourite");
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
it("passes aria-label through", () => {
|
|
56
|
+
const { getByTestId } = render(
|
|
57
|
+
<StarRating rating={2} aria-label="2 out of 5" data-testid="test-id" />,
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
expect(getByTestId("test-id")).toHaveAttribute("aria-label", "2 out of 5");
|
|
61
|
+
});
|
|
62
|
+
});
|
package/src/components/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Accordion, AccordionItem } from "./Accordion";
|
|
2
2
|
import { Alert } from "./Alert";
|
|
3
3
|
import { AnchorNavigation } from "./AnchorNavigation";
|
|
4
|
+
import { Avatar } from "./Avatar";
|
|
4
5
|
import { Bar, BarBreak, BarItem } from "./Bar";
|
|
5
6
|
import {
|
|
6
7
|
BlockAction,
|
|
@@ -19,12 +20,13 @@ import {
|
|
|
19
20
|
} from "./Button";
|
|
20
21
|
import { Buttons } from "./Buttons";
|
|
21
22
|
import { Card, CardProductHeader, CardSection } from "./Card";
|
|
22
|
-
import { Carousel } from "./Carousel";
|
|
23
|
+
import { Carousel, CarouselItem } from "./Carousel";
|
|
23
24
|
import { CarouselHero, CarouselHeroItem } from "./CarouselHero";
|
|
24
25
|
import { CarouselPromotions } from "./CarouselPromotions";
|
|
25
26
|
import { CartTable } from "./CartTable";
|
|
26
27
|
import { Container } from "./Container";
|
|
27
28
|
import { Controls } from "./Controls";
|
|
29
|
+
import { Countdown, CountdownTag } from "./Countdown";
|
|
28
30
|
import { Cover } from "./Cover";
|
|
29
31
|
import { Divider } from "./Divider";
|
|
30
32
|
import {
|
|
@@ -85,12 +87,12 @@ import { Section } from "./Section";
|
|
|
85
87
|
import { Skeleton } from "./Skeleton";
|
|
86
88
|
import { SkipLink } from "./SkipLink";
|
|
87
89
|
import { SocialButton } from "./SocialButton";
|
|
90
|
+
import { StarRating } from "./StarRating";
|
|
88
91
|
import { Stepbar } from "./Stepbar";
|
|
89
92
|
import { Sticker } from "./Sticker";
|
|
90
93
|
import { Table } from "./Table";
|
|
91
94
|
import { Tab, TabPanel, Tabs } from "./Tabs";
|
|
92
95
|
import { Tag, TagButton } from "./Tag";
|
|
93
|
-
import { Testimonial } from "./Testimonial";
|
|
94
96
|
import { Tile } from "./Tile";
|
|
95
97
|
import { Timeline } from "./Timeline";
|
|
96
98
|
import { InfoTooltip, Tooltip } from "./Tooltip";
|
|
@@ -101,6 +103,7 @@ export {
|
|
|
101
103
|
Alert,
|
|
102
104
|
AnchorNavigation,
|
|
103
105
|
Autocomplete,
|
|
106
|
+
Avatar,
|
|
104
107
|
Bar,
|
|
105
108
|
BarBreak,
|
|
106
109
|
BarItem,
|
|
@@ -121,11 +124,14 @@ export {
|
|
|
121
124
|
Carousel,
|
|
122
125
|
CarouselHero,
|
|
123
126
|
CarouselHeroItem,
|
|
127
|
+
CarouselItem,
|
|
124
128
|
CarouselPromotions,
|
|
125
129
|
CartTable,
|
|
126
130
|
Checkbox,
|
|
127
131
|
Container,
|
|
128
132
|
Controls,
|
|
133
|
+
Countdown,
|
|
134
|
+
CountdownTag,
|
|
129
135
|
Cover,
|
|
130
136
|
Divider,
|
|
131
137
|
Dropdown,
|
|
@@ -185,6 +191,7 @@ export {
|
|
|
185
191
|
SocialButton,
|
|
186
192
|
SpritePathContext,
|
|
187
193
|
SpritePathProvider,
|
|
194
|
+
StarRating,
|
|
188
195
|
Stepbar,
|
|
189
196
|
Sticker,
|
|
190
197
|
Tab,
|
|
@@ -193,7 +200,6 @@ export {
|
|
|
193
200
|
Tabs,
|
|
194
201
|
Tag,
|
|
195
202
|
TagButton,
|
|
196
|
-
Testimonial,
|
|
197
203
|
TextArea,
|
|
198
204
|
TextInput,
|
|
199
205
|
Tile,
|
|
@@ -27,6 +27,7 @@ export const exports = {
|
|
|
27
27
|
"light-fill-accent3": "#ffb4e6",
|
|
28
28
|
"light-fill-accent4": "#a885d8",
|
|
29
29
|
"light-fill-accent5": "#ffd200",
|
|
30
|
+
"light-fill-accent6": "#ffc48f",
|
|
30
31
|
"light-fill-information": "rgba(65, 112, 216, 0.0784313725)",
|
|
31
32
|
"light-fill-positive": "rgba(34, 135, 34, 0.0784313725)",
|
|
32
33
|
"light-fill-warning": "rgba(255, 204, 0, 0.0784313725)",
|
|
@@ -78,6 +79,7 @@ export const exports = {
|
|
|
78
79
|
"dark-fill-accent3": "#ffb4e6",
|
|
79
80
|
"dark-fill-accent4": "#a885d8",
|
|
80
81
|
"dark-fill-accent5": "#ffd200",
|
|
82
|
+
"dark-icon-accent6": "#ffc48f",
|
|
81
83
|
"dark-fill-information": "rgba(65, 112, 216, 0.2)",
|
|
82
84
|
"dark-fill-positive": "rgba(34, 135, 34, 0.2)",
|
|
83
85
|
"dark-fill-warning": "rgba(255, 204, 0, 0.2)",
|
|
@@ -26,6 +26,7 @@ $colors-light: (
|
|
|
26
26
|
fill-accent3: #ffb4e6,
|
|
27
27
|
fill-accent4: #a885d8,
|
|
28
28
|
fill-accent5: #ffd200,
|
|
29
|
+
fill-accent6: #ffc48f,
|
|
29
30
|
fill-information: #4170d814,
|
|
30
31
|
fill-positive: #22872214,
|
|
31
32
|
fill-warning: #ffcc0014,
|
|
@@ -80,6 +81,7 @@ $colors-dark: (
|
|
|
80
81
|
fill-accent3: #ffb4e6,
|
|
81
82
|
fill-accent4: #a885d8,
|
|
82
83
|
fill-accent5: #ffd200,
|
|
84
|
+
icon-accent6: #ffc48f,
|
|
83
85
|
fill-information: #4170d833,
|
|
84
86
|
fill-positive: #22872233,
|
|
85
87
|
fill-warning: #ffcc0033,
|
|
@@ -55,6 +55,12 @@
|
|
|
55
55
|
);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
+
.body-text-sm {
|
|
59
|
+
@include generate.css-map(
|
|
60
|
+
map.get(map.get(typographyConfig.$body-text, "default"), "default")
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
|
|
58
64
|
.large {
|
|
59
65
|
@include generate.responsive-css-map(
|
|
60
66
|
map.get(typographyConfig.$body-text, "large")
|
|
@@ -152,4 +158,7 @@
|
|
|
152
158
|
.text-narrow {
|
|
153
159
|
@include typographyMixins.text-narrow;
|
|
154
160
|
}
|
|
161
|
+
.text-relaxed {
|
|
162
|
+
@include typographyMixins.text-relaxed;
|
|
163
|
+
}
|
|
155
164
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
@layer components{.testimonial{font-size:.875rem;padding:.625rem 1.875rem .625rem 2.5rem;position:relative;width:fit-content}.testimonial:after,.testimonial:before{background-color:var(--color-background-contrast);background-repeat:no-repeat;content:"";display:block;height:1.125rem;position:absolute;width:1.25rem}.testimonial:before{bottom:0;left:0;-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="20" height="18" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 0h7.551v7.551c0 1.36-.159 2.653-.476 3.878-.272 1.179-.726 2.222-1.36 3.129A6.652 6.652 0 0 1 3.4 16.735c-.907.544-2.018.816-3.333.816V14.15c.771 0 1.406-.182 1.905-.545.499-.408.907-.93 1.224-1.564a6.33 6.33 0 0 0 .613-2.109c.136-.816.204-1.61.204-2.381H0V0Zm12.449 0H20v7.551c0 1.36-.159 2.653-.476 3.878-.272 1.179-.726 2.222-1.36 3.129a6.653 6.653 0 0 1-2.314 2.177c-.907.544-2.018.816-3.333.816V14.15c.771 0 1.406-.182 1.905-.545.499-.408.907-.93 1.224-1.564a6.331 6.331 0 0 0 .613-2.109c.136-.816.204-1.61.204-2.381h-4.014V0Z"/></svg>');mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="20" height="18" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 0h7.551v7.551c0 1.36-.159 2.653-.476 3.878-.272 1.179-.726 2.222-1.36 3.129A6.652 6.652 0 0 1 3.4 16.735c-.907.544-2.018.816-3.333.816V14.15c.771 0 1.406-.182 1.905-.545.499-.408.907-.93 1.224-1.564a6.33 6.33 0 0 0 .613-2.109c.136-.816.204-1.61.204-2.381H0V0Zm12.449 0H20v7.551c0 1.36-.159 2.653-.476 3.878-.272 1.179-.726 2.222-1.36 3.129a6.653 6.653 0 0 1-2.314 2.177c-.907.544-2.018.816-3.333.816V14.15c.771 0 1.406-.182 1.905-.545.499-.408.907-.93 1.224-1.564a6.331 6.331 0 0 0 .613-2.109c.136-.816.204-1.61.204-2.381h-4.014V0Z"/></svg>')}.testimonial:after{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="20" height="18" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.551 17.551H0V10c0-1.36.136-2.63.408-3.81.318-1.224.771-2.29 1.36-3.197A7.288 7.288 0 0 1 4.15.816C5.102.272 6.213 0 7.483 0v3.401c-.771 0-1.406.204-1.905.613-.499.362-.907.861-1.224 1.496-.318.635-.544 1.36-.68 2.177A19.78 19.78 0 0 0 3.536 10h4.014v7.551Zm12.449 0h-7.551V10c0-1.36.136-2.63.408-3.81.318-1.224.771-2.29 1.36-3.197A7.289 7.289 0 0 1 16.6.816C17.55.272 18.662 0 19.932 0v3.401c-.771 0-1.406.204-1.905.613-.499.362-.907.861-1.224 1.496-.318.635-.544 1.36-.68 2.177A19.78 19.78 0 0 0 15.985 10H20v7.551Z"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="20" height="18" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.551 17.551H0V10c0-1.36.136-2.63.408-3.81.318-1.224.771-2.29 1.36-3.197A7.288 7.288 0 0 1 4.15.816C5.102.272 6.213 0 7.483 0v3.401c-.771 0-1.406.204-1.905.613-.499.362-.907.861-1.224 1.496-.318.635-.544 1.36-.68 2.177A19.78 19.78 0 0 0 3.536 10h4.014v7.551Zm12.449 0h-7.551V10c0-1.36.136-2.63.408-3.81.318-1.224.771-2.29 1.36-3.197A7.289 7.289 0 0 1 16.6.816C17.55.272 18.662 0 19.932 0v3.401c-.771 0-1.406.204-1.905.613-.499.362-.907.861-1.224 1.496-.318.635-.544 1.36-.68 2.177A19.78 19.78 0 0 0 15.985 10H20v7.551Z"/></svg>');right:0;top:0}.testimonial--orange:after,.testimonial--orange:before{background-color:var(--color-surface-secondary)}}
|
|
2
|
-
/*# sourceMappingURL=style.css.map */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["style.scss"],"names":[],"mappings":"AAAA,kBACE,aAGE,iBAAmB,CAFnB,uCAA0C,CAG1C,iBAAkB,CAFlB,iBAGF,CACA,uCAOE,iDAAkD,CADlD,2BAA4B,CAL5B,UAAW,CACX,aAAc,CAEd,eAAgB,CADhB,iBAAkB,CAElB,aAGF,CACA,oBAIE,QAAS,CADT,MAAO,CAFP,0sBAAq/B,CACr/B,ksBAGF,CACA,mBACE,mrBAA09B,CAC19B,2rBAAk+B,CAEl+B,OAAQ,CADR,KAEF,CACA,uDACE,+CACF,CACF","file":"style.css","sourcesContent":["@layer components {\n .testimonial {\n padding: 0.625rem 1.875rem 0.625rem 2.5rem;\n width: fit-content;\n font-size: 0.875rem;\n position: relative;\n }\n .testimonial::before, .testimonial::after {\n content: \"\";\n display: block;\n position: absolute;\n height: 1.125rem;\n width: 1.25rem;\n background-repeat: no-repeat;\n background-color: var(--color-background-contrast);\n }\n .testimonial::before {\n -webkit-mask-image: url('data:image/svg+xml,<svg width=\"20\" height=\"18\" viewBox=\"0 0 20 18\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 0H7.55102V7.55102C7.55102 8.91157 7.39229 10.2041 7.07483 11.4286C6.80272 12.6077 6.34921 13.6508 5.71429 14.5578C5.12472 15.4649 4.35374 16.1905 3.40136 16.7347C2.49433 17.2789 1.38322 17.551 0.0680272 17.551V14.1497C0.839002 14.1497 1.47392 13.9683 1.97279 13.6054C2.47166 13.1973 2.87982 12.6757 3.19728 12.0408C3.51474 11.4059 3.71882 10.703 3.80952 9.93198C3.94558 9.11565 4.01361 8.322 4.01361 7.55102H0V0ZM12.449 0H20V7.55102C20 8.91157 19.8413 10.2041 19.5238 11.4286C19.2517 12.6077 18.7982 13.6508 18.1633 14.5578C17.5737 15.4649 16.8027 16.1905 15.8503 16.7347C14.9433 17.2789 13.8322 17.551 12.517 17.551V14.1497C13.288 14.1497 13.9229 13.9683 14.4218 13.6054C14.9206 13.1973 15.3288 12.6757 15.6463 12.0408C15.9637 11.4059 16.1678 10.703 16.2585 9.93198C16.3946 9.11565 16.4626 8.322 16.4626 7.55102H12.449V0Z\" /></svg>');\n mask-image: url('data:image/svg+xml,<svg width=\"20\" height=\"18\" viewBox=\"0 0 20 18\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 0H7.55102V7.55102C7.55102 8.91157 7.39229 10.2041 7.07483 11.4286C6.80272 12.6077 6.34921 13.6508 5.71429 14.5578C5.12472 15.4649 4.35374 16.1905 3.40136 16.7347C2.49433 17.2789 1.38322 17.551 0.0680272 17.551V14.1497C0.839002 14.1497 1.47392 13.9683 1.97279 13.6054C2.47166 13.1973 2.87982 12.6757 3.19728 12.0408C3.51474 11.4059 3.71882 10.703 3.80952 9.93198C3.94558 9.11565 4.01361 8.322 4.01361 7.55102H0V0ZM12.449 0H20V7.55102C20 8.91157 19.8413 10.2041 19.5238 11.4286C19.2517 12.6077 18.7982 13.6508 18.1633 14.5578C17.5737 15.4649 16.8027 16.1905 15.8503 16.7347C14.9433 17.2789 13.8322 17.551 12.517 17.551V14.1497C13.288 14.1497 13.9229 13.9683 14.4218 13.6054C14.9206 13.1973 15.3288 12.6757 15.6463 12.0408C15.9637 11.4059 16.1678 10.703 16.2585 9.93198C16.3946 9.11565 16.4626 8.322 16.4626 7.55102H12.449V0Z\" /></svg>');\n left: 0;\n bottom: 0;\n }\n .testimonial::after {\n mask-image: url('data:image/svg+xml,<svg width=\"20\" height=\"18\" viewBox=\"0 0 20 18\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.55102 17.551H0V10C0 8.63946 0.136054 7.36962 0.408163 6.19048C0.725624 4.96599 1.17914 3.90023 1.76871 2.9932C2.40363 2.08617 3.19728 1.36055 4.14966 0.81633C5.10204 0.272111 6.21315 0 7.48299 0V3.40136C6.71202 3.40136 6.0771 3.60544 5.57823 4.01361C5.07937 4.37642 4.6712 4.87528 4.35374 5.5102C4.03628 6.14513 3.80952 6.87075 3.67347 7.68708C3.58277 8.45805 3.53742 9.22902 3.53742 10H7.55102V17.551ZM20 17.551H12.449V10C12.449 8.63946 12.585 7.36962 12.8571 6.19048C13.1746 4.96599 13.6281 3.90023 14.2177 2.9932C14.8526 2.08617 15.6463 1.36055 16.5986 0.81633C17.551 0.272111 18.6621 0 19.932 0V3.40136C19.161 3.40136 18.5261 3.60544 18.0272 4.01361C17.5283 4.37642 17.1202 4.87528 16.8027 5.5102C16.4853 6.14513 16.2585 6.87075 16.1224 7.68708C16.0317 8.45805 15.9864 9.22902 15.9864 10H20V17.551Z\" /></svg>');\n -webkit-mask-image: url('data:image/svg+xml,<svg width=\"20\" height=\"18\" viewBox=\"0 0 20 18\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.55102 17.551H0V10C0 8.63946 0.136054 7.36962 0.408163 6.19048C0.725624 4.96599 1.17914 3.90023 1.76871 2.9932C2.40363 2.08617 3.19728 1.36055 4.14966 0.81633C5.10204 0.272111 6.21315 0 7.48299 0V3.40136C6.71202 3.40136 6.0771 3.60544 5.57823 4.01361C5.07937 4.37642 4.6712 4.87528 4.35374 5.5102C4.03628 6.14513 3.80952 6.87075 3.67347 7.68708C3.58277 8.45805 3.53742 9.22902 3.53742 10H7.55102V17.551ZM20 17.551H12.449V10C12.449 8.63946 12.585 7.36962 12.8571 6.19048C13.1746 4.96599 13.6281 3.90023 14.2177 2.9932C14.8526 2.08617 15.6463 1.36055 16.5986 0.81633C17.551 0.272111 18.6621 0 19.932 0V3.40136C19.161 3.40136 18.5261 3.60544 18.0272 4.01361C17.5283 4.37642 17.1202 4.87528 16.8027 5.5102C16.4853 6.14513 16.2585 6.87075 16.1224 7.68708C16.0317 8.45805 15.9864 9.22902 15.9864 10H20V17.551Z\" /></svg>');\n top: 0;\n right: 0;\n }\n .testimonial--orange::before, .testimonial--orange::after {\n background-color: var(--color-surface-secondary);\n }\n}"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
interface TestimonialProps {
|
|
3
|
-
className?: string;
|
|
4
|
-
children?: React.ReactNode;
|
|
5
|
-
color?: "default" | "orange";
|
|
6
|
-
isDiv?: boolean;
|
|
7
|
-
[key: string]: any;
|
|
8
|
-
}
|
|
9
|
-
export declare const Testimonial: React.FC<TestimonialProps>;
|
|
10
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Testimonial } from "./Testimonial";
|