@atlaskit/tile 0.1.4 → 0.2.1

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 (43) hide show
  1. package/CHANGELOG.md +19 -4
  2. package/README.md +1 -1
  3. package/constellation/index/examples.mdx +68 -0
  4. package/constellation/index/images/do-donts/tile-reference-do.png +0 -0
  5. package/constellation/index/images/do-donts/tile-reference-dont.png +0 -0
  6. package/constellation/index/images/do-donts/tile-variant-do.png +0 -0
  7. package/constellation/index/images/do-donts/tile-variant-dont.png +0 -0
  8. package/constellation/index/images/icon-tile-thumbnail-light.png +0 -0
  9. package/constellation/index/images/object-tile-thumbnail-light.png +0 -0
  10. package/constellation/index/images/tile-anatomy-dark.png +0 -0
  11. package/constellation/index/images/tile-anatomy-light.png +0 -0
  12. package/constellation/index/images/tile-overview-dark.png +0 -0
  13. package/constellation/index/images/tile-overview-light.png +0 -0
  14. package/constellation/index/overview.mdx +78 -0
  15. package/constellation/index/props.mdx +14 -0
  16. package/constellation/index/usage.mdx +90 -0
  17. package/dist/cjs/entry-point/skeleton.js +13 -0
  18. package/dist/cjs/index.js +8 -1
  19. package/dist/cjs/skeleton.js +37 -0
  20. package/dist/cjs/tile.compiled.css +25 -0
  21. package/dist/cjs/tile.js +10 -7
  22. package/dist/es2019/entry-point/skeleton.js +1 -0
  23. package/dist/es2019/index.js +2 -1
  24. package/dist/es2019/skeleton.js +30 -0
  25. package/dist/es2019/tile.compiled.css +25 -0
  26. package/dist/es2019/tile.js +10 -7
  27. package/dist/esm/entry-point/skeleton.js +1 -0
  28. package/dist/esm/index.js +2 -1
  29. package/dist/esm/skeleton.js +30 -0
  30. package/dist/esm/tile.compiled.css +25 -0
  31. package/dist/esm/tile.js +10 -7
  32. package/dist/types/entry-point/skeleton.d.ts +2 -0
  33. package/dist/types/index.d.ts +1 -0
  34. package/dist/types/skeleton.d.ts +9 -0
  35. package/dist/types/tile.d.ts +1 -1
  36. package/dist/types/types.d.ts +22 -1
  37. package/dist/types-ts4.5/entry-point/skeleton.d.ts +2 -0
  38. package/dist/types-ts4.5/index.d.ts +1 -0
  39. package/dist/types-ts4.5/skeleton.d.ts +9 -0
  40. package/dist/types-ts4.5/tile.d.ts +1 -1
  41. package/dist/types-ts4.5/types.d.ts +22 -1
  42. package/package.json +5 -7
  43. package/skeleton/package.json +17 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @atlaskit/tile
2
2
 
3
+ ## 0.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`e1c9823b0b420`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/e1c9823b0b420) -
8
+ Fixed issue with sizing of certain `@atlaskit/emoji` assets within tiles.
9
+ - Updated dependencies
10
+
11
+ ## 0.2.0
12
+
13
+ ### Minor Changes
14
+
15
+ - [`f20393c20ed30`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f20393c20ed30) -
16
+ Added new Tile Skeleton to act as a placeholder while content loads.
17
+
3
18
  ## 0.1.4
4
19
 
5
20
  ### Patch Changes
@@ -18,8 +33,8 @@
18
33
 
19
34
  ### Patch Changes
20
35
 
21
- - [`9e77915865d6e`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/9e77915865d6e) - -
22
- Corrected border width
36
+ - [`9e77915865d6e`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/9e77915865d6e) -
37
+ - Corrected border width
23
38
  - Simplified labelling method
24
39
 
25
40
  ## 0.1.1
@@ -27,5 +42,5 @@
27
42
  ### Patch Changes
28
43
 
29
44
  - [`f6b3f669a74bf`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f6b3f669a74bf) -
30
- Prevented tile from resizing in flex containers, to maintain correct sizing.
31
- - Updated dependencies
45
+ - Prevented tile from resizing in flex containers, to maintain correct sizing.
46
+ - Updated dependencies
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Image
2
2
 
3
- A tile is a rounded square that takes an asset (Image, Icon, Logo) and represents a noun.
3
+ A tile is a rounded square that takes an asset and represents a noun.
4
4
 
5
5
  ## Installation
6
6
 
@@ -0,0 +1,68 @@
1
+ ---
2
+ order: 1
3
+ ---
4
+
5
+ import TileDefault from '../../examples/constellation/tile-default';
6
+ import TileSizes from '../../examples/constellation/tile-sizes';
7
+ import TileBackgroundColor from '../../examples/constellation/tile-background-color';
8
+ import TileBackgroundColorStatic from '../../examples/constellation/tile-background-color-static';
9
+ import TileBorder from '../../examples/constellation/tile-border';
10
+ import TileInset from '../../examples/constellation/tile-inset';
11
+ import TileLabelling from '../../examples/constellation/tile-labelling';
12
+ import TileThemed from '../../examples/constellation/tile-themed';
13
+
14
+ ## Default
15
+
16
+ The default tile has a medium size, neutral background, and inset enabled – ready to accept any asset as content.
17
+
18
+ <Example Component={TileDefault} packageName="@atlaskit/tile" />
19
+
20
+ ## Size
21
+
22
+ Tiles can be set to six different sizes using the <inlineCode>size</inlineCode> prop, from <inlineCode>xxsmall</inlineCode> (16px) to <inlineCode>xlarge</inlineCode> (48px). This defaults to <inlineCode>medium</inlineCode> (32px).
23
+
24
+ <Example Component={TileSizes} packageName="@atlaskit/tile" />
25
+
26
+ ## Background color
27
+
28
+ Tiles support a variety of background colors using the <inlineCode>backgroundColor</inlineCode> prop, which can be set to <a href="/components/tokens/all-tokens">design tokens</a>. This defaults to <inlineCode>color.background.neutral</inlineCode>.
29
+
30
+ <Example Component={TileBackgroundColor} packageName="@atlaskit/tile" />
31
+
32
+ ### Static colors
33
+
34
+ Alternatively, static <inlineCode>white</inlineCode> or <inlineCode>black</inlineCode> background colors are supported. These will not change with the color mode, unlike design tokens.
35
+
36
+ <Example Component={TileBackgroundColorStatic} packageName="@atlaskit/tile" />
37
+
38
+ ## Border
39
+
40
+ Tiles can display a border around the tile with the <inlineCode>hasBorder</inlineCode> prop. This is disabled by default.
41
+
42
+ <Example Component={TileBorder} packageName="@atlaskit/tile" />
43
+
44
+ ## Inset
45
+
46
+ Tiles can be configured with or without internal inset (padding) using <inlineCode>isInset</inlineCode>. Disabling inset can be used for supplying assets with backgrounds, such as third-party logos.
47
+
48
+ Inset is enabled by default to provide appropriate spacing for assets.
49
+
50
+ <Example Component={TileInset} packageName="@atlaskit/tile" />
51
+
52
+ ## Labelling
53
+
54
+ Use the <inlineCode>label</inlineCode> prop to provide accessible labelling for tiles. Use descriptive labels for meaningful tiles, or empty strings for decorative tiles.
55
+
56
+ <Example Component={TileLabelling} packageName="@atlaskit/tile" />
57
+
58
+ ## Themed assets
59
+
60
+ Tiles can swap assets between light and dark mode, by using existing theming capabilities within the design system.
61
+
62
+ This may be useful if assets need more contrast in either light or dark mode.
63
+
64
+ Alternatively, suitable SVG assets that use <inlineCode>currentColor</inlineCode> will inherit tile's <inlineCode>color</inlineCode>, which is already themed using the design token <inlineCode>color.text</inlineCode>.
65
+
66
+ <Example Component={TileThemed} packageName="@atlaskit/tile" appearance="source-only" />
67
+
68
+
@@ -0,0 +1,78 @@
1
+ ---
2
+ order: 0
3
+ ---
4
+
5
+ import { RelatedCard, RelatedCardGrid } from '@af/design-system-docs-ui';
6
+ import Image from '@atlaskit/image';
7
+ import Table, { Cell, HeadCell, Row, TBody, THead } from '@atlaskit/table';
8
+
9
+ import tileOverviewLight from './images/tile-overview-light.png';
10
+ import tileOverviewDark from './images/tile-overview-dark.png';
11
+ import objectTile from './images/object-tile-thumbnail-light.png';
12
+ import iconTile from './images/icon-tile-thumbnail-light.png';
13
+
14
+ ## Tile system
15
+
16
+ The tile component sets the foundation of our tile system, setting a standard for size, space, and shape properties for all tile-shaped elements within Atlassian UI.
17
+
18
+ So far, the properties of tile is inherited by the following components:
19
+ - Icon tile
20
+ - Object tile
21
+
22
+ Makers should default to using these components, but in cases where a 'custom' tile is needed (for assets such as third-party logos or emojis), the tile component can be leveraged.
23
+
24
+ Together, these components make a comprehensive system that brings flexibility and consistency to our apps.
25
+
26
+ <Image src={tileOverviewLight} srcDark={tileOverviewDark} alt="An overview of the components in the tile system" />
27
+
28
+
29
+ ## Tile components
30
+
31
+ <Table>
32
+ <THead>
33
+ <HeadCell>Component</HeadCell>
34
+ <HeadCell>Description</HeadCell>
35
+ <HeadCell>Used for</HeadCell>
36
+ </THead>
37
+ <TBody>
38
+ <Row key={1}>
39
+ <Cell width="18%"><a href="/components/tile/examples">Tile</a></Cell>
40
+ <Cell>A versatile, foundational container with baked-in sizing and radii properties for displaying elements in a tile shape. It is flexible and can be used as a container to add in any foreground element, background, or color as needed.</Cell>
41
+ <Cell>Anything that's not an icon or object, such as emojis and third-party logos</Cell>
42
+ </Row>
43
+ <Row key={2}>
44
+ <Cell width="18%"><a href="/components/icon/icon-tile/examples">Icon tile</a></Cell>
45
+ <Cell>Allows icons to be scaled larger than 16px. It has pre-set options for color and size to ensure accessibility and readability, and to prominently highlight icons in a layout.</Cell>
46
+ <Cell>Icons</Cell>
47
+ </Row>
48
+ <Row key={3}>
49
+ <Cell width="18%"><a href="/components/object/object-tile/examples">Object tile</a></Cell>
50
+ <Cell>Use instead of an icon tile to represent Atlassian-specific content icons, such as pages, live docs, whiteboard, or bugs. Each object tile has a specific color token that cannot be changed.</Cell>
51
+ <Cell>Objects</Cell>
52
+ </Row>
53
+ </TBody>
54
+ </Table>
55
+
56
+ ## Related
57
+
58
+ <RelatedCardGrid>
59
+ <RelatedCard
60
+ title="Object tile"
61
+ description="Represents Atlassian-specific content in a tile"
62
+ image={{
63
+ src: objectTile,
64
+ alt: '',
65
+ }}
66
+ href="/components/object/object-tile/examples"
67
+ />
68
+ <RelatedCard
69
+ title="Icon tile"
70
+ description="An icon with properties determined by Tile"
71
+ image={{
72
+ src: iconTile,
73
+ alt: '',
74
+ }}
75
+ href="/components/icon/icon-tile/examples"
76
+ />
77
+ </RelatedCardGrid>
78
+
@@ -0,0 +1,14 @@
1
+ ---
2
+ order: 2
3
+ props:
4
+ packageName: '@atlaskit/tile'
5
+ includeInternal: true
6
+ exports:
7
+ - default
8
+ ---
9
+
10
+ import Tile from '@atlaskit/tile';
11
+
12
+ ## Props
13
+
14
+ <TSMorphProps exportName="default" packageName="@atlaskit/tile" />
@@ -0,0 +1,90 @@
1
+ ---
2
+ order: 3
3
+ ---
4
+
5
+ import SectionMessage from '@atlaskit/section-message';
6
+ import Image from '@atlaskit/image';
7
+
8
+
9
+ import tileAnatomyLight from './images/tile-anatomy-light.png';
10
+ import tileAnatomyDark from './images/tile-anatomy-dark.png';
11
+ import tileReferenceDo from './images/do-donts/tile-reference-do.png';
12
+ import tileReferenceDont from './images/do-donts/tile-reference-dont.png';
13
+ import tileVariantDo from './images/do-donts/tile-variant-do.png';
14
+ import tileVariantDont from './images/do-donts/tile-variant-dont.png';
15
+
16
+ ## Usage
17
+
18
+ <SectionMessage appearance="warning">
19
+ Tile should only be used if existing components (e.g. <a href="/components/icon/icon-tile/examples">Icon tile</a>, <a href="/components/object/object-tile/examples">Object tile</a>, <a href="/components/avatar/examples#square">Square Avatars</a>) do not meet your needs.
20
+ </SectionMessage>
21
+
22
+ Tile is a versatile, foundational container with baked in sizing and radii properties for displaying elements in a tile shape. It is unopinionated in its content and can be used to slot in any asset, background, color or foreground element as needed.
23
+
24
+ Both <a href="/components/icon/icon-tile/examples">Icon tile</a> and <a href="/components/object/object-tile/examples">Object tile</a> inherit properties of tile ensuring a consistent and cohesive tile system across various applications.
25
+
26
+ Use tiles to slot in elements such as:
27
+
28
+ - Emojis
29
+ - Third-party logos
30
+
31
+ ## Anatomy
32
+
33
+ <Image src={tileAnatomyLight} srcDark={tileAnatomyDark} alt="Anatomy of a tile" />
34
+
35
+ 1. **Tile background**: By default, the inset variant has a neutral background set to <inlineCode>color.background.neutral</inlineCode>. This can be switched out with other background tokens, white, or black.
36
+ 2. **Foreground element**: Place any element within the bounds of the slot.
37
+
38
+ ## Best practices
39
+
40
+ ### Always use the correct variant
41
+
42
+ - Non-inset variant: suited for full bleed assets as it allows for an end-to-end fill
43
+ - Inset variant: use for any other content
44
+
45
+ <DoDont
46
+ type="do"
47
+ image={{
48
+ url: tileVariantDo,
49
+ alt: '',
50
+ }}
51
+ >
52
+ Use the same variant when tiles are listed or grouped.
53
+ </DoDont>
54
+ <DoDont
55
+ type="dont"
56
+ image={{
57
+ url: tileVariantDont,
58
+ alt: '',
59
+ }}
60
+ >
61
+ Avoid mixing inset and non-inset variables in a group.
62
+ </DoDont>
63
+
64
+ ### Reference height of adjacent content for size
65
+
66
+ Tiles support a range of sizes from 16px to 48px. As a general rule when selecting size, reference the size of the tile to the height of its adjacent content for visual balance.
67
+
68
+ <DoDont
69
+ type="do"
70
+ image={{
71
+ url: tileReferenceDo,
72
+ alt: '',
73
+ }}
74
+ >
75
+ Align tile sizing to closely match the height of its adjacent content.
76
+ </DoDont>
77
+ <DoDont
78
+ type="dont"
79
+ image={{
80
+ url: tileReferenceDont,
81
+ alt: '',
82
+ }}
83
+ >
84
+ Avoid selecting tile sizes smaller than the height of its adjacent content.
85
+ </DoDont>
86
+
87
+ ## Related
88
+
89
+ - For icons with colored backgrounds, use <a href="/components/icon/icon-tile/examples">Icon tile</a>
90
+ - For objects in a tile, use <a href="/components/object/object-tile/examples">Object tile</a>
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _skeleton.default;
11
+ }
12
+ });
13
+ var _skeleton = _interopRequireDefault(require("../skeleton"));
package/dist/cjs/index.js CHANGED
@@ -4,10 +4,17 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ Object.defineProperty(exports, "Skeleton", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _skeleton.default;
11
+ }
12
+ });
7
13
  Object.defineProperty(exports, "default", {
8
14
  enumerable: true,
9
15
  get: function get() {
10
16
  return _tile.default;
11
17
  }
12
18
  });
13
- var _tile = _interopRequireDefault(require("./tile"));
19
+ var _tile = _interopRequireDefault(require("./tile"));
20
+ var _skeleton = _interopRequireDefault(require("./entry-point/skeleton"));
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = TileSkeleton;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _skeleton = _interopRequireDefault(require("@atlaskit/skeleton"));
10
+ var _tile = _interopRequireDefault(require("./tile"));
11
+ /**
12
+ * __Skeleton__
13
+ *
14
+ * A skeleton is the loading state for the tile component.
15
+ *
16
+ */
17
+ function TileSkeleton(_ref) {
18
+ var color = _ref.color,
19
+ isShimmering = _ref.isShimmering,
20
+ shimmeringEndColor = _ref.shimmeringEndColor,
21
+ _ref$size = _ref.size,
22
+ size = _ref$size === void 0 ? 'medium' : _ref$size,
23
+ testId = _ref.testId;
24
+ return /*#__PURE__*/_react.default.createElement(_tile.default, {
25
+ label: "",
26
+ size: size,
27
+ testId: testId,
28
+ backgroundColor: "transparent"
29
+ }, /*#__PURE__*/_react.default.createElement(_skeleton.default, {
30
+ color: color,
31
+ isShimmering: isShimmering,
32
+ ShimmeringEndColor: shimmeringEndColor,
33
+ width: '100%',
34
+ height: '100%',
35
+ testId: testId ? "".concat(testId, "--skeleton") : undefined
36
+ }));
37
+ }
@@ -14,9 +14,21 @@
14
14
  ._1bsbgktf{width:20px}
15
15
  ._1bsbzwfg{width:2pc}
16
16
  ._1e0c116y{display:inline-flex}
17
+ ._1hdc19el .emoji-common-emoji-sprite{min-width:10px!important}
18
+ ._1hdc1gpt .emoji-common-emoji-sprite{min-width:1pc!important}
19
+ ._1hdc1txs .emoji-common-emoji-sprite{min-width:20px!important}
20
+ ._1hdca982 .emoji-common-emoji-sprite{min-width:24px!important}
21
+ ._1hdcmccc .emoji-common-emoji-sprite{min-width:9pt!important}
22
+ ._1hdcwk7l .emoji-common-emoji-sprite{min-width:14px!important}
17
23
  ._1iia1osq div{height:100%}
18
24
  ._1iia1wug div{height:auto}
19
25
  ._1o9zidpf{flex-shrink:0}
26
+ ._1pc719el .emoji-common-emoji-sprite{height:10px!important}
27
+ ._1pc71gpt .emoji-common-emoji-sprite{height:1pc!important}
28
+ ._1pc71txs .emoji-common-emoji-sprite{height:20px!important}
29
+ ._1pc7a982 .emoji-common-emoji-sprite{height:24px!important}
30
+ ._1pc7mccc .emoji-common-emoji-sprite{height:9pt!important}
31
+ ._1pc7wk7l .emoji-common-emoji-sprite{height:14px!important}
20
32
  ._1qwg19bv div{width:10px}
21
33
  ._1qwg1crf div{width:9pt}
22
34
  ._1qwg1osq div{width:100%}
@@ -42,6 +54,12 @@
42
54
  ._4t3ickbl{height:3pc}
43
55
  ._4t3igktf{height:20px}
44
56
  ._4t3izwfg{height:2pc}
57
+ ._5ile19el .emoji-common-emoji-sprite{width:10px!important}
58
+ ._5ile1gpt .emoji-common-emoji-sprite{width:1pc!important}
59
+ ._5ile1txs .emoji-common-emoji-sprite{width:20px!important}
60
+ ._5ilea982 .emoji-common-emoji-sprite{width:24px!important}
61
+ ._5ilemccc .emoji-common-emoji-sprite{width:9pt!important}
62
+ ._5ilewk7l .emoji-common-emoji-sprite{width:14px!important}
45
63
  ._bfhk11bn{background-color:var(--ds-background-accent-gray-subtlest,#f1f2f4)}
46
64
  ._bfhk14wj{background-color:var(--ds-background-information-bold,#0c66e4)}
47
65
  ._bfhk15mt{background-color:var(--ds-background-brand-boldest,#1c2b41)}
@@ -51,6 +69,7 @@
51
69
  ._bfhk1g3m{background-color:var(--ds-background-accent-orange-subtlest,#fff3eb)}
52
70
  ._bfhk1g6e{background-color:var(--ds-background-accent-orange-subtle,#fea362)}
53
71
  ._bfhk1gly{background-color:var(--ds-background-danger,#ffeceb)}
72
+ ._bfhk1j28{background-color:transparent}
54
73
  ._bfhk1j89{background-color:var(--ds-background-accent-blue-subtle,#579dff)}
55
74
  ._bfhk1jkz{background-color:var(--ds-background-accent-purple-subtler,#dfd8fd)}
56
75
  ._bfhk1lri{background-color:var(--ds-background-discovery-bold,#6e5dc6)}
@@ -117,6 +136,12 @@
117
136
  ._mezj7vkz img{width:1pc}
118
137
  ._mezjdlk8 img{width:14px}
119
138
  ._mezjgktf img{width:20px}
139
+ ._pkax19el .emoji-common-emoji-sprite{min-height:10px!important}
140
+ ._pkax1gpt .emoji-common-emoji-sprite{min-height:1pc!important}
141
+ ._pkax1txs .emoji-common-emoji-sprite{min-height:20px!important}
142
+ ._pkaxa982 .emoji-common-emoji-sprite{min-height:24px!important}
143
+ ._pkaxmccc .emoji-common-emoji-sprite{min-height:9pt!important}
144
+ ._pkaxwk7l .emoji-common-emoji-sprite{min-height:14px!important}
120
145
  ._vchhusvi{box-sizing:border-box}
121
146
  ._w8l519bv svg{width:10px}
122
147
  ._w8l51crf svg{width:9pt}
package/dist/cjs/tile.js CHANGED
@@ -1,4 +1,5 @@
1
1
  /* tile.tsx generated by @compiled/babel-plugin v0.38.1 */
2
+ /* eslint-disable @atlaskit/ui-styling-standard/no-important-styles */
2
3
  "use strict";
3
4
 
4
5
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -25,16 +26,17 @@ var sizeMap = {
25
26
  xlarge: "_1bsbckbl _4t3ickbl _1wyb1tcg"
26
27
  };
27
28
  var insetSizeMap = {
28
- xxsmall: "_1qwg19bv _mezj19bv _e2oo19bv _w8l519bv",
29
- xsmall: "_1qwg1crf _mezj1crf _e2oo1crf _w8l51crf",
30
- small: "_1qwgdlk8 _mezjdlk8 _e2oodlk8 _w8l5dlk8",
31
- medium: "_1qwg7vkz _mezj7vkz _e2oo7vkz _w8l57vkz",
32
- large: "_1qwggktf _mezjgktf _e2oogktf _w8l5gktf",
33
- xlarge: "_1qwg1tcg _mezj1tcg _e2oo1tcg _w8l51tcg"
29
+ xxsmall: "_1qwg19bv _mezj19bv _e2oo19bv _w8l519bv _5ile19el _1hdc19el _1pc719el _pkax19el",
30
+ xsmall: "_1qwg1crf _mezj1crf _e2oo1crf _w8l51crf _5ilemccc _1hdcmccc _1pc7mccc _pkaxmccc",
31
+ small: "_1qwgdlk8 _mezjdlk8 _e2oodlk8 _w8l5dlk8 _5ilewk7l _1hdcwk7l _1pc7wk7l _pkaxwk7l",
32
+ medium: "_1qwg7vkz _mezj7vkz _e2oo7vkz _w8l57vkz _5ile1gpt _1hdc1gpt _1pc71gpt _pkax1gpt",
33
+ large: "_1qwggktf _mezjgktf _e2oogktf _w8l5gktf _5ile1txs _1hdc1txs _1pc71txs _pkax1txs",
34
+ xlarge: "_1qwg1tcg _mezj1tcg _e2oo1tcg _w8l51tcg _5ilea982 _1hdca982 _1pc7a982 _pkaxa982"
34
35
  };
35
36
  var backgroundColorMap = {
36
37
  white: "_bfhku67f",
37
38
  black: "_bfhkr3uz",
39
+ transparent: "_bfhk1j28",
38
40
  'color.background.accent.lime.subtlest': "_bfhkm890",
39
41
  'color.background.accent.lime.subtler': "_bfhkz2ec",
40
42
  'color.background.accent.lime.subtle': "_bfhkbq5w",
@@ -96,7 +98,7 @@ var backgroundColorMap = {
96
98
  /**
97
99
  * __Tile__
98
100
  *
99
- * A tile is a rounded square that takes an asset (Image, Icon, Logo) and represents a noun.
101
+ * A tile is a rounded square that takes an asset and represents a noun.
100
102
  *
101
103
  */
102
104
  function Tile(props) {
@@ -111,6 +113,7 @@ function Tile(props) {
111
113
  testId = props.testId;
112
114
  return /*#__PURE__*/React.createElement("span", {
113
115
  "data-testid": testId,
116
+ // eslint-disable-next-line @atlassian/i18n/no-literal-string-in-jsx
114
117
  "aria-label": label !== '' ? label : undefined,
115
118
  role: label !== '' ? 'img' : undefined,
116
119
  className: (0, _runtime.ax)([styles.root, sizeMap[size], isInset ? styles.inset : styles.nonInset, isInset && insetSizeMap[size], backgroundColorMap[backgroundColor || 'color.background.neutral'], hasBorder && styles.border])
@@ -0,0 +1 @@
1
+ export { default } from '../skeleton';
@@ -1 +1,2 @@
1
- export { default } from './tile';
1
+ export { default } from './tile';
2
+ export { default as Skeleton } from './entry-point/skeleton';
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import Skeleton from '@atlaskit/skeleton';
3
+ import Tile from './tile';
4
+ /**
5
+ * __Skeleton__
6
+ *
7
+ * A skeleton is the loading state for the tile component.
8
+ *
9
+ */
10
+ export default function TileSkeleton({
11
+ color,
12
+ isShimmering,
13
+ shimmeringEndColor,
14
+ size = 'medium',
15
+ testId
16
+ }) {
17
+ return /*#__PURE__*/React.createElement(Tile, {
18
+ label: "",
19
+ size: size,
20
+ testId: testId,
21
+ backgroundColor: "transparent"
22
+ }, /*#__PURE__*/React.createElement(Skeleton, {
23
+ color: color,
24
+ isShimmering: isShimmering,
25
+ ShimmeringEndColor: shimmeringEndColor,
26
+ width: '100%',
27
+ height: '100%',
28
+ testId: testId ? `${testId}--skeleton` : undefined
29
+ }));
30
+ }
@@ -14,9 +14,21 @@
14
14
  ._1bsbgktf{width:20px}
15
15
  ._1bsbzwfg{width:2pc}
16
16
  ._1e0c116y{display:inline-flex}
17
+ ._1hdc19el .emoji-common-emoji-sprite{min-width:10px!important}
18
+ ._1hdc1gpt .emoji-common-emoji-sprite{min-width:1pc!important}
19
+ ._1hdc1txs .emoji-common-emoji-sprite{min-width:20px!important}
20
+ ._1hdca982 .emoji-common-emoji-sprite{min-width:24px!important}
21
+ ._1hdcmccc .emoji-common-emoji-sprite{min-width:9pt!important}
22
+ ._1hdcwk7l .emoji-common-emoji-sprite{min-width:14px!important}
17
23
  ._1iia1osq div{height:100%}
18
24
  ._1iia1wug div{height:auto}
19
25
  ._1o9zidpf{flex-shrink:0}
26
+ ._1pc719el .emoji-common-emoji-sprite{height:10px!important}
27
+ ._1pc71gpt .emoji-common-emoji-sprite{height:1pc!important}
28
+ ._1pc71txs .emoji-common-emoji-sprite{height:20px!important}
29
+ ._1pc7a982 .emoji-common-emoji-sprite{height:24px!important}
30
+ ._1pc7mccc .emoji-common-emoji-sprite{height:9pt!important}
31
+ ._1pc7wk7l .emoji-common-emoji-sprite{height:14px!important}
20
32
  ._1qwg19bv div{width:10px}
21
33
  ._1qwg1crf div{width:9pt}
22
34
  ._1qwg1osq div{width:100%}
@@ -42,6 +54,12 @@
42
54
  ._4t3ickbl{height:3pc}
43
55
  ._4t3igktf{height:20px}
44
56
  ._4t3izwfg{height:2pc}
57
+ ._5ile19el .emoji-common-emoji-sprite{width:10px!important}
58
+ ._5ile1gpt .emoji-common-emoji-sprite{width:1pc!important}
59
+ ._5ile1txs .emoji-common-emoji-sprite{width:20px!important}
60
+ ._5ilea982 .emoji-common-emoji-sprite{width:24px!important}
61
+ ._5ilemccc .emoji-common-emoji-sprite{width:9pt!important}
62
+ ._5ilewk7l .emoji-common-emoji-sprite{width:14px!important}
45
63
  ._bfhk11bn{background-color:var(--ds-background-accent-gray-subtlest,#f1f2f4)}
46
64
  ._bfhk14wj{background-color:var(--ds-background-information-bold,#0c66e4)}
47
65
  ._bfhk15mt{background-color:var(--ds-background-brand-boldest,#1c2b41)}
@@ -51,6 +69,7 @@
51
69
  ._bfhk1g3m{background-color:var(--ds-background-accent-orange-subtlest,#fff3eb)}
52
70
  ._bfhk1g6e{background-color:var(--ds-background-accent-orange-subtle,#fea362)}
53
71
  ._bfhk1gly{background-color:var(--ds-background-danger,#ffeceb)}
72
+ ._bfhk1j28{background-color:transparent}
54
73
  ._bfhk1j89{background-color:var(--ds-background-accent-blue-subtle,#579dff)}
55
74
  ._bfhk1jkz{background-color:var(--ds-background-accent-purple-subtler,#dfd8fd)}
56
75
  ._bfhk1lri{background-color:var(--ds-background-discovery-bold,#6e5dc6)}
@@ -117,6 +136,12 @@
117
136
  ._mezj7vkz img{width:1pc}
118
137
  ._mezjdlk8 img{width:14px}
119
138
  ._mezjgktf img{width:20px}
139
+ ._pkax19el .emoji-common-emoji-sprite{min-height:10px!important}
140
+ ._pkax1gpt .emoji-common-emoji-sprite{min-height:1pc!important}
141
+ ._pkax1txs .emoji-common-emoji-sprite{min-height:20px!important}
142
+ ._pkaxa982 .emoji-common-emoji-sprite{min-height:24px!important}
143
+ ._pkaxmccc .emoji-common-emoji-sprite{min-height:9pt!important}
144
+ ._pkaxwk7l .emoji-common-emoji-sprite{min-height:14px!important}
120
145
  ._vchhusvi{box-sizing:border-box}
121
146
  ._w8l519bv svg{width:10px}
122
147
  ._w8l51crf svg{width:9pt}
@@ -1,4 +1,5 @@
1
1
  /* tile.tsx generated by @compiled/babel-plugin v0.38.1 */
2
+ /* eslint-disable @atlaskit/ui-styling-standard/no-important-styles */
2
3
  import "./tile.compiled.css";
3
4
  import * as React from 'react';
4
5
  import { ax, ix } from "@compiled/react/runtime";
@@ -17,16 +18,17 @@ const sizeMap = {
17
18
  xlarge: "_1bsbckbl _4t3ickbl _1wyb1tcg"
18
19
  };
19
20
  const insetSizeMap = {
20
- xxsmall: "_1qwg19bv _mezj19bv _e2oo19bv _w8l519bv",
21
- xsmall: "_1qwg1crf _mezj1crf _e2oo1crf _w8l51crf",
22
- small: "_1qwgdlk8 _mezjdlk8 _e2oodlk8 _w8l5dlk8",
23
- medium: "_1qwg7vkz _mezj7vkz _e2oo7vkz _w8l57vkz",
24
- large: "_1qwggktf _mezjgktf _e2oogktf _w8l5gktf",
25
- xlarge: "_1qwg1tcg _mezj1tcg _e2oo1tcg _w8l51tcg"
21
+ xxsmall: "_1qwg19bv _mezj19bv _e2oo19bv _w8l519bv _5ile19el _1hdc19el _1pc719el _pkax19el",
22
+ xsmall: "_1qwg1crf _mezj1crf _e2oo1crf _w8l51crf _5ilemccc _1hdcmccc _1pc7mccc _pkaxmccc",
23
+ small: "_1qwgdlk8 _mezjdlk8 _e2oodlk8 _w8l5dlk8 _5ilewk7l _1hdcwk7l _1pc7wk7l _pkaxwk7l",
24
+ medium: "_1qwg7vkz _mezj7vkz _e2oo7vkz _w8l57vkz _5ile1gpt _1hdc1gpt _1pc71gpt _pkax1gpt",
25
+ large: "_1qwggktf _mezjgktf _e2oogktf _w8l5gktf _5ile1txs _1hdc1txs _1pc71txs _pkax1txs",
26
+ xlarge: "_1qwg1tcg _mezj1tcg _e2oo1tcg _w8l51tcg _5ilea982 _1hdca982 _1pc7a982 _pkaxa982"
26
27
  };
27
28
  const backgroundColorMap = {
28
29
  white: "_bfhku67f",
29
30
  black: "_bfhkr3uz",
31
+ transparent: "_bfhk1j28",
30
32
  'color.background.accent.lime.subtlest': "_bfhkm890",
31
33
  'color.background.accent.lime.subtler': "_bfhkz2ec",
32
34
  'color.background.accent.lime.subtle': "_bfhkbq5w",
@@ -88,7 +90,7 @@ const backgroundColorMap = {
88
90
  /**
89
91
  * __Tile__
90
92
  *
91
- * A tile is a rounded square that takes an asset (Image, Icon, Logo) and represents a noun.
93
+ * A tile is a rounded square that takes an asset and represents a noun.
92
94
  *
93
95
  */
94
96
  export default function Tile(props) {
@@ -103,6 +105,7 @@ export default function Tile(props) {
103
105
  } = props;
104
106
  return /*#__PURE__*/React.createElement("span", {
105
107
  "data-testid": testId,
108
+ // eslint-disable-next-line @atlassian/i18n/no-literal-string-in-jsx
106
109
  "aria-label": label !== '' ? label : undefined,
107
110
  role: label !== '' ? 'img' : undefined,
108
111
  className: ax([styles.root, sizeMap[size], isInset ? styles.inset : styles.nonInset, isInset && insetSizeMap[size], backgroundColorMap[backgroundColor || 'color.background.neutral'], hasBorder && styles.border])
@@ -0,0 +1 @@
1
+ export { default } from '../skeleton';
package/dist/esm/index.js CHANGED
@@ -1 +1,2 @@
1
- export { default } from './tile';
1
+ export { default } from './tile';
2
+ export { default as Skeleton } from './entry-point/skeleton';
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import Skeleton from '@atlaskit/skeleton';
3
+ import Tile from './tile';
4
+ /**
5
+ * __Skeleton__
6
+ *
7
+ * A skeleton is the loading state for the tile component.
8
+ *
9
+ */
10
+ export default function TileSkeleton(_ref) {
11
+ var color = _ref.color,
12
+ isShimmering = _ref.isShimmering,
13
+ shimmeringEndColor = _ref.shimmeringEndColor,
14
+ _ref$size = _ref.size,
15
+ size = _ref$size === void 0 ? 'medium' : _ref$size,
16
+ testId = _ref.testId;
17
+ return /*#__PURE__*/React.createElement(Tile, {
18
+ label: "",
19
+ size: size,
20
+ testId: testId,
21
+ backgroundColor: "transparent"
22
+ }, /*#__PURE__*/React.createElement(Skeleton, {
23
+ color: color,
24
+ isShimmering: isShimmering,
25
+ ShimmeringEndColor: shimmeringEndColor,
26
+ width: '100%',
27
+ height: '100%',
28
+ testId: testId ? "".concat(testId, "--skeleton") : undefined
29
+ }));
30
+ }
@@ -14,9 +14,21 @@
14
14
  ._1bsbgktf{width:20px}
15
15
  ._1bsbzwfg{width:2pc}
16
16
  ._1e0c116y{display:inline-flex}
17
+ ._1hdc19el .emoji-common-emoji-sprite{min-width:10px!important}
18
+ ._1hdc1gpt .emoji-common-emoji-sprite{min-width:1pc!important}
19
+ ._1hdc1txs .emoji-common-emoji-sprite{min-width:20px!important}
20
+ ._1hdca982 .emoji-common-emoji-sprite{min-width:24px!important}
21
+ ._1hdcmccc .emoji-common-emoji-sprite{min-width:9pt!important}
22
+ ._1hdcwk7l .emoji-common-emoji-sprite{min-width:14px!important}
17
23
  ._1iia1osq div{height:100%}
18
24
  ._1iia1wug div{height:auto}
19
25
  ._1o9zidpf{flex-shrink:0}
26
+ ._1pc719el .emoji-common-emoji-sprite{height:10px!important}
27
+ ._1pc71gpt .emoji-common-emoji-sprite{height:1pc!important}
28
+ ._1pc71txs .emoji-common-emoji-sprite{height:20px!important}
29
+ ._1pc7a982 .emoji-common-emoji-sprite{height:24px!important}
30
+ ._1pc7mccc .emoji-common-emoji-sprite{height:9pt!important}
31
+ ._1pc7wk7l .emoji-common-emoji-sprite{height:14px!important}
20
32
  ._1qwg19bv div{width:10px}
21
33
  ._1qwg1crf div{width:9pt}
22
34
  ._1qwg1osq div{width:100%}
@@ -42,6 +54,12 @@
42
54
  ._4t3ickbl{height:3pc}
43
55
  ._4t3igktf{height:20px}
44
56
  ._4t3izwfg{height:2pc}
57
+ ._5ile19el .emoji-common-emoji-sprite{width:10px!important}
58
+ ._5ile1gpt .emoji-common-emoji-sprite{width:1pc!important}
59
+ ._5ile1txs .emoji-common-emoji-sprite{width:20px!important}
60
+ ._5ilea982 .emoji-common-emoji-sprite{width:24px!important}
61
+ ._5ilemccc .emoji-common-emoji-sprite{width:9pt!important}
62
+ ._5ilewk7l .emoji-common-emoji-sprite{width:14px!important}
45
63
  ._bfhk11bn{background-color:var(--ds-background-accent-gray-subtlest,#f1f2f4)}
46
64
  ._bfhk14wj{background-color:var(--ds-background-information-bold,#0c66e4)}
47
65
  ._bfhk15mt{background-color:var(--ds-background-brand-boldest,#1c2b41)}
@@ -51,6 +69,7 @@
51
69
  ._bfhk1g3m{background-color:var(--ds-background-accent-orange-subtlest,#fff3eb)}
52
70
  ._bfhk1g6e{background-color:var(--ds-background-accent-orange-subtle,#fea362)}
53
71
  ._bfhk1gly{background-color:var(--ds-background-danger,#ffeceb)}
72
+ ._bfhk1j28{background-color:transparent}
54
73
  ._bfhk1j89{background-color:var(--ds-background-accent-blue-subtle,#579dff)}
55
74
  ._bfhk1jkz{background-color:var(--ds-background-accent-purple-subtler,#dfd8fd)}
56
75
  ._bfhk1lri{background-color:var(--ds-background-discovery-bold,#6e5dc6)}
@@ -117,6 +136,12 @@
117
136
  ._mezj7vkz img{width:1pc}
118
137
  ._mezjdlk8 img{width:14px}
119
138
  ._mezjgktf img{width:20px}
139
+ ._pkax19el .emoji-common-emoji-sprite{min-height:10px!important}
140
+ ._pkax1gpt .emoji-common-emoji-sprite{min-height:1pc!important}
141
+ ._pkax1txs .emoji-common-emoji-sprite{min-height:20px!important}
142
+ ._pkaxa982 .emoji-common-emoji-sprite{min-height:24px!important}
143
+ ._pkaxmccc .emoji-common-emoji-sprite{min-height:9pt!important}
144
+ ._pkaxwk7l .emoji-common-emoji-sprite{min-height:14px!important}
120
145
  ._vchhusvi{box-sizing:border-box}
121
146
  ._w8l519bv svg{width:10px}
122
147
  ._w8l51crf svg{width:9pt}
package/dist/esm/tile.js CHANGED
@@ -1,4 +1,5 @@
1
1
  /* tile.tsx generated by @compiled/babel-plugin v0.38.1 */
2
+ /* eslint-disable @atlaskit/ui-styling-standard/no-important-styles */
2
3
  import "./tile.compiled.css";
3
4
  import * as React from 'react';
4
5
  import { ax, ix } from "@compiled/react/runtime";
@@ -17,16 +18,17 @@ var sizeMap = {
17
18
  xlarge: "_1bsbckbl _4t3ickbl _1wyb1tcg"
18
19
  };
19
20
  var insetSizeMap = {
20
- xxsmall: "_1qwg19bv _mezj19bv _e2oo19bv _w8l519bv",
21
- xsmall: "_1qwg1crf _mezj1crf _e2oo1crf _w8l51crf",
22
- small: "_1qwgdlk8 _mezjdlk8 _e2oodlk8 _w8l5dlk8",
23
- medium: "_1qwg7vkz _mezj7vkz _e2oo7vkz _w8l57vkz",
24
- large: "_1qwggktf _mezjgktf _e2oogktf _w8l5gktf",
25
- xlarge: "_1qwg1tcg _mezj1tcg _e2oo1tcg _w8l51tcg"
21
+ xxsmall: "_1qwg19bv _mezj19bv _e2oo19bv _w8l519bv _5ile19el _1hdc19el _1pc719el _pkax19el",
22
+ xsmall: "_1qwg1crf _mezj1crf _e2oo1crf _w8l51crf _5ilemccc _1hdcmccc _1pc7mccc _pkaxmccc",
23
+ small: "_1qwgdlk8 _mezjdlk8 _e2oodlk8 _w8l5dlk8 _5ilewk7l _1hdcwk7l _1pc7wk7l _pkaxwk7l",
24
+ medium: "_1qwg7vkz _mezj7vkz _e2oo7vkz _w8l57vkz _5ile1gpt _1hdc1gpt _1pc71gpt _pkax1gpt",
25
+ large: "_1qwggktf _mezjgktf _e2oogktf _w8l5gktf _5ile1txs _1hdc1txs _1pc71txs _pkax1txs",
26
+ xlarge: "_1qwg1tcg _mezj1tcg _e2oo1tcg _w8l51tcg _5ilea982 _1hdca982 _1pc7a982 _pkaxa982"
26
27
  };
27
28
  var backgroundColorMap = {
28
29
  white: "_bfhku67f",
29
30
  black: "_bfhkr3uz",
31
+ transparent: "_bfhk1j28",
30
32
  'color.background.accent.lime.subtlest': "_bfhkm890",
31
33
  'color.background.accent.lime.subtler': "_bfhkz2ec",
32
34
  'color.background.accent.lime.subtle': "_bfhkbq5w",
@@ -88,7 +90,7 @@ var backgroundColorMap = {
88
90
  /**
89
91
  * __Tile__
90
92
  *
91
- * A tile is a rounded square that takes an asset (Image, Icon, Logo) and represents a noun.
93
+ * A tile is a rounded square that takes an asset and represents a noun.
92
94
  *
93
95
  */
94
96
  export default function Tile(props) {
@@ -103,6 +105,7 @@ export default function Tile(props) {
103
105
  testId = props.testId;
104
106
  return /*#__PURE__*/React.createElement("span", {
105
107
  "data-testid": testId,
108
+ // eslint-disable-next-line @atlassian/i18n/no-literal-string-in-jsx
106
109
  "aria-label": label !== '' ? label : undefined,
107
110
  role: label !== '' ? 'img' : undefined,
108
111
  className: ax([styles.root, sizeMap[size], isInset ? styles.inset : styles.nonInset, isInset && insetSizeMap[size], backgroundColorMap[backgroundColor || 'color.background.neutral'], hasBorder && styles.border])
@@ -0,0 +1,2 @@
1
+ export { default } from '../skeleton';
2
+ export { type SkeletonProps } from '../types';
@@ -1,2 +1,3 @@
1
1
  export { default } from './tile';
2
2
  export { type TileProps } from './types';
3
+ export { default as Skeleton, type SkeletonProps } from './entry-point/skeleton';
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { SkeletonProps } from './types';
3
+ /**
4
+ * __Skeleton__
5
+ *
6
+ * A skeleton is the loading state for the tile component.
7
+ *
8
+ */
9
+ export default function TileSkeleton({ color, isShimmering, shimmeringEndColor, size, testId, }: SkeletonProps): React.JSX.Element;
@@ -2,7 +2,7 @@ import { type TileProps } from './types';
2
2
  /**
3
3
  * __Tile__
4
4
  *
5
- * A tile is a rounded square that takes an asset (Image, Icon, Logo) and represents a noun.
5
+ * A tile is a rounded square that takes an asset and represents a noun.
6
6
  *
7
7
  */
8
8
  export default function Tile(props: TileProps): JSX.Element;
@@ -1,5 +1,5 @@
1
1
  export type TileSize = 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
2
- export type TileBackgroundColor = 'color.background.accent.lime.subtlest' | 'color.background.accent.lime.subtler' | 'color.background.accent.lime.subtle' | 'color.background.accent.lime.bolder' | 'color.background.accent.red.subtlest' | 'color.background.accent.red.subtler' | 'color.background.accent.red.subtle' | 'color.background.accent.red.bolder' | 'color.background.accent.orange.subtlest' | 'color.background.accent.orange.subtler' | 'color.background.accent.orange.subtle' | 'color.background.accent.orange.bolder' | 'color.background.accent.yellow.subtlest' | 'color.background.accent.yellow.subtler' | 'color.background.accent.yellow.subtle' | 'color.background.accent.yellow.bolder' | 'color.background.accent.green.subtlest' | 'color.background.accent.green.subtler' | 'color.background.accent.green.subtle' | 'color.background.accent.green.bolder' | 'color.background.accent.teal.subtlest' | 'color.background.accent.teal.subtler' | 'color.background.accent.teal.subtle' | 'color.background.accent.teal.bolder' | 'color.background.accent.blue.subtlest' | 'color.background.accent.blue.subtler' | 'color.background.accent.blue.subtle' | 'color.background.accent.blue.bolder' | 'color.background.accent.purple.subtlest' | 'color.background.accent.purple.subtler' | 'color.background.accent.purple.subtle' | 'color.background.accent.purple.bolder' | 'color.background.accent.magenta.subtlest' | 'color.background.accent.magenta.subtler' | 'color.background.accent.magenta.subtle' | 'color.background.accent.magenta.bolder' | 'color.background.accent.gray.subtlest' | 'color.background.accent.gray.subtler' | 'color.background.accent.gray.subtle' | 'color.background.accent.gray.bolder' | 'color.background.inverse.subtle' | 'color.background.neutral' | 'color.background.neutral.bold' | 'color.background.brand.subtlest' | 'color.background.brand.bold' | 'color.background.brand.boldest' | 'color.background.danger' | 'color.background.danger.bold' | 'color.background.warning' | 'color.background.warning.bold' | 'color.background.success' | 'color.background.success.bold' | 'color.background.discovery' | 'color.background.discovery.bold' | 'color.background.information' | 'color.background.information.bold' | 'white' | 'black';
2
+ export type TileBackgroundColor = 'color.background.accent.lime.subtlest' | 'color.background.accent.lime.subtler' | 'color.background.accent.lime.subtle' | 'color.background.accent.lime.bolder' | 'color.background.accent.red.subtlest' | 'color.background.accent.red.subtler' | 'color.background.accent.red.subtle' | 'color.background.accent.red.bolder' | 'color.background.accent.orange.subtlest' | 'color.background.accent.orange.subtler' | 'color.background.accent.orange.subtle' | 'color.background.accent.orange.bolder' | 'color.background.accent.yellow.subtlest' | 'color.background.accent.yellow.subtler' | 'color.background.accent.yellow.subtle' | 'color.background.accent.yellow.bolder' | 'color.background.accent.green.subtlest' | 'color.background.accent.green.subtler' | 'color.background.accent.green.subtle' | 'color.background.accent.green.bolder' | 'color.background.accent.teal.subtlest' | 'color.background.accent.teal.subtler' | 'color.background.accent.teal.subtle' | 'color.background.accent.teal.bolder' | 'color.background.accent.blue.subtlest' | 'color.background.accent.blue.subtler' | 'color.background.accent.blue.subtle' | 'color.background.accent.blue.bolder' | 'color.background.accent.purple.subtlest' | 'color.background.accent.purple.subtler' | 'color.background.accent.purple.subtle' | 'color.background.accent.purple.bolder' | 'color.background.accent.magenta.subtlest' | 'color.background.accent.magenta.subtler' | 'color.background.accent.magenta.subtle' | 'color.background.accent.magenta.bolder' | 'color.background.accent.gray.subtlest' | 'color.background.accent.gray.subtler' | 'color.background.accent.gray.subtle' | 'color.background.accent.gray.bolder' | 'color.background.inverse.subtle' | 'color.background.neutral' | 'color.background.neutral.bold' | 'color.background.brand.subtlest' | 'color.background.brand.bold' | 'color.background.brand.boldest' | 'color.background.danger' | 'color.background.danger.bold' | 'color.background.warning' | 'color.background.warning.bold' | 'color.background.success' | 'color.background.success.bold' | 'color.background.discovery' | 'color.background.discovery.bold' | 'color.background.information' | 'color.background.information.bold' | 'transparent' | 'white' | 'black';
3
3
  export type TileProps = {
4
4
  /**
5
5
  * The label for the icon.
@@ -47,3 +47,24 @@ export type TileProps = {
47
47
  */
48
48
  testId?: string;
49
49
  };
50
+ export type SkeletonProps = {
51
+ /**
52
+ * Overrides the default color of skeleton, and overrides the default shimmering start color if ShimmeringEndColor also provided.
53
+ */
54
+ color?: string;
55
+ /**
56
+ * Overrides the default shimmering ending color of skeleton.
57
+ */
58
+ shimmeringEndColor?: string;
59
+ /**
60
+ * Enables the shimmering animation.
61
+ */
62
+ isShimmering?: boolean;
63
+ size?: TileProps['size'];
64
+ /**
65
+ * A `testId` prop is provided for specified elements, which is a unique
66
+ * string that appears as a data attribute `data-testid` in the rendered code,
67
+ * serving as a hook for automated tests.
68
+ */
69
+ testId?: string;
70
+ };
@@ -0,0 +1,2 @@
1
+ export { default } from '../skeleton';
2
+ export { type SkeletonProps } from '../types';
@@ -1,2 +1,3 @@
1
1
  export { default } from './tile';
2
2
  export { type TileProps } from './types';
3
+ export { default as Skeleton, type SkeletonProps } from './entry-point/skeleton';
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { SkeletonProps } from './types';
3
+ /**
4
+ * __Skeleton__
5
+ *
6
+ * A skeleton is the loading state for the tile component.
7
+ *
8
+ */
9
+ export default function TileSkeleton({ color, isShimmering, shimmeringEndColor, size, testId, }: SkeletonProps): React.JSX.Element;
@@ -2,7 +2,7 @@ import { type TileProps } from './types';
2
2
  /**
3
3
  * __Tile__
4
4
  *
5
- * A tile is a rounded square that takes an asset (Image, Icon, Logo) and represents a noun.
5
+ * A tile is a rounded square that takes an asset and represents a noun.
6
6
  *
7
7
  */
8
8
  export default function Tile(props: TileProps): JSX.Element;
@@ -1,5 +1,5 @@
1
1
  export type TileSize = 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
2
- export type TileBackgroundColor = 'color.background.accent.lime.subtlest' | 'color.background.accent.lime.subtler' | 'color.background.accent.lime.subtle' | 'color.background.accent.lime.bolder' | 'color.background.accent.red.subtlest' | 'color.background.accent.red.subtler' | 'color.background.accent.red.subtle' | 'color.background.accent.red.bolder' | 'color.background.accent.orange.subtlest' | 'color.background.accent.orange.subtler' | 'color.background.accent.orange.subtle' | 'color.background.accent.orange.bolder' | 'color.background.accent.yellow.subtlest' | 'color.background.accent.yellow.subtler' | 'color.background.accent.yellow.subtle' | 'color.background.accent.yellow.bolder' | 'color.background.accent.green.subtlest' | 'color.background.accent.green.subtler' | 'color.background.accent.green.subtle' | 'color.background.accent.green.bolder' | 'color.background.accent.teal.subtlest' | 'color.background.accent.teal.subtler' | 'color.background.accent.teal.subtle' | 'color.background.accent.teal.bolder' | 'color.background.accent.blue.subtlest' | 'color.background.accent.blue.subtler' | 'color.background.accent.blue.subtle' | 'color.background.accent.blue.bolder' | 'color.background.accent.purple.subtlest' | 'color.background.accent.purple.subtler' | 'color.background.accent.purple.subtle' | 'color.background.accent.purple.bolder' | 'color.background.accent.magenta.subtlest' | 'color.background.accent.magenta.subtler' | 'color.background.accent.magenta.subtle' | 'color.background.accent.magenta.bolder' | 'color.background.accent.gray.subtlest' | 'color.background.accent.gray.subtler' | 'color.background.accent.gray.subtle' | 'color.background.accent.gray.bolder' | 'color.background.inverse.subtle' | 'color.background.neutral' | 'color.background.neutral.bold' | 'color.background.brand.subtlest' | 'color.background.brand.bold' | 'color.background.brand.boldest' | 'color.background.danger' | 'color.background.danger.bold' | 'color.background.warning' | 'color.background.warning.bold' | 'color.background.success' | 'color.background.success.bold' | 'color.background.discovery' | 'color.background.discovery.bold' | 'color.background.information' | 'color.background.information.bold' | 'white' | 'black';
2
+ export type TileBackgroundColor = 'color.background.accent.lime.subtlest' | 'color.background.accent.lime.subtler' | 'color.background.accent.lime.subtle' | 'color.background.accent.lime.bolder' | 'color.background.accent.red.subtlest' | 'color.background.accent.red.subtler' | 'color.background.accent.red.subtle' | 'color.background.accent.red.bolder' | 'color.background.accent.orange.subtlest' | 'color.background.accent.orange.subtler' | 'color.background.accent.orange.subtle' | 'color.background.accent.orange.bolder' | 'color.background.accent.yellow.subtlest' | 'color.background.accent.yellow.subtler' | 'color.background.accent.yellow.subtle' | 'color.background.accent.yellow.bolder' | 'color.background.accent.green.subtlest' | 'color.background.accent.green.subtler' | 'color.background.accent.green.subtle' | 'color.background.accent.green.bolder' | 'color.background.accent.teal.subtlest' | 'color.background.accent.teal.subtler' | 'color.background.accent.teal.subtle' | 'color.background.accent.teal.bolder' | 'color.background.accent.blue.subtlest' | 'color.background.accent.blue.subtler' | 'color.background.accent.blue.subtle' | 'color.background.accent.blue.bolder' | 'color.background.accent.purple.subtlest' | 'color.background.accent.purple.subtler' | 'color.background.accent.purple.subtle' | 'color.background.accent.purple.bolder' | 'color.background.accent.magenta.subtlest' | 'color.background.accent.magenta.subtler' | 'color.background.accent.magenta.subtle' | 'color.background.accent.magenta.bolder' | 'color.background.accent.gray.subtlest' | 'color.background.accent.gray.subtler' | 'color.background.accent.gray.subtle' | 'color.background.accent.gray.bolder' | 'color.background.inverse.subtle' | 'color.background.neutral' | 'color.background.neutral.bold' | 'color.background.brand.subtlest' | 'color.background.brand.bold' | 'color.background.brand.boldest' | 'color.background.danger' | 'color.background.danger.bold' | 'color.background.warning' | 'color.background.warning.bold' | 'color.background.success' | 'color.background.success.bold' | 'color.background.discovery' | 'color.background.discovery.bold' | 'color.background.information' | 'color.background.information.bold' | 'transparent' | 'white' | 'black';
3
3
  export type TileProps = {
4
4
  /**
5
5
  * The label for the icon.
@@ -47,3 +47,24 @@ export type TileProps = {
47
47
  */
48
48
  testId?: string;
49
49
  };
50
+ export type SkeletonProps = {
51
+ /**
52
+ * Overrides the default color of skeleton, and overrides the default shimmering start color if ShimmeringEndColor also provided.
53
+ */
54
+ color?: string;
55
+ /**
56
+ * Overrides the default shimmering ending color of skeleton.
57
+ */
58
+ shimmeringEndColor?: string;
59
+ /**
60
+ * Enables the shimmering animation.
61
+ */
62
+ isShimmering?: boolean;
63
+ size?: TileProps['size'];
64
+ /**
65
+ * A `testId` prop is provided for specified elements, which is a unique
66
+ * string that appears as a data attribute `data-testid` in the rendered code,
67
+ * serving as a hook for automated tests.
68
+ */
69
+ testId?: string;
70
+ };
package/package.json CHANGED
@@ -3,10 +3,7 @@
3
3
  "team": "Design System Team",
4
4
  "website": {
5
5
  "name": "Tile",
6
- "category": "Images and icons",
7
- "status": {
8
- "type": "alpha"
9
- }
6
+ "category": "Images and icons"
10
7
  }
11
8
  },
12
9
  "repository": "https://bitbucket.org/atlassian/atlassian-frontend-mirror",
@@ -28,7 +25,8 @@
28
25
  ],
29
26
  "atlaskit:src": "src/index.tsx",
30
27
  "dependencies": {
31
- "@atlaskit/tokens": "^6.3.0",
28
+ "@atlaskit/skeleton": "^2.1.0",
29
+ "@atlaskit/tokens": "^6.5.0",
32
30
  "@babel/runtime": "^7.0.0",
33
31
  "@compiled/react": "^0.18.3"
34
32
  },
@@ -82,8 +80,8 @@
82
80
  }
83
81
  },
84
82
  "name": "@atlaskit/tile",
85
- "version": "0.1.4",
86
- "description": "A tile is a rounded square that takes an asset (Image, Icon, Logo) and represents a noun.",
83
+ "version": "0.2.1",
84
+ "description": "A tile is a rounded square that takes an asset and represents a noun.",
87
85
  "author": "Atlassian Pty Ltd",
88
86
  "license": "Apache-2.0",
89
87
  "publishConfig": {
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "@atlaskit/tile/skeleton",
3
+ "main": "../dist/cjs/entry-point/skeleton.js",
4
+ "module": "../dist/esm/entry-point/skeleton.js",
5
+ "module:es2019": "../dist/es2019/entry-point/skeleton.js",
6
+ "sideEffects": [
7
+ "*.compiled.css"
8
+ ],
9
+ "types": "../dist/types/entry-point/skeleton.d.ts",
10
+ "typesVersions": {
11
+ ">=4.5 <5.9": {
12
+ "*": [
13
+ "../dist/types-ts4.5/entry-point/skeleton.d.ts"
14
+ ]
15
+ }
16
+ }
17
+ }