@wow-two-beta/ui 0.0.49 → 0.0.51
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/actions/button/Button.d.ts +3 -2
- package/dist/actions/button/Button.d.ts.map +1 -1
- package/dist/actions/index.js +2 -2
- package/dist/actions/toggleButton/ToggleButton.d.ts +3 -1
- package/dist/actions/toggleButton/ToggleButton.d.ts.map +1 -1
- package/dist/{chunk-C6XVQ5TW.js → chunk-2KZJXQJ5.js} +7 -5
- package/dist/chunk-2KZJXQJ5.js.map +1 -0
- package/dist/{chunk-34TLJSEH.js → chunk-BIJGZBQQ.js} +73 -3
- package/dist/chunk-BIJGZBQQ.js.map +1 -0
- package/dist/{chunk-NTUKGLIQ.js → chunk-CDDBGAXP.js} +3 -3
- package/dist/{chunk-NTUKGLIQ.js.map → chunk-CDDBGAXP.js.map} +1 -1
- package/dist/{chunk-UPSN6NFK.js → chunk-D3N27NNO.js} +4 -4
- package/dist/{chunk-UPSN6NFK.js.map → chunk-D3N27NNO.js.map} +1 -1
- package/dist/{chunk-5V7FBKKL.js → chunk-HDQCFWFH.js} +3 -3
- package/dist/{chunk-5V7FBKKL.js.map → chunk-HDQCFWFH.js.map} +1 -1
- package/dist/{chunk-JYP2HIG3.js → chunk-JPYWGMD4.js} +4 -4
- package/dist/{chunk-JYP2HIG3.js.map → chunk-JPYWGMD4.js.map} +1 -1
- package/dist/{chunk-EUA2TRKE.js → chunk-RFELPPTS.js} +32 -23
- package/dist/chunk-RFELPPTS.js.map +1 -0
- package/dist/{chunk-WPC3KBRU.js → chunk-SVJVVZO6.js} +3 -3
- package/dist/{chunk-WPC3KBRU.js.map → chunk-SVJVVZO6.js.map} +1 -1
- package/dist/{chunk-NUI2NTIA.js → chunk-V4T56XX7.js} +175 -130
- package/dist/chunk-V4T56XX7.js.map +1 -0
- package/dist/{chunk-EL2ALIBA.js → chunk-YYGII4AA.js} +11 -7
- package/dist/chunk-YYGII4AA.js.map +1 -0
- package/dist/{chunk-ZJJ4KW6G.js → chunk-ZDUT2XVH.js} +4 -4
- package/dist/{chunk-ZJJ4KW6G.js.map → chunk-ZDUT2XVH.js.map} +1 -1
- package/dist/display/index.js +3 -3
- package/dist/feedback/index.js +3 -3
- package/dist/forms/checkbox/Checkbox.d.ts +3 -2
- package/dist/forms/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/forms/combobox/Combobox.d.ts.map +1 -1
- package/dist/forms/index.js +5 -5
- package/dist/forms/select/Select.d.ts +52 -28
- package/dist/forms/select/Select.d.ts.map +1 -1
- package/dist/forms/select/index.d.ts +1 -1
- package/dist/forms/select/index.d.ts.map +1 -1
- package/dist/icons/index.js +1 -1
- package/dist/index.js +11 -11
- package/dist/layout/index.js +3 -3
- package/dist/nav/index.js +3 -3
- package/dist/nav/navigationMenu/NavigationMenu.d.ts.map +1 -1
- package/dist/overlays/hoverCard/HoverCard.d.ts.map +1 -1
- package/dist/overlays/index.js +2 -2
- package/dist/overlays/popover/Popover.d.ts.map +1 -1
- package/dist/utils/ColorExtensions.d.ts +39 -0
- package/dist/utils/ColorExtensions.d.ts.map +1 -0
- package/dist/utils/Equality.d.ts +29 -0
- package/dist/utils/Equality.d.ts.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-34TLJSEH.js.map +0 -1
- package/dist/chunk-C6XVQ5TW.js.map +0 -1
- package/dist/chunk-EL2ALIBA.js.map +0 -1
- package/dist/chunk-EUA2TRKE.js.map +0 -1
- package/dist/chunk-NUI2NTIA.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { listboxItemVariants, listboxVariants, listboxGroupLabelVariants, listboxSeparatorVariants, listboxEmptyVariants } from './chunk-
|
|
2
|
-
import { PopoverTrigger, Popover, PopoverContent } from './chunk-
|
|
3
|
-
import { startOfMonth, isSameDay, isToday, isDateDisabled, parseISODate, formatISODate, parseISOTime, Tag, addMonths, Kbd, addDays, buildMonthGrid, MONTHS_LONG, WEEKDAYS_SHORT, formatISOTime, startOfDay, isInRange } from './chunk-
|
|
1
|
+
import { listboxItemVariants, listboxVariants, listboxGroupLabelVariants, listboxSeparatorVariants, listboxEmptyVariants } from './chunk-SVJVVZO6.js';
|
|
2
|
+
import { PopoverTrigger, Popover, PopoverContent } from './chunk-2KZJXQJ5.js';
|
|
3
|
+
import { startOfMonth, isSameDay, isToday, isDateDisabled, parseISODate, formatISODate, parseISOTime, Tag, addMonths, Kbd, addDays, buildMonthGrid, MONTHS_LONG, WEEKDAYS_SHORT, formatISOTime, startOfDay, isInRange } from './chunk-HDQCFWFH.js';
|
|
4
4
|
import { useControlled } from './chunk-NUMFGKPY.js';
|
|
5
5
|
import { Icon } from './chunk-F227LKWK.js';
|
|
6
|
-
import { tv, CssExtensions, dataAttr, surfaceVariants } from './chunk-
|
|
6
|
+
import { tv, CssExtensions, ColorExtensions, dataAttr, surfaceVariants, Equality } from './chunk-BIJGZBQQ.js';
|
|
7
7
|
import { useFormControl, FormControlProvider, RovingFocusGroup, useRovingFocusItem, Portal, AnchoredPositioner, DismissableLayer } from './chunk-BMABNEZX.js';
|
|
8
8
|
import { useId } from './chunk-KDXJQNB6.js';
|
|
9
9
|
import { cn, composeRefs } from './chunk-LDRFQG44.js';
|
|
@@ -577,6 +577,7 @@ var Checkbox = forwardRef(
|
|
|
577
577
|
indeterminate,
|
|
578
578
|
variant = "solid",
|
|
579
579
|
tone = "primary",
|
|
580
|
+
color,
|
|
580
581
|
id,
|
|
581
582
|
disabled,
|
|
582
583
|
required,
|
|
@@ -592,11 +593,13 @@ var Checkbox = forwardRef(
|
|
|
592
593
|
const boxClass = sizePreset ? BOX_SIZE_CLASS[sizePreset] : void 0;
|
|
593
594
|
const iconClass = sizePreset ? ICON_SIZE_CLASS[sizePreset] : DEFAULT_ICON_CLASS;
|
|
594
595
|
const boxStyle = sizeBox ? CssExtensions.resolveBoxSize(sizeBox) : void 0;
|
|
596
|
+
const colorStyle = ColorExtensions.toneColorOverride(color, tone);
|
|
597
|
+
const composedStyle = colorStyle || boxStyle ? { ...colorStyle, ...boxStyle } : void 0;
|
|
595
598
|
return /* @__PURE__ */ jsxs(
|
|
596
599
|
"span",
|
|
597
600
|
{
|
|
598
601
|
className: cn("relative inline-flex shrink-0", boxClass, className),
|
|
599
|
-
style:
|
|
602
|
+
style: composedStyle,
|
|
600
603
|
children: [
|
|
601
604
|
/* @__PURE__ */ jsx(
|
|
602
605
|
"input",
|
|
@@ -1582,7 +1585,6 @@ var selectTriggerVariants = tv({
|
|
|
1582
1585
|
state: "default"
|
|
1583
1586
|
}
|
|
1584
1587
|
});
|
|
1585
|
-
var defaultEquals2 = (a, b) => Object.is(a, b);
|
|
1586
1588
|
var SelectContext = createContext(null);
|
|
1587
1589
|
function useSelectContext() {
|
|
1588
1590
|
const ctx = useContext(SelectContext);
|
|
@@ -1590,15 +1592,15 @@ function useSelectContext() {
|
|
|
1590
1592
|
return ctx;
|
|
1591
1593
|
}
|
|
1592
1594
|
function SelectImpl({
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1595
|
+
selected,
|
|
1596
|
+
defaultSelected,
|
|
1597
|
+
onChange,
|
|
1598
|
+
keyEquals,
|
|
1597
1599
|
disabled = false,
|
|
1598
1600
|
isLoading = false,
|
|
1599
1601
|
clearable = false,
|
|
1600
1602
|
name,
|
|
1601
|
-
|
|
1603
|
+
serializeKey,
|
|
1602
1604
|
invalid,
|
|
1603
1605
|
defaultOpen = false,
|
|
1604
1606
|
open: openProp,
|
|
@@ -1611,70 +1613,88 @@ function SelectImpl({
|
|
|
1611
1613
|
default: defaultOpen,
|
|
1612
1614
|
onChange: onOpenChange
|
|
1613
1615
|
});
|
|
1614
|
-
const [
|
|
1615
|
-
controlled:
|
|
1616
|
-
default:
|
|
1617
|
-
onChange:
|
|
1616
|
+
const [keyState, setKeyState] = useControlled({
|
|
1617
|
+
controlled: selected,
|
|
1618
|
+
default: defaultSelected ?? null,
|
|
1619
|
+
onChange: void 0
|
|
1620
|
+
// we emit via onChange below — needs both key + value
|
|
1618
1621
|
});
|
|
1619
1622
|
const [items, setItems] = useState([]);
|
|
1620
1623
|
const [query, setQuery] = useState("");
|
|
1621
|
-
const
|
|
1622
|
-
|
|
1623
|
-
const
|
|
1624
|
-
|
|
1625
|
-
const
|
|
1626
|
-
|
|
1627
|
-
|
|
1624
|
+
const keyEqualsRef = useRef(keyEquals);
|
|
1625
|
+
keyEqualsRef.current = keyEquals;
|
|
1626
|
+
const serializeKeyRef = useRef(serializeKey);
|
|
1627
|
+
serializeKeyRef.current = serializeKey;
|
|
1628
|
+
const onChangeRef = useRef(onChange);
|
|
1629
|
+
onChangeRef.current = onChange;
|
|
1630
|
+
const keyEqualsFn = useCallback((a, b) => {
|
|
1631
|
+
const fn = keyEqualsRef.current;
|
|
1632
|
+
return (fn ?? Equality.strict)(a, b);
|
|
1628
1633
|
}, []);
|
|
1629
|
-
const
|
|
1630
|
-
const fn =
|
|
1631
|
-
return (fn ?? ((x) => String(x)))(
|
|
1634
|
+
const serializeKeyFn = useCallback((k) => {
|
|
1635
|
+
const fn = serializeKeyRef.current;
|
|
1636
|
+
return (fn ?? ((x) => String(x)))(k);
|
|
1632
1637
|
}, []);
|
|
1633
|
-
const registerItem = useCallback(
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1638
|
+
const registerItem = useCallback(
|
|
1639
|
+
(entry) => {
|
|
1640
|
+
setItems((prev) => {
|
|
1641
|
+
const idx = prev.findIndex((p) => Object.is(p.itemKey, entry.itemKey));
|
|
1642
|
+
if (idx >= 0) {
|
|
1643
|
+
const existing = prev[idx];
|
|
1644
|
+
if (existing && existing.label === entry.label && existing.text === entry.text && Object.is(existing.value, entry.value)) {
|
|
1645
|
+
return prev;
|
|
1646
|
+
}
|
|
1647
|
+
const next = prev.slice();
|
|
1648
|
+
next[idx] = entry;
|
|
1649
|
+
return next;
|
|
1640
1650
|
}
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
}, []);
|
|
1648
|
-
const unregisterItem = useCallback((v) => {
|
|
1651
|
+
return [...prev, entry];
|
|
1652
|
+
});
|
|
1653
|
+
},
|
|
1654
|
+
[]
|
|
1655
|
+
);
|
|
1656
|
+
const unregisterItem = useCallback((k) => {
|
|
1649
1657
|
setItems((prev) => {
|
|
1650
|
-
const idx = prev.findIndex((p) => Object.is(p.
|
|
1658
|
+
const idx = prev.findIndex((p) => Object.is(p.itemKey, k));
|
|
1651
1659
|
if (idx === -1) return prev;
|
|
1652
1660
|
const next = prev.slice();
|
|
1653
1661
|
next.splice(idx, 1);
|
|
1654
1662
|
return next;
|
|
1655
1663
|
});
|
|
1656
1664
|
}, []);
|
|
1657
|
-
const
|
|
1665
|
+
const emitChange = useCallback(
|
|
1658
1666
|
(next) => {
|
|
1659
|
-
|
|
1667
|
+
onChangeRef.current?.(next);
|
|
1668
|
+
},
|
|
1669
|
+
[]
|
|
1670
|
+
);
|
|
1671
|
+
const onSelect = useCallback(
|
|
1672
|
+
(entry) => {
|
|
1673
|
+
setKeyState(entry.itemKey);
|
|
1660
1674
|
setOpenState(false);
|
|
1661
1675
|
setQuery("");
|
|
1676
|
+
emitChange({
|
|
1677
|
+
itemKey: entry.itemKey,
|
|
1678
|
+
value: entry.value,
|
|
1679
|
+
label: entry.label
|
|
1680
|
+
});
|
|
1662
1681
|
},
|
|
1663
|
-
[
|
|
1682
|
+
[setKeyState, setOpenState, emitChange]
|
|
1664
1683
|
);
|
|
1665
1684
|
const onClear = useCallback(() => {
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1685
|
+
setKeyState(null);
|
|
1686
|
+
emitChange(null);
|
|
1687
|
+
}, [setKeyState, emitChange]);
|
|
1688
|
+
const hasSelection = keyState !== null && keyState !== void 0;
|
|
1669
1689
|
const ctx = useMemo(
|
|
1670
1690
|
() => ({
|
|
1671
1691
|
open: openState,
|
|
1672
1692
|
setOpen: setOpenState,
|
|
1673
|
-
|
|
1674
|
-
|
|
1693
|
+
selectedKey: keyState,
|
|
1694
|
+
hasSelection,
|
|
1675
1695
|
onSelect,
|
|
1676
1696
|
onClear,
|
|
1677
|
-
|
|
1697
|
+
keyEquals: keyEqualsFn,
|
|
1678
1698
|
items,
|
|
1679
1699
|
registerItem,
|
|
1680
1700
|
unregisterItem,
|
|
@@ -1683,18 +1703,18 @@ function SelectImpl({
|
|
|
1683
1703
|
disabled,
|
|
1684
1704
|
isLoading,
|
|
1685
1705
|
clearable,
|
|
1686
|
-
|
|
1706
|
+
serializeKey: serializeKeyFn,
|
|
1687
1707
|
name,
|
|
1688
1708
|
invalid
|
|
1689
1709
|
}),
|
|
1690
1710
|
[
|
|
1691
1711
|
openState,
|
|
1692
1712
|
setOpenState,
|
|
1693
|
-
|
|
1694
|
-
|
|
1713
|
+
keyState,
|
|
1714
|
+
hasSelection,
|
|
1695
1715
|
onSelect,
|
|
1696
1716
|
onClear,
|
|
1697
|
-
|
|
1717
|
+
keyEqualsFn,
|
|
1698
1718
|
items,
|
|
1699
1719
|
registerItem,
|
|
1700
1720
|
unregisterItem,
|
|
@@ -1702,7 +1722,7 @@ function SelectImpl({
|
|
|
1702
1722
|
disabled,
|
|
1703
1723
|
isLoading,
|
|
1704
1724
|
clearable,
|
|
1705
|
-
|
|
1725
|
+
serializeKeyFn,
|
|
1706
1726
|
name,
|
|
1707
1727
|
invalid
|
|
1708
1728
|
]
|
|
@@ -1716,7 +1736,7 @@ function SelectImpl({
|
|
|
1716
1736
|
if (!o) setQuery("");
|
|
1717
1737
|
},
|
|
1718
1738
|
placement,
|
|
1719
|
-
offset:
|
|
1739
|
+
offset: 4,
|
|
1720
1740
|
children
|
|
1721
1741
|
}
|
|
1722
1742
|
) });
|
|
@@ -1729,18 +1749,26 @@ var TRIGGER_ICON_CLASSES = {
|
|
|
1729
1749
|
lg: "h-5 w-5"
|
|
1730
1750
|
};
|
|
1731
1751
|
var TRIGGER_CLEAR_BOX_CLASSES = {
|
|
1732
|
-
xs: "h-
|
|
1733
|
-
sm: "h-
|
|
1734
|
-
md: "h-
|
|
1735
|
-
lg: "h-
|
|
1752
|
+
xs: "h-4 w-4",
|
|
1753
|
+
sm: "h-5 w-5",
|
|
1754
|
+
md: "h-5 w-5",
|
|
1755
|
+
lg: "h-6 w-6"
|
|
1756
|
+
};
|
|
1757
|
+
var TRIGGER_DIVIDER_CLASSES = {
|
|
1758
|
+
xs: "h-3",
|
|
1759
|
+
sm: "h-3.5",
|
|
1760
|
+
md: "h-4",
|
|
1761
|
+
lg: "h-5"
|
|
1736
1762
|
};
|
|
1737
1763
|
var SelectTrigger = forwardRef(
|
|
1738
1764
|
function SelectTrigger2({ size, state, className, children, ...rest }, ref) {
|
|
1739
1765
|
const ctx = useSelectContext();
|
|
1740
1766
|
const triggerState = state ?? (ctx.invalid ? "invalid" : "default");
|
|
1741
|
-
const showClear = ctx.clearable && ctx.
|
|
1742
|
-
const
|
|
1743
|
-
const
|
|
1767
|
+
const showClear = ctx.clearable && ctx.hasSelection && !ctx.isLoading && !ctx.disabled;
|
|
1768
|
+
const sizeKey = size ?? "md";
|
|
1769
|
+
const iconClass = TRIGGER_ICON_CLASSES[sizeKey];
|
|
1770
|
+
const clearBoxClass = TRIGGER_CLEAR_BOX_CLASSES[sizeKey];
|
|
1771
|
+
const dividerClass = TRIGGER_DIVIDER_CLASSES[sizeKey];
|
|
1744
1772
|
return /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
1745
1773
|
"button",
|
|
1746
1774
|
{
|
|
@@ -1752,32 +1780,35 @@ var SelectTrigger = forwardRef(
|
|
|
1752
1780
|
...rest,
|
|
1753
1781
|
children: [
|
|
1754
1782
|
children ?? /* @__PURE__ */ jsx(SelectValue, {}),
|
|
1755
|
-
/* @__PURE__ */ jsxs("span", { className: "ml-auto flex items-center gap-1", children: [
|
|
1756
|
-
showClear && /* @__PURE__ */
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
e
|
|
1764
|
-
ctx.onClear();
|
|
1765
|
-
},
|
|
1766
|
-
onPointerDown: (e) => e.stopPropagation(),
|
|
1767
|
-
onKeyDown: (e) => {
|
|
1768
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
1769
|
-
e.preventDefault();
|
|
1783
|
+
/* @__PURE__ */ jsxs("span", { className: "ml-auto flex shrink-0 items-center gap-1.5", children: [
|
|
1784
|
+
showClear && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1785
|
+
/* @__PURE__ */ jsx(
|
|
1786
|
+
"span",
|
|
1787
|
+
{
|
|
1788
|
+
role: "button",
|
|
1789
|
+
tabIndex: 0,
|
|
1790
|
+
"aria-label": "Clear selection",
|
|
1791
|
+
onClick: (e) => {
|
|
1770
1792
|
e.stopPropagation();
|
|
1771
1793
|
ctx.onClear();
|
|
1772
|
-
}
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1794
|
+
},
|
|
1795
|
+
onPointerDown: (e) => e.stopPropagation(),
|
|
1796
|
+
onKeyDown: (e) => {
|
|
1797
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
1798
|
+
e.preventDefault();
|
|
1799
|
+
e.stopPropagation();
|
|
1800
|
+
ctx.onClear();
|
|
1801
|
+
}
|
|
1802
|
+
},
|
|
1803
|
+
className: cn(
|
|
1804
|
+
"grid place-items-center rounded-full text-subtle-foreground transition-colors hover:bg-muted hover:text-foreground",
|
|
1805
|
+
clearBoxClass
|
|
1806
|
+
),
|
|
1807
|
+
children: /* @__PURE__ */ jsx(X, { className: iconClass })
|
|
1808
|
+
}
|
|
1809
|
+
),
|
|
1810
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": true, className: cn("w-px bg-border", dividerClass) })
|
|
1811
|
+
] }),
|
|
1781
1812
|
ctx.isLoading ? /* @__PURE__ */ jsx(Loader2, { className: cn(iconClass, "animate-spin text-subtle-foreground") }) : /* @__PURE__ */ jsx(
|
|
1782
1813
|
ChevronDown,
|
|
1783
1814
|
{
|
|
@@ -1797,8 +1828,8 @@ var SelectTrigger = forwardRef(
|
|
|
1797
1828
|
function SelectValue({ placeholder, children }) {
|
|
1798
1829
|
const ctx = useSelectContext();
|
|
1799
1830
|
if (children) return /* @__PURE__ */ jsx("span", { className: "truncate", children });
|
|
1800
|
-
const match = ctx.
|
|
1801
|
-
const label = match?.label ?? (ctx.
|
|
1831
|
+
const match = ctx.hasSelection ? ctx.items.find((i) => ctx.keyEquals(i.itemKey, ctx.selectedKey)) : void 0;
|
|
1832
|
+
const label = match?.label ?? (ctx.hasSelection ? ctx.serializeKey(ctx.selectedKey) : null);
|
|
1802
1833
|
return /* @__PURE__ */ jsx("span", { className: cn("truncate text-left", !label && "text-subtle-foreground"), children: label ?? placeholder });
|
|
1803
1834
|
}
|
|
1804
1835
|
function SelectContent({
|
|
@@ -1806,6 +1837,7 @@ function SelectContent({
|
|
|
1806
1837
|
searchable = false,
|
|
1807
1838
|
searchPlaceholder = "Search\u2026",
|
|
1808
1839
|
noResultsLabel = "No results",
|
|
1840
|
+
matchWidth = false,
|
|
1809
1841
|
variant,
|
|
1810
1842
|
tone,
|
|
1811
1843
|
radius,
|
|
@@ -1826,7 +1858,8 @@ function SelectContent({
|
|
|
1826
1858
|
padding: padding ?? "none",
|
|
1827
1859
|
elevation,
|
|
1828
1860
|
className: cn(
|
|
1829
|
-
"
|
|
1861
|
+
"overflow-hidden",
|
|
1862
|
+
matchWidth ? "w-[var(--anchor-width)] [&_[role=option]>span.flex-1>:first-child]:truncate" : "w-auto min-w-[var(--anchor-width)]",
|
|
1830
1863
|
className
|
|
1831
1864
|
),
|
|
1832
1865
|
children: [
|
|
@@ -1846,11 +1879,13 @@ function SelectContent({
|
|
|
1846
1879
|
/* @__PURE__ */ jsxs(
|
|
1847
1880
|
Listbox,
|
|
1848
1881
|
{
|
|
1849
|
-
value: ctx.
|
|
1850
|
-
onValueChange: (
|
|
1851
|
-
if (
|
|
1882
|
+
value: ctx.selectedKey ?? void 0,
|
|
1883
|
+
onValueChange: (k) => {
|
|
1884
|
+
if (k === null || k === void 0) return;
|
|
1885
|
+
const entry = ctx.items.find((i) => ctx.keyEquals(i.itemKey, k));
|
|
1886
|
+
if (entry) ctx.onSelect(entry);
|
|
1852
1887
|
},
|
|
1853
|
-
isEqual: ctx.
|
|
1888
|
+
isEqual: ctx.keyEquals,
|
|
1854
1889
|
variant: "flat",
|
|
1855
1890
|
radius: "none",
|
|
1856
1891
|
children: [
|
|
@@ -1859,7 +1894,7 @@ function SelectContent({
|
|
|
1859
1894
|
]
|
|
1860
1895
|
}
|
|
1861
1896
|
),
|
|
1862
|
-
ctx.name && ctx.
|
|
1897
|
+
ctx.name && ctx.hasSelection && /* @__PURE__ */ jsx("input", { type: "hidden", name: ctx.name, value: ctx.serializeKey(ctx.selectedKey) })
|
|
1863
1898
|
]
|
|
1864
1899
|
}
|
|
1865
1900
|
);
|
|
@@ -1868,26 +1903,27 @@ function extractText(node) {
|
|
|
1868
1903
|
if (node == null || typeof node === "boolean") return "";
|
|
1869
1904
|
if (typeof node === "string" || typeof node === "number") return String(node);
|
|
1870
1905
|
if (Array.isArray(node)) return node.map(extractText).join(" ");
|
|
1871
|
-
if (
|
|
1906
|
+
if (typeof node === "object" && "props" in node) {
|
|
1872
1907
|
const props = node.props;
|
|
1873
|
-
return extractText(props
|
|
1908
|
+
return extractText(props?.children);
|
|
1874
1909
|
}
|
|
1875
1910
|
return "";
|
|
1876
1911
|
}
|
|
1877
|
-
var SelectItem = forwardRef(function SelectItem2({ value,
|
|
1912
|
+
var SelectItem = forwardRef(function SelectItem2({ itemKey, value, label, children, text, disabled, className }, ref) {
|
|
1878
1913
|
const ctx = useSelectContext();
|
|
1879
1914
|
const { registerItem, unregisterItem, query } = ctx;
|
|
1915
|
+
const resolvedValue = value === void 0 ? itemKey : value;
|
|
1880
1916
|
const itemText = useMemo(
|
|
1881
|
-
() => text ?? extractText(children),
|
|
1882
|
-
[text, children]
|
|
1917
|
+
() => text ?? extractText(label) ?? extractText(children),
|
|
1918
|
+
[text, label, children]
|
|
1883
1919
|
);
|
|
1884
1920
|
useEffect(() => {
|
|
1885
|
-
registerItem({
|
|
1886
|
-
return () => unregisterItem(
|
|
1887
|
-
}, [registerItem, unregisterItem,
|
|
1921
|
+
registerItem({ itemKey, value: resolvedValue, label, text: itemText });
|
|
1922
|
+
return () => unregisterItem(itemKey);
|
|
1923
|
+
}, [registerItem, unregisterItem, itemKey, resolvedValue, label, itemText]);
|
|
1888
1924
|
const matchesQuery = !query || itemText.toLowerCase().includes(query.toLowerCase());
|
|
1889
1925
|
if (!matchesQuery) return null;
|
|
1890
|
-
return /* @__PURE__ */ jsx(ListboxItem, { ref, value, disabled, className, children });
|
|
1926
|
+
return /* @__PURE__ */ jsx(ListboxItem, { ref, value: itemKey, disabled, className, children: children ?? label });
|
|
1891
1927
|
});
|
|
1892
1928
|
Select.Trigger = SelectTrigger;
|
|
1893
1929
|
Select.Value = SelectValue;
|
|
@@ -2308,36 +2344,45 @@ function ComboboxContent({
|
|
|
2308
2344
|
const ctx = useComboboxContext();
|
|
2309
2345
|
if (!ctx.open) return null;
|
|
2310
2346
|
const resolvedPadding = padding ?? "xs";
|
|
2311
|
-
return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(
|
|
2312
|
-
|
|
2347
|
+
return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(
|
|
2348
|
+
AnchoredPositioner,
|
|
2313
2349
|
{
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
},
|
|
2350
|
+
anchor: ctx.inputRef.current,
|
|
2351
|
+
placement,
|
|
2352
|
+
offset,
|
|
2353
|
+
className: "z-dropdown",
|
|
2319
2354
|
children: /* @__PURE__ */ jsx(
|
|
2320
|
-
|
|
2355
|
+
DismissableLayer,
|
|
2321
2356
|
{
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2357
|
+
onEscape: () => ctx.setOpen(false),
|
|
2358
|
+
onOutsidePointerDown: (e) => {
|
|
2359
|
+
if (ctx.inputRef.current?.contains(e.target)) return;
|
|
2360
|
+
ctx.setOpen(false);
|
|
2361
|
+
},
|
|
2362
|
+
children: /* @__PURE__ */ jsx(
|
|
2363
|
+
"div",
|
|
2364
|
+
{
|
|
2365
|
+
id: ctx.listboxId,
|
|
2366
|
+
role: "listbox",
|
|
2367
|
+
className: cn(
|
|
2368
|
+
surfaceVariants({
|
|
2369
|
+
variant,
|
|
2370
|
+
tone,
|
|
2371
|
+
radius,
|
|
2372
|
+
padding: resolvedPadding,
|
|
2373
|
+
elevation
|
|
2374
|
+
}),
|
|
2375
|
+
listboxVariants(),
|
|
2376
|
+
className
|
|
2377
|
+
),
|
|
2378
|
+
style: ctx.inputRef.current ? { minWidth: ctx.inputRef.current.offsetWidth } : void 0,
|
|
2379
|
+
children
|
|
2380
|
+
}
|
|
2381
|
+
)
|
|
2337
2382
|
}
|
|
2338
2383
|
)
|
|
2339
2384
|
}
|
|
2340
|
-
) })
|
|
2385
|
+
) });
|
|
2341
2386
|
}
|
|
2342
2387
|
var ComboboxItem = forwardRef(function ComboboxItem2({ value, disabled = false, className, children, onClick, onPointerEnter, ...rest }, forwardedRef) {
|
|
2343
2388
|
const ctx = useComboboxContext();
|
|
@@ -7419,5 +7464,5 @@ var ChatComposer = forwardRef(
|
|
|
7419
7464
|
ChatComposer.displayName = "ChatComposer";
|
|
7420
7465
|
|
|
7421
7466
|
export { ADDRESS_COUNTRIES, AddressForm, BUILT_IN_EMOJI, BUILT_IN_FONTS, Calendar, CharacterCount, ChatComposer, Checkbox, CheckboxField, CheckboxGroup, ChoiceCard, CodeEditor, ColorArea, ColorField, ColorPicker, ColorSlider, ColorSwatch, ColorSwatchPicker, ColorWheel, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxSeparator, CronInput, CurrencyInput, DateField, DatePicker, DateRangePicker, Editable, EditableCancel, EditableInput, EditablePreview, EditableSubmit, EmailInput, EmojiPicker, Fieldset, FilePicker, FileUpload, FontPicker, FormErrorMessage, FormField, FormHelperText, GradientPicker, IconPicker, InputAddon, InputGroup, JSONEditor, KeyboardShortcutPicker, Knob, Label, LabeledInput, Legend, Listbox, ListboxEmpty, ListboxGroup, ListboxItem, ListboxSeparator, MarkdownEditor, MaskedInput, MultiSelect, MultiSelectContent, MultiSelectItem, MultiSelectTags, MultiSelectTrigger, NumberInput, PHONE_COUNTRIES, PasswordInput, PasswordStrength, PercentInput, PhoneInput, PinInput, Radio, RadioField, RadioGroup, RangeCalendar, ReactionPicker, RecurrenceEditor, SearchInput, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Slider, Stepper, StepperList, StepperPanel, StepperStep, Switch, SwitchField, TagsInput, TelInput, TextInput, Textarea, TimeField, TimePicker, UrlInput, Wizard, WizardFooter, WizardStep, WizardSteps, colorSwatchVariants, gradientToCss, useWizard };
|
|
7422
|
-
//# sourceMappingURL=chunk-
|
|
7423
|
-
//# sourceMappingURL=chunk-
|
|
7467
|
+
//# sourceMappingURL=chunk-V4T56XX7.js.map
|
|
7468
|
+
//# sourceMappingURL=chunk-V4T56XX7.js.map
|