rsuite 5.56.0 → 5.57.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.
Files changed (179) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/CascadeTree/package.json +7 -0
  3. package/CascadeTree/styles/index.css +273 -0
  4. package/CascadeTree/styles/index.less +77 -0
  5. package/CascadeTree/styles/search.less +45 -0
  6. package/Cascader/styles/index.css +187 -192
  7. package/Cascader/styles/index.less +1 -122
  8. package/MultiCascadeTree/package.json +7 -0
  9. package/MultiCascadeTree/styles/index.css +3701 -0
  10. package/MultiCascadeTree/styles/index.less +37 -0
  11. package/MultiCascader/styles/index.css +72 -69
  12. package/MultiCascader/styles/index.less +11 -31
  13. package/cjs/@types/common.d.ts +12 -14
  14. package/cjs/CascadeTree/CascadeTree.d.ts +16 -0
  15. package/cjs/CascadeTree/CascadeTree.js +174 -0
  16. package/cjs/CascadeTree/SearchView.d.ts +17 -0
  17. package/cjs/CascadeTree/SearchView.js +106 -0
  18. package/cjs/CascadeTree/TreeView.d.ts +20 -0
  19. package/cjs/{Cascader → CascadeTree}/TreeView.js +42 -33
  20. package/cjs/CascadeTree/hooks/index.d.ts +3 -0
  21. package/cjs/CascadeTree/hooks/index.js +12 -0
  22. package/cjs/{Cascader/utils.d.ts → CascadeTree/hooks/usePaths.d.ts} +3 -25
  23. package/cjs/CascadeTree/hooks/usePaths.js +42 -0
  24. package/cjs/CascadeTree/hooks/useSearch.d.ts +17 -0
  25. package/cjs/CascadeTree/hooks/useSearch.js +59 -0
  26. package/cjs/CascadeTree/hooks/useSelect.d.ts +23 -0
  27. package/cjs/CascadeTree/hooks/useSelect.js +64 -0
  28. package/cjs/CascadeTree/index.d.ts +4 -0
  29. package/cjs/CascadeTree/index.js +9 -0
  30. package/cjs/CascadeTree/types.d.ts +66 -0
  31. package/cjs/CascadeTree/types.js +2 -0
  32. package/cjs/CascadeTree/utils.d.ts +32 -0
  33. package/cjs/CascadeTree/utils.js +66 -0
  34. package/cjs/Cascader/Cascader.d.ts +57 -26
  35. package/cjs/Cascader/Cascader.js +180 -247
  36. package/cjs/Cascader/useActive.d.ts +15 -0
  37. package/cjs/Cascader/useActive.js +43 -0
  38. package/cjs/InlineEdit/InlineEdit.d.ts +1 -1
  39. package/cjs/Loader/Loader.js +5 -4
  40. package/cjs/MultiCascadeTree/MultiCascadeTree.d.ts +9 -0
  41. package/cjs/MultiCascadeTree/MultiCascadeTree.js +131 -0
  42. package/cjs/MultiCascadeTree/SearchView.d.ts +17 -0
  43. package/cjs/MultiCascadeTree/SearchView.js +117 -0
  44. package/cjs/MultiCascadeTree/TreeView.d.ts +22 -0
  45. package/cjs/{MultiCascader → MultiCascadeTree}/TreeView.js +20 -20
  46. package/cjs/MultiCascadeTree/hooks/index.d.ts +5 -0
  47. package/cjs/MultiCascadeTree/hooks/index.js +16 -0
  48. package/cjs/MultiCascadeTree/hooks/useCascadeValue.d.ts +18 -0
  49. package/cjs/MultiCascadeTree/hooks/useCascadeValue.js +202 -0
  50. package/cjs/MultiCascadeTree/hooks/useColumnData.d.ts +16 -0
  51. package/cjs/MultiCascadeTree/hooks/useColumnData.js +52 -0
  52. package/cjs/MultiCascadeTree/hooks/useFlattenData.d.ts +9 -0
  53. package/cjs/MultiCascadeTree/hooks/useFlattenData.js +33 -0
  54. package/cjs/MultiCascadeTree/hooks/useSearch.d.ts +17 -0
  55. package/cjs/MultiCascadeTree/hooks/useSearch.js +52 -0
  56. package/cjs/MultiCascadeTree/hooks/useSelect.d.ts +19 -0
  57. package/cjs/MultiCascadeTree/hooks/useSelect.js +83 -0
  58. package/cjs/MultiCascadeTree/index.d.ts +4 -0
  59. package/cjs/MultiCascadeTree/index.js +9 -0
  60. package/cjs/MultiCascadeTree/types.d.ts +26 -0
  61. package/cjs/MultiCascadeTree/types.js +2 -0
  62. package/cjs/MultiCascadeTree/utils.d.ts +37 -0
  63. package/cjs/MultiCascadeTree/utils.js +140 -0
  64. package/cjs/MultiCascader/MultiCascader.d.ts +57 -29
  65. package/cjs/MultiCascader/MultiCascader.js +175 -287
  66. package/cjs/Tree/Tree.d.ts +4 -4
  67. package/cjs/index.d.ts +6 -1
  68. package/cjs/index.js +8 -3
  69. package/cjs/internals/Picker/PickerToggle.d.ts +4 -5
  70. package/cjs/toaster/ToastContainer.d.ts +9 -2
  71. package/cjs/toaster/index.d.ts +0 -1
  72. package/cjs/toaster/index.js +1 -3
  73. package/cjs/useToaster/index.d.ts +2 -0
  74. package/cjs/useToaster/index.js +9 -0
  75. package/cjs/{toaster → useToaster}/useToaster.d.ts +4 -4
  76. package/cjs/{toaster → useToaster}/useToaster.js +4 -4
  77. package/cjs/utils/index.d.ts +1 -0
  78. package/cjs/utils/index.js +5 -2
  79. package/dist/rsuite-no-reset-rtl.css +64 -61
  80. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  81. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  82. package/dist/rsuite-no-reset.css +64 -61
  83. package/dist/rsuite-no-reset.min.css +1 -1
  84. package/dist/rsuite-no-reset.min.css.map +1 -1
  85. package/dist/rsuite-rtl.css +64 -61
  86. package/dist/rsuite-rtl.min.css +1 -1
  87. package/dist/rsuite-rtl.min.css.map +1 -1
  88. package/dist/rsuite.css +64 -61
  89. package/dist/rsuite.js +242 -44
  90. package/dist/rsuite.js.map +1 -1
  91. package/dist/rsuite.min.css +1 -1
  92. package/dist/rsuite.min.css.map +1 -1
  93. package/dist/rsuite.min.js +1 -1
  94. package/dist/rsuite.min.js.map +1 -1
  95. package/esm/@types/common.d.ts +12 -14
  96. package/esm/CascadeTree/CascadeTree.d.ts +16 -0
  97. package/esm/CascadeTree/CascadeTree.js +167 -0
  98. package/esm/CascadeTree/SearchView.d.ts +17 -0
  99. package/esm/CascadeTree/SearchView.js +100 -0
  100. package/esm/CascadeTree/TreeView.d.ts +20 -0
  101. package/esm/{Cascader → CascadeTree}/TreeView.js +42 -33
  102. package/esm/CascadeTree/hooks/index.d.ts +3 -0
  103. package/esm/CascadeTree/hooks/index.js +4 -0
  104. package/esm/{Cascader/utils.d.ts → CascadeTree/hooks/usePaths.d.ts} +3 -25
  105. package/esm/CascadeTree/hooks/usePaths.js +36 -0
  106. package/esm/CascadeTree/hooks/useSearch.d.ts +17 -0
  107. package/esm/CascadeTree/hooks/useSearch.js +54 -0
  108. package/esm/CascadeTree/hooks/useSelect.d.ts +23 -0
  109. package/esm/CascadeTree/hooks/useSelect.js +59 -0
  110. package/esm/CascadeTree/index.d.ts +4 -0
  111. package/esm/CascadeTree/index.js +3 -0
  112. package/esm/CascadeTree/types.d.ts +66 -0
  113. package/esm/CascadeTree/types.js +1 -0
  114. package/esm/CascadeTree/utils.d.ts +32 -0
  115. package/esm/CascadeTree/utils.js +61 -0
  116. package/esm/Cascader/Cascader.d.ts +57 -26
  117. package/esm/Cascader/Cascader.js +167 -233
  118. package/esm/Cascader/useActive.d.ts +15 -0
  119. package/esm/Cascader/useActive.js +37 -0
  120. package/esm/InlineEdit/InlineEdit.d.ts +1 -1
  121. package/esm/Loader/Loader.js +6 -5
  122. package/esm/MultiCascadeTree/MultiCascadeTree.d.ts +9 -0
  123. package/esm/MultiCascadeTree/MultiCascadeTree.js +125 -0
  124. package/esm/MultiCascadeTree/SearchView.d.ts +17 -0
  125. package/esm/MultiCascadeTree/SearchView.js +111 -0
  126. package/esm/MultiCascadeTree/TreeView.d.ts +22 -0
  127. package/esm/{MultiCascader → MultiCascadeTree}/TreeView.js +20 -20
  128. package/esm/MultiCascadeTree/hooks/index.d.ts +5 -0
  129. package/esm/MultiCascadeTree/hooks/index.js +6 -0
  130. package/esm/MultiCascadeTree/hooks/useCascadeValue.d.ts +18 -0
  131. package/esm/MultiCascadeTree/hooks/useCascadeValue.js +197 -0
  132. package/esm/MultiCascadeTree/hooks/useColumnData.d.ts +16 -0
  133. package/esm/MultiCascadeTree/hooks/useColumnData.js +46 -0
  134. package/esm/MultiCascadeTree/hooks/useFlattenData.d.ts +9 -0
  135. package/esm/MultiCascadeTree/hooks/useFlattenData.js +28 -0
  136. package/esm/MultiCascadeTree/hooks/useSearch.d.ts +17 -0
  137. package/esm/MultiCascadeTree/hooks/useSearch.js +47 -0
  138. package/esm/MultiCascadeTree/hooks/useSelect.d.ts +19 -0
  139. package/esm/MultiCascadeTree/hooks/useSelect.js +77 -0
  140. package/esm/MultiCascadeTree/index.d.ts +4 -0
  141. package/esm/MultiCascadeTree/index.js +3 -0
  142. package/esm/MultiCascadeTree/types.d.ts +26 -0
  143. package/esm/MultiCascadeTree/types.js +1 -0
  144. package/esm/MultiCascadeTree/utils.d.ts +37 -0
  145. package/esm/MultiCascadeTree/utils.js +130 -0
  146. package/esm/MultiCascader/MultiCascader.d.ts +57 -29
  147. package/esm/MultiCascader/MultiCascader.js +168 -279
  148. package/esm/Tree/Tree.d.ts +4 -4
  149. package/esm/index.d.ts +6 -1
  150. package/esm/index.js +5 -1
  151. package/esm/internals/Picker/PickerToggle.d.ts +4 -5
  152. package/esm/toaster/ToastContainer.d.ts +9 -2
  153. package/esm/toaster/index.d.ts +0 -1
  154. package/esm/toaster/index.js +0 -1
  155. package/esm/useToaster/index.d.ts +2 -0
  156. package/esm/useToaster/index.js +3 -0
  157. package/esm/{toaster → useToaster}/useToaster.d.ts +4 -4
  158. package/esm/{toaster → useToaster}/useToaster.js +4 -4
  159. package/esm/utils/index.d.ts +1 -0
  160. package/esm/utils/index.js +2 -1
  161. package/package.json +1 -1
  162. package/styles/index.less +2 -0
  163. package/useToaster/package.json +7 -0
  164. package/useToaster/styles/index.css +239 -0
  165. package/useToaster/styles/index.less +1 -0
  166. package/cjs/Cascader/DropdownMenu.d.ts +0 -24
  167. package/cjs/Cascader/DropdownMenu.js +0 -175
  168. package/cjs/Cascader/TreeView.d.ts +0 -24
  169. package/cjs/Cascader/utils.js +0 -79
  170. package/cjs/MultiCascader/TreeView.d.ts +0 -25
  171. package/cjs/MultiCascader/utils.d.ts +0 -71
  172. package/cjs/MultiCascader/utils.js +0 -382
  173. package/esm/Cascader/DropdownMenu.d.ts +0 -24
  174. package/esm/Cascader/DropdownMenu.js +0 -168
  175. package/esm/Cascader/TreeView.d.ts +0 -24
  176. package/esm/Cascader/utils.js +0 -74
  177. package/esm/MultiCascader/TreeView.d.ts +0 -25
  178. package/esm/MultiCascader/utils.d.ts +0 -71
  179. package/esm/MultiCascader/utils.js +0 -369
@@ -1,9 +1,8 @@
1
1
  import React from 'react';
2
2
  import ToggleButton, { ToggleButtonProps } from './ToggleButton';
3
- import { RsRefForwardingComponent, TypeAttributes } from '../../@types/common';
3
+ import { RsRefForwardingComponent, TypeAttributes, DataItemValue } from '../../@types/common';
4
4
  import { IconProps } from '@rsuite/icons/lib/Icon';
5
- declare type ValueType = string | number;
6
- export interface PickerToggleProps extends ToggleButtonProps {
5
+ export interface PickerToggleProps<T = DataItemValue> extends ToggleButtonProps {
7
6
  active?: boolean;
8
7
  hasValue?: boolean;
9
8
  cleanable?: boolean;
@@ -28,8 +27,8 @@ export interface PickerToggleProps extends ToggleButtonProps {
28
27
  loading?: boolean;
29
28
  label?: React.ReactNode;
30
29
  name?: string;
31
- inputValue?: ValueType | ValueType[];
32
- focusItemValue?: ValueType | null;
30
+ inputValue?: T | T[];
31
+ focusItemValue?: T | null;
33
32
  onClean?: (event: React.MouseEvent) => void;
34
33
  }
35
34
  declare const PickerToggle: RsRefForwardingComponent<typeof ToggleButton, PickerToggleProps>;
@@ -3,9 +3,16 @@ import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
3
  export declare type PlacementType = 'topCenter' | 'bottomCenter' | 'topStart' | 'topEnd' | 'bottomStart' | 'bottomEnd';
4
4
  export declare const toastPlacements: PlacementType[];
5
5
  export interface ToastContainerProps extends WithAsProps {
6
- /** The placement of the message box */
6
+ /**
7
+ * The placement of the message box。
8
+ *
9
+ * @default 'topCenter'
10
+ */
7
11
  placement?: PlacementType;
8
- /** Set the message to appear in the specified container */
12
+ /**
13
+ * Set the message to appear in the specified container
14
+ *
15
+ */
9
16
  container?: HTMLElement | (() => HTMLElement);
10
17
  /** The number of milliseconds to wait before automatically closing a message. */
11
18
  duration?: number;
@@ -1,4 +1,3 @@
1
1
  import toaster from './toaster';
2
2
  export type { Toaster } from './toaster';
3
- export { default as useToaster } from './useToaster';
4
3
  export default toaster;
@@ -1,4 +1,3 @@
1
1
  'use client';
2
2
  import toaster from './toaster';
3
- export { default as useToaster } from './useToaster';
4
3
  export default toaster;
@@ -0,0 +1,2 @@
1
+ import useToaster from './useToaster';
2
+ export default useToaster;
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import useToaster from './useToaster';
3
+ export default useToaster;
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
- import { ToastContainerProps } from './ToastContainer';
2
+ import { ToastContainerProps } from '../toaster/ToastContainer';
3
3
  /**
4
- * The 'useToaster' hook is a wrapper for the 'toaster' module.
4
+ * Toaster display brief, temporary notifications of actions, errors, or other events in an application.
5
+ * It is often used with the Message and Notification components.
5
6
  * @returns toaster { push, remove, clear }
6
7
  *
7
- * @see https://rsuitejs.com/components/message/
8
- * @see https://rsuitejs.com/components/notification/
8
+ * @see https://rsuitejs.com/components/use-toaster/
9
9
  */
10
10
  declare const useToaster: () => {
11
11
  /**
@@ -1,14 +1,14 @@
1
1
  'use client';
2
2
  import { useMemo } from 'react';
3
- import toaster from './toaster';
3
+ import toaster from '../toaster';
4
4
  import { useCustom } from '../utils';
5
5
 
6
6
  /**
7
- * The 'useToaster' hook is a wrapper for the 'toaster' module.
7
+ * Toaster display brief, temporary notifications of actions, errors, or other events in an application.
8
+ * It is often used with the Message and Notification components.
8
9
  * @returns toaster { push, remove, clear }
9
10
  *
10
- * @see https://rsuitejs.com/components/message/
11
- * @see https://rsuitejs.com/components/notification/
11
+ * @see https://rsuitejs.com/components/use-toaster/
12
12
  */
13
13
  var useToaster = function useToaster() {
14
14
  var _useCustom = useCustom(),
@@ -46,3 +46,4 @@ export { default as useUniqueId } from './useUniqueId';
46
46
  export { default as useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
47
47
  export { default as useInternalId } from './useInternalId';
48
48
  export { default as useEnsuredRef } from './useEnsuredRef';
49
+ export { useMap } from './useMap';
@@ -48,4 +48,5 @@ export { default as useMount } from './useMount';
48
48
  export { default as useUniqueId } from './useUniqueId';
49
49
  export { default as useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
50
50
  export { default as useInternalId } from './useInternalId';
51
- export { default as useEnsuredRef } from './useEnsuredRef';
51
+ export { default as useEnsuredRef } from './useEnsuredRef';
52
+ export { useMap } from './useMap';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rsuite",
3
- "version": "5.56.0",
3
+ "version": "5.57.0",
4
4
  "description": "A suite of react components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
package/styles/index.less CHANGED
@@ -13,6 +13,7 @@
13
13
  @import '../Calendar/styles/index';
14
14
  @import '../Carousel/styles/index';
15
15
  @import '../Cascader/styles/index';
16
+ @import '../CascadeTree/styles/index';
16
17
  @import '../Checkbox/styles/index';
17
18
  @import '../CheckboxGroup/styles/index';
18
19
  @import '../CheckPicker/styles/index';
@@ -46,6 +47,7 @@
46
47
  @import '../Loader/styles/index';
47
48
  @import '../Message/styles/index';
48
49
  @import '../Modal/styles/index';
50
+ @import '../MultiCascadeTree/styles/index';
49
51
  @import '../MultiCascader/styles/index';
50
52
  @import '../Nav/styles/index';
51
53
  @import '../Navbar/styles/index';
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "rsuite/useToaster",
3
+ "private": true,
4
+ "main": "../cjs/useToaster/index.js",
5
+ "module": "../esm/useToaster/index.js",
6
+ "types": "../esm/useToaster/index.d.ts"
7
+ }
@@ -0,0 +1,239 @@
1
+ :root,
2
+ .rs-theme-light {
3
+ --rs-shadow-overlay: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
4
+ }
5
+ .rs-theme-dark {
6
+ --rs-shadow-overlay: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
7
+ }
8
+ .rs-theme-high-contrast {
9
+ --rs-shadow-overlay: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
10
+ }
11
+ /* stylelint-disable */
12
+ *[class*='rs-'] {
13
+ -webkit-box-sizing: border-box;
14
+ box-sizing: border-box;
15
+ }
16
+ *[class*='rs-']::before,
17
+ *[class*='rs-']::after {
18
+ -webkit-box-sizing: border-box;
19
+ box-sizing: border-box;
20
+ }
21
+ @-webkit-keyframes notificationMoveIn {
22
+ 0% {
23
+ opacity: 0;
24
+ -webkit-transform-origin: 0% 0%;
25
+ transform-origin: 0% 0%;
26
+ -webkit-transform: scaleY(0.8);
27
+ transform: scaleY(0.8);
28
+ }
29
+ 100% {
30
+ opacity: 1;
31
+ -webkit-transform-origin: 0% 0%;
32
+ transform-origin: 0% 0%;
33
+ -webkit-transform: scaleY(1);
34
+ transform: scaleY(1);
35
+ }
36
+ }
37
+ @keyframes notificationMoveIn {
38
+ 0% {
39
+ opacity: 0;
40
+ -webkit-transform-origin: 0% 0%;
41
+ transform-origin: 0% 0%;
42
+ -webkit-transform: scaleY(0.8);
43
+ transform: scaleY(0.8);
44
+ }
45
+ 100% {
46
+ opacity: 1;
47
+ -webkit-transform-origin: 0% 0%;
48
+ transform-origin: 0% 0%;
49
+ -webkit-transform: scaleY(1);
50
+ transform: scaleY(1);
51
+ }
52
+ }
53
+ @-webkit-keyframes notificationMoveInLeft {
54
+ from {
55
+ opacity: 0;
56
+ -webkit-transform: translate3d(-100%, 0, 0);
57
+ transform: translate3d(-100%, 0, 0);
58
+ }
59
+ to {
60
+ opacity: 1;
61
+ -webkit-transform: none;
62
+ transform: none;
63
+ }
64
+ }
65
+ @keyframes notificationMoveInLeft {
66
+ from {
67
+ opacity: 0;
68
+ -webkit-transform: translate3d(-100%, 0, 0);
69
+ transform: translate3d(-100%, 0, 0);
70
+ }
71
+ to {
72
+ opacity: 1;
73
+ -webkit-transform: none;
74
+ transform: none;
75
+ }
76
+ }
77
+ @-webkit-keyframes notificationMoveInRight {
78
+ from {
79
+ opacity: 0;
80
+ -webkit-transform: translate3d(100%, 0, 0);
81
+ transform: translate3d(100%, 0, 0);
82
+ }
83
+ to {
84
+ opacity: 1;
85
+ -webkit-transform: none;
86
+ transform: none;
87
+ }
88
+ }
89
+ @keyframes notificationMoveInRight {
90
+ from {
91
+ opacity: 0;
92
+ -webkit-transform: translate3d(100%, 0, 0);
93
+ transform: translate3d(100%, 0, 0);
94
+ }
95
+ to {
96
+ opacity: 1;
97
+ -webkit-transform: none;
98
+ transform: none;
99
+ }
100
+ }
101
+ @-webkit-keyframes notificationMoveOut {
102
+ 0% {
103
+ opacity: 1;
104
+ -webkit-transform-origin: 0% 0%;
105
+ transform-origin: 0% 0%;
106
+ -webkit-transform: scaleY(1);
107
+ transform: scaleY(1);
108
+ max-height: 100px;
109
+ }
110
+ 100% {
111
+ opacity: 0;
112
+ -webkit-transform-origin: 0% 0%;
113
+ transform-origin: 0% 0%;
114
+ -webkit-transform: scaleY(0.8);
115
+ transform: scaleY(0.8);
116
+ max-height: 0;
117
+ overflow: hidden;
118
+ }
119
+ }
120
+ @keyframes notificationMoveOut {
121
+ 0% {
122
+ opacity: 1;
123
+ -webkit-transform-origin: 0% 0%;
124
+ transform-origin: 0% 0%;
125
+ -webkit-transform: scaleY(1);
126
+ transform: scaleY(1);
127
+ max-height: 100px;
128
+ }
129
+ 100% {
130
+ opacity: 0;
131
+ -webkit-transform-origin: 0% 0%;
132
+ transform-origin: 0% 0%;
133
+ -webkit-transform: scaleY(0.8);
134
+ transform: scaleY(0.8);
135
+ max-height: 0;
136
+ overflow: hidden;
137
+ }
138
+ }
139
+ .rs-toast {
140
+ pointer-events: auto;
141
+ }
142
+ .rs-toast-container {
143
+ position: fixed;
144
+ z-index: 1080;
145
+ pointer-events: none;
146
+ display: -webkit-box;
147
+ display: -ms-flexbox;
148
+ display: flex;
149
+ -webkit-box-orient: vertical;
150
+ -webkit-box-direction: normal;
151
+ -ms-flex-direction: column;
152
+ flex-direction: column;
153
+ }
154
+ .rs-toast-container .rs-toast:not(.rs-notification) {
155
+ -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
156
+ -webkit-box-shadow: var(--rs-shadow-overlay);
157
+ box-shadow: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
158
+ box-shadow: var(--rs-shadow-overlay);
159
+ }
160
+ .rs-toast-container .rs-toast-fade-entered,
161
+ .rs-toast-container .rs-toast-fade-exiting {
162
+ -webkit-animation-fill-mode: forwards;
163
+ animation-fill-mode: forwards;
164
+ }
165
+ .rs-toast-container .rs-toast-fade-entered {
166
+ -webkit-animation-duration: 0.4s;
167
+ animation-duration: 0.4s;
168
+ -webkit-animation-timing-function: cubic-bezier(0.99, 0.44, 0.44, 1.35);
169
+ animation-timing-function: cubic-bezier(0.99, 0.44, 0.44, 1.35);
170
+ }
171
+ .rs-toast-container .rs-toast-fade-exited,
172
+ .rs-toast-container .rs-toast-fade-entering {
173
+ opacity: 0;
174
+ }
175
+ .rs-toast-container .rs-toast-fade-exited {
176
+ -webkit-transform-origin: 0 0;
177
+ transform-origin: 0 0;
178
+ -webkit-transform: scaleY(0.8);
179
+ transform: scaleY(0.8);
180
+ max-height: 0;
181
+ overflow: hidden;
182
+ }
183
+ .rs-toast-container-top-center,
184
+ .rs-toast-container-bottom-center {
185
+ -webkit-box-align: center;
186
+ -ms-flex-align: center;
187
+ align-items: center;
188
+ width: 100%;
189
+ }
190
+ .rs-toast-container-top-center .rs-toast-fade-entered,
191
+ .rs-toast-container-bottom-center .rs-toast-fade-entered {
192
+ -webkit-animation-name: notificationMoveIn;
193
+ animation-name: notificationMoveIn;
194
+ }
195
+ .rs-toast-container-bottom-start,
196
+ .rs-toast-container-top-start {
197
+ -webkit-box-align: start;
198
+ -ms-flex-align: start;
199
+ align-items: flex-start;
200
+ left: 24px;
201
+ }
202
+ .rs-toast-container-bottom-start .rs-toast-fade-entered,
203
+ .rs-toast-container-top-start .rs-toast-fade-entered {
204
+ -webkit-animation-name: notificationMoveInLeft;
205
+ animation-name: notificationMoveInLeft;
206
+ }
207
+ .rs-toast-container-bottom-end,
208
+ .rs-toast-container-top-end {
209
+ -webkit-box-align: end;
210
+ -ms-flex-align: end;
211
+ align-items: flex-end;
212
+ right: 24px;
213
+ }
214
+ .rs-toast-container-bottom-end .rs-toast-fade-entered,
215
+ .rs-toast-container-top-end .rs-toast-fade-entered {
216
+ margin-left: auto;
217
+ -webkit-animation-name: notificationMoveInRight;
218
+ animation-name: notificationMoveInRight;
219
+ }
220
+ .rs-toast-container-top-center,
221
+ .rs-toast-container-top-start,
222
+ .rs-toast-container-top-end {
223
+ top: 24px;
224
+ }
225
+ .rs-toast-container-bottom-center,
226
+ .rs-toast-container-bottom-start,
227
+ .rs-toast-container-bottom-end {
228
+ bottom: 24px;
229
+ }
230
+ .rs-toast-container .rs-toast-fade-exiting {
231
+ -webkit-animation-duration: 0.3s;
232
+ animation-duration: 0.3s;
233
+ -webkit-animation-timing-function: cubic-bezier(0.64, 0.65, 0.57, 1.13);
234
+ animation-timing-function: cubic-bezier(0.64, 0.65, 0.57, 1.13);
235
+ -webkit-animation-name: notificationMoveOut;
236
+ animation-name: notificationMoveOut;
237
+ }
238
+
239
+ /*# sourceMappingURL=index.css.map */
@@ -0,0 +1 @@
1
+ @import '../../toaster/styles/index.less';
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- import { ItemDataType, WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
- import { ValueType } from './Cascader';
4
- declare type SetLike<T = unknown> = {
5
- has(value: T): boolean;
6
- };
7
- export interface TreeViewProps extends Omit<WithAsProps, 'classPrefix'> {
8
- classPrefix: string;
9
- disabledItemValues: ValueType[];
10
- activeItemValue?: ValueType | null;
11
- childrenKey: string;
12
- cascadeData: (readonly ItemDataType[])[];
13
- loadingItemsSet?: SetLike<ItemDataType>;
14
- cascadePaths: ItemDataType[];
15
- valueKey: string;
16
- labelKey: string;
17
- menuWidth?: number;
18
- menuHeight?: number | string;
19
- renderMenuItem?: (itemLabel: React.ReactNode, item: ItemDataType) => React.ReactNode;
20
- renderMenu?: (items: readonly ItemDataType[], menu: React.ReactNode, parentNode?: ItemDataType, layer?: number) => React.ReactNode;
21
- onSelect?: (node: ItemDataType, cascadePaths: ItemDataType[], isLeafNode: boolean, event: React.MouseEvent) => void;
22
- }
23
- declare const TreeView: RsRefForwardingComponent<'div', TreeViewProps>;
24
- export default TreeView;
@@ -1,175 +0,0 @@
1
- 'use client';
2
- "use strict";
3
-
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
- exports.__esModule = true;
7
- exports.default = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _Spinner = _interopRequireDefault(require("@rsuite/icons/legacy/Spinner"));
12
- var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
13
- var _isNil = _interopRequireDefault(require("lodash/isNil"));
14
- var _utils = require("../utils");
15
- var _Picker = require("../internals/Picker");
16
- var _AngleLeft = _interopRequireDefault(require("@rsuite/icons/legacy/AngleLeft"));
17
- var _AngleRight = _interopRequireDefault(require("@rsuite/icons/legacy/AngleRight"));
18
- var _getPosition = _interopRequireDefault(require("dom-lib/getPosition"));
19
- var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
20
- var emptyArray = [];
21
- var TreeView = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
22
- var _props$as = props.as,
23
- Component = _props$as === void 0 ? 'div' : _props$as,
24
- activeItemValue = props.activeItemValue,
25
- classPrefix = props.classPrefix,
26
- className = props.className,
27
- _props$childrenKey = props.childrenKey,
28
- childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
29
- _props$disabledItemVa = props.disabledItemValues,
30
- disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
31
- _props$menuWidth = props.menuWidth,
32
- menuWidth = _props$menuWidth === void 0 ? 120 : _props$menuWidth,
33
- _props$menuHeight = props.menuHeight,
34
- menuHeight = _props$menuHeight === void 0 ? 200 : _props$menuHeight,
35
- _props$valueKey = props.valueKey,
36
- valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
37
- _props$cascadeData = props.cascadeData,
38
- cascadeData = _props$cascadeData === void 0 ? emptyArray : _props$cascadeData,
39
- _props$cascadePaths = props.cascadePaths,
40
- cascadePaths = _props$cascadePaths === void 0 ? emptyArray : _props$cascadePaths,
41
- loadingItemsSet = props.loadingItemsSet,
42
- _props$labelKey = props.labelKey,
43
- labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
44
- style = props.style,
45
- renderMenu = props.renderMenu,
46
- renderMenuItem = props.renderMenuItem,
47
- onSelect = props.onSelect,
48
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "activeItemValue", "classPrefix", "className", "childrenKey", "disabledItemValues", "menuWidth", "menuHeight", "valueKey", "cascadeData", "cascadePaths", "loadingItemsSet", "labelKey", "style", "renderMenu", "renderMenuItem", "onSelect"]);
49
- var _useClassNames = (0, _utils.useClassNames)(classPrefix),
50
- merge = _useClassNames.merge,
51
- prefix = _useClassNames.prefix;
52
- var classes = merge(className, prefix('items'));
53
- var rootRef = (0, _react.useRef)();
54
- var _useCustom = (0, _utils.useCustom)(),
55
- rtl = _useCustom.rtl;
56
- var _useCombobox = (0, _Picker.useCombobox)(),
57
- id = _useCombobox.id,
58
- labelId = _useCombobox.labelId,
59
- popupType = _useCombobox.popupType;
60
- (0, _react.useEffect)(function () {
61
- var _rootRef$current;
62
- var columns = ((_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.querySelectorAll('[data-type="column"]')) || [];
63
- columns.forEach(function (column) {
64
- if (!column) {
65
- return;
66
- }
67
- var activeItem = column.querySelector("." + prefix('item-focus'));
68
- if (!activeItem) {
69
- activeItem = column.querySelector("." + prefix('item-active'));
70
- }
71
- if (activeItem) {
72
- var position = (0, _getPosition.default)(activeItem, column);
73
- // Let the active option scroll into view.
74
- if (position !== null && position !== void 0 && position.top) {
75
- (0, _scrollTop.default)(column, position === null || position === void 0 ? void 0 : position.top);
76
- }
77
- }
78
- });
79
- }, [prefix]);
80
- var getCascadePaths = function getCascadePaths(layer, node) {
81
- var paths = [];
82
- for (var i = 0; i < cascadeData.length && i < layer; i += 1) {
83
- if (i < layer - 1 && cascadePaths) {
84
- paths.push(cascadePaths[i]);
85
- }
86
- }
87
- paths.push(node);
88
- return paths;
89
- };
90
- var handleSelect = (0, _utils.useEventCallback)(function (layer, node, event) {
91
- var isLeafNode = (0, _isNil.default)(node[childrenKey]);
92
- var cascadePaths = getCascadePaths(layer + 1, node);
93
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, isLeafNode, event);
94
- });
95
- var renderCascadeNode = function renderCascadeNode(nodeProps) {
96
- var _loadingItemsSet$has;
97
- var node = nodeProps.node,
98
- index = nodeProps.index,
99
- layer = nodeProps.layer,
100
- focus = nodeProps.focus,
101
- size = nodeProps.size;
102
- var children = node[childrenKey];
103
- var value = node[valueKey];
104
- var label = node[labelKey];
105
- var disabled = disabledItemValues.some(function (disabledValue) {
106
- return (0, _utils.shallowEqual)(disabledValue, value);
107
- });
108
- var loading = (_loadingItemsSet$has = loadingItemsSet === null || loadingItemsSet === void 0 ? void 0 : loadingItemsSet.has(node)) !== null && _loadingItemsSet$has !== void 0 ? _loadingItemsSet$has : false;
109
-
110
- // Use `value` in keys when If `value` is string or number
111
- var onlyKey = typeof value === 'number' || typeof value === 'string' ? value : index;
112
- var Icon = loading ? _Spinner.default : rtl ? _AngleLeft.default : _AngleRight.default;
113
- return /*#__PURE__*/_react.default.createElement(_Picker.ListItem, {
114
- as: 'li',
115
- role: "treeitem",
116
- "aria-level": layer + 1,
117
- "aria-setsize": size,
118
- "aria-posinset": index + 1,
119
- "aria-label": typeof label === 'string' ? label : undefined,
120
- classPrefix: "picker-cascader-menu-item",
121
- key: layer + "-" + onlyKey,
122
- disabled: disabled,
123
- active: !(0, _isUndefined.default)(activeItemValue) && (0, _utils.shallowEqual)(activeItemValue, value),
124
- focus: focus,
125
- value: value,
126
- className: children ? prefix('has-children') : undefined,
127
- onSelect: function onSelect(_value, event) {
128
- return handleSelect(layer, node, event);
129
- }
130
- }, renderMenuItem ? renderMenuItem(label, node) : label, children ? /*#__PURE__*/_react.default.createElement(Icon, {
131
- className: prefix('caret'),
132
- spin: loading
133
- }) : null);
134
- };
135
- var cascadeNodes = cascadeData.map(function (children, layer) {
136
- var onlyKey = layer + "_" + children.length;
137
- var parentNode = cascadePaths[layer - 1];
138
- var menu = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children.map(function (item, index) {
139
- var focus = cascadePaths[layer] && (0, _utils.shallowEqual)(cascadePaths[layer][valueKey], item[valueKey]);
140
- return renderCascadeNode({
141
- node: item,
142
- index: index,
143
- layer: layer,
144
- focus: focus,
145
- size: children.length
146
- });
147
- }));
148
- return /*#__PURE__*/_react.default.createElement("ul", {
149
- role: "group",
150
- "data-layer": layer,
151
- "data-type": 'column',
152
- key: onlyKey,
153
- className: prefix('column'),
154
- style: {
155
- height: menuHeight,
156
- width: menuWidth
157
- }
158
- }, renderMenu ? renderMenu(children, menu, parentNode, layer) : menu);
159
- });
160
- var styles = (0, _extends2.default)({}, style, {
161
- width: cascadeData.length * menuWidth
162
- });
163
- return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
164
- role: "tree",
165
- id: id + "-" + popupType,
166
- "aria-labelledby": labelId
167
- }, rest, {
168
- ref: (0, _utils.mergeRefs)(rootRef, ref),
169
- className: classes,
170
- style: styles
171
- }), cascadeNodes);
172
- });
173
- TreeView.displayName = 'TreeView';
174
- var _default = TreeView;
175
- exports.default = _default;
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- import { ItemDataType, WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
- import { ValueType } from './Cascader';
4
- declare type SetLike<T = unknown> = {
5
- has(value: T): boolean;
6
- };
7
- export interface TreeViewProps extends Omit<WithAsProps, 'classPrefix'> {
8
- classPrefix: string;
9
- disabledItemValues: ValueType[];
10
- activeItemValue?: ValueType | null;
11
- childrenKey: string;
12
- cascadeData: (readonly ItemDataType[])[];
13
- loadingItemsSet?: SetLike<ItemDataType>;
14
- cascadePaths: ItemDataType[];
15
- valueKey: string;
16
- labelKey: string;
17
- menuWidth?: number;
18
- menuHeight?: number | string;
19
- renderMenuItem?: (itemLabel: React.ReactNode, item: ItemDataType) => React.ReactNode;
20
- renderMenu?: (items: readonly ItemDataType[], menu: React.ReactNode, parentNode?: ItemDataType, layer?: number) => React.ReactNode;
21
- onSelect?: (node: ItemDataType, cascadePaths: ItemDataType[], isLeafNode: boolean, event: React.MouseEvent) => void;
22
- }
23
- declare const TreeView: RsRefForwardingComponent<'div', TreeViewProps>;
24
- export default TreeView;