fwtoolkit 0.1.0-alpha.3 → 0.1.0-alpha.6

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 (135) hide show
  1. package/README.md +56 -8
  2. package/css/add_remove_dialog.css +18 -0
  3. package/css/alerts.css +69 -0
  4. package/css/buttons.css +373 -0
  5. package/css/colors.css +118 -0
  6. package/css/common.css +183 -0
  7. package/css/content_menu.css +105 -0
  8. package/css/data_table.css +191 -0
  9. package/css/dialog.css +151 -0
  10. package/css/dialog_table.css +125 -0
  11. package/css/faq_dialog.css +16 -0
  12. package/css/file_selector.css +25 -0
  13. package/css/forms.css +112 -0
  14. package/css/loader.css +38 -0
  15. package/css/overview_menu.css +187 -0
  16. package/css/pulldown.css +114 -0
  17. package/css/ui_dialogs.css +144 -0
  18. package/css/ui_tabs.css +61 -0
  19. package/dist/basic.d.ts +70 -0
  20. package/dist/basic.d.ts.map +1 -0
  21. package/dist/basic.js +447 -0
  22. package/dist/basic.js.map +1 -0
  23. package/dist/blob.d.ts +2 -0
  24. package/dist/blob.d.ts.map +1 -0
  25. package/dist/blob.js +12 -0
  26. package/dist/blob.js.map +1 -0
  27. package/dist/content_menu.d.ts +31 -0
  28. package/dist/content_menu.d.ts.map +1 -0
  29. package/dist/content_menu.js +360 -0
  30. package/dist/content_menu.js.map +1 -0
  31. package/dist/datatable_bulk.d.ts +14 -0
  32. package/dist/datatable_bulk.d.ts.map +1 -0
  33. package/dist/datatable_bulk.js +176 -0
  34. package/dist/datatable_bulk.js.map +1 -0
  35. package/dist/dialog.d.ts +18 -0
  36. package/dist/dialog.d.ts.map +1 -0
  37. package/dist/dialog.js +395 -0
  38. package/dist/dialog.js.map +1 -0
  39. package/dist/events.d.ts +2 -0
  40. package/dist/events.d.ts.map +1 -0
  41. package/dist/events.js +11 -0
  42. package/dist/events.js.map +1 -0
  43. package/dist/faq_dialog.d.ts +8 -0
  44. package/dist/faq_dialog.d.ts.map +1 -0
  45. package/dist/faq_dialog.js +63 -0
  46. package/dist/faq_dialog.js.map +1 -0
  47. package/dist/file/dialog.d.ts +27 -0
  48. package/dist/file/dialog.d.ts.map +1 -0
  49. package/dist/file/dialog.js +125 -0
  50. package/dist/file/dialog.js.map +1 -0
  51. package/dist/file/index.d.ts +5 -0
  52. package/dist/file/index.d.ts.map +1 -0
  53. package/dist/file/index.js +6 -0
  54. package/dist/file/index.js.map +1 -0
  55. package/dist/file/new_folder_dialog.d.ts +5 -0
  56. package/dist/file/new_folder_dialog.d.ts.map +1 -0
  57. package/dist/file/new_folder_dialog.js +34 -0
  58. package/dist/file/new_folder_dialog.js.map +1 -0
  59. package/dist/file/selector.d.ts +22 -0
  60. package/dist/file/selector.d.ts.map +1 -0
  61. package/dist/file/selector.js +239 -0
  62. package/dist/file/selector.js.map +1 -0
  63. package/dist/file/templates.d.ts +5 -0
  64. package/dist/file/templates.d.ts.map +1 -0
  65. package/dist/file/templates.js +9 -0
  66. package/dist/file/templates.js.map +1 -0
  67. package/dist/file/tools.d.ts +5 -0
  68. package/dist/file/tools.d.ts.map +1 -0
  69. package/dist/file/tools.js +51 -0
  70. package/dist/file/tools.js.map +1 -0
  71. package/dist/focus.d.ts +3 -0
  72. package/dist/focus.d.ts.map +1 -0
  73. package/dist/focus.js +12 -0
  74. package/dist/focus.js.map +1 -0
  75. package/dist/index.d.ts +18 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +19 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/network.d.ts +11 -0
  80. package/dist/network.d.ts.map +1 -0
  81. package/dist/network.js +113 -0
  82. package/dist/network.js.map +1 -0
  83. package/dist/overview_menu.d.ts +27 -0
  84. package/dist/overview_menu.d.ts.map +1 -0
  85. package/dist/overview_menu.js +536 -0
  86. package/dist/overview_menu.js.map +1 -0
  87. package/dist/settings.d.ts +3 -0
  88. package/dist/settings.d.ts.map +1 -0
  89. package/dist/settings.js +16 -0
  90. package/dist/settings.js.map +1 -0
  91. package/dist/templates.d.ts +7 -0
  92. package/dist/templates.d.ts.map +1 -0
  93. package/dist/templates.js +43 -0
  94. package/dist/templates.js.map +1 -0
  95. package/dist/user.d.ts +6 -0
  96. package/dist/user.d.ts.map +1 -0
  97. package/dist/user.js +45 -0
  98. package/dist/user.js.map +1 -0
  99. package/dist/user_util.d.ts +7 -0
  100. package/dist/user_util.d.ts.map +1 -0
  101. package/dist/user_util.js +19 -0
  102. package/dist/user_util.js.map +1 -0
  103. package/dist/worker.d.ts +2 -0
  104. package/dist/worker.d.ts.map +1 -0
  105. package/dist/worker.js +12 -0
  106. package/dist/worker.js.map +1 -0
  107. package/dist/ws.d.ts +46 -0
  108. package/dist/ws.d.ts.map +1 -0
  109. package/dist/ws.js +329 -0
  110. package/dist/ws.js.map +1 -0
  111. package/package.json +26 -4
  112. package/src/{basic.js → basic.ts} +1 -0
  113. package/src/{blob.js → blob.ts} +1 -0
  114. package/src/{content_menu.js → content_menu.ts} +1 -0
  115. package/src/{datatable_bulk.js → datatable_bulk.ts} +1 -0
  116. package/src/{dialog.js → dialog.ts} +1 -0
  117. package/src/{events.js → events.ts} +1 -0
  118. package/src/{faq_dialog.js → faq_dialog.ts} +1 -0
  119. package/src/file/{dialog.js → dialog.ts} +1 -0
  120. package/src/file/{index.js → index.ts} +1 -0
  121. package/src/file/{new_folder_dialog.js → new_folder_dialog.ts} +1 -0
  122. package/src/file/{selector.js → selector.ts} +1 -0
  123. package/src/file/{templates.js → templates.ts} +1 -0
  124. package/src/file/{tools.js → tools.ts} +1 -0
  125. package/src/{focus.js → focus.ts} +1 -0
  126. package/src/global.d.ts +11 -0
  127. package/src/{index.js → index.ts} +1 -0
  128. package/src/{network.js → network.ts} +1 -0
  129. package/src/{overview_menu.js → overview_menu.ts} +1 -0
  130. package/src/{settings.js → settings.ts} +1 -0
  131. package/src/{templates.js → templates.ts} +1 -0
  132. package/src/{user.js → user.ts} +1 -0
  133. package/src/{user_util.js → user_util.ts} +1 -0
  134. package/src/{worker.js → worker.ts} +1 -0
  135. package/src/{ws.js → ws.ts} +1 -0
package/dist/basic.js ADDED
@@ -0,0 +1,447 @@
1
+ import { ContentMenu } from "./content_menu.js";
2
+ import { Dialog } from "./dialog.js";
3
+ import { isActivationEvent } from "./events.js";
4
+ /** Creates a styled select with a contentmenu from a select tag.
5
+ * @param select The select-tag which is to be replaced.
6
+ * @param options
7
+ */
8
+ export const dropdownSelect = (selectDOM, { onChange = _newValue => { }, width = false, value = false, button = false }) => {
9
+ if (!selectDOM.parentElement) {
10
+ return;
11
+ }
12
+ let buttonDOM;
13
+ if (button) {
14
+ buttonDOM = button;
15
+ selectDOM.parentElement.removeChild(selectDOM); // Remove the <select> from the main dom.
16
+ }
17
+ else {
18
+ buttonDOM = document.createElement("div");
19
+ buttonDOM.innerHTML =
20
+ '<label></label>&nbsp;<span class="fa fa-caret-down"></span>';
21
+ buttonDOM.classList.add("fw-button", "fw-light", "fw-large", "fw-dropdown");
22
+ if (width) {
23
+ buttonDOM.style.width = Number.isInteger(width)
24
+ ? `${width}px`
25
+ : width;
26
+ }
27
+ selectDOM.classList.forEach(className => buttonDOM.classList.add(className));
28
+ if (selectDOM.id) {
29
+ buttonDOM.id = selectDOM.id;
30
+ }
31
+ selectDOM.parentElement.replaceChild(buttonDOM, selectDOM); // Remove the <select> from the main dom.
32
+ }
33
+ buttonDOM.setAttribute("role", "button");
34
+ buttonDOM.setAttribute("tabindex", "0");
35
+ buttonDOM.setAttribute("aria-haspopup", "true");
36
+ buttonDOM.setAttribute("aria-expanded", "false");
37
+ const options = Array.from(selectDOM.children);
38
+ if (!options.length) {
39
+ // There are no options, so we only create the button.
40
+ return {
41
+ setValue: () => { },
42
+ getValue: () => false
43
+ };
44
+ }
45
+ let selected;
46
+ const menu = {
47
+ content: options.map((option, order) => {
48
+ if (option.selected || option.value === value) {
49
+ selected = option;
50
+ }
51
+ return {
52
+ title: option.innerHTML,
53
+ type: "action",
54
+ tooltip: option.title || "",
55
+ order,
56
+ action: () => {
57
+ if (!button) {
58
+ buttonDOM.firstElementChild.innerText = option.innerText;
59
+ }
60
+ value = option.value || option.dataset.value;
61
+ onChange(value);
62
+ menu.content.forEach(item => (item.selected = false));
63
+ menu.content[order].selected = true;
64
+ return false;
65
+ },
66
+ selected: !!(option.selected || option.dataset.selected)
67
+ };
68
+ })
69
+ };
70
+ if (!selected && !button) {
71
+ selected = selectDOM.firstElementChild;
72
+ menu.content[0].selected = true;
73
+ }
74
+ if (!button) {
75
+ buttonDOM.firstElementChild.innerText = selected.innerText;
76
+ }
77
+ value = selected ? selected.value : false;
78
+ const openMenu = event => {
79
+ if (!isActivationEvent(event)) {
80
+ return;
81
+ }
82
+ event.preventDefault();
83
+ event.stopPropagation();
84
+ if (buttonDOM.classList.contains("disabled")) {
85
+ return;
86
+ }
87
+ // Determine menu position
88
+ let menuPos;
89
+ if (event.type === "click") {
90
+ menuPos = { X: event.pageX, Y: event.pageY };
91
+ }
92
+ else {
93
+ // Keyboard event
94
+ const rect = buttonDOM.getBoundingClientRect();
95
+ menuPos = {
96
+ X: rect.left + window.pageXOffset,
97
+ Y: rect.top + window.pageYOffset + rect.height
98
+ };
99
+ }
100
+ buttonDOM.setAttribute("aria-expanded", "true");
101
+ const contentMenu = new ContentMenu({
102
+ menu,
103
+ menuPos,
104
+ onClose: () => buttonDOM.setAttribute("aria-expanded", "false")
105
+ });
106
+ contentMenu.open();
107
+ };
108
+ buttonDOM.addEventListener("click", openMenu);
109
+ buttonDOM.addEventListener("keydown", openMenu);
110
+ return {
111
+ setValue: newValue => {
112
+ const optionIndex = options.findIndex(option => option.value === newValue);
113
+ if (optionIndex === undefined) {
114
+ return;
115
+ }
116
+ menu.content.forEach(item => (item.selected = false));
117
+ menu.content[optionIndex].selected = true;
118
+ const option = options[optionIndex];
119
+ if (!button) {
120
+ buttonDOM.firstElementChild.innerText = option.innerText;
121
+ }
122
+ value = newValue;
123
+ },
124
+ getValue: () => value,
125
+ enable: () => buttonDOM.classList.remove("disabled"),
126
+ disable: () => buttonDOM.classList.add("disabled")
127
+ };
128
+ };
129
+ /** Checks or unchecks a checkable label. This is used for example for bibliography categories when editing bibliography items.
130
+ * @param label The node who's parent has to be checked or unchecked.
131
+ */
132
+ export const setCheckableLabel = labelEl => {
133
+ if (labelEl.classList.contains("checked")) {
134
+ labelEl.classList.remove("checked");
135
+ }
136
+ else {
137
+ labelEl.classList.add("checked");
138
+ }
139
+ };
140
+ let messageWaiter = false;
141
+ let waitMessage = "";
142
+ /** Cover the page signaling to the user to wait.
143
+ */
144
+ export const activateWait = (full = false, message = "") => {
145
+ const waitEl = document.getElementById("wait");
146
+ if (message) {
147
+ let messageEl = waitEl.querySelector("span.message");
148
+ if (messageEl) {
149
+ // Another message is already showing. We update directly.
150
+ messageEl.innerText = message;
151
+ }
152
+ else {
153
+ waitMessage = message; // We update the message if there is one waiting already
154
+ if (!messageWaiter) {
155
+ messageWaiter = setTimeout(() => {
156
+ messageEl = document.createElement("span");
157
+ messageEl.classList.add("message");
158
+ messageEl.innerText = waitMessage;
159
+ waitEl.appendChild(messageEl);
160
+ messageWaiter = false;
161
+ }, 2000);
162
+ }
163
+ }
164
+ }
165
+ if (waitEl) {
166
+ waitEl.classList.add("active");
167
+ if (full) {
168
+ waitEl.classList.add("full");
169
+ }
170
+ }
171
+ };
172
+ /** Remove the wait cover.
173
+ */
174
+ export const deactivateWait = () => {
175
+ const waitEl = document.getElementById("wait");
176
+ if (waitEl) {
177
+ waitEl.classList.remove("active");
178
+ waitEl.classList.remove("full");
179
+ }
180
+ const messageEl = waitEl.querySelector("span.message");
181
+ if (messageEl) {
182
+ messageEl.parentElement.removeChild(messageEl);
183
+ }
184
+ if (messageWaiter) {
185
+ clearTimeout(messageWaiter);
186
+ messageWaiter = false;
187
+ }
188
+ };
189
+ /** Show a message to the user.
190
+ * @param alertType The type of message that is shown (error, warning, info or success).
191
+ * @param alertMsg The message text.
192
+ */
193
+ export const addAlert = (alertType, alertMsg) => {
194
+ if (!document.body) {
195
+ return;
196
+ }
197
+ const iconNames = {
198
+ error: "circle-exclamation",
199
+ warning: "circle-exclamation",
200
+ info: "circle-info",
201
+ success: "circle-check"
202
+ };
203
+ if (!document.getElementById("#alerts-outer-wrapper")) {
204
+ document.body.insertAdjacentHTML("beforeend", '<div id="alerts-outer-wrapper"><ul id="alerts-wrapper"></ul></div>');
205
+ }
206
+ const alertsWrapper = document.getElementById("alerts-wrapper");
207
+ alertsWrapper.insertAdjacentHTML("beforeend", `<li class="alerts-${alertType} fa-before fa-${iconNames[alertType]}">${alertMsg}</li>`);
208
+ const alertBox = alertsWrapper.lastElementChild;
209
+ setTimeout(() => {
210
+ alertBox.classList.add("visible");
211
+ setTimeout(() => {
212
+ alertBox.classList.remove("visible");
213
+ setTimeout(() => alertsWrapper.removeChild(alertBox), 2000);
214
+ }, 4000);
215
+ }, 1);
216
+ };
217
+ // Used for system mesages
218
+ export const showSystemMessage = (message, buttons = [{ type: "close" }]) => {
219
+ const dialog = new Dialog({
220
+ title: gettext("System message"),
221
+ body: `<p>${escapeText(message)}</p>`,
222
+ buttons
223
+ });
224
+ dialog.open();
225
+ return dialog;
226
+ };
227
+ /** Turn milliseconds since epoch (UTC) into a local date string.
228
+ * @param {number} milliseconds Number of milliseconds since epoch (1/1/1970 midnight, UTC).
229
+ * @param {boolean} type 'full' for full date (default), 'sortable-date' for sortable date, 'minutes' for minute accuracy
230
+ */
231
+ const CACHED_DATES = {
232
+ "sortable-date": {},
233
+ minutes: {},
234
+ full: {}
235
+ };
236
+ export const localizeDate = (milliseconds, type = "full") => {
237
+ if (milliseconds === 0) {
238
+ return "";
239
+ }
240
+ else if (CACHED_DATES[type][milliseconds]) {
241
+ return CACHED_DATES[type][milliseconds];
242
+ }
243
+ const theDate = new Date(milliseconds);
244
+ let returnValue;
245
+ switch (type) {
246
+ case "sortable-date": {
247
+ const yyyy = theDate.getFullYear();
248
+ const mm = theDate.getMonth() + 1;
249
+ const dd = theDate.getDate();
250
+ returnValue = `${yyyy}-${String(mm).padStart(2, "0")}-${String(dd).padStart(2, "0")}`;
251
+ break;
252
+ }
253
+ case "minutes":
254
+ returnValue = theDate.toLocaleString([], {
255
+ year: "numeric",
256
+ month: "2-digit",
257
+ day: "2-digit",
258
+ hour: "2-digit",
259
+ minute: "2-digit"
260
+ });
261
+ break;
262
+ default:
263
+ returnValue = theDate.toLocaleString();
264
+ }
265
+ if (Object.keys(CACHED_DATES[type]).length > 5000) {
266
+ CACHED_DATES[type] = {};
267
+ }
268
+ CACHED_DATES[type][milliseconds] = returnValue;
269
+ return returnValue;
270
+ };
271
+ /**
272
+ * Turn string literals into single line, removing spaces at start of line
273
+ */
274
+ export const noSpaceTmp = (strings, ...values) => {
275
+ const tmpStrings = Array.from(strings);
276
+ let combined = "";
277
+ while (tmpStrings.length > 0 || values.length > 0) {
278
+ if (tmpStrings.length > 0) {
279
+ combined += tmpStrings.shift();
280
+ }
281
+ if (values.length > 0) {
282
+ combined += values.shift();
283
+ }
284
+ }
285
+ let out = "";
286
+ combined.split("\n").forEach(line => {
287
+ out += line.replace(/^\s*/g, "");
288
+ });
289
+ return out;
290
+ };
291
+ export const escapeText = text => {
292
+ return text
293
+ .replace(/&/g, "&amp;")
294
+ .replace(/</g, "&lt;")
295
+ .replace(/>/g, "&gt;")
296
+ .replace(/"/g, "&quot;")
297
+ .replace(/[^\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\u10000-\u10FFFF]/g, ""); // invalid in XML chars
298
+ };
299
+ /**
300
+ * Return an inline info-icon with a hover tooltip containing the given HTML.
301
+ * Use only with trusted HTML content.
302
+ *
303
+ * @param {string} html - The tooltip content (HTML string)
304
+ * @returns {string} HTML for the info tooltip
305
+ */
306
+ export const infoTooltip = html => `<span class="fw-info-tooltip"><i class="fa-solid fa-info-circle"></i><span class="fw-info-tooltip-text">${html}</span></span>`;
307
+ export const unescapeText = text => text
308
+ .replace(/&lt;/g, "<")
309
+ .replace(/&gt;/g, ">")
310
+ .replace(/&quot;/g, '"')
311
+ .replace(/&amp;/g, "&");
312
+ /**
313
+ * Return a cancel promise if you need to cancel a promise chain. Import as
314
+ * ES6 promises are not (yet) cancelable.
315
+ */
316
+ export const cancelPromise = () => new Promise(() => { });
317
+ // Check if selector matches one of the ancestors of the event target.
318
+ // Used in switch statements of document event listeners.
319
+ export const findTarget = (event, selector, el = {}) => {
320
+ el.target = event.target.closest(selector);
321
+ if (el.target) {
322
+ event.stopPropagation();
323
+ return true;
324
+ }
325
+ return false;
326
+ };
327
+ // Promise when page has been loaded.
328
+ export const whenReady = () => {
329
+ if (document.readyState === "complete") {
330
+ return Promise.resolve();
331
+ }
332
+ else {
333
+ return new Promise(resolve => {
334
+ document.addEventListener("readystatechange", _event => {
335
+ if (document.readyState === "complete") {
336
+ resolve();
337
+ }
338
+ });
339
+ });
340
+ }
341
+ };
342
+ export const setDocTitle = (title, app) => {
343
+ const titleText = `${title} - ${app.name}`;
344
+ if (document.title !== titleText) {
345
+ document.title = titleText;
346
+ }
347
+ };
348
+ const LANGUAGES = {
349
+ ar: "العربية",
350
+ bg: "Български",
351
+ cs: "Čeština",
352
+ da: "Dansk",
353
+ de: "Deutsch",
354
+ en: "English",
355
+ es: "Español",
356
+ fr: "Français",
357
+ it: "Italiano",
358
+ ja: "日本語",
359
+ ko: "한국어",
360
+ nb: "Norsk bokmål",
361
+ nl: "Nederlands",
362
+ pl: "Polski",
363
+ "pt-br": "Português (Brasil)",
364
+ "pt-pt": "Português (Portugal)",
365
+ ru: "Русский",
366
+ sv: "Svenska",
367
+ tr: "Türkçe",
368
+ "zh-hans": "简体中文"
369
+ };
370
+ export const langName = code => {
371
+ return LANGUAGES[code] || code;
372
+ };
373
+ /** Enable ISO date picker on a text input by overlaying a native date picker.
374
+ * The text input displays ISO format (YYYY-MM-DD) while using the native picker for selection.
375
+ * @param {HTMLInputElement} inputEl - The text input element to enhance
376
+ * @param {boolean} minToday - If true, sets min date to today (default: false)
377
+ */
378
+ export const enableDatePicker = (inputEl, minToday = false) => {
379
+ const datePicker = document.createElement("input");
380
+ datePicker.type = "date";
381
+ if (minToday) {
382
+ datePicker.min = new Date().toISOString().split("T")[0];
383
+ }
384
+ datePicker.style.position = "absolute";
385
+ datePicker.style.opacity = "0";
386
+ datePicker.style.pointerEvents = "none";
387
+ const parent = inputEl.parentElement;
388
+ parent.style.position = "relative";
389
+ parent.appendChild(datePicker);
390
+ inputEl.addEventListener("click", () => datePicker.showPicker());
391
+ datePicker.addEventListener("change", () => {
392
+ inputEl.value = datePicker.value;
393
+ });
394
+ // Validate and normalize date on blur or form submission
395
+ const validateDate = () => {
396
+ const value = inputEl.value;
397
+ if (!value) {
398
+ return; // Empty is valid (optional field)
399
+ }
400
+ const date = new Date(value);
401
+ if (isNaN(date.getTime())) {
402
+ inputEl.value = ""; // Invalid date, clear it
403
+ return;
404
+ }
405
+ // Re-format to ensure consistent YYYY-MM-DD format
406
+ const yyyy = date.getFullYear();
407
+ const mm = String(date.getMonth() + 1).padStart(2, "0");
408
+ const dd = String(date.getDate()).padStart(2, "0");
409
+ inputEl.value = `${yyyy}-${mm}-${dd}`;
410
+ };
411
+ inputEl.addEventListener("blur", validateDate);
412
+ inputEl.addEventListener("keydown", event => {
413
+ // Intercept Enter to validate before form submission
414
+ if (event.key === "Enter") {
415
+ validateDate();
416
+ return;
417
+ }
418
+ // Allow typing when date picker is open (it takes focus)
419
+ if (document.activeElement === datePicker) {
420
+ return; // Let datePicker handle all keys
421
+ }
422
+ const key = event.key;
423
+ // Open picker on Enter
424
+ if (key === "Enter") {
425
+ event.preventDefault();
426
+ datePicker.showPicker();
427
+ return;
428
+ }
429
+ // Allow editing: digits, dashes, backspace, delete, arrow keys
430
+ if (/^\d$/.test(key) ||
431
+ key === "-" ||
432
+ key === "Backspace" ||
433
+ key === "Delete" ||
434
+ key === "ArrowLeft" ||
435
+ key === "ArrowRight" ||
436
+ key === "Tab") {
437
+ return; // Allow default behavior
438
+ }
439
+ // Block other keys
440
+ event.preventDefault();
441
+ });
442
+ // Allow typing while date picker is open
443
+ datePicker.addEventListener("keydown", event => {
444
+ event.stopPropagation();
445
+ });
446
+ };
447
+ //# sourceMappingURL=basic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../src/basic.ts"],"names":[],"mappings":"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"}
package/dist/blob.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare function convertDataURIToBlob(dataURI: any): Blob;
2
+ //# sourceMappingURL=blob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob.d.ts","sourceRoot":"","sources":["../src/blob.ts"],"names":[],"mappings":"AACA,wBAAgB,oBAAoB,CAAC,OAAO,KAAA,QAS3C"}
package/dist/blob.js ADDED
@@ -0,0 +1,12 @@
1
+ // @ts-nocheck
2
+ export function convertDataURIToBlob(dataURI) {
3
+ const byteString = atob(dataURI.split(",")[1]);
4
+ const mimeString = dataURI.split(",")[0].split(":")[1].split(";")[0];
5
+ const ab = new ArrayBuffer(byteString.length);
6
+ const ia = new Uint8Array(ab);
7
+ for (let i = 0; i < byteString.length; i++) {
8
+ ia[i] = byteString.charCodeAt(i);
9
+ }
10
+ return new Blob([ab], { type: mimeString });
11
+ }
12
+ //# sourceMappingURL=blob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob.js","sourceRoot":"","sources":["../src/blob.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,MAAM,UAAU,oBAAoB,CAAC,OAAO;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACpE,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAC7C,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC,CAAA;AAC7C,CAAC"}
@@ -0,0 +1,31 @@
1
+ export declare class ContentMenu {
2
+ constructor({ id, page, classes, menu, height, width, onClose, scroll, dialogEl, backdropEl, menuPos }: {
3
+ id?: boolean;
4
+ page?: boolean;
5
+ classes?: boolean;
6
+ menu?: {
7
+ content: any[];
8
+ };
9
+ height?: boolean;
10
+ width?: boolean;
11
+ onClose?: boolean;
12
+ scroll?: boolean;
13
+ dialogEl?: boolean;
14
+ backdropEl?: boolean;
15
+ menuPos?: boolean;
16
+ });
17
+ open(): void;
18
+ renderColumnsHtml(columns: any): string;
19
+ checkAndAddColumns(): void;
20
+ renderSingleColumnHtml(): any;
21
+ centerDialog(): void;
22
+ positionDialog(): void;
23
+ bind(): void;
24
+ getHighestDialogZIndex(): number;
25
+ close(): void;
26
+ onclick(event: any): void;
27
+ onKeyDown(event: any): void;
28
+ focusFirstMenuItem(): void;
29
+ focusMenuItem(index: any): void;
30
+ }
31
+ //# sourceMappingURL=content_menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content_menu.d.ts","sourceRoot":"","sources":["../src/content_menu.ts"],"names":[],"mappings":"AAuDA,qBAAa,WAAW;gBACR,EACR,EAAU,EACV,IAAY,EACZ,OAAe,EACf,IAAoB,EACpB,MAAc,EACd,KAAa,EACb,OAAe,EACf,MAAc,EACd,QAAgB,EAChB,UAAkB,EAClB,OAAe,EAClB;;;;;;;;;;;;;;KAAA;IAiBD,IAAI;IAgCJ,iBAAiB,CAAC,OAAO,KAAA;IAqDzB,kBAAkB;IA+ClB,sBAAsB;IAmCtB,YAAY;IAYZ,cAAc;IA4Bd,IAAI;IASJ,sBAAsB;IAetB,KAAK;IAoBL,OAAO,CAAC,KAAK,KAAA;IAeb,SAAS,CAAC,KAAK,KAAA;IA0Gf,kBAAkB;IAUlB,aAAa,CAAC,KAAK,KAAA;CAQtB"}