@elasticias/ui 1.0.35 → 1.0.37

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elasticias/ui",
3
- "version": "1.0.35",
3
+ "version": "1.0.37",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0",
@@ -1577,7 +1577,9 @@ declare class EfToolbarComponent {
1577
1577
  * - `EfPermissionService` (via the rail / mobile tabs) for visible modules
1578
1578
  * - `EfActiveModuleService` for the active module accent
1579
1579
  *
1580
- * **Desktop / tablet:** rail (64px) + side (240px) + (top + main).
1580
+ * **Desktop / tablet:** rail (64px) + side (240px) + (top + main). The
1581
+ * side folds away from a toggle at the leading edge of the top bar (or
1582
+ * mod+B); the rail never does.
1581
1583
  * **Mobile:** delegates to `<ef-app-shell-mobile>` — top bar + scrollable
1582
1584
  * body + 5-tab bottom bar + FAB slot.
1583
1585
  *
@@ -1598,6 +1600,9 @@ declare class EfAppShellComponent {
1598
1600
  readonly viewport: _angular_core.Signal<_elasticias_core.EfViewport>;
1599
1601
  readonly isMobile: _angular_core.Signal<boolean>;
1600
1602
  readonly showSide: _angular_core.Signal<boolean>;
1603
+ readonly sideCollapsed: _angular_core.WritableSignal<boolean>;
1604
+ toggleSide(): void;
1605
+ constructor();
1601
1606
  readonly activeId: _angular_core.Signal<_elasticias_core.EfModuleId>;
1602
1607
  readonly switcherOpen: _angular_core.WritableSignal<boolean>;
1603
1608
  /** Five tabs is what fits a phone; the rest live in the sheet. */
@@ -2081,12 +2086,15 @@ declare class EfProfileChipComponent {
2081
2086
  tone: 'tenant' | 'neutral';
2082
2087
  /** Render as a non-interactive container (no hover/focus, no click). */
2083
2088
  readonly: boolean;
2089
+ /** Avatar only, no name or role: for a trigger that sits in a toolbar. */
2090
+ compact: boolean;
2084
2091
  readonly clickEvent: EventEmitter<Event>;
2085
2092
  get computedInitial(): string;
2086
2093
  handleClick(event: Event): void;
2087
2094
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EfProfileChipComponent, never>;
2088
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfProfileChipComponent, "ef-profile-chip", never, { "name": { "alias": "name"; "required": false; }; "role": { "alias": "role"; "required": false; }; "roleKey": { "alias": "roleKey"; "required": false; }; "initial": { "alias": "initial"; "required": false; }; "tone": { "alias": "tone"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; }, { "clickEvent": "clickEvent"; }, never, never, true, never>;
2095
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfProfileChipComponent, "ef-profile-chip", never, { "name": { "alias": "name"; "required": false; }; "role": { "alias": "role"; "required": false; }; "roleKey": { "alias": "roleKey"; "required": false; }; "initial": { "alias": "initial"; "required": false; }; "tone": { "alias": "tone"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; }, { "clickEvent": "clickEvent"; }, never, never, true, never>;
2089
2096
  static ngAcceptInputType_readonly: unknown;
2097
+ static ngAcceptInputType_compact: unknown;
2090
2098
  }
2091
2099
 
2092
2100
  /**
@@ -2156,7 +2164,9 @@ declare class EfProfileMenuComponent {
2156
2164
  readonly initial: _angular_core.InputSignal<string>;
2157
2165
  readonly tone: _angular_core.InputSignal<"tenant" | "neutral">;
2158
2166
  readonly items: _angular_core.InputSignal<readonly EfProfileMenuItem[]>;
2159
- readonly variant: _angular_core.InputSignal<"chip" | "list">;
2167
+ /** `avatar` is the chip without its text, for the top bar while the
2168
+ * side panel (and the full chip in its footer) is folded away. */
2169
+ readonly variant: _angular_core.InputSignal<"chip" | "avatar" | "list">;
2160
2170
  readonly itemSelected: _angular_core.OutputEmitterRef<EfProfileMenuItem>;
2161
2171
  /** Id of the one expanded group, or null. One at a time: a menu that
2162
2172
  * grows in two directions at once stops being scannable. */
@@ -3468,6 +3478,14 @@ declare class EfSelectComponent extends AbstractEfFormControl implements Control
3468
3478
  * value when ticked, `null` when unticked) — the latter pairs with
3469
3479
  * a parent NgModel array for multi-select scenarios.
3470
3480
  *
3481
+ * Two layouts, set by `inline`:
3482
+ * - `inline` (default) — box with its label to the right, for
3483
+ * standalone toggles and dense lists.
3484
+ * - `[inline]="false"` — field layout: the label sits above, like
3485
+ * `ef-select` / `ef-input-text`, and the box is centred in a
3486
+ * `--hit-base` row so it lines up with the inputs beside it in a
3487
+ * form grid.
3488
+ *
3471
3489
  * ```html
3472
3490
  * <ef-checkbox
3473
3491
  * labelKey="catalog.is_active"
@@ -3489,6 +3507,12 @@ declare class EfCheckboxComponent extends AbstractEfFormControl implements Contr
3489
3507
  * styled against `.ef-checkbox-native`.
3490
3508
  */
3491
3509
  variant: 'primeng' | 'comptoir';
3510
+ /** Label beside the box (default). `false` stacks the label above,
3511
+ * matching the other form fields in a grid row. */
3512
+ inline: boolean;
3513
+ get isStacked(): boolean;
3514
+ /** Whether the label renders beside the box (inline layout only). */
3515
+ get hasLabel(): boolean;
3492
3516
  /** Two-way bindable `[(checked)]`. */
3493
3517
  checked: any;
3494
3518
  checkedChange: EventEmitter<any>;
@@ -3508,8 +3532,9 @@ declare class EfCheckboxComponent extends AbstractEfFormControl implements Contr
3508
3532
  /** Handler for the native checkbox change event (Comptoir variant). */
3509
3533
  handleNativeChange(rawChecked: boolean): void;
3510
3534
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EfCheckboxComponent, never>;
3511
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfCheckboxComponent, "ef-checkbox", never, { "value": { "alias": "value"; "required": false; }; "binary": { "alias": "binary"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; }, { "checkedChange": "checkedChange"; }, never, never, true, never>;
3535
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfCheckboxComponent, "ef-checkbox", never, { "value": { "alias": "value"; "required": false; }; "binary": { "alias": "binary"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; }, { "checkedChange": "checkedChange"; }, never, never, true, never>;
3512
3536
  static ngAcceptInputType_binary: unknown;
3537
+ static ngAcceptInputType_inline: unknown;
3513
3538
  }
3514
3539
 
3515
3540
  /**
@@ -5400,6 +5425,74 @@ declare class EfChangePasswordComponent {
5400
5425
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfChangePasswordComponent, "ef-change-password", never, { "requireCurrent": { "alias": "requireCurrent"; "required": false; "isSignal": true; }; "busy": { "alias": "busy"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; }, { "submitted": "submitted"; }, never, never, true, never>;
5401
5426
  }
5402
5427
 
5428
+ /**
5429
+ * Comptoir radio group — one `p-radiobutton` per option, single value.
5430
+ *
5431
+ * Options follow the `ef-select` shape (`options` / `optionLabel` /
5432
+ * `optionValue`, change via `selectionChangeEvent`), so a short select
5433
+ * can become a radio group by swapping the tag.
5434
+ *
5435
+ * Two layouts, set by `inline`, matching `ef-checkbox`:
5436
+ * - `inline` (default) — group label and options on one line.
5437
+ * - `[inline]="false"` — field layout: the label sits above, like
5438
+ * `ef-select` / `ef-input-text`, and the options sit in a
5439
+ * `--hit-base` row so they line up with the inputs beside them in a
5440
+ * form grid.
5441
+ *
5442
+ * Options wrap when the row runs out of width, so a long list never
5443
+ * widens the page on a phone.
5444
+ *
5445
+ * ```html
5446
+ * <ef-radio
5447
+ * name="clientType"
5448
+ * labelKey="sales_clients_col_type"
5449
+ * [inline]="false"
5450
+ * [options]="context.ref.get('client_type')()"
5451
+ * optionLabel="label"
5452
+ * optionValue="code"
5453
+ * [value]="clientType()"
5454
+ * (selectionChangeEvent)="patchEntity({ clientType: $event })" />
5455
+ * ```
5456
+ */
5457
+ declare class EfRadioComponent extends AbstractEfFormControl implements ControlValueAccessor {
5458
+ options: any[];
5459
+ /** Property shown as the option's text. */
5460
+ optionLabel: string;
5461
+ /** Property used as the value. Unset → the whole option object. */
5462
+ optionValue?: string;
5463
+ /** Property that disables a single option when truthy. */
5464
+ optionDisabled?: string;
5465
+ /** Group label beside the options (default). `false` stacks it above,
5466
+ * matching the other form fields in a grid row. */
5467
+ inline: boolean;
5468
+ get isStacked(): boolean;
5469
+ value: any;
5470
+ selectionChangeEvent: EventEmitter<any>;
5471
+ private onChange;
5472
+ private onTouched;
5473
+ readonly ngControl: NgControl;
5474
+ constructor();
5475
+ get hasLabel(): boolean;
5476
+ /** Shared `name` so the browser treats the options as one group. */
5477
+ get groupName(): string;
5478
+ get labelId(): string;
5479
+ get showRequired(): boolean;
5480
+ get serverErrors(): string[] | null;
5481
+ get isInvalid(): boolean;
5482
+ optionValueOf(opt: any): any;
5483
+ optionLabelOf(opt: any): string;
5484
+ isOptionDisabled(opt: any): boolean;
5485
+ optionId(index: number): string;
5486
+ writeValue(value: any): void;
5487
+ registerOnChange(fn: (value: any) => void): void;
5488
+ registerOnTouched(fn: () => void): void;
5489
+ setDisabledState(isDisabled: boolean): void;
5490
+ handleChange(next: any): void;
5491
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EfRadioComponent, never>;
5492
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfRadioComponent, "ef-radio", never, { "options": { "alias": "options"; "required": false; }; "optionLabel": { "alias": "optionLabel"; "required": false; }; "optionValue": { "alias": "optionValue"; "required": false; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "selectionChangeEvent": "selectionChangeEvent"; }, never, never, true, never>;
5493
+ static ngAcceptInputType_inline: unknown;
5494
+ }
5495
+
5403
5496
  /**
5404
5497
  * Native Comptoir textarea — no PrimeNG wrapper. Pairs with the
5405
5498
  * `.ef-textarea` rule in `@elasticias/ui/styles/patterns` (focus
@@ -5995,5 +6088,5 @@ declare class EfEmailMetricsCardComponent {
5995
6088
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfEmailMetricsCardComponent, "ef-email-metrics-card", never, { "metrics": { "alias": "metrics"; "required": false; "isSignal": true; }; "recentEvents": { "alias": "recentEvents"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; }, { "rangeChange": "rangeChange"; }, never, never, true, never>;
5996
6089
  }
5997
6090
 
5998
- export { EF_BADGE_BG_COLORS, EF_BADGE_BG_LIGHT_COLORS, EF_BADGE_BORDER_COLORS, EF_BADGE_DEFAULTS, EF_BADGE_TEXT_COLORS, EF_CHART_PALETTE, EF_DATATABLE_ACTIONS_DEFAULTS, EF_DATATABLE_COLUMN_DEFAULTS, EF_DATATABLE_DEFAULTS, EF_DATA_CARD_MOBILE_LAYOUT, EF_STATUS_COLORS, EF_STATUS_COLOR_ALIASES, EfAboutDialogComponent, EfActivationFilterComponent, EfAppMainComponent, EfAppShellComponent, EfAppShellMobileComponent, EfAppTopComponent, EfBadgeComponent, EfBlockUiComponent, EfBlockableDivComponent, EfBottomSheetComponent, EfBuildStampComponent, EfBulkBarComponent, EfButtonComponent, EfButtonGroupComponent, EfCardComponent, EfChangeHistoryComponent, EfChangePasswordComponent, EfChartComponent, EfCheckboxComponent, EfClearButtonComponent, EfColumnHeaderTemplateDirective, EfColumnTemplateDirective, EfCompactPipe, EfConfirmDialogComponent, EfCurrencyPipe, EfDataCardComponent, EfDatatableActionBarComponent, EfDatatableComponent, EfDatepickerAdvancedComponent, EfDatepickerComponent, EfDetailToolbarComponent, EfDialogComponent, EfEmailMetricsCardComponent, EfEmptyStateComponent, EfFabComponent, EfFieldsetComponent, EfFilterDrawerComponent, EfFilterPillComponent, EfFormGridComponent, EfInputNumberComponent, EfInputTextComponent, EfKpiCardComponent, EfLabelComponent, EfModuleRailComponent, EfModuleSideComponent, EfMultiSelectComponent, EfOrderBuilderComponent, EfOrderSummaryComponent, EfOverflowTooltipDirective, EfPagerComponent, EfPasswordComponent, EfPdfPreviewComponent, EfPillGroupComponent, EfPresetPillComponent, EfPriceDisplayComponent, EfProductCatalogueComponent, EfProductCatalogueFilterComponent, EfProductTypeaheadComponent, EfProfileChipComponent, EfProfileMenuComponent, EfPulseComponent, EfQuantitySelectorComponent, EfQuantityStepperComponent, EfRankListComponent, EfRowActionsComponent, EfSearchToolbarComponent, EfSelectButtonComponent, EfSelectComponent, EfServerErrorsDirective, EfShortcutsDialogComponent, EfSkeletonComponent, EfSmartBarComponent, EfStatsComponent, EfStatusChipComponent, EfTabPanelDirective, EfTabsComponent, EfTextareaComponent, EfThemeConfiguratorComponent, EfThemeToggleComponent, EfTimelineComponent, EfToastRegionComponent, EfToggleSwitchComponent, EfToolbarComponent, EfTooltipDirective, EfTotalsComponent, OrderEntityHelper, OrderLineItemHelper, TruncatePipe, buildChartConfig, getColumnAlignment, mergeColumnDefaults, resolveEfStatusColor };
6091
+ export { EF_BADGE_BG_COLORS, EF_BADGE_BG_LIGHT_COLORS, EF_BADGE_BORDER_COLORS, EF_BADGE_DEFAULTS, EF_BADGE_TEXT_COLORS, EF_CHART_PALETTE, EF_DATATABLE_ACTIONS_DEFAULTS, EF_DATATABLE_COLUMN_DEFAULTS, EF_DATATABLE_DEFAULTS, EF_DATA_CARD_MOBILE_LAYOUT, EF_STATUS_COLORS, EF_STATUS_COLOR_ALIASES, EfAboutDialogComponent, EfActivationFilterComponent, EfAppMainComponent, EfAppShellComponent, EfAppShellMobileComponent, EfAppTopComponent, EfBadgeComponent, EfBlockUiComponent, EfBlockableDivComponent, EfBottomSheetComponent, EfBuildStampComponent, EfBulkBarComponent, EfButtonComponent, EfButtonGroupComponent, EfCardComponent, EfChangeHistoryComponent, EfChangePasswordComponent, EfChartComponent, EfCheckboxComponent, EfClearButtonComponent, EfColumnHeaderTemplateDirective, EfColumnTemplateDirective, EfCompactPipe, EfConfirmDialogComponent, EfCurrencyPipe, EfDataCardComponent, EfDatatableActionBarComponent, EfDatatableComponent, EfDatepickerAdvancedComponent, EfDatepickerComponent, EfDetailToolbarComponent, EfDialogComponent, EfEmailMetricsCardComponent, EfEmptyStateComponent, EfFabComponent, EfFieldsetComponent, EfFilterDrawerComponent, EfFilterPillComponent, EfFormGridComponent, EfInputNumberComponent, EfInputTextComponent, EfKpiCardComponent, EfLabelComponent, EfModuleRailComponent, EfModuleSideComponent, EfMultiSelectComponent, EfOrderBuilderComponent, EfOrderSummaryComponent, EfOverflowTooltipDirective, EfPagerComponent, EfPasswordComponent, EfPdfPreviewComponent, EfPillGroupComponent, EfPresetPillComponent, EfPriceDisplayComponent, EfProductCatalogueComponent, EfProductCatalogueFilterComponent, EfProductTypeaheadComponent, EfProfileChipComponent, EfProfileMenuComponent, EfPulseComponent, EfQuantitySelectorComponent, EfQuantityStepperComponent, EfRadioComponent, EfRankListComponent, EfRowActionsComponent, EfSearchToolbarComponent, EfSelectButtonComponent, EfSelectComponent, EfServerErrorsDirective, EfShortcutsDialogComponent, EfSkeletonComponent, EfSmartBarComponent, EfStatsComponent, EfStatusChipComponent, EfTabPanelDirective, EfTabsComponent, EfTextareaComponent, EfThemeConfiguratorComponent, EfThemeToggleComponent, EfTimelineComponent, EfToastRegionComponent, EfToggleSwitchComponent, EfToolbarComponent, EfTooltipDirective, EfTotalsComponent, OrderEntityHelper, OrderLineItemHelper, TruncatePipe, buildChartConfig, getColumnAlignment, mergeColumnDefaults, resolveEfStatusColor };
5999
6092
  export type { CatalogueProduct, CatalogueProductVariant, CategoryAssignment, CategoryGroup, CategoryItem, DatatableSearchEntity, DocumentConfig, EfAboutServer, EfBadgeColor, EfBadgeConfig, EfBadgeSize, EfBadgeVariant, EfButtonComptoirSeverity, EfButtonPrimeNGSeverity, EfButtonSeverity, EfChangeHistoryEntry, EfChangeHistoryFieldChange, EfChangePasswordSubmit, EfChartSeries, EfChartType, EfDataCardMobileLayout, EfDataCardRowAction, EfDatatableActions, EfDatatableColumn, EfDatatableColumnAlign, EfDatatableColumnType, EfDatatableConfig, EfDateFieldValue, EfDatePreset, EfDialogAction, EfDialogSeverity, EfDialogSize, EfFabPosition, EfKpiDeltaTone, EfKpiSparkline, EfPillItem, EfPresetItem, EfProfileMenuItem, EfRankRow, EfRowAction, EfSkeletonVariant, EfStatsRow, EfStatusColor, EfStatusReferenceItem, EfTabItem, EfTabsModule, EfTabsVariant, EfTimelineItem, EfTimelineState, EfToastRegionPosition, EfTotalsGrand, EfTotalsRow, HighlightSegment, OrderChangeInfo, OrderEntity, OrderLineItem, OrderProductsSummary, OrderSummaryItem, ProductCountGroup, ProductCountGroupLabel, ProductTypeaheadRow, ProductTypeaheadSelection, ProductWithCountGroup, SelectedFilter, ValidationResult };