@1money/react-ui 1.14.11 → 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/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/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
|
}
|
|
@@ -30,7 +30,9 @@ export interface LinkProps extends BaseProps {
|
|
|
30
30
|
onClick?: MouseEventHandler<HTMLAnchorElement>;
|
|
31
31
|
href?: string;
|
|
32
32
|
target?: HTMLAttributeAnchorTarget;
|
|
33
|
+
rel?: string;
|
|
33
34
|
download?: string;
|
|
35
|
+
role?: string;
|
|
34
36
|
}
|
|
35
37
|
export interface LabelProps extends BaseProps {
|
|
36
38
|
size: 'xl' | 'l' | 'm' | 's' | 'xs';
|