@abgov/jsonforms-components 2.47.5 → 2.47.7

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/index.esm.js CHANGED
@@ -5,7 +5,7 @@ import { GoabFormItem, GoabInput, GoabTextArea, GoabCallout, GoabRadioGroup, Goa
5
5
  import styled from 'styled-components';
6
6
  import axios from 'axios';
7
7
  import get$1 from 'lodash/get';
8
- import { isVisible, isEnabled, deriveLabelForUISchemaElement, rankWith, isStringControl, and, optionIs, isDateControl, isNumberControl, isIntegerControl, isDateTimeControl, isTimeControl, uiTypeIs, isControl as isControl$1, isEnumControl, isBooleanControl, createDefaultValue, Paths, toDataPath, Resolve, schemaMatches, getAjv, or, isObjectArrayControl, isPrimitiveArrayControl, schemaTypeIs, formatIs, hasType, isCategorization, isLayout } from '@jsonforms/core';
8
+ import { isVisible, isEnabled, deriveLabelForUISchemaElement, rankWith, isStringControl, and, optionIs, isDateControl, isNumberControl, isIntegerControl, isDateTimeControl, isTimeControl, uiTypeIs, isControl as isControl$1, isEnumControl, isBooleanControl, createDefaultValue, Paths, toDataPath, Resolve, schemaMatches, getAjv, or, isObjectArrayControl, isPrimitiveArrayControl, composePaths, schemaTypeIs, formatIs, hasType, isCategorization, isLayout } from '@jsonforms/core';
9
9
  import * as _$c from 'lodash';
10
10
  import ___default, { isEqual, isObject as isObject$i, isEmpty as isEmpty$1 } from 'lodash';
11
11
  import { useJsonForms, withJsonFormsControlProps, withJsonFormsEnumProps, withTranslateProps, JsonFormsDispatch, withJsonFormsAllOfProps, withJsonFormsArrayLayoutProps, withJsonFormsLayoutProps, withJsonFormsCellProps } from '@jsonforms/react';
@@ -11596,7 +11596,8 @@ const ArrayControl = props => {
11596
11596
  }))
11597
11597
  });
11598
11598
  };
11599
- const GoAArrayControlTester = rankWith(3, or(isObjectArrayControl, isPrimitiveArrayControl));
11599
+ const GoAArrayControlTester = rankWith(3, or(isObjectArrayControl));
11600
+ const GoAPrimitiveArrayTester = rankWith(2, isPrimitiveArrayControl);
11600
11601
  const ArrayControlBase = props => {
11601
11602
  const {
11602
11603
  visible
@@ -11625,6 +11626,70 @@ const ArrayControlReview = props => {
11625
11626
  };
11626
11627
  const GoAArrayControlRenderer = withJsonFormsControlProps(ArrayControlBase);
11627
11628
  const GoAArrayControlReviewRenderer = withJsonFormsControlProps(ArrayControlReview);
11629
+ const PrimitiveArrayControl = props => {
11630
+ const {
11631
+ data,
11632
+ path,
11633
+ handleChange,
11634
+ visible,
11635
+ enabled,
11636
+ uischema,
11637
+ schema,
11638
+ renderers,
11639
+ cells
11640
+ } = props;
11641
+ const items = Array.isArray(data) ? data : [];
11642
+ const addItem = () => {
11643
+ handleChange(path, [...items, '']);
11644
+ };
11645
+ const removeItem = index => {
11646
+ const copy = [...items];
11647
+ copy.splice(index, 1);
11648
+ handleChange(path, copy);
11649
+ };
11650
+ const itemUiSchema = Object.assign({}, uischema, {
11651
+ scope: '#'
11652
+ });
11653
+ const label = (uischema == null ? void 0 : uischema.label) || (schema == null ? void 0 : schema.title) || 'Item';
11654
+ const arrayLabel = getLabelText(uischema.scope, label);
11655
+ const prettyLabel = pluralize.singular(arrayLabel.charAt(0).toLocaleUpperCase() + arrayLabel.slice(1));
11656
+ return jsxs(Visible, {
11657
+ visible: visible,
11658
+ children: [jsx("div", {
11659
+ style: {
11660
+ marginBottom: '8px'
11661
+ },
11662
+ children: jsxs(GoabButton, {
11663
+ disabled: !enabled,
11664
+ onClick: () => addItem(),
11665
+ children: ["Add ", prettyLabel]
11666
+ })
11667
+ }), items.length === 0 && jsxs("p", {
11668
+ style: {
11669
+ opacity: 0.7
11670
+ },
11671
+ children: ["No ", arrayLabel.toLowerCase(), " added"]
11672
+ }), items.map((item, index) => jsxs("div", {
11673
+ style: {
11674
+ display: 'flex',
11675
+ gap: 8
11676
+ },
11677
+ children: [jsx(JsonFormsDispatch, {
11678
+ schema: schema.items,
11679
+ uischema: itemUiSchema,
11680
+ path: composePaths(path, `${index}`),
11681
+ enabled: enabled,
11682
+ renderers: renderers,
11683
+ cells: cells
11684
+ }, index), jsx(GoabIconButton, {
11685
+ icon: "trash",
11686
+ "aria-label": `remove-${index}`,
11687
+ onClick: () => removeItem(index)
11688
+ })]
11689
+ }, index))]
11690
+ });
11691
+ };
11692
+ const GoAPrimitiveArrayRenderer = withJsonFormsControlProps(PrimitiveArrayControl);
11628
11693
 
11629
11694
  const ListWithDetailsControl = props => {
11630
11695
  const [open, setOpen] = useState(false);
@@ -13131,16 +13196,12 @@ const getCategoryStatus = category => {
13131
13196
  const getCategoryStatusBadge = category => {
13132
13197
  const status = getCategoryStatus(category);
13133
13198
  const badgeType = status === PageStatus.Complete ? 'success' : 'information';
13134
- return (
13135
- // <div style={{ paddingTop: '5px' }}>
13136
- jsx(GoabBadge, {
13137
- type: badgeType,
13138
- content: status,
13139
- ariaLabel: status,
13140
- icon: false
13141
- })
13142
- // </div>
13143
- );
13199
+ return jsx(GoabBadge, {
13200
+ type: badgeType,
13201
+ content: status,
13202
+ ariaLabel: status,
13203
+ icon: false
13204
+ });
13144
13205
  };
13145
13206
 
13146
13207
  /* eslint-disable jsx-a11y/anchor-is-valid */
@@ -13160,7 +13221,10 @@ const CategoryRow = ({
13160
13221
  onKeyDown: e => e.key === 'Enter' && onClick(index),
13161
13222
  "data-testid": `page-ref-${index}`,
13162
13223
  children: [jsx("td", {
13163
- children: category.label
13224
+ children: jsx("a", {
13225
+ href: "#",
13226
+ children: category.label
13227
+ })
13164
13228
  }, `task-list-${index}-stepper-row-label`), jsx(CategoryStatus, {
13165
13229
  children: jsx(Center, {
13166
13230
  children: getCategoryStatusBadge(category)
@@ -13679,14 +13743,14 @@ const RenderPages = props => {
13679
13743
  });
13680
13744
  };
13681
13745
 
13682
- const isRecord = v => typeof v === 'object' && v !== null && !Array.isArray(v);
13746
+ const isRecord$1 = v => typeof v === 'object' && v !== null && !Array.isArray(v);
13683
13747
  function getByJsonPointer(obj, pointer) {
13684
- if (!isRecord(obj) || !pointer || pointer[0] !== '#') return undefined;
13748
+ if (!isRecord$1(obj) || !pointer || pointer[0] !== '#') return undefined;
13685
13749
  const parts = pointer.replace(/^#\//, '').split('/').filter(Boolean);
13686
13750
  let cur = obj;
13687
13751
  for (const part of parts) {
13688
13752
  if (part === 'properties') continue;
13689
- if (!isRecord(cur)) return undefined;
13753
+ if (!isRecord$1(cur)) return undefined;
13690
13754
  cur = cur[part];
13691
13755
  if (cur === undefined) return undefined;
13692
13756
  }
@@ -13702,7 +13766,7 @@ function hasDataValue(v, key) {
13702
13766
  if (t === 'string') return v.trim().length > 0;
13703
13767
  if (t === 'number' || t === 'boolean') return true;
13704
13768
  if (Array.isArray(v)) return v.length > 0;
13705
- if (isRecord(v)) {
13769
+ if (isRecord$1(v)) {
13706
13770
  for (const k of Object.keys(v)) {
13707
13771
  if (hasDataValue(v[k], k)) return true;
13708
13772
  }
@@ -13711,7 +13775,7 @@ function hasDataValue(v, key) {
13711
13775
  return false;
13712
13776
  }
13713
13777
  function getCategoryScopes(cat) {
13714
- if (!isRecord(cat)) return [];
13778
+ if (!isRecord$1(cat)) return [];
13715
13779
  const scopes = cat.scopes;
13716
13780
  return Array.isArray(scopes) && scopes.every(s => typeof s === 'string') ? scopes : [];
13717
13781
  }
@@ -13849,7 +13913,7 @@ const FileUploaderReview = props => {
13849
13913
  }));
13850
13914
  };
13851
13915
  const FileUploader = _ref => {
13852
- var _enumerators$function, _enumerators$function2, _enumerators$function3, _uischema$options, _uischema$options2, _uischema$options3, _uischema$options4, _fileList$props$i18nK, _uischema$options$com, _uischema$options5, _uischema$options7, _uischema$options$com3, _uischema$options8, _uischema$options$com4, _uischema$options9, _uischema$options0;
13916
+ var _enumerators$function, _enumerators$function2, _enumerators$function3, _uischema$options, _uischema$options2, _uischema$options3, _uischema$options4, _fileList$path, _uischema$options$com, _uischema$options5, _uischema$options6, _uischema$options$com2, _uischema$options7, _uischema$options$com3, _uischema$options8, _uischema$options9;
13853
13917
  let {
13854
13918
  path,
13855
13919
  handleChange,
@@ -13883,13 +13947,12 @@ const FileUploader = _ref => {
13883
13947
  const noDownloadButtonInReview = uischema == null || (_uischema$options3 = uischema.options) == null || (_uischema$options3 = _uischema$options3.format) == null || (_uischema$options3 = _uischema$options3.review) == null ? void 0 : _uischema$options3.noDownloadButton;
13884
13948
  const noDeleteButton = uischema == null || (_uischema$options4 = uischema.options) == null || (_uischema$options4 = _uischema$options4.format) == null || (_uischema$options4 = _uischema$options4.review) == null ? void 0 : _uischema$options4.noDeleteButton;
13885
13949
  const [deleteHide, setDeleteHide] = useState(false);
13886
- const fileListLength = fileList && ((_fileList$props$i18nK = fileList[props.i18nKeyPrefix]) == null ? void 0 : _fileList$props$i18nK.length) || 0;
13950
+ const fileListLength = fileList && ((_fileList$path = fileList[path]) == null ? void 0 : _fileList$path.length) || 0;
13887
13951
  const maxFiles = (_uischema$options$com = uischema == null || (_uischema$options5 = uischema.options) == null || (_uischema$options5 = _uischema$options5.componentProps) == null ? void 0 : _uischema$options5.maximum) != null ? _uischema$options$com : 1;
13888
13952
  const isMultiFile = maxFiles > 1;
13889
13953
  function uploadFile(file) {
13890
- var _uischema$options$com2, _uischema$options6, _fileList$propertyId;
13954
+ var _fileList$propertyId;
13891
13955
  if (!uploadTrigger) return;
13892
- const maxFiles = (_uischema$options$com2 = uischema == null || (_uischema$options6 = uischema.options) == null || (_uischema$options6 = _uischema$options6.componentProps) == null ? void 0 : _uischema$options6.maximum) != null ? _uischema$options$com2 : 1;
13893
13956
  const fileListLength = fileList && ((_fileList$propertyId = fileList[propertyId]) == null ? void 0 : _fileList$propertyId.length) || 0;
13894
13957
  if (fileListLength >= maxFiles) {
13895
13958
  setUploadError(`You can only upload up to ${maxFiles} file${maxFiles > 1 ? 's' : ''}.`);
@@ -13897,7 +13960,7 @@ const FileUploader = _ref => {
13897
13960
  }
13898
13961
  setUploadError(undefined);
13899
13962
  setLoadingFileName(file == null ? void 0 : file.name);
13900
- uploadTrigger(file, `${propertyId}.${fileListLength}`);
13963
+ uploadTrigger(file, path);
13901
13964
  setDeleteHide(false);
13902
13965
  }
13903
13966
  function downloadFile(file) {
@@ -13915,41 +13978,37 @@ const FileUploader = _ref => {
13915
13978
  return (_getFile = getFile(index)) == null ? void 0 : _getFile.filename;
13916
13979
  }
13917
13980
  function getFile(index) {
13918
- var _fileList$props$i18nK2;
13919
- return fileList == null || (_fileList$props$i18nK2 = fileList[props.i18nKeyPrefix]) == null ? void 0 : _fileList$props$i18nK2[index];
13981
+ var _fileList$path2;
13982
+ return fileList == null || (_fileList$path2 = fileList[path]) == null ? void 0 : _fileList$path2[index];
13920
13983
  }
13921
13984
  useEffect(() => {
13922
13985
  if (loadingFileName !== undefined) {
13923
13986
  setLoadingFileName(undefined);
13924
13987
  }
13925
- // UseEffect is required because not having it causes a react update error, but
13926
- // it doesn't function correctly within jsonforms unless there is a minor delay here
13927
13988
  const delayedFunction = () => {
13928
- const files = [];
13929
- for (let i = 0; i < fileListLength; i++) {
13930
- files.push(getFile(i));
13931
- }
13932
- if (fileList) {
13933
- const data = files.map(f => f.urn).join(';');
13934
- if (data === '') {
13935
- handleChange(path, undefined);
13936
- } else {
13937
- handleChange(path, data);
13938
- }
13989
+ if (!fileList) return;
13990
+ const filesForControl = (fileList == null ? void 0 : fileList[path]) || [];
13991
+ const urns = filesForControl.map(f => f.urn);
13992
+ if (urns.length === 0) {
13993
+ handleChange(path, undefined);
13994
+ } else if (isMultiFile) {
13995
+ handleChange(path, urns);
13996
+ } else {
13997
+ handleChange(path, urns[0]);
13939
13998
  }
13940
13999
  };
13941
14000
  const timeoutId = setTimeout(delayedFunction, 1);
13942
14001
  return () => clearTimeout(timeoutId);
13943
14002
  //eslint-disable-next-line
13944
- }, [handleChange, fileList, propertyId]);
13945
- const readOnly = (uischema == null || (_uischema$options7 = uischema.options) == null || (_uischema$options7 = _uischema$options7.componentProps) == null ? void 0 : _uischema$options7.readOnly) === true || (props == null ? void 0 : props.isStepperReview) === true || user === null;
13946
- const maxFileSize = (_uischema$options$com3 = uischema == null || (_uischema$options8 = uischema.options) == null || (_uischema$options8 = _uischema$options8.componentProps) == null ? void 0 : _uischema$options8.maxFileSize) != null ? _uischema$options$com3 : '';
13947
- const accept = (_uischema$options$com4 = uischema == null || (_uischema$options9 = uischema.options) == null || (_uischema$options9 = _uischema$options9.componentProps) == null ? void 0 : _uischema$options9.accept) != null ? _uischema$options$com4 : '';
14003
+ }, [fileList, propertyId]);
14004
+ const readOnly = (uischema == null || (_uischema$options6 = uischema.options) == null || (_uischema$options6 = _uischema$options6.componentProps) == null ? void 0 : _uischema$options6.readOnly) === true || (props == null ? void 0 : props.isStepperReview) === true || user === null;
14005
+ const maxFileSize = (_uischema$options$com2 = uischema == null || (_uischema$options7 = uischema.options) == null || (_uischema$options7 = _uischema$options7.componentProps) == null ? void 0 : _uischema$options7.maxFileSize) != null ? _uischema$options$com2 : '';
14006
+ const accept = (_uischema$options$com3 = uischema == null || (_uischema$options8 = uischema.options) == null || (_uischema$options8 = _uischema$options8.componentProps) == null ? void 0 : _uischema$options8.accept) != null ? _uischema$options$com3 : '';
13948
14007
  if (!enumerators) {
13949
14008
  //eslint-disable-next-line
13950
14009
  return jsx(Fragment, {});
13951
14010
  }
13952
- const helpText = uischema == null || (_uischema$options0 = uischema.options) == null ? void 0 : _uischema$options0.help;
14011
+ const helpText = uischema == null || (_uischema$options9 = uischema.options) == null ? void 0 : _uischema$options9.help;
13953
14012
  const sentenceCaseLabel = label;
13954
14013
  const DownloadFileWidget = ({
13955
14014
  index
@@ -14033,7 +14092,7 @@ const FileUploader = _ref => {
14033
14092
  })
14034
14093
  })
14035
14094
  }) : jsx("div", {
14036
- children: fileList && isMultiFile ? (fileList[props.i18nKeyPrefix] || []).map((_, index) => jsx(DownloadFileWidget, {
14095
+ children: fileList && isMultiFile ? (fileList[path] || []).map((_, index) => jsx(DownloadFileWidget, {
14037
14096
  index: index
14038
14097
  }, index)) : !deleteHide && getFile(fileListLength - 1) && fileListLength >= 0 && jsx(DownloadFileWidget, {
14039
14098
  index: fileListLength - 1
@@ -17508,24 +17567,25 @@ const isNullSchema = schema => {
17508
17567
  return schema === undefined || schema === null;
17509
17568
  };
17510
17569
  const isValidScope = (uiSchema, schema) => {
17511
- if (!('scope' in uiSchema)) {
17570
+ if (!('scope' in uiSchema) || typeof uiSchema.scope !== 'string') {
17512
17571
  return false;
17513
17572
  }
17514
- const scopeComponents = uiSchema.scope.split('/');
17515
- // get rid of the '#' at the beginning of scope
17516
- scopeComponents.shift();
17517
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
17573
+ const scopeStr = uiSchema.scope;
17574
+ if (scopeStr === '#') return true;
17575
+ const scopeComponents = scopeStr.split('/');
17576
+ if (scopeComponents[0] === '#') scopeComponents.shift();
17518
17577
  let obj = schema;
17519
- // iterate through the schema to ensure each property exists
17520
17578
  for (const key of scopeComponents) {
17521
- if (obj && typeof obj === 'object' && key in obj) {
17522
- obj = obj[key];
17523
- } else {
17579
+ if (!isRecord(obj) || !(key in obj)) {
17524
17580
  return false;
17525
17581
  }
17582
+ obj = obj[key];
17526
17583
  }
17527
17584
  return true;
17528
17585
  };
17586
+ function isRecord(value) {
17587
+ return value !== null && typeof value === 'object';
17588
+ }
17529
17589
  const isLayoutType = schema => {
17530
17590
  return hasType(schema, 'VerticalLayout') || hasType(schema, 'HorizontalLayout') || hasType(schema, 'Categorization') || hasType(schema, 'Group');
17531
17591
  };
@@ -17536,8 +17596,7 @@ const isListWithDetail = schema => {
17536
17596
  return hasType(schema, 'ListWithDetail');
17537
17597
  };
17538
17598
  const isScopedPrefixed = scope => {
17539
- const scopeComponents = scope.split('/');
17540
- return scopeComponents.length > 1 && scopeComponents[0] === '#';
17599
+ return scope.startsWith('#');
17541
17600
  };
17542
17601
  const isEmptyObject = schema => {
17543
17602
  return Object.keys(schema).length === 0;
@@ -17813,6 +17872,9 @@ const GoABaseRenderers = [
17813
17872
  }, {
17814
17873
  tester: MultiLineTextControlTester,
17815
17874
  renderer: MultiLineTextControl
17875
+ }, {
17876
+ tester: GoAPrimitiveArrayTester,
17877
+ renderer: GoAPrimitiveArrayRenderer
17816
17878
  }, {
17817
17879
  tester: HelpContentTester,
17818
17880
  renderer: HelpContent
@@ -18001,4 +18063,4 @@ const GoARenderers = [...GoABaseRenderers, {
18001
18063
  }];
18002
18064
  const GoACells = [...InputCells];
18003
18065
 
18004
- export { ADD_DATALIST_ACTION, ADD_NO_ANONYMOUS_ACTION, ADD_REGISTER_DATA_ACTION, ADD_REGISTER_DATA_ERROR, AddressLookUpControl, AddressLookUpControlReview, AddressLookUpTester, AddressLoopUpControlTableReview, ArrayControl, ArrayControlBase, ArrayControlReview, BooleanComponent, BooleanControl, BooleanRadioComponent, BooleanRadioControl, CategorizationPagesRendererTester, CategorizationStepperRendererTester, CheckboxGroup, ContextProviderC, ContextProviderClass, ContextProviderFactory, EnumCheckboxControl, EnumRadioControl, EnumSelect, FileUploader, FileUploaderReview, FileUploaderTester, FormPageStepper, FormPagesView, FormStepper, FormStepperControl, FormStepperPagesControl, FormStepperReviewControl, FormStepperReviewer, FormStepperView, FullNameControl, FullNameControlReview, FullNameDobControl, FullNameDobReviewControl, FullNameDobTester, FullNameReviewControl, FullNameTester, GoAArrayControlRenderer, GoAArrayControlReviewRenderer, GoAArrayControlTester, GoABaseInputReviewComponent, GoABaseRenderers, GoABaseReviewRenderers, GoABaseTableReviewRenderers, GoABooleanControl, GoABooleanControlTester, GoABooleanRadioControl, GoABooleanRadioControlTester, GoACalculationControl, GoACalculationControlTester, GoACells, GoACheckoutGroupControlTester, GoADateControl, GoADateControlTester, GoADateInput, GoADateTimeControl, GoADateTimeControlTester, GoADateTimeInput, GoAEmailControl, GoAEmailControlTester, GoAEmailInput, GoAEnumCheckboxGroupControl, GoAEnumControl, GoAEnumControlTester, GoAEnumRadioGroupControl, GoAInputBaseControl, GoAInputBaseFullNameControlReview, GoAInputBaseFullNameDobControlReview, GoAInputBaseReviewControl, GoAInputBaseTableReview, GoAInputBaseTableReviewControl, GoAInputDateControl, GoAInputDateTimeControl, GoAInputEmailControl, GoAInputIntegerControl, GoAInputNumberControl, GoAInputText, GoAInputTextControl, GoAInputTimeControl, GoAIntegerControl, GoAIntegerControlTester, GoAListWithDetailsControlRenderer, GoAListWithDetailsTester, GoANumberControl, GoANumberControlTester, GoANumberInput, GoAPhoneNumberControl, GoAPhoneNumberWithTypeControl, GoARadioGroupControlTester, GoARenderers, GoAReviewRenderers, GoATextControl, GoATextControlTester, GoATimeControl, GoATimeControlTester, GoATimeInput, GoInputBaseReview, GoabInputBasePhoneNumberReviewControl, GoabInputBasePhoneNumberWithTypeReviewControl, GoabInputInteger, JsonFormContext, JsonFormRegisterProvider, JsonFormsRegisterContext, ListWithDetailsControl, MultiLineText, MultiLineTextControl, MultiLineTextControlInput, MultiLineTextControlTester, PHONE_REGEX, PhoneGrid, PhoneNumberControl, PhoneNumberReviewControl, PhoneNumberTester, PhoneNumberWithTypeControl, PhoneNumberWithTypeReviewControl, PhoneNumberWithTypeTester, RadioGroup, categoriesAreValid, createDefaultAjv, enumControl, errMalformedDate, formatSin, getByJsonPointer, getCategoryScopes, hasDataInScopes, hasDataValue, isAddressLookup, isFullName, isFullNameDoB, isPhoneNumber, isPhoneNumberWithType, registerReducer, resolveRefs, tryResolveRefs };
18066
+ export { ADD_DATALIST_ACTION, ADD_NO_ANONYMOUS_ACTION, ADD_REGISTER_DATA_ACTION, ADD_REGISTER_DATA_ERROR, AddressLookUpControl, AddressLookUpControlReview, AddressLookUpTester, AddressLoopUpControlTableReview, ArrayControl, ArrayControlBase, ArrayControlReview, BooleanComponent, BooleanControl, BooleanRadioComponent, BooleanRadioControl, CategorizationPagesRendererTester, CategorizationStepperRendererTester, CheckboxGroup, ContextProviderC, ContextProviderClass, ContextProviderFactory, EnumCheckboxControl, EnumRadioControl, EnumSelect, FileUploader, FileUploaderReview, FileUploaderTester, FormPageStepper, FormPagesView, FormStepper, FormStepperControl, FormStepperPagesControl, FormStepperReviewControl, FormStepperReviewer, FormStepperView, FullNameControl, FullNameControlReview, FullNameDobControl, FullNameDobReviewControl, FullNameDobTester, FullNameReviewControl, FullNameTester, GoAArrayControlRenderer, GoAArrayControlReviewRenderer, GoAArrayControlTester, GoABaseInputReviewComponent, GoABaseRenderers, GoABaseReviewRenderers, GoABaseTableReviewRenderers, GoABooleanControl, GoABooleanControlTester, GoABooleanRadioControl, GoABooleanRadioControlTester, GoACalculationControl, GoACalculationControlTester, GoACells, GoACheckoutGroupControlTester, GoADateControl, GoADateControlTester, GoADateInput, GoADateTimeControl, GoADateTimeControlTester, GoADateTimeInput, GoAEmailControl, GoAEmailControlTester, GoAEmailInput, GoAEnumCheckboxGroupControl, GoAEnumControl, GoAEnumControlTester, GoAEnumRadioGroupControl, GoAInputBaseControl, GoAInputBaseFullNameControlReview, GoAInputBaseFullNameDobControlReview, GoAInputBaseReviewControl, GoAInputBaseTableReview, GoAInputBaseTableReviewControl, GoAInputDateControl, GoAInputDateTimeControl, GoAInputEmailControl, GoAInputIntegerControl, GoAInputNumberControl, GoAInputText, GoAInputTextControl, GoAInputTimeControl, GoAIntegerControl, GoAIntegerControlTester, GoAListWithDetailsControlRenderer, GoAListWithDetailsTester, GoANumberControl, GoANumberControlTester, GoANumberInput, GoAPhoneNumberControl, GoAPhoneNumberWithTypeControl, GoAPrimitiveArrayRenderer, GoAPrimitiveArrayTester, GoARadioGroupControlTester, GoARenderers, GoAReviewRenderers, GoATextControl, GoATextControlTester, GoATimeControl, GoATimeControlTester, GoATimeInput, GoInputBaseReview, GoabInputBasePhoneNumberReviewControl, GoabInputBasePhoneNumberWithTypeReviewControl, GoabInputInteger, JsonFormContext, JsonFormRegisterProvider, JsonFormsRegisterContext, ListWithDetailsControl, MultiLineText, MultiLineTextControl, MultiLineTextControlInput, MultiLineTextControlTester, PHONE_REGEX, PhoneGrid, PhoneNumberControl, PhoneNumberReviewControl, PhoneNumberTester, PhoneNumberWithTypeControl, PhoneNumberWithTypeReviewControl, PhoneNumberWithTypeTester, PrimitiveArrayControl, RadioGroup, categoriesAreValid, createDefaultAjv, enumControl, errMalformedDate, formatSin, getByJsonPointer, getCategoryScopes, hasDataInScopes, hasDataValue, isAddressLookup, isFullName, isFullNameDoB, isPhoneNumber, isPhoneNumberWithType, registerReducer, resolveRefs, tryResolveRefs };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abgov/jsonforms-components",
3
- "version": "2.47.5",
3
+ "version": "2.47.7",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Government of Alberta - React renderers for JSON Forms based on the design system.",
6
6
  "repository": "https://github.com/GovAlta/adsp-monorepo",
@@ -3,7 +3,10 @@ import { ArrayLayoutProps, RankedTester, ControlProps } from '@jsonforms/core';
3
3
  export type CombinedProps = ControlProps & ArrayLayoutProps;
4
4
  export declare const ArrayControl: (props: CombinedProps) => import("react/jsx-runtime").JSX.Element;
5
5
  export declare const GoAArrayControlTester: RankedTester;
6
+ export declare const GoAPrimitiveArrayTester: RankedTester;
6
7
  export declare const ArrayControlBase: (props: ControlProps) => import("react/jsx-runtime").JSX.Element;
7
8
  export declare const ArrayControlReview: (props: ControlProps) => import("react/jsx-runtime").JSX.Element | null;
8
9
  export declare const GoAArrayControlRenderer: React.ComponentType<import("@jsonforms/core").OwnPropsOfControl>;
9
10
  export declare const GoAArrayControlReviewRenderer: React.ComponentType<import("@jsonforms/core").OwnPropsOfControl>;
11
+ export declare const PrimitiveArrayControl: (props: ControlProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const GoAPrimitiveArrayRenderer: React.ComponentType<import("@jsonforms/core").OwnPropsOfControl>;