@abgov/jsonforms-components 2.78.4 → 2.79.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.
package/index.esm.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import React, { useRef, useEffect, useContext, useReducer, useMemo, createContext, useCallback, useState, useLayoutEffect } from 'react';
3
3
  import Ajv from 'ajv';
4
- import styled from 'styled-components';
4
+ import styled, { css } from 'styled-components';
5
5
  import axios from 'axios';
6
6
  import get$1 from 'lodash/get';
7
7
  import { toDataPath, INIT, UPDATE_CORE, isEnabled, isVisible, deriveLabelForUISchemaElement, rankWith, isStringControl, and, optionIs, isDateControl, isNumberControl, isIntegerControl, isDateTimeControl, isTimeControl, uiTypeIs, isControl as isControl$1, isEnumControl, or, isOneOfEnumControl, isBooleanControl, createDefaultValue, Paths, Resolve, schemaTypeIs, formatIs, getAjv, schemaMatches, isObjectArrayControl, isPrimitiveArrayControl, composePaths, hasType, isCategorization, isLayout } from '@jsonforms/core';
@@ -6050,14 +6050,14 @@ const ensureGoaDatePointerCursor = host => {
6050
6050
 
6051
6051
  let _$b = t => t,
6052
6052
  _t$c,
6053
- _t2$6;
6053
+ _t2$7;
6054
6054
  styled.div(_t$c || (_t$c = _$b`
6055
6055
  height: 70vh;
6056
6056
  overflow-y: auto;
6057
6057
  padding-left: var(--goa-space-2xs);
6058
6058
  padding-right: var(--goa-space-2xs);
6059
6059
  `));
6060
- const Visible = styled.div(_t2$6 || (_t2$6 = _$b`
6060
+ const Visible = styled.div(_t2$7 || (_t2$7 = _$b`
6061
6061
  display: ${0};
6062
6062
  width: 100%;
6063
6063
  `), p => p.$visible !== false ? 'block' : 'none');
@@ -7549,7 +7549,7 @@ const useRegisterUser = () => {
7549
7549
 
7550
7550
  let _$a = t => t,
7551
7551
  _t$b,
7552
- _t2$5,
7552
+ _t2$6,
7553
7553
  _t3$4,
7554
7554
  _t4$4,
7555
7555
  _t5$3,
@@ -7565,7 +7565,7 @@ let _$a = t => t,
7565
7565
  const FormFieldWrapper$1 = styled.div(_t$b || (_t$b = _$a`
7566
7566
  margin-bottom: var(--goa-space-l);
7567
7567
  `));
7568
- const WarningIconDiv = styled.div(_t2$5 || (_t2$5 = _$a`
7568
+ const WarningIconDiv = styled.div(_t2$6 || (_t2$6 = _$a`
7569
7569
  display: flex;
7570
7570
  align-items: flex-start;
7571
7571
  gap: var(--goa-space-2xs);
@@ -12471,7 +12471,7 @@ $$6({ target: 'Array', proto: true, arity: 1, forced: FORCED$1 }, {
12471
12471
 
12472
12472
  let _$8 = t => t,
12473
12473
  _t$9,
12474
- _t2$4,
12474
+ _t2$5,
12475
12475
  _t3$3,
12476
12476
  _t4$3,
12477
12477
  _t5$2,
@@ -12505,7 +12505,7 @@ let _$8 = t => t,
12505
12505
  const DeleteDialogContent = styled.div(_t$9 || (_t$9 = _$8`
12506
12506
  margin-bottom: var(--goa-space-m);
12507
12507
  `));
12508
- const MarginTop = styled.div(_t2$4 || (_t2$4 = _$8`
12508
+ const MarginTop = styled.div(_t2$5 || (_t2$5 = _$8`
12509
12509
  margin-top: var(--goa-space-l);
12510
12510
  `));
12511
12511
  const NonEmptyCellStyle = styled.div(_t3$3 || (_t3$3 = _$8`
@@ -13941,6 +13941,71 @@ const useReviewChange = () => {
13941
13941
  }, [stepperContext, reviewContext]);
13942
13942
  };
13943
13943
 
13944
+ let _$7 = t => t,
13945
+ _t$8,
13946
+ _t2$4;
13947
+ const StyledBackButton = styled.button(_t$8 || (_t$8 = _$7`
13948
+ align-items: center;
13949
+ background: none;
13950
+ border: 0;
13951
+ color: var(--goa-color-interactive-default, #0070c4);
13952
+ cursor: pointer;
13953
+ display: inline-flex;
13954
+ font: inherit;
13955
+ margin: 0;
13956
+ padding: 0;
13957
+ text-decoration: underline;
13958
+ text-decoration-color: currentColor;
13959
+ text-underline-offset: 2px;
13960
+
13961
+ &:hover,
13962
+ &:visited {
13963
+ color: #004f84;
13964
+ }
13965
+
13966
+ &:focus {
13967
+ outline: 2px solid var(--goa-color-interactive-default, #0070c4);
13968
+ outline-offset: 2px;
13969
+ }
13970
+
13971
+ ${0}
13972
+ `), ({
13973
+ $showBackIcon
13974
+ }) => $showBackIcon && css(_t2$4 || (_t2$4 = _$7`
13975
+ margin-top: var(--goa-space-m);
13976
+ margin-bottom: var(--goa-space-m);
13977
+
13978
+ &::before {
13979
+ content: '';
13980
+ display: inline-block;
13981
+ width: 42px;
13982
+ height: 24px;
13983
+ vertical-align: middle;
13984
+ background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 2 22 22" fill="none" stroke="%230070C4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"></polyline></svg>')
13985
+ center center no-repeat;
13986
+ }
13987
+
13988
+ &:hover::before,
13989
+ &:visited::before {
13990
+ background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 2 22 22" fill="none" stroke="%23004f84" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"></polyline></svg>')
13991
+ center center no-repeat;
13992
+ }
13993
+ `)));
13994
+ const BackButton = ({
13995
+ text,
13996
+ testId,
13997
+ link,
13998
+ showBackIcon: _showBackIcon = true
13999
+ }) => {
14000
+ return jsx(StyledBackButton, {
14001
+ type: "button",
14002
+ "$showBackIcon": _showBackIcon,
14003
+ "data-testid": testId || 'back-button-click',
14004
+ onClick: link,
14005
+ children: text
14006
+ });
14007
+ };
14008
+
13944
14009
  const GoAInputBaseTableReview = props => {
13945
14010
  var _uischema$options, _uischema$scope2, _jsonForms$core, _uischema$options4, _uischema$options5, _uischema$options6;
13946
14011
  const {
@@ -14141,11 +14206,10 @@ const GoAInputBaseTableReview = props => {
14141
14206
  children: [labelToUpdate, required && jsx(RequiredTextLabel, {
14142
14207
  children: " (required)"
14143
14208
  })]
14144
- }), showChangeButtons && stepId !== undefined && !((_uischema$options6 = uischema.options) != null && (_uischema$options6 = _uischema$options6.componentProps) != null && _uischema$options6.readOnly) && jsx(GoabButton, {
14145
- type: "text",
14146
- size: "compact",
14147
- onClick: handleChangeClick,
14148
- children: "Change"
14209
+ }), showChangeButtons && stepId !== undefined && !((_uischema$options6 = uischema.options) != null && (_uischema$options6 = _uischema$options6.componentProps) != null && _uischema$options6.readOnly) && jsx(BackButton, {
14210
+ text: "Change",
14211
+ link: handleChangeClick,
14212
+ showBackIcon: false
14149
14213
  })]
14150
14214
  }), jsxs(ReviewValue, {
14151
14215
  children: [showInlineValue ? jsx("div", {
@@ -14276,8 +14340,8 @@ const GoAEmailControl = props => jsx(GoAEmailInput, Object.assign({}, props));
14276
14340
  const GoAEmailControlTester = rankWith(4, and(isControl$1, schemaTypeIs('string'), formatIs('email')));
14277
14341
  const GoAInputEmailControl = withJsonFormsControlProps(GoAEmailControl);
14278
14342
 
14279
- let _$7 = t => t,
14280
- _t$8;
14343
+ let _$6 = t => t,
14344
+ _t$7;
14281
14345
  const renderLayoutElements = (elements, schema, path, enabled, renderers, cells) => {
14282
14346
  return elements.map((child, index) => jsx(JsonFormsDispatch, {
14283
14347
  uischema: child,
@@ -14356,14 +14420,14 @@ const ReviewLayoutRenderer = ({
14356
14420
  }
14357
14421
  }
14358
14422
  };
14359
- const ReviewGrid = styled.div(_t$8 || (_t$8 = _$7`
14423
+ const ReviewGrid = styled.div(_t$7 || (_t$7 = _$6`
14360
14424
  display: grid;
14361
14425
  grid-template-columns: repeat(auto-fit, minmax(250px, calc(50% - 8px)));
14362
14426
  gap: 16px;
14363
14427
  `));
14364
14428
 
14365
- let _$6 = t => t,
14366
- _t$7,
14429
+ let _$5 = t => t,
14430
+ _t$6,
14367
14431
  _t2$3,
14368
14432
  _t3$2,
14369
14433
  _t4$2,
@@ -14393,11 +14457,11 @@ let _$6 = t => t,
14393
14457
  _t26,
14394
14458
  _t27,
14395
14459
  _t28;
14396
- const ReviewItem = styled.div(_t$7 || (_t$7 = _$6`
14460
+ const ReviewItem = styled.div(_t$6 || (_t$6 = _$5`
14397
14461
  display: flex;
14398
14462
  flex-direction: column;
14399
14463
  `));
14400
- const CompletionStatus = styled.div(_t2$3 || (_t2$3 = _$6`
14464
+ const CompletionStatus = styled.div(_t2$3 || (_t2$3 = _$5`
14401
14465
  padding: 0;
14402
14466
  margin: 0;
14403
14467
  padding-top: var(--goa-space-xl);
@@ -14405,14 +14469,14 @@ const CompletionStatus = styled.div(_t2$3 || (_t2$3 = _$6`
14405
14469
  display: flex;
14406
14470
  flex-direction: column;
14407
14471
  `));
14408
- const BarTop = styled.div(_t3$2 || (_t3$2 = _$6`
14472
+ const BarTop = styled.div(_t3$2 || (_t3$2 = _$5`
14409
14473
  display: flex;
14410
14474
 
14411
14475
  .progress-text {
14412
14476
  margin-left: auto;
14413
14477
  }
14414
14478
  `));
14415
- const Bar = styled.div(_t4$2 || (_t4$2 = _$6`
14479
+ const Bar = styled.div(_t4$2 || (_t4$2 = _$5`
14416
14480
  display: flex;
14417
14481
  flex-direction: row;
14418
14482
 
@@ -14442,15 +14506,15 @@ const Bar = styled.div(_t4$2 || (_t4$2 = _$6`
14442
14506
  box-sizing: border-box;
14443
14507
  }
14444
14508
  `));
14445
- styled.div(_t5$1 || (_t5$1 = _$6``));
14446
- const BadgeWrapper = styled.div(_t6$1 || (_t6$1 = _$6`
14509
+ styled.div(_t5$1 || (_t5$1 = _$5``));
14510
+ const BadgeWrapper = styled.div(_t6$1 || (_t6$1 = _$5`
14447
14511
  margin-left: 10px;
14448
14512
  margin-top: 7px;
14449
14513
  `));
14450
- const CompletionTextHeader = styled.h3(_t7 || (_t7 = _$6`
14514
+ const CompletionTextHeader = styled.h3(_t7 || (_t7 = _$5`
14451
14515
  display: flex;
14452
14516
  `));
14453
- const ReviewItemSection = styled.div(_t8 || (_t8 = _$6`
14517
+ const ReviewItemSection = styled.div(_t8 || (_t8 = _$5`
14454
14518
  margin-bottom: var(--goa-space-m);
14455
14519
  padding: var(--goa-space-xl) var(--goa-space-2xl);
14456
14520
  border: 1px solid var(--goa-color-greyscale-300);
@@ -14460,18 +14524,18 @@ const ReviewItemSection = styled.div(_t8 || (_t8 = _$6`
14460
14524
  max-width: 1600px;
14461
14525
  }
14462
14526
  `));
14463
- const ReviewItemHeader = styled.div(_t9 || (_t9 = _$6`
14527
+ const ReviewItemHeader = styled.div(_t9 || (_t9 = _$5`
14464
14528
  display: flex;
14465
14529
  align-items: center;
14466
14530
  justify-content: space-between;
14467
14531
  margin-bottom: var(--goa-space-xl);
14468
14532
  `));
14469
- const ReviewItemTitle = styled.div(_t0 || (_t0 = _$6`
14533
+ const ReviewItemTitle = styled.div(_t0 || (_t0 = _$5`
14470
14534
  font-size: var(--goa-space-l);
14471
14535
  line-height: var(--goa-space-xl);
14472
14536
  font-weight: 300;
14473
14537
  `));
14474
- styled.div(_t1 || (_t1 = _$6`
14538
+ styled.div(_t1 || (_t1 = _$5`
14475
14539
  color: #0070c4;
14476
14540
  text-decoration: underline;
14477
14541
  outline: none;
@@ -14482,20 +14546,20 @@ styled.div(_t1 || (_t1 = _$6`
14482
14546
  background-color: #e6f7ff;
14483
14547
  }
14484
14548
  `));
14485
- styled.div(_t10 || (_t10 = _$6`
14549
+ styled.div(_t10 || (_t10 = _$5`
14486
14550
  margin-left: var(--goa-space-m);
14487
14551
  `));
14488
- styled.div(_t11 || (_t11 = _$6`
14552
+ styled.div(_t11 || (_t11 = _$5`
14489
14553
  margin-bottom: var(--goa-space-m);
14490
14554
  `));
14491
- styled.div(_t12 || (_t12 = _$6`
14555
+ styled.div(_t12 || (_t12 = _$5`
14492
14556
  margin: var(--goa-space-s);
14493
14557
  width: 100%;
14494
14558
  `));
14495
- styled.h3(_t13 || (_t13 = _$6`
14559
+ styled.h3(_t13 || (_t13 = _$5`
14496
14560
  text-transform: capitalize;
14497
14561
  `));
14498
- const RightAlignmentDiv = styled.div(_t14 || (_t14 = _$6`
14562
+ const RightAlignmentDiv = styled.div(_t14 || (_t14 = _$5`
14499
14563
  @media screen and (max-width: 767px) {
14500
14564
  margin-bottom: var(--goa-space-l);
14501
14565
  }
@@ -14505,50 +14569,50 @@ const RightAlignmentDiv = styled.div(_t14 || (_t14 = _$6`
14505
14569
  margin-bottom: var(--goa-space-l);
14506
14570
  }
14507
14571
  `));
14508
- const FormStepperSummaryH3 = styled.h3(_t15 || (_t15 = _$6`
14572
+ const FormStepperSummaryH3 = styled.h3(_t15 || (_t15 = _$5`
14509
14573
  flex: 1;
14510
14574
  margin-bottom: var(--goa-space-m);
14511
14575
  font-size: var(--goa-font-size-7);
14512
14576
  line-height: var(--goa-line-height-4);
14513
14577
  font-weight: var(--goa-font-weight-regular);
14514
14578
  `));
14515
- const PageRenderPadding = styled.div(_t16 || (_t16 = _$6`
14579
+ const PageRenderPadding = styled.div(_t16 || (_t16 = _$5`
14516
14580
  margin-top: var(--goa-space-2xl);
14517
14581
  `));
14518
- styled.div(_t17 || (_t17 = _$6`
14582
+ styled.div(_t17 || (_t17 = _$5`
14519
14583
  margin-bottom: var(--goa-space-2xl);
14520
14584
  `));
14521
- const PageBorder = styled.div(_t18 || (_t18 = _$6`
14585
+ const PageBorder = styled.div(_t18 || (_t18 = _$5`
14522
14586
  padding: var(--goa-space-m) var(--goa-space-3xl);
14523
14587
  `));
14524
- styled.div(_t19 || (_t19 = _$6`
14588
+ styled.div(_t19 || (_t19 = _$5`
14525
14589
  .element-style {
14526
14590
  max-width: 1600px;
14527
14591
  }
14528
14592
  `));
14529
- styled.div(_t20 || (_t20 = _$6`
14593
+ styled.div(_t20 || (_t20 = _$5`
14530
14594
  padding: var(--goa-space-xl) var(--goa-space-2xl);
14531
14595
  border: 1px solid var(--goa-color-greyscale-300);
14532
14596
  border-radius: var(--goa-border-radius-xl);
14533
14597
  `));
14534
- styled.div(_t21 || (_t21 = _$6`
14598
+ styled.div(_t21 || (_t21 = _$5`
14535
14599
  margin-top: var(--goa-space-xl);
14536
14600
  display: flex;
14537
14601
  justify-content: space-between;
14538
14602
  `));
14539
- styled.h3(_t22 || (_t22 = _$6`
14603
+ styled.h3(_t22 || (_t22 = _$5`
14540
14604
  color: var(--goa-color-text-secondary) !important;
14541
14605
  margin-bottom: var(--goa-space-l);
14542
14606
  `));
14543
- const CategoryStatus = styled.td(_t23 || (_t23 = _$6`
14607
+ const CategoryStatus = styled.td(_t23 || (_t23 = _$5`
14544
14608
  width: var(--goa-space-xl);
14545
14609
  padding-right: var(--goa-space-xl);
14546
14610
  align-content: center;
14547
14611
  `));
14548
- const Center = styled.div(_t24 || (_t24 = _$6`
14612
+ const Center = styled.div(_t24 || (_t24 = _$5`
14549
14613
  padding-top: 5px;
14550
14614
  `));
14551
- const PageStepperRow = styled.tr(_t25 || (_t25 = _$6`
14615
+ const PageStepperRow = styled.tr(_t25 || (_t25 = _$5`
14552
14616
  ${0}
14553
14617
  `), ({
14554
14618
  disabled
@@ -14573,7 +14637,7 @@ const PageStepperRow = styled.tr(_t25 || (_t25 = _$6`
14573
14637
  outline: 3px solid var(--goa-color-interactive-focus);
14574
14638
  }
14575
14639
  `);
14576
- const SectionHeaderRowTr = styled.tr(_t26 || (_t26 = _$6`
14640
+ const SectionHeaderRowTr = styled.tr(_t26 || (_t26 = _$5`
14577
14641
  & > td {
14578
14642
  border: 0 !important;
14579
14643
  padding-top: var(--goa-space-l);
@@ -14585,7 +14649,7 @@ const SectionHeaderRowTr = styled.tr(_t26 || (_t26 = _$6`
14585
14649
  border-top: none !important;
14586
14650
  }
14587
14651
  `));
14588
- const SummaryRowLink = styled.a(_t27 || (_t27 = _$6`
14652
+ const SummaryRowLink = styled.a(_t27 || (_t27 = _$5`
14589
14653
  position: relative;
14590
14654
  top: var(--goa-space-xs);
14591
14655
  &:focus-visible {
@@ -14594,7 +14658,7 @@ const SummaryRowLink = styled.a(_t27 || (_t27 = _$6`
14594
14658
  }
14595
14659
  padding: 0 var(--goa-space-s) var(--goa-space-xs); var(--goa-space-s);
14596
14660
  `));
14597
- const SummaryTd = styled.td(_t28 || (_t28 = _$6`
14661
+ const SummaryTd = styled.td(_t28 || (_t28 = _$5`
14598
14662
  border: 0 !important;
14599
14663
  padding: 0 !important;
14600
14664
  `));
@@ -14693,12 +14757,11 @@ const FullNameControlReview = props => {
14693
14757
  children: [fieldLabel, requiredFields.includes(fieldName) && jsx(RequiredTextLabel, {
14694
14758
  children: " (required)"
14695
14759
  })]
14696
- }), showChangeButtons && stepId !== undefined && !((_uischema$options = uischema.options) != null && (_uischema$options = _uischema$options.componentProps) != null && _uischema$options.readOnly) && jsx(GoabButton, {
14697
- type: "text",
14698
- size: "compact",
14699
- onClick: () => reportChange(stepId, uischema.scope),
14760
+ }), showChangeButtons && stepId !== undefined && !((_uischema$options = uischema.options) != null && (_uischema$options = _uischema$options.componentProps) != null && _uischema$options.readOnly) && jsx(BackButton, {
14761
+ text: "Change",
14762
+ link: () => reportChange(stepId, uischema.scope),
14700
14763
  testId: `${fieldName}-change-btn`,
14701
- children: "Change"
14764
+ showBackIcon: false
14702
14765
  })]
14703
14766
  }), jsxs(ReviewValue, {
14704
14767
  children: [jsx("div", {
@@ -14743,12 +14806,11 @@ const FullNameDobReviewControl = props => {
14743
14806
  children: [fieldLabel, requiredFields.includes(fieldName) && jsx(RequiredTextLabel, {
14744
14807
  children: " (required)"
14745
14808
  })]
14746
- }), showChangeButtons && stepId !== undefined && !((_uischema$options2 = uischema.options) != null && (_uischema$options2 = _uischema$options2.componentProps) != null && _uischema$options2.readOnly) && jsx(GoabButton, {
14747
- type: "text",
14748
- size: "compact",
14749
- onClick: () => reportChange(stepId, uischema.scope),
14809
+ }), showChangeButtons && stepId !== undefined && !((_uischema$options2 = uischema.options) != null && (_uischema$options2 = _uischema$options2.componentProps) != null && _uischema$options2.readOnly) && jsx(BackButton, {
14810
+ text: "Change",
14811
+ link: () => reportChange(stepId, uischema.scope),
14750
14812
  testId: `${fieldName}-change-btn`,
14751
- children: "Change"
14813
+ showBackIcon: false
14752
14814
  })]
14753
14815
  }), jsxs(ReviewValue, {
14754
14816
  children: [jsx("div", {
@@ -14899,14 +14961,14 @@ const GoAPhoneNumberControl = withJsonFormsControlProps(PhoneNumberControl);
14899
14961
 
14900
14962
  const PhoneNumberTester = rankWith(4, and(isControl$1, schemaTypeIs('string'), formatIs('phone')));
14901
14963
 
14902
- let _$5 = t => t,
14903
- _t$6,
14964
+ let _$4 = t => t,
14965
+ _t$5,
14904
14966
  _t2$2,
14905
14967
  _t3$1,
14906
14968
  _t4$1,
14907
14969
  _t5,
14908
14970
  _t6;
14909
- const SearchBox = styled.div(_t$6 || (_t$6 = _$5`
14971
+ const SearchBox = styled.div(_t$5 || (_t$5 = _$4`
14910
14972
  position: relative;
14911
14973
 
14912
14974
  .suggestions {
@@ -14948,7 +15010,7 @@ const SearchBox = styled.div(_t$6 || (_t$6 = _$5`
14948
15010
  pointer-events: none; /* Prevent spinner from interfering with clicks */
14949
15011
  }
14950
15012
  `));
14951
- const AddressIndent = styled.div(_t2$2 || (_t2$2 = _$5`
15013
+ const AddressIndent = styled.div(_t2$2 || (_t2$2 = _$4`
14952
15014
  margin: 0 0 var(--goa-space-m) 0;
14953
15015
  text-wrap: wrap;
14954
15016
  word-break: break-word;
@@ -14956,15 +15018,15 @@ const AddressIndent = styled.div(_t2$2 || (_t2$2 = _$5`
14956
15018
  border-radius: var(--goa-border-radius-xl);
14957
15019
  padding: var(--goa-space-l);
14958
15020
  `));
14959
- const TextWrap = styled.p(_t3$1 || (_t3$1 = _$5`
15021
+ const TextWrap = styled.p(_t3$1 || (_t3$1 = _$4`
14960
15022
  text-wrap: auto;
14961
15023
  word-break: break-word;
14962
15024
  `));
14963
- const TextWrapDiv = styled.div(_t4$1 || (_t4$1 = _$5`
15025
+ const TextWrapDiv = styled.div(_t4$1 || (_t4$1 = _$4`
14964
15026
  text-wrap: auto;
14965
15027
  word-break: break-word;
14966
15028
  `));
14967
- const LabelDiv = styled.div(_t5 || (_t5 = _$5`
15029
+ const LabelDiv = styled.div(_t5 || (_t5 = _$4`
14968
15030
  color: var(--goa-color-text-default);
14969
15031
  font: var(--goa-typography-body-m);
14970
15032
  min-height: 2.625rem;
@@ -14974,7 +15036,7 @@ const LabelDiv = styled.div(_t5 || (_t5 = _$5`
14974
15036
  word-break: break-word;
14975
15037
  `));
14976
15038
  /* istanbul ignore next */
14977
- const ListItem = styled.li(_t6 || (_t6 = _$5`
15039
+ const ListItem = styled.li(_t6 || (_t6 = _$4`
14978
15040
  background-color: ${0};
14979
15041
  color: ${0};
14980
15042
  font-weight: ${0};
@@ -15011,9 +15073,9 @@ const PhoneNumberReviewControl = props => {
15011
15073
  };
15012
15074
  const GoabInputBasePhoneNumberReviewControl = withJsonFormsAllOfProps(PhoneNumberReviewControl);
15013
15075
 
15014
- let _$4 = t => t,
15015
- _t$5;
15016
- const PhoneGrid = styled.div(_t$5 || (_t$5 = _$4`
15076
+ let _$3 = t => t,
15077
+ _t$4;
15078
+ const PhoneGrid = styled.div(_t$4 || (_t$4 = _$3`
15017
15079
  display: grid;
15018
15080
  grid-template-columns: 1fr 2fr;
15019
15081
  gap: 0.2rem;
@@ -15128,9 +15190,9 @@ const PhoneNumberWithTypeReviewControl = props => {
15128
15190
  };
15129
15191
  const GoabInputBasePhoneNumberWithTypeReviewControl = withJsonFormsAllOfProps(PhoneNumberWithTypeReviewControl);
15130
15192
 
15131
- let _$3 = t => t,
15132
- _t$4;
15133
- const FormFieldWrapper = styled.div(_t$4 || (_t$4 = _$3`
15193
+ let _$2 = t => t,
15194
+ _t$3;
15195
+ const FormFieldWrapper = styled.div(_t$3 || (_t$3 = _$2`
15134
15196
  margin-bottom: var(--goa-space-l);
15135
15197
  `));
15136
15198
 
@@ -15221,12 +15283,11 @@ const ContractInfoControlReview = props => {
15221
15283
  children: [jsxs(ReviewHeader, {
15222
15284
  children: [jsx(ReviewLabel, {
15223
15285
  children: fieldLabel
15224
- }), showChangeButtons && stepId !== undefined && !((_uischema$options = uischema.options) != null && (_uischema$options = _uischema$options.componentProps) != null && _uischema$options.readOnly) && jsx(GoabButton, {
15225
- type: "text",
15226
- size: "compact",
15227
- onClick: () => reportChange(stepId, uischema.scope),
15286
+ }), showChangeButtons && stepId !== undefined && !((_uischema$options = uischema.options) != null && (_uischema$options = _uischema$options.componentProps) != null && _uischema$options.readOnly) && jsx(BackButton, {
15287
+ text: "Change",
15288
+ link: () => reportChange(stepId, uischema.scope),
15228
15289
  testId: `${fieldName}-change-btn`,
15229
- children: "Change"
15290
+ showBackIcon: false
15230
15291
  })]
15231
15292
  }), jsxs(ReviewValue, {
15232
15293
  children: [jsx("div", {
@@ -16036,14 +16097,13 @@ const ObjectArrayControl = props => {
16036
16097
  },
16037
16098
  children: maxItemsError
16038
16099
  })]
16039
- }), showChangeButtons && ((_uischema$options7 = uischema.options) == null ? void 0 : _uischema$options7.stepId) !== undefined && !((_uischema$options8 = uischema.options) != null && (_uischema$options8 = _uischema$options8.componentProps) != null && _uischema$options8.readOnly) && jsx(GoabButton, {
16040
- type: "text",
16041
- size: "compact",
16042
- onClick: () => {
16100
+ }), showChangeButtons && ((_uischema$options7 = uischema.options) == null ? void 0 : _uischema$options7.stepId) !== undefined && !((_uischema$options8 = uischema.options) != null && (_uischema$options8 = _uischema$options8.componentProps) != null && _uischema$options8.readOnly) && jsx(BackButton, {
16101
+ text: "Change",
16102
+ link: () => {
16043
16103
  var _uischema$options9;
16044
16104
  return reportChange((_uischema$options9 = uischema.options) == null ? void 0 : _uischema$options9.stepId, uischema.scope);
16045
16105
  },
16046
- children: "Change"
16106
+ showBackIcon: false
16047
16107
  })]
16048
16108
  }) : null, jsx(ObjectArrayList, Object.assign({
16049
16109
  path: path,
@@ -16553,9 +16613,7 @@ const AddressLoopUpControlTableReview = props => {
16553
16613
  data,
16554
16614
  schema,
16555
16615
  uischema,
16556
- path,
16557
- label,
16558
- required
16616
+ path
16559
16617
  } = props;
16560
16618
  const jsonForms = useJsonForms();
16561
16619
  const stepId = (_uischema$options = uischema.options) == null ? void 0 : _uischema$options.stepId;
@@ -16653,6 +16711,9 @@ const AddressLoopUpControlTableReview = props => {
16653
16711
  };
16654
16712
  // Build the target scope for the address control
16655
16713
  const targetScope = (uischema == null ? void 0 : uischema.scope) || (path ? `#/properties/${path}` : undefined);
16714
+ const handleChangeClick = (changeStepId, scope) => {
16715
+ reportChange(changeStepId, scope);
16716
+ };
16656
16717
  const renderRow = (label, value, propName, showButton = false) => {
16657
16718
  var _uischema$options2;
16658
16719
  let error = getError(propName);
@@ -16669,12 +16730,11 @@ const AddressLoopUpControlTableReview = props => {
16669
16730
  children: [label, required && jsx(RequiredTextLabel, {
16670
16731
  children: " (required)"
16671
16732
  })]
16672
- }), showButton && showChangeButtons && stepId !== undefined && !((_uischema$options2 = uischema.options) != null && (_uischema$options2 = _uischema$options2.componentProps) != null && _uischema$options2.readOnly) && jsx(GoabButton, {
16673
- type: "text",
16674
- size: "compact",
16675
- onClick: () => reportChange(stepId, targetScope),
16733
+ }), showButton && showChangeButtons && stepId !== undefined && !((_uischema$options2 = uischema.options) != null && (_uischema$options2 = _uischema$options2.componentProps) != null && _uischema$options2.readOnly) && jsx(BackButton, {
16734
+ text: "Change",
16735
+ link: () => handleChangeClick(stepId, targetScope),
16676
16736
  testId: "address-change-btn",
16677
- children: "Change"
16737
+ showBackIcon: false
16678
16738
  })]
16679
16739
  }), jsxs(ReviewValue, {
16680
16740
  children: [!value ? jsx(NoneGivenText, {
@@ -16695,12 +16755,11 @@ const AddressLoopUpControlTableReview = props => {
16695
16755
  children: jsxs(ReviewHeader, {
16696
16756
  children: [jsx(ReviewLabel, {
16697
16757
  children: `${isAlbertaAddress ? 'Alberta' : 'Canada'} postal address`
16698
- }), showChangeButtons && stepId !== undefined && !((_uischema$options3 = uischema.options) != null && (_uischema$options3 = _uischema$options3.componentProps) != null && _uischema$options3.readOnly) && jsx(GoabButton, {
16699
- type: "text",
16700
- size: "compact",
16701
- onClick: () => reportChange(stepId, targetScope),
16758
+ }), showChangeButtons && stepId !== undefined && !((_uischema$options3 = uischema.options) != null && (_uischema$options3 = _uischema$options3.componentProps) != null && _uischema$options3.readOnly) && jsx(BackButton, {
16759
+ text: "Change",
16760
+ link: () => handleChangeClick(stepId, targetScope),
16702
16761
  testId: "address-change-btn",
16703
- children: "Change"
16762
+ showBackIcon: false
16704
16763
  })]
16705
16764
  })
16706
16765
  })
@@ -16864,10 +16923,10 @@ const GoAGroupReviewControlComponent = props => {
16864
16923
  const GoAGroupReviewLayoutTester = rankWith(1, uiTypeIs('Group'));
16865
16924
  const GoAGroupReviewControl = withJsonFormsLayoutProps(GoAGroupReviewControlComponent, true);
16866
16925
 
16867
- let _$2 = t => t,
16868
- _t$3,
16926
+ let _$1 = t => t,
16927
+ _t$2,
16869
16928
  _t2$1;
16870
- const HelpContentDiv = styled.div(_t$3 || (_t$3 = _$2`
16929
+ const HelpContentDiv = styled.div(_t$2 || (_t$2 = _$1`
16871
16930
  .parent-label {
16872
16931
  font-size: 24px;
16873
16932
  margin-bottom: var(--goa-space-m);
@@ -16955,12 +17014,12 @@ const HelpContentDiv = styled.div(_t$3 || (_t$3 = _$2`
16955
17014
  text-decoration: underline;
16956
17015
  }
16957
17016
  `));
16958
- const InvalidMarkdown = styled.div(_t2$1 || (_t2$1 = _$2`
17017
+ const InvalidMarkdown = styled.div(_t2$1 || (_t2$1 = _$1`
16959
17018
  color: var(--goa-color-interactive-error);
16960
17019
  `));
16961
17020
 
16962
- let _$1 = t => t,
16963
- _t$2;
17021
+ let _ = t => t,
17022
+ _t$1;
16964
17023
  const GoAContextMenuIcon = props => {
16965
17024
  return jsx(GoabIconButton, {
16966
17025
  icon: props.type,
@@ -16971,7 +17030,7 @@ const GoAContextMenuIcon = props => {
16971
17030
  disabled: props.disabled
16972
17031
  });
16973
17032
  };
16974
- const GoAContextMenu = styled.div(_t$2 || (_t$2 = _$1`
17033
+ const GoAContextMenu = styled.div(_t$1 || (_t$1 = _`
16975
17034
  display: flex;
16976
17035
  align-items: center;
16977
17036
  background-color: #fff;
@@ -18071,62 +18130,6 @@ const FormStepperPageReviewer = props => {
18071
18130
  };
18072
18131
  withAjvProps(withTranslateProps(withJsonFormsLayoutProps(FormStepperPageReviewer)));
18073
18132
 
18074
- let _ = t => t,
18075
- _t$1;
18076
- const BackButtonWrapper = styled.span(_t$1 || (_t$1 = _`
18077
- .back-link::before {
18078
- content: '';
18079
- display: inline-block;
18080
- width: 42px;
18081
- height: 24px;
18082
- vertical-align: middle;
18083
- background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 2 22 22" fill="none" stroke="%230070C4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"></polyline></svg>')
18084
- center center no-repeat;
18085
- }
18086
-
18087
- .back-link:visited::before,
18088
- .back-link:hover::before {
18089
- background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 2 22 22" fill="none" stroke="%23004f84" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"></polyline></svg>')
18090
- center center no-repeat;
18091
- }
18092
-
18093
- .back-link {
18094
- margin-top: var(--goa-space-m);
18095
- color: var(--goa-color-interactive-default);
18096
- text-decoration: underline;
18097
- text-underline-offset: 2px;
18098
- text-decoration-color: currentColor;
18099
- display: inline-block;
18100
- }
18101
- display: inline-block;
18102
- color: var(--goa-color-interactive-default);
18103
- cursor: pointer;
18104
- margin-bottom: var(--goa-space-m);
18105
-
18106
- on .goa-icon {
18107
- display: inline-block !important;
18108
- position: relative;
18109
- top: 3px;
18110
- right: 2px;
18111
- color: var(--goa-color-interactive-default);
18112
- margin-left: 4px;
18113
- }
18114
- `));
18115
- const BackButton = ({
18116
- text,
18117
- testId,
18118
- link
18119
- }) => {
18120
- return jsx(BackButtonWrapper, {
18121
- "data-testid": "back-button-click",
18122
- onClick: link,
18123
- children: jsx("div", {
18124
- className: "back-link",
18125
- children: text
18126
- })
18127
- });
18128
- };
18129
-
18130
18133
  const RenderPages = props => {
18131
18134
  var _props$categoryProps$, _props$categoryProps$2, _props$categoryProps$3, _props$categoryProps$4, _props$categoryProps$5, _props$categoryProps$6, _props$categoryProps$7;
18132
18135
  const {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abgov/jsonforms-components",
3
- "version": "2.78.4",
3
+ "version": "2.79.0",
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",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
- "generatedAt": "2026-09-24T19:58:16.458Z",
4
- "sourceCommit": "42201702cb382f5ffd5c31a1e5934918d6406111",
3
+ "generatedAt": "2026-09-28T19:31:18.430Z",
4
+ "sourceCommit": "0a1065be074a95a231cbb92837dab05bedd44bf2",
5
5
  "sourcePath": "libs/jsonforms-components/src/index.ts",
6
6
  "rendererCount": 23,
7
7
  "renderers": [
@@ -2,6 +2,7 @@ interface ExternalLinkProps {
2
2
  text: string;
3
3
  link: () => void;
4
4
  testId?: string;
5
+ showBackIcon?: boolean;
5
6
  }
6
- export declare const BackButton: ({ text, testId, link }: ExternalLinkProps) => JSX.Element;
7
+ export declare const BackButton: ({ text, testId, link, showBackIcon }: ExternalLinkProps) => JSX.Element;
7
8
  export {};