@elliemae/ds-tooltip-v3 3.70.0-next.15 → 3.70.0-next.16

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.
@@ -96,24 +96,33 @@ const DSTooltipV3 = (props) => {
96
96
  floatingStyles,
97
97
  context,
98
98
  children: [
99
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styles.StyledTooltipContainer, { "data-testid": import_constants.TOOLTIP_V3_DATA_TESTID.TOOLTIP_CONTAINER, ...ownerPropsConfig, children: [
100
- Text ? (
101
- // this "as T" is an oversimplification but it's safe due to how js {...undefined} works
102
- // users of the component that want the strict types will define T, others won't, no reason to force it on our end
103
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { ...textProps })
104
- ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
105
- import_styles.StyledTooltipText,
106
- {
107
- "data-testid": import_constants.TOOLTIP_V3_DATA_TESTID.TOOLTIP_TEXT,
108
- textAlign,
109
- wrapWords,
110
- $applyTooltipOverflowWrap: applyTooltipOverflowWrap,
111
- ...ownerPropsConfig,
112
- children: text
113
- }
114
- ),
115
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledMouseOverDetectionBox, { ...ownerPropsConfig })
116
- ] }),
99
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
100
+ import_styles.StyledTooltipContainer,
101
+ {
102
+ "data-testid": import_constants.TOOLTIP_V3_DATA_TESTID.TOOLTIP_CONTAINER,
103
+ ...ownerPropsConfig,
104
+ ...id !== "" ? { id } : {},
105
+ role: "tooltip",
106
+ children: [
107
+ Text ? (
108
+ // this "as T" is an oversimplification but it's safe due to how js {...undefined} works
109
+ // users of the component that want the strict types will define T, others won't, no reason to force it on our end
110
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { ...textProps })
111
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
112
+ import_styles.StyledTooltipText,
113
+ {
114
+ "data-testid": import_constants.TOOLTIP_V3_DATA_TESTID.TOOLTIP_TEXT,
115
+ textAlign,
116
+ wrapWords,
117
+ $applyTooltipOverflowWrap: applyTooltipOverflowWrap,
118
+ ...ownerPropsConfig,
119
+ children: text
120
+ }
121
+ ),
122
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledMouseOverDetectionBox, { ...ownerPropsConfig })
123
+ ]
124
+ }
125
+ ),
117
126
  !withoutArrow ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_floating_context.PopoverArrow, { ...arrowStyles }) : null
118
127
  ]
119
128
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/DSTooltipV3.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport { useFloatingContext, PopoverArrow, FloatingWrapper } from '@elliemae/ds-floating-context';\nimport { describe, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport { DSTooltipV3PropTypesSchema } from './react-desc-prop-types.js';\nimport {\n StyledTooltipContainer,\n StyledTooltipText,\n StyledMouseOverDetectionBox,\n StyledTriggerWrapper,\n} from './styles.js';\nimport type { DSTooltipV3T } from './react-desc-prop-types.js';\nimport { useTooltipV3 } from './config/useTooltipV3.js';\nimport { DSTooltipV3SlotName, TOOLTIP_V3_DATA_TESTID } from './constants/index.js';\n\nconst DSTooltipV3 = <T extends DSTooltipV3T.CustomInterface>(props: DSTooltipV3T.Props<T>) => {\n const { propsWithDefault } = useTooltipV3(props);\n\n const {\n text,\n startPlacementPreference,\n children,\n onOpen,\n onClose,\n id,\n textAlign,\n wrapWords,\n withoutArrow,\n customOffset,\n animationDuration,\n withoutAnimation,\n withoutPortal,\n portalDOMContainer,\n applyTooltipOverflowWrap,\n showPopover,\n Text,\n textProps,\n } = propsWithDefault;\n\n const ownerPropsConfig = useOwnerProps(propsWithDefault);\n\n const { handlers, arrowStyles, floatingStyles, isOpen, refs, context } = useFloatingContext({\n placement: startPlacementPreference,\n customOffset,\n onOpen,\n onClose,\n withoutPortal,\n withoutAnimation,\n portalDOMContainer,\n animationDuration,\n externallyControlledIsOpen: showPopover,\n });\n\n const isOpenSourceOfTruth = React.useMemo(() => {\n if (showPopover !== undefined) return showPopover;\n return isOpen;\n }, [showPopover, isOpen]);\n\n return (\n <StyledTriggerWrapper\n {...handlers}\n innerRef={refs.setReference}\n // legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={`${TOOLTIP_V3_DATA_TESTID.ROOT}${id !== '' ? `_${id}` : ''}`}\n {...ownerPropsConfig}\n >\n <FloatingWrapper\n innerRef={refs.setFloating}\n isOpen={isOpenSourceOfTruth}\n floatingStyles={floatingStyles}\n context={context}\n >\n {/* legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed */}\n <StyledTooltipContainer data-testid={TOOLTIP_V3_DATA_TESTID.TOOLTIP_CONTAINER} {...ownerPropsConfig}>\n {Text ? (\n // this \"as T\" is an oversimplification but it's safe due to how js {...undefined} works\n // users of the component that want the strict types will define T, others won't, no reason to force it on our end\n <Text {...(textProps as T)} />\n ) : (\n <StyledTooltipText\n // legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={TOOLTIP_V3_DATA_TESTID.TOOLTIP_TEXT}\n textAlign={textAlign}\n wrapWords={wrapWords}\n $applyTooltipOverflowWrap={applyTooltipOverflowWrap}\n {...ownerPropsConfig}\n >\n {text}\n </StyledTooltipText>\n )}\n <StyledMouseOverDetectionBox {...ownerPropsConfig} />\n </StyledTooltipContainer>\n {!withoutArrow ? <PopoverArrow {...arrowStyles} /> : null}\n </FloatingWrapper>\n\n {children}\n </StyledTriggerWrapper>\n );\n};\n\nDSTooltipV3.displayName = DSTooltipV3SlotName;\nconst DSTooltipV3WithSchema = describe(DSTooltipV3);\nDSTooltipV3WithSchema.propTypes = DSTooltipV3PropTypesSchema;\n\nexport { DSTooltipV3, DSTooltipV3WithSchema };\n\nexport default DSTooltipV3;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADyEf;AAxER,mBAAkB;AAClB,iCAAkE;AAClE,8BAAwC;AACxC,mCAA2C;AAC3C,oBAKO;AAEP,0BAA6B;AAC7B,uBAA4D;AAE5D,MAAM,cAAc,CAAyC,UAAiC;AAC5F,QAAM,EAAE,iBAAiB,QAAI,kCAAa,KAAK;AAE/C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,uBAAmB,uCAAc,gBAAgB;AAEvD,QAAM,EAAE,UAAU,aAAa,gBAAgB,QAAQ,MAAM,QAAQ,QAAI,+CAAmB;AAAA,IAC1F,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,4BAA4B;AAAA,EAC9B,CAAC;AAED,QAAM,sBAAsB,aAAAA,QAAM,QAAQ,MAAM;AAC9C,QAAI,gBAAgB,OAAW,QAAO;AACtC,WAAO;AAAA,EACT,GAAG,CAAC,aAAa,MAAM,CAAC;AAExB,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,KAAK;AAAA,MAEf,eAAa,GAAG,wCAAuB,IAAI,GAAG,OAAO,KAAK,IAAI,EAAE,KAAK,EAAE;AAAA,MACtE,GAAG;AAAA,MAEJ;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,UAAU,KAAK;AAAA,YACf,QAAQ;AAAA,YACR;AAAA,YACA;AAAA,YAGA;AAAA,2DAAC,wCAAuB,eAAa,wCAAuB,mBAAoB,GAAG,kBAChF;AAAA;AAAA;AAAA;AAAA,kBAGC,4CAAC,QAAM,GAAI,WAAiB;AAAA,oBAE5B;AAAA,kBAAC;AAAA;AAAA,oBAEC,eAAa,wCAAuB;AAAA,oBACpC;AAAA,oBACA;AAAA,oBACA,2BAA2B;AAAA,oBAC1B,GAAG;AAAA,oBAEH;AAAA;AAAA,gBACH;AAAA,gBAEF,4CAAC,6CAA6B,GAAG,kBAAkB;AAAA,iBACrD;AAAA,cACC,CAAC,eAAe,4CAAC,2CAAc,GAAG,aAAa,IAAK;AAAA;AAAA;AAAA,QACvD;AAAA,QAEC;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,YAAY,cAAc;AAC1B,MAAM,4BAAwB,kCAAS,WAAW;AAClD,sBAAsB,YAAY;AAIlC,IAAO,sBAAQ;",
4
+ "sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport { useFloatingContext, PopoverArrow, FloatingWrapper } from '@elliemae/ds-floating-context';\nimport { describe, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport { DSTooltipV3PropTypesSchema } from './react-desc-prop-types.js';\nimport {\n StyledTooltipContainer,\n StyledTooltipText,\n StyledMouseOverDetectionBox,\n StyledTriggerWrapper,\n} from './styles.js';\nimport type { DSTooltipV3T } from './react-desc-prop-types.js';\nimport { useTooltipV3 } from './config/useTooltipV3.js';\nimport { DSTooltipV3SlotName, TOOLTIP_V3_DATA_TESTID } from './constants/index.js';\n\nconst DSTooltipV3 = <T extends DSTooltipV3T.CustomInterface>(props: DSTooltipV3T.Props<T>) => {\n const { propsWithDefault } = useTooltipV3(props);\n\n const {\n text,\n startPlacementPreference,\n children,\n onOpen,\n onClose,\n id,\n textAlign,\n wrapWords,\n withoutArrow,\n customOffset,\n animationDuration,\n withoutAnimation,\n withoutPortal,\n portalDOMContainer,\n applyTooltipOverflowWrap,\n showPopover,\n Text,\n textProps,\n } = propsWithDefault;\n\n const ownerPropsConfig = useOwnerProps(propsWithDefault);\n\n const { handlers, arrowStyles, floatingStyles, isOpen, refs, context } = useFloatingContext({\n placement: startPlacementPreference,\n customOffset,\n onOpen,\n onClose,\n withoutPortal,\n withoutAnimation,\n portalDOMContainer,\n animationDuration,\n externallyControlledIsOpen: showPopover,\n });\n\n const isOpenSourceOfTruth = React.useMemo(() => {\n if (showPopover !== undefined) return showPopover;\n return isOpen;\n }, [showPopover, isOpen]);\n\n return (\n <StyledTriggerWrapper\n {...handlers}\n innerRef={refs.setReference}\n // legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={`${TOOLTIP_V3_DATA_TESTID.ROOT}${id !== '' ? `_${id}` : ''}`}\n {...ownerPropsConfig}\n >\n <FloatingWrapper\n innerRef={refs.setFloating}\n isOpen={isOpenSourceOfTruth}\n floatingStyles={floatingStyles}\n context={context}\n >\n <StyledTooltipContainer\n // legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={TOOLTIP_V3_DATA_TESTID.TOOLTIP_CONTAINER}\n {...ownerPropsConfig}\n // W3C WAI-ARIA tooltip pattern: the container is the tooltip element. Consumers wire it to\n // their own trigger by passing the same `id` prop here and `aria-describedby={id}` on the\n // child element. The `id` is only emitted to the DOM when the consumer opts in.\n {...(id !== '' ? { id } : {})}\n role=\"tooltip\"\n >\n {Text ? (\n // this \"as T\" is an oversimplification but it's safe due to how js {...undefined} works\n // users of the component that want the strict types will define T, others won't, no reason to force it on our end\n <Text {...(textProps as T)} />\n ) : (\n <StyledTooltipText\n // legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={TOOLTIP_V3_DATA_TESTID.TOOLTIP_TEXT}\n textAlign={textAlign}\n wrapWords={wrapWords}\n $applyTooltipOverflowWrap={applyTooltipOverflowWrap}\n {...ownerPropsConfig}\n >\n {text}\n </StyledTooltipText>\n )}\n <StyledMouseOverDetectionBox {...ownerPropsConfig} />\n </StyledTooltipContainer>\n {!withoutArrow ? <PopoverArrow {...arrowStyles} /> : null}\n </FloatingWrapper>\n\n {children}\n </StyledTriggerWrapper>\n );\n};\n\nDSTooltipV3.displayName = DSTooltipV3SlotName;\nconst DSTooltipV3WithSchema = describe(DSTooltipV3);\nDSTooltipV3WithSchema.propTypes = DSTooltipV3PropTypesSchema;\n\nexport { DSTooltipV3, DSTooltipV3WithSchema };\n\nexport default DSTooltipV3;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADwEf;AAvER,mBAAkB;AAClB,iCAAkE;AAClE,8BAAwC;AACxC,mCAA2C;AAC3C,oBAKO;AAEP,0BAA6B;AAC7B,uBAA4D;AAE5D,MAAM,cAAc,CAAyC,UAAiC;AAC5F,QAAM,EAAE,iBAAiB,QAAI,kCAAa,KAAK;AAE/C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,uBAAmB,uCAAc,gBAAgB;AAEvD,QAAM,EAAE,UAAU,aAAa,gBAAgB,QAAQ,MAAM,QAAQ,QAAI,+CAAmB;AAAA,IAC1F,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,4BAA4B;AAAA,EAC9B,CAAC;AAED,QAAM,sBAAsB,aAAAA,QAAM,QAAQ,MAAM;AAC9C,QAAI,gBAAgB,OAAW,QAAO;AACtC,WAAO;AAAA,EACT,GAAG,CAAC,aAAa,MAAM,CAAC;AAExB,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,KAAK;AAAA,MAEf,eAAa,GAAG,wCAAuB,IAAI,GAAG,OAAO,KAAK,IAAI,EAAE,KAAK,EAAE;AAAA,MACtE,GAAG;AAAA,MAEJ;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,UAAU,KAAK;AAAA,YACf,QAAQ;AAAA,YACR;AAAA,YACA;AAAA,YAEA;AAAA;AAAA,gBAAC;AAAA;AAAA,kBAEC,eAAa,wCAAuB;AAAA,kBACnC,GAAG;AAAA,kBAIH,GAAI,OAAO,KAAK,EAAE,GAAG,IAAI,CAAC;AAAA,kBAC3B,MAAK;AAAA,kBAEJ;AAAA;AAAA;AAAA;AAAA,sBAGC,4CAAC,QAAM,GAAI,WAAiB;AAAA,wBAE5B;AAAA,sBAAC;AAAA;AAAA,wBAEC,eAAa,wCAAuB;AAAA,wBACpC;AAAA,wBACA;AAAA,wBACA,2BAA2B;AAAA,wBAC1B,GAAG;AAAA,wBAEH;AAAA;AAAA,oBACH;AAAA,oBAEF,4CAAC,6CAA6B,GAAG,kBAAkB;AAAA;AAAA;AAAA,cACrD;AAAA,cACC,CAAC,eAAe,4CAAC,2CAAc,GAAG,aAAa,IAAK;AAAA;AAAA;AAAA,QACvD;AAAA,QAEC;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,YAAY,cAAc;AAC1B,MAAM,4BAAwB,kCAAS,WAAW;AAClD,sBAAsB,YAAY;AAIlC,IAAO,sBAAQ;",
6
6
  "names": ["React"]
7
7
  }
@@ -53,7 +53,9 @@ const DSTooltipV3PropTypes = {
53
53
  portalDOMContainer: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.node, import_ds_props_helpers.PropTypes.oneOf([null])]).description("When using portal, the container in which to append the DOM content, defaults to document body").defaultValue(void 0),
54
54
  startPlacementPreference: import_ds_props_helpers.PropTypes.oneOf(import_constants.PLACEMENT).description("start placement preferences, as per popperjs placement option").defaultValue("'top'"),
55
55
  customOffset: import_ds_props_helpers.PropTypes.arrayOf(import_ds_props_helpers.PropTypes.number).description("placement offset array").defaultValue([0, 14]),
56
- id: import_ds_props_helpers.PropTypes.string.description("Optional id appended to data-testid").defaultValue(""),
56
+ id: import_ds_props_helpers.PropTypes.string.description(
57
+ 'Optional id. When set, it is applied as the DOM id of the tooltip container (role="tooltip") so the trigger element can reference it via aria-describedby \u2014 this is the W3C WAI-ARIA tooltip pattern. The same value is also appended to the root data-testid.'
58
+ ).defaultValue(""),
57
59
  onOpen: import_ds_props_helpers.PropTypes.func.description("Optional callback to be invoked when the tooltip opens").defaultValue("() => {}"),
58
60
  onClose: import_ds_props_helpers.PropTypes.func.description("Optional callback to be invoked when the tooltip closes").defaultValue("() => {}"),
59
61
  showPopover: import_ds_props_helpers.PropTypes.bool.description("Whether or not the tooltip should be always shown"),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/react-desc-prop-types.ts", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import type { DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';\nimport { PropTypes, getPropsPerSlotPropTypes } from '@elliemae/ds-props-helpers';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { PLACEMENT, TEXT_ALIGNMENT, DSTooltipV3SlotName, TOOLTIP_V3_SLOTS } from './constants/index.js';\n\nexport declare namespace DSTooltipV3T {\n export type CustomInterface<T extends Record<string, unknown> = Record<string, unknown>> = T;\n export type Placement =\n | 'top-start'\n | 'top'\n | 'top-end'\n | 'right-start'\n | 'right'\n | 'right-end'\n | 'bottom-end'\n | 'bottom'\n | 'bottom-start'\n | 'left-end'\n | 'left'\n | 'left-start';\n export type TextAlignment = 'left' | 'right' | 'center' | 'justify' | 'initial' | 'inherit';\n\n export interface DefaultProps {\n onOpen: () => void;\n onClose: () => void;\n id: string;\n textAlign: TextAlignment;\n wrapWords: boolean;\n startPlacementPreference: Placement;\n applyTooltipOverflowWrap: boolean;\n customOffset: [number, number];\n }\n\n export type SlotFunctionArguments = {\n dsTooltipv3Root: () => object;\n dsTooltipv3TooltipContainer: () => object;\n dsTooltipv3TooltipText: () => object;\n dsTooltipv3MouseOverDetectionBox: () => object;\n };\n\n export interface OptionalProps<T extends Record<string, unknown> = Record<string, unknown>>\n extends TypescriptHelpersT.PropsForGlobalOnSlots<typeof DSTooltipV3SlotName, typeof TOOLTIP_V3_SLOTS> {\n withoutPortal?: boolean;\n withoutArrow?: boolean;\n withoutAnimation?: boolean;\n animationDuration?: number;\n portalDOMContainer?: HTMLElement;\n showPopover?: boolean;\n Text?: React.ComponentType<T>;\n textProps?: T;\n text?: string;\n }\n\n export interface RequiredProps {\n children: React.ReactNode;\n }\n export interface InternalProps<T extends CustomInterface = CustomInterface>\n extends DefaultProps,\n OptionalProps<T>,\n // Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof RequiredProps>,\n // XstyledProps,\n RequiredProps {}\n\n export interface Props<T extends CustomInterface = CustomInterface>\n extends Partial<DefaultProps>,\n OptionalProps<T>,\n // Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof RequiredProps>,\n // XstyledProps,\n RequiredProps {}\n}\n\nexport const DSTooltipV3PropTypes: DSPropTypesSchema<DSTooltipV3T.Props> = {\n ...getPropsPerSlotPropTypes(DSTooltipV3SlotName, TOOLTIP_V3_SLOTS),\n text: PropTypes.string\n .description(\n 'Tooltip text to be displayed on hover/focus. If both `text` and `Text` are provided, only `Text` will take precedence.',\n )\n .isRequiredIf((props: Record<string, unknown>) => !props.Text),\n textAlign: PropTypes.oneOf(TEXT_ALIGNMENT as unknown as unknown[])\n .description('Tooltip text alignment')\n .defaultValue('left'),\n applyTooltipOverflowWrap: PropTypes.bool\n .description(\n 'when a tooltip is present, the tooltip text may be too long to fit in the pill. If true, the tooltip will wrap to the next line using overflow-wrap',\n )\n .defaultValue(false),\n wrapWords: PropTypes.bool\n .description('Break words into a new line. Useful when words exceed tooltip max-lenght.')\n .defaultValue(false),\n children: PropTypes.node.description('Element to tie the tooltip to, must be a single node').isRequired,\n withoutPortal: PropTypes.bool\n .description('Whether or not the tooltip content should appear in a DOM portal or not')\n .defaultValue(true),\n withoutArrow: PropTypes.bool.description('Whether or not the tooltip should use the arrow').defaultValue(false),\n withoutAnimation: PropTypes.bool\n .description('Whether or not the popper context menu should be animated')\n .defaultValue(false),\n animationDuration: PropTypes.number.description('Popper context menus Animation duration in ms').defaultValue(100),\n portalDOMContainer: PropTypes.oneOfType([PropTypes.node, PropTypes.oneOf([null])])\n .description('When using portal, the container in which to append the DOM content, defaults to document body')\n .defaultValue(undefined),\n startPlacementPreference: PropTypes.oneOf(PLACEMENT)\n .description('start placement preferences, as per popperjs placement option')\n .defaultValue(\"'top'\"),\n customOffset: PropTypes.arrayOf(PropTypes.number).description('placement offset array').defaultValue([0, 14]),\n id: PropTypes.string.description('Optional id appended to data-testid').defaultValue(''),\n onOpen: PropTypes.func.description('Optional callback to be invoked when the tooltip opens').defaultValue('() => {}'),\n onClose: PropTypes.func\n .description('Optional callback to be invoked when the tooltip closes')\n .defaultValue('() => {}'),\n showPopover: PropTypes.bool.description('Whether or not the tooltip should be always shown'),\n Text: PropTypes.func\n .description(\n 'Custom component to be displayed in the tooltip, will receive textProps as props. If both `text` and `Text` are provided, only `Text` will take precedence.',\n )\n .isRequiredIf((props: Record<string, unknown>) => !props.text),\n textProps: PropTypes.object.description(\n 'Props to be passed to the custom Text component, if provided, used mainly to avoiding inline components definition to improve performance',\n ),\n};\n\nexport const DSTooltipV3PropTypesSchema = DSTooltipV3PropTypes as unknown as ValidationMap<DSTooltipV3T.Props>;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,8BAAoD;AAEpD,uBAAiF;AAoE1E,MAAM,uBAA8D;AAAA,EACzE,OAAG,kDAAyB,sCAAqB,iCAAgB;AAAA,EACjE,MAAM,kCAAU,OACb;AAAA,IACC;AAAA,EACF,EACC,aAAa,CAAC,UAAmC,CAAC,MAAM,IAAI;AAAA,EAC/D,WAAW,kCAAU,MAAM,+BAAsC,EAC9D,YAAY,wBAAwB,EACpC,aAAa,MAAM;AAAA,EACtB,0BAA0B,kCAAU,KACjC;AAAA,IACC;AAAA,EACF,EACC,aAAa,KAAK;AAAA,EACrB,WAAW,kCAAU,KAClB,YAAY,2EAA2E,EACvF,aAAa,KAAK;AAAA,EACrB,UAAU,kCAAU,KAAK,YAAY,sDAAsD,EAAE;AAAA,EAC7F,eAAe,kCAAU,KACtB,YAAY,yEAAyE,EACrF,aAAa,IAAI;AAAA,EACpB,cAAc,kCAAU,KAAK,YAAY,iDAAiD,EAAE,aAAa,KAAK;AAAA,EAC9G,kBAAkB,kCAAU,KACzB,YAAY,2DAA2D,EACvE,aAAa,KAAK;AAAA,EACrB,mBAAmB,kCAAU,OAAO,YAAY,+CAA+C,EAAE,aAAa,GAAG;AAAA,EACjH,oBAAoB,kCAAU,UAAU,CAAC,kCAAU,MAAM,kCAAU,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAC9E,YAAY,gGAAgG,EAC5G,aAAa,MAAS;AAAA,EACzB,0BAA0B,kCAAU,MAAM,0BAAS,EAChD,YAAY,+DAA+D,EAC3E,aAAa,OAAO;AAAA,EACvB,cAAc,kCAAU,QAAQ,kCAAU,MAAM,EAAE,YAAY,wBAAwB,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC;AAAA,EAC5G,IAAI,kCAAU,OAAO,YAAY,qCAAqC,EAAE,aAAa,EAAE;AAAA,EACvF,QAAQ,kCAAU,KAAK,YAAY,wDAAwD,EAAE,aAAa,UAAU;AAAA,EACpH,SAAS,kCAAU,KAChB,YAAY,yDAAyD,EACrE,aAAa,UAAU;AAAA,EAC1B,aAAa,kCAAU,KAAK,YAAY,mDAAmD;AAAA,EAC3F,MAAM,kCAAU,KACb;AAAA,IACC;AAAA,EACF,EACC,aAAa,CAAC,UAAmC,CAAC,MAAM,IAAI;AAAA,EAC/D,WAAW,kCAAU,OAAO;AAAA,IAC1B;AAAA,EACF;AACF;AAEO,MAAM,6BAA6B;",
4
+ "sourcesContent": ["import type { DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';\nimport { PropTypes, getPropsPerSlotPropTypes } from '@elliemae/ds-props-helpers';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { PLACEMENT, TEXT_ALIGNMENT, DSTooltipV3SlotName, TOOLTIP_V3_SLOTS } from './constants/index.js';\n\nexport declare namespace DSTooltipV3T {\n export type CustomInterface<T extends Record<string, unknown> = Record<string, unknown>> = T;\n export type Placement =\n | 'top-start'\n | 'top'\n | 'top-end'\n | 'right-start'\n | 'right'\n | 'right-end'\n | 'bottom-end'\n | 'bottom'\n | 'bottom-start'\n | 'left-end'\n | 'left'\n | 'left-start';\n export type TextAlignment = 'left' | 'right' | 'center' | 'justify' | 'initial' | 'inherit';\n\n export interface DefaultProps {\n onOpen: () => void;\n onClose: () => void;\n id: string;\n textAlign: TextAlignment;\n wrapWords: boolean;\n startPlacementPreference: Placement;\n applyTooltipOverflowWrap: boolean;\n customOffset: [number, number];\n }\n\n export type SlotFunctionArguments = {\n dsTooltipv3Root: () => object;\n dsTooltipv3TooltipContainer: () => object;\n dsTooltipv3TooltipText: () => object;\n dsTooltipv3MouseOverDetectionBox: () => object;\n };\n\n export interface OptionalProps<T extends Record<string, unknown> = Record<string, unknown>>\n extends TypescriptHelpersT.PropsForGlobalOnSlots<typeof DSTooltipV3SlotName, typeof TOOLTIP_V3_SLOTS> {\n withoutPortal?: boolean;\n withoutArrow?: boolean;\n withoutAnimation?: boolean;\n animationDuration?: number;\n portalDOMContainer?: HTMLElement;\n showPopover?: boolean;\n Text?: React.ComponentType<T>;\n textProps?: T;\n text?: string;\n }\n\n export interface RequiredProps {\n children: React.ReactNode;\n }\n export interface InternalProps<T extends CustomInterface = CustomInterface>\n extends DefaultProps,\n OptionalProps<T>,\n // Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof RequiredProps>,\n // XstyledProps,\n RequiredProps {}\n\n export interface Props<T extends CustomInterface = CustomInterface>\n extends Partial<DefaultProps>,\n OptionalProps<T>,\n // Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof RequiredProps>,\n // XstyledProps,\n RequiredProps {}\n}\n\nexport const DSTooltipV3PropTypes: DSPropTypesSchema<DSTooltipV3T.Props> = {\n ...getPropsPerSlotPropTypes(DSTooltipV3SlotName, TOOLTIP_V3_SLOTS),\n text: PropTypes.string\n .description(\n 'Tooltip text to be displayed on hover/focus. If both `text` and `Text` are provided, only `Text` will take precedence.',\n )\n .isRequiredIf((props: Record<string, unknown>) => !props.Text),\n textAlign: PropTypes.oneOf(TEXT_ALIGNMENT as unknown as unknown[])\n .description('Tooltip text alignment')\n .defaultValue('left'),\n applyTooltipOverflowWrap: PropTypes.bool\n .description(\n 'when a tooltip is present, the tooltip text may be too long to fit in the pill. If true, the tooltip will wrap to the next line using overflow-wrap',\n )\n .defaultValue(false),\n wrapWords: PropTypes.bool\n .description('Break words into a new line. Useful when words exceed tooltip max-lenght.')\n .defaultValue(false),\n children: PropTypes.node.description('Element to tie the tooltip to, must be a single node').isRequired,\n withoutPortal: PropTypes.bool\n .description('Whether or not the tooltip content should appear in a DOM portal or not')\n .defaultValue(true),\n withoutArrow: PropTypes.bool.description('Whether or not the tooltip should use the arrow').defaultValue(false),\n withoutAnimation: PropTypes.bool\n .description('Whether or not the popper context menu should be animated')\n .defaultValue(false),\n animationDuration: PropTypes.number.description('Popper context menus Animation duration in ms').defaultValue(100),\n portalDOMContainer: PropTypes.oneOfType([PropTypes.node, PropTypes.oneOf([null])])\n .description('When using portal, the container in which to append the DOM content, defaults to document body')\n .defaultValue(undefined),\n startPlacementPreference: PropTypes.oneOf(PLACEMENT)\n .description('start placement preferences, as per popperjs placement option')\n .defaultValue(\"'top'\"),\n customOffset: PropTypes.arrayOf(PropTypes.number).description('placement offset array').defaultValue([0, 14]),\n id: PropTypes.string\n .description(\n 'Optional id. When set, it is applied as the DOM id of the tooltip container (role=\"tooltip\") so the trigger element can reference it via aria-describedby \u2014 this is the W3C WAI-ARIA tooltip pattern. The same value is also appended to the root data-testid.',\n )\n .defaultValue(''),\n onOpen: PropTypes.func.description('Optional callback to be invoked when the tooltip opens').defaultValue('() => {}'),\n onClose: PropTypes.func\n .description('Optional callback to be invoked when the tooltip closes')\n .defaultValue('() => {}'),\n showPopover: PropTypes.bool.description('Whether or not the tooltip should be always shown'),\n Text: PropTypes.func\n .description(\n 'Custom component to be displayed in the tooltip, will receive textProps as props. If both `text` and `Text` are provided, only `Text` will take precedence.',\n )\n .isRequiredIf((props: Record<string, unknown>) => !props.text),\n textProps: PropTypes.object.description(\n 'Props to be passed to the custom Text component, if provided, used mainly to avoiding inline components definition to improve performance',\n ),\n};\n\nexport const DSTooltipV3PropTypesSchema = DSTooltipV3PropTypes as unknown as ValidationMap<DSTooltipV3T.Props>;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,8BAAoD;AAEpD,uBAAiF;AAoE1E,MAAM,uBAA8D;AAAA,EACzE,OAAG,kDAAyB,sCAAqB,iCAAgB;AAAA,EACjE,MAAM,kCAAU,OACb;AAAA,IACC;AAAA,EACF,EACC,aAAa,CAAC,UAAmC,CAAC,MAAM,IAAI;AAAA,EAC/D,WAAW,kCAAU,MAAM,+BAAsC,EAC9D,YAAY,wBAAwB,EACpC,aAAa,MAAM;AAAA,EACtB,0BAA0B,kCAAU,KACjC;AAAA,IACC;AAAA,EACF,EACC,aAAa,KAAK;AAAA,EACrB,WAAW,kCAAU,KAClB,YAAY,2EAA2E,EACvF,aAAa,KAAK;AAAA,EACrB,UAAU,kCAAU,KAAK,YAAY,sDAAsD,EAAE;AAAA,EAC7F,eAAe,kCAAU,KACtB,YAAY,yEAAyE,EACrF,aAAa,IAAI;AAAA,EACpB,cAAc,kCAAU,KAAK,YAAY,iDAAiD,EAAE,aAAa,KAAK;AAAA,EAC9G,kBAAkB,kCAAU,KACzB,YAAY,2DAA2D,EACvE,aAAa,KAAK;AAAA,EACrB,mBAAmB,kCAAU,OAAO,YAAY,+CAA+C,EAAE,aAAa,GAAG;AAAA,EACjH,oBAAoB,kCAAU,UAAU,CAAC,kCAAU,MAAM,kCAAU,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAC9E,YAAY,gGAAgG,EAC5G,aAAa,MAAS;AAAA,EACzB,0BAA0B,kCAAU,MAAM,0BAAS,EAChD,YAAY,+DAA+D,EAC3E,aAAa,OAAO;AAAA,EACvB,cAAc,kCAAU,QAAQ,kCAAU,MAAM,EAAE,YAAY,wBAAwB,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC;AAAA,EAC5G,IAAI,kCAAU,OACX;AAAA,IACC;AAAA,EACF,EACC,aAAa,EAAE;AAAA,EAClB,QAAQ,kCAAU,KAAK,YAAY,wDAAwD,EAAE,aAAa,UAAU;AAAA,EACpH,SAAS,kCAAU,KAChB,YAAY,yDAAyD,EACrE,aAAa,UAAU;AAAA,EAC1B,aAAa,kCAAU,KAAK,YAAY,mDAAmD;AAAA,EAC3F,MAAM,kCAAU,KACb;AAAA,IACC;AAAA,EACF,EACC,aAAa,CAAC,UAAmC,CAAC,MAAM,IAAI;AAAA,EAC/D,WAAW,kCAAU,OAAO;AAAA,IAC1B;AAAA,EACF;AACF;AAEO,MAAM,6BAA6B;",
6
6
  "names": []
7
7
  }
@@ -66,24 +66,33 @@ const DSTooltipV3 = (props) => {
66
66
  floatingStyles,
67
67
  context,
68
68
  children: [
69
- /* @__PURE__ */ jsxs(StyledTooltipContainer, { "data-testid": TOOLTIP_V3_DATA_TESTID.TOOLTIP_CONTAINER, ...ownerPropsConfig, children: [
70
- Text ? (
71
- // this "as T" is an oversimplification but it's safe due to how js {...undefined} works
72
- // users of the component that want the strict types will define T, others won't, no reason to force it on our end
73
- /* @__PURE__ */ jsx(Text, { ...textProps })
74
- ) : /* @__PURE__ */ jsx(
75
- StyledTooltipText,
76
- {
77
- "data-testid": TOOLTIP_V3_DATA_TESTID.TOOLTIP_TEXT,
78
- textAlign,
79
- wrapWords,
80
- $applyTooltipOverflowWrap: applyTooltipOverflowWrap,
81
- ...ownerPropsConfig,
82
- children: text
83
- }
84
- ),
85
- /* @__PURE__ */ jsx(StyledMouseOverDetectionBox, { ...ownerPropsConfig })
86
- ] }),
69
+ /* @__PURE__ */ jsxs(
70
+ StyledTooltipContainer,
71
+ {
72
+ "data-testid": TOOLTIP_V3_DATA_TESTID.TOOLTIP_CONTAINER,
73
+ ...ownerPropsConfig,
74
+ ...id !== "" ? { id } : {},
75
+ role: "tooltip",
76
+ children: [
77
+ Text ? (
78
+ // this "as T" is an oversimplification but it's safe due to how js {...undefined} works
79
+ // users of the component that want the strict types will define T, others won't, no reason to force it on our end
80
+ /* @__PURE__ */ jsx(Text, { ...textProps })
81
+ ) : /* @__PURE__ */ jsx(
82
+ StyledTooltipText,
83
+ {
84
+ "data-testid": TOOLTIP_V3_DATA_TESTID.TOOLTIP_TEXT,
85
+ textAlign,
86
+ wrapWords,
87
+ $applyTooltipOverflowWrap: applyTooltipOverflowWrap,
88
+ ...ownerPropsConfig,
89
+ children: text
90
+ }
91
+ ),
92
+ /* @__PURE__ */ jsx(StyledMouseOverDetectionBox, { ...ownerPropsConfig })
93
+ ]
94
+ }
95
+ ),
87
96
  !withoutArrow ? /* @__PURE__ */ jsx(PopoverArrow, { ...arrowStyles }) : null
88
97
  ]
89
98
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/DSTooltipV3.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { useFloatingContext, PopoverArrow, FloatingWrapper } from '@elliemae/ds-floating-context';\nimport { describe, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport { DSTooltipV3PropTypesSchema } from './react-desc-prop-types.js';\nimport {\n StyledTooltipContainer,\n StyledTooltipText,\n StyledMouseOverDetectionBox,\n StyledTriggerWrapper,\n} from './styles.js';\nimport type { DSTooltipV3T } from './react-desc-prop-types.js';\nimport { useTooltipV3 } from './config/useTooltipV3.js';\nimport { DSTooltipV3SlotName, TOOLTIP_V3_DATA_TESTID } from './constants/index.js';\n\nconst DSTooltipV3 = <T extends DSTooltipV3T.CustomInterface>(props: DSTooltipV3T.Props<T>) => {\n const { propsWithDefault } = useTooltipV3(props);\n\n const {\n text,\n startPlacementPreference,\n children,\n onOpen,\n onClose,\n id,\n textAlign,\n wrapWords,\n withoutArrow,\n customOffset,\n animationDuration,\n withoutAnimation,\n withoutPortal,\n portalDOMContainer,\n applyTooltipOverflowWrap,\n showPopover,\n Text,\n textProps,\n } = propsWithDefault;\n\n const ownerPropsConfig = useOwnerProps(propsWithDefault);\n\n const { handlers, arrowStyles, floatingStyles, isOpen, refs, context } = useFloatingContext({\n placement: startPlacementPreference,\n customOffset,\n onOpen,\n onClose,\n withoutPortal,\n withoutAnimation,\n portalDOMContainer,\n animationDuration,\n externallyControlledIsOpen: showPopover,\n });\n\n const isOpenSourceOfTruth = React.useMemo(() => {\n if (showPopover !== undefined) return showPopover;\n return isOpen;\n }, [showPopover, isOpen]);\n\n return (\n <StyledTriggerWrapper\n {...handlers}\n innerRef={refs.setReference}\n // legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={`${TOOLTIP_V3_DATA_TESTID.ROOT}${id !== '' ? `_${id}` : ''}`}\n {...ownerPropsConfig}\n >\n <FloatingWrapper\n innerRef={refs.setFloating}\n isOpen={isOpenSourceOfTruth}\n floatingStyles={floatingStyles}\n context={context}\n >\n {/* legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed */}\n <StyledTooltipContainer data-testid={TOOLTIP_V3_DATA_TESTID.TOOLTIP_CONTAINER} {...ownerPropsConfig}>\n {Text ? (\n // this \"as T\" is an oversimplification but it's safe due to how js {...undefined} works\n // users of the component that want the strict types will define T, others won't, no reason to force it on our end\n <Text {...(textProps as T)} />\n ) : (\n <StyledTooltipText\n // legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={TOOLTIP_V3_DATA_TESTID.TOOLTIP_TEXT}\n textAlign={textAlign}\n wrapWords={wrapWords}\n $applyTooltipOverflowWrap={applyTooltipOverflowWrap}\n {...ownerPropsConfig}\n >\n {text}\n </StyledTooltipText>\n )}\n <StyledMouseOverDetectionBox {...ownerPropsConfig} />\n </StyledTooltipContainer>\n {!withoutArrow ? <PopoverArrow {...arrowStyles} /> : null}\n </FloatingWrapper>\n\n {children}\n </StyledTriggerWrapper>\n );\n};\n\nDSTooltipV3.displayName = DSTooltipV3SlotName;\nconst DSTooltipV3WithSchema = describe(DSTooltipV3);\nDSTooltipV3WithSchema.propTypes = DSTooltipV3PropTypesSchema;\n\nexport { DSTooltipV3, DSTooltipV3WithSchema };\n\nexport default DSTooltipV3;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACyEf,SAII,KAJJ;AAxER,OAAOA,YAAW;AAClB,SAAS,oBAAoB,cAAc,uBAAuB;AAClE,SAAS,UAAU,qBAAqB;AACxC,SAAS,kCAAkC;AAC3C;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB,8BAA8B;AAE5D,MAAM,cAAc,CAAyC,UAAiC;AAC5F,QAAM,EAAE,iBAAiB,IAAI,aAAa,KAAK;AAE/C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,mBAAmB,cAAc,gBAAgB;AAEvD,QAAM,EAAE,UAAU,aAAa,gBAAgB,QAAQ,MAAM,QAAQ,IAAI,mBAAmB;AAAA,IAC1F,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,4BAA4B;AAAA,EAC9B,CAAC;AAED,QAAM,sBAAsBA,OAAM,QAAQ,MAAM;AAC9C,QAAI,gBAAgB,OAAW,QAAO;AACtC,WAAO;AAAA,EACT,GAAG,CAAC,aAAa,MAAM,CAAC;AAExB,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,KAAK;AAAA,MAEf,eAAa,GAAG,uBAAuB,IAAI,GAAG,OAAO,KAAK,IAAI,EAAE,KAAK,EAAE;AAAA,MACtE,GAAG;AAAA,MAEJ;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,UAAU,KAAK;AAAA,YACf,QAAQ;AAAA,YACR;AAAA,YACA;AAAA,YAGA;AAAA,mCAAC,0BAAuB,eAAa,uBAAuB,mBAAoB,GAAG,kBAChF;AAAA;AAAA;AAAA;AAAA,kBAGC,oBAAC,QAAM,GAAI,WAAiB;AAAA,oBAE5B;AAAA,kBAAC;AAAA;AAAA,oBAEC,eAAa,uBAAuB;AAAA,oBACpC;AAAA,oBACA;AAAA,oBACA,2BAA2B;AAAA,oBAC1B,GAAG;AAAA,oBAEH;AAAA;AAAA,gBACH;AAAA,gBAEF,oBAAC,+BAA6B,GAAG,kBAAkB;AAAA,iBACrD;AAAA,cACC,CAAC,eAAe,oBAAC,gBAAc,GAAG,aAAa,IAAK;AAAA;AAAA;AAAA,QACvD;AAAA,QAEC;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,YAAY,cAAc;AAC1B,MAAM,wBAAwB,SAAS,WAAW;AAClD,sBAAsB,YAAY;AAIlC,IAAO,sBAAQ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { useFloatingContext, PopoverArrow, FloatingWrapper } from '@elliemae/ds-floating-context';\nimport { describe, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport { DSTooltipV3PropTypesSchema } from './react-desc-prop-types.js';\nimport {\n StyledTooltipContainer,\n StyledTooltipText,\n StyledMouseOverDetectionBox,\n StyledTriggerWrapper,\n} from './styles.js';\nimport type { DSTooltipV3T } from './react-desc-prop-types.js';\nimport { useTooltipV3 } from './config/useTooltipV3.js';\nimport { DSTooltipV3SlotName, TOOLTIP_V3_DATA_TESTID } from './constants/index.js';\n\nconst DSTooltipV3 = <T extends DSTooltipV3T.CustomInterface>(props: DSTooltipV3T.Props<T>) => {\n const { propsWithDefault } = useTooltipV3(props);\n\n const {\n text,\n startPlacementPreference,\n children,\n onOpen,\n onClose,\n id,\n textAlign,\n wrapWords,\n withoutArrow,\n customOffset,\n animationDuration,\n withoutAnimation,\n withoutPortal,\n portalDOMContainer,\n applyTooltipOverflowWrap,\n showPopover,\n Text,\n textProps,\n } = propsWithDefault;\n\n const ownerPropsConfig = useOwnerProps(propsWithDefault);\n\n const { handlers, arrowStyles, floatingStyles, isOpen, refs, context } = useFloatingContext({\n placement: startPlacementPreference,\n customOffset,\n onOpen,\n onClose,\n withoutPortal,\n withoutAnimation,\n portalDOMContainer,\n animationDuration,\n externallyControlledIsOpen: showPopover,\n });\n\n const isOpenSourceOfTruth = React.useMemo(() => {\n if (showPopover !== undefined) return showPopover;\n return isOpen;\n }, [showPopover, isOpen]);\n\n return (\n <StyledTriggerWrapper\n {...handlers}\n innerRef={refs.setReference}\n // legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={`${TOOLTIP_V3_DATA_TESTID.ROOT}${id !== '' ? `_${id}` : ''}`}\n {...ownerPropsConfig}\n >\n <FloatingWrapper\n innerRef={refs.setFloating}\n isOpen={isOpenSourceOfTruth}\n floatingStyles={floatingStyles}\n context={context}\n >\n <StyledTooltipContainer\n // legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={TOOLTIP_V3_DATA_TESTID.TOOLTIP_CONTAINER}\n {...ownerPropsConfig}\n // W3C WAI-ARIA tooltip pattern: the container is the tooltip element. Consumers wire it to\n // their own trigger by passing the same `id` prop here and `aria-describedby={id}` on the\n // child element. The `id` is only emitted to the DOM when the consumer opts in.\n {...(id !== '' ? { id } : {})}\n role=\"tooltip\"\n >\n {Text ? (\n // this \"as T\" is an oversimplification but it's safe due to how js {...undefined} works\n // users of the component that want the strict types will define T, others won't, no reason to force it on our end\n <Text {...(textProps as T)} />\n ) : (\n <StyledTooltipText\n // legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={TOOLTIP_V3_DATA_TESTID.TOOLTIP_TEXT}\n textAlign={textAlign}\n wrapWords={wrapWords}\n $applyTooltipOverflowWrap={applyTooltipOverflowWrap}\n {...ownerPropsConfig}\n >\n {text}\n </StyledTooltipText>\n )}\n <StyledMouseOverDetectionBox {...ownerPropsConfig} />\n </StyledTooltipContainer>\n {!withoutArrow ? <PopoverArrow {...arrowStyles} /> : null}\n </FloatingWrapper>\n\n {children}\n </StyledTriggerWrapper>\n );\n};\n\nDSTooltipV3.displayName = DSTooltipV3SlotName;\nconst DSTooltipV3WithSchema = describe(DSTooltipV3);\nDSTooltipV3WithSchema.propTypes = DSTooltipV3PropTypesSchema;\n\nexport { DSTooltipV3, DSTooltipV3WithSchema };\n\nexport default DSTooltipV3;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACwEf,SAaI,KAbJ;AAvER,OAAOA,YAAW;AAClB,SAAS,oBAAoB,cAAc,uBAAuB;AAClE,SAAS,UAAU,qBAAqB;AACxC,SAAS,kCAAkC;AAC3C;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB,8BAA8B;AAE5D,MAAM,cAAc,CAAyC,UAAiC;AAC5F,QAAM,EAAE,iBAAiB,IAAI,aAAa,KAAK;AAE/C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,mBAAmB,cAAc,gBAAgB;AAEvD,QAAM,EAAE,UAAU,aAAa,gBAAgB,QAAQ,MAAM,QAAQ,IAAI,mBAAmB;AAAA,IAC1F,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,4BAA4B;AAAA,EAC9B,CAAC;AAED,QAAM,sBAAsBA,OAAM,QAAQ,MAAM;AAC9C,QAAI,gBAAgB,OAAW,QAAO;AACtC,WAAO;AAAA,EACT,GAAG,CAAC,aAAa,MAAM,CAAC;AAExB,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,KAAK;AAAA,MAEf,eAAa,GAAG,uBAAuB,IAAI,GAAG,OAAO,KAAK,IAAI,EAAE,KAAK,EAAE;AAAA,MACtE,GAAG;AAAA,MAEJ;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,UAAU,KAAK;AAAA,YACf,QAAQ;AAAA,YACR;AAAA,YACA;AAAA,YAEA;AAAA;AAAA,gBAAC;AAAA;AAAA,kBAEC,eAAa,uBAAuB;AAAA,kBACnC,GAAG;AAAA,kBAIH,GAAI,OAAO,KAAK,EAAE,GAAG,IAAI,CAAC;AAAA,kBAC3B,MAAK;AAAA,kBAEJ;AAAA;AAAA;AAAA;AAAA,sBAGC,oBAAC,QAAM,GAAI,WAAiB;AAAA,wBAE5B;AAAA,sBAAC;AAAA;AAAA,wBAEC,eAAa,uBAAuB;AAAA,wBACpC;AAAA,wBACA;AAAA,wBACA,2BAA2B;AAAA,wBAC1B,GAAG;AAAA,wBAEH;AAAA;AAAA,oBACH;AAAA,oBAEF,oBAAC,+BAA6B,GAAG,kBAAkB;AAAA;AAAA;AAAA,cACrD;AAAA,cACC,CAAC,eAAe,oBAAC,gBAAc,GAAG,aAAa,IAAK;AAAA;AAAA;AAAA,QACvD;AAAA,QAEC;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,YAAY,cAAc;AAC1B,MAAM,wBAAwB,SAAS,WAAW;AAClD,sBAAsB,YAAY;AAIlC,IAAO,sBAAQ;",
6
6
  "names": ["React"]
7
7
  }
@@ -19,7 +19,9 @@ const DSTooltipV3PropTypes = {
19
19
  portalDOMContainer: PropTypes.oneOfType([PropTypes.node, PropTypes.oneOf([null])]).description("When using portal, the container in which to append the DOM content, defaults to document body").defaultValue(void 0),
20
20
  startPlacementPreference: PropTypes.oneOf(PLACEMENT).description("start placement preferences, as per popperjs placement option").defaultValue("'top'"),
21
21
  customOffset: PropTypes.arrayOf(PropTypes.number).description("placement offset array").defaultValue([0, 14]),
22
- id: PropTypes.string.description("Optional id appended to data-testid").defaultValue(""),
22
+ id: PropTypes.string.description(
23
+ 'Optional id. When set, it is applied as the DOM id of the tooltip container (role="tooltip") so the trigger element can reference it via aria-describedby \u2014 this is the W3C WAI-ARIA tooltip pattern. The same value is also appended to the root data-testid.'
24
+ ).defaultValue(""),
23
25
  onOpen: PropTypes.func.description("Optional callback to be invoked when the tooltip opens").defaultValue("() => {}"),
24
26
  onClose: PropTypes.func.description("Optional callback to be invoked when the tooltip closes").defaultValue("() => {}"),
25
27
  showPopover: PropTypes.bool.description("Whether or not the tooltip should be always shown"),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/react-desc-prop-types.ts"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import type { DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';\nimport { PropTypes, getPropsPerSlotPropTypes } from '@elliemae/ds-props-helpers';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { PLACEMENT, TEXT_ALIGNMENT, DSTooltipV3SlotName, TOOLTIP_V3_SLOTS } from './constants/index.js';\n\nexport declare namespace DSTooltipV3T {\n export type CustomInterface<T extends Record<string, unknown> = Record<string, unknown>> = T;\n export type Placement =\n | 'top-start'\n | 'top'\n | 'top-end'\n | 'right-start'\n | 'right'\n | 'right-end'\n | 'bottom-end'\n | 'bottom'\n | 'bottom-start'\n | 'left-end'\n | 'left'\n | 'left-start';\n export type TextAlignment = 'left' | 'right' | 'center' | 'justify' | 'initial' | 'inherit';\n\n export interface DefaultProps {\n onOpen: () => void;\n onClose: () => void;\n id: string;\n textAlign: TextAlignment;\n wrapWords: boolean;\n startPlacementPreference: Placement;\n applyTooltipOverflowWrap: boolean;\n customOffset: [number, number];\n }\n\n export type SlotFunctionArguments = {\n dsTooltipv3Root: () => object;\n dsTooltipv3TooltipContainer: () => object;\n dsTooltipv3TooltipText: () => object;\n dsTooltipv3MouseOverDetectionBox: () => object;\n };\n\n export interface OptionalProps<T extends Record<string, unknown> = Record<string, unknown>>\n extends TypescriptHelpersT.PropsForGlobalOnSlots<typeof DSTooltipV3SlotName, typeof TOOLTIP_V3_SLOTS> {\n withoutPortal?: boolean;\n withoutArrow?: boolean;\n withoutAnimation?: boolean;\n animationDuration?: number;\n portalDOMContainer?: HTMLElement;\n showPopover?: boolean;\n Text?: React.ComponentType<T>;\n textProps?: T;\n text?: string;\n }\n\n export interface RequiredProps {\n children: React.ReactNode;\n }\n export interface InternalProps<T extends CustomInterface = CustomInterface>\n extends DefaultProps,\n OptionalProps<T>,\n // Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof RequiredProps>,\n // XstyledProps,\n RequiredProps {}\n\n export interface Props<T extends CustomInterface = CustomInterface>\n extends Partial<DefaultProps>,\n OptionalProps<T>,\n // Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof RequiredProps>,\n // XstyledProps,\n RequiredProps {}\n}\n\nexport const DSTooltipV3PropTypes: DSPropTypesSchema<DSTooltipV3T.Props> = {\n ...getPropsPerSlotPropTypes(DSTooltipV3SlotName, TOOLTIP_V3_SLOTS),\n text: PropTypes.string\n .description(\n 'Tooltip text to be displayed on hover/focus. If both `text` and `Text` are provided, only `Text` will take precedence.',\n )\n .isRequiredIf((props: Record<string, unknown>) => !props.Text),\n textAlign: PropTypes.oneOf(TEXT_ALIGNMENT as unknown as unknown[])\n .description('Tooltip text alignment')\n .defaultValue('left'),\n applyTooltipOverflowWrap: PropTypes.bool\n .description(\n 'when a tooltip is present, the tooltip text may be too long to fit in the pill. If true, the tooltip will wrap to the next line using overflow-wrap',\n )\n .defaultValue(false),\n wrapWords: PropTypes.bool\n .description('Break words into a new line. Useful when words exceed tooltip max-lenght.')\n .defaultValue(false),\n children: PropTypes.node.description('Element to tie the tooltip to, must be a single node').isRequired,\n withoutPortal: PropTypes.bool\n .description('Whether or not the tooltip content should appear in a DOM portal or not')\n .defaultValue(true),\n withoutArrow: PropTypes.bool.description('Whether or not the tooltip should use the arrow').defaultValue(false),\n withoutAnimation: PropTypes.bool\n .description('Whether or not the popper context menu should be animated')\n .defaultValue(false),\n animationDuration: PropTypes.number.description('Popper context menus Animation duration in ms').defaultValue(100),\n portalDOMContainer: PropTypes.oneOfType([PropTypes.node, PropTypes.oneOf([null])])\n .description('When using portal, the container in which to append the DOM content, defaults to document body')\n .defaultValue(undefined),\n startPlacementPreference: PropTypes.oneOf(PLACEMENT)\n .description('start placement preferences, as per popperjs placement option')\n .defaultValue(\"'top'\"),\n customOffset: PropTypes.arrayOf(PropTypes.number).description('placement offset array').defaultValue([0, 14]),\n id: PropTypes.string.description('Optional id appended to data-testid').defaultValue(''),\n onOpen: PropTypes.func.description('Optional callback to be invoked when the tooltip opens').defaultValue('() => {}'),\n onClose: PropTypes.func\n .description('Optional callback to be invoked when the tooltip closes')\n .defaultValue('() => {}'),\n showPopover: PropTypes.bool.description('Whether or not the tooltip should be always shown'),\n Text: PropTypes.func\n .description(\n 'Custom component to be displayed in the tooltip, will receive textProps as props. If both `text` and `Text` are provided, only `Text` will take precedence.',\n )\n .isRequiredIf((props: Record<string, unknown>) => !props.text),\n textProps: PropTypes.object.description(\n 'Props to be passed to the custom Text component, if provided, used mainly to avoiding inline components definition to improve performance',\n ),\n};\n\nexport const DSTooltipV3PropTypesSchema = DSTooltipV3PropTypes as unknown as ValidationMap<DSTooltipV3T.Props>;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,WAAW,gCAAgC;AAEpD,SAAS,WAAW,gBAAgB,qBAAqB,wBAAwB;AAoE1E,MAAM,uBAA8D;AAAA,EACzE,GAAG,yBAAyB,qBAAqB,gBAAgB;AAAA,EACjE,MAAM,UAAU,OACb;AAAA,IACC;AAAA,EACF,EACC,aAAa,CAAC,UAAmC,CAAC,MAAM,IAAI;AAAA,EAC/D,WAAW,UAAU,MAAM,cAAsC,EAC9D,YAAY,wBAAwB,EACpC,aAAa,MAAM;AAAA,EACtB,0BAA0B,UAAU,KACjC;AAAA,IACC;AAAA,EACF,EACC,aAAa,KAAK;AAAA,EACrB,WAAW,UAAU,KAClB,YAAY,2EAA2E,EACvF,aAAa,KAAK;AAAA,EACrB,UAAU,UAAU,KAAK,YAAY,sDAAsD,EAAE;AAAA,EAC7F,eAAe,UAAU,KACtB,YAAY,yEAAyE,EACrF,aAAa,IAAI;AAAA,EACpB,cAAc,UAAU,KAAK,YAAY,iDAAiD,EAAE,aAAa,KAAK;AAAA,EAC9G,kBAAkB,UAAU,KACzB,YAAY,2DAA2D,EACvE,aAAa,KAAK;AAAA,EACrB,mBAAmB,UAAU,OAAO,YAAY,+CAA+C,EAAE,aAAa,GAAG;AAAA,EACjH,oBAAoB,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAC9E,YAAY,gGAAgG,EAC5G,aAAa,MAAS;AAAA,EACzB,0BAA0B,UAAU,MAAM,SAAS,EAChD,YAAY,+DAA+D,EAC3E,aAAa,OAAO;AAAA,EACvB,cAAc,UAAU,QAAQ,UAAU,MAAM,EAAE,YAAY,wBAAwB,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC;AAAA,EAC5G,IAAI,UAAU,OAAO,YAAY,qCAAqC,EAAE,aAAa,EAAE;AAAA,EACvF,QAAQ,UAAU,KAAK,YAAY,wDAAwD,EAAE,aAAa,UAAU;AAAA,EACpH,SAAS,UAAU,KAChB,YAAY,yDAAyD,EACrE,aAAa,UAAU;AAAA,EAC1B,aAAa,UAAU,KAAK,YAAY,mDAAmD;AAAA,EAC3F,MAAM,UAAU,KACb;AAAA,IACC;AAAA,EACF,EACC,aAAa,CAAC,UAAmC,CAAC,MAAM,IAAI;AAAA,EAC/D,WAAW,UAAU,OAAO;AAAA,IAC1B;AAAA,EACF;AACF;AAEO,MAAM,6BAA6B;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import type { DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';\nimport { PropTypes, getPropsPerSlotPropTypes } from '@elliemae/ds-props-helpers';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { PLACEMENT, TEXT_ALIGNMENT, DSTooltipV3SlotName, TOOLTIP_V3_SLOTS } from './constants/index.js';\n\nexport declare namespace DSTooltipV3T {\n export type CustomInterface<T extends Record<string, unknown> = Record<string, unknown>> = T;\n export type Placement =\n | 'top-start'\n | 'top'\n | 'top-end'\n | 'right-start'\n | 'right'\n | 'right-end'\n | 'bottom-end'\n | 'bottom'\n | 'bottom-start'\n | 'left-end'\n | 'left'\n | 'left-start';\n export type TextAlignment = 'left' | 'right' | 'center' | 'justify' | 'initial' | 'inherit';\n\n export interface DefaultProps {\n onOpen: () => void;\n onClose: () => void;\n id: string;\n textAlign: TextAlignment;\n wrapWords: boolean;\n startPlacementPreference: Placement;\n applyTooltipOverflowWrap: boolean;\n customOffset: [number, number];\n }\n\n export type SlotFunctionArguments = {\n dsTooltipv3Root: () => object;\n dsTooltipv3TooltipContainer: () => object;\n dsTooltipv3TooltipText: () => object;\n dsTooltipv3MouseOverDetectionBox: () => object;\n };\n\n export interface OptionalProps<T extends Record<string, unknown> = Record<string, unknown>>\n extends TypescriptHelpersT.PropsForGlobalOnSlots<typeof DSTooltipV3SlotName, typeof TOOLTIP_V3_SLOTS> {\n withoutPortal?: boolean;\n withoutArrow?: boolean;\n withoutAnimation?: boolean;\n animationDuration?: number;\n portalDOMContainer?: HTMLElement;\n showPopover?: boolean;\n Text?: React.ComponentType<T>;\n textProps?: T;\n text?: string;\n }\n\n export interface RequiredProps {\n children: React.ReactNode;\n }\n export interface InternalProps<T extends CustomInterface = CustomInterface>\n extends DefaultProps,\n OptionalProps<T>,\n // Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof RequiredProps>,\n // XstyledProps,\n RequiredProps {}\n\n export interface Props<T extends CustomInterface = CustomInterface>\n extends Partial<DefaultProps>,\n OptionalProps<T>,\n // Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof RequiredProps>,\n // XstyledProps,\n RequiredProps {}\n}\n\nexport const DSTooltipV3PropTypes: DSPropTypesSchema<DSTooltipV3T.Props> = {\n ...getPropsPerSlotPropTypes(DSTooltipV3SlotName, TOOLTIP_V3_SLOTS),\n text: PropTypes.string\n .description(\n 'Tooltip text to be displayed on hover/focus. If both `text` and `Text` are provided, only `Text` will take precedence.',\n )\n .isRequiredIf((props: Record<string, unknown>) => !props.Text),\n textAlign: PropTypes.oneOf(TEXT_ALIGNMENT as unknown as unknown[])\n .description('Tooltip text alignment')\n .defaultValue('left'),\n applyTooltipOverflowWrap: PropTypes.bool\n .description(\n 'when a tooltip is present, the tooltip text may be too long to fit in the pill. If true, the tooltip will wrap to the next line using overflow-wrap',\n )\n .defaultValue(false),\n wrapWords: PropTypes.bool\n .description('Break words into a new line. Useful when words exceed tooltip max-lenght.')\n .defaultValue(false),\n children: PropTypes.node.description('Element to tie the tooltip to, must be a single node').isRequired,\n withoutPortal: PropTypes.bool\n .description('Whether or not the tooltip content should appear in a DOM portal or not')\n .defaultValue(true),\n withoutArrow: PropTypes.bool.description('Whether or not the tooltip should use the arrow').defaultValue(false),\n withoutAnimation: PropTypes.bool\n .description('Whether or not the popper context menu should be animated')\n .defaultValue(false),\n animationDuration: PropTypes.number.description('Popper context menus Animation duration in ms').defaultValue(100),\n portalDOMContainer: PropTypes.oneOfType([PropTypes.node, PropTypes.oneOf([null])])\n .description('When using portal, the container in which to append the DOM content, defaults to document body')\n .defaultValue(undefined),\n startPlacementPreference: PropTypes.oneOf(PLACEMENT)\n .description('start placement preferences, as per popperjs placement option')\n .defaultValue(\"'top'\"),\n customOffset: PropTypes.arrayOf(PropTypes.number).description('placement offset array').defaultValue([0, 14]),\n id: PropTypes.string\n .description(\n 'Optional id. When set, it is applied as the DOM id of the tooltip container (role=\"tooltip\") so the trigger element can reference it via aria-describedby \u2014 this is the W3C WAI-ARIA tooltip pattern. The same value is also appended to the root data-testid.',\n )\n .defaultValue(''),\n onOpen: PropTypes.func.description('Optional callback to be invoked when the tooltip opens').defaultValue('() => {}'),\n onClose: PropTypes.func\n .description('Optional callback to be invoked when the tooltip closes')\n .defaultValue('() => {}'),\n showPopover: PropTypes.bool.description('Whether or not the tooltip should be always shown'),\n Text: PropTypes.func\n .description(\n 'Custom component to be displayed in the tooltip, will receive textProps as props. If both `text` and `Text` are provided, only `Text` will take precedence.',\n )\n .isRequiredIf((props: Record<string, unknown>) => !props.text),\n textProps: PropTypes.object.description(\n 'Props to be passed to the custom Text component, if provided, used mainly to avoiding inline components definition to improve performance',\n ),\n};\n\nexport const DSTooltipV3PropTypesSchema = DSTooltipV3PropTypes as unknown as ValidationMap<DSTooltipV3T.Props>;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,WAAW,gCAAgC;AAEpD,SAAS,WAAW,gBAAgB,qBAAqB,wBAAwB;AAoE1E,MAAM,uBAA8D;AAAA,EACzE,GAAG,yBAAyB,qBAAqB,gBAAgB;AAAA,EACjE,MAAM,UAAU,OACb;AAAA,IACC;AAAA,EACF,EACC,aAAa,CAAC,UAAmC,CAAC,MAAM,IAAI;AAAA,EAC/D,WAAW,UAAU,MAAM,cAAsC,EAC9D,YAAY,wBAAwB,EACpC,aAAa,MAAM;AAAA,EACtB,0BAA0B,UAAU,KACjC;AAAA,IACC;AAAA,EACF,EACC,aAAa,KAAK;AAAA,EACrB,WAAW,UAAU,KAClB,YAAY,2EAA2E,EACvF,aAAa,KAAK;AAAA,EACrB,UAAU,UAAU,KAAK,YAAY,sDAAsD,EAAE;AAAA,EAC7F,eAAe,UAAU,KACtB,YAAY,yEAAyE,EACrF,aAAa,IAAI;AAAA,EACpB,cAAc,UAAU,KAAK,YAAY,iDAAiD,EAAE,aAAa,KAAK;AAAA,EAC9G,kBAAkB,UAAU,KACzB,YAAY,2DAA2D,EACvE,aAAa,KAAK;AAAA,EACrB,mBAAmB,UAAU,OAAO,YAAY,+CAA+C,EAAE,aAAa,GAAG;AAAA,EACjH,oBAAoB,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAC9E,YAAY,gGAAgG,EAC5G,aAAa,MAAS;AAAA,EACzB,0BAA0B,UAAU,MAAM,SAAS,EAChD,YAAY,+DAA+D,EAC3E,aAAa,OAAO;AAAA,EACvB,cAAc,UAAU,QAAQ,UAAU,MAAM,EAAE,YAAY,wBAAwB,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC;AAAA,EAC5G,IAAI,UAAU,OACX;AAAA,IACC;AAAA,EACF,EACC,aAAa,EAAE;AAAA,EAClB,QAAQ,UAAU,KAAK,YAAY,wDAAwD,EAAE,aAAa,UAAU;AAAA,EACpH,SAAS,UAAU,KAChB,YAAY,yDAAyD,EACrE,aAAa,UAAU;AAAA,EAC1B,aAAa,UAAU,KAAK,YAAY,mDAAmD;AAAA,EAC3F,MAAM,UAAU,KACb;AAAA,IACC;AAAA,EACF,EACC,aAAa,CAAC,UAAmC,CAAC,MAAM,IAAI;AAAA,EAC/D,WAAW,UAAU,OAAO;AAAA,IAC1B;AAAA,EACF;AACF;AAEO,MAAM,6BAA6B;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-tooltip-v3",
3
- "version": "3.70.0-next.15",
3
+ "version": "3.70.0-next.16",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Tooltip V3",
6
6
  "files": [
@@ -36,9 +36,9 @@
36
36
  "indent": 4
37
37
  },
38
38
  "dependencies": {
39
- "@elliemae/ds-floating-context": "3.70.0-next.15",
40
- "@elliemae/ds-props-helpers": "3.70.0-next.15",
41
- "@elliemae/ds-system": "3.70.0-next.15"
39
+ "@elliemae/ds-floating-context": "3.70.0-next.16",
40
+ "@elliemae/ds-props-helpers": "3.70.0-next.16",
41
+ "@elliemae/ds-system": "3.70.0-next.16"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@playwright/experimental-ct-react": "^1.51.1",
@@ -46,9 +46,9 @@
46
46
  "react": "^18.3.1",
47
47
  "react-dom": "^18.3.1",
48
48
  "styled-components": "~5.3.9",
49
- "@elliemae/ds-monorepo-devops": "3.70.0-next.15",
50
- "@elliemae/ds-grid": "3.70.0-next.15",
51
- "@elliemae/ds-test-utils": "3.70.0-next.15"
49
+ "@elliemae/ds-grid": "3.70.0-next.16",
50
+ "@elliemae/ds-monorepo-devops": "3.70.0-next.16",
51
+ "@elliemae/ds-test-utils": "3.70.0-next.16"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "react": "^18.3.1",