@pingux/astro 2.20.0-alpha.8 → 2.20.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.
@@ -109,7 +109,10 @@ var ColorField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
109
109
  ref: triggerRef,
110
110
  variant: "forms.colorField.container"
111
111
  }, (0, _reactAria.mergeProps)(buttonProps, ariaProps, triggerProps))), (0, _react2.jsx)(_.Box, fieldControlWrapperProps, (0, _react2.jsx)(_.Input, (0, _extends2["default"])({}, visuallyHiddenProps, fieldControlInputProps, {
112
- ref: colorRef
112
+ ref: colorRef,
113
+ sx: {
114
+ display: 'none'
115
+ }
113
116
  }))), helperText && (0, _react2.jsx)(_.FieldHelperText, {
114
117
  status: status
115
118
  }, helperText), (0, _react2.jsx)(_PopoverContainer["default"], (0, _extends2["default"])({
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
6
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
9
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
10
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
11
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
12
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
13
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
14
+ _Object$defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ exports["default"] = exports.SectionOrItemRender = void 0;
18
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
19
+ var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
20
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
21
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
22
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
23
+ var _react = _interopRequireWildcard(require("react"));
24
+ var _reactStately = require("react-stately");
25
+ var _propTypes = _interopRequireDefault(require("prop-types"));
26
+ var _TreeViewContext = require("../../context/TreeViewContext");
27
+ var _index = require("../../index");
28
+ var _isIterable = require("../../utils/devUtils/props/isIterable");
29
+ var _react2 = require("@emotion/react");
30
+ var _excluded = ["tree", "onExpandedChange"]; // split out and exported for ease of use across components
31
+ // and to facilitate easier testing (eliminates redundant conditional renders)
32
+ 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); }
33
+ 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; }
34
+ 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; }
35
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
36
+ var SectionOrItemRender = function SectionOrItemRender(condition, SectionComponent, ItemComponent) {
37
+ if (condition) {
38
+ return SectionComponent;
39
+ }
40
+ return ItemComponent;
41
+ };
42
+ exports.SectionOrItemRender = SectionOrItemRender;
43
+ var TreeView = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
44
+ var _labelRef$current, _context;
45
+ var tree = props.tree,
46
+ onExpandedChange = props.onExpandedChange,
47
+ others = (0, _objectWithoutProperties2["default"])(props, _excluded);
48
+ var labelRef = (0, _react.useRef)();
49
+ var treeViewRef = (0, _react.useRef)();
50
+ /* istanbul ignore next */
51
+ (0, _react.useImperativeHandle)(ref, function () {
52
+ return treeViewRef.current;
53
+ });
54
+ var state = (0, _reactStately.useTreeState)(_objectSpread({
55
+ onExpandedChange: onExpandedChange
56
+ }, others));
57
+ return (0, _react2.jsx)(_TreeViewContext.TreeViewContext.Provider, {
58
+ value: {
59
+ state: state,
60
+ tree: tree
61
+ }
62
+ }, (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
63
+ as: "ul",
64
+ role: "tree",
65
+ ref: treeViewRef,
66
+ "aria-labelledby": labelRef === null || labelRef === void 0 || (_labelRef$current = labelRef.current) === null || _labelRef$current === void 0 ? void 0 : _labelRef$current.id,
67
+ sx: {
68
+ overflow: 'hidden'
69
+ }
70
+ }, others), (0, _map["default"])(_context = (0, _from["default"])(state.collection)).call(_context, function (item) {
71
+ return SectionOrItemRender(item.type === 'section', (0, _react2.jsx)(_index.TreeViewSection, {
72
+ item: item,
73
+ items: item.props.items,
74
+ title: item.props.title,
75
+ key: item.props.title
76
+ }), (0, _react2.jsx)(_index.TreeViewItem, {
77
+ item: item,
78
+ title: item.value.value.title,
79
+ key: item.value.value.title
80
+ }));
81
+ })));
82
+ });
83
+ TreeView.defaultProps = {
84
+ 'aria-label': 'tree'
85
+ };
86
+ TreeView.propTypes = {
87
+ /** data object prop that is required to make the tree function
88
+ this is returned from the useTreeData hook in React-Aria */
89
+ tree: _propTypes["default"].shape({}).isRequired,
90
+ /** The currently disabled keys in the collection. */
91
+ disabledKeys: _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object])),
92
+ /** Callback function that is called when items are expanded or collapsed. */
93
+ onExpandedChange: _propTypes["default"].func,
94
+ /** The list of TreeView items. */
95
+ items: _isIterable.isIterableProp,
96
+ /** String that describes the treeview when using a screen reader. */
97
+ 'aria-label': _propTypes["default"].string
98
+ };
99
+ var _default = TreeView;
100
+ exports["default"] = _default;
@@ -0,0 +1,16 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+
3
+ <Meta title="Experimental/TreeView/TreeView" />
4
+
5
+ # TreeView
6
+
7
+ The TreeView component represents a nested structure of data.
8
+
9
+ ### Required components
10
+
11
+ This component requires the the use of Item and Section, both exported from [react-stately/collections](https://react-spectrum.adobe.com/react-stately/collections.html).
12
+ This component will also require the use of the [useTreeData](https://react-spectrum.adobe.com/react-stately/useTreeData.html) hook, which is exported through react-stately.
13
+
14
+ ### Accessibility
15
+
16
+ This component should adhere to the [WAI-ARIA TreeView](https://www.w3.org/WAI/ARIA/apg/patterns/treeview/) accessibility guidelines.
@@ -0,0 +1,89 @@
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["default"] = exports.Default = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
12
+ var _index = require("../../index");
13
+ var _TreeView = require("./TreeView");
14
+ var _TreeView2 = _interopRequireDefault(require("./TreeView.mdx"));
15
+ var _react2 = require("@emotion/react");
16
+ var _default = {
17
+ title: 'Experimental/TreeView',
18
+ component: _index.TreeView,
19
+ parameters: {
20
+ docs: {
21
+ page: function page() {
22
+ return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_TreeView2["default"], null), (0, _react2.jsx)(_storybookDocsLayout["default"], null));
23
+ },
24
+ source: {
25
+ type: 'code'
26
+ }
27
+ }
28
+ }
29
+ };
30
+ exports["default"] = _default;
31
+ var data = [{
32
+ title: 'Policies',
33
+ items: [{
34
+ title: 'Registration',
35
+ items: [{
36
+ title: 'Registration A'
37
+ }, {
38
+ title: 'Registration B',
39
+ items: [{
40
+ title: 'Registration B1'
41
+ }, {
42
+ title: 'Registration B2'
43
+ }]
44
+ }, {
45
+ title: 'Registration C'
46
+ }, {
47
+ title: 'Registration D'
48
+ }]
49
+ }, {
50
+ title: 'Authentication',
51
+ items: [{
52
+ title: 'Authentication A'
53
+ }, {
54
+ title: 'Authentication B'
55
+ }]
56
+ }]
57
+ }, {
58
+ title: 'Other',
59
+ items: [{
60
+ title: 'Other A'
61
+ }]
62
+ }, {
63
+ title: 'Single Item'
64
+ }];
65
+ var Default = function Default(args) {
66
+ var tree = (0, _index.useTreeData)({
67
+ initialItems: data,
68
+ getKey: function getKey(item) {
69
+ return item.title;
70
+ },
71
+ getChildren: function getChildren(item) {
72
+ return item.items;
73
+ }
74
+ });
75
+ return (0, _react2.jsx)(_index.TreeView, (0, _extends2["default"])({}, args, {
76
+ items: tree.items,
77
+ tree: tree
78
+ }), function (section) {
79
+ return (0, _TreeView.SectionOrItemRender)(section.children.length > 0, (0, _react2.jsx)(_index.Section, {
80
+ key: section.key,
81
+ items: section.children,
82
+ title: section.value.title
83
+ }), (0, _react2.jsx)(_index.Item, {
84
+ key: section.key,
85
+ title: section.title
86
+ }));
87
+ });
88
+ };
89
+ exports.Default = Default;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var treeRow = {
9
+ flexGrow: 1,
10
+ cursor: 'pointer',
11
+ height: '31px',
12
+ outline: 'none',
13
+ '&.is-selected, &.is-hovered, &.is-focused': {
14
+ backgroundColor: 'active',
15
+ '& span': {
16
+ color: 'white'
17
+ },
18
+ '& svg': {
19
+ fill: 'white'
20
+ },
21
+ '& button': {
22
+ fill: 'white'
23
+ }
24
+ },
25
+ '&.is-expanded': {
26
+ marginBottom: 'xs'
27
+ }
28
+ };
29
+ var _default = {
30
+ treeRow: treeRow
31
+ };
32
+ exports["default"] = _default;
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
5
+ var _react = _interopRequireDefault(require("react"));
6
+ var _reactStately = require("react-stately");
7
+ var _index = require("../../index");
8
+ var _testWrapper = require("../../utils/testUtils/testWrapper");
9
+ var _TreeView = require("./TreeView");
10
+ var _ = _interopRequireDefault(require("."));
11
+ var _react2 = require("@emotion/react");
12
+ var testId = 'test-TreeView';
13
+ var defaultProps = {
14
+ 'data-testid': testId
15
+ };
16
+ var data = [{
17
+ title: 'People',
18
+ items: [{
19
+ title: 'David',
20
+ customProp: 1
21
+ }, {
22
+ title: 'Sam'
23
+ }, {
24
+ title: 'Jane'
25
+ }]
26
+ }, {
27
+ title: 'Animals',
28
+ items: [{
29
+ title: 'Bears',
30
+ items: [{
31
+ title: 'Black Bear'
32
+ }, {
33
+ title: 'Brown Bear'
34
+ }]
35
+ }, {
36
+ title: 'Kangaroo'
37
+ }, {
38
+ title: 'Snake'
39
+ }]
40
+ }, {
41
+ title: 'Plant'
42
+ }];
43
+ var TreeViewComponent = function TreeViewComponent(props) {
44
+ var tree = (0, _reactStately.useTreeData)({
45
+ initialItems: data,
46
+ getKey: function getKey(item) {
47
+ return item.title;
48
+ },
49
+ getChildren: function getChildren(item) {
50
+ return item.items;
51
+ }
52
+ });
53
+ return (0, _react2.jsx)(_["default"], (0, _extends2["default"])({}, defaultProps, props, {
54
+ items: tree.items,
55
+ tree: tree
56
+ }), function (section) {
57
+ var _section$children;
58
+ return (0, _TreeView.SectionOrItemRender)(((_section$children = section.children) === null || _section$children === void 0 ? void 0 : _section$children.length) > 0, (0, _react2.jsx)(_index.Section, {
59
+ key: section.key,
60
+ items: section.children,
61
+ title: section.key,
62
+ customProp: {
63
+ testp: 1
64
+ }
65
+ }), (0, _react2.jsx)(_index.Item, {
66
+ key: section.key,
67
+ title: section.key
68
+ }));
69
+ });
70
+ };
71
+ test('Can select an Item using the mouse', function () {
72
+ (0, _testWrapper.render)((0, _react2.jsx)(TreeViewComponent, null));
73
+ var element = _testWrapper.screen.getByTestId(testId);
74
+ expect(element).toBeInTheDocument();
75
+ var peopleElement = _testWrapper.screen.getByText('People');
76
+ expect(peopleElement).not.toHaveClass('is-selected');
77
+ _testWrapper.fireEvent.click(peopleElement);
78
+ expect(peopleElement).toHaveClass('is-selected');
79
+ });
80
+ test('Renders both Sections and Items', function () {
81
+ (0, _testWrapper.render)((0, _react2.jsx)(TreeViewComponent, null));
82
+ var peopleElement = _testWrapper.screen.getByText('People');
83
+ expect(peopleElement).toBeInTheDocument();
84
+ var plantElement = _testWrapper.screen.getByText('Plant');
85
+ expect(plantElement).toBeInTheDocument();
86
+ var allListItems = _testWrapper.screen.getAllByRole('treeitem');
87
+ expect(allListItems).toHaveLength(3);
88
+ });
89
+ test('Can expand an Item using the mouse', function () {
90
+ (0, _testWrapper.render)((0, _react2.jsx)(TreeViewComponent, null));
91
+
92
+ // The children of collapsed sections will not
93
+ // be rendered by default.
94
+ expect(_testWrapper.screen.queryByText(data[0].items[0].title)).not.toBeInTheDocument();
95
+
96
+ // Clicking the dropdown icon, renders the children
97
+ // of the collapsed section.
98
+ var buttons = _testWrapper.screen.queryAllByRole('button');
99
+ _testWrapper.fireEvent.click(buttons[0]);
100
+ expect(_testWrapper.screen.queryByText(data[0].items[0].title)).toBeInTheDocument();
101
+ });
102
+ test('onExpandedChange change prop calls when used', function () {
103
+ var onPress = jest.fn();
104
+ (0, _testWrapper.render)((0, _react2.jsx)(TreeViewComponent, {
105
+ onExpandedChange: onPress
106
+ }));
107
+ expect(onPress).not.toHaveBeenCalled();
108
+ var buttons = _testWrapper.screen.queryAllByRole('button');
109
+ _testWrapper.fireEvent.click(buttons[0]);
110
+ expect(onPress).toHaveBeenCalled();
111
+ });
112
+ test('disabledKeys prop disables items in the tree -- rendering them unclickable', function () {
113
+ (0, _testWrapper.render)((0, _react2.jsx)(TreeViewComponent, {
114
+ disabledKeys: ['Plant']
115
+ }));
116
+ var listItems = _testWrapper.screen.getAllByRole('treeitem');
117
+ var thisItem = listItems[2];
118
+ expect(thisItem).not.toHaveClass('is-selected');
119
+ expect(thisItem).toHaveAttribute('aria-disabled', 'true');
120
+ _testWrapper.fireEvent.mouseDown(thisItem);
121
+ _testWrapper.fireEvent.mouseUp(thisItem);
122
+ expect(thisItem).not.toHaveClass('is-selected');
123
+ expect(thisItem).toHaveAttribute('aria-selected', 'false');
124
+ });
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
7
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
8
+ _Object$defineProperty(exports, "__esModule", {
9
+ value: true
10
+ });
11
+ exports["default"] = void 0;
12
+ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
13
+ var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _FileIcon = _interopRequireDefault(require("@pingux/mdi-react/FileIcon"));
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+ var _TreeViewContext = require("../../context/TreeViewContext");
18
+ var _index = require("../../index");
19
+ var _TreeViewRow = _interopRequireDefault(require("./TreeViewRow"));
20
+ var _react2 = require("@emotion/react");
21
+ 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); }
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
+ var TreeViewItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
24
+ var _context, _context2, _context3;
25
+ var item = props.item,
26
+ title = props.title;
27
+ var treeItemRef = (0, _react.useRef)();
28
+ /* istanbul ignore next */
29
+ (0, _react.useImperativeHandle)(ref, function () {
30
+ return treeItemRef.current;
31
+ });
32
+ var _useTreeViewContext = (0, _TreeViewContext.useTreeViewContext)(),
33
+ state = _useTreeViewContext.state,
34
+ tree = _useTreeViewContext.tree;
35
+ var isExpanded = (0, _includes["default"])(_context = (0, _from["default"])(state.expandedKeys)).call(_context, item.key);
36
+ var isSelected = (0, _includes["default"])(_context2 = (0, _from["default"])(tree.selectedKeys)).call(_context2, item.key);
37
+ var isDisabled = (0, _includes["default"])(_context3 = (0, _from["default"])(state.disabledKeys)).call(_context3, item.key);
38
+
39
+ // this component may seem unnecessary, but it will be where the
40
+ // useOption and dragAndDrop stuff will go
41
+ // this comment will be removed at that time.
42
+
43
+ return (0, _react2.jsx)(_index.Box, {
44
+ as: "li",
45
+ isRow: true,
46
+ ref: treeItemRef,
47
+ role: "treeitem",
48
+ "aria-selected": isSelected,
49
+ "aria-disabled": isDisabled,
50
+ sx: {
51
+ width: '100%',
52
+ ml: '36px',
53
+ ':not(:last-child)': {
54
+ pb: 'sm'
55
+ }
56
+ }
57
+ }, (0, _react2.jsx)(_TreeViewRow["default"], {
58
+ item: item,
59
+ title: title,
60
+ mainIcon: _FileIcon["default"],
61
+ isSelected: isSelected,
62
+ isExpanded: isExpanded,
63
+ isDisabled: isDisabled
64
+ }));
65
+ });
66
+ TreeViewItem.propTypes = {
67
+ item: _propTypes["default"].shape({
68
+ key: _propTypes["default"].string
69
+ }),
70
+ name: _propTypes["default"].string,
71
+ title: _propTypes["default"].string
72
+ };
73
+ var _default = TreeViewItem;
74
+ exports["default"] = _default;
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
6
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
9
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
10
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
11
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
12
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
13
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
14
+ _Object$defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ exports["default"] = void 0;
18
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
20
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
21
+ var _react = _interopRequireWildcard(require("react"));
22
+ var _FolderIcon = _interopRequireDefault(require("@pingux/mdi-react/FolderIcon"));
23
+ var _LockIcon = _interopRequireDefault(require("@pingux/mdi-react/LockIcon"));
24
+ var _MenuDownIcon = _interopRequireDefault(require("@pingux/mdi-react/MenuDownIcon"));
25
+ var _MenuRightIcon = _interopRequireDefault(require("@pingux/mdi-react/MenuRightIcon"));
26
+ var _interactions = require("@react-aria/interactions");
27
+ var _utils = require("@react-aria/utils");
28
+ var _propTypes = _interopRequireDefault(require("prop-types"));
29
+ var _TreeViewContext = require("../../context/TreeViewContext");
30
+ var _hooks = require("../../hooks");
31
+ var _index = require("../../index");
32
+ var _react2 = require("@emotion/react");
33
+ var _excluded = ["title", "mainIcon", "lastIcon", "item", "items", "isExpanded", "isSelected", "isDisabled", "iconButtonProps"];
34
+ 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); }
35
+ 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; }
36
+ 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; }
37
+ 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; }
38
+ var TreeViewRow = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
39
+ var title = props.title,
40
+ _props$mainIcon = props.mainIcon,
41
+ mainIcon = _props$mainIcon === void 0 ? _FolderIcon["default"] : _props$mainIcon,
42
+ _props$lastIcon = props.lastIcon,
43
+ lastIcon = _props$lastIcon === void 0 ? _LockIcon["default"] : _props$lastIcon,
44
+ item = props.item,
45
+ items = props.items,
46
+ isExpanded = props.isExpanded,
47
+ isSelected = props.isSelected,
48
+ isDisabled = props.isDisabled,
49
+ iconButtonProps = props.iconButtonProps,
50
+ others = (0, _objectWithoutProperties2["default"])(props, _excluded);
51
+ var treeRowRef = (0, _react.useRef)();
52
+ /* istanbul ignore next */
53
+ (0, _react.useImperativeHandle)(ref, function () {
54
+ return treeRowRef.current;
55
+ });
56
+ var key = item.key;
57
+ var _useTreeViewContext = (0, _TreeViewContext.useTreeViewContext)(),
58
+ state = _useTreeViewContext.state,
59
+ tree = _useTreeViewContext.tree;
60
+ var _useHover = (0, _interactions.useHover)({}),
61
+ hoverProps = _useHover.hoverProps,
62
+ isHovered = _useHover.isHovered;
63
+ var pressIcon = function pressIcon(e) {
64
+ state.toggleKey(item.key);
65
+ if (iconButtonProps !== null && iconButtonProps !== void 0 && iconButtonProps.onPress) {
66
+ iconButtonProps.onPress(e);
67
+ }
68
+ };
69
+ var pressRow = function pressRow() {
70
+ tree.setSelectedKeys([item.key]);
71
+ };
72
+ var _usePress = (0, _interactions.usePress)(_objectSpread(_objectSpread({}, others), {}, {
73
+ ref: treeRowRef,
74
+ onPress: pressRow
75
+ })),
76
+ isPressed = _usePress.isPressed,
77
+ pressProps = _usePress.pressProps;
78
+ var _useStatusClasses = (0, _hooks.useStatusClasses)('', {
79
+ isHovered: isHovered,
80
+ isSelected: isSelected,
81
+ isExpanded: isExpanded,
82
+ isPressed: isPressed,
83
+ isDisabled: isDisabled
84
+ }),
85
+ classNames = _useStatusClasses.classNames;
86
+ var mergedProps = (0, _utils.mergeProps)(hoverProps, pressProps, others);
87
+ return (0, _react2.jsx)(_index.Box, (0, _extends2["default"])({
88
+ ref: treeRowRef,
89
+ isRow: true,
90
+ alignItems: "center",
91
+ gap: "xs",
92
+ sx: {
93
+ flexGrow: 1
94
+ },
95
+ className: classNames,
96
+ key: "".concat(key, " box")
97
+ }, mergedProps), (items === null || items === void 0 ? void 0 : items.length) > 0 && (0, _react2.jsx)(_index.IconButtonToggle, {
98
+ onToggle: pressIcon,
99
+ isToggled: isExpanded,
100
+ defaultIcon: _MenuRightIcon["default"],
101
+ toggledIcon: _MenuDownIcon["default"],
102
+ iconProps: {
103
+ size: 25,
104
+ title: "".concat(title, " expand or collapse button")
105
+ },
106
+ buttonProps: {
107
+ 'aria-label': "".concat(title, " expand or collapse button")
108
+ }
109
+ }), (0, _react2.jsx)(_index.Box, {
110
+ isRow: true,
111
+ className: classNames,
112
+ alignItems: "center",
113
+ gap: "xs",
114
+ variant: "treeView.treeRow"
115
+ }, (0, _react2.jsx)(_index.Icon, {
116
+ color: "focus",
117
+ icon: mainIcon,
118
+ size: 25,
119
+ title: "folder icon",
120
+ alt: "folder icon"
121
+ }), (0, _react2.jsx)(_index.Text, {
122
+ className: classNames
123
+ }, title), (0, _react2.jsx)(_index.Icon, {
124
+ icon: lastIcon,
125
+ size: 15,
126
+ color: "accent.80",
127
+ title: "lock icon",
128
+ alt: "lock icon"
129
+ })));
130
+ });
131
+ TreeViewRow.propTypes = {
132
+ isSelected: _propTypes["default"].bool,
133
+ isDisabled: _propTypes["default"].bool,
134
+ isExpanded: _propTypes["default"].bool,
135
+ title: _propTypes["default"].string,
136
+ items: _propTypes["default"].arrayOf(_propTypes["default"].shape({})),
137
+ iconButtonProps: _propTypes["default"].shape({
138
+ onPress: _propTypes["default"].func
139
+ }),
140
+ item: _propTypes["default"].shape({
141
+ key: _propTypes["default"].string
142
+ }),
143
+ mainIcon: _propTypes["default"].elementType,
144
+ lastIcon: _propTypes["default"].elementType
145
+ };
146
+ var _default = TreeViewRow;
147
+ exports["default"] = _default;