@vertigis/workflow 5.40.1 → 5.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/activities/arcgis/ArcadeScript.d.ts +5 -1
  2. package/activities/arcgis/ArcadeScript.js +1 -1
  3. package/activities/arcgis/CreateFeatureSet.d.ts +1 -0
  4. package/activities/arcgis/CreateFeatureSet.js +1 -1
  5. package/activities/arcgis/MapProvider.js +1 -1
  6. package/activities/arcgis/QueryTask.d.ts +4 -2
  7. package/activities/arcgis/QueryTask.js +1 -1
  8. package/activities/arcgis/RunPrint.d.ts +1 -0
  9. package/activities/arcgis/RunPrint.js +1 -1
  10. package/activities/arcgis/RunReport.d.ts +1 -0
  11. package/activities/arcgis/RunReport.js +1 -1
  12. package/activities/arcgis/SymbolFromJson.js +1 -1
  13. package/activities/arcgis/TypeChecking.d.ts +1 -2
  14. package/activities/core/Subworkflow.d.ts +2 -0
  15. package/activities/ui/Alert.d.ts +6 -3
  16. package/activities/ui/Alert.js +1 -1
  17. package/activities/ui/Confirm.d.ts +6 -3
  18. package/activities/ui/Confirm.js +1 -1
  19. package/activities/ui/DialogContent.d.ts +24 -0
  20. package/activities/ui/DialogContent.js +1 -0
  21. package/activities/ui/DialogProvider.d.ts +19 -0
  22. package/activities/ui/DialogProvider.js +1 -0
  23. package/activities/ui/Prompt.d.ts +7 -4
  24. package/activities/ui/Prompt.js +1 -1
  25. package/execution/util.js +1 -1
  26. package/forms/FormDefinition.d.ts +1 -1
  27. package/forms/FormHost.d.ts +1 -3
  28. package/forms/components/AccordionGroup.js +1 -1
  29. package/forms/components/AutoComplete.d.ts +1 -1
  30. package/forms/components/AutoComplete.js +1 -1
  31. package/forms/components/ButtonBar.d.ts +1 -1
  32. package/forms/components/ButtonBar.js +1 -1
  33. package/forms/components/CheckBox.d.ts +1 -1
  34. package/forms/components/CheckBox.js +1 -1
  35. package/forms/components/CheckGroup.d.ts +1 -1
  36. package/forms/components/CheckGroup.js +1 -1
  37. package/forms/components/Custom.d.ts +1 -1
  38. package/forms/components/Custom.js +1 -1
  39. package/forms/components/DatePicker.d.ts +1 -1
  40. package/forms/components/DatePicker.js +1 -1
  41. package/forms/components/DateRangePicker.d.ts +1 -1
  42. package/forms/components/DateRangePicker.js +1 -1
  43. package/forms/components/DateTimePicker.d.ts +1 -1
  44. package/forms/components/DateTimePicker.js +1 -1
  45. package/forms/components/DropDownList.d.ts +1 -1
  46. package/forms/components/DropDownList.js +1 -1
  47. package/forms/components/FilePicker.d.ts +4 -1
  48. package/forms/components/FilePicker.js +1 -1
  49. package/forms/components/Form.d.ts +1 -1
  50. package/forms/components/Form.js +1 -1
  51. package/forms/components/FormElement.d.ts +37 -0
  52. package/forms/components/FormElement.js +1 -0
  53. package/forms/components/GeometryPicker.d.ts +4 -1
  54. package/forms/components/GeometryPicker.js +1 -1
  55. package/forms/components/HorizontalRule.d.ts +1 -1
  56. package/forms/components/HorizontalRule.js +1 -1
  57. package/forms/components/Image.d.ts +1 -1
  58. package/forms/components/Image.js +1 -1
  59. package/forms/components/ItemPicker.d.ts +1 -1
  60. package/forms/components/ItemPicker.js +1 -1
  61. package/forms/components/ListBox.d.ts +4 -1
  62. package/forms/components/ListBox.js +1 -1
  63. package/forms/components/Markdown.d.ts +1 -3
  64. package/forms/components/Markdown.js +1 -1
  65. package/forms/components/Number.d.ts +1 -1
  66. package/forms/components/Number.js +1 -1
  67. package/forms/components/NumberRangeSlider.d.ts +1 -1
  68. package/forms/components/NumberRangeSlider.js +1 -1
  69. package/forms/components/NumberSlider.d.ts +1 -1
  70. package/forms/components/NumberSlider.js +1 -1
  71. package/forms/components/RadioGroup.d.ts +1 -1
  72. package/forms/components/RadioGroup.js +1 -1
  73. package/forms/components/Scanner.d.ts +1 -1
  74. package/forms/components/Scanner.js +1 -1
  75. package/forms/components/Section.d.ts +1 -1
  76. package/forms/components/Section.js +1 -1
  77. package/forms/components/Signature.d.ts +1 -1
  78. package/forms/components/Signature.js +1 -1
  79. package/forms/components/SignatureDialog.d.ts +3 -1
  80. package/forms/components/SignatureDialog.js +1 -1
  81. package/forms/components/Sketch.d.ts +1 -1
  82. package/forms/components/Sketch.js +1 -1
  83. package/forms/components/SketchDialog.d.ts +3 -8
  84. package/forms/components/SketchDialog.js +1 -1
  85. package/forms/components/TabGroup.js +1 -1
  86. package/forms/components/Text.d.ts +1 -1
  87. package/forms/components/Text.js +1 -1
  88. package/forms/components/TextArea.d.ts +1 -1
  89. package/forms/components/TextArea.js +1 -1
  90. package/forms/components/TextBox.d.ts +1 -1
  91. package/forms/components/TextBox.js +1 -1
  92. package/forms/components/TimePicker.d.ts +1 -1
  93. package/forms/components/TimePicker.js +1 -1
  94. package/forms/{common.d.ts → components/common.d.ts} +13 -28
  95. package/forms/components/common.js +1 -0
  96. package/forms/dateUtilities.d.ts +10 -5
  97. package/forms/dateUtilities.js +1 -1
  98. package/forms/hostContext.d.ts +4 -0
  99. package/forms/hostContext.js +1 -0
  100. package/forms/index.d.ts +0 -21
  101. package/forms/numberUtilities.d.ts +1 -1
  102. package/forms/numberUtilities.js +1 -1
  103. package/forms/presenter.js +1 -1
  104. package/forms/utils.d.ts +13 -0
  105. package/forms/utils.js +1 -1
  106. package/libs/version.d.ts +1 -1
  107. package/libs/version.js +1 -1
  108. package/licensing/LicenseChecker.js +1 -1
  109. package/package.json +8 -7
  110. package/ui/UIService.d.ts +23 -0
  111. package/ui/UIService.js +1 -0
  112. package/forms/FormElement.d.ts +0 -23
  113. package/forms/FormElement.js +0 -1
  114. package/forms/common.js +0 -1
@@ -1 +1 @@
1
- import{createElement}from"react";import*as React from"react";import{createRoot}from"react-dom/client";import{FormComponent}from"./FormComponent.js";import Custom from"./components/Custom.js";import{FormComponentTypes,FormElementTypes}from"./constants.js";import{renderComponent,renderNone as renderers_renderNone}from"./renderers.js";import{getElementProps}from"./utils.js";function refresh(e){e instanceof FormComponent&&e.forceUpdate()}const rootMap=new WeakMap;function refreshForm(e,r){rootMap.has(r)||rootMap.set(r,createRoot(r)),rootMap.get(r).render(React.createElement(FormComponent,{host:e,type:"form",children:[]}))}function releaseForm(e){rootMap.has(e)&&(rootMap.get(e).unmount(),rootMap.delete(e))}function render(e){if(e instanceof FormComponent){var r=e.props.type;if(r!==FormComponentTypes.ELEMENT&&r!==FormComponentTypes.SECTION)return renderComponent(e);var o=e.prepare();if(null==o)return;r=o.type;if("string"!=typeof r)return;if(r===FormElementTypes.CUSTOM)return createElement(Custom,getElementProps(e,o));if(e.elementRegistration)return createElement(e.elementRegistration.component,getElementProps(e,o))}}function renderNone(e){if(e instanceof FormComponent)return renderers_renderNone(e)}export{refresh,refreshForm,releaseForm,render,renderNone};
1
+ import{createElement}from"react";import*as React from"react";import{createRoot}from"react-dom/client";import{FormComponent}from"./FormComponent.js";import Custom from"./components/Custom.js";import{FormComponentTypes,FormElementTypes}from"./constants.js";import{HostProvider}from"./hostContext.js";import{renderComponent,renderNone as renderers_renderNone}from"./renderers.js";import{getElementProps}from"./utils.js";function refresh(e){e instanceof FormComponent&&e.forceUpdate()}const rootMap=new WeakMap;function refreshForm(e,r){rootMap.has(r)||rootMap.set(r,createRoot(r)),rootMap.get(r).render(React.createElement(HostProvider,{value:e},React.createElement(FormComponent,{host:e,type:"form",children:[]})))}function releaseForm(e){rootMap.has(e)&&(rootMap.get(e).unmount(),rootMap.delete(e))}function render(e){if(e instanceof FormComponent){var r=e.props.type;if(r!==FormComponentTypes.ELEMENT&&r!==FormComponentTypes.SECTION)return renderComponent(e);var o=e.prepare();if(null==o)return;r=o.type;if("string"!=typeof r)return;if(r===FormElementTypes.CUSTOM)return createElement(Custom,getElementProps(e,o));if(e.elementRegistration)return createElement(e.elementRegistration.component,getElementProps(e,o))}}function renderNone(e){if(e instanceof FormComponent)return renderers_renderNone(e)}export{refresh,refreshForm,releaseForm,render,renderNone};
package/forms/utils.d.ts CHANGED
@@ -107,6 +107,11 @@ export declare function inspectItems(current: string | undefined, items: Record<
107
107
  export declare function makeSafeClassName(elementName: string | undefined): string;
108
108
  /** @public */
109
109
  export declare function makeUniqueId(elementName: string | undefined): string;
110
+ export declare function getAccessibleDescriptionId(elementId: string): string;
111
+ export declare function getDescriptionId(elementId: string): string;
112
+ export declare function getErrorId(elementId: string): string;
113
+ export declare function getInputId(elementId: string): string;
114
+ export declare function getLabelId(elementId: string): string;
110
115
  export declare function addClass(element: HTMLElement, name: string): void;
111
116
  export declare function removeClass(element: HTMLElement, name: string): void;
112
117
  export declare function setClass(element: HTMLElement, name: string, exists: boolean): void;
@@ -125,6 +130,7 @@ export declare function isAccordionSection(element?: defs.Element): boolean;
125
130
  * @param element The element to be inspected.
126
131
  */
127
132
  export declare function isCollapsibleSection(element?: defs.Element): boolean;
133
+ export declare function isFieldsetSection(element?: defs.Element): boolean;
128
134
  export declare function isMutuallyExclusiveSection(element?: defs.Element): boolean;
129
135
  /**
130
136
  * Returns `true` if the element has a `type` of `"Section"` and a `format` of `"tab-section"`, `false` otherwise.
@@ -183,3 +189,10 @@ export declare function getElementProps(component: FormComponent, element: defs.
183
189
  * @returns The key corresponding to the item, or undefined if no match was found.
184
190
  */
185
191
  export declare function getItemId(item: defs.Item | null | undefined, items: Record<string, defs.Item>): string | undefined;
192
+ /**
193
+ * This custom hook returns the locale code for the current locale.
194
+ * It is expected that a component that uses this hook has a `@vertigis/react-ui/LocalizationProvider` somewhere in its ancestory.
195
+ * @returns The locale code for the current locale.
196
+ * @throws If no locale was found.
197
+ */
198
+ export declare function useLocale(): string;
package/forms/utils.js CHANGED
@@ -1 +1 @@
1
- import{FormElementTypes}from"./constants.js";import*as text from"./textUtilities.js";const DEFAULT_DEBOUNCE_DELAY=300,DEFAULT_THROTTLE_DELAY=100;let next=0,seed=(new Date).valueOf();const guid="5DDC9A38-AAAB-44C1-AD87-415160F43D75";function makeId(){return 2147483648<=next&&(seed=(new Date).valueOf(),next=0),`${guid}:${seed}:${next++}`}function indexOf(e,t){if(null!=e){e=e.index;return"number"==typeof e?e:t}}function compareIndex(e,t){return compareNumber(e.index,t.index)}function compareNumber(e,t){return e<t?-1:t<e?1:0}function sortAndFilter(e,t){void 0===t&&(t=indexOf);const n={};if("object"!=typeof e||null===e)return n;let i=0;const r=[];for(const a in e){var s=e[a],o=t(s,i++);"number"==typeof o&&r.push({key:a,index:o,item:s})}for(const c of r.sort(compareIndex))n[c.key]=c.item;return n}function inspectItems(e,t,n){let i;var r=sortAndFilter(t,function(e,t){if(null!=e&&!1!==e.visible){e=e.index;return"number"==typeof e?e:t}});if(void 0===(e=null==e||void 0===r[e]?void 0:e)&&null!=n)for(const s in r){if(r[s].value===n){e=s;break}e=void 0}return n=void 0!==e?(i=r[e].label,r[e].value):i=void 0,{current:e,items:r,label:i,value:n}}function stripClassName(e,t){return e.className.split(" ").filter(e=>0<e.length&&e!==t).join(" ")}function makeSafeClassName(e){return`gcx-forms-${e?.replace(/[\W]/g,"")||"element"}`}let idSuffix=0;function makeUniqueId(e){return`${makeSafeClassName(e)}-${++idSuffix}`}function addClass(e,t){void 0!==e.classList?e.classList.add(t):e.className=stripClassName(e,t)+" "+t}function removeClass(e,t){void 0!==e.classList?e.classList.remove(t):e.className=stripClassName(e,t)}function setClass(e,t,n){(n?addClass:removeClass)(e,t)}function isObjectType(e,t){return"object"==typeof e&&null!==e&&(!Array.isArray(e)&&e.refValueType===t)}function isSection(e){return e?.type===FormElementTypes.SECTION}function isAccordionSection(e){return isSection(e)&&"accordion-section"===e.format}function isCollapsibleSection(e){return isSection(e)&&"collapsible-section"===e.format}function isMutuallyExclusiveSection(e){return isAccordionSection(e)||isTabSection(e)}function isTabSection(e){return isSection(e)&&"tab-section"===e.format}function isBoolean(e){return"boolean"==typeof e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isDataRef(e){return isObjectType(e,"data")}function isDateRangeRef(e){return isObjectType(e,"daterange")}function isDateTimeRef(e){return isObjectType(e,"date")||isObjectType(e,"time")||isObjectType(e,"datetime")}function isFilesRef(e){return isObjectType(e,"files")}function isScanRef(e){return isObjectType(e,"scan")}function isGeometryRef(e){return isObjectType(e,"geometry")}function isItemsRef(e){return isObjectType(e,"items")}function isNumberRef(e){return isObjectType(e,"number")}function isSketchRef(e){return isObjectType(e,"sketch")}function sanitizeGeometryRef(e){if(isGeometryRef(e)){var t=e.geometry;if(Array.isArray(t)&&0<t.length)switch(e.format){case"point":case"polygon":case"polyline":case"polygon-freehand":case"polyline-freehand":case"extent":case"line":return e}}}function createGeometryRef(e){return{refValueType:"geometry",format:e,geometry:[]}}function debounce(t,n=DEFAULT_DEBOUNCE_DELAY){let i;return function(){const e=()=>{i=void 0,t.apply(this,arguments)};return clearTimeout(i),i=setTimeout(e,n),{now:()=>{i&&(clearTimeout(i),e())},cancel:()=>{i&&(clearTimeout(i),i=void 0)}}}}function throttle(n,i=DEFAULT_THROTTLE_DELAY){let r,s;return function(){var e=Date.now(),t=()=>{s=void 0,r=Date.now(),n.apply(this,arguments)};r&&e<r+i?(clearTimeout(s),s=setTimeout(t,i)):t()}}function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}const HostMap=new WeakMap;function getElementProps(e,t){var{enabled:n,id:i,raiseEvent:r,setItemProperty:s,setProperty:o,setValue:a}=e;const c=e.props["host"];let u=HostMap.get(c);u||(u={coerceNumber:c.coerceNumber.bind(c),deriveLocale:c.deriveLocale.bind(c),displayDialog:c.displayDialog.bind(c),formatNumber:c.formatNumber.bind(c),hasInvalidChild:c.hasInvalidChild.bind(c),refs:c.refs,renderFocus:c.renderFocus.bind(c),renderState:c.renderState.bind(c),renderText:c.renderText.bind(c),translateText:c.translateText.bind(c),updateMutuallyExclusiveSections:c.updateMutuallyExclusiveSections.bind(c)},HostMap.set(c,u));var{format:l,manualEntry:f,showMinMaxLabels:m,showTickMarks:d,size:p,type:y,value:b,wrap:T}=t;return{...t,enabled:!!n,id:i,raiseEvent:r,setItemProperty:s,setProperty:o,setValue:a,format:l,manualEntry:f,showMinMaxLabels:m,showTickMarks:d,size:p,type:y,value:b,wrap:T,coerceNumber:u.coerceNumber,displayDialog:u.displayDialog,deriveLocale:u.deriveLocale,formatNumber:u.formatNumber,hasInvalidChild:u.hasInvalidChild,refs:u.refs,renderFocus:u.renderFocus,renderState:u.renderState,renderText:u.renderText,translateText:u.translateText,updateMutuallyExclusiveSections:u.updateMutuallyExclusiveSections,element:t,name:e.props.name,component:e}}function getItemId(e,t){if(e)for(const n in t)if(t[n]===e)return n}export{text,makeId,sortAndFilter,inspectItems,makeSafeClassName,makeUniqueId,addClass,removeClass,setClass,isSection,isAccordionSection,isCollapsibleSection,isMutuallyExclusiveSection,isTabSection,isBoolean,isNumber,isString,isDataRef,isDateRangeRef,isDateTimeRef,isFilesRef,isScanRef,isGeometryRef,isItemsRef,isNumberRef,isSketchRef,sanitizeGeometryRef,createGeometryRef,debounce,throttle,isNumeric,getElementProps,getItemId};
1
+ import{MuiPickersAdapterContext}from"@vertigis/react-ui/LocalizationProvider";import{useContext}from"react";import{FormElementTypes}from"./constants.js";import*as text from"./textUtilities.js";const DEFAULT_DEBOUNCE_DELAY=300,DEFAULT_THROTTLE_DELAY=100;let next=0,seed=(new Date).valueOf();const guid="5DDC9A38-AAAB-44C1-AD87-415160F43D75";function makeId(){return 2147483648<=next&&(seed=(new Date).valueOf(),next=0),`${guid}:${seed}:${next++}`}function indexOf(e,t){if(null!=e){e=e.index;return"number"==typeof e?e:t}}function compareIndex(e,t){return compareNumber(e.index,t.index)}function compareNumber(e,t){return e<t?-1:t<e?1:0}function sortAndFilter(e,t){void 0===t&&(t=indexOf);const i={};if("object"!=typeof e||null===e)return i;let n=0;const r=[];for(const a in e){var o=e[a],s=t(o,n++);"number"==typeof s&&r.push({key:a,index:s,item:o})}for(const c of r.sort(compareIndex))i[c.key]=c.item;return i}function inspectItems(e,t,i){let n;var r=sortAndFilter(t,function(e,t){if(null!=e&&!1!==e.visible){e=e.index;return"number"==typeof e?e:t}});if(void 0===(e=null==e||void 0===r[e]?void 0:e)&&null!=i)for(const o in r){if(r[o].value===i){e=o;break}e=void 0}return i=void 0!==e?(n=r[e].label,r[e].value):n=void 0,{current:e,items:r,label:n,value:i}}function stripClassName(e,t){return e.className.split(" ").filter(e=>0<e.length&&e!==t).join(" ")}function makeSafeClassName(e){return`gcx-forms-${e?.replace(/[\W]/g,"")||"element"}`}let idSuffix=0;function makeUniqueId(e){return`${makeSafeClassName(e)}-${++idSuffix}`}function addSuffix(e,t){return`${e}-${t}`}function getAccessibleDescriptionId(e){return addSuffix(e,"accessible-description")}function getDescriptionId(e){return addSuffix(e,"description")}function getErrorId(e){return addSuffix(e,"error")}function getInputId(e){return addSuffix(e,"input")}function getLabelId(e){return addSuffix(e,"label")}function addClass(e,t){void 0!==e.classList?e.classList.add(t):e.className=stripClassName(e,t)+" "+t}function removeClass(e,t){void 0!==e.classList?e.classList.remove(t):e.className=stripClassName(e,t)}function setClass(e,t,i){(i?addClass:removeClass)(e,t)}function isObjectType(e,t){return"object"==typeof e&&null!==e&&(!Array.isArray(e)&&e.refValueType===t)}function isSection(e){return e?.type===FormElementTypes.SECTION}function isAccordionSection(e){return isSection(e)&&"accordion-section"===e.format}function isCollapsibleSection(e){return isSection(e)&&"collapsible-section"===e.format}function isFieldsetSection(e){return isSection(e)&&"fieldset-section"===e.format}function isMutuallyExclusiveSection(e){return isAccordionSection(e)||isTabSection(e)}function isTabSection(e){return isSection(e)&&"tab-section"===e.format}function isBoolean(e){return"boolean"==typeof e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isDataRef(e){return isObjectType(e,"data")}function isDateRangeRef(e){return isObjectType(e,"daterange")}function isDateTimeRef(e){return isObjectType(e,"date")||isObjectType(e,"time")||isObjectType(e,"datetime")}function isFilesRef(e){return isObjectType(e,"files")}function isScanRef(e){return isObjectType(e,"scan")}function isGeometryRef(e){return isObjectType(e,"geometry")}function isItemsRef(e){return isObjectType(e,"items")}function isNumberRef(e){return isObjectType(e,"number")}function isSketchRef(e){return isObjectType(e,"sketch")}function sanitizeGeometryRef(e){if(isGeometryRef(e)){var t=e.geometry;if(Array.isArray(t)&&0<t.length)switch(e.format){case"multipoint":case"point":case"polygon":case"polyline":case"polygon-freehand":case"polyline-freehand":case"extent":case"line":return e}}}function createGeometryRef(e){return{refValueType:"geometry",format:e,geometry:[]}}function debounce(t,i=DEFAULT_DEBOUNCE_DELAY){let n;return function(){const e=()=>{n=void 0,t.apply(this,arguments)};return clearTimeout(n),n=setTimeout(e,i),{now:()=>{n&&(clearTimeout(n),e())},cancel:()=>{n&&(clearTimeout(n),n=void 0)}}}}function throttle(i,n=DEFAULT_THROTTLE_DELAY){let r,o;return function(){var e=Date.now(),t=()=>{o=void 0,r=Date.now(),i.apply(this,arguments)};r&&e<r+n?(clearTimeout(o),o=setTimeout(t,n)):t()}}function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}function getElementProps(e,t){var{enabled:i,id:n,raiseEvent:r,setItemProperty:o,setProperty:s,setValue:a}=e,{format:c,manualEntry:u,showMinMaxLabels:f,showTickMarks:l,size:m,type:d,value:p,wrap:y}=t;return{...t,enabled:!!i,id:n,raiseEvent:r,setItemProperty:o,setProperty:s,setValue:a,format:c,manualEntry:u,showMinMaxLabels:f,showTickMarks:l,size:m,type:d,value:p,wrap:y,element:t,name:e.props.name,component:e}}function getItemId(e,t){if(e)for(const i in t)if(t[i]===e)return i}function useLocale(){var e=useContext(MuiPickersAdapterContext)?.utils?.locale?.code;if(!e)throw new Error("Failed to detect locale. Ensure there is a LocalizationProvider in the ancestry of the component that is using this hook.");return e}export{text,makeId,sortAndFilter,inspectItems,makeSafeClassName,makeUniqueId,getAccessibleDescriptionId,getDescriptionId,getErrorId,getInputId,getLabelId,addClass,removeClass,setClass,isSection,isAccordionSection,isCollapsibleSection,isFieldsetSection,isMutuallyExclusiveSection,isTabSection,isBoolean,isNumber,isString,isDataRef,isDateRangeRef,isDateTimeRef,isFilesRef,isScanRef,isGeometryRef,isItemsRef,isNumberRef,isSketchRef,sanitizeGeometryRef,createGeometryRef,debounce,throttle,isNumeric,getElementProps,getItemId,useLocale};
package/libs/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "5.40.1+4";
1
+ export declare const VERSION = "5.42.0+49";
package/libs/version.js CHANGED
@@ -1 +1 @@
1
- const VERSION="5.40.1+4";export{VERSION};
1
+ const VERSION="5.42.0+49";export{VERSION};
@@ -1 +1 @@
1
- import{validate}from"@vertigis-internal/licensing";import*as React from"react";import{createRoot}from"react-dom/client";import Watermark from"./Watermark.js";const workflowSkuCode="GCXWFL";let div,root;function show(){void 0===div&&(div=document.createElement("div"),root=createRoot(div)),div.parentNode!==document.body&&(null!==div.parentNode&&div.parentNode.removeChild(div),document.body.appendChild(div));root.render(React.createElement(Watermark,{hide:()=>{null!==div?.parentNode&&div.parentNode.removeChild(div)},message:"VertiGIS Studio Workflow must be licensed for use in production applications."}))}async function check(o,t){if("localhost"!==location.hostname&&"127.0.0.1"!==location.hostname){t=t?`-${workflowSkuCode}-${t}-`:`${workflowSkuCode}-`;if(void 0===div&&(div=document.createElement("div"),root=createRoot(div)),null===div.parentNode){let e=o?.licenseInfo?.licenseeId;o=o?.licenseInfo?.licenseUrl;o&&!e&&(e="a");try{const i=await validate({sku:t,orgId:e,url:o});if(!i?.isValid){if(i&&!i.isEval&&i.expires)if(((new Date).getTime()-i.expires.getTime())/864e5<60)return;show()}}catch{show()}}}}export{check};
1
+ import{validate}from"@vertigis/licensing";import*as React from"react";import{createRoot}from"react-dom/client";import Watermark from"./Watermark.js";const workflowSkuCode="GCXWFL";let div,root;function show(){void 0===div&&(div=document.createElement("div"),root=createRoot(div)),div.parentNode!==document.body&&(null!==div.parentNode&&div.parentNode.removeChild(div),document.body.appendChild(div));root.render(React.createElement(Watermark,{hide:()=>{null!==div?.parentNode&&div.parentNode.removeChild(div)},message:"VertiGIS Studio Workflow must be licensed for use in production applications."}))}async function check(o,t){if("localhost"!==location.hostname&&"127.0.0.1"!==location.hostname){t=t?`-${workflowSkuCode}-${t}-`:`${workflowSkuCode}-`;if(void 0===div&&(div=document.createElement("div"),root=createRoot(div)),null===div.parentNode){let e=o?.licenseInfo?.licenseeId;o=o?.licenseInfo?.licenseUrl;o&&!e&&(e="a");try{const i=await validate({sku:t,orgId:e,url:o});if(!i?.isValid){if(i&&!i.isEval&&i.expires)if(((new Date).getTime()-i.expires.getTime())/864e5<60)return;show()}}catch{show()}}}}export{check};
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@vertigis/workflow",
3
- "version": "5.40.1",
3
+ "version": "5.42.0",
4
4
  "author": "VertiGIS",
5
5
  "dependencies": {
6
6
  "@date-fns/utc": "^1.2.0",
7
- "@zxing/library": "^0.20.0",
7
+ "@zxing/browser": "0.1.5",
8
+ "@zxing/library": "0.21.3",
8
9
  "autosuggest-highlight": "^3.3.4",
9
10
  "bluebird": "3.5.5",
10
11
  "clsx": "^1.2.1",
@@ -13,7 +14,7 @@
13
14
  },
14
15
  "type": "module",
15
16
  "devDependencies": {
16
- "@arcgis/core": "4.28.10",
17
+ "@arcgis/core": "4.29.10",
17
18
  "@emotion/react": "^11.8.2",
18
19
  "@emotion/styled": "^11.8.1",
19
20
  "@swc/core": "^1.3.95",
@@ -22,8 +23,8 @@
22
23
  "@types/jest": "^29.2.3",
23
24
  "@types/react": "18.2.46",
24
25
  "@types/react-dom": "18.2.18",
25
- "@vertigis-internal/licensing": "^5.0.102868",
26
- "@vertigis/react-ui": "16.0.2",
26
+ "@vertigis/licensing": "5.1.1",
27
+ "@vertigis/react-ui": "16.6.2",
27
28
  "cross-env": "7.0.3",
28
29
  "jest": "^29.7.0",
29
30
  "jest-environment-jsdom": "^29.7.0",
@@ -37,8 +38,8 @@
37
38
  "typescript": "5.2.2"
38
39
  },
39
40
  "peerDependencies": {
40
- "@arcgis/core": ">= 4.28.10 < 5.0.0",
41
- "@vertigis/react-ui": ">= 16.0.0-0 < 17.0.0-0",
41
+ "@arcgis/core": ">= 4.29.0 < 5.0.0",
42
+ "@vertigis/react-ui": ">= 16.3.1-0 < 17.0.0-0",
42
43
  "react": ">= 18 < 19",
43
44
  "react-dom": ">= 18 < 19"
44
45
  },
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import type { ElementType, ReactNode } from "react";
3
+ /**
4
+ * Basic implementation of a UI Service to match how Web handles dialogs.
5
+ * The important part is that the `displayDialog()` method has a similar enough signature
6
+ * to allow Web to call its version.
7
+ */
8
+ export declare class UIService {
9
+ private _children;
10
+ private _DialogComponent;
11
+ private resolve;
12
+ private root;
13
+ private readonly rootElementId;
14
+ /**
15
+ * Creates a new UIService
16
+ * @param rootElementId The id of the element in the DOM that will contain the dialog.
17
+ */
18
+ constructor(rootElementId: string);
19
+ displayDialog: (children: (closeDialog: () => void) => ReactNode, DialogComponent: ElementType<any>) => Promise<void>;
20
+ closeDialog: () => void;
21
+ renderDialog: (open: boolean) => null | undefined;
22
+ wrapProviders: (content: React.JSX.Element) => React.JSX.Element;
23
+ }
@@ -0,0 +1 @@
1
+ import React from"react";import{createRoot}from"react-dom/client";class UIService{constructor(e){this.displayDialog=(o,t)=>new Promise(e=>{this._children=o(this.closeDialog),this._DialogComponent=t,this.resolve=e,this.renderDialog(!0)}),this.closeDialog=()=>{this.renderDialog(!1),this.resolve(),this._children=void 0,this._DialogComponent=void 0,this.resolve=void 0},this.renderDialog=e=>{var o,t=this._DialogComponent,i=this._children;if(!t)return null;this.root||(o=document.getElementById(this.rootElementId),this.root=createRoot(o)),this.root.render(this.wrapProviders(React.createElement(t,{open:e},i)))},this.wrapProviders=e=>(console.warn("UIService.wrapProviders should be overridden by the client."),e),this.rootElementId=e}}export{UIService};
@@ -1,23 +0,0 @@
1
- import * as React from "react";
2
- import type { FormComponent } from "./FormComponent";
3
- import type { defs } from "./FormHost";
4
- interface FormElementProps {
5
- /** The CSS class name of the root element. */
6
- className?: string;
7
- /**
8
- * The `FormComponent` being used to render the Form Element within this Component.
9
- */
10
- component: FormComponent;
11
- /**
12
- * The Form Element to be rendered within this Component.
13
- */
14
- element: defs.Element;
15
- /**
16
- * The id of the default input to be associated with the title.
17
- */
18
- inputId?: string;
19
- }
20
- declare const _default: React.ForwardRefExoticComponent<FormElementProps & {
21
- children?: React.ReactNode;
22
- } & React.RefAttributes<HTMLDivElement>>;
23
- export default _default;
@@ -1 +0,0 @@
1
- import FormControl from"@vertigis/react-ui/FormControl";import clsx from"clsx";import{forwardRef}from"react";import*as React from"react";import{renderAccessibleDescription,renderDescription,renderError,renderTitle}from"./common.js";import{formClasses}from"./components/Form.js";import{TitleLocation}from"./constants.js";import{makeSafeClassName,makeUniqueId}from"./utils.js";export default forwardRef((e,r)=>{var{children:t,className:o,component:i,element:s,inputId:a}=e;const{host:m,name:n}=i.props;var l=makeUniqueId(n),c=m.translateText.bind(m),e=renderTitle(l,s.require,s.title,c,a),i=renderDescription(s.description,l,s.enabled,c),a=renderAccessibleDescription(s.accessibleDescription,s.description,l,c),c=renderError(s.error,c),r={"aria-labelledby":e?.props?.id,"aria-details":i?.props?.id,"aria-describedby":a?.props?.id,className:clsx(o,s.type,{[formClasses.formElementWithTitleBeside]:s.titleLocation===TitleLocation.BESIDE,[makeSafeClassName(n)]:!!n,[makeSafeClassName(s.styleName)]:!!s.styleName}),error:!!c,id:l,ref:r,required:s.require};let p=[e];return s.titleLocation===TitleLocation.BESIDE?p.push(React.createElement("div",{className:formClasses.formElementContent},i,a,c,t)):(p.push(i),p.push(a),p.push(c),p.push(t)),React.createElement(FormControl,{fullWidth:!0,...r},...p)});
package/forms/common.js DELETED
@@ -1 +0,0 @@
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};