@rainbow-oh/yee-c 0.8.1 → 0.8.3

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 (225) hide show
  1. package/dist/cjs/Cascader/cascader.js +38 -30
  2. package/dist/cjs/Cascader/column.js +17 -9
  3. package/dist/cjs/Cascader/search-list.js +30 -22
  4. package/dist/cjs/Cascader/utils/index.js +1 -5
  5. package/dist/cjs/Checkbox/checkbox-group.js +23 -14
  6. package/dist/cjs/Dialog/dialog.js +1 -1
  7. package/dist/cjs/Dialog/interface.d.ts +1 -1
  8. package/dist/cjs/Dialog/style/index.less +2 -1
  9. package/dist/cjs/Drawer/drawer.js +9 -1
  10. package/dist/cjs/Form/Group.js +1 -1
  11. package/dist/cjs/Form/demo/tooltip.js +1 -3
  12. package/dist/cjs/Input/style/index.less +1 -0
  13. package/dist/cjs/List/hooks/useListKeyboard.js +3 -1
  14. package/dist/cjs/Menu/menu.js +18 -2
  15. package/dist/cjs/Pagination/items.js +54 -26
  16. package/dist/cjs/Pagination/pagination.js +25 -9
  17. package/dist/cjs/PickerPanel/panels/DateTimePanel/index.d.ts +1 -1
  18. package/dist/cjs/PickerPanel/panels/MonthPanel/MonthHeader.js +7 -1
  19. package/dist/cjs/Rate/star.js +27 -3
  20. package/dist/cjs/Segmented/demo/variant.js +15 -1
  21. package/dist/cjs/Segmented/index.d.ts +1 -1
  22. package/dist/cjs/Segmented/segmented.js +12 -15
  23. package/dist/cjs/Select/option.js +8 -1
  24. package/dist/cjs/Select/options.js +9 -1
  25. package/dist/cjs/Select/select.js +3 -1
  26. package/dist/cjs/Selector/style/index.less +1 -0
  27. package/dist/cjs/Steps/step.js +14 -2
  28. package/dist/cjs/Steps/steps.js +11 -1
  29. package/dist/cjs/Table/demo/components-override.js +31 -2
  30. package/dist/cjs/Table/demo/grouping.js +7 -1
  31. package/dist/cjs/Table/hooks/useColumns.d.ts +3 -3
  32. package/dist/cjs/Table/hooks/useColumns.js +11 -14
  33. package/dist/cjs/Table/icon/arrow-icon.js +1 -1
  34. package/dist/cjs/Table/index.d.ts +1 -1
  35. package/dist/cjs/Table/style/index.less +2 -4
  36. package/dist/cjs/Table/tbody/row.js +1 -4
  37. package/dist/cjs/Table/theader/cell.js +6 -3
  38. package/dist/cjs/Table/theader/index.js +12 -4
  39. package/dist/cjs/TextArea/style/index.less +1 -0
  40. package/dist/cjs/Tour/index.d.ts +1 -1
  41. package/dist/cjs/Tree/style/index.less +1 -5
  42. package/dist/cjs/Tree/tree.js +38 -35
  43. package/dist/cjs/VerificationCode/style/index.less +1 -0
  44. package/dist/cjs/hooks/useCountdown.d.ts +2 -1
  45. package/dist/cjs/hooks/useCountdown.js +46 -23
  46. package/dist/cjs/hooks/useEvent.js +1 -4
  47. package/dist/cjs/locale/interface.d.ts +3 -0
  48. package/dist/cjs/locale/lang/en_US.js +4 -1
  49. package/dist/cjs/locale/lang/ja_JP.js +4 -1
  50. package/dist/cjs/locale/lang/zh_CN.js +4 -1
  51. package/dist/cjs/locale/lang/zh_TW.js +4 -1
  52. package/dist/cjs/message/demo/base.js +1 -1
  53. package/dist/cjs/message/index.d.ts +1 -1
  54. package/dist/cjs/message/interface.d.ts +16 -7
  55. package/dist/cjs/message/message-provider.d.ts +2 -1
  56. package/dist/cjs/message/message-provider.js +1 -1
  57. package/dist/cjs/message/message.js +14 -9
  58. package/dist/cjs/message/style/index.less +3 -1
  59. package/dist/cjs/message/use-message.d.ts +3 -12
  60. package/dist/cjs/message/use-message.js +103 -45
  61. package/dist/cjs/message/wrapper.d.ts +21 -27
  62. package/dist/cjs/message/wrapper.js +49 -19
  63. package/dist/cjs/notice/index.d.ts +1 -1
  64. package/dist/cjs/notice/interface.d.ts +17 -7
  65. package/dist/cjs/notice/notice-list.d.ts +3 -3
  66. package/dist/cjs/notice/notice-provider.d.ts +2 -1
  67. package/dist/cjs/notice/notice-provider.js +1 -1
  68. package/dist/cjs/notice/notice.js +63 -20
  69. package/dist/cjs/notice/style/index.less +13 -1
  70. package/dist/cjs/notice/use-notice.d.ts +2 -11
  71. package/dist/cjs/notice/use-notice.js +156 -71
  72. package/dist/cjs/notice/wrapper.d.ts +19 -15
  73. package/dist/cjs/notice/wrapper.js +122 -52
  74. package/dist/cjs/style/size.css +5 -3
  75. package/dist/cjs/style/themes.css +1 -1
  76. package/dist/cjs/style/variables.css +6 -4
  77. package/dist/cjs/version.d.ts +1 -1
  78. package/dist/cjs/version.js +1 -1
  79. package/dist/esm/Dialog/dialog.js +2 -2
  80. package/dist/esm/Dialog/interface.d.ts +1 -1
  81. package/dist/esm/Dialog/style/index.less +2 -1
  82. package/dist/esm/Form/Group.js +1 -1
  83. package/dist/esm/Input/style/index.less +1 -0
  84. package/dist/esm/PickerPanel/panels/DateTimePanel/index.d.ts +1 -1
  85. package/dist/esm/Segmented/index.d.ts +1 -1
  86. package/dist/esm/Segmented/segmented.js +1 -1
  87. package/dist/esm/Selector/style/index.less +1 -0
  88. package/dist/esm/Table/demo/components-override.js +1 -0
  89. package/dist/esm/Table/hooks/useColumns.d.ts +3 -3
  90. package/dist/esm/Table/hooks/useColumns.js +13 -16
  91. package/dist/esm/Table/icon/arrow-icon.js +1 -1
  92. package/dist/esm/Table/index.d.ts +1 -1
  93. package/dist/esm/Table/style/index.less +2 -4
  94. package/dist/esm/Table/theader/cell.js +7 -3
  95. package/dist/esm/TextArea/style/index.less +1 -0
  96. package/dist/esm/Tour/index.d.ts +1 -1
  97. package/dist/esm/Tree/style/index.less +1 -5
  98. package/dist/esm/Tree/tree.js +1 -1
  99. package/dist/esm/VerificationCode/style/index.less +1 -0
  100. package/dist/esm/hooks/useCountdown.d.ts +2 -1
  101. package/dist/esm/hooks/useCountdown.js +44 -14
  102. package/dist/esm/locale/interface.d.ts +3 -0
  103. package/dist/esm/locale/lang/en_US.js +4 -1
  104. package/dist/esm/locale/lang/ja_JP.js +4 -1
  105. package/dist/esm/locale/lang/zh_CN.js +4 -1
  106. package/dist/esm/locale/lang/zh_TW.js +4 -1
  107. package/dist/esm/message/demo/base.js +4 -1
  108. package/dist/esm/message/index.d.ts +1 -1
  109. package/dist/esm/message/interface.d.ts +16 -7
  110. package/dist/esm/message/message-provider.d.ts +2 -1
  111. package/dist/esm/message/message-provider.js +1 -1
  112. package/dist/esm/message/message.js +22 -9
  113. package/dist/esm/message/style/index.less +3 -1
  114. package/dist/esm/message/use-message.d.ts +3 -12
  115. package/dist/esm/message/use-message.js +129 -79
  116. package/dist/esm/message/wrapper.d.ts +21 -27
  117. package/dist/esm/message/wrapper.js +60 -18
  118. package/dist/esm/notice/index.d.ts +1 -1
  119. package/dist/esm/notice/interface.d.ts +17 -7
  120. package/dist/esm/notice/notice-list.d.ts +3 -3
  121. package/dist/esm/notice/notice-provider.d.ts +2 -1
  122. package/dist/esm/notice/notice-provider.js +1 -1
  123. package/dist/esm/notice/notice.js +73 -21
  124. package/dist/esm/notice/style/index.less +13 -1
  125. package/dist/esm/notice/use-notice.d.ts +2 -11
  126. package/dist/esm/notice/use-notice.js +180 -100
  127. package/dist/esm/notice/wrapper.d.ts +19 -15
  128. package/dist/esm/notice/wrapper.js +144 -62
  129. package/dist/esm/style/size.css +5 -3
  130. package/dist/esm/style/themes.css +1 -1
  131. package/dist/esm/style/variables.css +6 -4
  132. package/dist/esm/version.d.ts +1 -1
  133. package/dist/esm/version.js +1 -1
  134. package/dist/umd/yee-c.min.css +2 -2
  135. package/dist/umd/yee-c.min.js +1 -1
  136. package/package.json +1 -1
  137. package/src/Anchor/anchor.tsx +2 -2
  138. package/src/Carousel/carousel.tsx +1 -2
  139. package/src/Cascader/cascader.tsx +5 -1
  140. package/src/Cascader/column.tsx +5 -1
  141. package/src/Cascader/search-list.tsx +10 -3
  142. package/src/Cascader/utils/index.ts +3 -6
  143. package/src/Checkbox/checkbox-group.tsx +6 -1
  144. package/src/Dialog/dialog.tsx +7 -3
  145. package/src/Dialog/interface.ts +1 -1
  146. package/src/Dialog/style/index.less +2 -1
  147. package/src/Drawer/drawer.tsx +7 -1
  148. package/src/Form/Group.tsx +2 -4
  149. package/src/Form/demo/tooltip.tsx +2 -11
  150. package/src/Form/utils/validate.ts +1 -4
  151. package/src/Input/style/index.less +1 -0
  152. package/src/List/hooks/useListKeyboard.ts +3 -3
  153. package/src/List/list.tsx +2 -1
  154. package/src/Menu/menu.tsx +14 -3
  155. package/src/Pagination/items.tsx +16 -4
  156. package/src/Pagination/pagination.tsx +18 -4
  157. package/src/PickerPanel/panels/DatePanel/DateBody.tsx +1 -1
  158. package/src/PickerPanel/panels/DateTimePanel/index.tsx +1 -1
  159. package/src/PickerPanel/panels/MonthPanel/MonthHeader.tsx +7 -2
  160. package/src/PickerPanel/panels/PanelBody.tsx +1 -1
  161. package/src/PickerPanel/panels/QuarterPanel/QuarterHeader.tsx +1 -1
  162. package/src/PickerPanel/panels/RangePanel/index.tsx +1 -1
  163. package/src/PickerPanel/panels/TimePanel/TimeBody.tsx +1 -1
  164. package/src/PickerPanel/panels/YearPanel/YearHeader.tsx +1 -1
  165. package/src/PickerPanel/utils/pickerUtils.ts +2 -1
  166. package/src/RangePicker/range-picker-mobile.tsx +1 -3
  167. package/src/Rate/star.tsx +16 -4
  168. package/src/Segmented/demo/variant.tsx +10 -2
  169. package/src/Segmented/index.ts +2 -2
  170. package/src/Segmented/segmented.tsx +4 -11
  171. package/src/Select/interface.ts +0 -1
  172. package/src/Select/option.tsx +8 -2
  173. package/src/Select/options.tsx +11 -4
  174. package/src/Select/select.tsx +4 -4
  175. package/src/Selector/style/index.less +1 -0
  176. package/src/Steps/step.tsx +11 -3
  177. package/src/Steps/steps.tsx +8 -1
  178. package/src/Table/demo/components-override.tsx +34 -7
  179. package/src/Table/demo/grouping.tsx +8 -4
  180. package/src/Table/hooks/useColumns.ts +14 -18
  181. package/src/Table/icon/arrow-icon.tsx +1 -1
  182. package/src/Table/index.ts +3 -3
  183. package/src/Table/style/index.less +2 -4
  184. package/src/Table/table.tsx +2 -4
  185. package/src/Table/tbody/row.tsx +1 -3
  186. package/src/Table/theader/cell.tsx +6 -3
  187. package/src/Table/theader/index.tsx +9 -10
  188. package/src/TextArea/style/index.less +1 -0
  189. package/src/Tour/demo/placement.tsx +2 -1
  190. package/src/Tour/index.ts +1 -1
  191. package/src/Tree/style/index.less +1 -5
  192. package/src/Tree/tree.tsx +16 -11
  193. package/src/Tree/utils/tree-tools.ts +4 -1
  194. package/src/VerificationCode/style/index.less +1 -0
  195. package/src/hooks/useCountdown.ts +52 -21
  196. package/src/hooks/useEvent.ts +1 -3
  197. package/src/locale/context.tsx +5 -1
  198. package/src/locale/interface.ts +6 -1
  199. package/src/locale/lang/en_US.ts +3 -0
  200. package/src/locale/lang/ja_JP.ts +3 -0
  201. package/src/locale/lang/zh_CN.ts +3 -0
  202. package/src/locale/lang/zh_TW.ts +3 -0
  203. package/src/message/demo/base.tsx +1 -1
  204. package/src/message/index.ts +1 -1
  205. package/src/message/interface.ts +22 -7
  206. package/src/message/message-provider.tsx +3 -2
  207. package/src/message/message.test.tsx +283 -0
  208. package/src/message/message.tsx +14 -9
  209. package/src/message/style/index.less +3 -1
  210. package/src/message/use-message.tsx +144 -67
  211. package/src/message/wrapper.tsx +62 -20
  212. package/src/notice/index.en-US.md +76 -75
  213. package/src/notice/index.ts +6 -1
  214. package/src/notice/index.zh-CN.md +3 -2
  215. package/src/notice/interface.ts +31 -14
  216. package/src/notice/notice-list.tsx +3 -9
  217. package/src/notice/notice-provider.tsx +3 -2
  218. package/src/notice/notice.test.tsx +450 -0
  219. package/src/notice/notice.tsx +69 -21
  220. package/src/notice/style/index.less +13 -1
  221. package/src/notice/use-notice.tsx +210 -94
  222. package/src/notice/wrapper.tsx +159 -71
  223. package/src/style/size.css +5 -3
  224. package/src/utils/debounce.ts +1 -3
  225. package/src/version.ts +1 -1
@@ -1,31 +1,35 @@
1
1
  import { Root } from 'react-dom/client';
2
- import { NoticeConfig, NoticeType, WrapperedNoticeConfig } from './interface';
3
- type PlacementType = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'top' | 'bottom';
2
+ import { NoticeClose, NoticeConfig, NoticeType, PlacementType, WrapperedNoticeConfig } from './interface';
4
3
  declare class NoticeWrapper {
5
4
  roots: Map<PlacementType, Root>;
6
5
  containers: Map<PlacementType, HTMLElement>;
7
6
  notices: Map<PlacementType, NoticeType[]>;
7
+ generationByKey: Map<string | number, number>;
8
+ generation: number;
9
+ timerGeneration: number;
8
10
  constructor();
9
11
  uuid(): string;
10
12
  private createContainer;
11
13
  private cleanupContainer;
12
14
  unmount(placement?: PlacementType): void;
13
15
  render(placement: PlacementType): void;
14
- show(params: WrapperedNoticeConfig): void;
15
- destroy(key: string | number, placement?: PlacementType): void;
16
- open(params: string | NoticeConfig): void;
17
- info(params: string | NoticeConfig): void;
18
- success(params: string | NoticeConfig): void;
19
- warning(params: string | NoticeConfig): void;
20
- error(params: string | NoticeConfig): void;
16
+ show(params: WrapperedNoticeConfig): NoticeClose;
17
+ destroy(key: string | number, expectedTimerGeneration?: number): void;
18
+ clear(placement?: PlacementType): void;
19
+ open(params: string | NoticeConfig): NoticeClose;
20
+ info(params: string | NoticeConfig): NoticeClose;
21
+ success(params: string | NoticeConfig): NoticeClose;
22
+ warning(params: string | NoticeConfig): NoticeClose;
23
+ error(params: string | NoticeConfig): NoticeClose;
21
24
  }
22
25
  declare const noticeWrapper: NoticeWrapper;
23
26
  export default noticeWrapper;
24
27
  export declare const notice: {
25
- open: (params: string | NoticeConfig) => void;
26
- info: (params: string | NoticeConfig) => void;
27
- success: (params: string | NoticeConfig) => void;
28
- warning: (params: string | NoticeConfig) => void;
29
- error: (params: string | NoticeConfig) => void;
30
- destroy: (key: string | number, placement?: PlacementType) => void;
28
+ open: (params: string | NoticeConfig) => NoticeClose;
29
+ info: (params: string | NoticeConfig) => NoticeClose;
30
+ success: (params: string | NoticeConfig) => NoticeClose;
31
+ warning: (params: string | NoticeConfig) => NoticeClose;
32
+ error: (params: string | NoticeConfig) => NoticeClose;
33
+ destroy: (key: string | number, expectedTimerGeneration?: number) => void;
34
+ clear: (placement?: PlacementType) => void;
31
35
  };
@@ -53,14 +53,44 @@ module.exports = __toCommonJS(wrapper_exports);
53
53
  var import_react = __toESM(require("react"));
54
54
  var import_client = require("react-dom/client");
55
55
  var import_notice_list = __toESM(require("./notice-list"));
56
+ var noop = () => {
57
+ };
58
+ var invokeOnClose = (notices) => {
59
+ const errors = [];
60
+ notices.forEach((notice2) => {
61
+ var _a;
62
+ try {
63
+ (_a = notice2.onClose) == null ? void 0 : _a.call(notice2);
64
+ } catch (error) {
65
+ errors.push(error);
66
+ }
67
+ });
68
+ errors.forEach((error) => {
69
+ const reportError = globalThis.reportError;
70
+ if (reportError) {
71
+ reportError(error);
72
+ } else {
73
+ console.error(error);
74
+ }
75
+ });
76
+ };
56
77
  var NoticeWrapper = class {
57
78
  constructor() {
58
79
  this.roots = /* @__PURE__ */ new Map();
59
80
  this.containers = /* @__PURE__ */ new Map();
60
81
  this.notices = /* @__PURE__ */ new Map();
82
+ this.generationByKey = /* @__PURE__ */ new Map();
83
+ this.generation = 0;
84
+ this.timerGeneration = 0;
85
+ this.destroy = this.destroy.bind(this);
61
86
  }
62
87
  uuid() {
63
- return crypto.randomUUID ? crypto.randomUUID() : "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
88
+ var _a, _b;
89
+ const randomUUID = (_b = (_a = globalThis.crypto) == null ? void 0 : _a.randomUUID) == null ? void 0 : _b.call(_a);
90
+ if (randomUUID) {
91
+ return randomUUID;
92
+ }
93
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
64
94
  const r = Math.random() * 16 | 0;
65
95
  const v = c === "x" ? r : r & 3 | 8;
66
96
  return v.toString(16);
@@ -77,39 +107,41 @@ var NoticeWrapper = class {
77
107
  }
78
108
  cleanupContainer(placement) {
79
109
  const container = this.containers.get(placement);
80
- if (container && container.parentNode) {
110
+ if (container == null ? void 0 : container.parentNode) {
81
111
  container.parentNode.removeChild(container);
82
- this.containers.delete(placement);
83
112
  }
113
+ this.containers.delete(placement);
84
114
  }
85
115
  unmount(placement) {
86
- if (placement) {
87
- const root = this.roots.get(placement);
88
- if (root) {
89
- root.unmount();
90
- this.roots.delete(placement);
91
- this.cleanupContainer(placement);
92
- this.notices.delete(placement);
93
- }
94
- } else {
95
- this.roots.forEach((root, placement2) => {
96
- root.unmount();
97
- this.cleanupContainer(placement2);
98
- });
116
+ const placements = placement ? [placement] : Array.from(this.notices.keys());
117
+ const removed = placements.flatMap((item) => this.notices.get(item) || []);
118
+ placements.forEach((item) => {
119
+ var _a;
120
+ (_a = this.roots.get(item)) == null ? void 0 : _a.unmount();
121
+ this.roots.delete(item);
122
+ this.cleanupContainer(item);
123
+ this.notices.delete(item);
124
+ });
125
+ if (!placement) {
99
126
  this.roots.clear();
100
127
  this.containers.clear();
101
- this.notices.clear();
102
128
  }
129
+ removed.forEach((item) => {
130
+ this.generationByKey.delete(item.key);
131
+ });
132
+ invokeOnClose(removed);
103
133
  }
104
134
  render(placement) {
135
+ var _a;
136
+ if (typeof document === "undefined") {
137
+ return;
138
+ }
105
139
  const notices = this.notices.get(placement) || [];
106
140
  if (notices.length === 0) {
107
- const root2 = this.roots.get(placement);
108
- if (root2) {
109
- root2.unmount();
110
- this.roots.delete(placement);
111
- this.cleanupContainer(placement);
112
- }
141
+ (_a = this.roots.get(placement)) == null ? void 0 : _a.unmount();
142
+ this.roots.delete(placement);
143
+ this.cleanupContainer(placement);
144
+ this.notices.delete(placement);
113
145
  return;
114
146
  }
115
147
  const container = this.createContainer(placement);
@@ -124,60 +156,97 @@ var NoticeWrapper = class {
124
156
  {
125
157
  items: notices,
126
158
  placement,
127
- onDestroy: (key) => this.destroy(key, placement)
159
+ onDestroy: this.destroy
128
160
  }
129
161
  )
130
162
  );
131
163
  }
132
164
  show(params) {
133
- const placement = params.placement || "topRight";
134
- if (!params.key) {
135
- params.key = this.uuid();
165
+ var _a, _b, _c;
166
+ if (typeof document === "undefined") {
167
+ return noop;
136
168
  }
137
- const notices = this.notices.get(placement) || [];
138
- const existIndex = notices.findIndex((item) => item.key === params.key);
139
- if (existIndex >= 0) {
140
- notices[existIndex] = params;
169
+ const placement = (_a = params.placement) != null ? _a : "topRight";
170
+ const key = (_b = params.key) != null ? _b : this.uuid();
171
+ const keyGeneration = (_c = this.generationByKey.get(key)) != null ? _c : this.generation++;
172
+ this.generationByKey.set(key, keyGeneration);
173
+ const affectedPlacements = /* @__PURE__ */ new Set([placement]);
174
+ this.notices.forEach((items, currentPlacement) => {
175
+ if (currentPlacement !== placement && items.some((item) => item.key === key)) {
176
+ this.notices.set(
177
+ currentPlacement,
178
+ items.filter((item) => item.key !== key)
179
+ );
180
+ affectedPlacements.add(currentPlacement);
181
+ }
182
+ });
183
+ const currentNotices = this.notices.get(placement) || [];
184
+ const existingIndex = currentNotices.findIndex((item) => item.key === key);
185
+ const nextNotice = __spreadProps(__spreadValues({}, params), {
186
+ key,
187
+ placement,
188
+ timerGeneration: this.timerGeneration++
189
+ });
190
+ const nextNotices = currentNotices.filter((item) => item.key !== key);
191
+ if (existingIndex >= 0) {
192
+ nextNotices.splice(existingIndex, 0, nextNotice);
141
193
  } else {
142
- notices.push(params);
194
+ nextNotices.push(nextNotice);
143
195
  }
144
- this.notices.set(placement, notices);
145
- this.render(placement);
196
+ this.notices.set(placement, nextNotices);
197
+ affectedPlacements.forEach((item) => this.render(item));
198
+ return () => {
199
+ if (this.generationByKey.get(key) === keyGeneration) {
200
+ this.destroy(key);
201
+ }
202
+ };
146
203
  }
147
- destroy(key, placement) {
148
- if (placement) {
149
- const notices = this.notices.get(placement) || [];
150
- const filtered = notices.filter((item) => item.key !== key);
151
- this.notices.set(placement, filtered);
152
- this.render(placement);
153
- } else {
154
- this.notices.forEach((notices, p) => {
155
- const filtered = notices.filter((item) => item.key !== key);
156
- this.notices.set(p, filtered);
157
- this.render(p);
158
- });
204
+ destroy(key, expectedTimerGeneration) {
205
+ var _a;
206
+ let target;
207
+ this.notices.forEach((items) => {
208
+ target != null ? target : target = items.find((item) => item.key === key);
209
+ });
210
+ if (!target || expectedTimerGeneration !== void 0 && target.timerGeneration !== expectedTimerGeneration) {
211
+ return;
159
212
  }
213
+ const affectedPlacements = /* @__PURE__ */ new Set();
214
+ this.notices.forEach((items, placement) => {
215
+ if (items.some((item) => item.key === key)) {
216
+ this.notices.set(
217
+ placement,
218
+ items.filter((item) => item.key !== key)
219
+ );
220
+ affectedPlacements.add(placement);
221
+ }
222
+ });
223
+ this.generationByKey.delete(key);
224
+ affectedPlacements.forEach((item) => this.render(item));
225
+ (_a = target.onClose) == null ? void 0 : _a.call(target);
226
+ }
227
+ clear(placement) {
228
+ this.unmount(placement);
160
229
  }
161
230
  open(params) {
162
- this.show(typeof params === "string" ? { content: params } : params);
231
+ return this.show(typeof params === "string" ? { content: params } : params);
163
232
  }
164
233
  info(params) {
165
- this.show(
234
+ return this.show(
166
235
  typeof params === "string" ? { status: "info", content: params } : __spreadProps(__spreadValues({}, params), { status: "info" })
167
236
  );
168
237
  }
169
238
  success(params) {
170
- this.show(
239
+ return this.show(
171
240
  typeof params === "string" ? { status: "success", content: params } : __spreadProps(__spreadValues({}, params), { status: "success" })
172
241
  );
173
242
  }
174
243
  warning(params) {
175
- this.show(
244
+ return this.show(
176
245
  typeof params === "string" ? { status: "warning", content: params } : __spreadProps(__spreadValues({}, params), { status: "warning" })
177
246
  );
178
247
  }
179
248
  error(params) {
180
- this.show(
249
+ return this.show(
181
250
  typeof params === "string" ? { status: "error", content: params } : __spreadProps(__spreadValues({}, params), { status: "error" })
182
251
  );
183
252
  }
@@ -190,5 +259,6 @@ var notice = {
190
259
  success: noticeWrapper.success.bind(noticeWrapper),
191
260
  warning: noticeWrapper.warning.bind(noticeWrapper),
192
261
  error: noticeWrapper.error.bind(noticeWrapper),
193
- destroy: noticeWrapper.destroy.bind(noticeWrapper)
262
+ destroy: noticeWrapper.destroy.bind(noticeWrapper),
263
+ clear: noticeWrapper.clear.bind(noticeWrapper)
194
264
  };
@@ -224,6 +224,8 @@
224
224
  /* --Dialog-- */
225
225
  --yee-dialog-z-index: var(--yee-z-index-overlay);
226
226
  --yee-dialog-mask-z-index: var(--yee-z-index-mask);
227
+ --yee-dialog-title-font-size: 18px;
228
+ --yee-dialog-title-font-weight: 600;
227
229
  --yee-dialog-content-wrapper-z-index: var(--yee-z-index-overlay);
228
230
  --yee-dialog-header-margin-bottom: 12px;
229
231
  --yee-dialog-content-margin-top: 10%;
@@ -321,9 +323,9 @@
321
323
  --yee-menu-submenu-vertical-top: -4px;
322
324
 
323
325
  /* --Message-- */
324
- --yee-message-gap: 8px;
325
- --yee-message-padding: 12px 16px;
326
- --yee-message-border-radius: 4px;
326
+ --yee-message-gap: 6px;
327
+ --yee-message-padding: 9px 12px;
328
+ --yee-message-border-radius: 8px;
327
329
  --yee-message-box-shadow: 0 8px 24px 0 var(--yee-box-shadow-color);
328
330
  --yee-message-icon-size: 20px;
329
331
  --yee-message-list-top: 24px;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @rainbow-oh/yee-c CSS Variables
3
3
  * Auto-generated, do not edit manually
4
- * Generated on 2026-07-23T07:06:10.927Z
4
+ * Generated on 2026-07-27T02:28:20.784Z
5
5
  */
6
6
 
7
7
  /* ========== color.blue.css ========== */
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @rainbow-oh/yee-c CSS Variables
3
3
  * Auto-generated, do not edit manually
4
- * Generated on 2026-07-23T07:06:10.927Z
4
+ * Generated on 2026-07-27T02:28:20.784Z
5
5
  */
6
6
 
7
7
  /* ========== color.css ========== */
@@ -1346,6 +1346,8 @@
1346
1346
  /* --Dialog-- */
1347
1347
  --yee-dialog-z-index: var(--yee-z-index-overlay);
1348
1348
  --yee-dialog-mask-z-index: var(--yee-z-index-mask);
1349
+ --yee-dialog-title-font-size: 18px;
1350
+ --yee-dialog-title-font-weight: 600;
1349
1351
  --yee-dialog-content-wrapper-z-index: var(--yee-z-index-overlay);
1350
1352
  --yee-dialog-header-margin-bottom: 12px;
1351
1353
  --yee-dialog-content-margin-top: 10%;
@@ -1443,9 +1445,9 @@
1443
1445
  --yee-menu-submenu-vertical-top: -4px;
1444
1446
 
1445
1447
  /* --Message-- */
1446
- --yee-message-gap: 8px;
1447
- --yee-message-padding: 12px 16px;
1448
- --yee-message-border-radius: 4px;
1448
+ --yee-message-gap: 6px;
1449
+ --yee-message-padding: 9px 12px;
1450
+ --yee-message-border-radius: 8px;
1449
1451
  --yee-message-box-shadow: 0 8px 24px 0 var(--yee-box-shadow-color);
1450
1452
  --yee-message-icon-size: 20px;
1451
1453
  --yee-message-list-top: 24px;
@@ -3,4 +3,4 @@ declare global {
3
3
  __yee_c_version__: string;
4
4
  }
5
5
  }
6
- export declare const version = "0.8.1";
6
+ export declare const version = "0.8.3";
@@ -22,7 +22,7 @@ __export(version_exports, {
22
22
  version: () => version
23
23
  });
24
24
  module.exports = __toCommonJS(version_exports);
25
- var version = "0.8.1";
25
+ var version = "0.8.3";
26
26
  if (typeof window !== "undefined") {
27
27
  window.__yee_c_version__ = version;
28
28
  }
@@ -205,10 +205,10 @@ var Dialog = function Dialog(baseprops) {
205
205
  }) : null, title ? /*#__PURE__*/React.createElement("div", {
206
206
  className: clsx("".concat(prefixCls, "-header"), classNames === null || classNames === void 0 ? void 0 : classNames.header),
207
207
  style: styles === null || styles === void 0 ? void 0 : styles.header
208
- }, /*#__PURE__*/React.createElement("div", {
208
+ }, typeof title === 'string' ? /*#__PURE__*/React.createElement("div", {
209
209
  className: "".concat(prefixCls, "-title"),
210
210
  id: titleId
211
- }, title)) : null, /*#__PURE__*/React.createElement("div", {
211
+ }, title) : title) : null, /*#__PURE__*/React.createElement("div", {
212
212
  className: clsx("".concat(prefixCls, "-body"), classNames === null || classNames === void 0 ? void 0 : classNames.body),
213
213
  style: styles === null || styles === void 0 ? void 0 : styles.body,
214
214
  id: bodyId
@@ -53,7 +53,7 @@ export interface DialogProps extends DataAttributeProps {
53
53
  /**
54
54
  * Title
55
55
  */
56
- title?: string;
56
+ title?: string | React.ReactNode;
57
57
  /**
58
58
  * Cancel button text
59
59
  * @default Cancel
@@ -37,7 +37,8 @@
37
37
  }
38
38
 
39
39
  &-title {
40
- font-weight: 600;
40
+ font-size: var(--yee-dialog-title-font-size);
41
+ font-weight: var(--yee-dialog-title-font-weight);
41
42
  }
42
43
 
43
44
  &-content {
@@ -16,9 +16,9 @@ import clsx from 'clsx';
16
16
  import { AnimatePresence, motion } from 'motion/react';
17
17
  import React, { useContext, useEffect, useId, useMemo, useReducer, useRef } from 'react';
18
18
  import Grid from "../Grid";
19
- import { runValidator } from "./utils/validate";
20
19
  import FieldContext from "./FieldContext";
21
20
  import FormContext from "./FormContext";
21
+ import { runValidator } from "./utils/validate";
22
22
  var Group = function Group(props) {
23
23
  var _errors$;
24
24
  var label = props.label,
@@ -9,6 +9,7 @@
9
9
  padding: var(--yee-input-padding, 2px 8px);
10
10
  font-size: var(--yee-input-font-size);
11
11
  line-height: var(--yee-input-line-height);
12
+ background-color: var(--yee-input-content-bg-color);
12
13
  border: var(--yee-input-border-width) solid var(--yee-input-border-color);
13
14
  border-radius: var(--yee-input-border-radius, 4px);
14
15
  font-family: var(--yee-font-family);
@@ -1,6 +1,6 @@
1
1
  import { Dayjs } from 'dayjs';
2
2
  import * as React from 'react';
3
- import type { PickerType, PanelSharedProps } from '../../interface';
3
+ import type { PanelSharedProps, PickerType } from '../../interface';
4
4
  interface DateTimePanelProps extends Omit<PanelSharedProps, 'onSelect'> {
5
5
  onSelect?: (panel: PickerType, date: Dayjs) => void;
6
6
  showTime?: boolean;
@@ -1,3 +1,3 @@
1
1
  import InternalSegmented from './segmented';
2
- export type { SegmentedOption, SegmentedLabeledOption, SegmentedRawOption, SegmentedSemanticDOM, SegmentedValue, SegmentedProps, } from './interface';
2
+ export type { SegmentedLabeledOption, SegmentedOption, SegmentedProps, SegmentedRawOption, SegmentedSemanticDOM, SegmentedValue, } from './interface';
3
3
  export default InternalSegmented;
@@ -13,8 +13,8 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
13
  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; }
14
14
  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; }
15
15
  import clsx from 'clsx';
16
- import React, { useContext, useId, useMemo } from 'react';
17
16
  import { motion } from 'motion/react';
17
+ import React, { useContext, useId, useMemo } from 'react';
18
18
  import { GlobalContext } from "../Config-Provider";
19
19
  import useMergedState from "../hooks/useMergedState";
20
20
  import mergeContextToProps from "../utils/mergeContextToProps";
@@ -5,6 +5,7 @@
5
5
  box-sizing: border-box;
6
6
  width: 100%;
7
7
  padding: var(--yee-selector-padding);
8
+ background-color: var(--yee-input-content-bg-color);
8
9
  border: var(--yee-selector-border-width) solid var(--yee-input-border-color);
9
10
  border-radius: var(--yee-selector-border-radius);
10
11
 
@@ -7,6 +7,7 @@
7
7
  *
8
8
  * Table 本身不依赖任何拖拽库;本 demo 不引入 dnd,仅证明替换点生效。
9
9
  */
10
+
10
11
  import { Table } from "../..";
11
12
  import React from 'react';
12
13
 
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
- import type { ColumnProps, ExpandableType, RowSelectionType } from '../interface';
2
+ import type { ColumnProps, ExpandableType, RowSelectionType, WrapedColumnProps } from '../interface';
3
3
  export default function useColumns({ children, columns, rowSelection, expandable, }: {
4
4
  children?: React.ReactElement<ColumnProps> | React.ReactElement<ColumnProps>[];
5
5
  columns: ColumnProps[];
6
6
  rowSelection?: RowSelectionType;
7
7
  expandable?: ExpandableType;
8
8
  }): {
9
- wrapedColumns: any;
10
- headerRows: any;
9
+ wrapedColumns: WrapedColumnProps[];
10
+ headerRows: import("../interface").HeaderCell[][];
11
11
  };
@@ -5,26 +5,23 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
5
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
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
7
  import React, { useMemo } from 'react';
8
- import useDeepCompareMemo from "../../hooks/useDeepCompareMemo";
9
8
  import deepClone from "../../utils/deepClone";
10
9
  import { handleColumns } from "../util";
11
10
  import { flattenLeafColumns, injectSelectionExpand, parseHeaderRows } from "../util/header";
11
+ var getColumnsFromChild = function getColumnsFromChild(childs) {
12
+ var cols = [];
13
+ React.Children.forEach(childs, function (child) {
14
+ if (child) {
15
+ cols.push(_objectSpread({}, child.props));
16
+ }
17
+ });
18
+ return cols.length ? cols : null;
19
+ };
12
20
  export default function useColumns(_ref) {
13
21
  var children = _ref.children,
14
22
  columns = _ref.columns,
15
23
  rowSelection = _ref.rowSelection,
16
24
  expandable = _ref.expandable;
17
- var shouldRenderSelection = !!rowSelection;
18
- var shouldRenderExpand = !!expandable;
19
- var getColumnsFromChild = function getColumnsFromChild(childs) {
20
- var cols = [];
21
- React.Children.forEach(childs, function (child) {
22
- if (child) {
23
- cols.push(_objectSpread({}, child.props));
24
- }
25
- });
26
- return cols.length ? cols : null;
27
- };
28
25
  var childColumns = useMemo(function () {
29
26
  return children ? getColumnsFromChild(children) : null;
30
27
  }, [children]);
@@ -32,7 +29,7 @@ export default function useColumns(_ref) {
32
29
  // Build the column tree (with selection/expand injected at the top level),
33
30
  // then derive both the flat leaf columns (body/colgroup/summary/sorter) and
34
31
  // the 2D header rows (thead multi-level rendering).
35
- var _useDeepCompareMemo = useDeepCompareMemo(function () {
32
+ var _useMemo = useMemo(function () {
36
33
  var base = deepClone(childColumns || columns || []) || [];
37
34
  var tree = injectSelectionExpand(base, rowSelection, expandable);
38
35
  var leaves = flattenLeafColumns(tree);
@@ -42,9 +39,9 @@ export default function useColumns(_ref) {
42
39
  wrapedColumns: wraped,
43
40
  headerRows: rows
44
41
  };
45
- }, [childColumns, columns, shouldRenderSelection, shouldRenderExpand]),
46
- wrapedColumns = _useDeepCompareMemo.wrapedColumns,
47
- headerRows = _useDeepCompareMemo.headerRows;
42
+ }, [childColumns, columns, rowSelection, expandable]),
43
+ wrapedColumns = _useMemo.wrapedColumns,
44
+ headerRows = _useMemo.headerRows;
48
45
  return {
49
46
  wrapedColumns: wrapedColumns,
50
47
  headerRows: headerRows
@@ -9,7 +9,7 @@ var TriangleArrow = function TriangleArrow(_ref) {
9
9
  direction = _ref$direction === void 0 ? 'down' : _ref$direction,
10
10
  className = _ref.className,
11
11
  _ref$size = _ref.size,
12
- size = _ref$size === void 0 ? 10 : _ref$size,
12
+ size = _ref$size === void 0 ? 8 : _ref$size,
13
13
  props = _objectWithoutProperties(_ref, _excluded);
14
14
  var rotation = {
15
15
  right: 0,
@@ -2,7 +2,7 @@ import Column from './column';
2
2
  import Summary from './summary';
3
3
  import InternalTable from './table';
4
4
  import Head from './theader';
5
- export type { ColumnProps, PaginationType, RowSelectionType, TableProps, TableComponents, TableBodyComponents, TableRowRendererProps, HeaderCell, onChangeParams, } from './interface';
5
+ export type { ColumnProps, HeaderCell, PaginationType, RowSelectionType, TableBodyComponents, TableComponents, TableProps, TableRowRendererProps, onChangeParams, } from './interface';
6
6
  type TableType = typeof InternalTable & {
7
7
  Column: typeof Column;
8
8
  Summary: typeof Summary;
@@ -92,13 +92,11 @@
92
92
  width: 100%;
93
93
 
94
94
  &-scroll-left @{pls}-cell-fixed-left-last {
95
- box-shadow: 6px 0 6px -4px
96
- var(--yee-table-fixed-left-after-bs-color);
95
+ box-shadow: 6px 0 6px -4px var(--yee-table-fixed-left-after-bs-color);
97
96
  }
98
97
 
99
98
  &-scroll-right @{pls}-cell-fixed-right-first {
100
- box-shadow: -6px 0 6px -4px
101
- var(--yee-table-fixed-right-after-bs-color);
99
+ box-shadow: -6px 0 6px -4px var(--yee-table-fixed-right-after-bs-color);
102
100
  }
103
101
  }
104
102
 
@@ -10,6 +10,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
10
10
  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; }
11
11
  import clsx from 'clsx';
12
12
  import React, { useContext } from 'react';
13
+ import { useLocale } from "../../locale";
13
14
  import Tooltip from "../../Tooltip";
14
15
  import ArrowIcon from "../icon/arrow-icon";
15
16
  import Filter from "./filter";
@@ -42,6 +43,9 @@ var HeadCell = function HeadCell(props) {
42
43
  rest = _objectWithoutProperties(props, _excluded);
43
44
  var _useContext = useContext(TableCtx),
44
45
  prefixCls = _useContext.prefixCls;
46
+ var _useLocale = useLocale(),
47
+ locale = _useLocale.locale;
48
+ var tableLocale = locale.table;
45
49
  var showFilter = !!filter;
46
50
 
47
51
  // Get current sort order for this column (0 = none, 1 = ascend, -1 = descend)
@@ -80,11 +84,11 @@ var HeadCell = function HeadCell(props) {
80
84
  if (showSorterTooltip && sorter) {
81
85
  var _title = '';
82
86
  if (displaySortOrder === 0) {
83
- _title = 'Click to sort ascending';
87
+ _title = tableLocale.sortAscending || 'Click to sort ascending';
84
88
  } else if (displaySortOrder === 1) {
85
- _title = 'Click to sort descending';
89
+ _title = tableLocale.sortDescending || 'Click to sort descending';
86
90
  } else if (displaySortOrder === 2) {
87
- _title = 'Click to cancel sorting';
91
+ _title = tableLocale.sortCancel || 'Click to cancel sorting';
88
92
  }
89
93
  return /*#__PURE__*/React.createElement(Tooltip, {
90
94
  title: _title
@@ -66,6 +66,7 @@
66
66
  padding: 4px 8px;
67
67
  font-size: var(--yee-textarea-font-size);
68
68
  line-height: var(--yee-textarea-line-height);
69
+ background-color: var(--yee-input-content-bg-color);
69
70
  border-radius: var(--yee-textarea-border-radius, 4px);
70
71
  font-family: var(--yee-font-family);
71
72
  width: 100%;
@@ -1,3 +1,3 @@
1
1
  import InternalTour from './tour';
2
- export type { TourProps, TourStep, TourTarget, TourSemanticDOM, } from './interface';
2
+ export type { TourProps, TourSemanticDOM, TourStep, TourTarget, } from './interface';
3
3
  export default InternalTour;
@@ -25,11 +25,7 @@
25
25
  }
26
26
 
27
27
  &-drag-over-inside {
28
- background: color-mix(
29
- in srgb,
30
- var(--yee-primary-color) 12%,
31
- transparent
32
- );
28
+ background: color-mix(in srgb, var(--yee-primary-color) 12%, transparent);
33
29
  }
34
30
 
35
31
  &-switcher {