@elasticias/ui 1.0.34 → 1.0.36

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.34",
3
+ "version": "1.0.36",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0",
@@ -3679,12 +3679,18 @@ input.ef-input[type='number'] {
3679
3679
  }
3680
3680
 
3681
3681
  /* The same centring, for the clear that PrimeNG owns rather than we do.
3682
- `ef-password` fills PrimeNG's `#clearicon` slot with the 22px `.ef-clear`
3683
- used by every other field, but PrimeNG offsets that slot by half of *its*
3684
- glyph, not ours — so the ✕ sat 3.2px below the middle while the mask toggle
3685
- beside it, which PrimeNG renders itself, was exactly centred. One field
3686
- looked level and the other did not, from the same 8px inset. */
3687
- .p-password-clear-icon {
3682
+ PrimeNG centres both password icons with `top: 50%; margin-top: -8px`, which
3683
+ is exact for the 16px mask toggle it draws itself and wrong for anything
3684
+ else. `ef-password` fills the `#clearicon` slot with the 22.5px `.ef-clear`
3685
+ every other field uses, so -8px is the wrong half and the ✕ sat 3.2px below
3686
+ the middle, beside a toggle that was perfectly level.
3687
+
3688
+ Scoped through `.ef-password-field` — the styleClass `ef-password` already
3689
+ puts on the wrapper — because PrimeNG's own rule is a single class and an
3690
+ unscoped override loses the `margin-top` while still winning the
3691
+ `transform`, which stacks both corrections and throws the ✕ 8px high
3692
+ instead. Measured after: clear 0.00, toggle 0.00, difference 0.00. */
3693
+ .ef-password-field .p-password-clear-icon {
3688
3694
  top: 50%;
3689
3695
  margin-top: 0;
3690
3696
  transform: translateY(-50%);
@@ -3468,6 +3468,14 @@ declare class EfSelectComponent extends AbstractEfFormControl implements Control
3468
3468
  * value when ticked, `null` when unticked) — the latter pairs with
3469
3469
  * a parent NgModel array for multi-select scenarios.
3470
3470
  *
3471
+ * Two layouts, set by `inline`:
3472
+ * - `inline` (default) — box with its label to the right, for
3473
+ * standalone toggles and dense lists.
3474
+ * - `[inline]="false"` — field layout: the label sits above, like
3475
+ * `ef-select` / `ef-input-text`, and the box is centred in a
3476
+ * `--hit-base` row so it lines up with the inputs beside it in a
3477
+ * form grid.
3478
+ *
3471
3479
  * ```html
3472
3480
  * <ef-checkbox
3473
3481
  * labelKey="catalog.is_active"
@@ -3489,6 +3497,12 @@ declare class EfCheckboxComponent extends AbstractEfFormControl implements Contr
3489
3497
  * styled against `.ef-checkbox-native`.
3490
3498
  */
3491
3499
  variant: 'primeng' | 'comptoir';
3500
+ /** Label beside the box (default). `false` stacks the label above,
3501
+ * matching the other form fields in a grid row. */
3502
+ inline: boolean;
3503
+ get isStacked(): boolean;
3504
+ /** Whether the label renders beside the box (inline layout only). */
3505
+ get hasLabel(): boolean;
3492
3506
  /** Two-way bindable `[(checked)]`. */
3493
3507
  checked: any;
3494
3508
  checkedChange: EventEmitter<any>;
@@ -3508,8 +3522,9 @@ declare class EfCheckboxComponent extends AbstractEfFormControl implements Contr
3508
3522
  /** Handler for the native checkbox change event (Comptoir variant). */
3509
3523
  handleNativeChange(rawChecked: boolean): void;
3510
3524
  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>;
3525
+ 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
3526
  static ngAcceptInputType_binary: unknown;
3527
+ static ngAcceptInputType_inline: unknown;
3513
3528
  }
3514
3529
 
3515
3530
  /**
@@ -5400,6 +5415,74 @@ declare class EfChangePasswordComponent {
5400
5415
  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
5416
  }
5402
5417
 
5418
+ /**
5419
+ * Comptoir radio group — one `p-radiobutton` per option, single value.
5420
+ *
5421
+ * Options follow the `ef-select` shape (`options` / `optionLabel` /
5422
+ * `optionValue`, change via `selectionChangeEvent`), so a short select
5423
+ * can become a radio group by swapping the tag.
5424
+ *
5425
+ * Two layouts, set by `inline`, matching `ef-checkbox`:
5426
+ * - `inline` (default) — group label and options on one line.
5427
+ * - `[inline]="false"` — field layout: the label sits above, like
5428
+ * `ef-select` / `ef-input-text`, and the options sit in a
5429
+ * `--hit-base` row so they line up with the inputs beside them in a
5430
+ * form grid.
5431
+ *
5432
+ * Options wrap when the row runs out of width, so a long list never
5433
+ * widens the page on a phone.
5434
+ *
5435
+ * ```html
5436
+ * <ef-radio
5437
+ * name="clientType"
5438
+ * labelKey="sales_clients_col_type"
5439
+ * [inline]="false"
5440
+ * [options]="context.ref.get('client_type')()"
5441
+ * optionLabel="label"
5442
+ * optionValue="code"
5443
+ * [value]="clientType()"
5444
+ * (selectionChangeEvent)="patchEntity({ clientType: $event })" />
5445
+ * ```
5446
+ */
5447
+ declare class EfRadioComponent extends AbstractEfFormControl implements ControlValueAccessor {
5448
+ options: any[];
5449
+ /** Property shown as the option's text. */
5450
+ optionLabel: string;
5451
+ /** Property used as the value. Unset → the whole option object. */
5452
+ optionValue?: string;
5453
+ /** Property that disables a single option when truthy. */
5454
+ optionDisabled?: string;
5455
+ /** Group label beside the options (default). `false` stacks it above,
5456
+ * matching the other form fields in a grid row. */
5457
+ inline: boolean;
5458
+ get isStacked(): boolean;
5459
+ value: any;
5460
+ selectionChangeEvent: EventEmitter<any>;
5461
+ private onChange;
5462
+ private onTouched;
5463
+ readonly ngControl: NgControl;
5464
+ constructor();
5465
+ get hasLabel(): boolean;
5466
+ /** Shared `name` so the browser treats the options as one group. */
5467
+ get groupName(): string;
5468
+ get labelId(): string;
5469
+ get showRequired(): boolean;
5470
+ get serverErrors(): string[] | null;
5471
+ get isInvalid(): boolean;
5472
+ optionValueOf(opt: any): any;
5473
+ optionLabelOf(opt: any): string;
5474
+ isOptionDisabled(opt: any): boolean;
5475
+ optionId(index: number): string;
5476
+ writeValue(value: any): void;
5477
+ registerOnChange(fn: (value: any) => void): void;
5478
+ registerOnTouched(fn: () => void): void;
5479
+ setDisabledState(isDisabled: boolean): void;
5480
+ handleChange(next: any): void;
5481
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EfRadioComponent, never>;
5482
+ 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>;
5483
+ static ngAcceptInputType_inline: unknown;
5484
+ }
5485
+
5403
5486
  /**
5404
5487
  * Native Comptoir textarea — no PrimeNG wrapper. Pairs with the
5405
5488
  * `.ef-textarea` rule in `@elasticias/ui/styles/patterns` (focus
@@ -5995,5 +6078,5 @@ declare class EfEmailMetricsCardComponent {
5995
6078
  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
6079
  }
5997
6080
 
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 };
6081
+ 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
6082
  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 };