@snugdesk/core 0.2.41 → 0.2.43

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.
@@ -7,7 +7,7 @@ import momentTimezone from 'moment-timezone';
7
7
  import * as i1$1 from '@angular/platform-browser';
8
8
  import { API, Amplify } from 'aws-amplify';
9
9
  import { GRAPHQL_AUTH_MODE } from '@aws-amplify/api-graphql';
10
- import { lastValueFrom, BehaviorSubject } from 'rxjs';
10
+ import { BehaviorSubject, lastValueFrom } from 'rxjs';
11
11
  import { JwtHelperService } from '@auth0/angular-jwt';
12
12
  import * as i1$2 from '@angular/common/http';
13
13
  import { HttpHeaders } from '@angular/common/http';
@@ -40,10 +40,10 @@ const GoogleMapsConfig = {
40
40
 
41
41
  class FooterComponent {
42
42
  appConfig = SnugdeskAppConfig;
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: FooterComponent, isStandalone: false, selector: "sd-app-footer", ngImport: i0, template: "<div class=\"sd_container_widget_footer\">\n <div class=\"sd_container_widget_footer_inner\"><span>Powered by</span>\n <svg width=\"16px\" shape-rendering=\"geometricPrecision\" text-rendering=\"geometricPrecision\" image-rendering=\"optimizeQuality\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" viewBox=\"0 0 877.098 808.09\">\n <g id=\"Layer_x0020_1\">\n <metadata id=\"CorelCorpID_0Corel-Layer\" />\n <g id=\"_258513600\">\n <path id=\"_258516096\" fill=\"#CBA96B\" fill-rule=\"nonzero\" d=\"M637.653 218.973c-109.109,-5.73516 -241.809,27.9446 -336.907,14.3602 -52.1167,-7.44554 -85.2507,-24.8291 -102.132,-36.1086 -57.8931,61.7431 -93.4412,144.67 -93.4412,235.995 0,171.801 125.437,314.25 289.707,340.911 -8.09408,-36.1447 -12.5046,-73.6839 -12.5046,-112.274 0,-189.17 102.668,-354.272 255.277,-442.882z\" />\n <path id=\"_258516024\" fill=\"#FAE5C5\" fill-rule=\"nonzero\" d=\"M778.919 331.111c0,0 -0.795844,-6.58187 -3.83616,-16.5262 -2.95236,-8.04746 -6.16964,-15.955 -9.68789,-23.7089 -15.0903,-29.1696 -46.4069,-64.5259 -110.487,-70.6637 -5.67476,-0.538334 -11.4438,-0.931487 -17.2553,-1.23986 -152.609,88.61 -255.277,253.712 -255.277,442.882 0,38.5905 4.41052,76.1297 12.5046,112.274 18.155,2.95342 36.7635,4.54405 55.7504,4.54405 190.788,0 345.456,-154.667 345.456,-345.455 0,-36.1033 -5.58044,-70.8873 -15.8766,-103.59 -0.812799,0.942084 -1.29073,1.48254 -1.29073,1.48254z\" />\n <path id=\"_258515952\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M718.294 758.328c-2.63444,0 -5.25511,-1.08726 -7.14458,-3.21411 -3.49387,-3.94743 -3.12509,-9.97401 0.819158,-13.4658 65.9724,-58.4336 110.727,-134.554 129.411,-220.127 1.1233,-5.15126 6.21627,-8.39928 11.3601,-7.28658 5.14278,1.12647 8.40352,6.20885 7.28234,11.3569 -19.557,89.5542 -66.3836,169.202 -135.403,230.332 -1.81317,1.60864 -4.07353,2.40449 -6.32542,2.40449z\" />\n <path id=\"_258515880\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M846.577 557.445c-1.40412,0 -2.83367,-0.181211 -4.25474,-0.555289 -8.91854,-2.3462 -14.2415,-11.4735 -11.9059,-20.3942 8.82422,-33.5198 13.3004,-68.2667 13.3004,-103.269 0,-9.21738 7.47309,-16.6926 16.6915,-16.6926 9.21738,0 16.6905,7.47521 16.6905,16.6926 0,37.8699 -4.83547,75.4727 -14.3877,111.768 -1.97001,7.49217 -8.73203,12.4506 -16.1341,12.4506z\" />\n <path id=\"_258515808\" fill=\"#F7AB54\" fill-rule=\"nonzero\" d=\"M532.463 51.2668c-26.5225,-4.561 -53.5261,-9.03723 -81.5311,-9.03723 -6.4971,0 -12.9486,0.180151 -19.3652,0.504423l0 0.0169554c-0.116568,0 -0.240555,0 -0.357123,0 -130.335,0 -188.497,-1.54718 -257.657,-42.7509 0,0 -0.329571,1.31722 -0.822337,3.71429 105.693,109.444 253.934,177.522 418.097,177.522 47.2367,0 97.7691,-5.74258 146.957,-18.847 -36.3757,-51.8856 -112.688,-95.2088 -205.32,-111.122z\" />\n <path id=\"_258515736\" fill=\"#2F3033\" fill-rule=\"nonzero\" d=\"M450.631 674.55c-105.869,0 -197.899,-65.1882 -228.997,-162.207 -3.11979,-9.71968 2.56768,-20.0233 12.7017,-23.017 10.134,-3.00111 20.8689,2.47231 23.9845,12.1909 26.1177,81.4633 103.4,136.2 192.311,136.2 88.9109,0 166.199,-54.7363 192.311,-136.2 3.11555,-9.72604 13.8494,-15.192 23.9834,-12.1909 10.134,2.99369 15.8257,13.2973 12.7007,23.017 -31.0962,97.0188 -123.128,162.207 -228.995,162.207z\" />\n <path id=\"_258515664\" fill=\"#2F3033\" fill-rule=\"nonzero\" d=\"M797.457 379.399c-3.54474,-22.8781 -9.31169,-45.0272 -17.0582,-66.2288l-67.6584 -15.8236c-1.42849,-0.334869 -2.86758,-0.470512 -4.33952,-0.402691 -13.9946,0.640066 -92.4705,4.71678 -166.073,18.4538 -26.3148,4.92024 -43.3412,11.6303 -54.3844,18.4867 -10.9956,-6.30741 -23.7185,-9.93692 -37.3125,-9.93692 -13.6279,0 -26.3794,3.64647 -37.3919,9.98779 -11.039,-6.87329 -28.0877,-13.6078 -54.4671,-18.5375 -72.9686,-13.6184 -152.425,-17.8138 -166.135,-18.4538 -1.38822,-0.0678216 -2.73936,0.0582842 -4.09261,0.376198l-67.5376 15.8162c-7.76133,21.2165 -13.5177,43.3698 -17.0624,66.2649l79.7232 1.80999c5.1502,0.116568 9.58086,3.65919 10.7773,8.67586 7.72424,32.4018 30.8281,83.0475 99.862,83.0475 35.6455,0 71.0166,-2.26143 95.0255,-24.3903 22.8082,-21.0194 36.8822,-41.2323 42.4966,-76.6882 5.34519,-3.70475 11.7957,-5.92167 18.8025,-5.92167 6.93158,0 13.3121,2.17347 18.6255,5.80828 5.5974,35.5258 19.6863,55.7599 42.5135,76.8016 24.012,22.1289 59.3799,24.3903 95.0276,24.3903 60.3485,0 89.2023,-58.4993 98.3519,-81.955 2.26778,-5.821 7.86518,-9.66564 14.1058,-9.80658l78.2015 -1.77396z\" />\n <path id=\"_258515592\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M450.057 339.132c17.4407,0 33.2718,5.6631 45.1798,14.8603 -10.2729,-13.4138 -26.4038,-22.1024 -44.6054,-22.1024 -17.2235,0 -32.6222,7.76663 -42.9279,19.965 11.5307,-7.94572 26.2745,-12.7229 42.3535,-12.7229z\" />\n <path id=\"_258515520\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M410.435 364.515c0,0 6.9072,42.8802 -31.6589,82.3079 0,0 36.63,-28.5094 42.593,-65.4044 7.97222,-49.2893 -46.9092,-57.4703 -46.9092,-57.4703 0,0 31.3696,7.94254 35.9751,40.5668z\" />\n <path id=\"_258515184\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M492.553 364.515c0,0 -6.90826,42.8802 31.6578,82.3079 0,0 -36.63,-28.5094 -42.593,-65.4044 -7.96798,-49.2893 46.9092,-57.4703 46.9092,-57.4703 0,0 -31.3696,7.94254 -35.9741,40.5668z\" />\n <path id=\"_258515160\" fill=\"#CBA96B\" fill-rule=\"nonzero\" d=\"M188.23 665.933c17.7089,39.6385 -18.9233,142.158 -18.9233,142.158 0,0 115.812,-69.4928 177.475,-60.7925l-183.871 -122.549c0,0 16.2814,16.8643 25.3186,41.1836z\" />\n <path id=\"_258514632\" fill=\"#CBA96B\" fill-rule=\"nonzero\" d=\"M63.5965 269.786c0,0 -52.8637,99.5451 -63.5965,202.805 0,0 47.9064,27.7358 58.601,-17.1408 11.9366,-50.0756 2.16393,-110.872 17.7184,-166.98 15.5513,-56.1118 -12.7229,-18.6838 -12.7229,-18.6838z\" />\n <path id=\"_258513552\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M66.4885 532.215c-8.90158,0 -16.8664,-6.26184 -18.6859,-15.3277 -5.49249,-27.3597 -8.27847,-55.5056 -8.27847,-83.6611 0,-26.7556 2.51894,-53.5409 7.48687,-79.6066 1.97318,-10.3534 11.9567,-17.1461 22.3144,-15.174 10.3492,1.97742 17.1398,11.9642 15.1677,22.3186 -4.51967,23.7153 -6.80971,48.0982 -6.80971,72.4621 0,25.6397 2.53271,51.2593 7.5282,76.152 2.07704,10.3301 -4.61717,20.3867 -14.9472,22.4585 -1.26742,0.255391 -2.53059,0.378317 -3.77575,0.378317z\" />\n <path id=\"_258513720\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M834.909 532.215c-1.2494,0 -2.51576,-0.122927 -3.77258,-0.378317 -10.3396,-2.07174 -17.0338,-12.1284 -14.9525,-22.4585 4.98913,-24.9001 7.53138,-50.5175 7.53138,-76.152 0,-24.3755 -2.29322,-48.7563 -6.81289,-72.4621 -1.97742,-10.3523 4.81851,-20.3412 15.1655,-22.3154 10.365,-1.99226 20.3465,4.81533 22.3144,15.1708 4.97323,26.0541 7.48899,52.8383 7.48899,79.6066 0,28.1481 -2.7828,56.294 -8.27529,83.6611 -1.82482,9.06372 -9.78538,15.3277 -18.687,15.3277z\" />\n <path id=\"_258513864\" fill=\"#2F3033\" fill-rule=\"nonzero\" d=\"M700.271 792.515c-8.44803,0 -16.8187,-3.72701 -22.4691,-10.8695 -9.80658,-12.3955 -7.70305,-30.3947 4.69241,-40.197 5.70867,-4.51437 11.3665,-9.25553 16.8251,-14.0857 11.8306,-10.4763 29.9146,-9.37421 40.3984,2.45323 10.4763,11.8317 9.38163,29.9167 -2.45535,40.3952 -6.24065,5.53594 -12.7282,10.9617 -19.2592,16.1309 -5.25511,4.15195 -11.5191,6.17282 -17.7322,6.17282z\" />\n <path id=\"_258514920\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M755.671 188.913c0,0 -11.9313,-19.0769 -17.8879,-26.5331 -11.0486,2.67153 -32.069,7.57482 -43.3507,9.61265 -0.0264928,0.00741799 -0.0508662,0.00741799 -0.077359,0.0169554 -5.57091,1.00249 -11.1768,1.92656 -16.8081,2.77327 -0.163196,0.0243734 -0.317914,0.0413288 -0.470512,0.0678216 -5.50521,0.812799 -11.0252,1.56731 -16.5813,2.23493 -0.690932,0.084777 -1.39458,0.135643 -2.09611,0.22042 -5.01456,0.581782 -10.0387,1.13071 -15.0977,1.58427 -1.63514,0.145181 -3.28723,0.229958 -4.92024,0.36878 -4.13394,0.33275 -8.26788,0.677156 -12.4294,0.931487 -2.875,0.172733 -5.76907,0.25751 -8.65149,0.385735 -2.94494,0.138822 -5.88034,0.308376 -8.8433,0.402691 -5.85385,0.169554 -11.7331,0.25751 -17.6304,0.25751 -6.52889,0 -13.0186,-0.14624 -19.4966,-0.359242 -2.67153,-0.0868964 -5.33247,-0.206644 -8.00189,-0.317914 -4.73797,-0.188629 -9.46853,-0.530916 -14.2023,-0.829755 -0.885919,-0.0604036 -1.77608,-0.11127 -2.662,-0.171673 -6.37523,-0.488527 -12.7197,-1.07773 -19.0399,-1.7623 -1.5387,-0.171673 -3.06681,-0.361362 -4.59809,-0.540453 -5.12583,-0.5892 -10.2453,-1.26636 -15.3552,-2.0018 -1.43061,-0.206644 -2.86228,-0.393153 -4.28654,-0.609335 -6.318,-0.95798 -12.6085,-2.00074 -18.8586,-3.15582 -0.545752,-0.104912 -1.08409,-0.216181 -1.6256,-0.325332 -5.39076,-1.07031 -10.7963,-2.10565 -16.168,-3.29676 -1.79303,-0.393153 -3.59031,-0.786307 -5.37804,-1.19853 -12.5247,-2.84851 -24.8979,-6.10924 -37.1016,-9.76525 -3.2459,-0.965398 -6.46319,-2.01133 -9.75995,-2.85804 -3.20245,-0.822337 -6.32754,-1.87569 -9.3721,-3.17596 -0.837173,-0.359242 -1.71991,-0.606155 -2.58676,-0.907114 -6.19402,-2.13108 -12.3393,-4.35542 -18.439,-6.68467 -0.69835,-0.263868 -1.38716,-0.547871 -2.08657,-0.812799 -5.51686,-2.13214 -10.9924,-4.34058 -16.4245,-6.63274 -0.715306,-0.300958 -1.43167,-0.592379 -2.14486,-0.890158 -12.0065,-5.11947 -23.8054,-10.6395 -35.388,-16.5273 -0.707888,-0.359242 -1.42107,-0.728022 -2.13002,-1.08726 -11.6017,-5.96512 -22.9777,-12.3001 -34.1121,-19.0017 -0.545752,-0.324272 -1.08832,-0.657022 -1.63196,-0.984473 -5.51474,-3.34551 -10.9807,-6.76944 -16.3768,-10.2866l0 0c-36.7,-23.9665 -70.545,-51.9344 -100.87,-83.339 -3.40168,16.6142 -14.4672,85.7424 23.4006,138.715l0 0.00741799 0.00211942 0c0,0 0.00529856,0.00953741 0.00741799,0.00953741 0.632648,0.890158 1.32252,1.74747 1.97954,2.62809 0.684574,0.907114 1.3416,1.82165 2.0569,2.72134 0.483229,0.599797 1.01203,1.189 1.51009,1.78879 0.950562,1.14767 1.88205,2.3017 2.88454,3.43241 0.594499,0.667619 1.24198,1.30768 1.84814,1.97742 0.963278,1.03428 1.90006,2.07916 2.91209,3.08906 1.01414,1.0258 2.09823,2.02829 3.16112,3.02972 0.666559,0.624171 1.29815,1.26636 1.97954,1.89265 1.04594,0.948443 2.16605,1.86615 3.25862,2.79022 0.766172,0.640066 1.49207,1.30768 2.27732,1.94033 0.849889,0.694112 1.76654,1.35431 2.63974,2.02087 1.1021,0.84671 2.16923,1.70402 3.30948,2.52635 0.667619,0.487468 1.38504,0.941025 2.06962,1.41154 1.41154,0.982353 2.81142,1.97742 4.29183,2.91845 0.999309,0.650663 2.06962,1.25046 3.10284,1.87357 1.23033,0.754515 2.42356,1.51645 3.69734,2.23387 0.505483,0.291421 1.05547,0.556349 1.56731,0.840352 4.23355,2.33561 8.66421,4.57054 13.3831,6.63274 1.22503,0.530916 2.52317,1.0258 3.77787,1.54082 1.46452,0.598737 2.89619,1.22291 4.4084,1.78773 0.841412,0.325332 1.74429,0.609335 2.60053,0.917711 1.99862,0.717425 3.98876,1.45287 6.06791,2.11942 0.549991,0.189689 1.14767,0.345466 1.70508,0.51502 8.45332,2.65352 17.5287,4.92978 27.3575,6.70056 3.49599,0.633708 7.07994,1.20807 10.7529,1.72097 13.9628,1.93503 29.2078,3.01276 45.9534,3.01276 4.96157,0 9.7875,-0.0243734 14.552,-0.0678216 53.9309,-0.460975 95.3752,-3.3116 129.213,-4.20176 0.0233137,0 0.0508662,0 0.0720604,-0.0105971l0.00529856 0c1.39988,-0.10915 2.95766,-0.237376 4.53875,-0.365601 0.631589,-0.0508662 1.3151,-0.104912 1.97742,-0.155778 1.28331,-0.101732 2.63762,-0.213002 4.02055,-0.314735 0.720604,-0.0614633 1.43803,-0.11233 2.18301,-0.163196 1.74747,-0.137763 3.57123,-0.267047 5.45434,-0.395273 0.391034,-0.0243734 0.747097,-0.0582842 1.14555,-0.084777 2.16605,-0.14624 4.44655,-0.281883 6.7758,-0.419646 0.827635,-0.0508662 1.68388,-0.0953741 2.53059,-0.14624 1.65951,-0.084777 3.35823,-0.179091 5.0951,-0.25645 0.967517,-0.0508662 1.94563,-0.092195 2.93752,-0.135643 1.92444,-0.0858367 3.90398,-0.163196 5.91002,-0.231017 0.784187,-0.0264928 1.54082,-0.0604036 2.33455,-0.077359 2.66094,-0.084777 5.39606,-0.14624 8.17886,-0.197106 1.04806,-0.0169554 2.13214,-0.0169554 3.19927,-0.0339108 1.90536,-0.0264928 3.83404,-0.0339108 5.78921,-0.0339108 1.23033,-0.00953741 2.46701,0 3.71641,0.00741799 2.02087,0.00953741 4.06612,0.0339108 6.12938,0.0678216 1.12965,0.0169554 2.24129,0.0264928 3.38896,0.0540453 3.01276,0.0752396 6.06791,0.169554 9.15909,0.297779 1.17098,0.0508662 2.36952,0.118688 3.55851,0.172733 2.1332,0.101732 4.28018,0.22042 6.45365,0.359242 1.37127,0.0752396 2.74889,0.169554 4.13394,0.273406 2.16711,0.152599 4.35754,0.325332 6.55538,0.511841 1.26954,0.104912 2.52635,0.206644 3.80225,0.325332 78.1856,7.31943 143.473,20.2341 180.576,119.988 0.162136,-0.0243734 -0.0604036,0.00953741 0.101732,-0.00741799 -1.32676,-47.3999 -18.0162,-100.661 -34.5095,-132.356z\" />\n <path id=\"_258514728\" fill=\"#CBA96B\" fill-rule=\"nonzero\" d=\"M166.531 125.26c-6.82137,6.44411 -13.0641,13.1712 -19.3896,19.4288 -4.55888,4.32257 -8.25834,9.23645 -12.2111,13.736 -3.88385,4.5716 -7.68291,9.04041 -11.3834,13.3884 -6.99622,9.02769 -13.3068,17.8615 -19.4182,26.035 -5.61648,8.51585 -10.578,16.6894 -15.3287,24.154 -2.45747,3.66131 -4.41794,7.48051 -6.31271,11.11 -1.91172,3.62634 -3.73866,7.07676 -5.466,10.364 -7.32049,13.1383 -11.2775,23.5023 -14.5424,30.5557 -3.12721,7.05239 -4.79732,10.8175 -4.79732,10.8175 -0.062523,0.155778 -0.137763,0.334869 -0.198166,0.498065 -1.86403,4.92978 0.623111,10.4318 5.55607,12.298 4.9319,1.85768 10.4371,-0.633708 12.3001,-5.56349 0,0 1.45287,-3.85311 4.17739,-11.0655 2.85592,-7.10431 6.29363,-18.2228 12.6477,-30.4794 1.50267,-3.159 3.08906,-6.47802 4.74645,-9.97189 1.64149,-3.50129 3.32538,-7.17213 5.56243,-10.8186 4.27276,-7.36818 8.72249,-15.4474 13.7975,-23.905 5.57303,-8.11316 11.3135,-16.9194 17.7237,-25.9502 3.47374,-4.32257 7.03119,-8.74793 10.6798,-13.2824 3.71641,-4.46881 7.18591,-9.34772 11.5021,-13.6449 4.52709,-4.69664 9.01073,-9.67093 13.7127,-14.6007 -1.28861,-4.48364 -2.40873,-8.89205 -3.35823,-13.1033z\" />\n </g>\n </g>\n </svg>\n <a href=\"https://www.{{ this.appConfig['appDomain'] }}\" target=\"_blank\" title=\"{{ this.appConfig['appName'] | titlecase }}\" rel=\"noopener\">{{ this.appConfig['appDomain'] | titlecase }}</a>\n </div>\n</div>\n", styles: [".sd_container_widget_footer{position:absolute;bottom:0;width:100%;height:28px;background:var(--sd-background-color)}.sd_container_widget_footer_inner{display:flex;align-items:center;justify-content:center;vertical-align:middle;gap:5px;padding:.2em;font-size:.85em;font-family:var(--sd-text-font-family);color:var(--sd-text-color-light);direction:ltr;text-decoration:none;-webkit-box-pack:center;-webkit-box-align:end}.sd_container_widget_footer_inner a{color:var(--sd-text-color-light);text-decoration:none;transition:background-color .3s ease,color .3s ease}.sd_container_widget_footer_inner a:hover{color:var(--sd-text-color-dark);text-decoration:underline}\n"], dependencies: [{ kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }] });
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.20", type: FooterComponent, isStandalone: false, selector: "sd-app-footer", ngImport: i0, template: "<div class=\"sd_container_widget_footer\">\n <div class=\"sd_container_widget_footer_inner\"><span>Powered by</span>\n <svg width=\"16px\" shape-rendering=\"geometricPrecision\" text-rendering=\"geometricPrecision\" image-rendering=\"optimizeQuality\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" viewBox=\"0 0 877.098 808.09\">\n <g id=\"Layer_x0020_1\">\n <metadata id=\"CorelCorpID_0Corel-Layer\" />\n <g id=\"_258513600\">\n <path id=\"_258516096\" fill=\"#CBA96B\" fill-rule=\"nonzero\" d=\"M637.653 218.973c-109.109,-5.73516 -241.809,27.9446 -336.907,14.3602 -52.1167,-7.44554 -85.2507,-24.8291 -102.132,-36.1086 -57.8931,61.7431 -93.4412,144.67 -93.4412,235.995 0,171.801 125.437,314.25 289.707,340.911 -8.09408,-36.1447 -12.5046,-73.6839 -12.5046,-112.274 0,-189.17 102.668,-354.272 255.277,-442.882z\" />\n <path id=\"_258516024\" fill=\"#FAE5C5\" fill-rule=\"nonzero\" d=\"M778.919 331.111c0,0 -0.795844,-6.58187 -3.83616,-16.5262 -2.95236,-8.04746 -6.16964,-15.955 -9.68789,-23.7089 -15.0903,-29.1696 -46.4069,-64.5259 -110.487,-70.6637 -5.67476,-0.538334 -11.4438,-0.931487 -17.2553,-1.23986 -152.609,88.61 -255.277,253.712 -255.277,442.882 0,38.5905 4.41052,76.1297 12.5046,112.274 18.155,2.95342 36.7635,4.54405 55.7504,4.54405 190.788,0 345.456,-154.667 345.456,-345.455 0,-36.1033 -5.58044,-70.8873 -15.8766,-103.59 -0.812799,0.942084 -1.29073,1.48254 -1.29073,1.48254z\" />\n <path id=\"_258515952\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M718.294 758.328c-2.63444,0 -5.25511,-1.08726 -7.14458,-3.21411 -3.49387,-3.94743 -3.12509,-9.97401 0.819158,-13.4658 65.9724,-58.4336 110.727,-134.554 129.411,-220.127 1.1233,-5.15126 6.21627,-8.39928 11.3601,-7.28658 5.14278,1.12647 8.40352,6.20885 7.28234,11.3569 -19.557,89.5542 -66.3836,169.202 -135.403,230.332 -1.81317,1.60864 -4.07353,2.40449 -6.32542,2.40449z\" />\n <path id=\"_258515880\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M846.577 557.445c-1.40412,0 -2.83367,-0.181211 -4.25474,-0.555289 -8.91854,-2.3462 -14.2415,-11.4735 -11.9059,-20.3942 8.82422,-33.5198 13.3004,-68.2667 13.3004,-103.269 0,-9.21738 7.47309,-16.6926 16.6915,-16.6926 9.21738,0 16.6905,7.47521 16.6905,16.6926 0,37.8699 -4.83547,75.4727 -14.3877,111.768 -1.97001,7.49217 -8.73203,12.4506 -16.1341,12.4506z\" />\n <path id=\"_258515808\" fill=\"#F7AB54\" fill-rule=\"nonzero\" d=\"M532.463 51.2668c-26.5225,-4.561 -53.5261,-9.03723 -81.5311,-9.03723 -6.4971,0 -12.9486,0.180151 -19.3652,0.504423l0 0.0169554c-0.116568,0 -0.240555,0 -0.357123,0 -130.335,0 -188.497,-1.54718 -257.657,-42.7509 0,0 -0.329571,1.31722 -0.822337,3.71429 105.693,109.444 253.934,177.522 418.097,177.522 47.2367,0 97.7691,-5.74258 146.957,-18.847 -36.3757,-51.8856 -112.688,-95.2088 -205.32,-111.122z\" />\n <path id=\"_258515736\" fill=\"#2F3033\" fill-rule=\"nonzero\" d=\"M450.631 674.55c-105.869,0 -197.899,-65.1882 -228.997,-162.207 -3.11979,-9.71968 2.56768,-20.0233 12.7017,-23.017 10.134,-3.00111 20.8689,2.47231 23.9845,12.1909 26.1177,81.4633 103.4,136.2 192.311,136.2 88.9109,0 166.199,-54.7363 192.311,-136.2 3.11555,-9.72604 13.8494,-15.192 23.9834,-12.1909 10.134,2.99369 15.8257,13.2973 12.7007,23.017 -31.0962,97.0188 -123.128,162.207 -228.995,162.207z\" />\n <path id=\"_258515664\" fill=\"#2F3033\" fill-rule=\"nonzero\" d=\"M797.457 379.399c-3.54474,-22.8781 -9.31169,-45.0272 -17.0582,-66.2288l-67.6584 -15.8236c-1.42849,-0.334869 -2.86758,-0.470512 -4.33952,-0.402691 -13.9946,0.640066 -92.4705,4.71678 -166.073,18.4538 -26.3148,4.92024 -43.3412,11.6303 -54.3844,18.4867 -10.9956,-6.30741 -23.7185,-9.93692 -37.3125,-9.93692 -13.6279,0 -26.3794,3.64647 -37.3919,9.98779 -11.039,-6.87329 -28.0877,-13.6078 -54.4671,-18.5375 -72.9686,-13.6184 -152.425,-17.8138 -166.135,-18.4538 -1.38822,-0.0678216 -2.73936,0.0582842 -4.09261,0.376198l-67.5376 15.8162c-7.76133,21.2165 -13.5177,43.3698 -17.0624,66.2649l79.7232 1.80999c5.1502,0.116568 9.58086,3.65919 10.7773,8.67586 7.72424,32.4018 30.8281,83.0475 99.862,83.0475 35.6455,0 71.0166,-2.26143 95.0255,-24.3903 22.8082,-21.0194 36.8822,-41.2323 42.4966,-76.6882 5.34519,-3.70475 11.7957,-5.92167 18.8025,-5.92167 6.93158,0 13.3121,2.17347 18.6255,5.80828 5.5974,35.5258 19.6863,55.7599 42.5135,76.8016 24.012,22.1289 59.3799,24.3903 95.0276,24.3903 60.3485,0 89.2023,-58.4993 98.3519,-81.955 2.26778,-5.821 7.86518,-9.66564 14.1058,-9.80658l78.2015 -1.77396z\" />\n <path id=\"_258515592\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M450.057 339.132c17.4407,0 33.2718,5.6631 45.1798,14.8603 -10.2729,-13.4138 -26.4038,-22.1024 -44.6054,-22.1024 -17.2235,0 -32.6222,7.76663 -42.9279,19.965 11.5307,-7.94572 26.2745,-12.7229 42.3535,-12.7229z\" />\n <path id=\"_258515520\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M410.435 364.515c0,0 6.9072,42.8802 -31.6589,82.3079 0,0 36.63,-28.5094 42.593,-65.4044 7.97222,-49.2893 -46.9092,-57.4703 -46.9092,-57.4703 0,0 31.3696,7.94254 35.9751,40.5668z\" />\n <path id=\"_258515184\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M492.553 364.515c0,0 -6.90826,42.8802 31.6578,82.3079 0,0 -36.63,-28.5094 -42.593,-65.4044 -7.96798,-49.2893 46.9092,-57.4703 46.9092,-57.4703 0,0 -31.3696,7.94254 -35.9741,40.5668z\" />\n <path id=\"_258515160\" fill=\"#CBA96B\" fill-rule=\"nonzero\" d=\"M188.23 665.933c17.7089,39.6385 -18.9233,142.158 -18.9233,142.158 0,0 115.812,-69.4928 177.475,-60.7925l-183.871 -122.549c0,0 16.2814,16.8643 25.3186,41.1836z\" />\n <path id=\"_258514632\" fill=\"#CBA96B\" fill-rule=\"nonzero\" d=\"M63.5965 269.786c0,0 -52.8637,99.5451 -63.5965,202.805 0,0 47.9064,27.7358 58.601,-17.1408 11.9366,-50.0756 2.16393,-110.872 17.7184,-166.98 15.5513,-56.1118 -12.7229,-18.6838 -12.7229,-18.6838z\" />\n <path id=\"_258513552\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M66.4885 532.215c-8.90158,0 -16.8664,-6.26184 -18.6859,-15.3277 -5.49249,-27.3597 -8.27847,-55.5056 -8.27847,-83.6611 0,-26.7556 2.51894,-53.5409 7.48687,-79.6066 1.97318,-10.3534 11.9567,-17.1461 22.3144,-15.174 10.3492,1.97742 17.1398,11.9642 15.1677,22.3186 -4.51967,23.7153 -6.80971,48.0982 -6.80971,72.4621 0,25.6397 2.53271,51.2593 7.5282,76.152 2.07704,10.3301 -4.61717,20.3867 -14.9472,22.4585 -1.26742,0.255391 -2.53059,0.378317 -3.77575,0.378317z\" />\n <path id=\"_258513720\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M834.909 532.215c-1.2494,0 -2.51576,-0.122927 -3.77258,-0.378317 -10.3396,-2.07174 -17.0338,-12.1284 -14.9525,-22.4585 4.98913,-24.9001 7.53138,-50.5175 7.53138,-76.152 0,-24.3755 -2.29322,-48.7563 -6.81289,-72.4621 -1.97742,-10.3523 4.81851,-20.3412 15.1655,-22.3154 10.365,-1.99226 20.3465,4.81533 22.3144,15.1708 4.97323,26.0541 7.48899,52.8383 7.48899,79.6066 0,28.1481 -2.7828,56.294 -8.27529,83.6611 -1.82482,9.06372 -9.78538,15.3277 -18.687,15.3277z\" />\n <path id=\"_258513864\" fill=\"#2F3033\" fill-rule=\"nonzero\" d=\"M700.271 792.515c-8.44803,0 -16.8187,-3.72701 -22.4691,-10.8695 -9.80658,-12.3955 -7.70305,-30.3947 4.69241,-40.197 5.70867,-4.51437 11.3665,-9.25553 16.8251,-14.0857 11.8306,-10.4763 29.9146,-9.37421 40.3984,2.45323 10.4763,11.8317 9.38163,29.9167 -2.45535,40.3952 -6.24065,5.53594 -12.7282,10.9617 -19.2592,16.1309 -5.25511,4.15195 -11.5191,6.17282 -17.7322,6.17282z\" />\n <path id=\"_258514920\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M755.671 188.913c0,0 -11.9313,-19.0769 -17.8879,-26.5331 -11.0486,2.67153 -32.069,7.57482 -43.3507,9.61265 -0.0264928,0.00741799 -0.0508662,0.00741799 -0.077359,0.0169554 -5.57091,1.00249 -11.1768,1.92656 -16.8081,2.77327 -0.163196,0.0243734 -0.317914,0.0413288 -0.470512,0.0678216 -5.50521,0.812799 -11.0252,1.56731 -16.5813,2.23493 -0.690932,0.084777 -1.39458,0.135643 -2.09611,0.22042 -5.01456,0.581782 -10.0387,1.13071 -15.0977,1.58427 -1.63514,0.145181 -3.28723,0.229958 -4.92024,0.36878 -4.13394,0.33275 -8.26788,0.677156 -12.4294,0.931487 -2.875,0.172733 -5.76907,0.25751 -8.65149,0.385735 -2.94494,0.138822 -5.88034,0.308376 -8.8433,0.402691 -5.85385,0.169554 -11.7331,0.25751 -17.6304,0.25751 -6.52889,0 -13.0186,-0.14624 -19.4966,-0.359242 -2.67153,-0.0868964 -5.33247,-0.206644 -8.00189,-0.317914 -4.73797,-0.188629 -9.46853,-0.530916 -14.2023,-0.829755 -0.885919,-0.0604036 -1.77608,-0.11127 -2.662,-0.171673 -6.37523,-0.488527 -12.7197,-1.07773 -19.0399,-1.7623 -1.5387,-0.171673 -3.06681,-0.361362 -4.59809,-0.540453 -5.12583,-0.5892 -10.2453,-1.26636 -15.3552,-2.0018 -1.43061,-0.206644 -2.86228,-0.393153 -4.28654,-0.609335 -6.318,-0.95798 -12.6085,-2.00074 -18.8586,-3.15582 -0.545752,-0.104912 -1.08409,-0.216181 -1.6256,-0.325332 -5.39076,-1.07031 -10.7963,-2.10565 -16.168,-3.29676 -1.79303,-0.393153 -3.59031,-0.786307 -5.37804,-1.19853 -12.5247,-2.84851 -24.8979,-6.10924 -37.1016,-9.76525 -3.2459,-0.965398 -6.46319,-2.01133 -9.75995,-2.85804 -3.20245,-0.822337 -6.32754,-1.87569 -9.3721,-3.17596 -0.837173,-0.359242 -1.71991,-0.606155 -2.58676,-0.907114 -6.19402,-2.13108 -12.3393,-4.35542 -18.439,-6.68467 -0.69835,-0.263868 -1.38716,-0.547871 -2.08657,-0.812799 -5.51686,-2.13214 -10.9924,-4.34058 -16.4245,-6.63274 -0.715306,-0.300958 -1.43167,-0.592379 -2.14486,-0.890158 -12.0065,-5.11947 -23.8054,-10.6395 -35.388,-16.5273 -0.707888,-0.359242 -1.42107,-0.728022 -2.13002,-1.08726 -11.6017,-5.96512 -22.9777,-12.3001 -34.1121,-19.0017 -0.545752,-0.324272 -1.08832,-0.657022 -1.63196,-0.984473 -5.51474,-3.34551 -10.9807,-6.76944 -16.3768,-10.2866l0 0c-36.7,-23.9665 -70.545,-51.9344 -100.87,-83.339 -3.40168,16.6142 -14.4672,85.7424 23.4006,138.715l0 0.00741799 0.00211942 0c0,0 0.00529856,0.00953741 0.00741799,0.00953741 0.632648,0.890158 1.32252,1.74747 1.97954,2.62809 0.684574,0.907114 1.3416,1.82165 2.0569,2.72134 0.483229,0.599797 1.01203,1.189 1.51009,1.78879 0.950562,1.14767 1.88205,2.3017 2.88454,3.43241 0.594499,0.667619 1.24198,1.30768 1.84814,1.97742 0.963278,1.03428 1.90006,2.07916 2.91209,3.08906 1.01414,1.0258 2.09823,2.02829 3.16112,3.02972 0.666559,0.624171 1.29815,1.26636 1.97954,1.89265 1.04594,0.948443 2.16605,1.86615 3.25862,2.79022 0.766172,0.640066 1.49207,1.30768 2.27732,1.94033 0.849889,0.694112 1.76654,1.35431 2.63974,2.02087 1.1021,0.84671 2.16923,1.70402 3.30948,2.52635 0.667619,0.487468 1.38504,0.941025 2.06962,1.41154 1.41154,0.982353 2.81142,1.97742 4.29183,2.91845 0.999309,0.650663 2.06962,1.25046 3.10284,1.87357 1.23033,0.754515 2.42356,1.51645 3.69734,2.23387 0.505483,0.291421 1.05547,0.556349 1.56731,0.840352 4.23355,2.33561 8.66421,4.57054 13.3831,6.63274 1.22503,0.530916 2.52317,1.0258 3.77787,1.54082 1.46452,0.598737 2.89619,1.22291 4.4084,1.78773 0.841412,0.325332 1.74429,0.609335 2.60053,0.917711 1.99862,0.717425 3.98876,1.45287 6.06791,2.11942 0.549991,0.189689 1.14767,0.345466 1.70508,0.51502 8.45332,2.65352 17.5287,4.92978 27.3575,6.70056 3.49599,0.633708 7.07994,1.20807 10.7529,1.72097 13.9628,1.93503 29.2078,3.01276 45.9534,3.01276 4.96157,0 9.7875,-0.0243734 14.552,-0.0678216 53.9309,-0.460975 95.3752,-3.3116 129.213,-4.20176 0.0233137,0 0.0508662,0 0.0720604,-0.0105971l0.00529856 0c1.39988,-0.10915 2.95766,-0.237376 4.53875,-0.365601 0.631589,-0.0508662 1.3151,-0.104912 1.97742,-0.155778 1.28331,-0.101732 2.63762,-0.213002 4.02055,-0.314735 0.720604,-0.0614633 1.43803,-0.11233 2.18301,-0.163196 1.74747,-0.137763 3.57123,-0.267047 5.45434,-0.395273 0.391034,-0.0243734 0.747097,-0.0582842 1.14555,-0.084777 2.16605,-0.14624 4.44655,-0.281883 6.7758,-0.419646 0.827635,-0.0508662 1.68388,-0.0953741 2.53059,-0.14624 1.65951,-0.084777 3.35823,-0.179091 5.0951,-0.25645 0.967517,-0.0508662 1.94563,-0.092195 2.93752,-0.135643 1.92444,-0.0858367 3.90398,-0.163196 5.91002,-0.231017 0.784187,-0.0264928 1.54082,-0.0604036 2.33455,-0.077359 2.66094,-0.084777 5.39606,-0.14624 8.17886,-0.197106 1.04806,-0.0169554 2.13214,-0.0169554 3.19927,-0.0339108 1.90536,-0.0264928 3.83404,-0.0339108 5.78921,-0.0339108 1.23033,-0.00953741 2.46701,0 3.71641,0.00741799 2.02087,0.00953741 4.06612,0.0339108 6.12938,0.0678216 1.12965,0.0169554 2.24129,0.0264928 3.38896,0.0540453 3.01276,0.0752396 6.06791,0.169554 9.15909,0.297779 1.17098,0.0508662 2.36952,0.118688 3.55851,0.172733 2.1332,0.101732 4.28018,0.22042 6.45365,0.359242 1.37127,0.0752396 2.74889,0.169554 4.13394,0.273406 2.16711,0.152599 4.35754,0.325332 6.55538,0.511841 1.26954,0.104912 2.52635,0.206644 3.80225,0.325332 78.1856,7.31943 143.473,20.2341 180.576,119.988 0.162136,-0.0243734 -0.0604036,0.00953741 0.101732,-0.00741799 -1.32676,-47.3999 -18.0162,-100.661 -34.5095,-132.356z\" />\n <path id=\"_258514728\" fill=\"#CBA96B\" fill-rule=\"nonzero\" d=\"M166.531 125.26c-6.82137,6.44411 -13.0641,13.1712 -19.3896,19.4288 -4.55888,4.32257 -8.25834,9.23645 -12.2111,13.736 -3.88385,4.5716 -7.68291,9.04041 -11.3834,13.3884 -6.99622,9.02769 -13.3068,17.8615 -19.4182,26.035 -5.61648,8.51585 -10.578,16.6894 -15.3287,24.154 -2.45747,3.66131 -4.41794,7.48051 -6.31271,11.11 -1.91172,3.62634 -3.73866,7.07676 -5.466,10.364 -7.32049,13.1383 -11.2775,23.5023 -14.5424,30.5557 -3.12721,7.05239 -4.79732,10.8175 -4.79732,10.8175 -0.062523,0.155778 -0.137763,0.334869 -0.198166,0.498065 -1.86403,4.92978 0.623111,10.4318 5.55607,12.298 4.9319,1.85768 10.4371,-0.633708 12.3001,-5.56349 0,0 1.45287,-3.85311 4.17739,-11.0655 2.85592,-7.10431 6.29363,-18.2228 12.6477,-30.4794 1.50267,-3.159 3.08906,-6.47802 4.74645,-9.97189 1.64149,-3.50129 3.32538,-7.17213 5.56243,-10.8186 4.27276,-7.36818 8.72249,-15.4474 13.7975,-23.905 5.57303,-8.11316 11.3135,-16.9194 17.7237,-25.9502 3.47374,-4.32257 7.03119,-8.74793 10.6798,-13.2824 3.71641,-4.46881 7.18591,-9.34772 11.5021,-13.6449 4.52709,-4.69664 9.01073,-9.67093 13.7127,-14.6007 -1.28861,-4.48364 -2.40873,-8.89205 -3.35823,-13.1033z\" />\n </g>\n </g>\n </svg>\n <a href=\"https://www.{{ this.appConfig['appDomain'] }}\" target=\"_blank\" title=\"{{ this.appConfig['appName'] | titlecase }}\" rel=\"noopener\">{{ this.appConfig['appDomain'] | titlecase }}</a>\n </div>\n</div>\n", styles: [".sd_container_widget_footer{position:absolute;bottom:0;width:100%;height:28px;background:var(--sd-background-color)}.sd_container_widget_footer_inner{display:flex;align-items:center;justify-content:center;vertical-align:middle;gap:5px;padding:.2em;font-size:.85em;font-family:var(--sd-text-font-family);color:var(--sd-text-color-light);direction:ltr;text-decoration:none;-webkit-box-pack:center;-webkit-box-align:end}.sd_container_widget_footer_inner a{color:var(--sd-text-color-light);text-decoration:none;transition:background-color .3s ease,color .3s ease}.sd_container_widget_footer_inner a:hover{color:var(--sd-text-color-dark);text-decoration:underline}\n"], dependencies: [{ kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }] });
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: FooterComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: FooterComponent, decorators: [{
47
47
  type: Component,
48
48
  args: [{ selector: 'sd-app-footer', standalone: false, template: "<div class=\"sd_container_widget_footer\">\n <div class=\"sd_container_widget_footer_inner\"><span>Powered by</span>\n <svg width=\"16px\" shape-rendering=\"geometricPrecision\" text-rendering=\"geometricPrecision\" image-rendering=\"optimizeQuality\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" viewBox=\"0 0 877.098 808.09\">\n <g id=\"Layer_x0020_1\">\n <metadata id=\"CorelCorpID_0Corel-Layer\" />\n <g id=\"_258513600\">\n <path id=\"_258516096\" fill=\"#CBA96B\" fill-rule=\"nonzero\" d=\"M637.653 218.973c-109.109,-5.73516 -241.809,27.9446 -336.907,14.3602 -52.1167,-7.44554 -85.2507,-24.8291 -102.132,-36.1086 -57.8931,61.7431 -93.4412,144.67 -93.4412,235.995 0,171.801 125.437,314.25 289.707,340.911 -8.09408,-36.1447 -12.5046,-73.6839 -12.5046,-112.274 0,-189.17 102.668,-354.272 255.277,-442.882z\" />\n <path id=\"_258516024\" fill=\"#FAE5C5\" fill-rule=\"nonzero\" d=\"M778.919 331.111c0,0 -0.795844,-6.58187 -3.83616,-16.5262 -2.95236,-8.04746 -6.16964,-15.955 -9.68789,-23.7089 -15.0903,-29.1696 -46.4069,-64.5259 -110.487,-70.6637 -5.67476,-0.538334 -11.4438,-0.931487 -17.2553,-1.23986 -152.609,88.61 -255.277,253.712 -255.277,442.882 0,38.5905 4.41052,76.1297 12.5046,112.274 18.155,2.95342 36.7635,4.54405 55.7504,4.54405 190.788,0 345.456,-154.667 345.456,-345.455 0,-36.1033 -5.58044,-70.8873 -15.8766,-103.59 -0.812799,0.942084 -1.29073,1.48254 -1.29073,1.48254z\" />\n <path id=\"_258515952\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M718.294 758.328c-2.63444,0 -5.25511,-1.08726 -7.14458,-3.21411 -3.49387,-3.94743 -3.12509,-9.97401 0.819158,-13.4658 65.9724,-58.4336 110.727,-134.554 129.411,-220.127 1.1233,-5.15126 6.21627,-8.39928 11.3601,-7.28658 5.14278,1.12647 8.40352,6.20885 7.28234,11.3569 -19.557,89.5542 -66.3836,169.202 -135.403,230.332 -1.81317,1.60864 -4.07353,2.40449 -6.32542,2.40449z\" />\n <path id=\"_258515880\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M846.577 557.445c-1.40412,0 -2.83367,-0.181211 -4.25474,-0.555289 -8.91854,-2.3462 -14.2415,-11.4735 -11.9059,-20.3942 8.82422,-33.5198 13.3004,-68.2667 13.3004,-103.269 0,-9.21738 7.47309,-16.6926 16.6915,-16.6926 9.21738,0 16.6905,7.47521 16.6905,16.6926 0,37.8699 -4.83547,75.4727 -14.3877,111.768 -1.97001,7.49217 -8.73203,12.4506 -16.1341,12.4506z\" />\n <path id=\"_258515808\" fill=\"#F7AB54\" fill-rule=\"nonzero\" d=\"M532.463 51.2668c-26.5225,-4.561 -53.5261,-9.03723 -81.5311,-9.03723 -6.4971,0 -12.9486,0.180151 -19.3652,0.504423l0 0.0169554c-0.116568,0 -0.240555,0 -0.357123,0 -130.335,0 -188.497,-1.54718 -257.657,-42.7509 0,0 -0.329571,1.31722 -0.822337,3.71429 105.693,109.444 253.934,177.522 418.097,177.522 47.2367,0 97.7691,-5.74258 146.957,-18.847 -36.3757,-51.8856 -112.688,-95.2088 -205.32,-111.122z\" />\n <path id=\"_258515736\" fill=\"#2F3033\" fill-rule=\"nonzero\" d=\"M450.631 674.55c-105.869,0 -197.899,-65.1882 -228.997,-162.207 -3.11979,-9.71968 2.56768,-20.0233 12.7017,-23.017 10.134,-3.00111 20.8689,2.47231 23.9845,12.1909 26.1177,81.4633 103.4,136.2 192.311,136.2 88.9109,0 166.199,-54.7363 192.311,-136.2 3.11555,-9.72604 13.8494,-15.192 23.9834,-12.1909 10.134,2.99369 15.8257,13.2973 12.7007,23.017 -31.0962,97.0188 -123.128,162.207 -228.995,162.207z\" />\n <path id=\"_258515664\" fill=\"#2F3033\" fill-rule=\"nonzero\" d=\"M797.457 379.399c-3.54474,-22.8781 -9.31169,-45.0272 -17.0582,-66.2288l-67.6584 -15.8236c-1.42849,-0.334869 -2.86758,-0.470512 -4.33952,-0.402691 -13.9946,0.640066 -92.4705,4.71678 -166.073,18.4538 -26.3148,4.92024 -43.3412,11.6303 -54.3844,18.4867 -10.9956,-6.30741 -23.7185,-9.93692 -37.3125,-9.93692 -13.6279,0 -26.3794,3.64647 -37.3919,9.98779 -11.039,-6.87329 -28.0877,-13.6078 -54.4671,-18.5375 -72.9686,-13.6184 -152.425,-17.8138 -166.135,-18.4538 -1.38822,-0.0678216 -2.73936,0.0582842 -4.09261,0.376198l-67.5376 15.8162c-7.76133,21.2165 -13.5177,43.3698 -17.0624,66.2649l79.7232 1.80999c5.1502,0.116568 9.58086,3.65919 10.7773,8.67586 7.72424,32.4018 30.8281,83.0475 99.862,83.0475 35.6455,0 71.0166,-2.26143 95.0255,-24.3903 22.8082,-21.0194 36.8822,-41.2323 42.4966,-76.6882 5.34519,-3.70475 11.7957,-5.92167 18.8025,-5.92167 6.93158,0 13.3121,2.17347 18.6255,5.80828 5.5974,35.5258 19.6863,55.7599 42.5135,76.8016 24.012,22.1289 59.3799,24.3903 95.0276,24.3903 60.3485,0 89.2023,-58.4993 98.3519,-81.955 2.26778,-5.821 7.86518,-9.66564 14.1058,-9.80658l78.2015 -1.77396z\" />\n <path id=\"_258515592\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M450.057 339.132c17.4407,0 33.2718,5.6631 45.1798,14.8603 -10.2729,-13.4138 -26.4038,-22.1024 -44.6054,-22.1024 -17.2235,0 -32.6222,7.76663 -42.9279,19.965 11.5307,-7.94572 26.2745,-12.7229 42.3535,-12.7229z\" />\n <path id=\"_258515520\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M410.435 364.515c0,0 6.9072,42.8802 -31.6589,82.3079 0,0 36.63,-28.5094 42.593,-65.4044 7.97222,-49.2893 -46.9092,-57.4703 -46.9092,-57.4703 0,0 31.3696,7.94254 35.9751,40.5668z\" />\n <path id=\"_258515184\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M492.553 364.515c0,0 -6.90826,42.8802 31.6578,82.3079 0,0 -36.63,-28.5094 -42.593,-65.4044 -7.96798,-49.2893 46.9092,-57.4703 46.9092,-57.4703 0,0 -31.3696,7.94254 -35.9741,40.5668z\" />\n <path id=\"_258515160\" fill=\"#CBA96B\" fill-rule=\"nonzero\" d=\"M188.23 665.933c17.7089,39.6385 -18.9233,142.158 -18.9233,142.158 0,0 115.812,-69.4928 177.475,-60.7925l-183.871 -122.549c0,0 16.2814,16.8643 25.3186,41.1836z\" />\n <path id=\"_258514632\" fill=\"#CBA96B\" fill-rule=\"nonzero\" d=\"M63.5965 269.786c0,0 -52.8637,99.5451 -63.5965,202.805 0,0 47.9064,27.7358 58.601,-17.1408 11.9366,-50.0756 2.16393,-110.872 17.7184,-166.98 15.5513,-56.1118 -12.7229,-18.6838 -12.7229,-18.6838z\" />\n <path id=\"_258513552\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M66.4885 532.215c-8.90158,0 -16.8664,-6.26184 -18.6859,-15.3277 -5.49249,-27.3597 -8.27847,-55.5056 -8.27847,-83.6611 0,-26.7556 2.51894,-53.5409 7.48687,-79.6066 1.97318,-10.3534 11.9567,-17.1461 22.3144,-15.174 10.3492,1.97742 17.1398,11.9642 15.1677,22.3186 -4.51967,23.7153 -6.80971,48.0982 -6.80971,72.4621 0,25.6397 2.53271,51.2593 7.5282,76.152 2.07704,10.3301 -4.61717,20.3867 -14.9472,22.4585 -1.26742,0.255391 -2.53059,0.378317 -3.77575,0.378317z\" />\n <path id=\"_258513720\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M834.909 532.215c-1.2494,0 -2.51576,-0.122927 -3.77258,-0.378317 -10.3396,-2.07174 -17.0338,-12.1284 -14.9525,-22.4585 4.98913,-24.9001 7.53138,-50.5175 7.53138,-76.152 0,-24.3755 -2.29322,-48.7563 -6.81289,-72.4621 -1.97742,-10.3523 4.81851,-20.3412 15.1655,-22.3154 10.365,-1.99226 20.3465,4.81533 22.3144,15.1708 4.97323,26.0541 7.48899,52.8383 7.48899,79.6066 0,28.1481 -2.7828,56.294 -8.27529,83.6611 -1.82482,9.06372 -9.78538,15.3277 -18.687,15.3277z\" />\n <path id=\"_258513864\" fill=\"#2F3033\" fill-rule=\"nonzero\" d=\"M700.271 792.515c-8.44803,0 -16.8187,-3.72701 -22.4691,-10.8695 -9.80658,-12.3955 -7.70305,-30.3947 4.69241,-40.197 5.70867,-4.51437 11.3665,-9.25553 16.8251,-14.0857 11.8306,-10.4763 29.9146,-9.37421 40.3984,2.45323 10.4763,11.8317 9.38163,29.9167 -2.45535,40.3952 -6.24065,5.53594 -12.7282,10.9617 -19.2592,16.1309 -5.25511,4.15195 -11.5191,6.17282 -17.7322,6.17282z\" />\n <path id=\"_258514920\" fill=\"#EE7738\" fill-rule=\"nonzero\" d=\"M755.671 188.913c0,0 -11.9313,-19.0769 -17.8879,-26.5331 -11.0486,2.67153 -32.069,7.57482 -43.3507,9.61265 -0.0264928,0.00741799 -0.0508662,0.00741799 -0.077359,0.0169554 -5.57091,1.00249 -11.1768,1.92656 -16.8081,2.77327 -0.163196,0.0243734 -0.317914,0.0413288 -0.470512,0.0678216 -5.50521,0.812799 -11.0252,1.56731 -16.5813,2.23493 -0.690932,0.084777 -1.39458,0.135643 -2.09611,0.22042 -5.01456,0.581782 -10.0387,1.13071 -15.0977,1.58427 -1.63514,0.145181 -3.28723,0.229958 -4.92024,0.36878 -4.13394,0.33275 -8.26788,0.677156 -12.4294,0.931487 -2.875,0.172733 -5.76907,0.25751 -8.65149,0.385735 -2.94494,0.138822 -5.88034,0.308376 -8.8433,0.402691 -5.85385,0.169554 -11.7331,0.25751 -17.6304,0.25751 -6.52889,0 -13.0186,-0.14624 -19.4966,-0.359242 -2.67153,-0.0868964 -5.33247,-0.206644 -8.00189,-0.317914 -4.73797,-0.188629 -9.46853,-0.530916 -14.2023,-0.829755 -0.885919,-0.0604036 -1.77608,-0.11127 -2.662,-0.171673 -6.37523,-0.488527 -12.7197,-1.07773 -19.0399,-1.7623 -1.5387,-0.171673 -3.06681,-0.361362 -4.59809,-0.540453 -5.12583,-0.5892 -10.2453,-1.26636 -15.3552,-2.0018 -1.43061,-0.206644 -2.86228,-0.393153 -4.28654,-0.609335 -6.318,-0.95798 -12.6085,-2.00074 -18.8586,-3.15582 -0.545752,-0.104912 -1.08409,-0.216181 -1.6256,-0.325332 -5.39076,-1.07031 -10.7963,-2.10565 -16.168,-3.29676 -1.79303,-0.393153 -3.59031,-0.786307 -5.37804,-1.19853 -12.5247,-2.84851 -24.8979,-6.10924 -37.1016,-9.76525 -3.2459,-0.965398 -6.46319,-2.01133 -9.75995,-2.85804 -3.20245,-0.822337 -6.32754,-1.87569 -9.3721,-3.17596 -0.837173,-0.359242 -1.71991,-0.606155 -2.58676,-0.907114 -6.19402,-2.13108 -12.3393,-4.35542 -18.439,-6.68467 -0.69835,-0.263868 -1.38716,-0.547871 -2.08657,-0.812799 -5.51686,-2.13214 -10.9924,-4.34058 -16.4245,-6.63274 -0.715306,-0.300958 -1.43167,-0.592379 -2.14486,-0.890158 -12.0065,-5.11947 -23.8054,-10.6395 -35.388,-16.5273 -0.707888,-0.359242 -1.42107,-0.728022 -2.13002,-1.08726 -11.6017,-5.96512 -22.9777,-12.3001 -34.1121,-19.0017 -0.545752,-0.324272 -1.08832,-0.657022 -1.63196,-0.984473 -5.51474,-3.34551 -10.9807,-6.76944 -16.3768,-10.2866l0 0c-36.7,-23.9665 -70.545,-51.9344 -100.87,-83.339 -3.40168,16.6142 -14.4672,85.7424 23.4006,138.715l0 0.00741799 0.00211942 0c0,0 0.00529856,0.00953741 0.00741799,0.00953741 0.632648,0.890158 1.32252,1.74747 1.97954,2.62809 0.684574,0.907114 1.3416,1.82165 2.0569,2.72134 0.483229,0.599797 1.01203,1.189 1.51009,1.78879 0.950562,1.14767 1.88205,2.3017 2.88454,3.43241 0.594499,0.667619 1.24198,1.30768 1.84814,1.97742 0.963278,1.03428 1.90006,2.07916 2.91209,3.08906 1.01414,1.0258 2.09823,2.02829 3.16112,3.02972 0.666559,0.624171 1.29815,1.26636 1.97954,1.89265 1.04594,0.948443 2.16605,1.86615 3.25862,2.79022 0.766172,0.640066 1.49207,1.30768 2.27732,1.94033 0.849889,0.694112 1.76654,1.35431 2.63974,2.02087 1.1021,0.84671 2.16923,1.70402 3.30948,2.52635 0.667619,0.487468 1.38504,0.941025 2.06962,1.41154 1.41154,0.982353 2.81142,1.97742 4.29183,2.91845 0.999309,0.650663 2.06962,1.25046 3.10284,1.87357 1.23033,0.754515 2.42356,1.51645 3.69734,2.23387 0.505483,0.291421 1.05547,0.556349 1.56731,0.840352 4.23355,2.33561 8.66421,4.57054 13.3831,6.63274 1.22503,0.530916 2.52317,1.0258 3.77787,1.54082 1.46452,0.598737 2.89619,1.22291 4.4084,1.78773 0.841412,0.325332 1.74429,0.609335 2.60053,0.917711 1.99862,0.717425 3.98876,1.45287 6.06791,2.11942 0.549991,0.189689 1.14767,0.345466 1.70508,0.51502 8.45332,2.65352 17.5287,4.92978 27.3575,6.70056 3.49599,0.633708 7.07994,1.20807 10.7529,1.72097 13.9628,1.93503 29.2078,3.01276 45.9534,3.01276 4.96157,0 9.7875,-0.0243734 14.552,-0.0678216 53.9309,-0.460975 95.3752,-3.3116 129.213,-4.20176 0.0233137,0 0.0508662,0 0.0720604,-0.0105971l0.00529856 0c1.39988,-0.10915 2.95766,-0.237376 4.53875,-0.365601 0.631589,-0.0508662 1.3151,-0.104912 1.97742,-0.155778 1.28331,-0.101732 2.63762,-0.213002 4.02055,-0.314735 0.720604,-0.0614633 1.43803,-0.11233 2.18301,-0.163196 1.74747,-0.137763 3.57123,-0.267047 5.45434,-0.395273 0.391034,-0.0243734 0.747097,-0.0582842 1.14555,-0.084777 2.16605,-0.14624 4.44655,-0.281883 6.7758,-0.419646 0.827635,-0.0508662 1.68388,-0.0953741 2.53059,-0.14624 1.65951,-0.084777 3.35823,-0.179091 5.0951,-0.25645 0.967517,-0.0508662 1.94563,-0.092195 2.93752,-0.135643 1.92444,-0.0858367 3.90398,-0.163196 5.91002,-0.231017 0.784187,-0.0264928 1.54082,-0.0604036 2.33455,-0.077359 2.66094,-0.084777 5.39606,-0.14624 8.17886,-0.197106 1.04806,-0.0169554 2.13214,-0.0169554 3.19927,-0.0339108 1.90536,-0.0264928 3.83404,-0.0339108 5.78921,-0.0339108 1.23033,-0.00953741 2.46701,0 3.71641,0.00741799 2.02087,0.00953741 4.06612,0.0339108 6.12938,0.0678216 1.12965,0.0169554 2.24129,0.0264928 3.38896,0.0540453 3.01276,0.0752396 6.06791,0.169554 9.15909,0.297779 1.17098,0.0508662 2.36952,0.118688 3.55851,0.172733 2.1332,0.101732 4.28018,0.22042 6.45365,0.359242 1.37127,0.0752396 2.74889,0.169554 4.13394,0.273406 2.16711,0.152599 4.35754,0.325332 6.55538,0.511841 1.26954,0.104912 2.52635,0.206644 3.80225,0.325332 78.1856,7.31943 143.473,20.2341 180.576,119.988 0.162136,-0.0243734 -0.0604036,0.00953741 0.101732,-0.00741799 -1.32676,-47.3999 -18.0162,-100.661 -34.5095,-132.356z\" />\n <path id=\"_258514728\" fill=\"#CBA96B\" fill-rule=\"nonzero\" d=\"M166.531 125.26c-6.82137,6.44411 -13.0641,13.1712 -19.3896,19.4288 -4.55888,4.32257 -8.25834,9.23645 -12.2111,13.736 -3.88385,4.5716 -7.68291,9.04041 -11.3834,13.3884 -6.99622,9.02769 -13.3068,17.8615 -19.4182,26.035 -5.61648,8.51585 -10.578,16.6894 -15.3287,24.154 -2.45747,3.66131 -4.41794,7.48051 -6.31271,11.11 -1.91172,3.62634 -3.73866,7.07676 -5.466,10.364 -7.32049,13.1383 -11.2775,23.5023 -14.5424,30.5557 -3.12721,7.05239 -4.79732,10.8175 -4.79732,10.8175 -0.062523,0.155778 -0.137763,0.334869 -0.198166,0.498065 -1.86403,4.92978 0.623111,10.4318 5.55607,12.298 4.9319,1.85768 10.4371,-0.633708 12.3001,-5.56349 0,0 1.45287,-3.85311 4.17739,-11.0655 2.85592,-7.10431 6.29363,-18.2228 12.6477,-30.4794 1.50267,-3.159 3.08906,-6.47802 4.74645,-9.97189 1.64149,-3.50129 3.32538,-7.17213 5.56243,-10.8186 4.27276,-7.36818 8.72249,-15.4474 13.7975,-23.905 5.57303,-8.11316 11.3135,-16.9194 17.7237,-25.9502 3.47374,-4.32257 7.03119,-8.74793 10.6798,-13.2824 3.71641,-4.46881 7.18591,-9.34772 11.5021,-13.6449 4.52709,-4.69664 9.01073,-9.67093 13.7127,-14.6007 -1.28861,-4.48364 -2.40873,-8.89205 -3.35823,-13.1033z\" />\n </g>\n </g>\n </svg>\n <a href=\"https://www.{{ this.appConfig['appDomain'] }}\" target=\"_blank\" title=\"{{ this.appConfig['appName'] | titlecase }}\" rel=\"noopener\">{{ this.appConfig['appDomain'] | titlecase }}</a>\n </div>\n</div>\n", styles: [".sd_container_widget_footer{position:absolute;bottom:0;width:100%;height:28px;background:var(--sd-background-color)}.sd_container_widget_footer_inner{display:flex;align-items:center;justify-content:center;vertical-align:middle;gap:5px;padding:.2em;font-size:.85em;font-family:var(--sd-text-font-family);color:var(--sd-text-color-light);direction:ltr;text-decoration:none;-webkit-box-pack:center;-webkit-box-align:end}.sd_container_widget_footer_inner a{color:var(--sd-text-color-light);text-decoration:none;transition:background-color .3s ease,color .3s ease}.sd_container_widget_footer_inner a:hover{color:var(--sd-text-color-dark);text-decoration:underline}\n"] }]
49
49
  }] });
@@ -58,34 +58,34 @@ class ErrorComponent {
58
58
  // console.debug('changes:', changes);
59
59
  this.cdr.detectChanges();
60
60
  }
61
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ErrorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
62
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: ErrorComponent, isStandalone: false, selector: "sd-app-error", inputs: { error: "error" }, usesOnChanges: true, ngImport: i0, template: "<main class=\"container_error\" [ngSwitch]=\"error?.status\">\n <ng-container *ngSwitchCase=\"400\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_bad-request.png\" alt=\"Bad Request\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Invalid Request</h1>\n <span class=\"sd_error_message\">Oops! Invalid or missing parameters. Please check and try again.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"403\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_forbidden.png\" alt=\"Access Forbidden\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Access Denied</h1>\n <span class=\"sd_error_message\">Oops! You don't have permission to access this page.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"404\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_page-not-found.png\" alt=\"Page Not Found\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Page Not Found</h1>\n <span class=\"sd_error_message\">Oops! The page you're looking for can't be found. It may have been removed, or you may have typed the URL\n incorrectly.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"409\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_bad-request.png\" alt=\"Configuration Error\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Configuration Error</h1>\n <span class=\"sd_error_message\">Oops! Invalid configuration detected. Please review your settings or contact support.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"0\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image sd_error_image_grayscale\" src=\"https://assets.snugdesk.com/error-images/error_no-internet.png\" alt=\"No Internet\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">No Internet</h1>\n <span class=\"sd_error_message\">Oops! You are not connected to the internet. Please check your network connection and try again.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_internal-server.png\" alt=\"Internal Server Error\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Internal Server Error</h1>\n <span class=\"sd_error_message\">Oops! We're sorry, but the server encountered an error.</span>\n </div>\n </ng-container>\n</main>\n\n<sd-app-footer></sd-app-footer>\n", styles: [".sd_container_error_image{width:278px;margin:0 auto;padding:80px 0 25px}.sd_container_error_image .sd_error_image{width:100%;margin:0;padding:0}.sd_container_error_image .sd_error_image_grayscale{filter:grayscale(100%)}.sd_container_error_message{width:85%;margin:0 auto;padding:0 0 25px;text-align:center;color:var(--sd-text-color);font-size:13px;font-weight:600;font-family:var(--sd-text-font-family)}.sd_container_error_message .sd_error_title{margin:0;padding:0 0 10px;font-size:31px;font-weight:700;letter-spacing:-2px;color:var(--sd-text-color-dark);font-family:var(--sd-text-font-family)}.sd_container_error_message .sd_error_message{display:block;padding-bottom:16px;font-size:13px;font-weight:600;line-height:1.5em;letter-spacing:-.26px;color:var(--sd-text-color);font-family:var(--sd-text-font-family)}@media screen and (min-width: 980px){.sd_container_error_image{width:478px}.sd_container_error_message{width:520px}}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: FooterComponent, selector: "sd-app-footer" }] });
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ErrorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
62
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.20", type: ErrorComponent, isStandalone: false, selector: "sd-app-error", inputs: { error: "error" }, usesOnChanges: true, ngImport: i0, template: "<main class=\"container_error\" [ngSwitch]=\"error?.status\">\n <ng-container *ngSwitchCase=\"400\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_bad-request.png\" alt=\"Bad Request\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Invalid Request</h1>\n <span class=\"sd_error_message\">Oops! Invalid or missing parameters. Please check and try again.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"403\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_forbidden.png\" alt=\"Access Forbidden\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Access Denied</h1>\n <span class=\"sd_error_message\">Oops! You don't have permission to access this page.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"404\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_page-not-found.png\" alt=\"Page Not Found\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Page Not Found</h1>\n <span class=\"sd_error_message\">Oops! The page you're looking for can't be found. It may have been removed, or you may have typed the URL\n incorrectly.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"409\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_bad-request.png\" alt=\"Configuration Error\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Configuration Error</h1>\n <span class=\"sd_error_message\">Oops! Invalid configuration detected. Please review your settings or contact support.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"0\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image sd_error_image_grayscale\" src=\"https://assets.snugdesk.com/error-images/error_no-internet.png\" alt=\"No Internet\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">No Internet</h1>\n <span class=\"sd_error_message\">Oops! You are not connected to the internet. Please check your network connection and try again.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_internal-server.png\" alt=\"Internal Server Error\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Internal Server Error</h1>\n <span class=\"sd_error_message\">Oops! We're sorry, but the server encountered an error.</span>\n </div>\n </ng-container>\n</main>\n\n<sd-app-footer></sd-app-footer>\n", styles: [".sd_container_error_image{width:278px;margin:0 auto;padding:80px 0 25px}.sd_container_error_image .sd_error_image{width:100%;margin:0;padding:0}.sd_container_error_image .sd_error_image_grayscale{filter:grayscale(100%)}.sd_container_error_message{width:85%;margin:0 auto;padding:0 0 25px;text-align:center;color:var(--sd-text-color);font-size:13px;font-weight:600;font-family:var(--sd-text-font-family)}.sd_container_error_message .sd_error_title{margin:0;padding:0 0 10px;font-size:31px;font-weight:700;letter-spacing:-2px;color:var(--sd-text-color-dark);font-family:var(--sd-text-font-family)}.sd_container_error_message .sd_error_message{display:block;padding-bottom:16px;font-size:13px;font-weight:600;line-height:1.5em;letter-spacing:-.26px;color:var(--sd-text-color);font-family:var(--sd-text-font-family)}@media screen and (min-width:980px){.sd_container_error_image{width:478px}.sd_container_error_message{width:520px}}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: FooterComponent, selector: "sd-app-footer" }] });
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ErrorComponent, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ErrorComponent, decorators: [{
65
65
  type: Component,
66
- args: [{ selector: 'sd-app-error', standalone: false, template: "<main class=\"container_error\" [ngSwitch]=\"error?.status\">\n <ng-container *ngSwitchCase=\"400\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_bad-request.png\" alt=\"Bad Request\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Invalid Request</h1>\n <span class=\"sd_error_message\">Oops! Invalid or missing parameters. Please check and try again.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"403\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_forbidden.png\" alt=\"Access Forbidden\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Access Denied</h1>\n <span class=\"sd_error_message\">Oops! You don't have permission to access this page.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"404\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_page-not-found.png\" alt=\"Page Not Found\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Page Not Found</h1>\n <span class=\"sd_error_message\">Oops! The page you're looking for can't be found. It may have been removed, or you may have typed the URL\n incorrectly.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"409\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_bad-request.png\" alt=\"Configuration Error\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Configuration Error</h1>\n <span class=\"sd_error_message\">Oops! Invalid configuration detected. Please review your settings or contact support.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"0\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image sd_error_image_grayscale\" src=\"https://assets.snugdesk.com/error-images/error_no-internet.png\" alt=\"No Internet\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">No Internet</h1>\n <span class=\"sd_error_message\">Oops! You are not connected to the internet. Please check your network connection and try again.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_internal-server.png\" alt=\"Internal Server Error\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Internal Server Error</h1>\n <span class=\"sd_error_message\">Oops! We're sorry, but the server encountered an error.</span>\n </div>\n </ng-container>\n</main>\n\n<sd-app-footer></sd-app-footer>\n", styles: [".sd_container_error_image{width:278px;margin:0 auto;padding:80px 0 25px}.sd_container_error_image .sd_error_image{width:100%;margin:0;padding:0}.sd_container_error_image .sd_error_image_grayscale{filter:grayscale(100%)}.sd_container_error_message{width:85%;margin:0 auto;padding:0 0 25px;text-align:center;color:var(--sd-text-color);font-size:13px;font-weight:600;font-family:var(--sd-text-font-family)}.sd_container_error_message .sd_error_title{margin:0;padding:0 0 10px;font-size:31px;font-weight:700;letter-spacing:-2px;color:var(--sd-text-color-dark);font-family:var(--sd-text-font-family)}.sd_container_error_message .sd_error_message{display:block;padding-bottom:16px;font-size:13px;font-weight:600;line-height:1.5em;letter-spacing:-.26px;color:var(--sd-text-color);font-family:var(--sd-text-font-family)}@media screen and (min-width: 980px){.sd_container_error_image{width:478px}.sd_container_error_message{width:520px}}\n"] }]
66
+ args: [{ selector: 'sd-app-error', standalone: false, template: "<main class=\"container_error\" [ngSwitch]=\"error?.status\">\n <ng-container *ngSwitchCase=\"400\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_bad-request.png\" alt=\"Bad Request\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Invalid Request</h1>\n <span class=\"sd_error_message\">Oops! Invalid or missing parameters. Please check and try again.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"403\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_forbidden.png\" alt=\"Access Forbidden\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Access Denied</h1>\n <span class=\"sd_error_message\">Oops! You don't have permission to access this page.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"404\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_page-not-found.png\" alt=\"Page Not Found\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Page Not Found</h1>\n <span class=\"sd_error_message\">Oops! The page you're looking for can't be found. It may have been removed, or you may have typed the URL\n incorrectly.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"409\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_bad-request.png\" alt=\"Configuration Error\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Configuration Error</h1>\n <span class=\"sd_error_message\">Oops! Invalid configuration detected. Please review your settings or contact support.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"0\">\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image sd_error_image_grayscale\" src=\"https://assets.snugdesk.com/error-images/error_no-internet.png\" alt=\"No Internet\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">No Internet</h1>\n <span class=\"sd_error_message\">Oops! You are not connected to the internet. Please check your network connection and try again.</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <div class=\"sd_container_error_image\">\n <img class=\"sd_error_image\" src=\"https://assets.snugdesk.com/error-images/error_internal-server.png\" alt=\"Internal Server Error\" />\n </div>\n <div class=\"sd_container_error_message\" aria-live=\"polite\">\n <h1 class=\"sd_error_title\">Internal Server Error</h1>\n <span class=\"sd_error_message\">Oops! We're sorry, but the server encountered an error.</span>\n </div>\n </ng-container>\n</main>\n\n<sd-app-footer></sd-app-footer>\n", styles: [".sd_container_error_image{width:278px;margin:0 auto;padding:80px 0 25px}.sd_container_error_image .sd_error_image{width:100%;margin:0;padding:0}.sd_container_error_image .sd_error_image_grayscale{filter:grayscale(100%)}.sd_container_error_message{width:85%;margin:0 auto;padding:0 0 25px;text-align:center;color:var(--sd-text-color);font-size:13px;font-weight:600;font-family:var(--sd-text-font-family)}.sd_container_error_message .sd_error_title{margin:0;padding:0 0 10px;font-size:31px;font-weight:700;letter-spacing:-2px;color:var(--sd-text-color-dark);font-family:var(--sd-text-font-family)}.sd_container_error_message .sd_error_message{display:block;padding-bottom:16px;font-size:13px;font-weight:600;line-height:1.5em;letter-spacing:-.26px;color:var(--sd-text-color);font-family:var(--sd-text-font-family)}@media screen and (min-width:980px){.sd_container_error_image{width:478px}.sd_container_error_message{width:520px}}\n"] }]
67
67
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { error: [{
68
68
  type: Input,
69
69
  args: ['error']
70
70
  }] } });
71
71
 
72
72
  class LoaderComponent {
73
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
74
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: LoaderComponent, isStandalone: false, selector: "sd-app-loader", ngImport: i0, template: "<div class=\"sd_container_loader\">\n <!-- <div class=\"sd_loader_logo\">\n <span class=\"sd_logo\"></span>\n </div> -->\n <div class=\"sd_container_css_loader\">\n <div class=\"sd_cssload_loader\">\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n </div>\n </div>\n <sd-app-footer></sd-app-footer>\n</div>\n", styles: [".sd_container_loader{position:absolute;inset:0;width:100%;height:100%;background:#fff;z-index:9999999999999}.sd_loader_logo{margin:0 auto;width:120px;padding-top:42px;text-align:center}.sd_loader_logo .sd_logo{display:block;width:120px;height:120px;background:url(https://assets.snugdesk.com/logo/snugdesk.svg) no-repeat center;background-size:contain;cursor:default}.sd_container_css_loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.sd_cssload_loader{display:flex;gap:5px}.sd_cssload_loader{position:absolute;left:50%;height:12px;width:62px;-o-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.sd_cssload_loader>.sd_cssload_dot{content:\" \";width:12px;height:12px;background:var(--sd-background-color);border-radius:100%;position:absolute;-o-animation:sd_cssload_shift 2.3s linear infinite;-ms-animation:sd_cssload_shift 2.3s linear infinite;-webkit-animation:sd_cssload_shift 2.3s linear infinite;-moz-animation:sd_cssload_shift 2.3s linear infinite;animation:sd_cssload_shift 2.3s linear infinite}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(1){-o-animation-delay:-.46s;-ms-animation-delay:-.46s;-webkit-animation-delay:-.46s;-moz-animation-delay:-.46s;animation-delay:-.46s}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(2){-o-animation-delay:-.92s;-ms-animation-delay:-.92s;-webkit-animation-delay:-.92s;-moz-animation-delay:-.92s;animation-delay:-.92s}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(3){-o-animation-delay:-1.38s;-ms-animation-delay:-1.38s;-webkit-animation-delay:-1.38s;-moz-animation-delay:-1.38s;animation-delay:-1.38s}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(4){-o-animation-delay:-1.84s;-ms-animation-delay:-1.84s;-webkit-animation-delay:-1.84s;-moz-animation-delay:-1.84s;animation-delay:-1.84s}@keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-o-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-ms-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-webkit-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-moz-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@media (max-width: 979px){.sd_loader_logo{width:110px;padding-top:37px}.sd_loader_logo .sd_logo{width:110px;height:110px;background-size:contain}}\n"], dependencies: [{ kind: "component", type: FooterComponent, selector: "sd-app-footer" }] });
73
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
74
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.20", type: LoaderComponent, isStandalone: false, selector: "sd-app-loader", ngImport: i0, template: "<div class=\"sd_container_loader\">\n <!-- <div class=\"sd_loader_logo\">\n <span class=\"sd_logo\"></span>\n </div> -->\n <div class=\"sd_container_css_loader\">\n <div class=\"sd_cssload_loader\">\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n </div>\n </div>\n <sd-app-footer></sd-app-footer>\n</div>\n", styles: [".sd_container_loader{position:absolute;inset:0;width:100%;height:100%;background:#fff;z-index:9999999999999}.sd_loader_logo{margin:0 auto;width:120px;padding-top:42px;text-align:center}.sd_loader_logo .sd_logo{display:block;width:120px;height:120px;background:url(https://assets.snugdesk.com/logo/snugdesk.svg) no-repeat center;background-size:contain;cursor:default}.sd_container_css_loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.sd_cssload_loader{display:flex;gap:5px}.sd_cssload_loader{position:absolute;left:50%;height:12px;width:62px;-o-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.sd_cssload_loader>.sd_cssload_dot{content:\" \";width:12px;height:12px;background:var(--sd-background-color);border-radius:100%;position:absolute;-o-animation:sd_cssload_shift 2.3s linear infinite;-ms-animation:sd_cssload_shift 2.3s linear infinite;-webkit-animation:sd_cssload_shift 2.3s linear infinite;-moz-animation:sd_cssload_shift 2.3s linear infinite;animation:sd_cssload_shift 2.3s linear infinite}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(1){-o-animation-delay:-.46s;-ms-animation-delay:-.46s;-webkit-animation-delay:-.46s;-moz-animation-delay:-.46s;animation-delay:-.46s}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(2){-o-animation-delay:-.92s;-ms-animation-delay:-.92s;-webkit-animation-delay:-.92s;-moz-animation-delay:-.92s;animation-delay:-.92s}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(3){-o-animation-delay:-1.38s;-ms-animation-delay:-1.38s;-webkit-animation-delay:-1.38s;-moz-animation-delay:-1.38s;animation-delay:-1.38s}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(4){-o-animation-delay:-1.84s;-ms-animation-delay:-1.84s;-webkit-animation-delay:-1.84s;-moz-animation-delay:-1.84s;animation-delay:-1.84s}@keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-o-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-ms-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-webkit-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-moz-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@media(max-width:979px){.sd_loader_logo{width:110px;padding-top:37px}.sd_loader_logo .sd_logo{width:110px;height:110px;background-size:contain}}\n"], dependencies: [{ kind: "component", type: FooterComponent, selector: "sd-app-footer" }] });
75
75
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: LoaderComponent, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: LoaderComponent, decorators: [{
77
77
  type: Component,
78
- args: [{ selector: 'sd-app-loader', standalone: false, template: "<div class=\"sd_container_loader\">\n <!-- <div class=\"sd_loader_logo\">\n <span class=\"sd_logo\"></span>\n </div> -->\n <div class=\"sd_container_css_loader\">\n <div class=\"sd_cssload_loader\">\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n </div>\n </div>\n <sd-app-footer></sd-app-footer>\n</div>\n", styles: [".sd_container_loader{position:absolute;inset:0;width:100%;height:100%;background:#fff;z-index:9999999999999}.sd_loader_logo{margin:0 auto;width:120px;padding-top:42px;text-align:center}.sd_loader_logo .sd_logo{display:block;width:120px;height:120px;background:url(https://assets.snugdesk.com/logo/snugdesk.svg) no-repeat center;background-size:contain;cursor:default}.sd_container_css_loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.sd_cssload_loader{display:flex;gap:5px}.sd_cssload_loader{position:absolute;left:50%;height:12px;width:62px;-o-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.sd_cssload_loader>.sd_cssload_dot{content:\" \";width:12px;height:12px;background:var(--sd-background-color);border-radius:100%;position:absolute;-o-animation:sd_cssload_shift 2.3s linear infinite;-ms-animation:sd_cssload_shift 2.3s linear infinite;-webkit-animation:sd_cssload_shift 2.3s linear infinite;-moz-animation:sd_cssload_shift 2.3s linear infinite;animation:sd_cssload_shift 2.3s linear infinite}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(1){-o-animation-delay:-.46s;-ms-animation-delay:-.46s;-webkit-animation-delay:-.46s;-moz-animation-delay:-.46s;animation-delay:-.46s}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(2){-o-animation-delay:-.92s;-ms-animation-delay:-.92s;-webkit-animation-delay:-.92s;-moz-animation-delay:-.92s;animation-delay:-.92s}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(3){-o-animation-delay:-1.38s;-ms-animation-delay:-1.38s;-webkit-animation-delay:-1.38s;-moz-animation-delay:-1.38s;animation-delay:-1.38s}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(4){-o-animation-delay:-1.84s;-ms-animation-delay:-1.84s;-webkit-animation-delay:-1.84s;-moz-animation-delay:-1.84s;animation-delay:-1.84s}@keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-o-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-ms-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-webkit-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-moz-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@media (max-width: 979px){.sd_loader_logo{width:110px;padding-top:37px}.sd_loader_logo .sd_logo{width:110px;height:110px;background-size:contain}}\n"] }]
78
+ args: [{ selector: 'sd-app-loader', standalone: false, template: "<div class=\"sd_container_loader\">\n <!-- <div class=\"sd_loader_logo\">\n <span class=\"sd_logo\"></span>\n </div> -->\n <div class=\"sd_container_css_loader\">\n <div class=\"sd_cssload_loader\">\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n <div class=\"sd_cssload_dot\"></div>\n </div>\n </div>\n <sd-app-footer></sd-app-footer>\n</div>\n", styles: [".sd_container_loader{position:absolute;inset:0;width:100%;height:100%;background:#fff;z-index:9999999999999}.sd_loader_logo{margin:0 auto;width:120px;padding-top:42px;text-align:center}.sd_loader_logo .sd_logo{display:block;width:120px;height:120px;background:url(https://assets.snugdesk.com/logo/snugdesk.svg) no-repeat center;background-size:contain;cursor:default}.sd_container_css_loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.sd_cssload_loader{display:flex;gap:5px}.sd_cssload_loader{position:absolute;left:50%;height:12px;width:62px;-o-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.sd_cssload_loader>.sd_cssload_dot{content:\" \";width:12px;height:12px;background:var(--sd-background-color);border-radius:100%;position:absolute;-o-animation:sd_cssload_shift 2.3s linear infinite;-ms-animation:sd_cssload_shift 2.3s linear infinite;-webkit-animation:sd_cssload_shift 2.3s linear infinite;-moz-animation:sd_cssload_shift 2.3s linear infinite;animation:sd_cssload_shift 2.3s linear infinite}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(1){-o-animation-delay:-.46s;-ms-animation-delay:-.46s;-webkit-animation-delay:-.46s;-moz-animation-delay:-.46s;animation-delay:-.46s}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(2){-o-animation-delay:-.92s;-ms-animation-delay:-.92s;-webkit-animation-delay:-.92s;-moz-animation-delay:-.92s;animation-delay:-.92s}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(3){-o-animation-delay:-1.38s;-ms-animation-delay:-1.38s;-webkit-animation-delay:-1.38s;-moz-animation-delay:-1.38s;animation-delay:-1.38s}.sd_cssload_loader>.sd_cssload_dot:nth-of-type(4){-o-animation-delay:-1.84s;-ms-animation-delay:-1.84s;-webkit-animation-delay:-1.84s;-moz-animation-delay:-1.84s;animation-delay:-1.84s}@keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-o-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-ms-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-webkit-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@-moz-keyframes sd_cssload_shift{0%{left:-37px;opacity:0;background-color:var(--sd-app-color-light)}10%{left:0;opacity:1}90%{left:62px;opacity:1}to{left:100px;background-color:var(--sd-app-color-dark);opacity:0}}@media(max-width:979px){.sd_loader_logo{width:110px;padding-top:37px}.sd_loader_logo .sd_logo{width:110px;height:110px;background-size:contain}}\n"] }]
79
79
  }] });
80
80
 
81
81
  class DomainNamePipe {
82
82
  transform(value, args) {
83
83
  return value.replace(/[/ /^\W\s\_]/gi, '');
84
84
  }
85
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DomainNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
86
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: DomainNamePipe, isStandalone: false, name: "domainName" });
85
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: DomainNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
86
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: DomainNamePipe, isStandalone: false, name: "domainName" });
87
87
  }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DomainNamePipe, decorators: [{
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: DomainNamePipe, decorators: [{
89
89
  type: Pipe,
90
90
  args: [{
91
91
  name: 'domainName',
@@ -161,10 +161,10 @@ class FormatEpochTimestampPipe {
161
161
  return 'MMMM d, y, h:mm:ss A z Z';
162
162
  }
163
163
  }
164
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: FormatEpochTimestampPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
165
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: FormatEpochTimestampPipe, isStandalone: false, name: "formatEpochTimestamp" });
164
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: FormatEpochTimestampPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
165
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: FormatEpochTimestampPipe, isStandalone: false, name: "formatEpochTimestamp" });
166
166
  }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: FormatEpochTimestampPipe, decorators: [{
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: FormatEpochTimestampPipe, decorators: [{
168
168
  type: Pipe,
169
169
  args: [{
170
170
  name: 'formatEpochTimestamp',
@@ -180,10 +180,10 @@ class SafeHtmlPipe {
180
180
  transform(value, args) {
181
181
  return this.sanitized.bypassSecurityTrustHtml(value);
182
182
  }
183
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
184
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: SafeHtmlPipe, isStandalone: false, name: "safeHtml" });
183
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
184
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: SafeHtmlPipe, isStandalone: false, name: "safeHtml" });
185
185
  }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SafeHtmlPipe, decorators: [{
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SafeHtmlPipe, decorators: [{
187
187
  type: Pipe,
188
188
  args: [{
189
189
  name: 'safeHtml',
@@ -201,10 +201,10 @@ class SearchPipe {
201
201
  return item[field].toLowerCase().includes(value.toLowerCase());
202
202
  });
203
203
  }
204
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SearchPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
205
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: SearchPipe, isStandalone: false, name: "SearchFilter" });
204
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SearchPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
205
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: SearchPipe, isStandalone: false, name: "SearchFilter" });
206
206
  }
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SearchPipe, decorators: [{
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SearchPipe, decorators: [{
208
208
  type: Pipe,
209
209
  args: [{
210
210
  name: 'SearchFilter',
@@ -218,15 +218,18 @@ class SearchInnerFieldPipe {
218
218
  return [];
219
219
  if (!value)
220
220
  return items;
221
+ const query = value.toLowerCase();
221
222
  return items.filter((item) => {
222
- const innerItem = item[field];
223
- return innerItem[innerfield].toLowerCase().includes(value.toLowerCase());
223
+ const innerValue = item?.[field]?.[innerfield];
224
+ if (innerValue === null || innerValue === undefined)
225
+ return false;
226
+ return String(innerValue).toLowerCase().includes(query);
224
227
  });
225
228
  }
226
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SearchInnerFieldPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
227
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: SearchInnerFieldPipe, isStandalone: false, name: "SearchFilterInnerField" });
229
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SearchInnerFieldPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
230
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: SearchInnerFieldPipe, isStandalone: false, name: "SearchFilterInnerField" });
228
231
  }
229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SearchInnerFieldPipe, decorators: [{
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SearchInnerFieldPipe, decorators: [{
230
233
  type: Pipe,
231
234
  args: [{
232
235
  name: 'SearchFilterInnerField',
@@ -238,10 +241,10 @@ class SingularizePipe {
238
241
  transform(value, count = 1) {
239
242
  return count > 1 ? plural(value) : singular(value);
240
243
  }
241
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SingularizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
242
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: SingularizePipe, isStandalone: false, name: "singularize" });
244
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SingularizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
245
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: SingularizePipe, isStandalone: false, name: "singularize" });
243
246
  }
244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SingularizePipe, decorators: [{
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SingularizePipe, decorators: [{
245
248
  type: Pipe,
246
249
  args: [{
247
250
  name: 'singularize',
@@ -440,8 +443,8 @@ function plural(word, amount) {
440
443
  }
441
444
 
442
445
  class CustomPipesModule {
443
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CustomPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
444
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: CustomPipesModule, declarations: [DomainNamePipe,
446
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: CustomPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
447
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: CustomPipesModule, declarations: [DomainNamePipe,
445
448
  FormatEpochTimestampPipe,
446
449
  SafeHtmlPipe,
447
450
  SearchPipe,
@@ -452,9 +455,9 @@ class CustomPipesModule {
452
455
  SearchPipe,
453
456
  SearchInnerFieldPipe,
454
457
  SingularizePipe] });
455
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CustomPipesModule, imports: [CommonModule] });
458
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: CustomPipesModule, imports: [CommonModule] });
456
459
  }
457
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CustomPipesModule, decorators: [{
460
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: CustomPipesModule, decorators: [{
458
461
  type: NgModule,
459
462
  args: [{
460
463
  declarations: [
@@ -481,19 +484,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
481
484
  }] });
482
485
 
483
486
  class SnugdeskCoreModule {
484
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SnugdeskCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
485
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: SnugdeskCoreModule, declarations: [ErrorComponent, FooterComponent, LoaderComponent], imports: [CommonModule,
487
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SnugdeskCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
488
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: SnugdeskCoreModule, declarations: [ErrorComponent, FooterComponent, LoaderComponent], imports: [CommonModule,
486
489
  FormsModule,
487
490
  ReactiveFormsModule,
488
491
  // ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: 'never' }),
489
492
  CustomPipesModule], exports: [ErrorComponent, FooterComponent, LoaderComponent] });
490
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SnugdeskCoreModule, imports: [CommonModule,
493
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SnugdeskCoreModule, imports: [CommonModule,
491
494
  FormsModule,
492
495
  ReactiveFormsModule,
493
496
  // ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: 'never' }),
494
497
  CustomPipesModule] });
495
498
  }
496
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SnugdeskCoreModule, decorators: [{
499
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SnugdeskCoreModule, decorators: [{
497
500
  type: NgModule,
498
501
  args: [{
499
502
  declarations: [ErrorComponent, FooterComponent, LoaderComponent],
@@ -508,74 +511,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
508
511
  }]
509
512
  }] });
510
513
 
511
- class SnugdeskIPRegistryService {
512
- http;
513
- IP_REGISTRY_API = 'https://api.ipregistry.co/?key=1lbzl1iexwbxc0';
514
- SESSION_KEY = 'sd-ip-details';
515
- constructor(http) {
516
- this.http = http;
517
- }
518
- get cachedIPDetails() {
519
- const value = sessionStorage.getItem(this.SESSION_KEY);
520
- return value ? JSON.parse(value) : null;
521
- }
522
- set cachedIPDetails(details) {
523
- sessionStorage.setItem(this.SESSION_KEY, JSON.stringify(details));
524
- }
525
- // prettier-ignore
526
- async getIPDetails() {
527
- if (this.cachedIPDetails)
528
- return this.cachedIPDetails;
529
- try {
530
- const ipDetails = await lastValueFrom(this.http.get(this.IP_REGISTRY_API));
531
- // console.log('Fetched IP details:', ipDetails);
532
- this.cachedIPDetails = ipDetails;
533
- }
534
- catch (error) {
535
- console.warn('Error fetching IP details:', error);
536
- this.cachedIPDetails = {};
537
- }
538
- return this.cachedIPDetails;
539
- }
540
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SnugdeskIPRegistryService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
541
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SnugdeskIPRegistryService, providedIn: 'root' });
542
- }
543
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SnugdeskIPRegistryService, decorators: [{
544
- type: Injectable,
545
- args: [{ providedIn: 'root' }]
546
- }], ctorParameters: () => [{ type: i1$2.HttpClient }] });
547
-
548
- class SnugdeskAuthenticationHelperService {
549
- httpClient;
550
- ipRegistryService;
551
- headers = new HttpHeaders({
552
- 'Content-Type': 'application/json',
553
- });
554
- authEndpointURL = 'https://api.snugdesk.com/auth';
555
- constructor(httpClient, ipRegistryService) {
556
- this.httpClient = httpClient;
557
- this.ipRegistryService = ipRegistryService;
558
- }
559
- async getSessionToken(tenantId, userId) {
560
- const ipDetails = await this.ipRegistryService.getIPDetails();
561
- return lastValueFrom(this.httpClient.post(`${this.authEndpointURL}/library`, {
562
- tenantId,
563
- userId,
564
- ipDetails,
565
- }, { headers: this.headers }));
566
- }
567
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SnugdeskAuthenticationHelperService, deps: [{ token: i1$2.HttpClient }, { token: SnugdeskIPRegistryService }], target: i0.ɵɵFactoryTarget.Injectable });
568
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SnugdeskAuthenticationHelperService, providedIn: 'root' });
569
- }
570
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SnugdeskAuthenticationHelperService, decorators: [{
571
- type: Injectable,
572
- args: [{
573
- providedIn: 'root',
574
- }]
575
- }], ctorParameters: () => [{ type: i1$2.HttpClient }, { type: SnugdeskIPRegistryService }] });
576
-
577
514
  class SnugdeskAuthenticationService {
578
- authenticationHelperService;
579
515
  isAuthenticated$ = new BehaviorSubject(false);
580
516
  tenant$ = new BehaviorSubject(undefined);
581
517
  user$ = new BehaviorSubject(undefined);
@@ -585,18 +521,16 @@ class SnugdeskAuthenticationService {
585
521
  userSessionSubscription;
586
522
  jwtHelper = new JwtHelperService();
587
523
  TOKEN_KEY = 'sd-authSessionToken';
588
- constructor(authenticationHelperService) {
589
- this.authenticationHelperService = authenticationHelperService;
524
+ constructor() {
590
525
  this.isAuthenticated$.next(this.isAuthenticated());
591
526
  }
527
+ // the host supplies a fresh token on every init, so persistence buys nothing.
592
528
  getToken() {
593
- // return sessionStorage.getItem(this.TOKEN_KEY);
594
- return localStorage.getItem(this.TOKEN_KEY);
529
+ return sessionStorage.getItem(this.TOKEN_KEY);
595
530
  }
596
531
  setToken(token) {
597
532
  const isValid = this.checkToken(token);
598
- // token ? sessionStorage.setItem(this.TOKEN_KEY, token) : sessionStorage.removeItem(this.TOKEN_KEY);
599
- token ? localStorage.setItem(this.TOKEN_KEY, token) : localStorage.removeItem(this.TOKEN_KEY);
533
+ token ? sessionStorage.setItem(this.TOKEN_KEY, token) : sessionStorage.removeItem(this.TOKEN_KEY);
600
534
  this.isAuthenticated$.next(isValid);
601
535
  }
602
536
  checkToken(token) {
@@ -663,56 +597,19 @@ class SnugdeskAuthenticationService {
663
597
  return false;
664
598
  }
665
599
  }
666
- // prettier-ignore
667
- async authenticate(token, tenantId, userId) {
668
- if (!token && (!tenantId || !userId)) {
669
- console.warn('Missing parameters: token, tenantId, or userId');
670
- return false;
671
- }
672
- // @saurabh: Replace the existing token if a new token is provided
673
- /*
674
- const existingToken = this.getToken();
675
- if (token && existingToken && existingToken !== token) {
676
- console.warn('Token mismatch: Existing token does not match the provided token');
677
- return false;
678
- }
679
- */
680
- const decodedToken = this.jwtHelper.decodeToken(token);
681
- if (token && tenantId && decodedToken?.tenantId !== tenantId) {
682
- console.warn('Tenant ID mismatch: Token does not match the provided tenantId');
683
- return false;
684
- }
685
- if (token && userId && decodedToken?.userId !== userId) {
686
- console.warn('User ID mismatch: Token does not match the provided userId');
687
- return false;
688
- }
689
- if (tenantId && this.isAuthenticated() && tenantId !== this.getTenantId()) {
690
- console.warn('Tenant ID mismatch: Authenticated tenant does not match the provided tenantId');
691
- return false;
692
- }
693
- if (userId && this.isAuthenticated() && userId !== this.getUserId()) {
694
- console.warn('User ID mismatch: Authenticated user does not match the provided userId');
600
+ /**
601
+ * Establishes a session from a token issued by the host's backend. The token
602
+ * carries tenantId, userId and userSessionId, so nothing else is needed — read
603
+ * them back with getTenantId() / getUserId() once this resolves.
604
+ */
605
+ async authenticate(token) {
606
+ if (!this.checkToken(token)) {
607
+ console.error('A Snugdesk-issued token is required. Fetch one from your backend via POST /auth/library using your tenant integration credential, then pass it to the widget.');
695
608
  return false;
696
609
  }
697
- if (token) {
698
- this.setToken(token);
699
- // console.debug('Login Success - Token set in authentication service: ', token);
700
- }
701
- else if (!this.isAuthenticated()) {
702
- const res_login = await this.login(tenantId, userId);
703
- // console.debug('Login Success: ', res_login);
704
- }
705
- this.isAuthenticated$.next(true);
706
- return true;
707
- }
708
- async login(tenantId, userId) {
709
- const res_getSessionToken = await this.authenticationHelperService.getSessionToken(tenantId, userId);
710
- // console.debug('res_getSessionToken: ', res_getSessionToken);
711
- const sessionToken = res_getSessionToken?.data?.sessionToken;
712
- if (!sessionToken) {
713
- throw new Error(`Invalid response: ${JSON.stringify(res_getSessionToken)}`);
714
- }
715
- this.setToken(sessionToken);
610
+ // A newly supplied token always replaces whatever is stored, so switching
611
+ // user in the same tab works without the host clearing storage first.
612
+ this.setToken(token);
716
613
  this.isAuthenticated$.next(true);
717
614
  return true;
718
615
  }
@@ -750,22 +647,21 @@ class SnugdeskAuthenticationService {
750
647
  console.error(error);
751
648
  }
752
649
  finally {
753
- // sessionStorage.removeItem(this.TOKEN_KEY);
754
- localStorage.removeItem(this.TOKEN_KEY);
650
+ sessionStorage.removeItem(this.TOKEN_KEY);
755
651
  this.userSessionSubscription?.unsubscribe();
756
652
  this.isAuthenticated$?.next(false);
757
653
  this.userSession$?.next(null);
758
654
  }
759
655
  }
760
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SnugdeskAuthenticationService, deps: [{ token: SnugdeskAuthenticationHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
761
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SnugdeskAuthenticationService, providedIn: 'root' });
656
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SnugdeskAuthenticationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
657
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SnugdeskAuthenticationService, providedIn: 'root' });
762
658
  }
763
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SnugdeskAuthenticationService, decorators: [{
659
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SnugdeskAuthenticationService, decorators: [{
764
660
  type: Injectable,
765
661
  args: [{
766
662
  providedIn: 'root',
767
663
  }]
768
- }], ctorParameters: () => [{ type: SnugdeskAuthenticationHelperService }] });
664
+ }], ctorParameters: () => [] });
769
665
 
770
666
  const AMPLIFY_CONFIG = new InjectionToken('AMPLIFY_CONFIG');
771
667
  function provideAmplifyConfig(config) {
@@ -941,10 +837,10 @@ class AppSyncHelperService {
941
837
  }
942
838
  return token;
943
839
  }
944
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AppSyncHelperService, deps: [{ token: AMPLIFY_CONFIG, optional: true }, { token: SnugdeskAuthenticationService }], target: i0.ɵɵFactoryTarget.Injectable });
945
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AppSyncHelperService, providedIn: 'root' });
840
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: AppSyncHelperService, deps: [{ token: AMPLIFY_CONFIG, optional: true }, { token: SnugdeskAuthenticationService }], target: i0.ɵɵFactoryTarget.Injectable });
841
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: AppSyncHelperService, providedIn: 'root' });
946
842
  }
947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AppSyncHelperService, decorators: [{
843
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: AppSyncHelperService, decorators: [{
948
844
  type: Injectable,
949
845
  args: [{
950
846
  providedIn: 'root',
@@ -994,10 +890,10 @@ class OpenSearchHelperService {
994
890
  id,
995
891
  };
996
892
  }
997
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: OpenSearchHelperService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
998
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: OpenSearchHelperService, providedIn: 'root' });
893
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: OpenSearchHelperService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
894
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: OpenSearchHelperService, providedIn: 'root' });
999
895
  }
1000
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: OpenSearchHelperService, decorators: [{
896
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: OpenSearchHelperService, decorators: [{
1001
897
  type: Injectable,
1002
898
  args: [{
1003
899
  providedIn: 'root',
@@ -1094,10 +990,10 @@ class S3HelperService {
1094
990
  throw new Error('Decryption failed.');
1095
991
  }
1096
992
  }
1097
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: S3HelperService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1098
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: S3HelperService, providedIn: 'root' });
993
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: S3HelperService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
994
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: S3HelperService, providedIn: 'root' });
1099
995
  }
1100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: S3HelperService, decorators: [{
996
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: S3HelperService, decorators: [{
1101
997
  type: Injectable,
1102
998
  args: [{
1103
999
  providedIn: 'root',
@@ -1112,9 +1008,17 @@ var BillingAccountStatus;
1112
1008
  BillingAccountStatus["PENDING_KYC"] = "PENDING_KYC";
1113
1009
  BillingAccountStatus["ACTIVE"] = "ACTIVE";
1114
1010
  BillingAccountStatus["NO_BALANCE"] = "NO_BALANCE";
1011
+ BillingAccountStatus["SUSPENDED"] = "SUSPENDED";
1115
1012
  BillingAccountStatus["BLOCKED"] = "BLOCKED";
1116
1013
  BillingAccountStatus["TERMINATED"] = "TERMINATED";
1117
1014
  })(BillingAccountStatus || (BillingAccountStatus = {}));
1015
+ // PREPAID pays before use; POSTPAID may run negative up to creditLimitMicros and is
1016
+ // not auto-suspended on balance. Absent = PREPAID.
1017
+ var BillingMode;
1018
+ (function (BillingMode) {
1019
+ BillingMode["PREPAID"] = "PREPAID";
1020
+ BillingMode["POSTPAID"] = "POSTPAID";
1021
+ })(BillingMode || (BillingMode = {}));
1118
1022
  var BillingLedgerDirection;
1119
1023
  (function (BillingLedgerDirection) {
1120
1024
  BillingLedgerDirection["DEBIT"] = "DEBIT";
@@ -1311,6 +1215,106 @@ var ProcessingStatus;
1311
1215
  ProcessingStatus["RETRYING"] = "RETRYING";
1312
1216
  })(ProcessingStatus || (ProcessingStatus = {}));
1313
1217
 
1218
+ var RecordingMode;
1219
+ (function (RecordingMode) {
1220
+ RecordingMode["OFF"] = "OFF";
1221
+ RecordingMode["INBOUND"] = "INBOUND";
1222
+ RecordingMode["OUTBOUND"] = "OUTBOUND";
1223
+ RecordingMode["BOTH"] = "BOTH";
1224
+ })(RecordingMode || (RecordingMode = {}));
1225
+ var RecordingNotify;
1226
+ (function (RecordingNotify) {
1227
+ RecordingNotify["NONE"] = "NONE";
1228
+ RecordingNotify["ANNOUNCE"] = "ANNOUNCE";
1229
+ RecordingNotify["CONSENT"] = "CONSENT";
1230
+ })(RecordingNotify || (RecordingNotify = {}));
1231
+ var WorkingHoursFallbackAction;
1232
+ (function (WorkingHoursFallbackAction) {
1233
+ WorkingHoursFallbackAction["PLAY_MESSAGE"] = "PLAY_MESSAGE";
1234
+ WorkingHoursFallbackAction["VOICEMAIL"] = "VOICEMAIL";
1235
+ })(WorkingHoursFallbackAction || (WorkingHoursFallbackAction = {}));
1236
+ var RoutingRole;
1237
+ (function (RoutingRole) {
1238
+ RoutingRole["AGENT"] = "AGENT";
1239
+ RoutingRole["SUPERVISOR"] = "SUPERVISOR";
1240
+ RoutingRole["ADMINISTRATOR"] = "ADMINISTRATOR";
1241
+ })(RoutingRole || (RoutingRole = {}));
1242
+ var RoutingStrategy;
1243
+ (function (RoutingStrategy) {
1244
+ RoutingStrategy["TICKET_ASSIGNEE"] = "TICKET_ASSIGNEE";
1245
+ RoutingStrategy["LAST_TALKED_TO"] = "LAST_TALKED_TO";
1246
+ RoutingStrategy["MOST_IDLE"] = "MOST_IDLE";
1247
+ RoutingStrategy["RANDOM_ACTIVE"] = "RANDOM_ACTIVE";
1248
+ RoutingStrategy["ROUND_ROBIN"] = "ROUND_ROBIN";
1249
+ })(RoutingStrategy || (RoutingStrategy = {}));
1250
+ var RoutingFallback;
1251
+ (function (RoutingFallback) {
1252
+ RoutingFallback["ANNOUNCE_DISCONNECT"] = "ANNOUNCE_DISCONNECT";
1253
+ RoutingFallback["VOICEMAIL_TICKET"] = "VOICEMAIL_TICKET";
1254
+ RoutingFallback["VOICEMAIL"] = "VOICEMAIL";
1255
+ })(RoutingFallback || (RoutingFallback = {}));
1256
+ var RoutingNoPickup;
1257
+ (function (RoutingNoPickup) {
1258
+ RoutingNoPickup["ANNOUNCE_DISCONNECT"] = "ANNOUNCE_DISCONNECT";
1259
+ RoutingNoPickup["DISCONNECT"] = "DISCONNECT";
1260
+ RoutingNoPickup["TRY_OTHERS"] = "TRY_OTHERS";
1261
+ RoutingNoPickup["VOICEMAIL"] = "VOICEMAIL";
1262
+ RoutingNoPickup["VOICEMAIL_TICKET"] = "VOICEMAIL_TICKET";
1263
+ })(RoutingNoPickup || (RoutingNoPickup = {}));
1264
+
1265
+ const DEFAULT_WEB_CHAT_WIDGET_CONFIGURATION = {
1266
+ primaryColorCode: '#ff6633',
1267
+ welcomeTitle: 'Welcome!',
1268
+ welcomeMessage: 'How can we help you today?',
1269
+ };
1270
+ /**
1271
+ * Reads InteractionWidget.configuration into a typed object. Accepts the raw
1272
+ * AWSJSON string, an already-parsed object, or null/undefined, and never throws
1273
+ * — malformed JSON yields {} so a bad record degrades to defaults instead of
1274
+ * taking the widget down.
1275
+ *
1276
+ * customFields entries are tolerated as either objects or JSON strings, because
1277
+ * the legacy InteractionWidget.customFields column stored [AWSJSON] (a list of
1278
+ * encoded strings) and older records were migrated across verbatim.
1279
+ */
1280
+ function parseWebChatWidgetConfiguration(configuration) {
1281
+ if (!configuration) {
1282
+ return {};
1283
+ }
1284
+ let parsed = configuration;
1285
+ if (typeof configuration === 'string') {
1286
+ try {
1287
+ parsed = JSON.parse(configuration);
1288
+ }
1289
+ catch (error) {
1290
+ console.warn('Unable to parse InteractionWidget.configuration; falling back to defaults', error);
1291
+ return {};
1292
+ }
1293
+ }
1294
+ if (!parsed || typeof parsed !== 'object') {
1295
+ return {};
1296
+ }
1297
+ if (Array.isArray(parsed.customFields)) {
1298
+ parsed = {
1299
+ ...parsed,
1300
+ customFields: parsed.customFields
1301
+ .map((field) => {
1302
+ if (typeof field !== 'string') {
1303
+ return field;
1304
+ }
1305
+ try {
1306
+ return JSON.parse(field);
1307
+ }
1308
+ catch {
1309
+ return null;
1310
+ }
1311
+ })
1312
+ .filter((field) => !!field),
1313
+ };
1314
+ }
1315
+ return parsed;
1316
+ }
1317
+
1314
1318
  var InteractionChannel;
1315
1319
  (function (InteractionChannel) {
1316
1320
  InteractionChannel["EMAIL"] = "EMAIL";
@@ -1351,14 +1355,27 @@ var InteractionStatus;
1351
1355
  })(InteractionStatus || (InteractionStatus = {}));
1352
1356
  // Per-message delivery status, driven by the WhatsApp (and other provider) status webhooks.
1353
1357
  // Powers the single / double / blue read-receipt ticks on outbound messages.
1358
+ // RECEIVED is the terminal state of an inbound message.
1354
1359
  var InteractionMessageStatus;
1355
1360
  (function (InteractionMessageStatus) {
1356
- InteractionMessageStatus["PENDING"] = "PENDING";
1361
+ InteractionMessageStatus["QUEUED"] = "QUEUED";
1357
1362
  InteractionMessageStatus["SENT"] = "SENT";
1358
1363
  InteractionMessageStatus["DELIVERED"] = "DELIVERED";
1359
1364
  InteractionMessageStatus["READ"] = "READ";
1360
1365
  InteractionMessageStatus["FAILED"] = "FAILED";
1366
+ InteractionMessageStatus["RECEIVED"] = "RECEIVED";
1361
1367
  })(InteractionMessageStatus || (InteractionMessageStatus = {}));
1368
+ // Where a campaign-driven interaction currently sits in its flow.
1369
+ var FlowRuntimeStatus;
1370
+ (function (FlowRuntimeStatus) {
1371
+ FlowRuntimeStatus["AWAITING_DISPATCH"] = "AWAITING_DISPATCH";
1372
+ FlowRuntimeStatus["AWAITING_REPLY"] = "AWAITING_REPLY";
1373
+ FlowRuntimeStatus["AWAITING_TIMER"] = "AWAITING_TIMER";
1374
+ FlowRuntimeStatus["PAUSED_BY_AGENT"] = "PAUSED_BY_AGENT";
1375
+ FlowRuntimeStatus["COMPLETED"] = "COMPLETED";
1376
+ FlowRuntimeStatus["FAILED"] = "FAILED";
1377
+ FlowRuntimeStatus["ABANDONED"] = "ABANDONED";
1378
+ })(FlowRuntimeStatus || (FlowRuntimeStatus = {}));
1362
1379
  var InteractionProvider;
1363
1380
  (function (InteractionProvider) {
1364
1381
  InteractionProvider["AVAYA_IPO"] = "AVAYA_IPO";
@@ -1398,6 +1415,18 @@ var TenantSSOConfigurationProtocol;
1398
1415
  TenantSSOConfigurationProtocol["SAML"] = "SAML";
1399
1416
  TenantSSOConfigurationProtocol["OIDC"] = "OIDC";
1400
1417
  })(TenantSSOConfigurationProtocol || (TenantSSOConfigurationProtocol = {}));
1418
+ // Which external system minted the externalIds carried on Tenant/User/Entity.
1419
+ var TenantExternalCrmProvider;
1420
+ (function (TenantExternalCrmProvider) {
1421
+ TenantExternalCrmProvider["SAP"] = "SAP";
1422
+ TenantExternalCrmProvider["SALESFORCE"] = "SALESFORCE";
1423
+ })(TenantExternalCrmProvider || (TenantExternalCrmProvider = {}));
1424
+ var TenantOnboardingStatus;
1425
+ (function (TenantOnboardingStatus) {
1426
+ TenantOnboardingStatus["NOT_STARTED"] = "NOT_STARTED";
1427
+ TenantOnboardingStatus["IN_PROGRESS"] = "IN_PROGRESS";
1428
+ TenantOnboardingStatus["COMPLETED"] = "COMPLETED";
1429
+ })(TenantOnboardingStatus || (TenantOnboardingStatus = {}));
1401
1430
 
1402
1431
  var UserStatus;
1403
1432
  (function (UserStatus) {
@@ -1479,10 +1508,10 @@ class CommonService {
1479
1508
  const languages = await this.getAllLanguages();
1480
1509
  return languages?.find((language) => language.code === languageCode);
1481
1510
  }
1482
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CommonService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1483
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CommonService, providedIn: 'root' });
1511
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: CommonService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1512
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: CommonService, providedIn: 'root' });
1484
1513
  }
1485
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CommonService, decorators: [{
1514
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: CommonService, decorators: [{
1486
1515
  type: Injectable,
1487
1516
  args: [{
1488
1517
  providedIn: 'root',
@@ -1504,6 +1533,13 @@ const FIELDS_ENTITY_TYPE = `
1504
1533
  updatedAt
1505
1534
  deletedAt
1506
1535
  `;
1536
+ // Adds the custom-field definitions — only worth fetching when listing types, not
1537
+ // on every nested entityType read.
1538
+ const FIELDS_ENTITY_TYPE_EXPANDED = `
1539
+ ${FIELDS_ENTITY_TYPE}
1540
+ entityFields
1541
+ organizationFields
1542
+ `;
1507
1543
  const FIELDS_ENTITY = `
1508
1544
  id
1509
1545
  externalId
@@ -1551,6 +1587,8 @@ const FIELDS_ENTITY = `
1551
1587
  updatedAt
1552
1588
  blockedAt
1553
1589
  deletedAt
1590
+ updatedByUserId
1591
+ updatedByUserSessionId
1554
1592
  `;
1555
1593
  const FIELDS_ENTITY_EXPANDED = `
1556
1594
  id
@@ -1626,6 +1664,8 @@ const FIELDS_ENTITY_EXPANDED = `
1626
1664
  updatedAt
1627
1665
  blockedAt
1628
1666
  deletedAt
1667
+ updatedByUserId
1668
+ updatedByUserSessionId
1629
1669
  `;
1630
1670
  const FIELDS_ENTITY_MINIMAL = `
1631
1671
  id
@@ -1667,6 +1707,8 @@ const FIELDS_ENTITY_MINIMAL = `
1667
1707
  updatedAt
1668
1708
  blockedAt
1669
1709
  deletedAt
1710
+ updatedByUserId
1711
+ updatedByUserSessionId
1670
1712
  `;
1671
1713
  class EntityService {
1672
1714
  appSyncService;
@@ -1829,7 +1871,7 @@ class EntityService {
1829
1871
  const statement = `query ListEntityTypesByTenantId($tenantId: ID!, $name: ModelStringKeyConditionInput, $sortDirection: ModelSortDirection, $filter: ModelEntityTypeFilterInput, $limit: Int, $nextToken: String) {
1830
1872
  listEntityTypesByTenantId(tenantId: $tenantId, name: $name, sortDirection: $sortDirection, filter: $filter, limit: $limit, nextToken: $nextToken) {
1831
1873
  items {
1832
- ${FIELDS_ENTITY_TYPE}
1874
+ ${FIELDS_ENTITY_TYPE_EXPANDED}
1833
1875
  }
1834
1876
  nextToken
1835
1877
  }
@@ -1867,16 +1909,57 @@ class EntityService {
1867
1909
  return this.appSyncService.subscribe(statement, gqlAPIServiceArguments);
1868
1910
  /* as Observable<SubscriptionResponse<Pick<__SubscriptionContainer, "OnEntityById">>>; */
1869
1911
  }
1870
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EntityService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
1871
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EntityService, providedIn: 'root' });
1912
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: EntityService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
1913
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: EntityService, providedIn: 'root' });
1872
1914
  }
1873
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EntityService, decorators: [{
1915
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: EntityService, decorators: [{
1874
1916
  type: Injectable,
1875
1917
  args: [{
1876
1918
  providedIn: 'root',
1877
1919
  }]
1878
1920
  }], ctorParameters: () => [{ type: AppSyncHelperService }] });
1879
1921
 
1922
+ const FIELDS_INTERACTION_ENDPOINT_PRICE_DETAILS = `
1923
+ currency
1924
+ upfrontCost
1925
+ monthlyCost
1926
+ inboundCost
1927
+ outboundCost
1928
+ `;
1929
+ const FIELDS_INTERACTION_ENDPOINT_AUDIO_ACTION = `
1930
+ action
1931
+ audioMediaName
1932
+ audioUrl
1933
+ `;
1934
+ const FIELDS_INTERACTION_ENDPOINT_RECORDING_CONFIG = `
1935
+ mode
1936
+ notify
1937
+ audioMediaName
1938
+ audioUrl
1939
+ `;
1940
+ const FIELDS_INTERACTION_ENDPOINT_WORKING_HOURS_ACTION_CONFIG = `
1941
+ duringHours {
1942
+ ${FIELDS_INTERACTION_ENDPOINT_AUDIO_ACTION}
1943
+ }
1944
+ afterHours {
1945
+ ${FIELDS_INTERACTION_ENDPOINT_AUDIO_ACTION}
1946
+ }
1947
+ whenClosed {
1948
+ ${FIELDS_INTERACTION_ENDPOINT_AUDIO_ACTION}
1949
+ }
1950
+ `;
1951
+ const FIELDS_INTERACTION_ENDPOINT_ROUTING_CONFIG = `
1952
+ answeringRoles
1953
+ knownCallerStrategy
1954
+ unknownCallerStrategy
1955
+ ifNoPickup {
1956
+ ${FIELDS_INTERACTION_ENDPOINT_AUDIO_ACTION}
1957
+ }
1958
+ escalationRoles
1959
+ noAnswer {
1960
+ ${FIELDS_INTERACTION_ENDPOINT_AUDIO_ACTION}
1961
+ }
1962
+ `;
1880
1963
  const FIELDS_INTERACTION_ENDPOINT = `
1881
1964
  id
1882
1965
  externalId
@@ -1884,17 +1967,28 @@ const FIELDS_INTERACTION_ENDPOINT = `
1884
1967
  widgetId
1885
1968
  address
1886
1969
  configuration
1970
+ recordingConfig {
1971
+ ${FIELDS_INTERACTION_ENDPOINT_RECORDING_CONFIG}
1972
+ }
1973
+ workingHoursActionConfig {
1974
+ ${FIELDS_INTERACTION_ENDPOINT_WORKING_HOURS_ACTION_CONFIG}
1975
+ }
1976
+ routingConfig {
1977
+ ${FIELDS_INTERACTION_ENDPOINT_ROUTING_CONFIG}
1978
+ }
1979
+ # buyPrice is intentionally not selected here — it is our cost, not the tenant's price.
1887
1980
  sellPrice {
1888
- currency
1889
- upfrontCost
1890
- monthlyCost
1891
- inboundCost
1892
- outboundCost
1981
+ ${FIELDS_INTERACTION_ENDPOINT_PRICE_DETAILS}
1893
1982
  }
1894
1983
  documents {
1895
1984
  fileName
1896
1985
  documentType
1897
1986
  contentType
1987
+ file {
1988
+ key
1989
+ bucket
1990
+ location
1991
+ }
1898
1992
  }
1899
1993
  createdAt
1900
1994
  updatedAt
@@ -2034,10 +2128,10 @@ class InteractionEndpointService {
2034
2128
  const response = await this.appSyncService.query(statement, gqlAPIServiceArguments);
2035
2129
  return response.data.listInteractionEndpointsByWidgetId;
2036
2130
  }
2037
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: InteractionEndpointService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
2038
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: InteractionEndpointService, providedIn: 'root' });
2131
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: InteractionEndpointService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
2132
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: InteractionEndpointService, providedIn: 'root' });
2039
2133
  }
2040
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: InteractionEndpointService, decorators: [{
2134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: InteractionEndpointService, decorators: [{
2041
2135
  type: Injectable,
2042
2136
  args: [{
2043
2137
  providedIn: 'root',
@@ -2065,6 +2159,17 @@ const FIELDS_INTERACTION_WIDGET = `
2065
2159
  createdAt
2066
2160
  updatedAt
2067
2161
  deletedAt
2162
+ updatedByUserId
2163
+ updatedByUserSessionId
2164
+ `;
2165
+ const FIELDS_INTERACTION_WIDGET_SESSION = `
2166
+ id
2167
+ tenantId
2168
+ widgetId
2169
+ entityId
2170
+ ipDetails
2171
+ createdAt
2172
+ updatedAt
2068
2173
  `;
2069
2174
  const FIELDS_INTERACTION_WIDGET_USER_SETTING = `
2070
2175
  id
@@ -2163,10 +2268,10 @@ class InteractionWidgetService {
2163
2268
  const response = await this.appSyncService.query(statement, gqlAPIServiceArguments);
2164
2269
  return response.data.listInteractionWidgetUserSettingsByUserId;
2165
2270
  }
2166
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: InteractionWidgetService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
2167
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: InteractionWidgetService, providedIn: 'root' });
2271
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: InteractionWidgetService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
2272
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: InteractionWidgetService, providedIn: 'root' });
2168
2273
  }
2169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: InteractionWidgetService, decorators: [{
2274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: InteractionWidgetService, decorators: [{
2170
2275
  type: Injectable,
2171
2276
  args: [{
2172
2277
  providedIn: 'root',
@@ -2363,10 +2468,10 @@ class UserService {
2363
2468
  return this.appSyncService.subscribe(statement, gqlAPIServiceArguments);
2364
2469
  /* as Observable<SubscriptionResponse<Pick<__SubscriptionContainer, "OnUserById">>>; */
2365
2470
  }
2366
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: UserService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
2367
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: UserService, providedIn: 'root' });
2471
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: UserService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
2472
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: UserService, providedIn: 'root' });
2368
2473
  }
2369
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: UserService, decorators: [{
2474
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: UserService, decorators: [{
2370
2475
  type: Injectable,
2371
2476
  args: [{
2372
2477
  providedIn: 'root',
@@ -2481,10 +2586,10 @@ class TeamService {
2481
2586
  const response = await this.appSyncService.query(statement, gqlAPIServiceArguments);
2482
2587
  return response.data.listTeamMembershipsByUserId;
2483
2588
  }
2484
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: TeamService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
2485
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: TeamService, providedIn: 'root' });
2589
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TeamService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
2590
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TeamService, providedIn: 'root' });
2486
2591
  }
2487
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: TeamService, decorators: [{
2592
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TeamService, decorators: [{
2488
2593
  type: Injectable,
2489
2594
  args: [{
2490
2595
  providedIn: 'root',
@@ -2547,6 +2652,19 @@ const FIELDS_INTERACTION_MINIMAL = `
2547
2652
  reportProcessingCompletedAt
2548
2653
  temp_isLocked
2549
2654
  temp_isAvailableTenantIdUnion
2655
+ campaignId
2656
+ flowVersion
2657
+ currentCampaignFlowNodeId
2658
+ flowVariables
2659
+ flowStatus
2660
+ flowRetryCount
2661
+ flowReminderIndex
2662
+ flowTimeoutAt
2663
+ flowTimerScheduleArn
2664
+ isAgentHandling
2665
+ assignedAgentId
2666
+ agentHandlingStartedAt
2667
+ agentHandlingEndedAt
2550
2668
  createdAt
2551
2669
  updatedAt
2552
2670
  deletedAt
@@ -2600,6 +2718,19 @@ const FIELDS_INTERACTION = `
2600
2718
  reportProcessingCompletedAt
2601
2719
  temp_isLocked
2602
2720
  temp_isAvailableTenantIdUnion
2721
+ campaignId
2722
+ flowVersion
2723
+ currentCampaignFlowNodeId
2724
+ flowVariables
2725
+ flowStatus
2726
+ flowRetryCount
2727
+ flowReminderIndex
2728
+ flowTimeoutAt
2729
+ flowTimerScheduleArn
2730
+ isAgentHandling
2731
+ assignedAgentId
2732
+ agentHandlingStartedAt
2733
+ agentHandlingEndedAt
2603
2734
  createdAt
2604
2735
  updatedAt
2605
2736
  deletedAt
@@ -2685,6 +2816,19 @@ const FIELDS_INTERACTION_EXPANDED = `
2685
2816
  reportProcessingCompletedAt
2686
2817
  temp_isLocked
2687
2818
  temp_isAvailableTenantIdUnion
2819
+ campaignId
2820
+ flowVersion
2821
+ currentCampaignFlowNodeId
2822
+ flowVariables
2823
+ flowStatus
2824
+ flowRetryCount
2825
+ flowReminderIndex
2826
+ flowTimeoutAt
2827
+ flowTimerScheduleArn
2828
+ isAgentHandling
2829
+ assignedAgentId
2830
+ agentHandlingStartedAt
2831
+ agentHandlingEndedAt
2688
2832
  createdAt
2689
2833
  updatedAt
2690
2834
  deletedAt
@@ -2784,6 +2928,7 @@ const FIELDS_INTERACTION_MESSAGE = `
2784
2928
  referenceMessageId
2785
2929
  direction
2786
2930
  status
2931
+ statusUpdatedAt
2787
2932
  createdAt
2788
2933
  updatedAt
2789
2934
  deletedAt
@@ -2814,6 +2959,7 @@ const FIELDS_INTERACTION_MESSAGE_EXPANDED = `
2814
2959
  referenceMessageId
2815
2960
  direction
2816
2961
  status
2962
+ statusUpdatedAt
2817
2963
  createdAt
2818
2964
  updatedAt
2819
2965
  deletedAt
@@ -2901,6 +3047,19 @@ class InteractionService {
2901
3047
  const response = await this.appSyncService.query(statement, gqlAPIServiceArguments);
2902
3048
  return response.data.createInteractionAttendee;
2903
3049
  }
3050
+ async UpdateInteractionAttendee(input, condition) {
3051
+ const statement = `mutation UpdateInteractionAttendee($input: UpdateInteractionAttendeeInput!, $condition: ModelInteractionAttendeeConditionInput) {
3052
+ updateInteractionAttendee(input: $input, condition: $condition) {
3053
+ ${FIELDS_INTERACTION_ATTENDEE}
3054
+ }
3055
+ }`;
3056
+ const gqlAPIServiceArguments = { input };
3057
+ if (condition) {
3058
+ gqlAPIServiceArguments.condition = condition;
3059
+ }
3060
+ const response = await this.appSyncService.query(statement, gqlAPIServiceArguments);
3061
+ return response.data.updateInteractionAttendee;
3062
+ }
2904
3063
  async CreateInteractionMessage(input, condition) {
2905
3064
  const statement = `mutation CreateInteractionMessage($input: CreateInteractionMessageInput!, $condition: ModelInteractionMessageConditionInput) {
2906
3065
  createInteractionMessage(input: $input, condition: $condition) {
@@ -3071,6 +3230,41 @@ class InteractionService {
3071
3230
  const response = await this.appSyncService.query(statement, gqlAPIServiceArguments);
3072
3231
  return response.data.listInteractionInviteesByUserId;
3073
3232
  }
3233
+ async ListInteractionAttendeesByInteractionId(interactionId, createdAt, sortDirection, filter, limit, nextToken) {
3234
+ const statement = `query ListInteractionAttendeesByInteractionId($interactionId: ID!, $createdAt: ModelIntKeyConditionInput, $sortDirection: ModelSortDirection, $filter: ModelInteractionAttendeeFilterInput, $limit: Int, $nextToken: String) {
3235
+ listInteractionAttendeesByInteractionId(
3236
+ interactionId: $interactionId
3237
+ createdAt: $createdAt
3238
+ sortDirection: $sortDirection
3239
+ filter: $filter
3240
+ limit: $limit
3241
+ nextToken: $nextToken
3242
+ ) {
3243
+ items {
3244
+ ${FIELDS_INTERACTION_ATTENDEE}
3245
+ }
3246
+ nextToken
3247
+ }
3248
+ }`;
3249
+ const gqlAPIServiceArguments = { interactionId };
3250
+ if (createdAt) {
3251
+ gqlAPIServiceArguments.createdAt = createdAt;
3252
+ }
3253
+ if (sortDirection) {
3254
+ gqlAPIServiceArguments.sortDirection = sortDirection;
3255
+ }
3256
+ if (filter) {
3257
+ gqlAPIServiceArguments.filter = filter;
3258
+ }
3259
+ if (limit) {
3260
+ gqlAPIServiceArguments.limit = limit;
3261
+ }
3262
+ if (nextToken) {
3263
+ gqlAPIServiceArguments.nextToken = nextToken;
3264
+ }
3265
+ const response = await this.appSyncService.query(statement, gqlAPIServiceArguments);
3266
+ return response.data.listInteractionAttendeesByInteractionId;
3267
+ }
3074
3268
  async ListInteractionAttendeesByInteractionIdAndEntityId(interactionId, entityId, sortDirection, filter, limit, nextToken) {
3075
3269
  const statement = `query ListInteractionAttendeesByInteractionIdAndEntityId($interactionId: ID!, $entityId: ModelIDKeyConditionInput, $sortDirection: ModelSortDirection, $filter: ModelInteractionAttendeeFilterInput, $limit: Int, $nextToken: String) {
3076
3270
  listInteractionAttendeesByInteractionIdAndEntityId(
@@ -3141,6 +3335,41 @@ class InteractionService {
3141
3335
  const response = await this.appSyncService.query(statement, gqlAPIServiceArguments);
3142
3336
  return response.data.listInteractionAttendeesByInteractionIdAndUserId;
3143
3337
  }
3338
+ async ListInteractionMessagesByInteractionId(interactionId, createdAt, sortDirection, filter, limit, nextToken) {
3339
+ const statement = `query ListInteractionMessagesByInteractionId($interactionId: ID!, $createdAt: ModelIntKeyConditionInput, $sortDirection: ModelSortDirection, $filter: ModelInteractionMessageFilterInput, $limit: Int, $nextToken: String) {
3340
+ listInteractionMessagesByInteractionId(
3341
+ interactionId: $interactionId
3342
+ createdAt: $createdAt
3343
+ sortDirection: $sortDirection
3344
+ filter: $filter
3345
+ limit: $limit
3346
+ nextToken: $nextToken
3347
+ ) {
3348
+ items {
3349
+ ${FIELDS_INTERACTION_MESSAGE_EXPANDED}
3350
+ }
3351
+ nextToken
3352
+ }
3353
+ }`;
3354
+ const gqlAPIServiceArguments = { interactionId };
3355
+ if (createdAt) {
3356
+ gqlAPIServiceArguments.createdAt = createdAt;
3357
+ }
3358
+ if (sortDirection) {
3359
+ gqlAPIServiceArguments.sortDirection = sortDirection;
3360
+ }
3361
+ if (filter) {
3362
+ gqlAPIServiceArguments.filter = filter;
3363
+ }
3364
+ if (limit) {
3365
+ gqlAPIServiceArguments.limit = limit;
3366
+ }
3367
+ if (nextToken) {
3368
+ gqlAPIServiceArguments.nextToken = nextToken;
3369
+ }
3370
+ const response = await this.appSyncService.query(statement, gqlAPIServiceArguments);
3371
+ return response.data.listInteractionMessagesByInteractionId;
3372
+ }
3144
3373
  async ListInteractionMessagesByEntityConversationId(entityConversationId, createdAt, sortDirection, filter, limit, nextToken) {
3145
3374
  const statement = `query ListInteractionMessagesByEntityConversationId($entityConversationId: ID!, $createdAt: ModelIntKeyConditionInput, $sortDirection: ModelSortDirection, $filter: ModelInteractionMessageFilterInput, $limit: Int, $nextToken: String) {
3146
3375
  listInteractionMessagesByEntityConversationId(
@@ -3176,11 +3405,11 @@ class InteractionService {
3176
3405
  const response = await this.appSyncService.query(statement, gqlAPIServiceArguments);
3177
3406
  return response.data.listInteractionMessagesByEntityConversationId;
3178
3407
  }
3179
- async ListInteractionMessagesByExternalMessageId(externalMessageId, createdAt, sortDirection, filter, limit, nextToken) {
3180
- const statement = `query ListInteractionMessagesByExternalMessageId($externalMessageId: ID!, $createdAt: ModelIntKeyConditionInput, $sortDirection: ModelSortDirection, $filter: ModelInteractionMessageFilterInput, $limit: Int, $nextToken: String) {
3181
- listInteractionMessagesByExternalMessageId(
3182
- externalMessageId: $externalMessageId
3183
- createdAt: $createdAt
3408
+ // The externalId index carries no sort key, so this query takes no key condition.
3409
+ async ListInteractionMessagesByExternalId(externalId, sortDirection, filter, limit, nextToken) {
3410
+ const statement = `query ListInteractionMessagesByExternalId($externalId: String!, $sortDirection: ModelSortDirection, $filter: ModelInteractionMessageFilterInput, $limit: Int, $nextToken: String) {
3411
+ listInteractionMessagesByExternalId(
3412
+ externalId: $externalId
3184
3413
  sortDirection: $sortDirection
3185
3414
  filter: $filter
3186
3415
  limit: $limit
@@ -3192,10 +3421,7 @@ class InteractionService {
3192
3421
  nextToken
3193
3422
  }
3194
3423
  }`;
3195
- const gqlAPIServiceArguments = { externalMessageId };
3196
- if (createdAt) {
3197
- gqlAPIServiceArguments.createdAt = createdAt;
3198
- }
3424
+ const gqlAPIServiceArguments = { externalId };
3199
3425
  if (sortDirection) {
3200
3426
  gqlAPIServiceArguments.sortDirection = sortDirection;
3201
3427
  }
@@ -3209,7 +3435,7 @@ class InteractionService {
3209
3435
  gqlAPIServiceArguments.nextToken = nextToken;
3210
3436
  }
3211
3437
  const response = await this.appSyncService.query(statement, gqlAPIServiceArguments);
3212
- return response.data.listInteractionMessagesByExternalMessageId;
3438
+ return response.data.listInteractionMessagesByExternalId;
3213
3439
  }
3214
3440
  async ListInteractionMessagesByInteractionAttendeeId(interactionAttendeeId, createdAt, sortDirection, filter, limit, nextToken) {
3215
3441
  const statement = `query ListInteractionMessagesByInteractionAttendeeId($interactionAttendeeId: ID!, $createdAt: ModelIntKeyConditionInput, $sortDirection: ModelSortDirection, $filter: ModelInteractionMessageFilterInput, $limit: Int, $nextToken: String) {
@@ -3283,6 +3509,42 @@ class InteractionService {
3283
3509
  const response = await this.appSyncService.query(statement, gqlAPIServiceArguments);
3284
3510
  return response.data.listInteractionMessageAttachmentsByInteractionMessageId;
3285
3511
  }
3512
+ OnInteractionByIdListener(id) {
3513
+ const statement = `subscription OnInteractionById($id: ID!) {
3514
+ OnInteractionById(id: $id) {
3515
+ ${FIELDS_INTERACTION}
3516
+ }
3517
+ }`;
3518
+ const gqlAPIServiceArguments = { id };
3519
+ return this.appSyncService.subscribe(statement, gqlAPIServiceArguments);
3520
+ }
3521
+ OnInteractionInviteeByInteractionIdListener(interactionId) {
3522
+ const statement = `subscription OnInteractionInviteeByInteractionId($interactionId: ID!) {
3523
+ OnInteractionInviteeByInteractionId(interactionId: $interactionId) {
3524
+ ${FIELDS_INTERACTION_INVITEE}
3525
+ }
3526
+ }`;
3527
+ const gqlAPIServiceArguments = { interactionId };
3528
+ return this.appSyncService.subscribe(statement, gqlAPIServiceArguments);
3529
+ }
3530
+ OnInteractionAttendeeByInteractionIdListener(interactionId) {
3531
+ const statement = `subscription OnInteractionAttendeeByInteractionId($interactionId: ID!) {
3532
+ OnInteractionAttendeeByInteractionId(interactionId: $interactionId) {
3533
+ ${FIELDS_INTERACTION_ATTENDEE_EXPANDED}
3534
+ }
3535
+ }`;
3536
+ const gqlAPIServiceArguments = { interactionId };
3537
+ return this.appSyncService.subscribe(statement, gqlAPIServiceArguments);
3538
+ }
3539
+ OnInteractionMessageByInteractionIdListener(interactionId) {
3540
+ const statement = `subscription OnInteractionMessageByInteractionId($interactionId: ID!) {
3541
+ OnInteractionMessageByInteractionId(interactionId: $interactionId) {
3542
+ ${FIELDS_INTERACTION_MESSAGE_EXPANDED}
3543
+ }
3544
+ }`;
3545
+ const gqlAPIServiceArguments = { interactionId };
3546
+ return this.appSyncService.subscribe(statement, gqlAPIServiceArguments);
3547
+ }
3286
3548
  OnInteractionByEntityIdListener(entityId) {
3287
3549
  const statement = `subscription OnInteractionByEntityId($entityId: ID!) {
3288
3550
  OnInteractionByEntityId(entityId: $entityId) {
@@ -3315,10 +3577,10 @@ class InteractionService {
3315
3577
  return this.appSyncService.subscribe(statement, gqlAPIServiceArguments);
3316
3578
  /* as Observable<SubscriptionResponse<Pick<__SubscriptionContainer, 'OnInteractionMessageByEntityConversationId'>>>; */
3317
3579
  }
3318
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: InteractionService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
3319
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: InteractionService, providedIn: 'root' });
3580
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: InteractionService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
3581
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: InteractionService, providedIn: 'root' });
3320
3582
  }
3321
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: InteractionService, decorators: [{
3583
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: InteractionService, decorators: [{
3322
3584
  type: Injectable,
3323
3585
  args: [{
3324
3586
  providedIn: 'root',
@@ -3599,19 +3861,62 @@ class EntityConversationService {
3599
3861
  return this.appSyncService.subscribe(statement, gqlAPIServiceArguments);
3600
3862
  /* as Observable<SubscriptionResponse<Pick<__SubscriptionContainer, 'OnEntityConversationByTenantId'>>> */
3601
3863
  }
3602
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EntityConversationService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
3603
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EntityConversationService, providedIn: 'root' });
3864
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: EntityConversationService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
3865
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: EntityConversationService, providedIn: 'root' });
3604
3866
  }
3605
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EntityConversationService, decorators: [{
3867
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: EntityConversationService, decorators: [{
3606
3868
  type: Injectable,
3607
3869
  args: [{
3608
3870
  providedIn: 'root',
3609
3871
  }]
3610
3872
  }], ctorParameters: () => [{ type: AppSyncHelperService }] });
3611
3873
 
3874
+ const FIELDS_TENANT_PREFERENCES = `
3875
+ timezoneName
3876
+ language {
3877
+ ${FIELDS_LANGUAGE}
3878
+ }
3879
+ allowUserToChangePreferences
3880
+ brandColor
3881
+ workingHours {
3882
+ timezone
3883
+ days {
3884
+ day
3885
+ open
3886
+ start
3887
+ end
3888
+ }
3889
+ }
3890
+ availabilityConfig {
3891
+ customStatuses {
3892
+ key
3893
+ name
3894
+ colour
3895
+ available
3896
+ }
3897
+ allowDialUnsavedNumber
3898
+ acwTime
3899
+ ringtone
3900
+ }
3901
+ recordingExcludedUserIds
3902
+ `;
3903
+ const FIELDS_TENANT_PROFILE = `
3904
+ businessType
3905
+ industry
3906
+ teamSize
3907
+ goals
3908
+ `;
3909
+ const FIELDS_TENANT_ONBOARDING = `
3910
+ status
3911
+ currentStep
3912
+ completedSteps
3913
+ startedAt
3914
+ completedAt
3915
+ `;
3612
3916
  const FIELDS_TENANT = `
3613
3917
  id
3614
3918
  externalId
3919
+ externalCrmProvider
3615
3920
  tenantDomain
3616
3921
  organizationName
3617
3922
  websiteURL
@@ -3621,11 +3926,7 @@ const FIELDS_TENANT = `
3621
3926
  location
3622
3927
  }
3623
3928
  preferences {
3624
- timezoneName
3625
- language {
3626
- ${FIELDS_LANGUAGE}
3627
- }
3628
- allowUserToChangePreferences
3929
+ ${FIELDS_TENANT_PREFERENCES}
3629
3930
  }
3630
3931
  security {
3631
3932
  domainValidationTokenExpiry
@@ -3634,6 +3935,12 @@ const FIELDS_TENANT = `
3634
3935
  sessionTokenExpiry
3635
3936
  sessionIdleTimeout
3636
3937
  }
3938
+ profile {
3939
+ ${FIELDS_TENANT_PROFILE}
3940
+ }
3941
+ onboarding {
3942
+ ${FIELDS_TENANT_ONBOARDING}
3943
+ }
3637
3944
  activatedAt
3638
3945
  blockedAt
3639
3946
  createdAt
@@ -3645,6 +3952,7 @@ const FIELDS_TENANT = `
3645
3952
  const FIELDS_TENANT_MINIMAL = `
3646
3953
  id
3647
3954
  externalId
3955
+ externalCrmProvider
3648
3956
  tenantDomain
3649
3957
  organizationName
3650
3958
  websiteURL
@@ -3654,12 +3962,10 @@ const FIELDS_TENANT_MINIMAL = `
3654
3962
  location
3655
3963
  }
3656
3964
  preferences {
3657
- timezoneName
3658
- language {
3659
- ${FIELDS_LANGUAGE}
3660
- }
3661
- allowUserToChangePreferences
3662
- brandColor
3965
+ ${FIELDS_TENANT_PREFERENCES}
3966
+ }
3967
+ onboarding {
3968
+ ${FIELDS_TENANT_ONBOARDING}
3663
3969
  }
3664
3970
  activatedAt
3665
3971
  blockedAt
@@ -3672,6 +3978,7 @@ const FIELDS_TENANT_MINIMAL = `
3672
3978
  const FIELDS_TENANT_EXPANDED = `
3673
3979
  id
3674
3980
  externalId
3981
+ externalCrmProvider
3675
3982
  tenantDomain
3676
3983
  organizationName
3677
3984
  websiteURL
@@ -3691,6 +3998,8 @@ const FIELDS_TENANT_EXPANDED = `
3691
3998
  }
3692
3999
  companyIdentificationNumber
3693
4000
  taxIdentificationNumber
4001
+ billingEmail
4002
+ website
3694
4003
  }
3695
4004
  contactInformation {
3696
4005
  name
@@ -3707,12 +4016,7 @@ const FIELDS_TENANT_EXPANDED = `
3707
4016
  }
3708
4017
  }
3709
4018
  preferences {
3710
- timezoneName
3711
- language {
3712
- ${FIELDS_LANGUAGE}
3713
- }
3714
- allowUserToChangePreferences
3715
- brandColor
4019
+ ${FIELDS_TENANT_PREFERENCES}
3716
4020
  }
3717
4021
  ssoConfiguration {
3718
4022
  provider
@@ -3729,6 +4033,12 @@ const FIELDS_TENANT_EXPANDED = `
3729
4033
  sessionTokenExpiry
3730
4034
  sessionIdleTimeout
3731
4035
  }
4036
+ profile {
4037
+ ${FIELDS_TENANT_PROFILE}
4038
+ }
4039
+ onboarding {
4040
+ ${FIELDS_TENANT_ONBOARDING}
4041
+ }
3732
4042
  activatedAt
3733
4043
  blockedAt
3734
4044
  createdAt
@@ -3884,10 +4194,10 @@ class TenantService {
3884
4194
  return this.appSyncService.subscribe(statement, gqlAPIServiceArguments);
3885
4195
  /* as Observable<SubscriptionResponse<Pick<__SubscriptionContainer, "OnTenantById">>>; */
3886
4196
  }
3887
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: TenantService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
3888
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: TenantService, providedIn: 'root' });
4197
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TenantService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
4198
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TenantService, providedIn: 'root' });
3889
4199
  }
3890
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: TenantService, decorators: [{
4200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TenantService, decorators: [{
3891
4201
  type: Injectable,
3892
4202
  args: [{
3893
4203
  providedIn: 'root',
@@ -3904,6 +4214,8 @@ const FIELDS_TICKET_PRIORITY = `
3904
4214
  colorCode
3905
4215
  createdAt
3906
4216
  updatedAt
4217
+ updatedByUserId
4218
+ updatedByUserSessionId
3907
4219
  deletedAt
3908
4220
  `;
3909
4221
  const FIELDS_TICKET_STATUS = `
@@ -3917,6 +4229,8 @@ const FIELDS_TICKET_STATUS = `
3917
4229
  colorCode
3918
4230
  createdAt
3919
4231
  updatedAt
4232
+ updatedByUserId
4233
+ updatedByUserSessionId
3920
4234
  deletedAt
3921
4235
  `;
3922
4236
  const FIELDS_TICKET_TYPE = `
@@ -3929,6 +4243,8 @@ const FIELDS_TICKET_TYPE = `
3929
4243
  colorCode
3930
4244
  createdAt
3931
4245
  updatedAt
4246
+ updatedByUserId
4247
+ updatedByUserSessionId
3932
4248
  deletedAt
3933
4249
  `;
3934
4250
  const FIELDS_TICKET = `
@@ -3963,6 +4279,8 @@ const FIELDS_TICKET = `
3963
4279
  createdByUserId
3964
4280
  createdAt
3965
4281
  updatedAt
4282
+ updatedByUserId
4283
+ updatedByUserSessionId
3966
4284
  deletedAt
3967
4285
  `;
3968
4286
  class TicketService {
@@ -4130,10 +4448,10 @@ class TicketService {
4130
4448
  const response = await this.appSyncService.query(statement, gqlAPIServiceArguments);
4131
4449
  return response.data.listTicketTypesByTenantId;
4132
4450
  }
4133
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: TicketService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
4134
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: TicketService, providedIn: 'root' });
4451
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TicketService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
4452
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TicketService, providedIn: 'root' });
4135
4453
  }
4136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: TicketService, decorators: [{
4454
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TicketService, decorators: [{
4137
4455
  type: Injectable,
4138
4456
  args: [{
4139
4457
  providedIn: 'root',
@@ -4146,6 +4464,8 @@ const FIELDS_USER_SESSION = `
4146
4464
  userId
4147
4465
  ipDetails
4148
4466
  status
4467
+ statusKey
4468
+ lastInteractionHandledAt
4149
4469
  teamIds
4150
4470
  temp_isLocked
4151
4471
  temp_isAvailableTenantIdUnion
@@ -4225,10 +4545,10 @@ class UserSessionService {
4225
4545
  return this.appSyncService.subscribe(statement, gqlAPIServiceArguments);
4226
4546
  /* as Observable<SubscriptionResponse<Pick<__SubscriptionContainer, 'OnUserSessionById'>>>; */
4227
4547
  }
4228
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: UserSessionService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
4229
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: UserSessionService, providedIn: 'root' });
4548
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: UserSessionService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
4549
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: UserSessionService, providedIn: 'root' });
4230
4550
  }
4231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: UserSessionService, decorators: [{
4551
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: UserSessionService, decorators: [{
4232
4552
  type: Injectable,
4233
4553
  args: [{
4234
4554
  providedIn: 'root',
@@ -4414,16 +4734,53 @@ class EncryptedStorageService {
4414
4734
  }
4415
4735
  return bytes;
4416
4736
  }
4417
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EncryptedStorageService, deps: [{ token: SnugdeskAuthenticationService }], target: i0.ɵɵFactoryTarget.Injectable });
4418
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EncryptedStorageService, providedIn: 'root' });
4737
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: EncryptedStorageService, deps: [{ token: SnugdeskAuthenticationService }], target: i0.ɵɵFactoryTarget.Injectable });
4738
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: EncryptedStorageService, providedIn: 'root' });
4419
4739
  }
4420
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EncryptedStorageService, decorators: [{
4740
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: EncryptedStorageService, decorators: [{
4421
4741
  type: Injectable,
4422
4742
  args: [{
4423
4743
  providedIn: 'root',
4424
4744
  }]
4425
4745
  }], ctorParameters: () => [{ type: SnugdeskAuthenticationService }] });
4426
4746
 
4747
+ class SnugdeskIPRegistryService {
4748
+ http;
4749
+ IP_REGISTRY_API = 'https://api.ipregistry.co/?key=1lbzl1iexwbxc0';
4750
+ SESSION_KEY = 'sd-ip-details';
4751
+ constructor(http) {
4752
+ this.http = http;
4753
+ }
4754
+ get cachedIPDetails() {
4755
+ const value = sessionStorage.getItem(this.SESSION_KEY);
4756
+ return value ? JSON.parse(value) : null;
4757
+ }
4758
+ set cachedIPDetails(details) {
4759
+ sessionStorage.setItem(this.SESSION_KEY, JSON.stringify(details));
4760
+ }
4761
+ // prettier-ignore
4762
+ async getIPDetails() {
4763
+ if (this.cachedIPDetails)
4764
+ return this.cachedIPDetails;
4765
+ try {
4766
+ const ipDetails = await lastValueFrom(this.http.get(this.IP_REGISTRY_API));
4767
+ // console.log('Fetched IP details:', ipDetails);
4768
+ this.cachedIPDetails = ipDetails;
4769
+ }
4770
+ catch (error) {
4771
+ console.warn('Error fetching IP details:', error);
4772
+ this.cachedIPDetails = {};
4773
+ }
4774
+ return this.cachedIPDetails;
4775
+ }
4776
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SnugdeskIPRegistryService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
4777
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SnugdeskIPRegistryService, providedIn: 'root' });
4778
+ }
4779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SnugdeskIPRegistryService, decorators: [{
4780
+ type: Injectable,
4781
+ args: [{ providedIn: 'root' }]
4782
+ }], ctorParameters: () => [{ type: i1$2.HttpClient }] });
4783
+
4427
4784
  class CleanDeep {
4428
4785
  static clean(obj) {
4429
4786
  Object.keys(obj).forEach((key) => {
@@ -4563,7 +4920,7 @@ class EmailEntityResolverService {
4563
4920
  email: senderEmail,
4564
4921
  isOrganization: false,
4565
4922
  contactPreferences: { allowEmail: true },
4566
- metadata: [JSON.stringify({ source: 'EMAIL' })],
4923
+ metadata: JSON.stringify({ source: 'EMAIL' }),
4567
4924
  createdAt: now,
4568
4925
  updatedAt: now,
4569
4926
  updatedByUserId: 'SYSTEM',
@@ -4575,10 +4932,10 @@ class EmailEntityResolverService {
4575
4932
  return null;
4576
4933
  }
4577
4934
  }
4578
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EmailEntityResolverService, deps: [{ token: EntityService }], target: i0.ɵɵFactoryTarget.Injectable });
4579
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EmailEntityResolverService, providedIn: 'root' });
4935
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: EmailEntityResolverService, deps: [{ token: EntityService }], target: i0.ɵɵFactoryTarget.Injectable });
4936
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: EmailEntityResolverService, providedIn: 'root' });
4580
4937
  }
4581
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EmailEntityResolverService, decorators: [{
4938
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: EmailEntityResolverService, decorators: [{
4582
4939
  type: Injectable,
4583
4940
  args: [{
4584
4941
  providedIn: 'root',
@@ -4658,7 +5015,7 @@ class EmailConversationResolverService {
4658
5015
  }
4659
5016
  async matchByInReplyTo(tenantId, inReplyTo) {
4660
5017
  try {
4661
- const messages = await this.interactionService.ListInteractionMessagesByExternalMessageId(inReplyTo);
5018
+ const messages = await this.interactionService.ListInteractionMessagesByExternalId(inReplyTo);
4662
5019
  const items = messages?.items || [];
4663
5020
  if (items.length > 0 && items[0].entityConversationId) {
4664
5021
  return await this.entityConversationService.GetEntityConversation(items[0].entityConversationId);
@@ -4700,10 +5057,10 @@ class EmailConversationResolverService {
4700
5057
  }
4701
5058
  return null;
4702
5059
  }
4703
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EmailConversationResolverService, deps: [{ token: EntityConversationService }, { token: InteractionService }], target: i0.ɵɵFactoryTarget.Injectable });
4704
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EmailConversationResolverService, providedIn: 'root' });
5060
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: EmailConversationResolverService, deps: [{ token: EntityConversationService }, { token: InteractionService }], target: i0.ɵɵFactoryTarget.Injectable });
5061
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: EmailConversationResolverService, providedIn: 'root' });
4705
5062
  }
4706
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EmailConversationResolverService, decorators: [{
5063
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: EmailConversationResolverService, decorators: [{
4707
5064
  type: Injectable,
4708
5065
  args: [{
4709
5066
  providedIn: 'root',
@@ -4788,10 +5145,10 @@ class InteractionMessageTemplateService {
4788
5145
  }
4789
5146
  return rendered;
4790
5147
  }
4791
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: InteractionMessageTemplateService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
4792
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: InteractionMessageTemplateService, providedIn: 'root' });
5148
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: InteractionMessageTemplateService, deps: [{ token: AppSyncHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
5149
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: InteractionMessageTemplateService, providedIn: 'root' });
4793
5150
  }
4794
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: InteractionMessageTemplateService, decorators: [{
5151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: InteractionMessageTemplateService, decorators: [{
4795
5152
  type: Injectable,
4796
5153
  args: [{
4797
5154
  providedIn: 'root',
@@ -4806,5 +5163,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
4806
5163
  * Generated bundle index. Do not edit.
4807
5164
  */
4808
5165
 
4809
- export { AMPLIFY_CONFIG, AppSyncHelperService, BillingAccountStatus, BillingAdminActionStatus, BillingAdminActionType, BillingChargeStatus, BillingCreditClass, BillingEntityStatus, BillingInvoiceStatus, BillingInvoiceType, BillingKycCaseStatus, BillingKycCaseType, BillingLedgerDirection, BillingLedgerEntryType, BillingPaymentDirection, BillingPaymentMethodStatus, BillingPaymentPurpose, BillingPaymentRail, BillingPaymentStatus, BillingPeriodType, BillingPriceBookType, BillingPricingType, BillingRatingStatus, BillingReceiptMatchStatus, BillingSubscriptionStatus, BillingTaxTreatment, CleanDeep, CommonService, CustomPipesModule, CustomValidators, DomainNamePipe, EmailConversationResolverService, EmailEntityResolverService, EncryptedStorageService, EntityConversationService, EntityService, ErrorComponent, FIELDS_COUNTRY, FIELDS_ENTITY, FIELDS_ENTITY_CONVERSATION, FIELDS_ENTITY_CONVERSATION_EXPANDED, FIELDS_ENTITY_CONVERSATION_MINIMAL, FIELDS_ENTITY_EXPANDED, FIELDS_ENTITY_MINIMAL, FIELDS_ENTITY_TYPE, FIELDS_INTERACTION, FIELDS_INTERACTION_ATTENDEE, FIELDS_INTERACTION_ATTENDEE_EXPANDED, FIELDS_INTERACTION_ENDPOINT, FIELDS_INTERACTION_ENDPOINT_MINIMAL, FIELDS_INTERACTION_EXPANDED, FIELDS_INTERACTION_HOST, FIELDS_INTERACTION_INVITEE, FIELDS_INTERACTION_MESSAGE, FIELDS_INTERACTION_MESSAGE_ATTACHMENT, FIELDS_INTERACTION_MESSAGE_EXPANDED, FIELDS_INTERACTION_MESSAGE_TEMPLATE, FIELDS_INTERACTION_MINIMAL, FIELDS_INTERACTION_WIDGET, FIELDS_INTERACTION_WIDGET_USER_SETTING, FIELDS_LANGUAGE, FIELDS_PHONE_NUMBER, FIELDS_TEAM, FIELDS_TEAM_MEMBER, FIELDS_TENANT, FIELDS_TENANT_COMPLIANCE_DOCUMENT, FIELDS_TENANT_EXPANDED, FIELDS_TENANT_MINIMAL, FIELDS_TICKET, FIELDS_TICKET_PRIORITY, FIELDS_TICKET_STATUS, FIELDS_TICKET_TYPE, FIELDS_USER, FIELDS_USER_SESSION, FooterComponent, FormatEpochTimestampPipe, InteractionChannel, InteractionContext, InteractionDirection, InteractionEndpointService, InteractionMessageDirection, InteractionMessageStatus, InteractionMessageTemplateService, InteractionProvider, InteractionRouteLogic, InteractionService, InteractionStatus, InteractionWidgetService, LoaderComponent, ModelAttributeTypes, ModelSortDirection, OpenSearchHelperService, ProcessingStatus, S3HelperService, SafeHtmlPipe, SearchInnerFieldPipe, SearchPipe, SingularizePipe, SnugdeskAuthenticationService, SnugdeskCoreModule, SnugdeskIPRegistryService, StorageType, TeamService, TenantComplianceDocumentStatus, TenantComplianceDocumentType, TenantSSOConfigurationProtocol, TenantService, TicketService, UserService, UserSessionService, UserStatus, UserType, generateReferenceNumber, provideAmplifyConfig, sanitizeHtmlBody };
5166
+ export { AMPLIFY_CONFIG, AppSyncHelperService, BillingAccountStatus, BillingAdminActionStatus, BillingAdminActionType, BillingChargeStatus, BillingCreditClass, BillingEntityStatus, BillingInvoiceStatus, BillingInvoiceType, BillingKycCaseStatus, BillingKycCaseType, BillingLedgerDirection, BillingLedgerEntryType, BillingMode, BillingPaymentDirection, BillingPaymentMethodStatus, BillingPaymentPurpose, BillingPaymentRail, BillingPaymentStatus, BillingPeriodType, BillingPriceBookType, BillingPricingType, BillingRatingStatus, BillingReceiptMatchStatus, BillingSubscriptionStatus, BillingTaxTreatment, CleanDeep, CommonService, CustomPipesModule, CustomValidators, DEFAULT_WEB_CHAT_WIDGET_CONFIGURATION, DomainNamePipe, EmailConversationResolverService, EmailEntityResolverService, EncryptedStorageService, EntityConversationService, EntityService, ErrorComponent, FIELDS_COUNTRY, FIELDS_ENTITY, FIELDS_ENTITY_CONVERSATION, FIELDS_ENTITY_CONVERSATION_EXPANDED, FIELDS_ENTITY_CONVERSATION_MINIMAL, FIELDS_ENTITY_EXPANDED, FIELDS_ENTITY_MINIMAL, FIELDS_ENTITY_TYPE, FIELDS_ENTITY_TYPE_EXPANDED, FIELDS_INTERACTION, FIELDS_INTERACTION_ATTENDEE, FIELDS_INTERACTION_ATTENDEE_EXPANDED, FIELDS_INTERACTION_ENDPOINT, FIELDS_INTERACTION_ENDPOINT_MINIMAL, FIELDS_INTERACTION_ENDPOINT_RECORDING_CONFIG, FIELDS_INTERACTION_ENDPOINT_ROUTING_CONFIG, FIELDS_INTERACTION_ENDPOINT_WORKING_HOURS_ACTION_CONFIG, FIELDS_INTERACTION_EXPANDED, FIELDS_INTERACTION_HOST, FIELDS_INTERACTION_INVITEE, FIELDS_INTERACTION_MESSAGE, FIELDS_INTERACTION_MESSAGE_ATTACHMENT, FIELDS_INTERACTION_MESSAGE_EXPANDED, FIELDS_INTERACTION_MESSAGE_TEMPLATE, FIELDS_INTERACTION_MINIMAL, FIELDS_INTERACTION_WIDGET, FIELDS_INTERACTION_WIDGET_SESSION, FIELDS_INTERACTION_WIDGET_USER_SETTING, FIELDS_LANGUAGE, FIELDS_PHONE_NUMBER, FIELDS_TEAM, FIELDS_TEAM_MEMBER, FIELDS_TENANT, FIELDS_TENANT_COMPLIANCE_DOCUMENT, FIELDS_TENANT_EXPANDED, FIELDS_TENANT_MINIMAL, FIELDS_TENANT_ONBOARDING, FIELDS_TENANT_PREFERENCES, FIELDS_TENANT_PROFILE, FIELDS_TICKET, FIELDS_TICKET_PRIORITY, FIELDS_TICKET_STATUS, FIELDS_TICKET_TYPE, FIELDS_USER, FIELDS_USER_SESSION, FlowRuntimeStatus, FooterComponent, FormatEpochTimestampPipe, InteractionChannel, InteractionContext, InteractionDirection, InteractionEndpointService, InteractionMessageDirection, InteractionMessageStatus, InteractionMessageTemplateService, InteractionProvider, InteractionRouteLogic, InteractionService, InteractionStatus, InteractionWidgetService, LoaderComponent, ModelAttributeTypes, ModelSortDirection, OpenSearchHelperService, ProcessingStatus, RecordingMode, RecordingNotify, RoutingFallback, RoutingNoPickup, RoutingRole, RoutingStrategy, S3HelperService, SafeHtmlPipe, SearchInnerFieldPipe, SearchPipe, SingularizePipe, SnugdeskAuthenticationService, SnugdeskCoreModule, SnugdeskIPRegistryService, StorageType, TeamService, TenantComplianceDocumentStatus, TenantComplianceDocumentType, TenantExternalCrmProvider, TenantOnboardingStatus, TenantSSOConfigurationProtocol, TenantService, TicketService, UserService, UserSessionService, UserStatus, UserType, WorkingHoursFallbackAction, generateReferenceNumber, parseWebChatWidgetConfiguration, provideAmplifyConfig, sanitizeHtmlBody };
4810
5167
  //# sourceMappingURL=snugdesk-core.mjs.map