@iamproperty/components 2.7.7 → 2.9.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/README.md +136 -136
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/email.min.css +1 -1
- package/assets/css/email.min.css.map +1 -1
- package/assets/css/error.min.css +1 -1
- package/assets/css/error.min.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/js/modules/accordion.js +32 -36
- package/assets/js/modules/alert.js +56 -56
- package/assets/js/modules/carousel.js +101 -101
- package/assets/js/modules/chart.js +216 -216
- package/assets/js/modules/drawer.js +15 -15
- package/assets/js/modules/form.js +158 -158
- package/assets/js/modules/helpers.js +119 -97
- package/assets/js/modules/modal.js +89 -89
- package/assets/js/modules/nav.js +26 -26
- package/assets/js/modules/table.js +584 -584
- package/assets/js/modules/testimonial.js +82 -82
- package/assets/js/modules/youtubevideo.js +145 -145
- package/assets/js/scripts.bundle.js +174 -85
- package/assets/js/scripts.bundle.js.map +1 -1
- package/assets/js/scripts.bundle.min.js +2 -2
- 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 +9 -9
- package/assets/sass/_func.scss +12 -10
- package/assets/sass/_functions/functions.scss +141 -141
- package/assets/sass/_functions/mixins.scss +170 -170
- package/assets/sass/_functions/utilities.scss +250 -250
- package/assets/sass/_functions/variables.scss +466 -462
- package/assets/sass/_print.scss +61 -61
- package/assets/sass/components/accordion.scss +197 -197
- package/assets/sass/components/alert.scss +98 -98
- 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/components/drawer.scss +46 -46
- package/assets/sass/components/header.scss +63 -63
- package/assets/sass/components/modal.scss +136 -136
- package/assets/sass/components/nav.scss +916 -820
- 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/components/tabs.scss +87 -74
- package/assets/sass/components/testimonial.scss +132 -132
- package/assets/sass/components/timeline.scss +95 -95
- package/assets/sass/core.scss +6 -6
- package/assets/sass/elements/buttons.scss +209 -209
- package/assets/sass/elements/card.scss +177 -177
- package/assets/sass/elements/container.scss +225 -225
- package/assets/sass/elements/forms.scss +194 -194
- package/assets/sass/elements/links.scss +96 -96
- package/assets/sass/elements/lists.scss +112 -112
- package/assets/sass/elements/panel.scss +161 -161
- package/assets/sass/elements/tables.scss +290 -290
- package/assets/sass/elements/tooltips.scss +84 -84
- package/assets/sass/elements/type.scss +136 -136
- package/assets/sass/email.scss +65 -65
- package/assets/sass/error.scss +4 -4
- package/assets/sass/foundations/brand.scss +72 -72
- package/assets/sass/foundations/circles.scss +74 -74
- package/assets/sass/foundations/icons.scss +72 -72
- package/assets/sass/foundations/media.scss +50 -50
- package/assets/sass/foundations/reboot.scss +130 -129
- package/assets/sass/foundations/root.scss +106 -104
- package/assets/sass/main.scss +7 -7
- package/assets/svg/icons.svg +598 -588
- package/assets/svg/logo.svg +42 -42
- package/assets/{js/main.js → ts/main.ts} +68 -67
- package/assets/ts/modules/accordion.ts +43 -0
- package/dist/components.common.js +148 -98
- package/dist/components.common.js.map +1 -1
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/components.umd.js +182 -132
- package/dist/components.umd.js.map +1 -1
- package/dist/components.umd.min.js +1 -1
- package/dist/components.umd.min.js.map +1 -1
- package/package.json +108 -103
- 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.vue +39 -39
- package/src/components/Alert/README.md +28 -28
- package/src/components/Banner/Banner.vue +38 -38
- package/src/components/Banner/README.md +23 -23
- package/src/components/CardDeck/CardDeck.vue +77 -77
- package/src/components/CardDeck/README.md +24 -24
- package/src/components/Carousel/Carousel.vue +85 -85
- package/src/components/Carousel/README.md +19 -19
- 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/components/Header/Header.vue +38 -38
- package/src/components/Header/README.md +27 -27
- package/src/components/Modal/Modal.vue +43 -43
- package/src/components/Modal/README.md +19 -19
- package/src/components/Nav/Nav.vue +212 -189
- 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.vue +33 -33
- package/src/components/Tabs/README.md +27 -27
- package/src/components/Tabs/Tab.vue +26 -26
- package/src/components/Tabs/Tabs.vue +75 -75
- package/src/components/Testimonial/README.md +25 -25
- package/src/components/Testimonial/Testimonial.vue +60 -60
- package/src/components/Timeline/README.md +18 -18
- package/src/components/Timeline/Timeline.vue +24 -24
- package/src/elements/Card/Card.vue +113 -113
- package/src/elements/Card/README.md +24 -24
- package/src/elements/FileUploads/FileUploads.vue +48 -48
- package/src/elements/FileUploads/README.md +24 -24
- package/src/elements/Input/Input.vue +268 -268
- package/src/elements/Input/README.md +19 -19
- package/src/elements/Table/README.md +62 -62
- package/src/elements/Table/Table.vue +126 -116
- package/src/foundations/Icon/Icon.vue +24 -24
- package/src/foundations/Icon/README.md +11 -11
- 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/assets/.DS_Store +0 -0
- package/src/.DS_Store +0 -0
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<li>
|
|
3
|
-
<a :href="url" :class="`${status?'bg-'+status:''}${typeof current != 'undefined'?'current':''}`" :aria-current="typeof current != 'undefined'?true:false">
|
|
4
|
-
<span><slot></slot></span>
|
|
5
|
-
<em class="visually-hidden" v-if="status"> - status: {{status}}</em>
|
|
6
|
-
</a>
|
|
7
|
-
</li>
|
|
8
|
-
</template>
|
|
9
|
-
|
|
10
|
-
<script>
|
|
11
|
-
export default {
|
|
12
|
-
name: 'Stepper',
|
|
13
|
-
props: {
|
|
14
|
-
url: {
|
|
15
|
-
type: String,
|
|
16
|
-
required: false
|
|
17
|
-
},
|
|
18
|
-
status: {
|
|
19
|
-
type: String,
|
|
20
|
-
required: false
|
|
21
|
-
},
|
|
22
|
-
current: {
|
|
23
|
-
type: String,
|
|
24
|
-
required: false
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<li>
|
|
3
|
+
<a :href="url" :class="`${status?'bg-'+status:''}${typeof current != 'undefined'?'current':''}`" :aria-current="typeof current != 'undefined'?true:false">
|
|
4
|
+
<span><slot></slot></span>
|
|
5
|
+
<em class="visually-hidden" v-if="status"> - status: {{status}}</em>
|
|
6
|
+
</a>
|
|
7
|
+
</li>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<script>
|
|
11
|
+
export default {
|
|
12
|
+
name: 'Stepper',
|
|
13
|
+
props: {
|
|
14
|
+
url: {
|
|
15
|
+
type: String,
|
|
16
|
+
required: false
|
|
17
|
+
},
|
|
18
|
+
status: {
|
|
19
|
+
type: String,
|
|
20
|
+
required: false
|
|
21
|
+
},
|
|
22
|
+
current: {
|
|
23
|
+
type: String,
|
|
24
|
+
required: false
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
</script>
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="container">
|
|
3
|
-
<nav class="stepper" :aria-label="label?label:'Progress'">
|
|
4
|
-
<span class="h6 stepper__start" v-if="label">{{label}}</span>
|
|
5
|
-
<ol class="list-unstyled">
|
|
6
|
-
<slot><!-- Use for titles etc --></slot>
|
|
7
|
-
</ol>
|
|
8
|
-
<span class="h6 stepper__end">{{endlabel}}</span>
|
|
9
|
-
</nav>
|
|
10
|
-
</div>
|
|
11
|
-
</template>
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
<style lang="scss">
|
|
15
|
-
@import "../../../assets/sass/components/stepper.scss";
|
|
16
|
-
</style>
|
|
17
|
-
|
|
18
|
-
<script>
|
|
19
|
-
export default {
|
|
20
|
-
name: 'Stepper',
|
|
21
|
-
props: {
|
|
22
|
-
label: {
|
|
23
|
-
type: String,
|
|
24
|
-
required: false
|
|
25
|
-
},
|
|
26
|
-
endlabel: {
|
|
27
|
-
type: String,
|
|
28
|
-
required: false,
|
|
29
|
-
default: "Complete"
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="container">
|
|
3
|
+
<nav class="stepper" :aria-label="label?label:'Progress'">
|
|
4
|
+
<span class="h6 stepper__start" v-if="label">{{label}}</span>
|
|
5
|
+
<ol class="list-unstyled">
|
|
6
|
+
<slot><!-- Use for titles etc --></slot>
|
|
7
|
+
</ol>
|
|
8
|
+
<span class="h6 stepper__end">{{endlabel}}</span>
|
|
9
|
+
</nav>
|
|
10
|
+
</div>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
<style lang="scss">
|
|
15
|
+
@import "../../../assets/sass/components/stepper.scss";
|
|
16
|
+
</style>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
export default {
|
|
20
|
+
name: 'Stepper',
|
|
21
|
+
props: {
|
|
22
|
+
label: {
|
|
23
|
+
type: String,
|
|
24
|
+
required: false
|
|
25
|
+
},
|
|
26
|
+
endlabel: {
|
|
27
|
+
type: String,
|
|
28
|
+
required: false,
|
|
29
|
+
default: "Complete"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
</script>
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
### Usage
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
<Tabs class="visualtest">
|
|
5
|
-
<Tab title="Tab content 1">
|
|
6
|
-
<h2>Tab content 1</h2>
|
|
7
|
-
</Tab>
|
|
8
|
-
<Tab title="Tab content 2">
|
|
9
|
-
<h2>Tab content 2</h2>
|
|
10
|
-
</Tab>
|
|
11
|
-
<Tab title="Tab content 3">
|
|
12
|
-
<h2>Tab content 3</h2>
|
|
13
|
-
</Tab>
|
|
14
|
-
</Tabs>
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
### Tab Properties
|
|
18
|
-
|
|
19
|
-
| Option | Type | Default Value | Description |
|
|
20
|
-
| ------ | ---- | ------------- | ----------- |
|
|
21
|
-
| title | String | - | Used for the heading of the component |
|
|
22
|
-
| lazy | Boolean | - | If set the content of the tab will not loaded intially and will be loaded after the user has clicked on the tab link. |
|
|
23
|
-
|
|
24
|
-
### Slots
|
|
25
|
-
|
|
26
|
-
| Option | Default Value | Description |
|
|
27
|
-
| ------ | ------------- | ----------- |
|
|
1
|
+
### Usage
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
<Tabs class="visualtest">
|
|
5
|
+
<Tab title="Tab content 1">
|
|
6
|
+
<h2>Tab content 1</h2>
|
|
7
|
+
</Tab>
|
|
8
|
+
<Tab title="Tab content 2">
|
|
9
|
+
<h2>Tab content 2</h2>
|
|
10
|
+
</Tab>
|
|
11
|
+
<Tab title="Tab content 3">
|
|
12
|
+
<h2>Tab content 3</h2>
|
|
13
|
+
</Tab>
|
|
14
|
+
</Tabs>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Tab Properties
|
|
18
|
+
|
|
19
|
+
| Option | Type | Default Value | Description |
|
|
20
|
+
| ------ | ---- | ------------- | ----------- |
|
|
21
|
+
| title | String | - | Used for the heading of the component |
|
|
22
|
+
| lazy | Boolean | - | If set the content of the tab will not loaded intially and will be loaded after the user has clicked on the tab link. |
|
|
23
|
+
|
|
24
|
+
### Slots
|
|
25
|
+
|
|
26
|
+
| Option | Default Value | Description |
|
|
27
|
+
| ------ | ------------- | ----------- |
|
|
28
28
|
| default | - | Can be populated with Tab components |
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="tab" v-if="show">
|
|
3
|
-
<slot></slot>
|
|
4
|
-
</div>
|
|
5
|
-
</template>
|
|
6
|
-
|
|
7
|
-
<script>
|
|
8
|
-
export default {
|
|
9
|
-
name: 'Tab',
|
|
10
|
-
props: {
|
|
11
|
-
title: {
|
|
12
|
-
type: String,
|
|
13
|
-
required: true
|
|
14
|
-
},
|
|
15
|
-
lazy: {
|
|
16
|
-
type: Boolean,
|
|
17
|
-
required: false
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
data() {
|
|
21
|
-
return {
|
|
22
|
-
show: this.lazy ? false : true
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="tab" v-if="show">
|
|
3
|
+
<slot></slot>
|
|
4
|
+
</div>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script>
|
|
8
|
+
export default {
|
|
9
|
+
name: 'Tab',
|
|
10
|
+
props: {
|
|
11
|
+
title: {
|
|
12
|
+
type: String,
|
|
13
|
+
required: true
|
|
14
|
+
},
|
|
15
|
+
lazy: {
|
|
16
|
+
type: Boolean,
|
|
17
|
+
required: false
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
data() {
|
|
21
|
+
return {
|
|
22
|
+
show: this.lazy ? false : true
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
</script>
|
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="container tabs__container" ref="wrapper">
|
|
3
|
-
|
|
4
|
-
<input type="radio" class="
|
|
5
|
-
|
|
6
|
-
<div class="tabs__links">
|
|
7
|
-
<label v-for="(value,index) in tabLinks()" :key="index" :for="value.id" class="link" v-on:click="openTab(index)">
|
|
8
|
-
{{value.tabTitle}}
|
|
9
|
-
</label>
|
|
10
|
-
</div>
|
|
11
|
-
<div class="tabs">
|
|
12
|
-
<slot></slot>
|
|
13
|
-
</div>
|
|
14
|
-
</div>
|
|
15
|
-
</template>
|
|
16
|
-
|
|
17
|
-
<style lang="scss">
|
|
18
|
-
@import "../../../assets/sass/components/tabs.scss";
|
|
19
|
-
</style>
|
|
20
|
-
|
|
21
|
-
<script>
|
|
22
|
-
export default {
|
|
23
|
-
name: 'Tabs',
|
|
24
|
-
data () {
|
|
25
|
-
return {
|
|
26
|
-
tabsID: 'tabs_'+Math.random().toString(36).substr(2, 9)
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
computed: {
|
|
30
|
-
tabLinks (){
|
|
31
|
-
return () => {
|
|
32
|
-
|
|
33
|
-
const tabLinks = [];
|
|
34
|
-
let i = 1;
|
|
35
|
-
|
|
36
|
-
for (const [key, value] of Object.entries(this.$slots.default)) {
|
|
37
|
-
|
|
38
|
-
// Check if the value in the object is actually a tab and has the correct data
|
|
39
|
-
if(value.componentOptions && value.componentOptions.propsData && value.componentOptions.propsData.title){
|
|
40
|
-
|
|
41
|
-
let tabTitle = value.componentOptions.propsData.title;
|
|
42
|
-
|
|
43
|
-
let tab = {
|
|
44
|
-
name: this.tabsID,
|
|
45
|
-
id: this.tabsID+"_tab"+i++,
|
|
46
|
-
tabTitle: tabTitle
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
tabLinks.push(tab);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return tabLinks;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
methods: {
|
|
58
|
-
openTab: function (index) {
|
|
59
|
-
|
|
60
|
-
let i = 0;
|
|
61
|
-
for (const [key, value] of Object.entries(this.$slots.default)) {
|
|
62
|
-
|
|
63
|
-
if(value.componentOptions && value.componentOptions.propsData && value.componentOptions.propsData.title){
|
|
64
|
-
|
|
65
|
-
if(i == index){
|
|
66
|
-
value.componentInstance._data.show = true;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
i++;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="container tabs__container" ref="wrapper">
|
|
3
|
+
|
|
4
|
+
<input type="radio" class="tab__input" v-for="(value,index) in tabLinks()" :key="index" :name="value.name" :id="value.id" :checked="index == 0? 'checked':''" />
|
|
5
|
+
|
|
6
|
+
<div class="tabs__links">
|
|
7
|
+
<label v-for="(value,index) in tabLinks()" :key="index" :for="value.id" class="link" v-on:click="openTab(index)">
|
|
8
|
+
{{value.tabTitle}}
|
|
9
|
+
</label>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="tabs">
|
|
12
|
+
<slot></slot>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
</template>
|
|
16
|
+
|
|
17
|
+
<style lang="scss">
|
|
18
|
+
@import "../../../assets/sass/components/tabs.scss";
|
|
19
|
+
</style>
|
|
20
|
+
|
|
21
|
+
<script>
|
|
22
|
+
export default {
|
|
23
|
+
name: 'Tabs',
|
|
24
|
+
data () {
|
|
25
|
+
return {
|
|
26
|
+
tabsID: 'tabs_'+Math.random().toString(36).substr(2, 9)
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
computed: {
|
|
30
|
+
tabLinks (){
|
|
31
|
+
return () => {
|
|
32
|
+
|
|
33
|
+
const tabLinks = [];
|
|
34
|
+
let i = 1;
|
|
35
|
+
|
|
36
|
+
for (const [key, value] of Object.entries(this.$slots.default)) {
|
|
37
|
+
|
|
38
|
+
// Check if the value in the object is actually a tab and has the correct data
|
|
39
|
+
if(value.componentOptions && value.componentOptions.propsData && value.componentOptions.propsData.title){
|
|
40
|
+
|
|
41
|
+
let tabTitle = value.componentOptions.propsData.title;
|
|
42
|
+
|
|
43
|
+
let tab = {
|
|
44
|
+
name: this.tabsID,
|
|
45
|
+
id: this.tabsID+"_tab"+i++,
|
|
46
|
+
tabTitle: tabTitle
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
tabLinks.push(tab);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return tabLinks;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
methods: {
|
|
58
|
+
openTab: function (index) {
|
|
59
|
+
|
|
60
|
+
let i = 0;
|
|
61
|
+
for (const [key, value] of Object.entries(this.$slots.default)) {
|
|
62
|
+
|
|
63
|
+
if(value.componentOptions && value.componentOptions.propsData && value.componentOptions.propsData.title){
|
|
64
|
+
|
|
65
|
+
if(i == index){
|
|
66
|
+
value.componentInstance._data.show = true;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
i++;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
</script>
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
### Usage
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
<Testimonial :items="items">
|
|
5
|
-
<a href="/buying-stories" class="btn">Buying stories</a>
|
|
6
|
-
<a href="/selling-stories" class="btn">Selling stories</a>
|
|
7
|
-
</Testimonial>
|
|
8
|
-
```
|
|
9
|
-
|
|
10
|
-
### Properties
|
|
11
|
-
|
|
12
|
-
| Option | Type | Default Value | Description |
|
|
13
|
-
| ------ | ---- | ------------- | ----------- |
|
|
14
|
-
| title | String | What our customers think… | Used for the heading of the component |
|
|
15
|
-
| items | Array | - | Testimonial data passed |
|
|
16
|
-
| - item.class | String | - | Optional, this should be used to define the largest testimonial by setting it to 'largest' |
|
|
17
|
-
| - item.cite | String | - | The person who made the quote |
|
|
18
|
-
| - item.quote | HTML | - | The quote content |
|
|
19
|
-
| - item.image | Image | - | The image that sits to the left of the quote. |
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
### Slots
|
|
23
|
-
|
|
24
|
-
| Option | Default Value | Description |
|
|
25
|
-
| ------ | ------------- | ----------- |
|
|
1
|
+
### Usage
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
<Testimonial :items="items">
|
|
5
|
+
<a href="/buying-stories" class="btn">Buying stories</a>
|
|
6
|
+
<a href="/selling-stories" class="btn">Selling stories</a>
|
|
7
|
+
</Testimonial>
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
### Properties
|
|
11
|
+
|
|
12
|
+
| Option | Type | Default Value | Description |
|
|
13
|
+
| ------ | ---- | ------------- | ----------- |
|
|
14
|
+
| title | String | What our customers think… | Used for the heading of the component |
|
|
15
|
+
| items | Array | - | Testimonial data passed |
|
|
16
|
+
| - item.class | String | - | Optional, this should be used to define the largest testimonial by setting it to 'largest' |
|
|
17
|
+
| - item.cite | String | - | The person who made the quote |
|
|
18
|
+
| - item.quote | HTML | - | The quote content |
|
|
19
|
+
| - item.image | Image | - | The image that sits to the left of the quote. |
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Slots
|
|
23
|
+
|
|
24
|
+
| Option | Default Value | Description |
|
|
25
|
+
| ------ | ------------- | ----------- |
|
|
26
26
|
| default | - | Will display underneath the quotes |
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="container testimonial mb-5" data-show="1" ref="wrapper">
|
|
3
|
-
<div :class="'bg-'+background">
|
|
4
|
-
<div class="row">
|
|
5
|
-
<div class="col-md-5 position-relative">
|
|
6
|
-
<div class="testimonial__images">
|
|
7
|
-
<img v-for="(value,index) in items" :key="index" :src="value.image ? value.image : 'data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=='" alt="" :class="'h-100 w-100 object-cover' + (value.image ? '' : ' opacity-0')" />
|
|
8
|
-
</div>
|
|
9
|
-
<div class="testimonial__controls">
|
|
10
|
-
<button data-go="0" disabled class="btn-prev">Previous</button>
|
|
11
|
-
<button data-go="2" class="btn-next">Next</button>
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
14
|
-
<div class="col-md-7">
|
|
15
|
-
<h2>What our customers think…</h2>
|
|
16
|
-
<div class="testimonial__content">
|
|
17
|
-
|
|
18
|
-
<blockquote v-for="(value,index) in items" :key="index" :class="value.class">
|
|
19
|
-
<div v-html="value.quote"></div>
|
|
20
|
-
<cite v-html="value.cite"></cite>
|
|
21
|
-
</blockquote>
|
|
22
|
-
</div>
|
|
23
|
-
<div class="testimonial__after">
|
|
24
|
-
<slot></slot>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
28
|
-
<span class="circle circle--dots d-none d-md-block"></span>
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
31
|
-
</template>
|
|
32
|
-
|
|
33
|
-
<style lang="scss">
|
|
34
|
-
@import "../../../assets/sass/components/testimonial.scss";
|
|
35
|
-
</style>
|
|
36
|
-
|
|
37
|
-
<script>
|
|
38
|
-
import testimonial from '../../../assets/js/modules/testimonial.js'
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
export default {
|
|
42
|
-
name: 'Testimonial',
|
|
43
|
-
props: {
|
|
44
|
-
items: {
|
|
45
|
-
type: Array,
|
|
46
|
-
required: true
|
|
47
|
-
},
|
|
48
|
-
background: {
|
|
49
|
-
type: String,
|
|
50
|
-
default: 'light',
|
|
51
|
-
required: false
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
mounted(){
|
|
55
|
-
|
|
56
|
-
testimonial(this.$refs.wrapper);
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="container testimonial mb-5" data-show="1" ref="wrapper">
|
|
3
|
+
<div :class="'bg-'+background">
|
|
4
|
+
<div class="row">
|
|
5
|
+
<div class="col-md-5 position-relative">
|
|
6
|
+
<div class="testimonial__images">
|
|
7
|
+
<img v-for="(value,index) in items" :key="index" :src="value.image ? value.image : 'data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=='" alt="" :class="'h-100 w-100 object-cover' + (value.image ? '' : ' opacity-0')" />
|
|
8
|
+
</div>
|
|
9
|
+
<div class="testimonial__controls">
|
|
10
|
+
<button data-go="0" disabled class="btn-prev">Previous</button>
|
|
11
|
+
<button data-go="2" class="btn-next">Next</button>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="col-md-7">
|
|
15
|
+
<h2>What our customers think…</h2>
|
|
16
|
+
<div class="testimonial__content">
|
|
17
|
+
|
|
18
|
+
<blockquote v-for="(value,index) in items" :key="index" :class="value.class">
|
|
19
|
+
<div v-html="value.quote"></div>
|
|
20
|
+
<cite v-html="value.cite"></cite>
|
|
21
|
+
</blockquote>
|
|
22
|
+
</div>
|
|
23
|
+
<div class="testimonial__after">
|
|
24
|
+
<slot></slot>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
<span class="circle circle--dots d-none d-md-block"></span>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
</template>
|
|
32
|
+
|
|
33
|
+
<style lang="scss">
|
|
34
|
+
@import "../../../assets/sass/components/testimonial.scss";
|
|
35
|
+
</style>
|
|
36
|
+
|
|
37
|
+
<script>
|
|
38
|
+
import testimonial from '../../../assets/js/modules/testimonial.js'
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
export default {
|
|
42
|
+
name: 'Testimonial',
|
|
43
|
+
props: {
|
|
44
|
+
items: {
|
|
45
|
+
type: Array,
|
|
46
|
+
required: true
|
|
47
|
+
},
|
|
48
|
+
background: {
|
|
49
|
+
type: String,
|
|
50
|
+
default: 'light',
|
|
51
|
+
required: false
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
mounted(){
|
|
55
|
+
|
|
56
|
+
testimonial(this.$refs.wrapper);
|
|
57
|
+
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
</script>
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
<p class="note">The Timeline component represents an individual item within the timeline and not the full timeline itself. These Vue components need to be inside of a div with the class of 'timeline__container'.</p>
|
|
2
|
-
|
|
3
|
-
### Usage
|
|
4
|
-
|
|
5
|
-
```
|
|
6
|
-
<div class="timeline__container container">
|
|
7
|
-
<Timeline :image="require('../../assets/shutterstock_1229155495.webp')">
|
|
8
|
-
<h2>01 Search</h2>
|
|
9
|
-
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>
|
|
10
|
-
</Timeline>
|
|
11
|
-
</div>
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
### Properties
|
|
15
|
-
|
|
16
|
-
| Option | Type | Default Value | Description |
|
|
17
|
-
| ------ | ---- | ------------- | ----------- |
|
|
18
|
-
| image | String | - | Optional image url to display in the background |
|
|
1
|
+
<p class="note">The Timeline component represents an individual item within the timeline and not the full timeline itself. These Vue components need to be inside of a div with the class of 'timeline__container'.</p>
|
|
2
|
+
|
|
3
|
+
### Usage
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
<div class="timeline__container container">
|
|
7
|
+
<Timeline :image="require('../../assets/shutterstock_1229155495.webp')">
|
|
8
|
+
<h2>01 Search</h2>
|
|
9
|
+
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>
|
|
10
|
+
</Timeline>
|
|
11
|
+
</div>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### Properties
|
|
15
|
+
|
|
16
|
+
| Option | Type | Default Value | Description |
|
|
17
|
+
| ------ | ---- | ------------- | ----------- |
|
|
18
|
+
| image | String | - | Optional image url to display in the background |
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="timeline">
|
|
3
|
-
<div class="timeline__content">
|
|
4
|
-
<slot></slot>
|
|
5
|
-
</div>
|
|
6
|
-
<img v-if="image" :src="image" alt="" />
|
|
7
|
-
</div>
|
|
8
|
-
</template>
|
|
9
|
-
|
|
10
|
-
<style lang="scss">
|
|
11
|
-
@import "../../../assets/sass/components/timeline.scss";
|
|
12
|
-
</style>
|
|
13
|
-
|
|
14
|
-
<script>
|
|
15
|
-
export default {
|
|
16
|
-
name: 'Timeline',
|
|
17
|
-
props: {
|
|
18
|
-
image: {
|
|
19
|
-
type: String,
|
|
20
|
-
required: false
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="timeline">
|
|
3
|
+
<div class="timeline__content">
|
|
4
|
+
<slot></slot>
|
|
5
|
+
</div>
|
|
6
|
+
<img v-if="image" :src="image" alt="" />
|
|
7
|
+
</div>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<style lang="scss">
|
|
11
|
+
@import "../../../assets/sass/components/timeline.scss";
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
<script>
|
|
15
|
+
export default {
|
|
16
|
+
name: 'Timeline',
|
|
17
|
+
props: {
|
|
18
|
+
image: {
|
|
19
|
+
type: String,
|
|
20
|
+
required: false
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
</script>
|