@automattic/vip-design-system 0.14.1 → 0.16.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.
- package/.prettierignore +1 -0
- package/README.md +26 -0
- package/build/system/Button/Button.js +9 -4
- package/build/system/NewDialog/DialogClose.js +26 -11
- package/build/system/NewDialog/DialogClose.test.js +1 -1
- package/build/system/NewDialog/DialogContent.js +1 -1
- package/build/system/NewDialog/DialogDescription.js +4 -1
- package/build/system/NewDialog/DialogTitle.js +4 -1
- package/build/system/NewDialog/NewDialog.js +13 -23
- package/build/system/NewDialog/NewDialog.stories.js +87 -9
- package/build/system/NewDialog/index.js +14 -1
- package/build/system/Notification/Notification.js +1 -1
- package/build/system/ScreenReaderText/ScreenReader.test.js +2 -2
- package/build/system/ScreenReaderText/ScreenReaderText.js +9 -4
- package/build/system/ScreenReaderText/index.js +8 -1
- package/build/system/index.js +8 -3
- package/build/system/theme/generated/valet-theme.json +2429 -0
- package/build/system/theme/getColor.js +3 -21
- package/build/system/theme/index.js +1 -1
- package/package.json +8 -5
- package/src/system/Button/Button.js +7 -3
- package/src/system/NewDialog/DialogClose.js +18 -4
- package/src/system/NewDialog/DialogClose.test.js +1 -1
- package/src/system/NewDialog/DialogContent.js +1 -1
- package/src/system/NewDialog/DialogDescription.js +2 -2
- package/src/system/NewDialog/DialogTitle.js +2 -2
- package/src/system/NewDialog/NewDialog.js +14 -20
- package/src/system/NewDialog/NewDialog.stories.jsx +69 -7
- package/src/system/NewDialog/index.js +7 -1
- package/src/system/Notification/Notification.js +1 -1
- package/src/system/ScreenReaderText/ScreenReader.test.js +1 -1
- package/src/system/ScreenReaderText/ScreenReaderText.js +24 -22
- package/src/system/ScreenReaderText/index.js +2 -0
- package/src/system/index.js +1 -1
- package/src/system/theme/generated/valet-theme.json +2429 -0
- package/src/system/theme/getColor.js +3 -19
- package/src/system/theme/index.js +1 -1
- package/tokens/valet-color.json +0 -6164
package/.prettierignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
src/system/theme/generated
|
package/README.md
CHANGED
|
@@ -41,6 +41,32 @@ For components that include storybooks, we can run `npm run storybook` to view t
|
|
|
41
41
|
|
|
42
42
|
Note: it's super useful to run `npm run watch` in another process, so any changes will be almost immediately available / testable.
|
|
43
43
|
|
|
44
|
+
### Updating the Theme with VIP Design System Tokens
|
|
45
|
+
|
|
46
|
+
You need to update the tokens once the VIP Design System updates the core files.
|
|
47
|
+
|
|
48
|
+
#### How the theming works
|
|
49
|
+
|
|
50
|
+
We use the VIP Design System Tokens as our base theme structure. All colors, spaces, types should come from a dynamic token system provided by the VIP Design team, currently using Figma as the design software. When the design system is updated by the Design team, they push a file to the root of this repository: `tokens/valet-core.json`.
|
|
51
|
+
|
|
52
|
+
By using the [Token Transformer](https://docs.tokens.studio/sync/github#7-how-to-use-tokens-stored-in-github-in-development) and a custom npm script, we parse this file getting only the VIP Dashboard theme we need for the react components. The theme is called: `productive-color-wpvip`.
|
|
53
|
+
|
|
54
|
+
Once the new file is updated, we need to generate a custom theme file in `src/generated/valet-theme.json`. This operation generates a small json file with the colors we need already filled in.
|
|
55
|
+
|
|
56
|
+
Once the theme is updated, the file `src/system/theme/index.js` reads the colors and apply to all components.
|
|
57
|
+
|
|
58
|
+
Use the section below to run the script and update the theme.
|
|
59
|
+
|
|
60
|
+
_Important:_ If you change the `generated/valet-theme.json`, make it sure to open a new pull request with these changes and release a new version if needed.
|
|
61
|
+
|
|
62
|
+
#### Update theme script
|
|
63
|
+
|
|
64
|
+
Run this command to update the VIP Valet Theme with the latest `tokens/valet-core.json`.
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npm run theme-update
|
|
68
|
+
```
|
|
69
|
+
|
|
44
70
|
### Publish NPM Package Instructions
|
|
45
71
|
|
|
46
72
|
Once all the changes needed are merged to trunk, and you are ready to release a new version, follow these steps:
|
|
@@ -9,17 +9,19 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
9
9
|
|
|
10
10
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
13
|
|
|
14
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
15
|
|
|
16
16
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
17
|
|
|
18
|
+
var _themeUi = require("theme-ui");
|
|
19
|
+
|
|
18
20
|
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
19
21
|
|
|
20
22
|
var _excluded = ["sx"];
|
|
21
23
|
|
|
22
|
-
var Button = function
|
|
24
|
+
var Button = /*#__PURE__*/_react["default"].forwardRef(function (_ref, forwardRef) {
|
|
23
25
|
var sx = _ref.sx,
|
|
24
26
|
props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
|
|
25
27
|
return (0, _jsxRuntime.jsx)(_themeUi.Button, (0, _extends2["default"])({
|
|
@@ -43,10 +45,13 @@ var Button = function Button(_ref) {
|
|
|
43
45
|
}
|
|
44
46
|
}, sx),
|
|
45
47
|
className: (0, _classnames["default"])('vip-button-component', props.className)
|
|
46
|
-
}, props
|
|
47
|
-
|
|
48
|
+
}, props, {
|
|
49
|
+
ref: forwardRef
|
|
50
|
+
}));
|
|
51
|
+
});
|
|
48
52
|
|
|
49
53
|
exports.Button = Button;
|
|
54
|
+
Button.displayName = 'Button';
|
|
50
55
|
Button.propTypes = {
|
|
51
56
|
sx: _propTypes["default"].object,
|
|
52
57
|
className: _propTypes["default"].any
|
|
@@ -3,35 +3,50 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports.DialogClose = void 0;
|
|
6
|
+
exports.DialogCloseDefault = exports.DialogClose = void 0;
|
|
7
7
|
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
|
|
10
12
|
var _react = _interopRequireDefault(require("react"));
|
|
11
13
|
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
|
|
12
16
|
var DialogPrimitive = _interopRequireWildcard(require("@radix-ui/react-dialog"));
|
|
13
17
|
|
|
14
18
|
var _io = require("react-icons/io5");
|
|
15
19
|
|
|
16
20
|
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
17
21
|
|
|
22
|
+
var _excluded = ["children"];
|
|
23
|
+
|
|
18
24
|
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); }
|
|
19
25
|
|
|
20
26
|
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; }
|
|
21
27
|
|
|
22
|
-
/** @jsxImportSource theme-ui */
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* External dependencies
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
28
|
/**
|
|
29
29
|
* Internal dependencies
|
|
30
30
|
*/
|
|
31
|
-
var DialogClose = /*#__PURE__*/_react["default"].forwardRef(function (
|
|
31
|
+
var DialogClose = /*#__PURE__*/_react["default"].forwardRef(function (_ref, forwardedRef) {
|
|
32
|
+
var children = _ref.children,
|
|
33
|
+
rest = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
|
|
32
34
|
return (0, _jsxRuntime.jsx)(DialogPrimitive.Close, (0, _extends2["default"])({
|
|
33
35
|
asChild: true
|
|
34
|
-
},
|
|
36
|
+
}, rest, {
|
|
37
|
+
ref: forwardedRef,
|
|
38
|
+
children: children
|
|
39
|
+
}));
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
exports.DialogClose = DialogClose;
|
|
43
|
+
DialogClose.propTypes = {
|
|
44
|
+
children: _propTypes["default"].node
|
|
45
|
+
};
|
|
46
|
+
DialogClose.displayName = 'DialogClose';
|
|
47
|
+
|
|
48
|
+
var DialogCloseDefault = /*#__PURE__*/_react["default"].forwardRef(function (props, forwardedRef) {
|
|
49
|
+
return (0, _jsxRuntime.jsx)(DialogClose, (0, _extends2["default"])({}, props, {
|
|
35
50
|
ref: forwardedRef,
|
|
36
51
|
children: (0, _jsxRuntime.jsx)("button", {
|
|
37
52
|
"aria-label": "Close",
|
|
@@ -72,5 +87,5 @@ var DialogClose = /*#__PURE__*/_react["default"].forwardRef(function (props, for
|
|
|
72
87
|
}));
|
|
73
88
|
});
|
|
74
89
|
|
|
75
|
-
exports.
|
|
76
|
-
|
|
90
|
+
exports.DialogCloseDefault = DialogCloseDefault;
|
|
91
|
+
DialogCloseDefault.displayName = 'DialogCloseDefault';
|
|
@@ -44,7 +44,7 @@ describe('<DialogClose />', function () {
|
|
|
44
44
|
switch (_context.prev = _context.next) {
|
|
45
45
|
case 0:
|
|
46
46
|
_render = (0, _react.render)((0, _jsxRuntime.jsx)(Wrapper, {
|
|
47
|
-
children: (0, _jsxRuntime.jsx)(_DialogClose.
|
|
47
|
+
children: (0, _jsxRuntime.jsx)(_DialogClose.DialogCloseDefault, (0, _extends2["default"])({}, defaultProps))
|
|
48
48
|
})), container = _render.container;
|
|
49
49
|
expect(_react.screen.getByLabelText('Close')).toBeInTheDocument(); // Check for accessibility issues
|
|
50
50
|
|
|
@@ -15,7 +15,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
15
15
|
|
|
16
16
|
var DialogPrimitive = _interopRequireWildcard(require("@radix-ui/react-dialog"));
|
|
17
17
|
|
|
18
|
-
var _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText
|
|
18
|
+
var _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText"));
|
|
19
19
|
|
|
20
20
|
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
21
21
|
|
|
@@ -42,6 +42,9 @@ var DialogDescription = /*#__PURE__*/_react["default"].forwardRef(function (_ref
|
|
|
42
42
|
|
|
43
43
|
return (0, _jsxRuntime.jsx)(DialogPrimitive.Description, (0, _extends2["default"])({}, rest, {
|
|
44
44
|
ref: forwardedRef,
|
|
45
|
+
sx: {
|
|
46
|
+
margin: 0
|
|
47
|
+
},
|
|
45
48
|
children: text
|
|
46
49
|
}));
|
|
47
50
|
});
|
|
@@ -9,7 +9,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
9
9
|
|
|
10
10
|
var DialogPrimitive = _interopRequireWildcard(require("@radix-ui/react-dialog"));
|
|
11
11
|
|
|
12
|
-
var _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText
|
|
12
|
+
var _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText"));
|
|
13
13
|
|
|
14
14
|
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
15
15
|
|
|
@@ -39,6 +39,9 @@ var DialogTitle = function DialogTitle(_ref) {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
return (0, _jsxRuntime.jsx)(DialogPrimitive.Title, {
|
|
42
|
+
sx: {
|
|
43
|
+
margin: 0
|
|
44
|
+
},
|
|
42
45
|
children: titleNode
|
|
43
46
|
});
|
|
44
47
|
};
|
|
@@ -52,22 +52,21 @@ var NewDialog = function NewDialog(_ref) {
|
|
|
52
52
|
defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
|
|
53
53
|
_ref$allowPinchZoom = _ref.allowPinchZoom,
|
|
54
54
|
allowPinchZoom = _ref$allowPinchZoom === void 0 ? false : _ref$allowPinchZoom,
|
|
55
|
-
_ref$
|
|
56
|
-
|
|
57
|
-
_ref$
|
|
58
|
-
|
|
59
|
-
_ref$
|
|
60
|
-
|
|
61
|
-
_ref$onPointerDownOut = _ref.onPointerDownOutside,
|
|
62
|
-
onPointerDownOutside = _ref$onPointerDownOut === void 0 ? null : _ref$onPointerDownOut,
|
|
63
|
-
_ref$onInteractOutsid = _ref.onInteractOutside,
|
|
64
|
-
onInteractOutside = _ref$onInteractOutsid === void 0 ? null : _ref$onInteractOutsid;
|
|
55
|
+
_ref$onOpenChange = _ref.onOpenChange,
|
|
56
|
+
onOpenChange = _ref$onOpenChange === void 0 ? undefined : _ref$onOpenChange,
|
|
57
|
+
_ref$open = _ref.open,
|
|
58
|
+
open = _ref$open === void 0 ? undefined : _ref$open,
|
|
59
|
+
_ref$id = _ref.id,
|
|
60
|
+
id = _ref$id === void 0 ? undefined : _ref$id;
|
|
65
61
|
|
|
66
62
|
if (disabled) {
|
|
67
63
|
return;
|
|
68
64
|
}
|
|
69
65
|
|
|
70
66
|
return (0, _jsxRuntime.jsxs)(DialogPrimitive.Root, {
|
|
67
|
+
id: id,
|
|
68
|
+
open: open,
|
|
69
|
+
onOpenChange: onOpenChange,
|
|
71
70
|
defaultOpen: defaultOpen,
|
|
72
71
|
allowPinchZoom: allowPinchZoom,
|
|
73
72
|
children: [trigger && (0, _jsxRuntime.jsx)(DialogPrimitive.Trigger, {
|
|
@@ -77,12 +76,7 @@ var NewDialog = function NewDialog(_ref) {
|
|
|
77
76
|
children: [(0, _jsxRuntime.jsx)(_DialogOverlay.DialogOverlay, {}), (0, _jsxRuntime.jsxs)(DialogPrimitive.Content, {
|
|
78
77
|
className: "vip-dialog-component",
|
|
79
78
|
sx: (0, _extends2["default"])({}, _DialogContent.contentStyles, extraStyles),
|
|
80
|
-
|
|
81
|
-
onCloseAutoFocus: onCloseAutoFocus,
|
|
82
|
-
onEscapeKeyDown: onEscapeKeyDown,
|
|
83
|
-
onPointerDownOutside: onPointerDownOutside,
|
|
84
|
-
onInteractOutside: onInteractOutside,
|
|
85
|
-
children: [(0, _jsxRuntime.jsx)(_DialogClose.DialogClose, {}), (0, _jsxRuntime.jsx)(_DialogTitle.DialogTitle, {
|
|
79
|
+
children: [(0, _jsxRuntime.jsx)(_DialogClose.DialogCloseDefault, {}), (0, _jsxRuntime.jsx)(_DialogTitle.DialogTitle, {
|
|
86
80
|
title: title,
|
|
87
81
|
hidden: !showHeading
|
|
88
82
|
}), (0, _jsxRuntime.jsx)(_DialogDescription.DialogDescription, {
|
|
@@ -108,13 +102,9 @@ NewDialog.propTypes = {
|
|
|
108
102
|
style: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].func]),
|
|
109
103
|
// Radix DialogPrimitive.Root properties
|
|
110
104
|
// https://www.radix-ui.com/docs/primitives/components/dialog#root
|
|
105
|
+
id: _propTypes["default"].string,
|
|
106
|
+
open: _propTypes["default"].bool,
|
|
111
107
|
defaultOpen: _propTypes["default"].bool,
|
|
112
108
|
allowPinchZoom: _propTypes["default"].bool,
|
|
113
|
-
|
|
114
|
-
// https://www.radix-ui.com/docs/primitives/components/dialog#content
|
|
115
|
-
onOpenAutoFocus: _propTypes["default"].func,
|
|
116
|
-
onCloseAutoFocus: _propTypes["default"].func,
|
|
117
|
-
onEscapeKeyDown: _propTypes["default"].func,
|
|
118
|
-
onPointerDownOutside: _propTypes["default"].func,
|
|
119
|
-
onInteractOutside: _propTypes["default"].func
|
|
109
|
+
onOpenChange: _propTypes["default"].func
|
|
120
110
|
};
|
|
@@ -3,27 +3,37 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports["default"] = exports.HiddenHeadings = exports.Default = exports.CustomStyling = exports.AutoOpen = void 0;
|
|
6
|
+
exports["default"] = exports.HiddenHeadings = exports.Default = exports.CustomStyling = exports.CustomStateManagement = exports.CustomClose = exports.AutoOpen = void 0;
|
|
7
7
|
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
|
|
10
12
|
var _system = require("../../system");
|
|
11
13
|
|
|
12
|
-
var _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText
|
|
14
|
+
var _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText"));
|
|
13
15
|
|
|
14
|
-
var
|
|
16
|
+
var NewDialog = _interopRequireWildcard(require("."));
|
|
15
17
|
|
|
16
18
|
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
17
19
|
|
|
20
|
+
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); }
|
|
21
|
+
|
|
22
|
+
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; }
|
|
23
|
+
|
|
18
24
|
/** @jsxImportSource theme-ui */
|
|
19
25
|
|
|
26
|
+
/**
|
|
27
|
+
* External dependencies
|
|
28
|
+
*/
|
|
29
|
+
|
|
20
30
|
/**
|
|
21
31
|
/**
|
|
22
32
|
* Internal dependencies
|
|
23
33
|
*/
|
|
24
34
|
var _default = {
|
|
25
35
|
title: 'NewDialog',
|
|
26
|
-
component:
|
|
36
|
+
component: NewDialog.Root
|
|
27
37
|
};
|
|
28
38
|
exports["default"] = _default;
|
|
29
39
|
var defaultProps = {
|
|
@@ -39,7 +49,7 @@ var Default = function Default() {
|
|
|
39
49
|
mb: 3
|
|
40
50
|
},
|
|
41
51
|
children: "Regular Dialog where the title and description are built-in and the content is provided by the user."
|
|
42
|
-
}), (0, _jsxRuntime.jsx)(
|
|
52
|
+
}), (0, _jsxRuntime.jsx)(NewDialog.Root, (0, _extends2["default"])({}, defaultProps, {
|
|
43
53
|
trigger: (0, _jsxRuntime.jsx)(_system.Button, {
|
|
44
54
|
children: "Trigger Dialog"
|
|
45
55
|
})
|
|
@@ -57,8 +67,15 @@ var AutoOpen = function AutoOpen() {
|
|
|
57
67
|
mb: 3
|
|
58
68
|
},
|
|
59
69
|
children: "Auto Opens when rendered. Press escape to close it."
|
|
60
|
-
}), (0, _jsxRuntime.jsx)(
|
|
70
|
+
}), (0, _jsxRuntime.jsx)(NewDialog.Root, (0, _extends2["default"])({}, defaultProps, {
|
|
61
71
|
defaultOpen: true,
|
|
72
|
+
content: (0, _jsxRuntime.jsxs)("div", {
|
|
73
|
+
children: [(0, _jsxRuntime.jsx)("h3", {
|
|
74
|
+
children: "Test"
|
|
75
|
+
}), (0, _jsxRuntime.jsx)("p", {
|
|
76
|
+
children: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."
|
|
77
|
+
})]
|
|
78
|
+
}),
|
|
62
79
|
trigger: (0, _jsxRuntime.jsx)(_ScreenReaderText["default"], {
|
|
63
80
|
children: "hey"
|
|
64
81
|
})
|
|
@@ -76,7 +93,7 @@ var HiddenHeadings = function HiddenHeadings() {
|
|
|
76
93
|
mb: 3
|
|
77
94
|
},
|
|
78
95
|
children: "Title and description are hidden, but still announced using a screen reader. Activate VoiceOver or any similar screen reader to listen to: Custom dialog title, Description of the dialog content."
|
|
79
|
-
}), (0, _jsxRuntime.jsx)(
|
|
96
|
+
}), (0, _jsxRuntime.jsx)(NewDialog.Root, (0, _extends2["default"])({}, defaultProps, {
|
|
80
97
|
trigger: (0, _jsxRuntime.jsx)(_system.Button, {
|
|
81
98
|
children: "Trigger Dialog"
|
|
82
99
|
}),
|
|
@@ -117,7 +134,7 @@ var CustomStyling = function CustomStyling() {
|
|
|
117
134
|
mb: 3
|
|
118
135
|
},
|
|
119
136
|
children: "Custom Styling on Dialog Content"
|
|
120
|
-
}), (0, _jsxRuntime.jsx)(
|
|
137
|
+
}), (0, _jsxRuntime.jsx)(NewDialog.Root, (0, _extends2["default"])({}, defaultProps, {
|
|
121
138
|
defaultOpen: true,
|
|
122
139
|
trigger: (0, _jsxRuntime.jsx)(_system.Button, {
|
|
123
140
|
children: "Trigger Dialog"
|
|
@@ -160,4 +177,65 @@ var CustomStyling = function CustomStyling() {
|
|
|
160
177
|
});
|
|
161
178
|
};
|
|
162
179
|
|
|
163
|
-
exports.CustomStyling = CustomStyling;
|
|
180
|
+
exports.CustomStyling = CustomStyling;
|
|
181
|
+
|
|
182
|
+
var CustomClose = function CustomClose() {
|
|
183
|
+
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
184
|
+
children: [(0, _jsxRuntime.jsx)(_system.Text, {
|
|
185
|
+
sx: {
|
|
186
|
+
fontSize: 3,
|
|
187
|
+
mb: 3
|
|
188
|
+
},
|
|
189
|
+
children: "This example shows how you can create a custom Close trigger to your dialog"
|
|
190
|
+
}), (0, _jsxRuntime.jsx)(NewDialog.Root, (0, _extends2["default"])({}, defaultProps, {
|
|
191
|
+
trigger: (0, _jsxRuntime.jsx)(_system.Button, {
|
|
192
|
+
children: "Trigger Dialog"
|
|
193
|
+
}),
|
|
194
|
+
content: (0, _jsxRuntime.jsx)("div", {
|
|
195
|
+
children: (0, _jsxRuntime.jsx)(NewDialog.Close, {
|
|
196
|
+
children: (0, _jsxRuntime.jsx)(_system.Button, {
|
|
197
|
+
children: "Close here instead"
|
|
198
|
+
})
|
|
199
|
+
})
|
|
200
|
+
})
|
|
201
|
+
}))]
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
exports.CustomClose = CustomClose;
|
|
206
|
+
|
|
207
|
+
var CustomStateManagement = function CustomStateManagement() {
|
|
208
|
+
var _useState = (0, _react.useState)(false),
|
|
209
|
+
open = _useState[0],
|
|
210
|
+
setOpen = _useState[1];
|
|
211
|
+
|
|
212
|
+
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
213
|
+
children: [(0, _jsxRuntime.jsxs)(_system.Text, {
|
|
214
|
+
sx: {
|
|
215
|
+
fontSize: 3,
|
|
216
|
+
mb: 3
|
|
217
|
+
},
|
|
218
|
+
children: ["This example shows how you can create a custom state management. To achieve accessibility, you need to control the ", (0, _jsxRuntime.jsx)("strong", {
|
|
219
|
+
children: "open"
|
|
220
|
+
}), " state, but also keep consistency using the", ' ', (0, _jsxRuntime.jsx)("strong", {
|
|
221
|
+
children: "onOpenChange"
|
|
222
|
+
}), " attribute."]
|
|
223
|
+
}), (0, _jsxRuntime.jsx)(NewDialog.Root, (0, _extends2["default"])({}, defaultProps, {
|
|
224
|
+
open: open,
|
|
225
|
+
onOpenChange: setOpen,
|
|
226
|
+
trigger: (0, _jsxRuntime.jsx)(_system.Button, {
|
|
227
|
+
children: "Trigger Dialog"
|
|
228
|
+
}),
|
|
229
|
+
content: (0, _jsxRuntime.jsx)("div", {
|
|
230
|
+
children: (0, _jsxRuntime.jsx)(_system.Button, {
|
|
231
|
+
onClick: function onClick() {
|
|
232
|
+
return setOpen(false);
|
|
233
|
+
},
|
|
234
|
+
children: "Close here instead"
|
|
235
|
+
})
|
|
236
|
+
})
|
|
237
|
+
}))]
|
|
238
|
+
});
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
exports.CustomStateManagement = CustomStateManagement;
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
+
exports["default"] = exports.Root = exports.Close = void 0;
|
|
5
|
+
|
|
6
|
+
var _DialogClose = require("./DialogClose");
|
|
4
7
|
|
|
5
8
|
var _NewDialog = require("./NewDialog");
|
|
6
9
|
|
|
7
|
-
exports.NewDialog = _NewDialog.NewDialog;
|
|
10
|
+
exports.NewDialog = _NewDialog.NewDialog;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Internal dependencies
|
|
14
|
+
*/
|
|
15
|
+
var Root = _NewDialog.NewDialog;
|
|
16
|
+
exports.Root = Root;
|
|
17
|
+
var Close = _DialogClose.DialogClose;
|
|
18
|
+
exports.Close = Close;
|
|
19
|
+
var _default = _NewDialog.NewDialog;
|
|
20
|
+
exports["default"] = _default;
|
|
@@ -11,7 +11,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
11
11
|
|
|
12
12
|
var _ = require("../");
|
|
13
13
|
|
|
14
|
-
var _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText
|
|
14
|
+
var _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText"));
|
|
15
15
|
|
|
16
16
|
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
17
17
|
|
|
@@ -8,7 +8,7 @@ var _react = require("@testing-library/react");
|
|
|
8
8
|
|
|
9
9
|
require("@testing-library/jest-dom");
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _ = _interopRequireDefault(require("."));
|
|
12
12
|
|
|
13
13
|
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
14
14
|
|
|
@@ -24,7 +24,7 @@ describe('<ScreenReaderText />', function () {
|
|
|
24
24
|
var props = {};
|
|
25
25
|
var text = 'Hello there';
|
|
26
26
|
|
|
27
|
-
var _render = (0, _react.render)((0, _jsxRuntime.jsx)(
|
|
27
|
+
var _render = (0, _react.render)((0, _jsxRuntime.jsx)(_["default"], (0, _extends2["default"])({}, props, {
|
|
28
28
|
children: text
|
|
29
29
|
}))),
|
|
30
30
|
container = _render.container; // we're using the querySelector to ensure the class is rendered since it affects the A11Y
|
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports
|
|
6
|
+
exports.ScreenReaderText = void 0;
|
|
7
7
|
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
10
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
13
|
|
|
12
14
|
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
@@ -20,7 +22,7 @@ var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
|
20
22
|
/**
|
|
21
23
|
* Internal dependencies
|
|
22
24
|
*/
|
|
23
|
-
|
|
25
|
+
var ScreenReaderText = /*#__PURE__*/_react["default"].forwardRef(function (props, forwardRef) {
|
|
24
26
|
return (0, _jsxRuntime.jsx)("span", (0, _extends2["default"])({
|
|
25
27
|
className: "screen-reader-text",
|
|
26
28
|
sx: {
|
|
@@ -36,14 +38,17 @@ function ScreenReaderText(props) {
|
|
|
36
38
|
wordWrap: 'normal !important'
|
|
37
39
|
}
|
|
38
40
|
}, props, {
|
|
41
|
+
ref: forwardRef,
|
|
39
42
|
children: props.children
|
|
40
43
|
}));
|
|
41
|
-
}
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
exports.ScreenReaderText = ScreenReaderText;
|
|
47
|
+
ScreenReaderText.displayName = 'ScreenReaderText';
|
|
42
48
|
/**
|
|
43
49
|
* propTypes
|
|
44
50
|
*/
|
|
45
51
|
|
|
46
|
-
|
|
47
52
|
ScreenReaderText.propTypes = {
|
|
48
53
|
children: _propTypes["default"].node.isRequired
|
|
49
54
|
};
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
4
5
|
|
|
5
6
|
var _ScreenReaderText = require("./ScreenReaderText");
|
|
6
7
|
|
|
7
|
-
exports.ScreenReaderText = _ScreenReaderText.ScreenReaderText;
|
|
8
|
+
exports.ScreenReaderText = _ScreenReaderText.ScreenReaderText;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Internal dependencies
|
|
12
|
+
*/
|
|
13
|
+
var _default = _ScreenReaderText.ScreenReaderText;
|
|
14
|
+
exports["default"] = _default;
|
package/build/system/index.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
+
exports.NewDialog = void 0;
|
|
6
7
|
|
|
7
8
|
var _Avatar = require("./Avatar");
|
|
8
9
|
|
|
@@ -42,9 +43,9 @@ exports.DialogMenuItem = _Dialog.DialogMenuItem;
|
|
|
42
43
|
exports.DialogTrigger = _Dialog.DialogTrigger;
|
|
43
44
|
exports.DialogContent = _Dialog.DialogContent;
|
|
44
45
|
|
|
45
|
-
var
|
|
46
|
+
var NewDialog = _interopRequireWildcard(require("./NewDialog"));
|
|
46
47
|
|
|
47
|
-
exports.NewDialog =
|
|
48
|
+
exports.NewDialog = NewDialog;
|
|
48
49
|
|
|
49
50
|
var _ConfirmationDialog = require("./ConfirmationDialog");
|
|
50
51
|
|
|
@@ -140,4 +141,8 @@ var _Wizard = require("./Wizard");
|
|
|
140
141
|
|
|
141
142
|
exports.Wizard = _Wizard.Wizard;
|
|
142
143
|
exports.WizardStep = _Wizard.WizardStep;
|
|
143
|
-
exports.WizardStepHorizontal = _Wizard.WizardStepHorizontal;
|
|
144
|
+
exports.WizardStepHorizontal = _Wizard.WizardStepHorizontal;
|
|
145
|
+
|
|
146
|
+
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); }
|
|
147
|
+
|
|
148
|
+
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; }
|