@luxfi/ui 7.4.6 → 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.
@@ -146,11 +146,7 @@ function stripShims(props) {
146
146
  for (const k of SHIM_PROPS) delete out[k];
147
147
  return out;
148
148
  }
149
- var SKELETON_CLASSES = [
150
- "animate-skeleton-shimmer rounded-sm",
151
- "bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
152
- "bg-[length:200%_100%]"
153
- ].join(" ");
149
+ var SKELETON_CLASSES = "lux-skeleton rounded-sm";
154
150
  var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
155
151
  var Skeleton = React3__namespace.forwardRef(
156
152
  function Skeleton2(props, ref) {
@@ -170,7 +166,7 @@ var Skeleton = React3__namespace.forwardRef(
170
166
  {
171
167
  ref,
172
168
  "data-loading": true,
173
- className: cn(SKELETON_CLASSES, "text-transparent [&_*]:invisible", cls),
169
+ className: cn(SKELETON_CLASSES, "[&_*]:invisible", cls),
174
170
  style: mergedStyle,
175
171
  ...htmlRest,
176
172
  children
@@ -182,7 +178,7 @@ var Skeleton = React3__namespace.forwardRef(
182
178
  {
183
179
  ref,
184
180
  "data-loading": true,
185
- className: cn(SKELETON_CLASSES, children ? "text-transparent [&_*]:invisible" : "min-h-5", cls),
181
+ className: cn(SKELETON_CLASSES, children ? "[&_*]:invisible" : "min-h-5", cls),
186
182
  style: mergedStyle,
187
183
  ...htmlRest,
188
184
  children
@@ -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
@@ -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 = React__namespace.forwardRef(
155
151
  function Skeleton2(props, ref) {
@@ -169,7 +165,7 @@ var Skeleton = React__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 = React__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
@@ -123,11 +123,7 @@ function stripShims(props) {
123
123
  for (const k of SHIM_PROPS) delete out[k];
124
124
  return out;
125
125
  }
126
- var SKELETON_CLASSES = [
127
- "animate-skeleton-shimmer rounded-sm",
128
- "bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
129
- "bg-[length:200%_100%]"
130
- ].join(" ");
126
+ var SKELETON_CLASSES = "lux-skeleton rounded-sm";
131
127
  var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
132
128
  var Skeleton = React.forwardRef(
133
129
  function Skeleton2(props, ref) {
@@ -147,7 +143,7 @@ var Skeleton = React.forwardRef(
147
143
  {
148
144
  ref,
149
145
  "data-loading": true,
150
- className: cn(SKELETON_CLASSES, "text-transparent [&_*]:invisible", cls),
146
+ className: cn(SKELETON_CLASSES, "[&_*]:invisible", cls),
151
147
  style: mergedStyle,
152
148
  ...htmlRest,
153
149
  children
@@ -159,7 +155,7 @@ var Skeleton = React.forwardRef(
159
155
  {
160
156
  ref,
161
157
  "data-loading": true,
162
- className: cn(SKELETON_CLASSES, children ? "text-transparent [&_*]:invisible" : "min-h-5", cls),
158
+ className: cn(SKELETON_CLASSES, children ? "[&_*]:invisible" : "min-h-5", cls),
163
159
  style: mergedStyle,
164
160
  ...htmlRest,
165
161
  children
package/dist/icons.cjs CHANGED
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  'use strict';
3
2
 
4
3
  var lucideReact = require('lucide-react');
package/dist/icons.js CHANGED
@@ -1,2 +1 @@
1
- "use client";
2
1
  export * from 'lucide-react';
package/dist/image.cjs CHANGED
@@ -144,11 +144,7 @@ function stripShims(props) {
144
144
  for (const k of SHIM_PROPS) delete out[k];
145
145
  return out;
146
146
  }
147
- var SKELETON_CLASSES = [
148
- "animate-skeleton-shimmer rounded-sm",
149
- "bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
150
- "bg-[length:200%_100%]"
151
- ].join(" ");
147
+ var SKELETON_CLASSES = "lux-skeleton rounded-sm";
152
148
  var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
153
149
  var Skeleton = React2__namespace.forwardRef(
154
150
  function Skeleton2(props, ref) {
@@ -168,7 +164,7 @@ var Skeleton = React2__namespace.forwardRef(
168
164
  {
169
165
  ref,
170
166
  "data-loading": true,
171
- className: cn(SKELETON_CLASSES, "text-transparent [&_*]:invisible", cls),
167
+ className: cn(SKELETON_CLASSES, "[&_*]:invisible", cls),
172
168
  style: mergedStyle,
173
169
  ...htmlRest,
174
170
  children
@@ -180,7 +176,7 @@ var Skeleton = React2__namespace.forwardRef(
180
176
  {
181
177
  ref,
182
178
  "data-loading": true,
183
- className: cn(SKELETON_CLASSES, children ? "text-transparent [&_*]:invisible" : "min-h-5", cls),
179
+ className: cn(SKELETON_CLASSES, children ? "[&_*]:invisible" : "min-h-5", cls),
184
180
  style: mergedStyle,
185
181
  ...htmlRest,
186
182
  children
package/dist/image.js CHANGED
@@ -123,11 +123,7 @@ function stripShims(props) {
123
123
  for (const k of SHIM_PROPS) delete out[k];
124
124
  return out;
125
125
  }
126
- var SKELETON_CLASSES = [
127
- "animate-skeleton-shimmer rounded-sm",
128
- "bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
129
- "bg-[length:200%_100%]"
130
- ].join(" ");
126
+ var SKELETON_CLASSES = "lux-skeleton rounded-sm";
131
127
  var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
132
128
  var Skeleton = React2.forwardRef(
133
129
  function Skeleton2(props, ref) {
@@ -147,7 +143,7 @@ var Skeleton = React2.forwardRef(
147
143
  {
148
144
  ref,
149
145
  "data-loading": true,
150
- className: cn(SKELETON_CLASSES, "text-transparent [&_*]:invisible", cls),
146
+ className: cn(SKELETON_CLASSES, "[&_*]:invisible", cls),
151
147
  style: mergedStyle,
152
148
  ...htmlRest,
153
149
  children
@@ -159,7 +155,7 @@ var Skeleton = React2.forwardRef(
159
155
  {
160
156
  ref,
161
157
  "data-loading": true,
162
- className: cn(SKELETON_CLASSES, children ? "text-transparent [&_*]:invisible" : "min-h-5", cls),
158
+ className: cn(SKELETON_CLASSES, children ? "[&_*]:invisible" : "min-h-5", cls),
163
159
  style: mergedStyle,
164
160
  ...htmlRest,
165
161
  children
package/dist/index.cjs CHANGED
@@ -1591,11 +1591,7 @@ function stripShims(props) {
1591
1591
  for (const k of SHIM_PROPS) delete out[k];
1592
1592
  return out;
1593
1593
  }
1594
- var SKELETON_CLASSES = [
1595
- "animate-skeleton-shimmer rounded-sm",
1596
- "bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
1597
- "bg-[length:200%_100%]"
1598
- ].join(" ");
1594
+ var SKELETON_CLASSES = "lux-skeleton rounded-sm";
1599
1595
  var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
1600
1596
  var Skeleton = React33__namespace.forwardRef(
1601
1597
  function Skeleton2(props, ref) {
@@ -1615,7 +1611,7 @@ var Skeleton = React33__namespace.forwardRef(
1615
1611
  {
1616
1612
  ref,
1617
1613
  "data-loading": true,
1618
- className: cn(SKELETON_CLASSES, "text-transparent [&_*]:invisible", cls),
1614
+ className: cn(SKELETON_CLASSES, "[&_*]:invisible", cls),
1619
1615
  style: mergedStyle,
1620
1616
  ...htmlRest,
1621
1617
  children
@@ -1627,7 +1623,7 @@ var Skeleton = React33__namespace.forwardRef(
1627
1623
  {
1628
1624
  ref,
1629
1625
  "data-loading": true,
1630
- className: cn(SKELETON_CLASSES, children ? "text-transparent [&_*]:invisible" : "min-h-5", cls),
1626
+ className: cn(SKELETON_CLASSES, children ? "[&_*]:invisible" : "min-h-5", cls),
1631
1627
  style: mergedStyle,
1632
1628
  ...htmlRest,
1633
1629
  children
@@ -1664,6 +1660,10 @@ var SkeletonText = React33__namespace.forwardRef(
1664
1660
  )) });
1665
1661
  }
1666
1662
  );
1663
+ function LoadingBar({ loading = true }) {
1664
+ if (!loading) return null;
1665
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "lux-loading", role: "progressbar", "aria-busy": "true", "aria-label": "Loading" });
1666
+ }
1667
1667
  var IndicatorIcon2 = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { className, viewBox: "0 0 20 20", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm.75-11.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM9.25 10a.75.75 0 011.5 0v3a.75.75 0 01-1.5 0v-3z" }) });
1668
1668
  var ALERT_BASE = "w-full flex items-start relative rounded text-[var(--color-alert-fg)]";
1669
1669
  var STATUS_CLASSES = {
@@ -1978,7 +1978,7 @@ var Tooltip = React33__namespace.forwardRef(
1978
1978
  {
1979
1979
  ref: triggerRef,
1980
1980
  asChild: true,
1981
- ...isMobile ? { onPress: handleTriggerClick } : {},
1981
+ ...isMobile ? { onClick: handleTriggerClick } : {},
1982
1982
  ...triggerProps,
1983
1983
  children
1984
1984
  }
@@ -7904,6 +7904,7 @@ exports.Link = Link;
7904
7904
  exports.LinkBox = LinkBox;
7905
7905
  exports.LinkExternalIcon = LinkExternalIcon;
7906
7906
  exports.LinkOverlay = LinkOverlay;
7907
+ exports.LoadingBar = LoadingBar;
7907
7908
  exports.MenuArrow = MenuArrow;
7908
7909
  exports.MenuCheckboxItem = MenuCheckboxItem;
7909
7910
  exports.MenuContent = MenuContent;
package/dist/index.d.cts CHANGED
@@ -34,7 +34,7 @@ export { Radio, RadioGroup } from './radio.cjs';
34
34
  export { Rating } from './rating.cjs';
35
35
  export { ListCollection, Select, SelectAsync, SelectAsyncProps, SelectClearTrigger, SelectContent, SelectControl, SelectItem, SelectItemGroup, SelectItemText, SelectLabel, SelectOption, SelectProps, SelectRoot, SelectRootProps, SelectValueText, createListCollection } from './select.cjs';
36
36
  export { Separator, SeparatorProps } from './separator.cjs';
37
- export { Skeleton, SkeletonCircle, SkeletonCircleProps, SkeletonProps, SkeletonText, SkeletonTextProps } from './skeleton.cjs';
37
+ export { LoadingBar, Skeleton, SkeletonCircle, SkeletonCircleProps, SkeletonProps, SkeletonText, SkeletonTextProps } from './skeleton.cjs';
38
38
  export { Slider } from './slider.cjs';
39
39
  export { Switch } from './switch.cjs';
40
40
  export { TableBody, TableCaption, TableCell, TableColumnHeader, TableColumnHeaderSortable, TableFooter, TableHeader, TableHeaderSticky, TableRoot, TableRow, TableScrollWrapper } from './table.cjs';
package/dist/index.d.ts CHANGED
@@ -34,7 +34,7 @@ export { Radio, RadioGroup } from './radio.js';
34
34
  export { Rating } from './rating.js';
35
35
  export { ListCollection, Select, SelectAsync, SelectAsyncProps, SelectClearTrigger, SelectContent, SelectControl, SelectItem, SelectItemGroup, SelectItemText, SelectLabel, SelectOption, SelectProps, SelectRoot, SelectRootProps, SelectValueText, createListCollection } from './select.js';
36
36
  export { Separator, SeparatorProps } from './separator.js';
37
- export { Skeleton, SkeletonCircle, SkeletonCircleProps, SkeletonProps, SkeletonText, SkeletonTextProps } from './skeleton.js';
37
+ export { LoadingBar, Skeleton, SkeletonCircle, SkeletonCircleProps, SkeletonProps, SkeletonText, SkeletonTextProps } from './skeleton.js';
38
38
  export { Slider } from './slider.js';
39
39
  export { Switch } from './switch.js';
40
40
  export { TableBody, TableCaption, TableCell, TableColumnHeader, TableColumnHeaderSortable, TableFooter, TableHeader, TableHeaderSticky, TableRoot, TableRow, TableScrollWrapper } from './table.js';
package/dist/index.js CHANGED
@@ -1563,11 +1563,7 @@ function stripShims(props) {
1563
1563
  for (const k of SHIM_PROPS) delete out[k];
1564
1564
  return out;
1565
1565
  }
1566
- var SKELETON_CLASSES = [
1567
- "animate-skeleton-shimmer rounded-sm",
1568
- "bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
1569
- "bg-[length:200%_100%]"
1570
- ].join(" ");
1566
+ var SKELETON_CLASSES = "lux-skeleton rounded-sm";
1571
1567
  var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
1572
1568
  var Skeleton = React33.forwardRef(
1573
1569
  function Skeleton2(props, ref) {
@@ -1587,7 +1583,7 @@ var Skeleton = React33.forwardRef(
1587
1583
  {
1588
1584
  ref,
1589
1585
  "data-loading": true,
1590
- className: cn(SKELETON_CLASSES, "text-transparent [&_*]:invisible", cls),
1586
+ className: cn(SKELETON_CLASSES, "[&_*]:invisible", cls),
1591
1587
  style: mergedStyle,
1592
1588
  ...htmlRest,
1593
1589
  children
@@ -1599,7 +1595,7 @@ var Skeleton = React33.forwardRef(
1599
1595
  {
1600
1596
  ref,
1601
1597
  "data-loading": true,
1602
- className: cn(SKELETON_CLASSES, children ? "text-transparent [&_*]:invisible" : "min-h-5", cls),
1598
+ className: cn(SKELETON_CLASSES, children ? "[&_*]:invisible" : "min-h-5", cls),
1603
1599
  style: mergedStyle,
1604
1600
  ...htmlRest,
1605
1601
  children
@@ -1636,6 +1632,10 @@ var SkeletonText = React33.forwardRef(
1636
1632
  )) });
1637
1633
  }
1638
1634
  );
1635
+ function LoadingBar({ loading = true }) {
1636
+ if (!loading) return null;
1637
+ return /* @__PURE__ */ jsx("div", { className: "lux-loading", role: "progressbar", "aria-busy": "true", "aria-label": "Loading" });
1638
+ }
1639
1639
  var IndicatorIcon2 = ({ className }) => /* @__PURE__ */ jsx("svg", { className, viewBox: "0 0 20 20", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm.75-11.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM9.25 10a.75.75 0 011.5 0v3a.75.75 0 01-1.5 0v-3z" }) });
1640
1640
  var ALERT_BASE = "w-full flex items-start relative rounded text-[var(--color-alert-fg)]";
1641
1641
  var STATUS_CLASSES = {
@@ -1950,7 +1950,7 @@ var Tooltip = React33.forwardRef(
1950
1950
  {
1951
1951
  ref: triggerRef,
1952
1952
  asChild: true,
1953
- ...isMobile ? { onPress: handleTriggerClick } : {},
1953
+ ...isMobile ? { onClick: handleTriggerClick } : {},
1954
1954
  ...triggerProps,
1955
1955
  children
1956
1956
  }
@@ -7806,4 +7806,4 @@ var BankPage = styled(View, {
7806
7806
  padding: 16
7807
7807
  });
7808
7808
 
7809
- 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, 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, RadioGroup3 as RadioGroup, Rating, Select, SelectAsync, SelectClearTrigger, SelectContent, SelectControl, SelectItem, SelectItemGroup, SelectItemText, SelectLabel, SelectRoot, SelectValueText, Separator2 as 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 };
7809
+ 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, RadioGroup3 as RadioGroup, Rating, Select, SelectAsync, SelectClearTrigger, SelectContent, SelectControl, SelectItem, SelectItemGroup, SelectItemText, SelectLabel, SelectRoot, SelectValueText, Separator2 as 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 };
package/dist/link.cjs CHANGED
@@ -144,11 +144,7 @@ function stripShims(props) {
144
144
  for (const k of SHIM_PROPS) delete out[k];
145
145
  return out;
146
146
  }
147
- var SKELETON_CLASSES = [
148
- "animate-skeleton-shimmer rounded-sm",
149
- "bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
150
- "bg-[length:200%_100%]"
151
- ].join(" ");
147
+ var SKELETON_CLASSES = "lux-skeleton rounded-sm";
152
148
  var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
153
149
  var Skeleton = React__namespace.forwardRef(
154
150
  function Skeleton2(props, ref) {
@@ -168,7 +164,7 @@ var Skeleton = React__namespace.forwardRef(
168
164
  {
169
165
  ref,
170
166
  "data-loading": true,
171
- className: cn(SKELETON_CLASSES, "text-transparent [&_*]:invisible", cls),
167
+ className: cn(SKELETON_CLASSES, "[&_*]:invisible", cls),
172
168
  style: mergedStyle,
173
169
  ...htmlRest,
174
170
  children
@@ -180,7 +176,7 @@ var Skeleton = React__namespace.forwardRef(
180
176
  {
181
177
  ref,
182
178
  "data-loading": true,
183
- className: cn(SKELETON_CLASSES, children ? "text-transparent [&_*]:invisible" : "min-h-5", cls),
179
+ className: cn(SKELETON_CLASSES, children ? "[&_*]:invisible" : "min-h-5", cls),
184
180
  style: mergedStyle,
185
181
  ...htmlRest,
186
182
  children
package/dist/link.js CHANGED
@@ -123,11 +123,7 @@ function stripShims(props) {
123
123
  for (const k of SHIM_PROPS) delete out[k];
124
124
  return out;
125
125
  }
126
- var SKELETON_CLASSES = [
127
- "animate-skeleton-shimmer rounded-sm",
128
- "bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
129
- "bg-[length:200%_100%]"
130
- ].join(" ");
126
+ var SKELETON_CLASSES = "lux-skeleton rounded-sm";
131
127
  var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
132
128
  var Skeleton = React.forwardRef(
133
129
  function Skeleton2(props, ref) {
@@ -147,7 +143,7 @@ var Skeleton = React.forwardRef(
147
143
  {
148
144
  ref,
149
145
  "data-loading": true,
150
- className: cn(SKELETON_CLASSES, "text-transparent [&_*]:invisible", cls),
146
+ className: cn(SKELETON_CLASSES, "[&_*]:invisible", cls),
151
147
  style: mergedStyle,
152
148
  ...htmlRest,
153
149
  children
@@ -159,7 +155,7 @@ var Skeleton = React.forwardRef(
159
155
  {
160
156
  ref,
161
157
  "data-loading": true,
162
- className: cn(SKELETON_CLASSES, children ? "text-transparent [&_*]:invisible" : "min-h-5", cls),
158
+ className: cn(SKELETON_CLASSES, children ? "[&_*]:invisible" : "min-h-5", cls),
163
159
  style: mergedStyle,
164
160
  ...htmlRest,
165
161
  children
package/dist/next.cjs CHANGED
@@ -80,11 +80,17 @@ var GUI_DEFINES = {
80
80
  "process.env.EXPO_OS": JSON.stringify("web"),
81
81
  "process.env.IS_WEB": JSON.stringify("true")
82
82
  };
83
+ var ENGINE_DEDUPE = [
84
+ "react",
85
+ "react-dom",
86
+ "@tanstack/react-query",
87
+ ...GUI_PACKAGES
88
+ ];
83
89
  function guiAliases(from) {
84
90
  const { createRequire } = __require("module");
85
91
  const require_ = createRequire(`${from.replace(/\/?$/, "/")}noop.js`);
86
92
  const alias = {};
87
- for (const pkg of GUI_PACKAGES) {
93
+ for (const pkg of ENGINE_DEDUPE) {
88
94
  try {
89
95
  alias[`${pkg}$`] = require_.resolve(pkg);
90
96
  } catch {
@@ -97,6 +103,9 @@ function guiAliases(from) {
97
103
  function withLuxUi(config = {}) {
98
104
  const userWebpack = config.webpack;
99
105
  const engine = guiAliases(config.dir ?? process.cwd());
106
+ const engineTurbopack = Object.fromEntries(
107
+ Object.entries(engine).map(([k, v]) => [k.replace(/\$$/, ""), v])
108
+ );
100
109
  const { dir: _dir, ...rest } = config;
101
110
  return {
102
111
  ...rest,
@@ -105,6 +114,7 @@ function withLuxUi(config = {}) {
105
114
  ...config.turbopack,
106
115
  resolveAlias: {
107
116
  "react-native": "react-native-web",
117
+ ...engineTurbopack,
108
118
  ...config.turbopack?.resolveAlias
109
119
  }
110
120
  },
package/dist/next.js CHANGED
@@ -78,11 +78,17 @@ var GUI_DEFINES = {
78
78
  "process.env.EXPO_OS": JSON.stringify("web"),
79
79
  "process.env.IS_WEB": JSON.stringify("true")
80
80
  };
81
+ var ENGINE_DEDUPE = [
82
+ "react",
83
+ "react-dom",
84
+ "@tanstack/react-query",
85
+ ...GUI_PACKAGES
86
+ ];
81
87
  function guiAliases(from) {
82
88
  const { createRequire } = __require("module");
83
89
  const require_ = createRequire(`${from.replace(/\/?$/, "/")}noop.js`);
84
90
  const alias = {};
85
- for (const pkg of GUI_PACKAGES) {
91
+ for (const pkg of ENGINE_DEDUPE) {
86
92
  try {
87
93
  alias[`${pkg}$`] = require_.resolve(pkg);
88
94
  } catch {
@@ -95,6 +101,9 @@ function guiAliases(from) {
95
101
  function withLuxUi(config = {}) {
96
102
  const userWebpack = config.webpack;
97
103
  const engine = guiAliases(config.dir ?? process.cwd());
104
+ const engineTurbopack = Object.fromEntries(
105
+ Object.entries(engine).map(([k, v]) => [k.replace(/\$$/, ""), v])
106
+ );
98
107
  const { dir: _dir, ...rest } = config;
99
108
  return {
100
109
  ...rest,
@@ -103,6 +112,7 @@ function withLuxUi(config = {}) {
103
112
  ...config.turbopack,
104
113
  resolveAlias: {
105
114
  "react-native": "react-native-web",
115
+ ...engineTurbopack,
106
116
  ...config.turbopack?.resolveAlias
107
117
  }
108
118
  },
package/dist/select.cjs CHANGED
@@ -146,11 +146,7 @@ function stripShims(props) {
146
146
  for (const k of SHIM_PROPS) delete out[k];
147
147
  return out;
148
148
  }
149
- var SKELETON_CLASSES = [
150
- "animate-skeleton-shimmer rounded-sm",
151
- "bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
152
- "bg-[length:200%_100%]"
153
- ].join(" ");
149
+ var SKELETON_CLASSES = "lux-skeleton rounded-sm";
154
150
  var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
155
151
  var Skeleton = React2__namespace.forwardRef(
156
152
  function Skeleton2(props, ref) {
@@ -170,7 +166,7 @@ var Skeleton = React2__namespace.forwardRef(
170
166
  {
171
167
  ref,
172
168
  "data-loading": true,
173
- className: cn(SKELETON_CLASSES, "text-transparent [&_*]:invisible", cls),
169
+ className: cn(SKELETON_CLASSES, "[&_*]:invisible", cls),
174
170
  style: mergedStyle,
175
171
  ...htmlRest,
176
172
  children
@@ -182,7 +178,7 @@ var Skeleton = React2__namespace.forwardRef(
182
178
  {
183
179
  ref,
184
180
  "data-loading": true,
185
- className: cn(SKELETON_CLASSES, children ? "text-transparent [&_*]:invisible" : "min-h-5", cls),
181
+ className: cn(SKELETON_CLASSES, children ? "[&_*]:invisible" : "min-h-5", cls),
186
182
  style: mergedStyle,
187
183
  ...htmlRest,
188
184
  children
package/dist/select.js CHANGED
@@ -123,11 +123,7 @@ function stripShims(props) {
123
123
  for (const k of SHIM_PROPS) delete out[k];
124
124
  return out;
125
125
  }
126
- var SKELETON_CLASSES = [
127
- "animate-skeleton-shimmer rounded-sm",
128
- "bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
129
- "bg-[length:200%_100%]"
130
- ].join(" ");
126
+ var SKELETON_CLASSES = "lux-skeleton rounded-sm";
131
127
  var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
132
128
  var Skeleton = React2.forwardRef(
133
129
  function Skeleton2(props, ref) {
@@ -147,7 +143,7 @@ var Skeleton = React2.forwardRef(
147
143
  {
148
144
  ref,
149
145
  "data-loading": true,
150
- className: cn(SKELETON_CLASSES, "text-transparent [&_*]:invisible", cls),
146
+ className: cn(SKELETON_CLASSES, "[&_*]:invisible", cls),
151
147
  style: mergedStyle,
152
148
  ...htmlRest,
153
149
  children
@@ -159,7 +155,7 @@ var Skeleton = React2.forwardRef(
159
155
  {
160
156
  ref,
161
157
  "data-loading": true,
162
- className: cn(SKELETON_CLASSES, children ? "text-transparent [&_*]:invisible" : "min-h-5", cls),
158
+ className: cn(SKELETON_CLASSES, children ? "[&_*]:invisible" : "min-h-5", cls),
163
159
  style: mergedStyle,
164
160
  ...htmlRest,
165
161
  children
package/dist/skeleton.cjs CHANGED
@@ -144,11 +144,7 @@ function stripShims(props) {
144
144
  for (const k of SHIM_PROPS) delete out[k];
145
145
  return out;
146
146
  }
147
- var SKELETON_CLASSES = [
148
- "animate-skeleton-shimmer rounded-sm",
149
- "bg-[linear-gradient(90deg,var(--color-skeleton-start)_0%,var(--color-skeleton-end)_50%,var(--color-skeleton-start)_100%)]",
150
- "bg-[length:200%_100%]"
151
- ].join(" ");
147
+ var SKELETON_CLASSES = "lux-skeleton rounded-sm";
152
148
  var HIDE_BELOW_MAP = { lg: "lg:hidden", md: "md:hidden", sm: "sm:hidden" };
153
149
  var Skeleton = React__namespace.forwardRef(
154
150
  function Skeleton2(props, ref) {
@@ -168,7 +164,7 @@ var Skeleton = React__namespace.forwardRef(
168
164
  {
169
165
  ref,
170
166
  "data-loading": true,
171
- className: cn(SKELETON_CLASSES, "text-transparent [&_*]:invisible", cls),
167
+ className: cn(SKELETON_CLASSES, "[&_*]:invisible", cls),
172
168
  style: mergedStyle,
173
169
  ...htmlRest,
174
170
  children
@@ -180,7 +176,7 @@ var Skeleton = React__namespace.forwardRef(
180
176
  {
181
177
  ref,
182
178
  "data-loading": true,
183
- className: cn(SKELETON_CLASSES, children ? "text-transparent [&_*]:invisible" : "min-h-5", cls),
179
+ className: cn(SKELETON_CLASSES, children ? "[&_*]:invisible" : "min-h-5", cls),
184
180
  style: mergedStyle,
185
181
  ...htmlRest,
186
182
  children
@@ -217,7 +213,12 @@ var SkeletonText = React__namespace.forwardRef(
217
213
  )) });
218
214
  }
219
215
  );
216
+ function LoadingBar({ loading = true }) {
217
+ if (!loading) return null;
218
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "lux-loading", role: "progressbar", "aria-busy": "true", "aria-label": "Loading" });
219
+ }
220
220
 
221
+ exports.LoadingBar = LoadingBar;
221
222
  exports.Skeleton = Skeleton;
222
223
  exports.SkeletonCircle = SkeletonCircle;
223
224
  exports.SkeletonText = SkeletonText;
@@ -1,3 +1,4 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
1
2
  import * as React from 'react';
2
3
 
3
4
  interface SkeletonProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'> {
@@ -56,5 +57,20 @@ interface SkeletonTextProps extends React.HTMLAttributes<HTMLDivElement> {
56
57
  readonly loading?: boolean;
57
58
  }
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;
59
75
 
60
- export { Skeleton, SkeletonCircle, type SkeletonCircleProps, type SkeletonProps, SkeletonText, type SkeletonTextProps };
76
+ export { LoadingBar, Skeleton, SkeletonCircle, type SkeletonCircleProps, type SkeletonProps, SkeletonText, type SkeletonTextProps };
@@ -1,3 +1,4 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
1
2
  import * as React from 'react';
2
3
 
3
4
  interface SkeletonProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'> {
@@ -56,5 +57,20 @@ interface SkeletonTextProps extends React.HTMLAttributes<HTMLDivElement> {
56
57
  readonly loading?: boolean;
57
58
  }
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;
59
75
 
60
- export { Skeleton, SkeletonCircle, type SkeletonCircleProps, type SkeletonProps, SkeletonText, type SkeletonTextProps };
76
+ export { LoadingBar, Skeleton, SkeletonCircle, type SkeletonCircleProps, type SkeletonProps, SkeletonText, type SkeletonTextProps };