zs_library 0.2.2 → 0.3.4

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.
Files changed (67) hide show
  1. package/README.md +0 -33
  2. package/dist/{Desktop → components/Desktop}/ContextMenu/index.d.ts +1 -2
  3. package/dist/{Desktop → components/Desktop}/Items/GroupItem.d.ts +1 -2
  4. package/dist/{Desktop → components/Desktop}/Items/Modal/GroupItemModal.d.ts +1 -2
  5. package/dist/{Desktop → components/Desktop}/Items/Modal/InfoModal.d.ts +0 -1
  6. package/dist/{Desktop → components/Desktop}/Items/SortableItem.d.ts +3 -4
  7. package/dist/{Desktop → components/Desktop}/Sortable.d.ts +3 -5
  8. package/dist/{Desktop → components/Desktop}/context/config/context.d.ts +2 -2
  9. package/dist/components/Desktop/context/config/hooks.d.ts +1 -0
  10. package/dist/{Desktop → components/Desktop}/context/state/context.d.ts +2 -2
  11. package/dist/components/Desktop/context/state/hooks.d.ts +1 -0
  12. package/dist/{Desktop → components/Desktop}/index.d.ts +1 -2
  13. package/dist/components/Desktop/utils.d.ts +33 -0
  14. package/dist/components/Editor/components/BlockTools/MediaAndEmbed/Image/index.d.ts +146 -0
  15. package/dist/components/Editor/components/BlockTools/MediaAndEmbed/Image/types/types.d.ts +172 -0
  16. package/dist/components/Editor/components/BlockTools/MediaAndEmbed/Image/ui.d.ts +132 -0
  17. package/dist/components/Editor/components/BlockTools/MediaAndEmbed/Image/uploader.d.ts +60 -0
  18. package/dist/components/Editor/components/BlockTools/MediaAndEmbed/Image/utils/dom.d.ts +10 -0
  19. package/dist/components/Editor/components/BlockTools/MediaAndEmbed/Image/utils/isPromise.d.ts +7 -0
  20. package/dist/components/Editor/components/BlockTools/TextAndTypography/Alert/index.d.ts +238 -0
  21. package/dist/components/Editor/components/BlockTools/TextAndTypography/Delimiter/index.d.ts +270 -0
  22. package/dist/components/Editor/components/BlockTools/TextAndTypography/Header/index.d.ts +249 -0
  23. package/dist/components/Editor/components/BlockTools/TextAndTypography/Paragraph/index.d.ts +189 -0
  24. package/dist/components/Editor/components/BlockTools/TextAndTypography/Paragraph/utils/makeFragment.d.ts +7 -0
  25. package/dist/components/Editor/components/BlockTools/TextAndTypography/Quote/index.d.ts +282 -0
  26. package/dist/components/Editor/components/BlockTuneTools/Delete/index.d.ts +33 -0
  27. package/dist/components/Editor/components/BlockTuneTools/MoveDown/index.d.ts +37 -0
  28. package/dist/components/Editor/components/BlockTuneTools/MoveUp/index.d.ts +37 -0
  29. package/dist/components/Editor/index.d.ts +9 -0
  30. package/dist/components/MdEditor/i18n/index.d.ts +4 -0
  31. package/dist/components/MdEditor/i18n/zh_CN.d.ts +5 -0
  32. package/dist/components/MdEditor/index.d.ts +54 -0
  33. package/dist/components/index.d.ts +2 -0
  34. package/dist/index.d.ts +1 -2
  35. package/dist/index.js +1651 -2
  36. package/package.json +60 -70
  37. package/.eslintrc.js +0 -3
  38. package/LICENSE +0 -21
  39. package/dist/Desktop/ContextMenu/index.js +0 -209
  40. package/dist/Desktop/Items/GroupItem.js +0 -179
  41. package/dist/Desktop/Items/Modal/GroupItemModal.js +0 -159
  42. package/dist/Desktop/Items/Modal/InfoModal.js +0 -34
  43. package/dist/Desktop/Items/SortableItem.js +0 -78
  44. package/dist/Desktop/Sortable.js +0 -185
  45. package/dist/Desktop/config.js +0 -16
  46. package/dist/Desktop/context/config/context.js +0 -36
  47. package/dist/Desktop/context/config/hooks.d.ts +0 -1
  48. package/dist/Desktop/context/config/hooks.js +0 -6
  49. package/dist/Desktop/context/state/context.js +0 -362
  50. package/dist/Desktop/context/state/hooks.d.ts +0 -1
  51. package/dist/Desktop/context/state/hooks.js +0 -6
  52. package/dist/Desktop/index.js +0 -40
  53. package/dist/Desktop/style.js +0 -4
  54. package/dist/Desktop/theme.js +0 -28
  55. package/dist/Desktop/types.js +0 -1
  56. package/dist/Desktop/utils.d.ts +0 -33
  57. package/dist/Desktop/utils.js +0 -37
  58. package/dist/Editor/Blocks/CodeBlock/CodeBlock.d.ts +0 -23
  59. package/dist/Editor/Blocks/CodeBlock/CodeBlock.js +0 -196
  60. package/dist/Editor/Blocks/CodeBlock/index.d.ts +0 -30
  61. package/dist/Editor/Blocks/CodeBlock/index.js +0 -21
  62. package/dist/Editor/index.d.ts +0 -17
  63. package/dist/Editor/index.js +0 -132
  64. /package/dist/{Desktop → components/Desktop}/config.d.ts +0 -0
  65. /package/dist/{Desktop → components/Desktop}/style.d.ts +0 -0
  66. /package/dist/{Desktop → components/Desktop}/theme.d.ts +0 -0
  67. /package/dist/{Desktop → components/Desktop}/types.d.ts +0 -0
@@ -1,159 +0,0 @@
1
- 'use client';
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
5
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
9
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
11
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
12
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
14
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
15
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
16
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
19
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
20
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
- import { css, cx } from '@emotion/css';
22
- import Dialog from 'rc-dialog';
23
- import React, { useEffect, useState } from 'react';
24
- import { ReactSortable } from 'react-sortablejs';
25
- import { useSortableConfig } from "../../context/config/hooks";
26
- import { useSortableState } from "../../context/state/hooks";
27
- import { ghostClass } from "../../style";
28
- import SortableUtils from "../../utils";
29
- import SortableItem from "../SortableItem";
30
- var GroupItemModal = function GroupItemModal(props) {
31
- var _data$children, _data$children2;
32
- var data = props.data,
33
- _onClose = props.onClose,
34
- onItemClick = props.onItemClick;
35
- var _useSortableState = useSortableState(),
36
- list = _useSortableState.list,
37
- _setList = _useSortableState.setList,
38
- setListStatus = _useSortableState.setListStatus,
39
- setMoveItemId = _useSortableState.setMoveItemId,
40
- setMoveTargetId = _useSortableState.setMoveTargetId,
41
- updateItem = _useSortableState.updateItem;
42
- var _useSortableConfig = useSortableConfig(),
43
- theme = _useSortableConfig.theme;
44
- var _SortableUtils$getThe = SortableUtils.getTheme(theme),
45
- light = _SortableUtils$getThe.light,
46
- dark = _SortableUtils$getThe.dark;
47
- var _useState = useState('文件夹'),
48
- _useState2 = _slicedToArray(_useState, 2),
49
- name = _useState2[0],
50
- setName = _useState2[1];
51
- var _children = _toConsumableArray((_data$children = data === null || data === void 0 ? void 0 : data.children) !== null && _data$children !== void 0 ? _data$children : []);
52
- useEffect(function () {
53
- var _data$data;
54
- if (!data) return;
55
- setName((_data$data = data.data) === null || _data$data === void 0 ? void 0 : _data$data.name);
56
- }, [data]);
57
- return /*#__PURE__*/React.createElement(Dialog, {
58
- visible: !!data,
59
- onClose: function onClose() {
60
- _onClose();
61
- },
62
- animation: "zoom",
63
- maskAnimation: "fade",
64
- mousePosition: data !== null && data !== void 0 && data.pageX && data !== null && data !== void 0 && data.pageY ? {
65
- x: data === null || data === void 0 ? void 0 : data.pageX,
66
- y: data === null || data === void 0 ? void 0 : data.pageY
67
- } : null,
68
- title: /*#__PURE__*/React.createElement("input", {
69
- className: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background-color: transparent;\n border-style: none;\n text-align: center;\n font-size: 1.25rem;\n line-height: 1.75rem;\n color: white;\n @media (prefers-color-scheme: dark) {\n color: black;\n }\n &:focus {\n outline: none;\n }\n "]))),
70
- value: name,
71
- onChange: function onChange(e) {
72
- setName(e.target.value);
73
- },
74
- onBlur: function onBlur() {
75
- if (!data) return;
76
- updateItem(data.id, _objectSpread(_objectSpread({}, data.data), {}, {
77
- name: name
78
- }));
79
- }
80
- }),
81
- footer: null,
82
- closable: false,
83
- className: cx('group-item-modal', css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .rc-dialog-content {\n background-color: transparent;\n box-shadow: none;\n padding: 0;\n .rc-dialog-header {\n text-align: center;\n background-color: transparent;\n margin-bottom: 1rem;\n border-bottom: none;\n .ant-modal-name {\n color: #fff;\n }\n }\n .rc-dialog-body {\n background-color: ", ";\n @media (prefers-color-scheme: dark) {\n background-color: ", ";\n }\n border-radius: 0.5rem;\n overflow: hidden;\n }\n }\n "])), light.groupItemModalBackgroundColor, dark.groupItemModalBackgroundColor)),
84
- width: 600,
85
- destroyOnClose: true
86
- }, /*#__PURE__*/React.createElement("div", {
87
- className: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n overflow-y: auto;\n max-height: 60vh;\n padding: 1.25rem 0;\n "]))),
88
- onDragLeave: function onDragLeave(e) {
89
- // 获取鼠标指针进入的元素
90
- var relatedTarget = e.relatedTarget;
91
- if (!relatedTarget) return;
92
- if (!e.currentTarget.contains(relatedTarget)) {
93
- // 鼠标确实离开了当前元素
94
- setTimeout(function () {
95
- _onClose();
96
- }, 500);
97
- }
98
- }
99
- }, /*#__PURE__*/React.createElement(ReactSortable, {
100
- className: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: grid;\n gap: 1rem;\n place-items: center;\n grid-template-columns: repeat(auto-fill, 96px);\n grid-auto-flow: dense;\n grid-auto-rows: 96px;\n "]))),
101
- group: {
102
- name: 'nested',
103
- pull: true,
104
- put: false
105
- },
106
- animation: 150,
107
- fallbackOnBody: true,
108
- list: (_data$children2 = data === null || data === void 0 ? void 0 : data.children) !== null && _data$children2 !== void 0 ? _data$children2 : [],
109
- setList: function setList(x) {
110
- var _list$find, _parentChildrenIds$le, _data$parentIds;
111
- var xIds = x.map(function (item) {
112
- return item.id;
113
- });
114
- var parentChildrenIds = (_list$find = list.find(function (item) {
115
- return item.id === (data === null || data === void 0 ? void 0 : data.id);
116
- })) === null || _list$find === void 0 || (_list$find = _list$find.children) === null || _list$find === void 0 ? void 0 : _list$find.map(function (item) {
117
- return item.id;
118
- });
119
- // ! 如果ids个数相同,顺序相同 return,优化性能
120
- if (xIds.length === (parentChildrenIds === null || parentChildrenIds === void 0 ? void 0 : parentChildrenIds.length) && xIds.every(function (id, index) {
121
- return id === parentChildrenIds[index];
122
- })) {
123
- return;
124
- }
125
-
126
- // ! 解决文件夹中移出再移入会触发setList导致元素丢失bug
127
- if (xIds.length < ((_parentChildrenIds$le = parentChildrenIds === null || parentChildrenIds === void 0 ? void 0 : parentChildrenIds.length) !== null && _parentChildrenIds$le !== void 0 ? _parentChildrenIds$le : 0)) {
128
- return;
129
- }
130
- _setList(x, [].concat(_toConsumableArray((_data$parentIds = data === null || data === void 0 ? void 0 : data.parentIds) !== null && _data$parentIds !== void 0 ? _data$parentIds : []), [data === null || data === void 0 ? void 0 : data.id]));
131
- },
132
- onMove: function onMove() {
133
- setMoveTargetId(null);
134
- setListStatus('onMove');
135
- return true;
136
- },
137
- onStart: function onStart(e) {
138
- var dataset = e.item.dataset;
139
- if (dataset !== null && dataset !== void 0 && dataset.id) {
140
- setMoveItemId(dataset.id);
141
- }
142
- setListStatus('onMove');
143
- },
144
- onEnd: function onEnd() {
145
- setMoveItemId(null);
146
- setMoveTargetId(null);
147
- setListStatus(null);
148
- },
149
- ghostClass: ghostClass
150
- }, _children.map(function (item, index) {
151
- return /*#__PURE__*/React.createElement(SortableItem, {
152
- key: item.id,
153
- data: item,
154
- itemIndex: index,
155
- onClick: onItemClick
156
- });
157
- }))));
158
- };
159
- export default GroupItemModal;
@@ -1,34 +0,0 @@
1
- import Dialog from 'rc-dialog';
2
- import 'rc-dialog/assets/index.css';
3
- import React from 'react';
4
- import ReactJson from 'react-json-view';
5
- /**
6
- * 查看当前项的详细信息,开发模式下会额外显示原始数据
7
- */
8
- var ItemInfoModal = function ItemInfoModal(props) {
9
- var _data$data$name, _data$data;
10
- var data = props.data,
11
- _onClose = props.onClose;
12
- return /*#__PURE__*/React.createElement(Dialog, {
13
- visible: !!data,
14
- onClose: function onClose() {
15
- _onClose();
16
- },
17
- animation: "zoom",
18
- maskAnimation: "fade",
19
- mousePosition: data !== null && data !== void 0 && data.pageX && data !== null && data !== void 0 && data.pageY ? {
20
- x: data === null || data === void 0 ? void 0 : data.pageX,
21
- y: data === null || data === void 0 ? void 0 : data.pageY
22
- } : null,
23
- footer: null,
24
- title: (_data$data$name = data === null || data === void 0 || (_data$data = data.data) === null || _data$data === void 0 ? void 0 : _data$data.name) !== null && _data$data$name !== void 0 ? _data$data$name : '信息'
25
- }, data && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
26
- className: "mb-2"
27
- }, "\u5F00\u53D1\u8005\u4FE1\u606F"), /*#__PURE__*/React.createElement("div", {
28
- className: "p-2 rounded-md bg-[#272822]"
29
- }, /*#__PURE__*/React.createElement(ReactJson, {
30
- src: data,
31
- theme: "monokai"
32
- }))));
33
- };
34
- export default ItemInfoModal;
@@ -1,78 +0,0 @@
1
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
2
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
4
- import { css, cx } from '@emotion/css';
5
- import { motion } from 'framer-motion';
6
- import RcTooltip from 'rc-tooltip';
7
- import 'rc-tooltip/assets/bootstrap_white.css';
8
- import React from 'react';
9
- import ContextMenu from "../ContextMenu";
10
- import { useSortableConfig } from "../context/config/hooks";
11
- import { useSortableState } from "../context/state/hooks";
12
- import SortableUtils from "../utils";
13
- export var SortableItemDefaultContent = function SortableItemDefaultContent(props) {
14
- var data = props.data,
15
- _props$noLetters = props.noLetters,
16
- noLetters = _props$noLetters === void 0 ? false : _props$noLetters;
17
- var _useSortableState = useSortableState(),
18
- contextMenuFuns = _useSortableState.contextMenuFuns;
19
- var _useSortableConfig = useSortableConfig(),
20
- itemIconBuilder = _useSortableConfig.itemIconBuilder,
21
- theme = _useSortableConfig.theme,
22
- contextMenu = _useSortableConfig.contextMenu;
23
- var _SortableUtils$getThe = SortableUtils.getTheme(theme),
24
- light = _SortableUtils$getThe.light,
25
- dark = _SortableUtils$getThe.dark;
26
- var _data$data = data.data,
27
- itemData = _data$data === void 0 ? {} : _data$data;
28
- var _ref = itemData,
29
- name = _ref.name;
30
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(motion.div, {
31
- className: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 4rem;\n height: 4rem;\n background-color: ", ";\n border-radius: 0.75rem;\n box-shadow: 0 0 0.5rem ", ";\n cursor: pointer;\n position: relative;\n overflow: hidden;\n @media (prefers-color-scheme: dark) {\n background-color: ", ";\n box-shadow: 0 0 0.5rem ", ";\n }\n "])), light.itemIconBackgroundColor, light.itemIconShadowColor, dark.itemIconBackgroundColor, dark.itemIconShadowColor),
32
- whileTap: {
33
- scale: 0.9
34
- }
35
- }, /*#__PURE__*/React.createElement("div", _extends({
36
- className: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n color: ", ";\n @media (prefers-color-scheme: dark) {\n color: ", ";\n }\n "])), light.itemNameColor, dark.itemNameColor)
37
- }, contextMenuFuns(data, contextMenu !== false)), itemIconBuilder === null || itemIconBuilder === void 0 ? void 0 : itemIconBuilder(data))), /*#__PURE__*/React.createElement(motion.p, {
38
- className: cx(css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n text-align: center;\n margin-top: 0.25rem;\n margin-bottom: 0;\n color: ", ";\n @media (prefers-color-scheme: dark) {\n color: ", ";\n }\n "])), light.itemNameColor, dark.itemNameColor), noLetters && css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n color: transparent;\n "]))))
39
- }, name));
40
- };
41
- var SortableItem = function SortableItem(props) {
42
- var data = props.data,
43
- className = props.className,
44
- itemIndex = props.itemIndex,
45
- _onClick = props.onClick,
46
- _props$disabledDrag = props.disabledDrag,
47
- disabledDrag = _props$disabledDrag === void 0 ? false : _props$disabledDrag,
48
- children = props.children,
49
- parentIds = props.parentIds,
50
- childrenLength = props.childrenLength;
51
- var _useSortableState2 = useSortableState(),
52
- contextMenu = _useSortableState2.contextMenu,
53
- setContextMenu = _useSortableState2.setContextMenu;
54
- var _useSortableConfig2 = useSortableConfig(),
55
- configContextMenu = _useSortableConfig2.contextMenu;
56
- return /*#__PURE__*/React.createElement(RcTooltip, {
57
- placement: "bottom",
58
- overlayClassName: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n background-color: transparent;\n .rc-tooltip-inner {\n background-color: transparent;\n padding: 0;\n border: none;\n }\n "]))),
59
- overlay: /*#__PURE__*/React.createElement(ContextMenu, configContextMenu),
60
- visible: (contextMenu === null || contextMenu === void 0 ? void 0 : contextMenu.data.id) === data.id,
61
- onVisibleChange: function onVisibleChange(visible) {
62
- if (!visible) {
63
- setContextMenu(null);
64
- }
65
- },
66
- destroyTooltipOnHide: true
67
- }, /*#__PURE__*/React.createElement(motion.div, {
68
- "data-id": data.id,
69
- "data-index": itemIndex,
70
- "data-parent-ids": parentIds === null || parentIds === void 0 ? void 0 : parentIds.join(','),
71
- "data-children-length": childrenLength,
72
- onClick: function onClick() {
73
- return _onClick === null || _onClick === void 0 ? void 0 : _onClick(data);
74
- },
75
- className: cx(disabledDrag && 'drag-disabled', className)
76
- }, children !== null && children !== void 0 ? children : /*#__PURE__*/React.createElement(SortableItemDefaultContent, props)));
77
- };
78
- export default SortableItem;
@@ -1,185 +0,0 @@
1
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
2
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
4
- import { css, cx } from '@emotion/css';
5
- import React, { useMemo, useRef } from 'react';
6
- import Slider from 'react-slick';
7
- import { ReactSortable } from 'react-sortablejs';
8
- import 'slick-carousel/slick/slick-theme.css';
9
- import 'slick-carousel/slick/slick.css';
10
- import SortableGroupItem from "./Items/GroupItem";
11
- import GroupItemModal from "./Items/Modal/GroupItemModal";
12
- import ItemInfoModal from "./Items/Modal/InfoModal";
13
- import SortableItem from "./Items/SortableItem";
14
- import { useSortableConfig } from "./context/config/hooks";
15
- import { useSortableState } from "./context/state/hooks";
16
- import { ghostClass } from "./style";
17
- var Sortable = function Sortable(props) {
18
- var _props$pagination = props.pagination,
19
- pagination = _props$pagination === void 0 ? {
20
- position: 'bottom'
21
- } : _props$pagination,
22
- className = props.className,
23
- sliderProps = props.sliderProps,
24
- _sliderRef = props.sliderRef,
25
- onItemClick = props.onItemClick;
26
- var sliderRef = useRef(null);
27
- var sliderDotsRef = useRef(null);
28
- var _useSortableState = useSortableState(),
29
- list = _useSortableState.list,
30
- _setList = _useSortableState.setList,
31
- setListStatus = _useSortableState.setListStatus,
32
- showInfoItemData = _useSortableState.showInfoItemData,
33
- setShowInfoItemData = _useSortableState.setShowInfoItemData,
34
- openGroupItemData = _useSortableState.openGroupItemData,
35
- setOpenGroupItemData = _useSortableState.setOpenGroupItemData,
36
- setMoveItemId = _useSortableState.setMoveItemId,
37
- setMoveTargetId = _useSortableState.setMoveTargetId,
38
- addItem = _useSortableState.addItem;
39
- var _useSortableConfig = useSortableConfig(),
40
- pagingDotBuilder = _useSortableConfig.pagingDotBuilder,
41
- pagingDotsBuilder = _useSortableConfig.pagingDotsBuilder,
42
- itemBuilder = _useSortableConfig.itemBuilder;
43
- var paginingLocationCss = useMemo(function () {
44
- var _pagination$position;
45
- if (pagination === false) {
46
- return {};
47
- }
48
- return {
49
- top: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n .slick-list {\n order: 1;\n }\n .slick-dots {\n position: static;\n }\n "]))),
50
- bottom: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .slick-dots {\n position: static;\n }\n "]))),
51
- left: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n .slick-dots {\n position: absolute;\n width: auto;\n left: 0;\n top: 0;\n bottom: 0;\n transform: translateX(-100%);\n display: flex;\n justify-content: center;\n align-items: center;\n .slick-dots-default {\n flex-direction: column;\n }\n }\n "]))),
52
- right: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n .slick-dots {\n position: absolute;\n width: auto;\n right: 0;\n top: 0;\n bottom: 0;\n transform: translateX(100%);\n display: flex;\n justify-content: center;\n align-items: center;\n .slick-dots-default {\n flex-direction: column;\n }\n }\n "])))
53
- }[(_pagination$position = pagination.position) !== null && _pagination$position !== void 0 ? _pagination$position : 'bottom'];
54
- }, [pagination]);
55
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Slider, _extends({
56
- useCSS: true,
57
- useTransform: true,
58
- arrows: false,
59
- ref: _sliderRef !== null && _sliderRef !== void 0 ? _sliderRef : sliderRef,
60
- infinite: false,
61
- dots: true,
62
- touchMove: false,
63
- lazyLoad: "anticipated",
64
- className: cx(paginingLocationCss, css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n .slick-track {\n display: flex;\n align-items: stretch;\n }\n .slick-slide {\n display: flex;\n align-self: stretch;\n height: unset;\n > div {\n display: flex;\n align-self: stretch;\n width: 100%;\n }\n }\n "]))), className),
65
- customPaging: function customPaging(i) {
66
- var _list$i;
67
- if (pagingDotBuilder) {
68
- return pagingDotBuilder(list[i], i);
69
- }
70
- return /*#__PURE__*/React.createElement("div", {
71
- onDragEnter: function onDragEnter() {
72
- var _current;
73
- (_current = (_sliderRef !== null && _sliderRef !== void 0 ? _sliderRef : sliderRef).current) === null || _current === void 0 || _current.slickGoTo(i);
74
- }
75
- }, (_list$i = list[i]) === null || _list$i === void 0 || (_list$i = _list$i.data) === null || _list$i === void 0 ? void 0 : _list$i.name);
76
- },
77
- appendDots: function appendDots(dots) {
78
- if (pagingDotsBuilder) {
79
- return pagingDotsBuilder(dots);
80
- }
81
- if (pagination === false) {
82
- return /*#__PURE__*/React.createElement("div", null);
83
- }
84
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("ul", {
85
- ref: sliderDotsRef,
86
- className: cx('slick-dots-default', css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n padding: 0.5rem;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n gap: 0.5rem;\n background-color: rgba(0, 0, 0, 0.1);\n border-radius: 0.5rem;\n .slick-active {\n background-color: rgba(0, 0, 0, 0.3);\n color: white;\n padding: 0.25rem;\n border-radius: 0.25rem;\n }\n li {\n margin: 0;\n width: auto;\n height: auto;\n }\n "]))))
87
- }, dots));
88
- }
89
- }, sliderProps), list.map(function (l) {
90
- var _l$children, _l$children2;
91
- return /*#__PURE__*/React.createElement("div", {
92
- key: l.id,
93
- onDrop: function onDrop(e) {
94
- e.preventDefault();
95
- var data = e.dataTransfer.getData('text/plain');
96
- if (data !== '') {
97
- try {
98
- addItem(JSON.parse(data), [l.id]);
99
- } catch (e) {
100
- console.log('drag error', e);
101
- }
102
- }
103
- },
104
- onDragOver: function onDragOver(e) {
105
- e.preventDefault();
106
- }
107
- }, /*#__PURE__*/React.createElement(ReactSortable, {
108
- className: cx(css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n display: grid;\n transition: all 0.3s;\n grid-template-columns: repeat(auto-fill, 96px);\n grid-auto-flow: dense;\n grid-auto-rows: 96px;\n place-items: center;\n justify-content: center;\n align-items: center;\n "])))),
109
- animation: 150,
110
- fallbackOnBody: true,
111
- swapThreshold: 0.65,
112
- group: "nested",
113
- list: (_l$children = l.children) !== null && _l$children !== void 0 ? _l$children : [],
114
- setList: function setList(e) {
115
- return _setList(e, [l.id]);
116
- },
117
- filter: ".drag-disabled",
118
- onMove: function onMove(e) {
119
- setListStatus('onMove');
120
- var dragged = e.dragged,
121
- related = e.related;
122
- var draggedData = dragged.dataset;
123
- var relatedData = related.dataset;
124
- setMoveTargetId(null);
125
- // 限制只有一层
126
- // sortable-group-item 标记为文件夹
127
- if ((Object.keys(relatedData).length === 0 || relatedData.parentIds) && Number(draggedData.childrenLength) > 0 && related.classList.contains('sortable-group-item')) {
128
- return false;
129
- }
130
- return true;
131
- },
132
- onStart: function onStart(e) {
133
- var dataset = e.item.dataset;
134
- if (dataset !== null && dataset !== void 0 && dataset.id) {
135
- setMoveItemId(dataset.id);
136
- }
137
- setListStatus('onMove');
138
- },
139
- onEnd: function onEnd() {
140
- setMoveItemId(null);
141
- setMoveTargetId(null);
142
- setListStatus(null);
143
- },
144
- ghostClass: ghostClass
145
- }, ((_l$children2 = l.children) !== null && _l$children2 !== void 0 ? _l$children2 : []).map(function (item, index) {
146
- var el;
147
- if (itemBuilder) {
148
- return itemBuilder(item);
149
- }
150
- switch (item.type) {
151
- case 'group':
152
- case 'app':
153
- el = /*#__PURE__*/React.createElement(SortableGroupItem, {
154
- key: item.id,
155
- data: item,
156
- itemIndex: index,
157
- parentIds: [l.id, item.id],
158
- onClick: onItemClick
159
- });
160
- break;
161
- default:
162
- el = /*#__PURE__*/React.createElement(SortableItem, {
163
- key: item.id,
164
- data: item,
165
- itemIndex: index,
166
- onClick: onItemClick
167
- });
168
- break;
169
- }
170
- return el;
171
- })));
172
- })), /*#__PURE__*/React.createElement(ItemInfoModal, {
173
- data: showInfoItemData,
174
- onClose: function onClose() {
175
- setShowInfoItemData(null);
176
- }
177
- }), /*#__PURE__*/React.createElement(GroupItemModal, {
178
- data: openGroupItemData,
179
- onClose: function onClose() {
180
- setOpenGroupItemData(null);
181
- },
182
- onItemClick: onItemClick
183
- }));
184
- };
185
- export default Sortable;
@@ -1,16 +0,0 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- // app 类型 config
8
- export var appConfig = {
9
- maxRow: 2,
10
- maxCol: 2
11
- };
12
- export var groupConfig = _objectSpread({}, appConfig);
13
- export var configMap = {
14
- app: appConfig,
15
- group: groupConfig
16
- };
@@ -1,36 +0,0 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- var _excluded = ["children", "theme"];
3
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
- import React, { createContext, useMemo } from 'react';
11
- import { themeDark, themeLight } from "../../theme";
12
-
13
- /**
14
- * 需要跨多个组件传递的配置,使用 context 传递
15
- */
16
-
17
- export var SortableConfigContext = /*#__PURE__*/createContext({});
18
- export var SortableConfigProvider = function SortableConfigProvider(props) {
19
- var children = props.children,
20
- propTheme = props.theme,
21
- rest = _objectWithoutProperties(props, _excluded);
22
- var theme = useMemo(function () {
23
- if (propTheme === 'light') {
24
- return themeLight;
25
- } else if (propTheme === 'dark') {
26
- return themeDark;
27
- } else {
28
- return propTheme;
29
- }
30
- }, [propTheme]);
31
- return /*#__PURE__*/React.createElement(SortableConfigContext.Provider, {
32
- value: _objectSpread({
33
- theme: theme
34
- }, rest)
35
- }, children);
36
- };
@@ -1 +0,0 @@
1
- export declare const useSortableConfig: () => import("./context").SortableConfig<any, any>;
@@ -1,6 +0,0 @@
1
- import { useContext } from 'react';
2
- import { SortableConfigContext } from "./context";
3
- export var useSortableConfig = function useSortableConfig() {
4
- var state = useContext(SortableConfigContext);
5
- return state;
6
- };