@keenthemes/ktui 1.0.19 → 1.0.21

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 (111) hide show
  1. package/dist/ktui.js +690 -166
  2. package/dist/ktui.min.js +1 -1
  3. package/dist/ktui.min.js.map +1 -1
  4. package/dist/styles.css +165 -31
  5. package/examples/image-input/file-upload-example.html +189 -0
  6. package/examples/select/remote-data_.html +5 -0
  7. package/examples/select/test-optimizations.html +227 -0
  8. package/examples/select/test-remote-search.html +151 -0
  9. package/examples/sticky/README.md +158 -0
  10. package/examples/sticky/debug-sticky.html +144 -0
  11. package/examples/sticky/test-runner.html +175 -0
  12. package/examples/sticky/test-sticky-logic.js +369 -0
  13. package/examples/sticky/test-sticky-positioning.html +386 -0
  14. package/examples/toast/example.html +52 -0
  15. package/lib/cjs/components/component.js +59 -5
  16. package/lib/cjs/components/component.js.map +1 -1
  17. package/lib/cjs/components/datatable/datatable-sort.js +4 -0
  18. package/lib/cjs/components/datatable/datatable-sort.js.map +1 -1
  19. package/lib/cjs/components/datatable/datatable.js +79 -12
  20. package/lib/cjs/components/datatable/datatable.js.map +1 -1
  21. package/lib/cjs/components/image-input/image-input.js +10 -2
  22. package/lib/cjs/components/image-input/image-input.js.map +1 -1
  23. package/lib/cjs/components/select/combobox.js +50 -20
  24. package/lib/cjs/components/select/combobox.js.map +1 -1
  25. package/lib/cjs/components/select/config.js +1 -0
  26. package/lib/cjs/components/select/config.js.map +1 -1
  27. package/lib/cjs/components/select/dropdown.js +4 -2
  28. package/lib/cjs/components/select/dropdown.js.map +1 -1
  29. package/lib/cjs/components/select/index.js.map +1 -1
  30. package/lib/cjs/components/select/option.js +2 -1
  31. package/lib/cjs/components/select/option.js.map +1 -1
  32. package/lib/cjs/components/select/remote.js +50 -50
  33. package/lib/cjs/components/select/remote.js.map +1 -1
  34. package/lib/cjs/components/select/search.js +15 -5
  35. package/lib/cjs/components/select/search.js.map +1 -1
  36. package/lib/cjs/components/select/select.js +273 -32
  37. package/lib/cjs/components/select/select.js.map +1 -1
  38. package/lib/cjs/components/select/tags.js +3 -1
  39. package/lib/cjs/components/select/tags.js.map +1 -1
  40. package/lib/cjs/components/select/templates.js +6 -0
  41. package/lib/cjs/components/select/templates.js.map +1 -1
  42. package/lib/cjs/components/select/utils.js +23 -10
  43. package/lib/cjs/components/select/utils.js.map +1 -1
  44. package/lib/cjs/components/stepper/stepper.js +59 -12
  45. package/lib/cjs/components/stepper/stepper.js.map +1 -1
  46. package/lib/cjs/components/sticky/sticky.js +52 -14
  47. package/lib/cjs/components/sticky/sticky.js.map +1 -1
  48. package/lib/esm/components/component.js +59 -5
  49. package/lib/esm/components/component.js.map +1 -1
  50. package/lib/esm/components/datatable/datatable-sort.js +4 -0
  51. package/lib/esm/components/datatable/datatable-sort.js.map +1 -1
  52. package/lib/esm/components/datatable/datatable.js +78 -12
  53. package/lib/esm/components/datatable/datatable.js.map +1 -1
  54. package/lib/esm/components/image-input/image-input.js +10 -2
  55. package/lib/esm/components/image-input/image-input.js.map +1 -1
  56. package/lib/esm/components/select/combobox.js +50 -20
  57. package/lib/esm/components/select/combobox.js.map +1 -1
  58. package/lib/esm/components/select/config.js +1 -0
  59. package/lib/esm/components/select/config.js.map +1 -1
  60. package/lib/esm/components/select/dropdown.js +4 -2
  61. package/lib/esm/components/select/dropdown.js.map +1 -1
  62. package/lib/esm/components/select/index.js +1 -1
  63. package/lib/esm/components/select/index.js.map +1 -1
  64. package/lib/esm/components/select/option.js +2 -1
  65. package/lib/esm/components/select/option.js.map +1 -1
  66. package/lib/esm/components/select/remote.js +50 -50
  67. package/lib/esm/components/select/remote.js.map +1 -1
  68. package/lib/esm/components/select/search.js +16 -6
  69. package/lib/esm/components/select/search.js.map +1 -1
  70. package/lib/esm/components/select/select.js +273 -32
  71. package/lib/esm/components/select/select.js.map +1 -1
  72. package/lib/esm/components/select/tags.js +3 -1
  73. package/lib/esm/components/select/tags.js.map +1 -1
  74. package/lib/esm/components/select/templates.js +6 -0
  75. package/lib/esm/components/select/templates.js.map +1 -1
  76. package/lib/esm/components/select/utils.js +23 -10
  77. package/lib/esm/components/select/utils.js.map +1 -1
  78. package/lib/esm/components/stepper/stepper.js +59 -12
  79. package/lib/esm/components/stepper/stepper.js.map +1 -1
  80. package/lib/esm/components/sticky/sticky.js +52 -14
  81. package/lib/esm/components/sticky/sticky.js.map +1 -1
  82. package/package.json +2 -2
  83. package/src/components/component.ts +19 -4
  84. package/src/components/datatable/datatable-sort.ts +6 -0
  85. package/src/components/datatable/datatable.ts +98 -15
  86. package/src/components/datatable/types.ts +5 -1
  87. package/src/components/image-input/image-input.ts +11 -2
  88. package/src/components/image-input/types.ts +1 -0
  89. package/src/components/input/input-group.css +1 -1
  90. package/src/components/input/input.css +1 -1
  91. package/src/components/scrollable/scrollable.css +3 -3
  92. package/src/components/select/combobox.ts +84 -34
  93. package/src/components/select/config.ts +2 -0
  94. package/src/components/select/dropdown.ts +20 -11
  95. package/src/components/select/index.ts +6 -1
  96. package/src/components/select/option.ts +7 -6
  97. package/src/components/select/remote.ts +51 -52
  98. package/src/components/select/search.ts +59 -44
  99. package/src/components/select/select.css +26 -17
  100. package/src/components/select/select.ts +472 -101
  101. package/src/components/select/tags.ts +9 -3
  102. package/src/components/select/templates.ts +10 -0
  103. package/src/components/select/utils.ts +55 -20
  104. package/src/components/select/variants.css +0 -1
  105. package/src/components/stepper/stepper.ts +2 -2
  106. package/src/components/sticky/sticky.ts +47 -16
  107. package/src/components/sticky/types.ts +3 -0
  108. package/src/components/table/table.css +1 -1
  109. package/src/components/textarea/textarea.css +1 -1
  110. package/src/components/toast/toast.css +84 -47
  111. package/src/components/toast/types.ts +3 -0
@@ -0,0 +1,386 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>KTUI Sticky Component - Positioning Test</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <style>
9
+ .test-section {
10
+ min-height: 100vh;
11
+ padding: 2rem;
12
+ border-bottom: 1px solid #e5e7eb;
13
+ }
14
+
15
+ .sticky-element {
16
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
17
+ color: white;
18
+ padding: 1rem;
19
+ border-radius: 8px;
20
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
21
+ font-weight: 600;
22
+ text-align: center;
23
+ min-width: 200px;
24
+ }
25
+
26
+ .sticky-element.active {
27
+ background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
28
+ }
29
+
30
+ .position-indicator {
31
+ position: fixed;
32
+ top: 10px;
33
+ right: 10px;
34
+ background: rgba(0, 0, 0, 0.8);
35
+ color: white;
36
+ padding: 0.5rem;
37
+ border-radius: 4px;
38
+ font-size: 0.875rem;
39
+ z-index: 9999;
40
+ }
41
+
42
+ .test-info {
43
+ background: #f3f4f6;
44
+ padding: 1rem;
45
+ border-radius: 8px;
46
+ margin-bottom: 1rem;
47
+ }
48
+
49
+ .scroll-indicator {
50
+ position: fixed;
51
+ bottom: 20px;
52
+ left: 20px;
53
+ background: rgba(0, 0, 0, 0.8);
54
+ color: white;
55
+ padding: 0.5rem 1rem;
56
+ border-radius: 4px;
57
+ font-size: 0.875rem;
58
+ }
59
+ </style>
60
+ </head>
61
+ <body class="bg-gray-50">
62
+ <!-- Position Indicator -->
63
+ <div class="position-indicator" id="positionIndicator">
64
+ Scroll to test positioning
65
+ </div>
66
+
67
+ <!-- Scroll Indicator -->
68
+ <div class="scroll-indicator" id="scrollIndicator">
69
+ Scroll: 0px
70
+ </div>
71
+
72
+ <!-- Test 1: Top positioning -->
73
+ <div class="test-section">
74
+ <div class="test-info">
75
+ <h2 class="text-xl font-bold mb-2">Test 1: Top Positioning</h2>
76
+ <p>Element should stick to top: 20px when scrolling</p>
77
+ </div>
78
+ <div class="sticky-element"
79
+ data-kt-sticky="true"
80
+ data-kt-sticky-top="20"
81
+ data-kt-sticky-offset="100"
82
+ data-kt-sticky-zindex="1000"
83
+ data-kt-sticky-name="top-test">
84
+ Top: 20px
85
+ </div>
86
+ <div class="mt-8">
87
+ <p>Scroll down to see the element stick to the top with 20px offset.</p>
88
+ </div>
89
+ </div>
90
+
91
+ <!-- Test 2: Middle positioning -->
92
+ <div class="test-section">
93
+ <div class="test-info">
94
+ <h2 class="text-xl font-bold mb-2">Test 2: Middle (Vertical Center) Positioning</h2>
95
+ <p>Element should be vertically centered when sticky</p>
96
+ </div>
97
+ <div class="sticky-element"
98
+ data-kt-sticky="true"
99
+ data-kt-sticky-middle="true"
100
+ data-kt-sticky-offset="200"
101
+ data-kt-sticky-zindex="1001"
102
+ data-kt-sticky-name="middle-test">
103
+ Middle (Vertical Center)
104
+ </div>
105
+ <div class="mt-8">
106
+ <p>Scroll down to see the element stick to the vertical center of the viewport.</p>
107
+ </div>
108
+ </div>
109
+
110
+ <!-- Test 3: Center positioning -->
111
+ <div class="test-section">
112
+ <div class="test-info">
113
+ <h2 class="text-xl font-bold mb-2">Test 3: Center (Horizontal Center) Positioning</h2>
114
+ <p>Element should be horizontally centered when sticky</p>
115
+ </div>
116
+ <div class="sticky-element"
117
+ data-kt-sticky="true"
118
+ data-kt-sticky-center="true"
119
+ data-kt-sticky-offset="300"
120
+ data-kt-sticky-zindex="1002"
121
+ data-kt-sticky-name="center-test">
122
+ Center (Horizontal)
123
+ </div>
124
+ <div class="mt-8">
125
+ <p>Scroll down to see the element stick to the horizontal center of the viewport.</p>
126
+ </div>
127
+ </div>
128
+
129
+ <!-- Test 4: Middle + Center positioning -->
130
+ <div class="test-section">
131
+ <div class="test-info">
132
+ <h2 class="text-xl font-bold mb-2">Test 4: Middle + Center (Fully Centered)</h2>
133
+ <p>Element should be both vertically and horizontally centered when sticky</p>
134
+ </div>
135
+ <div class="sticky-element"
136
+ data-kt-sticky="true"
137
+ data-kt-sticky-middle="true"
138
+ data-kt-sticky-center="true"
139
+ data-kt-sticky-offset="400"
140
+ data-kt-sticky-zindex="1003"
141
+ data-kt-sticky-name="middle-center-test">
142
+ Middle + Center
143
+ </div>
144
+ <div class="mt-8">
145
+ <p>Scroll down to see the element stick to the center of the viewport (both axes).</p>
146
+ </div>
147
+ </div>
148
+
149
+ <!-- Test 5: Bottom positioning -->
150
+ <div class="test-section">
151
+ <div class="test-info">
152
+ <h2 class="text-xl font-bold mb-2">Test 5: Bottom Positioning</h2>
153
+ <p>Element should stick to bottom: 20px when scrolling</p>
154
+ </div>
155
+ <div class="sticky-element"
156
+ data-kt-sticky="true"
157
+ data-kt-sticky-bottom="20"
158
+ data-kt-sticky-offset="500"
159
+ data-kt-sticky-zindex="1004"
160
+ data-kt-sticky-name="bottom-test">
161
+ Bottom: 20px
162
+ </div>
163
+ <div class="mt-8">
164
+ <p>Scroll down to see the element stick to the bottom with 20px offset.</p>
165
+ </div>
166
+ </div>
167
+
168
+ <!-- Test 6: Auto positioning with offset calculation -->
169
+ <div class="test-section">
170
+ <div class="test-info">
171
+ <h2 class="text-xl font-bold mb-2">Test 6: Auto Positioning with Offset</h2>
172
+ <p>Element should use calculated offset when start/end is 'auto'</p>
173
+ </div>
174
+ <div class="sticky-element"
175
+ data-kt-sticky="true"
176
+ data-kt-sticky-start="auto"
177
+ data-kt-sticky-top="50"
178
+ data-kt-sticky-offset="600"
179
+ data-kt-sticky-zindex="1005"
180
+ data-kt-sticky-name="auto-test">
181
+ Auto Start + Top: 50px
182
+ </div>
183
+ <div class="mt-8">
184
+ <p>Scroll down to see the element stick with auto-calculated horizontal position.</p>
185
+ </div>
186
+ </div>
187
+
188
+ <!-- Test 7: Exclusive positioning (top vs bottom) -->
189
+ <div class="test-section">
190
+ <div class="test-info">
191
+ <h2 class="text-xl font-bold mb-2">Test 7: Exclusive Positioning Logic</h2>
192
+ <p>Only one of top/bottom should be applied (top takes precedence)</p>
193
+ </div>
194
+ <div class="sticky-element"
195
+ data-kt-sticky="true"
196
+ data-kt-sticky-top="30"
197
+ data-kt-sticky-bottom="30"
198
+ data-kt-sticky-offset="700"
199
+ data-kt-sticky-zindex="1006"
200
+ data-kt-sticky-name="exclusive-test">
201
+ Top: 30px (should ignore bottom)
202
+ </div>
203
+ <div class="mt-8">
204
+ <p>This element has both top and bottom set - only top should be applied.</p>
205
+ </div>
206
+ </div>
207
+
208
+ <!-- Test 8: RTL Support Test -->
209
+ <div class="test-section">
210
+ <div class="test-info">
211
+ <h2 class="text-xl font-bold mb-2">Test 8: RTL Support (Logical Properties)</h2>
212
+ <p>Element should work correctly in RTL layouts using logical properties</p>
213
+ </div>
214
+ <div class="sticky-element"
215
+ data-kt-sticky="true"
216
+ data-kt-sticky-end="20"
217
+ data-kt-sticky-top="40"
218
+ data-kt-sticky-offset="800"
219
+ data-kt-sticky-zindex="1007"
220
+ data-kt-sticky-name="rtl-test">
221
+ End: 20px, Top: 40px (RTL Ready)
222
+ </div>
223
+ <div class="mt-8">
224
+ <p>This element uses logical properties (end instead of right) for RTL compatibility.</p>
225
+ </div>
226
+ </div>
227
+
228
+ <!-- Additional content for scrolling -->
229
+ <div class="test-section">
230
+ <div class="test-info">
231
+ <h2 class="text-xl font-bold mb-2">Additional Content</h2>
232
+ <p>Scroll through this content to test all sticky elements</p>
233
+ </div>
234
+ <div class="space-y-4">
235
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
236
+ <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
237
+ <p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>
238
+ <p>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
239
+ </div>
240
+ </div>
241
+
242
+ <!-- Test Controls -->
243
+ <div class="test-section">
244
+ <div class="test-info">
245
+ <h2 class="text-xl font-bold mb-2">Test Controls</h2>
246
+ <div class="space-y-2">
247
+ <button onclick="toggleRTL()" class="bg-blue-500 text-white px-4 py-2 rounded">
248
+ Toggle RTL Layout
249
+ </button>
250
+ <button onclick="resetAll()" class="bg-green-500 text-white px-4 py-2 rounded">
251
+ Reset All Sticky Elements
252
+ </button>
253
+ <button onclick="scrollToTop()" class="bg-purple-500 text-white px-4 py-2 rounded">
254
+ Scroll to Top
255
+ </button>
256
+ </div>
257
+ </div>
258
+ </div>
259
+
260
+ <!-- Load KTUI -->
261
+ <script src="../../dist/ktui.js"></script>
262
+ <script>
263
+ // Wait for KTUI to load
264
+ document.addEventListener('DOMContentLoaded', function() {
265
+ console.log('DOM loaded, checking KTUI...');
266
+ console.log('window.KTSticky:', window.KTSticky);
267
+
268
+ if (window.KTSticky) {
269
+ console.log('KTSticky found, initializing...');
270
+
271
+ // Check sticky elements before initialization
272
+ const stickyElements = document.querySelectorAll('[data-kt-sticky]');
273
+ console.log('Found sticky elements:', stickyElements.length);
274
+
275
+ // Initialize all sticky elements
276
+ window.KTSticky.init();
277
+ console.log('KTSticky initialized');
278
+
279
+ // Check if elements were initialized
280
+ const initializedElements = document.querySelectorAll('[data-kt-sticky-initialized]');
281
+ console.log('Initialized sticky elements:', initializedElements.length);
282
+
283
+ // Log viewport height
284
+ console.log('Viewport height:', window.innerHeight);
285
+
286
+ // Check each sticky element
287
+ stickyElements.forEach((element, index) => {
288
+ const computedStyle = window.getComputedStyle(element);
289
+ const height = element.offsetHeight;
290
+ const top = element.getAttribute('data-kt-sticky-top') || '0';
291
+ console.log(`Sticky ${index + 1}: height=${height}, top=${top}, height+top=${height + parseInt(top)}`);
292
+ });
293
+ } else {
294
+ console.error('KTSticky not found!');
295
+ }
296
+ });
297
+
298
+ // Initialize sticky components
299
+ document.addEventListener('DOMContentLoaded', function() {
300
+ // Initialize all sticky elements
301
+ if (window.KTSticky) {
302
+ window.KTSticky.init();
303
+ }
304
+
305
+ // Update scroll indicator
306
+ window.addEventListener('scroll', function() {
307
+ const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
308
+ document.getElementById('scrollIndicator').textContent = `Scroll: ${scrollTop}px`;
309
+
310
+ // Update position indicator
311
+ const activeSticky = document.querySelector('[data-kt-sticky-initialized].active');
312
+ if (activeSticky) {
313
+ const name = activeSticky.getAttribute('data-kt-sticky-name');
314
+ const computedStyle = window.getComputedStyle(activeSticky);
315
+ const position = {
316
+ top: computedStyle.top,
317
+ bottom: computedStyle.bottom,
318
+ left: computedStyle.left,
319
+ right: computedStyle.right,
320
+ insetBlockStart: computedStyle.insetBlockStart,
321
+ insetInlineStart: computedStyle.insetInlineStart,
322
+ insetInlineEnd: computedStyle.insetInlineEnd
323
+ };
324
+
325
+ document.getElementById('positionIndicator').innerHTML = `
326
+ Active: ${name}<br>
327
+ Top: ${position.top}<br>
328
+ Bottom: ${position.bottom}<br>
329
+ Left: ${position.left}<br>
330
+ Right: ${position.right}<br>
331
+ InsetBlockStart: ${position.insetBlockStart}<br>
332
+ InsetInlineStart: ${position.insetInlineStart}<br>
333
+ InsetInlineEnd: ${position.insetInlineEnd}
334
+ `;
335
+ } else {
336
+ document.getElementById('positionIndicator').textContent = 'No active sticky elements';
337
+ }
338
+ });
339
+ });
340
+
341
+ // Test functions
342
+ window.toggleRTL = function() {
343
+ const html = document.documentElement;
344
+ const currentDir = html.getAttribute('dir');
345
+ const newDir = currentDir === 'rtl' ? 'ltr' : 'rtl';
346
+ html.setAttribute('dir', newDir);
347
+
348
+ // Reinitialize sticky elements
349
+ if (window.KTSticky) {
350
+ window.KTSticky.init();
351
+ }
352
+ };
353
+
354
+ window.resetAll = function() {
355
+ // Remove all sticky instances
356
+ document.querySelectorAll('[data-kt-sticky-initialized]').forEach(element => {
357
+ const instance = window.KTSticky ? window.KTSticky.getInstance(element) : null;
358
+ if (instance) {
359
+ // Force disable
360
+ element.classList.remove('active');
361
+ element.style.position = '';
362
+ element.style.top = '';
363
+ element.style.bottom = '';
364
+ element.style.left = '';
365
+ element.style.right = '';
366
+ element.style.insetBlockStart = '';
367
+ element.style.insetInlineStart = '';
368
+ element.style.insetInlineEnd = '';
369
+ }
370
+ });
371
+
372
+ // Reinitialize
373
+ if (window.KTSticky) {
374
+ window.KTSticky.init();
375
+ }
376
+ };
377
+
378
+ window.scrollToTop = function() {
379
+ window.scrollTo({
380
+ top: 0,
381
+ behavior: 'smooth'
382
+ });
383
+ };
384
+ </script>
385
+ </body>
386
+ </html>
@@ -54,12 +54,26 @@
54
54
  <button id="toast-pos-top-end" class="kt-btn">Top End (Right)</button>
55
55
  <button id="toast-pos-top-center" class="kt-btn">Top Center</button>
56
56
  <button id="toast-pos-top-start" class="kt-btn">Top Start (Left)</button>
57
+ <button id="toast-pos-middle-end" class="kt-btn">Middle End (Right)</button>
58
+ <button id="toast-pos-middle-center" class="kt-btn">Middle Center</button>
59
+ <button id="toast-pos-middle-start" class="kt-btn">Middle Start (Left)</button>
57
60
  <button id="toast-pos-bottom-end" class="kt-btn">Bottom End (Right)</button>
58
61
  <button id="toast-pos-bottom-center" class="kt-btn">Bottom Center</button>
59
62
  <button id="toast-pos-bottom-start" class="kt-btn">Bottom Start (Left)</button>
60
63
  </div>
61
64
  </div>
62
65
 
66
+ <!-- RTL Testing -->
67
+ <div class="mb-6">
68
+ <h3 class="font-semibold mb-2">RTL Testing</h3>
69
+ <div class="flex flex-wrap gap-2 mb-2">
70
+ <button id="toast-rtl-toggle" class="kt-btn kt-btn-primary">Toggle RTL Mode</button>
71
+ <button id="toast-rtl-test-center" class="kt-btn">Test RTL Top Center</button>
72
+ <button id="toast-rtl-test-middle-center" class="kt-btn">Test RTL Middle Center</button>
73
+ </div>
74
+ <div class="text-xs text-gray-500">Toggle RTL mode to test centering behavior.</div>
75
+ </div>
76
+
63
77
  <!-- Global Config Example -->
64
78
  <div class="mb-6">
65
79
  <h3 class="font-semibold mb-2">Global Config</h3>
@@ -114,6 +128,9 @@ const posExamples = [
114
128
  { id: 'toast-pos-top-end', position: 'top-end', label: 'Top End (Right)' },
115
129
  { id: 'toast-pos-top-center', position: 'top-center', label: 'Top Center' },
116
130
  { id: 'toast-pos-top-start', position: 'top-start', label: 'Top Start (Left)' },
131
+ { id: 'toast-pos-middle-end', position: 'middle-end', label: 'Middle End (Right)' },
132
+ { id: 'toast-pos-middle-center', position: 'middle-center', label: 'Middle Center' },
133
+ { id: 'toast-pos-middle-start', position: 'middle-start', label: 'Middle Start (Left)' },
117
134
  { id: 'toast-pos-bottom-end', position: 'bottom-end', label: 'Bottom End (Right)' },
118
135
  { id: 'toast-pos-bottom-center', position: 'bottom-center', label: 'Bottom Center' },
119
136
  { id: 'toast-pos-bottom-start', position: 'bottom-start', label: 'Bottom Start (Left)' }
@@ -131,6 +148,41 @@ posExamples.forEach(({ id, position, label }) => {
131
148
  }
132
149
  });
133
150
 
151
+ // --- RTL Testing ---
152
+ let isRTL = false;
153
+ const rtlToggleBtn = document.getElementById('toast-rtl-toggle');
154
+ const rtlTestCenterBtn = document.getElementById('toast-rtl-test-center');
155
+ const rtlTestMiddleCenterBtn = document.getElementById('toast-rtl-test-middle-center');
156
+
157
+ if (rtlToggleBtn) {
158
+ rtlToggleBtn.addEventListener('click', () => {
159
+ isRTL = !isRTL;
160
+ document.documentElement.setAttribute('dir', isRTL ? 'rtl' : 'ltr');
161
+ rtlToggleBtn.textContent = isRTL ? 'Switch to LTR' : 'Switch to RTL';
162
+ rtlToggleBtn.className = isRTL ? 'kt-btn kt-btn-secondary' : 'kt-btn kt-btn-primary';
163
+ });
164
+ }
165
+
166
+ if (rtlTestCenterBtn) {
167
+ rtlTestCenterBtn.addEventListener('click', () => {
168
+ KTToast.show({
169
+ message: `RTL Test: Top Center (${isRTL ? 'RTL' : 'LTR'} mode)`,
170
+ position: 'top-center',
171
+ variant: 'info'
172
+ });
173
+ });
174
+ }
175
+
176
+ if (rtlTestMiddleCenterBtn) {
177
+ rtlTestMiddleCenterBtn.addEventListener('click', () => {
178
+ KTToast.show({
179
+ message: `RTL Test: Middle Center (${isRTL ? 'RTL' : 'LTR'} mode)`,
180
+ position: 'middle-center',
181
+ variant: 'success'
182
+ });
183
+ });
184
+ }
185
+
134
186
  // --- Global Config Example ---
135
187
  const defaultGlobalConfig = {
136
188
  position: 'top-end',
@@ -14,6 +14,42 @@ var __assign = (this && this.__assign) || function () {
14
14
  };
15
15
  return __assign.apply(this, arguments);
16
16
  };
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
28
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
17
53
  Object.defineProperty(exports, "__esModule", { value: true });
18
54
  var data_1 = require("../helpers/data");
19
55
  var dom_1 = require("../helpers/dom");
@@ -35,11 +71,29 @@ var KTComponent = /** @class */ (function () {
35
71
  this._element.setAttribute("data-kt-".concat(this._name, "-initialized"), 'true');
36
72
  data_1.default.set(this._element, this._name, this);
37
73
  };
38
- KTComponent.prototype._fireEvent = function (eventType, payload) {
39
- var _a;
40
- if (payload === void 0) { payload = null; }
41
- (_a = this._events.get(eventType)) === null || _a === void 0 ? void 0 : _a.forEach(function (callable) {
42
- callable(payload);
74
+ KTComponent.prototype._fireEvent = function (eventType_1) {
75
+ return __awaiter(this, arguments, void 0, function (eventType, payload) {
76
+ var callbacks;
77
+ if (payload === void 0) { payload = null; }
78
+ return __generator(this, function (_a) {
79
+ switch (_a.label) {
80
+ case 0:
81
+ callbacks = this._events.get(eventType);
82
+ if (callbacks instanceof Map == false) {
83
+ return [2 /*return*/];
84
+ }
85
+ return [4 /*yield*/, Promise.all(Array.from(callbacks.values())
86
+ .filter(function (callable) {
87
+ return typeof callable === 'function';
88
+ })
89
+ .map(function (callable) {
90
+ return Promise.resolve(callable(payload));
91
+ }))];
92
+ case 1:
93
+ _a.sent();
94
+ return [2 /*return*/];
95
+ }
96
+ });
43
97
  });
44
98
  };
45
99
  KTComponent.prototype._dispatchEvent = function (eventType, payload) {
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/component.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,10 @@ function createSortHandler(config, theadElement, getState, setState, fireEvent,
70
70
  // If the sort class is not found, it's not a sortable column
71
71
  if (!header.querySelector(".".concat((_b = (_a = config.sort) === null || _a === void 0 ? void 0 : _a.classes) === null || _b === void 0 ? void 0 : _b.base)))
72
72
  return;
73
+ // Check if sorting is disabled for this column
74
+ var sortDisabled = header.getAttribute('data-kt-datatable-column-sort') === 'false';
75
+ if (sortDisabled)
76
+ return;
73
77
  var sortAttribute = header.getAttribute('data-kt-datatable-column-sort') ||
74
78
  header.getAttribute('data-kt-datatable-column');
75
79
  var sortField = sortAttribute
@@ -1 +1 @@
1
- {"version":3,"file":"datatable-sort.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-sort.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datatable-sort.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-sort.ts"],"names":[],"mappings":"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"}