@kickstartds/ds-agency-premium 1.4.0--canary.12.465.0 → 1.4.0--canary.14.677.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 (104) hide show
  1. package/dist/{BlogPostProps-e1cbd5d3.d.ts → BlogPostProps-440f88a5.d.ts} +8 -2
  2. package/dist/{FooterProps-9f94ed98.d.ts → FooterProps-2d0b03c2.d.ts} +14 -2
  3. package/dist/HeaderProps-c6c32ccf.d.ts +72 -0
  4. package/dist/{ImageStoryProps-24e0335c.d.ts → ImageStoryProps-e853e1e7.d.ts} +9 -4
  5. package/dist/{HeaderProps-34d278ee.d.ts → LogoProps-01796f0a.d.ts} +16 -19
  6. package/dist/LogosProps-f9474fe2.d.ts +97 -0
  7. package/dist/{SectionProps-93230a76.d.ts → SectionProps-83d399b4.d.ts} +2 -2
  8. package/dist/SliderProps-93230a76.d.ts +1 -1
  9. package/dist/components/blog-aside/index.js +2 -2
  10. package/dist/components/blog-head/index.js +2 -2
  11. package/dist/components/blog-overview/index.js +0 -1
  12. package/dist/components/blog-post/blog-post.schema.dereffed.json +3095 -1
  13. package/dist/components/blog-post/blog-post.schema.json +9 -1
  14. package/dist/components/blog-post/index.d.ts +3 -6
  15. package/dist/components/blog-post/index.js +1 -2
  16. package/dist/components/blog-teaser/index.js +2 -2
  17. package/dist/components/button/button.css +15 -1
  18. package/dist/components/cta/cta.css +38 -38
  19. package/dist/components/feature/index.js +7 -7
  20. package/dist/components/features/features.css +26 -28
  21. package/dist/components/features/index.js +1 -1
  22. package/dist/components/footer/footer.css +23 -18
  23. package/dist/components/footer/footer.schema.dereffed.json +65 -14
  24. package/dist/components/footer/footer.schema.json +11 -25
  25. package/dist/components/footer/index.d.ts +1 -1
  26. package/dist/components/footer/index.js +3 -2
  27. package/dist/components/gallery/gallery.css +1 -1
  28. package/dist/components/header/header.css +4 -8
  29. package/dist/components/header/header.schema.dereffed.json +78 -17
  30. package/dist/components/header/header.schema.json +18 -25
  31. package/dist/components/header/index.d.ts +1 -1
  32. package/dist/components/header/index.js +15 -7
  33. package/dist/components/headline/headline.css +18 -21
  34. package/dist/components/headline/index.js +1 -7
  35. package/dist/components/hero/index.js +3 -2
  36. package/dist/components/image/image.css +8 -8
  37. package/dist/components/image/image.schema.dereffed.json +1 -1
  38. package/dist/components/image/image.schema.json +1 -1
  39. package/dist/components/image/index.d.ts +1 -1
  40. package/dist/components/image/index.js +1 -1
  41. package/dist/components/image-story/image-story.css +14 -1
  42. package/dist/components/image-story/image-story.schema.dereffed.json +19 -9
  43. package/dist/components/image-story/image-story.schema.json +9 -6
  44. package/dist/components/image-story/index.d.ts +1 -1
  45. package/dist/components/image-story/index.js +10 -1
  46. package/dist/components/index/index.d.ts +14 -14
  47. package/dist/components/logo/index.d.ts +4 -0
  48. package/dist/components/logo/index.js +12 -0
  49. package/dist/components/logo/logo.css +7 -0
  50. package/dist/components/logo/logo.schema.dereffed.json +43 -19
  51. package/dist/components/logo/logo.schema.json +41 -17
  52. package/dist/components/logos/index.d.ts +1 -1
  53. package/dist/components/logos/index.js +1 -1
  54. package/dist/components/logos/logos.css +11 -7
  55. package/dist/components/logos/logos.schema.dereffed.json +0 -5
  56. package/dist/components/logos/logos.schema.json +27 -1
  57. package/dist/components/nav-dropdown/index.d.ts +23 -0
  58. package/dist/components/nav-dropdown/index.js +10 -0
  59. package/dist/components/nav-dropdown/nav-dropdown.css +48 -0
  60. package/dist/components/nav-flyout/index.d.ts +7 -0
  61. package/dist/components/nav-flyout/index.js +17 -0
  62. package/dist/components/nav-flyout/nav-flyout.css +97 -0
  63. package/dist/components/nav-main/index.d.ts +42 -11
  64. package/dist/components/nav-main/index.js +14 -13
  65. package/dist/components/nav-main/nav-main.schema.dereffed.json +110 -85
  66. package/dist/components/nav-main/nav-main.schema.json +73 -11
  67. package/dist/components/nav-toggle/index.d.ts +3 -0
  68. package/dist/components/nav-toggle/index.js +6 -0
  69. package/dist/components/{nav-main → nav-toggle}/nav-toggle.css +21 -21
  70. package/dist/components/nav-topbar/index.d.ts +6 -0
  71. package/dist/components/nav-topbar/index.js +12 -0
  72. package/dist/components/nav-topbar/nav-topbar.css +95 -0
  73. package/dist/components/page/page.schema.dereffed.json +25 -25
  74. package/dist/components/page/page.schema.json +6 -6
  75. package/dist/components/page-wrapper/index.js +2 -3
  76. package/dist/components/page-wrapper/tokens.css +2 -2
  77. package/dist/components/picture/picture.schema.json +1 -1
  78. package/dist/components/presets.json +197 -19
  79. package/dist/components/providers/index.js +0 -1
  80. package/dist/components/section/index.d.ts +5 -3
  81. package/dist/components/section/index.js +35 -31
  82. package/dist/components/section/section.css +3 -3
  83. package/dist/components/section/section.schema.dereffed.json +19 -19
  84. package/dist/components/settings/settings.schema.dereffed.json +143 -31
  85. package/dist/components/slider/slider.schema.dereffed.json +0 -5
  86. package/dist/components/teaser-card/teaser-card.css +2 -2
  87. package/dist/components/text/text.css +1 -1
  88. package/dist/global.css +13 -13
  89. package/dist/static/favicon/favicon-192-192.png +1 -1
  90. package/dist/static/logo-inverted.svg +26 -0
  91. package/dist/tokens/themes.css +4 -4
  92. package/dist/tokens/tokens.css +2 -2
  93. package/dist/tokens/tokens.js +2 -2
  94. package/package.json +1 -1
  95. package/dist/LogosProps-58c84ccc.d.ts +0 -242
  96. package/dist/components/headline-level-context/index.d.ts +0 -4
  97. package/dist/components/headline-level-context/index.js +0 -33
  98. package/dist/components/nav-main/nav-main.css +0 -191
  99. /package/dist/components/{nav-main → nav}/js/NavToggle.client.d.ts +0 -0
  100. /package/dist/components/{nav-main → nav}/js/NavToggle.client.js +0 -0
  101. /package/dist/components/{nav-main → nav}/js/body.client.d.ts +0 -0
  102. /package/dist/components/{nav-main → nav}/js/body.client.js +0 -0
  103. /package/dist/components/{nav-main → nav}/js/navMainEvents.client.d.ts +0 -0
  104. /package/dist/components/{nav-main → nav}/js/navMainEvents.client.js +0 -0
@@ -198,9 +198,3103 @@
198
198
  "content": {
199
199
  "type": "string",
200
200
  "title": "Text",
201
- "description": "Body text for the blog post",
201
+ "description": "Body text for the blog post, overwrites sections if present",
202
202
  "format": "markdown"
203
203
  },
204
+ "section": {
205
+ "type": "array",
206
+ "title": "Blog Sections",
207
+ "description": "Collection of sections (with their contents) to render on the blog post",
208
+ "items": {
209
+ "$schema": "http://json-schema.org/draft-07/schema#",
210
+ "$id": "http://schema.mydesignsystem.com/section.schema.json",
211
+ "title": "Section",
212
+ "description": "Component used to layout components into pages",
213
+ "type": "object",
214
+ "properties": {
215
+ "width": {
216
+ "type": "string",
217
+ "title": "Width",
218
+ "description": "Width of section to use",
219
+ "enum": [
220
+ "full",
221
+ "max",
222
+ "wide",
223
+ "default",
224
+ "narrow"
225
+ ],
226
+ "default": "default"
227
+ },
228
+ "style": {
229
+ "type": "string",
230
+ "title": "Style",
231
+ "description": "Style of background",
232
+ "enum": [
233
+ "stagelights",
234
+ "horizontalGradient",
235
+ "verticalGradient",
236
+ "accentTransition",
237
+ "boldTransition",
238
+ "symmetricGlow",
239
+ "anchorGlow"
240
+ ],
241
+ "default": "default"
242
+ },
243
+ "backgroundColor": {
244
+ "type": "string",
245
+ "title": "Style",
246
+ "description": "Color of background",
247
+ "enum": [
248
+ "default",
249
+ "accent",
250
+ "bold"
251
+ ],
252
+ "default": "default"
253
+ },
254
+ "spotlight": {
255
+ "type": "boolean",
256
+ "title": "Spotlight",
257
+ "description": "Show spotlight behind cursor",
258
+ "default": false
259
+ },
260
+ "spaceBefore": {
261
+ "type": "string",
262
+ "title": "Space Before",
263
+ "description": "Amount of spacing before the section",
264
+ "enum": [
265
+ "default",
266
+ "small",
267
+ "none"
268
+ ],
269
+ "default": "default"
270
+ },
271
+ "spaceAfter": {
272
+ "type": "string",
273
+ "title": "Space After",
274
+ "description": "Amount of spacing after the section",
275
+ "enum": [
276
+ "default",
277
+ "small",
278
+ "none"
279
+ ],
280
+ "default": "default"
281
+ },
282
+ "inverted": {
283
+ "type": "boolean",
284
+ "title": "Inverted",
285
+ "description": "Whether to invert the section",
286
+ "default": false
287
+ },
288
+ "headerSpacing": {
289
+ "type": "boolean",
290
+ "title": "Header Spacing",
291
+ "description": "Reserve additional spacing for a floating header",
292
+ "default": false
293
+ },
294
+ "headline": {
295
+ "type": "object",
296
+ "properties": {
297
+ "text": {
298
+ "type": "string",
299
+ "title": "Headline",
300
+ "description": "Headline Text for the section",
301
+ "format": "markdown",
302
+ "examples": [
303
+ "Section headline"
304
+ ]
305
+ },
306
+ "large": {
307
+ "type": "boolean",
308
+ "title": "Large Headline",
309
+ "description": "Make the headline larger",
310
+ "default": false
311
+ },
312
+ "width": {
313
+ "type": "string",
314
+ "title": "Headline Width",
315
+ "description": "Width of headline to use",
316
+ "enum": [
317
+ "unset",
318
+ "narrow",
319
+ "default",
320
+ "wide"
321
+ ],
322
+ "default": "unset"
323
+ },
324
+ "textAlign": {
325
+ "title": "Headline Text Alignment",
326
+ "description": "Choose the text alignment for the headline",
327
+ "type": "string",
328
+ "enum": [
329
+ "left",
330
+ "center",
331
+ "right"
332
+ ]
333
+ },
334
+ "align": {
335
+ "title": "Headline Alignment",
336
+ "description": "Choose an alignment for positioning the headline",
337
+ "type": "string",
338
+ "enum": [
339
+ "left",
340
+ "center",
341
+ "right"
342
+ ]
343
+ },
344
+ "sub": {
345
+ "type": "string",
346
+ "title": "Subheadline",
347
+ "description": "Subheadline for the section",
348
+ "format": "markdown"
349
+ },
350
+ "switchOrder": {
351
+ "type": "boolean",
352
+ "title": "Switch Headline Order",
353
+ "description": "Switch the order of headline and subheadline"
354
+ }
355
+ },
356
+ "additionalProperties": false
357
+ },
358
+ "content": {
359
+ "type": "object",
360
+ "properties": {
361
+ "width": {
362
+ "type": "string",
363
+ "title": "Content Width",
364
+ "description": "Width of content to use",
365
+ "enum": [
366
+ "unset",
367
+ "narrow",
368
+ "default",
369
+ "wide"
370
+ ],
371
+ "default": "unset"
372
+ },
373
+ "align": {
374
+ "title": "Content Alignment",
375
+ "description": "Choose an alignment for the content",
376
+ "type": "string",
377
+ "enum": [
378
+ "left",
379
+ "center",
380
+ "right"
381
+ ],
382
+ "default": "center"
383
+ },
384
+ "gutter": {
385
+ "type": "string",
386
+ "title": "Gutter",
387
+ "description": "Size of gutter to use",
388
+ "enum": [
389
+ "large",
390
+ "default",
391
+ "small",
392
+ "none"
393
+ ],
394
+ "default": "default"
395
+ },
396
+ "mode": {
397
+ "type": "string",
398
+ "title": "Mode",
399
+ "description": "Layout mode used for section contents",
400
+ "enum": [
401
+ "default",
402
+ "tile",
403
+ "list",
404
+ "slider"
405
+ ],
406
+ "default": "list"
407
+ },
408
+ "tileWidth": {
409
+ "type": "string",
410
+ "title": "Tile Width",
411
+ "description": "Set min-width for the tiles in the grid",
412
+ "enum": [
413
+ "smallest",
414
+ "default",
415
+ "medium",
416
+ "large",
417
+ "largest"
418
+ ],
419
+ "default": "default"
420
+ }
421
+ },
422
+ "additionalProperties": false
423
+ },
424
+ "components": {
425
+ "type": "array",
426
+ "title": "Content",
427
+ "description": "Allowed components for content",
428
+ "items": {
429
+ "anyOf": [
430
+ {
431
+ "$schema": "http://json-schema.org/draft-07/schema#",
432
+ "$id": "http://schema.mydesignsystem.com/cta.schema.json",
433
+ "title": "Cta",
434
+ "type": "object",
435
+ "properties": {
436
+ "headline": {
437
+ "title": "Component Headline",
438
+ "description": "Headline for the Component element",
439
+ "type": "string",
440
+ "format": "markdown",
441
+ "examples": [
442
+ "Headline"
443
+ ]
444
+ },
445
+ "sub": {
446
+ "title": "Component Subheadline",
447
+ "description": "Subheadline below the component headline",
448
+ "type": "string",
449
+ "format": "markdown",
450
+ "examples": [
451
+ "Subheadline"
452
+ ]
453
+ },
454
+ "text": {
455
+ "title": "Component Text",
456
+ "description": "Info text for the component element",
457
+ "type": "string",
458
+ "format": "markdown"
459
+ },
460
+ "highlightText": {
461
+ "type": "boolean",
462
+ "title": "Highlight Text",
463
+ "description": "Visually highlight the text",
464
+ "default": false
465
+ },
466
+ "colorNeutral": {
467
+ "title": "Color Neutral",
468
+ "description": "Make the text and buttons color neutral",
469
+ "default": false,
470
+ "type": "boolean"
471
+ },
472
+ "fullWidth": {
473
+ "title": "Width",
474
+ "description": "Set the width of the content to the full width of the element",
475
+ "type": "boolean",
476
+ "default": false
477
+ },
478
+ "buttons": {
479
+ "type": "array",
480
+ "items": {
481
+ "title": "Button",
482
+ "type": "object",
483
+ "properties": {
484
+ "label": {
485
+ "type": "string",
486
+ "title": "Label",
487
+ "description": "Text content to display inside the button",
488
+ "examples": [
489
+ "Book a meeting"
490
+ ]
491
+ },
492
+ "icon": {
493
+ "type": "string",
494
+ "title": "Icon",
495
+ "description": "Choose an icon"
496
+ },
497
+ "target": {
498
+ "type": "string",
499
+ "title": "Target",
500
+ "description": "Target that should be linked, makes the button behave like a link semantically",
501
+ "format": "uri"
502
+ }
503
+ },
504
+ "additionalProperties": false
505
+ }
506
+ },
507
+ "backgroundColor": {
508
+ "title": "Background color",
509
+ "description": "Background color for the whole element",
510
+ "type": "string",
511
+ "format": "color"
512
+ },
513
+ "backgroundImage": {
514
+ "title": "Background image",
515
+ "description": "Background image for the whole element",
516
+ "type": "string",
517
+ "format": "image"
518
+ },
519
+ "image": {
520
+ "title": "Image",
521
+ "description": "Image displayed alongside the text content",
522
+ "type": "object",
523
+ "properties": {
524
+ "src": {
525
+ "title": "Image source",
526
+ "description": "Image source to use",
527
+ "type": "string",
528
+ "format": "image"
529
+ },
530
+ "padding": {
531
+ "title": "Padding",
532
+ "description": "Toggle padding of the image",
533
+ "type": "boolean",
534
+ "default": true
535
+ },
536
+ "alt": {
537
+ "title": "Alt text",
538
+ "description": "Image description",
539
+ "type": "string"
540
+ }
541
+ },
542
+ "additionalProperties": false
543
+ },
544
+ "order": {
545
+ "title": "Order",
546
+ "description": "Choose what comes first on mobile and desktop: image or text",
547
+ "type": "object",
548
+ "properties": {
549
+ "mobileImageLast": {
550
+ "title": "Mobile image after text",
551
+ "description": "Switch to displaying the image after the text on mobile",
552
+ "type": "boolean",
553
+ "default": false
554
+ },
555
+ "desktopImageLast": {
556
+ "title": "Desktop image after text",
557
+ "description": "Switch to displaying the image after the text on desktop",
558
+ "type": "boolean",
559
+ "default": true
560
+ }
561
+ },
562
+ "additionalProperties": false
563
+ },
564
+ "textAlign": {
565
+ "title": "Text Alignment",
566
+ "description": "Choose the alginment of the text",
567
+ "enum": [
568
+ "left",
569
+ "center"
570
+ ],
571
+ "type": "string",
572
+ "default": "left"
573
+ },
574
+ "contentAlign": {
575
+ "title": "Vertical alignment of the content",
576
+ "description": "Select a vertical alignment for the image",
577
+ "type": "string",
578
+ "enum": [
579
+ "center",
580
+ "top",
581
+ "bottom"
582
+ ],
583
+ "default": "center"
584
+ },
585
+ "type": {
586
+ "const": "cta"
587
+ }
588
+ },
589
+ "additionalProperties": false
590
+ },
591
+ {
592
+ "$schema": "http://json-schema.org/draft-07/schema#",
593
+ "$id": "http://schema.mydesignsystem.com/faq.schema.json",
594
+ "title": "Faq",
595
+ "description": "Component used to display a Faq section",
596
+ "type": "object",
597
+ "properties": {
598
+ "questions": {
599
+ "type": "array",
600
+ "title": "Questions",
601
+ "description": "The questions and answers in the Faq section",
602
+ "items": {
603
+ "type": "object",
604
+ "properties": {
605
+ "question": {
606
+ "type": "string",
607
+ "format": "markdown",
608
+ "title": "Question",
609
+ "description": "The question",
610
+ "examples": [
611
+ "What is the product made of?"
612
+ ]
613
+ },
614
+ "answer": {
615
+ "type": "string",
616
+ "format": "markdown",
617
+ "title": "Answer",
618
+ "description": "The answer to the question",
619
+ "examples": [
620
+ "The product is made of high-quality materials"
621
+ ]
622
+ }
623
+ },
624
+ "additionalProperties": false,
625
+ "required": [
626
+ "question",
627
+ "answer"
628
+ ]
629
+ },
630
+ "minItems": 1
631
+ },
632
+ "type": {
633
+ "const": "faq"
634
+ }
635
+ },
636
+ "additionalProperties": false,
637
+ "required": [
638
+ "questions"
639
+ ]
640
+ },
641
+ {
642
+ "$schema": "http://json-schema.org/draft-07/schema#",
643
+ "$id": "http://schema.mydesignsystem.com/features.schema.json",
644
+ "title": "Features",
645
+ "description": "Component used to display a set of features",
646
+ "type": "object",
647
+ "properties": {
648
+ "layout": {
649
+ "type": "string",
650
+ "title": "Layout",
651
+ "description": "The layout variant to use for the features",
652
+ "enum": [
653
+ "largeTiles",
654
+ "smallTiles",
655
+ "list"
656
+ ],
657
+ "default": "largeTiles"
658
+ },
659
+ "style": {
660
+ "type": "string",
661
+ "enum": [
662
+ "intext",
663
+ "stack",
664
+ "centered",
665
+ "besideLarge",
666
+ "besideSmall"
667
+ ],
668
+ "default": "stack"
669
+ },
670
+ "ctas": {
671
+ "type": "object",
672
+ "properties": {
673
+ "toggle": {
674
+ "type": "boolean",
675
+ "default": true,
676
+ "title": "CTA Toggle",
677
+ "description": "Activate/disable the CTAs"
678
+ },
679
+ "style": {
680
+ "type": "string",
681
+ "enum": [
682
+ "button",
683
+ "link",
684
+ "intext"
685
+ ],
686
+ "default": "link"
687
+ }
688
+ },
689
+ "additionalProperties": false
690
+ },
691
+ "feature": {
692
+ "type": "array",
693
+ "title": "Features",
694
+ "description": "The features to display",
695
+ "items": {
696
+ "$schema": "http://json-schema.org/draft-07/schema#",
697
+ "$id": "http://schema.mydesignsystem.com/feature.schema.json",
698
+ "title": "Feature",
699
+ "description": "Partial Component used to display a feature",
700
+ "type": "object",
701
+ "properties": {
702
+ "icon": {
703
+ "type": "string",
704
+ "title": "Icon",
705
+ "description": "The icon for the feature",
706
+ "examples": [
707
+ "person"
708
+ ]
709
+ },
710
+ "title": {
711
+ "type": "string",
712
+ "title": "Title",
713
+ "description": "The title of the feature",
714
+ "examples": [
715
+ "Feature 1"
716
+ ]
717
+ },
718
+ "text": {
719
+ "type": "string",
720
+ "title": "Text",
721
+ "description": "The description of the feature",
722
+ "format": "markdown",
723
+ "examples": [
724
+ "This is a feature"
725
+ ]
726
+ },
727
+ "style": {
728
+ "type": "string",
729
+ "enum": [
730
+ "intext",
731
+ "stack",
732
+ "centered",
733
+ "besideLarge",
734
+ "besideSmall"
735
+ ],
736
+ "default": "stack"
737
+ },
738
+ "cta": {
739
+ "type": "object",
740
+ "title": "Call to Action",
741
+ "description": "The call to action",
742
+ "properties": {
743
+ "target": {
744
+ "type": "string",
745
+ "title": "Call to Action target",
746
+ "description": "The CTA target",
747
+ "default": "#",
748
+ "format": "uri"
749
+ },
750
+ "label": {
751
+ "type": "string",
752
+ "title": "Link Label",
753
+ "description": "The text label displayed on the link",
754
+ "default": "See more",
755
+ "examples": [
756
+ "See all our partners"
757
+ ]
758
+ },
759
+ "toggle": {
760
+ "type": "boolean",
761
+ "title": "Call to Action Toggle",
762
+ "description": "Activate/disable the CTAs",
763
+ "default": true
764
+ },
765
+ "style": {
766
+ "type": "string",
767
+ "description": "Choose the style of the CTA",
768
+ "enum": [
769
+ "button",
770
+ "link",
771
+ "intext"
772
+ ],
773
+ "default": "link"
774
+ }
775
+ },
776
+ "additionalProperties": false
777
+ },
778
+ "type": {
779
+ "const": "feature"
780
+ }
781
+ },
782
+ "additionalProperties": false,
783
+ "required": [
784
+ "title"
785
+ ]
786
+ },
787
+ "minItems": 1,
788
+ "maxItems": 8
789
+ },
790
+ "type": {
791
+ "const": "features"
792
+ }
793
+ },
794
+ "additionalProperties": false
795
+ },
796
+ {
797
+ "$schema": "http://json-schema.org/draft-07/schema#",
798
+ "$id": "http://schema.mydesignsystem.com/gallery.schema.json",
799
+ "title": "Gallery",
800
+ "description": "Component used to display a gallery of images",
801
+ "type": "object",
802
+ "properties": {
803
+ "images": {
804
+ "type": "array",
805
+ "title": "Images",
806
+ "description": "The images to display in the gallery",
807
+ "items": {
808
+ "type": "object",
809
+ "properties": {
810
+ "src": {
811
+ "type": "string",
812
+ "title": "src",
813
+ "format": "image",
814
+ "description": "The source of the image",
815
+ "examples": [
816
+ "https://example.com/image1.jpg"
817
+ ]
818
+ },
819
+ "alt": {
820
+ "type": "string",
821
+ "title": "Alt text",
822
+ "description": "Alt text of the image",
823
+ "examples": [
824
+ "https://example.com/image1.jpg"
825
+ ]
826
+ },
827
+ "caption": {
828
+ "type": "string",
829
+ "format": "markdown",
830
+ "title": "Caption",
831
+ "description": "The caption of the image",
832
+ "examples": [
833
+ "Caption Image"
834
+ ]
835
+ }
836
+ },
837
+ "additionalProperties": false,
838
+ "required": [
839
+ "src"
840
+ ]
841
+ },
842
+ "minItems": 1,
843
+ "maxItems": 10
844
+ },
845
+ "layout": {
846
+ "type": "string",
847
+ "title": "Layout",
848
+ "description": "The layout of the gallery images",
849
+ "enum": [
850
+ "stack",
851
+ "smallTiles",
852
+ "largeTiles"
853
+ ]
854
+ },
855
+ "aspectRatio": {
856
+ "type": "string",
857
+ "title": "Aspect Ratio",
858
+ "description": "The aspect ratio of the gallery images",
859
+ "enum": [
860
+ "unset",
861
+ "square",
862
+ "wide",
863
+ "landscape"
864
+ ],
865
+ "default": "unset"
866
+ },
867
+ "lightbox": {
868
+ "type": "boolean",
869
+ "title": "Lightbox",
870
+ "description": "Display images in a lightbox gallery",
871
+ "default": false
872
+ },
873
+ "type": {
874
+ "const": "gallery"
875
+ }
876
+ },
877
+ "additionalProperties": false,
878
+ "required": [
879
+ "images"
880
+ ]
881
+ },
882
+ {
883
+ "$schema": "http://json-schema.org/draft-07/schema#",
884
+ "$id": "http://schema.mydesignsystem.com/hero.schema.json",
885
+ "title": "Hero",
886
+ "type": "object",
887
+ "properties": {
888
+ "headline": {
889
+ "title": "Headline",
890
+ "description": "Headline for the visual",
891
+ "type": "string",
892
+ "format": "markdown"
893
+ },
894
+ "sub": {
895
+ "title": "Module Subheadline",
896
+ "description": "Subheadline below the module headline",
897
+ "type": "string",
898
+ "format": "markdown"
899
+ },
900
+ "text": {
901
+ "title": "Module Text",
902
+ "description": "Info text for the module element",
903
+ "type": "string",
904
+ "format": "markdown"
905
+ },
906
+ "highlightText": {
907
+ "type": "boolean",
908
+ "title": "Highlight Text",
909
+ "description": "Visually highlight the text",
910
+ "default": false
911
+ },
912
+ "colorNeutral": {
913
+ "title": "Color Neutral",
914
+ "description": "Make the text and buttons color neutral",
915
+ "default": false,
916
+ "type": "boolean"
917
+ },
918
+ "height": {
919
+ "title": "Height",
920
+ "type": "string",
921
+ "enum": [
922
+ "small",
923
+ "default",
924
+ "fullImage",
925
+ "fullScreen"
926
+ ],
927
+ "default": "default"
928
+ },
929
+ "textbox": {
930
+ "type": "boolean",
931
+ "title": "Textbox",
932
+ "default": true,
933
+ "description": "Toggle wether you want your text to be displayed within in box"
934
+ },
935
+ "buttons": {
936
+ "type": "array",
937
+ "items": {
938
+ "title": "Button",
939
+ "type": "object",
940
+ "properties": {
941
+ "label": {
942
+ "type": "string",
943
+ "title": "Label",
944
+ "description": "Text content to display inside the button",
945
+ "examples": [
946
+ "Book a meeting"
947
+ ]
948
+ },
949
+ "icon": {
950
+ "type": "string",
951
+ "title": "Icon",
952
+ "description": "Choose an icon"
953
+ },
954
+ "target": {
955
+ "type": "string",
956
+ "title": "Target",
957
+ "description": "Target that should be linked, makes the button behave like a link semantically",
958
+ "format": "uri"
959
+ }
960
+ },
961
+ "additionalProperties": false
962
+ }
963
+ },
964
+ "overlay": {
965
+ "title": "Grid layer",
966
+ "description": "Enable grid layer",
967
+ "type": "boolean",
968
+ "default": false
969
+ },
970
+ "image": {
971
+ "title": "Background image",
972
+ "description": "Sources of background images for different screen sizes",
973
+ "type": "object",
974
+ "required": [
975
+ "srcMobile"
976
+ ],
977
+ "properties": {
978
+ "srcMobile": {
979
+ "title": "Mobile image source",
980
+ "description": "Background image source for small screens",
981
+ "type": "string",
982
+ "format": "image",
983
+ "examples": [
984
+ "https://picsum.photos/seed/kdsvisual/640/270"
985
+ ]
986
+ },
987
+ "srcTablet": {
988
+ "title": "Tablet image source",
989
+ "description": "Background image source for medium screens",
990
+ "type": "string",
991
+ "format": "image",
992
+ "examples": [
993
+ "https://picsum.photos/seed/kdsvisual/1280/540"
994
+ ]
995
+ },
996
+ "srcDesktop": {
997
+ "title": "Desktop image source",
998
+ "description": "Background image source for large screens",
999
+ "type": "string",
1000
+ "format": "image",
1001
+ "examples": [
1002
+ "https://picsum.photos/seed/kdsvisual/1920/810"
1003
+ ]
1004
+ },
1005
+ "src": {
1006
+ "title": "Optional source",
1007
+ "description": "Override for img tag of picture element, if needed",
1008
+ "type": "string",
1009
+ "format": "image",
1010
+ "examples": [
1011
+ "https://picsum.photos/seed/kdsvisual/640/270"
1012
+ ]
1013
+ },
1014
+ "indent": {
1015
+ "title": "Image indent",
1016
+ "description": "Choose to indent the image horizontally on small screens",
1017
+ "type": "string",
1018
+ "enum": [
1019
+ "none",
1020
+ "left",
1021
+ "right"
1022
+ ],
1023
+ "default": "none"
1024
+ },
1025
+ "alt": {
1026
+ "title": "Alt text",
1027
+ "description": "Alt text to display for picture",
1028
+ "type": "string"
1029
+ }
1030
+ },
1031
+ "additionalProperties": false
1032
+ },
1033
+ "textPosition": {
1034
+ "title": "Module aligment",
1035
+ "description": "Choose the alginment of the module content",
1036
+ "enum": [
1037
+ "center",
1038
+ "below",
1039
+ "left",
1040
+ "right"
1041
+ ],
1042
+ "type": "string",
1043
+ "default": "bottom"
1044
+ },
1045
+ "type": {
1046
+ "const": "hero"
1047
+ }
1048
+ },
1049
+ "additionalProperties": false
1050
+ },
1051
+ {
1052
+ "$schema": "http://json-schema.org/draft-07/schema#",
1053
+ "$id": "http://schema.mydesignsystem.com/image-story.schema.json",
1054
+ "title": "Image Story",
1055
+ "type": "object",
1056
+ "properties": {
1057
+ "headline": {
1058
+ "title": "Module Headline",
1059
+ "description": "Headline for the module element",
1060
+ "type": "string",
1061
+ "format": "markdown",
1062
+ "examples": [
1063
+ "Headline"
1064
+ ]
1065
+ },
1066
+ "largeHeadline": {
1067
+ "type": "boolean",
1068
+ "title": "Large Headline",
1069
+ "description": "Make the headline larger",
1070
+ "default": false
1071
+ },
1072
+ "sub": {
1073
+ "title": "Module Subheadline",
1074
+ "description": "Subheadline below the module headline",
1075
+ "type": "string",
1076
+ "format": "markdown",
1077
+ "examples": [
1078
+ "Subheadline"
1079
+ ]
1080
+ },
1081
+ "text": {
1082
+ "title": "Module Text",
1083
+ "description": "Info text for the module element",
1084
+ "type": "string",
1085
+ "format": "markdown"
1086
+ },
1087
+ "layout": {
1088
+ "type": "string",
1089
+ "title": "Layout",
1090
+ "description": "Choose the layout for the component",
1091
+ "enum": [
1092
+ "textLeft",
1093
+ "imageLeft"
1094
+ ],
1095
+ "default": "imageLeft"
1096
+ },
1097
+ "padding": {
1098
+ "type": "boolean",
1099
+ "title": "Padding",
1100
+ "default": false,
1101
+ "description": "Give the component padding"
1102
+ },
1103
+ "buttons": {
1104
+ "title": "Buttons",
1105
+ "description": "Buttons of the Button Group",
1106
+ "type": "array",
1107
+ "items": {
1108
+ "$schema": "http://json-schema.org/draft-07/schema#",
1109
+ "$id": "http://schema.mydesignsystem.com/button.schema.json",
1110
+ "title": "Button",
1111
+ "description": "Component used for user interaction",
1112
+ "type": "object",
1113
+ "properties": {
1114
+ "label": {
1115
+ "type": "string",
1116
+ "title": "Label",
1117
+ "description": "Text content to display inside the button",
1118
+ "examples": [
1119
+ "Book a meeting"
1120
+ ]
1121
+ },
1122
+ "target": {
1123
+ "type": "string",
1124
+ "title": "Target",
1125
+ "description": "Target that should be linked, makes the button behave like a link semantically",
1126
+ "format": "uri"
1127
+ },
1128
+ "variant": {
1129
+ "type": "string",
1130
+ "title": "Variant",
1131
+ "description": "Variant of button to be used",
1132
+ "enum": [
1133
+ "primary",
1134
+ "secondary",
1135
+ "tertiary"
1136
+ ],
1137
+ "default": "secondary"
1138
+ },
1139
+ "icon": {
1140
+ "type": "string",
1141
+ "title": "Icon",
1142
+ "description": "Choose an icon"
1143
+ },
1144
+ "size": {
1145
+ "type": "string",
1146
+ "title": "Size",
1147
+ "description": "Size of button to use",
1148
+ "enum": [
1149
+ "small",
1150
+ "medium",
1151
+ "large"
1152
+ ],
1153
+ "default": "medium"
1154
+ },
1155
+ "disabled": {
1156
+ "type": "boolean",
1157
+ "title": "Disabled?",
1158
+ "description": "Whether the button should be disabled",
1159
+ "default": false
1160
+ },
1161
+ "type": {
1162
+ "const": "button"
1163
+ }
1164
+ },
1165
+ "additionalProperties": false,
1166
+ "required": [
1167
+ "label"
1168
+ ]
1169
+ }
1170
+ },
1171
+ "image": {
1172
+ "title": "Image",
1173
+ "description": "Image displayed alongside the text content",
1174
+ "type": "object",
1175
+ "properties": {
1176
+ "src": {
1177
+ "title": "Image source",
1178
+ "description": "Image source to use",
1179
+ "type": "string",
1180
+ "format": "image"
1181
+ },
1182
+ "aspectRatio": {
1183
+ "type": "string",
1184
+ "title": "Aspect Ratio",
1185
+ "description": "The aspect ratio of the image",
1186
+ "enum": [
1187
+ "unset",
1188
+ "square",
1189
+ "wide",
1190
+ "landscape"
1191
+ ],
1192
+ "default": "unset"
1193
+ },
1194
+ "alt": {
1195
+ "title": "Alt text",
1196
+ "description": "Image description",
1197
+ "type": "string"
1198
+ },
1199
+ "vAlign": {
1200
+ "title": "Image vertical alignment",
1201
+ "description": "Select a vertical alignment for the image",
1202
+ "type": "string",
1203
+ "enum": [
1204
+ "center",
1205
+ "top",
1206
+ "bottom"
1207
+ ],
1208
+ "default": "top"
1209
+ }
1210
+ },
1211
+ "additionalProperties": false
1212
+ },
1213
+ "textAlign": {
1214
+ "title": "Text Alignment",
1215
+ "description": "Choose the alginment of the text",
1216
+ "enum": [
1217
+ "left",
1218
+ "center"
1219
+ ],
1220
+ "type": "string",
1221
+ "default": "left"
1222
+ },
1223
+ "type": {
1224
+ "const": "image-story"
1225
+ }
1226
+ },
1227
+ "additionalProperties": false
1228
+ },
1229
+ {
1230
+ "$schema": "http://json-schema.org/draft-07/schema#",
1231
+ "$id": "http://schema.mydesignsystem.com/image-text.schema.json",
1232
+ "title": "Image Text",
1233
+ "description": "Component used to display an image beside or above/below a text block",
1234
+ "type": "object",
1235
+ "properties": {
1236
+ "text": {
1237
+ "type": "string",
1238
+ "format": "markdown",
1239
+ "title": "Text",
1240
+ "description": "Text content to display beside the image",
1241
+ "examples": [
1242
+ "This is a sample text"
1243
+ ]
1244
+ },
1245
+ "highlightText": {
1246
+ "type": "boolean",
1247
+ "title": "Highlight Text",
1248
+ "description": "Visually highlight the text",
1249
+ "default": false
1250
+ },
1251
+ "image": {
1252
+ "type": "object",
1253
+ "properties": {
1254
+ "src": {
1255
+ "type": "string",
1256
+ "format": "image",
1257
+ "title": "Image Source",
1258
+ "description": "URL of the image to display",
1259
+ "examples": [
1260
+ "http://example.com/image.jpg"
1261
+ ]
1262
+ },
1263
+ "alt": {
1264
+ "type": "string",
1265
+ "title": "Alt Text",
1266
+ "description": "Alt text of the image",
1267
+ "examples": [
1268
+ "http://example.com/image.jpg"
1269
+ ]
1270
+ }
1271
+ },
1272
+ "additionalProperties": false
1273
+ },
1274
+ "layout": {
1275
+ "type": "string",
1276
+ "enum": [
1277
+ "above",
1278
+ "below",
1279
+ "beside-right",
1280
+ "beside-left"
1281
+ ],
1282
+ "title": "Layout",
1283
+ "description": "Position of the image relative to the text",
1284
+ "examples": [
1285
+ "above"
1286
+ ]
1287
+ },
1288
+ "type": {
1289
+ "const": "image-text"
1290
+ }
1291
+ },
1292
+ "required": [
1293
+ "text",
1294
+ "image",
1295
+ "layout"
1296
+ ],
1297
+ "additionalProperties": false
1298
+ },
1299
+ {
1300
+ "$schema": "http://json-schema.org/draft-07/schema#",
1301
+ "$id": "http://schema.mydesignsystem.com/logos.schema.json",
1302
+ "title": "Logos",
1303
+ "description": "Component used to display a set of logos",
1304
+ "type": "object",
1305
+ "properties": {
1306
+ "tagline": {
1307
+ "type": "string",
1308
+ "title": "Logo Tagline",
1309
+ "description": "A short tagline atop the logos",
1310
+ "examples": [
1311
+ "Your Success, Our Commitment"
1312
+ ]
1313
+ },
1314
+ "logo": {
1315
+ "type": "array",
1316
+ "title": "Logos",
1317
+ "description": "The logos to display",
1318
+ "items": {
1319
+ "title": "Logo",
1320
+ "description": "Logo entry for Logos component",
1321
+ "type": "object",
1322
+ "properties": {
1323
+ "src": {
1324
+ "type": "string",
1325
+ "format": "image",
1326
+ "title": "URL",
1327
+ "description": "The URL of the logo image",
1328
+ "examples": [
1329
+ "img/logos/logoipsum-212.svg",
1330
+ "img/logos/logoipsum-217.svg",
1331
+ "img/logos/logoipsum-239.svg",
1332
+ "img/logos/logoipsum-244.svg",
1333
+ "img/logos/logoipsum-250.svg",
1334
+ "img/logos/logoipsum-286.svg"
1335
+ ]
1336
+ },
1337
+ "alt": {
1338
+ "type": "string",
1339
+ "title": "Caption",
1340
+ "description": "The alt text of the logo",
1341
+ "examples": [
1342
+ "Logo 1"
1343
+ ]
1344
+ }
1345
+ },
1346
+ "additionalProperties": false,
1347
+ "required": [
1348
+ "src"
1349
+ ]
1350
+ },
1351
+ "minItems": 1,
1352
+ "maxItems": 20
1353
+ },
1354
+ "align": {
1355
+ "type": "string",
1356
+ "title": "Alignment",
1357
+ "description": "The alignment of the logo layout",
1358
+ "enum": [
1359
+ "left",
1360
+ "center"
1361
+ ],
1362
+ "default": "center"
1363
+ },
1364
+ "logosPerRow": {
1365
+ "type": "integer",
1366
+ "title": "Logos Per Row",
1367
+ "description": "The amount of logos to display per row",
1368
+ "minimum": 2,
1369
+ "maximum": 8,
1370
+ "examples": [
1371
+ 5
1372
+ ]
1373
+ },
1374
+ "cta": {
1375
+ "type": "object",
1376
+ "title": "Call to Action",
1377
+ "description": "The call to action",
1378
+ "properties": {
1379
+ "toggle": {
1380
+ "type": "boolean",
1381
+ "default": false,
1382
+ "title": "CTA Toggle",
1383
+ "description": "Activate/disable the CTA"
1384
+ },
1385
+ "text": {
1386
+ "type": "string",
1387
+ "title": "Call to Action Text",
1388
+ "description": "A short CTA text",
1389
+ "examples": [
1390
+ "Explore the success stories of our valued customers and discover more about their journey."
1391
+ ]
1392
+ },
1393
+ "link": {
1394
+ "type": "string",
1395
+ "title": "Call to Action Link",
1396
+ "description": "The CTA link",
1397
+ "default": "#",
1398
+ "format": "uri"
1399
+ },
1400
+ "label": {
1401
+ "type": "string",
1402
+ "title": "Link Label",
1403
+ "description": "The text label displayed on the link",
1404
+ "examples": [
1405
+ "See all our partners"
1406
+ ]
1407
+ },
1408
+ "style": {
1409
+ "type": "string",
1410
+ "enum": [
1411
+ "button",
1412
+ "text"
1413
+ ],
1414
+ "default": "text"
1415
+ }
1416
+ },
1417
+ "additionalProperties": false,
1418
+ "required": [
1419
+ "style",
1420
+ "link",
1421
+ "label"
1422
+ ]
1423
+ },
1424
+ "type": {
1425
+ "const": "logos"
1426
+ }
1427
+ },
1428
+ "additionalProperties": false,
1429
+ "required": [
1430
+ "logos"
1431
+ ]
1432
+ },
1433
+ {
1434
+ "$schema": "http://json-schema.org/draft-07/schema#",
1435
+ "$id": "http://schema.mydesignsystem.com/mosaic.schema.json",
1436
+ "title": "Mosaic",
1437
+ "type": "object",
1438
+ "properties": {
1439
+ "layout": {
1440
+ "title": "Layout",
1441
+ "description": "Layout of the mosaic component",
1442
+ "type": "string",
1443
+ "enum": [
1444
+ "alternate",
1445
+ "textLeft",
1446
+ "textRight"
1447
+ ],
1448
+ "default": "alternate"
1449
+ },
1450
+ "largeHeadlines": {
1451
+ "type": "boolean",
1452
+ "title": "Large Headlines",
1453
+ "description": "Make the headlines larger",
1454
+ "default": false
1455
+ },
1456
+ "tile": {
1457
+ "type": "array",
1458
+ "title": "Tiles",
1459
+ "description": "The tiles to display",
1460
+ "items": {
1461
+ "$schema": "http://json-schema.org/draft-07/schema#",
1462
+ "$id": "http://schema.mydesignsystem.com/tile.schema.json",
1463
+ "title": "Tile",
1464
+ "type": "object",
1465
+ "properties": {
1466
+ "headline": {
1467
+ "title": "Headline",
1468
+ "description": "Headline for the tile",
1469
+ "type": "string",
1470
+ "format": "markdown"
1471
+ },
1472
+ "sub": {
1473
+ "title": "Module Subheadline",
1474
+ "description": "Subheadline below the tile headline",
1475
+ "type": "string",
1476
+ "format": "markdown"
1477
+ },
1478
+ "text": {
1479
+ "title": "Module Text",
1480
+ "description": "Text for tile",
1481
+ "type": "string",
1482
+ "format": "markdown"
1483
+ },
1484
+ "image": {
1485
+ "type": "object",
1486
+ "properties": {
1487
+ "src": {
1488
+ "title": "Source",
1489
+ "description": "Picture source",
1490
+ "type": "string",
1491
+ "format": "image",
1492
+ "examples": [
1493
+ "img/close-up-young-business-team-working.png"
1494
+ ]
1495
+ },
1496
+ "alt": {
1497
+ "title": "Alt text",
1498
+ "description": "Alt text to display for picture",
1499
+ "type": "string"
1500
+ }
1501
+ },
1502
+ "additionalProperties": false
1503
+ },
1504
+ "button": {
1505
+ "type": "object",
1506
+ "properties": {
1507
+ "toggle": {
1508
+ "title": "Button Toggle",
1509
+ "description": "Toggle wether the Button is displayed or not",
1510
+ "type": "boolean",
1511
+ "default": true
1512
+ },
1513
+ "label": {
1514
+ "type": "string",
1515
+ "title": "Label",
1516
+ "description": "Text content to display inside the button",
1517
+ "examples": [
1518
+ "Book a meeting"
1519
+ ]
1520
+ },
1521
+ "target": {
1522
+ "type": "string",
1523
+ "title": "Target",
1524
+ "description": "Target that should be linked, makes the button behave like a link semantically",
1525
+ "format": "uri"
1526
+ },
1527
+ "icon": {
1528
+ "type": "string",
1529
+ "title": "Icon",
1530
+ "description": "Choose an icon"
1531
+ }
1532
+ },
1533
+ "additionalProperties": false
1534
+ },
1535
+ "backgroundColor": {
1536
+ "title": "Background color",
1537
+ "description": "Background color for the whole element",
1538
+ "type": "string",
1539
+ "format": "color"
1540
+ },
1541
+ "backgroundImage": {
1542
+ "title": "Background image",
1543
+ "description": "Background image for the whole element",
1544
+ "type": "string",
1545
+ "format": "image"
1546
+ },
1547
+ "textColor": {
1548
+ "title": "Text color",
1549
+ "description": "Overwrite the color to use for the text content",
1550
+ "type": "string",
1551
+ "format": "color"
1552
+ },
1553
+ "type": {
1554
+ "const": "tile"
1555
+ }
1556
+ },
1557
+ "additionalProperties": false,
1558
+ "required": [
1559
+ "headline",
1560
+ "image"
1561
+ ]
1562
+ },
1563
+ "minItems": 1,
1564
+ "maxItems": 20
1565
+ },
1566
+ "type": {
1567
+ "const": "mosaic"
1568
+ }
1569
+ },
1570
+ "additionalProperties": false
1571
+ },
1572
+ {
1573
+ "$schema": "http://json-schema.org/draft-07/schema#",
1574
+ "$id": "http://schema.mydesignsystem.com/slider.schema.json",
1575
+ "title": "Slider",
1576
+ "type": "object",
1577
+ "properties": {
1578
+ "autoplay": {
1579
+ "title": "Auto play",
1580
+ "description": "Automatically move to next slide after 4 seconds without user interaction",
1581
+ "type": "boolean",
1582
+ "default": false
1583
+ },
1584
+ "nav": {
1585
+ "title": "Show Navigation",
1586
+ "description": "Add bullet navigation",
1587
+ "type": "boolean",
1588
+ "examples": [
1589
+ true
1590
+ ]
1591
+ },
1592
+ "teaseNeighbours": {
1593
+ "title": "Tease Neighbour Slides",
1594
+ "type": "boolean",
1595
+ "default": false
1596
+ },
1597
+ "equalHeight": {
1598
+ "title": "Equalize slides heights",
1599
+ "type": "boolean",
1600
+ "default": true
1601
+ },
1602
+ "gap": {
1603
+ "title": "Gap",
1604
+ "description": "Size of the gap added between slides in pixels",
1605
+ "type": "number",
1606
+ "default": 0
1607
+ },
1608
+ "arrows": {
1609
+ "title": "Show Arrows",
1610
+ "description": "Add arrows on the left and right to navigate to next or previous slide",
1611
+ "type": "boolean",
1612
+ "examples": [
1613
+ true
1614
+ ]
1615
+ },
1616
+ "type": {
1617
+ "const": "slider"
1618
+ },
1619
+ "className": {
1620
+ "title": "Class",
1621
+ "description": "Additional css classes attached to the wrapping element",
1622
+ "type": "string"
1623
+ },
1624
+ "components": {
1625
+ "type": "array",
1626
+ "title": "Content",
1627
+ "description": "Allowed components for content",
1628
+ "items": {
1629
+ "anyOf": [
1630
+ {
1631
+ "$schema": "http://json-schema.org/draft-07/schema#",
1632
+ "$id": "http://schema.mydesignsystem.com/cta.schema.json",
1633
+ "title": "Cta",
1634
+ "type": "object",
1635
+ "properties": {
1636
+ "headline": {
1637
+ "title": "Component Headline",
1638
+ "description": "Headline for the Component element",
1639
+ "type": "string",
1640
+ "format": "markdown",
1641
+ "examples": [
1642
+ "Headline"
1643
+ ]
1644
+ },
1645
+ "sub": {
1646
+ "title": "Component Subheadline",
1647
+ "description": "Subheadline below the component headline",
1648
+ "type": "string",
1649
+ "format": "markdown",
1650
+ "examples": [
1651
+ "Subheadline"
1652
+ ]
1653
+ },
1654
+ "text": {
1655
+ "title": "Component Text",
1656
+ "description": "Info text for the component element",
1657
+ "type": "string",
1658
+ "format": "markdown"
1659
+ },
1660
+ "highlightText": {
1661
+ "type": "boolean",
1662
+ "title": "Highlight Text",
1663
+ "description": "Visually highlight the text",
1664
+ "default": false
1665
+ },
1666
+ "colorNeutral": {
1667
+ "title": "Color Neutral",
1668
+ "description": "Make the text and buttons color neutral",
1669
+ "default": false,
1670
+ "type": "boolean"
1671
+ },
1672
+ "fullWidth": {
1673
+ "title": "Width",
1674
+ "description": "Set the width of the content to the full width of the element",
1675
+ "type": "boolean",
1676
+ "default": false
1677
+ },
1678
+ "buttons": {
1679
+ "type": "array",
1680
+ "items": {
1681
+ "title": "Button",
1682
+ "type": "object",
1683
+ "properties": {
1684
+ "label": {
1685
+ "type": "string",
1686
+ "title": "Label",
1687
+ "description": "Text content to display inside the button",
1688
+ "examples": [
1689
+ "Book a meeting"
1690
+ ]
1691
+ },
1692
+ "icon": {
1693
+ "type": "string",
1694
+ "title": "Icon",
1695
+ "description": "Choose an icon"
1696
+ },
1697
+ "target": {
1698
+ "type": "string",
1699
+ "title": "Target",
1700
+ "description": "Target that should be linked, makes the button behave like a link semantically",
1701
+ "format": "uri"
1702
+ }
1703
+ },
1704
+ "additionalProperties": false
1705
+ }
1706
+ },
1707
+ "backgroundColor": {
1708
+ "title": "Background color",
1709
+ "description": "Background color for the whole element",
1710
+ "type": "string",
1711
+ "format": "color"
1712
+ },
1713
+ "backgroundImage": {
1714
+ "title": "Background image",
1715
+ "description": "Background image for the whole element",
1716
+ "type": "string",
1717
+ "format": "image"
1718
+ },
1719
+ "image": {
1720
+ "title": "Image",
1721
+ "description": "Image displayed alongside the text content",
1722
+ "type": "object",
1723
+ "properties": {
1724
+ "src": {
1725
+ "title": "Image source",
1726
+ "description": "Image source to use",
1727
+ "type": "string",
1728
+ "format": "image"
1729
+ },
1730
+ "padding": {
1731
+ "title": "Padding",
1732
+ "description": "Toggle padding of the image",
1733
+ "type": "boolean",
1734
+ "default": true
1735
+ },
1736
+ "alt": {
1737
+ "title": "Alt text",
1738
+ "description": "Image description",
1739
+ "type": "string"
1740
+ }
1741
+ },
1742
+ "additionalProperties": false
1743
+ },
1744
+ "order": {
1745
+ "title": "Order",
1746
+ "description": "Choose what comes first on mobile and desktop: image or text",
1747
+ "type": "object",
1748
+ "properties": {
1749
+ "mobileImageLast": {
1750
+ "title": "Mobile image after text",
1751
+ "description": "Switch to displaying the image after the text on mobile",
1752
+ "type": "boolean",
1753
+ "default": false
1754
+ },
1755
+ "desktopImageLast": {
1756
+ "title": "Desktop image after text",
1757
+ "description": "Switch to displaying the image after the text on desktop",
1758
+ "type": "boolean",
1759
+ "default": true
1760
+ }
1761
+ },
1762
+ "additionalProperties": false
1763
+ },
1764
+ "textAlign": {
1765
+ "title": "Text Alignment",
1766
+ "description": "Choose the alginment of the text",
1767
+ "enum": [
1768
+ "left",
1769
+ "center"
1770
+ ],
1771
+ "type": "string",
1772
+ "default": "left"
1773
+ },
1774
+ "contentAlign": {
1775
+ "title": "Vertical alignment of the content",
1776
+ "description": "Select a vertical alignment for the image",
1777
+ "type": "string",
1778
+ "enum": [
1779
+ "center",
1780
+ "top",
1781
+ "bottom"
1782
+ ],
1783
+ "default": "center"
1784
+ },
1785
+ "type": {
1786
+ "const": "cta"
1787
+ }
1788
+ },
1789
+ "additionalProperties": false
1790
+ },
1791
+ {
1792
+ "$schema": "http://json-schema.org/draft-07/schema#",
1793
+ "$id": "http://schema.mydesignsystem.com/features.schema.json",
1794
+ "title": "Features",
1795
+ "description": "Component used to display a set of features",
1796
+ "type": "object",
1797
+ "properties": {
1798
+ "layout": {
1799
+ "type": "string",
1800
+ "title": "Layout",
1801
+ "description": "The layout variant to use for the features",
1802
+ "enum": [
1803
+ "largeTiles",
1804
+ "smallTiles",
1805
+ "list"
1806
+ ],
1807
+ "default": "largeTiles"
1808
+ },
1809
+ "style": {
1810
+ "type": "string",
1811
+ "enum": [
1812
+ "intext",
1813
+ "stack",
1814
+ "centered",
1815
+ "besideLarge",
1816
+ "besideSmall"
1817
+ ],
1818
+ "default": "stack"
1819
+ },
1820
+ "ctas": {
1821
+ "type": "object",
1822
+ "properties": {
1823
+ "toggle": {
1824
+ "type": "boolean",
1825
+ "default": true,
1826
+ "title": "CTA Toggle",
1827
+ "description": "Activate/disable the CTAs"
1828
+ },
1829
+ "style": {
1830
+ "type": "string",
1831
+ "enum": [
1832
+ "button",
1833
+ "link",
1834
+ "intext"
1835
+ ],
1836
+ "default": "link"
1837
+ }
1838
+ },
1839
+ "additionalProperties": false
1840
+ },
1841
+ "feature": {
1842
+ "type": "array",
1843
+ "title": "Features",
1844
+ "description": "The features to display",
1845
+ "items": {
1846
+ "$schema": "http://json-schema.org/draft-07/schema#",
1847
+ "$id": "http://schema.mydesignsystem.com/feature.schema.json",
1848
+ "title": "Feature",
1849
+ "description": "Partial Component used to display a feature",
1850
+ "type": "object",
1851
+ "properties": {
1852
+ "icon": {
1853
+ "type": "string",
1854
+ "title": "Icon",
1855
+ "description": "The icon for the feature",
1856
+ "examples": [
1857
+ "person"
1858
+ ]
1859
+ },
1860
+ "title": {
1861
+ "type": "string",
1862
+ "title": "Title",
1863
+ "description": "The title of the feature",
1864
+ "examples": [
1865
+ "Feature 1"
1866
+ ]
1867
+ },
1868
+ "text": {
1869
+ "type": "string",
1870
+ "title": "Text",
1871
+ "description": "The description of the feature",
1872
+ "format": "markdown",
1873
+ "examples": [
1874
+ "This is a feature"
1875
+ ]
1876
+ },
1877
+ "style": {
1878
+ "type": "string",
1879
+ "enum": [
1880
+ "intext",
1881
+ "stack",
1882
+ "centered",
1883
+ "besideLarge",
1884
+ "besideSmall"
1885
+ ],
1886
+ "default": "stack"
1887
+ },
1888
+ "cta": {
1889
+ "type": "object",
1890
+ "title": "Call to Action",
1891
+ "description": "The call to action",
1892
+ "properties": {
1893
+ "target": {
1894
+ "type": "string",
1895
+ "title": "Call to Action target",
1896
+ "description": "The CTA target",
1897
+ "default": "#",
1898
+ "format": "uri"
1899
+ },
1900
+ "label": {
1901
+ "type": "string",
1902
+ "title": "Link Label",
1903
+ "description": "The text label displayed on the link",
1904
+ "default": "See more",
1905
+ "examples": [
1906
+ "See all our partners"
1907
+ ]
1908
+ },
1909
+ "toggle": {
1910
+ "type": "boolean",
1911
+ "title": "Call to Action Toggle",
1912
+ "description": "Activate/disable the CTAs",
1913
+ "default": true
1914
+ },
1915
+ "style": {
1916
+ "type": "string",
1917
+ "description": "Choose the style of the CTA",
1918
+ "enum": [
1919
+ "button",
1920
+ "link",
1921
+ "intext"
1922
+ ],
1923
+ "default": "link"
1924
+ }
1925
+ },
1926
+ "additionalProperties": false
1927
+ },
1928
+ "type": {
1929
+ "const": "feature"
1930
+ }
1931
+ },
1932
+ "additionalProperties": false,
1933
+ "required": [
1934
+ "title"
1935
+ ]
1936
+ },
1937
+ "minItems": 1,
1938
+ "maxItems": 8
1939
+ },
1940
+ "type": {
1941
+ "const": "features"
1942
+ }
1943
+ },
1944
+ "additionalProperties": false
1945
+ },
1946
+ {
1947
+ "$schema": "http://json-schema.org/draft-07/schema#",
1948
+ "$id": "http://schema.mydesignsystem.com/gallery.schema.json",
1949
+ "title": "Gallery",
1950
+ "description": "Component used to display a gallery of images",
1951
+ "type": "object",
1952
+ "properties": {
1953
+ "images": {
1954
+ "type": "array",
1955
+ "title": "Images",
1956
+ "description": "The images to display in the gallery",
1957
+ "items": {
1958
+ "type": "object",
1959
+ "properties": {
1960
+ "src": {
1961
+ "type": "string",
1962
+ "title": "src",
1963
+ "format": "image",
1964
+ "description": "The source of the image",
1965
+ "examples": [
1966
+ "https://example.com/image1.jpg"
1967
+ ]
1968
+ },
1969
+ "alt": {
1970
+ "type": "string",
1971
+ "title": "Alt text",
1972
+ "description": "Alt text of the image",
1973
+ "examples": [
1974
+ "https://example.com/image1.jpg"
1975
+ ]
1976
+ },
1977
+ "caption": {
1978
+ "type": "string",
1979
+ "format": "markdown",
1980
+ "title": "Caption",
1981
+ "description": "The caption of the image",
1982
+ "examples": [
1983
+ "Caption Image"
1984
+ ]
1985
+ }
1986
+ },
1987
+ "additionalProperties": false,
1988
+ "required": [
1989
+ "src"
1990
+ ]
1991
+ },
1992
+ "minItems": 1,
1993
+ "maxItems": 10
1994
+ },
1995
+ "layout": {
1996
+ "type": "string",
1997
+ "title": "Layout",
1998
+ "description": "The layout of the gallery images",
1999
+ "enum": [
2000
+ "stack",
2001
+ "smallTiles",
2002
+ "largeTiles"
2003
+ ]
2004
+ },
2005
+ "aspectRatio": {
2006
+ "type": "string",
2007
+ "title": "Aspect Ratio",
2008
+ "description": "The aspect ratio of the gallery images",
2009
+ "enum": [
2010
+ "unset",
2011
+ "square",
2012
+ "wide",
2013
+ "landscape"
2014
+ ],
2015
+ "default": "unset"
2016
+ },
2017
+ "lightbox": {
2018
+ "type": "boolean",
2019
+ "title": "Lightbox",
2020
+ "description": "Display images in a lightbox gallery",
2021
+ "default": false
2022
+ },
2023
+ "type": {
2024
+ "const": "gallery"
2025
+ }
2026
+ },
2027
+ "additionalProperties": false,
2028
+ "required": [
2029
+ "images"
2030
+ ]
2031
+ },
2032
+ {
2033
+ "$schema": "http://json-schema.org/draft-07/schema#",
2034
+ "$id": "http://schema.mydesignsystem.com/hero.schema.json",
2035
+ "title": "Hero",
2036
+ "type": "object",
2037
+ "properties": {
2038
+ "headline": {
2039
+ "title": "Headline",
2040
+ "description": "Headline for the visual",
2041
+ "type": "string",
2042
+ "format": "markdown"
2043
+ },
2044
+ "sub": {
2045
+ "title": "Module Subheadline",
2046
+ "description": "Subheadline below the module headline",
2047
+ "type": "string",
2048
+ "format": "markdown"
2049
+ },
2050
+ "text": {
2051
+ "title": "Module Text",
2052
+ "description": "Info text for the module element",
2053
+ "type": "string",
2054
+ "format": "markdown"
2055
+ },
2056
+ "highlightText": {
2057
+ "type": "boolean",
2058
+ "title": "Highlight Text",
2059
+ "description": "Visually highlight the text",
2060
+ "default": false
2061
+ },
2062
+ "colorNeutral": {
2063
+ "title": "Color Neutral",
2064
+ "description": "Make the text and buttons color neutral",
2065
+ "default": false,
2066
+ "type": "boolean"
2067
+ },
2068
+ "height": {
2069
+ "title": "Height",
2070
+ "type": "string",
2071
+ "enum": [
2072
+ "small",
2073
+ "default",
2074
+ "fullImage",
2075
+ "fullScreen"
2076
+ ],
2077
+ "default": "default"
2078
+ },
2079
+ "textbox": {
2080
+ "type": "boolean",
2081
+ "title": "Textbox",
2082
+ "default": true,
2083
+ "description": "Toggle wether you want your text to be displayed within in box"
2084
+ },
2085
+ "buttons": {
2086
+ "type": "array",
2087
+ "items": {
2088
+ "title": "Button",
2089
+ "type": "object",
2090
+ "properties": {
2091
+ "label": {
2092
+ "type": "string",
2093
+ "title": "Label",
2094
+ "description": "Text content to display inside the button",
2095
+ "examples": [
2096
+ "Book a meeting"
2097
+ ]
2098
+ },
2099
+ "icon": {
2100
+ "type": "string",
2101
+ "title": "Icon",
2102
+ "description": "Choose an icon"
2103
+ },
2104
+ "target": {
2105
+ "type": "string",
2106
+ "title": "Target",
2107
+ "description": "Target that should be linked, makes the button behave like a link semantically",
2108
+ "format": "uri"
2109
+ }
2110
+ },
2111
+ "additionalProperties": false
2112
+ }
2113
+ },
2114
+ "overlay": {
2115
+ "title": "Grid layer",
2116
+ "description": "Enable grid layer",
2117
+ "type": "boolean",
2118
+ "default": false
2119
+ },
2120
+ "image": {
2121
+ "title": "Background image",
2122
+ "description": "Sources of background images for different screen sizes",
2123
+ "type": "object",
2124
+ "required": [
2125
+ "srcMobile"
2126
+ ],
2127
+ "properties": {
2128
+ "srcMobile": {
2129
+ "title": "Mobile image source",
2130
+ "description": "Background image source for small screens",
2131
+ "type": "string",
2132
+ "format": "image",
2133
+ "examples": [
2134
+ "https://picsum.photos/seed/kdsvisual/640/270"
2135
+ ]
2136
+ },
2137
+ "srcTablet": {
2138
+ "title": "Tablet image source",
2139
+ "description": "Background image source for medium screens",
2140
+ "type": "string",
2141
+ "format": "image",
2142
+ "examples": [
2143
+ "https://picsum.photos/seed/kdsvisual/1280/540"
2144
+ ]
2145
+ },
2146
+ "srcDesktop": {
2147
+ "title": "Desktop image source",
2148
+ "description": "Background image source for large screens",
2149
+ "type": "string",
2150
+ "format": "image",
2151
+ "examples": [
2152
+ "https://picsum.photos/seed/kdsvisual/1920/810"
2153
+ ]
2154
+ },
2155
+ "src": {
2156
+ "title": "Optional source",
2157
+ "description": "Override for img tag of picture element, if needed",
2158
+ "type": "string",
2159
+ "format": "image",
2160
+ "examples": [
2161
+ "https://picsum.photos/seed/kdsvisual/640/270"
2162
+ ]
2163
+ },
2164
+ "indent": {
2165
+ "title": "Image indent",
2166
+ "description": "Choose to indent the image horizontally on small screens",
2167
+ "type": "string",
2168
+ "enum": [
2169
+ "none",
2170
+ "left",
2171
+ "right"
2172
+ ],
2173
+ "default": "none"
2174
+ },
2175
+ "alt": {
2176
+ "title": "Alt text",
2177
+ "description": "Alt text to display for picture",
2178
+ "type": "string"
2179
+ }
2180
+ },
2181
+ "additionalProperties": false
2182
+ },
2183
+ "textPosition": {
2184
+ "title": "Module aligment",
2185
+ "description": "Choose the alginment of the module content",
2186
+ "enum": [
2187
+ "center",
2188
+ "below",
2189
+ "left",
2190
+ "right"
2191
+ ],
2192
+ "type": "string",
2193
+ "default": "bottom"
2194
+ },
2195
+ "type": {
2196
+ "const": "hero"
2197
+ }
2198
+ },
2199
+ "additionalProperties": false
2200
+ },
2201
+ {
2202
+ "$schema": "http://json-schema.org/draft-07/schema#",
2203
+ "$id": "http://schema.mydesignsystem.com/image-text.schema.json",
2204
+ "title": "Image Text",
2205
+ "description": "Component used to display an image beside or above/below a text block",
2206
+ "type": "object",
2207
+ "properties": {
2208
+ "text": {
2209
+ "type": "string",
2210
+ "format": "markdown",
2211
+ "title": "Text",
2212
+ "description": "Text content to display beside the image",
2213
+ "examples": [
2214
+ "This is a sample text"
2215
+ ]
2216
+ },
2217
+ "highlightText": {
2218
+ "type": "boolean",
2219
+ "title": "Highlight Text",
2220
+ "description": "Visually highlight the text",
2221
+ "default": false
2222
+ },
2223
+ "image": {
2224
+ "type": "object",
2225
+ "properties": {
2226
+ "src": {
2227
+ "type": "string",
2228
+ "format": "image",
2229
+ "title": "Image Source",
2230
+ "description": "URL of the image to display",
2231
+ "examples": [
2232
+ "http://example.com/image.jpg"
2233
+ ]
2234
+ },
2235
+ "alt": {
2236
+ "type": "string",
2237
+ "title": "Alt Text",
2238
+ "description": "Alt text of the image",
2239
+ "examples": [
2240
+ "http://example.com/image.jpg"
2241
+ ]
2242
+ }
2243
+ },
2244
+ "additionalProperties": false
2245
+ },
2246
+ "layout": {
2247
+ "type": "string",
2248
+ "enum": [
2249
+ "above",
2250
+ "below",
2251
+ "beside-right",
2252
+ "beside-left"
2253
+ ],
2254
+ "title": "Layout",
2255
+ "description": "Position of the image relative to the text",
2256
+ "examples": [
2257
+ "above"
2258
+ ]
2259
+ },
2260
+ "type": {
2261
+ "const": "image-text"
2262
+ }
2263
+ },
2264
+ "required": [
2265
+ "text",
2266
+ "image",
2267
+ "layout"
2268
+ ],
2269
+ "additionalProperties": false
2270
+ },
2271
+ {
2272
+ "$schema": "http://json-schema.org/draft-07/schema#",
2273
+ "$id": "http://schema.mydesignsystem.com/logos.schema.json",
2274
+ "title": "Logos",
2275
+ "description": "Component used to display a set of logos",
2276
+ "type": "object",
2277
+ "properties": {
2278
+ "tagline": {
2279
+ "type": "string",
2280
+ "title": "Logo Tagline",
2281
+ "description": "A short tagline atop the logos",
2282
+ "examples": [
2283
+ "Your Success, Our Commitment"
2284
+ ]
2285
+ },
2286
+ "logo": {
2287
+ "type": "array",
2288
+ "title": "Logos",
2289
+ "description": "The logos to display",
2290
+ "items": {
2291
+ "title": "Logo",
2292
+ "description": "Logo entry for Logos component",
2293
+ "type": "object",
2294
+ "properties": {
2295
+ "src": {
2296
+ "type": "string",
2297
+ "format": "image",
2298
+ "title": "URL",
2299
+ "description": "The URL of the logo image",
2300
+ "examples": [
2301
+ "img/logos/logoipsum-212.svg",
2302
+ "img/logos/logoipsum-217.svg",
2303
+ "img/logos/logoipsum-239.svg",
2304
+ "img/logos/logoipsum-244.svg",
2305
+ "img/logos/logoipsum-250.svg",
2306
+ "img/logos/logoipsum-286.svg"
2307
+ ]
2308
+ },
2309
+ "alt": {
2310
+ "type": "string",
2311
+ "title": "Caption",
2312
+ "description": "The alt text of the logo",
2313
+ "examples": [
2314
+ "Logo 1"
2315
+ ]
2316
+ }
2317
+ },
2318
+ "additionalProperties": false,
2319
+ "required": [
2320
+ "src"
2321
+ ]
2322
+ },
2323
+ "minItems": 1,
2324
+ "maxItems": 20
2325
+ },
2326
+ "align": {
2327
+ "type": "string",
2328
+ "title": "Alignment",
2329
+ "description": "The alignment of the logo layout",
2330
+ "enum": [
2331
+ "left",
2332
+ "center"
2333
+ ],
2334
+ "default": "center"
2335
+ },
2336
+ "logosPerRow": {
2337
+ "type": "integer",
2338
+ "title": "Logos Per Row",
2339
+ "description": "The amount of logos to display per row",
2340
+ "minimum": 2,
2341
+ "maximum": 8,
2342
+ "examples": [
2343
+ 5
2344
+ ]
2345
+ },
2346
+ "cta": {
2347
+ "type": "object",
2348
+ "title": "Call to Action",
2349
+ "description": "The call to action",
2350
+ "properties": {
2351
+ "toggle": {
2352
+ "type": "boolean",
2353
+ "default": false,
2354
+ "title": "CTA Toggle",
2355
+ "description": "Activate/disable the CTA"
2356
+ },
2357
+ "text": {
2358
+ "type": "string",
2359
+ "title": "Call to Action Text",
2360
+ "description": "A short CTA text",
2361
+ "examples": [
2362
+ "Explore the success stories of our valued customers and discover more about their journey."
2363
+ ]
2364
+ },
2365
+ "link": {
2366
+ "type": "string",
2367
+ "title": "Call to Action Link",
2368
+ "description": "The CTA link",
2369
+ "default": "#",
2370
+ "format": "uri"
2371
+ },
2372
+ "label": {
2373
+ "type": "string",
2374
+ "title": "Link Label",
2375
+ "description": "The text label displayed on the link",
2376
+ "examples": [
2377
+ "See all our partners"
2378
+ ]
2379
+ },
2380
+ "style": {
2381
+ "type": "string",
2382
+ "enum": [
2383
+ "button",
2384
+ "text"
2385
+ ],
2386
+ "default": "text"
2387
+ }
2388
+ },
2389
+ "additionalProperties": false,
2390
+ "required": [
2391
+ "style",
2392
+ "link",
2393
+ "label"
2394
+ ]
2395
+ },
2396
+ "type": {
2397
+ "const": "logos"
2398
+ }
2399
+ },
2400
+ "additionalProperties": false,
2401
+ "required": [
2402
+ "logos"
2403
+ ]
2404
+ },
2405
+ {
2406
+ "$schema": "http://json-schema.org/draft-07/schema#",
2407
+ "$id": "http://schema.mydesignsystem.com/stats.schema.json",
2408
+ "title": "Stats",
2409
+ "description": "Component used to display stats with a number upcounter",
2410
+ "type": "object",
2411
+ "properties": {
2412
+ "stat": {
2413
+ "title": "Stats",
2414
+ "type": "array",
2415
+ "description": "The stats to display with a number upcounter",
2416
+ "items": {
2417
+ "$schema": "http://json-schema.org/draft-07/schema#",
2418
+ "$id": "http://schema.mydesignsystem.com/stat.schema.json",
2419
+ "title": "Stat",
2420
+ "description": "Stat entry of Stats component",
2421
+ "type": "object",
2422
+ "properties": {
2423
+ "number": {
2424
+ "title": "Number",
2425
+ "description": "The number of the stat",
2426
+ "type": "integer",
2427
+ "examples": [
2428
+ 1,
2429
+ 2,
2430
+ 3,
2431
+ 4
2432
+ ]
2433
+ },
2434
+ "description": {
2435
+ "title": "Description",
2436
+ "description": "Optional description of the stat",
2437
+ "type": "string",
2438
+ "format": "markdown"
2439
+ },
2440
+ "title": {
2441
+ "title": "Title",
2442
+ "description": "Title of the stat",
2443
+ "type": "string",
2444
+ "format": "markdown",
2445
+ "examples": [
2446
+ "Stat 1",
2447
+ "Stat 2",
2448
+ "Stat 3",
2449
+ "Stat 4"
2450
+ ]
2451
+ },
2452
+ "icon": {
2453
+ "title": "Icon",
2454
+ "description": "Optional icon of the stat",
2455
+ "type": "string",
2456
+ "examples": [
2457
+ "person",
2458
+ "home",
2459
+ "map"
2460
+ ]
2461
+ },
2462
+ "type": {
2463
+ "const": "stat"
2464
+ }
2465
+ },
2466
+ "additionalProperties": false,
2467
+ "required": [
2468
+ "number",
2469
+ "label"
2470
+ ],
2471
+ "examples": [
2472
+ {
2473
+ "number": 1,
2474
+ "label": "Stat 1"
2475
+ },
2476
+ {
2477
+ "number": 2,
2478
+ "label": "Stat 2"
2479
+ },
2480
+ {
2481
+ "number": 3,
2482
+ "label": "Stat 3"
2483
+ },
2484
+ {
2485
+ "value": 4,
2486
+ "label": "Stat 4"
2487
+ }
2488
+ ]
2489
+ },
2490
+ "minItems": 1,
2491
+ "maxItems": 4
2492
+ },
2493
+ "type": {
2494
+ "const": "stats"
2495
+ }
2496
+ },
2497
+ "additionalProperties": false,
2498
+ "required": [
2499
+ "stats"
2500
+ ]
2501
+ },
2502
+ {
2503
+ "$schema": "http://json-schema.org/draft-07/schema#",
2504
+ "$id": "http://schema.mydesignsystem.com/teaser-card.schema.json",
2505
+ "title": "Teaser Card",
2506
+ "description": "Component used to tease content",
2507
+ "type": "object",
2508
+ "properties": {
2509
+ "headline": {
2510
+ "type": "string",
2511
+ "title": "Headline",
2512
+ "description": "Headline for the teaser card",
2513
+ "format": "markdown"
2514
+ },
2515
+ "text": {
2516
+ "type": "string",
2517
+ "title": "Text",
2518
+ "description": "Body text for the teaser card",
2519
+ "format": "markdown"
2520
+ },
2521
+ "label": {
2522
+ "type": "string",
2523
+ "title": "Label",
2524
+ "description": "Label for the Teaser Card"
2525
+ },
2526
+ "layout": {
2527
+ "type": "string",
2528
+ "enum": [
2529
+ "stack",
2530
+ "row"
2531
+ ],
2532
+ "description": "Layout for the Teaser Card",
2533
+ "default": "stack"
2534
+ },
2535
+ "target": {
2536
+ "type": "string",
2537
+ "title": "Target",
2538
+ "description": "Target that should be linked",
2539
+ "format": "uri"
2540
+ },
2541
+ "button": {
2542
+ "type": "object",
2543
+ "properties": {
2544
+ "label": {
2545
+ "title": "Label",
2546
+ "type": "string",
2547
+ "description": "Label of the button. Still A11Y relevant when the button is hidden."
2548
+ },
2549
+ "chevron": {
2550
+ "title": "Icon",
2551
+ "description": "Toggle arrow icon",
2552
+ "type": "boolean",
2553
+ "default": false
2554
+ },
2555
+ "hidden": {
2556
+ "type": "boolean",
2557
+ "title": "Display Button",
2558
+ "description": "Toggle wether you want the card to have a visible button or not",
2559
+ "default": false
2560
+ }
2561
+ },
2562
+ "required": [
2563
+ "label"
2564
+ ],
2565
+ "additionalProperties": false
2566
+ },
2567
+ "image": {
2568
+ "type": "string",
2569
+ "title": "Image",
2570
+ "description": "Image to display as cover",
2571
+ "format": "image"
2572
+ },
2573
+ "imageRatio": {
2574
+ "type": "string",
2575
+ "enum": [
2576
+ "wide",
2577
+ "landscape",
2578
+ "square",
2579
+ "unset"
2580
+ ],
2581
+ "description": "Aspect ratio of the image",
2582
+ "default": "wide"
2583
+ },
2584
+ "type": {
2585
+ "const": "teaser-card"
2586
+ }
2587
+ },
2588
+ "additionalProperties": false,
2589
+ "required": [
2590
+ "topic",
2591
+ "target"
2592
+ ]
2593
+ },
2594
+ {
2595
+ "$schema": "http://json-schema.org/draft-07/schema#",
2596
+ "$id": "http://schema.mydesignsystem.com/testimonials.schema.json",
2597
+ "title": "Testimonials",
2598
+ "description": "Display testimonials with an optional image and rating",
2599
+ "type": "object",
2600
+ "properties": {
2601
+ "layout": {
2602
+ "title": "Layout",
2603
+ "description": "The testimonial layout",
2604
+ "type": "string",
2605
+ "enum": [
2606
+ "slider",
2607
+ "list",
2608
+ "alternating"
2609
+ ],
2610
+ "default": "slider"
2611
+ },
2612
+ "testimonial": {
2613
+ "type": "array",
2614
+ "title": "Testimonials",
2615
+ "description": "Add testimonials featuring an image, a quote, a source and a rating",
2616
+ "items": {
2617
+ "$schema": "http://json-schema.org/draft-07/schema#",
2618
+ "$id": "http://schema.mydesignsystem.com/testimonial.schema.json",
2619
+ "title": "Testimonial",
2620
+ "description": "Testimonial entry of Testimonials component",
2621
+ "type": "object",
2622
+ "properties": {
2623
+ "quote": {
2624
+ "title": "Quote",
2625
+ "description": "The testimonial quote",
2626
+ "type": "string",
2627
+ "format": "markdown",
2628
+ "examples": [
2629
+ "This product is amazing!"
2630
+ ]
2631
+ },
2632
+ "name": {
2633
+ "title": "Name",
2634
+ "description": "The name of the quote author",
2635
+ "type": "string",
2636
+ "examples": [
2637
+ "John Doe"
2638
+ ]
2639
+ },
2640
+ "title": {
2641
+ "title": "Title",
2642
+ "description": "The title of the quote author",
2643
+ "type": "string"
2644
+ },
2645
+ "image": {
2646
+ "type": "object",
2647
+ "properties": {
2648
+ "src": {
2649
+ "title": "Source",
2650
+ "description": "The image to display with the testimonial",
2651
+ "type": "string",
2652
+ "format": "image",
2653
+ "examples": [
2654
+ "https://example.com/image.jpg"
2655
+ ]
2656
+ },
2657
+ "alt": {
2658
+ "title": "Alt Text",
2659
+ "description": "The alt text of the image file",
2660
+ "type": "string"
2661
+ }
2662
+ },
2663
+ "additionalProperties": false
2664
+ },
2665
+ "rating": {
2666
+ "title": "Rating",
2667
+ "description": "The rating of the testimonial, from 1 to 5",
2668
+ "type": "integer",
2669
+ "minimum": 1,
2670
+ "maximum": 5
2671
+ },
2672
+ "type": {
2673
+ "const": "testimonial"
2674
+ }
2675
+ },
2676
+ "additionalProperties": false,
2677
+ "required": [
2678
+ "quote",
2679
+ "name",
2680
+ "image"
2681
+ ]
2682
+ }
2683
+ },
2684
+ "type": {
2685
+ "const": "testimonials"
2686
+ }
2687
+ },
2688
+ "additionalProperties": false
2689
+ },
2690
+ {
2691
+ "$schema": "http://json-schema.org/draft-07/schema#",
2692
+ "$id": "http://schema.mydesignsystem.com/text.schema.json",
2693
+ "title": "Text",
2694
+ "description": "Component used for displaying text in chapters",
2695
+ "type": "object",
2696
+ "properties": {
2697
+ "text": {
2698
+ "type": "string",
2699
+ "format": "markdown",
2700
+ "title": "Text",
2701
+ "description": "Text",
2702
+ "examples": [
2703
+ "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
2704
+ ]
2705
+ },
2706
+ "layout": {
2707
+ "type": "string",
2708
+ "title": "Layout",
2709
+ "description": "Variant of layout to be used",
2710
+ "enum": [
2711
+ "singleColumn",
2712
+ "multiColumn"
2713
+ ],
2714
+ "default": "singleColumn"
2715
+ },
2716
+ "align": {
2717
+ "type": "string",
2718
+ "title": "Alignment",
2719
+ "description": "Alignment of text",
2720
+ "enum": [
2721
+ "left",
2722
+ "center"
2723
+ ],
2724
+ "default": "left"
2725
+ },
2726
+ "highlightText": {
2727
+ "type": "boolean",
2728
+ "title": "Highlight Text",
2729
+ "description": "Visually highlight the text",
2730
+ "default": false
2731
+ },
2732
+ "type": {
2733
+ "const": "text"
2734
+ }
2735
+ },
2736
+ "additionalProperties": false,
2737
+ "required": [
2738
+ "text"
2739
+ ]
2740
+ }
2741
+ ]
2742
+ }
2743
+ },
2744
+ "typeProp": {
2745
+ "title": "Type",
2746
+ "description": "Type of the movement",
2747
+ "type": "string",
2748
+ "enum": [
2749
+ "slider",
2750
+ "carousel"
2751
+ ],
2752
+ "default": "carousel"
2753
+ }
2754
+ },
2755
+ "additionalProperties": false
2756
+ },
2757
+ {
2758
+ "$schema": "http://json-schema.org/draft-07/schema#",
2759
+ "$id": "http://schema.mydesignsystem.com/stats.schema.json",
2760
+ "title": "Stats",
2761
+ "description": "Component used to display stats with a number upcounter",
2762
+ "type": "object",
2763
+ "properties": {
2764
+ "stat": {
2765
+ "title": "Stats",
2766
+ "type": "array",
2767
+ "description": "The stats to display with a number upcounter",
2768
+ "items": {
2769
+ "$schema": "http://json-schema.org/draft-07/schema#",
2770
+ "$id": "http://schema.mydesignsystem.com/stat.schema.json",
2771
+ "title": "Stat",
2772
+ "description": "Stat entry of Stats component",
2773
+ "type": "object",
2774
+ "properties": {
2775
+ "number": {
2776
+ "title": "Number",
2777
+ "description": "The number of the stat",
2778
+ "type": "integer",
2779
+ "examples": [
2780
+ 1,
2781
+ 2,
2782
+ 3,
2783
+ 4
2784
+ ]
2785
+ },
2786
+ "description": {
2787
+ "title": "Description",
2788
+ "description": "Optional description of the stat",
2789
+ "type": "string",
2790
+ "format": "markdown"
2791
+ },
2792
+ "title": {
2793
+ "title": "Title",
2794
+ "description": "Title of the stat",
2795
+ "type": "string",
2796
+ "format": "markdown",
2797
+ "examples": [
2798
+ "Stat 1",
2799
+ "Stat 2",
2800
+ "Stat 3",
2801
+ "Stat 4"
2802
+ ]
2803
+ },
2804
+ "icon": {
2805
+ "title": "Icon",
2806
+ "description": "Optional icon of the stat",
2807
+ "type": "string",
2808
+ "examples": [
2809
+ "person",
2810
+ "home",
2811
+ "map"
2812
+ ]
2813
+ },
2814
+ "type": {
2815
+ "const": "stat"
2816
+ }
2817
+ },
2818
+ "additionalProperties": false,
2819
+ "required": [
2820
+ "number",
2821
+ "label"
2822
+ ],
2823
+ "examples": [
2824
+ {
2825
+ "number": 1,
2826
+ "label": "Stat 1"
2827
+ },
2828
+ {
2829
+ "number": 2,
2830
+ "label": "Stat 2"
2831
+ },
2832
+ {
2833
+ "number": 3,
2834
+ "label": "Stat 3"
2835
+ },
2836
+ {
2837
+ "value": 4,
2838
+ "label": "Stat 4"
2839
+ }
2840
+ ]
2841
+ },
2842
+ "minItems": 1,
2843
+ "maxItems": 4
2844
+ },
2845
+ "type": {
2846
+ "const": "stats"
2847
+ }
2848
+ },
2849
+ "additionalProperties": false,
2850
+ "required": [
2851
+ "stats"
2852
+ ]
2853
+ },
2854
+ {
2855
+ "$schema": "http://json-schema.org/draft-07/schema#",
2856
+ "$id": "http://schema.mydesignsystem.com/teaser-card.schema.json",
2857
+ "title": "Teaser Card",
2858
+ "description": "Component used to tease content",
2859
+ "type": "object",
2860
+ "properties": {
2861
+ "headline": {
2862
+ "type": "string",
2863
+ "title": "Headline",
2864
+ "description": "Headline for the teaser card",
2865
+ "format": "markdown"
2866
+ },
2867
+ "text": {
2868
+ "type": "string",
2869
+ "title": "Text",
2870
+ "description": "Body text for the teaser card",
2871
+ "format": "markdown"
2872
+ },
2873
+ "label": {
2874
+ "type": "string",
2875
+ "title": "Label",
2876
+ "description": "Label for the Teaser Card"
2877
+ },
2878
+ "layout": {
2879
+ "type": "string",
2880
+ "enum": [
2881
+ "stack",
2882
+ "row"
2883
+ ],
2884
+ "description": "Layout for the Teaser Card",
2885
+ "default": "stack"
2886
+ },
2887
+ "target": {
2888
+ "type": "string",
2889
+ "title": "Target",
2890
+ "description": "Target that should be linked",
2891
+ "format": "uri"
2892
+ },
2893
+ "button": {
2894
+ "type": "object",
2895
+ "properties": {
2896
+ "label": {
2897
+ "title": "Label",
2898
+ "type": "string",
2899
+ "description": "Label of the button. Still A11Y relevant when the button is hidden."
2900
+ },
2901
+ "chevron": {
2902
+ "title": "Icon",
2903
+ "description": "Toggle arrow icon",
2904
+ "type": "boolean",
2905
+ "default": false
2906
+ },
2907
+ "hidden": {
2908
+ "type": "boolean",
2909
+ "title": "Display Button",
2910
+ "description": "Toggle wether you want the card to have a visible button or not",
2911
+ "default": false
2912
+ }
2913
+ },
2914
+ "required": [
2915
+ "label"
2916
+ ],
2917
+ "additionalProperties": false
2918
+ },
2919
+ "image": {
2920
+ "type": "string",
2921
+ "title": "Image",
2922
+ "description": "Image to display as cover",
2923
+ "format": "image"
2924
+ },
2925
+ "imageRatio": {
2926
+ "type": "string",
2927
+ "enum": [
2928
+ "wide",
2929
+ "landscape",
2930
+ "square",
2931
+ "unset"
2932
+ ],
2933
+ "description": "Aspect ratio of the image",
2934
+ "default": "wide"
2935
+ },
2936
+ "type": {
2937
+ "const": "teaser-card"
2938
+ }
2939
+ },
2940
+ "additionalProperties": false,
2941
+ "required": [
2942
+ "topic",
2943
+ "target"
2944
+ ]
2945
+ },
2946
+ {
2947
+ "$schema": "http://json-schema.org/draft-07/schema#",
2948
+ "$id": "http://schema.mydesignsystem.com/testimonials.schema.json",
2949
+ "title": "Testimonials",
2950
+ "description": "Display testimonials with an optional image and rating",
2951
+ "type": "object",
2952
+ "properties": {
2953
+ "layout": {
2954
+ "title": "Layout",
2955
+ "description": "The testimonial layout",
2956
+ "type": "string",
2957
+ "enum": [
2958
+ "slider",
2959
+ "list",
2960
+ "alternating"
2961
+ ],
2962
+ "default": "slider"
2963
+ },
2964
+ "testimonial": {
2965
+ "type": "array",
2966
+ "title": "Testimonials",
2967
+ "description": "Add testimonials featuring an image, a quote, a source and a rating",
2968
+ "items": {
2969
+ "$schema": "http://json-schema.org/draft-07/schema#",
2970
+ "$id": "http://schema.mydesignsystem.com/testimonial.schema.json",
2971
+ "title": "Testimonial",
2972
+ "description": "Testimonial entry of Testimonials component",
2973
+ "type": "object",
2974
+ "properties": {
2975
+ "quote": {
2976
+ "title": "Quote",
2977
+ "description": "The testimonial quote",
2978
+ "type": "string",
2979
+ "format": "markdown",
2980
+ "examples": [
2981
+ "This product is amazing!"
2982
+ ]
2983
+ },
2984
+ "name": {
2985
+ "title": "Name",
2986
+ "description": "The name of the quote author",
2987
+ "type": "string",
2988
+ "examples": [
2989
+ "John Doe"
2990
+ ]
2991
+ },
2992
+ "title": {
2993
+ "title": "Title",
2994
+ "description": "The title of the quote author",
2995
+ "type": "string"
2996
+ },
2997
+ "image": {
2998
+ "type": "object",
2999
+ "properties": {
3000
+ "src": {
3001
+ "title": "Source",
3002
+ "description": "The image to display with the testimonial",
3003
+ "type": "string",
3004
+ "format": "image",
3005
+ "examples": [
3006
+ "https://example.com/image.jpg"
3007
+ ]
3008
+ },
3009
+ "alt": {
3010
+ "title": "Alt Text",
3011
+ "description": "The alt text of the image file",
3012
+ "type": "string"
3013
+ }
3014
+ },
3015
+ "additionalProperties": false
3016
+ },
3017
+ "rating": {
3018
+ "title": "Rating",
3019
+ "description": "The rating of the testimonial, from 1 to 5",
3020
+ "type": "integer",
3021
+ "minimum": 1,
3022
+ "maximum": 5
3023
+ },
3024
+ "type": {
3025
+ "const": "testimonial"
3026
+ }
3027
+ },
3028
+ "additionalProperties": false,
3029
+ "required": [
3030
+ "quote",
3031
+ "name",
3032
+ "image"
3033
+ ]
3034
+ }
3035
+ },
3036
+ "type": {
3037
+ "const": "testimonials"
3038
+ }
3039
+ },
3040
+ "additionalProperties": false
3041
+ },
3042
+ {
3043
+ "$schema": "http://json-schema.org/draft-07/schema#",
3044
+ "$id": "http://schema.mydesignsystem.com/text.schema.json",
3045
+ "title": "Text",
3046
+ "description": "Component used for displaying text in chapters",
3047
+ "type": "object",
3048
+ "properties": {
3049
+ "text": {
3050
+ "type": "string",
3051
+ "format": "markdown",
3052
+ "title": "Text",
3053
+ "description": "Text",
3054
+ "examples": [
3055
+ "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
3056
+ ]
3057
+ },
3058
+ "layout": {
3059
+ "type": "string",
3060
+ "title": "Layout",
3061
+ "description": "Variant of layout to be used",
3062
+ "enum": [
3063
+ "singleColumn",
3064
+ "multiColumn"
3065
+ ],
3066
+ "default": "singleColumn"
3067
+ },
3068
+ "align": {
3069
+ "type": "string",
3070
+ "title": "Alignment",
3071
+ "description": "Alignment of text",
3072
+ "enum": [
3073
+ "left",
3074
+ "center"
3075
+ ],
3076
+ "default": "left"
3077
+ },
3078
+ "highlightText": {
3079
+ "type": "boolean",
3080
+ "title": "Highlight Text",
3081
+ "description": "Visually highlight the text",
3082
+ "default": false
3083
+ },
3084
+ "type": {
3085
+ "const": "text"
3086
+ }
3087
+ },
3088
+ "additionalProperties": false,
3089
+ "required": [
3090
+ "text"
3091
+ ]
3092
+ },
3093
+ {
3094
+ "$schema": "http://json-schema.org/draft-07/schema#",
3095
+ "$id": "http://schema.mydesignsystem.com/video-curtain.schema.json",
3096
+ "title": "Video Curtain",
3097
+ "type": "object",
3098
+ "properties": {
3099
+ "headline": {
3100
+ "title": "Headline",
3101
+ "description": "Headline for the visual",
3102
+ "type": "string",
3103
+ "format": "markdown"
3104
+ },
3105
+ "sub": {
3106
+ "title": "Module Subheadline",
3107
+ "description": "Subheadline below the module headline",
3108
+ "type": "string",
3109
+ "format": "markdown"
3110
+ },
3111
+ "text": {
3112
+ "title": "Module Text",
3113
+ "description": "Info text for the module element",
3114
+ "type": "string",
3115
+ "format": "markdown"
3116
+ },
3117
+ "highlightText": {
3118
+ "type": "boolean",
3119
+ "title": "Highlight Text",
3120
+ "description": "Visually highlight the text",
3121
+ "default": false
3122
+ },
3123
+ "colorNeutral": {
3124
+ "title": "Color Neutral",
3125
+ "description": "Make the text and buttons color neutral",
3126
+ "default": false,
3127
+ "type": "boolean"
3128
+ },
3129
+ "buttons": {
3130
+ "type": "array",
3131
+ "items": {
3132
+ "title": "Button",
3133
+ "type": "object",
3134
+ "properties": {
3135
+ "label": {
3136
+ "type": "string",
3137
+ "title": "Label",
3138
+ "description": "Text content to display inside the button",
3139
+ "examples": [
3140
+ "Book a meeting"
3141
+ ]
3142
+ },
3143
+ "icon": {
3144
+ "type": "string",
3145
+ "title": "Icon",
3146
+ "description": "Choose an icon"
3147
+ },
3148
+ "target": {
3149
+ "type": "string",
3150
+ "title": "Target",
3151
+ "description": "Target that should be linked, makes the button behave like a link semantically",
3152
+ "format": "uri"
3153
+ }
3154
+ },
3155
+ "additionalProperties": false
3156
+ }
3157
+ },
3158
+ "overlay": {
3159
+ "title": "Grid layer",
3160
+ "description": "Enable grid layer",
3161
+ "type": "boolean",
3162
+ "default": false
3163
+ },
3164
+ "video": {
3165
+ "title": "Background video",
3166
+ "description": "Sources of background videos for different screen sizes",
3167
+ "type": "object",
3168
+ "required": [
3169
+ "srcMobile"
3170
+ ],
3171
+ "properties": {
3172
+ "srcMobile": {
3173
+ "title": "Mobile video source",
3174
+ "description": "Background video source for small screens",
3175
+ "type": "string",
3176
+ "format": "video",
3177
+ "examples": [
3178
+ "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_2mb.mp4"
3179
+ ]
3180
+ },
3181
+ "srcTablet": {
3182
+ "title": "Tablet video source",
3183
+ "description": "Background video source for medium screens",
3184
+ "type": "string",
3185
+ "format": "video",
3186
+ "examples": [
3187
+ "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_2mb.mp4"
3188
+ ]
3189
+ },
3190
+ "srcDesktop": {
3191
+ "title": "Desktop video source",
3192
+ "description": "Background video source for large screens",
3193
+ "type": "string",
3194
+ "format": "video",
3195
+ "examples": [
3196
+ "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_2mb.mp4"
3197
+ ]
3198
+ }
3199
+ },
3200
+ "additionalProperties": false
3201
+ },
3202
+ "textPosition": {
3203
+ "title": "Module aligment",
3204
+ "description": "Choose the alginment of the module content",
3205
+ "enum": [
3206
+ "center",
3207
+ "left",
3208
+ "right"
3209
+ ],
3210
+ "type": "string",
3211
+ "default": "bottom"
3212
+ },
3213
+ "type": {
3214
+ "const": "video-curtain"
3215
+ }
3216
+ },
3217
+ "additionalProperties": false
3218
+ }
3219
+ ]
3220
+ }
3221
+ },
3222
+ "buttons": {
3223
+ "title": "Buttons",
3224
+ "description": "Buttons of the Button Group",
3225
+ "type": "array",
3226
+ "items": {
3227
+ "$schema": "http://json-schema.org/draft-07/schema#",
3228
+ "$id": "http://schema.mydesignsystem.com/button.schema.json",
3229
+ "title": "Button",
3230
+ "description": "Component used for user interaction",
3231
+ "type": "object",
3232
+ "properties": {
3233
+ "label": {
3234
+ "type": "string",
3235
+ "title": "Label",
3236
+ "description": "Text content to display inside the button",
3237
+ "examples": [
3238
+ "Book a meeting"
3239
+ ]
3240
+ },
3241
+ "target": {
3242
+ "type": "string",
3243
+ "title": "Target",
3244
+ "description": "Target that should be linked, makes the button behave like a link semantically",
3245
+ "format": "uri"
3246
+ },
3247
+ "variant": {
3248
+ "type": "string",
3249
+ "title": "Variant",
3250
+ "description": "Variant of button to be used",
3251
+ "enum": [
3252
+ "primary",
3253
+ "secondary",
3254
+ "tertiary"
3255
+ ],
3256
+ "default": "secondary"
3257
+ },
3258
+ "icon": {
3259
+ "type": "string",
3260
+ "title": "Icon",
3261
+ "description": "Choose an icon"
3262
+ },
3263
+ "size": {
3264
+ "type": "string",
3265
+ "title": "Size",
3266
+ "description": "Size of button to use",
3267
+ "enum": [
3268
+ "small",
3269
+ "medium",
3270
+ "large"
3271
+ ],
3272
+ "default": "medium"
3273
+ },
3274
+ "disabled": {
3275
+ "type": "boolean",
3276
+ "title": "Disabled?",
3277
+ "description": "Whether the button should be disabled",
3278
+ "default": false
3279
+ },
3280
+ "type": {
3281
+ "const": "button"
3282
+ }
3283
+ },
3284
+ "additionalProperties": false,
3285
+ "required": [
3286
+ "label"
3287
+ ]
3288
+ }
3289
+ },
3290
+ "type": {
3291
+ "const": "section"
3292
+ }
3293
+ },
3294
+ "additionalProperties": false,
3295
+ "required": []
3296
+ }
3297
+ },
204
3298
  "cta": {
205
3299
  "$schema": "http://json-schema.org/draft-07/schema#",
206
3300
  "$id": "http://schema.mydesignsystem.com/cta.schema.json",