Компонент Calendar для Angular | ng-hub-ui-calendar

Компонент календаря для Angular с представлениями событий, drag and drop, шаблонами, интернационализацией и CSS-переменными для интерфейсов планирования.

Последнее обновление 1 сент. 2026 г.

Обзор

Почему команды ищут эту библиотеку

Этот компонент календаря для Angular спроектирован для интерфейсов планирования, которым нужны настраиваемые представления, рендеринг событий, drag and drop и готовая к продакшену тематизация.

Установка

npm install ng-hub-ui-calendar

Перейти к

Идеально для

  • инструменты бронирования
  • командные календари
  • планирование ресурсов
  • управление событиями

О библиотеке calendar

ng-hub-ui-calendar помогает командам Angular создавать инструменты бронирования, командные расписания и экраны планирования с переиспользуемой поверхностью календаря. Он поддерживает тот тип рендеринга событий и паттерны взаимодействия, которые ожидаются в реальных продуктах планирования.

Руководства по возможностям

Представления и навигация

Переключение между представлениями месяца, недели, дня и года и перемещение между периодами

Примеры:
Представления календаря

Представления календаря

September 2026

Sun
Mon
Tue
Wed
Thu
Fri
Sat
30
31
1
2
3
4
5
Team Meeting
Lunch Break
6
Project Deadline
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
Навигация

Навигация

События

Отображение событий и обработка взаимодействий с событиями и днями

Примеры:
Обработка событий

Обработка событий

September 2026

Sun
Mon
Tue
Wed
Thu
Fri
Sat
30
31
1
2
3
4
5
Important Meeting
Casual Lunch
6
Project Review
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
Переполнение содержимого события

Переполнение содержимого события

This example uses very long event titles and descriptions to verify that overflowing content does not resize calendar columns or break the month grid layout.

September 2026

Sun
Mon
Tue
Wed
Thu
Fri
Sat
30
31
1
2
3
4
5
6
LONG_EVENT_IDENTIFIER_WITHOUT_BREAKS_2026_RELEASE_READINESS_CHECKLIST_PHASE_ALPHA_001
7
8
Cross-team review with architecture, platform, QA, operations, and compliance stakeholders
9
10
Customer workshop: scope alignment, backlog refinement, and technical constraints review
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
События drag & drop

События drag & drop

Drag events to move them to different days.

September 2026

Sun
Mon
Tue
Wed
Thu
Fri
Sat
30
31
1
2
3
4
5
Movable Meeting
6
Reschedule This
7
Flexible Task
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10

Drop Log:

No drops yet. Try dragging an event!

Шаблоны

Настройка отрисовки событий и ячеек дней с помощью шаблонов

Примеры:
Пользовательские шаблоны

Пользовательские шаблоны

September 2026

Sun
Mon
Tue
Wed
Thu
Fri
Sat
30
31
1
2
3
4
52 events
61 events
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10

Конфигурация

Настройка поведения календаря через параметры конфигурации

Примеры:
Настройка календаря

Настройка календаря

September 2026

Mon
Tue
Wed
Thu
Fri
Sat
Sun
31
1
2
3
4
5
Morning Standup
Lunch Break
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11

Стилизация и i18n

Темизация через CSS-переменные и локализация календаря

Примеры:
Темизация через переменные CSS

Темизация через переменные CSS

This example customizes the calendar using --hub-calendar-* CSS variables.

September 2026

Sun
Mon
Tue
Wed
Thu
Fri
Sat
30
31
1
2
3
4
5
Design Review
6
Client Call
7
Roadmap Planning
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
Интернационализация (i18n)

Интернационализация (i18n)

Septiembre 2026

Lun
Mar
Mié
Jue
Vie
Sáb
Dom
31
1
2
3
4
5
International Meeting
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11

What moves with the locale

Weekday and month names, the Today shortcut and the view switcher all read from the same dictionary — chrome and data in one language, never half of each.

en and es ship with the library. Pick fr to see the documented fallback: an unbundled locale resolves to English rather than rendering blanks or raw keys.

To override the bundled strings, feed HUBUI.CALENDAR.* through provideHubTranslationAdapter(); the dictionary wins over locale, and the built-in entries remain the fallback.

Ключевые возможности

Последние изменения

Version 22.6.1 - 8/16/26, 12:00 AM

fixed: The header buttons ignored the locale. Today was written into the template by hand and the view switcher title-cased the enum, while the weekday and month names came from the dictionary — so a calendar with locale="es" rendered "Lun, Mar, Mié" underneath "Today / Month / Week / Day / Year", with nothing a consumer could pass to reconcile them. All five labels now resolve through the same lookup as the day and month names, honouring the injected translation service first and falling back to the built-in dictionary. English is unchanged.

Version 22.6.0 - 8/14/26, 12:00 AM

changed: Labels now resolve HUBUI.CALENDAR.* before the legacy calendar.* branch. The collision-safe namespace lets an application dictionary feed the calendar through provideHubTranslationAdapter() without reserving a top-level calendar key. Existing calendar.* dictionaries keep working — the legacy branch is still the fallback.

changed: Dictionary changes are now reactive. The component tracks translation-source emissions, so switching language refreshes the calendar labels instead of leaving the strings resolved at first render under OnPush.

added: README documentation for the application-wide translation adapter (provideHubTranslationAdapter() from ng-hub-ui-utils).

Version 22.5.1 - 8/8/26, 12:00 AM

fixed: Documentation links now point at the canonical localized URLs. The README linked to https://hubui.dev/<path> with no locale prefix and no trailing slash, and both forms are 301-redirected, so every reader arriving from npm or GitHub landed on a redirect instead of the canonical page.

Version 22.5.0 - 7/28/26, 12:00 AM

added: WAI-ARIA grid semantics on the month view (grid/row/columnheader/gridcell, aria-selected, aria-current="date", localized full-date labels).

added: Keyboard navigation on the month grid: roving tabindex, arrow keys by day/week, Home/End, PageUp/PageDown across months, Enter/Space to activate a day.

added: Event chips and year-view month cards are keyboard-activatable buttons (role="button", tabindex, Enter/Space); labelled prev/next buttons and aria-pressed view switcher.

added: Starter unit test suite for the component (rendering, navigation, keyboard, ARIA).

fixed: SSR-safe drag-end cleanup: the drag-over class sweep is scoped to the host element instead of the global document.

Version 22.4.1 - 7/26/26, 12:00 AM

fixed: Declared the real ng-hub-ui-utils peer range (>=22.6.0); the previous >=1.0.0 floor resolved to a utils major without HubOverflowTooltipDirective.

Version 21.1.1 - 3/19/26, 12:00 AM

changed: Co-locate SCSS with component via styleUrl; no manual @use import needed.

changed: Removed hardcoded design system token defaults from stylesheet.

fixed: Fixed grid overflow: added min-width: 0 to tracks, day cells, and event containers.

Version 21.1.0 - 3/10/26, 12:00 AM

added: Multiple calendar views: month, week, day, year.

added: Native drag-and-drop event support.

Связанные библиотеки