svelte-comp 1.2.7 → 1.3.5
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.
- package/README.md +12 -11
- package/dist/App.svelte +497 -2
- package/dist/app.css +2 -3
- package/dist/app.d.ts +10 -0
- package/dist/lang.d.ts +3 -3
- package/dist/lang.js +3 -3
- package/dist/lib/Accordion.svelte +14 -14
- package/dist/lib/Badge.svelte +44 -0
- package/dist/lib/Badge.svelte.d.ts +10 -0
- package/dist/lib/Button.svelte +23 -8
- package/dist/lib/Calendar.svelte +384 -377
- package/dist/lib/Card.svelte +6 -6
- package/dist/lib/Carousel.svelte +16 -16
- package/dist/lib/Carousel.svelte.d.ts +1 -1
- package/dist/lib/CheckBox.svelte +2 -2
- package/dist/lib/CodeView.svelte +6 -5
- package/dist/lib/ColorPicker.svelte +6 -6
- package/dist/lib/ContextMenu.svelte +328 -0
- package/dist/lib/ContextMenu.svelte.d.ts +14 -0
- package/dist/lib/DatePicker.svelte +161 -161
- package/dist/lib/Dialog.svelte +10 -10
- package/dist/lib/Field.svelte +1 -1
- package/dist/lib/FilePicker.svelte +127 -74
- package/dist/lib/FilePicker.svelte.d.ts +6 -3
- package/dist/lib/Hamburger.svelte +27 -21
- package/dist/lib/InstallPWA.svelte +94 -0
- package/dist/lib/InstallPWA.svelte.d.ts +8 -0
- package/dist/lib/Menu.svelte +18 -18
- package/dist/lib/NoticeBase.svelte +140 -0
- package/dist/lib/NoticeBase.svelte.d.ts +43 -0
- package/dist/lib/PrimaryColorSelect.svelte +6 -6
- package/dist/lib/ProgressCircle.svelte +7 -9
- package/dist/lib/ProgressCircle.svelte.d.ts +7 -9
- package/dist/lib/SearchInput.svelte +6 -6
- package/dist/lib/Select.svelte +2 -2
- package/dist/lib/Slider.svelte +1 -1
- package/dist/lib/Splitter.svelte +15 -6
- package/dist/lib/Switch.svelte +5 -4
- package/dist/lib/Tabs.svelte +6 -6
- package/dist/lib/ThemeToggle.svelte +1 -0
- package/dist/lib/TimePicker.svelte +103 -95
- package/dist/lib/TimePickerNew.svelte +634 -0
- package/dist/lib/TimePickerNew.svelte.d.ts +49 -0
- package/dist/lib/Toast.svelte +17 -120
- package/dist/lib/Tooltip.svelte +7 -7
- package/dist/lib/Topbar.svelte +112 -0
- package/dist/lib/Topbar.svelte.d.ts +44 -0
- package/dist/lib/__tests__/Accordion.test.d.ts +1 -0
- package/dist/lib/__tests__/Accordion.test.js +171 -0
- package/dist/lib/__tests__/Badge.test.d.ts +1 -0
- package/dist/lib/__tests__/Badge.test.js +41 -0
- package/dist/lib/__tests__/Button.test.d.ts +1 -0
- package/dist/lib/__tests__/Button.test.js +269 -0
- package/dist/lib/__tests__/Calendar.test.d.ts +1 -0
- package/dist/lib/__tests__/Calendar.test.js +171 -0
- package/dist/lib/__tests__/Card.test.d.ts +1 -0
- package/dist/lib/__tests__/Card.test.js +148 -0
- package/dist/lib/__tests__/Carousel.test.d.ts +1 -0
- package/dist/lib/__tests__/Carousel.test.js +439 -0
- package/dist/lib/__tests__/CheckBox.test.d.ts +1 -0
- package/dist/lib/__tests__/CheckBox.test.js +152 -0
- package/dist/lib/__tests__/CodeView.test.d.ts +1 -0
- package/dist/lib/__tests__/CodeView.test.js +157 -0
- package/dist/lib/__tests__/ColorPicker.test.d.ts +1 -0
- package/dist/lib/__tests__/ColorPicker.test.js +93 -0
- package/dist/lib/__tests__/ContextMenu.test.d.ts +1 -0
- package/dist/lib/__tests__/ContextMenu.test.js +67 -0
- package/dist/lib/__tests__/DatePicker.test.d.ts +1 -0
- package/dist/lib/__tests__/DatePicker.test.js +108 -0
- package/dist/lib/__tests__/Dialog.test.d.ts +1 -0
- package/dist/lib/__tests__/Dialog.test.js +183 -0
- package/dist/lib/__tests__/Field.test.d.ts +1 -0
- package/dist/lib/__tests__/Field.test.js +190 -0
- package/dist/lib/__tests__/FilePicker.test.d.ts +1 -0
- package/dist/lib/__tests__/FilePicker.test.js +179 -0
- package/dist/lib/__tests__/Form.integration.test.d.ts +1 -0
- package/dist/lib/__tests__/Form.integration.test.js +158 -0
- package/dist/lib/__tests__/Form.test.d.ts +1 -0
- package/dist/lib/__tests__/Form.test.js +463 -0
- package/dist/lib/__tests__/Hamburger.test.d.ts +1 -0
- package/dist/lib/__tests__/Hamburger.test.js +161 -0
- package/dist/lib/__tests__/InstallPWA.test.d.ts +1 -0
- package/dist/lib/__tests__/InstallPWA.test.js +15 -0
- package/dist/lib/__tests__/Menu.test.d.ts +1 -0
- package/dist/lib/__tests__/Menu.test.js +285 -0
- package/dist/lib/__tests__/NoticeBase.test.d.ts +1 -0
- package/dist/lib/__tests__/NoticeBase.test.js +60 -0
- package/dist/lib/__tests__/PaginatedCard.test.d.ts +1 -0
- package/dist/lib/__tests__/PaginatedCard.test.js +89 -0
- package/dist/lib/__tests__/Pagination.test.d.ts +1 -0
- package/dist/lib/__tests__/Pagination.test.js +168 -0
- package/dist/lib/__tests__/PrimaryColorSelect.test.d.ts +1 -0
- package/dist/lib/__tests__/PrimaryColorSelect.test.js +92 -0
- package/dist/lib/__tests__/ProgressBar.test.d.ts +1 -0
- package/dist/lib/__tests__/ProgressBar.test.js +69 -0
- package/dist/lib/__tests__/ProgressCircle.test.d.ts +1 -0
- package/dist/lib/__tests__/ProgressCircle.test.js +71 -0
- package/dist/lib/__tests__/Radio.test.d.ts +1 -0
- package/dist/lib/__tests__/Radio.test.js +127 -0
- package/dist/lib/__tests__/SearchInput.test.d.ts +1 -0
- package/dist/lib/__tests__/SearchInput.test.js +80 -0
- package/dist/lib/__tests__/Select.test.d.ts +1 -0
- package/dist/lib/__tests__/Select.test.js +408 -0
- package/dist/lib/__tests__/Slider.test.d.ts +1 -0
- package/dist/lib/__tests__/Slider.test.js +213 -0
- package/dist/lib/__tests__/Splitter.test.d.ts +1 -0
- package/dist/lib/__tests__/Splitter.test.js +87 -0
- package/dist/lib/__tests__/Switch.test.d.ts +1 -0
- package/dist/lib/__tests__/Switch.test.js +97 -0
- package/dist/lib/__tests__/Table.test.d.ts +1 -0
- package/dist/lib/__tests__/Table.test.js +349 -0
- package/dist/lib/__tests__/Tabs.test.d.ts +1 -0
- package/dist/lib/__tests__/Tabs.test.js +262 -0
- package/dist/lib/__tests__/ThemeToggle.test.d.ts +1 -0
- package/dist/lib/__tests__/ThemeToggle.test.js +84 -0
- package/dist/lib/__tests__/TimePicker.test.d.ts +1 -0
- package/dist/lib/__tests__/TimePicker.test.js +146 -0
- package/dist/lib/__tests__/TimePickerNew.test.d.ts +1 -0
- package/dist/lib/__tests__/TimePickerNew.test.js +322 -0
- package/dist/lib/__tests__/Toast.test.d.ts +1 -0
- package/dist/lib/__tests__/Toast.test.js +135 -0
- package/dist/lib/__tests__/Tooltip.test.d.ts +1 -0
- package/dist/lib/__tests__/Tooltip.test.js +171 -0
- package/dist/lib/__tests__/Topbar.test.d.ts +1 -0
- package/dist/lib/__tests__/Topbar.test.js +25 -0
- package/dist/lib/__tests__/setupLangContext.d.ts +1 -0
- package/dist/lib/__tests__/setupLangContext.js +65 -0
- package/dist/lib/__tests__/storage.test.d.ts +1 -0
- package/dist/lib/__tests__/storage.test.js +124 -0
- package/dist/lib/__tests__/utils.test.d.ts +1 -0
- package/dist/lib/__tests__/utils.test.js +11 -0
- package/dist/lib/index.d.ts +5 -0
- package/dist/lib/index.js +5 -0
- package/dist/lib/lang.d.ts +64 -0
- package/dist/lib/lang.js +64 -0
- package/dist/lib/types/index.d.ts +1 -0
- package/dist/styles.css +2 -0
- package/dist/utils/index.js +15 -4
- package/package.json +12 -12
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
+
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);
|
|
23
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
+
function step(op) {
|
|
26
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
+
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;
|
|
29
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
+
switch (op[0]) {
|
|
31
|
+
case 0: case 1: t = op; break;
|
|
32
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
+
default:
|
|
36
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
+
if (t[2]) _.ops.pop();
|
|
41
|
+
_.trys.pop(); continue;
|
|
42
|
+
}
|
|
43
|
+
op = body.call(thisArg, _);
|
|
44
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
// src/lib/__tests__/setupLangContext.ts
|
|
49
|
+
import { vi } from "vitest";
|
|
50
|
+
vi.mock("svelte", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
51
|
+
var actual;
|
|
52
|
+
return __generator(this, function (_a) {
|
|
53
|
+
switch (_a.label) {
|
|
54
|
+
case 0: return [4 /*yield*/, vi.importActual("svelte")];
|
|
55
|
+
case 1:
|
|
56
|
+
actual = _a.sent();
|
|
57
|
+
return [2 /*return*/, __assign(__assign({}, actual), { getContext: function (key) {
|
|
58
|
+
if (key === "lang") {
|
|
59
|
+
return { value: "en" };
|
|
60
|
+
}
|
|
61
|
+
return actual.getContext(key);
|
|
62
|
+
} })];
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}); });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
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);
|
|
12
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
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;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import { describe, it, expect, vi, afterEach } from "vitest";
|
|
38
|
+
var loadStorage = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
39
|
+
return __generator(this, function (_a) {
|
|
40
|
+
switch (_a.label) {
|
|
41
|
+
case 0:
|
|
42
|
+
vi.resetModules();
|
|
43
|
+
return [4 /*yield*/, import("../../utils/index")];
|
|
44
|
+
case 1: return [2 /*return*/, (_a.sent()).storage];
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}); };
|
|
48
|
+
var createMockLocalStorage = function () {
|
|
49
|
+
var store = {};
|
|
50
|
+
return {
|
|
51
|
+
getItem: function (key) { var _a; return (_a = store[key]) !== null && _a !== void 0 ? _a : null; },
|
|
52
|
+
setItem: function (key, val) {
|
|
53
|
+
store[key] = String(val);
|
|
54
|
+
},
|
|
55
|
+
removeItem: function (key) {
|
|
56
|
+
delete store[key];
|
|
57
|
+
},
|
|
58
|
+
clear: function () {
|
|
59
|
+
store = {};
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
afterEach(function () {
|
|
64
|
+
vi.unstubAllGlobals();
|
|
65
|
+
});
|
|
66
|
+
describe("storage helper", function () {
|
|
67
|
+
it("is safe when window/localStorage are unavailable (SSR)", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
68
|
+
var storage;
|
|
69
|
+
return __generator(this, function (_a) {
|
|
70
|
+
switch (_a.label) {
|
|
71
|
+
case 0:
|
|
72
|
+
vi.stubGlobal("window", undefined);
|
|
73
|
+
return [4 /*yield*/, loadStorage()];
|
|
74
|
+
case 1:
|
|
75
|
+
storage = _a.sent();
|
|
76
|
+
expect(storage.get("missing", "fallback")).toBe("fallback");
|
|
77
|
+
expect(function () { return storage.set("k", "v"); }).not.toThrow();
|
|
78
|
+
expect(function () { return storage.remove("k"); }).not.toThrow();
|
|
79
|
+
return [2 /*return*/];
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}); });
|
|
83
|
+
it("persists values when localStorage exists", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
84
|
+
var mockLocalStorage, storage;
|
|
85
|
+
return __generator(this, function (_a) {
|
|
86
|
+
switch (_a.label) {
|
|
87
|
+
case 0:
|
|
88
|
+
mockLocalStorage = createMockLocalStorage();
|
|
89
|
+
vi.stubGlobal("window", { localStorage: mockLocalStorage });
|
|
90
|
+
return [4 /*yield*/, loadStorage()];
|
|
91
|
+
case 1:
|
|
92
|
+
storage = _a.sent();
|
|
93
|
+
storage.set("user", { id: 1 });
|
|
94
|
+
expect(mockLocalStorage.getItem("user")).toBe(JSON.stringify({ id: 1 }));
|
|
95
|
+
expect(storage.get("user", null)).toEqual({ id: 1 });
|
|
96
|
+
storage.remove("user");
|
|
97
|
+
expect(mockLocalStorage.getItem("user")).toBeNull();
|
|
98
|
+
return [2 /*return*/];
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}); });
|
|
102
|
+
it("is safe when localStorage getter throws", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
103
|
+
var storage;
|
|
104
|
+
return __generator(this, function (_a) {
|
|
105
|
+
switch (_a.label) {
|
|
106
|
+
case 0:
|
|
107
|
+
vi.stubGlobal("window", {});
|
|
108
|
+
Object.defineProperty(window, "localStorage", {
|
|
109
|
+
configurable: true,
|
|
110
|
+
get: function () {
|
|
111
|
+
throw new Error("storage disabled");
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
return [4 /*yield*/, loadStorage()];
|
|
115
|
+
case 1:
|
|
116
|
+
storage = _a.sent();
|
|
117
|
+
expect(storage.get("missing", "fallback")).toBe("fallback");
|
|
118
|
+
expect(function () { return storage.set("k", "v"); }).not.toThrow();
|
|
119
|
+
expect(function () { return storage.remove("k"); }).not.toThrow();
|
|
120
|
+
return [2 /*return*/];
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}); });
|
|
124
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { formatFileSize } from "../../utils";
|
|
3
|
+
describe("utility helpers", function () {
|
|
4
|
+
it("formats invalid or negative file sizes safely", function () {
|
|
5
|
+
expect(formatFileSize(Number.NaN)).toBe("0 Bytes");
|
|
6
|
+
expect(formatFileSize(-1)).toBe("0 Bytes");
|
|
7
|
+
});
|
|
8
|
+
it("caps very large file sizes to the largest supported unit", function () {
|
|
9
|
+
expect(formatFileSize(Math.pow(1024, 5))).toBe("1048576 GB");
|
|
10
|
+
});
|
|
11
|
+
});
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as Accordion } from "./Accordion.svelte";
|
|
2
|
+
export { default as Badge } from "./Badge.svelte";
|
|
2
3
|
export { default as Button } from "./Button.svelte";
|
|
3
4
|
export { default as Card } from "./Card.svelte";
|
|
4
5
|
export { default as Calendar } from "./Calendar.svelte";
|
|
@@ -6,12 +7,14 @@ export { default as Carousel } from "./Carousel.svelte";
|
|
|
6
7
|
export { default as CheckBox } from "./CheckBox.svelte";
|
|
7
8
|
export { default as CodeView } from "./CodeView.svelte";
|
|
8
9
|
export { default as ColorPicker } from "./ColorPicker.svelte";
|
|
10
|
+
export { default as ContextMenu } from "./ContextMenu.svelte";
|
|
9
11
|
export { default as DatePicker } from "./DatePicker.svelte";
|
|
10
12
|
export { default as Dialog } from "./Dialog.svelte";
|
|
11
13
|
export { default as Field } from "./Field.svelte";
|
|
12
14
|
export { default as FilePicker } from "./FilePicker.svelte";
|
|
13
15
|
export { default as Form } from "./Form.svelte";
|
|
14
16
|
export { default as Hamburger } from "./Hamburger.svelte";
|
|
17
|
+
export { default as InstallPWA } from "./InstallPWA.svelte";
|
|
15
18
|
export { default as Menu } from "./Menu.svelte";
|
|
16
19
|
export { default as PaginatedCard } from "./PaginatedCard.svelte";
|
|
17
20
|
export { default as Pagination } from "./Pagination.svelte";
|
|
@@ -28,6 +31,8 @@ export { default as Table } from "./Table.svelte";
|
|
|
28
31
|
export { default as Tabs } from "./Tabs.svelte";
|
|
29
32
|
export { default as ThemeToggle } from "./ThemeToggle.svelte";
|
|
30
33
|
export { default as TimePicker } from "./TimePicker.svelte";
|
|
34
|
+
export { default as TimePickerNew } from "./TimePickerNew.svelte";
|
|
31
35
|
export { default as Toast } from "./Toast.svelte";
|
|
32
36
|
export { default as Tooltip } from "./Tooltip.svelte";
|
|
37
|
+
export { default as Topbar } from "./Topbar.svelte";
|
|
33
38
|
export * from "./types";
|
package/dist/lib/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// src/lib/index.ts
|
|
2
2
|
export { default as Accordion } from "./Accordion.svelte";
|
|
3
|
+
export { default as Badge } from "./Badge.svelte";
|
|
3
4
|
export { default as Button } from "./Button.svelte";
|
|
4
5
|
export { default as Card } from "./Card.svelte";
|
|
5
6
|
export { default as Calendar } from "./Calendar.svelte";
|
|
@@ -7,12 +8,14 @@ export { default as Carousel } from "./Carousel.svelte";
|
|
|
7
8
|
export { default as CheckBox } from "./CheckBox.svelte";
|
|
8
9
|
export { default as CodeView } from "./CodeView.svelte";
|
|
9
10
|
export { default as ColorPicker } from "./ColorPicker.svelte";
|
|
11
|
+
export { default as ContextMenu } from "./ContextMenu.svelte";
|
|
10
12
|
export { default as DatePicker } from "./DatePicker.svelte";
|
|
11
13
|
export { default as Dialog } from "./Dialog.svelte";
|
|
12
14
|
export { default as Field } from "./Field.svelte";
|
|
13
15
|
export { default as FilePicker } from "./FilePicker.svelte";
|
|
14
16
|
export { default as Form } from "./Form.svelte";
|
|
15
17
|
export { default as Hamburger } from "./Hamburger.svelte";
|
|
18
|
+
export { default as InstallPWA } from "./InstallPWA.svelte";
|
|
16
19
|
export { default as Menu } from "./Menu.svelte";
|
|
17
20
|
export { default as PaginatedCard } from "./PaginatedCard.svelte";
|
|
18
21
|
export { default as Pagination } from "./Pagination.svelte";
|
|
@@ -29,6 +32,8 @@ export { default as Table } from "./Table.svelte";
|
|
|
29
32
|
export { default as Tabs } from "./Tabs.svelte";
|
|
30
33
|
export { default as ThemeToggle } from "./ThemeToggle.svelte";
|
|
31
34
|
export { default as TimePicker } from "./TimePicker.svelte";
|
|
35
|
+
export { default as TimePickerNew } from "./TimePickerNew.svelte";
|
|
32
36
|
export { default as Toast } from "./Toast.svelte";
|
|
33
37
|
export { default as Tooltip } from "./Tooltip.svelte";
|
|
38
|
+
export { default as Topbar } from "./Topbar.svelte";
|
|
34
39
|
export * from "./types";
|
package/dist/lib/lang.d.ts
CHANGED
|
@@ -15,6 +15,26 @@ export declare const TEXTS: {
|
|
|
15
15
|
readonly clear: "Clear";
|
|
16
16
|
readonly selectedDate: "Selected date";
|
|
17
17
|
};
|
|
18
|
+
readonly contextMenu: {
|
|
19
|
+
readonly contextMenu: {
|
|
20
|
+
readonly undo: "Undo";
|
|
21
|
+
readonly redo: "Redo";
|
|
22
|
+
readonly copy: "Copy";
|
|
23
|
+
readonly cut: "Cut";
|
|
24
|
+
readonly paste: "Paste";
|
|
25
|
+
readonly delete: "Delete";
|
|
26
|
+
};
|
|
27
|
+
readonly hotkeys: {
|
|
28
|
+
readonly undo: "Ctrl+Z";
|
|
29
|
+
readonly redo: "Ctrl+Y";
|
|
30
|
+
readonly copy: "Ctrl+C";
|
|
31
|
+
readonly cut: "Ctrl+X";
|
|
32
|
+
readonly paste: "Ctrl+V";
|
|
33
|
+
readonly delete: "Del";
|
|
34
|
+
};
|
|
35
|
+
readonly insertSnippet: "Insert snippet";
|
|
36
|
+
readonly snippets: {};
|
|
37
|
+
};
|
|
18
38
|
readonly dialog: {
|
|
19
39
|
readonly ok: "OK";
|
|
20
40
|
readonly cancel: "Cancel";
|
|
@@ -48,6 +68,8 @@ export declare const TEXTS: {
|
|
|
48
68
|
readonly selectedTime: "Selected time";
|
|
49
69
|
readonly switchTo12h: "12h";
|
|
50
70
|
readonly switchTo24h: "24h";
|
|
71
|
+
readonly now: "Now";
|
|
72
|
+
readonly ok: "OK";
|
|
51
73
|
};
|
|
52
74
|
};
|
|
53
75
|
};
|
|
@@ -101,6 +123,26 @@ export declare const TEXTS: {
|
|
|
101
123
|
readonly switchTo12h: "12ч";
|
|
102
124
|
readonly switchTo24h: "24ч";
|
|
103
125
|
};
|
|
126
|
+
readonly contextMenu: {
|
|
127
|
+
readonly contextMenu: {
|
|
128
|
+
readonly undo: "Undo";
|
|
129
|
+
readonly redo: "Redo";
|
|
130
|
+
readonly copy: "Copy";
|
|
131
|
+
readonly cut: "Cut";
|
|
132
|
+
readonly paste: "Paste";
|
|
133
|
+
readonly delete: "Delete";
|
|
134
|
+
};
|
|
135
|
+
readonly hotkeys: {
|
|
136
|
+
readonly undo: "Ctrl+Z";
|
|
137
|
+
readonly redo: "Ctrl+Y";
|
|
138
|
+
readonly copy: "Ctrl+C";
|
|
139
|
+
readonly cut: "Ctrl+X";
|
|
140
|
+
readonly paste: "Ctrl+V";
|
|
141
|
+
readonly delete: "Del";
|
|
142
|
+
};
|
|
143
|
+
readonly insertSnippet: "Insert snippet";
|
|
144
|
+
readonly snippets: {};
|
|
145
|
+
};
|
|
104
146
|
};
|
|
105
147
|
};
|
|
106
148
|
readonly es: {
|
|
@@ -152,6 +194,28 @@ export declare const TEXTS: {
|
|
|
152
194
|
readonly selectedTime: "Hora seleccionada";
|
|
153
195
|
readonly switchTo12h: "12h";
|
|
154
196
|
readonly switchTo24h: "24h";
|
|
197
|
+
readonly now: "Ahora";
|
|
198
|
+
readonly ok: "OK";
|
|
199
|
+
};
|
|
200
|
+
readonly contextMenu: {
|
|
201
|
+
readonly contextMenu: {
|
|
202
|
+
readonly undo: "Undo";
|
|
203
|
+
readonly redo: "Redo";
|
|
204
|
+
readonly copy: "Copy";
|
|
205
|
+
readonly cut: "Cut";
|
|
206
|
+
readonly paste: "Paste";
|
|
207
|
+
readonly delete: "Delete";
|
|
208
|
+
};
|
|
209
|
+
readonly hotkeys: {
|
|
210
|
+
readonly undo: "Ctrl+Z";
|
|
211
|
+
readonly redo: "Ctrl+Y";
|
|
212
|
+
readonly copy: "Ctrl+C";
|
|
213
|
+
readonly cut: "Ctrl+X";
|
|
214
|
+
readonly paste: "Ctrl+V";
|
|
215
|
+
readonly delete: "Del";
|
|
216
|
+
};
|
|
217
|
+
readonly insertSnippet: "Insert snippet";
|
|
218
|
+
readonly snippets: {};
|
|
155
219
|
};
|
|
156
220
|
};
|
|
157
221
|
};
|
package/dist/lib/lang.js
CHANGED
|
@@ -15,6 +15,26 @@ var enTexts = {
|
|
|
15
15
|
clear: "Clear",
|
|
16
16
|
selectedDate: "Selected date",
|
|
17
17
|
},
|
|
18
|
+
contextMenu: {
|
|
19
|
+
contextMenu: {
|
|
20
|
+
undo: "Undo",
|
|
21
|
+
redo: "Redo",
|
|
22
|
+
copy: "Copy",
|
|
23
|
+
cut: "Cut",
|
|
24
|
+
paste: "Paste",
|
|
25
|
+
delete: "Delete",
|
|
26
|
+
},
|
|
27
|
+
hotkeys: {
|
|
28
|
+
undo: "Ctrl+Z",
|
|
29
|
+
redo: "Ctrl+Y",
|
|
30
|
+
copy: "Ctrl+C",
|
|
31
|
+
cut: "Ctrl+X",
|
|
32
|
+
paste: "Ctrl+V",
|
|
33
|
+
delete: "Del",
|
|
34
|
+
},
|
|
35
|
+
insertSnippet: "Insert snippet",
|
|
36
|
+
snippets: {},
|
|
37
|
+
},
|
|
18
38
|
dialog: {
|
|
19
39
|
ok: "OK",
|
|
20
40
|
cancel: "Cancel",
|
|
@@ -44,6 +64,8 @@ var enTexts = {
|
|
|
44
64
|
selectedTime: "Selected time",
|
|
45
65
|
switchTo12h: "12h",
|
|
46
66
|
switchTo24h: "24h",
|
|
67
|
+
now: "Now",
|
|
68
|
+
ok: "OK",
|
|
47
69
|
},
|
|
48
70
|
},
|
|
49
71
|
};
|
|
@@ -93,6 +115,26 @@ var ruTexts = {
|
|
|
93
115
|
switchTo12h: "12ч",
|
|
94
116
|
switchTo24h: "24ч",
|
|
95
117
|
},
|
|
118
|
+
contextMenu: {
|
|
119
|
+
contextMenu: {
|
|
120
|
+
undo: "Undo",
|
|
121
|
+
redo: "Redo",
|
|
122
|
+
copy: "Copy",
|
|
123
|
+
cut: "Cut",
|
|
124
|
+
paste: "Paste",
|
|
125
|
+
delete: "Delete",
|
|
126
|
+
},
|
|
127
|
+
hotkeys: {
|
|
128
|
+
undo: "Ctrl+Z",
|
|
129
|
+
redo: "Ctrl+Y",
|
|
130
|
+
copy: "Ctrl+C",
|
|
131
|
+
cut: "Ctrl+X",
|
|
132
|
+
paste: "Ctrl+V",
|
|
133
|
+
delete: "Del",
|
|
134
|
+
},
|
|
135
|
+
insertSnippet: "Insert snippet",
|
|
136
|
+
snippets: {},
|
|
137
|
+
},
|
|
96
138
|
},
|
|
97
139
|
};
|
|
98
140
|
var esTexts = {
|
|
@@ -140,6 +182,28 @@ var esTexts = {
|
|
|
140
182
|
selectedTime: "Hora seleccionada",
|
|
141
183
|
switchTo12h: "12h",
|
|
142
184
|
switchTo24h: "24h",
|
|
185
|
+
now: "Ahora",
|
|
186
|
+
ok: "OK",
|
|
187
|
+
},
|
|
188
|
+
contextMenu: {
|
|
189
|
+
contextMenu: {
|
|
190
|
+
undo: "Undo",
|
|
191
|
+
redo: "Redo",
|
|
192
|
+
copy: "Copy",
|
|
193
|
+
cut: "Cut",
|
|
194
|
+
paste: "Paste",
|
|
195
|
+
delete: "Delete",
|
|
196
|
+
},
|
|
197
|
+
hotkeys: {
|
|
198
|
+
undo: "Ctrl+Z",
|
|
199
|
+
redo: "Ctrl+Y",
|
|
200
|
+
copy: "Ctrl+C",
|
|
201
|
+
cut: "Ctrl+X",
|
|
202
|
+
paste: "Ctrl+V",
|
|
203
|
+
delete: "Del",
|
|
204
|
+
},
|
|
205
|
+
insertSnippet: "Insert snippet",
|
|
206
|
+
snippets: {},
|
|
143
207
|
},
|
|
144
208
|
},
|
|
145
209
|
};
|
|
@@ -24,6 +24,7 @@ export type ComponentVariant = "default" | "neutral";
|
|
|
24
24
|
export type Item = {
|
|
25
25
|
id: string;
|
|
26
26
|
label: string;
|
|
27
|
+
type?: "section";
|
|
27
28
|
};
|
|
28
29
|
export type FormComponentType = "text" | "number" | "textarea" | "password" | "email" | "select" | "checkbox";
|
|
29
30
|
export interface FieldSchema {
|
package/dist/styles.css
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
--color-text-warning: oklch(95% 0.05 90deg);
|
|
13
13
|
--color-text-link: oklch(35% 0.3 250deg);
|
|
14
14
|
--color-text-red: oklch(50% 0.25 30deg);
|
|
15
|
+
--color-text-inverse: oklch(100% 0 0deg);
|
|
15
16
|
|
|
16
17
|
/* COLORS — BG */
|
|
17
18
|
--color-bg-page: oklch(98% 0 0deg);
|
|
@@ -105,6 +106,7 @@
|
|
|
105
106
|
--color-text-warning: oklch(95% 0.05 90deg);
|
|
106
107
|
--color-text-link: oklch(65% 0.3 250deg);
|
|
107
108
|
--color-text-red: oklch(50% 0.25 30deg);
|
|
109
|
+
--color-text-inverse: oklch(100% 0 0deg);
|
|
108
110
|
|
|
109
111
|
/* COLORS — BG */
|
|
110
112
|
--color-bg-page: oklch(15% 0 0deg);
|
package/dist/utils/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// src/
|
|
1
|
+
// src/utils/index.ts
|
|
2
2
|
var __assign = (this && this.__assign) || function () {
|
|
3
3
|
__assign = Object.assign || function(t) {
|
|
4
4
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -75,11 +75,13 @@ export function times(count, fn) {
|
|
|
75
75
|
// FORMAT FILE SIZE
|
|
76
76
|
// -------------------------------------------------------------------------------
|
|
77
77
|
export function formatFileSize(bytes) {
|
|
78
|
+
if (!Number.isFinite(bytes) || bytes < 0)
|
|
79
|
+
return "0 Bytes";
|
|
78
80
|
if (bytes === 0)
|
|
79
81
|
return "0 Bytes";
|
|
80
82
|
var k = 1024;
|
|
81
83
|
var sizes = ["Bytes", "KB", "MB", "GB"];
|
|
82
|
-
var i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
84
|
+
var i = Math.min(sizes.length - 1, Math.floor(Math.log(bytes) / Math.log(k)));
|
|
83
85
|
return "".concat(parseFloat((bytes / Math.pow(k, i)).toFixed(2)), " ").concat(sizes[i]);
|
|
84
86
|
}
|
|
85
87
|
// -------------------------------------------------------------------------------
|
|
@@ -116,8 +118,17 @@ export function throttle(fn, limit) {
|
|
|
116
118
|
// -------------------------------------------------------------------------------
|
|
117
119
|
// STORAGE HELPERS
|
|
118
120
|
// -------------------------------------------------------------------------------
|
|
119
|
-
var
|
|
120
|
-
var
|
|
121
|
+
var getLocalStorage = function () {
|
|
122
|
+
var _a;
|
|
123
|
+
if (typeof window === "undefined")
|
|
124
|
+
return null;
|
|
125
|
+
try {
|
|
126
|
+
return (_a = window.localStorage) !== null && _a !== void 0 ? _a : null;
|
|
127
|
+
}
|
|
128
|
+
catch (_b) {
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
};
|
|
121
132
|
export var storage = {
|
|
122
133
|
get: function (key, defaultValue) {
|
|
123
134
|
var ls = getLocalStorage();
|
package/package.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svelte-comp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.5",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "A comprehensive component library built on Svelte 5 (runes) with design tokens (tailwind), accessibility focus, and TypeScript support",
|
|
6
6
|
"devDependencies": {
|
|
7
7
|
"@sveltejs/package": "^2.5.7",
|
|
8
|
-
"@sveltejs/vite-plugin-svelte": "^6.2.
|
|
9
|
-
"@tailwindcss/vite": "^4.
|
|
10
|
-
"@tsconfig/svelte": "^5.0.
|
|
11
|
-
"@types/node": "^24.
|
|
12
|
-
"@types/prismjs": "^1.26.
|
|
13
|
-
"prettier": "^3.
|
|
14
|
-
"prettier-plugin-svelte": "^3.
|
|
8
|
+
"@sveltejs/vite-plugin-svelte": "^6.2.4",
|
|
9
|
+
"@tailwindcss/vite": "^4.2.4",
|
|
10
|
+
"@tsconfig/svelte": "^5.0.8",
|
|
11
|
+
"@types/node": "^24.12.2",
|
|
12
|
+
"@types/prismjs": "^1.26.6",
|
|
13
|
+
"prettier": "^3.8.3",
|
|
14
|
+
"prettier-plugin-svelte": "^3.5.1",
|
|
15
15
|
"prismjs": "^1.30.0",
|
|
16
|
-
"svelte": "^5.
|
|
17
|
-
"svelte-check": "^4.
|
|
18
|
-
"tailwindcss": "^4.
|
|
16
|
+
"svelte": "^5.55.5",
|
|
17
|
+
"svelte-check": "^4.4.6",
|
|
18
|
+
"tailwindcss": "^4.2.4",
|
|
19
19
|
"typescript": "^5.9.3",
|
|
20
|
-
"vite": "^7.2
|
|
20
|
+
"vite": "^7.3.2"
|
|
21
21
|
},
|
|
22
22
|
"exports": {
|
|
23
23
|
".": {
|