@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 +104 -34
- package/CLAUDE.md +1 -104
- package/es/components/Notification/Notification.js +62 -12
- package/es/components/Notification/interface.d.ts +12 -0
- package/es/components/Notification/style/Notification.css +1 -1
- package/es/components/Notification/style/Notification.scss +81 -7
- package/es/components/Table/Table.js +4 -3
- package/es/components/Table/interface.d.ts +1 -0
- package/es/components/Table/style/Table.css +1 -1
- package/es/components/Table/style/Table.scss +14 -0
- package/es/components/Typography/interface.d.ts +2 -0
- package/es/index.css +1 -1
- package/lib/components/Notification/Notification.js +62 -12
- package/lib/components/Notification/interface.d.ts +12 -0
- package/lib/components/Notification/style/Notification.css +1 -1
- package/lib/components/Notification/style/Notification.scss +81 -7
- package/lib/components/Table/Table.js +4 -3
- package/lib/components/Table/interface.d.ts +1 -0
- package/lib/components/Table/style/Table.css +1 -1
- package/lib/components/Table/style/Table.scss +14 -0
- package/lib/components/Typography/interface.d.ts +2 -0
- package/lib/index.css +1 -1
- package/package.json +2 -2
package/AGENTS.md
CHANGED
|
@@ -1,34 +1,104 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
- `pnpm
|
|
13
|
-
- `pnpm build
|
|
14
|
-
- `pnpm
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
|
|
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
|
-
|
|
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: '
|
|
20
|
+
name: 'info',
|
|
20
21
|
color: '#073387'
|
|
21
22
|
},
|
|
22
23
|
warn: {
|
|
23
|
-
name: '
|
|
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
|
-
|
|
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: [
|
|
50
|
-
className: classes('
|
|
51
|
-
children: _jsx(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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-
|
|
81
|
+
background-color: $color-primary-white;
|
|
82
|
+
border: 1px solid $color-grey;
|
|
27
83
|
|
|
28
84
|
.#{$cls}-icon {
|
|
29
|
-
background-color: $color-
|
|
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-
|
|
94
|
+
background-color: $color-primary-white;
|
|
95
|
+
border: 1px solid $color-grey;
|
|
35
96
|
|
|
36
97
|
.#{$cls}-icon {
|
|
37
|
-
background-color: $color-
|
|
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-
|
|
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
|
-
|
|
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
|