@pingux/astro 2.39.0-alpha.0 → 2.40.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.
@@ -1,3 +1,12 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
4
+ var _excluded = ["title", "mainIcon", "lastIcon", "item", "items", "isExpanded", "isDragging", "onKeyDown"];
5
+ 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; }
6
+ 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) { _defineProperty(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; }
7
+ import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
8
+ import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
9
+ import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
1
10
  import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
2
11
  import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
3
12
  import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
@@ -6,23 +15,21 @@ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/inst
6
15
  import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
7
16
  import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
8
17
  import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
9
- import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
10
- import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
11
- import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
12
- var _excluded = ["title", "mainIcon", "lastIcon", "item", "items", "isExpanded", "isSelected", "isDisabled", "isParentFocused", "iconButtonProps"];
13
- 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; }
14
- 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; }
15
- import React, { forwardRef, useImperativeHandle, useRef } from 'react';
18
+ import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef } from 'react';
16
19
  import FolderIcon from '@pingux/mdi-react/FolderIcon';
17
20
  import LockIcon from '@pingux/mdi-react/LockIcon';
18
21
  import MenuDownIcon from '@pingux/mdi-react/MenuDownIcon';
19
22
  import MenuRight from '@pingux/mdi-react/MenuRightIcon';
20
- import { useHover, usePress } from '@react-aria/interactions';
23
+ import { useDraggableItem, useDroppableItem } from '@react-aria/dnd';
24
+ import { useFocusRing } from '@react-aria/focus';
25
+ import { useHover } from '@react-aria/interactions';
26
+ import { useOption } from '@react-aria/listbox';
21
27
  import { mergeProps } from '@react-aria/utils';
22
28
  import PropTypes from 'prop-types';
23
29
  import { useTreeViewContext } from '../../context/TreeViewContext';
24
30
  import { useStatusClasses } from '../../hooks';
25
31
  import { Box, Icon, IconButtonToggle, Text } from '../../index';
32
+ import { addRefToArrayHelper, removeRefFromArrayHelper } from './TreeViewSection';
26
33
  import { jsx as ___EmotionJSX } from "@emotion/react";
27
34
  var TreeViewRow = /*#__PURE__*/forwardRef(function (props, ref) {
28
35
  var title = props.title,
@@ -33,10 +40,8 @@ var TreeViewRow = /*#__PURE__*/forwardRef(function (props, ref) {
33
40
  item = props.item,
34
41
  items = props.items,
35
42
  isExpanded = props.isExpanded,
36
- isSelected = props.isSelected,
37
- isDisabled = props.isDisabled,
38
- isParentFocused = props.isParentFocused,
39
- iconButtonProps = props.iconButtonProps,
43
+ isDragging = props.isDragging,
44
+ _onKeyDown = props.onKeyDown,
40
45
  others = _objectWithoutProperties(props, _excluded);
41
46
  var treeRowRef = useRef();
42
47
  /* istanbul ignore next */
@@ -46,34 +51,112 @@ var TreeViewRow = /*#__PURE__*/forwardRef(function (props, ref) {
46
51
  var key = item.key;
47
52
  var _useTreeViewContext = useTreeViewContext(),
48
53
  state = _useTreeViewContext.state,
49
- tree = _useTreeViewContext.tree;
54
+ dragState = _useTreeViewContext.dragState,
55
+ dropState = _useTreeViewContext.dropState,
56
+ refArray = _useTreeViewContext.refArray,
57
+ setRefs = _useTreeViewContext.setRefs,
58
+ tree = _useTreeViewContext.tree,
59
+ setLastFocusedItem = _useTreeViewContext.setLastFocusedItem,
60
+ lastFocusedItem = _useTreeViewContext.lastFocusedItem,
61
+ flatKeyArray = _useTreeViewContext.flatKeyArray,
62
+ targetKey = _useTreeViewContext.targetKey,
63
+ keyBeingDragged = _useTreeViewContext.keyBeingDragged;
64
+ var addRefToArray = function addRefToArray(thisKey, thisRef) {
65
+ setRefs(function (prev) {
66
+ return addRefToArrayHelper(prev, thisKey, thisRef);
67
+ });
68
+ };
69
+ var removeRefFromArray = function removeRefFromArray() {
70
+ setRefs(function (prev) {
71
+ return removeRefFromArrayHelper(prev, key);
72
+ });
73
+ };
74
+
75
+ // this runs on mount
76
+ useEffect(function () {
77
+ addRefToArray(key, treeRowRef);
78
+ }, []);
79
+
80
+ // cleanup, that runs on dismount.
81
+ useEffect(function () {
82
+ return function () {
83
+ return removeRefFromArray(key, refArray);
84
+ };
85
+ }, []);
50
86
  var _useHover = useHover({}),
51
87
  hoverProps = _useHover.hoverProps,
52
88
  isHovered = _useHover.isHovered;
53
- var pressIcon = function pressIcon(e) {
89
+ var pressIcon = function pressIcon() {
54
90
  state.toggleKey(item.key);
55
- if (iconButtonProps !== null && iconButtonProps !== void 0 && iconButtonProps.onPress) {
56
- iconButtonProps.onPress(e);
57
- }
58
91
  };
92
+ var _useOption = useOption({
93
+ key: key
94
+ }, state, treeRowRef),
95
+ optionProps = _useOption.optionProps,
96
+ isDisabled = _useOption.isDisabled,
97
+ isSelected = _useOption.isSelected;
59
98
  var pressRow = function pressRow() {
99
+ if (isSelected) {
100
+ tree.setSelectedKeys([]);
101
+ return;
102
+ }
60
103
  tree.setSelectedKeys([item.key]);
61
104
  };
62
- var _usePress = usePress(_objectSpread(_objectSpread({}, others), {}, {
63
- ref: treeRowRef,
64
- onPress: pressRow
65
- })),
66
- isPressed = _usePress.isPressed,
67
- pressProps = _usePress.pressProps;
105
+ var _useDroppableItem = useDroppableItem({
106
+ target: {
107
+ type: 'item',
108
+ key: item.key,
109
+ dropPosition: 'on'
110
+ }
111
+ }, dropState, treeRowRef),
112
+ dropProps = _useDroppableItem.dropProps,
113
+ isDropTarget = _useDroppableItem.isDropTarget;
114
+ var _useDraggableItem = useDraggableItem({
115
+ hasDragButton: true,
116
+ key: item.key
117
+ }, dragState),
118
+ dragProps = _useDraggableItem.dragProps;
119
+ var _useFocusRing = useFocusRing(),
120
+ focusProps = _useFocusRing.focusProps,
121
+ isFocused = _useFocusRing.isFocused;
122
+ var _useFocusRing2 = useFocusRing({
123
+ within: true
124
+ }),
125
+ focusWithinProps = _useFocusRing2.focusProps,
126
+ isFocusedWithin = _useFocusRing2.isFocused;
127
+
128
+ // we do not allow for items to be dropped on themselves, or on their children
129
+ var validateDropTarget = function validateDropTarget() {
130
+ var _foundTargetItem$pare, _context;
131
+ var foundTargetItem = _findInstanceProperty(flatKeyArray).call(flatKeyArray, function (_item) {
132
+ return _item.key === targetKey;
133
+ });
134
+ if (!isDropTarget || foundTargetItem !== null && foundTargetItem !== void 0 && (_foundTargetItem$pare = foundTargetItem.parentKeys) !== null && _foundTargetItem$pare !== void 0 && _includesInstanceProperty(_foundTargetItem$pare).call(_foundTargetItem$pare, keyBeingDragged) || foundTargetItem.key === keyBeingDragged || _includesInstanceProperty(_context = _Array$from(state.disabledKeys)).call(_context, foundTargetItem.key)) {
135
+ return false;
136
+ }
137
+ if (isDropTarget) {
138
+ return true;
139
+ }
140
+ return false;
141
+ };
142
+ var isValidDropTarget = useMemo(function () {
143
+ return validateDropTarget();
144
+ }, [targetKey, isDropTarget]);
68
145
  var _useStatusClasses = useStatusClasses('', {
69
146
  isHovered: isHovered,
70
147
  isSelected: isSelected,
71
148
  isExpanded: isExpanded,
72
- isPressed: isPressed,
73
- isDisabled: isDisabled
149
+ isDisabled: isDisabled,
150
+ isDragging: isDragging,
151
+ isDropTarget: isValidDropTarget,
152
+ isFocused: isFocused
74
153
  }),
75
154
  classNames = _useStatusClasses.classNames;
76
- var mergedProps = mergeProps(hoverProps, pressProps, others);
155
+ var mergedProps = mergeProps(hoverProps, others, optionProps, dragProps, dropProps, focusProps, focusWithinProps, {
156
+ onFocus: function onFocus() {
157
+ setLastFocusedItem(key);
158
+ }
159
+ });
77
160
  return ___EmotionJSX(Box, _extends({
78
161
  ref: treeRowRef,
79
162
  isRow: true,
@@ -85,10 +168,20 @@ var TreeViewRow = /*#__PURE__*/forwardRef(function (props, ref) {
85
168
  border: 'none'
86
169
  }
87
170
  },
171
+ variant: "treeView.rowWrapper",
88
172
  className: classNames,
89
173
  key: "".concat(key, " box"),
90
- role: "gridcell"
91
- }, mergedProps), (items === null || items === void 0 ? void 0 : items.length) > 0 && ___EmotionJSX(IconButtonToggle, {
174
+ "data-droptarget": isDropTarget
175
+ }, mergedProps, {
176
+ role: "gridcell",
177
+ tabIndex: "-1"
178
+ }, lastFocusedItem === key && {
179
+ tabIndex: 0
180
+ }, {
181
+ onKeyDown: function onKeyDown(e) {
182
+ _onKeyDown(e);
183
+ }
184
+ }), (items === null || items === void 0 ? void 0 : items.length) > 0 && ___EmotionJSX(IconButtonToggle, {
92
185
  onToggle: pressIcon,
93
186
  isToggled: isExpanded,
94
187
  defaultIcon: MenuRight,
@@ -97,12 +190,11 @@ var TreeViewRow = /*#__PURE__*/forwardRef(function (props, ref) {
97
190
  size: 25,
98
191
  title: "".concat(title, " expand or collapse button")
99
192
  },
100
- buttonProps: _objectSpread(_objectSpread({
101
- 'aria-label': "".concat(title, " expand or collapse button")
102
- }, isParentFocused && {
193
+ buttonProps: _objectSpread({
194
+ 'aria-label': "".concat(title, " expand or collapse button"),
195
+ tabIndex: '-1'
196
+ }, lastFocusedItem === key && isFocusedWithin && {
103
197
  tabIndex: 0
104
- }), !isParentFocused && {
105
- tabIndex: -1
106
198
  })
107
199
  }), ___EmotionJSX(Box, {
108
200
  isRow: true,
@@ -112,7 +204,8 @@ var TreeViewRow = /*#__PURE__*/forwardRef(function (props, ref) {
112
204
  variant: "treeView.treeRow",
113
205
  sx: !items && {
114
206
  ml: '36px'
115
- }
207
+ },
208
+ onClick: pressRow
116
209
  }, ___EmotionJSX(Icon, {
117
210
  color: "focus",
118
211
  icon: mainIcon,
@@ -131,14 +224,12 @@ var TreeViewRow = /*#__PURE__*/forwardRef(function (props, ref) {
131
224
  });
132
225
  TreeViewRow.propTypes = {
133
226
  isSelected: PropTypes.bool,
227
+ isDragging: PropTypes.bool,
228
+ onKeyDown: PropTypes.func,
134
229
  isDisabled: PropTypes.bool,
135
230
  isExpanded: PropTypes.bool,
136
- isParentFocused: PropTypes.bool,
137
231
  title: PropTypes.string,
138
232
  items: PropTypes.arrayOf(PropTypes.shape({})),
139
- iconButtonProps: PropTypes.shape({
140
- onPress: PropTypes.func
141
- }),
142
233
  item: PropTypes.shape({
143
234
  key: PropTypes.string
144
235
  }),
@@ -1,17 +1,14 @@
1
- import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
1
  import _someInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/some";
3
2
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
4
3
  import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
5
4
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
6
5
  import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
7
- import React, { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';
8
- import { useFocusRing } from '@react-aria/focus';
6
+ import React, { forwardRef, useImperativeHandle, useRef } from 'react';
9
7
  import { useOption } from '@react-aria/listbox';
10
- import { mergeProps } from '@react-aria/utils';
11
8
  import PropTypes from 'prop-types';
12
9
  import { useTreeViewContext } from '../../context/TreeViewContext';
13
- import { useStatusClasses } from '../../hooks';
14
10
  import { Box, TreeViewItem } from '../../index';
11
+ import InsertionIndicator from './InsertionIndicator';
15
12
  import { SectionOrItemRender } from './TreeView';
16
13
  import { sectionPressHandlers } from './TreeViewKeyboardDelegate';
17
14
  import TreeViewRow from './TreeViewRow';
@@ -59,12 +56,11 @@ export var onKeyDownSection = function onKeyDownSection(e, state, key, tree, isS
59
56
  }
60
57
  break;
61
58
  case 40:
62
- sectionPressHandlers.onDownPress(e, key, refArray, flatKeyArray);
63
59
  e.preventDefault();
64
60
  e.stopPropagation();
61
+ sectionPressHandlers.onDownPress(e, key, refArray, flatKeyArray);
65
62
  break;
66
63
  default:
67
- /* istanbul ignore next */
68
64
  break;
69
65
  }
70
66
  };
@@ -113,85 +109,48 @@ var TreeViewSection = /*#__PURE__*/forwardRef(function (props, ref) {
113
109
  state = _useTreeViewContext.state,
114
110
  tree = _useTreeViewContext.tree,
115
111
  refArray = _useTreeViewContext.refArray,
116
- setRefs = _useTreeViewContext.setRefs,
117
112
  flatKeyArray = _useTreeViewContext.flatKeyArray,
118
- pageLength = _useTreeViewContext.pageLength,
119
- setLastFocusedItem = _useTreeViewContext.setLastFocusedItem,
120
- lastFocusedItem = _useTreeViewContext.lastFocusedItem;
113
+ dragState = _useTreeViewContext.dragState,
114
+ dropState = _useTreeViewContext.dropState,
115
+ pageLength = _useTreeViewContext.pageLength;
121
116
  var _useOption = useOption({
122
117
  key: key
123
118
  }, state, treeSectionRef),
124
- optionProps = _useOption.optionProps,
125
- isDisabled = _useOption.isDisabled,
126
- isSelected = _useOption.isSelected;
127
- var _useFocusRing = useFocusRing(),
128
- focusProps = _useFocusRing.focusProps,
129
- isFocused = _useFocusRing.isFocused;
130
- var _useFocusRing2 = useFocusRing({
131
- within: true
132
- }),
133
- focusPropsWithin = _useFocusRing2.focusProps,
134
- isFocusedWithin = _useFocusRing2.isFocused;
119
+ isSelected = _useOption.isSelected,
120
+ isDisabled = _useOption.isDisabled;
135
121
  var isExpanded = state.expandedKeys.has(key);
122
+ var isDragging = dragState.isDragging(item.key);
136
123
  var onKeyDownFunction = function onKeyDownFunction(e) {
137
- onKeyDownSection(e, state, key, tree, isSelected, isExpanded, focusManager, flatKeyArray, refArray, pageLength, isFocused);
124
+ onKeyDownSection(e, state, key, tree, isSelected, isExpanded, focusManager, flatKeyArray, refArray, pageLength, true);
138
125
  if (onKeyDown) {
139
126
  onKeyDown(e, key);
140
127
  }
141
128
  };
142
- var addRefToArray = function addRefToArray(thisKey, thisRef) {
143
- setRefs(function (prev) {
144
- return addRefToArrayHelper(prev, thisKey, thisRef);
145
- });
146
- };
147
- var removeRefFromArray = function removeRefFromArray() {
148
- setRefs(function (prev) {
149
- return removeRefFromArrayHelper(prev, key);
150
- });
151
- };
152
-
153
- // adds and removes refs on mount and dismount
154
- useEffect(function () {
155
- // this runs on mount
156
- addRefToArray(key, treeSectionRef);
157
- return function () {
158
- // this runs on cleanup
159
- removeRefFromArray(key, refArray);
160
- };
161
- }, []);
162
- var mergedProps = mergeProps(focusPropsWithin, focusProps, optionProps, {
163
- onFocus: function onFocus() {
164
- return setLastFocusedItem(key);
165
- }
166
- });
167
- var _useStatusClasses = useStatusClasses('', {
168
- isFocused: isFocused
169
- }),
170
- classNames = _useStatusClasses.classNames;
171
- return ___EmotionJSX(Box, _extends({
129
+ return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(InsertionIndicator, {
130
+ target: {
131
+ type: 'item',
132
+ key: item.key,
133
+ dropPosition: 'before'
134
+ },
135
+ dropState: dropState
136
+ }), ___EmotionJSX(Box, {
172
137
  ref: treeSectionRef,
173
138
  "aria-expanded": isExpanded,
174
- "aria-disabled": isDisabled
175
- }, mergedProps, {
139
+ "aria-disabled": isDisabled,
176
140
  role: "row",
177
141
  variant: "treeView.wrapper",
178
- className: classNames,
179
142
  "aria-selected": isSelected,
143
+ tabIndex: "-1",
180
144
  "aria-level": level,
181
145
  "aria-setsize": setSize,
182
- "aria-posinset": position + 1,
183
- onKeyDown: function onKeyDown(e) {
184
- return onKeyDownFunction(e);
185
- },
186
- tabIndex: lastFocusedItem === key ? 0 : -1
187
- }), ___EmotionJSX(TreeViewRow, {
146
+ "aria-posinset": position + 1
147
+ }, ___EmotionJSX(TreeViewRow, {
188
148
  item: item,
189
149
  title: title,
190
150
  items: items,
151
+ isDragging: isDragging,
191
152
  isExpanded: isExpanded,
192
- isSelected: isSelected,
193
- isDisabled: isDisabled,
194
- isParentFocused: isFocusedWithin
153
+ onKeyDown: onKeyDownFunction
195
154
  }), isExpanded && ___EmotionJSX(Box, {
196
155
  role: "rowgroup",
197
156
  key: "".concat(item.key, " ul"),
@@ -202,8 +161,8 @@ var TreeViewSection = /*#__PURE__*/forwardRef(function (props, ref) {
202
161
  }
203
162
  }
204
163
  }, _mapInstanceProperty(_context3 = _Array$from(items)).call(_context3, function (_item, _index) {
205
- var _item$value$items;
206
- return SectionOrItemRender(((_item$value$items = _item.value.items) === null || _item$value$items === void 0 ? void 0 : _item$value$items.length) > 0, ___EmotionJSX(TreeViewSection, {
164
+ var _item$children;
165
+ return SectionOrItemRender(((_item$children = _item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) > 0, ___EmotionJSX(TreeViewSection, {
207
166
  item: _item,
208
167
  items: _item.children,
209
168
  title: _item.value.title,
@@ -221,7 +180,14 @@ var TreeViewSection = /*#__PURE__*/forwardRef(function (props, ref) {
221
180
  position: _index,
222
181
  setSize: items.length
223
182
  }));
224
- })));
183
+ }))), ___EmotionJSX(InsertionIndicator, {
184
+ target: {
185
+ type: 'item',
186
+ key: item.key,
187
+ dropPosition: 'after'
188
+ },
189
+ dropState: dropState
190
+ }));
225
191
  });
226
192
  TreeViewSection.propTypes = {
227
193
  items: PropTypes.arrayOf(PropTypes.shape({})),
@@ -0,0 +1,218 @@
1
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
2
+ import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
3
+ import _Object$create from "@babel/runtime-corejs3/core-js-stable/object/create";
4
+ import _Object$getPrototypeOf from "@babel/runtime-corejs3/core-js-stable/object/get-prototype-of";
5
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
6
+ import _Object$setPrototypeOf from "@babel/runtime-corejs3/core-js-stable/object/set-prototype-of";
7
+ import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
8
+ import _reverseInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/reverse";
9
+ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
10
+ import _Reflect$construct from "@babel/runtime-corejs3/core-js-stable/reflect/construct";
11
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
12
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
13
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
14
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
15
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
16
+ import _typeof from "@babel/runtime-corejs3/helpers/esm/typeof";
17
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
18
+ import _inherits from "@babel/runtime-corejs3/helpers/esm/inherits";
19
+ import _possibleConstructorReturn from "@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn";
20
+ import _getPrototypeOf from "@babel/runtime-corejs3/helpers/esm/getPrototypeOf";
21
+ import _wrapNativeSuper from "@babel/runtime-corejs3/helpers/esm/wrapNativeSuper";
22
+ import _classCallCheck from "@babel/runtime-corejs3/helpers/esm/classCallCheck";
23
+ import _createClass from "@babel/runtime-corejs3/helpers/esm/createClass";
24
+ 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; }
25
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context8, _context9; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context8 = ownKeys(Object(source), !0)).call(_context8, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context9 = ownKeys(Object(source))).call(_context9, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
26
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
27
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
28
+ import _Symbol$iterator2 from "@babel/runtime-corejs3/core-js-stable/symbol/iterator";
29
+ import _Set from "@babel/runtime-corejs3/core-js-stable/set";
30
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
31
+ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
32
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
33
+ import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
34
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = _Object$defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof _Symbol ? _Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return _Object$defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = _Object$create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = _Object$getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(IteratorPrototype); function defineIteratorMethods(prototype) { var _context6; _forEachInstanceProperty(_context6 = ["next", "throw", "return"]).call(_context6, function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], _forEachInstanceProperty(tryLocsList).call(tryLocsList, pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return _Object$setPrototypeOf ? _Object$setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = _Object$create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = _Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return _reverseInstanceProperty(keys).call(keys), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { var _context7; if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, _forEachInstanceProperty(_context7 = this.tryEntries).call(_context7, resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+_sliceInstanceProperty(name).call(name, 1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
35
+ /* eslint max-classes-per-file: 0 */
36
+ var FileSystemDirectoryReader = /*#__PURE__*/function () {
37
+ function FileSystemDirectoryReader(entries) {
38
+ _classCallCheck(this, FileSystemDirectoryReader);
39
+ this._entries = entries;
40
+ }
41
+ _createClass(FileSystemDirectoryReader, [{
42
+ key: "readEntries",
43
+ value: function readEntries(cb) {
44
+ var entries = this._entries;
45
+ this._entries = [];
46
+ cb(entries);
47
+ }
48
+ }]);
49
+ return FileSystemDirectoryReader;
50
+ }();
51
+ export var FileSystemDirectoryEntry = /*#__PURE__*/function () {
52
+ function FileSystemDirectoryEntry(name, entries) {
53
+ _classCallCheck(this, FileSystemDirectoryEntry);
54
+ this.isFile = false;
55
+ this.isDirectory = true;
56
+ this.name = name;
57
+ this._entries = entries;
58
+ }
59
+ _createClass(FileSystemDirectoryEntry, [{
60
+ key: "createReader",
61
+ value: function createReader() {
62
+ return new FileSystemDirectoryReader(this._entries);
63
+ }
64
+ }]);
65
+ return FileSystemDirectoryEntry;
66
+ }();
67
+ export var FileSystemFileEntry = /*#__PURE__*/function () {
68
+ function FileSystemFileEntry(file) {
69
+ _classCallCheck(this, FileSystemFileEntry);
70
+ this.isFile = true;
71
+ this.isDirectory = false;
72
+ this.name = file.name;
73
+ this._file = file;
74
+ }
75
+ _createClass(FileSystemFileEntry, [{
76
+ key: "file",
77
+ value: function file(cb) {
78
+ cb(this._file);
79
+ }
80
+ }]);
81
+ return FileSystemFileEntry;
82
+ }();
83
+ export var DataTransferItem = /*#__PURE__*/function () {
84
+ function DataTransferItem(type, data) {
85
+ var kind = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'string';
86
+ _classCallCheck(this, DataTransferItem);
87
+ this.kind = kind;
88
+ this.type = type;
89
+ this._data = data;
90
+ }
91
+ _createClass(DataTransferItem, [{
92
+ key: "getAsString",
93
+ value: function getAsString(callback) {
94
+ if (this.kind === 'string') {
95
+ callback(this._data);
96
+ }
97
+ }
98
+ }, {
99
+ key: "getAsFile",
100
+ value: function getAsFile() {
101
+ if (this.kind === 'file' && this._data instanceof FileSystemFileEntry) {
102
+ return this._data._file;
103
+ }
104
+ return null;
105
+ }
106
+ }, {
107
+ key: "webkitGetAsEntry",
108
+ value: function webkitGetAsEntry() {
109
+ if (this.kind === 'file') {
110
+ return this._data;
111
+ }
112
+ return null;
113
+ }
114
+ }]);
115
+ return DataTransferItem;
116
+ }();
117
+ export var DataTransferItemList = /*#__PURE__*/function (_Symbol$iterator) {
118
+ function DataTransferItemList() {
119
+ var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
120
+ _classCallCheck(this, DataTransferItemList);
121
+ this._items = items;
122
+ }
123
+ _createClass(DataTransferItemList, [{
124
+ key: "add",
125
+ value: function add(data, type) {
126
+ if (data instanceof File) {
127
+ this._items.push(new DataTransferItem(data.type, new FileSystemFileEntry(data), 'file'));
128
+ } else if (data instanceof FileSystemDirectoryEntry) {
129
+ // Not supported in the real API but used for mocking...
130
+ this._items.push(new DataTransferItem('', data, 'file'));
131
+ } else {
132
+ this._items.push(new DataTransferItem(type, data));
133
+ }
134
+ }
135
+ }, {
136
+ key: _Symbol$iterator,
137
+ value: /*#__PURE__*/_regeneratorRuntime().mark(function value() {
138
+ return _regeneratorRuntime().wrap(function value$(_context) {
139
+ while (1) switch (_context.prev = _context.next) {
140
+ case 0:
141
+ return _context.delegateYield(this._items, "t0", 1);
142
+ case 1:
143
+ case "end":
144
+ return _context.stop();
145
+ }
146
+ }, value, this);
147
+ })
148
+ }]);
149
+ return DataTransferItemList;
150
+ }(_Symbol$iterator2);
151
+ export var DataTransfer = /*#__PURE__*/function () {
152
+ function DataTransfer() {
153
+ _classCallCheck(this, DataTransfer);
154
+ this.items = new DataTransferItemList();
155
+ this.dropEffect = 'none';
156
+ this.effectAllowed = 'all';
157
+ }
158
+ _createClass(DataTransfer, [{
159
+ key: "setDragImage",
160
+ value: function setDragImage(dragImage, x, y) {
161
+ this._dragImage = {
162
+ node: dragImage,
163
+ x: x,
164
+ y: y
165
+ };
166
+ }
167
+ }, {
168
+ key: "types",
169
+ get: function get() {
170
+ var _context2;
171
+ var types = new _Set();
172
+ // for (const item of this.items) {
173
+ for (var i = 0; i < this.items.length; i += 1) {
174
+ if (this.items[i].kind === 'file') {
175
+ types.add('Files');
176
+ } else {
177
+ types.add(this.items[i].type);
178
+ }
179
+ }
180
+ return _concatInstanceProperty(_context2 = []).call(_context2, types);
181
+ }
182
+ }, {
183
+ key: "files",
184
+ get: function get() {
185
+ var _context3, _context4;
186
+ return _mapInstanceProperty(_context3 = _filterInstanceProperty(_context4 = this.items._items).call(_context4, function (item) {
187
+ return item.kind === 'file';
188
+ })).call(_context3, function (item) {
189
+ return item.getAsFile();
190
+ });
191
+ }
192
+ }, {
193
+ key: "getData",
194
+ value: function getData(type) {
195
+ var _this$items$_items$fi, _context5;
196
+ return (_this$items$_items$fi = _findInstanceProperty(_context5 = this.items._items).call(_context5, function (item) {
197
+ return item.kind === 'string' && item.type === type;
198
+ })) === null || _this$items$_items$fi === void 0 ? void 0 : _this$items$_items$fi._data;
199
+ }
200
+ }]);
201
+ return DataTransfer;
202
+ }();
203
+ export var DragEvent = /*#__PURE__*/function (_MouseEvent) {
204
+ _inherits(DragEvent, _MouseEvent);
205
+ var _super = _createSuper(DragEvent);
206
+ function DragEvent(type, init) {
207
+ var _this;
208
+ _classCallCheck(this, DragEvent);
209
+ _this = _super.call(this, type, _objectSpread(_objectSpread({}, init), {}, {
210
+ bubbles: true,
211
+ cancelable: true,
212
+ composed: true
213
+ }));
214
+ _this.dataTransfer = init.dataTransfer;
215
+ return _this;
216
+ }
217
+ return _createClass(DragEvent);
218
+ }( /*#__PURE__*/_wrapNativeSuper(MouseEvent));