@wavemaker/angular-codegen 11.3.0-next.24702 → 11.3.0-next.25002

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.
@@ -46782,6 +46782,13 @@ const addForIdAttributes = (element) => {
46782
46782
  setAttr(labelEl[0], 'for', widgetId);
46783
46783
  }
46784
46784
  }
46785
+ /*Adding aria-labelledby to radioset, checkboxset widgets*/
46786
+ const ulEl = element.querySelectorAll('ul');
46787
+ if (labelEl.length && ulEl.length && (ulEl[0].getAttribute('role') === 'radiogroup' || ulEl[0].getAttribute('role') === 'group')) {
46788
+ const widgetId = 'wm-group-label-' + generateGUId();
46789
+ setAttr(ulEl[0], 'aria-labelledby', widgetId);
46790
+ setAttr(labelEl[0], 'id', widgetId);
46791
+ }
46785
46792
  };
46786
46793
  /**
46787
46794
  * This method is used to adjust the container position
@@ -40714,7 +40714,7 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
40714
40714
  tmpl = `<div wmCheckbox ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}></div>`;
40715
40715
  break;
40716
40716
  case FormWidgetType.CHECKBOXSET:
40717
- tmpl = `<ul wmCheckboxset ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}></ul>`;
40717
+ tmpl = `<ul role="group" wmCheckboxset ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}></ul>`;
40718
40718
  break;
40719
40719
  case FormWidgetType.CHIPS:
40720
40720
  tmpl = `<ul wmChips role="input" debouncetime="${attrs.get('debouncetime')}" ${innerTmpl}></ul>`;
@@ -40738,7 +40738,7 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
40738
40738
  tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="password" aria-label="Enter password" ${updateOnTmpl}></wm-input>`;
40739
40739
  break;
40740
40740
  case FormWidgetType.RADIOSET:
40741
- tmpl = `<ul wmRadioset ${innerTmpl}></ul>`;
40741
+ tmpl = `<ul role="radiogroup" wmRadioset ${innerTmpl}></ul>`;
40742
40742
  break;
40743
40743
  case FormWidgetType.RATING:
40744
40744
  tmpl = `<div wmRating ${innerTmpl}></div>`;
@@ -40760,10 +40760,10 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
40760
40760
  break;
40761
40761
  case FormWidgetType.TEXT:
40762
40762
  const inputType = options.inputType || 'inputtype';
40763
- tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="${attrs.get(inputType) || 'text'}" aria-describedby="Enter text" ${updateOnTmpl}></wm-input>`;
40763
+ tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="${attrs.get(inputType) || 'text'}" ${updateOnTmpl}></wm-input>`;
40764
40764
  break;
40765
40765
  case FormWidgetType.TEXTAREA:
40766
- tmpl = `<wm-textarea ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} role="textbox" aria-describedby="Place your text" ${updateOnTmpl}></wm-textarea>`;
40766
+ tmpl = `<wm-textarea ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} role="textbox" ${updateOnTmpl}></wm-textarea>`;
40767
40767
  break;
40768
40768
  case FormWidgetType.TIME:
40769
40769
  tmpl = `<div wmTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}></div>`;
@@ -40792,7 +40792,7 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
40792
40792
  }
40793
40793
  break;
40794
40794
  default:
40795
- tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} aria-describedby="Enter text" type="text" ${updateOnTmpl}></wm-input>`;
40795
+ tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="text" ${updateOnTmpl}></wm-input>`;
40796
40796
  break;
40797
40797
  }
40798
40798
  return tmpl;
@@ -42860,6 +42860,13 @@ const addForIdAttributes = (element) => {
42860
42860
  setAttr(labelEl[0], 'for', widgetId);
42861
42861
  }
42862
42862
  }
42863
+ /*Adding aria-labelledby to radioset, checkboxset widgets*/
42864
+ const ulEl = element.querySelectorAll('ul');
42865
+ if (labelEl.length && ulEl.length && (ulEl[0].getAttribute('role') === 'radiogroup' || ulEl[0].getAttribute('role') === 'group')) {
42866
+ const widgetId = 'wm-group-label-' + generateGUId();
42867
+ setAttr(ulEl[0], 'aria-labelledby', widgetId);
42868
+ setAttr(labelEl[0], 'id', widgetId);
42869
+ }
42863
42870
  };
42864
42871
  /**
42865
42872
  * This method is used to adjust the container position
@@ -45515,7 +45522,7 @@ register('wm-panel', () => {
45515
45522
  return {
45516
45523
  pre: (attrs) => {
45517
45524
  const counter = idGen$j.nextUid();
45518
- return `<${tagName$1c} wmPanel #${counter}="wmPanel" partialContainer [attr.aria-label]="${counter}.hint || 'Panel'" wm-navigable-element="true" ${getAttrMarkup(attrs)}>`;
45525
+ return `<${tagName$1c} wmPanel #${counter}="wmPanel" partialContainer wm-navigable-element="true" ${getAttrMarkup(attrs)}>`;
45519
45526
  },
45520
45527
  post: () => `</${tagName$1c}>`
45521
45528
  };
@@ -46043,12 +46050,14 @@ const registerFormField = (isFormField) => {
46043
46050
  const pCounter = (parent && parent.get('form_reference')) || 'form';
46044
46051
  const widgetType = attrs.get('widget') || FormWidgetType.TEXT;
46045
46052
  const dataRole = isFormField ? 'form-field' : 'filter-field';
46053
+ const formFieldErrorMsgId = 'wmform-field-error-' + generateGUId();
46046
46054
  const validationMsg = isFormField ? `<p *ngIf="${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode"
46047
- class="help-block text-danger" aria-hidden="false" [attr.aria-label]="${counter}.validationmessage" role="alert"
46048
- aria-live="assertive" [textContent]="${counter}.validationmessage"></p>` : '';
46055
+ class="help-block text-danger" aria-hidden="false" role="alert"
46056
+ aria-live="assertive" [attr.aria-label]="${counter}.validationmessage" id="${formFieldErrorMsgId}"><span aria-hidden="true" [textContent]="${counter}.validationmessage"></span></p>` : '';
46049
46057
  const eventsTmpl = widgetType === FormWidgetType.UPLOAD ? '' : getEventsTemplate(attrs);
46050
46058
  const controlLayout = isMobileApp() ? 'col-xs-12' : 'col-sm-12';
46051
46059
  const isInList = pCounter === (parentList && parentList.get('parent_form_reference'));
46060
+ attrs.set('__errormsg', formFieldErrorMsgId);
46052
46061
  attrs.set('__widgetType', widgetType);
46053
46062
  attrs.delete('widget');
46054
46063
  shared.set('counter', counter);
@@ -46065,7 +46074,7 @@ const registerFormField = (isFormField) => {
46065
46074
  [ngStyle]="{width: ${pCounter}.captionsize}" [ngClass]="{'text-danger': ${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode,
46066
46075
  required: ${pCounter}.isUpdateMode && ${counter}.required}" [textContent]="${counter}.displayname"> </label>
46067
46076
  <div [ngClass]="${counter}.displayname ? ${pCounter}._widgetClass : '${controlLayout}'">
46068
- <label class="form-control-static app-label"
46077
+ <label class="form-control-static app-label" *ngIf="!(${pCounter}.isUpdateMode || ${counter}.viewmodewidget === 'default' || ${counter}.widgettype === 'upload')"
46069
46078
  [hidden]="${pCounter}.isUpdateMode || ${counter}.viewmodewidget === 'default' || ${counter}.widgettype === 'upload'" [innerHTML]="${getCaptionByWidget(attrs, widgetType, counter)}"></label>
46070
46079
  ${getTemplate(attrs, widgetType, eventsTmpl, counter, pCounter, isInList)}
46071
46080
  <span aria-hidden="true" *ngIf="${counter}.showPendingSpinner" class="form-field-spinner fa fa-circle-o-notch fa-spin form-control-feedback"></span>
@@ -46380,7 +46389,7 @@ var checkbox_build$1 = /*#__PURE__*/Object.freeze({
46380
46389
  const tagName$N = 'ul';
46381
46390
  register('wm-checkboxset', () => {
46382
46391
  return {
46383
- pre: attrs => `<${tagName$N} wmCheckboxset ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,
46392
+ pre: attrs => `<${tagName$N} role="group" wmCheckboxset ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,
46384
46393
  post: () => `</${tagName$N}>`
46385
46394
  };
46386
46395
  });
@@ -46422,7 +46431,7 @@ var number_build$1 = /*#__PURE__*/Object.freeze({
46422
46431
  const tagName$K = 'ul';
46423
46432
  register('wm-radioset', () => {
46424
46433
  return {
46425
- pre: attrs => `<${tagName$K} wmRadioset ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,
46434
+ pre: attrs => `<${tagName$K} role="radiogroup" wmRadioset ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,
46426
46435
  post: () => `</${tagName$K}>`
46427
46436
  };
46428
46437
  });
@@ -46947,7 +46956,7 @@ register('wm-page', () => {
46947
46956
  },
46948
46957
  pre: (attrs) => {
46949
46958
  const counter = idGen$8.nextUid();
46950
- return `<${tagName$p} wmPage #${counter}="wmPage" data-role="pageContainer" [attr.aria-label]="${counter}.hint || 'Main page content'" ${getAttrMarkup(attrs)}>`;
46959
+ return `<${tagName$p} wmPage #${counter}="wmPage" data-role="pageContainer" [attr.aria-label]="${counter}.hint" ${getAttrMarkup(attrs)}>`;
46951
46960
  },
46952
46961
  post: () => `</${tagName$p}>`
46953
46962
  };
@@ -47065,7 +47074,7 @@ register('wm-left-panel', () => {
47065
47074
  return {
47066
47075
  pre: (attrs) => {
47067
47076
  const counter = idGen$4.nextUid();
47068
- return `<${tagName$i} wmLeftPanel #${counter}="wmLeftPanel" partialContainer data-role="page-left-panel" role="navigation" [attr.aria-label]="${counter}.hint || 'Left navigation panel'" wmSmoothscroll="${attrs.get('smoothscroll') || 'false'}" ${getAttrMarkup(attrs)}>`;
47077
+ return `<${tagName$i} wmLeftPanel #${counter}="wmLeftPanel" partialContainer data-role="page-left-panel" [attr.aria-label]="${counter}.hint || 'Left navigation panel'" wmSmoothscroll="${attrs.get('smoothscroll') || 'false'}" ${getAttrMarkup(attrs)}>`;
47069
47078
  },
47070
47079
  post: () => `</${tagName$i}>`
47071
47080
  };
@@ -47599,12 +47608,13 @@ const tagName$5 = 'div';
47599
47608
  const getRowExpansionActionTmpl = (attrs) => {
47600
47609
  const tag = attrs.get('widget-type') === 'anchor' ? 'a' : 'button';
47601
47610
  const directive = attrs.get('widget-type') === 'anchor' ? 'wmAnchor' : 'wmButton';
47611
+ const title = attrs.get('display-name') || attrs.get('title') || 'Collapse/Expand';
47602
47612
  return `<ng-template #rowExpansionActionTmpl let-row="row">
47603
47613
  <${tag} ${directive}
47604
47614
  ${getRowActionAttrs(attrs)}
47605
47615
  class="${attrs.get('class')} row-expansion-button"
47606
47616
  iconclass="${attrs.get('collapseicon')}"
47607
- type="button"></${tag}>
47617
+ type="button" aria-label="${title}"></${tag}>
47608
47618
  </ng-template>`;
47609
47619
  };
47610
47620
  const ɵ0$1$2 = getRowExpansionActionTmpl;
@@ -40714,7 +40714,7 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
40714
40714
  tmpl = `<div wmCheckbox ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}></div>`;
40715
40715
  break;
40716
40716
  case FormWidgetType.CHECKBOXSET:
40717
- tmpl = `<ul wmCheckboxset ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}></ul>`;
40717
+ tmpl = `<ul role="group" wmCheckboxset ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}></ul>`;
40718
40718
  break;
40719
40719
  case FormWidgetType.CHIPS:
40720
40720
  tmpl = `<ul wmChips role="input" debouncetime="${attrs.get('debouncetime')}" ${innerTmpl}></ul>`;
@@ -40738,7 +40738,7 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
40738
40738
  tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="password" aria-label="Enter password" ${updateOnTmpl}></wm-input>`;
40739
40739
  break;
40740
40740
  case FormWidgetType.RADIOSET:
40741
- tmpl = `<ul wmRadioset ${innerTmpl}></ul>`;
40741
+ tmpl = `<ul role="radiogroup" wmRadioset ${innerTmpl}></ul>`;
40742
40742
  break;
40743
40743
  case FormWidgetType.RATING:
40744
40744
  tmpl = `<div wmRating ${innerTmpl}></div>`;
@@ -40760,10 +40760,10 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
40760
40760
  break;
40761
40761
  case FormWidgetType.TEXT:
40762
40762
  const inputType = options.inputType || 'inputtype';
40763
- tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="${attrs.get(inputType) || 'text'}" aria-describedby="Enter text" ${updateOnTmpl}></wm-input>`;
40763
+ tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="${attrs.get(inputType) || 'text'}" ${updateOnTmpl}></wm-input>`;
40764
40764
  break;
40765
40765
  case FormWidgetType.TEXTAREA:
40766
- tmpl = `<wm-textarea ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} role="textbox" aria-describedby="Place your text" ${updateOnTmpl}></wm-textarea>`;
40766
+ tmpl = `<wm-textarea ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} role="textbox" ${updateOnTmpl}></wm-textarea>`;
40767
40767
  break;
40768
40768
  case FormWidgetType.TIME:
40769
40769
  tmpl = `<div wmTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}></div>`;
@@ -40792,7 +40792,7 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
40792
40792
  }
40793
40793
  break;
40794
40794
  default:
40795
- tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} aria-describedby="Enter text" type="text" ${updateOnTmpl}></wm-input>`;
40795
+ tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="text" ${updateOnTmpl}></wm-input>`;
40796
40796
  break;
40797
40797
  }
40798
40798
  return tmpl;
@@ -42860,6 +42860,13 @@ const addForIdAttributes = (element) => {
42860
42860
  setAttr(labelEl[0], 'for', widgetId);
42861
42861
  }
42862
42862
  }
42863
+ /*Adding aria-labelledby to radioset, checkboxset widgets*/
42864
+ const ulEl = element.querySelectorAll('ul');
42865
+ if (labelEl.length && ulEl.length && (ulEl[0].getAttribute('role') === 'radiogroup' || ulEl[0].getAttribute('role') === 'group')) {
42866
+ const widgetId = 'wm-group-label-' + generateGUId();
42867
+ setAttr(ulEl[0], 'aria-labelledby', widgetId);
42868
+ setAttr(labelEl[0], 'id', widgetId);
42869
+ }
42863
42870
  };
42864
42871
  /**
42865
42872
  * This method is used to adjust the container position
@@ -45515,7 +45522,7 @@ register('wm-panel', () => {
45515
45522
  return {
45516
45523
  pre: (attrs) => {
45517
45524
  const counter = idGen$j.nextUid();
45518
- return `<${tagName$1c} wmPanel #${counter}="wmPanel" partialContainer [attr.aria-label]="${counter}.hint || 'Panel'" wm-navigable-element="true" ${getAttrMarkup(attrs)}>`;
45525
+ return `<${tagName$1c} wmPanel #${counter}="wmPanel" partialContainer wm-navigable-element="true" ${getAttrMarkup(attrs)}>`;
45519
45526
  },
45520
45527
  post: () => `</${tagName$1c}>`
45521
45528
  };
@@ -46043,12 +46050,14 @@ const registerFormField = (isFormField) => {
46043
46050
  const pCounter = (parent && parent.get('form_reference')) || 'form';
46044
46051
  const widgetType = attrs.get('widget') || FormWidgetType.TEXT;
46045
46052
  const dataRole = isFormField ? 'form-field' : 'filter-field';
46053
+ const formFieldErrorMsgId = 'wmform-field-error-' + generateGUId();
46046
46054
  const validationMsg = isFormField ? `<p *ngIf="${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode"
46047
- class="help-block text-danger" aria-hidden="false" [attr.aria-label]="${counter}.validationmessage" role="alert"
46048
- aria-live="assertive" [textContent]="${counter}.validationmessage"></p>` : '';
46055
+ class="help-block text-danger" aria-hidden="false" role="alert"
46056
+ aria-live="assertive" [attr.aria-label]="${counter}.validationmessage" id="${formFieldErrorMsgId}"><span aria-hidden="true" [textContent]="${counter}.validationmessage"></span></p>` : '';
46049
46057
  const eventsTmpl = widgetType === FormWidgetType.UPLOAD ? '' : getEventsTemplate(attrs);
46050
46058
  const controlLayout = isMobileApp() ? 'col-xs-12' : 'col-sm-12';
46051
46059
  const isInList = pCounter === (parentList && parentList.get('parent_form_reference'));
46060
+ attrs.set('__errormsg', formFieldErrorMsgId);
46052
46061
  attrs.set('__widgetType', widgetType);
46053
46062
  attrs.delete('widget');
46054
46063
  shared.set('counter', counter);
@@ -46065,7 +46074,7 @@ const registerFormField = (isFormField) => {
46065
46074
  [ngStyle]="{width: ${pCounter}.captionsize}" [ngClass]="{'text-danger': ${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode,
46066
46075
  required: ${pCounter}.isUpdateMode && ${counter}.required}" [textContent]="${counter}.displayname"> </label>
46067
46076
  <div [ngClass]="${counter}.displayname ? ${pCounter}._widgetClass : '${controlLayout}'">
46068
- <label class="form-control-static app-label"
46077
+ <label class="form-control-static app-label" *ngIf="!(${pCounter}.isUpdateMode || ${counter}.viewmodewidget === 'default' || ${counter}.widgettype === 'upload')"
46069
46078
  [hidden]="${pCounter}.isUpdateMode || ${counter}.viewmodewidget === 'default' || ${counter}.widgettype === 'upload'" [innerHTML]="${getCaptionByWidget(attrs, widgetType, counter)}"></label>
46070
46079
  ${getTemplate(attrs, widgetType, eventsTmpl, counter, pCounter, isInList)}
46071
46080
  <span aria-hidden="true" *ngIf="${counter}.showPendingSpinner" class="form-field-spinner fa fa-circle-o-notch fa-spin form-control-feedback"></span>
@@ -46380,7 +46389,7 @@ var checkbox_build$1 = /*#__PURE__*/Object.freeze({
46380
46389
  const tagName$N = 'ul';
46381
46390
  register('wm-checkboxset', () => {
46382
46391
  return {
46383
- pre: attrs => `<${tagName$N} wmCheckboxset ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,
46392
+ pre: attrs => `<${tagName$N} role="group" wmCheckboxset ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,
46384
46393
  post: () => `</${tagName$N}>`
46385
46394
  };
46386
46395
  });
@@ -46422,7 +46431,7 @@ var number_build$1 = /*#__PURE__*/Object.freeze({
46422
46431
  const tagName$K = 'ul';
46423
46432
  register('wm-radioset', () => {
46424
46433
  return {
46425
- pre: attrs => `<${tagName$K} wmRadioset ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,
46434
+ pre: attrs => `<${tagName$K} role="radiogroup" wmRadioset ${getFormMarkupAttr(attrs)} ${getChildAttrs(attrs)} ${getNgModelAttr(attrs)}>`,
46426
46435
  post: () => `</${tagName$K}>`
46427
46436
  };
46428
46437
  });
@@ -46947,7 +46956,7 @@ register('wm-page', () => {
46947
46956
  },
46948
46957
  pre: (attrs) => {
46949
46958
  const counter = idGen$8.nextUid();
46950
- return `<${tagName$p} wmPage #${counter}="wmPage" data-role="pageContainer" [attr.aria-label]="${counter}.hint || 'Main page content'" ${getAttrMarkup(attrs)}>`;
46959
+ return `<${tagName$p} wmPage #${counter}="wmPage" data-role="pageContainer" [attr.aria-label]="${counter}.hint" ${getAttrMarkup(attrs)}>`;
46951
46960
  },
46952
46961
  post: () => `</${tagName$p}>`
46953
46962
  };
@@ -47065,7 +47074,7 @@ register('wm-left-panel', () => {
47065
47074
  return {
47066
47075
  pre: (attrs) => {
47067
47076
  const counter = idGen$4.nextUid();
47068
- return `<${tagName$i} wmLeftPanel #${counter}="wmLeftPanel" partialContainer data-role="page-left-panel" role="navigation" [attr.aria-label]="${counter}.hint || 'Left navigation panel'" wmSmoothscroll="${attrs.get('smoothscroll') || 'false'}" ${getAttrMarkup(attrs)}>`;
47077
+ return `<${tagName$i} wmLeftPanel #${counter}="wmLeftPanel" partialContainer data-role="page-left-panel" [attr.aria-label]="${counter}.hint || 'Left navigation panel'" wmSmoothscroll="${attrs.get('smoothscroll') || 'false'}" ${getAttrMarkup(attrs)}>`;
47069
47078
  },
47070
47079
  post: () => `</${tagName$i}>`
47071
47080
  };
@@ -47599,12 +47608,13 @@ const tagName$5 = 'div';
47599
47608
  const getRowExpansionActionTmpl = (attrs) => {
47600
47609
  const tag = attrs.get('widget-type') === 'anchor' ? 'a' : 'button';
47601
47610
  const directive = attrs.get('widget-type') === 'anchor' ? 'wmAnchor' : 'wmButton';
47611
+ const title = attrs.get('display-name') || attrs.get('title') || 'Collapse/Expand';
47602
47612
  return `<ng-template #rowExpansionActionTmpl let-row="row">
47603
47613
  <${tag} ${directive}
47604
47614
  ${getRowActionAttrs(attrs)}
47605
47615
  class="${attrs.get('class')} row-expansion-button"
47606
47616
  iconclass="${attrs.get('collapseicon')}"
47607
- type="button"></${tag}>
47617
+ type="button" aria-label="${title}"></${tag}>
47608
47618
  </ng-template>`;
47609
47619
  };
47610
47620
  const ɵ0$1$2 = getRowExpansionActionTmpl;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/angular-codegen",
3
- "version": "11.3.0-next.24702",
3
+ "version": "11.3.0-next.25002",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {