@kickstartds/ds-agency-premium 1.6.71--canary.49.2214.0 → 1.6.71--canary.50.2224.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 (99) hide show
  1. package/dist/BlogOverviewProps-9f207f1c.d.ts +1 -1
  2. package/dist/{BlogPostProps-c760fd2a.d.ts → BlogPostProps-6b3cff22.d.ts} +1 -1
  3. package/dist/HeadlineProps-e1305784.d.ts +53 -0
  4. package/dist/PageProps-aa29c554.d.ts +1 -1
  5. package/dist/SearchBarProps-26263244.d.ts +29 -0
  6. package/dist/{SectionProps-2a23ef89.d.ts → SectionProps-d60aba86.d.ts} +1 -1
  7. package/dist/components/blog-overview/blog-overview.schema.dereffed.json +1 -1
  8. package/dist/components/blog-post/blog-post.schema.dereffed.json +1 -1
  9. package/dist/components/blog-post/index.d.ts +1 -1
  10. package/dist/components/button/button.css +1 -1
  11. package/dist/components/cookie-consent/C15t.client.js +32 -3
  12. package/dist/components/cookie-consent/CookieConsent.client.d.ts +0 -1
  13. package/dist/components/cookie-consent/CookieConsent.client.js +8 -13
  14. package/dist/components/cookie-consent/cookie-consent.css +3 -15
  15. package/dist/components/cookie-consent/index.js +1 -1
  16. package/dist/components/features/features.css +1 -2
  17. package/dist/components/footer/footer.css +2 -2
  18. package/dist/components/footer/footer.schema.dereffed.json +25 -18
  19. package/dist/components/header/header.css +0 -1
  20. package/dist/components/header/header.schema.dereffed.json +25 -18
  21. package/dist/components/headline/headline.css +7 -7
  22. package/dist/components/headline/index.d.ts +1 -53
  23. package/dist/components/hero/hero.css +4 -4
  24. package/dist/components/index/index.d.ts +1 -1
  25. package/dist/components/mosaic/index.js +0 -1
  26. package/dist/components/nav-dropdown/nav-dropdown.css +5 -5
  27. package/dist/components/nav-flyout/nav-flyout.schema.dereffed.json +25 -18
  28. package/dist/components/nav-main/nav-main.schema.dereffed.json +25 -18
  29. package/dist/components/nav-main/nav-main.schema.json +25 -18
  30. package/dist/components/nav-topbar/index.js +3 -3
  31. package/dist/components/nav-topbar/nav-topbar.css +3 -19
  32. package/dist/components/nav-topbar/nav-topbar.schema.dereffed.json +25 -18
  33. package/dist/components/page/page.schema.dereffed.json +1 -1
  34. package/dist/components/page-wrapper/index.js +0 -51
  35. package/dist/components/page-wrapper/tokens.css +350 -350
  36. package/dist/components/presets.json +56 -37
  37. package/dist/components/search/Search.client.d.ts +6 -0
  38. package/dist/components/search/Search.client.js +71 -0
  39. package/dist/components/search/index.d.ts +10 -0
  40. package/dist/components/search/index.js +29 -20
  41. package/dist/components/search/search.schema.dereffed.json +133 -0
  42. package/dist/components/search/search.schema.json +6 -0
  43. package/dist/components/search-bar/index.d.ts +1 -29
  44. package/dist/components/search-bar/index.js +1 -1
  45. package/dist/components/section/index.d.ts +1 -1
  46. package/dist/components/section/section.css +12 -8
  47. package/dist/components/section/section.schema.dereffed.json +1 -1
  48. package/dist/components/section/section.schema.json +1 -1
  49. package/dist/components/settings/settings.schema.dereffed.json +50 -36
  50. package/dist/components/slider/slider.css +2 -2
  51. package/dist/components/teaser-card/index.js +1 -1
  52. package/dist/components/teaser-card/teaser-card.css +9 -10
  53. package/dist/global.css +68 -5
  54. package/dist/static/logo-dark.svg +12 -8
  55. package/dist/static/logo.svg +12 -8
  56. package/dist/tokens/IconSprite.js +0 -51
  57. package/dist/tokens/icon-sprite.html +0 -20
  58. package/dist/tokens/themes.css +4 -4
  59. package/dist/tokens/tokens.css +350 -350
  60. package/dist/tokens/tokens.js +557 -562
  61. package/package.json +4 -2
  62. package/dist/static/fonts/dsa/HelveticaNeueMedium.woff2 +0 -0
  63. package/dist/static/logo.png +0 -0
  64. package/dist/static/optoma/2989.jpg +0 -0
  65. package/dist/static/optoma/3081.jpg +0 -0
  66. package/dist/static/optoma/3124.jpg +0 -0
  67. package/dist/static/optoma/3276.jpg +0 -0
  68. package/dist/static/optoma/3333.jpg +0 -0
  69. package/dist/static/optoma/3342.jpg +0 -0
  70. package/dist/static/optoma/bannerimgpro.jpg +0 -0
  71. package/dist/static/optoma/beamer.jpg +0 -0
  72. package/dist/static/optoma/beamer.png +0 -0
  73. package/dist/static/optoma/beamer.svg +0 -10
  74. package/dist/static/optoma/creative-board-girl.jpg +0 -0
  75. package/dist/static/optoma/downloads/cad.png +0 -0
  76. package/dist/static/optoma/downloads/datenblatt.png +0 -0
  77. package/dist/static/optoma/downloads/gebrauchsanleitung.png +0 -0
  78. package/dist/static/optoma/hero.jpg +0 -0
  79. package/dist/static/optoma/interaktive-displays.svg +0 -9
  80. package/dist/static/optoma/landing-banner.jpg +0 -0
  81. package/dist/static/optoma/led.svg +0 -21
  82. package/dist/static/optoma/location-1.jpg +0 -0
  83. package/dist/static/optoma/location-2.jpg +0 -0
  84. package/dist/static/optoma/logo.svg +0 -9
  85. package/dist/static/optoma/l/303/266sungen.svg +0 -13
  86. package/dist/static/optoma/product-1.jpg +0 -0
  87. package/dist/static/optoma/product-1.png +0 -0
  88. package/dist/static/optoma/product-2.jpg +0 -0
  89. package/dist/static/optoma/product-2.png +0 -0
  90. package/dist/static/optoma/product-3.jpg +0 -0
  91. package/dist/static/optoma/product-3.png +0 -0
  92. package/dist/static/optoma/product-4.jpg +0 -0
  93. package/dist/static/optoma/product-4.png +0 -0
  94. package/dist/static/optoma/product-5.jpg +0 -0
  95. package/dist/static/optoma/product-6.jpg +0 -0
  96. package/dist/static/optoma/professionelle-displays.svg +0 -4
  97. package/dist/static/optoma/square-1.jpg +0 -0
  98. package/dist/static/optoma/square-2.jpg +0 -0
  99. package/dist/static/optoma/zubeh/303/266r.svg +0 -5
@@ -1192,7 +1192,7 @@
1192
1192
  "id": "page-archetypes-search--search",
1193
1193
  "group": "Page Archetypes/Search",
1194
1194
  "name": "Search",
1195
- "code": "<Search\n events={[\n {\n category: 'Buyers',\n ctaText: 'Show event',\n date: 'FRI, JAN 16',\n image: {\n alt: 'This is an image of a flower',\n src: 'https://picsum.photos/seed/flower/800/600'\n },\n location: {\n address: 'Köln',\n name: 'Stadthalle'\n },\n tags: [\n 'AI'\n ],\n text: 'The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence. The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence.',\n time: '10:00',\n title: 'This is a event teaser title',\n url: 'https://example.com'\n },\n {\n category: 'Buyers',\n ctaText: 'Show event',\n date: 'FRI, JAN 16',\n image: {\n alt: 'This is an image of a flower',\n src: 'https://picsum.photos/seed/flower/800/600'\n },\n location: {\n address: 'Köln',\n name: 'Stadthalle'\n },\n tags: [\n 'AI'\n ],\n text: 'The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence. The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence.',\n time: '10:00',\n title: 'This is a event teaser title',\n url: 'https://example.com'\n },\n {\n category: 'Buyers',\n ctaText: 'Show event',\n date: 'FRI, JAN 16',\n image: {\n alt: 'This is an image of a flower',\n src: 'https://picsum.photos/seed/flower/800/600'\n },\n location: {\n address: 'Köln',\n name: 'Stadthalle'\n },\n tags: [\n 'AI'\n ],\n text: 'The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence. The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence.',\n time: '10:00',\n title: 'This is a event teaser title',\n url: 'https://example.com'\n }\n ]}\n filter={{\n applyButton: {\n label: 'Filter Appointments'\n },\n categories: {\n categoryCheckboxes: [\n 'Category Filter',\n 'Category Filter',\n 'Category Filter'\n ],\n title: 'Categories',\n toggle: true\n },\n datePicker: {\n dateFromInput: {\n label: 'From',\n placeholder: 'Select a date'\n },\n dateToInput: {\n label: 'To',\n placeholder: 'Select a date'\n },\n title: 'Find Appointment',\n toggle: true\n },\n resetButton: {\n label: 'Reset Filters'\n }\n }}\n searchFilter={{\n categories: [\n {\n amount: 10,\n title: 'Pages',\n url: '#'\n },\n {\n amount: 5,\n title: 'News',\n url: '#'\n },\n {\n amount: 2,\n title: 'Blog Posts',\n url: '#'\n }\n ],\n title: 'Search Filters'\n }}\n searchResults={[\n {\n ariaLabel: 'Search Result: AI Conference 2023',\n showLink: true,\n text: 'Join us for the annual **AI Conference** bringing together experts from around the world.\\n Register now to secure your spot and learn about the latest advancements in AI.',\n title: 'AI Conference 2023',\n url: 'https://www.example.com/ai-conference-2023'\n },\n {\n ariaLabel: 'Search Result: Web Development Summit 2023',\n showLink: true,\n text: 'Explore the future of web development at the **Web Development Summit**.\\n Discover new technologies and network with industry leaders.',\n title: 'Web Development Summit 2023',\n url: 'https://www.example.com/web-development-summit-2023'\n },\n {\n ariaLabel: 'Search Result: Data Science Bootcamp',\n showLink: true,\n text: 'Enhance your skills with our **Data Science Bootcamp**.\\n Learn from experts and work on real-world projects.',\n title: 'Data Science Bootcamp',\n url: 'https://www.example.com/data-science-bootcamp'\n },\n {\n ariaLabel: 'Search Result: AI Conference 2023',\n showLink: true,\n text: 'Join us for the annual **AI Conference** bringing together experts from around the world.\\n Register now to secure your spot and learn about the latest advancements in AI.',\n title: 'AI Conference 2023',\n url: 'https://www.example.com/ai-conference-2023'\n },\n {\n ariaLabel: 'Search Result: Web Development Summit 2023',\n showLink: true,\n text: 'Explore the future of web development at the **Web Development Summit**.\\n Discover new technologies and network with industry leaders.',\n title: 'Web Development Summit 2023',\n url: 'https://www.example.com/web-development-summit-2023'\n },\n {\n ariaLabel: 'Search Result: Data Science Bootcamp',\n showLink: true,\n text: 'Enhance your skills with our **Data Science Bootcamp**.\\n Learn from experts and work on real-world projects.',\n title: 'Data Science Bootcamp',\n url: 'https://www.example.com/data-science-bootcamp'\n }\n ]}\n/>",
1195
+ "code": "<Search\n events={[\n {\n category: 'Buyers',\n ctaText: 'Show event',\n date: 'FRI, JAN 16',\n image: {\n alt: 'This is an image of a flower',\n src: 'https://picsum.photos/seed/flower/800/600'\n },\n location: {\n address: 'Köln',\n name: 'Stadthalle'\n },\n tags: [\n 'AI'\n ],\n text: 'The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence. The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence.',\n time: '10:00',\n title: 'This is a event teaser title',\n url: 'https://example.com'\n },\n {\n category: 'Buyers',\n ctaText: 'Show event',\n date: 'FRI, JAN 16',\n image: {\n alt: 'This is an image of a flower',\n src: 'https://picsum.photos/seed/flower/800/600'\n },\n location: {\n address: 'Köln',\n name: 'Stadthalle'\n },\n tags: [\n 'AI'\n ],\n text: 'The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence. The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence.',\n time: '10:00',\n title: 'This is a event teaser title',\n url: 'https://example.com'\n },\n {\n category: 'Buyers',\n ctaText: 'Show event',\n date: 'FRI, JAN 16',\n image: {\n alt: 'This is an image of a flower',\n src: 'https://picsum.photos/seed/flower/800/600'\n },\n location: {\n address: 'Köln',\n name: 'Stadthalle'\n },\n tags: [\n 'AI'\n ],\n text: 'The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence. The Future of AI is here and now - Join us to explore the latest advancements in artificial intelligence.',\n time: '10:00',\n title: 'This is a event teaser title',\n url: 'https://example.com'\n }\n ]}\n filter={{\n applyButton: {\n label: 'Filter Appointments'\n },\n categories: {\n categoryCheckboxes: [\n 'Category Filter',\n 'Category Filter',\n 'Category Filter'\n ],\n title: 'Categories',\n toggle: true\n },\n datePicker: {\n dateFromInput: {\n label: 'From',\n placeholder: 'Select a date'\n },\n dateToInput: {\n label: 'To',\n placeholder: 'Select a date'\n },\n title: 'Find Appointment',\n toggle: true\n },\n resetButton: {\n label: 'Reset Filters'\n }\n }}\n headline={{\n level: 'h1',\n style: 'h1',\n text: 'Search'\n }}\n searchFilter={{\n categories: [\n {\n amount: 10,\n title: 'Pages',\n url: '#'\n },\n {\n amount: 5,\n title: 'News',\n url: '#'\n },\n {\n amount: 2,\n title: 'Blog Posts',\n url: '#'\n }\n ],\n title: 'Search Filters'\n }}\n searchResults={[\n {\n ariaLabel: 'Search Result: AI Conference 2023',\n showLink: true,\n text: 'Join us for the annual **AI Conference** bringing together experts from around the world.\\n Register now to secure your spot and learn about the latest advancements in AI.',\n title: 'AI Conference 2023',\n url: 'https://www.example.com/ai-conference-2023'\n },\n {\n ariaLabel: 'Search Result: Web Development Summit 2023',\n showLink: true,\n text: 'Explore the future of web development at the **Web Development Summit**.\\n Discover new technologies and network with industry leaders.',\n title: 'Web Development Summit 2023',\n url: 'https://www.example.com/web-development-summit-2023'\n },\n {\n ariaLabel: 'Search Result: Data Science Bootcamp',\n showLink: true,\n text: 'Enhance your skills with our **Data Science Bootcamp**.\\n Learn from experts and work on real-world projects.',\n title: 'Data Science Bootcamp',\n url: 'https://www.example.com/data-science-bootcamp'\n },\n {\n ariaLabel: 'Search Result: AI Conference 2023',\n showLink: true,\n text: 'Join us for the annual **AI Conference** bringing together experts from around the world.\\n Register now to secure your spot and learn about the latest advancements in AI.',\n title: 'AI Conference 2023',\n url: 'https://www.example.com/ai-conference-2023'\n },\n {\n ariaLabel: 'Search Result: Web Development Summit 2023',\n showLink: true,\n text: 'Explore the future of web development at the **Web Development Summit**.\\n Discover new technologies and network with industry leaders.',\n title: 'Web Development Summit 2023',\n url: 'https://www.example.com/web-development-summit-2023'\n },\n {\n ariaLabel: 'Search Result: Data Science Bootcamp',\n showLink: true,\n text: 'Enhance your skills with our **Data Science Bootcamp**.\\n Learn from experts and work on real-world projects.',\n title: 'Data Science Bootcamp',\n url: 'https://www.example.com/data-science-bootcamp'\n }\n ]}\n/>",
1196
1196
  "args": {
1197
1197
  "filter": {
1198
1198
  "datePicker": {
@@ -1285,6 +1285,11 @@
1285
1285
  "ctaText": "Show event"
1286
1286
  }
1287
1287
  ],
1288
+ "headline": {
1289
+ "text": "Search",
1290
+ "level": "h1",
1291
+ "style": "h1"
1292
+ },
1288
1293
  "searchFilter": {
1289
1294
  "title": "Search Filters",
1290
1295
  "categories": [
@@ -2904,7 +2909,7 @@
2904
2909
  "id": "layout-footer--footer",
2905
2910
  "group": "Layout/Footer",
2906
2911
  "name": "Footer",
2907
- "code": "<Footer\n byline=\"© 2024 systemics Inc. All rights reserved.\"\n logo={{\n alt: 'Systemics Logo',\n height: 40,\n homepageHref: '#',\n inverted: false,\n src: '/logo.svg',\n srcInverted: '/logo-inverted.svg',\n width: 176\n }}\n navItems={[\n {\n active: true,\n label: 'Beamer',\n url: '#'\n },\n {\n label: 'Interaktive Displays',\n url: '#'\n },\n {\n label: 'Professional Displays',\n url: '#'\n },\n {\n label: 'LED Displays',\n url: '#'\n },\n {\n label: 'Lösungen',\n url: '#'\n },\n {\n label: 'Zubehör',\n url: '#'\n },\n {\n label: 'Über Optoma',\n url: '#'\n },\n {\n label: 'Support',\n url: '#'\n }\n ]}\n/>",
2912
+ "code": "<Footer\n byline=\"© 2024 systemics Inc. All rights reserved.\"\n logo={{\n alt: 'Systemics Logo',\n height: 40,\n homepageHref: '#',\n inverted: false,\n src: '/logo.svg',\n srcInverted: '/logo-inverted.svg',\n width: 176\n }}\n navItems={[\n {\n active: true,\n label: 'Active Item',\n url: '#'\n },\n {\n label: 'Navigation Item',\n url: '#'\n },\n {\n items: [\n {\n label: 'Level 2 Item',\n url: '#'\n },\n {\n active: true,\n label: 'Active Item',\n url: '#'\n },\n {\n label: 'An Item with a longer Label',\n url: '#'\n },\n {\n label: 'And One last one',\n url: '#'\n }\n ],\n label: 'Dropdown',\n url: '#'\n },\n {\n label: 'One more Item',\n url: '#'\n },\n {\n label: 'Last Item',\n url: '#'\n }\n ]}\n/>",
2908
2913
  "args": {
2909
2914
  "logo": {
2910
2915
  "src": "/logo.svg",
@@ -2920,36 +2925,43 @@
2920
2925
  "navItems": [
2921
2926
  {
2922
2927
  "url": "#",
2923
- "label": "Beamer",
2928
+ "label": "Active Item",
2924
2929
  "active": true
2925
2930
  },
2926
2931
  {
2927
2932
  "url": "#",
2928
- "label": "Interaktive Displays"
2929
- },
2930
- {
2931
- "url": "#",
2932
- "label": "Professional Displays"
2933
- },
2934
- {
2935
- "url": "#",
2936
- "label": "LED Displays"
2937
- },
2938
- {
2939
- "url": "#",
2940
- "label": "Lösungen"
2933
+ "label": "Navigation Item"
2941
2934
  },
2942
2935
  {
2943
2936
  "url": "#",
2944
- "label": "Zubehör"
2937
+ "label": "Dropdown",
2938
+ "items": [
2939
+ {
2940
+ "url": "#",
2941
+ "label": "Level 2 Item"
2942
+ },
2943
+ {
2944
+ "url": "#",
2945
+ "label": "Active Item",
2946
+ "active": true
2947
+ },
2948
+ {
2949
+ "url": "#",
2950
+ "label": "An Item with a longer Label"
2951
+ },
2952
+ {
2953
+ "url": "#",
2954
+ "label": "And One last one"
2955
+ }
2956
+ ]
2945
2957
  },
2946
2958
  {
2947
2959
  "url": "#",
2948
- "label": "Über Optoma"
2960
+ "label": "One more Item"
2949
2961
  },
2950
2962
  {
2951
2963
  "url": "#",
2952
- "label": "Support"
2964
+ "label": "Last Item"
2953
2965
  }
2954
2966
  ]
2955
2967
  },
@@ -3130,7 +3142,7 @@
3130
3142
  "id": "layout-header--header",
3131
3143
  "group": "Layout/Header",
3132
3144
  "name": "Header",
3133
- "code": "<Header\n logo={{\n alt: 'Systemics Logo',\n height: 40,\n homepageHref: '#',\n src: '/logo.svg',\n srcInverted: '/logo-inverted.svg',\n width: 176\n }}\n navItems={[\n {\n active: true,\n label: 'Beamer',\n url: '#'\n },\n {\n label: 'Interaktive Displays',\n url: '#'\n },\n {\n label: 'Professional Displays',\n url: '#'\n },\n {\n label: 'LED Displays',\n url: '#'\n },\n {\n label: 'Lösungen',\n url: '#'\n },\n {\n label: 'Zubehör',\n url: '#'\n },\n {\n label: 'Über Optoma',\n url: '#'\n },\n {\n label: 'Support',\n url: '#'\n }\n ]}\n/>",
3145
+ "code": "<Header\n logo={{\n alt: 'Systemics Logo',\n height: 40,\n homepageHref: '#',\n src: '/logo.svg',\n srcInverted: '/logo-inverted.svg',\n width: 176\n }}\n navItems={[\n {\n active: true,\n label: 'Active Item',\n url: '#'\n },\n {\n label: 'Navigation Item',\n url: '#'\n },\n {\n items: [\n {\n label: 'Level 2 Item',\n url: '#'\n },\n {\n active: true,\n label: 'Active Item',\n url: '#'\n },\n {\n label: 'An Item with a longer Label',\n url: '#'\n },\n {\n label: 'And One last one',\n url: '#'\n }\n ],\n label: 'Dropdown',\n url: '#'\n },\n {\n label: 'One more Item',\n url: '#'\n },\n {\n label: 'Last Item',\n url: '#'\n }\n ]}\n/>",
3134
3146
  "args": {
3135
3147
  "logo": {
3136
3148
  "src": "/logo.svg",
@@ -3147,36 +3159,43 @@
3147
3159
  "navItems": [
3148
3160
  {
3149
3161
  "url": "#",
3150
- "label": "Beamer",
3162
+ "label": "Active Item",
3151
3163
  "active": true
3152
3164
  },
3153
3165
  {
3154
3166
  "url": "#",
3155
- "label": "Interaktive Displays"
3156
- },
3157
- {
3158
- "url": "#",
3159
- "label": "Professional Displays"
3160
- },
3161
- {
3162
- "url": "#",
3163
- "label": "LED Displays"
3164
- },
3165
- {
3166
- "url": "#",
3167
- "label": "Lösungen"
3167
+ "label": "Navigation Item"
3168
3168
  },
3169
3169
  {
3170
3170
  "url": "#",
3171
- "label": "Zubehör"
3171
+ "label": "Dropdown",
3172
+ "items": [
3173
+ {
3174
+ "url": "#",
3175
+ "label": "Level 2 Item"
3176
+ },
3177
+ {
3178
+ "url": "#",
3179
+ "label": "Active Item",
3180
+ "active": true
3181
+ },
3182
+ {
3183
+ "url": "#",
3184
+ "label": "An Item with a longer Label"
3185
+ },
3186
+ {
3187
+ "url": "#",
3188
+ "label": "And One last one"
3189
+ }
3190
+ ]
3172
3191
  },
3173
3192
  {
3174
3193
  "url": "#",
3175
- "label": "Über Optoma"
3194
+ "label": "One more Item"
3176
3195
  },
3177
3196
  {
3178
3197
  "url": "#",
3179
- "label": "Support"
3198
+ "label": "Last Item"
3180
3199
  }
3181
3200
  ]
3182
3201
  },
@@ -0,0 +1,6 @@
1
+ declare class Search {
2
+ static identifier: string;
3
+ constructor(element: any);
4
+ on(element: any, type: any, fn: any): () => any;
5
+ }
6
+ export { Search as default };
@@ -0,0 +1,71 @@
1
+ import { define, Component } from '@kickstartds/core/lib/component';
2
+
3
+ const staticPageFindPath = "/pagefind/pagefind.js";
4
+ const parser = new DOMParser();
5
+ class Search extends Component {
6
+ constructor(element) {
7
+ super(element);
8
+ const input = element.querySelector(".dsa-search-bar__input");
9
+ const template = element.querySelector(".dsa\\.search\\.result");
10
+ const target = element.querySelector(".dsa\\.search\\.results");
11
+ // TODO: Arrow Key Navigation
12
+ const clearResults = () => {
13
+ target.textContent = "";
14
+ };
15
+ const showResults = (results) => {
16
+ for (const result of results) {
17
+ const clone = template.cloneNode(true);
18
+ clone.removeAttribute("hidden");
19
+ clone.firstElementChild.setAttribute("href", result.url);
20
+ if (result.title) {
21
+ const title = clone.querySelector(".dsa-search-result__title");
22
+ title.textContent = result.title;
23
+ }
24
+ if (result.excerpt) {
25
+ const doc = parser.parseFromString(result.excerpt, "text/html");
26
+ const excerpt = clone.querySelector(".dsa-search-result__text span");
27
+ excerpt.replaceChildren(...doc.body.childNodes);
28
+ }
29
+ const link = clone.querySelector(".dsa-search-result__link");
30
+ link.textContent = result.url;
31
+ target.appendChild(clone);
32
+ }
33
+ };
34
+ (async () => {
35
+ const pagefind = await import(/* @vite-ignore */ staticPageFindPath);
36
+ await pagefind.init();
37
+ this.on(input, "input", async (event) => {
38
+ if (!pagefind)
39
+ return;
40
+ if (input.value.length) {
41
+ const search = await pagefind.debouncedSearch(input.value);
42
+ if (search) {
43
+ if (search.results.length) {
44
+ // TODO: Pagination / Load More
45
+ const results = await Promise.all(search.results.map((result) => result.data()));
46
+ clearResults();
47
+ showResults(results.map((result) => ({
48
+ title: result.meta.title,
49
+ url: result.url,
50
+ excerpt: result.excerpt,
51
+ })));
52
+ }
53
+ }
54
+ }
55
+ else {
56
+ clearResults();
57
+ }
58
+ });
59
+ })();
60
+ }
61
+ on(element, type, fn) {
62
+ const cleanUp = () => element.removeventListener(type, fn);
63
+ element.addEventListener(type, fn);
64
+ this.onDisconnect(cleanUp);
65
+ return cleanUp;
66
+ }
67
+ }
68
+ Search.identifier = "dsa.search";
69
+ define(Search.identifier, Search);
70
+
71
+ export { Search as default };
@@ -5,9 +5,19 @@ import { FC, PropsWithChildren } from "react";
5
5
  * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
6
6
  * and run json-schema-to-typescript to regenerate this file.
7
7
  */
8
+ import { HeadlineProps } from "../../HeadlineProps-e1305784.js";
9
+ import { SearchBarProps } from "../../SearchBarProps-26263244.js";
8
10
  import { SearchFilterProps } from "../../SearchFilterProps-2fa6419b.js";
9
11
  import { SearchResultProps } from "../../SearchResultProps-224c2338.js";
10
12
  interface SearchProps {
13
+ /**
14
+ * Referenced component HeadlineProps
15
+ */
16
+ headline?: HeadlineProps;
17
+ /**
18
+ * Referenced component SearchBarProps
19
+ */
20
+ searchBar?: SearchBarProps;
11
21
  /**
12
22
  * Referenced component SearchFilterProps
13
23
  */
@@ -1,10 +1,12 @@
1
- import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { Section } from '../section/index.js';
3
3
  import { SplitWeighted } from '../split-weighted/index.js';
4
4
  import { SearchFilter } from '../search-filter/index.js';
5
5
  import { SearchResult } from '../search-result/index.js';
6
6
  import { RichText } from '@kickstartds/base/lib/rich-text';
7
7
  import { Pagination } from '../pagination/index.js';
8
+ import { SearchBar } from '../search-bar/index.js';
9
+ import { Headline } from '../headline/index.js';
8
10
  import 'react';
9
11
  import 'classnames';
10
12
  import '@kickstartds/core/lib/react';
@@ -15,26 +17,33 @@ import '../../helpers-12f48df8.js';
15
17
  import 'markdown-to-jsx';
16
18
  import '@kickstartds/base/lib/link';
17
19
  import '@kickstartds/base/lib/icon';
20
+ import '@kickstartds/form/lib/text-field';
21
+ import '@kickstartds/base/lib/headline';
18
22
 
19
- const Search = ({ searchFilter, searchResults, }) => (jsx(Fragment, { children: jsx(Section, { width: "wide", children: jsx(SplitWeighted, { verticalAlign: "sticky", mainLayout: {
20
- minWidth: "narrow",
21
- }, asideLayout: {
22
- gutter: "small",
23
- }, order: {
24
- desktop: "asideFirst",
25
- mobile: "asideFirst",
26
- }, aside: jsxs(Fragment, { children: [jsx(SearchFilter, { ...searchFilter }), jsx(RichText, { text: `Showing 6 out of 18 results` })] }), main: jsxs(Fragment, { children: [searchResults.map((searchResult, index) => (jsx(SearchResult, { ...searchResult }, index))), jsx(Pagination, { pages: [
27
- {
28
- url: "https://example.com/page1",
29
- active: true,
30
- },
31
- {
32
- url: "https://example.com/page2",
33
- },
34
- {
35
- url: "https://example.com/page3",
36
- },
37
- ] })] }) }) }) }));
23
+ const Search = ({ headline, searchBar, searchFilter, searchResults, }) => (jsxs(Fragment, { children: [jsxs(Section, { content: {
24
+ mode: "list",
25
+ gutter: "none",
26
+ }, spaceAfter: "small", children: [jsx(Headline, { ...headline }), jsx(SearchBar, { ...searchBar })] }), jsx(Section, { width: "wide", spaceBefore: "small", content: {
27
+ mode: "list",
28
+ }, children: jsx(SplitWeighted, { verticalAlign: "sticky", mainLayout: {
29
+ minWidth: "narrow",
30
+ }, asideLayout: {
31
+ gutter: "small",
32
+ }, order: {
33
+ desktop: "asideFirst",
34
+ mobile: "asideFirst",
35
+ }, aside: jsxs(Fragment, { children: [jsx(SearchFilter, { ...searchFilter }), jsx(RichText, { text: `Showing 6 out of 18 results` })] }), main: jsxs(Fragment, { children: [searchResults.map((searchResult, index) => (jsx(SearchResult, { ...searchResult }, index))), jsx(Pagination, { pages: [
36
+ {
37
+ url: "https://example.com/page1",
38
+ active: true,
39
+ },
40
+ {
41
+ url: "https://example.com/page2",
42
+ },
43
+ {
44
+ url: "https://example.com/page3",
45
+ },
46
+ ] })] }) }) })] }));
38
47
  Search.displayName = "Search";
39
48
 
40
49
  export { Search };
@@ -4,6 +4,139 @@
4
4
  "title": "Search",
5
5
  "type": "object",
6
6
  "properties": {
7
+ "headline": {
8
+ "$schema": "http://json-schema.org/draft-07/schema#",
9
+ "$id": "http://schema.mydesignsystem.com/headline.schema.json",
10
+ "title": "Headline",
11
+ "description": "Component used for headlines",
12
+ "type": "object",
13
+ "properties": {
14
+ "text": {
15
+ "type": "string",
16
+ "title": "Text",
17
+ "description": "Text content of headline",
18
+ "format": "markdown"
19
+ },
20
+ "sub": {
21
+ "type": "string",
22
+ "title": "Sub",
23
+ "description": "Subheadline content",
24
+ "format": "markdown"
25
+ },
26
+ "switchOrder": {
27
+ "type": "boolean",
28
+ "title": "Switch order?",
29
+ "description": "Switch order of headline and subheadline",
30
+ "default": false
31
+ },
32
+ "align": {
33
+ "type": "string",
34
+ "title": "Section alignment",
35
+ "enum": [
36
+ "left",
37
+ "center",
38
+ "right"
39
+ ]
40
+ },
41
+ "level": {
42
+ "type": "string",
43
+ "title": "Level",
44
+ "description": "Level of headline to use",
45
+ "enum": [
46
+ "h1",
47
+ "h2",
48
+ "h3",
49
+ "h4",
50
+ "p"
51
+ ],
52
+ "default": "h2"
53
+ },
54
+ "style": {
55
+ "type": "string",
56
+ "title": "Style",
57
+ "description": "Style of headline to show",
58
+ "enum": [
59
+ "h1",
60
+ "h2",
61
+ "h3",
62
+ "h4",
63
+ "p"
64
+ ],
65
+ "default": "h2"
66
+ },
67
+ "spaceAfter": {
68
+ "type": "string",
69
+ "title": "Space after?",
70
+ "description": "Whether to display space after headline",
71
+ "enum": [
72
+ "minimum",
73
+ "small",
74
+ "large"
75
+ ],
76
+ "default": "small"
77
+ },
78
+ "className": {
79
+ "type": "string",
80
+ "title": "Class Name",
81
+ "description": "Set a custom class name"
82
+ },
83
+ "id": {
84
+ "type": "string",
85
+ "title": "ID",
86
+ "description": "Set a custom id attribute"
87
+ }
88
+ },
89
+ "additionalProperties": false,
90
+ "required": [
91
+ "level",
92
+ "text"
93
+ ]
94
+ },
95
+ "searchBar": {
96
+ "$schema": "http://json-schema.org/draft-07/schema#",
97
+ "$id": "http://schema.mydesignsystem.com/search-bar.schema.json",
98
+ "title": "Search Bar",
99
+ "type": "object",
100
+ "properties": {
101
+ "placeholder": {
102
+ "title": "Placeholder",
103
+ "type": "string",
104
+ "description": "Placeholder text for the search input field.",
105
+ "examples": [
106
+ "Search..."
107
+ ]
108
+ },
109
+ "buttonText": {
110
+ "type": "string",
111
+ "description": "Text displayed on the search button.",
112
+ "examples": [
113
+ "Search"
114
+ ]
115
+ },
116
+ "hint": {
117
+ "type": "string",
118
+ "description": "Additional information or instructions related to the search functionality.",
119
+ "examples": [
120
+ "Press <kbd>Enter</kbd> to search"
121
+ ]
122
+ },
123
+ "alternativeText": {
124
+ "type": "string",
125
+ "description": "Text to display when offering alternative results.",
126
+ "examples": [
127
+ "Did you mean"
128
+ ]
129
+ },
130
+ "alternativeResult": {
131
+ "type": "string",
132
+ "description": "The alternative result to display when offering suggestions.",
133
+ "examples": [
134
+ "AI Conference"
135
+ ]
136
+ }
137
+ },
138
+ "additionalProperties": false
139
+ },
7
140
  "searchFilter": {
8
141
  "$schema": "http://json-schema.org/draft-07/schema#",
9
142
  "$id": "http://schema.mydesignsystem.com/search-filter.schema.json",
@@ -4,6 +4,12 @@
4
4
  "title": "Search",
5
5
  "type": "object",
6
6
  "properties": {
7
+ "headline": {
8
+ "$ref": "http://schema.mydesignsystem.com/headline.schema.json"
9
+ },
10
+ "searchBar": {
11
+ "$ref": "http://schema.mydesignsystem.com/search-bar.schema.json"
12
+ },
7
13
  "searchFilter": {
8
14
  "$ref": "http://schema.mydesignsystem.com/search-filter.schema.json"
9
15
  },
@@ -1,33 +1,5 @@
1
1
  /// <reference types="react" />
2
- /* eslint-disable */
3
- /**
4
- * This file was automatically generated by json-schema-to-typescript.
5
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
6
- * and run json-schema-to-typescript to regenerate this file.
7
- */
8
- /**
9
- * Placeholder text for the search input field.
10
- */
11
- type Placeholder = string;
12
- interface SearchBarProps {
13
- placeholder?: Placeholder;
14
- /**
15
- * Text displayed on the search button.
16
- */
17
- buttonText?: string;
18
- /**
19
- * Additional information or instructions related to the search functionality.
20
- */
21
- hint?: string;
22
- /**
23
- * Text to display when offering alternative results.
24
- */
25
- alternativeText?: string;
26
- /**
27
- * The alternative result to display when offering suggestions.
28
- */
29
- alternativeResult?: string;
30
- }
2
+ import { SearchBarProps } from "../../SearchBarProps-26263244.js";
31
3
  declare const SearchBarContextDefault: import("react").ForwardRefExoticComponent<SearchBarProps & import("react").RefAttributes<HTMLDivElement>>;
32
4
  declare const SearchBarContext: import("react").Context<import("react").ForwardRefExoticComponent<SearchBarProps & import("react").RefAttributes<HTMLDivElement>>>;
33
5
  declare const SearchBar: import("react").ForwardRefExoticComponent<SearchBarProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -9,7 +9,7 @@ import { d as deepMergeDefaults } from '../../helpers-12f48df8.js';
9
9
 
10
10
  const defaults = {};
11
11
 
12
- const SearchBarContextDefault = forwardRef(({ placeholder, hint = "Press <kbd>Enter</kbd> to search", alternativeText = "Did you mean", alternativeResult = "AI Conference", }, ref) => (jsxs("div", { className: "dsa-search-bar", ref: ref, children: [jsxs("div", { className: "dsa-search-bar__input-container", children: [jsx(TextField, { hideLabel: true, type: "search", placeholder: placeholder || "Search...", className: "dsa-search-bar__input" }), jsx(Icon, { icon: "search" })] }), hint && jsx(Markdown, { className: "dsa-search-bar__hint", children: hint }), alternativeResult && (jsx("p", { className: "dsa-search-bar__alternative-text", children: jsxs(Fragment, { children: [alternativeText + " ", jsx(Link, { href: "#", children: alternativeResult })] }) }))] })));
12
+ const SearchBarContextDefault = forwardRef(({ placeholder, hint = "Press <kbd>Enter</kbd> to search", alternativeText = "Did you mean", alternativeResult = "AI Conference", }, ref) => (jsxs("div", { className: "dsa-search-bar", ref: ref, children: [jsxs("div", { className: "dsa-search-bar__input-container", children: [jsx(TextField, { hideLabel: true, type: "search", placeholder: placeholder || "Search...", className: "dsa-search-bar__input", autoComplete: "off" }), jsx(Icon, { icon: "search" })] }), hint && jsx(Markdown, { className: "dsa-search-bar__hint", children: hint }), alternativeResult && (jsx("p", { className: "dsa-search-bar__alternative-text", children: jsxs(Fragment, { children: [alternativeText + " ", jsx(Link, { href: "#", children: alternativeResult })] }) }))] })));
13
13
  const SearchBarContext = createContext(SearchBarContextDefault);
14
14
  const SearchBar = forwardRef((props, ref) => {
15
15
  const Component = useContext(SearchBarContext);
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { HTMLAttributes, FC, PropsWithChildren } from "react";
3
- import { SectionProps } from "../../SectionProps-2a23ef89.js";
3
+ import { SectionProps } from "../../SectionProps-d60aba86.js";
4
4
  declare const SectionContextDefault: import("react").ForwardRefExoticComponent<SectionProps & Omit<HTMLAttributes<HTMLElement>, "style" | "content"> & import("react").RefAttributes<HTMLDivElement>>;
5
5
  declare const SectionContext: import("react").Context<import("react").ForwardRefExoticComponent<SectionProps & Omit<HTMLAttributes<HTMLElement>, "style" | "content"> & import("react").RefAttributes<HTMLDivElement>>>;
6
6
  declare const Section: import("react").ForwardRefExoticComponent<SectionProps & Omit<HTMLAttributes<HTMLElement>, "style" | "content"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -26,13 +26,17 @@
26
26
  --dsa-section--background-color_default: var(--ks-background-color-default);
27
27
  --dsa-section--background-color_accent: var(--ks-background-color-accent);
28
28
  --dsa-section--background-color_bold: var(--ks-background-color-bold);
29
- --dsa-section--transition_to-default: linear-gradient(180deg, transparent, var(--ks-background-color-default));
30
- --dsa-section--transition_to-accent: linear-gradient(180deg, transparent, var(--ks-background-color-accent));
31
- --dsa-section--transition_to-bold: linear-gradient(180deg, transparent, var(--ks-background-color-bold));
29
+ --dsa-section--transition_to-default: linear-gradient(
30
+ 178deg,
31
+ transparent 75%,
32
+ var(--ks-background-color-default) 75%
33
+ );
34
+ --dsa-section--transition_to-accent: linear-gradient(178deg, transparent 75%, var(--ks-background-color-accent) 75%);
35
+ --dsa-section--transition_to-bold: linear-gradient(178deg, transparent 75%, var(--ks-background-color-bold) 75%);
32
36
  --dsa-section--transition_to-inverted: linear-gradient(
33
- 180deg,
34
- transparent,
35
- var(--ks-background-color-default-inverted)
37
+ 178deg,
38
+ transparent 75%,
39
+ var(--ks-background-color-default-inverted) 75%
36
40
  );
37
41
  --dsa-section__slider-arrow--color: var(--ks-text-color-interface-interactive);
38
42
  --dsa-section__slider-arrow--size: 2rem;
@@ -135,8 +139,8 @@
135
139
  .l-section.dsa-section-style--deko {
136
140
  background-image: var(--dsa-section_deko--background-image, radial-gradient(180deg, transparent 0%, var(--ks-background-color-default) 100%));
137
141
  }
138
- .l-section.dsa-section-style--inset {
139
- background-image: linear-gradient(180deg, var(--ks-color-fg-alpha-9) 0%, transparent 5px), linear-gradient(180deg, var(--ks-color-fg-alpha-9) 0%, transparent 30px), linear-gradient(180deg, transparent calc(100% - 30px), var(--ks-color-fg-alpha-9) 100%), linear-gradient(180deg, transparent calc(100% - 5px), var(--ks-color-fg-alpha-9) 100%), radial-gradient(100% 100% at 50% 50%, var(--ks-color-bg), var(--ks-color-bg-to-fg-1));
142
+ .l-section.dsa-section-style--colorful {
143
+ background-image: var(--dsa-section_colorful--background-image, linear-gradient(145deg, var(--ks-color-primary) 30%, #4aaea9 100%));
140
144
  }
141
145
  .l-section.dsa-section--spotlight {
142
146
  position: relative;
@@ -25,7 +25,7 @@
25
25
  "enum": [
26
26
  "default",
27
27
  "framed",
28
- "inset"
28
+ "deko"
29
29
  ],
30
30
  "default": "default"
31
31
  },
@@ -16,7 +16,7 @@
16
16
  "type": "string",
17
17
  "title": "Style",
18
18
  "description": "Style of background",
19
- "enum": ["default", "framed", "inset"],
19
+ "enum": ["default", "framed", "deko"],
20
20
  "default": "default"
21
21
  },
22
22
  "backgroundColor": {