@luxfi/ui 7.4.0 → 7.4.2
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/avatar.cjs +7 -6
- package/dist/avatar.js +7 -5
- package/dist/badge.cjs +30 -32
- package/dist/badge.js +30 -32
- package/dist/bank.d.cts +3 -3
- package/dist/bank.d.ts +3 -3
- package/dist/checkbox.cjs +4 -4
- package/dist/checkbox.d.cts +3 -2
- package/dist/checkbox.d.ts +3 -2
- package/dist/checkbox.js +5 -4
- package/dist/chrome.cjs +950 -0
- package/dist/chrome.d.cts +93 -0
- package/dist/chrome.d.ts +93 -0
- package/dist/chrome.js +921 -0
- package/dist/drawer.cjs +86 -20
- package/dist/drawer.js +85 -19
- package/dist/expiration-selector.cjs +3 -2
- package/dist/expiration-selector.js +3 -2
- package/dist/greeks-display.cjs +6 -6
- package/dist/greeks-display.js +6 -6
- package/dist/gui.cjs +13 -0
- package/dist/gui.d.cts +2 -0
- package/dist/gui.d.ts +2 -0
- package/dist/gui.js +2 -0
- package/dist/heading.cjs +4 -2
- package/dist/heading.js +4 -2
- package/dist/iam.cjs +206 -0
- package/dist/iam.d.cts +65 -0
- package/dist/iam.d.ts +65 -0
- package/dist/iam.js +201 -0
- package/dist/icons.cjs +13 -0
- package/dist/icons.d.cts +1 -0
- package/dist/icons.d.ts +1 -0
- package/dist/icons.js +2 -0
- package/dist/identity.cjs +420 -0
- package/dist/identity.d.cts +64 -0
- package/dist/identity.d.ts +64 -0
- package/dist/identity.js +398 -0
- package/dist/index.cjs +1597 -833
- package/dist/index.d.cts +7 -3
- package/dist/index.d.ts +7 -3
- package/dist/index.js +1574 -828
- package/dist/input.cjs +3 -1
- package/dist/input.d.cts +3 -5
- package/dist/input.d.ts +3 -5
- package/dist/input.js +3 -1
- package/dist/lux.config.cjs +23 -2
- package/dist/lux.config.d.cts +28 -10
- package/dist/lux.config.d.ts +28 -10
- package/dist/lux.config.js +23 -2
- package/dist/menu.cjs +4 -4
- package/dist/menu.js +4 -4
- package/dist/next.cjs +99 -0
- package/dist/next.d.cts +29 -0
- package/dist/next.d.ts +29 -0
- package/dist/next.js +96 -0
- package/dist/option-chain.cjs +1 -1
- package/dist/option-chain.js +1 -1
- package/dist/option-position.cjs +2 -1
- package/dist/option-position.js +2 -1
- package/dist/pnl-diagram.cjs +8 -6
- package/dist/pnl-diagram.js +8 -6
- package/dist/progress.cjs +7 -6
- package/dist/progress.js +7 -5
- package/dist/provider.cjs +136 -4
- package/dist/provider.d.cts +15 -3
- package/dist/provider.d.ts +15 -3
- package/dist/provider.js +136 -5
- package/dist/radio.cjs +9 -7
- package/dist/radio.js +10 -7
- package/dist/separator.cjs +3 -1
- package/dist/separator.js +3 -1
- package/dist/slider.cjs +28 -16
- package/dist/slider.js +28 -15
- package/dist/strategy-builder.cjs +2 -1
- package/dist/strategy-builder.js +2 -1
- package/dist/switch.cjs +11 -12
- package/dist/switch.js +12 -12
- package/dist/tag.cjs +31 -33
- package/dist/tag.js +30 -32
- package/dist/textarea.cjs +3 -1
- package/dist/textarea.js +3 -1
- package/dist/tooltip.cjs +25 -27
- package/dist/tooltip.js +24 -26
- package/dist/use-narrow.cjs +46 -0
- package/dist/use-narrow.d.cts +12 -0
- package/dist/use-narrow.d.ts +12 -0
- package/dist/use-narrow.js +20 -0
- package/dist/vite.cjs +40 -0
- package/dist/vite.d.cts +29 -0
- package/dist/vite.d.ts +29 -0
- package/dist/vite.js +38 -0
- package/dist/white-label.cjs +132 -0
- package/dist/white-label.d.cts +59 -0
- package/dist/white-label.d.ts +59 -0
- package/dist/white-label.js +124 -0
- package/package.json +85 -19
- package/src/avatar.tsx +22 -16
- package/src/checkbox.tsx +15 -10
- package/src/chrome.tsx +459 -0
- package/src/drawer.tsx +83 -10
- package/src/expiration-selector.tsx +3 -2
- package/src/greeks-display.tsx +9 -6
- package/src/gui.ts +17 -0
- package/src/heading.tsx +12 -8
- package/src/iam.ts +170 -0
- package/src/icons.ts +18 -0
- package/src/identity.tsx +318 -0
- package/src/index.ts +44 -1
- package/src/input.tsx +13 -9
- package/src/lux.config.ts +16 -15
- package/src/menu.tsx +4 -4
- package/src/next.ts +142 -0
- package/src/option-chain.tsx +1 -1
- package/src/option-position.tsx +2 -1
- package/src/pnl-diagram.tsx +11 -6
- package/src/progress.tsx +15 -8
- package/src/provider.tsx +48 -7
- package/src/radio.tsx +15 -11
- package/src/separator.tsx +8 -3
- package/src/slider.tsx +35 -19
- package/src/strategy-builder.tsx +3 -2
- package/src/switch.tsx +17 -16
- package/src/textarea.tsx +8 -4
- package/src/tooltip.tsx +2 -21
- package/src/use-narrow.ts +40 -0
- package/src/vite.ts +78 -0
- package/src/white-label.ts +240 -0
- package/tokens.css +544 -319
- package/src/tokens.css +0 -438
package/dist/input.cjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
var gui = require('@hanzo/gui');
|
|
4
5
|
var React = require('react');
|
|
5
6
|
var clsx = require('clsx');
|
|
6
7
|
var tailwindMerge = require('tailwind-merge');
|
|
@@ -47,9 +48,10 @@ var Input = React__default.default.forwardRef(
|
|
|
47
48
|
[onChange, onChangeText]
|
|
48
49
|
);
|
|
49
50
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
50
|
-
|
|
51
|
+
gui.Input,
|
|
51
52
|
{
|
|
52
53
|
ref,
|
|
54
|
+
unstyled: true,
|
|
53
55
|
className: cn(INPUT_BASE, INPUT_SIZE_CLASSES[size], INPUT_VARIANT_CLASSES[variant], className),
|
|
54
56
|
...rest,
|
|
55
57
|
onChange: handleChange
|
package/dist/input.d.cts
CHANGED
|
@@ -6,11 +6,9 @@ interface InputProps extends Omit<React__default.ComponentPropsWithRef<'input'>,
|
|
|
6
6
|
readonly size?: InputSize;
|
|
7
7
|
readonly variant?: InputVariant;
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* bridge, RN/Tamagui-style code (e.g. seed-phrase / PIN entry ported from a
|
|
13
|
-
* gui-based surface) passes `onChangeText` and the field silently no-ops.
|
|
9
|
+
* React-Native convention: called with the text value on every change. The gui
|
|
10
|
+
* Input raises it natively; on web we bridge it off `onChange`, so callers
|
|
11
|
+
* using EITHER API get updates on either platform.
|
|
14
12
|
*/
|
|
15
13
|
readonly onChangeText?: (text: string) => void;
|
|
16
14
|
}
|
package/dist/input.d.ts
CHANGED
|
@@ -6,11 +6,9 @@ interface InputProps extends Omit<React__default.ComponentPropsWithRef<'input'>,
|
|
|
6
6
|
readonly size?: InputSize;
|
|
7
7
|
readonly variant?: InputVariant;
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* bridge, RN/Tamagui-style code (e.g. seed-phrase / PIN entry ported from a
|
|
13
|
-
* gui-based surface) passes `onChangeText` and the field silently no-ops.
|
|
9
|
+
* React-Native convention: called with the text value on every change. The gui
|
|
10
|
+
* Input raises it natively; on web we bridge it off `onChange`, so callers
|
|
11
|
+
* using EITHER API get updates on either platform.
|
|
14
12
|
*/
|
|
15
13
|
readonly onChangeText?: (text: string) => void;
|
|
16
14
|
}
|
package/dist/input.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { Input as Input$1 } from '@hanzo/gui';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import { clsx } from 'clsx';
|
|
4
5
|
import { twMerge } from 'tailwind-merge';
|
|
@@ -41,9 +42,10 @@ var Input = React.forwardRef(
|
|
|
41
42
|
[onChange, onChangeText]
|
|
42
43
|
);
|
|
43
44
|
return /* @__PURE__ */ jsx(
|
|
44
|
-
|
|
45
|
+
Input$1,
|
|
45
46
|
{
|
|
46
47
|
ref,
|
|
48
|
+
unstyled: true,
|
|
47
49
|
className: cn(INPUT_BASE, INPUT_SIZE_CLASSES[size], INPUT_VARIANT_CLASSES[variant], className),
|
|
48
50
|
...rest,
|
|
49
51
|
onChange: handleChange
|
package/dist/lux.config.cjs
CHANGED
|
@@ -5,14 +5,33 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
|
|
6
6
|
var gui = require('@hanzo/gui');
|
|
7
7
|
var v5 = require('@hanzogui/config/v5');
|
|
8
|
+
var v5Css = require('@hanzogui/config/v5-css');
|
|
8
9
|
|
|
10
|
+
// src/white-label.ts
|
|
9
11
|
var LUX_BRAND = {
|
|
10
12
|
lux: "#7000FF",
|
|
11
13
|
zoo: "#6C5EFB",
|
|
12
14
|
hanzo: "#EA580C",
|
|
13
|
-
pars: "#1C3879"
|
|
15
|
+
pars: "#1C3879",
|
|
16
|
+
// bootno.de is its own white label with its own IdP (id.bootno.de) — accent
|
|
17
|
+
// taken from the bootnode console's own brand default, not invented here.
|
|
18
|
+
bootnode: "#3B82F6"
|
|
14
19
|
};
|
|
15
20
|
var PARS_GOLD = "#C8A45C";
|
|
21
|
+
({
|
|
22
|
+
lux: {
|
|
23
|
+
accent: LUX_BRAND.lux},
|
|
24
|
+
zoo: {
|
|
25
|
+
accent: LUX_BRAND.zoo},
|
|
26
|
+
bootnode: {
|
|
27
|
+
accent: LUX_BRAND.lux},
|
|
28
|
+
hanzo: {
|
|
29
|
+
accent: LUX_BRAND.hanzo},
|
|
30
|
+
pars: {
|
|
31
|
+
accent: LUX_BRAND.pars}
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
// src/lux.config.ts
|
|
16
35
|
var TRUE_BLACK = "#000000";
|
|
17
36
|
var darkBase = {
|
|
18
37
|
...v5.defaultConfig.themes.dark,
|
|
@@ -34,10 +53,12 @@ var luxThemes = {
|
|
|
34
53
|
dark_lux: brandTheme(LUX_BRAND.lux),
|
|
35
54
|
dark_zoo: brandTheme(LUX_BRAND.zoo),
|
|
36
55
|
dark_hanzo: brandTheme(LUX_BRAND.hanzo),
|
|
37
|
-
dark_pars: brandTheme(LUX_BRAND.pars, { accentColor: PARS_GOLD })
|
|
56
|
+
dark_pars: brandTheme(LUX_BRAND.pars, { accentColor: PARS_GOLD }),
|
|
57
|
+
dark_bootnode: brandTheme(LUX_BRAND.bootnode)
|
|
38
58
|
};
|
|
39
59
|
var config = gui.createGui({
|
|
40
60
|
...v5.defaultConfig,
|
|
61
|
+
animations: v5Css.animations,
|
|
41
62
|
settings: {
|
|
42
63
|
...v5.defaultConfig.settings,
|
|
43
64
|
onlyAllowShorthands: false
|
package/dist/lux.config.d.cts
CHANGED
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
import * as _hanzogui_web from '@hanzogui/web';
|
|
2
2
|
import * as _hanzogui_themes_v5 from '@hanzogui/themes/v5';
|
|
3
|
+
export { LUX_BRAND, LuxBrand, PARS_GOLD } from './white-label.cjs';
|
|
3
4
|
|
|
4
|
-
declare const LUX_BRAND: {
|
|
5
|
-
readonly lux: "#7000FF";
|
|
6
|
-
readonly zoo: "#6C5EFB";
|
|
7
|
-
readonly hanzo: "#EA580C";
|
|
8
|
-
readonly pars: "#1C3879";
|
|
9
|
-
};
|
|
10
|
-
declare const PARS_GOLD = "#C8A45C";
|
|
11
|
-
type LuxBrand = keyof typeof LUX_BRAND;
|
|
12
5
|
declare const luxThemes: {
|
|
13
6
|
dark: _hanzogui_themes_v5.V5Theme;
|
|
14
7
|
dark_lux: _hanzogui_themes_v5.V5Theme;
|
|
15
8
|
dark_zoo: _hanzogui_themes_v5.V5Theme;
|
|
16
9
|
dark_hanzo: _hanzogui_themes_v5.V5Theme;
|
|
17
10
|
dark_pars: _hanzogui_themes_v5.V5Theme;
|
|
11
|
+
dark_bootnode: _hanzogui_themes_v5.V5Theme;
|
|
18
12
|
};
|
|
19
13
|
declare const config: _hanzogui_web.GuiInternalConfig<{
|
|
20
14
|
readonly radius: {
|
|
@@ -137,6 +131,7 @@ declare const config: _hanzogui_web.GuiInternalConfig<{
|
|
|
137
131
|
dark_zoo: _hanzogui_themes_v5.V5Theme;
|
|
138
132
|
dark_hanzo: _hanzogui_themes_v5.V5Theme;
|
|
139
133
|
dark_pars: _hanzogui_themes_v5.V5Theme;
|
|
134
|
+
dark_bootnode: _hanzogui_themes_v5.V5Theme;
|
|
140
135
|
light: _hanzogui_themes_v5.V5Theme;
|
|
141
136
|
light_accent: _hanzogui_themes_v5.V5Theme;
|
|
142
137
|
dark_accent: _hanzogui_themes_v5.V5Theme;
|
|
@@ -368,7 +363,30 @@ declare const config: _hanzogui_web.GuiInternalConfig<{
|
|
|
368
363
|
readonly 'height-lg': {
|
|
369
364
|
readonly minHeight: number;
|
|
370
365
|
};
|
|
371
|
-
}, {
|
|
366
|
+
}, {
|
|
367
|
+
'0ms': string;
|
|
368
|
+
'50ms': string;
|
|
369
|
+
'75ms': string;
|
|
370
|
+
'100ms': string;
|
|
371
|
+
'200ms': string;
|
|
372
|
+
'250ms': string;
|
|
373
|
+
'300ms': string;
|
|
374
|
+
'400ms': string;
|
|
375
|
+
'500ms': string;
|
|
376
|
+
superBouncy: string;
|
|
377
|
+
bouncy: string;
|
|
378
|
+
superLazy: string;
|
|
379
|
+
lazy: string;
|
|
380
|
+
medium: string;
|
|
381
|
+
slowest: string;
|
|
382
|
+
slow: string;
|
|
383
|
+
quick: string;
|
|
384
|
+
quickLessBouncy: string;
|
|
385
|
+
quicker: string;
|
|
386
|
+
quickerLessBouncy: string;
|
|
387
|
+
quickest: string;
|
|
388
|
+
quickestLessBouncy: string;
|
|
389
|
+
}, {
|
|
372
390
|
body: _hanzogui_web.FillInFont<_hanzogui_web.GenericFont, 9 | 15 | 1 | 10 | 3 | 2 | 5 | 6 | 16 | 11 | 12 | 14 | 4 | 7 | 8 | 13 | "true">;
|
|
373
391
|
heading: _hanzogui_web.FillInFont<_hanzogui_web.GenericFont, 9 | 15 | 1 | 10 | 3 | 2 | 5 | 6 | 16 | 11 | 12 | 14 | 4 | 7 | 8 | 13 | "true">;
|
|
374
392
|
}, {
|
|
@@ -412,4 +430,4 @@ declare module '@hanzo/gui' {
|
|
|
412
430
|
}
|
|
413
431
|
}
|
|
414
432
|
|
|
415
|
-
export { type Conf,
|
|
433
|
+
export { type Conf, config, config as default, luxThemes };
|
package/dist/lux.config.d.ts
CHANGED
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
import * as _hanzogui_web from '@hanzogui/web';
|
|
2
2
|
import * as _hanzogui_themes_v5 from '@hanzogui/themes/v5';
|
|
3
|
+
export { LUX_BRAND, LuxBrand, PARS_GOLD } from './white-label.js';
|
|
3
4
|
|
|
4
|
-
declare const LUX_BRAND: {
|
|
5
|
-
readonly lux: "#7000FF";
|
|
6
|
-
readonly zoo: "#6C5EFB";
|
|
7
|
-
readonly hanzo: "#EA580C";
|
|
8
|
-
readonly pars: "#1C3879";
|
|
9
|
-
};
|
|
10
|
-
declare const PARS_GOLD = "#C8A45C";
|
|
11
|
-
type LuxBrand = keyof typeof LUX_BRAND;
|
|
12
5
|
declare const luxThemes: {
|
|
13
6
|
dark: _hanzogui_themes_v5.V5Theme;
|
|
14
7
|
dark_lux: _hanzogui_themes_v5.V5Theme;
|
|
15
8
|
dark_zoo: _hanzogui_themes_v5.V5Theme;
|
|
16
9
|
dark_hanzo: _hanzogui_themes_v5.V5Theme;
|
|
17
10
|
dark_pars: _hanzogui_themes_v5.V5Theme;
|
|
11
|
+
dark_bootnode: _hanzogui_themes_v5.V5Theme;
|
|
18
12
|
};
|
|
19
13
|
declare const config: _hanzogui_web.GuiInternalConfig<{
|
|
20
14
|
readonly radius: {
|
|
@@ -137,6 +131,7 @@ declare const config: _hanzogui_web.GuiInternalConfig<{
|
|
|
137
131
|
dark_zoo: _hanzogui_themes_v5.V5Theme;
|
|
138
132
|
dark_hanzo: _hanzogui_themes_v5.V5Theme;
|
|
139
133
|
dark_pars: _hanzogui_themes_v5.V5Theme;
|
|
134
|
+
dark_bootnode: _hanzogui_themes_v5.V5Theme;
|
|
140
135
|
light: _hanzogui_themes_v5.V5Theme;
|
|
141
136
|
light_accent: _hanzogui_themes_v5.V5Theme;
|
|
142
137
|
dark_accent: _hanzogui_themes_v5.V5Theme;
|
|
@@ -368,7 +363,30 @@ declare const config: _hanzogui_web.GuiInternalConfig<{
|
|
|
368
363
|
readonly 'height-lg': {
|
|
369
364
|
readonly minHeight: number;
|
|
370
365
|
};
|
|
371
|
-
}, {
|
|
366
|
+
}, {
|
|
367
|
+
'0ms': string;
|
|
368
|
+
'50ms': string;
|
|
369
|
+
'75ms': string;
|
|
370
|
+
'100ms': string;
|
|
371
|
+
'200ms': string;
|
|
372
|
+
'250ms': string;
|
|
373
|
+
'300ms': string;
|
|
374
|
+
'400ms': string;
|
|
375
|
+
'500ms': string;
|
|
376
|
+
superBouncy: string;
|
|
377
|
+
bouncy: string;
|
|
378
|
+
superLazy: string;
|
|
379
|
+
lazy: string;
|
|
380
|
+
medium: string;
|
|
381
|
+
slowest: string;
|
|
382
|
+
slow: string;
|
|
383
|
+
quick: string;
|
|
384
|
+
quickLessBouncy: string;
|
|
385
|
+
quicker: string;
|
|
386
|
+
quickerLessBouncy: string;
|
|
387
|
+
quickest: string;
|
|
388
|
+
quickestLessBouncy: string;
|
|
389
|
+
}, {
|
|
372
390
|
body: _hanzogui_web.FillInFont<_hanzogui_web.GenericFont, 9 | 15 | 1 | 10 | 3 | 2 | 5 | 6 | 16 | 11 | 12 | 14 | 4 | 7 | 8 | 13 | "true">;
|
|
373
391
|
heading: _hanzogui_web.FillInFont<_hanzogui_web.GenericFont, 9 | 15 | 1 | 10 | 3 | 2 | 5 | 6 | 16 | 11 | 12 | 14 | 4 | 7 | 8 | 13 | "true">;
|
|
374
392
|
}, {
|
|
@@ -412,4 +430,4 @@ declare module '@hanzo/gui' {
|
|
|
412
430
|
}
|
|
413
431
|
}
|
|
414
432
|
|
|
415
|
-
export { type Conf,
|
|
433
|
+
export { type Conf, config, config as default, luxThemes };
|
package/dist/lux.config.js
CHANGED
|
@@ -1,14 +1,33 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { createGui } from '@hanzo/gui';
|
|
3
3
|
import { defaultConfig } from '@hanzogui/config/v5';
|
|
4
|
+
import { animations } from '@hanzogui/config/v5-css';
|
|
4
5
|
|
|
6
|
+
// src/white-label.ts
|
|
5
7
|
var LUX_BRAND = {
|
|
6
8
|
lux: "#7000FF",
|
|
7
9
|
zoo: "#6C5EFB",
|
|
8
10
|
hanzo: "#EA580C",
|
|
9
|
-
pars: "#1C3879"
|
|
11
|
+
pars: "#1C3879",
|
|
12
|
+
// bootno.de is its own white label with its own IdP (id.bootno.de) — accent
|
|
13
|
+
// taken from the bootnode console's own brand default, not invented here.
|
|
14
|
+
bootnode: "#3B82F6"
|
|
10
15
|
};
|
|
11
16
|
var PARS_GOLD = "#C8A45C";
|
|
17
|
+
({
|
|
18
|
+
lux: {
|
|
19
|
+
accent: LUX_BRAND.lux},
|
|
20
|
+
zoo: {
|
|
21
|
+
accent: LUX_BRAND.zoo},
|
|
22
|
+
bootnode: {
|
|
23
|
+
accent: LUX_BRAND.lux},
|
|
24
|
+
hanzo: {
|
|
25
|
+
accent: LUX_BRAND.hanzo},
|
|
26
|
+
pars: {
|
|
27
|
+
accent: LUX_BRAND.pars}
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// src/lux.config.ts
|
|
12
31
|
var TRUE_BLACK = "#000000";
|
|
13
32
|
var darkBase = {
|
|
14
33
|
...defaultConfig.themes.dark,
|
|
@@ -30,10 +49,12 @@ var luxThemes = {
|
|
|
30
49
|
dark_lux: brandTheme(LUX_BRAND.lux),
|
|
31
50
|
dark_zoo: brandTheme(LUX_BRAND.zoo),
|
|
32
51
|
dark_hanzo: brandTheme(LUX_BRAND.hanzo),
|
|
33
|
-
dark_pars: brandTheme(LUX_BRAND.pars, { accentColor: PARS_GOLD })
|
|
52
|
+
dark_pars: brandTheme(LUX_BRAND.pars, { accentColor: PARS_GOLD }),
|
|
53
|
+
dark_bootnode: brandTheme(LUX_BRAND.bootnode)
|
|
34
54
|
};
|
|
35
55
|
var config = createGui({
|
|
36
56
|
...defaultConfig,
|
|
57
|
+
animations,
|
|
37
58
|
settings: {
|
|
38
59
|
...defaultConfig.settings,
|
|
39
60
|
onlyAllowShorthands: false
|
package/dist/menu.cjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var DropdownMenu = require('@radix-ui/react-dropdown-menu');
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var
|
|
6
|
+
var lucideReact = require('lucide-react');
|
|
7
7
|
var clsx = require('clsx');
|
|
8
8
|
var tailwindMerge = require('tailwind-merge');
|
|
9
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -222,7 +222,7 @@ var MenuCheckboxItem = React__namespace.forwardRef(function MenuCheckboxItem2(pr
|
|
|
222
222
|
),
|
|
223
223
|
...rest,
|
|
224
224
|
children: [
|
|
225
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
225
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
|
|
226
226
|
children
|
|
227
227
|
]
|
|
228
228
|
}
|
|
@@ -257,7 +257,7 @@ var MenuRadioItem = React__namespace.forwardRef(function MenuRadioItem2(props, r
|
|
|
257
257
|
className
|
|
258
258
|
),
|
|
259
259
|
children: [
|
|
260
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
260
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
|
|
261
261
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children })
|
|
262
262
|
]
|
|
263
263
|
}
|
|
@@ -283,7 +283,7 @@ var MenuTriggerItem = React__namespace.forwardRef(function MenuTriggerItem2(prop
|
|
|
283
283
|
children: [
|
|
284
284
|
startIcon,
|
|
285
285
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1", children }),
|
|
286
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
286
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-4 w-4" })
|
|
287
287
|
]
|
|
288
288
|
}
|
|
289
289
|
) });
|
package/dist/menu.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as DropdownMenu from '@radix-ui/react-dropdown-menu';
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { Check, ChevronRight } from 'lucide-react';
|
|
5
5
|
import { clsx } from 'clsx';
|
|
6
6
|
import { twMerge } from 'tailwind-merge';
|
|
7
7
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -199,7 +199,7 @@ var MenuCheckboxItem = React.forwardRef(function MenuCheckboxItem2(props, ref) {
|
|
|
199
199
|
),
|
|
200
200
|
...rest,
|
|
201
201
|
children: [
|
|
202
|
-
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(
|
|
202
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
|
|
203
203
|
children
|
|
204
204
|
]
|
|
205
205
|
}
|
|
@@ -234,7 +234,7 @@ var MenuRadioItem = React.forwardRef(function MenuRadioItem2(props, ref) {
|
|
|
234
234
|
className
|
|
235
235
|
),
|
|
236
236
|
children: [
|
|
237
|
-
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(
|
|
237
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
|
|
238
238
|
/* @__PURE__ */ jsx("span", { children })
|
|
239
239
|
]
|
|
240
240
|
}
|
|
@@ -260,7 +260,7 @@ var MenuTriggerItem = React.forwardRef(function MenuTriggerItem2(props, ref) {
|
|
|
260
260
|
children: [
|
|
261
261
|
startIcon,
|
|
262
262
|
/* @__PURE__ */ jsx("span", { className: "flex-1", children }),
|
|
263
|
-
/* @__PURE__ */ jsx(
|
|
263
|
+
/* @__PURE__ */ jsx(ChevronRight, { className: "h-4 w-4" })
|
|
264
264
|
]
|
|
265
265
|
}
|
|
266
266
|
) });
|
package/dist/next.cjs
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/next.ts
|
|
4
|
+
var GUI_PACKAGES = [
|
|
5
|
+
"@hanzo/gui",
|
|
6
|
+
"@hanzogui/accordion",
|
|
7
|
+
"@hanzogui/adapt",
|
|
8
|
+
"@hanzogui/alert-dialog",
|
|
9
|
+
"@hanzogui/animate",
|
|
10
|
+
"@hanzogui/animate-presence",
|
|
11
|
+
"@hanzogui/avatar",
|
|
12
|
+
"@hanzogui/button",
|
|
13
|
+
"@hanzogui/card",
|
|
14
|
+
"@hanzogui/checkbox",
|
|
15
|
+
"@hanzogui/collapsible",
|
|
16
|
+
"@hanzogui/component-helpers",
|
|
17
|
+
"@hanzogui/compose-refs",
|
|
18
|
+
"@hanzogui/config",
|
|
19
|
+
"@hanzogui/context-menu",
|
|
20
|
+
"@hanzogui/core",
|
|
21
|
+
"@hanzogui/create-context",
|
|
22
|
+
"@hanzogui/create-menu",
|
|
23
|
+
"@hanzogui/dialog",
|
|
24
|
+
"@hanzogui/element",
|
|
25
|
+
"@hanzogui/elements",
|
|
26
|
+
"@hanzogui/font-size",
|
|
27
|
+
"@hanzogui/form",
|
|
28
|
+
"@hanzogui/group",
|
|
29
|
+
"@hanzogui/image",
|
|
30
|
+
"@hanzogui/input",
|
|
31
|
+
"@hanzogui/label",
|
|
32
|
+
"@hanzogui/list-item",
|
|
33
|
+
"@hanzogui/menu",
|
|
34
|
+
"@hanzogui/popover",
|
|
35
|
+
"@hanzogui/popper",
|
|
36
|
+
"@hanzogui/portal",
|
|
37
|
+
"@hanzogui/progress",
|
|
38
|
+
"@hanzogui/radio-group",
|
|
39
|
+
"@hanzogui/react-native-media-driver",
|
|
40
|
+
"@hanzogui/scroll-view",
|
|
41
|
+
"@hanzogui/select",
|
|
42
|
+
"@hanzogui/separator",
|
|
43
|
+
"@hanzogui/shapes",
|
|
44
|
+
"@hanzogui/sheet",
|
|
45
|
+
"@hanzogui/slider",
|
|
46
|
+
"@hanzogui/spacer",
|
|
47
|
+
"@hanzogui/spinner",
|
|
48
|
+
"@hanzogui/stacks",
|
|
49
|
+
"@hanzogui/switch",
|
|
50
|
+
"@hanzogui/tabs",
|
|
51
|
+
"@hanzogui/text",
|
|
52
|
+
"@hanzogui/theme",
|
|
53
|
+
"@hanzogui/toast",
|
|
54
|
+
"@hanzogui/toggle-group",
|
|
55
|
+
"@hanzogui/tooltip",
|
|
56
|
+
"@hanzogui/use-controllable-state",
|
|
57
|
+
"@hanzogui/use-debounce",
|
|
58
|
+
"@hanzogui/use-force-update",
|
|
59
|
+
"@hanzogui/use-window-dimensions",
|
|
60
|
+
"@hanzogui/visually-hidden",
|
|
61
|
+
"@hanzogui/web",
|
|
62
|
+
"@luxfi/ui"
|
|
63
|
+
];
|
|
64
|
+
var DEFINES = {
|
|
65
|
+
"process.env.EXPO_OS": JSON.stringify("web"),
|
|
66
|
+
"process.env.IS_WEB": JSON.stringify("true")
|
|
67
|
+
};
|
|
68
|
+
function withLuxUi(config = {}) {
|
|
69
|
+
const userWebpack = config.webpack;
|
|
70
|
+
return {
|
|
71
|
+
...config,
|
|
72
|
+
transpilePackages: [.../* @__PURE__ */ new Set([...config.transpilePackages ?? [], ...GUI_PACKAGES])],
|
|
73
|
+
turbopack: {
|
|
74
|
+
...config.turbopack,
|
|
75
|
+
resolveAlias: {
|
|
76
|
+
"react-native": "react-native-web",
|
|
77
|
+
...config.turbopack?.resolveAlias
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
// Next inlines `env` into the client bundle, which is how the engine's
|
|
81
|
+
// module-scope platform checks get their answer under Turbopack too.
|
|
82
|
+
env: { EXPO_OS: "web", IS_WEB: "true", ...config.env },
|
|
83
|
+
webpack(webpackConfig, context) {
|
|
84
|
+
const next = userWebpack ? userWebpack(webpackConfig, context) : webpackConfig;
|
|
85
|
+
next.resolve = {
|
|
86
|
+
...next.resolve,
|
|
87
|
+
alias: { ...next.resolve?.alias, "react-native$": "react-native-web" }
|
|
88
|
+
};
|
|
89
|
+
const webpackModule = context?.webpack;
|
|
90
|
+
if (webpackModule?.DefinePlugin) {
|
|
91
|
+
next.plugins = [...next.plugins ?? [], new webpackModule.DefinePlugin(DEFINES)];
|
|
92
|
+
}
|
|
93
|
+
return next;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
exports.GUI_PACKAGES = GUI_PACKAGES;
|
|
99
|
+
exports.withLuxUi = withLuxUi;
|
package/dist/next.d.cts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Every package `@hanzo/gui` re-exports — the engine, in full. */
|
|
2
|
+
declare const GUI_PACKAGES: string[];
|
|
3
|
+
interface WebpackConfig {
|
|
4
|
+
resolve?: {
|
|
5
|
+
alias?: Record<string, unknown>;
|
|
6
|
+
};
|
|
7
|
+
plugins?: Array<unknown>;
|
|
8
|
+
[key: string]: unknown;
|
|
9
|
+
}
|
|
10
|
+
/** The structural slice of a Next config this wrapper touches. */
|
|
11
|
+
interface LuxUiNextConfig {
|
|
12
|
+
transpilePackages?: Array<string>;
|
|
13
|
+
turbopack?: {
|
|
14
|
+
resolveAlias?: Record<string, string>;
|
|
15
|
+
[key: string]: unknown;
|
|
16
|
+
};
|
|
17
|
+
env?: Record<string, string>;
|
|
18
|
+
webpack?: (config: WebpackConfig, context: unknown) => WebpackConfig;
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Wrap a Next config so `@luxfi/ui` and the gui engine build.
|
|
23
|
+
*
|
|
24
|
+
* Additive: an existing `transpilePackages`, `turbopack.resolveAlias`,
|
|
25
|
+
* `env` and `webpack()` are all preserved and extended, never replaced.
|
|
26
|
+
*/
|
|
27
|
+
declare function withLuxUi(config?: LuxUiNextConfig): LuxUiNextConfig;
|
|
28
|
+
|
|
29
|
+
export { GUI_PACKAGES, type LuxUiNextConfig, withLuxUi };
|
package/dist/next.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Every package `@hanzo/gui` re-exports — the engine, in full. */
|
|
2
|
+
declare const GUI_PACKAGES: string[];
|
|
3
|
+
interface WebpackConfig {
|
|
4
|
+
resolve?: {
|
|
5
|
+
alias?: Record<string, unknown>;
|
|
6
|
+
};
|
|
7
|
+
plugins?: Array<unknown>;
|
|
8
|
+
[key: string]: unknown;
|
|
9
|
+
}
|
|
10
|
+
/** The structural slice of a Next config this wrapper touches. */
|
|
11
|
+
interface LuxUiNextConfig {
|
|
12
|
+
transpilePackages?: Array<string>;
|
|
13
|
+
turbopack?: {
|
|
14
|
+
resolveAlias?: Record<string, string>;
|
|
15
|
+
[key: string]: unknown;
|
|
16
|
+
};
|
|
17
|
+
env?: Record<string, string>;
|
|
18
|
+
webpack?: (config: WebpackConfig, context: unknown) => WebpackConfig;
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Wrap a Next config so `@luxfi/ui` and the gui engine build.
|
|
23
|
+
*
|
|
24
|
+
* Additive: an existing `transpilePackages`, `turbopack.resolveAlias`,
|
|
25
|
+
* `env` and `webpack()` are all preserved and extended, never replaced.
|
|
26
|
+
*/
|
|
27
|
+
declare function withLuxUi(config?: LuxUiNextConfig): LuxUiNextConfig;
|
|
28
|
+
|
|
29
|
+
export { GUI_PACKAGES, type LuxUiNextConfig, withLuxUi };
|
package/dist/next.js
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
// src/next.ts
|
|
2
|
+
var GUI_PACKAGES = [
|
|
3
|
+
"@hanzo/gui",
|
|
4
|
+
"@hanzogui/accordion",
|
|
5
|
+
"@hanzogui/adapt",
|
|
6
|
+
"@hanzogui/alert-dialog",
|
|
7
|
+
"@hanzogui/animate",
|
|
8
|
+
"@hanzogui/animate-presence",
|
|
9
|
+
"@hanzogui/avatar",
|
|
10
|
+
"@hanzogui/button",
|
|
11
|
+
"@hanzogui/card",
|
|
12
|
+
"@hanzogui/checkbox",
|
|
13
|
+
"@hanzogui/collapsible",
|
|
14
|
+
"@hanzogui/component-helpers",
|
|
15
|
+
"@hanzogui/compose-refs",
|
|
16
|
+
"@hanzogui/config",
|
|
17
|
+
"@hanzogui/context-menu",
|
|
18
|
+
"@hanzogui/core",
|
|
19
|
+
"@hanzogui/create-context",
|
|
20
|
+
"@hanzogui/create-menu",
|
|
21
|
+
"@hanzogui/dialog",
|
|
22
|
+
"@hanzogui/element",
|
|
23
|
+
"@hanzogui/elements",
|
|
24
|
+
"@hanzogui/font-size",
|
|
25
|
+
"@hanzogui/form",
|
|
26
|
+
"@hanzogui/group",
|
|
27
|
+
"@hanzogui/image",
|
|
28
|
+
"@hanzogui/input",
|
|
29
|
+
"@hanzogui/label",
|
|
30
|
+
"@hanzogui/list-item",
|
|
31
|
+
"@hanzogui/menu",
|
|
32
|
+
"@hanzogui/popover",
|
|
33
|
+
"@hanzogui/popper",
|
|
34
|
+
"@hanzogui/portal",
|
|
35
|
+
"@hanzogui/progress",
|
|
36
|
+
"@hanzogui/radio-group",
|
|
37
|
+
"@hanzogui/react-native-media-driver",
|
|
38
|
+
"@hanzogui/scroll-view",
|
|
39
|
+
"@hanzogui/select",
|
|
40
|
+
"@hanzogui/separator",
|
|
41
|
+
"@hanzogui/shapes",
|
|
42
|
+
"@hanzogui/sheet",
|
|
43
|
+
"@hanzogui/slider",
|
|
44
|
+
"@hanzogui/spacer",
|
|
45
|
+
"@hanzogui/spinner",
|
|
46
|
+
"@hanzogui/stacks",
|
|
47
|
+
"@hanzogui/switch",
|
|
48
|
+
"@hanzogui/tabs",
|
|
49
|
+
"@hanzogui/text",
|
|
50
|
+
"@hanzogui/theme",
|
|
51
|
+
"@hanzogui/toast",
|
|
52
|
+
"@hanzogui/toggle-group",
|
|
53
|
+
"@hanzogui/tooltip",
|
|
54
|
+
"@hanzogui/use-controllable-state",
|
|
55
|
+
"@hanzogui/use-debounce",
|
|
56
|
+
"@hanzogui/use-force-update",
|
|
57
|
+
"@hanzogui/use-window-dimensions",
|
|
58
|
+
"@hanzogui/visually-hidden",
|
|
59
|
+
"@hanzogui/web",
|
|
60
|
+
"@luxfi/ui"
|
|
61
|
+
];
|
|
62
|
+
var DEFINES = {
|
|
63
|
+
"process.env.EXPO_OS": JSON.stringify("web"),
|
|
64
|
+
"process.env.IS_WEB": JSON.stringify("true")
|
|
65
|
+
};
|
|
66
|
+
function withLuxUi(config = {}) {
|
|
67
|
+
const userWebpack = config.webpack;
|
|
68
|
+
return {
|
|
69
|
+
...config,
|
|
70
|
+
transpilePackages: [.../* @__PURE__ */ new Set([...config.transpilePackages ?? [], ...GUI_PACKAGES])],
|
|
71
|
+
turbopack: {
|
|
72
|
+
...config.turbopack,
|
|
73
|
+
resolveAlias: {
|
|
74
|
+
"react-native": "react-native-web",
|
|
75
|
+
...config.turbopack?.resolveAlias
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
// Next inlines `env` into the client bundle, which is how the engine's
|
|
79
|
+
// module-scope platform checks get their answer under Turbopack too.
|
|
80
|
+
env: { EXPO_OS: "web", IS_WEB: "true", ...config.env },
|
|
81
|
+
webpack(webpackConfig, context) {
|
|
82
|
+
const next = userWebpack ? userWebpack(webpackConfig, context) : webpackConfig;
|
|
83
|
+
next.resolve = {
|
|
84
|
+
...next.resolve,
|
|
85
|
+
alias: { ...next.resolve?.alias, "react-native$": "react-native-web" }
|
|
86
|
+
};
|
|
87
|
+
const webpackModule = context?.webpack;
|
|
88
|
+
if (webpackModule?.DefinePlugin) {
|
|
89
|
+
next.plugins = [...next.plugins ?? [], new webpackModule.DefinePlugin(DEFINES)];
|
|
90
|
+
}
|
|
91
|
+
return next;
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export { GUI_PACKAGES, withLuxUi };
|
package/dist/option-chain.cjs
CHANGED
|
@@ -179,7 +179,7 @@ var OptionChain = React__namespace.forwardRef(
|
|
|
179
179
|
{
|
|
180
180
|
className: cn(
|
|
181
181
|
"px-2 py-1 text-center font-mono tabular-nums text-xs font-semibold",
|
|
182
|
-
isATM ? "text-
|
|
182
|
+
isATM ? "text-[var(--foreground)] bg-[var(--secondary)]" : "text-[var(--muted-foreground)]"
|
|
183
183
|
),
|
|
184
184
|
children: fmt(row.strike)
|
|
185
185
|
}
|
package/dist/option-chain.js
CHANGED
|
@@ -157,7 +157,7 @@ var OptionChain = React.forwardRef(
|
|
|
157
157
|
{
|
|
158
158
|
className: cn(
|
|
159
159
|
"px-2 py-1 text-center font-mono tabular-nums text-xs font-semibold",
|
|
160
|
-
isATM ? "text-
|
|
160
|
+
isATM ? "text-[var(--foreground)] bg-[var(--secondary)]" : "text-[var(--muted-foreground)]"
|
|
161
161
|
),
|
|
162
162
|
children: fmt(row.strike)
|
|
163
163
|
}
|
package/dist/option-position.cjs
CHANGED
|
@@ -59,7 +59,8 @@ var OptionPositionCard = React__namespace.forwardRef(
|
|
|
59
59
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
60
60
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn(
|
|
61
61
|
"inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-xs font-semibold",
|
|
62
|
-
|
|
62
|
+
// Call vs put is a rank difference, not a hue difference.
|
|
63
|
+
isCall ? "bg-[var(--secondary)] text-[var(--foreground)]" : "bg-[var(--muted)] text-[var(--muted-foreground)]"
|
|
63
64
|
), children: [
|
|
64
65
|
position.underlying,
|
|
65
66
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono tabular-nums", children: position.strike }),
|