@pingux/astro 2.6.1-alpha.1 → 2.7.0-alpha.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/lib/cjs/components/IconButton/IconButton.js +2 -38
- package/lib/cjs/components/IconButton/IconButton.stories.js +2 -34
- package/lib/cjs/components/IconButton/iconButtonAttributes.js +100 -0
- package/lib/cjs/components/ImageUploadField/ImageUploadField.js +1 -0
- package/lib/cjs/components/ListView/ListView.js +0 -9
- package/lib/cjs/components/ListView/ListView.stories.js +34 -80
- package/lib/cjs/components/ListViewItem/ListViewItem.styles.js +6 -1
- package/lib/cjs/components/Menu/Menu.js +7 -60
- package/lib/cjs/components/Menu/Menu.stories.js +2 -56
- package/lib/cjs/components/Menu/menuAttributes.js +104 -0
- package/lib/cjs/components/SwitchField/SwitchField.js +12 -54
- package/lib/cjs/components/SwitchField/SwitchField.stories.js +2 -34
- package/lib/cjs/components/SwitchField/SwitchField.test.js +4 -5
- package/lib/cjs/components/SwitchField/switchFieldAttributes.js +191 -0
- package/lib/cjs/experimental/StyledListItem/StyledListItem.js +159 -0
- package/lib/cjs/experimental/StyledListItem/StyledListItem.stories.js +155 -0
- package/lib/cjs/experimental/StyledListItem/StyledListItem.test.js +83 -0
- package/lib/cjs/experimental/StyledListItem/controls/ListItemEditButton.js +34 -0
- package/lib/cjs/experimental/StyledListItem/controls/ListItemEditButton.stories.js +31 -0
- package/lib/cjs/experimental/StyledListItem/controls/ListItemEditButton.test.js +25 -0
- package/lib/cjs/experimental/StyledListItem/controls/ListItemMenu.js +37 -0
- package/lib/cjs/experimental/StyledListItem/controls/ListItemMenu.stories.js +36 -0
- package/lib/cjs/experimental/StyledListItem/controls/ListItemMenu.test.js +59 -0
- package/lib/cjs/experimental/StyledListItem/controls/ListItemSwitchField.js +32 -0
- package/lib/cjs/experimental/StyledListItem/controls/ListItemSwitchField.stories.js +41 -0
- package/lib/cjs/experimental/StyledListItem/controls/ListItemSwitchField.test.js +25 -0
- package/lib/cjs/experimental/StyledListItem/styledListItemAttributes.js +81 -0
- package/lib/cjs/experimental/recipes/ListAndPanel.stories.js +370 -0
- package/lib/cjs/experimental/recipes/ScrollableListView.stories.js +108 -0
- package/lib/cjs/experimental/recipes/items.js +126 -0
- package/lib/cjs/index.js +33 -1
- package/lib/cjs/utils/docUtils/ariaAttributes.js +2 -1
- package/lib/cjs/utils/docUtils/docArgTypes.js +41 -0
- package/lib/cjs/utils/docUtils/hoverProps.js +7 -2
- package/lib/components/IconButton/IconButton.js +2 -38
- package/lib/components/IconButton/IconButton.stories.js +2 -34
- package/lib/components/IconButton/iconButtonAttributes.js +91 -0
- package/lib/components/ImageUploadField/ImageUploadField.js +1 -0
- package/lib/components/ListView/ListView.js +0 -9
- package/lib/components/ListView/ListView.stories.js +35 -82
- package/lib/components/ListViewItem/ListViewItem.styles.js +6 -1
- package/lib/components/Menu/Menu.js +7 -60
- package/lib/components/Menu/Menu.stories.js +2 -57
- package/lib/components/Menu/menuAttributes.js +95 -0
- package/lib/components/SwitchField/SwitchField.js +14 -55
- package/lib/components/SwitchField/SwitchField.stories.js +2 -34
- package/lib/components/SwitchField/SwitchField.test.js +4 -5
- package/lib/components/SwitchField/switchFieldAttributes.js +182 -0
- package/lib/experimental/StyledListItem/StyledListItem.js +146 -0
- package/lib/experimental/StyledListItem/StyledListItem.stories.js +140 -0
- package/lib/experimental/StyledListItem/StyledListItem.test.js +74 -0
- package/lib/experimental/StyledListItem/controls/ListItemEditButton.js +25 -0
- package/lib/experimental/StyledListItem/controls/ListItemEditButton.stories.js +21 -0
- package/lib/experimental/StyledListItem/controls/ListItemEditButton.test.js +22 -0
- package/lib/experimental/StyledListItem/controls/ListItemMenu.js +28 -0
- package/lib/experimental/StyledListItem/controls/ListItemMenu.stories.js +26 -0
- package/lib/experimental/StyledListItem/controls/ListItemMenu.test.js +56 -0
- package/lib/experimental/StyledListItem/controls/ListItemSwitchField.js +23 -0
- package/lib/experimental/StyledListItem/controls/ListItemSwitchField.stories.js +32 -0
- package/lib/experimental/StyledListItem/controls/ListItemSwitchField.test.js +22 -0
- package/lib/experimental/StyledListItem/styledListItemAttributes.js +72 -0
- package/lib/experimental/recipes/ListAndPanel.stories.js +353 -0
- package/lib/experimental/recipes/ScrollableListView.stories.js +93 -0
- package/lib/experimental/recipes/items.js +117 -0
- package/lib/index.js +7 -1
- package/lib/utils/docUtils/ariaAttributes.js +1 -1
- package/lib/utils/docUtils/docArgTypes.js +29 -0
- package/lib/utils/docUtils/hoverProps.js +7 -2
- package/package.json +1 -1
package/lib/cjs/index.js
CHANGED
@@ -109,7 +109,11 @@ var _exportNames = {
|
|
109
109
|
DataTableCell: true,
|
110
110
|
DataTableColumn: true,
|
111
111
|
DataTableHeader: true,
|
112
|
-
DataTableRow: true
|
112
|
+
DataTableRow: true,
|
113
|
+
ListItemEditButton: true,
|
114
|
+
ListItemMenu: true,
|
115
|
+
ListItemSwitchField: true,
|
116
|
+
StyledListItem: true
|
113
117
|
};
|
114
118
|
_Object$defineProperty(exports, "AccordionGridGroup", {
|
115
119
|
enumerable: true,
|
@@ -417,6 +421,24 @@ _Object$defineProperty(exports, "ListItem", {
|
|
417
421
|
return _ListItem["default"];
|
418
422
|
}
|
419
423
|
});
|
424
|
+
_Object$defineProperty(exports, "ListItemEditButton", {
|
425
|
+
enumerable: true,
|
426
|
+
get: function get() {
|
427
|
+
return _ListItemEditButton["default"];
|
428
|
+
}
|
429
|
+
});
|
430
|
+
_Object$defineProperty(exports, "ListItemMenu", {
|
431
|
+
enumerable: true,
|
432
|
+
get: function get() {
|
433
|
+
return _ListItemMenu["default"];
|
434
|
+
}
|
435
|
+
});
|
436
|
+
_Object$defineProperty(exports, "ListItemSwitchField", {
|
437
|
+
enumerable: true,
|
438
|
+
get: function get() {
|
439
|
+
return _ListItemSwitchField["default"];
|
440
|
+
}
|
441
|
+
});
|
420
442
|
_Object$defineProperty(exports, "ListView", {
|
421
443
|
enumerable: true,
|
422
444
|
get: function get() {
|
@@ -585,6 +607,12 @@ _Object$defineProperty(exports, "Stepper", {
|
|
585
607
|
return _Stepper["default"];
|
586
608
|
}
|
587
609
|
});
|
610
|
+
_Object$defineProperty(exports, "StyledListItem", {
|
611
|
+
enumerable: true,
|
612
|
+
get: function get() {
|
613
|
+
return _StyledListItem["default"];
|
614
|
+
}
|
615
|
+
});
|
588
616
|
_Object$defineProperty(exports, "Switch", {
|
589
617
|
enumerable: true,
|
590
618
|
get: function get() {
|
@@ -1589,5 +1617,9 @@ _forEachInstanceProperty(_context73 = _Object$keys(_DataTable)).call(_context73,
|
|
1589
1617
|
});
|
1590
1618
|
var _reactAria = require("react-aria");
|
1591
1619
|
var _reactStately = require("react-stately");
|
1620
|
+
var _ListItemEditButton = _interopRequireDefault(require("./experimental/StyledListItem/controls/ListItemEditButton"));
|
1621
|
+
var _ListItemMenu = _interopRequireDefault(require("./experimental/StyledListItem/controls/ListItemMenu"));
|
1622
|
+
var _ListItemSwitchField = _interopRequireDefault(require("./experimental/StyledListItem/controls/ListItemSwitchField"));
|
1623
|
+
var _StyledListItem = _interopRequireDefault(require("./experimental/StyledListItem/StyledListItem"));
|
1592
1624
|
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); }
|
1593
1625
|
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; }
|
@@ -12,7 +12,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
12
12
|
_Object$defineProperty(exports, "__esModule", {
|
13
13
|
value: true
|
14
14
|
});
|
15
|
-
exports.getAriaAttributeProps = exports.ariaAttributesBasePropTypes = exports.ariaAttributeBaseDocSettings = exports.ariaAttributeBaseArgTypes = void 0;
|
15
|
+
exports.getAriaAttributeProps = exports.descriptions = exports.ariaAttributesBasePropTypes = exports.ariaAttributeBaseDocSettings = exports.ariaAttributeBaseArgTypes = void 0;
|
16
16
|
var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
|
17
17
|
var _entries = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/entries"));
|
18
18
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
@@ -30,6 +30,7 @@ var descriptions = {
|
|
30
30
|
ariaLabel: 'Defines a string value that labels the current element.',
|
31
31
|
ariaLabelledby: 'Identifies the element (or elements) that labels the current element.'
|
32
32
|
};
|
33
|
+
exports.descriptions = descriptions;
|
33
34
|
var ariaAttributeBaseDocSettings = {
|
34
35
|
type: {
|
35
36
|
summary: 'string'
|
@@ -0,0 +1,41 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports.stringOrStringArray = exports.funcArg = exports.docArgTypes = exports.booleanArg = void 0;
|
9
|
+
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
10
|
+
var _context;
|
11
|
+
var docArgTypes = {
|
12
|
+
bool: 'boolean',
|
13
|
+
node: 'node',
|
14
|
+
string: 'string',
|
15
|
+
stringArray: 'string[]',
|
16
|
+
text: 'text',
|
17
|
+
func: 'func',
|
18
|
+
object: 'object'
|
19
|
+
};
|
20
|
+
exports.docArgTypes = docArgTypes;
|
21
|
+
var stringOrStringArray = (0, _concat["default"])(_context = "".concat(docArgTypes.string, " | ")).call(_context, docArgTypes.stringArray);
|
22
|
+
exports.stringOrStringArray = stringOrStringArray;
|
23
|
+
var booleanArg = {
|
24
|
+
control: {
|
25
|
+
type: docArgTypes.bool
|
26
|
+
},
|
27
|
+
defaultValue: false,
|
28
|
+
type: {
|
29
|
+
summary: docArgTypes.bool
|
30
|
+
}
|
31
|
+
};
|
32
|
+
exports.booleanArg = booleanArg;
|
33
|
+
var funcArg = {
|
34
|
+
control: {
|
35
|
+
type: null
|
36
|
+
},
|
37
|
+
type: {
|
38
|
+
summary: docArgTypes.func
|
39
|
+
}
|
40
|
+
};
|
41
|
+
exports.funcArg = funcArg;
|
@@ -18,6 +18,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
18
18
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
19
19
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
20
20
|
var descriptions = {
|
21
|
+
isHovered: 'If the item is hovered',
|
21
22
|
onHoverStart: 'Handler that is called when a hover interaction starts.',
|
22
23
|
onHoverEnd: 'Handler that is called when a hover interaction ends.',
|
23
24
|
onHoverChange: 'Handler that is called when the hover state changes.'
|
@@ -35,6 +36,9 @@ var baseDocSettings = {
|
|
35
36
|
};
|
36
37
|
exports.baseDocSettings = baseDocSettings;
|
37
38
|
var onHoverArgTypes = {
|
39
|
+
isHovered: _objectSpread({
|
40
|
+
description: descriptions.isHovered
|
41
|
+
}, baseDocSettings),
|
38
42
|
'onHoverStart': _objectSpread({
|
39
43
|
description: descriptions.onHoverStart
|
40
44
|
}, baseDocSettings),
|
@@ -47,8 +51,9 @@ var onHoverArgTypes = {
|
|
47
51
|
};
|
48
52
|
exports.onHoverArgTypes = onHoverArgTypes;
|
49
53
|
var onHoverPropTypes = {
|
50
|
-
|
54
|
+
isHovered: _propTypes["default"].bool,
|
55
|
+
onHoverChange: _propTypes["default"].func,
|
51
56
|
onHoverEnd: _propTypes["default"].func,
|
52
|
-
|
57
|
+
onHoverStart: _propTypes["default"].func
|
53
58
|
};
|
54
59
|
exports.onHoverPropTypes = onHoverPropTypes;
|
@@ -15,11 +15,11 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
15
15
|
import React, { forwardRef, useContext, useImperativeHandle, useRef } from 'react';
|
16
16
|
import { mergeProps, useButton, useFocusRing } from 'react-aria';
|
17
17
|
import { Pressable, useHover, usePress } from '@react-aria/interactions';
|
18
|
-
import PropTypes from 'prop-types';
|
19
18
|
import { IconButton as ThemeUIIconButton } from 'theme-ui';
|
20
19
|
import { BadgeContext } from '../../context/BadgeContext';
|
21
20
|
import { useAriaLabelWarning, useStatusClasses } from '../../hooks';
|
22
21
|
import TooltipTrigger, { Tooltip } from '../TooltipTrigger';
|
22
|
+
import { iconButtonPropTypes } from './iconButtonAttributes';
|
23
23
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
24
24
|
var IconButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
25
25
|
var children = props.children,
|
@@ -81,43 +81,7 @@ var IconButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
81
81
|
}
|
82
82
|
return button;
|
83
83
|
});
|
84
|
-
IconButton.propTypes =
|
85
|
-
/** Styling to apply to the IconButton. */
|
86
|
-
variant: PropTypes.string,
|
87
|
-
/** Defines a string value that labels the current element. */
|
88
|
-
'aria-label': PropTypes.string,
|
89
|
-
/** Content will be displayed in a tooltip on hover or focus. */
|
90
|
-
title: PropTypes.string,
|
91
|
-
/**
|
92
|
-
* Handler that is called when the press is released over the target.
|
93
|
-
* (e: PressEvent) => void
|
94
|
-
*/
|
95
|
-
onPress: PropTypes.func,
|
96
|
-
/**
|
97
|
-
* Handler that is called when a press interaction starts.
|
98
|
-
* (e: PressEvent) => void
|
99
|
-
*/
|
100
|
-
onPressStart: PropTypes.func,
|
101
|
-
/**
|
102
|
-
* Handler that is called when a press interaction ends, either over the target or when the
|
103
|
-
* pointer leaves the target.
|
104
|
-
* (e: PressEvent) => void
|
105
|
-
*/
|
106
|
-
onPressEnd: PropTypes.func,
|
107
|
-
/**
|
108
|
-
* Handler that is called when the press state changes.
|
109
|
-
* (isPressed: boolean) => void
|
110
|
-
*/
|
111
|
-
onPressChange: PropTypes.func,
|
112
|
-
/**
|
113
|
-
* Handler that is called when a press is released over the target, regardless of whether it
|
114
|
-
* started on the target or not.
|
115
|
-
* (e: PressEvent) => void
|
116
|
-
*/
|
117
|
-
onPressUp: PropTypes.func,
|
118
|
-
/** Whether the icon is disabled. */
|
119
|
-
isDisabled: PropTypes.bool
|
120
|
-
};
|
84
|
+
IconButton.propTypes = iconButtonPropTypes;
|
121
85
|
IconButton.defaultProps = {
|
122
86
|
variant: 'base',
|
123
87
|
isDisabled: false
|
@@ -10,6 +10,7 @@ import DocsLayout from '../../../.storybook/storybookDocsLayout';
|
|
10
10
|
import { Box, Icon, IconButton, Table, TableBody, TableCell, TableHead, TableRow, Text } from '../../index';
|
11
11
|
import { FIGMA_LINKS } from '../../utils/designUtils/figmaLinks.js';
|
12
12
|
import IconButtonReadme from './IconButton.mdx';
|
13
|
+
import { iconButtonArgTypes } from './iconButtonAttributes';
|
13
14
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
14
15
|
export default {
|
15
16
|
title: 'Components/IconButton',
|
@@ -25,40 +26,7 @@ export default {
|
|
25
26
|
}
|
26
27
|
}
|
27
28
|
},
|
28
|
-
argTypes:
|
29
|
-
icon: {
|
30
|
-
control: {
|
31
|
-
type: 'none'
|
32
|
-
},
|
33
|
-
defaultValue: CreateIcon,
|
34
|
-
description: 'The icon to render. List of icons at https://materialdesignicons.com/'
|
35
|
-
},
|
36
|
-
title: {
|
37
|
-
control: {
|
38
|
-
type: 'text'
|
39
|
-
}
|
40
|
-
},
|
41
|
-
'aria-label': {
|
42
|
-
control: {
|
43
|
-
type: 'text'
|
44
|
-
}
|
45
|
-
},
|
46
|
-
isDisabled: {},
|
47
|
-
variant: {
|
48
|
-
control: {
|
49
|
-
type: 'select',
|
50
|
-
options: ['base', 'inverted', 'invertedSquare', 'square']
|
51
|
-
},
|
52
|
-
defaultValue: 'base'
|
53
|
-
},
|
54
|
-
size: {
|
55
|
-
control: {
|
56
|
-
type: 'select',
|
57
|
-
options: ['xs', 'sm', 'md']
|
58
|
-
},
|
59
|
-
defaultValue: 'sm'
|
60
|
-
}
|
61
|
-
}
|
29
|
+
argTypes: iconButtonArgTypes
|
62
30
|
};
|
63
31
|
export var Default = function Default(args) {
|
64
32
|
return ___EmotionJSX(IconButton, _extends({
|
@@ -0,0 +1,91 @@
|
|
1
|
+
import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
|
2
|
+
import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
|
3
|
+
import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
|
4
|
+
import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
|
5
|
+
import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
|
6
|
+
import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
|
7
|
+
import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
|
8
|
+
import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
|
9
|
+
import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
|
10
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
11
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
12
|
+
import CreateIcon from '@pingux/mdi-react/CreateIcon';
|
13
|
+
import PropTypes from 'prop-types';
|
14
|
+
import { descriptions as ariaDescriptions } from '../../utils/docUtils/ariaAttributes';
|
15
|
+
import { booleanArg, funcArg } from '../../utils/docUtils/docArgTypes';
|
16
|
+
var descriptions = {
|
17
|
+
icon: 'The icon to render. List of icons at https://materialdesignicons.com/',
|
18
|
+
isDisabled: 'Whether the icon is disabled.',
|
19
|
+
onPress: 'Handler that is called when the press is released over the target. (e: PressEvent) => void',
|
20
|
+
onPressChange: 'Handler that is called when the press state changes. (isPressed: boolean) => void',
|
21
|
+
onPressEnd: 'Handler that is called when a press interaction ends, either over the target or when the pointer leaves the target. (e: PressEvent) => void',
|
22
|
+
onPressStart: 'Handler that is called when a press interaction starts. (e: PressEvent) => void',
|
23
|
+
onPressUp: 'Handler that is called when a press is released over the target, regardless of whether it started on the target or not. (e: PressEvent) => void',
|
24
|
+
title: 'Content will be displayed in a tooltip on hover or focus.',
|
25
|
+
variant: 'Styling to apply to the IconButton.'
|
26
|
+
};
|
27
|
+
export var iconButtonArgTypes = {
|
28
|
+
icon: {
|
29
|
+
control: {
|
30
|
+
type: 'none'
|
31
|
+
},
|
32
|
+
defaultValue: CreateIcon,
|
33
|
+
description: descriptions.icon
|
34
|
+
},
|
35
|
+
title: {
|
36
|
+
control: {
|
37
|
+
type: 'text'
|
38
|
+
},
|
39
|
+
description: descriptions.title
|
40
|
+
},
|
41
|
+
'aria-label': {
|
42
|
+
control: {
|
43
|
+
type: 'text'
|
44
|
+
},
|
45
|
+
description: ariaDescriptions.ariaLabel
|
46
|
+
},
|
47
|
+
isDisabled: _objectSpread({
|
48
|
+
description: descriptions.isDisabled
|
49
|
+
}, booleanArg),
|
50
|
+
variant: {
|
51
|
+
control: {
|
52
|
+
type: 'select',
|
53
|
+
options: ['base', 'inverted', 'invertedSquare', 'square']
|
54
|
+
},
|
55
|
+
defaultValue: 'base',
|
56
|
+
description: descriptions.variant
|
57
|
+
},
|
58
|
+
size: {
|
59
|
+
control: {
|
60
|
+
type: 'select',
|
61
|
+
options: ['xs', 'sm', 'md']
|
62
|
+
},
|
63
|
+
defaultValue: 'sm'
|
64
|
+
},
|
65
|
+
onPress: _objectSpread({
|
66
|
+
description: descriptions.onPress
|
67
|
+
}, funcArg),
|
68
|
+
onPressStart: _objectSpread({
|
69
|
+
description: descriptions.onPressStart
|
70
|
+
}, funcArg),
|
71
|
+
onPressEnd: _objectSpread({
|
72
|
+
description: descriptions.onPressEnd
|
73
|
+
}, funcArg),
|
74
|
+
onPressChange: _objectSpread({
|
75
|
+
description: descriptions.onPressChange
|
76
|
+
}, funcArg),
|
77
|
+
onPressUp: _objectSpread({
|
78
|
+
description: descriptions.onPressUp
|
79
|
+
}, funcArg)
|
80
|
+
};
|
81
|
+
export var iconButtonPropTypes = {
|
82
|
+
variant: PropTypes.string,
|
83
|
+
'aria-label': PropTypes.string,
|
84
|
+
title: PropTypes.string,
|
85
|
+
onPress: PropTypes.func,
|
86
|
+
onPressStart: PropTypes.func,
|
87
|
+
onPressEnd: PropTypes.func,
|
88
|
+
onPressChange: PropTypes.func,
|
89
|
+
onPressUp: PropTypes.func,
|
90
|
+
isDisabled: PropTypes.bool
|
91
|
+
};
|
@@ -89,6 +89,7 @@ var ImageUploadField = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
89
89
|
role: "button"
|
90
90
|
}, removeItemText))), ___EmotionJSX(VisuallyHidden, {
|
91
91
|
"aria-live": "polite",
|
92
|
+
"aria-hidden": "true",
|
92
93
|
role: state.isMenuOpen ? 'button' : 'status',
|
93
94
|
id: statusId
|
94
95
|
}, state.isMenuOpen && 'Menu pop up expanded'));
|
@@ -53,15 +53,6 @@ export function useListLayout(state) {
|
|
53
53
|
layout.disabledKeys = state.disabledKeys;
|
54
54
|
return layout;
|
55
55
|
}
|
56
|
-
|
57
|
-
/**
|
58
|
-
* NOTE: be careful with putting focusable elements inside ListView.
|
59
|
-
* It is using a grid (useList hook) with its own event listeners under the hood.
|
60
|
-
* [react-specttrum-github-issue](https://github.com/adobe/react-spectrum/issues/2801)
|
61
|
-
* If you decided to add a focusable element inside ListView,
|
62
|
-
* you should stop bubbling of a pointerDown event and put a focus on the element.
|
63
|
-
*/
|
64
|
-
|
65
56
|
var ListView = /*#__PURE__*/forwardRef(function (props, ref) {
|
66
57
|
var disabledKeys = props.disabledKeys,
|
67
58
|
_props$isHoverable = props.isHoverable,
|
@@ -15,21 +15,18 @@ import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
|
|
15
15
|
import _setTimeout from "@babel/runtime-corejs3/core-js-stable/set-timeout";
|
16
16
|
import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
|
17
17
|
import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
|
18
|
-
/* eslint-disable react/prop-types */
|
19
18
|
import React from 'react';
|
20
19
|
import { Item, useAsyncList } from 'react-stately';
|
21
|
-
import CreateIcon from '@pingux/mdi-react/CreateIcon';
|
22
20
|
import FormSelectIcon from '@pingux/mdi-react/FormSelectIcon';
|
23
|
-
import MoreVertIcon from '@pingux/mdi-react/MoreVertIcon';
|
24
21
|
import { action } from '@storybook/addon-actions';
|
25
22
|
import isChromatic from 'chromatic/isChromatic';
|
26
23
|
import DocsLayout from '../../../.storybook/storybookDocsLayout';
|
27
|
-
import { Box,
|
24
|
+
import { Box, ListItemMenu, ListItemSwitchField, ListView, StyledListItem } from '../../index';
|
28
25
|
import loadingStates from '../../utils/devUtils/constants/loadingStates';
|
29
26
|
import ListViewReadme from './ListView.mdx';
|
30
27
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
31
28
|
export default {
|
32
|
-
title: '
|
29
|
+
title: 'Experimental/ListView',
|
33
30
|
component: ListView,
|
34
31
|
parameters: {
|
35
32
|
docs: {
|
@@ -536,44 +533,18 @@ var actions = {
|
|
536
533
|
};
|
537
534
|
var ListElement = function ListElement(_ref) {
|
538
535
|
var item = _ref.item;
|
539
|
-
return ___EmotionJSX(
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
mr: "auto",
|
544
|
-
alignSelf: "center"
|
545
|
-
}, ___EmotionJSX(Icon, {
|
546
|
-
icon: FormSelectIcon,
|
547
|
-
mr: "sm",
|
548
|
-
color: "accent.40",
|
549
|
-
size: "md",
|
550
|
-
title: {
|
551
|
-
name: 'Form Select Icon'
|
552
|
-
}
|
553
|
-
}), ___EmotionJSX(Text, {
|
554
|
-
variant: "itemTitle",
|
555
|
-
alignSelf: "center"
|
556
|
-
}, item.name)), ___EmotionJSX(Box, {
|
557
|
-
isRow: true,
|
558
|
-
alignSelf: "center",
|
559
|
-
gap: "sm"
|
560
|
-
}, ___EmotionJSX(IconButton, {
|
561
|
-
"aria-label": "create-icon"
|
562
|
-
}, ___EmotionJSX(Icon, {
|
563
|
-
icon: CreateIcon,
|
564
|
-
size: "sm",
|
565
|
-
title: {
|
566
|
-
name: 'Create Icon'
|
567
|
-
}
|
568
|
-
})), ___EmotionJSX(IconButton, {
|
569
|
-
"aria-label": "actions-icon"
|
570
|
-
}, ___EmotionJSX(Icon, {
|
571
|
-
icon: MoreVertIcon,
|
572
|
-
size: "sm",
|
573
|
-
title: {
|
574
|
-
name: 'More Vertical Icon'
|
536
|
+
return ___EmotionJSX(StyledListItem, {
|
537
|
+
details: {
|
538
|
+
text: item.name,
|
539
|
+
icon: FormSelectIcon
|
575
540
|
}
|
576
|
-
})
|
541
|
+
}, ___EmotionJSX(ListItemSwitchField, null), ___EmotionJSX(ListItemMenu, null, ___EmotionJSX(Item, {
|
542
|
+
key: "enable"
|
543
|
+
}, "Enable user"), ___EmotionJSX(Item, {
|
544
|
+
key: "disable"
|
545
|
+
}, "Disable user"), ___EmotionJSX(Item, {
|
546
|
+
key: "delete"
|
547
|
+
}, "Delete user")));
|
577
548
|
};
|
578
549
|
export var Default = function Default(_ref2) {
|
579
550
|
var args = _extends({}, (_objectDestructuringEmpty(_ref2), _ref2));
|
@@ -581,48 +552,24 @@ export var Default = function Default(_ref2) {
|
|
581
552
|
items: items
|
582
553
|
}), function (item) {
|
583
554
|
return ___EmotionJSX(Item, {
|
555
|
+
"data-id": item.key,
|
584
556
|
key: item.name,
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
}, ___EmotionJSX(
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
}, ___EmotionJSX(Icon, {
|
594
|
-
icon: FormSelectIcon,
|
595
|
-
mr: "sm",
|
596
|
-
color: "accent.40",
|
597
|
-
size: "md",
|
598
|
-
title: {
|
599
|
-
name: 'Form Select Icon'
|
600
|
-
}
|
601
|
-
}), ___EmotionJSX(Text, {
|
602
|
-
variant: "itemTitle",
|
603
|
-
alignSelf: "center"
|
604
|
-
}, item.name)), ___EmotionJSX(Box, {
|
605
|
-
isRow: true,
|
606
|
-
alignSelf: "center",
|
607
|
-
gap: "sm"
|
608
|
-
}, ___EmotionJSX(IconButton, {
|
609
|
-
"aria-label": "create-icon"
|
610
|
-
}, ___EmotionJSX(Icon, {
|
611
|
-
icon: CreateIcon,
|
612
|
-
size: "sm",
|
613
|
-
title: {
|
614
|
-
name: 'Create Icon'
|
615
|
-
}
|
616
|
-
})), ___EmotionJSX(IconButton, {
|
617
|
-
"aria-label": "actions-icon",
|
618
|
-
size: "sm"
|
619
|
-
}, ___EmotionJSX(Icon, {
|
620
|
-
icon: MoreVertIcon,
|
621
|
-
size: "sm",
|
622
|
-
title: {
|
623
|
-
name: 'More Vertical Icon'
|
557
|
+
listItemProps: {
|
558
|
+
variant: 'listViewItem.styledListItem'
|
559
|
+
},
|
560
|
+
textValue: item.name
|
561
|
+
}, ___EmotionJSX(StyledListItem, {
|
562
|
+
details: {
|
563
|
+
text: item.name,
|
564
|
+
icon: FormSelectIcon
|
624
565
|
}
|
625
|
-
})
|
566
|
+
}, ___EmotionJSX(ListItemSwitchField, null), ___EmotionJSX(ListItemMenu, null, ___EmotionJSX(Item, {
|
567
|
+
key: "enable"
|
568
|
+
}, "Enable user"), ___EmotionJSX(Item, {
|
569
|
+
key: "disable"
|
570
|
+
}, "Disable user"), ___EmotionJSX(Item, {
|
571
|
+
key: "delete"
|
572
|
+
}, "Delete user"))));
|
626
573
|
});
|
627
574
|
};
|
628
575
|
export var InfiniteLoadingList = function InfiniteLoadingList(args) {
|
@@ -762,6 +709,9 @@ export var InfiniteLoadingList = function InfiniteLoadingList(args) {
|
|
762
709
|
}), function (item) {
|
763
710
|
return ___EmotionJSX(Item, {
|
764
711
|
key: item.name,
|
712
|
+
listItemProps: {
|
713
|
+
variant: 'listViewItem.styledListItem'
|
714
|
+
},
|
765
715
|
textValue: item.name
|
766
716
|
}, ___EmotionJSX(ListElement, {
|
767
717
|
item: item
|
@@ -786,6 +736,9 @@ export var MultipleSelection = function MultipleSelection(_ref6) {
|
|
786
736
|
}), function (item) {
|
787
737
|
return ___EmotionJSX(Item, {
|
788
738
|
key: item.name,
|
739
|
+
listItemProps: {
|
740
|
+
variant: 'listViewItem.styledListItem'
|
741
|
+
},
|
789
742
|
textValue: item.name
|
790
743
|
}, ___EmotionJSX(ListElement, {
|
791
744
|
item: item
|
@@ -35,6 +35,10 @@ var container = {
|
|
35
35
|
borderBottomColor: 'line.light'
|
36
36
|
}
|
37
37
|
};
|
38
|
+
var styledListItem = _objectSpread(_objectSpread({}, container), {}, {
|
39
|
+
padding: 0,
|
40
|
+
minHeight: 0
|
41
|
+
});
|
38
42
|
var linkedViewContainer = _objectSpread(_objectSpread({}, container), {}, {
|
39
43
|
minHeight: '75px',
|
40
44
|
height: '76px',
|
@@ -66,5 +70,6 @@ var linkedViewContainer = _objectSpread(_objectSpread({}, container), {}, {
|
|
66
70
|
});
|
67
71
|
export default {
|
68
72
|
container: container,
|
69
|
-
linkedViewContainer: linkedViewContainer
|
73
|
+
linkedViewContainer: linkedViewContainer,
|
74
|
+
styledListItem: styledListItem
|
70
75
|
};
|
@@ -9,7 +9,7 @@ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object
|
|
9
9
|
import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
|
10
10
|
import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
|
11
11
|
import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
|
12
|
-
var _excluded = ["isDisabled", "isNotFocusedOnHover", "onAction", "onHoverChange", "onHoverEnd", "onHoverStart", "onSelectionChange"];
|
12
|
+
var _excluded = ["isDisabled", "isNotFocusedOnHover", "onAction", "onHoverChange", "onHoverEnd", "onHoverStart", "onSelectionChange", "selectionMode"];
|
13
13
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
14
14
|
import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
|
15
15
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
@@ -19,23 +19,25 @@ import { mergeProps, useFocusRing, useMenu } from 'react-aria';
|
|
19
19
|
import { useTreeState } from 'react-stately';
|
20
20
|
import { useHover } from '@react-aria/interactions';
|
21
21
|
import { useSyncRef } from '@react-aria/utils';
|
22
|
-
import PropTypes from 'prop-types';
|
23
22
|
import { MenuContext } from '../../context/MenuContext';
|
24
23
|
import { usePropWarning } from '../../hooks';
|
25
24
|
import ORIENTATION from '../../utils/devUtils/constants/orientation';
|
26
|
-
import { onHoverPropTypes } from '../../utils/docUtils/hoverProps';
|
27
25
|
import Box from '../Box';
|
28
26
|
import MenuItem from '../MenuItem';
|
27
|
+
import { menuPropTypes } from './menuAttributes';
|
29
28
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
30
29
|
var Menu = /*#__PURE__*/forwardRef(function (props, ref) {
|
31
30
|
var _context;
|
32
|
-
var isDisabled = props.isDisabled,
|
31
|
+
var _props$isDisabled = props.isDisabled,
|
32
|
+
isDisabled = _props$isDisabled === void 0 ? false : _props$isDisabled,
|
33
33
|
isNotFocusedOnHover = props.isNotFocusedOnHover,
|
34
34
|
onAction = props.onAction,
|
35
35
|
onHoverChange = props.onHoverChange,
|
36
36
|
onHoverEnd = props.onHoverEnd,
|
37
37
|
onHoverStart = props.onHoverStart,
|
38
38
|
onSelectionChange = props.onSelectionChange,
|
39
|
+
_props$selectionMode = props.selectionMode,
|
40
|
+
selectionMode = _props$selectionMode === void 0 ? 'none' : _props$selectionMode,
|
39
41
|
others = _objectWithoutProperties(props, _excluded);
|
40
42
|
var contextProps = useContext(MenuContext);
|
41
43
|
var completeProps = _objectSpread({}, mergeProps(contextProps, props));
|
@@ -79,61 +81,6 @@ var Menu = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
79
81
|
});
|
80
82
|
}));
|
81
83
|
});
|
82
|
-
Menu.propTypes =
|
83
|
-
/** The type of selection that is allowed. */
|
84
|
-
selectionMode: PropTypes.oneOf(['none', 'single', 'multiple']),
|
85
|
-
/**
|
86
|
-
* The item keys that are disabled. These items cannot be selected, focused, or otherwise
|
87
|
-
* interacted with.
|
88
|
-
*/
|
89
|
-
disabledKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.object])),
|
90
|
-
/**
|
91
|
-
* The initial selected keys in the collection (uncontrolled).
|
92
|
-
*
|
93
|
-
* `defaultSelectedKeys="all"` can be used to select every key.
|
94
|
-
*/
|
95
|
-
defaultSelectedKeys: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
|
96
|
-
/**
|
97
|
-
* The currently selected keys in the collection (controlled).
|
98
|
-
*
|
99
|
-
* `selectedKeys="all"` can be used to select every key.
|
100
|
-
*/
|
101
|
-
selectedKeys: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
|
102
|
-
/** Whether the item is disabled. */
|
103
|
-
isDisabled: PropTypes.bool,
|
104
|
-
/** Whether the menu item is selected. */
|
105
|
-
isSelected: PropTypes.bool,
|
106
|
-
/**
|
107
|
-
* Whether menu item should receive focus state on hover.
|
108
|
-
*/
|
109
|
-
isNotFocusedOnHover: PropTypes.bool,
|
110
|
-
/**
|
111
|
-
* Handler that is called when an item is selected.
|
112
|
-
*
|
113
|
-
* `(key: Key) => void`
|
114
|
-
*/
|
115
|
-
onAction: PropTypes.func,
|
116
|
-
/**
|
117
|
-
* Handler that is called when the selection changes. Does not fire when `selectionMode="none"`.
|
118
|
-
*
|
119
|
-
* `(keys: Selection) => any`
|
120
|
-
*/
|
121
|
-
onSelectionChange: PropTypes.func,
|
122
|
-
/** A screen reader only label for the menu item. */
|
123
|
-
'aria-label': PropTypes.string,
|
124
|
-
/** Identifies the element (or elements) that labels the current element. */
|
125
|
-
'aria-labelledby': PropTypes.string,
|
126
|
-
/** Identifies the element (or elements) that describes the object. */
|
127
|
-
'aria-describedby': PropTypes.string,
|
128
|
-
/**
|
129
|
-
* Identifies the element (or elements) that provide a detailed,
|
130
|
-
* extended description for the object.
|
131
|
-
*/
|
132
|
-
'aria-details': PropTypes.string
|
133
|
-
}, onHoverPropTypes);
|
134
|
-
Menu.defaultProps = {
|
135
|
-
selectionMode: 'none',
|
136
|
-
isDisabled: false
|
137
|
-
};
|
84
|
+
Menu.propTypes = menuPropTypes;
|
138
85
|
Menu.displayName = 'Menu';
|
139
86
|
export default Menu;
|