@nextui-org/react 1.0.1-alpha.50 → 1.0.1-alpha.54
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/cjs/avatar/avatar-group.js +9 -4
- package/cjs/avatar/avatar.d.ts +3 -1
- package/cjs/avatar/avatar.js +20 -30
- package/cjs/backdrop/index.d.ts +4 -1
- package/cjs/backdrop/index.js +15 -8
- package/cjs/button/button-group.d.ts +1 -1
- package/cjs/button/button.js +10 -18
- package/cjs/card/card-body.d.ts +35 -0
- package/cjs/card/card-body.js +73 -0
- package/cjs/card/card-context.d.ts +8 -0
- package/cjs/card/card-context.js +20 -0
- package/cjs/card/card-footer.d.ts +25 -4
- package/cjs/card/card-footer.js +56 -8
- package/cjs/card/card-header.d.ts +23 -0
- package/cjs/card/card-header.js +54 -0
- package/cjs/card/card.d.ts +25 -12
- package/cjs/card/card.js +99 -36
- package/cjs/card/index.js +8 -4
- package/cjs/card/styles.d.ts +7 -8
- package/cjs/card/styles.js +30 -60
- package/cjs/collapse/collapse-context.d.ts +9 -0
- package/cjs/collapse/collapse-context.js +20 -0
- package/cjs/collapse/collapse-group.d.ts +32 -0
- package/cjs/collapse/collapse-group.js +111 -0
- package/cjs/collapse/collapse-icon.d.ts +3 -0
- package/cjs/collapse/collapse-icon.js +39 -0
- package/cjs/collapse/collapse.d.ts +39 -0
- package/cjs/collapse/collapse.js +174 -0
- package/cjs/collapse/index.d.ts +2 -0
- package/cjs/collapse/index.js +15 -0
- package/cjs/css-baseline/css-baseline.js +3 -3
- package/cjs/divider/divider.d.ts +8 -9
- package/cjs/divider/divider.js +9 -9
- package/cjs/image/image.d.ts +9 -8
- package/cjs/image/image.js +27 -17
- package/cjs/index.d.ts +8 -0
- package/cjs/index.js +29 -2
- package/cjs/input/input-icon-clear.js +1 -1
- package/cjs/input/input-password.d.ts +1 -1
- package/cjs/modal/modal-close-button.js +1 -1
- package/cjs/modal/modal-wrapper.d.ts +1 -0
- package/cjs/modal/modal-wrapper.js +28 -15
- package/cjs/modal/modal.d.ts +2 -0
- package/cjs/modal/modal.js +4 -0
- package/cjs/snippet/snippet.js +1 -1
- package/cjs/text/child.d.ts +4 -5
- package/cjs/text/child.js +11 -7
- package/cjs/text/text.d.ts +8 -5
- package/cjs/text/text.js +10 -7
- package/cjs/theme/dark.js +2 -1
- package/cjs/theme/default.js +2 -1
- package/cjs/tooltip/placement.d.ts +29 -0
- package/cjs/tooltip/{position.js → placement.js} +31 -31
- package/cjs/tooltip/tooltip-content.d.ts +3 -3
- package/cjs/tooltip/tooltip-content.js +12 -12
- package/cjs/tooltip/tooltip.d.ts +9 -9
- package/cjs/tooltip/tooltip.js +8 -8
- package/cjs/use-drip/index.d.ts +2 -0
- package/cjs/use-drip/index.js +12 -0
- package/cjs/use-drip/use-drip.d.ts +9 -0
- package/cjs/use-drip/use-drip.js +38 -0
- package/cjs/{shared → utils}/clear-icon.d.ts +0 -0
- package/cjs/{shared → utils}/clear-icon.js +1 -1
- package/cjs/utils/collections.d.ts +1 -0
- package/cjs/utils/collections.js +26 -2
- package/cjs/utils/css-transition.js +1 -1
- package/cjs/{button/button.drip.d.ts → utils/drip.d.ts} +6 -2
- package/cjs/{button/button.drip.js → utils/drip.js} +13 -10
- package/cjs/utils/expand.d.ts +18 -0
- package/cjs/utils/expand.js +97 -0
- package/cjs/utils/icons.js +60 -2
- package/cjs/utils/prop-types.d.ts +9 -2
- package/cjs/utils/prop-types.js +22 -2
- package/collapse/package.json +6 -0
- package/esm/avatar/avatar-group.js +8 -4
- package/esm/avatar/avatar.d.ts +3 -1
- package/esm/avatar/avatar.js +20 -30
- package/esm/backdrop/index.d.ts +4 -1
- package/esm/backdrop/index.js +17 -9
- package/esm/button/button-group.d.ts +1 -1
- package/esm/button/button.js +10 -19
- package/esm/card/card-body.d.ts +35 -0
- package/esm/card/card-body.js +52 -0
- package/esm/card/card-context.d.ts +8 -0
- package/esm/card/card-context.js +6 -0
- package/esm/card/card-footer.d.ts +25 -4
- package/esm/card/card-footer.js +48 -8
- package/esm/card/card-header.d.ts +23 -0
- package/esm/card/card-header.js +38 -0
- package/esm/card/card.d.ts +25 -12
- package/esm/card/card.js +95 -37
- package/esm/card/index.js +6 -4
- package/esm/card/styles.d.ts +7 -8
- package/esm/card/styles.js +25 -59
- package/esm/collapse/collapse-context.d.ts +9 -0
- package/esm/collapse/collapse-context.js +6 -0
- package/esm/collapse/collapse-group.d.ts +32 -0
- package/esm/collapse/collapse-group.js +87 -0
- package/esm/collapse/collapse-icon.d.ts +3 -0
- package/esm/collapse/collapse-icon.js +27 -0
- package/esm/collapse/collapse.d.ts +39 -0
- package/esm/collapse/collapse.js +150 -0
- package/esm/collapse/index.d.ts +2 -0
- package/esm/collapse/index.js +4 -0
- package/esm/css-baseline/css-baseline.js +3 -3
- package/esm/divider/divider.d.ts +8 -9
- package/esm/divider/divider.js +9 -9
- package/esm/image/image.d.ts +9 -8
- package/esm/image/image.js +27 -18
- package/esm/index.d.ts +8 -0
- package/esm/index.js +6 -1
- package/esm/input/input-icon-clear.js +1 -1
- package/esm/input/input-password.d.ts +1 -1
- package/esm/modal/modal-close-button.js +1 -1
- package/esm/modal/modal-wrapper.d.ts +1 -0
- package/esm/modal/modal-wrapper.js +30 -16
- package/esm/modal/modal.d.ts +2 -0
- package/esm/modal/modal.js +4 -0
- package/esm/snippet/snippet.js +1 -1
- package/esm/text/child.d.ts +4 -5
- package/esm/text/child.js +10 -7
- package/esm/text/text.d.ts +8 -5
- package/esm/text/text.js +10 -7
- package/esm/theme/dark.js +2 -1
- package/esm/theme/default.js +2 -1
- package/esm/tooltip/placement.d.ts +29 -0
- package/esm/tooltip/{position.js → placement.js} +27 -27
- package/esm/tooltip/tooltip-content.d.ts +3 -3
- package/esm/tooltip/tooltip-content.js +12 -12
- package/esm/tooltip/tooltip.d.ts +9 -9
- package/esm/tooltip/tooltip.js +8 -8
- package/esm/use-drip/index.d.ts +2 -0
- package/esm/use-drip/index.js +2 -0
- package/esm/use-drip/use-drip.d.ts +9 -0
- package/esm/use-drip/use-drip.js +31 -0
- package/esm/{shared → utils}/clear-icon.d.ts +0 -0
- package/esm/{shared → utils}/clear-icon.js +1 -1
- package/esm/utils/collections.d.ts +1 -0
- package/esm/utils/collections.js +21 -0
- package/esm/utils/css-transition.js +1 -1
- package/esm/{button/button.drip.d.ts → utils/drip.d.ts} +6 -2
- package/esm/{button/button.drip.js → utils/drip.js} +13 -10
- package/esm/utils/expand.d.ts +18 -0
- package/esm/utils/expand.js +78 -0
- package/esm/utils/icons.js +52 -0
- package/esm/utils/prop-types.d.ts +9 -2
- package/esm/utils/prop-types.js +19 -1
- package/package.json +1 -1
- package/umd/nextui.js +1497 -806
- package/umd/nextui.min.js +1 -1
- package/use-drip/package.json +6 -0
- package/cjs/card/card-content.d.ts +0 -13
- package/cjs/card/card-content.js +0 -43
- package/cjs/tooltip/position.d.ts +0 -29
- package/esm/card/card-content.d.ts +0 -13
- package/esm/card/card-content.js +0 -28
- package/esm/tooltip/position.d.ts +0 -29
- package/shared/package.json +0 -6
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Justify } from '../utils/prop-types';
|
|
3
|
+
interface Props {
|
|
4
|
+
autoMargin?: boolean;
|
|
5
|
+
className?: string;
|
|
6
|
+
justify?: Justify;
|
|
7
|
+
noPadding?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare const defaultProps: {
|
|
10
|
+
autoMargin: boolean;
|
|
11
|
+
justify: "center" | "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly";
|
|
12
|
+
noPadding: boolean;
|
|
13
|
+
className: string;
|
|
14
|
+
};
|
|
15
|
+
declare type NativeAttrs = Omit<React.HTMLAttributes<unknown>, keyof Props>;
|
|
16
|
+
export declare type CardHeaderProps = Props & typeof defaultProps & NativeAttrs;
|
|
17
|
+
declare const _default: React.ComponentType<Partial<{
|
|
18
|
+
autoMargin: boolean;
|
|
19
|
+
justify: "center" | "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly";
|
|
20
|
+
noPadding: boolean;
|
|
21
|
+
className: string;
|
|
22
|
+
}> & Omit<CardHeaderProps, "className" | "justify" | "autoMargin" | "noPadding">>;
|
|
23
|
+
export default _default;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _style = _interopRequireDefault(require("styled-jsx/style"));
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _useTheme = _interopRequireDefault(require("../use-theme"));
|
|
13
|
+
|
|
14
|
+
var _withDefaults = _interopRequireDefault(require("../utils/with-defaults"));
|
|
15
|
+
|
|
16
|
+
var _clsx = _interopRequireDefault(require("../utils/clsx"));
|
|
17
|
+
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
|
|
20
|
+
const defaultProps = {
|
|
21
|
+
autoMargin: false,
|
|
22
|
+
justify: 'flex-start',
|
|
23
|
+
noPadding: false,
|
|
24
|
+
className: ''
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const CardHeader = ({
|
|
28
|
+
children,
|
|
29
|
+
className,
|
|
30
|
+
autoMargin,
|
|
31
|
+
justify,
|
|
32
|
+
noPadding,
|
|
33
|
+
...props
|
|
34
|
+
}) => {
|
|
35
|
+
const theme = (0, _useTheme.default)();
|
|
36
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { ...props,
|
|
37
|
+
className: _style.default.dynamic([["1342321190", [justify, theme.layout.gapHalf, theme.layout.gapHalf]]]) + " " + (props && props.className != null && props.className || (0, _clsx.default)('card-header', {
|
|
38
|
+
'auto-margin': autoMargin,
|
|
39
|
+
'no-padding': noPadding
|
|
40
|
+
}, className) || ""),
|
|
41
|
+
children: [children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_style.default, {
|
|
42
|
+
id: "1342321190",
|
|
43
|
+
dynamic: [justify, theme.layout.gapHalf, theme.layout.gapHalf],
|
|
44
|
+
children: `.card-header.__jsx-style-dynamic-selector{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;z-index:1;-webkit-box-pack:${justify};-webkit-justify-content:${justify};-ms-flex-pack:${justify};justify-content:${justify};-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden;color:inherit;font-size:0.875rem;padding:${theme.layout.gapHalf} calc(${theme.layout.gapHalf} + 0.25rem);}.no-padding.__jsx-style-dynamic-selector{padding:0;}.auto-margin.__jsx-style-dynamic-selector>*:first-child{margin-top:0;}.auto-margin.__jsx-style-dynamic-selector>*:last-child{margin-bottom:0;}`
|
|
45
|
+
})]
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const MemoCardHeader = /*#__PURE__*/_react.default.memo(CardHeader);
|
|
50
|
+
|
|
51
|
+
var _default = (0, _withDefaults.default)(MemoCardHeader, defaultProps);
|
|
52
|
+
|
|
53
|
+
exports.default = _default;
|
|
54
|
+
module.exports = exports.default;
|
package/cjs/card/card.d.ts
CHANGED
|
@@ -1,33 +1,46 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import {
|
|
1
|
+
import React, { PropsWithoutRef, RefAttributes } from 'react';
|
|
2
|
+
import { NormalColors, NormalWeights, SimpleColors } from '../utils/prop-types';
|
|
3
|
+
import CardHeader from './card-header';
|
|
3
4
|
import CardFooter from './card-footer';
|
|
4
|
-
import
|
|
5
|
+
import CardBody from './card-body';
|
|
6
|
+
import Image from '../image';
|
|
5
7
|
interface Props {
|
|
6
|
-
hoverable?: boolean;
|
|
7
8
|
shadow?: boolean;
|
|
8
9
|
bordered?: boolean;
|
|
9
10
|
animated?: boolean;
|
|
11
|
+
hoverable?: boolean;
|
|
12
|
+
clickable?: boolean;
|
|
13
|
+
cover?: boolean;
|
|
10
14
|
className?: string;
|
|
11
15
|
width?: string;
|
|
12
|
-
|
|
16
|
+
height?: string;
|
|
17
|
+
color?: NormalColors | string;
|
|
18
|
+
textColor?: SimpleColors | string;
|
|
19
|
+
borderWeight?: NormalWeights;
|
|
20
|
+
onClick?: React.MouseEventHandler<HTMLDivElement>;
|
|
13
21
|
}
|
|
14
22
|
declare const defaultProps: {
|
|
15
|
-
color:
|
|
23
|
+
color: string;
|
|
24
|
+
textColor: string;
|
|
16
25
|
bordered: boolean;
|
|
17
|
-
|
|
26
|
+
cover: boolean;
|
|
18
27
|
animated: boolean;
|
|
28
|
+
clickable: boolean;
|
|
29
|
+
hoverable: boolean;
|
|
19
30
|
shadow: boolean;
|
|
31
|
+
borderWeight: "light" | "normal" | "bold";
|
|
20
32
|
width: string;
|
|
33
|
+
height: string;
|
|
21
34
|
className: string;
|
|
22
35
|
};
|
|
23
36
|
declare type NativeAttrs = Omit<React.HTMLAttributes<unknown>, keyof Props>;
|
|
24
37
|
export declare type CardProps = Props & typeof defaultProps & NativeAttrs;
|
|
25
|
-
declare type
|
|
38
|
+
declare type CardComponent<T, P = {}> = React.ForwardRefExoticComponent<PropsWithoutRef<P> & RefAttributes<T>> & {
|
|
39
|
+
Header: typeof CardHeader;
|
|
40
|
+
Body: typeof CardBody;
|
|
26
41
|
Footer: typeof CardFooter;
|
|
27
|
-
|
|
28
|
-
Content: typeof CardContent;
|
|
29
|
-
Body: typeof CardContent;
|
|
42
|
+
Image: typeof Image;
|
|
30
43
|
};
|
|
31
44
|
declare type ComponentProps = Partial<typeof defaultProps> & Omit<Props, keyof typeof defaultProps> & NativeAttrs;
|
|
32
|
-
declare const _default:
|
|
45
|
+
declare const _default: CardComponent<HTMLDivElement, ComponentProps>;
|
|
33
46
|
export default _default;
|
package/cjs/card/card.js
CHANGED
|
@@ -13,14 +13,28 @@ var _useTheme = _interopRequireDefault(require("../use-theme"));
|
|
|
13
13
|
|
|
14
14
|
var _styles = require("./styles");
|
|
15
15
|
|
|
16
|
+
var _cardHeader = _interopRequireDefault(require("./card-header"));
|
|
17
|
+
|
|
16
18
|
var _cardFooter = _interopRequireDefault(require("./card-footer"));
|
|
17
19
|
|
|
18
|
-
var
|
|
20
|
+
var _cardBody = _interopRequireDefault(require("./card-body"));
|
|
19
21
|
|
|
20
22
|
var _image = _interopRequireDefault(require("../image"));
|
|
21
23
|
|
|
24
|
+
var _clsx = _interopRequireDefault(require("../utils/clsx"));
|
|
25
|
+
|
|
26
|
+
var _drip = _interopRequireDefault(require("../utils/drip"));
|
|
27
|
+
|
|
28
|
+
var _useDrip = _interopRequireDefault(require("../use-drip"));
|
|
29
|
+
|
|
30
|
+
var _assertion = require("../utils/assertion");
|
|
31
|
+
|
|
22
32
|
var _collections = require("../utils/collections");
|
|
23
33
|
|
|
34
|
+
var _dimensions = require("../utils/dimensions");
|
|
35
|
+
|
|
36
|
+
var _cardContext = require("./card-context");
|
|
37
|
+
|
|
24
38
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
39
|
|
|
26
40
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -29,54 +43,103 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
29
43
|
|
|
30
44
|
const defaultProps = {
|
|
31
45
|
color: 'default',
|
|
46
|
+
textColor: 'default',
|
|
32
47
|
bordered: false,
|
|
48
|
+
cover: false,
|
|
49
|
+
animated: true,
|
|
50
|
+
clickable: false,
|
|
33
51
|
hoverable: false,
|
|
34
|
-
|
|
35
|
-
|
|
52
|
+
shadow: true,
|
|
53
|
+
borderWeight: 'normal',
|
|
36
54
|
width: '100%',
|
|
55
|
+
height: 'auto',
|
|
37
56
|
className: ''
|
|
38
57
|
};
|
|
39
58
|
|
|
40
|
-
const Card = ({
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
59
|
+
const Card = /*#__PURE__*/_react.default.forwardRef(({ ...cardProps
|
|
60
|
+
}, ref) => {
|
|
61
|
+
const {
|
|
62
|
+
children,
|
|
63
|
+
bordered,
|
|
64
|
+
cover,
|
|
65
|
+
className,
|
|
66
|
+
shadow,
|
|
67
|
+
animated,
|
|
68
|
+
clickable,
|
|
69
|
+
hoverable,
|
|
70
|
+
color: cardColor,
|
|
71
|
+
borderWeight: borderWeightProp,
|
|
72
|
+
width,
|
|
73
|
+
height,
|
|
74
|
+
textColor,
|
|
75
|
+
onClick,
|
|
76
|
+
...props
|
|
77
|
+
} = cardProps;
|
|
51
78
|
const theme = (0, _useTheme.default)();
|
|
52
|
-
const hoverShadow = (0, _react.useMemo)(() => {
|
|
53
|
-
if (shadow) return theme.expressiveness.shadowMedium;
|
|
54
|
-
return hoverable ? theme.expressiveness.shadowSmall : 'none';
|
|
55
|
-
}, [hoverable, shadow, theme.expressiveness]);
|
|
56
79
|
const {
|
|
57
80
|
color,
|
|
58
81
|
bgColor,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
82
|
+
dripColor,
|
|
83
|
+
borderColor
|
|
84
|
+
} = (0, _react.useMemo)(() => (0, _styles.getStyles)(cardColor, textColor, shadow, bordered, theme), [cardColor, theme, textColor, shadow, bordered]);
|
|
85
|
+
const cardRef = (0, _react.useRef)(null);
|
|
86
|
+
(0, _react.useImperativeHandle)(ref, () => cardRef.current);
|
|
87
|
+
const {
|
|
88
|
+
onClick: onDripClickHandler,
|
|
89
|
+
...dripBindings
|
|
90
|
+
} = (0, _useDrip.default)(false, cardRef);
|
|
91
|
+
const [withoutHeaderChildren, headerChildren] = (0, _collections.pickChild)(children, _cardHeader.default);
|
|
92
|
+
const [withoutFooterChildren, footerChildren] = (0, _collections.pickChild)(withoutHeaderChildren, _cardFooter.default);
|
|
62
93
|
const [withoutImageChildren, imageChildren] = (0, _collections.pickChild)(withoutFooterChildren, _image.default);
|
|
63
|
-
const hasContent = (0, _collections.hasChild)(withoutImageChildren,
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
94
|
+
const hasContent = (0, _collections.hasChild)(withoutImageChildren, _cardBody.default);
|
|
95
|
+
const hasHeader = (0, _collections.hasChild)(children, _cardHeader.default);
|
|
96
|
+
const borderWeight = (0, _react.useMemo)(() => bordered ? (0, _dimensions.getNormalWeight)(borderWeightProp) : '0px', [bordered, borderWeightProp]);
|
|
97
|
+
const cardConfig = (0, _react.useMemo)(() => ({
|
|
98
|
+
background: bgColor,
|
|
99
|
+
noPadding: cover ? true : undefined
|
|
100
|
+
}), []);
|
|
101
|
+
|
|
102
|
+
const clickHandler = event => {
|
|
103
|
+
if (animated && cardRef.current) {
|
|
104
|
+
onDripClickHandler(event);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
onClick && onClick(event);
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_cardContext.CardContext.Provider, {
|
|
111
|
+
value: cardConfig,
|
|
112
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
113
|
+
ref: cardRef,
|
|
114
|
+
onClick: clickHandler,
|
|
115
|
+
...props,
|
|
116
|
+
className: _style.default.dynamic([["608496355", [bgColor, width, height, theme.layout.radius, shadow && !bordered ? theme.expressiveness.shadowMedium : 'none', color, borderWeight, borderColor, shadow ? theme.expressiveness.shadowLarge : 'none']]]) + " " + (props && props.className != null && props.className || (0, _clsx.default)('card', {
|
|
117
|
+
animated,
|
|
118
|
+
cover,
|
|
119
|
+
clickable,
|
|
120
|
+
hoverable
|
|
121
|
+
}, className) || ""),
|
|
122
|
+
children: [hasHeader ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
123
|
+
children: [headerChildren, imageChildren]
|
|
124
|
+
}) : imageChildren, hasContent ? withoutImageChildren : !cover ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_cardBody.default, {
|
|
125
|
+
children: withoutImageChildren
|
|
126
|
+
}) : null, clickable && animated && /*#__PURE__*/(0, _jsxRuntime.jsx)(_drip.default, {
|
|
127
|
+
color: dripColor,
|
|
128
|
+
...dripBindings
|
|
129
|
+
}), footerChildren, /*#__PURE__*/(0, _jsxRuntime.jsx)(_style.default, {
|
|
130
|
+
id: "608496355",
|
|
131
|
+
dynamic: [bgColor, width, height, theme.layout.radius, shadow && !bordered ? theme.expressiveness.shadowMedium : 'none', color, borderWeight, borderColor, shadow ? theme.expressiveness.shadowLarge : 'none'],
|
|
132
|
+
children: `.card.__jsx-style-dynamic-selector{margin:0;padding:0;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background:${bgColor};width:100%;max-width:${width};height:${height};border-radius:${theme.layout.radius};box-shadow:${shadow && !bordered ? theme.expressiveness.shadowMedium : 'none'};box-sizing:border-box;color:${color};border:${borderWeight} solid ${borderColor};}.card.animated.__jsx-style-dynamic-selector{-webkit-transition:all 0.25s ease;transition:all 0.25s ease;}.card.clickable.animated.__jsx-style-dynamic-selector:active{-webkit-transform:scale(0.97);-ms-transform:scale(0.97);transform:scale(0.97);}.card.hoverable.clickable.animated.__jsx-style-dynamic-selector:active{-webkit-transform:scale(0.99);-ms-transform:scale(0.99);transform:scale(0.99);}.card.clickable.__jsx-style-dynamic-selector{cursor:pointer;}.card.__jsx-style-dynamic-selector .image{width:100%;}.card.hoverable.animated.__jsx-style-dynamic-selector:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);box-shadow:${shadow ? theme.expressiveness.shadowLarge : 'none'};}.card.cover.__jsx-style-dynamic-selector img{object-fit:cover;}.card.__jsx-style-dynamic-selector:not(.cover) .image{border-bottom-left-radius:0;border-bottom-right-radius:0;}`
|
|
133
|
+
})]
|
|
134
|
+
})
|
|
74
135
|
});
|
|
75
|
-
};
|
|
136
|
+
});
|
|
76
137
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
138
|
+
if (_assertion.__DEV__) {
|
|
139
|
+
Card.displayName = 'NextUI - Card';
|
|
140
|
+
}
|
|
80
141
|
|
|
142
|
+
Card.defaultProps = defaultProps;
|
|
143
|
+
var _default = Card;
|
|
81
144
|
exports.default = _default;
|
|
82
145
|
module.exports = exports.default;
|
package/cjs/card/index.js
CHANGED
|
@@ -7,14 +7,18 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _card = _interopRequireDefault(require("./card"));
|
|
9
9
|
|
|
10
|
+
var _cardHeader = _interopRequireDefault(require("./card-header"));
|
|
11
|
+
|
|
10
12
|
var _cardFooter = _interopRequireDefault(require("./card-footer"));
|
|
11
13
|
|
|
12
|
-
var
|
|
14
|
+
var _cardBody = _interopRequireDefault(require("./card-body"));
|
|
15
|
+
|
|
16
|
+
var _image = _interopRequireDefault(require("../image"));
|
|
13
17
|
|
|
18
|
+
_card.default.Header = _cardHeader.default;
|
|
19
|
+
_card.default.Body = _cardBody.default;
|
|
14
20
|
_card.default.Footer = _cardFooter.default;
|
|
15
|
-
_card.default.
|
|
16
|
-
_card.default.Content = _cardContent.default;
|
|
17
|
-
_card.default.Body = _cardContent.default;
|
|
21
|
+
_card.default.Image = _image.default;
|
|
18
22
|
var _default = _card.default;
|
|
19
23
|
exports.default = _default;
|
|
20
24
|
module.exports = exports.default;
|
package/cjs/card/styles.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NextUIThemes } from './../theme/types';
|
|
2
|
+
import { NormalColors, SimpleColors } from '../utils/prop-types';
|
|
2
3
|
import { NextUIThemesPalette } from '../theme';
|
|
3
|
-
export interface CardBorder {
|
|
4
|
-
weight?: string;
|
|
5
|
-
color?: string;
|
|
6
|
-
}
|
|
7
4
|
export declare type CardStyles = {
|
|
8
|
-
color: string;
|
|
9
5
|
bgColor: string;
|
|
10
|
-
|
|
6
|
+
color: string;
|
|
7
|
+
borderColor: string;
|
|
8
|
+
dripColor: string;
|
|
11
9
|
};
|
|
12
|
-
export declare const
|
|
10
|
+
export declare const getDripColor: (palette: NextUIThemesPalette, color: NormalColors | string, bordered: boolean) => string;
|
|
11
|
+
export declare const getStyles: (color: NormalColors | string, textColor: SimpleColors | string, shadow: boolean, bordered: boolean, theme: NextUIThemes) => CardStyles;
|
package/cjs/card/styles.js
CHANGED
|
@@ -1,69 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.getStyles = void 0;
|
|
4
|
+
exports.getStyles = exports.getDripColor = void 0;
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
var _color = require("./../utils/color");
|
|
7
|
+
|
|
8
|
+
const getDripColor = (palette, color, bordered) => {
|
|
7
9
|
const colors = {
|
|
8
|
-
default:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
},
|
|
16
|
-
dark: {
|
|
17
|
-
color: palette.background,
|
|
18
|
-
bgColor: palette.foreground
|
|
19
|
-
},
|
|
20
|
-
secondary: {
|
|
21
|
-
color: palette.background,
|
|
22
|
-
bgColor: palette.secondary
|
|
23
|
-
},
|
|
24
|
-
success: {
|
|
25
|
-
color: palette.background,
|
|
26
|
-
bgColor: palette.success
|
|
27
|
-
},
|
|
28
|
-
warning: {
|
|
29
|
-
color: palette.background,
|
|
30
|
-
bgColor: palette.warning
|
|
31
|
-
},
|
|
32
|
-
error: {
|
|
33
|
-
color: palette.background,
|
|
34
|
-
bgColor: palette.error
|
|
35
|
-
},
|
|
36
|
-
lite: {
|
|
37
|
-
color: palette.foreground,
|
|
38
|
-
bgColor: palette.background
|
|
39
|
-
},
|
|
40
|
-
gradient: {
|
|
41
|
-
color: palette.white,
|
|
42
|
-
bgColor: palette.gradient
|
|
43
|
-
},
|
|
44
|
-
alert: {
|
|
45
|
-
color: palette.white,
|
|
46
|
-
bgColor: palette.alert
|
|
47
|
-
},
|
|
48
|
-
purple: {
|
|
49
|
-
color: palette.white,
|
|
50
|
-
bgColor: palette.purple
|
|
51
|
-
},
|
|
52
|
-
violet: {
|
|
53
|
-
color: palette.white,
|
|
54
|
-
bgColor: palette.violet
|
|
55
|
-
},
|
|
56
|
-
cyan: {
|
|
57
|
-
color: palette.text,
|
|
58
|
-
bgColor: palette.cyan
|
|
59
|
-
}
|
|
10
|
+
default: palette.accents_2,
|
|
11
|
+
primary: palette.primary,
|
|
12
|
+
secondary: palette.secondary,
|
|
13
|
+
success: palette.success,
|
|
14
|
+
warning: palette.warning,
|
|
15
|
+
error: palette.error,
|
|
16
|
+
gradient: (0, _color.hexFromString)(palette.gradient, palette.primary, true)
|
|
60
17
|
};
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
18
|
+
const baseColor = color === 'default' ? palette.primary : colors[color || 'default'] || (0, _color.getNormalColor)(color, palette);
|
|
19
|
+
const selectedColor = bordered ? baseColor : palette.accents_6;
|
|
20
|
+
if (selectedColor) return (0, _color.addColorAlpha)(selectedColor, 0.25);
|
|
21
|
+
return palette.accents_2;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
exports.getDripColor = getDripColor;
|
|
25
|
+
|
|
26
|
+
const getStyles = (color, textColor, shadow, bordered, theme) => {
|
|
27
|
+
const palette = theme.palette;
|
|
28
|
+
const isDark = theme.type === 'dark';
|
|
29
|
+
const normalColor = (0, _color.getNormalColor)(color, palette, isDark ? palette.accents_1 : palette.background);
|
|
30
|
+
const normalTextColor = (0, _color.getNormalColor)(textColor, palette, palette.text);
|
|
31
|
+
const dripColor = getDripColor(palette, color, bordered);
|
|
32
|
+
return {
|
|
33
|
+
bgColor: color === 'default' && !shadow && !bordered ? palette.accents_1 : normalColor,
|
|
34
|
+
color: normalTextColor,
|
|
35
|
+
borderColor: color === 'default' ? palette.border : normalColor,
|
|
36
|
+
dripColor
|
|
67
37
|
};
|
|
68
38
|
};
|
|
69
39
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface CollapseConfig {
|
|
3
|
+
values: Array<number>;
|
|
4
|
+
divider?: boolean;
|
|
5
|
+
animated?: boolean;
|
|
6
|
+
updateValues?: Function;
|
|
7
|
+
}
|
|
8
|
+
export declare const CollapseContext: React.Context<CollapseConfig>;
|
|
9
|
+
export declare const useCollapseContext: () => CollapseConfig;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.useCollapseContext = exports.CollapseContext = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
const defaultContext = {
|
|
11
|
+
values: []
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const CollapseContext = /*#__PURE__*/_react.default.createContext(defaultContext);
|
|
15
|
+
|
|
16
|
+
exports.CollapseContext = CollapseContext;
|
|
17
|
+
|
|
18
|
+
const useCollapseContext = () => _react.default.useContext(CollapseContext);
|
|
19
|
+
|
|
20
|
+
exports.useCollapseContext = useCollapseContext;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { NormalWeights } from '../utils/prop-types';
|
|
3
|
+
interface Props {
|
|
4
|
+
accordion?: boolean;
|
|
5
|
+
className?: string;
|
|
6
|
+
animated?: boolean;
|
|
7
|
+
bordered?: boolean;
|
|
8
|
+
splitted?: boolean;
|
|
9
|
+
shadow?: boolean;
|
|
10
|
+
divider?: boolean;
|
|
11
|
+
borderWeight?: NormalWeights;
|
|
12
|
+
onChange?: (index?: number | undefined, value?: boolean) => void;
|
|
13
|
+
}
|
|
14
|
+
declare const defaultProps: {
|
|
15
|
+
accordion: boolean;
|
|
16
|
+
shadow: boolean;
|
|
17
|
+
bordered: boolean;
|
|
18
|
+
splitted: boolean;
|
|
19
|
+
borderWeight: "light" | "normal" | "bold";
|
|
20
|
+
className: string;
|
|
21
|
+
};
|
|
22
|
+
declare type NativeAttrs = Omit<React.HTMLAttributes<unknown>, keyof Props>;
|
|
23
|
+
export declare type CollapseGroupProps = Props & typeof defaultProps & NativeAttrs;
|
|
24
|
+
declare const _default: React.ComponentType<Partial<{
|
|
25
|
+
accordion: boolean;
|
|
26
|
+
shadow: boolean;
|
|
27
|
+
bordered: boolean;
|
|
28
|
+
splitted: boolean;
|
|
29
|
+
borderWeight: "light" | "normal" | "bold";
|
|
30
|
+
className: string;
|
|
31
|
+
}> & Omit<React.PropsWithChildren<CollapseGroupProps>, "className" | "bordered" | "borderWeight" | "shadow" | "accordion" | "splitted">>;
|
|
32
|
+
export default _default;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _style = _interopRequireDefault(require("styled-jsx/style"));
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _withDefaults = _interopRequireDefault(require("../utils/with-defaults"));
|
|
13
|
+
|
|
14
|
+
var _useTheme = _interopRequireDefault(require("../use-theme"));
|
|
15
|
+
|
|
16
|
+
var _collapseContext = require("./collapse-context");
|
|
17
|
+
|
|
18
|
+
var _useCurrentState = _interopRequireDefault(require("../use-current-state"));
|
|
19
|
+
|
|
20
|
+
var _collections = require("../utils/collections");
|
|
21
|
+
|
|
22
|
+
var _dimensions = require("../utils/dimensions");
|
|
23
|
+
|
|
24
|
+
var _clsx = _interopRequireDefault(require("../utils/clsx"));
|
|
25
|
+
|
|
26
|
+
var _collapse = _interopRequireDefault(require("./collapse"));
|
|
27
|
+
|
|
28
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
|
+
|
|
30
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
|
+
|
|
32
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
|
+
|
|
34
|
+
const defaultProps = {
|
|
35
|
+
accordion: true,
|
|
36
|
+
shadow: false,
|
|
37
|
+
bordered: false,
|
|
38
|
+
splitted: false,
|
|
39
|
+
borderWeight: 'light',
|
|
40
|
+
className: ''
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const CollapseGroup = ({
|
|
44
|
+
children,
|
|
45
|
+
accordion,
|
|
46
|
+
shadow,
|
|
47
|
+
className,
|
|
48
|
+
animated,
|
|
49
|
+
bordered,
|
|
50
|
+
splitted,
|
|
51
|
+
divider,
|
|
52
|
+
borderWeight: borderWeightProp,
|
|
53
|
+
onChange,
|
|
54
|
+
...props
|
|
55
|
+
}) => {
|
|
56
|
+
const theme = (0, _useTheme.default)();
|
|
57
|
+
const [state, setState, stateRef] = (0, _useCurrentState.default)([]);
|
|
58
|
+
|
|
59
|
+
const updateValues = (currentIndex, nextState) => {
|
|
60
|
+
const hasChild = stateRef.current.find(val => val === currentIndex);
|
|
61
|
+
onChange && onChange(currentIndex, nextState);
|
|
62
|
+
|
|
63
|
+
if (accordion) {
|
|
64
|
+
if (nextState) return setState([currentIndex]);
|
|
65
|
+
return setState([]);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (nextState) {
|
|
69
|
+
// In a few cases, the user will set Collapse Component state manually.
|
|
70
|
+
// If the user incorrectly set the state, Group component should ignore it.
|
|
71
|
+
|
|
72
|
+
/* istanbul ignore if */
|
|
73
|
+
if (hasChild) return;
|
|
74
|
+
return setState([...stateRef.current, currentIndex]);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
setState(stateRef.current.filter(item => item !== currentIndex));
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const bgColor = (0, _react.useMemo)(() => theme.type === 'dark' ? theme.palette.accents_1 : theme.palette.background, [theme.type]);
|
|
81
|
+
const initialValue = (0, _react.useMemo)(() => ({
|
|
82
|
+
values: state,
|
|
83
|
+
updateValues,
|
|
84
|
+
divider,
|
|
85
|
+
animated
|
|
86
|
+
}), [state.join(',')]);
|
|
87
|
+
const hasIndexChildren = (0, _react.useMemo)(() => (0, _collections.setChildrenIndex)(children, [_collapse.default]), [children]);
|
|
88
|
+
const borderWeight = (0, _react.useMemo)(() => {
|
|
89
|
+
return bordered ? (0, _dimensions.getNormalWeight)(borderWeightProp) : '0px';
|
|
90
|
+
}, [bordered, borderWeightProp]);
|
|
91
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_collapseContext.CollapseContext.Provider, {
|
|
92
|
+
value: initialValue,
|
|
93
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { ...props,
|
|
94
|
+
className: _style.default.dynamic([["2642035014", [theme.layout.gapHalf, theme.layout.radius, theme.layout.gap, bgColor, theme.expressiveness.shadowMedium, bgColor, theme.expressiveness.shadowMedium, theme.layout.gapHalf, borderWeight, theme.palette.border]]]) + " " + (props && props.className != null && props.className || (0, _clsx.default)('collapse-group', {
|
|
95
|
+
shadow,
|
|
96
|
+
bordered,
|
|
97
|
+
splitted
|
|
98
|
+
}, className) || ""),
|
|
99
|
+
children: [hasIndexChildren, /*#__PURE__*/(0, _jsxRuntime.jsx)(_style.default, {
|
|
100
|
+
id: "2642035014",
|
|
101
|
+
dynamic: [theme.layout.gapHalf, theme.layout.radius, theme.layout.gap, bgColor, theme.expressiveness.shadowMedium, bgColor, theme.expressiveness.shadowMedium, theme.layout.gapHalf, borderWeight, theme.palette.border],
|
|
102
|
+
children: `.collapse-group.__jsx-style-dynamic-selector{width:auto;padding:0 ${theme.layout.gapHalf};}.collapse-group.__jsx-style-dynamic-selector>div + div{border-top:none;}.shadow.__jsx-style-dynamic-selector,.bordered.__jsx-style-dynamic-selector,.collapse-group.splitted.__jsx-style-dynamic-selector .collapse{border-radius:${theme.layout.radius};padding:0 ${theme.layout.gap};}.shadow.__jsx-style-dynamic-selector{border:none;background:${bgColor};box-shadow:${theme.expressiveness.shadowMedium};}.collapse-group.splitted.__jsx-style-dynamic-selector .collapse{border:none;background:${bgColor};box-shadow:${theme.expressiveness.shadowMedium};margin:${theme.layout.gapHalf} 0;}.bordered.__jsx-style-dynamic-selector{border:${borderWeight} solid ${theme.palette.border};}.collapse-group.__jsx-style-dynamic-selector .collapse:last-child{border-bottom:none;}.collapse-group.__jsx-style-dynamic-selector .collapse:first-child{border-top:none;}.gradient.vertical.__jsx-style-dynamic-selector .button:not(:last-child):not(:first-child){padding-top:0 !important;}`
|
|
103
|
+
})]
|
|
104
|
+
})
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
var _default = (0, _withDefaults.default)(CollapseGroup, defaultProps);
|
|
109
|
+
|
|
110
|
+
exports.default = _default;
|
|
111
|
+
module.exports = exports.default;
|