@jobber/components 6.9.1 → 6.10.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.
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import React, { CSSProperties } from "react";
2
2
  export interface PopoverProps {
3
3
  /**
4
4
  * Element the Popover will attach to and point at. A `useRef` must be attached to an html element
@@ -22,5 +22,25 @@ export interface PopoverProps {
22
22
  * @default 'auto'
23
23
  */
24
24
  readonly preferredPlacement?: "top" | "bottom" | "left" | "right" | "auto";
25
+ /**
26
+ * **Use at your own risk:** Custom class names for specific elements. This should only be used as a
27
+ * **last resort**. Using this may result in unexpected side effects.
28
+ * More information [here](https://atlantis.getjobber.com/storybook/?path=/docs/guides-customizing-components--docs#unsafe_-props).
29
+ */
30
+ readonly UNSAFE_className?: {
31
+ container?: string;
32
+ dismissButtonContainer?: string;
33
+ arrow?: string;
34
+ };
35
+ /**
36
+ * **Use at your own risk:** Custom style for specific elements. This should only be used as a
37
+ * **last resort**. Using this may result in unexpected side effects.
38
+ * More information [here](https://atlantis.getjobber.com/storybook/?path=/docs/guides-customizing-components--docs#unsafe_-props).
39
+ */
40
+ readonly UNSAFE_style?: {
41
+ container?: CSSProperties;
42
+ dismissButtonContainer?: CSSProperties;
43
+ arrow?: CSSProperties;
44
+ };
25
45
  }
26
- export declare function Popover({ onRequestClose, children, attachTo, open, preferredPlacement, }: PopoverProps): JSX.Element;
46
+ export declare function Popover({ onRequestClose, children, attachTo, open, preferredPlacement, UNSAFE_className, UNSAFE_style, }: PopoverProps): JSX.Element;
@@ -4,9 +4,9 @@ var Popover = require('../Popover-cjs.js');
4
4
  require('react');
5
5
  require('react-popper');
6
6
  require('../useRefocusOnActivator-cjs.js');
7
+ require('classnames');
7
8
  require('../ButtonDismiss-cjs.js');
8
9
  require('../Button-cjs.js');
9
- require('classnames');
10
10
  require('react-router-dom');
11
11
  require('../Icon-cjs.js');
12
12
  require('@jobber/design');
@@ -2,9 +2,9 @@ export { P as Popover } from '../Popover-es.js';
2
2
  import 'react';
3
3
  import 'react-popper';
4
4
  import '../useRefocusOnActivator-es.js';
5
+ import 'classnames';
5
6
  import '../ButtonDismiss-es.js';
6
7
  import '../Button-es.js';
7
- import 'classnames';
8
8
  import 'react-router-dom';
9
9
  import '../Icon-es.js';
10
10
  import '@jobber/design';
@@ -3,11 +3,13 @@
3
3
  var React = require('react');
4
4
  var reactPopper = require('react-popper');
5
5
  var useRefocusOnActivator = require('./useRefocusOnActivator-cjs.js');
6
+ var classnames = require('classnames');
6
7
  var ButtonDismiss = require('./ButtonDismiss-cjs.js');
7
8
 
8
9
  var classes = {"popover":"rY8OtuArIi0-","header":"UI1AohefbSo-","dismissButton":"HyA0TM5soDM-","arrow":"uClo-5-xhAc-","spinning":"VA0ROLmpLPs-"};
9
10
 
10
- function Popover({ onRequestClose, children, attachTo, open, preferredPlacement = "auto", }) {
11
+ function Popover({ onRequestClose, children, attachTo, open, preferredPlacement = "auto", UNSAFE_className = {}, UNSAFE_style = {}, }) {
12
+ var _a, _b, _c;
11
13
  const [popperElement, setPopperElement] = React.useState();
12
14
  const [arrowElement, setArrowElement] = React.useState();
13
15
  const { styles: popperStyles, attributes } = reactPopper.usePopper(isHTMLElement(attachTo) ? attachTo : attachTo.current, popperElement, {
@@ -15,11 +17,14 @@ function Popover({ onRequestClose, children, attachTo, open, preferredPlacement
15
17
  placement: preferredPlacement,
16
18
  });
17
19
  useRefocusOnActivator.useRefocusOnActivator_2(open);
18
- return (React.createElement(React.Fragment, null, open && (React.createElement("div", Object.assign({ role: "dialog", "data-elevation": "elevated", ref: setPopperElement, style: popperStyles.popper, className: classes.popover }, attributes.popper),
19
- React.createElement("div", { className: classes.dismissButton },
20
+ const popoverClassNames = classnames(classes.popover, UNSAFE_className.container);
21
+ const dismissButtonClassNames = classnames(classes.dismissButton, UNSAFE_className.dismissButtonContainer);
22
+ const arrowClassNames = classnames(classes.arrow, UNSAFE_className.arrow);
23
+ return (React.createElement(React.Fragment, null, open && (React.createElement("div", Object.assign({ role: "dialog", "data-elevation": "elevated", ref: setPopperElement, style: Object.assign(Object.assign({}, popperStyles.popper), ((_a = UNSAFE_style.container) !== null && _a !== void 0 ? _a : {})), className: popoverClassNames }, attributes.popper, { "data-testid": "popover-container" }),
24
+ React.createElement("div", { className: dismissButtonClassNames, style: (_b = UNSAFE_style.dismissButtonContainer) !== null && _b !== void 0 ? _b : {}, "data-testid": "popover-dismiss-button-container" },
20
25
  React.createElement(ButtonDismiss.ButtonDismiss, { onClick: onRequestClose, ariaLabel: "Close dialog" })),
21
26
  children,
22
- React.createElement("div", { ref: setArrowElement, className: classes.arrow, style: popperStyles.arrow })))));
27
+ React.createElement("div", { ref: setArrowElement, className: arrowClassNames, style: Object.assign(Object.assign({}, popperStyles.arrow), ((_c = UNSAFE_style.arrow) !== null && _c !== void 0 ? _c : {})), "data-testid": "popover-arrow" })))));
23
28
  }
24
29
  function buildModifiers(arrowElement) {
25
30
  const modifiers = [
@@ -1,11 +1,13 @@
1
1
  import React, { useState } from 'react';
2
2
  import { usePopper } from 'react-popper';
3
3
  import { u as useRefocusOnActivator_2 } from './useRefocusOnActivator-es.js';
4
+ import classnames from 'classnames';
4
5
  import { B as ButtonDismiss } from './ButtonDismiss-es.js';
5
6
 
6
7
  var classes = {"popover":"rY8OtuArIi0-","header":"UI1AohefbSo-","dismissButton":"HyA0TM5soDM-","arrow":"uClo-5-xhAc-","spinning":"VA0ROLmpLPs-"};
7
8
 
8
- function Popover({ onRequestClose, children, attachTo, open, preferredPlacement = "auto", }) {
9
+ function Popover({ onRequestClose, children, attachTo, open, preferredPlacement = "auto", UNSAFE_className = {}, UNSAFE_style = {}, }) {
10
+ var _a, _b, _c;
9
11
  const [popperElement, setPopperElement] = useState();
10
12
  const [arrowElement, setArrowElement] = useState();
11
13
  const { styles: popperStyles, attributes } = usePopper(isHTMLElement(attachTo) ? attachTo : attachTo.current, popperElement, {
@@ -13,11 +15,14 @@ function Popover({ onRequestClose, children, attachTo, open, preferredPlacement
13
15
  placement: preferredPlacement,
14
16
  });
15
17
  useRefocusOnActivator_2(open);
16
- return (React.createElement(React.Fragment, null, open && (React.createElement("div", Object.assign({ role: "dialog", "data-elevation": "elevated", ref: setPopperElement, style: popperStyles.popper, className: classes.popover }, attributes.popper),
17
- React.createElement("div", { className: classes.dismissButton },
18
+ const popoverClassNames = classnames(classes.popover, UNSAFE_className.container);
19
+ const dismissButtonClassNames = classnames(classes.dismissButton, UNSAFE_className.dismissButtonContainer);
20
+ const arrowClassNames = classnames(classes.arrow, UNSAFE_className.arrow);
21
+ return (React.createElement(React.Fragment, null, open && (React.createElement("div", Object.assign({ role: "dialog", "data-elevation": "elevated", ref: setPopperElement, style: Object.assign(Object.assign({}, popperStyles.popper), ((_a = UNSAFE_style.container) !== null && _a !== void 0 ? _a : {})), className: popoverClassNames }, attributes.popper, { "data-testid": "popover-container" }),
22
+ React.createElement("div", { className: dismissButtonClassNames, style: (_b = UNSAFE_style.dismissButtonContainer) !== null && _b !== void 0 ? _b : {}, "data-testid": "popover-dismiss-button-container" },
18
23
  React.createElement(ButtonDismiss, { onClick: onRequestClose, ariaLabel: "Close dialog" })),
19
24
  children,
20
- React.createElement("div", { ref: setArrowElement, className: classes.arrow, style: popperStyles.arrow })))));
25
+ React.createElement("div", { ref: setArrowElement, className: arrowClassNames, style: Object.assign(Object.assign({}, popperStyles.arrow), ((_c = UNSAFE_style.arrow) !== null && _c !== void 0 ? _c : {})), "data-testid": "popover-arrow" })))));
21
26
  }
22
27
  function buildModifiers(arrowElement) {
23
28
  const modifiers = [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components",
3
- "version": "6.9.1",
3
+ "version": "6.10.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -487,5 +487,5 @@
487
487
  "> 1%",
488
488
  "IE 10"
489
489
  ],
490
- "gitHead": "1695473bbeebc40b83cc881053a3719fbc501cc7"
490
+ "gitHead": "e6c03b6cbad92cccd8eebd63c3f86f0e39232dbf"
491
491
  }