@1money/react-ui 1.14.10 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -1,34 +1,104 @@
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
+ # AGENTS.md
2
+
3
+ This file provides guidance to Code Agent when working with code in this repository.
4
+
5
+ ## Development Commands
6
+
7
+ ### Development Server
8
+ - `pnpm dev` - Start Storybook development server on port 6205
9
+ - `pnpm start` - Alternative command to start development server
10
+
11
+ ### Building
12
+ - `pnpm build` - Build the component library (both CommonJS and ES modules)
13
+ - `pnpm build -n` - Build bypassing all pre-checks
14
+ - `pnpm build:demo` - Build Storybook demo
15
+
16
+ ### Testing and Linting
17
+ - `pnpm test` - Run Jest tests (passes with no tests by default)
18
+ - `pnpm test:snapshot` - Update Jest snapshots
19
+ - `pnpm lint` - Run all linting (ESLint, Prettier, Stylelint)
20
+ - `pnpm lint:fix` - Auto-fix all linting issues
21
+ - `pnpm lint:es` / `pnpm lint:es_fix` - ESLint only
22
+ - `pnpm lint:prettier` / `pnpm lint:prettier_fix` - Prettier only
23
+ - `pnpm lint:style` / `pnpm lint:style_fix` - Stylelint only
24
+
25
+ ### Component Generation
26
+ - `pnpm new` - Interactive component scaffolding using omni-door
27
+ - `pnpm new ComponentName -f` - Generate functional component with given name
28
+
29
+ ### Package Management
30
+ - `pnpm release` - Release new version (auto-builds first)
31
+ - `pnpm release -i` - Release ignoring version iteration
32
+ - `pnpm release -m 0.3.25` - Release with specific version
33
+ - `pnpm release -n` - Release bypassing pre-checks
34
+
35
+ ## Project Architecture
36
+
37
+ ### Component Library Structure
38
+ This is a React component library built with PrimeReact as the base, using the omni-door CLI framework for scaffolding and build processes.
39
+
40
+ **Core Dependencies:**
41
+ - **PrimeReact**: Base UI component library (>=10.9.0)
42
+ - **React**: >=16.8.0 with React 19+ for development
43
+ - **TailwindCSS**: >=3.0.0 for styling system
44
+ - **TypeScript**: Full TypeScript support with strict mode
45
+
46
+ **Build System:**
47
+ - Dual output: CommonJS (`lib/`) and ES modules (`es/`)
48
+ - Gulp-based build pipeline via omni-door
49
+ - SCSS preprocessing with modern API
50
+ - Path aliasing: `@/` maps to `src/`
51
+
52
+ ### Directory Structure
53
+ ```
54
+ src/
55
+ ├── components/ # All UI components
56
+ │ └── ComponentName/
57
+ │ ├── ComponentName.tsx # Main component file
58
+ │ ├── ComponentName.stories.tsx # Storybook stories
59
+ │ ├── interface.ts # TypeScript interfaces
60
+ │ ├── index.ts # Export barrel
61
+ │ ├── README.md # Component documentation
62
+ │ ├── __test__/ # Jest tests with snapshots
63
+ │ └── style/ # SCSS styles
64
+ ├── utils/ # Utility functions (classnames, clipboard, uuid)
65
+ ├── variable.scss # Global SCSS variables
66
+ └── index.ts # Main library export
67
+ ```
68
+
69
+ ### Component Development Patterns
70
+ - **Base Components**: Most components wrap PrimeReact components with custom styling
71
+ - **Props Interface**: Each component has a dedicated `interface.ts` file
72
+ - **Styling**: SCSS modules with BEM-like naming via `classnames` utility
73
+ - **Testing**: Jest with snapshot testing for visual regression
74
+ - **Stories**: Storybook stories for documentation and testing
75
+
76
+ ### Key Files
77
+ - `omni.config.js`: Main configuration for build, dev server, and scaffolding
78
+ - `gulpfile.js`: Custom build pipeline configuration
79
+ - `tsconfig.json`: TypeScript configuration with path mapping
80
+ - `.storybook/`: Storybook configuration with custom theming
81
+
82
+ ### Package Exports
83
+ The library provides both named exports and individual component imports:
84
+ ```js
85
+ // Named imports
86
+ import { Button, Input } from '@1money/react-ui';
87
+
88
+ // Individual component imports
89
+ import { Button } from '@1money/react-ui/Button';
90
+ import '@1money/react-ui/index.css';
91
+ ```
92
+
93
+ ### Development Workflow
94
+ 1. Use `pnpm new ComponentName -f` to scaffold new components
95
+ 2. Components automatically include TypeScript interfaces, SCSS styles, Storybook stories, and Jest tests
96
+ 3. All components must pass linting (ESLint, Prettier, Stylelint) and tests before building
97
+ 4. Build process generates both CommonJS and ES module outputs with TypeScript declarations
98
+ 5. Storybook serves as both development environment and documentation
99
+
100
+ ### Important Notes
101
+ - Components are patches applied to PrimeReact and react-pro-sidebar (see `patches/` directory)
102
+ - Font assets (Aeonik, Inter, Outfit) are included in `public/fonts/`
103
+ - Lottie animations are used in Loading component
104
+ - Pre-commit hooks enforce code quality via husky and lint-staged
package/CLAUDE.md CHANGED
@@ -1,104 +1 @@
1
- # CLAUDE.md
2
-
3
- This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
-
5
- ## Development Commands
6
-
7
- ### Development Server
8
- - `pnpm dev` - Start Storybook development server on port 6205
9
- - `pnpm start` - Alternative command to start development server
10
-
11
- ### Building
12
- - `pnpm build` - Build the component library (both CommonJS and ES modules)
13
- - `pnpm build -n` - Build bypassing all pre-checks
14
- - `pnpm build:demo` - Build Storybook demo
15
-
16
- ### Testing and Linting
17
- - `pnpm test` - Run Jest tests (passes with no tests by default)
18
- - `pnpm test:snapshot` - Update Jest snapshots
19
- - `pnpm lint` - Run all linting (ESLint, Prettier, Stylelint)
20
- - `pnpm lint:fix` - Auto-fix all linting issues
21
- - `pnpm lint:es` / `pnpm lint:es_fix` - ESLint only
22
- - `pnpm lint:prettier` / `pnpm lint:prettier_fix` - Prettier only
23
- - `pnpm lint:style` / `pnpm lint:style_fix` - Stylelint only
24
-
25
- ### Component Generation
26
- - `pnpm new` - Interactive component scaffolding using omni-door
27
- - `pnpm new ComponentName -f` - Generate functional component with given name
28
-
29
- ### Package Management
30
- - `pnpm release` - Release new version (auto-builds first)
31
- - `pnpm release -i` - Release ignoring version iteration
32
- - `pnpm release -m 0.3.25` - Release with specific version
33
- - `pnpm release -n` - Release bypassing pre-checks
34
-
35
- ## Project Architecture
36
-
37
- ### Component Library Structure
38
- This is a React component library built with PrimeReact as the base, using the omni-door CLI framework for scaffolding and build processes.
39
-
40
- **Core Dependencies:**
41
- - **PrimeReact**: Base UI component library (>=10.9.0)
42
- - **React**: >=16.8.0 with React 19+ for development
43
- - **TailwindCSS**: >=3.0.0 for styling system
44
- - **TypeScript**: Full TypeScript support with strict mode
45
-
46
- **Build System:**
47
- - Dual output: CommonJS (`lib/`) and ES modules (`es/`)
48
- - Gulp-based build pipeline via omni-door
49
- - SCSS preprocessing with modern API
50
- - Path aliasing: `@/` maps to `src/`
51
-
52
- ### Directory Structure
53
- ```
54
- src/
55
- ├── components/ # All UI components
56
- │ └── ComponentName/
57
- │ ├── ComponentName.tsx # Main component file
58
- │ ├── ComponentName.stories.tsx # Storybook stories
59
- │ ├── interface.ts # TypeScript interfaces
60
- │ ├── index.ts # Export barrel
61
- │ ├── README.md # Component documentation
62
- │ ├── __test__/ # Jest tests with snapshots
63
- │ └── style/ # SCSS styles
64
- ├── utils/ # Utility functions (classnames, clipboard, uuid)
65
- ├── variable.scss # Global SCSS variables
66
- └── index.ts # Main library export
67
- ```
68
-
69
- ### Component Development Patterns
70
- - **Base Components**: Most components wrap PrimeReact components with custom styling
71
- - **Props Interface**: Each component has a dedicated `interface.ts` file
72
- - **Styling**: SCSS modules with BEM-like naming via `classnames` utility
73
- - **Testing**: Jest with snapshot testing for visual regression
74
- - **Stories**: Storybook stories for documentation and testing
75
-
76
- ### Key Files
77
- - `omni.config.js`: Main configuration for build, dev server, and scaffolding
78
- - `gulpfile.js`: Custom build pipeline configuration
79
- - `tsconfig.json`: TypeScript configuration with path mapping
80
- - `.storybook/`: Storybook configuration with custom theming
81
-
82
- ### Package Exports
83
- The library provides both named exports and individual component imports:
84
- ```js
85
- // Named imports
86
- import { Button, Input } from '@1money/react-ui';
87
-
88
- // Individual component imports
89
- import { Button } from '@1money/react-ui/Button';
90
- import '@1money/react-ui/index.css';
91
- ```
92
-
93
- ### Development Workflow
94
- 1. Use `pnpm new ComponentName -f` to scaffold new components
95
- 2. Components automatically include TypeScript interfaces, SCSS styles, Storybook stories, and Jest tests
96
- 3. All components must pass linting (ESLint, Prettier, Stylelint) and tests before building
97
- 4. Build process generates both CommonJS and ES module outputs with TypeScript declarations
98
- 5. Storybook serves as both development environment and documentation
99
-
100
- ### Important Notes
101
- - Components are patches applied to PrimeReact and react-pro-sidebar (see `patches/` directory)
102
- - Font assets (Aeonik, Inter, Outfit) are included in `public/fonts/`
103
- - Lottie animations are used in Loading component
104
- - Pre-commit hooks enforce code quality via husky and lint-staged
1
+ @AGENTS.md
@@ -9,6 +9,7 @@ var __rest = this && this.__rest || function (s, e) {
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  import { memo, useMemo } from 'react';
11
11
  import { Icons } from '../Icons';
12
+ import { Typography } from '../Typography';
12
13
  import { default as classnames, joinCls } from '../../utils/classnames';
13
14
  var SeverityIconMap = {
14
15
  success: {
@@ -16,11 +17,11 @@ var SeverityIconMap = {
16
17
  color: '#1F5800'
17
18
  },
18
19
  info: {
19
- name: 'fail',
20
+ name: 'info',
20
21
  color: '#073387'
21
22
  },
22
23
  warn: {
23
- name: 'error',
24
+ name: 'exclamation',
24
25
  color: '#DB8600'
25
26
  },
26
27
  error: {
@@ -38,23 +39,72 @@ export var Notification = function Notification(props) {
38
39
  prefixCls = _props$prefixCls === void 0 ? 'notification' : _props$prefixCls,
39
40
  title = props.title,
40
41
  description = props.description,
41
- rest = __rest(props, ["children", "className", "severity", "onClick", "prefixCls", "title", "description"]);
42
+ link = props.link,
43
+ action = props.action,
44
+ _props$closable = props.closable,
45
+ closable = _props$closable === void 0 ? false : _props$closable,
46
+ onClose = props.onClose,
47
+ _props$showIcon = props.showIcon,
48
+ showIcon = _props$showIcon === void 0 ? true : _props$showIcon,
49
+ rest = __rest(props, ["children", "className", "severity", "onClick", "prefixCls", "title", "description", "link", "action", "closable", "onClose", "showIcon"]);
42
50
  var classes = classnames(prefixCls);
43
51
  var iconData = useMemo(function () {
44
52
  return SeverityIconMap[severity];
45
53
  }, [severity]);
54
+ var bodyContent = description !== null && description !== void 0 ? description : children;
46
55
  return _jsxs("div", Object.assign({}, rest, {
47
56
  className: classes(void 0, joinCls(classes(severity), className)),
48
57
  onClick: onClick,
49
- children: [_jsx("span", {
50
- className: classes('icon'),
51
- children: _jsx(Icons, {
52
- name: iconData.name,
53
- color: iconData.color,
54
- size: 16
55
- })
56
- }), children]
58
+ children: [_jsxs("div", {
59
+ className: classes('left'),
60
+ children: [showIcon && _jsx("span", {
61
+ className: classes('icon'),
62
+ "aria-hidden": true,
63
+ children: _jsx(Icons, {
64
+ name: iconData.name,
65
+ color: iconData.color,
66
+ size: 18
67
+ })
68
+ }), _jsxs("div", {
69
+ className: classes('content'),
70
+ children: [title && _jsx(Typography.Title, {
71
+ bold: true,
72
+ size: 's',
73
+ className: classes('title'),
74
+ children: title
75
+ }), bodyContent && _jsx(Typography.Body, {
76
+ size: 'm',
77
+ className: classes('body'),
78
+ children: bodyContent
79
+ }), (link === null || link === void 0 ? void 0 : link.label) && _jsx(Typography.Link, {
80
+ size: 'm',
81
+ className: classes('link'),
82
+ href: link.href,
83
+ target: link.target,
84
+ rel: link.rel,
85
+ onClick: link.onClick,
86
+ role: link.href ? undefined : 'button',
87
+ children: link.label
88
+ })]
89
+ })]
90
+ }), (action || closable) && _jsxs("div", {
91
+ className: classes('right'),
92
+ children: [action && _jsx("div", {
93
+ className: classes('action'),
94
+ children: action
95
+ }), closable && _jsx("button", {
96
+ type: 'button',
97
+ className: classes('close'),
98
+ "aria-label": 'Close notification',
99
+ onClick: onClose,
100
+ children: _jsx(Icons, {
101
+ name: 'close',
102
+ size: 16,
103
+ color: '#646465'
104
+ })
105
+ })]
106
+ })]
57
107
  }));
58
108
  };
59
109
  export default /*#__PURE__*/memo(Notification);
60
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvTm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbi5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbi50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZU1lbW8iLCJJY29ucyIsImRlZmF1bHQiLCJjbGFzc25hbWVzIiwiam9pbkNscyIsIlNldmVyaXR5SWNvbk1hcCIsInN1Y2Nlc3MiLCJuYW1lIiwiY29sb3IiLCJpbmZvIiwid2FybiIsImVycm9yIiwiTm90aWZpY2F0aW9uIiwicHJvcHMiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsIl9wcm9wcyRzZXZlcml0eSIsInNldmVyaXR5Iiwib25DbGljayIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwicmVzdCIsImNsYXNzZXMiLCJpY29uRGF0YSIsImFzc2lnbiIsInNpemUiXSwibWFwcGluZ3MiOiJBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxD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LENBQUMsRUFBRUYsU0FBUyxDQUFDLENBQUM7SUFDakVHLE9BQU8sRUFBRUEsT0FBTztJQUFBSixRQUFBLEVBQUEsQ0FFaEJsQixJQUFBLENBQUEsTUFBQSxFQUFBO01BQU1tQixTQUFTLEVBQUVTLE9BQU8sQ0FBQyxNQUFNLENBQUM7TUFBQVYsUUFBQSxFQUM5QmxCLElBQUEsQ0FBQ0ssS0FBSyxFQUFBO1FBQUNNLElBQUksRUFBRWtCLFFBQVEsQ0FBQ2xCLElBQUk7UUFBRUMsS0FBSyxFQUFFaUIsUUFBUSxDQUFDakIsS0FBSztRQUFFbUIsSUFBSSxFQUFFO01BQUUsQ0FBQTtJQUFJLENBQUEsQ0FDMUQsRUFDTGIsUUFBUTtFQUFBLENBQUEsQ0FBQSxDQUNOO0FBRVYsQ0FBQztBQUVELDRCQUFlZixJQUFJLENBQUNhLFlBQVksQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL05vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vSWNvbnMnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5jb25zdCBTZXZlcml0eUljb25NYXAgPSB7XG4gICAgc3VjY2Vzczoge1xuICAgICAgICBuYW1lOiAnY2hlY2snLFxuICAgICAgICBjb2xvcjogJyMxRjU4MDAnLFxuICAgIH0sXG4gICAgaW5mbzoge1xuICAgICAgICBuYW1lOiAnZmFpbCcsXG4gICAgICAgIGNvbG9yOiAnIzA3MzM4NycsXG4gICAgfSxcbiAgICB3YXJuOiB7XG4gICAgICAgIG5hbWU6ICdlcnJvcicsXG4gICAgICAgIGNvbG9yOiAnI0RCODYwMCcsXG4gICAgfSxcbiAgICBlcnJvcjoge1xuICAgICAgICBuYW1lOiAnY3Jvc3MnLFxuICAgICAgICBjb2xvcjogJyNBRTAwMDAnLFxuICAgIH0sXG59O1xuZXhwb3J0IGNvbnN0IE5vdGlmaWNhdGlvbiA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIHNldmVyaXR5ID0gJ2luZm8nLCBvbkNsaWNrLCBwcmVmaXhDbHMgPSAnbm90aWZpY2F0aW9uJywgdGl0bGUsIGRlc2NyaXB0aW9uIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2hpbGRyZW5cIiwgXCJjbGFzc05hbWVcIiwgXCJzZXZlcml0eVwiLCBcIm9uQ2xpY2tcIiwgXCJwcmVmaXhDbHNcIiwgXCJ0aXRsZVwiLCBcImRlc2NyaXB0aW9uXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IGljb25EYXRhID0gdXNlTWVtbygoKSA9PiBTZXZlcml0eUljb25NYXBbc2V2ZXJpdHldLCBbc2V2ZXJpdHldKTtcbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKHZvaWQgMCwgam9pbkNscyhjbGFzc2VzKHNldmVyaXR5KSwgY2xhc3NOYW1lKSksIG9uQ2xpY2s6IG9uQ2xpY2ssIGNoaWxkcmVuOiBbX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2ljb24nKSwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogaWNvbkRhdGEubmFtZSwgY29sb3I6IGljb25EYXRhLmNvbG9yLCBzaXplOiAxNiB9KSB9KSwgY2hpbGRyZW5dIH0pKSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhOb3RpZmljYXRpb24pOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
110
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvTm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbi5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbi50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZU1lbW8iLCJJY29ucyIsIlR5cG9ncmFwaHkiLCJkZWZhdWx0IiwiY2xhc3NuYW1lcyIsImpvaW5DbHMiLCJTZXZlcml0eUljb25NYXAiLCJzdWNjZXNzIiwibmFtZSIsImNvbG9yIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsIk5vdGlmaWNhdGlvbiIsInByb3BzIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJfcHJvcHMkc2V2ZXJpdHkiLCJzZXZlcml0eSIsIm9uQ2xpY2siLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsImxpbmsiLCJhY3Rpb24iLCJfcHJvcHMkY2xvc2FibGUiLCJjbG9zYWJsZSIsIm9uQ2xvc2UiLCJfcHJvcHMkc2hvd0ljb24iLCJzaG93SWNvbiIsInJlc3QiLCJjbGFzc2VzIiwiaWNvbkRhdGEiLCJib2R5Q29udGVudCIsImFzc2lnbiIsInNpemUiLCJUaXRsZSIsImJvbGQiLCJCb2R5IiwibGFiZWwiLCJMaW5rIiwiaHJlZiIsInRhcmdldCIsInJlbCIsInJvbGUiLCJ1bmRlZmluZWQiLCJ0eXBlIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xE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RUFFckNTLElBQUksQ0FBQ2dCO1FBQUssQ0FBQSxDQUVkO01BQUEsQ0FBQSxDQUNHO0lBQUEsQ0FBQSxDQUNGLEVBQ0wsQ0FBQ2YsTUFBTSxJQUFJRSxRQUFRLEtBQ2xCN0IsS0FBQSxDQUFBLEtBQUEsRUFBQTtNQUFLa0IsU0FBUyxFQUFFZ0IsT0FBTyxDQUFDLE9BQU8sQ0FBQztNQUFBakIsUUFBQSxFQUFBLENBQzdCVSxNQUFNLElBQ0w3QixJQUFBLENBQUEsS0FBQSxFQUFBO1FBQUtvQixTQUFTLEVBQUVnQixPQUFPLENBQUMsUUFBUSxDQUFDO1FBQUFqQixRQUFBLEVBQzlCVTtNQUFNLENBQUEsQ0FFVixFQUNBRSxRQUFRLElBQ1AvQixJQUFBLENBQUEsUUFBQSxFQUFBO1FBQ0VtRCxJQUFJLEVBQUMsUUFBUTtRQUNiL0IsU0FBUyxFQUFFZ0IsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUFBLFlBQUEsRUFDaEIsb0JBQW9CO1FBQy9CYixPQUFPLEVBQUVTLE9BQU87UUFBQWIsUUFBQSxFQUVoQm5CLElBQUEsQ0FBQ0ssS0FBSyxFQUFBO1VBQUNPLElBQUksRUFBQyxPQUFPO1VBQUM0QixJQUFJLEVBQUUsRUFBRTtVQUFFM0IsS0FBSyxFQUFDO1FBQVMsQ0FBQTtNQUFHLENBQUEsQ0FFbkQ7SUFBQSxDQUFBLENBRUo7RUFBQSxDQUFBLENBQUEsQ0FDRztBQUVWLENBQUM7QUFFRCw0QkFBZVYsSUFBSSxDQUFDYyxZQUFZLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9Ob3RpZmljYXRpb24vTm90aWZpY2F0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuY29uc3QgU2V2ZXJpdHlJY29uTWFwID0ge1xuICAgIHN1Y2Nlc3M6IHtcbiAgICAgICAgbmFtZTogJ2NoZWNrJyxcbiAgICAgICAgY29sb3I6ICcjMUY1ODAwJyxcbiAgICB9LFxuICAgIGluZm86IHtcbiAgICAgICAgbmFtZTogJ2luZm8nLFxuICAgICAgICBjb2xvcjogJyMwNzMzODcnLFxuICAgIH0sXG4gICAgd2Fybjoge1xuICAgICAgICBuYW1lOiAnZXhjbGFtYXRpb24nLFxuICAgICAgICBjb2xvcjogJyNEQjg2MDAnLFxuICAgIH0sXG4gICAgZXJyb3I6IHtcbiAgICAgICAgbmFtZTogJ2Nyb3NzJyxcbiAgICAgICAgY29sb3I6ICcjQUUwMDAwJyxcbiAgICB9LFxufTtcbmV4cG9ydCBjb25zdCBOb3RpZmljYXRpb24gPSBwcm9wcyA9PiB7XG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBzZXZlcml0eSA9ICdpbmZvJywgb25DbGljaywgcHJlZml4Q2xzID0gJ25vdGlmaWNhdGlvbicsIHRpdGxlLCBkZXNjcmlwdGlvbiwgbGluaywgYWN0aW9uLCBjbG9zYWJsZSA9IGZhbHNlLCBvbkNsb3NlLCBzaG93SWNvbiA9IHRydWUgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjaGlsZHJlblwiLCBcImNsYXNzTmFtZVwiLCBcInNldmVyaXR5XCIsIFwib25DbGlja1wiLCBcInByZWZpeENsc1wiLCBcInRpdGxlXCIsIFwiZGVzY3JpcHRpb25cIiwgXCJsaW5rXCIsIFwiYWN0aW9uXCIsIFwiY2xvc2FibGVcIiwgXCJvbkNsb3NlXCIsIFwic2hvd0ljb25cIl0pO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgaWNvbkRhdGEgPSB1c2VNZW1vKCgpID0+IFNldmVyaXR5SWNvbk1hcFtzZXZlcml0eV0sIFtzZXZlcml0eV0pO1xuICAgIGNvbnN0IGJvZHlDb250ZW50ID0gZGVzY3JpcHRpb24gIT09IG51bGwgJiYgZGVzY3JpcHRpb24gIT09IHZvaWQgMCA/IGRlc2NyaXB0aW9uIDogY2hpbGRyZW47XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IGNsYXNzTmFtZTogY2xhc3Nlcyh2b2lkIDAsIGpvaW5DbHMoY2xhc3NlcyhzZXZlcml0eSksIGNsYXNzTmFtZSkpLCBvbkNsaWNrOiBvbkNsaWNrLCBjaGlsZHJlbjogW19qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdsZWZ0JyksIGNoaWxkcmVuOiBbc2hvd0ljb24gJiYgKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpY29uJyksIFwiYXJpYS1oaWRkZW5cIjogdHJ1ZSwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogaWNvbkRhdGEubmFtZSwgY29sb3I6IGljb25EYXRhLmNvbG9yLCBzaXplOiAxOCB9KSB9KSksIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250ZW50JyksIGNoaWxkcmVuOiBbdGl0bGUgJiYgKF9qc3goVHlwb2dyYXBoeS5UaXRsZSwgeyBib2xkOiB0cnVlLCBzaXplOiAncycsIGNsYXNzTmFtZTogY2xhc3NlcygndGl0bGUnKSwgY2hpbGRyZW46IHRpdGxlIH0pKSwgYm9keUNvbnRlbnQgJiYgKF9qc3goVHlwb2dyYXBoeS5Cb2R5LCB7IHNpemU6ICdtJywgY2xhc3NOYW1lOiBjbGFzc2VzKCdib2R5JyksIGNoaWxkcmVuOiBib2R5Q29udGVudCB9KSksIChsaW5rID09PSBudWxsIHx8IGxpbmsgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGxpbmsubGFiZWwpICYmIChfanN4KFR5cG9ncmFwaHkuTGluaywgeyBzaXplOiAnbScsIGNsYXNzTmFtZTogY2xhc3NlcygnbGluaycpLCBocmVmOiBsaW5rLmhyZWYsIHRhcmdldDogbGluay50YXJnZXQsIHJlbDogbGluay5yZWwsIG9uQ2xpY2s6IGxpbmsub25DbGljaywgcm9sZTogbGluay5ocmVmID8gdW5kZWZpbmVkIDogJ2J1dHRvbicsIGNoaWxkcmVuOiBsaW5rLmxhYmVsIH0pKV0gfSldIH0pLCAoYWN0aW9uIHx8IGNsb3NhYmxlKSAmJiAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3JpZ2h0JyksIGNoaWxkcmVuOiBbYWN0aW9uICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdhY3Rpb24nKSwgY2hpbGRyZW46IGFjdGlvbiB9KSksIGNsb3NhYmxlICYmIChfanN4KFwiYnV0dG9uXCIsIHsgdHlwZTogJ2J1dHRvbicsIGNsYXNzTmFtZTogY2xhc3NlcygnY2xvc2UnKSwgXCJhcmlhLWxhYmVsXCI6ICdDbG9zZSBub3RpZmljYXRpb24nLCBvbkNsaWNrOiBvbkNsb3NlLCBjaGlsZHJlbjogX2pzeChJY29ucywgeyBuYW1lOiAnY2xvc2UnLCBzaXplOiAxNiwgY29sb3I6ICcjNjQ2NDY1JyB9KSB9KSldIH0pKV0gfSkpKTtcbn07XG5leHBvcnQgZGVmYXVsdCBtZW1vKE5vdGlmaWNhdGlvbik7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -6,5 +6,17 @@ export interface NotificationProps {
6
6
  severity?: 'info' | 'success' | 'warn' | 'error';
7
7
  title?: ReactNode;
8
8
  description?: ReactNode;
9
+ link?: NotificationLink;
10
+ action?: ReactNode;
11
+ closable?: boolean;
12
+ onClose?: MouseEventHandler<HTMLButtonElement>;
13
+ showIcon?: boolean;
9
14
  onClick?: MouseEventHandler<HTMLDivElement>;
10
15
  }
16
+ export interface NotificationLink {
17
+ label: ReactNode;
18
+ href?: string;
19
+ target?: string;
20
+ rel?: string;
21
+ onClick?: MouseEventHandler<HTMLAnchorElement>;
22
+ }
@@ -1 +1 @@
1
- .om-react-ui-notification{display:inline-flex;gap:12px;align-items:center;padding:12px;color:#404042;font-weight:400;font-size:14px;line-height:140%;border-radius:12px}.om-react-ui-notification-icon{display:inline-flex;align-items:center;justify-content:center;padding:8px;border-radius:50%}.om-react-ui-notification-success,.om-react-ui-notification-success .om-react-ui-notification-icon{background-color:rgba(31,88,0,.2)}.om-react-ui-notification-info{background-color:#f8f8f8}.om-react-ui-notification-info .om-react-ui-notification-icon{background-color:#edf2f9}.om-react-ui-notification-error,.om-react-ui-notification-error .om-react-ui-notification-icon{background-color:rgba(174,0,0,.1019607843)}.om-react-ui-notification-warn{color:#646465}.om-react-ui-notification-warn,.om-react-ui-notification-warn .om-react-ui-notification-icon{background-color:rgba(244,198,0,.2)}
1
+ .om-react-ui-notification{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;color:#404042;font-weight:400;font-size:14px;line-height:140%;background-color:#f8f8f8;border-radius:12px}.om-react-ui-notification-left{display:flex;flex:1 1 auto;gap:12px;align-items:center;min-width:0}.om-react-ui-notification-content{display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0}.om-react-ui-notification-body,.om-react-ui-notification-title{color:#404042}.om-react-ui-notification-link{color:#073387}.om-react-ui-notification-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:32px;height:32px;background-color:#edf2f9;border-radius:50%}.om-react-ui-notification-right{flex-shrink:0}.om-react-ui-notification-action,.om-react-ui-notification-right{display:inline-flex;gap:8px;align-items:center}.om-react-ui-notification-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:8px;cursor:pointer}.om-react-ui-notification-success{background-color:#fefefe;border:1px solid #f0f0f0}.om-react-ui-notification-success .om-react-ui-notification-icon{background-color:#f0f0f0}.om-react-ui-notification-success .om-react-ui-notification-action{color:#fefefe}.om-react-ui-notification-info{background-color:#fefefe;border:1px solid #f0f0f0}.om-react-ui-notification-info .om-react-ui-notification-icon{background-color:#f0f0f0}.om-react-ui-notification-info .om-react-ui-notification-action{color:#073387}.om-react-ui-notification-error,.om-react-ui-notification-error .om-react-ui-notification-icon{background-color:rgba(174,0,0,.1019607843)}.om-react-ui-notification-error .om-react-ui-notification-action{color:#ae0000}.om-react-ui-notification-warn{color:#646465;background-color:rgba(244,198,0,.2)}.om-react-ui-notification-warn .om-react-ui-notification-icon{background-color:#edf2f9}.om-react-ui-notification-warn .om-react-ui-notification-action{color:#f4c600}
@@ -4,37 +4,102 @@ $component: 'notification';
4
4
  $cls: #{$prefix}-#{$component};
5
5
 
6
6
  .#{$cls} {
7
- display: inline-flex;
7
+ display: flex;
8
8
  gap: 12px;
9
9
  align-items: center;
10
+ justify-content: space-between;
10
11
  padding: 12px;
11
12
  color: $color-grey-night;
12
13
  font-weight: 400;
13
14
  font-size: 14px;
14
15
  line-height: 140%;
16
+ background-color: $color-grey-light;
15
17
  border-radius: 12px;
16
18
 
19
+ &-left {
20
+ display: flex;
21
+ flex: 1 1 auto;
22
+ gap: 12px;
23
+ align-items: center;
24
+ min-width: 0;
25
+ }
26
+
27
+ &-content {
28
+ display: flex;
29
+ flex: 1 1 auto;
30
+ flex-direction: column;
31
+ gap: 4px;
32
+ min-width: 0;
33
+ }
34
+
35
+ &-title,
36
+ &-body {
37
+ color: $color-grey-night;
38
+ }
39
+
40
+ &-link {
41
+ color: $color-primary;
42
+ }
43
+
17
44
  &-icon {
18
45
  display: inline-flex;
46
+ flex-shrink: 0;
19
47
  align-items: center;
20
48
  justify-content: center;
21
- padding: 8px;
49
+ width: 32px;
50
+ height: 32px;
51
+ background-color: $color-info-light;
22
52
  border-radius: 50%;
23
53
  }
24
54
 
55
+ &-right {
56
+ display: inline-flex;
57
+ flex-shrink: 0;
58
+ gap: 8px;
59
+ align-items: center;
60
+ }
61
+
62
+ &-action {
63
+ display: inline-flex;
64
+ gap: 8px;
65
+ align-items: center;
66
+ }
67
+
68
+ &-close {
69
+ display: inline-flex;
70
+ align-items: center;
71
+ justify-content: center;
72
+ width: 32px;
73
+ height: 32px;
74
+ background: transparent;
75
+ border: none;
76
+ border-radius: 8px;
77
+ cursor: pointer;
78
+ }
79
+
25
80
  &-success {
26
- background-color: $color-success-background;
81
+ background-color: $color-primary-white;
82
+ border: 1px solid $color-grey;
27
83
 
28
84
  .#{$cls}-icon {
29
- background-color: $color-success-background;
85
+ background-color: $color-grey;
86
+ }
87
+
88
+ .#{$cls}-action {
89
+ color: $color-primary-white;
30
90
  }
31
91
  }
32
92
 
33
93
  &-info {
34
- background-color: $color-grey-light;
94
+ background-color: $color-primary-white;
95
+ border: 1px solid $color-grey;
35
96
 
36
97
  .#{$cls}-icon {
37
- background-color: $color-info-light;
98
+ background-color: $color-grey;
99
+ }
100
+
101
+ .#{$cls}-action {
102
+ color: $color-primary;
38
103
  }
39
104
  }
40
105
 
@@ -44,13 +109,22 @@ $cls: #{$prefix}-#{$component};
44
109
  .#{$cls}-icon {
45
110
  background-color: $color-negative-background;
46
111
  }
112
+
113
+ .#{$cls}-action {
114
+ color: $color-negative;
115
+ }
47
116
  }
48
117
 
49
118
  &-warn {
50
119
  color: $color-grey-midnight;
51
120
  background-color: $color-warning-background;
121
+
52
122
  .#{$cls}-icon {
53
- background-color: $color-warning-background;
123
+ background-color: $color-info-light;
124
+ }
125
+
126
+ .#{$cls}-action {
127
+ color: $color-warning;
54
128
  }
55
129
  }
56
130
  }
@@ -25,7 +25,8 @@ export var Table = function Table(props) {
25
25
  transparent = props.transparent,
26
26
  _props$hoverEffect = props.hoverEffect,
27
27
  hoverEffect = _props$hoverEffect === void 0 ? true : _props$hoverEffect,
28
- rest = __rest(props, ["ref", "className", "columns", "columnsWrapperCls", "prefixCls", "rowBorder", "transparent", "hoverEffect"]);
28
+ compactRow = props.compactRow,
29
+ rest = __rest(props, ["ref", "className", "columns", "columnsWrapperCls", "prefixCls", "rowBorder", "transparent", "hoverEffect", "compactRow"]);
29
30
  var classes = classnames(prefixCls);
30
31
  var tableRef = useRef(null);
31
32
  var _useState = useState(false),
@@ -67,7 +68,7 @@ export var Table = function Table(props) {
67
68
  }, []);
68
69
  return _jsx(DataTable, Object.assign({}, rest, {
69
70
  ref: tableRef,
70
- className: classes(void 0, joinCls(className, rowBorder && classes('row-border'), transparent && classes('transparent'), isHover && classes('hover'), isScrolling && classes('scrolling'), scrollTop > 0 && classes('scrolled'), hoverEffect && classes('hover-effect'))),
71
+ className: classes(void 0, joinCls(className, rowBorder && classes('row-border'), transparent && classes('transparent'), isHover && classes('hover'), isScrolling && classes('scrolling'), scrollTop > 0 && classes('scrolled'), hoverEffect && classes('hover-effect'), compactRow && classes('compact-row'))),
71
72
  onMouseEnter: function onMouseEnter() {
72
73
  return setIsHover(true);
73
74
  },
@@ -101,4 +102,4 @@ export var Table = function Table(props) {
101
102
  }));
102
103
  };
103
104
  export default /*#__PURE__*/memo(Table);
104
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvVGFibGUuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1RhYmxlL1RhYmxlLnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJtZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwiZGVib3VuY2UiLCJEYXRhVGFibGUiLCJDb2x1bW4iLCJkZWZhdWx0IiwiY2xhc3NuYW1lcyIsImpvaW5DbHMiLCJUYWJsZSIsInByb3BzIiwicmVmIiwiY2xhc3NOYW1lIiwiX3Byb3BzJGNvbHVtbnMiLCJjb2x1bW5zIiwiY29sdW1uc1dyYXBwZXJDbHMiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwicm93Qm9yZGVyIiwidHJhbnNwYXJlbnQiLCJfcHJvcHMkaG92ZXJFZmZlY3QiLCJob3ZlckVmZmVjdCIsInJlc3QiLCJjbGFzc2VzIiwidGFibGVSZWYiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0hvdmVyIiwic2V0SXNIb3ZlciIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2Nyb2xsVG9wIiwic2V0U2Nyb2xsVG9wIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc1Njcm9sbGluZyIsInNldElzU2Nyb2xsaW5nIiwiX2EiLCJfYiIsImRlYm91bmNlZEhhbmRsZVNjcm9sbCIsImhhbmRsZVNjcm9sbCIsInRhcmdldCIsImNhbmNlbCIsInRhYmxlRWxlIiwiY3VycmVudCIsImdldEVsZW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJhc3NpZ24iLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlTGVhdmUiLCJvblRvdWNoU3RhcnQiLCJvblRvdWNoRW5kIiwiY2hpbGRyZW4iLCJtYXAiLCJjb2x1bW4iLCJib2R5IiwiZmllbGQiLCJ3cmFwcGVyQ2xzIiwiZGF0YSIsIm9wdGlvbnMiLCJDb250ZW50Il0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHSCxDQUFDLENBQUNHLENBQUMsQ0FBQztFQUNmLElBQUlILENBQUMsSUFBSSxJQUFJLElBQUksT0FBT0ksTUFBTSxDQUFDSyxxQkFBcUIsS0FBSyxVQUFVLEVBQy9ELEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRVAsQ0FBQyxHQUFHQyxNQUFNLENBQUNLLHFCQUFxQixDQUFDVCxDQUFDLENBQUMsRUFBRVUsQ0FBQyxHQUFHUCxDQUFDLENBQUNRLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEVBQUU7SUFDcEUsSUFBSVQsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUlOLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDTyxvQkFBb0IsQ0FBQ0wsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsRUFDMUVSLENBQUMsQ0FBQ0MsQ0FBQyxDQUFDTyxDQUFDLENB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RVcsT0FBTyxDQUFDLGlCQUFpQixFQUFFZixPQUFPLENBQUNPLGlCQUFpQixFQUFFNkMsVUFBVSxDQUFDLENBQUM7WUFBQUwsUUFBQSxFQUVwRixPQUFPUSxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU9BLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBT0EsT0FBTyxLQUFLLFFBQVEsR0FDdEZsRSxJQUFBLENBQUEsTUFBQSxFQUFBO2NBQU1lLFNBQVMsRUFBRVcsT0FBTyxDQUFDLHVCQUF1QixDQUFDO2NBQUFnQyxRQUFBLEVBQ2hEUTtZQUFPLENBQUEsQ0FDSCxHQUNMQTtVQUFPLENBQUEsQ0FFVDtRQUNSO01BQUMsQ0FBQSxDQUFBLEVBbkJFSixLQUFLLENBcUJWO0lBQ0osQ0FBQztFQUFDLENBQUEsQ0FBQSxDQUVNO0FBRWhCLENBQUM7QUFFRCw0QkFBZTdELElBQUksQ0FBQ1csS0FBSyxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvVGFibGUvVGFibGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VJbXBlcmF0aXZlSGFuZGxlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGRlYm91bmNlIGZyb20gJ2xvZGFzaC5kZWJvdW5jZSc7XG5pbXBvcnQgeyBEYXRhVGFibGUgfSBmcm9tICdwcmltZXJlYWN0L2RhdGF0YWJsZSc7XG5pbXBvcnQgeyBDb2x1bW4gfSBmcm9tICdwcmltZXJlYWN0L2NvbHVtbic7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmV4cG9ydCBjb25zdCBUYWJsZSA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7IHJlZiwgY2xhc3NOYW1lLCBjb2x1bW5zID0gW10sIGNvbHVtbnNXcmFwcGVyQ2xzLCBwcmVmaXhDbHMgPSAndGFibGUnLCByb3dCb3JkZXIsIHRyYW5zcGFyZW50LCBob3ZlckVmZmVjdCA9IHRydWUgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJyZWZcIiwgXCJjbGFzc05hbWVcIiwgXCJjb2x1bW5zXCIsIFwiY29sdW1uc1dyYXBwZXJDbHNcIiwgXCJwcmVmaXhDbHNcIiwgXCJyb3dCb3JkZXJcIiwgXCJ0cmFuc3BhcmVudFwiLCBcImhvdmVyRWZmZWN0XCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IHRhYmxlUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IFtpc0hvdmVyLCBzZXRJc0hvdmVyXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbc2Nyb2xsVG9wLCBzZXRTY3JvbGxUb3BdID0gdXNlU3RhdGUoMCk7XG4gICAgY29uc3QgW2lzU2Nyb2xsaW5nLCBzZXRJc1Njcm9sbGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgZGVib3VuY2VkSGFuZGxlU2Nyb2xsID0gZGVib3VuY2UoKCkgPT4gc2V0SXNTY3JvbGxpbmcoZmFsc2UpLCA1MDApO1xuICAgICAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQ7XG4gICAgICAgICAgICBzZXRTY3JvbGxUb3AodGFyZ2V0LnNjcm9sbFRvcCk7XG4gICAgICAgICAgICBkZWJvdW5jZWRIYW5kbGVTY3JvbGwuY2FuY2VsKCk7XG4gICAgICAgICAgICBzZXRJc1Njcm9sbGluZyh0cnVlKTtcbiAgICAgICAgICAgIGRlYm91bmNlZEhhbmRsZVNjcm9sbCgpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCB0YWJsZUVsZSA9IChfYiA9IChfYSA9IHRhYmxlUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5nZXRFbGVtZW50KCkpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5xdWVyeVNlbGVjdG9yKCcucC1kYXRhdGFibGUtd3JhcHBlcicpO1xuICAgICAgICBpZiAodGFibGVFbGUpIHtcbiAgICAgICAgICAgIHRhYmxlRWxlLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0YWJsZUVsZSkge1xuICAgICAgICAgICAgICAgIHRhYmxlRWxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiB0YWJsZVJlZi5jdXJyZW50LCBbXSk7XG4gICAgcmV0dXJuIChfanN4KERhdGFUYWJsZSwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyByZWY6IHRhYmxlUmVmLCBjbGFzc05hbWU6IGNsYXNzZXModm9pZCAwLCBqb2luQ2xzKGNsYXNzTmFtZSwgcm93Qm9yZGVyICYmIGNsYXNzZXMoJ3Jvdy1ib3JkZXInKSwgdHJhbnNwYXJlbnQgJiYgY2xhc3NlcygndHJhbnNwYXJlbnQnKSwgaXNIb3ZlciAmJiBjbGFzc2VzKCdob3ZlcicpLCBpc1Njcm9sbGluZyAmJiBjbGFzc2VzKCdzY3JvbGxpbmcnKSwgc2Nyb2xsVG9wID4gMCAmJiBjbGFzc2VzKCdzY3JvbGxlZCcpLCBob3ZlckVmZmVjdCAmJiBjbGFzc2VzKCdob3Zlci1lZmZlY3QnKSkpLCBvbk1vdXNlRW50ZXI6ICgpID0+IHNldElzSG92ZXIodHJ1ZSksIG9uTW91c2VMZWF2ZTogKCkgPT4gc2V0SXNIb3ZlcihmYWxzZSksIG9uVG91Y2hTdGFydDogKCkgPT4gc2V0SXNIb3Zlcih0cnVlKSwgb25Ub3VjaEVuZDogKCkgPT4gc2V0SXNIb3ZlcihmYWxzZSksIGNoaWxkcmVuOiBjb2x1bW5zLm1hcChjb2x1bW4gPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBib2R5LCBmaWVsZCwgd3JhcHBlckNscyB9ID0gY29sdW1uLCByZXN0ID0gX19yZXN0KGNvbHVtbiwgW1wiYm9keVwiLCBcImZpZWxkXCIsIFwid3JhcHBlckNsc1wiXSk7XG4gICAgICAgICAgICByZXR1cm4gX2pzeChDb2x1bW4sIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgYm9keTogKGRhdGEsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgQ29udGVudCA9IGJvZHlcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdHlwZW9mIGJvZHkgPT09ICdmdW5jdGlvbicgPyBib2R5KGRhdGEsIG9wdGlvbnMpIDogYm9keVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBmaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZGF0YVtmaWVsZF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250ZW50LXdyYXBwZXInLCBqb2luQ2xzKGNvbHVtbnNXcmFwcGVyQ2xzLCB3cmFwcGVyQ2xzKSksIGNoaWxkcmVuOiAodHlwZW9mIENvbnRlbnQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBDb250ZW50ID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgQ29udGVudCA9PT0gJ2JpZ2ludCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udGVudC13cmFwcGVyLWNsYW1wJyksIGNoaWxkcmVuOiBDb250ZW50IH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBDb250ZW50IH0pO1xuICAgICAgICAgICAgICAgIH0gfSksIGZpZWxkKTtcbiAgICAgICAgfSkgfSkpKTtcbn07XG5leHBvcnQgZGVmYXVsdCBtZW1vKFRhYmxlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
105
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvVGFibGUuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1RhYmxlL1RhYmxlLnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJtZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwiZGVib3VuY2UiLCJEYXRhVGFibGUiLCJDb2x1bW4iLCJkZWZhdWx0IiwiY2xhc3NuYW1lcyIsImpvaW5DbHMiLCJUYWJsZSIsInByb3BzIiwicmVmIiwiY2xhc3NOYW1lIiwiX3Byb3BzJGNvbHVtbnMiLCJjb2x1bW5zIiwiY29sdW1uc1dyYXBwZXJDbHMiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwicm93Qm9yZGVyIiwidHJhbnNwYXJlbnQiLCJfcHJvcHMkaG92ZXJFZmZlY3QiLCJob3ZlckVmZmVjdCIsImNvbXBhY3RSb3ciLCJyZXN0IiwiY2xhc3NlcyIsInRhYmxlUmVmIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNIb3ZlciIsInNldElzSG92ZXIiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNjcm9sbFRvcCIsInNldFNjcm9sbFRvcCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNTY3JvbGxpbmciLCJzZXRJc1Njcm9sbGluZyIsIl9hIiwiX2IiLCJkZWJvdW5jZWRIYW5kbGVTY3JvbGwiLCJoYW5kbGVTY3JvbGwiLCJ0YXJnZXQiLCJjYW5jZWwiLCJ0YWJsZUVsZSIsImN1cnJlbnQiLCJnZXRFbGVtZW50IiwicXVlcnlTZWxlY3RvciIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiYXNzaWduIiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwib25Ub3VjaFN0YXJ0Iiwib25Ub3VjaEVuZCIsImNoaWxkcmVuIiwibWFwIiwiY29sdW1uIiwiYm9keSIsImZpZWxkIiwid3JhcHBlckNscyIsImRhdGEiLCJvcHRpb25zIiwiQ29udGVudCJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVBQUVVLENBQUMsR0FBR1AsQ0FBQyxDQUFDUSxNQUFNLEVBQUVELENBQUMsRUFBRSxFQUFFO0lBQ3BFLElBQUlULENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJTixNQUFNLENBQUNDLFNBQVMsQ0FBQ08sb0JBQW9CLENBQUNMLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEVBQzFFUixDQUFDLENBQUNDLENBQUMs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LEdBQ3ZEQyxLQUFLLEdBQ0hFLElBQUksQ0FBQ0YsS0FBSyxDQUFDLEdBQ1gsSUFBSTtVQUVWLE9BQU8vRCxJQUFBLENBQUEsS0FBQSxFQUFBO1lBQUtlLFNBQVMsRUFBRVksT0FBTyxDQUFDLGlCQUFpQixFQUFFaEIsT0FBTyxDQUFDTyxpQkFBaUIsRUFBRThDLFVBQVUsQ0FBQyxDQUFDO1lBQUFMLFFBQUEsRUFFcEYsT0FBT1EsT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPQSxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU9BLE9BQU8sS0FBSyxRQUFRLEdBQ3RGbkUsSUFBQSxDQUFBLE1BQUEsRUFBQTtjQUFNZSxTQUFTLEVBQUVZLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQztjQUFBZ0MsUUFBQSxFQUNoRFE7WUFBTyxDQUFBLENBQ0gsR0FDTEE7VUFBTyxDQUFBLENBRVQ7UUFDUjtNQUFDLENBQUEsQ0FBQSxFQW5CRUosS0FBSyxDQXFCVjtJQUNKLENBQUM7RUFBQyxDQUFBLENBQUEsQ0FFTTtBQUVoQixDQUFDO0FBRUQsNEJBQWU5RCxJQUFJLENBQUNXLEtBQUssQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL1RhYmxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlSW1wZXJhdGl2ZUhhbmRsZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2guZGVib3VuY2UnO1xuaW1wb3J0IHsgRGF0YVRhYmxlIH0gZnJvbSAncHJpbWVyZWFjdC9kYXRhdGFibGUnO1xuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSAncHJpbWVyZWFjdC9jb2x1bW4nO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5leHBvcnQgY29uc3QgVGFibGUgPSBwcm9wcyA9PiB7XG4gICAgY29uc3QgeyByZWYsIGNsYXNzTmFtZSwgY29sdW1ucyA9IFtdLCBjb2x1bW5zV3JhcHBlckNscywgcHJlZml4Q2xzID0gJ3RhYmxlJywgcm93Qm9yZGVyLCB0cmFuc3BhcmVudCwgaG92ZXJFZmZlY3QgPSB0cnVlLCBjb21wYWN0Um93IH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wicmVmXCIsIFwiY2xhc3NOYW1lXCIsIFwiY29sdW1uc1wiLCBcImNvbHVtbnNXcmFwcGVyQ2xzXCIsIFwicHJlZml4Q2xzXCIsIFwicm93Qm9yZGVyXCIsIFwidHJhbnNwYXJlbnRcIiwgXCJob3ZlckVmZmVjdFwiLCBcImNvbXBhY3RSb3dcIl0pO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgdGFibGVSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgW2lzSG92ZXIsIHNldElzSG92ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtzY3JvbGxUb3AsIHNldFNjcm9sbFRvcF0gPSB1c2VTdGF0ZSgwKTtcbiAgICBjb25zdCBbaXNTY3JvbGxpbmcsIHNldElzU2Nyb2xsaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBjb25zdCBkZWJvdW5jZWRIYW5kbGVTY3JvbGwgPSBkZWJvdW5jZSgoKSA9PiBzZXRJc1Njcm9sbGluZyhmYWxzZSksIDUwMCk7XG4gICAgICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9IChlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldDtcbiAgICAgICAgICAgIHNldFNjcm9sbFRvcCh0YXJnZXQuc2Nyb2xsVG9wKTtcbiAgICAgICAgICAgIGRlYm91bmNlZEhhbmRsZVNjcm9sbC5jYW5jZWwoKTtcbiAgICAgICAgICAgIHNldElzU2Nyb2xsaW5nKHRydWUpO1xuICAgICAgICAgICAgZGVib3VuY2VkSGFuZGxlU2Nyb2xsKCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHRhYmxlRWxlID0gKF9iID0gKF9hID0gdGFibGVSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmdldEVsZW1lbnQoKSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnF1ZXJ5U2VsZWN0b3IoJy5wLWRhdGF0YWJsZS13cmFwcGVyJyk7XG4gICAgICAgIGlmICh0YWJsZUVsZSkge1xuICAgICAgICAgICAgdGFibGVFbGUuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRhYmxlRWxlKSB7XG4gICAgICAgICAgICAgICAgdGFibGVFbGUucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+IHRhYmxlUmVmLmN1cnJlbnQsIFtdKTtcbiAgICByZXR1cm4gKF9qc3goRGF0YVRhYmxlLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogdGFibGVSZWYsIGNsYXNzTmFtZTogY2xhc3Nlcyh2b2lkIDAsIGpvaW5DbHMoY2xhc3NOYW1lLCByb3dCb3JkZXIgJiYgY2xhc3Nlcygncm93LWJvcmRlcicpLCB0cmFuc3BhcmVudCAmJiBjbGFzc2VzKCd0cmFuc3BhcmVudCcpLCBpc0hvdmVyICYmIGNsYXNzZXMoJ2hvdmVyJyksIGlzU2Nyb2xsaW5nICYmIGNsYXNzZXMoJ3Njcm9sbGluZycpLCBzY3JvbGxUb3AgPiAwICYmIGNsYXNzZXMoJ3Njcm9sbGVkJyksIGhvdmVyRWZmZWN0ICYmIGNsYXNzZXMoJ2hvdmVyLWVmZmVjdCcpLCBjb21wYWN0Um93ICYmIGNsYXNzZXMoJ2NvbXBhY3Qtcm93JykpKSwgb25Nb3VzZUVudGVyOiAoKSA9PiBzZXRJc0hvdmVyKHRydWUpLCBvbk1vdXNlTGVhdmU6ICgpID0+IHNldElzSG92ZXIoZmFsc2UpLCBvblRvdWNoU3RhcnQ6ICgpID0+IHNldElzSG92ZXIodHJ1ZSksIG9uVG91Y2hFbmQ6ICgpID0+IHNldElzSG92ZXIoZmFsc2UpLCBjaGlsZHJlbjogY29sdW1ucy5tYXAoY29sdW1uID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgYm9keSwgZmllbGQsIHdyYXBwZXJDbHMgfSA9IGNvbHVtbiwgcmVzdCA9IF9fcmVzdChjb2x1bW4sIFtcImJvZHlcIiwgXCJmaWVsZFwiLCBcIndyYXBwZXJDbHNcIl0pO1xuICAgICAgICAgICAgcmV0dXJuIF9qc3goQ29sdW1uLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IGJvZHk6IChkYXRhLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IENvbnRlbnQgPSBib2R5XG4gICAgICAgICAgICAgICAgICAgICAgICA/IHR5cGVvZiBib2R5ID09PSAnZnVuY3Rpb24nID8gYm9keShkYXRhLCBvcHRpb25zKSA6IGJvZHlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGRhdGFbZmllbGRdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udGVudC13cmFwcGVyJywgam9pbkNscyhjb2x1bW5zV3JhcHBlckNscywgd3JhcHBlckNscykpLCBjaGlsZHJlbjogKHR5cGVvZiBDb250ZW50ID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgQ29udGVudCA9PT0gJ251bWJlcicgfHwgdHlwZW9mIENvbnRlbnQgPT09ICdiaWdpbnQnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbnRlbnQtd3JhcHBlci1jbGFtcCcpLCBjaGlsZHJlbjogQ29udGVudCB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogQ29udGVudCB9KTtcbiAgICAgICAgICAgICAgICB9IH0pLCBmaWVsZCk7XG4gICAgICAgIH0pIH0pKSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhUYWJsZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -9,6 +9,7 @@ export interface TableBaseProps<T extends DataTableValueArray = DataTableValueAr
9
9
  rowBorder?: boolean;
10
10
  transparent?: boolean;
11
11
  hoverEffect?: boolean;
12
+ compactRow?: boolean;
12
13
  columns: (ColumnProps & {
13
14
  wrapperCls?: string;
14
15
  })[];