@iamproperty/components 3.4.6 → 3.5.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/assets/bootstrap/LICENSE +22 -0
- package/assets/bootstrap/README.md +246 -0
- package/assets/bootstrap/js/src/alert.js +87 -0
- package/assets/bootstrap/js/src/base-component.js +85 -0
- package/assets/bootstrap/js/src/button.js +72 -0
- package/assets/bootstrap/js/src/carousel.js +475 -0
- package/assets/bootstrap/js/src/collapse.js +302 -0
- package/assets/bootstrap/js/src/dom/data.js +55 -0
- package/assets/bootstrap/js/src/dom/event-handler.js +320 -0
- package/assets/bootstrap/js/src/dom/manipulator.js +71 -0
- package/assets/bootstrap/js/src/dom/selector-engine.js +83 -0
- package/assets/bootstrap/js/src/dropdown.js +454 -0
- package/assets/bootstrap/js/src/modal.js +377 -0
- package/assets/bootstrap/js/src/offcanvas.js +283 -0
- package/assets/bootstrap/js/src/popover.js +97 -0
- package/assets/bootstrap/js/src/scrollspy.js +294 -0
- package/assets/bootstrap/js/src/tab.js +305 -0
- package/assets/bootstrap/js/src/toast.js +225 -0
- package/assets/bootstrap/js/src/tooltip.js +633 -0
- package/assets/bootstrap/js/src/util/backdrop.js +149 -0
- package/assets/bootstrap/js/src/util/component-functions.js +34 -0
- package/assets/bootstrap/js/src/util/config.js +66 -0
- package/assets/bootstrap/js/src/util/focustrap.js +115 -0
- package/assets/bootstrap/js/src/util/index.js +336 -0
- package/assets/bootstrap/js/src/util/sanitizer.js +118 -0
- package/assets/bootstrap/js/src/util/scrollbar.js +114 -0
- package/assets/bootstrap/js/src/util/swipe.js +146 -0
- package/assets/bootstrap/js/src/util/template-factory.js +160 -0
- package/assets/bootstrap/package.json +181 -0
- package/assets/bootstrap/scss/_accordion.scss +149 -0
- package/assets/bootstrap/scss/_alert.scss +71 -0
- package/assets/bootstrap/scss/_badge.scss +38 -0
- package/assets/bootstrap/scss/_breadcrumb.scss +40 -0
- package/assets/bootstrap/scss/_button-group.scss +142 -0
- package/assets/bootstrap/scss/_buttons.scss +207 -0
- package/assets/bootstrap/scss/_card.scss +234 -0
- package/assets/bootstrap/scss/_carousel.scss +226 -0
- package/assets/bootstrap/scss/_close.scss +40 -0
- package/assets/bootstrap/scss/_containers.scss +41 -0
- package/assets/bootstrap/scss/_dropdown.scss +249 -0
- package/assets/bootstrap/scss/_forms.scss +9 -0
- package/assets/bootstrap/scss/_functions.scss +302 -0
- package/assets/bootstrap/scss/_grid.scss +33 -0
- package/assets/bootstrap/scss/_helpers.scss +10 -0
- package/assets/bootstrap/scss/_images.scss +42 -0
- package/assets/bootstrap/scss/_list-group.scss +192 -0
- package/assets/bootstrap/scss/_maps.scss +54 -0
- package/assets/bootstrap/scss/_mixins.scss +43 -0
- package/assets/bootstrap/scss/_modal.scss +237 -0
- package/assets/bootstrap/scss/_nav.scss +172 -0
- package/assets/bootstrap/scss/_navbar.scss +278 -0
- package/assets/bootstrap/scss/_offcanvas.scss +144 -0
- package/assets/bootstrap/scss/_pagination.scss +109 -0
- package/assets/bootstrap/scss/_placeholders.scss +51 -0
- package/assets/bootstrap/scss/_popover.scss +196 -0
- package/assets/bootstrap/scss/_progress.scss +59 -0
- package/assets/bootstrap/scss/_reboot.scss +610 -0
- package/assets/bootstrap/scss/_root.scss +73 -0
- package/assets/bootstrap/scss/_spinners.scss +85 -0
- package/assets/bootstrap/scss/_tables.scss +164 -0
- package/assets/bootstrap/scss/_toasts.scss +73 -0
- package/assets/bootstrap/scss/_tooltip.scss +120 -0
- package/assets/bootstrap/scss/_transitions.scss +27 -0
- package/assets/bootstrap/scss/_type.scss +106 -0
- package/assets/bootstrap/scss/_utilities.scss +647 -0
- package/assets/bootstrap/scss/_variables.scss +1634 -0
- package/assets/bootstrap/scss/bootstrap-grid.scss +64 -0
- package/assets/bootstrap/scss/bootstrap-reboot.scss +9 -0
- package/assets/bootstrap/scss/bootstrap-utilities.scss +18 -0
- package/assets/bootstrap/scss/bootstrap.scss +51 -0
- package/assets/bootstrap/scss/forms/_floating-labels.scss +75 -0
- package/assets/bootstrap/scss/forms/_form-check.scss +175 -0
- package/assets/bootstrap/scss/forms/_form-control.scss +194 -0
- package/assets/bootstrap/scss/forms/_form-range.scss +91 -0
- package/assets/bootstrap/scss/forms/_form-select.scss +71 -0
- package/assets/bootstrap/scss/forms/_form-text.scss +11 -0
- package/assets/bootstrap/scss/forms/_input-group.scss +132 -0
- package/assets/bootstrap/scss/forms/_labels.scss +36 -0
- package/assets/bootstrap/scss/forms/_validation.scss +12 -0
- package/assets/bootstrap/scss/helpers/_clearfix.scss +3 -0
- package/assets/bootstrap/scss/helpers/_color-bg.scss +10 -0
- package/assets/bootstrap/scss/helpers/_colored-links.scss +12 -0
- package/assets/bootstrap/scss/helpers/_position.scss +36 -0
- package/assets/bootstrap/scss/helpers/_ratio.scss +26 -0
- package/assets/bootstrap/scss/helpers/_stacks.scss +15 -0
- package/assets/bootstrap/scss/helpers/_stretched-link.scss +15 -0
- package/assets/bootstrap/scss/helpers/_text-truncation.scss +7 -0
- package/assets/bootstrap/scss/helpers/_visually-hidden.scss +8 -0
- package/assets/bootstrap/scss/helpers/_vr.scss +8 -0
- package/assets/bootstrap/scss/mixins/_alert.scss +15 -0
- package/assets/bootstrap/scss/mixins/_backdrop.scss +14 -0
- package/assets/bootstrap/scss/mixins/_banner.scss +9 -0
- package/assets/bootstrap/scss/mixins/_border-radius.scss +78 -0
- package/assets/bootstrap/scss/mixins/_box-shadow.scss +18 -0
- package/assets/bootstrap/scss/mixins/_breakpoints.scss +127 -0
- package/assets/bootstrap/scss/mixins/_buttons.scss +70 -0
- package/assets/bootstrap/scss/mixins/_caret.scss +64 -0
- package/assets/bootstrap/scss/mixins/_clearfix.scss +9 -0
- package/assets/bootstrap/scss/mixins/_color-scheme.scss +7 -0
- package/assets/bootstrap/scss/mixins/_container.scss +11 -0
- package/assets/bootstrap/scss/mixins/_deprecate.scss +10 -0
- package/assets/bootstrap/scss/mixins/_forms.scss +152 -0
- package/assets/bootstrap/scss/mixins/_gradients.scss +47 -0
- package/assets/bootstrap/scss/mixins/_grid.scss +151 -0
- package/assets/bootstrap/scss/mixins/_image.scss +16 -0
- package/assets/bootstrap/scss/mixins/_list-group.scss +24 -0
- package/assets/bootstrap/scss/mixins/_lists.scss +7 -0
- package/assets/bootstrap/scss/mixins/_pagination.scss +10 -0
- package/assets/bootstrap/scss/mixins/_reset-text.scss +17 -0
- package/assets/bootstrap/scss/mixins/_resize.scss +6 -0
- package/assets/bootstrap/scss/mixins/_table-variants.scss +24 -0
- package/assets/bootstrap/scss/mixins/_text-truncate.scss +8 -0
- package/assets/bootstrap/scss/mixins/_transition.scss +26 -0
- package/assets/bootstrap/scss/mixins/_utilities.scss +97 -0
- package/assets/bootstrap/scss/mixins/_visually-hidden.scss +29 -0
- package/assets/bootstrap/scss/utilities/_api.scss +47 -0
- package/assets/bootstrap/scss/vendor/_rfs.scss +354 -0
- package/assets/css/components/accordion.css +1 -1
- package/assets/css/components/accordion.css.map +1 -1
- package/assets/css/components/admin-panel.css +1 -0
- package/assets/css/components/admin-panel.css.map +1 -0
- package/assets/css/components/alert.css +1 -1
- package/assets/css/components/alert.css.map +1 -1
- package/assets/css/components/applied-filters.css +1 -0
- package/assets/css/components/applied-filters.css.map +1 -0
- package/assets/css/components/card.css +1 -1
- package/assets/css/components/card.css.map +1 -1
- package/assets/css/components/carousel.css +1 -1
- package/assets/css/components/carousel.css.map +1 -1
- package/assets/css/components/charts.css +1 -1
- package/assets/css/components/charts.css.map +1 -1
- package/assets/css/components/container.css +1 -1
- package/assets/css/components/container.css.map +1 -1
- package/assets/css/components/dialog.css +1 -0
- package/assets/css/components/dialog.css.map +1 -0
- package/assets/css/components/forms.css +1 -1
- package/assets/css/components/forms.css.map +1 -1
- package/assets/css/components/header.css +1 -1
- package/assets/css/components/header.css.map +1 -1
- package/assets/css/components/lists.css +1 -1
- package/assets/css/components/lists.css.map +1 -1
- package/assets/css/components/nav.css +1 -1
- package/assets/css/components/nav.css.map +1 -1
- package/assets/css/components/pagination.css +1 -0
- package/assets/css/components/pagination.css.map +1 -0
- package/assets/css/components/property-searchbar.css +1 -1
- package/assets/css/components/property-searchbar.css.map +1 -1
- package/assets/css/components/stepper.css +1 -1
- package/assets/css/components/stepper.css.map +1 -1
- package/assets/css/components/table.css +1 -0
- package/assets/css/components/table.css.map +1 -0
- package/assets/css/components/tabs.css +1 -1
- package/assets/css/components/tabs.css.map +1 -1
- package/assets/css/components/tooltips.css +1 -1
- package/assets/css/components/tooltips.css.map +1 -1
- 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/js/bundle.js +18 -11
- package/assets/js/components/accordion/accordion.component.js +6 -0
- package/assets/js/components/accordion/accordion.component.min.js +3 -3
- package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.js +26 -0
- package/assets/js/components/card/card.component.js +91 -0
- package/assets/js/components/card/card.component.min.js +21 -0
- package/assets/js/components/card/card.component.min.js.map +1 -0
- package/assets/js/components/filterlist/filterlist.component.js +49 -0
- package/assets/js/components/filterlist/filterlist.component.min.js +23 -0
- package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -0
- package/assets/js/components/header/header.component.js +6 -0
- package/assets/js/components/header/header.component.min.js +5 -5
- package/assets/js/components/header/header.component.min.js.map +1 -1
- package/assets/js/components/pagination/pagination.component.js +34 -0
- package/assets/js/components/table/table.component.js +108 -0
- package/assets/js/components/table/table.component.min.js +24 -0
- package/assets/js/components/table/table.component.min.js.map +1 -0
- package/assets/js/components/tabs/tabs.component.js +6 -0
- package/assets/js/components/tabs/tabs.component.min.js +17 -0
- package/assets/js/components/tabs/tabs.component.min.js.map +1 -0
- package/assets/js/dynamic.js +7 -18
- package/assets/js/dynamic.min.js +2 -53
- package/assets/js/dynamic.min.js.map +1 -1
- package/assets/js/flat-components.js +27 -9
- package/assets/js/modules/applied-filters.js +100 -0
- package/assets/js/modules/data-layer.js +45 -0
- package/assets/js/modules/filterlist.js +32 -0
- package/assets/js/modules/helpers.js +102 -49
- package/assets/js/modules/pagination.js +33 -0
- package/assets/js/modules/table.js +506 -420
- package/assets/js/modules/tabs.js +6 -0
- package/assets/js/modules/youtubevideo.js +53 -61
- package/assets/js/scripts.bundle.js +77 -62
- 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/js/tests/filterlist.spec.js +22 -0
- package/assets/js/tests/pagination.spec.js +15 -0
- package/assets/js/tests/table.spec.js +149 -0
- package/assets/sass/_components.scss +1 -2
- package/assets/sass/_corefiles.scss +20 -19
- package/assets/sass/_forms.scss +7 -7
- package/assets/sass/_functions/functions.scss +1 -1
- package/assets/sass/_functions/mixins.scss +19 -21
- package/assets/sass/_functions/utilities.scss +67 -9
- package/assets/sass/_functions/variables.scss +109 -55
- package/assets/sass/_tests/colours.spec.scss +8 -22
- package/assets/sass/components/accordion.scss +13 -0
- package/assets/sass/components/admin-panel.scss +106 -0
- package/assets/sass/components/alert.scss +22 -0
- package/assets/sass/components/applied-filters.scss +65 -0
- package/assets/sass/components/card.scss +177 -233
- package/assets/sass/components/carousel.scss +72 -0
- package/assets/sass/components/charts.scss +41 -1
- package/assets/sass/components/container.scss +8 -3
- package/assets/sass/components/dialog.scss +208 -0
- package/assets/sass/components/forms.scss +37 -5
- package/assets/sass/components/lists.scss +29 -0
- package/assets/sass/components/nav.scss +6 -2
- package/assets/sass/components/pagination.scss +140 -0
- package/assets/sass/components/stepper.scss +3 -3
- package/assets/sass/components/table.scss +423 -0
- package/assets/sass/components/tabs.scss +20 -7
- package/assets/sass/components/tooltips.scss +1 -1
- package/assets/sass/foundations/buttons.scss +366 -0
- package/assets/sass/foundations/icons.scss +1 -1
- package/assets/sass/foundations/links.scss +125 -0
- package/assets/sass/foundations/media.scss +1 -1
- package/assets/sass/foundations/reboot.scss +21 -17
- package/assets/sass/foundations/root.scss +9 -29
- package/assets/sass/foundations/type.scss +1 -1
- package/assets/svg/illustrations/table.svg +165 -0
- package/assets/ts/bundle.ts +23 -12
- package/assets/ts/components/accordion/accordion.component.ts +7 -0
- package/assets/ts/components/applied-filters/README.md +5 -0
- package/assets/ts/components/applied-filters/applied-filters.component.ts +33 -0
- package/assets/ts/components/card/README.md +22 -0
- package/assets/ts/components/card/card.component.ts +117 -0
- package/assets/ts/components/filterlist/README.md +17 -0
- package/assets/ts/components/filterlist/filterlist.component.ts +60 -0
- package/assets/ts/components/header/header.component.ts +8 -0
- package/assets/ts/components/pagination/README.md +11 -0
- package/assets/ts/components/pagination/pagination.component.ts +45 -0
- package/assets/ts/components/table/README.md +23 -0
- package/assets/ts/components/table/table.component.ts +133 -0
- package/assets/ts/components/tabs/tabs.component.ts +7 -0
- package/assets/ts/dynamic.ts +12 -19
- package/assets/ts/flat-components.ts +37 -9
- package/assets/ts/modules/applied-filters.ts +146 -0
- package/assets/ts/modules/data-layer.ts +58 -0
- package/assets/ts/modules/filterlist.ts +46 -0
- package/assets/ts/modules/helpers.ts +129 -58
- package/assets/ts/modules/pagination.ts +44 -0
- package/assets/ts/modules/table.ts +598 -433
- package/assets/ts/modules/tabs.ts +8 -1
- package/assets/ts/modules/youtubevideo.ts +58 -63
- package/assets/ts/tests/filterlist.spec.ts +29 -0
- package/assets/ts/tests/pagination.spec.ts +21 -0
- package/assets/ts/tests/table.spec.ts +194 -0
- package/dist/components.es.js +1267 -1295
- package/dist/components.umd.js +70 -65
- package/dist/style.css +1 -1
- package/package.json +8 -5
- package/src/components/AppliedFilters/AppliedFilters.vue +20 -0
- package/src/components/AppliedFilters/README.md +5 -0
- package/src/components/Card/Card.vue +11 -112
- package/src/components/Card/README.md +16 -18
- package/src/components/Carousel/Carousel.vue +49 -10
- package/src/components/Chart/Chart.vue +46 -4
- package/src/components/Filterlist/Filterlist.vue +20 -0
- package/src/components/Filterlist/README.md +17 -0
- package/src/components/Pagination/Pagination.vue +30 -0
- package/src/components/Pagination/README.md +11 -0
- package/src/components/Table/README.md +29 -44
- package/src/components/Table/Table.spec.js +5 -37
- package/src/components/Table/Table.vue +16 -91
- package/src/foundations/YoutubeVideo/YoutubeVideo.vue +1 -1
- package/src/index.js +3 -2
- package/assets/css/components/buttons.css +0 -1
- package/assets/css/components/buttons.css.map +0 -1
- package/assets/css/components/cardDeck.css +0 -1
- package/assets/css/components/cardDeck.css.map +0 -1
- package/assets/css/components/links.css +0 -1
- package/assets/css/components/links.css.map +0 -1
- package/assets/css/components/modal.css +0 -1
- package/assets/css/components/modal.css.map +0 -1
- package/assets/css/components/panel.css +0 -1
- package/assets/css/components/panel.css.map +0 -1
- package/assets/css/components/tables.css +0 -1
- package/assets/css/components/tables.css.map +0 -1
- package/assets/js/modules/modal.js +0 -69
- package/assets/sass/components/buttons.scss +0 -252
- package/assets/sass/components/cardDeck.scss +0 -108
- package/assets/sass/components/links.scss +0 -99
- package/assets/sass/components/modal.scss +0 -136
- package/assets/sass/components/panel.scss +0 -161
- package/assets/sass/components/tables.scss +0 -291
- package/assets/ts/modules/modal.ts +0 -91
- package/src/components/CardDeck/CardDeck.spec.js +0 -99
- package/src/components/CardDeck/CardDeck.vue +0 -77
- package/src/components/CardDeck/README.md +0 -25
- package/src/components/Modal/Modal.spec.js +0 -22
- package/src/components/Modal/Modal.vue +0 -43
- package/src/components/Modal/README.md +0 -20
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<iam-pagination>
|
|
3
|
+
</iam-pagination>
|
|
4
|
+
</template>
|
|
5
|
+
|
|
6
|
+
<script>
|
|
7
|
+
import iamPagination from '../../../assets/ts/components/pagination/pagination.component'
|
|
8
|
+
import { ucfirst, unsnake } from '../../helpers/strings'
|
|
9
|
+
|
|
10
|
+
export default {
|
|
11
|
+
name: 'Pagination',
|
|
12
|
+
props: {
|
|
13
|
+
|
|
14
|
+
},
|
|
15
|
+
computed: {
|
|
16
|
+
|
|
17
|
+
},
|
|
18
|
+
created(){
|
|
19
|
+
|
|
20
|
+
this.$nextTick(function () {
|
|
21
|
+
|
|
22
|
+
if (!window.customElements.get('iam-pagination'))
|
|
23
|
+
window.customElements.define('iam-pagination', iamPagination);
|
|
24
|
+
})
|
|
25
|
+
},
|
|
26
|
+
updated(){
|
|
27
|
+
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
</script>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
```
|
|
2
|
+
<Pagination data-total="12"></Pagination>
|
|
3
|
+
```
|
|
4
|
+
|
|
5
|
+
**Properties**
|
|
6
|
+
|
|
7
|
+
| Option | Type | Default Value | Description |
|
|
8
|
+
| ------ | ---- | ------------- | ----------- |
|
|
9
|
+
| data-total | int | 0 | The total amount is needed to work out how many pagination buttons are needed |
|
|
10
|
+
| data-page | int | 1 | Override the current page value |
|
|
11
|
+
| data-show | int | 15 | Update how many items can be shown per page |
|
|
@@ -1,62 +1,47 @@
|
|
|
1
|
-
### Usage
|
|
2
|
-
|
|
3
1
|
```
|
|
4
2
|
<Table :fields="fields" :items="items"></Table>
|
|
5
3
|
```
|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
**Properties**
|
|
8
6
|
|
|
9
7
|
| Option | Type | Default Value | Description |
|
|
10
8
|
| ------ | ---- | ------------- | ----------- |
|
|
11
9
|
| items | Array | - | Table row data passed |
|
|
12
|
-
| fields | Array | - | Table header titles
|
|
13
|
-
|
|
|
14
|
-
|
|
|
15
|
-
|
|
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. |
|
|
10
|
+
| fields | Array | - | Table header titles |
|
|
11
|
+
| data-show | int | 15 | Update how many rows can be shown per page |
|
|
12
|
+
| data-filterby | string (form ID) | | Give an optional form ID to connect a form to the table and make it act like a filtering system |
|
|
13
|
+
|
|
19
14
|
|
|
20
|
-
|
|
15
|
+
**Class modifiers**
|
|
21
16
|
|
|
22
|
-
- **.table
|
|
23
|
-
- **.table
|
|
24
|
-
- **.table
|
|
17
|
+
- Adding a class of **.table--cta** to the table component will fix the last column of the table in place (While on tablet or desktop).
|
|
18
|
+
- Adding a class of **.table--export** to the table component will create a button at the bottom of the table to export its contents out as a CSV file.
|
|
19
|
+
- Adding a class of **.table--fullwidth** to the table component will prevent it from becoming a stacked view on mobile.
|
|
20
|
+
- Adding a class of **.table--mh-small**,**.table--mh-medium** or **.table--mh-large** to the table component will give the table container a max height and the ability to scroll.
|
|
25
21
|
|
|
26
|
-
|
|
22
|
+
**Example of items and fields**
|
|
27
23
|
|
|
28
|
-
|
|
24
|
+
**fields**
|
|
29
25
|
|
|
30
26
|
```
|
|
31
|
-
|
|
32
|
-
{
|
|
33
|
-
key: '
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
27
|
+
[
|
|
28
|
+
{
|
|
29
|
+
key: 'col_1',
|
|
30
|
+
key: 'col_2',
|
|
31
|
+
key: 'col_3',
|
|
32
|
+
key: 'col_4',
|
|
33
|
+
}
|
|
38
34
|
]
|
|
39
35
|
```
|
|
36
|
+
**items**
|
|
40
37
|
|
|
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
38
|
```
|
|
39
|
+
[
|
|
40
|
+
{
|
|
41
|
+
col_1: 'Row content 1',
|
|
42
|
+
col_2: 'Row content 2',
|
|
43
|
+
col_3: 'Row content 3',
|
|
44
|
+
col_4: 'Row content 4',
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
```
|
|
@@ -6,10 +6,10 @@ describe('Table component', () => {
|
|
|
6
6
|
const test = mount(Table, {
|
|
7
7
|
propsData: {
|
|
8
8
|
fields: [
|
|
9
|
-
{ key: 'name'
|
|
10
|
-
{ key: 'job'
|
|
9
|
+
{ key: 'name' },
|
|
10
|
+
{ key: 'job' },
|
|
11
11
|
{ key: 'address' },
|
|
12
|
-
{ key: 'emergency_contact'
|
|
12
|
+
{ key: 'emergency_contact' },
|
|
13
13
|
{ key: 'actions' }
|
|
14
14
|
],
|
|
15
15
|
items: [
|
|
@@ -40,11 +40,6 @@ describe('Table component', () => {
|
|
|
40
40
|
})
|
|
41
41
|
|
|
42
42
|
// On load
|
|
43
|
-
it('renders a div with the class of table wrapper', () => {
|
|
44
|
-
|
|
45
|
-
expect(test.classes()).toContain('table__wrapper')
|
|
46
|
-
})
|
|
47
|
-
|
|
48
43
|
it('renders a thead', () => {
|
|
49
44
|
|
|
50
45
|
expect(test.find('thead').exists()).toBe(true)
|
|
@@ -55,36 +50,9 @@ describe('Table component', () => {
|
|
|
55
50
|
expect(test.find('tbody').exists()).toBe(true)
|
|
56
51
|
})
|
|
57
52
|
|
|
58
|
-
it('renders a
|
|
59
|
-
|
|
60
|
-
expect(test.find('.table__filters').exists()).toBe(true)
|
|
61
|
-
})
|
|
62
|
-
|
|
63
|
-
it('renders a pagination form when needed', () => {
|
|
64
|
-
|
|
65
|
-
expect(test.find('.table__pagination').exists()).toBe(true)
|
|
66
|
-
})
|
|
67
|
-
|
|
68
|
-
// Events
|
|
69
|
-
it('can be sorted by name', async () => {
|
|
70
|
-
|
|
71
|
-
const firstCol = test.find('[data-sortable]')
|
|
72
|
-
expect(firstCol.html()).toContain('Name')
|
|
73
|
-
|
|
74
|
-
await firstCol.trigger('click')
|
|
75
|
-
|
|
76
|
-
let firstRowCol = test.find('tbody tr:first-child [data-label="Name"]')
|
|
77
|
-
expect(firstRowCol.html()).toContain('Andrew')
|
|
78
|
-
})
|
|
79
|
-
|
|
80
|
-
it('can be filtered by name', async () => {
|
|
81
|
-
|
|
82
|
-
const searchField = test.find('[type="search"]')
|
|
83
|
-
|
|
84
|
-
await searchField.setValue('Andrew')
|
|
85
|
-
await searchField.trigger('change')
|
|
53
|
+
it('renders a table heading', () => {
|
|
86
54
|
|
|
87
|
-
expect(test.
|
|
55
|
+
expect(test.find('thead th').exists()).toBe(true)
|
|
88
56
|
})
|
|
89
57
|
|
|
90
58
|
})
|
|
@@ -1,74 +1,35 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
<table>
|
|
4
|
-
<thead
|
|
5
|
-
<tr
|
|
6
|
-
<th v-for="(field) in fields" :key="field.key"
|
|
2
|
+
<iam-table >
|
|
3
|
+
<table v-if="fields">
|
|
4
|
+
<thead>
|
|
5
|
+
<tr>
|
|
6
|
+
<th v-for="(field) in fields" :key="field.key">{{ cellHeading(field.key) }}</th>
|
|
7
7
|
</tr>
|
|
8
8
|
</thead>
|
|
9
9
|
<tbody v-if="items">
|
|
10
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"
|
|
11
|
+
<td :key="cellIndex" v-for="(cellValue,cellIndex) in Object.fromEntries(Object.entries(value).filter(([key]) => key !== 'rowid'))" v-html="cellValue"></td>
|
|
12
12
|
</tr>
|
|
13
13
|
</tbody>
|
|
14
14
|
</table>
|
|
15
|
-
<slot></slot>
|
|
16
|
-
</
|
|
15
|
+
<slot v-else></slot>
|
|
16
|
+
</iam-table>
|
|
17
17
|
</template>
|
|
18
18
|
|
|
19
19
|
<script>
|
|
20
|
+
import iamTable from '../../../assets/ts/components/table/table.component'
|
|
20
21
|
import { ucfirst, unsnake } from '../../helpers/strings'
|
|
21
|
-
import table from '../../../assets/ts/modules/table'
|
|
22
|
-
|
|
23
|
-
let numericValue = function(value) {
|
|
24
|
-
|
|
25
|
-
if(typeof(value) != "string")
|
|
26
|
-
return value;
|
|
27
|
-
|
|
28
|
-
value = value.replace('£','')
|
|
29
|
-
value = value.replace('%','')
|
|
30
|
-
|
|
31
|
-
if (Number.isNaN(Number.parseFloat(value))) {
|
|
32
|
-
return 0;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return Number.parseFloat(value)
|
|
36
|
-
}
|
|
37
22
|
|
|
38
23
|
export default {
|
|
39
24
|
name: 'Table',
|
|
40
25
|
props: {
|
|
41
|
-
reorder: {
|
|
42
|
-
type: Boolean,
|
|
43
|
-
required: false
|
|
44
|
-
},
|
|
45
|
-
page: {
|
|
46
|
-
type: Number,
|
|
47
|
-
required: false
|
|
48
|
-
},
|
|
49
|
-
show: {
|
|
50
|
-
type: Number,
|
|
51
|
-
required: false
|
|
52
|
-
},
|
|
53
|
-
sortby: {
|
|
54
|
-
type: String,
|
|
55
|
-
required: false
|
|
56
|
-
},
|
|
57
|
-
sort: {
|
|
58
|
-
type: String,
|
|
59
|
-
required: false
|
|
60
|
-
},
|
|
61
|
-
headingclass: {
|
|
62
|
-
type: String,
|
|
63
|
-
required: false
|
|
64
|
-
},
|
|
65
26
|
items: {
|
|
66
27
|
type: Array,
|
|
67
|
-
required:
|
|
28
|
+
required: false
|
|
68
29
|
},
|
|
69
30
|
fields: {
|
|
70
31
|
type: Array,
|
|
71
|
-
required:
|
|
32
|
+
required: false
|
|
72
33
|
}
|
|
73
34
|
},
|
|
74
35
|
computed: {
|
|
@@ -76,54 +37,18 @@ export default {
|
|
|
76
37
|
return (heading) => {
|
|
77
38
|
return `${ucfirst(unsnake(heading))}`
|
|
78
39
|
}
|
|
79
|
-
},
|
|
80
|
-
numericValue () {
|
|
81
|
-
return (value) => {
|
|
82
|
-
|
|
83
|
-
value = numericValue(value);
|
|
84
|
-
return value;
|
|
85
|
-
}
|
|
86
40
|
}
|
|
87
41
|
},
|
|
88
|
-
|
|
42
|
+
created(){
|
|
89
43
|
|
|
90
44
|
this.$nextTick(function () {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
// Listen for the event.
|
|
95
|
-
this.$el.addEventListener('sorted', function (e) {
|
|
96
|
-
|
|
97
|
-
console.log('Table sorted')
|
|
98
|
-
}, false);
|
|
99
|
-
|
|
100
|
-
this.$el.addEventListener('filtered', function (e) {
|
|
101
|
-
|
|
102
|
-
console.log('Table filtered')
|
|
103
|
-
}, false);
|
|
104
|
-
|
|
45
|
+
|
|
46
|
+
if (!window.customElements.get('iam-table'))
|
|
47
|
+
window.customElements.define('iam-table', iamTable);
|
|
105
48
|
})
|
|
106
49
|
},
|
|
107
50
|
updated(){
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
// If the data gets updated we may need to recreate the tbody as it get detached when sorted in the table.js
|
|
111
|
-
let tbody = this.$refs.wrapper.querySelector('tbody');
|
|
112
|
-
|
|
113
|
-
let tbodyHTML = '';
|
|
114
|
-
this.items.forEach((row, index) => {
|
|
115
|
-
|
|
116
|
-
let rowID = row['rowid'] ? row['rowid'] : '';
|
|
117
|
-
row = Object.fromEntries(Object.entries(row).filter(([key]) => key !== 'rowid'));
|
|
118
|
-
|
|
119
|
-
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>`;
|
|
120
|
-
});
|
|
121
|
-
tbody.innerHTML = tbodyHTML;
|
|
122
|
-
|
|
123
|
-
// Tell the framework that the table has been filtered so that it can re-sort it etc
|
|
124
|
-
const updatedEvent = new Event('filtered');
|
|
125
|
-
this.$refs.wrapper.dispatchEvent(updatedEvent);
|
|
126
|
-
})
|
|
51
|
+
|
|
127
52
|
}
|
|
128
53
|
}
|
|
129
54
|
</script>
|
package/src/index.js
CHANGED
|
@@ -10,13 +10,11 @@ export { default as Accordion } from './components/Accordion/Accordion.vue'
|
|
|
10
10
|
export { default as AccordionItem } from './components/Accordion/AccordionItem.vue'
|
|
11
11
|
export { default as Banner } from './components/Banner/Banner.vue'
|
|
12
12
|
export { default as Card } from './components/Card/Card.vue'
|
|
13
|
-
export { default as CardDeck } from './components/CardDeck/CardDeck.vue'
|
|
14
13
|
export { default as Carousel } from './components/Carousel/Carousel.vue'
|
|
15
14
|
export { default as Header } from './components/Header/Header.vue'
|
|
16
15
|
export { default as Testimonial } from './components/Testimonial/Testimonial.vue'
|
|
17
16
|
export { default as PropertySearchbar } from './components/PropertySearchbar/PropertySearchbar.vue'
|
|
18
17
|
export { default as Nav } from './components/Nav/Nav.vue'
|
|
19
|
-
export { default as Modal } from './components/Modal/Modal.vue'
|
|
20
18
|
|
|
21
19
|
export { default as Stepper } from './components/Stepper/Stepper.vue'
|
|
22
20
|
export { default as Step } from './components/Stepper/Step.vue'
|
|
@@ -24,3 +22,6 @@ export { default as Tabs } from './components/Tabs/Tabs.vue'
|
|
|
24
22
|
export { default as Tab } from './components/Tabs/Tab.vue'
|
|
25
23
|
export { default as Alert } from './components/Alert/Alert.vue'
|
|
26
24
|
export { default as NoteFeed } from './components/NoteFeed/NoteFeed.vue'
|
|
25
|
+
|
|
26
|
+
export { default as AppliedFilters } from './components/AppliedFilters/AppliedFilters.vue'
|
|
27
|
+
export { default as Filterlist } from './components/Filterlist/Filterlist.vue'
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.btn{display:inline-block;font-weight:600;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background:var(--btn-bg);border:2px solid var(--btn-bg);color:var(--btn-text);font-family:var(--font-heading);font-size:1rem;line-height:1.25;padding:0.75em 1.75em;border-radius:1.25rem;margin-bottom:1.5rem;margin-right:1rem;transition:all .5s,color .5s;height:auto}a:hover .btn,a:focus .btn,.btn:hover,.btn:focus{outline:0;text-decoration:none;border-radius:1.25rem;background:rgba(0,0,0,0);border-color:var(--btn-bg) !important;color:var(--btn-hover-text)}a:active .btn,a.active .btn,.btn:active,.btn.active{border-radius:1.25rem;transition:0s;background:rgba(0,0,0,0);border-color:var(--btn-text);color:var(--btn-hover-text)}a:disabled .btn,.btn:disabled{pointer-events:none;opacity:.5}.btn.btn-secondary{--btn-bg: var(--colour-secondary)}.btn.btn-tertiary,.btn.btn-tag:not(.btn-primary):not(.btn-secondary){background:var(--btn-tertiary-bg);border-color:var(--btn-hover-text) !important;color:var(--btn-tertiary-hover-text)}.btn.btn-tertiary:not(:hover):not(:focus),.btn.btn-tag:not(.btn-primary):not(.btn-secondary):not(:hover):not(:focus){background:rgba(0,0,0,0);color:var(--colour-link);border-color:var(--btn-hover-text)}.btn.btn-tag.btn-primary{--btn-bg: var(--colour-warning)}.btn.btn-admin:not(:hover):not(:focus){background:var(--colour-admin);border-color:var(--colour-admin) !important}input:checked+.btn:not(:hover):not(:focus),details[open]>summary.btn:first-child{transition:0s;background:var(--btn-tertiary-bg);border-color:var(--btn-hover-text);color:var(--btn-tertiary-hover-text)}input:checked+.btn-tertiary:not(:hover):not(:focus):not(:active),input:checked+.btn-tag:not(.btn-primary):not(.btn-secondary):not(:hover):not(:focus):not(:active){background:var(--colour-selected);border-color:var(--colour-selected) !important;color:var(--colour-primary)}.btn-sm,.btn-group-sm>.btn{padding:0.375em 0.75em}.btn-tag{padding:0.375em 0.75em;margin-bottom:.5rem;margin-right:.5rem}.btn-next,.btn-prev{--marker-bg: var(--colour-secondary);text-indent:100%;white-space:nowrap;overflow:hidden;background:var(--marker-bg);border-radius:100%;width:2.25rem;height:2.25rem;text-indent:-300rem;overflow:hidden;border:none;position:relative;margin:0 0.5rem;padding:0}@media screen and (min-width: 62em){.btn-next,.btn-prev{width:3rem;height:3rem}}.btn-next:disabled,.btn-prev:disabled{opacity:.8;pointer-events:none}.btn-next:after,.btn-prev:after{content:"";position:absolute;right:0;top:0;height:100%;width:100%;background:currentColor;mask-image:var(--icon-arrow);mask-size:50%;mask-repeat:no-repeat;mask-position:50% 60%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:50%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:55% 50%;transform:rotate(0deg)}.btn-next:hover,.btn-next:focus,.btn-prev:hover,.btn-prev:focus{background:var(--colour-warning);color:var(--colour-hover);border-radius:100%}.btn-next:active,.btn-prev:active{border-radius:100%}.btn-prev:after{transform:rotate(180deg)}.btn-group{flex-wrap:wrap}.btn-group>.btn{margin-right:0;padding:.75rem}.btn-group>.btn:last-of-type{border-top-right-radius:1.25rem !important;border-bottom-right-radius:1.25rem !important}.btn-group>*:not(.btn){width:100%}.btn-group--admin{position:relative}.btn-group--admin:before{content:"";width:calc(100% - 2px);height:3rem;background-color:var(--colour-admin) !important;position:absolute;top:0;left:0;z-index:0;border-radius:.5rem !important}.btn-group--admin>.btn:not(:hover):not(:focus){border-radius:.5rem !important;background:var(--colour-admin);border-color:var(--colour-admin) !important}.btn-group--admin>.btn:is(:hover,:focus){border-radius:.5rem !important;background:var(--colour-selected);border-color:var(--colour-admin) !important;color:var(--colour-primary)}.btn-group--admin>input:checked+.btn-tertiary:not(:hover):not(:focus):not(:active){border-color:var(--colour-admin) !important}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:1rem}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}/*# sourceMappingURL=buttons.css.map */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../sass/components/buttons.scss","../../sass/_functions/mixins.scss","../../../node_modules/bootstrap/scss/_button-group.scss","../../../node_modules/bootstrap/scss/mixins/_border-radius.scss"],"names":[],"mappings":"AAEA,KAEE,qBACA,gBACA,kBACA,qBACA,sBACA,eACA,iBACA,yBACA,+BACA,sBACA,gCACA,eACA,iBACA,sBACA,sBACA,qBACA,kBACA,6BACA,YAEA,gDAIE,UACA,qBACA,sBACA,yBACA,sCACA,4BAGF,oDAKE,sBACA,cACA,yBACA,6BACA,4BAOF,8BAEE,oBACA,WAGF,mBAEE,kCAGF,qEAGE,kCACA,8CACA,qCAEA,qHAEE,yBACA,yBACA,mCAIJ,yBACE,gCAGF,uCACE,+BACA,4CAIJ,iFAGE,cACA,kCACA,mCACA,qCAOF,mKAEE,kCACA,+CACA,4BAKF,2BAEE,uBAGF,SAEE,uBACA,oBACA,mBAKF,oBAEE,qCACA,iBACA,mBACA,gBACA,4BACA,mBACA,cACA,eAOA,oBACA,gBACA,YACA,kBACA,gBACA,UC3IE,oCDsHJ,oBAaI,WACA,aASF,sCACE,WACA,oBAGF,gCACE,WACA,kBACA,QACA,MACA,YACA,WACA,wBACA,6BACA,cACA,sBACA,sBACA,qCACA,sBACA,8BACA,8BACA,uBAGF,gEAGE,iCACA,0BACA,mBAGF,kCACE,mBAKF,gBAEE,yBAMJ,WAEE,eAEA,gBACE,eACA,eAGF,6BAEE,2CACA,8CAGF,uBACE,WAIJ,kBAEE,kBAEA,yBACE,WACA,uBACA,YACA,gDACA,kBACA,MACA,OACA,UACA,+BAGF,+CACE,+BACA,+BAEA,4CAGF,yCACE,+BACA,kCAEA,4CACA,4BAGF,mFACE,4CEpPJ,+BAEE,kBACA,oBACA,sBAEA,yCACE,kBACA,cAKF,kXAME,UAKJ,aACE,aACA,eACA,2BAEA,0BACE,WAIJ,WChBI,mBDoBF,qFAEE,iBAIF,qJCVE,0BACA,6BDmBF,6GCNE,yBACA,4BDwBJ,uBACE,uBACA,sBAEA,2GAGE,cAGF,0CACE,eAIJ,yEACE,uBACA,sBAGF,yEACE,qBACA,oBAoBF,oBACE,sBACA,uBACA,uBAEA,wDAEE,WAGF,4FAEE,gBAIF,qHC1FE,6BACA,4BD8FF,oFC7GE,yBACA","file":"buttons.css"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.card-deck.container:not([data-card-type=simple]){padding-bottom:3rem}.card-deck.container:not([data-card-type=simple])>.row:first-child{padding-top:.5rem}.card-deck.container:not([data-card-type=simple])[class*=bg-]{padding-bottom:5rem}@media screen and (min-width: 36em)and (max-width: 61.99em){.card-deck .row-cols-sm-1 .card-header__wrapper{position:absolute;top:0;left:0;width:45.8%;height:100%;padding:0}.card-deck .row-cols-sm-1 .card-header__wrapper~.card-body,.card-deck .row-cols-sm-1 .card-header__wrapper~.card-footer{padding-left:calc(45.8% + 2.5rem)}}@media screen and (min-width: 62em){.card-deck:not(.card-deck--featured) .row-cols-md-1 .card-header__wrapper{position:absolute;top:0;left:0;width:45.8%;height:100%;padding:0}.card-deck:not(.card-deck--featured) .row-cols-md-1 .card-header__wrapper~.card-body,.card-deck:not(.card-deck--featured) .row-cols-md-1 .card-header__wrapper~.card-footer{padding-left:calc(45.8% + 2.5rem)}}.card-deck--featured>.row>.col:nth-child(4)~.col{display:none}.card-deck--featured>.row>.col:not(:first-child) .card-header__wrapper{display:none}.card-deck--featured .row-cols-sm-1>.col:not(:first-child) .card-header__wrapper~.card-body{padding-left:1.5rem}.card-deck--featured .card-footer{display:none}@media screen and (min-width: 62em){.card-deck--featured>.row{display:grid;grid-template-columns:1fr 1fr 41.66666667%;grid-template-rows:auto auto auto;gap:var(--gutter-y) var(--gutter-x);grid-template-areas:"featured featured card2" "featured featured card3" "featured featured card4";margin-top:0}.card-deck--featured>.row>.col:first-child{grid-area:featured}.card-deck--featured>.row>.col:not(:first-child){min-height:0}.card-deck--featured>.row>.col:nth-child(2){grid-area:card2}.card-deck--featured>.row>.col:nth-child(3){grid-area:card3}.card-deck--featured>.row>.col:nth-child(4){grid-area:card4}.card-deck--featured>.row>.col{width:100%;margin-top:0}}/*# sourceMappingURL=cardDeck.css.map */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../sass/components/cardDeck.scss","../../sass/_functions/mixins.scss"],"names":[],"mappings":"AAGA,kDAEE,oBAEA,mEACE,kBAGF,8DACE,oBAqBJ,4DAdE,gDACE,kBACA,MACA,OACA,YACA,YACA,UAEF,wHAEE,mCCvBA,oCDaF,0EACE,kBACA,MACA,OACA,YACA,YACA,UAEF,4KAEE,mCAuBF,iDACE,aAGF,uEACE,aAGF,4FACE,oBAGF,kCACE,aC3DA,oCDgEA,0BACE,aACA,2CACA,kCACA,oCACA,oBACE,8EAGF,aAEF,2CACE,mBAEF,iDACE,aAGF,4CACE,gBAGF,4CACE,gBAGF,4CACE,gBAGF,+BACE,WACA","file":"cardDeck.css"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
a,.link{color:var(--colour-link);display:inline-block;min-height:1.75em;margin-bottom:1rem;position:relative;text-decoration:none;background:none;border:none}a:not(.text-decoration-none):not(.btn):before,.link:not(.text-decoration-none):not(.btn):before{content:"";position:absolute;left:50%;bottom:0;width:100%;height:2px;background-color:var(--colour-underline);-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transition:.3s ease-in;transition:.3s ease-in}a:not(.text-decoration-none):not(.btn):hover:before,.card:hover a:before,details[open] a:not(.text-decoration-none):not(.btn):before,.link:not(.text-decoration-none):not(.btn):hover:before,.card:hover .link:before,details[open] .link:not(.text-decoration-none):not(.btn):before{width:0%}a:is(:hover,:focus,.focus),.card:hover a,.card:focus a,.link:is(:hover,:focus,.focus),.card:hover .link,.card:focus .link{color:var(--colour-hover)}a:active,a.active,.card:active a,.link:active,.link.active,.card:active .link{color:var(--colour-active)}a[target=_blank]:not(.card):after,a.card[target=_blank] .btn:after,.link[target=_blank]:not(.card):after,.link.card[target=_blank] .btn:after{content:"";height:1em;width:1em;margin-left:.5em;margin-right:-0.2em;display:inline-block;vertical-align:baseline;margin-bottom:-0.15em;mask-image:var(--icon-blank);mask-size:100% 100%;mask-repeat:no-repeat;mask-position:0 0;-webkit-mask-image:var(--icon-blank);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:0 0;background-color:currentColor}p a,ul a,ol a,dd a,.body a,table:not(.table--email) td a{min-height:none;display:inline;margin-bottom:0;text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:2px;text-decoration-color:var(--colour-underline)}p a:hover,p a:focus,p a:active,ul a:hover,ul a:focus,ul a:active,ol a:hover,ol a:focus,ol a:active,dd a:hover,dd a:focus,dd a:active,.body a:hover,.body a:focus,.body a:active,table:not(.table--email) td a:hover,table:not(.table--email) td a:focus,table:not(.table--email) td a:active{text-decoration:none}p a:before,ul a:before,ol a:before,dd a:before,.body a:before,table:not(.table--email) td a:before{display:none}p a[target=_blank]:after,ul a[target=_blank]:after,ol a[target=_blank]:after,dd a[target=_blank]:after,.body a[target=_blank]:after,table:not(.table--email) td a[target=_blank]:after{margin-left:.25em;margin-right:.2em}/*# sourceMappingURL=links.css.map */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../sass/components/links.scss","../../sass/_functions/mixins.scss"],"names":[],"mappings":"AAEA,QCqCI,yBDlCF,qBACA,kBACA,mBACA,kBACA,qBACA,gBACA,YAEA,gGACE,WACA,kBACA,SACA,SACA,WACA,WCoBA,yCDlBA,mCACA,+BACA,2BACA,+BACA,uBAGF,sRAGE,SAGF,0HCKE,0BDCF,8ECDE,2BDOF,8IAGE,WACA,WACA,UACA,iBACA,oBACA,qBACA,wBACA,sBAEA,6BACA,oBACA,sBACA,kBAEA,qCACA,4BACA,8BACA,0BACA,8BAKF,yDACE,gBACA,eACA,gBACA,0BACA,2BACA,8BACA,8CAEA,6RAIE,qBAGF,mGAEE,aAGF,uLACE,kBACA","file":"links.css"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.modal{display:none}.modal:target{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.25);z-index:var(--index-overlay);border:none;overscroll-behavior:contain}.modal:target>a:first-child{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 512 512'%3e%3cg transform='rotate(45 256 256)'%3e%3crect id='r' x='16' y='216' width='480' height='80' rx='14'/%3e%3cuse href='%23r' transform='rotate(90 256 256)'/%3e%3c/g%3e%3c/svg%3e") 8 8,pointer}.modal:target>button{display:none}@media screen and (min-width: 62em){.modal:target>button{display:block;position:absolute;z-index:var(--index-focus);top:50%;transform:translate(0, -50%);overflow:hidden;text-indent:300%;width:2rem;height:2rem}.modal:target>button.btn:not(:hover):not(:focus){background-color:#fff}.modal:target>button.modal__dock--left{right:calc(50% + 25.625rem + 1rem)}.modal:target>button.modal__dock--left:after{transform:rotate(-180deg)}.modal:target>button.modal__dock--right{left:calc(50% + 25.625rem + 1rem)}}.modal:target.modal--left button.modal__dock--left{display:none}.modal:target.modal--left button.modal__dock--right{left:calc(40rem + 2rem)}.modal:target.modal--right button.modal__dock--right{display:none}.modal:target.modal--right button.modal__dock--left{right:calc(40rem + 2rem)}.modal__outer{position:absolute;top:50%;left:50%;width:90%;max-width:51.25rem;height:fit-content;max-height:90%;overflow:visible;transform:translate(-50%, -50%)}.modal__outer>.btn:first-child{position:absolute;top:0;right:0;margin-top:-0.75rem;margin-right:-0.75rem;z-index:var(--index-focus)}.modal__outer>.btn:first-child:not(:hover):not(:focus):not(:active){background:#fff}@media screen and (min-width: 62em){.modal--left .modal__outer{left:1rem;transform:translate(0, -50%);max-width:40rem}.modal--right .modal__outer{left:auto;right:1rem;transform:translate(0, -50%);max-width:40rem}}.modal__inner{background:#fff;overscroll-behavior:contain;height:fit-content;max-height:90vh;overflow:auto}.modal__inner>*:first-child{padding:1rem}@media screen and (min-width: 36em){.modal__inner>*:first-child{padding:2rem}}/*# sourceMappingURL=modal.css.map */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../sass/components/modal.scss","../../sass/_functions/mixins.scss"],"names":[],"mappings":"AAGA,OACE,aAGF,cACE,cACA,eACA,MACA,OACA,WACA,YACA,2BACA,6BACA,YACA,4BAEA,4BAEE,kBACA,MACA,OACA,WACA,YACA,UACA,qTAGF,qBACE,aCzBA,oCDwBF,qBAII,cACA,kBACA,2BACA,QACA,6BACA,gBACA,iBACA,WACA,YAEA,iDACE,sBAGF,uCACE,mCAEA,6CACE,0BAGJ,wCACE,mCAMN,mDACE,aAGF,oDACE,wBAGF,qDACE,aAGF,oDACE,yBAKJ,cAEE,kBACA,QACA,SACA,UACA,mBACA,mBACA,eACA,iBACA,gCAEA,+BACE,kBACA,MACA,QACA,oBACA,sBACA,2BAEA,oEACE,gBC/FF,oCDmGA,2BACE,UACA,6BACA,gBAGF,4BACE,UACA,WACA,6BACA,iBAKN,cACE,gBACA,4BACA,mBACA,gBACA,cAEA,4BAEE,aC3HA,oCDyHF,4BAKI","file":"modal.css"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.admin-panel{--panel-gutter: 1rem;--panel-tab-colour: #fafafa;background:var(--body-bg);padding:0 var(--panel-gutter) 0 var(--panel-gutter);border:1px solid var(--colour-border-light);border-top:3px solid var(--colour-secondary);margin-bottom:2rem}.admin-panel.bg-secondary{background-color:rgba(180,230,165,.3) !important}@media screen and (prefers-color-scheme: dark){.admin-panel{--panel-tab-colour: transparent}}@media screen and (min-width: 62em){.admin-panel{--panel-gutter: 1.5rem}}.admin-panel:empty{display:none}.admin-panel>*:not(.note-feed):first-child{margin-top:var(--panel-gutter)}.admin-panel>*:last-child:not(details){margin-bottom:var(--panel-gutter)}.admin-panel>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):first-child{border-bottom:2px solid var(--colour-border-light);font-size:var(--fs-4);line-height:1;letter-spacing:1;padding:var(--panel-gutter) var(--panel-gutter) var(--panel-gutter) var(--panel-gutter);margin:0 calc(var(--panel-gutter)*-1) var(--panel-gutter) calc(var(--panel-gutter)*-1);display:block}.admin-panel>.table__wrapper,.admin-panel>.note-feed>.table__wrapper,.admin-panel>.tabs>details>.table__wrapper{margin:0 calc(var(--panel-gutter)*-1) var(--panel-gutter) calc(var(--panel-gutter)*-1);padding:0 var(--panel-gutter) 0 var(--panel-gutter);min-width:calc(100% + var(--panel-gutter) + var(--panel-gutter))}.admin-panel>.table__wrapper table,.admin-panel>.note-feed>.table__wrapper table,.admin-panel>.tabs>details>.table__wrapper table{margin:0 calc(var(--panel-gutter)*-1) var(--panel-gutter) calc(var(--panel-gutter)*-1);min-width:calc(100% + var(--panel-gutter) + var(--panel-gutter));padding-right:0}.admin-panel>.table__wrapper tr :is(th,td),.admin-panel>.note-feed>.table__wrapper tr :is(th,td),.admin-panel>.tabs>details>.table__wrapper tr :is(th,td){padding-left:var(--panel-gutter);padding-right:var(--panel-gutter)}.admin-panel>.table__wrapper:first-child,.admin-panel>.note-feed>.table__wrapper:first-child,.admin-panel>.tabs>details>.table__wrapper:first-child{margin-top:0}.admin-panel>.table__wrapper:first-child thead tr:first-child,.admin-panel>.note-feed>.table__wrapper:first-child thead tr:first-child,.admin-panel>.tabs>details>.table__wrapper:first-child thead tr:first-child{border-top:none}.admin-panel>.table__wrapper:last-child,.admin-panel>.note-feed>.table__wrapper:last-child,.admin-panel>.tabs>details>.table__wrapper:last-child{margin-bottom:0}.admin-panel>.table__wrapper:last-child tbody tr:last-child,.admin-panel>.note-feed>.table__wrapper:last-child tbody tr:last-child,.admin-panel>.tabs>details>.table__wrapper:last-child tbody tr:last-child{border-bottom:none}.admin-panel :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.admin-panel__links,.tabs__links)+:is(.table__wrapper,table,.note-feed){margin-top:calc(var(--panel-gutter)*-1)}.admin-panel :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.admin-panel__links,.tabs__links)+:is(.table__wrapper,table,.note-feed) tr:first-child{border-top:none}[class*=col] .admin-panel:first-child:last-child{min-height:calc(100% - 2rem)}.admin-panel .admin-panel__links{margin-top:-3px !important;margin-left:calc(var(--panel-gutter)*-1);margin-right:calc(var(--panel-gutter)*-1);display:flex;flex-direction:column;background-color:var(--body-bg);border-bottom:2px solid var(--colour-border-light);margin-bottom:var(--panel-gutter)}@media screen and (min-width: 36em){.admin-panel .admin-panel__links{flex-direction:row;border-top:1px solid var(--colour-border-light)}}.admin-panel .admin-panel__links :is(a,label){padding:var(--panel-gutter);margin:0;width:100%;background:var(--panel-tab-colour);border-top:1px solid var(--colour-border-light);border-left:3px solid var(--panel-tab-border, #fafafa)}.admin-panel .admin-panel__links :is(a,label):before{display:none}@media screen and (min-width: 36em){.admin-panel .admin-panel__links :is(a,label){margin-right:0 !important;border-top:3px solid var(--panel-tab-border, #fafafa)}.admin-panel .admin-panel__links :is(a,label):first-child{border-left:none !important}.admin-panel .admin-panel__links :is(a,label):not(:first-child){border-left:1px solid var(--colour-border-light) !important}}.admin-panel .admin-panel__links .current{--is-current: 1;--panel-tab-colour: var(--body-bg);--panel-tab-border: var(--colour-secondary);pointer-events:none}/*# sourceMappingURL=panel.css.map */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../sass/components/panel.scss","../../sass/_functions/mixins.scss"],"names":[],"mappings":"AAEA,aACE,qBACA,4BACA,0BAiBA,oDACA,4CACA,6CACA,mBAlBA,0BAEE,iDAGF,+CAVF,aAYI,iCCRA,oCDJJ,aAiBI,wBAQF,mBACE,aAGF,2CACE,+BAGF,uCACE,kCAGF,wEACE,mDACA,sBACA,cACA,iBACA,wFACA,uFACA,cAGF,gHAIE,uFACA,oDACA,iEAEA,kIAEE,uFACA,iEACA,gBAKA,0JACE,iCACA,kCAIJ,oJACE,aAEA,mNAEE,gBAIJ,iJACE,gBAEA,6MAEE,mBAMN,mIACE,wCAEA,kJAEE,gBAKN,iDAEE,6BAGF,iCAEE,2BACA,yCACA,0CACA,aACA,sBACA,gCACA,mDACA,kCC9GE,oCDqGJ,iCAaI,mBACA,iDAGF,8CACE,4BACA,SACA,WACA,mCACA,gDACA,uDAEA,qDACE,aC/HF,oCDsHF,8CAcI,0BAWA,sDATA,0DACE,4BAGF,gEAEE,6DAON,0CAEE,gBACA,mCACA,4CACA","file":"panel.css"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
table{--border-width: 2px;--inner-border-width: 1px;width:100%;font-size:1rem;border:none;margin-bottom:2rem;overflow:auto}td,th{padding:1rem 2rem 1rem 0;font-weight:normal;text-align:left;vertical-align:top;border:none;font-size:1rem;line-height:1.5rem;color:var(--colour-body)}td:first-child,th:first-child{padding-left:0.5rem}th{font-weight:bold;color:var(--colour-heading)}tr{border-bottom:var(--inner-border-width) solid currentColor;border-color:var(--colour-border)}tr:last-child{border-bottom:var(--border-width) solid currentColor;border-color:var(--colour-border)}thead tr:first-child{border-top:var(--border-width) solid currentColor;border-color:var(--colour-border)}thead th{font-size:1rem;line-height:1.5rem;padding-bottom:1.5rem;font-weight:bold;vertical-align:bottom}@media screen and (min-width: 36em){thead th{font-size:1.125rem;white-space:nowrap}}tbody:first-child tr:first-child{border-top:var(--border-width) solid currentColor;border-color:var(--colour-border)}.table__wrapper.border-0 table,table.border-0{--border-width: 0px;--inner-border-width: 0px}.table__wrapper{display:block;width:calc(100% + 1rem);padding-right:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;margin-bottom:2rem}.table__wrapper table{margin-bottom:0;display:table;overflow:hidden}@media screen and (max-width: 36em){.table__wrapper:not(.table-fullwidth):not(.client-table){overflow:hidden}.table__wrapper:not(.table-fullwidth):not(.client-table) thead{display:none}.table__wrapper:not(.table-fullwidth):not(.client-table) tbody{display:block;border-top:2px solid currentColor;border-color:var(--colour-border)}.table__wrapper:not(.table-fullwidth):not(.client-table) tr{display:block;position:relative;padding-top:1rem;padding-bottom:1rem}.table__wrapper:not(.table-fullwidth):not(.client-table) td,.table__wrapper:not(.table-fullwidth):not(.client-table) th{display:block;padding-right:0;padding-top:0;padding-left:0.5rem}.table__wrapper:not(.table-fullwidth):not(.client-table) td[data-label]:before,.table__wrapper:not(.table-fullwidth):not(.client-table) th[data-label]:before{content:attr(data-label);color:var(--colour-heading);padding:0;margin-bottom:0;display:block;font-weight:bold;margin:0}.table__wrapper:not(.table-fullwidth):not(.client-table).table-minify tr:not(:hover) td:not(:first-child){display:none}}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.1)}.bg-light .table-striped tbody tr:nth-of-type(odd){background-color:var(--colour-white)}.table-hover tbody tr:hover,.table-hover tbody tr:focus{background-color:rgba(0,0,0,.2)}[data-sortable]{cursor:pointer;position:relative;user-select:none;padding-right:3.5rem}[data-sortable]:hover{color:var(--colour-hover)}[data-sortable]:after{content:"";position:absolute;top:0;right:0;width:3.5rem;height:4rem;display:block;mask-image:var(--icon-sort);mask-size:.6rem .8rem;mask-repeat:no-repeat;mask-position:calc(100% - 1.5rem) calc(50% - .25rem);-webkit-mask-image:var(--icon-sort);-webkit-mask-size:.6rem .8rem;-webkit-mask-repeat:no-repeat;-webkit-mask-position:calc(100% - 1.5rem) calc(50% - .25rem);background-color:currentColor}[data-sortable][aria-sort=ascending]:after{--icon-sort: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath opacity='.3' d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E")}[data-sortable][aria-sort=descending]:after{--icon-sort: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath opacity='.3' d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E")}.table__pagination select{max-width:15rem}.table__pagination .showing-input-field{min-width:4.5rem}.table__pagination .page-number{min-width:7rem}.table-order-reset{cursor:pointer;position:relative;width:1rem;overflow:hidden;text-indent:-200%}.table-order-reset:hover{color:var(--colour-hover)}.table-order-reset:after{content:"#";position:absolute;left:.5rem;top:1rem;text-indent:0}[data-reorder] tr[draggable]{cursor:move}[data-reorder] tr[draggable]:hover,[data-reorder] tr[draggable]:focus{background-color:rgba(0,0,0,.2)}[data-reorder] tr[draggable].tr--dragging{background:var(--colour-muted)}[data-reorder] tr[draggable].tr--dropable{background-color:rgba(0,0,0,.2)}.note-feed td:last-child{min-width:20rem}/*# sourceMappingURL=tables.css.map */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../sass/components/tables.scss","../../sass/_functions/mixins.scss"],"names":[],"mappings":"AAGA,MACE,oBACA,0BACA,WACA,eACA,YACA,mBACA,cAGF,MACE,yBACA,mBACA,gBACA,mBACA,YACA,eACA,mBACA,yBAEA,8BACE,oBAIJ,GACE,iBCUE,4BDNJ,GACE,2DCKE,kCDFF,cACE,qDCCA,kCDKF,qBACE,kDCNA,kCDUF,SACE,eACA,mBACA,sBAQA,iBACA,sBCvDA,oCD2CF,SAOI,mBACA,oBASJ,iCACE,kDC5BA,kCDiCJ,8CAGE,oBACA,0BAMF,gBACE,cACA,wBACA,mBACA,gBACA,iCACA,4CACA,mBAEA,sBACE,gBACA,cACA,gBAMJ,oCACE,yDAEE,gBAEA,+DACE,aAGF,+DACE,cACA,kCCxEF,kCD4EA,4DACE,cACA,kBACA,iBACA,oBAGF,wHAEE,cACA,gBACA,cACA,oBAEA,8JACE,yBACA,4BACA,UACA,gBACA,cACA,iBACA,SAKF,0GACE,cASR,yCAEE,gCAEA,mDCpHE,qCD6HF,wDAEE,gCAOJ,gBAEE,eACA,kBACA,iBACA,qBAEA,sBACE,0BAGJ,sBAEE,WACA,kBACA,MACA,QACA,aACA,YACA,cACA,4BACA,sBACA,sBACA,qDAEA,oCACA,8BACA,8BACA,6DACA,8BAGF,2CACE,mQAGF,4CACE,mQAKF,0BACE,gBAEF,wCACE,iBAEF,gCACE,eAKF,mBAEE,eACA,kBACA,WAMA,gBACA,kBALA,yBACE,0BAMF,yBACE,YACA,kBACA,WACA,SACA,cAIJ,6BAEE,YAEA,sEAEE,gCAGF,0CACE,+BAGF,0CAEE,gCASF,yBACE","file":"tables.css"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
const modal = (element) => {
|
|
3
|
-
const links = element.querySelectorAll('.modal__outer a, .modal__outer button');
|
|
4
|
-
const firstLink = links[0];
|
|
5
|
-
const lastLink = links[links.length - 1];
|
|
6
|
-
const modalID = element.getAttribute('id');
|
|
7
|
-
const closeModal = function () {
|
|
8
|
-
const button = document.querySelector('[href="' + window.location.hash + '"]');
|
|
9
|
-
button.focus();
|
|
10
|
-
window.location.hash = "close";
|
|
11
|
-
history.replaceState("", document.title, window.location.pathname + window.location.search);
|
|
12
|
-
// If there is more than one video lets make sure there is only one playing at a time.
|
|
13
|
-
if (typeof window.player != "undefined" && typeof window.player.pauseVideo == "function")
|
|
14
|
-
window.player.pauseVideo();
|
|
15
|
-
};
|
|
16
|
-
// Trap the tab focus inside
|
|
17
|
-
element.addEventListener('keydown', function (e) {
|
|
18
|
-
if (e.key === "Tab" && e.shiftKey && document.activeElement == firstLink) {
|
|
19
|
-
e.preventDefault();
|
|
20
|
-
lastLink.focus();
|
|
21
|
-
}
|
|
22
|
-
else if (e.key === "Tab" && !e.shiftKey && document.activeElement == lastLink) {
|
|
23
|
-
e.preventDefault();
|
|
24
|
-
firstLink.focus();
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
// ESC will close the open modal
|
|
28
|
-
document.addEventListener("keydown", function (e) {
|
|
29
|
-
if (e.key === "Escape" && document.querySelector('.modal:target'))
|
|
30
|
-
closeModal();
|
|
31
|
-
});
|
|
32
|
-
element.addEventListener('click', function (e) {
|
|
33
|
-
for (var target = e.target; target && target != this; target = target.parentNode) {
|
|
34
|
-
// Close links will close the model by default but we want to remove the hash link also
|
|
35
|
-
if (target.matches('[href="#close"]')) {
|
|
36
|
-
e.preventDefault();
|
|
37
|
-
closeModal();
|
|
38
|
-
break;
|
|
39
|
-
}
|
|
40
|
-
// Dock the modal to the right or left to make the content behind readable
|
|
41
|
-
else if (target.matches('.modal__dock--right')) {
|
|
42
|
-
e.preventDefault();
|
|
43
|
-
if (!element.classList.contains('modal--left'))
|
|
44
|
-
element.classList.add('modal--right');
|
|
45
|
-
element.classList.remove('modal--left');
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
else if (target.matches('.modal__dock--left')) {
|
|
49
|
-
e.preventDefault();
|
|
50
|
-
if (!element.classList.contains('modal--right'))
|
|
51
|
-
element.classList.add('modal--left');
|
|
52
|
-
element.classList.remove('modal--right');
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
function locationHashChanged() {
|
|
58
|
-
if (location.hash === '#' + modalID) {
|
|
59
|
-
console.log("Modal is now open");
|
|
60
|
-
const videoButton = document.querySelector('.modal:target .modal__inner > .youtube-embed:first-child:last-child a');
|
|
61
|
-
console.log(videoButton);
|
|
62
|
-
if (videoButton) {
|
|
63
|
-
videoButton.click();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
window.onhashchange = locationHashChanged;
|
|
68
|
-
};
|
|
69
|
-
export default modal;
|