@devjuliovilla/jv-ui 1.13.0 → 1.14.0

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": "@devjuliovilla/jv-ui",
3
- "version": "1.13.0",
3
+ "version": "1.14.0",
4
4
  "description": "Accessibility-first Angular component library — components, forms, data grids, dialogs, layout, services, and i18n infrastructure built with signals and standalone APIs.",
5
5
  "author": "@devjuliovilla",
6
6
  "license": "MIT",
@@ -8,7 +8,7 @@ type JvIntent = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'succ
8
8
  type JvTone = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'neutral';
9
9
 
10
10
  declare class JvButtonComponent {
11
- readonly type: _angular_core.InputSignal<"button" | "submit" | "reset">;
11
+ readonly type: _angular_core.InputSignal<"button" | "reset" | "submit">;
12
12
  readonly variant: _angular_core.InputSignal<JvIntent>;
13
13
  readonly icon: _angular_core.InputSignal<string | null>;
14
14
  readonly iconPosition: _angular_core.InputSignal<"start" | "end">;
@@ -571,7 +571,7 @@ declare class JvFormContainerComponent {
571
571
  }
572
572
 
573
573
  declare class JvInputComponent implements ControlValueAccessor {
574
- readonly type: _angular_core.InputSignal<"number" | "search" | "text" | "email" | "password">;
574
+ readonly type: _angular_core.InputSignal<"number" | "text" | "search" | "email" | "password">;
575
575
  readonly placeholder: _angular_core.InputSignal<string>;
576
576
  readonly required: _angular_core.InputSignal<boolean>;
577
577
  readonly invalid: _angular_core.InputSignal<boolean>;
@@ -1324,6 +1324,7 @@ interface JvGridSortState {
1324
1324
  direction: JvGridSortDirection;
1325
1325
  }
1326
1326
  type JvGridColumnType = 'text' | 'integer' | 'number' | 'currency' | 'percent' | 'date' | 'time' | 'datetime' | 'boolean';
1327
+ type JvGridEditType = 'text' | 'number' | 'date' | 'time' | 'datetime' | 'select' | 'boolean';
1327
1328
  type JvGridColumnFormatOptions = Intl.NumberFormatOptions & Intl.DateTimeFormatOptions;
1328
1329
  interface JvGridColumn<T = any> {
1329
1330
  key: keyof T | string;
@@ -1344,7 +1345,7 @@ interface JvGridColumn<T = any> {
1344
1345
  cellClass?: string;
1345
1346
  headerClass?: string;
1346
1347
  format?: (value: unknown, row: T) => string;
1347
- editType?: 'text' | 'number' | 'select' | 'boolean';
1348
+ editType?: JvGridEditType;
1348
1349
  editOptions?: {
1349
1350
  label: string;
1350
1351
  value: unknown;
@@ -1389,6 +1390,7 @@ interface JvGridOptions {
1389
1390
  exportFileName?: string;
1390
1391
  columnFilters?: boolean;
1391
1392
  rowDoubleClick?: boolean;
1393
+ keyboardNavigation?: boolean;
1392
1394
  }
1393
1395
  interface JvGridPageEvent {
1394
1396
  pageIndex: number;
@@ -1418,6 +1420,8 @@ declare const JV_GRID_DEFAULT_OPTIONS: JvGridOptions;
1418
1420
  declare class JvGridComponent<T = any> {
1419
1421
  private readonly gridId;
1420
1422
  protected readonly gridSearchInputId: string;
1423
+ private readonly destroyRef;
1424
+ private readonly document;
1421
1425
  private readonly formatService;
1422
1426
  private readonly translationService;
1423
1427
  readonly data: _angular_core.InputSignal<T[]>;
@@ -1425,7 +1429,7 @@ declare class JvGridComponent<T = any> {
1425
1429
  readonly actions: _angular_core.InputSignal<JvGridAction<T>[]>;
1426
1430
  readonly options: _angular_core.InputSignal<Partial<JvGridOptions>>;
1427
1431
  readonly trackBy: _angular_core.InputSignal<keyof T | ((row: T, index: number) => JvGridRowId) | null>;
1428
- readonly selectedIds: _angular_core.InputSignal<JvGridRowId[]>;
1432
+ readonly selectedIds: _angular_core.InputSignal<JvGridRowId[] | null>;
1429
1433
  readonly rowClick: _angular_core.OutputEmitterRef<T>;
1430
1434
  readonly rowDoubleClick: _angular_core.OutputEmitterRef<T>;
1431
1435
  readonly actionClick: _angular_core.OutputEmitterRef<{
@@ -1471,19 +1475,32 @@ declare class JvGridComponent<T = any> {
1471
1475
  exportFileName?: string;
1472
1476
  columnFilters?: boolean;
1473
1477
  rowDoubleClick?: boolean;
1478
+ keyboardNavigation?: boolean;
1474
1479
  }>;
1475
1480
  protected readonly gridLabel: _angular_core.Signal<string>;
1476
1481
  protected readonly columnOrder: _angular_core.WritableSignal<string[]>;
1477
1482
  protected readonly colFilters: _angular_core.WritableSignal<Record<string, JvGridColumnFilter>>;
1478
1483
  protected readonly columnWidths: _angular_core.WritableSignal<Record<string, string>>;
1484
+ protected readonly activeCell: _angular_core.WritableSignal<{
1485
+ row: number;
1486
+ column: number;
1487
+ }>;
1479
1488
  protected readonly visibleColumns: _angular_core.Signal<JvGridColumn<T>[]>;
1480
1489
  protected readonly groupedHeaders: _angular_core.Signal<JvGridColumn<T>[]>;
1481
1490
  private readonly internalSelectedIds;
1482
1491
  readonly searchTerm: _angular_core.WritableSignal<string>;
1483
1492
  readonly sortState: _angular_core.WritableSignal<JvGridSortState>;
1484
1493
  readonly pageIndex: _angular_core.WritableSignal<number>;
1494
+ private readonly internalPageSize;
1485
1495
  protected readonly pageSize: _angular_core.Signal<number>;
1496
+ protected readonly pageSizeStr: _angular_core.Signal<string>;
1497
+ protected readonly pageSizeOptions: _angular_core.Signal<{
1498
+ label: string;
1499
+ value: string;
1500
+ }[]>;
1501
+ private readonly pageSizeInputSync;
1486
1502
  private readonly searchPageResetter;
1503
+ private readonly pageBoundsGuard;
1487
1504
  private readonly selectedIdSet;
1488
1505
  protected readonly hasActiveFilters: _angular_core.Signal<boolean>;
1489
1506
  protected readonly filteredData: _angular_core.Signal<T[]>;
@@ -1491,9 +1508,10 @@ declare class JvGridComponent<T = any> {
1491
1508
  protected readonly effectiveTotalItems: _angular_core.Signal<number>;
1492
1509
  protected readonly effectiveTotalPages: _angular_core.Signal<number>;
1493
1510
  protected readonly displayData: _angular_core.Signal<T[]>;
1494
- protected readonly virtualScroll: _angular_core.Signal<number | false | undefined>;
1511
+ protected readonly virtualScrollEnabled: _angular_core.Signal<boolean | undefined>;
1495
1512
  protected readonly virtualStartIndex: _angular_core.WritableSignal<number>;
1496
1513
  protected readonly virtualEndIndex: _angular_core.WritableSignal<number>;
1514
+ private readonly virtualRangeResetter;
1497
1515
  protected readonly virtualDisplayData: _angular_core.Signal<T[]>;
1498
1516
  protected readonly virtualTotalHeight: _angular_core.Signal<number>;
1499
1517
  protected readonly virtualOffsetY: _angular_core.Signal<number>;
@@ -1504,6 +1522,13 @@ declare class JvGridComponent<T = any> {
1504
1522
  protected readonly someSelected: _angular_core.Signal<boolean>;
1505
1523
  protected readonly colspan: _angular_core.Signal<number>;
1506
1524
  protected readonly densityClass: _angular_core.Signal<string>;
1525
+ protected cellTabIndex(rowIndex: number, columnIndex: number, col: JvGridColumn<T>): number | null;
1526
+ private flattenColumns;
1527
+ protected onCellFocus(rowIndex: number, columnIndex: number): void;
1528
+ protected onCellKeydown(event: KeyboardEvent, rowIndex: number, columnIndex: number): void;
1529
+ protected onCellF2(event: Event, rowIndex: number, columnIndex: number): void;
1530
+ protected onHeaderFocus(columnIndex: number): void;
1531
+ protected onHeaderKeydown(event: KeyboardEvent, columnIndex: number): void;
1507
1532
  protected editState: _angular_core.WritableSignal<{
1508
1533
  rowId: JvGridRowId;
1509
1534
  colKey: string;
@@ -1514,6 +1539,14 @@ declare class JvGridComponent<T = any> {
1514
1539
  protected getRawCellValue(row: T, col: JvGridColumn<T>): unknown;
1515
1540
  protected getCellValue(row: T, col: JvGridColumn<T>): unknown;
1516
1541
  protected getEditValue(row: T, col: JvGridColumn<T>): string;
1542
+ protected getBooleanEditValue(row: T, col: JvGridColumn<T>): boolean;
1543
+ protected isBooleanTrue(value: unknown): boolean;
1544
+ protected editType(col: JvGridColumn<T>): JvGridEditType;
1545
+ protected inputType(col: JvGridColumn<T>): 'text' | 'number' | 'date' | 'time' | 'datetime-local';
1546
+ protected normalizeEditValue(col: JvGridColumn<T>, value: unknown): unknown;
1547
+ private toDateInputValue;
1548
+ private toDateTimeInputValue;
1549
+ private toTimeInputValue;
1517
1550
  protected formatValue(value: unknown, col: JvGridColumn<T>, _row: T): string;
1518
1551
  protected getComparableValue(value: unknown, col: JvGridColumn<T>): string | number | boolean | null;
1519
1552
  protected getSearchValue(value: unknown, col: JvGridColumn<T>): string;
@@ -1538,6 +1571,7 @@ declare class JvGridComponent<T = any> {
1538
1571
  protected goToPage(page: number): void;
1539
1572
  protected isSelected(row: T): boolean;
1540
1573
  protected toggleRow(row: T): void;
1574
+ protected onPageSizeChange(value: string): void;
1541
1575
  protected toggleSelectAll(checked: boolean): void;
1542
1576
  protected onRowClick(event: Event | T, row?: T): void;
1543
1577
  protected onRowDblClick(row: T): void;
@@ -1546,9 +1580,11 @@ declare class JvGridComponent<T = any> {
1546
1580
  protected getRowLabel(row: T, index: number): string;
1547
1581
  protected startEdit(row: T, col: JvGridColumn<T>, event: Event): void;
1548
1582
  protected commitEdit(row: T, col: JvGridColumn<T>, value: unknown): void;
1583
+ protected commitEditFromKeyboard(event: Event, row: T, col: JvGridColumn<T>, value: unknown): void;
1549
1584
  protected cancelEdit(): void;
1550
1585
  protected onEditValueChange(row: T, col: JvGridColumn<T>, value: string): void;
1551
1586
  private resizeData;
1587
+ constructor();
1552
1588
  protected onResizeStart(event: MouseEvent, col: JvGridColumn<T>, _colIdx: number): void;
1553
1589
  private readonly onResizeMove;
1554
1590
  private readonly onResizeEnd;
@@ -1592,4 +1628,4 @@ declare class JvPaginationComponent {
1592
1628
  }
1593
1629
 
1594
1630
  export { EN, ES, JV_DEFAULT_LOCALE, JV_FALLBACK_ICON_NAME, JV_GRID_DEFAULT_OPTIONS, JV_LOCALE_DICTIONARIES, JV_LUCIDE_ICON_REGISTRY, JV_UI_CONFIG, JV_UI_CONFIG_DEFAULTS, JV_UI_DEFAULT_CONFIG, JvAccordionComponent, JvAccordionPanelDirective, JvAlertComponent, JvAnnouncementService, JvBadgeComponent, JvBreadcrumbComponent, JvButtonComponent, JvButtonGroupComponent, JvCardComponent, JvChangePasswordPageComponent, JvCheckboxComponent, JvCodeComponent, JvCollapsiblePanelComponent, JvConfirmDialogComponent, JvDashboardShellComponent, JvDatePickerComponent, JvDayPlannerComponent, JvDayPlannerDetailDirective, JvDayPlannerItemDirective, JvDialogComponent, JvDialogService, JvDividerComponent, JvFileInputComponent, JvForgotPasswordPageComponent, JvFormContainerComponent, JvFormatService, JvGridComponent, JvIconButtonComponent, JvIconComponent, JvImageGalleryComponent, JvImageSliderComponent, JvInputComponent, JvListComponent, JvListItemComponent, JvLoaderComponent, JvLoaderService, JvLoginPageComponent, JvModalSelectorComponent, JvMonthCalendarComponent, JvMonthCalendarDayDirective, JvPageComponent, JvPaginationComponent, JvRadioComponent, JvSectionComponent, JvSelectComponent, JvSidebarComponent, JvSwitchComponent, JvTabPanelDirective, JvTabsComponent, JvTextareaComponent, JvThemeService, JvToastComponent, JvToastService, JvTooltipDirective, JvTopbarComponent, JvTranslationService, JvWindowModalComponent, provideJvUi };
1595
- export type { JvAccordionItem, JvActiveConfirmDialog, JvBreadcrumbItem, JvChangePasswordSubmitEvent, JvCodeFont, JvCollapsiblePanelVariant, JvConfirmOptions, JvDayPlannerDetailContext, JvDayPlannerItem, JvDayPlannerItemContext, JvDensity, JvFileInputRejection, JvForgotPasswordSubmitEvent, JvFormatKind, JvFormatOverrides, JvGalleryAction, JvGalleryImage, JvGridAction, JvGridColumn, JvGridColumnFilter, JvGridColumnFormatOptions, JvGridColumnReorderEvent, JvGridColumnResizeEvent, JvGridColumnType, JvGridColumnWidth, JvGridFilterOperator, JvGridOptions, JvGridPageEvent, JvGridRowEditEvent, JvGridRowId, JvGridSortDirection, JvGridSortState, JvGridTrackBy, JvIconDefinition, JvIconElement, JvIntent, JvListItemModel, JvLoaderState, JvLocale, JvLoginSubmitEvent, JvMessagesLocale, JvModalSelectorOption, JvMonthCalendarCell, JvMonthCalendarDayContext, JvMonthCalendarDayMeta, JvMonthCalendarNavigation, JvMonthCalendarResolvedMeta, JvNavItem, JvPaginationEvent, JvSelectOption, JvSliderImage, JvTabItem, JvTabTransition, JvTheme, JvThemeOption, JvToastItem, JvToastPosition, JvToastViewport, JvTone, JvTooltipPosition, JvTopbarAction, JvUiConfig, JvUiConfigInput, JvUiFormats };
1631
+ export type { JvAccordionItem, JvActiveConfirmDialog, JvBreadcrumbItem, JvChangePasswordSubmitEvent, JvCodeFont, JvCollapsiblePanelVariant, JvConfirmOptions, JvDayPlannerDetailContext, JvDayPlannerItem, JvDayPlannerItemContext, JvDensity, JvFileInputRejection, JvForgotPasswordSubmitEvent, JvFormatKind, JvFormatOverrides, JvGalleryAction, JvGalleryImage, JvGridAction, JvGridColumn, JvGridColumnFilter, JvGridColumnFormatOptions, JvGridColumnReorderEvent, JvGridColumnResizeEvent, JvGridColumnType, JvGridColumnWidth, JvGridEditType, JvGridFilterOperator, JvGridOptions, JvGridPageEvent, JvGridRowEditEvent, JvGridRowId, JvGridSortDirection, JvGridSortState, JvGridTrackBy, JvIconDefinition, JvIconElement, JvIntent, JvListItemModel, JvLoaderState, JvLocale, JvLoginSubmitEvent, JvMessagesLocale, JvModalSelectorOption, JvMonthCalendarCell, JvMonthCalendarDayContext, JvMonthCalendarDayMeta, JvMonthCalendarNavigation, JvMonthCalendarResolvedMeta, JvNavItem, JvPaginationEvent, JvSelectOption, JvSliderImage, JvTabItem, JvTabTransition, JvTheme, JvThemeOption, JvToastItem, JvToastPosition, JvToastViewport, JvTone, JvTooltipPosition, JvTopbarAction, JvUiConfig, JvUiConfigInput, JvUiFormats };