@nextui-org/react 1.0.1-alpha.52 → 1.0.1-alpha.56

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 (153) hide show
  1. package/cjs/button/button.js +10 -18
  2. package/cjs/card/card-body.d.ts +35 -0
  3. package/cjs/card/card-body.js +73 -0
  4. package/cjs/card/card-context.d.ts +8 -0
  5. package/cjs/card/card-context.js +20 -0
  6. package/cjs/card/card-footer.d.ts +25 -4
  7. package/cjs/card/card-footer.js +56 -8
  8. package/cjs/card/card-header.d.ts +23 -0
  9. package/cjs/card/card-header.js +54 -0
  10. package/cjs/card/card.d.ts +25 -12
  11. package/cjs/card/card.js +99 -36
  12. package/cjs/card/index.js +8 -4
  13. package/cjs/card/styles.d.ts +7 -8
  14. package/cjs/card/styles.js +30 -60
  15. package/cjs/collapse/collapse-context.d.ts +9 -0
  16. package/cjs/collapse/collapse-context.js +20 -0
  17. package/cjs/collapse/collapse-group.d.ts +32 -0
  18. package/cjs/collapse/collapse-group.js +111 -0
  19. package/cjs/collapse/collapse-icon.d.ts +3 -0
  20. package/cjs/collapse/collapse-icon.js +39 -0
  21. package/cjs/collapse/collapse.d.ts +39 -0
  22. package/cjs/collapse/collapse.js +174 -0
  23. package/cjs/collapse/index.d.ts +2 -0
  24. package/cjs/collapse/index.js +15 -0
  25. package/cjs/css-baseline/css-baseline.js +3 -3
  26. package/cjs/divider/divider.d.ts +8 -9
  27. package/cjs/divider/divider.js +9 -9
  28. package/cjs/image/image.d.ts +9 -8
  29. package/cjs/image/image.js +27 -17
  30. package/cjs/index.d.ts +2 -0
  31. package/cjs/index.js +11 -1
  32. package/cjs/input/input-icon-clear.js +1 -1
  33. package/cjs/modal/modal-close-button.js +1 -1
  34. package/cjs/progress/index.d.ts +2 -0
  35. package/cjs/progress/index.js +12 -0
  36. package/cjs/progress/progress.d.ts +60 -0
  37. package/cjs/progress/progress.js +117 -0
  38. package/cjs/progress/styles.d.ts +8 -0
  39. package/cjs/progress/styles.js +47 -0
  40. package/cjs/radio/radio.js +3 -4
  41. package/cjs/text/child.d.ts +3 -5
  42. package/cjs/text/child.js +10 -7
  43. package/cjs/text/text.d.ts +5 -5
  44. package/cjs/text/text.js +7 -7
  45. package/cjs/theme/dark.js +2 -1
  46. package/cjs/theme/default.js +2 -1
  47. package/cjs/tooltip/placement.d.ts +29 -0
  48. package/cjs/tooltip/{position.js → placement.js} +11 -11
  49. package/cjs/tooltip/tooltip-content.d.ts +2 -2
  50. package/cjs/tooltip/tooltip-content.js +5 -5
  51. package/cjs/tooltip/tooltip.d.ts +5 -5
  52. package/cjs/tooltip/tooltip.js +3 -3
  53. package/cjs/use-drip/index.d.ts +2 -0
  54. package/cjs/use-drip/index.js +12 -0
  55. package/cjs/use-drip/use-drip.d.ts +9 -0
  56. package/cjs/use-drip/use-drip.js +38 -0
  57. package/cjs/{shared → utils}/clear-icon.d.ts +0 -0
  58. package/cjs/{shared → utils}/clear-icon.js +1 -1
  59. package/cjs/utils/collections.d.ts +1 -0
  60. package/cjs/utils/collections.js +26 -2
  61. package/cjs/utils/css-transition.js +1 -1
  62. package/cjs/{button/button.drip.d.ts → utils/drip.d.ts} +6 -2
  63. package/cjs/{button/button.drip.js → utils/drip.js} +13 -10
  64. package/cjs/utils/expand.d.ts +18 -0
  65. package/cjs/utils/expand.js +97 -0
  66. package/cjs/utils/icons.js +60 -2
  67. package/cjs/utils/numbers.d.ts +8 -0
  68. package/cjs/utils/numbers.js +15 -0
  69. package/cjs/utils/prop-types.d.ts +7 -2
  70. package/cjs/utils/prop-types.js +14 -2
  71. package/collapse/package.json +6 -0
  72. package/esm/button/button.js +10 -19
  73. package/esm/card/card-body.d.ts +35 -0
  74. package/esm/card/card-body.js +52 -0
  75. package/esm/card/card-context.d.ts +8 -0
  76. package/esm/card/card-context.js +6 -0
  77. package/esm/card/card-footer.d.ts +25 -4
  78. package/esm/card/card-footer.js +48 -8
  79. package/esm/card/card-header.d.ts +23 -0
  80. package/esm/card/card-header.js +38 -0
  81. package/esm/card/card.d.ts +25 -12
  82. package/esm/card/card.js +95 -37
  83. package/esm/card/index.js +6 -4
  84. package/esm/card/styles.d.ts +7 -8
  85. package/esm/card/styles.js +25 -59
  86. package/esm/collapse/collapse-context.d.ts +9 -0
  87. package/esm/collapse/collapse-context.js +6 -0
  88. package/esm/collapse/collapse-group.d.ts +32 -0
  89. package/esm/collapse/collapse-group.js +87 -0
  90. package/esm/collapse/collapse-icon.d.ts +3 -0
  91. package/esm/collapse/collapse-icon.js +27 -0
  92. package/esm/collapse/collapse.d.ts +39 -0
  93. package/esm/collapse/collapse.js +150 -0
  94. package/esm/collapse/index.d.ts +2 -0
  95. package/esm/collapse/index.js +4 -0
  96. package/esm/css-baseline/css-baseline.js +3 -3
  97. package/esm/divider/divider.d.ts +8 -9
  98. package/esm/divider/divider.js +9 -9
  99. package/esm/image/image.d.ts +9 -8
  100. package/esm/image/image.js +27 -18
  101. package/esm/index.d.ts +2 -0
  102. package/esm/index.js +3 -1
  103. package/esm/input/input-icon-clear.js +1 -1
  104. package/esm/modal/modal-close-button.js +1 -1
  105. package/esm/progress/index.d.ts +2 -0
  106. package/esm/progress/index.js +2 -0
  107. package/esm/progress/progress.d.ts +60 -0
  108. package/esm/progress/progress.js +93 -0
  109. package/esm/progress/styles.d.ts +8 -0
  110. package/esm/progress/styles.js +36 -0
  111. package/esm/radio/radio.js +3 -4
  112. package/esm/text/child.d.ts +3 -5
  113. package/esm/text/child.js +9 -7
  114. package/esm/text/text.d.ts +5 -5
  115. package/esm/text/text.js +7 -7
  116. package/esm/theme/dark.js +2 -1
  117. package/esm/theme/default.js +2 -1
  118. package/esm/tooltip/placement.d.ts +29 -0
  119. package/esm/tooltip/{position.js → placement.js} +7 -7
  120. package/esm/tooltip/tooltip-content.d.ts +2 -2
  121. package/esm/tooltip/tooltip-content.js +5 -5
  122. package/esm/tooltip/tooltip.d.ts +5 -5
  123. package/esm/tooltip/tooltip.js +3 -3
  124. package/esm/use-drip/index.d.ts +2 -0
  125. package/esm/use-drip/index.js +2 -0
  126. package/esm/use-drip/use-drip.d.ts +9 -0
  127. package/esm/use-drip/use-drip.js +31 -0
  128. package/esm/{shared → utils}/clear-icon.d.ts +0 -0
  129. package/esm/{shared → utils}/clear-icon.js +1 -1
  130. package/esm/utils/collections.d.ts +1 -0
  131. package/esm/utils/collections.js +21 -0
  132. package/esm/utils/css-transition.js +1 -1
  133. package/esm/{button/button.drip.d.ts → utils/drip.d.ts} +6 -2
  134. package/esm/{button/button.drip.js → utils/drip.js} +13 -10
  135. package/esm/utils/expand.d.ts +18 -0
  136. package/esm/utils/expand.js +78 -0
  137. package/esm/utils/icons.js +52 -0
  138. package/esm/utils/numbers.d.ts +8 -0
  139. package/esm/utils/numbers.js +10 -0
  140. package/esm/utils/prop-types.d.ts +7 -2
  141. package/esm/utils/prop-types.js +12 -1
  142. package/package.json +1 -1
  143. package/progress/package.json +6 -0
  144. package/umd/nextui.js +1068 -259
  145. package/umd/nextui.min.js +1 -1
  146. package/use-drip/package.json +6 -0
  147. package/cjs/card/card-content.d.ts +0 -13
  148. package/cjs/card/card-content.js +0 -43
  149. package/cjs/tooltip/position.d.ts +0 -29
  150. package/esm/card/card-content.d.ts +0 -13
  151. package/esm/card/card-content.js +0 -28
  152. package/esm/tooltip/position.d.ts +0 -29
  153. package/shared/package.json +0 -6
@@ -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
  };
@@ -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;
@@ -1,33 +1,46 @@
1
- import React from 'react';
2
- import { CardColors } from '../utils/prop-types';
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 CardContent from './card-content';
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
- color?: CardColors;
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: "default" | "primary" | "secondary" | "success" | "warning" | "error" | "gradient" | "dark" | "lite" | "alert" | "purple" | "violet" | "cyan";
23
+ color: string;
24
+ textColor: string;
16
25
  bordered: boolean;
17
- hoverable: boolean;
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 MemoCardComponent<P = {}> = React.NamedExoticComponent<P> & {
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
- Actions: typeof CardFooter;
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: MemoCardComponent<ComponentProps>;
45
+ declare const _default: CardComponent<HTMLDivElement, ComponentProps>;
33
46
  export default _default;