@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.
Files changed (158) hide show
  1. package/cjs/avatar/avatar-group.js +9 -4
  2. package/cjs/avatar/avatar.d.ts +3 -1
  3. package/cjs/avatar/avatar.js +20 -30
  4. package/cjs/backdrop/index.d.ts +4 -1
  5. package/cjs/backdrop/index.js +15 -8
  6. package/cjs/button/button-group.d.ts +1 -1
  7. package/cjs/button/button.js +10 -18
  8. package/cjs/card/card-body.d.ts +35 -0
  9. package/cjs/card/card-body.js +73 -0
  10. package/cjs/card/card-context.d.ts +8 -0
  11. package/cjs/card/card-context.js +20 -0
  12. package/cjs/card/card-footer.d.ts +25 -4
  13. package/cjs/card/card-footer.js +56 -8
  14. package/cjs/card/card-header.d.ts +23 -0
  15. package/cjs/card/card-header.js +54 -0
  16. package/cjs/card/card.d.ts +25 -12
  17. package/cjs/card/card.js +99 -36
  18. package/cjs/card/index.js +8 -4
  19. package/cjs/card/styles.d.ts +7 -8
  20. package/cjs/card/styles.js +30 -60
  21. package/cjs/collapse/collapse-context.d.ts +9 -0
  22. package/cjs/collapse/collapse-context.js +20 -0
  23. package/cjs/collapse/collapse-group.d.ts +32 -0
  24. package/cjs/collapse/collapse-group.js +111 -0
  25. package/cjs/collapse/collapse-icon.d.ts +3 -0
  26. package/cjs/collapse/collapse-icon.js +39 -0
  27. package/cjs/collapse/collapse.d.ts +39 -0
  28. package/cjs/collapse/collapse.js +174 -0
  29. package/cjs/collapse/index.d.ts +2 -0
  30. package/cjs/collapse/index.js +15 -0
  31. package/cjs/css-baseline/css-baseline.js +3 -3
  32. package/cjs/divider/divider.d.ts +8 -9
  33. package/cjs/divider/divider.js +9 -9
  34. package/cjs/image/image.d.ts +9 -8
  35. package/cjs/image/image.js +27 -17
  36. package/cjs/index.d.ts +8 -0
  37. package/cjs/index.js +29 -2
  38. package/cjs/input/input-icon-clear.js +1 -1
  39. package/cjs/input/input-password.d.ts +1 -1
  40. package/cjs/modal/modal-close-button.js +1 -1
  41. package/cjs/modal/modal-wrapper.d.ts +1 -0
  42. package/cjs/modal/modal-wrapper.js +28 -15
  43. package/cjs/modal/modal.d.ts +2 -0
  44. package/cjs/modal/modal.js +4 -0
  45. package/cjs/snippet/snippet.js +1 -1
  46. package/cjs/text/child.d.ts +4 -5
  47. package/cjs/text/child.js +11 -7
  48. package/cjs/text/text.d.ts +8 -5
  49. package/cjs/text/text.js +10 -7
  50. package/cjs/theme/dark.js +2 -1
  51. package/cjs/theme/default.js +2 -1
  52. package/cjs/tooltip/placement.d.ts +29 -0
  53. package/cjs/tooltip/{position.js → placement.js} +31 -31
  54. package/cjs/tooltip/tooltip-content.d.ts +3 -3
  55. package/cjs/tooltip/tooltip-content.js +12 -12
  56. package/cjs/tooltip/tooltip.d.ts +9 -9
  57. package/cjs/tooltip/tooltip.js +8 -8
  58. package/cjs/use-drip/index.d.ts +2 -0
  59. package/cjs/use-drip/index.js +12 -0
  60. package/cjs/use-drip/use-drip.d.ts +9 -0
  61. package/cjs/use-drip/use-drip.js +38 -0
  62. package/cjs/{shared → utils}/clear-icon.d.ts +0 -0
  63. package/cjs/{shared → utils}/clear-icon.js +1 -1
  64. package/cjs/utils/collections.d.ts +1 -0
  65. package/cjs/utils/collections.js +26 -2
  66. package/cjs/utils/css-transition.js +1 -1
  67. package/cjs/{button/button.drip.d.ts → utils/drip.d.ts} +6 -2
  68. package/cjs/{button/button.drip.js → utils/drip.js} +13 -10
  69. package/cjs/utils/expand.d.ts +18 -0
  70. package/cjs/utils/expand.js +97 -0
  71. package/cjs/utils/icons.js +60 -2
  72. package/cjs/utils/prop-types.d.ts +9 -2
  73. package/cjs/utils/prop-types.js +22 -2
  74. package/collapse/package.json +6 -0
  75. package/esm/avatar/avatar-group.js +8 -4
  76. package/esm/avatar/avatar.d.ts +3 -1
  77. package/esm/avatar/avatar.js +20 -30
  78. package/esm/backdrop/index.d.ts +4 -1
  79. package/esm/backdrop/index.js +17 -9
  80. package/esm/button/button-group.d.ts +1 -1
  81. package/esm/button/button.js +10 -19
  82. package/esm/card/card-body.d.ts +35 -0
  83. package/esm/card/card-body.js +52 -0
  84. package/esm/card/card-context.d.ts +8 -0
  85. package/esm/card/card-context.js +6 -0
  86. package/esm/card/card-footer.d.ts +25 -4
  87. package/esm/card/card-footer.js +48 -8
  88. package/esm/card/card-header.d.ts +23 -0
  89. package/esm/card/card-header.js +38 -0
  90. package/esm/card/card.d.ts +25 -12
  91. package/esm/card/card.js +95 -37
  92. package/esm/card/index.js +6 -4
  93. package/esm/card/styles.d.ts +7 -8
  94. package/esm/card/styles.js +25 -59
  95. package/esm/collapse/collapse-context.d.ts +9 -0
  96. package/esm/collapse/collapse-context.js +6 -0
  97. package/esm/collapse/collapse-group.d.ts +32 -0
  98. package/esm/collapse/collapse-group.js +87 -0
  99. package/esm/collapse/collapse-icon.d.ts +3 -0
  100. package/esm/collapse/collapse-icon.js +27 -0
  101. package/esm/collapse/collapse.d.ts +39 -0
  102. package/esm/collapse/collapse.js +150 -0
  103. package/esm/collapse/index.d.ts +2 -0
  104. package/esm/collapse/index.js +4 -0
  105. package/esm/css-baseline/css-baseline.js +3 -3
  106. package/esm/divider/divider.d.ts +8 -9
  107. package/esm/divider/divider.js +9 -9
  108. package/esm/image/image.d.ts +9 -8
  109. package/esm/image/image.js +27 -18
  110. package/esm/index.d.ts +8 -0
  111. package/esm/index.js +6 -1
  112. package/esm/input/input-icon-clear.js +1 -1
  113. package/esm/input/input-password.d.ts +1 -1
  114. package/esm/modal/modal-close-button.js +1 -1
  115. package/esm/modal/modal-wrapper.d.ts +1 -0
  116. package/esm/modal/modal-wrapper.js +30 -16
  117. package/esm/modal/modal.d.ts +2 -0
  118. package/esm/modal/modal.js +4 -0
  119. package/esm/snippet/snippet.js +1 -1
  120. package/esm/text/child.d.ts +4 -5
  121. package/esm/text/child.js +10 -7
  122. package/esm/text/text.d.ts +8 -5
  123. package/esm/text/text.js +10 -7
  124. package/esm/theme/dark.js +2 -1
  125. package/esm/theme/default.js +2 -1
  126. package/esm/tooltip/placement.d.ts +29 -0
  127. package/esm/tooltip/{position.js → placement.js} +27 -27
  128. package/esm/tooltip/tooltip-content.d.ts +3 -3
  129. package/esm/tooltip/tooltip-content.js +12 -12
  130. package/esm/tooltip/tooltip.d.ts +9 -9
  131. package/esm/tooltip/tooltip.js +8 -8
  132. package/esm/use-drip/index.d.ts +2 -0
  133. package/esm/use-drip/index.js +2 -0
  134. package/esm/use-drip/use-drip.d.ts +9 -0
  135. package/esm/use-drip/use-drip.js +31 -0
  136. package/esm/{shared → utils}/clear-icon.d.ts +0 -0
  137. package/esm/{shared → utils}/clear-icon.js +1 -1
  138. package/esm/utils/collections.d.ts +1 -0
  139. package/esm/utils/collections.js +21 -0
  140. package/esm/utils/css-transition.js +1 -1
  141. package/esm/{button/button.drip.d.ts → utils/drip.d.ts} +6 -2
  142. package/esm/{button/button.drip.js → utils/drip.js} +13 -10
  143. package/esm/utils/expand.d.ts +18 -0
  144. package/esm/utils/expand.js +78 -0
  145. package/esm/utils/icons.js +52 -0
  146. package/esm/utils/prop-types.d.ts +9 -2
  147. package/esm/utils/prop-types.js +19 -1
  148. package/package.json +1 -1
  149. package/umd/nextui.js +1497 -806
  150. package/umd/nextui.min.js +1 -1
  151. package/use-drip/package.json +6 -0
  152. package/cjs/card/card-content.d.ts +0 -13
  153. package/cjs/card/card-content.js +0 -43
  154. package/cjs/tooltip/position.d.ts +0 -29
  155. package/esm/card/card-content.d.ts +0 -13
  156. package/esm/card/card-content.js +0 -28
  157. package/esm/tooltip/position.d.ts +0 -29
  158. package/shared/package.json +0 -6
@@ -13,6 +13,8 @@ var _useTheme = _interopRequireDefault(require("../use-theme"));
13
13
 
14
14
  var _withDefaults = _interopRequireDefault(require("../utils/with-defaults"));
15
15
 
16
+ var _clsx = _interopRequireDefault(require("../utils/clsx"));
17
+
16
18
  var _jsxRuntime = require("react/jsx-runtime");
17
19
 
18
20
  const defaultProps = {
@@ -28,15 +30,18 @@ const AvatarGroup = ({
28
30
  ...props
29
31
  }) => {
30
32
  const theme = (0, _useTheme.default)();
33
+ const isDark = theme.type === 'dark';
31
34
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { ...props,
32
- className: _style.default.dynamic([["1646920449", [animated ? 'translate(-0.625rem)' : '', theme.layout.gapQuarter, theme.palette.accents_7]]]) + " " + (props && props.className != null && props.className || `avatar-group ${className}`),
35
+ className: _style.default.dynamic([["1480508104", [animated ? 'translate(-0.625rem)' : '', theme.layout.gapQuarter, theme.palette.accents_7]]]) + " " + (props && props.className != null && props.className || (0, _clsx.default)('avatar-group', {
36
+ 'is-dark': isDark
37
+ }, className) || ""),
33
38
  children: [children, count && /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
34
- className: _style.default.dynamic([["1646920449", [animated ? 'translate(-0.625rem)' : '', theme.layout.gapQuarter, theme.palette.accents_7]]]) + " " + "count",
39
+ className: _style.default.dynamic([["1480508104", [animated ? 'translate(-0.625rem)' : '', theme.layout.gapQuarter, theme.palette.accents_7]]]) + " " + "count",
35
40
  children: ["+", count]
36
41
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_style.default, {
37
- id: "1646920449",
42
+ id: "1480508104",
38
43
  dynamic: [animated ? 'translate(-0.625rem)' : '', theme.layout.gapQuarter, theme.palette.accents_7],
39
- children: `.avatar-group.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:auto;width:-webkit-max-content;width:-moz-max-content;width:max-content;}.avatar-group.__jsx-style-dynamic-selector .avatar{margin-left:-0.625rem;-webkit-transition:-webkit-transform 0.25s ease;-webkit-transition:transform 0.25s ease;transition:transform 0.25s ease;}.avatar-group.__jsx-style-dynamic-selector .avatar:hover{-webkit-transform:${animated ? 'translate(-0.625rem)' : ''};-ms-transform:${animated ? 'translate(-0.625rem)' : ''};transform:${animated ? 'translate(-0.625rem)' : ''};}.count.__jsx-style-dynamic-selector{font-size:0.875rem;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:${theme.layout.gapQuarter};color:${theme.palette.accents_7};}`
44
+ children: `.avatar-group.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:auto;width:-webkit-max-content;width:-moz-max-content;width:max-content;}.avatar-group.__jsx-style-dynamic-selector .avatar{margin-left:-0.625rem;-webkit-transition:-webkit-transform 0.25s ease;-webkit-transition:transform 0.25s ease;transition:transform 0.25s ease;}.avatar-group.__jsx-style-dynamic-selector .only-text-avatar{box-shadow:-4px 0 4px rgb(0 0 0 / 5%);}.is-dark.__jsx-style-dynamic-selector .only-text-avatar{box-shadow:-4px 0 15px rgb(0 0 0 / 50%);}.avatar-group.__jsx-style-dynamic-selector .avatar:hover{-webkit-transform:${animated ? 'translate(-0.625rem)' : ''};-ms-transform:${animated ? 'translate(-0.625rem)' : ''};transform:${animated ? 'translate(-0.625rem)' : ''};}.count.__jsx-style-dynamic-selector{font-size:0.875rem;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:${theme.layout.gapQuarter};color:${theme.palette.accents_7};}`
40
45
  })]
41
46
  });
42
47
  };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { NormalSizes, NormalColors, SimpleColors } from '../utils/prop-types';
2
+ import { NormalSizes, NormalColors, SimpleColors, NormalWeights } from '../utils/prop-types';
3
3
  import AvatarGroup from './avatar-group';
4
4
  interface Props {
5
5
  src?: string;
@@ -13,6 +13,7 @@ interface Props {
13
13
  alt?: string;
14
14
  text?: string;
15
15
  size?: NormalSizes | number;
16
+ borderWeight?: NormalWeights;
16
17
  squared?: boolean;
17
18
  className?: string;
18
19
  }
@@ -20,6 +21,7 @@ declare const defaultProps: {
20
21
  text: string;
21
22
  stacked: boolean;
22
23
  size: number | "mini" | "small" | "medium" | "large" | "xlarge";
24
+ borderWeight: "light" | "normal" | "bold";
23
25
  textColor: "default" | "primary" | "secondary" | "success" | "warning" | "error";
24
26
  squared: boolean;
25
27
  zoomed: boolean;
@@ -11,11 +11,11 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _useTheme = _interopRequireDefault(require("../use-theme"));
13
13
 
14
- var _useWarning = _interopRequireDefault(require("../use-warning"));
14
+ var _color = require("../utils/color");
15
15
 
16
- var _assertion = require("../utils/assertion");
16
+ var _clsx = _interopRequireDefault(require("../utils/clsx"));
17
17
 
18
- var _color = require("../utils/color");
18
+ var _dimensions = require("../utils/dimensions");
19
19
 
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
21
 
@@ -27,6 +27,7 @@ const defaultProps = {
27
27
  text: '',
28
28
  stacked: false,
29
29
  size: 'medium',
30
+ borderWeight: 'normal',
30
31
  textColor: 'default',
31
32
  squared: false,
32
33
  zoomed: false,
@@ -45,18 +46,6 @@ const getSize = size => {
45
46
  return sizes[size];
46
47
  };
47
48
 
48
- const getBorder = size => {
49
- const sizes = {
50
- mini: '1px',
51
- small: '1px',
52
- medium: '1.5px',
53
- large: '2px',
54
- xlarge: '2.5px'
55
- };
56
- if (typeof size === 'number') return `1.5px`;
57
- return sizes[size];
58
- };
59
-
60
49
  const safeText = text => {
61
50
  if (text.length <= 4) return text;
62
51
  return text.slice(0, 3);
@@ -67,6 +56,7 @@ const Avatar = ({
67
56
  stacked,
68
57
  text,
69
58
  size,
59
+ borderWeight,
70
60
  squared,
71
61
  zoomed,
72
62
  bordered,
@@ -84,7 +74,7 @@ const Avatar = ({
84
74
  const marginLeft = stacked ? '-.625rem' : 0;
85
75
  const [ready, setReady] = (0, _react.useState)(false);
86
76
  const width = (0, _react.useMemo)(() => getSize(size), [size]);
87
- const border = (0, _react.useMemo)(() => getBorder(size), [size]);
77
+ const border = (0, _react.useMemo)(() => (0, _dimensions.getNormalWeight)(borderWeight), [borderWeight]);
88
78
  const imgRef = (0, _react.useRef)(null);
89
79
  (0, _react.useEffect)(() => {
90
80
  var _imgRef$current;
@@ -93,32 +83,32 @@ const Avatar = ({
93
83
  }, []);
94
84
  const avatarColor = (0, _react.useMemo)(() => (0, _color.getNormalColor)(color, theme.palette, theme.palette.accents_2), [color, theme.palette]);
95
85
  const avatarTextColor = (0, _react.useMemo)(() => (0, _color.getNormalColor)(textColor, theme.palette, theme.palette.text), [textColor, theme.palette]);
96
- const hoverBackground = (0, _react.useMemo)(() => color === 'gradient' || !bordered ? avatarColor : (0, _color.addColorAlpha)(avatarColor, 0.8), [color, avatarColor, bordered]);
97
-
98
- if (_assertion.__DEV__ && color && !(0, _color.isNormalColor)(color) && !(0, _color.isColor)(color)) {
99
- (0, _useWarning.default)(`Props "color" ${color} is not a valid color.`, 'Avatar');
100
- }
101
-
86
+ const hoverBackground = (0, _react.useMemo)(() => color === 'gradient' || !bordered ? avatarColor : (0, _color.addColorAlpha)(avatarColor, 0.6), [color, avatarColor, bordered]);
102
87
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", { ...props,
103
- className: _style.default.dynamic([["556121610", [width, width, width, width, radius, pointer ? 'pointer' : 'auto', marginLeft, width, width, avatarColor, border, theme.palette.background, radius, border, theme.palette.background, width, avatarTextColor, hoverBackground, color === 'gradient' ? 'hue-rotate(40deg)' : 'none', zoomed && 'scale(1.125)']]]) + " " + (props && props.className != null && props.className || `avatar ${bordered ? 'bordered' : ''} ${className}`),
88
+ className: _style.default.dynamic([["3734005641", [width, width, width, width, radius, pointer ? 'pointer' : 'auto', marginLeft, width, width, avatarColor, border, theme.palette.background, radius, border, theme.palette.background, width, avatarTextColor, hoverBackground, color === 'gradient' ? 'opacity(0.6)' : 'none', zoomed && 'scale(1.125)']]]) + " " + (props && props.className != null && props.className || (0, _clsx.default)('avatar', {
89
+ bordered,
90
+ 'only-text-avatar': showText
91
+ }, className) || ""),
104
92
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
105
- className: _style.default.dynamic([["556121610", [width, width, width, width, radius, pointer ? 'pointer' : 'auto', marginLeft, width, width, avatarColor, border, theme.palette.background, radius, border, theme.palette.background, width, avatarTextColor, hoverBackground, color === 'gradient' ? 'hue-rotate(40deg)' : 'none', zoomed && 'scale(1.125)']]]) + " " + "avatar-bg"
93
+ className: _style.default.dynamic([["3734005641", [width, width, width, width, radius, pointer ? 'pointer' : 'auto', marginLeft, width, width, avatarColor, border, theme.palette.background, radius, border, theme.palette.background, width, avatarTextColor, hoverBackground, color === 'gradient' ? 'opacity(0.6)' : 'none', zoomed && 'scale(1.125)']]]) + " " + "avatar-bg"
106
94
  }), !showText && /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
107
95
  ref: imgRef,
108
96
  src: src,
109
97
  alt: alt,
110
98
  onLoad: () => setReady(true),
111
- className: _style.default.dynamic([["556121610", [width, width, width, width, radius, pointer ? 'pointer' : 'auto', marginLeft, width, width, avatarColor, border, theme.palette.background, radius, border, theme.palette.background, width, avatarTextColor, hoverBackground, color === 'gradient' ? 'hue-rotate(40deg)' : 'none', zoomed && 'scale(1.125)']]]) + " " + `avatar-img ${ready ? 'avatar-ready' : ''}`
99
+ className: _style.default.dynamic([["3734005641", [width, width, width, width, radius, pointer ? 'pointer' : 'auto', marginLeft, width, width, avatarColor, border, theme.palette.background, radius, border, theme.palette.background, width, avatarTextColor, hoverBackground, color === 'gradient' ? 'opacity(0.6)' : 'none', zoomed && 'scale(1.125)']]]) + " " + ((0, _clsx.default)('avatar-img', {
100
+ 'avatar-ready': ready
101
+ }) || "")
112
102
  }), showText && !icon && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
113
- className: _style.default.dynamic([["556121610", [width, width, width, width, radius, pointer ? 'pointer' : 'auto', marginLeft, width, width, avatarColor, border, theme.palette.background, radius, border, theme.palette.background, width, avatarTextColor, hoverBackground, color === 'gradient' ? 'hue-rotate(40deg)' : 'none', zoomed && 'scale(1.125)']]]) + " " + "avatar-text",
103
+ className: _style.default.dynamic([["3734005641", [width, width, width, width, radius, pointer ? 'pointer' : 'auto', marginLeft, width, width, avatarColor, border, theme.palette.background, radius, border, theme.palette.background, width, avatarTextColor, hoverBackground, color === 'gradient' ? 'opacity(0.6)' : 'none', zoomed && 'scale(1.125)']]]) + " " + "avatar-text",
114
104
  children: safeText(text)
115
105
  }), icon && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
116
- className: _style.default.dynamic([["556121610", [width, width, width, width, radius, pointer ? 'pointer' : 'auto', marginLeft, width, width, avatarColor, border, theme.palette.background, radius, border, theme.palette.background, width, avatarTextColor, hoverBackground, color === 'gradient' ? 'hue-rotate(40deg)' : 'none', zoomed && 'scale(1.125)']]]) + " " + "icon",
106
+ className: _style.default.dynamic([["3734005641", [width, width, width, width, radius, pointer ? 'pointer' : 'auto', marginLeft, width, width, avatarColor, border, theme.palette.background, radius, border, theme.palette.background, width, avatarTextColor, hoverBackground, color === 'gradient' ? 'opacity(0.6)' : 'none', zoomed && 'scale(1.125)']]]) + " " + "icon",
117
107
  children: icon
118
108
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_style.default, {
119
- id: "556121610",
120
- dynamic: [width, width, width, width, radius, pointer ? 'pointer' : 'auto', marginLeft, width, width, avatarColor, border, theme.palette.background, radius, border, theme.palette.background, width, avatarTextColor, hoverBackground, color === 'gradient' ? 'hue-rotate(40deg)' : 'none', zoomed && 'scale(1.125)'],
121
- children: `.avatar.__jsx-style-dynamic-selector{position:relative;z-index:1;min-width:${width};min-height:${width};width:${width};height:${width};display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;box-sizing:border-box;position:relative;overflow:hidden;border-radius:${radius};vertical-align:top;cursor:${pointer ? 'pointer' : 'auto'};margin:0 0 0 ${marginLeft};-webkit-transition:all 0.25s ease;transition:all 0.25s ease;}.avatar-bg.__jsx-style-dynamic-selector{position:absolute;top:0;left:0;right:0;bottom:0;width:${width};height:${width};background:${avatarColor};-webkit-transition:all 0.25s ease;transition:all 0.25s ease;}.avatar.bordered.__jsx-style-dynamic-selector{padding:${border};}.avatar.__jsx-style-dynamic-selector:first-child{margin:0;}.avatar-img.__jsx-style-dynamic-selector{z-index:99;opacity:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:50%;background:${theme.palette.background};border-radius:${radius};-webkit-transition:-webkit-transform 250ms ease 0ms,opacity 200ms ease-in 0ms;-webkit-transition:transform 250ms ease 0ms,opacity 200ms ease-in 0ms;transition:transform 250ms ease 0ms,opacity 200ms ease-in 0ms;}.avatar-ready.__jsx-style-dynamic-selector{opacity:1;}.bordered.__jsx-style-dynamic-selector .avatar-img.__jsx-style-dynamic-selector{border:${border} solid ${theme.palette.background};}.avatar-text.__jsx-style-dynamic-selector{position:absolute;left:50%;top:50%;font-size:calc(0.8em + ${width} * 0.1);text-align:center;color:${avatarTextColor};-webkit-transform:translate(-50%,-50%) scale(0.65);-ms-transform:translate(-50%,-50%) scale(0.65);transform:translate(-50%,-50%) scale(0.65);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.icon.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;left:50%;top:50%;text-align:center;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.bordered.__jsx-style-dynamic-selector:hover .avatar-bg.__jsx-style-dynamic-selector{background:${hoverBackground};-webkit-filter:${color === 'gradient' ? 'hue-rotate(40deg)' : 'none'};filter:${color === 'gradient' ? 'hue-rotate(40deg)' : 'none'};}.avatar.__jsx-style-dynamic-selector:hover .avatar-img.__jsx-style-dynamic-selector{-webkit-transform:${zoomed && 'scale(1.125)'};-ms-transform:${zoomed && 'scale(1.125)'};transform:${zoomed && 'scale(1.125)'};}.avatar.__jsx-style-dynamic-selector:hover .avatar-bg.__jsx-style-dynamic-selector{box-shadow:inset 0 0 40px 0 rgb(0 0 0 / 14%);}`
109
+ id: "3734005641",
110
+ dynamic: [width, width, width, width, radius, pointer ? 'pointer' : 'auto', marginLeft, width, width, avatarColor, border, theme.palette.background, radius, border, theme.palette.background, width, avatarTextColor, hoverBackground, color === 'gradient' ? 'opacity(0.6)' : 'none', zoomed && 'scale(1.125)'],
111
+ children: `.avatar.__jsx-style-dynamic-selector{position:relative;z-index:1;min-width:${width};min-height:${width};width:${width};height:${width};display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;box-sizing:border-box;position:relative;overflow:hidden;border-radius:${radius};vertical-align:top;cursor:${pointer ? 'pointer' : 'auto'};margin:0 0 0 ${marginLeft};-webkit-transition:all 0.25s ease;transition:all 0.25s ease;}.avatar-bg.__jsx-style-dynamic-selector{position:absolute;top:0;left:0;right:0;bottom:0;width:${width};height:${width};background:${avatarColor};-webkit-transition:all 0.25s ease;transition:all 0.25s ease;}.avatar.bordered.__jsx-style-dynamic-selector{padding:${border};}.avatar.__jsx-style-dynamic-selector:first-child{margin:0;}.avatar-img.__jsx-style-dynamic-selector{z-index:99;opacity:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:50%;background:${theme.palette.background};border-radius:${radius};-webkit-transition:-webkit-transform 250ms ease 0ms,opacity 200ms ease-in 0ms;-webkit-transition:transform 250ms ease 0ms,opacity 200ms ease-in 0ms;transition:transform 250ms ease 0ms,opacity 200ms ease-in 0ms;}.avatar-ready.__jsx-style-dynamic-selector{opacity:1;}.bordered.__jsx-style-dynamic-selector .avatar-img.__jsx-style-dynamic-selector{border:${border} solid ${theme.palette.background};}.avatar-text.__jsx-style-dynamic-selector{position:absolute;left:50%;top:50%;font-size:calc(0.8em + ${width} * 0.1);text-align:center;color:${avatarTextColor};-webkit-transform:translate(-50%,-50%) scale(0.65);-ms-transform:translate(-50%,-50%) scale(0.65);transform:translate(-50%,-50%) scale(0.65);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.icon.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;left:50%;top:50%;text-align:center;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.bordered.__jsx-style-dynamic-selector:hover .avatar-bg.__jsx-style-dynamic-selector{background:${hoverBackground};-webkit-filter:${color === 'gradient' ? 'opacity(0.6)' : 'none'};filter:${color === 'gradient' ? 'opacity(0.6)' : 'none'};}.avatar.__jsx-style-dynamic-selector:hover .avatar-img.__jsx-style-dynamic-selector{-webkit-transform:${zoomed && 'scale(1.125)'};-ms-transform:${zoomed && 'scale(1.125)'};transform:${zoomed && 'scale(1.125)'};}.avatar.__jsx-style-dynamic-selector:hover .avatar-bg.__jsx-style-dynamic-selector{box-shadow:inset 0 0 40px 0 rgb(0 0 0 / 14%);}`
122
112
  })]
123
113
  });
124
114
  };
@@ -4,12 +4,14 @@ interface Props {
4
4
  visible?: boolean;
5
5
  fullScreenContent?: boolean;
6
6
  width?: string;
7
+ animated?: boolean;
7
8
  blur?: boolean;
8
9
  }
9
10
  declare const defaultProps: {
10
11
  onClick: () => void;
11
12
  visible: boolean;
12
13
  blur: boolean;
14
+ animated: boolean;
13
15
  fullScreenContent: boolean;
14
16
  };
15
17
  declare type NativeAttrs = Omit<React.HTMLAttributes<unknown>, keyof Props>;
@@ -18,6 +20,7 @@ declare const _default: React.ComponentType<Partial<{
18
20
  onClick: () => void;
19
21
  visible: boolean;
20
22
  blur: boolean;
23
+ animated: boolean;
21
24
  fullScreenContent: boolean;
22
- }> & Omit<React.PropsWithChildren<BackdropProps>, "blur" | "onClick" | "visible" | "fullScreenContent">>;
25
+ }> & Omit<React.PropsWithChildren<BackdropProps>, "blur" | "animated" | "onClick" | "visible" | "fullScreenContent">>;
23
26
  export default _default;
@@ -31,6 +31,7 @@ const defaultProps = {
31
31
  onClick: () => {},
32
32
  visible: false,
33
33
  blur: false,
34
+ animated: true,
34
35
  fullScreenContent: false
35
36
  };
36
37
 
@@ -40,6 +41,7 @@ const Backdrop = /*#__PURE__*/_react.default.memo(({
40
41
  visible,
41
42
  width,
42
43
  blur,
44
+ animated,
43
45
  fullScreenContent,
44
46
  ...props
45
47
  }) => {
@@ -63,13 +65,8 @@ const Backdrop = /*#__PURE__*/_react.default.memo(({
63
65
  }, 0);
64
66
  };
65
67
 
66
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_cssTransition.default, {
67
- name: "backdrop-wrapper",
68
- visible: visible,
69
- enterTime: 20,
70
- leaveTime: 20,
71
- clearTime: 150,
72
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
68
+ const renderChildren = (0, _react.useMemo)(() => {
69
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
73
70
  onClick: clickHandler,
74
71
  onMouseUp: mouseUpHandler,
75
72
  ...props,
@@ -88,7 +85,17 @@ const Backdrop = /*#__PURE__*/_react.default.memo(({
88
85
  dynamic: [width, theme.expressiveness.portalOpacity, theme.expressiveness.portalOpacity, theme.expressiveness.portalOpacity, theme.breakpoints.sm.max],
89
86
  children: `.backdrop.__jsx-style-dynamic-selector{position:fixed;top:0;left:0;right:0;bottom:0;overflow:auto;z-index:99999;-webkit-overflow-scrolling:touch;box-sizing:border-box;text-align:center;}.content.__jsx-style-dynamic-selector{position:relative;z-index:999999;outline:none;width:100%;max-width:${width};margin:20px auto;vertical-align:middle;display:inline-block;}.fullscreen.__jsx-style-dynamic-selector .content.__jsx-style-dynamic-selector{width:100vw;max-width:100vw;height:100vh;margin:0;}.backdrop.__jsx-style-dynamic-selector:before{display:inline-block;width:0;height:100%;vertical-align:middle;content:'';}.layer.__jsx-style-dynamic-selector{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none;z-index:99999;}.layer-default.__jsx-style-dynamic-selector{background-color:black;opacity:${theme.expressiveness.portalOpacity};-webkit-transition:opacity 0.35s cubic-bezier(0.4,0,0.2,1);transition:opacity 0.35s cubic-bezier(0.4,0,0.2,1);}.layer-blur.__jsx-style-dynamic-selector{opacity:1;-webkit-transition:background 0.35s cubic-bezier(0.4,0,0.2,1);transition:background 0.35s cubic-bezier(0.4,0,0.2,1);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);background-color:rgba(0,0,0,0.1);}.fullscreen.__jsx-style-dynamic-selector .layer.__jsx-style-dynamic-selector{display:none;}.backdrop-wrapper-enter.__jsx-style-dynamic-selector .layer-default.__jsx-style-dynamic-selector{opacity:0;}.backdrop-wrapper-enter-active.__jsx-style-dynamic-selector .layer-default.__jsx-style-dynamic-selector{opacity:${theme.expressiveness.portalOpacity};}.backdrop-wrapper-leave.__jsx-style-dynamic-selector .layer-default.__jsx-style-dynamic-selector{opacity:${theme.expressiveness.portalOpacity};}.backdrop-wrapper-leave-active.__jsx-style-dynamic-selector .layer-default.__jsx-style-dynamic-selector{opacity:0;}.backdrop-wrapper-enter.__jsx-style-dynamic-selector .layer-blur.__jsx-style-dynamic-selector{background-color:rgba(0,0,0,0.1);}.backdrop-wrapper-enter-active.__jsx-style-dynamic-selector .layer-blur.__jsx-style-dynamic-selector{background-color:rgba(0,0,0,0.4);}.backdrop-wrapper-leave.__jsx-style-dynamic-selector .layer-blur.__jsx-style-dynamic-selector{background-color:rgba(0,0,0,0.4);}.backdrop-wrapper-leave-active.__jsx-style-dynamic-selector .layer-blur.__jsx-style-dynamic-selector{background-color:rgba(0,0,0,0.1);}@media only screen and (max-width:${theme.breakpoints.sm.max}){.content.__jsx-style-dynamic-selector{width:90%;}}`
90
87
  })]
91
- })
88
+ });
89
+ }, [children]);
90
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
91
+ children: animated ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_cssTransition.default, {
92
+ name: "backdrop-wrapper",
93
+ visible: visible,
94
+ enterTime: 20,
95
+ leaveTime: 20,
96
+ clearTime: 150,
97
+ children: renderChildren
98
+ }) : visible ? renderChildren : null
92
99
  });
93
100
  });
94
101
 
@@ -49,5 +49,5 @@ declare const _default: React.ComponentType<Partial<{
49
49
  size: "mini" | "small" | "medium" | "large" | "xlarge";
50
50
  color: "default" | "primary" | "secondary" | "success" | "warning" | "error" | "gradient";
51
51
  className: string;
52
- }> & Omit<ButtonGroupProps, "light" | "rounded" | "className" | "animated" | "color" | "vertical" | "bordered" | "size" | "auto" | "flat" | "disabled" | "shadow" | "ghost" | "borderWeight">>;
52
+ }> & Omit<ButtonGroupProps, "light" | "rounded" | "className" | "animated" | "color" | "vertical" | "bordered" | "size" | "borderWeight" | "auto" | "flat" | "disabled" | "shadow" | "ghost">>;
53
53
  export default _default;
@@ -13,7 +13,7 @@ var _useWarning = _interopRequireDefault(require("../use-warning"));
13
13
 
14
14
  var _useTheme = _interopRequireDefault(require("../use-theme"));
15
15
 
16
- var _button = _interopRequireDefault(require("./button.drip"));
16
+ var _drip = _interopRequireDefault(require("../utils/drip"));
17
17
 
18
18
  var _buttonLoading = _interopRequireDefault(require("./button-loading"));
19
19
 
@@ -29,6 +29,8 @@ var _dimensions = require("../utils/dimensions");
29
29
 
30
30
  var _assertion = require("../utils/assertion");
31
31
 
32
+ var _useDrip = _interopRequireDefault(require("../use-drip"));
33
+
32
34
  var _jsxRuntime = require("react/jsx-runtime");
33
35
 
34
36
  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); }
@@ -61,9 +63,6 @@ const Button = /*#__PURE__*/_react.default.forwardRef(({ ...btnProps
61
63
  const theme = (0, _useTheme.default)();
62
64
  const buttonRef = (0, _react.useRef)(null);
63
65
  (0, _react.useImperativeHandle)(ref, () => buttonRef.current);
64
- const [dripShow, setDripShow] = (0, _react.useState)(false);
65
- const [dripX, setDripX] = (0, _react.useState)(0);
66
- const [dripY, setDripY] = (0, _react.useState)(0);
67
66
  const groupConfig = (0, _buttonGroupContext.useButtonGroupContext)();
68
67
  const filteredProps = (0, _utils.filterPropsWithGroup)(btnProps, groupConfig);
69
68
  /* eslint-disable @typescript-eslint/no-unused-vars */
@@ -121,24 +120,19 @@ const Button = /*#__PURE__*/_react.default.forwardRef(({ ...btnProps
121
120
  loaderSize
122
121
  } = (0, _react.useMemo)(() => (0, _styles.getButtonSize)(size, auto), [size, auto]);
123
122
  const dripColor = (0, _react.useMemo)(() => (0, _styles.getButtonDripColor)(theme.palette, filteredProps), [theme.palette, filteredProps]);
123
+ const {
124
+ onClick: onDripClickHandler,
125
+ ...dripBindings
126
+ } = (0, _useDrip.default)(false, buttonRef);
124
127
  const paddingForAutoMode = (0, _react.useMemo)(() => auto || size === 'mini' ? `calc(var(--next-ui-button-height) / 2 + var(--next-ui-button-padding) * .5)` : 0, [auto, size]);
125
128
  const hoverBeforeOpacity = (0, _react.useMemo)(() => filteredProps.color === 'gradient' && ghost ? 1 : 0, [ghost, filteredProps]);
126
129
  const paddingForBorderedGradient = (0, _react.useMemo)(() => filteredProps.color === 'gradient' && (bordered || ghost) ? `var(--next-ui-button-padding)` : 0, [filteredProps.color, bordered]);
127
130
 
128
- const dripCompletedHandle = () => {
129
- setDripShow(false);
130
- setDripX(0);
131
- setDripY(0);
132
- };
133
-
134
131
  const clickHandler = event => {
135
132
  if (disabled || loading) return;
136
133
 
137
134
  if (animated && buttonRef.current) {
138
- const rect = buttonRef.current.getBoundingClientRect();
139
- setDripShow(true);
140
- setDripX(event.clientX - rect.left);
141
- setDripY(event.clientY - rect.top);
135
+ onDripClickHandler(event);
142
136
  }
143
137
 
144
138
  onClick && onClick(event);
@@ -177,11 +171,9 @@ const Button = /*#__PURE__*/_react.default.forwardRef(({ ...btnProps
177
171
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
178
172
  className: _style.default.dynamic([["3651782765", [bg, padding, height, height, minWidth, width, radius, (border == null ? void 0 : border.width) || '2px', (border == null ? void 0 : border.display) || 'none', (border == null ? void 0 : border.color) || 'transparent', fontSize, color, cursor, events, shadowColor, radius, padding, height, color, bg, hover == null ? void 0 : hover.bg, radius, hoverBeforeOpacity, animated ? 'scale(0.97)' : 'none', (hover == null ? void 0 : hover.bg) || 'inherit', hover == null ? void 0 : hover.color, (hover == null ? void 0 : (_hover$style = hover.style) == null ? void 0 : _hover$style.filter) || 'none', hover == null ? void 0 : hover.color, (hover == null ? void 0 : (_hover$border = hover.border) == null ? void 0 : _hover$border.color) || 'transparent', hover == null ? void 0 : (_hover$border2 = hover.border) == null ? void 0 : _hover$border2.width, hover == null ? void 0 : hover.padding, cursor, events, bordered || ghost ? (border == null ? void 0 : border.width) || '2px' : '0', paddingForBorderedGradient, loading ? 0 : 1, paddingForAutoMode, paddingForAutoMode]]]) + " " + "text",
179
173
  children: children
180
- }), dripShow && /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.default, {
181
- x: dripX,
182
- y: dripY,
174
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_drip.default, {
183
175
  color: dripColor,
184
- onCompleted: dripCompletedHandle
176
+ ...dripBindings
185
177
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_style.default, {
186
178
  id: "3651782765",
187
179
  dynamic: [bg, padding, height, height, minWidth, width, radius, (border == null ? void 0 : border.width) || '2px', (border == null ? void 0 : border.display) || 'none', (border == null ? void 0 : border.color) || 'transparent', fontSize, color, cursor, events, shadowColor, radius, padding, height, color, bg, hover == null ? void 0 : hover.bg, radius, hoverBeforeOpacity, animated ? 'scale(0.97)' : 'none', (hover == null ? void 0 : hover.bg) || 'inherit', hover == null ? void 0 : hover.color, (hover == null ? void 0 : (_hover$style = hover.style) == null ? void 0 : _hover$style.filter) || 'none', hover == null ? void 0 : hover.color, (hover == null ? void 0 : (_hover$border = hover.border) == null ? void 0 : _hover$border.color) || 'transparent', hover == null ? void 0 : (_hover$border2 = hover.border) == null ? void 0 : _hover$border2.width, hover == null ? void 0 : hover.padding, cursor, events, bordered || ghost ? (border == null ? void 0 : border.width) || '2px' : '0', paddingForBorderedGradient, loading ? 0 : 1, paddingForAutoMode, paddingForAutoMode],
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { AlignContent, AlignItems, Justify, Direction } from '../utils/prop-types';
3
+ interface Props {
4
+ justify?: Justify;
5
+ direction?: Direction;
6
+ alignItems?: AlignItems;
7
+ alignContent?: AlignContent;
8
+ noPadding?: boolean;
9
+ width?: string;
10
+ height?: string;
11
+ className?: string;
12
+ }
13
+ declare const defaultProps: {
14
+ width: string;
15
+ height: string;
16
+ justify: string;
17
+ alignItems: string;
18
+ alignContent: string;
19
+ direction: string;
20
+ noPadding: boolean;
21
+ className: string;
22
+ };
23
+ declare type NativeAttrs = Omit<React.HTMLAttributes<unknown>, keyof Props>;
24
+ export declare type CardBodyProps = Props & typeof defaultProps & NativeAttrs;
25
+ declare const _default: React.ComponentType<Partial<{
26
+ width: string;
27
+ height: string;
28
+ justify: string;
29
+ alignItems: string;
30
+ alignContent: string;
31
+ direction: string;
32
+ noPadding: boolean;
33
+ className: string;
34
+ }> & Omit<CardBodyProps, "width" | "height" | "className" | "justify" | "direction" | "alignItems" | "alignContent" | "noPadding">>;
35
+ export default _default;
@@ -0,0 +1,73 @@
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 _useTheme = _interopRequireDefault(require("../use-theme"));
13
+
14
+ var _cardContext = require("./card-context");
15
+
16
+ var _clsx = _interopRequireDefault(require("../utils/clsx"));
17
+
18
+ var _withDefaults = _interopRequireDefault(require("../utils/with-defaults"));
19
+
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+
22
+ 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); }
23
+
24
+ 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; }
25
+
26
+ const defaultProps = {
27
+ width: '100%',
28
+ height: 'auto',
29
+ justify: 'inherit',
30
+ alignItems: 'inherit',
31
+ alignContent: 'inherit',
32
+ direction: 'column',
33
+ noPadding: false,
34
+ className: ''
35
+ };
36
+
37
+ const CardBody = ({
38
+ className,
39
+ justify,
40
+ alignContent,
41
+ alignItems,
42
+ noPadding: noPaddingProp,
43
+ direction,
44
+ width,
45
+ height,
46
+ children,
47
+ ...props
48
+ }) => {
49
+ const theme = (0, _useTheme.default)();
50
+ const {
51
+ noPadding: noPaddingContext
52
+ } = (0, _react.useContext)(_cardContext.CardContext);
53
+ const noPadding = (0, _react.useMemo)(() => {
54
+ return noPaddingContext !== undefined ? noPaddingContext : noPaddingProp;
55
+ }, [noPaddingProp, noPaddingContext]);
56
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { ...props,
57
+ className: _style.default.dynamic([["3689227210", [width, height, direction, justify, alignItems, alignContent, theme.layout.gapHalf, theme.layout.gap]]]) + " " + (props && props.className != null && props.className || (0, _clsx.default)('card-body', {
58
+ 'no-padding': noPadding
59
+ }, className) || ""),
60
+ children: [children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_style.default, {
61
+ id: "3689227210",
62
+ dynamic: [width, height, direction, justify, alignItems, alignContent, theme.layout.gapHalf, theme.layout.gap],
63
+ children: `.card-body.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;width:${width};height:${height};-webkit-flex-direction:${direction};-ms-flex-direction:${direction};flex-direction:${direction};-webkit-box-pack:${justify};-webkit-justify-content:${justify};-ms-flex-pack:${justify};justify-content:${justify};-webkit-align-items:${alignItems};-webkit-box-align:${alignItems};-ms-flex-align:${alignItems};align-items:${alignItems};-webkit-align-content:${alignContent};-ms-flex-line-pack:${alignContent};align-content:${alignContent};padding:${theme.layout.gapHalf} calc(${theme.layout.gap} + 0.25rem);overflow-y:auto;position:relative;text-align:left;}.card-body.no-padding.__jsx-style-dynamic-selector{padding:0;}.card-body.__jsx-style-dynamic-selector>*:first-child{margin-top:0;}.card-body.__jsx-style-dynamic-selector>*:last-child{margin-bottom:0;}`
64
+ })]
65
+ });
66
+ };
67
+
68
+ const MemoCardBody = /*#__PURE__*/_react.default.memo(CardBody);
69
+
70
+ var _default = (0, _withDefaults.default)(MemoCardBody, defaultProps);
71
+
72
+ exports.default = _default;
73
+ module.exports = exports.default;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export interface CardConfig {
3
+ autoMargin?: boolean;
4
+ noPadding?: boolean;
5
+ background?: string;
6
+ }
7
+ export declare const CardContext: React.Context<CardConfig>;
8
+ export declare const useCardContext: () => CardConfig;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.useCardContext = exports.CardContext = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ const defaultContext = {
11
+ noPadding: undefined
12
+ };
13
+
14
+ const CardContext = /*#__PURE__*/_react.default.createContext(defaultContext);
15
+
16
+ exports.CardContext = CardContext;
17
+
18
+ const useCardContext = () => _react.default.useContext(CardContext);
19
+
20
+ exports.useCardContext = useCardContext;
@@ -1,16 +1,37 @@
1
1
  import React from 'react';
2
+ import { NormalColors, NormalWeights, SimpleColors } from '../utils/prop-types';
2
3
  interface Props {
3
- disableAutoMargin?: boolean;
4
+ blur?: boolean;
5
+ autoMargin?: boolean;
6
+ border?: boolean;
4
7
  className?: string;
8
+ width?: string;
9
+ height?: string;
10
+ color?: NormalColors | string;
11
+ borderColor?: SimpleColors | string;
12
+ borderWeight?: NormalWeights;
13
+ noPadding?: boolean;
5
14
  }
6
15
  declare const defaultProps: {
7
- disableAutoMargin: boolean;
16
+ autoMargin: boolean;
17
+ blur: boolean;
18
+ border: boolean;
19
+ width: string;
20
+ height: string;
21
+ noPadding: boolean;
22
+ borderWeight: "light" | "normal" | "bold";
8
23
  className: string;
9
24
  };
10
25
  declare type NativeAttrs = Omit<React.HTMLAttributes<unknown>, keyof Props>;
11
26
  export declare type CardFooterProps = Props & typeof defaultProps & NativeAttrs;
12
27
  declare const _default: React.ComponentType<Partial<{
13
- disableAutoMargin: boolean;
28
+ autoMargin: boolean;
29
+ blur: boolean;
30
+ border: boolean;
31
+ width: string;
32
+ height: string;
33
+ noPadding: boolean;
34
+ borderWeight: "light" | "normal" | "bold";
14
35
  className: string;
15
- }> & Omit<CardFooterProps, "className" | "disableAutoMargin">>;
36
+ }> & Omit<CardFooterProps, "width" | "height" | "blur" | "className" | "borderWeight" | "border" | "autoMargin" | "noPadding">>;
16
37
  export default _default;
@@ -7,32 +7,80 @@ exports.default = void 0;
7
7
 
8
8
  var _style = _interopRequireDefault(require("styled-jsx/style"));
9
9
 
10
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _useTheme = _interopRequireDefault(require("../use-theme"));
13
13
 
14
14
  var _withDefaults = _interopRequireDefault(require("../utils/with-defaults"));
15
15
 
16
+ var _clsx = _interopRequireDefault(require("../utils/clsx"));
17
+
18
+ var _cardContext = require("./card-context");
19
+
20
+ var _color = require("../utils/color");
21
+
22
+ var _dimensions = require("../utils/dimensions");
23
+
16
24
  var _jsxRuntime = require("react/jsx-runtime");
17
25
 
26
+ 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); }
27
+
28
+ 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; }
29
+
18
30
  const defaultProps = {
19
- disableAutoMargin: false,
31
+ autoMargin: false,
32
+ blur: false,
33
+ border: false,
34
+ width: '100%',
35
+ height: 'auto',
36
+ noPadding: false,
37
+ borderWeight: 'light',
20
38
  className: ''
21
39
  };
22
40
 
23
41
  const CardFooter = ({
24
42
  children,
43
+ blur,
25
44
  className,
26
- disableAutoMargin,
45
+ color,
46
+ width,
47
+ height,
48
+ border: borderProp,
49
+ borderColor,
50
+ borderWeight,
51
+ noPadding,
52
+ autoMargin: autoMarginProp,
27
53
  ...props
28
54
  }) => {
29
55
  const theme = (0, _useTheme.default)();
30
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("footer", { ...props,
31
- className: _style.default.dynamic([["3326643427", [theme.layout.gapHalf, theme.layout.gap, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.layout.gap, theme.layout.gapQuarter]]]) + " " + (props && props.className != null && props.className || `${disableAutoMargin ? '' : 'auto-margin'} ${className}`),
56
+ const {
57
+ background,
58
+ autoMargin: autoMarginContext
59
+ } = (0, _react.useContext)(_cardContext.CardContext);
60
+ const autoMargin = (0, _react.useMemo)(() => {
61
+ return autoMarginContext !== undefined ? autoMarginContext : autoMarginProp;
62
+ }, [autoMarginProp, autoMarginContext]);
63
+ const bgColor = (0, _react.useMemo)(() => {
64
+ if (color) {
65
+ return (0, _color.getNormalColor)(color, theme.palette);
66
+ }
67
+
68
+ return background || theme.palette.background;
69
+ }, [color, theme.palette, background]);
70
+ const border = (0, _react.useMemo)(() => {
71
+ if (!borderProp) return 'none';
72
+ return `${(0, _dimensions.getNormalWeight)(borderWeight)} solid ${(0, _color.getNormalColor)(borderColor, theme.palette, theme.palette.border)}`;
73
+ }, [borderWeight, theme.palette, borderColor, borderProp]);
74
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { ...props,
75
+ className: _style.default.dynamic([["135585066", [width, height, theme.layout.gapHalf, theme.layout.gap, bgColor, border, theme.layout.radius, theme.layout.radius, (0, _color.addColorAlpha)(bgColor, 0.4), theme.layout.gapQuarter]]]) + " " + (props && props.className != null && props.className || (0, _clsx.default)('card-footer', {
76
+ 'auto-margin': autoMargin,
77
+ blur,
78
+ 'no-padding': noPadding
79
+ }, className) || ""),
32
80
  children: [children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_style.default, {
33
- id: "3326643427",
34
- dynamic: [theme.layout.gapHalf, theme.layout.gap, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.layout.gap, theme.layout.gapQuarter],
35
- children: `footer.__jsx-style-dynamic-selector{padding:${theme.layout.gapHalf} ${theme.layout.gap};display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden;color:inherit;background-color:inherit;font-size:0.875rem;border-top:1px solid ${theme.palette.border};border-bottom-left-radius:${theme.layout.radius};border-bottom-right-radius:${theme.layout.radius};min-height:calc(2.5 * ${theme.layout.gap});}.auto-margin.__jsx-style-dynamic-selector *{margin-top:0;margin-bottom:0;margin-right:${theme.layout.gapQuarter};}`
81
+ id: "135585066",
82
+ dynamic: [width, height, theme.layout.gapHalf, theme.layout.gap, bgColor, border, theme.layout.radius, theme.layout.radius, (0, _color.addColorAlpha)(bgColor, 0.4), theme.layout.gapQuarter],
83
+ children: `.card-footer.__jsx-style-dynamic-selector{width:${width};height:${height};padding:${theme.layout.gapHalf} ${theme.layout.gap};display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden;color:inherit;background-color:${bgColor};font-size:0.875rem;border-top:${border};border-bottom-left-radius:${theme.layout.radius};border-bottom-right-radius:${theme.layout.radius};}.card-footer.blur.__jsx-style-dynamic-selector{-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);background:${(0, _color.addColorAlpha)(bgColor, 0.4)};}.card-footer.no-padding.__jsx-style-dynamic-selector{padding:0;}.auto-margin.__jsx-style-dynamic-selector *{margin-top:0;margin-bottom:0;margin-right:${theme.layout.gapQuarter};}`
36
84
  })]
37
85
  });
38
86
  };