@adaptabletools/adaptable-cjs 23.0.0-canary.2 → 23.0.0-canary.3

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 (69) hide show
  1. package/index.css +68 -73
  2. package/package.json +1 -1
  3. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +1 -3
  4. package/src/AdaptableState/Common/AdaptableFormat.d.ts +1 -1
  5. package/src/Api/EventApi.d.ts +1 -1
  6. package/src/Api/Events/ReportScheduleRan.d.ts +4 -0
  7. package/src/Api/Internal/EventInternalApi.js +2 -1
  8. package/src/View/AdaptablePopover/index.js +1 -1
  9. package/src/View/Components/Buttons/ButtonInfo.d.ts +1 -1
  10. package/src/View/Components/Buttons/ButtonInfo.js +4 -4
  11. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +1 -1
  12. package/src/View/Components/ColumnFilter/ColumnFilter.js +15 -5
  13. package/src/View/Components/ColumnFilter/FloatingFilter.js +57 -59
  14. package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -1
  15. package/src/View/Components/Forms/AdaptableFormControlTextClear.js +2 -1
  16. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +1 -1
  17. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +2 -2
  18. package/src/View/Components/ValueSelector/index.js +1 -1
  19. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +3 -8
  20. package/src/View/GridFilter/GridFilterViewPanel.js +1 -1
  21. package/src/View/Layout/Wizard/sections/ColumnsSection.js +3 -3
  22. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +1 -1
  23. package/src/View/Layout/Wizard/sections/RowSelectionSection.js +1 -1
  24. package/src/View/Layout/Wizard/sections/SettingsSection.js +1 -1
  25. package/src/View/License/LicenseWatermark.js +1 -1
  26. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +1 -1
  27. package/src/View/Wizard/OnePageWizards.js +1 -1
  28. package/src/components/Card/index.js +1 -1
  29. package/src/components/Combobox/index.js +10 -4
  30. package/src/components/Datepicker/index.js +2 -2
  31. package/src/components/Dialog/index.js +1 -1
  32. package/src/components/DragAndDropContext/TabList.js +1 -1
  33. package/src/components/Dropdown/Arrows.js +0 -1
  34. package/src/components/ExpressionEditor/BaseEditorInput.js +1 -1
  35. package/src/components/ExpressionEditor/index.js +1 -1
  36. package/src/components/Input/index.js +1 -1
  37. package/src/components/NewDropdownButton/index.d.ts +1 -0
  38. package/src/components/NewDropdownButton/index.js +2 -2
  39. package/src/components/NewSelect/index.d.ts +2 -0
  40. package/src/components/NewSelect/index.js +10 -7
  41. package/src/components/Panel/index.js +1 -1
  42. package/src/components/SimpleButton/index.js +1 -1
  43. package/src/components/Tabs/index.js +1 -1
  44. package/src/components/Tree/TreeDropdown/index.js +4 -8
  45. package/src/components/ui/button.d.ts +5 -2
  46. package/src/components/ui/button.js +8 -6
  47. package/src/components/ui/combobox.d.ts +16 -16
  48. package/src/components/ui/combobox.js +48 -49
  49. package/src/components/ui/input-group.d.ts +10 -9
  50. package/src/components/ui/input-group.js +19 -16
  51. package/src/components/ui/input.d.ts +2 -2
  52. package/src/components/ui/input.js +7 -4
  53. package/src/components/ui/popover.d.ts +5 -5
  54. package/src/components/ui/popover.js +5 -5
  55. package/src/components/ui/select.d.ts +7 -6
  56. package/src/components/ui/select.js +19 -17
  57. package/src/components/ui/textarea.d.ts +2 -2
  58. package/src/components/ui/textarea.js +7 -4
  59. package/src/components/ui/tooltip.d.ts +6 -5
  60. package/src/components/ui/tooltip.js +10 -7
  61. package/src/env.js +2 -2
  62. package/src/lib/utils.d.ts +20 -0
  63. package/src/lib/utils.js +48 -1
  64. package/src/metamodel/adaptable.metamodel.d.ts +7 -2
  65. package/src/metamodel/adaptable.metamodel.js +1 -1
  66. package/src/migration/VersionUpgrade23.d.ts +2 -3
  67. package/src/migration/VersionUpgrade23.js +4 -16
  68. package/themes/dark.css +7 -17
  69. package/tsconfig.cjs.tsbuildinfo +1 -1
@@ -22,5 +22,6 @@ export type NewDropdownButtonProps = {
22
22
  align?: 'start' | 'center' | 'end';
23
23
  'data-name'?: string;
24
24
  tone?: SimpleButtonProps['tone'];
25
+ showDivider?: boolean;
25
26
  };
26
27
  export declare const NewDropdownButton: React.ForwardRefExoticComponent<NewDropdownButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -10,11 +10,11 @@ const utils_1 = require("../../lib/utils");
10
10
  const lucide_react_1 = require("lucide-react");
11
11
  const SimpleButton_1 = tslib_1.__importDefault(require("../SimpleButton"));
12
12
  exports.NewDropdownButton = React.forwardRef((props, ref) => {
13
- const { items, children, className, disabled, tooltip, variant = 'text', accessLevel, side = 'bottom', align = 'start', 'data-name': dataName, tone = 'neutral', } = props;
13
+ const { items, children, className, disabled, tooltip, variant = 'text', accessLevel, side = 'bottom', align = 'start', 'data-name': dataName, tone = 'neutral', showDivider = true, } = props;
14
14
  const isHidden = accessLevel === 'Hidden';
15
15
  const isReadOnly = accessLevel === 'ReadOnly';
16
16
  const isDisabled = disabled || isHidden || isReadOnly;
17
- const trigger = ((0, jsx_runtime_1.jsxs)(dropdown_menu_1.DropdownMenuTrigger, { render: (0, jsx_runtime_1.jsx)(SimpleButton_1.default, { ref: ref, tone: tone, variant: variant, disabled: isDisabled, className: (0, utils_1.cn)(className, 'twa:pr-1 twa:active:translate-y-0 twa:flex-row twa:flex-none', variant !== 'text' ? 'twa:gap-1' : 'twa:gap-0.5'), "data-name": dataName }), children: [children, (0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('twa:h-full twa:my-1', variant !== 'text' ? 'twa:border-l twa:border-border' : '') }), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDownIcon, { className: "twa:size-3.5 twa:opacity-60 twa:transition-transform twa:duration-200 twa:[[data-popup-open]_&]:rotate-180" })] }));
17
+ const trigger = ((0, jsx_runtime_1.jsxs)(dropdown_menu_1.DropdownMenuTrigger, { render: (0, jsx_runtime_1.jsx)(SimpleButton_1.default, { ref: ref, tone: tone, variant: variant, disabled: isDisabled, className: (0, utils_1.cn)(className, 'twa:pr-1 twa:active:translate-y-0 twa:flex-row twa:flex-none', variant !== 'text' ? 'twa:gap-1' : 'twa:gap-0.5'), "data-name": dataName }), children: [children, showDivider && ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('twa:h-full twa:my-1', variant !== 'text' ? 'twa:border-l twa:border-border' : '') })), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDownIcon, { className: "twa:size-3.5 twa:opacity-60 twa:transition-transform twa:duration-200 twa:[[data-popup-open]_&]:rotate-180" })] }));
18
18
  const maxLabelLength = items.reduce((max, item) => Math.max(max, typeof item.label === 'string' ? item.label.length : 0), 0);
19
19
  return ((0, jsx_runtime_1.jsxs)(dropdown_menu_1.DropdownMenu, { children: [tooltip ? (0, jsx_runtime_1.jsx)(NewTooltip_1.NewTooltip, { label: tooltip, children: trigger }) : trigger, (0, jsx_runtime_1.jsx)(dropdown_menu_1.DropdownMenuContent, { side: side, align: align, style: {
20
20
  // minWidth: `min(max(${maxLabelLength + 5}ch, calc(var(--ab-base-space) * 32)),80vw)`,
@@ -9,10 +9,12 @@ type SelectGroupType<T extends SelectItemType> = {
9
9
  items: T[];
10
10
  };
11
11
  type NewSelectBaseProps<T extends SelectItemType> = {
12
+ chevronIcon?: React.ReactNode;
12
13
  'data-name'?: string;
13
14
  open?: boolean;
14
15
  onOpenChange?: (open: boolean) => void;
15
16
  showClear?: boolean;
17
+ extraWidthChars?: number;
16
18
  multiple?: boolean;
17
19
  disabled?: boolean;
18
20
  value?: T['value'] | T['value'][];
@@ -34,9 +34,13 @@ const NewSelect = (props) => {
34
34
  ];
35
35
  allItems = props.items;
36
36
  }
37
- const maxLabelLength = allItems.reduce((max, item) => Math.max(max, typeof item.label === 'string' ? item.label.length : 0), 0);
37
+ const maxLabelLength = allItems.reduce((max, item) => Math.max(max, typeof item.label === 'string'
38
+ ? item.label.length
39
+ : typeof item.tooltip === 'string'
40
+ ? item.tooltip.length
41
+ : 0), 0);
38
42
  const contentStyle = {
39
- width: `max(${maxLabelLength + 3}ch, calc(var(--ab-base-space) * 20), var(--anchor-width))`,
43
+ width: `max(${maxLabelLength + (props.extraWidthChars ?? 3)}ch, calc(var(--ab-base-space) * 20), var(--anchor-width))`,
40
44
  };
41
45
  const renderValueProp = props.renderValue;
42
46
  const renderValueChild = renderValueProp
@@ -52,13 +56,12 @@ const NewSelect = (props) => {
52
56
  return item !== undefined ? renderValueProp(item) : undefined;
53
57
  }
54
58
  : undefined;
55
- return ((0, jsx_runtime_1.jsxs)(select_1.Select, { multiple: props.multiple, open: props.open, onOpenChange: props.onOpenChange, isItemEqualToValue: isItemEqualToValue, items: allItems, disabled: props.disabled, value: props.value, onValueChange: props.onValueChange, "aria-label": props.ariaLabel, defaultValue: props.defaultValue, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { size: props.size === 'small' ? 'sm' : 'default', className: (0, utils_1.cn)('twa:max-w-80 ab-Select', props.className), "aria-invalid": isInvalid, "aria-label": props.ariaLabel, "data-name": props['data-name'], children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: props.placeholder, className: 'twa:truncate twa:block!', children: renderValueChild }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { alignItemWithTrigger: false, container: props.container, stopMouseDownPropagation: props.stopMouseDownPropagation, style: contentStyle, children: groups.map((group, index) => {
59
+ return ((0, jsx_runtime_1.jsxs)(select_1.Select, { multiple: props.multiple, open: props.open, onOpenChange: props.onOpenChange, isItemEqualToValue: isItemEqualToValue, items: allItems, disabled: props.disabled, value: props.value, onValueChange: props.onValueChange, "aria-label": props.ariaLabel, defaultValue: props.defaultValue, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { size: props.size === 'small' ? 'sm' : 'default', className: (0, utils_1.cn)('twa:max-w-80 ab-Select', props.className), "aria-invalid": isInvalid, "aria-label": props.ariaLabel, "data-name": props['data-name'], icon: props.chevronIcon, children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: props.placeholder, className: 'twa:truncate twa:block!', children: renderValueChild }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { "aria-label": props.ariaLabel ? `${props.ariaLabel} content` : undefined, alignItemWithTrigger: false, container: props.container, stopMouseDownPropagation: props.stopMouseDownPropagation, style: contentStyle, children: groups.map((group, index) => {
56
60
  return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsxs)(select_1.SelectGroup, { children: [group.label && (0, jsx_runtime_1.jsx)(select_1.SelectLabel, { children: group.label }), group.items.map((item) => {
57
- const tooltipText = props.showItemTooltip
58
- ? getItemTitle(item.label, item.value)
59
- : undefined;
61
+ const itemTitle = getItemTitle(item.label, item.value);
62
+ const tooltipText = props.showItemTooltip ? itemTitle : undefined;
60
63
  const itemContent = item.label;
61
- const itemElement = ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: item.value, className: 'ab-Select-Row', disabled: item.disabled, children: itemContent }, item.value));
64
+ const itemElement = ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: item.value, "aria-label": itemTitle || undefined, className: 'ab-Select-Row', disabled: item.disabled, children: itemContent }, item.value));
62
65
  if (tooltipText != null) {
63
66
  return ((0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { render: itemElement, children: itemContent }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { side: "right", children: tooltipText })] }, item.value));
64
67
  }
@@ -8,7 +8,7 @@ const clsx_1 = tslib_1.__importDefault(require("clsx"));
8
8
  const Flex_1 = require("../Flex");
9
9
  const twMerge_1 = require("../../twMerge");
10
10
  exports.baseClassName = 'ab-Panel';
11
- const DEFAULT_BODY_CLS = 'twa:relative twa:flex-1 twa:p-2 twa:bg-defaultbackground twa:text-foreground';
11
+ const DEFAULT_BODY_CLS = 'twa:relative twa:flex-1 twa:p-2 twa:bg-background twa:text-foreground';
12
12
  const Header = ({ children, variant = 'default', className, style, onClick, ...flexProps }) => {
13
13
  if (!children) {
14
14
  return null;
@@ -96,7 +96,7 @@ const SimpleButton = React.forwardRef((givenProps, theRef) => {
96
96
  }, variant === 'text' ? 'twa:bg-transparent' : '', variant === 'ghost'
97
97
  ? 'twa:hover:bg-muted twa:hover:text-foreground twa:aria-expanded:bg-muted twa:aria-expanded:text-foreground twa:dark:hover:bg-muted/50'
98
98
  : '', variant === 'outlined'
99
- ? 'twa:bg-defaultbackground twa:border-input-border twa:border'
99
+ ? 'twa:bg-background twa:border-input-border twa:border'
100
100
  : '', variant === 'raised'
101
101
  ? {
102
102
  'twa:text-text-on-primary twa:shadow-(--ab-cmp-simple-button__box-shadow) twa:hover:not-disabled:shadow-(--ab-cmp-simple-button__hover-box-shadow) twa:transition-(--ab-cmp-simple-button__transition) twa:duration-200 twa:focus:shadow-(--ab-focus__box-shadow)': true,
@@ -70,7 +70,7 @@ const Tabs = (props) => {
70
70
  selectedIndex,
71
71
  tabCount: tabs.length,
72
72
  setSelectedIndex,
73
- }, children: (0, jsx_runtime_1.jsxs)(Flex_1.Box, { ...boxProps, className: (0, join_1.default)(boxProps.className, 'ab-Tabs twa:flex twa:flex-col'), "data-selected-index": selectedIndex, children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", className: (0, clsx_1.default)('ab-Tabs__Strip', 'twa:bg-(--ab-cmp-tabs-strip__background)'), children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: fillerClassName }), tabs, (0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: (0, clsx_1.default)(fillerClassName, 'twa:flex-1') })] }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { ...contentProps, className: `ab-Tabs__Body twa:p-2 twa:flex-1 ${contentProps.className || ''} `, children: currentContent })] }) }));
73
+ }, children: (0, jsx_runtime_1.jsxs)(Flex_1.Box, { ...boxProps, className: (0, join_1.default)(boxProps.className, 'ab-Tabs twa:flex twa:flex-col'), "data-selected-index": selectedIndex, children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", className: (0, clsx_1.default)('ab-Tabs__Strip', 'twa:bg-(--ab-cmp-tabs-strip__background)', 'twa:pt-0.5'), children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: fillerClassName }), tabs, (0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: (0, clsx_1.default)(fillerClassName, 'twa:flex-1') })] }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { ...contentProps, className: `ab-Tabs__Body twa:p-2 twa:flex-1 ${contentProps.className || ''} `, children: currentContent })] }) }));
74
74
  };
75
75
  exports.Tabs = Tabs;
76
76
  const Tab = (props) => {
@@ -64,15 +64,9 @@ function TreeItemLabel(props) {
64
64
  // that base-ui's boolean indicator can't.
65
65
  const indent = node.depth > 0 ? `calc(${node.depth} * var(--ab-tree-indent-size))` : 0;
66
66
  const iconProps = {
67
- style: {
68
- // override this explicitly since the parent ComboboxItem
69
- // sets this on highlighted items, but the color is not appropriate
70
- //@ts-ignore ignore
71
- '--ab-color-accent-foreground': 'var(--ab-color-accent)',
72
- },
73
67
  className: 'twa:size-4',
74
68
  };
75
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [node.hasChildren ? ((0, jsx_runtime_1.jsx)("button", { type: "button", tabIndex: -1, "aria-label": isExpanded ? 'Collapse' : 'Expand', "data-name": "expand-collapse-icon", onMouseDown: handleChevronMouseDown, onClick: handleChevronClick, style: { order: -1, marginLeft: indent }, className: (0, utils_1.cn)('twa:inline-flex twa:shrink-0 twa:items-center twa:justify-center twa:rounded', 'twa:cursor-pointer'), children: isExpanded ? (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDownIcon, { ...iconProps }) : (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRightIcon, { ...iconProps }) })) : reserveExpandSpace ? ((0, jsx_runtime_1.jsx)("span", { "aria-hidden": "true", style: { order: -1, marginLeft: indent }, className: "twa:inline-block twa:size-4 twa:shrink-0" })) : null, (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { checked: selected, checkSquareClassName: (0, clsx_1.default)(selected === true && 'twa:ring-1 twa:ring-accent-foreground') }), (0, jsx_runtime_1.jsx)("span", { className: "twa:truncate twa:min-w-0 twa:flex-1", children: node.label })] }));
69
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [node.hasChildren ? ((0, jsx_runtime_1.jsx)("button", { type: "button", tabIndex: -1, "aria-label": isExpanded ? 'Collapse' : 'Expand', "data-name": "expand-collapse-icon", onMouseDown: handleChevronMouseDown, onClick: handleChevronClick, style: { order: -1, marginLeft: indent }, className: (0, utils_1.cn)('twa:bg-transparent twa:text-foreground', 'twa:inline-flex twa:shrink-0 twa:items-center twa:justify-center twa:rounded', 'twa:cursor-pointer'), children: isExpanded ? (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDownIcon, { ...iconProps }) : (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRightIcon, { ...iconProps }) })) : reserveExpandSpace ? ((0, jsx_runtime_1.jsx)("span", { "aria-hidden": "true", style: { order: -1, marginLeft: indent }, className: "twa:inline-block twa:size-4 twa:shrink-0" })) : null, (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { checked: selected, checkSquareClassName: (0, clsx_1.default)(selected === true && 'twa:ring-1 twa:ring-accent-foreground') }), (0, jsx_runtime_1.jsx)("span", { className: "twa:truncate twa:min-w-0 twa:flex-1", children: node.label })] }));
76
70
  }
77
71
  function TreeDropdown(props) {
78
72
  const { isLoading = false } = props;
@@ -461,7 +455,7 @@ function TreeDropdown(props) {
461
455
  }, onClick: (e) => {
462
456
  e.preventDefault();
463
457
  toggleExpandAll();
464
- }, className: (0, utils_1.cn)('ab-NewTreeDropdown-expand-all', 'twa:inline-flex twa:shrink-0 twa:items-center twa:justify-center', 'twa:bg-defaultbackground', 'twa:size-6 twa:rounded-md twa:text-muted-foreground', 'twa:hover:text-foreground twa:hover:bg-ring/50 twa:cursor-pointer'
458
+ }, className: (0, utils_1.cn)('ab-NewTreeDropdown-expand-all', 'twa:inline-flex twa:shrink-0 twa:items-center twa:justify-center', 'twa:bg-background', 'twa:size-6 twa:rounded-md twa:text-muted-foreground', 'twa:hover:text-foreground twa:hover:bg-ring/50 twa:cursor-pointer'
465
459
  // 'twa:-mr-1'
466
460
  ), children: anyBranchExpanded ? ((0, jsx_runtime_1.jsx)(lucide_react_1.ChevronsDownUpIcon, { className: "twa:size-4" })) : ((0, jsx_runtime_1.jsx)(lucide_react_1.ChevronsUpDownIcon, { className: "twa:size-4" })) }));
467
461
  }, [branchNodes.length, anyBranchExpanded, toggleExpandAll]);
@@ -486,6 +480,8 @@ function TreeDropdown(props) {
486
480
  resizable: props.resizable,
487
481
  placeholder: props.placeholder,
488
482
  showClear: showRemoveChip,
483
+ //@ts-ignore ignore
484
+ 'data-name': props['data-name'] ?? 'Select Values',
489
485
  renderItemLabel: (defaultLabel) => {
490
486
  return defaultLabel;
491
487
  },
@@ -1,8 +1,11 @@
1
- import { Button as ButtonPrimitive } from '@base-ui/react/button';
1
+ import * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  declare const buttonVariants: (props?: {
4
4
  variant?: "link" | "secondary" | "default" | "ghost" | "outline" | "destructive";
5
5
  size?: "default" | "icon" | "xs" | "sm" | "lg" | "icon-xs" | "icon-sm" | "icon-lg";
6
6
  } & import("class-variance-authority/dist/types").ClassProp) => string;
7
- declare function Button({ className, variant, size, ...props }: ButtonPrimitive.Props & VariantProps<typeof buttonVariants>): import("react").JSX.Element;
7
+ declare const Button: React.ForwardRefExoticComponent<Omit<import("@base-ui/react/button").ButtonProps & VariantProps<(props?: {
8
+ variant?: "link" | "secondary" | "default" | "ghost" | "outline" | "destructive";
9
+ size?: "default" | "icon" | "xs" | "sm" | "lg" | "icon-xs" | "icon-sm" | "icon-lg";
10
+ } & import("class-variance-authority/dist/types").ClassProp) => string>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
8
11
  export { Button, buttonVariants };
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buttonVariants = void 0;
4
- exports.Button = Button;
3
+ exports.buttonVariants = exports.Button = void 0;
4
+ const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const React = tslib_1.__importStar(require("react"));
6
7
  const button_1 = require("@base-ui/react/button");
7
8
  const class_variance_authority_1 = require("class-variance-authority");
8
9
  const utils_1 = require("../../lib/utils");
@@ -10,7 +11,7 @@ const buttonVariants = (0, class_variance_authority_1.cva)('twa:group/button twa
10
11
  variants: {
11
12
  variant: {
12
13
  default: 'twa:bg-primary twa:text-primary-foreground twa:hover:bg-primary/80',
13
- outline: 'twa:border-border twa:bg-background twa:shadow-xs twa:hover:bg-muted twa:hover:text-foreground twa:aria-expanded:bg-muted twa:aria-expanded:text-foreground twa:dark:border-input twa:dark:bg-input/30 twa:dark:hover:bg-input/50',
14
+ outline: 'twa:border-border twa:bg-background twa:shadow-xs twa:hover:bg-muted twa:hover:text-foreground twa:aria-expanded:bg-muted twa:aria-expanded:text-foreground twa:dark:border-input twa:dark:hover:bg-input/50',
14
15
  secondary: 'twa:bg-secondary twa:text-secondary-foreground twa:hover:bg-secondary/80 twa:aria-expanded:bg-secondary twa:aria-expanded:text-secondary-foreground',
15
16
  ghost: 'twa:bg-transparent twa:hover:bg-muted twa:hover:text-foreground twa:aria-expanded:bg-muted twa:aria-expanded:text-foreground twa:dark:hover:bg-muted/50',
16
17
  destructive: 'twa:bg-destructive/10 twa:text-destructive twa:hover:bg-destructive/20 twa:focus-visible:border-destructive/40 twa:focus-visible:ring-destructive/20 twa:dark:bg-destructive/20 twa:dark:hover:bg-destructive/30 twa:dark:focus-visible:ring-destructive/40',
@@ -33,6 +34,7 @@ const buttonVariants = (0, class_variance_authority_1.cva)('twa:group/button twa
33
34
  },
34
35
  });
35
36
  exports.buttonVariants = buttonVariants;
36
- function Button({ className, variant = 'default', size = 'default', ...props }) {
37
- return ((0, jsx_runtime_1.jsx)(button_1.Button, { "data-slot": "button", className: (0, utils_1.cn)(buttonVariants({ variant, size, className })), ...props }));
38
- }
37
+ const Button = React.forwardRef(function Button({ className, variant = 'default', size = 'default', ...props }, ref) {
38
+ return ((0, jsx_runtime_1.jsx)(button_1.Button, { "data-slot": "button", className: (0, utils_1.cn)(buttonVariants({ variant, size, className })), ref: ref, ...props }));
39
+ });
40
+ exports.Button = Button;
@@ -6,32 +6,32 @@ declare const Combobox: typeof ComboboxPrimitive.Root;
6
6
  declare const RESIZABLE_VIRTUALIZED_LIST_CLASS = "twa:group-data-resizable/combobox-content:max-h-none twa:group-data-resizable/combobox-content:flex-1 twa:group-data-resizable/combobox-content:min-h-0 twa:group-data-resizable/combobox-content:flex twa:group-data-resizable/combobox-content:flex-col";
7
7
  declare const RESIZABLE_VIRTUALIZED_SCROLL_CLASS = "twa:group-data-resizable/combobox-content:h-auto twa:group-data-resizable/combobox-content:max-h-none twa:group-data-resizable/combobox-content:flex-1 twa:group-data-resizable/combobox-content:min-h-0";
8
8
  declare function ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props): React.JSX.Element;
9
- declare function ComboboxTrigger({ className, children, ...props }: ComboboxPrimitive.Trigger.Props): React.JSX.Element;
10
- export declare function ComboboxClear({ className, ...props }: ComboboxPrimitive.Clear.Props): React.JSX.Element;
11
- declare function ComboboxInput({ className, children, disabled, isLoading, showTrigger, showClear, groupRef, ...props }: ComboboxPrimitive.Input.Props & {
9
+ declare const ComboboxTrigger: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").ComboboxTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
10
+ export declare const ComboboxClear: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").AutocompleteClearProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
11
+ declare const ComboboxInput: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").AutocompleteInputProps & {
12
12
  isLoading?: boolean;
13
13
  showTrigger?: boolean;
14
14
  showClear?: boolean;
15
15
  /** Ref to the visible `InputGroup` wrapper. Use as the popup anchor so the popup
16
16
  * lines up with the perceived combobox box (input + buttons), not just the bare input. */
17
17
  groupRef?: React.Ref<HTMLDivElement>;
18
- }): React.JSX.Element;
18
+ }, "ref"> & React.RefAttributes<HTMLInputElement>>;
19
19
  declare function ComboboxContent({ className, side, sideOffset, align, alignOffset, anchor, resizable, contentRef, style, ...props }: ComboboxPrimitive.Popup.Props & Pick<ComboboxPrimitive.Positioner.Props, 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'anchor'> & {
20
20
  resizable?: boolean;
21
21
  contentRef?: (el: HTMLDivElement | null) => void;
22
22
  maxLabelLength?: number;
23
23
  }): React.JSX.Element;
24
- declare function ComboboxList({ className, ...props }: ComboboxPrimitive.List.Props): React.JSX.Element;
25
- declare function ComboboxItem({ className, children, renderCheckboxIndicator, ...props }: ComboboxPrimitive.Item.Props & {
26
- renderCheckboxIndicator?: boolean | null | ComboboxPrimitive.ItemIndicator.Props['render'];
27
- }): React.JSX.Element;
28
- declare function ComboboxGroup({ className, ...props }: ComboboxPrimitive.Group.Props): React.JSX.Element;
29
- declare function ComboboxLabel({ className, ...props }: ComboboxPrimitive.GroupLabel.Props): React.JSX.Element;
24
+ declare const ComboboxList: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").AutocompleteListProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
25
+ declare const ComboboxItem: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").ComboboxItemProps & {
26
+ renderCheckboxIndicator?: boolean | null | ComboboxPrimitive.ItemIndicator.Props["render"];
27
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
28
+ declare const ComboboxGroup: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").AutocompleteGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
29
+ declare const ComboboxLabel: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").AutocompleteGroupLabelProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
30
30
  declare function ComboboxCollection({ ...props }: ComboboxPrimitive.Collection.Props): React.JSX.Element;
31
- declare function ComboboxEmpty({ className, ...props }: ComboboxPrimitive.Empty.Props): React.JSX.Element;
32
- declare function ComboboxSeparator({ className, ...props }: ComboboxPrimitive.Separator.Props): React.JSX.Element;
33
- declare function ComboboxChips({ className, ...props }: React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> & ComboboxPrimitive.Chips.Props): React.JSX.Element;
34
- declare function ComboboxChip({ className, children, showRemove, onRemove, ...props }: ComboboxPrimitive.Chip.Props & {
31
+ declare const ComboboxEmpty: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").AutocompleteEmptyProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
32
+ declare const ComboboxSeparator: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").SeparatorProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
33
+ declare const ComboboxChips: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").ComboboxChipsProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
34
+ declare const ComboboxChip: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").ComboboxChipProps & {
35
35
  showRemove?: boolean;
36
36
  /**
37
37
  * Optional override for the remove action. When provided, a plain button
@@ -42,7 +42,7 @@ declare function ComboboxChip({ className, children, showRemove, onRemove, ...pr
42
42
  * the chip's composite list index and would target the wrong value.
43
43
  */
44
44
  onRemove?: (event: React.MouseEvent<HTMLButtonElement>) => void;
45
- }): React.JSX.Element;
46
- declare function ComboboxChipsInput({ className, ...props }: ComboboxPrimitive.Input.Props): React.JSX.Element;
45
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
46
+ declare const ComboboxChipsInput: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").AutocompleteInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
47
47
  declare function useComboboxAnchor(): React.RefObject<HTMLDivElement>;
48
48
  export { Combobox, ComboboxInput, ComboboxContent, ComboboxList, ComboboxItem, ComboboxGroup, ComboboxLabel, ComboboxCollection, ComboboxEmpty, ComboboxSeparator, ComboboxChips, ComboboxChip, ComboboxChipsInput, ComboboxTrigger, ComboboxValue, useComboboxAnchor, RESIZABLE_VIRTUALIZED_LIST_CLASS, RESIZABLE_VIRTUALIZED_SCROLL_CLASS, };
@@ -1,20 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RESIZABLE_VIRTUALIZED_SCROLL_CLASS = exports.RESIZABLE_VIRTUALIZED_LIST_CLASS = exports.Combobox = exports.ComboboxPrimitive = exports.useFilteredItems = void 0;
4
- exports.ComboboxClear = ComboboxClear;
5
- exports.ComboboxInput = ComboboxInput;
3
+ exports.RESIZABLE_VIRTUALIZED_SCROLL_CLASS = exports.RESIZABLE_VIRTUALIZED_LIST_CLASS = exports.ComboboxTrigger = exports.ComboboxChipsInput = exports.ComboboxChip = exports.ComboboxChips = exports.ComboboxSeparator = exports.ComboboxEmpty = exports.ComboboxLabel = exports.ComboboxGroup = exports.ComboboxItem = exports.ComboboxList = exports.ComboboxInput = exports.Combobox = exports.ComboboxClear = exports.ComboboxPrimitive = exports.useFilteredItems = void 0;
6
4
  exports.ComboboxContent = ComboboxContent;
7
- exports.ComboboxList = ComboboxList;
8
- exports.ComboboxItem = ComboboxItem;
9
- exports.ComboboxGroup = ComboboxGroup;
10
- exports.ComboboxLabel = ComboboxLabel;
11
5
  exports.ComboboxCollection = ComboboxCollection;
12
- exports.ComboboxEmpty = ComboboxEmpty;
13
- exports.ComboboxSeparator = ComboboxSeparator;
14
- exports.ComboboxChips = ComboboxChips;
15
- exports.ComboboxChip = ComboboxChip;
16
- exports.ComboboxChipsInput = ComboboxChipsInput;
17
- exports.ComboboxTrigger = ComboboxTrigger;
18
6
  exports.ComboboxValue = ComboboxValue;
19
7
  exports.useComboboxAnchor = useComboboxAnchor;
20
8
  const tslib_1 = require("tslib");
@@ -39,16 +27,18 @@ exports.RESIZABLE_VIRTUALIZED_SCROLL_CLASS = RESIZABLE_VIRTUALIZED_SCROLL_CLASS;
39
27
  function ComboboxValue({ ...props }) {
40
28
  return (0, jsx_runtime_1.jsx)(react_1.Combobox.Value, { "data-slot": "combobox-value", ...props });
41
29
  }
42
- function ComboboxTrigger({ className, children, ...props }) {
43
- return ((0, jsx_runtime_1.jsxs)(react_1.Combobox.Trigger, { "data-slot": "combobox-trigger", className: (0, utils_1.cn)('twa:[&_svg:not([class*=size-])]:size-4', className), ...props, children: [children, (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDownIcon, { className: "twa:pointer-events-none twa:size-4 twa:text-muted-foreground" })] }));
44
- }
45
- function ComboboxClear({ className, ...props }) {
46
- return ((0, jsx_runtime_1.jsx)(react_1.Combobox.Clear, { "data-slot": "combobox-clear", render: (0, jsx_runtime_1.jsx)(input_group_1.InputGroupButton, { variant: "ghost", size: "icon-xs", className: "twa:min-h-auto!" }), className: (0, utils_1.cn)(className), ...props, children: (0, jsx_runtime_1.jsx)(lucide_react_1.XIcon, { className: "twa:pointer-events-none", strokeWidth: 1 }) }));
47
- }
48
- function ComboboxInput({ className, children, disabled = false, isLoading = false, showTrigger = true, showClear = false, groupRef, ...props }) {
30
+ const ComboboxTrigger = React.forwardRef(function ComboboxTrigger({ className, children, ...props }, ref) {
31
+ return ((0, jsx_runtime_1.jsxs)(react_1.Combobox.Trigger, { "data-slot": "combobox-trigger", className: (0, utils_1.cn)('twa:[&_svg:not([class*=size-])]:size-4', className), ref: ref, ...props, children: [children, (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDownIcon, { className: "twa:pointer-events-none twa:size-4 twa:text-muted-foreground" })] }));
32
+ });
33
+ exports.ComboboxTrigger = ComboboxTrigger;
34
+ exports.ComboboxClear = React.forwardRef(function ComboboxClear({ className, ...props }, ref) {
35
+ return ((0, jsx_runtime_1.jsx)(react_1.Combobox.Clear, { "data-slot": "combobox-clear", render: (0, jsx_runtime_1.jsx)(input_group_1.InputGroupButton, { variant: "ghost", size: "icon-xs", className: "twa:min-h-auto!" }), className: className, ref: ref, ...props, children: (0, jsx_runtime_1.jsx)(lucide_react_1.XIcon, { className: "twa:pointer-events-none", strokeWidth: 1 }) }));
36
+ });
37
+ const ComboboxInput = React.forwardRef(function ComboboxInput({ className, children, disabled = false, isLoading = false, showTrigger = true, showClear = false, groupRef, ...props }, ref) {
49
38
  const { 'aria-label': ariaLabel, ...rest } = props;
50
- return ((0, jsx_runtime_1.jsxs)(input_group_1.InputGroup, { ref: groupRef, className: (0, utils_1.cn)('twa:w-auto', className), "aria-label": ariaLabel, children: [(0, jsx_runtime_1.jsx)(react_1.Combobox.Input, { render: (0, jsx_runtime_1.jsx)(input_group_1.InputGroupInput, { disabled: disabled }), ...rest }), (0, jsx_runtime_1.jsxs)(input_group_1.InputGroupAddon, { align: "inline-end", children: [isLoading && ((0, jsx_runtime_1.jsx)(lucide_react_1.Loader2Icon, { className: "twa:size-4 twa:text-muted-foreground twa:animate-spin" })), showTrigger && ((0, jsx_runtime_1.jsx)(input_group_1.InputGroupButton, { size: "icon-xs", variant: "ghost", render: (0, jsx_runtime_1.jsx)(ComboboxTrigger, {}), "data-slot": "input-group-button", className: "twa:group-has-data-[slot=combobox-clear]/input-group:hidden twa:data-pressed:bg-transparent twa:min-h-auto!", disabled: disabled })), showClear && (0, jsx_runtime_1.jsx)(ComboboxClear, { disabled: disabled })] }), children] }));
51
- }
39
+ return ((0, jsx_runtime_1.jsxs)(input_group_1.InputGroup, { ref: groupRef, className: (0, utils_1.cn)('twa:w-auto', className), "aria-label": ariaLabel, children: [(0, jsx_runtime_1.jsx)(react_1.Combobox.Input, { ref: ref, render: (0, jsx_runtime_1.jsx)(input_group_1.InputGroupInput, { disabled: disabled }), ...rest }), (0, jsx_runtime_1.jsxs)(input_group_1.InputGroupAddon, { align: "inline-end", children: [isLoading && ((0, jsx_runtime_1.jsx)(lucide_react_1.Loader2Icon, { className: "twa:size-4 twa:text-muted-foreground twa:animate-spin" })), showTrigger && ((0, jsx_runtime_1.jsx)(input_group_1.InputGroupButton, { size: "icon-xs", variant: "ghost", render: (0, jsx_runtime_1.jsx)(ComboboxTrigger, {}), "data-slot": "combobox-toggle", className: "twa:group-has-data-[slot=combobox-clear]/input-group:hidden twa:data-pressed:bg-transparent twa:min-h-auto!", disabled: disabled })), showClear && (0, jsx_runtime_1.jsx)(exports.ComboboxClear, { disabled: disabled })] }), children] }));
40
+ });
41
+ exports.ComboboxInput = ComboboxInput;
52
42
  function ComboboxContent({ className, side = 'bottom', sideOffset = 6, align = 'start', alignOffset = 0, anchor, resizable = false, contentRef, style, ...props }) {
53
43
  const sizeRef = React.useRef(null);
54
44
  const popupElRef = React.useRef(null);
@@ -73,36 +63,43 @@ function ComboboxContent({ className, side = 'bottom', sideOffset = 6, align = '
73
63
  : undefined;
74
64
  return ((0, jsx_runtime_1.jsx)(react_1.Combobox.Portal, { children: (0, jsx_runtime_1.jsx)(react_1.Combobox.Positioner, { side: side, sideOffset: sideOffset, align: align, alignOffset: alignOffset, anchor: anchor, className: `twa:isolate ${utils_1.POPUP_Z_INDEX}`, children: (0, jsx_runtime_1.jsx)(react_1.Combobox.Popup, { ref: popupRef, "data-slot": "combobox-content", "data-chips": !!anchor, "data-resizable": resizable || undefined, style: { ...resizableStyle, ...style }, className: (0, utils_1.cn)('twa:group/combobox-content twa:relative twa:origin-(--transform-origin) twa:overflow-hidden twa:rounded-input twa:bg-popover twa:text-popover-foreground twa:shadow-md twa:ring-1 twa:ring-foreground/10 twa:duration-100 twa:data-[side=bottom]:slide-in-from-top-2 twa:data-[side=inline-end]:slide-in-from-left-2 twa:data-[side=inline-start]:slide-in-from-right-2 twa:data-[side=left]:slide-in-from-right-2 twa:data-[side=right]:slide-in-from-left-2 twa:data-[side=top]:slide-in-from-bottom-2 twa:*:data-[slot=input-group]:m-1 twa:*:data-[slot=input-group]:mb-0 twa:*:data-[slot=input-group]:h-8 twa:*:data-[slot=input-group]:border-input/30 twa:*:data-[slot=input-group]:bg-input/30 twa:*:data-[slot=input-group]:shadow-none twa:data-open:animate-in twa:data-open:fade-in-0 twa:data-open:zoom-in-95 twa:data-closed:animate-out twa:data-closed:fade-out-0 twa:data-closed:zoom-out-95', 'twa:max-h-[min(var(--available-height),80vh)]', 'twa:max-w-[min(var(--available-width),80vw)]', 'twa:min-w-[min(calc(var(--anchor-width)+--spacing(7)),var(--available-width),80vw)]', resizable ? 'twa:flex twa:flex-col twa:min-h-24' : 'twa:w-(--anchor-width)', className), ...props }) }) }));
75
65
  }
76
- function ComboboxList({ className, ...props }) {
77
- return ((0, jsx_runtime_1.jsx)(react_1.Combobox.List, { "data-slot": "combobox-list", className: (0, utils_1.cn)('twa:no-scrollbar twa:max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] twa:scroll-py-1 twa:overflow-y-auto twa:overscroll-contain twa:p-1 twa:data-empty:p-0', RESIZABLE_LIST_CLASS, className), ...props }));
78
- }
66
+ const ComboboxList = React.forwardRef(function ComboboxList({ className, ...props }, ref) {
67
+ return ((0, jsx_runtime_1.jsx)(react_1.Combobox.List, { "data-slot": "combobox-list", className: (0, utils_1.cn)('twa:no-scrollbar twa:max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] twa:scroll-py-1 twa:overflow-y-auto twa:overscroll-contain twa:p-1 twa:data-empty:p-0', RESIZABLE_LIST_CLASS, className), ref: ref, ...props }));
68
+ });
69
+ exports.ComboboxList = ComboboxList;
79
70
  const checkboxIndicatorRender = (props, state) => {
80
71
  const clsForSquare = state.selected ? 'twa:ring-1 twa:ring-accent-foreground' : '';
81
72
  return ((0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { checked: state.selected, tabIndex: -1, checkSquareClassName: clsForSquare, className: "twa:p-0 twa:m-0 twa:cursor-pointer" }));
82
73
  };
83
- function ComboboxItem({ className, children, renderCheckboxIndicator, ...props }) {
84
- return ((0, jsx_runtime_1.jsxs)(react_1.Combobox.Item, { className: (0, utils_1.cn)('twa:relative twa:flex twa:w-full twa:cursor-default twa:items-center twa:gap-2 twa:rounded-input twa:py-1.5 twa:pl-2 twa:text-sm twa:outline-hidden twa:select-none twa:data-highlighted:bg-accent twa:data-highlighted:text-accent-foreground twa:not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground twa:data-disabled:pointer-events-none twa:data-disabled:opacity-50 twa:[&_svg]:pointer-events-none twa:[&_svg]:shrink-0 twa:[&_svg:not([class*=size-])]:size-4', 'twa:cursor-pointer', renderCheckboxIndicator ? 'twa:pr-2' : 'twa:pr-8', className), ...props, "data-slot": "combobox-item", children: [renderCheckboxIndicator ? ((0, jsx_runtime_1.jsx)(react_1.Combobox.ItemIndicator, { keepMounted: true, render: renderCheckboxIndicator === true ? checkboxIndicatorRender : renderCheckboxIndicator })) : null, children, !renderCheckboxIndicator && ((0, jsx_runtime_1.jsx)(react_1.Combobox.ItemIndicator, { render: (0, jsx_runtime_1.jsx)("span", { className: "twa:pointer-events-none twa:absolute twa:right-2 twa:flex twa:size-4 twa:items-center twa:justify-center" }), children: (0, jsx_runtime_1.jsx)(lucide_react_1.CheckIcon, { className: "twa:pointer-events-none" }) }))] }));
85
- }
86
- function ComboboxGroup({ className, ...props }) {
87
- return ((0, jsx_runtime_1.jsx)(react_1.Combobox.Group, { "data-slot": "combobox-group", className: (0, utils_1.cn)(className), ...props }));
88
- }
89
- function ComboboxLabel({ className, ...props }) {
90
- return ((0, jsx_runtime_1.jsx)(react_1.Combobox.GroupLabel, { "data-slot": "combobox-label", className: (0, utils_1.cn)('twa:px-2 twa:py-1.5 twa:text-xs twa:text-muted-foreground', className), ...props }));
91
- }
74
+ const ComboboxItem = React.forwardRef(function ComboboxItem({ className, children, renderCheckboxIndicator, ...props }, ref) {
75
+ return ((0, jsx_runtime_1.jsxs)(react_1.Combobox.Item, { ref: ref, className: (0, utils_1.cn)('twa:relative twa:flex twa:w-full twa:cursor-default twa:items-center twa:gap-2 twa:rounded-input twa:py-1.5 twa:pl-2 twa:text-sm twa:outline-hidden twa:select-none twa:data-highlighted:bg-accent twa:data-highlighted:text-accent-foreground twa:not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground twa:data-disabled:pointer-events-none twa:data-disabled:opacity-50 twa:[&_svg]:pointer-events-none twa:[&_svg]:shrink-0 twa:[&_svg:not([class*=size-])]:size-4', 'twa:cursor-pointer', renderCheckboxIndicator ? 'twa:pr-2' : 'twa:pr-8', className), ...props, "data-slot": "combobox-item", children: [renderCheckboxIndicator ? ((0, jsx_runtime_1.jsx)(react_1.Combobox.ItemIndicator, { keepMounted: true, render: renderCheckboxIndicator === true ? checkboxIndicatorRender : renderCheckboxIndicator })) : null, children, !renderCheckboxIndicator && ((0, jsx_runtime_1.jsx)(react_1.Combobox.ItemIndicator, { render: (0, jsx_runtime_1.jsx)("span", { className: "twa:pointer-events-none twa:absolute twa:right-2 twa:flex twa:size-4 twa:items-center twa:justify-center" }), children: (0, jsx_runtime_1.jsx)(lucide_react_1.CheckIcon, { className: "twa:pointer-events-none" }) }))] }));
76
+ });
77
+ exports.ComboboxItem = ComboboxItem;
78
+ const ComboboxGroup = React.forwardRef(function ComboboxGroup({ className, ...props }, ref) {
79
+ return ((0, jsx_runtime_1.jsx)(react_1.Combobox.Group, { "data-slot": "combobox-group", className: (0, utils_1.cn)(className), ref: ref, ...props }));
80
+ });
81
+ exports.ComboboxGroup = ComboboxGroup;
82
+ const ComboboxLabel = React.forwardRef(function ComboboxLabel({ className, ...props }, ref) {
83
+ return ((0, jsx_runtime_1.jsx)(react_1.Combobox.GroupLabel, { "data-slot": "combobox-label", className: (0, utils_1.cn)('twa:px-2 twa:py-1.5 twa:text-xs twa:text-muted-foreground', className), ref: ref, ...props }));
84
+ });
85
+ exports.ComboboxLabel = ComboboxLabel;
92
86
  function ComboboxCollection({ ...props }) {
93
87
  return (0, jsx_runtime_1.jsx)(react_1.Combobox.Collection, { "data-slot": "combobox-collection", ...props });
94
88
  }
95
- function ComboboxEmpty({ className, ...props }) {
96
- return ((0, jsx_runtime_1.jsx)(react_1.Combobox.Empty, { "data-slot": "combobox-empty", className: (0, utils_1.cn)('twa:hidden twa:w-full twa:justify-center twa:py-2 twa:text-center twa:text-sm twa:text-muted-foreground twa:group-data-empty/combobox-content:flex', className), ...props }));
97
- }
98
- function ComboboxSeparator({ className, ...props }) {
99
- return ((0, jsx_runtime_1.jsx)(react_1.Combobox.Separator, { "data-slot": "combobox-separator", className: (0, utils_1.cn)('twa:-mx-1 twa:my-1 twa:h-px twa:bg-border', className), ...props }));
100
- }
101
- function ComboboxChips({ className, ...props }) {
102
- return ((0, jsx_runtime_1.jsx)(react_1.Combobox.Chips, { "data-slot": "combobox-chips", className: (0, utils_1.cn)('twa:focus-within:outline-none', 'twa:flex twa:flex-wrap twa:items-center twa:gap-1.5 twa:rounded-input twa:border twa:border-input twa:bg-input-background twa:bg-clip-padding twa:text-sm twa:shadow-xs twa:transition-[color,box-shadow] twa:focus-within:border-ring twa:focus-within:ring-3 twa:focus-within:ring-ring/50 twa:has-aria-invalid:border-destructive twa:has-aria-invalid:ring-3 twa:has-aria-invalid:ring-destructive/20 twa:has-data-[slot=combobox-chip]:px-1.5 twa:dark:bg-input/30 twa:dark:has-aria-invalid:border-destructive/50 twa:dark:has-aria-invalid:ring-destructive/40', 'twa:py-1', 'twa:px-2.5', 'twa:min-h-input', 'twa:[&>input]:max-h-[calc(var(--ab-input-height)-1.5*var(--ab-base-space))]!', className), ...props }));
103
- }
104
- function ComboboxChip({ className, children, showRemove = true, onRemove, ...props }) {
105
- return ((0, jsx_runtime_1.jsxs)(react_1.Combobox.Chip, { "data-slot": "combobox-chip", className: (0, utils_1.cn)('twa:flex twa:h-[calc(--spacing(5.5))] twa:w-fit twa:items-center twa:justify-center twa:gap-1 twa:rounded-input twa:bg-muted twa:px-1.5 twa:text-xs twa:font-medium twa:whitespace-nowrap twa:text-input-foreground twa:has-disabled:pointer-events-none twa:has-disabled:cursor-not-allowed twa:has-disabled:opacity-50 twa:has-data-[slot=combobox-chip-remove]:pr-0', className), ...props, children: [children, showRemove &&
89
+ const ComboboxEmpty = React.forwardRef(function ComboboxEmpty({ className, ...props }, ref) {
90
+ return ((0, jsx_runtime_1.jsx)(react_1.Combobox.Empty, { "data-slot": "combobox-empty", className: (0, utils_1.cn)('twa:hidden twa:w-full twa:justify-center twa:py-2 twa:text-center twa:text-sm twa:text-muted-foreground twa:group-data-empty/combobox-content:flex', className), ref: ref, ...props }));
91
+ });
92
+ exports.ComboboxEmpty = ComboboxEmpty;
93
+ const ComboboxSeparator = React.forwardRef(function ComboboxSeparator({ className, ...props }, ref) {
94
+ return ((0, jsx_runtime_1.jsx)(react_1.Combobox.Separator, { "data-slot": "combobox-separator", className: (0, utils_1.cn)('twa:-mx-1 twa:my-1 twa:h-px twa:bg-border', className), ref: ref, ...props }));
95
+ });
96
+ exports.ComboboxSeparator = ComboboxSeparator;
97
+ const ComboboxChips = React.forwardRef(function ComboboxChips({ className, ...props }, ref) {
98
+ return ((0, jsx_runtime_1.jsx)(react_1.Combobox.Chips, { "data-slot": "combobox-chips", className: (0, utils_1.cn)('twa:focus-within:outline-none', 'twa:flex twa:flex-wrap twa:items-center twa:gap-1.5 twa:rounded-input twa:border twa:border-input twa:bg-input-background twa:bg-clip-padding twa:text-sm twa:shadow-xs twa:transition-[color,box-shadow] twa:focus-within:border-ring twa:focus-within:ring-3 twa:focus-within:ring-ring/50 twa:has-aria-invalid:border-destructive twa:has-aria-invalid:ring-3 twa:has-aria-invalid:ring-destructive/20 twa:has-data-[slot=combobox-chip]:px-1.5 twa:dark:has-aria-invalid:border-destructive/50 twa:dark:has-aria-invalid:ring-destructive/40', 'twa:py-1', 'twa:px-2.5', 'twa:min-h-input', 'twa:[&>input]:max-h-[calc(var(--ab-input-height)-1.5*var(--ab-base-space))]!', className), ref: ref, ...props }));
99
+ });
100
+ exports.ComboboxChips = ComboboxChips;
101
+ const ComboboxChip = React.forwardRef(function ComboboxChip({ className, children, showRemove = true, onRemove, ...props }, ref) {
102
+ return ((0, jsx_runtime_1.jsxs)(react_1.Combobox.Chip, { ref: ref, "data-slot": "combobox-chip", className: (0, utils_1.cn)('twa:flex twa:h-[calc(--spacing(5.5))] twa:w-fit twa:items-center twa:justify-center twa:gap-1 twa:rounded-input twa:bg-muted twa:px-1.5 twa:text-xs twa:font-medium twa:whitespace-nowrap twa:text-input-foreground twa:has-disabled:pointer-events-none twa:has-disabled:cursor-not-allowed twa:has-disabled:opacity-50 twa:has-data-[slot=combobox-chip-remove]:pr-0', className), ...props, children: [children, showRemove &&
106
103
  (onRemove ? ((0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", variant: "ghost", size: "icon-xs", tabIndex: -1, "data-slot": "combobox-chip-remove", className: "twa:-ml-1 twa:opacity-50 twa:hover:opacity-100", onMouseDown: (e) => {
107
104
  // Don't let base-ui's Chip onMouseDown steal focus back to the
108
105
  // input before the click fires.
@@ -114,10 +111,12 @@ function ComboboxChip({ className, children, showRemove = true, onRemove, ...pro
114
111
  e.stopPropagation();
115
112
  onRemove(e);
116
113
  }, children: (0, jsx_runtime_1.jsx)(lucide_react_1.XIcon, { className: "twa:pointer-events-none" }) })) : ((0, jsx_runtime_1.jsx)(react_1.Combobox.ChipRemove, { render: (0, jsx_runtime_1.jsx)(button_1.Button, { variant: "ghost", size: "icon-xs" }), className: "twa:-ml-1 twa:opacity-50 twa:hover:opacity-100", "data-slot": "combobox-chip-remove", children: (0, jsx_runtime_1.jsx)(lucide_react_1.XIcon, { className: "twa:pointer-events-none" }) })))] }));
117
- }
118
- function ComboboxChipsInput({ className, ...props }) {
119
- return ((0, jsx_runtime_1.jsx)(react_1.Combobox.Input, { "data-slot": "combobox-chip-input", className: (0, utils_1.cn)('twa:placeholder:text-muted-foreground twa:min-w-16 twa:flex-1 twa:px-2.5 twa:outline-none twa:border-none twa:bg-transparent twa:min-h-auto!', className), ...props }));
120
- }
114
+ });
115
+ exports.ComboboxChip = ComboboxChip;
116
+ const ComboboxChipsInput = React.forwardRef(function ComboboxChipsInput({ className, ...props }, ref) {
117
+ return ((0, jsx_runtime_1.jsx)(react_1.Combobox.Input, { "data-slot": "combobox-chip-input", className: (0, utils_1.cn)('twa:placeholder:text-muted-foreground twa:min-w-16 twa:flex-1 twa:px-2.5 twa:outline-none twa:border-none twa:bg-transparent twa:min-h-auto!', className), ref: ref, ...props }));
118
+ });
119
+ exports.ComboboxChipsInput = ComboboxChipsInput;
121
120
  function useComboboxAnchor() {
122
121
  return React.useRef(null);
123
122
  }
@@ -1,18 +1,19 @@
1
1
  import * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
- import { Button } from './button';
4
- declare function InputGroup({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
3
+ declare const InputGroup: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
4
  declare const inputGroupAddonVariants: (props?: {
6
5
  align?: "inline-end" | "inline-start" | "block-end" | "block-start";
7
6
  } & import("class-variance-authority/dist/types").ClassProp) => string;
8
7
  declare function InputGroupAddon({ className, align, ...props }: React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>): React.JSX.Element;
9
- declare const inputGroupButtonVariants: (props?: {
8
+ declare const InputGroupButton: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@base-ui/react").ButtonProps & VariantProps<(props?: {
9
+ variant?: "link" | "secondary" | "default" | "ghost" | "outline" | "destructive";
10
+ size?: "default" | "icon" | "xs" | "sm" | "lg" | "icon-xs" | "icon-sm" | "icon-lg";
11
+ } & import("class-variance-authority/dist/types").ClassProp) => string>, "ref"> & React.RefAttributes<HTMLButtonElement>, "type" | "size"> & VariantProps<(props?: {
10
12
  size?: "xs" | "sm" | "icon-xs" | "icon-sm";
11
- } & import("class-variance-authority/dist/types").ClassProp) => string;
12
- declare function InputGroupButton({ className, type, variant, size, ...props }: Omit<React.ComponentProps<typeof Button>, 'size' | 'type'> & VariantProps<typeof inputGroupButtonVariants> & {
13
- type?: 'button' | 'submit' | 'reset';
14
- }): React.JSX.Element;
13
+ } & import("class-variance-authority/dist/types").ClassProp) => string> & {
14
+ type?: "button" | "submit" | "reset";
15
+ }, "ref"> & React.RefAttributes<HTMLButtonElement>>;
15
16
  declare function InputGroupText({ className, ...props }: React.ComponentProps<'span'>): React.JSX.Element;
16
- declare function InputGroupInput({ className, ...props }: React.ComponentProps<'input'>): React.JSX.Element;
17
- declare function InputGroupTextarea({ className, ...props }: React.ComponentProps<'textarea'>): React.JSX.Element;
17
+ declare const InputGroupInput: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
18
+ declare const InputGroupTextarea: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref"> & React.RefAttributes<HTMLTextAreaElement>>;
18
19
  export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupText, InputGroupInput, InputGroupTextarea, };
@@ -1,21 +1,21 @@
1
1
  'use client';
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.InputGroup = InputGroup;
4
+ exports.InputGroupTextarea = exports.InputGroupInput = exports.InputGroupButton = exports.InputGroup = void 0;
5
5
  exports.InputGroupAddon = InputGroupAddon;
6
- exports.InputGroupButton = InputGroupButton;
7
6
  exports.InputGroupText = InputGroupText;
8
- exports.InputGroupInput = InputGroupInput;
9
- exports.InputGroupTextarea = InputGroupTextarea;
7
+ const tslib_1 = require("tslib");
10
8
  const jsx_runtime_1 = require("react/jsx-runtime");
9
+ const React = tslib_1.__importStar(require("react"));
11
10
  const class_variance_authority_1 = require("class-variance-authority");
12
11
  const utils_1 = require("../../lib/utils");
13
12
  const button_1 = require("./button");
14
13
  const input_1 = require("./input");
15
14
  const textarea_1 = require("./textarea");
16
- function InputGroup({ className, ...props }) {
17
- return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "input-group", role: "group", className: (0, utils_1.cn)('twa:group/input-group twa:relative twa:flex twa:h-input twa:w-full twa:min-w-0 twa:items-center twa:rounded-input twa:border twa:border-input twa:shadow-xs twa:transition-[color,box-shadow] twa:outline-none twa:in-data-[slot=combobox-content]:focus-within:border-inherit twa:in-data-[slot=combobox-content]:focus-within:ring-0 twa:has-[[data-slot=input-group-control]:focus-visible]:border-ring twa:has-[[data-slot=input-group-control]:focus-visible]:ring-3 twa:has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 twa:has-[[data-slot][aria-invalid=true]]:border-destructive twa:has-[[data-slot][aria-invalid=true]]:ring-3 twa:has-[[data-slot][aria-invalid=true]]:ring-destructive/20 twa:has-[>[data-align=block-end]]:h-auto twa:has-[>[data-align=block-end]]:flex-col twa:has-[>[data-align=block-start]]:h-auto twa:has-[>[data-align=block-start]]:flex-col twa:has-[>textarea]:h-auto twa:dark:bg-input/30 twa:dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 twa:has-[>[data-align=block-end]]:[&>input]:pt-3 twa:has-[>[data-align=block-start]]:[&>input]:pb-3 twa:has-[>[data-align=inline-end]]:[&>input]:pr-1.5 twa:has-[>[data-align=inline-start]]:[&>input]:pl-1.5', className), ...props }));
18
- }
15
+ const InputGroup = React.forwardRef(function InputGroup({ className, ...props }, ref) {
16
+ return ((0, jsx_runtime_1.jsx)("div", { ref: ref, "data-slot": "input-group", role: "group", className: (0, utils_1.cn)('twa:group/input-group twa:relative twa:flex twa:h-input twa:w-full twa:min-w-0 twa:items-center twa:rounded-input twa:border twa:border-input twa:shadow-xs twa:transition-[color,box-shadow] twa:outline-none twa:in-data-[slot=combobox-content]:focus-within:border-inherit twa:in-data-[slot=combobox-content]:focus-within:ring-0 twa:has-[[data-slot=input-group-control]:focus-visible]:border-ring twa:has-[[data-slot=input-group-control]:focus-visible]:ring-3 twa:has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 twa:has-[[data-slot][aria-invalid=true]]:border-destructive twa:has-[[data-slot][aria-invalid=true]]:ring-3 twa:has-[[data-slot][aria-invalid=true]]:ring-destructive/20 twa:has-[>[data-align=block-end]]:h-auto twa:has-[>[data-align=block-end]]:flex-col twa:has-[>[data-align=block-start]]:h-auto twa:has-[>[data-align=block-start]]:flex-col twa:has-[>textarea]:h-auto twa:dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 twa:has-[>[data-align=block-end]]:[&>input]:pt-3 twa:has-[>[data-align=block-start]]:[&>input]:pb-3 twa:has-[>[data-align=inline-end]]:[&>input]:pr-1.5 twa:has-[>[data-align=inline-start]]:[&>input]:pl-1.5', className), ...props }));
17
+ });
18
+ exports.InputGroup = InputGroup;
19
19
  const inputGroupAddonVariants = (0, class_variance_authority_1.cva)('twa:flex twa:h-auto twa:cursor-text twa:items-center twa:justify-center twa:gap-2 twa:py-1.5 twa:text-sm twa:font-medium twa:text-muted-foreground twa:select-none twa:group-data-[disabled=true]/input-group:opacity-50 twa:[&>kbd]:rounded-[calc(var(--ab-border-radius))] twa:[&>svg:not([class*=size-])]:size-4', {
20
20
  variants: {
21
21
  align: {
@@ -50,15 +50,18 @@ const inputGroupButtonVariants = (0, class_variance_authority_1.cva)('twa:flex t
50
50
  size: 'xs',
51
51
  },
52
52
  });
53
- function InputGroupButton({ className, type = 'button', variant = 'ghost', size = 'xs', ...props }) {
54
- return ((0, jsx_runtime_1.jsx)(button_1.Button, { type: type, "data-size": size, variant: variant, className: (0, utils_1.cn)(inputGroupButtonVariants({ size }), className), ...props }));
55
- }
53
+ const InputGroupButton = React.forwardRef(function InputGroupButton({ className, type = 'button', variant = 'ghost', size = 'xs', ...props }, ref) {
54
+ return ((0, jsx_runtime_1.jsx)(button_1.Button, { type: type, "data-size": size, variant: variant, className: (0, utils_1.cn)(inputGroupButtonVariants({ size }), className), ref: ref, ...props }));
55
+ });
56
+ exports.InputGroupButton = InputGroupButton;
56
57
  function InputGroupText({ className, ...props }) {
57
58
  return ((0, jsx_runtime_1.jsx)("span", { className: (0, utils_1.cn)('twa:flex twa:items-center twa:gap-2 twa:text-sm twa:text-muted-foreground twa:[&_svg]:pointer-events-none twa:[&_svg:not([class*=size-])]:size-4', className), ...props }));
58
59
  }
59
- function InputGroupInput({ className, ...props }) {
60
- return ((0, jsx_runtime_1.jsx)(input_1.Input, { "data-slot": "input-group-control", className: (0, utils_1.cn)('twa:flex-1 twa:rounded-none twa:border-0 twa:bg-transparent twa:shadow-none twa:ring-0 twa:focus-visible:ring-0 twa:aria-invalid:ring-0 twa:dark:bg-transparent', className), ...props }));
61
- }
62
- function InputGroupTextarea({ className, ...props }) {
63
- return ((0, jsx_runtime_1.jsx)(textarea_1.Textarea, { "data-slot": "input-group-control", className: (0, utils_1.cn)('twa:flex-1 twa:resize-none twa:rounded-none twa:border-0 twa:bg-transparent twa:py-2 twa:shadow-none twa:ring-0 twa:focus-visible:ring-0 twa:aria-invalid:ring-0 twa:dark:bg-transparent', className), ...props }));
64
- }
60
+ const InputGroupInput = React.forwardRef(function InputGroupInput({ className, ...props }, ref) {
61
+ return ((0, jsx_runtime_1.jsx)(input_1.Input, { "data-slot": "input-group-control", className: (0, utils_1.cn)('twa:flex-1 twa:rounded-none twa:border-0 twa:bg-transparent twa:shadow-none twa:ring-0 twa:focus-visible:ring-0 twa:aria-invalid:ring-0 twa:dark:bg-transparent', className), ref: ref, ...props }));
62
+ });
63
+ exports.InputGroupInput = InputGroupInput;
64
+ const InputGroupTextarea = React.forwardRef(function InputGroupTextarea({ className, ...props }, ref) {
65
+ return ((0, jsx_runtime_1.jsx)(textarea_1.Textarea, { "data-slot": "input-group-control", className: (0, utils_1.cn)('twa:flex-1 twa:resize-none twa:rounded-none twa:border-0 twa:bg-transparent twa:py-2 twa:shadow-none twa:ring-0 twa:focus-visible:ring-0 twa:aria-invalid:ring-0 twa:dark:bg-transparent', className), ...props, ref: ref }));
66
+ });
67
+ exports.InputGroupTextarea = InputGroupTextarea;
@@ -1,3 +1,3 @@
1
- import * as React from "react";
2
- declare function Input({ className, type, ...props }: React.ComponentProps<"input">): React.JSX.Element;
1
+ import * as React from 'react';
2
+ declare const Input: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
3
3
  export { Input };
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Input = Input;
3
+ exports.Input = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const React = tslib_1.__importStar(require("react"));
5
7
  const input_1 = require("@base-ui/react/input");
6
8
  const utils_1 = require("../../lib/utils");
7
- function Input({ className, type, ...props }) {
8
- return ((0, jsx_runtime_1.jsx)(input_1.Input, { type: type, "data-slot": "input", className: (0, utils_1.cn)("twa:h-9 twa:w-full twa:min-w-0 twa:rounded-md twa:border twa:border-input twa:bg-transparent twa:px-2.5 twa:py-1 twa:text-base twa:shadow-xs twa:transition-[color,box-shadow] twa:outline-none twa:file:inline-flex twa:file:h-7 twa:file:border-0 twa:file:bg-transparent twa:file:text-sm twa:file:font-medium twa:file:text-foreground twa:placeholder:text-muted-foreground twa:focus-visible:border-ring twa:focus-visible:ring-3 twa:focus-visible:ring-ring/50 twa:disabled:pointer-events-none twa:disabled:cursor-not-allowed twa:disabled:opacity-50 twa:aria-invalid:border-destructive twa:aria-invalid:ring-3 twa:aria-invalid:ring-destructive/20 twa:md:text-sm twa:dark:bg-input/30 twa:dark:aria-invalid:border-destructive/50 twa:dark:aria-invalid:ring-destructive/40", className), ...props }));
9
- }
9
+ const Input = React.forwardRef(function Input({ className, type, ...props }, ref) {
10
+ return ((0, jsx_runtime_1.jsx)(input_1.Input, { ref: ref, type: type, "data-slot": "input", className: (0, utils_1.cn)('twa:h-9 twa:w-full twa:min-w-0 twa:rounded-md twa:border twa:border-input twa:bg-transparent twa:px-2.5 twa:py-1 twa:text-base twa:shadow-xs twa:transition-[color,box-shadow] twa:outline-none twa:file:inline-flex twa:file:h-7 twa:file:border-0 twa:file:bg-transparent twa:file:text-sm twa:file:font-medium twa:file:text-foreground twa:placeholder:text-muted-foreground twa:focus-visible:border-ring twa:focus-visible:ring-3 twa:focus-visible:ring-ring/50 twa:disabled:pointer-events-none twa:disabled:cursor-not-allowed twa:disabled:opacity-50 twa:aria-invalid:border-destructive twa:aria-invalid:ring-3 twa:aria-invalid:ring-destructive/20 twa:md:text-sm twa:dark:aria-invalid:border-destructive/50 twa:dark:aria-invalid:ring-destructive/40', className), ...props }));
11
+ });
12
+ exports.Input = Input;
@@ -1,9 +1,9 @@
1
- import * as React from "react";
2
- import { Popover as PopoverPrimitive } from "@base-ui/react/popover";
1
+ import * as React from 'react';
2
+ import { Popover as PopoverPrimitive } from '@base-ui/react/popover';
3
3
  declare function Popover({ ...props }: PopoverPrimitive.Root.Props): React.JSX.Element;
4
4
  declare function PopoverTrigger({ ...props }: PopoverPrimitive.Trigger.Props): React.JSX.Element;
5
- declare function PopoverContent({ className, align, alignOffset, side, sideOffset, ...props }: PopoverPrimitive.Popup.Props & Pick<PopoverPrimitive.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">): React.JSX.Element;
6
- declare function PopoverHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
5
+ declare function PopoverContent({ className, align, alignOffset, side, sideOffset, ...props }: PopoverPrimitive.Popup.Props & Pick<PopoverPrimitive.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'>): React.JSX.Element;
6
+ declare function PopoverHeader({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
7
7
  declare function PopoverTitle({ className, ...props }: PopoverPrimitive.Title.Props): React.JSX.Element;
8
8
  declare function PopoverDescription({ className, ...props }: PopoverPrimitive.Description.Props): React.JSX.Element;
9
- export { Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, };
9
+ export { Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger };