@luxfi/ui 7.4.2 → 7.4.3
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/badge.cjs +3 -3
- package/dist/badge.js +3 -3
- package/dist/chrome.cjs +19 -9
- package/dist/chrome.js +19 -9
- package/dist/iam.cjs +19 -9
- package/dist/iam.js +19 -9
- package/dist/identity.cjs +19 -9
- package/dist/identity.js +19 -9
- package/dist/index.cjs +22 -12
- package/dist/index.js +22 -12
- package/dist/next.cjs +38 -5
- package/dist/next.d.cts +4 -1
- package/dist/next.d.ts +4 -1
- package/dist/next.js +38 -5
- package/dist/provider.cjs +19 -9
- package/dist/provider.js +19 -9
- package/dist/tag.cjs +3 -3
- package/dist/tag.js +3 -3
- package/dist/tooltip.cjs +3 -3
- package/dist/tooltip.js +3 -3
- package/dist/vite.cjs +77 -8
- package/dist/vite.js +77 -8
- package/dist/white-label.cjs +19 -9
- package/dist/white-label.d.cts +3 -3
- package/dist/white-label.d.ts +3 -3
- package/dist/white-label.js +19 -9
- package/package.json +1 -1
- package/src/engine.ts +130 -0
- package/src/next.ts +17 -70
- package/src/tooltip.tsx +13 -3
- package/src/vite.ts +10 -8
- package/src/white-label.ts +32 -18
- package/tokens.css +75 -6
package/dist/badge.cjs
CHANGED
|
@@ -270,8 +270,8 @@ var Tooltip = React3__namespace.forwardRef(
|
|
|
270
270
|
}, nextOpen ? openDelay : closeDelay);
|
|
271
271
|
}, [closeDelay, openDelay, onOpenChange]);
|
|
272
272
|
const handleClickAway = React3__namespace.useCallback(() => {
|
|
273
|
-
handleOpenChangeManual(false);
|
|
274
|
-
}, [handleOpenChangeManual]);
|
|
273
|
+
if (open) handleOpenChangeManual(false);
|
|
274
|
+
}, [open, handleOpenChangeManual]);
|
|
275
275
|
const triggerRef = usehooks.useClickAway(handleClickAway);
|
|
276
276
|
const handleTriggerClick = React3__namespace.useCallback(() => {
|
|
277
277
|
handleOpenChangeManual(!open);
|
|
@@ -311,7 +311,7 @@ var Tooltip = React3__namespace.forwardRef(
|
|
|
311
311
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
312
312
|
gui.Tooltip.Trigger,
|
|
313
313
|
{
|
|
314
|
-
ref:
|
|
314
|
+
ref: triggerRef,
|
|
315
315
|
asChild: true,
|
|
316
316
|
...isMobile ? { onPress: handleTriggerClick } : {},
|
|
317
317
|
...triggerProps,
|
package/dist/badge.js
CHANGED
|
@@ -249,8 +249,8 @@ var Tooltip = React3.forwardRef(
|
|
|
249
249
|
}, nextOpen ? openDelay : closeDelay);
|
|
250
250
|
}, [closeDelay, openDelay, onOpenChange]);
|
|
251
251
|
const handleClickAway = React3.useCallback(() => {
|
|
252
|
-
handleOpenChangeManual(false);
|
|
253
|
-
}, [handleOpenChangeManual]);
|
|
252
|
+
if (open) handleOpenChangeManual(false);
|
|
253
|
+
}, [open, handleOpenChangeManual]);
|
|
254
254
|
const triggerRef = useClickAway(handleClickAway);
|
|
255
255
|
const handleTriggerClick = React3.useCallback(() => {
|
|
256
256
|
handleOpenChangeManual(!open);
|
|
@@ -290,7 +290,7 @@ var Tooltip = React3.forwardRef(
|
|
|
290
290
|
/* @__PURE__ */ jsx(
|
|
291
291
|
Tooltip$1.Trigger,
|
|
292
292
|
{
|
|
293
|
-
ref:
|
|
293
|
+
ref: triggerRef,
|
|
294
294
|
asChild: true,
|
|
295
295
|
...isMobile ? { onPress: handleTriggerClick } : {},
|
|
296
296
|
...triggerProps,
|
package/dist/chrome.cjs
CHANGED
|
@@ -302,10 +302,17 @@ var ORGS = {
|
|
|
302
302
|
org: "zoo",
|
|
303
303
|
name: "Zoo",
|
|
304
304
|
domain: "zoo.ngo",
|
|
305
|
-
// Zoo's
|
|
306
|
-
//
|
|
307
|
-
//
|
|
308
|
-
|
|
305
|
+
// Zoo's issuer is `zoolabs.id` — the one row where it is not `<org>.id`,
|
|
306
|
+
// and the one every hand-rolled branding map gets wrong. `id.zoo.network`
|
|
307
|
+
// ANSWERS, which is why it keeps being copied around, but it is an alias:
|
|
308
|
+
// its own discovery document advertises
|
|
309
|
+
// issuer https://zoolabs.id
|
|
310
|
+
// authorization_endpoint https://zoolabs.id/v1/iam/oauth/authorize
|
|
311
|
+
// jwks_uri https://zoolabs.id/v1/iam/.well-known/jwks
|
|
312
|
+
// so a client configured on the alias validates `iss` against a string the
|
|
313
|
+
// IdP never emits and rejects every token it is given — the exact shape of
|
|
314
|
+
// the lux.id outage. `zoo.id` is not an IdP at all (no discovery document).
|
|
315
|
+
iamDomain: "zoolabs.id",
|
|
309
316
|
accent: LUX_BRAND.zoo,
|
|
310
317
|
accentForeground: "#FFFFFF"
|
|
311
318
|
},
|
|
@@ -339,15 +346,18 @@ var DOMAIN_ORG = [
|
|
|
339
346
|
["lux.cloud", "lux"],
|
|
340
347
|
["lux.id", "lux"],
|
|
341
348
|
["lux.finance", "lux"],
|
|
349
|
+
["lux.market", "lux"],
|
|
350
|
+
["lux.exchange", "lux"],
|
|
342
351
|
["zoo.ngo", "zoo"],
|
|
343
352
|
["zoo.network", "zoo"],
|
|
344
353
|
["zoo.cloud", "zoo"],
|
|
345
|
-
["
|
|
354
|
+
["zoolabs.id", "zoo"],
|
|
346
355
|
["hanzo.ai", "hanzo"],
|
|
347
356
|
["hanzo.cloud", "hanzo"],
|
|
348
357
|
["hanzo.id", "hanzo"],
|
|
349
|
-
["pars.id", "pars"],
|
|
350
|
-
["
|
|
358
|
+
["pars.id", "pars", "app"],
|
|
359
|
+
["pars.network", "pars", "app"],
|
|
360
|
+
["parsdao.org", "pars", "app"],
|
|
351
361
|
["bootno.de", "bootnode", "platform"]
|
|
352
362
|
];
|
|
353
363
|
var DEFAULT_ORG = "lux";
|
|
@@ -367,11 +377,11 @@ function matchDomain(host) {
|
|
|
367
377
|
}
|
|
368
378
|
return best;
|
|
369
379
|
}
|
|
370
|
-
function appSlug(host, domain,
|
|
380
|
+
function appSlug(host, domain, pinned) {
|
|
381
|
+
if (pinned) return pinned;
|
|
371
382
|
const sub = host === domain ? "" : host.slice(0, -(domain.length + 1));
|
|
372
383
|
const leftmost = sub.split(".")[0] ?? "";
|
|
373
384
|
if (leftmost && leftmost !== "www") return leftmost;
|
|
374
|
-
if (apexApp) return apexApp;
|
|
375
385
|
const label = domain.split(".")[0] ?? "";
|
|
376
386
|
const tld = domain.split(".").slice(1).join(".");
|
|
377
387
|
return tld.split(".")[0] || label;
|
package/dist/chrome.js
CHANGED
|
@@ -279,10 +279,17 @@ var ORGS = {
|
|
|
279
279
|
org: "zoo",
|
|
280
280
|
name: "Zoo",
|
|
281
281
|
domain: "zoo.ngo",
|
|
282
|
-
// Zoo's
|
|
283
|
-
//
|
|
284
|
-
//
|
|
285
|
-
|
|
282
|
+
// Zoo's issuer is `zoolabs.id` — the one row where it is not `<org>.id`,
|
|
283
|
+
// and the one every hand-rolled branding map gets wrong. `id.zoo.network`
|
|
284
|
+
// ANSWERS, which is why it keeps being copied around, but it is an alias:
|
|
285
|
+
// its own discovery document advertises
|
|
286
|
+
// issuer https://zoolabs.id
|
|
287
|
+
// authorization_endpoint https://zoolabs.id/v1/iam/oauth/authorize
|
|
288
|
+
// jwks_uri https://zoolabs.id/v1/iam/.well-known/jwks
|
|
289
|
+
// so a client configured on the alias validates `iss` against a string the
|
|
290
|
+
// IdP never emits and rejects every token it is given — the exact shape of
|
|
291
|
+
// the lux.id outage. `zoo.id` is not an IdP at all (no discovery document).
|
|
292
|
+
iamDomain: "zoolabs.id",
|
|
286
293
|
accent: LUX_BRAND.zoo,
|
|
287
294
|
accentForeground: "#FFFFFF"
|
|
288
295
|
},
|
|
@@ -316,15 +323,18 @@ var DOMAIN_ORG = [
|
|
|
316
323
|
["lux.cloud", "lux"],
|
|
317
324
|
["lux.id", "lux"],
|
|
318
325
|
["lux.finance", "lux"],
|
|
326
|
+
["lux.market", "lux"],
|
|
327
|
+
["lux.exchange", "lux"],
|
|
319
328
|
["zoo.ngo", "zoo"],
|
|
320
329
|
["zoo.network", "zoo"],
|
|
321
330
|
["zoo.cloud", "zoo"],
|
|
322
|
-
["
|
|
331
|
+
["zoolabs.id", "zoo"],
|
|
323
332
|
["hanzo.ai", "hanzo"],
|
|
324
333
|
["hanzo.cloud", "hanzo"],
|
|
325
334
|
["hanzo.id", "hanzo"],
|
|
326
|
-
["pars.id", "pars"],
|
|
327
|
-
["
|
|
335
|
+
["pars.id", "pars", "app"],
|
|
336
|
+
["pars.network", "pars", "app"],
|
|
337
|
+
["parsdao.org", "pars", "app"],
|
|
328
338
|
["bootno.de", "bootnode", "platform"]
|
|
329
339
|
];
|
|
330
340
|
var DEFAULT_ORG = "lux";
|
|
@@ -344,11 +354,11 @@ function matchDomain(host) {
|
|
|
344
354
|
}
|
|
345
355
|
return best;
|
|
346
356
|
}
|
|
347
|
-
function appSlug(host, domain,
|
|
357
|
+
function appSlug(host, domain, pinned) {
|
|
358
|
+
if (pinned) return pinned;
|
|
348
359
|
const sub = host === domain ? "" : host.slice(0, -(domain.length + 1));
|
|
349
360
|
const leftmost = sub.split(".")[0] ?? "";
|
|
350
361
|
if (leftmost && leftmost !== "www") return leftmost;
|
|
351
|
-
if (apexApp) return apexApp;
|
|
352
362
|
const label = domain.split(".")[0] ?? "";
|
|
353
363
|
const tld = domain.split(".").slice(1).join(".");
|
|
354
364
|
return tld.split(".")[0] || label;
|
package/dist/iam.cjs
CHANGED
|
@@ -20,10 +20,17 @@ var ORGS = {
|
|
|
20
20
|
org: "zoo",
|
|
21
21
|
name: "Zoo",
|
|
22
22
|
domain: "zoo.ngo",
|
|
23
|
-
// Zoo's
|
|
24
|
-
//
|
|
25
|
-
//
|
|
26
|
-
|
|
23
|
+
// Zoo's issuer is `zoolabs.id` — the one row where it is not `<org>.id`,
|
|
24
|
+
// and the one every hand-rolled branding map gets wrong. `id.zoo.network`
|
|
25
|
+
// ANSWERS, which is why it keeps being copied around, but it is an alias:
|
|
26
|
+
// its own discovery document advertises
|
|
27
|
+
// issuer https://zoolabs.id
|
|
28
|
+
// authorization_endpoint https://zoolabs.id/v1/iam/oauth/authorize
|
|
29
|
+
// jwks_uri https://zoolabs.id/v1/iam/.well-known/jwks
|
|
30
|
+
// so a client configured on the alias validates `iss` against a string the
|
|
31
|
+
// IdP never emits and rejects every token it is given — the exact shape of
|
|
32
|
+
// the lux.id outage. `zoo.id` is not an IdP at all (no discovery document).
|
|
33
|
+
iamDomain: "zoolabs.id",
|
|
27
34
|
accent: LUX_BRAND.zoo,
|
|
28
35
|
accentForeground: "#FFFFFF"
|
|
29
36
|
},
|
|
@@ -57,15 +64,18 @@ var DOMAIN_ORG = [
|
|
|
57
64
|
["lux.cloud", "lux"],
|
|
58
65
|
["lux.id", "lux"],
|
|
59
66
|
["lux.finance", "lux"],
|
|
67
|
+
["lux.market", "lux"],
|
|
68
|
+
["lux.exchange", "lux"],
|
|
60
69
|
["zoo.ngo", "zoo"],
|
|
61
70
|
["zoo.network", "zoo"],
|
|
62
71
|
["zoo.cloud", "zoo"],
|
|
63
|
-
["
|
|
72
|
+
["zoolabs.id", "zoo"],
|
|
64
73
|
["hanzo.ai", "hanzo"],
|
|
65
74
|
["hanzo.cloud", "hanzo"],
|
|
66
75
|
["hanzo.id", "hanzo"],
|
|
67
|
-
["pars.id", "pars"],
|
|
68
|
-
["
|
|
76
|
+
["pars.id", "pars", "app"],
|
|
77
|
+
["pars.network", "pars", "app"],
|
|
78
|
+
["parsdao.org", "pars", "app"],
|
|
69
79
|
["bootno.de", "bootnode", "platform"]
|
|
70
80
|
];
|
|
71
81
|
var DEFAULT_ORG = "lux";
|
|
@@ -85,11 +95,11 @@ function matchDomain(host) {
|
|
|
85
95
|
}
|
|
86
96
|
return best;
|
|
87
97
|
}
|
|
88
|
-
function appSlug(host, domain,
|
|
98
|
+
function appSlug(host, domain, pinned) {
|
|
99
|
+
if (pinned) return pinned;
|
|
89
100
|
const sub = host === domain ? "" : host.slice(0, -(domain.length + 1));
|
|
90
101
|
const leftmost = sub.split(".")[0] ?? "";
|
|
91
102
|
if (leftmost && leftmost !== "www") return leftmost;
|
|
92
|
-
if (apexApp) return apexApp;
|
|
93
103
|
const label = domain.split(".")[0] ?? "";
|
|
94
104
|
const tld = domain.split(".").slice(1).join(".");
|
|
95
105
|
return tld.split(".")[0] || label;
|
package/dist/iam.js
CHANGED
|
@@ -18,10 +18,17 @@ var ORGS = {
|
|
|
18
18
|
org: "zoo",
|
|
19
19
|
name: "Zoo",
|
|
20
20
|
domain: "zoo.ngo",
|
|
21
|
-
// Zoo's
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
|
|
21
|
+
// Zoo's issuer is `zoolabs.id` — the one row where it is not `<org>.id`,
|
|
22
|
+
// and the one every hand-rolled branding map gets wrong. `id.zoo.network`
|
|
23
|
+
// ANSWERS, which is why it keeps being copied around, but it is an alias:
|
|
24
|
+
// its own discovery document advertises
|
|
25
|
+
// issuer https://zoolabs.id
|
|
26
|
+
// authorization_endpoint https://zoolabs.id/v1/iam/oauth/authorize
|
|
27
|
+
// jwks_uri https://zoolabs.id/v1/iam/.well-known/jwks
|
|
28
|
+
// so a client configured on the alias validates `iss` against a string the
|
|
29
|
+
// IdP never emits and rejects every token it is given — the exact shape of
|
|
30
|
+
// the lux.id outage. `zoo.id` is not an IdP at all (no discovery document).
|
|
31
|
+
iamDomain: "zoolabs.id",
|
|
25
32
|
accent: LUX_BRAND.zoo,
|
|
26
33
|
accentForeground: "#FFFFFF"
|
|
27
34
|
},
|
|
@@ -55,15 +62,18 @@ var DOMAIN_ORG = [
|
|
|
55
62
|
["lux.cloud", "lux"],
|
|
56
63
|
["lux.id", "lux"],
|
|
57
64
|
["lux.finance", "lux"],
|
|
65
|
+
["lux.market", "lux"],
|
|
66
|
+
["lux.exchange", "lux"],
|
|
58
67
|
["zoo.ngo", "zoo"],
|
|
59
68
|
["zoo.network", "zoo"],
|
|
60
69
|
["zoo.cloud", "zoo"],
|
|
61
|
-
["
|
|
70
|
+
["zoolabs.id", "zoo"],
|
|
62
71
|
["hanzo.ai", "hanzo"],
|
|
63
72
|
["hanzo.cloud", "hanzo"],
|
|
64
73
|
["hanzo.id", "hanzo"],
|
|
65
|
-
["pars.id", "pars"],
|
|
66
|
-
["
|
|
74
|
+
["pars.id", "pars", "app"],
|
|
75
|
+
["pars.network", "pars", "app"],
|
|
76
|
+
["parsdao.org", "pars", "app"],
|
|
67
77
|
["bootno.de", "bootnode", "platform"]
|
|
68
78
|
];
|
|
69
79
|
var DEFAULT_ORG = "lux";
|
|
@@ -83,11 +93,11 @@ function matchDomain(host) {
|
|
|
83
93
|
}
|
|
84
94
|
return best;
|
|
85
95
|
}
|
|
86
|
-
function appSlug(host, domain,
|
|
96
|
+
function appSlug(host, domain, pinned) {
|
|
97
|
+
if (pinned) return pinned;
|
|
87
98
|
const sub = host === domain ? "" : host.slice(0, -(domain.length + 1));
|
|
88
99
|
const leftmost = sub.split(".")[0] ?? "";
|
|
89
100
|
if (leftmost && leftmost !== "www") return leftmost;
|
|
90
|
-
if (apexApp) return apexApp;
|
|
91
101
|
const label = domain.split(".")[0] ?? "";
|
|
92
102
|
const tld = domain.split(".").slice(1).join(".");
|
|
93
103
|
return tld.split(".")[0] || label;
|
package/dist/identity.cjs
CHANGED
|
@@ -46,10 +46,17 @@ var ORGS = {
|
|
|
46
46
|
org: "zoo",
|
|
47
47
|
name: "Zoo",
|
|
48
48
|
domain: "zoo.ngo",
|
|
49
|
-
// Zoo's
|
|
50
|
-
//
|
|
51
|
-
//
|
|
52
|
-
|
|
49
|
+
// Zoo's issuer is `zoolabs.id` — the one row where it is not `<org>.id`,
|
|
50
|
+
// and the one every hand-rolled branding map gets wrong. `id.zoo.network`
|
|
51
|
+
// ANSWERS, which is why it keeps being copied around, but it is an alias:
|
|
52
|
+
// its own discovery document advertises
|
|
53
|
+
// issuer https://zoolabs.id
|
|
54
|
+
// authorization_endpoint https://zoolabs.id/v1/iam/oauth/authorize
|
|
55
|
+
// jwks_uri https://zoolabs.id/v1/iam/.well-known/jwks
|
|
56
|
+
// so a client configured on the alias validates `iss` against a string the
|
|
57
|
+
// IdP never emits and rejects every token it is given — the exact shape of
|
|
58
|
+
// the lux.id outage. `zoo.id` is not an IdP at all (no discovery document).
|
|
59
|
+
iamDomain: "zoolabs.id",
|
|
53
60
|
accent: LUX_BRAND.zoo,
|
|
54
61
|
accentForeground: "#FFFFFF"
|
|
55
62
|
},
|
|
@@ -83,15 +90,18 @@ var DOMAIN_ORG = [
|
|
|
83
90
|
["lux.cloud", "lux"],
|
|
84
91
|
["lux.id", "lux"],
|
|
85
92
|
["lux.finance", "lux"],
|
|
93
|
+
["lux.market", "lux"],
|
|
94
|
+
["lux.exchange", "lux"],
|
|
86
95
|
["zoo.ngo", "zoo"],
|
|
87
96
|
["zoo.network", "zoo"],
|
|
88
97
|
["zoo.cloud", "zoo"],
|
|
89
|
-
["
|
|
98
|
+
["zoolabs.id", "zoo"],
|
|
90
99
|
["hanzo.ai", "hanzo"],
|
|
91
100
|
["hanzo.cloud", "hanzo"],
|
|
92
101
|
["hanzo.id", "hanzo"],
|
|
93
|
-
["pars.id", "pars"],
|
|
94
|
-
["
|
|
102
|
+
["pars.id", "pars", "app"],
|
|
103
|
+
["pars.network", "pars", "app"],
|
|
104
|
+
["parsdao.org", "pars", "app"],
|
|
95
105
|
["bootno.de", "bootnode", "platform"]
|
|
96
106
|
];
|
|
97
107
|
var DEFAULT_ORG = "lux";
|
|
@@ -111,11 +121,11 @@ function matchDomain(host) {
|
|
|
111
121
|
}
|
|
112
122
|
return best;
|
|
113
123
|
}
|
|
114
|
-
function appSlug(host, domain,
|
|
124
|
+
function appSlug(host, domain, pinned) {
|
|
125
|
+
if (pinned) return pinned;
|
|
115
126
|
const sub = host === domain ? "" : host.slice(0, -(domain.length + 1));
|
|
116
127
|
const leftmost = sub.split(".")[0] ?? "";
|
|
117
128
|
if (leftmost && leftmost !== "www") return leftmost;
|
|
118
|
-
if (apexApp) return apexApp;
|
|
119
129
|
const label = domain.split(".")[0] ?? "";
|
|
120
130
|
const tld = domain.split(".").slice(1).join(".");
|
|
121
131
|
return tld.split(".")[0] || label;
|
package/dist/identity.js
CHANGED
|
@@ -25,10 +25,17 @@ var ORGS = {
|
|
|
25
25
|
org: "zoo",
|
|
26
26
|
name: "Zoo",
|
|
27
27
|
domain: "zoo.ngo",
|
|
28
|
-
// Zoo's
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
|
|
28
|
+
// Zoo's issuer is `zoolabs.id` — the one row where it is not `<org>.id`,
|
|
29
|
+
// and the one every hand-rolled branding map gets wrong. `id.zoo.network`
|
|
30
|
+
// ANSWERS, which is why it keeps being copied around, but it is an alias:
|
|
31
|
+
// its own discovery document advertises
|
|
32
|
+
// issuer https://zoolabs.id
|
|
33
|
+
// authorization_endpoint https://zoolabs.id/v1/iam/oauth/authorize
|
|
34
|
+
// jwks_uri https://zoolabs.id/v1/iam/.well-known/jwks
|
|
35
|
+
// so a client configured on the alias validates `iss` against a string the
|
|
36
|
+
// IdP never emits and rejects every token it is given — the exact shape of
|
|
37
|
+
// the lux.id outage. `zoo.id` is not an IdP at all (no discovery document).
|
|
38
|
+
iamDomain: "zoolabs.id",
|
|
32
39
|
accent: LUX_BRAND.zoo,
|
|
33
40
|
accentForeground: "#FFFFFF"
|
|
34
41
|
},
|
|
@@ -62,15 +69,18 @@ var DOMAIN_ORG = [
|
|
|
62
69
|
["lux.cloud", "lux"],
|
|
63
70
|
["lux.id", "lux"],
|
|
64
71
|
["lux.finance", "lux"],
|
|
72
|
+
["lux.market", "lux"],
|
|
73
|
+
["lux.exchange", "lux"],
|
|
65
74
|
["zoo.ngo", "zoo"],
|
|
66
75
|
["zoo.network", "zoo"],
|
|
67
76
|
["zoo.cloud", "zoo"],
|
|
68
|
-
["
|
|
77
|
+
["zoolabs.id", "zoo"],
|
|
69
78
|
["hanzo.ai", "hanzo"],
|
|
70
79
|
["hanzo.cloud", "hanzo"],
|
|
71
80
|
["hanzo.id", "hanzo"],
|
|
72
|
-
["pars.id", "pars"],
|
|
73
|
-
["
|
|
81
|
+
["pars.id", "pars", "app"],
|
|
82
|
+
["pars.network", "pars", "app"],
|
|
83
|
+
["parsdao.org", "pars", "app"],
|
|
74
84
|
["bootno.de", "bootnode", "platform"]
|
|
75
85
|
];
|
|
76
86
|
var DEFAULT_ORG = "lux";
|
|
@@ -90,11 +100,11 @@ function matchDomain(host) {
|
|
|
90
100
|
}
|
|
91
101
|
return best;
|
|
92
102
|
}
|
|
93
|
-
function appSlug(host, domain,
|
|
103
|
+
function appSlug(host, domain, pinned) {
|
|
104
|
+
if (pinned) return pinned;
|
|
94
105
|
const sub = host === domain ? "" : host.slice(0, -(domain.length + 1));
|
|
95
106
|
const leftmost = sub.split(".")[0] ?? "";
|
|
96
107
|
if (leftmost && leftmost !== "www") return leftmost;
|
|
97
|
-
if (apexApp) return apexApp;
|
|
98
108
|
const label = domain.split(".")[0] ?? "";
|
|
99
109
|
const tld = domain.split(".").slice(1).join(".");
|
|
100
110
|
return tld.split(".")[0] || label;
|
package/dist/index.cjs
CHANGED
|
@@ -74,10 +74,17 @@ var ORGS = {
|
|
|
74
74
|
org: "zoo",
|
|
75
75
|
name: "Zoo",
|
|
76
76
|
domain: "zoo.ngo",
|
|
77
|
-
// Zoo's
|
|
78
|
-
//
|
|
79
|
-
//
|
|
80
|
-
|
|
77
|
+
// Zoo's issuer is `zoolabs.id` — the one row where it is not `<org>.id`,
|
|
78
|
+
// and the one every hand-rolled branding map gets wrong. `id.zoo.network`
|
|
79
|
+
// ANSWERS, which is why it keeps being copied around, but it is an alias:
|
|
80
|
+
// its own discovery document advertises
|
|
81
|
+
// issuer https://zoolabs.id
|
|
82
|
+
// authorization_endpoint https://zoolabs.id/v1/iam/oauth/authorize
|
|
83
|
+
// jwks_uri https://zoolabs.id/v1/iam/.well-known/jwks
|
|
84
|
+
// so a client configured on the alias validates `iss` against a string the
|
|
85
|
+
// IdP never emits and rejects every token it is given — the exact shape of
|
|
86
|
+
// the lux.id outage. `zoo.id` is not an IdP at all (no discovery document).
|
|
87
|
+
iamDomain: "zoolabs.id",
|
|
81
88
|
accent: LUX_BRAND.zoo,
|
|
82
89
|
accentForeground: "#FFFFFF"
|
|
83
90
|
},
|
|
@@ -111,15 +118,18 @@ var DOMAIN_ORG = [
|
|
|
111
118
|
["lux.cloud", "lux"],
|
|
112
119
|
["lux.id", "lux"],
|
|
113
120
|
["lux.finance", "lux"],
|
|
121
|
+
["lux.market", "lux"],
|
|
122
|
+
["lux.exchange", "lux"],
|
|
114
123
|
["zoo.ngo", "zoo"],
|
|
115
124
|
["zoo.network", "zoo"],
|
|
116
125
|
["zoo.cloud", "zoo"],
|
|
117
|
-
["
|
|
126
|
+
["zoolabs.id", "zoo"],
|
|
118
127
|
["hanzo.ai", "hanzo"],
|
|
119
128
|
["hanzo.cloud", "hanzo"],
|
|
120
129
|
["hanzo.id", "hanzo"],
|
|
121
|
-
["pars.id", "pars"],
|
|
122
|
-
["
|
|
130
|
+
["pars.id", "pars", "app"],
|
|
131
|
+
["pars.network", "pars", "app"],
|
|
132
|
+
["parsdao.org", "pars", "app"],
|
|
123
133
|
["bootno.de", "bootnode", "platform"]
|
|
124
134
|
];
|
|
125
135
|
var DEFAULT_ORG = "lux";
|
|
@@ -139,11 +149,11 @@ function matchDomain(host) {
|
|
|
139
149
|
}
|
|
140
150
|
return best;
|
|
141
151
|
}
|
|
142
|
-
function appSlug(host, domain,
|
|
152
|
+
function appSlug(host, domain, pinned) {
|
|
153
|
+
if (pinned) return pinned;
|
|
143
154
|
const sub = host === domain ? "" : host.slice(0, -(domain.length + 1));
|
|
144
155
|
const leftmost = sub.split(".")[0] ?? "";
|
|
145
156
|
if (leftmost && leftmost !== "www") return leftmost;
|
|
146
|
-
if (apexApp) return apexApp;
|
|
147
157
|
const label = domain.split(".")[0] ?? "";
|
|
148
158
|
const tld = domain.split(".").slice(1).join(".");
|
|
149
159
|
return tld.split(".")[0] || label;
|
|
@@ -1925,8 +1935,8 @@ var Tooltip = React33__namespace.forwardRef(
|
|
|
1925
1935
|
}, nextOpen ? openDelay : closeDelay);
|
|
1926
1936
|
}, [closeDelay, openDelay, onOpenChange]);
|
|
1927
1937
|
const handleClickAway = React33__namespace.useCallback(() => {
|
|
1928
|
-
handleOpenChangeManual(false);
|
|
1929
|
-
}, [handleOpenChangeManual]);
|
|
1938
|
+
if (open) handleOpenChangeManual(false);
|
|
1939
|
+
}, [open, handleOpenChangeManual]);
|
|
1930
1940
|
const triggerRef = usehooks.useClickAway(handleClickAway);
|
|
1931
1941
|
const handleTriggerClick = React33__namespace.useCallback(() => {
|
|
1932
1942
|
handleOpenChangeManual(!open);
|
|
@@ -1966,7 +1976,7 @@ var Tooltip = React33__namespace.forwardRef(
|
|
|
1966
1976
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1967
1977
|
gui.Tooltip.Trigger,
|
|
1968
1978
|
{
|
|
1969
|
-
ref:
|
|
1979
|
+
ref: triggerRef,
|
|
1970
1980
|
asChild: true,
|
|
1971
1981
|
...isMobile ? { onPress: handleTriggerClick } : {},
|
|
1972
1982
|
...triggerProps,
|
package/dist/index.js
CHANGED
|
@@ -46,10 +46,17 @@ var ORGS = {
|
|
|
46
46
|
org: "zoo",
|
|
47
47
|
name: "Zoo",
|
|
48
48
|
domain: "zoo.ngo",
|
|
49
|
-
// Zoo's
|
|
50
|
-
//
|
|
51
|
-
//
|
|
52
|
-
|
|
49
|
+
// Zoo's issuer is `zoolabs.id` — the one row where it is not `<org>.id`,
|
|
50
|
+
// and the one every hand-rolled branding map gets wrong. `id.zoo.network`
|
|
51
|
+
// ANSWERS, which is why it keeps being copied around, but it is an alias:
|
|
52
|
+
// its own discovery document advertises
|
|
53
|
+
// issuer https://zoolabs.id
|
|
54
|
+
// authorization_endpoint https://zoolabs.id/v1/iam/oauth/authorize
|
|
55
|
+
// jwks_uri https://zoolabs.id/v1/iam/.well-known/jwks
|
|
56
|
+
// so a client configured on the alias validates `iss` against a string the
|
|
57
|
+
// IdP never emits and rejects every token it is given — the exact shape of
|
|
58
|
+
// the lux.id outage. `zoo.id` is not an IdP at all (no discovery document).
|
|
59
|
+
iamDomain: "zoolabs.id",
|
|
53
60
|
accent: LUX_BRAND.zoo,
|
|
54
61
|
accentForeground: "#FFFFFF"
|
|
55
62
|
},
|
|
@@ -83,15 +90,18 @@ var DOMAIN_ORG = [
|
|
|
83
90
|
["lux.cloud", "lux"],
|
|
84
91
|
["lux.id", "lux"],
|
|
85
92
|
["lux.finance", "lux"],
|
|
93
|
+
["lux.market", "lux"],
|
|
94
|
+
["lux.exchange", "lux"],
|
|
86
95
|
["zoo.ngo", "zoo"],
|
|
87
96
|
["zoo.network", "zoo"],
|
|
88
97
|
["zoo.cloud", "zoo"],
|
|
89
|
-
["
|
|
98
|
+
["zoolabs.id", "zoo"],
|
|
90
99
|
["hanzo.ai", "hanzo"],
|
|
91
100
|
["hanzo.cloud", "hanzo"],
|
|
92
101
|
["hanzo.id", "hanzo"],
|
|
93
|
-
["pars.id", "pars"],
|
|
94
|
-
["
|
|
102
|
+
["pars.id", "pars", "app"],
|
|
103
|
+
["pars.network", "pars", "app"],
|
|
104
|
+
["parsdao.org", "pars", "app"],
|
|
95
105
|
["bootno.de", "bootnode", "platform"]
|
|
96
106
|
];
|
|
97
107
|
var DEFAULT_ORG = "lux";
|
|
@@ -111,11 +121,11 @@ function matchDomain(host) {
|
|
|
111
121
|
}
|
|
112
122
|
return best;
|
|
113
123
|
}
|
|
114
|
-
function appSlug(host, domain,
|
|
124
|
+
function appSlug(host, domain, pinned) {
|
|
125
|
+
if (pinned) return pinned;
|
|
115
126
|
const sub = host === domain ? "" : host.slice(0, -(domain.length + 1));
|
|
116
127
|
const leftmost = sub.split(".")[0] ?? "";
|
|
117
128
|
if (leftmost && leftmost !== "www") return leftmost;
|
|
118
|
-
if (apexApp) return apexApp;
|
|
119
129
|
const label = domain.split(".")[0] ?? "";
|
|
120
130
|
const tld = domain.split(".").slice(1).join(".");
|
|
121
131
|
return tld.split(".")[0] || label;
|
|
@@ -1897,8 +1907,8 @@ var Tooltip = React33.forwardRef(
|
|
|
1897
1907
|
}, nextOpen ? openDelay : closeDelay);
|
|
1898
1908
|
}, [closeDelay, openDelay, onOpenChange]);
|
|
1899
1909
|
const handleClickAway = React33.useCallback(() => {
|
|
1900
|
-
handleOpenChangeManual(false);
|
|
1901
|
-
}, [handleOpenChangeManual]);
|
|
1910
|
+
if (open) handleOpenChangeManual(false);
|
|
1911
|
+
}, [open, handleOpenChangeManual]);
|
|
1902
1912
|
const triggerRef = useClickAway(handleClickAway);
|
|
1903
1913
|
const handleTriggerClick = React33.useCallback(() => {
|
|
1904
1914
|
handleOpenChangeManual(!open);
|
|
@@ -1938,7 +1948,7 @@ var Tooltip = React33.forwardRef(
|
|
|
1938
1948
|
/* @__PURE__ */ jsx(
|
|
1939
1949
|
Tooltip$1.Trigger,
|
|
1940
1950
|
{
|
|
1941
|
-
ref:
|
|
1951
|
+
ref: triggerRef,
|
|
1942
1952
|
asChild: true,
|
|
1943
1953
|
...isMobile ? { onPress: handleTriggerClick } : {},
|
|
1944
1954
|
...triggerProps,
|
package/dist/next.cjs
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
4
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
5
|
+
}) : x)(function(x) {
|
|
6
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
7
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
// src/engine.ts
|
|
4
11
|
var GUI_PACKAGES = [
|
|
5
12
|
"@hanzo/gui",
|
|
6
13
|
"@hanzogui/accordion",
|
|
@@ -21,11 +28,16 @@ var GUI_PACKAGES = [
|
|
|
21
28
|
"@hanzogui/create-context",
|
|
22
29
|
"@hanzogui/create-menu",
|
|
23
30
|
"@hanzogui/dialog",
|
|
31
|
+
"@hanzogui/dismissable",
|
|
24
32
|
"@hanzogui/element",
|
|
25
33
|
"@hanzogui/elements",
|
|
34
|
+
"@hanzogui/floating",
|
|
35
|
+
"@hanzogui/focus-scope",
|
|
26
36
|
"@hanzogui/font-size",
|
|
27
37
|
"@hanzogui/form",
|
|
38
|
+
"@hanzogui/get-token",
|
|
28
39
|
"@hanzogui/group",
|
|
40
|
+
"@hanzogui/helpers",
|
|
29
41
|
"@hanzogui/image",
|
|
30
42
|
"@hanzogui/input",
|
|
31
43
|
"@hanzogui/label",
|
|
@@ -37,6 +49,7 @@ var GUI_PACKAGES = [
|
|
|
37
49
|
"@hanzogui/progress",
|
|
38
50
|
"@hanzogui/radio-group",
|
|
39
51
|
"@hanzogui/react-native-media-driver",
|
|
52
|
+
"@hanzogui/remove-scroll",
|
|
40
53
|
"@hanzogui/scroll-view",
|
|
41
54
|
"@hanzogui/select",
|
|
42
55
|
"@hanzogui/separator",
|
|
@@ -56,19 +69,37 @@ var GUI_PACKAGES = [
|
|
|
56
69
|
"@hanzogui/use-controllable-state",
|
|
57
70
|
"@hanzogui/use-debounce",
|
|
58
71
|
"@hanzogui/use-force-update",
|
|
72
|
+
"@hanzogui/use-presence",
|
|
59
73
|
"@hanzogui/use-window-dimensions",
|
|
60
74
|
"@hanzogui/visually-hidden",
|
|
61
75
|
"@hanzogui/web",
|
|
76
|
+
"@hanzogui/z-index-stack",
|
|
62
77
|
"@luxfi/ui"
|
|
63
78
|
];
|
|
64
|
-
var
|
|
79
|
+
var GUI_DEFINES = {
|
|
65
80
|
"process.env.EXPO_OS": JSON.stringify("web"),
|
|
66
81
|
"process.env.IS_WEB": JSON.stringify("true")
|
|
67
82
|
};
|
|
83
|
+
function guiAliases(from) {
|
|
84
|
+
const { createRequire } = __require("module");
|
|
85
|
+
const require_ = createRequire(`${from.replace(/\/?$/, "/")}noop.js`);
|
|
86
|
+
const alias = {};
|
|
87
|
+
for (const pkg of GUI_PACKAGES) {
|
|
88
|
+
try {
|
|
89
|
+
alias[`${pkg}$`] = require_.resolve(pkg);
|
|
90
|
+
} catch {
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return alias;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// src/next.ts
|
|
68
97
|
function withLuxUi(config = {}) {
|
|
69
98
|
const userWebpack = config.webpack;
|
|
99
|
+
const engine = guiAliases(config.dir ?? process.cwd());
|
|
100
|
+
const { dir: _dir, ...rest } = config;
|
|
70
101
|
return {
|
|
71
|
-
...
|
|
102
|
+
...rest,
|
|
72
103
|
transpilePackages: [.../* @__PURE__ */ new Set([...config.transpilePackages ?? [], ...GUI_PACKAGES])],
|
|
73
104
|
turbopack: {
|
|
74
105
|
...config.turbopack,
|
|
@@ -84,11 +115,13 @@ function withLuxUi(config = {}) {
|
|
|
84
115
|
const next = userWebpack ? userWebpack(webpackConfig, context) : webpackConfig;
|
|
85
116
|
next.resolve = {
|
|
86
117
|
...next.resolve,
|
|
87
|
-
|
|
118
|
+
// The app's own aliases win — an app pinning a package on purpose is not
|
|
119
|
+
// something the umbrella should override.
|
|
120
|
+
alias: { "react-native$": "react-native-web", ...engine, ...next.resolve?.alias }
|
|
88
121
|
};
|
|
89
122
|
const webpackModule = context?.webpack;
|
|
90
123
|
if (webpackModule?.DefinePlugin) {
|
|
91
|
-
next.plugins = [...next.plugins ?? [], new webpackModule.DefinePlugin(
|
|
124
|
+
next.plugins = [...next.plugins ?? [], new webpackModule.DefinePlugin({ ...GUI_DEFINES })];
|
|
92
125
|
}
|
|
93
126
|
return next;
|
|
94
127
|
}
|
package/dist/next.d.cts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** Every package `@hanzo/gui` re-exports — the engine, in full. */
|
|
2
|
-
declare const GUI_PACKAGES: string
|
|
2
|
+
declare const GUI_PACKAGES: ReadonlyArray<string>;
|
|
3
|
+
|
|
3
4
|
interface WebpackConfig {
|
|
4
5
|
resolve?: {
|
|
5
6
|
alias?: Record<string, unknown>;
|
|
@@ -9,6 +10,8 @@ interface WebpackConfig {
|
|
|
9
10
|
}
|
|
10
11
|
/** The structural slice of a Next config this wrapper touches. */
|
|
11
12
|
interface LuxUiNextConfig {
|
|
13
|
+
/** App root, for resolving the engine's single copy. Defaults to `cwd`. */
|
|
14
|
+
dir?: string;
|
|
12
15
|
transpilePackages?: Array<string>;
|
|
13
16
|
turbopack?: {
|
|
14
17
|
resolveAlias?: Record<string, string>;
|