@keenthemes/ktui 1.0.28 → 1.1.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/README.md +27 -0
- package/dist/ktui.js +8780 -6199
- package/dist/ktui.min.js +1 -1
- package/dist/ktui.min.js.map +1 -1
- package/dist/styles.css +2744 -1367
- package/lib/cjs/components/alert/alert.js +1025 -0
- package/lib/cjs/components/alert/alert.js.map +1 -0
- package/lib/cjs/components/alert/index.js +20 -0
- package/lib/cjs/components/alert/index.js.map +1 -0
- package/lib/cjs/components/alert/templates.js +120 -0
- package/lib/cjs/components/alert/templates.js.map +1 -0
- package/lib/cjs/components/alert/types.js +7 -0
- package/lib/cjs/components/alert/types.js.map +1 -0
- package/lib/cjs/components/datepicker/config/config.js +42 -0
- package/lib/cjs/components/datepicker/config/config.js.map +1 -0
- package/lib/cjs/components/datepicker/config/index.js +24 -0
- package/lib/cjs/components/datepicker/config/index.js.map +1 -0
- package/lib/cjs/components/datepicker/config/interfaces.js +7 -0
- package/lib/cjs/components/datepicker/config/interfaces.js.map +1 -0
- package/lib/cjs/components/datepicker/config/types.js +7 -0
- package/lib/cjs/components/datepicker/config/types.js.map +1 -0
- package/lib/cjs/components/datepicker/core/event-manager.js +135 -0
- package/lib/cjs/components/datepicker/core/event-manager.js.map +1 -0
- package/lib/cjs/components/datepicker/core/focus-manager.js +167 -0
- package/lib/cjs/components/datepicker/core/focus-manager.js.map +1 -0
- package/lib/cjs/components/datepicker/core/helpers.js +219 -0
- package/lib/cjs/components/datepicker/core/helpers.js.map +1 -0
- package/lib/cjs/components/datepicker/core/index.js +25 -0
- package/lib/cjs/components/datepicker/core/index.js.map +1 -0
- package/lib/cjs/components/datepicker/core/unified-state-manager.js +394 -0
- package/lib/cjs/components/datepicker/core/unified-state-manager.js.map +1 -0
- package/lib/cjs/components/datepicker/datepicker.js +2066 -763
- package/lib/cjs/components/datepicker/datepicker.js.map +1 -1
- package/lib/cjs/components/datepicker/index.js +19 -8
- package/lib/cjs/components/datepicker/index.js.map +1 -1
- package/lib/cjs/components/datepicker/ui/index.js +23 -0
- package/lib/cjs/components/datepicker/ui/index.js.map +1 -0
- package/lib/cjs/components/datepicker/ui/input/dropdown.js +489 -0
- package/lib/cjs/components/datepicker/ui/input/dropdown.js.map +1 -0
- package/lib/cjs/components/datepicker/ui/input/index.js +23 -0
- package/lib/cjs/components/datepicker/ui/input/index.js.map +1 -0
- package/lib/cjs/components/datepicker/ui/input/segmented-input.js +640 -0
- package/lib/cjs/components/datepicker/ui/input/segmented-input.js.map +1 -0
- package/lib/cjs/components/datepicker/ui/renderers/calendar.js +446 -0
- package/lib/cjs/components/datepicker/ui/renderers/calendar.js.map +1 -0
- package/lib/cjs/components/datepicker/ui/renderers/footer.js +42 -0
- package/lib/cjs/components/datepicker/ui/renderers/footer.js.map +1 -0
- package/lib/cjs/components/datepicker/ui/renderers/header.js +32 -0
- package/lib/cjs/components/datepicker/ui/renderers/header.js.map +1 -0
- package/lib/cjs/components/datepicker/ui/renderers/index.js +25 -0
- package/lib/cjs/components/datepicker/ui/renderers/index.js.map +1 -0
- package/lib/cjs/components/datepicker/ui/renderers/time-picker.js +384 -0
- package/lib/cjs/components/datepicker/ui/renderers/time-picker.js.map +1 -0
- package/lib/cjs/components/datepicker/ui/templates/index.js +22 -0
- package/lib/cjs/components/datepicker/ui/templates/index.js.map +1 -0
- package/lib/cjs/components/datepicker/ui/templates/templates.js +253 -0
- package/lib/cjs/components/datepicker/ui/templates/templates.js.map +1 -0
- package/lib/cjs/components/datepicker/utils/date-formatters.js +88 -0
- package/lib/cjs/components/datepicker/utils/date-formatters.js.map +1 -0
- package/lib/cjs/components/datepicker/utils/date-utils.js +194 -0
- package/lib/cjs/components/datepicker/utils/date-utils.js.map +1 -0
- package/lib/cjs/components/datepicker/utils/index.js +24 -0
- package/lib/cjs/components/datepicker/utils/index.js.map +1 -0
- package/lib/cjs/components/datepicker/utils/time-utils.js +213 -0
- package/lib/cjs/components/datepicker/utils/time-utils.js.map +1 -0
- package/lib/cjs/index.js +6 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/esm/components/alert/alert.js +1022 -0
- package/lib/esm/components/alert/alert.js.map +1 -0
- package/lib/esm/components/alert/index.js +4 -0
- package/lib/esm/components/alert/index.js.map +1 -0
- package/lib/esm/components/alert/templates.js +112 -0
- package/lib/esm/components/alert/templates.js.map +1 -0
- package/lib/esm/components/alert/types.js +6 -0
- package/lib/esm/components/alert/types.js.map +1 -0
- package/lib/esm/components/datepicker/config/config.js +39 -0
- package/lib/esm/components/datepicker/config/config.js.map +1 -0
- package/lib/esm/components/datepicker/config/index.js +8 -0
- package/lib/esm/components/datepicker/config/index.js.map +1 -0
- package/lib/esm/components/datepicker/config/interfaces.js +6 -0
- package/lib/esm/components/datepicker/config/interfaces.js.map +1 -0
- package/lib/esm/components/datepicker/config/types.js +6 -0
- package/lib/esm/components/datepicker/config/types.js.map +1 -0
- package/lib/esm/components/datepicker/core/event-manager.js +133 -0
- package/lib/esm/components/datepicker/core/event-manager.js.map +1 -0
- package/lib/esm/components/datepicker/core/focus-manager.js +164 -0
- package/lib/esm/components/datepicker/core/focus-manager.js.map +1 -0
- package/lib/esm/components/datepicker/core/helpers.js +211 -0
- package/lib/esm/components/datepicker/core/helpers.js.map +1 -0
- package/lib/esm/components/datepicker/core/index.js +9 -0
- package/lib/esm/components/datepicker/core/index.js.map +1 -0
- package/lib/esm/components/datepicker/core/unified-state-manager.js +391 -0
- package/lib/esm/components/datepicker/core/unified-state-manager.js.map +1 -0
- package/lib/esm/components/datepicker/datepicker.js +2065 -763
- package/lib/esm/components/datepicker/datepicker.js.map +1 -1
- package/lib/esm/components/datepicker/index.js +6 -8
- package/lib/esm/components/datepicker/index.js.map +1 -1
- package/lib/esm/components/datepicker/ui/index.js +7 -0
- package/lib/esm/components/datepicker/ui/index.js.map +1 -0
- package/lib/esm/components/datepicker/ui/input/dropdown.js +486 -0
- package/lib/esm/components/datepicker/ui/input/dropdown.js.map +1 -0
- package/lib/esm/components/datepicker/ui/input/index.js +7 -0
- package/lib/esm/components/datepicker/ui/input/index.js.map +1 -0
- package/lib/esm/components/datepicker/ui/input/segmented-input.js +637 -0
- package/lib/esm/components/datepicker/ui/input/segmented-input.js.map +1 -0
- package/lib/esm/components/datepicker/ui/renderers/calendar.js +443 -0
- package/lib/esm/components/datepicker/ui/renderers/calendar.js.map +1 -0
- package/lib/esm/components/datepicker/ui/renderers/footer.js +39 -0
- package/lib/esm/components/datepicker/ui/renderers/footer.js.map +1 -0
- package/lib/esm/components/datepicker/ui/renderers/header.js +29 -0
- package/lib/esm/components/datepicker/ui/renderers/header.js.map +1 -0
- package/lib/esm/components/datepicker/ui/renderers/index.js +9 -0
- package/lib/esm/components/datepicker/ui/renderers/index.js.map +1 -0
- package/lib/esm/components/datepicker/ui/renderers/time-picker.js +381 -0
- package/lib/esm/components/datepicker/ui/renderers/time-picker.js.map +1 -0
- package/lib/esm/components/datepicker/ui/templates/index.js +6 -0
- package/lib/esm/components/datepicker/ui/templates/index.js.map +1 -0
- package/lib/esm/components/datepicker/ui/templates/templates.js +242 -0
- package/lib/esm/components/datepicker/ui/templates/templates.js.map +1 -0
- package/lib/esm/components/datepicker/utils/date-formatters.js +83 -0
- package/lib/esm/components/datepicker/utils/date-formatters.js.map +1 -0
- package/lib/esm/components/datepicker/utils/date-utils.js +184 -0
- package/lib/esm/components/datepicker/utils/date-utils.js.map +1 -0
- package/lib/esm/components/datepicker/utils/index.js +8 -0
- package/lib/esm/components/datepicker/utils/index.js.map +1 -0
- package/lib/esm/components/datepicker/utils/time-utils.js +201 -0
- package/lib/esm/components/datepicker/utils/time-utils.js.map +1 -0
- package/lib/esm/index.js +4 -0
- package/lib/esm/index.js.map +1 -1
- package/package.json +22 -3
- package/src/components/alert/alert.css +429 -188
- package/src/components/alert/alert.ts +990 -0
- package/src/components/alert/index.ts +4 -0
- package/src/components/alert/templates.ts +110 -0
- package/src/components/alert/tests/accessibility/aria-roles.test.ts +19 -0
- package/src/components/alert/tests/accessibility/focus-management.test.ts +19 -0
- package/src/components/alert/tests/accessibility/keyboard-nav.test.ts +22 -0
- package/src/components/alert/tests/actions/confirm-cancel.test.ts +122 -0
- package/src/components/alert/tests/actions/input-field.test.ts +180 -0
- package/src/components/alert/tests/alert.basic.test.ts +126 -0
- package/src/components/alert/tests/alert.config.test.ts +75 -0
- package/src/components/alert/tests/alert.templates.test.ts +17 -0
- package/src/components/alert/tests/config/attribute-config.test.ts +94 -0
- package/src/components/alert/tests/config/json-config.test.ts +119 -0
- package/src/components/alert/tests/config/merging.test.ts +89 -0
- package/src/components/alert/tests/dismissal/auto-dismiss.test.ts +96 -0
- package/src/components/alert/tests/dismissal/escape-key-dismiss.test.ts +105 -0
- package/src/components/alert/tests/dismissal/manual-dismiss.test.ts +90 -0
- package/src/components/alert/tests/dismissal/outside-click-dismiss.test.ts +91 -0
- package/src/components/alert/tests/edge-cases/invalid-config.test.ts +19 -0
- package/src/components/alert/tests/edge-cases/multiple-alerts.test.ts +19 -0
- package/src/components/alert/tests/rendering/custom-content.test.ts +81 -0
- package/src/components/alert/tests/rendering/info-alert.test.ts +84 -0
- package/src/components/alert/tests/rendering/success-alert.test.ts +100 -0
- package/src/components/alert/tests/templates/default-templates.test.ts +16 -0
- package/src/components/alert/tests/templates/user-templates.test.ts +16 -0
- package/src/components/alert/types.ts +145 -0
- package/src/components/datepicker/__tests__/datepicker-events.test.ts +356 -0
- package/src/components/datepicker/__tests__/datepicker-init.test.ts +343 -0
- package/src/components/datepicker/__tests__/datepicker-integration.test.ts +435 -0
- package/src/components/datepicker/__tests__/datepicker-timezone.test.ts +220 -0
- package/src/components/datepicker/__tests__/segmented-input-focus.test.ts +380 -0
- package/src/components/datepicker/__tests__/selective-state-updates.test.ts +400 -0
- package/src/components/datepicker/__tests__/state-manager.test.ts +421 -0
- package/src/components/datepicker/__tests__/time-preservation.test.ts +387 -0
- package/src/components/datepicker/config/config.ts +40 -0
- package/src/components/datepicker/config/index.ts +8 -0
- package/src/components/datepicker/config/interfaces.ts +82 -0
- package/src/components/datepicker/config/types.ts +188 -0
- package/src/components/datepicker/core/event-manager.ts +159 -0
- package/src/components/datepicker/core/focus-manager.ts +201 -0
- package/src/components/datepicker/core/helpers.ts +231 -0
- package/src/components/datepicker/core/index.ts +9 -0
- package/src/components/datepicker/core/unified-state-manager.ts +459 -0
- package/src/components/datepicker/datepicker.css +429 -1
- package/src/components/datepicker/datepicker.ts +2538 -1277
- package/src/components/datepicker/index.ts +6 -8
- package/src/components/datepicker/ui/index.ts +7 -0
- package/src/components/datepicker/ui/input/dropdown.ts +552 -0
- package/src/components/datepicker/ui/input/index.ts +7 -0
- package/src/components/datepicker/ui/input/segmented-input.ts +638 -0
- package/src/components/datepicker/ui/renderers/__tests__/calendar-optimizations.test.ts +611 -0
- package/src/components/datepicker/ui/renderers/calendar.ts +530 -0
- package/src/components/datepicker/ui/renderers/footer.ts +43 -0
- package/src/components/datepicker/ui/renderers/header.ts +33 -0
- package/src/components/datepicker/ui/renderers/index.ts +9 -0
- package/src/components/datepicker/ui/renderers/time-picker.ts +438 -0
- package/src/components/datepicker/ui/templates/index.ts +6 -0
- package/src/components/datepicker/ui/templates/templates.ts +306 -0
- package/src/components/datepicker/utils/__tests__/date-formatters.test.ts +160 -0
- package/src/components/datepicker/utils/__tests__/date-utils-keys.test.ts +86 -0
- package/src/components/datepicker/utils/__tests__/date-utils-timezone.test.ts +215 -0
- package/src/components/datepicker/utils/date-formatters.ts +85 -0
- package/src/components/datepicker/utils/date-utils.ts +172 -0
- package/src/components/datepicker/utils/index.ts +8 -0
- package/src/components/datepicker/utils/time-utils.ts +221 -0
- package/src/index.ts +7 -1
- package/CONTRIBUTING.md +0 -101
- package/examples/datatable/checkbox-events-test.html +0 -400
- package/examples/datatable/credentials-test.html +0 -423
- package/examples/datatable/remote-checkbox-test.html +0 -365
- package/examples/datatable/sorting-test.html +0 -258
- package/examples/image-input/file-upload-example.html +0 -189
- package/examples/modal/persistent.html +0 -205
- package/examples/modal/remote-select-dropdown.html +0 -166
- package/examples/modal/select-dropdown-container.html +0 -129
- package/examples/select/avatar.html +0 -47
- package/examples/select/basic-usage.html +0 -39
- package/examples/select/country.html +0 -43
- package/examples/select/dark-mode.html +0 -93
- package/examples/select/description.html +0 -53
- package/examples/select/disable-option.html +0 -37
- package/examples/select/disable-select.html +0 -35
- package/examples/select/dropdowncontainer.html +0 -111
- package/examples/select/dynamic-methods.html +0 -273
- package/examples/select/formdata-remote.html +0 -161
- package/examples/select/global-config.html +0 -81
- package/examples/select/icon-multiple.html +0 -50
- package/examples/select/icon.html +0 -48
- package/examples/select/max-selection.html +0 -38
- package/examples/select/modal-container.html +0 -128
- package/examples/select/modal-positioning-test.html +0 -338
- package/examples/select/modal.html +0 -80
- package/examples/select/multiple.html +0 -40
- package/examples/select/native-selected.html +0 -64
- package/examples/select/placeholder.html +0 -40
- package/examples/select/remote-data-preselected.html +0 -283
- package/examples/select/remote-data.html +0 -38
- package/examples/select/search.html +0 -57
- package/examples/select/sizes.html +0 -94
- package/examples/select/tags-enhanced.html +0 -86
- package/examples/select/tags-icons.html +0 -57
- package/examples/select/template-customization.html +0 -61
- package/examples/sticky/README.md +0 -158
- package/examples/sticky/debug-sticky.html +0 -144
- package/examples/sticky/test-runner.html +0 -175
- package/examples/sticky/test-sticky-logic.js +0 -369
- package/examples/sticky/test-sticky-positioning.html +0 -386
- package/examples/toast/example.html +0 -479
- package/lib/cjs/components/datepicker/calendar.js +0 -1061
- package/lib/cjs/components/datepicker/calendar.js.map +0 -1
- package/lib/cjs/components/datepicker/config.js +0 -332
- package/lib/cjs/components/datepicker/config.js.map +0 -1
- package/lib/cjs/components/datepicker/dropdown.js +0 -635
- package/lib/cjs/components/datepicker/dropdown.js.map +0 -1
- package/lib/cjs/components/datepicker/events.js +0 -129
- package/lib/cjs/components/datepicker/events.js.map +0 -1
- package/lib/cjs/components/datepicker/keyboard.js +0 -536
- package/lib/cjs/components/datepicker/keyboard.js.map +0 -1
- package/lib/cjs/components/datepicker/locales.js +0 -78
- package/lib/cjs/components/datepicker/locales.js.map +0 -1
- package/lib/cjs/components/datepicker/templates.js +0 -403
- package/lib/cjs/components/datepicker/templates.js.map +0 -1
- package/lib/cjs/components/datepicker/types.js +0 -23
- package/lib/cjs/components/datepicker/types.js.map +0 -1
- package/lib/cjs/components/datepicker/utils.js +0 -524
- package/lib/cjs/components/datepicker/utils.js.map +0 -1
- package/lib/esm/components/datepicker/calendar.js +0 -1058
- package/lib/esm/components/datepicker/calendar.js.map +0 -1
- package/lib/esm/components/datepicker/config.js +0 -329
- package/lib/esm/components/datepicker/config.js.map +0 -1
- package/lib/esm/components/datepicker/dropdown.js +0 -632
- package/lib/esm/components/datepicker/dropdown.js.map +0 -1
- package/lib/esm/components/datepicker/events.js +0 -126
- package/lib/esm/components/datepicker/events.js.map +0 -1
- package/lib/esm/components/datepicker/keyboard.js +0 -533
- package/lib/esm/components/datepicker/keyboard.js.map +0 -1
- package/lib/esm/components/datepicker/locales.js +0 -74
- package/lib/esm/components/datepicker/locales.js.map +0 -1
- package/lib/esm/components/datepicker/templates.js +0 -390
- package/lib/esm/components/datepicker/templates.js.map +0 -1
- package/lib/esm/components/datepicker/types.js +0 -20
- package/lib/esm/components/datepicker/types.js.map +0 -1
- package/lib/esm/components/datepicker/utils.js +0 -508
- package/lib/esm/components/datepicker/utils.js.map +0 -1
- package/prettier.config.js +0 -9
- package/src/components/datepicker/calendar.ts +0 -1397
- package/src/components/datepicker/config.ts +0 -368
- package/src/components/datepicker/dropdown.ts +0 -757
- package/src/components/datepicker/events.ts +0 -149
- package/src/components/datepicker/keyboard.ts +0 -646
- package/src/components/datepicker/locales.ts +0 -80
- package/src/components/datepicker/templates.ts +0 -792
- package/src/components/datepicker/types.ts +0 -154
- package/src/components/datepicker/utils.ts +0 -631
- package/src/components/select/variants.css +0 -4
- package/tsconfig.json +0 -17
- package/webpack.config.js +0 -118
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmented-input.js","sourceRoot":"","sources":["../../../../../../src/components/datepicker/ui/input/segmented-input.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,446 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* calendar.ts - Calendar renderer for KTDatepicker
|
|
4
|
+
* Renders the calendar grid (days) using provided template and data.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.renderCalendar = renderCalendar;
|
|
8
|
+
var templates_1 = require("../templates/templates");
|
|
9
|
+
var templates_2 = require("../templates/templates");
|
|
10
|
+
var date_utils_1 = require("../../utils/date-utils");
|
|
11
|
+
// Cache for localized day names to avoid regeneration on every render
|
|
12
|
+
var dayNameCache = new Map();
|
|
13
|
+
/**
|
|
14
|
+
* Gets localized day names for a given locale, using cache to avoid regeneration.
|
|
15
|
+
* @param locale Locale string (e.g., 'en-US', 'de-DE')
|
|
16
|
+
* @returns Array of 7 day names starting with Sunday
|
|
17
|
+
*/
|
|
18
|
+
function getDayNames(locale) {
|
|
19
|
+
if (dayNameCache.has(locale)) {
|
|
20
|
+
return dayNameCache.get(locale);
|
|
21
|
+
}
|
|
22
|
+
var dayNames = [];
|
|
23
|
+
for (var i = 0; i < 7; i++) {
|
|
24
|
+
var date = new Date(2023, 0, i + 1); // Use January 1st, 2023 as reference (Sunday = 0)
|
|
25
|
+
var dayName = date.toLocaleDateString(locale, { weekday: 'short' });
|
|
26
|
+
dayNames.push(dayName);
|
|
27
|
+
}
|
|
28
|
+
dayNameCache.set(locale, dayNames);
|
|
29
|
+
return dayNames;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Computes day cell data (attributes, states) for a given day.
|
|
33
|
+
* This centralized helper function ensures consistent day cell rendering
|
|
34
|
+
* across single-month and multi-month views.
|
|
35
|
+
*
|
|
36
|
+
* @param day - The date for this day cell
|
|
37
|
+
* @param currentDate - The current month being viewed (for isCurrentMonth calculation)
|
|
38
|
+
* @param todayKey - Pre-computed date key for today (for performance)
|
|
39
|
+
* @param checkIsSelected - Function to check if a date is selected
|
|
40
|
+
* @param selectedRange - Optional range selection
|
|
41
|
+
* @param dayIndex - Index of this day in the calendar grid (0-based)
|
|
42
|
+
* @param tabbableIndex - Index of the tabbable day (for keyboard navigation)
|
|
43
|
+
* @returns Day cell data object with computed states and attributes
|
|
44
|
+
*/
|
|
45
|
+
function computeDayCellData(day, currentDate, todayKey, checkIsSelected, selectedRange, dayIndex, tabbableIndex) {
|
|
46
|
+
var isCurrentMonth = day.getMonth() === currentDate.getMonth();
|
|
47
|
+
var isToday = (0, date_utils_1.getDateKey)(day) === todayKey;
|
|
48
|
+
var isSelected = checkIsSelected(day);
|
|
49
|
+
var inRange = false;
|
|
50
|
+
if (selectedRange && selectedRange.start && selectedRange.end) {
|
|
51
|
+
// Use date keys for efficient range comparison (no Date object creation needed)
|
|
52
|
+
var dayKey = (0, date_utils_1.getDateKey)(day);
|
|
53
|
+
var startKey = (0, date_utils_1.getDateKey)(selectedRange.start);
|
|
54
|
+
var endKey = (0, date_utils_1.getDateKey)(selectedRange.end);
|
|
55
|
+
inRange = dayKey >= startKey && dayKey <= endKey;
|
|
56
|
+
}
|
|
57
|
+
var dateLocal = (0, date_utils_1.formatDateToLocalString)(day);
|
|
58
|
+
var attributes = [
|
|
59
|
+
isSelected ? 'data-kt-selected="true" aria-selected="true"' : '',
|
|
60
|
+
isToday ? 'data-today="true"' : '',
|
|
61
|
+
isCurrentMonth ? '' : 'data-outside="true"',
|
|
62
|
+
// Use data-kt-hover-range for completed ranges too (consolidated with hover preview)
|
|
63
|
+
inRange ? 'data-kt-hover-range="true"' : '',
|
|
64
|
+
"data-date=\"".concat(dateLocal, "\""),
|
|
65
|
+
"data-day-index=\"".concat(dayIndex, "\""),
|
|
66
|
+
"tabindex=\"".concat(dayIndex === tabbableIndex ? '0' : '-1', "\"")
|
|
67
|
+
].filter(Boolean).join(' ');
|
|
68
|
+
return {
|
|
69
|
+
day: day.getDate(),
|
|
70
|
+
date: day,
|
|
71
|
+
isCurrentMonth: isCurrentMonth,
|
|
72
|
+
isToday: isToday,
|
|
73
|
+
isSelected: isSelected,
|
|
74
|
+
inRange: inRange,
|
|
75
|
+
attributes: attributes
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Renders the datepicker calendar and returns an HTMLElement.
|
|
80
|
+
*
|
|
81
|
+
* This function uses centralized day cell computation logic (computeDayCellData)
|
|
82
|
+
* to ensure consistent rendering across single-month and multi-month views.
|
|
83
|
+
* Both views call this function with identical state parameters, guaranteeing
|
|
84
|
+
* that the same date appears identically regardless of which view is displayed.
|
|
85
|
+
*
|
|
86
|
+
* @param tpl - The template string or function for the day cell
|
|
87
|
+
* @param days - Array of Date objects for the calendar grid
|
|
88
|
+
* @param currentDate - The current month being viewed
|
|
89
|
+
* @param selectedDate - The currently selected date
|
|
90
|
+
* @param onDayClick - Callback for day cell click, receives the Date
|
|
91
|
+
* @param locale - Locale string for day name localization
|
|
92
|
+
* @param selectedRange - Optional range selection
|
|
93
|
+
* @param selectedDates - Optional array of selected dates for multi-date mode
|
|
94
|
+
*/
|
|
95
|
+
function renderCalendar(tpl, days, currentDate, selectedDate, onDayClick, locale, selectedRange, selectedDates) {
|
|
96
|
+
// Get localized day names from cache
|
|
97
|
+
var localeToUse = locale || 'en-US';
|
|
98
|
+
var dayNames = getDayNames(localeToUse);
|
|
99
|
+
// Cache "today" date object to avoid creating it multiple times
|
|
100
|
+
var today = new Date();
|
|
101
|
+
today.setHours(0, 0, 0, 0);
|
|
102
|
+
var todayKey = (0, date_utils_1.getDateKey)(today);
|
|
103
|
+
// Pre-compute date keys for selected dates for O(1) lookups
|
|
104
|
+
var selectedDateKey = selectedDate ? (0, date_utils_1.getDateKey)(selectedDate) : null;
|
|
105
|
+
var selectedDatesKeys = selectedDates && selectedDates.length > 0
|
|
106
|
+
? new Set(selectedDates.map(function (d) { return (0, date_utils_1.getDateKey)(d); }))
|
|
107
|
+
: null;
|
|
108
|
+
var selectedRangeStartKey = (selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.start) ? (0, date_utils_1.getDateKey)(selectedRange.start) : null;
|
|
109
|
+
var selectedRangeEndKey = (selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.end) ? (0, date_utils_1.getDateKey)(selectedRange.end) : null;
|
|
110
|
+
// Use template system for table, tbody, tr, td
|
|
111
|
+
var tableTpl = templates_2.defaultTemplates.calendarTable;
|
|
112
|
+
var bodyTpl = templates_2.defaultTemplates.calendarBody;
|
|
113
|
+
var rowTpl = templates_2.defaultTemplates.calendarRow;
|
|
114
|
+
var rows = [];
|
|
115
|
+
// Determine which day should be tabbable (selected, or today if none) using date keys
|
|
116
|
+
var tabbableIndex = -1;
|
|
117
|
+
if (selectedDateKey !== null) {
|
|
118
|
+
tabbableIndex = days.findIndex(function (d) { return (0, date_utils_1.getDateKey)(d) === selectedDateKey; });
|
|
119
|
+
}
|
|
120
|
+
if (tabbableIndex === -1 && selectedDatesKeys) {
|
|
121
|
+
tabbableIndex = days.findIndex(function (d) { return selectedDatesKeys.has((0, date_utils_1.getDateKey)(d)); });
|
|
122
|
+
}
|
|
123
|
+
if (tabbableIndex === -1 && selectedRangeStartKey !== null) {
|
|
124
|
+
tabbableIndex = days.findIndex(function (d) { return (0, date_utils_1.getDateKey)(d) === selectedRangeStartKey; });
|
|
125
|
+
}
|
|
126
|
+
if (tabbableIndex === -1) {
|
|
127
|
+
tabbableIndex = days.findIndex(function (d) { return (0, date_utils_1.getDateKey)(d) === todayKey; });
|
|
128
|
+
}
|
|
129
|
+
// Helper function to check if a date is selected using date keys for O(1) lookups
|
|
130
|
+
var checkIsSelected = function (day) {
|
|
131
|
+
var dayKey = (0, date_utils_1.getDateKey)(day);
|
|
132
|
+
// Check single date selection
|
|
133
|
+
if (selectedDateKey !== null && dayKey === selectedDateKey) {
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
// Check multi-date selection
|
|
137
|
+
if (selectedDatesKeys && selectedDatesKeys.has(dayKey)) {
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
// Check range selection start/end dates
|
|
141
|
+
if (selectedRangeStartKey !== null && dayKey === selectedRangeStartKey) {
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
144
|
+
if (selectedRangeEndKey !== null && dayKey === selectedRangeEndKey) {
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
return false;
|
|
148
|
+
};
|
|
149
|
+
var _loop_1 = function (i) {
|
|
150
|
+
var week = days.slice(i, i + 7);
|
|
151
|
+
var tds = week.map(function (day, j) {
|
|
152
|
+
var dayIndex = i + j;
|
|
153
|
+
// Use centralized helper function to compute day cell data
|
|
154
|
+
// This guarantees identical logic for single-month and multi-month views
|
|
155
|
+
var data = computeDayCellData(day, currentDate, todayKey, checkIsSelected, selectedRange, dayIndex, tabbableIndex);
|
|
156
|
+
return (0, templates_1.isTemplateFunction)(tpl)
|
|
157
|
+
? tpl(data)
|
|
158
|
+
: (0, templates_1.renderTemplateString)(typeof tpl === 'string' ? tpl : (typeof templates_2.defaultTemplates.dayCell === 'string' ? templates_2.defaultTemplates.dayCell : ''), data);
|
|
159
|
+
}).join('');
|
|
160
|
+
// Use row template
|
|
161
|
+
var rowHtml = (0, templates_1.isTemplateFunction)(rowTpl)
|
|
162
|
+
? rowTpl({ cells: tds })
|
|
163
|
+
: rowTpl.replace(/{{cells}}/g, tds);
|
|
164
|
+
rows.push(rowHtml);
|
|
165
|
+
};
|
|
166
|
+
// Render calendar weeks using centralized day cell computation
|
|
167
|
+
// This ensures consistent rendering across single-month and multi-month views
|
|
168
|
+
for (var i = 0; i < days.length; i += 7) {
|
|
169
|
+
_loop_1(i);
|
|
170
|
+
}
|
|
171
|
+
// Use body template
|
|
172
|
+
var bodyHtml = (0, templates_1.isTemplateFunction)(bodyTpl)
|
|
173
|
+
? bodyTpl({ rows: rows.join('') })
|
|
174
|
+
: bodyTpl.replace(/{{rows}}/g, rows.join(''));
|
|
175
|
+
// Use table template with localized day names
|
|
176
|
+
var tableHtml = (0, templates_1.isTemplateFunction)(tableTpl)
|
|
177
|
+
? tableTpl({
|
|
178
|
+
body: bodyHtml,
|
|
179
|
+
sunday: dayNames[0],
|
|
180
|
+
monday: dayNames[1],
|
|
181
|
+
tuesday: dayNames[2],
|
|
182
|
+
wednesday: dayNames[3],
|
|
183
|
+
thursday: dayNames[4],
|
|
184
|
+
friday: dayNames[5],
|
|
185
|
+
saturday: dayNames[6]
|
|
186
|
+
})
|
|
187
|
+
: tableTpl
|
|
188
|
+
.replace(/{{body}}/g, bodyHtml)
|
|
189
|
+
.replace(/{{sunday}}/g, dayNames[0])
|
|
190
|
+
.replace(/{{monday}}/g, dayNames[1])
|
|
191
|
+
.replace(/{{tuesday}}/g, dayNames[2])
|
|
192
|
+
.replace(/{{wednesday}}/g, dayNames[3])
|
|
193
|
+
.replace(/{{thursday}}/g, dayNames[4])
|
|
194
|
+
.replace(/{{friday}}/g, dayNames[5])
|
|
195
|
+
.replace(/{{saturday}}/g, dayNames[6]);
|
|
196
|
+
var calendarFrag = (0, templates_1.renderTemplateToDOM)(tableHtml);
|
|
197
|
+
var calendar = calendarFrag.firstElementChild;
|
|
198
|
+
// Build cell reference cache for O(1) lookups during hover range updates
|
|
199
|
+
// Map<dateKey, HTMLElement> for efficient cell lookups
|
|
200
|
+
var cellCache = new Map();
|
|
201
|
+
var allCells = calendar.querySelectorAll('td[data-kt-datepicker-day]');
|
|
202
|
+
allCells.forEach(function (cell) {
|
|
203
|
+
var dateAttr = cell.getAttribute('data-date');
|
|
204
|
+
if (dateAttr) {
|
|
205
|
+
var cellDate = (0, date_utils_1.parseLocalDate)(dateAttr);
|
|
206
|
+
var dateKey = (0, date_utils_1.getDateKey)(cellDate);
|
|
207
|
+
cellCache.set(dateKey, cell);
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
// Store selectedRange state on the calendar element so hover handlers can access current state
|
|
211
|
+
// This allows the state to be updated without re-rendering the entire calendar
|
|
212
|
+
// The _updateCalendar() method will update these attributes when the state changes
|
|
213
|
+
if (selectedRange) {
|
|
214
|
+
if (selectedRange.start) {
|
|
215
|
+
calendar.setAttribute('data-kt-range-start', (0, date_utils_1.formatDateToLocalString)(selectedRange.start));
|
|
216
|
+
}
|
|
217
|
+
if (selectedRange.end) {
|
|
218
|
+
calendar.setAttribute('data-kt-range-end', (0, date_utils_1.formatDateToLocalString)(selectedRange.end));
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
// Helper function to parse ISO date string (YYYY-MM-DD) as local date to avoid timezone issues
|
|
222
|
+
var parseLocalDateFromAttr = function (dateStr) {
|
|
223
|
+
// Parse YYYY-MM-DD string and create local date at midnight
|
|
224
|
+
return (0, date_utils_1.parseLocalDate)(dateStr);
|
|
225
|
+
};
|
|
226
|
+
// Helper function to get current selectedRange from calendar element data attributes
|
|
227
|
+
var getCurrentSelectedRange = function () {
|
|
228
|
+
var startAttr = calendar.getAttribute('data-kt-range-start');
|
|
229
|
+
var endAttr = calendar.getAttribute('data-kt-range-end');
|
|
230
|
+
if (!startAttr && !endAttr) {
|
|
231
|
+
return null;
|
|
232
|
+
}
|
|
233
|
+
return {
|
|
234
|
+
start: startAttr ? parseLocalDateFromAttr(startAttr) : null,
|
|
235
|
+
end: endAttr ? parseLocalDateFromAttr(endAttr) : null
|
|
236
|
+
};
|
|
237
|
+
};
|
|
238
|
+
// Helper function to check if we're in range preview mode (checked dynamically)
|
|
239
|
+
var isRangePreviewMode = function () {
|
|
240
|
+
var currentRange = getCurrentSelectedRange();
|
|
241
|
+
return !!(currentRange && currentRange.start && !currentRange.end);
|
|
242
|
+
};
|
|
243
|
+
// Helper function to clear all hover range attributes
|
|
244
|
+
var clearHoverRange = function () {
|
|
245
|
+
calendar.querySelectorAll('[data-kt-hover-range]').forEach(function (cell) {
|
|
246
|
+
cell.removeAttribute('data-kt-hover-range');
|
|
247
|
+
});
|
|
248
|
+
};
|
|
249
|
+
// Helper function to get all dates in a range (inclusive)
|
|
250
|
+
var getDatesInRange = function (startDate, endDate) {
|
|
251
|
+
var dates = [];
|
|
252
|
+
var start = new Date(startDate);
|
|
253
|
+
var end = new Date(endDate);
|
|
254
|
+
// Normalize dates to midnight for accurate comparison
|
|
255
|
+
start.setHours(0, 0, 0, 0);
|
|
256
|
+
end.setHours(0, 0, 0, 0);
|
|
257
|
+
// Determine the actual start and end (handles reverse ranges)
|
|
258
|
+
var actualStart = start <= end ? start : end;
|
|
259
|
+
var actualEnd = start <= end ? end : start;
|
|
260
|
+
// Generate all dates in the range
|
|
261
|
+
var current = new Date(actualStart);
|
|
262
|
+
while (current <= actualEnd) {
|
|
263
|
+
dates.push(new Date(current));
|
|
264
|
+
current.setDate(current.getDate() + 1);
|
|
265
|
+
}
|
|
266
|
+
return dates;
|
|
267
|
+
};
|
|
268
|
+
// Helper function to find a date cell by date using cached cell references
|
|
269
|
+
var findDateCell = function (targetDate) {
|
|
270
|
+
var targetKey = (0, date_utils_1.getDateKey)(targetDate);
|
|
271
|
+
return cellCache.get(targetKey) || null;
|
|
272
|
+
};
|
|
273
|
+
// Helper function to update hover range preview
|
|
274
|
+
var updateHoverRange = function (hoveredDate) {
|
|
275
|
+
if (!isRangePreviewMode()) {
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
// Get current range state from calendar element (reads dynamically)
|
|
279
|
+
var currentRange = getCurrentSelectedRange();
|
|
280
|
+
if (!(currentRange === null || currentRange === void 0 ? void 0 : currentRange.start)) {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
// Normalize hovered date
|
|
284
|
+
var normalizedHovered = new Date(hoveredDate);
|
|
285
|
+
normalizedHovered.setHours(0, 0, 0, 0);
|
|
286
|
+
// Normalize start date
|
|
287
|
+
var normalizedStart = new Date(currentRange.start);
|
|
288
|
+
normalizedStart.setHours(0, 0, 0, 0);
|
|
289
|
+
// Clear previous hover range from ALL calendars in multi-month view
|
|
290
|
+
var dropdownEl = calendar.closest('[data-kt-datepicker-dropdown]');
|
|
291
|
+
if (dropdownEl) {
|
|
292
|
+
var allCalendars_1 = dropdownEl.querySelectorAll('[data-kt-datepicker-calendar-table]');
|
|
293
|
+
allCalendars_1.forEach(function (cal) {
|
|
294
|
+
var hoverCells = cal.querySelectorAll('[data-kt-hover-range]');
|
|
295
|
+
hoverCells.forEach(function (cell) {
|
|
296
|
+
cell.removeAttribute('data-kt-hover-range');
|
|
297
|
+
});
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
clearHoverRange();
|
|
302
|
+
}
|
|
303
|
+
// Calculate range between start date and hovered date
|
|
304
|
+
var rangeDates = getDatesInRange(normalizedStart, normalizedHovered);
|
|
305
|
+
// Add data-kt-hover-range to all dates in the range across ALL visible calendars
|
|
306
|
+
// This enables hover preview to work across multiple months
|
|
307
|
+
var allCalendars = dropdownEl
|
|
308
|
+
? Array.from(dropdownEl.querySelectorAll('[data-kt-datepicker-calendar-table]'))
|
|
309
|
+
: [calendar];
|
|
310
|
+
rangeDates.forEach(function (date) {
|
|
311
|
+
var dateLocal = (0, date_utils_1.formatDateToLocalString)(date);
|
|
312
|
+
// Search across all calendars to find the cell by data-date attribute
|
|
313
|
+
for (var _i = 0, allCalendars_2 = allCalendars; _i < allCalendars_2.length; _i++) {
|
|
314
|
+
var cal = allCalendars_2[_i];
|
|
315
|
+
var cell = cal.querySelector("td[data-kt-datepicker-day][data-date=\"".concat(dateLocal, "\"]"));
|
|
316
|
+
if (cell) {
|
|
317
|
+
// Set attribute if cell is found in this calendar
|
|
318
|
+
cell.setAttribute('data-kt-hover-range', '');
|
|
319
|
+
break; // Found in this calendar, no need to search others
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
});
|
|
323
|
+
};
|
|
324
|
+
// Event delegation: attach single listeners to calendar table instead of individual cell listeners
|
|
325
|
+
// This reduces memory footprint from 42+ listeners to 2-3 listeners
|
|
326
|
+
calendar.addEventListener('click', function (e) {
|
|
327
|
+
var target = e.target;
|
|
328
|
+
// Check if click is on a button or inside a button within a calendar cell
|
|
329
|
+
var button = target.closest('button[data-day]');
|
|
330
|
+
if (!button)
|
|
331
|
+
return;
|
|
332
|
+
var cell = button.closest('td[data-kt-datepicker-day]');
|
|
333
|
+
if (!cell)
|
|
334
|
+
return;
|
|
335
|
+
var dateAttr = cell.getAttribute('data-date');
|
|
336
|
+
if (!dateAttr)
|
|
337
|
+
return;
|
|
338
|
+
var dayObj = (0, date_utils_1.parseLocalDate)(dateAttr);
|
|
339
|
+
if (dayObj.getMonth() === currentDate.getMonth()) {
|
|
340
|
+
e.stopPropagation();
|
|
341
|
+
onDayClick(dayObj);
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
// Track currently hovered cell to prevent race conditions during fast mouse movement
|
|
345
|
+
var currentHoveredCell = null;
|
|
346
|
+
var hoverTimeout = null;
|
|
347
|
+
// Delegated hover handlers for single date hover and range preview
|
|
348
|
+
// Use mouseover/mouseout on calendar with relatedTarget check for proper delegation
|
|
349
|
+
calendar.addEventListener('mouseover', function (e) {
|
|
350
|
+
var target = e.target;
|
|
351
|
+
// Check if mouseover is on a button or inside a button within a calendar cell
|
|
352
|
+
var button = target.closest('button[data-day]');
|
|
353
|
+
if (!button)
|
|
354
|
+
return;
|
|
355
|
+
var cell = button.closest('td[data-kt-datepicker-day]');
|
|
356
|
+
if (!cell)
|
|
357
|
+
return;
|
|
358
|
+
var dateAttr = cell.getAttribute('data-date');
|
|
359
|
+
if (!dateAttr)
|
|
360
|
+
return;
|
|
361
|
+
// Clear any pending hover removal timeout
|
|
362
|
+
if (hoverTimeout) {
|
|
363
|
+
clearTimeout(hoverTimeout);
|
|
364
|
+
hoverTimeout = null;
|
|
365
|
+
}
|
|
366
|
+
// Clear previous hovered cell if different
|
|
367
|
+
if (currentHoveredCell && currentHoveredCell !== cell) {
|
|
368
|
+
currentHoveredCell.removeAttribute('data-kt-hover');
|
|
369
|
+
}
|
|
370
|
+
// Set new hovered cell
|
|
371
|
+
currentHoveredCell = cell;
|
|
372
|
+
cell.setAttribute('data-kt-hover', '');
|
|
373
|
+
// If in range preview mode, update hover range
|
|
374
|
+
if (isRangePreviewMode()) {
|
|
375
|
+
var dayObj = (0, date_utils_1.parseLocalDate)(dateAttr);
|
|
376
|
+
updateHoverRange(dayObj);
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
calendar.addEventListener('mouseout', function (e) {
|
|
380
|
+
var target = e.target;
|
|
381
|
+
var relatedTarget = e.relatedTarget;
|
|
382
|
+
// Check if mouseout is leaving a button
|
|
383
|
+
var button = target.closest('button[data-day]');
|
|
384
|
+
if (!button)
|
|
385
|
+
return;
|
|
386
|
+
// If moving to another element within the same calendar, don't remove hover
|
|
387
|
+
if (relatedTarget && calendar.contains(relatedTarget)) {
|
|
388
|
+
var relatedButton = relatedTarget.closest('button[data-day]');
|
|
389
|
+
if (relatedButton) {
|
|
390
|
+
// Moving to another button - mouseover will handle the transition
|
|
391
|
+
return;
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
var cell = button.closest('td[data-kt-datepicker-day]');
|
|
395
|
+
if (!cell)
|
|
396
|
+
return;
|
|
397
|
+
// Clear any pending hover removal timeout
|
|
398
|
+
if (hoverTimeout) {
|
|
399
|
+
clearTimeout(hoverTimeout);
|
|
400
|
+
hoverTimeout = null;
|
|
401
|
+
}
|
|
402
|
+
// Use a small delay to prevent flickering when moving fast between cells
|
|
403
|
+
// This allows mouseover on the next cell to fire first
|
|
404
|
+
hoverTimeout = window.setTimeout(function () {
|
|
405
|
+
// Only remove if this is still the current hovered cell
|
|
406
|
+
if (currentHoveredCell === cell) {
|
|
407
|
+
cell.removeAttribute('data-kt-hover');
|
|
408
|
+
currentHoveredCell = null;
|
|
409
|
+
}
|
|
410
|
+
hoverTimeout = null;
|
|
411
|
+
}, 50);
|
|
412
|
+
// Note: Hover range clearing is handled at calendar level to prevent flickering
|
|
413
|
+
});
|
|
414
|
+
// Track hover state to prevent flickering when moving between dates
|
|
415
|
+
var hoverRangeClearTimeout = null;
|
|
416
|
+
// Handle calendar-level mouseleave to clear hover range when mouse leaves calendar entirely
|
|
417
|
+
calendar.addEventListener('mouseleave', function (e) {
|
|
418
|
+
if (!isRangePreviewMode())
|
|
419
|
+
return;
|
|
420
|
+
// Check if we're moving to another button within the calendar
|
|
421
|
+
var relatedTarget = e.relatedTarget;
|
|
422
|
+
if (relatedTarget && calendar.contains(relatedTarget)) {
|
|
423
|
+
// Mouse is moving to another element within the calendar, don't clear
|
|
424
|
+
return;
|
|
425
|
+
}
|
|
426
|
+
// Clear hover range with a small delay to allow smooth transitions
|
|
427
|
+
if (hoverRangeClearTimeout) {
|
|
428
|
+
clearTimeout(hoverRangeClearTimeout);
|
|
429
|
+
}
|
|
430
|
+
hoverRangeClearTimeout = window.setTimeout(function () {
|
|
431
|
+
clearHoverRange();
|
|
432
|
+
hoverRangeClearTimeout = null;
|
|
433
|
+
}, 50);
|
|
434
|
+
});
|
|
435
|
+
// Clear timeout if mouse re-enters calendar
|
|
436
|
+
calendar.addEventListener('mouseenter', function () {
|
|
437
|
+
if (hoverRangeClearTimeout) {
|
|
438
|
+
clearTimeout(hoverRangeClearTimeout);
|
|
439
|
+
hoverRangeClearTimeout = null;
|
|
440
|
+
}
|
|
441
|
+
});
|
|
442
|
+
return calendar;
|
|
443
|
+
}
|
|
444
|
+
// Note: isSameDay function removed - all date comparisons now use date keys for better performance
|
|
445
|
+
// If needed elsewhere, use isSameLocalDay or isSameDayByKey from date-utils
|
|
446
|
+
//# sourceMappingURL=calendar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../../../../../src/components/datepicker/ui/renderers/calendar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* footer.ts - Footer renderer for KTDatepicker
|
|
4
|
+
* Renders the calendar footer (today, clear, apply buttons) using provided template and data.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.renderFooter = renderFooter;
|
|
8
|
+
var templates_1 = require("../templates/templates");
|
|
9
|
+
var templates_2 = require("../templates/templates");
|
|
10
|
+
/**
|
|
11
|
+
* Renders the datepicker footer and returns an HTMLElement.
|
|
12
|
+
* @param tpl - The template string or function for the footer
|
|
13
|
+
* @param data - Data for the template (todayButton, clearButton, applyButton, etc.)
|
|
14
|
+
* @param onToday - Callback for today button
|
|
15
|
+
* @param onClear - Callback for clear button
|
|
16
|
+
* @param onApply - Callback for apply button
|
|
17
|
+
*/
|
|
18
|
+
function renderFooter(tpl, data, onToday, onClear, onApply) {
|
|
19
|
+
var footerHtml = (0, templates_1.isTemplateFunction)(tpl)
|
|
20
|
+
? tpl(data)
|
|
21
|
+
: (0, templates_1.renderTemplateString)(typeof tpl === 'string' ? tpl : (typeof templates_2.defaultTemplates.footer === 'string' ? templates_2.defaultTemplates.footer : ''), data);
|
|
22
|
+
var footerFrag = (0, templates_1.renderTemplateToDOM)(footerHtml);
|
|
23
|
+
var footer = footerFrag.firstElementChild;
|
|
24
|
+
// Add button event listeners if present
|
|
25
|
+
if (onToday) {
|
|
26
|
+
var todayBtn = footer.querySelector('[data-kt-datepicker-today]');
|
|
27
|
+
if (todayBtn)
|
|
28
|
+
todayBtn.addEventListener('click', onToday);
|
|
29
|
+
}
|
|
30
|
+
if (onClear) {
|
|
31
|
+
var clearBtn = footer.querySelector('[data-kt-datepicker-clear]');
|
|
32
|
+
if (clearBtn)
|
|
33
|
+
clearBtn.addEventListener('click', onClear);
|
|
34
|
+
}
|
|
35
|
+
if (onApply) {
|
|
36
|
+
var applyBtn = footer.querySelector('[data-kt-datepicker-apply]');
|
|
37
|
+
if (applyBtn)
|
|
38
|
+
applyBtn.addEventListener('click', onApply);
|
|
39
|
+
}
|
|
40
|
+
return footer;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=footer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../../../../src/components/datepicker/ui/renderers/footer.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAaH,oCA0BC;AArCD,oDAAuG;AACvG,oDAA0D;AAE1D;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,GAAqC,EACrC,IAAS,EACT,OAA4B,EAC5B,OAA4B,EAC5B,OAA4B;IAE5B,IAAM,UAAU,GAAG,IAAA,8BAAkB,EAAC,GAAG,CAAC;QACxC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QACX,CAAC,CAAC,IAAA,gCAAoB,EAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,4BAAgB,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,4BAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7I,IAAM,UAAU,GAAG,IAAA,+BAAmB,EAAC,UAAU,CAAC,CAAC;IACnD,IAAM,MAAM,GAAG,UAAU,CAAC,iBAAgC,CAAC;IAC3D,wCAAwC;IACxC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QACpE,IAAI,QAAQ;YAAE,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QACpE,IAAI,QAAQ;YAAE,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QACpE,IAAI,QAAQ;YAAE,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* header.ts - Header renderer for KTDatepicker
|
|
4
|
+
* Renders the calendar header (month, year, navigation buttons) using provided template and data.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.renderHeader = renderHeader;
|
|
8
|
+
var templates_1 = require("../templates/templates");
|
|
9
|
+
var templates_2 = require("../templates/templates");
|
|
10
|
+
/**
|
|
11
|
+
* Renders the datepicker header and returns an HTMLElement.
|
|
12
|
+
* @param tpl - The template string or function for the header
|
|
13
|
+
* @param data - Data for the template (month, year, prevButton, nextButton)
|
|
14
|
+
* @param onPrev - Callback for previous month button
|
|
15
|
+
* @param onNext - Callback for next month button
|
|
16
|
+
*/
|
|
17
|
+
function renderHeader(tpl, data, onPrev, onNext) {
|
|
18
|
+
var headerHtml = (0, templates_1.isTemplateFunction)(tpl)
|
|
19
|
+
? tpl(data)
|
|
20
|
+
: (0, templates_1.renderTemplateString)(typeof tpl === 'string' ? tpl : (typeof templates_2.defaultTemplates.header === 'string' ? templates_2.defaultTemplates.header : ''), data);
|
|
21
|
+
var headerFrag = (0, templates_1.renderTemplateToDOM)(headerHtml);
|
|
22
|
+
var header = headerFrag.firstElementChild;
|
|
23
|
+
// Add navigation event listeners
|
|
24
|
+
var prevBtn = header.querySelector('[data-kt-datepicker-prev]');
|
|
25
|
+
var nextBtn = header.querySelector('[data-kt-datepicker-next]');
|
|
26
|
+
if (prevBtn)
|
|
27
|
+
prevBtn.addEventListener('click', onPrev);
|
|
28
|
+
if (nextBtn)
|
|
29
|
+
nextBtn.addEventListener('click', onNext);
|
|
30
|
+
return header;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../../../src/components/datepicker/ui/renderers/header.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAYH,oCAiBC;AA3BD,oDAAuG;AACvG,oDAA0D;AAE1D;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,GAAqC,EACrC,IAAS,EACT,MAA0B,EAC1B,MAA0B;IAE1B,IAAM,UAAU,GAAG,IAAA,8BAAkB,EAAC,GAAG,CAAC;QACxC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QACX,CAAC,CAAC,IAAA,gCAAoB,EAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,4BAAgB,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,4BAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7I,IAAM,UAAU,GAAG,IAAA,+BAAmB,EAAC,UAAU,CAAC,CAAC;IACnD,IAAM,MAAM,GAAG,UAAU,CAAC,iBAAgC,CAAC;IAC3D,iCAAiC;IACjC,IAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;IAClE,IAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;IAClE,IAAI,OAAO;QAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,OAAO;QAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* ui/renderers/index.ts - Renderer module exports
|
|
4
|
+
* Provides UI rendering components for KTDatepicker
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
__exportStar(require("./calendar"), exports);
|
|
22
|
+
__exportStar(require("./header"), exports);
|
|
23
|
+
__exportStar(require("./footer"), exports);
|
|
24
|
+
__exportStar(require("./time-picker"), exports);
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/datepicker/ui/renderers/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,6CAA2B;AAC3B,2CAAyB;AACzB,2CAAyB;AACzB,gDAA8B"}
|