@openedx/paragon 22.6.0 → 22.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/Chip/ChipIcon.d.ts +11 -6
  2. package/dist/Chip/ChipIcon.js +0 -2
  3. package/dist/Chip/ChipIcon.js.map +1 -1
  4. package/dist/Chip/constants.d.ts +4 -0
  5. package/dist/Chip/constants.js +3 -2
  6. package/dist/Chip/constants.js.map +1 -0
  7. package/dist/Chip/index.d.ts +2 -1
  8. package/dist/Chip/index.js +0 -2
  9. package/dist/Chip/index.js.map +1 -1
  10. package/dist/ChipCarousel/index.js +0 -2
  11. package/dist/ChipCarousel/index.js.map +1 -1
  12. package/dist/IconButton/index.d.ts +344 -0
  13. package/dist/IconButton/index.js +17 -25
  14. package/dist/IconButton/index.js.map +1 -1
  15. package/dist/Menu/SelectMenu.js +9 -4
  16. package/dist/Menu/SelectMenu.js.map +1 -1
  17. package/dist/Modal/ModalPopup.js +7 -1
  18. package/dist/Modal/ModalPopup.js.map +1 -1
  19. package/dist/Overlay/index.d.ts +128 -0
  20. package/dist/Overlay/index.js +5 -0
  21. package/dist/Overlay/index.js.map +1 -1
  22. package/dist/Tooltip/index.d.ts +7 -0
  23. package/dist/Tooltip/index.js.map +1 -1
  24. package/dist/index.d.ts +3 -3
  25. package/dist/index.js +3 -3
  26. package/package.json +1 -1
  27. package/src/Chip/{Chip.test.jsx → Chip.test.tsx} +5 -7
  28. package/src/Chip/ChipIcon.tsx +7 -7
  29. package/src/Chip/{constants.js → constants.ts} +1 -1
  30. package/src/Chip/index.tsx +1 -3
  31. package/src/ChipCarousel/index.tsx +0 -2
  32. package/src/IconButton/{IconButton.test.jsx → IconButton.test.tsx} +24 -3
  33. package/src/IconButton/__snapshots__/IconButton.test.tsx.snap +112 -0
  34. package/src/IconButton/{index.jsx → index.tsx} +62 -22
  35. package/src/Menu/SelectMenu.jsx +5 -0
  36. package/src/Menu/SelectMenu.test.jsx +6 -0
  37. package/src/Menu/select-menu.md +8 -0
  38. package/src/Modal/ModalPopup.jsx +9 -1
  39. package/src/Modal/tests/ModalPopupNoMock.test.jsx +29 -0
  40. package/src/Overlay/{index.jsx → index.tsx} +10 -6
  41. package/src/Tooltip/{index.jsx → index.tsx} +9 -3
  42. package/src/index.d.ts +3 -3
  43. package/src/index.js +3 -3
  44. package/src/IconButton/__snapshots__/IconButton.test.jsx.snap +0 -43
  45. /package/src/Chip/__snapshots__/{Chip.test.jsx.snap → Chip.test.tsx.snap} +0 -0
  46. /package/src/Tooltip/{Tooltip.test.jsx → Tooltip.test.tsx} +0 -0
@@ -1,6 +1,8 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- var _excluded = ["className", "alt", "invertColors", "icon", "src", "iconClassNames", "onClick", "size", "variant", "iconAs", "isActive"],
3
- _excluded2 = ["tooltipPlacement", "tooltipContent", "variant", "invertColors"];
2
+ var _excluded = ["className", "alt", "invertColors", "icon", "src", "iconClassNames", "onClick", "size", "variant", "iconAs", "isActive", "children"],
3
+ _excluded2 = ["tooltipPlacement", "tooltipContent"];
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
6
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
5
7
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
8
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
@@ -25,6 +27,7 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
25
27
  variant = _ref.variant,
26
28
  iconAs = _ref.iconAs,
27
29
  isActive = _ref.isActive,
30
+ children = _ref.children,
28
31
  attrs = _objectWithoutProperties(_ref, _excluded);
29
32
  var invert = invertColors ? 'inverse-' : '';
30
33
  var activeStyle = isActive ? "".concat(variant, "-") : '';
@@ -50,7 +53,7 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
50
53
  });
51
54
  IconButton.defaultProps = {
52
55
  iconAs: undefined,
53
- src: null,
56
+ src: undefined,
54
57
  icon: undefined,
55
58
  iconClassNames: undefined,
56
59
  className: undefined,
@@ -58,7 +61,8 @@ IconButton.defaultProps = {
58
61
  variant: 'primary',
59
62
  size: 'md',
60
63
  onClick: function onClick() {},
61
- isActive: false
64
+ isActive: false,
65
+ children: undefined
62
66
  };
63
67
  IconButton.propTypes = {
64
68
  /** A custom class name. */
@@ -67,9 +71,9 @@ IconButton.propTypes = {
67
71
  * but is going to be deprecated soon, please use Paragon's icons instead. */
68
72
  iconAs: PropTypes.elementType,
69
73
  /** An icon component to render. Example import of a Paragon icon component:
70
- * `import { Check } from '@openedx/paragon/dist/icon';`
74
+ * `import { Check } from '@openedx/paragon/icons';`
71
75
  * */
72
- src: PropTypes.oneOfType([PropTypes.element, PropTypes.elementType]),
76
+ src: PropTypes.elementType,
73
77
  /** Alt text for your icon. For best practice, avoid using alt text to describe
74
78
  * the image in the `IconButton`. Instead, we recommend describing the function
75
79
  * of the button. */
@@ -94,37 +98,25 @@ IconButton.propTypes = {
94
98
  /** whether to show the `IconButton` in an active state, whose styling is distinct from default state */
95
99
  isActive: PropTypes.bool
96
100
  };
97
-
98
101
  /**
99
- *
100
- * @param { object } args Arguments
101
- * @param { string } args.tooltipPlacement choose from https://popper.js.org/docs/v2/constructors/#options
102
- * @param { React.Component } args.tooltipContent any content to pass to tooltip content area
103
- * @returns { IconButton } a button wrapped in overlaytrigger
102
+ * An icon button wrapped in overlaytrigger to display a tooltip.
104
103
  */
105
104
  function IconButtonWithTooltip(_ref2) {
106
105
  var tooltipPlacement = _ref2.tooltipPlacement,
107
106
  tooltipContent = _ref2.tooltipContent,
108
- variant = _ref2.variant,
109
- invertColors = _ref2.invertColors,
110
107
  props = _objectWithoutProperties(_ref2, _excluded2);
111
- var invert = invertColors ? 'inverse-' : '';
108
+ var invert = props.invertColors ? 'inverse-' : '';
112
109
  return /*#__PURE__*/React.createElement(OverlayTrigger, {
113
110
  placement: tooltipPlacement,
114
111
  overlay: /*#__PURE__*/React.createElement(Tooltip, {
115
112
  id: "iconbutton-tooltip-".concat(tooltipPlacement),
116
- variant: invert ? 'light' : ''
113
+ variant: invert ? 'light' : undefined
117
114
  }, tooltipContent)
118
- }, /*#__PURE__*/React.createElement(IconButton, _extends({
119
- variant: variant,
120
- invertColors: invertColors
121
- }, props)));
115
+ }, /*#__PURE__*/React.createElement(IconButton, props));
122
116
  }
123
- IconButtonWithTooltip.defaultProps = {
124
- tooltipPlacement: 'top',
125
- variant: 'primary',
126
- invertColors: false
127
- };
117
+ IconButtonWithTooltip.defaultProps = _objectSpread(_objectSpread({}, IconButton.defaultProps), {}, {
118
+ tooltipPlacement: 'top'
119
+ });
128
120
  IconButtonWithTooltip.propTypes = {
129
121
  /** tooltip placement can be top, left, right etc, per https://popper.js.org/docs/v2/constructors/#options */
130
122
  tooltipPlacement: PropTypes.string,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classNames","FontAwesomeIcon","OverlayTrigger","Tooltip","IconButton","forwardRef","_ref","ref","className","alt","invertColors","icon","src","iconClassNames","onClick","size","variant","iconAs","isActive","attrs","_objectWithoutProperties","_excluded","invert","activeStyle","concat","process","env","NODE_ENV","console","msg","warn","IconComponent","createElement","_extends","_defineProperty","type","defaultProps","undefined","propTypes","string","elementType","oneOfType","element","isRequired","bool","shape","prefix","iconName","array","func","oneOf","IconButtonWithTooltip","_ref2","tooltipPlacement","tooltipContent","props","_excluded2","placement","overlay","id","node"],"sources":["../../src/IconButton/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { OverlayTrigger } from '../Overlay';\nimport Tooltip from '../Tooltip';\n\nconst IconButton = React.forwardRef(({\n className,\n alt,\n invertColors,\n icon,\n src,\n iconClassNames,\n onClick,\n size,\n variant,\n iconAs,\n isActive,\n ...attrs\n}, ref) => {\n const invert = invertColors ? 'inverse-' : '';\n const activeStyle = isActive ? `${variant}-` : '';\n if (!iconAs && process.env.NODE_ENV === 'development' && console) {\n const msg = '[Deprecated] IconButton: you have not provided a value for iconAs prop and '\n + 'are using a default one - FontAwesomeIcon, the default value is going to be changed soon '\n + 'as Paragon is moving away from FontAwesome, please use Paragon\\'s icons instead.';\n // eslint-disable-next-line no-console\n console.warn(msg);\n }\n const IconComponent = iconAs || FontAwesomeIcon;\n return (\n <button\n aria-label={alt}\n className={classNames(\n 'btn-icon',\n `btn-icon-${invert}${variant}`,\n `btn-icon-${size}`,\n {\n [`btn-icon-${invert}${activeStyle}active`]: isActive,\n },\n className,\n )}\n onClick={onClick}\n type=\"button\"\n ref={ref}\n {...attrs}\n >\n <span className=\"btn-icon__icon-container\">\n <IconComponent\n className={classNames('btn-icon__icon', iconClassNames)}\n icon={icon}\n src={src}\n />\n </span>\n </button>\n );\n});\n\nIconButton.defaultProps = {\n iconAs: undefined,\n src: null,\n icon: undefined,\n iconClassNames: undefined,\n className: undefined,\n invertColors: false,\n variant: 'primary',\n size: 'md',\n onClick: () => {},\n isActive: false,\n};\n\nIconButton.propTypes = {\n /** A custom class name. */\n className: PropTypes.string,\n /** Component that renders the icon, currently defaults to `FontAwesomeIcon`,\n * but is going to be deprecated soon, please use Paragon's icons instead. */\n iconAs: PropTypes.elementType,\n /** An icon component to render. Example import of a Paragon icon component:\n * `import { Check } from '@openedx/paragon/dist/icon';`\n * */\n src: PropTypes.oneOfType([PropTypes.element, PropTypes.elementType]),\n /** Alt text for your icon. For best practice, avoid using alt text to describe\n * the image in the `IconButton`. Instead, we recommend describing the function\n * of the button. */\n alt: PropTypes.string.isRequired,\n /** Changes icon styles for dark background */\n invertColors: PropTypes.bool,\n /** Accepts a React fontawesome icon. */\n icon: PropTypes.shape({\n prefix: PropTypes.string,\n iconName: PropTypes.string,\n // eslint-disable-next-line react/forbid-prop-types\n icon: PropTypes.array,\n }),\n /** Extra class names that will be added to the icon */\n iconClassNames: PropTypes.string,\n /** Click handler for the button */\n onClick: PropTypes.func,\n /** Type of button (uses Bootstrap options) */\n variant: PropTypes.oneOf(['primary', 'secondary', 'success', 'warning', 'danger', 'light', 'dark', 'black', 'brand']),\n /** size of button to render */\n size: PropTypes.oneOf(['sm', 'md', 'inline']),\n /** whether to show the `IconButton` in an active state, whose styling is distinct from default state */\n isActive: PropTypes.bool,\n};\n\n/**\n *\n * @param { object } args Arguments\n * @param { string } args.tooltipPlacement choose from https://popper.js.org/docs/v2/constructors/#options\n * @param { React.Component } args.tooltipContent any content to pass to tooltip content area\n * @returns { IconButton } a button wrapped in overlaytrigger\n */\nfunction IconButtonWithTooltip({\n tooltipPlacement, tooltipContent, variant, invertColors, ...props\n}) {\n const invert = invertColors ? 'inverse-' : '';\n return (\n <OverlayTrigger\n placement={tooltipPlacement}\n overlay={(\n <Tooltip\n id={`iconbutton-tooltip-${tooltipPlacement}`}\n variant={invert ? 'light' : ''}\n >\n {tooltipContent}\n </Tooltip>\n )}\n >\n <IconButton variant={variant} invertColors={invertColors} {...props} />\n </OverlayTrigger>\n );\n}\n\nIconButtonWithTooltip.defaultProps = {\n tooltipPlacement: 'top',\n variant: 'primary',\n invertColors: false,\n};\n\nIconButtonWithTooltip.propTypes = {\n /** tooltip placement can be top, left, right etc, per https://popper.js.org/docs/v2/constructors/#options */\n tooltipPlacement: PropTypes.string,\n /** any valid JSX or text to be rendered as tooltip contents */\n tooltipContent: PropTypes.node.isRequired,\n /** Type of button (uses Bootstrap options) */\n variant: PropTypes.oneOf(['primary', 'secondary', 'success', 'warning', 'danger', 'light', 'dark', 'black', 'brand']),\n /** Changes icon styles for dark background */\n invertColors: PropTypes.bool,\n};\n\nIconButton.IconButtonWithTooltip = IconButtonWithTooltip;\n\nexport default IconButton;\nexport { IconButtonWithTooltip };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classNames","FontAwesomeIcon","OverlayTrigger","Tooltip","IconButton","forwardRef","_ref","ref","className","alt","invertColors","icon","src","iconClassNames","onClick","size","variant","iconAs","isActive","children","attrs","_objectWithoutProperties","_excluded","invert","activeStyle","concat","process","env","NODE_ENV","console","msg","warn","IconComponent","createElement","_extends","_defineProperty","type","defaultProps","undefined","propTypes","string","elementType","isRequired","bool","shape","prefix","iconName","array","func","oneOf","IconButtonWithTooltip","_ref2","tooltipPlacement","tooltipContent","props","_excluded2","placement","overlay","id","_objectSpread","node"],"sources":["../../src/IconButton/index.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { type Placement } from 'react-bootstrap/Overlay';\n\nimport { OverlayTrigger } from '../Overlay';\nimport Tooltip from '../Tooltip';\nimport Icon from '../Icon';\n\ninterface Props extends React.HTMLAttributes<HTMLButtonElement> {\n iconAs?: typeof Icon | typeof FontAwesomeIcon,\n /** Additional CSS class[es] to apply to this button */\n className?: string;\n /** Alt text for your icon. For best practice, avoid using alt text to describe\n * the image in the `IconButton`. Instead, we recommend describing the function\n * of the button. */\n alt: string;\n /** Changes icon styles for dark background */\n invertColors?: boolean;\n /** An icon component to render. Example import of a Paragon icon component:\n * `import { Check } from '@openedx/paragon/icons';`\n * */\n // Note: React.ComponentType is what we want here. React.ElementType would allow some element type strings like \"div\",\n // but we only want to allow components like 'Add' (a specific icon component function/class)\n src?: React.ComponentType;\n /** Extra class names that will be added to the icon */\n iconClassNames?: string;\n /** Click handler for the button */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n /** whether to show the `IconButton` in an active state, whose styling is distinct from default state */\n isActive?: boolean;\n /** @deprecated Using FontAwesome icons is deprecated. Instead, pass iconAs={Icon} src={...} */\n icon?: { prefix?: string; iconName?: string, icon?: any[] },\n /** Type of button (uses Bootstrap options) */\n variant?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'light' | 'dark' | 'black' | 'brand';\n /** size of button to render */\n size?: 'sm' | 'md' | 'inline';\n /** no children */\n children?: never;\n}\n\nconst IconButton = React.forwardRef<HTMLButtonElement, Props>(({\n className,\n alt,\n invertColors,\n icon,\n src,\n iconClassNames,\n onClick,\n size,\n variant,\n iconAs,\n isActive,\n children, // unused, just here because we don't want it to be part of 'attrs'\n ...attrs\n}, ref) => {\n const invert = invertColors ? 'inverse-' : '';\n const activeStyle = isActive ? `${variant}-` : '';\n if (!iconAs && process.env.NODE_ENV === 'development' && console) {\n const msg = '[Deprecated] IconButton: you have not provided a value for iconAs prop and '\n + 'are using a default one - FontAwesomeIcon, the default value is going to be changed soon '\n + 'as Paragon is moving away from FontAwesome, please use Paragon\\'s icons instead.';\n // eslint-disable-next-line no-console\n console.warn(msg);\n }\n const IconComponent = iconAs || FontAwesomeIcon;\n return (\n <button\n aria-label={alt}\n className={classNames(\n 'btn-icon',\n `btn-icon-${invert}${variant}`,\n `btn-icon-${size}`,\n {\n [`btn-icon-${invert}${activeStyle}active`]: isActive,\n },\n className,\n )}\n onClick={onClick}\n type=\"button\"\n ref={ref}\n {...attrs}\n >\n <span className=\"btn-icon__icon-container\">\n <IconComponent\n className={classNames('btn-icon__icon', iconClassNames)}\n icon={icon as any}\n src={src}\n />\n </span>\n </button>\n );\n});\n\nIconButton.defaultProps = {\n iconAs: undefined,\n src: undefined,\n icon: undefined,\n iconClassNames: undefined,\n className: undefined,\n invertColors: false,\n variant: 'primary',\n size: 'md',\n onClick: () => {},\n isActive: false,\n children: undefined,\n};\n\nIconButton.propTypes = {\n /** A custom class name. */\n className: PropTypes.string,\n /** Component that renders the icon, currently defaults to `FontAwesomeIcon`,\n * but is going to be deprecated soon, please use Paragon's icons instead. */\n iconAs: PropTypes.elementType as any,\n /** An icon component to render. Example import of a Paragon icon component:\n * `import { Check } from '@openedx/paragon/icons';`\n * */\n src: PropTypes.elementType as any,\n /** Alt text for your icon. For best practice, avoid using alt text to describe\n * the image in the `IconButton`. Instead, we recommend describing the function\n * of the button. */\n alt: PropTypes.string.isRequired,\n /** Changes icon styles for dark background */\n invertColors: PropTypes.bool,\n /** Accepts a React fontawesome icon. */\n icon: PropTypes.shape({\n prefix: PropTypes.string,\n iconName: PropTypes.string,\n // eslint-disable-next-line react/forbid-prop-types\n icon: PropTypes.array,\n }) as any,\n /** Extra class names that will be added to the icon */\n iconClassNames: PropTypes.string,\n /** Click handler for the button */\n onClick: PropTypes.func,\n /** Type of button (uses Bootstrap options) */\n variant: PropTypes.oneOf(['primary', 'secondary', 'success', 'warning', 'danger', 'light', 'dark', 'black', 'brand']),\n /** size of button to render */\n size: PropTypes.oneOf(['sm', 'md', 'inline']),\n /** whether to show the `IconButton` in an active state, whose styling is distinct from default state */\n isActive: PropTypes.bool,\n};\n\ninterface PropsWithTooltip extends Props {\n /** choose from https://popper.js.org/docs/v2/constructors/#options */\n tooltipPlacement: Placement,\n /** any content to pass to tooltip content area */\n tooltipContent: React.ReactNode,\n}\n\n/**\n * An icon button wrapped in overlaytrigger to display a tooltip.\n */\nfunction IconButtonWithTooltip({\n tooltipPlacement, tooltipContent, ...props\n}: PropsWithTooltip) {\n const invert = props.invertColors ? 'inverse-' : '';\n return (\n <OverlayTrigger\n placement={tooltipPlacement}\n overlay={(\n <Tooltip\n id={`iconbutton-tooltip-${tooltipPlacement}`}\n variant={invert ? 'light' : undefined}\n >\n {tooltipContent}\n </Tooltip>\n )}\n >\n <IconButton {...props} />\n </OverlayTrigger>\n );\n}\n\nIconButtonWithTooltip.defaultProps = {\n ...IconButton.defaultProps,\n tooltipPlacement: 'top',\n};\n\nIconButtonWithTooltip.propTypes = {\n /** tooltip placement can be top, left, right etc, per https://popper.js.org/docs/v2/constructors/#options */\n tooltipPlacement: PropTypes.string,\n /** any valid JSX or text to be rendered as tooltip contents */\n tooltipContent: PropTypes.node.isRequired,\n /** Type of button (uses Bootstrap options) */\n variant: PropTypes.oneOf(['primary', 'secondary', 'success', 'warning', 'danger', 'light', 'dark', 'black', 'brand']),\n /** Changes icon styles for dark background */\n invertColors: PropTypes.bool,\n};\n\n(IconButton as any).IconButtonWithTooltip = IconButtonWithTooltip;\n\nexport default IconButton as typeof IconButton & {\n IconButtonWithTooltip: typeof IconButtonWithTooltip,\n};\nexport { IconButtonWithTooltip };\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- var _excluded = ["defaultMessage", "children", "className", "variant"];
1
+ var _excluded = ["defaultMessage", "children", "className", "variant", "disabled"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -23,6 +23,7 @@ function SelectMenu(_ref) {
23
23
  children = _ref.children,
24
24
  className = _ref.className,
25
25
  variant = _ref.variant,
26
+ disabled = _ref.disabled,
26
27
  props = _objectWithoutProperties(_ref, _excluded);
27
28
  var _useState = useState(null),
28
29
  _useState2 = _slicedToArray(_useState, 2),
@@ -106,7 +107,8 @@ function SelectMenu(_ref) {
106
107
  ref: setTriggerTarget,
107
108
  variant: variant,
108
109
  iconAfter: ExpandMore,
109
- onClick: open
110
+ onClick: open,
111
+ disabled: disabled
110
112
  }, selected !== undefined && children[selected] ? children[selected].props.children : defaultMessage), /*#__PURE__*/React.createElement("div", {
111
113
  className: "pgn__menu-select-popup"
112
114
  }, /*#__PURE__*/React.createElement(ModalPopup, {
@@ -140,12 +142,15 @@ SelectMenu.propTypes = {
140
142
  /** Specifies class name to append to the base element */
141
143
  className: PropTypes.string,
142
144
  /** Specifies variant to use. */
143
- variant: PropTypes.string
145
+ variant: PropTypes.string,
146
+ /** Specifies if the `SelectMenu` is disabled. */
147
+ disabled: PropTypes.bool
144
148
  };
145
149
  SelectMenu.defaultProps = {
146
150
  defaultMessage: SELECT_MENU_DEFAULT_MESSAGE,
147
151
  className: undefined,
148
- variant: 'outline-primary'
152
+ variant: 'outline-primary',
153
+ disabled: false
149
154
  };
150
155
  var SelectMenuWithDeprecatedProp = withDeprecatedProps(SelectMenu, 'SelectMenu', {
151
156
  isLink: {
@@ -1 +1 @@
1
- {"version":3,"file":"SelectMenu.js","names":["React","useState","useEffect","useCallback","PropTypes","classNames","ExpandMore","Button","ModalPopup","useToggle","Menu","withDeprecatedProps","DeprTypes","SELECT_MENU_DEFAULT_MESSAGE","SelectMenu","_ref","defaultMessage","children","className","variant","props","_objectWithoutProperties","_excluded","_useState","_useState2","_slicedToArray","triggerTarget","setTriggerTarget","focusMenuRef","useRef","itemsCollection","useMemo","Array","from","length","map","createRef","defaultIndex","i","defaultSelected","undefined","_useState3","_useState4","selected","setSelected","_useToggle","_useToggle2","isOpen","open","close","createMenuItems","Children","child","index","newProps","onClick","e","current","id","concat","toString","role","cloneElement","prevOpenRef","numItems","scrollIntoView","block","focus","preventScroll","createElement","_extends","ref","iconAfter","placement","positionRef","onClose","modifiers","name","options","padding","top","bottom","key","propTypes","string","node","isRequired","defaultProps","SelectMenuWithDeprecatedProp","isLink","deprType","MOVED_AND_FORMAT","message","newName","transform"],"sources":["../../src/Menu/SelectMenu.jsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { ExpandMore } from '../../icons';\nimport Button from '../Button';\nimport ModalPopup from '../Modal/ModalPopup';\nimport useToggle from '../hooks/useToggle';\nimport Menu from '.';\nimport withDeprecatedProps, { DeprTypes } from '../withDeprecatedProps';\n\nexport const SELECT_MENU_DEFAULT_MESSAGE = 'Select...';\n\nfunction SelectMenu({\n defaultMessage,\n children,\n className,\n variant,\n ...props\n}) {\n const [triggerTarget, setTriggerTarget] = useState(null);\n // this ref is used to focus the menu open button after any menu option is clicked.\n // triggerTarget.current.focus() inside the onCLick() function didn't guarantee element focus.\n const focusMenuRef = React.useRef(false);\n const itemsCollection = React.useMemo(\n () => Array.from({ length: children.length }).map(() => React.createRef()),\n [children.length],\n );\n\n const defaultIndex = useCallback(() => {\n for (let i = 0; i < children.length; i++) {\n if (children[i].props && children[i].props.defaultSelected) {\n return i;\n }\n }\n return undefined;\n }, [children]);\n\n const [selected, setSelected] = useState(defaultIndex());\n const [isOpen, open, close] = useToggle(false);\n\n const createMenuItems = () => React.Children.map(children, (child, index) => {\n const newProps = {\n onClick(e) {\n if (child.props.onClick) {\n child.props.onClick(e);\n }\n setSelected(index);\n close();\n focusMenuRef.current = true;\n },\n id: `${index.toString()}_pgn__menu-item`,\n role: 'link',\n };\n if (selected === index) {\n newProps['aria-current'] = 'page';\n }\n return React.cloneElement(child, newProps);\n });\n\n const prevOpenRef = React.useRef();\n\n useEffect(() => {\n if (isOpen && selected) {\n const numItems = children.length;\n if (numItems > 6 && selected > 1 && numItems - selected > 2) {\n // on \"middle elements\", set offset to center of block and scroll to center\n itemsCollection[selected].current.children[0].scrollIntoView({\n block: 'center',\n });\n }\n }\n // set focus on open\n if (isOpen && !prevOpenRef.current && selected) {\n itemsCollection[selected].current.children[0].focus({ preventScroll: (defaultIndex() === selected) });\n }\n if (focusMenuRef.current) {\n triggerTarget.focus();\n focusMenuRef.current = false;\n }\n prevOpenRef.current = isOpen;\n }, [isOpen, children.length, defaultIndex, itemsCollection, selected, triggerTarget]);\n\n return (\n <div className={classNames('pgn__menu-select', className)} {...props}>\n <Button\n aria-haspopup=\"true\"\n aria-expanded={isOpen}\n ref={setTriggerTarget}\n variant={variant}\n iconAfter={ExpandMore}\n onClick={open}\n >\n {selected !== undefined && children[selected] ? children[selected].props.children : defaultMessage}\n </Button>\n <div className=\"pgn__menu-select-popup\">\n <ModalPopup\n placement=\"bottom-start\"\n positionRef={triggerTarget}\n isOpen={isOpen}\n onClose={close}\n modifiers={\n [\n {\n name: 'flip',\n options: {\n padding: { top: 150, bottom: 150 },\n },\n },\n ]\n }\n >\n <Menu aria-label=\"Select Menu\">\n {createMenuItems().map((child, index) => (\n <div key={child.props.id} ref={itemsCollection[index]}>\n {child}\n </div>\n ))}\n </Menu>\n </ModalPopup>\n </div>\n </div>\n );\n}\n\nSelectMenu.propTypes = {\n /** String that is displayed for default value of the ``SelectMenu`` */\n defaultMessage: PropTypes.string,\n /** Specifies the content of the ``SelectMenu`` */\n children: PropTypes.node.isRequired,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /** Specifies variant to use. */\n variant: PropTypes.string,\n};\n\nSelectMenu.defaultProps = {\n defaultMessage: SELECT_MENU_DEFAULT_MESSAGE,\n className: undefined,\n variant: 'outline-primary',\n};\n\nconst SelectMenuWithDeprecatedProp = withDeprecatedProps(SelectMenu, 'SelectMenu', {\n isLink: {\n deprType: DeprTypes.MOVED_AND_FORMAT,\n message: 'Use \"variant\" prop instead, i.e. variant=\"link\"',\n newName: 'variant',\n transform: () => 'link',\n },\n});\n\nexport default SelectMenuWithDeprecatedProp;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SelectMenu.js","names":["React","useState","useEffect","useCallback","PropTypes","classNames","ExpandMore","Button","ModalPopup","useToggle","Menu","withDeprecatedProps","DeprTypes","SELECT_MENU_DEFAULT_MESSAGE","SelectMenu","_ref","defaultMessage","children","className","variant","disabled","props","_objectWithoutProperties","_excluded","_useState","_useState2","_slicedToArray","triggerTarget","setTriggerTarget","focusMenuRef","useRef","itemsCollection","useMemo","Array","from","length","map","createRef","defaultIndex","i","defaultSelected","undefined","_useState3","_useState4","selected","setSelected","_useToggle","_useToggle2","isOpen","open","close","createMenuItems","Children","child","index","newProps","onClick","e","current","id","concat","toString","role","cloneElement","prevOpenRef","numItems","scrollIntoView","block","focus","preventScroll","createElement","_extends","ref","iconAfter","placement","positionRef","onClose","modifiers","name","options","padding","top","bottom","key","propTypes","string","node","isRequired","bool","defaultProps","SelectMenuWithDeprecatedProp","isLink","deprType","MOVED_AND_FORMAT","message","newName","transform"],"sources":["../../src/Menu/SelectMenu.jsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { ExpandMore } from '../../icons';\nimport Button from '../Button';\nimport ModalPopup from '../Modal/ModalPopup';\nimport useToggle from '../hooks/useToggle';\nimport Menu from '.';\nimport withDeprecatedProps, { DeprTypes } from '../withDeprecatedProps';\n\nexport const SELECT_MENU_DEFAULT_MESSAGE = 'Select...';\n\nfunction SelectMenu({\n defaultMessage,\n children,\n className,\n variant,\n disabled,\n ...props\n}) {\n const [triggerTarget, setTriggerTarget] = useState(null);\n // this ref is used to focus the menu open button after any menu option is clicked.\n // triggerTarget.current.focus() inside the onCLick() function didn't guarantee element focus.\n const focusMenuRef = React.useRef(false);\n const itemsCollection = React.useMemo(\n () => Array.from({ length: children.length }).map(() => React.createRef()),\n [children.length],\n );\n\n const defaultIndex = useCallback(() => {\n for (let i = 0; i < children.length; i++) {\n if (children[i].props && children[i].props.defaultSelected) {\n return i;\n }\n }\n return undefined;\n }, [children]);\n\n const [selected, setSelected] = useState(defaultIndex());\n const [isOpen, open, close] = useToggle(false);\n\n const createMenuItems = () => React.Children.map(children, (child, index) => {\n const newProps = {\n onClick(e) {\n if (child.props.onClick) {\n child.props.onClick(e);\n }\n setSelected(index);\n close();\n focusMenuRef.current = true;\n },\n id: `${index.toString()}_pgn__menu-item`,\n role: 'link',\n };\n if (selected === index) {\n newProps['aria-current'] = 'page';\n }\n return React.cloneElement(child, newProps);\n });\n\n const prevOpenRef = React.useRef();\n\n useEffect(() => {\n if (isOpen && selected) {\n const numItems = children.length;\n if (numItems > 6 && selected > 1 && numItems - selected > 2) {\n // on \"middle elements\", set offset to center of block and scroll to center\n itemsCollection[selected].current.children[0].scrollIntoView({\n block: 'center',\n });\n }\n }\n // set focus on open\n if (isOpen && !prevOpenRef.current && selected) {\n itemsCollection[selected].current.children[0].focus({ preventScroll: (defaultIndex() === selected) });\n }\n if (focusMenuRef.current) {\n triggerTarget.focus();\n focusMenuRef.current = false;\n }\n prevOpenRef.current = isOpen;\n }, [isOpen, children.length, defaultIndex, itemsCollection, selected, triggerTarget]);\n\n return (\n <div className={classNames('pgn__menu-select', className)} {...props}>\n <Button\n aria-haspopup=\"true\"\n aria-expanded={isOpen}\n ref={setTriggerTarget}\n variant={variant}\n iconAfter={ExpandMore}\n onClick={open}\n disabled={disabled}\n >\n {selected !== undefined && children[selected] ? children[selected].props.children : defaultMessage}\n </Button>\n <div className=\"pgn__menu-select-popup\">\n <ModalPopup\n placement=\"bottom-start\"\n positionRef={triggerTarget}\n isOpen={isOpen}\n onClose={close}\n modifiers={\n [\n {\n name: 'flip',\n options: {\n padding: { top: 150, bottom: 150 },\n },\n },\n ]\n }\n >\n <Menu aria-label=\"Select Menu\">\n {createMenuItems().map((child, index) => (\n <div key={child.props.id} ref={itemsCollection[index]}>\n {child}\n </div>\n ))}\n </Menu>\n </ModalPopup>\n </div>\n </div>\n );\n}\n\nSelectMenu.propTypes = {\n /** String that is displayed for default value of the ``SelectMenu`` */\n defaultMessage: PropTypes.string,\n /** Specifies the content of the ``SelectMenu`` */\n children: PropTypes.node.isRequired,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /** Specifies variant to use. */\n variant: PropTypes.string,\n /** Specifies if the `SelectMenu` is disabled. */\n disabled: PropTypes.bool,\n};\n\nSelectMenu.defaultProps = {\n defaultMessage: SELECT_MENU_DEFAULT_MESSAGE,\n className: undefined,\n variant: 'outline-primary',\n disabled: false,\n};\n\nconst SelectMenuWithDeprecatedProp = withDeprecatedProps(SelectMenu, 'SelectMenu', {\n isLink: {\n deprType: DeprTypes.MOVED_AND_FORMAT,\n message: 'Use \"variant\" prop instead, i.e. variant=\"link\"',\n newName: 'variant',\n transform: () => 'link',\n },\n});\n\nexport default SelectMenuWithDeprecatedProp;\n"],"mappings":"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","ignoreList":[]}
@@ -37,6 +37,12 @@ function ModalPopup(_ref) {
37
37
  }
38
38
  }
39
39
  }];
40
+ var handleOnClickOutside = function handleOnClickOutside(e) {
41
+ if (e.type === 'touchstart') {
42
+ return;
43
+ }
44
+ onClose();
45
+ };
40
46
  return /*#__PURE__*/React.createElement(ModalContextProvider, {
41
47
  onClose: onClose,
42
48
  isOpen: isOpen,
@@ -49,7 +55,7 @@ function ModalPopup(_ref) {
49
55
  scrollLock: false,
50
56
  enabled: isOpen,
51
57
  onEscapeKey: onClose,
52
- onClickOutside: onClose
58
+ onClickOutside: handleOnClickOutside
53
59
  }, isOpen && /*#__PURE__*/React.createElement("div", {
54
60
  className: "pgn__modal-popup__tooltip"
55
61
  }, children, hasArrow && /*#__PURE__*/React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"ModalPopup.js","names":["React","PropTypes","FocusOn","Portal","PopperElement","ModalContextProvider","PLACEMENT_OFFSETS","right","left","ModalPopup","_ref","children","onClose","isOpen","positionRef","isBlocking","withPortal","placement","hasArrow","popperProps","_objectWithoutProperties","_excluded","RootComponent","Fragment","placementOffsetValue","popperParams","name","options","scroll","offset","createElement","_extends","modifiers","target","scrollLock","enabled","onEscapeKey","onClickOutside","className","id","concat","propTypes","node","isRequired","func","bool","oneOfType","shape","current","defaultProps"],"sources":["../../src/Modal/ModalPopup.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FocusOn } from 'react-focus-on';\nimport Portal from './Portal';\nimport PopperElement from './PopperElement';\nimport { ModalContextProvider } from './ModalContext';\n\nconst PLACEMENT_OFFSETS = { right: [-2, 10], left: [-2, 10] };\n\nfunction ModalPopup({\n children,\n onClose,\n isOpen,\n positionRef,\n isBlocking,\n withPortal,\n placement,\n hasArrow,\n ...popperProps\n}) {\n const RootComponent = withPortal ? Portal : React.Fragment;\n const placementOffsetValue = PLACEMENT_OFFSETS[placement] || [0, 10];\n\n const popperParams = [\n {\n name: 'eventListeners',\n options: { scroll: false },\n },\n {\n name: 'offset',\n options: {\n offset: () => placementOffsetValue,\n },\n },\n ];\n\n return (\n <ModalContextProvider onClose={onClose} isOpen={isOpen} isBlocking={isBlocking}>\n <RootComponent>\n <PopperElement\n modifiers={hasArrow ? popperParams : null}\n target={positionRef}\n placement={placement}\n {...popperProps}\n >\n <FocusOn\n scrollLock={false}\n enabled={isOpen}\n onEscapeKey={onClose}\n onClickOutside={onClose}\n >\n {isOpen && (\n <div className=\"pgn__modal-popup__tooltip\">\n {children}\n {hasArrow && (\n <div\n id=\"arrow\"\n data-testid=\"modal-popup-arrow\"\n className={`pgn__modal-popup__arrow pgn__modal-popup__arrow-${placement}`}\n data-popper-arrow=\"\"\n />\n )}\n </div>\n )}\n </FocusOn>\n </PopperElement>\n </RootComponent>\n </ModalContextProvider>\n );\n}\n\nModalPopup.propTypes = {\n /** Specifies the contents of the modal */\n children: PropTypes.node.isRequired,\n /** A callback function for when the modal is dismissed */\n onClose: PropTypes.func.isRequired,\n /** Is the modal dialog open or closed */\n isOpen: PropTypes.bool.isRequired,\n /** Prevent clicking on the backdrop or pressing Esc to close the modal */\n isBlocking: PropTypes.bool,\n /** Insert modal into a different location in the DOM */\n withPortal: PropTypes.bool,\n // This type: https://stackoverflow.com/questions/48007326/what-is-the-correct-proptype-for-a-ref-in-react\n /** Specifies an element near which the modal should be displayed */\n positionRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.shape({}) }),\n ]),\n /** Specifies position according to the element that the ``positionRef`` prop points to */\n placement: PopperElement.propTypes.placement,\n /** Caret to the modal popup pointing to the target */\n hasArrow: PropTypes.bool,\n};\n\nModalPopup.defaultProps = {\n isBlocking: false,\n withPortal: false,\n placement: 'bottom-start',\n positionRef: null,\n hasArrow: false,\n};\n\nexport default ModalPopup;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ModalPopup.js","names":["React","PropTypes","FocusOn","Portal","PopperElement","ModalContextProvider","PLACEMENT_OFFSETS","right","left","ModalPopup","_ref","children","onClose","isOpen","positionRef","isBlocking","withPortal","placement","hasArrow","popperProps","_objectWithoutProperties","_excluded","RootComponent","Fragment","placementOffsetValue","popperParams","name","options","scroll","offset","handleOnClickOutside","e","type","createElement","_extends","modifiers","target","scrollLock","enabled","onEscapeKey","onClickOutside","className","id","concat","propTypes","node","isRequired","func","bool","oneOfType","shape","current","defaultProps"],"sources":["../../src/Modal/ModalPopup.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FocusOn } from 'react-focus-on';\nimport Portal from './Portal';\nimport PopperElement from './PopperElement';\nimport { ModalContextProvider } from './ModalContext';\n\nconst PLACEMENT_OFFSETS = { right: [-2, 10], left: [-2, 10] };\n\nfunction ModalPopup({\n children,\n onClose,\n isOpen,\n positionRef,\n isBlocking,\n withPortal,\n placement,\n hasArrow,\n ...popperProps\n}) {\n const RootComponent = withPortal ? Portal : React.Fragment;\n const placementOffsetValue = PLACEMENT_OFFSETS[placement] || [0, 10];\n\n const popperParams = [\n {\n name: 'eventListeners',\n options: { scroll: false },\n },\n {\n name: 'offset',\n options: {\n offset: () => placementOffsetValue,\n },\n },\n ];\n\n const handleOnClickOutside = (e) => {\n if (e.type === 'touchstart') {\n return;\n }\n\n onClose();\n };\n\n return (\n <ModalContextProvider onClose={onClose} isOpen={isOpen} isBlocking={isBlocking}>\n <RootComponent>\n <PopperElement\n modifiers={hasArrow ? popperParams : null}\n target={positionRef}\n placement={placement}\n {...popperProps}\n >\n <FocusOn\n scrollLock={false}\n enabled={isOpen}\n onEscapeKey={onClose}\n onClickOutside={handleOnClickOutside}\n >\n {isOpen && (\n <div className=\"pgn__modal-popup__tooltip\">\n {children}\n {hasArrow && (\n <div\n id=\"arrow\"\n data-testid=\"modal-popup-arrow\"\n className={`pgn__modal-popup__arrow pgn__modal-popup__arrow-${placement}`}\n data-popper-arrow=\"\"\n />\n )}\n </div>\n )}\n </FocusOn>\n </PopperElement>\n </RootComponent>\n </ModalContextProvider>\n );\n}\n\nModalPopup.propTypes = {\n /** Specifies the contents of the modal */\n children: PropTypes.node.isRequired,\n /** A callback function for when the modal is dismissed */\n onClose: PropTypes.func.isRequired,\n /** Is the modal dialog open or closed */\n isOpen: PropTypes.bool.isRequired,\n /** Prevent clicking on the backdrop or pressing Esc to close the modal */\n isBlocking: PropTypes.bool,\n /** Insert modal into a different location in the DOM */\n withPortal: PropTypes.bool,\n // This type: https://stackoverflow.com/questions/48007326/what-is-the-correct-proptype-for-a-ref-in-react\n /** Specifies an element near which the modal should be displayed */\n positionRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.shape({}) }),\n ]),\n /** Specifies position according to the element that the ``positionRef`` prop points to */\n placement: PopperElement.propTypes.placement,\n /** Caret to the modal popup pointing to the target */\n hasArrow: PropTypes.bool,\n};\n\nModalPopup.defaultProps = {\n isBlocking: false,\n withPortal: false,\n placement: 'bottom-start',\n positionRef: null,\n hasArrow: false,\n};\n\nexport default ModalPopup;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,128 @@
1
+ import React from 'react';
2
+ import { type OverlayProps } from 'react-bootstrap/Overlay';
3
+ import { type OverlayTriggerProps, type OverlayTriggerType } from 'react-bootstrap/OverlayTrigger';
4
+ import PropTypes from 'prop-types';
5
+ declare function Overlay(props: OverlayProps): React.JSX.Element;
6
+ declare namespace Overlay {
7
+ var propTypes: {
8
+ /** Specifies the content of the `Overlay`. */
9
+ children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
10
+ /**
11
+ * A component instance, DOM node, or function that returns either.
12
+ * The overlay will be positioned in relation to the target.
13
+ */
14
+ container: PropTypes.Requireable<NonNullable<((...args: any[]) => any) | PropTypes.ReactComponentLike | null | undefined>>;
15
+ /** Callback fired before the `Overlay` transitions in. */
16
+ onEnter: PropTypes.Requireable<(...args: any[]) => any>;
17
+ /** Callback fired after the `Overlay` finishes transitioning in. */
18
+ onEntered: PropTypes.Requireable<(...args: any[]) => any>;
19
+ /** Callback fired as the `Overlay` begins to transition in. */
20
+ onEntering: PropTypes.Requireable<(...args: any[]) => any>;
21
+ /** Callback fired right before the `Overlay` transitions out */
22
+ onExit: PropTypes.Requireable<(...args: any[]) => any>;
23
+ /** Callback fired after the `Overlay` finishes transitioning out. */
24
+ onExited: PropTypes.Requireable<(...args: any[]) => any>;
25
+ /** Callback fired as the Overlay begins to transition out. */
26
+ onExiting: PropTypes.Requireable<(...args: any[]) => any>;
27
+ /**
28
+ * A callback invoked by the overlay when it wishes to be hidden.
29
+ * Required if `rootClose` is specified.
30
+ */
31
+ onHide: PropTypes.Requireable<(...args: any[]) => any>;
32
+ /** The placement of the `Overlay` in relation to it's target. */
33
+ placement: PropTypes.Requireable<import("@popperjs/core").Placement>;
34
+ /** A set of popper options and props passed directly to `Popper`. */
35
+ popperConfig: PropTypes.Requireable<PropTypes.InferProps<{}>>;
36
+ /** Specify whether the overlay should trigger `onHide` when the user clicks outside the overlay. */
37
+ rootClose: PropTypes.Requireable<boolean>;
38
+ /** Specify event for triggering a “root close” toggle. */
39
+ rootCloseEvent: PropTypes.Requireable<string>;
40
+ /** Set the visibility of the `Overlay`. */
41
+ show: PropTypes.Requireable<boolean>;
42
+ /**
43
+ * The visibility of the `Overlay`. `show` is a controlled prop so should
44
+ * be paired with `onToggle` to avoid breaking user interactions.
45
+ *
46
+ * Manually toggling show does not wait for delay to change the visibility.
47
+ *
48
+ * Controls `onToggle`.
49
+ */
50
+ target: PropTypes.Requireable<NonNullable<((...args: any[]) => any) | PropTypes.ReactComponentLike | null | undefined>>;
51
+ /**
52
+ * Animate the entering and exiting of the Overlay. `true` will use the `<Fade>` transition,
53
+ * or a custom react-transition-group `<Transition>` component can be provided.
54
+ */
55
+ transition: PropTypes.Requireable<NonNullable<boolean | object | null | undefined>>;
56
+ };
57
+ var defaultProps: {
58
+ container: undefined;
59
+ onEnter: undefined;
60
+ onEntered: undefined;
61
+ onEntering: undefined;
62
+ onExit: undefined;
63
+ onExited: undefined;
64
+ onExiting: undefined;
65
+ onHide: undefined;
66
+ placement: string;
67
+ popperConfig: {};
68
+ rootClose: boolean;
69
+ rootCloseEvent: undefined;
70
+ show: boolean;
71
+ target: undefined;
72
+ transition: React.ForwardRefExoticComponent<import("react-bootstrap/Fade").FadeProps & React.RefAttributes<import("react-transition-group/Transition").default<any>>>;
73
+ };
74
+ }
75
+ declare function OverlayTrigger(props: OverlayTriggerProps): React.JSX.Element;
76
+ declare namespace OverlayTrigger {
77
+ var propTypes: {
78
+ /** Specifies the content of the `OverlayTrigger`. */
79
+ children: PropTypes.Validator<NonNullable<NonNullable<PropTypes.ReactElementLike | ((...args: any[]) => any) | null | undefined>>>;
80
+ /** An element or text to overlay next to the target. */
81
+ overlay: PropTypes.Validator<NonNullable<NonNullable<PropTypes.ReactElementLike | ((...args: any[]) => any) | null | undefined>>>;
82
+ /** The initial visibility state of the `Overlay`. */
83
+ defaultShow: PropTypes.Requireable<boolean>;
84
+ /** A millisecond delay amount to show and hide the `Overlay` once triggered. */
85
+ delay: PropTypes.Requireable<PropTypes.InferPropsInner<Pick<{}, never>> & Partial<PropTypes.InferPropsInner<Pick<{}, never>>>>;
86
+ /** The initial flip state of the `Overlay`. */
87
+ flip: PropTypes.Requireable<boolean>;
88
+ onHide: PropTypes.Requireable<(...args: any[]) => any>;
89
+ /**
90
+ * A callback that fires when the user triggers a change in tooltip visibility.
91
+ * `onToggle` is called with the desired next show, and generally should be
92
+ * passed back to the `show` prop. `onToggle` fires after the configured `delay`.
93
+ *
94
+ * Controls `show`.
95
+ */
96
+ onToggle: PropTypes.Requireable<(...args: any[]) => any>;
97
+ /** The placement of the `Overlay` in relation to it's target. */
98
+ placement: PropTypes.Requireable<import("@popperjs/core").Placement>;
99
+ /** A `Popper.js` config object passed to the the underlying popper instance. */
100
+ popperConfig: PropTypes.Requireable<PropTypes.InferProps<{}>>;
101
+ /**
102
+ * The visibility of the `Overlay`. `show` is a controlled prop so should
103
+ * be paired with `onToggle` to avoid breaking user interactions.
104
+ *
105
+ * Manually toggling show does not wait for delay to change the visibility.
106
+ *
107
+ * Controls `onToggle`.
108
+ */
109
+ show: PropTypes.Requireable<boolean>;
110
+ target: PropTypes.Requireable<EventTarget>;
111
+ /** Specify which action or actions trigger `Overlay` visibility. */
112
+ trigger: PropTypes.Requireable<NonNullable<OverlayTriggerType | (OverlayTriggerType | null | undefined)[] | null | undefined>>;
113
+ };
114
+ var defaultProps: {
115
+ defaultShow: boolean;
116
+ delay: undefined;
117
+ flip: undefined;
118
+ onHide: undefined;
119
+ onToggle: undefined;
120
+ placement: undefined;
121
+ popperConfig: {};
122
+ show: undefined;
123
+ target: undefined;
124
+ trigger: string[];
125
+ };
126
+ }
127
+ export { OverlayTrigger };
128
+ export default Overlay;
@@ -3,6 +3,11 @@ import BaseOverlay from 'react-bootstrap/Overlay';
3
3
  import BaseOverlayTrigger from 'react-bootstrap/OverlayTrigger';
4
4
  import Fade from 'react-bootstrap/Fade';
5
5
  import PropTypes from 'prop-types';
6
+
7
+ // Note: The only thing this file adds to the base component is propTypes validation.
8
+ // As more Paragon consumers adopt TypeScript, we could consider removing almost all of this code
9
+ // and just re-export the Overlay and OverlayTrigger components from react-bootstrap unmodified.
10
+
6
11
  var PLACEMENT_VARIANTS = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];
7
12
  var TRIGGER_VARIANTS = ['hover', 'click', 'focus'];
8
13
  function Overlay(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","BaseOverlay","BaseOverlayTrigger","Fade","PropTypes","PLACEMENT_VARIANTS","TRIGGER_VARIANTS","Overlay","props","createElement","OverlayTrigger","children","triggerType","oneOf","propTypes","node","isRequired","container","oneOfType","elementType","func","onEnter","onEntered","onEntering","onExit","onExited","onExiting","onHide","placement","popperConfig","shape","rootClose","bool","rootCloseEvent","show","target","transition","object","element","overlay","defaultShow","delay","number","flip","onToggle","instanceOf","EventTarget","trigger","arrayOf","defaultProps","undefined"],"sources":["../../src/Overlay/index.jsx"],"sourcesContent":["import React from 'react';\nimport BaseOverlay from 'react-bootstrap/Overlay';\nimport BaseOverlayTrigger from 'react-bootstrap/OverlayTrigger';\nimport Fade from 'react-bootstrap/Fade';\nimport PropTypes from 'prop-types';\n\nconst PLACEMENT_VARIANTS = [\n 'auto-start',\n 'auto',\n 'auto-end',\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];\n\nconst TRIGGER_VARIANTS = [\n 'hover',\n 'click',\n 'focus',\n];\n\nfunction Overlay(props) {\n return <BaseOverlay {...props} />;\n}\nfunction OverlayTrigger(props) {\n return (\n <BaseOverlayTrigger {...props}>\n {props.children}\n </BaseOverlayTrigger>\n );\n}\n\nconst triggerType = PropTypes.oneOf(TRIGGER_VARIANTS);\n\nOverlay.propTypes = {\n /** Specifies the content of the `Overlay`. */\n children: PropTypes.node.isRequired,\n /**\n * A component instance, DOM node, or function that returns either.\n * The overlay will be positioned in relation to the target.\n */\n container: PropTypes.oneOfType([PropTypes.elementType, PropTypes.func]),\n /** Callback fired before the `Overlay` transitions in. */\n onEnter: PropTypes.func,\n /** Callback fired after the `Overlay` finishes transitioning in. */\n onEntered: PropTypes.func,\n /** Callback fired as the `Overlay` begins to transition in. */\n onEntering: PropTypes.func,\n /** Callback fired right before the `Overlay` transitions out */\n onExit: PropTypes.func,\n /** Callback fired after the `Overlay` finishes transitioning out. */\n onExited: PropTypes.func,\n /** Callback fired as the Overlay begins to transition out. */\n onExiting: PropTypes.func,\n /**\n * A callback invoked by the overlay when it wishes to be hidden.\n * Required if `rootClose` is specified.\n */\n onHide: PropTypes.func,\n /** The placement of the `Overlay` in relation to it's target. */\n placement: PropTypes.oneOf(PLACEMENT_VARIANTS),\n /** A set of popper options and props passed directly to `Popper`. */\n popperConfig: PropTypes.shape({}),\n /** Specify whether the overlay should trigger `onHide` when the user clicks outside the overlay. */\n rootClose: PropTypes.bool,\n /** Specify event for triggering a “root close” toggle. */\n rootCloseEvent: PropTypes.oneOf(['click', 'mousedown']),\n /** Set the visibility of the `Overlay`. */\n show: PropTypes.bool,\n /**\n * The visibility of the `Overlay`. `show` is a controlled prop so should\n * be paired with `onToggle` to avoid breaking user interactions.\n *\n * Manually toggling show does not wait for delay to change the visibility.\n *\n * Controls `onToggle`.\n */\n target: PropTypes.oneOfType([PropTypes.elementType, PropTypes.func]),\n /**\n * Animate the entering and exiting of the Overlay. `true` will use the `<Fade>` transition,\n * or a custom react-transition-group `<Transition>` component can be provided.\n */\n transition: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n};\n\nOverlayTrigger.propTypes = {\n /** Specifies the content of the `OverlayTrigger`. */\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.func]).isRequired,\n /** An element or text to overlay next to the target. */\n overlay: PropTypes.oneOfType([PropTypes.element, PropTypes.func]).isRequired,\n /** The initial visibility state of the `Overlay`. */\n defaultShow: PropTypes.bool,\n /** A millisecond delay amount to show and hide the `Overlay` once triggered. */\n delay: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({})]),\n /** The initial flip state of the `Overlay`. */\n flip: PropTypes.bool,\n onHide: PropTypes.func,\n /**\n * A callback that fires when the user triggers a change in tooltip visibility.\n * `onToggle` is called with the desired next show, and generally should be\n * passed back to the `show` prop. `onToggle` fires after the configured `delay`.\n *\n * Controls `show`.\n */\n onToggle: PropTypes.func,\n /** The placement of the `Overlay` in relation to it's target. */\n placement: PropTypes.oneOf(PLACEMENT_VARIANTS),\n /** A `Popper.js` config object passed to the the underlying popper instance. */\n popperConfig: PropTypes.shape({}),\n /**\n * The visibility of the `Overlay`. `show` is a controlled prop so should\n * be paired with `onToggle` to avoid breaking user interactions.\n *\n * Manually toggling show does not wait for delay to change the visibility.\n *\n * Controls `onToggle`.\n */\n show: PropTypes.bool,\n target: PropTypes.instanceOf(EventTarget),\n /** Specify which action or actions trigger `Overlay` visibility. */\n trigger: PropTypes.oneOfType([triggerType, PropTypes.arrayOf(triggerType)]),\n};\n\nOverlay.defaultProps = {\n container: undefined,\n onEnter: undefined,\n onEntered: undefined,\n onEntering: undefined,\n onExit: undefined,\n onExited: undefined,\n onExiting: undefined,\n onHide: undefined,\n placement: 'top',\n popperConfig: {},\n rootClose: false,\n rootCloseEvent: undefined,\n show: false,\n target: undefined,\n transition: Fade,\n};\n\nOverlayTrigger.defaultProps = {\n defaultShow: false,\n delay: undefined,\n flip: undefined,\n onHide: undefined,\n onToggle: undefined,\n placement: undefined,\n popperConfig: {},\n show: undefined,\n target: undefined,\n trigger: ['hover', 'focus'],\n};\n\nexport { OverlayTrigger };\nexport default Overlay;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","BaseOverlay","BaseOverlayTrigger","Fade","PropTypes","PLACEMENT_VARIANTS","TRIGGER_VARIANTS","Overlay","props","createElement","OverlayTrigger","children","triggerType","oneOf","propTypes","node","isRequired","container","oneOfType","elementType","func","onEnter","onEntered","onEntering","onExit","onExited","onExiting","onHide","placement","popperConfig","shape","rootClose","bool","rootCloseEvent","show","target","transition","object","element","overlay","defaultShow","delay","number","flip","onToggle","instanceOf","EventTarget","trigger","arrayOf","defaultProps","undefined"],"sources":["../../src/Overlay/index.tsx"],"sourcesContent":["import React from 'react';\nimport BaseOverlay, { type OverlayProps, type Placement } from 'react-bootstrap/Overlay';\nimport BaseOverlayTrigger, { type OverlayTriggerProps, type OverlayTriggerType } from 'react-bootstrap/OverlayTrigger';\nimport Fade from 'react-bootstrap/Fade';\nimport PropTypes from 'prop-types';\n\n// Note: The only thing this file adds to the base component is propTypes validation.\n// As more Paragon consumers adopt TypeScript, we could consider removing almost all of this code\n// and just re-export the Overlay and OverlayTrigger components from react-bootstrap unmodified.\n\nconst PLACEMENT_VARIANTS: Placement[] = [\n 'auto-start',\n 'auto',\n 'auto-end',\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];\n\nconst TRIGGER_VARIANTS: OverlayTriggerType[] = [\n 'hover',\n 'click',\n 'focus',\n];\n\nfunction Overlay(props: OverlayProps) {\n return <BaseOverlay {...props} />;\n}\nfunction OverlayTrigger(props: OverlayTriggerProps) {\n return (\n <BaseOverlayTrigger {...props}>\n {props.children}\n </BaseOverlayTrigger>\n );\n}\n\nconst triggerType = PropTypes.oneOf(TRIGGER_VARIANTS);\n\nOverlay.propTypes = {\n /** Specifies the content of the `Overlay`. */\n children: PropTypes.node.isRequired,\n /**\n * A component instance, DOM node, or function that returns either.\n * The overlay will be positioned in relation to the target.\n */\n container: PropTypes.oneOfType([PropTypes.elementType, PropTypes.func]),\n /** Callback fired before the `Overlay` transitions in. */\n onEnter: PropTypes.func,\n /** Callback fired after the `Overlay` finishes transitioning in. */\n onEntered: PropTypes.func,\n /** Callback fired as the `Overlay` begins to transition in. */\n onEntering: PropTypes.func,\n /** Callback fired right before the `Overlay` transitions out */\n onExit: PropTypes.func,\n /** Callback fired after the `Overlay` finishes transitioning out. */\n onExited: PropTypes.func,\n /** Callback fired as the Overlay begins to transition out. */\n onExiting: PropTypes.func,\n /**\n * A callback invoked by the overlay when it wishes to be hidden.\n * Required if `rootClose` is specified.\n */\n onHide: PropTypes.func,\n /** The placement of the `Overlay` in relation to it's target. */\n placement: PropTypes.oneOf(PLACEMENT_VARIANTS),\n /** A set of popper options and props passed directly to `Popper`. */\n popperConfig: PropTypes.shape({}),\n /** Specify whether the overlay should trigger `onHide` when the user clicks outside the overlay. */\n rootClose: PropTypes.bool,\n /** Specify event for triggering a “root close” toggle. */\n rootCloseEvent: PropTypes.oneOf(['click', 'mousedown']),\n /** Set the visibility of the `Overlay`. */\n show: PropTypes.bool,\n /**\n * The visibility of the `Overlay`. `show` is a controlled prop so should\n * be paired with `onToggle` to avoid breaking user interactions.\n *\n * Manually toggling show does not wait for delay to change the visibility.\n *\n * Controls `onToggle`.\n */\n target: PropTypes.oneOfType([PropTypes.elementType, PropTypes.func]),\n /**\n * Animate the entering and exiting of the Overlay. `true` will use the `<Fade>` transition,\n * or a custom react-transition-group `<Transition>` component can be provided.\n */\n transition: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n};\n\nOverlayTrigger.propTypes = {\n /** Specifies the content of the `OverlayTrigger`. */\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.func]).isRequired,\n /** An element or text to overlay next to the target. */\n overlay: PropTypes.oneOfType([PropTypes.element, PropTypes.func]).isRequired,\n /** The initial visibility state of the `Overlay`. */\n defaultShow: PropTypes.bool,\n /** A millisecond delay amount to show and hide the `Overlay` once triggered. */\n delay: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({})]),\n /** The initial flip state of the `Overlay`. */\n flip: PropTypes.bool,\n onHide: PropTypes.func,\n /**\n * A callback that fires when the user triggers a change in tooltip visibility.\n * `onToggle` is called with the desired next show, and generally should be\n * passed back to the `show` prop. `onToggle` fires after the configured `delay`.\n *\n * Controls `show`.\n */\n onToggle: PropTypes.func,\n /** The placement of the `Overlay` in relation to it's target. */\n placement: PropTypes.oneOf(PLACEMENT_VARIANTS),\n /** A `Popper.js` config object passed to the the underlying popper instance. */\n popperConfig: PropTypes.shape({}),\n /**\n * The visibility of the `Overlay`. `show` is a controlled prop so should\n * be paired with `onToggle` to avoid breaking user interactions.\n *\n * Manually toggling show does not wait for delay to change the visibility.\n *\n * Controls `onToggle`.\n */\n show: PropTypes.bool,\n target: PropTypes.instanceOf(EventTarget),\n /** Specify which action or actions trigger `Overlay` visibility. */\n trigger: PropTypes.oneOfType([triggerType, PropTypes.arrayOf(triggerType)]),\n};\n\nOverlay.defaultProps = {\n container: undefined,\n onEnter: undefined,\n onEntered: undefined,\n onEntering: undefined,\n onExit: undefined,\n onExited: undefined,\n onExiting: undefined,\n onHide: undefined,\n placement: 'top',\n popperConfig: {},\n rootClose: false,\n rootCloseEvent: undefined,\n show: false,\n target: undefined,\n transition: Fade,\n};\n\nOverlayTrigger.defaultProps = {\n defaultShow: false,\n delay: undefined,\n flip: undefined,\n onHide: undefined,\n onToggle: undefined,\n placement: undefined,\n popperConfig: {},\n show: undefined,\n target: undefined,\n trigger: ['hover', 'focus'],\n};\n\nexport { OverlayTrigger };\nexport default Overlay;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import { type TooltipProps as BaseTooltipProps } from 'react-bootstrap/Tooltip';
2
+ import type { ComponentWithAsProp } from '../utils/types/bootstrap';
3
+ interface TooltipProps extends BaseTooltipProps {
4
+ variant?: 'light';
5
+ }
6
+ declare const Tooltip: ComponentWithAsProp<'div', TooltipProps>;
7
+ export default Tooltip;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classNames","BaseTooltip","PLACEMENT_VARIANTS","Tooltip","forwardRef","_ref","ref","children","variant","props","_objectWithoutProperties","_excluded","createElement","_extends","className","propTypes","_objectSpread","id","string","isRequired","placement","oneOf","arrowProps","shape","oneOfType","func","current","element","style","show","bool","popper","bsPrefix","node","defaultProps","undefined"],"sources":["../../src/Tooltip/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport BaseTooltip from 'react-bootstrap/Tooltip';\n\nconst PLACEMENT_VARIANTS = [\n 'auto-start',\n 'auto',\n 'auto-end',\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];\n\nconst Tooltip = React.forwardRef(({\n children,\n variant,\n ...props\n}, ref) => (\n <BaseTooltip\n {...props}\n className={classNames({ 'tooltip-light': variant === 'light' }, props.className)}\n ref={ref}\n >\n {children}\n </BaseTooltip>\n));\n\nTooltip.propTypes = {\n ...BaseTooltip.propTypes,\n /** An html id attribute, necessary for accessibility. */\n id: PropTypes.string.isRequired,\n /**\n * Sets the direction the `Tooltip` is positioned towards.\n *\n * This is generally provided by the `Overlay` component positioning the tooltip.\n */\n placement: PropTypes.oneOf(PLACEMENT_VARIANTS),\n /**\n * An `Overlay` injected set of props for positioning the `Tooltip` arrow.\n *\n * This is generally provided by the `Overlay` component positioning the tooltip.\n */\n arrowProps: PropTypes.shape({\n ref: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.element }),\n ]),\n style: PropTypes.shape({}),\n }),\n /** Whether the `Overlay` is shown. */\n show: PropTypes.bool,\n /** A `Popper.js` config object passed to the the underlying popper instance. */\n popper: PropTypes.shape({}),\n /** Overrides underlying component base CSS class name */\n bsPrefix: PropTypes.string,\n /** Specifies the content of the `Tooltip` */\n children: PropTypes.node,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /** The visual style of the `Tooltip` */\n variant: PropTypes.string,\n};\n\nTooltip.defaultProps = {\n ...Tooltip.defaultProps,\n id: undefined,\n placement: 'right',\n arrowProps: undefined,\n show: undefined,\n popper: undefined,\n children: undefined,\n className: undefined,\n variant: undefined,\n bsPrefix: 'tooltip',\n};\n\nexport default Tooltip;\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,WAAW,MAAM,yBAAyB;AAEjD,IAAMC,kBAAkB,GAAG,CACzB,YAAY,EACZ,MAAM,EACN,UAAU,EACV,WAAW,EACX,KAAK,EACL,SAAS,EACT,aAAa,EACb,OAAO,EACP,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,UAAU,EACV,MAAM,EACN,YAAY,CACb;AAED,IAAMC,OAAO,gBAAGL,KAAK,CAACM,UAAU,CAAC,UAAAC,IAAA,EAI9BC,GAAG;EAAA,IAHJC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACJC,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAAA,oBAERb,KAAA,CAAAc,aAAA,CAACX,WAAW,EAAAY,QAAA,KACNJ,KAAK;IACTK,SAAS,EAAEd,UAAU,CAAC;MAAE,eAAe,EAAEQ,OAAO,KAAK;IAAQ,CAAC,EAAEC,KAAK,CAACK,SAAS,CAAE;IACjFR,GAAG,EAAEA;EAAI,IAERC,QACU,CAAC;AAAA,CACf,CAAC;AAEFJ,OAAO,CAACY,SAAS,GAAAC,aAAA,CAAAA,aAAA,KACZf,WAAW,CAACc,SAAS;EACxB;EACAE,EAAE,EAAElB,SAAS,CAACmB,MAAM,CAACC,UAAU;EAC/B;AACF;AACA;AACA;AACA;EACEC,SAAS,EAAErB,SAAS,CAACsB,KAAK,CAACnB,kBAAkB,CAAC;EAC9C;AACF;AACA;AACA;AACA;EACEoB,UAAU,EAAEvB,SAAS,CAACwB,KAAK,CAAC;IAC1BjB,GAAG,EAAEP,SAAS,CAACyB,SAAS,CAAC,CACvBzB,SAAS,CAAC0B,IAAI,EACd1B,SAAS,CAACwB,KAAK,CAAC;MAAEG,OAAO,EAAE3B,SAAS,CAAC4B;IAAQ,CAAC,CAAC,CAChD,CAAC;IACFC,KAAK,EAAE7B,SAAS,CAACwB,KAAK,CAAC,CAAC,CAAC;EAC3B,CAAC,CAAC;EACF;EACAM,IAAI,EAAE9B,SAAS,CAAC+B,IAAI;EACpB;EACAC,MAAM,EAAEhC,SAAS,CAACwB,KAAK,CAAC,CAAC,CAAC,CAAC;EAC3B;EACAS,QAAQ,EAAEjC,SAAS,CAACmB,MAAM;EAC1B;EACAX,QAAQ,EAAER,SAAS,CAACkC,IAAI;EACxB;EACAnB,SAAS,EAAEf,SAAS,CAACmB,MAAM;EAC3B;EACAV,OAAO,EAAET,SAAS,CAACmB;AAAM,EAC1B;AAEDf,OAAO,CAAC+B,YAAY,GAAAlB,aAAA,CAAAA,aAAA,KACfb,OAAO,CAAC+B,YAAY;EACvBjB,EAAE,EAAEkB,SAAS;EACbf,SAAS,EAAE,OAAO;EAClBE,UAAU,EAAEa,SAAS;EACrBN,IAAI,EAAEM,SAAS;EACfJ,MAAM,EAAEI,SAAS;EACjB5B,QAAQ,EAAE4B,SAAS;EACnBrB,SAAS,EAAEqB,SAAS;EACpB3B,OAAO,EAAE2B,SAAS;EAClBH,QAAQ,EAAE;AAAS,EACpB;AAED,eAAe7B,OAAO","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classNames","BaseTooltip","PLACEMENT_VARIANTS","Tooltip","forwardRef","_ref","ref","children","variant","props","_objectWithoutProperties","_excluded","createElement","_extends","className","propTypes","_objectSpread","id","string","isRequired","placement","oneOf","arrowProps","shape","oneOfType","func","current","element","style","show","bool","popper","bsPrefix","node","defaultProps","undefined"],"sources":["../../src/Tooltip/index.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport BaseTooltip, { type TooltipProps as BaseTooltipProps } from 'react-bootstrap/Tooltip';\nimport { type Placement } from 'react-bootstrap/Overlay';\nimport type { ComponentWithAsProp } from '../utils/types/bootstrap';\n\ninterface TooltipProps extends BaseTooltipProps {\n variant?: 'light';\n}\n\nconst PLACEMENT_VARIANTS: Placement[] = [\n 'auto-start',\n 'auto',\n 'auto-end',\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];\n\nconst Tooltip: ComponentWithAsProp<'div', TooltipProps> = React.forwardRef(({\n children,\n variant,\n ...props\n}, ref) => (\n <BaseTooltip\n {...props}\n className={classNames({ 'tooltip-light': variant === 'light' }, props.className)}\n ref={ref}\n >\n {children}\n </BaseTooltip>\n));\n\nTooltip.propTypes = {\n ...BaseTooltip.propTypes,\n /** An html id attribute, necessary for accessibility. */\n id: PropTypes.string.isRequired,\n /**\n * Sets the direction the `Tooltip` is positioned towards.\n *\n * This is generally provided by the `Overlay` component positioning the tooltip.\n */\n placement: PropTypes.oneOf(PLACEMENT_VARIANTS),\n /**\n * An `Overlay` injected set of props for positioning the `Tooltip` arrow.\n *\n * This is generally provided by the `Overlay` component positioning the tooltip.\n */\n arrowProps: PropTypes.shape({\n ref: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.element }),\n ]),\n style: PropTypes.shape({}),\n }),\n /** Whether the `Overlay` is shown. */\n show: PropTypes.bool,\n /** A `Popper.js` config object passed to the the underlying popper instance. */\n popper: PropTypes.shape({}),\n /** Overrides underlying component base CSS class name */\n bsPrefix: PropTypes.string,\n /** Specifies the content of the `Tooltip` */\n children: PropTypes.node,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /** The visual style of the `Tooltip` */\n variant: PropTypes.string,\n};\n\nTooltip.defaultProps = {\n ...Tooltip.defaultProps,\n id: undefined,\n placement: 'right',\n arrowProps: undefined,\n show: undefined,\n popper: undefined,\n children: undefined,\n className: undefined,\n variant: undefined,\n bsPrefix: 'tooltip',\n};\n\nexport default Tooltip;\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,WAAW,MAAiD,yBAAyB;AAQ5F,IAAMC,kBAA+B,GAAG,CACtC,YAAY,EACZ,MAAM,EACN,UAAU,EACV,WAAW,EACX,KAAK,EACL,SAAS,EACT,aAAa,EACb,OAAO,EACP,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,UAAU,EACV,MAAM,EACN,YAAY,CACb;AAED,IAAMC,OAAiD,gBAAGL,KAAK,CAACM,UAAU,CAAC,UAAAC,IAAA,EAIxEC,GAAG;EAAA,IAHJC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACJC,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAAA,oBAERb,KAAA,CAAAc,aAAA,CAACX,WAAW,EAAAY,QAAA,KACNJ,KAAK;IACTK,SAAS,EAAEd,UAAU,CAAC;MAAE,eAAe,EAAEQ,OAAO,KAAK;IAAQ,CAAC,EAAEC,KAAK,CAACK,SAAS,CAAE;IACjFR,GAAG,EAAEA;EAAI,IAERC,QACU,CAAC;AAAA,CACf,CAAC;AAEFJ,OAAO,CAACY,SAAS,GAAAC,aAAA,CAAAA,aAAA,KACZf,WAAW,CAACc,SAAS;EACxB;EACAE,EAAE,EAAElB,SAAS,CAACmB,MAAM,CAACC,UAAU;EAC/B;AACF;AACA;AACA;AACA;EACEC,SAAS,EAAErB,SAAS,CAACsB,KAAK,CAACnB,kBAAkB,CAAC;EAC9C;AACF;AACA;AACA;AACA;EACEoB,UAAU,EAAEvB,SAAS,CAACwB,KAAK,CAAC;IAC1BjB,GAAG,EAAEP,SAAS,CAACyB,SAAS,CAAC,CACvBzB,SAAS,CAAC0B,IAAI,EACd1B,SAAS,CAACwB,KAAK,CAAC;MAAEG,OAAO,EAAE3B,SAAS,CAAC4B;IAAQ,CAAC,CAAC,CAChD,CAAC;IACFC,KAAK,EAAE7B,SAAS,CAACwB,KAAK,CAAC,CAAC,CAAC;EAC3B,CAAC,CAAC;EACF;EACAM,IAAI,EAAE9B,SAAS,CAAC+B,IAAI;EACpB;EACAC,MAAM,EAAEhC,SAAS,CAACwB,KAAK,CAAC,CAAC,CAAC,CAAC;EAC3B;EACAS,QAAQ,EAAEjC,SAAS,CAACmB,MAAM;EAC1B;EACAX,QAAQ,EAAER,SAAS,CAACkC,IAAI;EACxB;EACAnB,SAAS,EAAEf,SAAS,CAACmB,MAAM;EAC3B;EACAV,OAAO,EAAET,SAAS,CAACmB;AAAM,EAC1B;AAEDf,OAAO,CAAC+B,YAAY,GAAAlB,aAAA,CAAAA,aAAA,KACfb,OAAO,CAAC+B,YAAY;EACvBjB,EAAE,EAAEkB,SAAS;EACbf,SAAS,EAAE,OAAO;EAClBE,UAAU,EAAEa,SAAS;EACrBN,IAAI,EAAEM,SAAS;EACfJ,MAAM,EAAEI,SAAS;EACjB5B,QAAQ,EAAE4B,SAAS;EACnBrB,SAAS,EAAEqB,SAAS;EACpB3B,OAAO,EAAE2B,SAAS;EAClBH,QAAQ,EAAE;AAAS,EACpB;AAED,eAAe7B,OAAO","ignoreList":[]}
package/dist/index.d.ts CHANGED
@@ -10,6 +10,9 @@ export { default as Chip, CHIP_PGN_CLASS } from './Chip';
10
10
  export { default as ChipCarousel } from './ChipCarousel';
11
11
  export { default as Hyperlink, HYPER_LINK_EXTERNAL_LINK_ALT_TEXT, HYPER_LINK_EXTERNAL_LINK_TITLE } from './Hyperlink';
12
12
  export { default as Icon } from './Icon';
13
+ export { default as IconButton, IconButtonWithTooltip } from './IconButton';
14
+ export { default as Overlay, OverlayTrigger } from './Overlay';
15
+ export { default as Tooltip } from './Tooltip';
13
16
 
14
17
  // // // // // // // // // // // // // // // // // // // // // // // // // // //
15
18
  // Things that don't have types
@@ -73,7 +76,6 @@ export const
73
76
  FormAutosuggestOption: any,
74
77
  InputGroup: any;
75
78
  // from './Form';
76
- export const IconButton: any, IconButtonWithTooltip: any; // from './IconButton';
77
79
  export const IconButtonToggle: any; // from './IconButtonToggle';
78
80
  export const Input: any; // from './Input';
79
81
  export const InputSelect: any; // from './InputSelect';
@@ -106,7 +108,6 @@ export const
106
108
  NavLink: any;
107
109
  // from './Nav';
108
110
  export const Navbar: any, NavbarBrand: any, NAVBAR_LABEL: string; // from './Navbar';
109
- export const Overlay: any, OverlayTrigger: any; // from './Overlay';
110
111
  export const PageBanner: any, PAGE_BANNER_DISMISS_ALT_TEXT: string; // from './PageBanner';
111
112
  export const
112
113
  Pagination: any,
@@ -145,7 +146,6 @@ export const
145
146
  // from './Tabs';
146
147
  export const TextArea: any; // from './TextArea';
147
148
  export const Toast: any, TOAST_CLOSE_LABEL_TEXT: string, TOAST_DELAY: number; // from './Toast';
148
- export const Tooltip: any; // from './Tooltip';
149
149
  export const ValidationFormGroup: any; // from './ValidationFormGroup';
150
150
  export const TransitionReplace: any; // from './TransitionReplace';
151
151
  export const ValidationMessage: any; // from './ValidationMessage';
package/dist/index.js CHANGED
@@ -10,6 +10,9 @@ export { default as Chip, CHIP_PGN_CLASS } from './Chip';
10
10
  export { default as ChipCarousel } from './ChipCarousel';
11
11
  export { default as Hyperlink, HYPER_LINK_EXTERNAL_LINK_ALT_TEXT, HYPER_LINK_EXTERNAL_LINK_TITLE } from './Hyperlink';
12
12
  export { default as Icon } from './Icon';
13
+ export { default as IconButton, IconButtonWithTooltip } from './IconButton';
14
+ export { default as Overlay, OverlayTrigger } from './Overlay';
15
+ export { default as Tooltip } from './Tooltip';
13
16
 
14
17
  // // // // // // // // // // // // // // // // // // // // // // // // // // //
15
18
  // Things that don't have types
@@ -73,7 +76,6 @@ export {
73
76
  FormAutosuggestOption,
74
77
  InputGroup,
75
78
  } from './Form';
76
- export { default as IconButton, IconButtonWithTooltip } from './IconButton';
77
79
  export { default as IconButtonToggle } from './IconButtonToggle';
78
80
  export { default as Input } from './Input';
79
81
  export { default as InputSelect } from './InputSelect';
@@ -106,7 +108,6 @@ export {
106
108
  NavLink,
107
109
  } from './Nav';
108
110
  export { default as Navbar, NavbarBrand, NAVBAR_LABEL } from './Navbar';
109
- export { default as Overlay, OverlayTrigger } from './Overlay';
110
111
  export { default as PageBanner, PAGE_BANNER_DISMISS_ALT_TEXT } from './PageBanner';
111
112
  export {
112
113
  default as Pagination,
@@ -145,7 +146,6 @@ export {
145
146
  } from './Tabs';
146
147
  export { default as TextArea } from './TextArea';
147
148
  export { default as Toast, TOAST_CLOSE_LABEL_TEXT, TOAST_DELAY } from './Toast';
148
- export { default as Tooltip } from './Tooltip';
149
149
  export { default as ValidationFormGroup } from './ValidationFormGroup';
150
150
  export { default as TransitionReplace } from './TransitionReplace';
151
151
  export { default as ValidationMessage } from './ValidationMessage';