first commit
This commit is contained in:
commit
6e1b5407b7
1
.angular/cache/20.3.2/app/.tsbuildinfo
vendored
Normal file
1
.angular/cache/20.3.2/app/.tsbuildinfo
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
.angular/cache/20.3.2/app/angular-compiler.db
vendored
Normal file
BIN
.angular/cache/20.3.2/app/angular-compiler.db
vendored
Normal file
Binary file not shown.
BIN
.angular/cache/20.3.2/app/angular-compiler.db-lock
vendored
Normal file
BIN
.angular/cache/20.3.2/app/angular-compiler.db-lock
vendored
Normal file
Binary file not shown.
205
.angular/cache/20.3.2/app/vite/deps/@angular_common.js
vendored
Normal file
205
.angular/cache/20.3.2/app/vite/deps/@angular_common.js
vendored
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
import {
|
||||||
|
APP_BASE_HREF,
|
||||||
|
AsyncPipe,
|
||||||
|
BrowserPlatformLocation,
|
||||||
|
CommonModule,
|
||||||
|
CurrencyPipe,
|
||||||
|
DATE_PIPE_DEFAULT_OPTIONS,
|
||||||
|
DATE_PIPE_DEFAULT_TIMEZONE,
|
||||||
|
DatePipe,
|
||||||
|
DecimalPipe,
|
||||||
|
DomAdapter,
|
||||||
|
FormStyle,
|
||||||
|
FormatWidth,
|
||||||
|
HashLocationStrategy,
|
||||||
|
I18nPluralPipe,
|
||||||
|
I18nSelectPipe,
|
||||||
|
IMAGE_LOADER,
|
||||||
|
JsonPipe,
|
||||||
|
KeyValuePipe,
|
||||||
|
LOCATION_INITIALIZED,
|
||||||
|
Location,
|
||||||
|
LocationStrategy,
|
||||||
|
LowerCasePipe,
|
||||||
|
NgClass,
|
||||||
|
NgComponentOutlet,
|
||||||
|
NgForOf,
|
||||||
|
NgForOfContext,
|
||||||
|
NgIf,
|
||||||
|
NgIfContext,
|
||||||
|
NgLocaleLocalization,
|
||||||
|
NgLocalization,
|
||||||
|
NgOptimizedImage,
|
||||||
|
NgPlural,
|
||||||
|
NgPluralCase,
|
||||||
|
NgStyle,
|
||||||
|
NgSwitch,
|
||||||
|
NgSwitchCase,
|
||||||
|
NgSwitchDefault,
|
||||||
|
NgTemplateOutlet,
|
||||||
|
NullViewportScroller,
|
||||||
|
NumberFormatStyle,
|
||||||
|
NumberSymbol,
|
||||||
|
PLATFORM_BROWSER_ID,
|
||||||
|
PLATFORM_SERVER_ID,
|
||||||
|
PRECONNECT_CHECK_BLOCKLIST,
|
||||||
|
PathLocationStrategy,
|
||||||
|
PercentPipe,
|
||||||
|
PlatformLocation,
|
||||||
|
PlatformNavigation,
|
||||||
|
Plural,
|
||||||
|
SlicePipe,
|
||||||
|
TitleCasePipe,
|
||||||
|
TranslationWidth,
|
||||||
|
UpperCasePipe,
|
||||||
|
VERSION,
|
||||||
|
ViewportScroller,
|
||||||
|
WeekDay,
|
||||||
|
formatCurrency,
|
||||||
|
formatDate,
|
||||||
|
formatNumber,
|
||||||
|
formatPercent,
|
||||||
|
getCurrencySymbol,
|
||||||
|
getDOM,
|
||||||
|
getLocaleCurrencyCode,
|
||||||
|
getLocaleCurrencyName,
|
||||||
|
getLocaleCurrencySymbol,
|
||||||
|
getLocaleDateFormat,
|
||||||
|
getLocaleDateTimeFormat,
|
||||||
|
getLocaleDayNames,
|
||||||
|
getLocaleDayPeriods,
|
||||||
|
getLocaleDirection,
|
||||||
|
getLocaleEraNames,
|
||||||
|
getLocaleExtraDayPeriodRules,
|
||||||
|
getLocaleExtraDayPeriods,
|
||||||
|
getLocaleFirstDayOfWeek,
|
||||||
|
getLocaleId,
|
||||||
|
getLocaleMonthNames,
|
||||||
|
getLocaleNumberFormat,
|
||||||
|
getLocaleNumberSymbol,
|
||||||
|
getLocalePluralCase,
|
||||||
|
getLocaleTimeFormat,
|
||||||
|
getLocaleWeekEndRange,
|
||||||
|
getNumberOfCurrencyDigits,
|
||||||
|
isPlatformBrowser,
|
||||||
|
isPlatformServer,
|
||||||
|
normalizeQueryParams,
|
||||||
|
provideCloudflareLoader,
|
||||||
|
provideCloudinaryLoader,
|
||||||
|
provideImageKitLoader,
|
||||||
|
provideImgixLoader,
|
||||||
|
provideNetlifyLoader,
|
||||||
|
registerLocaleData,
|
||||||
|
setRootDomAdapter
|
||||||
|
} from "./chunk-NNL7YDF7.js";
|
||||||
|
import {
|
||||||
|
XhrFactory,
|
||||||
|
parseCookieValue
|
||||||
|
} from "./chunk-ZJ25XCV3.js";
|
||||||
|
import {
|
||||||
|
IMAGE_CONFIG
|
||||||
|
} from "./chunk-A3W7CVOL.js";
|
||||||
|
import {
|
||||||
|
DOCUMENT
|
||||||
|
} from "./chunk-M4YA2FTX.js";
|
||||||
|
import "./chunk-RSS3ODKE.js";
|
||||||
|
import "./chunk-TKSB4YUA.js";
|
||||||
|
export {
|
||||||
|
APP_BASE_HREF,
|
||||||
|
AsyncPipe,
|
||||||
|
BrowserPlatformLocation,
|
||||||
|
CommonModule,
|
||||||
|
CurrencyPipe,
|
||||||
|
DATE_PIPE_DEFAULT_OPTIONS,
|
||||||
|
DATE_PIPE_DEFAULT_TIMEZONE,
|
||||||
|
DOCUMENT,
|
||||||
|
DatePipe,
|
||||||
|
DecimalPipe,
|
||||||
|
FormStyle,
|
||||||
|
FormatWidth,
|
||||||
|
HashLocationStrategy,
|
||||||
|
I18nPluralPipe,
|
||||||
|
I18nSelectPipe,
|
||||||
|
IMAGE_CONFIG,
|
||||||
|
IMAGE_LOADER,
|
||||||
|
JsonPipe,
|
||||||
|
KeyValuePipe,
|
||||||
|
LOCATION_INITIALIZED,
|
||||||
|
Location,
|
||||||
|
LocationStrategy,
|
||||||
|
LowerCasePipe,
|
||||||
|
NgClass,
|
||||||
|
NgComponentOutlet,
|
||||||
|
NgForOf as NgFor,
|
||||||
|
NgForOf,
|
||||||
|
NgForOfContext,
|
||||||
|
NgIf,
|
||||||
|
NgIfContext,
|
||||||
|
NgLocaleLocalization,
|
||||||
|
NgLocalization,
|
||||||
|
NgOptimizedImage,
|
||||||
|
NgPlural,
|
||||||
|
NgPluralCase,
|
||||||
|
NgStyle,
|
||||||
|
NgSwitch,
|
||||||
|
NgSwitchCase,
|
||||||
|
NgSwitchDefault,
|
||||||
|
NgTemplateOutlet,
|
||||||
|
NumberFormatStyle,
|
||||||
|
NumberSymbol,
|
||||||
|
PRECONNECT_CHECK_BLOCKLIST,
|
||||||
|
PathLocationStrategy,
|
||||||
|
PercentPipe,
|
||||||
|
PlatformLocation,
|
||||||
|
Plural,
|
||||||
|
SlicePipe,
|
||||||
|
TitleCasePipe,
|
||||||
|
TranslationWidth,
|
||||||
|
UpperCasePipe,
|
||||||
|
VERSION,
|
||||||
|
ViewportScroller,
|
||||||
|
WeekDay,
|
||||||
|
XhrFactory,
|
||||||
|
formatCurrency,
|
||||||
|
formatDate,
|
||||||
|
formatNumber,
|
||||||
|
formatPercent,
|
||||||
|
getCurrencySymbol,
|
||||||
|
getLocaleCurrencyCode,
|
||||||
|
getLocaleCurrencyName,
|
||||||
|
getLocaleCurrencySymbol,
|
||||||
|
getLocaleDateFormat,
|
||||||
|
getLocaleDateTimeFormat,
|
||||||
|
getLocaleDayNames,
|
||||||
|
getLocaleDayPeriods,
|
||||||
|
getLocaleDirection,
|
||||||
|
getLocaleEraNames,
|
||||||
|
getLocaleExtraDayPeriodRules,
|
||||||
|
getLocaleExtraDayPeriods,
|
||||||
|
getLocaleFirstDayOfWeek,
|
||||||
|
getLocaleId,
|
||||||
|
getLocaleMonthNames,
|
||||||
|
getLocaleNumberFormat,
|
||||||
|
getLocaleNumberSymbol,
|
||||||
|
getLocalePluralCase,
|
||||||
|
getLocaleTimeFormat,
|
||||||
|
getLocaleWeekEndRange,
|
||||||
|
getNumberOfCurrencyDigits,
|
||||||
|
isPlatformBrowser,
|
||||||
|
isPlatformServer,
|
||||||
|
provideCloudflareLoader,
|
||||||
|
provideCloudinaryLoader,
|
||||||
|
provideImageKitLoader,
|
||||||
|
provideImgixLoader,
|
||||||
|
provideNetlifyLoader,
|
||||||
|
registerLocaleData,
|
||||||
|
DomAdapter as ɵDomAdapter,
|
||||||
|
NullViewportScroller as ɵNullViewportScroller,
|
||||||
|
PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID,
|
||||||
|
PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID,
|
||||||
|
PlatformNavigation as ɵPlatformNavigation,
|
||||||
|
getDOM as ɵgetDOM,
|
||||||
|
normalizeQueryParams as ɵnormalizeQueryParams,
|
||||||
|
parseCookieValue as ɵparseCookieValue,
|
||||||
|
setRootDomAdapter as ɵsetRootDomAdapter
|
||||||
|
};
|
7
.angular/cache/20.3.2/app/vite/deps/@angular_common.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/@angular_common.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": [],
|
||||||
|
"sourcesContent": [],
|
||||||
|
"mappings": "",
|
||||||
|
"names": []
|
||||||
|
}
|
88
.angular/cache/20.3.2/app/vite/deps/@angular_common_http.js
vendored
Normal file
88
.angular/cache/20.3.2/app/vite/deps/@angular_common_http.js
vendored
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
import {
|
||||||
|
FetchBackend,
|
||||||
|
HTTP_INTERCEPTORS,
|
||||||
|
HTTP_ROOT_INTERCEPTOR_FNS,
|
||||||
|
HTTP_TRANSFER_CACHE_ORIGIN_MAP,
|
||||||
|
HttpBackend,
|
||||||
|
HttpClient,
|
||||||
|
HttpClientJsonpModule,
|
||||||
|
HttpClientModule,
|
||||||
|
HttpClientXsrfModule,
|
||||||
|
HttpContext,
|
||||||
|
HttpContextToken,
|
||||||
|
HttpErrorResponse,
|
||||||
|
HttpEventType,
|
||||||
|
HttpFeatureKind,
|
||||||
|
HttpHandler,
|
||||||
|
HttpHeaderResponse,
|
||||||
|
HttpHeaders,
|
||||||
|
HttpInterceptorHandler,
|
||||||
|
HttpParams,
|
||||||
|
HttpRequest,
|
||||||
|
HttpResponse,
|
||||||
|
HttpResponseBase,
|
||||||
|
HttpStatusCode,
|
||||||
|
HttpUrlEncodingCodec,
|
||||||
|
HttpXhrBackend,
|
||||||
|
HttpXsrfTokenExtractor,
|
||||||
|
JsonpClientBackend,
|
||||||
|
JsonpInterceptor,
|
||||||
|
REQUESTS_CONTRIBUTE_TO_STABILITY,
|
||||||
|
httpResource,
|
||||||
|
provideHttpClient,
|
||||||
|
withFetch,
|
||||||
|
withHttpTransferCache,
|
||||||
|
withInterceptors,
|
||||||
|
withInterceptorsFromDi,
|
||||||
|
withJsonpSupport,
|
||||||
|
withNoXsrfProtection,
|
||||||
|
withRequestsMadeViaParent,
|
||||||
|
withXsrfConfiguration
|
||||||
|
} from "./chunk-QEGKXTBA.js";
|
||||||
|
import "./chunk-ZJ25XCV3.js";
|
||||||
|
import "./chunk-A3W7CVOL.js";
|
||||||
|
import "./chunk-M4YA2FTX.js";
|
||||||
|
import "./chunk-RSS3ODKE.js";
|
||||||
|
import "./chunk-TKSB4YUA.js";
|
||||||
|
export {
|
||||||
|
FetchBackend,
|
||||||
|
HTTP_INTERCEPTORS,
|
||||||
|
HTTP_TRANSFER_CACHE_ORIGIN_MAP,
|
||||||
|
HttpBackend,
|
||||||
|
HttpClient,
|
||||||
|
HttpClientJsonpModule,
|
||||||
|
HttpClientModule,
|
||||||
|
HttpClientXsrfModule,
|
||||||
|
HttpContext,
|
||||||
|
HttpContextToken,
|
||||||
|
HttpErrorResponse,
|
||||||
|
HttpEventType,
|
||||||
|
HttpFeatureKind,
|
||||||
|
HttpHandler,
|
||||||
|
HttpHeaderResponse,
|
||||||
|
HttpHeaders,
|
||||||
|
HttpParams,
|
||||||
|
HttpRequest,
|
||||||
|
HttpResponse,
|
||||||
|
HttpResponseBase,
|
||||||
|
HttpStatusCode,
|
||||||
|
HttpUrlEncodingCodec,
|
||||||
|
HttpXhrBackend,
|
||||||
|
HttpXsrfTokenExtractor,
|
||||||
|
JsonpClientBackend,
|
||||||
|
JsonpInterceptor,
|
||||||
|
httpResource,
|
||||||
|
provideHttpClient,
|
||||||
|
withFetch,
|
||||||
|
withInterceptors,
|
||||||
|
withInterceptorsFromDi,
|
||||||
|
withJsonpSupport,
|
||||||
|
withNoXsrfProtection,
|
||||||
|
withRequestsMadeViaParent,
|
||||||
|
withXsrfConfiguration,
|
||||||
|
HTTP_ROOT_INTERCEPTOR_FNS as ɵHTTP_ROOT_INTERCEPTOR_FNS,
|
||||||
|
HttpInterceptorHandler as ɵHttpInterceptingHandler,
|
||||||
|
HttpInterceptorHandler as ɵHttpInterceptorHandler,
|
||||||
|
REQUESTS_CONTRIBUTE_TO_STABILITY as ɵREQUESTS_CONTRIBUTE_TO_STABILITY,
|
||||||
|
withHttpTransferCache as ɵwithHttpTransferCache
|
||||||
|
};
|
7
.angular/cache/20.3.2/app/vite/deps/@angular_common_http.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/@angular_common_http.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": [],
|
||||||
|
"sourcesContent": [],
|
||||||
|
"mappings": "",
|
||||||
|
"names": []
|
||||||
|
}
|
28
.angular/cache/20.3.2/app/vite/deps/@angular_common_locales_fr.js
vendored
Normal file
28
.angular/cache/20.3.2/app/vite/deps/@angular_common_locales_fr.js
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import "./chunk-TKSB4YUA.js";
|
||||||
|
|
||||||
|
// node_modules/@angular/common/locales/fr.js
|
||||||
|
var u = void 0;
|
||||||
|
function plural(val) {
|
||||||
|
const n = val, i = Math.floor(Math.abs(val)), v = val.toString().replace(/^[^.]*\.?/, "").length, e = parseInt(val.toString().replace(/^[^e]*(e([-+]?\d+))?/, "$2")) || 0;
|
||||||
|
if (i === 0 || i === 1)
|
||||||
|
return 1;
|
||||||
|
if (e === 0 && (!(i === 0) && (i % 1e6 === 0 && v === 0)) || !(e >= 0 && e <= 5))
|
||||||
|
return 4;
|
||||||
|
return 5;
|
||||||
|
}
|
||||||
|
var fr_default = ["fr", [["AM", "PM"]], u, [["D", "L", "M", "M", "J", "V", "S"], ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."], ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], ["di", "lu", "ma", "me", "je", "ve", "sa"]], u, [["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], ["janv.", "févr.", "mars", "avr.", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc."], ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"]], u, [["av. J.-C.", "ap. J.-C."], u, ["avant Jésus-Christ", "après Jésus-Christ"]], 1, [6, 0], ["dd/MM/y", "d MMM y", "d MMMM y", "EEEE d MMMM y"], ["HH:mm", "HH:mm:ss", "HH:mm:ss z", "HH:mm:ss zzzz"], ["{1} {0}", "{1}, {0}", "{1} 'à' {0}", u], [",", " ", ";", "%", "+", "-", "E", "×", "‰", "∞", "NaN", ":"], ["#,##0.###", "#,##0 %", "#,##0.00 ¤", "#E0"], "EUR", "€", "euro", { "ARS": ["$AR", "$"], "AUD": ["$AU", "$"], "BEF": ["FB"], "BMD": ["$BM", "$"], "BND": ["$BN", "$"], "BYN": [u, "р."], "BZD": ["$BZ", "$"], "CAD": ["$CA", "$"], "CLP": ["$CL", "$"], "CNY": [u, "¥"], "COP": ["$CO", "$"], "CYP": ["£CY"], "EGP": [u, "£E"], "FJD": ["$FJ", "$"], "FKP": ["£FK", "£"], "FRF": ["F"], "GBP": ["£GB", "£"], "GIP": ["£GI", "£"], "HKD": [u, "$"], "IEP": ["£IE"], "ILP": ["£IL"], "ITL": ["₤IT"], "JPY": [u, "¥"], "KMF": [u, "FC"], "LBP": ["£LB", "£L"], "MTP": ["£MT"], "MXN": ["$MX", "$"], "NAD": ["$NA", "$"], "NIO": [u, "$C"], "NZD": ["$NZ", "$"], "PHP": [u, "₱"], "RHD": ["$RH"], "RON": [u, "L"], "RWF": [u, "FR"], "SBD": ["$SB", "$"], "SGD": ["$SG", "$"], "SRD": ["$SR", "$"], "TOP": [u, "$T"], "TTD": ["$TT", "$"], "TWD": [u, "NT$"], "USD": ["$US", "$"], "UYU": ["$UY", "$"], "WST": ["$WS"], "XCD": [u, "$"], "XPF": ["FCFP"], "ZMW": [u, "Kw"] }, "ltr", plural];
|
||||||
|
export {
|
||||||
|
fr_default as default
|
||||||
|
};
|
||||||
|
/*! Bundled license information:
|
||||||
|
|
||||||
|
@angular/common/locales/fr.js:
|
||||||
|
(**
|
||||||
|
* @license
|
||||||
|
* Copyright Google LLC All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by an MIT-style license that can be
|
||||||
|
* found in the LICENSE file at https://angular.dev/license
|
||||||
|
*)
|
||||||
|
*/
|
||||||
|
//# sourceMappingURL=@angular_common_locales_fr.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/@angular_common_locales_fr.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/@angular_common_locales_fr.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/@angular/common/locales/fr.js"],
|
||||||
|
"sourcesContent": ["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n// THIS CODE IS GENERATED - DO NOT MODIFY.\nconst u = undefined;\nfunction plural(val) {\n const n = val, i = Math.floor(Math.abs(val)), v = val.toString().replace(/^[^.]*\\.?/, '').length, e = parseInt(val.toString().replace(/^[^e]*(e([-+]?\\d+))?/, '$2')) || 0;\n if (i === 0 || i === 1)\n return 1;\n if (e === 0 && (!(i === 0) && (i % 1000000 === 0 && v === 0)) || !(e >= 0 && e <= 5))\n return 4;\n return 5;\n}\nexport default [\"fr\", [[\"AM\", \"PM\"]], u, [[\"D\", \"L\", \"M\", \"M\", \"J\", \"V\", \"S\"], [\"dim.\", \"lun.\", \"mar.\", \"mer.\", \"jeu.\", \"ven.\", \"sam.\"], [\"dimanche\", \"lundi\", \"mardi\", \"mercredi\", \"jeudi\", \"vendredi\", \"samedi\"], [\"di\", \"lu\", \"ma\", \"me\", \"je\", \"ve\", \"sa\"]], u, [[\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"], [\"janv.\", \"févr.\", \"mars\", \"avr.\", \"mai\", \"juin\", \"juil.\", \"août\", \"sept.\", \"oct.\", \"nov.\", \"déc.\"], [\"janvier\", \"février\", \"mars\", \"avril\", \"mai\", \"juin\", \"juillet\", \"août\", \"septembre\", \"octobre\", \"novembre\", \"décembre\"]], u, [[\"av. J.-C.\", \"ap. J.-C.\"], u, [\"avant Jésus-Christ\", \"après Jésus-Christ\"]], 1, [6, 0], [\"dd/MM/y\", \"d MMM y\", \"d MMMM y\", \"EEEE d MMMM y\"], [\"HH:mm\", \"HH:mm:ss\", \"HH:mm:ss z\", \"HH:mm:ss zzzz\"], [\"{1} {0}\", \"{1}, {0}\", \"{1} 'à' {0}\", u], [\",\", \" \", \";\", \"%\", \"+\", \"-\", \"E\", \"×\", \"‰\", \"∞\", \"NaN\", \":\"], [\"#,##0.###\", \"#,##0 %\", \"#,##0.00 ¤\", \"#E0\"], \"EUR\", \"€\", \"euro\", { \"ARS\": [\"$AR\", \"$\"], \"AUD\": [\"$AU\", \"$\"], \"BEF\": [\"FB\"], \"BMD\": [\"$BM\", \"$\"], \"BND\": [\"$BN\", \"$\"], \"BYN\": [u, \"р.\"], \"BZD\": [\"$BZ\", \"$\"], \"CAD\": [\"$CA\", \"$\"], \"CLP\": [\"$CL\", \"$\"], \"CNY\": [u, \"¥\"], \"COP\": [\"$CO\", \"$\"], \"CYP\": [\"£CY\"], \"EGP\": [u, \"£E\"], \"FJD\": [\"$FJ\", \"$\"], \"FKP\": [\"£FK\", \"£\"], \"FRF\": [\"F\"], \"GBP\": [\"£GB\", \"£\"], \"GIP\": [\"£GI\", \"£\"], \"HKD\": [u, \"$\"], \"IEP\": [\"£IE\"], \"ILP\": [\"£IL\"], \"ITL\": [\"₤IT\"], \"JPY\": [u, \"¥\"], \"KMF\": [u, \"FC\"], \"LBP\": [\"£LB\", \"£L\"], \"MTP\": [\"£MT\"], \"MXN\": [\"$MX\", \"$\"], \"NAD\": [\"$NA\", \"$\"], \"NIO\": [u, \"$C\"], \"NZD\": [\"$NZ\", \"$\"], \"PHP\": [u, \"₱\"], \"RHD\": [\"$RH\"], \"RON\": [u, \"L\"], \"RWF\": [u, \"FR\"], \"SBD\": [\"$SB\", \"$\"], \"SGD\": [\"$SG\", \"$\"], \"SRD\": [\"$SR\", \"$\"], \"TOP\": [u, \"$T\"], \"TTD\": [\"$TT\", \"$\"], \"TWD\": [u, \"NT$\"], \"USD\": [\"$US\", \"$\"], \"UYU\": [\"$UY\", \"$\"], \"WST\": [\"$WS\"], \"XCD\": [u, \"$\"], \"XPF\": [\"FCFP\"], \"ZMW\": [u, \"Kw\"] }, \"ltr\", plural];\n"],
|
||||||
|
"mappings": ";;;AAQA,IAAM,IAAI;AACV,SAAS,OAAO,KAAK;AACjB,QAAM,IAAI,KAAK,IAAI,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,SAAS,EAAE,QAAQ,aAAa,EAAE,EAAE,QAAQ,IAAI,SAAS,IAAI,SAAS,EAAE,QAAQ,wBAAwB,IAAI,CAAC,KAAK;AACxK,MAAI,MAAM,KAAK,MAAM;AACjB,WAAO;AACX,MAAI,MAAM,MAAM,EAAE,MAAM,OAAO,IAAI,QAAY,KAAK,MAAM,OAAO,EAAE,KAAK,KAAK,KAAK;AAC9E,WAAO;AACX,SAAO;AACX;AACA,IAAO,aAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,MAAM,GAAG,CAAC,YAAY,SAAS,SAAS,YAAY,SAAS,YAAY,QAAQ,GAAG,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,CAAC,SAAS,SAAS,QAAQ,QAAQ,OAAO,QAAQ,SAAS,QAAQ,SAAS,QAAQ,QAAQ,MAAM,GAAG,CAAC,WAAW,WAAW,QAAQ,SAAS,OAAO,QAAQ,WAAW,QAAQ,aAAa,WAAW,YAAY,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,aAAa,WAAW,GAAG,GAAG,CAAC,sBAAsB,oBAAoB,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,WAAW,YAAY,eAAe,GAAG,CAAC,SAAS,YAAY,cAAc,eAAe,GAAG,CAAC,WAAW,YAAY,eAAe,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,OAAO,GAAG,GAAG,CAAC,aAAa,WAAW,cAAc,KAAK,GAAG,OAAO,KAAK,QAAQ,EAAE,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,OAAO,MAAM;",
|
||||||
|
"names": []
|
||||||
|
}
|
1000
.angular/cache/20.3.2/app/vite/deps/@angular_core.js
vendored
Normal file
1000
.angular/cache/20.3.2/app/vite/deps/@angular_core.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/@angular_core.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/@angular_core.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": [],
|
||||||
|
"sourcesContent": [],
|
||||||
|
"mappings": "",
|
||||||
|
"names": []
|
||||||
|
}
|
251
.angular/cache/20.3.2/app/vite/deps/@angular_core_rxjs-interop.js
vendored
Normal file
251
.angular/cache/20.3.2/app/vite/deps/@angular_core_rxjs-interop.js
vendored
Normal file
@ -0,0 +1,251 @@
|
|||||||
|
import {
|
||||||
|
DestroyRef,
|
||||||
|
Injector,
|
||||||
|
PendingTasks,
|
||||||
|
RuntimeError,
|
||||||
|
assertInInjectionContext,
|
||||||
|
assertNotInReactiveContext,
|
||||||
|
computed,
|
||||||
|
effect,
|
||||||
|
encapsulateResourceError,
|
||||||
|
getOutputDestroyRef,
|
||||||
|
inject,
|
||||||
|
resource,
|
||||||
|
signal,
|
||||||
|
untracked
|
||||||
|
} from "./chunk-M4YA2FTX.js";
|
||||||
|
import {
|
||||||
|
Observable,
|
||||||
|
ReplaySubject,
|
||||||
|
takeUntil
|
||||||
|
} from "./chunk-RSS3ODKE.js";
|
||||||
|
import {
|
||||||
|
__spreadProps,
|
||||||
|
__spreadValues
|
||||||
|
} from "./chunk-TKSB4YUA.js";
|
||||||
|
|
||||||
|
// node_modules/@angular/core/fesm2022/rxjs-interop.mjs
|
||||||
|
function takeUntilDestroyed(destroyRef) {
|
||||||
|
if (!destroyRef) {
|
||||||
|
ngDevMode && assertInInjectionContext(takeUntilDestroyed);
|
||||||
|
destroyRef = inject(DestroyRef);
|
||||||
|
}
|
||||||
|
const destroyed$ = new Observable((subscriber) => {
|
||||||
|
if (destroyRef.destroyed) {
|
||||||
|
subscriber.next();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const unregisterFn = destroyRef.onDestroy(subscriber.next.bind(subscriber));
|
||||||
|
return unregisterFn;
|
||||||
|
});
|
||||||
|
return (source) => {
|
||||||
|
return source.pipe(takeUntil(destroyed$));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
var OutputFromObservableRef = class {
|
||||||
|
source;
|
||||||
|
destroyed = false;
|
||||||
|
destroyRef = inject(DestroyRef);
|
||||||
|
constructor(source) {
|
||||||
|
this.source = source;
|
||||||
|
this.destroyRef.onDestroy(() => {
|
||||||
|
this.destroyed = true;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
subscribe(callbackFn) {
|
||||||
|
if (this.destroyed) {
|
||||||
|
throw new RuntimeError(953, ngDevMode && "Unexpected subscription to destroyed `OutputRef`. The owning directive/component is destroyed.");
|
||||||
|
}
|
||||||
|
const subscription = this.source.pipe(takeUntilDestroyed(this.destroyRef)).subscribe({
|
||||||
|
next: (value) => callbackFn(value)
|
||||||
|
});
|
||||||
|
return {
|
||||||
|
unsubscribe: () => subscription.unsubscribe()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function outputFromObservable(observable, opts) {
|
||||||
|
ngDevMode && assertInInjectionContext(outputFromObservable);
|
||||||
|
return new OutputFromObservableRef(observable);
|
||||||
|
}
|
||||||
|
function outputToObservable(ref) {
|
||||||
|
const destroyRef = getOutputDestroyRef(ref);
|
||||||
|
return new Observable((observer) => {
|
||||||
|
const unregisterOnDestroy = destroyRef?.onDestroy(() => observer.complete());
|
||||||
|
const subscription = ref.subscribe((v) => observer.next(v));
|
||||||
|
return () => {
|
||||||
|
subscription.unsubscribe();
|
||||||
|
unregisterOnDestroy?.();
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function toObservable(source, options) {
|
||||||
|
if (ngDevMode && !options?.injector) {
|
||||||
|
assertInInjectionContext(toObservable);
|
||||||
|
}
|
||||||
|
const injector = options?.injector ?? inject(Injector);
|
||||||
|
const subject = new ReplaySubject(1);
|
||||||
|
const watcher = effect(() => {
|
||||||
|
let value;
|
||||||
|
try {
|
||||||
|
value = source();
|
||||||
|
} catch (err) {
|
||||||
|
untracked(() => subject.error(err));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
untracked(() => subject.next(value));
|
||||||
|
}, { injector, manualCleanup: true });
|
||||||
|
injector.get(DestroyRef).onDestroy(() => {
|
||||||
|
watcher.destroy();
|
||||||
|
subject.complete();
|
||||||
|
});
|
||||||
|
return subject.asObservable();
|
||||||
|
}
|
||||||
|
function toSignal(source, options) {
|
||||||
|
typeof ngDevMode !== "undefined" && ngDevMode && assertNotInReactiveContext(toSignal, "Invoking `toSignal` causes new subscriptions every time. Consider moving `toSignal` outside of the reactive context and read the signal value where needed.");
|
||||||
|
const requiresCleanup = !options?.manualCleanup;
|
||||||
|
if (ngDevMode && requiresCleanup && !options?.injector) {
|
||||||
|
assertInInjectionContext(toSignal);
|
||||||
|
}
|
||||||
|
const cleanupRef = requiresCleanup ? options?.injector?.get(DestroyRef) ?? inject(DestroyRef) : null;
|
||||||
|
const equal = makeToSignalEqual(options?.equal);
|
||||||
|
let state;
|
||||||
|
if (options?.requireSync) {
|
||||||
|
state = signal({
|
||||||
|
kind: 0
|
||||||
|
/* StateKind.NoValue */
|
||||||
|
}, { equal });
|
||||||
|
} else {
|
||||||
|
state = signal({ kind: 1, value: options?.initialValue }, { equal });
|
||||||
|
}
|
||||||
|
let destroyUnregisterFn;
|
||||||
|
const sub = source.subscribe({
|
||||||
|
next: (value) => state.set({ kind: 1, value }),
|
||||||
|
error: (error) => {
|
||||||
|
state.set({ kind: 2, error });
|
||||||
|
destroyUnregisterFn?.();
|
||||||
|
},
|
||||||
|
complete: () => {
|
||||||
|
destroyUnregisterFn?.();
|
||||||
|
}
|
||||||
|
// Completion of the Observable is meaningless to the signal. Signals don't have a concept of
|
||||||
|
// "complete".
|
||||||
|
});
|
||||||
|
if (options?.requireSync && state().kind === 0) {
|
||||||
|
throw new RuntimeError(601, (typeof ngDevMode === "undefined" || ngDevMode) && "`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.");
|
||||||
|
}
|
||||||
|
destroyUnregisterFn = cleanupRef?.onDestroy(sub.unsubscribe.bind(sub));
|
||||||
|
return computed(() => {
|
||||||
|
const current = state();
|
||||||
|
switch (current.kind) {
|
||||||
|
case 1:
|
||||||
|
return current.value;
|
||||||
|
case 2:
|
||||||
|
throw current.error;
|
||||||
|
case 0:
|
||||||
|
throw new RuntimeError(601, (typeof ngDevMode === "undefined" || ngDevMode) && "`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.");
|
||||||
|
}
|
||||||
|
}, { equal: options?.equal });
|
||||||
|
}
|
||||||
|
function makeToSignalEqual(userEquality = Object.is) {
|
||||||
|
return (a, b) => a.kind === 1 && b.kind === 1 && userEquality(a.value, b.value);
|
||||||
|
}
|
||||||
|
function pendingUntilEvent(injector) {
|
||||||
|
if (injector === void 0) {
|
||||||
|
ngDevMode && assertInInjectionContext(pendingUntilEvent);
|
||||||
|
injector = inject(Injector);
|
||||||
|
}
|
||||||
|
const taskService = injector.get(PendingTasks);
|
||||||
|
return (sourceObservable) => {
|
||||||
|
return new Observable((originalSubscriber) => {
|
||||||
|
const removeTask = taskService.add();
|
||||||
|
let cleanedUp = false;
|
||||||
|
function cleanupTask() {
|
||||||
|
if (cleanedUp) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
removeTask();
|
||||||
|
cleanedUp = true;
|
||||||
|
}
|
||||||
|
const innerSubscription = sourceObservable.subscribe({
|
||||||
|
next: (v) => {
|
||||||
|
originalSubscriber.next(v);
|
||||||
|
cleanupTask();
|
||||||
|
},
|
||||||
|
complete: () => {
|
||||||
|
originalSubscriber.complete();
|
||||||
|
cleanupTask();
|
||||||
|
},
|
||||||
|
error: (e) => {
|
||||||
|
originalSubscriber.error(e);
|
||||||
|
cleanupTask();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
innerSubscription.add(() => {
|
||||||
|
originalSubscriber.unsubscribe();
|
||||||
|
cleanupTask();
|
||||||
|
});
|
||||||
|
return innerSubscription;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
|
function rxResource(opts) {
|
||||||
|
if (ngDevMode && !opts?.injector) {
|
||||||
|
assertInInjectionContext(rxResource);
|
||||||
|
}
|
||||||
|
return resource(__spreadProps(__spreadValues({}, opts), {
|
||||||
|
loader: void 0,
|
||||||
|
stream: (params) => {
|
||||||
|
let sub;
|
||||||
|
const onAbort = () => sub?.unsubscribe();
|
||||||
|
params.abortSignal.addEventListener("abort", onAbort);
|
||||||
|
const stream = signal({ value: void 0 });
|
||||||
|
let resolve;
|
||||||
|
const promise = new Promise((r) => resolve = r);
|
||||||
|
function send(value) {
|
||||||
|
stream.set(value);
|
||||||
|
resolve?.(stream);
|
||||||
|
resolve = void 0;
|
||||||
|
}
|
||||||
|
const streamFn = opts.stream ?? opts.loader;
|
||||||
|
if (streamFn === void 0) {
|
||||||
|
throw new RuntimeError(990, ngDevMode && `Must provide \`stream\` option.`);
|
||||||
|
}
|
||||||
|
sub = streamFn(params).subscribe({
|
||||||
|
next: (value) => send({ value }),
|
||||||
|
error: (error) => {
|
||||||
|
send({ error: encapsulateResourceError(error) });
|
||||||
|
params.abortSignal.removeEventListener("abort", onAbort);
|
||||||
|
},
|
||||||
|
complete: () => {
|
||||||
|
if (resolve) {
|
||||||
|
send({
|
||||||
|
error: new RuntimeError(991, ngDevMode && "Resource completed before producing a value")
|
||||||
|
});
|
||||||
|
}
|
||||||
|
params.abortSignal.removeEventListener("abort", onAbort);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return promise;
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
export {
|
||||||
|
outputFromObservable,
|
||||||
|
outputToObservable,
|
||||||
|
pendingUntilEvent,
|
||||||
|
rxResource,
|
||||||
|
takeUntilDestroyed,
|
||||||
|
toObservable,
|
||||||
|
toSignal
|
||||||
|
};
|
||||||
|
/*! Bundled license information:
|
||||||
|
|
||||||
|
@angular/core/fesm2022/rxjs-interop.mjs:
|
||||||
|
(**
|
||||||
|
* @license Angular v20.3.1
|
||||||
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
||||||
|
* License: MIT
|
||||||
|
*)
|
||||||
|
*/
|
||||||
|
//# sourceMappingURL=@angular_core_rxjs-interop.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/@angular_core_rxjs-interop.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/@angular_core_rxjs-interop.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
6965
.angular/cache/20.3.2/app/vite/deps/@angular_forms.js
vendored
Normal file
6965
.angular/cache/20.3.2/app/vite/deps/@angular_forms.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/@angular_forms.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/@angular_forms.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2042
.angular/cache/20.3.2/app/vite/deps/@angular_platform-browser.js
vendored
Normal file
2042
.angular/cache/20.3.2/app/vite/deps/@angular_platform-browser.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/@angular_platform-browser.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/@angular_platform-browser.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
319
.angular/cache/20.3.2/app/vite/deps/_metadata.json
vendored
Normal file
319
.angular/cache/20.3.2/app/vite/deps/_metadata.json
vendored
Normal file
@ -0,0 +1,319 @@
|
|||||||
|
{
|
||||||
|
"hash": "eb50cfd2",
|
||||||
|
"configHash": "bcc72fc6",
|
||||||
|
"lockfileHash": "88ca7dd7",
|
||||||
|
"browserHash": "b0cc96c8",
|
||||||
|
"optimized": {
|
||||||
|
"@angular/common": {
|
||||||
|
"src": "../../../../../../node_modules/@angular/common/fesm2022/common.mjs",
|
||||||
|
"file": "@angular_common.js",
|
||||||
|
"fileHash": "7f81e9b4",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"@angular/common/http": {
|
||||||
|
"src": "../../../../../../node_modules/@angular/common/fesm2022/http.mjs",
|
||||||
|
"file": "@angular_common_http.js",
|
||||||
|
"fileHash": "1240889a",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"@angular/common/locales/fr": {
|
||||||
|
"src": "../../../../../../node_modules/@angular/common/locales/fr.js",
|
||||||
|
"file": "@angular_common_locales_fr.js",
|
||||||
|
"fileHash": "e3440699",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"@angular/core": {
|
||||||
|
"src": "../../../../../../node_modules/@angular/core/fesm2022/core.mjs",
|
||||||
|
"file": "@angular_core.js",
|
||||||
|
"fileHash": "b2cabf77",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"@angular/core/rxjs-interop": {
|
||||||
|
"src": "../../../../../../node_modules/@angular/core/fesm2022/rxjs-interop.mjs",
|
||||||
|
"file": "@angular_core_rxjs-interop.js",
|
||||||
|
"fileHash": "aebfcee4",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"@angular/forms": {
|
||||||
|
"src": "../../../../../../node_modules/@angular/forms/fesm2022/forms.mjs",
|
||||||
|
"file": "@angular_forms.js",
|
||||||
|
"fileHash": "a28c5b20",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"@angular/platform-browser": {
|
||||||
|
"src": "../../../../../../node_modules/@angular/platform-browser/fesm2022/platform-browser.mjs",
|
||||||
|
"file": "@angular_platform-browser.js",
|
||||||
|
"fileHash": "4677d9a7",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"angular-calendar": {
|
||||||
|
"src": "../../../../../../node_modules/angular-calendar/fesm2022/angular-calendar.mjs",
|
||||||
|
"file": "angular-calendar.js",
|
||||||
|
"fileHash": "fa181aaa",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"angular-calendar/date-adapters/date-fns": {
|
||||||
|
"src": "../../../../../../node_modules/angular-calendar/date-adapters/esm/date-fns/index.js",
|
||||||
|
"file": "angular-calendar_date-adapters_date-fns.js",
|
||||||
|
"fileHash": "e65f4b69",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"highlight.js": {
|
||||||
|
"src": "../../../../../../node_modules/highlight.js/es/index.js",
|
||||||
|
"file": "highlight__js.js",
|
||||||
|
"fileHash": "d5d445af",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"mermaid": {
|
||||||
|
"src": "../../../../../../node_modules/mermaid/dist/mermaid.core.mjs",
|
||||||
|
"file": "mermaid.js",
|
||||||
|
"fileHash": "90c591b1",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"rxjs": {
|
||||||
|
"src": "../../../../../../node_modules/rxjs/dist/esm5/index.js",
|
||||||
|
"file": "rxjs.js",
|
||||||
|
"fileHash": "8c38d9b7",
|
||||||
|
"needsInterop": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chunks": {
|
||||||
|
"kanban-definition-3W4ZIXB7-GUMHX2OD": {
|
||||||
|
"file": "kanban-definition-3W4ZIXB7-GUMHX2OD.js"
|
||||||
|
},
|
||||||
|
"sankeyDiagram-TZEHDZUN-GH26R5YW": {
|
||||||
|
"file": "sankeyDiagram-TZEHDZUN-GH26R5YW.js"
|
||||||
|
},
|
||||||
|
"diagram-S2PKOQOG-CRJZWG5Y": {
|
||||||
|
"file": "diagram-S2PKOQOG-CRJZWG5Y.js"
|
||||||
|
},
|
||||||
|
"diagram-QEK2KX5R-5GIFGTRQ": {
|
||||||
|
"file": "diagram-QEK2KX5R-5GIFGTRQ.js"
|
||||||
|
},
|
||||||
|
"blockDiagram-VD42YOAC-IMP7RBMX": {
|
||||||
|
"file": "blockDiagram-VD42YOAC-IMP7RBMX.js"
|
||||||
|
},
|
||||||
|
"architectureDiagram-VXUJARFQ-3B5SPFPL": {
|
||||||
|
"file": "architectureDiagram-VXUJARFQ-3B5SPFPL.js"
|
||||||
|
},
|
||||||
|
"diagram-PSM6KHXK-7CHUIA47": {
|
||||||
|
"file": "diagram-PSM6KHXK-7CHUIA47.js"
|
||||||
|
},
|
||||||
|
"sequenceDiagram-WL72ISMW-ZGS5TERI": {
|
||||||
|
"file": "sequenceDiagram-WL72ISMW-ZGS5TERI.js"
|
||||||
|
},
|
||||||
|
"classDiagram-2ON5EDUG-33U76KPG": {
|
||||||
|
"file": "classDiagram-2ON5EDUG-33U76KPG.js"
|
||||||
|
},
|
||||||
|
"classDiagram-v2-WZHVMYZB-Z27PMM23": {
|
||||||
|
"file": "classDiagram-v2-WZHVMYZB-Z27PMM23.js"
|
||||||
|
},
|
||||||
|
"chunk-X65BYZXM": {
|
||||||
|
"file": "chunk-X65BYZXM.js"
|
||||||
|
},
|
||||||
|
"stateDiagram-FKZM4ZOC-KXMQ5JNR": {
|
||||||
|
"file": "stateDiagram-FKZM4ZOC-KXMQ5JNR.js"
|
||||||
|
},
|
||||||
|
"stateDiagram-v2-4FDKWEC3-JB4TSVIW": {
|
||||||
|
"file": "stateDiagram-v2-4FDKWEC3-JB4TSVIW.js"
|
||||||
|
},
|
||||||
|
"chunk-UHQERBHF": {
|
||||||
|
"file": "chunk-UHQERBHF.js"
|
||||||
|
},
|
||||||
|
"journeyDiagram-XKPGCS4Q-TGUXGKSG": {
|
||||||
|
"file": "journeyDiagram-XKPGCS4Q-TGUXGKSG.js"
|
||||||
|
},
|
||||||
|
"timeline-definition-IT6M3QCI-WHNO6URF": {
|
||||||
|
"file": "timeline-definition-IT6M3QCI-WHNO6URF.js"
|
||||||
|
},
|
||||||
|
"mindmap-definition-VGOIOE7T-YDOCEY2Q": {
|
||||||
|
"file": "mindmap-definition-VGOIOE7T-YDOCEY2Q.js"
|
||||||
|
},
|
||||||
|
"treemap-75Q7IDZK-IP775KCD": {
|
||||||
|
"file": "treemap-75Q7IDZK-IP775KCD.js"
|
||||||
|
},
|
||||||
|
"gitGraphDiagram-NY62KEGX-67QA5ASO": {
|
||||||
|
"file": "gitGraphDiagram-NY62KEGX-67QA5ASO.js"
|
||||||
|
},
|
||||||
|
"chunk-3WIYXQMB": {
|
||||||
|
"file": "chunk-3WIYXQMB.js"
|
||||||
|
},
|
||||||
|
"ganttDiagram-LVOFAZNH-HYMY4RKD": {
|
||||||
|
"file": "ganttDiagram-LVOFAZNH-HYMY4RKD.js"
|
||||||
|
},
|
||||||
|
"infoDiagram-F6ZHWCRC-WO5AQYKA": {
|
||||||
|
"file": "infoDiagram-F6ZHWCRC-WO5AQYKA.js"
|
||||||
|
},
|
||||||
|
"pieDiagram-ADFJNKIX-GZV4UXNK": {
|
||||||
|
"file": "pieDiagram-ADFJNKIX-GZV4UXNK.js"
|
||||||
|
},
|
||||||
|
"chunk-PNW5KFH4": {
|
||||||
|
"file": "chunk-PNW5KFH4.js"
|
||||||
|
},
|
||||||
|
"chunk-VGVCR5QM": {
|
||||||
|
"file": "chunk-VGVCR5QM.js"
|
||||||
|
},
|
||||||
|
"chunk-5SXTVVUG": {
|
||||||
|
"file": "chunk-5SXTVVUG.js"
|
||||||
|
},
|
||||||
|
"quadrantDiagram-AYHSOK5B-G2SG5IZD": {
|
||||||
|
"file": "quadrantDiagram-AYHSOK5B-G2SG5IZD.js"
|
||||||
|
},
|
||||||
|
"xychartDiagram-PRI3JC2R-3HCTMHS4": {
|
||||||
|
"file": "xychartDiagram-PRI3JC2R-3HCTMHS4.js"
|
||||||
|
},
|
||||||
|
"requirementDiagram-UZGBJVZJ-75TZV2RQ": {
|
||||||
|
"file": "requirementDiagram-UZGBJVZJ-75TZV2RQ.js"
|
||||||
|
},
|
||||||
|
"flowDiagram-NV44I4VS-WHL2L3RD": {
|
||||||
|
"file": "flowDiagram-NV44I4VS-WHL2L3RD.js"
|
||||||
|
},
|
||||||
|
"chunk-I4QIIVJ7": {
|
||||||
|
"file": "chunk-I4QIIVJ7.js"
|
||||||
|
},
|
||||||
|
"erDiagram-Q2GNP2WA-WNA6LIBQ": {
|
||||||
|
"file": "erDiagram-Q2GNP2WA-WNA6LIBQ.js"
|
||||||
|
},
|
||||||
|
"chunk-PLWNSIKB": {
|
||||||
|
"file": "chunk-PLWNSIKB.js"
|
||||||
|
},
|
||||||
|
"chunk-LHH5RO5K": {
|
||||||
|
"file": "chunk-LHH5RO5K.js"
|
||||||
|
},
|
||||||
|
"info-63CPKGFF-W56KXM6Z": {
|
||||||
|
"file": "info-63CPKGFF-W56KXM6Z.js"
|
||||||
|
},
|
||||||
|
"chunk-BUI4I457": {
|
||||||
|
"file": "chunk-BUI4I457.js"
|
||||||
|
},
|
||||||
|
"packet-HUATNLJX-LCJ3BRNR": {
|
||||||
|
"file": "packet-HUATNLJX-LCJ3BRNR.js"
|
||||||
|
},
|
||||||
|
"chunk-CHJ5BV6S": {
|
||||||
|
"file": "chunk-CHJ5BV6S.js"
|
||||||
|
},
|
||||||
|
"pie-WTHONI2E-7JKUTNCJ": {
|
||||||
|
"file": "pie-WTHONI2E-7JKUTNCJ.js"
|
||||||
|
},
|
||||||
|
"chunk-XP22GJHQ": {
|
||||||
|
"file": "chunk-XP22GJHQ.js"
|
||||||
|
},
|
||||||
|
"architecture-O4VJ6CD3-IBEWAQYB": {
|
||||||
|
"file": "architecture-O4VJ6CD3-IBEWAQYB.js"
|
||||||
|
},
|
||||||
|
"chunk-NYZY7JGI": {
|
||||||
|
"file": "chunk-NYZY7JGI.js"
|
||||||
|
},
|
||||||
|
"gitGraph-ZV4HHKMB-6SC2CHQE": {
|
||||||
|
"file": "gitGraph-ZV4HHKMB-6SC2CHQE.js"
|
||||||
|
},
|
||||||
|
"chunk-FNEVJCCX": {
|
||||||
|
"file": "chunk-FNEVJCCX.js"
|
||||||
|
},
|
||||||
|
"radar-NJJJXTRR-IXC2PP4O": {
|
||||||
|
"file": "radar-NJJJXTRR-IXC2PP4O.js"
|
||||||
|
},
|
||||||
|
"chunk-R33GOAXK": {
|
||||||
|
"file": "chunk-R33GOAXK.js"
|
||||||
|
},
|
||||||
|
"chunk-WHHJWK6B": {
|
||||||
|
"file": "chunk-WHHJWK6B.js"
|
||||||
|
},
|
||||||
|
"chunk-BSULYXPT": {
|
||||||
|
"file": "chunk-BSULYXPT.js"
|
||||||
|
},
|
||||||
|
"chunk-B5NQPFQG": {
|
||||||
|
"file": "chunk-B5NQPFQG.js"
|
||||||
|
},
|
||||||
|
"chunk-JSZQKJT3": {
|
||||||
|
"file": "chunk-JSZQKJT3.js"
|
||||||
|
},
|
||||||
|
"chunk-WC2C7HAT": {
|
||||||
|
"file": "chunk-WC2C7HAT.js"
|
||||||
|
},
|
||||||
|
"katex-JJTYNRHT": {
|
||||||
|
"file": "katex-JJTYNRHT.js"
|
||||||
|
},
|
||||||
|
"dagre-6UL2VRFP-RIOSZDA4": {
|
||||||
|
"file": "dagre-6UL2VRFP-RIOSZDA4.js"
|
||||||
|
},
|
||||||
|
"chunk-YUMEK5VY": {
|
||||||
|
"file": "chunk-YUMEK5VY.js"
|
||||||
|
},
|
||||||
|
"chunk-MEGNL3BT": {
|
||||||
|
"file": "chunk-MEGNL3BT.js"
|
||||||
|
},
|
||||||
|
"chunk-6SIVX7OU": {
|
||||||
|
"file": "chunk-6SIVX7OU.js"
|
||||||
|
},
|
||||||
|
"chunk-HICR2YSH": {
|
||||||
|
"file": "chunk-HICR2YSH.js"
|
||||||
|
},
|
||||||
|
"chunk-JJ4TL56I": {
|
||||||
|
"file": "chunk-JJ4TL56I.js"
|
||||||
|
},
|
||||||
|
"chunk-2HSIUWWJ": {
|
||||||
|
"file": "chunk-2HSIUWWJ.js"
|
||||||
|
},
|
||||||
|
"chunk-EUUYHBKV": {
|
||||||
|
"file": "chunk-EUUYHBKV.js"
|
||||||
|
},
|
||||||
|
"chunk-FTTOYZOY": {
|
||||||
|
"file": "chunk-FTTOYZOY.js"
|
||||||
|
},
|
||||||
|
"chunk-NMWDZEZO": {
|
||||||
|
"file": "chunk-NMWDZEZO.js"
|
||||||
|
},
|
||||||
|
"chunk-NGEE2U2J": {
|
||||||
|
"file": "chunk-NGEE2U2J.js"
|
||||||
|
},
|
||||||
|
"cose-bilkent-S5V4N54A-5WYXQMNH": {
|
||||||
|
"file": "cose-bilkent-S5V4N54A-5WYXQMNH.js"
|
||||||
|
},
|
||||||
|
"chunk-4434HPF7": {
|
||||||
|
"file": "chunk-4434HPF7.js"
|
||||||
|
},
|
||||||
|
"c4Diagram-YG6GDRKO-DTLV3BK5": {
|
||||||
|
"file": "c4Diagram-YG6GDRKO-DTLV3BK5.js"
|
||||||
|
},
|
||||||
|
"chunk-BETRN5NS": {
|
||||||
|
"file": "chunk-BETRN5NS.js"
|
||||||
|
},
|
||||||
|
"chunk-QVVRGVV3": {
|
||||||
|
"file": "chunk-QVVRGVV3.js"
|
||||||
|
},
|
||||||
|
"chunk-CMK64ICG": {
|
||||||
|
"file": "chunk-CMK64ICG.js"
|
||||||
|
},
|
||||||
|
"chunk-BFCVI5XI": {
|
||||||
|
"file": "chunk-BFCVI5XI.js"
|
||||||
|
},
|
||||||
|
"chunk-M5X7JH4I": {
|
||||||
|
"file": "chunk-M5X7JH4I.js"
|
||||||
|
},
|
||||||
|
"chunk-I65GBZ6F": {
|
||||||
|
"file": "chunk-I65GBZ6F.js"
|
||||||
|
},
|
||||||
|
"chunk-QEGKXTBA": {
|
||||||
|
"file": "chunk-QEGKXTBA.js"
|
||||||
|
},
|
||||||
|
"chunk-NNL7YDF7": {
|
||||||
|
"file": "chunk-NNL7YDF7.js"
|
||||||
|
},
|
||||||
|
"chunk-ZJ25XCV3": {
|
||||||
|
"file": "chunk-ZJ25XCV3.js"
|
||||||
|
},
|
||||||
|
"chunk-A3W7CVOL": {
|
||||||
|
"file": "chunk-A3W7CVOL.js"
|
||||||
|
},
|
||||||
|
"chunk-M4YA2FTX": {
|
||||||
|
"file": "chunk-M4YA2FTX.js"
|
||||||
|
},
|
||||||
|
"chunk-RSS3ODKE": {
|
||||||
|
"file": "chunk-RSS3ODKE.js"
|
||||||
|
},
|
||||||
|
"chunk-TKSB4YUA": {
|
||||||
|
"file": "chunk-TKSB4YUA.js"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
8293
.angular/cache/20.3.2/app/vite/deps/angular-calendar.js
vendored
Normal file
8293
.angular/cache/20.3.2/app/vite/deps/angular-calendar.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/angular-calendar.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/angular-calendar.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2531
.angular/cache/20.3.2/app/vite/deps/angular-calendar_date-adapters_date-fns.js
vendored
Normal file
2531
.angular/cache/20.3.2/app/vite/deps/angular-calendar_date-adapters_date-fns.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/angular-calendar_date-adapters_date-fns.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/angular-calendar_date-adapters_date-fns.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
13
.angular/cache/20.3.2/app/vite/deps/architecture-O4VJ6CD3-IBEWAQYB.js
vendored
Normal file
13
.angular/cache/20.3.2/app/vite/deps/architecture-O4VJ6CD3-IBEWAQYB.js
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import {
|
||||||
|
ArchitectureModule,
|
||||||
|
createArchitectureServices
|
||||||
|
} from "./chunk-NYZY7JGI.js";
|
||||||
|
import "./chunk-WHHJWK6B.js";
|
||||||
|
import "./chunk-6SIVX7OU.js";
|
||||||
|
import "./chunk-NGEE2U2J.js";
|
||||||
|
import "./chunk-M5X7JH4I.js";
|
||||||
|
import "./chunk-TKSB4YUA.js";
|
||||||
|
export {
|
||||||
|
ArchitectureModule,
|
||||||
|
createArchitectureServices
|
||||||
|
};
|
7
.angular/cache/20.3.2/app/vite/deps/architecture-O4VJ6CD3-IBEWAQYB.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/architecture-O4VJ6CD3-IBEWAQYB.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": [],
|
||||||
|
"sourcesContent": [],
|
||||||
|
"mappings": "",
|
||||||
|
"names": []
|
||||||
|
}
|
8846
.angular/cache/20.3.2/app/vite/deps/architectureDiagram-VXUJARFQ-3B5SPFPL.js
vendored
Normal file
8846
.angular/cache/20.3.2/app/vite/deps/architectureDiagram-VXUJARFQ-3B5SPFPL.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/architectureDiagram-VXUJARFQ-3B5SPFPL.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/architectureDiagram-VXUJARFQ-3B5SPFPL.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
3748
.angular/cache/20.3.2/app/vite/deps/blockDiagram-VD42YOAC-IMP7RBMX.js
vendored
Normal file
3748
.angular/cache/20.3.2/app/vite/deps/blockDiagram-VD42YOAC-IMP7RBMX.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/blockDiagram-VD42YOAC-IMP7RBMX.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/blockDiagram-VD42YOAC-IMP7RBMX.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2596
.angular/cache/20.3.2/app/vite/deps/c4Diagram-YG6GDRKO-DTLV3BK5.js
vendored
Normal file
2596
.angular/cache/20.3.2/app/vite/deps/c4Diagram-YG6GDRKO-DTLV3BK5.js
vendored
Normal file
File diff suppressed because one or more lines are too long
7
.angular/cache/20.3.2/app/vite/deps/c4Diagram-YG6GDRKO-DTLV3BK5.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/c4Diagram-YG6GDRKO-DTLV3BK5.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
160
.angular/cache/20.3.2/app/vite/deps/chunk-2HSIUWWJ.js
vendored
Normal file
160
.angular/cache/20.3.2/app/vite/deps/chunk-2HSIUWWJ.js
vendored
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
import {
|
||||||
|
__name
|
||||||
|
} from "./chunk-I65GBZ6F.js";
|
||||||
|
|
||||||
|
// node_modules/mermaid/dist/chunks/mermaid.core/chunk-HN2XXSSU.mjs
|
||||||
|
var markerOffsets = {
|
||||||
|
aggregation: 17.25,
|
||||||
|
extension: 17.25,
|
||||||
|
composition: 17.25,
|
||||||
|
dependency: 6,
|
||||||
|
lollipop: 13.5,
|
||||||
|
arrow_point: 4
|
||||||
|
//arrow_cross: 24,
|
||||||
|
};
|
||||||
|
var markerOffsets2 = {
|
||||||
|
arrow_point: 9,
|
||||||
|
arrow_cross: 12.5,
|
||||||
|
arrow_circle: 12.5
|
||||||
|
};
|
||||||
|
function calculateDeltaAndAngle(point1, point2) {
|
||||||
|
if (point1 === void 0 || point2 === void 0) {
|
||||||
|
return { angle: 0, deltaX: 0, deltaY: 0 };
|
||||||
|
}
|
||||||
|
point1 = pointTransformer(point1);
|
||||||
|
point2 = pointTransformer(point2);
|
||||||
|
const [x1, y1] = [point1.x, point1.y];
|
||||||
|
const [x2, y2] = [point2.x, point2.y];
|
||||||
|
const deltaX = x2 - x1;
|
||||||
|
const deltaY = y2 - y1;
|
||||||
|
return { angle: Math.atan(deltaY / deltaX), deltaX, deltaY };
|
||||||
|
}
|
||||||
|
__name(calculateDeltaAndAngle, "calculateDeltaAndAngle");
|
||||||
|
var pointTransformer = __name((data) => {
|
||||||
|
if (Array.isArray(data)) {
|
||||||
|
return { x: data[0], y: data[1] };
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}, "pointTransformer");
|
||||||
|
var getLineFunctionsWithOffset = __name((edge) => {
|
||||||
|
return {
|
||||||
|
x: __name(function(d, i, data) {
|
||||||
|
let offset = 0;
|
||||||
|
const DIRECTION = pointTransformer(data[0]).x < pointTransformer(data[data.length - 1]).x ? "left" : "right";
|
||||||
|
if (i === 0 && Object.hasOwn(markerOffsets, edge.arrowTypeStart)) {
|
||||||
|
const { angle, deltaX } = calculateDeltaAndAngle(data[0], data[1]);
|
||||||
|
offset = markerOffsets[edge.arrowTypeStart] * Math.cos(angle) * (deltaX >= 0 ? 1 : -1);
|
||||||
|
} else if (i === data.length - 1 && Object.hasOwn(markerOffsets, edge.arrowTypeEnd)) {
|
||||||
|
const { angle, deltaX } = calculateDeltaAndAngle(
|
||||||
|
data[data.length - 1],
|
||||||
|
data[data.length - 2]
|
||||||
|
);
|
||||||
|
offset = markerOffsets[edge.arrowTypeEnd] * Math.cos(angle) * (deltaX >= 0 ? 1 : -1);
|
||||||
|
}
|
||||||
|
const differenceToEnd = Math.abs(
|
||||||
|
pointTransformer(d).x - pointTransformer(data[data.length - 1]).x
|
||||||
|
);
|
||||||
|
const differenceInYEnd = Math.abs(
|
||||||
|
pointTransformer(d).y - pointTransformer(data[data.length - 1]).y
|
||||||
|
);
|
||||||
|
const differenceToStart = Math.abs(pointTransformer(d).x - pointTransformer(data[0]).x);
|
||||||
|
const differenceInYStart = Math.abs(pointTransformer(d).y - pointTransformer(data[0]).y);
|
||||||
|
const startMarkerHeight = markerOffsets[edge.arrowTypeStart];
|
||||||
|
const endMarkerHeight = markerOffsets[edge.arrowTypeEnd];
|
||||||
|
const extraRoom = 1;
|
||||||
|
if (differenceToEnd < endMarkerHeight && differenceToEnd > 0 && differenceInYEnd < endMarkerHeight) {
|
||||||
|
let adjustment = endMarkerHeight + extraRoom - differenceToEnd;
|
||||||
|
adjustment *= DIRECTION === "right" ? -1 : 1;
|
||||||
|
offset -= adjustment;
|
||||||
|
}
|
||||||
|
if (differenceToStart < startMarkerHeight && differenceToStart > 0 && differenceInYStart < startMarkerHeight) {
|
||||||
|
let adjustment = startMarkerHeight + extraRoom - differenceToStart;
|
||||||
|
adjustment *= DIRECTION === "right" ? -1 : 1;
|
||||||
|
offset += adjustment;
|
||||||
|
}
|
||||||
|
return pointTransformer(d).x + offset;
|
||||||
|
}, "x"),
|
||||||
|
y: __name(function(d, i, data) {
|
||||||
|
let offset = 0;
|
||||||
|
const DIRECTION = pointTransformer(data[0]).y < pointTransformer(data[data.length - 1]).y ? "down" : "up";
|
||||||
|
if (i === 0 && Object.hasOwn(markerOffsets, edge.arrowTypeStart)) {
|
||||||
|
const { angle, deltaY } = calculateDeltaAndAngle(data[0], data[1]);
|
||||||
|
offset = markerOffsets[edge.arrowTypeStart] * Math.abs(Math.sin(angle)) * (deltaY >= 0 ? 1 : -1);
|
||||||
|
} else if (i === data.length - 1 && Object.hasOwn(markerOffsets, edge.arrowTypeEnd)) {
|
||||||
|
const { angle, deltaY } = calculateDeltaAndAngle(
|
||||||
|
data[data.length - 1],
|
||||||
|
data[data.length - 2]
|
||||||
|
);
|
||||||
|
offset = markerOffsets[edge.arrowTypeEnd] * Math.abs(Math.sin(angle)) * (deltaY >= 0 ? 1 : -1);
|
||||||
|
}
|
||||||
|
const differenceToEnd = Math.abs(
|
||||||
|
pointTransformer(d).y - pointTransformer(data[data.length - 1]).y
|
||||||
|
);
|
||||||
|
const differenceInXEnd = Math.abs(
|
||||||
|
pointTransformer(d).x - pointTransformer(data[data.length - 1]).x
|
||||||
|
);
|
||||||
|
const differenceToStart = Math.abs(pointTransformer(d).y - pointTransformer(data[0]).y);
|
||||||
|
const differenceInXStart = Math.abs(pointTransformer(d).x - pointTransformer(data[0]).x);
|
||||||
|
const startMarkerHeight = markerOffsets[edge.arrowTypeStart];
|
||||||
|
const endMarkerHeight = markerOffsets[edge.arrowTypeEnd];
|
||||||
|
const extraRoom = 1;
|
||||||
|
if (differenceToEnd < endMarkerHeight && differenceToEnd > 0 && differenceInXEnd < endMarkerHeight) {
|
||||||
|
let adjustment = endMarkerHeight + extraRoom - differenceToEnd;
|
||||||
|
adjustment *= DIRECTION === "up" ? -1 : 1;
|
||||||
|
offset -= adjustment;
|
||||||
|
}
|
||||||
|
if (differenceToStart < startMarkerHeight && differenceToStart > 0 && differenceInXStart < startMarkerHeight) {
|
||||||
|
let adjustment = startMarkerHeight + extraRoom - differenceToStart;
|
||||||
|
adjustment *= DIRECTION === "up" ? -1 : 1;
|
||||||
|
offset += adjustment;
|
||||||
|
}
|
||||||
|
return pointTransformer(d).y + offset;
|
||||||
|
}, "y")
|
||||||
|
};
|
||||||
|
}, "getLineFunctionsWithOffset");
|
||||||
|
if (void 0) {
|
||||||
|
const { it, expect, describe } = void 0;
|
||||||
|
describe("calculateDeltaAndAngle", () => {
|
||||||
|
it("should calculate the angle and deltas between two points", () => {
|
||||||
|
expect(calculateDeltaAndAngle([0, 0], [0, 1])).toStrictEqual({
|
||||||
|
angle: 1.5707963267948966,
|
||||||
|
deltaX: 0,
|
||||||
|
deltaY: 1
|
||||||
|
});
|
||||||
|
expect(calculateDeltaAndAngle([1, 0], [0, -1])).toStrictEqual({
|
||||||
|
angle: 0.7853981633974483,
|
||||||
|
deltaX: -1,
|
||||||
|
deltaY: -1
|
||||||
|
});
|
||||||
|
expect(calculateDeltaAndAngle({ x: 1, y: 0 }, [0, -1])).toStrictEqual({
|
||||||
|
angle: 0.7853981633974483,
|
||||||
|
deltaX: -1,
|
||||||
|
deltaY: -1
|
||||||
|
});
|
||||||
|
expect(calculateDeltaAndAngle({ x: 1, y: 0 }, { x: 1, y: 0 })).toStrictEqual({
|
||||||
|
angle: NaN,
|
||||||
|
deltaX: 0,
|
||||||
|
deltaY: 0
|
||||||
|
});
|
||||||
|
});
|
||||||
|
it("should calculate the angle and deltas if one point in undefined", () => {
|
||||||
|
expect(calculateDeltaAndAngle(void 0, [0, 1])).toStrictEqual({
|
||||||
|
angle: 0,
|
||||||
|
deltaX: 0,
|
||||||
|
deltaY: 0
|
||||||
|
});
|
||||||
|
expect(calculateDeltaAndAngle([0, 1], void 0)).toStrictEqual({
|
||||||
|
angle: 0,
|
||||||
|
deltaX: 0,
|
||||||
|
deltaY: 0
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export {
|
||||||
|
markerOffsets,
|
||||||
|
markerOffsets2,
|
||||||
|
getLineFunctionsWithOffset
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-2HSIUWWJ.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-2HSIUWWJ.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-2HSIUWWJ.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
23
.angular/cache/20.3.2/app/vite/deps/chunk-3WIYXQMB.js
vendored
Normal file
23
.angular/cache/20.3.2/app/vite/deps/chunk-3WIYXQMB.js
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import {
|
||||||
|
__name
|
||||||
|
} from "./chunk-I65GBZ6F.js";
|
||||||
|
|
||||||
|
// node_modules/mermaid/dist/chunks/mermaid.core/chunk-QZHKN3VN.mjs
|
||||||
|
var _a;
|
||||||
|
var ImperativeState = (_a = class {
|
||||||
|
/**
|
||||||
|
* @param init - Function that creates the default state.
|
||||||
|
*/
|
||||||
|
constructor(init) {
|
||||||
|
this.init = init;
|
||||||
|
this.records = this.init();
|
||||||
|
}
|
||||||
|
reset() {
|
||||||
|
this.records = this.init();
|
||||||
|
}
|
||||||
|
}, __name(_a, "ImperativeState"), _a);
|
||||||
|
|
||||||
|
export {
|
||||||
|
ImperativeState
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-3WIYXQMB.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-3WIYXQMB.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-3WIYXQMB.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-QZHKN3VN.mjs"],
|
||||||
|
"sourcesContent": ["import {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/utils/imperativeState.ts\nvar ImperativeState = class {\n /**\n * @param init - Function that creates the default state.\n */\n constructor(init) {\n this.init = init;\n this.records = this.init();\n }\n static {\n __name(this, \"ImperativeState\");\n }\n reset() {\n this.records = this.init();\n }\n};\n\nexport {\n ImperativeState\n};\n"],
|
||||||
|
"mappings": ";;;;;AAAA;AAKA,IAAI,mBAAkB,WAAM;AAAA;AAAA;AAAA;AAAA,EAI1B,YAAY,MAAM;AAChB,SAAK,OAAO;AACZ,SAAK,UAAU,KAAK,KAAK;AAAA,EAC3B;AAAA,EAIA,QAAQ;AACN,SAAK,UAAU,KAAK,KAAK;AAAA,EAC3B;AACF,GALI,OAAO,IAAM,iBAAiB,GATZ;",
|
||||||
|
"names": []
|
||||||
|
}
|
30281
.angular/cache/20.3.2/app/vite/deps/chunk-4434HPF7.js
vendored
Normal file
30281
.angular/cache/20.3.2/app/vite/deps/chunk-4434HPF7.js
vendored
Normal file
File diff suppressed because one or more lines are too long
7
.angular/cache/20.3.2/app/vite/deps/chunk-4434HPF7.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-4434HPF7.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
119
.angular/cache/20.3.2/app/vite/deps/chunk-5SXTVVUG.js
vendored
Normal file
119
.angular/cache/20.3.2/app/vite/deps/chunk-5SXTVVUG.js
vendored
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
import {
|
||||||
|
AbstractMermaidTokenBuilder,
|
||||||
|
AbstractMermaidValueConverter,
|
||||||
|
EmptyFileSystem,
|
||||||
|
MermaidGeneratedSharedModule,
|
||||||
|
TreemapGeneratedModule,
|
||||||
|
__name,
|
||||||
|
createDefaultCoreModule,
|
||||||
|
createDefaultSharedCoreModule,
|
||||||
|
inject,
|
||||||
|
lib_exports
|
||||||
|
} from "./chunk-WHHJWK6B.js";
|
||||||
|
|
||||||
|
// node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-XRWGC2XP.mjs
|
||||||
|
var _a;
|
||||||
|
var TreemapTokenBuilder = (_a = class extends AbstractMermaidTokenBuilder {
|
||||||
|
constructor() {
|
||||||
|
super(["treemap"]);
|
||||||
|
}
|
||||||
|
}, __name(_a, "TreemapTokenBuilder"), _a);
|
||||||
|
var classDefRegex = /classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/;
|
||||||
|
var _a2;
|
||||||
|
var TreemapValueConverter = (_a2 = class extends AbstractMermaidValueConverter {
|
||||||
|
runCustomConverter(rule, input, _cstNode) {
|
||||||
|
if (rule.name === "NUMBER2") {
|
||||||
|
return parseFloat(input.replace(/,/g, ""));
|
||||||
|
} else if (rule.name === "SEPARATOR") {
|
||||||
|
return input.substring(1, input.length - 1);
|
||||||
|
} else if (rule.name === "STRING2") {
|
||||||
|
return input.substring(1, input.length - 1);
|
||||||
|
} else if (rule.name === "INDENTATION") {
|
||||||
|
return input.length;
|
||||||
|
} else if (rule.name === "ClassDef") {
|
||||||
|
if (typeof input !== "string") {
|
||||||
|
return input;
|
||||||
|
}
|
||||||
|
const match = classDefRegex.exec(input);
|
||||||
|
if (match) {
|
||||||
|
return {
|
||||||
|
$type: "ClassDefStatement",
|
||||||
|
className: match[1],
|
||||||
|
styleText: match[2] || void 0
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return void 0;
|
||||||
|
}
|
||||||
|
}, __name(_a2, "TreemapValueConverter"), _a2);
|
||||||
|
function registerValidationChecks(services) {
|
||||||
|
const validator = services.validation.TreemapValidator;
|
||||||
|
const registry = services.validation.ValidationRegistry;
|
||||||
|
if (registry) {
|
||||||
|
const checks = {
|
||||||
|
Treemap: validator.checkSingleRoot.bind(validator)
|
||||||
|
// Remove unused validation for TreemapRow
|
||||||
|
};
|
||||||
|
registry.register(checks, validator);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
__name(registerValidationChecks, "registerValidationChecks");
|
||||||
|
var _a3;
|
||||||
|
var TreemapValidator = (_a3 = class {
|
||||||
|
/**
|
||||||
|
* Validates that a treemap has only one root node.
|
||||||
|
* A root node is defined as a node that has no indentation.
|
||||||
|
*/
|
||||||
|
checkSingleRoot(doc, accept) {
|
||||||
|
let rootNodeIndentation;
|
||||||
|
for (const row of doc.TreemapRows) {
|
||||||
|
if (!row.item) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (rootNodeIndentation === void 0 && // Check if this is a root node (no indentation)
|
||||||
|
row.indent === void 0) {
|
||||||
|
rootNodeIndentation = 0;
|
||||||
|
} else if (row.indent === void 0) {
|
||||||
|
accept("error", "Multiple root nodes are not allowed in a treemap.", {
|
||||||
|
node: row,
|
||||||
|
property: "item"
|
||||||
|
});
|
||||||
|
} else if (rootNodeIndentation !== void 0 && rootNodeIndentation >= parseInt(row.indent, 10)) {
|
||||||
|
accept("error", "Multiple root nodes are not allowed in a treemap.", {
|
||||||
|
node: row,
|
||||||
|
property: "item"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, __name(_a3, "TreemapValidator"), _a3);
|
||||||
|
var TreemapModule = {
|
||||||
|
parser: {
|
||||||
|
TokenBuilder: __name(() => new TreemapTokenBuilder(), "TokenBuilder"),
|
||||||
|
ValueConverter: __name(() => new TreemapValueConverter(), "ValueConverter")
|
||||||
|
},
|
||||||
|
validation: {
|
||||||
|
TreemapValidator: __name(() => new TreemapValidator(), "TreemapValidator")
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function createTreemapServices(context = EmptyFileSystem) {
|
||||||
|
const shared = inject(
|
||||||
|
createDefaultSharedCoreModule(context),
|
||||||
|
MermaidGeneratedSharedModule
|
||||||
|
);
|
||||||
|
const Treemap = inject(
|
||||||
|
createDefaultCoreModule({ shared }),
|
||||||
|
TreemapGeneratedModule,
|
||||||
|
TreemapModule
|
||||||
|
);
|
||||||
|
shared.ServiceRegistry.register(Treemap);
|
||||||
|
registerValidationChecks(Treemap);
|
||||||
|
return { shared, Treemap };
|
||||||
|
}
|
||||||
|
__name(createTreemapServices, "createTreemapServices");
|
||||||
|
|
||||||
|
export {
|
||||||
|
TreemapModule,
|
||||||
|
createTreemapServices
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-5SXTVVUG.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-5SXTVVUG.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-5SXTVVUG.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-XRWGC2XP.mjs"],
|
||||||
|
"sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n AbstractMermaidValueConverter,\n MermaidGeneratedSharedModule,\n TreemapGeneratedModule,\n __name\n} from \"./chunk-4KMFLZZN.mjs\";\n\n// src/language/treemap/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/treemap/tokenBuilder.ts\nvar TreemapTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"TreemapTokenBuilder\");\n }\n constructor() {\n super([\"treemap\"]);\n }\n};\n\n// src/language/treemap/valueConverter.ts\nvar classDefRegex = /classDef\\s+([A-Z_a-z]\\w+)(?:\\s+([^\\n\\r;]*))?;?/;\nvar TreemapValueConverter = class extends AbstractMermaidValueConverter {\n static {\n __name(this, \"TreemapValueConverter\");\n }\n runCustomConverter(rule, input, _cstNode) {\n if (rule.name === \"NUMBER2\") {\n return parseFloat(input.replace(/,/g, \"\"));\n } else if (rule.name === \"SEPARATOR\") {\n return input.substring(1, input.length - 1);\n } else if (rule.name === \"STRING2\") {\n return input.substring(1, input.length - 1);\n } else if (rule.name === \"INDENTATION\") {\n return input.length;\n } else if (rule.name === \"ClassDef\") {\n if (typeof input !== \"string\") {\n return input;\n }\n const match = classDefRegex.exec(input);\n if (match) {\n return {\n $type: \"ClassDefStatement\",\n className: match[1],\n styleText: match[2] || void 0\n };\n }\n }\n return void 0;\n }\n};\n\n// src/language/treemap/treemap-validator.ts\nfunction registerValidationChecks(services) {\n const validator = services.validation.TreemapValidator;\n const registry = services.validation.ValidationRegistry;\n if (registry) {\n const checks = {\n Treemap: validator.checkSingleRoot.bind(validator)\n // Remove unused validation for TreemapRow\n };\n registry.register(checks, validator);\n }\n}\n__name(registerValidationChecks, \"registerValidationChecks\");\nvar TreemapValidator = class {\n static {\n __name(this, \"TreemapValidator\");\n }\n /**\n * Validates that a treemap has only one root node.\n * A root node is defined as a node that has no indentation.\n */\n checkSingleRoot(doc, accept) {\n let rootNodeIndentation;\n for (const row of doc.TreemapRows) {\n if (!row.item) {\n continue;\n }\n if (rootNodeIndentation === void 0 && // Check if this is a root node (no indentation)\n row.indent === void 0) {\n rootNodeIndentation = 0;\n } else if (row.indent === void 0) {\n accept(\"error\", \"Multiple root nodes are not allowed in a treemap.\", {\n node: row,\n property: \"item\"\n });\n } else if (rootNodeIndentation !== void 0 && rootNodeIndentation >= parseInt(row.indent, 10)) {\n accept(\"error\", \"Multiple root nodes are not allowed in a treemap.\", {\n node: row,\n property: \"item\"\n });\n }\n }\n }\n};\n\n// src/language/treemap/module.ts\nvar TreemapModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new TreemapTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new TreemapValueConverter(), \"ValueConverter\")\n },\n validation: {\n TreemapValidator: /* @__PURE__ */ __name(() => new TreemapValidator(), \"TreemapValidator\")\n }\n};\nfunction createTreemapServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Treemap = inject(\n createDefaultCoreModule({ shared }),\n TreemapGeneratedModule,\n TreemapModule\n );\n shared.ServiceRegistry.register(Treemap);\n registerValidationChecks(Treemap);\n return { shared, Treemap };\n}\n__name(createTreemapServices, \"createTreemapServices\");\n\nexport {\n TreemapModule,\n createTreemapServices\n};\n"],
|
||||||
|
"mappings": ";;;;;;;;;;;;;;AAAA;AAiBA,IAAI,uBAAsB,mBAAc,4BAA4B;AAAA,EAIlE,cAAc;AACZ,UAAM,CAAC,SAAS,CAAC;AAAA,EACnB;AACF,GALI,OAAO,IAAM,qBAAqB,GAFZ;AAU1B,IAAI,gBAAgB;AA3BpB,IAAAA;AA4BA,IAAI,yBAAwBA,MAAA,cAAc,8BAA8B;AAAA,EAItE,mBAAmB,MAAM,OAAO,UAAU;AACxC,QAAI,KAAK,SAAS,WAAW;AAC3B,aAAO,WAAW,MAAM,QAAQ,MAAM,EAAE,CAAC;AAAA,IAC3C,WAAW,KAAK,SAAS,aAAa;AACpC,aAAO,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC;AAAA,IAC5C,WAAW,KAAK,SAAS,WAAW;AAClC,aAAO,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC;AAAA,IAC5C,WAAW,KAAK,SAAS,eAAe;AACtC,aAAO,MAAM;AAAA,IACf,WAAW,KAAK,SAAS,YAAY;AACnC,UAAI,OAAO,UAAU,UAAU;AAC7B,eAAO;AAAA,MACT;AACA,YAAM,QAAQ,cAAc,KAAK,KAAK;AACtC,UAAI,OAAO;AACT,eAAO;AAAA,UACL,OAAO;AAAA,UACP,WAAW,MAAM,CAAC;AAAA,UAClB,WAAW,MAAM,CAAC,KAAK;AAAA,QACzB;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF,GA1BI,OAAOA,KAAM,uBAAuB,GAFZA;AA+B5B,SAAS,yBAAyB,UAAU;AAC1C,QAAM,YAAY,SAAS,WAAW;AACtC,QAAM,WAAW,SAAS,WAAW;AACrC,MAAI,UAAU;AACZ,UAAM,SAAS;AAAA,MACb,SAAS,UAAU,gBAAgB,KAAK,SAAS;AAAA;AAAA,IAEnD;AACA,aAAS,SAAS,QAAQ,SAAS;AAAA,EACrC;AACF;AACA,OAAO,0BAA0B,0BAA0B;AAtE3D,IAAAA;AAuEA,IAAI,oBAAmBA,MAAA,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ3B,gBAAgB,KAAK,QAAQ;AAC3B,QAAI;AACJ,eAAW,OAAO,IAAI,aAAa;AACjC,UAAI,CAAC,IAAI,MAAM;AACb;AAAA,MACF;AACA,UAAI,wBAAwB;AAAA,MAC5B,IAAI,WAAW,QAAQ;AACrB,8BAAsB;AAAA,MACxB,WAAW,IAAI,WAAW,QAAQ;AAChC,eAAO,SAAS,qDAAqD;AAAA,UACnE,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,MACH,WAAW,wBAAwB,UAAU,uBAAuB,SAAS,IAAI,QAAQ,EAAE,GAAG;AAC5F,eAAO,SAAS,qDAAqD;AAAA,UACnE,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF,GA5BI,OAAOA,KAAM,kBAAkB,GAFZA;AAiCvB,IAAI,gBAAgB;AAAA,EAClB,QAAQ;AAAA,IACN,cAA8B,OAAO,MAAM,IAAI,oBAAoB,GAAG,cAAc;AAAA,IACpF,gBAAgC,OAAO,MAAM,IAAI,sBAAsB,GAAG,gBAAgB;AAAA,EAC5F;AAAA,EACA,YAAY;AAAA,IACV,kBAAkC,OAAO,MAAM,IAAI,iBAAiB,GAAG,kBAAkB;AAAA,EAC3F;AACF;AACA,SAAS,sBAAsB,UAAU,iBAAiB;AACxD,QAAM,SAAS;AAAA,IACb,8BAA8B,OAAO;AAAA,IACrC;AAAA,EACF;AACA,QAAM,UAAU;AAAA,IACd,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS,OAAO;AACvC,2BAAyB,OAAO;AAChC,SAAO,EAAE,QAAQ,QAAQ;AAC3B;AACA,OAAO,uBAAuB,uBAAuB;",
|
||||||
|
"names": ["_a"]
|
||||||
|
}
|
7060
.angular/cache/20.3.2/app/vite/deps/chunk-6SIVX7OU.js
vendored
Normal file
7060
.angular/cache/20.3.2/app/vite/deps/chunk-6SIVX7OU.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/chunk-6SIVX7OU.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-6SIVX7OU.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
24503
.angular/cache/20.3.2/app/vite/deps/chunk-A3W7CVOL.js
vendored
Normal file
24503
.angular/cache/20.3.2/app/vite/deps/chunk-A3W7CVOL.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/chunk-A3W7CVOL.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-A3W7CVOL.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
25
.angular/cache/20.3.2/app/vite/deps/chunk-B5NQPFQG.js
vendored
Normal file
25
.angular/cache/20.3.2/app/vite/deps/chunk-B5NQPFQG.js
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import {
|
||||||
|
getConfig2
|
||||||
|
} from "./chunk-BFCVI5XI.js";
|
||||||
|
import {
|
||||||
|
__name,
|
||||||
|
select_default
|
||||||
|
} from "./chunk-I65GBZ6F.js";
|
||||||
|
|
||||||
|
// node_modules/mermaid/dist/chunks/mermaid.core/chunk-EXTU4WIE.mjs
|
||||||
|
var selectSvgElement = __name((id) => {
|
||||||
|
const { securityLevel } = getConfig2();
|
||||||
|
let root = select_default("body");
|
||||||
|
if (securityLevel === "sandbox") {
|
||||||
|
const sandboxElement = select_default(`#i${id}`);
|
||||||
|
const doc = sandboxElement.node()?.contentDocument ?? document;
|
||||||
|
root = select_default(doc.body);
|
||||||
|
}
|
||||||
|
const svg = root.select(`#${id}`);
|
||||||
|
return svg;
|
||||||
|
}, "selectSvgElement");
|
||||||
|
|
||||||
|
export {
|
||||||
|
selectSvgElement
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-B5NQPFQG.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-B5NQPFQG.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-B5NQPFQG.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-EXTU4WIE.mjs"],
|
||||||
|
"sourcesContent": ["import {\n getConfig2 as getConfig\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/rendering-util/selectSvgElement.ts\nimport { select } from \"d3\";\nvar selectSvgElement = /* @__PURE__ */ __name((id) => {\n const { securityLevel } = getConfig();\n let root = select(\"body\");\n if (securityLevel === \"sandbox\") {\n const sandboxElement = select(`#i${id}`);\n const doc = sandboxElement.node()?.contentDocument ?? document;\n root = select(doc.body);\n }\n const svg = root.select(`#${id}`);\n return svg;\n}, \"selectSvgElement\");\n\nexport {\n selectSvgElement\n};\n"],
|
||||||
|
"mappings": ";;;;;;;;;AASA,IAAI,mBAAmC,OAAO,CAAC,OAAO;AACpD,QAAM,EAAE,cAAc,IAAI,WAAU;AACpC,MAAI,OAAO,eAAO,MAAM;AACxB,MAAI,kBAAkB,WAAW;AAC/B,UAAM,iBAAiB,eAAO,KAAK,EAAE,EAAE;AACvC,UAAM,MAAM,eAAe,KAAK,GAAG,mBAAmB;AACtD,WAAO,eAAO,IAAI,IAAI;AAAA,EACxB;AACA,QAAM,MAAM,KAAK,OAAO,IAAI,EAAE,EAAE;AAChC,SAAO;AACT,GAAG,kBAAkB;",
|
||||||
|
"names": []
|
||||||
|
}
|
124
.angular/cache/20.3.2/app/vite/deps/chunk-BETRN5NS.js
vendored
Normal file
124
.angular/cache/20.3.2/app/vite/deps/chunk-BETRN5NS.js
vendored
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
import {
|
||||||
|
require_dist
|
||||||
|
} from "./chunk-CMK64ICG.js";
|
||||||
|
import {
|
||||||
|
lineBreakRegex
|
||||||
|
} from "./chunk-BFCVI5XI.js";
|
||||||
|
import {
|
||||||
|
__name
|
||||||
|
} from "./chunk-I65GBZ6F.js";
|
||||||
|
import {
|
||||||
|
__toESM
|
||||||
|
} from "./chunk-TKSB4YUA.js";
|
||||||
|
|
||||||
|
// node_modules/mermaid/dist/chunks/mermaid.core/chunk-TZMSLE5B.mjs
|
||||||
|
var import_sanitize_url = __toESM(require_dist(), 1);
|
||||||
|
var drawRect = __name((element, rectData) => {
|
||||||
|
const rectElement = element.append("rect");
|
||||||
|
rectElement.attr("x", rectData.x);
|
||||||
|
rectElement.attr("y", rectData.y);
|
||||||
|
rectElement.attr("fill", rectData.fill);
|
||||||
|
rectElement.attr("stroke", rectData.stroke);
|
||||||
|
rectElement.attr("width", rectData.width);
|
||||||
|
rectElement.attr("height", rectData.height);
|
||||||
|
if (rectData.name) {
|
||||||
|
rectElement.attr("name", rectData.name);
|
||||||
|
}
|
||||||
|
if (rectData.rx) {
|
||||||
|
rectElement.attr("rx", rectData.rx);
|
||||||
|
}
|
||||||
|
if (rectData.ry) {
|
||||||
|
rectElement.attr("ry", rectData.ry);
|
||||||
|
}
|
||||||
|
if (rectData.attrs !== void 0) {
|
||||||
|
for (const attrKey in rectData.attrs) {
|
||||||
|
rectElement.attr(attrKey, rectData.attrs[attrKey]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (rectData.class) {
|
||||||
|
rectElement.attr("class", rectData.class);
|
||||||
|
}
|
||||||
|
return rectElement;
|
||||||
|
}, "drawRect");
|
||||||
|
var drawBackgroundRect = __name((element, bounds) => {
|
||||||
|
const rectData = {
|
||||||
|
x: bounds.startx,
|
||||||
|
y: bounds.starty,
|
||||||
|
width: bounds.stopx - bounds.startx,
|
||||||
|
height: bounds.stopy - bounds.starty,
|
||||||
|
fill: bounds.fill,
|
||||||
|
stroke: bounds.stroke,
|
||||||
|
class: "rect"
|
||||||
|
};
|
||||||
|
const rectElement = drawRect(element, rectData);
|
||||||
|
rectElement.lower();
|
||||||
|
}, "drawBackgroundRect");
|
||||||
|
var drawText = __name((element, textData) => {
|
||||||
|
const nText = textData.text.replace(lineBreakRegex, " ");
|
||||||
|
const textElem = element.append("text");
|
||||||
|
textElem.attr("x", textData.x);
|
||||||
|
textElem.attr("y", textData.y);
|
||||||
|
textElem.attr("class", "legend");
|
||||||
|
textElem.style("text-anchor", textData.anchor);
|
||||||
|
if (textData.class) {
|
||||||
|
textElem.attr("class", textData.class);
|
||||||
|
}
|
||||||
|
const tspan = textElem.append("tspan");
|
||||||
|
tspan.attr("x", textData.x + textData.textMargin * 2);
|
||||||
|
tspan.text(nText);
|
||||||
|
return textElem;
|
||||||
|
}, "drawText");
|
||||||
|
var drawImage = __name((elem, x, y, link) => {
|
||||||
|
const imageElement = elem.append("image");
|
||||||
|
imageElement.attr("x", x);
|
||||||
|
imageElement.attr("y", y);
|
||||||
|
const sanitizedLink = (0, import_sanitize_url.sanitizeUrl)(link);
|
||||||
|
imageElement.attr("xlink:href", sanitizedLink);
|
||||||
|
}, "drawImage");
|
||||||
|
var drawEmbeddedImage = __name((element, x, y, link) => {
|
||||||
|
const imageElement = element.append("use");
|
||||||
|
imageElement.attr("x", x);
|
||||||
|
imageElement.attr("y", y);
|
||||||
|
const sanitizedLink = (0, import_sanitize_url.sanitizeUrl)(link);
|
||||||
|
imageElement.attr("xlink:href", `#${sanitizedLink}`);
|
||||||
|
}, "drawEmbeddedImage");
|
||||||
|
var getNoteRect = __name(() => {
|
||||||
|
const noteRectData = {
|
||||||
|
x: 0,
|
||||||
|
y: 0,
|
||||||
|
width: 100,
|
||||||
|
height: 100,
|
||||||
|
fill: "#EDF2AE",
|
||||||
|
stroke: "#666",
|
||||||
|
anchor: "start",
|
||||||
|
rx: 0,
|
||||||
|
ry: 0
|
||||||
|
};
|
||||||
|
return noteRectData;
|
||||||
|
}, "getNoteRect");
|
||||||
|
var getTextObj = __name(() => {
|
||||||
|
const testObject = {
|
||||||
|
x: 0,
|
||||||
|
y: 0,
|
||||||
|
width: 100,
|
||||||
|
height: 100,
|
||||||
|
"text-anchor": "start",
|
||||||
|
style: "#666",
|
||||||
|
textMargin: 0,
|
||||||
|
rx: 0,
|
||||||
|
ry: 0,
|
||||||
|
tspan: true
|
||||||
|
};
|
||||||
|
return testObject;
|
||||||
|
}, "getTextObj");
|
||||||
|
|
||||||
|
export {
|
||||||
|
drawRect,
|
||||||
|
drawBackgroundRect,
|
||||||
|
drawText,
|
||||||
|
drawImage,
|
||||||
|
drawEmbeddedImage,
|
||||||
|
getNoteRect,
|
||||||
|
getTextObj
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-BETRN5NS.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-BETRN5NS.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-BETRN5NS.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-TZMSLE5B.mjs"],
|
||||||
|
"sourcesContent": ["import {\n lineBreakRegex\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/common/svgDrawCommon.ts\nimport { sanitizeUrl } from \"@braintree/sanitize-url\";\nvar drawRect = /* @__PURE__ */ __name((element, rectData) => {\n const rectElement = element.append(\"rect\");\n rectElement.attr(\"x\", rectData.x);\n rectElement.attr(\"y\", rectData.y);\n rectElement.attr(\"fill\", rectData.fill);\n rectElement.attr(\"stroke\", rectData.stroke);\n rectElement.attr(\"width\", rectData.width);\n rectElement.attr(\"height\", rectData.height);\n if (rectData.name) {\n rectElement.attr(\"name\", rectData.name);\n }\n if (rectData.rx) {\n rectElement.attr(\"rx\", rectData.rx);\n }\n if (rectData.ry) {\n rectElement.attr(\"ry\", rectData.ry);\n }\n if (rectData.attrs !== void 0) {\n for (const attrKey in rectData.attrs) {\n rectElement.attr(attrKey, rectData.attrs[attrKey]);\n }\n }\n if (rectData.class) {\n rectElement.attr(\"class\", rectData.class);\n }\n return rectElement;\n}, \"drawRect\");\nvar drawBackgroundRect = /* @__PURE__ */ __name((element, bounds) => {\n const rectData = {\n x: bounds.startx,\n y: bounds.starty,\n width: bounds.stopx - bounds.startx,\n height: bounds.stopy - bounds.starty,\n fill: bounds.fill,\n stroke: bounds.stroke,\n class: \"rect\"\n };\n const rectElement = drawRect(element, rectData);\n rectElement.lower();\n}, \"drawBackgroundRect\");\nvar drawText = /* @__PURE__ */ __name((element, textData) => {\n const nText = textData.text.replace(lineBreakRegex, \" \");\n const textElem = element.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.attr(\"class\", \"legend\");\n textElem.style(\"text-anchor\", textData.anchor);\n if (textData.class) {\n textElem.attr(\"class\", textData.class);\n }\n const tspan = textElem.append(\"tspan\");\n tspan.attr(\"x\", textData.x + textData.textMargin * 2);\n tspan.text(nText);\n return textElem;\n}, \"drawText\");\nvar drawImage = /* @__PURE__ */ __name((elem, x, y, link) => {\n const imageElement = elem.append(\"image\");\n imageElement.attr(\"x\", x);\n imageElement.attr(\"y\", y);\n const sanitizedLink = sanitizeUrl(link);\n imageElement.attr(\"xlink:href\", sanitizedLink);\n}, \"drawImage\");\nvar drawEmbeddedImage = /* @__PURE__ */ __name((element, x, y, link) => {\n const imageElement = element.append(\"use\");\n imageElement.attr(\"x\", x);\n imageElement.attr(\"y\", y);\n const sanitizedLink = sanitizeUrl(link);\n imageElement.attr(\"xlink:href\", `#${sanitizedLink}`);\n}, \"drawEmbeddedImage\");\nvar getNoteRect = /* @__PURE__ */ __name(() => {\n const noteRectData = {\n x: 0,\n y: 0,\n width: 100,\n height: 100,\n fill: \"#EDF2AE\",\n stroke: \"#666\",\n anchor: \"start\",\n rx: 0,\n ry: 0\n };\n return noteRectData;\n}, \"getNoteRect\");\nvar getTextObj = /* @__PURE__ */ __name(() => {\n const testObject = {\n x: 0,\n y: 0,\n width: 100,\n height: 100,\n \"text-anchor\": \"start\",\n style: \"#666\",\n textMargin: 0,\n rx: 0,\n ry: 0,\n tspan: true\n };\n return testObject;\n}, \"getTextObj\");\n\nexport {\n drawRect,\n drawBackgroundRect,\n drawText,\n drawImage,\n drawEmbeddedImage,\n getNoteRect,\n getTextObj\n};\n"],
|
||||||
|
"mappings": ";;;;;;;;;;;;;;AAQA,0BAA4B;AAC5B,IAAI,WAA2B,OAAO,CAAC,SAAS,aAAa;AAC3D,QAAM,cAAc,QAAQ,OAAO,MAAM;AACzC,cAAY,KAAK,KAAK,SAAS,CAAC;AAChC,cAAY,KAAK,KAAK,SAAS,CAAC;AAChC,cAAY,KAAK,QAAQ,SAAS,IAAI;AACtC,cAAY,KAAK,UAAU,SAAS,MAAM;AAC1C,cAAY,KAAK,SAAS,SAAS,KAAK;AACxC,cAAY,KAAK,UAAU,SAAS,MAAM;AAC1C,MAAI,SAAS,MAAM;AACjB,gBAAY,KAAK,QAAQ,SAAS,IAAI;AAAA,EACxC;AACA,MAAI,SAAS,IAAI;AACf,gBAAY,KAAK,MAAM,SAAS,EAAE;AAAA,EACpC;AACA,MAAI,SAAS,IAAI;AACf,gBAAY,KAAK,MAAM,SAAS,EAAE;AAAA,EACpC;AACA,MAAI,SAAS,UAAU,QAAQ;AAC7B,eAAW,WAAW,SAAS,OAAO;AACpC,kBAAY,KAAK,SAAS,SAAS,MAAM,OAAO,CAAC;AAAA,IACnD;AAAA,EACF;AACA,MAAI,SAAS,OAAO;AAClB,gBAAY,KAAK,SAAS,SAAS,KAAK;AAAA,EAC1C;AACA,SAAO;AACT,GAAG,UAAU;AACb,IAAI,qBAAqC,OAAO,CAAC,SAAS,WAAW;AACnE,QAAM,WAAW;AAAA,IACf,GAAG,OAAO;AAAA,IACV,GAAG,OAAO;AAAA,IACV,OAAO,OAAO,QAAQ,OAAO;AAAA,IAC7B,QAAQ,OAAO,QAAQ,OAAO;AAAA,IAC9B,MAAM,OAAO;AAAA,IACb,QAAQ,OAAO;AAAA,IACf,OAAO;AAAA,EACT;AACA,QAAM,cAAc,SAAS,SAAS,QAAQ;AAC9C,cAAY,MAAM;AACpB,GAAG,oBAAoB;AACvB,IAAI,WAA2B,OAAO,CAAC,SAAS,aAAa;AAC3D,QAAM,QAAQ,SAAS,KAAK,QAAQ,gBAAgB,GAAG;AACvD,QAAM,WAAW,QAAQ,OAAO,MAAM;AACtC,WAAS,KAAK,KAAK,SAAS,CAAC;AAC7B,WAAS,KAAK,KAAK,SAAS,CAAC;AAC7B,WAAS,KAAK,SAAS,QAAQ;AAC/B,WAAS,MAAM,eAAe,SAAS,MAAM;AAC7C,MAAI,SAAS,OAAO;AAClB,aAAS,KAAK,SAAS,SAAS,KAAK;AAAA,EACvC;AACA,QAAM,QAAQ,SAAS,OAAO,OAAO;AACrC,QAAM,KAAK,KAAK,SAAS,IAAI,SAAS,aAAa,CAAC;AACpD,QAAM,KAAK,KAAK;AAChB,SAAO;AACT,GAAG,UAAU;AACb,IAAI,YAA4B,OAAO,CAAC,MAAM,GAAG,GAAG,SAAS;AAC3D,QAAM,eAAe,KAAK,OAAO,OAAO;AACxC,eAAa,KAAK,KAAK,CAAC;AACxB,eAAa,KAAK,KAAK,CAAC;AACxB,QAAM,oBAAgB,iCAAY,IAAI;AACtC,eAAa,KAAK,cAAc,aAAa;AAC/C,GAAG,WAAW;AACd,IAAI,oBAAoC,OAAO,CAAC,SAAS,GAAG,GAAG,SAAS;AACtE,QAAM,eAAe,QAAQ,OAAO,KAAK;AACzC,eAAa,KAAK,KAAK,CAAC;AACxB,eAAa,KAAK,KAAK,CAAC;AACxB,QAAM,oBAAgB,iCAAY,IAAI;AACtC,eAAa,KAAK,cAAc,IAAI,aAAa,EAAE;AACrD,GAAG,mBAAmB;AACtB,IAAI,cAA8B,OAAO,MAAM;AAC7C,QAAM,eAAe;AAAA,IACnB,GAAG;AAAA,IACH,GAAG;AAAA,IACH,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,IAAI;AAAA,IACJ,IAAI;AAAA,EACN;AACA,SAAO;AACT,GAAG,aAAa;AAChB,IAAI,aAA6B,OAAO,MAAM;AAC5C,QAAM,aAAa;AAAA,IACjB,GAAG;AAAA,IACH,GAAG;AAAA,IACH,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,OAAO;AAAA,EACT;AACA,SAAO;AACT,GAAG,YAAY;",
|
||||||
|
"names": []
|
||||||
|
}
|
4744
.angular/cache/20.3.2/app/vite/deps/chunk-BFCVI5XI.js
vendored
Normal file
4744
.angular/cache/20.3.2/app/vite/deps/chunk-BFCVI5XI.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/chunk-BFCVI5XI.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-BFCVI5XI.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
147
.angular/cache/20.3.2/app/vite/deps/chunk-BSULYXPT.js
vendored
Normal file
147
.angular/cache/20.3.2/app/vite/deps/chunk-BSULYXPT.js
vendored
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
// node_modules/mermaid/dist/chunks/mermaid.core/chunk-KS23V3DP.mjs
|
||||||
|
var package_default = {
|
||||||
|
name: "mermaid",
|
||||||
|
version: "11.12.0",
|
||||||
|
description: "Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",
|
||||||
|
type: "module",
|
||||||
|
module: "./dist/mermaid.core.mjs",
|
||||||
|
types: "./dist/mermaid.d.ts",
|
||||||
|
exports: {
|
||||||
|
".": {
|
||||||
|
types: "./dist/mermaid.d.ts",
|
||||||
|
import: "./dist/mermaid.core.mjs",
|
||||||
|
default: "./dist/mermaid.core.mjs"
|
||||||
|
},
|
||||||
|
"./*": "./*"
|
||||||
|
},
|
||||||
|
keywords: [
|
||||||
|
"diagram",
|
||||||
|
"markdown",
|
||||||
|
"flowchart",
|
||||||
|
"sequence diagram",
|
||||||
|
"gantt",
|
||||||
|
"class diagram",
|
||||||
|
"git graph",
|
||||||
|
"mindmap",
|
||||||
|
"packet diagram",
|
||||||
|
"c4 diagram",
|
||||||
|
"er diagram",
|
||||||
|
"pie chart",
|
||||||
|
"pie diagram",
|
||||||
|
"quadrant chart",
|
||||||
|
"requirement diagram",
|
||||||
|
"graph"
|
||||||
|
],
|
||||||
|
scripts: {
|
||||||
|
clean: "rimraf dist",
|
||||||
|
dev: "pnpm -w dev",
|
||||||
|
"docs:code": "typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup",
|
||||||
|
"docs:build": "rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts",
|
||||||
|
"docs:verify": "pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify",
|
||||||
|
"docs:pre:vitepress": "pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts",
|
||||||
|
"docs:build:vitepress": "pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing",
|
||||||
|
"docs:dev": 'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',
|
||||||
|
"docs:dev:docker": 'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',
|
||||||
|
"docs:serve": "pnpm docs:build:vitepress && vitepress serve src/vitepress",
|
||||||
|
"docs:spellcheck": 'cspell "src/docs/**/*.md"',
|
||||||
|
"docs:release-version": "tsx scripts/update-release-version.mts",
|
||||||
|
"docs:verify-version": "tsx scripts/update-release-version.mts --verify",
|
||||||
|
"types:build-config": "tsx scripts/create-types-from-json-schema.mts",
|
||||||
|
"types:verify-config": "tsx scripts/create-types-from-json-schema.mts --verify",
|
||||||
|
checkCircle: "npx madge --circular ./src",
|
||||||
|
prepublishOnly: "pnpm docs:verify-version"
|
||||||
|
},
|
||||||
|
repository: {
|
||||||
|
type: "git",
|
||||||
|
url: "https://github.com/mermaid-js/mermaid"
|
||||||
|
},
|
||||||
|
author: "Knut Sveidqvist",
|
||||||
|
license: "MIT",
|
||||||
|
standard: {
|
||||||
|
ignore: [
|
||||||
|
"**/parser/*.js",
|
||||||
|
"dist/**/*.js",
|
||||||
|
"cypress/**/*.js"
|
||||||
|
],
|
||||||
|
globals: [
|
||||||
|
"page"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
dependencies: {
|
||||||
|
"@braintree/sanitize-url": "^7.1.1",
|
||||||
|
"@iconify/utils": "^3.0.1",
|
||||||
|
"@mermaid-js/parser": "workspace:^",
|
||||||
|
"@types/d3": "^7.4.3",
|
||||||
|
cytoscape: "^3.29.3",
|
||||||
|
"cytoscape-cose-bilkent": "^4.1.0",
|
||||||
|
"cytoscape-fcose": "^2.2.0",
|
||||||
|
d3: "^7.9.0",
|
||||||
|
"d3-sankey": "^0.12.3",
|
||||||
|
"dagre-d3-es": "7.0.11",
|
||||||
|
dayjs: "^1.11.18",
|
||||||
|
dompurify: "^3.2.5",
|
||||||
|
katex: "^0.16.22",
|
||||||
|
khroma: "^2.1.0",
|
||||||
|
"lodash-es": "^4.17.21",
|
||||||
|
marked: "^16.2.1",
|
||||||
|
roughjs: "^4.6.6",
|
||||||
|
stylis: "^4.3.6",
|
||||||
|
"ts-dedent": "^2.2.0",
|
||||||
|
uuid: "^11.1.0"
|
||||||
|
},
|
||||||
|
devDependencies: {
|
||||||
|
"@adobe/jsonschema2md": "^8.0.5",
|
||||||
|
"@iconify/types": "^2.0.0",
|
||||||
|
"@types/cytoscape": "^3.21.9",
|
||||||
|
"@types/cytoscape-fcose": "^2.2.4",
|
||||||
|
"@types/d3-sankey": "^0.12.4",
|
||||||
|
"@types/d3-scale": "^4.0.9",
|
||||||
|
"@types/d3-scale-chromatic": "^3.1.0",
|
||||||
|
"@types/d3-selection": "^3.0.11",
|
||||||
|
"@types/d3-shape": "^3.1.7",
|
||||||
|
"@types/jsdom": "^21.1.7",
|
||||||
|
"@types/katex": "^0.16.7",
|
||||||
|
"@types/lodash-es": "^4.17.12",
|
||||||
|
"@types/micromatch": "^4.0.9",
|
||||||
|
"@types/stylis": "^4.2.7",
|
||||||
|
"@types/uuid": "^10.0.0",
|
||||||
|
ajv: "^8.17.1",
|
||||||
|
canvas: "^3.1.2",
|
||||||
|
chokidar: "3.6.0",
|
||||||
|
concurrently: "^9.1.2",
|
||||||
|
"csstree-validator": "^4.0.1",
|
||||||
|
globby: "^14.1.0",
|
||||||
|
jison: "^0.4.18",
|
||||||
|
"js-base64": "^3.7.8",
|
||||||
|
jsdom: "^26.1.0",
|
||||||
|
"json-schema-to-typescript": "^15.0.4",
|
||||||
|
micromatch: "^4.0.8",
|
||||||
|
"path-browserify": "^1.0.1",
|
||||||
|
prettier: "^3.5.3",
|
||||||
|
remark: "^15.0.1",
|
||||||
|
"remark-frontmatter": "^5.0.0",
|
||||||
|
"remark-gfm": "^4.0.1",
|
||||||
|
rimraf: "^6.0.1",
|
||||||
|
"start-server-and-test": "^2.0.13",
|
||||||
|
"type-fest": "^4.35.0",
|
||||||
|
typedoc: "^0.28.12",
|
||||||
|
"typedoc-plugin-markdown": "^4.8.1",
|
||||||
|
typescript: "~5.7.3",
|
||||||
|
"unist-util-flatmap": "^1.0.0",
|
||||||
|
"unist-util-visit": "^5.0.0",
|
||||||
|
vitepress: "^1.6.4",
|
||||||
|
"vitepress-plugin-search": "1.0.4-alpha.22"
|
||||||
|
},
|
||||||
|
files: [
|
||||||
|
"dist/",
|
||||||
|
"README.md"
|
||||||
|
],
|
||||||
|
publishConfig: {
|
||||||
|
access: "public"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export {
|
||||||
|
package_default
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-BSULYXPT.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-BSULYXPT.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-BSULYXPT.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
46
.angular/cache/20.3.2/app/vite/deps/chunk-BUI4I457.js
vendored
Normal file
46
.angular/cache/20.3.2/app/vite/deps/chunk-BUI4I457.js
vendored
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
import {
|
||||||
|
AbstractMermaidTokenBuilder,
|
||||||
|
CommonValueConverter,
|
||||||
|
EmptyFileSystem,
|
||||||
|
InfoGeneratedModule,
|
||||||
|
MermaidGeneratedSharedModule,
|
||||||
|
__name,
|
||||||
|
createDefaultCoreModule,
|
||||||
|
createDefaultSharedCoreModule,
|
||||||
|
inject,
|
||||||
|
lib_exports
|
||||||
|
} from "./chunk-WHHJWK6B.js";
|
||||||
|
|
||||||
|
// node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-T44TD3VJ.mjs
|
||||||
|
var _a;
|
||||||
|
var InfoTokenBuilder = (_a = class extends AbstractMermaidTokenBuilder {
|
||||||
|
constructor() {
|
||||||
|
super(["info", "showInfo"]);
|
||||||
|
}
|
||||||
|
}, __name(_a, "InfoTokenBuilder"), _a);
|
||||||
|
var InfoModule = {
|
||||||
|
parser: {
|
||||||
|
TokenBuilder: __name(() => new InfoTokenBuilder(), "TokenBuilder"),
|
||||||
|
ValueConverter: __name(() => new CommonValueConverter(), "ValueConverter")
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function createInfoServices(context = EmptyFileSystem) {
|
||||||
|
const shared = inject(
|
||||||
|
createDefaultSharedCoreModule(context),
|
||||||
|
MermaidGeneratedSharedModule
|
||||||
|
);
|
||||||
|
const Info = inject(
|
||||||
|
createDefaultCoreModule({ shared }),
|
||||||
|
InfoGeneratedModule,
|
||||||
|
InfoModule
|
||||||
|
);
|
||||||
|
shared.ServiceRegistry.register(Info);
|
||||||
|
return { shared, Info };
|
||||||
|
}
|
||||||
|
__name(createInfoServices, "createInfoServices");
|
||||||
|
|
||||||
|
export {
|
||||||
|
InfoModule,
|
||||||
|
createInfoServices
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-BUI4I457.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-BUI4I457.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-BUI4I457.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-T44TD3VJ.mjs"],
|
||||||
|
"sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n InfoGeneratedModule,\n MermaidGeneratedSharedModule,\n __name\n} from \"./chunk-4KMFLZZN.mjs\";\n\n// src/language/info/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/info/tokenBuilder.ts\nvar InfoTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"InfoTokenBuilder\");\n }\n constructor() {\n super([\"info\", \"showInfo\"]);\n }\n};\n\n// src/language/info/module.ts\nvar InfoModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new InfoTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n }\n};\nfunction createInfoServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Info = inject(\n createDefaultCoreModule({ shared }),\n InfoGeneratedModule,\n InfoModule\n );\n shared.ServiceRegistry.register(Info);\n return { shared, Info };\n}\n__name(createInfoServices, \"createInfoServices\");\n\nexport {\n InfoModule,\n createInfoServices\n};\n"],
|
||||||
|
"mappings": ";;;;;;;;;;;;;;AAAA;AAiBA,IAAI,oBAAmB,mBAAc,4BAA4B;AAAA,EAI/D,cAAc;AACZ,UAAM,CAAC,QAAQ,UAAU,CAAC;AAAA,EAC5B;AACF,GALI,OAAO,IAAM,kBAAkB,GAFZ;AAUvB,IAAI,aAAa;AAAA,EACf,QAAQ;AAAA,IACN,cAA8B,OAAO,MAAM,IAAI,iBAAiB,GAAG,cAAc;AAAA,IACjF,gBAAgC,OAAO,MAAM,IAAI,qBAAqB,GAAG,gBAAgB;AAAA,EAC3F;AACF;AACA,SAAS,mBAAmB,UAAU,iBAAiB;AACrD,QAAM,SAAS;AAAA,IACb,8BAA8B,OAAO;AAAA,IACrC;AAAA,EACF;AACA,QAAM,OAAO;AAAA,IACX,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS,IAAI;AACpC,SAAO,EAAE,QAAQ,KAAK;AACxB;AACA,OAAO,oBAAoB,oBAAoB;",
|
||||||
|
"names": []
|
||||||
|
}
|
46
.angular/cache/20.3.2/app/vite/deps/chunk-CHJ5BV6S.js
vendored
Normal file
46
.angular/cache/20.3.2/app/vite/deps/chunk-CHJ5BV6S.js
vendored
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
import {
|
||||||
|
AbstractMermaidTokenBuilder,
|
||||||
|
CommonValueConverter,
|
||||||
|
EmptyFileSystem,
|
||||||
|
MermaidGeneratedSharedModule,
|
||||||
|
PacketGeneratedModule,
|
||||||
|
__name,
|
||||||
|
createDefaultCoreModule,
|
||||||
|
createDefaultSharedCoreModule,
|
||||||
|
inject,
|
||||||
|
lib_exports
|
||||||
|
} from "./chunk-WHHJWK6B.js";
|
||||||
|
|
||||||
|
// node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-KMC2YHZD.mjs
|
||||||
|
var _a;
|
||||||
|
var PacketTokenBuilder = (_a = class extends AbstractMermaidTokenBuilder {
|
||||||
|
constructor() {
|
||||||
|
super(["packet"]);
|
||||||
|
}
|
||||||
|
}, __name(_a, "PacketTokenBuilder"), _a);
|
||||||
|
var PacketModule = {
|
||||||
|
parser: {
|
||||||
|
TokenBuilder: __name(() => new PacketTokenBuilder(), "TokenBuilder"),
|
||||||
|
ValueConverter: __name(() => new CommonValueConverter(), "ValueConverter")
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function createPacketServices(context = EmptyFileSystem) {
|
||||||
|
const shared = inject(
|
||||||
|
createDefaultSharedCoreModule(context),
|
||||||
|
MermaidGeneratedSharedModule
|
||||||
|
);
|
||||||
|
const Packet = inject(
|
||||||
|
createDefaultCoreModule({ shared }),
|
||||||
|
PacketGeneratedModule,
|
||||||
|
PacketModule
|
||||||
|
);
|
||||||
|
shared.ServiceRegistry.register(Packet);
|
||||||
|
return { shared, Packet };
|
||||||
|
}
|
||||||
|
__name(createPacketServices, "createPacketServices");
|
||||||
|
|
||||||
|
export {
|
||||||
|
PacketModule,
|
||||||
|
createPacketServices
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-CHJ5BV6S.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-CHJ5BV6S.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-CHJ5BV6S.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-KMC2YHZD.mjs"],
|
||||||
|
"sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n MermaidGeneratedSharedModule,\n PacketGeneratedModule,\n __name\n} from \"./chunk-4KMFLZZN.mjs\";\n\n// src/language/packet/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/packet/tokenBuilder.ts\nvar PacketTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"PacketTokenBuilder\");\n }\n constructor() {\n super([\"packet\"]);\n }\n};\n\n// src/language/packet/module.ts\nvar PacketModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new PacketTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n }\n};\nfunction createPacketServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Packet = inject(\n createDefaultCoreModule({ shared }),\n PacketGeneratedModule,\n PacketModule\n );\n shared.ServiceRegistry.register(Packet);\n return { shared, Packet };\n}\n__name(createPacketServices, \"createPacketServices\");\n\nexport {\n PacketModule,\n createPacketServices\n};\n"],
|
||||||
|
"mappings": ";;;;;;;;;;;;;;AAAA;AAiBA,IAAI,sBAAqB,mBAAc,4BAA4B;AAAA,EAIjE,cAAc;AACZ,UAAM,CAAC,QAAQ,CAAC;AAAA,EAClB;AACF,GALI,OAAO,IAAM,oBAAoB,GAFZ;AAUzB,IAAI,eAAe;AAAA,EACjB,QAAQ;AAAA,IACN,cAA8B,OAAO,MAAM,IAAI,mBAAmB,GAAG,cAAc;AAAA,IACnF,gBAAgC,OAAO,MAAM,IAAI,qBAAqB,GAAG,gBAAgB;AAAA,EAC3F;AACF;AACA,SAAS,qBAAqB,UAAU,iBAAiB;AACvD,QAAM,SAAS;AAAA,IACb,8BAA8B,OAAO;AAAA,IACrC;AAAA,EACF;AACA,QAAM,SAAS;AAAA,IACb,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS,MAAM;AACtC,SAAO,EAAE,QAAQ,OAAO;AAC1B;AACA,OAAO,sBAAsB,sBAAsB;",
|
||||||
|
"names": []
|
||||||
|
}
|
97
.angular/cache/20.3.2/app/vite/deps/chunk-CMK64ICG.js
vendored
Normal file
97
.angular/cache/20.3.2/app/vite/deps/chunk-CMK64ICG.js
vendored
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
import {
|
||||||
|
__commonJS
|
||||||
|
} from "./chunk-TKSB4YUA.js";
|
||||||
|
|
||||||
|
// node_modules/@braintree/sanitize-url/dist/constants.js
|
||||||
|
var require_constants = __commonJS({
|
||||||
|
"node_modules/@braintree/sanitize-url/dist/constants.js"(exports) {
|
||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.BLANK_URL = exports.relativeFirstCharacters = exports.whitespaceEscapeCharsRegex = exports.urlSchemeRegex = exports.ctrlCharactersRegex = exports.htmlCtrlEntityRegex = exports.htmlEntitiesRegex = exports.invalidProtocolRegex = void 0;
|
||||||
|
exports.invalidProtocolRegex = /^([^\w]*)(javascript|data|vbscript)/im;
|
||||||
|
exports.htmlEntitiesRegex = /&#(\w+)(^\w|;)?/g;
|
||||||
|
exports.htmlCtrlEntityRegex = /&(newline|tab);/gi;
|
||||||
|
exports.ctrlCharactersRegex = /[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;
|
||||||
|
exports.urlSchemeRegex = /^.+(:|:)/gim;
|
||||||
|
exports.whitespaceEscapeCharsRegex = /(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;
|
||||||
|
exports.relativeFirstCharacters = [".", "/"];
|
||||||
|
exports.BLANK_URL = "about:blank";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// node_modules/@braintree/sanitize-url/dist/index.js
|
||||||
|
var require_dist = __commonJS({
|
||||||
|
"node_modules/@braintree/sanitize-url/dist/index.js"(exports) {
|
||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.sanitizeUrl = void 0;
|
||||||
|
var constants_1 = require_constants();
|
||||||
|
function isRelativeUrlWithoutProtocol(url) {
|
||||||
|
return constants_1.relativeFirstCharacters.indexOf(url[0]) > -1;
|
||||||
|
}
|
||||||
|
function decodeHtmlCharacters(str) {
|
||||||
|
var removedNullByte = str.replace(constants_1.ctrlCharactersRegex, "");
|
||||||
|
return removedNullByte.replace(constants_1.htmlEntitiesRegex, function(match, dec) {
|
||||||
|
return String.fromCharCode(dec);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function isValidUrl(url) {
|
||||||
|
return URL.canParse(url);
|
||||||
|
}
|
||||||
|
function decodeURI(uri) {
|
||||||
|
try {
|
||||||
|
return decodeURIComponent(uri);
|
||||||
|
} catch (e) {
|
||||||
|
return uri;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function sanitizeUrl(url) {
|
||||||
|
if (!url) {
|
||||||
|
return constants_1.BLANK_URL;
|
||||||
|
}
|
||||||
|
var charsToDecode;
|
||||||
|
var decodedUrl = decodeURI(url.trim());
|
||||||
|
do {
|
||||||
|
decodedUrl = decodeHtmlCharacters(decodedUrl).replace(constants_1.htmlCtrlEntityRegex, "").replace(constants_1.ctrlCharactersRegex, "").replace(constants_1.whitespaceEscapeCharsRegex, "").trim();
|
||||||
|
decodedUrl = decodeURI(decodedUrl);
|
||||||
|
charsToDecode = decodedUrl.match(constants_1.ctrlCharactersRegex) || decodedUrl.match(constants_1.htmlEntitiesRegex) || decodedUrl.match(constants_1.htmlCtrlEntityRegex) || decodedUrl.match(constants_1.whitespaceEscapeCharsRegex);
|
||||||
|
} while (charsToDecode && charsToDecode.length > 0);
|
||||||
|
var sanitizedUrl = decodedUrl;
|
||||||
|
if (!sanitizedUrl) {
|
||||||
|
return constants_1.BLANK_URL;
|
||||||
|
}
|
||||||
|
if (isRelativeUrlWithoutProtocol(sanitizedUrl)) {
|
||||||
|
return sanitizedUrl;
|
||||||
|
}
|
||||||
|
var trimmedUrl = sanitizedUrl.trimStart();
|
||||||
|
var urlSchemeParseResults = trimmedUrl.match(constants_1.urlSchemeRegex);
|
||||||
|
if (!urlSchemeParseResults) {
|
||||||
|
return sanitizedUrl;
|
||||||
|
}
|
||||||
|
var urlScheme = urlSchemeParseResults[0].toLowerCase().trim();
|
||||||
|
if (constants_1.invalidProtocolRegex.test(urlScheme)) {
|
||||||
|
return constants_1.BLANK_URL;
|
||||||
|
}
|
||||||
|
var backSanitized = trimmedUrl.replace(/\\/g, "/");
|
||||||
|
if (urlScheme === "mailto:" || urlScheme.includes("://")) {
|
||||||
|
return backSanitized;
|
||||||
|
}
|
||||||
|
if (urlScheme === "http:" || urlScheme === "https:") {
|
||||||
|
if (!isValidUrl(backSanitized)) {
|
||||||
|
return constants_1.BLANK_URL;
|
||||||
|
}
|
||||||
|
var url_1 = new URL(backSanitized);
|
||||||
|
url_1.protocol = url_1.protocol.toLowerCase();
|
||||||
|
url_1.hostname = url_1.hostname.toLowerCase();
|
||||||
|
return url_1.toString();
|
||||||
|
}
|
||||||
|
return backSanitized;
|
||||||
|
}
|
||||||
|
exports.sanitizeUrl = sanitizeUrl;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
export {
|
||||||
|
require_dist
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-CMK64ICG.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-CMK64ICG.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-CMK64ICG.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/@braintree/sanitize-url/dist/constants.js", "../../../../../../node_modules/@braintree/sanitize-url/dist/index.js"],
|
||||||
|
"sourcesContent": ["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BLANK_URL = exports.relativeFirstCharacters = exports.whitespaceEscapeCharsRegex = exports.urlSchemeRegex = exports.ctrlCharactersRegex = exports.htmlCtrlEntityRegex = exports.htmlEntitiesRegex = exports.invalidProtocolRegex = void 0;\nexports.invalidProtocolRegex = /^([^\\w]*)(javascript|data|vbscript)/im;\nexports.htmlEntitiesRegex = /&#(\\w+)(^\\w|;)?/g;\nexports.htmlCtrlEntityRegex = /&(newline|tab);/gi;\nexports.ctrlCharactersRegex = /[\\u0000-\\u001F\\u007F-\\u009F\\u2000-\\u200D\\uFEFF]/gim;\nexports.urlSchemeRegex = /^.+(:|:)/gim;\nexports.whitespaceEscapeCharsRegex = /(\\\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;\nexports.relativeFirstCharacters = [\".\", \"/\"];\nexports.BLANK_URL = \"about:blank\";\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sanitizeUrl = void 0;\nvar constants_1 = require(\"./constants\");\nfunction isRelativeUrlWithoutProtocol(url) {\n return constants_1.relativeFirstCharacters.indexOf(url[0]) > -1;\n}\nfunction decodeHtmlCharacters(str) {\n var removedNullByte = str.replace(constants_1.ctrlCharactersRegex, \"\");\n return removedNullByte.replace(constants_1.htmlEntitiesRegex, function (match, dec) {\n return String.fromCharCode(dec);\n });\n}\nfunction isValidUrl(url) {\n return URL.canParse(url);\n}\nfunction decodeURI(uri) {\n try {\n return decodeURIComponent(uri);\n }\n catch (e) {\n // Ignoring error\n // It is possible that the URI contains a `%` not associated\n // with URI/URL-encoding.\n return uri;\n }\n}\nfunction sanitizeUrl(url) {\n if (!url) {\n return constants_1.BLANK_URL;\n }\n var charsToDecode;\n var decodedUrl = decodeURI(url.trim());\n do {\n decodedUrl = decodeHtmlCharacters(decodedUrl)\n .replace(constants_1.htmlCtrlEntityRegex, \"\")\n .replace(constants_1.ctrlCharactersRegex, \"\")\n .replace(constants_1.whitespaceEscapeCharsRegex, \"\")\n .trim();\n decodedUrl = decodeURI(decodedUrl);\n charsToDecode =\n decodedUrl.match(constants_1.ctrlCharactersRegex) ||\n decodedUrl.match(constants_1.htmlEntitiesRegex) ||\n decodedUrl.match(constants_1.htmlCtrlEntityRegex) ||\n decodedUrl.match(constants_1.whitespaceEscapeCharsRegex);\n } while (charsToDecode && charsToDecode.length > 0);\n var sanitizedUrl = decodedUrl;\n if (!sanitizedUrl) {\n return constants_1.BLANK_URL;\n }\n if (isRelativeUrlWithoutProtocol(sanitizedUrl)) {\n return sanitizedUrl;\n }\n // Remove any leading whitespace before checking the URL scheme\n var trimmedUrl = sanitizedUrl.trimStart();\n var urlSchemeParseResults = trimmedUrl.match(constants_1.urlSchemeRegex);\n if (!urlSchemeParseResults) {\n return sanitizedUrl;\n }\n var urlScheme = urlSchemeParseResults[0].toLowerCase().trim();\n if (constants_1.invalidProtocolRegex.test(urlScheme)) {\n return constants_1.BLANK_URL;\n }\n var backSanitized = trimmedUrl.replace(/\\\\/g, \"/\");\n // Handle special cases for mailto: and custom deep-link protocols\n if (urlScheme === \"mailto:\" || urlScheme.includes(\"://\")) {\n return backSanitized;\n }\n // For http and https URLs, perform additional validation\n if (urlScheme === \"http:\" || urlScheme === \"https:\") {\n if (!isValidUrl(backSanitized)) {\n return constants_1.BLANK_URL;\n }\n var url_1 = new URL(backSanitized);\n url_1.protocol = url_1.protocol.toLowerCase();\n url_1.hostname = url_1.hostname.toLowerCase();\n return url_1.toString();\n }\n return backSanitized;\n}\nexports.sanitizeUrl = sanitizeUrl;\n"],
|
||||||
|
"mappings": ";;;;;AAAA;AAAA;AAAA;AACA,WAAO,eAAe,SAAS,cAAc,EAAE,OAAO,KAAK,CAAC;AAC5D,YAAQ,YAAY,QAAQ,0BAA0B,QAAQ,6BAA6B,QAAQ,iBAAiB,QAAQ,sBAAsB,QAAQ,sBAAsB,QAAQ,oBAAoB,QAAQ,uBAAuB;AAC3O,YAAQ,uBAAuB;AAC/B,YAAQ,oBAAoB;AAC5B,YAAQ,sBAAsB;AAC9B,YAAQ,sBAAsB;AAC9B,YAAQ,iBAAiB;AACzB,YAAQ,6BAA6B;AACrC,YAAQ,0BAA0B,CAAC,KAAK,GAAG;AAC3C,YAAQ,YAAY;AAAA;AAAA;;;ACVpB;AAAA;AAAA;AACA,WAAO,eAAe,SAAS,cAAc,EAAE,OAAO,KAAK,CAAC;AAC5D,YAAQ,cAAc;AACtB,QAAI,cAAc;AAClB,aAAS,6BAA6B,KAAK;AACvC,aAAO,YAAY,wBAAwB,QAAQ,IAAI,CAAC,CAAC,IAAI;AAAA,IACjE;AACA,aAAS,qBAAqB,KAAK;AAC/B,UAAI,kBAAkB,IAAI,QAAQ,YAAY,qBAAqB,EAAE;AACrE,aAAO,gBAAgB,QAAQ,YAAY,mBAAmB,SAAU,OAAO,KAAK;AAChF,eAAO,OAAO,aAAa,GAAG;AAAA,MAClC,CAAC;AAAA,IACL;AACA,aAAS,WAAW,KAAK;AACrB,aAAO,IAAI,SAAS,GAAG;AAAA,IAC3B;AACA,aAAS,UAAU,KAAK;AACpB,UAAI;AACA,eAAO,mBAAmB,GAAG;AAAA,MACjC,SACO,GAAG;AAIN,eAAO;AAAA,MACX;AAAA,IACJ;AACA,aAAS,YAAY,KAAK;AACtB,UAAI,CAAC,KAAK;AACN,eAAO,YAAY;AAAA,MACvB;AACA,UAAI;AACJ,UAAI,aAAa,UAAU,IAAI,KAAK,CAAC;AACrC,SAAG;AACC,qBAAa,qBAAqB,UAAU,EACvC,QAAQ,YAAY,qBAAqB,EAAE,EAC3C,QAAQ,YAAY,qBAAqB,EAAE,EAC3C,QAAQ,YAAY,4BAA4B,EAAE,EAClD,KAAK;AACV,qBAAa,UAAU,UAAU;AACjC,wBACI,WAAW,MAAM,YAAY,mBAAmB,KAC5C,WAAW,MAAM,YAAY,iBAAiB,KAC9C,WAAW,MAAM,YAAY,mBAAmB,KAChD,WAAW,MAAM,YAAY,0BAA0B;AAAA,MACnE,SAAS,iBAAiB,cAAc,SAAS;AACjD,UAAI,eAAe;AACnB,UAAI,CAAC,cAAc;AACf,eAAO,YAAY;AAAA,MACvB;AACA,UAAI,6BAA6B,YAAY,GAAG;AAC5C,eAAO;AAAA,MACX;AAEA,UAAI,aAAa,aAAa,UAAU;AACxC,UAAI,wBAAwB,WAAW,MAAM,YAAY,cAAc;AACvE,UAAI,CAAC,uBAAuB;AACxB,eAAO;AAAA,MACX;AACA,UAAI,YAAY,sBAAsB,CAAC,EAAE,YAAY,EAAE,KAAK;AAC5D,UAAI,YAAY,qBAAqB,KAAK,SAAS,GAAG;AAClD,eAAO,YAAY;AAAA,MACvB;AACA,UAAI,gBAAgB,WAAW,QAAQ,OAAO,GAAG;AAEjD,UAAI,cAAc,aAAa,UAAU,SAAS,KAAK,GAAG;AACtD,eAAO;AAAA,MACX;AAEA,UAAI,cAAc,WAAW,cAAc,UAAU;AACjD,YAAI,CAAC,WAAW,aAAa,GAAG;AAC5B,iBAAO,YAAY;AAAA,QACvB;AACA,YAAI,QAAQ,IAAI,IAAI,aAAa;AACjC,cAAM,WAAW,MAAM,SAAS,YAAY;AAC5C,cAAM,WAAW,MAAM,SAAS,YAAY;AAC5C,eAAO,MAAM,SAAS;AAAA,MAC1B;AACA,aAAO;AAAA,IACX;AACA,YAAQ,cAAc;AAAA;AAAA;",
|
||||||
|
"names": []
|
||||||
|
}
|
22
.angular/cache/20.3.2/app/vite/deps/chunk-EUUYHBKV.js
vendored
Normal file
22
.angular/cache/20.3.2/app/vite/deps/chunk-EUUYHBKV.js
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import {
|
||||||
|
__name
|
||||||
|
} from "./chunk-I65GBZ6F.js";
|
||||||
|
|
||||||
|
// node_modules/mermaid/dist/chunks/mermaid.core/chunk-CVBHYZKI.mjs
|
||||||
|
var getSubGraphTitleMargins = __name(({
|
||||||
|
flowchart
|
||||||
|
}) => {
|
||||||
|
const subGraphTitleTopMargin = flowchart?.subGraphTitleMargin?.top ?? 0;
|
||||||
|
const subGraphTitleBottomMargin = flowchart?.subGraphTitleMargin?.bottom ?? 0;
|
||||||
|
const subGraphTitleTotalMargin = subGraphTitleTopMargin + subGraphTitleBottomMargin;
|
||||||
|
return {
|
||||||
|
subGraphTitleTopMargin,
|
||||||
|
subGraphTitleBottomMargin,
|
||||||
|
subGraphTitleTotalMargin
|
||||||
|
};
|
||||||
|
}, "getSubGraphTitleMargins");
|
||||||
|
|
||||||
|
export {
|
||||||
|
getSubGraphTitleMargins
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-EUUYHBKV.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-EUUYHBKV.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-EUUYHBKV.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-CVBHYZKI.mjs"],
|
||||||
|
"sourcesContent": ["import {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/utils/subGraphTitleMargins.ts\nvar getSubGraphTitleMargins = /* @__PURE__ */ __name(({\n flowchart\n}) => {\n const subGraphTitleTopMargin = flowchart?.subGraphTitleMargin?.top ?? 0;\n const subGraphTitleBottomMargin = flowchart?.subGraphTitleMargin?.bottom ?? 0;\n const subGraphTitleTotalMargin = subGraphTitleTopMargin + subGraphTitleBottomMargin;\n return {\n subGraphTitleTopMargin,\n subGraphTitleBottomMargin,\n subGraphTitleTotalMargin\n };\n}, \"getSubGraphTitleMargins\");\n\nexport {\n getSubGraphTitleMargins\n};\n"],
|
||||||
|
"mappings": ";;;;;AAKA,IAAI,0BAA0C,OAAO,CAAC;AAAA,EACpD;AACF,MAAM;AACJ,QAAM,yBAAyB,WAAW,qBAAqB,OAAO;AACtE,QAAM,4BAA4B,WAAW,qBAAqB,UAAU;AAC5E,QAAM,2BAA2B,yBAAyB;AAC1D,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF,GAAG,yBAAyB;",
|
||||||
|
"names": []
|
||||||
|
}
|
46
.angular/cache/20.3.2/app/vite/deps/chunk-FNEVJCCX.js
vendored
Normal file
46
.angular/cache/20.3.2/app/vite/deps/chunk-FNEVJCCX.js
vendored
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
import {
|
||||||
|
AbstractMermaidTokenBuilder,
|
||||||
|
CommonValueConverter,
|
||||||
|
EmptyFileSystem,
|
||||||
|
GitGraphGeneratedModule,
|
||||||
|
MermaidGeneratedSharedModule,
|
||||||
|
__name,
|
||||||
|
createDefaultCoreModule,
|
||||||
|
createDefaultSharedCoreModule,
|
||||||
|
inject,
|
||||||
|
lib_exports
|
||||||
|
} from "./chunk-WHHJWK6B.js";
|
||||||
|
|
||||||
|
// node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-BN7GFLIU.mjs
|
||||||
|
var _a;
|
||||||
|
var GitGraphTokenBuilder = (_a = class extends AbstractMermaidTokenBuilder {
|
||||||
|
constructor() {
|
||||||
|
super(["gitGraph"]);
|
||||||
|
}
|
||||||
|
}, __name(_a, "GitGraphTokenBuilder"), _a);
|
||||||
|
var GitGraphModule = {
|
||||||
|
parser: {
|
||||||
|
TokenBuilder: __name(() => new GitGraphTokenBuilder(), "TokenBuilder"),
|
||||||
|
ValueConverter: __name(() => new CommonValueConverter(), "ValueConverter")
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function createGitGraphServices(context = EmptyFileSystem) {
|
||||||
|
const shared = inject(
|
||||||
|
createDefaultSharedCoreModule(context),
|
||||||
|
MermaidGeneratedSharedModule
|
||||||
|
);
|
||||||
|
const GitGraph = inject(
|
||||||
|
createDefaultCoreModule({ shared }),
|
||||||
|
GitGraphGeneratedModule,
|
||||||
|
GitGraphModule
|
||||||
|
);
|
||||||
|
shared.ServiceRegistry.register(GitGraph);
|
||||||
|
return { shared, GitGraph };
|
||||||
|
}
|
||||||
|
__name(createGitGraphServices, "createGitGraphServices");
|
||||||
|
|
||||||
|
export {
|
||||||
|
GitGraphModule,
|
||||||
|
createGitGraphServices
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-FNEVJCCX.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-FNEVJCCX.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-FNEVJCCX.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-BN7GFLIU.mjs"],
|
||||||
|
"sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n GitGraphGeneratedModule,\n MermaidGeneratedSharedModule,\n __name\n} from \"./chunk-4KMFLZZN.mjs\";\n\n// src/language/gitGraph/module.ts\nimport {\n inject,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n EmptyFileSystem\n} from \"langium\";\n\n// src/language/gitGraph/tokenBuilder.ts\nvar GitGraphTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"GitGraphTokenBuilder\");\n }\n constructor() {\n super([\"gitGraph\"]);\n }\n};\n\n// src/language/gitGraph/module.ts\nvar GitGraphModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new GitGraphTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n }\n};\nfunction createGitGraphServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const GitGraph = inject(\n createDefaultCoreModule({ shared }),\n GitGraphGeneratedModule,\n GitGraphModule\n );\n shared.ServiceRegistry.register(GitGraph);\n return { shared, GitGraph };\n}\n__name(createGitGraphServices, \"createGitGraphServices\");\n\nexport {\n GitGraphModule,\n createGitGraphServices\n};\n"],
|
||||||
|
"mappings": ";;;;;;;;;;;;;;AAAA;AAiBA,IAAI,wBAAuB,mBAAc,4BAA4B;AAAA,EAInE,cAAc;AACZ,UAAM,CAAC,UAAU,CAAC;AAAA,EACpB;AACF,GALI,OAAO,IAAM,sBAAsB,GAFZ;AAU3B,IAAI,iBAAiB;AAAA,EACnB,QAAQ;AAAA,IACN,cAA8B,OAAO,MAAM,IAAI,qBAAqB,GAAG,cAAc;AAAA,IACrF,gBAAgC,OAAO,MAAM,IAAI,qBAAqB,GAAG,gBAAgB;AAAA,EAC3F;AACF;AACA,SAAS,uBAAuB,UAAU,iBAAiB;AACzD,QAAM,SAAS;AAAA,IACb,8BAA8B,OAAO;AAAA,IACrC;AAAA,EACF;AACA,QAAM,WAAW;AAAA,IACf,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS,QAAQ;AACxC,SAAO,EAAE,QAAQ,SAAS;AAC5B;AACA,OAAO,wBAAwB,wBAAwB;",
|
||||||
|
"names": []
|
||||||
|
}
|
112
.angular/cache/20.3.2/app/vite/deps/chunk-FTTOYZOY.js
vendored
Normal file
112
.angular/cache/20.3.2/app/vite/deps/chunk-FTTOYZOY.js
vendored
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
import {
|
||||||
|
getConfig2
|
||||||
|
} from "./chunk-BFCVI5XI.js";
|
||||||
|
import {
|
||||||
|
__name
|
||||||
|
} from "./chunk-I65GBZ6F.js";
|
||||||
|
|
||||||
|
// node_modules/mermaid/dist/chunks/mermaid.core/chunk-ATLVNIR6.mjs
|
||||||
|
var solidStateFill = __name((color) => {
|
||||||
|
const { handDrawnSeed } = getConfig2();
|
||||||
|
return {
|
||||||
|
fill: color,
|
||||||
|
hachureAngle: 120,
|
||||||
|
// angle of hachure,
|
||||||
|
hachureGap: 4,
|
||||||
|
fillWeight: 2,
|
||||||
|
roughness: 0.7,
|
||||||
|
stroke: color,
|
||||||
|
seed: handDrawnSeed
|
||||||
|
};
|
||||||
|
}, "solidStateFill");
|
||||||
|
var compileStyles = __name((node) => {
|
||||||
|
const stylesMap = styles2Map([
|
||||||
|
...node.cssCompiledStyles || [],
|
||||||
|
...node.cssStyles || [],
|
||||||
|
...node.labelStyle || []
|
||||||
|
]);
|
||||||
|
return { stylesMap, stylesArray: [...stylesMap] };
|
||||||
|
}, "compileStyles");
|
||||||
|
var styles2Map = __name((styles) => {
|
||||||
|
const styleMap = /* @__PURE__ */ new Map();
|
||||||
|
styles.forEach((style) => {
|
||||||
|
const [key, value] = style.split(":");
|
||||||
|
styleMap.set(key.trim(), value?.trim());
|
||||||
|
});
|
||||||
|
return styleMap;
|
||||||
|
}, "styles2Map");
|
||||||
|
var isLabelStyle = __name((key) => {
|
||||||
|
return key === "color" || key === "font-size" || key === "font-family" || key === "font-weight" || key === "font-style" || key === "text-decoration" || key === "text-align" || key === "text-transform" || key === "line-height" || key === "letter-spacing" || key === "word-spacing" || key === "text-shadow" || key === "text-overflow" || key === "white-space" || key === "word-wrap" || key === "word-break" || key === "overflow-wrap" || key === "hyphens";
|
||||||
|
}, "isLabelStyle");
|
||||||
|
var styles2String = __name((node) => {
|
||||||
|
const { stylesArray } = compileStyles(node);
|
||||||
|
const labelStyles = [];
|
||||||
|
const nodeStyles = [];
|
||||||
|
const borderStyles = [];
|
||||||
|
const backgroundStyles = [];
|
||||||
|
stylesArray.forEach((style) => {
|
||||||
|
const key = style[0];
|
||||||
|
if (isLabelStyle(key)) {
|
||||||
|
labelStyles.push(style.join(":") + " !important");
|
||||||
|
} else {
|
||||||
|
nodeStyles.push(style.join(":") + " !important");
|
||||||
|
if (key.includes("stroke")) {
|
||||||
|
borderStyles.push(style.join(":") + " !important");
|
||||||
|
}
|
||||||
|
if (key === "fill") {
|
||||||
|
backgroundStyles.push(style.join(":") + " !important");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return {
|
||||||
|
labelStyles: labelStyles.join(";"),
|
||||||
|
nodeStyles: nodeStyles.join(";"),
|
||||||
|
stylesArray,
|
||||||
|
borderStyles,
|
||||||
|
backgroundStyles
|
||||||
|
};
|
||||||
|
}, "styles2String");
|
||||||
|
var userNodeOverrides = __name((node, options) => {
|
||||||
|
const { themeVariables, handDrawnSeed } = getConfig2();
|
||||||
|
const { nodeBorder, mainBkg } = themeVariables;
|
||||||
|
const { stylesMap } = compileStyles(node);
|
||||||
|
const result = Object.assign(
|
||||||
|
{
|
||||||
|
roughness: 0.7,
|
||||||
|
fill: stylesMap.get("fill") || mainBkg,
|
||||||
|
fillStyle: "hachure",
|
||||||
|
// solid fill
|
||||||
|
fillWeight: 4,
|
||||||
|
hachureGap: 5.2,
|
||||||
|
stroke: stylesMap.get("stroke") || nodeBorder,
|
||||||
|
seed: handDrawnSeed,
|
||||||
|
strokeWidth: stylesMap.get("stroke-width")?.replace("px", "") || 1.3,
|
||||||
|
fillLineDash: [0, 0],
|
||||||
|
strokeLineDash: getStrokeDashArray(stylesMap.get("stroke-dasharray"))
|
||||||
|
},
|
||||||
|
options
|
||||||
|
);
|
||||||
|
return result;
|
||||||
|
}, "userNodeOverrides");
|
||||||
|
var getStrokeDashArray = __name((strokeDasharrayStyle) => {
|
||||||
|
if (!strokeDasharrayStyle) {
|
||||||
|
return [0, 0];
|
||||||
|
}
|
||||||
|
const dashArray = strokeDasharrayStyle.trim().split(/\s+/).map(Number);
|
||||||
|
if (dashArray.length === 1) {
|
||||||
|
const val = isNaN(dashArray[0]) ? 0 : dashArray[0];
|
||||||
|
return [val, val];
|
||||||
|
}
|
||||||
|
const first = isNaN(dashArray[0]) ? 0 : dashArray[0];
|
||||||
|
const second = isNaN(dashArray[1]) ? 0 : dashArray[1];
|
||||||
|
return [first, second];
|
||||||
|
}, "getStrokeDashArray");
|
||||||
|
|
||||||
|
export {
|
||||||
|
solidStateFill,
|
||||||
|
compileStyles,
|
||||||
|
isLabelStyle,
|
||||||
|
styles2String,
|
||||||
|
userNodeOverrides
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-FTTOYZOY.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-FTTOYZOY.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-FTTOYZOY.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-ATLVNIR6.mjs"],
|
||||||
|
"sourcesContent": ["import {\n getConfig2 as getConfig\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/rendering-util/rendering-elements/shapes/handDrawnShapeStyles.ts\nvar solidStateFill = /* @__PURE__ */ __name((color) => {\n const { handDrawnSeed } = getConfig();\n return {\n fill: color,\n hachureAngle: 120,\n // angle of hachure,\n hachureGap: 4,\n fillWeight: 2,\n roughness: 0.7,\n stroke: color,\n seed: handDrawnSeed\n };\n}, \"solidStateFill\");\nvar compileStyles = /* @__PURE__ */ __name((node) => {\n const stylesMap = styles2Map([\n ...node.cssCompiledStyles || [],\n ...node.cssStyles || [],\n ...node.labelStyle || []\n ]);\n return { stylesMap, stylesArray: [...stylesMap] };\n}, \"compileStyles\");\nvar styles2Map = /* @__PURE__ */ __name((styles) => {\n const styleMap = /* @__PURE__ */ new Map();\n styles.forEach((style) => {\n const [key, value] = style.split(\":\");\n styleMap.set(key.trim(), value?.trim());\n });\n return styleMap;\n}, \"styles2Map\");\nvar isLabelStyle = /* @__PURE__ */ __name((key) => {\n return key === \"color\" || key === \"font-size\" || key === \"font-family\" || key === \"font-weight\" || key === \"font-style\" || key === \"text-decoration\" || key === \"text-align\" || key === \"text-transform\" || key === \"line-height\" || key === \"letter-spacing\" || key === \"word-spacing\" || key === \"text-shadow\" || key === \"text-overflow\" || key === \"white-space\" || key === \"word-wrap\" || key === \"word-break\" || key === \"overflow-wrap\" || key === \"hyphens\";\n}, \"isLabelStyle\");\nvar styles2String = /* @__PURE__ */ __name((node) => {\n const { stylesArray } = compileStyles(node);\n const labelStyles = [];\n const nodeStyles = [];\n const borderStyles = [];\n const backgroundStyles = [];\n stylesArray.forEach((style) => {\n const key = style[0];\n if (isLabelStyle(key)) {\n labelStyles.push(style.join(\":\") + \" !important\");\n } else {\n nodeStyles.push(style.join(\":\") + \" !important\");\n if (key.includes(\"stroke\")) {\n borderStyles.push(style.join(\":\") + \" !important\");\n }\n if (key === \"fill\") {\n backgroundStyles.push(style.join(\":\") + \" !important\");\n }\n }\n });\n return {\n labelStyles: labelStyles.join(\";\"),\n nodeStyles: nodeStyles.join(\";\"),\n stylesArray,\n borderStyles,\n backgroundStyles\n };\n}, \"styles2String\");\nvar userNodeOverrides = /* @__PURE__ */ __name((node, options) => {\n const { themeVariables, handDrawnSeed } = getConfig();\n const { nodeBorder, mainBkg } = themeVariables;\n const { stylesMap } = compileStyles(node);\n const result = Object.assign(\n {\n roughness: 0.7,\n fill: stylesMap.get(\"fill\") || mainBkg,\n fillStyle: \"hachure\",\n // solid fill\n fillWeight: 4,\n hachureGap: 5.2,\n stroke: stylesMap.get(\"stroke\") || nodeBorder,\n seed: handDrawnSeed,\n strokeWidth: stylesMap.get(\"stroke-width\")?.replace(\"px\", \"\") || 1.3,\n fillLineDash: [0, 0],\n strokeLineDash: getStrokeDashArray(stylesMap.get(\"stroke-dasharray\"))\n },\n options\n );\n return result;\n}, \"userNodeOverrides\");\nvar getStrokeDashArray = /* @__PURE__ */ __name((strokeDasharrayStyle) => {\n if (!strokeDasharrayStyle) {\n return [0, 0];\n }\n const dashArray = strokeDasharrayStyle.trim().split(/\\s+/).map(Number);\n if (dashArray.length === 1) {\n const val = isNaN(dashArray[0]) ? 0 : dashArray[0];\n return [val, val];\n }\n const first = isNaN(dashArray[0]) ? 0 : dashArray[0];\n const second = isNaN(dashArray[1]) ? 0 : dashArray[1];\n return [first, second];\n}, \"getStrokeDashArray\");\n\nexport {\n solidStateFill,\n compileStyles,\n isLabelStyle,\n styles2String,\n userNodeOverrides\n};\n"],
|
||||||
|
"mappings": ";;;;;;;;AAQA,IAAI,iBAAiC,OAAO,CAAC,UAAU;AACrD,QAAM,EAAE,cAAc,IAAI,WAAU;AACpC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,cAAc;AAAA;AAAA,IAEd,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,MAAM;AAAA,EACR;AACF,GAAG,gBAAgB;AACnB,IAAI,gBAAgC,OAAO,CAAC,SAAS;AACnD,QAAM,YAAY,WAAW;AAAA,IAC3B,GAAG,KAAK,qBAAqB,CAAC;AAAA,IAC9B,GAAG,KAAK,aAAa,CAAC;AAAA,IACtB,GAAG,KAAK,cAAc,CAAC;AAAA,EACzB,CAAC;AACD,SAAO,EAAE,WAAW,aAAa,CAAC,GAAG,SAAS,EAAE;AAClD,GAAG,eAAe;AAClB,IAAI,aAA6B,OAAO,CAAC,WAAW;AAClD,QAAM,WAA2B,oBAAI,IAAI;AACzC,SAAO,QAAQ,CAAC,UAAU;AACxB,UAAM,CAAC,KAAK,KAAK,IAAI,MAAM,MAAM,GAAG;AACpC,aAAS,IAAI,IAAI,KAAK,GAAG,OAAO,KAAK,CAAC;AAAA,EACxC,CAAC;AACD,SAAO;AACT,GAAG,YAAY;AACf,IAAI,eAA+B,OAAO,CAAC,QAAQ;AACjD,SAAO,QAAQ,WAAW,QAAQ,eAAe,QAAQ,iBAAiB,QAAQ,iBAAiB,QAAQ,gBAAgB,QAAQ,qBAAqB,QAAQ,gBAAgB,QAAQ,oBAAoB,QAAQ,iBAAiB,QAAQ,oBAAoB,QAAQ,kBAAkB,QAAQ,iBAAiB,QAAQ,mBAAmB,QAAQ,iBAAiB,QAAQ,eAAe,QAAQ,gBAAgB,QAAQ,mBAAmB,QAAQ;AAC5b,GAAG,cAAc;AACjB,IAAI,gBAAgC,OAAO,CAAC,SAAS;AACnD,QAAM,EAAE,YAAY,IAAI,cAAc,IAAI;AAC1C,QAAM,cAAc,CAAC;AACrB,QAAM,aAAa,CAAC;AACpB,QAAM,eAAe,CAAC;AACtB,QAAM,mBAAmB,CAAC;AAC1B,cAAY,QAAQ,CAAC,UAAU;AAC7B,UAAM,MAAM,MAAM,CAAC;AACnB,QAAI,aAAa,GAAG,GAAG;AACrB,kBAAY,KAAK,MAAM,KAAK,GAAG,IAAI,aAAa;AAAA,IAClD,OAAO;AACL,iBAAW,KAAK,MAAM,KAAK,GAAG,IAAI,aAAa;AAC/C,UAAI,IAAI,SAAS,QAAQ,GAAG;AAC1B,qBAAa,KAAK,MAAM,KAAK,GAAG,IAAI,aAAa;AAAA,MACnD;AACA,UAAI,QAAQ,QAAQ;AAClB,yBAAiB,KAAK,MAAM,KAAK,GAAG,IAAI,aAAa;AAAA,MACvD;AAAA,IACF;AAAA,EACF,CAAC;AACD,SAAO;AAAA,IACL,aAAa,YAAY,KAAK,GAAG;AAAA,IACjC,YAAY,WAAW,KAAK,GAAG;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF,GAAG,eAAe;AAClB,IAAI,oBAAoC,OAAO,CAAC,MAAM,YAAY;AAChE,QAAM,EAAE,gBAAgB,cAAc,IAAI,WAAU;AACpD,QAAM,EAAE,YAAY,QAAQ,IAAI;AAChC,QAAM,EAAE,UAAU,IAAI,cAAc,IAAI;AACxC,QAAM,SAAS,OAAO;AAAA,IACpB;AAAA,MACE,WAAW;AAAA,MACX,MAAM,UAAU,IAAI,MAAM,KAAK;AAAA,MAC/B,WAAW;AAAA;AAAA,MAEX,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,QAAQ,UAAU,IAAI,QAAQ,KAAK;AAAA,MACnC,MAAM;AAAA,MACN,aAAa,UAAU,IAAI,cAAc,GAAG,QAAQ,MAAM,EAAE,KAAK;AAAA,MACjE,cAAc,CAAC,GAAG,CAAC;AAAA,MACnB,gBAAgB,mBAAmB,UAAU,IAAI,kBAAkB,CAAC;AAAA,IACtE;AAAA,IACA;AAAA,EACF;AACA,SAAO;AACT,GAAG,mBAAmB;AACtB,IAAI,qBAAqC,OAAO,CAAC,yBAAyB;AACxE,MAAI,CAAC,sBAAsB;AACzB,WAAO,CAAC,GAAG,CAAC;AAAA,EACd;AACA,QAAM,YAAY,qBAAqB,KAAK,EAAE,MAAM,KAAK,EAAE,IAAI,MAAM;AACrE,MAAI,UAAU,WAAW,GAAG;AAC1B,UAAM,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC;AACjD,WAAO,CAAC,KAAK,GAAG;AAAA,EAClB;AACA,QAAM,QAAQ,MAAM,UAAU,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC;AACnD,QAAM,SAAS,MAAM,UAAU,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC;AACpD,SAAO,CAAC,OAAO,MAAM;AACvB,GAAG,oBAAoB;",
|
||||||
|
"names": []
|
||||||
|
}
|
850
.angular/cache/20.3.2/app/vite/deps/chunk-HICR2YSH.js
vendored
Normal file
850
.angular/cache/20.3.2/app/vite/deps/chunk-HICR2YSH.js
vendored
Normal file
@ -0,0 +1,850 @@
|
|||||||
|
import {
|
||||||
|
at,
|
||||||
|
createLabel_default
|
||||||
|
} from "./chunk-JJ4TL56I.js";
|
||||||
|
import {
|
||||||
|
getLineFunctionsWithOffset,
|
||||||
|
markerOffsets,
|
||||||
|
markerOffsets2
|
||||||
|
} from "./chunk-2HSIUWWJ.js";
|
||||||
|
import {
|
||||||
|
getSubGraphTitleMargins
|
||||||
|
} from "./chunk-EUUYHBKV.js";
|
||||||
|
import {
|
||||||
|
isLabelStyle,
|
||||||
|
styles2String
|
||||||
|
} from "./chunk-FTTOYZOY.js";
|
||||||
|
import {
|
||||||
|
createText
|
||||||
|
} from "./chunk-NMWDZEZO.js";
|
||||||
|
import {
|
||||||
|
utils_default
|
||||||
|
} from "./chunk-QVVRGVV3.js";
|
||||||
|
import {
|
||||||
|
evaluate,
|
||||||
|
getConfig2
|
||||||
|
} from "./chunk-BFCVI5XI.js";
|
||||||
|
import {
|
||||||
|
__name,
|
||||||
|
basis_default,
|
||||||
|
bumpX,
|
||||||
|
bumpY,
|
||||||
|
cardinal_default,
|
||||||
|
catmullRom_default,
|
||||||
|
line_default,
|
||||||
|
linear_default,
|
||||||
|
log,
|
||||||
|
monotoneX,
|
||||||
|
monotoneY,
|
||||||
|
natural_default,
|
||||||
|
select_default,
|
||||||
|
stepAfter,
|
||||||
|
stepBefore,
|
||||||
|
step_default
|
||||||
|
} from "./chunk-I65GBZ6F.js";
|
||||||
|
import {
|
||||||
|
__spreadValues
|
||||||
|
} from "./chunk-TKSB4YUA.js";
|
||||||
|
|
||||||
|
// node_modules/mermaid/dist/chunks/mermaid.core/chunk-QXUST7PY.mjs
|
||||||
|
var addEdgeMarkers = __name((svgPath, edge, url, id, diagramType, strokeColor) => {
|
||||||
|
if (edge.arrowTypeStart) {
|
||||||
|
addEdgeMarker(svgPath, "start", edge.arrowTypeStart, url, id, diagramType, strokeColor);
|
||||||
|
}
|
||||||
|
if (edge.arrowTypeEnd) {
|
||||||
|
addEdgeMarker(svgPath, "end", edge.arrowTypeEnd, url, id, diagramType, strokeColor);
|
||||||
|
}
|
||||||
|
}, "addEdgeMarkers");
|
||||||
|
var arrowTypesMap = {
|
||||||
|
arrow_cross: { type: "cross", fill: false },
|
||||||
|
arrow_point: { type: "point", fill: true },
|
||||||
|
arrow_barb: { type: "barb", fill: true },
|
||||||
|
arrow_circle: { type: "circle", fill: false },
|
||||||
|
aggregation: { type: "aggregation", fill: false },
|
||||||
|
extension: { type: "extension", fill: false },
|
||||||
|
composition: { type: "composition", fill: true },
|
||||||
|
dependency: { type: "dependency", fill: true },
|
||||||
|
lollipop: { type: "lollipop", fill: false },
|
||||||
|
only_one: { type: "onlyOne", fill: false },
|
||||||
|
zero_or_one: { type: "zeroOrOne", fill: false },
|
||||||
|
one_or_more: { type: "oneOrMore", fill: false },
|
||||||
|
zero_or_more: { type: "zeroOrMore", fill: false },
|
||||||
|
requirement_arrow: { type: "requirement_arrow", fill: false },
|
||||||
|
requirement_contains: { type: "requirement_contains", fill: false }
|
||||||
|
};
|
||||||
|
var addEdgeMarker = __name((svgPath, position, arrowType, url, id, diagramType, strokeColor) => {
|
||||||
|
const arrowTypeInfo = arrowTypesMap[arrowType];
|
||||||
|
if (!arrowTypeInfo) {
|
||||||
|
log.warn(`Unknown arrow type: ${arrowType}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const endMarkerType = arrowTypeInfo.type;
|
||||||
|
const suffix = position === "start" ? "Start" : "End";
|
||||||
|
const originalMarkerId = `${id}_${diagramType}-${endMarkerType}${suffix}`;
|
||||||
|
if (strokeColor && strokeColor.trim() !== "") {
|
||||||
|
const colorId = strokeColor.replace(/[^\dA-Za-z]/g, "_");
|
||||||
|
const coloredMarkerId = `${originalMarkerId}_${colorId}`;
|
||||||
|
if (!document.getElementById(coloredMarkerId)) {
|
||||||
|
const originalMarker = document.getElementById(originalMarkerId);
|
||||||
|
if (originalMarker) {
|
||||||
|
const coloredMarker = originalMarker.cloneNode(true);
|
||||||
|
coloredMarker.id = coloredMarkerId;
|
||||||
|
const paths = coloredMarker.querySelectorAll("path, circle, line");
|
||||||
|
paths.forEach((path) => {
|
||||||
|
path.setAttribute("stroke", strokeColor);
|
||||||
|
if (arrowTypeInfo.fill) {
|
||||||
|
path.setAttribute("fill", strokeColor);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
originalMarker.parentNode?.appendChild(coloredMarker);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
svgPath.attr(`marker-${position}`, `url(${url}#${coloredMarkerId})`);
|
||||||
|
} else {
|
||||||
|
svgPath.attr(`marker-${position}`, `url(${url}#${originalMarkerId})`);
|
||||||
|
}
|
||||||
|
}, "addEdgeMarker");
|
||||||
|
var edgeLabels = /* @__PURE__ */ new Map();
|
||||||
|
var terminalLabels = /* @__PURE__ */ new Map();
|
||||||
|
var clear = __name(() => {
|
||||||
|
edgeLabels.clear();
|
||||||
|
terminalLabels.clear();
|
||||||
|
}, "clear");
|
||||||
|
var getLabelStyles = __name((styleArray) => {
|
||||||
|
let styles = styleArray ? styleArray.reduce((acc, style) => acc + ";" + style, "") : "";
|
||||||
|
return styles;
|
||||||
|
}, "getLabelStyles");
|
||||||
|
var insertEdgeLabel = __name(async (elem, edge) => {
|
||||||
|
let useHtmlLabels = evaluate(getConfig2().flowchart.htmlLabels);
|
||||||
|
const { labelStyles } = styles2String(edge);
|
||||||
|
edge.labelStyle = labelStyles;
|
||||||
|
const labelElement = await createText(elem, edge.label, {
|
||||||
|
style: edge.labelStyle,
|
||||||
|
useHtmlLabels,
|
||||||
|
addSvgBackground: true,
|
||||||
|
isNode: false
|
||||||
|
});
|
||||||
|
log.info("abc82", edge, edge.labelType);
|
||||||
|
const edgeLabel = elem.insert("g").attr("class", "edgeLabel");
|
||||||
|
const label = edgeLabel.insert("g").attr("class", "label").attr("data-id", edge.id);
|
||||||
|
label.node().appendChild(labelElement);
|
||||||
|
let bbox = labelElement.getBBox();
|
||||||
|
if (useHtmlLabels) {
|
||||||
|
const div = labelElement.children[0];
|
||||||
|
const dv = select_default(labelElement);
|
||||||
|
bbox = div.getBoundingClientRect();
|
||||||
|
dv.attr("width", bbox.width);
|
||||||
|
dv.attr("height", bbox.height);
|
||||||
|
}
|
||||||
|
label.attr("transform", "translate(" + -bbox.width / 2 + ", " + -bbox.height / 2 + ")");
|
||||||
|
edgeLabels.set(edge.id, edgeLabel);
|
||||||
|
edge.width = bbox.width;
|
||||||
|
edge.height = bbox.height;
|
||||||
|
let fo;
|
||||||
|
if (edge.startLabelLeft) {
|
||||||
|
const startLabelElement = await createLabel_default(
|
||||||
|
edge.startLabelLeft,
|
||||||
|
getLabelStyles(edge.labelStyle)
|
||||||
|
);
|
||||||
|
const startEdgeLabelLeft = elem.insert("g").attr("class", "edgeTerminals");
|
||||||
|
const inner = startEdgeLabelLeft.insert("g").attr("class", "inner");
|
||||||
|
fo = inner.node().appendChild(startLabelElement);
|
||||||
|
const slBox = startLabelElement.getBBox();
|
||||||
|
inner.attr("transform", "translate(" + -slBox.width / 2 + ", " + -slBox.height / 2 + ")");
|
||||||
|
if (!terminalLabels.get(edge.id)) {
|
||||||
|
terminalLabels.set(edge.id, {});
|
||||||
|
}
|
||||||
|
terminalLabels.get(edge.id).startLeft = startEdgeLabelLeft;
|
||||||
|
setTerminalWidth(fo, edge.startLabelLeft);
|
||||||
|
}
|
||||||
|
if (edge.startLabelRight) {
|
||||||
|
const startLabelElement = await createLabel_default(
|
||||||
|
edge.startLabelRight,
|
||||||
|
getLabelStyles(edge.labelStyle)
|
||||||
|
);
|
||||||
|
const startEdgeLabelRight = elem.insert("g").attr("class", "edgeTerminals");
|
||||||
|
const inner = startEdgeLabelRight.insert("g").attr("class", "inner");
|
||||||
|
fo = startEdgeLabelRight.node().appendChild(startLabelElement);
|
||||||
|
inner.node().appendChild(startLabelElement);
|
||||||
|
const slBox = startLabelElement.getBBox();
|
||||||
|
inner.attr("transform", "translate(" + -slBox.width / 2 + ", " + -slBox.height / 2 + ")");
|
||||||
|
if (!terminalLabels.get(edge.id)) {
|
||||||
|
terminalLabels.set(edge.id, {});
|
||||||
|
}
|
||||||
|
terminalLabels.get(edge.id).startRight = startEdgeLabelRight;
|
||||||
|
setTerminalWidth(fo, edge.startLabelRight);
|
||||||
|
}
|
||||||
|
if (edge.endLabelLeft) {
|
||||||
|
const endLabelElement = await createLabel_default(edge.endLabelLeft, getLabelStyles(edge.labelStyle));
|
||||||
|
const endEdgeLabelLeft = elem.insert("g").attr("class", "edgeTerminals");
|
||||||
|
const inner = endEdgeLabelLeft.insert("g").attr("class", "inner");
|
||||||
|
fo = inner.node().appendChild(endLabelElement);
|
||||||
|
const slBox = endLabelElement.getBBox();
|
||||||
|
inner.attr("transform", "translate(" + -slBox.width / 2 + ", " + -slBox.height / 2 + ")");
|
||||||
|
endEdgeLabelLeft.node().appendChild(endLabelElement);
|
||||||
|
if (!terminalLabels.get(edge.id)) {
|
||||||
|
terminalLabels.set(edge.id, {});
|
||||||
|
}
|
||||||
|
terminalLabels.get(edge.id).endLeft = endEdgeLabelLeft;
|
||||||
|
setTerminalWidth(fo, edge.endLabelLeft);
|
||||||
|
}
|
||||||
|
if (edge.endLabelRight) {
|
||||||
|
const endLabelElement = await createLabel_default(edge.endLabelRight, getLabelStyles(edge.labelStyle));
|
||||||
|
const endEdgeLabelRight = elem.insert("g").attr("class", "edgeTerminals");
|
||||||
|
const inner = endEdgeLabelRight.insert("g").attr("class", "inner");
|
||||||
|
fo = inner.node().appendChild(endLabelElement);
|
||||||
|
const slBox = endLabelElement.getBBox();
|
||||||
|
inner.attr("transform", "translate(" + -slBox.width / 2 + ", " + -slBox.height / 2 + ")");
|
||||||
|
endEdgeLabelRight.node().appendChild(endLabelElement);
|
||||||
|
if (!terminalLabels.get(edge.id)) {
|
||||||
|
terminalLabels.set(edge.id, {});
|
||||||
|
}
|
||||||
|
terminalLabels.get(edge.id).endRight = endEdgeLabelRight;
|
||||||
|
setTerminalWidth(fo, edge.endLabelRight);
|
||||||
|
}
|
||||||
|
return labelElement;
|
||||||
|
}, "insertEdgeLabel");
|
||||||
|
function setTerminalWidth(fo, value) {
|
||||||
|
if (getConfig2().flowchart.htmlLabels && fo) {
|
||||||
|
fo.style.width = value.length * 9 + "px";
|
||||||
|
fo.style.height = "12px";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
__name(setTerminalWidth, "setTerminalWidth");
|
||||||
|
var positionEdgeLabel = __name((edge, paths) => {
|
||||||
|
log.debug("Moving label abc88 ", edge.id, edge.label, edgeLabels.get(edge.id), paths);
|
||||||
|
let path = paths.updatedPath ? paths.updatedPath : paths.originalPath;
|
||||||
|
const siteConfig = getConfig2();
|
||||||
|
const { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);
|
||||||
|
if (edge.label) {
|
||||||
|
const el = edgeLabels.get(edge.id);
|
||||||
|
let x = edge.x;
|
||||||
|
let y = edge.y;
|
||||||
|
if (path) {
|
||||||
|
const pos = utils_default.calcLabelPosition(path);
|
||||||
|
log.debug(
|
||||||
|
"Moving label " + edge.label + " from (",
|
||||||
|
x,
|
||||||
|
",",
|
||||||
|
y,
|
||||||
|
") to (",
|
||||||
|
pos.x,
|
||||||
|
",",
|
||||||
|
pos.y,
|
||||||
|
") abc88"
|
||||||
|
);
|
||||||
|
if (paths.updatedPath) {
|
||||||
|
x = pos.x;
|
||||||
|
y = pos.y;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
el.attr("transform", `translate(${x}, ${y + subGraphTitleTotalMargin / 2})`);
|
||||||
|
}
|
||||||
|
if (edge.startLabelLeft) {
|
||||||
|
const el = terminalLabels.get(edge.id).startLeft;
|
||||||
|
let x = edge.x;
|
||||||
|
let y = edge.y;
|
||||||
|
if (path) {
|
||||||
|
const pos = utils_default.calcTerminalLabelPosition(edge.arrowTypeStart ? 10 : 0, "start_left", path);
|
||||||
|
x = pos.x;
|
||||||
|
y = pos.y;
|
||||||
|
}
|
||||||
|
el.attr("transform", `translate(${x}, ${y})`);
|
||||||
|
}
|
||||||
|
if (edge.startLabelRight) {
|
||||||
|
const el = terminalLabels.get(edge.id).startRight;
|
||||||
|
let x = edge.x;
|
||||||
|
let y = edge.y;
|
||||||
|
if (path) {
|
||||||
|
const pos = utils_default.calcTerminalLabelPosition(
|
||||||
|
edge.arrowTypeStart ? 10 : 0,
|
||||||
|
"start_right",
|
||||||
|
path
|
||||||
|
);
|
||||||
|
x = pos.x;
|
||||||
|
y = pos.y;
|
||||||
|
}
|
||||||
|
el.attr("transform", `translate(${x}, ${y})`);
|
||||||
|
}
|
||||||
|
if (edge.endLabelLeft) {
|
||||||
|
const el = terminalLabels.get(edge.id).endLeft;
|
||||||
|
let x = edge.x;
|
||||||
|
let y = edge.y;
|
||||||
|
if (path) {
|
||||||
|
const pos = utils_default.calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, "end_left", path);
|
||||||
|
x = pos.x;
|
||||||
|
y = pos.y;
|
||||||
|
}
|
||||||
|
el.attr("transform", `translate(${x}, ${y})`);
|
||||||
|
}
|
||||||
|
if (edge.endLabelRight) {
|
||||||
|
const el = terminalLabels.get(edge.id).endRight;
|
||||||
|
let x = edge.x;
|
||||||
|
let y = edge.y;
|
||||||
|
if (path) {
|
||||||
|
const pos = utils_default.calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, "end_right", path);
|
||||||
|
x = pos.x;
|
||||||
|
y = pos.y;
|
||||||
|
}
|
||||||
|
el.attr("transform", `translate(${x}, ${y})`);
|
||||||
|
}
|
||||||
|
}, "positionEdgeLabel");
|
||||||
|
var outsideNode = __name((node, point2) => {
|
||||||
|
const x = node.x;
|
||||||
|
const y = node.y;
|
||||||
|
const dx = Math.abs(point2.x - x);
|
||||||
|
const dy = Math.abs(point2.y - y);
|
||||||
|
const w = node.width / 2;
|
||||||
|
const h = node.height / 2;
|
||||||
|
return dx >= w || dy >= h;
|
||||||
|
}, "outsideNode");
|
||||||
|
var intersection = __name((node, outsidePoint, insidePoint) => {
|
||||||
|
log.debug(`intersection calc abc89:
|
||||||
|
outsidePoint: ${JSON.stringify(outsidePoint)}
|
||||||
|
insidePoint : ${JSON.stringify(insidePoint)}
|
||||||
|
node : x:${node.x} y:${node.y} w:${node.width} h:${node.height}`);
|
||||||
|
const x = node.x;
|
||||||
|
const y = node.y;
|
||||||
|
const dx = Math.abs(x - insidePoint.x);
|
||||||
|
const w = node.width / 2;
|
||||||
|
let r = insidePoint.x < outsidePoint.x ? w - dx : w + dx;
|
||||||
|
const h = node.height / 2;
|
||||||
|
const Q = Math.abs(outsidePoint.y - insidePoint.y);
|
||||||
|
const R = Math.abs(outsidePoint.x - insidePoint.x);
|
||||||
|
if (Math.abs(y - outsidePoint.y) * w > Math.abs(x - outsidePoint.x) * h) {
|
||||||
|
let q = insidePoint.y < outsidePoint.y ? outsidePoint.y - h - y : y - h - outsidePoint.y;
|
||||||
|
r = R * q / Q;
|
||||||
|
const res = {
|
||||||
|
x: insidePoint.x < outsidePoint.x ? insidePoint.x + r : insidePoint.x - R + r,
|
||||||
|
y: insidePoint.y < outsidePoint.y ? insidePoint.y + Q - q : insidePoint.y - Q + q
|
||||||
|
};
|
||||||
|
if (r === 0) {
|
||||||
|
res.x = outsidePoint.x;
|
||||||
|
res.y = outsidePoint.y;
|
||||||
|
}
|
||||||
|
if (R === 0) {
|
||||||
|
res.x = outsidePoint.x;
|
||||||
|
}
|
||||||
|
if (Q === 0) {
|
||||||
|
res.y = outsidePoint.y;
|
||||||
|
}
|
||||||
|
log.debug(`abc89 top/bottom calc, Q ${Q}, q ${q}, R ${R}, r ${r}`, res);
|
||||||
|
return res;
|
||||||
|
} else {
|
||||||
|
if (insidePoint.x < outsidePoint.x) {
|
||||||
|
r = outsidePoint.x - w - x;
|
||||||
|
} else {
|
||||||
|
r = x - w - outsidePoint.x;
|
||||||
|
}
|
||||||
|
let q = Q * r / R;
|
||||||
|
let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : insidePoint.x - R + r;
|
||||||
|
let _y = insidePoint.y < outsidePoint.y ? insidePoint.y + q : insidePoint.y - q;
|
||||||
|
log.debug(`sides calc abc89, Q ${Q}, q ${q}, R ${R}, r ${r}`, { _x, _y });
|
||||||
|
if (r === 0) {
|
||||||
|
_x = outsidePoint.x;
|
||||||
|
_y = outsidePoint.y;
|
||||||
|
}
|
||||||
|
if (R === 0) {
|
||||||
|
_x = outsidePoint.x;
|
||||||
|
}
|
||||||
|
if (Q === 0) {
|
||||||
|
_y = outsidePoint.y;
|
||||||
|
}
|
||||||
|
return { x: _x, y: _y };
|
||||||
|
}
|
||||||
|
}, "intersection");
|
||||||
|
var cutPathAtIntersect = __name((_points, boundaryNode) => {
|
||||||
|
log.warn("abc88 cutPathAtIntersect", _points, boundaryNode);
|
||||||
|
let points = [];
|
||||||
|
let lastPointOutside = _points[0];
|
||||||
|
let isInside = false;
|
||||||
|
_points.forEach((point2) => {
|
||||||
|
log.info("abc88 checking point", point2, boundaryNode);
|
||||||
|
if (!outsideNode(boundaryNode, point2) && !isInside) {
|
||||||
|
const inter = intersection(boundaryNode, lastPointOutside, point2);
|
||||||
|
log.debug("abc88 inside", point2, lastPointOutside, inter);
|
||||||
|
log.debug("abc88 intersection", inter, boundaryNode);
|
||||||
|
let pointPresent = false;
|
||||||
|
points.forEach((p) => {
|
||||||
|
pointPresent = pointPresent || p.x === inter.x && p.y === inter.y;
|
||||||
|
});
|
||||||
|
if (!points.some((e) => e.x === inter.x && e.y === inter.y)) {
|
||||||
|
points.push(inter);
|
||||||
|
} else {
|
||||||
|
log.warn("abc88 no intersect", inter, points);
|
||||||
|
}
|
||||||
|
isInside = true;
|
||||||
|
} else {
|
||||||
|
log.warn("abc88 outside", point2, lastPointOutside);
|
||||||
|
lastPointOutside = point2;
|
||||||
|
if (!isInside) {
|
||||||
|
points.push(point2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
log.debug("returning points", points);
|
||||||
|
return points;
|
||||||
|
}, "cutPathAtIntersect");
|
||||||
|
function extractCornerPoints(points) {
|
||||||
|
const cornerPoints = [];
|
||||||
|
const cornerPointPositions = [];
|
||||||
|
for (let i = 1; i < points.length - 1; i++) {
|
||||||
|
const prev = points[i - 1];
|
||||||
|
const curr = points[i];
|
||||||
|
const next = points[i + 1];
|
||||||
|
if (prev.x === curr.x && curr.y === next.y && Math.abs(curr.x - next.x) > 5 && Math.abs(curr.y - prev.y) > 5) {
|
||||||
|
cornerPoints.push(curr);
|
||||||
|
cornerPointPositions.push(i);
|
||||||
|
} else if (prev.y === curr.y && curr.x === next.x && Math.abs(curr.x - prev.x) > 5 && Math.abs(curr.y - next.y) > 5) {
|
||||||
|
cornerPoints.push(curr);
|
||||||
|
cornerPointPositions.push(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return { cornerPoints, cornerPointPositions };
|
||||||
|
}
|
||||||
|
__name(extractCornerPoints, "extractCornerPoints");
|
||||||
|
var findAdjacentPoint = __name(function(pointA, pointB, distance) {
|
||||||
|
const xDiff = pointB.x - pointA.x;
|
||||||
|
const yDiff = pointB.y - pointA.y;
|
||||||
|
const length = Math.sqrt(xDiff * xDiff + yDiff * yDiff);
|
||||||
|
const ratio = distance / length;
|
||||||
|
return { x: pointB.x - ratio * xDiff, y: pointB.y - ratio * yDiff };
|
||||||
|
}, "findAdjacentPoint");
|
||||||
|
var fixCorners = __name(function(lineData) {
|
||||||
|
const { cornerPointPositions } = extractCornerPoints(lineData);
|
||||||
|
const newLineData = [];
|
||||||
|
for (let i = 0; i < lineData.length; i++) {
|
||||||
|
if (cornerPointPositions.includes(i)) {
|
||||||
|
const prevPoint = lineData[i - 1];
|
||||||
|
const nextPoint = lineData[i + 1];
|
||||||
|
const cornerPoint = lineData[i];
|
||||||
|
const newPrevPoint = findAdjacentPoint(prevPoint, cornerPoint, 5);
|
||||||
|
const newNextPoint = findAdjacentPoint(nextPoint, cornerPoint, 5);
|
||||||
|
const xDiff = newNextPoint.x - newPrevPoint.x;
|
||||||
|
const yDiff = newNextPoint.y - newPrevPoint.y;
|
||||||
|
newLineData.push(newPrevPoint);
|
||||||
|
const a = Math.sqrt(2) * 2;
|
||||||
|
let newCornerPoint = { x: cornerPoint.x, y: cornerPoint.y };
|
||||||
|
if (Math.abs(nextPoint.x - prevPoint.x) > 10 && Math.abs(nextPoint.y - prevPoint.y) >= 10) {
|
||||||
|
log.debug(
|
||||||
|
"Corner point fixing",
|
||||||
|
Math.abs(nextPoint.x - prevPoint.x),
|
||||||
|
Math.abs(nextPoint.y - prevPoint.y)
|
||||||
|
);
|
||||||
|
const r = 5;
|
||||||
|
if (cornerPoint.x === newPrevPoint.x) {
|
||||||
|
newCornerPoint = {
|
||||||
|
x: xDiff < 0 ? newPrevPoint.x - r + a : newPrevPoint.x + r - a,
|
||||||
|
y: yDiff < 0 ? newPrevPoint.y - a : newPrevPoint.y + a
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
newCornerPoint = {
|
||||||
|
x: xDiff < 0 ? newPrevPoint.x - a : newPrevPoint.x + a,
|
||||||
|
y: yDiff < 0 ? newPrevPoint.y - r + a : newPrevPoint.y + r - a
|
||||||
|
};
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
log.debug(
|
||||||
|
"Corner point skipping fixing",
|
||||||
|
Math.abs(nextPoint.x - prevPoint.x),
|
||||||
|
Math.abs(nextPoint.y - prevPoint.y)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
newLineData.push(newCornerPoint, newNextPoint);
|
||||||
|
} else {
|
||||||
|
newLineData.push(lineData[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return newLineData;
|
||||||
|
}, "fixCorners");
|
||||||
|
var generateDashArray = __name((len, oValueS, oValueE) => {
|
||||||
|
const middleLength = len - oValueS - oValueE;
|
||||||
|
const dashLength = 2;
|
||||||
|
const gapLength = 2;
|
||||||
|
const dashGapPairLength = dashLength + gapLength;
|
||||||
|
const numberOfPairs = Math.floor(middleLength / dashGapPairLength);
|
||||||
|
const middlePattern = Array(numberOfPairs).fill(`${dashLength} ${gapLength}`).join(" ");
|
||||||
|
const dashArray = `0 ${oValueS} ${middlePattern} ${oValueE}`;
|
||||||
|
return dashArray;
|
||||||
|
}, "generateDashArray");
|
||||||
|
var insertEdge = __name(function(elem, edge, clusterDb, diagramType, startNode, endNode, id, skipIntersect = false) {
|
||||||
|
const { handDrawnSeed } = getConfig2();
|
||||||
|
let points = edge.points;
|
||||||
|
let pointsHasChanged = false;
|
||||||
|
const tail = startNode;
|
||||||
|
var head = endNode;
|
||||||
|
const edgeClassStyles = [];
|
||||||
|
for (const key in edge.cssCompiledStyles) {
|
||||||
|
if (isLabelStyle(key)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
edgeClassStyles.push(edge.cssCompiledStyles[key]);
|
||||||
|
}
|
||||||
|
log.debug("UIO intersect check", edge.points, head.x, tail.x);
|
||||||
|
if (head.intersect && tail.intersect && !skipIntersect) {
|
||||||
|
points = points.slice(1, edge.points.length - 1);
|
||||||
|
points.unshift(tail.intersect(points[0]));
|
||||||
|
log.debug(
|
||||||
|
"Last point UIO",
|
||||||
|
edge.start,
|
||||||
|
"-->",
|
||||||
|
edge.end,
|
||||||
|
points[points.length - 1],
|
||||||
|
head,
|
||||||
|
head.intersect(points[points.length - 1])
|
||||||
|
);
|
||||||
|
points.push(head.intersect(points[points.length - 1]));
|
||||||
|
}
|
||||||
|
const pointsStr = btoa(JSON.stringify(points));
|
||||||
|
if (edge.toCluster) {
|
||||||
|
log.info("to cluster abc88", clusterDb.get(edge.toCluster));
|
||||||
|
points = cutPathAtIntersect(edge.points, clusterDb.get(edge.toCluster).node);
|
||||||
|
pointsHasChanged = true;
|
||||||
|
}
|
||||||
|
if (edge.fromCluster) {
|
||||||
|
log.debug(
|
||||||
|
"from cluster abc88",
|
||||||
|
clusterDb.get(edge.fromCluster),
|
||||||
|
JSON.stringify(points, null, 2)
|
||||||
|
);
|
||||||
|
points = cutPathAtIntersect(points.reverse(), clusterDb.get(edge.fromCluster).node).reverse();
|
||||||
|
pointsHasChanged = true;
|
||||||
|
}
|
||||||
|
let lineData = points.filter((p) => !Number.isNaN(p.y));
|
||||||
|
lineData = fixCorners(lineData);
|
||||||
|
let curve = basis_default;
|
||||||
|
curve = linear_default;
|
||||||
|
switch (edge.curve) {
|
||||||
|
case "linear":
|
||||||
|
curve = linear_default;
|
||||||
|
break;
|
||||||
|
case "basis":
|
||||||
|
curve = basis_default;
|
||||||
|
break;
|
||||||
|
case "cardinal":
|
||||||
|
curve = cardinal_default;
|
||||||
|
break;
|
||||||
|
case "bumpX":
|
||||||
|
curve = bumpX;
|
||||||
|
break;
|
||||||
|
case "bumpY":
|
||||||
|
curve = bumpY;
|
||||||
|
break;
|
||||||
|
case "catmullRom":
|
||||||
|
curve = catmullRom_default;
|
||||||
|
break;
|
||||||
|
case "monotoneX":
|
||||||
|
curve = monotoneX;
|
||||||
|
break;
|
||||||
|
case "monotoneY":
|
||||||
|
curve = monotoneY;
|
||||||
|
break;
|
||||||
|
case "natural":
|
||||||
|
curve = natural_default;
|
||||||
|
break;
|
||||||
|
case "step":
|
||||||
|
curve = step_default;
|
||||||
|
break;
|
||||||
|
case "stepAfter":
|
||||||
|
curve = stepAfter;
|
||||||
|
break;
|
||||||
|
case "stepBefore":
|
||||||
|
curve = stepBefore;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
curve = basis_default;
|
||||||
|
}
|
||||||
|
const { x, y } = getLineFunctionsWithOffset(edge);
|
||||||
|
const lineFunction = line_default().x(x).y(y).curve(curve);
|
||||||
|
let strokeClasses;
|
||||||
|
switch (edge.thickness) {
|
||||||
|
case "normal":
|
||||||
|
strokeClasses = "edge-thickness-normal";
|
||||||
|
break;
|
||||||
|
case "thick":
|
||||||
|
strokeClasses = "edge-thickness-thick";
|
||||||
|
break;
|
||||||
|
case "invisible":
|
||||||
|
strokeClasses = "edge-thickness-invisible";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
strokeClasses = "edge-thickness-normal";
|
||||||
|
}
|
||||||
|
switch (edge.pattern) {
|
||||||
|
case "solid":
|
||||||
|
strokeClasses += " edge-pattern-solid";
|
||||||
|
break;
|
||||||
|
case "dotted":
|
||||||
|
strokeClasses += " edge-pattern-dotted";
|
||||||
|
break;
|
||||||
|
case "dashed":
|
||||||
|
strokeClasses += " edge-pattern-dashed";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
strokeClasses += " edge-pattern-solid";
|
||||||
|
}
|
||||||
|
let svgPath;
|
||||||
|
let linePath = edge.curve === "rounded" ? generateRoundedPath(applyMarkerOffsetsToPoints(lineData, edge), 5) : lineFunction(lineData);
|
||||||
|
const edgeStyles = Array.isArray(edge.style) ? edge.style : [edge.style];
|
||||||
|
let strokeColor = edgeStyles.find((style) => style?.startsWith("stroke:"));
|
||||||
|
let animatedEdge = false;
|
||||||
|
if (edge.look === "handDrawn") {
|
||||||
|
const rc = at.svg(elem);
|
||||||
|
Object.assign([], lineData);
|
||||||
|
const svgPathNode = rc.path(linePath, {
|
||||||
|
roughness: 0.3,
|
||||||
|
seed: handDrawnSeed
|
||||||
|
});
|
||||||
|
strokeClasses += " transition";
|
||||||
|
svgPath = select_default(svgPathNode).select("path").attr("id", edge.id).attr("class", " " + strokeClasses + (edge.classes ? " " + edge.classes : "")).attr("style", edgeStyles ? edgeStyles.reduce((acc, style) => acc + ";" + style, "") : "");
|
||||||
|
let d = svgPath.attr("d");
|
||||||
|
svgPath.attr("d", d);
|
||||||
|
elem.node().appendChild(svgPath.node());
|
||||||
|
} else {
|
||||||
|
const stylesFromClasses = edgeClassStyles.join(";");
|
||||||
|
const styles = edgeStyles ? edgeStyles.reduce((acc, style) => acc + style + ";", "") : "";
|
||||||
|
let animationClass = "";
|
||||||
|
if (edge.animate) {
|
||||||
|
animationClass = " edge-animation-fast";
|
||||||
|
}
|
||||||
|
if (edge.animation) {
|
||||||
|
animationClass = " edge-animation-" + edge.animation;
|
||||||
|
}
|
||||||
|
const pathStyle = (stylesFromClasses ? stylesFromClasses + ";" + styles + ";" : styles) + ";" + (edgeStyles ? edgeStyles.reduce((acc, style) => acc + ";" + style, "") : "");
|
||||||
|
svgPath = elem.append("path").attr("d", linePath).attr("id", edge.id).attr(
|
||||||
|
"class",
|
||||||
|
" " + strokeClasses + (edge.classes ? " " + edge.classes : "") + (animationClass ?? "")
|
||||||
|
).attr("style", pathStyle);
|
||||||
|
strokeColor = pathStyle.match(/stroke:([^;]+)/)?.[1];
|
||||||
|
animatedEdge = edge.animate === true || !!edge.animation || stylesFromClasses.includes("animation");
|
||||||
|
const pathNode = svgPath.node();
|
||||||
|
const len = typeof pathNode.getTotalLength === "function" ? pathNode.getTotalLength() : 0;
|
||||||
|
const oValueS = markerOffsets2[edge.arrowTypeStart] || 0;
|
||||||
|
const oValueE = markerOffsets2[edge.arrowTypeEnd] || 0;
|
||||||
|
if (edge.look === "neo" && !animatedEdge) {
|
||||||
|
const dashArray = edge.pattern === "dotted" || edge.pattern === "dashed" ? generateDashArray(len, oValueS, oValueE) : `0 ${oValueS} ${len - oValueS - oValueE} ${oValueE}`;
|
||||||
|
const mOffset = `stroke-dasharray: ${dashArray}; stroke-dashoffset: 0;`;
|
||||||
|
svgPath.attr("style", mOffset + svgPath.attr("style"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
svgPath.attr("data-edge", true);
|
||||||
|
svgPath.attr("data-et", "edge");
|
||||||
|
svgPath.attr("data-id", edge.id);
|
||||||
|
svgPath.attr("data-points", pointsStr);
|
||||||
|
if (edge.showPoints) {
|
||||||
|
lineData.forEach((point3) => {
|
||||||
|
elem.append("circle").style("stroke", "red").style("fill", "red").attr("r", 1).attr("cx", point3.x).attr("cy", point3.y);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
let url = "";
|
||||||
|
if (getConfig2().flowchart.arrowMarkerAbsolute || getConfig2().state.arrowMarkerAbsolute) {
|
||||||
|
url = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search;
|
||||||
|
url = url.replace(/\(/g, "\\(").replace(/\)/g, "\\)");
|
||||||
|
}
|
||||||
|
log.info("arrowTypeStart", edge.arrowTypeStart);
|
||||||
|
log.info("arrowTypeEnd", edge.arrowTypeEnd);
|
||||||
|
addEdgeMarkers(svgPath, edge, url, id, diagramType, strokeColor);
|
||||||
|
const midIndex = Math.floor(points.length / 2);
|
||||||
|
const point2 = points[midIndex];
|
||||||
|
if (!utils_default.isLabelCoordinateInPath(point2, svgPath.attr("d"))) {
|
||||||
|
pointsHasChanged = true;
|
||||||
|
}
|
||||||
|
let paths = {};
|
||||||
|
if (pointsHasChanged) {
|
||||||
|
paths.updatedPath = points;
|
||||||
|
}
|
||||||
|
paths.originalPath = edge.points;
|
||||||
|
return paths;
|
||||||
|
}, "insertEdge");
|
||||||
|
function generateRoundedPath(points, radius) {
|
||||||
|
if (points.length < 2) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
let path = "";
|
||||||
|
const size = points.length;
|
||||||
|
const epsilon = 1e-5;
|
||||||
|
for (let i = 0; i < size; i++) {
|
||||||
|
const currPoint = points[i];
|
||||||
|
const prevPoint = points[i - 1];
|
||||||
|
const nextPoint = points[i + 1];
|
||||||
|
if (i === 0) {
|
||||||
|
path += `M${currPoint.x},${currPoint.y}`;
|
||||||
|
} else if (i === size - 1) {
|
||||||
|
path += `L${currPoint.x},${currPoint.y}`;
|
||||||
|
} else {
|
||||||
|
const dx1 = currPoint.x - prevPoint.x;
|
||||||
|
const dy1 = currPoint.y - prevPoint.y;
|
||||||
|
const dx2 = nextPoint.x - currPoint.x;
|
||||||
|
const dy2 = nextPoint.y - currPoint.y;
|
||||||
|
const len1 = Math.hypot(dx1, dy1);
|
||||||
|
const len2 = Math.hypot(dx2, dy2);
|
||||||
|
if (len1 < epsilon || len2 < epsilon) {
|
||||||
|
path += `L${currPoint.x},${currPoint.y}`;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const nx1 = dx1 / len1;
|
||||||
|
const ny1 = dy1 / len1;
|
||||||
|
const nx2 = dx2 / len2;
|
||||||
|
const ny2 = dy2 / len2;
|
||||||
|
const dot = nx1 * nx2 + ny1 * ny2;
|
||||||
|
const clampedDot = Math.max(-1, Math.min(1, dot));
|
||||||
|
const angle = Math.acos(clampedDot);
|
||||||
|
if (angle < epsilon || Math.abs(Math.PI - angle) < epsilon) {
|
||||||
|
path += `L${currPoint.x},${currPoint.y}`;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const cutLen = Math.min(radius / Math.sin(angle / 2), len1 / 2, len2 / 2);
|
||||||
|
const startX = currPoint.x - nx1 * cutLen;
|
||||||
|
const startY = currPoint.y - ny1 * cutLen;
|
||||||
|
const endX = currPoint.x + nx2 * cutLen;
|
||||||
|
const endY = currPoint.y + ny2 * cutLen;
|
||||||
|
path += `L${startX},${startY}`;
|
||||||
|
path += `Q${currPoint.x},${currPoint.y} ${endX},${endY}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
__name(generateRoundedPath, "generateRoundedPath");
|
||||||
|
function calculateDeltaAndAngle(point1, point2) {
|
||||||
|
if (!point1 || !point2) {
|
||||||
|
return { angle: 0, deltaX: 0, deltaY: 0 };
|
||||||
|
}
|
||||||
|
const deltaX = point2.x - point1.x;
|
||||||
|
const deltaY = point2.y - point1.y;
|
||||||
|
const angle = Math.atan2(deltaY, deltaX);
|
||||||
|
return { angle, deltaX, deltaY };
|
||||||
|
}
|
||||||
|
__name(calculateDeltaAndAngle, "calculateDeltaAndAngle");
|
||||||
|
function applyMarkerOffsetsToPoints(points, edge) {
|
||||||
|
const newPoints = points.map((point2) => __spreadValues({}, point2));
|
||||||
|
if (points.length >= 2 && markerOffsets[edge.arrowTypeStart]) {
|
||||||
|
const offsetValue = markerOffsets[edge.arrowTypeStart];
|
||||||
|
const point1 = points[0];
|
||||||
|
const point2 = points[1];
|
||||||
|
const { angle } = calculateDeltaAndAngle(point1, point2);
|
||||||
|
const offsetX = offsetValue * Math.cos(angle);
|
||||||
|
const offsetY = offsetValue * Math.sin(angle);
|
||||||
|
newPoints[0].x = point1.x + offsetX;
|
||||||
|
newPoints[0].y = point1.y + offsetY;
|
||||||
|
}
|
||||||
|
const n = points.length;
|
||||||
|
if (n >= 2 && markerOffsets[edge.arrowTypeEnd]) {
|
||||||
|
const offsetValue = markerOffsets[edge.arrowTypeEnd];
|
||||||
|
const point1 = points[n - 1];
|
||||||
|
const point2 = points[n - 2];
|
||||||
|
const { angle } = calculateDeltaAndAngle(point2, point1);
|
||||||
|
const offsetX = offsetValue * Math.cos(angle);
|
||||||
|
const offsetY = offsetValue * Math.sin(angle);
|
||||||
|
newPoints[n - 1].x = point1.x - offsetX;
|
||||||
|
newPoints[n - 1].y = point1.y - offsetY;
|
||||||
|
}
|
||||||
|
return newPoints;
|
||||||
|
}
|
||||||
|
__name(applyMarkerOffsetsToPoints, "applyMarkerOffsetsToPoints");
|
||||||
|
var insertMarkers = __name((elem, markerArray, type, id) => {
|
||||||
|
markerArray.forEach((markerName) => {
|
||||||
|
markers[markerName](elem, type, id);
|
||||||
|
});
|
||||||
|
}, "insertMarkers");
|
||||||
|
var extension = __name((elem, type, id) => {
|
||||||
|
log.trace("Making markers for ", id);
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-extensionStart").attr("class", "marker extension " + type).attr("refX", 18).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 1,7 L18,13 V 1 Z");
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-extensionEnd").attr("class", "marker extension " + type).attr("refX", 1).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 1,1 V 13 L18,7 Z");
|
||||||
|
}, "extension");
|
||||||
|
var composition = __name((elem, type, id) => {
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-compositionStart").attr("class", "marker composition " + type).attr("refX", 18).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-compositionEnd").attr("class", "marker composition " + type).attr("refX", 1).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
|
||||||
|
}, "composition");
|
||||||
|
var aggregation = __name((elem, type, id) => {
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-aggregationStart").attr("class", "marker aggregation " + type).attr("refX", 18).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-aggregationEnd").attr("class", "marker aggregation " + type).attr("refX", 1).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z");
|
||||||
|
}, "aggregation");
|
||||||
|
var dependency = __name((elem, type, id) => {
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-dependencyStart").attr("class", "marker dependency " + type).attr("refX", 6).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 5,7 L9,13 L1,7 L9,1 Z");
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-dependencyEnd").attr("class", "marker dependency " + type).attr("refX", 13).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L14,7 L9,1 Z");
|
||||||
|
}, "dependency");
|
||||||
|
var lollipop = __name((elem, type, id) => {
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-lollipopStart").attr("class", "marker lollipop " + type).attr("refX", 13).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("circle").attr("stroke", "black").attr("fill", "transparent").attr("cx", 7).attr("cy", 7).attr("r", 6);
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-lollipopEnd").attr("class", "marker lollipop " + type).attr("refX", 1).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("circle").attr("stroke", "black").attr("fill", "transparent").attr("cx", 7).attr("cy", 7).attr("r", 6);
|
||||||
|
}, "lollipop");
|
||||||
|
var point = __name((elem, type, id) => {
|
||||||
|
elem.append("marker").attr("id", id + "_" + type + "-pointEnd").attr("class", "marker " + type).attr("viewBox", "0 0 10 10").attr("refX", 5).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 8).attr("markerHeight", 8).attr("orient", "auto").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0");
|
||||||
|
elem.append("marker").attr("id", id + "_" + type + "-pointStart").attr("class", "marker " + type).attr("viewBox", "0 0 10 10").attr("refX", 4.5).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 8).attr("markerHeight", 8).attr("orient", "auto").append("path").attr("d", "M 0 5 L 10 10 L 10 0 z").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0");
|
||||||
|
}, "point");
|
||||||
|
var circle = __name((elem, type, id) => {
|
||||||
|
elem.append("marker").attr("id", id + "_" + type + "-circleEnd").attr("class", "marker " + type).attr("viewBox", "0 0 10 10").attr("refX", 11).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("circle").attr("cx", "5").attr("cy", "5").attr("r", "5").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0");
|
||||||
|
elem.append("marker").attr("id", id + "_" + type + "-circleStart").attr("class", "marker " + type).attr("viewBox", "0 0 10 10").attr("refX", -1).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("circle").attr("cx", "5").attr("cy", "5").attr("r", "5").attr("class", "arrowMarkerPath").style("stroke-width", 1).style("stroke-dasharray", "1,0");
|
||||||
|
}, "circle");
|
||||||
|
var cross = __name((elem, type, id) => {
|
||||||
|
elem.append("marker").attr("id", id + "_" + type + "-crossEnd").attr("class", "marker cross " + type).attr("viewBox", "0 0 11 11").attr("refX", 12).attr("refY", 5.2).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("path").attr("d", "M 1,1 l 9,9 M 10,1 l -9,9").attr("class", "arrowMarkerPath").style("stroke-width", 2).style("stroke-dasharray", "1,0");
|
||||||
|
elem.append("marker").attr("id", id + "_" + type + "-crossStart").attr("class", "marker cross " + type).attr("viewBox", "0 0 11 11").attr("refX", -1).attr("refY", 5.2).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 11).attr("markerHeight", 11).attr("orient", "auto").append("path").attr("d", "M 1,1 l 9,9 M 10,1 l -9,9").attr("class", "arrowMarkerPath").style("stroke-width", 2).style("stroke-dasharray", "1,0");
|
||||||
|
}, "cross");
|
||||||
|
var barb = __name((elem, type, id) => {
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-barbEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 14).attr("markerUnits", "userSpaceOnUse").attr("orient", "auto").append("path").attr("d", "M 19,7 L9,13 L14,7 L9,1 Z");
|
||||||
|
}, "barb");
|
||||||
|
var only_one = __name((elem, type, id) => {
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-onlyOneStart").attr("class", "marker onlyOne " + type).attr("refX", 0).attr("refY", 9).attr("markerWidth", 18).attr("markerHeight", 18).attr("orient", "auto").append("path").attr("d", "M9,0 L9,18 M15,0 L15,18");
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-onlyOneEnd").attr("class", "marker onlyOne " + type).attr("refX", 18).attr("refY", 9).attr("markerWidth", 18).attr("markerHeight", 18).attr("orient", "auto").append("path").attr("d", "M3,0 L3,18 M9,0 L9,18");
|
||||||
|
}, "only_one");
|
||||||
|
var zero_or_one = __name((elem, type, id) => {
|
||||||
|
const startMarker = elem.append("defs").append("marker").attr("id", id + "_" + type + "-zeroOrOneStart").attr("class", "marker zeroOrOne " + type).attr("refX", 0).attr("refY", 9).attr("markerWidth", 30).attr("markerHeight", 18).attr("orient", "auto");
|
||||||
|
startMarker.append("circle").attr("fill", "white").attr("cx", 21).attr("cy", 9).attr("r", 6);
|
||||||
|
startMarker.append("path").attr("d", "M9,0 L9,18");
|
||||||
|
const endMarker = elem.append("defs").append("marker").attr("id", id + "_" + type + "-zeroOrOneEnd").attr("class", "marker zeroOrOne " + type).attr("refX", 30).attr("refY", 9).attr("markerWidth", 30).attr("markerHeight", 18).attr("orient", "auto");
|
||||||
|
endMarker.append("circle").attr("fill", "white").attr("cx", 9).attr("cy", 9).attr("r", 6);
|
||||||
|
endMarker.append("path").attr("d", "M21,0 L21,18");
|
||||||
|
}, "zero_or_one");
|
||||||
|
var one_or_more = __name((elem, type, id) => {
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-oneOrMoreStart").attr("class", "marker oneOrMore " + type).attr("refX", 18).attr("refY", 18).attr("markerWidth", 45).attr("markerHeight", 36).attr("orient", "auto").append("path").attr("d", "M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27");
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-oneOrMoreEnd").attr("class", "marker oneOrMore " + type).attr("refX", 27).attr("refY", 18).attr("markerWidth", 45).attr("markerHeight", 36).attr("orient", "auto").append("path").attr("d", "M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18");
|
||||||
|
}, "one_or_more");
|
||||||
|
var zero_or_more = __name((elem, type, id) => {
|
||||||
|
const startMarker = elem.append("defs").append("marker").attr("id", id + "_" + type + "-zeroOrMoreStart").attr("class", "marker zeroOrMore " + type).attr("refX", 18).attr("refY", 18).attr("markerWidth", 57).attr("markerHeight", 36).attr("orient", "auto");
|
||||||
|
startMarker.append("circle").attr("fill", "white").attr("cx", 48).attr("cy", 18).attr("r", 6);
|
||||||
|
startMarker.append("path").attr("d", "M0,18 Q18,0 36,18 Q18,36 0,18");
|
||||||
|
const endMarker = elem.append("defs").append("marker").attr("id", id + "_" + type + "-zeroOrMoreEnd").attr("class", "marker zeroOrMore " + type).attr("refX", 39).attr("refY", 18).attr("markerWidth", 57).attr("markerHeight", 36).attr("orient", "auto");
|
||||||
|
endMarker.append("circle").attr("fill", "white").attr("cx", 9).attr("cy", 18).attr("r", 6);
|
||||||
|
endMarker.append("path").attr("d", "M21,18 Q39,0 57,18 Q39,36 21,18");
|
||||||
|
}, "zero_or_more");
|
||||||
|
var requirement_arrow = __name((elem, type, id) => {
|
||||||
|
elem.append("defs").append("marker").attr("id", id + "_" + type + "-requirement_arrowEnd").attr("refX", 20).attr("refY", 10).attr("markerWidth", 20).attr("markerHeight", 20).attr("orient", "auto").append("path").attr(
|
||||||
|
"d",
|
||||||
|
`M0,0
|
||||||
|
L20,10
|
||||||
|
M20,10
|
||||||
|
L0,20`
|
||||||
|
);
|
||||||
|
}, "requirement_arrow");
|
||||||
|
var requirement_contains = __name((elem, type, id) => {
|
||||||
|
const containsNode = elem.append("defs").append("marker").attr("id", id + "_" + type + "-requirement_containsStart").attr("refX", 0).attr("refY", 10).attr("markerWidth", 20).attr("markerHeight", 20).attr("orient", "auto").append("g");
|
||||||
|
containsNode.append("circle").attr("cx", 10).attr("cy", 10).attr("r", 9).attr("fill", "none");
|
||||||
|
containsNode.append("line").attr("x1", 1).attr("x2", 19).attr("y1", 10).attr("y2", 10);
|
||||||
|
containsNode.append("line").attr("y1", 1).attr("y2", 19).attr("x1", 10).attr("x2", 10);
|
||||||
|
}, "requirement_contains");
|
||||||
|
var markers = {
|
||||||
|
extension,
|
||||||
|
composition,
|
||||||
|
aggregation,
|
||||||
|
dependency,
|
||||||
|
lollipop,
|
||||||
|
point,
|
||||||
|
circle,
|
||||||
|
cross,
|
||||||
|
barb,
|
||||||
|
only_one,
|
||||||
|
zero_or_one,
|
||||||
|
one_or_more,
|
||||||
|
zero_or_more,
|
||||||
|
requirement_arrow,
|
||||||
|
requirement_contains
|
||||||
|
};
|
||||||
|
var markers_default = insertMarkers;
|
||||||
|
|
||||||
|
export {
|
||||||
|
clear,
|
||||||
|
insertEdgeLabel,
|
||||||
|
positionEdgeLabel,
|
||||||
|
insertEdge,
|
||||||
|
markers_default
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-HICR2YSH.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-HICR2YSH.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-HICR2YSH.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
25
.angular/cache/20.3.2/app/vite/deps/chunk-I4QIIVJ7.js
vendored
Normal file
25
.angular/cache/20.3.2/app/vite/deps/chunk-I4QIIVJ7.js
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import {
|
||||||
|
__name
|
||||||
|
} from "./chunk-I65GBZ6F.js";
|
||||||
|
|
||||||
|
// node_modules/mermaid/dist/chunks/mermaid.core/chunk-FMBD7UC4.mjs
|
||||||
|
var getIconStyles = __name(() => `
|
||||||
|
/* Font Awesome icon styling - consolidated */
|
||||||
|
.label-icon {
|
||||||
|
display: inline-block;
|
||||||
|
height: 1em;
|
||||||
|
overflow: visible;
|
||||||
|
vertical-align: -0.125em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.node .label-icon path {
|
||||||
|
fill: currentColor;
|
||||||
|
stroke: revert;
|
||||||
|
stroke-width: revert;
|
||||||
|
}
|
||||||
|
`, "getIconStyles");
|
||||||
|
|
||||||
|
export {
|
||||||
|
getIconStyles
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-I4QIIVJ7.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-I4QIIVJ7.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-I4QIIVJ7.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-FMBD7UC4.mjs"],
|
||||||
|
"sourcesContent": ["import {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/globalStyles.ts\nvar getIconStyles = /* @__PURE__ */ __name(() => `\n /* Font Awesome icon styling - consolidated */\n .label-icon {\n display: inline-block;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n }\n \n .node .label-icon path {\n fill: currentColor;\n stroke: revert;\n stroke-width: revert;\n }\n`, \"getIconStyles\");\n\nexport {\n getIconStyles\n};\n"],
|
||||||
|
"mappings": ";;;;;AAKA,IAAI,gBAAgC,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAc9C,eAAe;",
|
||||||
|
"names": []
|
||||||
|
}
|
8855
.angular/cache/20.3.2/app/vite/deps/chunk-I65GBZ6F.js
vendored
Normal file
8855
.angular/cache/20.3.2/app/vite/deps/chunk-I65GBZ6F.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/chunk-I65GBZ6F.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-I65GBZ6F.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
6266
.angular/cache/20.3.2/app/vite/deps/chunk-JJ4TL56I.js
vendored
Normal file
6266
.angular/cache/20.3.2/app/vite/deps/chunk-JJ4TL56I.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/chunk-JJ4TL56I.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-JJ4TL56I.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2717
.angular/cache/20.3.2/app/vite/deps/chunk-JSZQKJT3.js
vendored
Normal file
2717
.angular/cache/20.3.2/app/vite/deps/chunk-JSZQKJT3.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/chunk-JSZQKJT3.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-JSZQKJT3.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
34
.angular/cache/20.3.2/app/vite/deps/chunk-LHH5RO5K.js
vendored
Normal file
34
.angular/cache/20.3.2/app/vite/deps/chunk-LHH5RO5K.js
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
import {
|
||||||
|
configureSvgSize
|
||||||
|
} from "./chunk-BFCVI5XI.js";
|
||||||
|
import {
|
||||||
|
__name,
|
||||||
|
log
|
||||||
|
} from "./chunk-I65GBZ6F.js";
|
||||||
|
|
||||||
|
// node_modules/mermaid/dist/chunks/mermaid.core/chunk-QN33PNHL.mjs
|
||||||
|
var setupViewPortForSVG = __name((svg, padding, cssDiagram, useMaxWidth) => {
|
||||||
|
svg.attr("class", cssDiagram);
|
||||||
|
const { width, height, x, y } = calculateDimensionsWithPadding(svg, padding);
|
||||||
|
configureSvgSize(svg, height, width, useMaxWidth);
|
||||||
|
const viewBox = createViewBox(x, y, width, height, padding);
|
||||||
|
svg.attr("viewBox", viewBox);
|
||||||
|
log.debug(`viewBox configured: ${viewBox} with padding: ${padding}`);
|
||||||
|
}, "setupViewPortForSVG");
|
||||||
|
var calculateDimensionsWithPadding = __name((svg, padding) => {
|
||||||
|
const bounds = svg.node()?.getBBox() || { width: 0, height: 0, x: 0, y: 0 };
|
||||||
|
return {
|
||||||
|
width: bounds.width + padding * 2,
|
||||||
|
height: bounds.height + padding * 2,
|
||||||
|
x: bounds.x,
|
||||||
|
y: bounds.y
|
||||||
|
};
|
||||||
|
}, "calculateDimensionsWithPadding");
|
||||||
|
var createViewBox = __name((x, y, width, height, padding) => {
|
||||||
|
return `${x - padding} ${y - padding} ${width} ${height}`;
|
||||||
|
}, "createViewBox");
|
||||||
|
|
||||||
|
export {
|
||||||
|
setupViewPortForSVG
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-LHH5RO5K.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-LHH5RO5K.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-LHH5RO5K.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-QN33PNHL.mjs"],
|
||||||
|
"sourcesContent": ["import {\n configureSvgSize\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/rendering-util/setupViewPortForSVG.ts\nvar setupViewPortForSVG = /* @__PURE__ */ __name((svg, padding, cssDiagram, useMaxWidth) => {\n svg.attr(\"class\", cssDiagram);\n const { width, height, x, y } = calculateDimensionsWithPadding(svg, padding);\n configureSvgSize(svg, height, width, useMaxWidth);\n const viewBox = createViewBox(x, y, width, height, padding);\n svg.attr(\"viewBox\", viewBox);\n log.debug(`viewBox configured: ${viewBox} with padding: ${padding}`);\n}, \"setupViewPortForSVG\");\nvar calculateDimensionsWithPadding = /* @__PURE__ */ __name((svg, padding) => {\n const bounds = svg.node()?.getBBox() || { width: 0, height: 0, x: 0, y: 0 };\n return {\n width: bounds.width + padding * 2,\n height: bounds.height + padding * 2,\n x: bounds.x,\n y: bounds.y\n };\n}, \"calculateDimensionsWithPadding\");\nvar createViewBox = /* @__PURE__ */ __name((x, y, width, height, padding) => {\n return `${x - padding} ${y - padding} ${width} ${height}`;\n}, \"createViewBox\");\n\nexport {\n setupViewPortForSVG\n};\n"],
|
||||||
|
"mappings": ";;;;;;;;;AASA,IAAI,sBAAsC,OAAO,CAAC,KAAK,SAAS,YAAY,gBAAgB;AAC1F,MAAI,KAAK,SAAS,UAAU;AAC5B,QAAM,EAAE,OAAO,QAAQ,GAAG,EAAE,IAAI,+BAA+B,KAAK,OAAO;AAC3E,mBAAiB,KAAK,QAAQ,OAAO,WAAW;AAChD,QAAM,UAAU,cAAc,GAAG,GAAG,OAAO,QAAQ,OAAO;AAC1D,MAAI,KAAK,WAAW,OAAO;AAC3B,MAAI,MAAM,uBAAuB,OAAO,kBAAkB,OAAO,EAAE;AACrE,GAAG,qBAAqB;AACxB,IAAI,iCAAiD,OAAO,CAAC,KAAK,YAAY;AAC5E,QAAM,SAAS,IAAI,KAAK,GAAG,QAAQ,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,GAAG,GAAG,GAAG,EAAE;AAC1E,SAAO;AAAA,IACL,OAAO,OAAO,QAAQ,UAAU;AAAA,IAChC,QAAQ,OAAO,SAAS,UAAU;AAAA,IAClC,GAAG,OAAO;AAAA,IACV,GAAG,OAAO;AAAA,EACZ;AACF,GAAG,gCAAgC;AACnC,IAAI,gBAAgC,OAAO,CAAC,GAAG,GAAG,OAAO,QAAQ,YAAY;AAC3E,SAAO,GAAG,IAAI,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,IAAI,MAAM;AACzD,GAAG,eAAe;",
|
||||||
|
"names": []
|
||||||
|
}
|
3770
.angular/cache/20.3.2/app/vite/deps/chunk-M4YA2FTX.js
vendored
Normal file
3770
.angular/cache/20.3.2/app/vite/deps/chunk-M4YA2FTX.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/chunk-M4YA2FTX.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-M4YA2FTX.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
1120
.angular/cache/20.3.2/app/vite/deps/chunk-M5X7JH4I.js
vendored
Normal file
1120
.angular/cache/20.3.2/app/vite/deps/chunk-M5X7JH4I.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/chunk-M5X7JH4I.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-M5X7JH4I.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
439
.angular/cache/20.3.2/app/vite/deps/chunk-MEGNL3BT.js
vendored
Normal file
439
.angular/cache/20.3.2/app/vite/deps/chunk-MEGNL3BT.js
vendored
Normal file
@ -0,0 +1,439 @@
|
|||||||
|
import {
|
||||||
|
filter_default,
|
||||||
|
forEach_default,
|
||||||
|
isUndefined_default,
|
||||||
|
keys_default,
|
||||||
|
reduce_default,
|
||||||
|
union_default,
|
||||||
|
values_default
|
||||||
|
} from "./chunk-6SIVX7OU.js";
|
||||||
|
import {
|
||||||
|
isEmpty_default
|
||||||
|
} from "./chunk-NGEE2U2J.js";
|
||||||
|
import {
|
||||||
|
constant_default,
|
||||||
|
isFunction_default
|
||||||
|
} from "./chunk-M5X7JH4I.js";
|
||||||
|
|
||||||
|
// node_modules/dagre-d3-es/src/graphlib/graph.js
|
||||||
|
var DEFAULT_EDGE_NAME = "\0";
|
||||||
|
var GRAPH_NODE = "\0";
|
||||||
|
var EDGE_KEY_DELIM = "";
|
||||||
|
var Graph = class {
|
||||||
|
constructor(opts = {}) {
|
||||||
|
this._isDirected = Object.prototype.hasOwnProperty.call(opts, "directed") ? opts.directed : true;
|
||||||
|
this._isMultigraph = Object.prototype.hasOwnProperty.call(opts, "multigraph") ? opts.multigraph : false;
|
||||||
|
this._isCompound = Object.prototype.hasOwnProperty.call(opts, "compound") ? opts.compound : false;
|
||||||
|
this._label = void 0;
|
||||||
|
this._defaultNodeLabelFn = constant_default(void 0);
|
||||||
|
this._defaultEdgeLabelFn = constant_default(void 0);
|
||||||
|
this._nodes = {};
|
||||||
|
if (this._isCompound) {
|
||||||
|
this._parent = {};
|
||||||
|
this._children = {};
|
||||||
|
this._children[GRAPH_NODE] = {};
|
||||||
|
}
|
||||||
|
this._in = {};
|
||||||
|
this._preds = {};
|
||||||
|
this._out = {};
|
||||||
|
this._sucs = {};
|
||||||
|
this._edgeObjs = {};
|
||||||
|
this._edgeLabels = {};
|
||||||
|
}
|
||||||
|
/* === Graph functions ========= */
|
||||||
|
isDirected() {
|
||||||
|
return this._isDirected;
|
||||||
|
}
|
||||||
|
isMultigraph() {
|
||||||
|
return this._isMultigraph;
|
||||||
|
}
|
||||||
|
isCompound() {
|
||||||
|
return this._isCompound;
|
||||||
|
}
|
||||||
|
setGraph(label) {
|
||||||
|
this._label = label;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
graph() {
|
||||||
|
return this._label;
|
||||||
|
}
|
||||||
|
/* === Node functions ========== */
|
||||||
|
setDefaultNodeLabel(newDefault) {
|
||||||
|
if (!isFunction_default(newDefault)) {
|
||||||
|
newDefault = constant_default(newDefault);
|
||||||
|
}
|
||||||
|
this._defaultNodeLabelFn = newDefault;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
nodeCount() {
|
||||||
|
return this._nodeCount;
|
||||||
|
}
|
||||||
|
nodes() {
|
||||||
|
return keys_default(this._nodes);
|
||||||
|
}
|
||||||
|
sources() {
|
||||||
|
var self = this;
|
||||||
|
return filter_default(this.nodes(), function(v) {
|
||||||
|
return isEmpty_default(self._in[v]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
sinks() {
|
||||||
|
var self = this;
|
||||||
|
return filter_default(this.nodes(), function(v) {
|
||||||
|
return isEmpty_default(self._out[v]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
setNodes(vs, value) {
|
||||||
|
var args = arguments;
|
||||||
|
var self = this;
|
||||||
|
forEach_default(vs, function(v) {
|
||||||
|
if (args.length > 1) {
|
||||||
|
self.setNode(v, value);
|
||||||
|
} else {
|
||||||
|
self.setNode(v);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
setNode(v, value) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(this._nodes, v)) {
|
||||||
|
if (arguments.length > 1) {
|
||||||
|
this._nodes[v] = value;
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
this._nodes[v] = arguments.length > 1 ? value : this._defaultNodeLabelFn(v);
|
||||||
|
if (this._isCompound) {
|
||||||
|
this._parent[v] = GRAPH_NODE;
|
||||||
|
this._children[v] = {};
|
||||||
|
this._children[GRAPH_NODE][v] = true;
|
||||||
|
}
|
||||||
|
this._in[v] = {};
|
||||||
|
this._preds[v] = {};
|
||||||
|
this._out[v] = {};
|
||||||
|
this._sucs[v] = {};
|
||||||
|
++this._nodeCount;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
node(v) {
|
||||||
|
return this._nodes[v];
|
||||||
|
}
|
||||||
|
hasNode(v) {
|
||||||
|
return Object.prototype.hasOwnProperty.call(this._nodes, v);
|
||||||
|
}
|
||||||
|
removeNode(v) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(this._nodes, v)) {
|
||||||
|
var removeEdge = (e) => this.removeEdge(this._edgeObjs[e]);
|
||||||
|
delete this._nodes[v];
|
||||||
|
if (this._isCompound) {
|
||||||
|
this._removeFromParentsChildList(v);
|
||||||
|
delete this._parent[v];
|
||||||
|
forEach_default(this.children(v), (child) => {
|
||||||
|
this.setParent(child);
|
||||||
|
});
|
||||||
|
delete this._children[v];
|
||||||
|
}
|
||||||
|
forEach_default(keys_default(this._in[v]), removeEdge);
|
||||||
|
delete this._in[v];
|
||||||
|
delete this._preds[v];
|
||||||
|
forEach_default(keys_default(this._out[v]), removeEdge);
|
||||||
|
delete this._out[v];
|
||||||
|
delete this._sucs[v];
|
||||||
|
--this._nodeCount;
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
setParent(v, parent) {
|
||||||
|
if (!this._isCompound) {
|
||||||
|
throw new Error("Cannot set parent in a non-compound graph");
|
||||||
|
}
|
||||||
|
if (isUndefined_default(parent)) {
|
||||||
|
parent = GRAPH_NODE;
|
||||||
|
} else {
|
||||||
|
parent += "";
|
||||||
|
for (var ancestor = parent; !isUndefined_default(ancestor); ancestor = this.parent(ancestor)) {
|
||||||
|
if (ancestor === v) {
|
||||||
|
throw new Error("Setting " + parent + " as parent of " + v + " would create a cycle");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.setNode(parent);
|
||||||
|
}
|
||||||
|
this.setNode(v);
|
||||||
|
this._removeFromParentsChildList(v);
|
||||||
|
this._parent[v] = parent;
|
||||||
|
this._children[parent][v] = true;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
_removeFromParentsChildList(v) {
|
||||||
|
delete this._children[this._parent[v]][v];
|
||||||
|
}
|
||||||
|
parent(v) {
|
||||||
|
if (this._isCompound) {
|
||||||
|
var parent = this._parent[v];
|
||||||
|
if (parent !== GRAPH_NODE) {
|
||||||
|
return parent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
children(v) {
|
||||||
|
if (isUndefined_default(v)) {
|
||||||
|
v = GRAPH_NODE;
|
||||||
|
}
|
||||||
|
if (this._isCompound) {
|
||||||
|
var children = this._children[v];
|
||||||
|
if (children) {
|
||||||
|
return keys_default(children);
|
||||||
|
}
|
||||||
|
} else if (v === GRAPH_NODE) {
|
||||||
|
return this.nodes();
|
||||||
|
} else if (this.hasNode(v)) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
predecessors(v) {
|
||||||
|
var predsV = this._preds[v];
|
||||||
|
if (predsV) {
|
||||||
|
return keys_default(predsV);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
successors(v) {
|
||||||
|
var sucsV = this._sucs[v];
|
||||||
|
if (sucsV) {
|
||||||
|
return keys_default(sucsV);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
neighbors(v) {
|
||||||
|
var preds = this.predecessors(v);
|
||||||
|
if (preds) {
|
||||||
|
return union_default(preds, this.successors(v));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
isLeaf(v) {
|
||||||
|
var neighbors;
|
||||||
|
if (this.isDirected()) {
|
||||||
|
neighbors = this.successors(v);
|
||||||
|
} else {
|
||||||
|
neighbors = this.neighbors(v);
|
||||||
|
}
|
||||||
|
return neighbors.length === 0;
|
||||||
|
}
|
||||||
|
filterNodes(filter) {
|
||||||
|
var copy = new this.constructor({
|
||||||
|
directed: this._isDirected,
|
||||||
|
multigraph: this._isMultigraph,
|
||||||
|
compound: this._isCompound
|
||||||
|
});
|
||||||
|
copy.setGraph(this.graph());
|
||||||
|
var self = this;
|
||||||
|
forEach_default(this._nodes, function(value, v) {
|
||||||
|
if (filter(v)) {
|
||||||
|
copy.setNode(v, value);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
forEach_default(this._edgeObjs, function(e) {
|
||||||
|
if (copy.hasNode(e.v) && copy.hasNode(e.w)) {
|
||||||
|
copy.setEdge(e, self.edge(e));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var parents = {};
|
||||||
|
function findParent(v) {
|
||||||
|
var parent = self.parent(v);
|
||||||
|
if (parent === void 0 || copy.hasNode(parent)) {
|
||||||
|
parents[v] = parent;
|
||||||
|
return parent;
|
||||||
|
} else if (parent in parents) {
|
||||||
|
return parents[parent];
|
||||||
|
} else {
|
||||||
|
return findParent(parent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this._isCompound) {
|
||||||
|
forEach_default(copy.nodes(), function(v) {
|
||||||
|
copy.setParent(v, findParent(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return copy;
|
||||||
|
}
|
||||||
|
/* === Edge functions ========== */
|
||||||
|
setDefaultEdgeLabel(newDefault) {
|
||||||
|
if (!isFunction_default(newDefault)) {
|
||||||
|
newDefault = constant_default(newDefault);
|
||||||
|
}
|
||||||
|
this._defaultEdgeLabelFn = newDefault;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
edgeCount() {
|
||||||
|
return this._edgeCount;
|
||||||
|
}
|
||||||
|
edges() {
|
||||||
|
return values_default(this._edgeObjs);
|
||||||
|
}
|
||||||
|
setPath(vs, value) {
|
||||||
|
var self = this;
|
||||||
|
var args = arguments;
|
||||||
|
reduce_default(vs, function(v, w) {
|
||||||
|
if (args.length > 1) {
|
||||||
|
self.setEdge(v, w, value);
|
||||||
|
} else {
|
||||||
|
self.setEdge(v, w);
|
||||||
|
}
|
||||||
|
return w;
|
||||||
|
});
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* setEdge(v, w, [value, [name]])
|
||||||
|
* setEdge({ v, w, [name] }, [value])
|
||||||
|
*/
|
||||||
|
setEdge() {
|
||||||
|
var v, w, name, value;
|
||||||
|
var valueSpecified = false;
|
||||||
|
var arg0 = arguments[0];
|
||||||
|
if (typeof arg0 === "object" && arg0 !== null && "v" in arg0) {
|
||||||
|
v = arg0.v;
|
||||||
|
w = arg0.w;
|
||||||
|
name = arg0.name;
|
||||||
|
if (arguments.length === 2) {
|
||||||
|
value = arguments[1];
|
||||||
|
valueSpecified = true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
v = arg0;
|
||||||
|
w = arguments[1];
|
||||||
|
name = arguments[3];
|
||||||
|
if (arguments.length > 2) {
|
||||||
|
value = arguments[2];
|
||||||
|
valueSpecified = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
v = "" + v;
|
||||||
|
w = "" + w;
|
||||||
|
if (!isUndefined_default(name)) {
|
||||||
|
name = "" + name;
|
||||||
|
}
|
||||||
|
var e = edgeArgsToId(this._isDirected, v, w, name);
|
||||||
|
if (Object.prototype.hasOwnProperty.call(this._edgeLabels, e)) {
|
||||||
|
if (valueSpecified) {
|
||||||
|
this._edgeLabels[e] = value;
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
if (!isUndefined_default(name) && !this._isMultigraph) {
|
||||||
|
throw new Error("Cannot set a named edge when isMultigraph = false");
|
||||||
|
}
|
||||||
|
this.setNode(v);
|
||||||
|
this.setNode(w);
|
||||||
|
this._edgeLabels[e] = valueSpecified ? value : this._defaultEdgeLabelFn(v, w, name);
|
||||||
|
var edgeObj = edgeArgsToObj(this._isDirected, v, w, name);
|
||||||
|
v = edgeObj.v;
|
||||||
|
w = edgeObj.w;
|
||||||
|
Object.freeze(edgeObj);
|
||||||
|
this._edgeObjs[e] = edgeObj;
|
||||||
|
incrementOrInitEntry(this._preds[w], v);
|
||||||
|
incrementOrInitEntry(this._sucs[v], w);
|
||||||
|
this._in[w][e] = edgeObj;
|
||||||
|
this._out[v][e] = edgeObj;
|
||||||
|
this._edgeCount++;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
edge(v, w, name) {
|
||||||
|
var e = arguments.length === 1 ? edgeObjToId(this._isDirected, arguments[0]) : edgeArgsToId(this._isDirected, v, w, name);
|
||||||
|
return this._edgeLabels[e];
|
||||||
|
}
|
||||||
|
hasEdge(v, w, name) {
|
||||||
|
var e = arguments.length === 1 ? edgeObjToId(this._isDirected, arguments[0]) : edgeArgsToId(this._isDirected, v, w, name);
|
||||||
|
return Object.prototype.hasOwnProperty.call(this._edgeLabels, e);
|
||||||
|
}
|
||||||
|
removeEdge(v, w, name) {
|
||||||
|
var e = arguments.length === 1 ? edgeObjToId(this._isDirected, arguments[0]) : edgeArgsToId(this._isDirected, v, w, name);
|
||||||
|
var edge = this._edgeObjs[e];
|
||||||
|
if (edge) {
|
||||||
|
v = edge.v;
|
||||||
|
w = edge.w;
|
||||||
|
delete this._edgeLabels[e];
|
||||||
|
delete this._edgeObjs[e];
|
||||||
|
decrementOrRemoveEntry(this._preds[w], v);
|
||||||
|
decrementOrRemoveEntry(this._sucs[v], w);
|
||||||
|
delete this._in[w][e];
|
||||||
|
delete this._out[v][e];
|
||||||
|
this._edgeCount--;
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
inEdges(v, u) {
|
||||||
|
var inV = this._in[v];
|
||||||
|
if (inV) {
|
||||||
|
var edges = values_default(inV);
|
||||||
|
if (!u) {
|
||||||
|
return edges;
|
||||||
|
}
|
||||||
|
return filter_default(edges, function(edge) {
|
||||||
|
return edge.v === u;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
outEdges(v, w) {
|
||||||
|
var outV = this._out[v];
|
||||||
|
if (outV) {
|
||||||
|
var edges = values_default(outV);
|
||||||
|
if (!w) {
|
||||||
|
return edges;
|
||||||
|
}
|
||||||
|
return filter_default(edges, function(edge) {
|
||||||
|
return edge.w === w;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nodeEdges(v, w) {
|
||||||
|
var inEdges = this.inEdges(v, w);
|
||||||
|
if (inEdges) {
|
||||||
|
return inEdges.concat(this.outEdges(v, w));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Graph.prototype._nodeCount = 0;
|
||||||
|
Graph.prototype._edgeCount = 0;
|
||||||
|
function incrementOrInitEntry(map, k) {
|
||||||
|
if (map[k]) {
|
||||||
|
map[k]++;
|
||||||
|
} else {
|
||||||
|
map[k] = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function decrementOrRemoveEntry(map, k) {
|
||||||
|
if (!--map[k]) {
|
||||||
|
delete map[k];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function edgeArgsToId(isDirected, v_, w_, name) {
|
||||||
|
var v = "" + v_;
|
||||||
|
var w = "" + w_;
|
||||||
|
if (!isDirected && v > w) {
|
||||||
|
var tmp = v;
|
||||||
|
v = w;
|
||||||
|
w = tmp;
|
||||||
|
}
|
||||||
|
return v + EDGE_KEY_DELIM + w + EDGE_KEY_DELIM + (isUndefined_default(name) ? DEFAULT_EDGE_NAME : name);
|
||||||
|
}
|
||||||
|
function edgeArgsToObj(isDirected, v_, w_, name) {
|
||||||
|
var v = "" + v_;
|
||||||
|
var w = "" + w_;
|
||||||
|
if (!isDirected && v > w) {
|
||||||
|
var tmp = v;
|
||||||
|
v = w;
|
||||||
|
w = tmp;
|
||||||
|
}
|
||||||
|
var edgeObj = { v, w };
|
||||||
|
if (name) {
|
||||||
|
edgeObj.name = name;
|
||||||
|
}
|
||||||
|
return edgeObj;
|
||||||
|
}
|
||||||
|
function edgeObjToId(isDirected, edgeObj) {
|
||||||
|
return edgeArgsToId(isDirected, edgeObj.v, edgeObj.w, edgeObj.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
export {
|
||||||
|
Graph
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-MEGNL3BT.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-MEGNL3BT.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-MEGNL3BT.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
123
.angular/cache/20.3.2/app/vite/deps/chunk-NGEE2U2J.js
vendored
Normal file
123
.angular/cache/20.3.2/app/vite/deps/chunk-NGEE2U2J.js
vendored
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
import {
|
||||||
|
Map_default,
|
||||||
|
baseGetTag_default,
|
||||||
|
getNative_default,
|
||||||
|
isArguments_default,
|
||||||
|
isArrayLike_default,
|
||||||
|
isArray_default,
|
||||||
|
isBuffer_default,
|
||||||
|
isPrototype_default,
|
||||||
|
isTypedArray_default,
|
||||||
|
overArg_default,
|
||||||
|
root_default,
|
||||||
|
toSource_default
|
||||||
|
} from "./chunk-M5X7JH4I.js";
|
||||||
|
|
||||||
|
// node_modules/lodash-es/_nativeKeys.js
|
||||||
|
var nativeKeys = overArg_default(Object.keys, Object);
|
||||||
|
var nativeKeys_default = nativeKeys;
|
||||||
|
|
||||||
|
// node_modules/lodash-es/_baseKeys.js
|
||||||
|
var objectProto = Object.prototype;
|
||||||
|
var hasOwnProperty = objectProto.hasOwnProperty;
|
||||||
|
function baseKeys(object) {
|
||||||
|
if (!isPrototype_default(object)) {
|
||||||
|
return nativeKeys_default(object);
|
||||||
|
}
|
||||||
|
var result = [];
|
||||||
|
for (var key in Object(object)) {
|
||||||
|
if (hasOwnProperty.call(object, key) && key != "constructor") {
|
||||||
|
result.push(key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
var baseKeys_default = baseKeys;
|
||||||
|
|
||||||
|
// node_modules/lodash-es/_DataView.js
|
||||||
|
var DataView = getNative_default(root_default, "DataView");
|
||||||
|
var DataView_default = DataView;
|
||||||
|
|
||||||
|
// node_modules/lodash-es/_Promise.js
|
||||||
|
var Promise2 = getNative_default(root_default, "Promise");
|
||||||
|
var Promise_default = Promise2;
|
||||||
|
|
||||||
|
// node_modules/lodash-es/_Set.js
|
||||||
|
var Set = getNative_default(root_default, "Set");
|
||||||
|
var Set_default = Set;
|
||||||
|
|
||||||
|
// node_modules/lodash-es/_WeakMap.js
|
||||||
|
var WeakMap = getNative_default(root_default, "WeakMap");
|
||||||
|
var WeakMap_default = WeakMap;
|
||||||
|
|
||||||
|
// node_modules/lodash-es/_getTag.js
|
||||||
|
var mapTag = "[object Map]";
|
||||||
|
var objectTag = "[object Object]";
|
||||||
|
var promiseTag = "[object Promise]";
|
||||||
|
var setTag = "[object Set]";
|
||||||
|
var weakMapTag = "[object WeakMap]";
|
||||||
|
var dataViewTag = "[object DataView]";
|
||||||
|
var dataViewCtorString = toSource_default(DataView_default);
|
||||||
|
var mapCtorString = toSource_default(Map_default);
|
||||||
|
var promiseCtorString = toSource_default(Promise_default);
|
||||||
|
var setCtorString = toSource_default(Set_default);
|
||||||
|
var weakMapCtorString = toSource_default(WeakMap_default);
|
||||||
|
var getTag = baseGetTag_default;
|
||||||
|
if (DataView_default && getTag(new DataView_default(new ArrayBuffer(1))) != dataViewTag || Map_default && getTag(new Map_default()) != mapTag || Promise_default && getTag(Promise_default.resolve()) != promiseTag || Set_default && getTag(new Set_default()) != setTag || WeakMap_default && getTag(new WeakMap_default()) != weakMapTag) {
|
||||||
|
getTag = function(value) {
|
||||||
|
var result = baseGetTag_default(value), Ctor = result == objectTag ? value.constructor : void 0, ctorString = Ctor ? toSource_default(Ctor) : "";
|
||||||
|
if (ctorString) {
|
||||||
|
switch (ctorString) {
|
||||||
|
case dataViewCtorString:
|
||||||
|
return dataViewTag;
|
||||||
|
case mapCtorString:
|
||||||
|
return mapTag;
|
||||||
|
case promiseCtorString:
|
||||||
|
return promiseTag;
|
||||||
|
case setCtorString:
|
||||||
|
return setTag;
|
||||||
|
case weakMapCtorString:
|
||||||
|
return weakMapTag;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
var getTag_default = getTag;
|
||||||
|
|
||||||
|
// node_modules/lodash-es/isEmpty.js
|
||||||
|
var mapTag2 = "[object Map]";
|
||||||
|
var setTag2 = "[object Set]";
|
||||||
|
var objectProto2 = Object.prototype;
|
||||||
|
var hasOwnProperty2 = objectProto2.hasOwnProperty;
|
||||||
|
function isEmpty(value) {
|
||||||
|
if (value == null) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (isArrayLike_default(value) && (isArray_default(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer_default(value) || isTypedArray_default(value) || isArguments_default(value))) {
|
||||||
|
return !value.length;
|
||||||
|
}
|
||||||
|
var tag = getTag_default(value);
|
||||||
|
if (tag == mapTag2 || tag == setTag2) {
|
||||||
|
return !value.size;
|
||||||
|
}
|
||||||
|
if (isPrototype_default(value)) {
|
||||||
|
return !baseKeys_default(value).length;
|
||||||
|
}
|
||||||
|
for (var key in value) {
|
||||||
|
if (hasOwnProperty2.call(value, key)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
var isEmpty_default = isEmpty;
|
||||||
|
|
||||||
|
export {
|
||||||
|
WeakMap_default,
|
||||||
|
baseKeys_default,
|
||||||
|
Set_default,
|
||||||
|
getTag_default,
|
||||||
|
isEmpty_default
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-NGEE2U2J.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-NGEE2U2J.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-NGEE2U2J.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
3101
.angular/cache/20.3.2/app/vite/deps/chunk-NMWDZEZO.js
vendored
Normal file
3101
.angular/cache/20.3.2/app/vite/deps/chunk-NMWDZEZO.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/chunk-NMWDZEZO.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-NMWDZEZO.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
5193
.angular/cache/20.3.2/app/vite/deps/chunk-NNL7YDF7.js
vendored
Normal file
5193
.angular/cache/20.3.2/app/vite/deps/chunk-NNL7YDF7.js
vendored
Normal file
File diff suppressed because one or more lines are too long
7
.angular/cache/20.3.2/app/vite/deps/chunk-NNL7YDF7.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-NNL7YDF7.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
59
.angular/cache/20.3.2/app/vite/deps/chunk-NYZY7JGI.js
vendored
Normal file
59
.angular/cache/20.3.2/app/vite/deps/chunk-NYZY7JGI.js
vendored
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
import {
|
||||||
|
AbstractMermaidTokenBuilder,
|
||||||
|
AbstractMermaidValueConverter,
|
||||||
|
ArchitectureGeneratedModule,
|
||||||
|
EmptyFileSystem,
|
||||||
|
MermaidGeneratedSharedModule,
|
||||||
|
__name,
|
||||||
|
createDefaultCoreModule,
|
||||||
|
createDefaultSharedCoreModule,
|
||||||
|
inject,
|
||||||
|
lib_exports
|
||||||
|
} from "./chunk-WHHJWK6B.js";
|
||||||
|
|
||||||
|
// node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-JEIROHC2.mjs
|
||||||
|
var _a;
|
||||||
|
var ArchitectureTokenBuilder = (_a = class extends AbstractMermaidTokenBuilder {
|
||||||
|
constructor() {
|
||||||
|
super(["architecture"]);
|
||||||
|
}
|
||||||
|
}, __name(_a, "ArchitectureTokenBuilder"), _a);
|
||||||
|
var _a2;
|
||||||
|
var ArchitectureValueConverter = (_a2 = class extends AbstractMermaidValueConverter {
|
||||||
|
runCustomConverter(rule, input, _cstNode) {
|
||||||
|
if (rule.name === "ARCH_ICON") {
|
||||||
|
return input.replace(/[()]/g, "").trim();
|
||||||
|
} else if (rule.name === "ARCH_TEXT_ICON") {
|
||||||
|
return input.replace(/["()]/g, "");
|
||||||
|
} else if (rule.name === "ARCH_TITLE") {
|
||||||
|
return input.replace(/[[\]]/g, "").trim();
|
||||||
|
}
|
||||||
|
return void 0;
|
||||||
|
}
|
||||||
|
}, __name(_a2, "ArchitectureValueConverter"), _a2);
|
||||||
|
var ArchitectureModule = {
|
||||||
|
parser: {
|
||||||
|
TokenBuilder: __name(() => new ArchitectureTokenBuilder(), "TokenBuilder"),
|
||||||
|
ValueConverter: __name(() => new ArchitectureValueConverter(), "ValueConverter")
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function createArchitectureServices(context = EmptyFileSystem) {
|
||||||
|
const shared = inject(
|
||||||
|
createDefaultSharedCoreModule(context),
|
||||||
|
MermaidGeneratedSharedModule
|
||||||
|
);
|
||||||
|
const Architecture = inject(
|
||||||
|
createDefaultCoreModule({ shared }),
|
||||||
|
ArchitectureGeneratedModule,
|
||||||
|
ArchitectureModule
|
||||||
|
);
|
||||||
|
shared.ServiceRegistry.register(Architecture);
|
||||||
|
return { shared, Architecture };
|
||||||
|
}
|
||||||
|
__name(createArchitectureServices, "createArchitectureServices");
|
||||||
|
|
||||||
|
export {
|
||||||
|
ArchitectureModule,
|
||||||
|
createArchitectureServices
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-NYZY7JGI.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-NYZY7JGI.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-NYZY7JGI.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-JEIROHC2.mjs"],
|
||||||
|
"sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n AbstractMermaidValueConverter,\n ArchitectureGeneratedModule,\n MermaidGeneratedSharedModule,\n __name\n} from \"./chunk-4KMFLZZN.mjs\";\n\n// src/language/architecture/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/architecture/tokenBuilder.ts\nvar ArchitectureTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"ArchitectureTokenBuilder\");\n }\n constructor() {\n super([\"architecture\"]);\n }\n};\n\n// src/language/architecture/valueConverter.ts\nvar ArchitectureValueConverter = class extends AbstractMermaidValueConverter {\n static {\n __name(this, \"ArchitectureValueConverter\");\n }\n runCustomConverter(rule, input, _cstNode) {\n if (rule.name === \"ARCH_ICON\") {\n return input.replace(/[()]/g, \"\").trim();\n } else if (rule.name === \"ARCH_TEXT_ICON\") {\n return input.replace(/[\"()]/g, \"\");\n } else if (rule.name === \"ARCH_TITLE\") {\n return input.replace(/[[\\]]/g, \"\").trim();\n }\n return void 0;\n }\n};\n\n// src/language/architecture/module.ts\nvar ArchitectureModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new ArchitectureTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new ArchitectureValueConverter(), \"ValueConverter\")\n }\n};\nfunction createArchitectureServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Architecture = inject(\n createDefaultCoreModule({ shared }),\n ArchitectureGeneratedModule,\n ArchitectureModule\n );\n shared.ServiceRegistry.register(Architecture);\n return { shared, Architecture };\n}\n__name(createArchitectureServices, \"createArchitectureServices\");\n\nexport {\n ArchitectureModule,\n createArchitectureServices\n};\n"],
|
||||||
|
"mappings": ";;;;;;;;;;;;;;AAAA;AAiBA,IAAI,4BAA2B,mBAAc,4BAA4B;AAAA,EAIvE,cAAc;AACZ,UAAM,CAAC,cAAc,CAAC;AAAA,EACxB;AACF,GALI,OAAO,IAAM,0BAA0B,GAFZ;AAjB/B,IAAAA;AA2BA,IAAI,8BAA6BA,MAAA,cAAc,8BAA8B;AAAA,EAI3E,mBAAmB,MAAM,OAAO,UAAU;AACxC,QAAI,KAAK,SAAS,aAAa;AAC7B,aAAO,MAAM,QAAQ,SAAS,EAAE,EAAE,KAAK;AAAA,IACzC,WAAW,KAAK,SAAS,kBAAkB;AACzC,aAAO,MAAM,QAAQ,UAAU,EAAE;AAAA,IACnC,WAAW,KAAK,SAAS,cAAc;AACrC,aAAO,MAAM,QAAQ,UAAU,EAAE,EAAE,KAAK;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AACF,GAZI,OAAOA,KAAM,4BAA4B,GAFZA;AAiBjC,IAAI,qBAAqB;AAAA,EACvB,QAAQ;AAAA,IACN,cAA8B,OAAO,MAAM,IAAI,yBAAyB,GAAG,cAAc;AAAA,IACzF,gBAAgC,OAAO,MAAM,IAAI,2BAA2B,GAAG,gBAAgB;AAAA,EACjG;AACF;AACA,SAAS,2BAA2B,UAAU,iBAAiB;AAC7D,QAAM,SAAS;AAAA,IACb,8BAA8B,OAAO;AAAA,IACrC;AAAA,EACF;AACA,QAAM,eAAe;AAAA,IACnB,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS,YAAY;AAC5C,SAAO,EAAE,QAAQ,aAAa;AAChC;AACA,OAAO,4BAA4B,4BAA4B;",
|
||||||
|
"names": ["_a"]
|
||||||
|
}
|
20
.angular/cache/20.3.2/app/vite/deps/chunk-PLWNSIKB.js
vendored
Normal file
20
.angular/cache/20.3.2/app/vite/deps/chunk-PLWNSIKB.js
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import {
|
||||||
|
__name,
|
||||||
|
select_default
|
||||||
|
} from "./chunk-I65GBZ6F.js";
|
||||||
|
|
||||||
|
// node_modules/mermaid/dist/chunks/mermaid.core/chunk-55IACEB6.mjs
|
||||||
|
var getDiagramElement = __name((id, securityLevel) => {
|
||||||
|
let sandboxElement;
|
||||||
|
if (securityLevel === "sandbox") {
|
||||||
|
sandboxElement = select_default("#i" + id);
|
||||||
|
}
|
||||||
|
const root = securityLevel === "sandbox" ? select_default(sandboxElement.nodes()[0].contentDocument.body) : select_default("body");
|
||||||
|
const svg = root.select(`[id="${id}"]`);
|
||||||
|
return svg;
|
||||||
|
}, "getDiagramElement");
|
||||||
|
|
||||||
|
export {
|
||||||
|
getDiagramElement
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-PLWNSIKB.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-PLWNSIKB.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-PLWNSIKB.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-55IACEB6.mjs"],
|
||||||
|
"sourcesContent": ["import {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/rendering-util/insertElementsForSize.js\nimport { select } from \"d3\";\nvar getDiagramElement = /* @__PURE__ */ __name((id, securityLevel) => {\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const svg = root.select(`[id=\"${id}\"]`);\n return svg;\n}, \"getDiagramElement\");\n\nexport {\n getDiagramElement\n};\n"],
|
||||||
|
"mappings": ";;;;;;AAMA,IAAI,oBAAoC,OAAO,CAAC,IAAI,kBAAkB;AACpE,MAAI;AACJ,MAAI,kBAAkB,WAAW;AAC/B,qBAAiB,eAAO,OAAO,EAAE;AAAA,EACnC;AACA,QAAM,OAAO,kBAAkB,YAAY,eAAO,eAAe,MAAM,EAAE,CAAC,EAAE,gBAAgB,IAAI,IAAI,eAAO,MAAM;AACjH,QAAM,MAAM,KAAK,OAAO,QAAQ,EAAE,IAAI;AACtC,SAAO;AACT,GAAG,mBAAmB;",
|
||||||
|
"names": []
|
||||||
|
}
|
22
.angular/cache/20.3.2/app/vite/deps/chunk-PNW5KFH4.js
vendored
Normal file
22
.angular/cache/20.3.2/app/vite/deps/chunk-PNW5KFH4.js
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import {
|
||||||
|
__name
|
||||||
|
} from "./chunk-I65GBZ6F.js";
|
||||||
|
|
||||||
|
// node_modules/mermaid/dist/chunks/mermaid.core/chunk-4BX2VUAB.mjs
|
||||||
|
function populateCommonDb(ast, db) {
|
||||||
|
if (ast.accDescr) {
|
||||||
|
db.setAccDescription?.(ast.accDescr);
|
||||||
|
}
|
||||||
|
if (ast.accTitle) {
|
||||||
|
db.setAccTitle?.(ast.accTitle);
|
||||||
|
}
|
||||||
|
if (ast.title) {
|
||||||
|
db.setDiagramTitle?.(ast.title);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
__name(populateCommonDb, "populateCommonDb");
|
||||||
|
|
||||||
|
export {
|
||||||
|
populateCommonDb
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-PNW5KFH4.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-PNW5KFH4.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-PNW5KFH4.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/mermaid/dist/chunks/mermaid.core/chunk-4BX2VUAB.mjs"],
|
||||||
|
"sourcesContent": ["import {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/common/populateCommonDb.ts\nfunction populateCommonDb(ast, db) {\n if (ast.accDescr) {\n db.setAccDescription?.(ast.accDescr);\n }\n if (ast.accTitle) {\n db.setAccTitle?.(ast.accTitle);\n }\n if (ast.title) {\n db.setDiagramTitle?.(ast.title);\n }\n}\n__name(populateCommonDb, \"populateCommonDb\");\n\nexport {\n populateCommonDb\n};\n"],
|
||||||
|
"mappings": ";;;;;AAKA,SAAS,iBAAiB,KAAK,IAAI;AACjC,MAAI,IAAI,UAAU;AAChB,OAAG,oBAAoB,IAAI,QAAQ;AAAA,EACrC;AACA,MAAI,IAAI,UAAU;AAChB,OAAG,cAAc,IAAI,QAAQ;AAAA,EAC/B;AACA,MAAI,IAAI,OAAO;AACb,OAAG,kBAAkB,IAAI,KAAK;AAAA,EAChC;AACF;AACA,OAAO,kBAAkB,kBAAkB;",
|
||||||
|
"names": []
|
||||||
|
}
|
2781
.angular/cache/20.3.2/app/vite/deps/chunk-QEGKXTBA.js
vendored
Normal file
2781
.angular/cache/20.3.2/app/vite/deps/chunk-QEGKXTBA.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/chunk-QEGKXTBA.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-QEGKXTBA.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
590
.angular/cache/20.3.2/app/vite/deps/chunk-QVVRGVV3.js
vendored
Normal file
590
.angular/cache/20.3.2/app/vite/deps/chunk-QVVRGVV3.js
vendored
Normal file
@ -0,0 +1,590 @@
|
|||||||
|
import {
|
||||||
|
require_dist
|
||||||
|
} from "./chunk-CMK64ICG.js";
|
||||||
|
import {
|
||||||
|
assignWithDepth_default,
|
||||||
|
common_default,
|
||||||
|
detectType,
|
||||||
|
directiveRegex,
|
||||||
|
sanitizeDirective
|
||||||
|
} from "./chunk-BFCVI5XI.js";
|
||||||
|
import {
|
||||||
|
memoize_default,
|
||||||
|
merge_default
|
||||||
|
} from "./chunk-M5X7JH4I.js";
|
||||||
|
import {
|
||||||
|
__name,
|
||||||
|
basisClosed_default,
|
||||||
|
basisOpen_default,
|
||||||
|
basis_default,
|
||||||
|
bumpX,
|
||||||
|
bumpY,
|
||||||
|
bundle_default,
|
||||||
|
cardinalClosed_default,
|
||||||
|
cardinalOpen_default,
|
||||||
|
cardinal_default,
|
||||||
|
catmullRomClosed_default,
|
||||||
|
catmullRomOpen_default,
|
||||||
|
catmullRom_default,
|
||||||
|
linearClosed_default,
|
||||||
|
linear_default,
|
||||||
|
log,
|
||||||
|
monotoneX,
|
||||||
|
monotoneY,
|
||||||
|
natural_default,
|
||||||
|
select_default,
|
||||||
|
stepAfter,
|
||||||
|
stepBefore,
|
||||||
|
step_default
|
||||||
|
} from "./chunk-I65GBZ6F.js";
|
||||||
|
import {
|
||||||
|
__toESM
|
||||||
|
} from "./chunk-TKSB4YUA.js";
|
||||||
|
|
||||||
|
// node_modules/mermaid/dist/chunks/mermaid.core/chunk-S3R3BYOJ.mjs
|
||||||
|
var import_sanitize_url = __toESM(require_dist(), 1);
|
||||||
|
var ZERO_WIDTH_SPACE = "";
|
||||||
|
var d3CurveTypes = {
|
||||||
|
curveBasis: basis_default,
|
||||||
|
curveBasisClosed: basisClosed_default,
|
||||||
|
curveBasisOpen: basisOpen_default,
|
||||||
|
curveBumpX: bumpX,
|
||||||
|
curveBumpY: bumpY,
|
||||||
|
curveBundle: bundle_default,
|
||||||
|
curveCardinalClosed: cardinalClosed_default,
|
||||||
|
curveCardinalOpen: cardinalOpen_default,
|
||||||
|
curveCardinal: cardinal_default,
|
||||||
|
curveCatmullRomClosed: catmullRomClosed_default,
|
||||||
|
curveCatmullRomOpen: catmullRomOpen_default,
|
||||||
|
curveCatmullRom: catmullRom_default,
|
||||||
|
curveLinear: linear_default,
|
||||||
|
curveLinearClosed: linearClosed_default,
|
||||||
|
curveMonotoneX: monotoneX,
|
||||||
|
curveMonotoneY: monotoneY,
|
||||||
|
curveNatural: natural_default,
|
||||||
|
curveStep: step_default,
|
||||||
|
curveStepAfter: stepAfter,
|
||||||
|
curveStepBefore: stepBefore
|
||||||
|
};
|
||||||
|
var directiveWithoutOpen = /\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi;
|
||||||
|
var detectInit = __name(function(text, config) {
|
||||||
|
const inits = detectDirective(text, /(?:init\b)|(?:initialize\b)/);
|
||||||
|
let results = {};
|
||||||
|
if (Array.isArray(inits)) {
|
||||||
|
const args = inits.map((init) => init.args);
|
||||||
|
sanitizeDirective(args);
|
||||||
|
results = assignWithDepth_default(results, [...args]);
|
||||||
|
} else {
|
||||||
|
results = inits.args;
|
||||||
|
}
|
||||||
|
if (!results) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let type = detectType(text, config);
|
||||||
|
const prop = "config";
|
||||||
|
if (results[prop] !== void 0) {
|
||||||
|
if (type === "flowchart-v2") {
|
||||||
|
type = "flowchart";
|
||||||
|
}
|
||||||
|
results[type] = results[prop];
|
||||||
|
delete results[prop];
|
||||||
|
}
|
||||||
|
return results;
|
||||||
|
}, "detectInit");
|
||||||
|
var detectDirective = __name(function(text, type = null) {
|
||||||
|
try {
|
||||||
|
const commentWithoutDirectives = new RegExp(
|
||||||
|
`[%]{2}(?![{]${directiveWithoutOpen.source})(?=[}][%]{2}).*
|
||||||
|
`,
|
||||||
|
"ig"
|
||||||
|
);
|
||||||
|
text = text.trim().replace(commentWithoutDirectives, "").replace(/'/gm, '"');
|
||||||
|
log.debug(
|
||||||
|
`Detecting diagram directive${type !== null ? " type:" + type : ""} based on the text:${text}`
|
||||||
|
);
|
||||||
|
let match;
|
||||||
|
const result = [];
|
||||||
|
while ((match = directiveRegex.exec(text)) !== null) {
|
||||||
|
if (match.index === directiveRegex.lastIndex) {
|
||||||
|
directiveRegex.lastIndex++;
|
||||||
|
}
|
||||||
|
if (match && !type || type && match[1]?.match(type) || type && match[2]?.match(type)) {
|
||||||
|
const type2 = match[1] ? match[1] : match[2];
|
||||||
|
const args = match[3] ? match[3].trim() : match[4] ? JSON.parse(match[4].trim()) : null;
|
||||||
|
result.push({ type: type2, args });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (result.length === 0) {
|
||||||
|
return { type: text, args: null };
|
||||||
|
}
|
||||||
|
return result.length === 1 ? result[0] : result;
|
||||||
|
} catch (error) {
|
||||||
|
log.error(
|
||||||
|
`ERROR: ${error.message} - Unable to parse directive type: '${type}' based on the text: '${text}'`
|
||||||
|
);
|
||||||
|
return { type: void 0, args: null };
|
||||||
|
}
|
||||||
|
}, "detectDirective");
|
||||||
|
var removeDirectives = __name(function(text) {
|
||||||
|
return text.replace(directiveRegex, "");
|
||||||
|
}, "removeDirectives");
|
||||||
|
var isSubstringInArray = __name(function(str, arr) {
|
||||||
|
for (const [i, element] of arr.entries()) {
|
||||||
|
if (element.match(str)) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}, "isSubstringInArray");
|
||||||
|
function interpolateToCurve(interpolate, defaultCurve) {
|
||||||
|
if (!interpolate) {
|
||||||
|
return defaultCurve;
|
||||||
|
}
|
||||||
|
const curveName = `curve${interpolate.charAt(0).toUpperCase() + interpolate.slice(1)}`;
|
||||||
|
return d3CurveTypes[curveName] ?? defaultCurve;
|
||||||
|
}
|
||||||
|
__name(interpolateToCurve, "interpolateToCurve");
|
||||||
|
function formatUrl(linkStr, config) {
|
||||||
|
const url = linkStr.trim();
|
||||||
|
if (!url) {
|
||||||
|
return void 0;
|
||||||
|
}
|
||||||
|
if (config.securityLevel !== "loose") {
|
||||||
|
return (0, import_sanitize_url.sanitizeUrl)(url);
|
||||||
|
}
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
__name(formatUrl, "formatUrl");
|
||||||
|
var runFunc = __name((functionName, ...params) => {
|
||||||
|
const arrPaths = functionName.split(".");
|
||||||
|
const len = arrPaths.length - 1;
|
||||||
|
const fnName = arrPaths[len];
|
||||||
|
let obj = window;
|
||||||
|
for (let i = 0; i < len; i++) {
|
||||||
|
obj = obj[arrPaths[i]];
|
||||||
|
if (!obj) {
|
||||||
|
log.error(`Function name: ${functionName} not found in window`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
obj[fnName](...params);
|
||||||
|
}, "runFunc");
|
||||||
|
function distance(p1, p2) {
|
||||||
|
if (!p1 || !p2) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
|
||||||
|
}
|
||||||
|
__name(distance, "distance");
|
||||||
|
function traverseEdge(points) {
|
||||||
|
let prevPoint;
|
||||||
|
let totalDistance = 0;
|
||||||
|
points.forEach((point) => {
|
||||||
|
totalDistance += distance(point, prevPoint);
|
||||||
|
prevPoint = point;
|
||||||
|
});
|
||||||
|
const remainingDistance = totalDistance / 2;
|
||||||
|
return calculatePoint(points, remainingDistance);
|
||||||
|
}
|
||||||
|
__name(traverseEdge, "traverseEdge");
|
||||||
|
function calcLabelPosition(points) {
|
||||||
|
if (points.length === 1) {
|
||||||
|
return points[0];
|
||||||
|
}
|
||||||
|
return traverseEdge(points);
|
||||||
|
}
|
||||||
|
__name(calcLabelPosition, "calcLabelPosition");
|
||||||
|
var roundNumber = __name((num, precision = 2) => {
|
||||||
|
const factor = Math.pow(10, precision);
|
||||||
|
return Math.round(num * factor) / factor;
|
||||||
|
}, "roundNumber");
|
||||||
|
var calculatePoint = __name((points, distanceToTraverse) => {
|
||||||
|
let prevPoint = void 0;
|
||||||
|
let remainingDistance = distanceToTraverse;
|
||||||
|
for (const point of points) {
|
||||||
|
if (prevPoint) {
|
||||||
|
const vectorDistance = distance(point, prevPoint);
|
||||||
|
if (vectorDistance === 0) {
|
||||||
|
return prevPoint;
|
||||||
|
}
|
||||||
|
if (vectorDistance < remainingDistance) {
|
||||||
|
remainingDistance -= vectorDistance;
|
||||||
|
} else {
|
||||||
|
const distanceRatio = remainingDistance / vectorDistance;
|
||||||
|
if (distanceRatio <= 0) {
|
||||||
|
return prevPoint;
|
||||||
|
}
|
||||||
|
if (distanceRatio >= 1) {
|
||||||
|
return { x: point.x, y: point.y };
|
||||||
|
}
|
||||||
|
if (distanceRatio > 0 && distanceRatio < 1) {
|
||||||
|
return {
|
||||||
|
x: roundNumber((1 - distanceRatio) * prevPoint.x + distanceRatio * point.x, 5),
|
||||||
|
y: roundNumber((1 - distanceRatio) * prevPoint.y + distanceRatio * point.y, 5)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
prevPoint = point;
|
||||||
|
}
|
||||||
|
throw new Error("Could not find a suitable point for the given distance");
|
||||||
|
}, "calculatePoint");
|
||||||
|
var calcCardinalityPosition = __name((isRelationTypePresent, points, initialPosition) => {
|
||||||
|
log.info(`our points ${JSON.stringify(points)}`);
|
||||||
|
if (points[0] !== initialPosition) {
|
||||||
|
points = points.reverse();
|
||||||
|
}
|
||||||
|
const distanceToCardinalityPoint = 25;
|
||||||
|
const center = calculatePoint(points, distanceToCardinalityPoint);
|
||||||
|
const d = isRelationTypePresent ? 10 : 5;
|
||||||
|
const angle = Math.atan2(points[0].y - center.y, points[0].x - center.x);
|
||||||
|
const cardinalityPosition = { x: 0, y: 0 };
|
||||||
|
cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2;
|
||||||
|
cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2;
|
||||||
|
return cardinalityPosition;
|
||||||
|
}, "calcCardinalityPosition");
|
||||||
|
function calcTerminalLabelPosition(terminalMarkerSize, position, _points) {
|
||||||
|
const points = structuredClone(_points);
|
||||||
|
log.info("our points", points);
|
||||||
|
if (position !== "start_left" && position !== "start_right") {
|
||||||
|
points.reverse();
|
||||||
|
}
|
||||||
|
const distanceToCardinalityPoint = 25 + terminalMarkerSize;
|
||||||
|
const center = calculatePoint(points, distanceToCardinalityPoint);
|
||||||
|
const d = 10 + terminalMarkerSize * 0.5;
|
||||||
|
const angle = Math.atan2(points[0].y - center.y, points[0].x - center.x);
|
||||||
|
const cardinalityPosition = { x: 0, y: 0 };
|
||||||
|
if (position === "start_left") {
|
||||||
|
cardinalityPosition.x = Math.sin(angle + Math.PI) * d + (points[0].x + center.x) / 2;
|
||||||
|
cardinalityPosition.y = -Math.cos(angle + Math.PI) * d + (points[0].y + center.y) / 2;
|
||||||
|
} else if (position === "end_right") {
|
||||||
|
cardinalityPosition.x = Math.sin(angle - Math.PI) * d + (points[0].x + center.x) / 2 - 5;
|
||||||
|
cardinalityPosition.y = -Math.cos(angle - Math.PI) * d + (points[0].y + center.y) / 2 - 5;
|
||||||
|
} else if (position === "end_left") {
|
||||||
|
cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2 - 5;
|
||||||
|
cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2 - 5;
|
||||||
|
} else {
|
||||||
|
cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2;
|
||||||
|
cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2;
|
||||||
|
}
|
||||||
|
return cardinalityPosition;
|
||||||
|
}
|
||||||
|
__name(calcTerminalLabelPosition, "calcTerminalLabelPosition");
|
||||||
|
function getStylesFromArray(arr) {
|
||||||
|
let style = "";
|
||||||
|
let labelStyle = "";
|
||||||
|
for (const element of arr) {
|
||||||
|
if (element !== void 0) {
|
||||||
|
if (element.startsWith("color:") || element.startsWith("text-align:")) {
|
||||||
|
labelStyle = labelStyle + element + ";";
|
||||||
|
} else {
|
||||||
|
style = style + element + ";";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return { style, labelStyle };
|
||||||
|
}
|
||||||
|
__name(getStylesFromArray, "getStylesFromArray");
|
||||||
|
var cnt = 0;
|
||||||
|
var generateId = __name(() => {
|
||||||
|
cnt++;
|
||||||
|
return "id-" + Math.random().toString(36).substr(2, 12) + "-" + cnt;
|
||||||
|
}, "generateId");
|
||||||
|
function makeRandomHex(length) {
|
||||||
|
let result = "";
|
||||||
|
const characters = "0123456789abcdef";
|
||||||
|
const charactersLength = characters.length;
|
||||||
|
for (let i = 0; i < length; i++) {
|
||||||
|
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
__name(makeRandomHex, "makeRandomHex");
|
||||||
|
var random = __name((options) => {
|
||||||
|
return makeRandomHex(options.length);
|
||||||
|
}, "random");
|
||||||
|
var getTextObj = __name(function() {
|
||||||
|
return {
|
||||||
|
x: 0,
|
||||||
|
y: 0,
|
||||||
|
fill: void 0,
|
||||||
|
anchor: "start",
|
||||||
|
style: "#666",
|
||||||
|
width: 100,
|
||||||
|
height: 100,
|
||||||
|
textMargin: 0,
|
||||||
|
rx: 0,
|
||||||
|
ry: 0,
|
||||||
|
valign: void 0,
|
||||||
|
text: ""
|
||||||
|
};
|
||||||
|
}, "getTextObj");
|
||||||
|
var drawSimpleText = __name(function(elem, textData) {
|
||||||
|
const nText = textData.text.replace(common_default.lineBreakRegex, " ");
|
||||||
|
const [, _fontSizePx] = parseFontSize(textData.fontSize);
|
||||||
|
const textElem = elem.append("text");
|
||||||
|
textElem.attr("x", textData.x);
|
||||||
|
textElem.attr("y", textData.y);
|
||||||
|
textElem.style("text-anchor", textData.anchor);
|
||||||
|
textElem.style("font-family", textData.fontFamily);
|
||||||
|
textElem.style("font-size", _fontSizePx);
|
||||||
|
textElem.style("font-weight", textData.fontWeight);
|
||||||
|
textElem.attr("fill", textData.fill);
|
||||||
|
if (textData.class !== void 0) {
|
||||||
|
textElem.attr("class", textData.class);
|
||||||
|
}
|
||||||
|
const span = textElem.append("tspan");
|
||||||
|
span.attr("x", textData.x + textData.textMargin * 2);
|
||||||
|
span.attr("fill", textData.fill);
|
||||||
|
span.text(nText);
|
||||||
|
return textElem;
|
||||||
|
}, "drawSimpleText");
|
||||||
|
var wrapLabel = memoize_default(
|
||||||
|
(label, maxWidth, config) => {
|
||||||
|
if (!label) {
|
||||||
|
return label;
|
||||||
|
}
|
||||||
|
config = Object.assign(
|
||||||
|
{ fontSize: 12, fontWeight: 400, fontFamily: "Arial", joinWith: "<br/>" },
|
||||||
|
config
|
||||||
|
);
|
||||||
|
if (common_default.lineBreakRegex.test(label)) {
|
||||||
|
return label;
|
||||||
|
}
|
||||||
|
const words = label.split(" ").filter(Boolean);
|
||||||
|
const completedLines = [];
|
||||||
|
let nextLine = "";
|
||||||
|
words.forEach((word, index) => {
|
||||||
|
const wordLength = calculateTextWidth(`${word} `, config);
|
||||||
|
const nextLineLength = calculateTextWidth(nextLine, config);
|
||||||
|
if (wordLength > maxWidth) {
|
||||||
|
const { hyphenatedStrings, remainingWord } = breakString(word, maxWidth, "-", config);
|
||||||
|
completedLines.push(nextLine, ...hyphenatedStrings);
|
||||||
|
nextLine = remainingWord;
|
||||||
|
} else if (nextLineLength + wordLength >= maxWidth) {
|
||||||
|
completedLines.push(nextLine);
|
||||||
|
nextLine = word;
|
||||||
|
} else {
|
||||||
|
nextLine = [nextLine, word].filter(Boolean).join(" ");
|
||||||
|
}
|
||||||
|
const currentWord = index + 1;
|
||||||
|
const isLastWord = currentWord === words.length;
|
||||||
|
if (isLastWord) {
|
||||||
|
completedLines.push(nextLine);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return completedLines.filter((line) => line !== "").join(config.joinWith);
|
||||||
|
},
|
||||||
|
(label, maxWidth, config) => `${label}${maxWidth}${config.fontSize}${config.fontWeight}${config.fontFamily}${config.joinWith}`
|
||||||
|
);
|
||||||
|
var breakString = memoize_default(
|
||||||
|
(word, maxWidth, hyphenCharacter = "-", config) => {
|
||||||
|
config = Object.assign(
|
||||||
|
{ fontSize: 12, fontWeight: 400, fontFamily: "Arial", margin: 0 },
|
||||||
|
config
|
||||||
|
);
|
||||||
|
const characters = [...word];
|
||||||
|
const lines = [];
|
||||||
|
let currentLine = "";
|
||||||
|
characters.forEach((character, index) => {
|
||||||
|
const nextLine = `${currentLine}${character}`;
|
||||||
|
const lineWidth = calculateTextWidth(nextLine, config);
|
||||||
|
if (lineWidth >= maxWidth) {
|
||||||
|
const currentCharacter = index + 1;
|
||||||
|
const isLastLine = characters.length === currentCharacter;
|
||||||
|
const hyphenatedNextLine = `${nextLine}${hyphenCharacter}`;
|
||||||
|
lines.push(isLastLine ? nextLine : hyphenatedNextLine);
|
||||||
|
currentLine = "";
|
||||||
|
} else {
|
||||||
|
currentLine = nextLine;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return { hyphenatedStrings: lines, remainingWord: currentLine };
|
||||||
|
},
|
||||||
|
(word, maxWidth, hyphenCharacter = "-", config) => `${word}${maxWidth}${hyphenCharacter}${config.fontSize}${config.fontWeight}${config.fontFamily}`
|
||||||
|
);
|
||||||
|
function calculateTextHeight(text, config) {
|
||||||
|
return calculateTextDimensions(text, config).height;
|
||||||
|
}
|
||||||
|
__name(calculateTextHeight, "calculateTextHeight");
|
||||||
|
function calculateTextWidth(text, config) {
|
||||||
|
return calculateTextDimensions(text, config).width;
|
||||||
|
}
|
||||||
|
__name(calculateTextWidth, "calculateTextWidth");
|
||||||
|
var calculateTextDimensions = memoize_default(
|
||||||
|
(text, config) => {
|
||||||
|
const { fontSize = 12, fontFamily = "Arial", fontWeight = 400 } = config;
|
||||||
|
if (!text) {
|
||||||
|
return { width: 0, height: 0 };
|
||||||
|
}
|
||||||
|
const [, _fontSizePx] = parseFontSize(fontSize);
|
||||||
|
const fontFamilies = ["sans-serif", fontFamily];
|
||||||
|
const lines = text.split(common_default.lineBreakRegex);
|
||||||
|
const dims = [];
|
||||||
|
const body = select_default("body");
|
||||||
|
if (!body.remove) {
|
||||||
|
return { width: 0, height: 0, lineHeight: 0 };
|
||||||
|
}
|
||||||
|
const g = body.append("svg");
|
||||||
|
for (const fontFamily2 of fontFamilies) {
|
||||||
|
let cHeight = 0;
|
||||||
|
const dim = { width: 0, height: 0, lineHeight: 0 };
|
||||||
|
for (const line of lines) {
|
||||||
|
const textObj = getTextObj();
|
||||||
|
textObj.text = line || ZERO_WIDTH_SPACE;
|
||||||
|
const textElem = drawSimpleText(g, textObj).style("font-size", _fontSizePx).style("font-weight", fontWeight).style("font-family", fontFamily2);
|
||||||
|
const bBox = (textElem._groups || textElem)[0][0].getBBox();
|
||||||
|
if (bBox.width === 0 && bBox.height === 0) {
|
||||||
|
throw new Error("svg element not in render tree");
|
||||||
|
}
|
||||||
|
dim.width = Math.round(Math.max(dim.width, bBox.width));
|
||||||
|
cHeight = Math.round(bBox.height);
|
||||||
|
dim.height += cHeight;
|
||||||
|
dim.lineHeight = Math.round(Math.max(dim.lineHeight, cHeight));
|
||||||
|
}
|
||||||
|
dims.push(dim);
|
||||||
|
}
|
||||||
|
g.remove();
|
||||||
|
const index = isNaN(dims[1].height) || isNaN(dims[1].width) || isNaN(dims[1].lineHeight) || dims[0].height > dims[1].height && dims[0].width > dims[1].width && dims[0].lineHeight > dims[1].lineHeight ? 0 : 1;
|
||||||
|
return dims[index];
|
||||||
|
},
|
||||||
|
(text, config) => `${text}${config.fontSize}${config.fontWeight}${config.fontFamily}`
|
||||||
|
);
|
||||||
|
var _a;
|
||||||
|
var InitIDGenerator = (_a = class {
|
||||||
|
constructor(deterministic = false, seed) {
|
||||||
|
this.count = 0;
|
||||||
|
this.count = seed ? seed.length : 0;
|
||||||
|
this.next = deterministic ? () => this.count++ : () => Date.now();
|
||||||
|
}
|
||||||
|
}, __name(_a, "InitIDGenerator"), _a);
|
||||||
|
var decoder;
|
||||||
|
var entityDecode = __name(function(html) {
|
||||||
|
decoder = decoder || document.createElement("div");
|
||||||
|
html = escape(html).replace(/%26/g, "&").replace(/%23/g, "#").replace(/%3B/g, ";");
|
||||||
|
decoder.innerHTML = html;
|
||||||
|
return unescape(decoder.textContent);
|
||||||
|
}, "entityDecode");
|
||||||
|
function isDetailedError(error) {
|
||||||
|
return "str" in error;
|
||||||
|
}
|
||||||
|
__name(isDetailedError, "isDetailedError");
|
||||||
|
var insertTitle = __name((parent, cssClass, titleTopMargin, title) => {
|
||||||
|
if (!title) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const bounds = parent.node()?.getBBox();
|
||||||
|
if (!bounds) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
parent.append("text").text(title).attr("text-anchor", "middle").attr("x", bounds.x + bounds.width / 2).attr("y", -titleTopMargin).attr("class", cssClass);
|
||||||
|
}, "insertTitle");
|
||||||
|
var parseFontSize = __name((fontSize) => {
|
||||||
|
if (typeof fontSize === "number") {
|
||||||
|
return [fontSize, fontSize + "px"];
|
||||||
|
}
|
||||||
|
const fontSizeNumber = parseInt(fontSize ?? "", 10);
|
||||||
|
if (Number.isNaN(fontSizeNumber)) {
|
||||||
|
return [void 0, void 0];
|
||||||
|
} else if (fontSize === String(fontSizeNumber)) {
|
||||||
|
return [fontSizeNumber, fontSize + "px"];
|
||||||
|
} else {
|
||||||
|
return [fontSizeNumber, fontSize];
|
||||||
|
}
|
||||||
|
}, "parseFontSize");
|
||||||
|
function cleanAndMerge(defaultData, data) {
|
||||||
|
return merge_default({}, defaultData, data);
|
||||||
|
}
|
||||||
|
__name(cleanAndMerge, "cleanAndMerge");
|
||||||
|
var utils_default = {
|
||||||
|
assignWithDepth: assignWithDepth_default,
|
||||||
|
wrapLabel,
|
||||||
|
calculateTextHeight,
|
||||||
|
calculateTextWidth,
|
||||||
|
calculateTextDimensions,
|
||||||
|
cleanAndMerge,
|
||||||
|
detectInit,
|
||||||
|
detectDirective,
|
||||||
|
isSubstringInArray,
|
||||||
|
interpolateToCurve,
|
||||||
|
calcLabelPosition,
|
||||||
|
calcCardinalityPosition,
|
||||||
|
calcTerminalLabelPosition,
|
||||||
|
formatUrl,
|
||||||
|
getStylesFromArray,
|
||||||
|
generateId,
|
||||||
|
random,
|
||||||
|
runFunc,
|
||||||
|
entityDecode,
|
||||||
|
insertTitle,
|
||||||
|
isLabelCoordinateInPath,
|
||||||
|
parseFontSize,
|
||||||
|
InitIDGenerator
|
||||||
|
};
|
||||||
|
var encodeEntities = __name(function(text) {
|
||||||
|
let txt = text;
|
||||||
|
txt = txt.replace(/style.*:\S*#.*;/g, function(s) {
|
||||||
|
return s.substring(0, s.length - 1);
|
||||||
|
});
|
||||||
|
txt = txt.replace(/classDef.*:\S*#.*;/g, function(s) {
|
||||||
|
return s.substring(0, s.length - 1);
|
||||||
|
});
|
||||||
|
txt = txt.replace(/#\w+;/g, function(s) {
|
||||||
|
const innerTxt = s.substring(1, s.length - 1);
|
||||||
|
const isInt = /^\+?\d+$/.test(innerTxt);
|
||||||
|
if (isInt) {
|
||||||
|
return "fl°°" + innerTxt + "¶ß";
|
||||||
|
} else {
|
||||||
|
return "fl°" + innerTxt + "¶ß";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return txt;
|
||||||
|
}, "encodeEntities");
|
||||||
|
var decodeEntities = __name(function(text) {
|
||||||
|
return text.replace(/fl°°/g, "&#").replace(/fl°/g, "&").replace(/¶ß/g, ";");
|
||||||
|
}, "decodeEntities");
|
||||||
|
var getEdgeId = __name((from, to, {
|
||||||
|
counter = 0,
|
||||||
|
prefix,
|
||||||
|
suffix
|
||||||
|
}, id) => {
|
||||||
|
if (id) {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
return `${prefix ? `${prefix}_` : ""}${from}_${to}_${counter}${suffix ? `_${suffix}` : ""}`;
|
||||||
|
}, "getEdgeId");
|
||||||
|
function handleUndefinedAttr(attrValue) {
|
||||||
|
return attrValue ?? null;
|
||||||
|
}
|
||||||
|
__name(handleUndefinedAttr, "handleUndefinedAttr");
|
||||||
|
function isLabelCoordinateInPath(point, dAttr) {
|
||||||
|
const roundedX = Math.round(point.x);
|
||||||
|
const roundedY = Math.round(point.y);
|
||||||
|
const sanitizedD = dAttr.replace(
|
||||||
|
/(\d+\.\d+)/g,
|
||||||
|
(match) => Math.round(parseFloat(match)).toString()
|
||||||
|
);
|
||||||
|
return sanitizedD.includes(roundedX.toString()) || sanitizedD.includes(roundedY.toString());
|
||||||
|
}
|
||||||
|
__name(isLabelCoordinateInPath, "isLabelCoordinateInPath");
|
||||||
|
|
||||||
|
export {
|
||||||
|
ZERO_WIDTH_SPACE,
|
||||||
|
removeDirectives,
|
||||||
|
interpolateToCurve,
|
||||||
|
getStylesFromArray,
|
||||||
|
generateId,
|
||||||
|
random,
|
||||||
|
wrapLabel,
|
||||||
|
calculateTextHeight,
|
||||||
|
calculateTextWidth,
|
||||||
|
isDetailedError,
|
||||||
|
parseFontSize,
|
||||||
|
cleanAndMerge,
|
||||||
|
utils_default,
|
||||||
|
encodeEntities,
|
||||||
|
decodeEntities,
|
||||||
|
getEdgeId,
|
||||||
|
handleUndefinedAttr
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-QVVRGVV3.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-QVVRGVV3.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-QVVRGVV3.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
46
.angular/cache/20.3.2/app/vite/deps/chunk-R33GOAXK.js
vendored
Normal file
46
.angular/cache/20.3.2/app/vite/deps/chunk-R33GOAXK.js
vendored
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
import {
|
||||||
|
AbstractMermaidTokenBuilder,
|
||||||
|
CommonValueConverter,
|
||||||
|
EmptyFileSystem,
|
||||||
|
MermaidGeneratedSharedModule,
|
||||||
|
RadarGeneratedModule,
|
||||||
|
__name,
|
||||||
|
createDefaultCoreModule,
|
||||||
|
createDefaultSharedCoreModule,
|
||||||
|
inject,
|
||||||
|
lib_exports
|
||||||
|
} from "./chunk-WHHJWK6B.js";
|
||||||
|
|
||||||
|
// node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-WFRQ32O7.mjs
|
||||||
|
var _a;
|
||||||
|
var RadarTokenBuilder = (_a = class extends AbstractMermaidTokenBuilder {
|
||||||
|
constructor() {
|
||||||
|
super(["radar-beta"]);
|
||||||
|
}
|
||||||
|
}, __name(_a, "RadarTokenBuilder"), _a);
|
||||||
|
var RadarModule = {
|
||||||
|
parser: {
|
||||||
|
TokenBuilder: __name(() => new RadarTokenBuilder(), "TokenBuilder"),
|
||||||
|
ValueConverter: __name(() => new CommonValueConverter(), "ValueConverter")
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function createRadarServices(context = EmptyFileSystem) {
|
||||||
|
const shared = inject(
|
||||||
|
createDefaultSharedCoreModule(context),
|
||||||
|
MermaidGeneratedSharedModule
|
||||||
|
);
|
||||||
|
const Radar = inject(
|
||||||
|
createDefaultCoreModule({ shared }),
|
||||||
|
RadarGeneratedModule,
|
||||||
|
RadarModule
|
||||||
|
);
|
||||||
|
shared.ServiceRegistry.register(Radar);
|
||||||
|
return { shared, Radar };
|
||||||
|
}
|
||||||
|
__name(createRadarServices, "createRadarServices");
|
||||||
|
|
||||||
|
export {
|
||||||
|
RadarModule,
|
||||||
|
createRadarServices
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=chunk-R33GOAXK.js.map
|
7
.angular/cache/20.3.2/app/vite/deps/chunk-R33GOAXK.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-R33GOAXK.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../../../../../../node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-WFRQ32O7.mjs"],
|
||||||
|
"sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n MermaidGeneratedSharedModule,\n RadarGeneratedModule,\n __name\n} from \"./chunk-4KMFLZZN.mjs\";\n\n// src/language/radar/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/radar/tokenBuilder.ts\nvar RadarTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"RadarTokenBuilder\");\n }\n constructor() {\n super([\"radar-beta\"]);\n }\n};\n\n// src/language/radar/module.ts\nvar RadarModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new RadarTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n }\n};\nfunction createRadarServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Radar = inject(\n createDefaultCoreModule({ shared }),\n RadarGeneratedModule,\n RadarModule\n );\n shared.ServiceRegistry.register(Radar);\n return { shared, Radar };\n}\n__name(createRadarServices, \"createRadarServices\");\n\nexport {\n RadarModule,\n createRadarServices\n};\n"],
|
||||||
|
"mappings": ";;;;;;;;;;;;;;AAAA;AAiBA,IAAI,qBAAoB,mBAAc,4BAA4B;AAAA,EAIhE,cAAc;AACZ,UAAM,CAAC,YAAY,CAAC;AAAA,EACtB;AACF,GALI,OAAO,IAAM,mBAAmB,GAFZ;AAUxB,IAAI,cAAc;AAAA,EAChB,QAAQ;AAAA,IACN,cAA8B,OAAO,MAAM,IAAI,kBAAkB,GAAG,cAAc;AAAA,IAClF,gBAAgC,OAAO,MAAM,IAAI,qBAAqB,GAAG,gBAAgB;AAAA,EAC3F;AACF;AACA,SAAS,oBAAoB,UAAU,iBAAiB;AACtD,QAAM,SAAS;AAAA,IACb,8BAA8B,OAAO;AAAA,IACrC;AAAA,EACF;AACA,QAAM,QAAQ;AAAA,IACZ,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS,KAAK;AACrC,SAAO,EAAE,QAAQ,MAAM;AACzB;AACA,OAAO,qBAAqB,qBAAqB;",
|
||||||
|
"names": []
|
||||||
|
}
|
5538
.angular/cache/20.3.2/app/vite/deps/chunk-RSS3ODKE.js
vendored
Normal file
5538
.angular/cache/20.3.2/app/vite/deps/chunk-RSS3ODKE.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
.angular/cache/20.3.2/app/vite/deps/chunk-RSS3ODKE.js.map
vendored
Normal file
7
.angular/cache/20.3.2/app/vite/deps/chunk-RSS3ODKE.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user