Skip to content

Conversation

EmilyyyLiu
Copy link
Contributor

@EmilyyyLiu EmilyyyLiu commented Mar 20, 2025

修改背景:
antd RFC:ant-design/ant-design#53197

Summary by CodeRabbit

  • 样式
    • 更新了通知关闭按钮的外观,移除了边框并采用了白色背景,提升了界面的整洁效果。
  • 重构
    • 调整了关闭操作的交互方式,将关闭图标改为更符合语义的按钮元素,增强了键盘操作支持和无障碍体验。
    • 更新了通知配置结构,简化了关闭图标的处理方式,使其更灵活并支持无障碍属性。
  • 测试
    • 在通知组件的测试套件中新增了测试用例,验证关闭按钮的可访问性属性是否正确设置。
    • 修改了现有测试用例,更新了关闭图标的处理逻辑。

@vercel
Copy link

vercel bot commented Mar 20, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
notification ✅ Ready (Inspect) Visit Preview 💬 Add feedback Mar 21, 2025 1:35am

@coderabbitai
Copy link

coderabbitai bot commented Mar 20, 2025

Walkthrough

本次提交包含两部分更改:一是在 assets/index.less 中修改了通知组件中 .close 样式,设置 border: 0background-color: #fff 来调整关闭按钮的视觉效果;另一处在 src/Notice.tsx 中,将关闭图标的渲染元素从 <a> 更改为 <button>,同时更新 onCloseKeyDown 事件处理类型以匹配按钮元素的语义。此外,在测试文件 tests/index.test.tsx 中添加了新的测试用例,以验证关闭按钮的可访问性属性。

Changes

文件 变更概况
assets/.../index.less 修改 .close 类:设置 border: 0background-color: #fff,调整关闭按钮样式。
src/Notice.tsx 更换关闭图标元素从 <a><button>,修改 onCloseKeyDown 事件处理类型,优化点击和键盘事件逻辑。
src/hooks/.../useNotification.tsx 移除 closeIcon 属性,更新 closable 属性以包含可选的 closeIcon 和 ARIA 属性。
src/.../interface.ts 移除 closeIcon 属性,更新 closable 属性以包含可选的 closeIcon 和 ARIA 属性。
tests/.../index.test.tsx 添加新的测试用例:验证通知关闭按钮的 aria-label 属性,修改现有测试用例逻辑以适应新结构。

Sequence Diagram(s)

sequenceDiagram
    participant 用户
    participant 按钮
    participant 组件

    用户->>按钮: 点击关闭按钮
    按钮->>组件: 触发 onCloseKeyDown 事件
    组件->>组件: 执行关闭逻辑
Loading

Poem

嗨,我是快乐的小兔子,
看着代码风轻云淡舞;
边框消逝,白光闪烁,
按钮跳跃,语义更妥;
在这代码花园中,
一跃成诗,喜乐无穷!
🐰✨

Warning

There were issues while running some tools. Please review the errors and either fix the tool’s configuration or disable the tool if it’s a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

 WARN  deprecated [email protected]: This version is no longer supported. Please see https://eslint.org/version-support for other options.
Progress: resolved 1, reused 0, downloaded 0, added 0
Progress: resolved 3, reused 0, downloaded 3, added 0
Progress: resolved 4, reused 0, downloaded 4, added 0
Progress: resolved 5, reused 0, downloaded 4, added 0
Progress: resolved 5, reused 0, downloaded 5, added 0
Progress: resolved 6, reused 0, downloaded 5, added 0
Progress: resolved 32, reused 0, downloaded 25, added 0
Progress: resolved 56, reused 0, downloaded 45, added 0
Progress: resolved 76, reused 0, downloaded 65, added 0
Progress: resolved 95, reused 0, downloaded 87, added 0
Progress: resolved 123, reused 0, downloaded 106, added 0
Progress: resolved 140, reused 0, downloaded 124, added 0
Progress: resolved 171, reused 0, downloaded 153, added 0
Progress: resolved 209, reused 0, downloaded 193, added 0
Progress: resolved 238, reused 0, downloaded 219, added 0
Progress: resolved 270, reused 0, downloaded 249, added 0
Progress: resolved 303, reused 0, downloaded 282, added 0
Progress: resolved 322, reused 0, downloaded 292, added 0
Progress: resolved 333, reused 0, downloaded 305, added 0
Progress: resolved 361, reused 0, downloaded 326, added 0
Progress: resolved 411, reused 0, downloaded 373, added 0
Progress: resolved 461, reused 0, downloaded 421, added 0
Progress: resolved 484, reused 0, downloaded 445, added 0
Progress: resolved 524, reused 0, downloaded 481, added 0
Progress: resolved 541, reused 0, downloaded 499, added 0
Progress: resolved 557, reused 0, downloaded 506, added 0
Progress: resolved 572, reused 0, downloaded 515, added 0
Progress: resolved 591, reused 0, downloaded 533, added 0
Progress: resolved 605, reused 0, downloaded 546, added 0
Progress: resolved 622, reused 0, downloaded 564, added 0
Progress: resolved 648, reused 0, downloaded 588, added 0
Progress: resolved 662, reused 0, downloaded 599, added 0
Progress: resolved 667, reused 0, downloaded 602, added 0
Progress: resolved 671, reused 0, downloaded 606, added 0
Progress: resolved 673, reused 0, downloaded 610, added 0
Progress: resolved 675, reused 0, downloaded 612, added 0
Progress: resolved 676, reused 0, downloaded 612, added 0
Progress: resolved 679, reused 0, downloaded 612, added 0
Progress: resolved 681, reused 0, downloaded 613, added 0
Progress: resolved 682, reused 0, downloaded 617, added 0
Progress: resolved 683, reused 0, downloaded 617, added 0
Progress: resolved 686, reused 0, downloaded 620, added 0
Progress: resolved 689, reused 0, downloaded 626, added 0
Progress: resolved 689, reused 0, downloaded 627, added 0
Progress: resolved 692, reused 0, downloaded 627, added 0
Progress: resolved 693, reused 0, downloaded 628, added 0
Progress: resolved 695, reused 0, downloaded 630, added 0
Progress: resolved 695, reused 0, downloaded 632, added 0
Progress: resolved 700, reused 0, downloaded 636, added 0
Progress: resolved 701, reused 0, downloaded 636, added 0
Progress: resolved 703, reused 0, downloaded 637, added 0
Progress: resolved 704, reused 0, downloaded 638, added 0
Progress: resolved 709, reused 0, downloaded 644, added 0
 WARN  GET http://10.0.0.28:4873/@typescript-eslint%2Fexperimental-utils error (504). Will retry in 10 seconds. 2 retries left.
Progress: resolved 711, reused 0, downloaded 646, added 0
 WARN  GET http://10.0.0.28:4873/@typescript-eslint%2Ftypescript-estree error (504). Will retry in 10 seconds. 2 retries left.
 WARN  GET http://10.0.0.28:4873/@typescript-eslint%2Fscope-manager error (ECONNRESET). Will retry in 10 seconds. 2 retries left.
Progress: resolved 713, reused 0, downloaded 648, added 0
Progress: resolved 716, reused 0, downloaded 652, added 0
Progress: resolved 721, reused 0, downloaded 656, added 0
Progress: resolved 725, reused 0, downloaded 660, added 0
Progress: resolved 729, reused 0, downloaded 662, added 0
Progress: resolved 746, reused 0, downloaded 667, added 0
Progress: resolved 752, reused 0, downloaded 669, added 0
Progress: resolved 759, reused 0, downloaded 671, added 0
Progress: resolved 768, reused 0, downloaded 676, added 0
Progress: resolved 772, reused 0, downloaded 683, added 0
Progress: resolved 774, reused 0, downloaded 685, added 0
Progress: resolved 781, reused 0, downloaded 692, added 0
Progress: resolved 787, reused 0, downloaded 697, added 0
Progress: resolved 794, reused 0, downloaded 704, added 0
Progress: resolved 798, reused 0, downloaded 707, added 0
Progress: resolved 805, reused 0, downloaded 712, added 0
Progress: resolved 807, reused 0, downloaded 716, added 0
Progress: resolved 817, reused 0, downloaded 721, added 0
Progress: resolved 819, reused 0, downloaded 728, added 0
Progress: resolved 825, reused 0, downloaded 734, added 0
Progress: resolved 858, reused 0, downloaded 739, added 0
Progress: resolved 867, reused 0, downloaded 742, added 0
Progress: resolved 870, reused 0, downloaded 743, added 0
Progress: resolved 875, reused 0, downloaded 745, added 0
Progress: resolved 879, reused 0, downloaded 748, added 0
Progress: resolved 887, reused 0, downloaded 753, added 0
Progress: resolved 889, reused 0, downloaded 756, added 0
Progress: resolved 905, reused 0, downloaded 771, added 0
Progress: resolved 905, reused 0, downloaded 773, added 0
Progress: resolved 921, reused 0, downloaded 779, added 0
Progress: resolved 929, reused 0, downloaded 788, added 0
Progress: resolved 933, reused 0, downloaded 797, added 0
Progress: resolved 940, reused 0, downloaded 802, added 0
Progress: resolved 948, reused 0, downloaded 809, added 0
Progress: resolved 960, reused 0, downloaded 822, added 0
Progress: resolved 963, reused 0, downloaded 824, added 0
Progress: resolved 968, reused 0, downloaded 827, added 0
Progress: resolved 973, reused 0, downloaded 834, added 0
Progress: resolved 987, reused 0, downloaded 843, added 0
Progress: resolved 1001, reused 0, downloaded 857, added 0
Progress: resolved 1012, reused 0, downloaded 867, added 0
Progress: resolved 1030, reused 0, downloaded 880, added 0
Progress: resolved 1040, reused 0, downloaded 887, added 0
Progress: resolved 1051, reused 0, downloaded 896, added 0
Progress: resolved 1060, reused 0, downloaded 910, added 0
Progress: resolved 1077, reused 0, downloaded 925, added 0
Progress: resolved 1099, reused 0, downloaded 945, added 0
Progress: resolved 1115, reused 0, downloaded 959, added 0
Progress: resolved 1137, reused 0, downloaded 972, added 0
Progress: resolved 1149, reused 0, downloaded 981, added 0
Progress: resolved 1165, reused 0, downloaded 999, added 0
Progress: resolved 1172, reused 0, downloaded 1005, added 0
Progress: resolved 1180, reused 0, downloaded 1013, added 0
Progress: resolved 1193, reused 0, downloaded 1026, added 0
Progress: resolved 1207, reused 0, downloaded 1037, added 0
Progress: resolved 1214, reused 0, downloaded 1043, added 0
Progress: resolved 1231, reused 0, downloaded 1055, added 0
Progress: resolved 1239, reused 0, downloaded 1068, added 0
Progress: resolved 1251, reused 0, downloaded 1078, added 0
Progress: resolved 1280, reused 0, downloaded 1105, added 0
Progress: resolved 1313, reused 0, downloaded 1141, added 0
Progress: resolved 1345, reused 0, downloaded 1171, added 0
Progress: resolved 1361, reused 0, downloaded 1180, added 0
Progress: resolved 1373, reused 0, downloaded 1184, added 0
Progress: resolved 1388, reused 0, downloaded 1200, added 0
Progress: resolved 1393, reused 0, downloaded 1207, added 0
Progress: resolved 1408, reused 0, downloaded 1217, added 0
Progress: resolved 1420, reused 0, downloaded 1230, added 0
Progress: resolved 1426, reused 0, downloaded 1237, added 0
Progress: resolved 1437, reused 0, downloaded 1245, added 0
Progress: resolved 1465, reused 0, downloaded 1271, added 0
Progress: resolved 1479, reused 0, downloaded 1287, added 0
Progress: resolved 1492, reused 0, downloaded 1298, added 0
Progress: resolved 1508, reused 0, downloaded 1311, added 0
Progress: resolved 1538, reused 0, downloaded 1321, added 0
Progress: resolved 1548, reused 0, downloaded 1332, added 0
Progress: resolved 1562, reused 0, downloaded 1345, added 0
Progress: resolved 1570, reused 0, downloaded 1350, added 0
Progress: resolved 1572, reused 0, downloaded 1355, added 0
Progress: resolved 1579, reused 0, downloaded 1362, added 0
Progress: resolved 1585, reused 0, downloaded 1366, added 0
Progress: resolved 1595, reused 0, downloaded 1375, added 0
Progress: resolved 1602, reused 0, downloaded 1380, added 0
Progress: resolved 1612, reused 0, downloaded 1390, added 0
Progress: resolved 1616, reused 0, downloaded 1397, added 0
Progress: resolved 1619, reused 0, downloaded 1400, added 0
Progress: resolved 1634, reused 0, downloaded 1409, added 0
Progress: resolved 1635, reused 0, downloaded 1412, added 0
Progress: resolved 1644, reused 0, downloaded 1418, added 0
Progress: resolved 1659, reused 0, downloaded 1429, added 0
Progress: resolved 1670, reused 0, downloaded 1434, added 0
Progress: resolved 1671, reused 0, downloaded 1437, added 0
Progress: resolved 1672, reused 0, downloaded 1441, added 0
Progress: resolved 1673, reused 0, downloaded 1450, added 0
 WARN  GET http://10.0.0.28:4873/@umijs/mako-linux-x64-gnu/-/mako-linux-x64-gnu-0.11.5.tgz error (ECONNRESET). Will retry in 10 seconds. 2 retries left.
Progress: resolved 1673, reused 0, downloaded 1451, added 0
Progress: resolved 1674, reused 0, downloaded 1451, added 0
Progress: resolved 1677, reused 0, downloaded 1458, added 0
 WARN  GET http://10.0.0.28:4873/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz error (ERR_PNPM_FETCH_504). Will retry in 10 seconds. 2 retries left.
Progress: resolved 1677, reused 0, downloaded 1465, added 0
Progress: resolved 1679, reused 0, downloaded 1471, added 0
Progress: resolved 1679, reused 0, downloaded 1472, added 0
Progress: resolved 1679, reused 0, downloaded 1473, added 0
Progress: resolved 1679, reused 0, downloaded 1475, added 0
Progress: resolved 1679, reused 0, downloaded 1476, added 0
Progress: resolved 1679, reused 0, downloaded 1483, added 0
Progress: resolved 1679, reused 0, downloaded 1492, added 0
Progress: resolved 1679, reused 0, downloaded 1493, added 0
Progress: resolved 1679, reused 0, downloaded 1494, added 0
Progress: resolved 1679, reused 0, downloaded 1495, added 0
 WARN  GET http://10.0.0.28:4873/@types%2Fnode error (504). Will retry in 10 seconds. 2 retries left.
Progress: resolved 1679, reused 0, downloaded 1501, added 0
Progress: resolved 1679, reused 0, downloaded 1502, added 0
Progress: resolved 1679, reused 0, downloaded 1506, added 0
Progress: resolved 1679, reused 0, downloaded 1510, added 0
Progress: resolved 1679, reused 0, downloaded 1513, added 0
Progress: resolved 1679, reused 0, downloaded 1514, added 0
Progress: resolved 1679, reused 0, downloaded 1518, added 0
Progress: resolved 1679, reused 0, downloaded 1522, added 0
Progress: resolved 1679, reused 0, downloaded 1527, added 0
Progress: resolved 1679, reused 0, downloaded 1530, added 0
Progress: resolved 1679, reused 0, downloaded 1531, added 0
Progress: resolved 1679, reused 0, downloaded 1532, added 0
Progress: resolved 1679, reused 0, downloaded 1533, added 0
Progress: resolved 1679, reused 0, downloaded 1534, added 0
 WARN  GET http://10.0.0.28:4873/editions/-/editions-2.3.1.tgz error (ERR_PNPM_FETCH_504). Will retry in 10 seconds. 2 retries left.
 WARN  GET http://10.0.0.28:4873/markdown-table/-/markdown-table-3.0.4.tgz error (ERR_PNPM_FETCH_504). Will retry in 10 seconds. 2 retries left.
 WARN  GET http://10.0.0.28:4873/@umijs/es-module-parser-linux-x64-gnu/-/es-module-parser-linux-x64-gnu-0.0.7.tgz error (ERR_PNPM_FETCH_504). Will retry in 10 seconds. 2 retries left.
 WARN  GET http://10.0.0.28:4873/express-http-proxy/-/express-http-proxy-2.1.1.tgz error (ERR_PNPM_FETCH_504). Will retry in 10 seconds. 2 retries left.
 WARN  GET http://10.0.0.28:4873/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz error (ERR_PNPM_FETCH_504). Will retry in 1 minute. 1 retries left.
Progress: resolved 1679, reused 0, downloaded 1535, added 0
Progress: resolved 1679, reused 0, downloaded 1536, added 0
 WARN  GET http://10.0.0.28:4873/postcss-place/-/postcss-place-7.0.5.tgz error (ERR_PNPM_FETCH_504). Will retry in 10 seconds. 2 retries left.
 WARN  GET http://10.0.0.28:4873/errlop/-/errlop-2.2.0.tgz error (ERR_PNPM_FETCH_504). Will retry in 10 seconds. 2 retries left.
Progress: resolved 1679, reused 0, downloaded 1537, added 0
Progress: resolved 1679, reused 0, downloaded 1538, added 0
Progress: resolved 1679, reused 0, downloaded 1540, added 0
 WARN  GET http://10.0.0.28:4873/@types%2Fnode error (504). Will retry in 1 minute. 1 retries left.
Progress: resolved 1679, reused 0, downloaded 1541, added 0
Progress: resolved 1679, reused 0, downloaded 1542, added 0
Progress: resolved 1679, reused 0, downloaded 1543, added 0
Progress: resolved 1680, reused 0, downloaded 1543, added 0
Progress: resolved 1684, reused 0, downloaded 1546, added 0
Progress: resolved 1685, reused 0, downloaded 1547, added 0
Progress: resolved 1686, reused 0, downloaded 1547, added 0
Progress: resolved 1693, reused 0, downloaded 1549, added 0
Progress: resolved 1701, reused 0, downloaded 1556, added 0
Progress: resolved 1704, reused 0, downloaded 1556, added 0
Progress: resolved 1704, reused 0, downloaded 1557, added 0
Progress: resolved 1704, reused 0, downloaded 1559, added 0
Progress: resolved 1704, reused 0, downloaded 1562, added 0
Progress: resolved 1707, reused 0, downloaded 1567, added 0
Progress: resolved 1710, reused 0, downloaded 1568, added 0


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6ee1240 and 8e5038c.

📒 Files selected for processing (1)
  • src/Notice.tsx (4 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/Notice.tsx

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
src/Notice.tsx (1)

146-160: 提高可访问性:将锚点标签替换为按钮元素

将关闭图标从<a>标签更改为<button>标签是一个很好的改进,可以:

  1. 提高语义正确性 - 按钮用于触发页面内的操作,而不是导航
  2. 改善屏幕阅读器用户体验 - 辅助技术可以正确识别并宣布这是一个按钮
  3. 增强键盘可访问性 - 按钮默认可以接收键盘焦点,并可通过Enter和空格键激活

这符合WCAG (Web Content Accessibility Guidelines) 的最佳实践,特别是针对"可感知"和"可操作"原则的要求。

您还可以考虑添加一些额外的无障碍属性来进一步提升用户体验:

<button
  tabIndex={0}
  className={`${noticePrefixCls}-close`}
  onKeyDown={onCloseKeyDown}
  aria-label="Close"
+ aria-pressed="false"
  {...ariaProps}
  onClick={(e) => {
    e.preventDefault();
    e.stopPropagation();
    onInternalClose();
  }}
>
  {closableObj.closeIcon}
</button>
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3b1e34b and cef1340.

📒 Files selected for processing (2)
  • assets/index.less (1 hunks)
  • src/Notice.tsx (3 hunks)
🔇 Additional comments (2)
assets/index.less (1)

82-83: 为关闭按钮添加适当的样式

通过设置border: 0background-color: #fff,使按钮元素在视觉上保持一致性,同时去除了按钮默认的边框样式。这是从<a>标签转换为<button>元素的必要样式调整,确保用户界面不会产生视觉差异。

在无障碍性方面,这些样式变更配合HTML元素的语义变更,共同提升了组件的可访问性。

src/Notice.tsx (1)

49-49: 更新事件处理器类型以匹配按钮元素

onCloseKeyDown的类型从HTMLAnchorElement更改为HTMLButtonElement,与实际DOM元素类型保持一致,确保类型安全。这种变更是从锚点标签转换到按钮元素的必要步骤。

@codecov
Copy link

codecov bot commented Mar 20, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.74%. Comparing base (3b1e34b) to head (8e5038c).
Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #367      +/-   ##
==========================================
- Coverage   99.74%   99.74%   -0.01%     
==========================================
  Files           7        7              
  Lines         777      772       -5     
  Branches      125      124       -1     
==========================================
- Hits          775      770       -5     
  Misses          2        2              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@zombieJ zombieJ merged commit bdc9763 into react-component:master Mar 21, 2025
9 checks passed
Wxh16144 pushed a commit to Wxh16144-forks/notification that referenced this pull request Apr 16, 2025
…nt#367)

* 关闭按钮修改从a标签修改为button并调整样式和之前a标签一致

* 格式化恢复

* 无

* 关闭button删除tabIndex={0}

* 补充单测

* 删除closeIcon,icon从closable中取用

* 单测配置duration=0

* 修改closableObj?.closeIcon为??

---------

Co-authored-by: 刘欢 <[email protected]>
(cherry picked from commit bdc9763)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants