@venqoo/brand 0.0.0-stage → 0.1.1

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.
package/BRAND.md ADDED
@@ -0,0 +1,16 @@
1
+ # Brand notice
2
+
3
+ The code in this package is MIT licensed (see `LICENSE`). The venqoo name, the
4
+ UFO mark, the wordmark and the files under `assets/` are trademarks and
5
+ artwork of venqoo GmbH and are **not** covered by that licence.
6
+
7
+ They are included so that websites and apps built by venqoo can credit venqoo,
8
+ and so that venqoo's own projects share one source of truth. You may use them
9
+ to refer to venqoo, for example in a footer credit or an imprint. Please do not
10
+ use them to suggest that venqoo endorses or made something it did not, alter
11
+ the mark, or use the name or mark as part of your own branding.
12
+
13
+ The embedded wordmark face is a subset of [Archivo](https://github.com/Omnibus-Type/Archivo),
14
+ licensed under the SIL Open Font License 1.1.
15
+
16
+ Questions: contact@venqoo.com
package/LICENSE ADDED
@@ -0,0 +1,27 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 venqoo GmbH
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ ---
24
+
25
+ The stylesheet embeds a subset of the Archivo typeface (Omnibus-Type),
26
+ licensed under the SIL Open Font License 1.1. The venqoo name, UFO mark and
27
+ wordmark are trademarks of venqoo GmbH and are not covered by this license.
package/README.md CHANGED
@@ -1,3 +1,185 @@
1
- # Temporary Holding Version
1
+ # @venqoo/brand
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ The venqoo brand kit: the palette, the type contract, the UFO mark and
4
+ wordmark, the SVG files, and "Made by venqoo" credit components for websites
5
+ and apps built by [venqoo](https://www.venqoo.com). React components plus two
6
+ self-contained stylesheets — no runtime dependencies, no network requests, no
7
+ styles leaking into the host site.
8
+
9
+ ```bash
10
+ npm install @venqoo/brand
11
+ ```
12
+
13
+ | Import | What you get |
14
+ | ---------------------------- | -------------------------------------------------------------- |
15
+ | `@venqoo/brand` | Everything below, re-exported |
16
+ | `@venqoo/brand/colors` | The palette as constants, light and dark |
17
+ | `@venqoo/brand/fonts` | Font stacks and the wordmark's face settings |
18
+ | `@venqoo/brand/marks` | `UfoMark`, `Heart`, `Logo` React components |
19
+ | `@venqoo/brand/credit` | `Credit` and `ImprintCredit` React components |
20
+ | `@venqoo/brand/styles.css` | `--vq-*` custom properties, the wordmark face, `.vq-logo` |
21
+ | `@venqoo/brand/credit.css` | Styles for the credit components, self-contained |
22
+ | `@venqoo/brand/assets/*.svg` | The logo and the UFO mark as files |
23
+
24
+ The React components work with React 18 and 19. Everything else is plain CSS,
25
+ JSON-shaped constants and SVG files, usable from any framework.
26
+
27
+ ## Credit components
28
+
29
+ ```tsx
30
+ import { Credit, ImprintCredit } from '@venqoo/brand/credit'
31
+ import '@venqoo/brand/credit.css'
32
+
33
+ // footer
34
+ <Credit /> // Made with ♥ by venqoo in Würzburg
35
+ <Credit variant="pill" theme="dark" /> // outline pill on a dark footer
36
+
37
+ // imprint / legal notice
38
+ <ImprintCredit /> // heading, sentence, address
39
+ <ImprintCredit
40
+ variant="card"
41
+ roles={[
42
+ { term: 'App', detail: 'iOS & Android' },
43
+ { term: 'Backend', detail: 'API & integrations' },
44
+ ]}
45
+ />
46
+ ```
47
+
48
+ Every variant is a single link to `https://www.venqoo.com` that opens in a new
49
+ tab. Copy is English only.
50
+
51
+ ### `<Credit>` — footer credit
52
+
53
+ | `variant` | Renders |
54
+ | ------------- | -------------------------------------------------- |
55
+ | `heart` | Made with ♥ by **venqoo** in Würzburg (default) |
56
+ | `mark` | UFO mark · Designed & built by **venqoo** |
57
+ | `pill` | Outline pill with the mark · Made by venqoo |
58
+ | `pill-signal` | Orange pill, white mark · Made with love by venqoo |
59
+
60
+ `heart` and `mark` inherit the host's font, size and text colour, so they sit
61
+ in any footer's legal bar; only the heart, the mark and the hover state use
62
+ venqoo orange. The two pills bring their own surface and type.
63
+
64
+ ### `<ImprintCredit>` — Impressum / legal notice
65
+
66
+ | `variant` | Renders |
67
+ | --------- | ----------------------------------------------------------------------- |
68
+ | `section` | Heading, sentence, address with links (default); inherits the page type |
69
+ | `card` | Bordered card: eyebrow, logo, **project roles**, address, link |
70
+
71
+ `roles` is how a project says what venqoo was responsible for. It is an array of
72
+ `{ term, detail }`, shown as a definition list on `card`. The default list is
73
+ concept / design / development / operations; pass your own, or `[]` to hide it.
74
+ `children` replaces the descriptive sentence on `section`, and `headingLevel`
75
+ (2–4) matches the imprint's other headings.
76
+
77
+ ### Shared props
78
+
79
+ | Prop | Type | Default |
80
+ | ----------- | ----------------------------- | ------------------------ |
81
+ | `theme` | `'light' \| 'dark' \| 'auto'` | `'light'` |
82
+ | `href` | `string` | `https://www.venqoo.com` |
83
+ | `newTab` | `boolean` | `true` |
84
+ | `className` | `string` | — |
85
+
86
+ `theme` switches the colour tokens: use `dark` for a dark footer, `auto` on
87
+ sites with a colour-scheme toggle (it follows `prefers-color-scheme`). The
88
+ component cannot see what it sits on, so `light` is the predictable default.
89
+
90
+ ### Styling the credit
91
+
92
+ All credit styles live under `.vq-credit` and are driven by CSS custom
93
+ properties (`--vqc-text`, `--vqc-muted`, `--vqc-line`, `--vqc-surface`,
94
+ `--vqc-signal`, …). Override them on a wrapper or via `className` to tune a
95
+ variant to a client's palette. `credit.css` is self-contained: it does not
96
+ need `styles.css`.
97
+
98
+ ## Colours
99
+
100
+ ```ts
101
+ import { colors } from '@venqoo/brand/colors'
102
+
103
+ colors.light.signal // '#c8410e'
104
+ colors.dark.text // '#f4efe9'
105
+ ```
106
+
107
+ | Name | Light | Dark | Use |
108
+ | -------------- | --------- | --------- | -------------------------------- |
109
+ | `page` | `#fefcfa` | `#0c0a09` | Page background |
110
+ | `surface` | `#ffffff` | `#191512` | Raised panels and cards |
111
+ | `line` | `#ece4da` | `#282220` | Hairline borders |
112
+ | `signal` | `#c8410e` | `#e94e1b` | Brand orange |
113
+ | `signalBright` | `#e94e1b` | `#ff6a35` | Hover states and gradients |
114
+ | `text` | `#211b16` | `#f4efe9` | Primary text |
115
+ | `muted` | `#6e645b` | `#a89f96` | Muted text |
116
+ | `onSignal` | `#ffffff` | `#ffffff` | Text and marks on the signal |
117
+
118
+ `styles.css` sets the same values as `--vq-page`, `--vq-surface`, `--vq-line`,
119
+ `--vq-signal`, `--vq-signal-bright`, `--vq-text`, `--vq-muted` and
120
+ `--vq-on-signal` on `:root`, and switches to the dark scheme under `.dark` or
121
+ `[data-theme="dark"]`. A test keeps the constants and both stylesheets in sync.
122
+
123
+ ## Type
124
+
125
+ ```ts
126
+ import { fonts } from '@venqoo/brand/fonts'
127
+
128
+ fonts.sans // '"Archivo", system-ui, sans-serif'
129
+ fonts.mono // '"JetBrains Mono", ui-monospace, monospace'
130
+ fonts.wordmark // { family: 'Archivo', stretch: '118%', weight: 500 }
131
+ ```
132
+
133
+ Archivo for everything, JetBrains Mono for code. The package does not ship
134
+ font files; load them from Google Fonts or Fontsource. `styles.css` exposes the
135
+ stacks as `--vq-font-sans` and `--vq-font-mono`.
136
+
137
+ ## Marks and logo
138
+
139
+ ```tsx
140
+ import { Logo, UfoMark } from '@venqoo/brand/marks'
141
+ import '@venqoo/brand/styles.css'
142
+
143
+ <Logo style={{ fontSize: 24 }} /> // mark + wordmark, sized by font size
144
+ <UfoMark style={{ height: 32 }} /> // the mark alone, fills with currentColor
145
+ ```
146
+
147
+ `UfoMark` is decorative (`aria-hidden`) and inherits `currentColor`. `Logo`
148
+ needs `styles.css` for the wordmark, which uses a 1 KB subset of Archivo
149
+ embedded in the stylesheet so it renders identically everywhere.
150
+
151
+ The same artwork as files, under `assets/`:
152
+
153
+ | File | Mark colour |
154
+ | ------------------------ | ---------------------------------- |
155
+ | `venqoo-logo.svg` | Full logo with wordmark, orange |
156
+ | `venqoo-ufo-signal.svg` | Orange (`#e94e1b`) |
157
+ | `venqoo-ufo-ink.svg` | Near-black (`#211b16`) |
158
+ | `venqoo-ufo-chalk.svg` | Off-white (`#f4efe9`) |
159
+ | `venqoo-ufo-white.svg` | White |
160
+ | `venqoo-ufo-orange.svg` | White mark on an orange tile |
161
+
162
+ ```ts
163
+ import logoUrl from '@venqoo/brand/assets/venqoo-logo.svg'
164
+ ```
165
+
166
+ ## Company facts
167
+
168
+ `VENQOO` holds the name, legal name, address, URL and e-mail the imprint
169
+ renders, in case a project needs them elsewhere.
170
+
171
+ ## Licence
172
+
173
+ The code is MIT. The venqoo name, mark and wordmark are trademarks of venqoo
174
+ GmbH and are included for crediting venqoo; see [BRAND.md](./BRAND.md).
175
+
176
+ ## Development
177
+
178
+ ```bash
179
+ pnpm install
180
+ pnpm check # lint, typecheck, test, build
181
+ pnpm storybook # stories under Brand/ and Credit/
182
+ ```
183
+
184
+ Releases are published to npm by `.github/workflows/release.yml` when a `v*`
185
+ tag is pushed.
@@ -0,0 +1,37 @@
1
+ <?xml version="1.0"?>
2
+
3
+ <svg version="1.0" id="Ebene_2_Kopie" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="340px" height="190px" viewBox="0 0 340 190" enable-background="new 0 0 340 190" xml:space="preserve">
4
+ <g>
5
+ &#x9;<path fill="#E94E1B" d="M5.0343485,175.7177429h1.7689886v13.1691132H5.0343485V175.7177429z"></path>
6
+ &#x9;<path fill="#E94E1B" d="M12.9947824,175.7177429h10.712184c4.4224644,0,5.6017857,1.375885,5.6017857,6.5845795&#xA;&#x9;&#x9;c0,4.815567-1.1793213,6.5845642-5.7000675,6.5845642H12.9947672L12.9947824,175.7177429L12.9947824,175.7177429z&#xA;&#x9;&#x9; M27.5397778,181.712616c0-3.8327942-1.1793213-4.5207367-3.3414116-4.5207367h-9.3363123v10.3190765h9.0414782&#xA;&#x9;&#x9;c2.1620922,0,3.6362457-0.4913788,3.6362457-4.4224701V181.712616z"></path>
7
+ &#x9;<path fill="#E94E1B" d="M35.2053871,175.7177429h12.9725571v1.4741669H36.9743729v4.2258911h10.7121849v1.4741516H36.9743729&#xA;&#x9;&#x9;v4.6190338h11.2035713v1.4741516H35.1071014L35.2053871,175.7177429L35.2053871,175.7177429z"></path>
8
+ &#x9;<path fill="#E94E1B" d="M60.0694656,175.7177429h2.2603722l7.8621559,13.1691132h-2.0638199l-1.6707077-2.7517395H55.8435516&#xA;&#x9;&#x9;l-1.6707077,2.7517395H52.109024L60.0694656,175.7177429z M61.1505013,177.1919098l-4.4224625,7.4690552h8.8449287&#xA;&#x9;&#x9;L61.1505013,177.1919098z"></path>
9
+ &#x9;<path fill="#E94E1B" d="M74.5161743,184.7592163h1.6707077v0.884491c0,1.2775879,0.6879349,1.8672485,2.9483109,1.8672485H84.63871&#xA;&#x9;&#x9;c2.5552063,0,3.3414078-0.5896606,3.3414078-2.4569244c0-1.6707153-0.6879349-2.0638275-2.8500214-2.0638275h-3.4396973&#xA;&#x9;&#x9;c-5.4052353,0-7.2724915-0.2948151-7.2724915-3.8327942c0-3.0465851,1.7689896-3.636261,5.5035172-3.636261h3.8327942&#xA;&#x9;&#x9;c4.4224701,0,5.5035172,1.1793365,5.5035172,3.4396973v0.4913788h-1.6707001c0-2.0638123-0.294838-2.4569244-4.9138489-2.4569244&#xA;&#x9;&#x9;h-1.8672562c-3.4396973,0-4.7173004,0.196579-4.7173004,2.3586426c0,1.5724487,0.4913864,2.0638275,3.2431412,2.0638275h5.3069534&#xA;&#x9;&#x9;c3.4396896,0,4.9138489,0.9827728,4.9138489,3.2431335v0.8844757c0,3.2431335-2.6534729,3.4396973-5.3069534,3.4396973h-4.9138489&#xA;&#x9;&#x9;c-2.6534729,0-4.9138489-0.4913788-4.9138489-3.3414001L74.5161743,184.7592163L74.5161743,184.7592163z"></path>
10
+ &#x9;<path fill="#E94E1B" d="M127.6840134,184.1695404c0,3.636261-1.1793213,4.9138489-4.4224625,4.9138489h-7.3707733&#xA;&#x9;&#x9;c-3.5379791,0-4.7173004-1.5724335-4.7173004-4.9138489v-3.636261c0-3.3414001,1.1793213-4.9138489,4.7173004-4.9138489h6.781105&#xA;&#x9;&#x9;c2.3586426,0,4.9138489,0.5896759,4.9138489,3.636261v0.491394h-1.7689743c0-2.4569244-0.7862167-2.6534882-5.2086792-2.6534882&#xA;&#x9;&#x9;h-4.6190186c-1.6707077,0-3.1448593,0.4913788-3.1448593,2.8500214v4.9138489c0,2.2603607,1.3758698,2.8500214,3.1448593,2.8500214&#xA;&#x9;&#x9;h6.9776688c1.7689896,0,2.850029-0.5896606,2.850029-2.4569244v-1.3758392h-6.781105v-1.4741516h8.5500946L127.6840134,184.1695404&#xA;&#x9;&#x9;L127.6840134,184.1695404z"></path>
11
+ &#x9;<path fill="#E94E1B" d="M133.1875305,180.5333099c0-3.3414001,1.1793213-4.9138489,4.7173004-4.9138489h7.5673218&#xA;&#x9;&#x9;c3.5379791,0,4.7172852,1.5724487,4.7172852,4.9138489v3.636261c0,3.3414154-1.1793365,4.9138489-4.7173004,4.9138489h-7.5673218&#xA;&#x9;&#x9;c-3.5379791,0-4.7173004-1.5724335-4.7173004-4.9138489L133.1875305,180.5333099L133.1875305,180.5333099z&#xA;&#x9;&#x9; M148.4204559,179.8453674c0-2.2603607-1.3758698-2.8500366-3.1448517-2.8500366h-7.2724915&#xA;&#x9;&#x9;c-1.6707001,0-3.1448669,0.491394-3.1448669,2.8500366v4.9138489c0,2.2603607,1.3758698,2.8500214,3.1448669,2.8500214h7.2724915&#xA;&#x9;&#x9;c1.6707001,0,3.1448517-0.4913788,3.1448517-2.8500214V179.8453674z"></path>
12
+ &#x9;<path fill="#E94E1B" d="M156.1843414,175.7177429h1.7689667v13.1691132h-1.7689667V175.7177429z"></path>
13
+ &#x9;<path fill="#E94E1B" d="M164.1447754,175.7177429h2.6534882l12.0880585,11.5966797v-11.5966797h1.7689819v13.1691132h-2.6534882&#xA;&#x9;&#x9;l-12.0880585-11.5966644v11.5966644h-1.7689819V175.7177429z"></path>
14
+ &#x9;<path fill="#E94E1B" d="M202.9641876,184.1695404c0,3.636261-1.1793365,4.9138489-4.4224701,4.9138489h-7.3707733&#xA;&#x9;&#x9;c-3.5379791,0-4.7172852-1.5724335-4.7172852-4.9138489v-3.636261c0-3.3414001,1.1793365-4.9138489,4.7172852-4.9138489h6.7811127&#xA;&#x9;&#x9;c2.3586426,0,4.9138489,0.5896759,4.9138489,3.636261v0.491394h-1.6707306c0-2.4569244-0.7861938-2.6534882-5.2086639-2.6534882&#xA;&#x9;&#x9;h-4.6190338c-1.6707153,0-3.1448669,0.4913788-3.1448669,2.8500214v4.9138489c0,2.2603607,1.3758698,2.8500214,3.1448669,2.8500214&#xA;&#x9;&#x9;h6.9776764c1.7689819,0,2.8500214-0.5896606,2.8500214-2.4569244v-1.3758392h-6.7810974v-1.4741516h8.5501099V184.1695404z"></path>
15
+ &#x9;<path fill="#E94E1B" d="M224.6834106,175.7177429h2.7517395l7.6655884,11.1052856l7.6655884-11.1052856h2.7517548v13.1691132&#xA;&#x9;&#x9;h-1.7689514v-11.5966644l0,0l-8.0587158,11.5966644h-1.2775879l-8.0587311-11.5966644l0,0v11.5966644h-1.7689667v-13.1691132&#xA;&#x9;&#x9;H224.6834106z"></path>
16
+ &#x9;<path fill="#E94E1B" d="M251.4147186,180.5333099c0-3.3414001,1.1793365-4.9138489,4.7173004-4.9138489h7.5673218&#xA;&#x9;&#x9;c3.5379944,0,4.7172852,1.5724487,4.7172852,4.9138489v3.636261c0,3.3414154-1.1793213,4.9138489-4.7172852,4.9138489h-7.5673218&#xA;&#x9;&#x9;c-3.5379944,0-4.7173004-1.5724335-4.7173004-4.9138489V180.5333099z M266.647644,179.8453674&#xA;&#x9;&#x9;c0-2.2603607-1.3758545-2.8500366-3.1448669-2.8500366h-7.2724915c-1.6707153,0-3.1448669,0.491394-3.1448669,2.8500366v4.9138489&#xA;&#x9;&#x9;c0,2.2603607,1.3758698,2.8500214,3.1448669,2.8500214h7.2724915c1.6707153,0,3.1448669-0.4913788,3.1448669-2.8500214V179.8453674&#xA;&#x9;&#x9;z"></path>
17
+ &#x9;<path fill="#E94E1B" d="M274.3132935,175.7177429h11.3018494c2.7517395,0,3.5379639,1.375885,3.5379639,2.9483185v1.1793365&#xA;&#x9;&#x9;c0,0.9827728-0.491394,1.8672485-2.1621094,2.0638123v0.0982819c1.375885,0.0982971,2.6535034,0.5896759,2.6535034,2.6535034&#xA;&#x9;&#x9;v1.5724335c0,1.8672485-1.6707153,2.8500214-3.8327942,2.8500214h-11.4984131V175.7177429z M287.2858276,178.5677795&#xA;&#x9;&#x9;c0-1.1793365-1.375885-1.3758698-1.8672485-1.3758698h-9.3363342v4.2258911h9.2380371&#xA;&#x9;&#x9;c0.9827576,0,1.9655457-0.2948151,1.9655457-1.6707153V178.5677795z M287.7772217,184.7592163&#xA;&#x9;&#x9;c0-1.6707306-0.884491-1.8672638-2.5552368-1.8672638h-9.13974v4.6190338h9.4346008&#xA;&#x9;&#x9;c1.6707153,0,2.260376-0.5896606,2.260376-1.7689667V184.7592163z"></path>
18
+ &#x9;<path fill="#E94E1B" d="M295.5411072,175.7177429h1.7689819v13.1691132h-1.7689819V175.7177429z"></path>
19
+ &#x9;<path fill="#E94E1B" d="M303.5997925,175.7177429h1.7689819v11.6949615h10.2207947v1.4741516H303.599762L303.5997925,175.7177429&#xA;&#x9;&#x9;L303.5997925,175.7177429z"></path>
20
+ &#x9;<path fill="#E94E1B" d="M320.3068848,175.7177429H333.27948v1.4741669h-11.2035828v4.2258911h10.7121887v1.4741516h-10.7121887&#xA;&#x9;&#x9;v4.6190338H333.27948v1.4741516h-13.0708313L320.3068848,175.7177429L320.3068848,175.7177429z"></path>
21
+ </g>
22
+ <path fill="#646363" d="M257.0163879,154.6603699c-12.2250366,0-22.170639-9.9460754-22.170639-22.1711273&#xA;&#x9;s9.9456024-22.1706467,22.170639-22.1706467c12.2250671,0,22.1711426,9.9456024,22.1711426,22.1706467&#xA;&#x9;S269.2414551,154.6603699,257.0163879,154.6603699z M257.0163879,112.5980453&#xA;&#x9;c-10.9682312,0-19.8911896,8.922966-19.8911896,19.8911972s8.9229584,19.8916779,19.8911896,19.8916779&#xA;&#x9;s19.8916931-8.9234467,19.8916931-19.8916779S267.9846191,112.5980453,257.0163879,112.5980453z"></path>
23
+ <path fill="#646363" d="M198.9350586,154.6603699c-12.2250519,0-22.1711273-9.9460754-22.1711273-22.1711273&#xA;&#x9;s9.9460754-22.1706467,22.1711273-22.1706467s22.170639,9.9456024,22.170639,22.1706467&#xA;&#x9;S211.1601105,154.6603699,198.9350586,154.6603699z M198.9350586,112.5980453&#xA;&#x9;c-10.9682312,0-19.8916779,8.922966-19.8916779,19.8911972s8.9234467,19.8916779,19.8916779,19.8916779&#xA;&#x9;s19.8911896-8.9234467,19.8911896-19.8916779S209.9032898,112.5980453,198.9350586,112.5980453z"></path>
24
+ <path fill="#646363" d="M315.0003052,154.6603699c-12.2250366,0-22.1711121-9.9460754-22.1711121-22.1711273&#xA;&#x9;s9.9460754-22.1706467,22.1711121-22.1706467c12.2245789,0,22.1697083,9.9456024,22.1697083,22.1706467&#xA;&#x9;S327.224884,154.6603699,315.0003052,154.6603699z M315.0003052,112.5980453&#xA;&#x9;c-10.9682312,0-19.8916626,8.922966-19.8916626,19.8911972s8.9234314,19.8916779,19.8916626,19.8916779&#xA;&#x9;s19.8912048-8.9234467,19.8912048-19.8916779S325.9685364,112.5980453,315.0003052,112.5980453z"></path>
25
+ <path fill="#646363" d="M82.9681778,154.5619965c-12.2250519,0-22.1711311-9.9456024-22.1711311-22.1706543&#xA;&#x9;s9.9460793-22.1711197,22.1711311-22.1711197s22.1706467,9.9460754,22.1706467,22.1711197v1.1397247H72.255722v-2.2794495&#xA;&#x9;h30.5714951c-0.5921783-10.4403534-9.2732773-18.7519455-19.8590393-18.7519455&#xA;&#x9;c-10.9682388,0-19.8916817,8.9234467-19.8916817,19.8916702s8.9234428,19.8912048,19.8916817,19.8912048V154.5619965z"></path>
26
+ <g>
27
+ &#x9;<path fill="#646363" d="M163.1222687,153.5206451h-2.2794495v-21.0314026c0-10.9682312-8.9229736-19.8911972-19.8912048-19.8911972&#xA;&#x9;&#x9;s-19.8916779,8.922966-19.8916779,19.8911972v20.9330292h-2.2794495v-20.9330292&#xA;&#x9;&#x9;c0-12.2250443,9.9460754-22.1706467,22.1711273-22.1706467s22.1706543,9.9456024,22.1706543,22.1706467V153.5206451z"></path>
28
+ </g>
29
+ <polygon fill="#646363" points="24.8863564,155.1416931 2.8399999,111.9766006 4.8699098,110.9400482 24.8863564,150.1307526 &#xA;&#x9;44.9028053,110.9400482 46.9327126,111.9766006 "></polygon>
30
+ <rect x="218.8262482" y="132.4892426" fill="#646363" width="2.2794497" height="33.4277496"></rect>
31
+ <path fill="#E8501D" d="M139.7563171,53.2897949c-1.0015717-0.1240997-1.9053497,0.5903282-2.0228729,1.5849571&#xA;&#x9;l-2.1250458,17.5752296c-0.2697754,0.0720062-0.5387115,0.1551132-0.8007812,0.2761154&#xA;&#x9;c-2.4680634,1.1394501-3.5451355,4.064003-2.4056854,6.5320587c1.1394653,2.4680557,4.0639648,3.5450287,6.5320282,2.405571&#xA;&#x9;c2.4680481-1.1394577,3.5450745-4.063858,2.4056091-6.5319138c-0.4618378-1.0003586-1.2240295-1.7572174-2.1231232-2.2455826&#xA;&#x9;l2.1248322-17.5735474C141.4612885,54.3149529,140.7524414,53.4105492,139.7563171,53.2897949z"></path>
32
+ <path display="none" fill="#FFFFFF" d="M139.5302429,53.2757874c0.0744629,0,0.1501465,0.0045929,0.2260742,0.0140076&#xA;&#x9;c0.9960938,0.1207581,1.7050781,1.0251617,1.5849609,2.0228882l-2.1247559,17.5735474&#xA;&#x9;c0.8989258,0.4883728,1.6611328,1.245224,2.1230469,2.245575c1.1394043,2.4680634,0.0625,5.3924713-2.4055176,6.5319366&#xA;&#x9;c-0.6682129,0.3084412-1.3696289,0.4544678-2.0603027,0.4544678c-1.8603516,0-3.6408691-1.0600586-4.4719238-2.8600464&#xA;&#x9;c-1.1394043-2.4680481-0.0622559-5.3926086,2.4057617-6.532074c0.262207-0.1209869,0.5310059-0.2041016,0.8007812-0.2761078&#xA;&#x9;l2.125-17.5752258C137.8420105,53.9555817,138.6220398,53.2757874,139.5302429,53.2757874 M139.5302429,52.5257874&#xA;&#x9;c-1.2966309,0-2.3891602,0.9719543-2.541748,2.2608643l-2.065918,17.0870056&#xA;&#x9;c-0.1381836,0.0477905-0.2834473,0.1041718-0.4291992,0.1714325c-2.8398438,1.3110809-4.0834961,4.6878662-2.7724609,7.5274353&#xA;&#x9;c0.9245605,2.0020752,2.9470215,3.2956848,5.152832,3.2956848c0.8232422,0,1.6220703-0.1761475,2.3747559-0.5235291&#xA;&#x9;c2.8393555-1.3109436,4.0830078-4.6876526,2.7719727-7.5272369c-0.4372559-0.9469757-1.1235352-1.7417603-2.0012207-2.3229523&#xA;&#x9;L142.085907,55.40271c0.1691895-1.4055786-0.8354492-2.6872559-2.2392578-2.8574677&#xA;&#x9;C139.7416687,52.5322266,139.6352234,52.5257874,139.5302429,52.5257874L139.5302429,52.5257874z"></path>
33
+ <path fill="#E8501D" d="M195.7623901,24.656826c0.4158173-0.9195919,1.49646-1.318903,2.4066925-0.9011002l16.1092529,7.3414288&#xA;&#x9;c0.2020111-0.1927738,0.4130402-0.3790455,0.6528473-0.5397243c2.258316-1.5131664,5.3157959-0.90909,6.8289642,1.3492241&#xA;&#x9;s0.9090271,5.3157005-1.3492889,6.8288689s-5.3156433,0.9091225-6.8288116-1.3491936&#xA;&#x9;c-0.6133118-0.9153404-0.8623352-1.9602089-0.8108368-2.9820862l-16.1077118-7.3407249&#xA;&#x9;C195.7493134,26.6462173,195.3465729,25.5700169,195.7623901,24.656826z"></path>
34
+ <path fill="#E8501D" d="M183.9277802,42.3469467c-0.9059448,0.4447823-1.2707672,1.5375443-0.824295,2.4340706l6.0171661,11.900753&#xA;&#x9;c-0.186264,0.2080193-0.3657532,0.4248619-0.5187378,0.6696396c-1.4407501,2.305191-0.739975,5.3419647,1.5652161,6.7827148&#xA;&#x9;s5.3418732,0.7399139,6.7826233-1.5652771c1.4407501-2.3051872,0.7400055-5.3418083-1.5651855-6.7825623&#xA;&#x9;c-0.9343414-0.5839653-1.9865875-0.7997055-3.0063171-0.7158203l-6.0164032-11.899231&#xA;&#x9;C185.9157562,42.2707558,184.8273163,41.9023552,183.9277802,42.3469467z"></path>
35
+ <path fill="#E94E1B" d="M182.4320984,45.1153717c-0.3061523-0.6148682-0.3537598-1.3118896-0.1335449-1.9626465&#xA;&#x9;c0.2199707-0.6505737,0.6811523-1.1758423,1.296875-1.4781494c0.3574219-0.1766357,0.739502-0.2661743,1.1359863-0.2661743&#xA;&#x9;c0.9833984,0,1.8654785,0.5479126,2.2995605,1.4244385l2.2727051,4.4949341&#xA;&#x9;c7.9443359-4.451355,14.8537598-9.1342773,20.1967773-13.5899048l-13.1484375-5.9920635&#xA;&#x9;c-1.2873535-0.5876465-1.8581543-2.112793-1.2729492-3.3979492c0.4140625-0.9158325,1.3308105-1.5076904,2.3354492-1.5076904&#xA;&#x9;c0.3701172,0,0.729248,0.0786743,1.0656738,0.2330933l15.1916504,6.9233398&#xA;&#x9;c5.8598633-5.7052002,8.6733398-10.7711792,7.1374512-14.0985727c-1.2353516-2.6748047-5.1435547-3.9438477-10.859375-3.9438477&#xA;&#x9;c-10.9980469,0-28.6884766,4.6967783-46.921875,13.114747c-13.7734375,6.3588867-25.9931641,13.8955059-34.4072266,21.2211895&#xA;&#x9;c-8.0732422,7.0292969-11.7363281,13.15625-10.0498047,16.809082c1.5600586,3.3773193,7.7021484,4.6390381,16.9819336,3.5594482&#xA;&#x9;l1.4355469-11.8720093c0.1525879-1.2888794,1.2451172-2.2608643,2.541748-2.2608643&#xA;&#x9;c0.1049805,0,0.2114258,0.0064697,0.3164062,0.0194702c1.4038086,0.1702271,2.4084473,1.4519043,2.2392578,2.8574829&#xA;&#x9;l-1.2634277,10.4494629c10.4746094-1.9412842,22.9523926-6.1172485,35.5297852-11.9243774&#xA;&#x9;c2.9003906-1.3390503,5.7143555-2.730896,8.4345703-4.1549683L182.4320984,45.1153717z"></path>
36
+ <path fill="#E8501D" d="M153.1869812,3.753068c-13.4577637,6.2131958-20.2875977,20.9295044-17.057373,34.821106&#xA;&#x9;c7.456543-5.2249756,16.4733887-10.3449078,26.2695312-14.8675518c10.072998-4.6506348,19.7727051-8.1420298,28.3400879-10.3696909&#xA;&#x9;C182.2580261,1.8820964,166.6374207-2.4567099,153.1869812,3.753068z M178.1864929,11.8733683&#xA;&#x9;c-1.1242676,1.1241455-3.2990723,0.7718506-4.8579102-0.7868652c-1.5585938-1.5587158-1.9108887-3.7335815-0.7868652-4.8577271&#xA;&#x9;c1.1242676-1.1242065,3.2990723-0.7719116,4.8579102,0.7868042C178.9582214,8.574296,179.3105164,10.7492228,178.1864929,11.8733683&#xA;&#x9;z"></path>
37
+ </svg>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0"?>
2
+
3
+ <svg version="1.0" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="800px" height="600px" viewBox="0 0 800 600" enable-background="new 0 0 800 600" xml:space="preserve">
4
+ <path fill="#F4EFE9" d="M181.7513428,385.5595398c-7.1502228-0.8859558-13.6023254,4.214325-14.4413605,11.3149719&#xA;&#x9;L152.1393738,522.343811c-1.9259644,0.5140991-3.8459015,1.1074219-5.7168427,1.9711914&#xA;&#x9;c-17.6194153,8.1345825-25.3086319,29.0129395-17.174057,46.6323242&#xA;&#x9;c8.1345673,17.6194458,29.0125732,25.3079224,46.6319885,17.1733398s25.3082428-29.0118408,17.1736755-46.6312866&#xA;&#x9;c-3.2971191-7.1414795-8.7383423-12.5446777-15.1569977-16.0311279l15.1691589-125.4573669&#xA;&#x9;C193.9230499,392.8781128,188.8626099,386.4216003,181.7513428,385.5595398z"></path>
5
+ <path fill="#F4EFE9" d="M581.5779419,181.1491241c2.9685059-6.5649414,10.6831665-9.4156189,17.1813965-6.4329376&#xA;&#x9;l115.0036621,52.4103699c1.4421387-1.3762054,2.9487305-2.7060089,4.6606445-3.8530884&#xA;&#x9;c16.1220703-10.802475,37.9494019-6.489975,48.7518921,9.6320953s6.489563,37.9487152-9.6325073,48.7512054&#xA;&#x9;s-37.9483032,6.4902039-48.7507935-9.6318665c-4.378479-6.5346375-6.156189-13.993927-5.7886353-21.2890778l-114.9926758-52.4053497&#xA;&#x9;C581.4846191,195.3513641,578.609375,187.668396,581.5779419,181.1491241z"></path>
6
+ <path fill="#F4EFE9" d="M497.0907593,307.4386902c-6.4674683,3.1752625-9.0719299,10.9765015-5.8845825,17.3768005&#xA;&#x9;l42.9564209,84.9593201c-1.3297729,1.4850464-2.611084,3.0330505-3.7032471,4.7805481&#xA;&#x9;c-10.2855225,16.4566956-5.2826538,38.1362,11.1740723,48.4217224c16.4567261,10.2854919,38.135498,5.282196,48.4210205-11.1744995&#xA;&#x9;c10.2855225-16.4567261,5.2828979-38.1351318-11.1738281-48.4206238&#xA;&#x9;c-6.6702271-4.1689453-14.1821899-5.7091064-21.4620361-5.1102295l-42.9510498-84.9484863&#xA;&#x9;C511.2828674,306.8947449,503.5125427,304.26474,497.0907593,307.4386902z"></path>
7
+ <path fill="#F4EFE9" d="M486.413147,327.2024231c-2.1856079-4.3895264-2.5254822-9.3655396-0.9533691-14.0112915&#xA;&#x9;c1.5703735-4.6444397,4.8627319-8.3943176,9.2583618-10.5524902c2.5516357-1.2610168,5.2792969-1.9002075,8.1098022-1.9002075&#xA;&#x9;c7.0204773,0,13.317627,3.9115295,16.4165039,10.1690369l16.2248535,32.0892639&#xA;&#x9;c56.7144775-31.7781677,106.0407715-65.2094727,144.1845093-97.0181427l-93.8665161-42.7772827&#xA;&#x9;c-9.1904297-4.1952057-13.2653198-15.0832062-9.0875854-24.2579193c2.9559937-6.5381165,9.5006714-10.763382,16.6727295-10.763382&#xA;&#x9;c2.6422729,0,5.2061157,0.5616608,7.6078491,1.6640472l108.4530029,49.4256439&#xA;&#x9;c41.8334961-40.7293549,61.9188843-76.8953094,50.9541626-100.6495285&#xA;&#x9;c-8.8191528-19.0953979-36.7197266-28.1550751-77.5249023-28.1550751c-78.5149536,0-204.8067017,33.5302353-334.9746704,93.6259995&#xA;&#x9;c-98.3284149,45.3960114-185.5648804,99.1998596-245.6327667,151.4978333&#xA;&#x9;C44.6203423,385.7709656,18.4696178,429.5112,30.5096874,455.5887451&#xA;&#x9;c11.1372356,24.1106262,54.9855347,33.1180115,121.2338104,25.4108582l10.2483368-84.7541199&#xA;&#x9;c1.089325-9.2012939,8.8888855-16.1402893,18.1455078-16.1402893c0.7494659,0,1.5093689,0.0461731,2.2588196,0.1389771&#xA;&#x9;c10.0217743,1.215271,17.1938782,10.3651428,15.9860382,20.3995361l-9.0195923,74.5986023&#xA;&#x9;c74.7781067-13.8588257,163.856842-43.6709595,253.6466675-85.1279907&#xA;&#x9;c20.7058716-9.5594482,40.7947388-19.4958191,60.2142944-29.662262L486.413147,327.2024231z"></path>
8
+ <path fill="#F4EFE9" d="M277.6326294,31.917469C181.5578308,76.2733917,132.7997284,181.3329315,155.86026,280.5049133&#xA;&#x9;c53.2321625-37.3010406,117.603302-73.8521881,187.5378418-106.1392822&#xA;&#x9;c71.9110107-33.2008362,141.1571045-58.1258469,202.3195496-74.0290909&#xA;&#x9;C485.1704407,18.560627,373.6551514-12.4140549,277.6326294,31.917469z M456.1038208,89.8881912&#xA;&#x9;c-8.026123,8.0252609-23.5520325,5.510231-34.680542-5.617424c-11.1268005-11.1276474-13.6418152-26.6539879-5.6174316-34.6792488&#xA;&#x9;c8.026123-8.0256958,23.5520325-5.5106697,34.6805725,5.6169853&#xA;&#x9;C461.6131897,66.3361511,464.1282043,81.8629303,456.1038208,89.8881912z"></path>
9
+ </svg>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0"?>
2
+
3
+ <svg version="1.0" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="800px" height="600px" viewBox="0 0 800 600" enable-background="new 0 0 800 600" xml:space="preserve">
4
+ <path fill="#211B16" d="M181.7513428,385.5595398c-7.1502228-0.8859558-13.6023254,4.214325-14.4413605,11.3149719&#xA;&#x9;L152.1393738,522.343811c-1.9259644,0.5140991-3.8459015,1.1074219-5.7168427,1.9711914&#xA;&#x9;c-17.6194153,8.1345825-25.3086319,29.0129395-17.174057,46.6323242&#xA;&#x9;c8.1345673,17.6194458,29.0125732,25.3079224,46.6319885,17.1733398s25.3082428-29.0118408,17.1736755-46.6312866&#xA;&#x9;c-3.2971191-7.1414795-8.7383423-12.5446777-15.1569977-16.0311279l15.1691589-125.4573669&#xA;&#x9;C193.9230499,392.8781128,188.8626099,386.4216003,181.7513428,385.5595398z"></path>
5
+ <path fill="#211B16" d="M581.5779419,181.1491241c2.9685059-6.5649414,10.6831665-9.4156189,17.1813965-6.4329376&#xA;&#x9;l115.0036621,52.4103699c1.4421387-1.3762054,2.9487305-2.7060089,4.6606445-3.8530884&#xA;&#x9;c16.1220703-10.802475,37.9494019-6.489975,48.7518921,9.6320953s6.489563,37.9487152-9.6325073,48.7512054&#xA;&#x9;s-37.9483032,6.4902039-48.7507935-9.6318665c-4.378479-6.5346375-6.156189-13.993927-5.7886353-21.2890778l-114.9926758-52.4053497&#xA;&#x9;C581.4846191,195.3513641,578.609375,187.668396,581.5779419,181.1491241z"></path>
6
+ <path fill="#211B16" d="M497.0907593,307.4386902c-6.4674683,3.1752625-9.0719299,10.9765015-5.8845825,17.3768005&#xA;&#x9;l42.9564209,84.9593201c-1.3297729,1.4850464-2.611084,3.0330505-3.7032471,4.7805481&#xA;&#x9;c-10.2855225,16.4566956-5.2826538,38.1362,11.1740723,48.4217224c16.4567261,10.2854919,38.135498,5.282196,48.4210205-11.1744995&#xA;&#x9;c10.2855225-16.4567261,5.2828979-38.1351318-11.1738281-48.4206238&#xA;&#x9;c-6.6702271-4.1689453-14.1821899-5.7091064-21.4620361-5.1102295l-42.9510498-84.9484863&#xA;&#x9;C511.2828674,306.8947449,503.5125427,304.26474,497.0907593,307.4386902z"></path>
7
+ <path fill="#211B16" d="M486.413147,327.2024231c-2.1856079-4.3895264-2.5254822-9.3655396-0.9533691-14.0112915&#xA;&#x9;c1.5703735-4.6444397,4.8627319-8.3943176,9.2583618-10.5524902c2.5516357-1.2610168,5.2792969-1.9002075,8.1098022-1.9002075&#xA;&#x9;c7.0204773,0,13.317627,3.9115295,16.4165039,10.1690369l16.2248535,32.0892639&#xA;&#x9;c56.7144775-31.7781677,106.0407715-65.2094727,144.1845093-97.0181427l-93.8665161-42.7772827&#xA;&#x9;c-9.1904297-4.1952057-13.2653198-15.0832062-9.0875854-24.2579193c2.9559937-6.5381165,9.5006714-10.763382,16.6727295-10.763382&#xA;&#x9;c2.6422729,0,5.2061157,0.5616608,7.6078491,1.6640472l108.4530029,49.4256439&#xA;&#x9;c41.8334961-40.7293549,61.9188843-76.8953094,50.9541626-100.6495285&#xA;&#x9;c-8.8191528-19.0953979-36.7197266-28.1550751-77.5249023-28.1550751c-78.5149536,0-204.8067017,33.5302353-334.9746704,93.6259995&#xA;&#x9;c-98.3284149,45.3960114-185.5648804,99.1998596-245.6327667,151.4978333&#xA;&#x9;C44.6203423,385.7709656,18.4696178,429.5112,30.5096874,455.5887451&#xA;&#x9;c11.1372356,24.1106262,54.9855347,33.1180115,121.2338104,25.4108582l10.2483368-84.7541199&#xA;&#x9;c1.089325-9.2012939,8.8888855-16.1402893,18.1455078-16.1402893c0.7494659,0,1.5093689,0.0461731,2.2588196,0.1389771&#xA;&#x9;c10.0217743,1.215271,17.1938782,10.3651428,15.9860382,20.3995361l-9.0195923,74.5986023&#xA;&#x9;c74.7781067-13.8588257,163.856842-43.6709595,253.6466675-85.1279907&#xA;&#x9;c20.7058716-9.5594482,40.7947388-19.4958191,60.2142944-29.662262L486.413147,327.2024231z"></path>
8
+ <path fill="#211B16" d="M277.6326294,31.917469C181.5578308,76.2733917,132.7997284,181.3329315,155.86026,280.5049133&#xA;&#x9;c53.2321625-37.3010406,117.603302-73.8521881,187.5378418-106.1392822&#xA;&#x9;c71.9110107-33.2008362,141.1571045-58.1258469,202.3195496-74.0290909&#xA;&#x9;C485.1704407,18.560627,373.6551514-12.4140549,277.6326294,31.917469z M456.1038208,89.8881912&#xA;&#x9;c-8.026123,8.0252609-23.5520325,5.510231-34.680542-5.617424c-11.1268005-11.1276474-13.6418152-26.6539879-5.6174316-34.6792488&#xA;&#x9;c8.026123-8.0256958,23.5520325-5.5106697,34.6805725,5.6169853&#xA;&#x9;C461.6131897,66.3361511,464.1282043,81.8629303,456.1038208,89.8881912z"></path>
9
+ </svg>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0"?>
2
+
3
+ <svg version="1.0" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="180px" height="180px" viewBox="0 0 180 180" enable-background="new 0 0 180 180" xml:space="preserve">
4
+ <rect fill="#E94E1B" width="180" height="180"></rect>
5
+ <path fill="#FFFFFF" d="M50.1333656,106.9888916c-1.316288-0.1630936-2.5040588,0.7758179-2.6585197,2.0829849&#xA;&#x9;l-2.7927666,23.0977402c-0.354557,0.094635-0.7079964,0.2038574-1.0524216,0.3628845&#xA;&#x9;c-3.2435722,1.4974976-4.6590843,5.3410034-3.1615868,8.5845795c1.4975014,3.2435608,5.34095,4.6589508,8.5845184,3.1614532&#xA;&#x9;c3.2435722-1.4974976,4.6590157-5.3408203,3.1615143-8.5843964c-0.6069679-1.314682-1.6086426-2.3093719-2.7902603-2.9511871&#xA;&#x9;l2.7925034-23.0955353C52.3740654,108.3361816,51.442482,107.1475906,50.1333656,106.9888916z"></path>
6
+ <path fill="#FFFFFF" d="M123.7377548,69.3588257c0.546463-1.2085495,1.9666672-1.7333298,3.1629257-1.1842422l21.1711121,9.648262&#xA;&#x9;c0.2654877-0.2533493,0.5428314-0.4981461,0.8579865-0.7093201c2.967926-1.9886322,6.9861298-1.1947403,8.9747772,1.7731857&#xA;&#x9;c1.9886322,2.9679184,1.1946564,6.9860077-1.7732697,8.9746475c-2.967926,1.9886322-6.9859314,1.1947861-8.9745636-1.77314&#xA;&#x9;c-0.8060303-1.2029648-1.1333008-2.5761566-1.0656281-3.9191284l-21.1690979-9.6473389&#xA;&#x9;C123.7205658,71.9733276,123.1912613,70.55896,123.7377548,69.3588257z"></path>
7
+ <path fill="#FFFFFF" d="M108.1844406,92.6075668c-1.1906052,0.5845413-1.6700592,2.0206757-1.0832977,3.1989059&#xA;&#x9;l7.9078827,15.6402283c-0.2447968,0.2733841-0.4806747,0.5583572-0.6817398,0.8800583&#xA;&#x9;c-1.8934708,3.0295258-0.9724808,7.0205154,2.057045,8.9139862s7.020401,0.9724045,8.9138641-2.0571213&#xA;&#x9;c1.8934708-3.0295258,0.9725342-7.0203247-2.0569992-8.9137878c-1.2279282-0.7674637-2.6108093-1.0509949-3.9509583-0.9407501&#xA;&#x9;l-7.9068909-15.6382294C110.7970734,92.507431,109.3666306,92.0232773,108.1844406,92.6075668z"></path>
8
+ <path fill="#FFFFFF" stroke="#E94E1B" stroke-miterlimit="10" d="M106.2187881,96.2458878&#xA;&#x9;c-0.4023514-0.8080673-0.46492-1.7241135-0.1755066-2.5793533c0.289093-0.8549957,0.8951874-1.545311,1.7043839-1.9426117&#xA;&#x9;c0.4697266-0.2321396,0.9718704-0.3498154,1.4929352-0.3498154c1.2924042,0,2.4516525,0.7200775,3.0221329,1.8720322&#xA;&#x9;l2.9868393,5.907341c10.4406128-5.8500671,19.5211334-12.0044708,26.543045-17.8601532l-17.2799683-7.8749008&#xA;&#x9;c-1.691864-0.7722931-2.4420242-2.7766724-1.6729355-4.4656525c0.5441666-1.2036133,1.7489777-1.9814453,3.0692978-1.9814453&#xA;&#x9;c0.4864197,0,0.9583969,0.1034012,1.400528,0.3063354l19.9651947,9.0988083&#xA;&#x9;c7.7011566-7.4979019,11.3986969-14.1557198,9.3802032-18.5286484c-1.6235352-3.5152855-6.7597809-5.1830902-14.271637-5.1830902&#xA;&#x9;c-14.4538651,0-37.7030106,6.1726074-61.6657333,17.2356796c-18.1013527,8.356987-34.160778,18.2617798-45.2187233,27.8893509&#xA;&#x9;c-10.6100273,9.2380524-15.4241352,17.2902298-13.2076683,22.0908585&#xA;&#x9;c2.0502625,4.4385452,10.1223297,6.0967255,22.3180237,4.6779022l1.8866272-15.6024475&#xA;&#x9;c0.200531-1.6938782,1.6363602-2.971283,3.3404198-2.971283c0.1379662,0,0.2778587,0.0085068,0.4158287,0.025589&#xA;&#x9;c1.8449135,0.2237167,3.1652298,1.9081268,2.9428787,3.7553711l-1.6604233,13.7329102&#xA;&#x9;c13.7659607-2.5512772,30.1645279-8.0394211,46.6940079-15.6712799c3.8117599-1.7598038,7.5099335-3.5889969,11.0848999-5.4605484&#xA;&#x9;L106.2187881,96.2458878z"></path>
9
+ <path fill="#FFFFFF" d="M67.7842255,41.8866577C50.097744,50.0521736,41.1218262,69.392662,45.3670578,87.6493073&#xA;&#x9;c9.7995491-6.8667755,21.6496811-13.5955048,34.5239868-19.5392609&#xA;&#x9;c13.2381516-6.1119652,25.9857101-10.7004318,37.2451553-13.6280708&#xA;&#x9;C105.9900208,39.427784,85.4610825,33.7256317,67.7842255,41.8866577z M100.639122,52.5585289&#xA;&#x9;c-1.4775391,1.4773788-4.3357086,1.0143852-6.3843689-1.0341148c-2.0483398-2.0484962-2.5113297-4.9067535-1.0341187-6.3841286&#xA;&#x9;c1.4775391-1.4774551,4.3357162-1.0144615,6.3843765,1.0340347&#xA;&#x9;C101.6533432,48.2228203,102.1163406,51.0811539,100.639122,52.5585289z"></path>
10
+ <g>
11
+ &#x9;<path fill="#FFFFFF" d="M50.1333656,106.9888916c-1.316288-0.1630936-2.5040588,0.7758179-2.6585197,2.0829849&#xA;&#x9;&#x9;l-2.7927666,23.0977402c-0.354557,0.094635-0.7079964,0.2038574-1.0524216,0.3628845&#xA;&#x9;&#x9;c-3.2435722,1.4974976-4.6590843,5.3410034-3.1615868,8.5845795c1.4975014,3.2435608,5.34095,4.6589508,8.5845184,3.1614532&#xA;&#x9;&#x9;c3.2435722-1.4974976,4.6590157-5.3408203,3.1615143-8.5843964c-0.6069679-1.314682-1.6086426-2.3093719-2.7902603-2.9511871&#xA;&#x9;&#x9;l2.7925034-23.0955353C52.3740654,108.3361816,51.442482,107.1475906,50.1333656,106.9888916z"></path>
12
+ </g>
13
+ <g>
14
+ &#x9;<path fill="#FFFFFF" d="M123.7377548,69.3588257c0.546463-1.2085495,1.9666672-1.7333298,3.1629257-1.1842422l21.1711121,9.648262&#xA;&#x9;&#x9;c0.2654877-0.2533493,0.5428314-0.4981461,0.8579865-0.7093201c2.967926-1.9886322,6.9861298-1.1947403,8.9747772,1.7731857&#xA;&#x9;&#x9;c1.9886322,2.9679184,1.1946564,6.9860077-1.7732697,8.9746475c-2.967926,1.9886322-6.9859314,1.1947861-8.9745636-1.77314&#xA;&#x9;&#x9;c-0.8060303-1.2029648-1.1333008-2.5761566-1.0656281-3.9191284l-21.1690979-9.6473389&#xA;&#x9;&#x9;C123.7205658,71.9733276,123.1912613,70.55896,123.7377548,69.3588257z"></path>
15
+ </g>
16
+ <g>
17
+ &#x9;<path fill="#FFFFFF" d="M108.1844406,92.6075668c-1.1906052,0.5845413-1.6700592,2.0206757-1.0832977,3.1989059&#xA;&#x9;&#x9;l7.9078827,15.6402283c-0.2447968,0.2733841-0.4806747,0.5583572-0.6817398,0.8800583&#xA;&#x9;&#x9;c-1.8934708,3.0295258-0.9724808,7.0205154,2.057045,8.9139862s7.020401,0.9724045,8.9138641-2.0571213&#xA;&#x9;&#x9;c1.8934708-3.0295258,0.9725342-7.0203247-2.0569992-8.9137878c-1.2279282-0.7674637-2.6108093-1.0509949-3.9509583-0.9407501&#xA;&#x9;&#x9;l-7.9068909-15.6382294C110.7970734,92.507431,109.3666306,92.0232773,108.1844406,92.6075668z"></path>
18
+ </g>
19
+ </svg>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0"?>
2
+
3
+ <svg version="1.0" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="800px" height="600px" viewBox="0 0 800 600" enable-background="new 0 0 800 600" xml:space="preserve">
4
+ <path fill="#E94E1B" d="M181.7513428,385.5595398c-7.1502228-0.8859558-13.6023254,4.214325-14.4413605,11.3149719&#xA;&#x9;L152.1393738,522.343811c-1.9259644,0.5140991-3.8459015,1.1074219-5.7168427,1.9711914&#xA;&#x9;c-17.6194153,8.1345825-25.3086319,29.0129395-17.174057,46.6323242&#xA;&#x9;c8.1345673,17.6194458,29.0125732,25.3079224,46.6319885,17.1733398s25.3082428-29.0118408,17.1736755-46.6312866&#xA;&#x9;c-3.2971191-7.1414795-8.7383423-12.5446777-15.1569977-16.0311279l15.1691589-125.4573669&#xA;&#x9;C193.9230499,392.8781128,188.8626099,386.4216003,181.7513428,385.5595398z"></path>
5
+ <path fill="#E94E1B" d="M581.5779419,181.1491241c2.9685059-6.5649414,10.6831665-9.4156189,17.1813965-6.4329376&#xA;&#x9;l115.0036621,52.4103699c1.4421387-1.3762054,2.9487305-2.7060089,4.6606445-3.8530884&#xA;&#x9;c16.1220703-10.802475,37.9494019-6.489975,48.7518921,9.6320953s6.489563,37.9487152-9.6325073,48.7512054&#xA;&#x9;s-37.9483032,6.4902039-48.7507935-9.6318665c-4.378479-6.5346375-6.156189-13.993927-5.7886353-21.2890778l-114.9926758-52.4053497&#xA;&#x9;C581.4846191,195.3513641,578.609375,187.668396,581.5779419,181.1491241z"></path>
6
+ <path fill="#E94E1B" d="M497.0907593,307.4386902c-6.4674683,3.1752625-9.0719299,10.9765015-5.8845825,17.3768005&#xA;&#x9;l42.9564209,84.9593201c-1.3297729,1.4850464-2.611084,3.0330505-3.7032471,4.7805481&#xA;&#x9;c-10.2855225,16.4566956-5.2826538,38.1362,11.1740723,48.4217224c16.4567261,10.2854919,38.135498,5.282196,48.4210205-11.1744995&#xA;&#x9;c10.2855225-16.4567261,5.2828979-38.1351318-11.1738281-48.4206238&#xA;&#x9;c-6.6702271-4.1689453-14.1821899-5.7091064-21.4620361-5.1102295l-42.9510498-84.9484863&#xA;&#x9;C511.2828674,306.8947449,503.5125427,304.26474,497.0907593,307.4386902z"></path>
7
+ <path fill="#E94E1B" d="M486.413147,327.2024231c-2.1856079-4.3895264-2.5254822-9.3655396-0.9533691-14.0112915&#xA;&#x9;c1.5703735-4.6444397,4.8627319-8.3943176,9.2583618-10.5524902c2.5516357-1.2610168,5.2792969-1.9002075,8.1098022-1.9002075&#xA;&#x9;c7.0204773,0,13.317627,3.9115295,16.4165039,10.1690369l16.2248535,32.0892639&#xA;&#x9;c56.7144775-31.7781677,106.0407715-65.2094727,144.1845093-97.0181427l-93.8665161-42.7772827&#xA;&#x9;c-9.1904297-4.1952057-13.2653198-15.0832062-9.0875854-24.2579193c2.9559937-6.5381165,9.5006714-10.763382,16.6727295-10.763382&#xA;&#x9;c2.6422729,0,5.2061157,0.5616608,7.6078491,1.6640472l108.4530029,49.4256439&#xA;&#x9;c41.8334961-40.7293549,61.9188843-76.8953094,50.9541626-100.6495285&#xA;&#x9;c-8.8191528-19.0953979-36.7197266-28.1550751-77.5249023-28.1550751c-78.5149536,0-204.8067017,33.5302353-334.9746704,93.6259995&#xA;&#x9;c-98.3284149,45.3960114-185.5648804,99.1998596-245.6327667,151.4978333&#xA;&#x9;C44.6203423,385.7709656,18.4696178,429.5112,30.5096874,455.5887451&#xA;&#x9;c11.1372356,24.1106262,54.9855347,33.1180115,121.2338104,25.4108582l10.2483368-84.7541199&#xA;&#x9;c1.089325-9.2012939,8.8888855-16.1402893,18.1455078-16.1402893c0.7494659,0,1.5093689,0.0461731,2.2588196,0.1389771&#xA;&#x9;c10.0217743,1.215271,17.1938782,10.3651428,15.9860382,20.3995361l-9.0195923,74.5986023&#xA;&#x9;c74.7781067-13.8588257,163.856842-43.6709595,253.6466675-85.1279907&#xA;&#x9;c20.7058716-9.5594482,40.7947388-19.4958191,60.2142944-29.662262L486.413147,327.2024231z"></path>
8
+ <path fill="#E94E1B" d="M277.6326294,31.917469C181.5578308,76.2733917,132.7997284,181.3329315,155.86026,280.5049133&#xA;&#x9;c53.2321625-37.3010406,117.603302-73.8521881,187.5378418-106.1392822&#xA;&#x9;c71.9110107-33.2008362,141.1571045-58.1258469,202.3195496-74.0290909&#xA;&#x9;C485.1704407,18.560627,373.6551514-12.4140549,277.6326294,31.917469z M456.1038208,89.8881912&#xA;&#x9;c-8.026123,8.0252609-23.5520325,5.510231-34.680542-5.617424c-11.1268005-11.1276474-13.6418152-26.6539879-5.6174316-34.6792488&#xA;&#x9;c8.026123-8.0256958,23.5520325-5.5106697,34.6805725,5.6169853&#xA;&#x9;C461.6131897,66.3361511,464.1282043,81.8629303,456.1038208,89.8881912z"></path>
9
+ </svg>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0"?>
2
+
3
+ <svg version="1.0" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="800px" height="600px" viewBox="0 0 800 600" enable-background="new 0 0 800 600" xml:space="preserve">
4
+ <path fill="#FFFFFF" d="M181.7513428,385.5595398c-7.1502228-0.8859558-13.6023254,4.214325-14.4413605,11.3149719&#xA;&#x9;L152.1393738,522.343811c-1.9259644,0.5140991-3.8459015,1.1074219-5.7168427,1.9711914&#xA;&#x9;c-17.6194153,8.1345825-25.3086319,29.0129395-17.174057,46.6323242&#xA;&#x9;c8.1345673,17.6194458,29.0125732,25.3079224,46.6319885,17.1733398s25.3082428-29.0118408,17.1736755-46.6312866&#xA;&#x9;c-3.2971191-7.1414795-8.7383423-12.5446777-15.1569977-16.0311279l15.1691589-125.4573669&#xA;&#x9;C193.9230499,392.8781128,188.8626099,386.4216003,181.7513428,385.5595398z"></path>
5
+ <path fill="#FFFFFF" d="M581.5779419,181.1491241c2.9685059-6.5649414,10.6831665-9.4156189,17.1813965-6.4329376&#xA;&#x9;l115.0036621,52.4103699c1.4421387-1.3762054,2.9487305-2.7060089,4.6606445-3.8530884&#xA;&#x9;c16.1220703-10.802475,37.9494019-6.489975,48.7518921,9.6320953s6.489563,37.9487152-9.6325073,48.7512054&#xA;&#x9;s-37.9483032,6.4902039-48.7507935-9.6318665c-4.378479-6.5346375-6.156189-13.993927-5.7886353-21.2890778l-114.9926758-52.4053497&#xA;&#x9;C581.4846191,195.3513641,578.609375,187.668396,581.5779419,181.1491241z"></path>
6
+ <path fill="#FFFFFF" d="M497.0907593,307.4386902c-6.4674683,3.1752625-9.0719299,10.9765015-5.8845825,17.3768005&#xA;&#x9;l42.9564209,84.9593201c-1.3297729,1.4850464-2.611084,3.0330505-3.7032471,4.7805481&#xA;&#x9;c-10.2855225,16.4566956-5.2826538,38.1362,11.1740723,48.4217224c16.4567261,10.2854919,38.135498,5.282196,48.4210205-11.1744995&#xA;&#x9;c10.2855225-16.4567261,5.2828979-38.1351318-11.1738281-48.4206238&#xA;&#x9;c-6.6702271-4.1689453-14.1821899-5.7091064-21.4620361-5.1102295l-42.9510498-84.9484863&#xA;&#x9;C511.2828674,306.8947449,503.5125427,304.26474,497.0907593,307.4386902z"></path>
7
+ <path fill="#FFFFFF" d="M486.413147,327.2024231c-2.1856079-4.3895264-2.5254822-9.3655396-0.9533691-14.0112915&#xA;&#x9;c1.5703735-4.6444397,4.8627319-8.3943176,9.2583618-10.5524902c2.5516357-1.2610168,5.2792969-1.9002075,8.1098022-1.9002075&#xA;&#x9;c7.0204773,0,13.317627,3.9115295,16.4165039,10.1690369l16.2248535,32.0892639&#xA;&#x9;c56.7144775-31.7781677,106.0407715-65.2094727,144.1845093-97.0181427l-93.8665161-42.7772827&#xA;&#x9;c-9.1904297-4.1952057-13.2653198-15.0832062-9.0875854-24.2579193c2.9559937-6.5381165,9.5006714-10.763382,16.6727295-10.763382&#xA;&#x9;c2.6422729,0,5.2061157,0.5616608,7.6078491,1.6640472l108.4530029,49.4256439&#xA;&#x9;c41.8334961-40.7293549,61.9188843-76.8953094,50.9541626-100.6495285&#xA;&#x9;c-8.8191528-19.0953979-36.7197266-28.1550751-77.5249023-28.1550751c-78.5149536,0-204.8067017,33.5302353-334.9746704,93.6259995&#xA;&#x9;c-98.3284149,45.3960114-185.5648804,99.1998596-245.6327667,151.4978333&#xA;&#x9;C44.6203423,385.7709656,18.4696178,429.5112,30.5096874,455.5887451&#xA;&#x9;c11.1372356,24.1106262,54.9855347,33.1180115,121.2338104,25.4108582l10.2483368-84.7541199&#xA;&#x9;c1.089325-9.2012939,8.8888855-16.1402893,18.1455078-16.1402893c0.7494659,0,1.5093689,0.0461731,2.2588196,0.1389771&#xA;&#x9;c10.0217743,1.215271,17.1938782,10.3651428,15.9860382,20.3995361l-9.0195923,74.5986023&#xA;&#x9;c74.7781067-13.8588257,163.856842-43.6709595,253.6466675-85.1279907&#xA;&#x9;c20.7058716-9.5594482,40.7947388-19.4958191,60.2142944-29.662262L486.413147,327.2024231z"></path>
8
+ <path fill="#FFFFFF" d="M277.6326294,31.917469C181.5578308,76.2733917,132.7997284,181.3329315,155.86026,280.5049133&#xA;&#x9;c53.2321625-37.3010406,117.603302-73.8521881,187.5378418-106.1392822&#xA;&#x9;c71.9110107-33.2008362,141.1571045-58.1258469,202.3195496-74.0290909&#xA;&#x9;C485.1704407,18.560627,373.6551514-12.4140549,277.6326294,31.917469z M456.1038208,89.8881912&#xA;&#x9;c-8.026123,8.0252609-23.5520325,5.510231-34.680542-5.617424c-11.1268005-11.1276474-13.6418152-26.6539879-5.6174316-34.6792488&#xA;&#x9;c8.026123-8.0256958,23.5520325-5.5106697,34.6805725,5.6169853&#xA;&#x9;C461.6131897,66.3361511,464.1282043,81.8629303,456.1038208,89.8881912z"></path>
9
+ </svg>
@@ -0,0 +1,41 @@
1
+ /**
2
+ * The venqoo palette. The same names serve both schemes: light is warm paper,
3
+ * dark is warm near-black. One orange signal, darkened in light mode so it
4
+ * stays AA on bright backgrounds.
5
+ *
6
+ * `@venqoo/brand/styles.css` sets the same values as `--vq-*` custom
7
+ * properties; use these constants where CSS variables cannot reach (React
8
+ * Native, canvas, generated images, e-mail).
9
+ */
10
+ export declare const colors: {
11
+ readonly light: {
12
+ /** Page background. */
13
+ readonly page: '#fefcfa';
14
+ /** Raised panels and cards. */
15
+ readonly surface: '#ffffff';
16
+ /** Hairline borders. */
17
+ readonly line: '#ece4da';
18
+ /** Brand orange, AA on light backgrounds. */
19
+ readonly signal: '#c8410e';
20
+ /** Brighter orange for hover states and gradients. */
21
+ readonly signalBright: '#e94e1b';
22
+ /** Primary text. */
23
+ readonly text: '#211b16';
24
+ /** Muted text. */
25
+ readonly muted: '#6e645b';
26
+ /** Text and marks placed on the signal colour. */
27
+ readonly onSignal: '#ffffff';
28
+ };
29
+ readonly dark: {
30
+ readonly page: '#0c0a09';
31
+ readonly surface: '#191512';
32
+ readonly line: '#282220';
33
+ readonly signal: '#e94e1b';
34
+ readonly signalBright: '#ff6a35';
35
+ readonly text: '#f4efe9';
36
+ readonly muted: '#a89f96';
37
+ readonly onSignal: '#ffffff';
38
+ };
39
+ };
40
+ export type ColorScheme = keyof typeof colors;
41
+ export type ColorName = keyof (typeof colors)['light'];
package/dist/colors.js ADDED
@@ -0,0 +1,39 @@
1
+ /**
2
+ * The venqoo palette. The same names serve both schemes: light is warm paper,
3
+ * dark is warm near-black. One orange signal, darkened in light mode so it
4
+ * stays AA on bright backgrounds.
5
+ *
6
+ * `@venqoo/brand/styles.css` sets the same values as `--vq-*` custom
7
+ * properties; use these constants where CSS variables cannot reach (React
8
+ * Native, canvas, generated images, e-mail).
9
+ */
10
+ export const colors = {
11
+ light: {
12
+ /** Page background. */
13
+ page: '#fefcfa',
14
+ /** Raised panels and cards. */
15
+ surface: '#ffffff',
16
+ /** Hairline borders. */
17
+ line: '#ece4da',
18
+ /** Brand orange, AA on light backgrounds. */
19
+ signal: '#c8410e',
20
+ /** Brighter orange for hover states and gradients. */
21
+ signalBright: '#e94e1b',
22
+ /** Primary text. */
23
+ text: '#211b16',
24
+ /** Muted text. */
25
+ muted: '#6e645b',
26
+ /** Text and marks placed on the signal colour. */
27
+ onSignal: '#ffffff',
28
+ },
29
+ dark: {
30
+ page: '#0c0a09',
31
+ surface: '#191512',
32
+ line: '#282220',
33
+ signal: '#e94e1b',
34
+ signalBright: '#ff6a35',
35
+ text: '#f4efe9',
36
+ muted: '#a89f96',
37
+ onSignal: '#ffffff',
38
+ },
39
+ };
@@ -0,0 +1,25 @@
1
+ export declare const DEFAULT_HREF: string;
2
+ /** Footer credit copy. English only — it reads the same on German sites. */
3
+ export declare const footerCopy: {
4
+ readonly heartBefore: 'Made with';
5
+ readonly heartLabel: 'love';
6
+ readonly heartAfter: 'by';
7
+ readonly heartTail: 'in Würzburg';
8
+ readonly mark: 'Designed & built by';
9
+ readonly pill: 'Made by';
10
+ readonly pillSignal: 'Made with love by';
11
+ };
12
+ export interface ImprintRole {
13
+ /** What venqoo was responsible for, e.g. "Development". */
14
+ term: string;
15
+ /** The specifics, e.g. "Front end & back end". */
16
+ detail: string;
17
+ }
18
+ export declare const imprintCopy: {
19
+ readonly heading: 'Concept, design & development';
20
+ readonly sentenceBefore: 'This website was designed and developed by';
21
+ readonly sentenceAfter: ', a software company in Würzburg, Germany.';
22
+ readonly eyebrow: 'Built by';
23
+ };
24
+ /** Default role list for the card; override per project with the `roles` prop. */
25
+ export declare const defaultRoles: readonly ImprintRole[];
@@ -0,0 +1,25 @@
1
+ import { VENQOO } from '../venqoo.js';
2
+ export const DEFAULT_HREF = VENQOO.url;
3
+ /** Footer credit copy. English only — it reads the same on German sites. */
4
+ export const footerCopy = {
5
+ heartBefore: 'Made with',
6
+ heartLabel: 'love',
7
+ heartAfter: 'by',
8
+ heartTail: 'in Würzburg',
9
+ mark: 'Designed & built by',
10
+ pill: 'Made by',
11
+ pillSignal: 'Made with love by',
12
+ };
13
+ export const imprintCopy = {
14
+ heading: 'Concept, design & development',
15
+ sentenceBefore: 'This website was designed and developed by',
16
+ sentenceAfter: ', a software company in Würzburg, Germany.',
17
+ eyebrow: 'Built by',
18
+ };
19
+ /** Default role list for the card; override per project with the `roles` prop. */
20
+ export const defaultRoles = [
21
+ { term: 'Concept', detail: 'UX & structure' },
22
+ { term: 'Design', detail: 'Visual concept' },
23
+ { term: 'Development', detail: 'Front end & back end' },
24
+ { term: 'Operations', detail: 'Hosting & maintenance' },
25
+ ];
@@ -0,0 +1,13 @@
1
+ import type { CreditBaseProps } from './types.js';
2
+ /**
3
+ * - `heart` — "Made with ♥ by venqoo in Würzburg"; inherits the host's font and colour
4
+ * - `mark` — UFO mark + "Designed & built by venqoo"; inherits the host's font and colour
5
+ * - `pill` — outline pill with the mark, "Made by venqoo"
6
+ * - `pill-signal` — orange pill with the white mark, "Made with love by venqoo"
7
+ */
8
+ export type CreditVariant = 'heart' | 'mark' | 'pill' | 'pill-signal';
9
+ export interface CreditProps extends CreditBaseProps {
10
+ variant?: CreditVariant;
11
+ }
12
+ /** Footer credit: one link to venqoo in the style of your choice. */
13
+ export declare function Credit({ variant, theme, className, href, newTab, }: CreditProps): import("react").JSX.Element;
@@ -0,0 +1,26 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cx } from '../cx.js';
3
+ import { Heart, UfoMark } from '../marks.js';
4
+ import { VENQOO } from '../venqoo.js';
5
+ import { footerCopy as t } from './copy.js';
6
+ import { linkAttrs } from './link.js';
7
+ /** Footer credit: one link to venqoo in the style of your choice. */
8
+ export function Credit({ variant = 'heart', theme = 'light', className, href, newTab, }) {
9
+ const a = linkAttrs({ href, newTab });
10
+ const name = _jsx("span", { className: "vq-credit__name", children: VENQOO.name });
11
+ let content;
12
+ switch (variant) {
13
+ case 'mark':
14
+ content = (_jsxs(_Fragment, { children: [_jsx(UfoMark, { className: "vq-credit__mark" }), _jsxs("span", { children: [t.mark, " ", name] })] }));
15
+ break;
16
+ case 'pill':
17
+ content = (_jsxs(_Fragment, { children: [_jsx(UfoMark, { className: "vq-credit__mark" }), _jsxs("span", { children: [t.pill, " ", name] })] }));
18
+ break;
19
+ case 'pill-signal':
20
+ content = (_jsxs(_Fragment, { children: [_jsx(UfoMark, { className: "vq-credit__mark" }), _jsxs("span", { children: [t.pillSignal, " ", name] })] }));
21
+ break;
22
+ default:
23
+ content = (_jsxs(_Fragment, { children: [_jsx("span", { children: t.heartBefore }), _jsx(Heart, { className: "vq-credit__heart", label: t.heartLabel }), _jsxs("span", { children: [t.heartAfter, " ", name, " ", t.heartTail] })] }));
24
+ }
25
+ return (_jsx("span", { className: cx('vq-credit', `vq-credit--${variant}`, className), "data-theme": theme, lang: "en", children: _jsx("a", { className: "vq-credit__link", ...a, children: content }) }));
26
+ }
@@ -0,0 +1,22 @@
1
+ import type { ReactNode } from 'react';
2
+ import { type ImprintRole } from './copy.js';
3
+ import type { CreditBaseProps } from './types.js';
4
+ /**
5
+ * - `section` — heading, sentence and address; inherits the imprint's type (default)
6
+ * - `card` — bordered card with the logo, the project roles, address and link
7
+ */
8
+ export type ImprintCreditVariant = 'section' | 'card';
9
+ export interface ImprintCreditProps extends CreditBaseProps {
10
+ variant?: ImprintCreditVariant;
11
+ /** Heading element for `section`; match the imprint's other section headings. */
12
+ headingLevel?: 2 | 3 | 4;
13
+ /**
14
+ * What venqoo was responsible for in this project, shown on `card`.
15
+ * Defaults to concept, design, development and operations; pass `[]` to hide the list.
16
+ */
17
+ roles?: readonly ImprintRole[];
18
+ /** Replaces the descriptive sentence on `section`. */
19
+ children?: ReactNode;
20
+ }
21
+ /** Impressum / legal-notice credit naming venqoo GmbH as the maker of the site. */
22
+ export declare function ImprintCredit({ variant, theme, headingLevel, roles, className, href, newTab, children, }: ImprintCreditProps): import("react").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cx } from '../cx.js';
3
+ import { UfoMark } from '../marks.js';
4
+ import { VENQOO } from '../venqoo.js';
5
+ import { defaultRoles, imprintCopy as t } from './copy.js';
6
+ import { linkAttrs } from './link.js';
7
+ /** Impressum / legal-notice credit naming venqoo GmbH as the maker of the site. */
8
+ export function ImprintCredit({ variant = 'section', theme = 'light', headingLevel = 2, roles = defaultRoles, className, href, newTab, children, }) {
9
+ const a = linkAttrs({ href, newTab });
10
+ const rootClass = cx('vq-credit', `vq-credit--${variant}`, className);
11
+ const Heading = `h${headingLevel}`;
12
+ const siteLink = (_jsx("a", { className: "vq-credit__textlink", ...a, children: VENQOO.displayUrl }));
13
+ if (variant === 'card') {
14
+ return (_jsxs("section", { className: rootClass, "data-theme": theme, lang: "en", children: [_jsx("span", { className: "vq-credit__eyebrow", children: t.eyebrow }), _jsxs("a", { className: "vq-credit__link vq-credit__logo", ...a, children: [_jsx(UfoMark, { className: "vq-credit__mark" }), _jsx("span", { className: "vq-credit__wordmark", children: VENQOO.name })] }), roles.length > 0 && (_jsx("dl", { className: "vq-credit__roles", children: roles.map((role) => (_jsxs("div", { className: "vq-credit__role-item", children: [_jsx("dt", { children: role.term }), _jsx("dd", { children: role.detail })] }, role.term))) })), _jsxs("address", { className: "vq-credit__address", children: [_jsxs("span", { children: [VENQOO.legalName, " \u00B7 ", VENQOO.street, " \u00B7 ", VENQOO.postalCode, " ", VENQOO.city, " \u00B7", ' ', VENQOO.country] }), siteLink] })] }));
15
+ }
16
+ return (_jsxs("section", { className: rootClass, "data-theme": theme, lang: "en", children: [_jsx(Heading, { className: "vq-credit__heading", children: t.heading }), _jsx("p", { className: "vq-credit__body", children: children ?? (_jsxs(_Fragment, { children: [t.sentenceBefore, ' ', _jsx("a", { className: "vq-credit__textlink", ...a, children: VENQOO.legalName }), t.sentenceAfter] })) }), _jsxs("address", { className: "vq-credit__address", children: [_jsx("span", { className: "vq-credit__address-name", children: VENQOO.legalName }), _jsx("span", { children: VENQOO.street }), _jsxs("span", { children: [VENQOO.postalCode, " ", VENQOO.city] }), _jsx("span", { children: VENQOO.country }), _jsx("a", { className: "vq-credit__textlink vq-credit__textlink--quiet vq-credit__address-gap", href: `mailto:${VENQOO.email}`, children: VENQOO.email }), siteLink] })] }));
17
+ }