@iamproperty/components 3.1.0 → 3.4.4
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/README.md +141 -16
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/favicons/manifest.json +31 -31
- package/assets/js/main.js +57 -57
- package/assets/js/modules/accordion.js +33 -32
- package/assets/js/modules/alert.js +41 -57
- package/assets/js/modules/carousel.js +76 -102
- package/assets/js/modules/chart.js +151 -218
- package/assets/js/modules/drawer.js +10 -16
- package/assets/js/modules/file-upload.js +33 -48
- package/assets/js/modules/form.js +122 -168
- package/assets/js/modules/helpers.js +90 -119
- package/assets/js/modules/modal.js +69 -90
- package/assets/js/modules/nav.js +18 -28
- package/assets/js/modules/orderablelist.js +91 -122
- package/assets/js/modules/table.js +451 -585
- package/assets/js/modules/testimonial.js +64 -83
- package/assets/js/modules/youtubevideo.js +114 -145
- package/assets/js/scripts.bundle.js +895 -955
- package/assets/js/scripts.bundle.js.map +1 -1
- package/assets/js/scripts.bundle.min.js +3 -3
- package/assets/js/scripts.bundle.min.js.map +1 -1
- package/assets/sass/_components.scss +14 -14
- package/assets/sass/_corefiles.scss +40 -40
- package/assets/sass/_fonts.scss +16 -16
- package/assets/sass/_forms.scss +10 -10
- package/assets/sass/_func.scss +12 -12
- package/assets/sass/_functions/functions.scss +141 -141
- package/assets/sass/_functions/mixins.scss +170 -170
- package/assets/sass/_functions/utilities.scss +143 -143
- package/assets/sass/_functions/variables.scss +467 -467
- package/assets/sass/_print.scss +61 -61
- package/assets/sass/_tests/{sass.spec.js → colours.spec.js} +9 -9
- package/assets/sass/_tests/colours.spec.scss +44 -44
- package/assets/sass/_tests/func.spec.js +9 -0
- package/assets/sass/_tests/func.spec.scss +232 -232
- package/assets/sass/_tests/mixins.spec.js +9 -0
- package/assets/sass/_tests/mixins.spec.scss +194 -194
- package/assets/sass/_tests/typography.spec.js +9 -0
- package/assets/sass/_tests/typography.spec.scss +35 -35
- package/assets/sass/components/accordion.scss +197 -197
- package/assets/sass/components/alert.scss +98 -98
- package/assets/sass/{elements → components}/buttons.scss +251 -251
- package/assets/sass/{elements → components}/card.scss +288 -288
- package/assets/sass/components/cardDeck.scss +107 -107
- package/assets/sass/components/carousel.scss +234 -234
- package/assets/sass/components/charts.scss +569 -569
- package/assets/sass/{elements → components}/container.scss +236 -236
- package/assets/sass/components/drawer.scss +46 -46
- package/assets/sass/{elements → components}/forms.scss +261 -261
- package/assets/sass/components/header.scss +63 -63
- package/assets/sass/{elements → components}/links.scss +97 -97
- package/assets/sass/{elements → components}/lists.scss +159 -159
- package/assets/sass/components/modal.scss +136 -136
- package/assets/sass/components/nav.scss +960 -960
- package/assets/sass/{elements → components}/panel.scss +161 -161
- package/assets/sass/components/property-searchbar.scss +143 -143
- package/assets/sass/components/snapshot.scss +70 -70
- package/assets/sass/components/stepper.scss +164 -164
- package/assets/sass/{elements → components}/tables.scss +290 -290
- package/assets/sass/components/tabs.scss +87 -87
- package/assets/sass/components/testimonial.scss +132 -132
- package/assets/sass/components/timeline.scss +95 -95
- package/assets/sass/{elements → components}/tooltips.scss +84 -84
- package/assets/sass/core.scss +6 -6
- package/assets/sass/email.scss +65 -65
- package/assets/sass/error.scss +4 -4
- package/assets/sass/foundations/brand.scss +76 -72
- package/assets/sass/foundations/circles.scss +74 -74
- package/assets/sass/foundations/icons.scss +80 -80
- package/assets/sass/foundations/media.scss +50 -50
- package/assets/sass/foundations/reboot.scss +130 -130
- package/assets/sass/foundations/root.scss +125 -125
- package/assets/sass/{elements → foundations}/type.scss +136 -136
- package/assets/sass/main.scss +7 -7
- package/assets/svg/icons.svg +598 -598
- package/assets/svg/logo.svg +49 -43
- package/assets/ts/main.ts +68 -68
- package/assets/ts/modules/accordion.ts +44 -43
- package/assets/ts/modules/alert.ts +58 -0
- package/assets/ts/modules/carousel.ts +103 -0
- package/assets/ts/modules/chart.ts +219 -0
- package/assets/ts/modules/drawer.ts +17 -0
- package/assets/ts/modules/file-upload.ts +49 -0
- package/assets/ts/modules/form.ts +169 -0
- package/assets/ts/modules/helpers.ts +120 -0
- package/assets/ts/modules/modal.ts +91 -0
- package/assets/ts/modules/nav.ts +29 -0
- package/assets/ts/modules/orderablelist.ts +123 -0
- package/assets/ts/modules/table.ts +586 -0
- package/assets/ts/modules/testimonial.ts +84 -0
- package/assets/ts/modules/youtubevideo.ts +146 -0
- package/dist/components.es.js +493 -509
- package/dist/components.umd.js +15 -15
- package/package.json +109 -108
- package/src/components/Accordion/Accordion.spec.js +63 -63
- package/src/components/Accordion/Accordion.vue +22 -22
- package/src/components/Accordion/AccordionItem.vue +52 -52
- package/src/components/Accordion/README.md +34 -34
- package/src/components/Alert/Alert.spec.js +49 -49
- package/src/components/Alert/Alert.vue +39 -39
- package/src/components/Alert/README.md +28 -28
- package/src/components/Banner/Banner.spec.js +28 -28
- package/src/components/Banner/Banner.vue +38 -38
- package/src/components/Banner/README.md +23 -23
- package/src/{elements → components}/Card/Card.vue +122 -122
- package/src/{elements/FileUploads → components/Card}/README.md +24 -24
- package/src/components/CardDeck/CardDeck.spec.js +99 -99
- package/src/components/CardDeck/CardDeck.vue +77 -77
- package/src/components/CardDeck/README.md +24 -24
- package/src/components/Carousel/Carousel.spec.js +45 -45
- package/src/components/Carousel/Carousel.vue +85 -85
- package/src/components/Carousel/README.md +19 -19
- package/src/components/Chart/Chart.spec.js +201 -201
- package/src/components/Chart/Chart.vue +88 -88
- package/src/components/Chart/README.md +17 -17
- package/src/components/Drawer/Drawer.vue +53 -53
- package/src/components/Drawer/README.md +22 -22
- package/src/{elements → components}/FileUploads/FileUploads.vue +48 -48
- package/src/{elements/Card → components/FileUploads}/README.md +24 -24
- package/src/components/Header/Header.spec.js +33 -33
- package/src/components/Header/Header.vue +38 -38
- package/src/components/Header/README.md +27 -27
- package/src/{elements → components}/Input/Input.vue +272 -272
- package/src/{elements → components}/Input/README.md +19 -19
- package/src/components/Modal/Modal.spec.js +22 -22
- package/src/components/Modal/Modal.vue +43 -43
- package/src/components/Modal/README.md +19 -19
- package/src/components/Nav/Nav.spec.js +35 -35
- package/src/components/Nav/Nav.vue +215 -215
- package/src/components/Nav/README.md +22 -22
- package/src/components/NoteFeed/NoteFeed.vue +79 -79
- package/src/components/NoteFeed/README.md +16 -16
- package/src/components/PropertySearchbar/PropertySearchbar.vue +204 -204
- package/src/components/PropertySearchbar/README.md +25 -25
- package/src/components/Snapshot/README.md +20 -20
- package/src/components/Snapshot/Snapshot.vue +32 -32
- package/src/components/Stepper/README.md +32 -32
- package/src/components/Stepper/Step.vue +28 -28
- package/src/components/Stepper/Stepper.spec.js +99 -99
- package/src/components/Stepper/Stepper.vue +33 -33
- package/src/{elements → components}/Table/README.md +62 -62
- package/src/{elements → components}/Table/Table.spec.js +90 -90
- package/src/{elements → components}/Table/Table.vue +129 -129
- package/src/components/Tabs/README.md +27 -27
- package/src/components/Tabs/Tab.vue +32 -32
- package/src/components/Tabs/Tabs.vue +77 -77
- package/src/components/Testimonial/README.md +25 -25
- package/src/components/Testimonial/Testimonial.spec.js +57 -57
- package/src/components/Testimonial/Testimonial.vue +60 -60
- package/src/components/Timeline/README.md +18 -18
- package/src/components/Timeline/Timeline.spec.js +17 -17
- package/src/components/Timeline/Timeline.vue +24 -24
- package/src/foundations/Icon/Icon.spec.js +24 -24
- package/src/foundations/Icon/Icon.vue +24 -24
- package/src/foundations/Icon/README.md +11 -11
- package/src/foundations/Logo/Logo.spec.js +56 -56
- package/src/foundations/Logo/Logo.vue +39 -39
- package/src/foundations/Logo/README.md +20 -20
- package/src/foundations/YoutubeVideo/README.md +11 -11
- package/src/foundations/YoutubeVideo/YoutubeVideo.vue +24 -24
- package/src/helpers/strings.js +12 -12
- package/src/index.js +27 -27
- package/src/vue-shim.d.ts +6 -6
- package/assets/css/email.min.css +0 -1
- package/assets/css/email.min.css.map +0 -1
- package/assets/css/error.min.css +0 -1
- package/assets/css/error.min.css.map +0 -1
- package/assets/ts/main.js +0 -57
- package/assets/ts/main.js.map +0 -1
- package/assets/ts/modules/accordion.js +0 -33
- package/assets/ts/modules/accordion.js.map +0 -1
- package/src/components/Accordion/Accordion.screenshot.vue +0 -57
- package/src/components/Accordion/__screenshots__/win32/laptop/Accordion.png +0 -0
- package/src/components/Accordion/__screenshots__/win32/mobile/Accordion.png +0 -0
- package/src/components/Accordion/__screenshots__/win32/tablet/Accordion.png +0 -0
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div ref="wrapper">
|
|
3
|
-
<input type="checkbox" name="showDrawer" id="showDrawer" class="d-none">
|
|
4
|
-
<div class="drawer__btn pb-0">
|
|
5
|
-
<div class="container text-end pb-0">
|
|
6
|
-
<label for="showDrawer" class="btn btn-secondary me-0">{{label}}</label>
|
|
7
|
-
</div>
|
|
8
|
-
</div>
|
|
9
|
-
<div class="drawer" id="drawer" ref="drawer">
|
|
10
|
-
<div class="container text-end pb-0">
|
|
11
|
-
<label for="showDrawer" class="btn btn-tertiary mb-0 me-0 py-1 px-2"><span class="visually-hidden">Close</span>✕</label>
|
|
12
|
-
</div>
|
|
13
|
-
<slot></slot>
|
|
14
|
-
</div>
|
|
15
|
-
<hr id="drawer-end" />
|
|
16
|
-
</div>
|
|
17
|
-
</template>
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
<style lang="scss">
|
|
21
|
-
@import "../../../assets/sass/components/drawer.scss";
|
|
22
|
-
</style>
|
|
23
|
-
|
|
24
|
-
<script>
|
|
25
|
-
import drawer from '../../../assets/
|
|
26
|
-
|
|
27
|
-
export default {
|
|
28
|
-
name: 'Header',
|
|
29
|
-
props: {
|
|
30
|
-
label: {
|
|
31
|
-
type: String,
|
|
32
|
-
required: true
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
|
-
mounted(){
|
|
36
|
-
|
|
37
|
-
this.$nextTick(function () {
|
|
38
|
-
|
|
39
|
-
let element = this.$refs.wrapper;
|
|
40
|
-
|
|
41
|
-
const fragment = document.createDocumentFragment();
|
|
42
|
-
Array.from(element.childNodes).forEach(child => fragment.appendChild(child));
|
|
43
|
-
element.parentNode.insertBefore(fragment, element);
|
|
44
|
-
element.parentNode.removeChild(element);
|
|
45
|
-
|
|
46
|
-
this.$nextTick(function () {
|
|
47
|
-
|
|
48
|
-
drawer(this.$refs.drawer);
|
|
49
|
-
})
|
|
50
|
-
})
|
|
51
|
-
},
|
|
52
|
-
}
|
|
53
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div ref="wrapper">
|
|
3
|
+
<input type="checkbox" name="showDrawer" id="showDrawer" class="d-none">
|
|
4
|
+
<div class="drawer__btn pb-0">
|
|
5
|
+
<div class="container text-end pb-0">
|
|
6
|
+
<label for="showDrawer" class="btn btn-secondary me-0">{{label}}</label>
|
|
7
|
+
</div>
|
|
8
|
+
</div>
|
|
9
|
+
<div class="drawer" id="drawer" ref="drawer">
|
|
10
|
+
<div class="container text-end pb-0">
|
|
11
|
+
<label for="showDrawer" class="btn btn-tertiary mb-0 me-0 py-1 px-2"><span class="visually-hidden">Close</span>✕</label>
|
|
12
|
+
</div>
|
|
13
|
+
<slot></slot>
|
|
14
|
+
</div>
|
|
15
|
+
<hr id="drawer-end" />
|
|
16
|
+
</div>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
<style lang="scss">
|
|
21
|
+
@import "../../../assets/sass/components/drawer.scss";
|
|
22
|
+
</style>
|
|
23
|
+
|
|
24
|
+
<script>
|
|
25
|
+
import drawer from '../../../assets/ts/modules/drawer'
|
|
26
|
+
|
|
27
|
+
export default {
|
|
28
|
+
name: 'Header',
|
|
29
|
+
props: {
|
|
30
|
+
label: {
|
|
31
|
+
type: String,
|
|
32
|
+
required: true
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
mounted(){
|
|
36
|
+
|
|
37
|
+
this.$nextTick(function () {
|
|
38
|
+
|
|
39
|
+
let element = this.$refs.wrapper;
|
|
40
|
+
|
|
41
|
+
const fragment = document.createDocumentFragment();
|
|
42
|
+
Array.from(element.childNodes).forEach(child => fragment.appendChild(child));
|
|
43
|
+
element.parentNode.insertBefore(fragment, element);
|
|
44
|
+
element.parentNode.removeChild(element);
|
|
45
|
+
|
|
46
|
+
this.$nextTick(function () {
|
|
47
|
+
|
|
48
|
+
drawer(this.$refs.drawer);
|
|
49
|
+
})
|
|
50
|
+
})
|
|
51
|
+
},
|
|
52
|
+
}
|
|
53
|
+
</script>
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
### Usage
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
<Drawer label="Open drawer">
|
|
5
|
-
<div class="container">
|
|
6
|
-
<h2>Drawer contentent</h2>
|
|
7
|
-
</div>
|
|
8
|
-
</Drawer>
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
### Properties
|
|
12
|
-
|
|
13
|
-
| Option | Type | Default Value | Description |
|
|
14
|
-
| ------ | ---- | ------------- | ----------- |
|
|
15
|
-
| label | String | - | Required text for the button |
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
### Slots
|
|
20
|
-
|
|
21
|
-
| Option | Default Value | Description |
|
|
22
|
-
| ------ | ------------- | ----------- |
|
|
1
|
+
### Usage
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
<Drawer label="Open drawer">
|
|
5
|
+
<div class="container">
|
|
6
|
+
<h2>Drawer contentent</h2>
|
|
7
|
+
</div>
|
|
8
|
+
</Drawer>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
### Properties
|
|
12
|
+
|
|
13
|
+
| Option | Type | Default Value | Description |
|
|
14
|
+
| ------ | ---- | ------------- | ----------- |
|
|
15
|
+
| label | String | - | Required text for the button |
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Slots
|
|
20
|
+
|
|
21
|
+
| Option | Default Value | Description |
|
|
22
|
+
| ------ | ------------- | ----------- |
|
|
23
23
|
| default | - | Will display within the drawer |
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="multiple-file-uploads mb-4">
|
|
3
|
-
|
|
4
|
-
<div class="row">
|
|
5
|
-
<div :class="`${inputcolclass ? inputcolclass : 'col-12 col-sm-4'}`">
|
|
6
|
-
<Input type="file" :id="id" :name="`${id}[]`" label="Add new file" labelclass="d-none" class="form-control-inline col" required :data-filesize="maxfilesize"></Input>
|
|
7
|
-
</div>
|
|
8
|
-
<div class="col-12 col-md me-auto">
|
|
9
|
-
<slot></slot>
|
|
10
|
-
</div>
|
|
11
|
-
<div class="col mw-fit-content">
|
|
12
|
-
<button type="button" class="btn btn-tertiary me-0" data-delete>Delete</button>
|
|
13
|
-
</div>
|
|
14
|
-
</div>
|
|
15
|
-
|
|
16
|
-
<button type="button" class="btn btn-secondary me-0" data-add :data-maxfiles="maxfiles">+ Add file</button>
|
|
17
|
-
|
|
18
|
-
</div>
|
|
19
|
-
</template>
|
|
20
|
-
|
|
21
|
-
<script>
|
|
22
|
-
import Input from '../../
|
|
23
|
-
|
|
24
|
-
export default {
|
|
25
|
-
components: {
|
|
26
|
-
Input
|
|
27
|
-
},
|
|
28
|
-
name: 'FileUploads',
|
|
29
|
-
props: {
|
|
30
|
-
id: {
|
|
31
|
-
type: String,
|
|
32
|
-
required: true
|
|
33
|
-
},
|
|
34
|
-
inputcolclass: {
|
|
35
|
-
type: String,
|
|
36
|
-
required: false
|
|
37
|
-
},
|
|
38
|
-
maxfilesize: {
|
|
39
|
-
type: Number,
|
|
40
|
-
required: false
|
|
41
|
-
},
|
|
42
|
-
maxfiles: {
|
|
43
|
-
type: Number,
|
|
44
|
-
required: false
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="multiple-file-uploads mb-4">
|
|
3
|
+
|
|
4
|
+
<div class="row">
|
|
5
|
+
<div :class="`${inputcolclass ? inputcolclass : 'col-12 col-sm-4'}`">
|
|
6
|
+
<Input type="file" :id="id" :name="`${id}[]`" label="Add new file" labelclass="d-none" class="form-control-inline col" required :data-filesize="maxfilesize"></Input>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="col-12 col-md me-auto">
|
|
9
|
+
<slot></slot>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="col mw-fit-content">
|
|
12
|
+
<button type="button" class="btn btn-tertiary me-0" data-delete>Delete</button>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<button type="button" class="btn btn-secondary me-0" data-add :data-maxfiles="maxfiles">+ Add file</button>
|
|
17
|
+
|
|
18
|
+
</div>
|
|
19
|
+
</template>
|
|
20
|
+
|
|
21
|
+
<script>
|
|
22
|
+
import Input from '../../components/Input/Input.vue'
|
|
23
|
+
|
|
24
|
+
export default {
|
|
25
|
+
components: {
|
|
26
|
+
Input
|
|
27
|
+
},
|
|
28
|
+
name: 'FileUploads',
|
|
29
|
+
props: {
|
|
30
|
+
id: {
|
|
31
|
+
type: String,
|
|
32
|
+
required: true
|
|
33
|
+
},
|
|
34
|
+
inputcolclass: {
|
|
35
|
+
type: String,
|
|
36
|
+
required: false
|
|
37
|
+
},
|
|
38
|
+
maxfilesize: {
|
|
39
|
+
type: Number,
|
|
40
|
+
required: false
|
|
41
|
+
},
|
|
42
|
+
maxfiles: {
|
|
43
|
+
type: Number,
|
|
44
|
+
required: false
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
</script>
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
### Usage
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
<Card :title="value.title" :content="value.content" :link="value.link"></Card>
|
|
5
|
-
```
|
|
6
|
-
|
|
7
|
-
### Properties
|
|
8
|
-
|
|
9
|
-
| Option | Type | Default Value | Description |
|
|
10
|
-
| ------ | ---- | ------------- | ----------- |
|
|
11
|
-
| title | String | - | Used for the card heading |
|
|
12
|
-
| titleclass | String | h2 | Update the class of the title from being a h2 |
|
|
13
|
-
| subtitle | String | - | Optional sub heading |
|
|
14
|
-
| content | HTML | - | Card content |
|
|
15
|
-
| link | String | - | Card link |
|
|
16
|
-
| type | String | - | Change the type of card (simple,quick)|
|
|
17
|
-
| btntype | String | secondary | Change the type of button at the bottom of the card (primary,secondary,tertairy, link) |
|
|
18
|
-
| ctatext | String | Find out more | Update the cta text within the button at the bottom of the card |
|
|
19
|
-
| details | Object | - | Build up the card content with pre-defined bits of data |
|
|
20
|
-
| - detail.tags | Array of strings | - | Add tags above the card header |
|
|
21
|
-
| - detail.guideprice | String | - | Property guide price |
|
|
22
|
-
| - detail.auctiontime | String | - | Auction time left |
|
|
23
|
-
| - detail.readtime | String | - | How long it will take to read |
|
|
24
|
-
| - detail.status | String | - | Display a status badge at the top of the card |
|
|
1
|
+
### Usage
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
<Card :title="value.title" :content="value.content" :link="value.link"></Card>
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
### Properties
|
|
8
|
+
|
|
9
|
+
| Option | Type | Default Value | Description |
|
|
10
|
+
| ------ | ---- | ------------- | ----------- |
|
|
11
|
+
| title | String | - | Used for the card heading |
|
|
12
|
+
| titleclass | String | h2 | Update the class of the title from being a h2 |
|
|
13
|
+
| subtitle | String | - | Optional sub heading |
|
|
14
|
+
| content | HTML | - | Card content |
|
|
15
|
+
| link | String | - | Card link |
|
|
16
|
+
| type | String | - | Change the type of card (simple,quick)|
|
|
17
|
+
| btntype | String | secondary | Change the type of button at the bottom of the card (primary,secondary,tertairy, link) |
|
|
18
|
+
| ctatext | String | Find out more | Update the cta text within the button at the bottom of the card |
|
|
19
|
+
| details | Object | - | Build up the card content with pre-defined bits of data |
|
|
20
|
+
| - detail.tags | Array of strings | - | Add tags above the card header |
|
|
21
|
+
| - detail.guideprice | String | - | Property guide price |
|
|
22
|
+
| - detail.auctiontime | String | - | Auction time left |
|
|
23
|
+
| - detail.readtime | String | - | How long it will take to read |
|
|
24
|
+
| - detail.status | String | - | Display a status badge at the top of the card |
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { shallowMount } from '@vue/test-utils'
|
|
2
|
-
import Header from './Header.vue'
|
|
3
|
-
|
|
4
|
-
describe('Header component', () => {
|
|
5
|
-
|
|
6
|
-
const test = shallowMount(Header, {
|
|
7
|
-
propsData: {
|
|
8
|
-
title: 'Page title',
|
|
9
|
-
image: '/img/src/img.png'
|
|
10
|
-
},
|
|
11
|
-
slots: {
|
|
12
|
-
default: '<p>Hello</p>',
|
|
13
|
-
breadcrumb: '<ul class="breadcrumb"></ul>'
|
|
14
|
-
}
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
it('renders the page title', () => {
|
|
18
|
-
expect(test.html()).toContain('<h1>Page title</h1>')
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
it('renders the page description', () => {
|
|
22
|
-
expect(test.html()).toContain('<p>Hello</p>')
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
it('renders the breadcrumb trail', () => {
|
|
26
|
-
expect(test.html()).toContain('<ul class="breadcrumb"></ul>')
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
it('renders the image', () => {
|
|
30
|
-
expect(test.html()).toContain('<source srcset="/img/src/img.png" media="(min-width: 62em)">')
|
|
31
|
-
expect(test.html()).toContain('<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="">')
|
|
32
|
-
})
|
|
33
|
-
})
|
|
1
|
+
import { shallowMount } from '@vue/test-utils'
|
|
2
|
+
import Header from './Header.vue'
|
|
3
|
+
|
|
4
|
+
describe('Header component', () => {
|
|
5
|
+
|
|
6
|
+
const test = shallowMount(Header, {
|
|
7
|
+
propsData: {
|
|
8
|
+
title: 'Page title',
|
|
9
|
+
image: '/img/src/img.png'
|
|
10
|
+
},
|
|
11
|
+
slots: {
|
|
12
|
+
default: '<p>Hello</p>',
|
|
13
|
+
breadcrumb: '<ul class="breadcrumb"></ul>'
|
|
14
|
+
}
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
it('renders the page title', () => {
|
|
18
|
+
expect(test.html()).toContain('<h1>Page title</h1>')
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
it('renders the page description', () => {
|
|
22
|
+
expect(test.html()).toContain('<p>Hello</p>')
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
it('renders the breadcrumb trail', () => {
|
|
26
|
+
expect(test.html()).toContain('<ul class="breadcrumb"></ul>')
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
it('renders the image', () => {
|
|
30
|
+
expect(test.html()).toContain('<source srcset="/img/src/img.png" media="(min-width: 62em)">')
|
|
31
|
+
expect(test.html()).toContain('<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="">')
|
|
32
|
+
})
|
|
33
|
+
})
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<header class="header-banner">
|
|
3
|
-
<div class="container">
|
|
4
|
-
<!-- Space for a breadcrumb trail -->
|
|
5
|
-
<slot name="breadcrumb"></slot>
|
|
6
|
-
<div class="header-banner__inner">
|
|
7
|
-
<h1 v-html="title"></h1>
|
|
8
|
-
<slot></slot>
|
|
9
|
-
</div>
|
|
10
|
-
</div>
|
|
11
|
-
<picture v-if="image">
|
|
12
|
-
<!-- Actual image only loaded on desktops -->
|
|
13
|
-
<source :srcset="image" media="(min-width: 62em)">
|
|
14
|
-
<!-- Placeholder image -->
|
|
15
|
-
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" />
|
|
16
|
-
</picture>
|
|
17
|
-
</header>
|
|
18
|
-
</template>
|
|
19
|
-
|
|
20
|
-
<style lang="scss">
|
|
21
|
-
@import "../../../assets/sass/components/header.scss";
|
|
22
|
-
</style>
|
|
23
|
-
|
|
24
|
-
<script>
|
|
25
|
-
export default {
|
|
26
|
-
name: 'Header',
|
|
27
|
-
props: {
|
|
28
|
-
title: {
|
|
29
|
-
type: String,
|
|
30
|
-
required: true
|
|
31
|
-
},
|
|
32
|
-
image: {
|
|
33
|
-
type: String,
|
|
34
|
-
required: false
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<header class="header-banner">
|
|
3
|
+
<div class="container">
|
|
4
|
+
<!-- Space for a breadcrumb trail -->
|
|
5
|
+
<slot name="breadcrumb"></slot>
|
|
6
|
+
<div class="header-banner__inner">
|
|
7
|
+
<h1 v-html="title"></h1>
|
|
8
|
+
<slot></slot>
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
|
11
|
+
<picture v-if="image">
|
|
12
|
+
<!-- Actual image only loaded on desktops -->
|
|
13
|
+
<source :srcset="image" media="(min-width: 62em)">
|
|
14
|
+
<!-- Placeholder image -->
|
|
15
|
+
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" />
|
|
16
|
+
</picture>
|
|
17
|
+
</header>
|
|
18
|
+
</template>
|
|
19
|
+
|
|
20
|
+
<style lang="scss">
|
|
21
|
+
@import "../../../assets/sass/components/header.scss";
|
|
22
|
+
</style>
|
|
23
|
+
|
|
24
|
+
<script>
|
|
25
|
+
export default {
|
|
26
|
+
name: 'Header',
|
|
27
|
+
props: {
|
|
28
|
+
title: {
|
|
29
|
+
type: String,
|
|
30
|
+
required: true
|
|
31
|
+
},
|
|
32
|
+
image: {
|
|
33
|
+
type: String,
|
|
34
|
+
required: false
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
</script>
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
### Usage
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
<Header title="Page title" :image="require('../../assets/code.jpeg')">
|
|
5
|
-
<template v-slot:breadcrumb>
|
|
6
|
-
<ul class="breadcrumb">
|
|
7
|
-
<li><a href="/">Home</a></li>
|
|
8
|
-
<li><a href="/top">Top level</a></li>
|
|
9
|
-
</ul>
|
|
10
|
-
</template>
|
|
11
|
-
<p>Page description</p>
|
|
12
|
-
</Header>
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
### Properties
|
|
16
|
-
|
|
17
|
-
| Option | Type | Default Value | Description |
|
|
18
|
-
| ------ | ---- | ------------- | ----------- |
|
|
19
|
-
| title | String | - | Required |
|
|
20
|
-
| image | String | - | Optional image url to display in the background |
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
### Slots
|
|
24
|
-
|
|
25
|
-
| Option | Default Value | Description |
|
|
26
|
-
| ------ | ------------- | ----------- |
|
|
27
|
-
| default | - | Will display underneath the heading inside of the white box |
|
|
1
|
+
### Usage
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
<Header title="Page title" :image="require('../../assets/code.jpeg')">
|
|
5
|
+
<template v-slot:breadcrumb>
|
|
6
|
+
<ul class="breadcrumb">
|
|
7
|
+
<li><a href="/">Home</a></li>
|
|
8
|
+
<li><a href="/top">Top level</a></li>
|
|
9
|
+
</ul>
|
|
10
|
+
</template>
|
|
11
|
+
<p>Page description</p>
|
|
12
|
+
</Header>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Properties
|
|
16
|
+
|
|
17
|
+
| Option | Type | Default Value | Description |
|
|
18
|
+
| ------ | ---- | ------------- | ----------- |
|
|
19
|
+
| title | String | - | Required |
|
|
20
|
+
| image | String | - | Optional image url to display in the background |
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Slots
|
|
24
|
+
|
|
25
|
+
| Option | Default Value | Description |
|
|
26
|
+
| ------ | ------------- | ----------- |
|
|
27
|
+
| default | - | Will display underneath the heading inside of the white box |
|
|
28
28
|
| breadcrumb | - | An optional space to add a breadcrumb trail list. |
|