@algolia/satellite 1.0.0-beta.157 → 1.0.0-beta.159
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.
- package/cjs/Badge/Badge.d.ts +2 -2
- package/cjs/Badge/Badge.js +7 -6
- package/cjs/Banners/Alert/Alert.js +1 -1
- package/cjs/Button/Button.d.ts +3 -5
- package/cjs/Button/Button.js +8 -51
- package/cjs/Button/IconButton.d.ts +3 -18
- package/cjs/Button/IconButton.js +8 -64
- package/cjs/Button/PolymorphicButton.d.ts +11 -0
- package/cjs/Button/PolymorphicButton.js +76 -0
- package/cjs/Button/PolymorphicIconButton.d.ts +24 -0
- package/cjs/Button/PolymorphicIconButton.js +84 -0
- package/cjs/Button/index.d.ts +1 -1
- package/cjs/Button/index.js +16 -12
- package/cjs/Button/types.d.ts +11 -6
- package/cjs/Button/types.js +3 -1
- package/cjs/Dropdown/DropdownButton.d.ts +3 -3
- package/cjs/Dropdown/DropdownButton.js +5 -2
- package/cjs/Link/ButtonLink.d.ts +5 -3
- package/cjs/Link/ButtonLink.js +9 -6
- package/cjs/Link/IconButtonLink.d.ts +5 -4
- package/cjs/Link/IconButtonLink.js +8 -5
- package/cjs/Medallion/Medallion.js +1 -1
- package/cjs/Modal/Modal.d.ts +35 -11
- package/cjs/Modal/Modal.js +101 -109
- package/cjs/Modal/Modal.tailwind.js +54 -18
- package/cjs/Satellite/Satellite.d.ts +2 -1
- package/cjs/Satellite/Satellite.js +26 -2
- package/cjs/Tag/Tag.d.ts +26 -6
- package/cjs/Tag/Tag.js +51 -19
- package/cjs/Tag/Tag.tailwind.js +17 -1
- package/cjs/styles/colors.d.ts +18 -0
- package/cjs/styles/colors.js +33 -15
- package/cjs/types.d.ts +9 -0
- package/esm/Badge/Badge.d.ts +2 -2
- package/esm/Badge/Badge.js +7 -6
- package/esm/Banners/Alert/Alert.js +1 -1
- package/esm/Button/Button.d.ts +3 -5
- package/esm/Button/Button.js +8 -52
- package/esm/Button/IconButton.d.ts +3 -18
- package/esm/Button/IconButton.js +8 -66
- package/esm/Button/PolymorphicButton.d.ts +11 -0
- package/esm/Button/PolymorphicButton.js +66 -0
- package/esm/Button/PolymorphicIconButton.d.ts +24 -0
- package/esm/Button/PolymorphicIconButton.js +78 -0
- package/esm/Button/index.d.ts +1 -1
- package/esm/Button/index.js +1 -1
- package/esm/Button/types.d.ts +11 -6
- package/esm/Button/types.js +3 -1
- package/esm/Dropdown/DropdownButton.d.ts +3 -3
- package/esm/Dropdown/DropdownButton.js +5 -2
- package/esm/Link/ButtonLink.d.ts +5 -3
- package/esm/Link/ButtonLink.js +9 -6
- package/esm/Link/IconButtonLink.d.ts +5 -4
- package/esm/Link/IconButtonLink.js +8 -5
- package/esm/Medallion/Medallion.js +1 -1
- package/esm/Modal/Modal.d.ts +35 -11
- package/esm/Modal/Modal.js +99 -111
- package/esm/Modal/Modal.tailwind.js +53 -18
- package/esm/Satellite/Satellite.d.ts +2 -1
- package/esm/Satellite/Satellite.js +24 -1
- package/esm/Tag/Tag.d.ts +26 -6
- package/esm/Tag/Tag.js +52 -20
- package/esm/Tag/Tag.tailwind.js +17 -1
- package/esm/styles/colors.d.ts +18 -0
- package/esm/styles/colors.js +33 -15
- package/esm/types.d.ts +9 -0
- package/package.json +7 -4
- package/satellite.min.css +1 -1
- package/scss/colors.scss +27 -10
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
exports["default"] = exports.DropdownButton = void 0;
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
9
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
10
|
+
var _react = require("react");
|
10
11
|
var _reactFeather = require("react-feather");
|
11
12
|
var _Button = _interopRequireDefault(require("../Button"));
|
12
13
|
var _Dropdown = _interopRequireDefault(require("./Dropdown"));
|
@@ -14,7 +15,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
14
15
|
var _excluded = ["children", "title", "renderFooter"];
|
15
16
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
16
17
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
17
|
-
var DropdownButton = function
|
18
|
+
var DropdownButton = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
18
19
|
var children = _ref.children,
|
19
20
|
title = _ref.title,
|
20
21
|
renderFooter = _ref.renderFooter,
|
@@ -32,6 +33,7 @@ var DropdownButton = function DropdownButton(_ref) {
|
|
32
33
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], _objectSpread(_objectSpread({}, buttonProps), {}, {
|
33
34
|
onClick: handleClick,
|
34
35
|
endIcon: _reactFeather.ChevronDown,
|
36
|
+
ref: ref,
|
35
37
|
children: title
|
36
38
|
}));
|
37
39
|
};
|
@@ -40,7 +42,8 @@ var DropdownButton = function DropdownButton(_ref) {
|
|
40
42
|
renderFooter: renderFooter,
|
41
43
|
children: children
|
42
44
|
});
|
43
|
-
};
|
45
|
+
});
|
44
46
|
exports.DropdownButton = DropdownButton;
|
47
|
+
DropdownButton.displayName = "DropdownButton";
|
45
48
|
var _default = DropdownButton;
|
46
49
|
exports["default"] = _default;
|
package/cjs/Link/ButtonLink.d.ts
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
import
|
3
|
-
export declare type ButtonLinkProps =
|
2
|
+
import { type PolymorphicButtonProps } from "../Button/PolymorphicButton";
|
3
|
+
export declare type ButtonLinkProps = Omit<PolymorphicButtonProps<"a">, "as" | "ref"> & {
|
4
4
|
href: string;
|
5
5
|
};
|
6
|
-
export declare const ButtonLink: (
|
6
|
+
export declare const ButtonLink: import("react").ForwardRefExoticComponent<Omit<PolymorphicButtonProps<"a">, "ref" | "as"> & {
|
7
|
+
href: string;
|
8
|
+
} & import("react").RefAttributes<HTMLAnchorElement>>;
|
7
9
|
export default ButtonLink;
|
package/cjs/Link/ButtonLink.js
CHANGED
@@ -7,14 +7,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
exports["default"] = exports.ButtonLink = void 0;
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
9
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
10
|
+
var _react = require("react");
|
10
11
|
var _reactFeather = require("react-feather");
|
11
|
-
var
|
12
|
+
var _PolymorphicButton = require("../Button/PolymorphicButton");
|
12
13
|
var _useLinkProps = _interopRequireDefault(require("../utils/useLinkProps"));
|
13
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
14
15
|
var _excluded = ["endIcon", "href", "onClick"];
|
15
16
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
16
17
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
17
|
-
var ButtonLink = function
|
18
|
+
var ButtonLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
18
19
|
var EndIcon = _ref.endIcon,
|
19
20
|
href = _ref.href,
|
20
21
|
onClick = _ref.onClick,
|
@@ -26,11 +27,13 @@ var ButtonLink = function ButtonLink(_ref) {
|
|
26
27
|
if (linkProps.target === "_blank" && EndIcon === undefined) {
|
27
28
|
EndIcon = _reactFeather.ExternalLink;
|
28
29
|
}
|
29
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
30
|
-
|
31
|
-
as: "a"
|
30
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PolymorphicButton.PolymorphicButton, _objectSpread(_objectSpread(_objectSpread({}, props), linkProps), {}, {
|
31
|
+
ref: ref,
|
32
|
+
as: "a",
|
33
|
+
endIcon: EndIcon
|
32
34
|
}));
|
33
|
-
};
|
35
|
+
});
|
34
36
|
exports.ButtonLink = ButtonLink;
|
37
|
+
ButtonLink.displayName = "ButtonLink";
|
35
38
|
var _default = ButtonLink;
|
36
39
|
exports["default"] = _default;
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
import {
|
3
|
-
|
4
|
-
export declare type IconButtonLinkProps = IconButtonBaseProps & ExtractProps<"a"> & {
|
2
|
+
import { type PolymorphicIconButtonProps } from "../Button/PolymorphicIconButton";
|
3
|
+
export declare type IconButtonLinkProps = Omit<PolymorphicIconButtonProps<"a">, "as" | "ref"> & {
|
5
4
|
href: string;
|
6
5
|
};
|
7
|
-
export declare const IconButtonLink: (
|
6
|
+
export declare const IconButtonLink: import("react").ForwardRefExoticComponent<Omit<PolymorphicIconButtonProps<"a">, "ref" | "as"> & {
|
7
|
+
href: string;
|
8
|
+
} & import("react").RefAttributes<HTMLAnchorElement>>;
|
8
9
|
export default IconButtonLink;
|
@@ -7,13 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
exports["default"] = exports.IconButtonLink = void 0;
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
9
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
10
|
-
var
|
10
|
+
var _react = require("react");
|
11
|
+
var _PolymorphicIconButton = require("../Button/PolymorphicIconButton");
|
11
12
|
var _useLinkProps = _interopRequireDefault(require("../utils/useLinkProps"));
|
12
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
13
14
|
var _excluded = ["href", "onClick"];
|
14
15
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
15
16
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
16
|
-
var IconButtonLink = function
|
17
|
+
var IconButtonLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
17
18
|
var href = _ref.href,
|
18
19
|
onClick = _ref.onClick,
|
19
20
|
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
@@ -21,10 +22,12 @@ var IconButtonLink = function IconButtonLink(_ref) {
|
|
21
22
|
href: href,
|
22
23
|
onClick: onClick
|
23
24
|
}));
|
24
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
25
|
-
as: "a"
|
25
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PolymorphicIconButton.PolymorphicIconButton, _objectSpread(_objectSpread(_objectSpread({}, props), linkProps), {}, {
|
26
|
+
as: "a",
|
27
|
+
ref: ref
|
26
28
|
}));
|
27
|
-
};
|
29
|
+
});
|
28
30
|
exports.IconButtonLink = IconButtonLink;
|
31
|
+
IconButtonLink.displayName = "IconButtonLink";
|
29
32
|
var _default = IconButtonLink;
|
30
33
|
exports["default"] = _default;
|
@@ -15,7 +15,7 @@ var VARIANT_CLASSNAMES = {
|
|
15
15
|
pink: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["medallion-pink text-pink-600"]))),
|
16
16
|
accent: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["medallion-accent text-accent-600"]))),
|
17
17
|
blue: (0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["medallion-blue text-blue-600"]))),
|
18
|
-
green: (0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["medallion-green text-green-
|
18
|
+
green: (0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["medallion-green text-green-600"]))),
|
19
19
|
orange: (0, _satellitePrefixer["default"])(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["medallion-orange text-orange-600"]))),
|
20
20
|
red: (0, _satellitePrefixer["default"])(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["medallion-red text-red-600"]))),
|
21
21
|
// eslint-disable-next-line @algolia/satellite/prefer-accent -- here we're definitely refering to the color itself
|
package/cjs/Modal/Modal.d.ts
CHANGED
@@ -1,30 +1,54 @@
|
|
1
1
|
import type { ReactNode } from "react";
|
2
|
+
import type { XOR } from "../types";
|
2
3
|
export declare type ModalSizeVariant = "medium" | "large";
|
3
4
|
export declare type ModalLocale = {
|
4
5
|
dismissText?: string;
|
6
|
+
modalTitle?: string;
|
5
7
|
};
|
6
|
-
|
7
|
-
open
|
8
|
-
|
8
|
+
interface ModalControlledProps {
|
9
|
+
/** Define whether the modal is open or closed. */
|
10
|
+
open: boolean;
|
11
|
+
/** The element that should receive focus once the `Modal` is closed. */
|
12
|
+
autoFocusOnCloseElement?: HTMLElement | null;
|
13
|
+
}
|
14
|
+
interface ModalUncontrolledProps {
|
15
|
+
/** Button which should trigger the modal */
|
16
|
+
triggerButton: ReactNode;
|
17
|
+
}
|
18
|
+
export declare type ModalProps = XOR<ModalControlledProps, ModalUncontrolledProps> & {
|
19
|
+
/** Descriptive title for `Modal`. */
|
9
20
|
title?: ReactNode;
|
10
21
|
/** @ignore */
|
11
22
|
className?: string;
|
12
|
-
/**
|
23
|
+
/** Define whether the content should take up the full width of the `Modal`. */
|
13
24
|
fullBleed?: boolean;
|
14
|
-
/** Define whether or not the modal should animate on show and hide */
|
25
|
+
/** Define whether or not the modal should animate on show and hide. */
|
15
26
|
animate?: boolean;
|
27
|
+
/** Define the size of the `Modal`. */
|
16
28
|
size?: ModalSizeVariant;
|
17
|
-
/** Define whether or not the dismiss button should be hidden */
|
29
|
+
/** Define whether or not the dismiss button should be hidden. */
|
18
30
|
hideCloseIcon?: boolean;
|
19
|
-
/** Define whether or not the modal should be vertically aligned */
|
31
|
+
/** Define whether or not the modal should be vertically aligned. */
|
20
32
|
centerY?: boolean;
|
21
|
-
/**
|
33
|
+
/**
|
34
|
+
* Function triggered when the modal is dismissed.
|
35
|
+
* This function is called when the user clicks the close button,
|
36
|
+
* clicks outside the modal or presses the escape key.
|
37
|
+
*/
|
22
38
|
onDismiss?: () => void;
|
23
|
-
|
39
|
+
/** The locale for the `Modal`. */
|
24
40
|
locale?: ModalLocale;
|
25
|
-
|
41
|
+
/**
|
42
|
+
* The element that should receive focus once the `Modal` is opened.
|
43
|
+
* If `undefined` or `null` is passed, the first focusable element will be focused.
|
44
|
+
* If `false`, no element will be focused.
|
45
|
+
*/
|
46
|
+
autoFocusOnOpenElement?: HTMLElement | null | false;
|
47
|
+
children: ReactNode;
|
48
|
+
};
|
26
49
|
export declare const Modal: {
|
27
|
-
({ title, className, children, open,
|
50
|
+
({ title, className, children, open, onDismiss, fullBleed, animate, hideCloseIcon, size, centerY, autoFocusOnOpenElement, autoFocusOnCloseElement, triggerButton, locale: propsLocale, }: ModalProps): JSX.Element;
|
28
51
|
Footer: import("react").FunctionComponent<import("./components/ModalFooter").ModalFooterProps>;
|
52
|
+
Section: ({ children, className, fullBleed }: import("./components/ModalSection").ModalSectionProps) => JSX.Element;
|
29
53
|
};
|
30
54
|
export default Modal;
|
package/cjs/Modal/Modal.js
CHANGED
@@ -1,63 +1,46 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
5
6
|
value: true
|
6
7
|
});
|
7
8
|
exports["default"] = exports.Modal = void 0;
|
8
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
10
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
11
|
+
var Dialog = _interopRequireWildcard(require("@radix-ui/react-dialog"));
|
11
12
|
var _clsx = _interopRequireDefault(require("clsx"));
|
12
13
|
var _react = require("react");
|
13
14
|
var _reactFeather = require("react-feather");
|
14
|
-
var _reactTransitionGroup = require("react-transition-group");
|
15
|
-
var _useKeyPressEvent = _interopRequireDefault(require("react-use/lib/useKeyPressEvent"));
|
16
|
-
var _useLockBodyScroll = _interopRequireDefault(require("react-use/lib/useLockBodyScroll"));
|
17
15
|
var _Button = require("../Button");
|
18
16
|
var _Card = _interopRequireDefault(require("../Card"));
|
19
17
|
var _Satellite = require("../Satellite");
|
20
18
|
var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
|
21
|
-
var _uniqueId = _interopRequireDefault(require("../utils/uniqueId"));
|
22
19
|
var _ModalFooter = _interopRequireDefault(require("./components/ModalFooter"));
|
20
|
+
var _ModalSection = _interopRequireDefault(require("./components/ModalSection"));
|
23
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
24
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
|
22
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
|
23
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
24
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
25
25
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
26
26
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
27
27
|
var DEFAULT_MODAL_LOCALE = {
|
28
|
-
dismissText: "Dismiss"
|
29
|
-
|
30
|
-
var ModalAnimation = function ModalAnimation(props) {
|
31
|
-
return (
|
32
|
-
/*#__PURE__*/
|
33
|
-
/* eslint-disable-next-line @algolia/satellite/invalid-classnames */
|
34
|
-
(0, _jsxRuntime.jsx)(_reactTransitionGroup.CSSTransition, _objectSpread(_objectSpread({}, props), {}, {
|
35
|
-
classNames: (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["satellite-modal"]))),
|
36
|
-
timeout: 200,
|
37
|
-
appear: true,
|
38
|
-
unmountOnExit: true
|
39
|
-
}))
|
40
|
-
);
|
41
|
-
};
|
42
|
-
var ModalNoAnimation = function ModalNoAnimation(props) {
|
43
|
-
return props["in"] ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
44
|
-
children: props.children
|
45
|
-
}) : null;
|
28
|
+
dismissText: "Dismiss",
|
29
|
+
modalTitle: "Modal"
|
46
30
|
};
|
47
31
|
var SIZE_CLASSNAMES = {
|
48
|
-
medium: (0, _satellitePrefixer["default"])(
|
49
|
-
large: (0, _satellitePrefixer["default"])(
|
32
|
+
medium: (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["modal-dialog-medium"]))),
|
33
|
+
large: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["modal-dialog-large"])))
|
50
34
|
};
|
51
35
|
var Modal = function Modal(_ref) {
|
52
36
|
var title = _ref.title,
|
53
37
|
className = _ref.className,
|
54
38
|
children = _ref.children,
|
55
39
|
_ref$open = _ref.open,
|
56
|
-
open = _ref$open === void 0 ?
|
40
|
+
open = _ref$open === void 0 ? false : _ref$open,
|
41
|
+
onDismiss = _ref.onDismiss,
|
57
42
|
_ref$fullBleed = _ref.fullBleed,
|
58
43
|
fullBleed = _ref$fullBleed === void 0 ? false : _ref$fullBleed,
|
59
|
-
_ref$onDismiss = _ref.onDismiss,
|
60
|
-
onDismiss = _ref$onDismiss === void 0 ? function () {} : _ref$onDismiss,
|
61
44
|
_ref$animate = _ref.animate,
|
62
45
|
animate = _ref$animate === void 0 ? true : _ref$animate,
|
63
46
|
_ref$hideCloseIcon = _ref.hideCloseIcon,
|
@@ -66,93 +49,102 @@ var Modal = function Modal(_ref) {
|
|
66
49
|
size = _ref$size === void 0 ? "medium" : _ref$size,
|
67
50
|
_ref$centerY = _ref.centerY,
|
68
51
|
centerY = _ref$centerY === void 0 ? false : _ref$centerY,
|
52
|
+
autoFocusOnOpenElement = _ref.autoFocusOnOpenElement,
|
53
|
+
autoFocusOnCloseElement = _ref.autoFocusOnCloseElement,
|
54
|
+
triggerButton = _ref.triggerButton,
|
69
55
|
propsLocale = _ref.locale;
|
70
|
-
var createPortal = (0, _Satellite.useCreatePortal)();
|
71
56
|
var contextLocale = (0, _Satellite.useLocale)("modal");
|
72
57
|
var locale = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_MODAL_LOCALE), contextLocale), propsLocale);
|
73
|
-
var
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
return (0, _uniqueId["default"])("modal-title");
|
82
|
-
}, []);
|
83
|
-
(0, _useLockBodyScroll["default"])(open);
|
84
|
-
(0, _useKeyPressEvent["default"])("Escape", function () {
|
85
|
-
if (open) onDismiss();
|
86
|
-
});
|
87
|
-
(0, _react.useEffect)(function () {
|
88
|
-
if (!modalWrapperRef) return;
|
89
|
-
var onMouseUp = function onMouseUp(evt) {
|
90
|
-
if (evt.target === mouseDownTargetRef.current && dialogRef.current && !dialogRef.current.contains(evt.target)) {
|
91
|
-
onDismiss();
|
58
|
+
var createPortal = (0, _Satellite.useCreatePortal)();
|
59
|
+
var isControlled = triggerButton === undefined;
|
60
|
+
if (typeof document === "undefined") return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {});
|
61
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Dialog.Root, {
|
62
|
+
open: isControlled ? open : undefined,
|
63
|
+
onOpenChange: function onOpenChange(open) {
|
64
|
+
if (!open) {
|
65
|
+
onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();
|
92
66
|
}
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
children:
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
67
|
+
},
|
68
|
+
modal: true,
|
69
|
+
children: [!isControlled && /*#__PURE__*/(0, _jsxRuntime.jsx)(Dialog.Trigger, {
|
70
|
+
asChild: true,
|
71
|
+
children: triggerButton
|
72
|
+
}), createPortal( /*#__PURE__*/(0, _jsxRuntime.jsx)(Dialog.Overlay, {
|
73
|
+
className: (0, _clsx["default"])(animate && (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["modal-animated"]))), (0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["modal-overlay bg-grey-900/30 z-modalOverlay inset-0 fixed w-full h-full flex items-start justify-center overflow-x-hidden overflow-y-auto px-4 py-10"])))),
|
74
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Dialog.Content, {
|
75
|
+
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["modal-content"]))), SIZE_CLASSNAMES[size], centerY && (0, _satellitePrefixer["default"])(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["flex m-auto"])))),
|
76
|
+
onOpenAutoFocus: function onOpenAutoFocus(e) {
|
77
|
+
if (autoFocusOnOpenElement === false) {
|
78
|
+
e.preventDefault();
|
79
|
+
} else if (autoFocusOnOpenElement instanceof HTMLElement) {
|
80
|
+
e.preventDefault();
|
81
|
+
autoFocusOnOpenElement.focus();
|
82
|
+
}
|
83
|
+
},
|
84
|
+
onCloseAutoFocus: function onCloseAutoFocus(e) {
|
85
|
+
if (autoFocusOnCloseElement instanceof HTMLElement) {
|
86
|
+
e.preventDefault();
|
87
|
+
autoFocusOnCloseElement.focus();
|
88
|
+
}
|
89
|
+
},
|
90
|
+
onEscapeKeyDown: function onEscapeKeyDown(e) {
|
91
|
+
if (isControlled) {
|
92
|
+
e.preventDefault();
|
93
|
+
onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();
|
94
|
+
}
|
95
|
+
},
|
96
|
+
onInteractOutside: function onInteractOutside(e) {
|
97
|
+
if (isControlled) {
|
98
|
+
e.preventDefault();
|
99
|
+
onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();
|
100
|
+
}
|
101
|
+
},
|
102
|
+
"aria-label": !title ? locale.modalTitle : undefined,
|
103
|
+
"aria-describedby": undefined,
|
104
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
105
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
106
|
+
className: (0, _satellitePrefixer["default"])(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["modal-container"]))),
|
107
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Card["default"], {
|
108
|
+
as: "div",
|
109
|
+
elevation: "500",
|
110
|
+
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["relative"]))), className),
|
111
|
+
fullBleed: true,
|
112
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("header", {
|
113
|
+
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["min-h-14 flex items-center justify-between space-x-2"]))), title ? (0, _satellitePrefixer["default"])(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["border-b border-grey-100 pl-8 pr-16"]))) : (0, _satellitePrefixer["default"])(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["justify-end px-8"]))), !title && hideCloseIcon && (0, _satellitePrefixer["default"])(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["hidden"])))),
|
114
|
+
children: !!title && /*#__PURE__*/(0, _jsxRuntime.jsx)(Dialog.Title, {
|
115
|
+
className: (0, _satellitePrefixer["default"])(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["flex-1 display-heading truncate"]))),
|
116
|
+
children: title
|
117
|
+
})
|
118
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
119
|
+
className: (0, _clsx["default"])(!fullBleed && (0, _satellitePrefixer["default"])(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["p-10"])))),
|
120
|
+
children: children
|
121
|
+
}), !hideCloseIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
122
|
+
className: (0, _satellitePrefixer["default"])(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["-mr-2 absolute top-3 right-8"]))),
|
123
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Dialog.Close, {
|
124
|
+
asChild: true,
|
125
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
|
126
|
+
icon: _reactFeather.X,
|
127
|
+
title: locale.dismissText,
|
128
|
+
variant: "subtle",
|
129
|
+
showTooltip: false,
|
130
|
+
onClick: function onClick(e) {
|
131
|
+
if (isControlled) {
|
132
|
+
e.preventDefault();
|
133
|
+
onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();
|
134
|
+
}
|
135
|
+
}
|
136
|
+
})
|
137
|
+
})
|
138
|
+
})]
|
139
|
+
})
|
140
|
+
})
|
150
141
|
})
|
151
|
-
})
|
152
|
-
})
|
153
|
-
})
|
142
|
+
})
|
143
|
+
}))]
|
144
|
+
});
|
154
145
|
};
|
155
146
|
exports.Modal = Modal;
|
156
147
|
Modal.Footer = _ModalFooter["default"];
|
148
|
+
Modal.Section = _ModalSection["default"];
|
157
149
|
var _default = Modal;
|
158
150
|
exports["default"] = _default;
|
@@ -6,11 +6,18 @@ var modalPlugin = plugin(function (_ref) {
|
|
6
6
|
var addComponents = _ref.addComponents,
|
7
7
|
theme = _ref.theme;
|
8
8
|
var transitionEasing = "cubic-bezier(0.6, -0.28, 0.735, 0.045)";
|
9
|
-
var transitionDuration =
|
9
|
+
var transitionDuration = "200ms";
|
10
10
|
addComponents({
|
11
11
|
".modal-container": {
|
12
12
|
zIndex: theme("zIndex.modal")
|
13
13
|
},
|
14
|
+
".modal-content": {
|
15
|
+
borderRadius: "8px",
|
16
|
+
width: "100%",
|
17
|
+
"&:focus": {
|
18
|
+
outline: "none"
|
19
|
+
}
|
20
|
+
},
|
14
21
|
// Sizes
|
15
22
|
".modal-dialog-medium": {
|
16
23
|
maxWidth: "640px"
|
@@ -22,24 +29,53 @@ var modalPlugin = plugin(function (_ref) {
|
|
22
29
|
|
23
30
|
// Animation
|
24
31
|
addComponents({
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
},
|
34
|
-
"
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
32
|
+
/* eslint-disable @algolia/satellite/prefer-stl-helper */
|
33
|
+
"@keyframes stl-modal-overlay-fade-in": {
|
34
|
+
from: {
|
35
|
+
opacity: "0"
|
36
|
+
},
|
37
|
+
to: {
|
38
|
+
opacity: "1"
|
39
|
+
}
|
40
|
+
},
|
41
|
+
"@keyframes stl-modal-overlay-fade-out": {
|
42
|
+
from: {
|
43
|
+
opacity: "1"
|
44
|
+
},
|
45
|
+
to: {
|
46
|
+
opacity: "0"
|
47
|
+
}
|
48
|
+
},
|
49
|
+
"@keyframes stl-modal-content-zoop-in": {
|
50
|
+
from: {
|
51
|
+
transform: "translate(0, 8px) scale(0.94)"
|
52
|
+
},
|
53
|
+
to: {
|
54
|
+
transform: "translate(0, 0) scale(1)"
|
55
|
+
}
|
56
|
+
},
|
57
|
+
"@keyframes stl-modal-content-zoop-out": {
|
58
|
+
from: {
|
59
|
+
transform: "translate(0, 0) scale(1)"
|
60
|
+
},
|
61
|
+
to: {
|
62
|
+
transform: "translate(0, 8px) scale(0.94)"
|
63
|
+
}
|
64
|
+
},
|
65
|
+
".modal-animated.modal-overlay[data-state='open']": {
|
66
|
+
animation: "stl-modal-overlay-fade-in ".concat(transitionDuration, " ").concat(transitionEasing)
|
67
|
+
},
|
68
|
+
".modal-animated.modal-overlay[data-state='closed']": {
|
69
|
+
animation: "stl-modal-overlay-fade-out ".concat(transitionDuration, " ").concat(transitionEasing)
|
70
|
+
},
|
71
|
+
".modal-animated .modal-content[data-state='open']": {
|
72
|
+
animation: "stl-modal-content-zoop-in ".concat(transitionDuration, " ").concat(transitionEasing)
|
73
|
+
},
|
74
|
+
".modal-animated .modal-content[data-state='closed']": {
|
75
|
+
animation: "stl-modal-content-zoop-out ".concat(transitionDuration, " ").concat(transitionEasing)
|
42
76
|
}
|
77
|
+
/* eslint-enable @algolia/satellite/prefer-stl-helper */
|
43
78
|
});
|
44
79
|
});
|
80
|
+
|
45
81
|
module.exports = modalPlugin;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type
|
1
|
+
import { type FunctionComponent, type ReactNode } from "react";
|
2
2
|
import type { ComponentsLocales } from "./locale";
|
3
3
|
import type { SatelliteRouter } from "./SatelliteRouter";
|
4
4
|
export interface SatelliteProps {
|
@@ -7,5 +7,6 @@ export interface SatelliteProps {
|
|
7
7
|
portalTarget?: HTMLElement;
|
8
8
|
children: ReactNode;
|
9
9
|
}
|
10
|
+
export declare const DEFAULT_PORTAL_TARGET_ID = "satellite-portal";
|
10
11
|
export declare const Satellite: FunctionComponent<SatelliteProps>;
|
11
12
|
export default Satellite;
|
@@ -4,16 +4,40 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
5
5
|
value: true
|
6
6
|
});
|
7
|
-
exports["default"] = exports.Satellite = void 0;
|
7
|
+
exports["default"] = exports.Satellite = exports.DEFAULT_PORTAL_TARGET_ID = void 0;
|
8
|
+
var _react = require("react");
|
8
9
|
var _SatelliteContext = _interopRequireDefault(require("./SatelliteContext"));
|
9
10
|
var _SatelliteRouter = require("./SatelliteRouter");
|
10
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
12
|
+
var DEFAULT_PORTAL_TARGET_ID = "satellite-portal";
|
13
|
+
exports.DEFAULT_PORTAL_TARGET_ID = DEFAULT_PORTAL_TARGET_ID;
|
14
|
+
var portalElement;
|
15
|
+
var getPortalElement = function getPortalElement() {
|
16
|
+
if (typeof document === "undefined") return;
|
17
|
+
if (!portalElement) {
|
18
|
+
var element = document.createElement("div");
|
19
|
+
element.setAttribute("id", DEFAULT_PORTAL_TARGET_ID);
|
20
|
+
document.body.appendChild(element);
|
21
|
+
portalElement = element;
|
22
|
+
}
|
23
|
+
return portalElement;
|
24
|
+
};
|
11
25
|
var Satellite = function Satellite(_ref) {
|
12
26
|
var _ref$router = _ref.router,
|
13
27
|
router = _ref$router === void 0 ? _SatelliteRouter.router : _ref$router,
|
14
28
|
locales = _ref.locales,
|
15
|
-
portalTarget = _ref.portalTarget,
|
29
|
+
_ref$portalTarget = _ref.portalTarget,
|
30
|
+
portalTarget = _ref$portalTarget === void 0 ? getPortalElement() : _ref$portalTarget,
|
16
31
|
children = _ref.children;
|
32
|
+
(0, _react.useEffect)(function () {
|
33
|
+
if (!portalTarget) return;
|
34
|
+
if (portalTarget === document.body) {
|
35
|
+
console.warn("Avoid using the document body as a portal target.");
|
36
|
+
}
|
37
|
+
|
38
|
+
// Radix adds pointer-events: none; on the body for its modal, so we need to reenable it for other portaled elements (tooltips, menus, autocomplete)
|
39
|
+
portalTarget.style.pointerEvents = "auto";
|
40
|
+
}, [portalTarget]);
|
17
41
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SatelliteContext["default"].Provider, {
|
18
42
|
value: {
|
19
43
|
router: router,
|