@govtechsg/sgds-web-component 3.1.2 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/base/button.js +1 -1
- package/base/card.js +1 -1
- package/components/Button/index.umd.js +1 -1
- package/components/Card/index.umd.js +53 -12
- package/components/Card/index.umd.js.map +1 -1
- package/components/Card/sgds-card.js +5 -3
- package/components/Card/sgds-card.js.map +1 -1
- package/components/Datepicker/index.umd.js +1 -1
- package/components/FileUpload/index.umd.js +1 -1
- package/components/IconButton/index.umd.js +1 -1
- package/components/Mainnav/index.umd.js +5 -5
- package/components/Mainnav/index.umd.js.map +1 -1
- package/components/Mainnav/sgds-mainnav-item.d.ts +1 -1
- package/components/Mainnav/sgds-mainnav-item.js +2 -2
- package/components/Mainnav/sgds-mainnav-item.js.map +1 -1
- package/components/Modal/index.umd.js +1 -1
- package/components/Modal/index.umd.js.map +1 -1
- package/components/Pagination/index.umd.js +1 -1
- package/components/QuantityToggle/index.umd.js +1 -1
- package/components/Subnav/index.umd.js +69 -97
- package/components/Subnav/index.umd.js.map +1 -1
- package/components/Subnav/sgds-subnav-item.d.ts +1 -1
- package/components/Subnav/sgds-subnav-item.js +2 -2
- package/components/Subnav/sgds-subnav-item.js.map +1 -1
- package/components/Subnav/sgds-subnav.d.ts +4 -3
- package/components/Subnav/sgds-subnav.js +66 -95
- package/components/Subnav/sgds-subnav.js.map +1 -1
- package/components/Subnav/subnav-item.js +1 -1
- package/components/Subnav/subnav.js +1 -1
- package/components/Table/index.d.ts +7 -1
- package/components/Table/index.js +6 -0
- package/components/Table/index.js.map +1 -1
- package/components/Table/index.umd.js +182 -16
- package/components/Table/index.umd.js.map +1 -1
- package/components/Table/sgds-table-cell.d.ts +13 -0
- package/components/Table/sgds-table-cell.js +22 -0
- package/components/Table/sgds-table-cell.js.map +1 -0
- package/components/Table/sgds-table-head.d.ts +18 -0
- package/components/Table/sgds-table-head.js +43 -0
- package/components/Table/sgds-table-head.js.map +1 -0
- package/components/Table/sgds-table-row.d.ts +13 -0
- package/components/Table/sgds-table-row.js +22 -0
- package/components/Table/sgds-table-row.js.map +1 -0
- package/components/Table/sgds-table.d.ts +5 -2
- package/components/Table/sgds-table.js +18 -13
- package/components/Table/sgds-table.js.map +1 -1
- package/components/Table/table-cell.js +6 -0
- package/components/Table/table-cell.js.map +1 -0
- package/components/Table/table-head.js +6 -0
- package/components/Table/table-head.js.map +1 -0
- package/components/Table/table-row.js +6 -0
- package/components/Table/table-row.js.map +1 -0
- package/components/Table/table.js +1 -1
- package/components/Toast/index.umd.js +1 -1
- package/components/Toast/toast.js +1 -1
- package/components/index.umd.js +95 -119
- package/components/index.umd.js.map +1 -1
- package/index.umd.js +297 -246
- package/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/react/base/button.cjs.js +1 -1
- package/react/base/button.js +1 -1
- package/react/base/card.cjs.js +1 -1
- package/react/base/card.js +1 -1
- package/react/components/Card/sgds-card.cjs.js +5 -3
- package/react/components/Card/sgds-card.cjs.js.map +1 -1
- package/react/components/Card/sgds-card.js +5 -3
- package/react/components/Card/sgds-card.js.map +1 -1
- package/react/components/Mainnav/sgds-mainnav-item.cjs.js +2 -2
- package/react/components/Mainnav/sgds-mainnav-item.cjs.js.map +1 -1
- package/react/components/Mainnav/sgds-mainnav-item.js +2 -2
- package/react/components/Mainnav/sgds-mainnav-item.js.map +1 -1
- package/react/components/Subnav/sgds-subnav-item.cjs.js +2 -2
- package/react/components/Subnav/sgds-subnav-item.cjs.js.map +1 -1
- package/react/components/Subnav/sgds-subnav-item.js +2 -2
- package/react/components/Subnav/sgds-subnav-item.js.map +1 -1
- package/react/components/Subnav/sgds-subnav.cjs.js +64 -93
- package/react/components/Subnav/sgds-subnav.cjs.js.map +1 -1
- package/react/components/Subnav/sgds-subnav.js +66 -95
- package/react/components/Subnav/sgds-subnav.js.map +1 -1
- package/react/components/Subnav/subnav-item.cjs.js +1 -1
- package/react/components/Subnav/subnav-item.js +1 -1
- package/react/components/Subnav/subnav.cjs.js +1 -1
- package/react/components/Subnav/subnav.js +1 -1
- package/react/components/Table/sgds-table-cell.cjs.js +28 -0
- package/react/components/Table/sgds-table-cell.cjs.js.map +1 -0
- package/react/components/Table/sgds-table-cell.js +23 -0
- package/react/components/Table/sgds-table-cell.js.map +1 -0
- package/react/components/Table/sgds-table-head.cjs.js +49 -0
- package/react/components/Table/sgds-table-head.cjs.js.map +1 -0
- package/react/components/Table/sgds-table-head.js +44 -0
- package/react/components/Table/sgds-table-head.js.map +1 -0
- package/react/components/Table/sgds-table-row.cjs.js +28 -0
- package/react/components/Table/sgds-table-row.cjs.js.map +1 -0
- package/react/components/Table/sgds-table-row.js +23 -0
- package/react/components/Table/sgds-table-row.js.map +1 -0
- package/react/components/Table/sgds-table.cjs.js +17 -12
- package/react/components/Table/sgds-table.cjs.js.map +1 -1
- package/react/components/Table/sgds-table.js +18 -13
- package/react/components/Table/sgds-table.js.map +1 -1
- package/react/components/Table/table-cell.cjs.js +11 -0
- package/react/components/Table/table-cell.cjs.js.map +1 -0
- package/react/components/Table/table-cell.js +7 -0
- package/react/components/Table/table-cell.js.map +1 -0
- package/react/components/Table/table-head.cjs.js +11 -0
- package/react/components/Table/table-head.cjs.js.map +1 -0
- package/react/components/Table/table-head.js +7 -0
- package/react/components/Table/table-head.js.map +1 -0
- package/react/components/Table/table-row.cjs.js +11 -0
- package/react/components/Table/table-row.cjs.js.map +1 -0
- package/react/components/Table/table-row.js +7 -0
- package/react/components/Table/table-row.js.map +1 -0
- package/react/components/Table/table.cjs.js +1 -1
- package/react/components/Table/table.js +1 -1
- package/react/components/Toast/toast.cjs.js +1 -1
- package/react/components/Toast/toast.js +1 -1
- package/react/index.cjs.js +26 -20
- package/react/index.cjs.js.map +1 -1
- package/react/index.d.ts +4 -1
- package/react/index.js +4 -1
- package/react/index.js.map +1 -1
- package/react/table-cell/index.cjs.js +40 -0
- package/react/table-cell/index.cjs.js.map +1 -0
- package/react/table-cell/index.d.ts +2 -0
- package/react/table-cell/index.js +16 -0
- package/react/table-cell/index.js.map +1 -0
- package/react/table-head/index.cjs.js +40 -0
- package/react/table-head/index.cjs.js.map +1 -0
- package/react/table-head/index.d.ts +2 -0
- package/react/table-head/index.js +16 -0
- package/react/table-head/index.js.map +1 -0
- package/react/table-row/index.cjs.js +40 -0
- package/react/table-row/index.cjs.js.map +1 -0
- package/react/table-row/index.d.ts +2 -0
- package/react/table-row/index.js +16 -0
- package/react/table-row/index.js.map +1 -0
- package/react/utils/breakpoints.cjs.js +2 -2
- package/react/utils/breakpoints.cjs.js.map +1 -1
- package/react/utils/breakpoints.js +2 -2
- package/react/utils/breakpoints.js.map +1 -1
- package/utils/breakpoints.d.ts +3 -3
- package/utils/breakpoints.js +2 -2
- package/utils/breakpoints.js.map +1 -1
|
@@ -4233,7 +4233,7 @@
|
|
|
4233
4233
|
*/
|
|
4234
4234
|
const classMap = directive(ClassMapDirective);
|
|
4235
4235
|
|
|
4236
|
-
var css_248z$
|
|
4236
|
+
var css_248z$4 = 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}}a[target=_blank]{align-items:center;display:flex;gap:var(--sgds-gap-2-xs)}::slotted(a[target=_blank]):after,a[target=_blank]:after{background-color:currentColor;content:"/";display:inline-block;-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.274 3.9H9.3a.6.6 0 0 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.361 6.41c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v5.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.039h5.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.469-.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.274c-.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-.524-.042-1.175-.042-1.993V9.274c0-.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-.35C7.805 3.9 8.456 3.9 9.274 3.9Zm3.626.6a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V5.949l-5.976 5.975a.6.6 0 0 1-.848-.848L18.05 5.1H13.5a.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.274 3.9H9.3a.6.6 0 0 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.361 6.41c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v5.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.039h5.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.469-.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.274c-.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-.524-.042-1.175-.042-1.993V9.274c0-.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-.35C7.805 3.9 8.456 3.9 9.274 3.9Zm3.626.6a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V5.949l-5.976 5.975a.6.6 0 0 1-.848-.848L18.05 5.1H13.5a.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;padding:0 .45em}::slotted(svg){vertical-align:middle}}`;
|
|
4237
4237
|
|
|
4238
4238
|
/**
|
|
4239
4239
|
* @cssprop --sgds-{stateColor} - State colors in hexadecimal value
|
|
@@ -4290,14 +4290,67 @@
|
|
|
4290
4290
|
});
|
|
4291
4291
|
}
|
|
4292
4292
|
}
|
|
4293
|
-
SgdsElement.styles = [css_248z$
|
|
4293
|
+
SgdsElement.styles = [css_248z$4];
|
|
4294
4294
|
/** @internal */
|
|
4295
4295
|
SgdsElement.dependencies = {};
|
|
4296
4296
|
|
|
4297
|
-
var css_248z = css`tbody,td,th,thead,tr{border:var(--sgds-border-width-0) solid;border-color:inherit}th{text-align:-webkit-match-parent}table{border-collapse:collapse;caption-side:bottom}.table{border-color:var(--sgds-border-color-default);vertical-align:top;width:100%}.table>:not(caption) td,.table>:not(caption) th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);padding:var(--sgds-padding-lg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>thead th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-group-divider{border-top:calc(var(--sgds-border-width)*2) solid}.table>:not(:first-child){border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1399.98px){.table-responsive-xxl{-webkit-overflow-scrolling:touch;overflow-x:auto}}`;
|
|
4297
|
+
var css_248z$3 = css`tbody,td,th,thead,tr{border:var(--sgds-border-width-0) solid;border-color:inherit}th{text-align:-webkit-match-parent}table{border-collapse:collapse;caption-side:bottom}.table{border-color:var(--sgds-border-color-default);display:table;vertical-align:top;width:100%}.table>:not(caption) td,.table>:not(caption) th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);padding:var(--sgds-padding-lg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>thead th{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-group-divider{border-top:calc(var(--sgds-border-width)*2) solid}.table>:not(:first-child){border-top:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis)}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1399.98px){.table-responsive-xxl{-webkit-overflow-scrolling:touch;overflow-x:auto}}`;
|
|
4298
|
+
|
|
4299
|
+
class HasSlotController {
|
|
4300
|
+
constructor(host, ...slotNames) {
|
|
4301
|
+
this.slotNames = [];
|
|
4302
|
+
(this.host = host).addController(this);
|
|
4303
|
+
this.slotNames = slotNames;
|
|
4304
|
+
this.handleSlotChange = this.handleSlotChange.bind(this);
|
|
4305
|
+
}
|
|
4306
|
+
hasDefaultSlot() {
|
|
4307
|
+
return [...this.host.childNodes].some(node => {
|
|
4308
|
+
var _a;
|
|
4309
|
+
if (node.nodeType === node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim()) !== "") {
|
|
4310
|
+
return true;
|
|
4311
|
+
}
|
|
4312
|
+
if (node.nodeType === node.ELEMENT_NODE) {
|
|
4313
|
+
const el = node;
|
|
4314
|
+
const tagName = el.tagName.toLowerCase();
|
|
4315
|
+
// Ignore visually hidden elements since they aren't rendered
|
|
4316
|
+
if (tagName === "sl-visually-hidden") {
|
|
4317
|
+
return false;
|
|
4318
|
+
}
|
|
4319
|
+
// If it doesn't have a slot attribute, it's part of the default slot
|
|
4320
|
+
if (!el.hasAttribute("slot")) {
|
|
4321
|
+
return true;
|
|
4322
|
+
}
|
|
4323
|
+
}
|
|
4324
|
+
return false;
|
|
4325
|
+
});
|
|
4326
|
+
}
|
|
4327
|
+
hasNamedSlot(name) {
|
|
4328
|
+
return this.host.querySelector(`:scope > [slot="${name}"]`) !== null;
|
|
4329
|
+
}
|
|
4330
|
+
test(slotName) {
|
|
4331
|
+
return slotName === "[default]" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);
|
|
4332
|
+
}
|
|
4333
|
+
hostConnected() {
|
|
4334
|
+
var _a;
|
|
4335
|
+
(_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.addEventListener("slotchange", this.handleSlotChange);
|
|
4336
|
+
}
|
|
4337
|
+
hostDisconnected() {
|
|
4338
|
+
var _a;
|
|
4339
|
+
(_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeEventListener("slotchange", this.handleSlotChange);
|
|
4340
|
+
}
|
|
4341
|
+
handleSlotChange(event) {
|
|
4342
|
+
const slot = event.target;
|
|
4343
|
+
if ((this.slotNames.includes("[default]") && !slot.name) || (slot.name && this.slotNames.includes(slot.name))) {
|
|
4344
|
+
this.host.requestUpdate();
|
|
4345
|
+
}
|
|
4346
|
+
}
|
|
4347
|
+
}
|
|
4298
4348
|
|
|
4299
4349
|
/**
|
|
4300
|
-
* @summary
|
|
4350
|
+
* @summary Table is used for displaying collections of data in organized rows and columns.
|
|
4351
|
+
* It supports two rendering methods: supply an array of data for automatic table generation, or use the slot to insert custom table elements for full structural control.
|
|
4352
|
+
*
|
|
4353
|
+
* @slot - Insert custom table elements (such as rows, headers, or cells) to define the table structure manually.
|
|
4301
4354
|
*/
|
|
4302
4355
|
class SgdsTable extends SgdsElement {
|
|
4303
4356
|
constructor() {
|
|
@@ -4319,18 +4372,17 @@
|
|
|
4319
4372
|
*/
|
|
4320
4373
|
this.headerPosition = "horizontal";
|
|
4321
4374
|
/** @internal */
|
|
4322
|
-
this.
|
|
4375
|
+
this.hasSlotController = new HasSlotController(this, "[default]");
|
|
4323
4376
|
}
|
|
4324
4377
|
connectedCallback() {
|
|
4325
4378
|
super.connectedCallback();
|
|
4326
|
-
this.originalTableData = [...this.tableData];
|
|
4327
4379
|
}
|
|
4328
4380
|
_renderTable() {
|
|
4329
4381
|
if (this.headerPosition === "horizontal") {
|
|
4330
4382
|
return html `
|
|
4331
4383
|
<thead>
|
|
4332
4384
|
<tr>
|
|
4333
|
-
${this.rowHeader.map((header
|
|
4385
|
+
${this.rowHeader.map((header) => html ` <th>${header}</th> `)}
|
|
4334
4386
|
</tr>
|
|
4335
4387
|
</thead>
|
|
4336
4388
|
<tbody>
|
|
@@ -4347,7 +4399,7 @@
|
|
|
4347
4399
|
<thead>
|
|
4348
4400
|
<tr>
|
|
4349
4401
|
<th></th>
|
|
4350
|
-
${this.rowHeader.map((header
|
|
4402
|
+
${this.rowHeader.map((header) => html ` <th>${header}</th> `)}
|
|
4351
4403
|
</tr>
|
|
4352
4404
|
</thead>
|
|
4353
4405
|
<tbody>
|
|
@@ -4373,6 +4425,7 @@
|
|
|
4373
4425
|
}
|
|
4374
4426
|
}
|
|
4375
4427
|
render() {
|
|
4428
|
+
const hasDefaultSlot = this.hasSlotController.test("[default]");
|
|
4376
4429
|
return html `
|
|
4377
4430
|
<div
|
|
4378
4431
|
class=${classMap({
|
|
@@ -4384,14 +4437,18 @@
|
|
|
4384
4437
|
})}
|
|
4385
4438
|
tabindex="0"
|
|
4386
4439
|
>
|
|
4387
|
-
<table class="table">
|
|
4388
|
-
|
|
4389
|
-
|
|
4440
|
+
<slot id="table-slot" class="table"></slot>
|
|
4441
|
+
|
|
4442
|
+
${!hasDefaultSlot
|
|
4443
|
+
? html `<table class="table">
|
|
4444
|
+
${this._renderTable()}
|
|
4445
|
+
</table>`
|
|
4446
|
+
: ""}
|
|
4390
4447
|
</div>
|
|
4391
4448
|
`;
|
|
4392
4449
|
}
|
|
4393
4450
|
}
|
|
4394
|
-
SgdsTable.styles = [...SgdsElement.styles, css_248z];
|
|
4451
|
+
SgdsTable.styles = [...SgdsElement.styles, css_248z$3];
|
|
4395
4452
|
__decorate([
|
|
4396
4453
|
property({ type: String, reflect: true })
|
|
4397
4454
|
], SgdsTable.prototype, "responsive", void 0);
|
|
@@ -4405,11 +4462,8 @@
|
|
|
4405
4462
|
property({ type: Array })
|
|
4406
4463
|
], SgdsTable.prototype, "tableData", void 0);
|
|
4407
4464
|
__decorate([
|
|
4408
|
-
property({ type: String
|
|
4465
|
+
property({ type: String })
|
|
4409
4466
|
], SgdsTable.prototype, "headerPosition", void 0);
|
|
4410
|
-
__decorate([
|
|
4411
|
-
state()
|
|
4412
|
-
], SgdsTable.prototype, "originalTableData", void 0);
|
|
4413
4467
|
|
|
4414
4468
|
/**
|
|
4415
4469
|
*
|
|
@@ -4422,7 +4476,119 @@
|
|
|
4422
4476
|
}
|
|
4423
4477
|
}
|
|
4424
4478
|
|
|
4479
|
+
var css_248z$2 = css`:host{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-emphasis);display:table-cell;font-weight:700;padding:var(--sgds-padding-lg)}:host(:not([border])){border-color:var(--sgds-border-color-muted)}`;
|
|
4480
|
+
|
|
4481
|
+
// @watch decorator
|
|
4482
|
+
//
|
|
4483
|
+
// Runs when an observed property changes, e.g. @property or @state, but before the component updates.
|
|
4484
|
+
//
|
|
4485
|
+
// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start
|
|
4486
|
+
// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.
|
|
4487
|
+
//
|
|
4488
|
+
// Usage:
|
|
4489
|
+
//
|
|
4490
|
+
// @watch('propName')
|
|
4491
|
+
// handlePropChange(oldValue, newValue) {
|
|
4492
|
+
// ...
|
|
4493
|
+
// }
|
|
4494
|
+
function watch(propName, options) {
|
|
4495
|
+
const resolvedOptions = Object.assign({ waitUntilFirstUpdate: false }, options);
|
|
4496
|
+
return (proto, decoratedFnName) => {
|
|
4497
|
+
// @ts-expect-error -- update is a protected property
|
|
4498
|
+
const { update } = proto;
|
|
4499
|
+
if (propName in proto) {
|
|
4500
|
+
const propNameKey = propName;
|
|
4501
|
+
// @ts-expect-error -- update is a protected property
|
|
4502
|
+
proto.update = function (changedProps) {
|
|
4503
|
+
if (changedProps.has(propNameKey)) {
|
|
4504
|
+
const oldValue = changedProps.get(propNameKey);
|
|
4505
|
+
const newValue = this[propNameKey];
|
|
4506
|
+
if (oldValue !== newValue) {
|
|
4507
|
+
if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {
|
|
4508
|
+
this[decoratedFnName](oldValue, newValue);
|
|
4509
|
+
}
|
|
4510
|
+
}
|
|
4511
|
+
}
|
|
4512
|
+
update.call(this, changedProps);
|
|
4513
|
+
};
|
|
4514
|
+
}
|
|
4515
|
+
};
|
|
4516
|
+
}
|
|
4517
|
+
|
|
4518
|
+
/**
|
|
4519
|
+
* @summary Table head represents a table header cell that identifies a group of information within the table.
|
|
4520
|
+
*
|
|
4521
|
+
* @slot - Place any elements inside to display as the header content.
|
|
4522
|
+
*/
|
|
4523
|
+
class SgdsTableHead extends SgdsElement {
|
|
4524
|
+
constructor() {
|
|
4525
|
+
super(...arguments);
|
|
4526
|
+
/**
|
|
4527
|
+
* To indicate if the header will have a darker bottom border style
|
|
4528
|
+
*/
|
|
4529
|
+
this.border = false;
|
|
4530
|
+
}
|
|
4531
|
+
_handleBorderChange() {
|
|
4532
|
+
var _a, _b;
|
|
4533
|
+
this.border = ((_b = (_a = this.nextElementSibling) === null || _a === void 0 ? void 0 : _a.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase()) !== "sgds-table-cell";
|
|
4534
|
+
this.border ? this.setAttribute("border", "true") : this.removeAttribute("border");
|
|
4535
|
+
}
|
|
4536
|
+
connectedCallback() {
|
|
4537
|
+
super.connectedCallback();
|
|
4538
|
+
this.setAttribute("role", "columnheader");
|
|
4539
|
+
}
|
|
4540
|
+
render() {
|
|
4541
|
+
return html `<slot></slot>`;
|
|
4542
|
+
}
|
|
4543
|
+
}
|
|
4544
|
+
SgdsTableHead.styles = [...SgdsElement.styles, css_248z$2];
|
|
4545
|
+
__decorate([
|
|
4546
|
+
state()
|
|
4547
|
+
], SgdsTableHead.prototype, "border", void 0);
|
|
4548
|
+
__decorate([
|
|
4549
|
+
watch("border")
|
|
4550
|
+
], SgdsTableHead.prototype, "_handleBorderChange", null);
|
|
4551
|
+
|
|
4552
|
+
var css_248z$1 = css`:host{display:table-row;width:100%}`;
|
|
4553
|
+
|
|
4554
|
+
/**
|
|
4555
|
+
* @summary Table row organizes and groups table cells or header cells into a single horizontal line within the table.
|
|
4556
|
+
*
|
|
4557
|
+
* @slot - Insert any table cell or header elements to be displayed as part of this row.
|
|
4558
|
+
*/
|
|
4559
|
+
class SgdsTableRow extends SgdsElement {
|
|
4560
|
+
connectedCallback() {
|
|
4561
|
+
super.connectedCallback();
|
|
4562
|
+
this.setAttribute("role", "row");
|
|
4563
|
+
}
|
|
4564
|
+
render() {
|
|
4565
|
+
return html `<slot class="table-row"></slot>`;
|
|
4566
|
+
}
|
|
4567
|
+
}
|
|
4568
|
+
SgdsTableRow.styles = [...SgdsElement.styles, css_248z$1];
|
|
4569
|
+
|
|
4570
|
+
var css_248z = css`:host{border-bottom:var(--sgds-border-width-1) solid var(--sgds-border-color-muted);display:table-cell;padding:var(--sgds-padding-lg)}`;
|
|
4571
|
+
|
|
4572
|
+
/**
|
|
4573
|
+
* @summary Table cell is used for presenting individual data values, interactive elements, or custom content within a table row.
|
|
4574
|
+
*
|
|
4575
|
+
* @slot - Insert any elements to be rendered as the cell’s content.
|
|
4576
|
+
*/
|
|
4577
|
+
class SgdsTableCell extends SgdsElement {
|
|
4578
|
+
connectedCallback() {
|
|
4579
|
+
super.connectedCallback();
|
|
4580
|
+
this.setAttribute("role", "cell");
|
|
4581
|
+
}
|
|
4582
|
+
render() {
|
|
4583
|
+
return html ` <slot class="table-cell"></slot> `;
|
|
4584
|
+
}
|
|
4585
|
+
}
|
|
4586
|
+
SgdsTableCell.styles = [...SgdsElement.styles, css_248z];
|
|
4587
|
+
|
|
4425
4588
|
register("sgds-table", SgdsTable);
|
|
4589
|
+
register("sgds-table-head", SgdsTableHead);
|
|
4590
|
+
register("sgds-table-row", SgdsTableRow);
|
|
4591
|
+
register("sgds-table-cell", SgdsTableCell);
|
|
4426
4592
|
|
|
4427
4593
|
}));
|
|
4428
4594
|
//# sourceMappingURL=index.umd.js.map
|