@mlightcad/cad-simple-viewer 1.7.4 → 1.7.5

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.
Files changed (126) hide show
  1. package/README.md +5 -0
  2. package/dist/cad-simple-viewer.js +8578 -7149
  3. package/dist/cad-simple-viewer.umd.cjs +429 -85
  4. package/lib/app/AcApDocManager.d.ts +44 -1
  5. package/lib/app/AcApDocManager.d.ts.map +1 -1
  6. package/lib/app/AcApDocManager.js +126 -1
  7. package/lib/app/AcApDocManager.js.map +1 -1
  8. package/lib/app/AcApOpenDatabaseOptions.d.ts +27 -0
  9. package/lib/app/AcApOpenDatabaseOptions.d.ts.map +1 -1
  10. package/lib/app/AcApOpenFileDialog.d.ts +1 -1
  11. package/lib/app/AcApOpenFileDialog.d.ts.map +1 -1
  12. package/lib/app/AcApOpenFileDialog.js +22 -92
  13. package/lib/app/AcApOpenFileDialog.js.map +1 -1
  14. package/lib/app/AcApOpenFileProfiler.d.ts +14 -0
  15. package/lib/app/AcApOpenFileProfiler.d.ts.map +1 -1
  16. package/lib/app/AcApOpenFileProfiler.js +25 -3
  17. package/lib/app/AcApOpenFileProfiler.js.map +1 -1
  18. package/lib/app/dataSource/AcApDataSource.d.ts +97 -0
  19. package/lib/app/dataSource/AcApDataSource.d.ts.map +1 -0
  20. package/lib/app/dataSource/AcApDataSource.js +2 -0
  21. package/lib/app/dataSource/AcApDataSource.js.map +1 -0
  22. package/lib/app/dataSource/AcApDataSourceManager.d.ts +70 -0
  23. package/lib/app/dataSource/AcApDataSourceManager.d.ts.map +1 -0
  24. package/lib/app/dataSource/AcApDataSourceManager.js +84 -0
  25. package/lib/app/dataSource/AcApDataSourceManager.js.map +1 -0
  26. package/lib/app/dataSource/AcApLocalDataSource.d.ts +25 -0
  27. package/lib/app/dataSource/AcApLocalDataSource.d.ts.map +1 -0
  28. package/lib/app/dataSource/AcApLocalDataSource.js +153 -0
  29. package/lib/app/dataSource/AcApLocalDataSource.js.map +1 -0
  30. package/lib/app/dataSource/AcApUrlDataSource.d.ts +17 -0
  31. package/lib/app/dataSource/AcApUrlDataSource.d.ts.map +1 -0
  32. package/lib/app/dataSource/AcApUrlDataSource.js +214 -0
  33. package/lib/app/dataSource/AcApUrlDataSource.js.map +1 -0
  34. package/lib/app/dataSource/acapBuildDataSourceMenu.d.ts +42 -0
  35. package/lib/app/dataSource/acapBuildDataSourceMenu.d.ts.map +1 -0
  36. package/lib/app/dataSource/acapBuildDataSourceMenu.js +121 -0
  37. package/lib/app/dataSource/acapBuildDataSourceMenu.js.map +1 -0
  38. package/lib/app/dataSource/acapInvokeDataSourceMenuAction.d.ts +17 -0
  39. package/lib/app/dataSource/acapInvokeDataSourceMenuAction.d.ts.map +1 -0
  40. package/lib/app/dataSource/acapInvokeDataSourceMenuAction.js +74 -0
  41. package/lib/app/dataSource/acapInvokeDataSourceMenuAction.js.map +1 -0
  42. package/lib/app/dataSource/acapOpenCenteredPopup.d.ts +13 -0
  43. package/lib/app/dataSource/acapOpenCenteredPopup.d.ts.map +1 -0
  44. package/lib/app/dataSource/acapOpenCenteredPopup.js +35 -0
  45. package/lib/app/dataSource/acapOpenCenteredPopup.js.map +1 -0
  46. package/lib/app/dataSource/acapOpenDataSourceResult.d.ts +13 -0
  47. package/lib/app/dataSource/acapOpenDataSourceResult.d.ts.map +1 -0
  48. package/lib/app/dataSource/acapOpenDataSourceResult.js +90 -0
  49. package/lib/app/dataSource/acapOpenDataSourceResult.js.map +1 -0
  50. package/lib/app/dataSource/acapRunDataSourceMenuAction.d.ts +15 -0
  51. package/lib/app/dataSource/acapRunDataSourceMenuAction.d.ts.map +1 -0
  52. package/lib/app/dataSource/acapRunDataSourceMenuAction.js +74 -0
  53. package/lib/app/dataSource/acapRunDataSourceMenuAction.js.map +1 -0
  54. package/lib/app/dataSource/acapWithDataSourceBusy.d.ts +12 -0
  55. package/lib/app/dataSource/acapWithDataSourceBusy.d.ts.map +1 -0
  56. package/lib/app/dataSource/acapWithDataSourceBusy.js +88 -0
  57. package/lib/app/dataSource/acapWithDataSourceBusy.js.map +1 -0
  58. package/lib/app/dataSource/index.d.ts +11 -0
  59. package/lib/app/dataSource/index.d.ts.map +1 -0
  60. package/lib/app/dataSource/index.js +10 -0
  61. package/lib/app/dataSource/index.js.map +1 -0
  62. package/lib/app/index.d.ts +1 -0
  63. package/lib/app/index.d.ts.map +1 -1
  64. package/lib/app/index.js +1 -0
  65. package/lib/app/index.js.map +1 -1
  66. package/lib/editor/global/AcEdUiTheme.d.ts +10 -1
  67. package/lib/editor/global/AcEdUiTheme.d.ts.map +1 -1
  68. package/lib/editor/global/AcEdUiTheme.js +35 -2
  69. package/lib/editor/global/AcEdUiTheme.js.map +1 -1
  70. package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
  71. package/lib/editor/input/ui/AcEdCommandLine.js +7 -7
  72. package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
  73. package/lib/i18n/ar/main.d.ts +26 -0
  74. package/lib/i18n/ar/main.d.ts.map +1 -1
  75. package/lib/i18n/ar/main.js +26 -0
  76. package/lib/i18n/ar/main.js.map +1 -1
  77. package/lib/i18n/cs/main.d.ts +26 -0
  78. package/lib/i18n/cs/main.d.ts.map +1 -1
  79. package/lib/i18n/cs/main.js +26 -0
  80. package/lib/i18n/cs/main.js.map +1 -1
  81. package/lib/i18n/en/main.d.ts +26 -0
  82. package/lib/i18n/en/main.d.ts.map +1 -1
  83. package/lib/i18n/en/main.js +26 -0
  84. package/lib/i18n/en/main.js.map +1 -1
  85. package/lib/i18n/tr/main.d.ts +26 -0
  86. package/lib/i18n/tr/main.d.ts.map +1 -1
  87. package/lib/i18n/tr/main.js +26 -0
  88. package/lib/i18n/tr/main.js.map +1 -1
  89. package/lib/i18n/zh/main.d.ts +26 -0
  90. package/lib/i18n/zh/main.d.ts.map +1 -1
  91. package/lib/i18n/zh/main.js +26 -0
  92. package/lib/i18n/zh/main.js.map +1 -1
  93. package/lib/ui/AcUiFileOpenPanel.d.ts +156 -0
  94. package/lib/ui/AcUiFileOpenPanel.d.ts.map +1 -0
  95. package/lib/ui/AcUiFileOpenPanel.js +695 -0
  96. package/lib/ui/AcUiFileOpenPanel.js.map +1 -0
  97. package/lib/ui/icons.d.ts +2 -0
  98. package/lib/ui/icons.d.ts.map +1 -1
  99. package/lib/ui/icons.js +2 -0
  100. package/lib/ui/icons.js.map +1 -1
  101. package/lib/ui/index.d.ts +1 -0
  102. package/lib/ui/index.d.ts.map +1 -1
  103. package/lib/ui/index.js +1 -0
  104. package/lib/ui/index.js.map +1 -1
  105. package/lib/util/AcApTextStyleFontPreload.d.ts +42 -0
  106. package/lib/util/AcApTextStyleFontPreload.d.ts.map +1 -0
  107. package/lib/util/AcApTextStyleFontPreload.js +149 -0
  108. package/lib/util/AcApTextStyleFontPreload.js.map +1 -0
  109. package/lib/util/index.d.ts +1 -0
  110. package/lib/util/index.d.ts.map +1 -1
  111. package/lib/util/index.js +1 -0
  112. package/lib/util/index.js.map +1 -1
  113. package/lib/view/AcTrLayout.d.ts +5 -0
  114. package/lib/view/AcTrLayout.d.ts.map +1 -1
  115. package/lib/view/AcTrLayout.js +11 -0
  116. package/lib/view/AcTrLayout.js.map +1 -1
  117. package/lib/view/AcTrScene.d.ts +7 -0
  118. package/lib/view/AcTrScene.d.ts.map +1 -1
  119. package/lib/view/AcTrScene.js +78 -48
  120. package/lib/view/AcTrScene.js.map +1 -1
  121. package/lib/view/AcTrView2d.d.ts +68 -1
  122. package/lib/view/AcTrView2d.d.ts.map +1 -1
  123. package/lib/view/AcTrView2d.js +311 -124
  124. package/lib/view/AcTrView2d.js.map +1 -1
  125. package/package.json +8 -8
  126. package/src/ui/icons.ts +4 -0
@@ -36,39 +36,12 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  };
37
37
  import { log } from '@mlightcad/data-model';
38
38
  import { eventBus } from '../editor/global/eventBus';
39
- import { AcEdOpenMode } from '../editor/view/AcEdOpenMode';
40
- /** File extensions accepted by the built-in OPEN file dialog. */
41
- var SUPPORTED_EXTENSIONS = ['.dxf', '.dwg'];
42
- /** Hidden `<input type="file">` element reused across OPEN requests. */
43
- var fileInput;
39
+ import { acapPickLocalCadFile } from './dataSource/AcApLocalDataSource';
40
+ import { acapOpenDataSourceResult } from './dataSource/acapOpenDataSourceResult';
44
41
  /** Whether {@link acapInstallOpenFileDialog} has registered the `open-file` listener. */
45
42
  var installed = false;
46
43
  /** Active dialog options merged from install and update calls. */
47
44
  var currentOptions = {};
48
- /**
49
- * Returns whether the given file name has a supported CAD extension.
50
- *
51
- * @param fileName - Local file name including extension.
52
- * @returns `true` when the name ends with `.dxf` or `.dwg` (case-insensitive).
53
- */
54
- var isSupportedCadFile = function (fileName) {
55
- var lowerName = fileName.toLowerCase();
56
- return SUPPORTED_EXTENSIONS.some(function (ext) { return lowerName.endsWith(ext); });
57
- };
58
- /**
59
- * Reads a browser {@link File} into memory as raw bytes.
60
- *
61
- * @param file - File selected from the hidden file input.
62
- * @returns Resolves with the file contents as an {@link ArrayBuffer}.
63
- */
64
- var readFileAsArrayBuffer = function (file) {
65
- return new Promise(function (resolve, reject) {
66
- var reader = new FileReader();
67
- reader.onload = function () { return resolve(reader.result); };
68
- reader.onerror = function () { var _a; return reject((_a = reader.error) !== null && _a !== void 0 ? _a : new Error('Failed to read file')); };
69
- reader.readAsArrayBuffer(file);
70
- });
71
- };
72
45
  /**
73
46
  * Resolves database open options for a user-selected file.
74
47
  *
@@ -86,73 +59,33 @@ var resolveOpenDocumentDefaults = function (getDefaults) { return __awaiter(void
86
59
  });
87
60
  }); };
88
61
  /**
89
- * Opens the hidden file picker in response to an `open-file` event.
62
+ * Opens the local CAD file picker in response to an `open-file` event.
90
63
  *
91
- * Creates and appends the input element on first use, then triggers `click()`.
64
+ * Delegates to the shared local data-source picker, then opens the document.
92
65
  */
93
- var onOpenFile = function () {
94
- if (!fileInput) {
95
- fileInput = document.createElement('input');
96
- fileInput.type = 'file';
97
- fileInput.accept = SUPPORTED_EXTENSIONS.join(',');
98
- fileInput.style.display = 'none';
99
- fileInput.addEventListener('change', onFileChange);
100
- document.body.appendChild(fileInput);
101
- }
102
- fileInput.click();
103
- };
104
- /**
105
- * Handles file selection from the hidden input.
106
- *
107
- * Validates the extension, reads the file, and delegates opening to
108
- * {@link AcApDocManager.openDocument}. Clears the input value so the same file
109
- * can be chosen again.
110
- *
111
- * @param event - `change` event from the hidden file input.
112
- */
113
- var onFileChange = function (event) { return __awaiter(void 0, void 0, void 0, function () {
114
- var target, file, content, AcApDocManager, options, error_1;
115
- var _a, _b;
116
- return __generator(this, function (_c) {
117
- switch (_c.label) {
66
+ var onOpenFile = function () { return __awaiter(void 0, void 0, void 0, function () {
67
+ var file, options, error_1;
68
+ return __generator(this, function (_a) {
69
+ switch (_a.label) {
118
70
  case 0:
119
- target = event.target;
120
- file = (_a = target.files) === null || _a === void 0 ? void 0 : _a[0];
121
- target.value = '';
122
- if (!file)
123
- return [2 /*return*/];
124
- if (!isSupportedCadFile(file.name)) {
125
- log.warn("Unsupported file type: ".concat(file.name));
126
- return [2 /*return*/];
127
- }
128
- content = null;
129
- _c.label = 1;
71
+ _a.trys.push([0, 4, , 5]);
72
+ return [4 /*yield*/, acapPickLocalCadFile()];
130
73
  case 1:
131
- _c.trys.push([1, 6, 7, 8]);
132
- return [4 /*yield*/, readFileAsArrayBuffer(file)];
74
+ file = _a.sent();
75
+ if (!(file === null || file === void 0 ? void 0 : file.content))
76
+ return [2 /*return*/];
77
+ return [4 /*yield*/, resolveOpenDocumentDefaults(currentOptions.getOpenDocumentDefaults)];
133
78
  case 2:
134
- content = _c.sent();
135
- return [4 /*yield*/, import('./AcApDocManager')];
79
+ options = _a.sent();
80
+ return [4 /*yield*/, acapOpenDataSourceResult(file, options)];
136
81
  case 3:
137
- AcApDocManager = (_c.sent()).AcApDocManager;
138
- return [4 /*yield*/, resolveOpenDocumentDefaults(currentOptions.getOpenDocumentDefaults)];
82
+ _a.sent();
83
+ return [3 /*break*/, 5];
139
84
  case 4:
140
- options = _c.sent();
141
- eventBus.emit('open-local-file-started', {
142
- mode: (_b = options.mode) !== null && _b !== void 0 ? _b : AcEdOpenMode.Read
143
- });
144
- return [4 /*yield*/, AcApDocManager.instance.openDocument(file.name, content, options)];
145
- case 5:
146
- _c.sent();
147
- return [3 /*break*/, 8];
148
- case 6:
149
- error_1 = _c.sent();
85
+ error_1 = _a.sent();
150
86
  log.error('Failed to open selected file:', error_1);
151
- return [3 /*break*/, 8];
152
- case 7:
153
- content = null;
154
- return [7 /*endfinally*/];
155
- case 8: return [2 /*return*/];
87
+ return [3 /*break*/, 5];
88
+ case 5: return [2 /*return*/];
156
89
  }
157
90
  });
158
91
  }); };
@@ -182,14 +115,11 @@ export function acapInstallOpenFileDialog(options) {
182
115
  export function acapUpdateOpenFileDialogOptions(options) {
183
116
  currentOptions = options;
184
117
  }
185
- /** Removes the built-in OPEN file dialog and its hidden input element. */
118
+ /** Removes the built-in OPEN file dialog listener. */
186
119
  export function acapUninstallOpenFileDialog() {
187
120
  if (!installed)
188
121
  return;
189
122
  eventBus.off('open-file', onOpenFile);
190
- fileInput === null || fileInput === void 0 ? void 0 : fileInput.removeEventListener('change', onFileChange);
191
- fileInput === null || fileInput === void 0 ? void 0 : fileInput.remove();
192
- fileInput = undefined;
193
123
  installed = false;
194
124
  currentOptions = {};
195
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AcApOpenFileDialog.js","sourceRoot":"","sources":["../../src/app/AcApOpenFileDialog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcApOpenFileDialog.js","sourceRoot":"","sources":["../../src/app/AcApOpenFileDialog.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAA;AAwBhF,yFAAyF;AACzF,IAAI,SAAS,GAAG,KAAK,CAAA;AACrB,kEAAkE;AAClE,IAAI,cAAc,GAA8B,EAAE,CAAA;AAElD;;;;;;;GAOG;AACH,IAAM,2BAA2B,GAAG,UAClC,WAAkE;;QAElE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,sBAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAA;QACnC,CAAC;QACD,sBAAO,WAAW,EAAE,EAAA;;KACrB,CAAA;AAED;;;;GAIG;AACH,IAAM,UAAU,GAAG;;;;;;gBAEF,qBAAM,oBAAoB,EAAE,EAAA;;gBAAnC,IAAI,GAAG,SAA4B;gBACzC,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAA;oBAAE,sBAAM;gBACV,qBAAM,2BAA2B,CAC/C,cAAc,CAAC,uBAAuB,CACvC,EAAA;;gBAFK,OAAO,GAAG,SAEf;gBACD,qBAAM,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAA;;gBAA7C,SAA6C,CAAA;;;;gBAE7C,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,OAAK,CAAC,CAAA;;;;;KAEpD,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAuC;IAAvC,wBAAA,EAAA,YAAuC;IAEvC,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK;QAAE,OAAM;IAErC,cAAc,GAAG,OAAO,CAAA;IACxB,IAAI,SAAS;QAAE,OAAM;IAErB,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IACpC,SAAS,GAAG,IAAI,CAAA;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAkC;IAElC,cAAc,GAAG,OAAO,CAAA;AAC1B,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,2BAA2B;IACzC,IAAI,CAAC,SAAS;QAAE,OAAM;IAEtB,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IACrC,SAAS,GAAG,KAAK,CAAA;IACjB,cAAc,GAAG,EAAE,CAAA;AACrB,CAAC"}
@@ -45,6 +45,20 @@ export interface AcApOpenFileProfileSnapshot {
45
45
  paintCount: number;
46
46
  yieldCount: number;
47
47
  };
48
+ convertPhase?: {
49
+ finishGeometryMs: number;
50
+ handleGroupMs: number;
51
+ addEntityMs: number;
52
+ awaitFontsMs: number;
53
+ fontPreload?: {
54
+ critical: string[];
55
+ workerWarm?: string[];
56
+ background: string[];
57
+ preset?: string[];
58
+ workerSkipped: number;
59
+ parseSite?: 'main' | 'worker';
60
+ };
61
+ };
48
62
  }
49
63
  /**
50
64
  * Session open-file profiler.
@@ -1 +1 @@
1
- {"version":3,"file":"AcApOpenFileProfiler.d.ts","sourceRoot":"","sources":["../../src/app/AcApOpenFileProfiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EAMb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAOpD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC9C,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,EAAE,MAAM,CAAA;QACnB,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAA;YACZ,MAAM,EAAE,MAAM,CAAA;YACd,KAAK,EAAE,MAAM,CAAA;YACb,OAAO,EAAE,MAAM,CAAA;YACf,WAAW,EAAE,MAAM,CAAA;YACnB,aAAa,EAAE,MAAM,CAAA;YACrB,UAAU,EAAE,MAAM,CAAA;YAClB,OAAO,EAAE,MAAM,CAAA;SAChB,CAAA;KACF,CAAA;IACD,UAAU,EAAE;QACV,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,SAAS,EAAE,MAAM,CAAA;KAClB,EAAE,CAAA;IACH,WAAW,CAAC,EAAE;QACZ,OAAO,EAAE,OAAO,CAAA;QAChB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,aAAa,CAA2C;IAEvE,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,GAAG,CAAI;IACf,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,YAAY,CAAC,CAAQ;IAC7B,OAAO,CAAC,qBAAqB,CAAI;IACjC,OAAO,CAAC,iBAAiB,CAAC,CAAwC;IAClE,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,gBAAgB,CAAQ;IAEhC;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,2BAA2B,GAAG,IAAI;IAI5D;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO;IAajD;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAsBnC;;;;;OAKG;IACH,iCAAiC,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAQzD;;OAEG;IACH,MAAM,IAAI,IAAI;IAad,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,cAAc;YAmBR,WAAW;IAkBzB,OAAO,CAAC,aAAa;IAwIrB,OAAO,CAAC,sBAAsB;CAQ/B"}
1
+ {"version":3,"file":"AcApOpenFileProfiler.d.ts","sourceRoot":"","sources":["../../src/app/AcApOpenFileProfiler.ts"],"names":[],"mappings":"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"}
@@ -258,7 +258,7 @@ var AcApOpenFileProfiler = /** @class */ (function () {
258
258
  };
259
259
  AcApOpenFileProfiler.prototype.publishReport = function (convertEndMs, view) {
260
260
  var e_1, _a, e_2, _b;
261
- var _c, _d, _e, _f, _g;
261
+ var _c, _d, _e, _f, _g, _h, _j, _k;
262
262
  // Close the last openProgress stage when read finished (usually END/ENTITY).
263
263
  this.closeActiveStage(this._readEndMs > 0 ? this._readEndMs : convertEndMs);
264
264
  var readMs = Math.max(0, this._readEndMs - this._t0);
@@ -270,6 +270,18 @@ var AcApOpenFileProfiler = /** @class */ (function () {
270
270
  var tl = cache.topLevel;
271
271
  var progressiveStats = view.progressiveOpenStats;
272
272
  var progressiveEnabled = view.progressiveRendering;
273
+ var convertPhaseRaw = typeof view.takeConvertPhaseTimings === 'function'
274
+ ? view.takeConvertPhaseTimings()
275
+ : null;
276
+ var convertPhase = convertPhaseRaw
277
+ ? {
278
+ finishGeometryMs: convertPhaseRaw.finishGeometry,
279
+ handleGroupMs: convertPhaseRaw.handleGroup,
280
+ addEntityMs: convertPhaseRaw.addEntity,
281
+ awaitFontsMs: convertPhaseRaw.awaitFonts,
282
+ fontPreload: convertPhaseRaw.fontPreload
283
+ }
284
+ : undefined;
273
285
  var slowBlocks = __spreadArray([], __read(cache.blockMisses), false).sort(function (a, b) { return b.buildMs + b.compactMs - (a.buildMs + a.compactMs); })
274
286
  .slice(0, 10)
275
287
  .map(function (block) { return ({
@@ -311,7 +323,8 @@ var AcApOpenFileProfiler = /** @class */ (function () {
311
323
  enabled: progressiveEnabled,
312
324
  paintCount: progressiveStats.paintCount,
313
325
  yieldCount: progressiveStats.yieldCount
314
- }
326
+ },
327
+ convertPhase: convertPhase
315
328
  };
316
329
  AcApOpenFileProfiler._lastSnapshot = snapshot;
317
330
  if (!this._printToConsole) {
@@ -332,6 +345,15 @@ var AcApOpenFileProfiler = /** @class */ (function () {
332
345
  " ENTITY flush: ".concat(entityMs.toFixed(0), " ms (").concat(pct(entityMs, readMs), " of read)"),
333
346
  " scene convert: ".concat(convertMs.toFixed(0), " ms (").concat(pct(convertMs, totalMs), ")")
334
347
  ];
348
+ if (convertPhase) {
349
+ lines.push(" finishGeometry: ".concat(convertPhase.finishGeometryMs.toFixed(0), " ms (cumulative)"), " handleGroup: ".concat(convertPhase.handleGroupMs.toFixed(0), " ms (cumulative)"), " addEntity: ".concat(convertPhase.addEntityMs.toFixed(0), " ms"),
350
+ // Wall time of preset + STYLE font preload awaited before glyph draw.
351
+ " awaitFonts: ".concat(convertPhase.awaitFontsMs.toFixed(0), " ms (preset+style preload wall)"));
352
+ var fp = convertPhase.fontPreload;
353
+ if (fp) {
354
+ lines.push(" fontPreload parseSite: ".concat((_h = fp.parseSite) !== null && _h !== void 0 ? _h : 'main'), " fontPreload critical: [".concat(fp.critical.join(', '), "]"), " fontPreload preset: [".concat(((_k = (_j = fp.preset) !== null && _j !== void 0 ? _j : fp.workerWarm) !== null && _k !== void 0 ? _k : []).join(', '), "]"), " fontPreload background: [".concat(fp.background.join(', '), "]"), " fontPreload workerSkipped: ".concat(fp.workerSkipped, " (already in pool)"));
355
+ }
356
+ }
335
357
  var fontLoad = getLastFontLoadStats();
336
358
  if (fontLoad) {
337
359
  lines.push(" explicit font load: critical=".concat(fontLoad.criticalLoadMs.toFixed(0), "ms meta=").concat(fontLoad.metaMs.toFixed(0), "ms") +
@@ -386,7 +408,7 @@ var AcApOpenFileProfiler = /** @class */ (function () {
386
408
  collector.printAll();
387
409
  }
388
410
  }
389
- catch (_h) {
411
+ catch (_l) {
390
412
  // optional
391
413
  }
392
414
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AcApOpenFileProfiler.js","sourceRoot":"","sources":["../../src/app/AcApOpenFileProfiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcApOpenFileProfiler.js","sourceRoot":"","sources":["../../src/app/AcApOpenFileProfiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Auth state for a data source that may require sign-in (OneDrive, Google Drive, …).
3
+ *
4
+ * - `'none'` — no authentication (local file, public URL)
5
+ * - `'signed-out'` — requires auth and the user is not signed in
6
+ * - `'signed-in'` — requires auth and the user is signed in
7
+ */
8
+ export type AcApDataSourceAuthState = 'none' | 'signed-out' | 'signed-in';
9
+ /**
10
+ * Signed-in account details for cloud data-source UI (avatar + name).
11
+ */
12
+ export interface AcApDataSourceAccountProfile {
13
+ /** Display name shown next to the avatar. */
14
+ displayName: string;
15
+ /** Optional email / UPN under the display name. */
16
+ email?: string;
17
+ /** Optional avatar image URL (object URL or https). */
18
+ avatarUrl?: string;
19
+ }
20
+ /**
21
+ * A drawing file obtained from a data source, ready to open in the viewer.
22
+ *
23
+ * Prefer {@link content} for bytes already in memory. Prefer {@link url} when the
24
+ * source should open via {@link AcApDocManager.openUrl} (HTTP fetch with progress).
25
+ */
26
+ export interface AcApDataSourceFile {
27
+ /** File name including extension (e.g. `drawing.dwg`). */
28
+ name: string;
29
+ /** Raw file bytes. Used when {@link url} is omitted. */
30
+ content?: ArrayBuffer;
31
+ /** Remote URL opened via `openUrl` when present. */
32
+ url?: string;
33
+ }
34
+ /**
35
+ * Pluggable origin for CAD drawings (local disk, URL, OneDrive, Google Drive, …).
36
+ *
37
+ * ## Host UI contract
38
+ *
39
+ * Hosts (ribbon Open menu, {@link AcUiFileOpenPanel}, toolbars) must only:
40
+ * 1. List sources via {@link AcApDataSourceManager}
41
+ * 2. Build labels with {@link acapBuildDataSourceMenu}
42
+ * 3. Run clicks with {@link acapRunDataSourceMenuAction} /
43
+ * {@link acapInvokeDataSourceMenuAction}
44
+ *
45
+ * They must **not** open vendor File Pickers, download URLs, or show
46
+ * provider-specific login chrome. All of that belongs inside the source:
47
+ *
48
+ * - {@link signIn} / {@link signOut} — auth popups / redirects
49
+ * - {@link pick} — open File Picker (use {@link acapOpenCenteredPopup}), download
50
+ * bytes (use {@link acapWithDataSourceBusy}), return {@link AcApDataSourceFile}
51
+ * - {@link getAuthState} / {@link getAccountProfile} — drive adaptive menus
52
+ * - {@link restoreSession} — restore cached sessions after {@link AcApDataSourceManager.register}
53
+ *
54
+ * Cloud sources that open a popup File Picker must set {@link requiresUserGesture}
55
+ * and must **not** call {@link pick} in the same click handler as {@link signIn}
56
+ * (browsers block the second popup after an `await`).
57
+ */
58
+ export interface AcApDataSource {
59
+ /** Stable id used in menus and registry lookups (`local`, `url`, `onedrive`, …). */
60
+ id: string;
61
+ /** i18n key for the source display name (e.g. `main.dataSource.local`). */
62
+ labelKey: string;
63
+ /** Optional icon (inline SVG string or URL). */
64
+ icon?: string;
65
+ /** Whether this source needs user authentication. */
66
+ requiresAuth: boolean;
67
+ /**
68
+ * When true, {@link pick} must run in a direct user-gesture tick
69
+ * (e.g. `window.open` for a cloud File Picker).
70
+ */
71
+ requiresUserGesture: boolean;
72
+ /** Current authentication state. */
73
+ getAuthState(): AcApDataSourceAuthState;
74
+ /** Optional signed-in account label for menus (email / display name). */
75
+ getAccountLabel?(): string | undefined;
76
+ /**
77
+ * Signed-in profile for landing / account chrome (avatar + name).
78
+ * Auth sources should implement this so hosts need no provider-specific UI.
79
+ */
80
+ getAccountProfile?(): AcApDataSourceAccountProfile | undefined;
81
+ /**
82
+ * Restore a cached session after registration (MSAL accounts, tokens, …).
83
+ * Implementations must notify their {@link AcApDataSourceManager} via
84
+ * `notifyAuthChanged` when finished so Open menus refresh.
85
+ */
86
+ restoreSession?(): Promise<void>;
87
+ /** Interactive sign-in. No-op when {@link requiresAuth} is false. */
88
+ signIn(): Promise<void>;
89
+ /** Sign out. No-op when {@link requiresAuth} is false. */
90
+ signOut(): Promise<void>;
91
+ /**
92
+ * Opens the source-specific File Picker / dialog, downloads if needed, and
93
+ * returns the chosen drawing — or `null` when the user cancels.
94
+ */
95
+ pick(): Promise<AcApDataSourceFile | null>;
96
+ }
97
+ //# sourceMappingURL=AcApDataSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApDataSource.d.ts","sourceRoot":"","sources":["../../../src/app/dataSource/AcApDataSource.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,CAAA;AAEzE;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAA;IACnB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAA;IACZ,wDAAwD;IACxD,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,cAAc;IAC7B,oFAAoF;IACpF,EAAE,EAAE,MAAM,CAAA;IACV,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAA;IAChB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qDAAqD;IACrD,YAAY,EAAE,OAAO,CAAA;IACrB;;;OAGG;IACH,mBAAmB,EAAE,OAAO,CAAA;IAC5B,oCAAoC;IACpC,YAAY,IAAI,uBAAuB,CAAA;IACvC,yEAAyE;IACzE,eAAe,CAAC,IAAI,MAAM,GAAG,SAAS,CAAA;IACtC;;;OAGG;IACH,iBAAiB,CAAC,IAAI,4BAA4B,GAAG,SAAS,CAAA;IAC9D;;;;OAIG;IACH,cAAc,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,qEAAqE;IACrE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACvB,0DAA0D;IAC1D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB;;;OAGG;IACH,IAAI,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAA;CAC3C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AcApDataSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApDataSource.js","sourceRoot":"","sources":["../../../src/app/dataSource/AcApDataSource.ts"],"names":[],"mappings":""}
@@ -0,0 +1,70 @@
1
+ import type { AcApDataSource } from './AcApDataSource';
2
+ /** Events emitted by {@link AcApDataSourceManager}. */
3
+ export type AcApDataSourceManagerEvents = {
4
+ /** Fired when a source is registered or unregistered. */
5
+ changed: {
6
+ sources: AcApDataSource[];
7
+ };
8
+ /** Fired when a source's auth state may have changed. */
9
+ 'auth-changed': {
10
+ sourceId: string;
11
+ sources: AcApDataSource[];
12
+ };
13
+ };
14
+ /**
15
+ * Registry of drawing data sources (local, URL, cloud plugins).
16
+ *
17
+ * Owned by {@link AcApDocManager}. Cloud plugins register themselves in
18
+ * `AcApPlugin.onLoad` and unregister in `onUnload`.
19
+ */
20
+ export declare class AcApDataSourceManager {
21
+ private readonly _sources;
22
+ private readonly _emitter;
23
+ /**
24
+ * Registers a data source. Replaces any existing source with the same id.
25
+ *
26
+ * @param source - Source to register
27
+ */
28
+ register(source: AcApDataSource): void;
29
+ /**
30
+ * Removes a data source by id.
31
+ *
32
+ * @param id - Source id previously passed to {@link register}
33
+ */
34
+ unregister(id: string): void;
35
+ /**
36
+ * Returns registered sources in registration order.
37
+ */
38
+ list(): AcApDataSource[];
39
+ /**
40
+ * Looks up a source by id.
41
+ *
42
+ * @param id - Source id
43
+ */
44
+ get(id: string): AcApDataSource | undefined;
45
+ /**
46
+ * Notifies listeners that a source's auth state changed.
47
+ *
48
+ * Cloud plugins should call this after successful {@link AcApDataSource.signIn}
49
+ * / {@link AcApDataSource.signOut}.
50
+ *
51
+ * @param sourceId - Id of the source whose auth state changed
52
+ */
53
+ notifyAuthChanged(sourceId: string): void;
54
+ /**
55
+ * Subscribes to registry events.
56
+ *
57
+ * @param type - Event name
58
+ * @param handler - Listener
59
+ */
60
+ on<K extends keyof AcApDataSourceManagerEvents>(type: K, handler: (event: AcApDataSourceManagerEvents[K]) => void): void;
61
+ /**
62
+ * Unsubscribes from registry events.
63
+ *
64
+ * @param type - Event name
65
+ * @param handler - Listener previously passed to {@link on}
66
+ */
67
+ off<K extends keyof AcApDataSourceManagerEvents>(type: K, handler: (event: AcApDataSourceManagerEvents[K]) => void): void;
68
+ private emitChanged;
69
+ }
70
+ //# sourceMappingURL=AcApDataSourceManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApDataSourceManager.d.ts","sourceRoot":"","sources":["../../../src/app/dataSource/AcApDataSourceManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,uDAAuD;AACvD,MAAM,MAAM,2BAA2B,GAAG;IACxC,yDAAyD;IACzD,OAAO,EAAE;QAAE,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,CAAA;IACtC,yDAAyD;IACzD,cAAc,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,CAAA;CAChE,CAAA;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+C;IAExE;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAKtC;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK5B;;OAEG;IACH,IAAI,IAAI,cAAc,EAAE;IAIxB;;;;OAIG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI3C;;;;;;;OAOG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAOzC;;;;;OAKG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,2BAA2B,EAC5C,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC,CAAC,KAAK,IAAI,GACvD,IAAI;IAIP;;;;;OAKG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,2BAA2B,EAC7C,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC,CAAC,KAAK,IAAI,GACvD,IAAI;IAIP,OAAO,CAAC,WAAW;CAGpB"}
@@ -0,0 +1,84 @@
1
+ import mitt from 'mitt';
2
+ /**
3
+ * Registry of drawing data sources (local, URL, cloud plugins).
4
+ *
5
+ * Owned by {@link AcApDocManager}. Cloud plugins register themselves in
6
+ * `AcApPlugin.onLoad` and unregister in `onUnload`.
7
+ */
8
+ var AcApDataSourceManager = /** @class */ (function () {
9
+ function AcApDataSourceManager() {
10
+ this._sources = new Map();
11
+ this._emitter = mitt();
12
+ }
13
+ /**
14
+ * Registers a data source. Replaces any existing source with the same id.
15
+ *
16
+ * @param source - Source to register
17
+ */
18
+ AcApDataSourceManager.prototype.register = function (source) {
19
+ this._sources.set(source.id, source);
20
+ this.emitChanged();
21
+ };
22
+ /**
23
+ * Removes a data source by id.
24
+ *
25
+ * @param id - Source id previously passed to {@link register}
26
+ */
27
+ AcApDataSourceManager.prototype.unregister = function (id) {
28
+ if (!this._sources.delete(id))
29
+ return;
30
+ this.emitChanged();
31
+ };
32
+ /**
33
+ * Returns registered sources in registration order.
34
+ */
35
+ AcApDataSourceManager.prototype.list = function () {
36
+ return Array.from(this._sources.values());
37
+ };
38
+ /**
39
+ * Looks up a source by id.
40
+ *
41
+ * @param id - Source id
42
+ */
43
+ AcApDataSourceManager.prototype.get = function (id) {
44
+ return this._sources.get(id);
45
+ };
46
+ /**
47
+ * Notifies listeners that a source's auth state changed.
48
+ *
49
+ * Cloud plugins should call this after successful {@link AcApDataSource.signIn}
50
+ * / {@link AcApDataSource.signOut}.
51
+ *
52
+ * @param sourceId - Id of the source whose auth state changed
53
+ */
54
+ AcApDataSourceManager.prototype.notifyAuthChanged = function (sourceId) {
55
+ this._emitter.emit('auth-changed', {
56
+ sourceId: sourceId,
57
+ sources: this.list()
58
+ });
59
+ };
60
+ /**
61
+ * Subscribes to registry events.
62
+ *
63
+ * @param type - Event name
64
+ * @param handler - Listener
65
+ */
66
+ AcApDataSourceManager.prototype.on = function (type, handler) {
67
+ this._emitter.on(type, handler);
68
+ };
69
+ /**
70
+ * Unsubscribes from registry events.
71
+ *
72
+ * @param type - Event name
73
+ * @param handler - Listener previously passed to {@link on}
74
+ */
75
+ AcApDataSourceManager.prototype.off = function (type, handler) {
76
+ this._emitter.off(type, handler);
77
+ };
78
+ AcApDataSourceManager.prototype.emitChanged = function () {
79
+ this._emitter.emit('changed', { sources: this.list() });
80
+ };
81
+ return AcApDataSourceManager;
82
+ }());
83
+ export { AcApDataSourceManager };
84
+ //# sourceMappingURL=AcApDataSourceManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApDataSourceManager.js","sourceRoot":"","sources":["../../../src/app/dataSource/AcApDataSourceManager.ts"],"names":[],"mappings":"AAAA,OAAO,IAAsB,MAAM,MAAM,CAAA;AAYzC;;;;;GAKG;AACH;IAAA;QACmB,aAAQ,GAAG,IAAI,GAAG,EAA0B,CAAA;QAC5C,aAAQ,GAAyC,IAAI,EAAE,CAAA;IAkF1E,CAAC;IAhFC;;;;OAIG;IACH,wCAAQ,GAAR,UAAS,MAAsB;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACpC,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAED;;;;OAIG;IACH,0CAAU,GAAV,UAAW,EAAU;QACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,OAAM;QACrC,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,oCAAI,GAAJ;QACE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED;;;;OAIG;IACH,mCAAG,GAAH,UAAI,EAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,iDAAiB,GAAjB,UAAkB,QAAgB;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE;YACjC,QAAQ,UAAA;YACR,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE;SACrB,CAAC,CAAA;IACJ,CAAC;IAED;;;;;OAKG;IACH,kCAAE,GAAF,UACE,IAAO,EACP,OAAwD;QAExD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACjC,CAAC;IAED;;;;;OAKG;IACH,mCAAG,GAAH,UACE,IAAO,EACP,OAAwD;QAExD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;IAEO,2CAAW,GAAnB;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACzD,CAAC;IACH,4BAAC;AAAD,CAAC,AApFD,IAoFC"}
@@ -0,0 +1,25 @@
1
+ import type { AcApDataSource, AcApDataSourceAuthState, AcApDataSourceFile } from './AcApDataSource';
2
+ /** Built-in local-file data source id. */
3
+ export declare const ACAP_LOCAL_DATA_SOURCE_ID = "local";
4
+ /**
5
+ * Opens the browser file picker and returns the selected CAD file.
6
+ *
7
+ * Shared by {@link AcApLocalDataSource} and the built-in OPEN dialog.
8
+ *
9
+ * @returns Chosen file, or `null` when the user cancels or the type is unsupported
10
+ */
11
+ export declare function acapPickLocalCadFile(): Promise<AcApDataSourceFile | null>;
12
+ /**
13
+ * Built-in data source that opens a local `.dwg` / `.dxf` via `<input type="file">`.
14
+ */
15
+ export declare class AcApLocalDataSource implements AcApDataSource {
16
+ readonly id = "local";
17
+ readonly labelKey = "main.dataSource.local";
18
+ readonly requiresAuth = false;
19
+ readonly requiresUserGesture = false;
20
+ getAuthState(): AcApDataSourceAuthState;
21
+ signIn(): Promise<void>;
22
+ signOut(): Promise<void>;
23
+ pick(): Promise<AcApDataSourceFile | null>;
24
+ }
25
+ //# sourceMappingURL=AcApLocalDataSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApLocalDataSource.d.ts","sourceRoot":"","sources":["../../../src/app/dataSource/AcApLocalDataSource.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,kBAAkB,CAAA;AAKzB,0CAA0C;AAC1C,eAAO,MAAM,yBAAyB,UAAU,CAAA;AA6BhD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CA2B/E;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,cAAc;IACxD,QAAQ,CAAC,EAAE,WAA4B;IACvC,QAAQ,CAAC,QAAQ,2BAA0B;IAC3C,QAAQ,CAAC,YAAY,SAAQ;IAC7B,QAAQ,CAAC,mBAAmB,SAAQ;IAEpC,YAAY,IAAI,uBAAuB;IAIjC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,IAAI,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;CAG3C"}