@1money/react-ui 1.10.1 → 1.11.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 (36) hide show
  1. package/AGENTS.md +34 -0
  2. package/es/components/Clipboard/Clipboard.js +8 -18
  3. package/es/components/Clipboard/style/Clipboard.css +1 -1
  4. package/es/components/Clipboard/style/Clipboard.scss +7 -3
  5. package/es/components/Copy/Copy.d.ts +5 -0
  6. package/es/components/Copy/Copy.js +53 -0
  7. package/es/components/Copy/index.d.ts +4 -0
  8. package/es/components/Copy/index.js +5 -0
  9. package/es/components/Copy/interface.d.ts +8 -0
  10. package/es/components/Copy/interface.js +2 -0
  11. package/es/components/Copy/style/Copy.css +1 -0
  12. package/es/components/Copy/style/Copy.scss +20 -0
  13. package/es/components/Copy/style/css.js +2 -0
  14. package/es/components/Copy/style/index.d.ts +1 -0
  15. package/es/components/Copy/style/index.js +2 -0
  16. package/es/index.css +1 -1
  17. package/es/index.d.ts +2 -0
  18. package/es/index.js +4 -1
  19. package/lib/components/Clipboard/Clipboard.js +8 -18
  20. package/lib/components/Clipboard/style/Clipboard.css +1 -1
  21. package/lib/components/Clipboard/style/Clipboard.scss +7 -3
  22. package/lib/components/Copy/Copy.d.ts +5 -0
  23. package/lib/components/Copy/Copy.js +59 -0
  24. package/lib/components/Copy/index.d.ts +4 -0
  25. package/lib/components/Copy/index.js +33 -0
  26. package/lib/components/Copy/interface.d.ts +8 -0
  27. package/lib/components/Copy/interface.js +6 -0
  28. package/lib/components/Copy/style/Copy.css +1 -0
  29. package/lib/components/Copy/style/Copy.scss +20 -0
  30. package/lib/components/Copy/style/css.js +4 -0
  31. package/lib/components/Copy/style/index.d.ts +1 -0
  32. package/lib/components/Copy/style/index.js +4 -0
  33. package/lib/index.css +1 -1
  34. package/lib/index.d.ts +2 -0
  35. package/lib/index.js +9 -1
  36. package/package.json +6 -1
package/AGENTS.md ADDED
@@ -0,0 +1,34 @@
1
+ # Repository Guidelines
2
+
3
+ ## Project Structure & Module Organization
4
+ - `src/` contains the TypeScript source; reusable widgets live in `src/components/*`, each with colocated props, styles, and tests.
5
+ - Component tests sit in `src/components/*/__test__/index.test.tsx`, with Jest snapshots tracked under `__snapshots__`.
6
+ - Storybook examples and playground stories reside in `src/stories/`; shared tokens and themes live in `src/variable.scss`.
7
+ - Build artifacts are written to `es/` (ESM) and `lib/` (CJS) by the Omni pipeline—never edit these outputs directly.
8
+ - Static assets originate from `public/`, while configuration (babel, tailwind, eslint, stylelint) is at the repo root.
9
+
10
+ ## Build, Test, and Development Commands
11
+ - `pnpm install` boots the workspace and applies local `patches/`.
12
+ - `pnpm dev` (alias `pnpm start`) runs `omni dev` with hot reloading for component previews.
13
+ - `pnpm build` runs `omni build`, compiling TypeScript, styles, and type declarations into `es/` and `lib/`.
14
+ - `pnpm run build:demo` produces Storybook docs in `dist-story/` for documentation or visual review handoff.
15
+ - `pnpm test` executes the Jest suite with Testing Library; append `:snapshot` to refresh approved snapshots.
16
+ - `pnpm lint` chains Prettier, ESLint, and Stylelint checks; use `pnpm run lint:fix` before committing to auto-resolve issues.
17
+
18
+ ## Coding Style & Naming Conventions
19
+ - Prettier enforces 2-space indentation, 50-character print width, single quotes, and no trailing commas; run `pnpm lint:prettier_fix` after edits.
20
+ - Follow ESLint rules in `eslint.config.js`; components and stories use PascalCase filenames, hooks/utilities use camelCase.
21
+ - Style files (`.scss`, `.less`, `.css`) follow kebab-case names and Stylelint ordering; colocate styles with their component folder.
22
+ - Export public components through `src/index.ts`, keeping barrel exports alphabetized and tree-shake friendly.
23
+
24
+ ## Testing Guidelines
25
+ - Write unit tests with Jest + `@testing-library/react`; prefer user-centric queries (`screen.getByRole`).
26
+ - Place new specs within the component’s `__test__` folder; mock browser APIs via `setupTests.js` when needed.
27
+ - Maintain existing snapshots; regenerate with `pnpm run test:snapshot` and explain diffs in PRs.
28
+ - Cover new states, accessibility flows, and edge cases; async interactions should await `screen.findBy...`.
29
+
30
+ ## Commit & Pull Request Guidelines
31
+ - Commit messages must satisfy commitlint, using allowed types like `fix:`, `feat:`, `update:`, or scoped tags (`[OMNI-DOOR]`), plus optional issue refs `(#211)`.
32
+ - Keep commits focused and run `pnpm lint` and `pnpm test` locally before pushing to prevent CI regressions.
33
+ - Pull requests require a concise summary, linked issues, and screenshots or Storybook URLs for visual changes.
34
+ - Request at least one reviewer; mark PRs as draft until checks pass and documentation is updated.
@@ -1,8 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { memo } from 'react';
3
- import clipboard from '../../utils/clipboard';
4
- import Icons from '../Icons';
5
3
  import Typography from '../Typography';
4
+ import Copy from '../Copy';
6
5
  import classnames from '../../utils/classnames';
7
6
  export var Clipboard = function Clipboard(props) {
8
7
  var content = props.content,
@@ -14,15 +13,6 @@ export var Clipboard = function Clipboard(props) {
14
13
  _props$prefixCls = props.prefixCls,
15
14
  prefixCls = _props$prefixCls === void 0 ? 'clipboard' : _props$prefixCls;
16
15
  var classes = classnames(prefixCls);
17
- var onCopy = function onCopy() {
18
- clipboard(content, function (succeeded) {
19
- if (succeeded) {
20
- onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(content);
21
- } else {
22
- onError === null || onError === void 0 ? void 0 : onError(new Error('Copy failed'));
23
- }
24
- });
25
- };
26
16
  return _jsxs("div", {
27
17
  className: classes(void 0, className),
28
18
  children: [_jsx(Typography.Label, {
@@ -36,15 +26,15 @@ export var Clipboard = function Clipboard(props) {
36
26
  size: 'l',
37
27
  className: classes('content-text'),
38
28
  children: content
39
- }), _jsx(Icons, {
40
- name: 'copy',
41
- size: 20,
42
- color: '#131313',
43
- wrapperCls: classes('content-icon'),
44
- onClick: onCopy
29
+ }), _jsx(Copy, {
30
+ value: content,
31
+ iconSize: 20,
32
+ onSuccess: onSuccess,
33
+ onError: onError,
34
+ className: classes('content-icon')
45
35
  })]
46
36
  })]
47
37
  });
48
38
  };
49
39
  export default /*#__PURE__*/memo(Clipboard);
50
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvQ2xpcGJvYXJkL0NsaXBib2FyZC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvQ2xpcGJvYXJkL0NsaXBib2FyZC50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIm1lbW8iLCJjbGlwYm9hcmQiLCJJY29ucyIsIlR5cG9ncmFwaHkiLCJjbGFzc25hbWVzIiwiQ2xpcGJvYXJkIiwicHJvcHMiLCJjb250ZW50IiwiY2xhc3NOYW1lIiwibGFiZWwiLCJsYWJlbENscyIsIm9uU3VjY2VzcyIsIm9uRXJyb3IiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiY2xhc3NlcyIsIm9uQ29weSIsInN1Y2NlZWRlZCIsIkVycm9yIiwiY2hpbGRyZW4iLCJMYWJlbCIsImJvbGQiLCJzaXplIiwiQm9keSIsIm5hbWUiLCJjb2xvciIsIndyYXBwZXJDbHMiLCJvbkNsaWNrIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDQTlELFNBQVNDLElBQUksUUFBUSxPQUFPO0FBQzVCLE9BQU9DLFNBQVMsTUFBTSx1QkFBdUI7QUFDN0MsT0FBT0MsS0FBSyxNQUFNLFVBQVU7QUFDNUIsT0FBT0MsVUFBVSxNQUFNLGVBQWU7QUFDdEMsT0FBT0MsVUFBVSxNQUFNLHdCQUF3QjtBQUsvQyxPQUFPLElBQU1DLFNBQVMsR0FBdUIsU0FBaENBLFNBQVNBLENBQXVCQyxLQUFLLEVBQUc7RUFDbkQsSUFBUUMsT0FBTyxHQUE4RUQsS0FBSyxDQUExRkMsT0FBTztJQUFFQyxTQUFTLEdBQW1FRixLQUFLLENBQWpGRSxTQUFTO0lBQUVDLEtBQUssR0FBNERILEtBQUssQ0FBdEVHLEtBQUs7SUFBRUMsUUFBUSxHQUFrREosS0FBSyxDQUEvREksUUFBUTtJQUFFQyxTQUFTLEdBQXVDTCxLQUFLLENBQXJESyxTQUFTO0lBQUVDLE9BQU8sR0FBOEJOLEtBQUssQ0FBMUNNLE9BQU87SUFBQUMsZ0JBQUEsR0FBOEJQLEtBQUssQ0FBakNRLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLFdBQVcsR0FBQUEsZ0JBQUE7RUFDeEYsSUFBTUUsT0FBTyxHQUFHWCxVQUFVLENBQUNVLFNBQVMsQ0FBQztFQUNyQyxJQUFNRSxNQUFNLEdBQUcsU0FBVEEsTUFBTUEsQ0FBQSxFQUFRO0lBQ2xCZixTQUFTLENBQUNNLE9BQWlCLEVBQUUsVUFBQ1UsU0FBa0IsRUFBSTtNQUNsRCxJQUFJQSxTQUFTLEVBQUU7UUFDYk4sU0FBUyxLQUFBLElBQUEsSUFBVEEsU0FBUyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFUQSxTQUFTLENBQUdKLE9BQWlCLENBQUM7TUFDaEMsQ0FBQyxNQUFNO1FBQ0xLLE9BQU8sS0FBQSxJQUFBLElBQVBBLE9BQU8sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBUEEsT0FBTyxDQUFHLElBQUlNLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztNQUNyQztJQUNGLENBQUMsQ0FBQztFQUNKLENBQUM7RUFDRCxPQUNFbkIsS0FBQSxDQUFBLEtBQUEsRUFBQTtJQUNFUyxTQUFTLEVBQUVPLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRVAsU0FBUyxDQUFDO0lBQUFXLFFBQUEsRUFBQSxDQUVyQ3RCLElBQUEsQ0FBQ00sVUFBVSxDQUFDaUIsS0FBSyxFQUFBO01BQUNDLElBQUksRUFBQSxJQUFBO01BQUNDLElBQUksRUFBQyxHQUFHO01BQUNkLFNBQVMsRUFBRU8sT0FBTyxDQUFDLE9BQU8sRUFBRUwsUUFBUSxDQUFDO01BQUFTLFFBQUEsRUFBR1Y7SUFBSyxDQUFBLENBQW9CLEVBQ2pHVixLQUFBLENBQUEsS0FBQSxFQUFBO01BQUtTLFNBQVMsRUFBRU8sT0FBTyxDQUFDLFNBQVMsQ0FBQztNQUFBSSxRQUFBLEVBQUEsQ0FDaEN0QixJQUFBLENBQUNNLFVBQVUsQ0FBQ29CLElBQUksRUFBQTtRQUFDRCxJQUFJLEVBQUMsR0FBRztRQUFDZCxTQUFTLEVBQUVPLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFBQUksUUFBQSxFQUFJWjtNQUFPLENBQUEsQ0FBb0IsRUFDM0ZWLElBQUEsQ0FBQ0ssS0FBSyxFQUFBO1FBQUNzQixJQUFJLEVBQUMsTUFBTTtRQUFDRixJQUFJLEVBQUUsRUFBRTtRQUFFRyxLQUFLLEVBQUMsU0FBUztRQUFDQyxVQUFVLEVBQUVYLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFBRVksT0FBTyxFQUFFWDtNQUFNLENBQUEsQ0FBSTtJQUFBLENBQUEsQ0FDakc7RUFBQSxDQUFBLENBQ0Y7QUFFVixDQUFDO0FBRUQsNEJBQWVoQixJQUFJLENBQUNLLFNBQVMsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL0NsaXBib2FyZC9DbGlwYm9hcmQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGlwYm9hcmQgZnJvbSAnLi4vLi4vdXRpbHMvY2xpcGJvYXJkJztcbmltcG9ydCBJY29ucyBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgVHlwb2dyYXBoeSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuZXhwb3J0IGNvbnN0IENsaXBib2FyZCA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7IGNvbnRlbnQsIGNsYXNzTmFtZSwgbGFiZWwsIGxhYmVsQ2xzLCBvblN1Y2Nlc3MsIG9uRXJyb3IsIHByZWZpeENscyA9ICdjbGlwYm9hcmQnIH0gPSBwcm9wcztcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IG9uQ29weSA9ICgpID0+IHtcbiAgICAgICAgY2xpcGJvYXJkKGNvbnRlbnQsIChzdWNjZWVkZWQpID0+IHtcbiAgICAgICAgICAgIGlmIChzdWNjZWVkZWQpIHtcbiAgICAgICAgICAgICAgICBvblN1Y2Nlc3MgPT09IG51bGwgfHwgb25TdWNjZXNzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblN1Y2Nlc3MoY29udGVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBvbkVycm9yID09PSBudWxsIHx8IG9uRXJyb3IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uRXJyb3IobmV3IEVycm9yKCdDb3B5IGZhaWxlZCcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKHZvaWQgMCwgY2xhc3NOYW1lKSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHkuTGFiZWwsIHsgYm9sZDogdHJ1ZSwgc2l6ZTogJ2wnLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2xhYmVsJywgbGFiZWxDbHMpLCBjaGlsZHJlbjogbGFiZWwgfSksIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250ZW50JyksIGNoaWxkcmVuOiBbX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogJ2wnLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbnRlbnQtdGV4dCcpLCBjaGlsZHJlbjogY29udGVudCB9KSwgX2pzeChJY29ucywgeyBuYW1lOiAnY29weScsIHNpemU6IDIwLCBjb2xvcjogJyMxMzEzMTMnLCB3cmFwcGVyQ2xzOiBjbGFzc2VzKCdjb250ZW50LWljb24nKSwgb25DbGljazogb25Db3B5IH0pXSB9KV0gfSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IG1lbW8oQ2xpcGJvYXJkKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
40
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvQ2xpcGJvYXJkL0NsaXBib2FyZC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvQ2xpcGJvYXJkL0NsaXBib2FyZC50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIm1lbW8iLCJUeXBvZ3JhcGh5IiwiQ29weSIsImNsYXNzbmFtZXMiLCJDbGlwYm9hcmQiLCJwcm9wcyIsImNvbnRlbnQiLCJjbGFzc05hbWUiLCJsYWJlbCIsImxhYmVsQ2xzIiwib25TdWNjZXNzIiwib25FcnJvciIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJjbGFzc2VzIiwiY2hpbGRyZW4iLCJMYWJlbCIsImJvbGQiLCJzaXplIiwiQm9keSIsInZhbHVlIiwiaWNvblNpemUiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxFQUFFQyxJQUFJLElBQUlDLEtBQUssUUFBUSxtQkFBbUI7QUNBOUQsU0FBU0MsSUFBSSxRQUFRLE9BQU87QUFDNUIsT0FBT0MsVUFBVSxNQUFNLGVBQWU7QUFDdEMsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFDMUIsT0FBT0MsVUFBVSxNQUFNLHdCQUF3QjtBQUsvQyxPQUFPLElBQU1DLFNBQVMsR0FBdUIsU0FBaENBLFNBQVNBLENBQXVCQyxLQUFLLEVBQUc7RUFDbkQsSUFBUUMsT0FBTyxHQUE4RUQsS0FBSyxDQUExRkMsT0FBTztJQUFFQyxTQUFTLEdBQW1FRixLQUFLLENBQWpGRSxTQUFTO0lBQUVDLEtBQUssR0FBNERILEtBQUssQ0FBdEVHLEtBQUs7SUFBRUMsUUFBUSxHQUFrREosS0FBSyxDQUEvREksUUFBUTtJQUFFQyxTQUFTLEdBQXVDTCxLQUFLLENBQXJESyxTQUFTO0lBQUVDLE9BQU8sR0FBOEJOLEtBQUssQ0FBMUNNLE9BQU87SUFBQUMsZ0JBQUEsR0FBOEJQLEtBQUssQ0FBakNRLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLFdBQVcsR0FBQUEsZ0JBQUE7RUFDeEYsSUFBTUUsT0FBTyxHQUFHWCxVQUFVLENBQUNVLFNBQVMsQ0FBQztFQUVyQyxPQUNFZCxLQUFBLENBQUEsS0FBQSxFQUFBO0lBQ0VRLFNBQVMsRUFBRU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFUCxTQUFTLENBQUM7SUFBQVEsUUFBQSxFQUFBLENBRXJDbEIsSUFBQSxDQUFDSSxVQUFVLENBQUNlLEtBQUssRUFBQTtNQUFDQyxJQUFJLEVBQUEsSUFBQTtNQUFDQyxJQUFJLEVBQUMsR0FBRztNQUFDWCxTQUFTLEVBQUVPLE9BQU8sQ0FBQyxPQUFPLEVBQUVMLFFBQVEsQ0FBQztNQUFBTSxRQUFBLEVBQUdQO0lBQUssQ0FBQSxDQUFvQixFQUNqR1QsS0FBQSxDQUFBLEtBQUEsRUFBQTtNQUFLUSxTQUFTLEVBQUVPLE9BQU8sQ0FBQyxTQUFTLENBQUM7TUFBQUMsUUFBQSxFQUFBLENBQ2hDbEIsSUFBQSxDQUFDSSxVQUFVLENBQUNrQixJQUFJLEVBQUE7UUFBQ0QsSUFBSSxFQUFDLEdBQUc7UUFBQ1gsU0FBUyxFQUFFTyxPQUFPLENBQUMsY0FBYyxDQUFDO1FBQUFDLFFBQUEsRUFBSVQ7TUFBTyxDQUFBLENBQW9CLEVBQzNGVCxJQUFBLENBQUNLLElBQUksRUFBQTtRQUNIa0IsS0FBSyxFQUFFZCxPQUFpQjtRQUN4QmUsUUFBUSxFQUFFLEVBQUU7UUFDWlgsU0FBUyxFQUFFQSxTQUFTO1FBQ3BCQyxPQUFPLEVBQUVBLE9BQU87UUFDaEJKLFNBQVMsRUFBRU8sT0FBTyxDQUFDLGNBQWM7TUFBQyxDQUFBLENBQ2xDO0lBQUEsQ0FBQSxDQUNFO0VBQUEsQ0FBQSxDQUNGO0FBRVYsQ0FBQztBQUVELDRCQUFlZCxJQUFJLENBQUNJLFNBQVMsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL0NsaXBib2FyZC9DbGlwYm9hcmQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUeXBvZ3JhcGh5IGZyb20gJy4uL1R5cG9ncmFwaHknO1xuaW1wb3J0IENvcHkgZnJvbSAnLi4vQ29weSc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmV4cG9ydCBjb25zdCBDbGlwYm9hcmQgPSBwcm9wcyA9PiB7XG4gICAgY29uc3QgeyBjb250ZW50LCBjbGFzc05hbWUsIGxhYmVsLCBsYWJlbENscywgb25TdWNjZXNzLCBvbkVycm9yLCBwcmVmaXhDbHMgPSAnY2xpcGJvYXJkJyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKHZvaWQgMCwgY2xhc3NOYW1lKSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHkuTGFiZWwsIHsgYm9sZDogdHJ1ZSwgc2l6ZTogJ2wnLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2xhYmVsJywgbGFiZWxDbHMpLCBjaGlsZHJlbjogbGFiZWwgfSksIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250ZW50JyksIGNoaWxkcmVuOiBbX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogJ2wnLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbnRlbnQtdGV4dCcpLCBjaGlsZHJlbjogY29udGVudCB9KSwgX2pzeChDb3B5LCB7IHZhbHVlOiBjb250ZW50LCBpY29uU2l6ZTogMjAsIG9uU3VjY2Vzczogb25TdWNjZXNzLCBvbkVycm9yOiBvbkVycm9yLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbnRlbnQtaWNvbicpIH0pXSB9KV0gfSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IG1lbW8oQ2xpcGJvYXJkKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1 +1 @@
1
- .om-react-ui-clipboard{display:flex;flex-direction:column}.om-react-ui-clipboard-label{margin-bottom:8px}.om-react-ui-clipboard-content{display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:space-between;padding:8px 16px;background-color:#f8f8f8;border:1px solid #e3e4e4;border-radius:12px}.om-react-ui-clipboard-content-text{display:inline-block;margin:0;color:#646465!important;word-wrap:break-word;word-break:break-all}.om-react-ui-clipboard-content-icon{flex-shrink:0;cursor:pointer}
1
+ .om-react-ui-clipboard{display:flex;flex-direction:column}.om-react-ui-clipboard-label{margin-bottom:8px}.om-react-ui-clipboard-content{display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:space-between;padding:8px 16px;background-color:#f8f8f8;border:1px solid #e3e4e4;border-radius:12px}.om-react-ui-clipboard-content-text{display:inline-block;margin:0;color:#646465!important;word-wrap:break-word;word-break:break-all}.om-react-ui-clipboard-content i.om-react-ui-clipboard-content-icon{padding:0;background-color:transparent}.om-react-ui-clipboard-content i.om-react-ui-clipboard-content-icon:hover{background-color:transparent}
@@ -31,9 +31,13 @@ $component: 'clipboard';
31
31
  word-break: break-all;
32
32
  }
33
33
 
34
- &-icon {
35
- flex-shrink: 0;
36
- cursor: pointer;
34
+ i.#{$prefix}-#{$component}-content-icon {
35
+ padding: 0;
36
+ background-color: transparent;
37
+
38
+ &:hover {
39
+ background-color: transparent;
40
+ }
37
41
  }
38
42
  }
39
43
  }
@@ -0,0 +1,5 @@
1
+ import type { FC } from 'react';
2
+ import type { CopyProps } from './interface';
3
+ export declare const Copy: FC<CopyProps>;
4
+ declare const _default: import("react").NamedExoticComponent<CopyProps>;
5
+ export default _default;
@@ -0,0 +1,53 @@
1
+ 'use client';
2
+
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { memo, useRef, useState, useEffect } from 'react';
6
+ import classnames from '../../utils/classnames';
7
+ import Icons from '../Icons';
8
+ import clipboard from '../../utils/clipboard';
9
+ export var Copy = function Copy(props) {
10
+ var value = props.value,
11
+ _props$iconSize = props.iconSize,
12
+ iconSize = _props$iconSize === void 0 ? 32 : _props$iconSize,
13
+ className = props.className,
14
+ _props$prefixCls = props.prefixCls,
15
+ prefixCls = _props$prefixCls === void 0 ? 'copy' : _props$prefixCls,
16
+ onSuccess = props.onSuccess,
17
+ onError = props.onError;
18
+ var classes = classnames(prefixCls);
19
+ var _useState = useState(false),
20
+ _useState2 = _slicedToArray(_useState, 2),
21
+ copied = _useState2[0],
22
+ setCopied = _useState2[1];
23
+ var timerRef = useRef(null);
24
+ useEffect(function () {
25
+ return function () {
26
+ if (timerRef.current) clearTimeout(timerRef.current);
27
+ };
28
+ }, []);
29
+ return _jsx(Icons, {
30
+ name: copied ? 'check' : 'copy',
31
+ size: iconSize,
32
+ wrapperCls: classes(void 0, [copied && classes('success'), className].filter(Boolean).join(' ')),
33
+ onClick: function onClick(e) {
34
+ e.stopPropagation();
35
+ e.preventDefault();
36
+ if (!value || copied) return;
37
+ clipboard(value, function (succeeded) {
38
+ if (succeeded) {
39
+ setCopied(true);
40
+ if (timerRef.current) clearTimeout(timerRef.current);
41
+ timerRef.current = setTimeout(function () {
42
+ return setCopied(false);
43
+ }, 1500);
44
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(value);
45
+ } else {
46
+ onError === null || onError === void 0 ? void 0 : onError(value);
47
+ }
48
+ });
49
+ }
50
+ });
51
+ };
52
+ export default /*#__PURE__*/memo(Copy);
53
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvQ29weS9Db3B5LnRzeCIsImNvbXBvbmVudHMvQ29weS9Db3B5LmpzIl0sIm5hbWVzIjpbIl9zbGljZWRUb0FycmF5IiwianN4IiwiX2pzeCIsIm1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsImNsYXNzbmFtZXMiLCJJY29ucyIsImNsaXBib2FyZCIsIkNvcHkiLCJwcm9wcyIsInZhbHVlIiwiX3Byb3BzJGljb25TaXplIiwiaWNvblNpemUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwib25TdWNjZXNzIiwib25FcnJvciIsImNsYXNzZXMiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiY29waWVkIiwic2V0Q29waWVkIiwidGltZXJSZWYiLCJjdXJyZW50IiwiY2xlYXJUaW1lb3V0IiwibmFtZSIsInNpemUiLCJ3cmFwcGVyQ2xzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJvbkNsaWNrIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0Iiwic3VjY2VlZGVkIiwic2V0VGltZW91dCJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFBQyxPQUFBQSxjQUFBO0FDQ2IsU0FBU0MsR0FBRyxJQUFJQyxJQUFJLFFBQVEsbUJBQW1CO0FEQy9DLFNBQVNDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBQ3pELE9BQU9DLFVBQVUsTUFBTSx3QkFBd0I7QUFDL0MsT0FBT0MsS0FBSyxNQUFNLFVBQVU7QUFDNUIsT0FBT0MsU0FBUyxNQUFNLHVCQUF1QjtBQUs3QyxPQUFPLElBQU1DLElBQUksR0FBa0IsU0FBdEJBLElBQUlBLENBQWtCQyxLQUFLLEVBQUc7RUFDekMsSUFBUUMsS0FBSyxHQUF1RUQsS0FBSyxDQUFqRkMsS0FBSztJQUFBQyxlQUFBLEdBQXVFRixLQUFLLENBQTFFRyxRQUFRO0lBQVJBLFFBQVEsR0FBQUQsZUFBQSxjQUFHLEVBQUUsR0FBQUEsZUFBQTtJQUFFRSxTQUFTLEdBQTZDSixLQUFLLENBQTNESSxTQUFTO0lBQUFDLGdCQUFBLEdBQTZDTCxLQUFLLENBQWhETSxTQUFTO0lBQVRBLFNBQVMsR0FBQUQsZ0JBQUEsY0FBRyxNQUFNLEdBQUFBLGdCQUFBO0lBQUVFLFNBQVMsR0FBY1AsS0FBSyxDQUE1Qk8sU0FBUztJQUFFQyxPQUFPLEdBQUtSLEtBQUssQ0FBakJRLE9BQU87RUFDL0UsSUFBTUMsT0FBTyxHQUFHYixVQUFVLENBQUNVLFNBQVMsQ0FBQztFQUVyQyxJQUFBSSxTQUFBLEdBQTRCaEIsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBaUIsVUFBQSxHQUFBdEIsY0FBQSxDQUFBcUIsU0FBQTtJQUFwQ0UsTUFBTSxHQUFBRCxVQUFBO0lBQUVFLFNBQVMsR0FBQUYsVUFBQTtFQUV4QixJQUFNRyxRQUFRLEdBQUdyQixNQUFNLENBQXVDLElBQUksQ0FBQztFQUVuRUUsU0FBUyxDQUFDLFlBQUs7SUFDYixPQUFPLFlBQUs7TUFDVixJQUFJbUIsUUFBUSxDQUFDQyxPQUFPLEVBQUVDLFlBQVksQ0FBQ0YsUUFBUSxDQUFDQyxPQUFPLENBQUM7SUFDdEQsQ0FBQztFQUNILENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixPQUFPeEIsSUFBQSxDQUFDTSxLQUFLLEVBQUE7SUFDWG9CLElBQUksRUFBRUwsTUFBTSxHQUFHLE9BQU8sR0FBRyxNQUFNO0lBQy9CTSxJQUFJLEVBQUVmLFFBQVE7SUFDZGdCLFVBQVUsRUFBRVYsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQzFCRyxNQUFNLElBQUlILE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFDNUJMLFNBQVMsQ0FDVixDQUFDZ0IsTUFBTSxDQUFDQyxPQUFPLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCQyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBR0MsQ0FBQyxFQUFJO01BQ2JBLENBQUMsQ0FBQ0MsZUFBZSxDQUFBLENBQUU7TUFDbkJELENBQUMsQ0FBQ0UsY0FBYyxDQUFBLENBQUU7TUFDbEIsSUFBSSxDQUFDekIsS0FBSyxJQUFJVyxNQUFNLEVBQUU7TUFDdEJkLFNBQVMsQ0FDUEcsS0FBSyxFQUNMLFVBQUMwQixTQUFrQixFQUFJO1FBQ3JCLElBQUlBLFNBQVMsRUFBRTtVQUNiZCxTQUFTLENBQUMsSUFBSSxDQUFDO1VBQ2YsSUFBSUMsUUFBUSxDQUFDQyxPQUFPLEVBQUVDLFlBQVksQ0FBQ0YsUUFBUSxDQUFDQyxPQUFPLENBQUM7VUFDcERELFFBQVEsQ0FBQ0MsT0FBTyxHQUFHYSxVQUFVLENBQUM7WUFBQSxPQUFNZixTQUFTLENBQUMsS0FBSyxDQUFDO1VBQUEsR0FBRSxJQUFJLENBQUM7VUFDM0ROLFNBQVMsS0FBQSxJQUFBLElBQVRBLFNBQVMsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBVEEsU0FBUyxDQUFHTixLQUFLLENBQUM7UUFDcEIsQ0FBQyxNQUFNO1VBQ0xPLE9BQU8sS0FBQSxJQUFBLElBQVBBLE9BQU8sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBUEEsT0FBTyxDQUFHUCxLQUFLLENBQUM7UUFDbEI7TUFDRixDQUFDLENBQ0Y7SUFDSDtFQUFDLENBQUEsQ0FDRDtBQUNKLENBQUM7QUFFRCw0QkFBZVQsSUFBSSxDQUFDTyxJQUFJLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9Db3B5L0NvcHkuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIid1c2UgY2xpZW50JztcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCBJY29ucyBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgY2xpcGJvYXJkIGZyb20gJy4uLy4uL3V0aWxzL2NsaXBib2FyZCc7XG5leHBvcnQgY29uc3QgQ29weSA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7IHZhbHVlLCBpY29uU2l6ZSA9IDMyLCBjbGFzc05hbWUsIHByZWZpeENscyA9ICdjb3B5Jywgb25TdWNjZXNzLCBvbkVycm9yIH0gPSBwcm9wcztcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtjb3BpZWQsIHNldENvcGllZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgdGltZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aW1lclJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lclJlZi5jdXJyZW50KTtcbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIF9qc3goSWNvbnMsIHsgbmFtZTogY29waWVkID8gJ2NoZWNrJyA6ICdjb3B5Jywgc2l6ZTogaWNvblNpemUsIHdyYXBwZXJDbHM6IGNsYXNzZXModm9pZCAwLCBbXG4gICAgICAgICAgICBjb3BpZWQgJiYgY2xhc3Nlcygnc3VjY2VzcycpLFxuICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykpLCBvbkNsaWNrOiAoZSkgPT4ge1xuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmICghdmFsdWUgfHwgY29waWVkKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGNsaXBib2FyZCh2YWx1ZSwgKHN1Y2NlZWRlZCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzdWNjZWVkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0Q29waWVkKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGltZXJSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgdGltZXJSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoKCkgPT4gc2V0Q29waWVkKGZhbHNlKSwgMTUwMCk7XG4gICAgICAgICAgICAgICAgICAgIG9uU3VjY2VzcyA9PT0gbnVsbCB8fCBvblN1Y2Nlc3MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uU3VjY2Vzcyh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvbkVycm9yID09PSBudWxsIHx8IG9uRXJyb3IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uRXJyb3IodmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IH0pO1xufTtcbmV4cG9ydCBkZWZhdWx0IG1lbW8oQ29weSk7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1,4 @@
1
+ import Copy from './Copy';
2
+ export { Copy } from './Copy';
3
+ export default Copy;
4
+ export * from './interface';
@@ -0,0 +1,5 @@
1
+ import Copy from './Copy';
2
+ export { Copy } from './Copy';
3
+ export default Copy;
4
+ export * from './interface';
5
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvQ29weS9pbmRleC50cyJdLCJuYW1lcyI6WyJDb3B5Il0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxJQUFJLE1BQU0sUUFBUTtBQUV6QixTQUFTQSxJQUFJLFFBQVEsUUFBUTtBQUU3QixlQUFlQSxJQUFJO0FBRW5CLGNBQWMsYUFBYSIsImZpbGUiOiJjb21wb25lbnRzL0NvcHkvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1,8 @@
1
+ export interface CopyProps {
2
+ value: string;
3
+ iconSize?: number;
4
+ className?: string;
5
+ prefixCls?: string;
6
+ onSuccess?: (val: string) => void;
7
+ onError?: (val: string) => void;
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy9Db3B5L2ludGVyZmFjZS5qcyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9Db3B5L2ludGVyZmFjZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307Il0sIm1hcHBpbmdzIjoiQUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1 @@
1
+ .om-react-ui-copy{flex-shrink:0;padding:8px;background-color:#f0f0f0;border-radius:12px;cursor:pointer}.om-react-ui-copy:not(.om-react-ui-copy-success):hover{background-color:#e3e4e4}.om-react-ui-copy-success{background-color:rgba(31,88,0,.2)}
@@ -0,0 +1,20 @@
1
+ @use '../../../variable.scss'as *;
2
+
3
+ $component: 'copy';
4
+ $cls: #{$prefix}-#{$component};
5
+
6
+ .#{$cls} {
7
+ flex-shrink: 0;
8
+ padding: 8px;
9
+ background-color: $color-grey;
10
+ border-radius: 12px;
11
+ cursor: pointer;
12
+
13
+ &:not(&-success):hover {
14
+ background-color: $color-grey-deep;
15
+ }
16
+
17
+ &-success {
18
+ background-color: $color-success-background;
19
+ }
20
+ }
@@ -0,0 +1,2 @@
1
+ import './Copy.css';
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvQ29weS9zcmMvY29tcG9uZW50cy9Db3B5L3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sYUFBYSIsImZpbGUiOiJjb21wb25lbnRzL0NvcHkvc3R5bGUvY3NzLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1 @@
1
+ import './Copy.scss';
@@ -0,0 +1,2 @@
1
+ import './Copy.scss';
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvQ29weS9zcmMvY29tcG9uZW50cy9Db3B5L3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sYUFBYSIsImZpbGUiOiJjb21wb25lbnRzL0NvcHkvc3R5bGUvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=