@soton.ac.uk/cape3 0.0.1 → 0.2.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.
@@ -0,0 +1,266 @@
1
+ {
2
+ "properties": {
3
+ "title": "Cape Example Dataset",
4
+ "idField": "record_number",
5
+ "sortableFields": [
6
+ "title",
7
+ "date"
8
+ ],
9
+ "resultMode": "filter",
10
+ "metadata": {
11
+ "license": {
12
+ "url": "https://creativecommons.org/licenses/by/3.0/",
13
+ "title": "Creative Commons Attribution 3.0 Unported (CC BY 3.0)"
14
+ },
15
+ "copyright": {
16
+ "url": "https://www.southampton.ac.uk/",
17
+ "title": "University of Southampton"
18
+ },
19
+ "creators": [
20
+ {
21
+ "name": "Christopher Gutteridge",
22
+ "email": "totl@soton.ac.uk"
23
+ }
24
+ ],
25
+ "attribution": {
26
+ "title": "University of Southampton",
27
+ "url": "https://www.southampton.ac.uk/"
28
+ }
29
+ },
30
+ "extraPages": [
31
+ "foo",
32
+ "bar"
33
+ ]
34
+ },
35
+ "records": [
36
+ {
37
+ "record_number": 1,
38
+ "auto": 1,
39
+ "date": "2001-01-01",
40
+ "title": "Record One",
41
+ "size": "Small",
42
+ "colour": [
43
+ "Red",
44
+ "Blue"
45
+ ],
46
+ "weight": 23,
47
+ "likes": [
48
+ "Pizza",
49
+ "Chips",
50
+ "Wine",
51
+ "Beer"
52
+ ],
53
+ "foods": [
54
+ "Pizza",
55
+ "Chips"
56
+ ],
57
+ "drinks": [
58
+ "Wine",
59
+ "Beer"
60
+ ],
61
+ "colour3": [
62
+ "Red",
63
+ "Blu"
64
+ ]
65
+ },
66
+ {
67
+ "record_number": 2,
68
+ "auto": 2,
69
+ "date": "2002-02-02",
70
+ "title": "Record Two",
71
+ "size": "Medium",
72
+ "colour": [
73
+ "Red",
74
+ "Yellow"
75
+ ],
76
+ "weight": 99,
77
+ "likes": [
78
+ "Chips",
79
+ "Water",
80
+ "Pop"
81
+ ],
82
+ "foods": [
83
+ "Chips"
84
+ ],
85
+ "drinks": [
86
+ "Water",
87
+ "Pop"
88
+ ],
89
+ "colour3": [
90
+ "Red",
91
+ "Yel"
92
+ ]
93
+ },
94
+ {
95
+ "record_number": 3,
96
+ "auto": 3,
97
+ "date": "2003-04-05",
98
+ "title": "Record Three",
99
+ "size": "Large",
100
+ "colour": [
101
+ "Red"
102
+ ],
103
+ "weight": 66,
104
+ "likes": [
105
+ "Crème Brûlée",
106
+ "Beer"
107
+ ],
108
+ "foods": [
109
+ "Crème Brûlée"
110
+ ],
111
+ "drinks": [
112
+ "Beer"
113
+ ],
114
+ "colour3": [
115
+ "Red"
116
+ ]
117
+ },
118
+ {
119
+ "record_number": 4,
120
+ "auto": 4,
121
+ "colour": [],
122
+ "likes": [],
123
+ "foods": [],
124
+ "drinks": [],
125
+ "colour3": []
126
+ }
127
+ ],
128
+ "fields": [
129
+ {
130
+ "id": "record_number",
131
+ "type": "integer",
132
+ "label": "Record number label",
133
+ "description": "Record number description",
134
+ "placeholderBetween": [
135
+ "Min",
136
+ "Max"
137
+ ],
138
+ "min": 1,
139
+ "max": 4
140
+ },
141
+ {
142
+ "id": "auto",
143
+ "type": "integer",
144
+ "label": "Auto label",
145
+ "description": "Auto description",
146
+ "placeholderBetween": [
147
+ "Min",
148
+ "Max"
149
+ ],
150
+ "min": 1,
151
+ "max": 4
152
+ },
153
+ {
154
+ "id": "date",
155
+ "type": "date",
156
+ "label": "Date label",
157
+ "description": "Date description",
158
+ "filterDisplay": "quick",
159
+ "placeholderIs": "e.g. 2022-12-01",
160
+ "placeholderBetween": [
161
+ "e.g. 2022-12-01",
162
+ "e.g. 2022-12-31"
163
+ ],
164
+ "min": "2001-01-01",
165
+ "max": "2003-04-05"
166
+ },
167
+ {
168
+ "id": "title",
169
+ "type": "text",
170
+ "label": "Title label",
171
+ "description": "Title description"
172
+ },
173
+ {
174
+ "id": "size",
175
+ "type": "enum",
176
+ "label": "Size label",
177
+ "description": "Size description",
178
+ "filterInputStyleOnOneOf": "checkbox",
179
+ "values": [
180
+ "Large",
181
+ "Medium",
182
+ "Small"
183
+ ]
184
+ },
185
+ {
186
+ "id": "colour",
187
+ "type": "enum",
188
+ "label": "Colour label",
189
+ "isMultiple": true,
190
+ "description": "Colour description",
191
+ "values": [
192
+ "Blue",
193
+ "Red",
194
+ "Yellow"
195
+ ]
196
+ },
197
+ {
198
+ "id": "weight",
199
+ "type": "integer",
200
+ "label": "Weight label",
201
+ "description": "Weight description",
202
+ "filterDisplay": "hide",
203
+ "min": 23,
204
+ "max": 99,
205
+ "step": 5
206
+ },
207
+ {
208
+ "id": "likes",
209
+ "type": "enum",
210
+ "label": "Likes label",
211
+ "isMultiple": true,
212
+ "description": "Likes description",
213
+ "values": [
214
+ "Beer",
215
+ "Chips",
216
+ "Crème Brûlée",
217
+ "Pizza",
218
+ "Pop",
219
+ "Water",
220
+ "Wine"
221
+ ]
222
+ },
223
+ {
224
+ "id": "foods",
225
+ "type": "enum",
226
+ "label": "Foods label",
227
+ "isMultiple": true,
228
+ "description": "Foods description",
229
+ "filterInputStyleOnIs": "select",
230
+ "changeFilterMode": false,
231
+ "filterDisplay": "quick",
232
+ "values": [
233
+ "Chips",
234
+ "Crème Brûlée",
235
+ "Pizza"
236
+ ]
237
+ },
238
+ {
239
+ "id": "drinks",
240
+ "type": "enum",
241
+ "label": "Drinks label",
242
+ "isMultiple": true,
243
+ "description": "Drinks description",
244
+ "filterDisplay": "quick",
245
+ "defaultFilterMode": "is",
246
+ "values": [
247
+ "Beer",
248
+ "Pop",
249
+ "Water",
250
+ "Wine"
251
+ ]
252
+ },
253
+ {
254
+ "id": "colour3",
255
+ "type": "enum",
256
+ "label": "3 char Colour label",
257
+ "isMultiple": true,
258
+ "description": "Colour trimmed to 3 characters",
259
+ "values": [
260
+ "Blu",
261
+ "Red",
262
+ "Yel"
263
+ ]
264
+ }
265
+ ]
266
+ }
package/dist/site.css ADDED
@@ -0,0 +1,36 @@
1
+ /* This stylesheet is intended to be copied into the Cape-instance and modified to customise your site. */
2
+
3
+ :root {
4
+ --background-color: #fff;
5
+ /* if you are using the optional nav-tabs.css then this sets the colours */
6
+ --nav-border-color: #333;
7
+ --nav-background-text-color: #fff;
8
+ --nav-hover-text-color: #000;
9
+ --nav-hover-background-color: #ccf;
10
+ }
11
+
12
+ /* General styles */
13
+
14
+ body {
15
+ background-color: var(--background-color)
16
+ }
17
+
18
+
19
+ /* Values */
20
+
21
+ .cape-labelled-value-label {
22
+ display: inline-block;
23
+ font-weight: bold;
24
+ }
25
+
26
+ .cape-value {
27
+ display: inline-block;
28
+ }
29
+
30
+ .cape-labelled-value-label:after {
31
+ content: ':\00a0';
32
+ }
33
+
34
+ .cape-single-value a {
35
+ color: blue;
36
+ }
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .cape-home-page select{border-width:1px;--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding-left:.5rem;padding-right:.5rem}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.right-1{right:.25rem}.right-2{right:.5rem}.top-1{top:.25rem}.col-span-12{grid-column:span 12 / span 12}.col-span-6{grid-column:span 6 / span 6}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-10{margin-bottom:2.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-3{margin-right:.75rem}.mt-0{margin-top:0}.mt-10{margin-top:2.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.w-full{width:100%}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-between{justify-content:space-between}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-orange-300{--tw-bg-opacity: 1;background-color:rgb(253 186 116 / var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity: 1;background-color:rgb(252 165 165 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-2{padding:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-semibold{font-weight:600}.italic{font-style:italic}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@media (min-width: 640px){.sm\:block{display:block}.sm\:hidden{display:none}}@media (min-width: 768px){.md\:col-span-3{grid-column:span 3 / span 3}.md\:col-span-6{grid-column:span 6 / span 6}.md\:col-span-9{grid-column:span 9 / span 9}.md\:block{display:block}.md\:grid{display:grid}.md\:hidden{display:none}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:gap-4{gap:1rem}.md\:text-left{text-align:left}}@media (min-width: 1024px){.lg\:col-span-10{grid-column:span 10 / span 10}.lg\:col-span-8{grid-column:span 8 / span 8}.lg\:mx-32{margin-left:8rem;margin-right:8rem}.lg\:block{display:block}.lg\:hidden{display:none}}@media (min-width: 1280px){.xl\:block{display:block}.xl\:hidden{display:none}}@media (min-width: 1536px){.\32xl\:block{display:block}.\32xl\:hidden{display:none}}.cape-filters,.cape-filters-quick,.cape-filters-advanced{margin-top:1rem;margin-bottom:1rem;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;-moz-column-gap:.5rem;column-gap:.5rem}@media (min-width: 768px){.cape-filters,.cape-filters-quick,.cape-filters-advanced{row-gap:.5rem}}.cape-filter-label{grid-column:span 6 / span 6;text-align:right}@media (min-width: 768px){.cape-filter-label{grid-column:span 3 / span 3}}@media (min-width: 1024px){.cape-filter-label{grid-column:span 2 / span 2}}.cape-filter-label:after{content:": "}.cape-filter-mode{grid-column:span 6 / span 6;text-align:left}@media (min-width: 768px){.cape-filter-mode{grid-column:span 3 / span 3}}@media (min-width: 1024px){.cape-filter-mode{grid-column:span 2 / span 2}}.cape-filter-term{grid-column:span 12 / span 12;margin-bottom:1.5rem;text-align:center}@media (min-width: 768px){.cape-filter-term{grid-column:span 6 / span 6;margin-bottom:0;text-align:left}}@media (min-width: 1024px){.cape-filter-term{grid-column:span 8 / span 8}}.cape-filter-wide-term{grid-column:span 12 / span 12;margin-bottom:1.5rem;text-align:center}@media (min-width: 768px){.cape-filter-wide-term{grid-column:span 9 / span 9;margin-bottom:0;text-align:left}}@media (min-width: 1024px){.cape-filter-wide-term{grid-column:span 10 / span 10}}.cape-filter-term input,.cape-filter-wide-term input{border-width:1px;--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity));padding-left:.5rem;padding-right:.5rem}@media (min-width: 768px){.cape-filter-mode select{width:100%}}.cape-filter-mode select{padding:.15rem}.cape-non-prod-warning{position:relative}.cape-non-prod-warning-close-button{position:absolute;top:.25rem;right:.5rem;cursor:pointer}.cape-sort-order-field{margin-right:.5rem}.cape-results-controls{margin-top:.125rem;--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity));padding:.5rem}.cape-show-all-results-toggle{margin-left:.5rem}.cape-results{margin-top:2rem}.cape-value-multiple>li{display:inline-block}.cape-value-multiple>li:after{content:",";padding-right:.25rem}.cape-value-multiple>li:last-child:after{content:""}.cape-filter-field-text-term,.cape-filter-freetext-term{width:100%}.cape-filter-field-enum-one-of-checkbox li{margin-right:.75rem;display:inline-block}.cape-filter-field-enum-one-of-checkbox li label{margin-left:.25rem}fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:40px;height:38px;background:#fff;display:block}.multiselect__spinner:before,.multiselect__spinner:after{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border-color:#41b883 transparent transparent;border-style:solid;border-width:2px;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation-iteration-count:infinite}.multiselect__spinner:after{animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;touch-action:manipulation}.multiselect{box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;transition:border .1s ease;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:initial;width:22px;text-align:center;line-height:22px;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"×";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{line-height:16px;min-height:40px;box-sizing:border-box;display:block;overflow:hidden;padding:8px 30px 0 12px;white-space:nowrap;margin:0;text-decoration:none;border-radius:5px;border:1px solid #e8e8e8;cursor:pointer}.multiselect__select{line-height:16px;display:block;position:absolute;box-sizing:border-box;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;margin:0;text-decoration:none;text-align:center;cursor:pointer;transition:transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-style:solid;border-width:5px 5px 0 5px;border-color:#999 transparent transparent transparent;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-radius:5px 5px 0 0;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::-webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver;background:inherit}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}*[dir=rtl] .multiselect{text-align:right}*[dir=rtl] .multiselect__select{right:auto;left:1px}*[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}*[dir=rtl] .multiselect__content{text-align:right}*[dir=rtl] .multiselect__option:after{right:auto;left:0}*[dir=rtl] .multiselect__clear{right:auto;left:12px}*[dir=rtl] .multiselect__spinner{right:auto;left:1px}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}}.cape-filter-field-enum-is-select{border-width:1px;--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity));padding-left:.5rem;padding-right:.5rem;padding:.15rem}.cape-filter-field-enum-is-radio li{margin-right:.75rem;display:inline-block}.cape-filter-field-enum-is-radio li label{margin-left:.25rem}.cape-filter-field-integer-term{width:100%}.cape-filter-field-integer-term-term-and{margin-left:.25rem;margin-right:.25rem;display:inline-block}.cape-filter-field-date-term-term{width:100%}.cape-filter-field-date-term-term-and{margin-left:.25rem;margin-right:.25rem;display:inline-block}.cape-warning{margin-top:1.25rem;margin-bottom:1.25rem;--tw-bg-opacity: 1;background-color:rgb(253 186 116 / var(--tw-bg-opacity));padding:.5rem}.cape-error{margin-top:1.25rem;margin-bottom:1.25rem;--tw-bg-opacity: 1;background-color:rgb(252 165 165 / var(--tw-bg-opacity));padding:.5rem}.cape-error h2{font-size:1.5rem;line-height:2rem;font-weight:700}.cape-button{background-color:#333;color:#fff;padding:0 .5rem}.cape-button:hover{background-color:#00f}
@@ -0,0 +1,30 @@
1
+ .cape-filter-controls {
2
+ text-align: right;
3
+ }
4
+
5
+ .cape-form-reset-button {
6
+ display: inline-block;
7
+ margin-left: 1rem;
8
+ }
9
+
10
+ .cape-advanced-search-toggle-control {
11
+ display: inline-block;
12
+ }
13
+
14
+ .cape-advanced-search-toggle {
15
+ margin-right: 0.25rem;
16
+ }
17
+
18
+ .cape-sort-order-controls {
19
+ display: inline-block;
20
+ }
21
+
22
+ .cape-sort-order-controls-container {
23
+ float: left;
24
+ margin-right: 2rem;
25
+ margin-left: 0.5rem;
26
+ margin-bottom: 1rem;
27
+ }
28
+ .cape-results-controls-top {
29
+ clear: left;
30
+ }
@@ -0,0 +1,34 @@
1
+
2
+ /* Tabbed Navigation Bar */
3
+
4
+ .cape-navigation-items {
5
+ margin: 1rem 0 1rem 0;
6
+ border-bottom: 2px solid var(--nav-border-color);
7
+ padding-left: 1rem;
8
+ }
9
+
10
+ .cape-navigation-item {
11
+ display: inline-block;
12
+ margin-bottom: -2px;
13
+ margin-right: 0.5rem;
14
+ }
15
+
16
+ .cape-navigation-link {
17
+ border: solid 2px var(--nav-border-color);
18
+ background-color: var(--nav-border-color);
19
+ padding: 0 0.5rem;
20
+ color: #fff;
21
+ display: inline-block;
22
+ }
23
+
24
+ a.cape-navigation-link:hover {
25
+ color: var(--nav-hover-text-color);
26
+ background-color: var(--nav-hover-background-color);
27
+ border-bottom: 2px solid var(--nav-hover-background-color);
28
+ }
29
+
30
+ a.cape-navigation-link.active {
31
+ background-color: inherit;
32
+ color: #000;
33
+ border-bottom: 2px solid var(--background-color);
34
+ }
@@ -0,0 +1,5 @@
1
+ /*
2
+ This Stylesheet loads all the recommended CSS, but you can load each file separately if you want more control.
3
+ */
4
+ @import "cape-navigation-tabs.css";
5
+ @import "cape-homepage-layout.css";
package/package.json CHANGED
@@ -1,80 +1,82 @@
1
- {
2
- "name": "@soton.ac.uk/cape3",
3
- "version": "0.0.1",
4
- "private": false,
5
- "type": "module",
6
- "main": "./dist/cape3.umd.js",
7
- "module": "./dist/cape3.es.js",
8
- "exports": {
9
- ".": {
10
- "import": "./dist/cape3.es.js",
11
- "require": "./dist/cape3.umd.js",
12
- "types": "./dist/index.d.ts"
13
- },
14
- "./styles": "./dist/style.css"
15
- },
16
- "browser": {
17
- "./styles.css": "./dist/style.css"
18
- },
19
- "types": "./dist/index.d.ts",
20
- "files": [
21
- "dist"
22
- ],
23
- "scripts": {
24
- "start": "vite --port 4118",
25
- "stop-on-unix": "kill $(lsof -t -i:4118)",
26
- "stop-on-win": "FOR /F \"tokens=5\" %a in ('netstat -aon ^| findstr :4118') do taskkill /F /PID %a",
27
- "dev": "vite",
28
- "build": "run-p type-check \"build-only {@}\" --",
29
- "preview": "vite preview",
30
- "test:unit": "vitest",
31
- "test:unit-ci": "vitest --reporter default --reporter junit --outputFile ./test/.output/unit-tests.xml --coverage",
32
- "test:coverage": "vitest --coverage --reporter junit --outputFile ./test/.output/unit-tests.xml",
33
- "test:e2e": "playwright test",
34
- "test:e2e-smoke": "playwright test ./e2e/smoke",
35
- "test:report": "playwright show-report",
36
- "test:ui": "vitest --ui",
37
- "build-only": "vite build",
38
- "type-check": "vue-tsc --build --force",
39
- "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
40
- "lint:ci": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --ignore-path .gitignore",
41
- "format": "prettier --write src/"
42
- },
43
- "dependencies": {
44
- "moment": "^2.30.1",
45
- "pinia": "^2.1.7",
46
- "uuid": "^9.0.1",
47
- "vue": "^3.3.11",
48
- "vue-router": "^4.2.5"
49
- },
50
- "devDependencies": {
51
- "@pinia/testing": "^0.1.3",
52
- "@playwright/test": "^1.40.1",
53
- "@rushstack/eslint-patch": "^1.3.3",
54
- "@tsconfig/node18": "^18.2.2",
55
- "@types/jsdom": "^21.1.6",
56
- "@types/node": "^18.19.3",
57
- "@types/uuid": "^9.0.8",
58
- "@vitejs/plugin-vue": "^4.5.2",
59
- "@vitest/coverage-v8": "^1.2.1",
60
- "@vitest/ui": "^1.2.2",
61
- "@vue/eslint-config-prettier": "^8.0.0",
62
- "@vue/eslint-config-typescript": "^12.0.0",
63
- "@vue/test-utils": "^2.4.3",
64
- "@vue/tsconfig": "^0.5.0",
65
- "autoprefixer": "^10.4.17",
66
- "eslint": "^8.49.0",
67
- "eslint-plugin-vue": "^9.17.0",
68
- "jsdom": "^23.0.1",
69
- "npm-run-all2": "^6.1.1",
70
- "postcss": "^8.4.35",
71
- "postcss-cli": "^11.0.0",
72
- "prettier": "3.0.3",
73
- "rollup-plugin-typescript2": "^0.36.0",
74
- "tailwindcss": "^3.4.1",
75
- "typescript": "~5.3.0",
76
- "vite": "^5.0.10",
77
- "vitest": "^1.0.4",
78
- "vue-tsc": "^1.8.25"
79
- }
80
- }
1
+ {
2
+ "name": "@soton.ac.uk/cape3",
3
+ "version": "0.2.0",
4
+ "private": false,
5
+ "type": "module",
6
+ "main": "./dist/cape3.umd.js",
7
+ "module": "./dist/cape3.es.js",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/cape3.es.js",
11
+ "require": "./dist/cape3.umd.js",
12
+ "types": "./dist/index.d.ts"
13
+ },
14
+ "./styles": "./dist/style.css"
15
+ },
16
+ "browser": {
17
+ "./styles.css": "./dist/style.css"
18
+ },
19
+ "types": "./dist/index.d.ts",
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "scripts": {
24
+ "start": "vite --port 4118",
25
+ "stop-on-unix": "kill $(lsof -t -i:4118)",
26
+ "stop-on-win": "FOR /F \"tokens=5\" %a in ('netstat -aon ^| findstr :4118') do taskkill /F /PID %a",
27
+ "dev": "vite",
28
+ "build": "run-p type-check \"build-only {@}\" --",
29
+ "preview": "vite preview",
30
+ "test:unit": "vitest",
31
+ "test:unit-ci": "vitest --reporter default --reporter junit --outputFile ./test/.output/unit-tests.xml --coverage",
32
+ "test:coverage": "vitest --coverage --reporter junit --outputFile ./test/.output/unit-tests.xml",
33
+ "test:e2e": "playwright test",
34
+ "test:e2e-smoke": "playwright test ./e2e/smoke",
35
+ "test:report": "playwright show-report",
36
+ "test:ui": "vitest --ui",
37
+ "build-only": "vite build",
38
+ "type-check": "vue-tsc --build --force",
39
+ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
40
+ "lint:ci": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --ignore-path .gitignore",
41
+ "format": "prettier --write src/",
42
+ "prchecks": "npm run build && npm run lint && vitest run && npm run test:e2e-smoke"
43
+ },
44
+ "dependencies": {
45
+ "moment": "^2.30.1",
46
+ "pinia": "^2.1.7",
47
+ "uuid": "^9.0.1",
48
+ "vue": "^3.3.11",
49
+ "vue-multiselect": "^3.0.0-beta.3",
50
+ "vue-router": "^4.2.5"
51
+ },
52
+ "devDependencies": {
53
+ "@pinia/testing": "^0.1.3",
54
+ "@playwright/test": "^1.40.1",
55
+ "@rushstack/eslint-patch": "^1.3.3",
56
+ "@tsconfig/node18": "^18.2.2",
57
+ "@types/jsdom": "^21.1.6",
58
+ "@types/node": "^18.19.3",
59
+ "@types/uuid": "^9.0.8",
60
+ "@vitejs/plugin-vue": "^4.5.2",
61
+ "@vitest/coverage-v8": "^1.2.1",
62
+ "@vitest/ui": "^1.2.2",
63
+ "@vue/eslint-config-prettier": "^8.0.0",
64
+ "@vue/eslint-config-typescript": "^12.0.0",
65
+ "@vue/test-utils": "^2.4.3",
66
+ "@vue/tsconfig": "^0.5.0",
67
+ "autoprefixer": "^10.4.17",
68
+ "eslint": "^8.49.0",
69
+ "eslint-plugin-vue": "^9.17.0",
70
+ "jsdom": "^23.0.1",
71
+ "npm-run-all2": "^6.1.1",
72
+ "postcss": "^8.4.35",
73
+ "postcss-cli": "^11.0.0",
74
+ "prettier": "3.0.3",
75
+ "rollup-plugin-typescript2": "^0.36.0",
76
+ "tailwindcss": "^3.4.1",
77
+ "typescript": "~5.3.0",
78
+ "vite": "^5.0.10",
79
+ "vitest": "^1.0.4",
80
+ "vue-tsc": "^1.8.25"
81
+ }
82
+ }