@luxfi/ui 7.4.5 → 7.4.7

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.
Files changed (159) hide show
  1. package/dist/accordion.d.cts +74 -0
  2. package/dist/accordion.d.ts +74 -0
  3. package/dist/alert.cjs +3 -7
  4. package/dist/alert.d.cts +30 -0
  5. package/dist/alert.d.ts +30 -0
  6. package/dist/alert.js +3 -7
  7. package/dist/auth.cjs +481 -0
  8. package/dist/auth.d.cts +80 -0
  9. package/dist/auth.d.ts +80 -0
  10. package/dist/auth.js +456 -0
  11. package/dist/avatar.d.cts +25 -0
  12. package/dist/avatar.d.ts +25 -0
  13. package/dist/badge.cjs +4 -8
  14. package/dist/badge.d.cts +19 -0
  15. package/dist/badge.d.ts +19 -0
  16. package/dist/badge.js +4 -8
  17. package/dist/bank.d.cts +83 -0
  18. package/dist/bank.d.ts +83 -0
  19. package/dist/button.cjs +3 -7
  20. package/dist/button.d.cts +55 -0
  21. package/dist/button.d.ts +55 -0
  22. package/dist/button.js +3 -7
  23. package/dist/checkbox.d.cts +32 -0
  24. package/dist/checkbox.d.ts +32 -0
  25. package/dist/chrome.d.cts +93 -0
  26. package/dist/chrome.d.ts +93 -0
  27. package/dist/close-button.d.cts +9 -0
  28. package/dist/close-button.d.ts +9 -0
  29. package/dist/collapsible.cjs +3 -7
  30. package/dist/collapsible.d.cts +23 -0
  31. package/dist/collapsible.d.ts +23 -0
  32. package/dist/collapsible.js +3 -7
  33. package/dist/color-mode.d.cts +25 -0
  34. package/dist/color-mode.d.ts +25 -0
  35. package/dist/dialog.d.cts +118 -0
  36. package/dist/dialog.d.ts +118 -0
  37. package/dist/drawer.d.cts +36 -0
  38. package/dist/drawer.d.ts +36 -0
  39. package/dist/empty-state.d.cts +13 -0
  40. package/dist/empty-state.d.ts +13 -0
  41. package/dist/expiration-selector.d.cts +16 -0
  42. package/dist/expiration-selector.d.ts +16 -0
  43. package/dist/field.d.cts +24 -0
  44. package/dist/field.d.ts +24 -0
  45. package/dist/greeks-display.d.cts +14 -0
  46. package/dist/greeks-display.d.ts +14 -0
  47. package/dist/gui.d.cts +2 -0
  48. package/dist/gui.d.ts +2 -0
  49. package/dist/heading.d.cts +10 -0
  50. package/dist/heading.d.ts +10 -0
  51. package/dist/iam.d.cts +65 -0
  52. package/dist/iam.d.ts +65 -0
  53. package/dist/icon-button.cjs +3 -7
  54. package/dist/icon-button.d.cts +33 -0
  55. package/dist/icon-button.d.ts +33 -0
  56. package/dist/icon-button.js +3 -7
  57. package/dist/icons.cjs +0 -1
  58. package/dist/icons.d.cts +1 -0
  59. package/dist/icons.d.ts +1 -0
  60. package/dist/icons.js +0 -1
  61. package/dist/identity.d.cts +64 -0
  62. package/dist/identity.d.ts +64 -0
  63. package/dist/image.cjs +3 -7
  64. package/dist/image.d.cts +57 -0
  65. package/dist/image.d.ts +57 -0
  66. package/dist/image.js +3 -7
  67. package/dist/index.cjs +9 -8
  68. package/dist/index.d.cts +64 -0
  69. package/dist/index.d.ts +64 -0
  70. package/dist/index.js +9 -9
  71. package/dist/input-group.d.cts +17 -0
  72. package/dist/input-group.d.ts +17 -0
  73. package/dist/input.d.cts +17 -0
  74. package/dist/input.d.ts +17 -0
  75. package/dist/link.cjs +3 -7
  76. package/dist/link.d.cts +37 -0
  77. package/dist/link.d.ts +37 -0
  78. package/dist/link.js +3 -7
  79. package/dist/lux.config.d.cts +433 -0
  80. package/dist/lux.config.d.ts +433 -0
  81. package/dist/menu.d.cts +84 -0
  82. package/dist/menu.d.ts +84 -0
  83. package/dist/next.cjs +11 -1
  84. package/dist/next.d.cts +32 -0
  85. package/dist/next.d.ts +32 -0
  86. package/dist/next.js +11 -1
  87. package/dist/option-chain.d.cts +37 -0
  88. package/dist/option-chain.d.ts +37 -0
  89. package/dist/option-position.d.cts +29 -0
  90. package/dist/option-position.d.ts +29 -0
  91. package/dist/pin-input.d.cts +25 -0
  92. package/dist/pin-input.d.ts +25 -0
  93. package/dist/pnl-diagram.d.cts +11 -0
  94. package/dist/pnl-diagram.d.ts +11 -0
  95. package/dist/popover.d.cts +73 -0
  96. package/dist/popover.d.ts +73 -0
  97. package/dist/progress-circle.d.cts +47 -0
  98. package/dist/progress-circle.d.ts +47 -0
  99. package/dist/progress.d.cts +28 -0
  100. package/dist/progress.d.ts +28 -0
  101. package/dist/provider.d.cts +25 -0
  102. package/dist/provider.d.ts +25 -0
  103. package/dist/radio.d.cts +53 -0
  104. package/dist/radio.d.ts +53 -0
  105. package/dist/rating.d.cts +14 -0
  106. package/dist/rating.d.ts +14 -0
  107. package/dist/select.cjs +3 -7
  108. package/dist/select.d.cts +130 -0
  109. package/dist/select.d.ts +130 -0
  110. package/dist/select.js +3 -7
  111. package/dist/separator.d.cts +13 -0
  112. package/dist/separator.d.ts +13 -0
  113. package/dist/skeleton.cjs +8 -7
  114. package/dist/skeleton.d.cts +76 -0
  115. package/dist/skeleton.d.ts +76 -0
  116. package/dist/skeleton.js +8 -8
  117. package/dist/slider.d.cts +24 -0
  118. package/dist/slider.d.ts +24 -0
  119. package/dist/strategy-builder.d.cts +26 -0
  120. package/dist/strategy-builder.d.ts +26 -0
  121. package/dist/switch.d.cts +27 -0
  122. package/dist/switch.d.ts +27 -0
  123. package/dist/table.cjs +3 -7
  124. package/dist/table.d.cts +107 -0
  125. package/dist/table.d.ts +107 -0
  126. package/dist/table.js +3 -7
  127. package/dist/tabs.d.cts +78 -0
  128. package/dist/tabs.d.ts +78 -0
  129. package/dist/tag.cjs +4 -8
  130. package/dist/tag.d.cts +21 -0
  131. package/dist/tag.d.ts +21 -0
  132. package/dist/tag.js +4 -8
  133. package/dist/textarea.d.cts +13 -0
  134. package/dist/textarea.d.ts +13 -0
  135. package/dist/toaster.d.cts +29 -0
  136. package/dist/toaster.d.ts +29 -0
  137. package/dist/tooltip.cjs +1 -1
  138. package/dist/tooltip.d.cts +38 -0
  139. package/dist/tooltip.d.ts +38 -0
  140. package/dist/tooltip.js +1 -1
  141. package/dist/use-narrow.d.cts +12 -0
  142. package/dist/use-narrow.d.ts +12 -0
  143. package/dist/utils.d.cts +5 -0
  144. package/dist/utils.d.ts +5 -0
  145. package/dist/vite.cjs +4 -3
  146. package/dist/vite.d.cts +29 -0
  147. package/dist/vite.d.ts +29 -0
  148. package/dist/vite.js +4 -3
  149. package/dist/white-label.d.cts +59 -0
  150. package/dist/white-label.d.ts +59 -0
  151. package/package.json +12 -2
  152. package/src/auth.tsx +198 -0
  153. package/src/engine.ts +24 -3
  154. package/src/index.ts +1 -1
  155. package/src/next.ts +10 -0
  156. package/src/skeleton.tsx +36 -7
  157. package/src/tooltip.tsx +13 -5
  158. package/src/vite.ts +4 -9
  159. package/tokens.css +828 -317
@@ -0,0 +1,76 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ interface SkeletonProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'> {
5
+ readonly loading: boolean | undefined;
6
+ /** When true, the Skeleton wraps its single child element instead of adding a wrapper div. */
7
+ readonly asChild?: boolean;
8
+ readonly w?: any;
9
+ readonly h?: any;
10
+ readonly minW?: any;
11
+ readonly maxW?: any;
12
+ readonly display?: string;
13
+ readonly flexGrow?: number;
14
+ readonly flexShrink?: number;
15
+ readonly flexBasis?: string;
16
+ readonly fontWeight?: number | string;
17
+ readonly textStyle?: string;
18
+ readonly borderRadius?: string;
19
+ readonly alignSelf?: string;
20
+ readonly alignItems?: string;
21
+ readonly justifyContent?: string;
22
+ readonly color?: string;
23
+ readonly mt?: number | string;
24
+ readonly mb?: number | string;
25
+ readonly ml?: number | string;
26
+ readonly mr?: number | string;
27
+ readonly height?: string;
28
+ readonly overflow?: string;
29
+ readonly whiteSpace?: string;
30
+ readonly textOverflow?: string;
31
+ readonly textTransform?: string;
32
+ readonly gap?: number | string;
33
+ readonly gridTemplateColumns?: string;
34
+ readonly minWidth?: string;
35
+ readonly boxSize?: number | string;
36
+ readonly py?: number | string;
37
+ readonly px?: number | string;
38
+ readonly p?: number | string;
39
+ readonly hideBelow?: string;
40
+ readonly as?: React.ElementType;
41
+ readonly fontSize?: string;
42
+ readonly flexWrap?: React.CSSProperties['flexWrap'];
43
+ readonly wordBreak?: React.CSSProperties['wordBreak'];
44
+ readonly lineHeight?: string;
45
+ readonly marginRight?: string;
46
+ readonly position?: React.CSSProperties['position'];
47
+ readonly background?: string;
48
+ }
49
+ declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLDivElement>>;
50
+ interface SkeletonCircleProps extends React.HTMLAttributes<HTMLDivElement> {
51
+ readonly size?: string | number;
52
+ readonly loading?: boolean;
53
+ }
54
+ declare const SkeletonCircle: React.ForwardRefExoticComponent<SkeletonCircleProps & React.RefAttributes<HTMLDivElement>>;
55
+ interface SkeletonTextProps extends React.HTMLAttributes<HTMLDivElement> {
56
+ readonly noOfLines?: number;
57
+ readonly loading?: boolean;
58
+ }
59
+ declare const SkeletonText: React.ForwardRefExoticComponent<SkeletonTextProps & React.RefAttributes<HTMLDivElement>>;
60
+ /**
61
+ * The page-level "work is in flight" signal — one animated element, however
62
+ * many skeletons are on screen. Mount it while any request is outstanding.
63
+ *
64
+ * It is `position: fixed` and 2px tall, so it is out of flow: it cannot shift
65
+ * layout (CLS 0) and it cannot tint content. Under prefers-reduced-motion the
66
+ * sweep stops and the track stays lit, so the state is still legible.
67
+ *
68
+ * This is what replaces a bare spinner. A spinner says "something is
69
+ * happening somewhere"; a skeleton plus this bar says "here is the shape of
70
+ * what is coming, and it is still coming".
71
+ */
72
+ declare function LoadingBar({ loading }: {
73
+ readonly loading?: boolean;
74
+ }): react_jsx_runtime.JSX.Element | null;
75
+
76
+ export { LoadingBar, Skeleton, SkeletonCircle, type SkeletonCircleProps, type SkeletonProps, SkeletonText, type SkeletonTextProps };
package/dist/skeleton.js CHANGED
@@ -122,11 +122,7 @@ function stripShims(props) {
122
122
  for (const k of SHIM_PROPS) delete out[k];
123
123
  return out;
124
124
  }
125
- var SKELETON_CLASSES = [
126
- "animate-skeleton-shimmer rounded-sm",
127
- "bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
128
- "bg-[length:200%_100%]"
129
- ].join(" ");
125
+ var SKELETON_CLASSES = "lux-skeleton rounded-sm";
130
126
  var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
131
127
  var Skeleton = React.forwardRef(
132
128
  function Skeleton2(props, ref) {
@@ -146,7 +142,7 @@ var Skeleton = React.forwardRef(
146
142
  {
147
143
  ref,
148
144
  "data-loading": true,
149
- className: cn(SKELETON_CLASSES, "text-transparent [&_*]:invisible", cls),
145
+ className: cn(SKELETON_CLASSES, "[&_*]:invisible", cls),
150
146
  style: mergedStyle,
151
147
  ...htmlRest,
152
148
  children
@@ -158,7 +154,7 @@ var Skeleton = React.forwardRef(
158
154
  {
159
155
  ref,
160
156
  "data-loading": true,
161
- className: cn(SKELETON_CLASSES, children ? "text-transparent [&_*]:invisible" : "min-h-5", cls),
157
+ className: cn(SKELETON_CLASSES, children ? "[&_*]:invisible" : "min-h-5", cls),
162
158
  style: mergedStyle,
163
159
  ...htmlRest,
164
160
  children
@@ -195,5 +191,9 @@ var SkeletonText = React.forwardRef(
195
191
  )) });
196
192
  }
197
193
  );
194
+ function LoadingBar({ loading = true }) {
195
+ if (!loading) return null;
196
+ return /* @__PURE__ */ jsx("div", { className: "lux-loading", role: "progressbar", "aria-busy": "true", "aria-label": "Loading" });
197
+ }
198
198
 
199
- export { Skeleton, SkeletonCircle, SkeletonText };
199
+ export { LoadingBar, Skeleton, SkeletonCircle, SkeletonText };
@@ -0,0 +1,24 @@
1
+ import * as React from 'react';
2
+
3
+ interface SliderProps {
4
+ readonly marks?: Array<number | {
5
+ readonly value: number;
6
+ readonly label: React.ReactNode;
7
+ }>;
8
+ readonly label?: React.ReactNode;
9
+ readonly showValue?: boolean;
10
+ readonly value?: Array<number>;
11
+ readonly defaultValue?: Array<number>;
12
+ readonly min?: number;
13
+ readonly max?: number;
14
+ readonly step?: number;
15
+ readonly disabled?: boolean;
16
+ readonly orientation?: 'horizontal' | 'vertical';
17
+ readonly name?: string;
18
+ readonly onValueChange?: (value: Array<number>) => void;
19
+ readonly onValueCommit?: (value: Array<number>) => void;
20
+ readonly className?: string;
21
+ }
22
+ declare const Slider: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<HTMLSpanElement>>;
23
+
24
+ export { Slider, type SliderProps };
@@ -0,0 +1,24 @@
1
+ import * as React from 'react';
2
+
3
+ interface SliderProps {
4
+ readonly marks?: Array<number | {
5
+ readonly value: number;
6
+ readonly label: React.ReactNode;
7
+ }>;
8
+ readonly label?: React.ReactNode;
9
+ readonly showValue?: boolean;
10
+ readonly value?: Array<number>;
11
+ readonly defaultValue?: Array<number>;
12
+ readonly min?: number;
13
+ readonly max?: number;
14
+ readonly step?: number;
15
+ readonly disabled?: boolean;
16
+ readonly orientation?: 'horizontal' | 'vertical';
17
+ readonly name?: string;
18
+ readonly onValueChange?: (value: Array<number>) => void;
19
+ readonly onValueCommit?: (value: Array<number>) => void;
20
+ readonly className?: string;
21
+ }
22
+ declare const Slider: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<HTMLSpanElement>>;
23
+
24
+ export { Slider, type SliderProps };
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+
3
+ interface StrategyLeg {
4
+ action: 'buy' | 'sell';
5
+ type: 'call' | 'put';
6
+ strike: number;
7
+ expiration: string;
8
+ quantity: number;
9
+ premium?: number;
10
+ }
11
+ type StrategyType = 'bull_call_spread' | 'bear_put_spread' | 'iron_condor' | 'butterfly' | 'straddle' | 'strangle' | 'collar' | 'custom';
12
+ interface StrategySubmission {
13
+ type: string;
14
+ legs: StrategyLeg[];
15
+ netPremium: number;
16
+ }
17
+ interface StrategyBuilderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSubmit'> {
18
+ readonly underlying: string;
19
+ readonly expirations: string[];
20
+ readonly strikes: number[];
21
+ readonly spotPrice: number;
22
+ readonly onSubmit?: (strategy: StrategySubmission) => void;
23
+ }
24
+ declare const StrategyBuilder: React.ForwardRefExoticComponent<StrategyBuilderProps & React.RefAttributes<HTMLDivElement>>;
25
+
26
+ export { StrategyBuilder, type StrategyBuilderProps, type StrategyLeg, type StrategySubmission, type StrategyType };
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+
3
+ interface StrategyLeg {
4
+ action: 'buy' | 'sell';
5
+ type: 'call' | 'put';
6
+ strike: number;
7
+ expiration: string;
8
+ quantity: number;
9
+ premium?: number;
10
+ }
11
+ type StrategyType = 'bull_call_spread' | 'bear_put_spread' | 'iron_condor' | 'butterfly' | 'straddle' | 'strangle' | 'collar' | 'custom';
12
+ interface StrategySubmission {
13
+ type: string;
14
+ legs: StrategyLeg[];
15
+ netPremium: number;
16
+ }
17
+ interface StrategyBuilderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSubmit'> {
18
+ readonly underlying: string;
19
+ readonly expirations: string[];
20
+ readonly strikes: number[];
21
+ readonly spotPrice: number;
22
+ readonly onSubmit?: (strategy: StrategySubmission) => void;
23
+ }
24
+ declare const StrategyBuilder: React.ForwardRefExoticComponent<StrategyBuilderProps & React.RefAttributes<HTMLDivElement>>;
25
+
26
+ export { StrategyBuilder, type StrategyBuilderProps, type StrategyLeg, type StrategySubmission, type StrategyType };
@@ -0,0 +1,27 @@
1
+ import * as React from 'react';
2
+
3
+ interface SwitchProps extends Omit<React.ComponentPropsWithoutRef<'label'>, 'onChange' | 'dir'> {
4
+ inputProps?: React.InputHTMLAttributes<HTMLInputElement>;
5
+ labelProps?: React.ComponentPropsWithoutRef<'span'>;
6
+ rootRef?: React.Ref<HTMLLabelElement>;
7
+ trackLabel?: {
8
+ on: React.ReactNode;
9
+ off: React.ReactNode;
10
+ };
11
+ thumbLabel?: {
12
+ on: React.ReactNode;
13
+ off: React.ReactNode;
14
+ };
15
+ checked?: boolean;
16
+ defaultChecked?: boolean;
17
+ onCheckedChange?: (details: {
18
+ checked: boolean;
19
+ }) => void;
20
+ onChange?: React.FormEventHandler<HTMLLabelElement>;
21
+ disabled?: boolean;
22
+ size?: 'sm' | 'md' | 'lg';
23
+ direction?: 'ltr' | 'rtl';
24
+ }
25
+ declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLInputElement>>;
26
+
27
+ export { Switch, type SwitchProps };
@@ -0,0 +1,27 @@
1
+ import * as React from 'react';
2
+
3
+ interface SwitchProps extends Omit<React.ComponentPropsWithoutRef<'label'>, 'onChange' | 'dir'> {
4
+ inputProps?: React.InputHTMLAttributes<HTMLInputElement>;
5
+ labelProps?: React.ComponentPropsWithoutRef<'span'>;
6
+ rootRef?: React.Ref<HTMLLabelElement>;
7
+ trackLabel?: {
8
+ on: React.ReactNode;
9
+ off: React.ReactNode;
10
+ };
11
+ thumbLabel?: {
12
+ on: React.ReactNode;
13
+ off: React.ReactNode;
14
+ };
15
+ checked?: boolean;
16
+ defaultChecked?: boolean;
17
+ onCheckedChange?: (details: {
18
+ checked: boolean;
19
+ }) => void;
20
+ onChange?: React.FormEventHandler<HTMLLabelElement>;
21
+ disabled?: boolean;
22
+ size?: 'sm' | 'md' | 'lg';
23
+ direction?: 'ltr' | 'rtl';
24
+ }
25
+ declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLInputElement>>;
26
+
27
+ export { Switch, type SwitchProps };
package/dist/table.cjs CHANGED
@@ -145,11 +145,7 @@ function stripShims(props) {
145
145
  for (const k of SHIM_PROPS) delete out[k];
146
146
  return out;
147
147
  }
148
- var SKELETON_CLASSES = [
149
- "animate-skeleton-shimmer rounded-sm",
150
- "bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
151
- "bg-[length:200%_100%]"
152
- ].join(" ");
148
+ var SKELETON_CLASSES = "lux-skeleton rounded-sm";
153
149
  var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
154
150
  var Skeleton = React3__namespace.forwardRef(
155
151
  function Skeleton2(props, ref) {
@@ -169,7 +165,7 @@ var Skeleton = React3__namespace.forwardRef(
169
165
  {
170
166
  ref,
171
167
  "data-loading": true,
172
- className: cn(SKELETON_CLASSES, "text-transparent [&_*]:invisible", cls),
168
+ className: cn(SKELETON_CLASSES, "[&_*]:invisible", cls),
173
169
  style: mergedStyle,
174
170
  ...htmlRest,
175
171
  children
@@ -181,7 +177,7 @@ var Skeleton = React3__namespace.forwardRef(
181
177
  {
182
178
  ref,
183
179
  "data-loading": true,
184
- className: cn(SKELETON_CLASSES, children ? "text-transparent [&_*]:invisible" : "min-h-5", cls),
180
+ className: cn(SKELETON_CLASSES, children ? "[&_*]:invisible" : "min-h-5", cls),
185
181
  style: mergedStyle,
186
182
  ...htmlRest,
187
183
  children
@@ -0,0 +1,107 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ interface ChakraStyleProps {
5
+ width?: React.CSSProperties['width'];
6
+ w?: React.CSSProperties['width'];
7
+ minWidth?: React.CSSProperties['minWidth'];
8
+ minW?: React.CSSProperties['minWidth'];
9
+ maxWidth?: React.CSSProperties['maxWidth'];
10
+ maxW?: React.CSSProperties['maxWidth'];
11
+ height?: React.CSSProperties['height'];
12
+ h?: React.CSSProperties['height'];
13
+ textAlign?: React.CSSProperties['textAlign'];
14
+ verticalAlign?: React.CSSProperties['verticalAlign'];
15
+ whiteSpace?: React.CSSProperties['whiteSpace'];
16
+ wordBreak?: React.CSSProperties['wordBreak'];
17
+ textTransform?: React.CSSProperties['textTransform'];
18
+ fontSize?: React.CSSProperties['fontSize'];
19
+ lineHeight?: React.CSSProperties['lineHeight'];
20
+ animation?: React.CSSProperties['animation'];
21
+ tableLayout?: React.CSSProperties['tableLayout'];
22
+ p?: number | string;
23
+ px?: number | string;
24
+ py?: number | string;
25
+ pr?: number | string;
26
+ pl?: number | string;
27
+ pt?: number | string;
28
+ pb?: number | string;
29
+ m?: number | string;
30
+ mx?: number | string;
31
+ my?: number | string;
32
+ mr?: number | string;
33
+ ml?: number | string;
34
+ mt?: number | string;
35
+ mb?: number | string;
36
+ position?: React.CSSProperties['position'];
37
+ top?: number | string;
38
+ left?: number | string;
39
+ right?: number | string;
40
+ bottom?: number | string;
41
+ zIndex?: React.CSSProperties['zIndex'];
42
+ backgroundColor?: React.CSSProperties['backgroundColor'] | Record<string, string>;
43
+ boxShadow?: React.CSSProperties['boxShadow'];
44
+ alignItems?: React.CSSProperties['alignItems'];
45
+ fontWeight?: React.CSSProperties['fontWeight'];
46
+ color?: React.CSSProperties['color'] | string;
47
+ overflow?: React.CSSProperties['overflow'];
48
+ borderBottomStyle?: React.CSSProperties['borderBottomStyle'];
49
+ borderRadius?: React.CSSProperties['borderRadius'];
50
+ display?: React.CSSProperties['display'];
51
+ _first?: Record<string, unknown>;
52
+ _last?: Record<string, unknown>;
53
+ }
54
+ interface TableRootProps extends Omit<ChakraStyleProps, 'minWidth' | 'minW'>, Omit<React.HTMLAttributes<HTMLTableElement>, 'color'> {
55
+ children?: React.ReactNode;
56
+ minWidth?: React.CSSProperties['minWidth'] | Record<string, string>;
57
+ minW?: React.CSSProperties['minWidth'] | Record<string, string>;
58
+ }
59
+ declare const TableRoot: React.ForwardRefExoticComponent<TableRootProps & React.RefAttributes<HTMLTableElement>>;
60
+ interface TableHeaderProps extends ChakraStyleProps, Omit<React.HTMLAttributes<HTMLTableSectionElement>, 'color'> {
61
+ children?: React.ReactNode;
62
+ }
63
+ declare const TableHeader: React.ForwardRefExoticComponent<TableHeaderProps & React.RefAttributes<HTMLTableSectionElement>>;
64
+ interface TableBodyProps extends ChakraStyleProps, Omit<React.HTMLAttributes<HTMLTableSectionElement>, 'color'> {
65
+ children?: React.ReactNode;
66
+ }
67
+ declare const TableBody: React.ForwardRefExoticComponent<TableBodyProps & React.RefAttributes<HTMLTableSectionElement>>;
68
+ interface TableRowProps extends ChakraStyleProps, Omit<React.HTMLAttributes<HTMLTableRowElement>, 'color'> {
69
+ children?: React.ReactNode;
70
+ }
71
+ declare const TableRow: React.ForwardRefExoticComponent<TableRowProps & React.RefAttributes<HTMLTableRowElement>>;
72
+ interface TableCellProps extends Omit<ChakraStyleProps, 'width' | 'height'>, Omit<React.TdHTMLAttributes<HTMLTableCellElement>, 'color'> {
73
+ isNumeric?: boolean;
74
+ children?: React.ReactNode;
75
+ display?: string;
76
+ justifyContent?: string;
77
+ }
78
+ declare const TableCell: React.ForwardRefExoticComponent<TableCellProps & React.RefAttributes<HTMLTableCellElement>>;
79
+ interface TableColumnHeaderProps extends ChakraStyleProps, Omit<React.ThHTMLAttributes<HTMLTableCellElement>, 'color'> {
80
+ isNumeric?: boolean;
81
+ children?: React.ReactNode;
82
+ }
83
+ declare const TableColumnHeader: React.ForwardRefExoticComponent<TableColumnHeaderProps & React.RefAttributes<HTMLTableCellElement>>;
84
+ interface TableColumnHeaderSortableProps<F extends string> extends TableColumnHeaderProps {
85
+ sortField: F;
86
+ sortValue: string;
87
+ onSortToggle: (sortField: F) => void;
88
+ disabled?: boolean;
89
+ indicatorPosition?: 'left' | 'right';
90
+ contentAfter?: React.ReactNode;
91
+ }
92
+ declare const TableColumnHeaderSortable: <F extends string>(props: TableColumnHeaderSortableProps<F>) => react_jsx_runtime.JSX.Element;
93
+ declare const TableHeaderSticky: (props: TableHeaderProps) => react_jsx_runtime.JSX.Element;
94
+ interface TableCaptionProps extends ChakraStyleProps, Omit<React.HTMLAttributes<HTMLTableCaptionElement>, 'color'> {
95
+ children?: React.ReactNode;
96
+ }
97
+ declare const TableCaption: React.ForwardRefExoticComponent<TableCaptionProps & React.RefAttributes<HTMLTableCaptionElement>>;
98
+ interface TableFooterProps extends ChakraStyleProps, Omit<React.HTMLAttributes<HTMLTableSectionElement>, 'color'> {
99
+ children?: React.ReactNode;
100
+ }
101
+ declare const TableFooter: React.ForwardRefExoticComponent<TableFooterProps & React.RefAttributes<HTMLTableSectionElement>>;
102
+ interface TableScrollWrapperProps extends React.HTMLAttributes<HTMLDivElement> {
103
+ children?: React.ReactNode;
104
+ }
105
+ declare const TableScrollWrapper: React.ForwardRefExoticComponent<TableScrollWrapperProps & React.RefAttributes<HTMLDivElement>>;
106
+
107
+ export { TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableColumnHeader, type TableColumnHeaderProps, TableColumnHeaderSortable, type TableColumnHeaderSortableProps, TableFooter, type TableFooterProps, TableHeader, type TableHeaderProps, TableHeaderSticky, TableRoot, type TableRootProps, TableRow, type TableRowProps, TableScrollWrapper, type TableScrollWrapperProps };
@@ -0,0 +1,107 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ interface ChakraStyleProps {
5
+ width?: React.CSSProperties['width'];
6
+ w?: React.CSSProperties['width'];
7
+ minWidth?: React.CSSProperties['minWidth'];
8
+ minW?: React.CSSProperties['minWidth'];
9
+ maxWidth?: React.CSSProperties['maxWidth'];
10
+ maxW?: React.CSSProperties['maxWidth'];
11
+ height?: React.CSSProperties['height'];
12
+ h?: React.CSSProperties['height'];
13
+ textAlign?: React.CSSProperties['textAlign'];
14
+ verticalAlign?: React.CSSProperties['verticalAlign'];
15
+ whiteSpace?: React.CSSProperties['whiteSpace'];
16
+ wordBreak?: React.CSSProperties['wordBreak'];
17
+ textTransform?: React.CSSProperties['textTransform'];
18
+ fontSize?: React.CSSProperties['fontSize'];
19
+ lineHeight?: React.CSSProperties['lineHeight'];
20
+ animation?: React.CSSProperties['animation'];
21
+ tableLayout?: React.CSSProperties['tableLayout'];
22
+ p?: number | string;
23
+ px?: number | string;
24
+ py?: number | string;
25
+ pr?: number | string;
26
+ pl?: number | string;
27
+ pt?: number | string;
28
+ pb?: number | string;
29
+ m?: number | string;
30
+ mx?: number | string;
31
+ my?: number | string;
32
+ mr?: number | string;
33
+ ml?: number | string;
34
+ mt?: number | string;
35
+ mb?: number | string;
36
+ position?: React.CSSProperties['position'];
37
+ top?: number | string;
38
+ left?: number | string;
39
+ right?: number | string;
40
+ bottom?: number | string;
41
+ zIndex?: React.CSSProperties['zIndex'];
42
+ backgroundColor?: React.CSSProperties['backgroundColor'] | Record<string, string>;
43
+ boxShadow?: React.CSSProperties['boxShadow'];
44
+ alignItems?: React.CSSProperties['alignItems'];
45
+ fontWeight?: React.CSSProperties['fontWeight'];
46
+ color?: React.CSSProperties['color'] | string;
47
+ overflow?: React.CSSProperties['overflow'];
48
+ borderBottomStyle?: React.CSSProperties['borderBottomStyle'];
49
+ borderRadius?: React.CSSProperties['borderRadius'];
50
+ display?: React.CSSProperties['display'];
51
+ _first?: Record<string, unknown>;
52
+ _last?: Record<string, unknown>;
53
+ }
54
+ interface TableRootProps extends Omit<ChakraStyleProps, 'minWidth' | 'minW'>, Omit<React.HTMLAttributes<HTMLTableElement>, 'color'> {
55
+ children?: React.ReactNode;
56
+ minWidth?: React.CSSProperties['minWidth'] | Record<string, string>;
57
+ minW?: React.CSSProperties['minWidth'] | Record<string, string>;
58
+ }
59
+ declare const TableRoot: React.ForwardRefExoticComponent<TableRootProps & React.RefAttributes<HTMLTableElement>>;
60
+ interface TableHeaderProps extends ChakraStyleProps, Omit<React.HTMLAttributes<HTMLTableSectionElement>, 'color'> {
61
+ children?: React.ReactNode;
62
+ }
63
+ declare const TableHeader: React.ForwardRefExoticComponent<TableHeaderProps & React.RefAttributes<HTMLTableSectionElement>>;
64
+ interface TableBodyProps extends ChakraStyleProps, Omit<React.HTMLAttributes<HTMLTableSectionElement>, 'color'> {
65
+ children?: React.ReactNode;
66
+ }
67
+ declare const TableBody: React.ForwardRefExoticComponent<TableBodyProps & React.RefAttributes<HTMLTableSectionElement>>;
68
+ interface TableRowProps extends ChakraStyleProps, Omit<React.HTMLAttributes<HTMLTableRowElement>, 'color'> {
69
+ children?: React.ReactNode;
70
+ }
71
+ declare const TableRow: React.ForwardRefExoticComponent<TableRowProps & React.RefAttributes<HTMLTableRowElement>>;
72
+ interface TableCellProps extends Omit<ChakraStyleProps, 'width' | 'height'>, Omit<React.TdHTMLAttributes<HTMLTableCellElement>, 'color'> {
73
+ isNumeric?: boolean;
74
+ children?: React.ReactNode;
75
+ display?: string;
76
+ justifyContent?: string;
77
+ }
78
+ declare const TableCell: React.ForwardRefExoticComponent<TableCellProps & React.RefAttributes<HTMLTableCellElement>>;
79
+ interface TableColumnHeaderProps extends ChakraStyleProps, Omit<React.ThHTMLAttributes<HTMLTableCellElement>, 'color'> {
80
+ isNumeric?: boolean;
81
+ children?: React.ReactNode;
82
+ }
83
+ declare const TableColumnHeader: React.ForwardRefExoticComponent<TableColumnHeaderProps & React.RefAttributes<HTMLTableCellElement>>;
84
+ interface TableColumnHeaderSortableProps<F extends string> extends TableColumnHeaderProps {
85
+ sortField: F;
86
+ sortValue: string;
87
+ onSortToggle: (sortField: F) => void;
88
+ disabled?: boolean;
89
+ indicatorPosition?: 'left' | 'right';
90
+ contentAfter?: React.ReactNode;
91
+ }
92
+ declare const TableColumnHeaderSortable: <F extends string>(props: TableColumnHeaderSortableProps<F>) => react_jsx_runtime.JSX.Element;
93
+ declare const TableHeaderSticky: (props: TableHeaderProps) => react_jsx_runtime.JSX.Element;
94
+ interface TableCaptionProps extends ChakraStyleProps, Omit<React.HTMLAttributes<HTMLTableCaptionElement>, 'color'> {
95
+ children?: React.ReactNode;
96
+ }
97
+ declare const TableCaption: React.ForwardRefExoticComponent<TableCaptionProps & React.RefAttributes<HTMLTableCaptionElement>>;
98
+ interface TableFooterProps extends ChakraStyleProps, Omit<React.HTMLAttributes<HTMLTableSectionElement>, 'color'> {
99
+ children?: React.ReactNode;
100
+ }
101
+ declare const TableFooter: React.ForwardRefExoticComponent<TableFooterProps & React.RefAttributes<HTMLTableSectionElement>>;
102
+ interface TableScrollWrapperProps extends React.HTMLAttributes<HTMLDivElement> {
103
+ children?: React.ReactNode;
104
+ }
105
+ declare const TableScrollWrapper: React.ForwardRefExoticComponent<TableScrollWrapperProps & React.RefAttributes<HTMLDivElement>>;
106
+
107
+ export { TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableColumnHeader, type TableColumnHeaderProps, TableColumnHeaderSortable, type TableColumnHeaderSortableProps, TableFooter, type TableFooterProps, TableHeader, type TableHeaderProps, TableHeaderSticky, TableRoot, type TableRootProps, TableRow, type TableRowProps, TableScrollWrapper, type TableScrollWrapperProps };
package/dist/table.js CHANGED
@@ -124,11 +124,7 @@ function stripShims(props) {
124
124
  for (const k of SHIM_PROPS) delete out[k];
125
125
  return out;
126
126
  }
127
- var SKELETON_CLASSES = [
128
- "animate-skeleton-shimmer rounded-sm",
129
- "bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
130
- "bg-[length:200%_100%]"
131
- ].join(" ");
127
+ var SKELETON_CLASSES = "lux-skeleton rounded-sm";
132
128
  var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
133
129
  var Skeleton = React3.forwardRef(
134
130
  function Skeleton2(props, ref) {
@@ -148,7 +144,7 @@ var Skeleton = React3.forwardRef(
148
144
  {
149
145
  ref,
150
146
  "data-loading": true,
151
- className: cn(SKELETON_CLASSES, "text-transparent [&_*]:invisible", cls),
147
+ className: cn(SKELETON_CLASSES, "[&_*]:invisible", cls),
152
148
  style: mergedStyle,
153
149
  ...htmlRest,
154
150
  children
@@ -160,7 +156,7 @@ var Skeleton = React3.forwardRef(
160
156
  {
161
157
  ref,
162
158
  "data-loading": true,
163
- className: cn(SKELETON_CLASSES, children ? "text-transparent [&_*]:invisible" : "min-h-5", cls),
159
+ className: cn(SKELETON_CLASSES, children ? "[&_*]:invisible" : "min-h-5", cls),
164
160
  style: mergedStyle,
165
161
  ...htmlRest,
166
162
  children
@@ -0,0 +1,78 @@
1
+ import * as RadixTabs from '@radix-ui/react-tabs';
2
+ import * as React from 'react';
3
+
4
+ type TabsVariant = 'solid' | 'secondary' | 'segmented' | 'unstyled';
5
+ type TabsSize = 'sm' | 'md' | 'free';
6
+ interface TabsProps extends Omit<React.ComponentPropsWithoutRef<typeof RadixTabs.Root>, 'onValueChange'> {
7
+ /** Visual variant. Default: "solid". */
8
+ variant?: TabsVariant;
9
+ /** Size preset. Default: "md". */
10
+ size?: TabsSize;
11
+ /** Stretch triggers to fill the list width. */
12
+ fitted?: boolean;
13
+ /**
14
+ * @deprecated Chakra-compat. Radix mounts lazily by default (content only
15
+ * renders when active). Kept so call-sites don't break at compile time.
16
+ */
17
+ lazyMount?: boolean;
18
+ /**
19
+ * @deprecated Chakra-compat. Radix unmounts inactive content by default.
20
+ * Kept so call-sites don't break at compile time.
21
+ */
22
+ unmountOnExit?: boolean;
23
+ /**
24
+ * Chakra-compatible value-change handler.
25
+ * Accepts both `(details: { value: string }) => void` (Chakra convention)
26
+ * and `(value: string) => void` (Radix convention).
27
+ */
28
+ onValueChange?: ((details: {
29
+ value: string;
30
+ }) => void) | ((value: string) => void);
31
+ }
32
+ declare const TabsRoot: React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLDivElement>>;
33
+ interface TabsListProps extends React.HTMLAttributes<HTMLDivElement> {
34
+ asChild?: boolean;
35
+ loop?: boolean;
36
+ flexWrap?: string;
37
+ alignItems?: string;
38
+ whiteSpace?: string;
39
+ bgColor?: string;
40
+ marginBottom?: number | string;
41
+ mx?: string | Record<string, string>;
42
+ px?: string | Record<string, string>;
43
+ w?: string | Record<string, string>;
44
+ overflowX?: string | Record<string, string>;
45
+ overscrollBehaviorX?: string;
46
+ css?: Record<string, unknown>;
47
+ position?: string;
48
+ boxShadow?: string | Record<string, string>;
49
+ top?: number | string;
50
+ zIndex?: string | Record<string, string>;
51
+ }
52
+ declare const TabsList: React.ForwardRefExoticComponent<TabsListProps & React.RefAttributes<HTMLDivElement>>;
53
+ interface TabsTriggerProps extends Omit<React.ComponentPropsWithoutRef<typeof RadixTabs.Trigger>, 'dir'> {
54
+ scrollSnapAlign?: string;
55
+ flexShrink?: number;
56
+ bgColor?: string | Record<string, string>;
57
+ w?: string;
58
+ py?: string;
59
+ borderRadius?: string;
60
+ fontWeight?: string;
61
+ color?: string;
62
+ _hover?: Record<string, string>;
63
+ position?: string;
64
+ top?: string;
65
+ left?: string;
66
+ visibility?: string;
67
+ }
68
+ declare const TabsTrigger: React.ForwardRefExoticComponent<TabsTriggerProps & React.RefAttributes<HTMLButtonElement>>;
69
+ interface TabsContentProps extends React.ComponentPropsWithoutRef<typeof RadixTabs.Content> {
70
+ padding?: number | string;
71
+ }
72
+ declare const TabsContent: React.ForwardRefExoticComponent<TabsContentProps & React.RefAttributes<HTMLDivElement>>;
73
+ interface TabsCounterProps {
74
+ count?: number | null;
75
+ }
76
+ declare const TabsCounter: ({ count }: TabsCounterProps) => React.ReactElement | null;
77
+
78
+ export { TabsContent, type TabsContentProps, TabsCounter, type TabsCounterProps, TabsList, type TabsListProps, type TabsProps, TabsRoot, TabsTrigger, type TabsTriggerProps };