@keenthemes/ktui 1.0.11 → 1.0.12

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 (129) hide show
  1. package/dist/ktui.js +1283 -1096
  2. package/dist/ktui.min.js +1 -1
  3. package/dist/ktui.min.js.map +1 -1
  4. package/examples/select/basic-usage.html +43 -0
  5. package/examples/select/combobox-icons.html +58 -0
  6. package/examples/select/combobox.html +46 -0
  7. package/examples/select/description.html +69 -0
  8. package/examples/select/disable-option.html +43 -0
  9. package/examples/select/disable-select.html +34 -0
  10. package/examples/select/icon-description.html +56 -0
  11. package/examples/select/icon-multiple.html +58 -0
  12. package/examples/select/icon.html +58 -0
  13. package/examples/select/max-selection.html +39 -0
  14. package/examples/select/modal.html +70 -0
  15. package/examples/select/multiple.html +42 -0
  16. package/examples/select/placeholder.html +43 -0
  17. package/examples/select/remote-data.html +32 -0
  18. package/examples/select/search.html +49 -0
  19. package/examples/select/tags-icons.html +58 -0
  20. package/examples/select/tags-selected.html +59 -0
  21. package/examples/select/tags.html +58 -0
  22. package/examples/select/template-customization.html +65 -0
  23. package/examples/select/test.html +94 -0
  24. package/examples/toast/example.html +427 -0
  25. package/lib/cjs/components/component.js +1 -1
  26. package/lib/cjs/components/component.js.map +1 -1
  27. package/lib/cjs/components/datatable/datatable.js +22 -6
  28. package/lib/cjs/components/datatable/datatable.js.map +1 -1
  29. package/lib/cjs/components/select/combobox.js +38 -120
  30. package/lib/cjs/components/select/combobox.js.map +1 -1
  31. package/lib/cjs/components/select/config.js +4 -16
  32. package/lib/cjs/components/select/config.js.map +1 -1
  33. package/lib/cjs/components/select/dropdown.js +10 -49
  34. package/lib/cjs/components/select/dropdown.js.map +1 -1
  35. package/lib/cjs/components/select/index.js +2 -1
  36. package/lib/cjs/components/select/index.js.map +1 -1
  37. package/lib/cjs/components/select/option.js +21 -4
  38. package/lib/cjs/components/select/option.js.map +1 -1
  39. package/lib/cjs/components/select/remote.js +1 -37
  40. package/lib/cjs/components/select/remote.js.map +1 -1
  41. package/lib/cjs/components/select/search.js +11 -41
  42. package/lib/cjs/components/select/search.js.map +1 -1
  43. package/lib/cjs/components/select/select.js +213 -326
  44. package/lib/cjs/components/select/select.js.map +1 -1
  45. package/lib/cjs/components/select/tags.js +39 -31
  46. package/lib/cjs/components/select/tags.js.map +1 -1
  47. package/lib/cjs/components/select/templates.js +120 -179
  48. package/lib/cjs/components/select/templates.js.map +1 -1
  49. package/lib/cjs/components/select/types.js +0 -12
  50. package/lib/cjs/components/select/types.js.map +1 -1
  51. package/lib/cjs/components/select/utils.js +204 -257
  52. package/lib/cjs/components/select/utils.js.map +1 -1
  53. package/lib/cjs/components/toast/index.js +10 -0
  54. package/lib/cjs/components/toast/index.js.map +1 -0
  55. package/lib/cjs/components/toast/toast.js +543 -0
  56. package/lib/cjs/components/toast/toast.js.map +1 -0
  57. package/lib/cjs/components/toast/types.js +7 -0
  58. package/lib/cjs/components/toast/types.js.map +1 -0
  59. package/lib/cjs/helpers/dom.js +24 -0
  60. package/lib/cjs/helpers/dom.js.map +1 -1
  61. package/lib/cjs/index.js +5 -1
  62. package/lib/cjs/index.js.map +1 -1
  63. package/lib/esm/components/component.js +1 -1
  64. package/lib/esm/components/component.js.map +1 -1
  65. package/lib/esm/components/datatable/datatable.js +22 -6
  66. package/lib/esm/components/datatable/datatable.js.map +1 -1
  67. package/lib/esm/components/select/combobox.js +39 -121
  68. package/lib/esm/components/select/combobox.js.map +1 -1
  69. package/lib/esm/components/select/config.js +3 -15
  70. package/lib/esm/components/select/config.js.map +1 -1
  71. package/lib/esm/components/select/dropdown.js +10 -49
  72. package/lib/esm/components/select/dropdown.js.map +1 -1
  73. package/lib/esm/components/select/index.js +1 -1
  74. package/lib/esm/components/select/index.js.map +1 -1
  75. package/lib/esm/components/select/option.js +21 -4
  76. package/lib/esm/components/select/option.js.map +1 -1
  77. package/lib/esm/components/select/remote.js +1 -37
  78. package/lib/esm/components/select/remote.js.map +1 -1
  79. package/lib/esm/components/select/search.js +12 -42
  80. package/lib/esm/components/select/search.js.map +1 -1
  81. package/lib/esm/components/select/select.js +214 -327
  82. package/lib/esm/components/select/select.js.map +1 -1
  83. package/lib/esm/components/select/tags.js +39 -31
  84. package/lib/esm/components/select/tags.js.map +1 -1
  85. package/lib/esm/components/select/templates.js +119 -178
  86. package/lib/esm/components/select/templates.js.map +1 -1
  87. package/lib/esm/components/select/types.js +1 -11
  88. package/lib/esm/components/select/types.js.map +1 -1
  89. package/lib/esm/components/select/utils.js +201 -255
  90. package/lib/esm/components/select/utils.js.map +1 -1
  91. package/lib/esm/components/toast/index.js +6 -0
  92. package/lib/esm/components/toast/index.js.map +1 -0
  93. package/lib/esm/components/toast/toast.js +540 -0
  94. package/lib/esm/components/toast/toast.js.map +1 -0
  95. package/lib/esm/components/toast/types.js +6 -0
  96. package/lib/esm/components/toast/types.js.map +1 -0
  97. package/lib/esm/helpers/dom.js +24 -0
  98. package/lib/esm/helpers/dom.js.map +1 -1
  99. package/lib/esm/index.js +3 -0
  100. package/lib/esm/index.js.map +1 -1
  101. package/package.json +8 -6
  102. package/src/components/alert/alert.css +15 -2
  103. package/src/components/component.ts +4 -0
  104. package/src/components/datatable/datatable.ts +24 -16
  105. package/src/components/input/input.css +3 -1
  106. package/src/components/link/link.css +2 -2
  107. package/src/components/select/combobox.ts +42 -149
  108. package/src/components/select/config.ts +38 -33
  109. package/src/components/select/dropdown.ts +8 -55
  110. package/src/components/select/index.ts +1 -1
  111. package/src/components/select/option.ts +28 -7
  112. package/src/components/select/remote.ts +2 -42
  113. package/src/components/select/search.ts +14 -54
  114. package/src/components/select/select.css +49 -0
  115. package/src/components/select/select.ts +231 -437
  116. package/src/components/select/tags.ts +40 -37
  117. package/src/components/select/templates.ts +166 -303
  118. package/src/components/select/types.ts +0 -10
  119. package/src/components/select/utils.ts +214 -304
  120. package/src/components/textarea/textarea.css +2 -1
  121. package/src/components/toast/index.ts +7 -0
  122. package/src/components/toast/toast.css +60 -0
  123. package/src/components/toast/toast.ts +605 -0
  124. package/src/components/toast/types.ts +169 -0
  125. package/src/helpers/dom.ts +30 -0
  126. package/src/index.ts +4 -0
  127. package/styles/main.css +3 -0
  128. package/styles/vars.css +138 -0
  129. package/styles.css +1 -0
@@ -0,0 +1,6 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ export { KTToast } from './toast';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/toast/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,540 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ var __extends = (this && this.__extends) || (function () {
6
+ var extendStatics = function (d, b) {
7
+ extendStatics = Object.setPrototypeOf ||
8
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
9
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
10
+ return extendStatics(d, b);
11
+ };
12
+ return function (d, b) {
13
+ if (typeof b !== "function" && b !== null)
14
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
15
+ extendStatics(d, b);
16
+ function __() { this.constructor = d; }
17
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
18
+ };
19
+ })();
20
+ var __assign = (this && this.__assign) || function () {
21
+ __assign = Object.assign || function(t) {
22
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
23
+ s = arguments[i];
24
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
25
+ t[p] = s[p];
26
+ }
27
+ return t;
28
+ };
29
+ return __assign.apply(this, arguments);
30
+ };
31
+ import KTComponent from '../component';
32
+ import KTData from '../../helpers/data';
33
+ var DEFAULT_CONFIG = {
34
+ position: 'top-end',
35
+ duration: 4000,
36
+ className: '',
37
+ maxToasts: 5,
38
+ offset: 15,
39
+ gap: 10,
40
+ };
41
+ var DEFAULT_TOAST_OPTIONS = {
42
+ appearance: 'solid',
43
+ progress: false,
44
+ size: 'md',
45
+ action: false,
46
+ cancel: false,
47
+ dismiss: true,
48
+ };
49
+ var KTToast = /** @class */ (function (_super) {
50
+ __extends(KTToast, _super);
51
+ /**
52
+ * Creates a new KTToast instance for a specific element (not commonly used; most use static API).
53
+ * @param element The target HTML element.
54
+ * @param config Optional toast config for this instance.
55
+ */
56
+ function KTToast(element, config) {
57
+ var _this = _super.call(this) || this;
58
+ _this._name = 'toast';
59
+ _this._defaultConfig = DEFAULT_CONFIG;
60
+ _this._config = DEFAULT_CONFIG;
61
+ _this._defaultToastOptions = DEFAULT_TOAST_OPTIONS;
62
+ if (KTData.has(element, _this._name))
63
+ return _this;
64
+ _this._init(element);
65
+ _this._buildConfig(config);
66
+ KTData.set(element, _this._name, _this);
67
+ return _this;
68
+ }
69
+ /**
70
+ * Generates the HTML content for a toast based on the provided options.
71
+ * @param options Toast options (message, icon, actions, etc).
72
+ * @returns The toast's HTML markup as a string.
73
+ */
74
+ KTToast.getContent = function (options) {
75
+ var classNames = __assign(__assign({}, (this.globalConfig.classNames || {})), ((options === null || options === void 0 ? void 0 : options.classNames) || {}));
76
+ if (options === null || options === void 0 ? void 0 : options.content) {
77
+ if (typeof options.content === 'string') {
78
+ return options.content;
79
+ }
80
+ else if (typeof options.content === 'function') {
81
+ var node = options.content();
82
+ if (node instanceof HTMLElement) {
83
+ return node.outerHTML;
84
+ }
85
+ }
86
+ else if (options.content instanceof HTMLElement) {
87
+ return options.content.outerHTML;
88
+ }
89
+ }
90
+ var template = '';
91
+ if (options === null || options === void 0 ? void 0 : options.icon) {
92
+ template +=
93
+ '<div class="kt-alert-icon ' +
94
+ (classNames.icon || '') +
95
+ '">' +
96
+ options.icon +
97
+ '</div>';
98
+ }
99
+ if (options === null || options === void 0 ? void 0 : options.message) {
100
+ template +=
101
+ '<div class="kt-alert-title ' +
102
+ (classNames.message || '') +
103
+ '">' +
104
+ options.message +
105
+ '</div>';
106
+ }
107
+ if ((options === null || options === void 0 ? void 0 : options.action) !== false ||
108
+ (options === null || options === void 0 ? void 0 : options.dismiss) !== false ||
109
+ (options === null || options === void 0 ? void 0 : options.cancel) !== false) {
110
+ template +=
111
+ '<div class="kt-alert-toolbar ' + (classNames.toolbar || '') + '">';
112
+ template +=
113
+ '<div class="kt-alert-actions ' + (classNames.actions || '') + '">';
114
+ if ((options === null || options === void 0 ? void 0 : options.action) && typeof options.action === 'object') {
115
+ template +=
116
+ '<button data-kt-toast-action="true" class="' +
117
+ (options.action.className || '') +
118
+ '">' +
119
+ options.action.label +
120
+ '</button>';
121
+ }
122
+ if ((options === null || options === void 0 ? void 0 : options.cancel) && typeof options.cancel === 'object') {
123
+ template +=
124
+ '<button data-kt-toast-cancel="true" class="' +
125
+ (options.cancel.className || '') +
126
+ '">' +
127
+ options.cancel.label +
128
+ '</button>';
129
+ }
130
+ if ((options === null || options === void 0 ? void 0 : options.dismiss) !== false) {
131
+ template +=
132
+ '<button data-kt-toast-dismiss="true" class="kt-alert-close"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg></button>';
133
+ }
134
+ template += '</div>';
135
+ template += '</div>';
136
+ }
137
+ template += '</div>';
138
+ return template;
139
+ };
140
+ /**
141
+ * Update all toasts in the container with smooth animation.
142
+ *
143
+ * @param container The toast container element.
144
+ * @param offset Optional offset from the edge.
145
+ */
146
+ KTToast.update = function (container, offset) {
147
+ var _this = this;
148
+ var _a;
149
+ if (!container)
150
+ return;
151
+ offset =
152
+ typeof offset === 'number' ? offset : ((_a = this.globalConfig.offset) !== null && _a !== void 0 ? _a : 15);
153
+ requestAnimationFrame(function () {
154
+ var _a;
155
+ var gap = (_a = _this.globalConfig.gap) !== null && _a !== void 0 ? _a : 8;
156
+ // Group toasts by alignment (top/bottom)
157
+ var positionGroups = {
158
+ top: [],
159
+ bottom: [],
160
+ };
161
+ var toasts = Array.from(container.children);
162
+ toasts.forEach(function (toast) {
163
+ if (toast.classList.contains('kt-toast-top-end') ||
164
+ toast.classList.contains('kt-toast-top-center') ||
165
+ toast.classList.contains('kt-toast-top-start')) {
166
+ positionGroups.top.push(toast);
167
+ }
168
+ else {
169
+ positionGroups.bottom.push(toast);
170
+ }
171
+ });
172
+ // Stack top toasts from the top down
173
+ var currentOffset = offset;
174
+ positionGroups.top.forEach(function (toast) {
175
+ toast.style.top = "".concat(currentOffset, "px");
176
+ toast.style.bottom = '';
177
+ toast.style.transition =
178
+ 'top 0.28s cubic-bezier(.4,0,.2,1), opacity 0.28s cubic-bezier(.4,0,.2,1)';
179
+ currentOffset += toast.offsetHeight + gap;
180
+ if (toast.classList.contains('kt-toast-top-start')) {
181
+ toast.style.insetInlineStart = "".concat(offset, "px");
182
+ }
183
+ if (toast.classList.contains('kt-toast-top-end')) {
184
+ toast.style.insetInlineEnd = "".concat(offset, "px");
185
+ }
186
+ });
187
+ // Stack bottom toasts from the bottom up
188
+ currentOffset = offset;
189
+ for (var i = positionGroups.bottom.length - 1; i >= 0; i--) {
190
+ var toast = positionGroups.bottom[i];
191
+ toast.style.bottom = "".concat(currentOffset, "px");
192
+ toast.style.top = '';
193
+ toast.style.transition =
194
+ 'bottom 0.28s cubic-bezier(.4,0,.2,1), opacity 0.28s cubic-bezier(.4,0,.2,1)';
195
+ currentOffset += toast.offsetHeight + gap;
196
+ if (toast.classList.contains('kt-toast-bottom-start')) {
197
+ toast.style.insetInlineStart = "".concat(offset, "px");
198
+ }
199
+ if (toast.classList.contains('kt-toast-bottom-end')) {
200
+ toast.style.insetInlineEnd = "".concat(offset, "px");
201
+ }
202
+ }
203
+ });
204
+ };
205
+ /**
206
+ * Set global toast configuration options.
207
+ * @param options Partial toast config to merge with global config.
208
+ */
209
+ KTToast.config = function (options) {
210
+ this.globalConfig = __assign(__assign({}, this.globalConfig), options);
211
+ };
212
+ /**
213
+ * Show a toast notification.
214
+ * @param inputOptions Toast options (message, duration, variant, etc).
215
+ * @returns Toast instance with dismiss method, or undefined if invalid input.
216
+ */
217
+ KTToast.show = function (inputOptions) {
218
+ var _a, _b, _c, _d;
219
+ var options = __assign(__assign({}, DEFAULT_TOAST_OPTIONS), inputOptions);
220
+ if (!options || (!options.message && !options.content)) {
221
+ return undefined;
222
+ }
223
+ // Always resolve the id once and use it everywhere
224
+ var id = "kt-toast-".concat(Date.now(), "-").concat(Math.random().toString(36).slice(2, 8));
225
+ var position = options.position || this.globalConfig.position || 'top-end';
226
+ var classNames = __assign(__assign({}, (this.globalConfig.classNames || {})), (options.classNames || {}));
227
+ var container = this.containerMap.get(position);
228
+ if (!container) {
229
+ container = document.createElement('div');
230
+ var classNames_1 = __assign(__assign({}, (this.globalConfig.classNames || {})), (options.classNames || {}));
231
+ // Fallback to default hardcoded classes if not provided in options or globalConfig
232
+ container.className =
233
+ classNames_1.container || "kt-toast-container ".concat(position);
234
+ document.body.appendChild(container);
235
+ this.containerMap.set(position, container);
236
+ }
237
+ // Enforce maxToasts
238
+ if (container.children.length >=
239
+ (this.globalConfig.maxToasts || DEFAULT_CONFIG.maxToasts)) {
240
+ var firstToast_1 = container.firstElementChild;
241
+ if (firstToast_1) {
242
+ firstToast_1.classList.add('kt-toast-closing');
243
+ firstToast_1.addEventListener('animationend', function () {
244
+ firstToast_1.remove();
245
+ });
246
+ }
247
+ }
248
+ // Create toast element
249
+ var variantMap = {
250
+ info: 'kt-alert-info',
251
+ success: 'kt-alert-success',
252
+ error: 'kt-alert-error',
253
+ warning: 'kt-alert-warning',
254
+ primary: 'kt-alert-primary',
255
+ secondary: 'kt-alert-secondary',
256
+ destructive: 'kt-alert-destructive',
257
+ mono: 'kt-alert-mono',
258
+ };
259
+ var appearanceMap = {
260
+ solid: 'kt-alert-solid',
261
+ outline: 'kt-alert-outline',
262
+ light: 'kt-alert-light',
263
+ };
264
+ var sizeMap = {
265
+ sm: 'kt-alert-sm',
266
+ md: 'kt-alert-md',
267
+ lg: 'kt-alert-lg',
268
+ };
269
+ var toast = document.createElement('div');
270
+ toast.className = "kt-toast kt-alert ".concat(variantMap[options.variant] || '', " ").concat(appearanceMap[options.appearance] || '', " ").concat(sizeMap[options.size] || '', " ").concat(options.className || '', " ").concat(classNames.toast || '');
271
+ // ARIA support
272
+ toast.setAttribute('role', options.role || 'status');
273
+ toast.setAttribute('aria-live', 'polite');
274
+ toast.setAttribute('aria-atomic', 'true');
275
+ toast.setAttribute('tabindex', '0');
276
+ // Always resolve the id once and use it everywhere
277
+ // Always resolve id ONCE at the top, use everywhere
278
+ // (Move this up to replace the previous const id = ... assignment)
279
+ // Populate content via getContent
280
+ var contentHtml = KTToast.getContent(options);
281
+ toast.innerHTML = contentHtml;
282
+ // Assign event handlers to buttons by data attribute
283
+ var actionBtn = toast.querySelector('[data-kt-toast-action]');
284
+ if (actionBtn &&
285
+ options.action &&
286
+ typeof options.action === 'object' &&
287
+ options.action.onClick) {
288
+ actionBtn.addEventListener('click', function (e) {
289
+ e.stopPropagation();
290
+ if (typeof options.action === 'object' && options.action.onClick) {
291
+ options.action.onClick(id);
292
+ KTToast.close(id);
293
+ }
294
+ });
295
+ }
296
+ var cancelBtn = toast.querySelector('[data-kt-toast-cancel]');
297
+ if (cancelBtn && options.cancel && typeof options.cancel === 'object') {
298
+ cancelBtn.addEventListener('click', function (e) {
299
+ e.stopPropagation();
300
+ if (typeof options.cancel === 'object' && options.cancel.onClick) {
301
+ options.cancel.onClick(id);
302
+ KTToast.close(id);
303
+ }
304
+ });
305
+ }
306
+ // Dismiss button handler
307
+ var dismissBtn = toast.querySelector('[data-kt-toast-dismiss]');
308
+ if (dismissBtn && options.dismiss !== false) {
309
+ dismissBtn.addEventListener('click', function (e) {
310
+ e.stopPropagation();
311
+ KTToast.close(id);
312
+ });
313
+ }
314
+ // If modal-like, set aria-modal
315
+ if (options.important)
316
+ toast.setAttribute('aria-modal', 'true');
317
+ toast.style.pointerEvents = 'auto';
318
+ // Progress line
319
+ var duration = options.important
320
+ ? null
321
+ : ((_b = (_a = options.duration) !== null && _a !== void 0 ? _a : this.globalConfig.duration) !== null && _b !== void 0 ? _b : DEFAULT_CONFIG.duration);
322
+ if (duration && options.progress) {
323
+ var progress = document.createElement('div');
324
+ progress.className = 'kt-toast-progress ' + (classNames.progress || '');
325
+ progress.style.animationDuration = duration + 'ms';
326
+ progress.setAttribute('data-kt-toast-progress', 'true');
327
+ toast.appendChild(progress);
328
+ }
329
+ // Assign direction class to the toast itself, not the container
330
+ var directionClassMap = {
331
+ 'top-end': 'kt-toast-top-end',
332
+ 'top-center': 'kt-toast-top-center',
333
+ 'top-start': 'kt-toast-top-start',
334
+ 'bottom-end': 'kt-toast-bottom-end',
335
+ 'bottom-center': 'kt-toast-bottom-center',
336
+ 'bottom-start': 'kt-toast-bottom-start',
337
+ };
338
+ Object.values(directionClassMap).forEach(function (cls) {
339
+ return toast.classList.remove(cls);
340
+ });
341
+ var dirClass = directionClassMap[position] || 'kt-toast-top-end';
342
+ toast.classList.add(dirClass);
343
+ // Enforce maxToasts: remove oldest if needed
344
+ var maxToasts = (_d = (_c = options.maxToasts) !== null && _c !== void 0 ? _c : this.globalConfig.maxToasts) !== null && _d !== void 0 ? _d : DEFAULT_CONFIG.maxToasts;
345
+ var currentToasts = Array.from(container.children);
346
+ if (currentToasts.length >= maxToasts && currentToasts.length > 0) {
347
+ var oldestToast = currentToasts[currentToasts.length - 1];
348
+ var oldestId = oldestToast.getAttribute('data-kt-toast-id');
349
+ if (oldestId) {
350
+ KTToast.close(oldestId);
351
+ }
352
+ else {
353
+ oldestToast.remove();
354
+ }
355
+ }
356
+ // Insert toast at the top
357
+ container.insertBefore(toast, container.firstChild);
358
+ KTToast.update(container);
359
+ // Play beep if requested
360
+ if (options.beep) {
361
+ try {
362
+ // Use Web Audio API for a short beep
363
+ var ctx_1 = new (window.AudioContext ||
364
+ window.webkitAudioContext)();
365
+ var o_1 = ctx_1.createOscillator();
366
+ var g = ctx_1.createGain();
367
+ o_1.type = 'sine';
368
+ o_1.frequency.value = 880;
369
+ g.gain.value = 0.09;
370
+ o_1.connect(g);
371
+ g.connect(ctx_1.destination);
372
+ o_1.start();
373
+ setTimeout(function () {
374
+ o_1.stop();
375
+ ctx_1.close();
376
+ }, 120);
377
+ }
378
+ catch (e) {
379
+ /* ignore */
380
+ }
381
+ }
382
+ KTToast._fireEventOnElement(toast, 'show', { id: id });
383
+ KTToast._dispatchEventOnElement(toast, 'show', { id: id });
384
+ var instance = { id: id, element: toast, timeoutId: 0 };
385
+ KTToast.toasts.set(id, instance);
386
+ // Auto-dismiss
387
+ var timeoutId = undefined;
388
+ var remaining = duration;
389
+ var startTime;
390
+ var paused = false;
391
+ var progressEl = null;
392
+ if (duration) {
393
+ var startTimer_1 = function (ms) {
394
+ startTime = Date.now();
395
+ timeoutId = window.setTimeout(function () {
396
+ var _a;
397
+ (_a = options.onAutoClose) === null || _a === void 0 ? void 0 : _a.call(options, id);
398
+ KTToast.close(id);
399
+ }, ms);
400
+ instance.timeoutId = timeoutId;
401
+ };
402
+ startTimer_1(duration);
403
+ if (options.pauseOnHover) {
404
+ progressEl = toast.querySelector('[data-kt-toast-progress]');
405
+ var progressPausedAt_1 = 0;
406
+ var pause = function () {
407
+ if (!paused && timeoutId) {
408
+ paused = true;
409
+ window.clearTimeout(timeoutId);
410
+ if (startTime) {
411
+ remaining -= Date.now() - startTime;
412
+ }
413
+ // Pause progress bar
414
+ if (progressEl) {
415
+ var computedStyle = window.getComputedStyle(progressEl);
416
+ var matrix = computedStyle.transform;
417
+ var scaleX = 1;
418
+ if (matrix && matrix !== 'none') {
419
+ var values = matrix.match(/matrix\(([^)]+)\)/);
420
+ if (values && values[1]) {
421
+ scaleX = parseFloat(values[1].split(',')[0]);
422
+ }
423
+ }
424
+ progressPausedAt_1 = scaleX;
425
+ progressEl.style.animation = 'none';
426
+ progressEl.style.transition = 'none';
427
+ progressEl.style.transform = "scaleX(".concat(scaleX, ")");
428
+ }
429
+ }
430
+ };
431
+ var resume = function () {
432
+ if (paused && remaining > 0) {
433
+ paused = false;
434
+ startTimer_1(remaining);
435
+ // Resume progress bar
436
+ if (progressEl) {
437
+ progressEl.style.transition = 'transform 0ms';
438
+ progressEl.style.transform = "scaleX(".concat(progressPausedAt_1, ")");
439
+ progressEl.offsetHeight; // force reflow
440
+ progressEl.style.transition = "transform ".concat(remaining, "ms linear");
441
+ progressEl.style.transform = 'scaleX(0)';
442
+ }
443
+ }
444
+ };
445
+ toast.addEventListener('mouseenter', pause);
446
+ toast.addEventListener('mouseleave', resume);
447
+ }
448
+ }
449
+ KTToast._fireEventOnElement(toast, 'shown', { id: id });
450
+ KTToast._dispatchEventOnElement(toast, 'shown', { id: id });
451
+ return __assign(__assign({}, instance), { dismiss: function () { return KTToast.close(id); } });
452
+ };
453
+ /**
454
+ * Close and remove all active toasts.
455
+ */
456
+ KTToast.clearAll = function () {
457
+ for (var _i = 0, _a = Array.from(this.toasts.keys()); _i < _a.length; _i++) {
458
+ var id = _a[_i];
459
+ console.log('clearAll:', id);
460
+ this.close(id);
461
+ }
462
+ };
463
+ /**
464
+ * Close a toast by ID or instance.
465
+ * @param idOrInstance Toast ID string or KTToastInstance.
466
+ */
467
+ KTToast.close = function (idOrInstance) {
468
+ var inst;
469
+ var id;
470
+ if (!idOrInstance)
471
+ return;
472
+ if (typeof idOrInstance === 'string') {
473
+ id = idOrInstance;
474
+ inst = this.toasts.get(id);
475
+ }
476
+ else if (typeof idOrInstance === 'object' && idOrInstance.id) {
477
+ id = idOrInstance.id;
478
+ inst = idOrInstance;
479
+ }
480
+ if (!inst || !id)
481
+ return;
482
+ if (inst._closing)
483
+ return; // Prevent double-close
484
+ inst._closing = true;
485
+ clearTimeout(inst.timeoutId);
486
+ KTToast._fireEventOnElement(inst.element, 'hide', { id: id });
487
+ KTToast._dispatchEventOnElement(inst.element, 'hide', { id: id });
488
+ // Remove progress bar instantly if present
489
+ var progressEl = inst.element.querySelector('[data-kt-toast-progress]');
490
+ if (progressEl)
491
+ progressEl.remove();
492
+ inst.element.style.animation = 'kt-toast-out 0.25s forwards';
493
+ setTimeout(function () {
494
+ var _a;
495
+ var parent = inst === null || inst === void 0 ? void 0 : inst.element.parentElement;
496
+ inst === null || inst === void 0 ? void 0 : inst.element.remove();
497
+ KTToast.toasts.delete(id);
498
+ // Try to call onDismiss if available in the toast instance (if stored)
499
+ if (typeof ((_a = inst.options) === null || _a === void 0 ? void 0 : _a.onDismiss) === 'function') {
500
+ inst.options.onDismiss(id);
501
+ }
502
+ KTToast._fireEventOnElement(inst.element, 'hidden', { id: id });
503
+ KTToast._dispatchEventOnElement(inst.element, 'hidden', { id: id });
504
+ // update toasts asynchronously after DOM update
505
+ setTimeout(function () {
506
+ KTToast.update(parent);
507
+ }, 0);
508
+ }, 250);
509
+ };
510
+ /**
511
+ * Dispatches a custom 'kt.toast.{eventType}' event on the given element.
512
+ * @param element The toast element.
513
+ * @param eventType The event type (e.g. 'show', 'hide').
514
+ * @param payload Optional event detail payload.
515
+ */
516
+ KTToast._fireEventOnElement = function (element, eventType, payload) {
517
+ var event = new CustomEvent("kt.toast.".concat(eventType), { detail: payload });
518
+ element.dispatchEvent(event);
519
+ };
520
+ /**
521
+ * Dispatches a custom event (not namespaced) on the given element.
522
+ * @param element The toast element.
523
+ * @param eventType The event type.
524
+ * @param payload Optional event detail payload.
525
+ */
526
+ KTToast._dispatchEventOnElement = function (element, eventType, payload) {
527
+ var event = new CustomEvent(eventType, { detail: payload });
528
+ element.dispatchEvent(event);
529
+ };
530
+ /**
531
+ * Initialize toast system (placeholder for future use).
532
+ */
533
+ KTToast.init = function () { };
534
+ KTToast.containerMap = new Map();
535
+ KTToast.toasts = new Map();
536
+ KTToast.globalConfig = __assign({}, DEFAULT_CONFIG);
537
+ return KTToast;
538
+ }(KTComponent));
539
+ export { KTToast };
540
+ //# sourceMappingURL=toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.js","sourceRoot":"","sources":["../../../../src/components/toast/toast.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAQxC,IAAM,cAAc,GAAkB;IACrC,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,EAAE;IACV,GAAG,EAAE,EAAE;CACP,CAAC;AAEF,IAAM,qBAAqB,GAAmB;IAC7C,UAAU,EAAE,OAAO;IACnB,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,IAAI;CACb,CAAC;AAIF;IAA6B,2BAAW;IASvC;;;;OAIG;IACH,iBAAY,OAAoB,EAAE,MAAwC;QACzE,YAAA,MAAK,WAAE,SAAC;QAdU,WAAK,GAAW,OAAO,CAAC;QACxB,oBAAc,GAA2B,cAAc,CAAC;QACxD,aAAO,GAA2B,cAAc,CAAC;QAC1D,0BAAoB,GAAmB,qBAAqB,CAAC;QAYtE,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAI,CAAC,KAAK,CAAC;yBAAS;QAC5C,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpB,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,CAAC;;IACvC,CAAC;IAED;;;;OAIG;IACI,kBAAU,GAAjB,UAAkB,OAAwB;QACzC,IAAM,UAAU,yBACZ,CAAE,IAAI,CAAC,YAAY,CAAC,UAAkB,IAAI,EAAE,CAAC,GAC7C,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAkB,KAAI,EAAE,CAAC,CACvC,CAAC;QAEF,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;YACtB,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzC,OAAO,OAAO,CAAC,OAAO,CAAC;YACxB,CAAC;iBAAM,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBAClD,IAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC/B,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;oBACjC,OAAO,IAAI,CAAC,SAAS,CAAC;gBACvB,CAAC;YACF,CAAC;iBAAM,IAAI,OAAO,CAAC,OAAO,YAAY,WAAW,EAAE,CAAC;gBACnD,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;YAClC,CAAC;QACF,CAAC;QAED,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;YACnB,QAAQ;gBACP,4BAA4B;oBAC5B,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;oBACvB,IAAI;oBACJ,OAAO,CAAC,IAAI;oBACZ,QAAQ,CAAC;QACX,CAAC;QAED,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;YACtB,QAAQ;gBACP,6BAA6B;oBAC7B,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;oBAC1B,IAAI;oBACJ,OAAO,CAAC,OAAO;oBACf,QAAQ,CAAC;QACX,CAAC;QAED,IACC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,MAAK,KAAK;YACzB,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,MAAK,KAAK;YAC1B,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,MAAK,KAAK,EACxB,CAAC;YACF,QAAQ;gBACP,+BAA+B,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;YACrE,QAAQ;gBACP,+BAA+B,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;YAErE,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC3D,QAAQ;oBACP,6CAA6C;wBAC7C,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;wBAChC,IAAI;wBACJ,OAAO,CAAC,MAAM,CAAC,KAAK;wBACpB,WAAW,CAAC;YACd,CAAC;YAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC3D,QAAQ;oBACP,6CAA6C;wBAC7C,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;wBAChC,IAAI;wBACJ,OAAO,CAAC,MAAM,CAAC,KAAK;wBACpB,WAAW,CAAC;YACd,CAAC;YAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,MAAK,KAAK,EAAE,CAAC;gBAChC,QAAQ;oBACP,oPAAoP,CAAC;YACvP,CAAC;YAED,QAAQ,IAAI,QAAQ,CAAC;YACrB,QAAQ,IAAI,QAAQ,CAAC;QACtB,CAAC;QAED,QAAQ,IAAI,QAAQ,CAAC;QAErB,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACI,cAAM,GAAb,UAAc,SAA6B,EAAE,MAAe;QAA5D,iBA6DC;;QA5DA,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM;YACL,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,YAAY,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC;QACxE,qBAAqB,CAAC;;YACrB,IAAM,GAAG,GAAG,MAAA,KAAI,CAAC,YAAY,CAAC,GAAG,mCAAI,CAAC,CAAC;YACvC,yCAAyC;YACzC,IAAM,cAAc,GAAkC;gBACrD,GAAG,EAAE,EAAE;gBACP,MAAM,EAAE,EAAE;aACV,CAAC;YACF,IAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAkB,CAAC;YAC/D,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;gBACpB,IACC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC;oBAC5C,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC;oBAC/C,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,CAAC;oBACF,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACP,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,qCAAqC;YACrC,IAAI,aAAa,GAAG,MAAM,CAAC;YAC3B,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,UAAC,KAAK;gBAChC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,UAAG,aAAa,OAAI,CAAC;gBACvC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;gBACxB,KAAK,CAAC,KAAK,CAAC,UAAU;oBACrB,0EAA0E,CAAC;gBAC5E,aAAa,IAAI,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC;gBAE1C,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBACpD,KAAK,CAAC,KAAK,CAAC,gBAAgB,GAAG,UAAG,MAAM,OAAI,CAAC;gBAC9C,CAAC;gBAED,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAClD,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,UAAG,MAAM,OAAI,CAAC;gBAC5C,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,yCAAyC;YACzC,aAAa,GAAG,MAAM,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5D,IAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,UAAG,aAAa,OAAI,CAAC;gBAC1C,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;gBACrB,KAAK,CAAC,KAAK,CAAC,UAAU;oBACrB,6EAA6E,CAAC;gBAC/E,aAAa,IAAI,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC;gBAE1C,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;oBACvD,KAAK,CAAC,KAAK,CAAC,gBAAgB,GAAG,UAAG,MAAM,OAAI,CAAC;gBAC9C,CAAC;gBAED,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;oBACrD,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,UAAG,MAAM,OAAI,CAAC;gBAC5C,CAAC;YACF,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,cAAM,GAAb,UAAc,OAA+B;QAC5C,IAAI,CAAC,YAAY,yBAAQ,IAAI,CAAC,YAAY,GAAK,OAAO,CAAE,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACI,YAAI,GAAX,UACC,YAA6B;;QAE7B,IAAM,OAAO,yBAAQ,qBAAqB,GAAK,YAAY,CAAE,CAAC;QAE9D,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,mDAAmD;QACnD,IAAM,EAAE,GAAG,mBAAY,IAAI,CAAC,GAAG,EAAE,cAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;QAE9E,IAAM,QAAQ,GACb,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,SAAS,CAAC;QAE7D,IAAM,UAAU,yBACZ,CAAE,IAAI,CAAC,YAAY,CAAC,UAAkB,IAAI,EAAE,CAAC,GAC7C,CAAE,OAAO,CAAC,UAAkB,IAAI,EAAE,CAAC,CACtC,CAAC;QAEF,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEhD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAM,YAAU,yBACZ,CAAE,IAAI,CAAC,YAAY,CAAC,UAAkB,IAAI,EAAE,CAAC,GAC7C,CAAE,OAAO,CAAC,UAAkB,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,mFAAmF;YACnF,SAAS,CAAC,SAAS;gBAClB,YAAU,CAAC,SAAS,IAAI,6BAAsB,QAAQ,CAAE,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QAED,oBAAoB;QACpB,IACC,SAAS,CAAC,QAAQ,CAAC,MAAM;YACzB,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC,EACxD,CAAC;YACF,IAAM,YAAU,GAAG,SAAS,CAAC,iBAAiB,CAAC;YAC/C,IAAI,YAAU,EAAE,CAAC;gBAChB,YAAU,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAC7C,YAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE;oBAC3C,YAAU,CAAC,MAAM,EAAE,CAAC;gBACrB,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,uBAAuB;QACvB,IAAM,UAAU,GAAG;YAClB,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,kBAAkB;YAC3B,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,kBAAkB;YAC3B,SAAS,EAAE,oBAAoB;YAC/B,WAAW,EAAE,sBAAsB;YACnC,IAAI,EAAE,eAAe;SACrB,CAAC;QAEF,IAAM,aAAa,GAAG;YACrB,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,kBAAkB;YAC3B,KAAK,EAAE,gBAAgB;SACvB,CAAC;QAEF,IAAM,OAAO,GAAG;YACf,EAAE,EAAE,aAAa;YACjB,EAAE,EAAE,aAAa;YACjB,EAAE,EAAE,aAAa;SACjB,CAAC;QAEF,IAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,SAAS,GAAG,4BAAqB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,cAAI,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,cAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,cAAI,OAAO,CAAC,SAAS,IAAI,EAAE,cAAI,UAAU,CAAC,KAAK,IAAI,EAAE,CAAE,CAAC;QAC1M,eAAe;QACf,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC;QACrD,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC1C,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC1C,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAEpC,mDAAmD;QACnD,oDAAoD;QACpD,mEAAmE;QAEnE,kCAAkC;QAClC,IAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChD,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC;QAE9B,qDAAqD;QACrD,IAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CACpC,wBAAwB,CACI,CAAC;QAE9B,IACC,SAAS;YACT,OAAO,CAAC,MAAM;YACd,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;YAClC,OAAO,CAAC,MAAM,CAAC,OAAO,EACrB,CAAC;YACF,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAC,CAAC;gBACrC,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAClE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC3B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACnB,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,IAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CACpC,wBAAwB,CACI,CAAC;QAE9B,IAAI,SAAS,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvE,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAC,CAAC;gBACrC,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAClE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC3B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACnB,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,yBAAyB;QACzB,IAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CACrC,yBAAyB,CACG,CAAC;QAE9B,IAAI,UAAU,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC7C,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAC,CAAC;gBACtC,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,CAAC,SAAS;YAAE,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAChE,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;QAEnC,gBAAgB;QAChB,IAAM,QAAQ,GAAG,OAAO,CAAC,SAAS;YACjC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,CAAC,MAAA,MAAA,OAAO,CAAC,QAAQ,mCAClB,IAAI,CAAC,YAAY,CAAC,QAAQ,mCAC1B,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE3B,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC/C,QAAQ,CAAC,SAAS,GAAG,oBAAoB,GAAG,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YACxE,QAAQ,CAAC,KAAK,CAAC,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAAC;YACnD,QAAQ,CAAC,YAAY,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QAED,gEAAgE;QAChE,IAAM,iBAAiB,GAA2B;YACjD,SAAS,EAAE,kBAAkB;YAC7B,YAAY,EAAE,qBAAqB;YACnC,WAAW,EAAE,oBAAoB;YACjC,YAAY,EAAE,qBAAqB;YACnC,eAAe,EAAE,wBAAwB;YACzC,cAAc,EAAE,uBAAuB;SACvC,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;YAC5C,OAAA,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAA3B,CAA2B,CAC3B,CAAC;QACF,IAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC;QACnE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9B,6CAA6C;QAC7C,IAAM,SAAS,GACd,MAAA,MAAA,OAAO,CAAC,SAAS,mCACjB,IAAI,CAAC,YAAY,CAAC,SAAS,mCAC3B,cAAc,CAAC,SAAS,CAAC;QAC1B,IAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAkB,CAAC;QACtE,IAAI,aAAa,CAAC,MAAM,IAAI,SAAS,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,IAAM,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5D,IAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;YAC9D,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACP,WAAW,CAAC,MAAM,EAAE,CAAC;YACtB,CAAC;QACF,CAAC;QAED,0BAA0B;QAC1B,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE1B,yBAAyB;QACzB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC;gBACJ,qCAAqC;gBACrC,IAAM,KAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY;oBAClC,MAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACvC,IAAM,GAAC,GAAG,KAAG,CAAC,gBAAgB,EAAE,CAAC;gBACjC,IAAM,CAAC,GAAG,KAAG,CAAC,UAAU,EAAE,CAAC;gBAC3B,GAAC,CAAC,IAAI,GAAG,MAAM,CAAC;gBAChB,GAAC,CAAC,SAAS,CAAC,KAAK,GAAG,GAAG,CAAC;gBACxB,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBACpB,GAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACb,CAAC,CAAC,OAAO,CAAC,KAAG,CAAC,WAAW,CAAC,CAAC;gBAC3B,GAAC,CAAC,KAAK,EAAE,CAAC;gBACV,UAAU,CAAC;oBACV,GAAC,CAAC,IAAI,EAAE,CAAC;oBACT,KAAG,CAAC,KAAK,EAAE,CAAC;gBACb,CAAC,EAAE,GAAG,CAAC,CAAC;YACT,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,YAAY;YACb,CAAC;QACF,CAAC;QAED,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAA,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAA,EAAE,CAAC,CAAC;QACvD,IAAM,QAAQ,GAAoB,EAAE,EAAE,IAAA,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACvE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAEjC,eAAe;QACf,IAAI,SAAS,GAAuB,SAAS,CAAC;QAC9C,IAAI,SAAS,GAAG,QAAQ,CAAC;QACzB,IAAI,SAA6B,CAAC;QAClC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,UAAU,GAAuB,IAAI,CAAC;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACd,IAAM,YAAU,GAAG,UAAC,EAAU;gBAC7B,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;;oBAC7B,MAAA,OAAO,CAAC,WAAW,wDAAG,EAAE,CAAC,CAAC;oBAC1B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACnB,CAAC,EAAE,EAAE,CAAC,CAAC;gBACP,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;YAChC,CAAC,CAAC;YACF,YAAU,CAAC,QAAQ,CAAC,CAAC;YAErB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC1B,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;gBAC7D,IAAI,kBAAgB,GAAG,CAAC,CAAC;gBACzB,IAAM,KAAK,GAAG;oBACb,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;wBAC1B,MAAM,GAAG,IAAI,CAAC;wBACd,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;wBAC/B,IAAI,SAAS,EAAE,CAAC;4BACf,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;wBACrC,CAAC;wBACD,qBAAqB;wBACrB,IAAI,UAAU,EAAE,CAAC;4BAChB,IAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;4BAC1D,IAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC;4BACvC,IAAI,MAAM,GAAG,CAAC,CAAC;4BACf,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gCACjC,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gCACjD,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oCACzB,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC9C,CAAC;4BACF,CAAC;4BACD,kBAAgB,GAAG,MAAM,CAAC;4BAC1B,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;4BACpC,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;4BACrC,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,iBAAU,MAAM,MAAG,CAAC;wBAClD,CAAC;oBACF,CAAC;gBACF,CAAC,CAAC;gBACF,IAAM,MAAM,GAAG;oBACd,IAAI,MAAM,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;wBAC7B,MAAM,GAAG,KAAK,CAAC;wBACf,YAAU,CAAC,SAAS,CAAC,CAAC;wBACtB,sBAAsB;wBACtB,IAAI,UAAU,EAAE,CAAC;4BAChB,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,eAAe,CAAC;4BAC9C,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,iBAAU,kBAAgB,MAAG,CAAC;4BAC3D,UAAU,CAAC,YAAY,CAAC,CAAC,eAAe;4BACxC,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,oBAAa,SAAS,cAAW,CAAC;4BAChE,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC;wBAC1C,CAAC;oBACF,CAAC;gBACF,CAAC,CAAC;gBACF,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBAC5C,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;QACF,CAAC;QAED,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAA,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAA,EAAE,CAAC,CAAC;QAExD,6BACI,QAAQ,KACX,OAAO,EAAE,cAAM,OAAA,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAjB,CAAiB,IAC/B;IACH,CAAC;IAED;;OAEG;IACI,gBAAQ,GAAf;QACC,KAAiB,UAA8B,EAA9B,KAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAA9B,cAA8B,EAA9B,IAA8B,EAAE,CAAC;YAA7C,IAAM,EAAE,SAAA;YACZ,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACF,CAAC;IAED;;;OAGG;IACI,aAAK,GAAZ,UAAa,YAAuC;QACnD,IAAI,IAA4D,CAAC;QACjE,IAAI,EAAsB,CAAC;QAC3B,IAAI,CAAC,YAAY;YAAE,OAAO;QAC1B,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtC,EAAE,GAAG,YAAY,CAAC;YAClB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;YAChE,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC;YACrB,IAAI,GAAG,YAAwD,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE;YAAE,OAAO;QACzB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,uBAAuB;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE7B,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAA,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAA,EAAE,CAAC,CAAC;QAC9D,2CAA2C;QAC3C,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;QAC1E,IAAI,UAAU;YAAE,UAAU,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,6BAA6B,CAAC;QAE7D,UAAU,CAAC;;YACV,IAAM,MAAM,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,aAAmC,CAAC;YACjE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAG,CAAC,CAAC;YAC3B,uEAAuE;YACvE,IAAI,OAAO,CAAA,MAAC,IAAY,CAAC,OAAO,0CAAE,SAAS,CAAA,KAAK,UAAU,EAAE,CAAC;gBAC3D,IAAY,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAA,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAA,EAAE,CAAC,CAAC;YAChE,gDAAgD;YAChD,UAAU,CAAC;gBACV,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC,EAAE,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,GAAG,CAAC,CAAC;IACT,CAAC;IAED;;;;;OAKG;IACY,2BAAmB,GAAlC,UACC,OAAoB,EACpB,SAAiB,EACjB,OAAgB;QAEhB,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,mBAAY,SAAS,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5E,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACY,+BAAuB,GAAtC,UACC,OAAoB,EACpB,SAAiB,EACjB,OAAgB;QAEhB,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACW,YAAI,GAAlB,cAA4B,CAAC;IApjBd,oBAAY,GAAsC,IAAI,GAAG,EAAE,AAA/C,CAAgD;IAC5D,cAAM,GAAiC,IAAI,GAAG,EAAE,AAA1C,CAA2C;IACjD,oBAAY,gBAAuB,cAAc,CAArC,CAAwC;IAmjBpE,cAAC;CAAA,AA1jBD,CAA6B,WAAW,GA0jBvC;SA1jBY,OAAO"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/toast/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -285,6 +285,30 @@ var KTDom = {
285
285
  }
286
286
  return attributes;
287
287
  },
288
+ getDataAttributesByJson: function (element, prefix) {
289
+ if (!element) {
290
+ return {};
291
+ }
292
+ var rawValue = element.dataset[prefix];
293
+ if (!rawValue) {
294
+ return {};
295
+ }
296
+ var parsedValue = KTUtils.parseDataAttribute(rawValue);
297
+ if (typeof parsedValue === 'string') {
298
+ try {
299
+ return JSON.parse(parsedValue);
300
+ }
301
+ catch (e) {
302
+ console.error("Invalid JSON format for '".concat(prefix, "': ").concat(e instanceof Error ? e.message : e, " ").concat(rawValue));
303
+ }
304
+ }
305
+ // If it's already an object, return as is
306
+ if (typeof parsedValue === 'object' && parsedValue !== null) {
307
+ return parsedValue;
308
+ }
309
+ // For other types (number, boolean, null), return an empty object
310
+ return {};
311
+ },
288
312
  ready: function (callback) {
289
313
  if (document.readyState === 'loading') {
290
314
  document.addEventListener('DOMContentLoaded', function () {