@mat3ra/prode 2025.11.25-0 → 2026.2.25-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.
@@ -19,6 +19,7 @@ import PhononDispersionsProperty from "./properties/non-scalar/PhononDispersions
19
19
  import PhononDOSProperty from "./properties/non-scalar/PhononDOSProperty";
20
20
  import PotentialProfileProperty from "./properties/non-scalar/PotentialProfileProperty";
21
21
  import ReactionEnergyProfileProperty from "./properties/non-scalar/ReactionEnergyProfileProperty";
22
+ import WavefunctionAmplitudeProperty from "./properties/non-scalar/WavefunctionAmplitudeProperty";
22
23
  import WorkflowProperty from "./properties/non-scalar/WorkflowProperty";
23
24
  import TotalEnergyContributionsProperty from "./properties/object/TotalEnergyContributionsProperty";
24
25
  import FermiEnergyProperty from "./properties/scalar/FermiEnergyProperty";
@@ -47,7 +48,7 @@ export default class PropertyFactory {
47
48
  static getScalarPropertyNames(): PropertyName[];
48
49
  static getNonScalarPropertyNames(): PropertyName[];
49
50
  private static filterPropertyNames;
50
- static createProperty(config: AnyProperty): AveragePotentialProfileProperty | BandGapsProperty | BandStructureProperty | ChargeDensityProfileProperty | ConvergenceElectronicProperty | ConvergenceIonicProperty | DensityOfStatesProperty | DielectricTensorProperty | FileContentProperty | FinalStructureProperty | HubbardUProperty | HubbardVNNProperty | HubbardVProperty | IsRelaxedProperty | JupyterNotebookEndpointProperty | PhononDispersionsProperty | PhononDOSProperty | PotentialProfileProperty | ReactionEnergyProfileProperty | WorkflowProperty | TotalEnergyContributionsProperty | FermiEnergyProperty | IonizationPotentialElementalProperty | PressureProperty | ReactionEnergyBarrierProperty | SurfaceEnergyProperty | TotalEnergyProperty | TotalForcesProperty | ValenceBandOffsetProperty | ZeroPointEnergyProperty | AtomicForcesProperty | MagneticMomentsProperty | StressTensorProperty;
51
+ static createProperty(config: AnyProperty): AveragePotentialProfileProperty | BandGapsProperty | BandStructureProperty | ChargeDensityProfileProperty | ConvergenceElectronicProperty | ConvergenceIonicProperty | DensityOfStatesProperty | DielectricTensorProperty | FileContentProperty | FinalStructureProperty | HubbardUProperty | HubbardVNNProperty | HubbardVProperty | IsRelaxedProperty | JupyterNotebookEndpointProperty | PhononDispersionsProperty | PhononDOSProperty | PotentialProfileProperty | ReactionEnergyProfileProperty | WavefunctionAmplitudeProperty | WorkflowProperty | TotalEnergyContributionsProperty | FermiEnergyProperty | IonizationPotentialElementalProperty | PressureProperty | ReactionEnergyBarrierProperty | SurfaceEnergyProperty | TotalEnergyProperty | TotalForcesProperty | ValenceBandOffsetProperty | ZeroPointEnergyProperty | AtomicForcesProperty | MagneticMomentsProperty | StressTensorProperty;
51
52
  static createMetaProperty(config: AnyMetaProperty): MetaProperty;
52
53
  static createProtoProperty(config: AnyProtoProperty): AtomicConstraintsProperty | BoundaryConditionsProperty;
53
54
  }
@@ -23,6 +23,7 @@ const PhononDispersionsProperty_1 = __importDefault(require("./properties/non-sc
23
23
  const PhononDOSProperty_1 = __importDefault(require("./properties/non-scalar/PhononDOSProperty"));
24
24
  const PotentialProfileProperty_1 = __importDefault(require("./properties/non-scalar/PotentialProfileProperty"));
25
25
  const ReactionEnergyProfileProperty_1 = __importDefault(require("./properties/non-scalar/ReactionEnergyProfileProperty"));
26
+ const WavefunctionAmplitudeProperty_1 = __importDefault(require("./properties/non-scalar/WavefunctionAmplitudeProperty"));
26
27
  const WorkflowProperty_1 = __importDefault(require("./properties/non-scalar/WorkflowProperty"));
27
28
  const TotalEnergyContributionsProperty_1 = __importDefault(require("./properties/object/TotalEnergyContributionsProperty"));
28
29
  const FermiEnergyProperty_1 = __importDefault(require("./properties/scalar/FermiEnergyProperty"));
@@ -64,6 +65,7 @@ const PROPERTY_CLASS_MAP = {
64
65
  [ReactionEnergyBarrierProperty_1.default.propertyName]: ReactionEnergyBarrierProperty_1.default,
65
66
  [ReactionEnergyProfileProperty_1.default.propertyName]: ReactionEnergyProfileProperty_1.default,
66
67
  [PotentialProfileProperty_1.default.propertyName]: PotentialProfileProperty_1.default,
68
+ [WavefunctionAmplitudeProperty_1.default.propertyName]: WavefunctionAmplitudeProperty_1.default,
67
69
  [ChargeDensityProfileProperty_1.default.propertyName]: ChargeDensityProfileProperty_1.default,
68
70
  [AveragePotentialProfileProperty_1.default.propertyName]: AveragePotentialProfileProperty_1.default,
69
71
  [ValenceBandOffsetProperty_1.default.propertyName]: ValenceBandOffsetProperty_1.default,
@@ -0,0 +1,5 @@
1
+ import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
2
+ import type { WavefunctionAmplitudePropertySchema } from "@mat3ra/esse/dist/js/types";
3
+ export type WavefunctionAmplitudePropertySchemaMixin = Omit<WavefunctionAmplitudePropertySchema, "_id" | "slug" | "systemName" | "schemaVersion">;
4
+ export type WavefunctionAmplitudePropertyInMemoryEntity = InMemoryEntity & WavefunctionAmplitudePropertySchemaMixin;
5
+ export declare function wavefunctionAmplitudePropertySchemaMixin(item: InMemoryEntity): void;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wavefunctionAmplitudePropertySchemaMixin = wavefunctionAmplitudePropertySchemaMixin;
4
+ function wavefunctionAmplitudePropertySchemaMixin(item) {
5
+ // @ts-expect-error
6
+ const properties = {
7
+ get xAxis() {
8
+ return this.requiredProp("xAxis");
9
+ },
10
+ get yAxis() {
11
+ return this.requiredProp("yAxis");
12
+ },
13
+ get name() {
14
+ return this.requiredProp("name");
15
+ },
16
+ get xDataArray() {
17
+ return this.requiredProp("xDataArray");
18
+ },
19
+ get yDataSeries() {
20
+ return this.requiredProp("yDataSeries");
21
+ },
22
+ };
23
+ Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
24
+ }
@@ -13,6 +13,7 @@ export { default as TotalEnergyProperty } from "./properties/scalar/TotalEnergyP
13
13
  export { default as BandStructureProperty } from "./properties/non-scalar/BandStructureProperty";
14
14
  export { default as ChargeDensityProfileProperty } from "./properties/non-scalar/ChargeDensityProfileProperty";
15
15
  export { default as PotentialProfileProperty } from "./properties/non-scalar/PotentialProfileProperty";
16
+ export { default as WavefunctionAmplitudeProperty } from "./properties/non-scalar/WavefunctionAmplitudeProperty";
16
17
  export { default as ReactionEnergyProfileProperty } from "./properties/non-scalar/ReactionEnergyProfileProperty";
17
18
  export { protoPropertyHolderMixin } from "./holders/mixins/ProtoPropertyHolderMixin";
18
19
  export { propertyHolderMixin } from "./holders/mixins/PropertyHolderMixin";
package/dist/js/index.js CHANGED
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.metaPropertyHolderMixin = exports.propertyHolderMixin = exports.protoPropertyHolderMixin = exports.ReactionEnergyProfileProperty = exports.PotentialProfileProperty = exports.ChargeDensityProfileProperty = exports.BandStructureProperty = exports.TotalEnergyProperty = exports.SurfaceEnergyProperty = exports.ReactionEnergyBarrierProperty = exports.PressureProperty = exports.IsRelaxedProperty = exports.BandGapsProperty = exports.FinalStructureProperty = exports.PseudopotentialMetaProperty = exports.MetaProperty = exports.Property = exports.PropertyType = exports.PropertyName = exports.PropertyFactory = void 0;
20
+ exports.metaPropertyHolderMixin = exports.propertyHolderMixin = exports.protoPropertyHolderMixin = exports.ReactionEnergyProfileProperty = exports.WavefunctionAmplitudeProperty = exports.PotentialProfileProperty = exports.ChargeDensityProfileProperty = exports.BandStructureProperty = exports.TotalEnergyProperty = exports.SurfaceEnergyProperty = exports.ReactionEnergyBarrierProperty = exports.PressureProperty = exports.IsRelaxedProperty = exports.BandGapsProperty = exports.FinalStructureProperty = exports.PseudopotentialMetaProperty = exports.MetaProperty = exports.Property = exports.PropertyType = exports.PropertyName = exports.PropertyFactory = void 0;
21
21
  var PropertyFactory_1 = require("./PropertyFactory");
22
22
  Object.defineProperty(exports, "PropertyFactory", { enumerable: true, get: function () { return __importDefault(PropertyFactory_1).default; } });
23
23
  var settings_1 = require("./settings");
@@ -49,6 +49,8 @@ var ChargeDensityProfileProperty_1 = require("./properties/non-scalar/ChargeDens
49
49
  Object.defineProperty(exports, "ChargeDensityProfileProperty", { enumerable: true, get: function () { return __importDefault(ChargeDensityProfileProperty_1).default; } });
50
50
  var PotentialProfileProperty_1 = require("./properties/non-scalar/PotentialProfileProperty");
51
51
  Object.defineProperty(exports, "PotentialProfileProperty", { enumerable: true, get: function () { return __importDefault(PotentialProfileProperty_1).default; } });
52
+ var WavefunctionAmplitudeProperty_1 = require("./properties/non-scalar/WavefunctionAmplitudeProperty");
53
+ Object.defineProperty(exports, "WavefunctionAmplitudeProperty", { enumerable: true, get: function () { return __importDefault(WavefunctionAmplitudeProperty_1).default; } });
52
54
  var ReactionEnergyProfileProperty_1 = require("./properties/non-scalar/ReactionEnergyProfileProperty");
53
55
  Object.defineProperty(exports, "ReactionEnergyProfileProperty", { enumerable: true, get: function () { return __importDefault(ReactionEnergyProfileProperty_1).default; } });
54
56
  var ProtoPropertyHolderMixin_1 = require("./holders/mixins/ProtoPropertyHolderMixin");
@@ -0,0 +1,38 @@
1
+ import type { Constructor } from "@mat3ra/code/dist/js/utils/types";
2
+ import type { WavefunctionAmplitudePropertySchema } from "@mat3ra/esse/dist/js/types";
3
+ import type { Options } from "highcharts";
4
+ import { WavefunctionAmplitudePropertySchemaMixin } from "../../generated/WavefunctionAmplitudePropertySchemaMixin";
5
+ import Property from "../../Property";
6
+ import { PropertyName, PropertyType } from "../../settings";
7
+ import { TwoDimensionalHighChartConfigMixin } from "../include/mixins/2d_plot";
8
+ type Schema = WavefunctionAmplitudePropertySchema;
9
+ export declare class WavefunctionAmplitudeConfig extends TwoDimensionalHighChartConfigMixin {
10
+ readonly tooltipXAxisName: string;
11
+ readonly tooltipYAxisName: string;
12
+ get series(): {
13
+ animation: boolean;
14
+ name: string;
15
+ data: [number, number][];
16
+ }[];
17
+ get overrideConfig(): {
18
+ legend: {
19
+ layout: string;
20
+ align: string;
21
+ verticalAlign: string;
22
+ borderWidth: number;
23
+ };
24
+ };
25
+ }
26
+ type Base = typeof Property<Schema> & Constructor<WavefunctionAmplitudePropertySchemaMixin>;
27
+ declare const WavefunctionAmplitudeProperty_base: Base;
28
+ declare class WavefunctionAmplitudeProperty extends WavefunctionAmplitudeProperty_base implements Schema {
29
+ readonly subtitle: string;
30
+ readonly yAxisTitle: string;
31
+ readonly xAxisTitle: string;
32
+ readonly chartConfig: Options;
33
+ static readonly isRefined = true;
34
+ static readonly propertyName = PropertyName.wavefunction_amplitude;
35
+ static readonly propertyType = PropertyType.non_scalar;
36
+ constructor(config: Omit<Schema, "name">);
37
+ }
38
+ export default WavefunctionAmplitudeProperty;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.WavefunctionAmplitudeConfig = void 0;
7
+ const zip_1 = __importDefault(require("lodash/zip"));
8
+ const WavefunctionAmplitudePropertySchemaMixin_1 = require("../../generated/WavefunctionAmplitudePropertySchemaMixin");
9
+ const Property_1 = __importDefault(require("../../Property"));
10
+ const settings_1 = require("../../settings");
11
+ const _2d_plot_1 = require("../include/mixins/2d_plot");
12
+ class WavefunctionAmplitudeConfig extends _2d_plot_1.TwoDimensionalHighChartConfigMixin {
13
+ constructor() {
14
+ super(...arguments);
15
+ // TODO: figure out how and where from to pass axis so it's `z coordinate` or so.
16
+ this.tooltipXAxisName = "coordinate";
17
+ this.tooltipYAxisName = "amplitude";
18
+ }
19
+ get series() {
20
+ return this.yDataSeries.map((item, index) => {
21
+ return {
22
+ animation: false,
23
+ name: `wavefunction ${index + 1}`,
24
+ data: (0, zip_1.default)(this.xDataArray, item),
25
+ };
26
+ });
27
+ }
28
+ get overrideConfig() {
29
+ return {
30
+ ...super.overrideConfig,
31
+ legend: {
32
+ layout: "horizontal",
33
+ align: "center",
34
+ verticalAlign: "bottom",
35
+ borderWidth: 0,
36
+ },
37
+ };
38
+ }
39
+ }
40
+ exports.WavefunctionAmplitudeConfig = WavefunctionAmplitudeConfig;
41
+ class WavefunctionAmplitudeProperty extends Property_1.default {
42
+ constructor(config) {
43
+ super({ ...config, name: WavefunctionAmplitudeProperty.propertyName });
44
+ this.subtitle = "Wavefunction Amplitude";
45
+ this.yAxisTitle = "Amplitude";
46
+ this.xAxisTitle = "Coordinate";
47
+ this.chartConfig = new WavefunctionAmplitudeConfig(this).config;
48
+ }
49
+ }
50
+ WavefunctionAmplitudeProperty.isRefined = true;
51
+ WavefunctionAmplitudeProperty.propertyName = settings_1.PropertyName.wavefunction_amplitude;
52
+ WavefunctionAmplitudeProperty.propertyType = settings_1.PropertyType.non_scalar;
53
+ (0, WavefunctionAmplitudePropertySchemaMixin_1.wavefunctionAmplitudePropertySchemaMixin)(WavefunctionAmplitudeProperty.prototype);
54
+ exports.default = WavefunctionAmplitudeProperty;
@@ -34,6 +34,7 @@ export declare enum PropertyName {
34
34
  reaction_energy_barrier = "reaction_energy_barrier",
35
35
  reaction_energy_profile = "reaction_energy_profile",
36
36
  potential_profile = "potential_profile",
37
+ wavefunction_amplitude = "wavefunction_amplitude",
37
38
  charge_density_profile = "charge_density_profile",
38
39
  jupyter_notebook_endpoint = "jupyter_notebook_endpoint",
39
40
  average_potential_profile = "average_potential_profile",
@@ -42,6 +42,7 @@ var PropertyName;
42
42
  PropertyName["reaction_energy_barrier"] = "reaction_energy_barrier";
43
43
  PropertyName["reaction_energy_profile"] = "reaction_energy_profile";
44
44
  PropertyName["potential_profile"] = "potential_profile";
45
+ PropertyName["wavefunction_amplitude"] = "wavefunction_amplitude";
45
46
  PropertyName["charge_density_profile"] = "charge_density_profile";
46
47
  PropertyName["jupyter_notebook_endpoint"] = "jupyter_notebook_endpoint";
47
48
  PropertyName["average_potential_profile"] = "average_potential_profile";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mat3ra/prode",
3
- "version": "2025.11.25-0",
3
+ "version": "2026.2.25-0",
4
4
  "description": "PROperty DEfinitions",
5
5
  "scripts": {
6
6
  "test": "nyc --reporter=text mocha --recursive --bail",
@@ -52,7 +52,7 @@
52
52
  "@babel/eslint-parser": "^7.16.3",
53
53
  "@exabyte-io/eslint-config": "2025.5.13-0",
54
54
  "@mat3ra/code": "2025.10.8-0",
55
- "@mat3ra/esse": "2025.10.8-0",
55
+ "@mat3ra/esse": "2026.1.23-0",
56
56
  "@mat3ra/made": "2025.10.7-0",
57
57
  "@mat3ra/tsconfig": "2024.6.3-0",
58
58
  "@typescript-eslint/eslint-plugin": "^5.9.1",
@@ -26,6 +26,7 @@ import PhononDispersionsProperty from "./properties/non-scalar/PhononDispersions
26
26
  import PhononDOSProperty from "./properties/non-scalar/PhononDOSProperty";
27
27
  import PotentialProfileProperty from "./properties/non-scalar/PotentialProfileProperty";
28
28
  import ReactionEnergyProfileProperty from "./properties/non-scalar/ReactionEnergyProfileProperty";
29
+ import WavefunctionAmplitudeProperty from "./properties/non-scalar/WavefunctionAmplitudeProperty";
29
30
  import WorkflowProperty from "./properties/non-scalar/WorkflowProperty";
30
31
  import TotalEnergyContributionsProperty from "./properties/object/TotalEnergyContributionsProperty";
31
32
  import FermiEnergyProperty from "./properties/scalar/FermiEnergyProperty";
@@ -74,6 +75,7 @@ type PropertyClassMap = {
74
75
  | Constructor<ReactionEnergyBarrierProperty>
75
76
  | Constructor<ReactionEnergyProfileProperty>
76
77
  | Constructor<PotentialProfileProperty>
78
+ | Constructor<WavefunctionAmplitudeProperty>
77
79
  | Constructor<ChargeDensityProfileProperty>
78
80
  | Constructor<AveragePotentialProfileProperty>
79
81
  | Constructor<ValenceBandOffsetProperty>
@@ -120,6 +122,7 @@ const PROPERTY_CLASS_MAP: PropertyClassMap = {
120
122
  [ReactionEnergyBarrierProperty.propertyName]: ReactionEnergyBarrierProperty,
121
123
  [ReactionEnergyProfileProperty.propertyName]: ReactionEnergyProfileProperty,
122
124
  [PotentialProfileProperty.propertyName]: PotentialProfileProperty,
125
+ [WavefunctionAmplitudeProperty.propertyName]: WavefunctionAmplitudeProperty,
123
126
  [ChargeDensityProfileProperty.propertyName]: ChargeDensityProfileProperty,
124
127
  [AveragePotentialProfileProperty.propertyName]: AveragePotentialProfileProperty,
125
128
  [ValenceBandOffsetProperty.propertyName]: ValenceBandOffsetProperty,
@@ -0,0 +1,37 @@
1
+ import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
2
+ import type { WavefunctionAmplitudePropertySchema } from "@mat3ra/esse/dist/js/types";
3
+
4
+ export type WavefunctionAmplitudePropertySchemaMixin = Omit<
5
+ WavefunctionAmplitudePropertySchema,
6
+ "_id" | "slug" | "systemName" | "schemaVersion"
7
+ >;
8
+
9
+ export type WavefunctionAmplitudePropertyInMemoryEntity = InMemoryEntity &
10
+ WavefunctionAmplitudePropertySchemaMixin;
11
+
12
+ export function wavefunctionAmplitudePropertySchemaMixin(item: InMemoryEntity) {
13
+ // @ts-expect-error
14
+ const properties: InMemoryEntity & WavefunctionAmplitudePropertySchemaMixin = {
15
+ get xAxis() {
16
+ return this.requiredProp<WavefunctionAmplitudePropertySchema["xAxis"]>("xAxis");
17
+ },
18
+ get yAxis() {
19
+ return this.requiredProp<WavefunctionAmplitudePropertySchema["yAxis"]>("yAxis");
20
+ },
21
+ get name() {
22
+ return this.requiredProp<WavefunctionAmplitudePropertySchema["name"]>("name");
23
+ },
24
+ get xDataArray() {
25
+ return this.requiredProp<WavefunctionAmplitudePropertySchema["xDataArray"]>(
26
+ "xDataArray",
27
+ );
28
+ },
29
+ get yDataSeries() {
30
+ return this.requiredProp<WavefunctionAmplitudePropertySchema["yDataSeries"]>(
31
+ "yDataSeries",
32
+ );
33
+ },
34
+ };
35
+
36
+ Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
37
+ }
package/src/js/index.ts CHANGED
@@ -13,6 +13,7 @@ export { default as TotalEnergyProperty } from "./properties/scalar/TotalEnergyP
13
13
  export { default as BandStructureProperty } from "./properties/non-scalar/BandStructureProperty";
14
14
  export { default as ChargeDensityProfileProperty } from "./properties/non-scalar/ChargeDensityProfileProperty";
15
15
  export { default as PotentialProfileProperty } from "./properties/non-scalar/PotentialProfileProperty";
16
+ export { default as WavefunctionAmplitudeProperty } from "./properties/non-scalar/WavefunctionAmplitudeProperty";
16
17
  export { default as ReactionEnergyProfileProperty } from "./properties/non-scalar/ReactionEnergyProfileProperty";
17
18
  export { protoPropertyHolderMixin } from "./holders/mixins/ProtoPropertyHolderMixin";
18
19
  export { propertyHolderMixin } from "./holders/mixins/PropertyHolderMixin";
@@ -0,0 +1,71 @@
1
+ /* eslint-disable class-methods-use-this */
2
+ /* eslint-disable max-classes-per-file */
3
+ import type { Constructor } from "@mat3ra/code/dist/js/utils/types";
4
+ import type { WavefunctionAmplitudePropertySchema } from "@mat3ra/esse/dist/js/types";
5
+ import type { Options } from "highcharts";
6
+ import zip from "lodash/zip";
7
+
8
+ import {
9
+ WavefunctionAmplitudePropertySchemaMixin,
10
+ wavefunctionAmplitudePropertySchemaMixin,
11
+ } from "../../generated/WavefunctionAmplitudePropertySchemaMixin";
12
+ import Property from "../../Property";
13
+ import { PropertyName, PropertyType } from "../../settings";
14
+ import { TwoDimensionalHighChartConfigMixin } from "../include/mixins/2d_plot";
15
+
16
+ type Schema = WavefunctionAmplitudePropertySchema;
17
+
18
+ export class WavefunctionAmplitudeConfig extends TwoDimensionalHighChartConfigMixin {
19
+ // TODO: figure out how and where from to pass axis so it's `z coordinate` or so.
20
+ readonly tooltipXAxisName: string = "coordinate";
21
+
22
+ readonly tooltipYAxisName: string = "amplitude";
23
+
24
+ get series() {
25
+ return this.yDataSeries.map((item, index) => {
26
+ return {
27
+ animation: false,
28
+ name: `wavefunction ${index + 1}`,
29
+ data: zip(this.xDataArray, item) as [number, number][],
30
+ };
31
+ });
32
+ }
33
+
34
+ get overrideConfig() {
35
+ return {
36
+ ...super.overrideConfig,
37
+ legend: {
38
+ layout: "horizontal",
39
+ align: "center",
40
+ verticalAlign: "bottom",
41
+ borderWidth: 0,
42
+ },
43
+ };
44
+ }
45
+ }
46
+
47
+ type Base = typeof Property<Schema> & Constructor<WavefunctionAmplitudePropertySchemaMixin>;
48
+
49
+ class WavefunctionAmplitudeProperty extends (Property as Base) implements Schema {
50
+ readonly subtitle: string = "Wavefunction Amplitude";
51
+
52
+ readonly yAxisTitle: string = "Amplitude";
53
+
54
+ readonly xAxisTitle: string = "Coordinate";
55
+
56
+ readonly chartConfig: Options = new WavefunctionAmplitudeConfig(this).config;
57
+
58
+ static readonly isRefined = true;
59
+
60
+ static readonly propertyName = PropertyName.wavefunction_amplitude;
61
+
62
+ static readonly propertyType = PropertyType.non_scalar;
63
+
64
+ constructor(config: Omit<Schema, "name">) {
65
+ super({ ...config, name: WavefunctionAmplitudeProperty.propertyName });
66
+ }
67
+ }
68
+
69
+ wavefunctionAmplitudePropertySchemaMixin(WavefunctionAmplitudeProperty.prototype);
70
+
71
+ export default WavefunctionAmplitudeProperty;
@@ -38,6 +38,7 @@ export enum PropertyName {
38
38
  reaction_energy_barrier = "reaction_energy_barrier",
39
39
  reaction_energy_profile = "reaction_energy_profile",
40
40
  potential_profile = "potential_profile",
41
+ wavefunction_amplitude = "wavefunction_amplitude",
41
42
  charge_density_profile = "charge_density_profile",
42
43
  jupyter_notebook_endpoint = "jupyter_notebook_endpoint",
43
44
  average_potential_profile = "average_potential_profile",