@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.
Files changed (138) hide show
  1. package/README.md +136 -136
  2. package/assets/css/core.min.css +1 -1
  3. package/assets/css/core.min.css.map +1 -1
  4. package/assets/css/email.min.css +1 -1
  5. package/assets/css/email.min.css.map +1 -1
  6. package/assets/css/error.min.css +1 -1
  7. package/assets/css/error.min.css.map +1 -1
  8. package/assets/css/style.min.css +1 -1
  9. package/assets/css/style.min.css.map +1 -1
  10. package/assets/js/modules/accordion.js +32 -36
  11. package/assets/js/modules/alert.js +56 -56
  12. package/assets/js/modules/carousel.js +101 -101
  13. package/assets/js/modules/chart.js +216 -216
  14. package/assets/js/modules/drawer.js +15 -15
  15. package/assets/js/modules/form.js +158 -158
  16. package/assets/js/modules/helpers.js +119 -97
  17. package/assets/js/modules/modal.js +89 -89
  18. package/assets/js/modules/nav.js +26 -26
  19. package/assets/js/modules/table.js +584 -584
  20. package/assets/js/modules/testimonial.js +82 -82
  21. package/assets/js/modules/youtubevideo.js +145 -145
  22. package/assets/js/scripts.bundle.js +174 -85
  23. package/assets/js/scripts.bundle.js.map +1 -1
  24. package/assets/js/scripts.bundle.min.js +2 -2
  25. package/assets/js/scripts.bundle.min.js.map +1 -1
  26. package/assets/sass/_components.scss +14 -14
  27. package/assets/sass/_corefiles.scss +40 -40
  28. package/assets/sass/_fonts.scss +16 -16
  29. package/assets/sass/_forms.scss +9 -9
  30. package/assets/sass/_func.scss +12 -10
  31. package/assets/sass/_functions/functions.scss +141 -141
  32. package/assets/sass/_functions/mixins.scss +170 -170
  33. package/assets/sass/_functions/utilities.scss +250 -250
  34. package/assets/sass/_functions/variables.scss +466 -462
  35. package/assets/sass/_print.scss +61 -61
  36. package/assets/sass/components/accordion.scss +197 -197
  37. package/assets/sass/components/alert.scss +98 -98
  38. package/assets/sass/components/cardDeck.scss +107 -107
  39. package/assets/sass/components/carousel.scss +234 -234
  40. package/assets/sass/components/charts.scss +569 -569
  41. package/assets/sass/components/drawer.scss +46 -46
  42. package/assets/sass/components/header.scss +63 -63
  43. package/assets/sass/components/modal.scss +136 -136
  44. package/assets/sass/components/nav.scss +916 -820
  45. package/assets/sass/components/property-searchbar.scss +143 -143
  46. package/assets/sass/components/snapshot.scss +70 -70
  47. package/assets/sass/components/stepper.scss +164 -164
  48. package/assets/sass/components/tabs.scss +87 -74
  49. package/assets/sass/components/testimonial.scss +132 -132
  50. package/assets/sass/components/timeline.scss +95 -95
  51. package/assets/sass/core.scss +6 -6
  52. package/assets/sass/elements/buttons.scss +209 -209
  53. package/assets/sass/elements/card.scss +177 -177
  54. package/assets/sass/elements/container.scss +225 -225
  55. package/assets/sass/elements/forms.scss +194 -194
  56. package/assets/sass/elements/links.scss +96 -96
  57. package/assets/sass/elements/lists.scss +112 -112
  58. package/assets/sass/elements/panel.scss +161 -161
  59. package/assets/sass/elements/tables.scss +290 -290
  60. package/assets/sass/elements/tooltips.scss +84 -84
  61. package/assets/sass/elements/type.scss +136 -136
  62. package/assets/sass/email.scss +65 -65
  63. package/assets/sass/error.scss +4 -4
  64. package/assets/sass/foundations/brand.scss +72 -72
  65. package/assets/sass/foundations/circles.scss +74 -74
  66. package/assets/sass/foundations/icons.scss +72 -72
  67. package/assets/sass/foundations/media.scss +50 -50
  68. package/assets/sass/foundations/reboot.scss +130 -129
  69. package/assets/sass/foundations/root.scss +106 -104
  70. package/assets/sass/main.scss +7 -7
  71. package/assets/svg/icons.svg +598 -588
  72. package/assets/svg/logo.svg +42 -42
  73. package/assets/{js/main.js → ts/main.ts} +68 -67
  74. package/assets/ts/modules/accordion.ts +43 -0
  75. package/dist/components.common.js +148 -98
  76. package/dist/components.common.js.map +1 -1
  77. package/dist/components.css +1 -1
  78. package/dist/components.css.map +1 -1
  79. package/dist/components.umd.js +182 -132
  80. package/dist/components.umd.js.map +1 -1
  81. package/dist/components.umd.min.js +1 -1
  82. package/dist/components.umd.min.js.map +1 -1
  83. package/package.json +108 -103
  84. package/src/components/Accordion/Accordion.vue +22 -22
  85. package/src/components/Accordion/AccordionItem.vue +52 -52
  86. package/src/components/Accordion/README.md +34 -34
  87. package/src/components/Alert/Alert.vue +39 -39
  88. package/src/components/Alert/README.md +28 -28
  89. package/src/components/Banner/Banner.vue +38 -38
  90. package/src/components/Banner/README.md +23 -23
  91. package/src/components/CardDeck/CardDeck.vue +77 -77
  92. package/src/components/CardDeck/README.md +24 -24
  93. package/src/components/Carousel/Carousel.vue +85 -85
  94. package/src/components/Carousel/README.md +19 -19
  95. package/src/components/Chart/Chart.vue +88 -88
  96. package/src/components/Chart/README.md +17 -17
  97. package/src/components/Drawer/Drawer.vue +53 -53
  98. package/src/components/Drawer/README.md +22 -22
  99. package/src/components/Header/Header.vue +38 -38
  100. package/src/components/Header/README.md +27 -27
  101. package/src/components/Modal/Modal.vue +43 -43
  102. package/src/components/Modal/README.md +19 -19
  103. package/src/components/Nav/Nav.vue +212 -189
  104. package/src/components/Nav/README.md +22 -22
  105. package/src/components/NoteFeed/NoteFeed.vue +79 -79
  106. package/src/components/NoteFeed/README.md +16 -16
  107. package/src/components/PropertySearchbar/PropertySearchbar.vue +204 -204
  108. package/src/components/PropertySearchbar/README.md +25 -25
  109. package/src/components/Snapshot/README.md +20 -20
  110. package/src/components/Snapshot/Snapshot.vue +32 -32
  111. package/src/components/Stepper/README.md +32 -32
  112. package/src/components/Stepper/Step.vue +28 -28
  113. package/src/components/Stepper/Stepper.vue +33 -33
  114. package/src/components/Tabs/README.md +27 -27
  115. package/src/components/Tabs/Tab.vue +26 -26
  116. package/src/components/Tabs/Tabs.vue +75 -75
  117. package/src/components/Testimonial/README.md +25 -25
  118. package/src/components/Testimonial/Testimonial.vue +60 -60
  119. package/src/components/Timeline/README.md +18 -18
  120. package/src/components/Timeline/Timeline.vue +24 -24
  121. package/src/elements/Card/Card.vue +113 -113
  122. package/src/elements/Card/README.md +24 -24
  123. package/src/elements/FileUploads/FileUploads.vue +48 -48
  124. package/src/elements/FileUploads/README.md +24 -24
  125. package/src/elements/Input/Input.vue +268 -268
  126. package/src/elements/Input/README.md +19 -19
  127. package/src/elements/Table/README.md +62 -62
  128. package/src/elements/Table/Table.vue +126 -116
  129. package/src/foundations/Icon/Icon.vue +24 -24
  130. package/src/foundations/Icon/README.md +11 -11
  131. package/src/foundations/Logo/Logo.vue +39 -39
  132. package/src/foundations/Logo/README.md +20 -20
  133. package/src/foundations/YoutubeVideo/README.md +11 -11
  134. package/src/foundations/YoutubeVideo/YoutubeVideo.vue +24 -24
  135. package/src/helpers/strings.js +12 -12
  136. package/src/index.js +27 -27
  137. package/assets/.DS_Store +0 -0
  138. package/src/.DS_Store +0 -0
@@ -1,62 +1,62 @@
1
- ### Usage
2
-
3
- ```
4
- <Table :fields="fields" :items="items"></Table>
5
- ```
6
-
7
- ### Properties
8
-
9
- | Option | Type | Default Value | Description |
10
- | ------ | ---- | ------------- | ----------- |
11
- | items | Array | - | Table row data passed |
12
- | fields | Array | - | Table header titles |
13
- | sort | string | - | Choose from ascending or descending |
14
- | sortBy | string | - | Needs to match a column name and will trigger sorting via that column on page load |
15
- | show | number | - | Limits the number of results shown and will create pagination controls. |
16
- | page | number | - | Starting page for the pagination. |
17
- | reorder | bool | - | Create an order column and allow for the table rows to be reordered |
18
- | headingclass | string | - | Add a class to the table row within the thead, used to add a background or change test colour. |
19
-
20
- ### Class modifiers
21
-
22
- - **.table-fullwidth** - Prevents the table from stacking on mobile
23
- - **.table-striped** - Add zebra-striping to the table
24
- - **.table-hover** - Enable a hover state on table rows within a &lt;tbody&gt;
25
-
26
- ### Make columns filterable or sortable
27
-
28
- To give a column some extra functionality extra values need to be set in the data.
29
-
30
- ```
31
- fields: [
32
- {
33
- key: 'name',
34
- filterable: true,
35
- sortable: true
36
- },
37
- { key: 'address' }
38
- ]
39
- ```
40
-
41
- ### Custom JavaScript Events
42
-
43
- A custom event can be hooked into when the table gets updated by one of it filters.
44
-
45
- ```
46
- this.$el.addEventListener('filtered', function (e) {
47
-
48
- console.log('Table filtered')
49
- }, false);
50
-
51
- // Sorted
52
- this.$el.addEventListener('sorted', function (e) {
53
-
54
- console.log('Table sorted')
55
- }, false);
56
-
57
- // Re-ordered via drag and drop
58
- this.$el.addEventListener('reordered', function (e) {
59
-
60
- console.log('Table re-ordered')
61
- }, false);
62
- ```
1
+ ### Usage
2
+
3
+ ```
4
+ <Table :fields="fields" :items="items"></Table>
5
+ ```
6
+
7
+ ### Properties
8
+
9
+ | Option | Type | Default Value | Description |
10
+ | ------ | ---- | ------------- | ----------- |
11
+ | items | Array | - | Table row data passed |
12
+ | fields | Array | - | Table header titles |
13
+ | sort | string | - | Choose from ascending or descending |
14
+ | sortBy | string | - | Needs to match a column name and will trigger sorting via that column on page load |
15
+ | show | number | - | Limits the number of results shown and will create pagination controls. |
16
+ | page | number | - | Starting page for the pagination. |
17
+ | reorder | bool | - | Create an order column and allow for the table rows to be reordered |
18
+ | headingclass | string | - | Add a class to the table row within the thead, used to add a background or change test colour. |
19
+
20
+ ### Class modifiers
21
+
22
+ - **.table-fullwidth** - Prevents the table from stacking on mobile
23
+ - **.table-striped** - Add zebra-striping to the table
24
+ - **.table-hover** - Enable a hover state on table rows within a &lt;tbody&gt;
25
+
26
+ ### Make columns filterable or sortable
27
+
28
+ To give a column some extra functionality extra values need to be set in the data.
29
+
30
+ ```
31
+ fields: [
32
+ {
33
+ key: 'name',
34
+ filterable: true,
35
+ sortable: true
36
+ },
37
+ { key: 'address' }
38
+ ]
39
+ ```
40
+
41
+ ### Custom JavaScript Events
42
+
43
+ A custom event can be hooked into when the table gets updated by one of it filters.
44
+
45
+ ```
46
+ this.$el.addEventListener('filtered', function (e) {
47
+
48
+ console.log('Table filtered')
49
+ }, false);
50
+
51
+ // Sorted
52
+ this.$el.addEventListener('sorted', function (e) {
53
+
54
+ console.log('Table sorted')
55
+ }, false);
56
+
57
+ // Re-ordered via drag and drop
58
+ this.$el.addEventListener('reordered', function (e) {
59
+
60
+ console.log('Table re-ordered')
61
+ }, false);
62
+ ```
@@ -1,116 +1,126 @@
1
- <template>
2
- <div class="table__wrapper" ref="wrapper" :data-sortby="sortby" :data-sort="sort" :data-show="show" :data-page="page" :data-reorder="reorder">
3
- <table>
4
- <thead v-if="fields">
5
- <tr :class="headingclass">
6
- <th v-for="(field) in fields" :key="field.key" :data-sortable="field.sortable" :data-filterable="field.filterable">{{ cellHeading(field.key) }}</th>
7
- </tr>
8
- </thead>
9
- <tbody v-if="items">
10
- <tr v-for="(value,index) in items" :key="index" :data-row-id="value['rowid']">
11
- <td :key="cellIndex" v-for="(cellValue,cellIndex) in Object.fromEntries(Object.entries(value).filter(([key]) => key !== 'rowid'))" v-html="cellValue" :data-label="cellHeading(cellIndex)" :data-numeric="numericValue(cellValue)"></td>
12
- </tr>
13
- </tbody>
14
- </table>
15
- <slot></slot>
16
- </div>
17
- </template>
18
-
19
- <script>
20
- import { ucfirst, unsnake } from '../../helpers/strings'
21
- import table from '../../../assets/js/modules/table.js'
22
-
23
- export default {
24
- name: 'Table',
25
- props: {
26
- reorder: {
27
- type: Boolean,
28
- required: false
29
- },
30
- page: {
31
- type: Number,
32
- required: false
33
- },
34
- show: {
35
- type: Number,
36
- required: false
37
- },
38
- sortby: {
39
- type: String,
40
- required: false
41
- },
42
- sort: {
43
- type: String,
44
- required: false
45
- },
46
- headingclass: {
47
- type: String,
48
- required: false
49
- },
50
- items: {
51
- type: Array,
52
- required: true
53
- },
54
- fields: {
55
- type: Array,
56
- required: true
57
- }
58
- },
59
- computed: {
60
- cellHeading () {
61
- return (heading) => {
62
- return `${ucfirst(unsnake(heading))}`
63
- }
64
- },
65
- numericValue () {
66
- return (value) => {
67
-
68
- value = value.replace('£','')
69
- value = value.replace('%','')
70
-
71
- if (Number.isNaN(Number.parseFloat(value))) {
72
- return 0;
73
- }
74
-
75
- return Number.parseFloat(value)
76
- }
77
- }
78
- },
79
- mounted(){
80
-
81
- this.$nextTick(function () {
82
-
83
- table(this.$refs.wrapper);
84
-
85
- // Listen for the event.
86
- this.$el.addEventListener('sorted', function (e) {
87
-
88
- console.log('Table sorted')
89
- }, false);
90
-
91
- this.$el.addEventListener('filtered', function (e) {
92
-
93
- console.log('Table filtered')
94
- }, false);
95
-
96
- })
97
- },
98
- updated(){
99
- this.$nextTick(function () {
100
-
101
- // If the data gets updated we may need to recreate the tbody as it get detached when sorted in the table.js
102
- let tbody = this.$refs.wrapper.querySelector('tbody');
103
-
104
- let tbodyHTML = '';
105
- this.items.forEach((row, index) => {
106
- tbodyHTML += `<tr>${ Object.keys(row).map(col => `<td data-label="${ucfirst(unsnake(col))}">${row[col]}</td>` ).join("") }</tr>`;
107
- });
108
- tbody.innerHTML = tbodyHTML;
109
-
110
- // Tell the framework that the table has been filtered so that it can re-sort it etc
111
- const updatedEvent = new Event('filtered');
112
- this.$refs.wrapper.dispatchEvent(updatedEvent);
113
- })
114
- }
115
- }
116
- </script>
1
+ <template>
2
+ <div class="table__wrapper" ref="wrapper" :data-sortby="sortby" :data-sort="sort" :data-show="show" :data-page="page" :data-reorder="reorder">
3
+ <table>
4
+ <thead v-if="fields">
5
+ <tr :class="headingclass">
6
+ <th v-for="(field) in fields" :key="field.key" :data-sortable="field.sortable" :data-filterable="field.filterable">{{ cellHeading(field.key) }}</th>
7
+ </tr>
8
+ </thead>
9
+ <tbody v-if="items">
10
+ <tr v-for="(value,index) in items" :key="index" :data-row-id="value['rowid']">
11
+ <td :key="cellIndex" v-for="(cellValue,cellIndex) in Object.fromEntries(Object.entries(value).filter(([key]) => key !== 'rowid'))" v-html="cellValue" :data-label="cellHeading(cellIndex)" :data-numeric="numericValue(cellValue)"></td>
12
+ </tr>
13
+ </tbody>
14
+ </table>
15
+ <slot></slot>
16
+ </div>
17
+ </template>
18
+
19
+ <script>
20
+ import { ucfirst, unsnake } from '../../helpers/strings'
21
+ import table from '../../../assets/js/modules/table.js'
22
+
23
+ let numericValue = function(value) {
24
+
25
+ value = value.replace('£','')
26
+ value = value.replace('%','')
27
+
28
+ if (Number.isNaN(Number.parseFloat(value))) {
29
+ return 0;
30
+ }
31
+
32
+ return Number.parseFloat(value)
33
+ }
34
+
35
+ export default {
36
+ name: 'Table',
37
+ props: {
38
+ reorder: {
39
+ type: Boolean,
40
+ required: false
41
+ },
42
+ page: {
43
+ type: Number,
44
+ required: false
45
+ },
46
+ show: {
47
+ type: Number,
48
+ required: false
49
+ },
50
+ sortby: {
51
+ type: String,
52
+ required: false
53
+ },
54
+ sort: {
55
+ type: String,
56
+ required: false
57
+ },
58
+ headingclass: {
59
+ type: String,
60
+ required: false
61
+ },
62
+ items: {
63
+ type: Array,
64
+ required: true
65
+ },
66
+ fields: {
67
+ type: Array,
68
+ required: true
69
+ }
70
+ },
71
+ computed: {
72
+ cellHeading () {
73
+ return (heading) => {
74
+ return `${ucfirst(unsnake(heading))}`
75
+ }
76
+ },
77
+ numericValue () {
78
+ return (value) => {
79
+
80
+ value = numericValue(value);
81
+ return value;
82
+ }
83
+ }
84
+ },
85
+ mounted(){
86
+
87
+ this.$nextTick(function () {
88
+
89
+ table(this.$refs.wrapper);
90
+
91
+ // Listen for the event.
92
+ this.$el.addEventListener('sorted', function (e) {
93
+
94
+ console.log('Table sorted')
95
+ }, false);
96
+
97
+ this.$el.addEventListener('filtered', function (e) {
98
+
99
+ console.log('Table filtered')
100
+ }, false);
101
+
102
+ })
103
+ },
104
+ updated(){
105
+ this.$nextTick(function () {
106
+
107
+ // If the data gets updated we may need to recreate the tbody as it get detached when sorted in the table.js
108
+ let tbody = this.$refs.wrapper.querySelector('tbody');
109
+
110
+ let tbodyHTML = '';
111
+ this.items.forEach((row, index) => {
112
+
113
+ let rowID = row['rowid'] ? row['rowid'] : '';
114
+ row = Object.fromEntries(Object.entries(row).filter(([key]) => key !== 'rowid'));
115
+
116
+ tbodyHTML += `<tr data-row-id="${rowID}">${ Object.keys(row).map(col => `<td data-label="${ucfirst(unsnake(col))}" data-numeric="${numericValue(row[col])}">${row[col]}</td>` ).join("") }</tr>`;
117
+ });
118
+ tbody.innerHTML = tbodyHTML;
119
+
120
+ // Tell the framework that the table has been filtered so that it can re-sort it etc
121
+ const updatedEvent = new Event('filtered');
122
+ this.$refs.wrapper.dispatchEvent(updatedEvent);
123
+ })
124
+ }
125
+ }
126
+ </script>
@@ -1,24 +1,24 @@
1
- <template>
2
- <svg class="icon">
3
- <title>{{id}}</title>
4
- <use :xlink:href="path+'#icon-'+id"></use>
5
- </svg>
6
- </template>
7
-
8
- <script>
9
- export default {
10
- name: 'Icon',
11
- props: {
12
- id: {
13
- type: String,
14
- required: false,
15
- default: 'email'
16
- },
17
- path: {
18
- type: String,
19
- required: false,
20
- default: '/svg/icons.svg'
21
- }
22
- }
23
- }
24
- </script>
1
+ <template>
2
+ <svg class="icon">
3
+ <title>{{id}}</title>
4
+ <use :xlink:href="path+'#icon-'+id"></use>
5
+ </svg>
6
+ </template>
7
+
8
+ <script>
9
+ export default {
10
+ name: 'Icon',
11
+ props: {
12
+ id: {
13
+ type: String,
14
+ required: false,
15
+ default: 'email'
16
+ },
17
+ path: {
18
+ type: String,
19
+ required: false,
20
+ default: '/svg/icons.svg'
21
+ }
22
+ }
23
+ }
24
+ </script>
@@ -1,11 +1,11 @@
1
- ### Usage
2
-
3
- ```
4
- <Icon id="email"></Logo>
5
- ```
6
-
7
- ### Properties
8
-
9
- | Option | Type | Default Value | Description |
10
- | ------ | ---- | ------------- | ----------- |
11
- | id | String | property | This property declares which icon to choose from. See icon listing. |
1
+ ### Usage
2
+
3
+ ```
4
+ <Icon id="email"></Logo>
5
+ ```
6
+
7
+ ### Properties
8
+
9
+ | Option | Type | Default Value | Description |
10
+ | ------ | ---- | ------------- | ----------- |
11
+ | id | String | property | This property declares which icon to choose from. See icon listing. |
@@ -1,39 +1,39 @@
1
- <template>
2
- <div :class="className">
3
- <svg>
4
- <title>iam {{id}}</title>
5
- <use :xlink:href="path+src"></use>
6
- </svg>
7
- <span v-if="desc" v-html="desc"></span>
8
- </div>
9
- </template>
10
- <script>
11
- export default {
12
- name: 'Logo',
13
- props: {
14
- id: {
15
- type: String,
16
- required: false,
17
- default: 'property'
18
- },
19
- path: {
20
- type: String,
21
- required: false,
22
- default: '/svg/logo.svg'
23
- },
24
- desc: {
25
- type: String
26
- }
27
- },
28
- computed: {
29
- src: function () {
30
- // `this` points to the vm instance
31
- return '#logo-' + this.id
32
- },
33
- className: function () {
34
- // `this` points to the vm instance
35
- return 'brand brand--' + this.id
36
- }
37
- }
38
- }
39
- </script>
1
+ <template>
2
+ <div :class="className">
3
+ <svg>
4
+ <title>iam {{id}}</title>
5
+ <use :xlink:href="path+src"></use>
6
+ </svg>
7
+ <span v-if="desc" v-html="desc"></span>
8
+ </div>
9
+ </template>
10
+ <script>
11
+ export default {
12
+ name: 'Logo',
13
+ props: {
14
+ id: {
15
+ type: String,
16
+ required: false,
17
+ default: 'property'
18
+ },
19
+ path: {
20
+ type: String,
21
+ required: false,
22
+ default: '/svg/logo.svg'
23
+ },
24
+ desc: {
25
+ type: String
26
+ }
27
+ },
28
+ computed: {
29
+ src: function () {
30
+ // `this` points to the vm instance
31
+ return '#logo-' + this.id
32
+ },
33
+ className: function () {
34
+ // `this` points to the vm instance
35
+ return 'brand brand--' + this.id
36
+ }
37
+ }
38
+ }
39
+ </script>
@@ -1,20 +1,20 @@
1
- ### Usage
2
-
3
- ```
4
- <Logo id="property" desc="the founders<br/>of iamsold"></Logo>
5
- ```
6
-
7
- ### Properties
8
-
9
- | Option | Type | Default Value | Description |
10
- | ------ | ---- | ------------- | ----------- |
11
- | id | String | property | This property declares which logo to choose from. |
12
- | desc | String | | Optional description will be added to the right of logo. For eaxmple 'the founders of iamsold' can be added to the right of the IAM property logo. |
13
-
14
- ### ID Options
15
- - property
16
- - sold
17
- - medwaylaw
18
- - compliance
19
- - movebutler
20
- - key
1
+ ### Usage
2
+
3
+ ```
4
+ <Logo id="property" desc="the founders<br/>of iamsold"></Logo>
5
+ ```
6
+
7
+ ### Properties
8
+
9
+ | Option | Type | Default Value | Description |
10
+ | ------ | ---- | ------------- | ----------- |
11
+ | id | String | property | This property declares which logo to choose from. |
12
+ | desc | String | | Optional description will be added to the right of logo. For eaxmple 'the founders of iamsold' can be added to the right of the IAM property logo. |
13
+
14
+ ### ID Options
15
+ - property
16
+ - sold
17
+ - medwaylaw
18
+ - compliance
19
+ - movebutler
20
+ - key
@@ -1,11 +1,11 @@
1
- ### Usage
2
-
3
- ```
4
- <YoutubeVideo video="lROFZaJcVug" ></YoutubeVideo>
5
- ```
6
-
7
- ### Properties
8
-
9
- | Option | Type | Default Value | Description |
10
- | ------ | ---- | ------------- | ----------- |
11
- | video | String | property | Video id from youtube |
1
+ ### Usage
2
+
3
+ ```
4
+ <YoutubeVideo video="lROFZaJcVug" ></YoutubeVideo>
5
+ ```
6
+
7
+ ### Properties
8
+
9
+ | Option | Type | Default Value | Description |
10
+ | ------ | ---- | ------------- | ----------- |
11
+ | video | String | property | Video id from youtube |
@@ -1,24 +1,24 @@
1
- <template>
2
- <div class="youtube-embed ratio ratio-16x9" ref="wrapper">
3
- <a :href="`https://www.youtube.com/watch?v=${video}`" target="_blank" title="Investments Video" :data-id="video">
4
- <img :src="`https://img.youtube.com/vi/${video}/maxresdefault.jpg`" alt="">
5
- <span class="btn btn-secondary">Play Video</span>
6
- </a>
7
- </div>
8
- </template>
9
- <script>
10
- import youtubeVideo from '../../../assets/js/modules/youtubevideo.js'
11
-
12
- export default {
13
- name: 'YoutuveVideo',
14
- props: {
15
- video: {
16
- type: String,
17
- required: true
18
- }
19
- },
20
- mounted(){
21
- new youtubeVideo(this.$refs.wrapper);
22
- }
23
- }
24
- </script>
1
+ <template>
2
+ <div class="youtube-embed ratio ratio-16x9" ref="wrapper">
3
+ <a :href="`https://www.youtube.com/watch?v=${video}`" target="_blank" title="Investments Video" :data-id="video">
4
+ <img :src="`https://img.youtube.com/vi/${video}/maxresdefault.jpg`" alt="">
5
+ <span class="btn btn-secondary">Play Video</span>
6
+ </a>
7
+ </div>
8
+ </template>
9
+ <script>
10
+ import youtubeVideo from '../../../assets/js/modules/youtubevideo.js'
11
+
12
+ export default {
13
+ name: 'YoutuveVideo',
14
+ props: {
15
+ video: {
16
+ type: String,
17
+ required: true
18
+ }
19
+ },
20
+ mounted(){
21
+ new youtubeVideo(this.$refs.wrapper);
22
+ }
23
+ }
24
+ </script>
@@ -1,12 +1,12 @@
1
- export const ucfirst = (str) => str.charAt(0).toUpperCase() + str.slice(1)
2
- export const ucwords = (str) => str.split(' ').map(s => ucfirst(s)).join(' ')
3
- export const unsnake = (str) => str.replace(/_/g, ' ')
4
- export const snake = (str) => str.replace(/ /g, '_')
5
- export const safeID = function(str){
6
-
7
- str = str.toLowerCase();
8
- str = snake(str);
9
- str = str.replace(/\W/g,'');
10
-
11
- return str;
12
- }
1
+ export const ucfirst = (str) => str.charAt(0).toUpperCase() + str.slice(1)
2
+ export const ucwords = (str) => str.split(' ').map(s => ucfirst(s)).join(' ')
3
+ export const unsnake = (str) => str.replace(/_/g, ' ')
4
+ export const snake = (str) => str.replace(/ /g, '_')
5
+ export const safeID = function(str){
6
+
7
+ str = str.toLowerCase();
8
+ str = snake(str);
9
+ str = str.replace(/\W/g,'');
10
+
11
+ return str;
12
+ }