@devjuliovilla/jv-ui 1.12.0 → 1.13.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.12.0",
3
+ "version": "1.13.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",
@@ -176,29 +176,47 @@ interface JvMonthCalendarDayContext {
176
176
  $implicit: JvMonthCalendarCell;
177
177
  cell: JvMonthCalendarCell;
178
178
  }
179
+ interface JvMonthCalendarNavigation {
180
+ previousMonth?: boolean;
181
+ nextMonth?: boolean;
182
+ previousYear?: boolean;
183
+ nextYear?: boolean;
184
+ }
179
185
  declare class JvMonthCalendarComponent {
180
186
  readonly translation: JvTranslationService;
181
187
  private readonly formatService;
182
188
  private readonly gridRootRef;
183
189
  private readonly customDayTemplate;
184
190
  readonly valueInput: _angular_core.InputSignal<string | Date | null | undefined>;
191
+ readonly visibleMonthInput: _angular_core.InputSignal<string | Date | null | undefined>;
185
192
  readonly ariaLabel: _angular_core.InputSignal<string>;
193
+ readonly monthLabel: _angular_core.InputSignal<string>;
194
+ readonly yearLabel: _angular_core.InputSignal<string>;
195
+ readonly minYear: _angular_core.InputSignal<number | null | undefined>;
196
+ readonly maxYear: _angular_core.InputSignal<number | null | undefined>;
197
+ readonly navigation: _angular_core.InputSignal<JvMonthCalendarNavigation | null>;
186
198
  readonly dayMeta: _angular_core.InputSignal<JvMonthCalendarDayMeta[]>;
187
199
  readonly selectionChange: _angular_core.OutputEmitterRef<Date>;
188
200
  readonly visibleMonthChange: _angular_core.OutputEmitterRef<Date>;
189
201
  protected readonly visibleMonth: _angular_core.WritableSignal<Date>;
190
202
  protected readonly focusedDate: _angular_core.WritableSignal<Date>;
191
203
  protected readonly resolvedAriaLabel: _angular_core.Signal<string>;
204
+ protected readonly resolvedMonthLabel: _angular_core.Signal<string>;
205
+ protected readonly resolvedYearLabel: _angular_core.Signal<string>;
206
+ protected readonly resolvedNavigation: _angular_core.Signal<Required<JvMonthCalendarNavigation>>;
192
207
  protected readonly monthOptions: _angular_core.Signal<JvSelectOption<string>[]>;
193
208
  protected readonly yearOptions: _angular_core.Signal<JvSelectOption<string>[]>;
194
209
  protected readonly weekdayLabels: _angular_core.Signal<string[]>;
195
210
  private readonly metaMap;
196
211
  protected readonly calendarCells: _angular_core.Signal<JvMonthCalendarCell[]>;
197
212
  private readonly selectedDate;
213
+ private readonly visibleMonthValue;
214
+ private readonly yearBounds;
198
215
  constructor();
199
216
  protected dayTemplate(): JvMonthCalendarDayDirective | undefined;
200
217
  protected dayContext(cell: JvMonthCalendarCell): JvMonthCalendarDayContext;
201
218
  protected shiftMonth(offset: number): void;
219
+ protected shiftYear(offset: number): void;
202
220
  protected handleMonthChange(value: string): void;
203
221
  protected handleYearChange(value: string): void;
204
222
  protected selectToday(): void;
@@ -210,9 +228,10 @@ declare class JvMonthCalendarComponent {
210
228
  protected isoDate(date: Date): string;
211
229
  private setVisibleMonth;
212
230
  private focusDateWithinVisibleMonth;
231
+ private focusDateForMonth;
213
232
  private focusDateButton;
214
233
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<JvMonthCalendarComponent, never>;
215
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<JvMonthCalendarComponent, "jv-month-calendar", never, { "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "dayMeta": { "alias": "dayMeta"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "visibleMonthChange": "visibleMonthChange"; }, ["customDayTemplate"], never, true, never>;
234
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<JvMonthCalendarComponent, "jv-month-calendar", never, { "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; "visibleMonthInput": { "alias": "visibleMonth"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "monthLabel": { "alias": "monthLabel"; "required": false; "isSignal": true; }; "yearLabel": { "alias": "yearLabel"; "required": false; "isSignal": true; }; "minYear": { "alias": "minYear"; "required": false; "isSignal": true; }; "maxYear": { "alias": "maxYear"; "required": false; "isSignal": true; }; "navigation": { "alias": "navigation"; "required": false; "isSignal": true; }; "dayMeta": { "alias": "dayMeta"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "visibleMonthChange": "visibleMonthChange"; }, ["customDayTemplate"], never, true, never>;
216
235
  }
217
236
 
218
237
  interface JvLoginSubmitEvent {
@@ -708,6 +727,8 @@ declare class JvModalSelectorComponent implements ControlValueAccessor {
708
727
  protected readonly dialogOpen: _angular_core.WritableSignal<boolean>;
709
728
  protected readonly searchQuery: _angular_core.WritableSignal<string>;
710
729
  protected readonly dialogId: string;
730
+ protected readonly listboxId: string;
731
+ protected readonly resultsId: string;
711
732
  protected readonly searchInputId: string;
712
733
  protected value: string | null;
713
734
  protected disabled: boolean;
@@ -766,6 +787,7 @@ declare class JvSelectComponent implements ControlValueAccessor {
766
787
  readonly required: _angular_core.InputSignal<boolean>;
767
788
  readonly invalid: _angular_core.InputSignal<boolean>;
768
789
  readonly describedBy: _angular_core.InputSignal<string>;
790
+ readonly ariaLabel: _angular_core.InputSignal<string>;
769
791
  readonly inputId: _angular_core.InputSignal<string>;
770
792
  readonly modelValue: _angular_core.InputSignal<string>;
771
793
  readonly selectionChange: _angular_core.OutputEmitterRef<string>;
@@ -781,7 +803,7 @@ declare class JvSelectComponent implements ControlValueAccessor {
781
803
  handleChange(event: Event): void;
782
804
  handleBlur(): void;
783
805
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<JvSelectComponent, never>;
784
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<JvSelectComponent, "jv-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "describedBy": { "alias": "describedBy"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "modelValue": { "alias": "modelValue"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
806
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<JvSelectComponent, "jv-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "describedBy": { "alias": "describedBy"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "modelValue": { "alias": "modelValue"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
785
807
  }
786
808
 
787
809
  declare class JvSwitchComponent implements ControlValueAccessor {
@@ -966,6 +988,7 @@ declare class JvConfirmDialogComponent {
966
988
  declare class JvDialogComponent {
967
989
  private readonly document;
968
990
  private readonly panelRef;
991
+ private previouslyFocusedElement;
969
992
  readonly open: _angular_core.InputSignal<boolean>;
970
993
  readonly title: _angular_core.InputSignal<string>;
971
994
  readonly closed: _angular_core.OutputEmitterRef<void>;
@@ -975,6 +998,7 @@ declare class JvDialogComponent {
975
998
  handleDocumentKeydown(event: KeyboardEvent): void;
976
999
  private focusInitialElement;
977
1000
  backdropClose(): void;
1001
+ private restoreFocus;
978
1002
  private trapFocus;
979
1003
  private getFocusableElements;
980
1004
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<JvDialogComponent, never>;
@@ -1179,6 +1203,7 @@ declare class JvFormatService {
1179
1203
  }
1180
1204
 
1181
1205
  declare class JvListComponent {
1206
+ readonly listId: _angular_core.InputSignal<string>;
1182
1207
  readonly role: _angular_core.InputSignal<"list" | "navigation">;
1183
1208
  readonly ariaRole: _angular_core.InputSignal<string | null>;
1184
1209
  readonly variant: _angular_core.InputSignal<"bordered" | null>;
@@ -1186,7 +1211,7 @@ declare class JvListComponent {
1186
1211
  protected readonly variantClass: _angular_core.Signal<string>;
1187
1212
  protected readonly resolvedRole: _angular_core.Signal<string | null>;
1188
1213
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<JvListComponent, never>;
1189
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<JvListComponent, "jv-list", never, { "role": { "alias": "role"; "required": false; "isSignal": true; }; "ariaRole": { "alias": "ariaRole"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1214
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<JvListComponent, "jv-list", never, { "listId": { "alias": "listId"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "ariaRole": { "alias": "ariaRole"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1190
1215
  }
1191
1216
 
1192
1217
  declare class JvListItemComponent {
@@ -1271,6 +1296,7 @@ declare class JvTooltipDirective implements OnDestroy {
1271
1296
  private showTimeout;
1272
1297
  private hideTimeout;
1273
1298
  private readonly tooltipId;
1299
+ private originalDescribedBy;
1274
1300
  readonly text: _angular_core.InputSignal<string>;
1275
1301
  readonly position: _angular_core.InputSignal<JvTooltipPosition>;
1276
1302
  protected show(): void;
@@ -1281,6 +1307,8 @@ declare class JvTooltipDirective implements OnDestroy {
1281
1307
  private renderTooltip;
1282
1308
  private positionTooltip;
1283
1309
  private destroyTooltip;
1310
+ private attachTooltipDescription;
1311
+ private restoreTooltipDescription;
1284
1312
  private anchorElement;
1285
1313
  private clearShowTimeout;
1286
1314
  private clearHideTimeout;
@@ -1389,6 +1417,7 @@ declare const JV_GRID_DEFAULT_OPTIONS: JvGridOptions;
1389
1417
 
1390
1418
  declare class JvGridComponent<T = any> {
1391
1419
  private readonly gridId;
1420
+ protected readonly gridSearchInputId: string;
1392
1421
  private readonly formatService;
1393
1422
  private readonly translationService;
1394
1423
  readonly data: _angular_core.InputSignal<T[]>;
@@ -1563,4 +1592,4 @@ declare class JvPaginationComponent {
1563
1592
  }
1564
1593
 
1565
1594
  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 };
1566
- 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, JvMonthCalendarResolvedMeta, JvNavItem, JvPaginationEvent, JvSelectOption, JvSliderImage, JvTabItem, JvTabTransition, JvTheme, JvThemeOption, JvToastItem, JvToastPosition, JvToastViewport, JvTone, JvTooltipPosition, JvTopbarAction, JvUiConfig, JvUiConfigInput, JvUiFormats };
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 };