@progressive-development/pd-calendar 0.9.2 → 1.0.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/LICENSE +21 -2
- package/README.md +32 -57
- package/dist/generated/locales/be.d.ts +3 -0
- package/dist/generated/locales/be.d.ts.map +1 -1
- package/dist/generated/locales/de.d.ts +3 -0
- package/dist/generated/locales/de.d.ts.map +1 -1
- package/dist/generated/locales/en.d.ts +3 -0
- package/dist/generated/locales/en.d.ts.map +1 -1
- package/dist/index.d.ts +10 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -0
- package/dist/locales/be.js +4 -1
- package/dist/locales/de.js +3 -0
- package/dist/locales/en.js +4 -1
- package/dist/pd-calendar/PdCalendar.d.ts +101 -18
- package/dist/pd-calendar/PdCalendar.d.ts.map +1 -1
- package/dist/pd-calendar/PdCalendar.js +380 -264
- package/dist/pd-calendar/pd-calendar-cell/PdCalendarCell.d.ts +40 -33
- package/dist/pd-calendar/pd-calendar-cell/PdCalendarCell.d.ts.map +1 -1
- package/dist/pd-calendar/pd-calendar-cell/PdCalendarCell.js +173 -113
- package/dist/pd-calendar/pd-calendar-day-events-panel/PdCalendarDayEventsPanel.d.ts +27 -0
- package/dist/pd-calendar/pd-calendar-day-events-panel/PdCalendarDayEventsPanel.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-day-events-panel/PdCalendarDayEventsPanel.js +160 -0
- package/dist/pd-calendar/pd-calendar-day-events-panel/pd-calendar-day-events-panel.d.ts +3 -0
- package/dist/pd-calendar/pd-calendar-day-events-panel/pd-calendar-day-events-panel.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-day-events-panel/pd-calendar-day-events-panel.js +8 -0
- package/dist/pd-calendar/pd-calendar-event-cell/PdCalendarEventCell.d.ts +55 -0
- package/dist/pd-calendar/pd-calendar-event-cell/PdCalendarEventCell.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-event-cell/PdCalendarEventCell.js +341 -0
- package/dist/pd-calendar/pd-calendar-event-cell/pd-calendar-event-cell.d.ts +3 -0
- package/dist/pd-calendar/pd-calendar-event-cell/pd-calendar-event-cell.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-event-cell/pd-calendar-event-cell.js +8 -0
- package/dist/pd-calendar/pd-calendar-event-info-panel/PdCalendarEventInfoPanel.d.ts +29 -0
- package/dist/pd-calendar/pd-calendar-event-info-panel/PdCalendarEventInfoPanel.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-event-info-panel/PdCalendarEventInfoPanel.js +211 -0
- package/dist/pd-calendar/pd-calendar-event-info-panel/pd-calendar-event-info-panel.d.ts +3 -0
- package/dist/pd-calendar/pd-calendar-event-info-panel/pd-calendar-event-info-panel.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-event-info-panel/pd-calendar-event-info-panel.js +8 -0
- package/dist/pd-calendar/pd-calendar-list-cell/PdCalendarListCell.d.ts +28 -0
- package/dist/pd-calendar/pd-calendar-list-cell/PdCalendarListCell.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-list-cell/PdCalendarListCell.js +252 -0
- package/dist/pd-calendar/pd-calendar-list-cell/pd-calendar-list-cell.d.ts +3 -0
- package/dist/pd-calendar/pd-calendar-list-cell/pd-calendar-list-cell.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-list-cell/pd-calendar-list-cell.js +8 -0
- package/dist/pd-calendar/pd-calendar-list-view/PdCalendarListView.d.ts +26 -0
- package/dist/pd-calendar/pd-calendar-list-view/PdCalendarListView.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-list-view/PdCalendarListView.js +165 -0
- package/dist/pd-calendar/pd-calendar-list-view/pd-calendar-list-view.d.ts +3 -0
- package/dist/pd-calendar/pd-calendar-list-view/pd-calendar-list-view.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-list-view/pd-calendar-list-view.js +8 -0
- package/dist/pd-calendar/pd-calendar-month-view/PdCalendarMonthView.d.ts +55 -0
- package/dist/pd-calendar/pd-calendar-month-view/PdCalendarMonthView.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-month-view/PdCalendarMonthView.js +461 -0
- package/dist/pd-calendar/pd-calendar-month-view/pd-calendar-month-view.d.ts +3 -0
- package/dist/pd-calendar/pd-calendar-month-view/pd-calendar-month-view.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-month-view/pd-calendar-month-view.js +8 -0
- package/dist/pd-calendar/pd-calendar-time-grid-view/PdCalendarTimeGridView.d.ts +32 -0
- package/dist/pd-calendar/pd-calendar-time-grid-view/PdCalendarTimeGridView.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-time-grid-view/PdCalendarTimeGridView.js +468 -0
- package/dist/pd-calendar/pd-calendar-time-grid-view/pd-calendar-time-grid-view.d.ts +3 -0
- package/dist/pd-calendar/pd-calendar-time-grid-view/pd-calendar-time-grid-view.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-time-grid-view/pd-calendar-time-grid-view.js +8 -0
- package/dist/pd-calendar/pd-calendar-week-cell/PdCalendarWeekCell.d.ts +31 -0
- package/dist/pd-calendar/pd-calendar-week-cell/PdCalendarWeekCell.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-week-cell/PdCalendarWeekCell.js +134 -0
- package/dist/pd-calendar/pd-calendar-week-cell/pd-calendar-week-cell.d.ts +3 -0
- package/dist/pd-calendar/pd-calendar-week-cell/pd-calendar-week-cell.d.ts.map +1 -0
- package/dist/pd-calendar/pd-calendar-week-cell/pd-calendar-week-cell.js +8 -0
- package/dist/pd-calendar/pd-calendar.stories.d.ts +79 -19
- package/dist/pd-calendar/pd-calendar.stories.d.ts.map +1 -1
- package/dist/pd-calendar/pd-year-popup/PdYearPopup.d.ts +22 -11
- package/dist/pd-calendar/pd-year-popup/PdYearPopup.d.ts.map +1 -1
- package/dist/pd-calendar/pd-year-popup/PdYearPopup.js +152 -34
- package/dist/pd-datepicker/PdDatepicker.d.ts +76 -7
- package/dist/pd-datepicker/PdDatepicker.d.ts.map +1 -1
- package/dist/pd-datepicker/PdDatepicker.js +257 -50
- package/dist/pd-datepicker/pd-date-picker.stories.d.ts +78 -20
- package/dist/pd-datepicker/pd-date-picker.stories.d.ts.map +1 -1
- package/dist/pd-slot-picker/PdSlotPicker.d.ts +102 -0
- package/dist/pd-slot-picker/PdSlotPicker.d.ts.map +1 -0
- package/dist/pd-slot-picker/PdSlotPicker.js +339 -0
- package/dist/pd-slot-picker/pd-slot-cell/PdSlotCell.d.ts +35 -0
- package/dist/pd-slot-picker/pd-slot-cell/PdSlotCell.d.ts.map +1 -0
- package/dist/pd-slot-picker/pd-slot-cell/PdSlotCell.js +188 -0
- package/dist/pd-slot-picker/pd-slot-cell/pd-slot-cell.d.ts +3 -0
- package/dist/pd-slot-picker/pd-slot-cell/pd-slot-cell.d.ts.map +1 -0
- package/dist/pd-slot-picker/pd-slot-cell/pd-slot-cell.js +8 -0
- package/dist/pd-slot-picker/pd-slot-picker.d.ts +3 -0
- package/dist/pd-slot-picker/pd-slot-picker.d.ts.map +1 -0
- package/dist/pd-slot-picker/pd-slot-picker.stories.d.ts +67 -0
- package/dist/pd-slot-picker/pd-slot-picker.stories.d.ts.map +1 -0
- package/dist/pd-slot-picker.d.ts +2 -0
- package/dist/pd-slot-picker.js +8 -0
- package/dist/shared/PdBaseCell.d.ts +68 -0
- package/dist/shared/PdBaseCell.d.ts.map +1 -0
- package/dist/shared/PdBaseCell.js +120 -0
- package/dist/shared/PdBaseView.d.ts +22 -0
- package/dist/shared/PdBaseView.d.ts.map +1 -0
- package/dist/shared/PdBaseView.js +46 -0
- package/dist/shared/PdCalendarPanelBase.d.ts +34 -0
- package/dist/shared/PdCalendarPanelBase.d.ts.map +1 -0
- package/dist/shared/PdCalendarPanelBase.js +169 -0
- package/dist/shared/calendar-button-bar/calendar-button-bar.d.ts +41 -0
- package/dist/shared/calendar-button-bar/calendar-button-bar.d.ts.map +1 -0
- package/dist/shared/calendar-button-bar/calendar-button-bar.js +435 -0
- package/dist/shared/calendar-locales.d.ts +9 -0
- package/dist/shared/calendar-locales.d.ts.map +1 -0
- package/dist/shared/calendar-locales.js +30 -0
- package/dist/shared/calendar-utils.d.ts +34 -0
- package/dist/shared/calendar-utils.d.ts.map +1 -0
- package/dist/shared/calendar-utils.js +99 -0
- package/dist/shared/calendar-utils.test.d.ts +2 -0
- package/dist/shared/calendar-utils.test.d.ts.map +1 -0
- package/dist/types.d.ts +102 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +10 -5
- package/dist/pd-calendar/pd-calendar-cell/pd-calendar-cell.stories.d.ts +0 -15
- package/dist/pd-calendar/pd-calendar-cell/pd-calendar-cell.stories.d.ts.map +0 -1
|
@@ -1,23 +1,83 @@
|
|
|
1
|
-
import { StoryObj } from '@storybook/web-components';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/web-components-vite';
|
|
2
|
+
import { CalendarData, AvailableCalendarViewTypes } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Story arguments interface for pd-calendar component.
|
|
5
|
+
* Maps to the component's public API.
|
|
6
|
+
*/
|
|
7
|
+
interface PdCalendarArgs {
|
|
8
|
+
/** Reference date for initial calendar view */
|
|
9
|
+
refDate?: Date;
|
|
10
|
+
/** Whether weekends should be hidden */
|
|
11
|
+
hideWeekend: boolean;
|
|
12
|
+
/** Calendar data with info per date */
|
|
13
|
+
data: CalendarData;
|
|
14
|
+
/** Number of months allowed to navigate backwards (-1 = unlimited) */
|
|
15
|
+
prevMonthConstraint: number;
|
|
16
|
+
/** Number of months allowed to navigate forwards (-1 = unlimited) */
|
|
17
|
+
nextMonthConstraint: number;
|
|
18
|
+
/** Whether dates are selectable */
|
|
19
|
+
selectableDates: boolean;
|
|
20
|
+
/** Whether to show selection highlight */
|
|
21
|
+
showSelection: boolean;
|
|
22
|
+
/** Year selection popup values */
|
|
23
|
+
withYearPopup: string[];
|
|
24
|
+
/** CSS class for number positioning */
|
|
25
|
+
numberClass: string;
|
|
26
|
+
/** Enable mouse wheel navigation between months */
|
|
27
|
+
withWheelNavigation: boolean;
|
|
28
|
+
/** Enable touch swipe navigation between months */
|
|
29
|
+
withTouchNavigation: boolean;
|
|
30
|
+
/** Available view types for view toggle */
|
|
31
|
+
availableViewTypes?: AvailableCalendarViewTypes;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* ## pd-calendar
|
|
35
|
+
*
|
|
36
|
+
* A full-featured calendar component supporting month, list, and week views with
|
|
37
|
+
* date info, selection, navigation, and event management.
|
|
38
|
+
*
|
|
39
|
+
* ### Features
|
|
40
|
+
* - **Month View**: Displays a full month with navigation controls and date info
|
|
41
|
+
* - **List View**: Shows only dates with data in a compact list format
|
|
42
|
+
* - **Week View (timeGrid)**: Displays a weekly time grid with overlapping events
|
|
43
|
+
* - **Event Calendar**: Month view with event bars and info panel (`cellType="events"`)
|
|
44
|
+
* - **Special Days**: Highlight specific dates with category-based styling
|
|
45
|
+
* - **Navigation**: Arrow buttons, keyboard, mouse wheel, touch swipe, year popup
|
|
46
|
+
* - **Navigation Constraints**: Limit forward/backward month navigation
|
|
47
|
+
* - **Weekend Hiding**: Option to hide Saturday and Sunday
|
|
48
|
+
* - **Custom Date Range**: List view can display a specific date range
|
|
49
|
+
*
|
|
50
|
+
* ### Accessibility
|
|
51
|
+
* - `role="grid"` on the calendar grid with `aria-label` for current month/year
|
|
52
|
+
* - Arrow keys navigate between dates, Enter/Space selects
|
|
53
|
+
* - Home/End for first/last day of month
|
|
54
|
+
* - `aria-selected` on selected dates
|
|
55
|
+
* - `tabindex` management for keyboard focus (0 when selectable, -1 when read-only)
|
|
56
|
+
* - Focus-visible styling for keyboard users
|
|
57
|
+
*/
|
|
58
|
+
declare const meta: Meta<PdCalendarArgs>;
|
|
12
59
|
export default meta;
|
|
13
|
-
type Story = StoryObj
|
|
14
|
-
|
|
60
|
+
type Story = StoryObj<PdCalendarArgs>;
|
|
61
|
+
/** Default calendar without data or constraints. Interactive via Controls panel. */
|
|
62
|
+
export declare const Default: Story;
|
|
63
|
+
/** Calendar with price info per date and forward/backward navigation constraints. */
|
|
15
64
|
export declare const WithInfoAndConstraints: Story;
|
|
65
|
+
/** Calendar with category-highlighted special days (green background). */
|
|
16
66
|
export declare const WithSpecialDays: Story;
|
|
17
|
-
|
|
18
|
-
export declare const
|
|
19
|
-
|
|
20
|
-
export declare const
|
|
21
|
-
|
|
22
|
-
export declare const
|
|
67
|
+
/** Compact selectable calendar with year popup, centered numbers, and reduced width. */
|
|
68
|
+
export declare const Selectable: Story;
|
|
69
|
+
/** List view with title, description, time, and category colors. Toggle between month and list view. */
|
|
70
|
+
export declare const ListView: Story;
|
|
71
|
+
/** All time display variants in list view: no time, start only, start+end, and full day. */
|
|
72
|
+
export declare const ListViewTimeVariants: Story;
|
|
73
|
+
/** List view with a custom date range spanning multiple months. Navigation is disabled in range mode. */
|
|
74
|
+
export declare const ListViewCustomRange: Story;
|
|
75
|
+
/** Week view (timeGrid) with timed events, full-day events, and overlapping events. */
|
|
76
|
+
export declare const WeekView: Story;
|
|
77
|
+
/** Week view with custom time window (8:00-18:00) and visible days configuration. */
|
|
78
|
+
export declare const WeekViewBusinessHours: Story;
|
|
79
|
+
/** Month view with event bars per day using `cellType="events"`. Click an event bar to open the info panel. */
|
|
80
|
+
export declare const EventCalendar: Story;
|
|
81
|
+
/** CSS Custom Properties -- Branded and Redesigned calendar variants. */
|
|
82
|
+
export declare const CustomStyling: Story;
|
|
23
83
|
//# sourceMappingURL=pd-calendar.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pd-calendar.stories.d.ts","sourceRoot":"","sources":["../../src/pd-calendar/pd-calendar.stories.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pd-calendar.stories.d.ts","sourceRoot":"","sources":["../../src/pd-calendar/pd-calendar.stories.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAKrE,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAI3B,MAAM,aAAa,CAAC;AAMrB;;;GAGG;AACH,UAAU,cAAc;IACtB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,wCAAwC;IACxC,WAAW,EAAE,OAAO,CAAC;IACrB,uCAAuC;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,sEAAsE;IACtE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mCAAmC;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,0CAA0C;IAC1C,aAAa,EAAE,OAAO,CAAC;IACvB,kCAAkC;IAClC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mDAAmD;IACnD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,2CAA2C;IAC3C,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;CACjD;AA+ED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,cAAc,CAoG9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;AAMtC,oFAAoF;AACpF,eAAO,MAAM,OAAO,EAAE,KAgBrB,CAAC;AAMF,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,EAAE,KAiBpC,CAAC;AAMF,0EAA0E;AAC1E,eAAO,MAAM,eAAe,EAAE,KAgB7B,CAAC;AAMF,wFAAwF;AACxF,eAAO,MAAM,UAAU,EAAE,KAwCxB,CAAC;AAMF,wGAAwG;AACxG,eAAO,MAAM,QAAQ,EAAE,KA4FtB,CAAC;AAMF,4FAA4F;AAC5F,eAAO,MAAM,oBAAoB,EAAE,KAiElC,CAAC;AAMF,yGAAyG;AACzG,eAAO,MAAM,mBAAmB,EAAE,KAkEjC,CAAC;AAMF,uFAAuF;AACvF,eAAO,MAAM,QAAQ,EAAE,KAuHtB,CAAC;AAMF,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,EAAE,KA2EnC,CAAC;AAMF,+GAA+G;AAC/G,eAAO,MAAM,aAAa,EAAE,KAmI3B,CAAC;AAMF,yEAAyE;AACzE,eAAO,MAAM,aAAa,EAAE,KAyF3B,CAAC"}
|
|
@@ -1,27 +1,38 @@
|
|
|
1
1
|
import { LitElement, CSSResultGroup } from 'lit';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Accessible year selection popup component.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Displays a listbox of selectable years with full keyboard navigation
|
|
6
|
+
* and ARIA support for screen readers.
|
|
7
7
|
*
|
|
8
|
-
* @
|
|
9
|
-
* @
|
|
8
|
+
* @event change-year-selection - Fired when a year is selected. Detail: `{ year: string }`.
|
|
9
|
+
* @event abort-year-selection - Fired when popup is closed without selection (Escape, click outside).
|
|
10
10
|
*
|
|
11
11
|
* @tagname pd-year-popup
|
|
12
|
+
*
|
|
13
|
+
* @cssprop --pd-year-popup-bg-col - Background color. Default: `var(--pd-default-bg-col)`.
|
|
14
|
+
* @cssprop --pd-year-popup-border-col - Border color. Default: `var(--pd-default-disabled-light-col)`.
|
|
12
15
|
*/
|
|
13
16
|
export declare class PdYearPopup extends LitElement {
|
|
14
|
-
/**
|
|
15
|
-
* Liste der auswählbaren Jahre.
|
|
16
|
-
*/
|
|
17
|
+
/** List of selectable years. */
|
|
17
18
|
yearSelection: string[];
|
|
18
|
-
/**
|
|
19
|
-
* Aktuell ausgewähltes Jahr.
|
|
20
|
-
*/
|
|
19
|
+
/** Currently selected year (highlighted). */
|
|
21
20
|
currentYear: string;
|
|
21
|
+
/** @ignore - Index of currently focused item for keyboard navigation */
|
|
22
|
+
private _focusedIndex;
|
|
23
|
+
private _listEl;
|
|
24
|
+
private _boundHandleClickOutside;
|
|
22
25
|
static styles: CSSResultGroup;
|
|
26
|
+
connectedCallback(): void;
|
|
27
|
+
disconnectedCallback(): void;
|
|
28
|
+
firstUpdated(): void;
|
|
23
29
|
render(): import('lit').TemplateResult<1>;
|
|
30
|
+
private _getItemClasses;
|
|
31
|
+
private _onKeyDown;
|
|
32
|
+
private _scrollToFocused;
|
|
24
33
|
private _yearSelection;
|
|
34
|
+
private _selectYear;
|
|
25
35
|
private _closeSelection;
|
|
36
|
+
private _handleClickOutside;
|
|
26
37
|
}
|
|
27
38
|
//# sourceMappingURL=PdYearPopup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PdYearPopup.d.ts","sourceRoot":"","sources":["../../../src/pd-calendar/pd-year-popup/PdYearPopup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAG5D
|
|
1
|
+
{"version":3,"file":"PdYearPopup.d.ts","sourceRoot":"","sources":["../../../src/pd-calendar/pd-year-popup/PdYearPopup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAG5D;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAY,SAAQ,UAAU;IACzC,gCAAgC;IAEhC,aAAa,EAAE,MAAM,EAAE,CAAM;IAE7B,6CAA6C;IAE7C,WAAW,SAAM;IAEjB,wEAAwE;IAExE,OAAO,CAAC,aAAa,CAAM;IAG3B,OAAO,CAAC,OAAO,CAAoB;IAEnC,OAAO,CAAC,wBAAwB,CAAuC;IAEvE,OAAgB,MAAM,EAAE,cAAc,CAgFpC;IAEO,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;IAK5B,YAAY,IAAI,IAAI;IAYpB,MAAM;IA8Bf,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,UAAU;IAiDlB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,mBAAmB;CAM5B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LitElement, css, html } from 'lit';
|
|
2
|
-
import { property } from 'lit/decorators.js';
|
|
2
|
+
import { property, state, query } from 'lit/decorators.js';
|
|
3
3
|
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
5
5
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
@@ -15,6 +15,8 @@ class PdYearPopup extends LitElement {
|
|
|
15
15
|
super(...arguments);
|
|
16
16
|
this.yearSelection = [];
|
|
17
17
|
this.currentYear = "";
|
|
18
|
+
this._focusedIndex = -1;
|
|
19
|
+
this._boundHandleClickOutside = this._handleClickOutside.bind(this);
|
|
18
20
|
}
|
|
19
21
|
static {
|
|
20
22
|
this.styles = [
|
|
@@ -32,12 +34,13 @@ class PdYearPopup extends LitElement {
|
|
|
32
34
|
overflow-y: auto;
|
|
33
35
|
|
|
34
36
|
margin: 0;
|
|
35
|
-
padding:
|
|
37
|
+
padding: var(--pd-spacing-xs) 0;
|
|
36
38
|
width: 90px;
|
|
37
|
-
background: var(--pd-
|
|
38
|
-
box-shadow:
|
|
39
|
-
border-radius:
|
|
40
|
-
border: 1px solid
|
|
39
|
+
background: var(--pd-year-popup-bg-col, var(--pd-default-bg-col));
|
|
40
|
+
box-shadow: var(--pd-shadow-lg);
|
|
41
|
+
border-radius: var(--pd-radius-lg);
|
|
42
|
+
border: 1px solid
|
|
43
|
+
var(--pd-year-popup-border-col, var(--pd-default-disabled-light-col));
|
|
41
44
|
|
|
42
45
|
display: flex;
|
|
43
46
|
flex-direction: column;
|
|
@@ -45,49 +48,95 @@ class PdYearPopup extends LitElement {
|
|
|
45
48
|
scrollbar-width: thin;
|
|
46
49
|
}
|
|
47
50
|
|
|
51
|
+
ul:focus {
|
|
52
|
+
outline: none;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
ul:focus-visible {
|
|
56
|
+
outline: 2px solid var(--pd-focus-ring-col);
|
|
57
|
+
outline-offset: 2px;
|
|
58
|
+
}
|
|
59
|
+
|
|
48
60
|
ul::-webkit-scrollbar {
|
|
49
61
|
width: 6px;
|
|
50
62
|
}
|
|
51
63
|
|
|
52
64
|
ul::-webkit-scrollbar-thumb {
|
|
53
|
-
background-color:
|
|
54
|
-
border-radius:
|
|
65
|
+
background-color: var(--pd-default-disabled-col);
|
|
66
|
+
border-radius: var(--pd-radius-sm);
|
|
55
67
|
}
|
|
56
68
|
|
|
57
69
|
li {
|
|
58
70
|
text-align: center;
|
|
59
|
-
padding:
|
|
60
|
-
margin: 0
|
|
61
|
-
font-size:
|
|
62
|
-
|
|
63
|
-
|
|
71
|
+
padding: var(--pd-spacing-xs) var(--pd-spacing-sm);
|
|
72
|
+
margin: 0 var(--pd-spacing-xs);
|
|
73
|
+
font-size: 0.9em;
|
|
74
|
+
font-family: var(--pd-default-font-content-family);
|
|
75
|
+
border-radius: var(--pd-radius-sm);
|
|
76
|
+
color: var(--pd-default-dark-col);
|
|
77
|
+
cursor: pointer;
|
|
64
78
|
transition:
|
|
65
|
-
background-color 0.
|
|
66
|
-
color 0.
|
|
79
|
+
background-color 0.15s ease,
|
|
80
|
+
color 0.15s ease;
|
|
67
81
|
}
|
|
68
82
|
|
|
69
|
-
li
|
|
70
|
-
background-color: var(--pd-default-
|
|
71
|
-
|
|
72
|
-
|
|
83
|
+
li:hover {
|
|
84
|
+
background-color: var(--pd-default-bg-light-col);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
li.focused {
|
|
88
|
+
outline: 2px solid var(--pd-focus-ring-col);
|
|
89
|
+
outline-offset: -2px;
|
|
73
90
|
}
|
|
74
91
|
|
|
75
92
|
li.current {
|
|
76
|
-
background-color: var(--pd-default-
|
|
77
|
-
color:
|
|
78
|
-
font-weight:
|
|
93
|
+
background-color: var(--pd-default-col);
|
|
94
|
+
color: var(--pd-on-primary-col);
|
|
95
|
+
font-weight: 600;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
li.current:hover {
|
|
99
|
+
background-color: var(--pd-default-dark-col);
|
|
79
100
|
}
|
|
80
101
|
`
|
|
81
102
|
];
|
|
82
103
|
}
|
|
104
|
+
connectedCallback() {
|
|
105
|
+
super.connectedCallback();
|
|
106
|
+
setTimeout(() => {
|
|
107
|
+
document.addEventListener("click", this._boundHandleClickOutside);
|
|
108
|
+
}, 0);
|
|
109
|
+
}
|
|
110
|
+
disconnectedCallback() {
|
|
111
|
+
super.disconnectedCallback();
|
|
112
|
+
document.removeEventListener("click", this._boundHandleClickOutside);
|
|
113
|
+
}
|
|
114
|
+
firstUpdated() {
|
|
115
|
+
const currentIndex = this.yearSelection.indexOf(this.currentYear);
|
|
116
|
+
this._focusedIndex = currentIndex >= 0 ? currentIndex : 0;
|
|
117
|
+
this.updateComplete.then(() => {
|
|
118
|
+
this._listEl?.focus();
|
|
119
|
+
this._scrollToFocused();
|
|
120
|
+
});
|
|
121
|
+
}
|
|
83
122
|
render() {
|
|
84
123
|
return html`
|
|
85
|
-
<ul
|
|
124
|
+
<ul
|
|
125
|
+
role="listbox"
|
|
126
|
+
aria-label="Jahr auswählen"
|
|
127
|
+
aria-activedescendant="${this._focusedIndex >= 0 ? `year-option-${this._focusedIndex}` : ""}"
|
|
128
|
+
tabindex="0"
|
|
129
|
+
@keydown=${this._onKeyDown}
|
|
130
|
+
>
|
|
86
131
|
${this.yearSelection.map(
|
|
87
|
-
(year) => html`
|
|
132
|
+
(year, index) => html`
|
|
88
133
|
<li
|
|
89
|
-
|
|
134
|
+
id="year-option-${index}"
|
|
135
|
+
role="option"
|
|
136
|
+
aria-selected="${this.currentYear === year}"
|
|
137
|
+
class="${this._getItemClasses(year, index)}"
|
|
90
138
|
data-year="${year}"
|
|
139
|
+
data-index="${index}"
|
|
91
140
|
@click=${this._yearSelection}
|
|
92
141
|
>
|
|
93
142
|
${year}
|
|
@@ -97,21 +146,78 @@ class PdYearPopup extends LitElement {
|
|
|
97
146
|
</ul>
|
|
98
147
|
`;
|
|
99
148
|
}
|
|
149
|
+
_getItemClasses(year, index) {
|
|
150
|
+
const classes = [];
|
|
151
|
+
if (this.currentYear === year) {
|
|
152
|
+
classes.push("current");
|
|
153
|
+
}
|
|
154
|
+
if (this._focusedIndex === index) {
|
|
155
|
+
classes.push("focused");
|
|
156
|
+
}
|
|
157
|
+
return classes.join(" ");
|
|
158
|
+
}
|
|
159
|
+
_onKeyDown(e) {
|
|
160
|
+
const lastIndex = this.yearSelection.length - 1;
|
|
161
|
+
switch (e.key) {
|
|
162
|
+
case "ArrowDown":
|
|
163
|
+
e.preventDefault();
|
|
164
|
+
this._focusedIndex = Math.min(this._focusedIndex + 1, lastIndex);
|
|
165
|
+
this._scrollToFocused();
|
|
166
|
+
break;
|
|
167
|
+
case "ArrowUp":
|
|
168
|
+
e.preventDefault();
|
|
169
|
+
this._focusedIndex = Math.max(this._focusedIndex - 1, 0);
|
|
170
|
+
this._scrollToFocused();
|
|
171
|
+
break;
|
|
172
|
+
case "Home":
|
|
173
|
+
e.preventDefault();
|
|
174
|
+
this._focusedIndex = 0;
|
|
175
|
+
this._scrollToFocused();
|
|
176
|
+
break;
|
|
177
|
+
case "End":
|
|
178
|
+
e.preventDefault();
|
|
179
|
+
this._focusedIndex = lastIndex;
|
|
180
|
+
this._scrollToFocused();
|
|
181
|
+
break;
|
|
182
|
+
case "Enter":
|
|
183
|
+
case " ":
|
|
184
|
+
e.preventDefault();
|
|
185
|
+
if (this._focusedIndex >= 0) {
|
|
186
|
+
this._selectYear(this.yearSelection[this._focusedIndex]);
|
|
187
|
+
}
|
|
188
|
+
break;
|
|
189
|
+
case "Escape":
|
|
190
|
+
e.preventDefault();
|
|
191
|
+
e.stopPropagation();
|
|
192
|
+
this._closeSelection();
|
|
193
|
+
break;
|
|
194
|
+
case "Tab":
|
|
195
|
+
this._closeSelection();
|
|
196
|
+
break;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
_scrollToFocused() {
|
|
200
|
+
const focusedEl = this.shadowRoot?.getElementById(
|
|
201
|
+
`year-option-${this._focusedIndex}`
|
|
202
|
+
);
|
|
203
|
+
focusedEl?.scrollIntoView({ block: "nearest" });
|
|
204
|
+
}
|
|
100
205
|
_yearSelection(event) {
|
|
101
206
|
const target = event.currentTarget;
|
|
102
207
|
const year = target.dataset.year;
|
|
103
208
|
if (year) {
|
|
104
|
-
this.
|
|
105
|
-
new CustomEvent("change-year-selection", {
|
|
106
|
-
detail: { year },
|
|
107
|
-
bubbles: true,
|
|
108
|
-
composed: true
|
|
109
|
-
})
|
|
110
|
-
);
|
|
111
|
-
} else {
|
|
112
|
-
this._closeSelection();
|
|
209
|
+
this._selectYear(year);
|
|
113
210
|
}
|
|
114
211
|
}
|
|
212
|
+
_selectYear(year) {
|
|
213
|
+
this.dispatchEvent(
|
|
214
|
+
new CustomEvent("change-year-selection", {
|
|
215
|
+
detail: { year },
|
|
216
|
+
bubbles: true,
|
|
217
|
+
composed: true
|
|
218
|
+
})
|
|
219
|
+
);
|
|
220
|
+
}
|
|
115
221
|
_closeSelection() {
|
|
116
222
|
this.dispatchEvent(
|
|
117
223
|
new CustomEvent("abort-year-selection", {
|
|
@@ -120,6 +226,12 @@ class PdYearPopup extends LitElement {
|
|
|
120
226
|
})
|
|
121
227
|
);
|
|
122
228
|
}
|
|
229
|
+
_handleClickOutside(event) {
|
|
230
|
+
const path = event.composedPath();
|
|
231
|
+
if (!path.includes(this)) {
|
|
232
|
+
this._closeSelection();
|
|
233
|
+
}
|
|
234
|
+
}
|
|
123
235
|
}
|
|
124
236
|
__decorateClass([
|
|
125
237
|
property({ type: Array })
|
|
@@ -127,5 +239,11 @@ __decorateClass([
|
|
|
127
239
|
__decorateClass([
|
|
128
240
|
property({ type: String })
|
|
129
241
|
], PdYearPopup.prototype, "currentYear");
|
|
242
|
+
__decorateClass([
|
|
243
|
+
state()
|
|
244
|
+
], PdYearPopup.prototype, "_focusedIndex");
|
|
245
|
+
__decorateClass([
|
|
246
|
+
query("ul")
|
|
247
|
+
], PdYearPopup.prototype, "_listEl");
|
|
130
248
|
|
|
131
249
|
export { PdYearPopup };
|
|
@@ -1,33 +1,70 @@
|
|
|
1
1
|
import { PropertyValues, CSSResultGroup } from 'lit';
|
|
2
2
|
import { PdBaseInputElement } from '@progressive-development/pd-forms';
|
|
3
3
|
/**
|
|
4
|
+
* Datepicker component for selecting single dates or date ranges with optional time selection.
|
|
5
|
+
*
|
|
4
6
|
* @tagname pd-datepicker
|
|
7
|
+
* @summary Date/time picker with calendar popup, range selection, and form integration.
|
|
8
|
+
*
|
|
9
|
+
* @event pd-form-element-change - Fired when the selected date/time value changes. Detail: `{ value: string, parsedValue: { start?: Date, end?: Date } }`.
|
|
10
|
+
* @event pd-form-element-blur - Fired when the field loses focus.
|
|
11
|
+
* @event pd-form-element-focus - Fired when the field gains focus.
|
|
5
12
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
13
|
+
* @cssprop --pd-input-field-width - Width of the datepicker input. Default: `250px`.
|
|
14
|
+
* @cssprop --pd-input-field-height - Height of the datepicker input. Default: `32px`.
|
|
15
|
+
* @cssprop --pd-datepicker-z-index - Z-index of the calendar popup. Default: `1000`.
|
|
16
|
+
* @cssprop --pd-menu-shadow - Box shadow for the calendar popup. Default: `var(--pd-shadow-lg)`.
|
|
8
17
|
*/
|
|
9
18
|
export declare class PdDatepicker extends PdBaseInputElement {
|
|
19
|
+
/** Locale for date formatting. */
|
|
10
20
|
locale?: string;
|
|
21
|
+
/** Initial date value to pre-populate the field. */
|
|
11
22
|
initialDate?: Date;
|
|
12
|
-
/**
|
|
13
|
-
* Format für Datum. Default ist "yyyy-MM-dd".
|
|
14
|
-
*/
|
|
23
|
+
/** Date format string (date-fns format). Default: `yyyy-MM-dd`. */
|
|
15
24
|
dateFormat?: string;
|
|
25
|
+
/** Enable date range selection mode. */
|
|
16
26
|
dateRange: boolean;
|
|
27
|
+
/** Hide the "Today" button in the calendar popup. */
|
|
17
28
|
hideToday: boolean;
|
|
29
|
+
/** Year values for year selection dropdown. Empty array disables popup. */
|
|
18
30
|
withYearPopup: string[];
|
|
31
|
+
/** Placeholder text for time selection. */
|
|
19
32
|
placeHolderTime?: string;
|
|
33
|
+
/** Enable time selection alongside date. */
|
|
20
34
|
withTime: boolean;
|
|
35
|
+
/** Minimum selectable date (YYYY-MM-DD format). */
|
|
21
36
|
min?: string;
|
|
37
|
+
/** Maximum selectable date (YYYY-MM-DD format). */
|
|
22
38
|
max?: string;
|
|
39
|
+
/** Array of specific dates to disable (YYYY-MM-DD format). */
|
|
40
|
+
disabledDays: string[];
|
|
41
|
+
/** Force modal display regardless of screen size. */
|
|
42
|
+
modal: boolean;
|
|
43
|
+
/** Breakpoint (in px) below which modal is automatically used. Default: 480 */
|
|
44
|
+
modalBreakpoint: number;
|
|
45
|
+
/** @ignore */
|
|
23
46
|
private _showCalendar;
|
|
47
|
+
/** @ignore */
|
|
24
48
|
private _startDateValue?;
|
|
49
|
+
/** @ignore */
|
|
25
50
|
private _endDateValue?;
|
|
51
|
+
/** @ignore */
|
|
26
52
|
private _rangeSelection?;
|
|
53
|
+
/** @ignore */
|
|
27
54
|
private _timeSelection;
|
|
55
|
+
/** @ignore */
|
|
56
|
+
private _useModal;
|
|
57
|
+
/** @ignore */
|
|
58
|
+
private _displayedMonth;
|
|
59
|
+
/** @ignore */
|
|
28
60
|
private _calendarPosition;
|
|
61
|
+
/** @ignore */
|
|
62
|
+
private _boundHandleClickOutside?;
|
|
63
|
+
/** Time selection options with i18n placeholder. */
|
|
64
|
+
private get _timeOptions();
|
|
29
65
|
static styles: CSSResultGroup;
|
|
30
66
|
constructor();
|
|
67
|
+
disconnectedCallback(): void;
|
|
31
68
|
private _requiredDateTimeValidator;
|
|
32
69
|
update(changedProps: PropertyValues<this>): void;
|
|
33
70
|
render(): import('lit').TemplateResult<1>;
|
|
@@ -47,7 +84,8 @@ export declare class PdDatepicker extends PdBaseInputElement {
|
|
|
47
84
|
*/
|
|
48
85
|
_getInitialValue(): string;
|
|
49
86
|
/**
|
|
50
|
-
*
|
|
87
|
+
* Returns the parsed date values.
|
|
88
|
+
* @returns Object with start and optional end date: `{ start?: Date; end?: Date }`
|
|
51
89
|
*/
|
|
52
90
|
_getParsedValue(): any;
|
|
53
91
|
/**
|
|
@@ -63,9 +101,30 @@ export declare class PdDatepicker extends PdBaseInputElement {
|
|
|
63
101
|
*/
|
|
64
102
|
private _updateInputField;
|
|
65
103
|
/**
|
|
66
|
-
*
|
|
104
|
+
* Toggle view calendar on click into pd-input field.
|
|
67
105
|
*/
|
|
68
106
|
private _inputClick;
|
|
107
|
+
/**
|
|
108
|
+
* Handle keyboard events on the input field.
|
|
109
|
+
* Enter toggles calendar, Space/ArrowDown opens, Escape closes.
|
|
110
|
+
*/
|
|
111
|
+
private _onInputKeyDown;
|
|
112
|
+
/**
|
|
113
|
+
* Handle keyboard events within the popup.
|
|
114
|
+
*/
|
|
115
|
+
private _onPopupKeyDown;
|
|
116
|
+
/**
|
|
117
|
+
* Open the calendar popup.
|
|
118
|
+
*/
|
|
119
|
+
private _openCalendar;
|
|
120
|
+
/**
|
|
121
|
+
* Close the calendar popup and return focus to input.
|
|
122
|
+
*/
|
|
123
|
+
private _closeCalendar;
|
|
124
|
+
/**
|
|
125
|
+
* Handle clicks outside the popup.
|
|
126
|
+
*/
|
|
127
|
+
private _handleClickOutside;
|
|
69
128
|
/**
|
|
70
129
|
* Triggered by date selection in small calendar.
|
|
71
130
|
* Set internal values depending on daterange configuration.
|
|
@@ -88,6 +147,11 @@ export declare class PdDatepicker extends PdBaseInputElement {
|
|
|
88
147
|
* Set selected value and close calendar.
|
|
89
148
|
*/
|
|
90
149
|
private _triggerSetValueButton;
|
|
150
|
+
/**
|
|
151
|
+
* Handle month change from calendar navigation.
|
|
152
|
+
* Updates _displayedMonth to recalculate constraints for the new month.
|
|
153
|
+
*/
|
|
154
|
+
private _onCalendarMonthChange;
|
|
91
155
|
/**
|
|
92
156
|
* Calculate range of dates between two dates on mouse over.
|
|
93
157
|
* Only needed for date range visuell selection in small calendar.
|
|
@@ -102,6 +166,11 @@ export declare class PdDatepicker extends PdBaseInputElement {
|
|
|
102
166
|
* @returns string with date value
|
|
103
167
|
*/
|
|
104
168
|
private _formatDateValue;
|
|
169
|
+
/**
|
|
170
|
+
* Builds calendar data with disabled days based on min/max constraints and disabledDays.
|
|
171
|
+
* Merges with existing range selection data.
|
|
172
|
+
*/
|
|
173
|
+
private _buildConstrainedData;
|
|
105
174
|
private _innerEnter;
|
|
106
175
|
private _innerRegister;
|
|
107
176
|
private _innerUnRegister;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PdDatepicker.d.ts","sourceRoot":"","sources":["../../src/pd-datepicker/PdDatepicker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,cAAc,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"PdDatepicker.d.ts","sourceRoot":"","sources":["../../src/pd-datepicker/PdDatepicker.ts"],"names":[],"mappings":"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"}
|