@lumx/react 2.1.9-alpha-thumbnail → 2.1.9

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 (61) hide show
  1. package/esm/_internal/Avatar2.js +1 -5
  2. package/esm/_internal/Avatar2.js.map +1 -1
  3. package/esm/_internal/DragHandle.js +1 -1
  4. package/esm/_internal/DragHandle.js.map +1 -1
  5. package/esm/_internal/Flag2.js +1 -3
  6. package/esm/_internal/Flag2.js.map +1 -1
  7. package/esm/_internal/Icon2.js +9 -1
  8. package/esm/_internal/Icon2.js.map +1 -1
  9. package/esm/_internal/List2.js.map +1 -1
  10. package/esm/_internal/Message2.js +2 -2
  11. package/esm/_internal/Message2.js.map +1 -1
  12. package/esm/_internal/Slider2.js +2 -21
  13. package/esm/_internal/Slider2.js.map +1 -1
  14. package/esm/_internal/Thumbnail2.js +787 -81
  15. package/esm/_internal/Thumbnail2.js.map +1 -1
  16. package/esm/_internal/UserBlock.js +14 -45
  17. package/esm/_internal/UserBlock.js.map +1 -1
  18. package/esm/_internal/avatar.js +3 -0
  19. package/esm/_internal/avatar.js.map +1 -1
  20. package/esm/_internal/clamp.js +22 -0
  21. package/esm/_internal/clamp.js.map +1 -0
  22. package/esm/_internal/comment-block.js +3 -0
  23. package/esm/_internal/comment-block.js.map +1 -1
  24. package/esm/_internal/image-block.js +3 -0
  25. package/esm/_internal/image-block.js.map +1 -1
  26. package/esm/_internal/link-preview.js +3 -0
  27. package/esm/_internal/link-preview.js.map +1 -1
  28. package/esm/_internal/mdi.js +2 -2
  29. package/esm/_internal/mdi.js.map +1 -1
  30. package/esm/_internal/mosaic.js +3 -0
  31. package/esm/_internal/mosaic.js.map +1 -1
  32. package/esm/_internal/post-block.js +3 -0
  33. package/esm/_internal/post-block.js.map +1 -1
  34. package/esm/_internal/slider.js +2 -1
  35. package/esm/_internal/slider.js.map +1 -1
  36. package/esm/_internal/thumbnail.js +3 -0
  37. package/esm/_internal/thumbnail.js.map +1 -1
  38. package/esm/_internal/user-block.js +2 -1
  39. package/esm/_internal/user-block.js.map +1 -1
  40. package/esm/index.js +3 -2
  41. package/esm/index.js.map +1 -1
  42. package/package.json +4 -4
  43. package/src/components/avatar/Avatar.tsx +0 -8
  44. package/src/components/drag-handle/DragHandle.tsx +5 -1
  45. package/src/components/flag/Flag.test.tsx +1 -2
  46. package/src/components/flag/Flag.tsx +2 -10
  47. package/src/components/flag/__snapshots__/Flag.test.tsx.snap +0 -15
  48. package/src/components/icon/Icon.tsx +10 -1
  49. package/src/components/message/Message.tsx +2 -2
  50. package/src/components/thumbnail/Thumbnail.stories.tsx +42 -347
  51. package/src/components/thumbnail/Thumbnail.test.tsx +2 -20
  52. package/src/components/thumbnail/Thumbnail.tsx +45 -73
  53. package/src/components/thumbnail/__snapshots__/Thumbnail.test.tsx.snap +6 -53
  54. package/src/components/thumbnail/useFocusPoint.ts +10 -18
  55. package/src/components/thumbnail/useImageLoad.ts +22 -23
  56. package/src/components/user-block/UserBlock.stories.tsx +4 -30
  57. package/src/components/user-block/UserBlock.tsx +16 -41
  58. package/src/components/user-block/__snapshots__/UserBlock.test.tsx.snap +145 -244
  59. package/src/hooks/useOnResize.ts +0 -6
  60. package/src/stories/knobs/image.ts +3 -35
  61. package/types.d.ts +0 -14
@@ -7,9 +7,12 @@ import 'lodash/isBoolean';
7
7
  import 'lodash/isEmpty';
8
8
  import 'lodash/kebabCase';
9
9
  import 'lodash/noop';
10
+ import './constants.js';
10
11
  import './mergeRefs.js';
11
12
  import './Icon2.js';
12
13
  import 'lodash/take';
13
14
  export { M as Mosaic } from './Mosaic2.js';
15
+ import './clamp.js';
14
16
  import './Thumbnail2.js';
17
+ import 'lodash';
15
18
  //# sourceMappingURL=mosaic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mosaic.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
1
+ {"version":3,"file":"mosaic.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -7,10 +7,13 @@ import 'lodash/isBoolean';
7
7
  import 'lodash/isEmpty';
8
8
  import 'lodash/kebabCase';
9
9
  import 'lodash/noop';
10
+ import './constants.js';
10
11
  import './mergeRefs.js';
11
12
  import './Icon2.js';
12
13
  import 'lodash/isObject';
13
14
  export { P as PostBlock } from './PostBlock.js';
15
+ import './clamp.js';
14
16
  import './Thumbnail2.js';
17
+ import 'lodash';
15
18
  import './types.js';
16
19
  //# sourceMappingURL=post-block.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-block.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"post-block.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
@@ -9,5 +9,6 @@ import 'lodash/kebabCase';
9
9
  import 'lodash/noop';
10
10
  import './InputHelper.js';
11
11
  import './InputLabel.js';
12
- export { S as Slider, c as clamp } from './Slider2.js';
12
+ export { S as Slider } from './Slider2.js';
13
+ export { c as clamp } from './clamp.js';
13
14
  //# sourceMappingURL=slider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
1
+ {"version":3,"file":"slider.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -7,8 +7,11 @@ import 'lodash/isBoolean';
7
7
  import 'lodash/isEmpty';
8
8
  import 'lodash/kebabCase';
9
9
  import 'lodash/noop';
10
+ import './constants.js';
10
11
  import './mergeRefs.js';
11
12
  import './Icon2.js';
13
+ import './clamp.js';
12
14
  export { T as Thumbnail } from './Thumbnail2.js';
15
+ import 'lodash';
13
16
  export { T as ThumbnailAspectRatio, a as ThumbnailVariant } from './types.js';
14
17
  //# sourceMappingURL=thumbnail.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thumbnail.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"thumbnail.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
@@ -7,10 +7,11 @@ import 'lodash/isBoolean';
7
7
  import 'lodash/isEmpty';
8
8
  import 'lodash/kebabCase';
9
9
  import 'lodash/noop';
10
+ import './constants.js';
10
11
  import './mergeRefs.js';
11
12
  import './Avatar2.js';
12
- import './renderLink.js';
13
13
  import './Icon2.js';
14
+ import './clamp.js';
14
15
  import './Thumbnail2.js';
15
16
  import 'lodash';
16
17
  export { U as UserBlock } from './UserBlock.js';
@@ -1 +1 @@
1
- {"version":3,"file":"user-block.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"user-block.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
package/esm/index.js CHANGED
@@ -74,18 +74,19 @@ export { R as RadioButton, a as RadioGroup } from './_internal/RadioGroup.js';
74
74
  export { a as Select, c as SelectMultiple, b as SelectMultipleField, S as SelectVariant } from './_internal/SelectMultiple.js';
75
75
  export { S as SideNavigation, a as SideNavigationItem } from './_internal/SideNavigationItem.js';
76
76
  export { S as SkeletonCircle, b as SkeletonRectangle, a as SkeletonRectangleVariant, c as SkeletonTypography } from './_internal/SkeletonTypography.js';
77
- export { S as Slider, c as clamp } from './_internal/Slider2.js';
77
+ export { S as Slider } from './_internal/Slider2.js';
78
+ export { c as clamp } from './_internal/clamp.js';
78
79
  export { S as Slideshow, b as SlideshowControls, a as SlideshowItem } from './_internal/SlideshowControls.js';
79
80
  export { S as Switch } from './_internal/Switch2.js';
80
81
  export { T as Table, a as TableBody, d as TableCell, c as TableCellVariant, e as TableHeader, f as TableRow, b as ThOrder } from './_internal/TableRow.js';
81
82
  export { c as Tab, b as TabList, a as TabListLayout, d as TabPanel, T as TabProvider } from './_internal/TabPanel.js';
82
83
  export { T as TextField } from './_internal/TextField.js';
83
84
  export { T as Thumbnail } from './_internal/Thumbnail2.js';
85
+ import 'lodash';
84
86
  export { T as ThumbnailAspectRatio, a as ThumbnailVariant } from './_internal/types.js';
85
87
  export { T as Toolbar } from './_internal/Toolbar2.js';
86
88
  export { T as Tooltip } from './_internal/Tooltip2.js';
87
89
  import 'lodash/debounce';
88
90
  export { a as Uploader, U as UploaderVariant } from './_internal/Uploader2.js';
89
- import 'lodash';
90
91
  export { U as UserBlock } from './_internal/UserBlock.js';
91
92
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -7,8 +7,8 @@
7
7
  },
8
8
  "dependencies": {
9
9
  "@juggle/resize-observer": "^3.2.0",
10
- "@lumx/core": "^2.1.9-alpha-thumbnail",
11
- "@lumx/icons": "^2.1.9-alpha-thumbnail",
10
+ "@lumx/core": "^2.1.9",
11
+ "@lumx/icons": "^2.1.9",
12
12
  "@popperjs/core": "^2.5.4",
13
13
  "body-scroll-lock": "^3.1.5",
14
14
  "classnames": "^2.2.6",
@@ -120,6 +120,6 @@
120
120
  "build:storybook": "cd storybook && ./build"
121
121
  },
122
122
  "sideEffects": false,
123
- "version": "2.1.9-alpha-thumbnail",
124
- "gitHead": "e89e3ca2d44ff4b4aeb73af5662aea190d93f8a3"
123
+ "version": "2.1.9",
124
+ "gitHead": "fdcfec63e1d0e4e82934a34b6e27c8076f9cba8d"
125
125
  }
@@ -36,10 +36,6 @@ export interface AvatarProps extends GenericProps {
36
36
  ThumbnailProps,
37
37
  'image' | 'alt' | 'size' | 'theme' | 'align' | 'fillHeight' | 'variant' | 'aspectRatio'
38
38
  >;
39
- /** Props to pass to the link wrapping the thumbnail. */
40
- linkProps?: React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;
41
- /** Custom react component for the link (can be used to inject react router Link). */
42
- linkAs?: 'a' | any;
43
39
  }
44
40
 
45
41
  /**
@@ -79,8 +75,6 @@ export const Avatar: Comp<AvatarProps, HTMLDivElement> = forwardRef((props, ref)
79
75
  size,
80
76
  theme,
81
77
  thumbnailProps,
82
- linkProps,
83
- linkAs,
84
78
  ...forwardedProps
85
79
  } = props;
86
80
 
@@ -91,8 +85,6 @@ export const Avatar: Comp<AvatarProps, HTMLDivElement> = forwardRef((props, ref)
91
85
  className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, size, theme }))}
92
86
  >
93
87
  <Thumbnail
94
- linkProps={linkProps}
95
- linkAs={linkAs}
96
88
  className={`${CLASSNAME}__thumbnail`}
97
89
  onClick={onClick}
98
90
  onKeyPress={onKeyPress}
@@ -40,7 +40,11 @@ export const DragHandle: Comp<DragHandleProps, HTMLDivElement> = forwardRef((pro
40
40
  {...forwardedProps}
41
41
  className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, theme }))}
42
42
  >
43
- <Icon icon={mdiDragVertical} color={theme === Theme.dark ? ColorPalette.light : undefined} size={Size.xs} />
43
+ <Icon
44
+ icon={mdiDragVertical}
45
+ color={theme === Theme.dark ? ColorPalette.light : ColorPalette.dark}
46
+ size={Size.xs}
47
+ />
44
48
  </div>
45
49
  );
46
50
  });
@@ -69,9 +69,8 @@ describe(`<${Flag.displayName} />`, () => {
69
69
 
70
70
  it('should use the color', () => {
71
71
  const color = ColorPalette.green;
72
- const { wrapper, iconEl } = setup({ icon: mdiAbTesting, color });
72
+ const { wrapper } = setup({ icon: mdiAbTesting, color });
73
73
 
74
- expect(iconEl.prop('color')).toEqual(color);
75
74
  expect(wrapper).toHaveClassName(
76
75
  getBasicClass({
77
76
  prefix: CLASSNAME,
@@ -1,7 +1,7 @@
1
1
  import React, { forwardRef } from 'react';
2
2
  import classNames from 'classnames';
3
3
 
4
- import { ColorPalette, ColorVariant, Icon, Size, Theme } from '@lumx/react';
4
+ import { ColorPalette, Icon, Size, Theme } from '@lumx/react';
5
5
  import { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';
6
6
 
7
7
  export interface FlagProps extends GenericProps {
@@ -38,15 +38,7 @@ export const Flag: Comp<FlagProps, HTMLDivElement> = forwardRef((props, ref) =>
38
38
  className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, color: flagColor }))}
39
39
  ref={ref}
40
40
  >
41
- {icon && (
42
- <Icon
43
- icon={icon}
44
- color={color}
45
- colorVariant={ColorVariant.D2}
46
- size={Size.xxs}
47
- className={`${CLASSNAME}__icon`}
48
- />
49
- )}
41
+ {icon && <Icon icon={icon} size={Size.xxs} className={`${CLASSNAME}__icon`} />}
50
42
  <span className={`${CLASSNAME}__label`}>{label}</span>
51
43
  </div>
52
44
  );
@@ -19,8 +19,6 @@ Array [
19
19
  >
20
20
  <Icon
21
21
  className="lumx-flag__icon"
22
- color="blue"
23
- colorVariant="D2"
24
22
  icon="M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z"
25
23
  size="xxs"
26
24
  />
@@ -35,8 +33,6 @@ Array [
35
33
  >
36
34
  <Icon
37
35
  className="lumx-flag__icon"
38
- color="dark"
39
- colorVariant="D2"
40
36
  icon="M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z"
41
37
  size="xxs"
42
38
  />
@@ -51,8 +47,6 @@ Array [
51
47
  >
52
48
  <Icon
53
49
  className="lumx-flag__icon"
54
- color="green"
55
- colorVariant="D2"
56
50
  icon="M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z"
57
51
  size="xxs"
58
52
  />
@@ -67,8 +61,6 @@ Array [
67
61
  >
68
62
  <Icon
69
63
  className="lumx-flag__icon"
70
- color="primary"
71
- colorVariant="D2"
72
64
  icon="M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z"
73
65
  size="xxs"
74
66
  />
@@ -83,8 +75,6 @@ Array [
83
75
  >
84
76
  <Icon
85
77
  className="lumx-flag__icon"
86
- color="red"
87
- colorVariant="D2"
88
78
  icon="M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z"
89
79
  size="xxs"
90
80
  />
@@ -99,8 +89,6 @@ Array [
99
89
  >
100
90
  <Icon
101
91
  className="lumx-flag__icon"
102
- color="secondary"
103
- colorVariant="D2"
104
92
  icon="M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z"
105
93
  size="xxs"
106
94
  />
@@ -115,8 +103,6 @@ Array [
115
103
  >
116
104
  <Icon
117
105
  className="lumx-flag__icon"
118
- color="yellow"
119
- colorVariant="D2"
120
106
  icon="M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z"
121
107
  size="xxs"
122
108
  />
@@ -135,7 +121,6 @@ exports[`<Flag /> Snapshots and structure should render story 'withIcon' 1`] = `
135
121
  >
136
122
  <Icon
137
123
  className="lumx-flag__icon"
138
- colorVariant="D2"
139
124
  icon="M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z"
140
125
  size="xxs"
141
126
  />
@@ -52,11 +52,20 @@ const DEFAULT_PROPS: Partial<IconProps> = {};
52
52
  */
53
53
  export const Icon: Comp<IconProps, HTMLElement> = forwardRef((props, ref) => {
54
54
  const { className, color, colorVariant, hasShape, icon, size, theme, ...forwardedProps } = props;
55
+
55
56
  let iconColor;
57
+ let iconColorVariant;
56
58
  if (color) {
57
59
  iconColor = color;
60
+ iconColorVariant = colorVariant;
58
61
  } else if (theme) {
59
62
  iconColor = theme === Theme.light ? ColorPalette.dark : ColorPalette.light;
63
+
64
+ if (colorVariant) {
65
+ iconColorVariant = colorVariant;
66
+ } else {
67
+ iconColorVariant = Theme.light ? 'L1' : 'N';
68
+ }
60
69
  } else if (hasShape) {
61
70
  iconColor = ColorPalette.dark;
62
71
  }
@@ -86,7 +95,7 @@ export const Icon: Comp<IconProps, HTMLElement> = forwardRef((props, ref) => {
86
95
  className,
87
96
  handleBasicClasses({
88
97
  color: iconColor,
89
- colorVariant,
98
+ colorVariant: iconColorVariant,
90
99
  hasShape,
91
100
  prefix: CLASSNAME,
92
101
  size: iconSize,
@@ -62,8 +62,8 @@ export const Message: Comp<MessageProps, HTMLDivElement> = forwardRef((props, re
62
62
  )}
63
63
  {...forwardedProps}
64
64
  >
65
- {(customIcon || icon) && <Icon className="lumx-message__icon" icon={customIcon || icon} size={Size.xs} />}
66
- <div className="lumx-message__text">{children}</div>
65
+ {(customIcon || icon) && <Icon className={`${CLASSNAME}__icon`} icon={customIcon || icon} size={Size.xs} />}
66
+ <div className={`${CLASSNAME}__text`}>{children}</div>
67
67
  </div>
68
68
  );
69
69
  });