@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.
Files changed (288) hide show
  1. package/README.md +27 -0
  2. package/dist/ktui.js +8780 -6199
  3. package/dist/ktui.min.js +1 -1
  4. package/dist/ktui.min.js.map +1 -1
  5. package/dist/styles.css +2744 -1367
  6. package/lib/cjs/components/alert/alert.js +1025 -0
  7. package/lib/cjs/components/alert/alert.js.map +1 -0
  8. package/lib/cjs/components/alert/index.js +20 -0
  9. package/lib/cjs/components/alert/index.js.map +1 -0
  10. package/lib/cjs/components/alert/templates.js +120 -0
  11. package/lib/cjs/components/alert/templates.js.map +1 -0
  12. package/lib/cjs/components/alert/types.js +7 -0
  13. package/lib/cjs/components/alert/types.js.map +1 -0
  14. package/lib/cjs/components/datepicker/config/config.js +42 -0
  15. package/lib/cjs/components/datepicker/config/config.js.map +1 -0
  16. package/lib/cjs/components/datepicker/config/index.js +24 -0
  17. package/lib/cjs/components/datepicker/config/index.js.map +1 -0
  18. package/lib/cjs/components/datepicker/config/interfaces.js +7 -0
  19. package/lib/cjs/components/datepicker/config/interfaces.js.map +1 -0
  20. package/lib/cjs/components/datepicker/config/types.js +7 -0
  21. package/lib/cjs/components/datepicker/config/types.js.map +1 -0
  22. package/lib/cjs/components/datepicker/core/event-manager.js +135 -0
  23. package/lib/cjs/components/datepicker/core/event-manager.js.map +1 -0
  24. package/lib/cjs/components/datepicker/core/focus-manager.js +167 -0
  25. package/lib/cjs/components/datepicker/core/focus-manager.js.map +1 -0
  26. package/lib/cjs/components/datepicker/core/helpers.js +219 -0
  27. package/lib/cjs/components/datepicker/core/helpers.js.map +1 -0
  28. package/lib/cjs/components/datepicker/core/index.js +25 -0
  29. package/lib/cjs/components/datepicker/core/index.js.map +1 -0
  30. package/lib/cjs/components/datepicker/core/unified-state-manager.js +394 -0
  31. package/lib/cjs/components/datepicker/core/unified-state-manager.js.map +1 -0
  32. package/lib/cjs/components/datepicker/datepicker.js +2066 -763
  33. package/lib/cjs/components/datepicker/datepicker.js.map +1 -1
  34. package/lib/cjs/components/datepicker/index.js +19 -8
  35. package/lib/cjs/components/datepicker/index.js.map +1 -1
  36. package/lib/cjs/components/datepicker/ui/index.js +23 -0
  37. package/lib/cjs/components/datepicker/ui/index.js.map +1 -0
  38. package/lib/cjs/components/datepicker/ui/input/dropdown.js +489 -0
  39. package/lib/cjs/components/datepicker/ui/input/dropdown.js.map +1 -0
  40. package/lib/cjs/components/datepicker/ui/input/index.js +23 -0
  41. package/lib/cjs/components/datepicker/ui/input/index.js.map +1 -0
  42. package/lib/cjs/components/datepicker/ui/input/segmented-input.js +640 -0
  43. package/lib/cjs/components/datepicker/ui/input/segmented-input.js.map +1 -0
  44. package/lib/cjs/components/datepicker/ui/renderers/calendar.js +446 -0
  45. package/lib/cjs/components/datepicker/ui/renderers/calendar.js.map +1 -0
  46. package/lib/cjs/components/datepicker/ui/renderers/footer.js +42 -0
  47. package/lib/cjs/components/datepicker/ui/renderers/footer.js.map +1 -0
  48. package/lib/cjs/components/datepicker/ui/renderers/header.js +32 -0
  49. package/lib/cjs/components/datepicker/ui/renderers/header.js.map +1 -0
  50. package/lib/cjs/components/datepicker/ui/renderers/index.js +25 -0
  51. package/lib/cjs/components/datepicker/ui/renderers/index.js.map +1 -0
  52. package/lib/cjs/components/datepicker/ui/renderers/time-picker.js +384 -0
  53. package/lib/cjs/components/datepicker/ui/renderers/time-picker.js.map +1 -0
  54. package/lib/cjs/components/datepicker/ui/templates/index.js +22 -0
  55. package/lib/cjs/components/datepicker/ui/templates/index.js.map +1 -0
  56. package/lib/cjs/components/datepicker/ui/templates/templates.js +253 -0
  57. package/lib/cjs/components/datepicker/ui/templates/templates.js.map +1 -0
  58. package/lib/cjs/components/datepicker/utils/date-formatters.js +88 -0
  59. package/lib/cjs/components/datepicker/utils/date-formatters.js.map +1 -0
  60. package/lib/cjs/components/datepicker/utils/date-utils.js +194 -0
  61. package/lib/cjs/components/datepicker/utils/date-utils.js.map +1 -0
  62. package/lib/cjs/components/datepicker/utils/index.js +24 -0
  63. package/lib/cjs/components/datepicker/utils/index.js.map +1 -0
  64. package/lib/cjs/components/datepicker/utils/time-utils.js +213 -0
  65. package/lib/cjs/components/datepicker/utils/time-utils.js.map +1 -0
  66. package/lib/cjs/index.js +6 -1
  67. package/lib/cjs/index.js.map +1 -1
  68. package/lib/esm/components/alert/alert.js +1022 -0
  69. package/lib/esm/components/alert/alert.js.map +1 -0
  70. package/lib/esm/components/alert/index.js +4 -0
  71. package/lib/esm/components/alert/index.js.map +1 -0
  72. package/lib/esm/components/alert/templates.js +112 -0
  73. package/lib/esm/components/alert/templates.js.map +1 -0
  74. package/lib/esm/components/alert/types.js +6 -0
  75. package/lib/esm/components/alert/types.js.map +1 -0
  76. package/lib/esm/components/datepicker/config/config.js +39 -0
  77. package/lib/esm/components/datepicker/config/config.js.map +1 -0
  78. package/lib/esm/components/datepicker/config/index.js +8 -0
  79. package/lib/esm/components/datepicker/config/index.js.map +1 -0
  80. package/lib/esm/components/datepicker/config/interfaces.js +6 -0
  81. package/lib/esm/components/datepicker/config/interfaces.js.map +1 -0
  82. package/lib/esm/components/datepicker/config/types.js +6 -0
  83. package/lib/esm/components/datepicker/config/types.js.map +1 -0
  84. package/lib/esm/components/datepicker/core/event-manager.js +133 -0
  85. package/lib/esm/components/datepicker/core/event-manager.js.map +1 -0
  86. package/lib/esm/components/datepicker/core/focus-manager.js +164 -0
  87. package/lib/esm/components/datepicker/core/focus-manager.js.map +1 -0
  88. package/lib/esm/components/datepicker/core/helpers.js +211 -0
  89. package/lib/esm/components/datepicker/core/helpers.js.map +1 -0
  90. package/lib/esm/components/datepicker/core/index.js +9 -0
  91. package/lib/esm/components/datepicker/core/index.js.map +1 -0
  92. package/lib/esm/components/datepicker/core/unified-state-manager.js +391 -0
  93. package/lib/esm/components/datepicker/core/unified-state-manager.js.map +1 -0
  94. package/lib/esm/components/datepicker/datepicker.js +2065 -763
  95. package/lib/esm/components/datepicker/datepicker.js.map +1 -1
  96. package/lib/esm/components/datepicker/index.js +6 -8
  97. package/lib/esm/components/datepicker/index.js.map +1 -1
  98. package/lib/esm/components/datepicker/ui/index.js +7 -0
  99. package/lib/esm/components/datepicker/ui/index.js.map +1 -0
  100. package/lib/esm/components/datepicker/ui/input/dropdown.js +486 -0
  101. package/lib/esm/components/datepicker/ui/input/dropdown.js.map +1 -0
  102. package/lib/esm/components/datepicker/ui/input/index.js +7 -0
  103. package/lib/esm/components/datepicker/ui/input/index.js.map +1 -0
  104. package/lib/esm/components/datepicker/ui/input/segmented-input.js +637 -0
  105. package/lib/esm/components/datepicker/ui/input/segmented-input.js.map +1 -0
  106. package/lib/esm/components/datepicker/ui/renderers/calendar.js +443 -0
  107. package/lib/esm/components/datepicker/ui/renderers/calendar.js.map +1 -0
  108. package/lib/esm/components/datepicker/ui/renderers/footer.js +39 -0
  109. package/lib/esm/components/datepicker/ui/renderers/footer.js.map +1 -0
  110. package/lib/esm/components/datepicker/ui/renderers/header.js +29 -0
  111. package/lib/esm/components/datepicker/ui/renderers/header.js.map +1 -0
  112. package/lib/esm/components/datepicker/ui/renderers/index.js +9 -0
  113. package/lib/esm/components/datepicker/ui/renderers/index.js.map +1 -0
  114. package/lib/esm/components/datepicker/ui/renderers/time-picker.js +381 -0
  115. package/lib/esm/components/datepicker/ui/renderers/time-picker.js.map +1 -0
  116. package/lib/esm/components/datepicker/ui/templates/index.js +6 -0
  117. package/lib/esm/components/datepicker/ui/templates/index.js.map +1 -0
  118. package/lib/esm/components/datepicker/ui/templates/templates.js +242 -0
  119. package/lib/esm/components/datepicker/ui/templates/templates.js.map +1 -0
  120. package/lib/esm/components/datepicker/utils/date-formatters.js +83 -0
  121. package/lib/esm/components/datepicker/utils/date-formatters.js.map +1 -0
  122. package/lib/esm/components/datepicker/utils/date-utils.js +184 -0
  123. package/lib/esm/components/datepicker/utils/date-utils.js.map +1 -0
  124. package/lib/esm/components/datepicker/utils/index.js +8 -0
  125. package/lib/esm/components/datepicker/utils/index.js.map +1 -0
  126. package/lib/esm/components/datepicker/utils/time-utils.js +201 -0
  127. package/lib/esm/components/datepicker/utils/time-utils.js.map +1 -0
  128. package/lib/esm/index.js +4 -0
  129. package/lib/esm/index.js.map +1 -1
  130. package/package.json +22 -3
  131. package/src/components/alert/alert.css +429 -188
  132. package/src/components/alert/alert.ts +990 -0
  133. package/src/components/alert/index.ts +4 -0
  134. package/src/components/alert/templates.ts +110 -0
  135. package/src/components/alert/tests/accessibility/aria-roles.test.ts +19 -0
  136. package/src/components/alert/tests/accessibility/focus-management.test.ts +19 -0
  137. package/src/components/alert/tests/accessibility/keyboard-nav.test.ts +22 -0
  138. package/src/components/alert/tests/actions/confirm-cancel.test.ts +122 -0
  139. package/src/components/alert/tests/actions/input-field.test.ts +180 -0
  140. package/src/components/alert/tests/alert.basic.test.ts +126 -0
  141. package/src/components/alert/tests/alert.config.test.ts +75 -0
  142. package/src/components/alert/tests/alert.templates.test.ts +17 -0
  143. package/src/components/alert/tests/config/attribute-config.test.ts +94 -0
  144. package/src/components/alert/tests/config/json-config.test.ts +119 -0
  145. package/src/components/alert/tests/config/merging.test.ts +89 -0
  146. package/src/components/alert/tests/dismissal/auto-dismiss.test.ts +96 -0
  147. package/src/components/alert/tests/dismissal/escape-key-dismiss.test.ts +105 -0
  148. package/src/components/alert/tests/dismissal/manual-dismiss.test.ts +90 -0
  149. package/src/components/alert/tests/dismissal/outside-click-dismiss.test.ts +91 -0
  150. package/src/components/alert/tests/edge-cases/invalid-config.test.ts +19 -0
  151. package/src/components/alert/tests/edge-cases/multiple-alerts.test.ts +19 -0
  152. package/src/components/alert/tests/rendering/custom-content.test.ts +81 -0
  153. package/src/components/alert/tests/rendering/info-alert.test.ts +84 -0
  154. package/src/components/alert/tests/rendering/success-alert.test.ts +100 -0
  155. package/src/components/alert/tests/templates/default-templates.test.ts +16 -0
  156. package/src/components/alert/tests/templates/user-templates.test.ts +16 -0
  157. package/src/components/alert/types.ts +145 -0
  158. package/src/components/datepicker/__tests__/datepicker-events.test.ts +356 -0
  159. package/src/components/datepicker/__tests__/datepicker-init.test.ts +343 -0
  160. package/src/components/datepicker/__tests__/datepicker-integration.test.ts +435 -0
  161. package/src/components/datepicker/__tests__/datepicker-timezone.test.ts +220 -0
  162. package/src/components/datepicker/__tests__/segmented-input-focus.test.ts +380 -0
  163. package/src/components/datepicker/__tests__/selective-state-updates.test.ts +400 -0
  164. package/src/components/datepicker/__tests__/state-manager.test.ts +421 -0
  165. package/src/components/datepicker/__tests__/time-preservation.test.ts +387 -0
  166. package/src/components/datepicker/config/config.ts +40 -0
  167. package/src/components/datepicker/config/index.ts +8 -0
  168. package/src/components/datepicker/config/interfaces.ts +82 -0
  169. package/src/components/datepicker/config/types.ts +188 -0
  170. package/src/components/datepicker/core/event-manager.ts +159 -0
  171. package/src/components/datepicker/core/focus-manager.ts +201 -0
  172. package/src/components/datepicker/core/helpers.ts +231 -0
  173. package/src/components/datepicker/core/index.ts +9 -0
  174. package/src/components/datepicker/core/unified-state-manager.ts +459 -0
  175. package/src/components/datepicker/datepicker.css +429 -1
  176. package/src/components/datepicker/datepicker.ts +2538 -1277
  177. package/src/components/datepicker/index.ts +6 -8
  178. package/src/components/datepicker/ui/index.ts +7 -0
  179. package/src/components/datepicker/ui/input/dropdown.ts +552 -0
  180. package/src/components/datepicker/ui/input/index.ts +7 -0
  181. package/src/components/datepicker/ui/input/segmented-input.ts +638 -0
  182. package/src/components/datepicker/ui/renderers/__tests__/calendar-optimizations.test.ts +611 -0
  183. package/src/components/datepicker/ui/renderers/calendar.ts +530 -0
  184. package/src/components/datepicker/ui/renderers/footer.ts +43 -0
  185. package/src/components/datepicker/ui/renderers/header.ts +33 -0
  186. package/src/components/datepicker/ui/renderers/index.ts +9 -0
  187. package/src/components/datepicker/ui/renderers/time-picker.ts +438 -0
  188. package/src/components/datepicker/ui/templates/index.ts +6 -0
  189. package/src/components/datepicker/ui/templates/templates.ts +306 -0
  190. package/src/components/datepicker/utils/__tests__/date-formatters.test.ts +160 -0
  191. package/src/components/datepicker/utils/__tests__/date-utils-keys.test.ts +86 -0
  192. package/src/components/datepicker/utils/__tests__/date-utils-timezone.test.ts +215 -0
  193. package/src/components/datepicker/utils/date-formatters.ts +85 -0
  194. package/src/components/datepicker/utils/date-utils.ts +172 -0
  195. package/src/components/datepicker/utils/index.ts +8 -0
  196. package/src/components/datepicker/utils/time-utils.ts +221 -0
  197. package/src/index.ts +7 -1
  198. package/CONTRIBUTING.md +0 -101
  199. package/examples/datatable/checkbox-events-test.html +0 -400
  200. package/examples/datatable/credentials-test.html +0 -423
  201. package/examples/datatable/remote-checkbox-test.html +0 -365
  202. package/examples/datatable/sorting-test.html +0 -258
  203. package/examples/image-input/file-upload-example.html +0 -189
  204. package/examples/modal/persistent.html +0 -205
  205. package/examples/modal/remote-select-dropdown.html +0 -166
  206. package/examples/modal/select-dropdown-container.html +0 -129
  207. package/examples/select/avatar.html +0 -47
  208. package/examples/select/basic-usage.html +0 -39
  209. package/examples/select/country.html +0 -43
  210. package/examples/select/dark-mode.html +0 -93
  211. package/examples/select/description.html +0 -53
  212. package/examples/select/disable-option.html +0 -37
  213. package/examples/select/disable-select.html +0 -35
  214. package/examples/select/dropdowncontainer.html +0 -111
  215. package/examples/select/dynamic-methods.html +0 -273
  216. package/examples/select/formdata-remote.html +0 -161
  217. package/examples/select/global-config.html +0 -81
  218. package/examples/select/icon-multiple.html +0 -50
  219. package/examples/select/icon.html +0 -48
  220. package/examples/select/max-selection.html +0 -38
  221. package/examples/select/modal-container.html +0 -128
  222. package/examples/select/modal-positioning-test.html +0 -338
  223. package/examples/select/modal.html +0 -80
  224. package/examples/select/multiple.html +0 -40
  225. package/examples/select/native-selected.html +0 -64
  226. package/examples/select/placeholder.html +0 -40
  227. package/examples/select/remote-data-preselected.html +0 -283
  228. package/examples/select/remote-data.html +0 -38
  229. package/examples/select/search.html +0 -57
  230. package/examples/select/sizes.html +0 -94
  231. package/examples/select/tags-enhanced.html +0 -86
  232. package/examples/select/tags-icons.html +0 -57
  233. package/examples/select/template-customization.html +0 -61
  234. package/examples/sticky/README.md +0 -158
  235. package/examples/sticky/debug-sticky.html +0 -144
  236. package/examples/sticky/test-runner.html +0 -175
  237. package/examples/sticky/test-sticky-logic.js +0 -369
  238. package/examples/sticky/test-sticky-positioning.html +0 -386
  239. package/examples/toast/example.html +0 -479
  240. package/lib/cjs/components/datepicker/calendar.js +0 -1061
  241. package/lib/cjs/components/datepicker/calendar.js.map +0 -1
  242. package/lib/cjs/components/datepicker/config.js +0 -332
  243. package/lib/cjs/components/datepicker/config.js.map +0 -1
  244. package/lib/cjs/components/datepicker/dropdown.js +0 -635
  245. package/lib/cjs/components/datepicker/dropdown.js.map +0 -1
  246. package/lib/cjs/components/datepicker/events.js +0 -129
  247. package/lib/cjs/components/datepicker/events.js.map +0 -1
  248. package/lib/cjs/components/datepicker/keyboard.js +0 -536
  249. package/lib/cjs/components/datepicker/keyboard.js.map +0 -1
  250. package/lib/cjs/components/datepicker/locales.js +0 -78
  251. package/lib/cjs/components/datepicker/locales.js.map +0 -1
  252. package/lib/cjs/components/datepicker/templates.js +0 -403
  253. package/lib/cjs/components/datepicker/templates.js.map +0 -1
  254. package/lib/cjs/components/datepicker/types.js +0 -23
  255. package/lib/cjs/components/datepicker/types.js.map +0 -1
  256. package/lib/cjs/components/datepicker/utils.js +0 -524
  257. package/lib/cjs/components/datepicker/utils.js.map +0 -1
  258. package/lib/esm/components/datepicker/calendar.js +0 -1058
  259. package/lib/esm/components/datepicker/calendar.js.map +0 -1
  260. package/lib/esm/components/datepicker/config.js +0 -329
  261. package/lib/esm/components/datepicker/config.js.map +0 -1
  262. package/lib/esm/components/datepicker/dropdown.js +0 -632
  263. package/lib/esm/components/datepicker/dropdown.js.map +0 -1
  264. package/lib/esm/components/datepicker/events.js +0 -126
  265. package/lib/esm/components/datepicker/events.js.map +0 -1
  266. package/lib/esm/components/datepicker/keyboard.js +0 -533
  267. package/lib/esm/components/datepicker/keyboard.js.map +0 -1
  268. package/lib/esm/components/datepicker/locales.js +0 -74
  269. package/lib/esm/components/datepicker/locales.js.map +0 -1
  270. package/lib/esm/components/datepicker/templates.js +0 -390
  271. package/lib/esm/components/datepicker/templates.js.map +0 -1
  272. package/lib/esm/components/datepicker/types.js +0 -20
  273. package/lib/esm/components/datepicker/types.js.map +0 -1
  274. package/lib/esm/components/datepicker/utils.js +0 -508
  275. package/lib/esm/components/datepicker/utils.js.map +0 -1
  276. package/prettier.config.js +0 -9
  277. package/src/components/datepicker/calendar.ts +0 -1397
  278. package/src/components/datepicker/config.ts +0 -368
  279. package/src/components/datepicker/dropdown.ts +0 -757
  280. package/src/components/datepicker/events.ts +0 -149
  281. package/src/components/datepicker/keyboard.ts +0 -646
  282. package/src/components/datepicker/locales.ts +0 -80
  283. package/src/components/datepicker/templates.ts +0 -792
  284. package/src/components/datepicker/types.ts +0 -154
  285. package/src/components/datepicker/utils.ts +0 -631
  286. package/src/components/select/variants.css +0 -4
  287. package/tsconfig.json +0 -17
  288. 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"}