@praxisui/core 1.0.0-beta.53 → 1.0.0-beta.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, InjectionToken, Injectable, inject, Inject, makeEnvironmentProviders, Optional, ENVIRONMENT_INITIALIZER, ErrorHandler, APP_INITIALIZER, Input, Directive, ViewContainerRef, EventEmitter, Output, ContentChild, ChangeDetectionStrategy, signal, HostListener, computed, ViewChild } from '@angular/core';
3
3
  import * as i1 from '@angular/common/http';
4
- import { HttpHeaders, HttpClient, HttpParams, HttpContextToken } from '@angular/common/http';
4
+ import { HttpHeaders, HttpClient, HttpParams, HttpContextToken, HTTP_INTERCEPTORS, withInterceptors } from '@angular/common/http';
5
5
  import { of, defer, throwError, from, EMPTY, BehaviorSubject, firstValueFrom, Subject } from 'rxjs';
6
6
  import { switchMap, take, map, catchError, concatMap, tap, shareReplay, takeUntil, toArray, finalize } from 'rxjs/operators';
7
7
  import * as i1$1 from '@angular/common';
@@ -5658,6 +5658,34 @@ const PRAXIS_LOADING_CTX = new HttpContextToken(() => null);
5658
5658
 
5659
5659
  const PRAXIS_LOADING_RENDERER = new InjectionToken('PRAXIS_LOADING_RENDERER');
5660
5660
 
5661
+ const PRAXIS_LOADING_INTERCEPTED = new HttpContextToken(() => false);
5662
+ function handlePraxisLoadingRequest(req, execute, orchestrator, renderer) {
5663
+ if (req.context.get(PRAXIS_LOADING_INTERCEPTED)) {
5664
+ return execute(req);
5665
+ }
5666
+ const ctx = req.context.get(PRAXIS_LOADING_CTX);
5667
+ if (!ctx)
5668
+ return execute(req);
5669
+ const interceptedReq = req.clone({
5670
+ context: req.context.set(PRAXIS_LOADING_INTERCEPTED, true),
5671
+ });
5672
+ orchestrator.begin(ctx);
5673
+ renderer?.show?.(ctx);
5674
+ return execute(interceptedReq).pipe(finalize(() => {
5675
+ orchestrator.end(ctx);
5676
+ renderer?.hide?.(ctx);
5677
+ }));
5678
+ }
5679
+ const praxisLoadingInterceptorFn = (req, next) => {
5680
+ const orchestrator = inject(LoadingOrchestrator);
5681
+ const renderer = inject(PRAXIS_LOADING_RENDERER, { optional: true });
5682
+ return handlePraxisLoadingRequest(req, (nextReq) => next(nextReq), orchestrator, renderer);
5683
+ };
5684
+ /**
5685
+ * Low-level DI interceptor kept for backwards compatibility.
5686
+ *
5687
+ * Prefer `providePraxisHttpLoading()` or `withPraxisHttpLoading()` for host bootstrap.
5688
+ */
5661
5689
  class PraxisLoadingInterceptor {
5662
5690
  orchestrator;
5663
5691
  renderer;
@@ -5666,15 +5694,7 @@ class PraxisLoadingInterceptor {
5666
5694
  this.renderer = renderer;
5667
5695
  }
5668
5696
  intercept(req, next) {
5669
- const ctx = req.context.get(PRAXIS_LOADING_CTX);
5670
- if (!ctx)
5671
- return next.handle(req);
5672
- this.orchestrator.begin(ctx);
5673
- this.renderer?.show?.(ctx);
5674
- return next.handle(req).pipe(finalize(() => {
5675
- this.orchestrator.end(ctx);
5676
- this.renderer?.hide?.(ctx);
5677
- }));
5697
+ return handlePraxisLoadingRequest(req, (nextReq) => next.handle(nextReq), this.orchestrator, this.renderer);
5678
5698
  }
5679
5699
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: PraxisLoadingInterceptor, deps: [{ token: LoadingOrchestrator }, { token: PRAXIS_LOADING_RENDERER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
5680
5700
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: PraxisLoadingInterceptor });
@@ -5925,6 +5945,12 @@ function providePraxisAnalyticsGlobalActions(opts = {}) {
5925
5945
  };
5926
5946
  }
5927
5947
 
5948
+ /**
5949
+ * Registers only the default visual renderer for Praxis loading.
5950
+ *
5951
+ * This does not wire any HTTP interceptor by itself. Use this when the host
5952
+ * wants a custom HTTP integration path but still wants the stock Praxis UI.
5953
+ */
5928
5954
  function providePraxisLoadingDefaults() {
5929
5955
  return [
5930
5956
  {
@@ -5933,6 +5959,58 @@ function providePraxisLoadingDefaults() {
5933
5959
  },
5934
5960
  ];
5935
5961
  }
5962
+ /**
5963
+ * Official DI-based entrypoint to enable Praxis HTTP loading.
5964
+ *
5965
+ * Recommended when the host already uses DI interceptors, e.g.:
5966
+ *
5967
+ * ```ts
5968
+ * providers: [
5969
+ * provideHttpClient(withInterceptorsFromDi()),
5970
+ * ...providePraxisHttpLoading(),
5971
+ * ]
5972
+ * ```
5973
+ *
5974
+ * By default this provider does not register any renderer implementation.
5975
+ * Add `...providePraxisLoadingDefaults()` or a custom `PRAXIS_LOADING_RENDERER`
5976
+ * explicitly so hosts keep full control over visual composition.
5977
+ *
5978
+ * Requests remain opt-in and only show loading when they carry
5979
+ * `PRAXIS_LOADING_CTX` in the `HttpContext`.
5980
+ */
5981
+ function providePraxisHttpLoading(opts = {}) {
5982
+ const providers = [
5983
+ {
5984
+ provide: HTTP_INTERCEPTORS,
5985
+ useClass: PraxisLoadingInterceptor,
5986
+ multi: true,
5987
+ },
5988
+ ];
5989
+ if (opts.includeDefaultRenderer === true) {
5990
+ providers.unshift(...providePraxisLoadingDefaults());
5991
+ }
5992
+ return providers;
5993
+ }
5994
+ /**
5995
+ * Angular modern helper for `provideHttpClient(...)`.
5996
+ *
5997
+ * Usage:
5998
+ *
5999
+ * ```ts
6000
+ * providers: [
6001
+ * provideHttpClient(
6002
+ * withInterceptors([authInterceptor]),
6003
+ * withPraxisHttpLoading(),
6004
+ * ),
6005
+ * ...providePraxisLoadingDefaults(),
6006
+ * ]
6007
+ * ```
6008
+ *
6009
+ * Use this helper or `providePraxisHttpLoading()`, never both in the same host.
6010
+ */
6011
+ function withPraxisHttpLoading() {
6012
+ return withInterceptors([praxisLoadingInterceptorFn]);
6013
+ }
5936
6014
 
5937
6015
  const LOGGER_LEVEL_PRIORITY = {
5938
6016
  error: 0,
@@ -14612,5 +14690,5 @@ function provideHookWhitelist(allowed) {
14612
14690
  * Generated bundle index. Do not edit.
14613
14691
  */
14614
14692
 
14615
- export { API_CONFIG_STORAGE_OPTIONS, API_URL, ASYNC_CONFIG_STORAGE, AllowedFileTypes, ApiConfigStorage, ApiEndpoint, BUILTIN_SHELL_PRESETS, CONFIG_STORAGE, CONNECTION_STORAGE, ComponentKeyService, ComponentMetadataRegistry, ConnectionManagerService, ConsoleLoggerSink, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, DEFAULT_TABLE_CONFIG, DYNAMIC_PAGE_AI_CAPABILITIES, DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK, DYNAMIC_PAGE_CONFIG_EDITOR, DYNAMIC_PAGE_SHELL_EDITOR, DefaultLoadingRenderer, DeferredAsyncConfigStorage, DynamicFormService, DynamicGridPageComponent, DynamicWidgetLoaderDirective, DynamicWidgetPageComponent, EmptyStateCardComponent, ErrorMessageService, FIELD_METADATA_CAPABILITIES, FIELD_SELECTOR_REGISTRY_BASE, FIELD_SELECTOR_REGISTRY_DISABLE_DEFAULTS, FIELD_SELECTOR_REGISTRY_OVERRIDES, FORM_HOOKS, FORM_HOOKS_PRESETS, FORM_HOOKS_WHITELIST, FORM_HOOK_RESOLVERS, FieldControlType, FieldDataType, FieldSelectorRegistry, FormHooksRegistry, GLOBAL_ACTION_CATALOG$1 as GLOBAL_ACTION_CATALOG, GLOBAL_ACTION_HANDLERS, GLOBAL_ACTION_CATALOG as GLOBAL_ACTION_SPEC_CATALOG, GLOBAL_ACTION_UI_SCHEMAS, GLOBAL_ANALYTICS_SERVICE, GLOBAL_API_CLIENT, GLOBAL_CONFIG, GLOBAL_DIALOG_SERVICE, GLOBAL_ROUTE_GUARD_RESOLVER, GLOBAL_TOAST_SERVICE, GenericCrudService, GlobalActionService, GlobalConfigService, INLINE_FILTER_ALIAS_TOKENS, INLINE_FILTER_ALIAS_TOKEN_TO_BASE_CONTROL_TYPE, INLINE_FILTER_ALIAS_TOKEN_TO_CONTROL_TYPE, INLINE_FILTER_CONTROL_TYPES, INLINE_FILTER_CONTROL_TYPE_SET, INLINE_FILTER_CONTROL_TYPE_VALUES, IconPickerService, IconPosition, IconSize, LOGGER_LEVEL_BY_ENV, LOGGER_LEVEL_PRIORITY, LoadingOrchestrator, LocalConnectionStorage, LocalStorageAsyncAdapter, LocalStorageCacheAdapter, LocalStorageConfigService, LoggerService, LoggerThrottleTracker, LoggerWarnOnceTracker, MemoryCacheAdapter, NumericFormat, OVERLAY_DECIDER_DEBUG, OVERLAY_DECISION_MATRIX, ObservabilityDashboardService, OverlayDeciderService, PRAXIS_CORPORATE_SENSITIVE_KEYS, PRAXIS_DEFAULT_OBSERVABILITY_ALERT_RULES, PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA, PRAXIS_GLOBAL_ACTION_CATALOG, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_OPTIONS, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_READY, PRAXIS_GLOBAL_CONFIG_TENANT_RESOLVER, PRAXIS_LOADING_CTX, PRAXIS_LOADING_RENDERER, PRAXIS_LOGGER_CONFIG, PRAXIS_LOGGER_SINKS, PRAXIS_OBSERVABILITY_DASHBOARD_OPTIONS, PRAXIS_TELEMETRY_TRANSPORT, PraxisCore, PraxisGlobalErrorHandler, PraxisIconDirective, PraxisIconPickerComponent, PraxisLoadingInterceptor, RULE_PROPERTY_SCHEMA, RemoteConfigStorage, ResourceQuickConnectComponent, SCHEMA_VIEWER_CONTEXT, SETTINGS_PANEL_BRIDGE, SETTINGS_PANEL_DATA, STEPPER_CONFIG_EDITOR, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, TABLE_CONFIG_EDITOR, TableConfigService, TelemetryLoggerSink, TelemetryService, ValidationPattern, WidgetShellComponent, applyLocalCustomizations$2 as applyLocalCustomizations, applyLocalCustomizations$1 as applyLocalFormCustomizations, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildHeaders, buildPageKey, buildSchemaId, buildValidatorsFromValidatorOptions, cancelIfCpfInvalidHook, clampRange, cloneTableConfig, cnpjAlphaValidator, collapseWhitespace, composeHeadersWithVersion, conditionalAsyncValidator, convertFormLayoutToConfig, createCorporateLoggerConfig, createCorporateObservabilityOptions, createCpfCnpjValidator, createDefaultFormConfig, createDefaultTableConfig, createEmptyFormConfig, createPersistedPage, customAsyncValidatorFn, customValidatorFn, debounceAsyncValidator, deepMerge, ensureIds, ensureNoConflictsHookFactory, ensurePageIds, extractNormalizedError, fetchWithETag, fileTypeValidator, fillUndefined, generateId, getDefaultFormHints, getEssentialConfig, getFieldMetadataCapabilities, getGlobalActionCatalog, getGlobalActionUiSchema, getReferencedFieldMetadata, getTextTransformer, isCssTextTransform, isInlineFilterControlType, isRangeValidForFilter, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, matchFieldValidator, maxFileSizeValidator, mergeFieldMetadata, mergeTableConfigs, migrateFormLayoutRule, minWordsValidator, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEnd, normalizeFieldConstraints, normalizeFormConfig, normalizeFormMetadata, normalizePath, normalizeStart, normalizeUnknownError, notifySuccessHook, parseJsonResponseOrEmpty, prefillFromContextHook, provideDefaultFormHooks, provideFieldSelectorRegistryBase, provideFieldSelectorRegistryOverride, provideFieldSelectorRegistryRuntime, provideFormHookPresets, provideFormHooks, provideGlobalActionCatalog, provideGlobalActionHandler, provideGlobalConfig, provideGlobalConfigReady, provideGlobalConfigSeed, provideGlobalConfigTenant, provideHookResolvers, provideHookWhitelist, provideOverlayDecisionMatrix, providePraxisAnalyticsGlobalActions, providePraxisDynamicPageMetadata, providePraxisGlobalActionCatalog, providePraxisGlobalActions, providePraxisGlobalConfigBootstrap, providePraxisLoadingDefaults, providePraxisLogging, providePraxisToastGlobalActions, provideRemoteGlobalConfig, reconcileFilterConfig, reconcileFormConfig, reconcileTableConfig, removeDiacritics, reportTelemetryHookFactory, requiredCheckedValidator, resolveBuiltinPresets, resolveControlTypeAlias, resolveHidden, resolveInlineFilterAliasToBaseControlType, resolveInlineFilterControlTypeAlias, resolveLoggerConfig, resolveObservabilityOptions, resolveOffset, resolveOrder, resolveSpan, slugify, stripMasksHook, syncWithServerMetadata, toCamel, toCapitalize, toKebab, toPascal, toSentenceCase, toSnake, toTitleCase, trim, uniqueAsyncValidator, urlValidator, withMessage };
14693
+ export { API_CONFIG_STORAGE_OPTIONS, API_URL, ASYNC_CONFIG_STORAGE, AllowedFileTypes, ApiConfigStorage, ApiEndpoint, BUILTIN_SHELL_PRESETS, CONFIG_STORAGE, CONNECTION_STORAGE, ComponentKeyService, ComponentMetadataRegistry, ConnectionManagerService, ConsoleLoggerSink, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, DEFAULT_TABLE_CONFIG, DYNAMIC_PAGE_AI_CAPABILITIES, DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK, DYNAMIC_PAGE_CONFIG_EDITOR, DYNAMIC_PAGE_SHELL_EDITOR, DefaultLoadingRenderer, DeferredAsyncConfigStorage, DynamicFormService, DynamicGridPageComponent, DynamicWidgetLoaderDirective, DynamicWidgetPageComponent, EmptyStateCardComponent, ErrorMessageService, FIELD_METADATA_CAPABILITIES, FIELD_SELECTOR_REGISTRY_BASE, FIELD_SELECTOR_REGISTRY_DISABLE_DEFAULTS, FIELD_SELECTOR_REGISTRY_OVERRIDES, FORM_HOOKS, FORM_HOOKS_PRESETS, FORM_HOOKS_WHITELIST, FORM_HOOK_RESOLVERS, FieldControlType, FieldDataType, FieldSelectorRegistry, FormHooksRegistry, GLOBAL_ACTION_CATALOG$1 as GLOBAL_ACTION_CATALOG, GLOBAL_ACTION_HANDLERS, GLOBAL_ACTION_CATALOG as GLOBAL_ACTION_SPEC_CATALOG, GLOBAL_ACTION_UI_SCHEMAS, GLOBAL_ANALYTICS_SERVICE, GLOBAL_API_CLIENT, GLOBAL_CONFIG, GLOBAL_DIALOG_SERVICE, GLOBAL_ROUTE_GUARD_RESOLVER, GLOBAL_TOAST_SERVICE, GenericCrudService, GlobalActionService, GlobalConfigService, INLINE_FILTER_ALIAS_TOKENS, INLINE_FILTER_ALIAS_TOKEN_TO_BASE_CONTROL_TYPE, INLINE_FILTER_ALIAS_TOKEN_TO_CONTROL_TYPE, INLINE_FILTER_CONTROL_TYPES, INLINE_FILTER_CONTROL_TYPE_SET, INLINE_FILTER_CONTROL_TYPE_VALUES, IconPickerService, IconPosition, IconSize, LOGGER_LEVEL_BY_ENV, LOGGER_LEVEL_PRIORITY, LoadingOrchestrator, LocalConnectionStorage, LocalStorageAsyncAdapter, LocalStorageCacheAdapter, LocalStorageConfigService, LoggerService, LoggerThrottleTracker, LoggerWarnOnceTracker, MemoryCacheAdapter, NumericFormat, OVERLAY_DECIDER_DEBUG, OVERLAY_DECISION_MATRIX, ObservabilityDashboardService, OverlayDeciderService, PRAXIS_CORPORATE_SENSITIVE_KEYS, PRAXIS_DEFAULT_OBSERVABILITY_ALERT_RULES, PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA, PRAXIS_GLOBAL_ACTION_CATALOG, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_OPTIONS, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_READY, PRAXIS_GLOBAL_CONFIG_TENANT_RESOLVER, PRAXIS_LOADING_CTX, PRAXIS_LOADING_RENDERER, PRAXIS_LOGGER_CONFIG, PRAXIS_LOGGER_SINKS, PRAXIS_OBSERVABILITY_DASHBOARD_OPTIONS, PRAXIS_TELEMETRY_TRANSPORT, PraxisCore, PraxisGlobalErrorHandler, PraxisIconDirective, PraxisIconPickerComponent, PraxisLoadingInterceptor, RULE_PROPERTY_SCHEMA, RemoteConfigStorage, ResourceQuickConnectComponent, SCHEMA_VIEWER_CONTEXT, SETTINGS_PANEL_BRIDGE, SETTINGS_PANEL_DATA, STEPPER_CONFIG_EDITOR, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, TABLE_CONFIG_EDITOR, TableConfigService, TelemetryLoggerSink, TelemetryService, ValidationPattern, WidgetShellComponent, applyLocalCustomizations$2 as applyLocalCustomizations, applyLocalCustomizations$1 as applyLocalFormCustomizations, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildHeaders, buildPageKey, buildSchemaId, buildValidatorsFromValidatorOptions, cancelIfCpfInvalidHook, clampRange, cloneTableConfig, cnpjAlphaValidator, collapseWhitespace, composeHeadersWithVersion, conditionalAsyncValidator, convertFormLayoutToConfig, createCorporateLoggerConfig, createCorporateObservabilityOptions, createCpfCnpjValidator, createDefaultFormConfig, createDefaultTableConfig, createEmptyFormConfig, createPersistedPage, customAsyncValidatorFn, customValidatorFn, debounceAsyncValidator, deepMerge, ensureIds, ensureNoConflictsHookFactory, ensurePageIds, extractNormalizedError, fetchWithETag, fileTypeValidator, fillUndefined, generateId, getDefaultFormHints, getEssentialConfig, getFieldMetadataCapabilities, getGlobalActionCatalog, getGlobalActionUiSchema, getReferencedFieldMetadata, getTextTransformer, isCssTextTransform, isInlineFilterControlType, isRangeValidForFilter, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, matchFieldValidator, maxFileSizeValidator, mergeFieldMetadata, mergeTableConfigs, migrateFormLayoutRule, minWordsValidator, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEnd, normalizeFieldConstraints, normalizeFormConfig, normalizeFormMetadata, normalizePath, normalizeStart, normalizeUnknownError, notifySuccessHook, parseJsonResponseOrEmpty, praxisLoadingInterceptorFn, prefillFromContextHook, provideDefaultFormHooks, provideFieldSelectorRegistryBase, provideFieldSelectorRegistryOverride, provideFieldSelectorRegistryRuntime, provideFormHookPresets, provideFormHooks, provideGlobalActionCatalog, provideGlobalActionHandler, provideGlobalConfig, provideGlobalConfigReady, provideGlobalConfigSeed, provideGlobalConfigTenant, provideHookResolvers, provideHookWhitelist, provideOverlayDecisionMatrix, providePraxisAnalyticsGlobalActions, providePraxisDynamicPageMetadata, providePraxisGlobalActionCatalog, providePraxisGlobalActions, providePraxisGlobalConfigBootstrap, providePraxisHttpLoading, providePraxisLoadingDefaults, providePraxisLogging, providePraxisToastGlobalActions, provideRemoteGlobalConfig, reconcileFilterConfig, reconcileFormConfig, reconcileTableConfig, removeDiacritics, reportTelemetryHookFactory, requiredCheckedValidator, resolveBuiltinPresets, resolveControlTypeAlias, resolveHidden, resolveInlineFilterAliasToBaseControlType, resolveInlineFilterControlTypeAlias, resolveLoggerConfig, resolveObservabilityOptions, resolveOffset, resolveOrder, resolveSpan, slugify, stripMasksHook, syncWithServerMetadata, toCamel, toCapitalize, toKebab, toPascal, toSentenceCase, toSnake, toTitleCase, trim, uniqueAsyncValidator, urlValidator, withMessage, withPraxisHttpLoading };
14616
14694
  //# sourceMappingURL=praxisui-core.mjs.map