@sd-angular/core 1.3.123 → 1.3.125

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.
@@ -704,6 +704,201 @@
704
704
  return JSON.parse(strs.join(''));
705
705
  };
706
706
 
707
+ /**
708
+ *
709
+ * detectIncognito v1.3.0 - (c) 2022 Joe Rutkowski <Joe@dreggle.com> (https://github.com/Joe12387/detectIncognito)
710
+ *
711
+ **/
712
+ var detectIncognito = function () {
713
+ return new Promise(function (resolve, reject) {
714
+ var browserName = 'Unknown';
715
+ function __callback(isPrivate) {
716
+ resolve({
717
+ isPrivate: isPrivate,
718
+ browserName: browserName,
719
+ });
720
+ }
721
+ function identifyChromium() {
722
+ var ua = navigator.userAgent;
723
+ if (ua.match(/Chrome/)) {
724
+ if (navigator.brave !== undefined) {
725
+ return 'Brave';
726
+ }
727
+ else if (ua.match(/Edg/)) {
728
+ return 'Edge';
729
+ }
730
+ else if (ua.match(/OPR/)) {
731
+ return 'Opera';
732
+ }
733
+ return 'Chrome';
734
+ }
735
+ else {
736
+ return 'Chromium';
737
+ }
738
+ }
739
+ function assertEvalToString(value) {
740
+ return value === eval.toString().length;
741
+ }
742
+ function isSafari() {
743
+ var v = navigator.vendor;
744
+ return (v !== undefined && v.indexOf('Apple') === 0 && assertEvalToString(37));
745
+ }
746
+ function isChrome() {
747
+ var v = navigator.vendor;
748
+ return (v !== undefined && v.indexOf('Google') === 0 && assertEvalToString(33));
749
+ }
750
+ function isFirefox() {
751
+ return (document.documentElement !== undefined &&
752
+ document.documentElement.style.MozAppearance !== undefined &&
753
+ assertEvalToString(37));
754
+ }
755
+ function isMSIE() {
756
+ return (navigator.msSaveBlob !== undefined && assertEvalToString(39));
757
+ }
758
+ /**
759
+ * Safari (Safari for iOS & macOS)
760
+ **/
761
+ function newSafariTest() {
762
+ // tslint:disable-next-line:variable-name
763
+ var tmp_name = String(Math.random());
764
+ try {
765
+ var db = window.indexedDB.open(tmp_name, 1);
766
+ db.onupgradeneeded = function (i) {
767
+ var _a, _b;
768
+ // @ts-ignore
769
+ var res = (_a = i.target) === null || _a === void 0 ? void 0 : _a.result;
770
+ try {
771
+ res.createObjectStore('test', {
772
+ autoIncrement: true,
773
+ }).put(new Blob);
774
+ __callback(false);
775
+ }
776
+ catch (e) {
777
+ var message = e;
778
+ if (e instanceof Error) {
779
+ message = (_b = e.message) !== null && _b !== void 0 ? _b : e;
780
+ }
781
+ if (typeof message !== 'string') {
782
+ return __callback(false);
783
+ }
784
+ var matchesExpectedError = /BlobURLs are not yet supported/.test(message);
785
+ return __callback(matchesExpectedError);
786
+ }
787
+ finally {
788
+ res.close();
789
+ window.indexedDB.deleteDatabase(tmp_name);
790
+ }
791
+ };
792
+ }
793
+ catch (e) {
794
+ return __callback(false);
795
+ }
796
+ }
797
+ function oldSafariTest() {
798
+ var openDB = window.openDatabase;
799
+ var storage = window.localStorage;
800
+ try {
801
+ openDB(null, null, null, null);
802
+ }
803
+ catch (e) {
804
+ return __callback(true);
805
+ }
806
+ try {
807
+ storage.setItem('test', '1');
808
+ storage.removeItem('test');
809
+ }
810
+ catch (e) {
811
+ return __callback(true);
812
+ }
813
+ return __callback(false);
814
+ }
815
+ function safariPrivateTest() {
816
+ if (navigator.maxTouchPoints !== undefined) {
817
+ newSafariTest();
818
+ }
819
+ else {
820
+ oldSafariTest();
821
+ }
822
+ }
823
+ /**
824
+ * Chrome
825
+ **/
826
+ function getQuotaLimit() {
827
+ var w = window;
828
+ if (w.performance !== undefined &&
829
+ w.performance.memory !== undefined &&
830
+ w.performance.memory.jsHeapSizeLimit !== undefined) {
831
+ return performance.memory.jsHeapSizeLimit;
832
+ }
833
+ return 1073741824;
834
+ }
835
+ // >= 76
836
+ function storageQuotaChromePrivateTest() {
837
+ navigator.webkitTemporaryStorage.queryUsageAndQuota(function (_, quota) {
838
+ var quotaInMib = Math.round(quota / (1024 * 1024));
839
+ var quotaLimitInMib = Math.round(getQuotaLimit() / (1024 * 1024)) * 2;
840
+ __callback(quotaInMib < quotaLimitInMib);
841
+ }, function (e) {
842
+ reject(new Error('detectIncognito somehow failed to query storage quota: ' +
843
+ e.message));
844
+ });
845
+ }
846
+ // 50 to 75
847
+ function oldChromePrivateTest() {
848
+ var fs = window.webkitRequestFileSystem;
849
+ var success = function () {
850
+ __callback(false);
851
+ };
852
+ var error = function () {
853
+ __callback(true);
854
+ };
855
+ fs(0, 1, success, error);
856
+ }
857
+ function chromePrivateTest() {
858
+ if (self.Promise !== undefined && self.Promise.allSettled !== undefined) {
859
+ storageQuotaChromePrivateTest();
860
+ }
861
+ else {
862
+ oldChromePrivateTest();
863
+ }
864
+ }
865
+ /**
866
+ * Firefox
867
+ **/
868
+ function firefoxPrivateTest() {
869
+ __callback(navigator.serviceWorker === undefined);
870
+ }
871
+ /**
872
+ * MSIE
873
+ **/
874
+ function msiePrivateTest() {
875
+ __callback(window.indexedDB === undefined);
876
+ }
877
+ function main() {
878
+ if (isSafari()) {
879
+ browserName = 'Safari';
880
+ safariPrivateTest();
881
+ }
882
+ else if (isChrome()) {
883
+ browserName = identifyChromium();
884
+ chromePrivateTest();
885
+ }
886
+ else if (isFirefox()) {
887
+ browserName = 'Firefox';
888
+ firefoxPrivateTest();
889
+ }
890
+ else if (isMSIE()) {
891
+ browserName = 'Internet Explorer';
892
+ msiePrivateTest();
893
+ }
894
+ else {
895
+ reject(new Error('detectIncognito cannot determine the browser'));
896
+ }
897
+ }
898
+ main();
899
+ });
900
+ };
901
+
707
902
  var upload = function (option) {
708
903
  var uploadId = 'U1e09c1c0-b647-437e-995e-d7a1a1b60550';
709
904
  var promise = new Promise(function (resolve, reject) {
@@ -852,13 +1047,26 @@
852
1047
  });
853
1048
  }); };
854
1049
  var ɵ6 = allWithPaging;
1050
+ var isPrivateMode = function () { return __awaiter(void 0, void 0, void 0, function () {
1051
+ var check;
1052
+ return __generator(this, function (_b) {
1053
+ switch (_b.label) {
1054
+ case 0: return [4 /*yield*/, detectIncognito()];
1055
+ case 1:
1056
+ check = _b.sent();
1057
+ return [2 /*return*/, check.isPrivate];
1058
+ }
1059
+ });
1060
+ }); };
1061
+ var ɵ7 = isPrivateMode;
855
1062
  var SdUtility = {
856
1063
  upload: upload,
857
1064
  download: download,
858
1065
  downloadBlob: downloadBlob,
859
1066
  changeAliasLowerCase: changeAliasLowerCase,
860
1067
  copyToClipboard: copyToClipboard,
861
- allWithPaging: allWithPaging
1068
+ allWithPaging: allWithPaging,
1069
+ isPrivateMode: isPrivateMode,
862
1070
  };
863
1071
  globalThis.SdUtility = SdUtility;
864
1072