@servicetitan/anvil2 1.49.5 → 1.49.6

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 (150) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/{Breadcrumbs-DjR-2OEH.js → Breadcrumbs-Y6IaMoi5.js} +2 -2
  3. package/dist/{Breadcrumbs-DjR-2OEH.js.map → Breadcrumbs-Y6IaMoi5.js.map} +1 -1
  4. package/dist/Breadcrumbs.js +1 -1
  5. package/dist/{Calendar-BP6r1sP9.js → Calendar-B5Ednjem.js} +2 -2
  6. package/dist/{Calendar-BP6r1sP9.js.map → Calendar-B5Ednjem.js.map} +1 -1
  7. package/dist/{Calendar-CLSm88D2.js → Calendar-Ce08LvdP.js} +2 -2
  8. package/dist/{Calendar-CLSm88D2.js.map → Calendar-Ce08LvdP.js.map} +1 -1
  9. package/dist/Calendar.js +2 -2
  10. package/dist/{Checkbox-PkAk1Saq.js → Checkbox-ByaZv8wu.js} +2 -2
  11. package/dist/{Checkbox-PkAk1Saq.js.map → Checkbox-ByaZv8wu.js.map} +1 -1
  12. package/dist/{Checkbox-DwuDx-t4.js → Checkbox-nE-_tWmc.js} +2 -2
  13. package/dist/{Checkbox-DwuDx-t4.js.map → Checkbox-nE-_tWmc.js.map} +1 -1
  14. package/dist/Checkbox.js +2 -2
  15. package/dist/{Chip-X2EwdZ97.js → Chip-UqdorCE2.js} +23 -17
  16. package/dist/Chip-UqdorCE2.js.map +1 -0
  17. package/dist/Chip.js +1 -1
  18. package/dist/{Combobox-DNCq-jkq.js → Combobox-Dy4IZDg1.js} +4 -4
  19. package/dist/{Combobox-DNCq-jkq.js.map → Combobox-Dy4IZDg1.js.map} +1 -1
  20. package/dist/Combobox.js +1 -1
  21. package/dist/{DataTable-BIhmpU0v.js → DataTable-D6MmOQF2.js} +5 -5
  22. package/dist/{DataTable-BIhmpU0v.js.map → DataTable-D6MmOQF2.js.map} +1 -1
  23. package/dist/{DateField-DsGHTMZ1.js → DateField-BxS9LZG7.js} +4 -4
  24. package/dist/{DateField-DsGHTMZ1.js.map → DateField-BxS9LZG7.js.map} +1 -1
  25. package/dist/DateField.js +1 -1
  26. package/dist/{DateFieldRange-Ct979nxF.js → DateFieldRange-BdDiHUfv.js} +4 -4
  27. package/dist/{DateFieldRange-Ct979nxF.js.map → DateFieldRange-BdDiHUfv.js.map} +1 -1
  28. package/dist/DateFieldRange.js +1 -1
  29. package/dist/{DateFieldSingle-frMHnRSg.js → DateFieldSingle-CuQO3LH9.js} +4 -4
  30. package/dist/{DateFieldSingle-frMHnRSg.js.map → DateFieldSingle-CuQO3LH9.js.map} +1 -1
  31. package/dist/DateFieldSingle.js +1 -1
  32. package/dist/{DateFieldYearless-po9ieLod.js → DateFieldYearless-2YhZmNYg.js} +2 -2
  33. package/dist/{DateFieldYearless-po9ieLod.js.map → DateFieldYearless-2YhZmNYg.js.map} +1 -1
  34. package/dist/DateFieldYearless.js +1 -1
  35. package/dist/{DateFieldYearlessRange-Dy8a8O1n.js → DateFieldYearlessRange-CgCmvHLs.js} +2 -2
  36. package/dist/{DateFieldYearlessRange-Dy8a8O1n.js.map → DateFieldYearlessRange-CgCmvHLs.js.map} +1 -1
  37. package/dist/DateFieldYearlessRange.js +1 -1
  38. package/dist/{DaysOfTheWeek-2_k3T4n4.js → DaysOfTheWeek-DlIka9b_.js} +3 -3
  39. package/dist/{DaysOfTheWeek-2_k3T4n4.js.map → DaysOfTheWeek-DlIka9b_.js.map} +1 -1
  40. package/dist/DaysOfTheWeek.js +1 -1
  41. package/dist/{Dialog-BT7a5KNT.js → Dialog-DSwvbfdW.js} +2 -2
  42. package/dist/{Dialog-BT7a5KNT.js.map → Dialog-DSwvbfdW.js.map} +1 -1
  43. package/dist/Dialog.js +1 -1
  44. package/dist/{Drawer-scQFylHI.js → Drawer-CGYcEj6d.js} +2 -2
  45. package/dist/{Drawer-scQFylHI.js.map → Drawer-CGYcEj6d.js.map} +1 -1
  46. package/dist/Drawer.js +1 -1
  47. package/dist/{FieldLabel-BIStrC2x.js → FieldLabel-jqlQ1Ldh.js} +2 -2
  48. package/dist/{FieldLabel-BIStrC2x.js.map → FieldLabel-jqlQ1Ldh.js.map} +1 -1
  49. package/dist/FieldLabel.js +1 -1
  50. package/dist/{InputMask-A5LDdyxL.js → InputMask-DaN_Adz6.js} +2 -2
  51. package/dist/{InputMask-A5LDdyxL.js.map → InputMask-DaN_Adz6.js.map} +1 -1
  52. package/dist/InputMask.js +1 -1
  53. package/dist/{Link-DuYh7Xl2.js → Link-DqZxs0kQ.js} +13 -4
  54. package/dist/Link-DqZxs0kQ.js.map +1 -0
  55. package/dist/Link.css +27 -19
  56. package/dist/Link.js +1 -1
  57. package/dist/Link.module-CjeOl2NH.js +14 -0
  58. package/dist/Link.module-CjeOl2NH.js.map +1 -0
  59. package/dist/{LinkButton-pIUNATNE.js → LinkButton-jb2Gc3hC.js} +5 -2
  60. package/dist/LinkButton-jb2Gc3hC.js.map +1 -0
  61. package/dist/LinkButton.js +1 -1
  62. package/dist/{ListView-5cRssdYI.js → ListView-B1I7Ii3g.js} +2 -2
  63. package/dist/{ListView-5cRssdYI.js.map → ListView-B1I7Ii3g.js.map} +1 -1
  64. package/dist/ListView.js +1 -1
  65. package/dist/{NumberField-BUFymKV3.js → NumberField-BdK4U9mW.js} +2 -2
  66. package/dist/{NumberField-BUFymKV3.js.map → NumberField-BdK4U9mW.js.map} +1 -1
  67. package/dist/NumberField.js +1 -1
  68. package/dist/{Page-Dgpz2WD7.js → Page-C-yMjgoO.js} +5 -5
  69. package/dist/{Page-Dgpz2WD7.js.map → Page-C-yMjgoO.js.map} +1 -1
  70. package/dist/Page.js +1 -1
  71. package/dist/{ProgressBar-R_UjSR4o.js → ProgressBar-CufkbVu5.js} +2 -2
  72. package/dist/{ProgressBar-R_UjSR4o.js.map → ProgressBar-CufkbVu5.js.map} +1 -1
  73. package/dist/ProgressBar.js +1 -1
  74. package/dist/{Radio-CLR1m8N9.js → Radio-BeBG7Ksw.js} +2 -2
  75. package/dist/{Radio-CLR1m8N9.js.map → Radio-BeBG7Ksw.js.map} +1 -1
  76. package/dist/Radio.js +2 -2
  77. package/dist/{RadioGroup-m46C69uO.js → RadioGroup-BAjpkCjp.js} +2 -2
  78. package/dist/{RadioGroup-m46C69uO.js.map → RadioGroup-BAjpkCjp.js.map} +1 -1
  79. package/dist/{SearchField-DrgNbG3I.js → SearchField-D6bICv4b.js} +36 -7
  80. package/dist/SearchField-D6bICv4b.js.map +1 -0
  81. package/dist/SearchField.css +13 -8
  82. package/dist/SearchField.js +1 -1
  83. package/dist/{SelectCard-DViLgRGh.js → SelectCard-DDN7qqHv.js} +3 -3
  84. package/dist/{SelectCard-DViLgRGh.js.map → SelectCard-DDN7qqHv.js.map} +1 -1
  85. package/dist/SelectCard.js +1 -1
  86. package/dist/SelectField.js +1 -1
  87. package/dist/{SelectFieldSync-DF05HvD4.js → SelectFieldSync-DQm3_D0v.js} +132 -19
  88. package/dist/SelectFieldSync-DQm3_D0v.js.map +1 -0
  89. package/dist/{SelectTrigger-BSzOoRsu.js → SelectTrigger-CNEhRluU.js} +2 -2
  90. package/dist/{SelectTrigger-BSzOoRsu.js.map → SelectTrigger-CNEhRluU.js.map} +1 -1
  91. package/dist/SelectTrigger.js +1 -1
  92. package/dist/{SelectTriggerBase-CfmRIFRs.js → SelectTriggerBase-Cv6hGsrC.js} +4 -4
  93. package/dist/{SelectTriggerBase-CfmRIFRs.js.map → SelectTriggerBase-Cv6hGsrC.js.map} +1 -1
  94. package/dist/SelectTriggerBase.css +59 -59
  95. package/dist/SelectTriggerBase.module-Ce49lamD.js +35 -0
  96. package/dist/SelectTriggerBase.module-Ce49lamD.js.map +1 -0
  97. package/dist/Table.js +1 -1
  98. package/dist/{TextField-D29fTRGR.js → TextField--y8q4R2H.js} +2 -2
  99. package/dist/{TextField-D29fTRGR.js.map → TextField--y8q4R2H.js.map} +1 -1
  100. package/dist/{TextField-B08U4_rt.js → TextField-aMwSN1iP.js} +2 -2
  101. package/dist/{TextField-B08U4_rt.js.map → TextField-aMwSN1iP.js.map} +1 -1
  102. package/dist/TextField.js +1 -1
  103. package/dist/{Textarea-Dl4w2-t0.js → Textarea-D1zwX2h6.js} +2 -2
  104. package/dist/{Textarea-Dl4w2-t0.js.map → Textarea-D1zwX2h6.js.map} +1 -1
  105. package/dist/Textarea.js +1 -1
  106. package/dist/{TimeField-Dpi3fMsn.js → TimeField-BHxXbOfe.js} +2 -2
  107. package/dist/{TimeField-Dpi3fMsn.js.map → TimeField-BHxXbOfe.js.map} +1 -1
  108. package/dist/TimeField.js +1 -1
  109. package/dist/Toast.js +2 -2
  110. package/dist/{Toaster-CRNOANCk.js → Toaster-CRp3nf4U.js} +2 -2
  111. package/dist/{Toaster-CRNOANCk.js.map → Toaster-CRp3nf4U.js.map} +1 -1
  112. package/dist/{Toaster-B0ogInIl.js → Toaster-qPt6zb6F.js} +2 -2
  113. package/dist/{Toaster-B0ogInIl.js.map → Toaster-qPt6zb6F.js.map} +1 -1
  114. package/dist/{Toolbar-CPldWSNJ.js → Toolbar-XJrmS4v4.js} +12 -12
  115. package/dist/{Toolbar-CPldWSNJ.js.map → Toolbar-XJrmS4v4.js.map} +1 -1
  116. package/dist/Toolbar.js +1 -1
  117. package/dist/{Tooltip-BbfLb3pI.js → Tooltip-CBy7srE2.js} +2 -2
  118. package/dist/Tooltip-CBy7srE2.js.map +1 -0
  119. package/dist/Tooltip.js +1 -1
  120. package/dist/beta/components/SelectField/internal/SelectFieldInput.d.ts +14 -3
  121. package/dist/beta/components/SelectField/internal/SelectFieldLabel.d.ts +12 -1
  122. package/dist/beta/components/SelectField/internal/useCombo.d.ts +2 -1
  123. package/dist/beta/components/SelectField/types.d.ts +43 -0
  124. package/dist/beta.js +5 -5
  125. package/dist/components/Chip/Chip.d.ts +2 -1
  126. package/dist/components/Chip/internal/Chip.d.ts +2 -1
  127. package/dist/components/DateFieldRange/internal/MaskedDateRangeInput.d.ts +1 -1
  128. package/dist/components/DateFieldSingle/internal/MaskedDateInput.d.ts +1 -1
  129. package/dist/components/Link/internal/Link.d.ts +21 -2
  130. package/dist/components/Link/useLinkStyles.d.ts +1 -1
  131. package/dist/components/LinkButton/LinkButton.d.ts +13 -1
  132. package/dist/components/SearchField/SearchField.d.ts +6 -3
  133. package/dist/components/Stepper/Stepper.d.ts +1 -1
  134. package/dist/components/Stepper/StepperStep.d.ts +1 -1
  135. package/dist/components/Tab/Tab.d.ts +1 -1
  136. package/dist/components/Tab/TabButton.d.ts +1 -1
  137. package/dist/index.js +34 -34
  138. package/dist/{utils-CeT0omsG.js → utils-C-hkPwMi.js} +2 -2
  139. package/dist/{utils-CeT0omsG.js.map → utils-C-hkPwMi.js.map} +1 -1
  140. package/package.json +1 -1
  141. package/dist/Chip-X2EwdZ97.js.map +0 -1
  142. package/dist/Link-DuYh7Xl2.js.map +0 -1
  143. package/dist/Link.module-Cf17JWod.js +0 -12
  144. package/dist/Link.module-Cf17JWod.js.map +0 -1
  145. package/dist/LinkButton-pIUNATNE.js.map +0 -1
  146. package/dist/SearchField-DrgNbG3I.js.map +0 -1
  147. package/dist/SelectFieldSync-DF05HvD4.js.map +0 -1
  148. package/dist/SelectTriggerBase.module-DUhQNr6j.js +0 -33
  149. package/dist/SelectTriggerBase.module-DUhQNr6j.js.map +0 -1
  150. package/dist/Tooltip-BbfLb3pI.js.map +0 -1
package/dist/Toolbar.js CHANGED
@@ -1,2 +1,2 @@
1
- export { T as Toolbar, a as ToolbarButton, c as ToolbarButtonLink, b as ToolbarButtonToggle, e as ToolbarControlGroup, g as ToolbarElement, f as ToolbarSearchField, d as ToolbarSelect, T as default } from './Toolbar-CPldWSNJ.js';
1
+ export { T as Toolbar, a as ToolbarButton, c as ToolbarButtonLink, b as ToolbarButtonToggle, e as ToolbarControlGroup, g as ToolbarElement, f as ToolbarSearchField, d as ToolbarSelect, T as default } from './Toolbar-XJrmS4v4.js';
2
2
  //# sourceMappingURL=Toolbar.js.map
@@ -232,7 +232,7 @@ const TooltipContentElement = forwardRef(
232
232
  return /* @__PURE__ */ jsxs(
233
233
  "div",
234
234
  {
235
- popover: context?.controlled ? "manual" : "auto",
235
+ popover: "manual",
236
236
  "data-anv": "tooltip-content",
237
237
  className: tooltipClassNames,
238
238
  ref: tooltipWrapperRef,
@@ -733,4 +733,4 @@ const Tooltip = Object.assign(TooltipElement, {
733
733
  });
734
734
 
735
735
  export { Tooltip as T, TooltipContent as a, TooltipTrigger as b };
736
- //# sourceMappingURL=Tooltip-BbfLb3pI.js.map
736
+ //# sourceMappingURL=Tooltip-CBy7srE2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip-CBy7srE2.js","sources":["../src/components/Tooltip/internal/TooltipLegacy/useTooltipLegacyContext.tsx","../src/components/Tooltip/internal/TooltipLegacy/TooltipLegacyContent.tsx","../src/components/Tooltip/internal/TooltipContext.ts","../src/components/Tooltip/internal/useTooltipContext.tsx","../src/components/Tooltip/TooltipContent.tsx","../src/components/Tooltip/internal/TooltipLegacy/useTooltipLegacy.tsx","../src/components/Tooltip/internal/TooltipLegacy/TooltipLegacyTrigger.tsx","../src/components/Tooltip/internal/TooltipLegacy/TooltipLegacy.tsx","../src/components/Tooltip/internal/isNonInteractiveTrigger.ts","../src/components/Tooltip/TooltipTrigger.tsx","../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport { useTooltipLegacy } from \"./useTooltipLegacy\";\nimport { ThemeProviderContextProps } from \"../../../../providers\";\n\nexport type TooltipLegacyContextType =\n | (ReturnType<typeof useTooltipLegacy> & {\n theme?: ThemeProviderContextProps[\"theme\"];\n mode?: ThemeProviderContextProps[\"mode\"];\n })\n | null;\n\nexport const TooltipLegacyContext =\n createContext<TooltipLegacyContextType>(null);\n\nexport const useTooltipLegacyContext = () => {\n const context = useContext(TooltipLegacyContext);\n\n if (context == null) {\n throw new Error(\n \"TooltipLegacy components must be wrapped in <TooltipLegacy />\",\n );\n }\n\n return context;\n};\n","import {\n FloatingPortal,\n FloatingArrow,\n useDelayGroup,\n} from \"@floating-ui/react\";\nimport {\n ComponentPropsWithoutRef,\n MutableRefObject,\n forwardRef,\n useContext,\n useId,\n} from \"react\";\nimport { useTooltipLegacyContext } from \"./useTooltipLegacyContext\";\nimport styles from \"./TooltipLegacy.module.scss\";\nimport { useMergeRefs } from \"../../../../hooks\";\nimport { ThemeProvider } from \"../../../../providers\";\nimport cx from \"classnames\";\nimport { PortalProviderContext } from \"../../../../providers/PortalProvider\";\nimport { DialogContext } from \"../../../Dialog/internal/DialogContext\";\nimport { DrawerContext } from \"../../../Drawer/internal/DrawerContext\";\n\nexport type TooltipLegacyContentProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const TooltipLegacyContent = forwardRef<\n HTMLDivElement,\n TooltipLegacyContentProps\n>(function TooltipLegacyContent({ style, className, ...props }, propRef) {\n const {\n context: floatingContext,\n theme,\n mode,\n root,\n ...context\n } = useTooltipLegacyContext();\n const { root: portalRoot } = useContext(PortalProviderContext);\n const dialogContext = useContext(DialogContext);\n const drawerContext = useContext(DrawerContext);\n\n const id = useId();\n\n useDelayGroup(floatingContext, { id });\n\n const ref = useMergeRefs([context.refs.setFloating, propRef]);\n\n if (!floatingContext.open) return null;\n\n const contentCx = cx(styles[\"content-legacy\"], className);\n\n return (\n <FloatingPortal\n root={\n root ??\n dialogContext?.ref?.current ??\n drawerContext?.ref?.current ??\n portalRoot ??\n (context.refs.reference as\n | MutableRefObject<HTMLElement | null>\n | null\n | undefined)\n }\n >\n <ThemeProvider theme={theme} mode={mode}>\n <div\n ref={ref}\n className={contentCx}\n data-anv=\"tooltip-content\"\n style={{\n ...context.floatingStyles,\n ...style,\n }}\n onBlur={() => context.setOpen(false)}\n {...context.getFloatingProps(props)}\n >\n <FloatingArrow\n ref={context.arrowRef}\n context={floatingContext}\n className={styles[\"arrow-legacy\"]}\n />\n {props.children}\n </div>\n </ThemeProvider>\n </FloatingPortal>\n );\n});\n","import {\n Dispatch,\n SetStateAction,\n CSSProperties,\n RefObject,\n createContext,\n} from \"react\";\nimport { Placement } from \"@floating-ui/react-dom\";\n\nimport { TooltipProps } from \"../Tooltip\";\n\n/**\n * Context props for the Tooltip component\n */\nexport type TooltipContextProps = {\n /**\n * Unique identifier for the tooltip\n */\n tooltipId: string;\n /**\n * Function to set the tooltip ID\n */\n setTooltipId: Dispatch<SetStateAction<string>>;\n /**\n * The trigger element reference\n */\n invoker?: HTMLElement;\n /**\n * Function to set the trigger element\n */\n setInvoker?: Dispatch<SetStateAction<HTMLElement | undefined>>;\n /**\n * The tooltip content element reference\n */\n popover?: HTMLElement;\n /**\n * Function to set the tooltip content element\n */\n setTooltip?: Dispatch<SetStateAction<HTMLElement | undefined>>;\n /**\n * The root node for the tooltip\n */\n rootNode?: HTMLElement;\n /**\n * Function to set the root node\n */\n setRootNode?: Dispatch<SetStateAction<HTMLElement | undefined>>;\n /**\n * The arrow element reference\n */\n arrowElement?: HTMLSpanElement;\n /**\n * Function to set the arrow element\n */\n setArrowElement?: Dispatch<SetStateAction<HTMLSpanElement | undefined>>;\n /**\n * Current open state of the tooltip\n */\n openState: boolean;\n /**\n * Function to set the open state\n */\n setOpenState: Dispatch<SetStateAction<boolean>>;\n /**\n * Inline styles for the tooltip\n */\n tooltipStyle?: CSSProperties;\n /**\n * Placement of the tooltip\n */\n placement?: Placement;\n /**\n * Function to open the tooltip\n */\n openTooltip: () => void;\n /**\n * Function to close the tooltip\n */\n closeTooltip: (replacementFn?: () => void) => void;\n /**\n * Whether the tooltip is controlled\n */\n controlled: boolean;\n /**\n * Whether to disable flip fallback\n */\n disableFlipFallback: TooltipProps[\"disableFlipFallback\"];\n /**\n * Reference to the arrow element\n */\n arrowRef: RefObject<HTMLSpanElement>;\n /**\n * Key for resetting the tooltip\n */\n resetKey: number;\n};\n\n/**\n * React context for sharing tooltip state and functions between components\n */\nexport const TooltipContext = createContext<TooltipContextProps | null>(null);\n","import { useRef, useContext, useLayoutEffect, KeyboardEvent } from \"react\";\n\nimport { TooltipContext } from \"./TooltipContext\";\n\nexport type dataStateType = \"open\" | \"closed\";\n\n/**\n * Custom hook for managing tooltip context and interactions.\n *\n * Features:\n * - Manages tooltip trigger and content refs\n * - Handles mouse and keyboard interactions\n * - Provides ARIA attributes for accessibility\n * - Manages controlled and uncontrolled states\n * - Handles tooltip positioning and visibility\n * - Provides event handlers for trigger and content\n * - Manages arrow element positioning\n *\n * @returns Object containing tooltip context, refs, and event handlers\n */\nexport function useTooltipContext() {\n const context = useContext(TooltipContext);\n const invokerRef = useRef<HTMLButtonElement>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n const arrowRef = useRef<HTMLSpanElement>(null);\n\n useLayoutEffect(() => {\n if (!invokerRef.current) return;\n context?.setInvoker?.(invokerRef.current);\n if (!context?.openState) return;\n context.openTooltip();\n }, [context, invokerRef]);\n\n useLayoutEffect(() => {\n if (!popoverRef.current) return;\n context?.setTooltip?.(popoverRef.current);\n context?.setRootNode?.(popoverRef.current.getRootNode() as HTMLElement);\n if (!arrowRef.current) return;\n context?.setArrowElement?.(arrowRef.current);\n }, [context, popoverRef]);\n\n const onMouseEnterHandler = () => {\n if (context?.controlled) return;\n context?.openTooltip();\n };\n const onMouseLeaveHandler = () => {\n if (context?.controlled) return;\n context?.closeTooltip();\n };\n\n const onFocusHandler = () => {\n if (context?.controlled) return;\n context?.openTooltip();\n };\n const onBlurHandler = () => {\n if (context?.controlled) return;\n context?.closeTooltip();\n };\n\n const onKeyDownHandler = (e: KeyboardEvent) => {\n if (!context?.openState) return;\n if (e.code === \"Escape\" && !context.controlled) {\n context?.closeTooltip();\n return;\n }\n };\n\n if (!context || !invokerRef || !popoverRef) return;\n return {\n invoker: {\n ref: invokerRef,\n element: context.invoker,\n onMouseEnter: onMouseEnterHandler,\n onMouseLeave: onMouseLeaveHandler,\n onKeyDown: onKeyDownHandler,\n onFocus: onFocusHandler,\n onBlur: onBlurHandler,\n \"aria-haspopup\": true,\n \"aria-details\": context.tooltipId,\n \"data-state\": context.openState ? \"open\" : (\"closed\" as dataStateType),\n \"aria-describedby\": context.tooltipId,\n },\n tooltip: {\n ref: popoverRef,\n element: context.popover,\n id: context.tooltipId,\n setId: context.setTooltipId,\n show: context.openTooltip,\n close: context.closeTooltip,\n style: context.tooltipStyle,\n arrowRef: arrowRef,\n key: context.resetKey,\n },\n setOpen: context.setOpenState,\n open: context.openState,\n controlled: context.controlled,\n placement: context.placement,\n disableFlipFallback: context.disableFlipFallback,\n };\n}\n","import {\n ComponentPropsWithoutRef,\n forwardRef,\n MouseEvent,\n KeyboardEvent,\n useLayoutEffect,\n useRef,\n FocusEvent,\n useContext,\n} from \"react\";\nimport cx from \"classnames\";\n\nimport { getKeyboardFocusableElements } from \"../../internal/functions\";\nimport { supportsPopover } from \"../../internal/functions\";\nimport { ThemeProvider } from \"../../providers\";\nimport { ThemeProviderContext } from \"../../providers/ThemeProvider/internal/ThemeProviderContext\";\nimport { useMergeRefs } from \"../../hooks\";\n\nimport { TooltipLegacyContent } from \"./internal/TooltipLegacy/TooltipLegacyContent\";\nimport { useTooltipContext } from \"./internal/useTooltipContext\";\n\nimport styles from \"./Tooltip.module.scss\";\n\n/**\n * Props for the TooltipContent component\n * @extends Omit<ComponentPropsWithoutRef<\"div\">, \"popover\">\n */\nexport type TooltipContentProps = Omit<\n ComponentPropsWithoutRef<\"div\">,\n \"popover\"\n>;\n\nconst TooltipContentElement = forwardRef<HTMLDivElement, TooltipContentProps>(\n function TooltipContent(props, ref) {\n const {\n children,\n className,\n style,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n onFocus,\n onBlur,\n id,\n ...rest\n } = props;\n const context = useTooltipContext();\n const { mode: currentMode } = useContext(ThemeProviderContext);\n const tooltipClassNames = cx(className, styles[\"content\"]);\n const childrenRef = useRef<HTMLDivElement>(null);\n const focusItems = useRef<Element[]>();\n const combinedStyles = {\n ...style,\n ...context?.tooltip.style,\n };\n\n // Determine the opposite mode for the tooltip\n const tooltipMode = currentMode === \"dark\" ? \"light\" : \"dark\";\n\n // TODO: getFocusableElement is not reliable\n // Need update!!!!! https://servicetitan.atlassian.net/browse/ANV-2605\n useLayoutEffect(() => {\n if (!childrenRef.current) return;\n const focusElements = getKeyboardFocusableElements(childrenRef.current);\n focusItems.current = focusElements;\n }, [childrenRef, children, context?.open]);\n\n useLayoutEffect(() => {\n if (id) {\n context?.tooltip.setId(id);\n }\n }, [id, context?.tooltip.setId, context?.tooltip]);\n\n const onMouseEnterHandler = (e: MouseEvent<HTMLDivElement>) => {\n onMouseEnter?.(e);\n if (context?.controlled) return;\n context?.tooltip.show();\n };\n const onMouseLeaveHandler = (e: MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(e);\n if (context?.controlled) return;\n context?.tooltip.close();\n };\n const onFocusHandler = (e: FocusEvent<HTMLDivElement>) => {\n onFocus?.(e);\n if (context?.controlled) return;\n context?.tooltip.show();\n };\n const onBlurHandler = (e: FocusEvent<HTMLDivElement>) => {\n onBlur?.(e);\n if (context?.controlled) return;\n context?.tooltip.close();\n };\n\n const onKeyDownHandler = (e: KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(e);\n if (!context?.open) return;\n if (e.code === \"Escape\") {\n context?.tooltip.close();\n }\n };\n\n const hasSimpleContent = typeof children === \"string\";\n const role = hasSimpleContent ? \"tooltip\" : \"region\";\n const tooltipWrapperRef = useMergeRefs([context?.tooltip.ref, ref]);\n\n return (\n <div\n popover=\"manual\"\n data-anv=\"tooltip-content\"\n className={tooltipClassNames}\n ref={tooltipWrapperRef}\n style={combinedStyles}\n onMouseEnter={onMouseEnterHandler}\n onMouseLeave={onMouseLeaveHandler}\n onBlur={onBlurHandler}\n onFocus={onFocusHandler}\n role={role}\n id={context?.tooltip.id}\n {...rest}\n >\n <div\n className={styles.scroller}\n role=\"presentation\"\n tabIndex={-1}\n ref={childrenRef}\n key={context?.tooltip.key}\n onKeyDown={onKeyDownHandler}\n >\n {hasSimpleContent ? (\n children\n ) : (\n <ThemeProvider mode={tooltipMode} data-anv=\"tooltip-content-theme\">\n {children}\n </ThemeProvider>\n )}\n </div>\n <span className={styles[\"arrow\"]} ref={context?.tooltip.arrowRef}>\n <svg aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\">\n <path stroke=\"none\" d=\"M0,0 H14 L7,7 Q7,7 7,7 Z\"></path>\n <clipPath id=\":r9:\">\n <rect x=\"0\" y=\"0\" width=\"14\" height=\"14\"></rect>\n </clipPath>\n </svg>\n </span>\n </div>\n );\n },\n);\n\n/**\n * TooltipContent component that displays the tooltip content.\n *\n * Features:\n * - Displays the tooltip content with proper positioning\n * - Includes an arrow pointing to the trigger element\n * - Supports keyboard navigation and escape key to close\n * - Handles mouse interactions for hover behavior\n * - Accessible with proper ARIA roles\n * - Supports all standard div element props\n * - Automatic focus management for keyboard navigation\n * - Real-time position updates\n * - Handles both string and complex content\n *\n * @example\n * <Tooltip.Content>\n * This tooltip provides helpful context\n * </Tooltip.Content>\n */\nexport const TooltipContent = forwardRef<HTMLDivElement, TooltipContentProps>(\n function TooltipContent(props, ref) {\n if (!supportsPopover())\n return <TooltipLegacyContent {...props} ref={ref} />;\n\n return <TooltipContentElement {...props} ref={ref} />;\n },\n);\n","import {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n useHover,\n useFocus,\n useDismiss,\n useRole,\n useInteractions,\n limitShift,\n arrow,\n safePolygon,\n useDelayGroupContext,\n} from \"@floating-ui/react\";\nimport type { Placement } from \"@floating-ui/react\";\nimport { ReactNode, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useTooltipLegacyGroup } from \"../../../../providers/AnvilProvider/AnvilProviderContext\";\n\nexport type TooltipLegacyProps = {\n children?: ReactNode;\n defaultOpen?: boolean;\n open?: boolean;\n placement?: Placement;\n offset?: number;\n onOpenChange?: (open: boolean) => void;\n /**\n * Disables the shift of floating element\n * @internal\n */\n disableShift?: boolean;\n /**\n * Disables the flip of floating element\n * @internal\n */\n disableFlip?: boolean;\n fallbackPlacements?: Placement[];\n root?: HTMLElement | React.MutableRefObject<HTMLElement | null> | null;\n};\n\nexport function useTooltipLegacy({\n defaultOpen = false,\n offset: offsetProp = 5,\n open: controlledOpen,\n placement = \"top\",\n fallbackPlacements,\n disableFlip,\n disableShift,\n root,\n}: TooltipLegacyProps = {}) {\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n\n const open = controlledOpen ?? uncontrolledOpen;\n const setOpen = setUncontrolledOpen;\n\n const { disableDelayGroup } = useTooltipLegacyGroup();\n\n useEffect(() => {\n if (!defaultOpen && !controlledOpen) {\n disableDelayGroup(true);\n }\n\n disableDelayGroup(false);\n }, [defaultOpen, controlledOpen, disableDelayGroup]);\n\n const arrowRef = useRef(null);\n const { delay } = useDelayGroupContext();\n\n const data = useFloating({\n placement,\n open,\n onOpenChange: setOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(offsetProp),\n flip({\n crossAxis: !disableFlip ? placement.includes(\"-\") : false,\n mainAxis: !disableFlip,\n fallbackAxisSideDirection: \"start\",\n fallbackPlacements,\n padding: 5,\n }),\n shift({\n padding: 5,\n mainAxis: !disableShift,\n crossAxis: false,\n limiter: limitShift({\n mainAxis: !disableShift,\n }),\n }),\n arrow({ element: arrowRef, padding: 5 }),\n ],\n });\n const context = data.context;\n\n const hover = useHover(context, {\n move: false,\n handleClose: safePolygon(),\n delay: delay,\n });\n const focus = useFocus(context, {});\n const dismiss = useDismiss(context);\n const role = useRole(context, { role: \"tooltip\" });\n\n const interactions = useInteractions([hover, focus, dismiss, role]);\n\n return useMemo(\n () => ({\n open,\n setOpen,\n arrowRef,\n root,\n ...interactions,\n ...data,\n }),\n [open, setOpen, interactions, data, root],\n );\n}\n","import { HTMLProps, ReactElement, cloneElement, forwardRef } from \"react\";\nimport { useTooltipLegacyContext } from \"./useTooltipLegacyContext\";\nimport styles from \"./TooltipLegacy.module.scss\";\nimport cx from \"classnames\";\nimport { useMergeRefs } from \"../../../../hooks\";\n\nexport type TooltipLegacyTriggerProps = HTMLProps<HTMLElement> & {\n children: ReactElement;\n};\nexport const TooltipLegacyTrigger = forwardRef<\n HTMLElement,\n TooltipLegacyTriggerProps\n>(function TooltipLegacyTrigger({ children, className, ...props }, propRef) {\n const context = useTooltipLegacyContext();\n const ref = useMergeRefs([context.refs.setReference, propRef]);\n const { \"aria-describedby\": ariaDescribedBy, ...restOfContextProps } =\n context.getReferenceProps(props);\n const child = cloneElement(children, {\n ref,\n \"aria-describedby\": ariaDescribedBy,\n });\n\n return (\n <span\n ref={ref}\n className={cx([styles[\"trigger-legacy\"]], className)}\n data-anv=\"tooltip-trigger\"\n // The user can style the trigger based on the state\n data-state={context.open ? \"open\" : \"closed\"}\n {...restOfContextProps}\n >\n {child}\n </span>\n );\n});\n","import { useContext, useMemo } from \"react\";\nimport { useTooltipLegacy, TooltipLegacyProps } from \"./useTooltipLegacy\";\nimport { TooltipLegacyContext } from \"./useTooltipLegacyContext\";\nimport { TooltipLegacyTrigger } from \"./TooltipLegacyTrigger\";\nimport { TooltipLegacyContent } from \"./TooltipLegacyContent\";\nimport { ThemeProviderContext } from \"../../../../providers/ThemeProvider/internal/ThemeProviderContext\";\n\nexport function TooltipLegacyElement({\n children,\n ...options\n}: TooltipLegacyProps) {\n // This can accept any props as options, e.g. `placement`,\n // or other positioning options.\n const tooltip = useTooltipLegacy(options);\n const { theme, mode } = useContext(ThemeProviderContext);\n\n const value = useMemo(\n () => ({ ...tooltip, theme, mode }),\n [mode, theme, tooltip],\n );\n return (\n <TooltipLegacyContext.Provider value={value}>\n {children}\n </TooltipLegacyContext.Provider>\n );\n}\n\nexport const TooltipLegacy = Object.assign(TooltipLegacyElement, {\n Trigger: TooltipLegacyTrigger,\n Content: TooltipLegacyContent,\n});\n","import { isValidElement } from \"react\";\n\nconst INTERACTIVE_ELEMENTS = [\"button\", \"a\", \"input\", \"textarea\", \"select\"];\n\nexport function isNonInteractiveElement(element: React.ReactElement) {\n if (!isValidElement(element)) return false;\n const type = element.type as string;\n return typeof type === \"string\" && !INTERACTIVE_ELEMENTS.includes(type);\n}\n","import {\n KeyboardEvent,\n FocusEvent,\n cloneElement,\n HTMLProps,\n forwardRef,\n ReactElement,\n isValidElement,\n useMemo,\n Fragment,\n useLayoutEffect,\n Ref,\n} from \"react\";\nimport cx from \"classnames\";\n\nimport { childrenToString, supportsPopover } from \"../../internal/functions\";\nimport { DataTrackingId } from \"../../types\";\nimport { useMergeRefs, useTrackingId } from \"../../hooks\";\n\nimport { isNonInteractiveElement } from \"./internal/isNonInteractiveTrigger\";\nimport { TooltipLegacyTrigger } from \"./internal/TooltipLegacy/TooltipLegacyTrigger\";\nimport { useTooltipContext } from \"./internal/useTooltipContext\";\n\nimport styles from \"./Tooltip.module.scss\";\n\n/**\n * Props for the TooltipTrigger component\n * @extends HTMLProps<HTMLElement>\n */\nexport type TooltipTriggerProps = HTMLProps<HTMLElement> & {\n /**\n * The element that triggers the tooltip\n */\n children: ReactElement;\n} & DataTrackingId;\n\nconst TooltipTriggerElement = forwardRef<HTMLElement, TooltipTriggerProps>(\n function TooltipTrigger(props, propRef) {\n const { children, className, onKeyDown, onFocus, onBlur, ...rest } = props;\n const context = useTooltipContext();\n\n // verify if the child can accept a ref\n const childCanAcceptRef = useMemo(\n () =>\n isValidElement(children) &&\n children.type !== Fragment &&\n typeof children.type !== \"function\",\n [children],\n );\n\n const refs = useMergeRefs([\n (children as unknown as { ref: Ref<HTMLElement> })?.ref,\n context?.invoker.ref,\n ]);\n\n // either pass to cloned children, or a span if child doesn't accept a ref\n const childProps = useMemo(() => {\n const baseProps = {\n ref: refs,\n \"aria-haspopup\": context?.invoker[\"aria-haspopup\"],\n \"aria-details\": context?.invoker[\"aria-details\"],\n \"data-state\": context?.invoker[\"data-state\"],\n \"aria-describedby\": context?.invoker[\"aria-describedby\"],\n };\n\n if (isNonInteractiveElement(children)) {\n if (!(\"tabIndex\" in (children.props || {}))) {\n (baseProps as HTMLProps<HTMLElement>).tabIndex = 0;\n }\n if (!(\"role\" in (children.props || {}))) {\n (baseProps as HTMLProps<HTMLElement>).role = \"button\";\n }\n }\n\n return baseProps;\n }, [context?.invoker, refs, children]);\n\n const child = childCanAcceptRef ? (\n cloneElement(children as ReactElement, childProps)\n ) : (\n <span {...childProps}>{children}</span>\n );\n\n const onKeyDownHandler = (e: KeyboardEvent<HTMLElement>) => {\n onKeyDown?.(e);\n context?.invoker.onKeyDown(e);\n };\n\n const onFocusHandler = (e: FocusEvent<HTMLElement>) => {\n onFocus?.(e);\n context?.invoker.onFocus();\n };\n\n const onBlurHandler = (e: FocusEvent<HTMLElement>) => {\n onBlur?.(e);\n context?.invoker.onBlur();\n };\n\n useLayoutEffect(() => {\n const onMouseEnterHandler = () => {\n context?.invoker.onMouseEnter();\n };\n const onMouseLeaveHandler = () => {\n context?.invoker.onMouseLeave();\n };\n context?.invoker.ref.current?.addEventListener(\n \"mouseleave\",\n onMouseLeaveHandler,\n );\n context?.invoker.ref.current?.addEventListener(\n \"mouseenter\",\n onMouseEnterHandler,\n );\n return () => {\n context?.invoker.ref.current?.removeEventListener(\n \"mouseleave\",\n onMouseLeaveHandler,\n );\n context?.invoker.ref.current?.removeEventListener(\n \"mouseenter\",\n onMouseEnterHandler,\n );\n };\n }, [context?.invoker]);\n\n const data = {\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"TooltipTrigger\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n if (!supportsPopover()) return <TooltipLegacyTrigger {...props} />;\n\n return (\n <span\n className={cx([styles[\"trigger\"]], className)}\n data-anv=\"tooltip-trigger\"\n data-tracking-id={trackingId}\n ref={propRef}\n onKeyDown={onKeyDownHandler}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n role=\"presentation\"\n {...rest}\n >\n {child}\n </span>\n );\n },\n);\n\n/**\n * TooltipTrigger component that wraps the element that triggers the tooltip.\n *\n * Features:\n * - Wraps any React element to make it a tooltip trigger\n * - Handles mouse and keyboard interactions\n * - Provides proper ARIA attributes for accessibility\n * - Supports all standard HTML element props\n * - Automatically clones child elements with proper refs\n * - Handles both focusable and non-focusable children\n * - Manages mouse enter/leave events for hover behavior\n *\n * @example\n * <Tooltip.Trigger>\n * <Button>Click me</Button>\n * </Tooltip.Trigger>\n */\nexport const TooltipTrigger = forwardRef<HTMLElement, TooltipTriggerProps>(\n function TooltipTrigger(props, propRef) {\n if (!supportsPopover())\n return <TooltipLegacyTrigger {...props} ref={propRef} />;\n\n return <TooltipTriggerElement {...props} ref={propRef} />;\n },\n);\n","import {\n ComponentPropsWithoutRef,\n useEffect,\n useId,\n useRef,\n useState,\n useMemo,\n useLayoutEffect,\n useCallback,\n} from \"react\";\nimport {\n Placement,\n UseFloatingOptions,\n arrow,\n flip,\n limitShift,\n offset,\n shift,\n computePosition,\n autoUpdate,\n} from \"@floating-ui/react\";\n\nimport {\n safeHidePopover,\n safeShowPopover,\n supportsPopover,\n} from \"../../internal/functions\";\n\nimport { TooltipContent } from \"./TooltipContent\";\nimport { TooltipContext, TooltipContextProps } from \"./internal/TooltipContext\";\nimport { TooltipLegacy } from \"./internal/TooltipLegacy/TooltipLegacy\";\nimport { TooltipTrigger } from \"./TooltipTrigger\";\n\n/**\n * Props for the Tooltip component\n * @extends ComponentPropsWithoutRef<\"div\">\n */\nexport type TooltipProps = {\n /**\n * The content to be wrapped by the tooltip\n */\n children?: ComponentPropsWithoutRef<\"div\">[\"children\"];\n /**\n * Unique identifier for the tooltip\n */\n id?: ComponentPropsWithoutRef<\"div\">[\"id\"];\n /**\n * Disables the shift of floating element\n * @internal\n */\n disableShift?: boolean;\n /**\n * Disables the flip of floating element\n * @internal\n */\n disableFlip?: boolean;\n /**\n * Disables the flip cross-axis fallback of floating element\n * @internal\n */\n disableFlipFallback?: boolean;\n /**\n * Changes interaction to use hover\n */\n openOnHover?: boolean;\n /**\n * Changes height and positioning for select/combobox\n * @default top\n */\n placement?: Placement;\n /**\n * Controls the open state of the tooltip\n */\n open?: boolean;\n /**\n * Default open state of the tooltip\n * @default false\n */\n defaultOpen?: boolean;\n /**\n * Callback when open state changes\n */\n onOpenChange?: UseFloatingOptions[\"onOpenChange\"];\n /**\n * Delay before showing the tooltip\n * @default 100\n */\n delay?: number;\n /**\n * Offset distance from the trigger element\n * @default 5\n */\n offset?: number;\n /**\n * Fallback placement options\n */\n fallbackPlacements?: Placement[];\n /**\n * Root element for the tooltip\n * @deprecated to be removed on next major\n * This is not needed anymore as the Popover API is used.\n * Popover API uses top-layer for its popover content.\n */\n root?: HTMLElement | React.MutableRefObject<HTMLElement | null> | null;\n};\n\nconst TooltipElement = (props: TooltipProps) => {\n const {\n children,\n delay = 100,\n placement = \"top\",\n open,\n defaultOpen = false,\n disableShift,\n disableFlip,\n disableFlipFallback,\n id,\n offset: offsetProp = 5,\n fallbackPlacements,\n } = props;\n const uid = useId();\n const [invoker, setInvoker] =\n useState<TooltipContextProps[\"invoker\"]>(undefined);\n const [tooltip, setTooltip] =\n useState<TooltipContextProps[\"invoker\"]>(undefined);\n const [rootNode, setRootNode] = useState<TooltipContextProps[\"rootNode\"]>();\n const [arrowElement, setArrowElement] =\n useState<TooltipContextProps[\"arrowElement\"]>(undefined);\n const [openState, setOpenState] = useState<TooltipContextProps[\"openState\"]>(\n open ?? defaultOpen,\n );\n const arrowRef = useRef<HTMLSpanElement>(null);\n const [tooltipId, setTooltipId] = useState<TooltipContextProps[\"tooltipId\"]>(\n id ?? `tooltip-${uid.replace(/:/g, \"\")}`,\n );\n\n // TODO: Find a way to test these properly!\n // Stryker disable all : Currently relying on Chromatic test for all visuals\n /* istanbul ignore next */\n const updatePosition = useCallback(() => {\n if (!invoker || !tooltip) return;\n // disable position update when closing\n if (!openState) return;\n computePosition(invoker, tooltip, {\n placement: placement,\n middleware: [\n offset(offsetProp),\n flip({\n mainAxis: !disableFlip,\n crossAxis: false,\n fallbackAxisSideDirection: disableFlipFallback ? \"none\" : \"end\",\n fallbackPlacements,\n padding: 5,\n }),\n shift({\n padding: 5,\n mainAxis: !disableShift,\n crossAxis: false,\n limiter: limitShift({\n mainAxis: !disableShift,\n }),\n }),\n arrow({\n element: arrowElement ? arrowElement : null,\n padding: 5,\n }),\n ],\n }).then(({ x, y, placement, middlewareData }) => {\n const side = placement.split(\"-\")[0];\n\n const staticSide = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\",\n }[side];\n\n const arrowDeg = () => {\n if (staticSide === \"top\") return 180;\n if (staticSide === \"bottom\") return 0;\n if (staticSide === \"left\") return 90;\n return 270;\n };\n\n Object.assign(tooltip.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n if (middlewareData.arrow && arrowElement) {\n const { x, y } = middlewareData.arrow;\n Object.assign(arrowElement.style, {\n left: x != null ? `${x}px` : \"\",\n top: y != null ? `${y}px` : \"\",\n right: \"\",\n bottom: \"\",\n [staticSide as string]: `${-arrowElement.offsetWidth + 2}px`,\n transform: `rotate(${arrowDeg()}deg)`,\n });\n }\n });\n }, [\n invoker,\n tooltip,\n openState,\n placement,\n offsetProp,\n disableFlip,\n disableFlipFallback,\n fallbackPlacements,\n disableShift,\n arrowElement,\n ]);\n\n const resetKey = useRef(0);\n // Effect to add autoUpdate to eventListener\n // while the popover is opened\n useLayoutEffect(() => {\n if (!tooltip || !invoker) return;\n if (!openState) {\n resetKey.current += 1;\n return;\n }\n\n let requestID: number | null = null;\n const cleanup = autoUpdate(invoker, tooltip, () => {\n requestID = requestAnimationFrame(updatePosition);\n });\n\n return () => {\n if (requestID) cancelAnimationFrame(requestID);\n cleanup();\n };\n }, [invoker, tooltip, updatePosition, openState]);\n // Stryker restore all\n\n const isControlled = typeof open !== \"undefined\";\n const openTimeoutRef = useRef<number | NodeJS.Timeout | null>(null);\n const closeTimeoutRef = useRef<number | NodeJS.Timeout | null>(null);\n\n // Main function to open tooltip\n const openTooltip = useCallback(() => {\n clearTimeout(closeTimeoutRef.current as number | undefined);\n clearTimeout(openTimeoutRef.current as number | undefined);\n if (!tooltip || !rootNode?.querySelector(`#${tooltipId}`)) return;\n openTimeoutRef.current = setTimeout(() => {\n safeShowPopover(tooltip);\n setOpenState(true);\n }, delay);\n }, [tooltip, rootNode, tooltipId, delay]);\n\n // Main function to close tooltip\n const closeTooltip = useCallback(\n (fn?: () => void) => {\n clearTimeout(openTimeoutRef.current as number | undefined);\n clearTimeout(closeTimeoutRef.current as number | undefined);\n if (!tooltip || !openState) return;\n closeTimeoutRef.current = setTimeout(() => {\n fn?.();\n setOpenState(false);\n safeHidePopover(tooltip);\n }, 100);\n },\n [openState, tooltip],\n );\n\n useEffect(() => {\n return () => {\n clearTimeout(closeTimeoutRef.current as number | undefined);\n clearTimeout(openTimeoutRef.current as number | undefined);\n };\n }, []);\n\n // Updating openness for controlled\n const initialRender = useRef(true);\n useEffect(() => {\n if (initialRender.current === true) {\n if (openState) openTooltip();\n initialRender.current = false;\n return;\n }\n }, [openTooltip, openState, isControlled]);\n\n // Updating openness for controlled\n useEffect(() => {\n if (!isControlled) return;\n if (open) {\n openTooltip();\n } else {\n closeTooltip();\n }\n }, [closeTooltip, isControlled, open, openTooltip]);\n\n const value = useMemo(() => {\n updatePosition();\n return {\n tooltipId,\n setTooltipId,\n invoker,\n setInvoker,\n tooltip,\n setTooltip,\n arrowElement,\n setArrowElement,\n openTooltip,\n closeTooltip,\n placement,\n openState,\n setOpenState,\n disableFlipFallback,\n controlled: isControlled,\n arrowRef,\n resetKey: resetKey.current,\n rootNode,\n setRootNode,\n };\n }, [\n updatePosition,\n tooltipId,\n setTooltipId,\n invoker,\n tooltip,\n arrowElement,\n openTooltip,\n closeTooltip,\n placement,\n openState,\n disableFlipFallback,\n isControlled,\n rootNode,\n ]);\n\n if (!supportsPopover()) return <TooltipLegacy {...props} />;\n\n return (\n <TooltipContext.Provider value={value}>{children}</TooltipContext.Provider>\n );\n};\n\n/**\n * Tooltip component for displaying contextual information on hover or focus.\n *\n * Features:\n * - Displays contextual information when hovering over or focusing on elements\n * - Supports multiple placement options (top, bottom, left, right)\n * - Automatic positioning with fallback placements\n * - Accessible with proper ARIA roles and keyboard navigation\n * - Supports controlled and uncontrolled open states\n * - Configurable delay and offset settings\n * - Uses modern Popover API with fallback to legacy implementation\n * - Automatic arrow positioning and rotation\n * - Real-time position updates during scroll and resize\n *\n * @example\n * <Tooltip placement=\"top\" delay={200}>\n * <Tooltip.Trigger>\n * <Button>Hover me</Button>\n * </Tooltip.Trigger>\n * <Tooltip.Content>This is helpful information</Tooltip.Content>\n * </Tooltip>\n */\nexport const Tooltip = Object.assign(TooltipElement, {\n /**\n * TooltipTrigger component that wraps the element that triggers the tooltip.\n *\n * Features:\n * - Wraps any React element to make it a tooltip trigger\n * - Handles mouse and keyboard interactions\n * - Provides proper ARIA attributes for accessibility\n * - Supports all standard HTML element props\n * - Automatically clones child elements with proper refs\n * - Handles both focusable and non-focusable children\n * - Manages mouse enter/leave events for hover behavior\n *\n * @example\n * <Tooltip.Trigger>\n * <Button>Click me</Button>\n * </Tooltip.Trigger>\n */\n Trigger: TooltipTrigger,\n /**\n * TooltipContent component that displays the tooltip content.\n *\n * Features:\n * - Displays the tooltip content with proper positioning\n * - Includes an arrow pointing to the trigger element\n * - Supports keyboard navigation and escape key to close\n * - Handles mouse interactions for hover behavior\n * - Accessible with proper ARIA roles\n * - Supports all standard div element props\n * - Automatic focus management for keyboard navigation\n * - Real-time position updates\n * - Handles both string and complex content\n *\n * @example\n * <Tooltip.Content>\n * This tooltip provides helpful context\n * </Tooltip.Content>\n */\n Content: TooltipContent,\n});\n"],"names":["TooltipLegacyContent","styles","TooltipContent","arrow","TooltipLegacyTrigger","TooltipTrigger","placement","x","y"],"mappings":"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"}
package/dist/Tooltip.js CHANGED
@@ -1,2 +1,2 @@
1
- export { T as Tooltip, a as TooltipContent, b as TooltipTrigger, T as default } from './Tooltip-BbfLb3pI.js';
1
+ export { T as Tooltip, a as TooltipContent, b as TooltipTrigger, T as default } from './Tooltip-CBy7srE2.js';
2
2
  //# sourceMappingURL=Tooltip.js.map
@@ -1,12 +1,14 @@
1
1
  import { PassThroughProps, Size } from '../../../../types';
2
- import { RefObject } from 'react';
2
+ import { ReactElement, RefObject } from 'react';
3
3
  /**
4
4
  * Props for the SelectFieldInput component
5
5
  * @property {string} [placeholder] - Placeholder text displayed when input is empty
6
6
  * @property {Extract<Size, "small" | "medium" | "large">} [size] - Size variant of the input
7
7
  * @property {boolean} [disableClearButton] - Hides the clear button when true
8
8
  * @property {boolean} [disableToggleButton] - Hides the toggle button when true
9
- * @property {boolean} [disabled] - Disables the input and toggle button when true
9
+ * @property {boolean} [disabled] - Disables the input entirely
10
+ * @property {boolean} [readOnly] - Cannot be modified but remains interactive
11
+ * @property {boolean} [error] - Shows error styling on the input when true
10
12
  * @property {() => void} [onClear] - Callback fired when the clear button is clicked
11
13
  * @property {string} [id] - HTML id attribute for the input element
12
14
  * @property {string} [popoverTarget] - Target identifier for popover association
@@ -14,6 +16,8 @@ import { RefObject } from 'react';
14
16
  * @property {PassThroughProps<"div">} [htmlInputWrapperProps] - Additional props passed to the wrapper div
15
17
  * @property {PassThroughProps<"input">} [inputProps] - Additional props passed to the input element
16
18
  * @property {PassThroughProps<"button">} [toggleButtonProps] - Additional props passed to the toggle button
19
+ * @property {string | ReactElement} [prefix] - Content to display before the input
20
+ * @property {string | ReactElement} [suffix] - Content to display after the input
17
21
  */
18
22
  export type SelectFieldInputProps = {
19
23
  placeholder?: string;
@@ -21,6 +25,8 @@ export type SelectFieldInputProps = {
21
25
  disableClearButton?: boolean;
22
26
  disableToggleButton?: boolean;
23
27
  disabled?: boolean;
28
+ readOnly?: boolean;
29
+ error?: boolean;
24
30
  onClear?: () => void;
25
31
  id?: string;
26
32
  popoverTarget?: string;
@@ -28,6 +34,8 @@ export type SelectFieldInputProps = {
28
34
  htmlInputWrapperProps?: PassThroughProps<"div">;
29
35
  inputProps?: PassThroughProps<"input">;
30
36
  toggleButtonProps?: PassThroughProps<"button">;
37
+ prefix?: string | ReactElement;
38
+ suffix?: string | ReactElement;
31
39
  };
32
40
  /**
33
41
  * Internal input component for the SelectField that provides the text input and action buttons.
@@ -39,15 +47,18 @@ export type SelectFieldInputProps = {
39
47
  * - Supports multiple size variants (small, medium, large)
40
48
  * - Fully accessible with proper ARIA labels on buttons
41
49
  * - Supports pass-through props for customization of internal elements
50
+ * - Optional prefix and suffix content
51
+ * - Error state styling
42
52
  *
43
53
  * @example
44
54
  * <SelectFieldInput
45
55
  * placeholder="Search..."
46
56
  * size="medium"
47
57
  * onClear={() => handleClear()}
58
+ * prefix="$"
48
59
  * />
49
60
  */
50
61
  export declare const SelectFieldInput: {
51
- ({ placeholder, size, disableClearButton, disableToggleButton, disabled, onClear, id, inputWrapperRef, htmlInputWrapperProps, inputProps, toggleButtonProps, }: SelectFieldInputProps): import("react/jsx-runtime").JSX.Element;
62
+ ({ placeholder, size, disableClearButton, disableToggleButton, disabled, readOnly, error, onClear, id, inputWrapperRef, htmlInputWrapperProps, inputProps, toggleButtonProps, prefix, suffix, }: SelectFieldInputProps): import("react/jsx-runtime").JSX.Element;
52
63
  displayName: string;
53
64
  };
@@ -1,3 +1,4 @@
1
+ import { ReactNode } from 'react';
1
2
  import { UseComboboxPropGetters } from 'downshift';
2
3
  import { SelectFieldDownshiftItem } from '../types';
3
4
  type GetLabelProps = UseComboboxPropGetters<SelectFieldDownshiftItem>["getLabelProps"];
@@ -5,10 +6,16 @@ type GetLabelProps = UseComboboxPropGetters<SelectFieldDownshiftItem>["getLabelP
5
6
  * Props for the SelectFieldLabel component
6
7
  * @property {string} label - The text content to display as the label
7
8
  * @property {GetLabelProps} getLabelProps - Downshift getter function that returns accessibility props for the label
9
+ * @property {boolean} [required] - Whether the field is required. Shows a red asterisk (*) when true.
10
+ * @property {ReactNode} [moreInfo] - Additional information to display in a tooltip
11
+ * @property {boolean} [openMoreInfo] - Controls the open state of the more info tooltip
8
12
  */
9
13
  export type SelectFieldLabelProps = {
10
14
  label: string;
11
15
  getLabelProps: GetLabelProps;
16
+ required?: boolean;
17
+ moreInfo?: ReactNode;
18
+ openMoreInfo?: boolean;
12
19
  };
13
20
  /**
14
21
  * Internal label component for the SelectField that renders an accessible label element.
@@ -17,12 +24,16 @@ export type SelectFieldLabelProps = {
17
24
  * - Renders a FieldLabel with proper accessibility attributes from Downshift
18
25
  * - Automatically associates the label with the combobox input
19
26
  * - Supports screen readers with proper labeling
27
+ * - Optional required field indicator with red asterisk
28
+ * - Help tooltip with info icon for additional context
20
29
  *
21
30
  * @example
22
31
  * <SelectFieldLabel
23
32
  * label="Select an option"
24
33
  * getLabelProps={getLabelProps}
34
+ * required
35
+ * moreInfo="Choose from available options"
25
36
  * />
26
37
  */
27
- export declare const SelectFieldLabel: ({ label, getLabelProps, }: SelectFieldLabelProps) => import("react/jsx-runtime").JSX.Element;
38
+ export declare const SelectFieldLabel: ({ label, getLabelProps, required, moreInfo, openMoreInfo, }: SelectFieldLabelProps) => import("react/jsx-runtime").JSX.Element;
28
39
  export {};
@@ -11,11 +11,12 @@ export type UseComboOptions = {
11
11
  onSelectedOptionChange: (option: SelectFieldOption | null) => void;
12
12
  displayAs: "popover" | "dialog";
13
13
  disableHighlightOnOpen?: boolean;
14
+ disabled: boolean;
14
15
  } & Pick<UseComboboxProps<SelectFieldDownshiftItem>, "onInputValueChange" | "onIsOpenChange">;
15
16
  /**
16
17
  * The purpose of useCombo is to provide an abstraction over the downshift combobox hook.
17
18
  */
18
- export declare const useCombo: ({ options, pinnedOptions, selectAll, selectedOption, onSelectedOptionChange, onInputValueChange, onIsOpenChange, displayAs, disableHighlightOnOpen, }: UseComboOptions) => {
19
+ export declare const useCombo: ({ options, pinnedOptions, selectAll, selectedOption, onSelectedOptionChange, onInputValueChange, onIsOpenChange, displayAs, disableHighlightOnOpen, disabled, }: UseComboOptions) => {
19
20
  inputValue: string;
20
21
  getToggleButtonProps: <Options>(options?: import('downshift').UseComboboxGetToggleButtonPropsOptions & Options) => import('downshift').Overwrite<import('downshift').UseComboboxGetToggleButtonPropsReturnValue, Options>;
21
22
  getLabelProps: <Options>(options?: import('downshift').UseComboboxGetLabelPropsOptions & Options) => import('downshift').Overwrite<import('downshift').UseComboboxGetLabelPropsReturnValue, Options>;
@@ -1,3 +1,4 @@
1
+ import { AriaAttributes, ReactElement } from 'react';
1
2
  import { LayoutUtilProps, Size } from '../../../types';
2
3
  /**
3
4
  * Configuration options for the SelectField cache.
@@ -21,6 +22,7 @@ export type SelectFieldOption = {
21
22
  label: string;
22
23
  searchText?: string;
23
24
  group?: SelectFieldGroupByValue;
25
+ disabled?: boolean;
24
26
  content?: {
25
27
  title?: string;
26
28
  description?: string;
@@ -148,6 +150,46 @@ type SelectFieldCommonSelectFieldProps = {
148
150
  * @description "dialog" will always display the menu as a dialog.
149
151
  */
150
152
  displayMenuAs?: "auto" | "popover" | "dialog";
153
+ /**
154
+ * Error state for the field. Can be a boolean, string message, or ReactElement.
155
+ * When truthy, displays error styling and message.
156
+ */
157
+ error?: ReactElement | string | boolean;
158
+ /**
159
+ * Hint text displayed below the input field.
160
+ */
161
+ hint?: ReactElement | string;
162
+ /**
163
+ * Description text displayed below the input field.
164
+ */
165
+ description?: ReactElement | string;
166
+ /**
167
+ * aria-live behavior for error messages.
168
+ * @default "assertive"
169
+ */
170
+ errorAriaLive?: AriaAttributes["aria-live"];
171
+ /**
172
+ * Whether the field is required. Shows a red asterisk (*) next to the label.
173
+ */
174
+ required?: boolean;
175
+ /**
176
+ * Whether the field is disabled.
177
+ * When disabled, the input is still focusable but menu items cannot be selected.
178
+ */
179
+ disabled?: boolean;
180
+ /**
181
+ * Whether the field is read-only.
182
+ * When read-only, the input is still focusable but menu items cannot be selected.
183
+ */
184
+ readOnly?: boolean;
185
+ /**
186
+ * Content to display before the input field.
187
+ */
188
+ prefix?: string | ReactElement;
189
+ /**
190
+ * Content to display after the input field.
191
+ */
192
+ suffix?: string | ReactElement;
151
193
  } & SelectFieldSearchProps & SelectFieldAddNewOptionProps & LayoutUtilProps;
152
194
  type SelectFieldGroupingProps = {
153
195
  /**
@@ -228,5 +270,6 @@ export type SelectFieldDownshiftItem = {
228
270
  id: string | number;
229
271
  type: "option" | "pinned-option" | "select-all";
230
272
  original: SelectFieldOption;
273
+ disabled?: boolean;
231
274
  };
232
275
  export {};
package/dist/beta.js CHANGED
@@ -1,6 +1,6 @@
1
- export { D as DataTable, a as chipsFormatter, c as createColumnHelper, b as currencyFormatter, p as percentFormatter } from './DataTable-BIhmpU0v.js';
2
- export { T as Toolbar, a as ToolbarButton, c as ToolbarButtonLink, b as ToolbarButtonToggle, e as ToolbarControlGroup, g as ToolbarElement, f as ToolbarSearchField, d as ToolbarSelect } from './Toolbar-CPldWSNJ.js';
3
- export { u as useCalendarBetaProps } from './Calendar-BP6r1sP9.js';
4
- export { C as Calendar } from './Calendar-CLSm88D2.js';
5
- export { S as SelectField, a as SelectFieldSync, u as useAdaptiveView } from './SelectFieldSync-DF05HvD4.js';
1
+ export { D as DataTable, a as chipsFormatter, c as createColumnHelper, b as currencyFormatter, p as percentFormatter } from './DataTable-D6MmOQF2.js';
2
+ export { T as Toolbar, a as ToolbarButton, c as ToolbarButtonLink, b as ToolbarButtonToggle, e as ToolbarControlGroup, g as ToolbarElement, f as ToolbarSearchField, d as ToolbarSelect } from './Toolbar-XJrmS4v4.js';
3
+ export { u as useCalendarBetaProps } from './Calendar-B5Ednjem.js';
4
+ export { C as Calendar } from './Calendar-Ce08LvdP.js';
5
+ export { S as SelectField, a as SelectFieldSync, u as useAdaptiveView } from './SelectFieldSync-DQm3_D0v.js';
6
6
  //# sourceMappingURL=beta.js.map
@@ -32,7 +32,8 @@ export type ChipProps = DistributiveOmit<CoreChipProps, "prefix" | "avatar"> & D
32
32
  * - Optional close button for removable chips
33
33
  * - Text wrapping support for long labels
34
34
  * - Full accessibility support with ARIA attributes
35
- * - Keyboard navigation (Enter to click, Delete/Backspace to close)
35
+ * - Keyboard navigation (Enter/Space to click, Delete/Backspace to close)
36
+ * - Screen reader instructions for removal actions
36
37
  * - Theme-aware color adaptation
37
38
  * - Layout utility props for positioning and spacing
38
39
  * - Automatic tracking ID generation for analytics
@@ -55,7 +55,8 @@ export type ChipProps = Omit<ComponentPropsWithoutRef<"span">, "prefix"> & Omit<
55
55
  * - Optional close button for removable chips
56
56
  * - Text wrapping support for long labels
57
57
  * - Full accessibility support with ARIA attributes
58
- * - Keyboard navigation (Enter to click, Delete/Backspace to close)
58
+ * - Keyboard navigation (Enter/Space to click, Delete/Backspace to close)
59
+ * - Screen reader instructions for removal actions
59
60
  * - Theme-aware color adaptation
60
61
  * - Layout utility props for positioning and spacing
61
62
  *
@@ -32,7 +32,7 @@ export type MaskedDateRangeInputRef = HTMLInputElement & {
32
32
  * @param props.endDate - The end date.
33
33
  * @param props.disableHint - Whether to disable the hint.
34
34
  */
35
- export declare const MaskedDateRangeInput: import('react').ForwardRefExoticComponent<Omit<TextFieldProps, "ref" | "value" | "onChange" | "prefix" | "hint" | "showCounter"> & {
35
+ export declare const MaskedDateRangeInput: import('react').ForwardRefExoticComponent<Omit<TextFieldProps, "ref" | "value" | "onChange" | "hint" | "prefix" | "showCounter"> & {
36
36
  onChange: MaskedDateRangeInputChangeHandler;
37
37
  mode?: DateMode;
38
38
  startDate: DateTime | null;
@@ -27,7 +27,7 @@ export type MaskedDateInputRef = HTMLInputElement & {
27
27
  * @param props.onChange - The function to call when the date changes.
28
28
  * @param props.mode - The mode of the date input.
29
29
  */
30
- export declare const MaskedDateInput: import('react').ForwardRefExoticComponent<Omit<TextFieldProps, "ref" | "value" | "onChange" | "prefix" | "hint" | "showCounter"> & {
30
+ export declare const MaskedDateInput: import('react').ForwardRefExoticComponent<Omit<TextFieldProps, "ref" | "value" | "onChange" | "hint" | "prefix" | "showCounter"> & {
31
31
  onChange: MaskedDateInputChangeHandler;
32
32
  mode?: DateMode;
33
33
  lastValidDate: DateTime | null;
@@ -11,12 +11,31 @@ export type LinkProps = ComponentPropsWithoutRef<"a"> & LayoutUtilProps & ({
11
11
  * @default "primary"
12
12
  */
13
13
  appearance?: "primary";
14
- /** Whether the link should have a quieter, less prominent appearance */
14
+ /**
15
+ * Whether the link should have a quieter, less prominent appearance
16
+ * @deprecated to be removed on next major - use ghost instead
17
+ */
15
18
  quiet?: boolean;
19
+ /**
20
+ * Whether the link should have a quieter, less prominent appearance
21
+ * @remarks Only available when appearance is "primary".
22
+ */
23
+ ghost?: boolean;
16
24
  } | {
17
- /** The visual appearance of the link. Secondary appearance cannot be quiet. */
25
+ /**
26
+ * The visual appearance of the LinkButton. Secondary appearance cannot be quiet.
27
+ */
18
28
  appearance: "secondary";
29
+ /**
30
+ * Whether the link should have a quieter, less prominent appearance
31
+ * @deprecated to be removed on next major - use ghost instead
32
+ */
19
33
  quiet?: false;
34
+ /**
35
+ * Whether the LinkButton should have a quieter, less prominent appearance.
36
+ * @remarks Must be false when appearance is "secondary".
37
+ */
38
+ ghost?: false;
20
39
  });
21
40
  /**
22
41
  * Link component for creating accessible, styled hyperlinks.
@@ -4,7 +4,7 @@ import { LinkProps } from './Link';
4
4
  * Props for the useLinkStyles hook.
5
5
  * @extends LayoutUtilProps
6
6
  */
7
- export type UseLinkStylesProps = LayoutUtilProps & Pick<LinkProps, "className" | "appearance" | "quiet" | "style">;
7
+ export type UseLinkStylesProps = LayoutUtilProps & Pick<LinkProps, "className" | "appearance" | "quiet" | "ghost" | "style">;
8
8
  /**
9
9
  * Hook for generating link styles and class names.
10
10
  *
@@ -14,18 +14,30 @@ export type LinkButtonProps = Omit<ComponentPropsWithoutRef<"button">, "type" |
14
14
  appearance?: "primary";
15
15
  /**
16
16
  * Whether the LinkButton should have a quieter, less prominent appearance.
17
+ * @deprecated to be removed on next major - use ghost instead
17
18
  * @remarks Only available when appearance is "primary".
18
19
  */
19
20
  quiet?: boolean;
21
+ /**
22
+ * Whether the LinkButton should have a quieter, less prominent appearance.
23
+ * @remarks Only available when appearance is "primary".
24
+ */
25
+ ghost?: boolean;
20
26
  } | {
21
27
  /**
22
- * The visual appearance of the LinkButton. Secondary appearance cannot be quiet.
28
+ * The visual appearance of the LinkButton. Secondary appearance cannot be ghost.
23
29
  */
24
30
  appearance: "secondary";
25
31
  /**
26
32
  * Whether the LinkButton should have a quieter, less prominent appearance.
33
+ * @deprecated to be removed on next major - use ghost instead
27
34
  * @remarks Must be false when appearance is "secondary".
28
35
  */
29
36
  quiet?: false;
37
+ /**
38
+ * Whether the LinkButton should have a quieter, less prominent appearance.
39
+ * @remarks Must be false when appearance is "secondary".
40
+ */
41
+ ghost?: false;
30
42
  }) & DataTrackingId;
31
43
  export declare const LinkButton: import('react').ForwardRefExoticComponent<LinkButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
@@ -17,7 +17,7 @@ export type SearchFieldProps = Omit<ComponentPropsWithoutRef<"input">, "size" |
17
17
  */
18
18
  disabled?: boolean;
19
19
  /**
20
- * Callback when the clear button is clicked
20
+ * Callback when the clear button is clicked or activated via keyboard (Enter/Space)
21
21
  */
22
22
  onClear?: () => void;
23
23
  } & DataTrackingId;
@@ -27,6 +27,9 @@ export type SearchFieldProps = Omit<ComponentPropsWithoutRef<"input">, "size" |
27
27
  * Features:
28
28
  * - Search icon prefix for visual clarity
29
29
  * - Clear button that appears when input has value
30
+ * - Arrow key navigation between input and clear button (Right arrow to clear button, Left arrow back to input)
31
+ * - Clear button activated with Enter/Space keys
32
+ * - Focus returns to input after clearing
30
33
  * - Multiple size variants (small, medium, large)
31
34
  * - Controlled and uncontrolled modes
32
35
  * - Disabled and read-only states
@@ -52,7 +55,7 @@ export type SearchFieldProps = Omit<ComponentPropsWithoutRef<"input">, "size" |
52
55
  * disabled={isLoading}
53
56
  * />
54
57
  */
55
- export declare const SearchField: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "size" | "children" | "prefix" | "required"> & LayoutUtilProps & {
58
+ export declare const SearchField: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "size" | "children" | "required" | "prefix"> & LayoutUtilProps & {
56
59
  /**
57
60
  * Size of the search field
58
61
  * @default "medium"
@@ -64,7 +67,7 @@ export declare const SearchField: import('react').ForwardRefExoticComponent<Omit
64
67
  */
65
68
  disabled?: boolean;
66
69
  /**
67
- * Callback when the clear button is clicked
70
+ * Callback when the clear button is clicked or activated via keyboard (Enter/Space)
68
71
  */
69
72
  onClear?: () => void;
70
73
  } & DataTrackingId & import('react').RefAttributes<HTMLInputElement>>;
@@ -131,7 +131,7 @@ export declare const Stepper: import('react').ForwardRefExoticComponent<Omit<Omi
131
131
  * Contact Details
132
132
  * </Stepper.Step>
133
133
  */
134
- Step: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "onClick" | "disabled"> & {
134
+ Step: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "disabled" | "onClick"> & {
135
135
  controls: string;
136
136
  onClick?: (e: import('react').MouseEvent<HTMLButtonElement>, index?: number) => void;
137
137
  } & import('react').RefAttributes<HTMLButtonElement>>;
@@ -43,7 +43,7 @@ export type StepperStepProps = Omit<ComponentPropsWithoutRef<"button">, "onClick
43
43
  * Contact Details
44
44
  * </Stepper.Step>
45
45
  */
46
- export declare const StepperStep: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "onClick" | "disabled"> & {
46
+ export declare const StepperStep: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "disabled" | "onClick"> & {
47
47
  /**
48
48
  * ID of the panel that this step is controlling.
49
49
  * Must match the id prop of the corresponding Stepper.Panel.
@@ -67,7 +67,7 @@ export declare const Tab: import('react').ForwardRefExoticComponent<Omit<Omit<im
67
67
  * First Tab
68
68
  * </Tab.Button>
69
69
  */
70
- Button: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "onClick" | "disabled"> & {
70
+ Button: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "disabled" | "onClick"> & {
71
71
  id: string;
72
72
  controls: string;
73
73
  onClick?: (e: import('react').MouseEvent<HTMLButtonElement>, index?: number) => void;
@@ -36,7 +36,7 @@ export type TabButtonProps = Omit<ComponentPropsWithoutRef<"button">, "onClick"
36
36
  * First Tab
37
37
  * </Tab.Button>
38
38
  */
39
- export declare const TabButton: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "onClick" | "disabled"> & {
39
+ export declare const TabButton: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "disabled" | "onClick"> & {
40
40
  /**
41
41
  * Unique identifier for the tab button.
42
42
  */