musae 0.3.3 → 0.3.6

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 (158) hide show
  1. package/dist/components/avatar/avatar.cjs +10 -2
  2. package/dist/components/avatar/avatar.mjs +10 -2
  3. package/dist/components/button/button.cjs +11 -10
  4. package/dist/components/button/button.mjs +7 -6
  5. package/dist/components/calendar/contribution.cjs +251 -0
  6. package/dist/components/calendar/contribution.d.ts +13 -0
  7. package/dist/components/calendar/contribution.mjs +249 -0
  8. package/dist/components/calendar/index.d.ts +2 -1
  9. package/dist/components/config/provider.cjs +2 -2
  10. package/dist/components/config/provider.mjs +2 -2
  11. package/dist/components/drawer/popup.cjs +51 -17
  12. package/dist/components/drawer/popup.d.ts +1 -1
  13. package/dist/components/drawer/popup.mjs +51 -17
  14. package/dist/components/fab/floatable.d.ts +1 -1
  15. package/dist/components/icon/icons/action/delete.cjs +20 -0
  16. package/dist/components/icon/icons/action/delete.d.ts +3 -0
  17. package/dist/components/icon/icons/action/delete.mjs +18 -0
  18. package/dist/components/icon/icons/action/index.cjs +7 -1
  19. package/dist/components/icon/icons/action/index.d.ts +5 -1
  20. package/dist/components/icon/icons/action/index.mjs +6 -2
  21. package/dist/components/icon/icons/action/three-d-rotation.cjs +28 -0
  22. package/dist/components/icon/icons/action/three-d-rotation.d.ts +3 -0
  23. package/dist/components/icon/icons/action/three-d-rotation.mjs +26 -0
  24. package/dist/components/icon/icons/editor/attch-file.cjs +20 -0
  25. package/dist/components/icon/icons/editor/attch-file.d.ts +3 -0
  26. package/dist/components/icon/icons/editor/attch-file.mjs +18 -0
  27. package/dist/components/icon/icons/editor/index.cjs +4 -1
  28. package/dist/components/icon/icons/editor/index.d.ts +3 -1
  29. package/dist/components/icon/icons/editor/index.mjs +4 -2
  30. package/dist/components/icon/icons/index.cjs +6 -0
  31. package/dist/components/icon/icons/index.mjs +3 -0
  32. package/dist/components/image/image.cjs +49 -2
  33. package/dist/components/image/image.d.ts +1 -1
  34. package/dist/components/image/image.mjs +50 -3
  35. package/dist/components/image/index.d.ts +1 -1
  36. package/dist/components/image/preview/preview.cjs +8 -3
  37. package/dist/components/image/preview/preview.mjs +8 -3
  38. package/dist/components/menu/hooks.d.ts +1 -2
  39. package/dist/components/menu/item.d.ts +2 -3
  40. package/dist/components/pagination/pagination.cjs +1 -1
  41. package/dist/components/pagination/pagination.mjs +2 -2
  42. package/dist/components/popover/popover.cjs +1 -1
  43. package/dist/components/popover/popover.mjs +1 -1
  44. package/dist/components/popper/dropdown.cjs +44 -19
  45. package/dist/components/popper/dropdown.mjs +46 -21
  46. package/dist/components/popper/hooks.cjs +88 -89
  47. package/dist/components/popper/hooks.d.ts +7 -13
  48. package/dist/components/popper/hooks.mjs +91 -91
  49. package/dist/components/rich-text-editor/plugins/controlled-state/index.cjs +1 -2
  50. package/dist/components/rich-text-editor/plugins/controlled-state/index.mjs +1 -2
  51. package/dist/components/rich-text-editor/plugins/markdown-shortcut/index.cjs +5 -4
  52. package/dist/components/rich-text-editor/plugins/markdown-shortcut/index.d.ts +3 -3
  53. package/dist/components/rich-text-editor/plugins/markdown-shortcut/index.mjs +3 -4
  54. package/dist/components/rich-text-editor/rich-text-editor.cjs +5 -5
  55. package/dist/components/rich-text-editor/rich-text-editor.mjs +3 -3
  56. package/dist/components/select/utils.cjs +1 -3
  57. package/dist/components/select/utils.d.ts +1 -1
  58. package/dist/components/select/utils.mjs +2 -4
  59. package/dist/components/skeleton/skeleton.cjs +5 -48
  60. package/dist/components/skeleton/skeleton.d.ts +1 -1
  61. package/dist/components/skeleton/skeleton.mjs +5 -48
  62. package/dist/components/steps/context.d.ts +1 -1
  63. package/dist/components/steps/item.d.ts +1 -1
  64. package/dist/components/steps/steps.d.ts +1 -1
  65. package/dist/components/switch/switch.cjs +7 -6
  66. package/dist/components/switch/switch.d.ts +1 -1
  67. package/dist/components/switch/switch.mjs +8 -7
  68. package/dist/components/table/body.cjs +3 -1
  69. package/dist/components/table/body.mjs +3 -1
  70. package/dist/components/tabs/context.d.ts +1 -1
  71. package/dist/components/tabs/hooks.d.ts +2 -2
  72. package/dist/components/tabs/navigation.d.ts +1 -1
  73. package/dist/components/tabs/panels.d.ts +1 -1
  74. package/dist/components/tabs/tab.d.ts +1 -1
  75. package/dist/components/tabs/tabs.d.ts +1 -1
  76. package/dist/components/tag/tag.d.ts +1 -1
  77. package/dist/components/theme/hooks.cjs +6 -6
  78. package/dist/components/theme/hooks.d.ts +1 -1
  79. package/dist/components/theme/hooks.mjs +6 -6
  80. package/dist/components/theme/theme-provider.cjs +12 -6
  81. package/dist/components/theme/theme-provider.d.ts +2 -2
  82. package/dist/components/theme/theme-provider.mjs +12 -6
  83. package/dist/components/time-picker/hooks.d.ts +1 -1
  84. package/dist/components/time-picker/panel.d.ts +1 -1
  85. package/dist/components/time-picker/time-picker.d.ts +1 -1
  86. package/dist/components/timeline/context.d.ts +1 -1
  87. package/dist/components/timeline/item.d.ts +1 -1
  88. package/dist/components/timeline/timeline.d.ts +1 -1
  89. package/dist/components/tooltip/tooltip.d.ts +1 -1
  90. package/dist/components/transfer/context.d.ts +1 -1
  91. package/dist/components/transfer/hooks.d.ts +1 -1
  92. package/dist/components/transfer/item.d.ts +1 -1
  93. package/dist/components/transfer/list.d.ts +1 -1
  94. package/dist/components/transfer/transfer.d.ts +1 -1
  95. package/dist/components/upload/upload.cjs +31 -6
  96. package/dist/components/upload/upload.d.ts +2 -2
  97. package/dist/components/upload/upload.mjs +31 -6
  98. package/dist/components/upload/uploadeds.cjs +119 -55
  99. package/dist/components/upload/uploadeds.d.ts +1 -1
  100. package/dist/components/upload/uploadeds.mjs +121 -57
  101. package/dist/components/upload/utils.cjs +9 -0
  102. package/dist/components/upload/utils.d.ts +6 -0
  103. package/dist/components/upload/utils.mjs +9 -0
  104. package/dist/components/visually-hidden/visually-hidden.d.ts +1 -1
  105. package/dist/components/waterfall/sequential.d.ts +1 -1
  106. package/dist/components/waterfall/waterfall.d.ts +1 -1
  107. package/dist/components/watermark/hooks.d.ts +1 -1
  108. package/dist/components/watermark/watermark.d.ts +1 -1
  109. package/dist/hooks/use-class-names.d.ts +4 -0
  110. package/dist/hooks/use-closable.cjs +0 -8
  111. package/dist/hooks/use-closable.mjs +0 -8
  112. package/dist/hooks/use-container.d.ts +1 -1
  113. package/dist/hooks/use-lazy-boolean.cjs +2 -2
  114. package/dist/hooks/use-lazy-boolean.mjs +2 -2
  115. package/dist/index.cjs +2 -0
  116. package/dist/index.d.ts +1 -1
  117. package/dist/index.mjs +1 -0
  118. package/dist/locale/locales/en_US.cjs +5 -1
  119. package/dist/locale/locales/en_US.mjs +5 -1
  120. package/dist/locale/locales/zh_CN.cjs +5 -1
  121. package/dist/locale/locales/zh_CN.mjs +5 -1
  122. package/dist/styles.css +16 -7
  123. package/dist/types/drawer.d.ts +5 -0
  124. package/dist/types/element.d.ts +1 -56
  125. package/dist/types/form.d.ts +39 -1
  126. package/dist/types/image.d.ts +1 -0
  127. package/dist/types/locale.d.ts +6 -0
  128. package/dist/types/menu.d.ts +8 -3
  129. package/dist/types/popper.d.ts +1 -1
  130. package/dist/types/skeleton.d.ts +0 -7
  131. package/dist/{components/theme/types.d.ts → types/theme.d.ts} +1 -1
  132. package/dist/types/tree.d.ts +7 -2
  133. package/dist/{components/upload/types.d.ts → types/upload.d.ts} +59 -22
  134. package/dist/{components/waterfall/types.d.ts → types/waterfall.d.ts} +3 -3
  135. package/dist/utils/class-name.cjs +5 -1
  136. package/dist/utils/class-name.d.ts +12 -1
  137. package/dist/utils/class-name.mjs +6 -2
  138. package/dist/utils/colors.cjs +0 -10
  139. package/dist/utils/colors.d.ts +1 -4
  140. package/dist/utils/colors.mjs +1 -10
  141. package/dist/utils/component-token.cjs +2 -0
  142. package/dist/utils/component-token.d.ts +3 -1
  143. package/dist/utils/component-token.mjs +2 -0
  144. package/dist/utils/date.cjs +13 -0
  145. package/dist/utils/date.d.ts +6 -0
  146. package/dist/utils/date.mjs +13 -0
  147. package/package.json +25 -25
  148. package/dist/components/icon/icons/three-dimension-rotation.d.ts +0 -3
  149. /package/dist/{components/steps/types.d.ts → types/steps.d.ts} +0 -0
  150. /package/dist/{components/switch/types.d.ts → types/switch.d.ts} +0 -0
  151. /package/dist/{components/tabs/types.d.ts → types/tabs.d.ts} +0 -0
  152. /package/dist/{components/tag/types.d.ts → types/tag.d.ts} +0 -0
  153. /package/dist/{components/time-picker/types.d.ts → types/time-picker.d.ts} +0 -0
  154. /package/dist/{components/timeline/types.d.ts → types/timeline.d.ts} +0 -0
  155. /package/dist/{components/tooltip/types.d.ts → types/tooltip.d.ts} +0 -0
  156. /package/dist/{components/transfer/types.d.ts → types/transfer.d.ts} +0 -0
  157. /package/dist/{components/visually-hidden/types.d.ts → types/visually-hidden.d.ts} +0 -0
  158. /package/dist/{components/watermark/types.d.ts → types/watermark.d.ts} +0 -0
@@ -28,132 +28,125 @@ var useOffsets = function useOffsets(_ref) {
28
28
  };
29
29
  /**
30
30
  * @description
31
- * use animation
31
+ * floating position
32
32
  */
33
- var useAnimation = function useAnimation(_ref2) {
33
+ var useFloating = function useFloating(_ref2) {
34
34
  var open = _ref2.open,
35
- disappearable = _ref2.disappearable,
35
+ _trigger = _ref2.trigger,
36
+ placement = _ref2.placement,
37
+ arrowable = _ref2.arrowable,
38
+ _offset = _ref2.offset,
36
39
  onEntered = _ref2.onEntered,
37
40
  onExit = _ref2.onExit,
38
- onExited = _ref2.onExited;
41
+ onExited = _ref2.onExited,
42
+ disappearable = _ref2.disappearable;
39
43
  var _useAnimate = framerMotion.useAnimate(),
40
44
  _useAnimate2 = _slicedToArray(_useAnimate, 2),
41
- animatableRef = _useAnimate2[0],
45
+ floatableRef = _useAnimate2[0],
42
46
  animate = _useAnimate2[1];
47
+ var arrowRef = React.useRef(null);
48
+ var _useContainer = useContainer.useContainer({
49
+ container: _trigger,
50
+ useBody: false
51
+ }, [open]),
52
+ trigger = _useContainer.container;
53
+ var _isOpen = React.useRef(false);
54
+ // appear animation
55
+ // prevent open again when opened
56
+ // first remove `display: none` style
57
+ // then animate
43
58
  var appear = relax.useEvent(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
44
59
  return _regeneratorRuntime().wrap(function _callee$(_context) {
45
60
  while (1) switch (_context.prev = _context.next) {
46
61
  case 0:
47
- animatableRef.current.style.display = "";
48
- _context.next = 3;
49
- return animate(animatableRef.current, {
50
- opacity: 1,
51
- transform: "scale(1, 1)"
62
+ if (!_isOpen.current) {
63
+ _context.next = 2;
64
+ break;
65
+ }
66
+ return _context.abrupt("return");
67
+ case 2:
68
+ _isOpen.current = true;
69
+ floatableRef.current.style.display = "unset";
70
+ _context.next = 6;
71
+ return animate(floatableRef.current, {
72
+ opacity: 1
52
73
  }, {
53
74
  duration: 0.2
54
75
  });
55
- case 3:
56
- _context.next = 5;
76
+ case 6:
77
+ _context.next = 8;
57
78
  return onEntered === null || onEntered === void 0 ? void 0 : onEntered();
58
- case 5:
79
+ case 8:
59
80
  case "end":
60
81
  return _context.stop();
61
82
  }
62
83
  }, _callee);
63
84
  })));
85
+ // disappear animation
86
+ // prevent disappear again when disappeared
87
+ // when using force disappear, it will be forced to disappear
64
88
  var disappear = relax.useEvent(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
89
+ var force,
90
+ _args2 = arguments;
65
91
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
66
92
  while (1) switch (_context2.prev = _context2.next) {
67
93
  case 0:
68
- _context2.next = 2;
69
- return Promise.all([onExit === null || onExit === void 0 ? void 0 : onExit(), animate(animatableRef.current, {
70
- opacity: 0,
71
- transform: "scale(0, 0)"
94
+ force = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : false;
95
+ if (_isOpen.current) {
96
+ _context2.next = 3;
97
+ break;
98
+ }
99
+ return _context2.abrupt("return");
100
+ case 3:
101
+ if (!(!force && !disappearable)) {
102
+ _context2.next = 5;
103
+ break;
104
+ }
105
+ return _context2.abrupt("return");
106
+ case 5:
107
+ _isOpen.current = false;
108
+ _context2.next = 8;
109
+ return Promise.all([onExit === null || onExit === void 0 ? void 0 : onExit(), animate(floatableRef.current, {
110
+ opacity: 0
72
111
  }, {
73
112
  duration: 0.2
74
113
  }).then(function () {
75
- if (!animatableRef.current) return;
76
- animatableRef.current.style.display = "none";
114
+ floatableRef.current.style.display = "none";
77
115
  })]);
78
- case 2:
79
- _context2.next = 4;
116
+ case 8:
117
+ _context2.next = 10;
80
118
  return onExited === null || onExited === void 0 ? void 0 : onExited();
81
- case 4:
119
+ case 10:
82
120
  case "end":
83
121
  return _context2.stop();
84
122
  }
85
123
  }, _callee2);
86
124
  })));
87
- var _disappear = React.useCallback(function () {
88
- if (!disappearable) return;
89
- disappear();
90
- }, [disappear, disappearable]);
91
- React.useLayoutEffect(function () {
92
- if (open) {
93
- appear();
94
- return;
95
- }
96
- _disappear();
97
- // eslint-disable-next-line react-hooks/exhaustive-deps
98
- }, [open]);
99
- return {
100
- animatableRef: animatableRef,
101
- disappear: disappear
102
- };
103
- };
104
- /**
105
- * @description
106
- * floating position
107
- */
108
- var useFloating = function useFloating(_ref5) {
109
- var open = _ref5.open,
110
- _trigger = _ref5.trigger,
111
- placement = _ref5.placement,
112
- arrowable = _ref5.arrowable,
113
- _offset = _ref5.offset;
114
- var floatableRef = React.useRef(null);
115
- var _useContainer = useContainer.useContainer({
116
- container: _trigger,
117
- useBody: false
118
- }, [open]),
119
- trigger = _useContainer.container;
120
- var arrowRef = React.useRef(null);
121
125
  // memorized offsets
122
126
  var offsets = useOffsets({
123
127
  offset: _offset,
124
128
  arrowable: arrowable
125
129
  });
126
- // auto update: calc trigger dom to get position
127
- // if trigger changed, re-relate
128
- React.useLayoutEffect(function () {
129
- var floatable = floatableRef.current;
130
+ // position listener
131
+ var position = relax.useEvent(function () {
130
132
  if (!trigger) return;
131
- if (!floatable) return;
132
- var cleanup = dom.autoUpdate(trigger, floatable, function () {
133
- dom.computePosition(trigger, floatable, {
133
+ var cleanup = dom.autoUpdate(trigger, floatableRef.current, function () {
134
+ dom.computePosition(trigger, floatableRef.current, {
134
135
  placement: placement,
135
- middleware: [dom.flip(), dom.offset(offsets), arrowable && !!arrowRef.current && dom.arrow({
136
+ middleware: [dom.flip(), dom.shift(), dom.offset(offsets), arrowable && !!arrowRef.current && dom.arrow({
136
137
  element: arrowRef.current,
137
138
  padding: 16
138
- }), dom.size({
139
- apply: function apply(_ref6) {
140
- var availableWidth = _ref6.availableWidth,
141
- availableHeight = _ref6.availableHeight,
142
- floating = _ref6.elements.floating;
143
- floating.style.maxWidth = "".concat(availableWidth, "px");
144
- floating.style.maxHeight = "".concat(availableHeight, "px");
145
- }
146
139
  })]
147
- }).then(function (_ref7) {
148
- var x = _ref7.x,
149
- y = _ref7.y,
150
- middlewareData = _ref7.middlewareData,
151
- _placement = _ref7.placement;
140
+ }).then(function (_ref5) {
141
+ var x = _ref5.x,
142
+ y = _ref5.y,
143
+ middlewareData = _ref5.middlewareData,
144
+ _placement = _ref5.placement;
152
145
  var _placement$split = _placement.split("-"),
153
146
  _placement$split2 = _slicedToArray(_placement$split, 1),
154
147
  side = _placement$split2[0];
155
148
  // set float element styles
156
- floatable.style.translate = "".concat(x, "px ").concat(y, "px");
149
+ floatableRef.current.style.translate = "".concat(x, "px ").concat(y, "px");
157
150
  // set arrow styles
158
151
  if (middlewareData.arrow && !!arrowRef.current) {
159
152
  var _middlewareData$arrow, _middlewareData$arrow2;
@@ -163,25 +156,31 @@ var useFloating = function useFloating(_ref5) {
163
156
  side === "top" && (arrowRef.current.style.insetBlockEnd = offsetY);
164
157
  side === "bottom" && (arrowRef.current.style.insetBlockStart = offsetY);
165
158
  }
159
+ // use appear animation
160
+ appear();
166
161
  })["catch"](function () {
167
162
  return null;
168
- }).then(function () {
169
- requestAnimationFrame(function () {
170
- floatable.style.transitionProperty = "translate";
171
- floatable.style.transitionDuration = "0.1s";
172
- });
173
163
  });
174
164
  });
175
- return function () {
176
- cleanup();
177
- };
178
- }, [placement, trigger, offsets, arrowable]);
165
+ return cleanup;
166
+ });
167
+ // auto update: calc trigger dom to get position
168
+ // if trigger changed, re-relate
169
+ React.useEffect(function () {
170
+ if (open) {
171
+ var cleanup = position();
172
+ return function () {
173
+ cleanup === null || cleanup === void 0 || cleanup();
174
+ };
175
+ }
176
+ disappear();
177
+ }, [disappear, open, position]);
179
178
  return {
180
179
  floatableRef: floatableRef,
181
- arrowRef: arrowRef
180
+ arrowRef: arrowRef,
181
+ disappear: disappear
182
182
  };
183
183
  };
184
184
 
185
- exports.useAnimation = useAnimation;
186
185
  exports.useFloating = useFloating;
187
186
  exports.useOffsets = useOffsets;
@@ -11,28 +11,22 @@ export declare const useOffsets: ({ offset, arrowable, }: {
11
11
  crossAxis?: number;
12
12
  alignmentAxis?: number | null;
13
13
  };
14
- /**
15
- * @description
16
- * use animation
17
- */
18
- export declare const useAnimation: ({ open, disappearable, onEntered, onExit, onExited, }: {
19
- open: boolean;
20
- disappearable: boolean;
21
- } & Pick<PopperProps, "onEntered" | "onExit" | "onExited">) => {
22
- animatableRef: import("framer-motion").AnimationScope<HTMLDivElement>;
23
- disappear: () => Promise<void>;
24
- };
25
14
  /**
26
15
  * @description
27
16
  * floating position
28
17
  */
29
- export declare const useFloating: ({ open, trigger: _trigger, placement, arrowable, offset: _offset, }: {
18
+ export declare const useFloating: ({ open, trigger: _trigger, placement, arrowable, offset: _offset, onEntered, onExit, onExited, disappearable, }: {
30
19
  open: boolean;
31
20
  trigger: DropdownProps["trigger"];
32
21
  placement: DropdownProps["placement"];
33
22
  arrowable: boolean;
34
23
  offset: DropdownProps["offset"];
24
+ onEntered?: () => Promise<void> | void;
25
+ onExit?: () => Promise<void> | void;
26
+ onExited?: () => Promise<void> | void;
27
+ disappearable: boolean;
35
28
  }) => {
36
- floatableRef: import("react").RefObject<HTMLDivElement>;
29
+ floatableRef: import("framer-motion").AnimationScope<HTMLDivElement>;
37
30
  arrowRef: import("react").RefObject<HTMLDivElement>;
31
+ disappear: (force?: boolean) => Promise<void>;
38
32
  };
@@ -1,11 +1,11 @@
1
1
  import _regeneratorRuntime from '@babel/runtime/helpers/regeneratorRuntime';
2
2
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
3
3
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
- import { useCallback, useLayoutEffect, useRef, useMemo } from 'react';
4
+ import { useRef, useEffect, useMemo } from 'react';
5
5
  import { useAnimate } from 'framer-motion';
6
6
  import { useEvent } from '@aiszlab/relax';
7
7
  import { useContainer } from '../../hooks/use-container.mjs';
8
- import { autoUpdate, computePosition, flip, offset, arrow, size } from '@floating-ui/dom';
8
+ import { autoUpdate, computePosition, flip, shift, offset, arrow } from '@floating-ui/dom';
9
9
 
10
10
  /**
11
11
  * @description
@@ -28,132 +28,125 @@ var useOffsets = function useOffsets(_ref) {
28
28
  };
29
29
  /**
30
30
  * @description
31
- * use animation
31
+ * floating position
32
32
  */
33
- var useAnimation = function useAnimation(_ref2) {
33
+ var useFloating = function useFloating(_ref2) {
34
34
  var open = _ref2.open,
35
- disappearable = _ref2.disappearable,
35
+ _trigger = _ref2.trigger,
36
+ placement = _ref2.placement,
37
+ arrowable = _ref2.arrowable,
38
+ _offset = _ref2.offset,
36
39
  onEntered = _ref2.onEntered,
37
40
  onExit = _ref2.onExit,
38
- onExited = _ref2.onExited;
41
+ onExited = _ref2.onExited,
42
+ disappearable = _ref2.disappearable;
39
43
  var _useAnimate = useAnimate(),
40
44
  _useAnimate2 = _slicedToArray(_useAnimate, 2),
41
- animatableRef = _useAnimate2[0],
45
+ floatableRef = _useAnimate2[0],
42
46
  animate = _useAnimate2[1];
47
+ var arrowRef = useRef(null);
48
+ var _useContainer = useContainer({
49
+ container: _trigger,
50
+ useBody: false
51
+ }, [open]),
52
+ trigger = _useContainer.container;
53
+ var _isOpen = useRef(false);
54
+ // appear animation
55
+ // prevent open again when opened
56
+ // first remove `display: none` style
57
+ // then animate
43
58
  var appear = useEvent(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
44
59
  return _regeneratorRuntime().wrap(function _callee$(_context) {
45
60
  while (1) switch (_context.prev = _context.next) {
46
61
  case 0:
47
- animatableRef.current.style.display = "";
48
- _context.next = 3;
49
- return animate(animatableRef.current, {
50
- opacity: 1,
51
- transform: "scale(1, 1)"
62
+ if (!_isOpen.current) {
63
+ _context.next = 2;
64
+ break;
65
+ }
66
+ return _context.abrupt("return");
67
+ case 2:
68
+ _isOpen.current = true;
69
+ floatableRef.current.style.display = "unset";
70
+ _context.next = 6;
71
+ return animate(floatableRef.current, {
72
+ opacity: 1
52
73
  }, {
53
74
  duration: 0.2
54
75
  });
55
- case 3:
56
- _context.next = 5;
76
+ case 6:
77
+ _context.next = 8;
57
78
  return onEntered === null || onEntered === void 0 ? void 0 : onEntered();
58
- case 5:
79
+ case 8:
59
80
  case "end":
60
81
  return _context.stop();
61
82
  }
62
83
  }, _callee);
63
84
  })));
85
+ // disappear animation
86
+ // prevent disappear again when disappeared
87
+ // when using force disappear, it will be forced to disappear
64
88
  var disappear = useEvent(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
89
+ var force,
90
+ _args2 = arguments;
65
91
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
66
92
  while (1) switch (_context2.prev = _context2.next) {
67
93
  case 0:
68
- _context2.next = 2;
69
- return Promise.all([onExit === null || onExit === void 0 ? void 0 : onExit(), animate(animatableRef.current, {
70
- opacity: 0,
71
- transform: "scale(0, 0)"
94
+ force = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : false;
95
+ if (_isOpen.current) {
96
+ _context2.next = 3;
97
+ break;
98
+ }
99
+ return _context2.abrupt("return");
100
+ case 3:
101
+ if (!(!force && !disappearable)) {
102
+ _context2.next = 5;
103
+ break;
104
+ }
105
+ return _context2.abrupt("return");
106
+ case 5:
107
+ _isOpen.current = false;
108
+ _context2.next = 8;
109
+ return Promise.all([onExit === null || onExit === void 0 ? void 0 : onExit(), animate(floatableRef.current, {
110
+ opacity: 0
72
111
  }, {
73
112
  duration: 0.2
74
113
  }).then(function () {
75
- if (!animatableRef.current) return;
76
- animatableRef.current.style.display = "none";
114
+ floatableRef.current.style.display = "none";
77
115
  })]);
78
- case 2:
79
- _context2.next = 4;
116
+ case 8:
117
+ _context2.next = 10;
80
118
  return onExited === null || onExited === void 0 ? void 0 : onExited();
81
- case 4:
119
+ case 10:
82
120
  case "end":
83
121
  return _context2.stop();
84
122
  }
85
123
  }, _callee2);
86
124
  })));
87
- var _disappear = useCallback(function () {
88
- if (!disappearable) return;
89
- disappear();
90
- }, [disappear, disappearable]);
91
- useLayoutEffect(function () {
92
- if (open) {
93
- appear();
94
- return;
95
- }
96
- _disappear();
97
- // eslint-disable-next-line react-hooks/exhaustive-deps
98
- }, [open]);
99
- return {
100
- animatableRef: animatableRef,
101
- disappear: disappear
102
- };
103
- };
104
- /**
105
- * @description
106
- * floating position
107
- */
108
- var useFloating = function useFloating(_ref5) {
109
- var open = _ref5.open,
110
- _trigger = _ref5.trigger,
111
- placement = _ref5.placement,
112
- arrowable = _ref5.arrowable,
113
- _offset = _ref5.offset;
114
- var floatableRef = useRef(null);
115
- var _useContainer = useContainer({
116
- container: _trigger,
117
- useBody: false
118
- }, [open]),
119
- trigger = _useContainer.container;
120
- var arrowRef = useRef(null);
121
125
  // memorized offsets
122
126
  var offsets = useOffsets({
123
127
  offset: _offset,
124
128
  arrowable: arrowable
125
129
  });
126
- // auto update: calc trigger dom to get position
127
- // if trigger changed, re-relate
128
- useLayoutEffect(function () {
129
- var floatable = floatableRef.current;
130
+ // position listener
131
+ var position = useEvent(function () {
130
132
  if (!trigger) return;
131
- if (!floatable) return;
132
- var cleanup = autoUpdate(trigger, floatable, function () {
133
- computePosition(trigger, floatable, {
133
+ var cleanup = autoUpdate(trigger, floatableRef.current, function () {
134
+ computePosition(trigger, floatableRef.current, {
134
135
  placement: placement,
135
- middleware: [flip(), offset(offsets), arrowable && !!arrowRef.current && arrow({
136
+ middleware: [flip(), shift(), offset(offsets), arrowable && !!arrowRef.current && arrow({
136
137
  element: arrowRef.current,
137
138
  padding: 16
138
- }), size({
139
- apply: function apply(_ref6) {
140
- var availableWidth = _ref6.availableWidth,
141
- availableHeight = _ref6.availableHeight,
142
- floating = _ref6.elements.floating;
143
- floating.style.maxWidth = "".concat(availableWidth, "px");
144
- floating.style.maxHeight = "".concat(availableHeight, "px");
145
- }
146
139
  })]
147
- }).then(function (_ref7) {
148
- var x = _ref7.x,
149
- y = _ref7.y,
150
- middlewareData = _ref7.middlewareData,
151
- _placement = _ref7.placement;
140
+ }).then(function (_ref5) {
141
+ var x = _ref5.x,
142
+ y = _ref5.y,
143
+ middlewareData = _ref5.middlewareData,
144
+ _placement = _ref5.placement;
152
145
  var _placement$split = _placement.split("-"),
153
146
  _placement$split2 = _slicedToArray(_placement$split, 1),
154
147
  side = _placement$split2[0];
155
148
  // set float element styles
156
- floatable.style.translate = "".concat(x, "px ").concat(y, "px");
149
+ floatableRef.current.style.translate = "".concat(x, "px ").concat(y, "px");
157
150
  // set arrow styles
158
151
  if (middlewareData.arrow && !!arrowRef.current) {
159
152
  var _middlewareData$arrow, _middlewareData$arrow2;
@@ -163,23 +156,30 @@ var useFloating = function useFloating(_ref5) {
163
156
  side === "top" && (arrowRef.current.style.insetBlockEnd = offsetY);
164
157
  side === "bottom" && (arrowRef.current.style.insetBlockStart = offsetY);
165
158
  }
159
+ // use appear animation
160
+ appear();
166
161
  })["catch"](function () {
167
162
  return null;
168
- }).then(function () {
169
- requestAnimationFrame(function () {
170
- floatable.style.transitionProperty = "translate";
171
- floatable.style.transitionDuration = "0.1s";
172
- });
173
163
  });
174
164
  });
175
- return function () {
176
- cleanup();
177
- };
178
- }, [placement, trigger, offsets, arrowable]);
165
+ return cleanup;
166
+ });
167
+ // auto update: calc trigger dom to get position
168
+ // if trigger changed, re-relate
169
+ useEffect(function () {
170
+ if (open) {
171
+ var cleanup = position();
172
+ return function () {
173
+ cleanup === null || cleanup === void 0 || cleanup();
174
+ };
175
+ }
176
+ disappear();
177
+ }, [disappear, open, position]);
179
178
  return {
180
179
  floatableRef: floatableRef,
181
- arrowRef: arrowRef
180
+ arrowRef: arrowRef,
181
+ disappear: disappear
182
182
  };
183
183
  };
184
184
 
185
- export { useAnimation, useFloating, useOffsets };
185
+ export { useFloating, useOffsets };
@@ -6,7 +6,6 @@ var relax = require('@aiszlab/relax');
6
6
  var LexicalComposerContext = require('@lexical/react/LexicalComposerContext');
7
7
  var LexicalOnChangePlugin = require('@lexical/react/LexicalOnChangePlugin');
8
8
  var markdown = require('@lexical/markdown');
9
- var index = require('../markdown-shortcut/index.cjs');
10
9
 
11
10
  var ControlledStatePlugin = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
12
11
  var value = _ref.value,
@@ -36,7 +35,7 @@ var ControlledStatePlugin = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
36
35
  onChange === null || onChange === void 0 || onChange(_value);
37
36
  return;
38
37
  }
39
- var markdown$1 = markdown.$convertToMarkdownString(index.TRANSFORMERS, state._nodeMap.get("root"));
38
+ var markdown$1 = markdown.$convertToMarkdownString(markdown.TRANSFORMERS, state._nodeMap.get("root"));
40
39
  onChange === null || onChange === void 0 || onChange(markdown$1);
41
40
  });
42
41
  });
@@ -3,8 +3,7 @@ import React, { forwardRef, useCallback, useImperativeHandle } from 'react';
3
3
  import { useUpdateEffect, isUndefined, useEvent } from '@aiszlab/relax';
4
4
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
5
5
  import { OnChangePlugin } from '@lexical/react/LexicalOnChangePlugin';
6
- import { $convertToMarkdownString } from '@lexical/markdown';
7
- import { TRANSFORMERS } from '../markdown-shortcut/index.mjs';
6
+ import { $convertToMarkdownString, TRANSFORMERS } from '@lexical/markdown';
8
7
 
9
8
  var ControlledStatePlugin = /*#__PURE__*/forwardRef(function (_ref, ref) {
10
9
  var value = _ref.value,
@@ -1,16 +1,17 @@
1
1
  Object.defineProperty(exports, '__esModule', { value: true });
2
2
 
3
- var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
4
3
  var LexicalMarkdownShortcutPlugin = require('@lexical/react/LexicalMarkdownShortcutPlugin');
5
4
  var React = require('react');
6
5
  var markdown = require('@lexical/markdown');
7
6
 
8
- var TRANSFORMERS = [].concat(_toConsumableArray(markdown.ELEMENT_TRANSFORMERS), _toConsumableArray(markdown.TEXT_FORMAT_TRANSFORMERS), _toConsumableArray(markdown.TEXT_MATCH_TRANSFORMERS));
9
7
  var MarkdownShortcutPlugin = function MarkdownShortcutPlugin() {
10
8
  return /*#__PURE__*/React.createElement(LexicalMarkdownShortcutPlugin.MarkdownShortcutPlugin, {
11
- transformers: TRANSFORMERS
9
+ transformers: markdown.TRANSFORMERS
12
10
  });
13
11
  };
14
12
 
15
- exports.TRANSFORMERS = TRANSFORMERS;
13
+ Object.defineProperty(exports, "TRANSFORMERS", {
14
+ enumerable: true,
15
+ get: function () { return markdown.TRANSFORMERS; }
16
+ });
16
17
  exports.default = MarkdownShortcutPlugin;
@@ -1,6 +1,6 @@
1
- import { type Transformer } from "@lexical/markdown";
2
- export declare const TRANSFORMERS: Transformer[];
1
+ import { TRANSFORMERS } from "@lexical/markdown";
3
2
  declare const MarkdownShortcutPlugin: () => import("react").FunctionComponentElement<Readonly<{
4
- transformers?: Array<Transformer>;
3
+ transformers?: Array<import("@lexical/markdown").Transformer>;
5
4
  }>>;
6
5
  export default MarkdownShortcutPlugin;
6
+ export { TRANSFORMERS };
@@ -1,13 +1,12 @@
1
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
1
  import { MarkdownShortcutPlugin as MarkdownShortcutPlugin$1 } from '@lexical/react/LexicalMarkdownShortcutPlugin';
3
2
  import { createElement } from 'react';
4
- import { ELEMENT_TRANSFORMERS, TEXT_FORMAT_TRANSFORMERS, TEXT_MATCH_TRANSFORMERS } from '@lexical/markdown';
3
+ import { TRANSFORMERS } from '@lexical/markdown';
4
+ export { TRANSFORMERS } from '@lexical/markdown';
5
5
 
6
- var TRANSFORMERS = [].concat(_toConsumableArray(ELEMENT_TRANSFORMERS), _toConsumableArray(TEXT_FORMAT_TRANSFORMERS), _toConsumableArray(TEXT_MATCH_TRANSFORMERS));
7
6
  var MarkdownShortcutPlugin = function MarkdownShortcutPlugin() {
8
7
  return /*#__PURE__*/createElement(MarkdownShortcutPlugin$1, {
9
8
  transformers: TRANSFORMERS
10
9
  });
11
10
  };
12
11
 
13
- export { TRANSFORMERS, MarkdownShortcutPlugin as default };
12
+ export { MarkdownShortcutPlugin as default };
@@ -25,8 +25,8 @@ var list = require('@lexical/list');
25
25
  var LexicalHorizontalRuleNode = require('@lexical/react/LexicalHorizontalRuleNode');
26
26
  var code = require('@lexical/code');
27
27
  var checkableListItem = require('./nodes/checkable-list-item.cjs');
28
- var index$1 = require('./plugins/toolbar/index.cjs');
29
- var index = require('./plugins/markdown-shortcut/index.cjs');
28
+ var index = require('./plugins/toolbar/index.cjs');
29
+ var index$1 = require('./plugins/markdown-shortcut/index.cjs');
30
30
  var theme = require('../theme/theme.cjs');
31
31
  require('../checkbox/index.cjs');
32
32
  var markdown = require('@lexical/markdown');
@@ -178,7 +178,7 @@ var RichTextEditor = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
178
178
  // different value usage, use different serialization
179
179
  switch (_use) {
180
180
  case "markdown":
181
- markdown.$convertFromMarkdownString(defaultValue, index.TRANSFORMERS);
181
+ markdown.$convertFromMarkdownString(defaultValue, markdown.TRANSFORMERS, void 0, true);
182
182
  break;
183
183
  default:
184
184
  editor.setEditorState(editor.parseEditorState(defaultValue));
@@ -200,7 +200,7 @@ var RichTextEditor = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
200
200
  }, /*#__PURE__*/React.createElement("div", {
201
201
  className: relax.clsx(className, styled.shell.className),
202
202
  style: _objectSpread(_objectSpread({}, styled.shell.style), style)
203
- }, !disabled && /*#__PURE__*/React.createElement(index$1.default, null), /*#__PURE__*/React.createElement(LexicalRichTextPlugin.RichTextPlugin, {
203
+ }, !disabled && /*#__PURE__*/React.createElement(index.default, null), /*#__PURE__*/React.createElement(LexicalRichTextPlugin.RichTextPlugin, {
204
204
  contentEditable: /*#__PURE__*/React.createElement(LexicalContentEditable.ContentEditable, {
205
205
  className: styled.editor.className,
206
206
  style: styled.editor.style,
@@ -210,7 +210,7 @@ var RichTextEditor = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
210
210
  "aria-placeholder": (_props$ariaPlacehold = props["aria-placeholder"]) !== null && _props$ariaPlacehold !== void 0 ? _props$ariaPlacehold : ""
211
211
  }),
212
212
  ErrorBoundary: LexicalErrorBoundary.LexicalErrorBoundary
213
- }), /*#__PURE__*/React.createElement(LexicalHistoryPlugin.HistoryPlugin, null), /*#__PURE__*/React.createElement(index.default, null), /*#__PURE__*/React.createElement(LexicalLinkPlugin.LinkPlugin, null), /*#__PURE__*/React.createElement(LexicalClickableLinkPlugin.ClickableLinkPlugin, {
213
+ }), /*#__PURE__*/React.createElement(LexicalHistoryPlugin.HistoryPlugin, null), /*#__PURE__*/React.createElement(index$1.default, null), /*#__PURE__*/React.createElement(LexicalLinkPlugin.LinkPlugin, null), /*#__PURE__*/React.createElement(LexicalClickableLinkPlugin.ClickableLinkPlugin, {
214
214
  disabled: !disabled,
215
215
  newTab: true
216
216
  }), /*#__PURE__*/React.createElement(LexicalListPlugin.ListPlugin, null), /*#__PURE__*/React.createElement(index$2.default, null), /*#__PURE__*/React.createElement(index$3.default, {