angular-toolbox 1.3.2 → 1.4.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.
@@ -583,11 +583,11 @@ class AbstractVersionManager {
583
583
  * @private
584
584
  * The current version of the Angular Toolbox library.
585
585
  */
586
- const LAYERS_VERSION_CONFIG = {
586
+ const ATX_VERSION_CONFIG = {
587
587
  major: 1,
588
- minor: 3,
589
- patch: 2,
590
- buildTimestamp: 1726925482016
588
+ minor: 4,
589
+ patch: 0,
590
+ buildTimestamp: 1727357519168
591
591
  };
592
592
  /**
593
593
  * The public service that exposes the current version of the Angular Toolbox library.
@@ -597,7 +597,7 @@ class AngularToolboxVersionService extends AbstractVersionManager {
597
597
  * @private
598
598
  */
599
599
  constructor() {
600
- super(LAYERS_VERSION_CONFIG);
600
+ super(ATX_VERSION_CONFIG);
601
601
  }
602
602
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxVersionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
603
603
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxVersionService }); }
@@ -1228,6 +1228,14 @@ var DropdownEventType;
1228
1228
  * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
1229
1229
  */
1230
1230
 
1231
+ /**
1232
+ * @license
1233
+ * Copyright Pascal ECHEMANN. All Rights Reserved.
1234
+ *
1235
+ * Use of this source code is governed by an MIT-style license that can be
1236
+ * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
1237
+ */
1238
+
1231
1239
  /**
1232
1240
  * @license
1233
1241
  * Copyright Pascal ECHEMANN. All Rights Reserved.
@@ -6210,6 +6218,266 @@ class HttpHeadersUtil {
6210
6218
  */
6211
6219
  const HTTP_MOCK_MAX_DELAY = 10000;
6212
6220
 
6221
+ /**
6222
+ * @license
6223
+ * Copyright Pascal ECHEMANN. All Rights Reserved.
6224
+ *
6225
+ * Use of this source code is governed by an MIT-style license that can be found in
6226
+ * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
6227
+ */
6228
+ /**
6229
+ * The list of all HTTP status text.
6230
+ */
6231
+ var HttpStatusText;
6232
+ (function (HttpStatusText) {
6233
+ //https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
6234
+ // Informational
6235
+ /**
6236
+ * The status text associated with the status code `100`.
6237
+ */
6238
+ HttpStatusText["CONTINUE"] = "Continue";
6239
+ /**
6240
+ * The status text associated with the status code `101`.
6241
+ */
6242
+ HttpStatusText["SWITCHING_PROTOCOLS"] = "Switching Protocols";
6243
+ /**
6244
+ * The status text associated with the status code `102`.
6245
+ */
6246
+ HttpStatusText["PROCESSING"] = "Processing";
6247
+ /**
6248
+ * The status text associated with the status code `103`.
6249
+ */
6250
+ HttpStatusText["EARLY_HINTS"] = "Early Hints";
6251
+ // Success
6252
+ /**
6253
+ * The status text associated with the status code `200`.
6254
+ */
6255
+ HttpStatusText["OK"] = "OK";
6256
+ /**
6257
+ * The status text associated with the status code `201`.
6258
+ */
6259
+ HttpStatusText["CREATED"] = "Created";
6260
+ /**
6261
+ * The status text associated with the status code `202`.
6262
+ */
6263
+ HttpStatusText["ACCEPTED"] = "Accepted";
6264
+ /**
6265
+ * The status text associated with the status code `203`.
6266
+ */
6267
+ HttpStatusText["NON_AUTHORITATIVE_INFORMATION"] = "Non-authoritative Information";
6268
+ /**
6269
+ * The status text associated with the status code `204`.
6270
+ */
6271
+ HttpStatusText["NO_CONTENT"] = "No Content";
6272
+ /**
6273
+ * The status text associated with the status code `205`.
6274
+ */
6275
+ HttpStatusText["RESET_CONTENT"] = "Reset Content";
6276
+ /**
6277
+ * The status text associated with the status code `206`.
6278
+ */
6279
+ HttpStatusText["PARTIAL_CONTENT"] = "Partial Content";
6280
+ /**
6281
+ * The status text associated with the status code `207`.
6282
+ */
6283
+ HttpStatusText["MULTI_STATUS"] = "Multi-Status";
6284
+ /**
6285
+ * The status text associated with the status code `208`.
6286
+ */
6287
+ HttpStatusText["ALREADY_REPORTED"] = "Already Reported";
6288
+ /**
6289
+ * The status text associated with the status code `226`.
6290
+ */
6291
+ HttpStatusText["IM_USED"] = "IM Used";
6292
+ // Redirection
6293
+ /**
6294
+ * The status text associated with the status code `300`.
6295
+ */
6296
+ HttpStatusText["MULTIPLE_CHOICES"] = "Multiple Choices";
6297
+ /**
6298
+ * The status text associated with the status code `301`.
6299
+ */
6300
+ HttpStatusText["MOVED_PERMANENTLY"] = "Moved Permanently";
6301
+ /**
6302
+ * The status text associated with the status code `302`.
6303
+ */
6304
+ HttpStatusText["FOUND"] = "Found";
6305
+ /**
6306
+ * The status text associated with the status code `303`.
6307
+ */
6308
+ HttpStatusText["SEE_OTHER"] = "See Other";
6309
+ /**
6310
+ * The status text associated with the status code `304`.
6311
+ */
6312
+ HttpStatusText["NOT_MODIFIED"] = "Not Modified";
6313
+ /**
6314
+ * The status text associated with the status code `307`.
6315
+ */
6316
+ HttpStatusText["TEMPORARY_REDIRECT"] = "Temporary Redirect";
6317
+ /**
6318
+ * The status text associated with the status code `308`.
6319
+ */
6320
+ HttpStatusText["PERMANENT_REDIRECT"] = "Permanent Redirect";
6321
+ // Client Error
6322
+ /**
6323
+ * The status text associated with the status code `400`.
6324
+ */
6325
+ HttpStatusText["BAD_REQUEST"] = "Bad Request";
6326
+ /**
6327
+ * The status text associated with the status code `401`.
6328
+ */
6329
+ HttpStatusText["UNAUTHORIZED"] = "Unauthorized";
6330
+ /**
6331
+ * The status text associated with the status code `402`.
6332
+ */
6333
+ HttpStatusText["PAYMENT_REQUIRED"] = "Payment Required";
6334
+ /**
6335
+ * The status text associated with the status code `403`.
6336
+ */
6337
+ HttpStatusText["FORBIDDEN"] = "Forbidden";
6338
+ /**
6339
+ * The status text associated with the status code `404`.
6340
+ */
6341
+ HttpStatusText["NOT_FOUND"] = "Not Found";
6342
+ /**
6343
+ * The status text associated with the status code `405`.
6344
+ */
6345
+ HttpStatusText["METHOD_NOT_ALLOWED"] = "Method Not Allowed";
6346
+ /**
6347
+ * The status text associated with the status code `406`.
6348
+ */
6349
+ HttpStatusText["NOT_ACCEPTABLE"] = "Not Acceptable";
6350
+ /**
6351
+ * The status text associated with the status code `407`.
6352
+ */
6353
+ HttpStatusText["PROXY_AUTHENTICATION_REQUIRED"] = "Proxy Authentication Required";
6354
+ /**
6355
+ * The status text associated with the status code `408`.
6356
+ */
6357
+ HttpStatusText["REQUEST_TIMEOUT"] = "Request Timeout";
6358
+ /**
6359
+ * The status text associated with the status code `409`.
6360
+ */
6361
+ HttpStatusText["CONFLICT"] = "Conflict";
6362
+ /**
6363
+ * The status text associated with the status code `410`.
6364
+ */
6365
+ HttpStatusText["GONE"] = "Gone";
6366
+ /**
6367
+ * The status text associated with the status code `411`.
6368
+ */
6369
+ HttpStatusText["LENGTH_REQUIRED"] = "Length Required";
6370
+ /**
6371
+ * The status text associated with the status code `412`.
6372
+ */
6373
+ HttpStatusText["PRECONDITION_FAILED"] = "Precondition Failed";
6374
+ /**
6375
+ * The status text associated with the status code `413`.
6376
+ */
6377
+ HttpStatusText["PAYLOAD_TOO_LARGE"] = "Payload Too Large";
6378
+ /**
6379
+ * The status text associated with the status code `414`.
6380
+ */
6381
+ HttpStatusText["URI_TOO_LONG"] = "URI Too Long";
6382
+ /**
6383
+ * The status text associated with the status code `415`.
6384
+ */
6385
+ HttpStatusText["UNSUPPORTED_MEDIA_TYPE"] = "Unsupported Media Type";
6386
+ /**
6387
+ * The status text associated with the status code `416`.
6388
+ */
6389
+ HttpStatusText["RANGE_NOT_SATISFIABLE"] = "Range Not Satisfiable";
6390
+ /**
6391
+ * The status text associated with the status code `417`.
6392
+ */
6393
+ HttpStatusText["EXPECTATION_FAILED"] = "Expectation Failed";
6394
+ /**
6395
+ * The status text associated with the status code `418`.
6396
+ */
6397
+ HttpStatusText["I_M_A_TEAPOT"] = "I'm a teapot";
6398
+ /**
6399
+ * The status text associated with the status code `421`.
6400
+ */
6401
+ HttpStatusText["MISDIRECTED_REQUEST"] = "Misdirected Request";
6402
+ /**
6403
+ * The status text associated with the status code `422`.
6404
+ */
6405
+ HttpStatusText["UNPROCESSABLE_ENTITY"] = "Unprocessable Entity";
6406
+ /**
6407
+ * The status text associated with the status code `423`.
6408
+ */
6409
+ HttpStatusText["LOCKED"] = "Locked";
6410
+ /**
6411
+ * The status text associated with the status code `424`.
6412
+ */
6413
+ HttpStatusText["FAILED_DEPENDENCY"] = "Failed Dependency";
6414
+ /**
6415
+ * The status text associated with the status code `426`.
6416
+ */
6417
+ HttpStatusText["UPGRADE_REQUIRED"] = "Upgrade Required";
6418
+ /**
6419
+ * The status text associated with the status code `428`.
6420
+ */
6421
+ HttpStatusText["PRECONDITION_REQUIRED"] = "Precondition Required";
6422
+ /**
6423
+ * The status text associated with the status code `429`.
6424
+ */
6425
+ HttpStatusText["TOO_MANY_REQUESTS"] = "Too Many Requests";
6426
+ /**
6427
+ * The status text associated with the status code `431`.
6428
+ */
6429
+ HttpStatusText["REQUEST_HEADER_FIELDS_TOO_LARGE"] = "Request Header Fields Too Large";
6430
+ /**
6431
+ * The status text associated with the status code `451`.
6432
+ */
6433
+ HttpStatusText["UNAVAILABLE_FOR_LEGAL_REASONS"] = "Unavailable For Legal Reasons";
6434
+ //Server Error
6435
+ /**
6436
+ * The status text associated with the status code `500`.
6437
+ */
6438
+ HttpStatusText["INTERNAL_SERVER_ERROR"] = "Internal Server Error";
6439
+ /**
6440
+ * The status text associated with the status code `501`.
6441
+ */
6442
+ HttpStatusText["NOT_IMPLEMENTED"] = "Not Implemented";
6443
+ /**
6444
+ * The status text associated with the status code `502`.
6445
+ */
6446
+ HttpStatusText["BAD_GATEWAY"] = "Bad Gateway";
6447
+ /**
6448
+ * The status text associated with the status code `503`.
6449
+ */
6450
+ HttpStatusText["SERVICE_UNAVAILABLE"] = "Service Unavailable";
6451
+ /**
6452
+ * The status text associated with the status code `504`.
6453
+ */
6454
+ HttpStatusText["GATEWAY_TIMEOUT"] = "Gateway Timeout";
6455
+ /**
6456
+ * The status text associated with the status code `505`.
6457
+ */
6458
+ HttpStatusText["HTTP_VERSION_NOT_SUPPORTED"] = "HTTP Version Not Supported";
6459
+ /**
6460
+ * The status text associated with the status code `506`.
6461
+ */
6462
+ HttpStatusText["VARIANT_ALSO_NEGOTIATES"] = "Variant Also Negotiates";
6463
+ /**
6464
+ * The status text associated with the status code `507`.
6465
+ */
6466
+ HttpStatusText["INSUFFICIENT_STORAGE"] = "Insufficient Storage";
6467
+ /**
6468
+ * The status text associated with the status code `508`.
6469
+ */
6470
+ HttpStatusText["LOOP_DETECTED"] = "Loop Detected";
6471
+ /**
6472
+ * The status text associated with the status code `510`.
6473
+ */
6474
+ HttpStatusText["NOT_EXTENDED"] = "Not Extended";
6475
+ /**
6476
+ * The status text associated with the status code `511`.
6477
+ */
6478
+ HttpStatusText["NETWORK_AUTHENTICATION_REQUIRED"] = "Network Authentication Required";
6479
+ })(HttpStatusText || (HttpStatusText = {}));
6480
+
6213
6481
  /**
6214
6482
  * @license
6215
6483
  * Copyright Pascal ECHEMANN. All Rights Reserved.
@@ -6219,8 +6487,148 @@ const HTTP_MOCK_MAX_DELAY = 10000;
6219
6487
  */
6220
6488
  /**
6221
6489
  * @private
6490
+ * A utility class that helps to retreive a status text depending on its status code.
6491
+ */
6492
+ class HttpStatusTextFinder {
6493
+ /**
6494
+ * @private
6495
+ * Retreives and return a status text depending on its status code.
6496
+ *
6497
+ * @param code The status code for which to find the status text.
6498
+ * @returns A `HttpStatusText` constant.
6499
+ */
6500
+ static getStatusText(code) {
6501
+ if (code === HttpStatusCode.Continue)
6502
+ return HttpStatusText.CONTINUE;
6503
+ if (code === HttpStatusCode.SwitchingProtocols)
6504
+ return HttpStatusText.SWITCHING_PROTOCOLS;
6505
+ if (code === HttpStatusCode.Processing)
6506
+ return HttpStatusText.PROCESSING;
6507
+ if (code === HttpStatusCode.EarlyHints)
6508
+ return HttpStatusText.EARLY_HINTS;
6509
+ if (code === HttpStatusCode.Ok)
6510
+ return HttpStatusText.OK;
6511
+ if (code === HttpStatusCode.Created)
6512
+ return HttpStatusText.CREATED;
6513
+ if (code === HttpStatusCode.Accepted)
6514
+ return HttpStatusText.ACCEPTED;
6515
+ if (code === HttpStatusCode.NonAuthoritativeInformation)
6516
+ return HttpStatusText.NON_AUTHORITATIVE_INFORMATION;
6517
+ if (code === HttpStatusCode.NoContent)
6518
+ return HttpStatusText.NO_CONTENT;
6519
+ if (code === HttpStatusCode.ResetContent)
6520
+ return HttpStatusText.RESET_CONTENT;
6521
+ if (code === HttpStatusCode.PartialContent)
6522
+ return HttpStatusText.PARTIAL_CONTENT;
6523
+ if (code === HttpStatusCode.MultiStatus)
6524
+ return HttpStatusText.MULTI_STATUS;
6525
+ if (code === HttpStatusCode.AlreadyReported)
6526
+ return HttpStatusText.ALREADY_REPORTED;
6527
+ if (code === HttpStatusCode.ImUsed)
6528
+ return HttpStatusText.IM_USED;
6529
+ if (code === HttpStatusCode.MultipleChoices)
6530
+ return HttpStatusText.MULTIPLE_CHOICES;
6531
+ if (code === HttpStatusCode.MovedPermanently)
6532
+ return HttpStatusText.MOVED_PERMANENTLY;
6533
+ if (code === HttpStatusCode.Found)
6534
+ return HttpStatusText.FOUND;
6535
+ if (code === HttpStatusCode.SeeOther)
6536
+ return HttpStatusText.SEE_OTHER;
6537
+ if (code === HttpStatusCode.NotModified)
6538
+ return HttpStatusText.NOT_MODIFIED;
6539
+ if (code === HttpStatusCode.TemporaryRedirect)
6540
+ return HttpStatusText.TEMPORARY_REDIRECT;
6541
+ if (code === HttpStatusCode.PermanentRedirect)
6542
+ return HttpStatusText.PERMANENT_REDIRECT;
6543
+ if (code === HttpStatusCode.BadRequest)
6544
+ return HttpStatusText.BAD_REQUEST;
6545
+ if (code === HttpStatusCode.Unauthorized)
6546
+ return HttpStatusText.UNAUTHORIZED;
6547
+ if (code === HttpStatusCode.PaymentRequired)
6548
+ return HttpStatusText.PAYMENT_REQUIRED;
6549
+ if (code === HttpStatusCode.Forbidden)
6550
+ return HttpStatusText.FORBIDDEN;
6551
+ if (code === HttpStatusCode.NotFound)
6552
+ return HttpStatusText.NOT_FOUND;
6553
+ if (code === HttpStatusCode.MethodNotAllowed)
6554
+ return HttpStatusText.METHOD_NOT_ALLOWED;
6555
+ if (code === HttpStatusCode.NotAcceptable)
6556
+ return HttpStatusText.NOT_ACCEPTABLE;
6557
+ if (code === HttpStatusCode.ProxyAuthenticationRequired)
6558
+ return HttpStatusText.PROXY_AUTHENTICATION_REQUIRED;
6559
+ if (code === HttpStatusCode.RequestTimeout)
6560
+ return HttpStatusText.REQUEST_TIMEOUT;
6561
+ if (code === HttpStatusCode.Conflict)
6562
+ return HttpStatusText.CONFLICT;
6563
+ if (code === HttpStatusCode.Gone)
6564
+ return HttpStatusText.GONE;
6565
+ if (code === HttpStatusCode.LengthRequired)
6566
+ return HttpStatusText.LENGTH_REQUIRED;
6567
+ if (code === HttpStatusCode.PreconditionFailed)
6568
+ return HttpStatusText.PRECONDITION_FAILED;
6569
+ if (code === HttpStatusCode.PayloadTooLarge)
6570
+ return HttpStatusText.PAYLOAD_TOO_LARGE;
6571
+ if (code === HttpStatusCode.UriTooLong)
6572
+ return HttpStatusText.URI_TOO_LONG;
6573
+ if (code === HttpStatusCode.UnsupportedMediaType)
6574
+ return HttpStatusText.UNSUPPORTED_MEDIA_TYPE;
6575
+ if (code === HttpStatusCode.RangeNotSatisfiable)
6576
+ return HttpStatusText.RANGE_NOT_SATISFIABLE;
6577
+ if (code === HttpStatusCode.ExpectationFailed)
6578
+ return HttpStatusText.EXPECTATION_FAILED;
6579
+ if (code === HttpStatusCode.ImATeapot)
6580
+ return HttpStatusText.I_M_A_TEAPOT;
6581
+ if (code === HttpStatusCode.MisdirectedRequest)
6582
+ return HttpStatusText.MISDIRECTED_REQUEST;
6583
+ if (code === HttpStatusCode.UnprocessableEntity)
6584
+ return HttpStatusText.UNPROCESSABLE_ENTITY;
6585
+ if (code === HttpStatusCode.Locked)
6586
+ return HttpStatusText.LOCKED;
6587
+ if (code === HttpStatusCode.FailedDependency)
6588
+ return HttpStatusText.FAILED_DEPENDENCY;
6589
+ if (code === HttpStatusCode.UpgradeRequired)
6590
+ return HttpStatusText.UPGRADE_REQUIRED;
6591
+ if (code === HttpStatusCode.PreconditionRequired)
6592
+ return HttpStatusText.PRECONDITION_REQUIRED;
6593
+ if (code === HttpStatusCode.TooManyRequests)
6594
+ return HttpStatusText.TOO_MANY_REQUESTS;
6595
+ if (code === HttpStatusCode.RequestHeaderFieldsTooLarge)
6596
+ return HttpStatusText.REQUEST_HEADER_FIELDS_TOO_LARGE;
6597
+ if (code === HttpStatusCode.UnavailableForLegalReasons)
6598
+ return HttpStatusText.UNAVAILABLE_FOR_LEGAL_REASONS;
6599
+ if (code === HttpStatusCode.InternalServerError)
6600
+ return HttpStatusText.INTERNAL_SERVER_ERROR;
6601
+ if (code === HttpStatusCode.NotImplemented)
6602
+ return HttpStatusText.NOT_IMPLEMENTED;
6603
+ if (code === HttpStatusCode.BadGateway)
6604
+ return HttpStatusText.BAD_GATEWAY;
6605
+ if (code === HttpStatusCode.ServiceUnavailable)
6606
+ return HttpStatusText.SERVICE_UNAVAILABLE;
6607
+ if (code === HttpStatusCode.GatewayTimeout)
6608
+ return HttpStatusText.GATEWAY_TIMEOUT;
6609
+ if (code === HttpStatusCode.HttpVersionNotSupported)
6610
+ return HttpStatusText.HTTP_VERSION_NOT_SUPPORTED;
6611
+ if (code === HttpStatusCode.VariantAlsoNegotiates)
6612
+ return HttpStatusText.VARIANT_ALSO_NEGOTIATES;
6613
+ if (code === HttpStatusCode.InsufficientStorage)
6614
+ return HttpStatusText.INSUFFICIENT_STORAGE;
6615
+ if (code === HttpStatusCode.LoopDetected)
6616
+ return HttpStatusText.LOOP_DETECTED;
6617
+ if (code === HttpStatusCode.NotExtended)
6618
+ return HttpStatusText.NOT_EXTENDED;
6619
+ if (code === HttpStatusCode.NetworkAuthenticationRequired)
6620
+ return HttpStatusText.NETWORK_AUTHENTICATION_REQUIRED;
6621
+ return HttpStatusText.INTERNAL_SERVER_ERROR;
6622
+ }
6623
+ }
6624
+
6625
+ /**
6626
+ * @license
6627
+ * Copyright Pascal ECHEMANN. All Rights Reserved.
6628
+ *
6629
+ * Use of this source code is governed by an MIT-style license that can be found in
6630
+ * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
6222
6631
  */
6223
- const OK = "OK";
6224
6632
  /**
6225
6633
  * A statefull builder for creating new `HttpResponseMock` instances.
6226
6634
  */
@@ -6233,7 +6641,7 @@ class HttpResponseMockBuilder {
6233
6641
  url: null,
6234
6642
  body: null,
6235
6643
  status: HttpStatusCode.Ok,
6236
- statusText: OK,
6644
+ statusText: EMPTY_STRING,
6237
6645
  error: null,
6238
6646
  delay: 0
6239
6647
  };
@@ -6289,17 +6697,6 @@ class HttpResponseMockBuilder {
6289
6697
  this._response.status = status;
6290
6698
  return this;
6291
6699
  }
6292
- /**
6293
- * Sets the `statusText` property of the new `HttpResponseMock` instance with the specified `statusText` value.
6294
- *
6295
- * @param statusText The value used to set the `statusText` property of the new `HttpResponseMock` instance.
6296
- *
6297
- * @returns A reference to this `HttpResponseMockBuilder` instance.
6298
- */
6299
- statusText(statusText) {
6300
- this._response.statusText = statusText;
6301
- return this;
6302
- }
6303
6700
  /**
6304
6701
  * Sets the `url` property of the new `HttpResponseMock` instance with the specified `url` value.
6305
6702
  *
@@ -6350,6 +6747,7 @@ class HttpResponseMockBuilder {
6350
6747
  */
6351
6748
  response(error = null) {
6352
6749
  this._response.error = error;
6750
+ this._response.statusText = HttpStatusTextFinder.getStatusText(this._response.status);
6353
6751
  return this._response;
6354
6752
  }
6355
6753
  }
@@ -7954,6 +8352,11 @@ class DropdownComponent extends IdentifiableComponent {
7954
8352
  * Sets the horizontal position of the content container.
7955
8353
  */
7956
8354
  this.hPos = "left";
8355
+ /**
8356
+ * Indicates whether the content container can be "light dismissed" by selecting outside the popover area
8357
+ * (`auto`), or not (`manual`).
8358
+ */
8359
+ this.popoverState = "auto";
7957
8360
  this.id = this.getID().toString();
7958
8361
  }
7959
8362
  /**
@@ -8001,11 +8404,11 @@ class DropdownComponent extends IdentifiableComponent {
8001
8404
  return new DropdownEvent(this, type, event.newState, event.oldState);
8002
8405
  }
8003
8406
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8004
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: DropdownComponent, isStandalone: true, selector: "atx-dropdown", inputs: { buttonClass: "buttonClass", containerClass: "containerClass", vPos: "vPos", hPos: "hPos" }, outputs: { toggle: "toggle", beforeToggle: "beforeToggle" }, viewQueries: [{ propertyName: "_popover", first: true, predicate: ["popover"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n<div class=\"atx-dropdown-container\" [class]=\"containerClass\">\r\n <button [class]=\"buttonClass\" [attr.popovertarget]=\"id\">\r\n <ng-content></ng-content>\r\n </button>\r\n <div #popover popover [attr.id]=\"id\" (toggle)=\"onToggle($event)\" (beforetoggle)=\"onBeforeToggle($event)\"></div>\r\n <div class=\"atx-dropdown-popover\"\r\n [class.atx-dropdown-v-start]=\"vPos === 'start'\"\r\n [class.atx-dropdown-top]=\"vPos === 'top'\"\r\n [class.atx-dropdown-middle]=\"vPos === 'middle'\"\r\n [class.atx-dropdown-bottom]=\"vPos === 'bottom'\"\r\n [class.atx-dropdown-v-end]=\"vPos === 'end'\"\r\n [class.atx-dropdown-h-start]=\"hPos === 'start'\"\r\n [class.atx-dropdown-left]=\"hPos === 'left'\"\r\n [class.atx-dropdown-center]=\"hPos === 'center'\"\r\n [class.atx-dropdown-right]=\"hPos === 'right'\"\r\n [class.atx-dropdown-h-end]=\"hPos === 'end'\"\r\n [class.atx-dropdown-centered]=\"hPos === 'center' && vPos === 'middle'\">\r\n <ng-content select=\"[content]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".atx-dropdown-container{position:relative}[popover]:popover-open{inset:unset;border:none;background:none;margin:0;padding:0}[popover]:popover-open+.atx-dropdown-popover{display:block}.atx-dropdown-popover{display:none;position:absolute;left:0;margin:0;padding:0;z-index:100;height:auto;width:max-content}.atx-dropdown-v-start{bottom:unset;top:0}.atx-dropdown-top{bottom:calc(100% + var(--atx-dropdown-gutter, 2px));top:unset}.atx-dropdown-middle{bottom:unset;top:50%;transform:translateY(-50%)}.atx-dropdown-bottom{bottom:unset;top:calc(100% + var(--atx-dropdown-gutter, 2px))}.atx-dropdown-v-end{bottom:0;top:unset}.atx-dropdown-h-start{right:calc(100% + var(--atx-dropdown-gutter, 2px));left:unset}.atx-dropdown-left{left:0;right:unset}.atx-dropdown-center{left:50%;transform:translate(-50%);right:unset}.atx-dropdown-right{right:0;left:unset}.atx-dropdown-h-end{right:unset;left:calc(100% + var(--atx-dropdown-gutter, 2px))}.atx-dropdown-centered{transform:translate(-50%,-50%)}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }); }
8407
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: DropdownComponent, isStandalone: true, selector: "atx-dropdown", inputs: { buttonClass: "buttonClass", containerClass: "containerClass", vPos: "vPos", hPos: "hPos", popoverState: "popoverState" }, outputs: { toggle: "toggle", beforeToggle: "beforeToggle" }, viewQueries: [{ propertyName: "_popover", first: true, predicate: ["popover"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n<div class=\"atx-dropdown-container\" [class]=\"containerClass\">\r\n <button [class]=\"buttonClass\" [attr.popovertarget]=\"id\">\r\n <ng-content></ng-content>\r\n </button>\r\n <div #popover [attr.popover]=\"popoverState\" [attr.id]=\"id\" (toggle)=\"onToggle($event)\" (beforetoggle)=\"onBeforeToggle($event)\"></div>\r\n <div class=\"atx-dropdown-popover\"\r\n [class.atx-dropdown-v-start]=\"vPos === 'start'\"\r\n [class.atx-dropdown-top]=\"vPos === 'top'\"\r\n [class.atx-dropdown-middle]=\"vPos === 'middle'\"\r\n [class.atx-dropdown-bottom]=\"vPos === 'bottom'\"\r\n [class.atx-dropdown-v-end]=\"vPos === 'end'\"\r\n [class.atx-dropdown-h-start]=\"hPos === 'start'\"\r\n [class.atx-dropdown-left]=\"hPos === 'left'\"\r\n [class.atx-dropdown-center]=\"hPos === 'center'\"\r\n [class.atx-dropdown-right]=\"hPos === 'right'\"\r\n [class.atx-dropdown-h-end]=\"hPos === 'end'\"\r\n [class.atx-dropdown-centered]=\"hPos === 'center' && vPos === 'middle'\">\r\n <ng-content select=\"[content]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".atx-dropdown-container{position:relative}[popover]:popover-open{inset:unset;border:none;background:none;margin:0;padding:0}[popover]:popover-open+.atx-dropdown-popover{display:block}.atx-dropdown-popover{display:none;position:absolute;left:0;margin:0;padding:0;z-index:100;height:auto;width:max-content}.atx-dropdown-v-start{bottom:unset;top:0}.atx-dropdown-top{bottom:calc(100% + var(--atx-dropdown-gutter, 2px));top:unset}.atx-dropdown-middle{bottom:unset;top:50%;transform:translateY(-50%)}.atx-dropdown-bottom{bottom:unset;top:calc(100% + var(--atx-dropdown-gutter, 2px))}.atx-dropdown-v-end{bottom:0;top:unset}.atx-dropdown-h-start{right:calc(100% + var(--atx-dropdown-gutter, 2px));left:unset}.atx-dropdown-left{left:0;right:unset}.atx-dropdown-center{left:50%;transform:translate(-50%);right:unset}.atx-dropdown-right{right:0;left:unset}.atx-dropdown-h-end{right:unset;left:calc(100% + var(--atx-dropdown-gutter, 2px))}.atx-dropdown-centered{transform:translate(-50%,-50%)}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }); }
8005
8408
  }
8006
8409
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: DropdownComponent, decorators: [{
8007
8410
  type: Component,
8008
- args: [{ selector: 'atx-dropdown', standalone: true, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n<div class=\"atx-dropdown-container\" [class]=\"containerClass\">\r\n <button [class]=\"buttonClass\" [attr.popovertarget]=\"id\">\r\n <ng-content></ng-content>\r\n </button>\r\n <div #popover popover [attr.id]=\"id\" (toggle)=\"onToggle($event)\" (beforetoggle)=\"onBeforeToggle($event)\"></div>\r\n <div class=\"atx-dropdown-popover\"\r\n [class.atx-dropdown-v-start]=\"vPos === 'start'\"\r\n [class.atx-dropdown-top]=\"vPos === 'top'\"\r\n [class.atx-dropdown-middle]=\"vPos === 'middle'\"\r\n [class.atx-dropdown-bottom]=\"vPos === 'bottom'\"\r\n [class.atx-dropdown-v-end]=\"vPos === 'end'\"\r\n [class.atx-dropdown-h-start]=\"hPos === 'start'\"\r\n [class.atx-dropdown-left]=\"hPos === 'left'\"\r\n [class.atx-dropdown-center]=\"hPos === 'center'\"\r\n [class.atx-dropdown-right]=\"hPos === 'right'\"\r\n [class.atx-dropdown-h-end]=\"hPos === 'end'\"\r\n [class.atx-dropdown-centered]=\"hPos === 'center' && vPos === 'middle'\">\r\n <ng-content select=\"[content]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".atx-dropdown-container{position:relative}[popover]:popover-open{inset:unset;border:none;background:none;margin:0;padding:0}[popover]:popover-open+.atx-dropdown-popover{display:block}.atx-dropdown-popover{display:none;position:absolute;left:0;margin:0;padding:0;z-index:100;height:auto;width:max-content}.atx-dropdown-v-start{bottom:unset;top:0}.atx-dropdown-top{bottom:calc(100% + var(--atx-dropdown-gutter, 2px));top:unset}.atx-dropdown-middle{bottom:unset;top:50%;transform:translateY(-50%)}.atx-dropdown-bottom{bottom:unset;top:calc(100% + var(--atx-dropdown-gutter, 2px))}.atx-dropdown-v-end{bottom:0;top:unset}.atx-dropdown-h-start{right:calc(100% + var(--atx-dropdown-gutter, 2px));left:unset}.atx-dropdown-left{left:0;right:unset}.atx-dropdown-center{left:50%;transform:translate(-50%);right:unset}.atx-dropdown-right{right:0;left:unset}.atx-dropdown-h-end{right:unset;left:calc(100% + var(--atx-dropdown-gutter, 2px))}.atx-dropdown-centered{transform:translate(-50%,-50%)}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
8411
+ args: [{ selector: 'atx-dropdown', standalone: true, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n<div class=\"atx-dropdown-container\" [class]=\"containerClass\">\r\n <button [class]=\"buttonClass\" [attr.popovertarget]=\"id\">\r\n <ng-content></ng-content>\r\n </button>\r\n <div #popover [attr.popover]=\"popoverState\" [attr.id]=\"id\" (toggle)=\"onToggle($event)\" (beforetoggle)=\"onBeforeToggle($event)\"></div>\r\n <div class=\"atx-dropdown-popover\"\r\n [class.atx-dropdown-v-start]=\"vPos === 'start'\"\r\n [class.atx-dropdown-top]=\"vPos === 'top'\"\r\n [class.atx-dropdown-middle]=\"vPos === 'middle'\"\r\n [class.atx-dropdown-bottom]=\"vPos === 'bottom'\"\r\n [class.atx-dropdown-v-end]=\"vPos === 'end'\"\r\n [class.atx-dropdown-h-start]=\"hPos === 'start'\"\r\n [class.atx-dropdown-left]=\"hPos === 'left'\"\r\n [class.atx-dropdown-center]=\"hPos === 'center'\"\r\n [class.atx-dropdown-right]=\"hPos === 'right'\"\r\n [class.atx-dropdown-h-end]=\"hPos === 'end'\"\r\n [class.atx-dropdown-centered]=\"hPos === 'center' && vPos === 'middle'\">\r\n <ng-content select=\"[content]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".atx-dropdown-container{position:relative}[popover]:popover-open{inset:unset;border:none;background:none;margin:0;padding:0}[popover]:popover-open+.atx-dropdown-popover{display:block}.atx-dropdown-popover{display:none;position:absolute;left:0;margin:0;padding:0;z-index:100;height:auto;width:max-content}.atx-dropdown-v-start{bottom:unset;top:0}.atx-dropdown-top{bottom:calc(100% + var(--atx-dropdown-gutter, 2px));top:unset}.atx-dropdown-middle{bottom:unset;top:50%;transform:translateY(-50%)}.atx-dropdown-bottom{bottom:unset;top:calc(100% + var(--atx-dropdown-gutter, 2px))}.atx-dropdown-v-end{bottom:0;top:unset}.atx-dropdown-h-start{right:calc(100% + var(--atx-dropdown-gutter, 2px));left:unset}.atx-dropdown-left{left:0;right:unset}.atx-dropdown-center{left:50%;transform:translate(-50%);right:unset}.atx-dropdown-right{right:0;left:unset}.atx-dropdown-h-end{right:unset;left:calc(100% + var(--atx-dropdown-gutter, 2px))}.atx-dropdown-centered{transform:translate(-50%,-50%)}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
8009
8412
  }], ctorParameters: () => [], propDecorators: { toggle: [{
8010
8413
  type: Output
8011
8414
  }], beforeToggle: [{
@@ -8018,6 +8421,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
8018
8421
  type: Input
8019
8422
  }], hPos: [{
8020
8423
  type: Input
8424
+ }], popoverState: [{
8425
+ type: Input
8021
8426
  }], _popover: [{
8022
8427
  type: ViewChild,
8023
8428
  args: ["popover"]
@@ -9001,5 +9406,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
9001
9406
  * Generated bundle index. Do not edit.
9002
9407
  */
9003
9408
 
9004
- export { APP_PRIDGE_REF, ATX_LOGGER_CONFIG, AbstractLogger, AbstractSubscriptionManager, AbstractVersionManager, AbstractWindowService, AnchorLinklDirective, AngularToolboxLogoComponent, AngularToolboxModule, AngularToolboxVersionService, AppBridgeError, AppBridgeService, ArrayList, ArrayListEvent, ArrayListEventType, AtxHttpMockConsoleService, AtxMonitoringConsoleComponent, BIGINT, BOOLEAN, BUTTON_ROLE, BorderLayout, BorderLayoutContainer, ButtonRoleDirective, CSS_PROP, ConsoleLogConnector, ContentRendererDirective, DARK_MODE_CONFIG, DEFAULT_LOG_CONNECTOR, DarkModeService, DefaultLogConnector, DropdownComponent, DropdownEvent, DropdownEventType, EMPTY_STRING, FEATURES, FUNCTION, FetchClient, FetchClientBuilder, FetchClientResponseType, HTTP_MOCKING_FRAMEWORK_CONFIG, HTTP_MOCK_MAX_DELAY, HTTP_MOCK_SERVICE, HtmlLogConnector, HttpHeadersMockBuilder, HttpMock, HttpMockLoggingService, HttpMockProductionPolicy, HttpMockService, HttpMockServiceError, HttpResponseMockBuilder, IdentifiableComponent, IntegrityError, LINK_ROLE, LOG_CONFIG_STRING, LOG_ERROR_STRING, LOG_INFO_STRING, LOG_WARNING_STRING, LayoutDragEvent, LayoutDragEventType, LayoutRegion, LogBuilder, LogImpl, LogLevel, LogUtil, LoggerService, NUMBER, NavigateToUrlDirective, OBJECT, STORAGE_KEY, STRING, SYMBOL, SafeHtmlPipe, ScrollService, SubscriptionError, SubscriptionService, UNDEFINED, Uuid, VERSION_CONFIG, VersionService, VersionUtil, WindowFeatureState, WindowService, WindowTarget, httpHeadersMock, httpMockFactory, httpResponseMock };
9409
+ export { APP_PRIDGE_REF, ATX_LOGGER_CONFIG, AbstractLogger, AbstractSubscriptionManager, AbstractVersionManager, AbstractWindowService, AnchorLinklDirective, AngularToolboxLogoComponent, AngularToolboxModule, AngularToolboxVersionService, AppBridgeError, AppBridgeService, ArrayList, ArrayListEvent, ArrayListEventType, AtxHttpMockConsoleService, AtxMonitoringConsoleComponent, BIGINT, BOOLEAN, BUTTON_ROLE, BorderLayout, BorderLayoutContainer, ButtonRoleDirective, CSS_PROP, ConsoleLogConnector, ContentRendererDirective, DARK_MODE_CONFIG, DEFAULT_LOG_CONNECTOR, DarkModeService, DefaultLogConnector, DropdownComponent, DropdownEvent, DropdownEventType, EMPTY_STRING, FEATURES, FUNCTION, FetchClient, FetchClientBuilder, FetchClientResponseType, HTTP_MOCKING_FRAMEWORK_CONFIG, HTTP_MOCK_MAX_DELAY, HTTP_MOCK_SERVICE, HtmlLogConnector, HttpHeadersMockBuilder, HttpMock, HttpMockLoggingService, HttpMockProductionPolicy, HttpMockService, HttpMockServiceError, HttpResponseMockBuilder, HttpStatusText, HttpStatusTextFinder, IdentifiableComponent, IntegrityError, LINK_ROLE, LOG_CONFIG_STRING, LOG_ERROR_STRING, LOG_INFO_STRING, LOG_WARNING_STRING, LayoutDragEvent, LayoutDragEventType, LayoutRegion, LogBuilder, LogImpl, LogLevel, LogUtil, LoggerService, NUMBER, NavigateToUrlDirective, OBJECT, STORAGE_KEY, STRING, SYMBOL, SafeHtmlPipe, ScrollService, SubscriptionError, SubscriptionService, UNDEFINED, Uuid, VERSION_CONFIG, VersionService, VersionUtil, WindowFeatureState, WindowService, WindowTarget, httpHeadersMock, httpMockFactory, httpResponseMock };
9005
9410
  //# sourceMappingURL=angular-toolbox.mjs.map