UNPKG

@porsche-design-system/components-js

Version:

Porsche Design System is a component library designed to help developers create the best experience for software or services distributed by Dr. Ing. h.c. F. Porsche AG.

323 lines (316 loc) 53.5 kB
'use strict'; let jsxRuntime; try { jsxRuntime = require('react/jsx-runtime'); } catch (error) {} var crypto = require('crypto'); const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined'; const throwIfRunInBrowser = (partialName) => { if (isBrowser) { throw new Error(`[Porsche Design System] Partials can only be used during build time. You are using '${partialName}' at run time in a browser which defeats the effect of the partial.`); } }; const getSha256Hash = (content) => { return `'sha256-${crypto.createHash('sha256').update(content).digest('base64')}'`; }; const getCdnBaseUrl = (cdn) => (cdn === 'cn' ? 'https://cdn.ui.porsche.cn' : 'https://cdn.ui.porsche.com'); const convertPropsToAttributeString = (props) => Object.entries(props) .map(([attr, val]) => `${attr}${val ? '=' + val : ''}`) .join(' '); function getFontFaceStylesheet(opts) { const { cdn, format } = { cdn: 'auto', format: 'html', ...opts, }; throwIfRunInBrowser('getFontFaceStylesheet'); const cdnBaseUrl = getCdnBaseUrl(cdn); const url = `${cdnBaseUrl}/porsche-design-system/styles/${cdn === 'cn' ? 'font-face.cn.c531632.css' : 'font-face.7076ba0.css'}`; return format === 'html' ? `<link rel=preconnect href=${cdnBaseUrl} crossorigin><link rel=dns-prefetch href=${cdnBaseUrl} crossorigin><link rel=stylesheet href=${url} type=text/css crossorigin>` : jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("link", { rel: "preconnect", href: cdnBaseUrl, crossOrigin: "" }), jsxRuntime.jsx("link", { rel: "dns-prefetch", href: cdnBaseUrl, crossOrigin: "" }), jsxRuntime.jsx("link", { rel: "stylesheet", href: url, type: "text/css", crossOrigin: "" })] }); } function getFontFaceStyles(opts) { const { cdn, format } = { cdn: 'auto', format: 'html', ...opts, }; const styleProps = { ['data-pds-font-face-styles']: '' }; const styleAttributes = convertPropsToAttributeString(styleProps); const styles = cdn === 'auto' ? `@font-face{font-family:Porsche Next;font-style:normal;font-weight:700;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-arabic-bold.1796b39.woff2') format('woff2');unicode-range:U+0600-0671,U+06A1,U+06A4,U+06BA,U+06CC,U+06D5,U+06F8,U+06F9;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:400;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-arabic-regular.413b375.woff2') format('woff2');unicode-range:U+0600-0671,U+06A1,U+06A4,U+06BA,U+06CC,U+06D5,U+06F8,U+06F9;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:700;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-cyril-bold.4cb90bb.woff2') format('woff2');unicode-range:U+0400-04FF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:400;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-cyril-regular.b845952.woff2') format('woff2');unicode-range:U+0400-04FF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:600;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-cyril-semi-bold.378f7d5.woff2') format('woff2');unicode-range:U+0400-04FF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:700;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-greek-bold.d2546b1.woff2') format('woff2');unicode-range:U+0370-03FF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:400;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-greek-regular.0b3d9b3.woff2') format('woff2');unicode-range:U+0370-03FF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:600;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-greek-semi-bold.f3a9ae0.woff2') format('woff2');unicode-range:U+0370-03FF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:700;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-latin-bold.0fbdc6d.woff2') format('woff2');unicode-range:U+0020-007F,U+0080-00FF,U+0100-017F,U+0180-024F,U+0250-02AF,U+02B0-02FF,U+0300-036F,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2150-218F,U+2190-21FF,U+2200-22FF,U+25A0-25FF,U+2600-26FF,U+FB00-FB4F,U+FE70-FEFF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:400;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-latin-regular.b8f1c20.woff2') format('woff2');unicode-range:U+0020-007F,U+0080-00FF,U+0100-017F,U+0180-024F,U+0250-02AF,U+02B0-02FF,U+0300-036F,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2150-218F,U+2190-21FF,U+2200-22FF,U+25A0-25FF,U+2600-26FF,U+FB00-FB4F,U+FE70-FEFF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:600;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-latin-semi-bold.b5f6fca.woff2') format('woff2');unicode-range:U+0020-007F,U+0080-00FF,U+0100-017F,U+0180-024F,U+0250-02AF,U+02B0-02FF,U+0300-036F,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2150-218F,U+2190-21FF,U+2200-22FF,U+25A0-25FF,U+2600-26FF,U+FB00-FB4F,U+FE70-FEFF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:700;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-pashto-bold.f30f194.woff2') format('woff2');unicode-range:U+067C,U+067E,U+0681,U+0682,U+0685,U+0686,U+0689,U+067C,U+0693,U+0696,U+0698,U+069A,U+06A9,U+06AB,U+06AF,U+06BC,U+06CD,U+06D0;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:400;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-pashto-regular.3989814.woff2') format('woff2');unicode-range:U+067C,U+067E,U+0681,U+0682,U+0685,U+0686,U+0689,U+067C,U+0693,U+0696,U+0698,U+069A,U+06A9,U+06AB,U+06AF,U+06BC,U+06CD,U+06D0;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:700;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-thai-bold.b9e9f23.woff2') format('woff2');unicode-range:U+0E00-0E7F;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:400;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-thai-regular.ac04c30.woff2') format('woff2');unicode-range:U+0E00-0E7F;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:600;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-thai-semi-bold.8d53572.woff2') format('woff2');unicode-range:U+0E00-0E7F;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:700;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-urdu-bold.49a86a4.woff2') format('woff2');unicode-range:U+0679,U+0688,U+0691,U+06BE,U+06C0-06C3,U+06D2-06D5,U+06F0-06F9;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:400;src:url('https://cdn.ui.porsche.com/porsche-design-system/fonts/porsche-next-urdu-regular.ad23819.woff2') format('woff2');unicode-range:U+0679,U+0688,U+0691,U+06BE,U+06C0-06C3,U+06D2-06D5,U+06F0-06F9;font-display:swap}` : `@font-face{font-family:Porsche Next;font-style:normal;font-weight:700;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-arabic-bold.1796b39.woff2') format('woff2');unicode-range:U+0600-0671,U+06A1,U+06A4,U+06BA,U+06CC,U+06D5,U+06F8,U+06F9;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:400;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-arabic-regular.413b375.woff2') format('woff2');unicode-range:U+0600-0671,U+06A1,U+06A4,U+06BA,U+06CC,U+06D5,U+06F8,U+06F9;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:700;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-cyril-bold.4cb90bb.woff2') format('woff2');unicode-range:U+0400-04FF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:400;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-cyril-regular.b845952.woff2') format('woff2');unicode-range:U+0400-04FF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:600;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-cyril-semi-bold.378f7d5.woff2') format('woff2');unicode-range:U+0400-04FF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:700;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-greek-bold.d2546b1.woff2') format('woff2');unicode-range:U+0370-03FF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:400;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-greek-regular.0b3d9b3.woff2') format('woff2');unicode-range:U+0370-03FF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:600;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-greek-semi-bold.f3a9ae0.woff2') format('woff2');unicode-range:U+0370-03FF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:700;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-latin-bold.0fbdc6d.woff2') format('woff2');unicode-range:U+0020-007F,U+0080-00FF,U+0100-017F,U+0180-024F,U+0250-02AF,U+02B0-02FF,U+0300-036F,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2150-218F,U+2190-21FF,U+2200-22FF,U+25A0-25FF,U+2600-26FF,U+FB00-FB4F,U+FE70-FEFF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:400;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-latin-regular.b8f1c20.woff2') format('woff2');unicode-range:U+0020-007F,U+0080-00FF,U+0100-017F,U+0180-024F,U+0250-02AF,U+02B0-02FF,U+0300-036F,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2150-218F,U+2190-21FF,U+2200-22FF,U+25A0-25FF,U+2600-26FF,U+FB00-FB4F,U+FE70-FEFF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:600;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-latin-semi-bold.b5f6fca.woff2') format('woff2');unicode-range:U+0020-007F,U+0080-00FF,U+0100-017F,U+0180-024F,U+0250-02AF,U+02B0-02FF,U+0300-036F,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2150-218F,U+2190-21FF,U+2200-22FF,U+25A0-25FF,U+2600-26FF,U+FB00-FB4F,U+FE70-FEFF;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:700;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-pashto-bold.f30f194.woff2') format('woff2');unicode-range:U+067C,U+067E,U+0681,U+0682,U+0685,U+0686,U+0689,U+067C,U+0693,U+0696,U+0698,U+069A,U+06A9,U+06AB,U+06AF,U+06BC,U+06CD,U+06D0;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:400;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-pashto-regular.3989814.woff2') format('woff2');unicode-range:U+067C,U+067E,U+0681,U+0682,U+0685,U+0686,U+0689,U+067C,U+0693,U+0696,U+0698,U+069A,U+06A9,U+06AB,U+06AF,U+06BC,U+06CD,U+06D0;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:700;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-thai-bold.b9e9f23.woff2') format('woff2');unicode-range:U+0E00-0E7F;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:400;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-thai-regular.ac04c30.woff2') format('woff2');unicode-range:U+0E00-0E7F;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:600;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-thai-semi-bold.8d53572.woff2') format('woff2');unicode-range:U+0E00-0E7F;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:700;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-urdu-bold.49a86a4.woff2') format('woff2');unicode-range:U+0679,U+0688,U+0691,U+06BE,U+06C0-06C3,U+06D2-06D5,U+06F0-06F9;font-display:swap}@font-face{font-family:Porsche Next;font-style:normal;font-weight:400;src:url('https://cdn.ui.porsche.cn/porsche-design-system/fonts/porsche-next-urdu-regular.ad23819.woff2') format('woff2');unicode-range:U+0679,U+0688,U+0691,U+06BE,U+06C0-06C3,U+06D2-06D5,U+06F0-06F9;font-display:swap}`; throwIfRunInBrowser('getFontFaceStyles'); return format === 'sha256' ? getSha256Hash(styles) : format === 'html' ? `<style ${styleAttributes}>${styles}</style>` : jsxRuntime.jsx("style", { ...styleProps, dangerouslySetInnerHTML: { __html: styles } }); } function getInitialStyles(opts) { const { prefix, format, globalStyles } = { prefix: '', format: 'html', globalStyles: true, ...opts, }; const tagNames = ['p-accordion', 'p-banner', 'p-button', 'p-button-group', 'p-button-pure', 'p-button-tile', 'p-canvas', 'p-carousel', 'p-checkbox', 'p-checkbox-wrapper', 'p-content-wrapper', 'p-crest', 'p-display', 'p-divider', 'p-fieldset', 'p-fieldset-wrapper', 'p-flex', 'p-flex-item', 'p-flyout', 'p-flyout-multilevel', 'p-flyout-multilevel-item', 'p-grid', 'p-grid-item', 'p-heading', 'p-headline', 'p-icon', 'p-inline-notification', 'p-link', 'p-link-pure', 'p-link-social', 'p-link-tile', 'p-link-tile-model-signature', 'p-link-tile-product', 'p-marque', 'p-modal', 'p-model-signature', 'p-multi-select', 'p-multi-select-option', 'p-optgroup', 'p-pagination', 'p-pin-code', 'p-popover', 'p-radio-button-wrapper', 'p-scroller', 'p-segmented-control', 'p-segmented-control-item', 'p-select', 'p-select-option', 'p-select-wrapper', 'p-sheet', 'p-spinner', 'p-stepper-horizontal', 'p-stepper-horizontal-item', 'p-switch', 'p-table', 'p-table-body', 'p-table-cell', 'p-table-head', 'p-table-head-cell', 'p-table-head-row', 'p-table-row', 'p-tabs', 'p-tabs-bar', 'p-tabs-item', 'p-tag', 'p-tag-dismissible', 'p-text', 'p-text-field-wrapper', 'p-text-list', 'p-text-list-item', 'p-textarea', 'p-textarea-wrapper', 'p-toast', 'p-wordmark']; const prefixedTagNames = getPrefixedTagNames(tagNames, prefix); throwIfRunInBrowser('getInitialStyles'); const styleProps = { ['data-pds-initial-styles']: '' }; const styleAttributes = convertPropsToAttributeString(styleProps); const normalizeStyles = `html,body{margin:0;padding:0;font-family:'Porsche Next','Arial Narrow',Arial,'Heiti SC',SimHei,sans-serif;line-height:calc(6px + 2.125ex);letter-spacing:normal;text-size-adjust:none;-webkit-text-size-adjust:none}h1,h2,h3,h4,h5,h6{font-weight:600}p{hyphens:auto;font-weight:400;overflow-wrap:break-word}b,strong{font-weight:700}`; const hydrationStyles = ':is(' + prefixedTagNames.join() + '):not(:defined,.ssr,[data-ssr]){visibility:hidden}'; const styles = globalStyles ? normalizeStyles.concat(hydrationStyles) : hydrationStyles; return format === 'sha256' ? getSha256Hash(styles) : format === 'html' ? `<style ${styleAttributes}>${styles}</style>` : jsxRuntime.jsx("style", { ...styleProps, dangerouslySetInnerHTML: { __html: styles } }); } const getPrefixedTagNames = (tagNames, prefix) => { if (prefix && typeof prefix === 'string') { return tagNames.map((tagName) => `${prefix}-${tagName}`); } else if (Array.isArray(prefix) && prefix.length) { return prefix.map((_prefix) => tagNames.map((tagName) => `${_prefix ? _prefix + '-' : ''}${tagName}`)).flat(); } else { return tagNames; } }; function getFontLinks(opts) { const { subset, weights, cdn, format } = { subset: 'latin', weights: ['regular', 'semi-bold'], cdn: 'auto', format: 'html', ...opts, }; throwIfRunInBrowser('getFontLinks'); const cdnBaseUrl = getCdnBaseUrl(cdn); const fonts = { latin: { regular: 'porsche-next-latin-regular.b8f1c20.woff2', 'semi-bold': 'porsche-next-latin-semi-bold.b5f6fca.woff2', bold: 'porsche-next-latin-bold.0fbdc6d.woff2', }, greek: { regular: 'porsche-next-greek-regular.0b3d9b3.woff2', 'semi-bold': 'porsche-next-greek-semi-bold.f3a9ae0.woff2', bold: 'porsche-next-greek-bold.d2546b1.woff2', }, cyril: { regular: 'porsche-next-cyril-regular.b845952.woff2', 'semi-bold': 'porsche-next-cyril-semi-bold.378f7d5.woff2', bold: 'porsche-next-cyril-bold.4cb90bb.woff2', }, thai: { regular: 'porsche-next-thai-regular.ac04c30.woff2', 'semi-bold': 'porsche-next-thai-semi-bold.8d53572.woff2', bold: 'porsche-next-thai-bold.b9e9f23.woff2', }, arabic: { regular: 'porsche-next-arabic-regular.413b375.woff2', bold: 'porsche-next-arabic-bold.1796b39.woff2', }, pashto: { regular: 'porsche-next-pashto-regular.3989814.woff2', bold: 'porsche-next-pashto-bold.f30f194.woff2', }, urdu: { regular: 'porsche-next-urdu-regular.ad23819.woff2', bold: 'porsche-next-urdu-bold.49a86a4.woff2', }, }; const supportedSubsets = ["latin", "greek", "cyril", "thai", "arabic", "pashto", "urdu"]; const supportedWeights = ["regular", "semi-bold", "bold"]; const isSubsetInvalid = !supportedSubsets.includes(subset); const invalidWeights = weights.filter((x) => !supportedWeights.includes(x)); if (isSubsetInvalid) { throw new Error(`[Porsche Design System] The following supplied font subset is invalid: ${subset} Please use only valid font subset: ${supportedSubsets.join(', ')}`); } if (invalidWeights.length) { throw new Error(`[Porsche Design System] The following supplied font weights are invalid: ${invalidWeights.join(', ')} Please use only valid font weights: ${supportedWeights.join(', ')}`); } const urls = weights.map((weight) => fonts[subset][weight] && `${cdnBaseUrl}/porsche-design-system/fonts/${fonts[subset][weight]}`).filter(Boolean); const linksHtml = urls.map((url) => `<link rel=preload href=${url} as=font type=font/woff2 crossorigin>`).join(''); if (format === 'html') { return linksHtml; } else if (format === 'jsx') { const linksJsx = urls.map((url, index) => jsxRuntime.jsx("link", { rel: "preload", href: url, as: "font", type: "font/woff2", crossOrigin: "" }, index)); return jsxRuntime.jsx(jsxRuntime.Fragment, { children: linksJsx }); } else { return urls.map((url) => ({ href: url, options: { as: 'font', type: "font/woff2", crossOrigin: "" } })); } } function getComponentChunkLinks(opts) { const { components, cdn, format } = { components: [], cdn: 'auto', format: 'html', ...opts, }; throwIfRunInBrowser('getComponentChunkLinks'); const supportedComponentChunkNames = ["accordion", "banner", "button-group", "button-pure", "button-tile", "button", "canvas", "carousel", "checkbox-wrapper", "checkbox", "content-wrapper", "crest", "display", "divider", "fieldset-wrapper", "fieldset", "flex", "flyout-multilevel", "flyout", "grid", "heading", "headline", "icon", "inline-notification", "link-pure", "link-social", "link-tile-model-signature", "link-tile-product", "link-tile", "link", "marque", "modal", "model-signature", "multi-select", "optgroup", "pagination", "pin-code", "popover", "radio-button-wrapper", "scroller", "segmented-control", "select-wrapper", "select", "sheet", "spinner", "stepper-horizontal", "switch", "table", "tabs-bar", "tabs", "tag-dismissible", "tag", "text-field-wrapper", "text-list", "text", "textarea-wrapper", "textarea", "toast", "wordmark"]; const invalidComponentChunkNames = components.filter((x) => !supportedComponentChunkNames.includes(x)); if (invalidComponentChunkNames.length) { throw new Error(`[Porsche Design System] The following supplied component chunk names are invalid: ${invalidComponentChunkNames.join(', ')} Please use only valid component chunk names: ${supportedComponentChunkNames.join(', ')}`); } const cdnBaseUrl = getCdnBaseUrl(cdn); const manifest = { "core": "porsche-design-system.v3.27.3.d37becfa7aa74c89c71e.js", "accordion": "porsche-design-system.accordion.4febea6c7f168c49ee05.js", "banner": "porsche-design-system.banner.ddf62b1e4c52c33eae47.js", "button-group": "porsche-design-system.button-group.dab07d0bf8043014030a.js", "button-pure": "porsche-design-system.button-pure.6c41d4e0b90348f8e870.js", "button-tile": "porsche-design-system.button-tile.dd35aee08698c9c662c5.js", "button": "porsche-design-system.button.b259c223212e9d2c568e.js", "canvas": "porsche-design-system.canvas.0dad8ab910078dd82517.js", "carousel": "porsche-design-system.carousel.79a57edf5c90110bf128.js", "checkbox-wrapper": "porsche-design-system.checkbox-wrapper.2f44ebe5e714f2e2ef3f.js", "checkbox": "porsche-design-system.checkbox.0bbae5dc30e9f3fbbf40.js", "content-wrapper": "porsche-design-system.content-wrapper.ec4a68cfb106d5057a60.js", "crest": "porsche-design-system.crest.f320aec833716d349b55.js", "display": "porsche-design-system.display.0652dacb12124d3011f4.js", "divider": "porsche-design-system.divider.077bcacecddac74f606c.js", "fieldset-wrapper": "porsche-design-system.fieldset-wrapper.37218f4f09b6d8f6349e.js", "fieldset": "porsche-design-system.fieldset.e5c850d35c5b8263ad6f.js", "flex": "porsche-design-system.flex.8447d41c9b012490cd40.js", "flyout-multilevel": "porsche-design-system.flyout-multilevel.9270755e8cb9c089d56c.js", "flyout": "porsche-design-system.flyout.3048d2bd31f6b5148607.js", "grid": "porsche-design-system.grid.358073ea5abc7774aab3.js", "heading": "porsche-design-system.heading.e9afe863e684b2cf5432.js", "headline": "porsche-design-system.headline.c33f0ea6c87ce05338b1.js", "icon": "porsche-design-system.icon.4dfbdbed45e7f12fafe9.js", "inline-notification": "porsche-design-system.inline-notification.08922030b7388f953143.js", "link-pure": "porsche-design-system.link-pure.7cf5fcf2b7c1b1b213fa.js", "link-social": "porsche-design-system.link-social.776ec370dffca29ea219.js", "link-tile-model-signature": "porsche-design-system.link-tile-model-signature.4ee00a90b25cf9d185fb.js", "link-tile-product": "porsche-design-system.link-tile-product.338b8ed85027a77ea1a3.js", "link-tile": "porsche-design-system.link-tile.8e89b5faba29861781de.js", "link": "porsche-design-system.link.48b895fbfdd38c4dd898.js", "marque": "porsche-design-system.marque.313a1cb99a7565a3097f.js", "modal": "porsche-design-system.modal.39a3f51c63ddc5de5217.js", "model-signature": "porsche-design-system.model-signature.fdec53eccf392b9e5702.js", "multi-select": "porsche-design-system.multi-select.2007b0d67c9f03f8657c.js", "optgroup": "porsche-design-system.optgroup.f84eaec6a2084d62d773.js", "pagination": "porsche-design-system.pagination.342bba242aea790c3c01.js", "pin-code": "porsche-design-system.pin-code.321d5e4cdaf2b712db89.js", "popover": "porsche-design-system.popover.28d71bb3cfe3a5d77e6d.js", "radio-button-wrapper": "porsche-design-system.radio-button-wrapper.cd2eecc58de6aad50c3c.js", "scroller": "porsche-design-system.scroller.3a8cac9d415f71ccb0f9.js", "segmented-control": "porsche-design-system.segmented-control.62f539ccebe303419933.js", "select-wrapper": "porsche-design-system.select-wrapper.f19644a1a58403cc0379.js", "select": "porsche-design-system.select.cdd108d2548260aec32f.js", "sheet": "porsche-design-system.sheet.bb75342f722e0ebb2d28.js", "spinner": "porsche-design-system.spinner.71204f630ec52dcb9e1f.js", "stepper-horizontal": "porsche-design-system.stepper-horizontal.19940722ab00ad78635c.js", "switch": "porsche-design-system.switch.866cdafc63bbf229d235.js", "table": "porsche-design-system.table.e70af1e23a790191943b.js", "tabs-bar": "porsche-design-system.tabs-bar.e450e1fd0b17e7cf41f7.js", "tabs": "porsche-design-system.tabs.34979b7e89382f5395d0.js", "tag-dismissible": "porsche-design-system.tag-dismissible.9dabd0b75e4bb4d9c2e1.js", "tag": "porsche-design-system.tag.3fc22298830bb2d4f63a.js", "text-field-wrapper": "porsche-design-system.text-field-wrapper.edbb611728fd82a0159b.js", "text-list": "porsche-design-system.text-list.b201b2f87fa396793b7a.js", "text": "porsche-design-system.text.451c82edd68366391113.js", "textarea-wrapper": "porsche-design-system.textarea-wrapper.a949119931e2e57695b6.js", "textarea": "porsche-design-system.textarea.a087fecd37c242348562.js", "toast": "porsche-design-system.toast.d1259d8ec7cb785df87c.js", "wordmark": "porsche-design-system.wordmark.e9653393d72952f1b35d.js" }; const urls = ['core'].concat(components).map((cmp) => `${cdnBaseUrl}/porsche-design-system/components/${manifest[cmp]}`); const linksHtml = urls // core needs crossorigin attribute / we need ternary otherwise false is written into link .map((url, idx) => `<link rel=preload href=${url} as=script${idx === 0 ? ' crossorigin' : ''}>`) .join(''); if (format === 'html') { return linksHtml; } else if (format === 'jsx') { const linksJsx = urls.map((url, index) => jsxRuntime.jsx("link", { rel: "preload", href: url, as: "script", ...(index === 0 && { crossOrigin: '' }) }, index)); return jsxRuntime.jsx(jsxRuntime.Fragment, { children: linksJsx }); } else { return urls.map((url, index) => ({ href: url, options: { as: 'script', ...(index === 0 && { crossOrigin: '' }) } })); } } function getMetaTagsAndIconLinks(opts) { const { appTitle, cdn, format, ogImage } = { appTitle: '', cdn: 'auto', format: 'html', ogImage: true, ...opts, }; throwIfRunInBrowser('getMetaTagsAndIconLinks'); if (!appTitle) { throw new Error('[Porsche Design System] Option "appTitle" is required to output "<meta name="apple-mobile-web-app-title" content="appTitle" />'); } const cdnBaseUrl = getCdnBaseUrl(cdn); const manifestUrlCom = 'https://cdn.ui.porsche.com/porsche-design-system/meta-icons/manifest.b904b15.webmanifest'; const manifestUrlCn = 'https://cdn.ui.porsche.cn/porsche-design-system/meta-icons/manifest.cn.7d59be6.webmanifest'; const manifestUrl = cdn === 'auto' ? manifestUrlCom : manifestUrlCn; let metaIconTags = ["<meta name=theme-color content=#FFF media=(prefers-color-scheme:light)>", "<meta name=theme-color content=#0E1418 media=(prefers-color-scheme:dark)>", "<meta name=mobile-web-app-capable content=yes>", "<meta name=apple-mobile-web-app-status-bar-style content=default>", "<meta name=apple-mobile-web-app-title content=$appTitle>", "<meta name=msapplication-TileImage content=$cdnBaseUrl/porsche-design-system/meta-icons/mstile-270x270.f58081f.png>", "<meta name=msapplication-TileColor content=#FFF>", "<link rel=icon sizes=any href=$cdnBaseUrl/porsche-design-system/meta-icons/favicon.ed9a926.ico>", "<link rel=icon type=image/png sizes=32x32 href=$cdnBaseUrl/porsche-design-system/meta-icons/favicon-32x32.d42ac28.png>", "<link rel=apple-touch-icon href=$cdnBaseUrl/porsche-design-system/meta-icons/apple-touch-icon-180x180.bdf11cc.png>", "<link rel=manifest href=$manifestUrl>"]; if (ogImage) { metaIconTags = ["<meta property=og:title content=$appTitle>", "<meta property=og:image content=$cdnBaseUrl/porsche-design-system/meta-icons/og-image.c880d39.png>", "<meta name=twitter:title content=$appTitle>", "<meta name=twitter:card content=summary_large_image>", "<meta name=twitter:image content=$cdnBaseUrl/porsche-design-system/meta-icons/og-image.c880d39.png>"].concat(metaIconTags); } const meta = metaIconTags.map(metaIconTemplate => metaIconTemplate.replace('$appTitle', `"${appTitle}"`).replace('$cdnBaseUrl', cdnBaseUrl).replace('$manifestUrl', manifestUrl)); if (format === 'html') { return meta.join(''); } else if (format === 'jsx') { let metaIconTagsJSX = [jsxRuntime.jsx("meta", { name: "theme-color", content: "#FFF", media: "(prefers-color-scheme:light)" }), jsxRuntime.jsx("meta", { name: "theme-color", content: "#0E1418", media: "(prefers-color-scheme:dark)" }), jsxRuntime.jsx("meta", { name: "mobile-web-app-capable", content: "yes" }), jsxRuntime.jsx("meta", { name: "apple-mobile-web-app-status-bar-style", content: "default" }), jsxRuntime.jsx("meta", { name: "apple-mobile-web-app-title", content: appTitle }), jsxRuntime.jsx("meta", { name: "msapplication-TileImage", content: `${cdnBaseUrl}/porsche-design-system/meta-icons/mstile-270x270.f58081f.png` }), jsxRuntime.jsx("meta", { name: "msapplication-TileColor", content: "#FFF" }), jsxRuntime.jsx("link", { rel: "icon", sizes: "any", href: `${cdnBaseUrl}/porsche-design-system/meta-icons/favicon.ed9a926.ico` }), jsxRuntime.jsx("link", { rel: "icon", type: "image/png", sizes: "32x32", href: `${cdnBaseUrl}/porsche-design-system/meta-icons/favicon-32x32.d42ac28.png` }), jsxRuntime.jsx("link", { rel: "apple-touch-icon", href: `${cdnBaseUrl}/porsche-design-system/meta-icons/apple-touch-icon-180x180.bdf11cc.png` }), jsxRuntime.jsx("link", { rel: "manifest", href: manifestUrl })]; if (ogImage) { metaIconTagsJSX = [jsxRuntime.jsx("meta", { property: "og:title", content: appTitle }), jsxRuntime.jsx("meta", { property: "og:image", content: `${cdnBaseUrl}/porsche-design-system/meta-icons/og-image.c880d39.png` }), jsxRuntime.jsx("meta", { name: "twitter:title", content: appTitle }), jsxRuntime.jsx("meta", { name: "twitter:card", content: "summary_large_image" }), jsxRuntime.jsx("meta", { name: "twitter:image", content: `${cdnBaseUrl}/porsche-design-system/meta-icons/og-image.c880d39.png` })].concat(metaIconTagsJSX); } return jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [...metaIconTagsJSX] }); } else { return { themeColor: [ { media: '(prefers-color-scheme: light)', color: '#FFF' }, { media: '(prefers-color-scheme: dark)', color: '#0E1418' }, ], appleWebApp: { title: appTitle, statusBarStyle: 'default', }, icons: { icon: [ { url: `${cdnBaseUrl}/porsche-design-system/meta-icons/favicon.ed9a926.ico`, sizes: "any" }, { url: `${cdnBaseUrl}/porsche-design-system/meta-icons/favicon-32x32.d42ac28.png`, sizes: '32x32', type: 'image/png' }, ], apple: `${cdnBaseUrl}/porsche-design-system/meta-icons/apple-touch-icon-180x180.bdf11cc.png`, }, manifest: `${manifestUrl}`, openGraph: { image: { url: `${cdnBaseUrl}/porsche-design-system/meta-icons/og-image.c880d39.png`, } } }; } } function getIconLinks(opts) { const { icons, cdn, format } = { icons: ['arrow-right'], cdn: 'auto', format: 'html', ...opts, }; throwIfRunInBrowser('getIconLinks'); const supportedIconNames = ["360", "4-wheel-drive", "accessibility", "active-cabin-ventilation", "add", "adjust", "aggregation", "arrow-compact-down", "arrow-compact-left", "arrow-compact-right", "arrow-compact-up", "arrow-double-down", "arrow-double-left", "arrow-double-right", "arrow-double-up", "arrow-down", "arrow-first", "arrow-head-down", "arrow-head-left", "arrow-head-right", "arrow-head-up", "arrow-last", "arrow-left", "arrow-right", "arrow-up", "arrows", "attachment", "augmented-reality", "battery-empty", "battery-empty-co2", "battery-empty-fuel", "battery-full", "battery-half", "battery-one-quarter", "battery-three-quarters", "bell", "bookmark", "bookmark-filled", "brain", "broadcast", "cabriolet", "calculator", "calendar", "camera", "car", "car-battery", "card", "charging-active", "charging-network", "charging-state", "charging-station", "chart", "chat", "check", "city", "climate", "climate-control", "clock", "close", "closed-caption", "cloud", "co2-class", "co2-emission", "color-picker", "compare", "compass", "configurate", "copy", "country-road", "coupe", "cubic-capacity", "cut", "delete", "disable", "dislike", "dislike-filled", "document", "door", "download", "drag", "duration", "ear", "edit", "email", "error", "error-filled", "exclamation", "exclamation-filled", "external", "fast-backward", "fast-forward", "file-csv", "file-excel", "filter", "fingerprint", "flag", "flash", "fuel-station", "garage", "genuine-parts", "geo-localization", "gift", "globe", "grid", "grip", "group", "hand", "heart", "heart-filled", "highway", "highway-filled", "history", "home", "horn", "image", "increase", "information", "information-filled", "key", "laptop", "leaf", "leather", "light", "like", "like-filled", "limousine", "linked", "list", "locate", "lock", "lock-open", "logo-apple-carplay", "logo-apple-music", "logo-apple-podcast", "logo-baidu", "logo-delicious", "logo-digg", "logo-facebook", "logo-foursquare", "logo-gmail", "logo-google", "logo-hatena", "logo-instagram", "logo-kaixin", "logo-kakaotalk", "logo-kununu", "logo-linkedin", "logo-naver", "logo-pinterest", "logo-qq", "logo-qq-share", "logo-reddit", "logo-skyrock", "logo-snapchat", "logo-sohu", "logo-spotify", "logo-tecent", "logo-telegram", "logo-tiktok", "logo-tumblr", "logo-twitter", "logo-viber", "logo-vk", "logo-wechat", "logo-weibo", "logo-whatsapp", "logo-x", "logo-xing", "logo-yahoo", "logo-youku", "logo-youtube", "logout", "map", "menu-dots-horizontal", "menu-dots-vertical", "menu-lines", "microphone", "minus", "mobile", "moon", "new-chat", "news", "north-arrow", "oil-can", "online-search", "parking-brake", "parking-light", "paste", "pause", "phone", "pin", "pin-filled", "pivot", "play", "plug", "plus", "preheating", "price-tag", "printer", "purchase", "push-pin", "push-pin-off", "qr", "qr-off", "question", "question-filled", "racing-flag", "radar", "radio", "refresh", "replay", "reset", "return", "road", "roof-closed", "roof-open", "route", "rss", "save", "screen", "search", "seat", "send", "service-technician", "share", "shopping-bag", "shopping-bag-filled", "shopping-cart", "shopping-cart-filled", "sidebar", "sidelights", "skip-backward", "skip-forward", "snowflake", "sort", "stack", "star", "star-filled", "steering-wheel", "stop", "stopwatch", "subtract", "success", "success-filled", "sun", "suv", "switch", "tablet", "tachometer", "theme", "tire", "trigger-finger", "truck", "turismo", "unlinked", "upload", "user", "user-filled", "user-group", "user-manual", "video", "view", "view-off", "volume-off", "volume-up", "warning", "warning-filled", "weather", "weight", "wifi", "work", "wrench", "wrenches", "zoom-in", "zoom-out"]; const invalidIconNames = icons.filter((x) => !supportedIconNames.includes(x)); if (invalidIconNames.length) { throw new Error(`[Porsche Design System] The following supplied icon names are invalid: ${invalidIconNames.join(', ')} Please use only valid icon names: ${supportedIconNames.join(', ')}`); } const cdnBaseUrl = getCdnBaseUrl(cdn); const manifest = { "360": "360.0600731.svg", "4-wheel-drive": "4-wheel-drive.9c218bf.svg", "accessibility": "accessibility.087d747.svg", "active-cabin-ventilation": "active-cabin-ventilation.b081399.svg", "add": "add.fac861a.svg", "adjust": "adjust.ca46bd4.svg", "aggregation": "aggregation.96f06e5.svg", "arrow-compact-down": "arrow-compact-down.9b37afe.svg", "arrow-compact-left": "arrow-compact-left.7169de6.svg", "arrow-compact-right": "arrow-compact-right.cc2d1d2.svg", "arrow-compact-up": "arrow-compact-up.36724bb.svg", "arrow-double-down": "arrow-double-down.61ae4d7.svg", "arrow-double-left": "arrow-double-left.1b576eb.svg", "arrow-double-right": "arrow-double-right.dcfabff.svg", "arrow-double-up": "arrow-double-up.fb73db5.svg", "arrow-down": "arrow-down.49c6983.svg", "arrow-first": "arrow-first.beb7d9f.svg", "arrow-head-down": "arrow-head-down.1e3cbb8.svg", "arrow-head-left": "arrow-head-left.cf1395d.svg", "arrow-head-right": "arrow-head-right.304b330.svg", "arrow-head-up": "arrow-head-up.6d3fd23.svg", "arrow-last": "arrow-last.cc24903.svg", "arrow-left": "arrow-left.e03c25b.svg", "arrow-right": "arrow-right.872716b.svg", "arrow-up": "arrow-up.9d294d1.svg", "arrows": "arrows.de040f9.svg", "attachment": "attachment.8f3dd0a.svg", "augmented-reality": "augmented-reality.8b6ce95.svg", "battery-empty": "battery-empty.38b4b15.svg", "battery-empty-co2": "battery-empty-co2.c4cabef.svg", "battery-empty-fuel": "battery-empty-fuel.e833e13.svg", "battery-full": "battery-full.03de75d.svg", "battery-half": "battery-half.11f1ef8.svg", "battery-one-quarter": "battery-one-quarter.91235a0.svg", "battery-three-quarters": "battery-three-quarters.dcf768f.svg", "bell": "bell.1eab3a2.svg", "bookmark": "bookmark.9d6982f.svg", "bookmark-filled": "bookmark-filled.327ac78.svg", "brain": "brain.838387a.svg", "broadcast": "broadcast.0ad5a15.svg", "cabriolet": "cabriolet.ab33aab.svg", "calculator": "calculator.a323a2d.svg", "calendar": "calendar.70a6a12.svg", "camera": "camera.e5e95b9.svg", "car": "car.35229c9.svg", "car-battery": "car-battery.895510f.svg", "card": "card.f284448.svg", "charging-active": "charging-active.c3aa214.svg", "charging-network": "charging-network.a40072f.svg", "charging-state": "charging-state.f56d8df.svg", "charging-station": "charging-station.5ff1ed4.svg", "chart": "chart.c8c32d2.svg", "chat": "chat.7945544.svg", "check": "check.8ba06be.svg", "city": "city.5ae672c.svg", "climate": "climate.a9d5818.svg", "climate-control": "climate-control.ce31939.svg", "clock": "clock.c88a1ef.svg", "close": "close.eec3c5d.svg", "closed-caption": "closed-caption.ceaf6cb.svg", "cloud": "cloud.2c3959e.svg", "co2-class": "co2-class.fc49211.svg", "co2-emission": "co2-emission.c42e7f8.svg", "color-picker": "color-picker.598f402.svg", "compare": "compare.6578829.svg", "compass": "compass.f90f319.svg", "configurate": "configurate.5311c8d.svg", "copy": "copy.0fcd086.svg", "country-road": "country-road.d2bbc5a.svg", "coupe": "coupe.7549e3e.svg", "cubic-capacity": "cubic-capacity.7b0b8c8.svg", "cut": "cut.851e5c2.svg", "delete": "delete.5a8c8ca.svg", "disable": "disable.5918c32.svg", "dislike": "dislike.51614b0.svg", "dislike-filled": "dislike-filled.e1a8c4d.svg", "document": "document.df36b6c.svg", "door": "door.61c32d6.svg", "download": "download.c06f455.svg", "drag": "drag.9e893fd.svg", "duration": "duration.94e5252.svg", "ear": "ear.27a802f.svg", "edit": "edit.330f321.svg", "email": "email.f2530de.svg", "error": "error.b8ae9ad.svg", "error-filled": "error-filled.a4d06ed.svg", "exclamation": "exclamation.46cd17b.svg", "exclamation-filled": "exclamation-filled.9d09ed1.svg", "external": "external.fb677b9.svg", "fast-backward": "fast-backward.a71faae.svg", "fast-forward": "fast-forward.1e6fa9f.svg", "file-csv": "file-csv.4140e24.svg", "file-excel": "file-excel.56d577d.svg", "filter": "filter.610f808.svg", "fingerprint": "fingerprint.6a85170.svg", "flag": "flag.7af5baf.svg", "flash": "flash.88a2ada.svg", "fuel-station": "fuel-station.f7bdf51.svg", "garage": "garage.5014e8d.svg", "genuine-parts": "genuine-parts.6bfddde.svg", "geo-localization": "geo-localization.516d603.svg", "gift": "gift.7beb1eb.svg", "globe": "globe.56cc8fc.svg", "grid": "grid.06bc31a.svg", "grip": "grip.5ec4289.svg", "group": "group.051436a.svg", "hand": "hand.4e85714.svg", "heart": "heart.9a5962e.svg", "heart-filled": "heart-filled.dd7decf.svg", "highway": "highway.bf0eb24.svg", "highway-filled": "highway-filled.38e93fb.svg", "history": "history.f09645c.svg", "home": "home.7b1d1da.svg", "horn": "horn.bf47b1a.svg", "image": "image.b2614f0.svg", "increase": "increase.700012f.svg", "information": "information.da41162.svg", "information-filled": "information-filled.8f08911.svg", "key": "key.ee5d89b.svg", "laptop": "laptop.c422480.svg", "leaf": "leaf.92ca6a6.svg", "leather": "leather.1d2769a.svg", "light": "light.f0eb8e4.svg", "like": "like.a7468cd.svg", "like-filled": "like-filled.a0126c1.svg", "limousine": "limousine.87799d5.svg", "linked": "linked.8f30cb5.svg", "list": "list.411dd00.svg", "locate": "locate.6554f9e.svg", "lock": "lock.243281a.svg", "lock-open": "lock-open.95803d2.svg", "logo-apple-carplay": "logo-apple-carplay.c872af9.svg", "logo-apple-music": "logo-apple-music.1395f37.svg", "logo-apple-podcast": "logo-apple-podcast.09be038.svg", "logo-baidu": "logo-baidu.9e89c7d.svg", "logo-delicious": "logo-delicious.e83f574.svg", "logo-digg": "logo-digg.f096670.svg", "logo-facebook": "logo-facebook.74abe88.svg", "logo-foursquare": "logo-foursquare.d638fd8.svg", "logo-gmail": "logo-gmail.5f96ee2.svg", "logo-google": "logo-google.1dee423.svg", "logo-hatena": "logo-hatena.da509f0.svg", "logo-instagram": "logo-instagram.b916daa.svg", "logo-kaixin": "logo-kaixin.b1211a2.svg", "logo-kakaotalk": "logo-kakaotalk.38f5396.svg", "logo-kununu": "logo-kununu.79344ff.svg", "logo-linkedin": "logo-linkedin.b72559f.svg", "logo-naver": "logo-naver.75588fe.svg", "logo-pinterest": "logo-pinterest.e8f6963.svg", "logo-qq": "logo-qq.6d9b6d9.svg", "logo-qq-share": "logo-qq-share.ee864d9.svg", "logo-reddit": "logo-reddit.da13e44.svg", "logo-skyrock": "logo-skyrock.eb2f28d.svg", "logo-snapchat": "logo-snapchat.ef706a2.svg", "logo-sohu": "logo-sohu.a30c66b.svg", "logo-spotify": "logo-spotify.2ec4b2d.svg", "logo-tecent": "logo-tecent.d119e85.svg", "logo-telegram": "logo-telegram.d151481.svg", "logo-tiktok": "logo-tiktok.2f3a465.svg", "logo-tumblr": "logo-tumblr.c689f44.svg", "logo-twitter": "logo-twitter.5f2490a.svg", "logo-viber": "logo-viber.198bd43.svg", "logo-vk": "logo-vk.37b94e0.svg", "logo-wechat": "logo-wechat.83b2b98.svg", "logo-weibo": "logo-weibo.c8dacee.svg", "logo-whatsapp": "logo-whatsapp.add9a6d.svg", "logo-x": "logo-x.5f2490a.svg", "logo-xing": "logo-xing.3a8df0f.svg", "logo-yahoo": "logo-yahoo.8cbd0ba.svg", "logo-youku": "logo-youku.fe988d0.svg", "logo-youtube": "logo-youtube.da3798f.svg", "logout": "logout.7ec7451.svg", "map": "map.c16f618.svg", "menu-dots-horizontal": "menu-dots-horizontal.788f7fa.svg", "menu-dots-vertical": "menu-dots-vertical.4970a65.svg", "menu-lines": "menu-lines.e332216.svg", "microphone": "microphone.8ecdce6.svg", "minus": "minus.f6d964c.svg", "mobile": "mobile.7f35446.svg", "moon": "moon.5b73246.svg", "new-chat": "new-chat.95ffd2e.svg", "news": "news.5b604b0.svg", "north-arrow": "north-arrow.2da1dbe.svg", "oil-can": "oil-can.cb58fc7.svg", "online-search": "online-search.90e9ab1.svg", "parking-brake": "parking-brake.45704bd.svg", "parking-light": "parking-light.c49a231.svg", "paste": "paste.dd60261.svg", "pause": "pause.e41b935.svg", "phone": "phone.f4f774b.svg", "pin": "pin.3417cec.svg", "pin-filled": "pin-filled.7b8e9ba.svg", "pivot": "pivot.3ae18b8.svg", "play": "play.24226d4.svg", "plug": "plug.c159935.svg", "plus": "plus.319993e.svg", "preheating": "preheating.e2a796f.svg", "price-tag": "price-tag.f0d3917.svg", "printer": "printer.f59b0ee.svg", "purchase": "purchase.9cd6d65.svg", "push-pin": "push-pin.89e4ead.svg", "push-pin-off": "push-pin-off.ba99213.svg", "qr": "qr.87a49a3.svg", "qr-off": "qr-off.64e21b9.svg", "question": "question.3402a63.svg", "question-filled": "question-filled.cf25dd5.svg", "racing-flag": "racing-flag.b7ddcc8.svg", "radar": "radar.de5a6c1.svg", "radio": "radio.2b48e53.svg", "refresh": "refresh.41fd868.svg", "replay": "replay.55a99f2.svg", "reset": "reset.e53d52f.svg", "return": "return.46d30de.svg", "road": "road.bd3d4bc.svg", "roof-closed": "roof-closed.018d021.svg", "roof-open": "roof-open.51c8ee6.svg", "route": "route.f4fbbb4.svg", "rss": "rss.0e77baf.svg", "save": "save.6171ff5.svg", "screen": "screen.420be15.svg", "search": "search.3f0f1ce.svg", "seat": "seat.a3ebc40.svg", "send": "send.b32099c.svg", "service-technician": "service-technician.8749028.svg", "share": "share.a0b30da.svg", "shopping-bag": "shopping-bag.3f91a9b.svg", "shopping-bag-filled": "shopping-bag-filled.abf6c98.svg", "shopping-cart": "shopping-cart.370e224.svg", "shopping-cart-filled": "shopping-cart-filled.e0c3a65.svg", "sidebar": "sidebar.8e43896.svg", "sidelights": "sidelights.65c9dd9.svg", "skip-backward": "skip-backward.cd25ac5.svg", "skip-forward": "skip-forward.001e97f.svg", "snowflake": "snowflake.83907b3.svg", "sort": "sort.92b50bd.svg", "stack": "stack.804af93.svg", "star": "star.4c5bb15.svg", "star-filled": "star-filled.84ef2f6.svg", "steering-wheel": "steering-wheel.4dea19e.svg", "stop": "stop.173b6ac.svg", "stopwatch": "stopwatch.0e048a4.svg", "subtract": "subtract.57eed1d.svg", "success": "success.b16d4c1.svg", "success-filled": "success-filled.1832d98.svg", "sun": "sun.4301cbd.svg", "suv": "suv.33ac4aa.svg", "switch": "switch.66f74c4.svg", "tablet": "tablet.07341ac.svg", "tachometer": "tachometer.3a2fc3c.svg", "theme": "theme.08f6508.svg", "tire": "tire.e5c9372.svg", "trigger-finger": "trigger-finger.65aa6e2.svg", "truck": "truck.2c26c04.svg", "turismo": "turismo.a066b9f.svg", "unlinked": "unlinked.e9afe39.svg", "upload": "upload.d1f5a2a.svg", "user": "user.c18dabe.svg", "user-filled": "user-filled.2ea646d.svg", "user-group": "user-group.79cdf86.svg", "user-manual": "user-manual.470e243.svg", "video": "video.7590689.svg", "view": "view.5b4d7f6.svg", "view-off": "view-off.a4ede54.svg", "volume-off": "volume-off.bcd49e7.svg", "volume-up": "volume-up.2084f60.svg", "warning": "warning.59927e6.svg", "warning-filled": "warning-filled.1f6fe21.svg", "weather": "weather.9c96bd7.svg", "weight": "weight.b57a60d.svg", "wifi": "wifi.e2a8d9c.svg", "work": "work.9dd71a4.svg", "wrench": "wrench.09a2a67.svg", "wrenches": "wrenches.d2ed45d.svg", "zoom-in": "zoom-in.ff299b8.svg", "zoom-out": "zoom-out.ebb6246.svg" }; const urls = icons.map((icon) => `${cdnBaseUrl}/porsche-design-system/icons/${manifest[icon]}`); const linksHtml = urls .map((url) => `<link rel=prefetch href=${url} as=image type=image/svg+xml crossorigin>`) .join(''); if (format === 'html') { return linksHtml; } else if (format === 'jsx') { const linksJsx = urls.map((url, index) => jsxRuntime.jsx("link", { rel: "prefetch", href: url, as: "image", type: "image/svg+xml", crossOrigin: "" }, index)); return jsxRuntime.jsx(jsxRuntime.Fragment, { children: linksJsx }); } else { return urls.map((url) => ({ href: url })); } } function getLoaderScript(opts) { const { prefix, format } = { prefix: undefined, format: 'html', ...opts, }; throwIfRunInBrowser('getLoaderScript'); const scriptProps = { 'data-pds-loader-script': '' }; const scriptAttributes = convertPropsToAttributeString(scriptProps); const loadCalls = prefix ? (Array.isArray(prefix) ? prefix : [prefix]).map((x) => `porscheDesignSystem.load({prefix:'${x}'})`).join(';') : 'porscheDesignSystem.load()'; const scriptContent = "var porscheDesignSystem;(()=>{\"use strict\";var e={d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})}},t={};e.r(t),e.d(t,{load:()=>r});const n=\"porscheDesignSystem\";function o(){return document[n]||(document[n]={}),document[n]}function s({script:e,version:t,prefix:s}){const r=function(e){const t=o(),{[e]:n}=t;if(!n){let n=()=>{};const o=new Promise((e=>n=e));t[e]={isInjected:!1,isReady:()=>o,readyResolve:n,prefixes:[],registerCustomElements:null}}return t[e]}(t),{isInjected:i,prefixes:c=[],registerCustomElements:d}=r,[u]=Object.entries(o()).filter((([e,n])=>e!==t&&\"object\"==typeof n&&n.prefixes.includes(s)));if(u)throw new Error(`[Porsche Design System v${t}] prefix '${s}' is already registered with version '${u[0]}' of the Porsche Design System. Please use a different one.\\nTake a look at document.${n} for more details.`);i||(function(e){const t=document.createElement(\"script\");t.src=e,t.setAttribute(\"crossorigin\",\"\"),document.body.appendChild(t)}(e),r.isInjected=!0),c.includes(s)||(c.push(s),d&&d(s))}const r=(e={})=>{const t=\"PORSCHE_DESIGN_SYSTEM_CDN\";window[t]=e.cdn||window[t]||(window.location.origin.match(/\\.cn$/)?\"cn\":\"auto\");const n=\"porscheDesignSystem\";document[n]||(document[n]={}),document[n].cdn={url:\"https://cdn.ui.porsche.\"+(\"cn\"===window[t]?\"cn\":\"com\"),prefixes:[]},s({version:\"3.27.3\",script:document[n].cdn.url+\"/porsche-design-system/components/porsche-design-system.v3.27.3.d37becfa7aa74c89c71e.js\",prefix:e.prefix||\"\"})};porscheDesignSystem=t})();" + loadCalls; // there is no other solution than using dangerouslySetInnerHTML since JSX elements are rendered by the createElement() function // https://stackoverflow.com/a/64815699 return format === 'sha256' ? getSha256Hash(scriptContent) : format === 'html' ? `<script ${scriptAttributes}>${scriptContent}</script>` : jsxRuntime.jsx("script", { ...scriptProps, dangerouslySetInnerHTML: { __html: scriptContent } }); } function getBrowserSupportFallbackScript(opts) { const { cdn, format } = { cdn: 'auto', format: 'html', ...opts, }; throwIfRunInBrowser('getBrowserSupportFallbackScript'); const cdnBaseUrl = getCdnBaseUrl(cdn); const scriptContent = `!function(){if(["IntersectionObserver","MutationObserver","customElemen