@seeqdev/qomponents 0.0.64 → 0.0.66
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/ButtonWithDropdown/ButtonWithDropdown.types.d.ts +23 -8
- package/dist/ButtonWithPopover/ButtonWithPopover.types.d.ts +8 -0
- package/dist/index.esm.js +336 -27
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +336 -27
- package/dist/index.js.map +1 -1
- package/dist/styles.css +41 -50
- package/package.json +1 -1
- package/dist/Accordion/Accordion.js +0 -9
- package/dist/Accordion/Accordion.js.map +0 -1
- package/dist/Accordion/Accordion.stories.js +0 -109
- package/dist/Accordion/Accordion.stories.js.map +0 -1
- package/dist/Accordion/Accordion.test.js +0 -55
- package/dist/Accordion/Accordion.test.js.map +0 -1
- package/dist/Accordion/Accordion.types.js +0 -2
- package/dist/Accordion/Accordion.types.js.map +0 -1
- package/dist/Accordion/index.js +0 -2
- package/dist/Accordion/index.js.map +0 -1
- package/dist/Button/Button.js +0 -87
- package/dist/Button/Button.js.map +0 -1
- package/dist/Button/Button.stories.js +0 -77
- package/dist/Button/Button.stories.js.map +0 -1
- package/dist/Button/Button.test.js +0 -49
- package/dist/Button/Button.test.js.map +0 -1
- package/dist/Button/Button.types.js +0 -4
- package/dist/Button/Button.types.js.map +0 -1
- package/dist/Button/index.js +0 -2
- package/dist/Button/index.js.map +0 -1
- package/dist/ButtonWithDropdown/ButtonWithDropdown.js +0 -39
- package/dist/ButtonWithDropdown/ButtonWithDropdown.js.map +0 -1
- package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js +0 -66
- package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js.map +0 -1
- package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js +0 -72
- package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js.map +0 -1
- package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js +0 -2
- package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js.map +0 -1
- package/dist/ButtonWithDropdown/index.js +0 -2
- package/dist/ButtonWithDropdown/index.js.map +0 -1
- package/dist/ButtonWithPopover/ButtonWithPopover.js +0 -27
- package/dist/ButtonWithPopover/ButtonWithPopover.js.map +0 -1
- package/dist/ButtonWithPopover/ButtonWithPopover.stories.js +0 -50
- package/dist/ButtonWithPopover/ButtonWithPopover.stories.js.map +0 -1
- package/dist/ButtonWithPopover/ButtonWithPopover.test.js +0 -61
- package/dist/ButtonWithPopover/ButtonWithPopover.test.js.map +0 -1
- package/dist/ButtonWithPopover/ButtonWithPopover.types.js +0 -2
- package/dist/ButtonWithPopover/ButtonWithPopover.types.js.map +0 -1
- package/dist/ButtonWithPopover/index.js +0 -2
- package/dist/ButtonWithPopover/index.js.map +0 -1
- package/dist/Checkbox/Checkbox.js +0 -26
- package/dist/Checkbox/Checkbox.js.map +0 -1
- package/dist/Checkbox/Checkbox.stories.js +0 -34
- package/dist/Checkbox/Checkbox.stories.js.map +0 -1
- package/dist/Checkbox/Checkbox.test.js +0 -94
- package/dist/Checkbox/Checkbox.test.js.map +0 -1
- package/dist/Checkbox/Checkbox.types.js +0 -2
- package/dist/Checkbox/Checkbox.types.js.map +0 -1
- package/dist/Checkbox/index.js +0 -2
- package/dist/Checkbox/index.js.map +0 -1
- package/dist/Icon/Icon.js +0 -55
- package/dist/Icon/Icon.js.map +0 -1
- package/dist/Icon/Icon.stories.js +0 -41
- package/dist/Icon/Icon.stories.js.map +0 -1
- package/dist/Icon/Icon.test.js +0 -55
- package/dist/Icon/Icon.test.js.map +0 -1
- package/dist/Icon/Icon.types.js +0 -16
- package/dist/Icon/Icon.types.js.map +0 -1
- package/dist/Icon/index.js +0 -2
- package/dist/Icon/index.js.map +0 -1
- package/dist/Modal/Modal.js +0 -99
- package/dist/Modal/Modal.js.map +0 -1
- package/dist/Modal/Modal.stories.js +0 -176
- package/dist/Modal/Modal.stories.js.map +0 -1
- package/dist/Modal/Modal.test.js +0 -108
- package/dist/Modal/Modal.test.js.map +0 -1
- package/dist/Modal/Modal.types.js +0 -2
- package/dist/Modal/Modal.types.js.map +0 -1
- package/dist/Modal/index.js +0 -2
- package/dist/Modal/index.js.map +0 -1
- package/dist/Select/Select.js +0 -168
- package/dist/Select/Select.js.map +0 -1
- package/dist/Select/Select.stories.js +0 -72
- package/dist/Select/Select.stories.js.map +0 -1
- package/dist/Select/Select.test.js +0 -161
- package/dist/Select/Select.test.js.map +0 -1
- package/dist/Select/Select.types.js +0 -2
- package/dist/Select/Select.types.js.map +0 -1
- package/dist/Select/index.js +0 -2
- package/dist/Select/index.js.map +0 -1
- package/dist/Tabs/Tabs.js +0 -22
- package/dist/Tabs/Tabs.js.map +0 -1
- package/dist/Tabs/Tabs.stories.js +0 -91
- package/dist/Tabs/Tabs.stories.js.map +0 -1
- package/dist/Tabs/Tabs.test.js +0 -91
- package/dist/Tabs/Tabs.test.js.map +0 -1
- package/dist/Tabs/Tabs.types.js +0 -2
- package/dist/Tabs/Tabs.types.js.map +0 -1
- package/dist/Tabs/index.js +0 -2
- package/dist/Tabs/index.js.map +0 -1
- package/dist/TextArea/TextArea.js +0 -23
- package/dist/TextArea/TextArea.js.map +0 -1
- package/dist/TextArea/TextArea.stories.js +0 -39
- package/dist/TextArea/TextArea.stories.js.map +0 -1
- package/dist/TextArea/TextArea.test.js +0 -68
- package/dist/TextArea/TextArea.test.js.map +0 -1
- package/dist/TextArea/TextArea.types.js +0 -2
- package/dist/TextArea/TextArea.types.js.map +0 -1
- package/dist/TextArea/index.js +0 -2
- package/dist/TextArea/index.js.map +0 -1
- package/dist/TextField/TextField.js +0 -64
- package/dist/TextField/TextField.js.map +0 -1
- package/dist/TextField/TextField.stories.js +0 -41
- package/dist/TextField/TextField.stories.js.map +0 -1
- package/dist/TextField/TextField.test.js +0 -35
- package/dist/TextField/TextField.test.js.map +0 -1
- package/dist/TextField/TextField.types.js +0 -2
- package/dist/TextField/TextField.types.js.map +0 -1
- package/dist/TextField/index.js +0 -2
- package/dist/TextField/index.js.map +0 -1
- package/dist/ToolbarButton/ToolbarButton.js +0 -76
- package/dist/ToolbarButton/ToolbarButton.js.map +0 -1
- package/dist/ToolbarButton/ToolbarButton.stories.js +0 -89
- package/dist/ToolbarButton/ToolbarButton.stories.js.map +0 -1
- package/dist/ToolbarButton/ToolbarButton.test.js +0 -93
- package/dist/ToolbarButton/ToolbarButton.test.js.map +0 -1
- package/dist/ToolbarButton/ToolbarButton.types.js +0 -2
- package/dist/ToolbarButton/ToolbarButton.types.js.map +0 -1
- package/dist/ToolbarButton/index.js +0 -2
- package/dist/ToolbarButton/index.js.map +0 -1
- package/dist/Tooltip/QTip.stories.js +0 -40
- package/dist/Tooltip/QTip.stories.js.map +0 -1
- package/dist/Tooltip/QTip.types.js +0 -2
- package/dist/Tooltip/QTip.types.js.map +0 -1
- package/dist/Tooltip/QTipPerformance.stories.js +0 -30
- package/dist/Tooltip/QTipPerformance.stories.js.map +0 -1
- package/dist/Tooltip/Qtip.js +0 -154
- package/dist/Tooltip/Qtip.js.map +0 -1
- package/dist/Tooltip/Tooltip.js +0 -36
- package/dist/Tooltip/Tooltip.js.map +0 -1
- package/dist/Tooltip/Tooltip.stories.js +0 -32
- package/dist/Tooltip/Tooltip.stories.js.map +0 -1
- package/dist/Tooltip/Tooltip.types.js +0 -3
- package/dist/Tooltip/Tooltip.types.js.map +0 -1
- package/dist/Tooltip/TooltipPerformance.stories.js +0 -30
- package/dist/Tooltip/TooltipPerformance.stories.js.map +0 -1
- package/dist/Tooltip/index.js +0 -3
- package/dist/Tooltip/index.js.map +0 -1
- package/dist/Tooltip/qTip.utilities.js +0 -11
- package/dist/Tooltip/qTip.utilities.js.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/utils/browserId.js +0 -29
- package/dist/utils/browserId.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -109,7 +109,7 @@ const Icon = ({ onClick, icon, iconPrefix = undefined, type = 'theme', extraClas
|
|
|
109
109
|
const iconPrefixString = icon.startsWith('fc') ? 'fc' : fontAwesomePrefix;
|
|
110
110
|
const style = type === 'color' && color ? { color } : {};
|
|
111
111
|
const appliedClassNames = `${iconPrefixString} ${icon} ${small ? 'fa-sm' : ''} ${large ? 'fa-lg' : ''}
|
|
112
|
-
${colorClassesThemeLight[type]} ${colorClassesThemeDark[type]} ${onClick ? 'cursor-pointer' : ''} ${extraClassNames}`;
|
|
112
|
+
${colorClassesThemeLight[type]} ${colorClassesThemeDark[type]} ${onClick ? 'cursor-pointer' : ''} ${extraClassNames} focus:tw-outline-none focus-visible:tw-outline-none tw-outline-none`;
|
|
113
113
|
const tooltipData = getQTipData(tooltipProps);
|
|
114
114
|
return (React.createElement("i", { className: appliedClassNames, style: style, onClick: onClick, "data-testid": testId, "data-customid": customId, id: id, "data-number": number, ...tooltipData }));
|
|
115
115
|
};
|
|
@@ -4568,12 +4568,8 @@ const borderStyles$3 = [
|
|
|
4568
4568
|
'tw-border-solid',
|
|
4569
4569
|
'tw-border',
|
|
4570
4570
|
'tw-rounded-sm',
|
|
4571
|
-
'
|
|
4572
|
-
'
|
|
4573
|
-
'active:tw-border-sq-sq-light-gray',
|
|
4574
|
-
'dark:hover:tw-border-sq-color-dark-dark',
|
|
4575
|
-
'dark:focus:tw-border-sq-color-dark-dark',
|
|
4576
|
-
'dark:active:tw-border-sq-color-dark-dark',
|
|
4571
|
+
'tw-border-sq-disabled-gray',
|
|
4572
|
+
'dark:tw-border-gray-500',
|
|
4577
4573
|
].join(' ');
|
|
4578
4574
|
const triggerBorderStyles = [
|
|
4579
4575
|
'tw-border-solid',
|
|
@@ -4632,7 +4628,8 @@ const ToolbarButton = ({ isSmall = false, label, icon, secondIcon, forceSmallIco
|
|
|
4632
4628
|
' tw-relative tw-z-[1000] tw-min-w-6 tw-p-[0.5rem] focus-visible:tw-outline-none tw-outline-none data-[state=open]:animate-in data-[state=closed]:animate-out' +
|
|
4633
4629
|
' data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2' +
|
|
4634
4630
|
borderStyles$3 },
|
|
4635
|
-
hasArrow && (React__namespace.createElement($cb5cc270b50c6fcd$export$21b07c8f274aebd5, {
|
|
4631
|
+
hasArrow && (React__namespace.createElement($cb5cc270b50c6fcd$export$21b07c8f274aebd5, { asChild: true },
|
|
4632
|
+
React__namespace.createElement("div", { className: " tw-fill-transparent tw-bg-white tw-w-[15px] tw-h-[15px] tw-mt-[-7px] tw-rotate-45 dark:tw-bg-sq-dark-background tw-border-b tw-border-r tw-border-sq-disabled-gray dark:tw-border-gray-500" }))),
|
|
4636
4633
|
popoverContent))) : undefined));
|
|
4637
4634
|
};
|
|
4638
4635
|
|
|
@@ -4715,7 +4712,7 @@ const Checkbox = (props) => {
|
|
|
4715
4712
|
const assignedId = id ?? 'checkbox_' + Math.random();
|
|
4716
4713
|
const tooltipData = getQTipData(tooltipProps);
|
|
4717
4714
|
return (React.createElement("span", { className: `${alignment} ${extraClassNames}` },
|
|
4718
|
-
React.createElement("input", { value: value, type: type, "data-testid": testId, name: name, id: assignedId, checked: checked, defaultChecked: defaultChecked, className: `${type === 'checkbox' ? checkboxClasses : radioClasses} ${disabled ? 'tw-cursor-not-allowed' : 'tw-cursor-pointer'}`, disabled: disabled, onClick: onClick, onChange: onChange, onKeyDown: onKeyDown, ...tooltipData }),
|
|
4715
|
+
React.createElement("input", { value: value, type: type, "data-testid": testId, name: name, id: assignedId, readOnly: !onChange, checked: checked, defaultChecked: defaultChecked, className: `${type === 'checkbox' ? checkboxClasses : radioClasses} ${disabled ? 'tw-cursor-not-allowed' : 'tw-cursor-pointer'}`, disabled: disabled, onClick: onClick, onChange: onChange, onKeyDown: onKeyDown, ...tooltipData }),
|
|
4719
4716
|
React.createElement("label", { htmlFor: assignedId, className: `${labelClasses} ${extraLabelClassNames} ${disabled
|
|
4720
4717
|
? 'tw-cursor-not-allowed dark:tw-text-sq-fairly-dark-gray tw-text-sq-fairly-dark-gray'
|
|
4721
4718
|
: 'tw-cursor-pointer tw-text-sq-text-color dark:tw-text-sq-dark-text'}` }, label)));
|
|
@@ -15020,20 +15017,39 @@ const borderStyles$1 = [
|
|
|
15020
15017
|
'tw-border',
|
|
15021
15018
|
'tw-rounded-sm',
|
|
15022
15019
|
'tw-border-sq-disabled-gray',
|
|
15023
|
-
'dark:tw-border-gray-
|
|
15020
|
+
'dark:tw-border-gray-500',
|
|
15024
15021
|
].join(' ');
|
|
15025
15022
|
const disabledClasses$1 = ['tw-opacity-50', 'tw-cursor-not-allowed'].join(' ');
|
|
15026
|
-
const ButtonWithPopover = ({ children, trigger, id, hasArrow, extraTriggerClassNames, extraPopoverClassNames, containerTestId, disabled = false, align = 'end', alignOffset = -
|
|
15023
|
+
const ButtonWithPopover = ({ children, trigger, id, hasArrow, extraTriggerClassNames, extraPopoverClassNames, containerTestId, onInteractOutside, onPointerDownOutside, disabled = false, align = 'end', alignOffset = -35, placement = 'bottom', placementOffset = 2, isHoverEnabled = false, hoverOpenDelay = 300, onOpenChange, isOpen, isCloseOnContentClick = false, setFocusOnTriggerOnClose = true, ...tooltipProps }) => {
|
|
15027
15024
|
const tooltipData = getQTipData(tooltipProps);
|
|
15028
|
-
|
|
15025
|
+
let timeout;
|
|
15026
|
+
const [isHoveredOpen, setIsHoveredOpen] = React__namespace.useState();
|
|
15027
|
+
const onHoverStart = () => {
|
|
15028
|
+
if (isHoverEnabled) {
|
|
15029
|
+
timeout = setTimeout(() => {
|
|
15030
|
+
setIsHoveredOpen(true);
|
|
15031
|
+
onOpenChange && onOpenChange(true);
|
|
15032
|
+
}, hoverOpenDelay);
|
|
15033
|
+
}
|
|
15034
|
+
};
|
|
15035
|
+
const onHoverEnd = () => {
|
|
15036
|
+
if (isHoverEnabled) {
|
|
15037
|
+
timeout = setTimeout(() => {
|
|
15038
|
+
setIsHoveredOpen(false);
|
|
15039
|
+
onOpenChange && onOpenChange(false);
|
|
15040
|
+
}, 200);
|
|
15041
|
+
}
|
|
15042
|
+
};
|
|
15043
|
+
React__namespace.useEffect(() => () => timeout && clearTimeout(timeout), []);
|
|
15044
|
+
return (React__namespace.createElement($cb5cc270b50c6fcd$export$be92b6f5f03c0fe9, { open: isOpen || isHoveredOpen, defaultOpen: false, onOpenChange: onOpenChange },
|
|
15029
15045
|
React__namespace.createElement($cb5cc270b50c6fcd$export$41fb9f06171c75f4, { id: id, className: `tw-border-none`, disabled: disabled },
|
|
15030
|
-
React__namespace.createElement("div", { ...tooltipData, className: `tw-bg-transparent tw-flex tw-flex-col tw-items-center tw-justify-center ${disabled ? disabledClasses$1 : ''} ${extraTriggerClassNames || ''}` }, trigger)),
|
|
15031
|
-
React__namespace.createElement($cb5cc270b50c6fcd$export$7c6e2c02157bb7d2, { sideOffset: placementOffset, align: align, side: placement,
|
|
15032
|
-
React__namespace.createElement("div", { "data-testid": containerTestId, className: `${bgStyles$1} ${borderStyles$1} tw-relative tw-z-[1000] tw-min-w-6
|
|
15033
|
-
data-[side=top]:tw-animate-slideDownAndFade data-[side=right]:tw-animate-slideLeftAndFade data-[side=bottom]:tw-animate-slideUpAndFade data-[side=left]:tw-animate-slideRightAndFade
|
|
15046
|
+
React__namespace.createElement("div", { ...tooltipData, onMouseOver: onHoverStart, onMouseOut: onHoverEnd, className: `tw-bg-transparent tw-flex tw-flex-col tw-items-center tw-justify-center focus-visible:tw-outline-none tw-outline-none ${disabled ? disabledClasses$1 : ''} ${extraTriggerClassNames || ''}` }, trigger)),
|
|
15047
|
+
React__namespace.createElement($cb5cc270b50c6fcd$export$7c6e2c02157bb7d2, { sideOffset: placementOffset, align: align, side: placement, onInteractOutside: onInteractOutside, onPointerDownOutside: onPointerDownOutside, alignOffset: isHoverEnabled ? -10 : alignOffset, asChild: true, onClick: () => isCloseOnContentClick && onOpenChange && onOpenChange(false), className: "focus-visible:tw-outline-none tw-outline-none" },
|
|
15048
|
+
React__namespace.createElement("div", { "data-testid": containerTestId, className: `${bgStyles$1} ${borderStyles$1} tw-relative tw-z-[1000] tw-min-w-6 focus-visible:tw-outline-none tw-outline-none data-[state=open]:tw-animate-in data-[state=closed]:tw-animate-out
|
|
15049
|
+
data-[side=top]:tw-animate-slideDownAndFade data-[side=right]:tw-animate-slideLeftAndFade data-[side=bottom]:tw-animate-slideUpAndFade data-[side=left]:tw-animate-slideRightAndFade tw-text-sq-text-color
|
|
15034
15050
|
${extraPopoverClassNames || ''}` },
|
|
15035
15051
|
hasArrow && (React__namespace.createElement($cb5cc270b50c6fcd$export$21b07c8f274aebd5, { asChild: true },
|
|
15036
|
-
React__namespace.createElement("div", { className: " tw-fill-transparent tw-bg-white tw-w-[
|
|
15052
|
+
React__namespace.createElement("div", { className: " tw-fill-transparent tw-bg-white tw-w-[15px] tw-h-[15px] tw-mt-[-7px] tw-rotate-45 dark:tw-bg-sq-dark-background tw-border-b tw-border-r tw-border-sq-disabled-gray dark:tw-border-gray-500" }))),
|
|
15037
15053
|
children))));
|
|
15038
15054
|
};
|
|
15039
15055
|
|
|
@@ -15055,6 +15071,24 @@ const $6cc32821e9371a1c$var$FIRST_LAST_KEYS = [
|
|
|
15055
15071
|
...$6cc32821e9371a1c$var$FIRST_KEYS,
|
|
15056
15072
|
...$6cc32821e9371a1c$var$LAST_KEYS
|
|
15057
15073
|
];
|
|
15074
|
+
const $6cc32821e9371a1c$var$SUB_OPEN_KEYS = {
|
|
15075
|
+
ltr: [
|
|
15076
|
+
...$6cc32821e9371a1c$var$SELECTION_KEYS,
|
|
15077
|
+
'ArrowRight'
|
|
15078
|
+
],
|
|
15079
|
+
rtl: [
|
|
15080
|
+
...$6cc32821e9371a1c$var$SELECTION_KEYS,
|
|
15081
|
+
'ArrowLeft'
|
|
15082
|
+
]
|
|
15083
|
+
};
|
|
15084
|
+
const $6cc32821e9371a1c$var$SUB_CLOSE_KEYS = {
|
|
15085
|
+
ltr: [
|
|
15086
|
+
'ArrowLeft'
|
|
15087
|
+
],
|
|
15088
|
+
rtl: [
|
|
15089
|
+
'ArrowRight'
|
|
15090
|
+
]
|
|
15091
|
+
};
|
|
15058
15092
|
/* -------------------------------------------------------------------------------------------------
|
|
15059
15093
|
* Menu
|
|
15060
15094
|
* -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$MENU_NAME = 'Menu';
|
|
@@ -15502,7 +15536,218 @@ const $6cc32821e9371a1c$export$bcdda4773debf5fa = /*#__PURE__*/ React.forwardRef
|
|
|
15502
15536
|
/* -------------------------------------------------------------------------------------------------
|
|
15503
15537
|
* MenuSub
|
|
15504
15538
|
* -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$SUB_NAME = 'MenuSub';
|
|
15505
|
-
$6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$SUB_NAME);
|
|
15539
|
+
const [$6cc32821e9371a1c$var$MenuSubProvider, $6cc32821e9371a1c$var$useMenuSubContext] = $6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$SUB_NAME);
|
|
15540
|
+
const $6cc32821e9371a1c$export$71bdb9d1e2909932 = (props)=>{
|
|
15541
|
+
const { __scopeMenu: __scopeMenu , children: children , open: open = false , onOpenChange: onOpenChange } = props;
|
|
15542
|
+
const parentMenuContext = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$SUB_NAME, __scopeMenu);
|
|
15543
|
+
const popperScope = $6cc32821e9371a1c$var$usePopperScope(__scopeMenu);
|
|
15544
|
+
const [trigger, setTrigger] = React.useState(null);
|
|
15545
|
+
const [content, setContent] = React.useState(null);
|
|
15546
|
+
const handleOpenChange = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(onOpenChange); // Prevent the parent menu from reopening with open submenus.
|
|
15547
|
+
React.useEffect(()=>{
|
|
15548
|
+
if (parentMenuContext.open === false) handleOpenChange(false);
|
|
15549
|
+
return ()=>handleOpenChange(false)
|
|
15550
|
+
;
|
|
15551
|
+
}, [
|
|
15552
|
+
parentMenuContext.open,
|
|
15553
|
+
handleOpenChange
|
|
15554
|
+
]);
|
|
15555
|
+
return /*#__PURE__*/ React.createElement($cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9, popperScope, /*#__PURE__*/ React.createElement($6cc32821e9371a1c$var$MenuProvider, {
|
|
15556
|
+
scope: __scopeMenu,
|
|
15557
|
+
open: open,
|
|
15558
|
+
onOpenChange: handleOpenChange,
|
|
15559
|
+
content: content,
|
|
15560
|
+
onContentChange: setContent
|
|
15561
|
+
}, /*#__PURE__*/ React.createElement($6cc32821e9371a1c$var$MenuSubProvider, {
|
|
15562
|
+
scope: __scopeMenu,
|
|
15563
|
+
contentId: $1746a345f3d73bb7$export$f680877a34711e37(),
|
|
15564
|
+
triggerId: $1746a345f3d73bb7$export$f680877a34711e37(),
|
|
15565
|
+
trigger: trigger,
|
|
15566
|
+
onTriggerChange: setTrigger
|
|
15567
|
+
}, children)));
|
|
15568
|
+
};
|
|
15569
|
+
/* -------------------------------------------------------------------------------------------------
|
|
15570
|
+
* MenuSubTrigger
|
|
15571
|
+
* -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$SUB_TRIGGER_NAME = 'MenuSubTrigger';
|
|
15572
|
+
const $6cc32821e9371a1c$export$5fbbb3ba7297405f = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
|
|
15573
|
+
const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
|
|
15574
|
+
const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
|
|
15575
|
+
const subContext = $6cc32821e9371a1c$var$useMenuSubContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
|
|
15576
|
+
const contentContext = $6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
|
|
15577
|
+
const openTimerRef = React.useRef(null);
|
|
15578
|
+
const { pointerGraceTimerRef: pointerGraceTimerRef , onPointerGraceIntentChange: onPointerGraceIntentChange } = contentContext;
|
|
15579
|
+
const scope = {
|
|
15580
|
+
__scopeMenu: props.__scopeMenu
|
|
15581
|
+
};
|
|
15582
|
+
const clearOpenTimer = React.useCallback(()=>{
|
|
15583
|
+
if (openTimerRef.current) window.clearTimeout(openTimerRef.current);
|
|
15584
|
+
openTimerRef.current = null;
|
|
15585
|
+
}, []);
|
|
15586
|
+
React.useEffect(()=>clearOpenTimer
|
|
15587
|
+
, [
|
|
15588
|
+
clearOpenTimer
|
|
15589
|
+
]);
|
|
15590
|
+
React.useEffect(()=>{
|
|
15591
|
+
const pointerGraceTimer = pointerGraceTimerRef.current;
|
|
15592
|
+
return ()=>{
|
|
15593
|
+
window.clearTimeout(pointerGraceTimer);
|
|
15594
|
+
onPointerGraceIntentChange(null);
|
|
15595
|
+
};
|
|
15596
|
+
}, [
|
|
15597
|
+
pointerGraceTimerRef,
|
|
15598
|
+
onPointerGraceIntentChange
|
|
15599
|
+
]);
|
|
15600
|
+
return /*#__PURE__*/ React.createElement($6cc32821e9371a1c$export$9fa5ebd18bee4d43, _extends({
|
|
15601
|
+
asChild: true
|
|
15602
|
+
}, scope), /*#__PURE__*/ React.createElement($6cc32821e9371a1c$var$MenuItemImpl, _extends({
|
|
15603
|
+
id: subContext.triggerId,
|
|
15604
|
+
"aria-haspopup": "menu",
|
|
15605
|
+
"aria-expanded": context.open,
|
|
15606
|
+
"aria-controls": subContext.contentId,
|
|
15607
|
+
"data-state": $6cc32821e9371a1c$var$getOpenState(context.open)
|
|
15608
|
+
}, props, {
|
|
15609
|
+
ref: $6ed0406888f73fc4$export$43e446d32b3d21af(forwardedRef, subContext.onTriggerChange) // This is redundant for mouse users but we cannot determine pointer type from
|
|
15610
|
+
,
|
|
15611
|
+
onClick: (event)=>{
|
|
15612
|
+
var _props$onClick;
|
|
15613
|
+
(_props$onClick = props.onClick) === null || _props$onClick === void 0 || _props$onClick.call(props, event);
|
|
15614
|
+
if (props.disabled || event.defaultPrevented) return;
|
|
15615
|
+
/**
|
|
15616
|
+
* We manually focus because iOS Safari doesn't always focus on click (e.g. buttons)
|
|
15617
|
+
* and we rely heavily on `onFocusOutside` for submenus to close when switching
|
|
15618
|
+
* between separate submenus.
|
|
15619
|
+
*/ event.currentTarget.focus();
|
|
15620
|
+
if (!context.open) context.onOpenChange(true);
|
|
15621
|
+
},
|
|
15622
|
+
onPointerMove: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onPointerMove, $6cc32821e9371a1c$var$whenMouse((event)=>{
|
|
15623
|
+
contentContext.onItemEnter(event);
|
|
15624
|
+
if (event.defaultPrevented) return;
|
|
15625
|
+
if (!props.disabled && !context.open && !openTimerRef.current) {
|
|
15626
|
+
contentContext.onPointerGraceIntentChange(null);
|
|
15627
|
+
openTimerRef.current = window.setTimeout(()=>{
|
|
15628
|
+
context.onOpenChange(true);
|
|
15629
|
+
clearOpenTimer();
|
|
15630
|
+
}, 100);
|
|
15631
|
+
}
|
|
15632
|
+
})),
|
|
15633
|
+
onPointerLeave: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onPointerLeave, $6cc32821e9371a1c$var$whenMouse((event)=>{
|
|
15634
|
+
var _context$content;
|
|
15635
|
+
clearOpenTimer();
|
|
15636
|
+
const contentRect = (_context$content = context.content) === null || _context$content === void 0 ? void 0 : _context$content.getBoundingClientRect();
|
|
15637
|
+
if (contentRect) {
|
|
15638
|
+
var _context$content2;
|
|
15639
|
+
// TODO: make sure to update this when we change positioning logic
|
|
15640
|
+
const side = (_context$content2 = context.content) === null || _context$content2 === void 0 ? void 0 : _context$content2.dataset.side;
|
|
15641
|
+
const rightSide = side === 'right';
|
|
15642
|
+
const bleed = rightSide ? -5 : 5;
|
|
15643
|
+
const contentNearEdge = contentRect[rightSide ? 'left' : 'right'];
|
|
15644
|
+
const contentFarEdge = contentRect[rightSide ? 'right' : 'left'];
|
|
15645
|
+
contentContext.onPointerGraceIntentChange({
|
|
15646
|
+
area: [
|
|
15647
|
+
// consistently within polygon bounds
|
|
15648
|
+
{
|
|
15649
|
+
x: event.clientX + bleed,
|
|
15650
|
+
y: event.clientY
|
|
15651
|
+
},
|
|
15652
|
+
{
|
|
15653
|
+
x: contentNearEdge,
|
|
15654
|
+
y: contentRect.top
|
|
15655
|
+
},
|
|
15656
|
+
{
|
|
15657
|
+
x: contentFarEdge,
|
|
15658
|
+
y: contentRect.top
|
|
15659
|
+
},
|
|
15660
|
+
{
|
|
15661
|
+
x: contentFarEdge,
|
|
15662
|
+
y: contentRect.bottom
|
|
15663
|
+
},
|
|
15664
|
+
{
|
|
15665
|
+
x: contentNearEdge,
|
|
15666
|
+
y: contentRect.bottom
|
|
15667
|
+
}
|
|
15668
|
+
],
|
|
15669
|
+
side: side
|
|
15670
|
+
});
|
|
15671
|
+
window.clearTimeout(pointerGraceTimerRef.current);
|
|
15672
|
+
pointerGraceTimerRef.current = window.setTimeout(()=>contentContext.onPointerGraceIntentChange(null)
|
|
15673
|
+
, 300);
|
|
15674
|
+
} else {
|
|
15675
|
+
contentContext.onTriggerLeave(event);
|
|
15676
|
+
if (event.defaultPrevented) return; // There's 100ms where the user may leave an item before the submenu was opened.
|
|
15677
|
+
contentContext.onPointerGraceIntentChange(null);
|
|
15678
|
+
}
|
|
15679
|
+
})),
|
|
15680
|
+
onKeyDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onKeyDown, (event)=>{
|
|
15681
|
+
const isTypingAhead = contentContext.searchRef.current !== '';
|
|
15682
|
+
if (props.disabled || isTypingAhead && event.key === ' ') return;
|
|
15683
|
+
if ($6cc32821e9371a1c$var$SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {
|
|
15684
|
+
var _context$content3;
|
|
15685
|
+
context.onOpenChange(true); // The trigger may hold focus if opened via pointer interaction
|
|
15686
|
+
// so we ensure content is given focus again when switching to keyboard.
|
|
15687
|
+
(_context$content3 = context.content) === null || _context$content3 === void 0 || _context$content3.focus(); // prevent window from scrolling
|
|
15688
|
+
event.preventDefault();
|
|
15689
|
+
}
|
|
15690
|
+
})
|
|
15691
|
+
})));
|
|
15692
|
+
});
|
|
15693
|
+
/* -------------------------------------------------------------------------------------------------
|
|
15694
|
+
* MenuSubContent
|
|
15695
|
+
* -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$SUB_CONTENT_NAME = 'MenuSubContent';
|
|
15696
|
+
const $6cc32821e9371a1c$export$e7142ab31822bde6 = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
|
|
15697
|
+
const portalContext = $6cc32821e9371a1c$var$usePortalContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
|
|
15698
|
+
const { forceMount: forceMount = portalContext.forceMount , ...subContentProps } = props;
|
|
15699
|
+
const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
|
|
15700
|
+
const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
|
|
15701
|
+
const subContext = $6cc32821e9371a1c$var$useMenuSubContext($6cc32821e9371a1c$var$SUB_CONTENT_NAME, props.__scopeMenu);
|
|
15702
|
+
const ref = React.useRef(null);
|
|
15703
|
+
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, ref);
|
|
15704
|
+
return /*#__PURE__*/ React.createElement($6cc32821e9371a1c$var$Collection.Provider, {
|
|
15705
|
+
scope: props.__scopeMenu
|
|
15706
|
+
}, /*#__PURE__*/ React.createElement($921a889cee6df7e8$export$99c2b779aa4e8b8b, {
|
|
15707
|
+
present: forceMount || context.open
|
|
15708
|
+
}, /*#__PURE__*/ React.createElement($6cc32821e9371a1c$var$Collection.Slot, {
|
|
15709
|
+
scope: props.__scopeMenu
|
|
15710
|
+
}, /*#__PURE__*/ React.createElement($6cc32821e9371a1c$var$MenuContentImpl, _extends({
|
|
15711
|
+
id: subContext.contentId,
|
|
15712
|
+
"aria-labelledby": subContext.triggerId
|
|
15713
|
+
}, subContentProps, {
|
|
15714
|
+
ref: composedRefs,
|
|
15715
|
+
align: "start",
|
|
15716
|
+
side: rootContext.dir === 'rtl' ? 'left' : 'right',
|
|
15717
|
+
disableOutsidePointerEvents: false,
|
|
15718
|
+
disableOutsideScroll: false,
|
|
15719
|
+
trapFocus: false,
|
|
15720
|
+
onOpenAutoFocus: (event)=>{
|
|
15721
|
+
var _ref$current;
|
|
15722
|
+
// when opening a submenu, focus content for keyboard users only
|
|
15723
|
+
if (rootContext.isUsingKeyboardRef.current) (_ref$current = ref.current) === null || _ref$current === void 0 || _ref$current.focus();
|
|
15724
|
+
event.preventDefault();
|
|
15725
|
+
} // The menu might close because of focusing another menu item in the parent menu. We
|
|
15726
|
+
,
|
|
15727
|
+
onCloseAutoFocus: (event)=>event.preventDefault()
|
|
15728
|
+
,
|
|
15729
|
+
onFocusOutside: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onFocusOutside, (event)=>{
|
|
15730
|
+
// We prevent closing when the trigger is focused to avoid triggering a re-open animation
|
|
15731
|
+
// on pointer interaction.
|
|
15732
|
+
if (event.target !== subContext.trigger) context.onOpenChange(false);
|
|
15733
|
+
}),
|
|
15734
|
+
onEscapeKeyDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onEscapeKeyDown, (event)=>{
|
|
15735
|
+
rootContext.onClose(); // ensure pressing escape in submenu doesn't escape full screen mode
|
|
15736
|
+
event.preventDefault();
|
|
15737
|
+
}),
|
|
15738
|
+
onKeyDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onKeyDown, (event)=>{
|
|
15739
|
+
// Submenu key events bubble through portals. We only care about keys in this menu.
|
|
15740
|
+
const isKeyDownInside = event.currentTarget.contains(event.target);
|
|
15741
|
+
const isCloseKey = $6cc32821e9371a1c$var$SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);
|
|
15742
|
+
if (isKeyDownInside && isCloseKey) {
|
|
15743
|
+
var _subContext$trigger;
|
|
15744
|
+
context.onOpenChange(false); // We focus manually because we prevented it in `onCloseAutoFocus`
|
|
15745
|
+
(_subContext$trigger = subContext.trigger) === null || _subContext$trigger === void 0 || _subContext$trigger.focus(); // prevent window from scrolling
|
|
15746
|
+
event.preventDefault();
|
|
15747
|
+
}
|
|
15748
|
+
})
|
|
15749
|
+
})))));
|
|
15750
|
+
});
|
|
15506
15751
|
/* -----------------------------------------------------------------------------------------------*/ function $6cc32821e9371a1c$var$getOpenState(open) {
|
|
15507
15752
|
return open ? 'open' : 'closed';
|
|
15508
15753
|
}
|
|
@@ -15585,6 +15830,9 @@ const $6cc32821e9371a1c$export$b04be29aa201d4f5 = $6cc32821e9371a1c$export$dd37b
|
|
|
15585
15830
|
const $6cc32821e9371a1c$export$6d08773d2e66f8f2 = $6cc32821e9371a1c$export$2ce376c2cc3355c8;
|
|
15586
15831
|
const $6cc32821e9371a1c$export$1ff3c3f08ae963c0 = $6cc32821e9371a1c$export$1cec7dcdd713e220;
|
|
15587
15832
|
const $6cc32821e9371a1c$export$21b07c8f274aebd5 = $6cc32821e9371a1c$export$bcdda4773debf5fa;
|
|
15833
|
+
const $6cc32821e9371a1c$export$d7a01e11500dfb6f = $6cc32821e9371a1c$export$71bdb9d1e2909932;
|
|
15834
|
+
const $6cc32821e9371a1c$export$2ea8a7a591ac5eac = $6cc32821e9371a1c$export$5fbbb3ba7297405f;
|
|
15835
|
+
const $6cc32821e9371a1c$export$6d4de93b380beddf = $6cc32821e9371a1c$export$e7142ab31822bde6;
|
|
15588
15836
|
|
|
15589
15837
|
/* -------------------------------------------------------------------------------------------------
|
|
15590
15838
|
* DropdownMenu
|
|
@@ -15731,6 +15979,43 @@ const $d08ef79370b62062$export$34b8980744021ec5 = /*#__PURE__*/ React.forwardRef
|
|
|
15731
15979
|
ref: forwardedRef
|
|
15732
15980
|
}));
|
|
15733
15981
|
});
|
|
15982
|
+
/* -------------------------------------------------------------------------------------------------
|
|
15983
|
+
* DropdownMenuSub
|
|
15984
|
+
* -----------------------------------------------------------------------------------------------*/ const $d08ef79370b62062$export$2f307d81a64f5442 = (props)=>{
|
|
15985
|
+
const { __scopeDropdownMenu: __scopeDropdownMenu , children: children , open: openProp , onOpenChange: onOpenChange , defaultOpen: defaultOpen } = props;
|
|
15986
|
+
const menuScope = $d08ef79370b62062$var$useMenuScope(__scopeDropdownMenu);
|
|
15987
|
+
const [open = false, setOpen] = $71cd76cc60e0454e$export$6f32135080cb4c3({
|
|
15988
|
+
prop: openProp,
|
|
15989
|
+
defaultProp: defaultOpen,
|
|
15990
|
+
onChange: onOpenChange
|
|
15991
|
+
});
|
|
15992
|
+
return /*#__PURE__*/ React.createElement($6cc32821e9371a1c$export$d7a01e11500dfb6f, _extends({}, menuScope, {
|
|
15993
|
+
open: open,
|
|
15994
|
+
onOpenChange: setOpen
|
|
15995
|
+
}), children);
|
|
15996
|
+
};
|
|
15997
|
+
const $d08ef79370b62062$export$21dcb7ec56f874cf = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
|
|
15998
|
+
const { __scopeDropdownMenu: __scopeDropdownMenu , ...subTriggerProps } = props;
|
|
15999
|
+
const menuScope = $d08ef79370b62062$var$useMenuScope(__scopeDropdownMenu);
|
|
16000
|
+
return /*#__PURE__*/ React.createElement($6cc32821e9371a1c$export$2ea8a7a591ac5eac, _extends({}, menuScope, subTriggerProps, {
|
|
16001
|
+
ref: forwardedRef
|
|
16002
|
+
}));
|
|
16003
|
+
});
|
|
16004
|
+
const $d08ef79370b62062$export$f34ec8bc2482cc5f = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
|
|
16005
|
+
const { __scopeDropdownMenu: __scopeDropdownMenu , ...subContentProps } = props;
|
|
16006
|
+
const menuScope = $d08ef79370b62062$var$useMenuScope(__scopeDropdownMenu);
|
|
16007
|
+
return /*#__PURE__*/ React.createElement($6cc32821e9371a1c$export$6d4de93b380beddf, _extends({}, menuScope, subContentProps, {
|
|
16008
|
+
ref: forwardedRef,
|
|
16009
|
+
style: {
|
|
16010
|
+
...props.style,
|
|
16011
|
+
'--radix-dropdown-menu-content-transform-origin': 'var(--radix-popper-transform-origin)',
|
|
16012
|
+
'--radix-dropdown-menu-content-available-width': 'var(--radix-popper-available-width)',
|
|
16013
|
+
'--radix-dropdown-menu-content-available-height': 'var(--radix-popper-available-height)',
|
|
16014
|
+
'--radix-dropdown-menu-trigger-width': 'var(--radix-popper-anchor-width)',
|
|
16015
|
+
'--radix-dropdown-menu-trigger-height': 'var(--radix-popper-anchor-height)'
|
|
16016
|
+
}
|
|
16017
|
+
}));
|
|
16018
|
+
});
|
|
15734
16019
|
/* -----------------------------------------------------------------------------------------------*/ const $d08ef79370b62062$export$be92b6f5f03c0fe9 = $d08ef79370b62062$export$e44a253a59704894;
|
|
15735
16020
|
const $d08ef79370b62062$export$41fb9f06171c75f4 = $d08ef79370b62062$export$d2469213b3befba9;
|
|
15736
16021
|
const $d08ef79370b62062$export$7c6e2c02157bb7d2 = $d08ef79370b62062$export$6e76d93a37c01248;
|
|
@@ -15738,38 +16023,62 @@ const $d08ef79370b62062$export$b04be29aa201d4f5 = $d08ef79370b62062$export$76e48
|
|
|
15738
16023
|
const $d08ef79370b62062$export$6d08773d2e66f8f2 = $d08ef79370b62062$export$ed97964d1871885d;
|
|
15739
16024
|
const $d08ef79370b62062$export$1ff3c3f08ae963c0 = $d08ef79370b62062$export$da160178fd3bc7e9;
|
|
15740
16025
|
const $d08ef79370b62062$export$21b07c8f274aebd5 = $d08ef79370b62062$export$34b8980744021ec5;
|
|
16026
|
+
const $d08ef79370b62062$export$d7a01e11500dfb6f = $d08ef79370b62062$export$2f307d81a64f5442;
|
|
16027
|
+
const $d08ef79370b62062$export$2ea8a7a591ac5eac = $d08ef79370b62062$export$21dcb7ec56f874cf;
|
|
16028
|
+
const $d08ef79370b62062$export$6d4de93b380beddf = $d08ef79370b62062$export$f34ec8bc2482cc5f;
|
|
15741
16029
|
|
|
15742
16030
|
const borderStyles = [
|
|
15743
16031
|
'tw-border-solid',
|
|
15744
16032
|
'tw-border',
|
|
15745
16033
|
'tw-rounded-sm',
|
|
15746
16034
|
'tw-border-sq-disabled-gray',
|
|
15747
|
-
'dark:tw-border-gray-
|
|
16035
|
+
'dark:tw-border-gray-500',
|
|
15748
16036
|
].join(' ');
|
|
15749
16037
|
const bgStyles = ['tw-bg-sq-white', 'dark:tw-bg-sq-dark-background'].join(' ');
|
|
15750
16038
|
const disabledClasses = ['tw-opacity-50', 'tw-cursor-not-allowed'].join(' ');
|
|
15751
|
-
const ButtonWithDropdown = ({ dropdownItems, triggerIcon, id, extraClassNames, containerTestId, disabled = false, align = 'end', placement = 'bottom', placementOffset =
|
|
16039
|
+
const ButtonWithDropdown = ({ dropdownItems, triggerIcon, id, extraClassNames, containerTestId, disabled = false, align = 'end', placement = 'bottom', placementOffset = 5, alignOffset = -35, hasArrow = false, onOpenChange, isOpen, setFocusOnTriggerOnClose = true, keepFocusInsideDropdown = true, ...tooltipProps }) => {
|
|
15752
16040
|
const tooltipData = getQTipData(tooltipProps);
|
|
15753
16041
|
return (React__namespace.createElement($d08ef79370b62062$export$be92b6f5f03c0fe9, { defaultOpen: false, open: isOpen, onOpenChange: onOpenChange, modal: keepFocusInsideDropdown },
|
|
15754
16042
|
React__namespace.createElement($d08ef79370b62062$export$41fb9f06171c75f4, { id: id, className: `tw-border-none focus-visible:tw-outline-none focus:tw-outline-none focus-within:tw-outline-none`, disabled: disabled },
|
|
15755
16043
|
React__namespace.createElement("div", { ...tooltipData, className: `tw-bg-transparent tw-flex tw-flex-col tw-items-center focus-visible:tw-outline-none focus:tw-outline-none focus-within:tw-outline-none ${disabled ? disabledClasses : ''} ${extraClassNames || ''}` }, triggerIcon)),
|
|
15756
16044
|
React__namespace.createElement($d08ef79370b62062$export$7c6e2c02157bb7d2, { sideOffset: placementOffset, side: placement, align: align, alignOffset: alignOffset, asChild: true, onCloseAutoFocus: (e) => !setFocusOnTriggerOnClose && e.preventDefault(), className: "focus-visible:tw-outline-none tw-outline-none" },
|
|
15757
16045
|
React__namespace.createElement("div", { "data-testid": containerTestId, className: bgStyles +
|
|
15758
|
-
' tw-relative tw-z-[1000] tw-min-w-6 focus-visible:tw-outline-none tw-outline-none
|
|
16046
|
+
' tw-relative tw-z-[1000] tw-min-w-6 tw-py-2 focus-visible:tw-outline-none tw-outline-none' +
|
|
16047
|
+
' data-[state=open]:tw-animate-in data-[state=closed]:tw-animate-out' +
|
|
15759
16048
|
' forceFont data-[side=top]:tw-animate-slideDownAndFade data-[side=right]:tw-animate-slideLeftAndFade data-[side=bottom]:tw-animate-slideUpAndFade data-[side=left]:tw-animate-slideRightAndFade ' +
|
|
15760
16049
|
borderStyles },
|
|
15761
16050
|
hasArrow && (React__namespace.createElement($d08ef79370b62062$export$21b07c8f274aebd5, { asChild: true },
|
|
15762
|
-
React__namespace.createElement("div", { className: " tw-fill-transparent tw-bg-white tw-w-[
|
|
16051
|
+
React__namespace.createElement("div", { className: " tw-fill-transparent tw-bg-white tw-w-[15px] tw-h-[15px] tw-rotate-45 dark:tw-bg-sq-dark-background tw-border-b tw-border-r tw-border-sq-disabled-gray dark:tw-border-gray-500 tw-mt-[-7px]" }))),
|
|
15763
16052
|
dropdownItems.map((item, index) => {
|
|
15764
|
-
|
|
15765
|
-
|
|
15766
|
-
|
|
16053
|
+
if (item.isLabel) {
|
|
16054
|
+
return (React__namespace.createElement($d08ef79370b62062$export$b04be29aa201d4f5, { key: (item.label || '') + index, className: item.containerExtraClassNames },
|
|
16055
|
+
item.icon && (React__namespace.createElement(Icon, { icon: item.icon, testId: item.iconTestId, type: "text", color: item.iconColor, extraClassNames: "tw-text-sq-text-color dark:tw-text-sq-white tw-w-[18px]" })),
|
|
16056
|
+
React__namespace.createElement("div", { "data-testid": item.labelTestId, className: "tw-text-[13px] tw-ml-1" }, item.label)));
|
|
16057
|
+
}
|
|
16058
|
+
if (Array.isArray(item.subMenuItems) && item.subMenuItems.length > 0) {
|
|
16059
|
+
return (React__namespace.createElement($d08ef79370b62062$export$d7a01e11500dfb6f, { key: item.label + index },
|
|
16060
|
+
React__namespace.createElement($d08ef79370b62062$export$2ea8a7a591ac5eac, { id: id, className: `tw-cursor-pointer tw-flex tw-justify-between dark:tw-text-sq-white hover:tw-bg-sq-gray-highlight dark:hover:tw-bg-sq-gray-highlight-dark tw-leading-none tw-items-center tw-h-[27px] tw-pl-[19px] tw-relative tw-select-none tw-outline-none data-[disabled]:tw-text-sq-disabled-gray data-[disabled]:tw-pointer-events-none ${item.containerExtraClassNames || ''}`, "data-testid": item.testId, disabled: item.disabled },
|
|
16061
|
+
React__namespace.createElement("div", { className: "tw-flex" },
|
|
16062
|
+
item.icon && (React__namespace.createElement(Icon, { icon: item.icon, extraClassNames: `tw-text-sq-text-color dark:tw-text-sq-white tw-w-[18px] ${item.iconExtraClassNames || ''}` })),
|
|
16063
|
+
React__namespace.createElement("div", { "data-testid": item.labelTestId, "data-customid": item.labelCustomId, className: `tw-text-[13px] tw-ml-1 ${item.labelClasses}` }, item.label)),
|
|
16064
|
+
React__namespace.createElement(Icon, { small: true, icon: "fc-arrow-dropdown -tw-rotate-90", extraClassNames: "tw-text-sq-text-color dark:tw-text-sq-white tw-w-[18px] tw-ml-4 tw-text-[8px] tw-justify-center tw-flex" })),
|
|
16065
|
+
React__namespace.createElement($d08ef79370b62062$export$6d4de93b380beddf, { className: "focus-visible:tw-outline-none tw-outline-none" },
|
|
16066
|
+
React__namespace.createElement("div", { "data-testid": containerTestId, className: bgStyles +
|
|
16067
|
+
' tw-relative tw-z-[1000] tw-min-w-6 tw-py-2 focus-visible:tw-outline-none tw-outline-none data-[state=open]:tw-animate-in data-[state=closed]:tw-animate-out' +
|
|
16068
|
+
' forceFont data-[side=top]:tw-animate-slideDownAndFade data-[side=right]:tw-animate-slideLeftAndFade data-[side=bottom]:tw-animate-slideUpAndFade data-[side=left]:tw-animate-slideRightAndFade ' +
|
|
16069
|
+
borderStyles }, item.subMenuItems.map((subItem, subIndex) => {
|
|
16070
|
+
return (React__namespace.createElement($d08ef79370b62062$export$6d08773d2e66f8f2, { key: subItem.label + subIndex, onSelect: subItem.onClick, "data-qtip-text": subItem.tooltip, className: "tw-cursor-pointer tw-flex dark:tw-text-sq-white hover:tw-bg-sq-gray-highlight dark:hover:tw-bg-sq-gray-highlight-dark tw-leading-none tw-items-center tw-h-[27px] tw-px-[19px] tw-relative tw-select-none tw-outline-none data-[disabled]:tw-text-sq-disabled-gray data-[disabled]:tw-pointer-events-none", disabled: subItem.disabled },
|
|
16071
|
+
subItem.iconClass && (React__namespace.createElement(Icon, { icon: subItem.iconClass, extraClassNames: `tw-text-sq-text-color dark:tw-text-sq-white tw-w-[18px]` })),
|
|
16072
|
+
React__namespace.createElement("div", { className: `tw-text-[13px] tw-ml-1` }, subItem.label)));
|
|
16073
|
+
})))));
|
|
16074
|
+
}
|
|
16075
|
+
return (React__namespace.createElement("div", { key: item.label + index },
|
|
15767
16076
|
React__namespace.createElement($d08ef79370b62062$export$6d08773d2e66f8f2, { key: item.label + index, "data-customid": item.itemCustomId, onSelect: (e) => {
|
|
15768
16077
|
item.onClick(e);
|
|
15769
|
-
}, className: `tw-cursor-pointer tw-flex dark:tw-text-sq-white hover:tw-bg-sq-
|
|
16078
|
+
}, className: `tw-cursor-pointer tw-flex dark:tw-text-sq-white hover:tw-bg-sq-gray-highlight dark:hover:tw-bg-sq-gray-highlight-dark tw-leading-none tw-items-center tw-h-[27px] tw-px-[19px] tw-relative tw-select-none tw-outline-none data-[disabled]:tw-text-sq-disabled-gray data-[disabled]:tw-pointer-events-none ${item.containerExtraClassNames || ''}`, "data-testid": item.testId, disabled: item.disabled },
|
|
15770
16079
|
item.icon && (React__namespace.createElement(Icon, { icon: item.icon, testId: item.iconTestId, type: (item.iconType || 'text'), color: item.iconColor, customId: item.iconCustomId, extraClassNames: `tw-text-sq-text-color dark:tw-text-sq-white tw-w-[18px] ${item.iconExtraClassNames || ''}` })),
|
|
15771
16080
|
React__namespace.createElement("div", { "data-testid": item.labelTestId, "data-customid": item.labelCustomId, className: `tw-text-[13px] tw-ml-1 ${item.labelClasses}` }, item.label)),
|
|
15772
|
-
item.hasDivider && (React__namespace.createElement($d08ef79370b62062$export$1ff3c3f08ae963c0, { "data-testid": `dropdown-divider-${index}`, className: "tw-h-[1px] tw-bg-sq-disabled-gray dark:tw-bg-gray-
|
|
16081
|
+
item.hasDivider && (React__namespace.createElement($d08ef79370b62062$export$1ff3c3f08ae963c0, { "data-testid": `dropdown-divider-${index}`, className: "tw-h-[1px] tw-bg-sq-disabled-gray dark:tw-bg-gray-500 tw-my-[8px]" }))));
|
|
15773
16082
|
})))));
|
|
15774
16083
|
};
|
|
15775
16084
|
|