@govtechsg/sgds-web-component 3.3.3-rc.2 → 3.4.0-rc.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.
- package/Masthead/index.js +1 -1
- package/base/card-element.d.ts +2 -1
- package/base/card-element.js +2 -10
- package/base/card-element.js.map +1 -1
- package/base/card.js +1 -1
- package/base/sgds-element2.js +1 -1
- package/components/Accordion/index.umd.js +1 -1
- package/components/Alert/index.umd.js +1 -1
- package/components/Badge/index.umd.js +1 -1
- package/components/Breadcrumb/index.umd.js +1 -1
- package/components/Button/index.umd.js +1 -1
- package/components/Card/index.umd.js +3716 -3705
- package/components/Card/index.umd.js.map +1 -1
- package/components/Card/sgds-card.d.ts +8 -1
- package/components/Card/sgds-card.js +47 -14
- package/components/Card/sgds-card.js.map +1 -1
- package/components/Checkbox/index.umd.js +1 -1
- package/components/ComboBox/index.umd.js +9 -1
- package/components/ComboBox/index.umd.js.map +1 -1
- package/components/ComboBox/sgds-combo-box.d.ts +4 -0
- package/components/ComboBox/sgds-combo-box.js +8 -0
- package/components/ComboBox/sgds-combo-box.js.map +1 -1
- package/components/Datepicker/index.umd.js +1 -1
- package/components/DescriptionList/index.umd.js +1 -1
- package/components/Divider/index.umd.js +1 -1
- package/components/Drawer/drawer.js +1 -1
- package/components/Drawer/index.umd.js +17 -4
- package/components/Drawer/index.umd.js.map +1 -1
- package/components/Drawer/sgds-drawer.d.ts +8 -0
- package/components/Drawer/sgds-drawer.js +15 -2
- package/components/Drawer/sgds-drawer.js.map +1 -1
- package/components/Dropdown/index.umd.js +1 -1
- package/components/FileUpload/index.umd.js +1 -1
- package/components/Footer/index.umd.js +1 -1
- package/components/Icon/index.umd.js +1 -1
- package/components/IconButton/index.umd.js +1 -1
- package/components/IconCard/index.umd.js +93 -137
- package/components/IconCard/index.umd.js.map +1 -1
- package/components/IconCard/sgds-icon-card.d.ts +7 -2
- package/components/IconCard/sgds-icon-card.js +39 -12
- package/components/IconCard/sgds-icon-card.js.map +1 -1
- package/components/IconList/index.umd.js +1 -1
- package/components/ImageCard/index.umd.js +91 -136
- package/components/ImageCard/index.umd.js.map +1 -1
- package/components/ImageCard/sgds-image-card.d.ts +7 -2
- package/components/ImageCard/sgds-image-card.js +37 -11
- package/components/ImageCard/sgds-image-card.js.map +1 -1
- package/components/Input/index.umd.js +1 -1
- package/components/Link/index.umd.js +1 -1
- package/components/Mainnav/index.umd.js +44 -63
- package/components/Mainnav/index.umd.js.map +1 -1
- package/components/Mainnav/mainnav-context.d.ts +4 -1
- package/components/Mainnav/mainnav-context.js +3 -2
- package/components/Mainnav/mainnav-context.js.map +1 -1
- package/components/Mainnav/sgds-mainnav-dropdown.d.ts +1 -3
- package/components/Mainnav/sgds-mainnav-dropdown.js +13 -33
- package/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -1
- package/components/Mainnav/sgds-mainnav-item.js +4 -2
- package/components/Mainnav/sgds-mainnav-item.js.map +1 -1
- package/components/Mainnav/sgds-mainnav.d.ts +4 -2
- package/components/Mainnav/sgds-mainnav.js +26 -28
- package/components/Mainnav/sgds-mainnav.js.map +1 -1
- package/components/Masthead/index.umd.js +1 -1
- package/components/Modal/index.umd.js +1 -1
- package/components/OverflowMenu/index.umd.js +1 -1
- package/components/Pagination/index.umd.js +1 -1
- package/components/ProgressBar/index.umd.js +1 -1
- package/components/QuantityToggle/index.umd.js +1 -1
- package/components/Radio/index.umd.js +1 -1
- package/components/Select/index.umd.js +12 -1
- package/components/Select/index.umd.js.map +1 -1
- package/components/Select/sgds-select.d.ts +5 -0
- package/components/Select/sgds-select.js +11 -0
- package/components/Select/sgds-select.js.map +1 -1
- package/components/Sidenav/index.umd.js +1 -1
- package/components/Skeleton/index.umd.js +1 -1
- package/components/Spinner/index.umd.js +1 -1
- package/components/Stepper/index.umd.js +1 -1
- package/components/Subnav/index.umd.js +1 -1
- package/components/Switch/index.umd.js +1 -1
- package/components/Tab/index.umd.js +1 -1
- package/components/Table/index.umd.js +1 -1
- package/components/TableOfContents/index.umd.js +1 -1
- package/components/Textarea/index.umd.js +1 -1
- package/components/ThumbnailCard/index.umd.js +93 -142
- package/components/ThumbnailCard/index.umd.js.map +1 -1
- package/components/ThumbnailCard/sgds-thumbnail-card.d.ts +7 -2
- package/components/ThumbnailCard/sgds-thumbnail-card.js +38 -16
- package/components/ThumbnailCard/sgds-thumbnail-card.js.map +1 -1
- package/components/ThumbnailCard/thumbnail-card.js +1 -1
- package/components/Toast/index.umd.js +1 -1
- package/components/Tooltip/index.umd.js +1 -1
- package/components/index.umd.js +238 -121
- package/components/index.umd.js.map +1 -1
- package/index.umd.js +238 -121
- package/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/react/base/card-element.cjs.js +2 -10
- package/react/base/card-element.cjs.js.map +1 -1
- package/react/base/card-element.js +2 -10
- package/react/base/card-element.js.map +1 -1
- package/react/base/card.cjs.js +1 -1
- package/react/base/card.js +1 -1
- package/react/base/sgds-element.cjs2.js +1 -1
- package/react/base/sgds-element2.js +1 -1
- package/react/combo-box/index.cjs.js +3 -0
- package/react/combo-box/index.cjs.js.map +1 -1
- package/react/combo-box/index.js +3 -0
- package/react/combo-box/index.js.map +1 -1
- package/react/components/Card/sgds-card.cjs.js +46 -13
- package/react/components/Card/sgds-card.cjs.js.map +1 -1
- package/react/components/Card/sgds-card.js +47 -14
- package/react/components/Card/sgds-card.js.map +1 -1
- package/react/components/ComboBox/sgds-combo-box.cjs.js +8 -0
- package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -1
- package/react/components/ComboBox/sgds-combo-box.js +8 -0
- package/react/components/ComboBox/sgds-combo-box.js.map +1 -1
- package/react/components/Drawer/drawer.cjs.js +1 -1
- package/react/components/Drawer/drawer.js +1 -1
- package/react/components/Drawer/sgds-drawer.cjs.js +15 -2
- package/react/components/Drawer/sgds-drawer.cjs.js.map +1 -1
- package/react/components/Drawer/sgds-drawer.js +15 -2
- package/react/components/Drawer/sgds-drawer.js.map +1 -1
- package/react/components/IconCard/sgds-icon-card.cjs.js +38 -11
- package/react/components/IconCard/sgds-icon-card.cjs.js.map +1 -1
- package/react/components/IconCard/sgds-icon-card.js +39 -12
- package/react/components/IconCard/sgds-icon-card.js.map +1 -1
- package/react/components/ImageCard/sgds-image-card.cjs.js +36 -10
- package/react/components/ImageCard/sgds-image-card.cjs.js.map +1 -1
- package/react/components/ImageCard/sgds-image-card.js +37 -11
- package/react/components/ImageCard/sgds-image-card.js.map +1 -1
- package/react/components/Mainnav/mainnav-context.cjs.js +4 -2
- package/react/components/Mainnav/mainnav-context.cjs.js.map +1 -1
- package/react/components/Mainnav/mainnav-context.js +3 -2
- package/react/components/Mainnav/mainnav-context.js.map +1 -1
- package/react/components/Mainnav/sgds-mainnav-dropdown.cjs.js +12 -32
- package/react/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +1 -1
- package/react/components/Mainnav/sgds-mainnav-dropdown.js +13 -33
- package/react/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -1
- package/react/components/Mainnav/sgds-mainnav-item.cjs.js +4 -2
- package/react/components/Mainnav/sgds-mainnav-item.cjs.js.map +1 -1
- package/react/components/Mainnav/sgds-mainnav-item.js +4 -2
- package/react/components/Mainnav/sgds-mainnav-item.js.map +1 -1
- package/react/components/Mainnav/sgds-mainnav.cjs.js +25 -27
- package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -1
- package/react/components/Mainnav/sgds-mainnav.js +26 -28
- package/react/components/Mainnav/sgds-mainnav.js.map +1 -1
- package/react/components/Select/sgds-select.cjs.js +11 -0
- package/react/components/Select/sgds-select.cjs.js.map +1 -1
- package/react/components/Select/sgds-select.js +11 -0
- package/react/components/Select/sgds-select.js.map +1 -1
- package/react/components/ThumbnailCard/sgds-thumbnail-card.cjs.js +37 -15
- package/react/components/ThumbnailCard/sgds-thumbnail-card.cjs.js.map +1 -1
- package/react/components/ThumbnailCard/sgds-thumbnail-card.js +38 -16
- package/react/components/ThumbnailCard/sgds-thumbnail-card.js.map +1 -1
- package/react/components/ThumbnailCard/thumbnail-card.cjs.js +1 -1
- package/react/components/ThumbnailCard/thumbnail-card.js +1 -1
- package/react/select/index.cjs.js +3 -0
- package/react/select/index.cjs.js.map +1 -1
- package/react/select/index.js +3 -0
- package/react/select/index.js.map +1 -1
|
@@ -8,7 +8,9 @@ import { CardElement } from "../../base/card-element";
|
|
|
8
8
|
* @slot title - The title of the card
|
|
9
9
|
* @slot description - The paragrapher text of the card
|
|
10
10
|
* @slot lower - Accepts any additional content to be displayed below the card description, such as badges, metadata, or supplementary information.
|
|
11
|
-
* @slot
|
|
11
|
+
* @slot footer - Footer area of the card. Accepts links, actions, or any custom content.
|
|
12
|
+
* @slot link - (@deprecated) Deprecated since 3.3.2 in favour of `footer` slot.
|
|
13
|
+
* Legacy slot for anchor elements. Use `footer` instead.
|
|
12
14
|
*/
|
|
13
15
|
export declare class SgdsIconCard extends CardElement {
|
|
14
16
|
static styles: import("lit").CSSResult[];
|
|
@@ -16,9 +18,12 @@ export declare class SgdsIconCard extends CardElement {
|
|
|
16
18
|
_iconNode: Array<Node>;
|
|
17
19
|
/** @internal */
|
|
18
20
|
_upperNode: Array<Node>;
|
|
21
|
+
private footerNode;
|
|
22
|
+
private linkNode;
|
|
19
23
|
/** Removes the card's internal padding when set to true. */
|
|
20
24
|
noPadding: boolean;
|
|
21
|
-
private
|
|
25
|
+
private get linkSlotItems();
|
|
26
|
+
private get footerSlotItems();
|
|
22
27
|
protected firstUpdated(): void;
|
|
23
28
|
render(): import("lit-html").TemplateResult;
|
|
24
29
|
}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import { nothing } from 'lit';
|
|
3
3
|
import { literal, html } from 'lit/static-html.js';
|
|
4
|
-
import { queryAssignedNodes, property } from 'lit/decorators.js';
|
|
4
|
+
import { queryAssignedNodes, queryAssignedElements, property } from 'lit/decorators.js';
|
|
5
5
|
import { classMap } from 'lit/directives/class-map.js';
|
|
6
6
|
import { CardElement } from '../../base/card-element.js';
|
|
7
|
-
import { HasSlotController } from '../../utils/slot.js';
|
|
8
7
|
import css_248z from './icon-card.js';
|
|
9
8
|
|
|
10
9
|
/**
|
|
@@ -16,16 +15,30 @@ import css_248z from './icon-card.js';
|
|
|
16
15
|
* @slot title - The title of the card
|
|
17
16
|
* @slot description - The paragrapher text of the card
|
|
18
17
|
* @slot lower - Accepts any additional content to be displayed below the card description, such as badges, metadata, or supplementary information.
|
|
19
|
-
* @slot
|
|
18
|
+
* @slot footer - Footer area of the card. Accepts links, actions, or any custom content.
|
|
19
|
+
* @slot link - (@deprecated) Deprecated since 3.3.2 in favour of `footer` slot.
|
|
20
|
+
* Legacy slot for anchor elements. Use `footer` instead.
|
|
20
21
|
*/
|
|
21
22
|
class SgdsIconCard extends CardElement {
|
|
22
23
|
constructor() {
|
|
23
24
|
super(...arguments);
|
|
24
25
|
/** Removes the card's internal padding when set to true. */
|
|
25
26
|
this.noPadding = false;
|
|
26
|
-
|
|
27
|
+
}
|
|
28
|
+
get linkSlotItems() {
|
|
29
|
+
if (!this.linkNode || this.linkNode.length === 0)
|
|
30
|
+
return null;
|
|
31
|
+
const element = this.linkNode[0];
|
|
32
|
+
return (element.querySelector("a") || element);
|
|
33
|
+
}
|
|
34
|
+
get footerSlotItems() {
|
|
35
|
+
if (!this.footerNode || this.footerNode.length === 0)
|
|
36
|
+
return null;
|
|
37
|
+
const element = this.footerNode[0];
|
|
38
|
+
return (element.querySelector("a") || element);
|
|
27
39
|
}
|
|
28
40
|
firstUpdated() {
|
|
41
|
+
var _a, _b;
|
|
29
42
|
if (this._iconNode.length === 0) {
|
|
30
43
|
if ((this.orientation === "vertical" && this._upperNode.length === 0) || this.orientation === "horizontal") {
|
|
31
44
|
const media = this.shadowRoot.querySelector(".card-media");
|
|
@@ -35,14 +48,24 @@ class SgdsIconCard extends CardElement {
|
|
|
35
48
|
body.style.padding = "0px";
|
|
36
49
|
}
|
|
37
50
|
}
|
|
51
|
+
if (this.stretchedLink) {
|
|
52
|
+
const footerHref = (_a = this.footerSlotItems) === null || _a === void 0 ? void 0 : _a.href;
|
|
53
|
+
const linkHref = (_b = this.linkSlotItems) === null || _b === void 0 ? void 0 : _b.href;
|
|
54
|
+
if (footerHref) {
|
|
55
|
+
this.card.setAttribute("href", footerHref);
|
|
56
|
+
}
|
|
57
|
+
else if (linkHref) {
|
|
58
|
+
this.card.setAttribute("href", linkHref);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
38
61
|
}
|
|
39
62
|
render() {
|
|
40
63
|
const tag = this.stretchedLink ? literal `a` : literal `div`;
|
|
41
64
|
const cardTabIndex = !this.stretchedLink || this.disabled ? -1 : 0;
|
|
42
|
-
const hasDescriptionSlot = this.hasSlotController.test("description");
|
|
43
65
|
return html `
|
|
44
66
|
<${tag}
|
|
45
|
-
class="
|
|
67
|
+
class="${classMap({
|
|
68
|
+
card: true,
|
|
46
69
|
disabled: this.disabled
|
|
47
70
|
})}"
|
|
48
71
|
tabindex=${cardTabIndex}
|
|
@@ -61,13 +84,11 @@ class SgdsIconCard extends CardElement {
|
|
|
61
84
|
</div>
|
|
62
85
|
<slot></slot>
|
|
63
86
|
</div>
|
|
64
|
-
|
|
65
|
-
? html `<p class="card-text">
|
|
66
|
-
<slot name="description"></slot>
|
|
67
|
-
</p>`
|
|
68
|
-
: nothing}
|
|
87
|
+
<slot name="description"></slot>
|
|
69
88
|
<slot name="lower"></slot>
|
|
70
|
-
<slot name="
|
|
89
|
+
<slot name="footer">
|
|
90
|
+
<slot name="link" @slotchange=${this.handleLinkSlotChange}></slot>
|
|
91
|
+
</slot>
|
|
71
92
|
</div>
|
|
72
93
|
</${tag}>
|
|
73
94
|
`;
|
|
@@ -80,6 +101,12 @@ __decorate([
|
|
|
80
101
|
__decorate([
|
|
81
102
|
queryAssignedNodes({ slot: "upper", flatten: true })
|
|
82
103
|
], SgdsIconCard.prototype, "_upperNode", void 0);
|
|
104
|
+
__decorate([
|
|
105
|
+
queryAssignedElements({ slot: "footer" })
|
|
106
|
+
], SgdsIconCard.prototype, "footerNode", void 0);
|
|
107
|
+
__decorate([
|
|
108
|
+
queryAssignedElements({ slot: "link" })
|
|
109
|
+
], SgdsIconCard.prototype, "linkNode", void 0);
|
|
83
110
|
__decorate([
|
|
84
111
|
property({ type: Boolean, reflect: true })
|
|
85
112
|
], SgdsIconCard.prototype, "noPadding", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgds-icon-card.js","sources":["../../../src/components/IconCard/sgds-icon-card.ts"],"sourcesContent":["import { nothing } from \"lit\";\nimport { html, literal } from \"lit/static-html.js\";\nimport { property, queryAssignedNodes } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { CardElement } from \"../../base/card-element\";\nimport
|
|
1
|
+
{"version":3,"file":"sgds-icon-card.js","sources":["../../../src/components/IconCard/sgds-icon-card.ts"],"sourcesContent":["import { nothing } from \"lit\";\nimport { html, literal } from \"lit/static-html.js\";\nimport { property, queryAssignedElements, queryAssignedNodes } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { CardElement } from \"../../base/card-element\";\nimport SgdsLink from \"../Link/sgds-link\";\nimport IconCardStyle from \"./icon-card.css\";\n\n/**\n * @summary Icon cards can be used for headers and footers, a wide variety of content, contain contextual background colors and images.\n * @slot default - The content area of the card, placed directly under the title. Accepts any HTML or custom elements.\n * @slot icon - Accepts an icon element to visually represent the card. Only a single element is allowed to be passed in.\n * @slot upper - Accepts any content to be displayed at the top of the subtitle. Commonly used for badges, status indicators, or decorative elements.\n * @slot subtitle - The subtitle of the card\n * @slot title - The title of the card\n * @slot description - The paragrapher text of the card\n * @slot lower - Accepts any additional content to be displayed below the card description, such as badges, metadata, or supplementary information.\n * @slot footer - Footer area of the card. Accepts links, actions, or any custom content.\n * @slot link - (@deprecated) Deprecated since 3.3.2 in favour of `footer` slot.\n * Legacy slot for anchor elements. Use `footer` instead.\n */\nexport class SgdsIconCard extends CardElement {\n static styles = [...CardElement.styles, IconCardStyle];\n\n /** @internal */\n @queryAssignedNodes({ slot: \"icon\", flatten: true })\n _iconNode!: Array<Node>;\n /** @internal */\n @queryAssignedNodes({ slot: \"upper\", flatten: true })\n _upperNode!: Array<Node>;\n @queryAssignedElements({ slot: \"footer\" })\n private footerNode!: HTMLElement[];\n @queryAssignedElements({ slot: \"link\" })\n private linkNode!: HTMLAnchorElement[] | SgdsLink[];\n\n /** Removes the card's internal padding when set to true. */\n @property({ type: Boolean, reflect: true }) noPadding = false;\n\n private get linkSlotItems(): HTMLAnchorElement | null {\n if (!this.linkNode || this.linkNode.length === 0) return null;\n const element = this.linkNode[0] as HTMLElement;\n return (element.querySelector(\"a\") || element) as HTMLAnchorElement;\n }\n\n private get footerSlotItems(): HTMLAnchorElement | null {\n if (!this.footerNode || this.footerNode.length === 0) return null;\n const element = this.footerNode[0] as HTMLElement;\n return (element.querySelector(\"a\") || element) as HTMLAnchorElement;\n }\n\n protected firstUpdated() {\n if (this._iconNode.length === 0) {\n if ((this.orientation === \"vertical\" && this._upperNode.length === 0) || this.orientation === \"horizontal\") {\n const media = this.shadowRoot.querySelector(\".card-media\") as HTMLDivElement;\n media.style.display = \"none\";\n\n const body = this.shadowRoot.querySelector(\".card-body\") as HTMLDivElement;\n if (this.noPadding) body.style.padding = \"0px\";\n }\n }\n\n if (this.stretchedLink) {\n const footerHref = this.footerSlotItems?.href;\n const linkHref = this.linkSlotItems?.href;\n\n if (footerHref) {\n this.card.setAttribute(\"href\", footerHref);\n } else if (linkHref) {\n this.card.setAttribute(\"href\", linkHref);\n }\n }\n }\n\n render() {\n const tag = this.stretchedLink ? literal`a` : literal`div`;\n const cardTabIndex = !this.stretchedLink || this.disabled ? -1 : 0;\n\n return html`\n <${tag} \n class=\"${classMap({\n card: true,\n disabled: this.disabled\n })}\"\n tabindex=${cardTabIndex}\n >\n ${this.tinted && !this.noPadding ? html`<div class=\"card-tinted-bg\"></div>` : nothing}\n <div class=\"card-media\">\n <slot name=\"icon\"></slot>\n ${this.orientation === \"vertical\" ? html`<slot name=\"upper\"></slot>` : nothing}\n </div>\n <div class=\"card-body\">\n ${this.orientation === \"horizontal\" ? html`<slot name=\"upper\"></slot>` : nothing}\n <div class=\"card-header-container\">\n <div class=\"card-header\">\n <slot name=\"subtitle\"></slot>\n <h3 class=\"card-title\"><slot name=\"title\" @slotchange=${this.handleTitleSlotChange}></slot></h3>\n </div>\n <slot></slot>\n </div>\n <slot name=\"description\"></slot>\n <slot name=\"lower\"></slot>\n <slot name=\"footer\">\n <slot name=\"link\" @slotchange=${this.handleLinkSlotChange}></slot>\n </slot>\n </div>\n </${tag}>\n `;\n }\n}\n\nexport default SgdsIconCard;\n"],"names":["IconCardStyle"],"mappings":"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"}
|
|
@@ -4207,7 +4207,7 @@
|
|
|
4207
4207
|
*/
|
|
4208
4208
|
const classMap = directive(ClassMapDirective);
|
|
4209
4209
|
|
|
4210
|
-
var css_248z$1 = css`:host{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--sgds-body-color-default);font-family:var(--sgds-font-family-brand);font-size:var(--sgds-font-size-2);font-weight:var(--sgds-font-weight-regular);line-height:var(--sgds-line-height-body);margin:0;*,:after,:before{box-sizing:border-box}:disabled{cursor:not-allowed}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}::slotted(a[target=_blank]):after,a[target=_blank]:after{background-color:currentColor;content:"/";display:inline-block;height:var(--sgds-icon-size-lg);margin-left:.25rem;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4ZM12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6Z' fill='%230E0E0E'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4ZM12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6Z' fill='%230E0E0E'/%3E%3C/svg%3E");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;vertical-align:bottom;width:var(--sgds-icon-size-lg)}::slotted(svg){vertical-align:middle}}`;
|
|
4210
|
+
var css_248z$1 = css`:host{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--sgds-body-color-default);font-family:var(--sgds-font-family-brand);font-size:var(--sgds-font-size-2);font-weight:var(--sgds-font-weight-regular);line-height:var(--sgds-line-height-body);margin:0;*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:disabled{cursor:not-allowed}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}::slotted(a[target=_blank]):after,a[target=_blank]:after{background-color:currentColor;content:"/";display:inline-block;height:var(--sgds-icon-size-lg);margin-left:.25rem;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4ZM12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6Z' fill='%230E0E0E'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4ZM12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6Z' fill='%230E0E0E'/%3E%3C/svg%3E");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;vertical-align:bottom;width:var(--sgds-icon-size-lg)}::slotted(svg){vertical-align:middle}}`;
|
|
4211
4211
|
|
|
4212
4212
|
/**
|
|
4213
4213
|
* @cssprop --sgds-{stateColor} - State colors in hexadecimal value
|
|
@@ -4322,6 +4322,56 @@
|
|
|
4322
4322
|
});
|
|
4323
4323
|
}
|
|
4324
4324
|
|
|
4325
|
+
/**
|
|
4326
|
+
* @license
|
|
4327
|
+
* Copyright 2021 Google LLC
|
|
4328
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
4329
|
+
*/
|
|
4330
|
+
/**
|
|
4331
|
+
* A property decorator that converts a class property into a getter that
|
|
4332
|
+
* returns the `assignedElements` of the given `slot`. Provides a declarative
|
|
4333
|
+
* way to use
|
|
4334
|
+
* [`HTMLSlotElement.assignedElements`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/assignedElements).
|
|
4335
|
+
*
|
|
4336
|
+
* Can be passed an optional {@linkcode QueryAssignedElementsOptions} object.
|
|
4337
|
+
*
|
|
4338
|
+
* Example usage:
|
|
4339
|
+
* ```ts
|
|
4340
|
+
* class MyElement {
|
|
4341
|
+
* @queryAssignedElements({ slot: 'list' })
|
|
4342
|
+
* listItems!: Array<HTMLElement>;
|
|
4343
|
+
* @queryAssignedElements()
|
|
4344
|
+
* unnamedSlotEls!: Array<HTMLElement>;
|
|
4345
|
+
*
|
|
4346
|
+
* render() {
|
|
4347
|
+
* return html`
|
|
4348
|
+
* <slot name="list"></slot>
|
|
4349
|
+
* <slot></slot>
|
|
4350
|
+
* `;
|
|
4351
|
+
* }
|
|
4352
|
+
* }
|
|
4353
|
+
* ```
|
|
4354
|
+
*
|
|
4355
|
+
* Note, the type of this property should be annotated as `Array<HTMLElement>`.
|
|
4356
|
+
*
|
|
4357
|
+
* @category Decorator
|
|
4358
|
+
*/
|
|
4359
|
+
function queryAssignedElements(options) {
|
|
4360
|
+
return ((obj, name) => {
|
|
4361
|
+
const { slot, selector } = options ?? {};
|
|
4362
|
+
const slotSelector = `slot${slot ? `[name=${slot}]` : ':not([name])'}`;
|
|
4363
|
+
return desc(obj, name, {
|
|
4364
|
+
get() {
|
|
4365
|
+
const slotEl = this.renderRoot?.querySelector(slotSelector);
|
|
4366
|
+
const elements = slotEl?.assignedElements(options) ?? [];
|
|
4367
|
+
return (selector === undefined
|
|
4368
|
+
? elements
|
|
4369
|
+
: elements.filter((node) => node.matches(selector)));
|
|
4370
|
+
},
|
|
4371
|
+
});
|
|
4372
|
+
});
|
|
4373
|
+
}
|
|
4374
|
+
|
|
4325
4375
|
/**
|
|
4326
4376
|
* @license
|
|
4327
4377
|
* Copyright 2017 Google LLC
|
|
@@ -4499,7 +4549,7 @@
|
|
|
4499
4549
|
*/
|
|
4500
4550
|
const classMap = directive(ClassMapDirective);
|
|
4501
4551
|
|
|
4502
|
-
var css_248z$
|
|
4552
|
+
var css_248z$7 = css`:host{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--sgds-body-color-default);font-family:var(--sgds-font-family-brand);font-size:var(--sgds-font-size-2);font-weight:var(--sgds-font-weight-regular);line-height:var(--sgds-line-height-body);margin:0;*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:disabled{cursor:not-allowed}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}::slotted(a[target=_blank]):after,a[target=_blank]:after{background-color:currentColor;content:"/";display:inline-block;height:var(--sgds-icon-size-lg);margin-left:.25rem;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4ZM12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6Z' fill='%230E0E0E'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4ZM12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6Z' fill='%230E0E0E'/%3E%3C/svg%3E");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;vertical-align:bottom;width:var(--sgds-icon-size-lg)}::slotted(svg){vertical-align:middle}}`;
|
|
4503
4553
|
|
|
4504
4554
|
/**
|
|
4505
4555
|
* @cssprop --sgds-{stateColor} - State colors in hexadecimal value
|
|
@@ -4556,76 +4606,11 @@
|
|
|
4556
4606
|
});
|
|
4557
4607
|
}
|
|
4558
4608
|
}
|
|
4559
|
-
SgdsElement.styles = [css_248z$
|
|
4609
|
+
SgdsElement.styles = [css_248z$7];
|
|
4560
4610
|
/** @internal */
|
|
4561
4611
|
SgdsElement.dependencies = {};
|
|
4562
4612
|
|
|
4563
|
-
var css_248z$
|
|
4564
|
-
|
|
4565
|
-
/**
|
|
4566
|
-
* @summary Link allows users to click and navigate their way from page to page
|
|
4567
|
-
*
|
|
4568
|
-
* @slot default - Pass in a single anchor tag here
|
|
4569
|
-
*/
|
|
4570
|
-
class SgdsLink extends SgdsElement {
|
|
4571
|
-
constructor() {
|
|
4572
|
-
super(...arguments);
|
|
4573
|
-
/** Determines the size of the link */
|
|
4574
|
-
this.size = "md";
|
|
4575
|
-
/** when true, sets the active stylings of the link */
|
|
4576
|
-
this.variant = "primary";
|
|
4577
|
-
}
|
|
4578
|
-
_processAnchor(anchor) {
|
|
4579
|
-
if (anchor.hasAttribute("disabled")) {
|
|
4580
|
-
anchor.setAttribute("href", "javascript:void(0)");
|
|
4581
|
-
anchor.setAttribute("tabindex", "-1");
|
|
4582
|
-
}
|
|
4583
|
-
else {
|
|
4584
|
-
anchor.setAttribute("tabindex", "0");
|
|
4585
|
-
}
|
|
4586
|
-
}
|
|
4587
|
-
_processIcon(anchor) {
|
|
4588
|
-
const icons = anchor.querySelectorAll("sgds-icon");
|
|
4589
|
-
icons.forEach(icon => {
|
|
4590
|
-
icon.classList.remove("icon-left", "icon-right");
|
|
4591
|
-
if (!icon.previousElementSibling && !icon.previousSibling) {
|
|
4592
|
-
icon.classList.add("icon-left");
|
|
4593
|
-
}
|
|
4594
|
-
if (!icon.nextElementSibling && !icon.nextSibling) {
|
|
4595
|
-
icon.classList.add("icon-right");
|
|
4596
|
-
}
|
|
4597
|
-
});
|
|
4598
|
-
}
|
|
4599
|
-
_handleSlotChange(e) {
|
|
4600
|
-
const anchor = e.target
|
|
4601
|
-
.assignedElements()
|
|
4602
|
-
.find(el => el.tagName.toLowerCase() === "a");
|
|
4603
|
-
if (anchor) {
|
|
4604
|
-
this._processAnchor(anchor);
|
|
4605
|
-
this._processIcon(anchor);
|
|
4606
|
-
}
|
|
4607
|
-
}
|
|
4608
|
-
firstUpdated() {
|
|
4609
|
-
const anchor = this.querySelector("a");
|
|
4610
|
-
if (anchor) {
|
|
4611
|
-
this._processAnchor(anchor);
|
|
4612
|
-
this._processIcon(anchor);
|
|
4613
|
-
}
|
|
4614
|
-
}
|
|
4615
|
-
render() {
|
|
4616
|
-
/** When removing href, link is no longer focusable */
|
|
4617
|
-
return html$1 `<slot class="nav-link" @slotchange=${this._handleSlotChange}></slot>`;
|
|
4618
|
-
}
|
|
4619
|
-
}
|
|
4620
|
-
SgdsLink.styles = [...SgdsElement.styles, css_248z$7];
|
|
4621
|
-
__decorate([
|
|
4622
|
-
property({ type: String, reflect: true })
|
|
4623
|
-
], SgdsLink.prototype, "size", void 0);
|
|
4624
|
-
__decorate([
|
|
4625
|
-
property({ type: String, reflect: true })
|
|
4626
|
-
], SgdsLink.prototype, "variant", void 0);
|
|
4627
|
-
|
|
4628
|
-
var css_248z$6 = css`:host([disabled]){cursor:not-allowed}:host([orientation=horizontal]) .card{flex-direction:row}:host(:not([hideBorder])) .card{border:var(--sgds-border-width-1) solid var(--sgds-border-color-muted)}:host([orientation=horizontal]) .card-body{flex:1}:host([orientation=horizontal]) .card-media{padding:var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-xl)}:host([orientation=horizontal]) .card-image{width:40%}:host([imagePosition=after]) .card-image{order:1}:host([orientation=vertical][imagePosition=after]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-left-radius:var(--sgds-border-radius-none);border-top-right-radius:var(--sgds-border-radius-none)}:host([orientation=horizontal][imagePosition=after]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-bottom-left-radius:var(--sgds-border-radius-none);border-top-left-radius:var(--sgds-border-radius-none)}:host([orientation=horizontal]) slot[name=image]::slotted(img){border-bottom-left-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-right-radius:var(--sgds-border-radius-none);height:100%;object-fit:cover}:host([orientation=vertical][imageAdjustment="padding around"]) .card-image{margin:var(--sgds-margin-sm) var(--sgds-margin-sm) var(--sgds-padding-none)}:host([orientation=vertical][imageAdjustment="padding around"][imagePosition=after]) .card-image{margin:var(--sgds-margin-none) var(--sgds-margin-sm) var(--sgds-margin-sm)}:host([orientation=horizontal][imageAdjustment="padding around"]) .card-image{margin:var(--sgds-margin-sm) var(--sgds-margin-none) var(--sgds-margin-sm) var(--sgds-margin-sm)}:host([orientation=horizontal][imageAdjustment="padding around"][imagePosition=after]) .card-image{margin:var(--sgds-margin-sm) var(--sgds-margin-sm) var(--sgds-margin-sm) var(--sgds-margin-none)}:host([orientation][imageAdjustment="padding around"]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1))}:host([orientation=vertical]:not([imageAdjustment="aspect ratio"])) slot[name=image]::slotted(img){height:auto}:host([orientation=vertical][imageAdjustment="aspect ratio"]) slot[name=image]::slotted(img){object-fit:cover}.card{word-wrap:break-word;background-clip:border-box;background-color:var(--sgds-surface-default);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-border-radius-md);box-shadow:none;display:flex;flex-direction:column;height:100%;min-width:0;position:relative;transition:box-shadow .3s ease}a.card{color:initial;text-decoration:none}@media (prefers-reduced-motion:reduce){.card{transition:none}}.card.disabled{opacity:var(--sgds-opacity-50);pointer-events:none}a.card:focus{outline:0}a.card:not(.disabled):focus-visible{box-shadow:var(--sgds-box-shadow-focus)}.card-tinted-bg{border-radius:var(--sgds-border-radius-md);bottom:0;left:0;opacity:var(--sgds-opacity-0);position:absolute;right:0;top:0}.card-image{flex:1;position:relative}.card-media{align-items:flex-start;display:flex;justify-content:space-between;line-height:0;padding:var(--sgds-padding-xl) var(--sgds-padding-xl) var(--sgds-padding-none)}.card-thumbnail{align-items:center;border:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);border-radius:var(--sgds-border-radius-full);display:flex;height:var(--sgds-dimension-80);justify-content:center;width:var(--sgds-dimension-80)}.card-body{color:var(--sgds-body-color-default);display:flex;flex:1 1 auto;flex-direction:column;gap:var(--sgds-gap-xl);padding:var(--sgds-padding-xl);z-index:1}.card-header-container{display:flex;flex-direction:column;gap:var(--sgds-gap-sm)}.card-header{display:flex;flex-direction:column;gap:var(--sgds-gap-xs)}.card-title{--sgds-font-size-5:var(--sgds-font-size-4);--sgds-font-size-6:var(--sgds-font-size-4);--sgds-margin-2-xs:var(--sgds-margin-none);--sgds-font-weight-bold:var(--sgds-font-weight-semibold);color:var(--sgds-body-color-default);font-size:var(--sgds-font-size-4);font-weight:var(--sgds-font-weight-semibold)}.card-subtitle,.card-text,.card-title{margin-bottom:var(--sgds-margin-none)}slot[name=subtitle]::slotted(*){--sgds-margin-2-xs:var(--sgds-margin-none);--sgds-margin-xs:var(--sgds-margin-none);--sgds-font-size-4:var(--sgds-font-size-1);--sgds-font-size-5:var(--sgds-font-size-1);--sgds-font-size-6:var(--sgds-font-size-1);--sgds-font-weight-bold:var(--sgds-font-weight-semibold);--sgds-line-height-heading:var(--sgds-line-height-min);--sgds-letter-spacing-tight:var(--sgds-letter-spacing-wide);color:var(--sgds-color-default);font-size:var(--sgds-font-size-1);font-weight:var(--sgds-font-weight-semibold);letter-spacing:var(--sgds-letter-spacing-wide);line-height:var(--sgds-line-height-min);margin:var(--sgds-margin-none);text-transform:uppercase}slot[name=title]::slotted(a){--sgds-font-size-2:var(--sgds-font-size-4);--sgds-font-weight-regular:var(--sgds-font-weight-semibold);color:var(--sgds-link-color-default);font-size:var(--sgds-font-size-4);font-weight:var(--sgds-font-weight-semibold);text-decoration:none!important}slot[name=description]::slotted(*){color:var(--sgds-color-subtle)}slot[name=image]::slotted(img){border-top-left-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-right-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));display:block;width:100%}slot[name=link]::slotted(*){font-weight:700;margin-top:auto;padding-top:var(--sgds-padding-sm)}slot[name=link]::slotted(a){color:var(--sgds-link-color-default);height:auto!important;text-decoration:none!important}slot[name=link]::slotted(a:focus),slot[name=link]::slotted(a:hover),slot[name=title]::slotted(a:focus),slot[name=title]::slotted(a:hover){color:var(--sgds-link-color-emphasis)}slot[name=link]::slotted(a:focus),slot[name=title]::slotted(a:focus){outline:0}slot[name=link]::slotted(a:focus-visible),slot[name=title]::slotted(a:focus-visible){box-shadow:var(--sgds-box-shadow-focus)}`;
|
|
4613
|
+
var css_248z$6 = css`:host([disabled]){cursor:not-allowed}:host([stretchedLink]) slot[name=footer]::slotted(a),:host([stretchedLink]) slot[name=footer]::slotted(sgds-link),:host([stretchedLink]) slot[name=link]::slotted(a),:host([stretchedLink]) slot[name=link]::slotted(sgds-link){display:none}:host([orientation=horizontal]) .card{flex-direction:row}:host(:not([hideBorder])) .card{border:var(--sgds-border-width-1) solid var(--sgds-border-color-muted)}:host([orientation=horizontal]) .card-body{flex:1}:host([orientation=horizontal]) .card-media{padding:var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-xl)}:host([orientation=horizontal]) .card-image{width:40%}:host([imagePosition=after]) .card-image{order:1}:host([orientation=vertical][imagePosition=after]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-left-radius:var(--sgds-border-radius-none);border-top-right-radius:var(--sgds-border-radius-none)}:host([orientation=horizontal][imagePosition=after]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-bottom-left-radius:var(--sgds-border-radius-none);border-top-left-radius:var(--sgds-border-radius-none)}:host([orientation=horizontal]) slot[name=image]::slotted(img){border-bottom-left-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-right-radius:var(--sgds-border-radius-none);height:100%;object-fit:cover}:host([orientation=vertical][imageAdjustment="padding around"]) .card-image{margin:var(--sgds-margin-sm) var(--sgds-margin-sm) var(--sgds-padding-none)}:host([orientation=vertical][imageAdjustment="padding around"][imagePosition=after]) .card-image{margin:var(--sgds-margin-none) var(--sgds-margin-sm) var(--sgds-margin-sm)}:host([orientation=horizontal][imageAdjustment="padding around"]) .card-image{margin:var(--sgds-margin-sm) var(--sgds-margin-none) var(--sgds-margin-sm) var(--sgds-margin-sm)}:host([orientation=horizontal][imageAdjustment="padding around"][imagePosition=after]) .card-image{margin:var(--sgds-margin-sm) var(--sgds-margin-sm) var(--sgds-margin-sm) var(--sgds-margin-none)}:host([orientation][imageAdjustment="padding around"]) slot[name=image]::slotted(img){border-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1))}:host([orientation=vertical]:not([imageAdjustment="aspect ratio"])) slot[name=image]::slotted(img){height:auto}:host([orientation=vertical][imageAdjustment="aspect ratio"]) slot[name=image]::slotted(img){object-fit:cover}.card{word-wrap:break-word;background-clip:border-box;background-color:var(--sgds-surface-default);border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-border-radius-md);box-shadow:none;display:flex;flex-direction:column;height:100%;min-width:0;position:relative;transition:box-shadow .3s ease}a.card{color:initial;text-decoration:none}@media (prefers-reduced-motion:reduce){.card{transition:none}}.card.disabled{opacity:var(--sgds-opacity-50);pointer-events:none}a.card:focus{outline:0}a.card:not(.disabled):focus-visible{box-shadow:var(--sgds-box-shadow-focus)}.card-tinted-bg{border-radius:var(--sgds-border-radius-md);bottom:0;left:0;opacity:var(--sgds-opacity-0);position:absolute;right:0;top:0}.card-image{flex:1;position:relative}.card-media{align-items:flex-start;display:flex;justify-content:space-between;line-height:0;padding:var(--sgds-padding-xl) var(--sgds-padding-xl) var(--sgds-padding-none)}.card-body{color:var(--sgds-body-color-default);display:flex;flex:1 1 auto;flex-direction:column;gap:var(--sgds-gap-xl);padding:var(--sgds-padding-xl);z-index:1}.card-header-container{display:flex;flex-direction:column;gap:var(--sgds-gap-sm)}.card-header{display:flex;flex-direction:column;gap:var(--sgds-gap-xs)}.card-title{--sgds-font-size-5:var(--sgds-font-size-4);--sgds-font-size-6:var(--sgds-font-size-4);--sgds-margin-2-xs:var(--sgds-margin-none);--sgds-font-weight-bold:var(--sgds-font-weight-semibold);color:var(--sgds-body-color-default);font-size:var(--sgds-font-size-4);font-weight:var(--sgds-font-weight-semibold);margin-bottom:var(--sgds-margin-none)}slot[name=subtitle]::slotted(*){--sgds-margin-2-xs:var(--sgds-margin-none);--sgds-margin-xs:var(--sgds-margin-none);--sgds-font-size-4:var(--sgds-font-size-1);--sgds-font-size-5:var(--sgds-font-size-1);--sgds-font-size-6:var(--sgds-font-size-1);--sgds-font-weight-bold:var(--sgds-font-weight-semibold);--sgds-line-height-heading:var(--sgds-line-height-min);--sgds-letter-spacing-tight:var(--sgds-letter-spacing-wide);color:var(--sgds-color-subtle);font-size:var(--sgds-font-size-1);font-weight:var(--sgds-font-weight-semibold);letter-spacing:var(--sgds-letter-spacing-wide);line-height:var(--sgds-line-height-min);margin:var(--sgds-margin-none);text-transform:uppercase}slot[name=title]::slotted(a){--sgds-font-size-2:var(--sgds-font-size-4);--sgds-font-weight-regular:var(--sgds-font-weight-semibold);color:var(--sgds-link-color-default);font-size:var(--sgds-font-size-4);font-weight:var(--sgds-font-weight-semibold);text-decoration:none!important}slot[name=description]::slotted(*){--sgds-paragraph-spacing-xl:var(--sgds-margin-none);color:var(--sgds-color-subtle);margin-bottom:var(--sgds-paragraph-spacing-xl,--sgds-margin-none)}slot[name=image]::slotted(img){border-top-left-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));border-top-right-radius:calc(var(--sgds-border-radius-md) - var(--sgds-border-width-1));display:block;width:100%}slot[name=footer]::slotted(*),slot[name=link]::slotted(*){margin-top:auto;padding-top:var(--sgds-padding-sm);width:fit-content}slot[name=footer]::slotted(a),slot[name=link]::slotted(a){color:var(--sgds-link-color-default);height:auto!important;text-decoration:none!important}slot[name=footer]::slotted(a:focus),slot[name=footer]::slotted(a:hover),slot[name=link]::slotted(a:focus),slot[name=link]::slotted(a:hover),slot[name=title]::slotted(a:focus),slot[name=title]::slotted(a:hover){color:var(--sgds-link-color-emphasis)}slot[name=footer]::slotted(a:focus),slot[name=link]::slotted(a:focus),slot[name=title]::slotted(a:focus){outline:0}slot[name=footer]::slotted(a:focus-visible),slot[name=link]::slotted(a:focus-visible),slot[name=title]::slotted(a:focus-visible){box-shadow:var(--sgds-box-shadow-focus)}`;
|
|
4629
4614
|
|
|
4630
4615
|
var css_248z$5 = css`.text-primary{color:var(--sgds-primary-rgb)!important}.text-secondary{color:var(--sgds-secondary-rgb)!important}.text-success{color:var(--sgds-success-rgb)!important}.text-info{color:var(--sgds-info-rgb)!important}.text-warning{color:var(--sgds-warning-rgb)!important}.text-danger{color:var(--sgds-danger-rgb)!important}.text-light{color:var(--sgds-light-rgb)!important}.text-dark{color:var(--sgds-dark-rgb)!important}.text-muted{color:var(--sgds-secondary-color)!important}`;
|
|
4631
4616
|
|
|
@@ -4640,7 +4625,8 @@
|
|
|
4640
4625
|
class CardElement extends SgdsElement {
|
|
4641
4626
|
constructor() {
|
|
4642
4627
|
super(...arguments);
|
|
4643
|
-
/** Extends the link passed in
|
|
4628
|
+
/** Extends the link passed in the `link` slot to the entire card. Prefer using the `footer` slot for links going forward. The `link` slot is still supported for backward compatibility, but is **deprecated** and will be removed in a future release.
|
|
4629
|
+
*/
|
|
4644
4630
|
this.stretchedLink = false;
|
|
4645
4631
|
/** Disables the card */
|
|
4646
4632
|
this.disabled = false;
|
|
@@ -4664,14 +4650,6 @@
|
|
|
4664
4650
|
if (childNodes.length > 1) {
|
|
4665
4651
|
return console.error("Multiple elements passed into SgdsCard's link slot");
|
|
4666
4652
|
}
|
|
4667
|
-
if (!this.stretchedLink)
|
|
4668
|
-
return;
|
|
4669
|
-
if (childNodes[0] instanceof HTMLAnchorElement || childNodes[0] instanceof SgdsLink) {
|
|
4670
|
-
const hyperlink = (childNodes[0].querySelector("a") || childNodes[0]);
|
|
4671
|
-
this.card.setAttribute("href", hyperlink.href);
|
|
4672
|
-
const linkSlot = this.shadowRoot.querySelector("slot[name='link']");
|
|
4673
|
-
linkSlot.style.display = "none";
|
|
4674
|
-
}
|
|
4675
4653
|
}
|
|
4676
4654
|
}
|
|
4677
4655
|
CardElement.styles = [...SgdsElement.styles, css_248z$5, css_248z$4, css_248z$3, css_248z$2, css_248z$1, css_248z$6];
|
|
@@ -4694,56 +4672,6 @@
|
|
|
4694
4672
|
property({ type: String, reflect: true })
|
|
4695
4673
|
], CardElement.prototype, "orientation", void 0);
|
|
4696
4674
|
|
|
4697
|
-
class HasSlotController {
|
|
4698
|
-
constructor(host, ...slotNames) {
|
|
4699
|
-
this.slotNames = [];
|
|
4700
|
-
(this.host = host).addController(this);
|
|
4701
|
-
this.slotNames = slotNames;
|
|
4702
|
-
this.handleSlotChange = this.handleSlotChange.bind(this);
|
|
4703
|
-
}
|
|
4704
|
-
hasDefaultSlot() {
|
|
4705
|
-
return [...this.host.childNodes].some(node => {
|
|
4706
|
-
var _a;
|
|
4707
|
-
if (node.nodeType === node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim()) !== "") {
|
|
4708
|
-
return true;
|
|
4709
|
-
}
|
|
4710
|
-
if (node.nodeType === node.ELEMENT_NODE) {
|
|
4711
|
-
const el = node;
|
|
4712
|
-
const tagName = el.tagName.toLowerCase();
|
|
4713
|
-
// Ignore visually hidden elements since they aren't rendered
|
|
4714
|
-
if (tagName === "sl-visually-hidden") {
|
|
4715
|
-
return false;
|
|
4716
|
-
}
|
|
4717
|
-
// If it doesn't have a slot attribute, it's part of the default slot
|
|
4718
|
-
if (!el.hasAttribute("slot")) {
|
|
4719
|
-
return true;
|
|
4720
|
-
}
|
|
4721
|
-
}
|
|
4722
|
-
return false;
|
|
4723
|
-
});
|
|
4724
|
-
}
|
|
4725
|
-
hasNamedSlot(name) {
|
|
4726
|
-
return this.host.querySelector(`:scope > [slot="${name}"]`) !== null;
|
|
4727
|
-
}
|
|
4728
|
-
test(slotName) {
|
|
4729
|
-
return slotName === "[default]" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);
|
|
4730
|
-
}
|
|
4731
|
-
hostConnected() {
|
|
4732
|
-
var _a;
|
|
4733
|
-
(_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.addEventListener("slotchange", this.handleSlotChange);
|
|
4734
|
-
}
|
|
4735
|
-
hostDisconnected() {
|
|
4736
|
-
var _a;
|
|
4737
|
-
(_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeEventListener("slotchange", this.handleSlotChange);
|
|
4738
|
-
}
|
|
4739
|
-
handleSlotChange(event) {
|
|
4740
|
-
const slot = event.target;
|
|
4741
|
-
if ((this.slotNames.includes("[default]") && !slot.name) || (slot.name && this.slotNames.includes(slot.name))) {
|
|
4742
|
-
this.host.requestUpdate();
|
|
4743
|
-
}
|
|
4744
|
-
}
|
|
4745
|
-
}
|
|
4746
|
-
|
|
4747
4675
|
var css_248z = css`:host([noPadding]) .card{border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent)}:host(:not([noPadding])) .card:not(.disabled):hover{box-shadow:0 0 1px 0 hsla(0,0%,5%,.12),0 8px 16px 0 hsla(0,0%,5%,.12)}:host([orientation=vertical][noPadding]) .card-body{padding:var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-none)}:host([orientation=vertical][imagePosition=after][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-none)}:host([orientation=horizontal][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-none) var(--sgds-padding-xl)}:host([orientation=horizontal][imagePosition=after][noPadding]) .card-body{padding:var(--sgds-padding-none) var(--sgds-padding-xl) var(--sgds-padding-none) var(--sgds-padding-none)}:host([tinted]:not([noPadding])) .card-tinted-bg{background-color:var(--sgds-bg-translucent-subtle);opacity:var(--sgds-opacity-50)}:host([orientation][noPadding]) .card-media{padding:var(--sgds-padding-none)}slot[name=image-badge]::slotted(*){left:20px;position:absolute;top:20px}slot[name=image-action]::slotted(*){position:absolute;right:20px;top:20px}`;
|
|
4748
4676
|
|
|
4749
4677
|
/**
|
|
@@ -4757,7 +4685,9 @@
|
|
|
4757
4685
|
* @slot title - The title of the card
|
|
4758
4686
|
* @slot description - The paragrapher text of the card
|
|
4759
4687
|
* @slot lower - Accepts any additional content to be displayed below the card description, such as badges, metadata, or supplementary information.
|
|
4760
|
-
* @slot
|
|
4688
|
+
* @slot footer - Footer area of the card. Accepts links, actions, or any custom content.
|
|
4689
|
+
* @slot link - (@deprecated) Deprecated since 3.3.2 in favour of `footer` slot.
|
|
4690
|
+
* Legacy slot for anchor elements. Use `footer` instead.
|
|
4761
4691
|
*/
|
|
4762
4692
|
class SgdsImageCard extends CardElement {
|
|
4763
4693
|
constructor() {
|
|
@@ -4768,9 +4698,21 @@
|
|
|
4768
4698
|
this.imagePosition = "before";
|
|
4769
4699
|
/** Controls how the image is sized and aligned within the card. Available options: `default`, `padding around`, `aspect ratio` */
|
|
4770
4700
|
this.imageAdjustment = "default";
|
|
4771
|
-
|
|
4701
|
+
}
|
|
4702
|
+
get linkSlotItems() {
|
|
4703
|
+
if (!this.linkNode || this.linkNode.length === 0)
|
|
4704
|
+
return null;
|
|
4705
|
+
const element = this.linkNode[0];
|
|
4706
|
+
return (element.querySelector("a") || element);
|
|
4707
|
+
}
|
|
4708
|
+
get footerSlotItems() {
|
|
4709
|
+
if (!this.footerNode || this.footerNode.length === 0)
|
|
4710
|
+
return null;
|
|
4711
|
+
const element = this.footerNode[0];
|
|
4712
|
+
return (element.querySelector("a") || element);
|
|
4772
4713
|
}
|
|
4773
4714
|
firstUpdated() {
|
|
4715
|
+
var _a, _b;
|
|
4774
4716
|
if (this._imageNode.length === 0) {
|
|
4775
4717
|
const image = this.shadowRoot.querySelector(".card-image");
|
|
4776
4718
|
const body = this.shadowRoot.querySelector(".card-body");
|
|
@@ -4778,6 +4720,16 @@
|
|
|
4778
4720
|
if (this.noPadding)
|
|
4779
4721
|
body.style.padding = "0px";
|
|
4780
4722
|
}
|
|
4723
|
+
if (this.stretchedLink) {
|
|
4724
|
+
const footerHref = (_a = this.footerSlotItems) === null || _a === void 0 ? void 0 : _a.href;
|
|
4725
|
+
const linkHref = (_b = this.linkSlotItems) === null || _b === void 0 ? void 0 : _b.href;
|
|
4726
|
+
if (footerHref) {
|
|
4727
|
+
this.card.setAttribute("href", footerHref);
|
|
4728
|
+
}
|
|
4729
|
+
else if (linkHref) {
|
|
4730
|
+
this.card.setAttribute("href", linkHref);
|
|
4731
|
+
}
|
|
4732
|
+
}
|
|
4781
4733
|
}
|
|
4782
4734
|
handleImgSlotChange(e) {
|
|
4783
4735
|
const childNodes = e.target.assignedNodes({ flatten: true });
|
|
@@ -4788,7 +4740,6 @@
|
|
|
4788
4740
|
render() {
|
|
4789
4741
|
const tag = this.stretchedLink ? literal `a` : literal `div`;
|
|
4790
4742
|
const cardTabIndex = !this.stretchedLink || this.disabled ? -1 : 0;
|
|
4791
|
-
const hasDescriptionSlot = this.hasSlotController.test("description");
|
|
4792
4743
|
return html `
|
|
4793
4744
|
<${tag}
|
|
4794
4745
|
class="card ${classMap({
|
|
@@ -4811,13 +4762,11 @@
|
|
|
4811
4762
|
</div>
|
|
4812
4763
|
<slot></slot>
|
|
4813
4764
|
</div>
|
|
4814
|
-
|
|
4815
|
-
? html `<p class="card-text">
|
|
4816
|
-
<slot name="description"></slot>
|
|
4817
|
-
</p>`
|
|
4818
|
-
: nothing}
|
|
4765
|
+
<slot name="description"></slot>
|
|
4819
4766
|
<slot name="lower"></slot>
|
|
4820
|
-
<slot name="
|
|
4767
|
+
<slot name="footer">
|
|
4768
|
+
<slot name="link" @slotchange=${this.handleLinkSlotChange}></slot>
|
|
4769
|
+
</slot>
|
|
4821
4770
|
</div>
|
|
4822
4771
|
</${tag}>
|
|
4823
4772
|
`;
|
|
@@ -4827,6 +4776,12 @@
|
|
|
4827
4776
|
__decorate([
|
|
4828
4777
|
queryAssignedNodes({ slot: "image", flatten: true })
|
|
4829
4778
|
], SgdsImageCard.prototype, "_imageNode", void 0);
|
|
4779
|
+
__decorate([
|
|
4780
|
+
queryAssignedElements({ slot: "footer" })
|
|
4781
|
+
], SgdsImageCard.prototype, "footerNode", void 0);
|
|
4782
|
+
__decorate([
|
|
4783
|
+
queryAssignedElements({ slot: "link" })
|
|
4784
|
+
], SgdsImageCard.prototype, "linkNode", void 0);
|
|
4830
4785
|
__decorate([
|
|
4831
4786
|
property({ type: Boolean, reflect: true })
|
|
4832
4787
|
], SgdsImageCard.prototype, "noPadding", void 0);
|