@stenajs-webui/tooltip 21.29.2 → 21.29.4

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.
@@ -20,8 +20,8 @@ export interface PopoverProps {
20
20
  renderTrigger: (props: Record<string, unknown>) => ReactNode;
21
21
  restoreFocus?: boolean;
22
22
  returnFocus?: boolean;
23
- initialFocus?: number | React.MutableRefObject<HTMLElement | null>;
24
- appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;
23
+ initialFocus?: number | React.RefObject<HTMLElement | null>;
24
+ appendTo?: HTMLElement | null | React.RefObject<HTMLElement | null>;
25
25
  zIndex?: number;
26
26
  onOpened?: () => void;
27
27
  onClosed?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/components/popover/ActionPrompt.tsx","../src/components/popover/ControlledPopover.tsx","../src/components/popover/Popover.tsx","../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import { Column, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { FlatButton, Spinner, PrimaryButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ActionPromptProps {\n text?: string;\n yesLabel?: string;\n noLabel?: string;\n onYes?: () => void;\n onNo?: () => void;\n loading?: boolean;\n}\n\nexport const ActionPrompt: React.FC<ActionPromptProps> = ({\n text = \"Are you sure?\",\n yesLabel = \"Yes\",\n noLabel = \"No\",\n onNo,\n onYes,\n loading,\n}) => {\n return (\n <Column position={\"relative\"}>\n <div style={{ opacity: loading ? 0 : 1 }}>\n <Text>{text}</Text>\n <Space />\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"}>\n <FlatButton label={noLabel} onClick={onNo} />\n <Space />\n <PrimaryButton label={yesLabel} onClick={onYes} />\n </Row>\n </div>\n {loading && (\n <Row\n justifyContent={\"center\"}\n alignItems={\"center\"}\n left={0}\n top={0}\n width={\"100%\"}\n height={\"100%\"}\n position={\"absolute\"}\n >\n <Spinner size={\"small\"} />\n </Row>\n )}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode, useCallback, useRef } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n shift,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"./Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface ControlledPopoverProps extends PropsWithChildren {\n open: boolean;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n onRequestClose: () => void;\n placement?: Placement;\n hideArrow?: boolean;\n disablePadding?: boolean;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.MutableRefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const ControlledPopover: React.FC<ControlledPopoverProps> = ({\n children,\n ...props\n}) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n </FloatingTree>\n );\n }\n\n return (\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n );\n};\n\nconst ControlledPopoverComponent: React.FC<ControlledPopoverProps> = ({\n children,\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n open,\n onRequestClose,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n zIndex,\n}) => {\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n if (!open) {\n onRequestClose();\n }\n },\n [onRequestClose],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open,\n onOpenChange,\n placement,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n )}\n >\n {children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n","import {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport * as React from \"react\";\nimport { ReactNode, useCallback, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"../popover/Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport type PopoverVariant =\n | \"standard\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"outlined\";\n\nexport type PopoverTheme = \"light\" | \"dark\";\nexport type PopoverTrigger = \"click\" | \"hover\" | \"focus\";\n\nexport type PopoverChildren =\n | ReactNode\n | ((args: PopoverChildrenArgs) => ReactNode);\n\nexport interface PopoverChildrenArgs {\n onRequestClose: () => void;\n}\n\ntype TriggerProp = PopoverTrigger | Array<PopoverTrigger>;\n\nexport interface PopoverProps {\n children?: PopoverChildren;\n placement?: Placement;\n trigger?: TriggerProp;\n hideArrow?: boolean;\n disablePadding?: boolean;\n variant?: PopoverVariant;\n theme?: PopoverTheme;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.MutableRefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n onOpened?: () => void;\n onClosed?: () => void;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Popover: React.FC<PopoverProps> = ({ children, ...props }) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <PopoverComponent {...props}>{children}</PopoverComponent>\n </FloatingTree>\n );\n }\n\n return <PopoverComponent {...props}>{children}</PopoverComponent>;\n};\n\nconst PopoverComponent: React.FC<PopoverProps> = ({\n children,\n variant,\n trigger = \"hover\",\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n zIndex,\n onOpened,\n onClosed,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n setIsOpen(open);\n\n if (open) {\n onOpened?.();\n } else {\n onClosed?.();\n }\n },\n [onClosed, onOpened],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open: isOpen,\n onOpenChange,\n placement,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const onRequestClose = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n const onFocus = useFocus(context, { enabled: hasTrigger(trigger, \"focus\") });\n const onClick = useClick(context, { enabled: hasTrigger(trigger, \"click\") });\n const onHover = useHover(context, {\n enabled: hasTrigger(trigger, \"hover\"),\n handleClose: safePolygon(),\n restMs: 100,\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n onFocus,\n onClick,\n onHover,\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n variant && moduleStyles.withIcon,\n )}\n >\n {typeof children === \"function\"\n ? children({ onRequestClose })\n : children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n\nconst hasTrigger = (\n triggerProp: TriggerProp,\n triggerToCheck: PopoverTrigger,\n): boolean => {\n if (typeof triggerProp === \"string\") {\n return triggerProp === triggerToCheck;\n }\n return triggerProp.includes(triggerToCheck);\n};\n","import { Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { CSSProperties, PropsWithChildren, useRef, useState } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingPortal,\n offset,\n shift,\n useFloating,\n useHover,\n useInteractions,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport moduleStyles from \"./Tooltip.module.css\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport cx from \"classnames\";\nimport {\n Icon,\n stenaExclamationCircle,\n stenaExclamationTriangle,\n stenaInfoCircle,\n} from \"@stenajs-webui/elements\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface TooltipProps extends PropsWithChildren {\n placement?: Placement;\n visible?: boolean;\n label: string;\n variant?: TooltipVariant;\n maxWidth?: CSSProperties[\"maxWidth\"];\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\ntype TooltipVariant = \"info\" | \"warning\" | \"error\";\n\nconst variantIcons = {\n info: stenaInfoCircle,\n warning: stenaExclamationCircle,\n error: stenaExclamationTriangle,\n};\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n visible,\n placement,\n label,\n variant,\n maxWidth = \"500px\",\n appendTo,\n zIndex,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const arrowRef = useRef(null);\n\n const { refs, floatingStyles, context } = useFloating({\n placement: placement,\n open: visible ?? isOpen,\n onOpenChange: setIsOpen,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const hover = useHover(context);\n\n const { getReferenceProps } = useInteractions([hover]);\n\n return (\n <>\n <div ref={refs.setReference} {...getReferenceProps()}>\n {children}\n </div>\n\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <div ref={refs.setFloating} style={{ zIndex, ...floatingStyles }}>\n <div\n style={{ maxWidth, ...styles }}\n className={cx(\n moduleStyles.floating,\n variant && moduleStyles.withIcon,\n )}\n >\n {variant ? (\n <>\n <div\n className={cx(\n moduleStyles.iconWrapper,\n moduleStyles[variant],\n )}\n >\n <Icon icon={variantIcons[variant]} size={16} />\n </div>\n <Space />\n <TooltipText label={label} />\n </>\n ) : (\n <TooltipText label={label} />\n )}\n\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"#333\"}\n />\n </div>\n </div>\n </FloatingPortal>\n )}\n </>\n );\n};\n\nconst TooltipText: React.FC<{ label: string }> = ({ label }) => (\n <Text color={cssColor(\"--lhds-color-ui-50\")} size={\"small\"} variant={\"bold\"}>\n {label}\n </Text>\n);\n"],"names":["ActionPrompt","text","yesLabel","noLabel","onNo","onYes","loading","jsxs","Column","jsx","Text","Space","Row","FlatButton","PrimaryButton","Spinner","ARROW_WIDTH","ARROW_HEIGHT","GAP","ControlledPopover","children","props","useFloatingParentNodeId","FloatingTree","ControlledPopoverComponent","placement","hideArrow","renderTrigger","disablePadding","open","onRequestClose","restoreFocus","returnFocus","initialFocus","appendTo","zIndex","nodeId","useFloatingNodeId","arrowRef","useRef","onOpenChange","useCallback","refs","floatingStyles","context","useFloating","offset","flip","shift","arrow","autoUpdate","isMounted","transitionStyles","useTransitionStyles","dismiss","useDismiss","role","useRole","getReferenceProps","getFloatingProps","useInteractions","Fragment","FloatingNode","FloatingPortal","FloatingFocusManager","cx","moduleStyles","FloatingArrow","Popover","PopoverComponent","variant","trigger","onOpened","onClosed","isOpen","setIsOpen","useState","onFocus","useFocus","hasTrigger","onClick","useClick","onHover","useHover","safePolygon","triggerProp","triggerToCheck","variantIcons","stenaInfoCircle","stenaExclamationCircle","stenaExclamationTriangle","Tooltip","visible","label","maxWidth","styles","hover","Icon","TooltipText","cssColor"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/components/popover/ActionPrompt.tsx","../src/components/popover/ControlledPopover.tsx","../src/components/popover/Popover.tsx","../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import { Column, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { FlatButton, Spinner, PrimaryButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ActionPromptProps {\n text?: string;\n yesLabel?: string;\n noLabel?: string;\n onYes?: () => void;\n onNo?: () => void;\n loading?: boolean;\n}\n\nexport const ActionPrompt: React.FC<ActionPromptProps> = ({\n text = \"Are you sure?\",\n yesLabel = \"Yes\",\n noLabel = \"No\",\n onNo,\n onYes,\n loading,\n}) => {\n return (\n <Column position={\"relative\"}>\n <div style={{ opacity: loading ? 0 : 1 }}>\n <Text>{text}</Text>\n <Space />\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"}>\n <FlatButton label={noLabel} onClick={onNo} />\n <Space />\n <PrimaryButton label={yesLabel} onClick={onYes} />\n </Row>\n </div>\n {loading && (\n <Row\n justifyContent={\"center\"}\n alignItems={\"center\"}\n left={0}\n top={0}\n width={\"100%\"}\n height={\"100%\"}\n position={\"absolute\"}\n >\n <Spinner size={\"small\"} />\n </Row>\n )}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode, useCallback, useRef } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n shift,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"./Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface ControlledPopoverProps extends PropsWithChildren {\n open: boolean;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n onRequestClose: () => void;\n placement?: Placement;\n hideArrow?: boolean;\n disablePadding?: boolean;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.MutableRefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const ControlledPopover: React.FC<ControlledPopoverProps> = ({\n children,\n ...props\n}) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n </FloatingTree>\n );\n }\n\n return (\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n );\n};\n\nconst ControlledPopoverComponent: React.FC<ControlledPopoverProps> = ({\n children,\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n open,\n onRequestClose,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n zIndex,\n}) => {\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n if (!open) {\n onRequestClose();\n }\n },\n [onRequestClose],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open,\n onOpenChange,\n placement,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n )}\n >\n {children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n","import {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport * as React from \"react\";\nimport { ReactNode, useCallback, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"../popover/Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport type PopoverVariant =\n | \"standard\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"outlined\";\n\nexport type PopoverTheme = \"light\" | \"dark\";\nexport type PopoverTrigger = \"click\" | \"hover\" | \"focus\";\n\nexport type PopoverChildren =\n | ReactNode\n | ((args: PopoverChildrenArgs) => ReactNode);\n\nexport interface PopoverChildrenArgs {\n onRequestClose: () => void;\n}\n\ntype TriggerProp = PopoverTrigger | Array<PopoverTrigger>;\n\nexport interface PopoverProps {\n children?: PopoverChildren;\n placement?: Placement;\n trigger?: TriggerProp;\n hideArrow?: boolean;\n disablePadding?: boolean;\n variant?: PopoverVariant;\n theme?: PopoverTheme;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.RefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.RefObject<HTMLElement | null>;\n zIndex?: number;\n onOpened?: () => void;\n onClosed?: () => void;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Popover: React.FC<PopoverProps> = ({ children, ...props }) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <PopoverComponent {...props}>{children}</PopoverComponent>\n </FloatingTree>\n );\n }\n\n return <PopoverComponent {...props}>{children}</PopoverComponent>;\n};\n\nconst PopoverComponent: React.FC<PopoverProps> = ({\n children,\n variant,\n trigger = \"hover\",\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n zIndex,\n onOpened,\n onClosed,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n setIsOpen(open);\n\n if (open) {\n onOpened?.();\n } else {\n onClosed?.();\n }\n },\n [onClosed, onOpened],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open: isOpen,\n onOpenChange,\n placement,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const onRequestClose = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n const onFocus = useFocus(context, { enabled: hasTrigger(trigger, \"focus\") });\n const onClick = useClick(context, { enabled: hasTrigger(trigger, \"click\") });\n const onHover = useHover(context, {\n enabled: hasTrigger(trigger, \"hover\"),\n handleClose: safePolygon(),\n restMs: 100,\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n onFocus,\n onClick,\n onHover,\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n variant && moduleStyles.withIcon,\n )}\n >\n {typeof children === \"function\"\n ? children({ onRequestClose })\n : children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n\nconst hasTrigger = (\n triggerProp: TriggerProp,\n triggerToCheck: PopoverTrigger,\n): boolean => {\n if (typeof triggerProp === \"string\") {\n return triggerProp === triggerToCheck;\n }\n return triggerProp.includes(triggerToCheck);\n};\n","import { Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { CSSProperties, PropsWithChildren, useRef, useState } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingPortal,\n offset,\n shift,\n useFloating,\n useHover,\n useInteractions,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport moduleStyles from \"./Tooltip.module.css\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport cx from \"classnames\";\nimport {\n Icon,\n stenaExclamationCircle,\n stenaExclamationTriangle,\n stenaInfoCircle,\n} from \"@stenajs-webui/elements\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface TooltipProps extends PropsWithChildren {\n placement?: Placement;\n visible?: boolean;\n label: string;\n variant?: TooltipVariant;\n maxWidth?: CSSProperties[\"maxWidth\"];\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\ntype TooltipVariant = \"info\" | \"warning\" | \"error\";\n\nconst variantIcons = {\n info: stenaInfoCircle,\n warning: stenaExclamationCircle,\n error: stenaExclamationTriangle,\n};\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n visible,\n placement,\n label,\n variant,\n maxWidth = \"500px\",\n appendTo,\n zIndex,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const arrowRef = useRef(null);\n\n const { refs, floatingStyles, context } = useFloating({\n placement: placement,\n open: visible ?? isOpen,\n onOpenChange: setIsOpen,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const hover = useHover(context);\n\n const { getReferenceProps } = useInteractions([hover]);\n\n return (\n <>\n <div ref={refs.setReference} {...getReferenceProps()}>\n {children}\n </div>\n\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <div ref={refs.setFloating} style={{ zIndex, ...floatingStyles }}>\n <div\n style={{ maxWidth, ...styles }}\n className={cx(\n moduleStyles.floating,\n variant && moduleStyles.withIcon,\n )}\n >\n {variant ? (\n <>\n <div\n className={cx(\n moduleStyles.iconWrapper,\n moduleStyles[variant],\n )}\n >\n <Icon icon={variantIcons[variant]} size={16} />\n </div>\n <Space />\n <TooltipText label={label} />\n </>\n ) : (\n <TooltipText label={label} />\n )}\n\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"#333\"}\n />\n </div>\n </div>\n </FloatingPortal>\n )}\n </>\n );\n};\n\nconst TooltipText: React.FC<{ label: string }> = ({ label }) => (\n <Text color={cssColor(\"--lhds-color-ui-50\")} size={\"small\"} variant={\"bold\"}>\n {label}\n </Text>\n);\n"],"names":["ActionPrompt","text","yesLabel","noLabel","onNo","onYes","loading","jsxs","Column","jsx","Text","Space","Row","FlatButton","PrimaryButton","Spinner","ARROW_WIDTH","ARROW_HEIGHT","GAP","ControlledPopover","children","props","useFloatingParentNodeId","FloatingTree","ControlledPopoverComponent","placement","hideArrow","renderTrigger","disablePadding","open","onRequestClose","restoreFocus","returnFocus","initialFocus","appendTo","zIndex","nodeId","useFloatingNodeId","arrowRef","useRef","onOpenChange","useCallback","refs","floatingStyles","context","useFloating","offset","flip","shift","arrow","autoUpdate","isMounted","transitionStyles","useTransitionStyles","dismiss","useDismiss","role","useRole","getReferenceProps","getFloatingProps","useInteractions","Fragment","FloatingNode","FloatingPortal","FloatingFocusManager","cx","moduleStyles","FloatingArrow","Popover","PopoverComponent","variant","trigger","onOpened","onClosed","isOpen","setIsOpen","useState","onFocus","useFocus","hasTrigger","onClick","useClick","onHover","useHover","safePolygon","triggerProp","triggerToCheck","variantIcons","stenaInfoCircle","stenaExclamationCircle","stenaExclamationTriangle","Tooltip","visible","label","maxWidth","styles","hover","Icon","TooltipText","cssColor"],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/popover/ActionPrompt.tsx","../src/components/popover/ControlledPopover.tsx","../src/components/popover/Popover.tsx","../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import { Column, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { FlatButton, Spinner, PrimaryButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ActionPromptProps {\n text?: string;\n yesLabel?: string;\n noLabel?: string;\n onYes?: () => void;\n onNo?: () => void;\n loading?: boolean;\n}\n\nexport const ActionPrompt: React.FC<ActionPromptProps> = ({\n text = \"Are you sure?\",\n yesLabel = \"Yes\",\n noLabel = \"No\",\n onNo,\n onYes,\n loading,\n}) => {\n return (\n <Column position={\"relative\"}>\n <div style={{ opacity: loading ? 0 : 1 }}>\n <Text>{text}</Text>\n <Space />\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"}>\n <FlatButton label={noLabel} onClick={onNo} />\n <Space />\n <PrimaryButton label={yesLabel} onClick={onYes} />\n </Row>\n </div>\n {loading && (\n <Row\n justifyContent={\"center\"}\n alignItems={\"center\"}\n left={0}\n top={0}\n width={\"100%\"}\n height={\"100%\"}\n position={\"absolute\"}\n >\n <Spinner size={\"small\"} />\n </Row>\n )}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode, useCallback, useRef } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n shift,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"./Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface ControlledPopoverProps extends PropsWithChildren {\n open: boolean;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n onRequestClose: () => void;\n placement?: Placement;\n hideArrow?: boolean;\n disablePadding?: boolean;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.MutableRefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const ControlledPopover: React.FC<ControlledPopoverProps> = ({\n children,\n ...props\n}) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n </FloatingTree>\n );\n }\n\n return (\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n );\n};\n\nconst ControlledPopoverComponent: React.FC<ControlledPopoverProps> = ({\n children,\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n open,\n onRequestClose,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n zIndex,\n}) => {\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n if (!open) {\n onRequestClose();\n }\n },\n [onRequestClose],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open,\n onOpenChange,\n placement,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n )}\n >\n {children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n","import {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport * as React from \"react\";\nimport { ReactNode, useCallback, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"../popover/Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport type PopoverVariant =\n | \"standard\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"outlined\";\n\nexport type PopoverTheme = \"light\" | \"dark\";\nexport type PopoverTrigger = \"click\" | \"hover\" | \"focus\";\n\nexport type PopoverChildren =\n | ReactNode\n | ((args: PopoverChildrenArgs) => ReactNode);\n\nexport interface PopoverChildrenArgs {\n onRequestClose: () => void;\n}\n\ntype TriggerProp = PopoverTrigger | Array<PopoverTrigger>;\n\nexport interface PopoverProps {\n children?: PopoverChildren;\n placement?: Placement;\n trigger?: TriggerProp;\n hideArrow?: boolean;\n disablePadding?: boolean;\n variant?: PopoverVariant;\n theme?: PopoverTheme;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.MutableRefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n onOpened?: () => void;\n onClosed?: () => void;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Popover: React.FC<PopoverProps> = ({ children, ...props }) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <PopoverComponent {...props}>{children}</PopoverComponent>\n </FloatingTree>\n );\n }\n\n return <PopoverComponent {...props}>{children}</PopoverComponent>;\n};\n\nconst PopoverComponent: React.FC<PopoverProps> = ({\n children,\n variant,\n trigger = \"hover\",\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n zIndex,\n onOpened,\n onClosed,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n setIsOpen(open);\n\n if (open) {\n onOpened?.();\n } else {\n onClosed?.();\n }\n },\n [onClosed, onOpened],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open: isOpen,\n onOpenChange,\n placement,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const onRequestClose = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n const onFocus = useFocus(context, { enabled: hasTrigger(trigger, \"focus\") });\n const onClick = useClick(context, { enabled: hasTrigger(trigger, \"click\") });\n const onHover = useHover(context, {\n enabled: hasTrigger(trigger, \"hover\"),\n handleClose: safePolygon(),\n restMs: 100,\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n onFocus,\n onClick,\n onHover,\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n variant && moduleStyles.withIcon,\n )}\n >\n {typeof children === \"function\"\n ? children({ onRequestClose })\n : children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n\nconst hasTrigger = (\n triggerProp: TriggerProp,\n triggerToCheck: PopoverTrigger,\n): boolean => {\n if (typeof triggerProp === \"string\") {\n return triggerProp === triggerToCheck;\n }\n return triggerProp.includes(triggerToCheck);\n};\n","import { Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { CSSProperties, PropsWithChildren, useRef, useState } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingPortal,\n offset,\n shift,\n useFloating,\n useHover,\n useInteractions,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport moduleStyles from \"./Tooltip.module.css\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport cx from \"classnames\";\nimport {\n Icon,\n stenaExclamationCircle,\n stenaExclamationTriangle,\n stenaInfoCircle,\n} from \"@stenajs-webui/elements\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface TooltipProps extends PropsWithChildren {\n placement?: Placement;\n visible?: boolean;\n label: string;\n variant?: TooltipVariant;\n maxWidth?: CSSProperties[\"maxWidth\"];\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\ntype TooltipVariant = \"info\" | \"warning\" | \"error\";\n\nconst variantIcons = {\n info: stenaInfoCircle,\n warning: stenaExclamationCircle,\n error: stenaExclamationTriangle,\n};\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n visible,\n placement,\n label,\n variant,\n maxWidth = \"500px\",\n appendTo,\n zIndex,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const arrowRef = useRef(null);\n\n const { refs, floatingStyles, context } = useFloating({\n placement: placement,\n open: visible ?? isOpen,\n onOpenChange: setIsOpen,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const hover = useHover(context);\n\n const { getReferenceProps } = useInteractions([hover]);\n\n return (\n <>\n <div ref={refs.setReference} {...getReferenceProps()}>\n {children}\n </div>\n\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <div ref={refs.setFloating} style={{ zIndex, ...floatingStyles }}>\n <div\n style={{ maxWidth, ...styles }}\n className={cx(\n moduleStyles.floating,\n variant && moduleStyles.withIcon,\n )}\n >\n {variant ? (\n <>\n <div\n className={cx(\n moduleStyles.iconWrapper,\n moduleStyles[variant],\n )}\n >\n <Icon icon={variantIcons[variant]} size={16} />\n </div>\n <Space />\n <TooltipText label={label} />\n </>\n ) : (\n <TooltipText label={label} />\n )}\n\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"#333\"}\n />\n </div>\n </div>\n </FloatingPortal>\n )}\n </>\n );\n};\n\nconst TooltipText: React.FC<{ label: string }> = ({ label }) => (\n <Text color={cssColor(\"--lhds-color-ui-50\")} size={\"small\"} variant={\"bold\"}>\n {label}\n </Text>\n);\n"],"names":["ActionPrompt","text","yesLabel","noLabel","onNo","onYes","loading","jsxs","Column","jsx","Text","Space","Row","FlatButton","PrimaryButton","Spinner","ARROW_WIDTH","ARROW_HEIGHT","GAP","ControlledPopover","children","props","useFloatingParentNodeId","FloatingTree","ControlledPopoverComponent","placement","hideArrow","renderTrigger","disablePadding","open","onRequestClose","restoreFocus","returnFocus","initialFocus","appendTo","zIndex","nodeId","useFloatingNodeId","arrowRef","useRef","onOpenChange","useCallback","refs","floatingStyles","context","useFloating","offset","flip","shift","arrow","autoUpdate","isMounted","transitionStyles","useTransitionStyles","dismiss","useDismiss","role","useRole","getReferenceProps","getFloatingProps","useInteractions","Fragment","FloatingNode","FloatingPortal","FloatingFocusManager","cx","moduleStyles","FloatingArrow","Popover","PopoverComponent","variant","trigger","onOpened","onClosed","isOpen","setIsOpen","useState","onFocus","useFocus","hasTrigger","onClick","useClick","onHover","useHover","safePolygon","triggerProp","triggerToCheck","variantIcons","stenaInfoCircle","stenaExclamationCircle","stenaExclamationTriangle","Tooltip","visible","label","maxWidth","styles","hover","Icon","TooltipText","cssColor"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/popover/ActionPrompt.tsx","../src/components/popover/ControlledPopover.tsx","../src/components/popover/Popover.tsx","../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import { Column, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { FlatButton, Spinner, PrimaryButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ActionPromptProps {\n text?: string;\n yesLabel?: string;\n noLabel?: string;\n onYes?: () => void;\n onNo?: () => void;\n loading?: boolean;\n}\n\nexport const ActionPrompt: React.FC<ActionPromptProps> = ({\n text = \"Are you sure?\",\n yesLabel = \"Yes\",\n noLabel = \"No\",\n onNo,\n onYes,\n loading,\n}) => {\n return (\n <Column position={\"relative\"}>\n <div style={{ opacity: loading ? 0 : 1 }}>\n <Text>{text}</Text>\n <Space />\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"}>\n <FlatButton label={noLabel} onClick={onNo} />\n <Space />\n <PrimaryButton label={yesLabel} onClick={onYes} />\n </Row>\n </div>\n {loading && (\n <Row\n justifyContent={\"center\"}\n alignItems={\"center\"}\n left={0}\n top={0}\n width={\"100%\"}\n height={\"100%\"}\n position={\"absolute\"}\n >\n <Spinner size={\"small\"} />\n </Row>\n )}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode, useCallback, useRef } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n shift,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"./Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface ControlledPopoverProps extends PropsWithChildren {\n open: boolean;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n onRequestClose: () => void;\n placement?: Placement;\n hideArrow?: boolean;\n disablePadding?: boolean;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.MutableRefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const ControlledPopover: React.FC<ControlledPopoverProps> = ({\n children,\n ...props\n}) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n </FloatingTree>\n );\n }\n\n return (\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n );\n};\n\nconst ControlledPopoverComponent: React.FC<ControlledPopoverProps> = ({\n children,\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n open,\n onRequestClose,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n zIndex,\n}) => {\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n if (!open) {\n onRequestClose();\n }\n },\n [onRequestClose],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open,\n onOpenChange,\n placement,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n )}\n >\n {children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n","import {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport * as React from \"react\";\nimport { ReactNode, useCallback, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"../popover/Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport type PopoverVariant =\n | \"standard\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"outlined\";\n\nexport type PopoverTheme = \"light\" | \"dark\";\nexport type PopoverTrigger = \"click\" | \"hover\" | \"focus\";\n\nexport type PopoverChildren =\n | ReactNode\n | ((args: PopoverChildrenArgs) => ReactNode);\n\nexport interface PopoverChildrenArgs {\n onRequestClose: () => void;\n}\n\ntype TriggerProp = PopoverTrigger | Array<PopoverTrigger>;\n\nexport interface PopoverProps {\n children?: PopoverChildren;\n placement?: Placement;\n trigger?: TriggerProp;\n hideArrow?: boolean;\n disablePadding?: boolean;\n variant?: PopoverVariant;\n theme?: PopoverTheme;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.RefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.RefObject<HTMLElement | null>;\n zIndex?: number;\n onOpened?: () => void;\n onClosed?: () => void;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Popover: React.FC<PopoverProps> = ({ children, ...props }) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <PopoverComponent {...props}>{children}</PopoverComponent>\n </FloatingTree>\n );\n }\n\n return <PopoverComponent {...props}>{children}</PopoverComponent>;\n};\n\nconst PopoverComponent: React.FC<PopoverProps> = ({\n children,\n variant,\n trigger = \"hover\",\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n zIndex,\n onOpened,\n onClosed,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n setIsOpen(open);\n\n if (open) {\n onOpened?.();\n } else {\n onClosed?.();\n }\n },\n [onClosed, onOpened],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open: isOpen,\n onOpenChange,\n placement,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const onRequestClose = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n const onFocus = useFocus(context, { enabled: hasTrigger(trigger, \"focus\") });\n const onClick = useClick(context, { enabled: hasTrigger(trigger, \"click\") });\n const onHover = useHover(context, {\n enabled: hasTrigger(trigger, \"hover\"),\n handleClose: safePolygon(),\n restMs: 100,\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n onFocus,\n onClick,\n onHover,\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n variant && moduleStyles.withIcon,\n )}\n >\n {typeof children === \"function\"\n ? children({ onRequestClose })\n : children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n\nconst hasTrigger = (\n triggerProp: TriggerProp,\n triggerToCheck: PopoverTrigger,\n): boolean => {\n if (typeof triggerProp === \"string\") {\n return triggerProp === triggerToCheck;\n }\n return triggerProp.includes(triggerToCheck);\n};\n","import { Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { CSSProperties, PropsWithChildren, useRef, useState } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingPortal,\n offset,\n shift,\n useFloating,\n useHover,\n useInteractions,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport moduleStyles from \"./Tooltip.module.css\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport cx from \"classnames\";\nimport {\n Icon,\n stenaExclamationCircle,\n stenaExclamationTriangle,\n stenaInfoCircle,\n} from \"@stenajs-webui/elements\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface TooltipProps extends PropsWithChildren {\n placement?: Placement;\n visible?: boolean;\n label: string;\n variant?: TooltipVariant;\n maxWidth?: CSSProperties[\"maxWidth\"];\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\ntype TooltipVariant = \"info\" | \"warning\" | \"error\";\n\nconst variantIcons = {\n info: stenaInfoCircle,\n warning: stenaExclamationCircle,\n error: stenaExclamationTriangle,\n};\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n visible,\n placement,\n label,\n variant,\n maxWidth = \"500px\",\n appendTo,\n zIndex,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const arrowRef = useRef(null);\n\n const { refs, floatingStyles, context } = useFloating({\n placement: placement,\n open: visible ?? isOpen,\n onOpenChange: setIsOpen,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const hover = useHover(context);\n\n const { getReferenceProps } = useInteractions([hover]);\n\n return (\n <>\n <div ref={refs.setReference} {...getReferenceProps()}>\n {children}\n </div>\n\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <div ref={refs.setFloating} style={{ zIndex, ...floatingStyles }}>\n <div\n style={{ maxWidth, ...styles }}\n className={cx(\n moduleStyles.floating,\n variant && moduleStyles.withIcon,\n )}\n >\n {variant ? (\n <>\n <div\n className={cx(\n moduleStyles.iconWrapper,\n moduleStyles[variant],\n )}\n >\n <Icon icon={variantIcons[variant]} size={16} />\n </div>\n <Space />\n <TooltipText label={label} />\n </>\n ) : (\n <TooltipText label={label} />\n )}\n\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"#333\"}\n />\n </div>\n </div>\n </FloatingPortal>\n )}\n </>\n );\n};\n\nconst TooltipText: React.FC<{ label: string }> = ({ label }) => (\n <Text color={cssColor(\"--lhds-color-ui-50\")} size={\"small\"} variant={\"bold\"}>\n {label}\n </Text>\n);\n"],"names":["ActionPrompt","text","yesLabel","noLabel","onNo","onYes","loading","jsxs","Column","jsx","Text","Space","Row","FlatButton","PrimaryButton","Spinner","ARROW_WIDTH","ARROW_HEIGHT","GAP","ControlledPopover","children","props","useFloatingParentNodeId","FloatingTree","ControlledPopoverComponent","placement","hideArrow","renderTrigger","disablePadding","open","onRequestClose","restoreFocus","returnFocus","initialFocus","appendTo","zIndex","nodeId","useFloatingNodeId","arrowRef","useRef","onOpenChange","useCallback","refs","floatingStyles","context","useFloating","offset","flip","shift","arrow","autoUpdate","isMounted","transitionStyles","useTransitionStyles","dismiss","useDismiss","role","useRole","getReferenceProps","getFloatingProps","useInteractions","Fragment","FloatingNode","FloatingPortal","FloatingFocusManager","cx","moduleStyles","FloatingArrow","Popover","PopoverComponent","variant","trigger","onOpened","onClosed","isOpen","setIsOpen","useState","onFocus","useFocus","hasTrigger","onClick","useClick","onHover","useHover","safePolygon","triggerProp","triggerToCheck","variantIcons","stenaInfoCircle","stenaExclamationCircle","stenaExclamationTriangle","Tooltip","visible","label","maxWidth","styles","hover","Icon","TooltipText","cssColor"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stenajs-webui/tooltip",
3
- "version": "21.29.2",
3
+ "version": "21.29.4",
4
4
  "type": "module",
5
5
  "description": "",
6
6
  "author": "mattias800",
@@ -34,9 +34,9 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "@floating-ui/react": "^0.27.3",
37
- "@stenajs-webui/core": "21.29.2",
38
- "@stenajs-webui/elements": "21.29.2",
39
- "@stenajs-webui/theme": "21.29.2",
37
+ "@stenajs-webui/core": "21.29.4",
38
+ "@stenajs-webui/elements": "21.29.4",
39
+ "@stenajs-webui/theme": "21.29.4",
40
40
  "classnames": "^2.5.1"
41
41
  },
42
42
  "peerDependencies": {
@@ -58,5 +58,5 @@
58
58
  "files": [
59
59
  "dist"
60
60
  ],
61
- "gitHead": "6beb0e7b22ce2c0f18ba8ceb17880998e4c15099"
61
+ "gitHead": "a0bb0efe82a3e99a6b7d8d82c3a4a2f95ea2b80e"
62
62
  }