You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

719 lines
19 KiB

  1. <!doctype html>
  2. <!--suppress HtmlUnknownTarget -->
  3. <html lang="en">
  4. <head><script type="module" src="./vite-inject-mocker-entry.js"></script>
  5. <meta charset="utf-8" />
  6. <title>Storybook</title>
  7. <meta name="viewport" content="width=device-width, initial-scale=1" />
  8. <style>
  9. @font-face {
  10. font-family: 'Nunito Sans';
  11. font-style: normal;
  12. font-weight: 400;
  13. font-display: swap;
  14. src: url('./sb-common-assets/nunito-sans-regular.woff2') format('woff2');
  15. }
  16. @font-face {
  17. font-family: 'Nunito Sans';
  18. font-style: italic;
  19. font-weight: 400;
  20. font-display: swap;
  21. src: url('./sb-common-assets/nunito-sans-italic.woff2') format('woff2');
  22. }
  23. @font-face {
  24. font-family: 'Nunito Sans';
  25. font-style: normal;
  26. font-weight: 700;
  27. font-display: swap;
  28. src: url('./sb-common-assets/nunito-sans-bold.woff2') format('woff2');
  29. }
  30. @font-face {
  31. font-family: 'Nunito Sans';
  32. font-style: italic;
  33. font-weight: 700;
  34. font-display: swap;
  35. src: url('./sb-common-assets/nunito-sans-bold-italic.woff2') format('woff2');
  36. }
  37. </style>
  38. <script>
  39. window.CONFIG_TYPE = 'PRODUCTION';
  40. window.LOGLEVEL = 'info';
  41. window.FRAMEWORK_OPTIONS = {};
  42. window.CHANNEL_OPTIONS = {};
  43. window.FEATURES = {"actions":true,"argTypeTargetsV7":true,"backgrounds":true,"changeDetection":true,"componentsManifest":false,"controls":true,"disallowImplicitActionsInRenderV8":true,"highlight":true,"interactions":true,"legacyDecoratorFileOrder":false,"measure":true,"outline":true,"sidebarOnboardingChecklist":true,"viewport":true};
  44. window.STORIES = [{"titlePrefix":"","directory":"./stories","files":"**/*.stories.@(js|jsx|ts|tsx)","importPathMatcher":"^\\.[\\\\/](?:stories(?:\\/(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)\\/|\\/|$)(?!\\.)(?=.)[^/]*?\\.stories\\.(js|jsx|ts|tsx))$"}];
  45. window.DOCS_OPTIONS = {"defaultName":"Docs"};
  46. window.TAGS_OPTIONS = {};
  47. // We do this so that "module && module.hot" etc. in Storybook source code
  48. // doesn't fail (it will simply be disabled)
  49. window.module = undefined;
  50. window.global = window;
  51. </script>
  52. <base target="_parent" />
  53. <style>
  54. /* While we aren't showing the main block yet, but still preparing, we want everything the user has rendered, which may or may not be in #storybook-root, to be display none */
  55. .sb-show-preparing-story:not(.sb-show-main) > :not(.sb-preparing-story) {
  56. display: none;
  57. }
  58. .sb-show-preparing-docs:not(.sb-show-main) > :not(.sb-preparing-docs) {
  59. display: none;
  60. }
  61. /* Hide our own blocks when we aren't supposed to be showing them */
  62. :not(.sb-show-preparing-story) > .sb-preparing-story,
  63. :not(.sb-show-preparing-docs) > .sb-preparing-docs,
  64. :not(.sb-show-nopreview) > .sb-nopreview,
  65. :not(.sb-show-errordisplay) > .sb-errordisplay {
  66. display: none;
  67. }
  68. .sb-show-main.sb-main-centered {
  69. margin: 0;
  70. display: flex;
  71. align-items: center;
  72. min-height: 100vh;
  73. }
  74. .sb-show-main.sb-main-centered #storybook-root {
  75. box-sizing: border-box;
  76. margin: auto;
  77. padding: 1rem;
  78. max-height: 100%;
  79. /* Hack for centering correctly in IE11 */
  80. }
  81. /* Vertical centering fix for IE11 */
  82. @media screen and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  83. .sb-show-main.sb-main-centered:after {
  84. content: '';
  85. min-height: inherit;
  86. font-size: 0;
  87. }
  88. }
  89. .sb-show-main.sb-main-fullscreen {
  90. margin: 0;
  91. padding: 0;
  92. display: block;
  93. }
  94. .sb-show-main.sb-main-padded {
  95. margin: 0;
  96. padding: 1rem;
  97. display: block;
  98. box-sizing: border-box;
  99. }
  100. .sb-wrapper {
  101. position: fixed;
  102. top: 0;
  103. bottom: 0;
  104. left: 0;
  105. right: 0;
  106. box-sizing: border-box;
  107. padding: 40px;
  108. font-family:
  109. 'Nunito Sans',
  110. -apple-system,
  111. '.SFNSText-Regular',
  112. 'San Francisco',
  113. BlinkMacSystemFont,
  114. 'Segoe UI',
  115. 'Helvetica Neue',
  116. Helvetica,
  117. Arial,
  118. sans-serif;
  119. -webkit-font-smoothing: antialiased;
  120. overflow: auto;
  121. }
  122. @media (max-width: 700px) {
  123. .sb-wrapper {
  124. padding: 20px;
  125. }
  126. }
  127. @media (max-width: 500px) {
  128. .sb-wrapper {
  129. padding: 10px;
  130. }
  131. }
  132. .sb-heading {
  133. font-size: 14px;
  134. font-weight: 600;
  135. letter-spacing: 0.2px;
  136. margin: 10px 0;
  137. padding-right: 25px;
  138. }
  139. .sb-nopreview {
  140. display: flex;
  141. align-content: center;
  142. justify-content: center;
  143. box-sizing: border-box;
  144. }
  145. .sb-nopreview_main {
  146. margin: auto;
  147. padding: 30px;
  148. border-radius: 10px;
  149. background: rgb(247, 247, 247);
  150. color: rgb(46, 52, 56);
  151. }
  152. .sb-nopreview_main * {
  153. background: rgb(247, 247, 247);
  154. color: rgb(46, 52, 56);
  155. }
  156. .sb-nopreview_heading {
  157. text-align: center;
  158. }
  159. .sb-errordisplay {
  160. background: #f6f9fc;
  161. color: black;
  162. z-index: 999999;
  163. width: 100vw;
  164. min-height: 100vh;
  165. box-sizing: border-box;
  166. }
  167. .sb-errordisplay_main {
  168. margin: auto;
  169. padding: 24px;
  170. display: flex;
  171. box-sizing: border-box;
  172. flex-direction: column;
  173. min-height: 100%;
  174. width: 100%;
  175. border-radius: 6px;
  176. background: white;
  177. color: black;
  178. border: 1px solid #ff0000;
  179. box-shadow: 0 0 64px rgba(0, 0, 0, 0.1);
  180. gap: 24px;
  181. }
  182. .sb-errordisplay_main ol {
  183. padding-left: 18px;
  184. margin: 0;
  185. }
  186. /* Redefine colors to ensure readability regardless of user-provided * selectors. */
  187. .sb-errordisplay_main * {
  188. background: white;
  189. color: black;
  190. }
  191. /* Exclude error code block from the universal reset to preserve ANSI colors and dark theme */
  192. .sb-errordisplay_main .sb-errordisplay_code,
  193. .sb-errordisplay_main .sb-errordisplay_code * {
  194. background: #242424;
  195. color: #c6c6c6;
  196. }
  197. .sb-errordisplay_main h1 {
  198. font-family: inherit;
  199. font-size: 22px;
  200. font-weight: 400;
  201. line-height: 30px;
  202. margin: 0;
  203. }
  204. .sb-errordisplay_main h1::before {
  205. content: '';
  206. display: inline-block;
  207. width: 12px;
  208. height: 12px;
  209. background: #ff4400;
  210. border-radius: 50%;
  211. margin-right: 8px;
  212. }
  213. .sb-errordisplay_main p,
  214. .sb-errordisplay_main ol {
  215. font-family: inherit;
  216. font-size: 14px;
  217. font-weight: 400;
  218. line-height: 19px;
  219. margin: 0;
  220. }
  221. .sb-errordisplay_main li + li {
  222. margin: 0;
  223. padding: 0;
  224. padding-top: 12px;
  225. }
  226. .sb-errordisplay_main a {
  227. color: currentColor;
  228. }
  229. .sb-errordisplay_main .sb-errordisplay_code {
  230. padding: 10px;
  231. flex: 1;
  232. background: #242424;
  233. color: #c6c6c6;
  234. box-sizing: border-box;
  235. font-size: 14px;
  236. font-weight: 400;
  237. line-height: 19px;
  238. border-radius: 4px;
  239. font-family:
  240. 'Operator Mono', 'Fira Code Retina', 'Fira Code', 'FiraCode-Retina', 'Andale Mono',
  241. 'Lucida Console', Consolas, Monaco, monospace;
  242. margin: 0;
  243. overflow: auto;
  244. }
  245. .sb-errordisplay_main .sb-errordisplay_code code {
  246. background-color: inherit;
  247. color: inherit;
  248. }
  249. .sb-errordisplay_main .sb-errordisplay_code {
  250. white-space: pre-wrap;
  251. }
  252. @-webkit-keyframes sb-rotate360 {
  253. from {
  254. transform: rotate(0deg);
  255. }
  256. to {
  257. transform: rotate(360deg);
  258. }
  259. }
  260. @keyframes sb-rotate360 {
  261. from {
  262. transform: rotate(0deg);
  263. }
  264. to {
  265. transform: rotate(360deg);
  266. }
  267. }
  268. @-webkit-keyframes sb-glow {
  269. 0%,
  270. 100% {
  271. opacity: 1;
  272. }
  273. 50% {
  274. opacity: 0.4;
  275. }
  276. }
  277. @keyframes sb-glow {
  278. 0%,
  279. 100% {
  280. opacity: 1;
  281. }
  282. 50% {
  283. opacity: 0.4;
  284. }
  285. }
  286. /* We display the preparing loaders *over* the rendering story */
  287. .sb-preparing-story,
  288. .sb-preparing-docs {
  289. background-color: white;
  290. /* Maximum possible z-index. It would be better to use stacking contexts to ensure it's always
  291. on top, but this isn't possible as it would require making CSS changes that could affect user code */
  292. z-index: 2147483647;
  293. }
  294. .sb-loader {
  295. -webkit-animation: sb-rotate360 0.7s linear infinite;
  296. animation: sb-rotate360 0.7s linear infinite;
  297. border-color: rgba(97, 97, 97, 0.29);
  298. border-radius: 50%;
  299. border-style: solid;
  300. border-top-color: #646464;
  301. border-width: 2px;
  302. display: inline-block;
  303. height: 32px;
  304. left: 50%;
  305. margin-left: -16px;
  306. margin-top: -16px;
  307. mix-blend-mode: difference;
  308. overflow: hidden;
  309. position: absolute;
  310. top: 50%;
  311. transition: all 200ms ease-out;
  312. vertical-align: top;
  313. width: 32px;
  314. z-index: 4;
  315. }
  316. .sb-previewBlock {
  317. background: #fff;
  318. border: 1px solid rgba(0, 0, 0, 0.1);
  319. border-radius: 4px;
  320. box-shadow: rgba(0, 0, 0, 0.1) 0 1px 3px 0;
  321. margin: 25px auto 40px;
  322. max-width: 600px;
  323. }
  324. .sb-previewBlock_header {
  325. align-items: center;
  326. box-shadow: rgba(0, 0, 0, 0.1) 0 -1px 0 0 inset;
  327. display: flex;
  328. gap: 14px;
  329. height: 40px;
  330. padding: 0 12px;
  331. }
  332. .sb-previewBlock_icon {
  333. -webkit-animation: sb-glow 1.5s ease-in-out infinite;
  334. animation: sb-glow 1.5s ease-in-out infinite;
  335. background: #e6e6e6;
  336. height: 14px;
  337. width: 14px;
  338. }
  339. .sb-previewBlock_icon:last-child {
  340. margin-left: auto;
  341. }
  342. .sb-previewBlock_body {
  343. -webkit-animation: sb-glow 1.5s ease-in-out infinite;
  344. animation: sb-glow 1.5s ease-in-out infinite;
  345. height: 182px;
  346. position: relative;
  347. }
  348. .sb-argstableBlock {
  349. border-collapse: collapse;
  350. border-spacing: 0;
  351. font-size: 13px;
  352. line-height: 20px;
  353. margin: 25px auto 40px;
  354. max-width: 600px;
  355. text-align: left;
  356. width: 100%;
  357. }
  358. .sb-argstableBlock th:first-of-type,
  359. .sb-argstableBlock td:first-of-type {
  360. padding-left: 20px;
  361. }
  362. .sb-argstableBlock th:nth-of-type(2),
  363. .sb-argstableBlock td:nth-of-type(2) {
  364. width: 35%;
  365. }
  366. .sb-argstableBlock th:nth-of-type(3),
  367. .sb-argstableBlock td:nth-of-type(3) {
  368. width: 15%;
  369. }
  370. .sb-argstableBlock th:last-of-type,
  371. .sb-argstableBlock td:last-of-type {
  372. width: 25%;
  373. padding-right: 20px;
  374. }
  375. .sb-argstableBlock th span,
  376. .sb-argstableBlock td span {
  377. -webkit-animation: sb-glow 1.5s ease-in-out infinite;
  378. animation: sb-glow 1.5s ease-in-out infinite;
  379. background-color: rgba(0, 0, 0, 0.1);
  380. border-radius: 0;
  381. box-shadow: none;
  382. color: transparent;
  383. }
  384. .sb-argstableBlock th {
  385. padding: 10px 15px;
  386. }
  387. .sb-argstableBlock-body {
  388. border-radius: 4px;
  389. box-shadow:
  390. rgba(0, 0, 0, 0.1) 0 1px 3px 1px,
  391. rgba(0, 0, 0, 0.065) 0 0 0 1px;
  392. }
  393. .sb-argstableBlock-body tr {
  394. background: transparent;
  395. overflow: hidden;
  396. }
  397. .sb-argstableBlock-body tr:not(:first-child) {
  398. border-top: 1px solid #e6e6e6;
  399. }
  400. .sb-argstableBlock-body tr:first-child td:first-child {
  401. border-top-left-radius: 4px;
  402. }
  403. .sb-argstableBlock-body tr:first-child td:last-child {
  404. border-top-right-radius: 4px;
  405. }
  406. .sb-argstableBlock-body tr:last-child td:first-child {
  407. border-bottom-left-radius: 4px;
  408. }
  409. .sb-argstableBlock-body tr:last-child td:last-child {
  410. border-bottom-right-radius: 4px;
  411. }
  412. .sb-argstableBlock-body td {
  413. background: #fff;
  414. padding-bottom: 10px;
  415. padding-top: 10px;
  416. vertical-align: top;
  417. }
  418. .sb-argstableBlock-body td:not(:first-of-type) {
  419. padding-left: 15px;
  420. padding-right: 15px;
  421. }
  422. .sb-argstableBlock-body button {
  423. -webkit-animation: sb-glow 1.5s ease-in-out infinite;
  424. animation: sb-glow 1.5s ease-in-out infinite;
  425. background-color: rgba(0, 0, 0, 0.1);
  426. border: 0;
  427. border-radius: 0;
  428. box-shadow: none;
  429. color: transparent;
  430. display: inline;
  431. font-size: 12px;
  432. line-height: 1;
  433. padding: 10px 16px;
  434. }
  435. .sb-argstableBlock-summary {
  436. margin-top: 4px;
  437. }
  438. .sb-argstableBlock-code {
  439. margin-right: 4px;
  440. margin-bottom: 4px;
  441. padding: 2px 5px;
  442. }
  443. .sb-sr-only,
  444. .sb-hidden-until-focus:not(:focus) {
  445. position: absolute;
  446. width: 1px;
  447. height: 1px;
  448. padding: 0px;
  449. margin: -1px;
  450. overflow: hidden;
  451. clip: rect(0, 0, 0, 0);
  452. border: none;
  453. }
  454. .sb-hidden-until-focus {
  455. opacity: 0;
  456. transition: opacity 150ms ease-out;
  457. }
  458. .sb-hidden-until-focus:focus {
  459. opacity: 1;
  460. }
  461. </style>
  462. <script>
  463. /* globals window */
  464. try {
  465. if (window.top !== window) {
  466. window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = window.top.__REACT_DEVTOOLS_GLOBAL_HOOK__;
  467. window.__VUE_DEVTOOLS_GLOBAL_HOOK__ = window.top.__VUE_DEVTOOLS_GLOBAL_HOOK__;
  468. window.top.__VUE_DEVTOOLS_CONTEXT__ = window.document;
  469. }
  470. } catch (e) {
  471. // eslint-disable-next-line no-console
  472. console.warn('unable to connect to top frame for connecting dev tools');
  473. }
  474. </script>
  475. <script>
  476. var ihk = ihk || {};
  477. ihk.translations = {
  478. overview: "Übersicht",
  479. loadMoreImages: "Mehr Bilder laden",
  480. loadMoreArticles: "Mehr laden",
  481. ihkFinderYourIhkButton:"ihk.finder.page.yourIhkButton"
  482. };
  483. </script>
  484. <script type="module" crossorigin src="./assets/iframe-CLehcUMy.js"></script>
  485. <link rel="modulepreload" crossorigin href="./assets/preload-helper-C1FmrZbK.js">
  486. <link rel="stylesheet" crossorigin href="./assets/iframe-DvUCq3K3.css">
  487. </head>
  488. <body>
  489. <div class="sb-preparing-story sb-wrapper">
  490. <div class="sb-loader"></div>
  491. </div>
  492. <div class="sb-preparing-docs sb-wrapper">
  493. <div class="sb-previewBlock">
  494. <div class="sb-previewBlock_header">
  495. <div class="sb-previewBlock_icon"></div>
  496. <div class="sb-previewBlock_icon"></div>
  497. <div class="sb-previewBlock_icon"></div>
  498. <div class="sb-previewBlock_icon"></div>
  499. </div>
  500. <div class="sb-previewBlock_body">
  501. <div class="sb-loader"></div>
  502. </div>
  503. </div>
  504. <table aria-hidden="true" class="sb-argstableBlock">
  505. <thead class="sb-argstableBlock-head">
  506. <tr>
  507. <th><span>Name</span></th>
  508. <th><span>Description</span></th>
  509. <th><span>Default</span></th>
  510. <th><span>Control </span></th>
  511. </tr>
  512. </thead>
  513. <tbody class="sb-argstableBlock-body">
  514. <tr>
  515. <td><span>propertyName</span><span title="Required">*</span></td>
  516. <td>
  517. <div><span>This is a short description</span></div>
  518. <div class="sb-argstableBlock-summary">
  519. <div><span class="sb-argstableBlock-code">summary</span></div>
  520. </div>
  521. </td>
  522. <td>
  523. <div><span class="sb-argstableBlock-code">defaultValue</span></div>
  524. </td>
  525. <td><button>Set string</button></td>
  526. </tr>
  527. <tr>
  528. <td><span>propertyName</span><span>*</span></td>
  529. <td>
  530. <div><span>This is a short description</span></div>
  531. <div class="sb-argstableBlock-summary">
  532. <div><span class="sb-argstableBlock-code">summary</span></div>
  533. </div>
  534. </td>
  535. <td>
  536. <div><span class="sb-argstableBlock-code">defaultValue</span></div>
  537. </td>
  538. <td><button>Set string</button></td>
  539. </tr>
  540. <tr>
  541. <td><span>propertyName</span><span>*</span></td>
  542. <td>
  543. <div><span>This is a short description</span></div>
  544. <div class="sb-argstableBlock-summary">
  545. <div><span class="sb-argstableBlock-code">summary</span></div>
  546. </div>
  547. </td>
  548. <td>
  549. <div><span class="sb-argstableBlock-code">defaultValue</span></div>
  550. </td>
  551. <td><button>Set string</button></td>
  552. </tr>
  553. </tbody>
  554. </table>
  555. </div>
  556. <div class="sb-nopreview sb-wrapper">
  557. <div class="sb-nopreview_main">
  558. <h1 class="sb-nopreview_heading sb-heading">No Preview</h1>
  559. <p>Sorry, but you either have no stories or none are selected somehow.</p>
  560. <ul>
  561. <li>Please check the Storybook config.</li>
  562. <li>Try reloading the page.</li>
  563. </ul>
  564. <p>
  565. If the problem persists, check the browser console, or the terminal you've run Storybook from.
  566. </p>
  567. </div>
  568. </div>
  569. <div class="sb-errordisplay sb-wrapper">
  570. <div class="sb-errordisplay_main">
  571. <h1 id="error-message"></h1>
  572. <p>
  573. The component failed to render properly, likely due to a configuration issue in Storybook.
  574. Here are some common causes and how you can address them:
  575. </p>
  576. <ol>
  577. <li>
  578. <strong>Missing Context/Providers</strong>: You can use decorators to supply specific
  579. contexts or providers, which are sometimes necessary for components to render correctly. For
  580. detailed instructions on using decorators, please visit the
  581. <a href="https://storybook.js.org/docs/writing-stories/decorators"
  582. >Decorators documentation</a
  583. >.
  584. </li>
  585. <li>
  586. <strong>Misconfigured Webpack or Vite</strong>: Verify that Storybook picks up all necessary
  587. settings for loaders, plugins, and other relevant parameters. You can find step-by-step
  588. guides for configuring
  589. <a href="https://storybook.js.org/docs/builders/webpack">Webpack</a> or
  590. <a href="https://storybook.js.org/docs/builders/vite">Vite</a>
  591. with Storybook.
  592. </li>
  593. <li>
  594. <strong>Missing Environment Variables</strong>: Your Storybook may require specific
  595. environment variables to function as intended. You can set up custom environment variables
  596. as outlined in the
  597. <a href="https://storybook.js.org/docs/configure/environment-variables"
  598. >Environment Variables documentation</a
  599. >.
  600. </li>
  601. </ol>
  602. <pre class="sb-errordisplay_code"><code id="error-stack"></code></pre>
  603. </div>
  604. </div>
  605. <div id="storybook-root"></div>
  606. <div id="storybook-docs"></div>
  607. <script>
  608. function __onViteAppLoadingError(event) {
  609. const hostname = globalThis.location.hostname;
  610. if (hostname !== 'localhost' && globalThis.CONFIG_TYPE === 'DEVELOPMENT') {
  611. const message = `Failed to load the Storybook preview file 'vite-app.js':
  612. It looks like you're visiting the Storybook development server on another hostname than localhost: '${hostname}', but you haven't configured the necessary security features to support this.
  613. Please re-run your Storybook development server with the '--host ${hostname}' flag, or manually configure your Vite allowedHosts configuration with viteFinal.
  614. See:`;
  615. const docs = [
  616. 'https://storybook.js.org/docs/api/cli-options#dev',
  617. 'https://storybook.js.org/docs/api/main-config/main-config-vite-final',
  618. 'https://vite.dev/config/server-options.html#server-allowedhosts',
  619. ];
  620. console.error(`${message}\n${docs.map((doc) => `- ${doc}`).join('\n')}`);
  621. document.getElementById('storybook-root').innerHTML =
  622. `<p style="color: red; max-width: 70ch">${message.replaceAll(
  623. '\n',
  624. '<br/>'
  625. )}<ul>${docs.map((doc) => `<li><a href='${doc}' target='_blank'>${doc}</a></li>`).join('')}</ul></p>`;
  626. return;
  627. }
  628. }
  629. </script>
  630. </body>
  631. </html>