@spectrum-web-components/card 0.10.5 → 0.10.7-express.6

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spectrum-web-components/card",
3
- "version": "0.10.5",
3
+ "version": "0.10.7-express.6+374824f06",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -44,13 +44,13 @@
44
44
  "lit-html"
45
45
  ],
46
46
  "dependencies": {
47
- "@spectrum-web-components/asset": "^0.6.4",
48
- "@spectrum-web-components/base": "^0.5.3",
49
- "@spectrum-web-components/checkbox": "^0.12.5",
50
- "@spectrum-web-components/icons-workflow": "^0.8.4",
51
- "@spectrum-web-components/quick-actions": "^0.6.4",
52
- "@spectrum-web-components/shared": "^0.13.5",
53
- "@spectrum-web-components/styles": "^0.12.0",
47
+ "@spectrum-web-components/asset": "^0.6.5",
48
+ "@spectrum-web-components/base": "^0.5.4",
49
+ "@spectrum-web-components/checkbox": "^0.12.6",
50
+ "@spectrum-web-components/icons-workflow": "^0.8.5",
51
+ "@spectrum-web-components/quick-actions": "^0.6.5",
52
+ "@spectrum-web-components/shared": "^0.13.6",
53
+ "@spectrum-web-components/styles": "^0.12.2-express.6+374824f06",
54
54
  "tslib": "^2.0.0"
55
55
  },
56
56
  "devDependencies": {
@@ -61,5 +61,5 @@
61
61
  "sideEffects": [
62
62
  "./sp-*.js"
63
63
  ],
64
- "gitHead": "57aba8030b6af96af4015a0aa830e342a17dc219"
64
+ "gitHead": "374824f06c36278e67f1616e9eae688b94a306a5"
65
65
  }
@@ -0,0 +1,364 @@
1
+ /*
2
+ Copyright 2020 Adobe. All rights reserved.
3
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License. You may obtain a copy
5
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ Unless required by applicable law or agreed to in writing, software distributed under
8
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ OF ANY KIND, either express or implied. See the License for the specific language
10
+ governing permissions and limitations under the License.
11
+ */
12
+ import { html } from '@spectrum-web-components/base';
13
+ import '../sp-card.js';
14
+ import { landscape, portrait } from './images';
15
+ import '@spectrum-web-components/icons-workflow/icons/sp-icon-file-txt.js';
16
+ import '@spectrum-web-components/textfield/sp-textfield.js';
17
+ import '@spectrum-web-components/action-menu/sp-action-menu.js';
18
+ import '@spectrum-web-components/menu/sp-menu.js';
19
+ import '@spectrum-web-components/menu/sp-menu-item.js';
20
+ import '@spectrum-web-components/menu/sp-menu-divider.js';
21
+ import '@spectrum-web-components/link/sp-link.js';
22
+ export default {
23
+ component: 'sp-card',
24
+ title: 'Card',
25
+ args: {
26
+ size: 'm',
27
+ horizontal: false,
28
+ },
29
+ argTypes: {
30
+ horizontal: {
31
+ name: 'horizontal',
32
+ type: { name: 'boolean', required: false },
33
+ table: {
34
+ type: { summary: 'boolean' },
35
+ defaultValue: { summary: false },
36
+ },
37
+ control: {
38
+ type: 'boolean',
39
+ },
40
+ },
41
+ size: {
42
+ name: 'size',
43
+ type: { name: 'string', required: false },
44
+ table: {
45
+ type: { summary: '"s" | "m"' },
46
+ defaultValue: { summary: 'm' },
47
+ },
48
+ control: { type: 'text' },
49
+ },
50
+ },
51
+ };
52
+ export const Default = (args) => {
53
+ return html `
54
+ <sp-card
55
+ heading="Card Heading"
56
+ subheading="JPG"
57
+ size=${args.size}
58
+ ?horizontal=${args.horizontal}
59
+ >
60
+ <img slot="cover-photo" src=${portrait} alt="Demo Graphic" />
61
+ <div slot="footer">Footer</div>
62
+ </sp-card>
63
+ `;
64
+ };
65
+ Default.args = {};
66
+ export const href = (args) => {
67
+ const { onClick } = args;
68
+ return html `
69
+ <sp-card
70
+ heading="Card Heading"
71
+ subheading="JPG"
72
+ .size=${args.size}
73
+ toggles
74
+ ?horizontal=${args.horizontal}
75
+ href="https://opensource.adobe.com/spectrum-web-components"
76
+ @click=${(event) => {
77
+ const composedTarget = event.composedPath()[0];
78
+ if (composedTarget.id !== 'like-anchor')
79
+ return;
80
+ event.stopPropagation();
81
+ event.preventDefault();
82
+ onClick && onClick(event);
83
+ }}
84
+ >
85
+ <div slot="footer">
86
+ Footer with a
87
+ <sp-link href="https://google.com">link to Google</sp-link>
88
+ </div>
89
+ <sp-action-menu slot="actions" placement="bottom-end">
90
+ <sp-menu-item>Deselect</sp-menu-item>
91
+ <sp-menu-item>Select Inverse</sp-menu-item>
92
+ <sp-menu-item>Feather...</sp-menu-item>
93
+ <sp-menu-item>Select and Mask...</sp-menu-item>
94
+ <sp-menu-divider></sp-menu-divider>
95
+ <sp-menu-item>Save Selection</sp-menu-item>
96
+ <sp-menu-item disabled>Make Work Path</sp-menu-item>
97
+ </sp-action-menu>
98
+ <img slot="cover-photo" src=${portrait} alt="Demo Graphic" />
99
+ </sp-card>
100
+ `;
101
+ };
102
+ href.argTypes = {
103
+ onClick: { action: 'link click' },
104
+ };
105
+ export const actions = (args) => {
106
+ return html `
107
+ <sp-card
108
+ heading="Card Heading"
109
+ subheading="JPG"
110
+ size=${args.size}
111
+ ?horizontal=${args.horizontal}
112
+ >
113
+ <img slot="cover-photo" src=${portrait} alt="Demo Graphic" />
114
+ <div slot="footer">Footer</div>
115
+ <sp-action-menu slot="actions" placement="bottom-end">
116
+ <sp-menu-item>Deselect</sp-menu-item>
117
+ <sp-menu-item>Select Inverse</sp-menu-item>
118
+ <sp-menu-item>Feather...</sp-menu-item>
119
+ <sp-menu-item>Select and Mask...</sp-menu-item>
120
+ <sp-menu-divider></sp-menu-divider>
121
+ <sp-menu-item>Save Selection</sp-menu-item>
122
+ <sp-menu-item disabled>Make Work Path</sp-menu-item>
123
+ </sp-action-menu>
124
+ </sp-card>
125
+ `;
126
+ };
127
+ export const Gallery = (args) => {
128
+ return html `
129
+ <sp-card
130
+ variant="gallery"
131
+ heading="Card Heading"
132
+ subheading="JPG"
133
+ size=${args.size}
134
+ ?horizontal=${args.horizontal}
135
+ >
136
+ <img
137
+ slot="preview"
138
+ src=${landscape}
139
+ style="object-fit: cover"
140
+ alt="Demo Graphic"
141
+ />
142
+ <div slot="description">10/15/18</div>
143
+ </sp-card>
144
+ `;
145
+ };
146
+ export const noPreviewImage = (args) => {
147
+ return html `
148
+ <sp-card
149
+ heading="Card Heading"
150
+ subheading="No preview image"
151
+ size=${args.size}
152
+ ?horizontal=${args.horizontal}
153
+ >
154
+ <div slot="footer">Footer</div>
155
+ </sp-card>
156
+ `;
157
+ };
158
+ export const Quiet = (args) => {
159
+ return html `
160
+ <div style="width: 208px; height: 264px">
161
+ <sp-card
162
+ variant="quiet"
163
+ heading="Card Heading"
164
+ subheading="JPG"
165
+ size=${args.size}
166
+ ?horizontal=${args.horizontal}
167
+ >
168
+ <img src=${portrait} alt="Demo Graphic" slot="preview" />
169
+ <div slot="description">10/15/18</div>
170
+ </sp-card>
171
+ </div>
172
+ `;
173
+ };
174
+ export const quietFile = (args) => {
175
+ return html `
176
+ <div style="width: 208px; height: 264px">
177
+ <sp-card
178
+ variant="quiet"
179
+ subheading="JPG"
180
+ asset="file"
181
+ size=${args.size}
182
+ ?horizontal=${args.horizontal}
183
+ >
184
+ <img src=${portrait} alt="Demo Graphic" slot="preview" />
185
+ <div slot="heading">File Name</div>
186
+ <div slot="description">10/15/18</div>
187
+ </sp-card>
188
+ </div>
189
+ `;
190
+ };
191
+ export const quietFolder = (args) => {
192
+ return html `
193
+ <div style="width: 208px; height: 264px">
194
+ <sp-card
195
+ variant="quiet"
196
+ subheading="JPG"
197
+ asset="folder"
198
+ size=${args.size}
199
+ ?horizontal=${args.horizontal}
200
+ >
201
+ <img src=${portrait} alt="Demo Graphic" slot="preview" />
202
+ <div slot="heading">Folder Name</div>
203
+ <div slot="description">10/15/18</div>
204
+ </sp-card>
205
+ </div>
206
+ `;
207
+ };
208
+ export const quietActions = (args) => {
209
+ return html `
210
+ <div style="width: 208px; height: 264px">
211
+ <sp-card
212
+ variant="quiet"
213
+ heading="Card Heading"
214
+ subheading="JPG"
215
+ size=${args.size}
216
+ ?horizontal=${args.horizontal}
217
+ >
218
+ <img src=${portrait} alt="Demo Graphic" slot="preview" />
219
+ <div slot="description">10/15/18</div>
220
+ <sp-action-menu slot="actions" placement="bottom-end">
221
+ <sp-menu-item>Deselect</sp-menu-item>
222
+ <sp-menu-item>Select Inverse</sp-menu-item>
223
+ <sp-menu-item>Feather...</sp-menu-item>
224
+ <sp-menu-item>Select and Mask...</sp-menu-item>
225
+ <sp-menu-divider></sp-menu-divider>
226
+ <sp-menu-item>Save Selection</sp-menu-item>
227
+ <sp-menu-item disabled>Make Work Path</sp-menu-item>
228
+ </sp-action-menu>
229
+ </sp-card>
230
+ </div>
231
+ `;
232
+ };
233
+ quietActions.story = {
234
+ name: 'Quiet w/ Actions',
235
+ };
236
+ export const small = (args) => {
237
+ return html `
238
+ <sp-card
239
+ style="--spectrum-card-title-padding-right: 0; --spectrum-card-title-padding-left: 0;"
240
+ size=${args.size}
241
+ ?horizontal=${args.horizontal}
242
+ heading="Card Heading"
243
+ subheading="JPG"
244
+ >
245
+ <img
246
+ slot="cover-photo"
247
+ src=${portrait}
248
+ alt="Demo Graphic"
249
+ style="width: 140px"
250
+ />
251
+ <div slot="footer">Footer</div>
252
+ </sp-card>
253
+ `;
254
+ };
255
+ small.args = {
256
+ size: 's',
257
+ };
258
+ export const smallHorizontal = (args) => {
259
+ return html `
260
+ <sp-card
261
+ size=${args.size}
262
+ ?horizontal=${args.horizontal}
263
+ heading="Card Heading"
264
+ subheading="JPG"
265
+ >
266
+ <sp-icon-file-txt
267
+ slot="preview"
268
+ style="width: 36px; height: 36px;"
269
+ ></sp-icon-file-txt>
270
+ </sp-card>
271
+ `;
272
+ };
273
+ smallHorizontal.args = {
274
+ horizontal: true,
275
+ size: 's',
276
+ };
277
+ export const smallHorizontalWithHREF = (args) => {
278
+ return html `
279
+ <sp-card
280
+ .size=${args.size}
281
+ ?horizontal=${args.horizontal}
282
+ heading="Card Heading"
283
+ subheading="JPG"
284
+ href="https://opensource.adobe.com/spectrum-web-components"
285
+ target="_blank"
286
+ >
287
+ <sp-icon-file-txt
288
+ slot="preview"
289
+ style="width: 36px; height: 36px;"
290
+ ></sp-icon-file-txt>
291
+ </sp-card>
292
+ `;
293
+ };
294
+ smallHorizontalWithHREF.args = {
295
+ horizontal: true,
296
+ size: 's',
297
+ };
298
+ export const smallQuiet = (args) => {
299
+ return html `
300
+ <div style="width: 115px">
301
+ <sp-card
302
+ size=${args.size}
303
+ ?horizontal=${args.horizontal}
304
+ heading="Card Heading"
305
+ subheading="JPG"
306
+ variant="quiet"
307
+ >
308
+ <img src=${portrait} alt="Demo Graphic" slot="preview" />
309
+ <div slot="footer">Footer</div>
310
+ <sp-action-menu slot="actions" placement="bottom-end">
311
+ <sp-menu-item>Deselect</sp-menu-item>
312
+ <sp-menu-item>Select Inverse</sp-menu-item>
313
+ <sp-menu-item>Feather...</sp-menu-item>
314
+ <sp-menu-item>Select and Mask...</sp-menu-item>
315
+ <sp-menu-divider></sp-menu-divider>
316
+ <sp-menu-item>Save Selection</sp-menu-item>
317
+ <sp-menu-item disabled>Make Work Path</sp-menu-item>
318
+ </sp-action-menu>
319
+ </sp-card>
320
+ </div>
321
+ `;
322
+ };
323
+ smallQuiet.args = {
324
+ size: 's',
325
+ };
326
+ export const SlottedHeading = (args) => {
327
+ return html `
328
+ <style>
329
+ .slotted-textfield-heading {
330
+ width: 100%;
331
+ }
332
+ </style>
333
+ <sp-card
334
+ style="
335
+ --spectrum-card-title-width: 100%;
336
+ --spectrum-card-title-padding-right: 0;
337
+ --spectrum-card-title-padding-left: 0;
338
+ --spectrum-card-body-header-height: auto;
339
+ --spectrum-alias-single-line-width: 100%;
340
+ "
341
+ size=${args.size}
342
+ ?horizontal=${args.horizontal}
343
+ >
344
+ <img slot="cover-photo" src=${portrait} alt="Demo Graphic" />
345
+ <sp-textfield
346
+ class="slotted-textfield-heading"
347
+ slot="heading"
348
+ value="Apr 23 Project"
349
+ quiet
350
+ ></sp-textfield>
351
+ <div slot="subheading">Last modified on 6/17/2020, 3:37 PM</div>
352
+ <sp-action-menu slot="actions" placement="bottom-end">
353
+ <sp-menu-item>Deselect</sp-menu-item>
354
+ <sp-menu-item>Select Inverse</sp-menu-item>
355
+ <sp-menu-item>Feather...</sp-menu-item>
356
+ <sp-menu-item>Select and Mask...</sp-menu-item>
357
+ <sp-menu-divider></sp-menu-divider>
358
+ <sp-menu-item>Save Selection</sp-menu-item>
359
+ <sp-menu-item disabled>Make Work Path</sp-menu-item>
360
+ </sp-action-menu>
361
+ </sp-card>
362
+ `;
363
+ };
364
+ //# sourceMappingURL=card.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.stories.js","sourceRoot":"","sources":["card.stories.ts"],"names":[],"mappings":"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","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { html, TemplateResult } from '@spectrum-web-components/base';\n\nimport '../sp-card.js';\nimport { landscape, portrait } from './images';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-file-txt.js';\nimport '@spectrum-web-components/textfield/sp-textfield.js';\nimport '@spectrum-web-components/action-menu/sp-action-menu.js';\nimport '@spectrum-web-components/menu/sp-menu.js';\nimport '@spectrum-web-components/menu/sp-menu-item.js';\nimport '@spectrum-web-components/menu/sp-menu-divider.js';\nimport '@spectrum-web-components/link/sp-link.js';\n\nexport default {\n component: 'sp-card',\n title: 'Card',\n args: {\n size: 'm',\n horizontal: false,\n },\n argTypes: {\n horizontal: {\n name: 'horizontal',\n type: { name: 'boolean', required: false },\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: false },\n },\n control: {\n type: 'boolean',\n },\n },\n size: {\n name: 'size',\n type: { name: 'string', required: false },\n table: {\n type: { summary: '\"s\" | \"m\"' },\n defaultValue: { summary: 'm' },\n },\n control: { type: 'text' },\n },\n },\n};\n\nexport interface StoryArgs {\n horizontal?: boolean;\n size?: 's' | 'm';\n onClick?: ((event: Event) => void) | undefined;\n}\n\nexport const Default = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-card\n heading=\"Card Heading\"\n subheading=\"JPG\"\n size=${args.size}\n ?horizontal=${args.horizontal}\n >\n <img slot=\"cover-photo\" src=${portrait} alt=\"Demo Graphic\" />\n <div slot=\"footer\">Footer</div>\n </sp-card>\n `;\n};\nDefault.args = {};\n\nexport const href = (args: StoryArgs): TemplateResult => {\n const { onClick } = args;\n return html`\n <sp-card\n heading=\"Card Heading\"\n subheading=\"JPG\"\n .size=${args.size}\n toggles\n ?horizontal=${args.horizontal}\n href=\"https://opensource.adobe.com/spectrum-web-components\"\n @click=${(event: Event) => {\n const composedTarget = event.composedPath()[0] as HTMLElement;\n if (composedTarget.id !== 'like-anchor') return;\n event.stopPropagation();\n event.preventDefault();\n onClick && onClick(event);\n }}\n >\n <div slot=\"footer\">\n Footer with a\n <sp-link href=\"https://google.com\">link to Google</sp-link>\n </div>\n <sp-action-menu slot=\"actions\" placement=\"bottom-end\">\n <sp-menu-item>Deselect</sp-menu-item>\n <sp-menu-item>Select Inverse</sp-menu-item>\n <sp-menu-item>Feather...</sp-menu-item>\n <sp-menu-item>Select and Mask...</sp-menu-item>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-item>Save Selection</sp-menu-item>\n <sp-menu-item disabled>Make Work Path</sp-menu-item>\n </sp-action-menu>\n <img slot=\"cover-photo\" src=${portrait} alt=\"Demo Graphic\" />\n </sp-card>\n `;\n};\nhref.argTypes = {\n onClick: { action: 'link click' },\n};\n\nexport const actions = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-card\n heading=\"Card Heading\"\n subheading=\"JPG\"\n size=${args.size}\n ?horizontal=${args.horizontal}\n >\n <img slot=\"cover-photo\" src=${portrait} alt=\"Demo Graphic\" />\n <div slot=\"footer\">Footer</div>\n <sp-action-menu slot=\"actions\" placement=\"bottom-end\">\n <sp-menu-item>Deselect</sp-menu-item>\n <sp-menu-item>Select Inverse</sp-menu-item>\n <sp-menu-item>Feather...</sp-menu-item>\n <sp-menu-item>Select and Mask...</sp-menu-item>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-item>Save Selection</sp-menu-item>\n <sp-menu-item disabled>Make Work Path</sp-menu-item>\n </sp-action-menu>\n </sp-card>\n `;\n};\n\nexport const Gallery = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-card\n variant=\"gallery\"\n heading=\"Card Heading\"\n subheading=\"JPG\"\n size=${args.size}\n ?horizontal=${args.horizontal}\n >\n <img\n slot=\"preview\"\n src=${landscape}\n style=\"object-fit: cover\"\n alt=\"Demo Graphic\"\n />\n <div slot=\"description\">10/15/18</div>\n </sp-card>\n `;\n};\n\nexport const noPreviewImage = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-card\n heading=\"Card Heading\"\n subheading=\"No preview image\"\n size=${args.size}\n ?horizontal=${args.horizontal}\n >\n <div slot=\"footer\">Footer</div>\n </sp-card>\n `;\n};\n\nexport const Quiet = (args: StoryArgs): TemplateResult => {\n return html`\n <div style=\"width: 208px; height: 264px\">\n <sp-card\n variant=\"quiet\"\n heading=\"Card Heading\"\n subheading=\"JPG\"\n size=${args.size}\n ?horizontal=${args.horizontal}\n >\n <img src=${portrait} alt=\"Demo Graphic\" slot=\"preview\" />\n <div slot=\"description\">10/15/18</div>\n </sp-card>\n </div>\n `;\n};\n\nexport const quietFile = (args: StoryArgs): TemplateResult => {\n return html`\n <div style=\"width: 208px; height: 264px\">\n <sp-card\n variant=\"quiet\"\n subheading=\"JPG\"\n asset=\"file\"\n size=${args.size}\n ?horizontal=${args.horizontal}\n >\n <img src=${portrait} alt=\"Demo Graphic\" slot=\"preview\" />\n <div slot=\"heading\">File Name</div>\n <div slot=\"description\">10/15/18</div>\n </sp-card>\n </div>\n `;\n};\n\nexport const quietFolder = (args: StoryArgs): TemplateResult => {\n return html`\n <div style=\"width: 208px; height: 264px\">\n <sp-card\n variant=\"quiet\"\n subheading=\"JPG\"\n asset=\"folder\"\n size=${args.size}\n ?horizontal=${args.horizontal}\n >\n <img src=${portrait} alt=\"Demo Graphic\" slot=\"preview\" />\n <div slot=\"heading\">Folder Name</div>\n <div slot=\"description\">10/15/18</div>\n </sp-card>\n </div>\n `;\n};\n\nexport const quietActions = (args: StoryArgs): TemplateResult => {\n return html`\n <div style=\"width: 208px; height: 264px\">\n <sp-card\n variant=\"quiet\"\n heading=\"Card Heading\"\n subheading=\"JPG\"\n size=${args.size}\n ?horizontal=${args.horizontal}\n >\n <img src=${portrait} alt=\"Demo Graphic\" slot=\"preview\" />\n <div slot=\"description\">10/15/18</div>\n <sp-action-menu slot=\"actions\" placement=\"bottom-end\">\n <sp-menu-item>Deselect</sp-menu-item>\n <sp-menu-item>Select Inverse</sp-menu-item>\n <sp-menu-item>Feather...</sp-menu-item>\n <sp-menu-item>Select and Mask...</sp-menu-item>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-item>Save Selection</sp-menu-item>\n <sp-menu-item disabled>Make Work Path</sp-menu-item>\n </sp-action-menu>\n </sp-card>\n </div>\n `;\n};\n\nquietActions.story = {\n name: 'Quiet w/ Actions',\n};\n\nexport const small = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-card\n style=\"--spectrum-card-title-padding-right: 0; --spectrum-card-title-padding-left: 0;\"\n size=${args.size}\n ?horizontal=${args.horizontal}\n heading=\"Card Heading\"\n subheading=\"JPG\"\n >\n <img\n slot=\"cover-photo\"\n src=${portrait}\n alt=\"Demo Graphic\"\n style=\"width: 140px\"\n />\n <div slot=\"footer\">Footer</div>\n </sp-card>\n `;\n};\nsmall.args = {\n size: 's',\n};\n\nexport const smallHorizontal = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-card\n size=${args.size}\n ?horizontal=${args.horizontal}\n heading=\"Card Heading\"\n subheading=\"JPG\"\n >\n <sp-icon-file-txt\n slot=\"preview\"\n style=\"width: 36px; height: 36px;\"\n ></sp-icon-file-txt>\n </sp-card>\n `;\n};\nsmallHorizontal.args = {\n horizontal: true,\n size: 's',\n};\n\nexport const smallHorizontalWithHREF = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-card\n .size=${args.size}\n ?horizontal=${args.horizontal}\n heading=\"Card Heading\"\n subheading=\"JPG\"\n href=\"https://opensource.adobe.com/spectrum-web-components\"\n target=\"_blank\"\n >\n <sp-icon-file-txt\n slot=\"preview\"\n style=\"width: 36px; height: 36px;\"\n ></sp-icon-file-txt>\n </sp-card>\n `;\n};\nsmallHorizontalWithHREF.args = {\n horizontal: true,\n size: 's',\n};\n\nexport const smallQuiet = (args: StoryArgs): TemplateResult => {\n return html`\n <div style=\"width: 115px\">\n <sp-card\n size=${args.size}\n ?horizontal=${args.horizontal}\n heading=\"Card Heading\"\n subheading=\"JPG\"\n variant=\"quiet\"\n >\n <img src=${portrait} alt=\"Demo Graphic\" slot=\"preview\" />\n <div slot=\"footer\">Footer</div>\n <sp-action-menu slot=\"actions\" placement=\"bottom-end\">\n <sp-menu-item>Deselect</sp-menu-item>\n <sp-menu-item>Select Inverse</sp-menu-item>\n <sp-menu-item>Feather...</sp-menu-item>\n <sp-menu-item>Select and Mask...</sp-menu-item>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-item>Save Selection</sp-menu-item>\n <sp-menu-item disabled>Make Work Path</sp-menu-item>\n </sp-action-menu>\n </sp-card>\n </div>\n `;\n};\nsmallQuiet.args = {\n size: 's',\n};\n\nexport const SlottedHeading = (args: StoryArgs): TemplateResult => {\n return html`\n <style>\n .slotted-textfield-heading {\n width: 100%;\n }\n </style>\n <sp-card\n style=\"\n --spectrum-card-title-width: 100%;\n --spectrum-card-title-padding-right: 0;\n --spectrum-card-title-padding-left: 0;\n --spectrum-card-body-header-height: auto;\n --spectrum-alias-single-line-width: 100%;\n \"\n size=${args.size}\n ?horizontal=${args.horizontal}\n >\n <img slot=\"cover-photo\" src=${portrait} alt=\"Demo Graphic\" />\n <sp-textfield\n class=\"slotted-textfield-heading\"\n slot=\"heading\"\n value=\"Apr 23 Project\"\n quiet\n ></sp-textfield>\n <div slot=\"subheading\">Last modified on 6/17/2020, 3:37 PM</div>\n <sp-action-menu slot=\"actions\" placement=\"bottom-end\">\n <sp-menu-item>Deselect</sp-menu-item>\n <sp-menu-item>Select Inverse</sp-menu-item>\n <sp-menu-item>Feather...</sp-menu-item>\n <sp-menu-item>Select and Mask...</sp-menu-item>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-item>Save Selection</sp-menu-item>\n <sp-menu-item disabled>Make Work Path</sp-menu-item>\n </sp-action-menu>\n </sp-card>\n `;\n};\n"]}
@@ -0,0 +1,14 @@
1
+ /*
2
+ Copyright 2020 Adobe. All rights reserved.
3
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License. You may obtain a copy
5
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ Unless required by applicable law or agreed to in writing, software distributed under
8
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ OF ANY KIND, either express or implied. See the License for the specific language
10
+ governing permissions and limitations under the License.
11
+ */
12
+ export const landscape = 'data:image/jpeg;base64,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';
13
+ export const portrait = 'data:image/jpeg;base64,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';
14
+ //# sourceMappingURL=images.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"images.js","sourceRoot":"","sources":["images.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,MAAM,CAAC,MAAM,SAAS,GAClB,qxvBAAqxvB,CAAC;AAC1xvB,MAAM,CAAC,MAAM,QAAQ,GACjB,q2hBAAq2hB,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nexport const landscape =\n 'data:image/jpeg;base64,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';\nexport const portrait =\n 'data:image/jpeg;base64,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';\n"]}
@@ -0,0 +1,26 @@
1
+ /*
2
+ Copyright 2020 Adobe. All rights reserved.
3
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License. You may obtain a copy
5
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ Unless required by applicable law or agreed to in writing, software distributed under
8
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ OF ANY KIND, either express or implied. See the License for the specific language
10
+ governing permissions and limitations under the License.
11
+ */
12
+ import '@spectrum-web-components/card/sp-card.js';
13
+ import { html } from 'lit';
14
+ import { measureFixtureCreation } from '../../../../test/benchmark/helpers.js';
15
+ measureFixtureCreation(html `
16
+ <sp-card variant="gallery" heading="Card Heading" subheading="JPG">
17
+ <img
18
+ slot="preview"
19
+ src="https://picsum.photos/532/192"
20
+ alt="Demo Graphic"
21
+ />
22
+ <div slot="description">10/15/18</div>
23
+ <div slot="footer">Footer</div>
24
+ </sp-card>
25
+ `);
26
+ //# sourceMappingURL=test-basic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-basic.js","sourceRoot":"","sources":["test-basic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,0CAA0C,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,sBAAsB,CAAC,IAAI,CAAA;;;;;;;;;;CAU1B,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport '@spectrum-web-components/card/sp-card.js';\nimport { html } from 'lit';\nimport { measureFixtureCreation } from '../../../../test/benchmark/helpers.js';\n\nmeasureFixtureCreation(html`\n <sp-card variant=\"gallery\" heading=\"Card Heading\" subheading=\"JPG\">\n <img\n slot=\"preview\"\n src=\"https://picsum.photos/532/192\"\n alt=\"Demo Graphic\"\n />\n <div slot=\"description\">10/15/18</div>\n <div slot=\"footer\">Footer</div>\n </sp-card>\n`);\n"]}
@@ -0,0 +1,15 @@
1
+ /*
2
+ Copyright 2020 Adobe. All rights reserved.
3
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License. You may obtain a copy
5
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ Unless required by applicable law or agreed to in writing, software distributed under
8
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ OF ANY KIND, either express or implied. See the License for the specific language
10
+ governing permissions and limitations under the License.
11
+ */
12
+ import * as stories from '../stories/card.stories.js';
13
+ import { regressVisuals } from '../../../test/visual/test.js';
14
+ regressVisuals('CardStories', stories);
15
+ //# sourceMappingURL=card.test-vrt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.test-vrt.js","sourceRoot":"","sources":["card.test-vrt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport * as stories from '../stories/card.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\n\nregressVisuals('CardStories', stories);\n"]}
@@ -0,0 +1,326 @@
1
+ /*
2
+ Copyright 2020 Adobe. All rights reserved.
3
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License. You may obtain a copy
5
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ Unless required by applicable law or agreed to in writing, software distributed under
8
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ OF ANY KIND, either express or implied. See the License for the specific language
10
+ governing permissions and limitations under the License.
11
+ */
12
+ import '../sp-card.js';
13
+ import '@spectrum-web-components/action-menu/sp-action-menu.js';
14
+ import '@spectrum-web-components/menu/sp-menu.js';
15
+ import '@spectrum-web-components/menu/sp-menu-item.js';
16
+ import '@spectrum-web-components/menu/sp-menu-divider.js';
17
+ import { elementUpdated, expect, fixture, html } from '@open-wc/testing';
18
+ import { Default, href, smallHorizontal, } from '../stories/card.stories.js';
19
+ import { spy } from 'sinon';
20
+ import { spaceEvent } from '../../../test/testing-helpers.js';
21
+ import { sendMouse } from '../../../test/plugins/browser.js';
22
+ describe('card', () => {
23
+ it('loads', async () => {
24
+ const el = await fixture(html `
25
+ <sp-card heading="Card Heading" subheading="JPG">
26
+ <img
27
+ slot="preview"
28
+ src="https://picsum.photos/532/192"
29
+ alt="Slotted Preview"
30
+ />
31
+ <div slot="footer">Footer</div>
32
+ </sp-card>
33
+ `);
34
+ await elementUpdated(el);
35
+ await expect(el).to.be.accessible();
36
+ });
37
+ it('loads - [quiet]', async () => {
38
+ const el = await fixture(html `
39
+ <sp-card
40
+ variant="quiet"
41
+ heading="Card Heading"
42
+ subheading="JPG"
43
+ >
44
+ <img
45
+ slot="preview"
46
+ src="https://picsum.photos/532/192"
47
+ alt="Slotted Preview"
48
+ />
49
+ <div slot="description">10/15/18</div>
50
+ <div slot="footer">Footer</div>
51
+ </sp-card>
52
+ `);
53
+ await elementUpdated(el);
54
+ await expect(el).to.be.accessible();
55
+ });
56
+ it('loads - [quiet][small]', async () => {
57
+ const el = await fixture(html `
58
+ <sp-card
59
+ size="s"
60
+ heading="Card Heading"
61
+ subheading="JPG"
62
+ variant="quiet"
63
+ style="width: 115px;"
64
+ >
65
+ <img
66
+ src="https://picsum.photos/300/400"
67
+ alt="Demo Graphic"
68
+ slot="preview"
69
+ />
70
+ <div slot="footer">Footer</div>
71
+ <sp-action-menu
72
+ slot="actions"
73
+ placement="bottom-end"
74
+ label="More Actions"
75
+ >
76
+ <sp-menu>
77
+ <sp-menu-item>Deselect</sp-menu-item>
78
+ <sp-menu-item>Select Inverse</sp-menu-item>
79
+ <sp-menu-item>Feather...</sp-menu-item>
80
+ <sp-menu-item>Select and Mask...</sp-menu-item>
81
+ <sp-menu-divider></sp-menu-divider>
82
+ <sp-menu-item>Save Selection</sp-menu-item>
83
+ <sp-menu-item disabled>Make Work Path</sp-menu-item>
84
+ </sp-menu>
85
+ </sp-action-menu>
86
+ </sp-card>
87
+ `);
88
+ await elementUpdated(el);
89
+ await expect(el).to.be.accessible();
90
+ });
91
+ it('loads - [gallery]', async () => {
92
+ const el = await fixture(html `
93
+ <sp-card
94
+ variant="gallery"
95
+ heading="Card Heading"
96
+ subheading="JPG"
97
+ >
98
+ <img
99
+ slot="preview"
100
+ src="https://picsum.photos/532/192"
101
+ alt="Slotted Preview"
102
+ />
103
+ <div slot="description">10/15/18</div>
104
+ <div slot="footer">Footer</div>
105
+ </sp-card>
106
+ `);
107
+ await elementUpdated(el);
108
+ await expect(el).to.be.accessible();
109
+ });
110
+ it('loads - [horizontal]', async () => {
111
+ const el = await fixture(smallHorizontal(smallHorizontal.args));
112
+ await elementUpdated(el);
113
+ await expect(el).to.be.accessible();
114
+ });
115
+ it('[href] is clickable', async () => {
116
+ const clickSpy = spy();
117
+ const el = await fixture(href({}));
118
+ await elementUpdated(el);
119
+ el.addEventListener('click', (event) => {
120
+ const composedTarget = event.composedPath()[0];
121
+ if (composedTarget.id !== 'like-anchor')
122
+ return;
123
+ clickSpy();
124
+ });
125
+ el.click();
126
+ expect(clickSpy.callCount).to.equal(1);
127
+ el.shadowRoot.querySelector('#like-anchor').click();
128
+ expect(clickSpy.callCount).to.equal(2);
129
+ const img = el.querySelector('img');
130
+ const boundingRect = img.getBoundingClientRect();
131
+ await sendMouse({
132
+ steps: [
133
+ {
134
+ type: 'move',
135
+ position: [
136
+ boundingRect.x + boundingRect.width / 2,
137
+ boundingRect.y + boundingRect.height / 2,
138
+ ],
139
+ },
140
+ {
141
+ type: 'down',
142
+ },
143
+ {
144
+ type: 'up',
145
+ },
146
+ ],
147
+ });
148
+ expect(clickSpy.callCount).to.equal(3);
149
+ });
150
+ it('links in [href] do not pass their click', async () => {
151
+ const clickSpy = spy();
152
+ const el = await fixture(href({}));
153
+ el.setAttribute('style', [
154
+ 'width: 200px;',
155
+ 'display: inline-flex;',
156
+ '--spectrum-card-coverphoto-height: 136px;',
157
+ '--spectrum-actionbutton-height: 32px;',
158
+ '--spectrum-icon-tshirt-size-height: 18px;',
159
+ '--spectrum-icon-tshirt-size-width: 18px;',
160
+ ].join(''));
161
+ await elementUpdated(el);
162
+ el.addEventListener('click', (event) => {
163
+ event.preventDefault();
164
+ const path = event.composedPath();
165
+ const hasLikeAnchor = path.some((el) => el.id === 'like-anchor');
166
+ if (!hasLikeAnchor)
167
+ return;
168
+ clickSpy();
169
+ });
170
+ el.click();
171
+ expect(clickSpy.callCount).to.equal(1);
172
+ const footer = el.querySelector('[slot="footer"]');
173
+ let boundingRect = footer.getBoundingClientRect();
174
+ await sendMouse({
175
+ steps: [
176
+ {
177
+ type: 'move',
178
+ position: [boundingRect.x, boundingRect.y],
179
+ },
180
+ {
181
+ type: 'down',
182
+ },
183
+ {
184
+ type: 'up',
185
+ },
186
+ ],
187
+ });
188
+ expect(clickSpy.callCount).to.equal(2);
189
+ const link = el.querySelector('sp-link[href="https://google.com"]');
190
+ link.setAttribute('style', 'display: block');
191
+ boundingRect = link.getBoundingClientRect();
192
+ await sendMouse({
193
+ steps: [
194
+ {
195
+ type: 'move',
196
+ position: [boundingRect.x + 1, boundingRect.y + 1],
197
+ },
198
+ {
199
+ type: 'down',
200
+ },
201
+ {
202
+ type: 'up',
203
+ },
204
+ ],
205
+ });
206
+ expect(clickSpy.callCount).to.equal(2);
207
+ });
208
+ it('converts `Space` to `click` event', async () => {
209
+ const clickSpy = spy();
210
+ const handleClick = () => clickSpy();
211
+ const el = await fixture(Default(Default.args));
212
+ el.addEventListener('click', handleClick);
213
+ await elementUpdated(el);
214
+ expect(el.focused, 'default focused').to.be.false;
215
+ el.dispatchEvent(new Event('focusin'));
216
+ await elementUpdated(el);
217
+ expect(el.focused, 'first time focused').to.be.true;
218
+ el.dispatchEvent(spaceEvent());
219
+ await elementUpdated(el);
220
+ expect(el.focused, 'still focused').to.be.true;
221
+ expect(clickSpy.called).to.be.true;
222
+ expect(clickSpy.calledOnce).to.be.true;
223
+ });
224
+ it('can be `[toggles]`', async () => {
225
+ const el = await fixture(Default(Default.args));
226
+ el.toggles = true;
227
+ await elementUpdated(el);
228
+ const checkbox = el.shadowRoot.querySelector('sp-checkbox');
229
+ expect(el.focused, 'default focused').to.be.false;
230
+ expect(el.selected, 'default selected').to.be.false;
231
+ el.dispatchEvent(new Event('focusin'));
232
+ await elementUpdated(el);
233
+ expect(el.focused, 'first time focused').to.be.true;
234
+ expect(el.selected, 'still not selected').to.be.false;
235
+ el.dispatchEvent(spaceEvent());
236
+ await elementUpdated(el);
237
+ expect(el.focused, 'still focused').to.be.true;
238
+ expect(el.selected, 'first selected').to.be.true;
239
+ el.addEventListener('change', (event) => event.preventDefault());
240
+ el.dispatchEvent(spaceEvent());
241
+ await elementUpdated(el);
242
+ expect(el.focused, 'still focused after default prevented').to.be.true;
243
+ expect(el.selected, 'first selected after default prevented').to.be
244
+ .true;
245
+ checkbox.dispatchEvent(new Event('focusin', {
246
+ composed: true,
247
+ bubbles: true,
248
+ }));
249
+ checkbox.focus();
250
+ await elementUpdated(el);
251
+ expect(el.focused, 'still focused, again').to.be.true;
252
+ expect(el.selected, 'still selected').to.be.true;
253
+ el.dispatchEvent(new Event('focusin'));
254
+ await elementUpdated(el);
255
+ expect(el.focused, 'focused, again').to.be.true;
256
+ expect(el.selected, 'still selected, again').to.be.true;
257
+ el.dispatchEvent(new Event('focusout'));
258
+ await elementUpdated(el);
259
+ expect(el.focused, 'still not focused, again').to.be.false;
260
+ expect(el.selected, 'still selected, again 2').to.be.true;
261
+ el.dispatchEvent(new Event('focusout'));
262
+ checkbox.click();
263
+ await elementUpdated(el);
264
+ expect(el.focused, 'still not focused, again 2').to.be.false;
265
+ // change event is prevented
266
+ expect(el.selected, 'still selected, again 3').to.be.true;
267
+ });
268
+ it('announces when `[toggles]`', async () => {
269
+ const changeSpy = spy();
270
+ const el = await fixture(Default(Default.args));
271
+ el.toggles = true;
272
+ el.addEventListener('change', changeSpy);
273
+ await elementUpdated(el);
274
+ const checkbox = el.shadowRoot.querySelector('sp-checkbox');
275
+ expect(el.selected, 'default to not selected').to.be.false;
276
+ checkbox.click();
277
+ await elementUpdated(el);
278
+ expect(el.selected, 'selected').to.be.true;
279
+ expect(changeSpy.callCount).to.equal(1);
280
+ checkbox.click();
281
+ await elementUpdated(el);
282
+ expect(el.selected, 'no longer selected').to.be.false;
283
+ expect(changeSpy.callCount).to.equal(2);
284
+ });
285
+ it('displays the `heading` attribute as `.title`', async () => {
286
+ const testHeading = 'This is a test heading';
287
+ const el = await fixture(html `
288
+ <sp-card heading=${testHeading} subheading="JPG">
289
+ <img
290
+ slot="preview"
291
+ src="https://picsum.photos/532/192"
292
+ alt="Slotted Preview"
293
+ />
294
+ <div slot="footer">Footer</div>
295
+ </sp-card>
296
+ `);
297
+ await elementUpdated(el);
298
+ const root = el.shadowRoot ? el.shadowRoot : el;
299
+ const headingEl = root.querySelector('.title');
300
+ expect(headingEl, 'did not find title element').to.not.be.null;
301
+ expect(headingEl.textContent).to.contain(testHeading, 'the heading renders in the element');
302
+ });
303
+ it('displays the slotted content as `.title`', async () => {
304
+ const testHeading = 'This is a test heading';
305
+ const el = await fixture(html `
306
+ <sp-card subheading="JPG">
307
+ <h1 slot="heading">${testHeading}</h1>
308
+ <img
309
+ slot="preview"
310
+ src="https://picsum.photos/532/192"
311
+ alt="Slotted Preview"
312
+ />
313
+ <div slot="footer">Footer</div>
314
+ </sp-card>
315
+ `);
316
+ await elementUpdated(el);
317
+ const root = el.shadowRoot ? el.shadowRoot : el;
318
+ const headingSlot = root.querySelector('.title [name="heading"]');
319
+ expect(headingSlot, 'did not find slot element').to.not.be.null;
320
+ const nodes = headingSlot.assignedNodes();
321
+ const h1Element = nodes.find((node) => node.tagName === 'H1');
322
+ expect(h1Element, 'did not find H1 element').to.not.be.null;
323
+ expect(h1Element.textContent).to.contain(testHeading, 'the slotted content renders in the element');
324
+ });
325
+ });
326
+ //# sourceMappingURL=card.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.test.js","sourceRoot":"","sources":["card.test.ts"],"names":[],"mappings":"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","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport '../sp-card.js';\nimport { Card } from '../';\nimport '@spectrum-web-components/action-menu/sp-action-menu.js';\nimport '@spectrum-web-components/menu/sp-menu.js';\nimport '@spectrum-web-components/menu/sp-menu-item.js';\nimport '@spectrum-web-components/menu/sp-menu-divider.js';\nimport { elementUpdated, expect, fixture, html } from '@open-wc/testing';\n\nimport {\n Default,\n href,\n smallHorizontal,\n StoryArgs,\n} from '../stories/card.stories.js';\nimport { Checkbox } from '@spectrum-web-components/checkbox/src/Checkbox';\nimport { spy } from 'sinon';\nimport { spaceEvent } from '../../../test/testing-helpers.js';\nimport { sendMouse } from '../../../test/plugins/browser.js';\n\ndescribe('card', () => {\n it('loads', async () => {\n const el = await fixture<Card>(\n html`\n <sp-card heading=\"Card Heading\" subheading=\"JPG\">\n <img\n slot=\"preview\"\n src=\"https://picsum.photos/532/192\"\n alt=\"Slotted Preview\"\n />\n <div slot=\"footer\">Footer</div>\n </sp-card>\n `\n );\n\n await elementUpdated(el);\n\n await expect(el).to.be.accessible();\n });\n it('loads - [quiet]', async () => {\n const el = await fixture<Card>(\n html`\n <sp-card\n variant=\"quiet\"\n heading=\"Card Heading\"\n subheading=\"JPG\"\n >\n <img\n slot=\"preview\"\n src=\"https://picsum.photos/532/192\"\n alt=\"Slotted Preview\"\n />\n <div slot=\"description\">10/15/18</div>\n <div slot=\"footer\">Footer</div>\n </sp-card>\n `\n );\n\n await elementUpdated(el);\n\n await expect(el).to.be.accessible();\n });\n\n it('loads - [quiet][small]', async () => {\n const el = await fixture<Card>(\n html`\n <sp-card\n size=\"s\"\n heading=\"Card Heading\"\n subheading=\"JPG\"\n variant=\"quiet\"\n style=\"width: 115px;\"\n >\n <img\n src=\"https://picsum.photos/300/400\"\n alt=\"Demo Graphic\"\n slot=\"preview\"\n />\n <div slot=\"footer\">Footer</div>\n <sp-action-menu\n slot=\"actions\"\n placement=\"bottom-end\"\n label=\"More Actions\"\n >\n <sp-menu>\n <sp-menu-item>Deselect</sp-menu-item>\n <sp-menu-item>Select Inverse</sp-menu-item>\n <sp-menu-item>Feather...</sp-menu-item>\n <sp-menu-item>Select and Mask...</sp-menu-item>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-item>Save Selection</sp-menu-item>\n <sp-menu-item disabled>Make Work Path</sp-menu-item>\n </sp-menu>\n </sp-action-menu>\n </sp-card>\n `\n );\n\n await elementUpdated(el);\n\n await expect(el).to.be.accessible();\n });\n it('loads - [gallery]', async () => {\n const el = await fixture<Card>(\n html`\n <sp-card\n variant=\"gallery\"\n heading=\"Card Heading\"\n subheading=\"JPG\"\n >\n <img\n slot=\"preview\"\n src=\"https://picsum.photos/532/192\"\n alt=\"Slotted Preview\"\n />\n <div slot=\"description\">10/15/18</div>\n <div slot=\"footer\">Footer</div>\n </sp-card>\n `\n );\n\n await elementUpdated(el);\n\n await expect(el).to.be.accessible();\n });\n it('loads - [horizontal]', async () => {\n const el = await fixture<Card>(\n smallHorizontal(smallHorizontal.args as StoryArgs)\n );\n\n await elementUpdated(el);\n\n await expect(el).to.be.accessible();\n });\n it('[href] is clickable', async () => {\n const clickSpy = spy();\n const el = await fixture<Card>(href({}));\n\n await elementUpdated(el);\n\n el.addEventListener('click', (event: Event) => {\n const composedTarget = event.composedPath()[0] as HTMLElement;\n if (composedTarget.id !== 'like-anchor') return;\n clickSpy();\n });\n\n el.click();\n\n expect(clickSpy.callCount).to.equal(1);\n\n (el.shadowRoot.querySelector('#like-anchor') as HTMLElement).click();\n\n expect(clickSpy.callCount).to.equal(2);\n\n const img = el.querySelector('img') as HTMLImageElement;\n const boundingRect = img.getBoundingClientRect();\n await sendMouse({\n steps: [\n {\n type: 'move',\n position: [\n boundingRect.x + boundingRect.width / 2,\n boundingRect.y + boundingRect.height / 2,\n ],\n },\n {\n type: 'down',\n },\n {\n type: 'up',\n },\n ],\n });\n\n expect(clickSpy.callCount).to.equal(3);\n });\n it('links in [href] do not pass their click', async () => {\n const clickSpy = spy();\n const el = await fixture<Card>(href({}));\n el.setAttribute(\n 'style',\n [\n 'width: 200px;',\n 'display: inline-flex;',\n '--spectrum-card-coverphoto-height: 136px;',\n '--spectrum-actionbutton-height: 32px;',\n '--spectrum-icon-tshirt-size-height: 18px;',\n '--spectrum-icon-tshirt-size-width: 18px;',\n ].join('')\n );\n\n await elementUpdated(el);\n el.addEventListener('click', (event: Event) => {\n event.preventDefault();\n const path = event.composedPath();\n const hasLikeAnchor = path.some(\n (el) => (el as HTMLElement).id === 'like-anchor'\n );\n if (!hasLikeAnchor) return;\n clickSpy();\n });\n\n el.click();\n\n expect(clickSpy.callCount).to.equal(1);\n\n const footer = el.querySelector('[slot=\"footer\"]') as HTMLElement;\n let boundingRect = footer.getBoundingClientRect();\n await sendMouse({\n steps: [\n {\n type: 'move',\n position: [boundingRect.x, boundingRect.y],\n },\n {\n type: 'down',\n },\n {\n type: 'up',\n },\n ],\n });\n\n expect(clickSpy.callCount).to.equal(2);\n\n const link = el.querySelector(\n 'sp-link[href=\"https://google.com\"]'\n ) as HTMLElement;\n link.setAttribute('style', 'display: block');\n boundingRect = link.getBoundingClientRect();\n await sendMouse({\n steps: [\n {\n type: 'move',\n position: [boundingRect.x + 1, boundingRect.y + 1],\n },\n {\n type: 'down',\n },\n {\n type: 'up',\n },\n ],\n });\n\n expect(clickSpy.callCount).to.equal(2);\n });\n it('converts `Space` to `click` event', async () => {\n const clickSpy = spy();\n const handleClick = (): void => clickSpy();\n const el = await fixture<Card>(Default(Default.args));\n el.addEventListener('click', handleClick);\n\n await elementUpdated(el);\n expect(el.focused, 'default focused').to.be.false;\n\n el.dispatchEvent(new Event('focusin'));\n await elementUpdated(el);\n expect(el.focused, 'first time focused').to.be.true;\n\n el.dispatchEvent(spaceEvent());\n await elementUpdated(el);\n expect(el.focused, 'still focused').to.be.true;\n expect(clickSpy.called).to.be.true;\n expect(clickSpy.calledOnce).to.be.true;\n });\n it('can be `[toggles]`', async () => {\n const el = await fixture<Card>(Default(Default.args));\n el.toggles = true;\n\n await elementUpdated(el);\n\n const checkbox = el.shadowRoot.querySelector('sp-checkbox') as Checkbox;\n expect(el.focused, 'default focused').to.be.false;\n expect(el.selected, 'default selected').to.be.false;\n\n el.dispatchEvent(new Event('focusin'));\n\n await elementUpdated(el);\n expect(el.focused, 'first time focused').to.be.true;\n expect(el.selected, 'still not selected').to.be.false;\n\n el.dispatchEvent(spaceEvent());\n\n await elementUpdated(el);\n expect(el.focused, 'still focused').to.be.true;\n expect(el.selected, 'first selected').to.be.true;\n\n el.addEventListener('change', (event: Event) => event.preventDefault());\n el.dispatchEvent(spaceEvent());\n\n await elementUpdated(el);\n expect(el.focused, 'still focused after default prevented').to.be.true;\n expect(el.selected, 'first selected after default prevented').to.be\n .true;\n\n checkbox.dispatchEvent(\n new Event('focusin', {\n composed: true,\n bubbles: true,\n })\n );\n checkbox.focus();\n\n await elementUpdated(el);\n expect(el.focused, 'still focused, again').to.be.true;\n expect(el.selected, 'still selected').to.be.true;\n\n el.dispatchEvent(new Event('focusin'));\n\n await elementUpdated(el);\n expect(el.focused, 'focused, again').to.be.true;\n expect(el.selected, 'still selected, again').to.be.true;\n\n el.dispatchEvent(new Event('focusout'));\n\n await elementUpdated(el);\n expect(el.focused, 'still not focused, again').to.be.false;\n expect(el.selected, 'still selected, again 2').to.be.true;\n\n el.dispatchEvent(new Event('focusout'));\n\n checkbox.click();\n\n await elementUpdated(el);\n expect(el.focused, 'still not focused, again 2').to.be.false;\n // change event is prevented\n expect(el.selected, 'still selected, again 3').to.be.true;\n });\n\n it('announces when `[toggles]`', async () => {\n const changeSpy = spy();\n const el = await fixture<Card>(Default(Default.args));\n el.toggles = true;\n el.addEventListener('change', changeSpy);\n\n await elementUpdated(el);\n\n const checkbox = el.shadowRoot.querySelector('sp-checkbox') as Checkbox;\n expect(el.selected, 'default to not selected').to.be.false;\n checkbox.click();\n await elementUpdated(el);\n\n expect(el.selected, 'selected').to.be.true;\n expect(changeSpy.callCount).to.equal(1);\n checkbox.click();\n await elementUpdated(el);\n\n expect(el.selected, 'no longer selected').to.be.false;\n expect(changeSpy.callCount).to.equal(2);\n });\n it('displays the `heading` attribute as `.title`', async () => {\n const testHeading = 'This is a test heading';\n const el = await fixture<Card>(\n html`\n <sp-card heading=${testHeading} subheading=\"JPG\">\n <img\n slot=\"preview\"\n src=\"https://picsum.photos/532/192\"\n alt=\"Slotted Preview\"\n />\n <div slot=\"footer\">Footer</div>\n </sp-card>\n `\n );\n\n await elementUpdated(el);\n\n const root = el.shadowRoot ? el.shadowRoot : el;\n const headingEl = root.querySelector('.title');\n\n expect(headingEl, 'did not find title element').to.not.be.null;\n expect((headingEl as HTMLDivElement).textContent).to.contain(\n testHeading,\n 'the heading renders in the element'\n );\n });\n it('displays the slotted content as `.title`', async () => {\n const testHeading = 'This is a test heading';\n const el = await fixture<Card>(\n html`\n <sp-card subheading=\"JPG\">\n <h1 slot=\"heading\">${testHeading}</h1>\n <img\n slot=\"preview\"\n src=\"https://picsum.photos/532/192\"\n alt=\"Slotted Preview\"\n />\n <div slot=\"footer\">Footer</div>\n </sp-card>\n `\n );\n\n await elementUpdated(el);\n\n const root = el.shadowRoot ? el.shadowRoot : el;\n const headingSlot = root.querySelector(\n '.title [name=\"heading\"]'\n ) as HTMLSlotElement;\n\n expect(headingSlot, 'did not find slot element').to.not.be.null;\n const nodes = headingSlot.assignedNodes();\n const h1Element = nodes.find(\n (node) => (node as HTMLElement).tagName === 'H1'\n );\n expect(h1Element, 'did not find H1 element').to.not.be.null;\n expect((h1Element as HTMLHeadingElement).textContent).to.contain(\n testHeading,\n 'the slotted content renders in the element'\n );\n });\n});\n"]}