@kickstartds/ds-agency-premium 1.6.68--canary.45.1671.0 → 1.6.68--canary.45.1675.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 (25) hide show
  1. package/dist/{EventProps-feae5a7c.d.ts → EventDetailProps-ba701353.d.ts} +4 -36
  2. package/dist/EventListAppointmentProps-d438cdc6.d.ts +23 -0
  3. package/dist/components/event-detail/event-detail.css +19 -0
  4. package/dist/components/{event/event.schema.dereffed.json → event-detail/event-detail.schema.dereffed.json} +21 -40
  5. package/dist/components/{event/event.schema.json → event-detail/event-detail.schema.json} +3 -42
  6. package/dist/components/event-detail/index.d.ts +5 -0
  7. package/dist/components/event-detail/index.js +20 -0
  8. package/dist/components/event-list-appointment/event-list-appointment.schema.dereffed.json +28 -0
  9. package/dist/components/event-list-appointment/event-list-appointment.schema.json +25 -0
  10. package/dist/components/event-list-appointment/index.d.ts +7 -10
  11. package/dist/components/event-list-appointment/index.js +10 -5
  12. package/dist/components/event-list-entry/event-list-entry.schema.dereffed.json +56 -0
  13. package/dist/components/event-list-entry/event-list-entry.schema.json +28 -0
  14. package/dist/components/event-list-entry/index.d.ts +28 -11
  15. package/dist/components/event-list-entry/index.js +11 -5
  16. package/dist/components/index/index.d.ts +1 -0
  17. package/dist/components/page-wrapper/tokens.css +1 -1
  18. package/dist/components/presets.json +84 -49
  19. package/dist/tokens/themes.css +4 -4
  20. package/dist/tokens/tokens.css +1 -1
  21. package/dist/tokens/tokens.js +1 -1
  22. package/package.json +1 -1
  23. package/dist/components/event/index.d.ts +0 -8
  24. package/dist/components/event/index.js +0 -26
  25. package/dist/components/event-list-appointment/event.css +0 -88
@@ -3,6 +3,7 @@
3
3
  * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4
4
  * and run json-schema-to-typescript to regenerate this file.
5
5
  */
6
+ import { EventListAppointmentProps } from "./EventListAppointmentProps-d438cdc6.js";
6
7
  /**
7
8
  * Title of the event
8
9
  */
@@ -21,43 +22,10 @@ type Categories = {
21
22
  * Short intro text for the event
22
23
  */
23
24
  type Intro = string;
24
- /**
25
- * Date of the appointment
26
- */
27
- type Date = string;
28
- /**
29
- * Time of the appointment
30
- */
31
- type Time = string;
32
- /**
33
- * Label for the call to action button
34
- */
35
- type CTALabel = string;
36
- /**
37
- * List of dates of the event
38
- */
39
- type Dates = {
40
- date?: Date;
41
- time?: Time;
42
- label?: CTALabel;
43
- [k: string]: unknown;
44
- }[];
45
- /**
46
- * Address of the appointment
47
- */
48
- type Address = string;
49
- /**
50
- * Link to the location on a map
51
- */
52
- type MapsLink = string;
53
25
  /**
54
26
  * List of attendable appointments
55
27
  */
56
- type Appointments = {
57
- dates?: Dates;
58
- address: Address;
59
- mapsLink?: MapsLink;
60
- }[];
28
+ type Appointments = EventListAppointmentProps[];
61
29
  /**
62
30
  * Description of the event
63
31
  */
@@ -77,7 +45,7 @@ type Images = {
77
45
  src?: ImageSource;
78
46
  alt?: AltText;
79
47
  }[];
80
- interface EventProps {
48
+ interface EventDetailProps {
81
49
  title?: EventTitle;
82
50
  categories?: Categories;
83
51
  intro?: Intro;
@@ -85,4 +53,4 @@ interface EventProps {
85
53
  description?: Description;
86
54
  images?: Images;
87
55
  }
88
- export { EventTitle, Label, Categories, Intro, Date, Time, CTALabel, Dates, Address, MapsLink, Appointments, Description, ImageSource, AltText, Images, EventProps };
56
+ export { EventTitle, Label, Categories, Intro, Appointments, Description, ImageSource, AltText, Images, EventDetailProps };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * This file was automatically generated by json-schema-to-typescript.
3
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4
+ * and run json-schema-to-typescript to regenerate this file.
5
+ */
6
+ /**
7
+ * Date of the appointment
8
+ */
9
+ type Date = string;
10
+ /**
11
+ * Time of the appointment
12
+ */
13
+ type Time = string;
14
+ /**
15
+ * Label for the call to action button
16
+ */
17
+ type CTALabel = string;
18
+ interface EventListAppointmentProps {
19
+ date?: Date;
20
+ time?: Time;
21
+ label?: CTALabel;
22
+ }
23
+ export { Date, Time, CTALabel, EventListAppointmentProps };
@@ -0,0 +1,19 @@
1
+ .dsa-event {
2
+ max-width: var(--dsa-content--width_narrow);
3
+ margin: auto;
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: var(--ks-spacing-stack-m);
7
+ }
8
+ .dsa-event__categories {
9
+ display: flex;
10
+ flex-wrap: wrap;
11
+ gap: 0.5em;
12
+ margin-bottom: var(--ks-spacing-stack-xs);
13
+ }
14
+ .dsa-event__list {
15
+ display: flex;
16
+ gap: var(--ks-spacing-stack-m);
17
+ flex-direction: column;
18
+ padding: var(--ks-spacing-inset-m) 0;
19
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "http://schema.mydesignsystem.com/event.schema.json",
4
- "title": "Event",
3
+ "$id": "http://schema.mydesignsystem.com/cms/event-detail.schema.json",
4
+ "title": "Event Detail",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "title": {
@@ -35,50 +35,31 @@
35
35
  "description": "List of attendable appointments",
36
36
  "type": "array",
37
37
  "items": {
38
+ "$schema": "http://json-schema.org/draft-07/schema#",
39
+ "$id": "http://schema.mydesignsystem.com/event-list-appointment.schema.json",
40
+ "title": "Event List Appointment",
38
41
  "type": "object",
39
42
  "properties": {
40
- "dates": {
41
- "title": "Dates",
42
- "description": "List of dates of the event",
43
- "type": "array",
44
- "items": {
45
- "properties": {
46
- "date": {
47
- "title": "Date",
48
- "description": "Date of the appointment",
49
- "type": "string",
50
- "format": "date"
51
- },
52
- "time": {
53
- "title": "Time",
54
- "description": "Time of the appointment",
55
- "type": "string"
56
- },
57
- "label": {
58
- "title": "CTA Label",
59
- "description": "Label for the call to action button",
60
- "type": "string"
61
- }
62
- }
63
- }
43
+ "date": {
44
+ "title": "Date",
45
+ "description": "Date of the appointment",
46
+ "type": "string",
47
+ "format": "date"
64
48
  },
65
- "address": {
66
- "title": "Address",
67
- "description": "Address of the appointment",
49
+ "time": {
50
+ "title": "Time",
51
+ "description": "Time of the appointment",
68
52
  "type": "string"
69
53
  },
70
- "mapsLink": {
71
- "title": "Maps Link",
72
- "description": "Link to the location on a map",
73
- "type": "string",
74
- "format": "uri"
54
+ "label": {
55
+ "title": "CTA Label",
56
+ "description": "Label for the call to action button",
57
+ "type": "string"
58
+ },
59
+ "type": {
60
+ "const": "event-list-appointment"
75
61
  }
76
62
  },
77
- "required": [
78
- "date",
79
- "time",
80
- "address"
81
- ],
82
63
  "additionalProperties": false
83
64
  }
84
65
  },
@@ -112,7 +93,7 @@
112
93
  "additionalProperties": false
113
94
  },
114
95
  "type": {
115
- "const": "event"
96
+ "const": "event-detail"
116
97
  }
117
98
  },
118
99
  "additionalProperties": false
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "http://schema.mydesignsystem.com/event.schema.json",
4
- "title": "Event",
3
+ "$id": "http://schema.mydesignsystem.com/cms/event-detail.schema.json",
4
+ "title": "Event Detail",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "title": {
@@ -34,46 +34,7 @@
34
34
  "description": "List of attendable appointments",
35
35
  "type": "array",
36
36
  "items": {
37
- "type": "object",
38
- "properties": {
39
- "dates": {
40
- "title": "Dates",
41
- "description": "List of dates of the event",
42
- "type": "array",
43
- "items": {
44
- "properties": {
45
- "date": {
46
- "title": "Date",
47
- "description": "Date of the appointment",
48
- "type": "string",
49
- "format": "date"
50
- },
51
- "time": {
52
- "title": "Time",
53
- "description": "Time of the appointment",
54
- "type": "string"
55
- },
56
- "label": {
57
- "title": "CTA Label",
58
- "description": "Label for the call to action button",
59
- "type": "string"
60
- }
61
- }
62
- }
63
- },
64
- "address": {
65
- "title": "Address",
66
- "description": "Address of the appointment",
67
- "type": "string"
68
- },
69
- "mapsLink": {
70
- "title": "Maps Link",
71
- "description": "Link to the location on a map",
72
- "type": "string",
73
- "format": "uri"
74
- }
75
- },
76
- "required": ["date", "time", "address"]
37
+ "$ref": "http://schema.mydesignsystem.com/event-list-appointment.schema.json"
77
38
  }
78
39
  },
79
40
  "description": {
@@ -0,0 +1,5 @@
1
+ import { FC, PropsWithChildren } from "react";
2
+ import { EventDetailProps } from "../../EventDetailProps-ba701353.js";
3
+ declare const EventDetail: FC<PropsWithChildren<EventDetailProps>>;
4
+ export type { EventDetailProps };
5
+ export { EventDetail };
@@ -0,0 +1,20 @@
1
+ import "./event-detail.css";
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { Headline } from '../headline/index.js';
4
+ import { Text } from '../text/index.js';
5
+ import { RichText } from '@kickstartds/base/lib/rich-text';
6
+ import { TagLabel } from '@kickstartds/base/lib/tag-label';
7
+ import { EventListEntry } from '../event-list-entry/index.js';
8
+ import 'classnames';
9
+ import 'react';
10
+ import 'markdown-to-jsx';
11
+ import '@kickstartds/base/lib/headline';
12
+ import '@kickstartds/base/lib/icon';
13
+ import '../event-list-appointment/index.js';
14
+ import '../button/index.js';
15
+ import '@kickstartds/base/lib/button';
16
+
17
+ const EventDetail = ({ title, categories, intro, appointments, description, }) => (jsxs("div", { className: "dsa-event", children: [jsxs("div", { className: "dsa-event__header", children: [categories && categories.length > 0 && (jsx("div", { className: "dsa-event__categories", children: categories.map((category, index) => (jsx(TagLabel, { className: "dsa-event__category", label: category?.label }, index))) })), jsx(Headline, { text: title, level: "h1" }), jsx(Text, { highlightText: true, text: intro })] }), appointments && appointments.length > 0 && (jsx("div", { className: "dsa-event__list", children: appointments.map((appointment, index) => (jsx(EventListEntry, { ...appointment }, index))) })), description && (jsx(RichText, { className: "dsa-event__description", text: description }))] }));
18
+ EventDetail.displayName = "EventDetail";
19
+
20
+ export { EventDetail };
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/event-list-appointment.schema.json",
4
+ "title": "Event List Appointment",
5
+ "type": "object",
6
+ "properties": {
7
+ "date": {
8
+ "title": "Date",
9
+ "description": "Date of the appointment",
10
+ "type": "string",
11
+ "format": "date"
12
+ },
13
+ "time": {
14
+ "title": "Time",
15
+ "description": "Time of the appointment",
16
+ "type": "string"
17
+ },
18
+ "label": {
19
+ "title": "CTA Label",
20
+ "description": "Label for the call to action button",
21
+ "type": "string"
22
+ },
23
+ "type": {
24
+ "const": "event-list-appointment"
25
+ }
26
+ },
27
+ "additionalProperties": false
28
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/event-list-appointment.schema.json",
4
+ "title": "Event List Appointment",
5
+ "type": "object",
6
+ "properties": {
7
+ "date": {
8
+ "title": "Date",
9
+ "description": "Date of the appointment",
10
+ "type": "string",
11
+ "format": "date"
12
+ },
13
+ "time": {
14
+ "title": "Time",
15
+ "description": "Time of the appointment",
16
+ "type": "string"
17
+ },
18
+ "label": {
19
+ "title": "CTA Label",
20
+ "description": "Label for the call to action button",
21
+ "type": "string"
22
+ }
23
+ },
24
+ "additionalProperties": false
25
+ }
@@ -1,10 +1,7 @@
1
- import { FC } from "react";
2
- import { EventProps } from "../../EventProps-feae5a7c.js";
3
- interface EventListAppointmentProps {
4
- date?: string;
5
- time?: string;
6
- label?: string;
7
- }
8
- declare const EventListAppointment: FC<EventListAppointmentProps>;
9
- export type { EventProps };
10
- export { EventListAppointmentProps, EventListAppointment };
1
+ /// <reference types="react" />
2
+ import { EventListAppointmentProps } from "../../EventListAppointmentProps-d438cdc6.js";
3
+ declare const EventListAppointmentContextDefault: import("react").ForwardRefExoticComponent<EventListAppointmentProps & import("react").RefAttributes<HTMLDivElement>>;
4
+ declare const EventListAppointmentContext: import("react").Context<import("react").ForwardRefExoticComponent<EventListAppointmentProps & import("react").RefAttributes<HTMLDivElement>>>;
5
+ declare const EventListAppointment: import("react").ForwardRefExoticComponent<EventListAppointmentProps & import("react").RefAttributes<HTMLDivElement>>;
6
+ export type { EventListAppointmentProps };
7
+ export { EventListAppointmentContextDefault, EventListAppointmentContext, EventListAppointment };
@@ -1,12 +1,17 @@
1
- import "./event.css";
2
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { forwardRef, createContext, useContext } from 'react';
3
3
  import { RichText } from '@kickstartds/base/lib/rich-text';
4
4
  import { Icon } from '@kickstartds/base/lib/icon';
5
5
  import { Button } from '../button/index.js';
6
- import 'react';
7
6
  import 'classnames';
8
7
  import '@kickstartds/base/lib/button';
9
8
 
10
- const EventListAppointment = ({ date, time, label, }) => (jsxs(Fragment, { children: [jsxs("div", { className: "dsa-event-list-appointment__dates", children: [date && (jsxs("div", { className: "dsa-event-list-appointment__item dsa-event-list-appointment__date", children: [jsx(Icon, { className: "dsa-event-list-appointment__icon", icon: "date" }), jsx(RichText, { text: date })] })), time && (jsxs("div", { className: "dsa-event-list-appointment__item dsa-event-list-appointment__time", children: [jsx(Icon, { className: "dsa-event-list-appointment__icon", icon: "time" }), jsx(RichText, { text: time })] }))] }), jsx(Button, { className: "dsa-event-list-appointment__cta", label: label, icon: "chevron-right", variant: "primary", size: "small" })] }));
9
+ const EventListAppointmentContextDefault = forwardRef(({ date, time, label, ...rest }, ref) => (jsxs("div", { ...rest, ref: ref, children: [jsxs("div", { className: "dsa-event-list-appointment__dates", children: [date && (jsxs("div", { className: "dsa-event-list-appointment__item dsa-event-list-appointment__date", children: [jsx(Icon, { className: "dsa-event-list-appointment__icon", icon: "date" }), jsx(RichText, { text: date })] })), time && (jsxs("div", { className: "dsa-event-list-appointment__item dsa-event-list-appointment__time", children: [jsx(Icon, { className: "dsa-event-list-appointment__icon", icon: "time" }), jsx(RichText, { text: time })] }))] }), jsx(Button, { className: "dsa-event-list-appointment__cta", label: label, icon: "chevron-right", variant: "primary", size: "small" })] })));
10
+ const EventListAppointmentContext = createContext(EventListAppointmentContextDefault);
11
+ const EventListAppointment = forwardRef((props, ref) => {
12
+ const Component = useContext(EventListAppointmentContext);
13
+ return jsx(Component, { ...props, ref: ref });
14
+ });
15
+ EventListAppointment.displayName = "EventListAppointment";
11
16
 
12
- export { EventListAppointment };
17
+ export { EventListAppointment, EventListAppointmentContext, EventListAppointmentContextDefault };
@@ -0,0 +1,56 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/event-list-entry.schema.json",
4
+ "title": "Event List Entry",
5
+ "type": "object",
6
+ "properties": {
7
+ "dates": {
8
+ "title": "Dates",
9
+ "description": "List of dates of the event",
10
+ "type": "array",
11
+ "items": {
12
+ "$schema": "http://json-schema.org/draft-07/schema#",
13
+ "$id": "http://schema.mydesignsystem.com/event-list-appointment.schema.json",
14
+ "title": "Event List Appointment",
15
+ "type": "object",
16
+ "properties": {
17
+ "date": {
18
+ "title": "Date",
19
+ "description": "Date of the appointment",
20
+ "type": "string",
21
+ "format": "date"
22
+ },
23
+ "time": {
24
+ "title": "Time",
25
+ "description": "Time of the appointment",
26
+ "type": "string"
27
+ },
28
+ "label": {
29
+ "title": "CTA Label",
30
+ "description": "Label for the call to action button",
31
+ "type": "string"
32
+ },
33
+ "type": {
34
+ "const": "event-list-appointment"
35
+ }
36
+ },
37
+ "additionalProperties": false
38
+ }
39
+ },
40
+ "address": {
41
+ "title": "Address",
42
+ "description": "Address of the appointment",
43
+ "type": "string"
44
+ },
45
+ "mapsLink": {
46
+ "title": "Maps Link",
47
+ "description": "Link to the location on a map",
48
+ "type": "string",
49
+ "format": "uri"
50
+ },
51
+ "type": {
52
+ "const": "event-list-entry"
53
+ }
54
+ },
55
+ "additionalProperties": false
56
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/event-list-entry.schema.json",
4
+ "title": "Event List Entry",
5
+ "type": "object",
6
+ "properties": {
7
+ "dates": {
8
+ "title": "Dates",
9
+ "description": "List of dates of the event",
10
+ "type": "array",
11
+ "items": {
12
+ "$ref": "http://schema.mydesignsystem.com/event-list-appointment.schema.json"
13
+ }
14
+ },
15
+ "address": {
16
+ "title": "Address",
17
+ "description": "Address of the appointment",
18
+ "type": "string"
19
+ },
20
+ "mapsLink": {
21
+ "title": "Maps Link",
22
+ "description": "Link to the location on a map",
23
+ "type": "string",
24
+ "format": "uri"
25
+ }
26
+ },
27
+ "additionalProperties": false
28
+ }
@@ -1,13 +1,30 @@
1
- import { FC } from "react";
2
- import { EventProps } from "../../EventProps-feae5a7c.js";
1
+ /// <reference types="react" />
2
+ /* eslint-disable */
3
+ /**
4
+ * This file was automatically generated by json-schema-to-typescript.
5
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
6
+ * and run json-schema-to-typescript to regenerate this file.
7
+ */
8
+ import { EventListAppointmentProps } from "../../EventListAppointmentProps-d438cdc6.js";
9
+ /**
10
+ * List of dates of the event
11
+ */
12
+ type Dates = EventListAppointmentProps[];
13
+ /**
14
+ * Address of the appointment
15
+ */
16
+ type Address = string;
17
+ /**
18
+ * Link to the location on a map
19
+ */
20
+ type MapsLink = string;
3
21
  interface EventListEntryProps {
4
- dates?: Array<{
5
- date?: string;
6
- time?: string;
7
- label?: string;
8
- }>;
9
- address?: string;
22
+ dates?: Dates;
23
+ address?: Address;
24
+ mapsLink?: MapsLink;
10
25
  }
11
- declare const EventListEntry: FC<EventListEntryProps>;
12
- export type { EventProps };
13
- export { EventListEntryProps, EventListEntry };
26
+ declare const EventListEntryContextDefault: import("react").ForwardRefExoticComponent<EventListEntryProps & import("react").RefAttributes<HTMLDivElement>>;
27
+ declare const EventListEntryContext: import("react").Context<import("react").ForwardRefExoticComponent<EventListEntryProps & import("react").RefAttributes<HTMLDivElement>>>;
28
+ declare const EventListEntry: import("react").ForwardRefExoticComponent<EventListEntryProps & import("react").RefAttributes<HTMLDivElement>>;
29
+ export type { EventListEntryProps };
30
+ export { EventListEntryContextDefault, EventListEntryContext, EventListEntry };
@@ -1,12 +1,18 @@
1
- import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
- import { EventListAppointment } from '../event-list-appointment/index.js';
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { forwardRef, createContext, useContext } from 'react';
3
3
  import { RichText } from '@kickstartds/base/lib/rich-text';
4
4
  import { Icon } from '@kickstartds/base/lib/icon';
5
+ import { EventListAppointment } from '../event-list-appointment/index.js';
5
6
  import '../button/index.js';
6
- import 'react';
7
7
  import 'classnames';
8
8
  import '@kickstartds/base/lib/button';
9
9
 
10
- const EventListEntry = ({ address, dates }) => (jsx(Fragment, { children: jsxs("div", { className: "dsa-event-list-entry", children: [address && (jsx("div", { className: "dsa-event-list-entry__row", children: jsxs("address", { className: "dsa-event-list-entry__item dsa-event-list-entry__address", children: [jsx(Icon, { className: "dsa-event-list-entry__icon", icon: "map-pin" }), jsx(RichText, { text: address })] }) })), dates && dates.length > 0 && (jsx("div", { className: "dsa-event-list-entry__appointments", children: dates.map((item, index) => (jsx("button", { className: "dsa-event-list-appointment", children: jsx(EventListAppointment, { ...item }) }, index))) }))] }) }));
10
+ const EventListEntryContextDefault = forwardRef(({ address, dates, ...rest }, ref) => (jsxs("div", { className: "dsa-event-list-entry", ...rest, ref: ref, children: [address && (jsx("div", { className: "dsa-event-list-entry__row", children: jsxs("address", { className: "dsa-event-list-entry__item dsa-event-list-entry__address", children: [jsx(Icon, { className: "dsa-event-list-entry__icon", icon: "map-pin" }), jsx(RichText, { text: address })] }) })), dates && dates.length > 0 && (jsx("div", { className: "dsa-event-list-entry__appointments", children: dates.map((item, index) => (jsx("button", { className: "dsa-event-list-appointment", children: jsx(EventListAppointment, { ...item }) }, index))) }))] })));
11
+ const EventListEntryContext = createContext(EventListEntryContextDefault);
12
+ const EventListEntry = forwardRef((props, ref) => {
13
+ const Component = useContext(EventListEntryContext);
14
+ return jsx(Component, { ...props, ref: ref });
15
+ });
16
+ EventListEntry.displayName = "EventListEntry";
11
17
 
12
- export { EventListEntry };
18
+ export { EventListEntry, EventListEntryContext, EventListEntryContextDefault };
@@ -33,3 +33,4 @@ export * from "../../BlogPostProps-6b3cff22.js";
33
33
  export * from "../../BlogOverviewProps-9f207f1c.js";
34
34
  export * from "../../PageProps-aa29c554.js";
35
35
  export { IconSprite, SettingsProps };
36
+ export * from "../../EventDetailProps-ba701353.js";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Mon, 23 Jun 2025 09:40:49 GMT
3
+ * Generated on Mon, 23 Jun 2025 10:44:00 GMT
4
4
  */
5
5
  :root, [ks-theme] {
6
6
  --ks-background-color-accent-base: var(--ks-color-fg-to-bg-9-base);
@@ -761,6 +761,65 @@
761
761
  },
762
762
  "screenshot": "img/screenshots/page-archetypes-blog-post--blog-post.png"
763
763
  },
764
+ {
765
+ "id": "page-archetypes-event-detail--event-detail",
766
+ "group": "Page Archetypes/Event Detail",
767
+ "name": "EventDetail",
768
+ "code": "<EventDetail\n appointments={[\n {\n address: 'Berlin Congress Center<br />\\n Alexanderplatz 1<br />\\n 10178 Berlin',\n dates: [\n {\n date: '2025-09-18',\n label: 'Register',\n time: '09:00 – 17:00'\n },\n {\n date: '2025-09-18',\n label: 'Register',\n time: '09:00 – 17:00'\n }\n ],\n mapsLink: 'https://maps.google.com/?q=Berlin+Congress+Center'\n },\n {\n address: 'Köln Messe<br />\\n Messeplatz 1<br />\\n 50679 Köln',\n dates: [\n {\n date: '2025-09-18',\n label: 'Register',\n time: '09:00 – 17:00'\n }\n ],\n mapsLink: 'https://maps.google.com/?q=Köln+Messe'\n }\n ]}\n categories={[\n {\n label: 'Conference'\n },\n {\n label: 'Design Systems'\n }\n ]}\n description=\"\nJoin us for a day of inspiring talks, hands-on workshops, and networking with design system experts from around the world.\n\n**Highlights:**\n- Keynotes from industry leaders\n- Practical sessions on design tokens, accessibility, and scaling systems\n- Evening networking event with food & drinks\n \"\n images={[\n {\n alt: 'Attendees at the Systemics Design Conference',\n src: '/img/events/design-conference.jpg'\n },\n {\n alt: 'Keynote speaker on stage',\n src: '/img/events/speaker.jpg'\n }\n ]}\n intro=\"A full-day event for design system professionals and enthusiasts. Join us to learn, share, and connect with like-minded individuals.\"\n title=\"Systemics Design Conference 2025\"\n/>",
769
+ "args": {
770
+ "title": "Systemics Design Conference 2025",
771
+ "categories": [
772
+ {
773
+ "label": "Conference"
774
+ },
775
+ {
776
+ "label": "Design Systems"
777
+ }
778
+ ],
779
+ "intro": "A full-day event for design system professionals and enthusiasts. Join us to learn, share, and connect with like-minded individuals.",
780
+ "appointments": [
781
+ {
782
+ "address": "Berlin Congress Center<br />\n Alexanderplatz 1<br />\n 10178 Berlin",
783
+ "mapsLink": "https://maps.google.com/?q=Berlin+Congress+Center",
784
+ "dates": [
785
+ {
786
+ "date": "2025-09-18",
787
+ "time": "09:00 – 17:00",
788
+ "label": "Register"
789
+ },
790
+ {
791
+ "date": "2025-09-18",
792
+ "time": "09:00 – 17:00",
793
+ "label": "Register"
794
+ }
795
+ ]
796
+ },
797
+ {
798
+ "address": "Köln Messe<br />\n Messeplatz 1<br />\n 50679 Köln",
799
+ "mapsLink": "https://maps.google.com/?q=Köln+Messe",
800
+ "dates": [
801
+ {
802
+ "date": "2025-09-18",
803
+ "time": "09:00 – 17:00",
804
+ "label": "Register"
805
+ }
806
+ ]
807
+ }
808
+ ],
809
+ "description": "\nJoin us for a day of inspiring talks, hands-on workshops, and networking with design system experts from around the world.\n\n**Highlights:**\n- Keynotes from industry leaders\n- Practical sessions on design tokens, accessibility, and scaling systems\n- Evening networking event with food & drinks\n ",
810
+ "images": [
811
+ {
812
+ "src": "/img/events/design-conference.jpg",
813
+ "alt": "Attendees at the Systemics Design Conference"
814
+ },
815
+ {
816
+ "src": "/img/events/speaker.jpg",
817
+ "alt": "Keynote speaker on stage"
818
+ }
819
+ ]
820
+ },
821
+ "screenshot": "img/screenshots/page-archetypes-event-detail--event-detail.png"
822
+ },
764
823
  {
765
824
  "id": "components-contact--wide-image",
766
825
  "group": "Components/Contact",
@@ -1388,63 +1447,39 @@
1388
1447
  "screenshot": "img/screenshots/industry-downloads--mixed.png"
1389
1448
  },
1390
1449
  {
1391
- "id": "industry-event--default",
1392
- "group": "Industry/Event",
1450
+ "id": "event-event-list-appointment--default",
1451
+ "group": "Event/ Event List Appointment",
1393
1452
  "name": "Default",
1394
- "code": "<Event\n appointments={[\n {\n address: 'Berlin Congress Center<br />\\n Alexanderplatz 1<br />\\n 10178 Berlin',\n dates: [\n {\n date: '2025-09-18',\n label: 'Register',\n time: '09:00 – 17:00'\n },\n {\n date: '2025-09-18',\n label: 'Register',\n time: '09:00 – 17:00'\n }\n ],\n mapsLink: 'https://maps.google.com/?q=Berlin+Congress+Center'\n },\n {\n address: 'Köln Messe<br />\\n Messeplatz 1<br />\\n 50679 Köln',\n dates: [\n {\n date: '2025-09-18',\n label: 'Register',\n time: '09:00 – 17:00'\n }\n ],\n mapsLink: 'https://maps.google.com/?q=Köln+Messe'\n }\n ]}\n categories={[\n {\n label: 'Conference'\n },\n {\n label: 'Design Systems'\n }\n ]}\n description=\"\nJoin us for a day of inspiring talks, hands-on workshops, and networking with design system experts from around the world.\n\n**Highlights:**\n- Keynotes from industry leaders\n- Practical sessions on design tokens, accessibility, and scaling systems\n- Evening networking event with food & drinks\n \"\n images={[\n {\n alt: 'Attendees at the Systemics Design Conference',\n src: '/img/events/design-conference.jpg'\n },\n {\n alt: 'Keynote speaker on stage',\n src: '/img/events/speaker.jpg'\n }\n ]}\n intro=\"A full-day event for design system professionals and enthusiasts. Join us to learn, share, and connect with like-minded individuals.\"\n title=\"Systemics Design Conference 2025\"\n/>",
1453
+ "code": "<EventListAppointment\n date=\"2025-09-18\"\n label=\"Register\"\n time=\"09:00 – 17:00\"\n/>",
1395
1454
  "args": {
1396
- "title": "Systemics Design Conference 2025",
1397
- "categories": [
1398
- {
1399
- "label": "Conference"
1400
- },
1401
- {
1402
- "label": "Design Systems"
1403
- }
1404
- ],
1405
- "intro": "A full-day event for design system professionals and enthusiasts. Join us to learn, share, and connect with like-minded individuals.",
1406
- "appointments": [
1407
- {
1408
- "address": "Berlin Congress Center<br />\n Alexanderplatz 1<br />\n 10178 Berlin",
1409
- "mapsLink": "https://maps.google.com/?q=Berlin+Congress+Center",
1410
- "dates": [
1411
- {
1412
- "date": "2025-09-18",
1413
- "time": "09:00 – 17:00",
1414
- "label": "Register"
1415
- },
1416
- {
1417
- "date": "2025-09-18",
1418
- "time": "09:00 – 17:00",
1419
- "label": "Register"
1420
- }
1421
- ]
1422
- },
1423
- {
1424
- "address": "Köln Messe<br />\n Messeplatz 1<br />\n 50679 Köln",
1425
- "mapsLink": "https://maps.google.com/?q=Köln+Messe",
1426
- "dates": [
1427
- {
1428
- "date": "2025-09-18",
1429
- "time": "09:00 – 17:00",
1430
- "label": "Register"
1431
- }
1432
- ]
1433
- }
1434
- ],
1435
- "description": "\nJoin us for a day of inspiring talks, hands-on workshops, and networking with design system experts from around the world.\n\n**Highlights:**\n- Keynotes from industry leaders\n- Practical sessions on design tokens, accessibility, and scaling systems\n- Evening networking event with food & drinks\n ",
1436
- "images": [
1455
+ "date": "2025-09-18",
1456
+ "time": "09:00 – 17:00",
1457
+ "label": "Register"
1458
+ },
1459
+ "screenshot": "img/screenshots/event-event-list-appointment--default.png"
1460
+ },
1461
+ {
1462
+ "id": "event-event-list-entry--default",
1463
+ "group": "Event/ Event List Entry",
1464
+ "name": "Default",
1465
+ "code": "<EventListEntry\n address=\"Berlin Congress Center<br />\n Alexanderplatz 1<br />\n 10178 Berlin\"\n dates={[\n {\n date: '2025-09-18',\n label: 'Register',\n time: '09:00 – 17:00'\n },\n {\n date: '2025-09-18',\n label: 'Register',\n time: '09:00 – 17:00'\n }\n ]}\n mapsLink=\"https://maps.google.com/?q=Berlin+Congress+Center\"\n/>",
1466
+ "args": {
1467
+ "address": "Berlin Congress Center<br />\n Alexanderplatz 1<br />\n 10178 Berlin",
1468
+ "mapsLink": "https://maps.google.com/?q=Berlin+Congress+Center",
1469
+ "dates": [
1437
1470
  {
1438
- "src": "/img/events/design-conference.jpg",
1439
- "alt": "Attendees at the Systemics Design Conference"
1471
+ "date": "2025-09-18",
1472
+ "time": "09:00 17:00",
1473
+ "label": "Register"
1440
1474
  },
1441
1475
  {
1442
- "src": "/img/events/speaker.jpg",
1443
- "alt": "Keynote speaker on stage"
1476
+ "date": "2025-09-18",
1477
+ "time": "09:00 17:00",
1478
+ "label": "Register"
1444
1479
  }
1445
1480
  ]
1446
1481
  },
1447
- "screenshot": "img/screenshots/industry-event--default.png"
1482
+ "screenshot": "img/screenshots/event-event-list-entry--default.png"
1448
1483
  },
1449
1484
  {
1450
1485
  "id": "components-faq--dropdown-list",
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Mon, 23 Jun 2025 09:40:51 GMT
3
+ * Generated on Mon, 23 Jun 2025 10:44:02 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 Mon, 23 Jun 2025 09:40:56 GMT
2730
+ * Generated on Mon, 23 Jun 2025 10:44:06 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 Mon, 23 Jun 2025 09:40:53 GMT
5461
+ * Generated on Mon, 23 Jun 2025 10:44:04 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 Mon, 23 Jun 2025 09:40:58 GMT
8462
+ * Generated on Mon, 23 Jun 2025 10:44:09 GMT
8463
8463
  */
8464
8464
  :root [ks-theme=telekom] {
8465
8465
  --ks-background-color-accent-base: var(--ks-color-primary-to-bg-8-base);
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Mon, 23 Jun 2025 09:40:49 GMT
3
+ * Generated on Mon, 23 Jun 2025 10:44:00 GMT
4
4
  */
5
5
 
6
6
  :root, [ks-theme] {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Mon, 23 Jun 2025 09:40:49 GMT
3
+ * Generated on Mon, 23 Jun 2025 10:44:00 GMT
4
4
  */
5
5
 
6
6
  export const KsBackgroundColorAccentBase = "#f3f3f4";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kickstartds/ds-agency-premium",
3
- "version": "1.6.68--canary.45.1671.0",
3
+ "version": "1.6.68--canary.45.1675.0",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/kickstartDS/ds-agency-premium#readme",
6
6
  "bugs": {
@@ -1,8 +0,0 @@
1
- /// <reference types="react" />
2
- import { HTMLAttributes } from "react";
3
- import { EventProps } from "../../EventProps-feae5a7c.js";
4
- declare const EventContextDefault: import("react").ForwardRefExoticComponent<EventProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
- declare const EventContext: import("react").Context<import("react").ForwardRefExoticComponent<EventProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
- declare const Event: import("react").ForwardRefExoticComponent<EventProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
- export type { EventProps };
8
- export { EventContextDefault, EventContext, Event };
@@ -1,26 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { forwardRef, createContext, useContext } from 'react';
3
- import '../event-list-appointment/index.js';
4
- import { Headline } from '../headline/index.js';
5
- import { Text } from '../text/index.js';
6
- import { RichText } from '@kickstartds/base/lib/rich-text';
7
- import { TagLabel } from '@kickstartds/base/lib/tag-label';
8
- import { EventListEntry } from '../event-list-entry/index.js';
9
- import '@kickstartds/base/lib/icon';
10
- import '../button/index.js';
11
- import 'classnames';
12
- import '@kickstartds/base/lib/button';
13
- import 'markdown-to-jsx';
14
- import '@kickstartds/base/lib/headline';
15
-
16
- const EventContextDefault = forwardRef(({ title, categories, intro, appointments, description }, ref) => {
17
- return (jsxs("div", { className: "dsa-event", ref: ref, children: [jsxs("div", { className: "dsa-event__header", children: [categories && categories.length > 0 && (jsx("div", { className: "dsa-event__categories", children: categories.map((category, index) => (jsx(TagLabel, { className: "dsa-event__category", label: category?.label }, index))) })), jsx(Headline, { text: title, level: "h1" }), jsx(Text, { highlightText: true, text: intro })] }), appointments && appointments.length > 0 && (jsx("div", { className: "dsa-event__list", children: appointments.map((appointment, index) => (jsx(EventListEntry, { ...appointment }, index))) })), description && (jsx(RichText, { className: "dsa-event__description", text: description }))] }));
18
- });
19
- const EventContext = createContext(EventContextDefault);
20
- const Event = forwardRef((props, ref) => {
21
- const Component = useContext(EventContext);
22
- return jsx(Component, { ...props, ref: ref });
23
- });
24
- Event.displayName = "Event";
25
-
26
- export { Event, EventContext, EventContextDefault };
@@ -1,88 +0,0 @@
1
- .dsa-event {
2
- max-width: var(--dsa-content--width_narrow);
3
- margin: auto;
4
- display: flex;
5
- flex-direction: column;
6
- gap: var(--ks-spacing-stack-m);
7
- }
8
- .dsa-event__categories {
9
- display: flex;
10
- flex-wrap: wrap;
11
- gap: 0.5em;
12
- margin-bottom: var(--ks-spacing-stack-xs);
13
- }
14
- .dsa-event__list {
15
- display: flex;
16
- gap: var(--ks-spacing-stack-m);
17
- flex-direction: column;
18
- padding: var(--ks-spacing-inset-m) 0;
19
- }
20
- .dsa-event .dsa-event-list-entry {
21
- --dsa-event-list-entry__icon--size: calc(var(--ks-font-size-copy-m) * var(--ks-line-height-copy-m));
22
- flex-wrap: wrap;
23
- display: flex;
24
- flex-direction: row;
25
- justify-content: space-between;
26
- gap: var(--ks-spacing-stack-s) var(--ks-spacing-inline-m);
27
- background-color: var(--ks-background-color-accent);
28
- padding: var(--ks-spacing-inset-m);
29
- border-radius: var(--ks-border-radius-surface);
30
- }
31
- .dsa-event .dsa-event-list-entry .l-container {
32
- container-type: unset;
33
- }
34
- .dsa-event .dsa-event-list-entry__row {
35
- display: flex;
36
- flex-direction: row;
37
- gap: var(--ks-spacing-inline-m);
38
- flex-wrap: wrap;
39
- flex-shrink: 0;
40
- flex-grow: 1;
41
- flex-basis: 200px;
42
- }
43
- .dsa-event .dsa-event-list-entry__icon {
44
- color: var(--ks-text-color-primary);
45
- width: var(--dsa-event-list-entry__icon--size);
46
- height: var(--dsa-event-list-entry__icon--size);
47
- }
48
- .dsa-event .dsa-event-list-entry__item {
49
- display: flex;
50
- gap: var(--ks-spacing-stack-xs);
51
- }
52
- .dsa-event .dsa-event-list-entry__appointments {
53
- display: flex;
54
- flex-direction: column;
55
- gap: var(--ks-spacing-stack-s);
56
- flex-grow: 1;
57
- }
58
- .dsa-event .dsa-event-list-entry .dsa-event-list-appointment {
59
- display: flex;
60
- flex-direction: row;
61
- flex-wrap: wrap;
62
- justify-content: space-between;
63
- gap: var(--ks-spacing-inline-m);
64
- padding: var(--ks-spacing-inset-s);
65
- border: var(--ks-border-width-default) solid var(--ks-border-color-default);
66
- background-color: var(--ks-background-color-default);
67
- border-radius: var(--ks-border-radius-control);
68
- flex-grow: 0;
69
- }
70
- .dsa-event .dsa-event-list-entry .dsa-event-list-appointment__item {
71
- display: flex;
72
- gap: var(--ks-spacing-stack-xs);
73
- }
74
- .dsa-event .dsa-event-list-entry .dsa-event-list-appointment__dates {
75
- flex-direction: column;
76
- display: flex;
77
- gap: var(--ks-spacing-stack-xs);
78
- }
79
- .dsa-event .dsa-event-list-entry .dsa-event-list-appointment__icon {
80
- color: var(--ks-text-color-primary);
81
- width: var(--dsa-event-list-entry__icon--size);
82
- height: var(--dsa-event-list-entry__icon--size);
83
- }
84
- .dsa-event .dsa-event-list-entry .dsa-event-list-appointment__cta.c-button {
85
- background-color: transparent;
86
- padding: 0;
87
- color: var(--ks-text-color-primary);
88
- }