@neo4j-ndl/react 4.9.13 → 4.9.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../../src/popover/Popover.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {\n FloatingFocusManager,\n FloatingPortal,\n type OffsetOptions,\n type Placement,\n useMergeRefs,\n} from '@floating-ui/react';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport {\n type CommonProps,\n type PolymorphicCommonProps,\n} from '../_common/types';\nimport { ConditionalWrap } from '../conditional-wrap';\nimport { useIsInsideDialog } from '../dialog/dialog-context';\nimport { useNeedleTheme } from '../theme/ThemeProvider';\nimport { usePopover } from './use-popover';\nimport { usePatchFloatingFocusGuards } from './usePatchFloatingFocusGuards';\n\ntype PlacementOptions =\n | 'bottom-end-top-end'\n | 'bottom-start-top-start'\n | 'bottom-middle-top-middle'\n | 'top-end-bottom-end'\n | 'top-start-bottom-start'\n | 'top-middle-bottom-middle'\n | 'bottom-start-bottom-end'\n | 'top-start-top-end'\n | 'middle-start-middle-end'\n | 'bottom-end-bottom-start'\n | 'top-end-top-start'\n | 'middle-end-middle-start';\n\nexport const placementTranslation: Record<PlacementOptions, Placement> = {\n 'bottom-end-bottom-start': 'right-end',\n 'bottom-end-top-end': 'bottom-end',\n 'bottom-middle-top-middle': 'bottom',\n 'bottom-start-bottom-end': 'left-end',\n 'bottom-start-top-start': 'bottom-start',\n 'middle-end-middle-start': 'right',\n 'middle-start-middle-end': 'left',\n 'top-end-bottom-end': 'top-end',\n 'top-end-top-start': 'right-start',\n 'top-middle-bottom-middle': 'top',\n 'top-start-bottom-start': 'top-start',\n 'top-start-top-end': 'left-start',\n};\ntype PopoverProps = {\n /** if the popover is open */\n isOpen?: boolean;\n /** The content of the popover */\n children?: React.ReactNode;\n /** Can be used if the anchor should be separated from the trigger */\n anchorElement?: Element | null;\n /** If the anchorPosition is provided the anchorElement will be ignored */\n anchorPosition?: {\n x: number;\n y: number;\n };\n /** The placement of the floating element is determined by two sets of words. The first set of words specifies the point on the anchor element where the floating element will be attached. The second set of coordinates specifies the point on the floating element that will attach to the anchor element.*/\n placement?: PlacementOptions;\n /** can take either a number, an object or a function. Full documentation here: https://floating-ui.com/docs/offset */\n offset?: OffsetOptions;\n /** Called when the floating element is opened or closed */\n onOpenChange?: (isOpen: boolean, event?: Event) => void;\n /** Use anchorEl for portal's container. Should be used if the popover is portaled and is inside a Dialog for example. */\n hasAnchorPortal?: boolean;\n /** If the popover should constrain the focus inside the popover while open */\n shouldCaptureFocus?: boolean;\n /** Which element to initially focus. **/\n initialFocus?: number | React.RefObject<HTMLElement | null>;\n /** The role of the popover */\n role?:\n | 'tooltip'\n | 'dialog'\n | 'alertdialog'\n | 'menu'\n | 'listbox'\n | 'grid'\n | 'tree';\n /** If the popover should close when the user clicks outside of it */\n closeOnClickOutside?: boolean;\n /** The strategy of the popover. Fixed should be used when the popover is inside a Dialog. */\n strategy?: 'fixed' | 'absolute';\n /** Whether the content is rendered in a portal */\n isPortaled?: boolean;\n};\n\ntype ContextType = ReturnType<typeof usePopover> | null;\n\nconst PopoverContext = React.createContext<ContextType>(null);\n\nexport const usePopoverContext = () => {\n const context = React.useContext(PopoverContext);\n\n if (context === null) {\n throw new Error('Popover components must be wrapped in <Popover />');\n }\n\n return context;\n};\n\nconst PopoverComponent = ({\n children,\n anchorElement,\n placement,\n isOpen,\n offset,\n anchorPosition,\n hasAnchorPortal: hasAnchorPortalProp,\n shouldCaptureFocus = false,\n initialFocus,\n onOpenChange,\n role,\n closeOnClickOutside = true,\n isPortaled: isPortaledProp,\n strategy: strategyProp,\n}: PopoverProps) => {\n const isInsideDialog = useIsInsideDialog();\n\n const strategy = isInsideDialog ? 'fixed' : 'absolute';\n const hasAnchorPortal = isInsideDialog;\n const isPortaled = !isInsideDialog;\n\n const popover = usePopover({\n anchorElement: anchorElement,\n anchorElementAsPortalAnchor: hasAnchorPortalProp ?? hasAnchorPortal,\n anchorPosition,\n closeOnClickOutside,\n initialFocus,\n isOpen: isOpen,\n isPortaled: isPortaledProp ?? isPortaled,\n offsetOption: offset,\n onOpenChange: onOpenChange,\n placement: placement ? placementTranslation[placement] : undefined,\n role,\n shouldCaptureFocus: shouldCaptureFocus,\n strategy: strategyProp ?? strategy,\n });\n\n return (\n <PopoverContext.Provider value={popover}>\n {children}\n </PopoverContext.Provider>\n );\n};\n\ntype PopoverTriggerProps = {\n /** The content of the trigger */\n children: React.ReactNode;\n /** Whether the trigger should render a button element, or pass its props to the child element */\n hasButtonWrapper?: boolean;\n};\n\nconst PopoverTrigger = ({\n children,\n hasButtonWrapper = false,\n ref,\n ...props\n}: CommonProps<'button', PopoverTriggerProps>) => {\n const context = usePopoverContext();\n // Example from floating UI\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n const childrenProps = (children as any).props;\n const mergedRefs = useMergeRefs([\n context.refs.setReference,\n ref,\n childrenProps?.ref,\n ]);\n\n // `hasButtonWrapper` allows the user to pass any element as the anchor\n if (hasButtonWrapper && React.isValidElement(children)) {\n return React.cloneElement(\n children,\n context.getReferenceProps({\n ...props,\n ...childrenProps,\n 'data-state': context.isOpen ? 'open' : 'closed',\n ref: mergedRefs,\n }),\n );\n }\n return (\n <button\n ref={context.refs.setReference}\n type=\"button\"\n data-state={context.isOpen ? 'open' : 'closed'}\n {...context.getReferenceProps(props)}\n >\n {children}\n </button>\n );\n};\n\ntype PopoverContentProps = {\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n};\n\nconst PopoverContent = <T extends React.ElementType = 'div'>({\n as,\n className,\n style,\n children,\n htmlAttributes,\n ref,\n ...restProps\n}: PolymorphicCommonProps<T, PopoverContentProps>) => {\n const { context: floatingContext, ...context } = usePopoverContext();\n\n const refs = useMergeRefs([context.refs.setFloating, ref]);\n\n const { themeClassName } = useNeedleTheme();\n\n const classes = classNames('ndl-popover', themeClassName, className);\n const Component: React.ElementType = as ?? 'div';\n\n // Patch to not get axe errors for the focus guards\n // To be noted is that axe gives us a false positive error here since the focus guards directly pass focus to other elements\n // https://github.com/floating-ui/floating-ui/issues/2462\n usePatchFloatingFocusGuards();\n\n if (!floatingContext.open) {\n return null;\n }\n\n return (\n <ConditionalWrap\n shouldWrap={context.isPortaled}\n wrap={(wrapChildren) => (\n <FloatingPortal\n root={\n (context.anchorElementAsPortalAnchor ?? false)\n ? (context.refs.reference.current as HTMLElement | null)\n : undefined\n }\n >\n {wrapChildren}\n </FloatingPortal>\n )}\n >\n <FloatingFocusManager\n context={floatingContext}\n modal={context.shouldCaptureFocus}\n initialFocus={context.initialFocus}\n >\n <Component\n className={classes}\n aria-labelledby={context.labelId}\n aria-describedby={context.descriptionId}\n style={{\n ...context.floatingStyles,\n ...context.transitionStyles,\n ...style,\n }}\n ref={refs}\n {...context.getFloatingProps({ ...htmlAttributes })}\n {...restProps}\n >\n {children}\n </Component>\n </FloatingFocusManager>\n </ConditionalWrap>\n );\n};\n\nconst Popover = Object.assign(PopoverComponent, {\n Content: PopoverContent,\n Trigger: PopoverTrigger,\n});\n\nexport { Popover };\n"]}
1
+ {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../../src/popover/Popover.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {\n FloatingFocusManager,\n FloatingPortal,\n type OffsetOptions,\n type Placement,\n useMergeRefs,\n} from '@floating-ui/react';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport {\n type CommonProps,\n type PolymorphicCommonProps,\n} from '../_common/types';\nimport { ConditionalWrap } from '../conditional-wrap';\nimport { useIsInsideDialog } from '../dialog/dialog-context';\nimport { useNeedleTheme } from '../theme/ThemeProvider';\nimport { usePopover } from './use-popover';\nimport { usePatchFloatingFocusGuards } from './usePatchFloatingFocusGuards';\n\ntype PlacementOptions =\n | 'bottom-end-top-end'\n | 'bottom-start-top-start'\n | 'bottom-middle-top-middle'\n | 'top-end-bottom-end'\n | 'top-start-bottom-start'\n | 'top-middle-bottom-middle'\n | 'bottom-start-bottom-end'\n | 'top-start-top-end'\n | 'middle-start-middle-end'\n | 'bottom-end-bottom-start'\n | 'top-end-top-start'\n | 'middle-end-middle-start';\n\nexport const placementTranslation: Record<PlacementOptions, Placement> = {\n 'bottom-end-bottom-start': 'right-end',\n 'bottom-end-top-end': 'bottom-end',\n 'bottom-middle-top-middle': 'bottom',\n 'bottom-start-bottom-end': 'left-end',\n 'bottom-start-top-start': 'bottom-start',\n 'middle-end-middle-start': 'right',\n 'middle-start-middle-end': 'left',\n 'top-end-bottom-end': 'top-end',\n 'top-end-top-start': 'right-start',\n 'top-middle-bottom-middle': 'top',\n 'top-start-bottom-start': 'top-start',\n 'top-start-top-end': 'left-start',\n};\ntype PopoverProps = {\n /** if the popover is open */\n isOpen?: boolean;\n /** The content of the popover */\n children?: React.ReactNode;\n /** Can be used if the anchor should be separated from the trigger */\n anchorElement?: Element | null;\n /** If the anchorPosition is provided the anchorElement will be ignored */\n anchorPosition?: {\n x: number;\n y: number;\n };\n /** The placement of the floating element is determined by two sets of words. The first set of words specifies the point on the anchor element where the floating element will be attached. The second set of coordinates specifies the point on the floating element that will attach to the anchor element.*/\n placement?: PlacementOptions;\n /** can take either a number, an object or a function. Full documentation here: https://floating-ui.com/docs/offset */\n offset?: OffsetOptions;\n /** Called when an internal state change is triggered, when the floating element either opens or closes. It is not called when `isOpen` is updated by the consumer. */\n onOpenChange?: (isOpen: boolean, event?: Event) => void;\n /** Use anchorEl for portal's container. Should be used if the popover is portaled and is inside a Dialog for example. */\n hasAnchorPortal?: boolean;\n /** If the popover should constrain the focus inside the popover while open */\n shouldCaptureFocus?: boolean;\n /** Which element to initially focus. **/\n initialFocus?: number | React.RefObject<HTMLElement | null>;\n /** The role of the popover */\n role?:\n | 'tooltip'\n | 'dialog'\n | 'alertdialog'\n | 'menu'\n | 'listbox'\n | 'grid'\n | 'tree';\n /** If the popover should close when the user clicks outside of it */\n closeOnClickOutside?: boolean;\n /** The strategy of the popover. Fixed should be used when the popover is inside a Dialog. */\n strategy?: 'fixed' | 'absolute';\n /** Whether the content is rendered in a portal */\n isPortaled?: boolean;\n};\n\ntype ContextType = ReturnType<typeof usePopover> | null;\n\nconst PopoverContext = React.createContext<ContextType>(null);\n\nexport const usePopoverContext = () => {\n const context = React.useContext(PopoverContext);\n\n if (context === null) {\n throw new Error('Popover components must be wrapped in <Popover />');\n }\n\n return context;\n};\n\nconst PopoverComponent = ({\n children,\n anchorElement,\n placement,\n isOpen,\n offset,\n anchorPosition,\n hasAnchorPortal: hasAnchorPortalProp,\n shouldCaptureFocus = false,\n initialFocus,\n onOpenChange,\n role,\n closeOnClickOutside = true,\n isPortaled: isPortaledProp,\n strategy: strategyProp,\n}: PopoverProps) => {\n const isInsideDialog = useIsInsideDialog();\n\n const strategy = isInsideDialog ? 'fixed' : 'absolute';\n const hasAnchorPortal = isInsideDialog;\n const isPortaled = !isInsideDialog;\n\n const popover = usePopover({\n anchorElement: anchorElement,\n anchorElementAsPortalAnchor: hasAnchorPortalProp ?? hasAnchorPortal,\n anchorPosition,\n closeOnClickOutside,\n initialFocus,\n isOpen: isOpen,\n isPortaled: isPortaledProp ?? isPortaled,\n offsetOption: offset,\n onOpenChange: onOpenChange,\n placement: placement ? placementTranslation[placement] : undefined,\n role,\n shouldCaptureFocus: shouldCaptureFocus,\n strategy: strategyProp ?? strategy,\n });\n\n return (\n <PopoverContext.Provider value={popover}>\n {children}\n </PopoverContext.Provider>\n );\n};\n\ntype PopoverTriggerProps = {\n /** The content of the trigger */\n children: React.ReactNode;\n /** Whether the trigger should render a button element, or pass its props to the child element */\n hasButtonWrapper?: boolean;\n};\n\nconst PopoverTrigger = ({\n children,\n hasButtonWrapper = false,\n ref,\n ...props\n}: CommonProps<'button', PopoverTriggerProps>) => {\n const context = usePopoverContext();\n // Example from floating UI\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n const childrenProps = (children as any).props;\n const mergedRefs = useMergeRefs([\n context.refs.setReference,\n ref,\n childrenProps?.ref,\n ]);\n\n // `hasButtonWrapper` allows the user to pass any element as the anchor\n if (hasButtonWrapper && React.isValidElement(children)) {\n return React.cloneElement(\n children,\n context.getReferenceProps({\n ...props,\n ...childrenProps,\n 'data-state': context.isOpen ? 'open' : 'closed',\n ref: mergedRefs,\n }),\n );\n }\n return (\n <button\n ref={context.refs.setReference}\n type=\"button\"\n data-state={context.isOpen ? 'open' : 'closed'}\n {...context.getReferenceProps(props)}\n >\n {children}\n </button>\n );\n};\n\ntype PopoverContentProps = {\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n};\n\nconst PopoverContent = <T extends React.ElementType = 'div'>({\n as,\n className,\n style,\n children,\n htmlAttributes,\n ref,\n ...restProps\n}: PolymorphicCommonProps<T, PopoverContentProps>) => {\n const { context: floatingContext, ...context } = usePopoverContext();\n\n const refs = useMergeRefs([context.refs.setFloating, ref]);\n\n const { themeClassName } = useNeedleTheme();\n\n const classes = classNames('ndl-popover', themeClassName, className);\n const Component: React.ElementType = as ?? 'div';\n\n // Patch to not get axe errors for the focus guards\n // To be noted is that axe gives us a false positive error here since the focus guards directly pass focus to other elements\n // https://github.com/floating-ui/floating-ui/issues/2462\n usePatchFloatingFocusGuards();\n\n if (!floatingContext.open) {\n return null;\n }\n\n return (\n <ConditionalWrap\n shouldWrap={context.isPortaled}\n wrap={(wrapChildren) => (\n <FloatingPortal\n root={\n (context.anchorElementAsPortalAnchor ?? false)\n ? (context.refs.reference.current as HTMLElement | null)\n : undefined\n }\n >\n {wrapChildren}\n </FloatingPortal>\n )}\n >\n <FloatingFocusManager\n context={floatingContext}\n modal={context.shouldCaptureFocus}\n initialFocus={context.initialFocus}\n >\n <Component\n className={classes}\n aria-labelledby={context.labelId}\n aria-describedby={context.descriptionId}\n style={{\n ...context.floatingStyles,\n ...context.transitionStyles,\n ...style,\n }}\n ref={refs}\n {...context.getFloatingProps({ ...htmlAttributes })}\n {...restProps}\n >\n {children}\n </Component>\n </FloatingFocusManager>\n </ConditionalWrap>\n );\n};\n\nconst Popover = Object.assign(PopoverComponent, {\n Content: PopoverContent,\n Trigger: PopoverTrigger,\n});\n\nexport { Popover };\n"]}
@@ -23,7 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.PopoverCustomOffsetSrc = exports.PopoverInDialogSrc = exports.PopoverSeparateAnchorSrc = exports.PopoverNoButtonWrapperSrc = exports.PopoverDefaultSrc = exports.PopoverCustomOffset = exports.PopoverInDialog = exports.PopoverSeparateAnchor = exports.PopoverNoButtonWrapper = exports.PopoverDefault = void 0;
26
+ exports.PopoverControlledSrc = exports.PopoverCustomOffsetSrc = exports.PopoverInDialogSrc = exports.PopoverSeparateAnchorSrc = exports.PopoverNoButtonWrapperSrc = exports.PopoverDefaultSrc = exports.PopoverControlled = exports.PopoverCustomOffset = exports.PopoverInDialog = exports.PopoverSeparateAnchor = exports.PopoverNoButtonWrapper = exports.PopoverDefault = void 0;
27
27
  var popover_default_story_1 = require("./popover-default.story");
28
28
  Object.defineProperty(exports, "PopoverDefault", { enumerable: true, get: function () { return __importDefault(popover_default_story_1).default; } });
29
29
  var popover_no_button_wrapper_story_1 = require("./popover-no-button-wrapper.story");
@@ -34,7 +34,10 @@ var popover_in_dialog_story_1 = require("./popover-in-dialog.story");
34
34
  Object.defineProperty(exports, "PopoverInDialog", { enumerable: true, get: function () { return __importDefault(popover_in_dialog_story_1).default; } });
35
35
  var popover_custom_offset_story_1 = require("./popover-custom-offset.story");
36
36
  Object.defineProperty(exports, "PopoverCustomOffset", { enumerable: true, get: function () { return __importDefault(popover_custom_offset_story_1).default; } });
37
+ var popover_controlled_story_1 = require("./popover-controlled.story");
38
+ Object.defineProperty(exports, "PopoverControlled", { enumerable: true, get: function () { return __importDefault(popover_controlled_story_1).default; } });
37
39
  const export_stories_utils_1 = require("../../_common/export-stories-utils");
40
+ const popover_controlled_story_raw_1 = __importDefault(require("./popover-controlled.story?raw"));
38
41
  const popover_custom_offset_story_raw_1 = __importDefault(require("./popover-custom-offset.story?raw"));
39
42
  const popover_default_story_raw_1 = __importDefault(require("./popover-default.story?raw"));
40
43
  const popover_in_dialog_story_raw_1 = __importDefault(require("./popover-in-dialog.story?raw"));
@@ -45,4 +48,5 @@ exports.PopoverNoButtonWrapperSrc = (0, export_stories_utils_1.removeLicenseHead
45
48
  exports.PopoverSeparateAnchorSrc = (0, export_stories_utils_1.removeLicenseHeader)(popover_separate_anchor_story_raw_1.default);
46
49
  exports.PopoverInDialogSrc = (0, export_stories_utils_1.removeLicenseHeader)(popover_in_dialog_story_raw_1.default);
47
50
  exports.PopoverCustomOffsetSrc = (0, export_stories_utils_1.removeLicenseHeader)(popover_custom_offset_story_raw_1.default);
51
+ exports.PopoverControlledSrc = (0, export_stories_utils_1.removeLicenseHeader)(popover_controlled_story_raw_1.default);
48
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/popover/stories/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;AAEH,iEAAoE;AAA3D,wIAAA,OAAO,OAAkB;AAClC,qFAAsF;AAA7E,0JAAA,OAAO,OAA0B;AAC1C,iFAAmF;AAA1E,uJAAA,OAAO,OAAyB;AACzC,qEAAuE;AAA9D,2IAAA,OAAO,OAAmB;AACnC,6EAA+E;AAAtE,mJAAA,OAAO,OAAuB;AAEvC,6EAAyE;AACzE,wGAA0E;AAC1E,4FAA+D;AAC/D,gGAAkE;AAClE,gHAAiF;AACjF,4GAA8E;AAEjE,QAAA,iBAAiB,GAAG,IAAA,0CAAmB,EAAC,mCAAoB,CAAC,CAAC;AAC9D,QAAA,yBAAyB,GAAG,IAAA,0CAAmB,EAC1D,6CAA4B,CAC7B,CAAC;AACW,QAAA,wBAAwB,GAAG,IAAA,0CAAmB,EACzD,2CAA2B,CAC5B,CAAC;AACW,QAAA,kBAAkB,GAAG,IAAA,0CAAmB,EAAC,qCAAqB,CAAC,CAAC;AAChE,QAAA,sBAAsB,GAAG,IAAA,0CAAmB,EACvD,yCAAyB,CAC1B,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nexport { default as PopoverDefault } from './popover-default.story';\nexport { default as PopoverNoButtonWrapper } from './popover-no-button-wrapper.story';\nexport { default as PopoverSeparateAnchor } from './popover-separate-anchor.story';\nexport { default as PopoverInDialog } from './popover-in-dialog.story';\nexport { default as PopoverCustomOffset } from './popover-custom-offset.story';\n\nimport { removeLicenseHeader } from '../../_common/export-stories-utils';\nimport PopoverCustomOffsetSrcRaw from './popover-custom-offset.story?raw';\nimport PopoverDefaultSrcRaw from './popover-default.story?raw';\nimport PopoverInDialogSrcRaw from './popover-in-dialog.story?raw';\nimport PopoverNoButtonWrapperSrcRaw from './popover-no-button-wrapper.story?raw';\nimport PopoverSeparateAnchorSrcRaw from './popover-separate-anchor.story?raw';\n\nexport const PopoverDefaultSrc = removeLicenseHeader(PopoverDefaultSrcRaw);\nexport const PopoverNoButtonWrapperSrc = removeLicenseHeader(\n PopoverNoButtonWrapperSrcRaw,\n);\nexport const PopoverSeparateAnchorSrc = removeLicenseHeader(\n PopoverSeparateAnchorSrcRaw,\n);\nexport const PopoverInDialogSrc = removeLicenseHeader(PopoverInDialogSrcRaw);\nexport const PopoverCustomOffsetSrc = removeLicenseHeader(\n PopoverCustomOffsetSrcRaw,\n);\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/popover/stories/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;AAEH,iEAAoE;AAA3D,wIAAA,OAAO,OAAkB;AAClC,qFAAsF;AAA7E,0JAAA,OAAO,OAA0B;AAC1C,iFAAmF;AAA1E,uJAAA,OAAO,OAAyB;AACzC,qEAAuE;AAA9D,2IAAA,OAAO,OAAmB;AACnC,6EAA+E;AAAtE,mJAAA,OAAO,OAAuB;AACvC,uEAA0E;AAAjE,8IAAA,OAAO,OAAqB;AAErC,6EAAyE;AACzE,kGAAqE;AACrE,wGAA0E;AAC1E,4FAA+D;AAC/D,gGAAkE;AAClE,gHAAiF;AACjF,4GAA8E;AAEjE,QAAA,iBAAiB,GAAG,IAAA,0CAAmB,EAAC,mCAAoB,CAAC,CAAC;AAC9D,QAAA,yBAAyB,GAAG,IAAA,0CAAmB,EAC1D,6CAA4B,CAC7B,CAAC;AACW,QAAA,wBAAwB,GAAG,IAAA,0CAAmB,EACzD,2CAA2B,CAC5B,CAAC;AACW,QAAA,kBAAkB,GAAG,IAAA,0CAAmB,EAAC,qCAAqB,CAAC,CAAC;AAChE,QAAA,sBAAsB,GAAG,IAAA,0CAAmB,EACvD,yCAAyB,CAC1B,CAAC;AACW,QAAA,oBAAoB,GAAG,IAAA,0CAAmB,EACrD,sCAAuB,CACxB,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nexport { default as PopoverDefault } from './popover-default.story';\nexport { default as PopoverNoButtonWrapper } from './popover-no-button-wrapper.story';\nexport { default as PopoverSeparateAnchor } from './popover-separate-anchor.story';\nexport { default as PopoverInDialog } from './popover-in-dialog.story';\nexport { default as PopoverCustomOffset } from './popover-custom-offset.story';\nexport { default as PopoverControlled } from './popover-controlled.story';\n\nimport { removeLicenseHeader } from '../../_common/export-stories-utils';\nimport PopoverControlledSrcRaw from './popover-controlled.story?raw';\nimport PopoverCustomOffsetSrcRaw from './popover-custom-offset.story?raw';\nimport PopoverDefaultSrcRaw from './popover-default.story?raw';\nimport PopoverInDialogSrcRaw from './popover-in-dialog.story?raw';\nimport PopoverNoButtonWrapperSrcRaw from './popover-no-button-wrapper.story?raw';\nimport PopoverSeparateAnchorSrcRaw from './popover-separate-anchor.story?raw';\n\nexport const PopoverDefaultSrc = removeLicenseHeader(PopoverDefaultSrcRaw);\nexport const PopoverNoButtonWrapperSrc = removeLicenseHeader(\n PopoverNoButtonWrapperSrcRaw,\n);\nexport const PopoverSeparateAnchorSrc = removeLicenseHeader(\n PopoverSeparateAnchorSrcRaw,\n);\nexport const PopoverInDialogSrc = removeLicenseHeader(PopoverInDialogSrcRaw);\nexport const PopoverCustomOffsetSrc = removeLicenseHeader(\n PopoverCustomOffsetSrcRaw,\n);\nexport const PopoverControlledSrc = removeLicenseHeader(\n PopoverControlledSrcRaw,\n);\n"]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ /**
5
+ *
6
+ * Copyright (c) "Neo4j"
7
+ * Neo4j Sweden AB [http://neo4j.com]
8
+ *
9
+ * This file is part of Neo4j.
10
+ *
11
+ * Neo4j is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * This program is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU General Public License
22
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ require("@neo4j-ndl/base/lib/neo4j-ds-styles.css");
25
+ const react_1 = require("@neo4j-ndl/react");
26
+ const react_2 = require("react");
27
+ const Component = () => {
28
+ const [isOpen, setIsOpen] = (0, react_2.useState)(false);
29
+ return ((0, jsx_runtime_1.jsxs)(react_1.Popover, { isOpen: isOpen, onOpenChange: (open) => {
30
+ setIsOpen(open);
31
+ }, children: [(0, jsx_runtime_1.jsx)(react_1.Popover.Trigger, { hasButtonWrapper: true, children: (0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => setIsOpen((prev) => !prev), children: "Open Popover" }) }), (0, jsx_runtime_1.jsx)(react_1.Popover.Content, { className: "n-p-token-16", children: "Popover content" })] }));
32
+ };
33
+ exports.default = Component;
34
+ //# sourceMappingURL=popover-controlled.story.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-controlled.story.js","sourceRoot":"","sources":["../../../../src/popover/stories/popover-controlled.story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAyD;AACzD,iCAAiC;AAEjC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,CACL,wBAAC,eAAO,IACN,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,aAED,uBAAC,eAAO,CAAC,OAAO,IAAC,gBAAgB,kBAC/B,uBAAC,oBAAY,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,6BAExC,GACC,EAClB,uBAAC,eAAO,CAAC,OAAO,IAAC,SAAS,EAAC,cAAc,gCAEvB,IACV,CACX,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, Popover } from '@neo4j-ndl/react';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [isOpen, setIsOpen] = useState(false);\n return (\n <Popover\n isOpen={isOpen}\n onOpenChange={(open) => {\n setIsOpen(open);\n }}\n >\n <Popover.Trigger hasButtonWrapper>\n <FilledButton onClick={() => setIsOpen((prev) => !prev)}>\n Open Popover\n </FilledButton>\n </Popover.Trigger>\n <Popover.Content className=\"n-p-token-16\">\n Popover content\n </Popover.Content>\n </Popover>\n );\n};\n\nexport default Component;\n"]}
@@ -26,11 +26,13 @@ const base_1 = require("@neo4j-ndl/base");
26
26
  const react_2 = require("react");
27
27
  function usePopover({ isInitialOpen = false, placement = 'bottom', isOpen: controlledOpen, onOpenChange: setControlledOpen, offsetOption = 10, anchorElement, anchorPosition, anchorElementAsPortalAnchor, shouldCaptureFocus, initialFocus, role: roleProp, closeOnClickOutside, strategy = 'absolute', isPortaled = true, } = {}) {
28
28
  var _a;
29
+ // Internal state for uncontrolled mode (no `isOpen` prop provided).
29
30
  const [isOpenUncontrolled, setIsOpenUncontrolled] = (0, react_2.useState)(isInitialOpen);
30
31
  const [labelId, setLabelId] = (0, react_2.useState)();
31
32
  const [descriptionId, setDescriptionId] = (0, react_2.useState)();
33
+ // Controlled/uncontrolled pattern: prefer the consumer-provided `isOpen`,
34
+ // falling back to internal state when not provided.
32
35
  const isOpen = controlledOpen !== null && controlledOpen !== void 0 ? controlledOpen : isOpenUncontrolled;
33
- const setIsOpen = setControlledOpen !== null && setControlledOpen !== void 0 ? setControlledOpen : setIsOpenUncontrolled;
34
36
  const data = (0, react_1.useFloating)({
35
37
  elements: {
36
38
  reference: anchorElement,
@@ -44,8 +46,11 @@ function usePopover({ isInitialOpen = false, placement = 'bottom', isOpen: contr
44
46
  }),
45
47
  (0, react_1.shift)(),
46
48
  ],
49
+ // Floating UI calls this when interactions (useClick, useDismiss, etc.)
50
+ // trigger an open/close. We always sync internal state so uncontrolled
51
+ // mode works, and notify the consumer callback exactly once if provided.
47
52
  onOpenChange: (open, event) => {
48
- setIsOpen(open);
53
+ setIsOpenUncontrolled(open);
49
54
  setControlledOpen === null || setControlledOpen === void 0 ? void 0 : setControlledOpen(open, event);
50
55
  },
51
56
  open: isOpen,
@@ -54,6 +59,8 @@ function usePopover({ isInitialOpen = false, placement = 'bottom', isOpen: contr
54
59
  whileElementsMounted: react_1.autoUpdate,
55
60
  });
56
61
  const context = data.context;
62
+ // Only enable built-in click-to-toggle in uncontrolled mode. In controlled
63
+ // mode the consumer owns the open state and wires up their own trigger.
57
64
  const click = (0, react_1.useClick)(context, {
58
65
  enabled: controlledOpen === undefined,
59
66
  });
@@ -72,8 +79,7 @@ function usePopover({ isInitialOpen = false, placement = 'bottom', isOpen: contr
72
79
  const { styles: transitionStyles } = (0, react_1.useTransitionStyles)(context, {
73
80
  duration: (_a = Number.parseInt(base_1.tokens.motion.duration.quick)) !== null && _a !== void 0 ? _a : 0,
74
81
  });
75
- return (0, react_2.useMemo)(() => (Object.assign(Object.assign(Object.assign({ isOpen,
76
- setIsOpen }, interactions), data), { transitionStyles,
82
+ return (0, react_2.useMemo)(() => (Object.assign(Object.assign(Object.assign({ isOpen }, interactions), data), { transitionStyles,
77
83
  labelId,
78
84
  descriptionId,
79
85
  setLabelId,
@@ -83,7 +89,6 @@ function usePopover({ isInitialOpen = false, placement = 'bottom', isOpen: contr
83
89
  initialFocus,
84
90
  isPortaled })), [
85
91
  isOpen,
86
- setIsOpen,
87
92
  interactions,
88
93
  data,
89
94
  transitionStyles,
@@ -1 +1 @@
1
- {"version":3,"file":"use-popover.js","sourceRoot":"","sources":["../../../src/popover/use-popover.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {\n autoUpdate,\n flip,\n offset,\n type OffsetOptions,\n type Placement,\n shift,\n useClick,\n useClientPoint,\n useDismiss,\n useFloating,\n useInteractions,\n type UseInteractionsReturn,\n useRole,\n useTransitionStyles,\n} from '@floating-ui/react';\nimport { tokens } from '@neo4j-ndl/base';\nimport { useMemo, useState } from 'react';\n\nexport interface PopoverOptions {\n isInitialOpen?: boolean;\n placement?: Placement;\n isOpen?: boolean;\n onOpenChange?: (open: boolean, event?: Event) => void;\n offsetOption?: OffsetOptions;\n anchorElement?: Element | null;\n anchorPosition?: {\n x: number;\n y: number;\n };\n anchorElementAsPortalAnchor?: boolean;\n shouldCaptureFocus?: boolean;\n initialFocus?: number | React.RefObject<HTMLElement | null>;\n role?:\n | 'tooltip'\n | 'dialog'\n | 'alertdialog'\n | 'menu'\n | 'listbox'\n | 'grid'\n | 'tree';\n closeOnClickOutside?: boolean;\n strategy?: 'fixed' | 'absolute';\n isPortaled?: boolean;\n}\n\nexport interface UsePopoverReturn\n extends UseInteractionsReturn, ReturnType<typeof useFloating> {\n isOpen: boolean;\n setIsOpen: (isOpen: boolean) => void;\n labelId: string | undefined;\n descriptionId: string | undefined;\n transitionStyles: React.CSSProperties;\n setLabelId: (labelId: string | undefined) => void;\n setDescriptionId: (descriptionId: string | undefined) => void;\n anchorElementAsPortalAnchor: boolean | undefined;\n shouldCaptureFocus: boolean | undefined;\n initialFocus: number | React.RefObject<HTMLElement | null> | undefined;\n isPortaled: boolean;\n}\n\nexport function usePopover({\n isInitialOpen = false,\n placement = 'bottom',\n isOpen: controlledOpen,\n onOpenChange: setControlledOpen,\n offsetOption = 10,\n anchorElement,\n anchorPosition,\n anchorElementAsPortalAnchor,\n shouldCaptureFocus,\n initialFocus,\n role: roleProp,\n closeOnClickOutside,\n strategy = 'absolute',\n isPortaled = true,\n}: PopoverOptions = {}): UsePopoverReturn {\n const [isOpenUncontrolled, setIsOpenUncontrolled] = useState(isInitialOpen);\n const [labelId, setLabelId] = useState<string | undefined>();\n const [descriptionId, setDescriptionId] = useState<string | undefined>();\n const isOpen = controlledOpen ?? isOpenUncontrolled;\n const setIsOpen = setControlledOpen ?? setIsOpenUncontrolled;\n const data = useFloating({\n elements: {\n reference: anchorElement,\n },\n middleware: [\n offset(offsetOption),\n flip({\n crossAxis: placement.includes('-'),\n fallbackAxisSideDirection: 'end',\n padding: 5,\n }),\n shift(),\n ],\n onOpenChange: (open, event) => {\n setIsOpen(open);\n setControlledOpen?.(open, event);\n },\n open: isOpen,\n placement: placement,\n strategy,\n whileElementsMounted: autoUpdate,\n });\n const context = data.context;\n\n const click = useClick(context, {\n enabled: controlledOpen === undefined,\n });\n\n const dismiss = useDismiss(context, {\n outsidePress: closeOnClickOutside,\n });\n const role = useRole(context, {\n role: roleProp,\n });\n\n const clientPoint = useClientPoint(context, {\n enabled: anchorPosition !== undefined,\n x: anchorPosition?.x,\n y: anchorPosition?.y,\n });\n\n const interactions = useInteractions([click, dismiss, role, clientPoint]);\n\n const { styles: transitionStyles } = useTransitionStyles(context, {\n duration: Number.parseInt(tokens.motion.duration.quick) ?? 0,\n });\n\n return useMemo(\n () => ({\n isOpen,\n setIsOpen,\n ...interactions,\n ...data,\n transitionStyles,\n labelId,\n descriptionId,\n setLabelId,\n setDescriptionId,\n anchorElementAsPortalAnchor,\n shouldCaptureFocus,\n initialFocus,\n isPortaled,\n }),\n [\n isOpen,\n setIsOpen,\n interactions,\n data,\n transitionStyles,\n labelId,\n descriptionId,\n anchorElementAsPortalAnchor,\n shouldCaptureFocus,\n initialFocus,\n isPortaled,\n ],\n );\n}\n"]}
1
+ {"version":3,"file":"use-popover.js","sourceRoot":"","sources":["../../../src/popover/use-popover.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {\n autoUpdate,\n flip,\n offset,\n type OffsetOptions,\n type Placement,\n shift,\n useClick,\n useClientPoint,\n useDismiss,\n useFloating,\n useInteractions,\n type UseInteractionsReturn,\n useRole,\n useTransitionStyles,\n} from '@floating-ui/react';\nimport { tokens } from '@neo4j-ndl/base';\nimport { useMemo, useState } from 'react';\n\nexport interface PopoverOptions {\n isInitialOpen?: boolean;\n placement?: Placement;\n isOpen?: boolean;\n onOpenChange?: (open: boolean, event?: Event) => void;\n offsetOption?: OffsetOptions;\n anchorElement?: Element | null;\n anchorPosition?: {\n x: number;\n y: number;\n };\n anchorElementAsPortalAnchor?: boolean;\n shouldCaptureFocus?: boolean;\n initialFocus?: number | React.RefObject<HTMLElement | null>;\n role?:\n | 'tooltip'\n | 'dialog'\n | 'alertdialog'\n | 'menu'\n | 'listbox'\n | 'grid'\n | 'tree';\n closeOnClickOutside?: boolean;\n strategy?: 'fixed' | 'absolute';\n isPortaled?: boolean;\n}\n\nexport interface UsePopoverReturn\n extends UseInteractionsReturn, ReturnType<typeof useFloating> {\n isOpen: boolean;\n labelId: string | undefined;\n descriptionId: string | undefined;\n transitionStyles: React.CSSProperties;\n setLabelId: (labelId: string | undefined) => void;\n setDescriptionId: (descriptionId: string | undefined) => void;\n anchorElementAsPortalAnchor: boolean | undefined;\n shouldCaptureFocus: boolean | undefined;\n initialFocus: number | React.RefObject<HTMLElement | null> | undefined;\n isPortaled: boolean;\n}\n\nexport function usePopover({\n isInitialOpen = false,\n placement = 'bottom',\n isOpen: controlledOpen,\n onOpenChange: setControlledOpen,\n offsetOption = 10,\n anchorElement,\n anchorPosition,\n anchorElementAsPortalAnchor,\n shouldCaptureFocus,\n initialFocus,\n role: roleProp,\n closeOnClickOutside,\n strategy = 'absolute',\n isPortaled = true,\n}: PopoverOptions = {}): UsePopoverReturn {\n // Internal state for uncontrolled mode (no `isOpen` prop provided).\n const [isOpenUncontrolled, setIsOpenUncontrolled] = useState(isInitialOpen);\n const [labelId, setLabelId] = useState<string | undefined>();\n const [descriptionId, setDescriptionId] = useState<string | undefined>();\n\n // Controlled/uncontrolled pattern: prefer the consumer-provided `isOpen`,\n // falling back to internal state when not provided.\n const isOpen = controlledOpen ?? isOpenUncontrolled;\n\n const data = useFloating({\n elements: {\n reference: anchorElement,\n },\n middleware: [\n offset(offsetOption),\n flip({\n crossAxis: placement.includes('-'),\n fallbackAxisSideDirection: 'end',\n padding: 5,\n }),\n shift(),\n ],\n // Floating UI calls this when interactions (useClick, useDismiss, etc.)\n // trigger an open/close. We always sync internal state so uncontrolled\n // mode works, and notify the consumer callback exactly once if provided.\n onOpenChange: (open, event) => {\n setIsOpenUncontrolled(open);\n setControlledOpen?.(open, event);\n },\n open: isOpen,\n placement: placement,\n strategy,\n whileElementsMounted: autoUpdate,\n });\n const context = data.context;\n\n // Only enable built-in click-to-toggle in uncontrolled mode. In controlled\n // mode the consumer owns the open state and wires up their own trigger.\n const click = useClick(context, {\n enabled: controlledOpen === undefined,\n });\n\n const dismiss = useDismiss(context, {\n outsidePress: closeOnClickOutside,\n });\n const role = useRole(context, {\n role: roleProp,\n });\n\n const clientPoint = useClientPoint(context, {\n enabled: anchorPosition !== undefined,\n x: anchorPosition?.x,\n y: anchorPosition?.y,\n });\n\n const interactions = useInteractions([click, dismiss, role, clientPoint]);\n\n const { styles: transitionStyles } = useTransitionStyles(context, {\n duration: Number.parseInt(tokens.motion.duration.quick) ?? 0,\n });\n\n return useMemo(\n () => ({\n isOpen,\n ...interactions,\n ...data,\n transitionStyles,\n labelId,\n descriptionId,\n setLabelId,\n setDescriptionId,\n anchorElementAsPortalAnchor,\n shouldCaptureFocus,\n initialFocus,\n isPortaled,\n }),\n [\n isOpen,\n interactions,\n data,\n transitionStyles,\n labelId,\n descriptionId,\n anchorElementAsPortalAnchor,\n shouldCaptureFocus,\n initialFocus,\n isPortaled,\n ],\n );\n}\n"]}
@@ -136,7 +136,7 @@ const CustomClearIndication = ({ size, }) => function Component(_a) {
136
136
  e.preventDefault();
137
137
  e.stopPropagation();
138
138
  };
139
- const safeInnerProps = Object.assign(Object.assign({}, innerProps), { 'aria-hidden': undefined, onMouseDown: preventAndStop, onTouchEnd: preventAndStop });
139
+ const safeInnerProps = Object.assign(Object.assign({}, innerProps), { 'aria-hidden': undefined, onMouseDown: preventAndStop, onMouseUp: preventAndStop, onTouchEnd: preventAndStop });
140
140
  return ((0, jsx_runtime_1.jsxs)(react_select_1.components.ClearIndicator, Object.assign({ className: classes, innerProps: safeInnerProps }, restProps, { children: [(0, jsx_runtime_1.jsx)("button", { type: "button", className: "ndl-select-clear-button", onClick: handleClear, onKeyDown: handleKeyDown, "aria-label": "Clear selection", children: (0, jsx_runtime_1.jsx)(icons_1.XMarkIconOutline, {}) }), (0, jsx_runtime_1.jsx)("div", { className: "ndl-select-divider" })] })));
141
141
  };
142
142
  exports.CustomClearIndication = CustomClearIndication;
@@ -1 +1 @@
1
- {"version":3,"file":"Overrides.js","sourceRoot":"","sources":["../../../src/select/Overrides.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,0CAAyC;AACzC,4DAAoC;AACpC,+CAcsB;AAMtB,0CAAuC;AACvC,oCAAoE;AACpE,gCAA6B;AAC7B,oCAA0C;AAG1C;;;GAGG;AACH,MAAM,uBAAuB,GAAG,CAC9B,UAAiD,EACjD,eAAe,GAAG,KAAK,EACe,EAAE;IACxC,MAAM,SAAS,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC;IACnC,MAAM,oBAAoB,GAAG,CAAC,CAAuB,EAAE,EAAE,CACvD,eAAe,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IAEzC,uCACK,SAAS,KACZ,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;YACjB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,EACD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;;YACf,MAAA,SAAS,CAAC,SAAS,0DAAG,CAAC,CAAC,CAAC;YACzB,MAAA,SAAS,CAAC,WAAW,0DAAG,CAAC,CAAC,CAAC;YAC3B,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,EACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;;YAChB,MAAA,SAAS,CAAC,UAAU,0DAAG,CAAC,CAAC,CAAC;YAC1B,MAAA,SAAS,CAAC,WAAW,0DAAG,CAAgD,CAAC,CAAC;YAC1E,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAClB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,IACD;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,yBAAyB,GAAG,CAChC,UAAiD,EACX,EAAE;IACxC,MAAM,SAAS,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC;IAEnC,uCACK,SAAS;QACZ,sHAAsH;QACtH,OAAO,EAAE,SAAS,EAClB,WAAW,EAAE,CAAC,KAAuC,EAAE,EAAE;YACvD,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC,EACD,SAAS,EAAE,CAAC,KAAuC,EAAE,EAAE;;YACrD,MAAA,SAAS,CAAC,SAAS,0DAAG,KAAK,CAAC,CAAC;YAC7B,MAAA,SAAS,CAAC,OAAO,0DAAG,KAAK,CAAC,CAAC;QAC7B,CAAC,EACD,UAAU,EAAE,CAAC,KAAuC,EAAE,EAAE;;YACtD,MAAA,SAAS,CAAC,UAAU,0DAAG,KAAK,CAAC,CAAC;YAC9B,MAAA,SAAS,CAAC,OAAO,0DAAG,KAAoD,CAAC,CAAC;QAC5E,CAAC,EACD,YAAY,EAAE,CAAC,KAAuC,EAAE,EAAE;YACxD,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC,IACD;AACJ,CAAC,CAAC;AAEK,MAAM,yBAAyB,GAAG,CAIvC,EACA,IAAI,GACsD,EAAE,EAAE,CAC9D,SAAS,SAAS,CAChB,KAA6D;IAE7D,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,+BAA+B,EAAE;QAC1D,cAAc,EAAE,KAAK,CAAC,UAAU;QAChC,aAAa,EAAE,KAAK,CAAC,SAAS;QAC9B,cAAc,EAAE,KAAK,CAAC,OAAO;QAC7B,WAAW,EAAE,IAAI,KAAK,OAAO;QAC7B,YAAY,EAAE,IAAI,KAAK,QAAQ;QAC/B,WAAW,EAAE,IAAI,KAAK,OAAO;KAC9B,CAAC,CAAC;IAEH,6FAA6F;IAC7F,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAE5E,OAAO,CACL,uBAAC,yBAAU,CAAC,iBAAiB,oBACvB,KAAK,IACT,SAAS,EAAE,OAAO,EAClB,UAAU,EAAE,mBAAmB,YAE/B,uBAAC,8BAAsB,IACrB,SAAS,EAAC,iBAAiB,EAC3B,KAAK,EAAE;gBACL,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU;oBACrC,CAAC,CAAC,gBAAgB;oBAClB,CAAC,CAAC,cAAc;gBAClB,kBAAkB,EAAE,aAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK;aACjD,GACD,IAC2B,CAChC,CAAC;AACJ,CAAC,CAAC;AAvCS,QAAA,yBAAyB,6BAuClC;AAEG,MAAM,qBAAqB,GAAG,CAInC,EACA,IAAI,GACsD,EAAE,EAAE,CAC9D,SAAS,SAAS,CAAC,EAImC;QAJnC,EACjB,SAAS,EACT,UAAU,OAE0C,EADjD,SAAS,cAHK,2BAIlB,CADa;IAEZ,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,kBAAkB,EAAE,SAAS,EAAE;QACxD,aAAa,EAAE,SAAS,CAAC,SAAS;QAClC,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,WAAW,EAAE,IAAI,KAAK,OAAO;QAC7B,YAAY,EAAE,IAAI,KAAK,QAAQ;QAC/B,WAAW,EAAE,IAAI,KAAK,OAAO;KAC9B,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,GAAG,EAAE;;QACvB,MAAA,SAAS,CAAC,UAAU,yDAAI,CAAC;IAC3B,CAAC,CAAC;IAEF,gEAAgE;IAChE,MAAM,aAAa,GAAG,CAAC,KAA0B,EAAE,EAAE;;QACnD,IAAI,KAAK,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,MAAA,MAAA,KAAK,CAAC,WAAW,EAAC,wBAAwB,kDAAI,CAAC;IACjD,CAAC,CAAC;IAEF,uEAAuE;IACvE,MAAM,cAAc,GAAG,CAAC,CAAuB,EAAE,EAAE;QACjD,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,cAAc,mCACf,UAAU,KACb,aAAa,EAAE,SAAS,EACxB,WAAW,EAAE,cAAc,EAC3B,UAAU,EAAE,cAAc,GAC3B,CAAC;IAEF,OAAO,CACL,wBAAC,yBAAU,CAAC,cAAc,kBACxB,SAAS,EAAE,OAAO,EAClB,UAAU,EAAE,cAAc,IACtB,SAAS,eAEb,mCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,yBAAyB,EACnC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,gBACb,iBAAiB,YAE5B,uBAAC,wBAAgB,KAAG,GACb,EACT,gCAAK,SAAS,EAAC,oBAAoB,GAAG,KACZ,CAC7B,CAAC;AACJ,CAAC,CAAC;AAhES,QAAA,qBAAqB,yBAgE9B;AAEG,MAAM,gBAAgB,GAAG,CAI9B,EACA,IAAI,GACsD,EAAE,EAAE,CAC9D,SAAS,SAAS,CAAC,EAI+B;QAJ/B,EACjB,QAAQ,EACR,SAAS,OAEuC,EAD7C,SAAS,cAHK,yBAIlB,CADa;IAEZ,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,wBAAwB,EAAE,SAAS,EAAE;QAC9D,cAAc,EAAE,SAAS,CAAC,UAAU;QACpC,aAAa,EAAE,SAAS,CAAC,SAAS;QAClC,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,WAAW,EAAE,IAAI,KAAK,OAAO;QAC7B,YAAY,EAAE,IAAI,KAAK,QAAQ;QAC/B,WAAW,EAAE,IAAI,KAAK,OAAO;KAC9B,CAAC,CAAC;IACH,OAAO,CACL,uBAAC,yBAAU,CAAC,mBAAmB,oBACzB,SAAS,IACb,UAAU,EAAE;YACV,SAAS,EAAE,OAAO;SACnB,YAED,uBAAC,SAAG,IACF,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;;gBACb,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAA,MAAA,SAAS,CAAC,WAAW,EAAC,OAAO,mDAC3B,CAA4D,CAC7D,CAAC;YACJ,CAAC,EACD,cAAc,EAAE;gBACd,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE;aACvC,YAEA,QAAQ,GACL,IACyB,CAClC,CAAC;AACJ,CAAC,CAAC;AA3CS,QAAA,gBAAgB,oBA2CzB;AAEG,MAAM,iBAAiB,GAAG,CAI/B,EACA,IAAI,GACsD,EAAE,EAAE,CAC9D,SAAS,SAAS,CAAC,EAIgC;QAJhC,EACjB,QAAQ,EACR,SAAS,OAEwC,EAD9C,SAAS,cAHK,yBAIlB,CADa;IAEZ,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,wBAAwB,EAAE,SAAS,EAAE;QAC9D,cAAc,EAAE,SAAS,CAAC,UAAU;QACpC,aAAa,EAAE,SAAS,CAAC,SAAS;QAClC,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,WAAW,EAAE,IAAI,KAAK,OAAO;QAC7B,YAAY,EAAE,IAAI,KAAK,QAAQ;QAC/B,WAAW,EAAE,IAAI,KAAK,OAAO;KAC9B,CAAC,CAAC;IACH,OAAO,CACL,uBAAC,yBAAU,CAAC,WAAW,oBAAK,SAAS,IAAE,SAAS,EAAE,OAAO,YACtD,QAAQ,IACc,CAC1B,CAAC;AACJ,CAAC,CAAC;AAzBS,QAAA,iBAAiB,qBAyB1B;AAEG,MAAM,aAAa,GAAG,CAI3B,EACA,IAAI,EACJ,OAAO,EACP,SAAS,GACiD,EAAE,EAAE,CAC9D,SAAS,SAAS,CAAC,EAAmD;QAAnD,EAAE,QAAQ,EAAE,SAAS,OAA8B,EAAzB,SAAS,cAAnC,yBAAqC,CAAF;IACpD,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,oBAAoB,EAAE,SAAS,EAAE;QAC1D,WAAW,EAAE,OAAO;QACpB,cAAc,EAAE,SAAS,CAAC,UAAU;QACpC,aAAa,EAAE,SAAS,CAAC,SAAS;QAClC,eAAe,EAAE,CAAC,CAAC,SAAS;QAC5B,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,WAAW,EAAE,IAAI,KAAK,OAAO;QAC7B,YAAY,EAAE,IAAI,KAAK,QAAQ;QAC/B,WAAW,EAAE,IAAI,KAAK,OAAO;KAC9B,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAExE,OAAO,CACL,uBAAC,yBAAU,CAAC,OAAO,oBACb,SAAS,IACb,SAAS,EAAE,OAAO,EAClB,UAAU,EAAE,iBAAiB,YAE5B,QAAQ,IACU,CACtB,CAAC;AACJ,CAAC,CAAC;AAhCS,QAAA,aAAa,iBAgCtB;AAEG,MAAM,yBAAyB,GAAG,CAIvC,EACA,IAAI,GACsD,EAAE,EAAE,CAC9D,SAAS,SAAS,CAAC,EAIQ;QAJR,EACjB,QAAQ,EACR,SAAS,OAEgB,EADtB,SAAS,cAHK,yBAIlB,CADa;IAEZ,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,iCAAiC,EAAE,SAAS,EAAE;QACvE,cAAc,EAAE,SAAS,CAAC,UAAU;QACpC,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,WAAW,EAAE,IAAI,KAAK,OAAO;QAC7B,YAAY,EAAE,IAAI,KAAK,QAAQ;QAC/B,WAAW,EAAE,IAAI,KAAK,OAAO;KAC9B,CAAC,CAAC;IACH,OAAO,CACL,uBAAC,yBAAU,CAAC,mBAAmB,oBAAK,SAAS,IAAE,SAAS,EAAE,OAAO,YAC9D,QAAQ,IACsB,CAClC,CAAC;AACJ,CAAC,CAAC;AAxBS,QAAA,yBAAyB,6BAwBlC;AAEG,MAAM,oBAAoB,GAAG,CAIlC,EACA,IAAI,GACsD,EAAE,EAAE,CAC9D,SAAS,SAAS,CAAC,EAIG;QAJH,EACjB,QAAQ,EACR,SAAS,OAEW,EADjB,SAAS,cAHK,yBAIlB,CADa;IAEZ,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,4BAA4B,EAAE,SAAS,EAAE;QAClE,cAAc,EAAE,SAAS,CAAC,UAAU;QACpC,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,WAAW,EAAE,IAAI,KAAK,OAAO;QAC7B,YAAY,EAAE,IAAI,KAAK,QAAQ;QAC/B,WAAW,EAAE,IAAI,KAAK,OAAO;KAC9B,CAAC,CAAC;IACH,OAAO,CACL,uBAAC,yBAAU,CAAC,cAAc,oBAAK,SAAS,IAAE,SAAS,EAAE,OAAO,YACzD,QAAQ,IACiB,CAC7B,CAAC;AACJ,CAAC,CAAC;AAxBS,QAAA,oBAAoB,wBAwB7B;AAEG,MAAM,WAAW,GAAG,CAIzB,EACA,IAAI,GACsD,EAAE,EAAE,CAC9D,SAAS,SAAS,CAAC,EAAuC;QAAvC,EAAE,SAAS,OAA4B,EAAvB,SAAS,cAAzB,aAA2B,CAAF;IAC1C,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,kBAAkB,EAAE,SAAS,EAAE;QACxD,cAAc,EAAE,SAAS,CAAC,UAAU;QACpC,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,WAAW,EAAE,IAAI,KAAK,OAAO;QAC7B,YAAY,EAAE,IAAI,KAAK,QAAQ;QAC/B,WAAW,EAAE,IAAI,KAAK,OAAO;KAC9B,CAAC,CAAC;IACH,OAAO,uBAAC,yBAAU,CAAC,KAAK,oBAAK,SAAS,IAAE,SAAS,EAAE,OAAO,IAAI,CAAC;AACjE,CAAC,CAAC;AAhBS,QAAA,WAAW,eAgBpB;AAEG,MAAM,iBAAiB,GAAG,CAI/B,EACA,IAAI,GACsD,EAAE,EAAE,CAC9D,SAAS,SAAS,CAAC,EAA6C;QAA7C,EAAE,SAAS,OAAkC,EAA7B,SAAS,cAAzB,aAA2B,CAAF;IAC1C,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,yBAAyB,EAAE,SAAS,EAAE;QAC/D,cAAc,EAAE,SAAS,CAAC,UAAU;QACpC,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,WAAW,EAAE,IAAI,KAAK,OAAO;QAC7B,YAAY,EAAE,IAAI,KAAK,QAAQ;QAC/B,WAAW,EAAE,IAAI,KAAK,OAAO;KAC9B,CAAC,CAAC;IACH,OAAO,uBAAC,yBAAU,CAAC,WAAW,oBAAK,SAAS,IAAE,SAAS,EAAE,OAAO,IAAI,CAAC;AACvE,CAAC,CAAC;AAhBS,QAAA,iBAAiB,qBAgB1B;AAEJ,kDAAkD;AAE3C,MAAM,UAAU,GAAG,CAIxB,EACA,IAAI,GACsD,EAAE,EAAE,CAC9D,SAAS,SAAS,CAAC,EAAgD;QAAhD,EAAE,QAAQ,EAAE,SAAS,OAA2B,EAAtB,SAAS,cAAnC,yBAAqC,CAAF;IACpD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,sBAAc,GAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,iBAAiB,EAAE,SAAS,EAAE,cAAc,EAAE;QACvE,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,WAAW,EAAE,IAAI,KAAK,OAAO;QAC7B,YAAY,EAAE,IAAI,KAAK,QAAQ;QAC/B,WAAW,EAAE,IAAI,KAAK,OAAO;KAC9B,CAAC,CAAC;IACH,OAAO,CACL,uBAAC,yBAAU,CAAC,IAAI,oBAAK,SAAS,IAAE,SAAS,EAAE,OAAO,YAC/C,QAAQ,IACO,CACnB,CAAC;AACJ,CAAC,CAAC;AApBS,QAAA,UAAU,cAoBnB;AAEG,MAAM,gBAAgB,GAAG,CAI9B,EACA,IAAI,GACsD,EAAE,EAAE,CAC9D,SAAS,SAAS,CAAC,EAI+B;QAJ/B,EACjB,QAAQ,EACR,SAAS,OAEuC,EAD7C,SAAS,cAHK,yBAIlB,CADa;IAEZ,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,SAAS,EAAE,wBAAwB,EAAE;QAC9D,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,WAAW,EAAE,IAAI,KAAK,OAAO;QAC7B,YAAY,EAAE,IAAI,KAAK,QAAQ;QAC/B,WAAW,EAAE,IAAI,KAAK,OAAO;KAC9B,CAAC,CAAC;IACH,OAAO,CACL,uBAAC,yBAAU,CAAC,UAAU,oBAAK,SAAS,IAAE,SAAS,EAAE,OAAO,YACrD,QAAQ,IACa,CACzB,CAAC;AACJ,CAAC,CAAC;AAvBS,QAAA,gBAAgB,oBAuBzB;AAEG,MAAM,cAAc,GAAG,CAI5B,EACA,IAAI,GACsD,EAAE,EAAE,CAC9D,SAAS,SAAS,CAAC,EAI6B;QAJ7B,EACjB,QAAQ,EACR,SAAS,OAEqC,EAD3C,SAAS,cAHK,yBAIlB,CADa;IAEZ,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,SAAS,EAAE,sBAAsB,EAAE;QAC5D,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,WAAW,EAAE,IAAI,KAAK,OAAO;QAC7B,YAAY,EAAE,IAAI,KAAK,QAAQ;QAC/B,WAAW,EAAE,IAAI,KAAK,OAAO;KAC9B,CAAC,CAAC;IACH,OAAO,CACL,uBAAC,yBAAU,CAAC,QAAQ,oBAAK,SAAS,IAAE,SAAS,EAAE,OAAO,YACnD,QAAQ,IACW,CACvB,CAAC;AACJ,CAAC,CAAC;AAvBS,QAAA,cAAc,kBAuBvB;AAEG,MAAM,YAAY,GAAG,CAI1B,EACA,IAAI,GACsD,EAAE,EAAE,CAC9D,SAAS,SAAS,CAAC,EAI2B;QAJ3B,EACjB,QAAQ,EACR,SAAS,OAEmC,EADzC,SAAS,cAHK,yBAIlB,CADa;IAEZ,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,SAAS,EAAE,mBAAmB,EAAE;QACzD,cAAc,EAAE,SAAS,CAAC,UAAU;QACpC,aAAa,EAAE,SAAS,CAAC,SAAS;QAClC,cAAc,EAAE,SAAS,CAAC,OAAO;QACjC,WAAW,EAAE,IAAI,KAAK,OAAO;QAC7B,YAAY,EAAE,IAAI,KAAK,QAAQ;QAC/B,cAAc,EAAE,SAAS,CAAC,UAAU;QACpC,WAAW,EAAE,IAAI,KAAK,OAAO;KAC9B,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAEzE,OAAO,CACL,wBAAC,yBAAU,CAAC,MAAM,oBACZ,SAAS,IACb,SAAS,EAAE,OAAO,EAClB,UAAU,EAAE,gBAAgB,aAE3B,SAAS,CAAC,OAAO,KAAK,IAAI,IAAI,CAC7B,uBAAC,mBAAQ,IACP,SAAS,EAAE,SAAS,CAAC,UAAU,EAC/B,SAAS,EAAE,SAAS,CAAC,KAAK,EAC1B,UAAU,EAAE,SAAS,CAAC,UAAU,EAChC,cAAc,EAAE;oBACd,aAAa,EAAE,IAAI;oBACnB,QAAQ,EAAE,IAAI;oBACd,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE;wBACnB,CAAC,CAAC,cAAc,EAAE,CAAC;oBACrB,CAAC;oBACD,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;;wBACjB,MAAA,MAAA,SAAS,CAAC,UAAU,EAAC,OAAO,mDAAG,CAAC,CAAC,CAAC;oBACpC,CAAC;oBACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;;wBAChB,MAAA,MAAA,SAAS,CAAC,UAAU,EAAC,OAAO,mDAC1B,CAA4D,CAC7D,CAAC;oBACJ,CAAC;oBACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;wBAClB,CAAC,CAAC,cAAc,EAAE,CAAC;oBACrB,CAAC;oBACD,IAAI,EAAE,cAAc;oBACpB,QAAQ,EAAE,CAAC,CAAC;iBACb,GACD,CACH,EACA,QAAQ,KACS,CACrB,CAAC;AACJ,CAAC,CAAC;AA3DS,QAAA,YAAY,gBA2DrB","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { tokens } from '@neo4j-ndl/base';\nimport classNames from 'classnames';\nimport {\n type ClearIndicatorProps,\n components,\n type ControlProps,\n type DropdownIndicatorProps,\n type GroupBase,\n type IndicatorsContainerProps,\n type InputProps,\n type MenuProps,\n type MultiValueProps,\n type OptionProps,\n type PlaceholderProps,\n type SingleValueProps,\n type ValueContainerProps,\n} from 'react-select';\nimport {\n type MenuListProps,\n type MenuPortalProps,\n} from 'react-select/dist/declarations/src/components/Menu';\n\nimport { Checkbox } from '../checkbox';\nimport { ChevronDownIconOutline, XMarkIconOutline } from '../icons';\nimport { Tag } from '../tag';\nimport { useNeedleTheme } from '../theme';\nimport { type SelectOverrideCustomProps } from './types';\n\n/**\n * React-select triggers control/indicator interactions on mouseDown which breaks WCAG 2.5.2 Pointer Cancellation.\n * This helper shifts mouseDown to mouseUp to allow users to cancel by dragging away.\n */\nconst shiftMouseDownToMouseUp = (\n innerProps?: React.HTMLAttributes<HTMLDivElement>,\n stopPropagation = false,\n): React.HTMLAttributes<HTMLDivElement> => {\n const baseProps = innerProps ?? {};\n const maybeStopPropagation = (e: React.SyntheticEvent) =>\n stopPropagation && e.stopPropagation();\n\n return {\n ...baseProps,\n onMouseDown: (e) => {\n e.preventDefault();\n maybeStopPropagation(e);\n },\n onMouseUp: (e) => {\n baseProps.onMouseUp?.(e);\n baseProps.onMouseDown?.(e);\n maybeStopPropagation(e);\n },\n onTouchEnd: (e) => {\n baseProps.onTouchEnd?.(e);\n baseProps.onMouseDown?.(e as unknown as React.MouseEvent<HTMLDivElement>);\n maybeStopPropagation(e);\n },\n onTouchStart: (e) => {\n e.preventDefault();\n maybeStopPropagation(e);\n },\n };\n};\n\n/**\n * React-select triggers option selection on click which fires on mouseDown.\n * This helper shifts the click handler to mouseUp/touchEnd to allow users to cancel by dragging away.\n */\nconst shiftOptionClickToMouseUp = (\n innerProps?: React.HTMLAttributes<HTMLDivElement>,\n): React.HTMLAttributes<HTMLDivElement> => {\n const baseProps = innerProps ?? {};\n\n return {\n ...baseProps,\n // Remove onClick to prevent double-execution (onMouseUp already calls it, and browser would fire click after mouseup)\n onClick: undefined,\n onMouseDown: (event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n },\n onMouseUp: (event: React.MouseEvent<HTMLDivElement>) => {\n baseProps.onMouseUp?.(event);\n baseProps.onClick?.(event);\n },\n onTouchEnd: (event: React.TouchEvent<HTMLDivElement>) => {\n baseProps.onTouchEnd?.(event);\n baseProps.onClick?.(event as unknown as React.MouseEvent<HTMLDivElement>);\n },\n onTouchStart: (event: React.TouchEvent<HTMLDivElement>) => {\n event.preventDefault();\n },\n };\n};\n\nexport const DropdownIndicatorCurrying = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component(\n props: DropdownIndicatorProps<OptionType, IsMulti, GroupType>,\n ) {\n const classes = classNames('ndl-select-dropdown-indicator', {\n 'ndl-disabled': props.isDisabled,\n 'ndl-focused': props.isFocused,\n 'ndl-is-multi': props.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n\n // stopPropagation so that we prevent the control from also toggling the menu (double-toggle)\n const indicatorInnerProps = shiftMouseDownToMouseUp(props.innerProps, true);\n\n return (\n <components.DropdownIndicator\n {...props}\n className={classes}\n innerProps={indicatorInnerProps}\n >\n <ChevronDownIconOutline\n className=\"ndl-select-icon\"\n style={{\n transform: props.selectProps.menuIsOpen\n ? 'rotate(180deg)'\n : 'rotate(0deg)',\n transitionDuration: tokens.motion.duration.quick,\n }}\n />\n </components.DropdownIndicator>\n );\n };\n\nexport const CustomClearIndication = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n className,\n innerProps,\n ...restProps\n }: ClearIndicatorProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames('ndl-select-clear', className, {\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n\n const handleClear = () => {\n restProps.clearValue?.();\n };\n\n // Stop propagation to prevent react-select's keyboard handling.\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === '') {\n event.preventDefault();\n }\n event.stopPropagation();\n event.nativeEvent.stopImmediatePropagation?.();\n };\n\n // Prevent react-select's default clear-on-mousedown/touchend behavior.\n const preventAndStop = (e: React.SyntheticEvent) => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n const safeInnerProps: typeof innerProps = {\n ...innerProps,\n 'aria-hidden': undefined, // Remove to allow focusable button inside\n onMouseDown: preventAndStop,\n onTouchEnd: preventAndStop,\n };\n\n return (\n <components.ClearIndicator\n className={classes}\n innerProps={safeInnerProps}\n {...restProps}\n >\n <button\n type=\"button\"\n className=\"ndl-select-clear-button\"\n onClick={handleClear}\n onKeyDown={handleKeyDown}\n aria-label=\"Clear selection\"\n >\n <XMarkIconOutline />\n </button>\n <div className=\"ndl-select-divider\" />\n </components.ClearIndicator>\n );\n };\n\nexport const CustomMultiValue = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: MultiValueProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames('ndl-select-multi-value', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.MultiValueContainer\n {...restProps}\n innerProps={{\n className: classes,\n }}\n >\n <Tag\n size={size}\n onClick={(e) => {\n e.preventDefault();\n restProps.removeProps.onClick?.(\n e as unknown as React.MouseEvent<HTMLDivElement, MouseEvent>,\n );\n }}\n htmlAttributes={{\n onMouseDown: (e) => e.preventDefault(),\n }}\n >\n {children}\n </Tag>\n </components.MultiValueContainer>\n );\n };\n\nexport const CustomPlaceholder = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: PlaceholderProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames('ndl-select-placeholder', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.Placeholder {...restProps} className={classes}>\n {children}\n </components.Placeholder>\n );\n };\n\nexport const CustomControl = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n isClean,\n errorText,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ children, className, ...restProps }: ControlProps) {\n const classes = classNames('ndl-select-control', className, {\n 'ndl-clean': isClean,\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-has-error': !!errorText,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n\n const controlInnerProps = shiftMouseDownToMouseUp(restProps.innerProps);\n\n return (\n <components.Control\n {...restProps}\n className={classes}\n innerProps={controlInnerProps}\n >\n {children}\n </components.Control>\n );\n };\n\nexport const CustomIndicatorsContainer = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: IndicatorsContainerProps) {\n const classes = classNames('ndl-select-indicators-container', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.IndicatorsContainer {...restProps} className={classes}>\n {children}\n </components.IndicatorsContainer>\n );\n };\n\nexport const CustomValueContainer = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: ValueContainerProps) {\n const classes = classNames('ndl-select-value-container', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.ValueContainer {...restProps} className={classes}>\n {children}\n </components.ValueContainer>\n );\n };\n\nexport const CustomInput = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ className, ...restProps }: InputProps) {\n const classes = classNames('ndl-select-input', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return <components.Input {...restProps} className={classes} />;\n };\n\nexport const CustomSingleValue = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ className, ...restProps }: SingleValueProps) {\n const classes = classNames('ndl-select-single-value', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return <components.SingleValue {...restProps} className={classes} />;\n };\n\n/** Overrides that are part of the popover menu */\n\nexport const CustomMenu = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ children, className, ...restProps }: MenuProps) {\n const { themeClassName } = useNeedleTheme();\n const classes = classNames('ndl-select-menu', className, themeClassName, {\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.Menu {...restProps} className={classes}>\n {children}\n </components.Menu>\n );\n };\n\nexport const CustomMenuPortal = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: MenuPortalProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames(className, 'ndl-select-menu-portal', {\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.MenuPortal {...restProps} className={classes}>\n {children}\n </components.MenuPortal>\n );\n };\n\nexport const CustomMenuList = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: MenuListProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames(className, 'ndl-select-menu-list', {\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.MenuList {...restProps} className={classes}>\n {children}\n </components.MenuList>\n );\n };\n\nexport const CustomOption = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: OptionProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames(className, 'ndl-select-option', {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-selected': restProps.isSelected,\n 'ndl-small': size === 'small',\n });\n const optionInnerProps = shiftOptionClickToMouseUp(restProps.innerProps);\n\n return (\n <components.Option\n {...restProps}\n className={classes}\n innerProps={optionInnerProps}\n >\n {restProps.isMulti === true && (\n <Checkbox\n isChecked={restProps.isSelected}\n ariaLabel={restProps.label}\n isDisabled={restProps.isDisabled}\n htmlAttributes={{\n 'aria-hidden': true,\n disabled: true,\n onPointerDown: (e) => {\n e.preventDefault();\n },\n onPointerUp: (e) => {\n restProps.innerProps.onClick?.(e);\n },\n onTouchEnd: (e) => {\n restProps.innerProps.onClick?.(\n e as unknown as React.MouseEvent<HTMLDivElement, MouseEvent>,\n );\n },\n onTouchStart: (e) => {\n e.preventDefault();\n },\n role: 'presentation',\n tabIndex: -1,\n }}\n />\n )}\n {children}\n </components.Option>\n );\n };\n"]}
1
+ {"version":3,"file":"Overrides.js","sourceRoot":"","sources":["../../../src/select/Overrides.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { tokens } from '@neo4j-ndl/base';\nimport classNames from 'classnames';\nimport {\n type ClearIndicatorProps,\n components,\n type ControlProps,\n type DropdownIndicatorProps,\n type GroupBase,\n type IndicatorsContainerProps,\n type InputProps,\n type MenuProps,\n type MultiValueProps,\n type OptionProps,\n type PlaceholderProps,\n type SingleValueProps,\n type ValueContainerProps,\n} from 'react-select';\nimport {\n type MenuListProps,\n type MenuPortalProps,\n} from 'react-select/dist/declarations/src/components/Menu';\n\nimport { Checkbox } from '../checkbox';\nimport { ChevronDownIconOutline, XMarkIconOutline } from '../icons';\nimport { Tag } from '../tag';\nimport { useNeedleTheme } from '../theme';\nimport { type SelectOverrideCustomProps } from './types';\n\n/**\n * React-select triggers control/indicator interactions on mouseDown which breaks WCAG 2.5.2 Pointer Cancellation.\n * This helper shifts mouseDown to mouseUp to allow users to cancel by dragging away.\n */\nconst shiftMouseDownToMouseUp = (\n innerProps?: React.HTMLAttributes<HTMLDivElement>,\n stopPropagation = false,\n): React.HTMLAttributes<HTMLDivElement> => {\n const baseProps = innerProps ?? {};\n const maybeStopPropagation = (e: React.SyntheticEvent) =>\n stopPropagation && e.stopPropagation();\n\n return {\n ...baseProps,\n onMouseDown: (e) => {\n e.preventDefault();\n maybeStopPropagation(e);\n },\n onMouseUp: (e) => {\n baseProps.onMouseUp?.(e);\n baseProps.onMouseDown?.(e);\n maybeStopPropagation(e);\n },\n onTouchEnd: (e) => {\n baseProps.onTouchEnd?.(e);\n baseProps.onMouseDown?.(e as unknown as React.MouseEvent<HTMLDivElement>);\n maybeStopPropagation(e);\n },\n onTouchStart: (e) => {\n e.preventDefault();\n maybeStopPropagation(e);\n },\n };\n};\n\n/**\n * React-select triggers option selection on click which fires on mouseDown.\n * This helper shifts the click handler to mouseUp/touchEnd to allow users to cancel by dragging away.\n */\nconst shiftOptionClickToMouseUp = (\n innerProps?: React.HTMLAttributes<HTMLDivElement>,\n): React.HTMLAttributes<HTMLDivElement> => {\n const baseProps = innerProps ?? {};\n\n return {\n ...baseProps,\n // Remove onClick to prevent double-execution (onMouseUp already calls it, and browser would fire click after mouseup)\n onClick: undefined,\n onMouseDown: (event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n },\n onMouseUp: (event: React.MouseEvent<HTMLDivElement>) => {\n baseProps.onMouseUp?.(event);\n baseProps.onClick?.(event);\n },\n onTouchEnd: (event: React.TouchEvent<HTMLDivElement>) => {\n baseProps.onTouchEnd?.(event);\n baseProps.onClick?.(event as unknown as React.MouseEvent<HTMLDivElement>);\n },\n onTouchStart: (event: React.TouchEvent<HTMLDivElement>) => {\n event.preventDefault();\n },\n };\n};\n\nexport const DropdownIndicatorCurrying = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component(\n props: DropdownIndicatorProps<OptionType, IsMulti, GroupType>,\n ) {\n const classes = classNames('ndl-select-dropdown-indicator', {\n 'ndl-disabled': props.isDisabled,\n 'ndl-focused': props.isFocused,\n 'ndl-is-multi': props.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n\n // stopPropagation so that we prevent the control from also toggling the menu (double-toggle)\n const indicatorInnerProps = shiftMouseDownToMouseUp(props.innerProps, true);\n\n return (\n <components.DropdownIndicator\n {...props}\n className={classes}\n innerProps={indicatorInnerProps}\n >\n <ChevronDownIconOutline\n className=\"ndl-select-icon\"\n style={{\n transform: props.selectProps.menuIsOpen\n ? 'rotate(180deg)'\n : 'rotate(0deg)',\n transitionDuration: tokens.motion.duration.quick,\n }}\n />\n </components.DropdownIndicator>\n );\n };\n\nexport const CustomClearIndication = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n className,\n innerProps,\n ...restProps\n }: ClearIndicatorProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames('ndl-select-clear', className, {\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n\n const handleClear = () => {\n restProps.clearValue?.();\n };\n\n // Stop propagation to prevent react-select's keyboard handling.\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === '') {\n event.preventDefault();\n }\n event.stopPropagation();\n event.nativeEvent.stopImmediatePropagation?.();\n };\n\n // Prevent react-select's default clear-on-mousedown/touchend behavior.\n const preventAndStop = (e: React.SyntheticEvent) => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n const safeInnerProps: typeof innerProps = {\n ...innerProps,\n 'aria-hidden': undefined, // Remove to allow focusable button inside\n onMouseDown: preventAndStop,\n onMouseUp: preventAndStop,\n onTouchEnd: preventAndStop,\n };\n\n return (\n <components.ClearIndicator\n className={classes}\n innerProps={safeInnerProps}\n {...restProps}\n >\n <button\n type=\"button\"\n className=\"ndl-select-clear-button\"\n onClick={handleClear}\n onKeyDown={handleKeyDown}\n aria-label=\"Clear selection\"\n >\n <XMarkIconOutline />\n </button>\n <div className=\"ndl-select-divider\" />\n </components.ClearIndicator>\n );\n };\n\nexport const CustomMultiValue = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: MultiValueProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames('ndl-select-multi-value', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.MultiValueContainer\n {...restProps}\n innerProps={{\n className: classes,\n }}\n >\n <Tag\n size={size}\n onClick={(e) => {\n e.preventDefault();\n restProps.removeProps.onClick?.(\n e as unknown as React.MouseEvent<HTMLDivElement, MouseEvent>,\n );\n }}\n htmlAttributes={{\n onMouseDown: (e) => e.preventDefault(),\n }}\n >\n {children}\n </Tag>\n </components.MultiValueContainer>\n );\n };\n\nexport const CustomPlaceholder = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: PlaceholderProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames('ndl-select-placeholder', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.Placeholder {...restProps} className={classes}>\n {children}\n </components.Placeholder>\n );\n };\n\nexport const CustomControl = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n isClean,\n errorText,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ children, className, ...restProps }: ControlProps) {\n const classes = classNames('ndl-select-control', className, {\n 'ndl-clean': isClean,\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-has-error': !!errorText,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n\n const controlInnerProps = shiftMouseDownToMouseUp(restProps.innerProps);\n\n return (\n <components.Control\n {...restProps}\n className={classes}\n innerProps={controlInnerProps}\n >\n {children}\n </components.Control>\n );\n };\n\nexport const CustomIndicatorsContainer = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: IndicatorsContainerProps) {\n const classes = classNames('ndl-select-indicators-container', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.IndicatorsContainer {...restProps} className={classes}>\n {children}\n </components.IndicatorsContainer>\n );\n };\n\nexport const CustomValueContainer = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: ValueContainerProps) {\n const classes = classNames('ndl-select-value-container', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.ValueContainer {...restProps} className={classes}>\n {children}\n </components.ValueContainer>\n );\n };\n\nexport const CustomInput = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ className, ...restProps }: InputProps) {\n const classes = classNames('ndl-select-input', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return <components.Input {...restProps} className={classes} />;\n };\n\nexport const CustomSingleValue = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ className, ...restProps }: SingleValueProps) {\n const classes = classNames('ndl-select-single-value', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return <components.SingleValue {...restProps} className={classes} />;\n };\n\n/** Overrides that are part of the popover menu */\n\nexport const CustomMenu = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ children, className, ...restProps }: MenuProps) {\n const { themeClassName } = useNeedleTheme();\n const classes = classNames('ndl-select-menu', className, themeClassName, {\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.Menu {...restProps} className={classes}>\n {children}\n </components.Menu>\n );\n };\n\nexport const CustomMenuPortal = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: MenuPortalProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames(className, 'ndl-select-menu-portal', {\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.MenuPortal {...restProps} className={classes}>\n {children}\n </components.MenuPortal>\n );\n };\n\nexport const CustomMenuList = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: MenuListProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames(className, 'ndl-select-menu-list', {\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.MenuList {...restProps} className={classes}>\n {children}\n </components.MenuList>\n );\n };\n\nexport const CustomOption = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: OptionProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames(className, 'ndl-select-option', {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-selected': restProps.isSelected,\n 'ndl-small': size === 'small',\n });\n const optionInnerProps = shiftOptionClickToMouseUp(restProps.innerProps);\n\n return (\n <components.Option\n {...restProps}\n className={classes}\n innerProps={optionInnerProps}\n >\n {restProps.isMulti === true && (\n <Checkbox\n isChecked={restProps.isSelected}\n ariaLabel={restProps.label}\n isDisabled={restProps.isDisabled}\n htmlAttributes={{\n 'aria-hidden': true,\n disabled: true,\n onPointerDown: (e) => {\n e.preventDefault();\n },\n onPointerUp: (e) => {\n restProps.innerProps.onClick?.(e);\n },\n onTouchEnd: (e) => {\n restProps.innerProps.onClick?.(\n e as unknown as React.MouseEvent<HTMLDivElement, MouseEvent>,\n );\n },\n onTouchStart: (e) => {\n e.preventDefault();\n },\n role: 'presentation',\n tabIndex: -1,\n }}\n />\n )}\n {children}\n </components.Option>\n );\n };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../../src/popover/Popover.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {\n FloatingFocusManager,\n FloatingPortal,\n type OffsetOptions,\n type Placement,\n useMergeRefs,\n} from '@floating-ui/react';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport {\n type CommonProps,\n type PolymorphicCommonProps,\n} from '../_common/types';\nimport { ConditionalWrap } from '../conditional-wrap';\nimport { useIsInsideDialog } from '../dialog/dialog-context';\nimport { useNeedleTheme } from '../theme/ThemeProvider';\nimport { usePopover } from './use-popover';\nimport { usePatchFloatingFocusGuards } from './usePatchFloatingFocusGuards';\n\ntype PlacementOptions =\n | 'bottom-end-top-end'\n | 'bottom-start-top-start'\n | 'bottom-middle-top-middle'\n | 'top-end-bottom-end'\n | 'top-start-bottom-start'\n | 'top-middle-bottom-middle'\n | 'bottom-start-bottom-end'\n | 'top-start-top-end'\n | 'middle-start-middle-end'\n | 'bottom-end-bottom-start'\n | 'top-end-top-start'\n | 'middle-end-middle-start';\n\nexport const placementTranslation: Record<PlacementOptions, Placement> = {\n 'bottom-end-bottom-start': 'right-end',\n 'bottom-end-top-end': 'bottom-end',\n 'bottom-middle-top-middle': 'bottom',\n 'bottom-start-bottom-end': 'left-end',\n 'bottom-start-top-start': 'bottom-start',\n 'middle-end-middle-start': 'right',\n 'middle-start-middle-end': 'left',\n 'top-end-bottom-end': 'top-end',\n 'top-end-top-start': 'right-start',\n 'top-middle-bottom-middle': 'top',\n 'top-start-bottom-start': 'top-start',\n 'top-start-top-end': 'left-start',\n};\ntype PopoverProps = {\n /** if the popover is open */\n isOpen?: boolean;\n /** The content of the popover */\n children?: React.ReactNode;\n /** Can be used if the anchor should be separated from the trigger */\n anchorElement?: Element | null;\n /** If the anchorPosition is provided the anchorElement will be ignored */\n anchorPosition?: {\n x: number;\n y: number;\n };\n /** The placement of the floating element is determined by two sets of words. The first set of words specifies the point on the anchor element where the floating element will be attached. The second set of coordinates specifies the point on the floating element that will attach to the anchor element.*/\n placement?: PlacementOptions;\n /** can take either a number, an object or a function. Full documentation here: https://floating-ui.com/docs/offset */\n offset?: OffsetOptions;\n /** Called when the floating element is opened or closed */\n onOpenChange?: (isOpen: boolean, event?: Event) => void;\n /** Use anchorEl for portal's container. Should be used if the popover is portaled and is inside a Dialog for example. */\n hasAnchorPortal?: boolean;\n /** If the popover should constrain the focus inside the popover while open */\n shouldCaptureFocus?: boolean;\n /** Which element to initially focus. **/\n initialFocus?: number | React.RefObject<HTMLElement | null>;\n /** The role of the popover */\n role?:\n | 'tooltip'\n | 'dialog'\n | 'alertdialog'\n | 'menu'\n | 'listbox'\n | 'grid'\n | 'tree';\n /** If the popover should close when the user clicks outside of it */\n closeOnClickOutside?: boolean;\n /** The strategy of the popover. Fixed should be used when the popover is inside a Dialog. */\n strategy?: 'fixed' | 'absolute';\n /** Whether the content is rendered in a portal */\n isPortaled?: boolean;\n};\n\ntype ContextType = ReturnType<typeof usePopover> | null;\n\nconst PopoverContext = React.createContext<ContextType>(null);\n\nexport const usePopoverContext = () => {\n const context = React.useContext(PopoverContext);\n\n if (context === null) {\n throw new Error('Popover components must be wrapped in <Popover />');\n }\n\n return context;\n};\n\nconst PopoverComponent = ({\n children,\n anchorElement,\n placement,\n isOpen,\n offset,\n anchorPosition,\n hasAnchorPortal: hasAnchorPortalProp,\n shouldCaptureFocus = false,\n initialFocus,\n onOpenChange,\n role,\n closeOnClickOutside = true,\n isPortaled: isPortaledProp,\n strategy: strategyProp,\n}: PopoverProps) => {\n const isInsideDialog = useIsInsideDialog();\n\n const strategy = isInsideDialog ? 'fixed' : 'absolute';\n const hasAnchorPortal = isInsideDialog;\n const isPortaled = !isInsideDialog;\n\n const popover = usePopover({\n anchorElement: anchorElement,\n anchorElementAsPortalAnchor: hasAnchorPortalProp ?? hasAnchorPortal,\n anchorPosition,\n closeOnClickOutside,\n initialFocus,\n isOpen: isOpen,\n isPortaled: isPortaledProp ?? isPortaled,\n offsetOption: offset,\n onOpenChange: onOpenChange,\n placement: placement ? placementTranslation[placement] : undefined,\n role,\n shouldCaptureFocus: shouldCaptureFocus,\n strategy: strategyProp ?? strategy,\n });\n\n return (\n <PopoverContext.Provider value={popover}>\n {children}\n </PopoverContext.Provider>\n );\n};\n\ntype PopoverTriggerProps = {\n /** The content of the trigger */\n children: React.ReactNode;\n /** Whether the trigger should render a button element, or pass its props to the child element */\n hasButtonWrapper?: boolean;\n};\n\nconst PopoverTrigger = ({\n children,\n hasButtonWrapper = false,\n ref,\n ...props\n}: CommonProps<'button', PopoverTriggerProps>) => {\n const context = usePopoverContext();\n // Example from floating UI\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n const childrenProps = (children as any).props;\n const mergedRefs = useMergeRefs([\n context.refs.setReference,\n ref,\n childrenProps?.ref,\n ]);\n\n // `hasButtonWrapper` allows the user to pass any element as the anchor\n if (hasButtonWrapper && React.isValidElement(children)) {\n return React.cloneElement(\n children,\n context.getReferenceProps({\n ...props,\n ...childrenProps,\n 'data-state': context.isOpen ? 'open' : 'closed',\n ref: mergedRefs,\n }),\n );\n }\n return (\n <button\n ref={context.refs.setReference}\n type=\"button\"\n data-state={context.isOpen ? 'open' : 'closed'}\n {...context.getReferenceProps(props)}\n >\n {children}\n </button>\n );\n};\n\ntype PopoverContentProps = {\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n};\n\nconst PopoverContent = <T extends React.ElementType = 'div'>({\n as,\n className,\n style,\n children,\n htmlAttributes,\n ref,\n ...restProps\n}: PolymorphicCommonProps<T, PopoverContentProps>) => {\n const { context: floatingContext, ...context } = usePopoverContext();\n\n const refs = useMergeRefs([context.refs.setFloating, ref]);\n\n const { themeClassName } = useNeedleTheme();\n\n const classes = classNames('ndl-popover', themeClassName, className);\n const Component: React.ElementType = as ?? 'div';\n\n // Patch to not get axe errors for the focus guards\n // To be noted is that axe gives us a false positive error here since the focus guards directly pass focus to other elements\n // https://github.com/floating-ui/floating-ui/issues/2462\n usePatchFloatingFocusGuards();\n\n if (!floatingContext.open) {\n return null;\n }\n\n return (\n <ConditionalWrap\n shouldWrap={context.isPortaled}\n wrap={(wrapChildren) => (\n <FloatingPortal\n root={\n (context.anchorElementAsPortalAnchor ?? false)\n ? (context.refs.reference.current as HTMLElement | null)\n : undefined\n }\n >\n {wrapChildren}\n </FloatingPortal>\n )}\n >\n <FloatingFocusManager\n context={floatingContext}\n modal={context.shouldCaptureFocus}\n initialFocus={context.initialFocus}\n >\n <Component\n className={classes}\n aria-labelledby={context.labelId}\n aria-describedby={context.descriptionId}\n style={{\n ...context.floatingStyles,\n ...context.transitionStyles,\n ...style,\n }}\n ref={refs}\n {...context.getFloatingProps({ ...htmlAttributes })}\n {...restProps}\n >\n {children}\n </Component>\n </FloatingFocusManager>\n </ConditionalWrap>\n );\n};\n\nconst Popover = Object.assign(PopoverComponent, {\n Content: PopoverContent,\n Trigger: PopoverTrigger,\n});\n\nexport { Popover };\n"]}
1
+ {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../../src/popover/Popover.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {\n FloatingFocusManager,\n FloatingPortal,\n type OffsetOptions,\n type Placement,\n useMergeRefs,\n} from '@floating-ui/react';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport {\n type CommonProps,\n type PolymorphicCommonProps,\n} from '../_common/types';\nimport { ConditionalWrap } from '../conditional-wrap';\nimport { useIsInsideDialog } from '../dialog/dialog-context';\nimport { useNeedleTheme } from '../theme/ThemeProvider';\nimport { usePopover } from './use-popover';\nimport { usePatchFloatingFocusGuards } from './usePatchFloatingFocusGuards';\n\ntype PlacementOptions =\n | 'bottom-end-top-end'\n | 'bottom-start-top-start'\n | 'bottom-middle-top-middle'\n | 'top-end-bottom-end'\n | 'top-start-bottom-start'\n | 'top-middle-bottom-middle'\n | 'bottom-start-bottom-end'\n | 'top-start-top-end'\n | 'middle-start-middle-end'\n | 'bottom-end-bottom-start'\n | 'top-end-top-start'\n | 'middle-end-middle-start';\n\nexport const placementTranslation: Record<PlacementOptions, Placement> = {\n 'bottom-end-bottom-start': 'right-end',\n 'bottom-end-top-end': 'bottom-end',\n 'bottom-middle-top-middle': 'bottom',\n 'bottom-start-bottom-end': 'left-end',\n 'bottom-start-top-start': 'bottom-start',\n 'middle-end-middle-start': 'right',\n 'middle-start-middle-end': 'left',\n 'top-end-bottom-end': 'top-end',\n 'top-end-top-start': 'right-start',\n 'top-middle-bottom-middle': 'top',\n 'top-start-bottom-start': 'top-start',\n 'top-start-top-end': 'left-start',\n};\ntype PopoverProps = {\n /** if the popover is open */\n isOpen?: boolean;\n /** The content of the popover */\n children?: React.ReactNode;\n /** Can be used if the anchor should be separated from the trigger */\n anchorElement?: Element | null;\n /** If the anchorPosition is provided the anchorElement will be ignored */\n anchorPosition?: {\n x: number;\n y: number;\n };\n /** The placement of the floating element is determined by two sets of words. The first set of words specifies the point on the anchor element where the floating element will be attached. The second set of coordinates specifies the point on the floating element that will attach to the anchor element.*/\n placement?: PlacementOptions;\n /** can take either a number, an object or a function. Full documentation here: https://floating-ui.com/docs/offset */\n offset?: OffsetOptions;\n /** Called when an internal state change is triggered, when the floating element either opens or closes. It is not called when `isOpen` is updated by the consumer. */\n onOpenChange?: (isOpen: boolean, event?: Event) => void;\n /** Use anchorEl for portal's container. Should be used if the popover is portaled and is inside a Dialog for example. */\n hasAnchorPortal?: boolean;\n /** If the popover should constrain the focus inside the popover while open */\n shouldCaptureFocus?: boolean;\n /** Which element to initially focus. **/\n initialFocus?: number | React.RefObject<HTMLElement | null>;\n /** The role of the popover */\n role?:\n | 'tooltip'\n | 'dialog'\n | 'alertdialog'\n | 'menu'\n | 'listbox'\n | 'grid'\n | 'tree';\n /** If the popover should close when the user clicks outside of it */\n closeOnClickOutside?: boolean;\n /** The strategy of the popover. Fixed should be used when the popover is inside a Dialog. */\n strategy?: 'fixed' | 'absolute';\n /** Whether the content is rendered in a portal */\n isPortaled?: boolean;\n};\n\ntype ContextType = ReturnType<typeof usePopover> | null;\n\nconst PopoverContext = React.createContext<ContextType>(null);\n\nexport const usePopoverContext = () => {\n const context = React.useContext(PopoverContext);\n\n if (context === null) {\n throw new Error('Popover components must be wrapped in <Popover />');\n }\n\n return context;\n};\n\nconst PopoverComponent = ({\n children,\n anchorElement,\n placement,\n isOpen,\n offset,\n anchorPosition,\n hasAnchorPortal: hasAnchorPortalProp,\n shouldCaptureFocus = false,\n initialFocus,\n onOpenChange,\n role,\n closeOnClickOutside = true,\n isPortaled: isPortaledProp,\n strategy: strategyProp,\n}: PopoverProps) => {\n const isInsideDialog = useIsInsideDialog();\n\n const strategy = isInsideDialog ? 'fixed' : 'absolute';\n const hasAnchorPortal = isInsideDialog;\n const isPortaled = !isInsideDialog;\n\n const popover = usePopover({\n anchorElement: anchorElement,\n anchorElementAsPortalAnchor: hasAnchorPortalProp ?? hasAnchorPortal,\n anchorPosition,\n closeOnClickOutside,\n initialFocus,\n isOpen: isOpen,\n isPortaled: isPortaledProp ?? isPortaled,\n offsetOption: offset,\n onOpenChange: onOpenChange,\n placement: placement ? placementTranslation[placement] : undefined,\n role,\n shouldCaptureFocus: shouldCaptureFocus,\n strategy: strategyProp ?? strategy,\n });\n\n return (\n <PopoverContext.Provider value={popover}>\n {children}\n </PopoverContext.Provider>\n );\n};\n\ntype PopoverTriggerProps = {\n /** The content of the trigger */\n children: React.ReactNode;\n /** Whether the trigger should render a button element, or pass its props to the child element */\n hasButtonWrapper?: boolean;\n};\n\nconst PopoverTrigger = ({\n children,\n hasButtonWrapper = false,\n ref,\n ...props\n}: CommonProps<'button', PopoverTriggerProps>) => {\n const context = usePopoverContext();\n // Example from floating UI\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n const childrenProps = (children as any).props;\n const mergedRefs = useMergeRefs([\n context.refs.setReference,\n ref,\n childrenProps?.ref,\n ]);\n\n // `hasButtonWrapper` allows the user to pass any element as the anchor\n if (hasButtonWrapper && React.isValidElement(children)) {\n return React.cloneElement(\n children,\n context.getReferenceProps({\n ...props,\n ...childrenProps,\n 'data-state': context.isOpen ? 'open' : 'closed',\n ref: mergedRefs,\n }),\n );\n }\n return (\n <button\n ref={context.refs.setReference}\n type=\"button\"\n data-state={context.isOpen ? 'open' : 'closed'}\n {...context.getReferenceProps(props)}\n >\n {children}\n </button>\n );\n};\n\ntype PopoverContentProps = {\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n};\n\nconst PopoverContent = <T extends React.ElementType = 'div'>({\n as,\n className,\n style,\n children,\n htmlAttributes,\n ref,\n ...restProps\n}: PolymorphicCommonProps<T, PopoverContentProps>) => {\n const { context: floatingContext, ...context } = usePopoverContext();\n\n const refs = useMergeRefs([context.refs.setFloating, ref]);\n\n const { themeClassName } = useNeedleTheme();\n\n const classes = classNames('ndl-popover', themeClassName, className);\n const Component: React.ElementType = as ?? 'div';\n\n // Patch to not get axe errors for the focus guards\n // To be noted is that axe gives us a false positive error here since the focus guards directly pass focus to other elements\n // https://github.com/floating-ui/floating-ui/issues/2462\n usePatchFloatingFocusGuards();\n\n if (!floatingContext.open) {\n return null;\n }\n\n return (\n <ConditionalWrap\n shouldWrap={context.isPortaled}\n wrap={(wrapChildren) => (\n <FloatingPortal\n root={\n (context.anchorElementAsPortalAnchor ?? false)\n ? (context.refs.reference.current as HTMLElement | null)\n : undefined\n }\n >\n {wrapChildren}\n </FloatingPortal>\n )}\n >\n <FloatingFocusManager\n context={floatingContext}\n modal={context.shouldCaptureFocus}\n initialFocus={context.initialFocus}\n >\n <Component\n className={classes}\n aria-labelledby={context.labelId}\n aria-describedby={context.descriptionId}\n style={{\n ...context.floatingStyles,\n ...context.transitionStyles,\n ...style,\n }}\n ref={refs}\n {...context.getFloatingProps({ ...htmlAttributes })}\n {...restProps}\n >\n {children}\n </Component>\n </FloatingFocusManager>\n </ConditionalWrap>\n );\n};\n\nconst Popover = Object.assign(PopoverComponent, {\n Content: PopoverContent,\n Trigger: PopoverTrigger,\n});\n\nexport { Popover };\n"]}
@@ -23,7 +23,9 @@ export { default as PopoverNoButtonWrapper } from './popover-no-button-wrapper.s
23
23
  export { default as PopoverSeparateAnchor } from './popover-separate-anchor.story';
24
24
  export { default as PopoverInDialog } from './popover-in-dialog.story';
25
25
  export { default as PopoverCustomOffset } from './popover-custom-offset.story';
26
+ export { default as PopoverControlled } from './popover-controlled.story';
26
27
  import { removeLicenseHeader } from '../../_common/export-stories-utils';
28
+ import PopoverControlledSrcRaw from './popover-controlled.story?raw';
27
29
  import PopoverCustomOffsetSrcRaw from './popover-custom-offset.story?raw';
28
30
  import PopoverDefaultSrcRaw from './popover-default.story?raw';
29
31
  import PopoverInDialogSrcRaw from './popover-in-dialog.story?raw';
@@ -34,4 +36,5 @@ export const PopoverNoButtonWrapperSrc = removeLicenseHeader(PopoverNoButtonWrap
34
36
  export const PopoverSeparateAnchorSrc = removeLicenseHeader(PopoverSeparateAnchorSrcRaw);
35
37
  export const PopoverInDialogSrc = removeLicenseHeader(PopoverInDialogSrcRaw);
36
38
  export const PopoverCustomOffsetSrc = removeLicenseHeader(PopoverCustomOffsetSrcRaw);
39
+ export const PopoverControlledSrc = removeLicenseHeader(PopoverControlledSrcRaw);
37
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/popover/stories/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,yBAAyB,MAAM,mCAAmC,CAAC;AAC1E,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAC/D,OAAO,qBAAqB,MAAM,+BAA+B,CAAC;AAClE,OAAO,4BAA4B,MAAM,uCAAuC,CAAC;AACjF,OAAO,2BAA2B,MAAM,qCAAqC,CAAC;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,yBAAyB,GAAG,mBAAmB,CAC1D,4BAA4B,CAC7B,CAAC;AACF,MAAM,CAAC,MAAM,wBAAwB,GAAG,mBAAmB,CACzD,2BAA2B,CAC5B,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CACvD,yBAAyB,CAC1B,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nexport { default as PopoverDefault } from './popover-default.story';\nexport { default as PopoverNoButtonWrapper } from './popover-no-button-wrapper.story';\nexport { default as PopoverSeparateAnchor } from './popover-separate-anchor.story';\nexport { default as PopoverInDialog } from './popover-in-dialog.story';\nexport { default as PopoverCustomOffset } from './popover-custom-offset.story';\n\nimport { removeLicenseHeader } from '../../_common/export-stories-utils';\nimport PopoverCustomOffsetSrcRaw from './popover-custom-offset.story?raw';\nimport PopoverDefaultSrcRaw from './popover-default.story?raw';\nimport PopoverInDialogSrcRaw from './popover-in-dialog.story?raw';\nimport PopoverNoButtonWrapperSrcRaw from './popover-no-button-wrapper.story?raw';\nimport PopoverSeparateAnchorSrcRaw from './popover-separate-anchor.story?raw';\n\nexport const PopoverDefaultSrc = removeLicenseHeader(PopoverDefaultSrcRaw);\nexport const PopoverNoButtonWrapperSrc = removeLicenseHeader(\n PopoverNoButtonWrapperSrcRaw,\n);\nexport const PopoverSeparateAnchorSrc = removeLicenseHeader(\n PopoverSeparateAnchorSrcRaw,\n);\nexport const PopoverInDialogSrc = removeLicenseHeader(PopoverInDialogSrcRaw);\nexport const PopoverCustomOffsetSrc = removeLicenseHeader(\n PopoverCustomOffsetSrcRaw,\n);\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/popover/stories/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,uBAAuB,MAAM,gCAAgC,CAAC;AACrE,OAAO,yBAAyB,MAAM,mCAAmC,CAAC;AAC1E,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAC/D,OAAO,qBAAqB,MAAM,+BAA+B,CAAC;AAClE,OAAO,4BAA4B,MAAM,uCAAuC,CAAC;AACjF,OAAO,2BAA2B,MAAM,qCAAqC,CAAC;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,yBAAyB,GAAG,mBAAmB,CAC1D,4BAA4B,CAC7B,CAAC;AACF,MAAM,CAAC,MAAM,wBAAwB,GAAG,mBAAmB,CACzD,2BAA2B,CAC5B,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CACvD,yBAAyB,CAC1B,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CACrD,uBAAuB,CACxB,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nexport { default as PopoverDefault } from './popover-default.story';\nexport { default as PopoverNoButtonWrapper } from './popover-no-button-wrapper.story';\nexport { default as PopoverSeparateAnchor } from './popover-separate-anchor.story';\nexport { default as PopoverInDialog } from './popover-in-dialog.story';\nexport { default as PopoverCustomOffset } from './popover-custom-offset.story';\nexport { default as PopoverControlled } from './popover-controlled.story';\n\nimport { removeLicenseHeader } from '../../_common/export-stories-utils';\nimport PopoverControlledSrcRaw from './popover-controlled.story?raw';\nimport PopoverCustomOffsetSrcRaw from './popover-custom-offset.story?raw';\nimport PopoverDefaultSrcRaw from './popover-default.story?raw';\nimport PopoverInDialogSrcRaw from './popover-in-dialog.story?raw';\nimport PopoverNoButtonWrapperSrcRaw from './popover-no-button-wrapper.story?raw';\nimport PopoverSeparateAnchorSrcRaw from './popover-separate-anchor.story?raw';\n\nexport const PopoverDefaultSrc = removeLicenseHeader(PopoverDefaultSrcRaw);\nexport const PopoverNoButtonWrapperSrc = removeLicenseHeader(\n PopoverNoButtonWrapperSrcRaw,\n);\nexport const PopoverSeparateAnchorSrc = removeLicenseHeader(\n PopoverSeparateAnchorSrcRaw,\n);\nexport const PopoverInDialogSrc = removeLicenseHeader(PopoverInDialogSrcRaw);\nexport const PopoverCustomOffsetSrc = removeLicenseHeader(\n PopoverCustomOffsetSrcRaw,\n);\nexport const PopoverControlledSrc = removeLicenseHeader(\n PopoverControlledSrcRaw,\n);\n"]}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ *
4
+ * Copyright (c) "Neo4j"
5
+ * Neo4j Sweden AB [http://neo4j.com]
6
+ *
7
+ * This file is part of Neo4j.
8
+ *
9
+ * Neo4j is free software: you can redistribute it and/or modify
10
+ * it under the terms of the GNU General Public License as published by
11
+ * the Free Software Foundation, either version 3 of the License, or
12
+ * (at your option) any later version.
13
+ *
14
+ * This program is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ * GNU General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License
20
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
+ */
22
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
23
+ import { FilledButton, Popover } from '@neo4j-ndl/react';
24
+ import { useState } from 'react';
25
+ const Component = () => {
26
+ const [isOpen, setIsOpen] = useState(false);
27
+ return (_jsxs(Popover, { isOpen: isOpen, onOpenChange: (open) => {
28
+ setIsOpen(open);
29
+ }, children: [_jsx(Popover.Trigger, { hasButtonWrapper: true, children: _jsx(FilledButton, { onClick: () => setIsOpen((prev) => !prev), children: "Open Popover" }) }), _jsx(Popover.Content, { className: "n-p-token-16", children: "Popover content" })] }));
30
+ };
31
+ export default Component;
32
+ //# sourceMappingURL=popover-controlled.story.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-controlled.story.js","sourceRoot":"","sources":["../../../../src/popover/stories/popover-controlled.story.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,CACL,MAAC,OAAO,IACN,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,aAED,KAAC,OAAO,CAAC,OAAO,IAAC,gBAAgB,kBAC/B,KAAC,YAAY,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,6BAExC,GACC,EAClB,KAAC,OAAO,CAAC,OAAO,IAAC,SAAS,EAAC,cAAc,gCAEvB,IACV,CACX,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, Popover } from '@neo4j-ndl/react';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [isOpen, setIsOpen] = useState(false);\n return (\n <Popover\n isOpen={isOpen}\n onOpenChange={(open) => {\n setIsOpen(open);\n }}\n >\n <Popover.Trigger hasButtonWrapper>\n <FilledButton onClick={() => setIsOpen((prev) => !prev)}>\n Open Popover\n </FilledButton>\n </Popover.Trigger>\n <Popover.Content className=\"n-p-token-16\">\n Popover content\n </Popover.Content>\n </Popover>\n );\n};\n\nexport default Component;\n"]}
@@ -23,11 +23,13 @@ import { tokens } from '@neo4j-ndl/base';
23
23
  import { useMemo, useState } from 'react';
24
24
  export function usePopover({ isInitialOpen = false, placement = 'bottom', isOpen: controlledOpen, onOpenChange: setControlledOpen, offsetOption = 10, anchorElement, anchorPosition, anchorElementAsPortalAnchor, shouldCaptureFocus, initialFocus, role: roleProp, closeOnClickOutside, strategy = 'absolute', isPortaled = true, } = {}) {
25
25
  var _a;
26
+ // Internal state for uncontrolled mode (no `isOpen` prop provided).
26
27
  const [isOpenUncontrolled, setIsOpenUncontrolled] = useState(isInitialOpen);
27
28
  const [labelId, setLabelId] = useState();
28
29
  const [descriptionId, setDescriptionId] = useState();
30
+ // Controlled/uncontrolled pattern: prefer the consumer-provided `isOpen`,
31
+ // falling back to internal state when not provided.
29
32
  const isOpen = controlledOpen !== null && controlledOpen !== void 0 ? controlledOpen : isOpenUncontrolled;
30
- const setIsOpen = setControlledOpen !== null && setControlledOpen !== void 0 ? setControlledOpen : setIsOpenUncontrolled;
31
33
  const data = useFloating({
32
34
  elements: {
33
35
  reference: anchorElement,
@@ -41,8 +43,11 @@ export function usePopover({ isInitialOpen = false, placement = 'bottom', isOpen
41
43
  }),
42
44
  shift(),
43
45
  ],
46
+ // Floating UI calls this when interactions (useClick, useDismiss, etc.)
47
+ // trigger an open/close. We always sync internal state so uncontrolled
48
+ // mode works, and notify the consumer callback exactly once if provided.
44
49
  onOpenChange: (open, event) => {
45
- setIsOpen(open);
50
+ setIsOpenUncontrolled(open);
46
51
  setControlledOpen === null || setControlledOpen === void 0 ? void 0 : setControlledOpen(open, event);
47
52
  },
48
53
  open: isOpen,
@@ -51,6 +56,8 @@ export function usePopover({ isInitialOpen = false, placement = 'bottom', isOpen
51
56
  whileElementsMounted: autoUpdate,
52
57
  });
53
58
  const context = data.context;
59
+ // Only enable built-in click-to-toggle in uncontrolled mode. In controlled
60
+ // mode the consumer owns the open state and wires up their own trigger.
54
61
  const click = useClick(context, {
55
62
  enabled: controlledOpen === undefined,
56
63
  });
@@ -69,8 +76,7 @@ export function usePopover({ isInitialOpen = false, placement = 'bottom', isOpen
69
76
  const { styles: transitionStyles } = useTransitionStyles(context, {
70
77
  duration: (_a = Number.parseInt(tokens.motion.duration.quick)) !== null && _a !== void 0 ? _a : 0,
71
78
  });
72
- return useMemo(() => (Object.assign(Object.assign(Object.assign({ isOpen,
73
- setIsOpen }, interactions), data), { transitionStyles,
79
+ return useMemo(() => (Object.assign(Object.assign(Object.assign({ isOpen }, interactions), data), { transitionStyles,
74
80
  labelId,
75
81
  descriptionId,
76
82
  setLabelId,
@@ -80,7 +86,6 @@ export function usePopover({ isInitialOpen = false, placement = 'bottom', isOpen
80
86
  initialFocus,
81
87
  isPortaled })), [
82
88
  isOpen,
83
- setIsOpen,
84
89
  interactions,
85
90
  data,
86
91
  transitionStyles,
@@ -1 +1 @@
1
- {"version":3,"file":"use-popover.js","sourceRoot":"","sources":["../../../src/popover/use-popover.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {\n autoUpdate,\n flip,\n offset,\n type OffsetOptions,\n type Placement,\n shift,\n useClick,\n useClientPoint,\n useDismiss,\n useFloating,\n useInteractions,\n type UseInteractionsReturn,\n useRole,\n useTransitionStyles,\n} from '@floating-ui/react';\nimport { tokens } from '@neo4j-ndl/base';\nimport { useMemo, useState } from 'react';\n\nexport interface PopoverOptions {\n isInitialOpen?: boolean;\n placement?: Placement;\n isOpen?: boolean;\n onOpenChange?: (open: boolean, event?: Event) => void;\n offsetOption?: OffsetOptions;\n anchorElement?: Element | null;\n anchorPosition?: {\n x: number;\n y: number;\n };\n anchorElementAsPortalAnchor?: boolean;\n shouldCaptureFocus?: boolean;\n initialFocus?: number | React.RefObject<HTMLElement | null>;\n role?:\n | 'tooltip'\n | 'dialog'\n | 'alertdialog'\n | 'menu'\n | 'listbox'\n | 'grid'\n | 'tree';\n closeOnClickOutside?: boolean;\n strategy?: 'fixed' | 'absolute';\n isPortaled?: boolean;\n}\n\nexport interface UsePopoverReturn\n extends UseInteractionsReturn, ReturnType<typeof useFloating> {\n isOpen: boolean;\n setIsOpen: (isOpen: boolean) => void;\n labelId: string | undefined;\n descriptionId: string | undefined;\n transitionStyles: React.CSSProperties;\n setLabelId: (labelId: string | undefined) => void;\n setDescriptionId: (descriptionId: string | undefined) => void;\n anchorElementAsPortalAnchor: boolean | undefined;\n shouldCaptureFocus: boolean | undefined;\n initialFocus: number | React.RefObject<HTMLElement | null> | undefined;\n isPortaled: boolean;\n}\n\nexport function usePopover({\n isInitialOpen = false,\n placement = 'bottom',\n isOpen: controlledOpen,\n onOpenChange: setControlledOpen,\n offsetOption = 10,\n anchorElement,\n anchorPosition,\n anchorElementAsPortalAnchor,\n shouldCaptureFocus,\n initialFocus,\n role: roleProp,\n closeOnClickOutside,\n strategy = 'absolute',\n isPortaled = true,\n}: PopoverOptions = {}): UsePopoverReturn {\n const [isOpenUncontrolled, setIsOpenUncontrolled] = useState(isInitialOpen);\n const [labelId, setLabelId] = useState<string | undefined>();\n const [descriptionId, setDescriptionId] = useState<string | undefined>();\n const isOpen = controlledOpen ?? isOpenUncontrolled;\n const setIsOpen = setControlledOpen ?? setIsOpenUncontrolled;\n const data = useFloating({\n elements: {\n reference: anchorElement,\n },\n middleware: [\n offset(offsetOption),\n flip({\n crossAxis: placement.includes('-'),\n fallbackAxisSideDirection: 'end',\n padding: 5,\n }),\n shift(),\n ],\n onOpenChange: (open, event) => {\n setIsOpen(open);\n setControlledOpen?.(open, event);\n },\n open: isOpen,\n placement: placement,\n strategy,\n whileElementsMounted: autoUpdate,\n });\n const context = data.context;\n\n const click = useClick(context, {\n enabled: controlledOpen === undefined,\n });\n\n const dismiss = useDismiss(context, {\n outsidePress: closeOnClickOutside,\n });\n const role = useRole(context, {\n role: roleProp,\n });\n\n const clientPoint = useClientPoint(context, {\n enabled: anchorPosition !== undefined,\n x: anchorPosition?.x,\n y: anchorPosition?.y,\n });\n\n const interactions = useInteractions([click, dismiss, role, clientPoint]);\n\n const { styles: transitionStyles } = useTransitionStyles(context, {\n duration: Number.parseInt(tokens.motion.duration.quick) ?? 0,\n });\n\n return useMemo(\n () => ({\n isOpen,\n setIsOpen,\n ...interactions,\n ...data,\n transitionStyles,\n labelId,\n descriptionId,\n setLabelId,\n setDescriptionId,\n anchorElementAsPortalAnchor,\n shouldCaptureFocus,\n initialFocus,\n isPortaled,\n }),\n [\n isOpen,\n setIsOpen,\n interactions,\n data,\n transitionStyles,\n labelId,\n descriptionId,\n anchorElementAsPortalAnchor,\n shouldCaptureFocus,\n initialFocus,\n isPortaled,\n ],\n );\n}\n"]}
1
+ {"version":3,"file":"use-popover.js","sourceRoot":"","sources":["../../../src/popover/use-popover.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {\n autoUpdate,\n flip,\n offset,\n type OffsetOptions,\n type Placement,\n shift,\n useClick,\n useClientPoint,\n useDismiss,\n useFloating,\n useInteractions,\n type UseInteractionsReturn,\n useRole,\n useTransitionStyles,\n} from '@floating-ui/react';\nimport { tokens } from '@neo4j-ndl/base';\nimport { useMemo, useState } from 'react';\n\nexport interface PopoverOptions {\n isInitialOpen?: boolean;\n placement?: Placement;\n isOpen?: boolean;\n onOpenChange?: (open: boolean, event?: Event) => void;\n offsetOption?: OffsetOptions;\n anchorElement?: Element | null;\n anchorPosition?: {\n x: number;\n y: number;\n };\n anchorElementAsPortalAnchor?: boolean;\n shouldCaptureFocus?: boolean;\n initialFocus?: number | React.RefObject<HTMLElement | null>;\n role?:\n | 'tooltip'\n | 'dialog'\n | 'alertdialog'\n | 'menu'\n | 'listbox'\n | 'grid'\n | 'tree';\n closeOnClickOutside?: boolean;\n strategy?: 'fixed' | 'absolute';\n isPortaled?: boolean;\n}\n\nexport interface UsePopoverReturn\n extends UseInteractionsReturn, ReturnType<typeof useFloating> {\n isOpen: boolean;\n labelId: string | undefined;\n descriptionId: string | undefined;\n transitionStyles: React.CSSProperties;\n setLabelId: (labelId: string | undefined) => void;\n setDescriptionId: (descriptionId: string | undefined) => void;\n anchorElementAsPortalAnchor: boolean | undefined;\n shouldCaptureFocus: boolean | undefined;\n initialFocus: number | React.RefObject<HTMLElement | null> | undefined;\n isPortaled: boolean;\n}\n\nexport function usePopover({\n isInitialOpen = false,\n placement = 'bottom',\n isOpen: controlledOpen,\n onOpenChange: setControlledOpen,\n offsetOption = 10,\n anchorElement,\n anchorPosition,\n anchorElementAsPortalAnchor,\n shouldCaptureFocus,\n initialFocus,\n role: roleProp,\n closeOnClickOutside,\n strategy = 'absolute',\n isPortaled = true,\n}: PopoverOptions = {}): UsePopoverReturn {\n // Internal state for uncontrolled mode (no `isOpen` prop provided).\n const [isOpenUncontrolled, setIsOpenUncontrolled] = useState(isInitialOpen);\n const [labelId, setLabelId] = useState<string | undefined>();\n const [descriptionId, setDescriptionId] = useState<string | undefined>();\n\n // Controlled/uncontrolled pattern: prefer the consumer-provided `isOpen`,\n // falling back to internal state when not provided.\n const isOpen = controlledOpen ?? isOpenUncontrolled;\n\n const data = useFloating({\n elements: {\n reference: anchorElement,\n },\n middleware: [\n offset(offsetOption),\n flip({\n crossAxis: placement.includes('-'),\n fallbackAxisSideDirection: 'end',\n padding: 5,\n }),\n shift(),\n ],\n // Floating UI calls this when interactions (useClick, useDismiss, etc.)\n // trigger an open/close. We always sync internal state so uncontrolled\n // mode works, and notify the consumer callback exactly once if provided.\n onOpenChange: (open, event) => {\n setIsOpenUncontrolled(open);\n setControlledOpen?.(open, event);\n },\n open: isOpen,\n placement: placement,\n strategy,\n whileElementsMounted: autoUpdate,\n });\n const context = data.context;\n\n // Only enable built-in click-to-toggle in uncontrolled mode. In controlled\n // mode the consumer owns the open state and wires up their own trigger.\n const click = useClick(context, {\n enabled: controlledOpen === undefined,\n });\n\n const dismiss = useDismiss(context, {\n outsidePress: closeOnClickOutside,\n });\n const role = useRole(context, {\n role: roleProp,\n });\n\n const clientPoint = useClientPoint(context, {\n enabled: anchorPosition !== undefined,\n x: anchorPosition?.x,\n y: anchorPosition?.y,\n });\n\n const interactions = useInteractions([click, dismiss, role, clientPoint]);\n\n const { styles: transitionStyles } = useTransitionStyles(context, {\n duration: Number.parseInt(tokens.motion.duration.quick) ?? 0,\n });\n\n return useMemo(\n () => ({\n isOpen,\n ...interactions,\n ...data,\n transitionStyles,\n labelId,\n descriptionId,\n setLabelId,\n setDescriptionId,\n anchorElementAsPortalAnchor,\n shouldCaptureFocus,\n initialFocus,\n isPortaled,\n }),\n [\n isOpen,\n interactions,\n data,\n transitionStyles,\n labelId,\n descriptionId,\n anchorElementAsPortalAnchor,\n shouldCaptureFocus,\n initialFocus,\n isPortaled,\n ],\n );\n}\n"]}
@@ -129,7 +129,7 @@ export const CustomClearIndication = ({ size, }) => function Component(_a) {
129
129
  e.preventDefault();
130
130
  e.stopPropagation();
131
131
  };
132
- const safeInnerProps = Object.assign(Object.assign({}, innerProps), { 'aria-hidden': undefined, onMouseDown: preventAndStop, onTouchEnd: preventAndStop });
132
+ const safeInnerProps = Object.assign(Object.assign({}, innerProps), { 'aria-hidden': undefined, onMouseDown: preventAndStop, onMouseUp: preventAndStop, onTouchEnd: preventAndStop });
133
133
  return (_jsxs(components.ClearIndicator, Object.assign({ className: classes, innerProps: safeInnerProps }, restProps, { children: [_jsx("button", { type: "button", className: "ndl-select-clear-button", onClick: handleClear, onKeyDown: handleKeyDown, "aria-label": "Clear selection", children: _jsx(XMarkIconOutline, {}) }), _jsx("div", { className: "ndl-select-divider" })] })));
134
134
  };
135
135
  export const CustomMultiValue = ({ size, }) => function Component(_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"Overrides.js","sourceRoot":"","sources":["../../../src/select/Overrides.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { tokens } from '@neo4j-ndl/base';\nimport classNames from 'classnames';\nimport {\n type ClearIndicatorProps,\n components,\n type ControlProps,\n type DropdownIndicatorProps,\n type GroupBase,\n type IndicatorsContainerProps,\n type InputProps,\n type MenuProps,\n type MultiValueProps,\n type OptionProps,\n type PlaceholderProps,\n type SingleValueProps,\n type ValueContainerProps,\n} from 'react-select';\nimport {\n type MenuListProps,\n type MenuPortalProps,\n} from 'react-select/dist/declarations/src/components/Menu';\n\nimport { Checkbox } from '../checkbox';\nimport { ChevronDownIconOutline, XMarkIconOutline } from '../icons';\nimport { Tag } from '../tag';\nimport { useNeedleTheme } from '../theme';\nimport { type SelectOverrideCustomProps } from './types';\n\n/**\n * React-select triggers control/indicator interactions on mouseDown which breaks WCAG 2.5.2 Pointer Cancellation.\n * This helper shifts mouseDown to mouseUp to allow users to cancel by dragging away.\n */\nconst shiftMouseDownToMouseUp = (\n innerProps?: React.HTMLAttributes<HTMLDivElement>,\n stopPropagation = false,\n): React.HTMLAttributes<HTMLDivElement> => {\n const baseProps = innerProps ?? {};\n const maybeStopPropagation = (e: React.SyntheticEvent) =>\n stopPropagation && e.stopPropagation();\n\n return {\n ...baseProps,\n onMouseDown: (e) => {\n e.preventDefault();\n maybeStopPropagation(e);\n },\n onMouseUp: (e) => {\n baseProps.onMouseUp?.(e);\n baseProps.onMouseDown?.(e);\n maybeStopPropagation(e);\n },\n onTouchEnd: (e) => {\n baseProps.onTouchEnd?.(e);\n baseProps.onMouseDown?.(e as unknown as React.MouseEvent<HTMLDivElement>);\n maybeStopPropagation(e);\n },\n onTouchStart: (e) => {\n e.preventDefault();\n maybeStopPropagation(e);\n },\n };\n};\n\n/**\n * React-select triggers option selection on click which fires on mouseDown.\n * This helper shifts the click handler to mouseUp/touchEnd to allow users to cancel by dragging away.\n */\nconst shiftOptionClickToMouseUp = (\n innerProps?: React.HTMLAttributes<HTMLDivElement>,\n): React.HTMLAttributes<HTMLDivElement> => {\n const baseProps = innerProps ?? {};\n\n return {\n ...baseProps,\n // Remove onClick to prevent double-execution (onMouseUp already calls it, and browser would fire click after mouseup)\n onClick: undefined,\n onMouseDown: (event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n },\n onMouseUp: (event: React.MouseEvent<HTMLDivElement>) => {\n baseProps.onMouseUp?.(event);\n baseProps.onClick?.(event);\n },\n onTouchEnd: (event: React.TouchEvent<HTMLDivElement>) => {\n baseProps.onTouchEnd?.(event);\n baseProps.onClick?.(event as unknown as React.MouseEvent<HTMLDivElement>);\n },\n onTouchStart: (event: React.TouchEvent<HTMLDivElement>) => {\n event.preventDefault();\n },\n };\n};\n\nexport const DropdownIndicatorCurrying = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component(\n props: DropdownIndicatorProps<OptionType, IsMulti, GroupType>,\n ) {\n const classes = classNames('ndl-select-dropdown-indicator', {\n 'ndl-disabled': props.isDisabled,\n 'ndl-focused': props.isFocused,\n 'ndl-is-multi': props.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n\n // stopPropagation so that we prevent the control from also toggling the menu (double-toggle)\n const indicatorInnerProps = shiftMouseDownToMouseUp(props.innerProps, true);\n\n return (\n <components.DropdownIndicator\n {...props}\n className={classes}\n innerProps={indicatorInnerProps}\n >\n <ChevronDownIconOutline\n className=\"ndl-select-icon\"\n style={{\n transform: props.selectProps.menuIsOpen\n ? 'rotate(180deg)'\n : 'rotate(0deg)',\n transitionDuration: tokens.motion.duration.quick,\n }}\n />\n </components.DropdownIndicator>\n );\n };\n\nexport const CustomClearIndication = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n className,\n innerProps,\n ...restProps\n }: ClearIndicatorProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames('ndl-select-clear', className, {\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n\n const handleClear = () => {\n restProps.clearValue?.();\n };\n\n // Stop propagation to prevent react-select's keyboard handling.\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === '') {\n event.preventDefault();\n }\n event.stopPropagation();\n event.nativeEvent.stopImmediatePropagation?.();\n };\n\n // Prevent react-select's default clear-on-mousedown/touchend behavior.\n const preventAndStop = (e: React.SyntheticEvent) => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n const safeInnerProps: typeof innerProps = {\n ...innerProps,\n 'aria-hidden': undefined, // Remove to allow focusable button inside\n onMouseDown: preventAndStop,\n onTouchEnd: preventAndStop,\n };\n\n return (\n <components.ClearIndicator\n className={classes}\n innerProps={safeInnerProps}\n {...restProps}\n >\n <button\n type=\"button\"\n className=\"ndl-select-clear-button\"\n onClick={handleClear}\n onKeyDown={handleKeyDown}\n aria-label=\"Clear selection\"\n >\n <XMarkIconOutline />\n </button>\n <div className=\"ndl-select-divider\" />\n </components.ClearIndicator>\n );\n };\n\nexport const CustomMultiValue = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: MultiValueProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames('ndl-select-multi-value', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.MultiValueContainer\n {...restProps}\n innerProps={{\n className: classes,\n }}\n >\n <Tag\n size={size}\n onClick={(e) => {\n e.preventDefault();\n restProps.removeProps.onClick?.(\n e as unknown as React.MouseEvent<HTMLDivElement, MouseEvent>,\n );\n }}\n htmlAttributes={{\n onMouseDown: (e) => e.preventDefault(),\n }}\n >\n {children}\n </Tag>\n </components.MultiValueContainer>\n );\n };\n\nexport const CustomPlaceholder = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: PlaceholderProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames('ndl-select-placeholder', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.Placeholder {...restProps} className={classes}>\n {children}\n </components.Placeholder>\n );\n };\n\nexport const CustomControl = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n isClean,\n errorText,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ children, className, ...restProps }: ControlProps) {\n const classes = classNames('ndl-select-control', className, {\n 'ndl-clean': isClean,\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-has-error': !!errorText,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n\n const controlInnerProps = shiftMouseDownToMouseUp(restProps.innerProps);\n\n return (\n <components.Control\n {...restProps}\n className={classes}\n innerProps={controlInnerProps}\n >\n {children}\n </components.Control>\n );\n };\n\nexport const CustomIndicatorsContainer = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: IndicatorsContainerProps) {\n const classes = classNames('ndl-select-indicators-container', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.IndicatorsContainer {...restProps} className={classes}>\n {children}\n </components.IndicatorsContainer>\n );\n };\n\nexport const CustomValueContainer = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: ValueContainerProps) {\n const classes = classNames('ndl-select-value-container', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.ValueContainer {...restProps} className={classes}>\n {children}\n </components.ValueContainer>\n );\n };\n\nexport const CustomInput = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ className, ...restProps }: InputProps) {\n const classes = classNames('ndl-select-input', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return <components.Input {...restProps} className={classes} />;\n };\n\nexport const CustomSingleValue = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ className, ...restProps }: SingleValueProps) {\n const classes = classNames('ndl-select-single-value', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return <components.SingleValue {...restProps} className={classes} />;\n };\n\n/** Overrides that are part of the popover menu */\n\nexport const CustomMenu = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ children, className, ...restProps }: MenuProps) {\n const { themeClassName } = useNeedleTheme();\n const classes = classNames('ndl-select-menu', className, themeClassName, {\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.Menu {...restProps} className={classes}>\n {children}\n </components.Menu>\n );\n };\n\nexport const CustomMenuPortal = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: MenuPortalProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames(className, 'ndl-select-menu-portal', {\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.MenuPortal {...restProps} className={classes}>\n {children}\n </components.MenuPortal>\n );\n };\n\nexport const CustomMenuList = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: MenuListProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames(className, 'ndl-select-menu-list', {\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.MenuList {...restProps} className={classes}>\n {children}\n </components.MenuList>\n );\n };\n\nexport const CustomOption = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: OptionProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames(className, 'ndl-select-option', {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-selected': restProps.isSelected,\n 'ndl-small': size === 'small',\n });\n const optionInnerProps = shiftOptionClickToMouseUp(restProps.innerProps);\n\n return (\n <components.Option\n {...restProps}\n className={classes}\n innerProps={optionInnerProps}\n >\n {restProps.isMulti === true && (\n <Checkbox\n isChecked={restProps.isSelected}\n ariaLabel={restProps.label}\n isDisabled={restProps.isDisabled}\n htmlAttributes={{\n 'aria-hidden': true,\n disabled: true,\n onPointerDown: (e) => {\n e.preventDefault();\n },\n onPointerUp: (e) => {\n restProps.innerProps.onClick?.(e);\n },\n onTouchEnd: (e) => {\n restProps.innerProps.onClick?.(\n e as unknown as React.MouseEvent<HTMLDivElement, MouseEvent>,\n );\n },\n onTouchStart: (e) => {\n e.preventDefault();\n },\n role: 'presentation',\n tabIndex: -1,\n }}\n />\n )}\n {children}\n </components.Option>\n );\n };\n"]}
1
+ {"version":3,"file":"Overrides.js","sourceRoot":"","sources":["../../../src/select/Overrides.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { tokens } from '@neo4j-ndl/base';\nimport classNames from 'classnames';\nimport {\n type ClearIndicatorProps,\n components,\n type ControlProps,\n type DropdownIndicatorProps,\n type GroupBase,\n type IndicatorsContainerProps,\n type InputProps,\n type MenuProps,\n type MultiValueProps,\n type OptionProps,\n type PlaceholderProps,\n type SingleValueProps,\n type ValueContainerProps,\n} from 'react-select';\nimport {\n type MenuListProps,\n type MenuPortalProps,\n} from 'react-select/dist/declarations/src/components/Menu';\n\nimport { Checkbox } from '../checkbox';\nimport { ChevronDownIconOutline, XMarkIconOutline } from '../icons';\nimport { Tag } from '../tag';\nimport { useNeedleTheme } from '../theme';\nimport { type SelectOverrideCustomProps } from './types';\n\n/**\n * React-select triggers control/indicator interactions on mouseDown which breaks WCAG 2.5.2 Pointer Cancellation.\n * This helper shifts mouseDown to mouseUp to allow users to cancel by dragging away.\n */\nconst shiftMouseDownToMouseUp = (\n innerProps?: React.HTMLAttributes<HTMLDivElement>,\n stopPropagation = false,\n): React.HTMLAttributes<HTMLDivElement> => {\n const baseProps = innerProps ?? {};\n const maybeStopPropagation = (e: React.SyntheticEvent) =>\n stopPropagation && e.stopPropagation();\n\n return {\n ...baseProps,\n onMouseDown: (e) => {\n e.preventDefault();\n maybeStopPropagation(e);\n },\n onMouseUp: (e) => {\n baseProps.onMouseUp?.(e);\n baseProps.onMouseDown?.(e);\n maybeStopPropagation(e);\n },\n onTouchEnd: (e) => {\n baseProps.onTouchEnd?.(e);\n baseProps.onMouseDown?.(e as unknown as React.MouseEvent<HTMLDivElement>);\n maybeStopPropagation(e);\n },\n onTouchStart: (e) => {\n e.preventDefault();\n maybeStopPropagation(e);\n },\n };\n};\n\n/**\n * React-select triggers option selection on click which fires on mouseDown.\n * This helper shifts the click handler to mouseUp/touchEnd to allow users to cancel by dragging away.\n */\nconst shiftOptionClickToMouseUp = (\n innerProps?: React.HTMLAttributes<HTMLDivElement>,\n): React.HTMLAttributes<HTMLDivElement> => {\n const baseProps = innerProps ?? {};\n\n return {\n ...baseProps,\n // Remove onClick to prevent double-execution (onMouseUp already calls it, and browser would fire click after mouseup)\n onClick: undefined,\n onMouseDown: (event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n },\n onMouseUp: (event: React.MouseEvent<HTMLDivElement>) => {\n baseProps.onMouseUp?.(event);\n baseProps.onClick?.(event);\n },\n onTouchEnd: (event: React.TouchEvent<HTMLDivElement>) => {\n baseProps.onTouchEnd?.(event);\n baseProps.onClick?.(event as unknown as React.MouseEvent<HTMLDivElement>);\n },\n onTouchStart: (event: React.TouchEvent<HTMLDivElement>) => {\n event.preventDefault();\n },\n };\n};\n\nexport const DropdownIndicatorCurrying = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component(\n props: DropdownIndicatorProps<OptionType, IsMulti, GroupType>,\n ) {\n const classes = classNames('ndl-select-dropdown-indicator', {\n 'ndl-disabled': props.isDisabled,\n 'ndl-focused': props.isFocused,\n 'ndl-is-multi': props.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n\n // stopPropagation so that we prevent the control from also toggling the menu (double-toggle)\n const indicatorInnerProps = shiftMouseDownToMouseUp(props.innerProps, true);\n\n return (\n <components.DropdownIndicator\n {...props}\n className={classes}\n innerProps={indicatorInnerProps}\n >\n <ChevronDownIconOutline\n className=\"ndl-select-icon\"\n style={{\n transform: props.selectProps.menuIsOpen\n ? 'rotate(180deg)'\n : 'rotate(0deg)',\n transitionDuration: tokens.motion.duration.quick,\n }}\n />\n </components.DropdownIndicator>\n );\n };\n\nexport const CustomClearIndication = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n className,\n innerProps,\n ...restProps\n }: ClearIndicatorProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames('ndl-select-clear', className, {\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n\n const handleClear = () => {\n restProps.clearValue?.();\n };\n\n // Stop propagation to prevent react-select's keyboard handling.\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === '') {\n event.preventDefault();\n }\n event.stopPropagation();\n event.nativeEvent.stopImmediatePropagation?.();\n };\n\n // Prevent react-select's default clear-on-mousedown/touchend behavior.\n const preventAndStop = (e: React.SyntheticEvent) => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n const safeInnerProps: typeof innerProps = {\n ...innerProps,\n 'aria-hidden': undefined, // Remove to allow focusable button inside\n onMouseDown: preventAndStop,\n onMouseUp: preventAndStop,\n onTouchEnd: preventAndStop,\n };\n\n return (\n <components.ClearIndicator\n className={classes}\n innerProps={safeInnerProps}\n {...restProps}\n >\n <button\n type=\"button\"\n className=\"ndl-select-clear-button\"\n onClick={handleClear}\n onKeyDown={handleKeyDown}\n aria-label=\"Clear selection\"\n >\n <XMarkIconOutline />\n </button>\n <div className=\"ndl-select-divider\" />\n </components.ClearIndicator>\n );\n };\n\nexport const CustomMultiValue = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: MultiValueProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames('ndl-select-multi-value', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.MultiValueContainer\n {...restProps}\n innerProps={{\n className: classes,\n }}\n >\n <Tag\n size={size}\n onClick={(e) => {\n e.preventDefault();\n restProps.removeProps.onClick?.(\n e as unknown as React.MouseEvent<HTMLDivElement, MouseEvent>,\n );\n }}\n htmlAttributes={{\n onMouseDown: (e) => e.preventDefault(),\n }}\n >\n {children}\n </Tag>\n </components.MultiValueContainer>\n );\n };\n\nexport const CustomPlaceholder = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: PlaceholderProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames('ndl-select-placeholder', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.Placeholder {...restProps} className={classes}>\n {children}\n </components.Placeholder>\n );\n };\n\nexport const CustomControl = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n isClean,\n errorText,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ children, className, ...restProps }: ControlProps) {\n const classes = classNames('ndl-select-control', className, {\n 'ndl-clean': isClean,\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-has-error': !!errorText,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n\n const controlInnerProps = shiftMouseDownToMouseUp(restProps.innerProps);\n\n return (\n <components.Control\n {...restProps}\n className={classes}\n innerProps={controlInnerProps}\n >\n {children}\n </components.Control>\n );\n };\n\nexport const CustomIndicatorsContainer = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: IndicatorsContainerProps) {\n const classes = classNames('ndl-select-indicators-container', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.IndicatorsContainer {...restProps} className={classes}>\n {children}\n </components.IndicatorsContainer>\n );\n };\n\nexport const CustomValueContainer = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: ValueContainerProps) {\n const classes = classNames('ndl-select-value-container', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.ValueContainer {...restProps} className={classes}>\n {children}\n </components.ValueContainer>\n );\n };\n\nexport const CustomInput = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ className, ...restProps }: InputProps) {\n const classes = classNames('ndl-select-input', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return <components.Input {...restProps} className={classes} />;\n };\n\nexport const CustomSingleValue = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ className, ...restProps }: SingleValueProps) {\n const classes = classNames('ndl-select-single-value', className, {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return <components.SingleValue {...restProps} className={classes} />;\n };\n\n/** Overrides that are part of the popover menu */\n\nexport const CustomMenu = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({ children, className, ...restProps }: MenuProps) {\n const { themeClassName } = useNeedleTheme();\n const classes = classNames('ndl-select-menu', className, themeClassName, {\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.Menu {...restProps} className={classes}>\n {children}\n </components.Menu>\n );\n };\n\nexport const CustomMenuPortal = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: MenuPortalProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames(className, 'ndl-select-menu-portal', {\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.MenuPortal {...restProps} className={classes}>\n {children}\n </components.MenuPortal>\n );\n };\n\nexport const CustomMenuList = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: MenuListProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames(className, 'ndl-select-menu-list', {\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n });\n return (\n <components.MenuList {...restProps} className={classes}>\n {children}\n </components.MenuList>\n );\n };\n\nexport const CustomOption = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>({\n size,\n}: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>) =>\n function Component({\n children,\n className,\n ...restProps\n }: OptionProps<OptionType, IsMulti, GroupType>) {\n const classes = classNames(className, 'ndl-select-option', {\n 'ndl-disabled': restProps.isDisabled,\n 'ndl-focused': restProps.isFocused,\n 'ndl-is-multi': restProps.isMulti,\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-selected': restProps.isSelected,\n 'ndl-small': size === 'small',\n });\n const optionInnerProps = shiftOptionClickToMouseUp(restProps.innerProps);\n\n return (\n <components.Option\n {...restProps}\n className={classes}\n innerProps={optionInnerProps}\n >\n {restProps.isMulti === true && (\n <Checkbox\n isChecked={restProps.isSelected}\n ariaLabel={restProps.label}\n isDisabled={restProps.isDisabled}\n htmlAttributes={{\n 'aria-hidden': true,\n disabled: true,\n onPointerDown: (e) => {\n e.preventDefault();\n },\n onPointerUp: (e) => {\n restProps.innerProps.onClick?.(e);\n },\n onTouchEnd: (e) => {\n restProps.innerProps.onClick?.(\n e as unknown as React.MouseEvent<HTMLDivElement, MouseEvent>,\n );\n },\n onTouchStart: (e) => {\n e.preventDefault();\n },\n role: 'presentation',\n tabIndex: -1,\n }}\n />\n )}\n {children}\n </components.Option>\n );\n };\n"]}
@@ -39,7 +39,7 @@ type PopoverProps = {
39
39
  placement?: PlacementOptions;
40
40
  /** can take either a number, an object or a function. Full documentation here: https://floating-ui.com/docs/offset */
41
41
  offset?: OffsetOptions;
42
- /** Called when the floating element is opened or closed */
42
+ /** Called when an internal state change is triggered, when the floating element either opens or closes. It is not called when `isOpen` is updated by the consumer. */
43
43
  onOpenChange?: (isOpen: boolean, event?: Event) => void;
44
44
  /** Use anchorEl for portal's container. Should be used if the popover is portaled and is inside a Dialog for example. */
45
45
  hasAnchorPortal?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/popover/Popover.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,SAAS,EAEf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAO1B,KAAK,gBAAgB,GACjB,oBAAoB,GACpB,wBAAwB,GACxB,0BAA0B,GAC1B,oBAAoB,GACpB,wBAAwB,GACxB,0BAA0B,GAC1B,yBAAyB,GACzB,mBAAmB,GACnB,yBAAyB,GACzB,yBAAyB,GACzB,mBAAmB,GACnB,yBAAyB,CAAC;AAE9B,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAapE,CAAC;AACF,KAAK,YAAY,GAAG;IAClB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qEAAqE;IACrE,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,0EAA0E;IAC1E,cAAc,CAAC,EAAE;QACf,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IACF,+SAA+S;IAC/S,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,yHAAyH;IACzH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACxD,yHAAyH;IACzH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC5D,8BAA8B;IAC9B,IAAI,CAAC,EACD,SAAS,GACT,QAAQ,GACR,aAAa,GACb,MAAM,GACN,SAAS,GACT,MAAM,GACN,MAAM,CAAC;IACX,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAChC,kDAAkD;IAClD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAMF,eAAO,MAAM,iBAAiB,gDAQ7B,CAAC;AA+CF,KAAK,mBAAmB,GAAG;IACzB,iCAAiC;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,iGAAiG;IACjG,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AA0CF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,CAAC;AAqEF,QAAA,MAAM,OAAO,kPAtJV,YAAY;cAmFS,CAAC,SAAS,KAAK,CAAC,WAAW,iFAQhD,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,CAAC;6DAjD9C,WAAW,CAAC,QAAQ,EAAE,mBAAmB,CAAC;CA+G3C,CAAC;AAEH,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/popover/Popover.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,SAAS,EAEf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAO1B,KAAK,gBAAgB,GACjB,oBAAoB,GACpB,wBAAwB,GACxB,0BAA0B,GAC1B,oBAAoB,GACpB,wBAAwB,GACxB,0BAA0B,GAC1B,yBAAyB,GACzB,mBAAmB,GACnB,yBAAyB,GACzB,yBAAyB,GACzB,mBAAmB,GACnB,yBAAyB,CAAC;AAE9B,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAapE,CAAC;AACF,KAAK,YAAY,GAAG;IAClB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qEAAqE;IACrE,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,0EAA0E;IAC1E,cAAc,CAAC,EAAE;QACf,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IACF,+SAA+S;IAC/S,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,yHAAyH;IACzH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,sKAAsK;IACtK,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACxD,yHAAyH;IACzH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC5D,8BAA8B;IAC9B,IAAI,CAAC,EACD,SAAS,GACT,QAAQ,GACR,aAAa,GACb,MAAM,GACN,SAAS,GACT,MAAM,GACN,MAAM,CAAC;IACX,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAChC,kDAAkD;IAClD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAMF,eAAO,MAAM,iBAAiB,gDAQ7B,CAAC;AA+CF,KAAK,mBAAmB,GAAG;IACzB,iCAAiC;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,iGAAiG;IACjG,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AA0CF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,CAAC;AAqEF,QAAA,MAAM,OAAO,kPAtJV,YAAY;cAmFS,CAAC,SAAS,KAAK,CAAC,WAAW,iFAQhD,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,CAAC;6DAjD9C,WAAW,CAAC,QAAQ,EAAE,mBAAmB,CAAC;CA+G3C,CAAC;AAEH,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -23,9 +23,11 @@ export { default as PopoverNoButtonWrapper } from './popover-no-button-wrapper.s
23
23
  export { default as PopoverSeparateAnchor } from './popover-separate-anchor.story';
24
24
  export { default as PopoverInDialog } from './popover-in-dialog.story';
25
25
  export { default as PopoverCustomOffset } from './popover-custom-offset.story';
26
+ export { default as PopoverControlled } from './popover-controlled.story';
26
27
  export declare const PopoverDefaultSrc: string;
27
28
  export declare const PopoverNoButtonWrapperSrc: string;
28
29
  export declare const PopoverSeparateAnchorSrc: string;
29
30
  export declare const PopoverInDialogSrc: string;
30
31
  export declare const PopoverCustomOffsetSrc: string;
32
+ export declare const PopoverControlledSrc: string;
31
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/popover/stories/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAS/E,eAAO,MAAM,iBAAiB,QAA4C,CAAC;AAC3E,eAAO,MAAM,yBAAyB,QAErC,CAAC;AACF,eAAO,MAAM,wBAAwB,QAEpC,CAAC;AACF,eAAO,MAAM,kBAAkB,QAA6C,CAAC;AAC7E,eAAO,MAAM,sBAAsB,QAElC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/popover/stories/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAU1E,eAAO,MAAM,iBAAiB,QAA4C,CAAC;AAC3E,eAAO,MAAM,yBAAyB,QAErC,CAAC;AACF,eAAO,MAAM,wBAAwB,QAEpC,CAAC;AACF,eAAO,MAAM,kBAAkB,QAA6C,CAAC;AAC7E,eAAO,MAAM,sBAAsB,QAElC,CAAC;AACF,eAAO,MAAM,oBAAoB,QAEhC,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
22
+ declare const Component: () => import("react/jsx-runtime").JSX.Element;
23
+ export default Component;
24
+ //# sourceMappingURL=popover-controlled.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-controlled.story.d.ts","sourceRoot":"","sources":["../../../../src/popover/stories/popover-controlled.story.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAKjD,QAAA,MAAM,SAAS,+CAmBd,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -40,7 +40,6 @@ export interface PopoverOptions {
40
40
  }
41
41
  export interface UsePopoverReturn extends UseInteractionsReturn, ReturnType<typeof useFloating> {
42
42
  isOpen: boolean;
43
- setIsOpen: (isOpen: boolean) => void;
44
43
  labelId: string | undefined;
45
44
  descriptionId: string | undefined;
46
45
  transitionStyles: React.CSSProperties;
@@ -1 +1 @@
1
- {"version":3,"file":"use-popover.d.ts","sourceRoot":"","sources":["../../../src/popover/use-popover.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,SAAS,EAKd,WAAW,EAEX,KAAK,qBAAqB,EAG3B,MAAM,oBAAoB,CAAC;AAI5B,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACtD,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE;QACf,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IACF,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,EACD,SAAS,GACT,QAAQ,GACR,aAAa,GACb,MAAM,GACN,SAAS,GACT,MAAM,GACN,MAAM,CAAC;IACX,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBACf,SAAQ,qBAAqB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC;IAC7D,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC;IACtC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,gBAAgB,EAAE,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9D,2BAA2B,EAAE,OAAO,GAAG,SAAS,CAAC;IACjD,kBAAkB,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,YAAY,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IACvE,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,EACzB,aAAqB,EACrB,SAAoB,EACpB,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,iBAAiB,EAC/B,YAAiB,EACjB,aAAa,EACb,cAAc,EACd,2BAA2B,EAC3B,kBAAkB,EAClB,YAAY,EACZ,IAAI,EAAE,QAAQ,EACd,mBAAmB,EACnB,QAAqB,EACrB,UAAiB,GAClB,GAAE,cAAmB,GAAG,gBAAgB,CAmFxC"}
1
+ {"version":3,"file":"use-popover.d.ts","sourceRoot":"","sources":["../../../src/popover/use-popover.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,SAAS,EAKd,WAAW,EAEX,KAAK,qBAAqB,EAG3B,MAAM,oBAAoB,CAAC;AAI5B,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACtD,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE;QACf,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IACF,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,EACD,SAAS,GACT,QAAQ,GACR,aAAa,GACb,MAAM,GACN,SAAS,GACT,MAAM,GACN,MAAM,CAAC;IACX,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBACf,SAAQ,qBAAqB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC;IAC7D,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC;IACtC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,gBAAgB,EAAE,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9D,2BAA2B,EAAE,OAAO,GAAG,SAAS,CAAC;IACjD,kBAAkB,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,YAAY,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IACvE,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,EACzB,aAAqB,EACrB,SAAoB,EACpB,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,iBAAiB,EAC/B,YAAiB,EACjB,aAAa,EACb,cAAc,EACd,2BAA2B,EAC3B,kBAAkB,EAClB,YAAY,EACZ,IAAI,EAAE,QAAQ,EACd,mBAAmB,EACnB,QAAqB,EACrB,UAAiB,GAClB,GAAE,cAAmB,GAAG,gBAAgB,CA0FxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Overrides.d.ts","sourceRoot":"","sources":["../../../src/select/Overrides.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Overrides.d.ts","sourceRoot":"","sources":["../../../src/select/Overrides.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neo4j-ndl/react",
3
- "version": "4.9.13",
3
+ "version": "4.9.15",
4
4
  "sideEffects": false,
5
5
  "description": "React implementation of Neo4j Design System",
6
6
  "keywords": [