@amedia/brick-mcp 0.0.2 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/components-metadata.json +28 -28
- package/data/tokens-documentation.json +1 -1
- package/data/tokens.json +4848 -128
- package/dist/data/components/brick-actions.md +59 -0
- package/dist/data/components/brick-alt-teaser.md +264 -0
- package/dist/data/components/brick-avatar.md +299 -0
- package/dist/data/components/brick-button.md +373 -0
- package/dist/data/components/brick-card.md +359 -0
- package/dist/data/components/brick-carousel.md +355 -0
- package/dist/data/components/brick-classnames.md +147 -0
- package/dist/data/components/brick-countdown.md +180 -0
- package/dist/data/components/brick-dialog.md +458 -0
- package/dist/data/components/brick-fonts.md +389 -0
- package/dist/data/components/brick-helloworld.md +228 -0
- package/dist/data/components/brick-icon.md +274 -0
- package/dist/data/components/brick-icons.md +570 -0
- package/dist/data/components/brick-illustrations.md +604 -0
- package/dist/data/components/brick-image.md +361 -0
- package/dist/data/components/brick-input.md +557 -0
- package/dist/data/components/brick-mcp.json +6 -0
- package/dist/data/components/brick-nifs.md +164 -0
- package/dist/data/components/brick-pill.json +6 -0
- package/dist/data/components/brick-player.json +7 -0
- package/dist/data/components/brick-published.json +7 -0
- package/dist/data/components/brick-share.json +7 -0
- package/dist/data/components/brick-stepper.json +7 -0
- package/dist/data/components/brick-tab.json +7 -0
- package/dist/data/components/brick-tabs.json +9 -0
- package/dist/data/components/brick-tag.json +7 -0
- package/dist/data/components/brick-teaser-player.json +9 -0
- package/dist/data/components/brick-teaser-reels.json +9 -0
- package/dist/data/components/brick-teaser.json +9 -0
- package/dist/data/components/brick-template.json +9 -0
- package/dist/data/components/brick-textarea.json +7 -0
- package/dist/data/components/brick-themes.json +6 -0
- package/dist/data/components/brick-toast.json +9 -0
- package/dist/data/components/brick-toggle.json +7 -0
- package/dist/data/components/brick-tokens.json +8 -0
- package/dist/data/components/brick-tooltip.json +7 -0
- package/dist/data/components-metadata.json +228 -0
- package/dist/data/tokens-documentation.json +7 -0
- package/dist/data/tokens.json +4976 -0
- package/dist/http.js +314 -0
- package/dist/http.js.map +7 -0
- package/dist/index.js +26 -37
- package/dist/index.js.map +2 -2
- package/package.json +1 -1
- package/scripts/generate-data.js +15 -47
|
@@ -0,0 +1,604 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: brick-illustrations
|
|
3
|
+
version: 1.2.5
|
|
4
|
+
category: Media
|
|
5
|
+
tags: [svg, illustrations, graphics, assets, cdn, decorative, figma]
|
|
6
|
+
use_cases:
|
|
7
|
+
[
|
|
8
|
+
error-pages,
|
|
9
|
+
empty-states,
|
|
10
|
+
onboarding,
|
|
11
|
+
success-messages,
|
|
12
|
+
feature-explanations,
|
|
13
|
+
subscription-flows,
|
|
14
|
+
sports-content,
|
|
15
|
+
audio-content,
|
|
16
|
+
elder-users,
|
|
17
|
+
youth-content,
|
|
18
|
+
app-downloads,
|
|
19
|
+
location-features,
|
|
20
|
+
payment-flows,
|
|
21
|
+
cancellation-flows,
|
|
22
|
+
]
|
|
23
|
+
related: [brick-icons, brick-avatar]
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# Brick Illustrations
|
|
27
|
+
|
|
28
|
+
A collection of SVG illustrations synced from Figma and distributed via CDN for use across Amedia applications.
|
|
29
|
+
|
|
30
|
+
## Key Capabilities
|
|
31
|
+
|
|
32
|
+
- 99+ professionally designed SVG illustrations covering various use cases
|
|
33
|
+
- Delivered via Eik CDN for fast, cached loading
|
|
34
|
+
- Scalable vector graphics with no quality loss at any size
|
|
35
|
+
- Organized by category (error, success, audio, sport, subscription, etc.)
|
|
36
|
+
- Accessible implementation with support for decorative and informative contexts
|
|
37
|
+
- Automated sync from Figma design system
|
|
38
|
+
|
|
39
|
+
## Available Illustrations
|
|
40
|
+
|
|
41
|
+
### Error & Alert States
|
|
42
|
+
|
|
43
|
+
- `404-binoculars.svg` - 404 error page
|
|
44
|
+
- `404-binocularsimple.svg` - Simplified 404 error
|
|
45
|
+
- `alert-cat.svg` - Alert/warning states
|
|
46
|
+
- `error-ufo.svg` - General error state
|
|
47
|
+
- `warning-bananapeel.svg` - Warning message
|
|
48
|
+
- `warning-ghost.svg` - Warning message
|
|
49
|
+
|
|
50
|
+
### Success & Positive States
|
|
51
|
+
|
|
52
|
+
- `success-thumbsup.svg` - Success confirmation
|
|
53
|
+
- `success-chefskiss.svg` - Perfect/excellent outcome
|
|
54
|
+
- `success-fistbump.svg` - Success celebration
|
|
55
|
+
- `thanks-handshake.svg` - Thank you message
|
|
56
|
+
- `welcome-highfive.svg` - Welcome/greeting
|
|
57
|
+
|
|
58
|
+
### Audio Content
|
|
59
|
+
|
|
60
|
+
- `audio-bearded.svg` - Audio content user
|
|
61
|
+
- `audio-busgirl.svg` - Listening while commuting
|
|
62
|
+
- `audio-busman.svg` - Listening while commuting
|
|
63
|
+
- `audio-cloud.svg` - Audio streaming
|
|
64
|
+
- `audio-dreaming.svg` - Podcast/audio content
|
|
65
|
+
- `audio-intransit.svg` - Mobile audio listening
|
|
66
|
+
- `audio-kid.svg` - Youth audio content
|
|
67
|
+
- `audio-macho.svg` - Audio user persona
|
|
68
|
+
|
|
69
|
+
### Sport Content
|
|
70
|
+
|
|
71
|
+
- `sport-athletes5.svg`, `sport-athletes6.svg`, `sport-athletes9.svg` - Athletes
|
|
72
|
+
- `sport-champion.svg` - Winner/champion
|
|
73
|
+
- `sport-equipment.svg` - Sports equipment
|
|
74
|
+
- `sport-golf.svg` - Golf content
|
|
75
|
+
- `sport-hockey.svg` - Hockey content
|
|
76
|
+
- `sport-kick.svg` - Football/soccer
|
|
77
|
+
- `sport-spectator.svg` - Watching sports
|
|
78
|
+
- `sport-tennisfam.svg` - Tennis/family sports
|
|
79
|
+
- `sport-watchparty.svg` - Group watching
|
|
80
|
+
|
|
81
|
+
### Subscription & Onboarding
|
|
82
|
+
|
|
83
|
+
- `sub-stacks.svg` - Subscription tiers
|
|
84
|
+
- `sub-young.svg` - Youth subscription
|
|
85
|
+
- `upgrade-rocket.svg` - Upgrade flow
|
|
86
|
+
- `downgrade-pony.svg` - Downgrade flow
|
|
87
|
+
- `change-generations.svg` - Account changes
|
|
88
|
+
- `change-paperplane.svg` - Change confirmation
|
|
89
|
+
|
|
90
|
+
### Reading & News
|
|
91
|
+
|
|
92
|
+
- `read-digital.svg` - Digital reading
|
|
93
|
+
- `read-newspaper.svg` - Newspaper reading
|
|
94
|
+
- `read-friends.svg` - Social reading
|
|
95
|
+
- `news-pleasant.svg` - Positive news
|
|
96
|
+
- `news-serious.svg` - Serious news content
|
|
97
|
+
|
|
98
|
+
### Elder Users
|
|
99
|
+
|
|
100
|
+
- `elder-eavis.svg` - eAvis for seniors
|
|
101
|
+
- `elder-look.svg` - Senior user
|
|
102
|
+
- `elder-tablet.svg` - Tablet usage
|
|
103
|
+
- `elder-tabletuser.svg` - Senior tablet user
|
|
104
|
+
|
|
105
|
+
### Youth Content (Ung)
|
|
106
|
+
|
|
107
|
+
- `ung-catgirl.svg` - Youth persona
|
|
108
|
+
- `ung-group.svg` - Youth group
|
|
109
|
+
- `ung-heart.svg` - Youth favorite
|
|
110
|
+
- `ung-highfive.svg` - Youth celebration
|
|
111
|
+
- `ung-scroll.svg` - Youth browsing
|
|
112
|
+
|
|
113
|
+
### Kakadu App
|
|
114
|
+
|
|
115
|
+
- `kakadu-aicreate.svg` - AI content creation
|
|
116
|
+
- `kakadu-aidlogin.svg` - AI-assisted login
|
|
117
|
+
- `kakadu-appconfig.svg` - App configuration
|
|
118
|
+
- `kakadu-appreading.svg`, `kakadu-appreading2.svg` - App reading
|
|
119
|
+
- `kakadu-del-abo.svg` - Delete subscription
|
|
120
|
+
- `kakadu-downloadappstore.svg` - App Store download
|
|
121
|
+
- `kakadu-downloadgoogleplay.svg` - Google Play download
|
|
122
|
+
- `kakadu-eavisconfig.svg` - eAvis configuration
|
|
123
|
+
- `kakadu-endre-abo.svg` - Change subscription
|
|
124
|
+
- `kakadu-familysharing.svg`, `kakadu-familysharing2.svg` - Family sharing
|
|
125
|
+
- `kakadu-meld-flytt.svg` - Report move
|
|
126
|
+
- `kakadu-midl-adresse.svg` - Temporary address
|
|
127
|
+
- `kakadu-sportuser.svg` - Sports user
|
|
128
|
+
- `kakadu-uteblitt-avis.svg` - Missing newspaper
|
|
129
|
+
|
|
130
|
+
### Cancellation Flow
|
|
131
|
+
|
|
132
|
+
- `cancel-brokenheart.svg` - Cancellation sadness
|
|
133
|
+
- `cancel-bye.svg` - Goodbye message
|
|
134
|
+
- `cancel-chocolate.svg` - Win-back offer
|
|
135
|
+
|
|
136
|
+
### Other Categories
|
|
137
|
+
|
|
138
|
+
- `enjoy-breakfast.svg`, `enjoy-cats.svg`, `enjoy-coffee.svg`, `enjoy-cuddle.svg`, `enjoy-watching.svg` - Lifestyle/enjoyment
|
|
139
|
+
- `friendly-balldog.svg`, `friendly-hello.svg`, `friendly-tada.svg` - Friendly greetings
|
|
140
|
+
- `location-boypin.svg`, `location-boypins.svg`, `location-girlpin.svg`, `location-girlpins.svg` - Location features
|
|
141
|
+
- `payment-wallet.svg` - Payment flows
|
|
142
|
+
- `purchase-handheart.svg`, `purchase-happydog.svg` - Purchase confirmation
|
|
143
|
+
- `save-squirrel.svg` - Savings feature
|
|
144
|
+
- `share-family.svg`, `share-pizzapaper.svg` - Sharing features
|
|
145
|
+
- `plussalt-consume.svg`, `plussalt-pigeon.svg`, `plussalt-screentime.svg` - Pluss content
|
|
146
|
+
- `loading-messenger.svg` - Loading state
|
|
147
|
+
- `expiry-bindle.svg` - Expiration notice
|
|
148
|
+
- `winback-mendingheart.svg` - Win-back campaign
|
|
149
|
+
- `nt-logosymbol.svg` - Norsk Tipping logo
|
|
150
|
+
- `rikstoto-logosymbol.svg` - Rikstoto logo
|
|
151
|
+
- `fordeg-velgavis.svg` - Choose newspaper
|
|
152
|
+
- `alt-served.svg` - Alternative served
|
|
153
|
+
- `watch-video.svg` - Video content
|
|
154
|
+
|
|
155
|
+
## Usage
|
|
156
|
+
|
|
157
|
+
All illustrations are available via Eik CDN. Access them using the base URL pattern:
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/{filename}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Basic HTML Implementation
|
|
164
|
+
|
|
165
|
+
#### Decorative Illustration
|
|
166
|
+
|
|
167
|
+
```html
|
|
168
|
+
<img
|
|
169
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/alert-cat.svg"
|
|
170
|
+
alt=""
|
|
171
|
+
role="presentation"
|
|
172
|
+
aria-hidden="true"
|
|
173
|
+
/>
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
#### Informative Illustration
|
|
177
|
+
|
|
178
|
+
```html
|
|
179
|
+
<img
|
|
180
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/success-thumbsup.svg"
|
|
181
|
+
alt="Your subscription has been successfully activated"
|
|
182
|
+
/>
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Using Object Tag
|
|
186
|
+
|
|
187
|
+
```html
|
|
188
|
+
<object
|
|
189
|
+
type="image/svg+xml"
|
|
190
|
+
data="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/upgrade-rocket.svg"
|
|
191
|
+
aria-label="Upgrade to premium subscription"
|
|
192
|
+
>
|
|
193
|
+
Upgrade illustration
|
|
194
|
+
</object>
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Examples
|
|
198
|
+
|
|
199
|
+
### 404 Error Page
|
|
200
|
+
|
|
201
|
+
```html
|
|
202
|
+
<div class="error-page">
|
|
203
|
+
<img
|
|
204
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/404-binoculars.svg"
|
|
205
|
+
alt="Page not found"
|
|
206
|
+
width="300"
|
|
207
|
+
height="300"
|
|
208
|
+
/>
|
|
209
|
+
<h1>Siden ble ikke funnet</h1>
|
|
210
|
+
<p>Vi finner dessverre ikke siden du leter etter.</p>
|
|
211
|
+
</div>
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### Success Message
|
|
215
|
+
|
|
216
|
+
```html
|
|
217
|
+
<div class="success-message">
|
|
218
|
+
<img
|
|
219
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/success-fistbump.svg"
|
|
220
|
+
alt="Success"
|
|
221
|
+
width="200"
|
|
222
|
+
height="200"
|
|
223
|
+
/>
|
|
224
|
+
<h2>Takk for din bestilling!</h2>
|
|
225
|
+
<p>Du vil motta en bekreftelse på e-post.</p>
|
|
226
|
+
</div>
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Subscription Upgrade Flow
|
|
230
|
+
|
|
231
|
+
```html
|
|
232
|
+
<div class="upgrade-card">
|
|
233
|
+
<img
|
|
234
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/upgrade-rocket.svg"
|
|
235
|
+
alt=""
|
|
236
|
+
role="presentation"
|
|
237
|
+
width="150"
|
|
238
|
+
height="150"
|
|
239
|
+
/>
|
|
240
|
+
<h3>Oppgrader til Premium</h3>
|
|
241
|
+
<p>Få tilgang til alle artikler og eksklusivt innhold.</p>
|
|
242
|
+
<button>Oppgrader nå</button>
|
|
243
|
+
</div>
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Empty State for Audio Content
|
|
247
|
+
|
|
248
|
+
```html
|
|
249
|
+
<div class="empty-state">
|
|
250
|
+
<img
|
|
251
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/audio-cloud.svg"
|
|
252
|
+
alt="No audio content available"
|
|
253
|
+
width="250"
|
|
254
|
+
height="250"
|
|
255
|
+
/>
|
|
256
|
+
<h3>Ingen podcast tilgjengelig ennå</h3>
|
|
257
|
+
<p>Sjekk tilbake senere for nytt innhold.</p>
|
|
258
|
+
</div>
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### App Download Section
|
|
262
|
+
|
|
263
|
+
```html
|
|
264
|
+
<section class="app-download">
|
|
265
|
+
<h2>Last ned appen</h2>
|
|
266
|
+
<div class="download-buttons">
|
|
267
|
+
<a href="https://apps.apple.com/...">
|
|
268
|
+
<img
|
|
269
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/kakadu-downloadappstore.svg"
|
|
270
|
+
alt="Last ned fra App Store"
|
|
271
|
+
width="200"
|
|
272
|
+
height="60"
|
|
273
|
+
/>
|
|
274
|
+
</a>
|
|
275
|
+
<a href="https://play.google.com/...">
|
|
276
|
+
<img
|
|
277
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/kakadu-downloadgoogleplay.svg"
|
|
278
|
+
alt="Last ned fra Google Play"
|
|
279
|
+
width="200"
|
|
280
|
+
height="60"
|
|
281
|
+
/>
|
|
282
|
+
</a>
|
|
283
|
+
</div>
|
|
284
|
+
</section>
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### Sports Content Hero
|
|
288
|
+
|
|
289
|
+
```html
|
|
290
|
+
<div class="sport-hero">
|
|
291
|
+
<img
|
|
292
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/sport-watchparty.svg"
|
|
293
|
+
alt=""
|
|
294
|
+
role="presentation"
|
|
295
|
+
width="400"
|
|
296
|
+
height="300"
|
|
297
|
+
/>
|
|
298
|
+
<div class="hero-content">
|
|
299
|
+
<h1>Se alle kampene live</h1>
|
|
300
|
+
<p>Strøm fotball, hockey og mer med vårt sportsabonnement.</p>
|
|
301
|
+
</div>
|
|
302
|
+
</div>
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### Cancellation Flow with Win-back
|
|
306
|
+
|
|
307
|
+
```html
|
|
308
|
+
<div class="cancellation-flow">
|
|
309
|
+
<img
|
|
310
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/cancel-chocolate.svg"
|
|
311
|
+
alt=""
|
|
312
|
+
role="presentation"
|
|
313
|
+
width="200"
|
|
314
|
+
height="200"
|
|
315
|
+
/>
|
|
316
|
+
<h2>Før du går...</h2>
|
|
317
|
+
<p>Vi vil gjerne tilby deg 50% rabatt i 3 måneder.</p>
|
|
318
|
+
<button class="primary">Aksepter tilbudet</button>
|
|
319
|
+
<button class="secondary">Avslutt likevel</button>
|
|
320
|
+
</div>
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
## Framework Integration
|
|
324
|
+
|
|
325
|
+
### Svelte
|
|
326
|
+
|
|
327
|
+
```svelte
|
|
328
|
+
<script>
|
|
329
|
+
const baseUrl = 'https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/';
|
|
330
|
+
const illustration = 'success-thumbsup.svg';
|
|
331
|
+
const isDecorative = false;
|
|
332
|
+
</script>
|
|
333
|
+
|
|
334
|
+
<img
|
|
335
|
+
src="{baseUrl}{illustration}"
|
|
336
|
+
alt={isDecorative ? '' : 'Success message'}
|
|
337
|
+
role={isDecorative ? 'presentation' : undefined}
|
|
338
|
+
aria-hidden={isDecorative}
|
|
339
|
+
width="200"
|
|
340
|
+
height="200"
|
|
341
|
+
/>
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
### React
|
|
345
|
+
|
|
346
|
+
```jsx
|
|
347
|
+
const IllustrationImage = ({
|
|
348
|
+
name,
|
|
349
|
+
alt,
|
|
350
|
+
isDecorative = false,
|
|
351
|
+
width = 200,
|
|
352
|
+
height = 200,
|
|
353
|
+
}) => {
|
|
354
|
+
const baseUrl =
|
|
355
|
+
'https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/';
|
|
356
|
+
|
|
357
|
+
return (
|
|
358
|
+
<img
|
|
359
|
+
src={`${baseUrl}${name}`}
|
|
360
|
+
alt={isDecorative ? '' : alt}
|
|
361
|
+
role={isDecorative ? 'presentation' : undefined}
|
|
362
|
+
aria-hidden={isDecorative}
|
|
363
|
+
width={width}
|
|
364
|
+
height={height}
|
|
365
|
+
/>
|
|
366
|
+
);
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
// Usage
|
|
370
|
+
<IllustrationImage name="error-ufo.svg" alt="An error occurred" />;
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
### Vue
|
|
374
|
+
|
|
375
|
+
```vue
|
|
376
|
+
<template>
|
|
377
|
+
<img
|
|
378
|
+
:src="illustrationUrl"
|
|
379
|
+
:alt="isDecorative ? '' : alt"
|
|
380
|
+
:role="isDecorative ? 'presentation' : undefined"
|
|
381
|
+
:aria-hidden="isDecorative"
|
|
382
|
+
:width="width"
|
|
383
|
+
:height="height"
|
|
384
|
+
/>
|
|
385
|
+
</template>
|
|
386
|
+
|
|
387
|
+
<script>
|
|
388
|
+
export default {
|
|
389
|
+
props: {
|
|
390
|
+
name: String,
|
|
391
|
+
alt: String,
|
|
392
|
+
isDecorative: {
|
|
393
|
+
type: Boolean,
|
|
394
|
+
default: false,
|
|
395
|
+
},
|
|
396
|
+
width: {
|
|
397
|
+
type: Number,
|
|
398
|
+
default: 200,
|
|
399
|
+
},
|
|
400
|
+
height: {
|
|
401
|
+
type: Number,
|
|
402
|
+
default: 200,
|
|
403
|
+
},
|
|
404
|
+
},
|
|
405
|
+
computed: {
|
|
406
|
+
illustrationUrl() {
|
|
407
|
+
return `https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/${this.name}`;
|
|
408
|
+
},
|
|
409
|
+
},
|
|
410
|
+
};
|
|
411
|
+
</script>
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
## Accessibility
|
|
415
|
+
|
|
416
|
+
### Decorative vs Informative
|
|
417
|
+
|
|
418
|
+
Illustrations can be either decorative or informative:
|
|
419
|
+
|
|
420
|
+
**Decorative**: The illustration is purely visual and doesn't add information to the content.
|
|
421
|
+
|
|
422
|
+
```html
|
|
423
|
+
<img src="..." alt="" role="presentation" aria-hidden="true" />
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
**Informative**: The illustration conveys meaning that isn't provided by adjacent text.
|
|
427
|
+
|
|
428
|
+
```html
|
|
429
|
+
<img
|
|
430
|
+
src="..."
|
|
431
|
+
alt="Descriptive text explaining the meaning, not just describing the image"
|
|
432
|
+
/>
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
### Best Practices
|
|
436
|
+
|
|
437
|
+
- **Pair with text**: Always combine illustrations with text to ensure meaning is clear
|
|
438
|
+
- **Contextual alt text**: For informative illustrations, describe the meaning/context, not the visual details
|
|
439
|
+
- **Not interactive**: Illustrations should not have click or hover behaviors. Wrap with interactive elements instead
|
|
440
|
+
- **Size considerations**: Ensure adequate size for visibility (minimum 150x150px recommended)
|
|
441
|
+
|
|
442
|
+
### Examples
|
|
443
|
+
|
|
444
|
+
#### Do: Contextual Alt Text
|
|
445
|
+
|
|
446
|
+
```html
|
|
447
|
+
<img
|
|
448
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/payment-wallet.svg"
|
|
449
|
+
alt="Secure payment processed successfully"
|
|
450
|
+
/>
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
#### Don't: Descriptive Alt Text
|
|
454
|
+
|
|
455
|
+
```html
|
|
456
|
+
<!-- Don't describe the visual -->
|
|
457
|
+
<img
|
|
458
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/payment-wallet.svg"
|
|
459
|
+
alt="A blue wallet with coins"
|
|
460
|
+
/>
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
#### Do: Paired with Text
|
|
464
|
+
|
|
465
|
+
```html
|
|
466
|
+
<div class="message">
|
|
467
|
+
<img src="..." alt="" role="presentation" aria-hidden="true" />
|
|
468
|
+
<div>
|
|
469
|
+
<h2>Betaling fullført</h2>
|
|
470
|
+
<p>Din betaling på 99 kr er bekreftet.</p>
|
|
471
|
+
</div>
|
|
472
|
+
</div>
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
#### Do: Interactive Wrapper
|
|
476
|
+
|
|
477
|
+
```html
|
|
478
|
+
<a href="/upgrade" class="upgrade-card">
|
|
479
|
+
<img
|
|
480
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/upgrade-rocket.svg"
|
|
481
|
+
alt=""
|
|
482
|
+
role="presentation"
|
|
483
|
+
/>
|
|
484
|
+
<span>Oppgrader til Premium</span>
|
|
485
|
+
</a>
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
## Common Patterns
|
|
489
|
+
|
|
490
|
+
### Error Page Pattern
|
|
491
|
+
|
|
492
|
+
```html
|
|
493
|
+
<main class="error-container" role="main">
|
|
494
|
+
<img
|
|
495
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/404-binoculars.svg"
|
|
496
|
+
alt="Page not found"
|
|
497
|
+
width="300"
|
|
498
|
+
height="300"
|
|
499
|
+
/>
|
|
500
|
+
<h1>404 - Siden ble ikke funnet</h1>
|
|
501
|
+
<p>Siden du leter etter eksisterer ikke eller har blitt flyttet.</p>
|
|
502
|
+
<a href="/">Gå til forsiden</a>
|
|
503
|
+
</main>
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
### Empty State Pattern
|
|
507
|
+
|
|
508
|
+
```html
|
|
509
|
+
<div class="empty-state" role="status">
|
|
510
|
+
<img
|
|
511
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/loading-messenger.svg"
|
|
512
|
+
alt=""
|
|
513
|
+
role="presentation"
|
|
514
|
+
aria-hidden="true"
|
|
515
|
+
width="250"
|
|
516
|
+
height="250"
|
|
517
|
+
/>
|
|
518
|
+
<h3>Ingen meldinger ennå</h3>
|
|
519
|
+
<p>Når du mottar meldinger vil de vises her.</p>
|
|
520
|
+
</div>
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
### Onboarding Step Pattern
|
|
524
|
+
|
|
525
|
+
```html
|
|
526
|
+
<article class="onboarding-step">
|
|
527
|
+
<img
|
|
528
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/kakadu-familysharing.svg"
|
|
529
|
+
alt=""
|
|
530
|
+
role="presentation"
|
|
531
|
+
width="200"
|
|
532
|
+
height="200"
|
|
533
|
+
/>
|
|
534
|
+
<h2>Del med familien</h2>
|
|
535
|
+
<p>Inviter opptil 4 familiemedlemmer til å dele ditt abonnement.</p>
|
|
536
|
+
<button>Neste</button>
|
|
537
|
+
</article>
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
### Feature Highlight Pattern
|
|
541
|
+
|
|
542
|
+
```html
|
|
543
|
+
<section class="feature-grid">
|
|
544
|
+
<div class="feature">
|
|
545
|
+
<img
|
|
546
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/read-digital.svg"
|
|
547
|
+
alt=""
|
|
548
|
+
role="presentation"
|
|
549
|
+
/>
|
|
550
|
+
<h3>Les digitalt</h3>
|
|
551
|
+
<p>Tilgang til alle artikler på nett og i app.</p>
|
|
552
|
+
</div>
|
|
553
|
+
<div class="feature">
|
|
554
|
+
<img
|
|
555
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/audio-cloud.svg"
|
|
556
|
+
alt=""
|
|
557
|
+
role="presentation"
|
|
558
|
+
/>
|
|
559
|
+
<h3>Lytt til innhold</h3>
|
|
560
|
+
<p>Podcaster og lytteartikler.</p>
|
|
561
|
+
</div>
|
|
562
|
+
<div class="feature">
|
|
563
|
+
<img
|
|
564
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/share-family.svg"
|
|
565
|
+
alt=""
|
|
566
|
+
role="presentation"
|
|
567
|
+
/>
|
|
568
|
+
<h3>Del med familien</h3>
|
|
569
|
+
<p>Opptil 4 ekstra brukere.</p>
|
|
570
|
+
</div>
|
|
571
|
+
</section>
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
## Technical Details
|
|
575
|
+
|
|
576
|
+
- **Package**: @amedia/brick-illustrations
|
|
577
|
+
- **CDN Base URL**: https://assets.acdn.no/pkg/@amedia/brick-illustrations/v1/svg/
|
|
578
|
+
- **Format**: SVG (Scalable Vector Graphics)
|
|
579
|
+
- **Source**: Figma via Figmagic
|
|
580
|
+
- **Distribution**: Eik CDN
|
|
581
|
+
- **Build Tool**: Figmagic 4.5.11
|
|
582
|
+
- **Total Illustrations**: 99+
|
|
583
|
+
|
|
584
|
+
## Important Notes
|
|
585
|
+
|
|
586
|
+
- **Sync from Figma**: Illustrations are automatically synced from Figma design system. Do not manually edit SVG files.
|
|
587
|
+
- **Usage guidelines**: Review [Amedia's Illustrations Usage Guidelines](https://amedia.slite.com/app/docs/rAiiGn60o3METD) before implementation
|
|
588
|
+
- **No direct manipulation**: Illustrations are static assets. For interactive graphics, consider using brick-icons or custom components
|
|
589
|
+
- **Performance**: SVGs are cached on CDN. Use appropriate width/height attributes to prevent layout shift
|
|
590
|
+
- **Naming convention**: File names follow pattern `{category}-{description}.svg` (e.g., `sport-hockey.svg`, `success-thumbsup.svg`)
|
|
591
|
+
- **Version aliasing**: Use `v1` in URLs for automatic minor/patch updates, or pin to specific version if needed
|
|
592
|
+
- **Accessibility required**: All implementations must specify whether illustration is decorative or informative
|
|
593
|
+
|
|
594
|
+
## Version
|
|
595
|
+
|
|
596
|
+
Current version: 1.2.5
|
|
597
|
+
|
|
598
|
+
Latest changes:
|
|
599
|
+
|
|
600
|
+
- Synced illustrations from Figma
|
|
601
|
+
- Added new illustrations for various use cases
|
|
602
|
+
- Updated elder user illustrations
|
|
603
|
+
- Added youth (ung) content illustrations
|
|
604
|
+
- Expanded Kakadu app illustration set
|