@kickstartds/ds-agency-premium 1.6.71--canary.50.2236.0 → 1.6.71--canary.50.2241.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/dist/{SearchResultProps-4035f21e.d.ts → SearchResultProps-4a00e50a.d.ts} +25 -9
- package/dist/components/page-wrapper/tokens.css +1 -1
- package/dist/components/presets.json +74 -44
- package/dist/components/search/index.d.ts +1 -1
- package/dist/components/search/index.js +1 -0
- package/dist/components/search/search.schema.dereffed.json +40 -16
- package/dist/components/search-result/index.d.ts +4 -4
- package/dist/components/search-result/index.js +6 -4
- package/dist/components/search-result/search-result.css +51 -29
- package/dist/components/search-result/search-result.schema.dereffed.json +40 -16
- package/dist/components/search-result/search-result.schema.json +37 -14
- package/dist/tokens/themes.css +4 -4
- package/dist/tokens/tokens.css +1 -1
- package/dist/tokens/tokens.js +1 -1
- package/package.json +1 -1
|
@@ -11,25 +11,41 @@ type URL = string;
|
|
|
11
11
|
* The title of the search result.
|
|
12
12
|
*/
|
|
13
13
|
type Title = string;
|
|
14
|
+
/**
|
|
15
|
+
* The initial search match or summary of the search result.
|
|
16
|
+
*/
|
|
17
|
+
type InitialMatch = string;
|
|
18
|
+
/**
|
|
19
|
+
* The title of the match.
|
|
20
|
+
*/
|
|
21
|
+
type Title1 = string;
|
|
14
22
|
/**
|
|
15
23
|
* The main content or description of the search result.
|
|
16
24
|
*/
|
|
17
25
|
type Text = string;
|
|
18
26
|
/**
|
|
19
|
-
*
|
|
27
|
+
* A URL linking to the specific match or more information.
|
|
20
28
|
*/
|
|
21
|
-
type
|
|
29
|
+
type URL1 = string;
|
|
22
30
|
/**
|
|
23
|
-
* An
|
|
31
|
+
* An array of search matches.
|
|
24
32
|
*/
|
|
25
|
-
type
|
|
33
|
+
type Matches = {
|
|
34
|
+
title?: Title1;
|
|
35
|
+
snippet?: Text;
|
|
36
|
+
url?: URL1;
|
|
37
|
+
}[];
|
|
38
|
+
/**
|
|
39
|
+
* Whether to display the link to the search result.
|
|
40
|
+
*/
|
|
41
|
+
type ShowLink = boolean;
|
|
26
42
|
interface SearchResultProps {
|
|
27
43
|
url?: URL;
|
|
28
44
|
title?: Title;
|
|
29
45
|
previewImage?: PreviewImage;
|
|
30
|
-
|
|
46
|
+
initialMatch?: InitialMatch;
|
|
47
|
+
matches?: Matches;
|
|
31
48
|
showLink?: ShowLink;
|
|
32
|
-
ariaLabel?: ARIALabel;
|
|
33
49
|
}
|
|
34
50
|
/**
|
|
35
51
|
* An optional preview image for the search result.
|
|
@@ -40,8 +56,8 @@ interface PreviewImage {
|
|
|
40
56
|
*/
|
|
41
57
|
src?: string;
|
|
42
58
|
/**
|
|
43
|
-
*
|
|
59
|
+
* Large display of the preview image.
|
|
44
60
|
*/
|
|
45
|
-
|
|
61
|
+
large?: boolean;
|
|
46
62
|
}
|
|
47
|
-
export { URL, Title, Text,
|
|
63
|
+
export { URL, Title, InitialMatch, Title1, Text, URL1, Matches, ShowLink, SearchResultProps, PreviewImage };
|
|
@@ -1192,7 +1192,7 @@
|
|
|
1192
1192
|
"id": "page-archetypes-search--search",
|
|
1193
1193
|
"group": "Page Archetypes/Search",
|
|
1194
1194
|
"name": "Search",
|
|
1195
|
-
"code": "<Search\n events={[\n {\n category: 'Buyers',\n ctaText: 'Show event',\n date: 'FRI, JAN 16',\n image: {\n alt: 'This is an image of a flower',\n src: 'https://picsum.photos/seed/flower/800/600'\n },\n location: {\n address: 'Köln',\n name: 'Stadthalle'\n },\n tags: [\n 'AI'\n ],\n text: 'The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence. The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence.',\n time: '10:00',\n title: 'This is a event teaser title',\n url: 'https://example.com'\n },\n {\n category: 'Buyers',\n ctaText: 'Show event',\n date: 'FRI, JAN 16',\n image: {\n alt: 'This is an image of a flower',\n src: 'https://picsum.photos/seed/flower/800/600'\n },\n location: {\n address: 'Köln',\n name: 'Stadthalle'\n },\n tags: [\n 'AI'\n ],\n text: 'The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence. The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence.',\n time: '10:00',\n title: 'This is a event teaser title',\n url: 'https://example.com'\n },\n {\n category: 'Buyers',\n ctaText: 'Show event',\n date: 'FRI, JAN 16',\n image: {\n alt: 'This is an image of a flower',\n src: 'https://picsum.photos/seed/flower/800/600'\n },\n location: {\n address: 'Köln',\n name: 'Stadthalle'\n },\n tags: [\n 'AI'\n ],\n text: 'The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence. The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence.',\n time: '10:00',\n title: 'This is a event teaser title',\n url: 'https://example.com'\n }\n ]}\n filter={{\n applyButton: {\n label: 'Filter Appointments'\n },\n categories: {\n categoryCheckboxes: [\n 'Category Filter',\n 'Category Filter',\n 'Category Filter'\n ],\n title: 'Categories',\n toggle: true\n },\n datePicker: {\n dateFromInput: {\n label: 'From',\n placeholder: 'Select a date'\n },\n dateToInput: {\n label: 'To',\n placeholder: 'Select a date'\n },\n title: 'Find Appointment',\n toggle: true\n },\n resetButton: {\n label: 'Reset Filters'\n }\n }}\n headline={{\n level: 'h1',\n style: 'h1',\n text: 'Search'\n }}\n searchFilter={{\n categories: [\n {\n amount: 10,\n title: 'Pages',\n url: '#'\n },\n {\n amount: 5,\n title: 'News',\n url: '#'\n },\n {\n amount: 2,\n title: 'Blog Posts',\n url: '#'\n }\n ],\n title: 'Search Filters'\n }}\n searchResults={[\n {\n
|
|
1195
|
+
"code": "<Search\n events={[\n {\n category: 'Buyers',\n ctaText: 'Show event',\n date: 'FRI, JAN 16',\n image: {\n alt: 'This is an image of a flower',\n src: 'https://picsum.photos/seed/flower/800/600'\n },\n location: {\n address: 'Köln',\n name: 'Stadthalle'\n },\n tags: [\n 'AI'\n ],\n text: 'The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence. The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence.',\n time: '10:00',\n title: 'This is a event teaser title',\n url: 'https://example.com'\n },\n {\n category: 'Buyers',\n ctaText: 'Show event',\n date: 'FRI, JAN 16',\n image: {\n alt: 'This is an image of a flower',\n src: 'https://picsum.photos/seed/flower/800/600'\n },\n location: {\n address: 'Köln',\n name: 'Stadthalle'\n },\n tags: [\n 'AI'\n ],\n text: 'The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence. The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence.',\n time: '10:00',\n title: 'This is a event teaser title',\n url: 'https://example.com'\n },\n {\n category: 'Buyers',\n ctaText: 'Show event',\n date: 'FRI, JAN 16',\n image: {\n alt: 'This is an image of a flower',\n src: 'https://picsum.photos/seed/flower/800/600'\n },\n location: {\n address: 'Köln',\n name: 'Stadthalle'\n },\n tags: [\n 'AI'\n ],\n text: 'The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence. The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence.',\n time: '10:00',\n title: 'This is a event teaser title',\n url: 'https://example.com'\n }\n ]}\n filter={{\n applyButton: {\n label: 'Filter Appointments'\n },\n categories: {\n categoryCheckboxes: [\n 'Category Filter',\n 'Category Filter',\n 'Category Filter'\n ],\n title: 'Categories',\n toggle: true\n },\n datePicker: {\n dateFromInput: {\n label: 'From',\n placeholder: 'Select a date'\n },\n dateToInput: {\n label: 'To',\n placeholder: 'Select a date'\n },\n title: 'Find Appointment',\n toggle: true\n },\n resetButton: {\n label: 'Reset Filters'\n }\n }}\n headline={{\n level: 'h1',\n style: 'h1',\n text: 'Search'\n }}\n searchFilter={{\n categories: [\n {\n amount: 10,\n title: 'Pages',\n url: '#'\n },\n {\n amount: 5,\n title: 'News',\n url: '#'\n },\n {\n amount: 2,\n title: 'Blog Posts',\n url: '#'\n }\n ],\n title: 'Search Filters'\n }}\n searchResults={[\n {\n initialMatch: 'Embracing a **sustainable** lifestyle can significantly reduce your environmental impact.',\n matches: [\n {\n snippet: 'Simple changes can make your home more **sustainable** and energy-efficient.',\n title: 'Home',\n url: '#'\n },\n {\n snippet: 'Adopting a **sustainable** lifestyle benefits both you and the planet.',\n title: 'Lifestyle',\n url: '#'\n }\n ],\n previewImage: {\n src: 'img/people-brainstorming-work-meeting.png'\n },\n title: 'Sustainable Living: Everyday Tips',\n url: 'www.example.com/lifestyle/sustainable-living'\n },\n {\n matches: [\n {\n snippet: 'Discover how **sustainable** design is shaping the future of urban development.',\n title: 'Introduction',\n url: '#'\n }\n ],\n previewImage: {\n large: true,\n src: 'img/full-shot-different-people-working-together.png'\n },\n title: 'Sustainable Architecture Trends',\n url: 'www.example.com/architecture/sustainable-trends'\n },\n {\n matches: [\n {\n snippet: 'A **sustainable** business model focuses on long-term growth and environmental responsibility.',\n title: 'Getting Started',\n url: '#'\n },\n {\n snippet: 'Explore examples of companies that have adopted **sustainable** practices successfully.',\n title: 'Case Studies',\n url: '#'\n },\n {\n snippet: 'Using **sustainable** materials can significantly reduce a building’s carbon footprint.',\n title: 'Materials',\n url: '#'\n }\n ],\n title: 'How to Build a Sustainable Business',\n url: 'www.example.com/business/sustainable-model'\n }\n ]}\n/>",
|
|
1196
1196
|
"args": {
|
|
1197
1197
|
"filter": {
|
|
1198
1198
|
"datePicker": {
|
|
@@ -1312,46 +1312,60 @@
|
|
|
1312
1312
|
},
|
|
1313
1313
|
"searchResults": [
|
|
1314
1314
|
{
|
|
1315
|
-
"
|
|
1316
|
-
"
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
"
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
"
|
|
1333
|
-
"showLink": true
|
|
1334
|
-
},
|
|
1335
|
-
{
|
|
1336
|
-
"url": "https://www.example.com/ai-conference-2023",
|
|
1337
|
-
"title": "AI Conference 2023",
|
|
1338
|
-
"text": "Join us for the annual **AI Conference** bringing together experts from around the world.\n Register now to secure your spot and learn about the latest advancements in AI.",
|
|
1339
|
-
"ariaLabel": "Search Result: AI Conference 2023",
|
|
1340
|
-
"showLink": true
|
|
1315
|
+
"title": "Sustainable Living: Everyday Tips",
|
|
1316
|
+
"previewImage": {
|
|
1317
|
+
"src": "img/people-brainstorming-work-meeting.png"
|
|
1318
|
+
},
|
|
1319
|
+
"initialMatch": "Embracing a **sustainable** lifestyle can significantly reduce your environmental impact.",
|
|
1320
|
+
"matches": [
|
|
1321
|
+
{
|
|
1322
|
+
"title": "Home",
|
|
1323
|
+
"snippet": "Simple changes can make your home more **sustainable** and energy-efficient.",
|
|
1324
|
+
"url": "#"
|
|
1325
|
+
},
|
|
1326
|
+
{
|
|
1327
|
+
"title": "Lifestyle",
|
|
1328
|
+
"snippet": "Adopting a **sustainable** lifestyle benefits both you and the planet.",
|
|
1329
|
+
"url": "#"
|
|
1330
|
+
}
|
|
1331
|
+
],
|
|
1332
|
+
"url": "www.example.com/lifestyle/sustainable-living"
|
|
1341
1333
|
},
|
|
1342
1334
|
{
|
|
1343
|
-
"
|
|
1344
|
-
"
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1335
|
+
"title": "Sustainable Architecture Trends",
|
|
1336
|
+
"previewImage": {
|
|
1337
|
+
"large": true,
|
|
1338
|
+
"src": "img/full-shot-different-people-working-together.png"
|
|
1339
|
+
},
|
|
1340
|
+
"matches": [
|
|
1341
|
+
{
|
|
1342
|
+
"title": "Introduction",
|
|
1343
|
+
"snippet": "Discover how **sustainable** design is shaping the future of urban development.",
|
|
1344
|
+
"url": "#"
|
|
1345
|
+
}
|
|
1346
|
+
],
|
|
1347
|
+
"url": "www.example.com/architecture/sustainable-trends"
|
|
1348
1348
|
},
|
|
1349
1349
|
{
|
|
1350
|
-
"
|
|
1351
|
-
"
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1350
|
+
"title": "How to Build a Sustainable Business",
|
|
1351
|
+
"matches": [
|
|
1352
|
+
{
|
|
1353
|
+
"title": "Getting Started",
|
|
1354
|
+
"snippet": "A **sustainable** business model focuses on long-term growth and environmental responsibility.",
|
|
1355
|
+
"url": "#"
|
|
1356
|
+
},
|
|
1357
|
+
{
|
|
1358
|
+
"title": "Case Studies",
|
|
1359
|
+
"snippet": "Explore examples of companies that have adopted **sustainable** practices successfully.",
|
|
1360
|
+
"url": "#"
|
|
1361
|
+
},
|
|
1362
|
+
{
|
|
1363
|
+
"title": "Materials",
|
|
1364
|
+
"snippet": "Using **sustainable** materials can significantly reduce a building’s carbon footprint.",
|
|
1365
|
+
"url": "#"
|
|
1366
|
+
}
|
|
1367
|
+
],
|
|
1368
|
+
"url": "www.example.com/business/sustainable-model"
|
|
1355
1369
|
}
|
|
1356
1370
|
]
|
|
1357
1371
|
},
|
|
@@ -3958,17 +3972,33 @@
|
|
|
3958
3972
|
"id": "corporate-search-result--default",
|
|
3959
3973
|
"group": "Corporate / Search Result",
|
|
3960
3974
|
"name": "Default",
|
|
3961
|
-
"code": "<SearchResult\n ariaLabel=\"Search Result:
|
|
3975
|
+
"code": "<SearchResult\n ariaLabel=\"Search Result: GreenTech Summit 2023\"\n matches={[\n {\n snippet: 'Learn how leading companies are integrating **sustainability** into their core strategies.',\n title: 'Keynote: Embracing Sustainability',\n url: '#'\n },\n {\n snippet: 'Business models that prioritize **sustainability** are shared by industry experts in this session.',\n title: 'Panel: Sustainability in Practice',\n url: '#'\n },\n {\n snippet: 'In your organization, **sustainability** can be assessed using new tools and techniques.',\n title: 'Workshop: Measuring Sustainability',\n url: '#'\n }\n ]}\n previewImage={{\n large: false,\n src: 'img/full-shot-different-people-working-together.png'\n }}\n showLink\n title=\"GreenTech Summit 2023\"\n url=\"https://www.example.com/greentech-summit-2023\"\n/>",
|
|
3962
3976
|
"args": {
|
|
3963
|
-
"url": "https://www.example.com/
|
|
3964
|
-
"title": "
|
|
3977
|
+
"url": "https://www.example.com/greentech-summit-2023",
|
|
3978
|
+
"title": "GreenTech Summit 2023",
|
|
3965
3979
|
"previewImage": {
|
|
3966
|
-
"
|
|
3967
|
-
"src": "
|
|
3980
|
+
"large": false,
|
|
3981
|
+
"src": "img/full-shot-different-people-working-together.png"
|
|
3968
3982
|
},
|
|
3969
|
-
"
|
|
3983
|
+
"matches": [
|
|
3984
|
+
{
|
|
3985
|
+
"title": "Keynote: Embracing Sustainability",
|
|
3986
|
+
"snippet": "Learn how leading companies are integrating **sustainability** into their core strategies.",
|
|
3987
|
+
"url": "#"
|
|
3988
|
+
},
|
|
3989
|
+
{
|
|
3990
|
+
"title": "Panel: Sustainability in Practice",
|
|
3991
|
+
"snippet": "Business models that prioritize **sustainability** are shared by industry experts in this session.",
|
|
3992
|
+
"url": "#"
|
|
3993
|
+
},
|
|
3994
|
+
{
|
|
3995
|
+
"title": "Workshop: Measuring Sustainability",
|
|
3996
|
+
"snippet": "In your organization, **sustainability** can be assessed using new tools and techniques.",
|
|
3997
|
+
"url": "#"
|
|
3998
|
+
}
|
|
3999
|
+
],
|
|
3970
4000
|
"showLink": true,
|
|
3971
|
-
"ariaLabel": "Search Result:
|
|
4001
|
+
"ariaLabel": "Search Result: GreenTech Summit 2023"
|
|
3972
4002
|
},
|
|
3973
4003
|
"screenshot": "img/screenshots/corporate-search-result--default.png"
|
|
3974
4004
|
},
|
|
@@ -8,7 +8,7 @@ import { FC, PropsWithChildren } from "react";
|
|
|
8
8
|
import { HeadlineProps } from "../../HeadlineProps-e1305784.js";
|
|
9
9
|
import { SearchBarProps } from "../../SearchBarProps-26263244.js";
|
|
10
10
|
import { SearchFilterProps } from "../../SearchFilterProps-2fa6419b.js";
|
|
11
|
-
import { SearchResultProps } from "../../SearchResultProps-
|
|
11
|
+
import { SearchResultProps } from "../../SearchResultProps-4a00e50a.js";
|
|
12
12
|
interface SearchProps {
|
|
13
13
|
/**
|
|
14
14
|
* Referenced component HeadlineProps
|
|
@@ -28,6 +28,7 @@ const Search = ({ headline, searchBar, searchFilter, searchResults, }) => (jsxs(
|
|
|
28
28
|
mode: "list",
|
|
29
29
|
}, children: jsx(SplitWeighted, { verticalAlign: "sticky", mainLayout: {
|
|
30
30
|
minWidth: "narrow",
|
|
31
|
+
gutter: "large",
|
|
31
32
|
}, asideLayout: {
|
|
32
33
|
gutter: "small",
|
|
33
34
|
}, order: {
|
|
@@ -236,35 +236,59 @@
|
|
|
236
236
|
"type": "string",
|
|
237
237
|
"description": "A URL to an image preview for the search result."
|
|
238
238
|
},
|
|
239
|
-
"
|
|
239
|
+
"large": {
|
|
240
240
|
"type": "boolean",
|
|
241
|
-
"description": "
|
|
241
|
+
"description": "Large display of the preview image.",
|
|
242
242
|
"default": false
|
|
243
243
|
}
|
|
244
244
|
},
|
|
245
245
|
"additionalProperties": false
|
|
246
246
|
},
|
|
247
|
-
"
|
|
248
|
-
"title": "
|
|
247
|
+
"initialMatch": {
|
|
248
|
+
"title": "Initial Match",
|
|
249
249
|
"type": "string",
|
|
250
|
-
"description": "The
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
250
|
+
"description": "The initial search match or summary of the search result."
|
|
251
|
+
},
|
|
252
|
+
"matches": {
|
|
253
|
+
"title": "Matches",
|
|
254
|
+
"type": "array",
|
|
255
|
+
"description": "An array of search matches.",
|
|
256
|
+
"items": {
|
|
257
|
+
"type": "object",
|
|
258
|
+
"properties": {
|
|
259
|
+
"title": {
|
|
260
|
+
"title": "Title",
|
|
261
|
+
"type": "string",
|
|
262
|
+
"description": "The title of the match.",
|
|
263
|
+
"examples": [
|
|
264
|
+
"Panel Discussion: Ethics in AI"
|
|
265
|
+
]
|
|
266
|
+
},
|
|
267
|
+
"snippet": {
|
|
268
|
+
"title": "Text",
|
|
269
|
+
"type": "string",
|
|
270
|
+
"description": "The main content or description of the search result.",
|
|
271
|
+
"examples": [
|
|
272
|
+
"Experts debate the ethical challenges and responsibilities of deploying AI technologies."
|
|
273
|
+
]
|
|
274
|
+
},
|
|
275
|
+
"url": {
|
|
276
|
+
"title": "URL",
|
|
277
|
+
"type": "string",
|
|
278
|
+
"description": "A URL linking to the specific match or more information.",
|
|
279
|
+
"examples": [
|
|
280
|
+
"https://www.example.com/ai-conference-2023/panel-discussion"
|
|
281
|
+
]
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
"additionalProperties": false
|
|
285
|
+
}
|
|
254
286
|
},
|
|
255
287
|
"showLink": {
|
|
256
288
|
"title": "Show Link",
|
|
257
289
|
"type": "boolean",
|
|
258
290
|
"description": "Whether to display the link to the search result.",
|
|
259
291
|
"default": true
|
|
260
|
-
},
|
|
261
|
-
"ariaLabel": {
|
|
262
|
-
"title": "ARIA Label",
|
|
263
|
-
"type": "string",
|
|
264
|
-
"description": "An ARIA label for accessibility purposes.",
|
|
265
|
-
"examples": [
|
|
266
|
-
"Search result: Conference 2023"
|
|
267
|
-
]
|
|
268
292
|
}
|
|
269
293
|
},
|
|
270
294
|
"additionalProperties": false
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { SearchResultProps } from "../../SearchResultProps-
|
|
3
|
-
declare const SearchResultContextDefault: import("react").ForwardRefExoticComponent<SearchResultProps & import("react").RefAttributes<
|
|
4
|
-
declare const SearchResultContext: import("react").Context<import("react").ForwardRefExoticComponent<SearchResultProps & import("react").RefAttributes<
|
|
5
|
-
declare const SearchResult: import("react").ForwardRefExoticComponent<SearchResultProps & import("react").RefAttributes<
|
|
2
|
+
import { SearchResultProps } from "../../SearchResultProps-4a00e50a.js";
|
|
3
|
+
declare const SearchResultContextDefault: import("react").ForwardRefExoticComponent<SearchResultProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
4
|
+
declare const SearchResultContext: import("react").Context<import("react").ForwardRefExoticComponent<SearchResultProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
5
|
+
declare const SearchResult: import("react").ForwardRefExoticComponent<SearchResultProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
6
6
|
export type { SearchResultProps };
|
|
7
7
|
export { SearchResultContextDefault, SearchResultContext, SearchResult };
|
|
@@ -6,17 +6,19 @@ import { RichText } from '@kickstartds/base/lib/rich-text';
|
|
|
6
6
|
import { d as deepMergeDefaults } from '../../helpers-12f48df8.js';
|
|
7
7
|
import classnames from 'classnames';
|
|
8
8
|
import { Picture } from '@kickstartds/base/lib/picture';
|
|
9
|
+
import { Icon } from '@kickstartds/base/lib/icon';
|
|
9
10
|
|
|
10
11
|
const defaults = {
|
|
11
12
|
"previewImage": {
|
|
12
|
-
"
|
|
13
|
+
"large": false
|
|
13
14
|
},
|
|
15
|
+
"matches": [],
|
|
14
16
|
"showLink": true
|
|
15
17
|
};
|
|
16
18
|
|
|
17
|
-
const SearchResultContextDefault = forwardRef(({ title, previewImage,
|
|
18
|
-
"dsa-search-result--image-
|
|
19
|
-
}),
|
|
19
|
+
const SearchResultContextDefault = forwardRef(({ title, previewImage, initialMatch, matches, url, showLink }, ref) => (jsxs("div", { ref: ref, className: classnames("dsa-search-result", {
|
|
20
|
+
"dsa-search-result--image-large": previewImage?.large,
|
|
21
|
+
}), children: [jsxs("div", { className: "dsa-search-result__content", children: [jsxs(Link, { href: url, className: "dsa-search-result__header", children: [jsx("div", { className: "dsa-search-result__title", children: title }), showLink && jsx("div", { className: "dsa-search-result__link", children: url })] }), jsxs("div", { className: "dsa-search-result__matches", children: [initialMatch && (jsx(RichText, { text: initialMatch, className: "dsa-search-result__initial-match" })), matches.map((match, index) => (jsxs(Link, { href: match.url, className: "dsa-search-result__match", children: [jsxs("div", { className: "dsa-search-result__match-title", children: [jsx(Icon, { className: "dsa-search-result__match-chevron", icon: "chevron-right" }), match.title] }), jsx(RichText, { text: match.snippet, className: "dsa-search-result__match-snippet" })] }, index)))] })] }), previewImage?.src && (jsx(Link, { tabIndex: -1, "aria-hidden": true, href: url, className: "dsa-search-result__preview-image-wrapper", children: jsx(Picture, { src: previewImage?.src, alt: "", className: "dsa-search-result__preview-image" }) }))] })));
|
|
20
22
|
const SearchResultContext = createContext(SearchResultContextDefault);
|
|
21
23
|
const SearchResult = forwardRef((props, ref) => {
|
|
22
24
|
const Component = useContext(SearchResultContext);
|
|
@@ -3,45 +3,67 @@
|
|
|
3
3
|
--g-link--text-decoration: none;
|
|
4
4
|
--g-link--text-decoration-hover: none;
|
|
5
5
|
display: flex;
|
|
6
|
-
gap: var(--ks-spacing-inline-m);
|
|
7
|
-
border: var(--ks-border-width-default) solid var(--ks-border-color-card-interactive);
|
|
8
|
-
padding: var(--ks-spacing-inset-m);
|
|
9
|
-
transition: var(--ks-transition-hover);
|
|
10
6
|
flex-wrap: wrap;
|
|
7
|
+
gap: var(--ks-spacing-stack-m) var(--ks-spacing-inline-m);
|
|
8
|
+
}
|
|
9
|
+
.dsa-search-result .l-container {
|
|
10
|
+
container-type: unset;
|
|
11
11
|
}
|
|
12
12
|
.dsa-search-result:hover {
|
|
13
13
|
border-color: var(--ks-border-color-card-interactive-hover);
|
|
14
14
|
}
|
|
15
|
-
.dsa-search-result--image-small .dsa-search-result__image {
|
|
16
|
-
max-width: var(--dsa-tile--width_smallest);
|
|
17
|
-
}
|
|
18
|
-
.dsa-search-result__image {
|
|
19
|
-
width: 100%;
|
|
20
|
-
height: fit-content;
|
|
21
|
-
object-fit: cover;
|
|
22
|
-
aspect-ratio: 4/3;
|
|
23
|
-
border-radius: calc(var(--ks-border-radius-card) / 2);
|
|
24
|
-
max-width: var(--dsa-tile--width_small);
|
|
25
|
-
}
|
|
26
15
|
.dsa-search-result__content {
|
|
27
16
|
display: flex;
|
|
28
17
|
flex-direction: column;
|
|
29
|
-
gap: var(--ks-spacing-stack-
|
|
30
|
-
flex-grow: 1;
|
|
18
|
+
gap: var(--ks-spacing-stack-s);
|
|
31
19
|
flex-basis: var(--dsa-tile--width_medium);
|
|
20
|
+
flex-grow: 1;
|
|
32
21
|
}
|
|
33
|
-
.dsa-search-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
font-weight: var(--dsa-topic--font-weight);
|
|
22
|
+
.dsa-search-result__header {
|
|
23
|
+
display: block;
|
|
24
|
+
width: fit-content;
|
|
37
25
|
}
|
|
38
26
|
.dsa-search-result__link {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
27
|
+
margin-top: 0.35em;
|
|
28
|
+
font: var(--ks-font-interface-m);
|
|
29
|
+
color: var(--ks-text-color-interface);
|
|
30
|
+
}
|
|
31
|
+
.dsa-search-result__initial-match {
|
|
32
|
+
padding-bottom: var(--ks-spacing-stack-s);
|
|
33
|
+
}
|
|
34
|
+
.dsa-search-result__match {
|
|
35
|
+
--g-link--border-radius: 0;
|
|
36
|
+
font: var(--ks-font-interface-m);
|
|
37
|
+
padding: var(--ks-spacing-stack-s) 0;
|
|
38
|
+
border-top: 1px solid var(--ks-border-color-default);
|
|
39
|
+
display: block;
|
|
40
|
+
}
|
|
41
|
+
.dsa-search-result__match:last-child {
|
|
42
|
+
padding-bottom: 0;
|
|
43
|
+
}
|
|
44
|
+
.dsa-search-result__match .l-container--rich-text {
|
|
45
|
+
margin-left: 1em;
|
|
46
|
+
}
|
|
47
|
+
.dsa-search-result__title {
|
|
48
|
+
font-size: var(--ks-font-size-display-l);
|
|
49
|
+
font-family: var(--ks-font-family-display);
|
|
50
|
+
line-height: var(--ks-line-height-display-m);
|
|
51
|
+
}
|
|
52
|
+
.dsa-search-result__match-snippet {
|
|
53
|
+
font: var(--ks-font-copy-m);
|
|
54
|
+
}
|
|
55
|
+
.dsa-search-result__match-chevron {
|
|
56
|
+
width: 1em;
|
|
57
|
+
height: 1em;
|
|
58
|
+
}
|
|
59
|
+
.dsa-search-result__preview-image {
|
|
60
|
+
width: 100%;
|
|
61
|
+
height: fit-content;
|
|
62
|
+
object-fit: cover;
|
|
63
|
+
aspect-ratio: 4/3;
|
|
64
|
+
border-radius: calc(var(--ks-border-radius-card) / 2);
|
|
65
|
+
max-width: var(--dsa-tile--width_smallest);
|
|
66
|
+
}
|
|
67
|
+
.dsa-search-result--image-large .dsa-search-result__preview-image {
|
|
68
|
+
max-width: var(--dsa-tile--width_small);
|
|
47
69
|
}
|
|
@@ -29,35 +29,59 @@
|
|
|
29
29
|
"type": "string",
|
|
30
30
|
"description": "A URL to an image preview for the search result."
|
|
31
31
|
},
|
|
32
|
-
"
|
|
32
|
+
"large": {
|
|
33
33
|
"type": "boolean",
|
|
34
|
-
"description": "
|
|
34
|
+
"description": "Large display of the preview image.",
|
|
35
35
|
"default": false
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"additionalProperties": false
|
|
39
39
|
},
|
|
40
|
-
"
|
|
41
|
-
"title": "
|
|
40
|
+
"initialMatch": {
|
|
41
|
+
"title": "Initial Match",
|
|
42
42
|
"type": "string",
|
|
43
|
-
"description": "The
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
"description": "The initial search match or summary of the search result."
|
|
44
|
+
},
|
|
45
|
+
"matches": {
|
|
46
|
+
"title": "Matches",
|
|
47
|
+
"type": "array",
|
|
48
|
+
"description": "An array of search matches.",
|
|
49
|
+
"items": {
|
|
50
|
+
"type": "object",
|
|
51
|
+
"properties": {
|
|
52
|
+
"title": {
|
|
53
|
+
"title": "Title",
|
|
54
|
+
"type": "string",
|
|
55
|
+
"description": "The title of the match.",
|
|
56
|
+
"examples": [
|
|
57
|
+
"Panel Discussion: Ethics in AI"
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"snippet": {
|
|
61
|
+
"title": "Text",
|
|
62
|
+
"type": "string",
|
|
63
|
+
"description": "The main content or description of the search result.",
|
|
64
|
+
"examples": [
|
|
65
|
+
"Experts debate the ethical challenges and responsibilities of deploying AI technologies."
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
"url": {
|
|
69
|
+
"title": "URL",
|
|
70
|
+
"type": "string",
|
|
71
|
+
"description": "A URL linking to the specific match or more information.",
|
|
72
|
+
"examples": [
|
|
73
|
+
"https://www.example.com/ai-conference-2023/panel-discussion"
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"additionalProperties": false
|
|
78
|
+
}
|
|
47
79
|
},
|
|
48
80
|
"showLink": {
|
|
49
81
|
"title": "Show Link",
|
|
50
82
|
"type": "boolean",
|
|
51
83
|
"description": "Whether to display the link to the search result.",
|
|
52
84
|
"default": true
|
|
53
|
-
},
|
|
54
|
-
"ariaLabel": {
|
|
55
|
-
"title": "ARIA Label",
|
|
56
|
-
"type": "string",
|
|
57
|
-
"description": "An ARIA label for accessibility purposes.",
|
|
58
|
-
"examples": [
|
|
59
|
-
"Search result: Conference 2023"
|
|
60
|
-
]
|
|
61
85
|
}
|
|
62
86
|
},
|
|
63
87
|
"additionalProperties": false
|
|
@@ -25,32 +25,55 @@
|
|
|
25
25
|
"type": "string",
|
|
26
26
|
"description": "A URL to an image preview for the search result."
|
|
27
27
|
},
|
|
28
|
-
"
|
|
28
|
+
"large": {
|
|
29
29
|
"type": "boolean",
|
|
30
|
-
"description": "
|
|
30
|
+
"description": "Large display of the preview image.",
|
|
31
31
|
"default": false
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
|
-
"
|
|
36
|
-
"title": "
|
|
35
|
+
"initialMatch": {
|
|
36
|
+
"title": "Initial Match",
|
|
37
37
|
"type": "string",
|
|
38
|
-
"description": "The
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
"description": "The initial search match or summary of the search result."
|
|
39
|
+
},
|
|
40
|
+
"matches": {
|
|
41
|
+
"title": "Matches",
|
|
42
|
+
"type": "array",
|
|
43
|
+
"description": "An array of search matches.",
|
|
44
|
+
"items": {
|
|
45
|
+
"type": "object",
|
|
46
|
+
"properties": {
|
|
47
|
+
"title": {
|
|
48
|
+
"title": "Title",
|
|
49
|
+
"type": "string",
|
|
50
|
+
"description": "The title of the match.",
|
|
51
|
+
"examples": ["Panel Discussion: Ethics in AI"]
|
|
52
|
+
},
|
|
53
|
+
"snippet": {
|
|
54
|
+
"title": "Text",
|
|
55
|
+
"type": "string",
|
|
56
|
+
"description": "The main content or description of the search result.",
|
|
57
|
+
"examples": [
|
|
58
|
+
"Experts debate the ethical challenges and responsibilities of deploying AI technologies."
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
"url": {
|
|
62
|
+
"title": "URL",
|
|
63
|
+
"type": "string",
|
|
64
|
+
"description": "A URL linking to the specific match or more information.",
|
|
65
|
+
"examples": [
|
|
66
|
+
"https://www.example.com/ai-conference-2023/panel-discussion"
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
42
71
|
},
|
|
43
72
|
"showLink": {
|
|
44
73
|
"title": "Show Link",
|
|
45
74
|
"type": "boolean",
|
|
46
75
|
"description": "Whether to display the link to the search result.",
|
|
47
76
|
"default": true
|
|
48
|
-
},
|
|
49
|
-
"ariaLabel": {
|
|
50
|
-
"title": "ARIA Label",
|
|
51
|
-
"type": "string",
|
|
52
|
-
"description": "An ARIA label for accessibility purposes.",
|
|
53
|
-
"examples": ["Search result: Conference 2023"]
|
|
54
77
|
}
|
|
55
78
|
},
|
|
56
79
|
"additionalProperties": false
|
package/dist/tokens/themes.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Do not edit directly
|
|
3
|
-
* Generated on
|
|
3
|
+
* Generated on Fri, 05 Sep 2025 06:37:42 GMT
|
|
4
4
|
*/
|
|
5
5
|
:root [ks-theme=business] {
|
|
6
6
|
--ks-background-color-accent-base: var(--ks-color-primary-to-bg-8-base);
|
|
@@ -2727,7 +2727,7 @@
|
|
|
2727
2727
|
}
|
|
2728
2728
|
/**
|
|
2729
2729
|
* Do not edit directly
|
|
2730
|
-
* Generated on
|
|
2730
|
+
* Generated on Fri, 05 Sep 2025 06:37:46 GMT
|
|
2731
2731
|
*/
|
|
2732
2732
|
:root [ks-theme=google] {
|
|
2733
2733
|
--ks-background-color-accent-base: var(--ks-color-primary-to-bg-8-base);
|
|
@@ -5458,7 +5458,7 @@
|
|
|
5458
5458
|
}
|
|
5459
5459
|
/**
|
|
5460
5460
|
* Do not edit directly
|
|
5461
|
-
* Generated on
|
|
5461
|
+
* Generated on Fri, 05 Sep 2025 06:37:44 GMT
|
|
5462
5462
|
*/
|
|
5463
5463
|
:root [ks-theme=ngo] {
|
|
5464
5464
|
--ks-background-color-accent-base: var(--ks-color-primary-to-bg-8-base);
|
|
@@ -8459,7 +8459,7 @@
|
|
|
8459
8459
|
}
|
|
8460
8460
|
/**
|
|
8461
8461
|
* Do not edit directly
|
|
8462
|
-
* Generated on
|
|
8462
|
+
* Generated on Fri, 05 Sep 2025 06:37:48 GMT
|
|
8463
8463
|
*/
|
|
8464
8464
|
:root [ks-theme=telekom] {
|
|
8465
8465
|
--ks-background-color-accent-base: var(--ks-color-primary-to-bg-8-base);
|
package/dist/tokens/tokens.css
CHANGED
package/dist/tokens/tokens.js
CHANGED