@kickstartds/ds-agency-premium 1.6.0--canary.18.1019.0 → 1.6.0--canary.19.1102.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 (112) hide show
  1. package/dist/BlogOverviewProps-9f207f1c.d.ts +1 -1
  2. package/dist/BlogPostProps-6b3cff22.d.ts +1 -1
  3. package/dist/BlogTeaserProps-f5855e93.d.ts +1 -6
  4. package/dist/DividerProps-2ef31901.d.ts +26 -0
  5. package/dist/HtmlProps-8e3e725a.d.ts +23 -0
  6. package/dist/PageProps-aa29c554.d.ts +1 -1
  7. package/dist/{SectionProps-83d399b4.d.ts → SectionProps-7a46a8ad.d.ts} +3 -1
  8. package/dist/components/blog-aside/blog-aside.schema.dereffed.json +3 -1
  9. package/dist/components/blog-aside/blog-aside.schema.json +1 -0
  10. package/dist/components/blog-aside/index.d.ts +1 -0
  11. package/dist/components/blog-author/blog-author.schema.dereffed.json +2 -1
  12. package/dist/components/blog-author/index.d.ts +1 -0
  13. package/dist/components/blog-head/index.d.ts +1 -0
  14. package/dist/components/blog-overview/blog-overview.schema.dereffed.json +76 -27
  15. package/dist/components/blog-overview/index.d.ts +1 -0
  16. package/dist/components/blog-post/blog-post.schema.dereffed.json +79 -1
  17. package/dist/components/blog-post/index.d.ts +1 -0
  18. package/dist/components/blog-teaser/blog-teaser.schema.dereffed.json +0 -9
  19. package/dist/components/blog-teaser/blog-teaser.schema.json +0 -7
  20. package/dist/components/blog-teaser/index.d.ts +1 -0
  21. package/dist/components/blog-teaser/index.js +0 -1
  22. package/dist/components/button/button.schema.dereffed.json +1 -0
  23. package/dist/components/button/button.schema.json +1 -0
  24. package/dist/components/button/index.d.ts +1 -0
  25. package/dist/components/button-group/button-group.schema.dereffed.json +1 -0
  26. package/dist/components/button-group/index.d.ts +1 -0
  27. package/dist/components/contact/contact.schema.dereffed.json +2 -1
  28. package/dist/components/contact/contact.schema.json +2 -1
  29. package/dist/components/contact/index.d.ts +1 -0
  30. package/dist/components/cta/cta.schema.dereffed.json +1 -0
  31. package/dist/components/cta/index.d.ts +1 -0
  32. package/dist/components/divider/divider.css +14 -5
  33. package/dist/components/divider/index.d.ts +2 -26
  34. package/dist/components/faq/index.d.ts +1 -0
  35. package/dist/components/feature/feature.schema.dereffed.json +1 -0
  36. package/dist/components/feature/feature.schema.json +1 -0
  37. package/dist/components/feature/index.d.ts +1 -0
  38. package/dist/components/features/features.schema.dereffed.json +1 -0
  39. package/dist/components/features/index.d.ts +1 -0
  40. package/dist/components/footer/index.d.ts +1 -0
  41. package/dist/components/gallery/gallery.css +0 -18
  42. package/dist/components/gallery/index.d.ts +1 -0
  43. package/dist/components/header/index.d.ts +4 -3
  44. package/dist/components/header/index.js +1 -1
  45. package/dist/components/headline/headline.css +16 -0
  46. package/dist/components/headline/headline.schema.dereffed.json +5 -0
  47. package/dist/components/headline/headline.schema.json +5 -0
  48. package/dist/components/headline/index.d.ts +6 -0
  49. package/dist/components/headline/index.js +1 -1
  50. package/dist/components/hero/hero.schema.dereffed.json +1 -0
  51. package/dist/components/hero/index.d.ts +1 -0
  52. package/dist/components/html/html.schema.dereffed.json +30 -0
  53. package/dist/components/html/html.schema.json +2 -2
  54. package/dist/components/html/index.d.ts +5 -26
  55. package/dist/components/html/index.js +29 -3
  56. package/dist/components/image/index.d.ts +1 -0
  57. package/dist/components/image-story/image-story.schema.dereffed.json +1 -0
  58. package/dist/components/image-story/index.d.ts +1 -0
  59. package/dist/components/image-text/index.d.ts +1 -0
  60. package/dist/components/logo/index.d.ts +1 -0
  61. package/dist/components/logos/index.d.ts +1 -0
  62. package/dist/components/mosaic/index.d.ts +1 -0
  63. package/dist/components/mosaic/mosaic.schema.dereffed.json +1 -0
  64. package/dist/components/nav-dropdown/index.d.ts +1 -0
  65. package/dist/components/nav-flyout/index.d.ts +1 -0
  66. package/dist/components/nav-main/index.d.ts +1 -0
  67. package/dist/components/nav-topbar/index.d.ts +1 -0
  68. package/dist/components/page/index.d.ts +1 -0
  69. package/dist/components/page/page.schema.dereffed.json +75 -0
  70. package/dist/components/page-wrapper/tokens.css +1 -1
  71. package/dist/components/presets.json +8 -9
  72. package/dist/components/section/index.d.ts +2 -1
  73. package/dist/components/section/section.schema.dereffed.json +75 -0
  74. package/dist/components/section/section.schema.json +6 -0
  75. package/dist/components/slider/index.d.ts +1 -0
  76. package/dist/components/slider/slider.css +5 -0
  77. package/dist/components/slider/slider.schema.dereffed.json +4 -0
  78. package/dist/components/split/index.d.ts +1 -0
  79. package/dist/components/stat/index.d.ts +1 -0
  80. package/dist/components/stat/stat.schema.dereffed.json +1 -0
  81. package/dist/components/stat/stat.schema.json +1 -0
  82. package/dist/components/stats/index.d.ts +1 -0
  83. package/dist/components/stats/stats.schema.dereffed.json +1 -0
  84. package/dist/components/teaser-card/index.d.ts +1 -0
  85. package/dist/components/testimonial/index.d.ts +1 -0
  86. package/dist/components/testimonials/index.d.ts +1 -0
  87. package/dist/components/text/index.d.ts +1 -0
  88. package/dist/components/tile/tile.schema.dereffed.json +1 -0
  89. package/dist/components/video-curtain/index.d.ts +1 -0
  90. package/dist/components/video-curtain/video-curtain.schema.dereffed.json +1 -0
  91. package/dist/global.css +31 -12
  92. package/dist/static/img/screenshots/blog-blog-aside--default.png +0 -0
  93. package/dist/static/img/screenshots/blog-blog-author--default.png +0 -0
  94. package/dist/static/img/screenshots/components-contact--wide-image.png +0 -0
  95. package/dist/static/img/screenshots/components-stats--count-up-with-description.png +0 -0
  96. package/dist/static/img/screenshots/components-stats--count-up-with-icons.png +0 -0
  97. package/dist/static/img/screenshots/components-teaser-card--page-navigation.png +0 -0
  98. package/dist/static/img/screenshots/components-testimonials--slider-layout.png +0 -0
  99. package/dist/static/img/screenshots/components-testimonials--with-rating.png +0 -0
  100. package/dist/static/img/screenshots/layout-divider--accent.png +0 -0
  101. package/dist/static/img/screenshots/layout-divider--default.png +0 -0
  102. package/dist/static/img/screenshots/layout-footer--footer.png +0 -0
  103. package/dist/static/img/screenshots/layout-slider--with-arrows.png +0 -0
  104. package/dist/static/img/screenshots/layout-slider--with-autoplay.png +0 -0
  105. package/dist/static/img/screenshots/layout-slider--with-nav.png +0 -0
  106. package/dist/static/img/screenshots/layout-slider--with-teased-neighbours.png +0 -0
  107. package/dist/static/img/screenshots/pages-archetypes--blog-post.png +0 -0
  108. package/dist/static/img/screenshots/pages-archetypes--overview.png +0 -0
  109. package/dist/tokens/themes.css +4 -4
  110. package/dist/tokens/tokens.css +1 -1
  111. package/dist/tokens/tokens.js +1 -1
  112. package/package.json +4 -9
@@ -29,7 +29,6 @@ const BlogTeaserContextDefault = forwardRef(({ date, tags = [], headline, teaser
29
29
  items: teaserMetaItems,
30
30
  }, link: link
31
31
  ? {
32
- label: link.label || "Read more",
33
32
  // @ts-expect-error
34
33
  target: link.url,
35
34
  }
@@ -32,6 +32,7 @@
32
32
  },
33
33
  "icon": {
34
34
  "type": "string",
35
+ "format": "icon",
35
36
  "title": "Icon",
36
37
  "description": "Choose an icon"
37
38
  },
@@ -26,6 +26,7 @@
26
26
  },
27
27
  "icon": {
28
28
  "type": "string",
29
+ "format": "icon",
29
30
  "title": "Icon",
30
31
  "description": "Choose an icon"
31
32
  },
@@ -3,4 +3,5 @@ import { HTMLAttributes, FC, PropsWithChildren } from "react";
3
3
  import { ButtonProps } from "../../ButtonProps-03ff6d21.js";
4
4
  declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
5
5
  declare const ButtonProvider: FC<PropsWithChildren>;
6
+ export type { ButtonProps };
6
7
  export { Button, ButtonProvider };
@@ -42,6 +42,7 @@
42
42
  },
43
43
  "icon": {
44
44
  "type": "string",
45
+ "format": "icon",
45
46
  "title": "Icon",
46
47
  "description": "Choose an icon"
47
48
  },
@@ -37,4 +37,5 @@ interface ButtonGroupProps {
37
37
  declare const ButtonGroup: import("react").ForwardRefExoticComponent<ButtonGroupProps & import("react").RefAttributes<HTMLDivElement>>;
38
38
  declare const ButtonGroupProvider: FC<PropsWithChildren>;
39
39
  declare const useButtonGroup: () => (props: ButtonGroupProps) => import("react/jsx-runtime").JSX.Element;
40
+ export type { ButtonGroupProps };
40
41
  export { ButtonGroup, ButtonGroupProvider, useButtonGroup };
@@ -67,7 +67,8 @@
67
67
  "type": "object",
68
68
  "properties": {
69
69
  "icon": {
70
- "type": "string"
70
+ "type": "string",
71
+ "format": "icon"
71
72
  },
72
73
  "label": {
73
74
  "type": "string"
@@ -54,7 +54,8 @@
54
54
  "type": "object",
55
55
  "properties": {
56
56
  "icon": {
57
- "type": "string"
57
+ "type": "string",
58
+ "format": "icon"
58
59
  },
59
60
  "label": {
60
61
  "type": "string"
@@ -69,4 +69,5 @@ declare const ContactContextDefault: import("react").ForwardRefExoticComponent<C
69
69
  declare const ContactContext: import("react").Context<import("react").ForwardRefExoticComponent<ContactProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>>;
70
70
  declare const Contact: import("react").ForwardRefExoticComponent<ContactProps & import("react").RefAttributes<HTMLDivElement>>;
71
71
  declare const ContactProvider: FC<PropsWithChildren>;
72
+ export type { ContactProps };
72
73
  export { ContactContextDefault, ContactContext, Contact, ContactProvider };
@@ -62,6 +62,7 @@
62
62
  },
63
63
  "icon": {
64
64
  "type": "string",
65
+ "format": "icon",
65
66
  "title": "Icon",
66
67
  "description": "Choose an icon"
67
68
  },
@@ -4,4 +4,5 @@ import { CtaProps } from "../../CtaProps-93230a76.js";
4
4
  declare const CtaContextDefault: import("react").ForwardRefExoticComponent<CtaProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const CtaContext: import("react").Context<import("react").ForwardRefExoticComponent<CtaProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const Cta: import("react").ForwardRefExoticComponent<CtaProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export type { CtaProps };
7
8
  export { CtaContextDefault, CtaContext, Cta };
@@ -1,13 +1,22 @@
1
1
  .dsa-divider {
2
- --dsa-divider--background: var(--ks-border-color-default);
3
- --dsa-divider--background_accent: var(--ks-border-color-accent);
2
+ --dsa-divider--background: var(--ks-border-color-interface);
3
+ --dsa-divider--background_accent: var(--ks-border-color-interface);
4
4
  --dsa-divider--height: var(--ks-border-width-default);
5
5
  }
6
6
 
7
7
  hr.c-divider {
8
- --c-divider--background: var(--dsa-divider--background, var(--ks-border-color-default));
9
- --c-divider--height: var(--dsa-divider--height, var(--ks-border-width-default));
8
+ --c-divider--background: var(
9
+ --dsa-divider--background,
10
+ var(--ks-border-color-default)
11
+ );
12
+ --c-divider--height: var(
13
+ --dsa-divider--height,
14
+ var(--ks-border-width-default)
15
+ );
10
16
  }
11
17
  hr.c-divider--accent {
12
- --c-divider--background: var(--dsa-divider--background_accent, var(--ks-border-color-accent));
18
+ --c-divider--background: var(
19
+ --dsa-divider--background_accent,
20
+ var(--ks-border-color-accent)
21
+ );
13
22
  }
@@ -1,33 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { HTMLAttributes, FC, PropsWithChildren } from "react";
3
- /* eslint-disable */
4
- /**
5
- * This file was automatically generated by json-schema-to-typescript.
6
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
7
- * and run json-schema-to-typescript to regenerate this file.
8
- */
9
- /**
10
- * Choose a variant for the divider
11
- */
12
- type StyleOfTheDivider = "default" | "accent";
13
- /**
14
- * Add additional css classes that should be applied to the divider
15
- */
16
- type AdditionalClasses = string;
17
- /**
18
- * Optional custom component identifier
19
- */
20
- type KsComponentAttribute = string;
21
- /**
22
- * Dividers bring clarity to a layout by grouping and dividing content in close proximity.
23
- */
24
- interface DividerProps {
25
- variant?: StyleOfTheDivider;
26
- className?: AdditionalClasses;
27
- component?: KsComponentAttribute;
28
- }
3
+ import { DividerProps } from "../../DividerProps-2ef31901.js";
29
4
  declare const DividerContextDefault: import("react").ForwardRefExoticComponent<DividerProps & HTMLAttributes<HTMLHRElement> & import("react").RefAttributes<HTMLHRElement>>;
30
5
  declare const DividerContext: import("react").Context<import("react").ForwardRefExoticComponent<DividerProps & HTMLAttributes<HTMLHRElement> & import("react").RefAttributes<HTMLHRElement>>>;
31
6
  declare const Divider: import("react").ForwardRefExoticComponent<DividerProps & HTMLAttributes<HTMLHRElement> & import("react").RefAttributes<HTMLHRElement>>;
32
7
  declare const DividerProvider: FC<PropsWithChildren>;
8
+ export type { DividerProps };
33
9
  export { DividerContextDefault, DividerContext, Divider, DividerProvider };
@@ -4,4 +4,5 @@ import { FaqProps } from "../../FaqProps-ad618cd5.js";
4
4
  declare const FaqContextDefault: import("react").ForwardRefExoticComponent<FaqProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const FaqContext: import("react").Context<import("react").ForwardRefExoticComponent<FaqProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const Faq: import("react").ForwardRefExoticComponent<FaqProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export type { FaqProps };
7
8
  export { FaqContextDefault, FaqContext, Faq };
@@ -7,6 +7,7 @@
7
7
  "properties": {
8
8
  "icon": {
9
9
  "type": "string",
10
+ "format": "icon",
10
11
  "title": "Icon",
11
12
  "description": "The icon for the feature",
12
13
  "examples": [
@@ -7,6 +7,7 @@
7
7
  "properties": {
8
8
  "icon": {
9
9
  "type": "string",
10
+ "format": "icon",
10
11
  "title": "Icon",
11
12
  "description": "The icon for the feature",
12
13
  "examples": ["person"]
@@ -4,4 +4,5 @@ import { FeatureProps } from "../../FeatureProps-f8a75850.js";
4
4
  declare const FeatureContextDefault: import("react").ForwardRefExoticComponent<FeatureProps & Omit<HTMLAttributes<HTMLDivElement>, "style"> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const FeatureContext: import("react").Context<import("react").ForwardRefExoticComponent<FeatureProps & Omit<HTMLAttributes<HTMLDivElement>, "style"> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const Feature: import("react").ForwardRefExoticComponent<FeatureProps & Omit<HTMLAttributes<HTMLDivElement>, "style"> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export type { FeatureProps };
7
8
  export { FeatureContextDefault, FeatureContext, Feature };
@@ -61,6 +61,7 @@
61
61
  "properties": {
62
62
  "icon": {
63
63
  "type": "string",
64
+ "format": "icon",
64
65
  "title": "Icon",
65
66
  "description": "The icon for the feature",
66
67
  "examples": [
@@ -4,4 +4,5 @@ import { FeaturesProps } from "../../FeaturesProps-b05859d6.js";
4
4
  declare const FeaturesContextDefault: import("react").ForwardRefExoticComponent<FeaturesProps & Omit<HTMLAttributes<HTMLDivElement>, "style"> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const FeaturesContext: import("react").Context<import("react").ForwardRefExoticComponent<FeaturesProps & Omit<HTMLAttributes<HTMLDivElement>, "style"> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const Features: import("react").ForwardRefExoticComponent<FeaturesProps & Omit<HTMLAttributes<HTMLDivElement>, "style"> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export type { FeaturesProps };
7
8
  export { FeaturesContextDefault, FeaturesContext, Features };
@@ -4,4 +4,5 @@ import { HTMLAttributes } from "react";
4
4
  declare const FooterContextDefault: import("react").ForwardRefExoticComponent<FooterProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const FooterContext: import("react").Context<import("react").ForwardRefExoticComponent<FooterProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const Footer: import("react").ForwardRefExoticComponent<FooterProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export type { FooterProps };
7
8
  export { FooterContextDefault, FooterContext, Footer };
@@ -37,22 +37,4 @@
37
37
  .dsa-gallery__image--landscape img {
38
38
  aspect-ratio: var(--dsa-gallery--image-ratio-landscape);
39
39
  object-fit: cover;
40
- }
41
-
42
- .pswp .pswp__img {
43
- object-fit: contain;
44
- }
45
- .pswp .pswp__caption {
46
- background-color: var(--ks-color-bg-alpha-3);
47
- color: var(--dsa-text-color-on-primary);
48
- }
49
-
50
- :root, [ks-inverted], [ks-theme] {
51
- --c-lightbox--bg: var(--ks-background-color-default) !important;
52
- --c-lightbox--placeholder-bg: var(--ks-color-fg-to-bg-1) !important;
53
- --c-lightbox--root-z-index: var(--ks-depth-modal) !important;
54
- --c-lightbox--icon-color: var(--dsa-text-color-on-primary) !important;
55
- --c-lightbox--icon-color-secondary: var(--ks-color-fg-inverted) !important;
56
- --c-lightbox--stroke-width: 0px !important;
57
- --c-lightbox--error-text-color: var(--ks-color-error) !important;
58
40
  }
@@ -4,4 +4,5 @@ import { GalleryProps } from "../../GalleryProps-76e7de44.js";
4
4
  declare const GalleryContextDefault: import("react").ForwardRefExoticComponent<GalleryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const GalleryContext: import("react").Context<import("react").ForwardRefExoticComponent<GalleryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const Gallery: import("react").ForwardRefExoticComponent<GalleryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export type { GalleryProps };
7
8
  export { GalleryContextDefault, GalleryContext, Gallery };
@@ -1,7 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { HTMLAttributes } from "react";
3
3
  import { HeaderProps } from "../../HeaderProps-e22382f1.js";
4
- declare const HeaderContextDefault: import("react").ForwardRefExoticComponent<HeaderProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
- declare const HeaderContext: import("react").Context<import("react").ForwardRefExoticComponent<HeaderProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
- declare const Header: import("react").ForwardRefExoticComponent<HeaderProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
4
+ declare const HeaderContextDefault: import("react").ForwardRefExoticComponent<HeaderProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>;
5
+ declare const HeaderContext: import("react").Context<import("react").ForwardRefExoticComponent<HeaderProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>>;
6
+ declare const Header: import("react").ForwardRefExoticComponent<HeaderProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>;
7
+ export type { HeaderProps };
7
8
  export { HeaderContextDefault, HeaderContext, Header };
@@ -17,7 +17,7 @@ import '../nav-dropdown/index.js';
17
17
  import '../nav-flyout/index.js';
18
18
  import '@kickstartds/base/lib/picture';
19
19
 
20
- const HeaderContextDefault = forwardRef(({ logo, floating, inverted = false, flyoutInverted = false, dropdownInverted = false, navItems = [], }, ref) => (jsx("div", { className: classnames("dsa-header", floating ? `dsa-header--floating` : ""), "ks-inverted": inverted.toString(), ref: ref, children: jsxs("div", { className: "dsa-header__content", children: [jsx(Logo, { ...logo, className: "dsa-header__logo", inverted: inverted }), jsx(NavMain, { flyoutInverted: flyoutInverted, dropdownInverted: dropdownInverted, items: navItems, logo: {
20
+ const HeaderContextDefault = forwardRef(({ logo, floating, inverted = false, flyoutInverted = false, dropdownInverted = false, navItems = [], }, ref) => (jsx("header", { className: classnames("dsa-header", floating ? `dsa-header--floating` : ""), "ks-inverted": inverted.toString(), ref: ref, children: jsxs("div", { className: "dsa-header__content", children: [jsx(Logo, { ...logo, className: "dsa-header__logo", inverted: inverted }), jsx(NavMain, { flyoutInverted: flyoutInverted, dropdownInverted: dropdownInverted, items: navItems, logo: {
21
21
  ...logo,
22
22
  inverted: flyoutInverted,
23
23
  } })] }) })));
@@ -53,6 +53,18 @@
53
53
  flex-direction: column;
54
54
  gap: var(--dsa-headline--gap, 0.25em);
55
55
  }
56
+ .dsa-headline__inner {
57
+ position: relative;
58
+ }
59
+ .dsa-headline__anchor {
60
+ --g-link--text-decoration: none;
61
+ visibility: hidden;
62
+ position: absolute;
63
+ margin: 0 var(--ks-spacing-inline-s);
64
+ }
65
+ .dsa-headline:hover .dsa-headline__anchor {
66
+ visibility: visible;
67
+ }
56
68
  .dsa-headline .dsa-headline__headline {
57
69
  font: var(--headline--font);
58
70
  text-transform: var(--dsa-headline--text-transform);
@@ -128,6 +140,10 @@
128
140
  text-align: right;
129
141
  margin-left: auto;
130
142
  }
143
+ .dsa-headline--align-right .dsa-headline__anchor {
144
+ top: 0;
145
+ right: 100%;
146
+ }
131
147
 
132
148
  .dsa-headline strong,
133
149
  h1 strong,
@@ -74,6 +74,11 @@
74
74
  "title": "Class Name",
75
75
  "description": "Set a custom class name"
76
76
  },
77
+ "id": {
78
+ "type": "string",
79
+ "title": "ID",
80
+ "description": "Set a custom id attribute"
81
+ },
77
82
  "type": {
78
83
  "const": "headline"
79
84
  }
@@ -53,6 +53,11 @@
53
53
  "type": "string",
54
54
  "title": "Class Name",
55
55
  "description": "Set a custom class name"
56
+ },
57
+ "id": {
58
+ "type": "string",
59
+ "title": "ID",
60
+ "description": "Set a custom id attribute"
56
61
  }
57
62
  },
58
63
  "additionalProperties": false,
@@ -36,6 +36,10 @@ type SpaceAfter = "minimum" | "small" | "large";
36
36
  * Set a custom class name
37
37
  */
38
38
  type ClassName = string;
39
+ /**
40
+ * Set a custom id attribute
41
+ */
42
+ type ID = string;
39
43
  /**
40
44
  * Component used for headlines
41
45
  */
@@ -48,6 +52,7 @@ interface HeadlineProps {
48
52
  style?: Style;
49
53
  spaceAfter?: SpaceAfter;
50
54
  className?: ClassName;
55
+ id?: ID;
51
56
  }
52
57
  interface RenderFunctions {
53
58
  renderContent?: typeof defaultRenderFn;
@@ -55,4 +60,5 @@ interface RenderFunctions {
55
60
  }
56
61
  declare const Headline: import("react").ForwardRefExoticComponent<HeadlineProps & RenderFunctions & Omit<HTMLAttributes<HTMLElement>, "style"> & import("react").RefAttributes<HTMLElement>>;
57
62
  declare const HeadlineProvider: FC<PropsWithChildren>;
63
+ export type { HeadlineProps };
58
64
  export { Headline, HeadlineProvider };
@@ -9,7 +9,7 @@ const Headline = forwardRef(({ content, text = content, sub, align = "left", swi
9
9
  // @ts-expect-error: Some kDS Components set the `styleAs`Props (e.g. https://github.com/kickstartDS/content/blob/next/source/storytelling/StorytellingComponent.tsx#L146)
10
10
  styleAs, style = styleAs || "h2", spaceAfter = "small", className, renderContent = compiler, renderSubheadline = compiler, ...props }, ref) => {
11
11
  const TagName = level;
12
- return text || sub ? (jsxs("header", { className: classnames("dsa-headline", `dsa-headline--${style}`, style !== "none" && style !== level && `dsa-headline--${style}`, `dsa-headline--align-${align}`, spaceAfter && `dsa-headline--space-after-${spaceAfter}`, className), ref: ref, ...props, children: [sub && switchOrder && (jsx("p", { className: "dsa-headline__subheadline", children: renderSubheadline(sub) })), jsx(TagName, { className: classnames("dsa-headline__headline"), children: renderContent(text) }), sub && !switchOrder && (jsx("p", { className: "dsa-headline__subheadline", children: renderSubheadline(sub) }))] })) : null;
12
+ return text || sub ? (jsxs("header", { className: classnames("dsa-headline", `dsa-headline--${style}`, style !== "none" && style !== level && `dsa-headline--${style}`, `dsa-headline--align-${align}`, spaceAfter && `dsa-headline--space-after-${spaceAfter}`, className), ref: ref, ...props, children: [sub && switchOrder && (jsx("p", { className: "dsa-headline__subheadline", children: renderSubheadline(sub) })), jsx(TagName, { className: classnames("dsa-headline__headline"), children: jsxs("span", { className: "dsa-headline__inner", children: [renderContent(text), props.id && level === "h2" && (jsx("a", { href: `#${props.id}`, className: "dsa-headline__anchor", "aria-label": "Link to this section", title: "Link to this section", children: "#" }))] }) }), sub && !switchOrder && (jsx("p", { className: "dsa-headline__subheadline", children: renderSubheadline(sub) }))] })) : null;
13
13
  });
14
14
  Headline.displayName = "Headline";
15
15
  const HeadlineProvider = (props) => (jsx(HeadlineContext.Provider, { ...props, value: Headline }));
@@ -67,6 +67,7 @@
67
67
  },
68
68
  "icon": {
69
69
  "type": "string",
70
+ "format": "icon",
70
71
  "title": "Icon",
71
72
  "description": "Choose an icon"
72
73
  },
@@ -4,4 +4,5 @@ import { HeroProps } from "../../HeroProps-cf82a16d.js";
4
4
  declare const HeroContextDefault: import("react").ForwardRefExoticComponent<HeroProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const HeroContext: import("react").Context<import("react").ForwardRefExoticComponent<HeroProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const Hero: import("react").ForwardRefExoticComponent<HeroProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export type { HeroProps };
7
8
  export { HeroContextDefault, HeroContext, Hero };
@@ -0,0 +1,30 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "http://schema.mydesignsystem.com/html.schema.json",
4
+ "title": "Html",
5
+ "description": "Display raw HTML.",
6
+ "type": "object",
7
+ "properties": {
8
+ "html": {
9
+ "title": "HTML string",
10
+ "type": "string",
11
+ "examples": [
12
+ "<p>Hello world!</p>"
13
+ ]
14
+ },
15
+ "className": {
16
+ "title": "Additional Classes",
17
+ "description": "Add additional css classes that should be applied to the element",
18
+ "type": "string"
19
+ },
20
+ "component": {
21
+ "title": "`ks-component` attribute",
22
+ "description": "Optional custom component identifier",
23
+ "type": "string"
24
+ },
25
+ "type": {
26
+ "const": "html"
27
+ }
28
+ },
29
+ "additionalProperties": false
30
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "http://schema.kickstartds.com/base/html.schema.json",
4
- "title": "HTML",
3
+ "$id": "http://schema.mydesignsystem.com/html.schema.json",
4
+ "title": "Html",
5
5
  "description": "Display raw HTML.",
6
6
  "type": "object",
7
7
  "properties": {
@@ -1,29 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { HTMLAttributes } from "react";
3
- /* eslint-disable */
4
- /**
5
- * This file was automatically generated by json-schema-to-typescript.
6
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
7
- * and run `yarn run schema` to regenerate this file.
8
- */
9
- type HTMLString = string;
10
- /**
11
- * Add additional css classes that should be applied to the element
12
- */
13
- type AdditionalClasses = string;
14
- /**
15
- * Optional custom component identifier
16
- */
17
- type KsComponentAttribute = string;
18
- /**
19
- * Display raw HTML.
20
- */
21
- interface HTMLProps {
22
- html?: HTMLString;
23
- className?: AdditionalClasses;
24
- component?: KsComponentAttribute;
25
- }
26
- declare const HtmlContextDefault: import("react").ForwardRefExoticComponent<HTMLProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
27
- declare const HtmlContext: import("react").Context<import("react").ForwardRefExoticComponent<HTMLProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
28
- declare const Html: import("react").ForwardRefExoticComponent<HTMLProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
3
+ import { HtmlProps } from "../../HtmlProps-8e3e725a.js";
4
+ declare const HtmlContextDefault: import("react").ForwardRefExoticComponent<HtmlProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
+ declare const HtmlContext: import("react").Context<import("react").ForwardRefExoticComponent<HtmlProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
+ declare const Html: import("react").ForwardRefExoticComponent<HtmlProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export type { HtmlProps };
29
8
  export { HtmlContextDefault, HtmlContext, Html };
@@ -1,9 +1,35 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { forwardRef, createContext, useContext } from 'react';
2
+ import { forwardRef, useRef, useImperativeHandle, useEffect, createContext, useContext } from 'react';
3
3
  import classnames from 'classnames';
4
4
 
5
- const HtmlContextDefault = forwardRef(({ html, className, component, ...props }, ref) => {
6
- return (jsx("div", { ref: ref, className: classnames("c-html", className), dangerouslySetInnerHTML: { __html: html }, "ks-component": component, ...props }));
5
+ const copyScriptTag = (original) => {
6
+ if (original.tagName !== "SCRIPT") {
7
+ return original;
8
+ }
9
+ const copy = document.createElement("script");
10
+ for (const attr of original.attributes) {
11
+ copy.setAttribute(attr.name, attr.value);
12
+ }
13
+ copy.textContent = original.textContent;
14
+ return copy;
15
+ };
16
+ const HtmlContextDefault = forwardRef(({ html, className, component, ...props }, forwardedRef) => {
17
+ const ref = useRef(null);
18
+ useImperativeHandle(forwardedRef, () => ref.current);
19
+ useEffect(() => {
20
+ if (html && ref.current) {
21
+ const parser = new DOMParser();
22
+ const doc = parser.parseFromString(html, "text/html");
23
+ const elements = [...doc.head.children, ...doc.body.children];
24
+ const insertedElements = elements.map((element) => ref.current.appendChild(copyScriptTag(element)));
25
+ return () => {
26
+ for (const insertedElement of insertedElements) {
27
+ insertedElement?.remove();
28
+ }
29
+ };
30
+ }
31
+ }, [html, ref.current]);
32
+ return (jsx("div", { ref: ref, className: classnames("c-html", className), "ks-component": component, ...props }));
7
33
  });
8
34
  const HtmlContext = createContext(HtmlContextDefault);
9
35
  const Html = forwardRef((props, ref) => {
@@ -84,4 +84,5 @@ interface ImageProps {
84
84
  }
85
85
  declare const Image: import("react").ForwardRefExoticComponent<ImageProps & Omit<HTMLAttributes<HTMLDivElement>, "style"> & import("react").RefAttributes<HTMLImageElement>>;
86
86
  declare const ImageProvider: FC<PropsWithChildren>;
87
+ export type { ImageProps };
87
88
  export { Image, ImageProvider };
@@ -88,6 +88,7 @@
88
88
  },
89
89
  "icon": {
90
90
  "type": "string",
91
+ "format": "icon",
91
92
  "title": "Icon",
92
93
  "description": "Choose an icon"
93
94
  },
@@ -4,4 +4,5 @@ import { ImageStoryProps } from "../../ImageStoryProps-e853e1e7.js";
4
4
  declare const ImageStoryContextDefault: import("react").ForwardRefExoticComponent<ImageStoryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const ImageStoryContext: import("react").Context<import("react").ForwardRefExoticComponent<ImageStoryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const ImageStory: import("react").ForwardRefExoticComponent<ImageStoryProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export type { ImageStoryProps };
7
8
  export { ImageStoryContextDefault, ImageStoryContext, ImageStory };
@@ -5,4 +5,5 @@ declare const ImageTextContextDefault: import("react").ForwardRefExoticComponent
5
5
  declare const ImageTextContext: import("react").Context<import("react").ForwardRefExoticComponent<ImageTextProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const ImageText: import("react").ForwardRefExoticComponent<ImageTextProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
7
  declare const ImageTextProvider: FC<ImageTextProps & HTMLAttributes<HTMLDivElement>>;
8
+ export type { ImageTextProps };
8
9
  export { ImageTextContextDefault, ImageTextContext, ImageText, ImageTextProvider };
@@ -4,4 +4,5 @@ import { LogoProps } from "../../LogoProps-01796f0a.js";
4
4
  declare const LogoContextDefault: import("react").ForwardRefExoticComponent<LogoProps & ImgHTMLAttributes<HTMLImageElement> & import("react").RefAttributes<HTMLImageElement>>;
5
5
  declare const LogoContext: import("react").Context<import("react").ForwardRefExoticComponent<LogoProps & ImgHTMLAttributes<HTMLImageElement> & import("react").RefAttributes<HTMLImageElement>>>;
6
6
  declare const Logo: import("react").ForwardRefExoticComponent<LogoProps & ImgHTMLAttributes<HTMLImageElement> & import("react").RefAttributes<HTMLImageElement>>;
7
+ export type { LogoProps };
7
8
  export { LogoContextDefault, LogoContext, Logo };
@@ -4,4 +4,5 @@ import { LogosProps } from "../../LogosProps-f9474fe2.js";
4
4
  declare const LogosContextDefault: import("react").ForwardRefExoticComponent<LogosProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const LogosContext: import("react").Context<import("react").ForwardRefExoticComponent<LogosProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const Logos: import("react").ForwardRefExoticComponent<LogosProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export type { LogosProps };
7
8
  export { LogosContextDefault, LogosContext, Logos };
@@ -4,4 +4,5 @@ import { MosaicProps } from "../../MosaicProps-d52c7151.js";
4
4
  declare const MosaicContextDefault: import("react").ForwardRefExoticComponent<MosaicProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const MosaicContext: import("react").Context<import("react").ForwardRefExoticComponent<MosaicProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const Mosaic: import("react").ForwardRefExoticComponent<MosaicProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export type { MosaicProps };
7
8
  export { MosaicContextDefault, MosaicContext, Mosaic };
@@ -94,6 +94,7 @@
94
94
  },
95
95
  "icon": {
96
96
  "type": "string",
97
+ "format": "icon",
97
98
  "title": "Icon",
98
99
  "description": "Choose an icon"
99
100
  }
@@ -19,4 +19,5 @@ interface NavDropdownProps {
19
19
  className?: string;
20
20
  }
21
21
  declare const NavDropdown: FC<NavDropdownProps>;
22
+ export type { NavDropdownProps };
22
23
  export { NavDropdown };
@@ -31,4 +31,5 @@ interface NavFlyoutProps {
31
31
  declare const NavFlyoutContextDefault: import("react").ForwardRefExoticComponent<NavFlyoutProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>;
32
32
  declare const NavFlyoutContext: import("react").Context<import("react").ForwardRefExoticComponent<NavFlyoutProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>>;
33
33
  declare const NavFlyout: import("react").ForwardRefExoticComponent<NavFlyoutProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>;
34
+ export type { NavFlyoutProps };
34
35
  export { NavFlyoutContextDefault, NavFlyoutContext, NavFlyout };
@@ -57,4 +57,5 @@ interface CTA {
57
57
  declare const NavMainContextDefault: import("react").ForwardRefExoticComponent<NavMainProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
58
58
  declare const NavMainContext: import("react").Context<import("react").ForwardRefExoticComponent<NavMainProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>>;
59
59
  declare const NavMain: import("react").ForwardRefExoticComponent<NavMainProps & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
60
+ export type { NavMainProps };
60
61
  export { NavMainContextDefault, NavMainContext, NavMain };
@@ -26,4 +26,5 @@ interface NavTopbarProps {
26
26
  declare const NavTopbarContextDefault: import("react").ForwardRefExoticComponent<NavTopbarProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>;
27
27
  declare const NavTopbarContext: import("react").Context<import("react").ForwardRefExoticComponent<NavTopbarProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>>;
28
28
  declare const NavTopbar: import("react").ForwardRefExoticComponent<NavTopbarProps & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>;
29
+ export type { NavTopbarProps };
29
30
  export { NavTopbarContextDefault, NavTopbarContext, NavTopbar };
@@ -1,4 +1,5 @@
1
1
  import { PageProps } from "../../PageProps-aa29c554.js";
2
2
  import { FC, PropsWithChildren } from "react";
3
3
  declare const Page: FC<PropsWithChildren<PageProps>>;
4
+ export type { PageProps };
4
5
  export { Page };