@wavemaker/angular-app 11.14.1-18.6445 → 11.14.1-19.6462

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.
@@ -131288,7 +131288,7 @@ function requireDom$1 () {
131288
131288
  ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]="DOMString size error"),2);
131289
131289
  var HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]="Hierarchy request error"),3);
131290
131290
  ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]="Wrong document"),4);
131291
- ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]="Invalid character"),5);
131291
+ var INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]="Invalid character"),5);
131292
131292
  ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]="No data allowed"),6);
131293
131293
  ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]="No modification allowed"),7);
131294
131294
  var NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]="Not found"),8);
@@ -132369,7 +132369,22 @@ function requireDom$1 () {
132369
132369
  node.appendData(data);
132370
132370
  return node;
132371
132371
  },
132372
+ /**
132373
+ * Returns a new CDATASection node whose data is `data`.
132374
+ *
132375
+ * __This implementation differs from the specification:__
132376
+ * - calling this method on an HTML document does not throw `NotSupportedError`.
132377
+ *
132378
+ * @param {string} data
132379
+ * @returns {CDATASection}
132380
+ * @throws DOMException with code `INVALID_CHARACTER_ERR` if `data` contains `"]]>"`.
132381
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/createCDATASection
132382
+ * @see https://dom.spec.whatwg.org/#dom-document-createcdatasection
132383
+ */
132372
132384
  createCDATASection : function(data){
132385
+ if (data.indexOf(']]>') !== -1) {
132386
+ throw new DOMException(INVALID_CHARACTER_ERR, 'data contains "]]>"');
132387
+ }
132373
132388
  var node = new CDATASection();
132374
132389
  node.ownerDocument = this;
132375
132390
  node.appendData(data);
@@ -132627,6 +132642,20 @@ function requireDom$1 () {
132627
132642
  ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;
132628
132643
  _extends(ProcessingInstruction,Node);
132629
132644
  function XMLSerializer(){}
132645
+ /**
132646
+ * Returns the result of serializing `node` to XML.
132647
+ *
132648
+ * __This implementation differs from the specification:__
132649
+ * - CDATASection nodes whose data contains `]]>` are serialized by splitting the section
132650
+ * at each `]]>` occurrence (following W3C DOM Level 3 Core `split-cdata-sections`
132651
+ * default behaviour). A configurable option is not yet implemented.
132652
+ *
132653
+ * @param {Node} node
132654
+ * @param {boolean} [isHtml]
132655
+ * @param {function} [nodeFilter]
132656
+ * @returns {string}
132657
+ * @see https://html.spec.whatwg.org/#dom-xmlserializer-serializetostring
132658
+ */
132630
132659
  XMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){
132631
132660
  return nodeSerializeToString.call(node,isHtml,nodeFilter);
132632
132661
  };
@@ -132845,7 +132874,7 @@ function requireDom$1 () {
132845
132874
  .replace(/[<&>]/g,_xmlEncoder)
132846
132875
  );
132847
132876
  case CDATA_SECTION_NODE:
132848
- return buf.push( '<![CDATA[',node.data,']]>');
132877
+ return buf.push('<![CDATA[', node.data.replace(/]]>/g, ']]]]><![CDATA[>'), ']]>');
132849
132878
  case COMMENT_NODE:
132850
132879
  return buf.push( "<!--",node.data,"-->");
132851
132880
  case DOCUMENT_TYPE_NODE:
@@ -135825,7 +135854,7 @@ function requireSax$1 () {
135825
135854
  function parseInstruction(source,start,domBuilder){
135826
135855
  var end = source.indexOf('?>',start);
135827
135856
  if(end){
135828
- var match = source.substring(start,end).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);
135857
+ var match = source.substring(start,end).match(/^<\?(\S*)\s*([\s\S]*?)$/);
135829
135858
  if(match){
135830
135859
  match[0].length;
135831
135860
  domBuilder.processingInstruction(match[1], match[2]) ;
@@ -147851,13 +147880,13 @@ const FIRST_TIME_WATCH$1 = {};
147851
147880
  Object.freeze(FIRST_TIME_WATCH$1);
147852
147881
  const arrayConsumer$1 = (listenerFn, restExpr, newVal, oldVal) => {
147853
147882
  let data = newVal, formattedData;
147854
- if (isArray$1(data)) {
147883
+ if (_.isArray(data)) {
147855
147884
  formattedData = data.map(function (datum) {
147856
147885
  return findValueOf$1(datum, restExpr);
147857
147886
  });
147858
147887
  // If resulting structure is an array of array, flatten it
147859
- if (isArray$1(formattedData[0])) {
147860
- formattedData = flatten$2(formattedData);
147888
+ if (_.isArray(formattedData[0])) {
147889
+ formattedData = _.flatten(formattedData);
147861
147890
  }
147862
147891
  listenerFn(formattedData, oldVal);
147863
147892
  }
@@ -147902,6 +147931,19 @@ const $watch$1 = (expr, $scope, $locals, listener, identifier = watchIdGenerator
147902
147931
  };
147903
147932
  const $unwatch$1 = identifier => registry$1.delete(identifier);
147904
147933
  window.watchRegistry = registry$1;
147934
+ window.__WM_DEBUG_WATCHERS__ = false;
147935
+ /*export const $invokeWatchers = (force?: boolean, ignoreMuted?: boolean) => {
147936
+ if (force) {
147937
+ triggerWatchers(ignoreMuted);
147938
+ } else {
147939
+
147940
+ if (skipWatchers) {
147941
+ skipWatchers = false;
147942
+ return;
147943
+ }
147944
+ debouncedTriggerWatchers();
147945
+ }
147946
+ };*/
147905
147947
  const $appDigest$1 = (() => {
147906
147948
  return (force) => {
147907
147949
  {
@@ -147964,8 +148006,8 @@ var Operation$1;
147964
148006
  const DataSource$1 = {
147965
148007
  Operation: Operation$1
147966
148008
  };
147967
- class App {
147968
- }
148009
+ let App$1 = class App {
148010
+ };
147969
148011
  let AbstractI18nService$1 = class AbstractI18nService {
147970
148012
  };
147971
148013
 
@@ -147983,6 +148025,7 @@ const REGEX$1 = {
147983
148025
  SUPPORTED_AUDIO_FORMAT: /\.(mp3|ogg|webm|wma|3gp|wav|m4a)$/i,
147984
148026
  SUPPORTED_VIDEO_FORMAT: /\.(mp4|ogg|webm|wmv|mpeg|mpg|avi|mov)$/i,
147985
148027
  VALID_WEB_URL: /^(http[s]?:\/\/)(www\.){0,1}[a-zA-Z0-9=:?\/\.\-]+(\.[a-zA-Z]{2,5}[\.]{0,1})?/,
148028
+ VALID_IMAGE_URL: /^(https?|blob|data|file|ftp):/i,
147986
148029
  REPLACE_PATTERN: /\$\{([^\}]+)\}/g,
147987
148030
  DATA_URL: /^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*)\s*$/i,
147988
148031
  ISO_DATE_FORMAT: /(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})(\.\d+)?([+-]\d{2}:?\d{2}|Z)$/
@@ -148205,6 +148248,9 @@ const isVideoFile$1 = (fileName) => {
148205
148248
  const isValidWebURL$1 = (url) => {
148206
148249
  return (REGEX$1.VALID_WEB_URL).test(url);
148207
148250
  };
148251
+ const isValidImageUrl$1 = (url) => {
148252
+ return (REGEX$1.VALID_IMAGE_URL).test(url?.trim());
148253
+ };
148208
148254
  /*This function returns the url to the resource after checking the validity of url*/
148209
148255
  const getResourceURL$1 = (urlString) => {
148210
148256
  return urlString;
@@ -149458,6 +149504,7 @@ var Utils$1 = /*#__PURE__*/Object.freeze({
149458
149504
  isPageable: isPageable$1,
149459
149505
  isSafari: isSafari$1,
149460
149506
  isTablet: isTablet$1,
149507
+ isValidImageUrl: isValidImageUrl$1,
149461
149508
  isValidWebURL: isValidWebURL$1,
149462
149509
  isVideoFile: isVideoFile$1,
149463
149510
  loadScript: loadScript$1,
@@ -150692,14 +150739,14 @@ class ToDatePipe extends WmPipe {
150692
150739
  }
150693
150740
  return this.returnFn('', arguments, this.app.Variables);
150694
150741
  }
150695
- constructor(datePipe, i18nService, customPipeManager) {
150742
+ constructor(datePipe, i18nService, app, customPipeManager) {
150696
150743
  super('toDate', customPipeManager);
150697
150744
  this.datePipe = datePipe;
150698
150745
  this.i18nService = i18nService;
150746
+ this.app = app;
150699
150747
  this.customPipeManager = customPipeManager;
150700
- this.app = inject(App);
150701
150748
  }
150702
- static { this.ɵfac = function ToDatePipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ToDatePipe)(ɵɵdirectiveInject(DatePipe, 16), ɵɵdirectiveInject(AbstractI18nService$1, 16), ɵɵdirectiveInject(CustomPipeManager$1, 16)); }; }
150749
+ static { this.ɵfac = function ToDatePipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ToDatePipe)(ɵɵdirectiveInject(DatePipe, 16), ɵɵdirectiveInject(AbstractI18nService$1, 16), ɵɵdirectiveInject(App$1, 16), ɵɵdirectiveInject(CustomPipeManager$1, 16)); }; }
150703
150750
  static { this.ɵpipe = /*@__PURE__*/ ɵɵdefinePipe({ name: "toDate", type: ToDatePipe, pure: true, standalone: true }); }
150704
150751
  }
150705
150752
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ToDatePipe, [{
@@ -150708,7 +150755,7 @@ class ToDatePipe extends WmPipe {
150708
150755
  standalone: true,
150709
150756
  name: 'toDate'
150710
150757
  }]
150711
- }], () => [{ type: DatePipe }, { type: AbstractI18nService$1 }, { type: CustomPipeManager$1 }], null); })();
150758
+ }], () => [{ type: DatePipe }, { type: AbstractI18nService$1 }, { type: App$1 }, { type: CustomPipeManager$1 }], null); })();
150712
150759
  class ToNumberPipe {
150713
150760
  transform(data, fracSize) {
150714
150761
  if (fracSize && !String(fracSize).match(/^(\d+)?\.((\d+)(-(\d+))?)?$/)) {
@@ -150796,9 +150843,9 @@ class SuffixPipe {
150796
150843
  * Custom pipe: It is work as interceptor between the user custom pipe function and angular pipe
150797
150844
  */
150798
150845
  class CustomPipe {
150799
- constructor(custmeUserPipe) {
150846
+ constructor(app, custmeUserPipe) {
150847
+ this.app = app;
150800
150848
  this.custmeUserPipe = custmeUserPipe;
150801
- this.app = inject(App);
150802
150849
  }
150803
150850
  transform(data, pipename) {
150804
150851
  let argumentArr = [];
@@ -150818,7 +150865,7 @@ class CustomPipe {
150818
150865
  return data;
150819
150866
  }
150820
150867
  }
150821
- static { this.ɵfac = function CustomPipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CustomPipe)(ɵɵdirectiveInject(CustomPipeManager$1, 16)); }; }
150868
+ static { this.ɵfac = function CustomPipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CustomPipe)(ɵɵdirectiveInject(App$1, 16), ɵɵdirectiveInject(CustomPipeManager$1, 16)); }; }
150822
150869
  static { this.ɵpipe = /*@__PURE__*/ ɵɵdefinePipe({ name: "custom", type: CustomPipe, pure: true, standalone: true }); }
150823
150870
  }
150824
150871
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CustomPipe, [{
@@ -150827,7 +150874,7 @@ class CustomPipe {
150827
150874
  standalone: true,
150828
150875
  name: 'custom'
150829
150876
  }]
150830
- }], () => [{ type: CustomPipeManager$1 }], null); })();
150877
+ }], () => [{ type: App$1 }, { type: CustomPipeManager$1 }], null); })();
150831
150878
  class TimeFromNowPipe {
150832
150879
  transform(data) {
150833
150880
  let timestamp;
@@ -187963,7 +188010,7 @@ function requireDom () {
187963
188010
  ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]="DOMString size error"),2);
187964
188011
  var HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]="Hierarchy request error"),3);
187965
188012
  ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]="Wrong document"),4);
187966
- ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]="Invalid character"),5);
188013
+ var INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]="Invalid character"),5);
187967
188014
  ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]="No data allowed"),6);
187968
188015
  ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]="No modification allowed"),7);
187969
188016
  var NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]="Not found"),8);
@@ -189044,7 +189091,22 @@ function requireDom () {
189044
189091
  node.appendData(data);
189045
189092
  return node;
189046
189093
  },
189094
+ /**
189095
+ * Returns a new CDATASection node whose data is `data`.
189096
+ *
189097
+ * __This implementation differs from the specification:__
189098
+ * - calling this method on an HTML document does not throw `NotSupportedError`.
189099
+ *
189100
+ * @param {string} data
189101
+ * @returns {CDATASection}
189102
+ * @throws DOMException with code `INVALID_CHARACTER_ERR` if `data` contains `"]]>"`.
189103
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/createCDATASection
189104
+ * @see https://dom.spec.whatwg.org/#dom-document-createcdatasection
189105
+ */
189047
189106
  createCDATASection : function(data){
189107
+ if (data.indexOf(']]>') !== -1) {
189108
+ throw new DOMException(INVALID_CHARACTER_ERR, 'data contains "]]>"');
189109
+ }
189048
189110
  var node = new CDATASection();
189049
189111
  node.ownerDocument = this;
189050
189112
  node.appendData(data);
@@ -189302,6 +189364,20 @@ function requireDom () {
189302
189364
  ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;
189303
189365
  _extends(ProcessingInstruction,Node);
189304
189366
  function XMLSerializer(){}
189367
+ /**
189368
+ * Returns the result of serializing `node` to XML.
189369
+ *
189370
+ * __This implementation differs from the specification:__
189371
+ * - CDATASection nodes whose data contains `]]>` are serialized by splitting the section
189372
+ * at each `]]>` occurrence (following W3C DOM Level 3 Core `split-cdata-sections`
189373
+ * default behaviour). A configurable option is not yet implemented.
189374
+ *
189375
+ * @param {Node} node
189376
+ * @param {boolean} [isHtml]
189377
+ * @param {function} [nodeFilter]
189378
+ * @returns {string}
189379
+ * @see https://html.spec.whatwg.org/#dom-xmlserializer-serializetostring
189380
+ */
189305
189381
  XMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){
189306
189382
  return nodeSerializeToString.call(node,isHtml,nodeFilter);
189307
189383
  };
@@ -189520,7 +189596,7 @@ function requireDom () {
189520
189596
  .replace(/[<&>]/g,_xmlEncoder)
189521
189597
  );
189522
189598
  case CDATA_SECTION_NODE:
189523
- return buf.push( '<![CDATA[',node.data,']]>');
189599
+ return buf.push('<![CDATA[', node.data.replace(/]]>/g, ']]]]><![CDATA[>'), ']]>');
189524
189600
  case COMMENT_NODE:
189525
189601
  return buf.push( "<!--",node.data,"-->");
189526
189602
  case DOCUMENT_TYPE_NODE:
@@ -192500,7 +192576,7 @@ function requireSax () {
192500
192576
  function parseInstruction(source,start,domBuilder){
192501
192577
  var end = source.indexOf('?>',start);
192502
192578
  if(end){
192503
- var match = source.substring(start,end).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);
192579
+ var match = source.substring(start,end).match(/^<\?(\S*)\s*([\s\S]*?)$/);
192504
192580
  if(match){
192505
192581
  match[0].length;
192506
192582
  domBuilder.processingInstruction(match[1], match[2]) ;
@@ -203461,13 +203537,13 @@ const FIRST_TIME_WATCH = {};
203461
203537
  Object.freeze(FIRST_TIME_WATCH);
203462
203538
  const arrayConsumer = (listenerFn, restExpr, newVal, oldVal) => {
203463
203539
  let data = newVal, formattedData;
203464
- if (isArray(data)) {
203540
+ if (_.isArray(data)) {
203465
203541
  formattedData = data.map(function (datum) {
203466
203542
  return findValueOf(datum, restExpr);
203467
203543
  });
203468
203544
  // If resulting structure is an array of array, flatten it
203469
- if (isArray(formattedData[0])) {
203470
- formattedData = flatten(formattedData);
203545
+ if (_.isArray(formattedData[0])) {
203546
+ formattedData = _.flatten(formattedData);
203471
203547
  }
203472
203548
  listenerFn(formattedData, oldVal);
203473
203549
  }
@@ -203512,6 +203588,19 @@ const $watch = (expr, $scope, $locals, listener, identifier = watchIdGenerator.n
203512
203588
  };
203513
203589
  const $unwatch = identifier => registry.delete(identifier);
203514
203590
  window.watchRegistry = registry;
203591
+ window.__WM_DEBUG_WATCHERS__ = false;
203592
+ /*export const $invokeWatchers = (force?: boolean, ignoreMuted?: boolean) => {
203593
+ if (force) {
203594
+ triggerWatchers(ignoreMuted);
203595
+ } else {
203596
+
203597
+ if (skipWatchers) {
203598
+ skipWatchers = false;
203599
+ return;
203600
+ }
203601
+ debouncedTriggerWatchers();
203602
+ }
203603
+ };*/
203515
203604
  const $appDigest = (() => {
203516
203605
  return (force) => {
203517
203606
  {
@@ -203574,6 +203663,8 @@ var Operation;
203574
203663
  const DataSource = {
203575
203664
  Operation
203576
203665
  };
203666
+ class App {
203667
+ }
203577
203668
  class AbstractI18nService {
203578
203669
  }
203579
203670
 
@@ -203591,6 +203682,7 @@ const REGEX = {
203591
203682
  SUPPORTED_AUDIO_FORMAT: /\.(mp3|ogg|webm|wma|3gp|wav|m4a)$/i,
203592
203683
  SUPPORTED_VIDEO_FORMAT: /\.(mp4|ogg|webm|wmv|mpeg|mpg|avi|mov)$/i,
203593
203684
  VALID_WEB_URL: /^(http[s]?:\/\/)(www\.){0,1}[a-zA-Z0-9=:?\/\.\-]+(\.[a-zA-Z]{2,5}[\.]{0,1})?/,
203685
+ VALID_IMAGE_URL: /^(https?|blob|data|file|ftp):/i,
203594
203686
  REPLACE_PATTERN: /\$\{([^\}]+)\}/g,
203595
203687
  DATA_URL: /^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*)\s*$/i,
203596
203688
  ISO_DATE_FORMAT: /(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})(\.\d+)?([+-]\d{2}:?\d{2}|Z)$/
@@ -203813,6 +203905,9 @@ const isVideoFile = (fileName) => {
203813
203905
  const isValidWebURL = (url) => {
203814
203906
  return (REGEX.VALID_WEB_URL).test(url);
203815
203907
  };
203908
+ const isValidImageUrl = (url) => {
203909
+ return (REGEX.VALID_IMAGE_URL).test(url?.trim());
203910
+ };
203816
203911
  /*This function returns the url to the resource after checking the validity of url*/
203817
203912
  const getResourceURL = (urlString) => {
203818
203913
  return urlString;
@@ -205066,6 +205161,7 @@ var Utils = /*#__PURE__*/Object.freeze({
205066
205161
  isPageable: isPageable,
205067
205162
  isSafari: isSafari,
205068
205163
  isTablet: isTablet,
205164
+ isValidImageUrl: isValidImageUrl,
205069
205165
  isValidWebURL: isValidWebURL,
205070
205166
  isVideoFile: isVideoFile,
205071
205167
  loadScript: loadScript,
@@ -207905,7 +208001,7 @@ class PipeProvider {
207905
208001
  this.preparePipeMeta(CurrencyPipe$1, 'currency', true, [this._locale]),
207906
208002
  this.preparePipeMeta(DatePipe$1, 'date', true, [this._locale]),
207907
208003
  this.preparePipeMeta(ToDatePipe, 'toDate', true, [
207908
- new DatePipe$1(this._locale), undefined, this.injector.get(CustomPipeManager)
208004
+ new DatePipe$1(this._locale), undefined, this.injector.get(App), this.injector.get(CustomPipeManager)
207909
208005
  ]),
207910
208006
  this.preparePipeMeta(ToNumberPipe, 'toNumber', true, [
207911
208007
  new DecimalPipe$1(this._locale),
@@ -207922,7 +208018,7 @@ class PipeProvider {
207922
208018
  new DecimalPipe$1(this._locale)
207923
208019
  ]),
207924
208020
  this.preparePipeMeta(StringToNumberPipe, 'stringToNumber', true),
207925
- this.preparePipeMeta(CustomPipe, 'custom', true, [this.injector.get(CustomPipeManager)]),
208021
+ this.preparePipeMeta(CustomPipe, 'custom', true, [this.injector.get(App), this.injector.get(CustomPipeManager)]),
207926
208022
  this.preparePipeMeta(TrustAsPipe, 'trustAs', true, [this.domSanitizer]),
207927
208023
  this.preparePipeMeta(SanitizePipe, 'sanitize', true, [this.domSanitizer]),
207928
208024
  this.preparePipeMeta(TemplateReplacePipe, 'templateReplace', true),
@@ -37811,7 +37811,7 @@ function requireDom () {
37811
37811
  ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]="DOMString size error"),2);
37812
37812
  var HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]="Hierarchy request error"),3);
37813
37813
  ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]="Wrong document"),4);
37814
- ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]="Invalid character"),5);
37814
+ var INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]="Invalid character"),5);
37815
37815
  ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]="No data allowed"),6);
37816
37816
  ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]="No modification allowed"),7);
37817
37817
  var NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]="Not found"),8);
@@ -38892,7 +38892,22 @@ function requireDom () {
38892
38892
  node.appendData(data);
38893
38893
  return node;
38894
38894
  },
38895
+ /**
38896
+ * Returns a new CDATASection node whose data is `data`.
38897
+ *
38898
+ * __This implementation differs from the specification:__
38899
+ * - calling this method on an HTML document does not throw `NotSupportedError`.
38900
+ *
38901
+ * @param {string} data
38902
+ * @returns {CDATASection}
38903
+ * @throws DOMException with code `INVALID_CHARACTER_ERR` if `data` contains `"]]>"`.
38904
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/createCDATASection
38905
+ * @see https://dom.spec.whatwg.org/#dom-document-createcdatasection
38906
+ */
38895
38907
  createCDATASection : function(data){
38908
+ if (data.indexOf(']]>') !== -1) {
38909
+ throw new DOMException(INVALID_CHARACTER_ERR, 'data contains "]]>"');
38910
+ }
38896
38911
  var node = new CDATASection();
38897
38912
  node.ownerDocument = this;
38898
38913
  node.appendData(data);
@@ -39150,6 +39165,20 @@ function requireDom () {
39150
39165
  ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;
39151
39166
  _extends(ProcessingInstruction,Node);
39152
39167
  function XMLSerializer(){}
39168
+ /**
39169
+ * Returns the result of serializing `node` to XML.
39170
+ *
39171
+ * __This implementation differs from the specification:__
39172
+ * - CDATASection nodes whose data contains `]]>` are serialized by splitting the section
39173
+ * at each `]]>` occurrence (following W3C DOM Level 3 Core `split-cdata-sections`
39174
+ * default behaviour). A configurable option is not yet implemented.
39175
+ *
39176
+ * @param {Node} node
39177
+ * @param {boolean} [isHtml]
39178
+ * @param {function} [nodeFilter]
39179
+ * @returns {string}
39180
+ * @see https://html.spec.whatwg.org/#dom-xmlserializer-serializetostring
39181
+ */
39153
39182
  XMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){
39154
39183
  return nodeSerializeToString.call(node,isHtml,nodeFilter);
39155
39184
  };
@@ -39368,7 +39397,7 @@ function requireDom () {
39368
39397
  .replace(/[<&>]/g,_xmlEncoder)
39369
39398
  );
39370
39399
  case CDATA_SECTION_NODE:
39371
- return buf.push( '<![CDATA[',node.data,']]>');
39400
+ return buf.push('<![CDATA[', node.data.replace(/]]>/g, ']]]]><![CDATA[>'), ']]>');
39372
39401
  case COMMENT_NODE:
39373
39402
  return buf.push( "<!--",node.data,"-->");
39374
39403
  case DOCUMENT_TYPE_NODE:
@@ -42348,7 +42377,7 @@ function requireSax () {
42348
42377
  function parseInstruction(source,start,domBuilder){
42349
42378
  var end = source.indexOf('?>',start);
42350
42379
  if(end){
42351
- var match = source.substring(start,end).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);
42380
+ var match = source.substring(start,end).match(/^<\?(\S*)\s*([\s\S]*?)$/);
42352
42381
  if(match){
42353
42382
  match[0].length;
42354
42383
  domBuilder.processingInstruction(match[1], match[2]) ;
@@ -100259,13 +100288,13 @@ const FIRST_TIME_WATCH = {};
100259
100288
  Object.freeze(FIRST_TIME_WATCH);
100260
100289
  const arrayConsumer = (listenerFn, restExpr, newVal, oldVal) => {
100261
100290
  let data = newVal, formattedData;
100262
- if (isArray(data)) {
100291
+ if (_.isArray(data)) {
100263
100292
  formattedData = data.map(function (datum) {
100264
100293
  return findValueOf(datum, restExpr);
100265
100294
  });
100266
100295
  // If resulting structure is an array of array, flatten it
100267
- if (isArray(formattedData[0])) {
100268
- formattedData = flatten$1(formattedData);
100296
+ if (_.isArray(formattedData[0])) {
100297
+ formattedData = _.flatten(formattedData);
100269
100298
  }
100270
100299
  listenerFn(formattedData, oldVal);
100271
100300
  }
@@ -100310,6 +100339,19 @@ const $watch = (expr, $scope, $locals, listener, identifier = watchIdGenerator.n
100310
100339
  };
100311
100340
  const $unwatch = identifier => registry.delete(identifier);
100312
100341
  window.watchRegistry = registry;
100342
+ window.__WM_DEBUG_WATCHERS__ = false;
100343
+ /*export const $invokeWatchers = (force?: boolean, ignoreMuted?: boolean) => {
100344
+ if (force) {
100345
+ triggerWatchers(ignoreMuted);
100346
+ } else {
100347
+
100348
+ if (skipWatchers) {
100349
+ skipWatchers = false;
100350
+ return;
100351
+ }
100352
+ debouncedTriggerWatchers();
100353
+ }
100354
+ };*/
100313
100355
  const $appDigest = (() => {
100314
100356
  return (force) => {
100315
100357
  {
@@ -100387,6 +100429,7 @@ const REGEX = {
100387
100429
  SUPPORTED_AUDIO_FORMAT: /\.(mp3|ogg|webm|wma|3gp|wav|m4a)$/i,
100388
100430
  SUPPORTED_VIDEO_FORMAT: /\.(mp4|ogg|webm|wmv|mpeg|mpg|avi|mov)$/i,
100389
100431
  VALID_WEB_URL: /^(http[s]?:\/\/)(www\.){0,1}[a-zA-Z0-9=:?\/\.\-]+(\.[a-zA-Z]{2,5}[\.]{0,1})?/,
100432
+ VALID_IMAGE_URL: /^(https?|blob|data|file|ftp):/i,
100390
100433
  REPLACE_PATTERN: /\$\{([^\}]+)\}/g,
100391
100434
  DATA_URL: /^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*)\s*$/i,
100392
100435
  ISO_DATE_FORMAT: /(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})(\.\d+)?([+-]\d{2}:?\d{2}|Z)$/
@@ -100609,6 +100652,9 @@ const isVideoFile = (fileName) => {
100609
100652
  const isValidWebURL = (url) => {
100610
100653
  return (REGEX.VALID_WEB_URL).test(url);
100611
100654
  };
100655
+ const isValidImageUrl = (url) => {
100656
+ return (REGEX.VALID_IMAGE_URL).test(url?.trim());
100657
+ };
100612
100658
  /*This function returns the url to the resource after checking the validity of url*/
100613
100659
  const getResourceURL = (urlString) => {
100614
100660
  return urlString;
@@ -101862,6 +101908,7 @@ var Utils = /*#__PURE__*/Object.freeze({
101862
101908
  isPageable: isPageable,
101863
101909
  isSafari: isSafari,
101864
101910
  isTablet: isTablet,
101911
+ isValidImageUrl: isValidImageUrl,
101865
101912
  isValidWebURL: isValidWebURL,
101866
101913
  isVideoFile: isVideoFile,
101867
101914
  loadScript: loadScript,
@@ -69,7 +69,7 @@
69
69
  <body>
70
70
  <div class="header">
71
71
  <h1>Angular Project Dependencies Report</h1>
72
- <p class="timestamp">Generated on: 3/23/2026, 4:54:46 PM</p>
72
+ <p class="timestamp">Generated on: 4/1/2026, 7:12:30 PM</p>
73
73
  </div>
74
74
 
75
75
  <div class="section">