@luxfi/ui 7.4.13 → 7.4.15

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/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export { AccordionItem, AccordionItemContent, AccordionItemTrigger, AccordionRoo
10
10
  export { Alert, AlertProps } from './alert.js';
11
11
  export { Avatar, AvatarGroup, AvatarProps } from './avatar.js';
12
12
  export { Badge, BadgeProps } from './badge.js';
13
- export { Button, ButtonGroup, ButtonGroupProps, ButtonGroupRadio, ButtonGroupRadioProps, ButtonProps, buttonVariants } from './button.js';
13
+ export { Button, ButtonGroup, ButtonGroupProps, ButtonGroupRadio, ButtonGroupRadioProps, ButtonProps } from './button.js';
14
14
  export { Checkbox, CheckboxGroup, CheckboxGroupProps, CheckboxProps } from './checkbox.js';
15
15
  export { CloseButton, CloseButtonProps } from './close-button.js';
16
16
  export { CollapsibleDetails, CollapsibleList } from './collapsible.js';
@@ -54,7 +54,7 @@ import '@tanstack/react-query';
54
54
  import 'react';
55
55
  import 'clsx';
56
56
  import '@hanzogui/web';
57
- import '@hanzogui/themes/v5';
57
+ import '@hanzogui/config/v5';
58
58
  import '@hanzo/gui';
59
59
  import 'react/jsx-runtime';
60
60
  import '@hanzogui/core';
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ import { createGui, styled, View, Sheet, Dialog, XStack, YStack, Text, Avatar as
3
3
  import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
4
4
  import * as React32 from 'react';
5
5
  import React32__default, { Children, createElement } from 'react';
6
+ import { config as config$1 } from '@hanzo/ui/gui-config';
6
7
  import { defaultConfig } from '@hanzogui/config/v5';
7
8
  import { animations } from '@hanzogui/config/v5-css';
8
9
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -174,6 +175,7 @@ var luxThemes = {
174
175
  };
175
176
  var config = createGui({
176
177
  ...defaultConfig,
178
+ ...config$1,
177
179
  animations,
178
180
  settings: {
179
181
  ...defaultConfig.settings,
@@ -2222,17 +2224,6 @@ var Button = React32.forwardRef(
2222
2224
  return button;
2223
2225
  }
2224
2226
  );
2225
- var SIZE_CLASSES = {
2226
- "2xs": "px-2 h-5 min-w-5 text-xs rounded-sm gap-1",
2227
- xs: "px-2 h-6 min-w-6 text-sm rounded-sm gap-1",
2228
- sm: "px-3 h-8 min-w-8 text-sm rounded-md gap-1",
2229
- md: "px-3 h-10 min-w-10 text-base rounded-md gap-2"
2230
- };
2231
- function buttonVariants(opts) {
2232
- const v = opts?.variant ?? "solid";
2233
- const s = opts?.size ?? "md";
2234
- return [BASE_CLASSES, VARIANT_CLASSES[v] ?? "", SIZE_CLASSES[s] ?? ""].filter(Boolean).join(" ");
2235
- }
2236
2227
  var ButtonGroup = React32.forwardRef(
2237
2228
  function ButtonGroup2(props, ref) {
2238
2229
  const { className, ...rest } = props;
@@ -3258,9 +3249,18 @@ var Field = React32.forwardRef(
3258
3249
  );
3259
3250
  var TAG = { "1": H1, "2": H2, "3": H3 };
3260
3251
  var RAMP = {
3261
- "1": { fontSize: 18, lineHeight: 24, fontWeight: "500", $lg: { fontSize: 32, lineHeight: 40, letterSpacing: -0.5 } },
3262
- "2": { fontSize: 16, lineHeight: 24, fontWeight: "500", $lg: { fontSize: 24, lineHeight: 32 } },
3263
- "3": { fontSize: 14, lineHeight: 20, fontWeight: "600", $lg: { fontSize: 18, lineHeight: 24, fontWeight: "500" } }
3252
+ // Tokens, not numbers. `$n` publishes as `var(--text-*, <px>)` through the
3253
+ // shared config, and @hanzo/design multiplies `--text-*` by `--type-scale`
3254
+ // so these three lines are what lets a person's type-size setting reach a
3255
+ // heading at all. Written as `18` they would render identically today and
3256
+ // never move again.
3257
+ //
3258
+ // lineHeight is deliberately absent: gui derives it from the resolved size,
3259
+ // so it scales WITH the text. A fixed 24 next to an adjustable size is how
3260
+ // you get 32px text in a 24px box.
3261
+ "1": { fontSize: "$6", $lg: { fontSize: "$10", letterSpacing: -0.5 } },
3262
+ "2": { fontSize: "$5", $lg: { fontSize: "$8" } },
3263
+ "3": { fontSize: "$3", fontWeight: "600", $lg: { fontSize: "$6", fontWeight: "500" } }
3264
3264
  };
3265
3265
  var Heading = React32__default.forwardRef(
3266
3266
  function Heading2({ level, ...rest }, ref) {
@@ -3628,11 +3628,11 @@ var Image = React32__default.forwardRef(
3628
3628
  }
3629
3629
  );
3630
3630
  var SIZE5 = {
3631
- xs: { height: 24, paddingHorizontal: 8, fontSize: 12, borderRadius: 4 },
3632
- sm: { height: 32, paddingHorizontal: 12, fontSize: 14, borderRadius: 6 },
3633
- md: { height: 40, paddingHorizontal: 16, fontSize: 16, borderRadius: 6 },
3634
- lg: { height: 48, paddingHorizontal: 16, fontSize: 18, borderRadius: 8 },
3635
- "2xl": { height: 56, paddingHorizontal: 16, fontSize: 20, borderRadius: 8 }
3631
+ xs: { height: 24, paddingHorizontal: 8, fontSize: "$1", borderRadius: 4 },
3632
+ sm: { height: 32, paddingHorizontal: 12, fontSize: "$3", borderRadius: 6 },
3633
+ md: { height: 40, paddingHorizontal: 16, fontSize: "$5", borderRadius: 6 },
3634
+ lg: { height: 48, paddingHorizontal: 16, fontSize: "$6", borderRadius: 8 },
3635
+ "2xl": { height: 56, paddingHorizontal: 16, fontSize: "$7", borderRadius: 8 }
3636
3636
  };
3637
3637
  var VARIANT3 = {
3638
3638
  outline: { borderWidth: 1, borderStyle: "solid" },
@@ -5859,11 +5859,11 @@ var Tag = React32.forwardRef(
5859
5859
  }
5860
5860
  );
5861
5861
  var SIZE10 = {
5862
- xs: { paddingHorizontal: 8, paddingVertical: 4, fontSize: 12, borderRadius: 4 },
5863
- sm: { paddingHorizontal: 12, paddingVertical: 8, fontSize: 14, borderRadius: 6 },
5864
- md: { paddingHorizontal: 16, paddingVertical: 8, fontSize: 16, borderRadius: 6 },
5865
- lg: { paddingHorizontal: 16, paddingVertical: 12, fontSize: 18, borderRadius: 8 },
5866
- "2xl": { paddingHorizontal: 16, paddingVertical: 12, fontSize: 20, borderRadius: 8 }
5862
+ xs: { paddingHorizontal: 8, paddingVertical: 4, fontSize: "$1", borderRadius: 4 },
5863
+ sm: { paddingHorizontal: 12, paddingVertical: 8, fontSize: "$3", borderRadius: 6 },
5864
+ md: { paddingHorizontal: 16, paddingVertical: 8, fontSize: "$5", borderRadius: 6 },
5865
+ lg: { paddingHorizontal: 16, paddingVertical: 12, fontSize: "$6", borderRadius: 8 },
5866
+ "2xl": { paddingHorizontal: 16, paddingVertical: 12, fontSize: "$7", borderRadius: 8 }
5867
5867
  };
5868
5868
  var Textarea = React32__default.forwardRef(
5869
5869
  ({ size = "md", variant = "outline", className, onChange, onChangeText, ...rest }, ref) => {
@@ -7263,8 +7263,16 @@ function ActionButton({ onClick, children }) {
7263
7263
  paddingVertical: 4,
7264
7264
  backgroundColor: "var(--color-button-subtle-bg)",
7265
7265
  cursor: "pointer",
7266
- hoverStyle: { color: "var(--color-hover)" },
7267
- children: /* @__PURE__ */ jsx(Text, { fontSize: 12, fontWeight: "500", color: "var(--color-button-subtle-fg)", children })
7266
+ children: /* @__PURE__ */ jsx(
7267
+ Text,
7268
+ {
7269
+ fontSize: 12,
7270
+ fontWeight: "500",
7271
+ color: "var(--color-button-subtle-fg)",
7272
+ hoverStyle: { color: "var(--color-hover)" },
7273
+ children
7274
+ }
7275
+ )
7268
7276
  }
7269
7277
  );
7270
7278
  }
@@ -7287,18 +7295,17 @@ var GROUP_LABELS = {
7287
7295
  var SHAPE = {
7288
7296
  selected: {
7289
7297
  borderColor: "transparent",
7290
- backgroundColor: "var(--color-selected-control-bg)",
7291
- color: "var(--color-selected-control-text)"
7298
+ backgroundColor: "var(--color-selected-control-bg)"
7292
7299
  },
7293
7300
  resting: {
7294
7301
  borderColor: "var(--color-border-divider)",
7295
7302
  backgroundColor: "var(--card)",
7296
- color: "var(--color-text-secondary)",
7297
- hoverStyle: { borderColor: "var(--color-hover)", color: "var(--color-hover)" }
7303
+ hoverStyle: { borderColor: "var(--color-hover)" }
7298
7304
  }
7299
7305
  };
7300
7306
  function ExpirationPill({ exp, isSelected, onClick }) {
7301
7307
  const shape = isSelected ? SHAPE.selected : SHAPE.resting;
7308
+ const dateColor = isSelected ? "var(--color-selected-control-text)" : "var(--color-text-secondary)";
7302
7309
  const dteColor = exp.dte <= 7 && !isSelected ? "var(--color-status-warn)" : isSelected ? "var(--color-selected-control-text)" : "var(--muted-foreground)";
7303
7310
  return /* @__PURE__ */ jsxs(
7304
7311
  YStack,
@@ -7317,7 +7324,7 @@ function ExpirationPill({ exp, isSelected, onClick }) {
7317
7324
  cursor: "pointer",
7318
7325
  ...shape,
7319
7326
  children: [
7320
- /* @__PURE__ */ jsx(Text, { unstyled: true, fontSize: 12, fontWeight: "500", style: { whiteSpace: "nowrap" }, children: formatExpDate(exp.date) }),
7327
+ /* @__PURE__ */ jsx(Text, { fontSize: 12, fontWeight: "500", style: { whiteSpace: "nowrap" }, color: dateColor, children: formatExpDate(exp.date) }),
7321
7328
  /* @__PURE__ */ jsxs(
7322
7329
  Text,
7323
7330
  {
@@ -7632,4 +7639,4 @@ var BankPage = styled(View, {
7632
7639
  padding: 16
7633
7640
  });
7634
7641
 
7635
- export { AccordionItem, AccordionItemContent, AccordionItemTrigger, AccordionRoot, Alert, AppNav, AppProvider, Avatar, AvatarGroup, Badge, BankAlert, BankAlertText, BankButton, BankButtonText, BankCard, BankDivider, BankField, BankHeading, BankInput, BankPage, BankPinBox, BankText, Button, ButtonGroup, ButtonGroupRadio, Checkbox2 as Checkbox, CheckboxGroup2 as CheckboxGroup, CloseButton, CollapsibleDetails, CollapsibleList, ColorModeProvider, DEFAULT_ORG, DialogActionTrigger, DialogBackdrop, DialogBody, DialogCloseTrigger, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogRoot, DialogTitle, DialogTrigger, DrawerActionTrigger, DrawerBody, DrawerCloseTrigger, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerRoot, DrawerTitle, DrawerTrigger, EmptyState, ExpirationSelector, Field, GreeksDisplay, Heading, IAM_PAGE_SIZE, IamError, IconButton, IdentityProvider, Image, Input, InputGroup, LUX_BRAND, Link, LinkBox, LinkExternalIcon, LinkOverlay, LoadingBar, MenuArrow, MenuCheckboxItem, MenuContent, MenuItem, MenuItemGroup, MenuItemText, MenuRadioItem, MenuRadioItemGroup, MenuRoot, MenuSeparator, MenuTrigger, MenuTriggerItem, NARROW_PX, OptionChain, OptionPositionCard, OrgSwitcher, PARS_GOLD, PinInput, PnlDiagram, PopoverArrow, PopoverBody, PopoverCloseTrigger, PopoverCloseTriggerWrapper, PopoverContent, PopoverDescription, PopoverFooter, PopoverHeader, PopoverRoot, PopoverTitle, PopoverTrigger, Progress, ProgressCircleRing, ProgressCircleRoot, ProgressCircleValueText, ProjectSwitcher, Radio2 as Radio, RadioGroup2 as RadioGroup, Rating, Select, SelectAsync, SelectClearTrigger, SelectContent, SelectControl, SelectItem, SelectItemGroup, SelectItemText, SelectLabel, SelectRoot, SelectValueText, Separator, SettingsMenu, Skeleton, SkeletonCircle, SkeletonText, Slider, StrategyBuilder, Switch2 as Switch, Switcher, TOUCH_PX, TableBody, TableCaption, TableCell, TableColumnHeader, TableColumnHeaderSortable, TableFooter, TableHeader, TableHeaderSticky, TableRoot, TableRow, TableScrollWrapper, TabsContent, TabsCounter, TabsList, TabsRoot, TabsTrigger, Tag, Textarea, Toaster, Tooltip, UserMenu, bankColors, buttonVariants, cn, config, createListCollection, currentHost, lux_config_default as guiConfig, iam, iamBase, initials, luxThemes, orgIdentity, ORGS as orgs, resolveWhiteLabel, toaster, useAccordion, useBelow, useColorMode, useColorModeValue, useIdentity, useIsNarrow, useIsTouch, useWhiteLabel };
7642
+ export { AccordionItem, AccordionItemContent, AccordionItemTrigger, AccordionRoot, Alert, AppNav, AppProvider, Avatar, AvatarGroup, Badge, BankAlert, BankAlertText, BankButton, BankButtonText, BankCard, BankDivider, BankField, BankHeading, BankInput, BankPage, BankPinBox, BankText, Button, ButtonGroup, ButtonGroupRadio, Checkbox2 as Checkbox, CheckboxGroup2 as CheckboxGroup, CloseButton, CollapsibleDetails, CollapsibleList, ColorModeProvider, DEFAULT_ORG, DialogActionTrigger, DialogBackdrop, DialogBody, DialogCloseTrigger, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogRoot, DialogTitle, DialogTrigger, DrawerActionTrigger, DrawerBody, DrawerCloseTrigger, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerRoot, DrawerTitle, DrawerTrigger, EmptyState, ExpirationSelector, Field, GreeksDisplay, Heading, IAM_PAGE_SIZE, IamError, IconButton, IdentityProvider, Image, Input, InputGroup, LUX_BRAND, Link, LinkBox, LinkExternalIcon, LinkOverlay, LoadingBar, MenuArrow, MenuCheckboxItem, MenuContent, MenuItem, MenuItemGroup, MenuItemText, MenuRadioItem, MenuRadioItemGroup, MenuRoot, MenuSeparator, MenuTrigger, MenuTriggerItem, NARROW_PX, OptionChain, OptionPositionCard, OrgSwitcher, PARS_GOLD, PinInput, PnlDiagram, PopoverArrow, PopoverBody, PopoverCloseTrigger, PopoverCloseTriggerWrapper, PopoverContent, PopoverDescription, PopoverFooter, PopoverHeader, PopoverRoot, PopoverTitle, PopoverTrigger, Progress, ProgressCircleRing, ProgressCircleRoot, ProgressCircleValueText, ProjectSwitcher, Radio2 as Radio, RadioGroup2 as RadioGroup, Rating, Select, SelectAsync, SelectClearTrigger, SelectContent, SelectControl, SelectItem, SelectItemGroup, SelectItemText, SelectLabel, SelectRoot, SelectValueText, Separator, SettingsMenu, Skeleton, SkeletonCircle, SkeletonText, Slider, StrategyBuilder, Switch2 as Switch, Switcher, TOUCH_PX, TableBody, TableCaption, TableCell, TableColumnHeader, TableColumnHeaderSortable, TableFooter, TableHeader, TableHeaderSticky, TableRoot, TableRow, TableScrollWrapper, TabsContent, TabsCounter, TabsList, TabsRoot, TabsTrigger, Tag, Textarea, Toaster, Tooltip, UserMenu, bankColors, cn, config, createListCollection, currentHost, lux_config_default as guiConfig, iam, iamBase, initials, luxThemes, orgIdentity, ORGS as orgs, resolveWhiteLabel, toaster, useAccordion, useBelow, useColorMode, useColorModeValue, useIdentity, useIsNarrow, useIsTouch, useWhiteLabel };
package/dist/input.cjs CHANGED
@@ -11,11 +11,11 @@ var React__default = /*#__PURE__*/_interopDefault(React);
11
11
 
12
12
  // src/input.tsx
13
13
  var SIZE = {
14
- xs: { height: 24, paddingHorizontal: 8, fontSize: 12, borderRadius: 4 },
15
- sm: { height: 32, paddingHorizontal: 12, fontSize: 14, borderRadius: 6 },
16
- md: { height: 40, paddingHorizontal: 16, fontSize: 16, borderRadius: 6 },
17
- lg: { height: 48, paddingHorizontal: 16, fontSize: 18, borderRadius: 8 },
18
- "2xl": { height: 56, paddingHorizontal: 16, fontSize: 20, borderRadius: 8 }
14
+ xs: { height: 24, paddingHorizontal: 8, fontSize: "$1", borderRadius: 4 },
15
+ sm: { height: 32, paddingHorizontal: 12, fontSize: "$3", borderRadius: 6 },
16
+ md: { height: 40, paddingHorizontal: 16, fontSize: "$5", borderRadius: 6 },
17
+ lg: { height: 48, paddingHorizontal: 16, fontSize: "$6", borderRadius: 8 },
18
+ "2xl": { height: 56, paddingHorizontal: 16, fontSize: "$7", borderRadius: 8 }
19
19
  };
20
20
  var VARIANT = {
21
21
  outline: { borderWidth: 1, borderStyle: "solid" },
package/dist/input.d.cts CHANGED
@@ -12,7 +12,7 @@ interface InputProps extends Omit<React__default.ComponentPropsWithRef<'input'>,
12
12
  */
13
13
  readonly onChangeText?: (text: string) => void;
14
14
  }
15
- declare const SIZE: Record<InputSize, Record<string, number>>;
15
+ declare const SIZE: Record<InputSize, Record<string, unknown>>;
16
16
  declare const VARIANT: Record<InputVariant, Record<string, unknown>>;
17
17
  /** The frame every text control shares. */
18
18
  declare const CONTROL: {
package/dist/input.d.ts CHANGED
@@ -12,7 +12,7 @@ interface InputProps extends Omit<React__default.ComponentPropsWithRef<'input'>,
12
12
  */
13
13
  readonly onChangeText?: (text: string) => void;
14
14
  }
15
- declare const SIZE: Record<InputSize, Record<string, number>>;
15
+ declare const SIZE: Record<InputSize, Record<string, unknown>>;
16
16
  declare const VARIANT: Record<InputVariant, Record<string, unknown>>;
17
17
  /** The frame every text control shares. */
18
18
  declare const CONTROL: {
package/dist/input.js CHANGED
@@ -5,11 +5,11 @@ import { jsx } from 'react/jsx-runtime';
5
5
 
6
6
  // src/input.tsx
7
7
  var SIZE = {
8
- xs: { height: 24, paddingHorizontal: 8, fontSize: 12, borderRadius: 4 },
9
- sm: { height: 32, paddingHorizontal: 12, fontSize: 14, borderRadius: 6 },
10
- md: { height: 40, paddingHorizontal: 16, fontSize: 16, borderRadius: 6 },
11
- lg: { height: 48, paddingHorizontal: 16, fontSize: 18, borderRadius: 8 },
12
- "2xl": { height: 56, paddingHorizontal: 16, fontSize: 20, borderRadius: 8 }
8
+ xs: { height: 24, paddingHorizontal: 8, fontSize: "$1", borderRadius: 4 },
9
+ sm: { height: 32, paddingHorizontal: 12, fontSize: "$3", borderRadius: 6 },
10
+ md: { height: 40, paddingHorizontal: 16, fontSize: "$5", borderRadius: 6 },
11
+ lg: { height: 48, paddingHorizontal: 16, fontSize: "$6", borderRadius: 8 },
12
+ "2xl": { height: 56, paddingHorizontal: 16, fontSize: "$7", borderRadius: 8 }
13
13
  };
14
14
  var VARIANT = {
15
15
  outline: { borderWidth: 1, borderStyle: "solid" },
@@ -4,6 +4,7 @@
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var gui = require('@hanzo/gui');
7
+ var guiConfig = require('@hanzo/ui/gui-config');
7
8
  var v5 = require('@hanzogui/config/v5');
8
9
  var v5Css = require('@hanzogui/config/v5-css');
9
10
 
@@ -58,6 +59,7 @@ var luxThemes = {
58
59
  };
59
60
  var config = gui.createGui({
60
61
  ...v5.defaultConfig,
62
+ ...guiConfig.config,
61
63
  animations: v5Css.animations,
62
64
  settings: {
63
65
  ...v5.defaultConfig.settings,