@amedia/brick-mcp 1.0.1 → 1.0.2
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/brick-alt-teaser.md +9 -4
- package/data/components/brick-button.md +3 -2
- package/data/components/brick-byline.md +138 -0
- package/data/components/brick-carousel.md +8 -6
- package/data/components/brick-classnames.md +19 -14
- package/data/components/brick-dialog.md +3 -3
- package/data/components/brick-expand.md +129 -0
- package/data/components/brick-illustrations.md +6 -5
- package/data/components/brick-pill.md +9 -7
- package/data/components/brick-player.md +6 -3
- package/data/components/brick-share.md +5 -2
- package/data/components/brick-skip-link.md +78 -0
- package/data/components/brick-stepper.md +2 -2
- package/data/components/brick-teaser.md +8 -7
- package/data/components/brick-tokens.md +12 -8
- package/data/components-metadata.json +41 -29
- package/dist/data/components/brick-alt-teaser.md +9 -4
- package/dist/data/components/brick-button.md +3 -2
- package/dist/data/components/brick-byline.md +138 -0
- package/dist/data/components/brick-carousel.md +8 -6
- package/dist/data/components/brick-classnames.md +19 -14
- package/dist/data/components/brick-dialog.md +3 -3
- package/dist/data/components/brick-expand.md +129 -0
- package/dist/data/components/brick-illustrations.md +6 -5
- package/dist/data/components/brick-pill.md +9 -7
- package/dist/data/components/brick-player.md +6 -3
- package/dist/data/components/brick-share.md +5 -2
- package/dist/data/components/brick-skip-link.md +78 -0
- package/dist/data/components/brick-stepper.md +2 -2
- package/dist/data/components/brick-teaser.md +8 -7
- package/dist/data/components/brick-tokens.md +12 -8
- package/dist/data/components-metadata.json +41 -29
- package/package.json +32 -32
- package/scripts/check-docs-versions.js +121 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brick-alt-teaser
|
|
3
|
-
version: 8.
|
|
3
|
+
version: 8.1.23
|
|
4
4
|
selector: brick-alt-teaser-v8
|
|
5
5
|
category: Media
|
|
6
6
|
tags: [teaser, article, news, card, content-preview, media, alt-theme]
|
|
@@ -35,6 +35,7 @@ A flexible article teaser component designed for the Alt theme, supporting multi
|
|
|
35
35
|
- Analytics integration with ADP (Amedia Data Platform)
|
|
36
36
|
- Customizable background colors for visual categorization
|
|
37
37
|
- Accessibility features including ARIA labels and screen reader support
|
|
38
|
+
- Compact (small) layout variant for horizontal display
|
|
38
39
|
|
|
39
40
|
## Props/Attributes
|
|
40
41
|
|
|
@@ -51,13 +52,13 @@ A flexible article teaser component designed for the Alt theme, supporting multi
|
|
|
51
52
|
| `srcset` | string | '' | no | Responsive image srcset for different screen sizes |
|
|
52
53
|
| `imagesizes` | string | '' | no | Image sizes attribute for responsive images |
|
|
53
54
|
| `imageRatio` | string | '' | no | Custom aspect ratio (e.g., "16/9", "4/3", "1.33") |
|
|
54
|
-
| `aoi` |
|
|
55
|
+
| `aoi` | string | '' | no | Area of interest for image cropping |
|
|
55
56
|
| `altText` | string | '' | no | Alternative text for images |
|
|
56
57
|
| `tags` | string | '' | no | Comma-separated content tags |
|
|
57
58
|
| `pretitle` | string | '' | no | Text displayed above the main title (for features) |
|
|
58
59
|
| `feature` | boolean | false | no | Enables feature layout variant |
|
|
59
60
|
| `opinion` | boolean | false | no | Enables opinion layout variant |
|
|
60
|
-
| `review` |
|
|
61
|
+
| `review` | string | '' | no | Review rating (1-6, displayed as dice icons) |
|
|
61
62
|
| `gallery` | string | '' | no | Comma-separated list of gallery image URLs |
|
|
62
63
|
| `isVideo` | boolean | false | no | Enables video teaser mode |
|
|
63
64
|
| `videoId` | string | '' | no | Video identifier for brick-player |
|
|
@@ -71,6 +72,10 @@ A flexible article teaser component designed for the Alt theme, supporting multi
|
|
|
71
72
|
| `publicationOnHoverEventName` | string | '' | no | Custom event name dispatched on publication logo hover |
|
|
72
73
|
| `siteId` | string | '' | no | Site identifier for analytics |
|
|
73
74
|
| `small` | boolean | false | no | Enables compact layout variant |
|
|
75
|
+
| `video` | string | '' | no | Video URL for direct video embedding |
|
|
76
|
+
| `logo` | string | '' | no | Publication logo URL |
|
|
77
|
+
| `testId` | string | '' | no | Test identifier for automated testing |
|
|
78
|
+
| `variantId` | string | '' | no | A/B test variant identifier |
|
|
74
79
|
|
|
75
80
|
## Examples
|
|
76
81
|
|
|
@@ -261,4 +266,4 @@ The component automatically selects layout based on attributes:
|
|
|
261
266
|
|
|
262
267
|
## Version
|
|
263
268
|
|
|
264
|
-
Current version: 8.
|
|
269
|
+
Current version: 8.1.23
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brick-button
|
|
3
|
-
version: 9.
|
|
3
|
+
version: 9.4.18
|
|
4
4
|
selector: brick-button-v9
|
|
5
5
|
category: Forms
|
|
6
6
|
tags: [button, cta, action, interactive, link, form-control]
|
|
@@ -32,6 +32,7 @@ A customizable, accessible button component that supports multiple visual varian
|
|
|
32
32
|
- CSS custom properties for styling customization
|
|
33
33
|
- Analytics integration via ADP attributes
|
|
34
34
|
- Framework-agnostic web component with SSR support
|
|
35
|
+
- Reactive attribute observation for dynamic updates (label, icon, disabled, linkto)
|
|
35
36
|
|
|
36
37
|
## Props/Attributes
|
|
37
38
|
|
|
@@ -370,4 +371,4 @@ brick-button-v9 {
|
|
|
370
371
|
|
|
371
372
|
## Version
|
|
372
373
|
|
|
373
|
-
Current version: 9.
|
|
374
|
+
Current version: 9.4.18
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: brick-byline
|
|
3
|
+
version: 1.0.22
|
|
4
|
+
selector: brick-byline-v0
|
|
5
|
+
category: Data Display
|
|
6
|
+
tags: [byline, author, journalist, profile, avatar, article-metadata]
|
|
7
|
+
use_cases:
|
|
8
|
+
[
|
|
9
|
+
article-bylines,
|
|
10
|
+
author-attribution,
|
|
11
|
+
journalist-profiles,
|
|
12
|
+
content-metadata,
|
|
13
|
+
]
|
|
14
|
+
related: [brick-avatar, brick-teaser, brick-tokens]
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Brick Byline
|
|
18
|
+
|
|
19
|
+
A component for displaying article bylines with author name, avatar, work title, email link, and profile URL.
|
|
20
|
+
|
|
21
|
+
## Key Capabilities
|
|
22
|
+
|
|
23
|
+
- Displays author name with optional avatar image or initials
|
|
24
|
+
- Links to author profile URL or email
|
|
25
|
+
- Shows work title alongside avatar
|
|
26
|
+
- Schema.org Person microdata for structured data
|
|
27
|
+
- Integrates brick-avatar for profile images
|
|
28
|
+
- Server-side rendering support via template submodule
|
|
29
|
+
- Semantic HTML with `<address>` element for linked bylines
|
|
30
|
+
|
|
31
|
+
## Props/Attributes
|
|
32
|
+
|
|
33
|
+
| Attribute | Type | Default | Required | Description |
|
|
34
|
+
| ------------------ | ------ | ------- | -------- | -------------------------------------------------------------- |
|
|
35
|
+
| `data-name` | string | - | yes | Author's display name |
|
|
36
|
+
| `data-email` | string | - | no | Author's email address (renders as mailto: link if no profile) |
|
|
37
|
+
| `data-profile-url` | string | - | no | URL to the author's profile page |
|
|
38
|
+
| `data-image-url` | string | - | no | URL to the author's avatar image |
|
|
39
|
+
| `data-work-title` | string | - | no | Author's role or title (e.g., "Politisk redaktør") |
|
|
40
|
+
| `data-initials` | string | - | no | Author's initials (used as avatar fallback when no image) |
|
|
41
|
+
|
|
42
|
+
## Examples
|
|
43
|
+
|
|
44
|
+
### Basic Byline
|
|
45
|
+
|
|
46
|
+
```html
|
|
47
|
+
<brick-byline-v0 data-name="Ola Nordmann"> </brick-byline-v0>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Byline with Profile Link
|
|
51
|
+
|
|
52
|
+
```html
|
|
53
|
+
<brick-byline-v0
|
|
54
|
+
data-name="Kari Nordmann"
|
|
55
|
+
data-profile-url="https://www.example.com/journalist/kari"
|
|
56
|
+
>
|
|
57
|
+
</brick-byline-v0>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Byline with Avatar and Work Title
|
|
61
|
+
|
|
62
|
+
```html
|
|
63
|
+
<brick-byline-v0
|
|
64
|
+
data-name="Hege Breen Bakken"
|
|
65
|
+
data-work-title="Politisk redaktør"
|
|
66
|
+
data-image-url="https://example.com/images/hege.jpg"
|
|
67
|
+
data-profile-url="https://www.dt.no/journalist/hege"
|
|
68
|
+
>
|
|
69
|
+
</brick-byline-v0>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Byline with Email
|
|
73
|
+
|
|
74
|
+
```html
|
|
75
|
+
<brick-byline-v0
|
|
76
|
+
data-name="Per Hansen"
|
|
77
|
+
data-email="per.hansen@example.com"
|
|
78
|
+
data-work-title="Journalist"
|
|
79
|
+
>
|
|
80
|
+
</brick-byline-v0>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Byline with Initials (No Image)
|
|
84
|
+
|
|
85
|
+
```html
|
|
86
|
+
<brick-byline-v0
|
|
87
|
+
data-name="Lars Olsen"
|
|
88
|
+
data-initials="LO"
|
|
89
|
+
data-profile-url="https://www.example.com/journalist/lars"
|
|
90
|
+
>
|
|
91
|
+
</brick-byline-v0>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Server-Side Rendering
|
|
95
|
+
|
|
96
|
+
```javascript
|
|
97
|
+
import { renderBrickByline } from '@amedia/brick-byline/template';
|
|
98
|
+
|
|
99
|
+
const bylineHTML = renderBrickByline({
|
|
100
|
+
dataName: 'Hege Breen Bakken',
|
|
101
|
+
dataWorkTitle: 'Politisk redaktør',
|
|
102
|
+
dataImageUrl: 'https://example.com/images/hege.jpg',
|
|
103
|
+
dataProfileUrl: 'https://www.dt.no/journalist/hege',
|
|
104
|
+
});
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Accessibility
|
|
108
|
+
|
|
109
|
+
- Uses `<address>` element for bylines with profile links (semantic HTML)
|
|
110
|
+
- ARIA label includes work title and name (e.g., "Politisk redaktør Hege Breen Bakken")
|
|
111
|
+
- Profile/email links include `aria-label="Kontakt {name}"` for screen readers
|
|
112
|
+
- Uses Schema.org Person microdata (`itemprop="author"`, `itemprop="name"`, `itemprop="url"`)
|
|
113
|
+
- Avatar images include alt text via brick-avatar
|
|
114
|
+
|
|
115
|
+
## Technical Details
|
|
116
|
+
|
|
117
|
+
- **Custom Element**: `brick-byline-v0`
|
|
118
|
+
- **Base Class**: BrickElement (from @amedia/brick-template)
|
|
119
|
+
- **Dependencies**:
|
|
120
|
+
- @amedia/brick-avatar (profile images)
|
|
121
|
+
- @amedia/brick-template (base class)
|
|
122
|
+
- @amedia/brick-tokens (design tokens)
|
|
123
|
+
- **Renders as**: `<address>` (with link) or `<div>` (without link)
|
|
124
|
+
- **Schema.org**: Implements Person microdata
|
|
125
|
+
- **SSR Compatible**: Yes, via `renderBrickByline` from template submodule
|
|
126
|
+
|
|
127
|
+
## Important Notes
|
|
128
|
+
|
|
129
|
+
- When `data-profile-url` is provided, the byline renders as a linked `<address>` element
|
|
130
|
+
- When only `data-email` is provided (no profile URL), the link becomes a `mailto:` link
|
|
131
|
+
- When neither profile URL nor email is provided, the byline renders as a non-interactive `<div>`
|
|
132
|
+
- Work title is only displayed when an avatar image is also provided
|
|
133
|
+
- Initials are used as avatar fallback when no `data-image-url` is provided
|
|
134
|
+
- The `isRendered` flag in SSR prevents client-side re-rendering of server-rendered markup
|
|
135
|
+
|
|
136
|
+
## Version
|
|
137
|
+
|
|
138
|
+
Current version: 1.0.22
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brick-carousel
|
|
3
|
-
version: 2.
|
|
3
|
+
version: 2.3.5
|
|
4
4
|
selector: brick-carousel-v2
|
|
5
5
|
category: Layout
|
|
6
6
|
tags:
|
|
@@ -25,7 +25,7 @@ use_cases:
|
|
|
25
25
|
media-galleries,
|
|
26
26
|
responsive-layouts,
|
|
27
27
|
]
|
|
28
|
-
related: [brick-teaser, brick-image, brick-player]
|
|
28
|
+
related: [brick-teaser, brick-image, brick-player, brick-teaser-reels]
|
|
29
29
|
---
|
|
30
30
|
|
|
31
31
|
# Brick Carousel
|
|
@@ -35,7 +35,7 @@ A simple, accessible carousel component for displaying any type of content in a
|
|
|
35
35
|
## Key Capabilities
|
|
36
36
|
|
|
37
37
|
- Fully accessible with semantic markup, keyboard navigation, and ARIA support
|
|
38
|
-
- Supports
|
|
38
|
+
- Supports five layout types: carousel (default), gallery (full-width single items), compact (dense layout), wide (two wide slides on desktop), and reels (vertical short-form content)
|
|
39
39
|
- Responsive design that adapts to container width (1-3 items visible depending on space)
|
|
40
40
|
- Client-side and server-side rendering support
|
|
41
41
|
- Drag-to-scroll functionality on desktop
|
|
@@ -47,9 +47,11 @@ A simple, accessible carousel component for displaying any type of content in a
|
|
|
47
47
|
|
|
48
48
|
| Attribute | Type | Default | Required | Description |
|
|
49
49
|
| ------------------------- | -------------------------------------- | ------------ | ---------------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
|
50
|
-
| `data-version` | `"carousel" \| "gallery" \| "compact"` | `"carousel"` | No | Layout type. "carousel" shows 1-3 items, "gallery" shows 1 full-width item, "compact" provides a denser layout
|
|
50
|
+
| `data-version` | `"carousel" \| "gallery" \| "compact" \| "wide" \| "reels"` | `"carousel"` | No | Layout type. "carousel" shows 1-3 items, "gallery" shows 1 full-width item, "compact" provides a denser layout, "wide" shows two wide slides on desktop, "reels" for vertical short-form content |
|
|
51
51
|
| `data-min-slides-to-show` | `string` (number) | `"1"` | No | Minimum number of slides to show. When set to "2" and only 2 children exist, shows both in a fraction grid without scrolling |
|
|
52
52
|
| `data-hide-btn-start-end` | `boolean` | `false` | No | Hides navigation buttons when at start/end of carousel. Not recommended for content wrapped in links to avoid misclicks |
|
|
53
|
+
| `data-padding-inline` | `boolean` | `false` | No | Adds inline padding to the carousel content grid |
|
|
54
|
+
| `data-slide-width` | `"fill" \| "hug"` | - | No | Controls whether slides fill the container ("fill") or hug their content ("hug") |
|
|
53
55
|
| `dataItems` | `string[]` | - | No (Yes for SSR) | Array of HTML content strings for server-side rendering. Each item is automatically wrapped with proper `<li>` markup |
|
|
54
56
|
|
|
55
57
|
## Examples
|
|
@@ -59,7 +61,7 @@ A simple, accessible carousel component for displaying any type of content in a
|
|
|
59
61
|
```html
|
|
60
62
|
<script
|
|
61
63
|
type="module"
|
|
62
|
-
src="https://assets.acdn.no/pkg/@amedia/brick-carousel/2.
|
|
64
|
+
src="https://assets.acdn.no/pkg/@amedia/brick-carousel/2.3.5/brick-carousel.js"
|
|
63
65
|
></script>
|
|
64
66
|
|
|
65
67
|
<brick-carousel-v2>
|
|
@@ -352,4 +354,4 @@ The `data-hide-btn-start-end` attribute should generally not be used when carous
|
|
|
352
354
|
|
|
353
355
|
## Version
|
|
354
356
|
|
|
355
|
-
Current version: 2.
|
|
357
|
+
Current version: 2.3.5
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brick-classnames
|
|
3
|
-
version:
|
|
3
|
+
version: 3.0.2
|
|
4
4
|
category: Utility
|
|
5
|
-
tags: [utility, css, theming, design-system, classnames]
|
|
5
|
+
tags: [utility, css, theming, design-system, classnames, esm]
|
|
6
6
|
use_cases: [theming, styling, design-tokens, css-variables]
|
|
7
7
|
related: [brick-themes, brick-tokens]
|
|
8
8
|
---
|
|
@@ -16,18 +16,19 @@ A utility module that converts design theme names into CSS-safe class names for
|
|
|
16
16
|
- Converts design theme names to CSS-safe class names
|
|
17
17
|
- Ensures correct scoping for theme-specific CSS variables
|
|
18
18
|
- Works seamlessly with brick-tokens theme CSS files
|
|
19
|
-
- TypeScript support with type-safe design names
|
|
19
|
+
- TypeScript support with type-safe design names via `Design` type from `@amedia/brick-themes`
|
|
20
20
|
- Simple, single-function API
|
|
21
|
+
- ESM-only package (CommonJS support removed in v3)
|
|
21
22
|
|
|
22
23
|
## API
|
|
23
24
|
|
|
24
25
|
### `designNameToClassName(designName: Design): string`
|
|
25
26
|
|
|
26
|
-
Converts a design theme name to a CSS-safe class name that corresponds with theme classes in brick-tokens.
|
|
27
|
+
Converts a design theme name to a CSS-safe class name that corresponds with theme classes in brick-tokens. Internally splits the name on underscores, filters empty segments, capitalizes each word, and prepends `theme`.
|
|
27
28
|
|
|
28
29
|
**Parameters:**
|
|
29
30
|
|
|
30
|
-
- `designName`: `Design` -
|
|
31
|
+
- `designName`: `Design` - A design name from `@amedia/brick-themes` (e.g., `'nettavisen' | 'alt' | 'alfa' | 'bravo' | 'charlie'`)
|
|
31
32
|
|
|
32
33
|
**Returns:** `string` - A CSS class name (e.g., `'themeAlt'`, `'themeBravo'`)
|
|
33
34
|
|
|
@@ -49,6 +50,8 @@ const html = `<div class="${cssClass}">
|
|
|
49
50
|
### With CSS Variables
|
|
50
51
|
|
|
51
52
|
```javascript
|
|
53
|
+
import { designNameToClassName } from '@amedia/brick-classnames';
|
|
54
|
+
|
|
52
55
|
const className = designNameToClassName('bravo');
|
|
53
56
|
// Returns: 'themeBravo'
|
|
54
57
|
|
|
@@ -72,10 +75,10 @@ const markup = `<div class="${className}">
|
|
|
72
75
|
import { designNameToClassName } from '@amedia/brick-classnames';
|
|
73
76
|
|
|
74
77
|
designNameToClassName('nettavisen'); // 'themeNettavisen'
|
|
75
|
-
designNameToClassName('alt');
|
|
76
|
-
designNameToClassName('alfa');
|
|
77
|
-
designNameToClassName('bravo');
|
|
78
|
-
designNameToClassName('charlie');
|
|
78
|
+
designNameToClassName('alt'); // 'themeAlt'
|
|
79
|
+
designNameToClassName('alfa'); // 'themeAlfa'
|
|
80
|
+
designNameToClassName('bravo'); // 'themeBravo'
|
|
81
|
+
designNameToClassName('charlie'); // 'themeCharlie'
|
|
79
82
|
```
|
|
80
83
|
|
|
81
84
|
## Framework Integration
|
|
@@ -111,16 +114,18 @@ function ThemedContainer({ design, children }) {
|
|
|
111
114
|
## Technical Details
|
|
112
115
|
|
|
113
116
|
- **Package**: `@amedia/brick-classnames`
|
|
114
|
-
- **Type**: Utility function
|
|
115
|
-
- **
|
|
116
|
-
- **
|
|
117
|
+
- **Type**: Utility function (ESM only)
|
|
118
|
+
- **Module format**: ES modules only — no CommonJS
|
|
119
|
+
- **Dependencies**: `@amedia/brick-themes` (provides the `Design` type)
|
|
120
|
+
- **Output format**: PascalCased class name with `theme` prefix (e.g., `'themeAlt'`, `'themeBravo'`)
|
|
117
121
|
|
|
118
122
|
## Important Notes
|
|
119
123
|
|
|
124
|
+
- **Breaking change in v3.0.0**: CommonJS support has been removed. Consumers must use ESM `import` syntax — `require()` will not work.
|
|
120
125
|
- You must load the corresponding theme CSS file from Eik to use the CSS variables
|
|
121
126
|
- Theme CSS files are available at: `https://assets.acdn.no/pkg/@amedia/brick-tokens/v2/css/theme-{name}.css`
|
|
122
127
|
- The class name provides scoping for CSS variables defined in brick-tokens
|
|
123
|
-
- TypeScript provides autocomplete and validation for design names
|
|
128
|
+
- TypeScript provides autocomplete and validation for design names via the `Design` type from `@amedia/brick-themes`
|
|
124
129
|
|
|
125
130
|
## Common Patterns
|
|
126
131
|
|
|
@@ -144,4 +149,4 @@ document.body.className = className;
|
|
|
144
149
|
|
|
145
150
|
## Version
|
|
146
151
|
|
|
147
|
-
Current version:
|
|
152
|
+
Current version: 3.0.2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brick-dialog
|
|
3
|
-
version: 2.
|
|
3
|
+
version: 2.1.15
|
|
4
4
|
selector: brick-dialog-v2
|
|
5
5
|
category: Feedback
|
|
6
6
|
tags:
|
|
@@ -447,7 +447,7 @@ const dialogId = `dialog-${Math.random().toString(36).substring(2)}`;
|
|
|
447
447
|
|
|
448
448
|
### Server-Side Rendering
|
|
449
449
|
|
|
450
|
-
The current version (2.
|
|
450
|
+
The current version (2.1.15) does not support server-side rendering. Future versions may add this capability if needed.
|
|
451
451
|
|
|
452
452
|
### Template Tag Attributes
|
|
453
453
|
|
|
@@ -455,4 +455,4 @@ Use `data-name` (not `name`) for template tag identification. This was changed i
|
|
|
455
455
|
|
|
456
456
|
## Version
|
|
457
457
|
|
|
458
|
-
Current version: 2.
|
|
458
|
+
Current version: 2.1.15
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: brick-expand
|
|
3
|
+
version: 0.0.27
|
|
4
|
+
selector: brick-expand-v0
|
|
5
|
+
category: Layout
|
|
6
|
+
tags: [expand, collapse, accordion, show-more, content-toggle, read-more]
|
|
7
|
+
use_cases:
|
|
8
|
+
[
|
|
9
|
+
long-content,
|
|
10
|
+
read-more,
|
|
11
|
+
article-truncation,
|
|
12
|
+
collapsible-sections,
|
|
13
|
+
progressive-disclosure,
|
|
14
|
+
]
|
|
15
|
+
related: [brick-button, brick-tokens]
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Brick Expand
|
|
19
|
+
|
|
20
|
+
A container component for content that can be expanded from a collapsed state, with animated transitions and a toggle button.
|
|
21
|
+
|
|
22
|
+
## Key Capabilities
|
|
23
|
+
|
|
24
|
+
- Expand/collapse content with animated height transitions
|
|
25
|
+
- Two visual variants: primary (default) and secondary
|
|
26
|
+
- Automatic button generation using brick-button
|
|
27
|
+
- Gradient overlay on collapsed content
|
|
28
|
+
- Accessibility-enforced: requires `data-aria-label` for collapsed state
|
|
29
|
+
- Collapsed content is made inert (not focusable/interactable)
|
|
30
|
+
- One-way expand: once expanded, the button is removed and content stays expanded
|
|
31
|
+
- Server-side rendering support via template submodule
|
|
32
|
+
|
|
33
|
+
## Props/Attributes
|
|
34
|
+
|
|
35
|
+
| Attribute | Type | Default | Required | Description |
|
|
36
|
+
| ---------------------- | ---------------------------- | ------------- | ----------------------- | --------------------------------------------------------- |
|
|
37
|
+
| `data-expanded-state` | `"expanded" \| "collapsed"` | `"expanded"` | no | Initial state of the content |
|
|
38
|
+
| `data-version` | `"primary" \| "secondary"` | `"primary"` | no | Visual style variant |
|
|
39
|
+
| `data-button-label` | string | - | yes (when collapsed) | Label text for the expand button |
|
|
40
|
+
| `data-aria-label` | string | - | yes (when collapsed) | ARIA label for the expand button and content region |
|
|
41
|
+
|
|
42
|
+
## Examples
|
|
43
|
+
|
|
44
|
+
### Collapsed Content (Read More)
|
|
45
|
+
|
|
46
|
+
```html
|
|
47
|
+
<brick-expand-v0
|
|
48
|
+
data-expanded-state="collapsed"
|
|
49
|
+
data-button-label="Les mer"
|
|
50
|
+
data-aria-label="Les mer om artikkelen"
|
|
51
|
+
data-version="primary"
|
|
52
|
+
>
|
|
53
|
+
<brick-expand-content>
|
|
54
|
+
<p>This is the content that will be partially hidden until the user clicks expand.</p>
|
|
55
|
+
<p>More content here that is initially hidden...</p>
|
|
56
|
+
</brick-expand-content>
|
|
57
|
+
</brick-expand-v0>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Already Expanded Content
|
|
61
|
+
|
|
62
|
+
```html
|
|
63
|
+
<brick-expand-v0 data-expanded-state="expanded">
|
|
64
|
+
<brick-expand-content>
|
|
65
|
+
<p>This content is fully visible from the start. No button is shown.</p>
|
|
66
|
+
</brick-expand-content>
|
|
67
|
+
</brick-expand-v0>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Secondary Variant
|
|
71
|
+
|
|
72
|
+
```html
|
|
73
|
+
<brick-expand-v0
|
|
74
|
+
data-expanded-state="collapsed"
|
|
75
|
+
data-button-label="Vis hele artikkelen"
|
|
76
|
+
data-aria-label="Vis hele artikkelen"
|
|
77
|
+
data-version="secondary"
|
|
78
|
+
>
|
|
79
|
+
<brick-expand-content>
|
|
80
|
+
<p>Content with secondary visual styling...</p>
|
|
81
|
+
</brick-expand-content>
|
|
82
|
+
</brick-expand-v0>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Server-Side Rendering
|
|
86
|
+
|
|
87
|
+
```javascript
|
|
88
|
+
import { renderBrickExpand } from '@amedia/brick-expand/template';
|
|
89
|
+
|
|
90
|
+
const expandHTML = renderBrickExpand({
|
|
91
|
+
dataExpandedState: 'collapsed',
|
|
92
|
+
dataButtonLabel: 'Les mer',
|
|
93
|
+
dataAriaLabel: 'Les mer om artikkelen',
|
|
94
|
+
dataVersion: 'primary',
|
|
95
|
+
children: '<p>Content to be expanded...</p>',
|
|
96
|
+
});
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Accessibility
|
|
100
|
+
|
|
101
|
+
- **Mandatory `data-aria-label`**: Required when using collapsed state. If not provided, the component defaults to expanded state and throws an error
|
|
102
|
+
- **Inert content**: When collapsed, the content region gets `inert` and `tabindex="-1"` attributes, preventing focus on hidden content
|
|
103
|
+
- **ARIA attributes**: The expand button includes `aria-expanded` and `aria-controls` linking to the content region
|
|
104
|
+
- **Content region**: Wrapped in a `role="region"` element with `aria-label`
|
|
105
|
+
- **Reduced motion**: Respects `prefers-reduced-motion` for transition animations
|
|
106
|
+
|
|
107
|
+
## Technical Details
|
|
108
|
+
|
|
109
|
+
- **Custom Element**: `brick-expand-v0`
|
|
110
|
+
- **Base Class**: BrickElement (from @amedia/brick-template)
|
|
111
|
+
- **Dependencies**:
|
|
112
|
+
- @amedia/brick-button (expand button)
|
|
113
|
+
- @amedia/brick-template (base class)
|
|
114
|
+
- @amedia/brick-tokens (design tokens)
|
|
115
|
+
- **Observed Attributes**: `children-rendered`, `data-expanded-state`
|
|
116
|
+
- **SSR Compatible**: Yes, via `renderBrickExpand` from template submodule
|
|
117
|
+
|
|
118
|
+
## Important Notes
|
|
119
|
+
|
|
120
|
+
- **One-way expand**: Once content is expanded, the button is removed and the content stays expanded permanently. There is no re-collapse
|
|
121
|
+
- **Gradient overlay**: Collapsed content shows a gradient overlay at the bottom to indicate more content is available
|
|
122
|
+
- **Button label required**: Both `data-button-label` and `data-aria-label` are required for collapsed state. Without them, the component defaults to expanded
|
|
123
|
+
- **Transition duration**: For content taller than 1000px, the transition duration is automatically increased to 1000ms for smoother animation
|
|
124
|
+
- **Content wrapping**: Child content must be placed inside `<brick-expand-content>` element
|
|
125
|
+
- The `isRendered` flag in SSR prevents client-side re-rendering of server-rendered markup
|
|
126
|
+
|
|
127
|
+
## Version
|
|
128
|
+
|
|
129
|
+
Current version: 0.0.27
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brick-illustrations
|
|
3
|
-
version: 1.
|
|
3
|
+
version: 1.3.0
|
|
4
4
|
category: Media
|
|
5
5
|
tags: [svg, illustrations, graphics, assets, cdn, decorative, figma]
|
|
6
6
|
use_cases:
|
|
@@ -29,7 +29,7 @@ A collection of SVG illustrations synced from Figma and distributed via CDN for
|
|
|
29
29
|
|
|
30
30
|
## Key Capabilities
|
|
31
31
|
|
|
32
|
-
-
|
|
32
|
+
- 98 professionally designed SVG illustrations covering various use cases
|
|
33
33
|
- Delivered via Eik CDN for fast, cached loading
|
|
34
34
|
- Scalable vector graphics with no quality loss at any size
|
|
35
35
|
- Organized by category (error, success, audio, sport, subscription, etc.)
|
|
@@ -135,7 +135,7 @@ A collection of SVG illustrations synced from Figma and distributed via CDN for
|
|
|
135
135
|
|
|
136
136
|
### Other Categories
|
|
137
137
|
|
|
138
|
-
- `enjoy-breakfast.svg`, `enjoy-cats.svg`, `enjoy-coffee.svg`, `enjoy-cuddle.svg`, `enjoy-watching.svg` - Lifestyle/enjoyment
|
|
138
|
+
- `enjoy-brainteaser.svg`, `enjoy-breakfast.svg`, `enjoy-cats.svg`, `enjoy-coffee.svg`, `enjoy-cuddle.svg`, `enjoy-watching.svg` - Lifestyle/enjoyment
|
|
139
139
|
- `friendly-balldog.svg`, `friendly-hello.svg`, `friendly-tada.svg` - Friendly greetings
|
|
140
140
|
- `location-boypin.svg`, `location-boypins.svg`, `location-girlpin.svg`, `location-girlpins.svg` - Location features
|
|
141
141
|
- `payment-wallet.svg` - Payment flows
|
|
@@ -579,7 +579,7 @@ Illustrations can be either decorative or informative:
|
|
|
579
579
|
- **Source**: Figma via Figmagic
|
|
580
580
|
- **Distribution**: Eik CDN
|
|
581
581
|
- **Build Tool**: Figmagic 4.5.11
|
|
582
|
-
- **Total Illustrations**:
|
|
582
|
+
- **Total Illustrations**: 98
|
|
583
583
|
|
|
584
584
|
## Important Notes
|
|
585
585
|
|
|
@@ -593,10 +593,11 @@ Illustrations can be either decorative or informative:
|
|
|
593
593
|
|
|
594
594
|
## Version
|
|
595
595
|
|
|
596
|
-
Current version: 1.
|
|
596
|
+
Current version: 1.3.0
|
|
597
597
|
|
|
598
598
|
Latest changes:
|
|
599
599
|
|
|
600
|
+
- New illustration "enjoy-brainteaser" added
|
|
600
601
|
- Synced illustrations from Figma
|
|
601
602
|
- Added new illustrations for various use cases
|
|
602
603
|
- Updated elder user illustrations
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brick-pill
|
|
3
|
-
version:
|
|
3
|
+
version: 10.1.6
|
|
4
4
|
selector: brick-pill-v10
|
|
5
5
|
category: Data Display
|
|
6
6
|
tags: [pill, label, badge, status, meta, countdown, icon, vignette]
|
|
@@ -22,12 +22,12 @@ A read-only status indicator or label component that displays small pieces of me
|
|
|
22
22
|
|
|
23
23
|
## Key Capabilities
|
|
24
24
|
|
|
25
|
-
- Multiple visual versions: vignette, video, gallery, breaking, plus, alt, plusall, icon, countdown
|
|
25
|
+
- Multiple visual versions: vignette, video, gallery, breaking, untold, plus, alt, plusall, icon, countdown
|
|
26
26
|
- Customizable skins for different content categories (sport, opinion, highlight, commercial, shopping, betting)
|
|
27
27
|
- Optional filled or outlined styles
|
|
28
28
|
- Icon support with configurable size
|
|
29
29
|
- Live countdown timer functionality with automatic toggle to fallback version
|
|
30
|
-
- Locale support for countdown text (Norwegian Bokmal and Nynorsk)
|
|
30
|
+
- Locale support for countdown text (Norwegian Bokmal and Nynorsk) using IETF BCP 47 format
|
|
31
31
|
- Can be used standalone or wrapped in brick-pillbox container
|
|
32
32
|
- CSS custom properties for advanced styling
|
|
33
33
|
|
|
@@ -41,7 +41,7 @@ A read-only status indicator or label component that displays small pieces of me
|
|
|
41
41
|
| `data-skin` | `'none' \| 'black' \| 'custom-one' \| 'custom-two' \| 'custom-three' \| 'sport' \| 'highlight' \| 'commercial' \| 'shopping' \| 'betting' \| 'opinion'` | `'none'` | no | Predefined color theme for the pill |
|
|
42
42
|
| `data-icon-id` | string | - | no | ID of icon from brick-icon to display |
|
|
43
43
|
| `data-icon-text` | string | - | no | Alternative text for the icon |
|
|
44
|
-
| `data-icon-size` |
|
|
44
|
+
| `data-icon-size` | `'small' \| 'medium'` | `'small'` | no | Size of the icon |
|
|
45
45
|
| `data-countdown-date` | EpochTimeStamp | - | no | Unix timestamp for countdown end time (required for countdown) |
|
|
46
46
|
| `data-countdown-toggle-version` | `'vignette' \| 'video' \| 'gallery' \| 'breaking' \| 'untold'` | `'vignette'` | no | Version to display after countdown ends |
|
|
47
47
|
| `data-countdown-toggle-text` | string | - | no | Text to display after countdown ends |
|
|
@@ -242,7 +242,7 @@ const pillHTML = renderBrickPill({
|
|
|
242
242
|
});
|
|
243
243
|
|
|
244
244
|
// Include CSS file
|
|
245
|
-
// <link rel="stylesheet" href="https://assets.acdn.no/pkg/@amedia/brick-pill/
|
|
245
|
+
// <link rel="stylesheet" href="https://assets.acdn.no/pkg/@amedia/brick-pill/v10/css/styles.css">
|
|
246
246
|
```
|
|
247
247
|
|
|
248
248
|
## Accessibility
|
|
@@ -355,8 +355,10 @@ brick-pill-v10 {
|
|
|
355
355
|
- Truncates text on the last pill
|
|
356
356
|
- Adds dividers between eligible pills
|
|
357
357
|
- The breaking version has special animation that requires overflow to be visible, so it will not get text ellipsis
|
|
358
|
-
-
|
|
358
|
+
- **Breaking change in v10.0.0**: Locale values for `data-locale` now follow IETF BCP 47 standard — use `'nb-NO'` instead of the old `'nb_no'` format
|
|
359
|
+
- Colors are now applied even on non-filled pills (since v10.1.0)
|
|
360
|
+
- Icon-only versions (`alt`, `plus`, `plusall`, `icon`) display only an SVG icon with no text
|
|
359
361
|
|
|
360
362
|
## Version
|
|
361
363
|
|
|
362
|
-
Current version:
|
|
364
|
+
Current version: 10.1.6
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brick-player
|
|
3
|
-
version: 2.
|
|
3
|
+
version: 2.4.3
|
|
4
4
|
selector: brick-player-v2
|
|
5
5
|
category: Media
|
|
6
6
|
tags: [video, audio, player, flowplayer, media, streaming, ads, autoplay]
|
|
@@ -319,7 +319,10 @@ Test different Flowplayer versions in production using query parameters:
|
|
|
319
319
|
- Media IDs are UUIDs from Flowplayer workspace/publication
|
|
320
320
|
- Player IDs reference pre-configured players in Flowplayer UI
|
|
321
321
|
- Attributes are parsed into typed properties on initialization
|
|
322
|
-
- Changes to attributes after initialization are reactive
|
|
322
|
+
- Changes to attributes after initialization are reactive — attribute changes emit `brick-player:<attribute>` custom events
|
|
323
|
+
- The `muted` attribute reflects internal mute state changes and dispatches `brick-player:muted` event (since v2.1.0)
|
|
324
|
+
- TypeScript types are now included (since v2.2.0)
|
|
325
|
+
- Middleware types are available for extending player behavior (since v2.4.0)
|
|
323
326
|
- Audio players do not load ads plugin (ads are disabled automatically)
|
|
324
327
|
- The `nextvideo` attribute accepts JSON string format
|
|
325
328
|
- Events bubble as regular DOM events (can be listened on window or element)
|
|
@@ -328,4 +331,4 @@ Test different Flowplayer versions in production using query parameters:
|
|
|
328
331
|
|
|
329
332
|
## Version
|
|
330
333
|
|
|
331
|
-
Current version: 2.
|
|
334
|
+
Current version: 2.4.3
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brick-share
|
|
3
|
-
version: 0.3
|
|
3
|
+
version: 0.4.3
|
|
4
4
|
selector: brick-share
|
|
5
5
|
category: Navigation
|
|
6
6
|
tags: [share, social, web-share-api, clipboard, copy, gift, toast, url]
|
|
@@ -21,6 +21,8 @@ A versatile sharing component that supports native Web Share API, clipboard copy
|
|
|
21
21
|
- Customizable labels and aria-labels for accessibility
|
|
22
22
|
- Icon-only or label-only display modes
|
|
23
23
|
- Automatic URL detection (uses current page URL if not specified)
|
|
24
|
+
- UTM parameter support for campaign tracking (since v0.4.0)
|
|
25
|
+
- Uses native sharing on mobile/tablet and copy-to-clipboard on desktop
|
|
24
26
|
- Server-side rendering support
|
|
25
27
|
|
|
26
28
|
## Props/Attributes
|
|
@@ -38,6 +40,7 @@ A versatile sharing component that supports native Web Share API, clipboard copy
|
|
|
38
40
|
| `data-copy-status` | `"success" \| "error"` | - | no | Manually trigger toast display (for testing/demo) |
|
|
39
41
|
| `data-label` | string | - | no | Set to "false" to hide label (icon-only mode) |
|
|
40
42
|
| `data-icon` | string | - | no | Set to "false" to hide icon (label-only mode) |
|
|
43
|
+
| `data-utm` | string | - | no | UTM parameters to append as query params to the shared URL |
|
|
41
44
|
|
|
42
45
|
## Examples
|
|
43
46
|
|
|
@@ -332,4 +335,4 @@ Special variant for gifting articles, typically with custom messaging.
|
|
|
332
335
|
|
|
333
336
|
## Version
|
|
334
337
|
|
|
335
|
-
Current version: 0.3
|
|
338
|
+
Current version: 0.4.3
|