@soton.ac.uk/cape3 0.8.0 → 0.10.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/dist/index.d.ts CHANGED
@@ -1,12 +1,24 @@
1
1
  export { default as createCapeApp } from './createCapeApp';
2
2
  export { default as CapePlugin } from './plugins/CapePlugin';
3
+ export { type CapeOptions } from './plugins/CapeOptions';
3
4
  export { useFilterStore } from "./stores/filterStore";
4
5
  export { useDatasetStore } from "./stores/datasetStore";
5
6
  export { useFieldStore } from "./stores/fieldStore";
6
7
  export { usePropertyStore } from "./stores/propertyStore";
7
8
  export { useSearchResultsStore } from "./stores/searchResultsStore";
8
9
  export { Filter } from "./filters/Filter";
9
- export { type CapeOptions } from './plugins/CapeOptions';
10
- export { type FieldValuePair } from './model/processed/FieldValuePair';
11
10
  export { type RecordModel } from './model/processed/RecordModel';
11
+ export { type FieldValuePair } from './model/processed/FieldValuePair';
12
+ export { type EnvironmentMode } from './model/EnvironmentMode';
13
+ export { type CapeAgent } from './model/unprocessed/CapeAgent';
14
+ export { type CapeDataset } from './model/unprocessed/CapeDataset';
15
+ export { type CapeDateField } from './model/unprocessed/CapeDateField';
16
+ export { type CapeEnumField } from './model/unprocessed/CapeEnumField';
17
+ export { type CapeField } from './model/unprocessed/CapeField';
12
18
  export { type CapeFieldValue } from './model/unprocessed/CapeFieldValue';
19
+ export { type CapeIntegerField } from './model/unprocessed/CapeIntegerField';
20
+ export { type CapeMetadata } from './model/unprocessed/CapeMetadata';
21
+ export { type CapeNamedLink } from './model/unprocessed/CapeNamedLink';
22
+ export { type CapeProperties } from './model/unprocessed/CapeProperties';
23
+ export { type CapeRecord } from './model/unprocessed/CapeRecord';
24
+ export { type CapeTextField } from './model/unprocessed/CapeTextField';
@@ -0,0 +1 @@
1
+ export type EnvironmentMode = "DEV" | "PPRD" | "PROD" | "UNKNOWN";
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Information about an agent.
3
+ * We are using the FOAF semantics definition of Agent: http://xmlns.com/foaf/0.1/#term_Agent
4
+ */
5
+ export interface CapeAgent {
6
+ name?: string;
7
+ email?: string;
8
+ }
@@ -0,0 +1,11 @@
1
+ import type { CapeField } from './CapeField';
2
+ import type { CapeRecord } from './CapeRecord';
3
+ import type { CapeProperties } from './CapeProperties';
4
+ /**
5
+ * A single dataset in the site-data.json
6
+ */
7
+ export interface CapeDataset {
8
+ fields: CapeField[];
9
+ records: CapeRecord[];
10
+ properties: CapeProperties;
11
+ }
@@ -0,0 +1,10 @@
1
+ import type { CapeField } from './CapeField';
2
+ import type { DateFilterMode } from '../DateFilterMode';
3
+ export interface CapeDateField extends CapeField {
4
+ type: 'date';
5
+ placeholderIs?: string;
6
+ placeholderBetween?: [string, string];
7
+ defaultFilterMode?: DateFilterMode;
8
+ min?: string;
9
+ max?: string;
10
+ }
@@ -0,0 +1,9 @@
1
+ import type { CapeField } from './CapeField';
2
+ import type { EnumFilterMode } from '../EnumFilterMode';
3
+ export interface CapeEnumField extends CapeField {
4
+ type: 'enum';
5
+ defaultFilterMode?: EnumFilterMode;
6
+ filterInputStyleOnIs?: 'radio' | 'select';
7
+ filterInputStyleOnOneOf?: 'checkbox' | 'multiselect';
8
+ values: string[];
9
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * A single field in the site-data.json
3
+ */
4
+ import type { FilterDisplayOptions } from '../FilterDisplayOptions';
5
+ /**
6
+ * A single field definition in the config.json file. These are only the methods on all types.
7
+ * It is extended for each subtype.
8
+ */
9
+ export interface CapeField {
10
+ id: string;
11
+ type: 'text' | 'enum' | 'integer' | 'date';
12
+ isMultiple?: boolean;
13
+ label: string;
14
+ description?: string;
15
+ filterDisplay?: FilterDisplayOptions;
16
+ changeFilterMode?: boolean;
17
+ default?: string | string[];
18
+ }
@@ -0,0 +1,11 @@
1
+ import type { CapeField } from './CapeField';
2
+ import type { IntegerFilterMode } from '../IntegerFilterMode';
3
+ export interface CapeIntegerField extends CapeField {
4
+ type: 'integer';
5
+ placeholderIs?: string;
6
+ placeholderBetween?: [string, string];
7
+ defaultFilterMode?: IntegerFilterMode;
8
+ min?: number;
9
+ max?: number;
10
+ step?: number;
11
+ }
@@ -0,0 +1,11 @@
1
+ import type { CapeNamedLink } from './CapeNamedLink';
2
+ import type { CapeAgent } from './CapeAgent';
3
+ /**
4
+ * The metadata section in a dataset in site-data.json AND config.json
5
+ */
6
+ export interface CapeMetadata {
7
+ license?: CapeNamedLink;
8
+ copyright?: CapeNamedLink;
9
+ creators?: CapeAgent[];
10
+ attribution?: CapeNamedLink;
11
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * A URL with a title
3
+ */
4
+ export interface CapeNamedLink {
5
+ title: string;
6
+ url: string;
7
+ }
@@ -0,0 +1,11 @@
1
+ import type { CapeMetadata } from './CapeMetadata';
2
+ /**
3
+ * A single dataset in the site-data.json
4
+ */
5
+ export interface CapeProperties {
6
+ title: string;
7
+ idField: string;
8
+ sortableFields: string[];
9
+ metadata?: CapeMetadata;
10
+ resultMode: "search" | "filter";
11
+ }
@@ -0,0 +1,6 @@
1
+ import type { CapeFieldValue } from './CapeFieldValue';
2
+ /**
3
+ * A single dataset in the site-data.json
4
+ * The string is the ID of a CapeField, defined in the dataset.
5
+ */
6
+ export type CapeRecord = Record<string, CapeFieldValue>;
@@ -0,0 +1,8 @@
1
+ import type { CapeField } from './CapeField';
2
+ import type { TextFilterMode } from '../TextFilterMode';
3
+ export interface CapeTextField extends CapeField {
4
+ type: 'text';
5
+ placeholderIs?: string;
6
+ placeholderContains?: string;
7
+ defaultFilterMode?: TextFilterMode;
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soton.ac.uk/cape3",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/cape3.umd.js",