@adcops/autocore-react 3.0.3 → 3.0.5
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/components/JogPanel.d.ts +6 -3
- package/dist/components/JogPanel.js +1 -1
- package/dist/components/TextInput.d.ts +109 -0
- package/dist/components/TextInput.js +1 -0
- package/dist/components/ValueInput.d.ts +163 -0
- package/dist/components/ValueInput.js +1 -0
- package/dist/core/MaskPatterns.d.ts +4 -0
- package/dist/core/MaskPatterns.js +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/components_JogPanel.JogPanel.html +9 -9
- package/docs/classes/components_ValueInput.ValueInput.html +115 -0
- package/docs/modules/components_JogPanel.html +2 -2
- package/docs/modules/components_ValueInput.html +2 -0
- package/docs/variables/components_JogPanel.DefaultLinearJogButtons.html +2 -0
- package/docs/variables/{components_JogPanel.kDefaultButtonDefinitions.html → components_JogPanel.DefaultRotationJogButtons.html} +2 -2
- package/docs/variables/core_MaskPatterns.PrimeReactMaskPatterns.html +1 -1
- package/docs/variables/core_MaskPatterns.RegExMaskPatterns.html +2 -1
- package/package.json +2 -2
- package/src/components/JogPanel.tsx +8 -5
- package/src/components/TextInput.tsx +263 -0
- package/src/components/ValueInput.tsx +315 -0
- package/src/core/MaskPatterns.ts +7 -1
- package/docs/variables/components_JogPanel.kRotationButtonDefinitions.html +0 -1
|
@@ -63,10 +63,13 @@ interface JogPanelState {
|
|
|
63
63
|
jogSpeed: JogSpeedAction;
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
66
|
+
* A default jog button configuration for linear 3D motion.
|
|
67
67
|
*/
|
|
68
|
-
export declare const
|
|
69
|
-
|
|
68
|
+
export declare const DefaultLinearJogButtons: (JogPanelButtonDefinition | undefined)[][];
|
|
69
|
+
/**
|
|
70
|
+
* A default jog button configuration for rotational 3D motion.
|
|
71
|
+
*/
|
|
72
|
+
export declare const DefaultRotationJogButtons: (JogPanelButtonDefinition | undefined)[][];
|
|
70
73
|
/**
|
|
71
74
|
* Jogging panel that supports 3D motion. In 3D:
|
|
72
75
|
* - Z is Up and Down,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import React from"react";import{Button}from"primereact/button";import{SelectButton}from"primereact/selectbutton";import{Tooltip}from"primereact/tooltip";import"./JogPanel.css";import{Distance,JogShort,JogMedium,JogLong}from"../assets";import{Speed,SpeedSlow,SpeedMedium,SpeedFast}from"../assets";import{RotationCcwA,RotationCcwB,RotationCcwC}from"../assets";import{RotationCwA,RotationCwB,RotationCwC}from"../assets";export var JogPanelAction;!function(t){t[t.Invalid=0]="Invalid",t[t.xPositive=1]="xPositive",t[t.xNegative=2]="xNegative",t[t.yPositive=3]="yPositive",t[t.yNegative=4]="yNegative",t[t.zPositive=5]="zPositive",t[t.zNegative=6]="zNegative",t[t.aPositive=7]="aPositive",t[t.aNegative=8]="aNegative",t[t.bPositive=9]="bPositive",t[t.bNegative=16]="bNegative",t[t.cPositive=17]="cPositive",t[t.cNegative=18]="cNegative",t[t.Stop=255]="Stop"}(JogPanelAction||(JogPanelAction={}));export var JogDistanceAction;!function(t){t[t.Short=0]="Short",t[t.Medium=16]="Medium",t[t.Long=32]="Long"}(JogDistanceAction||(JogDistanceAction={}));export var JogSpeedAction;!function(t){t[t.Slow=0]="Slow",t[t.Medium=16]="Medium",t[t.Fast=32]="Fast"}(JogSpeedAction||(JogSpeedAction={}));export const
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import React from"react";import{Button}from"primereact/button";import{SelectButton}from"primereact/selectbutton";import{Tooltip}from"primereact/tooltip";import"./JogPanel.css";import{Distance,JogShort,JogMedium,JogLong}from"../assets";import{Speed,SpeedSlow,SpeedMedium,SpeedFast}from"../assets";import{RotationCcwA,RotationCcwB,RotationCcwC}from"../assets";import{RotationCwA,RotationCwB,RotationCwC}from"../assets";export var JogPanelAction;!function(t){t[t.Invalid=0]="Invalid",t[t.xPositive=1]="xPositive",t[t.xNegative=2]="xNegative",t[t.yPositive=3]="yPositive",t[t.yNegative=4]="yNegative",t[t.zPositive=5]="zPositive",t[t.zNegative=6]="zNegative",t[t.aPositive=7]="aPositive",t[t.aNegative=8]="aNegative",t[t.bPositive=9]="bPositive",t[t.bNegative=16]="bNegative",t[t.cPositive=17]="cPositive",t[t.cNegative=18]="cNegative",t[t.Stop=255]="Stop"}(JogPanelAction||(JogPanelAction={}));export var JogDistanceAction;!function(t){t[t.Short=0]="Short",t[t.Medium=16]="Medium",t[t.Long=32]="Long"}(JogDistanceAction||(JogDistanceAction={}));export var JogSpeedAction;!function(t){t[t.Slow=0]="Slow",t[t.Medium=16]="Medium",t[t.Fast=32]="Fast"}(JogSpeedAction||(JogSpeedAction={}));export const DefaultLinearJogButtons=[[{icon:"pi pi-arrow-up-left",action:JogPanelAction.yPositive,alt:"Y Positive"},{icon:"pi pi-arrow-up",action:JogPanelAction.zPositive,alt:"Z Positive"},void 0],[{icon:"pi pi-arrow-left",action:JogPanelAction.xNegative,alt:"X Negative"},void 0,{icon:"pi pi-arrow-right",action:JogPanelAction.xPositive,alt:"X Positive"}],[void 0,{icon:"pi pi-arrow-down",action:JogPanelAction.zNegative,alt:"Z Negative"},{icon:"pi pi-arrow-down-right",action:JogPanelAction.yNegative,alt:"Y Negative"}]];export const DefaultRotationJogButtons=[[{icon:"pi",action:JogPanelAction.bPositive,alt:"Rot B Positive"},{icon:"pi",action:JogPanelAction.cPositive,alt:"Rot C Positive"},void 0],[{icon:"pi",action:JogPanelAction.aNegative,alt:"Rot A Negative"},void 0,{icon:"pi",action:JogPanelAction.aPositive,alt:"Rot A Positive"}],[void 0,{icon:"pi",action:JogPanelAction.cNegative,alt:"Rot C Negative"},{icon:"pi ",action:JogPanelAction.bNegative,alt:"Rot B Negative"}]];export class JogPanel extends React.Component{constructor(t){super(t),Object.defineProperty(this,"jogDistanceItems",{enumerable:!0,configurable:!0,writable:!0,value:[{name:"S",value:JogDistanceAction.Short},{name:"M",value:JogDistanceAction.Medium},{name:"L",value:JogDistanceAction.Long}]}),Object.defineProperty(this,"jogSpeedItems",{enumerable:!0,configurable:!0,writable:!0,value:[{name:"S",value:JogSpeedAction.Slow},{name:"M",value:JogSpeedAction.Medium},{name:"F",value:JogSpeedAction.Fast}]}),this.state={jogDistance:t.defaultJogDistance,jogSpeed:t.defaultJogSpeed}}handleClicked(t){null!=t&&this.props.onClicked&&this.props.onClicked(t)}handleDistanceChanged(t){this.setState({jogDistance:t}),this.props.onJogDistanceChanged&&this.props.onJogDistanceChanged(t)}handleSpeedChanged(t){this.setState({jogSpeed:t}),this.props.onJogSpeedChanged&&this.props.onJogSpeedChanged(t)}emptyRow(){return _jsxs("div",{className:"grid-row",children:[_jsx("div",{className:"button-item empty-slot"}),_jsx("div",{className:"button-item empty-slot"}),_jsx("div",{className:"button-item empty-slot"})]})}actionToIcon(t){return t==JogPanelAction.Invalid||t==JogPanelAction.Stop?_jsx("i",{}):t==JogPanelAction.xNegative?_jsx("i",{className:"pi pi-arrow-left"}):t==JogPanelAction.xPositive?_jsx("i",{className:"pi pi-arrow-right"}):t==JogPanelAction.yNegative?_jsx("i",{className:"pi pi-arrow-up-left"}):t==JogPanelAction.yPositive?_jsx("i",{className:"pi pi-arrow-down-right"}):t==JogPanelAction.zNegative?_jsx("i",{className:"pi pi-up"}):t==JogPanelAction.zPositive?_jsx("i",{className:"pi pi-down"}):t==JogPanelAction.aNegative?_jsx(RotationCcwA,{}):t==JogPanelAction.aPositive?_jsx(RotationCwA,{}):t==JogPanelAction.bNegative?_jsx(RotationCcwB,{}):t==JogPanelAction.bPositive?_jsx(RotationCwB,{}):t==JogPanelAction.cNegative?_jsx(RotationCcwC,{}):t==JogPanelAction.cPositive?_jsx(RotationCwC,{}):_jsx("i",{})}standardButton(t,i){if(void 0!==this.props.buttonDefinitions&&void 0!==this.props.buttonDefinitions[t]&&void 0!==this.props.buttonDefinitions[t][i]&&void 0!==this.props.buttonDefinitions[t][i]?.action){const o=this.props.buttonDefinitions[t][i]?.action;return void 0!==o&&o<JogPanelAction.aPositive?_jsx(Button,{icon:this.props.buttonDefinitions[t][i]?.icon,tooltip:this.props.buttonDefinitions[t][i]?.alt,onClick:()=>this.handleClicked(o),className:"button-item"},`${t}-${i}`):_jsx(Button,{tooltip:this.props.buttonDefinitions[t][i]?.alt,onClick:()=>this.handleClicked(o),className:"button-item",icon:()=>this.actionToIcon(o)},`${t}-${i}`)}return _jsx(Button,{icon:"pi",disabled:!0,className:"button-item empty-slot"},`${t}-${i}`)}render(){return _jsxs("div",{className:"jogpanel-container",children:[_jsx(Tooltip,{target:".distance-selector-button"}),_jsxs("div",{className:"grid-container",children:[_jsxs("div",{className:"grid-row",children:[this.standardButton(0,0),this.standardButton(0,1),this.standardButton(0,2)]},"0"),_jsxs("div",{className:"grid-row",children:[this.standardButton(1,0),this.standardButton(1,1),this.standardButton(1,2)]},"1"),_jsxs("div",{className:"grid-row",children:[this.standardButton(2,0),this.standardButton(2,1),this.standardButton(2,2)]},"2")]}),this.props.showDistanceControl&&_jsxs("div",{className:"distance-selector p-inputgroup flex-1",children:[_jsx("span",{className:"p-inputgroup-addon",children:_jsx(Distance,{width:16,height:16,fill:"white"})}),_jsx(SelectButton,{value:this.state.jogDistance,onChange:t=>this.handleDistanceChanged(t.value),optionLabel:"name",options:this.jogDistanceItems,allowEmpty:!1,itemTemplate:t=>t.value==JogDistanceAction.Short?_jsx(JogShort,{className:"distance-selector-button",width:16,height:16,"data-pr-tooltip":"Short Distance","data-pr-position":"bottom",fill:"white"}):t.value==JogDistanceAction.Medium?_jsx(JogMedium,{className:"distance-selector-button",width:16,height:16,"data-pr-tooltip":"Medium Distance","data-pr-position":"bottom",fill:"white"}):_jsx(JogLong,{className:"distance-selector-button",width:16,height:16,"data-pr-tooltip":"Long Distance","data-pr-position":"bottom",fill:"white"})})]}),this.props.showSpeedControl&&_jsxs("div",{className:"distance-selector p-inputgroup flex-1",children:[_jsx("span",{className:"p-inputgroup-addon",children:_jsx(Speed,{width:16,height:16,fill:"white"})}),_jsx(SelectButton,{value:this.state.jogSpeed,onChange:t=>this.handleSpeedChanged(t.value),optionLabel:"name",options:this.jogSpeedItems,allowEmpty:!1,itemTemplate:t=>t.value==JogSpeedAction.Slow?_jsx(SpeedSlow,{className:"distance-selector-button",width:16,height:16,"data-pr-tooltip":"Slow Speed","data-pr-position":"bottom",fill:"white"}):t.value==JogSpeedAction.Medium?_jsx(SpeedMedium,{className:"distance-selector-button",width:16,height:16,"data-pr-tooltip":"Medium Speed","data-pr-position":"bottom",fill:"white"}):_jsx(SpeedFast,{className:"distance-selector-button",width:16,height:16,"data-pr-tooltip":"Fast Speed","data-pr-position":"bottom",fill:"white"})})]})]})}}Object.defineProperty(JogPanel,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{onClicked:void 0,onJogDistanceChanged:void 0,buttonDefinitions:DefaultLinearJogButtons,defaultJogDistance:JogDistanceAction.Short,defaultJogSpeed:JogSpeedAction.Medium,showDistanceControl:!0,showSpeedControl:!0}});export default JogPanel;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { EventEmitterContext } from "../core/EventEmitterContext.js";
|
|
3
|
+
import { KeyFilterType } from "primereact/keyfilter";
|
|
4
|
+
/**
|
|
5
|
+
* Properties of the component.
|
|
6
|
+
*/
|
|
7
|
+
interface TextInputProps {
|
|
8
|
+
/**
|
|
9
|
+
* The label for the field.
|
|
10
|
+
*/
|
|
11
|
+
label: React.ReactNode | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* The value for the field.
|
|
14
|
+
*/
|
|
15
|
+
value: string | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Optional filter for key entry. Not a validator, but won't accept keystrokes outside the filter.
|
|
18
|
+
* @type {RegExp | "pint" | "int" | "pnum" | "money" | "num" | "hex" | "email" | "alpha" | "alphanum"}
|
|
19
|
+
*/
|
|
20
|
+
keyFilter: KeyFilterType | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* An optional prefix before the data entry field.
|
|
23
|
+
*/
|
|
24
|
+
prefix: React.ReactNode | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* An optional suffix after the data entry field.
|
|
27
|
+
*/
|
|
28
|
+
suffix: React.ReactNode | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* A small, advisory text below the field.
|
|
31
|
+
*/
|
|
32
|
+
description: React.ReactNode | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* If true, all functions of the field will be disabled.
|
|
35
|
+
*/
|
|
36
|
+
disabled: boolean | undefined;
|
|
37
|
+
/** Topic on which the value will be dispatched through the user interfave on successful data entry. */
|
|
38
|
+
dispatchTopic: string | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Placeholder string to display if the value is empty.
|
|
41
|
+
*/
|
|
42
|
+
placeholder: string | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* The user has accepted a new value.
|
|
45
|
+
* @param newValue New value accepted by the user.
|
|
46
|
+
*/
|
|
47
|
+
onValueChanged?(newValue: string): void;
|
|
48
|
+
/** Regular expression used to validate the value before it is broadcast */
|
|
49
|
+
validator: RegExp;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* State variables of the component.
|
|
53
|
+
*/
|
|
54
|
+
interface TextInputState {
|
|
55
|
+
entryValue: string | undefined;
|
|
56
|
+
isValid: boolean;
|
|
57
|
+
editing: boolean;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* A convenient field with all the usual features of inputing values.
|
|
61
|
+
* Wraps the common features of use of a InputText, p-inputgroup, some icon buttons,
|
|
62
|
+
* accepting and rejecting values and keyboard management.
|
|
63
|
+
*/
|
|
64
|
+
export declare class TextInput extends React.Component<TextInputProps, TextInputState> {
|
|
65
|
+
static contextType: React.Context<import("../core/EventEmitterContext.js").EventEmitterContextType>;
|
|
66
|
+
context: React.ContextType<typeof EventEmitterContext>;
|
|
67
|
+
/**
|
|
68
|
+
* Default properties for the component.
|
|
69
|
+
*/
|
|
70
|
+
static defaultProps: {
|
|
71
|
+
label: string;
|
|
72
|
+
value: undefined;
|
|
73
|
+
keyFilter: undefined;
|
|
74
|
+
writeTopic: undefined;
|
|
75
|
+
onValueChanged: undefined;
|
|
76
|
+
description: undefined;
|
|
77
|
+
prefix: undefined;
|
|
78
|
+
suffix: undefined;
|
|
79
|
+
disabled: boolean;
|
|
80
|
+
dispatchTopic: undefined;
|
|
81
|
+
placeholder: undefined;
|
|
82
|
+
validator: undefined;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
*
|
|
86
|
+
* @param {FooterViewProps} props
|
|
87
|
+
*/
|
|
88
|
+
constructor(props: TextInputProps);
|
|
89
|
+
/**
|
|
90
|
+
* The component has been loaded into the DOM.
|
|
91
|
+
*/
|
|
92
|
+
componentDidMount(): void;
|
|
93
|
+
/**
|
|
94
|
+
* Check the new value against the validator RegEx, if one was specified.
|
|
95
|
+
* @param val The new value.
|
|
96
|
+
* @returns True if no validator specified or the value is valid, false if not valid.
|
|
97
|
+
*/
|
|
98
|
+
private validateValue;
|
|
99
|
+
/**
|
|
100
|
+
* The user has elected to accept the input value. Validate and store, if valid.
|
|
101
|
+
*/
|
|
102
|
+
private onAcceptValue;
|
|
103
|
+
/**
|
|
104
|
+
* The user wishes to reset/cancel the previous value.
|
|
105
|
+
*/
|
|
106
|
+
private onResetValue;
|
|
107
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
108
|
+
}
|
|
109
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import React from"react";import{InputText}from"primereact/inputtext";import{Button}from"primereact/button";import{EventEmitterContext}from"../core/EventEmitterContext.js";export class TextInput extends React.Component{constructor(t){super(t),Object.defineProperty(this,"validateValue",{enumerable:!0,configurable:!0,writable:!0,value:t=>void 0===this.props.validator||null===this.props.validator||this.props.validator.test(t)}),this.state={entryValue:t.value,isValid:void 0!==t.value&&this.validateValue(t.value),editing:!1}}componentDidMount(){}onAcceptValue(){void 0!==this.state.entryValue&&this.validateValue(this.state.entryValue)?(this.setState({isValid:!0,editing:!1}),this.props.onValueChanged&&this.props.onValueChanged(this.state.entryValue),void 0!==this.props.dispatchTopic&&this.context.dispatch({topic:this.props.dispatchTopic,payload:this.state.entryValue})):this.setState({isValid:!1})}onResetValue(){this.setState({entryValue:this.props.value,isValid:void 0!==this.props.value&&this.validateValue(this.props.value),editing:!1})}render(){return _jsxs("div",{children:[_jsxs("div",{className:"p-inputgroup flex-1",children:[_jsx("span",{className:"p-inputgroup-addon",children:this.props.label}),void 0!==this.props.prefix&&_jsx("span",{className:"p-inputgroup-addon",children:this.props.prefix}),_jsx(InputText,{keyfilter:this.props.keyFilter,placeholder:this.props.placeholder,value:this.state.entryValue,onChange:t=>{this.setState({entryValue:t.target.value,editing:!0})},className:this.state.isValid?"":"p-invalid",onKeyDown:t=>{"Enter"===t.key?this.onAcceptValue():"Escape"===t.key&&this.onResetValue()},disabled:this.props.disabled}),void 0!==this.props.suffix&&_jsx("span",{className:"p-inputgroup-addon",children:this.props.suffix}),_jsx(Button,{icon:"pi pi-check",disabled:this.props.disabled||!this.state.editing,className:"p-button-success",onClick:()=>this.onAcceptValue(),visible:this.state.editing}),_jsx(Button,{icon:"pi pi-times",disabled:this.props.disabled||!this.state.editing,className:"p-button-danger",onClickCapture:()=>this.onResetValue(),visible:this.state.editing})]}),void 0!==this.props.description&&_jsx("small",{children:this.props.description})]})}}Object.defineProperty(TextInput,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:EventEmitterContext}),Object.defineProperty(TextInput,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{label:"",value:void 0,keyFilter:void 0,writeTopic:void 0,onValueChanged:void 0,description:void 0,prefix:void 0,suffix:void 0,disabled:!1,dispatchTopic:void 0,placeholder:void 0,validator:void 0}});
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { EventEmitterContext } from "../core/EventEmitterContext.js";
|
|
3
|
+
/**
|
|
4
|
+
* Properties of the ValueInput component.
|
|
5
|
+
*/
|
|
6
|
+
interface ValueInputProps {
|
|
7
|
+
/**
|
|
8
|
+
* The label for the ValueInput field.
|
|
9
|
+
*/
|
|
10
|
+
label: React.ReactNode | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* The value for the field.
|
|
13
|
+
*/
|
|
14
|
+
value: number | null;
|
|
15
|
+
/**
|
|
16
|
+
* Minimum value for the field.
|
|
17
|
+
*/
|
|
18
|
+
min: number | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Minimum value for the field.
|
|
21
|
+
*/
|
|
22
|
+
max: number | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Minimum number of decimal points. The user will not
|
|
25
|
+
* be required to type the decimal values, but this minimum
|
|
26
|
+
* precision will always be displayed.
|
|
27
|
+
* Must be less than or equal to maxPrecision, or
|
|
28
|
+
* the component will throw an error.
|
|
29
|
+
* @default 0
|
|
30
|
+
*/
|
|
31
|
+
minPrecision: number | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Maximum number of decimal points.
|
|
34
|
+
* Set to 0 for integer-only. Must be greater or equal to than minPrecision, or
|
|
35
|
+
* the component will throw an error.
|
|
36
|
+
* @default 3
|
|
37
|
+
*/
|
|
38
|
+
maxPrecision: number | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Defines the behavior of the component.
|
|
41
|
+
* If set to "currency", then you need to specify the
|
|
42
|
+
* currency type using the currency property.
|
|
43
|
+
* @default "decimal"
|
|
44
|
+
*/
|
|
45
|
+
mode: "currency" | "decimal" | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* The currency to use in currency formatting. Possible values are the
|
|
48
|
+
* [ISO 4217 currency codes](https://www.six-group.com/en/products-services/financial-information/data-standards.html#scrollTo=maintenance-agency),
|
|
49
|
+
* such as "USD" for the US dollar, "EUR" for the euro, or "CNY" for the Chinese RMB.
|
|
50
|
+
* If the mode is "currency", the currency property must be provided.
|
|
51
|
+
*
|
|
52
|
+
* @default "USD"
|
|
53
|
+
*/
|
|
54
|
+
currency: string;
|
|
55
|
+
/**
|
|
56
|
+
* An optional prefix before the value of the field.
|
|
57
|
+
* Unlike the TextInput control, this prefix is internal to the field.
|
|
58
|
+
*/
|
|
59
|
+
prefix: string | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* An optional suffix after the value of the field.
|
|
62
|
+
* Unlike the TextInput control, this prefix is internal to the field.
|
|
63
|
+
*/
|
|
64
|
+
suffix: string | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Set true to display buttons to increment/decrement the value.
|
|
67
|
+
* Use the step property to adjust the amount that the value will change.
|
|
68
|
+
*
|
|
69
|
+
* @default false
|
|
70
|
+
*/
|
|
71
|
+
showButtons: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* The amount clicking an increment/decrement buttion will change the value.
|
|
74
|
+
*/
|
|
75
|
+
step: number | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* Locale to be used in formatting. Changes how the numbers/separators are displayed
|
|
78
|
+
* for international users. The typical locale codes are used.
|
|
79
|
+
*
|
|
80
|
+
* @default "en-US"
|
|
81
|
+
*/
|
|
82
|
+
locale: string | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* A small, advisory text below the field.
|
|
85
|
+
*/
|
|
86
|
+
description: React.ReactNode | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* If true, all functions of the field will be disabled.
|
|
89
|
+
*/
|
|
90
|
+
disabled: boolean | undefined;
|
|
91
|
+
/** Topic on which the value will be dispatched through the user interfave on successful data entry. */
|
|
92
|
+
dispatchTopic: string | undefined;
|
|
93
|
+
/**
|
|
94
|
+
* Placeholder string to display if the value is empty.
|
|
95
|
+
*/
|
|
96
|
+
placeholder: string | undefined;
|
|
97
|
+
/**
|
|
98
|
+
* The user has accepted a new value.
|
|
99
|
+
* @param newValue New value accepted by the user.
|
|
100
|
+
*/
|
|
101
|
+
onValueChanged?(newValue: number): void;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* State variables of the ValueInput component.
|
|
105
|
+
*/
|
|
106
|
+
interface ValueInputState {
|
|
107
|
+
entryValue: number | null;
|
|
108
|
+
editing: boolean;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* A convenient field with all the usual features of inputing numbers.
|
|
112
|
+
* Wraps the common features of use of a InputNumber, p-inputgroup, some icon buttons,
|
|
113
|
+
* accepting and rejecting values and keyboard management.
|
|
114
|
+
*/
|
|
115
|
+
export declare class ValueInput extends React.Component<ValueInputProps, ValueInputState> {
|
|
116
|
+
static contextType: React.Context<import("../core/EventEmitterContext.js").EventEmitterContextType>;
|
|
117
|
+
context: React.ContextType<typeof EventEmitterContext>;
|
|
118
|
+
/**
|
|
119
|
+
* Default properties for the component.
|
|
120
|
+
*/
|
|
121
|
+
static defaultProps: {
|
|
122
|
+
label: string;
|
|
123
|
+
value: undefined;
|
|
124
|
+
keyFilter: undefined;
|
|
125
|
+
writeTopic: undefined;
|
|
126
|
+
onValueChanged: undefined;
|
|
127
|
+
description: undefined;
|
|
128
|
+
prefix: undefined;
|
|
129
|
+
suffix: undefined;
|
|
130
|
+
disabled: boolean;
|
|
131
|
+
dispatchTopic: undefined;
|
|
132
|
+
placeholder: undefined;
|
|
133
|
+
validator: undefined;
|
|
134
|
+
min: undefined;
|
|
135
|
+
max: undefined;
|
|
136
|
+
minPrecision: number;
|
|
137
|
+
maxPrecision: number;
|
|
138
|
+
mode: string;
|
|
139
|
+
showButtons: boolean;
|
|
140
|
+
step: number;
|
|
141
|
+
locale: string;
|
|
142
|
+
currency: string;
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
*
|
|
146
|
+
* @param {FooterViewProps} props
|
|
147
|
+
*/
|
|
148
|
+
constructor(props: ValueInputProps);
|
|
149
|
+
/**
|
|
150
|
+
* The component has been loaded into the DOM.
|
|
151
|
+
*/
|
|
152
|
+
componentDidMount(): void;
|
|
153
|
+
/**
|
|
154
|
+
* The user has elected to accept the input value. Validate and store, if valid.
|
|
155
|
+
*/
|
|
156
|
+
private onAcceptValue;
|
|
157
|
+
/**
|
|
158
|
+
* The user wishes to reset/cancel the previous value.
|
|
159
|
+
*/
|
|
160
|
+
private onResetValue;
|
|
161
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
162
|
+
}
|
|
163
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import React from"react";import{InputNumber}from"primereact/inputnumber";import{Button}from"primereact/button";import{EventEmitterContext}from"../core/EventEmitterContext.js";export class ValueInput extends React.Component{constructor(e){super(e),this.state={entryValue:e.value,editing:!1}}componentDidMount(){}onAcceptValue(){null!==this.state.entryValue&&(this.setState({editing:!1}),this.props.onValueChanged&&this.props.onValueChanged(this.state.entryValue),void 0!==this.props.dispatchTopic&&this.context.dispatch({topic:this.props.dispatchTopic,payload:this.state.entryValue}))}onResetValue(){this.setState({entryValue:this.props.value,editing:!1})}render(){return _jsxs("div",{children:[_jsxs("div",{className:"p-inputgroup flex-1",children:[_jsx("span",{className:"p-inputgroup-addon",children:this.props.label}),_jsx(InputNumber,{min:this.props.min,max:this.props.max,minFractionDigits:this.props.minPrecision,maxFractionDigits:this.props.maxPrecision,mode:this.props.mode,prefix:this.props.prefix,suffix:this.props.suffix,showButtons:this.props.showButtons,step:this.props.step,placeholder:this.props.placeholder,value:this.state.entryValue,onChange:e=>{this.setState({entryValue:e.value,editing:!0})},buttonLayout:"horizontal",decrementButtonClassName:"p-button-danger",incrementButtonClassName:"p-button-success",incrementButtonIcon:"pi pi-plus",decrementButtonIcon:"pi pi-minus",locale:"en-US",currency:this.props.currency,onKeyDown:e=>{"Enter"===e.key?this.onAcceptValue():"Escape"===e.key&&this.onResetValue()},disabled:this.props.disabled}),_jsx(Button,{icon:"pi pi-check",disabled:this.props.disabled||!this.state.editing,className:"p-button-success",onClick:()=>this.onAcceptValue(),visible:this.state.editing,size:"small"}),_jsx(Button,{icon:"pi pi-times",disabled:this.props.disabled||!this.state.editing,className:"p-button-danger",onClickCapture:()=>this.onResetValue(),visible:this.state.editing,size:"small"})]}),void 0!==this.props.description&&_jsx("small",{children:this.props.description})]})}}Object.defineProperty(ValueInput,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:EventEmitterContext}),Object.defineProperty(ValueInput,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{label:"",value:void 0,keyFilter:void 0,writeTopic:void 0,onValueChanged:void 0,description:void 0,prefix:void 0,suffix:void 0,disabled:!1,dispatchTopic:void 0,placeholder:void 0,validator:void 0,min:void 0,max:void 0,minPrecision:0,maxPrecision:3,mode:"decimal",showButtons:!1,step:1,locale:"en-US",currency:"USD"}});
|
|
@@ -39,6 +39,10 @@ export declare const RegExMaskPatterns: {
|
|
|
39
39
|
* Examples of valid inputs: "123"
|
|
40
40
|
*/
|
|
41
41
|
readonly IntegerPositive: RegExp;
|
|
42
|
+
/**
|
|
43
|
+
* Regular expression for matching IPV4 address.
|
|
44
|
+
*/
|
|
45
|
+
readonly Ipv4: RegExp;
|
|
42
46
|
};
|
|
43
47
|
/**
|
|
44
48
|
* Patterns for use with PrimeReact.InputMask components
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const RegExMaskPatterns={RealNumber:/^-?\d*(\.)?(\d+)?$/,RealNumberPositive:/^\d*(\.)?(\d+)?$/,Integer:/^-?\d*$/,IntegerPositive:/^\d
|
|
1
|
+
export const RegExMaskPatterns={RealNumber:/^-?\d*(\.)?(\d+)?$/,RealNumberPositive:/^\d*(\.)?(\d+)?$/,Integer:/^-?\d*$/,IntegerPositive:/^\d+$/,Ipv4:/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/};export const PrimeReactMaskPatterns={SocialSecurityNumber:"999-99-9999",PhoneNumberUS:"(999) 999-9999? x99999",PhoneNumberInternational:"+999 999 999 9999? x99999",PhoneNumberJapan:"+81 9999 999 9999? x99999",PhoneNumberChina:"+86 999 999 9999? x99999",PhoneNumberVietnam:"+84 999 999 9999? x99999",PhoneNumberSouthKorea:"+82 99 9999 9999 x99999",PhoneNumberCanada:"+1 (999) 999-9999 x99999",PhoneNumberMexico:"+52 999 999 9999 x99999",PhoneNumberScotland:"+44 9999 999999 x99999",PhoneNumberEngland:"+44 9999 999999 x99999",PhoneNumberIreland:"+353 99 999 9999 x99999"};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.navigationData = "data:application/octet-stream;base64,
|
|
1
|
+
window.navigationData = "data:application/octet-stream;base64,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"
|
package/docs/assets/search.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.searchData = "data:application/octet-stream;base64,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";
|
|
1
|
+
window.searchData = "data:application/octet-stream;base64,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";
|