@keenthemes/ktui 1.0.29 → 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 (243) 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 +12 -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/lib/cjs/components/datepicker/calendar.js +0 -1061
  199. package/lib/cjs/components/datepicker/calendar.js.map +0 -1
  200. package/lib/cjs/components/datepicker/config.js +0 -332
  201. package/lib/cjs/components/datepicker/config.js.map +0 -1
  202. package/lib/cjs/components/datepicker/dropdown.js +0 -635
  203. package/lib/cjs/components/datepicker/dropdown.js.map +0 -1
  204. package/lib/cjs/components/datepicker/events.js +0 -129
  205. package/lib/cjs/components/datepicker/events.js.map +0 -1
  206. package/lib/cjs/components/datepicker/keyboard.js +0 -536
  207. package/lib/cjs/components/datepicker/keyboard.js.map +0 -1
  208. package/lib/cjs/components/datepicker/locales.js +0 -78
  209. package/lib/cjs/components/datepicker/locales.js.map +0 -1
  210. package/lib/cjs/components/datepicker/templates.js +0 -403
  211. package/lib/cjs/components/datepicker/templates.js.map +0 -1
  212. package/lib/cjs/components/datepicker/types.js +0 -23
  213. package/lib/cjs/components/datepicker/types.js.map +0 -1
  214. package/lib/cjs/components/datepicker/utils.js +0 -524
  215. package/lib/cjs/components/datepicker/utils.js.map +0 -1
  216. package/lib/esm/components/datepicker/calendar.js +0 -1058
  217. package/lib/esm/components/datepicker/calendar.js.map +0 -1
  218. package/lib/esm/components/datepicker/config.js +0 -329
  219. package/lib/esm/components/datepicker/config.js.map +0 -1
  220. package/lib/esm/components/datepicker/dropdown.js +0 -632
  221. package/lib/esm/components/datepicker/dropdown.js.map +0 -1
  222. package/lib/esm/components/datepicker/events.js +0 -126
  223. package/lib/esm/components/datepicker/events.js.map +0 -1
  224. package/lib/esm/components/datepicker/keyboard.js +0 -533
  225. package/lib/esm/components/datepicker/keyboard.js.map +0 -1
  226. package/lib/esm/components/datepicker/locales.js +0 -74
  227. package/lib/esm/components/datepicker/locales.js.map +0 -1
  228. package/lib/esm/components/datepicker/templates.js +0 -390
  229. package/lib/esm/components/datepicker/templates.js.map +0 -1
  230. package/lib/esm/components/datepicker/types.js +0 -20
  231. package/lib/esm/components/datepicker/types.js.map +0 -1
  232. package/lib/esm/components/datepicker/utils.js +0 -508
  233. package/lib/esm/components/datepicker/utils.js.map +0 -1
  234. package/src/components/datepicker/calendar.ts +0 -1397
  235. package/src/components/datepicker/config.ts +0 -368
  236. package/src/components/datepicker/dropdown.ts +0 -757
  237. package/src/components/datepicker/events.ts +0 -149
  238. package/src/components/datepicker/keyboard.ts +0 -646
  239. package/src/components/datepicker/locales.ts +0 -80
  240. package/src/components/datepicker/templates.ts +0 -792
  241. package/src/components/datepicker/types.ts +0 -154
  242. package/src/components/datepicker/utils.ts +0 -631
  243. package/src/components/select/variants.css +0 -4
@@ -0,0 +1,384 @@
1
+ "use strict";
2
+ /*
3
+ * time-picker.ts - Time picker renderer for KTDatepicker
4
+ * Provides time picker UI components with increment/decrement controls.
5
+ * Uses unified template system for consistent rendering.
6
+ */
7
+ var __assign = (this && this.__assign) || function () {
8
+ __assign = Object.assign || function(t) {
9
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
10
+ s = arguments[i];
11
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
12
+ t[p] = s[p];
13
+ }
14
+ return t;
15
+ };
16
+ return __assign.apply(this, arguments);
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.renderTimePicker = renderTimePicker;
20
+ var time_utils_1 = require("../../utils/time-utils");
21
+ var templates_1 = require("../../ui/templates/templates");
22
+ /**
23
+ * Render time picker component
24
+ * @param container Container element
25
+ * @param options Time picker options
26
+ * @returns Object with cleanup function and update function
27
+ */
28
+ function renderTimePicker(container, options) {
29
+ var time = options.time, granularity = options.granularity, format = options.format, minTime = options.minTime, maxTime = options.maxTime, _a = options.timeStep, timeStep = _a === void 0 ? 1 : _a, _b = options.disabled, disabled = _b === void 0 ? false : _b, onChange = options.onChange, templates = options.templates;
30
+ // Initialize template renderer
31
+ var templateRenderer = (0, templates_1.createTemplateRenderer)(templates || {});
32
+ // Clear container
33
+ container.innerHTML = '';
34
+ // Current time state (will be updated)
35
+ var currentTime = __assign({}, time);
36
+ // Store references to updateable elements
37
+ var updateableElements = {};
38
+ // Create increment/decrement buttons for each time unit
39
+ var timeUnits = getTimeUnits(granularity);
40
+ // Build time units HTML using templates
41
+ var timeUnitsHtml = '';
42
+ timeUnits.forEach(function (unit, index) {
43
+ // Render time unit using template
44
+ var unitHtml = templateRenderer.renderTemplateString({
45
+ templateKey: 'timeUnit',
46
+ data: {
47
+ unitType: unit,
48
+ upButton: templateRenderer.renderTemplateString({
49
+ templateKey: 'timeUpButton',
50
+ data: {
51
+ unitType: unit,
52
+ disabled: disabled ? 'disabled' : ''
53
+ }
54
+ }),
55
+ valueDisplay: templateRenderer.renderTemplateString({
56
+ templateKey: 'timeValue',
57
+ data: {
58
+ value: getTimeUnitValue(currentTime, unit, format)
59
+ }
60
+ }),
61
+ downButton: templateRenderer.renderTemplateString({
62
+ templateKey: 'timeDownButton',
63
+ data: {
64
+ unitType: unit,
65
+ disabled: disabled ? 'disabled' : ''
66
+ }
67
+ })
68
+ }
69
+ });
70
+ timeUnitsHtml += unitHtml;
71
+ // Add separator between units (except after last unit)
72
+ if (index < timeUnits.length - 1) {
73
+ timeUnitsHtml += templateRenderer.renderTemplateString({
74
+ templateKey: 'timeSeparator',
75
+ data: { separator: ':' }
76
+ });
77
+ }
78
+ });
79
+ // Render time controls with units
80
+ var timeControlsHtml = templateRenderer.renderTemplateString({
81
+ templateKey: 'timeControls',
82
+ data: {
83
+ timeUnits: timeUnitsHtml,
84
+ ampmControl: format === '12h' ? templateRenderer.renderTemplateString({
85
+ templateKey: 'ampmControl',
86
+ data: {
87
+ ampmButton: templateRenderer.renderTemplateString({
88
+ templateKey: 'ampmButton',
89
+ data: {
90
+ ampmValue: currentTime.hour >= 12 ? 'PM' : 'AM',
91
+ disabled: disabled ? 'disabled' : ''
92
+ }
93
+ })
94
+ }
95
+ }) : ''
96
+ }
97
+ });
98
+ // Render time display
99
+ var timeDisplayHtml = templateRenderer.renderTemplateString({
100
+ templateKey: 'timeDisplay',
101
+ data: {
102
+ timeValue: (0, time_utils_1.formatTime)(currentTime, granularity, format)
103
+ }
104
+ });
105
+ // Render complete time picker wrapper
106
+ var timePickerHtml = templateRenderer.renderTemplateString({
107
+ templateKey: 'timePickerWrapper',
108
+ data: {
109
+ timeDisplay: timeDisplayHtml,
110
+ timeControls: timeControlsHtml
111
+ }
112
+ });
113
+ // Insert rendered HTML into container
114
+ container.innerHTML = timePickerHtml;
115
+ // Get references to elements for event handling
116
+ var timeDisplay = container.querySelector('[data-kt-datepicker-time-display]');
117
+ // Add event listeners to time unit buttons
118
+ timeUnits.forEach(function (unit) {
119
+ var upButton = container.querySelector("[data-kt-datepicker-time-up][aria-label=\"Increment ".concat(unit, "\"]"));
120
+ var downButton = container.querySelector("[data-kt-datepicker-time-down][aria-label=\"Decrement ".concat(unit, "\"]"));
121
+ var valueDisplay = container.querySelector("[data-kt-datepicker-time-unit=\"".concat(unit, "\"] [data-kt-datepicker-time-value]"));
122
+ // Store reference for updates
123
+ updateableElements["".concat(unit, "Value")] = valueDisplay;
124
+ // Add event listeners with UI update
125
+ upButton.addEventListener('click', function () {
126
+ if (!disabled && onChange) {
127
+ var newTime = incrementTimeUnit(currentTime, unit, timeStep, format);
128
+ var validation = (0, time_utils_1.validateTime)(newTime, minTime, maxTime);
129
+ if (validation.isValid) {
130
+ // Update current time state
131
+ currentTime = newTime;
132
+ // Update UI immediately
133
+ updateTimeDisplay(currentTime, updateableElements, timeDisplay, granularity, format);
134
+ // Call onChange callback
135
+ onChange(currentTime);
136
+ }
137
+ }
138
+ });
139
+ downButton.addEventListener('click', function () {
140
+ if (!disabled && onChange) {
141
+ var newTime = decrementTimeUnit(currentTime, unit, timeStep, format);
142
+ var validation = (0, time_utils_1.validateTime)(newTime, minTime, maxTime);
143
+ if (validation.isValid) {
144
+ // Update current time state
145
+ currentTime = newTime;
146
+ // Update UI immediately
147
+ updateTimeDisplay(currentTime, updateableElements, timeDisplay, granularity, format);
148
+ // Call onChange callback
149
+ onChange(currentTime);
150
+ }
151
+ }
152
+ });
153
+ });
154
+ // Add AM/PM toggle for 12-hour format
155
+ if (format === '12h') {
156
+ var ampmButton_1 = container.querySelector('[data-kt-datepicker-ampm-button]');
157
+ ampmButton_1.addEventListener('click', function () {
158
+ if (!disabled && onChange) {
159
+ var newTime = __assign({}, currentTime);
160
+ if (newTime.hour >= 12) {
161
+ newTime.hour = newTime.hour - 12;
162
+ }
163
+ else {
164
+ newTime.hour = newTime.hour + 12;
165
+ }
166
+ if ((0, time_utils_1.validateTime)(newTime, minTime, maxTime).isValid) {
167
+ // Update current time state
168
+ currentTime = newTime;
169
+ // Update UI immediately
170
+ updateTimeDisplay(currentTime, updateableElements, timeDisplay, granularity, format);
171
+ // Update AM/PM button text
172
+ ampmButton_1.textContent = currentTime.hour >= 12 ? 'PM' : 'AM';
173
+ // Call onChange callback
174
+ onChange(currentTime);
175
+ }
176
+ }
177
+ });
178
+ }
179
+ // Add keyboard navigation for time picker
180
+ container.addEventListener('keydown', function (e) {
181
+ if (disabled)
182
+ return;
183
+ // Handle arrow up/down for time units
184
+ if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {
185
+ e.preventDefault();
186
+ e.stopPropagation();
187
+ // Find the currently focused time unit
188
+ var focusedElement_1 = document.activeElement;
189
+ if (!focusedElement_1 || !container.contains(focusedElement_1))
190
+ return;
191
+ // Determine which time unit is focused
192
+ var focusedUnit_1 = null;
193
+ timeUnits.forEach(function (unit) {
194
+ var unitElement = container.querySelector("[data-kt-datepicker-time-unit=\"".concat(unit, "\"]"));
195
+ if (unitElement && unitElement.contains(focusedElement_1)) {
196
+ focusedUnit_1 = unit;
197
+ }
198
+ });
199
+ // If no specific unit is focused, focus the first one
200
+ if (!focusedUnit_1 && timeUnits.length > 0) {
201
+ focusedUnit_1 = timeUnits[0];
202
+ }
203
+ if (focusedUnit_1 && onChange) {
204
+ var newTime = void 0;
205
+ if (e.key === 'ArrowUp') {
206
+ newTime = incrementTimeUnit(currentTime, focusedUnit_1, timeStep, format);
207
+ }
208
+ else {
209
+ newTime = decrementTimeUnit(currentTime, focusedUnit_1, timeStep, format);
210
+ }
211
+ var validation = (0, time_utils_1.validateTime)(newTime, minTime, maxTime);
212
+ if (validation.isValid) {
213
+ // Update current time state
214
+ currentTime = newTime;
215
+ // Update UI immediately
216
+ updateTimeDisplay(currentTime, updateableElements, timeDisplay, granularity, format);
217
+ // Call onChange callback
218
+ onChange(currentTime);
219
+ }
220
+ }
221
+ }
222
+ // Handle Tab navigation between time units
223
+ if (e.key === 'Tab') {
224
+ var timeUnitElements = timeUnits.map(function (unit) {
225
+ return container.querySelector("[data-kt-datepicker-time-unit=\"".concat(unit, "\"]"));
226
+ }).filter(Boolean);
227
+ if (timeUnitElements.length > 0) {
228
+ var currentIndex = timeUnitElements.findIndex(function (el) { return el.contains(document.activeElement); });
229
+ var nextIndex = currentIndex;
230
+ if (e.shiftKey) {
231
+ // Shift+Tab: move to previous
232
+ nextIndex = currentIndex > 0 ? currentIndex - 1 : timeUnitElements.length - 1;
233
+ }
234
+ else {
235
+ // Tab: move to next
236
+ nextIndex = currentIndex < timeUnitElements.length - 1 ? currentIndex + 1 : 0;
237
+ }
238
+ if (nextIndex >= 0 && nextIndex < timeUnitElements.length) {
239
+ timeUnitElements[nextIndex].focus();
240
+ e.preventDefault();
241
+ }
242
+ }
243
+ }
244
+ });
245
+ // Make time units focusable
246
+ timeUnits.forEach(function (unit) {
247
+ var unitElement = container.querySelector("[data-kt-datepicker-time-unit=\"".concat(unit, "\"]"));
248
+ if (unitElement) {
249
+ unitElement.tabIndex = 0;
250
+ unitElement.setAttribute('role', 'spinbutton');
251
+ unitElement.setAttribute('aria-label', "".concat(unit, " value"));
252
+ }
253
+ });
254
+ // Update function to sync with external state changes
255
+ var update = function (newTime) {
256
+ currentTime = __assign({}, newTime);
257
+ updateTimeDisplay(currentTime, updateableElements, timeDisplay, granularity, format);
258
+ // Update AM/PM button if it exists
259
+ if (format === '12h') {
260
+ var ampmButton = container.querySelector('.kt-datepicker-time-ampm-button');
261
+ if (ampmButton) {
262
+ ampmButton.textContent = currentTime.hour >= 12 ? 'PM' : 'AM';
263
+ }
264
+ }
265
+ };
266
+ // Return cleanup function and update function
267
+ return {
268
+ cleanup: function () {
269
+ container.innerHTML = '';
270
+ },
271
+ update: update
272
+ };
273
+ }
274
+ /**
275
+ * Update time picker display elements with new time values
276
+ * @param time New time state
277
+ * @param updateableElements Object containing references to updateable DOM elements
278
+ * @param timeDisplay Main time display element
279
+ * @param granularity Time granularity
280
+ * @param format Time format
281
+ */
282
+ function updateTimeDisplay(time, updateableElements, timeDisplay, granularity, format) {
283
+ // Update main time display
284
+ var mainDisplayText = (0, time_utils_1.formatTime)(time, granularity, format);
285
+ timeDisplay.textContent = mainDisplayText;
286
+ // Update individual time unit displays
287
+ var timeUnits = getTimeUnits(granularity);
288
+ timeUnits.forEach(function (unit) {
289
+ var elementKey = "".concat(unit, "Value");
290
+ var element = updateableElements[elementKey];
291
+ if (element) {
292
+ var unitValue = getTimeUnitValue(time, unit, format);
293
+ element.textContent = unitValue;
294
+ }
295
+ });
296
+ }
297
+ /**
298
+ * Get time units based on granularity
299
+ * @param granularity Time granularity
300
+ * @returns Array of time unit names
301
+ */
302
+ function getTimeUnits(granularity) {
303
+ switch (granularity) {
304
+ case 'hour':
305
+ return ['hour'];
306
+ case 'minute':
307
+ return ['hour', 'minute'];
308
+ case 'second':
309
+ return ['hour', 'minute', 'second'];
310
+ default:
311
+ return ['hour', 'minute'];
312
+ }
313
+ }
314
+ /**
315
+ * Get display value for time unit
316
+ * @param time TimeState object
317
+ * @param unit Time unit
318
+ * @param format Time format
319
+ * @returns Formatted unit value
320
+ */
321
+ function getTimeUnitValue(time, unit, format) {
322
+ switch (unit) {
323
+ case 'hour':
324
+ var hour = time.hour;
325
+ if (format === '12h') {
326
+ hour = hour % 12;
327
+ hour = hour === 0 ? 12 : hour;
328
+ }
329
+ return hour.toString().padStart(2, '0');
330
+ case 'minute':
331
+ return time.minute.toString().padStart(2, '0');
332
+ case 'second':
333
+ return time.second.toString().padStart(2, '0');
334
+ default:
335
+ return '';
336
+ }
337
+ }
338
+ /**
339
+ * Increment time unit
340
+ * @param time Current time
341
+ * @param unit Time unit to increment
342
+ * @param step Step increment
343
+ * @param format Time format
344
+ * @returns New time state
345
+ */
346
+ function incrementTimeUnit(time, unit, step, format) {
347
+ var newTime = __assign({}, time);
348
+ switch (unit) {
349
+ case 'hour':
350
+ newTime.hour = (newTime.hour + step) % 24;
351
+ break;
352
+ case 'minute':
353
+ newTime.minute = (newTime.minute + step) % 60;
354
+ break;
355
+ case 'second':
356
+ newTime.second = (newTime.second + step) % 60;
357
+ break;
358
+ }
359
+ return newTime;
360
+ }
361
+ /**
362
+ * Decrement time unit
363
+ * @param time Current time
364
+ * @param unit Time unit to decrement
365
+ * @param step Step increment
366
+ * @param format Time format
367
+ * @returns New time state
368
+ */
369
+ function decrementTimeUnit(time, unit, step, format) {
370
+ var newTime = __assign({}, time);
371
+ switch (unit) {
372
+ case 'hour':
373
+ newTime.hour = (newTime.hour - step + 24) % 24;
374
+ break;
375
+ case 'minute':
376
+ newTime.minute = (newTime.minute - step + 60) % 60;
377
+ break;
378
+ case 'second':
379
+ newTime.second = (newTime.second - step + 60) % 60;
380
+ break;
381
+ }
382
+ return newTime;
383
+ }
384
+ //# sourceMappingURL=time-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-picker.js","sourceRoot":"","sources":["../../../../../../src/components/datepicker/ui/renderers/time-picker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /*
3
+ * templates/index.ts - Template module exports
4
+ * Provides unified template system 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("./templates"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/datepicker/ui/templates/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,8CAA4B"}