rsuite 5.69.0 → 5.70.1

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 (75) hide show
  1. package/Breadcrumb/styles/index.css +16 -0
  2. package/Breadcrumb/styles/index.less +10 -0
  3. package/CHANGELOG.md +23 -0
  4. package/README.md +2 -2
  5. package/Table/styles/index.css +1 -1
  6. package/Table/styles/index.less +1 -1
  7. package/cjs/Breadcrumb/Breadcrumb.d.ts +14 -4
  8. package/cjs/Breadcrumb/Breadcrumb.js +30 -32
  9. package/cjs/Breadcrumb/BreadcrumbItem.d.ts +20 -0
  10. package/cjs/Breadcrumb/BreadcrumbItem.js +13 -17
  11. package/cjs/Button/Button.js +3 -3
  12. package/cjs/Calendar/TableRow.js +6 -2
  13. package/cjs/CascadeTree/CascadeTree.js +3 -1
  14. package/cjs/CascadeTree/SearchView.d.ts +1 -0
  15. package/cjs/CascadeTree/SearchView.js +3 -2
  16. package/cjs/CascadeTree/types.d.ts +5 -1
  17. package/cjs/Cascader/Cascader.d.ts +1 -1
  18. package/cjs/Cascader/Cascader.js +1 -0
  19. package/cjs/CustomProvider/CustomProvider.d.ts +60 -9
  20. package/cjs/MultiCascadeTree/MultiCascadeTree.d.ts +1 -1
  21. package/cjs/MultiCascadeTree/MultiCascadeTree.js +4 -1
  22. package/cjs/MultiCascadeTree/SearchView.d.ts +1 -0
  23. package/cjs/MultiCascadeTree/SearchView.js +3 -2
  24. package/cjs/MultiCascadeTree/types.d.ts +5 -1
  25. package/cjs/MultiCascader/MultiCascader.d.ts +1 -1
  26. package/cjs/MultiCascader/MultiCascader.js +3 -0
  27. package/cjs/TreePicker/TreePicker.js +1 -0
  28. package/cjs/internals/hooks/useEventCallback.js +8 -1
  29. package/cjs/internals/types/index.d.ts +14 -0
  30. package/cjs/internals/utils/ReactChildren.d.ts +11 -0
  31. package/cjs/internals/utils/ReactChildren.js +22 -0
  32. package/cjs/locales/index.d.ts +4 -1
  33. package/dist/rsuite-no-reset-rtl.css +17 -1
  34. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  35. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  36. package/dist/rsuite-no-reset.css +17 -1
  37. package/dist/rsuite-no-reset.min.css +1 -1
  38. package/dist/rsuite-no-reset.min.css.map +1 -1
  39. package/dist/rsuite-rtl.css +17 -1
  40. package/dist/rsuite-rtl.min.css +1 -1
  41. package/dist/rsuite-rtl.min.css.map +1 -1
  42. package/dist/rsuite.css +17 -1
  43. package/dist/rsuite.js +70 -59
  44. package/dist/rsuite.js.map +1 -1
  45. package/dist/rsuite.min.css +1 -1
  46. package/dist/rsuite.min.css.map +1 -1
  47. package/dist/rsuite.min.js +1 -1
  48. package/dist/rsuite.min.js.map +1 -1
  49. package/esm/Breadcrumb/Breadcrumb.d.ts +14 -4
  50. package/esm/Breadcrumb/Breadcrumb.js +32 -34
  51. package/esm/Breadcrumb/BreadcrumbItem.d.ts +20 -0
  52. package/esm/Breadcrumb/BreadcrumbItem.js +13 -17
  53. package/esm/Button/Button.js +4 -4
  54. package/esm/Calendar/TableRow.js +6 -2
  55. package/esm/CascadeTree/CascadeTree.js +3 -1
  56. package/esm/CascadeTree/SearchView.d.ts +1 -0
  57. package/esm/CascadeTree/SearchView.js +3 -2
  58. package/esm/CascadeTree/types.d.ts +5 -1
  59. package/esm/Cascader/Cascader.d.ts +1 -1
  60. package/esm/Cascader/Cascader.js +1 -0
  61. package/esm/CustomProvider/CustomProvider.d.ts +60 -9
  62. package/esm/MultiCascadeTree/MultiCascadeTree.d.ts +1 -1
  63. package/esm/MultiCascadeTree/MultiCascadeTree.js +4 -1
  64. package/esm/MultiCascadeTree/SearchView.d.ts +1 -0
  65. package/esm/MultiCascadeTree/SearchView.js +3 -2
  66. package/esm/MultiCascadeTree/types.d.ts +5 -1
  67. package/esm/MultiCascader/MultiCascader.d.ts +1 -1
  68. package/esm/MultiCascader/MultiCascader.js +3 -0
  69. package/esm/TreePicker/TreePicker.js +1 -0
  70. package/esm/internals/hooks/useEventCallback.js +8 -2
  71. package/esm/internals/types/index.d.ts +14 -0
  72. package/esm/internals/utils/ReactChildren.d.ts +11 -0
  73. package/esm/internals/utils/ReactChildren.js +21 -0
  74. package/esm/locales/index.d.ts +4 -1
  75. package/package.json +2 -2
@@ -1,5 +1,6 @@
1
1
  'use client';
2
- import { useEffect, useCallback, useRef } from 'react';
2
+ import { useCallback, useRef } from 'react';
3
+ import useIsomorphicLayoutEffect from "./useIsomorphicLayoutEffect.js";
3
4
 
4
5
  /**
5
6
  * https://github.com/facebook/react/issues/14099#issuecomment-440013892
@@ -7,7 +8,12 @@ import { useEffect, useCallback, useRef } from 'react';
7
8
  */
8
9
  export function useEventCallback(fn) {
9
10
  var ref = useRef(fn);
10
- useEffect(function () {
11
+ /**
12
+ * use useLayoutEffect instead of useEffect.
13
+ * useLayoutEffect is earlier than useEffect, sometimes we use setState and then use callback immediately,
14
+ * However the state in callback is not the latest, because useEffect is not triggered.
15
+ */
16
+ useIsomorphicLayoutEffect(function () {
11
17
  ref.current = fn;
12
18
  });
13
19
  return useCallback(function () {
@@ -200,3 +200,17 @@ export type CursorPosition = {
200
200
  clientTop: number;
201
201
  clientLeft: number;
202
202
  };
203
+ export declare namespace DateFns {
204
+ /**
205
+ * FirstWeekContainsDate is used to determine which week is the first week of the year, based on what day the January, 1 is in that week.
206
+ * The day in that week can only be 1 (Monday) or 4 (Thursday).
207
+ * Please see https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system for more information.
208
+ */
209
+ type FirstWeekContainsDate = 1 | 4;
210
+ /**
211
+ * The day of the week type alias.
212
+ * Unlike the date (the number of days since the beginning of the month), which begins with 1 and is dynamic (can go up to 28, 30, or 31), the day starts with 0 and static (always ends at 6).
213
+ * Look at it as an index in an array where Sunday is the first element and Saturday is the last.
214
+ */
215
+ type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6;
216
+ }
@@ -29,6 +29,13 @@ export declare function map(children: React.ReactNode, func: any, context?: any)
29
29
  * @returns An array of the cloned and modified child elements.
30
30
  */
31
31
  export declare function mapCloneElement(children: React.ReactNode, func: any, context?: any): any[];
32
+ /**
33
+ * Iterates over children that are in flat array form.
34
+ * @param children
35
+ * @param func
36
+ * @param context
37
+ */
38
+ export declare function forEach(children: React.ReactNode, func: any, context?: any): void;
32
39
  /**
33
40
  * Returns the number of children.
34
41
  * @param children - The children to count.
@@ -63,6 +70,10 @@ export declare const ReactChildren: {
63
70
  * Maps over the children and applies the given function to each child.
64
71
  */
65
72
  map: typeof map;
73
+ /**
74
+ * Iterates over children that are in flat array form.
75
+ */
76
+ forEach: typeof forEach;
66
77
  /**
67
78
  * Finds the first child that satisfies the given condition.
68
79
  */
@@ -93,6 +93,23 @@ export function mapCloneElement(children, func, context) {
93
93
  }, context);
94
94
  }
95
95
 
96
+ /**
97
+ * Iterates over children that are in flat array form.
98
+ * @param children
99
+ * @param func
100
+ * @param context
101
+ */
102
+ export function forEach(children, func, context) {
103
+ var index = 0;
104
+ React.Children.forEach(flatChildren(children), function (child) {
105
+ if (! /*#__PURE__*/React.isValidElement(child)) {
106
+ return;
107
+ }
108
+ func.call(context, child, index);
109
+ index += 1;
110
+ });
111
+ }
112
+
96
113
  /**
97
114
  * Returns the number of children.
98
115
  * @param children - The children to count.
@@ -148,6 +165,10 @@ export var ReactChildren = {
148
165
  * Maps over the children and applies the given function to each child.
149
166
  */
150
167
  map: map,
168
+ /**
169
+ * Iterates over children that are in flat array form.
170
+ */
171
+ forEach: forEach,
151
172
  /**
152
173
  * Finds the first child that satisfies the given condition.
153
174
  */
@@ -1,4 +1,5 @@
1
1
  import defaultLocale from './default';
2
+ import { Locale as DateFnsLocale } from 'date-fns';
2
3
  export { default as arEG } from './ar_EG';
3
4
  export { default as daDK } from './da_DK';
4
5
  export { default as deDE } from './de_DE';
@@ -29,7 +30,6 @@ type PickKeys<T> = {
29
30
  };
30
31
  export type Locale = PickKeys<typeof defaultLocale>;
31
32
  export type CommonLocale = typeof defaultLocale.common;
32
- export type CalendarLocale = PickKeys<typeof defaultLocale.Calendar>;
33
33
  export type PlaintextLocale = PickKeys<typeof defaultLocale.Plaintext>;
34
34
  export type PaginationLocale = PickKeys<typeof defaultLocale.Pagination>;
35
35
  export type TableLocale = CommonLocale;
@@ -41,3 +41,6 @@ export type UploaderLocale = PickKeys<typeof defaultLocale.Uploader> & CommonLoc
41
41
  export type CloseButtonLocale = PickKeys<typeof defaultLocale.CloseButton>;
42
42
  export type BreadcrumbLocale = PickKeys<typeof defaultLocale.Breadcrumb>;
43
43
  export type ToggleLocale = PickKeys<typeof defaultLocale.Toggle>;
44
+ export interface CalendarLocale extends PickKeys<typeof defaultLocale.Calendar> {
45
+ dateLocale?: DateFnsLocale;
46
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rsuite",
3
- "version": "5.69.0",
3
+ "version": "5.70.1",
4
4
  "description": "A suite of react components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -37,7 +37,7 @@
37
37
  "prop-types": "^15.8.1",
38
38
  "react-use-set": "^1.0.0",
39
39
  "react-window": "^1.8.8",
40
- "rsuite-table": "^5.18.3",
40
+ "rsuite-table": "^5.19.1",
41
41
  "schema-typed": "^2.2.2"
42
42
  },
43
43
  "peerDependencies": {