@hexclave/dashboard-ui-components 1.0.47 → 1.0.49
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/dist/components/data-grid/data-grid.js +4 -2
- package/dist/components/data-grid/data-grid.js.map +1 -1
- package/dist/components/data-grid/data-grid.test.js +96 -0
- package/dist/components/data-grid/data-grid.test.js.map +1 -1
- package/dist/dashboard-ui-components.global.js +47 -45
- package/dist/dashboard-ui-components.global.js.map +4 -4
- package/dist/data-grid-AJi1TNDa.d.ts.map +1 -1
- package/dist/esm/components/data-grid/data-grid.d.ts.map +1 -1
- package/dist/esm/components/data-grid/data-grid.js +4 -2
- package/dist/esm/components/data-grid/data-grid.js.map +1 -1
- package/dist/esm/components/data-grid/data-grid.test.js +99 -3
- package/dist/esm/components/data-grid/data-grid.test.js.map +1 -1
- package/package.json +3 -3
- package/src/components/data-grid/data-grid.test.tsx +131 -2
- package/src/components/data-grid/data-grid.tsx +13 -2
|
@@ -4461,6 +4461,49 @@ This is likely an error in Hexclave. Please make sure you are running the newest
|
|
|
4461
4461
|
return Object.assign(Result.error(new RetryError(errors)), { attempts: totalAttempts });
|
|
4462
4462
|
}
|
|
4463
4463
|
|
|
4464
|
+
// ../shared/dist/esm/utils/bytes.js
|
|
4465
|
+
function decodeBase64(input) {
|
|
4466
|
+
return new Uint8Array(atob(input).split("").map((char) => char.charCodeAt(0)));
|
|
4467
|
+
}
|
|
4468
|
+
function isBase64(input) {
|
|
4469
|
+
return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(input);
|
|
4470
|
+
}
|
|
4471
|
+
|
|
4472
|
+
// ../shared/dist/esm/utils/urls.js
|
|
4473
|
+
function createUrlIfValid(...args) {
|
|
4474
|
+
try {
|
|
4475
|
+
return new URL(...args);
|
|
4476
|
+
} catch (e40) {
|
|
4477
|
+
return null;
|
|
4478
|
+
}
|
|
4479
|
+
}
|
|
4480
|
+
function isValidUrl(url) {
|
|
4481
|
+
return !!createUrlIfValid(url);
|
|
4482
|
+
}
|
|
4483
|
+
function isValidHostname(hostname) {
|
|
4484
|
+
if (!hostname || hostname.startsWith(".") || hostname.endsWith(".") || hostname.includes("..")) return false;
|
|
4485
|
+
const url = createUrlIfValid(`https://${hostname}`);
|
|
4486
|
+
if (!url) return false;
|
|
4487
|
+
return url.hostname === hostname;
|
|
4488
|
+
}
|
|
4489
|
+
function isValidHostnameWithWildcards(hostname) {
|
|
4490
|
+
if (!hostname) return false;
|
|
4491
|
+
if (!hostname.includes("*")) return isValidHostname(hostname);
|
|
4492
|
+
if (hostname.startsWith(".") || hostname.endsWith(".")) return false;
|
|
4493
|
+
if (hostname.includes("..")) return false;
|
|
4494
|
+
const testHostname = hostname.replace(/\*+/g, "wildcard");
|
|
4495
|
+
if (!/^[a-zA-Z0-9.-]+$/.test(testHostname)) return false;
|
|
4496
|
+
const segments = hostname.split(/\*+/);
|
|
4497
|
+
for (let i = 0; i < segments.length; i++) {
|
|
4498
|
+
const segment = segments[i];
|
|
4499
|
+
if (segment === "") continue;
|
|
4500
|
+
if (i === 0 && segment.startsWith(".")) return false;
|
|
4501
|
+
if (i === segments.length - 1 && segment.endsWith(".")) return false;
|
|
4502
|
+
if (segment.includes("..")) return false;
|
|
4503
|
+
}
|
|
4504
|
+
return true;
|
|
4505
|
+
}
|
|
4506
|
+
|
|
4464
4507
|
// ../shared/dist/esm/known-errors.js
|
|
4465
4508
|
var KnownError = class extends StatusError {
|
|
4466
4509
|
constructor(statusCode, humanReadableMessage, details) {
|
|
@@ -5217,49 +5260,6 @@ This is likely an error in Hexclave. Please make sure you are running the newest
|
|
|
5217
5260
|
knownErrorCodes.add(KnownError2.errorCode);
|
|
5218
5261
|
}
|
|
5219
5262
|
|
|
5220
|
-
// ../shared/dist/esm/utils/bytes.js
|
|
5221
|
-
function decodeBase64(input) {
|
|
5222
|
-
return new Uint8Array(atob(input).split("").map((char) => char.charCodeAt(0)));
|
|
5223
|
-
}
|
|
5224
|
-
function isBase64(input) {
|
|
5225
|
-
return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(input);
|
|
5226
|
-
}
|
|
5227
|
-
|
|
5228
|
-
// ../shared/dist/esm/utils/urls.js
|
|
5229
|
-
function createUrlIfValid(...args) {
|
|
5230
|
-
try {
|
|
5231
|
-
return new URL(...args);
|
|
5232
|
-
} catch (e40) {
|
|
5233
|
-
return null;
|
|
5234
|
-
}
|
|
5235
|
-
}
|
|
5236
|
-
function isValidUrl(url) {
|
|
5237
|
-
return !!createUrlIfValid(url);
|
|
5238
|
-
}
|
|
5239
|
-
function isValidHostname(hostname) {
|
|
5240
|
-
if (!hostname || hostname.startsWith(".") || hostname.endsWith(".") || hostname.includes("..")) return false;
|
|
5241
|
-
const url = createUrlIfValid(`https://${hostname}`);
|
|
5242
|
-
if (!url) return false;
|
|
5243
|
-
return url.hostname === hostname;
|
|
5244
|
-
}
|
|
5245
|
-
function isValidHostnameWithWildcards(hostname) {
|
|
5246
|
-
if (!hostname) return false;
|
|
5247
|
-
if (!hostname.includes("*")) return isValidHostname(hostname);
|
|
5248
|
-
if (hostname.startsWith(".") || hostname.endsWith(".")) return false;
|
|
5249
|
-
if (hostname.includes("..")) return false;
|
|
5250
|
-
const testHostname = hostname.replace(/\*+/g, "wildcard");
|
|
5251
|
-
if (!/^[a-zA-Z0-9.-]+$/.test(testHostname)) return false;
|
|
5252
|
-
const segments = hostname.split(/\*+/);
|
|
5253
|
-
for (let i = 0; i < segments.length; i++) {
|
|
5254
|
-
const segment = segments[i];
|
|
5255
|
-
if (segment === "") continue;
|
|
5256
|
-
if (i === 0 && segment.startsWith(".")) return false;
|
|
5257
|
-
if (i === segments.length - 1 && segment.endsWith(".")) return false;
|
|
5258
|
-
if (segment.includes("..")) return false;
|
|
5259
|
-
}
|
|
5260
|
-
return true;
|
|
5261
|
-
}
|
|
5262
|
-
|
|
5263
5263
|
// ../../node_modules/.pnpm/yup@1.7.1/node_modules/yup/index.esm.js
|
|
5264
5264
|
var import_property_expr = __toESM(require_property_expr());
|
|
5265
5265
|
var import_tiny_case = __toESM(require_tiny_case());
|
|
@@ -23286,18 +23286,20 @@ ${colorConfig.map(([key, itemConfig]) => {
|
|
|
23286
23286
|
strings
|
|
23287
23287
|
}) {
|
|
23288
23288
|
const ref = (0, import_react35.useRef)(null);
|
|
23289
|
+
const onIntersectRef = (0, import_react35.useRef)(onIntersect);
|
|
23290
|
+
onIntersectRef.current = onIntersect;
|
|
23289
23291
|
(0, import_react35.useEffect)(() => {
|
|
23290
23292
|
const el = ref.current;
|
|
23291
23293
|
if (!el) return;
|
|
23292
23294
|
const observer = new IntersectionObserver(
|
|
23293
23295
|
(entries) => {
|
|
23294
|
-
if (entries[0]?.isIntersecting)
|
|
23296
|
+
if (entries[0]?.isIntersecting) onIntersectRef.current();
|
|
23295
23297
|
},
|
|
23296
23298
|
{ root: rootRef?.current ?? null, rootMargin: "200px" }
|
|
23297
23299
|
);
|
|
23298
23300
|
observer.observe(el);
|
|
23299
23301
|
return () => observer.disconnect();
|
|
23300
|
-
}, [
|
|
23302
|
+
}, [rootRef]);
|
|
23301
23303
|
return /* @__PURE__ */ jsx("div", { ref, className: "flex items-center justify-center py-4", children: isLoading && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-xs text-muted-foreground", children: [
|
|
23302
23304
|
/* @__PURE__ */ jsx("div", { className: "h-3 w-3 rounded-full border-2 border-current border-t-transparent animate-spin" }),
|
|
23303
23305
|
strings.loadingMore
|