@keenthemes/ktui 1.2.0 → 1.2.1

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 +3349 -1550
  2. package/dist/ktui.min.js +1 -1
  3. package/dist/ktui.min.js.map +1 -1
  4. package/dist/styles.css +1 -1
  5. package/lib/cjs/components/clipboard/clipboard.d.ts +37 -0
  6. package/lib/cjs/components/clipboard/clipboard.d.ts.map +1 -0
  7. package/lib/cjs/components/clipboard/clipboard.js +402 -0
  8. package/lib/cjs/components/clipboard/clipboard.js.map +1 -0
  9. package/lib/cjs/components/clipboard/index.d.ts +3 -0
  10. package/lib/cjs/components/clipboard/index.d.ts.map +1 -0
  11. package/lib/cjs/components/clipboard/index.js +6 -0
  12. package/lib/cjs/components/clipboard/index.js.map +1 -0
  13. package/lib/cjs/components/clipboard/types.d.ts +44 -0
  14. package/lib/cjs/components/clipboard/types.d.ts.map +1 -0
  15. package/lib/cjs/components/clipboard/types.js +7 -0
  16. package/lib/cjs/components/clipboard/types.js.map +1 -0
  17. package/lib/cjs/components/datatable/datatable.d.ts.map +1 -1
  18. package/lib/cjs/components/datatable/datatable.js.map +1 -1
  19. package/lib/cjs/components/range-slider/index.d.ts +7 -0
  20. package/lib/cjs/components/range-slider/index.d.ts.map +1 -0
  21. package/lib/cjs/components/range-slider/index.js +10 -0
  22. package/lib/cjs/components/range-slider/index.js.map +1 -0
  23. package/lib/cjs/components/range-slider/range-slider.d.ts +42 -0
  24. package/lib/cjs/components/range-slider/range-slider.d.ts.map +1 -0
  25. package/lib/cjs/components/range-slider/range-slider.js +254 -0
  26. package/lib/cjs/components/range-slider/range-slider.js.map +1 -0
  27. package/lib/cjs/components/range-slider/types.d.ts +33 -0
  28. package/lib/cjs/components/range-slider/types.d.ts.map +1 -0
  29. package/lib/cjs/components/range-slider/types.js +7 -0
  30. package/lib/cjs/components/range-slider/types.js.map +1 -0
  31. package/lib/cjs/components/rating/rating.d.ts.map +1 -1
  32. package/lib/cjs/components/rating/rating.js +8 -3
  33. package/lib/cjs/components/rating/rating.js.map +1 -1
  34. package/lib/cjs/components/repeater/repeater.d.ts.map +1 -1
  35. package/lib/cjs/components/repeater/repeater.js +3 -2
  36. package/lib/cjs/components/repeater/repeater.js.map +1 -1
  37. package/lib/cjs/components/select/utils.d.ts.map +1 -1
  38. package/lib/cjs/components/select/utils.js +3 -1
  39. package/lib/cjs/components/select/utils.js.map +1 -1
  40. package/lib/cjs/components/sticky/sticky.d.ts.map +1 -1
  41. package/lib/cjs/components/sticky/sticky.js +3 -1
  42. package/lib/cjs/components/sticky/sticky.js.map +1 -1
  43. package/lib/cjs/index.d.ts +8 -0
  44. package/lib/cjs/index.d.ts.map +1 -1
  45. package/lib/cjs/index.js +9 -1
  46. package/lib/cjs/index.js.map +1 -1
  47. package/lib/esm/components/clipboard/clipboard.d.ts +37 -0
  48. package/lib/esm/components/clipboard/clipboard.d.ts.map +1 -0
  49. package/lib/esm/components/clipboard/clipboard.js +399 -0
  50. package/lib/esm/components/clipboard/clipboard.js.map +1 -0
  51. package/lib/esm/components/clipboard/index.d.ts +3 -0
  52. package/lib/esm/components/clipboard/index.d.ts.map +1 -0
  53. package/lib/esm/components/clipboard/index.js +2 -0
  54. package/lib/esm/components/clipboard/index.js.map +1 -0
  55. package/lib/esm/components/clipboard/types.d.ts +44 -0
  56. package/lib/esm/components/clipboard/types.d.ts.map +1 -0
  57. package/lib/esm/components/clipboard/types.js +6 -0
  58. package/lib/esm/components/clipboard/types.js.map +1 -0
  59. package/lib/esm/components/datatable/datatable.d.ts.map +1 -1
  60. package/lib/esm/components/datatable/datatable.js.map +1 -1
  61. package/lib/esm/components/range-slider/index.d.ts +7 -0
  62. package/lib/esm/components/range-slider/index.d.ts.map +1 -0
  63. package/lib/esm/components/range-slider/index.js +6 -0
  64. package/lib/esm/components/range-slider/index.js.map +1 -0
  65. package/lib/esm/components/range-slider/range-slider.d.ts +42 -0
  66. package/lib/esm/components/range-slider/range-slider.d.ts.map +1 -0
  67. package/lib/esm/components/range-slider/range-slider.js +251 -0
  68. package/lib/esm/components/range-slider/range-slider.js.map +1 -0
  69. package/lib/esm/components/range-slider/types.d.ts +33 -0
  70. package/lib/esm/components/range-slider/types.d.ts.map +1 -0
  71. package/lib/esm/components/range-slider/types.js +6 -0
  72. package/lib/esm/components/range-slider/types.js.map +1 -0
  73. package/lib/esm/components/rating/rating.d.ts.map +1 -1
  74. package/lib/esm/components/rating/rating.js +8 -3
  75. package/lib/esm/components/rating/rating.js.map +1 -1
  76. package/lib/esm/components/repeater/repeater.d.ts.map +1 -1
  77. package/lib/esm/components/repeater/repeater.js +3 -2
  78. package/lib/esm/components/repeater/repeater.js.map +1 -1
  79. package/lib/esm/components/select/utils.d.ts.map +1 -1
  80. package/lib/esm/components/select/utils.js +3 -1
  81. package/lib/esm/components/select/utils.js.map +1 -1
  82. package/lib/esm/components/sticky/sticky.d.ts.map +1 -1
  83. package/lib/esm/components/sticky/sticky.js +3 -1
  84. package/lib/esm/components/sticky/sticky.js.map +1 -1
  85. package/lib/esm/index.d.ts +8 -0
  86. package/lib/esm/index.d.ts.map +1 -1
  87. package/lib/esm/index.js +6 -0
  88. package/lib/esm/index.js.map +1 -1
  89. package/package.json +1 -2
  90. package/src/components/clipboard/__tests__/clipboard.test.ts +438 -0
  91. package/src/components/clipboard/clipboard.ts +416 -0
  92. package/src/components/clipboard/index.ts +2 -0
  93. package/src/components/clipboard/types.ts +51 -0
  94. package/src/components/datatable/__tests__/currency-sort.test.ts +2 -10
  95. package/src/components/datatable/__tests__/multi-row-headers.test.ts +2 -2
  96. package/src/components/datatable/__tests__/race-conditions.test.ts +11 -14
  97. package/src/components/datatable/datatable.ts +3 -5
  98. package/src/components/range-slider/__tests__/range-slider.test.ts +659 -0
  99. package/src/components/range-slider/index.ts +11 -0
  100. package/src/components/range-slider/range-slider.ts +276 -0
  101. package/src/components/range-slider/types.ts +36 -0
  102. package/src/components/rating/__tests__/rating.test.ts +11 -4
  103. package/src/components/rating/rating.ts +22 -11
  104. package/src/components/repeater/__tests__/repeater.test.ts +19 -6
  105. package/src/components/repeater/repeater.ts +5 -3
  106. package/src/components/select/__tests__/ux-behaviors.test.ts +21 -3
  107. package/src/components/select/utils.ts +5 -1
  108. package/src/components/sticky/__tests__/sticky.test.ts +10 -3
  109. package/src/components/sticky/sticky.ts +14 -24
  110. package/src/components/sticky/types.ts +3 -3
  111. package/src/index.ts +17 -0
package/dist/styles.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
2
2
  @layer properties;
3
3
  @layer theme, base, components, utilities;
4
4
  @layer theme {
@@ -0,0 +1,37 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ import KTComponent from '../component';
6
+ import { KTClipboardConfigInterface, KTClipboardInterface } from './types';
7
+ declare global {
8
+ interface Window {
9
+ KTClipboard: typeof KTClipboard;
10
+ }
11
+ }
12
+ export declare class KTClipboard extends KTComponent implements KTClipboardInterface {
13
+ protected _name: string;
14
+ protected _defaultConfig: KTClipboardConfigInterface;
15
+ protected _config: KTClipboardConfigInterface;
16
+ private _activateHandler;
17
+ constructor(element: HTMLElement, config?: KTClipboardConfigInterface | null);
18
+ private _getSuccessEventName;
19
+ private _getErrorEventName;
20
+ private _getAction;
21
+ private _getTrimmedString;
22
+ private _getPredefinedText;
23
+ private _getTargetSelector;
24
+ private _getCopiedClass;
25
+ private _setCopiedClass;
26
+ private _isInputLike;
27
+ private _readTargetValue;
28
+ private _execCommandCopy;
29
+ private _writeText;
30
+ private _handleActivate;
31
+ dispose(): void;
32
+ static getInstance(element: HTMLElement): KTClipboard | null;
33
+ static getOrCreateInstance(element: HTMLElement, config?: KTClipboardConfigInterface): KTClipboard;
34
+ static createInstances(): void;
35
+ static init(): void;
36
+ }
37
+ //# sourceMappingURL=clipboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../../../src/components/clipboard/clipboard.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,WAAW,MAAM,cAAc,CAAC;AAGvC,OAAO,EAEN,0BAA0B,EAC1B,oBAAoB,EACpB,MAAM,SAAS,CAAC;AASjB,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,WAAW,EAAE,OAAO,WAAW,CAAC;KAChC;CACD;AAED,qBAAa,WAAY,SAAQ,WAAY,YAAW,oBAAoB;IAC3E,UAAmB,KAAK,EAAE,MAAM,CAAe;IAE/C,UAAmB,cAAc,EAAE,0BAA0B,CAO3D;IAEF,UAAmB,OAAO,EAAE,0BAA0B,CACP;IAE/C,OAAO,CAAC,gBAAgB,CAAyC;gBAGhE,OAAO,EAAE,WAAW,EACpB,MAAM,GAAE,0BAA0B,GAAG,IAAW;IAkBjD,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;YA0BV,UAAU;YAsBV,eAAe;IA4Mb,OAAO,IAAI,IAAI;WAQjB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI;WAQrD,mBAAmB,CAChC,OAAO,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE,0BAA0B,GACjC,WAAW;WAMA,eAAe,IAAI,IAAI;WAMvB,IAAI,IAAI,IAAI;CAG1B"}
@@ -0,0 +1,402 @@
1
+ "use strict";
2
+ /**
3
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
4
+ * Copyright 2025 by Keenthemes Inc
5
+ */
6
+ var __extends = (this && this.__extends) || (function () {
7
+ var extendStatics = function (d, b) {
8
+ extendStatics = Object.setPrototypeOf ||
9
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
10
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
11
+ return extendStatics(d, b);
12
+ };
13
+ return function (d, b) {
14
+ if (typeof b !== "function" && b !== null)
15
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
16
+ extendStatics(d, b);
17
+ function __() { this.constructor = d; }
18
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
19
+ };
20
+ })();
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __generator = (this && this.__generator) || function (thisArg, body) {
31
+ 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);
32
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
33
+ function verb(n) { return function (v) { return step([n, v]); }; }
34
+ function step(op) {
35
+ if (f) throw new TypeError("Generator is already executing.");
36
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
37
+ 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;
38
+ if (y = 0, t) op = [op[0] & 2, t.value];
39
+ switch (op[0]) {
40
+ case 0: case 1: t = op; break;
41
+ case 4: _.label++; return { value: op[1], done: false };
42
+ case 5: _.label++; y = op[1]; op = [0]; continue;
43
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
44
+ default:
45
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
46
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
47
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
48
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
49
+ if (t[2]) _.ops.pop();
50
+ _.trys.pop(); continue;
51
+ }
52
+ op = body.call(thisArg, _);
53
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
54
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
+ }
56
+ };
57
+ Object.defineProperty(exports, "__esModule", { value: true });
58
+ exports.KTClipboard = void 0;
59
+ var component_1 = require("../component");
60
+ var data_1 = require("../../helpers/data");
61
+ var dom_1 = require("../../helpers/dom");
62
+ var KTClipboard = /** @class */ (function (_super) {
63
+ __extends(KTClipboard, _super);
64
+ function KTClipboard(element, config) {
65
+ if (config === void 0) { config = null; }
66
+ var _this = _super.call(this) || this;
67
+ _this._name = 'clipboard';
68
+ _this._defaultConfig = {
69
+ target: '',
70
+ text: '',
71
+ action: 'copy',
72
+ copiedClass: '',
73
+ successEvent: 'kt.clipboard.success',
74
+ errorEvent: 'kt.clipboard.error',
75
+ };
76
+ _this._config = _this
77
+ ._defaultConfig;
78
+ _this._activateHandler = null;
79
+ // Ensure we don't double bind handlers on the same trigger.
80
+ if (_this._shouldSkipInit(element)) {
81
+ return _this;
82
+ }
83
+ _this._init(element);
84
+ _this._buildConfig(config);
85
+ if (!_this._element)
86
+ return _this;
87
+ _this._activateHandler = _this._handleActivate.bind(_this);
88
+ _this._element.addEventListener('click', _this._activateHandler);
89
+ return _this;
90
+ }
91
+ KTClipboard.prototype._getSuccessEventName = function () {
92
+ var eventName = this._getOption('successEvent');
93
+ return typeof eventName === 'string' && eventName.length > 0
94
+ ? eventName
95
+ : 'kt.clipboard.success';
96
+ };
97
+ KTClipboard.prototype._getErrorEventName = function () {
98
+ var eventName = this._getOption('errorEvent');
99
+ return typeof eventName === 'string' && eventName.length > 0
100
+ ? eventName
101
+ : 'kt.clipboard.error';
102
+ };
103
+ KTClipboard.prototype._getAction = function () {
104
+ var action = this._getOption('action');
105
+ return action === 'cut' ? 'cut' : 'copy';
106
+ };
107
+ KTClipboard.prototype._getTrimmedString = function (optionValue) {
108
+ return typeof optionValue === 'string' ? optionValue.trim() : '';
109
+ };
110
+ KTClipboard.prototype._getPredefinedText = function () {
111
+ var text = this._getOption('text');
112
+ return this._getTrimmedString(text);
113
+ };
114
+ KTClipboard.prototype._getTargetSelector = function () {
115
+ var target = this._getOption('target');
116
+ return this._getTrimmedString(target);
117
+ };
118
+ KTClipboard.prototype._getCopiedClass = function () {
119
+ var copiedClass = this._getOption('copiedClass');
120
+ return this._getTrimmedString(copiedClass);
121
+ };
122
+ KTClipboard.prototype._setCopiedClass = function (shouldSet) {
123
+ var copiedClass = this._getCopiedClass();
124
+ if (!copiedClass || !this._element)
125
+ return;
126
+ // Keep deterministic behavior: remove any previous state before toggling.
127
+ dom_1.default.removeClass(this._element, copiedClass);
128
+ if (shouldSet) {
129
+ dom_1.default.addClass(this._element, copiedClass);
130
+ }
131
+ };
132
+ KTClipboard.prototype._isInputLike = function (element) {
133
+ return element.tagName === 'INPUT' || element.tagName === 'TEXTAREA';
134
+ };
135
+ KTClipboard.prototype._readTargetValue = function (target) {
136
+ var _a, _b;
137
+ if (this._isInputLike(target)) {
138
+ return (_a = target.value) !== null && _a !== void 0 ? _a : '';
139
+ }
140
+ return (_b = target.textContent) !== null && _b !== void 0 ? _b : '';
141
+ };
142
+ KTClipboard.prototype._execCommandCopy = function (text) {
143
+ var textarea = document.createElement('textarea');
144
+ textarea.value = text;
145
+ // Avoid scrolling to bottom on iOS/Safari and keep it out of layout.
146
+ textarea.style.position = 'fixed';
147
+ textarea.style.top = '0';
148
+ textarea.style.left = '0';
149
+ textarea.style.opacity = '0';
150
+ textarea.style.pointerEvents = 'none';
151
+ document.body.appendChild(textarea);
152
+ textarea.focus();
153
+ textarea.select();
154
+ // Some browsers require explicit range selection.
155
+ textarea.setSelectionRange(0, textarea.value.length);
156
+ try {
157
+ return document.execCommand('copy');
158
+ }
159
+ catch (_a) {
160
+ return false;
161
+ }
162
+ finally {
163
+ textarea.remove();
164
+ }
165
+ };
166
+ KTClipboard.prototype._writeText = function (text) {
167
+ return __awaiter(this, void 0, void 0, function () {
168
+ var clipboard, writeText, ok;
169
+ return __generator(this, function (_a) {
170
+ switch (_a.label) {
171
+ case 0:
172
+ clipboard = typeof navigator !== 'undefined' ? navigator.clipboard : null;
173
+ writeText = clipboard && typeof clipboard.writeText === 'function'
174
+ ? clipboard.writeText.bind(clipboard)
175
+ : null;
176
+ if (!writeText) return [3 /*break*/, 2];
177
+ return [4 /*yield*/, writeText(text)];
178
+ case 1:
179
+ _a.sent();
180
+ return [2 /*return*/, true];
181
+ case 2:
182
+ ok = this._execCommandCopy(text);
183
+ if (!ok) {
184
+ throw new Error('Clipboard copy failed.');
185
+ }
186
+ return [2 /*return*/, true];
187
+ }
188
+ });
189
+ });
190
+ };
191
+ KTClipboard.prototype._handleActivate = function (event) {
192
+ return __awaiter(this, void 0, void 0, function () {
193
+ var action, successEventName, errorEventName, textFromConfig, targetSelector, hasPredefinedText, targetElForCut, payload, payload, payload, payload, error_1, payload, payload, targetEl, payload, value, payload, payload, payload, error_2, payload;
194
+ var _a;
195
+ return __generator(this, function (_b) {
196
+ switch (_b.label) {
197
+ case 0:
198
+ event.preventDefault();
199
+ action = this._getAction();
200
+ successEventName = this._getSuccessEventName();
201
+ errorEventName = this._getErrorEventName();
202
+ textFromConfig = this._getPredefinedText();
203
+ targetSelector = this._getTargetSelector();
204
+ hasPredefinedText = Boolean((_a = this._element) === null || _a === void 0 ? void 0 : _a.hasAttribute('data-kt-clipboard-text'));
205
+ if (!hasPredefinedText) return [3 /*break*/, 5];
206
+ targetElForCut = null;
207
+ // `cut` requires an editable target (input/textarea) even when predefined text is used.
208
+ if (action === 'cut') {
209
+ if (!targetSelector) {
210
+ this._setCopiedClass(false);
211
+ payload = {
212
+ action: action,
213
+ text: null,
214
+ target: null,
215
+ error: 'Cut action requires data-kt-clipboard-target pointing to an input/textarea.',
216
+ };
217
+ this._fireEvent(errorEventName, payload);
218
+ this._dispatchEvent(errorEventName, payload);
219
+ return [2 /*return*/];
220
+ }
221
+ targetElForCut = dom_1.default.getElement(targetSelector);
222
+ if (!targetElForCut || !this._isInputLike(targetElForCut)) {
223
+ this._setCopiedClass(false);
224
+ payload = {
225
+ action: action,
226
+ text: null,
227
+ target: targetSelector,
228
+ error: 'Cut action is only supported for input/textarea targets.',
229
+ };
230
+ this._fireEvent(errorEventName, payload);
231
+ this._dispatchEvent(errorEventName, payload);
232
+ return [2 /*return*/];
233
+ }
234
+ }
235
+ // Treat empty/whitespace-only predefined text as invalid.
236
+ if (!textFromConfig) {
237
+ this._setCopiedClass(false);
238
+ payload = {
239
+ action: action,
240
+ text: null,
241
+ target: targetSelector || null,
242
+ error: 'Predefined clipboard text is empty.',
243
+ };
244
+ this._fireEvent(errorEventName, payload);
245
+ this._dispatchEvent(errorEventName, payload);
246
+ return [2 /*return*/];
247
+ }
248
+ _b.label = 1;
249
+ case 1:
250
+ _b.trys.push([1, 3, , 4]);
251
+ return [4 /*yield*/, this._writeText(textFromConfig)];
252
+ case 2:
253
+ _b.sent();
254
+ // For `cut`, clear the editable target after successful clipboard write.
255
+ if (action === 'cut' && targetElForCut) {
256
+ targetElForCut.value = '';
257
+ targetElForCut.dispatchEvent(new Event('input', { bubbles: true }));
258
+ }
259
+ this._setCopiedClass(true);
260
+ payload = {
261
+ action: action,
262
+ text: textFromConfig,
263
+ target: targetSelector || null,
264
+ };
265
+ this._fireEvent(successEventName, payload);
266
+ this._dispatchEvent(successEventName, payload);
267
+ return [3 /*break*/, 4];
268
+ case 3:
269
+ error_1 = _b.sent();
270
+ this._setCopiedClass(false);
271
+ payload = {
272
+ action: action,
273
+ text: textFromConfig,
274
+ target: targetSelector || null,
275
+ error: error_1 instanceof Error ? error_1.message : String(error_1 !== null && error_1 !== void 0 ? error_1 : 'Unknown'),
276
+ };
277
+ this._fireEvent(errorEventName, payload);
278
+ this._dispatchEvent(errorEventName, payload);
279
+ return [3 /*break*/, 4];
280
+ case 4: return [2 /*return*/];
281
+ case 5:
282
+ // No usable predefined text; copy from target.
283
+ if (!targetSelector) {
284
+ this._setCopiedClass(false);
285
+ payload = {
286
+ action: action,
287
+ text: null,
288
+ target: null,
289
+ error: 'Missing clipboard source (provide data-kt-clipboard-text or data-kt-clipboard-target).',
290
+ };
291
+ this._fireEvent(errorEventName, payload);
292
+ this._dispatchEvent(errorEventName, payload);
293
+ return [2 /*return*/];
294
+ }
295
+ targetEl = dom_1.default.getElement(targetSelector);
296
+ if (!targetEl) {
297
+ this._setCopiedClass(false);
298
+ payload = {
299
+ action: action,
300
+ text: null,
301
+ target: targetSelector,
302
+ error: "Clipboard target not found: ".concat(targetSelector),
303
+ };
304
+ this._fireEvent(errorEventName, payload);
305
+ this._dispatchEvent(errorEventName, payload);
306
+ return [2 /*return*/];
307
+ }
308
+ value = this._readTargetValue(targetEl).trim();
309
+ if (!value) {
310
+ this._setCopiedClass(false);
311
+ payload = {
312
+ action: action,
313
+ text: null,
314
+ target: targetSelector,
315
+ error: 'Target content is empty.',
316
+ };
317
+ this._fireEvent(errorEventName, payload);
318
+ this._dispatchEvent(errorEventName, payload);
319
+ return [2 /*return*/];
320
+ }
321
+ // Cut action: only allowed for input/textarea.
322
+ if (action === 'cut' && !this._isInputLike(targetEl)) {
323
+ this._setCopiedClass(false);
324
+ payload = {
325
+ action: action,
326
+ text: null,
327
+ target: targetSelector,
328
+ error: 'Cut action is only supported for input/textarea targets.',
329
+ };
330
+ this._fireEvent(errorEventName, payload);
331
+ this._dispatchEvent(errorEventName, payload);
332
+ return [2 /*return*/];
333
+ }
334
+ _b.label = 6;
335
+ case 6:
336
+ _b.trys.push([6, 8, , 9]);
337
+ return [4 /*yield*/, this._writeText(value)];
338
+ case 7:
339
+ _b.sent();
340
+ this._setCopiedClass(true);
341
+ if (action === 'cut') {
342
+ targetEl.value = '';
343
+ targetEl.dispatchEvent(new Event('input', { bubbles: true }));
344
+ }
345
+ payload = {
346
+ action: action,
347
+ text: value,
348
+ target: targetSelector,
349
+ };
350
+ this._fireEvent(successEventName, payload);
351
+ this._dispatchEvent(successEventName, payload);
352
+ return [3 /*break*/, 9];
353
+ case 8:
354
+ error_2 = _b.sent();
355
+ this._setCopiedClass(false);
356
+ payload = {
357
+ action: action,
358
+ text: null,
359
+ target: targetSelector,
360
+ error: error_2 instanceof Error ? error_2.message : String(error_2 !== null && error_2 !== void 0 ? error_2 : 'Unknown'),
361
+ };
362
+ this._fireEvent(errorEventName, payload);
363
+ this._dispatchEvent(errorEventName, payload);
364
+ return [3 /*break*/, 9];
365
+ case 9: return [2 /*return*/];
366
+ }
367
+ });
368
+ });
369
+ };
370
+ KTClipboard.prototype.dispose = function () {
371
+ if (this._element && this._activateHandler) {
372
+ this._element.removeEventListener('click', this._activateHandler);
373
+ }
374
+ this._activateHandler = null;
375
+ _super.prototype.dispose.call(this);
376
+ };
377
+ KTClipboard.getInstance = function (element) {
378
+ if (!element)
379
+ return null;
380
+ if (data_1.default.has(element, 'clipboard')) {
381
+ return data_1.default.get(element, 'clipboard');
382
+ }
383
+ return null;
384
+ };
385
+ KTClipboard.getOrCreateInstance = function (element, config) {
386
+ return (this.getInstance(element) || new KTClipboard(element, config !== null && config !== void 0 ? config : undefined));
387
+ };
388
+ KTClipboard.createInstances = function () {
389
+ document.querySelectorAll('[data-kt-clipboard]').forEach(function (el) {
390
+ new KTClipboard(el);
391
+ });
392
+ };
393
+ KTClipboard.init = function () {
394
+ KTClipboard.createInstances();
395
+ };
396
+ return KTClipboard;
397
+ }(component_1.default));
398
+ exports.KTClipboard = KTClipboard;
399
+ if (typeof window !== 'undefined') {
400
+ window.KTClipboard = KTClipboard;
401
+ }
402
+ //# sourceMappingURL=clipboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../../../src/components/clipboard/clipboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { KTClipboard } from './clipboard';
2
+ export type { KTClipboardConfigInterface, KTClipboardInterface } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/clipboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KTClipboard = void 0;
4
+ var clipboard_1 = require("./clipboard");
5
+ Object.defineProperty(exports, "KTClipboard", { enumerable: true, get: function () { return clipboard_1.KTClipboard; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/clipboard/index.ts"],"names":[],"mappings":";;;AAAA,yCAA0C;AAAjC,wGAAA,WAAW,OAAA"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
+ * Copyright 2025 by Keenthemes Inc
4
+ */
5
+ export type KTClipboardActionType = 'copy' | 'cut';
6
+ export interface KTClipboardConfigInterface {
7
+ /**
8
+ * CSS selector for the element to read from when copying from target.
9
+ * For `input`/`textarea`, reads `.value`; for other elements, reads `.textContent`.
10
+ */
11
+ target?: string;
12
+ /**
13
+ * Static string to copy. Takes precedence over `target` when both are present.
14
+ */
15
+ text?: string;
16
+ /**
17
+ * Clipboard action to perform.
18
+ * - `copy` (default)
19
+ * - `cut` (only valid for `input`/`textarea` targets)
20
+ */
21
+ action?: KTClipboardActionType;
22
+ /**
23
+ * Optional class toggled on the trigger when copy/cut succeeds.
24
+ */
25
+ copiedClass?: string;
26
+ /**
27
+ * Optional DOM event name dispatched on success.
28
+ * Defaults to `kt.clipboard.success`.
29
+ */
30
+ successEvent?: string;
31
+ /**
32
+ * Optional DOM event name dispatched on failure.
33
+ * Defaults to `kt.clipboard.error`.
34
+ */
35
+ errorEvent?: string;
36
+ }
37
+ export interface KTClipboardInterface {
38
+ getOption(name: string): unknown;
39
+ getElement(): HTMLElement | null;
40
+ on(eventType: string, callback: CallableFunction): string;
41
+ off(eventType: string, eventId: string): void;
42
+ dispose(): void;
43
+ }
44
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/clipboard/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,KAAK,CAAC;AAEnD,MAAM,WAAW,0BAA0B;IAC1C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAE/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACpC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,UAAU,IAAI,WAAW,GAAG,IAAI,CAAC;IACjC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAC1D,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,OAAO,IAAI,IAAI,CAAC;CAChB"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
4
+ * Copyright 2025 by Keenthemes Inc
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/clipboard/types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -1 +1 @@
1
- {"version":3,"file":"datatable.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datatable.d.ts","sourceRoot":"","sources":["../../../../src/components/datatable/datatable.ts"],"names":[],"mappings":"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"}