@pine-ds/core 3.15.3 → 3.16.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/components/pds-dropdown-menu.js +70 -27
- package/components/pds-dropdown-menu.js.map +1 -1
- package/components/pds-table.js +5 -2
- package/components/pds-table.js.map +1 -1
- package/dist/cjs/pds-dropdown-menu.cjs.entry.js +70 -27
- package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-table.cjs.entry.js +5 -2
- package/dist/cjs/pds-table.entry.cjs.js.map +1 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +32 -0
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +69 -26
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js.map +1 -1
- package/dist/collection/components/pds-table/pds-table.js +5 -2
- package/dist/collection/components/pds-table/pds-table.js.map +1 -1
- package/dist/docs.json +1 -1
- package/dist/esm/pds-dropdown-menu.entry.js +70 -27
- package/dist/esm/pds-dropdown-menu.entry.js.map +1 -1
- package/dist/esm/pds-table.entry.js +5 -2
- package/dist/esm/pds-table.entry.js.map +1 -1
- package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu.entry.js.map +1 -1
- package/dist/esm-es5/pds-table.entry.js +1 -1
- package/dist/esm-es5/pds-table.entry.js.map +1 -1
- package/dist/pine-core/p-23aba538.entry.js +2 -0
- package/dist/pine-core/p-23aba538.entry.js.map +1 -0
- package/dist/pine-core/p-3c026ec7.system.entry.js +2 -0
- package/dist/pine-core/p-3c026ec7.system.entry.js.map +1 -0
- package/dist/pine-core/p-8b4f76e4.system.entry.js +2 -0
- package/dist/pine-core/p-8b4f76e4.system.entry.js.map +1 -0
- package/dist/pine-core/p-C7XKS9nY.system.js.map +1 -0
- package/dist/pine-core/p-DZEhYV6y.system.js.map +1 -0
- package/dist/pine-core/p-JAVnELnm.system.js +1 -1
- package/dist/pine-core/p-d456c898.entry.js +2 -0
- package/dist/pine-core/p-d456c898.entry.js.map +1 -0
- package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-table.entry.esm.js.map +1 -1
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu.d.ts +1 -0
- package/dist/vscode.html-data.json +1 -1
- package/hydrate/index.js +76 -30
- package/hydrate/index.mjs +76 -30
- package/package.json +2 -2
- package/dist/pine-core/p-9660a2c2.entry.js +0 -2
- package/dist/pine-core/p-9660a2c2.entry.js.map +0 -1
- package/dist/pine-core/p-9c0ec80a.entry.js +0 -2
- package/dist/pine-core/p-9c0ec80a.entry.js.map +0 -1
- package/dist/pine-core/p-CCgKUhC7.system.js.map +0 -1
- package/dist/pine-core/p-d98310b9.system.entry.js +0 -2
- package/dist/pine-core/p-d98310b9.system.entry.js.map +0 -1
- package/dist/pine-core/p-f00f70bf.system.entry.js +0 -2
- package/dist/pine-core/p-f00f70bf.system.entry.js.map +0 -1
- package/dist/pine-core/p-g2zH2UyI.system.js.map +0 -1
package/hydrate/index.js
CHANGED
|
@@ -9135,7 +9135,7 @@ class PdsDivider {
|
|
|
9135
9135
|
}; }
|
|
9136
9136
|
}
|
|
9137
9137
|
|
|
9138
|
-
const pdsDropdownMenuCss = ":host{display:block}.is-hidden{display:none}.pds-dropdown-menu--panel{background-color:var(--pine-color-background-container);border-radius:var(--pine-dimension-xs);left:var(--pine-dimension-none);min-width:170px;padding:var(--pine-dimension-xs);position:fixed;z-index:var(--pine-z-index-overlay)}:host-context([data-theme=dark]) .pds-dropdown-menu--panel{border:var(--pine-border)}";
|
|
9138
|
+
const pdsDropdownMenuCss = ":host{display:block}.is-hidden{display:none}.pds-dropdown-menu--panel{background-color:var(--pine-color-background-container);border-radius:var(--pine-dimension-xs);left:var(--pine-dimension-none);min-width:170px;padding:var(--pine-dimension-xs);position:fixed;z-index:var(--pine-z-index-overlay)}:host-context([data-theme=dark]) .pds-dropdown-menu--panel{border:var(--pine-border)}::slotted(a),::slotted(button){-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--pine-dimension-xs);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text) !important;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;font:var(--pine-typography-body-medium);gap:var(--pine-dimension-xs);margin:calc(var(--pine-border-width) + 2px);padding:var(--pine-dimension-xs);text-align:start;text-decoration:none !important;width:calc(100% - (var(--pine-border-width) + 2px) * 2)}::slotted(.destructive){color:var(--pine-color-danger) !important}::slotted([aria-disabled=true]),::slotted([disabled]){cursor:not-allowed;opacity:0.5;pointer-events:none}";
|
|
9139
9139
|
|
|
9140
9140
|
/**
|
|
9141
9141
|
* @part menu-panel - Exposes the dropdown menu container for styling.
|
|
@@ -9165,14 +9165,22 @@ class PdsDropdownMenu {
|
|
|
9165
9165
|
this.slotEl = event.target;
|
|
9166
9166
|
// Get all elements assigned to this slot
|
|
9167
9167
|
const assignedElements = this.slotEl.assignedElements();
|
|
9168
|
-
//
|
|
9169
|
-
//
|
|
9170
|
-
|
|
9168
|
+
// Allowed elements: pds-dropdown-menu-item, pds-dropdown-menu-separator, <a>, <button>
|
|
9169
|
+
// Raw <a> and <button> elements are allowed for edge cases requiring native browser/framework
|
|
9170
|
+
// behavior (e.g., Rails UJS, Turbo) that cannot work through Shadow DOM.
|
|
9171
|
+
const allowedTags = ['pds-dropdown-menu-item', 'pds-dropdown-menu-separator', 'a', 'button'];
|
|
9172
|
+
const invalidElements = assignedElements.filter(el => !allowedTags.includes(el.tagName.toLowerCase()));
|
|
9171
9173
|
if (invalidElements.length > 0) {
|
|
9172
|
-
|
|
9173
|
-
|
|
9174
|
-
|
|
9175
|
-
|
|
9174
|
+
const invalidTags = invalidElements.map(el => el.tagName.toLowerCase()).join(', ');
|
|
9175
|
+
console.warn(`pds-dropdown-menu: Unexpected element(s) found: ${invalidTags}. ` +
|
|
9176
|
+
`Expected: ${allowedTags.join(', ')}`);
|
|
9177
|
+
}
|
|
9178
|
+
// Store all focusable items for keyboard navigation
|
|
9179
|
+
// This includes pds-dropdown-menu-item components and raw <a>/<button> elements
|
|
9180
|
+
this.menuItems = assignedElements.filter(el => {
|
|
9181
|
+
const tag = el.tagName.toLowerCase();
|
|
9182
|
+
return tag === 'pds-dropdown-menu-item' || tag === 'a' || tag === 'button';
|
|
9183
|
+
});
|
|
9176
9184
|
};
|
|
9177
9185
|
// Toggle dropdown open/closed
|
|
9178
9186
|
this.toggleDropdown = () => {
|
|
@@ -9241,31 +9249,66 @@ class PdsDropdownMenu {
|
|
|
9241
9249
|
this.cleanupAutoUpdate = null;
|
|
9242
9250
|
}
|
|
9243
9251
|
}
|
|
9252
|
+
// Check if a menu item is disabled (handles both component and raw elements)
|
|
9253
|
+
isItemDisabled(item) {
|
|
9254
|
+
const tagName = item.tagName.toLowerCase();
|
|
9255
|
+
if (tagName === 'pds-dropdown-menu-item') {
|
|
9256
|
+
return item.disabled;
|
|
9257
|
+
}
|
|
9258
|
+
else if (tagName === 'button') {
|
|
9259
|
+
return item.disabled;
|
|
9260
|
+
}
|
|
9261
|
+
else if (tagName === 'a') {
|
|
9262
|
+
return item.getAttribute('aria-disabled') === 'true';
|
|
9263
|
+
}
|
|
9264
|
+
return false;
|
|
9265
|
+
}
|
|
9244
9266
|
// Get the index of the currently focused menu item
|
|
9245
9267
|
getFocusedItemIndex() {
|
|
9246
9268
|
const activeElement = document.activeElement;
|
|
9247
9269
|
if (!activeElement)
|
|
9248
9270
|
return -1;
|
|
9249
|
-
|
|
9271
|
+
// For raw elements, check direct match
|
|
9272
|
+
// For pds-dropdown-menu-item, also check if the active element is inside the shadow root
|
|
9273
|
+
return this.menuItems.findIndex(item => {
|
|
9274
|
+
if (item === activeElement)
|
|
9275
|
+
return true;
|
|
9276
|
+
// Check if activeElement is inside the item's shadow root (for pds-dropdown-menu-item)
|
|
9277
|
+
if (item.tagName.toLowerCase() === 'pds-dropdown-menu-item') {
|
|
9278
|
+
const shadowRoot = item.shadowRoot;
|
|
9279
|
+
if (shadowRoot === null || shadowRoot === void 0 ? void 0 : shadowRoot.contains(activeElement))
|
|
9280
|
+
return true;
|
|
9281
|
+
}
|
|
9282
|
+
return false;
|
|
9283
|
+
});
|
|
9250
9284
|
}
|
|
9251
9285
|
// Focus a specific menu item by index
|
|
9252
9286
|
focusItemByIndex(index) {
|
|
9253
|
-
var _a, _b, _c, _d;
|
|
9287
|
+
var _a, _b, _c, _d, _e;
|
|
9254
9288
|
if (index >= 0 && index < this.menuItems.length) {
|
|
9255
9289
|
this.currentFocusIndex = index;
|
|
9256
|
-
|
|
9257
|
-
const
|
|
9258
|
-
|
|
9259
|
-
|
|
9260
|
-
|
|
9261
|
-
|
|
9262
|
-
|
|
9263
|
-
|
|
9264
|
-
|
|
9290
|
+
const item = this.menuItems[index];
|
|
9291
|
+
const tagName = item.tagName.toLowerCase();
|
|
9292
|
+
if (tagName === 'pds-dropdown-menu-item') {
|
|
9293
|
+
// For pds-dropdown-menu-item, focus the inner element
|
|
9294
|
+
const menuItem = item;
|
|
9295
|
+
const innerButton = (_a = menuItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('button');
|
|
9296
|
+
const innerLink = ((_d = (_c = (_b = menuItem.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('pds-link')) === null || _c === void 0 ? void 0 : _c.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('a'))
|
|
9297
|
+
|| ((_e = menuItem.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('a'));
|
|
9298
|
+
if (innerButton) {
|
|
9299
|
+
innerButton.focus();
|
|
9300
|
+
}
|
|
9301
|
+
else if (innerLink) {
|
|
9302
|
+
innerLink.focus();
|
|
9303
|
+
}
|
|
9304
|
+
else {
|
|
9305
|
+
// Fallback to focusing the host
|
|
9306
|
+
menuItem.focus();
|
|
9307
|
+
}
|
|
9265
9308
|
}
|
|
9266
9309
|
else {
|
|
9267
|
-
//
|
|
9268
|
-
|
|
9310
|
+
// For raw <a> or <button> elements, focus directly
|
|
9311
|
+
item.focus();
|
|
9269
9312
|
}
|
|
9270
9313
|
}
|
|
9271
9314
|
}
|
|
@@ -9275,7 +9318,7 @@ class PdsDropdownMenu {
|
|
|
9275
9318
|
// Skip disabled items
|
|
9276
9319
|
let attempts = 0;
|
|
9277
9320
|
const maxAttempts = this.menuItems.length;
|
|
9278
|
-
while (attempts < maxAttempts && this.menuItems[nextIndex]
|
|
9321
|
+
while (attempts < maxAttempts && this.isItemDisabled(this.menuItems[nextIndex])) {
|
|
9279
9322
|
nextIndex = (nextIndex + 1) % this.menuItems.length;
|
|
9280
9323
|
attempts++;
|
|
9281
9324
|
}
|
|
@@ -9292,7 +9335,7 @@ class PdsDropdownMenu {
|
|
|
9292
9335
|
// Skip disabled items
|
|
9293
9336
|
let attempts = 0;
|
|
9294
9337
|
const maxAttempts = this.menuItems.length;
|
|
9295
|
-
while (attempts < maxAttempts && this.menuItems[prevIndex]
|
|
9338
|
+
while (attempts < maxAttempts && this.isItemDisabled(this.menuItems[prevIndex])) {
|
|
9296
9339
|
prevIndex = prevIndex <= 0 ? this.menuItems.length - 1 : prevIndex - 1;
|
|
9297
9340
|
attempts++;
|
|
9298
9341
|
}
|
|
@@ -9323,7 +9366,7 @@ class PdsDropdownMenu {
|
|
|
9323
9366
|
if (this.menuItems.length > 0) {
|
|
9324
9367
|
// Find first non-disabled item
|
|
9325
9368
|
let firstIndex = 0;
|
|
9326
|
-
while (firstIndex < this.menuItems.length && this.menuItems[firstIndex]
|
|
9369
|
+
while (firstIndex < this.menuItems.length && this.isItemDisabled(this.menuItems[firstIndex])) {
|
|
9327
9370
|
firstIndex++;
|
|
9328
9371
|
}
|
|
9329
9372
|
if (firstIndex < this.menuItems.length) {
|
|
@@ -9336,7 +9379,7 @@ class PdsDropdownMenu {
|
|
|
9336
9379
|
if (this.menuItems.length > 0) {
|
|
9337
9380
|
// Find last non-disabled item
|
|
9338
9381
|
let lastIndex = this.menuItems.length - 1;
|
|
9339
|
-
while (lastIndex >= 0 && this.menuItems[lastIndex]
|
|
9382
|
+
while (lastIndex >= 0 && this.isItemDisabled(this.menuItems[lastIndex])) {
|
|
9340
9383
|
lastIndex--;
|
|
9341
9384
|
}
|
|
9342
9385
|
if (lastIndex >= 0) {
|
|
@@ -9366,7 +9409,7 @@ class PdsDropdownMenu {
|
|
|
9366
9409
|
event.preventDefault();
|
|
9367
9410
|
// Find the first non-disabled item
|
|
9368
9411
|
let firstFocusableIndex = 0;
|
|
9369
|
-
while (firstFocusableIndex < this.menuItems.length && this.menuItems[firstFocusableIndex]
|
|
9412
|
+
while (firstFocusableIndex < this.menuItems.length && this.isItemDisabled(this.menuItems[firstFocusableIndex])) {
|
|
9370
9413
|
firstFocusableIndex++;
|
|
9371
9414
|
}
|
|
9372
9415
|
if (firstFocusableIndex < this.menuItems.length) {
|
|
@@ -9378,7 +9421,7 @@ class PdsDropdownMenu {
|
|
|
9378
9421
|
event.preventDefault();
|
|
9379
9422
|
// Find the first non-disabled item
|
|
9380
9423
|
let firstFocusableIndex = 0;
|
|
9381
|
-
while (firstFocusableIndex < this.menuItems.length && this.menuItems[firstFocusableIndex]
|
|
9424
|
+
while (firstFocusableIndex < this.menuItems.length && this.isItemDisabled(this.menuItems[firstFocusableIndex])) {
|
|
9382
9425
|
firstFocusableIndex++;
|
|
9383
9426
|
}
|
|
9384
9427
|
if (firstFocusableIndex < this.menuItems.length) {
|
|
@@ -9401,7 +9444,7 @@ class PdsDropdownMenu {
|
|
|
9401
9444
|
}
|
|
9402
9445
|
}
|
|
9403
9446
|
render() {
|
|
9404
|
-
return (hAsync(Host, { key: '
|
|
9447
|
+
return (hAsync(Host, { key: '3144bc264072eccf89cdca45a0b28eb004b5d06e', id: this.componentId }, hAsync("slot", { key: '500288f266dc7ab7e1ac5070e628c31a6ed50861', name: "trigger", onSlotchange: this.handleTriggerSlotChange }), hAsync("pds-box", { key: '4085130e381b8be28e2e36de073c0755a455e30c', "border-radius": "sm", display: "flex", direction: "column", class: "pds-dropdown-menu--panel is-hidden", shadow: "100", role: "menu", "aria-orientation": "vertical", part: "menu-panel" }, hAsync("slot", { key: '2c4d53799576d1c6913df9bb854bfbaf50e5032c', onSlotchange: this.handleSlotChange }))));
|
|
9405
9448
|
}
|
|
9406
9449
|
get host() { return getElement(this); }
|
|
9407
9450
|
static get style() { return pdsDropdownMenuCss; }
|
|
@@ -16600,9 +16643,12 @@ class PdsTable {
|
|
|
16600
16643
|
this.setupResponsiveScrolling();
|
|
16601
16644
|
}
|
|
16602
16645
|
// Apply default sort if specified
|
|
16646
|
+
// Use requestAnimationFrame to defer until child components are fully initialized
|
|
16603
16647
|
if (this.defaultSortColumn) {
|
|
16604
|
-
|
|
16605
|
-
|
|
16648
|
+
requestAnimationFrame(() => {
|
|
16649
|
+
void this.applyDefaultSort().catch((err) => {
|
|
16650
|
+
console.warn('Failed to apply default sort.', err);
|
|
16651
|
+
});
|
|
16606
16652
|
});
|
|
16607
16653
|
}
|
|
16608
16654
|
}
|
package/hydrate/index.mjs
CHANGED
|
@@ -9133,7 +9133,7 @@ class PdsDivider {
|
|
|
9133
9133
|
}; }
|
|
9134
9134
|
}
|
|
9135
9135
|
|
|
9136
|
-
const pdsDropdownMenuCss = ":host{display:block}.is-hidden{display:none}.pds-dropdown-menu--panel{background-color:var(--pine-color-background-container);border-radius:var(--pine-dimension-xs);left:var(--pine-dimension-none);min-width:170px;padding:var(--pine-dimension-xs);position:fixed;z-index:var(--pine-z-index-overlay)}:host-context([data-theme=dark]) .pds-dropdown-menu--panel{border:var(--pine-border)}";
|
|
9136
|
+
const pdsDropdownMenuCss = ":host{display:block}.is-hidden{display:none}.pds-dropdown-menu--panel{background-color:var(--pine-color-background-container);border-radius:var(--pine-dimension-xs);left:var(--pine-dimension-none);min-width:170px;padding:var(--pine-dimension-xs);position:fixed;z-index:var(--pine-z-index-overlay)}:host-context([data-theme=dark]) .pds-dropdown-menu--panel{border:var(--pine-border)}::slotted(a),::slotted(button){-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--pine-dimension-xs);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pine-color-text) !important;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;font:var(--pine-typography-body-medium);gap:var(--pine-dimension-xs);margin:calc(var(--pine-border-width) + 2px);padding:var(--pine-dimension-xs);text-align:start;text-decoration:none !important;width:calc(100% - (var(--pine-border-width) + 2px) * 2)}::slotted(.destructive){color:var(--pine-color-danger) !important}::slotted([aria-disabled=true]),::slotted([disabled]){cursor:not-allowed;opacity:0.5;pointer-events:none}";
|
|
9137
9137
|
|
|
9138
9138
|
/**
|
|
9139
9139
|
* @part menu-panel - Exposes the dropdown menu container for styling.
|
|
@@ -9163,14 +9163,22 @@ class PdsDropdownMenu {
|
|
|
9163
9163
|
this.slotEl = event.target;
|
|
9164
9164
|
// Get all elements assigned to this slot
|
|
9165
9165
|
const assignedElements = this.slotEl.assignedElements();
|
|
9166
|
-
//
|
|
9167
|
-
//
|
|
9168
|
-
|
|
9166
|
+
// Allowed elements: pds-dropdown-menu-item, pds-dropdown-menu-separator, <a>, <button>
|
|
9167
|
+
// Raw <a> and <button> elements are allowed for edge cases requiring native browser/framework
|
|
9168
|
+
// behavior (e.g., Rails UJS, Turbo) that cannot work through Shadow DOM.
|
|
9169
|
+
const allowedTags = ['pds-dropdown-menu-item', 'pds-dropdown-menu-separator', 'a', 'button'];
|
|
9170
|
+
const invalidElements = assignedElements.filter(el => !allowedTags.includes(el.tagName.toLowerCase()));
|
|
9169
9171
|
if (invalidElements.length > 0) {
|
|
9170
|
-
|
|
9171
|
-
|
|
9172
|
-
|
|
9173
|
-
|
|
9172
|
+
const invalidTags = invalidElements.map(el => el.tagName.toLowerCase()).join(', ');
|
|
9173
|
+
console.warn(`pds-dropdown-menu: Unexpected element(s) found: ${invalidTags}. ` +
|
|
9174
|
+
`Expected: ${allowedTags.join(', ')}`);
|
|
9175
|
+
}
|
|
9176
|
+
// Store all focusable items for keyboard navigation
|
|
9177
|
+
// This includes pds-dropdown-menu-item components and raw <a>/<button> elements
|
|
9178
|
+
this.menuItems = assignedElements.filter(el => {
|
|
9179
|
+
const tag = el.tagName.toLowerCase();
|
|
9180
|
+
return tag === 'pds-dropdown-menu-item' || tag === 'a' || tag === 'button';
|
|
9181
|
+
});
|
|
9174
9182
|
};
|
|
9175
9183
|
// Toggle dropdown open/closed
|
|
9176
9184
|
this.toggleDropdown = () => {
|
|
@@ -9239,31 +9247,66 @@ class PdsDropdownMenu {
|
|
|
9239
9247
|
this.cleanupAutoUpdate = null;
|
|
9240
9248
|
}
|
|
9241
9249
|
}
|
|
9250
|
+
// Check if a menu item is disabled (handles both component and raw elements)
|
|
9251
|
+
isItemDisabled(item) {
|
|
9252
|
+
const tagName = item.tagName.toLowerCase();
|
|
9253
|
+
if (tagName === 'pds-dropdown-menu-item') {
|
|
9254
|
+
return item.disabled;
|
|
9255
|
+
}
|
|
9256
|
+
else if (tagName === 'button') {
|
|
9257
|
+
return item.disabled;
|
|
9258
|
+
}
|
|
9259
|
+
else if (tagName === 'a') {
|
|
9260
|
+
return item.getAttribute('aria-disabled') === 'true';
|
|
9261
|
+
}
|
|
9262
|
+
return false;
|
|
9263
|
+
}
|
|
9242
9264
|
// Get the index of the currently focused menu item
|
|
9243
9265
|
getFocusedItemIndex() {
|
|
9244
9266
|
const activeElement = document.activeElement;
|
|
9245
9267
|
if (!activeElement)
|
|
9246
9268
|
return -1;
|
|
9247
|
-
|
|
9269
|
+
// For raw elements, check direct match
|
|
9270
|
+
// For pds-dropdown-menu-item, also check if the active element is inside the shadow root
|
|
9271
|
+
return this.menuItems.findIndex(item => {
|
|
9272
|
+
if (item === activeElement)
|
|
9273
|
+
return true;
|
|
9274
|
+
// Check if activeElement is inside the item's shadow root (for pds-dropdown-menu-item)
|
|
9275
|
+
if (item.tagName.toLowerCase() === 'pds-dropdown-menu-item') {
|
|
9276
|
+
const shadowRoot = item.shadowRoot;
|
|
9277
|
+
if (shadowRoot === null || shadowRoot === void 0 ? void 0 : shadowRoot.contains(activeElement))
|
|
9278
|
+
return true;
|
|
9279
|
+
}
|
|
9280
|
+
return false;
|
|
9281
|
+
});
|
|
9248
9282
|
}
|
|
9249
9283
|
// Focus a specific menu item by index
|
|
9250
9284
|
focusItemByIndex(index) {
|
|
9251
|
-
var _a, _b, _c, _d;
|
|
9285
|
+
var _a, _b, _c, _d, _e;
|
|
9252
9286
|
if (index >= 0 && index < this.menuItems.length) {
|
|
9253
9287
|
this.currentFocusIndex = index;
|
|
9254
|
-
|
|
9255
|
-
const
|
|
9256
|
-
|
|
9257
|
-
|
|
9258
|
-
|
|
9259
|
-
|
|
9260
|
-
|
|
9261
|
-
|
|
9262
|
-
|
|
9288
|
+
const item = this.menuItems[index];
|
|
9289
|
+
const tagName = item.tagName.toLowerCase();
|
|
9290
|
+
if (tagName === 'pds-dropdown-menu-item') {
|
|
9291
|
+
// For pds-dropdown-menu-item, focus the inner element
|
|
9292
|
+
const menuItem = item;
|
|
9293
|
+
const innerButton = (_a = menuItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('button');
|
|
9294
|
+
const innerLink = ((_d = (_c = (_b = menuItem.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('pds-link')) === null || _c === void 0 ? void 0 : _c.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('a'))
|
|
9295
|
+
|| ((_e = menuItem.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('a'));
|
|
9296
|
+
if (innerButton) {
|
|
9297
|
+
innerButton.focus();
|
|
9298
|
+
}
|
|
9299
|
+
else if (innerLink) {
|
|
9300
|
+
innerLink.focus();
|
|
9301
|
+
}
|
|
9302
|
+
else {
|
|
9303
|
+
// Fallback to focusing the host
|
|
9304
|
+
menuItem.focus();
|
|
9305
|
+
}
|
|
9263
9306
|
}
|
|
9264
9307
|
else {
|
|
9265
|
-
//
|
|
9266
|
-
|
|
9308
|
+
// For raw <a> or <button> elements, focus directly
|
|
9309
|
+
item.focus();
|
|
9267
9310
|
}
|
|
9268
9311
|
}
|
|
9269
9312
|
}
|
|
@@ -9273,7 +9316,7 @@ class PdsDropdownMenu {
|
|
|
9273
9316
|
// Skip disabled items
|
|
9274
9317
|
let attempts = 0;
|
|
9275
9318
|
const maxAttempts = this.menuItems.length;
|
|
9276
|
-
while (attempts < maxAttempts && this.menuItems[nextIndex]
|
|
9319
|
+
while (attempts < maxAttempts && this.isItemDisabled(this.menuItems[nextIndex])) {
|
|
9277
9320
|
nextIndex = (nextIndex + 1) % this.menuItems.length;
|
|
9278
9321
|
attempts++;
|
|
9279
9322
|
}
|
|
@@ -9290,7 +9333,7 @@ class PdsDropdownMenu {
|
|
|
9290
9333
|
// Skip disabled items
|
|
9291
9334
|
let attempts = 0;
|
|
9292
9335
|
const maxAttempts = this.menuItems.length;
|
|
9293
|
-
while (attempts < maxAttempts && this.menuItems[prevIndex]
|
|
9336
|
+
while (attempts < maxAttempts && this.isItemDisabled(this.menuItems[prevIndex])) {
|
|
9294
9337
|
prevIndex = prevIndex <= 0 ? this.menuItems.length - 1 : prevIndex - 1;
|
|
9295
9338
|
attempts++;
|
|
9296
9339
|
}
|
|
@@ -9321,7 +9364,7 @@ class PdsDropdownMenu {
|
|
|
9321
9364
|
if (this.menuItems.length > 0) {
|
|
9322
9365
|
// Find first non-disabled item
|
|
9323
9366
|
let firstIndex = 0;
|
|
9324
|
-
while (firstIndex < this.menuItems.length && this.menuItems[firstIndex]
|
|
9367
|
+
while (firstIndex < this.menuItems.length && this.isItemDisabled(this.menuItems[firstIndex])) {
|
|
9325
9368
|
firstIndex++;
|
|
9326
9369
|
}
|
|
9327
9370
|
if (firstIndex < this.menuItems.length) {
|
|
@@ -9334,7 +9377,7 @@ class PdsDropdownMenu {
|
|
|
9334
9377
|
if (this.menuItems.length > 0) {
|
|
9335
9378
|
// Find last non-disabled item
|
|
9336
9379
|
let lastIndex = this.menuItems.length - 1;
|
|
9337
|
-
while (lastIndex >= 0 && this.menuItems[lastIndex]
|
|
9380
|
+
while (lastIndex >= 0 && this.isItemDisabled(this.menuItems[lastIndex])) {
|
|
9338
9381
|
lastIndex--;
|
|
9339
9382
|
}
|
|
9340
9383
|
if (lastIndex >= 0) {
|
|
@@ -9364,7 +9407,7 @@ class PdsDropdownMenu {
|
|
|
9364
9407
|
event.preventDefault();
|
|
9365
9408
|
// Find the first non-disabled item
|
|
9366
9409
|
let firstFocusableIndex = 0;
|
|
9367
|
-
while (firstFocusableIndex < this.menuItems.length && this.menuItems[firstFocusableIndex]
|
|
9410
|
+
while (firstFocusableIndex < this.menuItems.length && this.isItemDisabled(this.menuItems[firstFocusableIndex])) {
|
|
9368
9411
|
firstFocusableIndex++;
|
|
9369
9412
|
}
|
|
9370
9413
|
if (firstFocusableIndex < this.menuItems.length) {
|
|
@@ -9376,7 +9419,7 @@ class PdsDropdownMenu {
|
|
|
9376
9419
|
event.preventDefault();
|
|
9377
9420
|
// Find the first non-disabled item
|
|
9378
9421
|
let firstFocusableIndex = 0;
|
|
9379
|
-
while (firstFocusableIndex < this.menuItems.length && this.menuItems[firstFocusableIndex]
|
|
9422
|
+
while (firstFocusableIndex < this.menuItems.length && this.isItemDisabled(this.menuItems[firstFocusableIndex])) {
|
|
9380
9423
|
firstFocusableIndex++;
|
|
9381
9424
|
}
|
|
9382
9425
|
if (firstFocusableIndex < this.menuItems.length) {
|
|
@@ -9399,7 +9442,7 @@ class PdsDropdownMenu {
|
|
|
9399
9442
|
}
|
|
9400
9443
|
}
|
|
9401
9444
|
render() {
|
|
9402
|
-
return (hAsync(Host, { key: '
|
|
9445
|
+
return (hAsync(Host, { key: '3144bc264072eccf89cdca45a0b28eb004b5d06e', id: this.componentId }, hAsync("slot", { key: '500288f266dc7ab7e1ac5070e628c31a6ed50861', name: "trigger", onSlotchange: this.handleTriggerSlotChange }), hAsync("pds-box", { key: '4085130e381b8be28e2e36de073c0755a455e30c', "border-radius": "sm", display: "flex", direction: "column", class: "pds-dropdown-menu--panel is-hidden", shadow: "100", role: "menu", "aria-orientation": "vertical", part: "menu-panel" }, hAsync("slot", { key: '2c4d53799576d1c6913df9bb854bfbaf50e5032c', onSlotchange: this.handleSlotChange }))));
|
|
9403
9446
|
}
|
|
9404
9447
|
get host() { return getElement(this); }
|
|
9405
9448
|
static get style() { return pdsDropdownMenuCss; }
|
|
@@ -16598,9 +16641,12 @@ class PdsTable {
|
|
|
16598
16641
|
this.setupResponsiveScrolling();
|
|
16599
16642
|
}
|
|
16600
16643
|
// Apply default sort if specified
|
|
16644
|
+
// Use requestAnimationFrame to defer until child components are fully initialized
|
|
16601
16645
|
if (this.defaultSortColumn) {
|
|
16602
|
-
|
|
16603
|
-
|
|
16646
|
+
requestAnimationFrame(() => {
|
|
16647
|
+
void this.applyDefaultSort().catch((err) => {
|
|
16648
|
+
console.warn('Failed to apply default sort.', err);
|
|
16649
|
+
});
|
|
16604
16650
|
});
|
|
16605
16651
|
}
|
|
16606
16652
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pine-ds/core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.16.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Base components for Pine Design System",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"@babel/preset-env": "^7.22.10",
|
|
86
86
|
"@chromatic-com/storybook": "^4.1.3",
|
|
87
87
|
"@mdx-js/rollup": "^3.1.1",
|
|
88
|
-
"@pine-ds/doc-components": "^3.
|
|
88
|
+
"@pine-ds/doc-components": "^3.16.0",
|
|
89
89
|
"@stencil-community/eslint-plugin": "^0.8.0",
|
|
90
90
|
"@stencil/react-output-target": "^0.5.3",
|
|
91
91
|
"@stencil/sass": "^3.2.0",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,h as s,H as t,a as e}from"./p-DHPhrb5T.js";import{a as h,c as n,o,f as d,s as a}from"./p-BO6p966C.js";const r=":host{display:block}.is-hidden{display:none}.pds-dropdown-menu--panel{background-color:var(--pine-color-background-container);border-radius:var(--pine-dimension-xs);left:var(--pine-dimension-none);min-width:170px;padding:var(--pine-dimension-xs);position:fixed;z-index:var(--pine-z-index-overlay)}:host-context([data-theme=dark]) .pds-dropdown-menu--panel{border:var(--pine-border)}";const l=class{constructor(s){i(this,s);this.isOpen=false;this.menuItems=[];this.cleanupAutoUpdate=null;this.currentFocusIndex=-1;this.placement="bottom-start";this.handleTriggerSlotChange=i=>{this.slotEl=i.target;const s=this.slotEl.assignedElements();this.triggerEl=s[0];this.triggerEl.onclick=this.handleClick;this.triggerEl.setAttribute("aria-haspopup","menu");this.triggerEl.setAttribute("aria-expanded","false")};this.handleSlotChange=i=>{this.slotEl=i.target;const s=this.slotEl.assignedElements();const t=s.filter((i=>i.tagName.toLowerCase()!=="pds-dropdown-menu-item"&&i.tagName.toLowerCase()!=="pds-dropdown-menu-separator"));if(t.length>0){throw new Error(`pds-dropdown-menu only accepts pds-dropdown-menu-item and pds-dropdown-menu-separator elements`)}this.menuItems=s.filter((i=>i.tagName.toLowerCase()==="pds-dropdown-menu-item"))};this.toggleDropdown=()=>{this.isOpen=!this.isOpen;if(this.isOpen){this.openDropdown()}else{this.closeDropdown()}};this.openDropdown=()=>{var i;const s=()=>{n(this.triggerEl,this.panelEl,{placement:this.placement,strategy:"fixed",middleware:[o(6),d(),a({padding:5})]}).then((({x:i,y:s})=>{Object.assign(this.panelEl.style,{left:`${i}px`,top:`${s}px`})}))};s();this.cleanupAutoUpdate=h(this.triggerEl,this.panelEl,s);(i=this.host.shadowRoot)===null||i===void 0?void 0:i.querySelector("pds-box").classList.remove("is-hidden");this.isOpen=true;this.triggerEl.setAttribute("aria-expanded","true")};this.closeDropdown=()=>{var i;(i=this.host.shadowRoot)===null||i===void 0?void 0:i.querySelector("pds-box").classList.add("is-hidden");this.isOpen=false;if(this.cleanupAutoUpdate){this.cleanupAutoUpdate();this.cleanupAutoUpdate=null}this.triggerEl.setAttribute("aria-expanded","false");this.currentFocusIndex=-1;this.triggerEl.focus()};this.handleClick=()=>{this.toggleDropdown()}}componentDidRender(){var i;this.panelEl=(i=this.host.shadowRoot)===null||i===void 0?void 0:i.querySelector("pds-box")}disconnectedCallback(){if(this.cleanupAutoUpdate){this.cleanupAutoUpdate();this.cleanupAutoUpdate=null}}getFocusedItemIndex(){const i=document.activeElement;if(!i)return-1;return this.menuItems.findIndex((s=>s===i))}focusItemByIndex(i){var s,t,e,h;if(i>=0&&i<this.menuItems.length){this.currentFocusIndex=i;const n=this.menuItems[i];const o=(s=n.shadowRoot)===null||s===void 0?void 0:s.querySelector("button");const d=(h=(e=(t=n.shadowRoot)===null||t===void 0?void 0:t.querySelector("pds-link"))===null||e===void 0?void 0:e.shadowRoot)===null||h===void 0?void 0:h.querySelector("a");if(o){return o.focus()}else if(d){return d.focus()}else{n.focus()}}}focusNextItem(){let i=(this.currentFocusIndex+1)%this.menuItems.length;let s=0;const t=this.menuItems.length;while(s<t&&this.menuItems[i].disabled){i=(i+1)%this.menuItems.length;s++}if(s<t){this.focusItemByIndex(i)}}focusPreviousItem(){let i=this.currentFocusIndex<=0?this.menuItems.length-1:this.currentFocusIndex-1;let s=0;const t=this.menuItems.length;while(s<t&&this.menuItems[i].disabled){i=i<=0?this.menuItems.length-1:i-1;s++}if(s<t){this.focusItemByIndex(i)}}handleKeyDown(i){if(!this.isOpen)return;switch(i.key){case"Escape":i.preventDefault();this.closeDropdown();break;case"ArrowDown":i.preventDefault();this.focusNextItem();break;case"ArrowUp":i.preventDefault();this.focusPreviousItem();break;case"Home":i.preventDefault();if(this.menuItems.length>0){let i=0;while(i<this.menuItems.length&&this.menuItems[i].disabled){i++}if(i<this.menuItems.length){this.focusItemByIndex(i)}}break;case"End":i.preventDefault();if(this.menuItems.length>0){let i=this.menuItems.length-1;while(i>=0&&this.menuItems[i].disabled){i--}if(i>=0){this.focusItemByIndex(i)}}break;case"Tab":if(i.shiftKey){const s=this.getFocusedItemIndex();if(s>0){i.preventDefault();this.focusPreviousItem()}}else{const s=document.activeElement;const t=s===this.triggerEl;const e=this.getFocusedItemIndex();if(t&&this.menuItems.length>0){i.preventDefault();let s=0;while(s<this.menuItems.length&&this.menuItems[s].disabled){s++}if(s<this.menuItems.length){this.focusItemByIndex(s)}}else if(e===-1&&this.menuItems.length>0){i.preventDefault();let s=0;while(s<this.menuItems.length&&this.menuItems[s].disabled){s++}if(s<this.menuItems.length){this.focusItemByIndex(s)}}else if(e!==-1){i.preventDefault();this.focusNextItem()}}break}}handleWindowClick(i){if(this.isOpen&&!this.host.contains(i.target)&&i.target!==this.triggerEl){this.closeDropdown()}}render(){return s(t,{key:"bedd78a69e84f10abb3c714c02227fa76e255a35",id:this.componentId},s("slot",{key:"d2bf56037a85679a677470d04865823966ca19d6",name:"trigger",onSlotchange:this.handleTriggerSlotChange}),s("pds-box",{key:"64f56896103bb6cca6c71020d3d37c375d300c40","border-radius":"sm",display:"flex",direction:"column",class:"pds-dropdown-menu--panel is-hidden",shadow:"100",role:"menu","aria-orientation":"vertical",part:"menu-panel"},s("slot",{key:"0303160562f74fe9d32cc020c4539a7c8fc288a9",onSlotchange:this.handleSlotChange})))}get host(){return e(this)}};l.style=r;export{l as pds_dropdown_menu};
|
|
2
|
-
//# sourceMappingURL=p-9660a2c2.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["registerInstance","h","Host","getElement","autoUpdate","computePosition","offset","flip","shift","pdsDropdownMenuCss","PdsDropdownMenu","constructor","hostRef","this","isOpen","menuItems","cleanupAutoUpdate","currentFocusIndex","placement","handleTriggerSlotChange","event","slotEl","target","assignedElements","triggerEl","onclick","handleClick","setAttribute","handleSlotChange","invalidElements","filter","el","tagName","toLowerCase","length","Error","toggleDropdown","openDropdown","closeDropdown","_a","updatePosition","panelEl","strategy","middleware","padding","then","x","y","Object","assign","style","left","top","host","shadowRoot","querySelector","classList","remove","add","focus","componentDidRender","disconnectedCallback","getFocusedItemIndex","activeElement","document","findIndex","item","focusItemByIndex","index","_b","_c","_d","menuItem","innerButton","innerLink","focusNextItem","nextIndex","attempts","maxAttempts","disabled","focusPreviousItem","prevIndex","handleKeyDown","key","preventDefault","firstIndex","lastIndex","shiftKey","currentIndex","isTriggerFocused","firstFocusableIndex","handleWindowClick","contains","render","id","componentId","name","onSlotchange","display","direction","class","shadow","role","part"],"sources":["0"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as s,H as e,a as o}from"./p-DHPhrb5T.js";const r='@charset "UTF-8";:host{--color-background-default:var(--pine-color-background-container);background:var(--color-background-default);border-collapse:separate;border-radius:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;display:table;width:100%}:host(:focus-visible){outline:var(--pine-outline-focus)}:host(.pds-table-responsive-host){border-radius:inherit;-webkit-box-sizing:border-box !important;box-sizing:border-box !important;display:block !important;max-width:100% !important;overflow:hidden !important;position:relative !important;width:100% !important}.pds-table-responsive-container{border-radius:inherit;-webkit-box-sizing:border-box !important;box-sizing:border-box !important;overflow-x:auto !important;overflow-y:visible !important;position:relative !important;width:100% !important}.pds-table-responsive-wrapper{border-radius:inherit;-webkit-box-sizing:border-box !important;box-sizing:border-box !important;display:block !important;position:relative !important;width:100% !important}.pds-table-responsive-wrapper .pds-table{display:table !important;min-width:-webkit-max-content !important;min-width:-moz-max-content !important;min-width:max-content !important;table-layout:auto !important;white-space:nowrap !important;width:100% !important}.scroll-shadow-left,.scroll-shadow-right{height:100%;opacity:0;pointer-events:none;position:absolute;top:0;-webkit-transition:opacity 0.1s ease;transition:opacity 0.1s ease;width:4px;z-index:var(--pine-z-index)}.scroll-shadow-left{background:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.1)), to(transparent));background:linear-gradient(to right, rgba(0, 0, 0, 0.1), transparent);border-bottom-left-radius:inherit;border-top-left-radius:inherit;left:0}.scroll-shadow-right{background:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.1)), to(transparent));background:linear-gradient(to left, rgba(0, 0, 0, 0.1), transparent);border-bottom-right-radius:inherit;border-top-right-radius:inherit;right:0}';const n=class{constructor(s){t(this,s);this.pdsTableSelect=i(this,"pdsTableSelect");this.pdsTableSelectAll=i(this,"pdsTableSelectAll");this.scrollContainer=null;this._responsiveHandleScroll=null;this._responsiveHandleResize=null;this._responsiveResizeObserver=null;this._teardownResponsive=null;this.rowDividers=false;this.defaultSortDirection="asc";this.sortingColumn=null;this.sortingDirection="asc"}componentDidLoad(){if(this.responsive){this.setupResponsiveScrolling()}if(this.defaultSortColumn){void this.applyDefaultSort().catch((t=>{console.warn("Failed to apply default sort.",t)}))}}async applyDefaultSort(){var t;const i=this.defaultSortDirection==="desc"?"desc":"asc";const s=Array.from(this.el.querySelectorAll("pds-table-head-cell[sortable]"));const e=s.find((t=>{var i;return((i=t.textContent)!==null&&i!==void 0?i:"").trim()===this.defaultSortColumn}));if(e){const s=((t=e.textContent)!==null&&t!==void 0?t:"").trim();this.sortTable(s,i);this.sortingColumn=s;this.sortingDirection=i;await e.setActiveSort(i)}else{console.warn(`Default sort column "${this.defaultSortColumn}" not found.`)}}disconnectedCallback(){if(this._teardownResponsive){this._teardownResponsive();this._teardownResponsive=null}}setupResponsiveScrolling(){var t,i,s;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".pds-table-responsive-container");const o=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector(".scroll-shadow-left");const r=(s=this.el.shadowRoot)===null||s===void 0?void 0:s.querySelector(".scroll-shadow-right");if(!e||!o||!r)return;this.scrollContainer=e;this._responsiveHandleScroll=()=>{if(!this.scrollContainer)return;const t=this.scrollContainer.scrollLeft;const i=this.scrollContainer.scrollWidth-this.scrollContainer.clientWidth;o.style.opacity=t>0&&!this.fixedColumn?"1":"0";r.style.opacity=i>0&&t<i-1?"1":"0"};this.scrollContainer.addEventListener("scroll",this._responsiveHandleScroll,{passive:true});if(typeof window!=="undefined"&&window.ResizeObserver){try{this._responsiveResizeObserver=new ResizeObserver((()=>{var t;(t=this._responsiveHandleScroll)===null||t===void 0?void 0:t.call(this)}));this._responsiveResizeObserver.observe(this.scrollContainer)}catch(t){}}if(typeof window!=="undefined"){this._responsiveHandleResize=()=>{var t;(t=this._responsiveHandleScroll)===null||t===void 0?void 0:t.call(this)};window.addEventListener("resize",this._responsiveHandleResize)}this._teardownResponsive=()=>{if(this.scrollContainer&&this._responsiveHandleScroll){this.scrollContainer.removeEventListener("scroll",this._responsiveHandleScroll);this.scrollContainer=null}if(this._responsiveResizeObserver){this._responsiveResizeObserver.disconnect();this._responsiveResizeObserver=null}if(typeof window!=="undefined"&&this._responsiveHandleResize){window.removeEventListener("resize",this._responsiveHandleResize);this._responsiveHandleResize=null}this._responsiveHandleScroll=null};this._responsiveHandleScroll()}classNames(){const t=["pds-table"];if(this.compact){t.push("is-compact")}if(this.responsive){t.push("is-responsive")}return t.join(" ")}sortTable(t,i){const s=this.el.querySelector("pds-table-body");if(!s)return;const e=Array.from(s.querySelectorAll("pds-table-row"));const o=Array.from(this.el.querySelectorAll("pds-table-head-cell[sortable]"));const r=o.find((i=>i.innerText.trim()===t));if(!r){console.warn(`Column "${t}" not found.`);return}const n=o.indexOf(r);e.sort(((t,s)=>{const e=t.querySelector(`pds-table-cell:nth-child(${n+1})`).textContent.trim();const o=s.querySelector(`pds-table-cell:nth-child(${n+1})`).textContent.trim();if(i==="asc"){return e.localeCompare(o,undefined,{sensitivity:"base"})}else{return o.localeCompare(e,undefined,{sensitivity:"base"})}}));s.innerHTML="";e.forEach((t=>{s.appendChild(t)}))}handleTableSort(t){if(t.defaultPrevented)return;const{direction:i}=t.detail;this.sortTable(t.detail.column,i);this.sortingColumn=t.detail.column;this.sortingDirection=i}handleTableSelectAll(t){if(t.defaultPrevented)return;const i=this.el.querySelector("pds-table-body");const s=Array.from(i.querySelectorAll("pds-table-row"));s.forEach((i=>{i.isSelected=t.detail.isSelected}))}async handleTableSelect(t){if(t.defaultPrevented)return;const i=this.el.querySelectorAll("pds-table-row");const s=Array.from(i).every((t=>t.isSelected));const e=Array.from(i).every((t=>!t.isSelected));const o=this.el.querySelector("pds-table-head");if(!o)return;const r=o.shadowRoot.querySelector("pds-checkbox");r.checked=s;r.indeterminate=!s&&!e}render(){if(this.responsive){return s(e,{class:"pds-table is-responsive pds-table-responsive-host",id:this.componentId,role:"grid",selectable:this.selectable,tabindex:"0",part:"table responsive-table"},s("div",{class:"scroll-shadow-left",part:"scroll-shadow-left"}),s("div",{class:"scroll-shadow-right",part:"scroll-shadow-right"}),s("div",{class:"pds-table-responsive-container",part:"responsive-container"},s("div",{class:"pds-table-responsive-wrapper",part:"responsive-wrapper"},s("div",{class:this.classNames(),part:"table-inner"},s("slot",null)))))}return s(e,{class:this.classNames(),id:this.componentId,role:"grid",selectable:this.selectable,tabindex:"0",part:"table"},s("slot",null))}get el(){return o(this)}};n.style=r;export{n as pds_table};
|
|
2
|
-
//# sourceMappingURL=p-9c0ec80a.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["registerInstance","createEvent","h","Host","getElement","pdsTableCss","PdsTable","constructor","hostRef","this","pdsTableSelect","pdsTableSelectAll","scrollContainer","_responsiveHandleScroll","_responsiveHandleResize","_responsiveResizeObserver","_teardownResponsive","rowDividers","defaultSortDirection","sortingColumn","sortingDirection","componentDidLoad","responsive","setupResponsiveScrolling","defaultSortColumn","applyDefaultSort","catch","err","console","warn","_a","direction","columnHeaderCells","Array","from","el","querySelectorAll","matchingCell","find","cell","textContent","trim","columnName","sortTable","setActiveSort","disconnectedCallback","_b","_c","container","shadowRoot","querySelector","leftShadow","rightShadow","scrollLeft","maxScrollLeft","scrollWidth","clientWidth","style","opacity","fixedColumn","addEventListener","passive","window","ResizeObserver","call","observe","error","removeEventListener","disconnect","classNames","compact","push","join","column","tableBody","tableRows","columnHeaderCell","innerText","columnIndex","indexOf","sort","a","b","valueA","valueB","localeCompare","undefined","sensitivity","innerHTML","forEach","row","appendChild","handleTableSort","event","defaultPrevented","detail","handleTableSelectAll","pdsTableBody","isSelected","handleTableSelect","allTableRows","allSelectedRows","every","noneSelectedRows","pdsTableHead","headerCheckbox","checked","indeterminate","render","class","id","componentId","role","selectable","tabindex","part"],"sources":["0"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-CCgKUhC7.system.js","sources":["src/components/pds-table/pds-table.scss?tag=pds-table&encapsulation=shadow","src/components/pds-table/pds-table.tsx"],"sourcesContent":[":host {\n --color-background-default: var(--pine-color-background-container);\n\n background: var(--color-background-default);\n border-collapse: separate;\n border-radius: inherit;\n box-sizing: border-box;\n display: table;\n width: 100%;\n}\n\n:host(:focus-visible) {\n outline: var(--pine-outline-focus);\n}\n\n/*\n * Responsive Table Architecture\n *\n * When responsive=true, the table uses a nested structure to provide horizontal scrolling\n * while maintaining proper width behavior and scroll shadows:\n *\n * Host (.pds-table-responsive-host)\n * ├── Shadow Left (positioned fixed to left edge)\n * ├── Shadow Right (positioned fixed to right edge)\n * └── Container (.pds-table-responsive-container)\n * └── Wrapper (.pds-table-responsive-wrapper)\n * └── Table (.pds-table)\n *\n * - Host: Constrains everything to parent width, clips shadows to border-radius\n * - Shadows: Stay fixed during scroll, provide visual scroll indicators\n * - Container: Handles horizontal scrolling (overflow-x: auto)\n * - Table: Expands to full width or scrolls based on content\n */\n:host(.pds-table-responsive-host) {\n border-radius: inherit;\n box-sizing: border-box !important;\n display: block !important;\n max-width: 100% !important;\n overflow: hidden !important;\n position: relative !important;\n width: 100% !important;\n}\n\n.pds-table-responsive-container {\n border-radius: inherit;\n box-sizing: border-box !important;\n overflow-x: auto !important;\n overflow-y: visible !important;\n position: relative !important;\n width: 100% !important;\n}\n\n.pds-table-responsive-wrapper {\n border-radius: inherit;\n box-sizing: border-box !important;\n display: block !important;\n position: relative !important;\n width: 100% !important;\n}\n\n.pds-table-responsive-wrapper .pds-table {\n display: table !important;\n min-width: max-content !important;\n table-layout: auto !important;\n white-space: nowrap !important;\n width: 100% !important;\n}\n\n/* Shadows positioned relative to host (non-scrolling), covering container edges */\n.scroll-shadow-left,\n.scroll-shadow-right {\n height: 100%;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 0;\n transition: opacity 0.1s ease;\n width: 4px;\n z-index: var(--pine-z-index);\n}\n\n.scroll-shadow-left {\n /* stylelint-disable-next-line pine-design-system/no-hardcoded-colors */\n background: linear-gradient(to right, rgba(0, 0, 0, 0.1), transparent);\n border-bottom-left-radius: inherit;\n border-top-left-radius: inherit;\n left: 0;\n}\n\n.scroll-shadow-right {\n /* stylelint-disable-next-line pine-design-system/no-hardcoded-colors */\n background: linear-gradient(to left, rgba(0, 0, 0, 0.1), transparent);\n border-bottom-right-radius: inherit;\n border-top-right-radius: inherit;\n right: 0;\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Prop, State, Listen } from '@stencil/core';\n\n@Component({\n tag: 'pds-table',\n styleUrls: ['pds-table.scss'],\n shadow: true,\n})\nexport class PdsTable {\n @Element() el: HTMLPdsTableElement;\n private scrollContainer: HTMLElement | null = null;\n private _responsiveHandleScroll: (() => void) | null = null;\n private _responsiveHandleResize: (() => void) | null = null;\n private _responsiveResizeObserver: ResizeObserver | null = null;\n private _teardownResponsive: (() => void) | null = null;\n\n /**\n * Determines if the table displays with reduced table cell padding.\n */\n @Prop() compact: boolean;\n\n /**\n * A unique identifier used for the table `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Enables the table to be responsive by horizontally scrolling on smaller screens.\n */\n @Prop() responsive: boolean;\n\n /**\n * Determines if the should display a fixed first column.\n */\n @Prop() fixedColumn: boolean;\n\n /**\n * Determines if the table displays checkboxes for selectable rows.\n */\n @Prop() selectable: boolean;\n\n /**\n * Adds divider borders between table rows. The last row will not have a bottom border.\n * @defaultValue false\n */\n @Prop({ reflect: true }) rowDividers: boolean = false;\n\n /**\n * The name of the column to sort by on initial load.\n * Must match the text content of a sortable column header.\n */\n @Prop() defaultSortColumn?: string;\n\n /**\n * The direction to sort the default column on initial load.\n * Only applies if `defaultSortColumn` is set.\n * @defaultValue 'asc'\n */\n @Prop() defaultSortDirection?: 'asc' | 'desc' = 'asc';\n\n /**\n * The name of the column being sorted.\n * @defaultValue null\n */\n @State() sortingColumn: string | null = null;\n\n /**\n * The direction of sorting.\n * @defaultValue 'asc'\n */\n @State() sortingDirection: 'asc' | 'desc' = 'asc';\n\n\n /**\n * Event that is emitted when the checkbox is clicked, carrying the rowIndex and selected value.\n */\n @Event() pdsTableSelect: EventEmitter<{ rowIndex: number; isSelected: boolean }>;\n\n /**\n * Event that is emitted when the select all checkbox is clicked, carrying the selected value.\n */\n @Event() pdsTableSelectAll: EventEmitter<{ isSelected: boolean }>;\n\n componentDidLoad() {\n if (this.responsive) {\n this.setupResponsiveScrolling();\n }\n\n // Apply default sort if specified\n if (this.defaultSortColumn) {\n void this.applyDefaultSort().catch((err) => {\n console.warn('Failed to apply default sort.', err);\n });\n }\n }\n\n /**\n * Applies the default sort configuration on initial load.\n * Finds the matching column header and activates its sort state.\n * @private\n */\n private async applyDefaultSort() {\n // Normalize direction to handle invalid HTML attribute values\n const direction: 'asc' | 'desc' = this.defaultSortDirection === 'desc' ? 'desc' : 'asc';\n\n // Find the matching sortable header cell\n const columnHeaderCells = Array.from(\n this.el.querySelectorAll('pds-table-head-cell[sortable]')\n ) as HTMLPdsTableHeadCellElement[];\n\n const matchingCell = columnHeaderCells.find(\n (cell) => (cell.textContent ?? '').trim() === this.defaultSortColumn\n );\n\n if (matchingCell) {\n const columnName = (matchingCell.textContent ?? '').trim();\n // Sort the table data\n this.sortTable(columnName, direction);\n this.sortingColumn = columnName;\n this.sortingDirection = direction;\n\n // Activate the visual state on the header cell\n await matchingCell.setActiveSort(direction);\n } else {\n console.warn(`Default sort column \"${this.defaultSortColumn}\" not found.`);\n }\n }\n\n disconnectedCallback() {\n if (this._teardownResponsive) {\n this._teardownResponsive();\n this._teardownResponsive = null;\n }\n }\n\n /**\n * Sets up responsive scrolling behavior for the table.\n *\n * This method creates a horizontal scrolling system where:\n * - The table content can scroll horizontally when it exceeds the container width\n * - Scroll shadows appear at the left/right edges to indicate scrollable content\n * - Fixed columns remain sticky during horizontal scrolling\n * - Shadows respect border-radius and don't appear when there's nothing to scroll\n *\n * Architecture:\n * - Host element: Contains everything, respects parent constraints\n * - Container element: Handles horizontal scrolling (overflow-x: auto)\n * - Shadow elements: Positioned fixed relative to host, show scroll indicators\n *\n * @private\n */\n private setupResponsiveScrolling() {\n const container = this.el.shadowRoot?.querySelector('.pds-table-responsive-container') as HTMLElement;\n const leftShadow = this.el.shadowRoot?.querySelector('.scroll-shadow-left') as HTMLElement;\n const rightShadow = this.el.shadowRoot?.querySelector('.scroll-shadow-right') as HTMLElement;\n\n if (!container || !leftShadow || !rightShadow) return;\n\n // Store container reference for cleanup\n this.scrollContainer = container;\n\n /**\n * Updates the visibility of scroll shadows based on current scroll position.\n * Left shadow: Shows when scrolled away from start (hidden if fixedColumn is enabled)\n * Right shadow: Shows when there's content to scroll and not at the end\n */\n this._responsiveHandleScroll = () => {\n if (!this.scrollContainer) return;\n\n const scrollLeft = this.scrollContainer.scrollLeft;\n const maxScrollLeft = this.scrollContainer.scrollWidth - this.scrollContainer.clientWidth;\n\n // Show left shadow when scrolled away from start, but not if there's a fixed column\n leftShadow.style.opacity = (scrollLeft > 0 && !this.fixedColumn) ? '1' : '0';\n\n // Show right shadow only if there's content to scroll AND not at end\n rightShadow.style.opacity = (maxScrollLeft > 0 && scrollLeft < maxScrollLeft - 1) ? '1' : '0';\n };\n\n // Add scroll event listener to container element\n this.scrollContainer.addEventListener('scroll', this._responsiveHandleScroll, { passive: true });\n\n // Add resize observer to update shadows when container size changes\n if (typeof window !== 'undefined' && window.ResizeObserver) {\n try {\n this._responsiveResizeObserver = new ResizeObserver(() => {\n this._responsiveHandleScroll?.();\n });\n this._responsiveResizeObserver.observe(this.scrollContainer);\n } catch (error) {\n // ResizeObserver not available in some environments (e.g., tests)\n // Fall back to window resize listener only\n }\n }\n\n // Listen for window resize as fallback\n if (typeof window !== 'undefined') {\n this._responsiveHandleResize = () => {\n this._responsiveHandleScroll?.();\n };\n window.addEventListener('resize', this._responsiveHandleResize);\n }\n\n // Create teardown function for cleanup\n this._teardownResponsive = () => {\n if (this.scrollContainer && this._responsiveHandleScroll) {\n this.scrollContainer.removeEventListener('scroll', this._responsiveHandleScroll);\n this.scrollContainer = null;\n }\n\n if (this._responsiveResizeObserver) {\n this._responsiveResizeObserver.disconnect();\n this._responsiveResizeObserver = null;\n }\n\n if (typeof window !== 'undefined' && this._responsiveHandleResize) {\n window.removeEventListener('resize', this._responsiveHandleResize);\n this._responsiveHandleResize = null;\n }\n\n this._responsiveHandleScroll = null;\n };\n\n // Initial check after setup\n this._responsiveHandleScroll();\n }\n\n\n private classNames() {\n const classNames = ['pds-table'];\n\n if (this.compact) {\n classNames.push('is-compact');\n }\n\n if (this.responsive) {\n classNames.push('is-responsive');\n }\n\n return classNames.join(' ');\n }\n\n private sortTable(column: string, direction: 'asc' | 'desc') {\n const tableBody = this.el.querySelector('pds-table-body');\n\n // Return early if no table body exists\n if (!tableBody) return;\n\n // Get the rows in the table body\n const tableRows = Array.from(tableBody.querySelectorAll('pds-table-row'));\n\n // Find the column index based on the column name\n const columnHeaderCells: HTMLElement[] = Array.from(\n this.el.querySelectorAll('pds-table-head-cell[sortable]')\n );\n\n const columnHeaderCell = columnHeaderCells.find(\n (cell) => cell.innerText.trim() === column\n );\n\n if (!columnHeaderCell) {\n console.warn(`Column \"${column}\" not found.`);\n return;\n }\n\n const columnIndex = columnHeaderCells.indexOf(columnHeaderCell);\n\n // Sort the rows based on the content of the specified column\n tableRows.sort((a, b) => {\n const valueA = a.querySelector(`pds-table-cell:nth-child(${columnIndex + 1})`).textContent.trim();\n const valueB = b.querySelector(`pds-table-cell:nth-child(${columnIndex + 1})`).textContent.trim();\n\n if (direction === 'asc') {\n return valueA.localeCompare(valueB, undefined, { sensitivity: 'base' });\n } else {\n return valueB.localeCompare(valueA, undefined, { sensitivity: 'base' });\n }\n });\n\n // Clear and append the sorted rows back to the table body\n tableBody.innerHTML = '';\n tableRows.forEach((row) => {\n tableBody.appendChild(row);\n });\n }\n\n @Listen('pdsTableSort')\n handleTableSort(event: CustomEvent<{ column: string; direction: 'asc' | 'desc' }>) {\n if (event.defaultPrevented) return;\n\n const { direction } = event.detail;\n this.sortTable(event.detail.column, direction);\n this.sortingColumn = event.detail.column;\n this.sortingDirection = direction;\n }\n\n @Listen('pdsTableSelectAll')\n handleTableSelectAll(event: CustomEvent<{ isSelected: boolean }>) {\n if (event.defaultPrevented) return;\n\n const pdsTableBody = this.el.querySelector('pds-table-body');\n const tableRows = Array.from(pdsTableBody.querySelectorAll('pds-table-row'));\n\n tableRows.forEach((row) => {\n row.isSelected = event.detail.isSelected;\n });\n }\n\n @Listen('pdsTableRowSelected')\n async handleTableSelect(event: CustomEvent<{ rowIndex: number; isSelected: boolean }>) {\n if (event.defaultPrevented) return;\n\n const allTableRows = this.el.querySelectorAll('pds-table-row');\n const allSelectedRows = Array.from(allTableRows).every((row) => row.isSelected);\n const noneSelectedRows = Array.from(allTableRows).every((row) => !row.isSelected);\n const pdsTableHead = this.el.querySelector('pds-table-head');\n if (!pdsTableHead) return;\n\n const headerCheckbox = pdsTableHead.shadowRoot.querySelector('pds-checkbox');\n headerCheckbox.checked = allSelectedRows;\n headerCheckbox.indeterminate = !allSelectedRows && !noneSelectedRows;\n }\n\n render() {\n if (this.responsive) {\n return (\n <Host\n class=\"pds-table is-responsive pds-table-responsive-host\"\n id={this.componentId}\n role=\"grid\"\n selectable={this.selectable}\n tabindex=\"0\"\n part=\"table responsive-table\"\n >\n <div class=\"scroll-shadow-left\" part=\"scroll-shadow-left\"></div>\n <div class=\"scroll-shadow-right\" part=\"scroll-shadow-right\"></div>\n <div class=\"pds-table-responsive-container\" part=\"responsive-container\">\n <div class=\"pds-table-responsive-wrapper\" part=\"responsive-wrapper\">\n <div class={this.classNames()} part=\"table-inner\">\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n return (\n <Host\n class={this.classNames()}\n id={this.componentId}\n role=\"grid\"\n selectable={this.selectable}\n tabindex=\"0\"\n part=\"table\"\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(t,i,r,e){function n(t){return t instanceof r?t:new r((function(i){i(t)}))}return new(r||(r=Promise))((function(r,o){function s(t){try{l(e.next(t))}catch(t){o(t)}}function a(t){try{l(e["throw"](t))}catch(t){o(t)}}function l(t){t.done?r(t.value):n(t.value).then(s,a)}l((e=e.apply(t,i||[])).next())}))};var __generator=this&&this.__generator||function(t,i){var r={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},e,n,o,s=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return s.next=a(0),s["throw"]=a(1),s["return"]=a(2),typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(t){return function(i){return l([t,i])}}function l(a){if(e)throw new TypeError("Generator is already executing.");while(s&&(s=0,a[0]&&(r=0)),r)try{if(e=1,n&&(o=a[0]&2?n["return"]:a[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;if(n=0,o)a=[a[0]&2,o.value];switch(a[0]){case 0:case 1:o=a;break;case 4:r.label++;return{value:a[1],done:false};case 5:r.label++;n=a[1];a=[0];continue;case 7:a=r.ops.pop();r.trys.pop();continue;default:if(!(o=r.trys,o=o.length>0&&o[o.length-1])&&(a[0]===6||a[0]===2)){r=0;continue}if(a[0]===3&&(!o||a[1]>o[0]&&a[1]<o[3])){r.label=a[1];break}if(a[0]===6&&r.label<o[1]){r.label=o[1];o=a;break}if(o&&r.label<o[2]){r.label=o[2];r.ops.push(a);break}if(o[2])r.ops.pop();r.trys.pop();continue}a=i.call(t,r)}catch(t){a=[6,t];n=0}finally{e=o=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};System.register(["./p-5D9wXQuJ.system.js"],(function(t){"use strict";var i,r,e,n,o;return{setters:[function(t){i=t.r;r=t.c;e=t.h;n=t.H;o=t.a}],execute:function(){var s='@charset "UTF-8";:host{--color-background-default:var(--pine-color-background-container);background:var(--color-background-default);border-collapse:separate;border-radius:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;display:table;width:100%}:host(:focus-visible){outline:var(--pine-outline-focus)}:host(.pds-table-responsive-host){border-radius:inherit;-webkit-box-sizing:border-box !important;box-sizing:border-box !important;display:block !important;max-width:100% !important;overflow:hidden !important;position:relative !important;width:100% !important}.pds-table-responsive-container{border-radius:inherit;-webkit-box-sizing:border-box !important;box-sizing:border-box !important;overflow-x:auto !important;overflow-y:visible !important;position:relative !important;width:100% !important}.pds-table-responsive-wrapper{border-radius:inherit;-webkit-box-sizing:border-box !important;box-sizing:border-box !important;display:block !important;position:relative !important;width:100% !important}.pds-table-responsive-wrapper .pds-table{display:table !important;min-width:-webkit-max-content !important;min-width:-moz-max-content !important;min-width:max-content !important;table-layout:auto !important;white-space:nowrap !important;width:100% !important}.scroll-shadow-left,.scroll-shadow-right{height:100%;opacity:0;pointer-events:none;position:absolute;top:0;-webkit-transition:opacity 0.1s ease;transition:opacity 0.1s ease;width:4px;z-index:var(--pine-z-index)}.scroll-shadow-left{background:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.1)), to(transparent));background:linear-gradient(to right, rgba(0, 0, 0, 0.1), transparent);border-bottom-left-radius:inherit;border-top-left-radius:inherit;left:0}.scroll-shadow-right{background:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.1)), to(transparent));background:linear-gradient(to left, rgba(0, 0, 0, 0.1), transparent);border-bottom-right-radius:inherit;border-top-right-radius:inherit;right:0}';var a=t("pds_table",function(){function t(t){i(this,t);this.pdsTableSelect=r(this,"pdsTableSelect");this.pdsTableSelectAll=r(this,"pdsTableSelectAll");this.scrollContainer=null;this._responsiveHandleScroll=null;this._responsiveHandleResize=null;this._responsiveResizeObserver=null;this._teardownResponsive=null;this.rowDividers=false;this.defaultSortDirection="asc";this.sortingColumn=null;this.sortingDirection="asc"}t.prototype.componentDidLoad=function(){if(this.responsive){this.setupResponsiveScrolling()}if(this.defaultSortColumn){void this.applyDefaultSort().catch((function(t){console.warn("Failed to apply default sort.",t)}))}};t.prototype.applyDefaultSort=function(){return __awaiter(this,void 0,void 0,(function(){var t,i,r,e,n;var o=this;return __generator(this,(function(s){switch(s.label){case 0:i=this.defaultSortDirection==="desc"?"desc":"asc";r=Array.from(this.el.querySelectorAll("pds-table-head-cell[sortable]"));e=r.find((function(t){var i;return((i=t.textContent)!==null&&i!==void 0?i:"").trim()===o.defaultSortColumn}));if(!e)return[3,2];n=((t=e.textContent)!==null&&t!==void 0?t:"").trim();this.sortTable(n,i);this.sortingColumn=n;this.sortingDirection=i;return[4,e.setActiveSort(i)];case 1:s.sent();return[3,3];case 2:console.warn('Default sort column "'.concat(this.defaultSortColumn,'" not found.'));s.label=3;case 3:return[2]}}))}))};t.prototype.disconnectedCallback=function(){if(this._teardownResponsive){this._teardownResponsive();this._teardownResponsive=null}};t.prototype.setupResponsiveScrolling=function(){var t=this;var i,r,e;var n=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector(".pds-table-responsive-container");var o=(r=this.el.shadowRoot)===null||r===void 0?void 0:r.querySelector(".scroll-shadow-left");var s=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(".scroll-shadow-right");if(!n||!o||!s)return;this.scrollContainer=n;this._responsiveHandleScroll=function(){if(!t.scrollContainer)return;var i=t.scrollContainer.scrollLeft;var r=t.scrollContainer.scrollWidth-t.scrollContainer.clientWidth;o.style.opacity=i>0&&!t.fixedColumn?"1":"0";s.style.opacity=r>0&&i<r-1?"1":"0"};this.scrollContainer.addEventListener("scroll",this._responsiveHandleScroll,{passive:true});if(typeof window!=="undefined"&&window.ResizeObserver){try{this._responsiveResizeObserver=new ResizeObserver((function(){var i;(i=t._responsiveHandleScroll)===null||i===void 0?void 0:i.call(t)}));this._responsiveResizeObserver.observe(this.scrollContainer)}catch(t){}}if(typeof window!=="undefined"){this._responsiveHandleResize=function(){var i;(i=t._responsiveHandleScroll)===null||i===void 0?void 0:i.call(t)};window.addEventListener("resize",this._responsiveHandleResize)}this._teardownResponsive=function(){if(t.scrollContainer&&t._responsiveHandleScroll){t.scrollContainer.removeEventListener("scroll",t._responsiveHandleScroll);t.scrollContainer=null}if(t._responsiveResizeObserver){t._responsiveResizeObserver.disconnect();t._responsiveResizeObserver=null}if(typeof window!=="undefined"&&t._responsiveHandleResize){window.removeEventListener("resize",t._responsiveHandleResize);t._responsiveHandleResize=null}t._responsiveHandleScroll=null};this._responsiveHandleScroll()};t.prototype.classNames=function(){var t=["pds-table"];if(this.compact){t.push("is-compact")}if(this.responsive){t.push("is-responsive")}return t.join(" ")};t.prototype.sortTable=function(t,i){var r=this.el.querySelector("pds-table-body");if(!r)return;var e=Array.from(r.querySelectorAll("pds-table-row"));var n=Array.from(this.el.querySelectorAll("pds-table-head-cell[sortable]"));var o=n.find((function(i){return i.innerText.trim()===t}));if(!o){console.warn('Column "'.concat(t,'" not found.'));return}var s=n.indexOf(o);e.sort((function(t,r){var e=t.querySelector("pds-table-cell:nth-child(".concat(s+1,")")).textContent.trim();var n=r.querySelector("pds-table-cell:nth-child(".concat(s+1,")")).textContent.trim();if(i==="asc"){return e.localeCompare(n,undefined,{sensitivity:"base"})}else{return n.localeCompare(e,undefined,{sensitivity:"base"})}}));r.innerHTML="";e.forEach((function(t){r.appendChild(t)}))};t.prototype.handleTableSort=function(t){if(t.defaultPrevented)return;var i=t.detail.direction;this.sortTable(t.detail.column,i);this.sortingColumn=t.detail.column;this.sortingDirection=i};t.prototype.handleTableSelectAll=function(t){if(t.defaultPrevented)return;var i=this.el.querySelector("pds-table-body");var r=Array.from(i.querySelectorAll("pds-table-row"));r.forEach((function(i){i.isSelected=t.detail.isSelected}))};t.prototype.handleTableSelect=function(t){return __awaiter(this,void 0,void 0,(function(){var i,r,e,n,o;return __generator(this,(function(s){if(t.defaultPrevented)return[2];i=this.el.querySelectorAll("pds-table-row");r=Array.from(i).every((function(t){return t.isSelected}));e=Array.from(i).every((function(t){return!t.isSelected}));n=this.el.querySelector("pds-table-head");if(!n)return[2];o=n.shadowRoot.querySelector("pds-checkbox");o.checked=r;o.indeterminate=!r&&!e;return[2]}))}))};t.prototype.render=function(){if(this.responsive){return e(n,{class:"pds-table is-responsive pds-table-responsive-host",id:this.componentId,role:"grid",selectable:this.selectable,tabindex:"0",part:"table responsive-table"},e("div",{class:"scroll-shadow-left",part:"scroll-shadow-left"}),e("div",{class:"scroll-shadow-right",part:"scroll-shadow-right"}),e("div",{class:"pds-table-responsive-container",part:"responsive-container"},e("div",{class:"pds-table-responsive-wrapper",part:"responsive-wrapper"},e("div",{class:this.classNames(),part:"table-inner"},e("slot",null)))))}return e(n,{class:this.classNames(),id:this.componentId,role:"grid",selectable:this.selectable,tabindex:"0",part:"table"},e("slot",null))};Object.defineProperty(t.prototype,"el",{get:function(){return o(this)},enumerable:false,configurable:true});return t}());a.style=s}}}));
|
|
2
|
-
//# sourceMappingURL=p-d98310b9.system.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["System","register","exports","registerInstance","createEvent","h","Host","getElement","setters","module","r","c","H","a","execute","pdsTableCss","PdsTable","class_1","hostRef","this","pdsTableSelect","pdsTableSelectAll","scrollContainer","_responsiveHandleScroll","_responsiveHandleResize","_responsiveResizeObserver","_teardownResponsive","rowDividers","defaultSortDirection","sortingColumn","sortingDirection","prototype","componentDidLoad","responsive","setupResponsiveScrolling","defaultSortColumn","applyDefaultSort","catch","err","console","warn","direction","columnHeaderCells","Array","from","el","querySelectorAll","matchingCell","find","cell","_a","textContent","trim","_this","columnName","sortTable","setActiveSort","_d","sent","concat","disconnectedCallback","_b","_c","container","shadowRoot","querySelector","leftShadow","rightShadow","scrollLeft","maxScrollLeft","scrollWidth","clientWidth","style","opacity","fixedColumn","addEventListener","passive","window","ResizeObserver","call","observe","error","removeEventListener","disconnect","classNames","compact","push","join","column","tableBody","tableRows","columnHeaderCell","innerText","columnIndex","indexOf","sort","b","valueA","valueB","localeCompare","undefined","sensitivity","innerHTML","forEach","row","appendChild","handleTableSort","event","defaultPrevented","detail","handleTableSelectAll","pdsTableBody","isSelected","handleTableSelect","allTableRows","allSelectedRows","every","noneSelectedRows","pdsTableHead","headerCheckbox","checked","indeterminate","render","class","id","componentId","role","selectable","tabindex","part","Object","defineProperty"],"sources":["module.ts"],"mappings":"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","ignoreList":[]}
|