@vertigis/workflow 5.38.1 → 5.39.1
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/Errors.d.ts +4 -0
- package/Errors.js +1 -1
- package/LanguageStringUtils.js +1 -1
- package/activities/arcgis/AddAttachment.d.ts +2 -0
- package/activities/arcgis/AddAttachment.js +1 -1
- package/activities/forms/AddFormElement.d.ts +1 -1
- package/activities/forms/SetFormElementLimits.d.ts +15 -0
- package/activities/forms/SetFormElementLimits.js +1 -0
- package/activities/forms/SetFormElementProperty.d.ts +1 -1
- package/activities/index.js +1 -1
- package/forms/FormComponent.d.ts +1 -1
- package/forms/FormDefinition.d.ts +50 -40
- package/forms/FormHost.js +1 -1
- package/forms/common.d.ts +6 -6
- package/forms/common.js +1 -1
- package/forms/components/AccordionGroup.d.ts +2 -2
- package/forms/components/AutoComplete.d.ts +2 -2
- package/forms/components/ButtonBar.d.ts +2 -2
- package/forms/components/CheckBox.d.ts +2 -2
- package/forms/components/CheckGroup.d.ts +2 -2
- package/forms/components/Custom.d.ts +2 -2
- package/forms/components/DatePicker.d.ts +2 -2
- package/forms/components/DatePicker.js +1 -1
- package/forms/components/DateRangePicker.d.ts +2 -2
- package/forms/components/DateRangePicker.js +1 -1
- package/forms/components/DateTimePicker.d.ts +2 -2
- package/forms/components/DateTimePicker.js +1 -1
- package/forms/components/DropDownList.d.ts +2 -2
- package/forms/components/FilePicker.d.ts +2 -2
- package/forms/components/Form.d.ts +2 -2
- package/forms/components/Form.js +1 -1
- package/forms/components/FormLabelNumberField.d.ts +1 -1
- package/forms/components/GeometryPicker.d.ts +2 -2
- package/forms/components/GeometryPickerListItem.d.ts +2 -2
- package/forms/components/HorizontalRule.d.ts +2 -2
- package/forms/components/Image.d.ts +2 -2
- package/forms/components/ItemPicker.d.ts +2 -2
- package/forms/components/ItemPicker.js +1 -1
- package/forms/components/ListBox.d.ts +2 -2
- package/forms/components/Markdown.d.ts +2 -2
- package/forms/components/Number.d.ts +7 -2
- package/forms/components/Number.js +1 -1
- package/forms/components/NumberRangeSlider.d.ts +2 -2
- package/forms/components/NumberSlider.d.ts +2 -2
- package/forms/components/RadioGroup.d.ts +2 -2
- package/forms/components/Scanner.d.ts +2 -2
- package/forms/components/Section.d.ts +2 -2
- package/forms/components/Signature.d.ts +2 -2
- package/forms/components/SignatureDialog.d.ts +4 -4
- package/forms/components/SignatureDialog.js +1 -1
- package/forms/components/Sketch.d.ts +13 -0
- package/forms/components/Sketch.js +1 -0
- package/forms/components/SketchDialog.d.ts +67 -0
- package/forms/components/SketchDialog.js +1 -0
- package/forms/components/TabGroup.d.ts +2 -2
- package/forms/components/Text.d.ts +2 -2
- package/forms/components/TextArea.d.ts +2 -2
- package/forms/components/TextBox.d.ts +2 -2
- package/forms/components/TimePicker.d.ts +2 -2
- package/forms/components/TimePicker.js +1 -1
- package/forms/constants.d.ts +7 -0
- package/forms/constants.js +1 -1
- package/forms/dateUtilities.d.ts +11 -2
- package/forms/dateUtilities.js +1 -1
- package/forms/elements/Sketch.d.ts +8 -0
- package/forms/elements/Sketch.js +0 -0
- package/forms/index.d.ts +1 -1
- package/forms/manifest.js +1 -1
- package/forms/presenter.js +1 -1
- package/forms/renderers.d.ts +2 -2
- package/forms/utils.d.ts +2 -0
- package/forms/utils.js +1 -1
- package/libs/version.d.ts +1 -1
- package/libs/version.js +1 -1
- package/licensing/LicenseChecker.js +1 -1
- package/licensing/Watermark.d.ts +2 -2
- package/package.json +12 -10
package/forms/common.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import * as React from "react";
|
|
1
2
|
import type { FormPresenterHost } from "./FormComponent";
|
|
2
3
|
import type { defs } from "./FormHost";
|
|
3
|
-
import type { ReactNode } from "react";
|
|
4
4
|
export declare function getTitleId(elementId: string): string;
|
|
5
5
|
export declare function getDescriptionId(elementId: string): string;
|
|
6
6
|
export declare function getErrorId(elementId: string): string;
|
|
@@ -15,7 +15,7 @@ export type TranslateTextFunction = (content: defs.Text | undefined) => string |
|
|
|
15
15
|
* @param inputId (optional) The id of the DOM element representing the main input for the Form Element.
|
|
16
16
|
* @returns A title component, or `null` if there is no title.
|
|
17
17
|
*/
|
|
18
|
-
export declare function renderTitle(elementId: string, required: boolean | undefined, title: defs.Text | undefined, translateText: TranslateTextFunction, inputId?: string): JSX.Element | null;
|
|
18
|
+
export declare function renderTitle(elementId: string, required: boolean | undefined, title: defs.Text | undefined, translateText: TranslateTextFunction, inputId?: string): React.JSX.Element | null;
|
|
19
19
|
/**
|
|
20
20
|
* Renders the description for a Form Element.
|
|
21
21
|
* @param description The description of the Form Element.
|
|
@@ -25,7 +25,7 @@ export declare function renderTitle(elementId: string, required: boolean | undef
|
|
|
25
25
|
* @param className (optional) A class name to add to the component.
|
|
26
26
|
* @returns A description component, or `null` if there is no description.
|
|
27
27
|
*/
|
|
28
|
-
export declare function renderDescription(description: defs.Text | undefined, elementId: string, enabled: boolean | undefined, translateText: TranslateTextFunction, className?: string): JSX.Element | null;
|
|
28
|
+
export declare function renderDescription(description: defs.Text | undefined, elementId: string, enabled: boolean | undefined, translateText: TranslateTextFunction, className?: string): React.JSX.Element | null;
|
|
29
29
|
/**
|
|
30
30
|
* Renders the accessible description for a Form Element.
|
|
31
31
|
* @param accessibleDescription The element's accessible description.
|
|
@@ -34,14 +34,14 @@ export declare function renderDescription(description: defs.Text | undefined, el
|
|
|
34
34
|
* @param translateText The translate text function.
|
|
35
35
|
* @returns An accessible description component, or `null` if there is no accessible description or description.
|
|
36
36
|
*/
|
|
37
|
-
export declare function renderAccessibleDescription(accessibleDescription: string | undefined, description: defs.Text | undefined, elementId: string, translateText: TranslateTextFunction): JSX.Element | null;
|
|
37
|
+
export declare function renderAccessibleDescription(accessibleDescription: string | undefined, description: defs.Text | undefined, elementId: string, translateText: TranslateTextFunction): React.JSX.Element | null;
|
|
38
38
|
/**
|
|
39
39
|
* Renders the error for a Form Element.
|
|
40
40
|
* @param error The error to be rendered.
|
|
41
41
|
* @param translateText The translate text function.
|
|
42
42
|
* @returns An error component, or `null` if there is no error.
|
|
43
43
|
*/
|
|
44
|
-
export declare function renderError(error: defs.Text | undefined, translateText: TranslateTextFunction): JSX.Element | null;
|
|
44
|
+
export declare function renderError(error: defs.Text | undefined, translateText: TranslateTextFunction): React.JSX.Element | null;
|
|
45
45
|
/**
|
|
46
46
|
* Asks the host to focus the provided element when the form is initially shown.
|
|
47
47
|
* Ignores the specified target if it is null or disabled.
|
|
@@ -61,7 +61,7 @@ export declare function renderFocus(target: (HTMLElement & {
|
|
|
61
61
|
* @param component The form component
|
|
62
62
|
* @returns A memoized function that focuses a target HTML element.
|
|
63
63
|
*/
|
|
64
|
-
export declare function useFocusCallback(enabled: boolean, name: string | undefined, renderFocus: (target: Node, name?: string) => boolean): (target: (
|
|
64
|
+
export declare function useFocusCallback(enabled: boolean, name: string | undefined, renderFocus: (target: Node, name?: string) => boolean): (target: (Node & {
|
|
65
65
|
disabled?: boolean;
|
|
66
66
|
thumbRefs?: any[];
|
|
67
67
|
}) | null) => void;
|
package/forms/common.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import Box from"@vertigis/react-ui/Box";import
|
|
1
|
+
import Box from"@vertigis/react-ui/Box";import FormLabel,{formLabelClasses}from"@vertigis/react-ui/FormLabel";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import{useCallback}from"react";import*as React from"react";import{formClasses}from"./components/Form.js";import Markdown from"./components/Markdown.js";import{hasContent,isMarkdown,markdownToText}from"./textUtilities.js";const ERROR_SUFFIX="-error",DESCRIPTION_SUFFIX="-description",TITLE_SUFFIX="-title";function getTitleId(e){return`${e}${TITLE_SUFFIX}`}function getDescriptionId(e){return`${e}${DESCRIPTION_SUFFIX}`}function getErrorId(e){return`${e}${ERROR_SUFFIX}`}function renderTitle(e,r,t,o,n){return hasContent(t)?React.createElement(FormLabel,{className:formClasses.formElementTitle,htmlFor:n,id:`${e}-label`,required:!!r},React.createElement(Markdown,{inline:!0,text:t,translateText:o})):null}const DescriptionMarkdown=styled(Markdown)(({theme:{palette:e}})=>({[`&.${formLabelClasses.disabled}`]:{color:e.text.disabled}}));function renderDescription(e,r,t,o,n){return hasContent(e)?React.createElement(DescriptionMarkdown,{className:clsx(n,{[formLabelClasses.disabled]:!t}),id:`${r}-description`,text:e,translateText:o}):null}function renderAccessibleDescription(e,r,t,o){let n=o(e);return n||(r=o(r),n=isMarkdown(r)?markdownToText(r.markdown):r),n?React.createElement(Box,{sx:{display:"none"},id:`${t}-accessible-description`},n):null}const ErrorMarkdown=styled(Markdown)(({theme:{palette:e}})=>({color:e.error.main,fontStyle:"italic",backgroundColor:e.common.white}));function renderError(e,r){return hasContent(e)?React.createElement(ErrorMarkdown,{role:"alert",text:e,translateText:r}):null}function renderFocus(e,r,t){null===e||e.disabled||t.renderFocus(e,r)}function useFocusCallback(e,r,t){return useCallback(e=>{null===(e=Array.isArray(e?.thumbRefs)&&0<e.thumbRefs.length?e.thumbRefs[0].current:e)||e.disabled||t(e,r)},[e,r,t])}export{getTitleId,getDescriptionId,getErrorId,renderTitle,renderDescription,renderAccessibleDescription,renderError,renderFocus,useFocusCallback};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormComponent } from "../FormComponent";
|
|
3
3
|
interface AccordionGroupProps {
|
|
4
4
|
/** The CSS class name of the root element. */
|
|
@@ -11,5 +11,5 @@ interface AccordionGroupProps {
|
|
|
11
11
|
/**
|
|
12
12
|
* This component contains a set of "Section" Form Elements with a `format` of `"accordion-section"`.
|
|
13
13
|
*/
|
|
14
|
-
declare const AccordionGroup: ({ className, component }: AccordionGroupProps) => JSX.Element;
|
|
14
|
+
declare const AccordionGroup: ({ className, component }: AccordionGroupProps) => React.JSX.Element;
|
|
15
15
|
export default AccordionGroup;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type { defs } from "../FormHost";
|
|
4
4
|
/**
|
|
5
5
|
* The component for the "Auto Complete" Form Element.
|
|
6
6
|
*/
|
|
7
|
-
declare const AutoComplete: ({ className, component, current, delay: elementDelay, element, enabled, error, items: elementItems, label, minLength: elementMinLength, name, prompt, tooltip, renderFocus, renderText, raiseEvent, setProperty, setValue, value, }: FormElementProps<defs.Value | undefined>) => JSX.Element;
|
|
7
|
+
declare const AutoComplete: ({ className, component, current, delay: elementDelay, element, enabled, error, items: elementItems, label, minLength: elementMinLength, name, prompt, tooltip, renderFocus, renderText, raiseEvent, setProperty, setValue, value, }: FormElementProps<defs.Value | undefined>) => React.JSX.Element;
|
|
8
8
|
export default AutoComplete;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type { defs } from "../FormHost";
|
|
4
4
|
/**
|
|
5
5
|
* The component for the "Button Bar" Form Element.
|
|
6
6
|
*/
|
|
7
|
-
declare const ButtonBar: ({ className, component, element, enabled, items: elementItems, name, orientation, raiseEvent, renderFocus: hostRenderFocus, renderText, translateText, }: FormElementProps<defs.Value | undefined>) => JSX.Element;
|
|
7
|
+
declare const ButtonBar: ({ className, component, element, enabled, items: elementItems, name, orientation, raiseEvent, renderFocus: hostRenderFocus, renderText, translateText, }: FormElementProps<defs.Value | undefined>) => React.JSX.Element;
|
|
8
8
|
export default ButtonBar;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
/**
|
|
4
4
|
* The component for the "Check Box" Form Element.
|
|
5
5
|
*/
|
|
6
|
-
declare const CheckBox: ({ checked, className, component, element, enabled, label, name, raiseEvent, renderFocus: hostRenderFocus, renderText, setProperty, tooltip: elementTooltip, translateText, value, }: FormElementProps) => JSX.Element;
|
|
6
|
+
declare const CheckBox: ({ checked, className, component, element, enabled, label, name, raiseEvent, renderFocus: hostRenderFocus, renderText, setProperty, tooltip: elementTooltip, translateText, value, }: FormElementProps) => React.JSX.Element;
|
|
7
7
|
export default CheckBox;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type { defs } from "../FormHost";
|
|
4
4
|
/**
|
|
5
5
|
* The component for the "Check Group" Form Element.
|
|
6
6
|
*/
|
|
7
|
-
declare const CheckGroup: ({ className, component, current, element, enabled, items: elementItems, name, orientation, raiseEvent, renderFocus: hostRenderFocus, renderText, setProperty, setValue, translateText, value, }: FormElementProps<defs.ItemsRef | undefined>) => JSX.Element;
|
|
7
|
+
declare const CheckGroup: ({ className, component, current, element, enabled, items: elementItems, name, orientation, raiseEvent, renderFocus: hostRenderFocus, renderText, setProperty, setValue, translateText, value, }: FormElementProps<defs.ItemsRef | undefined>) => React.JSX.Element;
|
|
8
8
|
export default CheckGroup;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
/**
|
|
4
4
|
* The component for the "Custom" Form Element.
|
|
5
5
|
*/
|
|
6
|
-
declare const Custom: ({ className, component, customType, element }: FormElementProps) => JSX.Element;
|
|
6
|
+
declare const Custom: ({ className, component, customType, element }: FormElementProps) => React.JSX.Element;
|
|
7
7
|
export default Custom;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type { defs } from "../FormHost";
|
|
4
4
|
/**
|
|
5
5
|
* The component for the "Date Picker" Form Element.
|
|
6
6
|
*/
|
|
7
|
-
declare const DatePicker: ({ className, component, deriveLocale, element, enabled, error, name, prompt, renderFocus, renderText, tooltip: elementTooltip, setProperty, setValue: setElementValue, value: elementValue, }: FormElementProps<defs.DateTimeRef | undefined>) => JSX.Element;
|
|
7
|
+
declare const DatePicker: ({ className, component, deriveLocale, element, enabled, error: elementError, format: elementFormat, name, prompt, renderFocus, renderText, tooltip: elementTooltip, setProperty, setValue: setElementValue, value: elementValue, }: FormElementProps<defs.DateTimeRef | undefined>) => React.JSX.Element;
|
|
8
8
|
export default DatePicker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import BaseDatePicker from"@vertigis/react-ui/DatePicker";import FormHelperText from"@vertigis/react-ui/FormHelperText";import FormLabelTextField from"@vertigis/react-ui/FormLabelTextField";import*as React from"react";import{useEffect,useRef,useState}from"react";import{Calendar}from"../Calendar.js";import FormElement from"../FormElement.js";import{useFocusCallback}from"../common.js";import{areValuesEqual,getNewElementValue,
|
|
1
|
+
import BaseDatePicker from"@vertigis/react-ui/DatePicker";import FormHelperText from"@vertigis/react-ui/FormHelperText";import FormLabelTextField from"@vertigis/react-ui/FormLabelTextField";import*as React from"react";import{useEffect,useRef,useState}from"react";import{Calendar}from"../Calendar.js";import FormElement from"../FormElement.js";import{useFocusCallback}from"../common.js";import{areValuesEqual,getDateBounds,getNewElementValue,makeProperValue}from"../dateUtilities.js";import{isInvalidError}from"../textUtilities.js";import{isDateTimeRef,makeUniqueId}from"../utils.js";const DatePicker=({className:e,component:t,deriveLocale:r,element:a,enabled:o,error:l,format:i,name:n,prompt:s,renderFocus:m,renderText:u,tooltip:c,setProperty:p,setValue:d,value:f})=>{const[v,E]=useState(null),[F,D]=useState(!1),[g,k]=useState(!1),[P,x]=useState(null),R=useRef(),T=useRef(!0);m=useFocusCallback(o,n,m);const V=u(c),b={locale:r(),timezone:(new Intl.DateTimeFormat).resolvedOptions().timeZone},C=Calendar.useNative(),I="date",S=isInvalidError(l);useEffect(()=>{var e=makeProperValue(f,C),t=getNewElementValue(e,I,b,C);areValuesEqual(f,t)||d(t,!1),x(e||null)},[f]),useEffect(()=>{if(!g&&!F)if(v)S||p("error",{status:"invalid"});else{if(S&&p("error",void 0),T.current)return void(T.current=!1);let e=P||void 0;if(e&&isDateTimeRef(f)){const r=new Date(f.value);e=new Date(e),e.setHours(r.getHours()),e.setMinutes(r.getMinutes()),e.setSeconds(r.getSeconds()),e.setMilliseconds(r.getMilliseconds())}var t=getNewElementValue(e,I,b,C);areValuesEqual(f,t)||d(t)}T.current=!1},[v,F,g]);var{min:r,max:i}=getDateBounds(i);const j=`${makeUniqueId(n)}-input`,w=u(s);return React.createElement(FormElement,{className:e,component:t,element:a,inputId:j},S&&React.createElement(FormHelperText,{component:"div",error:!0,role:"alert"},R.current),React.createElement(BaseDatePicker,{disabled:!o,inputRef:m,key:"date-picker",maxDate:i,minDate:r,onChange:e=>x(e),onClose:()=>k(!1),onError:e=>E(e),onOpen:()=>k(!0),renderInput:e=>(R.current=e.inputProps?.placeholder,e.error=!!l,e.inputProps={...e.inputProps,id:j,onBlur:()=>{D(!1)},onFocus:()=>{D(!0)},placeholder:w||e.inputProps?.placeholder,title:V},React.createElement(FormLabelTextField,{...e})),value:P}))};export default DatePicker;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type { DateRangeRef } from "../FormDefinition";
|
|
4
4
|
export declare const dateRangePickerClasses: {
|
|
@@ -8,5 +8,5 @@ export declare const dateRangePickerClasses: {
|
|
|
8
8
|
/**
|
|
9
9
|
* The component for the "Date Range Picker" Form Element.
|
|
10
10
|
*/
|
|
11
|
-
declare const DateRangePicker: ({ className, component, element, enabled, error, name, renderFocus, renderText, setProperty, setValue: setElementValue, tooltip: elementTooltip, value: elementValue, }: FormElementProps<DateRangeRef | undefined>) => JSX.Element;
|
|
11
|
+
declare const DateRangePicker: ({ className, component, element, enabled, error, format: elementFormat, name, renderFocus, renderText, setProperty, setValue: setElementValue, tooltip: elementTooltip, value: elementValue, }: FormElementProps<DateRangeRef | undefined>) => React.JSX.Element;
|
|
12
12
|
export default DateRangePicker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import Box from"@vertigis/react-ui/Box";import BaseDateRangePicker from"@vertigis/react-ui/DateRangePicker";import{formControlClasses}from"@vertigis/react-ui/FormControl";import FormHelperText from"@vertigis/react-ui/FormHelperText";import FormLabelTextField from"@vertigis/react-ui/FormLabelTextField";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import{useEffect,useRef,useState}from"react";import*as React from"react";import FormElement from"../FormElement.js";import{useFocusCallback}from"../common.js";import{areValuesEqual,convertToDateRangeRef
|
|
1
|
+
import Box from"@vertigis/react-ui/Box";import BaseDateRangePicker from"@vertigis/react-ui/DateRangePicker";import{formControlClasses}from"@vertigis/react-ui/FormControl";import FormHelperText from"@vertigis/react-ui/FormHelperText";import FormLabelTextField from"@vertigis/react-ui/FormLabelTextField";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import{useEffect,useRef,useState}from"react";import*as React from"react";import FormElement from"../FormElement.js";import{useFocusCallback}from"../common.js";import{areValuesEqual,convertToDateRangeRef}from"../dateUtilities.js";import{isInvalidError}from"../textUtilities.js";import{makeUniqueId}from"../utils.js";const PREFIX="DateRangePicker",dateRangePickerClasses={root:`${PREFIX}-root`,toLabel:`${PREFIX}-toLabel`},Root=styled(FormElement)(({theme:{spacing:e}})=>({[`.${formControlClasses.root}`]:{flexGrow:1},[`.${dateRangePickerClasses.toLabel}`]:{marginLeft:e(2),marginRight:e(2),paddingTop:e(2),alignSelf:"center"}})),DateRangePicker=({className:e,component:t,element:r,enabled:a,error:o,format:n,name:l,renderFocus:s,renderText:i,setProperty:m,setValue:c,tooltip:u,value:p})=>{const[d,f]=useState([null,null]),[R,g]=useState(-1),[F,E]=useState([!1,!1]),[v,P]=useState(!1),[x,D]=useState([null,null]),k=useRef(),C=useRef(!0),b=isInvalidError(o);useEffect(()=>{var e=convertToDateRangeRef(p),t=[e?.startDate||null,e?.endDate||null],e=I(t);areValuesEqual(p,e)||c(e,!1),D(t)},[p]),useEffect(()=>{var e=0===R?F[0]:!!d[0],t=1===R?F[1]:!!d[1];E([e,t]);t=e||t;if(t?b||m("error",{status:"invalid"}):b&&m("error",void 0),!v&&-1===R&&!t){if(C.current)return void(C.current=!1);t=I(x);areValuesEqual(p,t)||c(t)}C.current=!1},[d,R,v]);const T=i(u),B=useFocusCallback(a,l,s),I=e=>{if(e[0]&&e[1])return{refValueType:"daterange",startDate:e[0],endDate:e[1]}},L=`${makeUniqueId(l)}-input`;var s=F[0]||F[1],{lowerBound:l,upperBound:n}=n||{},l=l?new Date(l):void 0,n=n?new Date(n):void 0;return React.createElement(Root,{className:clsx(e,dateRangePickerClasses.root),component:t,element:r,inputId:L},s&&React.createElement(FormHelperText,{component:"div",error:!0,role:"alert"},k.current),React.createElement(BaseDateRangePicker,{disabled:!a,maxDate:n,minDate:l,onChange:e=>D(e),onClose:()=>P(!1),onError:e=>f(e),onOpen:()=>P(!0),renderInput:(e,t)=>(k.current=e.inputProps?.placeholder,e.error=!!o||F[0],e.inputProps={...e.inputProps,id:L,title:T,onBlur:()=>{g(-1)},onFocus:()=>{g(0)}},e.inputRef=B,t.error=!!o||F[1],t.inputProps={...t.inputProps,title:T,onBlur:()=>{g(-1)},onFocus:()=>{g(1)}},React.createElement(React.Fragment,null,React.createElement(FormLabelTextField,{...e}),React.createElement(Box,{className:dateRangePickerClasses.toLabel}," ",i("@common-to")," "),React.createElement(FormLabelTextField,{...t}))),value:x}))};export default DateRangePicker;export{dateRangePickerClasses};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type { defs } from "../FormHost";
|
|
4
4
|
/**
|
|
5
5
|
* The component for the "Date Time Picker" Form Element.
|
|
6
6
|
*/
|
|
7
|
-
declare const DateTimePicker: ({ className, component, deriveLocale, element, enabled, error, name, prompt, renderFocus, renderText, setProperty, setValue: setElementValue, tooltip: elementTooltip, value: elementValue, }: FormElementProps<defs.DateTimeRef | undefined>) => JSX.Element;
|
|
7
|
+
declare const DateTimePicker: ({ className, component, deriveLocale, element, enabled, error, format: elementFormat, name, prompt, renderFocus, renderText, setProperty, setValue: setElementValue, tooltip: elementTooltip, value: elementValue, }: FormElementProps<defs.DateTimeRef | undefined>) => React.JSX.Element;
|
|
8
8
|
export default DateTimePicker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{buttonBaseClasses}from"@vertigis/react-ui/ButtonBase";import{clockClasses}from"@vertigis/react-ui/ClockPicker";import BaseDateTimePicker from"@vertigis/react-ui/DateTimePicker";import FormHelperText from"@vertigis/react-ui/FormHelperText";import FormLabelTextField from"@vertigis/react-ui/FormLabelTextField";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import*as React from"react";import{useEffect,useRef,useState}from"react";import{Calendar}from"../Calendar.js";import FormElement from"../FormElement.js";import{useFocusCallback}from"../common.js";import{areValuesEqual,getNewElementValue,
|
|
1
|
+
import{buttonBaseClasses}from"@vertigis/react-ui/ButtonBase";import{clockClasses}from"@vertigis/react-ui/ClockPicker";import BaseDateTimePicker from"@vertigis/react-ui/DateTimePicker";import FormHelperText from"@vertigis/react-ui/FormHelperText";import FormLabelTextField from"@vertigis/react-ui/FormLabelTextField";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import*as React from"react";import{useEffect,useRef,useState}from"react";import{Calendar}from"../Calendar.js";import FormElement from"../FormElement.js";import{useFocusCallback}from"../common.js";import{areValuesEqual,getDateBounds,getNewElementValue,makeProperValue}from"../dateUtilities.js";import{isInvalidError}from"../textUtilities.js";import{makeUniqueId}from"../utils.js";const StylableDateTimePicker=e=>{const{PopperProps:t={},className:r,...a}=e;return React.createElement(BaseDateTimePicker,{PopperProps:{...t,className:clsx(t.className,r)},...a})},StyledDateTimePicker=styled(StylableDateTimePicker)(({theme:{palette:e}})=>({[`& .${clockClasses.amButton}, .${clockClasses.pmButton}`]:{[`&.${buttonBaseClasses.focusVisible}`]:{color:e.action.active}}})),DateTimePicker=({className:e,component:t,deriveLocale:r,element:a,enabled:o,error:l,format:i,name:s,prompt:m,renderFocus:n,renderText:c,setProperty:u,setValue:p,tooltip:d,value:f})=>{const[k,v]=useState(null),[P,E]=useState(!1),[T,F]=useState(!1),[x,D]=useState(null),C=useRef(),b=useRef(!0);n=useFocusCallback(o,s,n);const g=c(d),B={locale:r(),timezone:(new Intl.DateTimeFormat).resolvedOptions().timeZone},R=Calendar.useNative(),V="datetime",y=isInvalidError(l);useEffect(()=>{var e=makeProperValue(f,R),t=getNewElementValue(e,V,B,R);areValuesEqual(f,t)||p(t,!1),D(e||null)},[f]),useEffect(()=>{if(!T&&!P)if(k)y||u("error",{status:"invalid"});else{if(y&&u("error",void 0),b.current)return void(b.current=!1);var e=getNewElementValue(x,V,B,R);areValuesEqual(f,e)||p(e)}b.current=!1},[k,P,T]);var{min:r,max:i}=getDateBounds(i);const N=`${makeUniqueId(s)}-input`,S=c(m);return React.createElement(FormElement,{className:e,component:t,element:a,inputId:N},y&&React.createElement(FormHelperText,{component:"div",error:!0,role:"alert"},C.current),React.createElement(StyledDateTimePicker,{disabled:!o,key:"date-picker",inputRef:n,maxDateTime:i,minDateTime:r,onChange:e=>D(e),onClose:()=>F(!1),onError:e=>v(e),onOpen:()=>F(!0),renderInput:e=>(C.current=e.inputProps?.placeholder,e.error=!!l,e.inputProps={...e.inputProps,id:N,onBlur:()=>{E(!1)},onFocus:()=>{E(!0)},placeholder:S||e.inputProps?.placeholder,title:g},React.createElement(FormLabelTextField,{...e})),value:x}))};export default DateTimePicker;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type { defs } from "../../activities/forms/FormRenderer";
|
|
4
4
|
/**
|
|
5
5
|
* The component for the "Drop Down List" Form Element.
|
|
6
6
|
*/
|
|
7
|
-
declare const DropDownList: ({ className, component, current, element, enabled, items: elementItems, name, prompt, raiseEvent, renderFocus, renderText, setProperty, setValue, tooltip, value, }: FormElementProps<defs.Value | undefined>) => JSX.Element;
|
|
7
|
+
declare const DropDownList: ({ className, component, current, element, enabled, items: elementItems, name, prompt, raiseEvent, renderFocus, renderText, setProperty, setValue, tooltip, value, }: FormElementProps<defs.Value | undefined>) => React.JSX.Element;
|
|
8
8
|
export default DropDownList;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type * as defs from "../FormDefinition";
|
|
4
4
|
export declare const filePickerClasses: {
|
|
@@ -6,5 +6,5 @@ export declare const filePickerClasses: {
|
|
|
6
6
|
label: string;
|
|
7
7
|
list: string;
|
|
8
8
|
};
|
|
9
|
-
declare const FilePicker: ({ className, component, element, fileTypes, name, renderFocus, renderText, setValue, size, translateText, value, }: FormElementProps<defs.FilesRef | undefined>) => JSX.Element;
|
|
9
|
+
declare const FilePicker: ({ className, component, element, fileTypes, name, renderFocus, renderText, setValue, size, translateText, value, }: FormElementProps<defs.FilesRef | undefined>) => React.JSX.Element;
|
|
10
10
|
export default FilePicker;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import { FormComponent } from "../FormComponent";
|
|
3
3
|
interface FormProps {
|
|
4
4
|
/** The CSS class name of the root element. */
|
|
@@ -19,5 +19,5 @@ export declare const formClasses: {
|
|
|
19
19
|
root: string;
|
|
20
20
|
row: string;
|
|
21
21
|
};
|
|
22
|
-
declare const Form: ({ className, component }: FormProps) => JSX.Element;
|
|
22
|
+
declare const Form: ({ className, component }: FormProps) => React.JSX.Element;
|
|
23
23
|
export default Form;
|
package/forms/components/Form.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import AdapterDateFns from"@vertigis/react-ui/AdapterDateFns";import Box from"@vertigis/react-ui/Box";import{LicenseInfo}from"@vertigis/react-ui/LicenseInfo";import LocalizationProvider from"@vertigis/react-ui/LocalizationProvider";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import*as React from"react";import{useEffect,useState}from"react";import{FormComponent,FormElementComponent}from"../FormComponent.js";import{FormElementTypes}from"../constants.js";import{loadLocale}from"../dateUtilities.js";import{getKeyString}from"../keyboard.js";import{isMutuallyExclusiveSection,sortAndFilter}from"../utils.js";const PREFIX="Form",formClasses={body:`${PREFIX}-body`,footer:`${PREFIX}-footer`,formElementContent:`${PREFIX}-element-content`,formElementTitle:`${PREFIX}-element-title`,formElementWithTitleBeside:`${PREFIX}-element-with-title-beside`,header:`${PREFIX}-header`,main:`${PREFIX}-main`,root:`${PREFIX}-root`,row:`${PREFIX}-row`},Root=styled(Box)(e=>({"h1, h2, h3":{margin:0},[`.${formClasses.formElementWithTitleBeside}`]:{alignItems:"start",display:"grid",gridTemplateColumns:"1fr 2fr",[`> .${formClasses.formElementTitle}`]:{gridColumnStart:1,margin:0,overflowWrap:"anywhere"},[`> .${formClasses.formElementContent}`]:{display:"inline-flex",flexDirection:"column",gridColumnStart:2,overflow:"auto"}},[`.${formClasses.row}`]:{display:"flex",gap:"0.5em","> *":{flexGrow:1},"> .CheckBox, > .CheckGroup, > .Image, > .Number, > .RadioGroup":{flexGrow:0},[`.${formClasses.formElementWithTitleBeside}`]:{gridTemplateColumns:"1fr 1fr"}}}));LicenseInfo.setLicenseKey("
|
|
1
|
+
import AdapterDateFns from"@vertigis/react-ui/AdapterDateFns";import Box from"@vertigis/react-ui/Box";import{LicenseInfo}from"@vertigis/react-ui/LicenseInfo";import LocalizationProvider from"@vertigis/react-ui/LocalizationProvider";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import*as React from"react";import{useEffect,useState}from"react";import{FormComponent,FormElementComponent}from"../FormComponent.js";import{FormElementTypes}from"../constants.js";import{loadLocale}from"../dateUtilities.js";import{getKeyString}from"../keyboard.js";import{isMutuallyExclusiveSection,sortAndFilter}from"../utils.js";const PREFIX="Form",formClasses={body:`${PREFIX}-body`,footer:`${PREFIX}-footer`,formElementContent:`${PREFIX}-element-content`,formElementTitle:`${PREFIX}-element-title`,formElementWithTitleBeside:`${PREFIX}-element-with-title-beside`,header:`${PREFIX}-header`,main:`${PREFIX}-main`,root:`${PREFIX}-root`,row:`${PREFIX}-row`},Root=styled(Box)(e=>({"h1, h2, h3":{margin:0},[`.${formClasses.formElementWithTitleBeside}`]:{alignItems:"start",display:"grid",gridTemplateColumns:"1fr 2fr",[`> .${formClasses.formElementTitle}`]:{gridColumnStart:1,margin:0,overflowWrap:"anywhere"},[`> .${formClasses.formElementContent}`]:{display:"inline-flex",flexDirection:"column",gridColumnStart:2,overflow:"auto"}},[`.${formClasses.row}`]:{display:"flex",gap:"0.5em","> *":{flexGrow:1},"> .CheckBox, > .CheckGroup, > .Image, > .Number, > .RadioGroup":{flexGrow:0},[`.${formClasses.formElementWithTitleBeside}`]:{gridTemplateColumns:"1fr 1fr"}}}));LicenseInfo.setLicenseKey("c14d2671e294e1c22b64a93ed8f2f0f9Tz04ODQ4NixFPTE3NDQ4MzUzNDMwMDAsUz1wcm8sTE09cGVycGV0dWFsLEtWPTI=");const Form=({className:e,component:t})=>{const[o,r]=useState();useEffect(()=>{let t=!0;return loadLocale(l).then(e=>{t?r(e):console.warn("Component was unmounted while loading the locale.")}),()=>{t=!1}},[]);const l=t.props.host,n={host:l,type:"header",children:[]},i={host:l,type:"body",children:[]},a={host:l,type:"main",children:[]},s={host:l,type:"footer",children:[]},m={host:l,type:"body",children:[]},c={},d=[];function f(e){return e!==FormElementTypes.SECTION}function p(e){return e===n||e===i||e===s?`${e.type}-section`:e.name}const h=sortAndFilter(t.props.host.form.elements);for(const $ in h){var u,y=h[$];if(!0!==(E=y).hoisted&&(!1!==E.visible&&f(E.type)))if(!0!==y.overlay){let e=function(e){if(void 0===e)return i;if("header"===e)return n;if("footer"===e)return s;let t;t="object"==typeof e?e.name:e;let o=(e=>{for(const t of d)if(t.name===e)return t})(t);return void 0===o&&(o={host:l,name:t,type:"section",children:[]},d.push(o)),o}(y.section);void 0!==y.rowNumber&&(u=p(e),e=function(e,t){let o=c[t];o=o||(c[t]=[]);let r=o[e];return void 0===r&&(r=o[e]={host:l,type:"row",children:[]}),r}(y.rowNumber,u)),e.children.push(React.createElement(FormElementComponent,{key:$,host:l,type:"element",name:$,children:[]}))}else m.children.push(React.createElement(FormElementComponent,{key:$,host:l,type:"element",name:$,children:[]}))}var E,F;const g=[];if(0<n.children.length&&g.push(React.createElement(FormComponent,{key:"header",...n})),0<m.children.length)g.push(React.createElement(FormComponent,{key:"main",...m}));else{T(i);let e,t,o=0;var C=()=>{if(e){switch(t){case"accordion-section":w(e,++o,"accordionGroup");break;case"tab-section":w(e,++o,"tabGroup")}e=void 0,t=void 0}};for(const k of d){var v=k.name,x=h[v],R=x.format;t&&R!==t&&C(),null!=(F=h[F=v])&&(f(F.type)||!0===F.hoisted||!1===F.visible)||(isMutuallyExclusiveSection(x)?e?e.push(k):(e=[k],t=R):T(k))}C(),0<a.children.length&&g.push(React.createElement(FormComponent,{key:"main",...a}))}function b(e){if(!function(e){var t=p(e),o=c[t];if(o)for(const i of Object.keys(o).sort((e,t)=>parseInt(e)-parseInt(t))){var r,n=o[i];1<n.children.length?(r=`row-${i}`,e.children.push(React.createElement(FormComponent,{key:r,...n}))):1===n.children.length&&e.children.push(...n.children)}}(e),0<e.children.length){var t=e===i?"body":`$${e.name}`;return React.createElement(FormComponent,{key:t,...e})}}function T(e){e=b(e);e&&a.children.push(e)}function w(e,t,o){const r=[];for(const i of e){var n=b(i);n&&r.push(n)}t=`${o}${t}`,o={children:r,host:l,name:t,type:o};a.children.push(React.createElement(FormComponent,{key:t,...o}))}return 0<s.children.length&&g.push(React.createElement(FormComponent,{key:"footer",...s})),React.createElement(Root,{className:clsx(e,formClasses.root),onKeyDown:function(e){"enter"===getKeyString(e)&&(e.target instanceof HTMLButtonElement||l.post("clicked"))},ref:function(e){l.renderFocus(e)}},React.createElement(LocalizationProvider,{dateAdapter:AdapterDateFns,adapterLocale:o,localeText:{start:l.renderText("@date-range-picker-start-text"),end:l.renderText("@date-range-picker-end-text"),cancelButtonLabel:l.renderText("@common-cancel"),clearButtonLabel:l.renderText("@common-clear"),okButtonLabel:l.renderText("@common-ok"),todayButtonLabel:l.renderText("@common-today")}},g))};export default Form;export{formClasses};
|
|
@@ -13,5 +13,5 @@ interface FormLabelNumberFieldProps {
|
|
|
13
13
|
maxDecimalPlaces: number;
|
|
14
14
|
min: number;
|
|
15
15
|
}
|
|
16
|
-
declare const FormLabelNumberField: (props: FormLabelNumberFieldProps) => JSX.Element;
|
|
16
|
+
declare const FormLabelNumberField: (props: FormLabelNumberFieldProps) => React.JSX.Element;
|
|
17
17
|
export default FormLabelNumberField;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type * as defs from "../FormDefinition";
|
|
4
|
-
declare const GeometryPicker: ({ autoActivate, className, component, element, enabled, itemLabel: elementItemLabel, name, prompt, raiseEvent, renderFocus, renderState, renderText, setProperty, setValue, size, state: elementState, tooltip: elementTooltip, translateText, value, }: FormElementProps<defs.GeometryRef | undefined>) => JSX.Element;
|
|
4
|
+
declare const GeometryPicker: ({ autoActivate, className, component, element, enabled, itemLabel: elementItemLabel, name, prompt, raiseEvent, renderFocus, renderState, renderText, setProperty, setValue, size, state: elementState, tooltip: elementTooltip, translateText, value, }: FormElementProps<defs.GeometryRef | undefined>) => React.JSX.Element;
|
|
5
5
|
export default GeometryPicker;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { ListItemProps } from "@vertigis/react-ui/ListItem";
|
|
3
3
|
interface GeometryPickerListItemProps extends ListItemProps {
|
|
4
4
|
/**
|
|
@@ -19,5 +19,5 @@ interface GeometryPickerListItemProps extends ListItemProps {
|
|
|
19
19
|
* Its purpose is to aid with detecting changes in focus and hover state to
|
|
20
20
|
* aid with updating the styling of the corresponding graphics on the map.
|
|
21
21
|
*/
|
|
22
|
-
declare const _default: (props: GeometryPickerListItemProps) => JSX.Element;
|
|
22
|
+
declare const _default: (props: GeometryPickerListItemProps) => React.JSX.Element;
|
|
23
23
|
export default _default;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
/**
|
|
4
4
|
* The component for the "Horizontal Rule" Form Element.
|
|
5
5
|
*/
|
|
6
|
-
declare const HorizontalRule: ({ className, component, element }: FormElementProps) => JSX.Element;
|
|
6
|
+
declare const HorizontalRule: ({ className, component, element }: FormElementProps) => React.JSX.Element;
|
|
7
7
|
export default HorizontalRule;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
/**
|
|
4
4
|
* The component for the "Image" Form Element.
|
|
5
5
|
*/
|
|
6
|
-
declare const Image: ({ className, component, element, renderText, size, tooltip: elementTooltip, value, }: FormElementProps<string>) => JSX.Element;
|
|
6
|
+
declare const Image: ({ className, component, element, renderText, size, tooltip: elementTooltip, value, }: FormElementProps<string>) => React.JSX.Element;
|
|
7
7
|
export default Image;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type * as defs from "../FormDefinition";
|
|
4
4
|
export declare const itemPickerClasses: {
|
|
@@ -11,5 +11,5 @@ export declare const itemPickerClasses: {
|
|
|
11
11
|
};
|
|
12
12
|
declare const ItemPicker: ({ className, component, element, enabled, items: elementItems, name, orientation, prompt, renderFocus, renderState, renderText, selectionMode, setProperty, setValue, showFilter, spacing, state: elementState, translateText, value, }: FormElementProps<defs.ItemsRef | undefined> & {
|
|
13
13
|
spacing?: number | undefined;
|
|
14
|
-
}) => JSX.Element;
|
|
14
|
+
}) => React.JSX.Element;
|
|
15
15
|
export default ItemPicker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import Checkbox from"@vertigis/react-ui/Checkbox";import FormControl from"@vertigis/react-ui/FormControl";import FormControlLabel from"@vertigis/react-ui/FormControlLabel";import FormLabel from"@vertigis/react-ui/FormLabel";import IconButton from"@vertigis/react-ui/IconButton";import Input from"@vertigis/react-ui/Input";import InputAdornment from"@vertigis/react-ui/InputAdornment";import List from"@vertigis/react-ui/List";import ListItem from"@vertigis/react-ui/ListItem";import ListItemButton from"@vertigis/react-ui/ListItemButton";import ListItemIcon from"@vertigis/react-ui/ListItemIcon";import ListItemText,{listItemTextClasses}from"@vertigis/react-ui/ListItemText";import Radio from"@vertigis/react-ui/Radio";import RadioGroup from"@vertigis/react-ui/RadioGroup";import Stack from"@vertigis/react-ui/Stack";import Typography from"@vertigis/react-ui/Typography";import Close from"@vertigis/react-ui/icons/Close";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import*as React from"react";import{useEffect,useMemo,useState}from"react";import FormElement from"../FormElement.js";import{Orientation}from"../constants.js";import{getKeyString}from"../keyboard.js";import{areValuesEqual}from"../listUtilities.js";import{debounce,isDataRef,isGeometryRef,makeSafeClassName,makeUniqueId}from"../utils.js";import Markdown from"./Markdown.js";const PREFIX="ItemPicker",itemPickerClasses={allNone:`${PREFIX}-all-none`,button:`${PREFIX}-list-item-button`,clearIcon:`${PREFIX}-clear-button`,horizontal:`${PREFIX}-horizontal`,item:`${PREFIX}-list-item`,items:`${PREFIX}-list-items`},Root=styled(FormElement)(({theme:{typography:e,spacing:t}})=>({[`.${itemPickerClasses.allNone}`]:{marginLeft:t(2)},[`.${itemPickerClasses.clearIcon}`]:{height:e.pxToRem(20),width:e.pxToRem(20)},[`.${itemPickerClasses.items}`]:{[`&.${itemPickerClasses.horizontal}`]:{display:"flex",flexWrap:"wrap",[`.${itemPickerClasses.item}`]:{width:"auto"}},[`.${itemPickerClasses.item}`]:{[`.${itemPickerClasses.button}`]:{paddingBottom:0,paddingTop:0,[`.${listItemTextClasses.primary}`]:{fontWeight:e.fontWeightRegular}}}}})),ItemPicker=({className:e,component:r,element:t,enabled:i,items:a,name:o,orientation:s,prompt:n,renderFocus:l,renderState:c,renderText:m,selectionMode:d,setProperty:u,setValue:p,showFilter:f,spacing:k,state:g,translateText:R,value:I})=>{void 0===k&&(k=1);const[h,v]=useState(""),b=a||{};let y=g;const C=e=>{const t=[];for(const r in b){var i=b[r];i.checked&&t.push(i)}let o;0<t.length&&(o={refValueType:"items",items:t}),areValuesEqual(I,o)||p(o,e)};useEffect(()=>{
|
|
1
|
+
import Checkbox from"@vertigis/react-ui/Checkbox";import FormControl from"@vertigis/react-ui/FormControl";import FormControlLabel from"@vertigis/react-ui/FormControlLabel";import FormLabel from"@vertigis/react-ui/FormLabel";import IconButton from"@vertigis/react-ui/IconButton";import Input from"@vertigis/react-ui/Input";import InputAdornment from"@vertigis/react-ui/InputAdornment";import List from"@vertigis/react-ui/List";import ListItem from"@vertigis/react-ui/ListItem";import ListItemButton from"@vertigis/react-ui/ListItemButton";import ListItemIcon from"@vertigis/react-ui/ListItemIcon";import ListItemText,{listItemTextClasses}from"@vertigis/react-ui/ListItemText";import Radio from"@vertigis/react-ui/Radio";import RadioGroup from"@vertigis/react-ui/RadioGroup";import Stack from"@vertigis/react-ui/Stack";import Typography from"@vertigis/react-ui/Typography";import Close from"@vertigis/react-ui/icons/Close";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import*as React from"react";import{useEffect,useMemo,useState}from"react";import FormElement from"../FormElement.js";import{Orientation}from"../constants.js";import{getKeyString}from"../keyboard.js";import{areValuesEqual}from"../listUtilities.js";import{debounce,isDataRef,isGeometryRef,makeSafeClassName,makeUniqueId}from"../utils.js";import Markdown from"./Markdown.js";const PREFIX="ItemPicker",itemPickerClasses={allNone:`${PREFIX}-all-none`,button:`${PREFIX}-list-item-button`,clearIcon:`${PREFIX}-clear-button`,horizontal:`${PREFIX}-horizontal`,item:`${PREFIX}-list-item`,items:`${PREFIX}-list-items`},Root=styled(FormElement)(({theme:{typography:e,spacing:t}})=>({[`.${itemPickerClasses.allNone}`]:{marginLeft:t(2)},[`.${itemPickerClasses.clearIcon}`]:{height:e.pxToRem(20),width:e.pxToRem(20)},[`.${itemPickerClasses.items}`]:{[`&.${itemPickerClasses.horizontal}`]:{display:"flex",flexWrap:"wrap",[`.${itemPickerClasses.item}`]:{width:"auto"}},[`.${itemPickerClasses.item}`]:{[`.${itemPickerClasses.button}`]:{paddingBottom:0,paddingTop:0,[`.${listItemTextClasses.primary}`]:{fontWeight:e.fontWeightRegular}}}}})),ItemPicker=({className:e,component:r,element:t,enabled:i,items:a,name:o,orientation:s,prompt:n,renderFocus:l,renderState:c,renderText:m,selectionMode:d,setProperty:u,setValue:p,showFilter:f,spacing:k,state:g,translateText:R,value:I})=>{void 0===k&&(k=1);const[h,v]=useState(""),b=a||{};let y=g;const C=e=>{const t=[];for(const r in b){var i=b[r];i.checked&&t.push(i)}let o;0<t.length&&(o={refValueType:"items",items:t}),areValuesEqual(I,o)||p(o,e)};useEffect(()=>{void 0!==y&&null!==y||(y={items:[],keyToIndex:{}});const e={};for(const i in a){var t=E(i,!1);t&&(e[i]=t)}y.items.length=0,y.keyToIndex={};for(const o in e)y.keyToIndex[o]=y.items.length,y.items.push(e[o]);g!==y&&u("state",y),C(!1)});const E=(e,t=!0)=>{let i=y.keyToIndex[e];if(null==i||null===i){if(!t)return;y.keyToIndex[e]=y.items.length,y.items.push({}),i=y.keyToIndex[e]}return y.items[i]},x=(e,t)=>{b[e].checked=t;const i=E(e);i&&(i.checked=t)};var L=t=>e=>{null!==e&&(e.disabled||l(e,o),e=!0===b[t].checked,E(t).checked=e)};const P=[];let T;switch(d){case"single":T="radio";break;case"multiple":T="checkbox"}let F={},$={};if(y)for(const J in b){var N,w,S,M,B=b[J];B.checked&&(F[J]=B),E(J).content=(e=>{if(e){if(isGeometryRef(e))return e.geometry;if(isDataRef(e)&&e.data)return e.data.geometry}})(B.value),!1!==B.visible&&($[J]=B,w=(N=i&&!1!==B.enabled)&&!!T,S=m(B.tooltip),M=clsx(itemPickerClasses.item,B.styleName?makeSafeClassName(B.styleName):void 0),B=React.createElement(Markdown,{text:B.label,translateText:R}),P.push(React.createElement(ListItem,{className:M,disablePadding:!0,key:J},React.createElement(ListItemButton,{className:itemPickerClasses.button,disabled:!N,onClick:w?(i=>()=>{var e=b[i].checked;if("single"===d){if(!e)for(const t in b)x(t,t===i)}else x(i,!e);C(!0),c(o,"geometry",y)})(J):void 0,tabIndex:N?void 0:-1,title:S,"data-id":J,onBlur:N?e=>{delete E(e.currentTarget.dataset.id).focused,c(o,"geometry",y)}:void 0,onFocus:N?e=>{E(e.currentTarget.dataset.id).focused=!0,c(o,"geometry",y)}:void 0,onMouseOver:N?e=>{E(e.currentTarget.dataset.id).pending=!0,c(o,"geometry",y)}:void 0,onMouseOut:N?e=>{delete E(e.currentTarget.dataset.id).pending,c(o,"geometry",y)}:void 0},"checkbox"===T&&React.createElement(ListItemIcon,null,React.createElement(Checkbox,{edge:"start",checked:!0===b[J]?.checked,disableRipple:!0,inputRef:L(J),tabIndex:-1,value:J})),"radio"===T&&React.createElement(ListItemIcon,null,React.createElement(Radio,{edge:"start",checked:!0===b[J]?.checked,disableRipple:!0,inputRef:L(J),name:o,tabIndex:-1,value:J})),React.createElement(ListItemText,null,B)))))}var O=m(n);const X=useMemo(()=>e=>{for(const t in b){const i=b[t];if(e){const o=m(i.label).toLowerCase();i.visible=0<=o.indexOf(e)}else i.visible=!0}r.forceUpdate()},[b]),j=useMemo(()=>debounce(X),[b]);const z=()=>{v(""),X("")};var A="multiple"===d&&0<P.length,G=clsx(itemPickerClasses.items,{[itemPickerClasses.horizontal]:s===Orientation.HORIZONTAL});let q,U=0,V=0,W=0,D=0;for(const Q in b){var K=$[Q];K?(W++,K.checked&&U++):(D++,b[Q].checked&&V++)}0===U?q="none":U===W&&(q="all");n=h?React.createElement(InputAdornment,{position:"end"},React.createElement(IconButton,{disabled:!i,onClick:z,title:m("@common-clear")},React.createElement(Close,{className:itemPickerClasses.clearIcon}))):null,s=f?`${makeUniqueId(o)}-filter`:void 0;let H,Z=R("@item-picker-select");return A&&0<D&&(Z=R("@item-picker-select-visible"),0<V&&(H=1===V?R("@item-picker-hidden-selected-item"):`${V} ${R("@item-picker-hidden-selected-items")}`)),React.createElement(Root,{className:e,component:r,element:t,inputId:s,ref:e=>{null===e?c(o,"geometry"):c(o,"geometry",y)}},React.createElement(Stack,{spacing:k},f&&React.createElement(Input,{disabled:!i,endAdornment:n,error:!1,fullWidth:!0,id:s,inputRef:e=>l(e,o),onChange:e=>{const t=e.target.value;v(t),j(t.toLowerCase())},onKeyDown:e=>{"escape"===getKeyString(e)&&z()},placeholder:O,type:"text",value:h}),A&&React.createElement(FormControl,{className:itemPickerClasses.allNone},React.createElement(FormLabel,null,Z),React.createElement(RadioGroup,{color:"primary",row:!0},React.createElement(FormControlLabel,{value:"all",checked:"all"===q,control:React.createElement(Radio,{size:"small"}),disabled:!i,inputRef:e=>l(e,o),onClick:()=>{for(const e in $)x(e,!0);C(!0)},label:m("@common-all")}),React.createElement(FormControlLabel,{value:"none",checked:"none"===q,control:React.createElement(Radio,{size:"small"}),disabled:!i,onClick:()=>{for(const e in $)x(e,!1);C(!0)},label:m("@common-none")})),H&&React.createElement(Typography,{variant:"subtitle2"},H)),React.createElement(List,{className:G,dense:!0},P)))};export default ItemPicker;export{itemPickerClasses};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type * as defs from "../FormDefinition";
|
|
4
4
|
export declare const listBoxClasses: {
|
|
5
5
|
select: string;
|
|
6
6
|
};
|
|
7
|
-
declare const ListBox: ({ className, component, current, element, enabled, items: elementItems, name, renderFocus, renderText, require, setItemProperty, setValue: setElementValue, size: elementSize, tooltip: elementTooltip, value: elementValue, }: FormElementProps<defs.ItemsRef | undefined>) => JSX.Element;
|
|
7
|
+
declare const ListBox: ({ className, component, current, element, enabled, items: elementItems, name, renderFocus, renderText, require, setItemProperty, setValue: setElementValue, size: elementSize, tooltip: elementTooltip, value: elementValue, }: FormElementProps<defs.ItemsRef | undefined>) => React.JSX.Element;
|
|
8
8
|
export default ListBox;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { defs } from "../FormHost";
|
|
3
3
|
import type { MarkdownProps as BaseMarkdownProps } from "@vertigis/react-ui/Markdown";
|
|
4
4
|
/**
|
|
@@ -10,5 +10,5 @@ export interface MarkdownProps extends Omit<BaseMarkdownProps, "markdown" | "san
|
|
|
10
10
|
/** Translates the supplied value. */
|
|
11
11
|
translateText: (content: defs.Text | undefined) => string | defs.MarkdownRef | undefined;
|
|
12
12
|
}
|
|
13
|
-
declare const Markdown: ({ text, translateText, escapeHtml, linkTarget, ...otherProps }: MarkdownProps) => JSX.Element | null;
|
|
13
|
+
declare const Markdown: ({ text, translateText, escapeHtml, linkTarget, ...otherProps }: MarkdownProps) => React.JSX.Element | null;
|
|
14
14
|
export default Markdown;
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type * as defs from "../FormDefinition";
|
|
4
|
+
export declare const numberClasses: {
|
|
5
|
+
large: string;
|
|
6
|
+
medium: string;
|
|
7
|
+
small: string;
|
|
8
|
+
};
|
|
4
9
|
/**
|
|
5
10
|
* The component for the "Number" Form Elements.
|
|
6
11
|
*/
|
|
7
|
-
declare const NumberComponent: ({ className, coerceNumber, component, deriveLocale, element, enabled, error, format, formatNumber, name, prompt, renderFocus: hostRenderFocus, renderText, require, tooltip: elementTooltip, value: elementValue, setValue: setElementValue, }: FormElementProps<defs.NumberRef | undefined>) => JSX.Element;
|
|
12
|
+
declare const NumberComponent: ({ className, coerceNumber, component, deriveLocale, element, enabled, error, format, formatNumber, name, prompt, renderFocus: hostRenderFocus, renderText, require, tooltip: elementTooltip, value: elementValue, setValue: setElementValue, }: FormElementProps<defs.NumberRef | undefined>) => React.JSX.Element;
|
|
8
13
|
export default NumberComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{NumberFormatContext}from"@vertigis/react-ui/NumberFormatContext";import NumberInput from"@vertigis/react-ui/NumberInput";import*as React from"react";import{useEffect,useMemo,useRef,useState}from"react";import FormElement from"../FormElement.js";import{numberFormatConfiguration}from"../elements/Number.js";import{getKeyString}from"../keyboard.js";import{areValuesEqual,enforceConstraints,getNumberConstraints,sanitizePrecision}from"../numberUtilities.js";import{isNumber,isNumberRef,isString,makeUniqueId}from"../utils.js";const NumberComponent=({className:e,coerceNumber:t,component:r,deriveLocale:n,element:o,enabled:
|
|
1
|
+
import{inputClasses}from"@vertigis/react-ui/Input";import InputAdornment from"@vertigis/react-ui/InputAdornment";import{NumberFormatContext}from"@vertigis/react-ui/NumberFormatContext";import NumberInput from"@vertigis/react-ui/NumberInput";import{styled}from"@vertigis/react-ui/styles";import clsx from"clsx";import*as React from"react";import{useEffect,useMemo,useRef,useState}from"react";import FormElement from"../FormElement.js";import{FormElementSize}from"../constants.js";import{numberFormatConfiguration}from"../elements/Number.js";import{getKeyString}from"../keyboard.js";import{NumberDisplayFormat,DEFAULT_CURRENCY}from"../numberFormatter.js";import{areValuesEqual,countDecimalsInCustomFormat,enforceConstraints,getCurrencySymbolInfo,getNumberConstraints,getPercentSymbolInfo,roundAccurately,sanitizePrecision}from"../numberUtilities.js";import{isNumber,isNumberRef,isString,makeUniqueId}from"../utils.js";const PREFIX="Number",numberClasses={large:`${PREFIX}-large`,medium:`${PREFIX}-medium`,small:`${PREFIX}-small`},StyledFormElement=styled(FormElement)(()=>({[`.${inputClasses.root}`]:{[`&.${numberClasses.large}`]:{width:"50%"},[`&.${numberClasses.medium}`]:{width:"33%"},[`&.${numberClasses.small}`]:{width:"25%"}}})),NumberComponent=({className:e,coerceNumber:t,component:r,deriveLocale:n,element:o,enabled:m,error:s,format:l,formatNumber:a,name:i,prompt:u,renderFocus:c,renderText:p,require:d,tooltip:f,value:b,setValue:y})=>{const[C,F]=useState(!1),[g,N]=useState(),E=useRef(!0);var v=`${makeUniqueId(i)}-input`;const I=n();u=p(u),p=p(f);const{currency:R,customDisplayFormat:D,decimals:S,displayFormat:P,endAdornment:A,isPercent:x,numberConstraints:U,startAdornment:z}=useMemo(()=>{var e,r,t=l,n=t?.currency||DEFAULT_CURRENCY,o=t?.displayFormat,m=o===NumberDisplayFormat.PERCENT,s=getNumberConstraints(t,numberFormatConfiguration),a=t?.customDisplayFormat,t=o===NumberDisplayFormat.CUSTOM?countDecimalsInCustomFormat(a):t?.precision,t=sanitizePrecision(t,s.step,numberFormatConfiguration);let i=null,u=null;return o===NumberDisplayFormat.CURRENCY||o===NumberDisplayFormat.ACCOUNTING?(e=getCurrencySymbolInfo(I,n))&&(r=React.createElement(InputAdornment,{position:e.position},e.symbol),"start"===e.position?i=r:u=r):!m||(e=getPercentSymbolInfo(I))&&(r=React.createElement(InputAdornment,{position:e.position},e.symbol),"start"===e.position?i=r:u=r),{currency:n,customDisplayFormat:a,decimals:t,displayFormat:o,endAdornment:u,isPercent:m,numberConstraints:s,startAdornment:i}},[l]),{maximum:T,minimum:$,step:j}=U;f=x?S-2:S;const q={currency:R,customDisplayFormat:D,format:P,fractionalDigits:f=Math.max(0,f),locale:I},h=e=>{if("number"==typeof e)return{refValueType:"number",format:{lowerBound:$,precision:S,step:j,upperBound:T},display:a(e,q),numeric:e}},w=()=>{e=void 0===(e=g)?void 0:enforceConstraints(e,U),e=h(e);areValuesEqual(b,e)||y(e);var e=e?.numeric;e!==g&&N(e)};useEffect(()=>{E.current?E.current=!1:C||w()},[C,g]),useEffect(()=>{var e=M(b),r=void 0===e?void 0:h(e);areValuesEqual(b,r)||y(r,!1),e!==g&&N(e)},[b]);const M=e=>{let r;if(isNumber(e))r=e;else if(isString(e)){if(!e)return;r=t(e)}else"number"==typeof e?.numeric&&(r=e.numeric);return"number"==typeof r&&0*r!=0&&(r=void 0),void 0===r?r:enforceConstraints(r,U)};f="string"==typeof o.size?o.size:FormElementSize.Full,f=clsx({[numberClasses.large]:f===FormElementSize.Large,[numberClasses.medium]:f===FormElementSize.Medium,[numberClasses.small]:f===FormElementSize.Small});return React.createElement(StyledFormElement,{className:e,component:r,element:o,inputId:v},React.createElement(NumberFormatContext.Provider,{value:{formatNumber:e=>{x&&(e*=100);var r={fractionalDigits:q.fractionalDigits,locale:q.locale};return a(e,r)},parseNumber:e=>{let r=t(e);return x&&(r=roundAccurately(r/100,S)),r}}},React.createElement(NumberInput,{allowUndefined:!0,className:f,correctOnBlur:!0,disabled:!m,endAdornment:A,error:!!s,inputProps:{id:v,onKeyDown:e=>{var r,t=getKeyString(e);return"enter"===t?(r=e,w(),r.currentTarget.select(),r.stopPropagation(),r.preventDefault(),!1):"escape"===t?(t=e,(e=isNumberRef(b)?b.numeric:void 0)!==g&&N(e),t.currentTarget.select(),t.stopPropagation(),t.preventDefault(),!1):void 0},title:p},inputRef:e=>{null===e||e.disabled||c(e,i)},max:T,maxDecimalPlaces:S,min:$,onBlur:()=>{F(!1)},onChange:e=>N(e),onFocus:()=>{F(!0)},placeholder:u,required:d,size:"small",startAdornment:z,value:g})))};export default NumberComponent;export{numberClasses};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
export declare const numberRangeSliderClasses: {
|
|
4
4
|
container: string;
|
|
@@ -8,5 +8,5 @@ export declare const numberRangeSliderClasses: {
|
|
|
8
8
|
/**
|
|
9
9
|
* The component for the "Number Range Slider" Form Element.
|
|
10
10
|
*/
|
|
11
|
-
declare const NumberRangeSlider: ({ className, coerceNumber, component, deriveLocale, element, enabled, format, formatNumber, manualEntry: elementManualEntry, showMinMaxLabels: elementShowMinMaxLabels, showTickMarks: elementShowTickMarks, name, raiseEvent, renderFocus, renderText, title, tooltip: elementTooltip, value: elementValue, setValue: setElementValue, }: FormElementProps<number[] | undefined>) => JSX.Element;
|
|
11
|
+
declare const NumberRangeSlider: ({ className, coerceNumber, component, deriveLocale, element, enabled, format, formatNumber, manualEntry: elementManualEntry, showMinMaxLabels: elementShowMinMaxLabels, showTickMarks: elementShowTickMarks, name, raiseEvent, renderFocus, renderText, title, tooltip: elementTooltip, value: elementValue, setValue: setElementValue, }: FormElementProps<number[] | undefined>) => React.JSX.Element;
|
|
12
12
|
export default NumberRangeSlider;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type { NumberRef } from "../FormDefinition";
|
|
4
4
|
export declare const numberSliderClasses: {
|
|
@@ -7,5 +7,5 @@ export declare const numberSliderClasses: {
|
|
|
7
7
|
/**
|
|
8
8
|
* The component for the "Number Slider" Form Element.
|
|
9
9
|
*/
|
|
10
|
-
declare const NumberSlider: ({ className, coerceNumber, component, deriveLocale, element, enabled, error, format, formatNumber, manualEntry: elementManualEntry, showMinMaxLabels: elementShowMinMaxLabels, showTickMarks: elementShowTickMarks, name, raiseEvent, renderFocus, renderText, title, tooltip: elementTooltip, value: elementValue, setValue: setElementValue, }: FormElementProps<NumberRef | undefined>) => JSX.Element;
|
|
10
|
+
declare const NumberSlider: ({ className, coerceNumber, component, deriveLocale, element, enabled, error, format, formatNumber, manualEntry: elementManualEntry, showMinMaxLabels: elementShowMinMaxLabels, showTickMarks: elementShowTickMarks, name, raiseEvent, renderFocus, renderText, title, tooltip: elementTooltip, value: elementValue, setValue: setElementValue, }: FormElementProps<NumberRef | undefined>) => React.JSX.Element;
|
|
11
11
|
export default NumberSlider;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type { defs } from "../FormHost";
|
|
4
4
|
/**
|
|
5
5
|
* The component for the "Radio Group" Form Element.
|
|
6
6
|
*/
|
|
7
|
-
declare const RadioGroup: ({ className, component, current, element, enabled, id, items: elementItems, label, name, orientation, raiseEvent, renderFocus: hostRenderFocus, renderText, setProperty, setValue, translateText, value, }: FormElementProps<defs.Value | undefined>) => JSX.Element;
|
|
7
|
+
declare const RadioGroup: ({ className, component, current, element, enabled, id, items: elementItems, label, name, orientation, raiseEvent, renderFocus: hostRenderFocus, renderText, setProperty, setValue, translateText, value, }: FormElementProps<defs.Value | undefined>) => React.JSX.Element;
|
|
8
8
|
export default RadioGroup;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type { ScanRef } from "../FormDefinition";
|
|
4
4
|
import type * as defs from "../FormDefinition";
|
|
@@ -7,5 +7,5 @@ export declare const scannerClasses: {
|
|
|
7
7
|
button: string;
|
|
8
8
|
inputContainer: string;
|
|
9
9
|
};
|
|
10
|
-
declare const Scanner: ({ autoActivate, className, component, element, enabled, manualEntry, name, raiseEvent, renderFocus, renderText, require, scanType, setProperty, setValue: setElementValue, size, tooltip: elementTooltip, value: elementValue, }: FormElementProps<defs.ScanRef | undefined>) => JSX.Element;
|
|
10
|
+
declare const Scanner: ({ autoActivate, className, component, element, enabled, manualEntry, name, raiseEvent, renderFocus, renderText, require, scanType, setProperty, setValue: setElementValue, size, tooltip: elementTooltip, value: elementValue, }: FormElementProps<defs.ScanRef | undefined>) => React.JSX.Element;
|
|
11
11
|
export default Scanner;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
export declare const sectionClasses: {
|
|
4
4
|
root: string;
|
|
@@ -12,5 +12,5 @@ export declare const sectionClasses: {
|
|
|
12
12
|
/**
|
|
13
13
|
* The component for the "Section" Form Element.
|
|
14
14
|
*/
|
|
15
|
-
declare const Section: ({ accessibleDescription: elementAccessibleDescription, className, collapsed, component, description: elementDescription, element, enabled, error: elementError, hasInvalidChild, name, refs, renderFocus, setProperty, translateText, updateMutuallyExclusiveSections, }: FormElementProps) => JSX.Element;
|
|
15
|
+
declare const Section: ({ accessibleDescription: elementAccessibleDescription, className, collapsed, component, description: elementDescription, element, enabled, error: elementError, hasInvalidChild, name, refs, renderFocus, setProperty, translateText, updateMutuallyExclusiveSections, }: FormElementProps) => React.JSX.Element;
|
|
16
16
|
export default Section;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import type { FormElementProps } from "../..";
|
|
3
3
|
import type * as defs from "../FormDefinition";
|
|
4
4
|
export declare const signatureClasses: {
|
|
@@ -8,5 +8,5 @@ export declare const signatureClasses: {
|
|
|
8
8
|
/**
|
|
9
9
|
* The component for the "Signature" Form Element.
|
|
10
10
|
*/
|
|
11
|
-
declare const Signature: ({ className, component, displayDialog, element, enabled, label, name, prompt, renderFocus, renderText, require, setValue, size, title, tooltip: elementTooltip, translateText, value, }: FormElementProps<defs.SignatureRef | undefined>) => JSX.Element;
|
|
11
|
+
declare const Signature: ({ className, component, displayDialog, element, enabled, label, name, prompt, renderFocus, renderText, require, setValue, size, title, tooltip: elementTooltip, translateText, value, }: FormElementProps<defs.SignatureRef | undefined>) => React.JSX.Element;
|
|
12
12
|
export default Signature;
|