@aivenio/aquarium 1.8.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/_variables.scss +1 -1
  2. package/dist/_variables_timescale.scss +1 -1
  3. package/dist/atoms.cjs +31 -38
  4. package/dist/atoms.mjs +31 -38
  5. package/dist/src/common/Card/Card.d.ts +9 -2
  6. package/dist/src/common/Card/Card.js +13 -9
  7. package/dist/src/common/LineClamp/LineClamp.d.ts +9 -0
  8. package/dist/src/common/LineClamp/LineClamp.js +18 -0
  9. package/dist/src/components/Card/Card.d.ts +4 -1
  10. package/dist/src/components/Card/Card.js +29 -17
  11. package/dist/src/components/Card/Compact.d.ts +3 -0
  12. package/dist/src/components/Card/Compact.js +23 -13
  13. package/dist/src/components/Card/types.d.ts +5 -0
  14. package/dist/src/components/DataTable/DataTable.js +2 -2
  15. package/dist/src/components/LineClamp/LineClamp.d.ts +2 -1
  16. package/dist/src/components/LineClamp/LineClamp.js +4 -4
  17. package/dist/src/components/MultiSelect/MultiSelect.js +14 -4
  18. package/dist/src/components/Pagination/Pagination.js +6 -17
  19. package/dist/src/components/Pagination/usePagination.js +5 -3
  20. package/dist/src/components/Skeleton/Skeleton.d.ts +3 -3
  21. package/dist/src/components/Skeleton/Skeleton.js +3 -2
  22. package/dist/src/utils/table/types.d.ts +2 -0
  23. package/dist/src/utils/table/types.js +2 -2
  24. package/dist/styles.css +18 -0
  25. package/dist/styles_timescaledb.css +18 -0
  26. package/dist/system.cjs +836 -782
  27. package/dist/system.mjs +800 -746
  28. package/dist/tsconfig.module.tsbuildinfo +1 -1
  29. package/dist/types/DimensionProps.d.ts +3 -0
  30. package/dist/types/DimensionProps.js +2 -0
  31. package/dist/types/tailwindGenerated.d.ts +1 -1
  32. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
 
2
2
  // Do not edit directly
3
- // Generated on Mon, 20 Feb 2023 13:12:18 GMT
3
+ // Generated on Tue, 28 Feb 2023 10:27:04 GMT
4
4
 
5
5
  $border-radius-none: 0px !default;
6
6
  $border-radius-sm: 0.125rem !default;
@@ -1,6 +1,6 @@
1
1
 
2
2
  // Do not edit directly
3
- // Generated on Mon, 20 Feb 2023 13:12:18 GMT
3
+ // Generated on Tue, 28 Feb 2023 10:27:05 GMT
4
4
 
5
5
  $border-radius-none: 0px;
6
6
  $border-radius-sm: 0.125rem;
package/dist/atoms.cjs CHANGED
@@ -2237,20 +2237,20 @@ var classNames = (...args) => {
2237
2237
  // src/components/Icon/Icon.tsx
2238
2238
  var Icon = import_react6.default.forwardRef((_a, ref) => {
2239
2239
  var _b = _a, { color, className } = _b, rest = __objRest(_b, ["color", "className"]);
2240
- const classes = classNames(className, color && `text-${color}`);
2240
+ const classes2 = classNames(className, color && `text-${color}`);
2241
2241
  return /* @__PURE__ */ import_react6.default.createElement(import_react7.Icon, __spreadValues({
2242
2242
  ref: ref != null ? ref : void 0,
2243
- className: classes !== "" ? classes : void 0
2243
+ className: classes2 !== "" ? classes2 : void 0
2244
2244
  }, rest));
2245
2245
  });
2246
2246
  var InlineIcon = import_react6.default.forwardRef((_a, ref) => {
2247
2247
  var _b = _a, { color, className } = _b, rest = __objRest(_b, ["color", "className"]);
2248
- const classes = classNames(color && `text-${color}`);
2248
+ const classes2 = classNames(color && `text-${color}`);
2249
2249
  return /* @__PURE__ */ import_react6.default.createElement("span", {
2250
2250
  className: classNames(tw("children:inline-block inline-flex justify-center items-center"), className)
2251
2251
  }, /* @__PURE__ */ import_react6.default.createElement(import_react7.InlineIcon, __spreadValues({
2252
2252
  ref: ref != null ? ref : void 0,
2253
- className: classes !== "" ? classes : void 0
2253
+ className: classes2 !== "" ? classes2 : void 0
2254
2254
  }, rest)));
2255
2255
  });
2256
2256
 
@@ -2818,6 +2818,7 @@ Alert.Dismiss = (_a) => {
2818
2818
 
2819
2819
  // src/common/Card/Card.tsx
2820
2820
  var import_react16 = __toESM(require("react"));
2821
+ var import_isNumber = __toESM(require("lodash/isNumber"));
2821
2822
 
2822
2823
  // src/components/Box/Box.tsx
2823
2824
  var import_react15 = __toESM(require("react"));
@@ -2979,32 +2980,25 @@ var BorderBox = createSimpleComponent(
2979
2980
  );
2980
2981
 
2981
2982
  // src/common/Card/Card.tsx
2982
- var Card = (_a) => {
2983
- var _b = _a, {
2984
- disabled,
2985
- fullWidth,
2986
- clickable,
2987
- className,
2988
- children
2989
- } = _b, rest = __objRest(_b, [
2990
- "disabled",
2991
- "fullWidth",
2992
- "clickable",
2993
- "className",
2994
- "children"
2995
- ]);
2996
- return /* @__PURE__ */ import_react16.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
2997
- className: classNames(
2998
- tw("border-grey-5 border-[1px] rounded-[2px] relative p-5 flex flex-col gap-5", {
2999
- "w-[280px]": !fullWidth,
3000
- "w-full min-w-[280px]": Boolean(fullWidth),
3001
- "active:bg-grey-5 cursor-pointer hover:border-grey-50 focus:border-info-70": Boolean(clickable && !disabled),
3002
- "bg-grey-0 cursor-not-allowed focus:border-transparent": Boolean(disabled)
3003
- }),
3004
- className
3005
- )
3006
- }), children);
3007
- };
2983
+ var Card = import_react16.default.forwardRef(
2984
+ (_a, ref) => {
2985
+ var _b = _a, { disabled, fullWidth, enableMinWidth = true, clickable, className, children } = _b, rest = __objRest(_b, ["disabled", "fullWidth", "enableMinWidth", "clickable", "className", "children"]);
2986
+ return /* @__PURE__ */ import_react16.default.createElement("div", __spreadProps(__spreadValues({
2987
+ ref
2988
+ }, rest), {
2989
+ className: classNames(
2990
+ tw("border-grey-5 border-[1px] rounded-[2px] relative p-5 flex flex-col gap-5", {
2991
+ "w-[280px]": !fullWidth,
2992
+ "w-full": Boolean(fullWidth),
2993
+ "min-w-[280px]": Boolean(fullWidth) && Boolean(enableMinWidth),
2994
+ "active:bg-grey-5 cursor-pointer hover:border-grey-50 focus:border-info-70": Boolean(clickable && !disabled),
2995
+ "bg-grey-0 cursor-not-allowed focus:border-transparent": Boolean(disabled)
2996
+ }),
2997
+ className
2998
+ )
2999
+ }), children);
3000
+ }
3001
+ );
3008
3002
  var ColorHighlight = (_a) => {
3009
3003
  var _b = _a, { color, className } = _b, rest = __objRest(_b, ["color", "className"]);
3010
3004
  return /* @__PURE__ */ import_react16.default.createElement(Box, __spreadProps(__spreadValues({}, rest), {
@@ -3023,16 +3017,15 @@ var ImageContainer = (_a) => {
3023
3017
  )
3024
3018
  }));
3025
3019
  };
3026
- var Image = ({
3027
- image,
3028
- imageAlt,
3029
- fullSize
3030
- }) => /* @__PURE__ */ import_react16.default.createElement("img", {
3020
+ var classes = "w-full bg-cover object-cover";
3021
+ var Image = ({ image, imageAlt, fullSize = false, imageHeight }) => /* @__PURE__ */ import_react16.default.createElement("img", {
3031
3022
  src: image,
3032
3023
  alt: imageAlt,
3033
- className: tw("w-full bg-cover object-cover h-[174px]", {
3034
- "h-[225px]": Boolean(fullSize)
3035
- })
3024
+ className: tw(classes, {
3025
+ "h-[174px]": !imageHeight && !fullSize,
3026
+ "h-[225px]": !imageHeight && fullSize
3027
+ }),
3028
+ style: { height: (0, import_isNumber.default)(imageHeight) ? `${imageHeight}px` : imageHeight }
3036
3029
  });
3037
3030
  var Content = (_a) => {
3038
3031
  var _b = _a, { className, dense } = _b, rest = __objRest(_b, ["className", "dense"]);
package/dist/atoms.mjs CHANGED
@@ -2201,20 +2201,20 @@ var classNames = (...args) => {
2201
2201
  // src/components/Icon/Icon.tsx
2202
2202
  var Icon = React4.forwardRef((_a, ref) => {
2203
2203
  var _b = _a, { color, className } = _b, rest = __objRest(_b, ["color", "className"]);
2204
- const classes = classNames(className, color && `text-${color}`);
2204
+ const classes2 = classNames(className, color && `text-${color}`);
2205
2205
  return /* @__PURE__ */ React4.createElement(IconifyIconComponent, __spreadValues({
2206
2206
  ref: ref != null ? ref : void 0,
2207
- className: classes !== "" ? classes : void 0
2207
+ className: classes2 !== "" ? classes2 : void 0
2208
2208
  }, rest));
2209
2209
  });
2210
2210
  var InlineIcon = React4.forwardRef((_a, ref) => {
2211
2211
  var _b = _a, { color, className } = _b, rest = __objRest(_b, ["color", "className"]);
2212
- const classes = classNames(color && `text-${color}`);
2212
+ const classes2 = classNames(color && `text-${color}`);
2213
2213
  return /* @__PURE__ */ React4.createElement("span", {
2214
2214
  className: classNames(tw("children:inline-block inline-flex justify-center items-center"), className)
2215
2215
  }, /* @__PURE__ */ React4.createElement(IconifyInlineIconComponent, __spreadValues({
2216
2216
  ref: ref != null ? ref : void 0,
2217
- className: classes !== "" ? classes : void 0
2217
+ className: classes2 !== "" ? classes2 : void 0
2218
2218
  }, rest)));
2219
2219
  });
2220
2220
 
@@ -2782,6 +2782,7 @@ Alert.Dismiss = (_a) => {
2782
2782
 
2783
2783
  // src/common/Card/Card.tsx
2784
2784
  import React12 from "react";
2785
+ import isNumber from "lodash/isNumber";
2785
2786
 
2786
2787
  // src/components/Box/Box.tsx
2787
2788
  import React11 from "react";
@@ -2943,32 +2944,25 @@ var BorderBox = createSimpleComponent(
2943
2944
  );
2944
2945
 
2945
2946
  // src/common/Card/Card.tsx
2946
- var Card = (_a) => {
2947
- var _b = _a, {
2948
- disabled,
2949
- fullWidth,
2950
- clickable,
2951
- className,
2952
- children
2953
- } = _b, rest = __objRest(_b, [
2954
- "disabled",
2955
- "fullWidth",
2956
- "clickable",
2957
- "className",
2958
- "children"
2959
- ]);
2960
- return /* @__PURE__ */ React12.createElement("div", __spreadProps(__spreadValues({}, rest), {
2961
- className: classNames(
2962
- tw("border-grey-5 border-[1px] rounded-[2px] relative p-5 flex flex-col gap-5", {
2963
- "w-[280px]": !fullWidth,
2964
- "w-full min-w-[280px]": Boolean(fullWidth),
2965
- "active:bg-grey-5 cursor-pointer hover:border-grey-50 focus:border-info-70": Boolean(clickable && !disabled),
2966
- "bg-grey-0 cursor-not-allowed focus:border-transparent": Boolean(disabled)
2967
- }),
2968
- className
2969
- )
2970
- }), children);
2971
- };
2947
+ var Card = React12.forwardRef(
2948
+ (_a, ref) => {
2949
+ var _b = _a, { disabled, fullWidth, enableMinWidth = true, clickable, className, children } = _b, rest = __objRest(_b, ["disabled", "fullWidth", "enableMinWidth", "clickable", "className", "children"]);
2950
+ return /* @__PURE__ */ React12.createElement("div", __spreadProps(__spreadValues({
2951
+ ref
2952
+ }, rest), {
2953
+ className: classNames(
2954
+ tw("border-grey-5 border-[1px] rounded-[2px] relative p-5 flex flex-col gap-5", {
2955
+ "w-[280px]": !fullWidth,
2956
+ "w-full": Boolean(fullWidth),
2957
+ "min-w-[280px]": Boolean(fullWidth) && Boolean(enableMinWidth),
2958
+ "active:bg-grey-5 cursor-pointer hover:border-grey-50 focus:border-info-70": Boolean(clickable && !disabled),
2959
+ "bg-grey-0 cursor-not-allowed focus:border-transparent": Boolean(disabled)
2960
+ }),
2961
+ className
2962
+ )
2963
+ }), children);
2964
+ }
2965
+ );
2972
2966
  var ColorHighlight = (_a) => {
2973
2967
  var _b = _a, { color, className } = _b, rest = __objRest(_b, ["color", "className"]);
2974
2968
  return /* @__PURE__ */ React12.createElement(Box, __spreadProps(__spreadValues({}, rest), {
@@ -2987,16 +2981,15 @@ var ImageContainer = (_a) => {
2987
2981
  )
2988
2982
  }));
2989
2983
  };
2990
- var Image = ({
2991
- image,
2992
- imageAlt,
2993
- fullSize
2994
- }) => /* @__PURE__ */ React12.createElement("img", {
2984
+ var classes = "w-full bg-cover object-cover";
2985
+ var Image = ({ image, imageAlt, fullSize = false, imageHeight }) => /* @__PURE__ */ React12.createElement("img", {
2995
2986
  src: image,
2996
2987
  alt: imageAlt,
2997
- className: tw("w-full bg-cover object-cover h-[174px]", {
2998
- "h-[225px]": Boolean(fullSize)
2999
- })
2988
+ className: tw(classes, {
2989
+ "h-[174px]": !imageHeight && !fullSize,
2990
+ "h-[225px]": !imageHeight && fullSize
2991
+ }),
2992
+ style: { height: isNumber(imageHeight) ? `${imageHeight}px` : imageHeight }
3000
2993
  });
3001
2994
  var Content = (_a) => {
3002
2995
  var _b = _a, { className, dense } = _b, rest = __objRest(_b, ["className", "dense"]);
@@ -1,5 +1,7 @@
1
1
  import React from 'react';
2
2
  import { type ColorName } from '../../../types/designTokens';
3
+ import { type LimitedCssDimension } from '../../../types/DimensionProps';
4
+ import { type Either } from '../../../types/utils';
3
5
  declare type DivProps = React.HTMLProps<HTMLDivElement>;
4
6
  declare type ComposedCardProps = {
5
7
  ColorHiglight: typeof ColorHighlight;
@@ -10,10 +12,12 @@ declare type ComposedCardProps = {
10
12
  };
11
13
  declare type CardProps = {
12
14
  fullWidth?: boolean;
15
+ enableMinWidth?: boolean;
13
16
  disabled?: boolean;
14
17
  clickable?: boolean;
15
18
  };
16
- export declare const Card: React.FC<CardProps & DivProps> & ComposedCardProps;
19
+ declare type CardComponent = React.ForwardRefExoticComponent<CardProps & DivProps & React.RefAttributes<HTMLDivElement>> & ComposedCardProps;
20
+ export declare const Card: CardComponent;
17
21
  declare const ColorHighlight: React.FC<{
18
22
  color: ColorName;
19
23
  className?: string;
@@ -24,8 +28,11 @@ declare const ImageContainer: React.FC<DivProps & {
24
28
  declare const Image: React.FC<DivProps & {
25
29
  image: string;
26
30
  imageAlt: string | undefined;
31
+ } & Either<{
27
32
  fullSize: boolean;
28
- }>;
33
+ }, {
34
+ imageHeight?: LimitedCssDimension;
35
+ }>>;
29
36
  declare const Content: React.FC<DivProps & {
30
37
  dense?: boolean;
31
38
  }>;
@@ -10,17 +10,19 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import React from 'react';
13
+ import isNumber from 'lodash/isNumber';
13
14
  import { Box } from '../../../src/components/Box/Box';
14
15
  import { classNames, tw } from '../../../src/utils/tailwind';
15
- export const Card = (_a) => {
16
- var { disabled, fullWidth, clickable, className, children } = _a, rest = __rest(_a, ["disabled", "fullWidth", "clickable", "className", "children"]);
17
- return (React.createElement("div", Object.assign({}, rest, { className: classNames(tw('border-grey-5 border-[1px] rounded-[2px] relative p-5 flex flex-col gap-5', {
16
+ export const Card = React.forwardRef((_a, ref) => {
17
+ var { disabled, fullWidth, enableMinWidth = true, clickable, className, children } = _a, rest = __rest(_a, ["disabled", "fullWidth", "enableMinWidth", "clickable", "className", "children"]);
18
+ return (React.createElement("div", Object.assign({ ref: ref }, rest, { className: classNames(tw('border-grey-5 border-[1px] rounded-[2px] relative p-5 flex flex-col gap-5', {
18
19
  'w-[280px]': !fullWidth,
19
- 'w-full min-w-[280px]': Boolean(fullWidth),
20
+ 'w-full': Boolean(fullWidth),
21
+ 'min-w-[280px]': Boolean(fullWidth) && Boolean(enableMinWidth),
20
22
  'active:bg-grey-5 cursor-pointer hover:border-grey-50 focus:border-info-70': Boolean(clickable && !disabled),
21
23
  'bg-grey-0 cursor-not-allowed focus:border-transparent': Boolean(disabled),
22
24
  }), className) }), children));
23
- };
25
+ });
24
26
  const ColorHighlight = (_a) => {
25
27
  var { color, className } = _a, rest = __rest(_a, ["color", "className"]);
26
28
  return (React.createElement(Box, Object.assign({}, rest, { backgroundColor: color, className: classNames(tw('h-1 w-full absolute top-0 left-0 right-0'), className) })));
@@ -31,9 +33,11 @@ const ImageContainer = (_a) => {
31
33
  '-mt-4': Boolean(fullSize),
32
34
  }), className) })));
33
35
  };
34
- const Image = ({ image, imageAlt, fullSize, }) => (React.createElement("img", { src: image, alt: imageAlt, className: tw('w-full bg-cover object-cover h-[174px]', {
35
- 'h-[225px]': Boolean(fullSize),
36
- }) }));
36
+ const classes = 'w-full bg-cover object-cover';
37
+ const Image = ({ image, imageAlt, fullSize = false, imageHeight }) => (React.createElement("img", { src: image, alt: imageAlt, className: tw(classes, {
38
+ 'h-[174px]': !imageHeight && !fullSize,
39
+ 'h-[225px]': !imageHeight && fullSize,
40
+ }), style: { height: isNumber(imageHeight) ? `${imageHeight}px` : imageHeight } }));
37
41
  const Content = (_a) => {
38
42
  var { className, dense } = _a, rest = __rest(_a, ["className", "dense"]);
39
43
  return (React.createElement("div", Object.assign({}, rest, { className: classNames(tw('flex flex-col', { 'gap-4': !dense }), className) })));
@@ -47,4 +51,4 @@ Card.Actions = Actions;
47
51
  Card.ImageContainer = ImageContainer;
48
52
  Card.Image = Image;
49
53
  Card.ColorHiglight = ColorHighlight;
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vQ2FyZC9DYXJkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQW1CcEQsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUF1RCxDQUFDLEVBT3hFLEVBQUUsRUFBRTtRQVBvRSxFQUN2RSxRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsUUFBUSxPQUVULEVBREksSUFBSSxjQU5nRSwrREFPeEUsQ0FEUTtJQUNILE9BQUEsQ0FDSiw2Q0FDTSxJQUFJLElBQ1IsU0FBUyxFQUFFLFVBQVUsQ0FDbkIsRUFBRSxDQUFDLDJFQUEyRSxFQUFFO1lBQzlFLFdBQVcsRUFBRSxDQUFDLFNBQVM7WUFDdkIsc0JBQXNCLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQztZQUMxQywyRUFBMkUsRUFBRSxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzVHLHVEQUF1RCxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDM0UsQ0FBQyxFQUNGLFNBQVMsQ0FDVixLQUVBLFFBQVEsQ0FDTCxDQUNQLENBQUE7Q0FBQSxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQXVELENBQUMsRUFBNkIsRUFBRSxFQUFFO1FBQWpDLEVBQUUsS0FBSyxFQUFFLFNBQVMsT0FBVyxFQUFOLElBQUksY0FBM0Isc0JBQTZCLENBQUY7SUFBTyxPQUFBLENBQzVHLG9CQUFDLEdBQUcsb0JBQ0UsSUFBSSxJQUNSLGVBQWUsRUFBRSxLQUFLLEVBQ3RCLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDLDBDQUEwQyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQ2hGLENBQ0gsQ0FBQTtDQUFBLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBK0MsQ0FBQyxFQUFnQyxFQUFFLEVBQUU7UUFBcEMsRUFBRSxTQUFTLEVBQUUsUUFBUSxPQUFXLEVBQU4sSUFBSSxjQUE5Qix5QkFBZ0MsQ0FBRjtJQUFPLE9BQUEsQ0FDdkcsNkNBQ00sSUFBSSxJQUNSLFNBQVMsRUFBRSxVQUFVLENBQ25CLEVBQUUsQ0FBQyxPQUFPLEVBQUU7WUFDVixPQUFPLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUMzQixDQUFDLEVBQ0YsU0FBUyxDQUNWLElBQ0QsQ0FDSCxDQUFBO0NBQUEsQ0FBQztBQUVGLE1BQU0sS0FBSyxHQUE0RixDQUFDLEVBQ3RHLEtBQUssRUFDTCxRQUFRLEVBQ1IsUUFBUSxHQUNULEVBQUUsRUFBRSxDQUFDLENBQ0osNkJBQ0UsR0FBRyxFQUFFLEtBQUssRUFDVixHQUFHLEVBQUUsUUFBUSxFQUNiLFNBQVMsRUFBRSxFQUFFLENBQUMsd0NBQXdDLEVBQUU7UUFDdEQsV0FBVyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUM7S0FDL0IsQ0FBQyxHQUNGLENBQ0gsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUE2QyxDQUFDLEVBQTZCLEVBQUUsRUFBRTtRQUFqQyxFQUFFLFNBQVMsRUFBRSxLQUFLLE9BQVcsRUFBTixJQUFJLGNBQTNCLHNCQUE2QixDQUFGO0lBQU8sT0FBQSxDQUMzRiw2Q0FBUyxJQUFJLElBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUM5RixDQUFBO0NBQUEsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUE2QyxDQUFDLEVBQTZCLEVBQUUsRUFBRTtRQUFqQyxFQUFFLFNBQVMsRUFBRSxLQUFLLE9BQVcsRUFBTixJQUFJLGNBQTNCLHNCQUE2QixDQUFGO0lBQU8sT0FBQSxDQUMzRiw2Q0FBUyxJQUFJLElBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMseUJBQXlCLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQ3hHLENBQUE7Q0FBQSxDQUFDO0FBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7QUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7QUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7QUFDckMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxjQUFjLENBQUMifQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vQ2FyZC9DYXJkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUV2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQXlCcEQsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQ2xDLENBQUMsRUFBdUYsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUFoRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsY0FBYyxHQUFHLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFFBQVEsT0FBVyxFQUFOLElBQUksY0FBckYsaUZBQXVGLENBQUY7SUFBWSxPQUFBLENBQ2hHLDJDQUNFLEdBQUcsRUFBRSxHQUFHLElBQ0osSUFBSSxJQUNSLFNBQVMsRUFBRSxVQUFVLENBQ25CLEVBQUUsQ0FBQywyRUFBMkUsRUFBRTtZQUM5RSxXQUFXLEVBQUUsQ0FBQyxTQUFTO1lBQ3ZCLFFBQVEsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDO1lBQzVCLGVBQWUsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUM5RCwyRUFBMkUsRUFBRSxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzVHLHVEQUF1RCxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDM0UsQ0FBQyxFQUNGLFNBQVMsQ0FDVixLQUVBLFFBQVEsQ0FDTCxDQUNQLENBQUE7Q0FBQSxDQUNlLENBQUM7QUFFbkIsTUFBTSxjQUFjLEdBQXVELENBQUMsRUFBNkIsRUFBRSxFQUFF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
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ declare type DivProps = React.HTMLProps<HTMLDivElement>;
3
+ export declare type Lines = 1 | 2 | 3 | 4 | 5 | 6;
4
+ export declare type LineClampProps = DivProps & {
5
+ clamped?: boolean;
6
+ lines?: Lines;
7
+ };
8
+ export declare const LineClamp: React.ForwardRefExoticComponent<Pick<LineClampProps, "default" | "start" | "hidden" | "color" | "content" | "size" | "style" | "wrap" | "open" | "height" | "translate" | "width" | "multiple" | "disabled" | "prefix" | "src" | "cite" | "data" | "form" | "label" | "slot" | "span" | "summary" | "title" | "pattern" | "children" | "key" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "download" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "list" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "muted" | "name" | "nonce" | "noValidate" | "optimum" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "target" | "type" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "sizes" | "srcDoc" | "srcLang" | "srcSet" | "step" | "useMap" | "value" | "wmode" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "lines" | "clamped"> & React.RefAttributes<HTMLDivElement>>;
9
+ export {};
@@ -0,0 +1,18 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React from 'react';
13
+ import { classNames } from '../../../src/utils/tailwind';
14
+ export const LineClamp = React.forwardRef((_a, ref) => {
15
+ var { lines = 1, clamped = true, children, className } = _a, props = __rest(_a, ["lines", "clamped", "children", "className"]);
16
+ return (React.createElement("div", Object.assign({ ref: ref, className: classNames(className, 'break-all', { [`line-clamp-${lines}`]: clamped }) }, props), children));
17
+ });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZUNsYW1wLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9MaW5lQ2xhbXAvTGluZUNsYW1wLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFXaEQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQ3ZDLENBQUMsRUFBNEQsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUFyRSxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsT0FBTyxHQUFHLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxPQUFZLEVBQVAsS0FBSyxjQUExRCw2Q0FBNEQsQ0FBRjtJQUN6RCxPQUFPLENBQ0wsMkNBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLGNBQWMsS0FBSyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxJQUFNLEtBQUssR0FDMUcsUUFBUSxDQUNMLENBQ1AsQ0FBQztBQUNKLENBQUMsQ0FDRixDQUFDIn0=
@@ -1,10 +1,13 @@
1
1
  import React from 'react';
2
+ import { type Lines } from '../../../src/common/LineClamp/LineClamp';
2
3
  import { type Either } from '../../../types/utils';
3
4
  import { CompactCard } from './Compact';
4
5
  import { type ActionableCard, type ClickableCard, type IconCard, type ImageCard } from './types';
5
6
  export declare type CardProps = {
6
7
  /** Short and concise card title. */
7
8
  title: string;
9
+ /** When provided, title will be clamped if needed. */
10
+ clampTitle?: Lines;
8
11
  /** Card description body text. Please use 'children' prop instead.
9
12
  * @deprecated
10
13
  */
@@ -31,6 +34,6 @@ declare type CardSkeletonProps = {
31
34
  icons?: boolean;
32
35
  }, {
33
36
  image?: boolean;
34
- }>;
37
+ } & Pick<CardProps, 'imageHeight'>>;
35
38
  declare const CardSkeleton: React.FC<CardSkeletonProps>;
36
39
  export {};
@@ -1,4 +1,5 @@
1
- import React from 'react';
1
+ import React, { useRef } from 'react';
2
+ import { useButton } from '@react-aria/button';
2
3
  import omit from 'lodash/omit';
3
4
  import { AvatarStack } from '../../../src/components/Avatar/Avatar';
4
5
  import { ExternalLinkButton, SecondaryButton } from '../../../src/components/Button/Button';
@@ -6,22 +7,33 @@ import { Chip, ChipContainer } from '../../../src/components/Chip/Chip';
6
7
  import { Skeleton } from '../../../src/components/Skeleton/Skeleton';
7
8
  import { Typography } from '../../../src/components/Typography/Typography';
8
9
  import { Card as CardBase } from '../../../src/common/Card/Card';
10
+ import { LineClamp } from '../../../src/common/LineClamp/LineClamp';
9
11
  import { CompactCard } from './Compact';
10
- export const Card = ({ title, description, chips = [], icons = [], image, imageAlt, color, action, link, onClick, disabled, fullWidth, children, }) => (React.createElement(CardBase, { onClick: disabled ? undefined : onClick, disabled: disabled, fullWidth: fullWidth, clickable: Boolean(onClick), tabIndex: onClick ? 0 : -1 },
11
- color && React.createElement(CardBase.ColorHiglight, { color: color }),
12
- chips.length > 0 && (React.createElement(ChipContainer, { dense: true }, chips.map((chip) => (React.createElement(Chip, { key: chip, text: chip }))))),
13
- icons.length > 0 && React.createElement(AvatarStack, { images: icons }),
14
- image !== undefined && React.createElement(CardImage, { image: image, imageAlt: imageAlt, fullSize: chips.length === 0 }),
15
- React.createElement(CardBase.Content, null,
16
- React.createElement(Typography.DefaultStrong, { color: "black" }, title),
17
- React.createElement(Typography.Caption, { color: "grey-70" }, children || description)),
18
- (action || link) && (React.createElement(CardBase.Actions, null,
19
- action && (React.createElement(SecondaryButton, Object.assign({ dense: true }, omit(action, 'text')), action.text)),
20
- link && (React.createElement(ExternalLinkButton, Object.assign({ dense: true, kind: "ghost" }, omit(link, 'text')), link.text))))));
21
- const CardSkeleton = ({ chips = true, icons = false, image = !icons, actions = true, fullWidth = false, }) => (React.createElement(CardBase, { fullWidth: fullWidth },
12
+ export const Card = ({ title, clampTitle, description, chips = [], icons = [], image, imageAlt, imageHeight, color, action, link, onClick, disabled, fullWidth, children, }) => {
13
+ const ref = useRef(null);
14
+ const { buttonProps } = useButton({ elementType: 'div', onPress: onClick, isDisabled: disabled }, ref);
15
+ const titleContent = React.createElement(Typography.DefaultStrong, { color: "black" }, title);
16
+ return (React.createElement(CardBase, Object.assign({ ref: ref, clickable: Boolean(onClick), fullWidth: fullWidth,
17
+ // If any of the "additional features" in <Card> are used, we want to enable
18
+ // min width to make sure it doesn't
19
+ enableMinWidth: Boolean(image || action || link || chips.length || icons.length) }, (onClick ? buttonProps : {}), { disabled: disabled }),
20
+ color && React.createElement(CardBase.ColorHiglight, { color: color }),
21
+ chips.length > 0 && (React.createElement(ChipContainer, { dense: true }, chips.map((chip) => (React.createElement(Chip, { key: chip, text: chip }))))),
22
+ icons.length > 0 && React.createElement(AvatarStack, { images: icons }),
23
+ image !== undefined &&
24
+ (imageHeight ? (React.createElement(CardImage, { image: image, imageAlt: imageAlt, imageHeight: imageHeight })) : (React.createElement(CardImage, { image: image, imageAlt: imageAlt, fullSize: chips.length === 0 }))),
25
+ React.createElement(CardBase.Content, null,
26
+ clampTitle ? React.createElement(LineClamp, { lines: clampTitle }, titleContent) : titleContent,
27
+ React.createElement(Typography.Caption, { color: "grey-70" }, children || description)),
28
+ (action || link) && (React.createElement(CardBase.Actions, null,
29
+ action && (React.createElement(SecondaryButton, Object.assign({ dense: true }, omit(action, 'text')), action.text)),
30
+ link && (React.createElement(ExternalLinkButton, Object.assign({ dense: true, kind: "ghost" }, omit(link, 'text')), link.text))))));
31
+ };
32
+ const CardSkeleton = ({ chips = true, icons = false, image = !icons, actions = true, fullWidth = false, imageHeight, }) => (React.createElement(CardBase, { fullWidth: fullWidth },
22
33
  chips && (React.createElement(ChipContainer, { dense: true }, Array.from({ length: 5 }).map((_, idx) => (React.createElement(Chip.Skeleton, { key: idx }))))),
23
34
  icons && React.createElement(AvatarStack, { images: [null] }),
24
- image && React.createElement(CardImage, { image: null, fullSize: !chips }),
35
+ image &&
36
+ (imageHeight ? (React.createElement(CardImage, { image: null, imageHeight: imageHeight })) : (React.createElement(CardImage, { image: null, fullSize: !chips }))),
25
37
  React.createElement(CardBase.Content, null,
26
38
  React.createElement(Skeleton, { width: 145, height: 25 }),
27
39
  React.createElement(Skeleton, { width: 145, height: 16 })),
@@ -30,7 +42,7 @@ const CardSkeleton = ({ chips = true, icons = false, image = !icons, actions = t
30
42
  React.createElement(Skeleton, { width: 60, height: 25 })))));
31
43
  Card.Skeleton = CardSkeleton;
32
44
  Card.Compact = CompactCard;
33
- const CardImage = ({ image, imageAlt, fullSize }) => (React.createElement(CardBase.ImageContainer, { fullSize: fullSize }, image ? (React.createElement(CardBase.Image, { image: image, imageAlt: imageAlt, fullSize: fullSize })) : (React.createElement(CardImage.Skeleton, { fullSize: fullSize }))));
34
- const CardImageSkeleton = ({ fullSize }) => (React.createElement(Skeleton, { height: fullSize ? 225 : 174, width: "100%" }));
45
+ const CardImage = ({ image, imageAlt, imageHeight, fullSize = false }) => (React.createElement(CardBase.ImageContainer, { fullSize: fullSize }, image ? (imageHeight ? (React.createElement(CardBase.Image, { image: image, imageAlt: imageAlt, imageHeight: imageHeight })) : (React.createElement(CardBase.Image, { image: image, imageAlt: imageAlt, fullSize: fullSize }))) : (React.createElement(CardImage.Skeleton, { fullSize: fullSize, imageHeight: imageHeight }))));
46
+ const CardImageSkeleton = ({ imageHeight, fullSize }) => imageHeight ? (React.createElement(Skeleton, { height: imageHeight, width: "100%" })) : (React.createElement(Skeleton, { height: fullSize ? 225 : 174, width: "100%" }));
35
47
  CardImage.Skeleton = CardImageSkeleton;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NhcmQvQ2FyZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUUvQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsSUFBSSxJQUFJLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSXhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUE2QnhDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBNEMsQ0FBQyxFQUM1RCxLQUFLLEVBQ0wsV0FBVyxFQUNYLEtBQUssR0FBRyxFQUFFLEVBQ1YsS0FBSyxHQUFHLEVBQUUsRUFDVixLQUFLLEVBQ0wsUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sSUFBSSxFQUNKLE9BQU8sRUFDUCxRQUFRLEVBQ1IsU0FBUyxFQUNULFFBQVEsR0FDVCxFQUFFLEVBQUUsQ0FBQyxDQUNKLG9CQUFDLFFBQVEsSUFDUCxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFDdkMsUUFBUSxFQUFFLFFBQVEsRUFDbEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFDM0IsUUFBUSxFQUFFLE9BQU8s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
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NhcmQvQ2FyZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUUvQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsSUFBSSxJQUFJLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUl2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBZ0N4QyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQTRDLENBQUMsRUFDNUQsS0FBSyxFQUNMLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxHQUFHLEVBQUUsRUFDVixLQUFLLEdBQUcsRUFBRSxFQUNWLEtBQUssRUFDTCxRQUFRLEVBQ1IsV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sSUFBSSxFQUNKLE9BQU8sRUFDUCxRQUFRLEVBQ1IsU0FBUyxFQUNULFFBQVEsR0FDVCxFQUFFLEVBQUU7SUFDSCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQWlCLElBQUksQ0FBQyxDQUFDO0lBQ3pDLE1B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
@@ -1,10 +1,13 @@
1
1
  import React from 'react';
2
+ import { type Lines } from '../../../src/common/LineClamp/LineClamp';
2
3
  import { type ColorName } from '../../../types/designTokens';
3
4
  import { type Either } from '../../../types/utils';
4
5
  import { type ActionableCard, type ClickableCard } from './types';
5
6
  export declare type CardProps = {
6
7
  /** Short and concise card title. */
7
8
  title: string;
9
+ /** When provided, title will be clamped if needed. */
10
+ clampTitle?: Lines;
8
11
  /**
9
12
  * Optional list of tags, which will be rendered as chips underneath the page title.
10
13
  */
@@ -1,23 +1,33 @@
1
- import React from 'react';
1
+ import React, { useRef } from 'react';
2
+ import { useButton } from '@react-aria/button';
2
3
  import { omit } from 'lodash';
3
4
  import { Typography } from '../../../src/components/Typography/Typography';
4
5
  import { Card as CardBase } from '../../../src/common/Card/Card';
6
+ import { LineClamp } from '../../../src/common/LineClamp/LineClamp';
5
7
  import { Avatar } from '../Avatar/Avatar';
6
8
  import { Box } from '../Box/Box';
7
9
  import { ExternalLinkButton, SecondaryButton } from '../Button/Button';
8
10
  import { Chip, ChipContainer } from '../Chip/Chip';
9
11
  import { Skeleton } from '../Skeleton/Skeleton';
10
- export const CompactCard = ({ title, chips = [], icon, color, action, link, onClick, disabled, fullWidth, children, }) => (React.createElement(CardBase, { onClick: disabled ? undefined : onClick, disabled: disabled, fullWidth: fullWidth, clickable: Boolean(onClick), tabIndex: onClick ? 0 : -1 },
11
- color && React.createElement(CardBase.ColorHiglight, { color: color }),
12
- chips.length > 0 && (React.createElement(ChipContainer, { dense: true }, chips.map((chip) => (React.createElement(Chip, { key: chip, text: chip }))))),
13
- React.createElement(Box, { display: "flex", gap: "5" },
14
- icon && React.createElement(Avatar, { image: icon }),
15
- React.createElement(CardBase.Content, { dense: true },
16
- React.createElement(Typography.SmallStrong, { color: "black" }, title),
17
- React.createElement(Typography.Caption, { color: "grey-70" }, children))),
18
- (action || link) && (React.createElement(CardBase.Actions, { dense: true },
19
- action && (React.createElement(SecondaryButton, Object.assign({ dense: true }, omit(action, 'text')), action.text)),
20
- link && (React.createElement(ExternalLinkButton, Object.assign({ dense: true, kind: "ghost" }, omit(link, 'text')), link.text))))));
12
+ export const CompactCard = ({ title, clampTitle, chips = [], icon, color, action, link, onClick, disabled, fullWidth, children, }) => {
13
+ const ref = useRef(null);
14
+ const { buttonProps } = useButton({ elementType: 'div', onPress: onClick, isDisabled: disabled }, ref);
15
+ const titleContent = React.createElement(Typography.SmallStrong, { color: "black" }, title);
16
+ return (React.createElement(CardBase, Object.assign({ ref: ref, clickable: Boolean(onClick), fullWidth: fullWidth,
17
+ // If any of the "additional features" in <Card> are used, we want to enable
18
+ // min width to make sure it doesn't
19
+ enableMinWidth: Boolean(action || link || chips.length) }, (onClick ? buttonProps : {}), { disabled: disabled }),
20
+ color && React.createElement(CardBase.ColorHiglight, { color: color }),
21
+ chips.length > 0 && (React.createElement(ChipContainer, { dense: true }, chips.map((chip) => (React.createElement(Chip, { key: chip, text: chip }))))),
22
+ React.createElement(Box, { display: "flex", gap: "5" },
23
+ icon && React.createElement(Avatar, { image: icon }),
24
+ React.createElement(CardBase.Content, { dense: true },
25
+ clampTitle ? React.createElement(LineClamp, { lines: clampTitle }, titleContent) : titleContent,
26
+ React.createElement(Typography.Caption, { color: "grey-70" }, children))),
27
+ (action || link) && (React.createElement(CardBase.Actions, { dense: true },
28
+ action && (React.createElement(SecondaryButton, Object.assign({ dense: true }, omit(action, 'text')), action.text)),
29
+ link && (React.createElement(ExternalLinkButton, Object.assign({ dense: true, kind: "ghost" }, omit(link, 'text')), link.text))))));
30
+ };
21
31
  const CompactSkeleton = ({ chips = true, icon = true, actions = true, fullWidth = false, }) => (React.createElement(CardBase, { fullWidth: fullWidth },
22
32
  chips && (React.createElement(ChipContainer, { dense: true }, Array.from({ length: 5 }).map((_, idx) => (React.createElement(Chip.Skeleton, { key: idx }))))),
23
33
  React.createElement(Box, { display: "flex", gap: "5" },
@@ -30,4 +40,4 @@ const CompactSkeleton = ({ chips = true, icon = true, actions = true, fullWidth
30
40
  React.createElement(Skeleton, { width: 115, height: 25 }),
31
41
  React.createElement(Skeleton, { width: 60, height: 25 })))));
32
42
  CompactCard.Skeleton = CompactSkeleton;
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcGFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NhcmQvQ29tcGFjdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxJQUFJLElBQUksUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFLeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDakMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQTZCaEQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUErRCxDQUFDLEVBQ3RGLEtBQUssRUFDTCxLQUFLLEdBQUcsRUFBRSxFQUNWLElBQUksRUFDSixLQUFLLEVBQ0wsTUFBTSxFQUNOLElBQUksRUFDSixPQUFPLEVBQ1AsUUFBUSxFQUNSLFNBQVMsRUFDVCxRQUFRLEdBQ1QsRUFBRSxFQUFFLENBQUMsQ0FDSixvQkFBQyxRQUFRLElBQ1AsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQ3ZDLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQzNCLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxD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
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcGFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NhcmQvQ29tcGFjdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxJQUFJLElBQUksUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFjLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBS3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFnQ2hELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBK0QsQ0FBQyxFQUN0RixLQUFLLEVBQ0wsVUFBVSxFQUNWLEtBQUssR0FBRyxFQUFFLEVBQ1YsSUFBSSxFQUNKLEtBQUssRUFDTCxNQUFNLEVBQ04sSUFBSSxFQUNKLE9BQU8sRUFDUCxRQUFRLEVBQ1IsU0FBUyxFQUNULFFBQVEsR0FDVCxFQUFFLEVBQUU7SUFDSCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQWlCLElBQUksQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxTQUFTLENBQUMsRUFB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
@@ -1,5 +1,6 @@
1
1
  import { type AsyncActionType, type LinkActionType } from '../../../types/ActionType';
2
2
  import { type ColorName } from '../../../types/designTokens';
3
+ import { type LimitedCssDimension } from '../../../types/DimensionProps';
3
4
  export declare type ClickableCard = {
4
5
  /**
5
6
  * Optional onClick callback for entire card
@@ -30,6 +31,10 @@ export declare type ImageCard = {
30
31
  * Optional `alt` attribute to image.
31
32
  */
32
33
  imageAlt?: string;
34
+ /**
35
+ * Optional `imageHeight` to image.
36
+ */
37
+ imageHeight?: LimitedCssDimension;
33
38
  };
34
39
  export declare type IconCard = {
35
40
  /**