@pine-ds/core 3.15.3-dev.0 → 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-tab.js +1 -1
- package/components/pds-tab.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-tab.cjs.entry.js +1 -1
- package/dist/cjs/pds-tab.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/collection/components/pds-tabs/pds-tab/pds-tab.css +0 -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-tab.entry.js +1 -1
- package/dist/esm/pds-tab.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-tab.entry.js +1 -1
- package/dist/esm-es5/pds-tab.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-2DR2iuEU.system.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-838452e0.entry.js +2 -0
- package/dist/pine-core/{p-5ef5f6b3.entry.js.map → p-838452e0.entry.js.map} +1 -1
- 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-8b7246ea.system.entry.js +2 -0
- package/dist/pine-core/{p-4a42e114.system.entry.js.map → p-8b7246ea.system.entry.js.map} +1 -1
- 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-tab.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 +77 -31
- package/hydrate/index.mjs +77 -31
- package/package.json +2 -2
- package/dist/pine-core/p-4a42e114.system.entry.js +0 -2
- package/dist/pine-core/p-5ef5f6b3.entry.js +0 -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-CE8RZXT8.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
|
@@ -7492,7 +7492,7 @@
|
|
|
7492
7492
|
"name": "pds-dropdown-menu",
|
|
7493
7493
|
"description": {
|
|
7494
7494
|
"kind": "markdown",
|
|
7495
|
-
"value": "\n\n**Examples:**\n[Default](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#default), [With Separator](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#with-separator), [With Icons](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#with-icons), [With Links](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#with-links), [With External Links](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#with-external-links), [With Disabled Items](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#with-disabled-items), [With Custom Placement](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#with-custom-placement), [Scrollable Menu](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#scrollable-menu)\n\n**CSS Parts:**\n- `menu-panel` - Exposes the dropdown menu container for styling."
|
|
7495
|
+
"value": "\n\n**Examples:**\n[Default](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#default), [With Separator](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#with-separator), [With Icons](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#with-icons), [With Links](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#with-links), [With External Links](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#with-external-links), [Mixing Menu Items with Raw Elements](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#mixing-menu-items-with-raw-elements), [With Disabled Items](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#with-disabled-items), [With Custom Placement](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#with-custom-placement), [Scrollable Menu](https://pine-design-system.netlify.app/?path=/docs/components-dropdown-menu--docs#scrollable-menu)\n\n**CSS Parts:**\n- `menu-panel` - Exposes the dropdown menu container for styling."
|
|
7496
7496
|
},
|
|
7497
7497
|
"attributes": [
|
|
7498
7498
|
{
|
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; }
|
|
@@ -16507,7 +16550,7 @@ class PdsSwitch {
|
|
|
16507
16550
|
}; }
|
|
16508
16551
|
}
|
|
16509
16552
|
|
|
16510
|
-
const pdsTabCss = "pds-tab{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;position:relative}.pds-tabs--pill pds-tab{-ms-flex:1;flex:1}.pds-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:var(--pine-border-width-none);-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:pointer;font-family:inherit;padding:var(--pine-dimension-none);-ms-flex-align:center;align-items:center;color:var(--pine-color-text-secondary);display:-ms-inline-flexbox;display:inline-flex;position:relative;text-decoration:none;white-space:nowrap}.pds-tab.is-active,.pds-tab[aria-selected=true]{color:var(--pine-color-text)}.pds-tab.is-active .pds-tab__content::after,.pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tab:hover:not(:disabled){color:var(--pine-color-text)}.pds-tab:focus{outline:none}.pds-tab:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tab:disabled,.pds-tab.is-disabled{color:var(--pine-color-text-disabled);cursor:not-allowed
|
|
16553
|
+
const pdsTabCss = "pds-tab{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;position:relative}.pds-tabs--pill pds-tab{-ms-flex:1;flex:1}.pds-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:var(--pine-border-width-none);-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:pointer;font-family:inherit;padding:var(--pine-dimension-none);-ms-flex-align:center;align-items:center;color:var(--pine-color-text-secondary);display:-ms-inline-flexbox;display:inline-flex;position:relative;text-decoration:none;white-space:nowrap}.pds-tab.is-active,.pds-tab[aria-selected=true]{color:var(--pine-color-text)}.pds-tab.is-active .pds-tab__content::after,.pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tab:hover:not(:disabled){color:var(--pine-color-text)}.pds-tab:focus{outline:none}.pds-tab:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tab:disabled,.pds-tab.is-disabled{color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-tab .pds-tab__content{font-family:var(--pine-font-family-body);font-size:var(--pine-font-size);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);-webkit-padding-after:11px;padding-block-end:11px;position:relative}.pds-tab .pds-tab__content::after{background-color:var(--pine-color-brand);content:\"\";height:3px;inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);inset-inline-start:var(--pine-dimension-none);opacity:0;position:absolute}.pds-tab .pds-tab-edge{display:none}.pds-tabs--availability{--color-background-tab:transparent}.pds-tabs--availability .pds-tab{background-color:var(--color-background-tab);border-radius:calc(var(--pine-dimension-xs) * 1.25) calc(var(--pine-dimension-xs) * 1.25) var(--pine-dimension-none) var(--pine-dimension-none);color:var(--pine-color-text-secondary);padding:8px 16px 13px}.pds-tabs--availability .pds-tab.is-active,.pds-tabs--availability .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-secondary);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab.is-active .pds-tab__content::after,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tabs--availability .pds-tab.is-active .pds-tab-edge,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab-edge{z-index:var(--pine-z-index-raised)}.pds-tabs--availability .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){--color-background-tab:var(--pine-color-secondary-hover);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab:focus-visible{color:var(--pine-color-text-secondary)}.pds-tabs--availability .pds-tab:disabled,.pds-tabs--availability .pds-tab.is-disabled{--color-background-tab:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--availability .pds-tab__content{-webkit-padding-after:7px;padding-block-end:7px}.pds-tabs--availability .pds-tab-edge{bottom:0;display:block;height:8px;inset-inline-end:100%;overflow:hidden;position:absolute;width:8px}.pds-tabs--availability .pds-tab-edge::before{border-radius:50%;bottom:0;-webkit-box-shadow:4px 4px 0 0 var(--color-background-tab);box-shadow:4px 4px 0 0 var(--color-background-tab);content:\"\";display:block;height:200%;inset-inline-end:0;position:absolute;width:200%}.pds-tabs--availability .pds-tab-edge--end{inset-inline-end:unset;inset-inline-start:100%}.pds-tabs--availability .pds-tab-edge--end::before{-webkit-box-shadow:-4px 4px 0 0 var(--color-background-tab);box-shadow:-4px 4px 0 0 var(--color-background-tab);inset-inline-end:unset;inset-inline-start:0}.pds-tabs--filter .pds-tab{background-color:var(--pine-color-background-muted);border-radius:50px;color:var(--pine-color-text);padding:6px 15px}.pds-tabs--filter .pds-tab.is-active,.pds-tabs--filter .pds-tab[aria-selected=true]{background-color:var(--pine-color-primary);color:var(--pine-color-text-primary)}.pds-tabs--filter .pds-tab.is-active:hover:not(:disabled),.pds-tabs--filter .pds-tab[aria-selected=true]:hover:not(:disabled){background-color:var(--pine-color-primary-hover)}.pds-tabs--filter .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){background-color:var(--pine-color-border-disabled)}.pds-tabs--filter .pds-tab:disabled,.pds-tabs--filter .pds-tab.is-disabled{background-color:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--filter .pds-tab:disabled.is-active,.pds-tabs--filter .pds-tab:disabled[aria-selected=true],.pds-tabs--filter .pds-tab.is-disabled.is-active,.pds-tabs--filter .pds-tab.is-disabled[aria-selected=true]{background-color:var(--pine-color-primary-disabled)}.pds-tabs--filter .pds-tab__content{-webkit-padding-after:var(--pine-dimension-none);padding-block-end:var(--pine-dimension-none)}.pds-tabs--filter .pds-tab__content::after{content:unset}.pds-tabs--pill{--color-background-tab:transparent}.pds-tabs--pill .pds-tab{background-color:var(--color-background-tab);border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-xs);color:var(--pine-color-text-muted);-ms-flex:1;flex:1;height:34px;-ms-flex-pack:center;justify-content:center}.pds-tabs--pill .pds-tab .pds-tab__content{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-webkit-padding-after:0;padding-block-end:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-background-container);border-color:var(--pine-color-border);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);color:var(--pine-color-text-active)}.pds-tabs--pill .pds-tab.is-active:focus-visible,.pds-tabs--pill .pds-tab[aria-selected=true]:focus-visible{border-color:var(--color-border-focus);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab.is-active .pds-tab__content::after,.pds-tabs--pill .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab:disabled,.pds-tabs--pill .pds-tab.is-disabled{color:var(--pine-color-text-disabled)}";
|
|
16511
16554
|
|
|
16512
16555
|
class PdsTab {
|
|
16513
16556
|
constructor(hostRef) {
|
|
@@ -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; }
|
|
@@ -16505,7 +16548,7 @@ class PdsSwitch {
|
|
|
16505
16548
|
}; }
|
|
16506
16549
|
}
|
|
16507
16550
|
|
|
16508
|
-
const pdsTabCss = "pds-tab{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;position:relative}.pds-tabs--pill pds-tab{-ms-flex:1;flex:1}.pds-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:var(--pine-border-width-none);-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:pointer;font-family:inherit;padding:var(--pine-dimension-none);-ms-flex-align:center;align-items:center;color:var(--pine-color-text-secondary);display:-ms-inline-flexbox;display:inline-flex;position:relative;text-decoration:none;white-space:nowrap}.pds-tab.is-active,.pds-tab[aria-selected=true]{color:var(--pine-color-text)}.pds-tab.is-active .pds-tab__content::after,.pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tab:hover:not(:disabled){color:var(--pine-color-text)}.pds-tab:focus{outline:none}.pds-tab:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tab:disabled,.pds-tab.is-disabled{color:var(--pine-color-text-disabled);cursor:not-allowed
|
|
16551
|
+
const pdsTabCss = "pds-tab{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;position:relative}.pds-tabs--pill pds-tab{-ms-flex:1;flex:1}.pds-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:var(--pine-border-width-none);-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:pointer;font-family:inherit;padding:var(--pine-dimension-none);-ms-flex-align:center;align-items:center;color:var(--pine-color-text-secondary);display:-ms-inline-flexbox;display:inline-flex;position:relative;text-decoration:none;white-space:nowrap}.pds-tab.is-active,.pds-tab[aria-selected=true]{color:var(--pine-color-text)}.pds-tab.is-active .pds-tab__content::after,.pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tab:hover:not(:disabled){color:var(--pine-color-text)}.pds-tab:focus{outline:none}.pds-tab:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tab:disabled,.pds-tab.is-disabled{color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-tab .pds-tab__content{font-family:var(--pine-font-family-body);font-size:var(--pine-font-size);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);-webkit-padding-after:11px;padding-block-end:11px;position:relative}.pds-tab .pds-tab__content::after{background-color:var(--pine-color-brand);content:\"\";height:3px;inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);inset-inline-start:var(--pine-dimension-none);opacity:0;position:absolute}.pds-tab .pds-tab-edge{display:none}.pds-tabs--availability{--color-background-tab:transparent}.pds-tabs--availability .pds-tab{background-color:var(--color-background-tab);border-radius:calc(var(--pine-dimension-xs) * 1.25) calc(var(--pine-dimension-xs) * 1.25) var(--pine-dimension-none) var(--pine-dimension-none);color:var(--pine-color-text-secondary);padding:8px 16px 13px}.pds-tabs--availability .pds-tab.is-active,.pds-tabs--availability .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-secondary);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab.is-active .pds-tab__content::after,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tabs--availability .pds-tab.is-active .pds-tab-edge,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab-edge{z-index:var(--pine-z-index-raised)}.pds-tabs--availability .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){--color-background-tab:var(--pine-color-secondary-hover);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab:focus-visible{color:var(--pine-color-text-secondary)}.pds-tabs--availability .pds-tab:disabled,.pds-tabs--availability .pds-tab.is-disabled{--color-background-tab:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--availability .pds-tab__content{-webkit-padding-after:7px;padding-block-end:7px}.pds-tabs--availability .pds-tab-edge{bottom:0;display:block;height:8px;inset-inline-end:100%;overflow:hidden;position:absolute;width:8px}.pds-tabs--availability .pds-tab-edge::before{border-radius:50%;bottom:0;-webkit-box-shadow:4px 4px 0 0 var(--color-background-tab);box-shadow:4px 4px 0 0 var(--color-background-tab);content:\"\";display:block;height:200%;inset-inline-end:0;position:absolute;width:200%}.pds-tabs--availability .pds-tab-edge--end{inset-inline-end:unset;inset-inline-start:100%}.pds-tabs--availability .pds-tab-edge--end::before{-webkit-box-shadow:-4px 4px 0 0 var(--color-background-tab);box-shadow:-4px 4px 0 0 var(--color-background-tab);inset-inline-end:unset;inset-inline-start:0}.pds-tabs--filter .pds-tab{background-color:var(--pine-color-background-muted);border-radius:50px;color:var(--pine-color-text);padding:6px 15px}.pds-tabs--filter .pds-tab.is-active,.pds-tabs--filter .pds-tab[aria-selected=true]{background-color:var(--pine-color-primary);color:var(--pine-color-text-primary)}.pds-tabs--filter .pds-tab.is-active:hover:not(:disabled),.pds-tabs--filter .pds-tab[aria-selected=true]:hover:not(:disabled){background-color:var(--pine-color-primary-hover)}.pds-tabs--filter .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){background-color:var(--pine-color-border-disabled)}.pds-tabs--filter .pds-tab:disabled,.pds-tabs--filter .pds-tab.is-disabled{background-color:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--filter .pds-tab:disabled.is-active,.pds-tabs--filter .pds-tab:disabled[aria-selected=true],.pds-tabs--filter .pds-tab.is-disabled.is-active,.pds-tabs--filter .pds-tab.is-disabled[aria-selected=true]{background-color:var(--pine-color-primary-disabled)}.pds-tabs--filter .pds-tab__content{-webkit-padding-after:var(--pine-dimension-none);padding-block-end:var(--pine-dimension-none)}.pds-tabs--filter .pds-tab__content::after{content:unset}.pds-tabs--pill{--color-background-tab:transparent}.pds-tabs--pill .pds-tab{background-color:var(--color-background-tab);border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-xs);color:var(--pine-color-text-muted);-ms-flex:1;flex:1;height:34px;-ms-flex-pack:center;justify-content:center}.pds-tabs--pill .pds-tab .pds-tab__content{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-webkit-padding-after:0;padding-block-end:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-background-container);border-color:var(--pine-color-border);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);color:var(--pine-color-text-active)}.pds-tabs--pill .pds-tab.is-active:focus-visible,.pds-tabs--pill .pds-tab[aria-selected=true]:focus-visible{border-color:var(--color-border-focus);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab.is-active .pds-tab__content::after,.pds-tabs--pill .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab:disabled,.pds-tabs--pill .pds-tab.is-disabled{color:var(--pine-color-text-disabled)}";
|
|
16509
16552
|
|
|
16510
16553
|
class PdsTab {
|
|
16511
16554
|
constructor(hostRef) {
|
|
@@ -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
|
-
System.register(["./p-5D9wXQuJ.system.js"],(function(e){"use strict";var a,t,i,s,d;return{setters:[function(e){a=e.r;t=e.c;i=e.h;s=e.H;d=e.a}],execute:function(){var o='pds-tab{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;position:relative}.pds-tabs--pill pds-tab{-ms-flex:1;flex:1}.pds-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:var(--pine-border-width-none);-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:pointer;font-family:inherit;padding:var(--pine-dimension-none);-ms-flex-align:center;align-items:center;color:var(--pine-color-text-secondary);display:-ms-inline-flexbox;display:inline-flex;position:relative;text-decoration:none;white-space:nowrap}.pds-tab.is-active,.pds-tab[aria-selected=true]{color:var(--pine-color-text)}.pds-tab.is-active .pds-tab__content::after,.pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tab:hover:not(:disabled){color:var(--pine-color-text)}.pds-tab:focus{outline:none}.pds-tab:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tab:disabled,.pds-tab.is-disabled{color:var(--pine-color-text-disabled);cursor:not-allowed;pointer-events:none}.pds-tab .pds-tab__content{font-family:var(--pine-font-family-body);font-size:var(--pine-font-size);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);-webkit-padding-after:11px;padding-block-end:11px;position:relative}.pds-tab .pds-tab__content::after{background-color:var(--pine-color-brand);content:"";height:3px;inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);inset-inline-start:var(--pine-dimension-none);opacity:0;position:absolute}.pds-tab .pds-tab-edge{display:none}.pds-tabs--availability{--color-background-tab:transparent}.pds-tabs--availability .pds-tab{background-color:var(--color-background-tab);border-radius:calc(var(--pine-dimension-xs) * 1.25) calc(var(--pine-dimension-xs) * 1.25) var(--pine-dimension-none) var(--pine-dimension-none);color:var(--pine-color-text-secondary);padding:8px 16px 13px}.pds-tabs--availability .pds-tab.is-active,.pds-tabs--availability .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-secondary);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab.is-active .pds-tab__content::after,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tabs--availability .pds-tab.is-active .pds-tab-edge,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab-edge{z-index:var(--pine-z-index-raised)}.pds-tabs--availability .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){--color-background-tab:var(--pine-color-secondary-hover);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab:focus-visible{color:var(--pine-color-text-secondary)}.pds-tabs--availability .pds-tab:disabled,.pds-tabs--availability .pds-tab.is-disabled{--color-background-tab:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--availability .pds-tab__content{-webkit-padding-after:7px;padding-block-end:7px}.pds-tabs--availability .pds-tab-edge{bottom:0;display:block;height:8px;inset-inline-end:100%;overflow:hidden;position:absolute;width:8px}.pds-tabs--availability .pds-tab-edge::before{border-radius:50%;bottom:0;-webkit-box-shadow:4px 4px 0 0 var(--color-background-tab);box-shadow:4px 4px 0 0 var(--color-background-tab);content:"";display:block;height:200%;inset-inline-end:0;position:absolute;width:200%}.pds-tabs--availability .pds-tab-edge--end{inset-inline-end:unset;inset-inline-start:100%}.pds-tabs--availability .pds-tab-edge--end::before{-webkit-box-shadow:-4px 4px 0 0 var(--color-background-tab);box-shadow:-4px 4px 0 0 var(--color-background-tab);inset-inline-end:unset;inset-inline-start:0}.pds-tabs--filter .pds-tab{background-color:var(--pine-color-background-muted);border-radius:50px;color:var(--pine-color-text);padding:6px 15px}.pds-tabs--filter .pds-tab.is-active,.pds-tabs--filter .pds-tab[aria-selected=true]{background-color:var(--pine-color-primary);color:var(--pine-color-text-primary)}.pds-tabs--filter .pds-tab.is-active:hover:not(:disabled),.pds-tabs--filter .pds-tab[aria-selected=true]:hover:not(:disabled){background-color:var(--pine-color-primary-hover)}.pds-tabs--filter .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){background-color:var(--pine-color-border-disabled)}.pds-tabs--filter .pds-tab:disabled,.pds-tabs--filter .pds-tab.is-disabled{background-color:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--filter .pds-tab:disabled.is-active,.pds-tabs--filter .pds-tab:disabled[aria-selected=true],.pds-tabs--filter .pds-tab.is-disabled.is-active,.pds-tabs--filter .pds-tab.is-disabled[aria-selected=true]{background-color:var(--pine-color-primary-disabled)}.pds-tabs--filter .pds-tab__content{-webkit-padding-after:var(--pine-dimension-none);padding-block-end:var(--pine-dimension-none)}.pds-tabs--filter .pds-tab__content::after{content:unset}.pds-tabs--pill{--color-background-tab:transparent}.pds-tabs--pill .pds-tab{background-color:var(--color-background-tab);border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-xs);color:var(--pine-color-text-muted);-ms-flex:1;flex:1;height:34px;-ms-flex-pack:center;justify-content:center}.pds-tabs--pill .pds-tab .pds-tab__content{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-webkit-padding-after:0;padding-block-end:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-background-container);border-color:var(--pine-color-border);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);color:var(--pine-color-text-active)}.pds-tabs--pill .pds-tab.is-active:focus-visible,.pds-tabs--pill .pds-tab[aria-selected=true]:focus-visible{border-color:var(--color-border-focus);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab.is-active .pds-tab__content::after,.pds-tabs--pill .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab:disabled,.pds-tabs--pill .pds-tab.is-disabled{color:var(--pine-color-text-disabled)}';var n=e("pds_tab",function(){function e(e){a(this,e);this.pdsTabClick=t(this,"pdsTabClick");this.disabled=false;this.selected=false}e.prototype.onTabClick=function(e,a){if(this.disabled)return;this.pdsTabClick.emit([e,a])};e.prototype.classNames=function(){var e=["pds-tab",this.selected&&"is-active",this.disabled&&"is-disabled"];return e.filter(Boolean).join(" ")};e.prototype.render=function(){var e=i("span",{key:"934d84846bd84471047f9ab7503e5bb151426cbc",class:"pds-tab-edge",role:"presentation"});var a=i("span",{key:"e35b9da7b312ed95dab7bf803c40a22b3485ee05",class:"pds-tab-edge pds-tab-edge--end",role:"presentation"});return i(s,{key:"310188521230d3e16cff23b857769c4b5d04fd8d",variant:this.variant,slot:"tabs",index:this.index},i("button",{key:"9df38c2aa1fa29487fdce62ce7dc5f67df6bcde1",role:"tab",id:this.parentComponentId+"__"+this.name,"aria-controls":this.parentComponentId+"__"+this.name+"-panel",tabindex:this.disabled?"-1":this.selected?"0":"-1","aria-selected":this.selected?"true":"false","aria-disabled":this.disabled?"true":null,disabled:this.disabled,class:this.classNames(),onClick:this.onTabClick.bind(this,this.index,this.parentComponentId)},this.variant==="availability"&&e,this.variant==="availability"&&a,i("div",{key:"4936599dd547f236880ea9a0ccabc4b50836d1d5",class:"pds-tab__content"},i("slot",{key:"567388faf912bb307676cea9a4626ce9669087dd"}))))};Object.defineProperty(e.prototype,"el",{get:function(){return d(this)},enumerable:false,configurable:true});return e}());n.style=o}}}));
|
|
2
|
-
//# sourceMappingURL=p-4a42e114.system.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as a,c as e,h as t,H as i,a as s}from"./p-DHPhrb5T.js";const d='pds-tab{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;position:relative}.pds-tabs--pill pds-tab{-ms-flex:1;flex:1}.pds-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:var(--pine-border-width-none);-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:pointer;font-family:inherit;padding:var(--pine-dimension-none);-ms-flex-align:center;align-items:center;color:var(--pine-color-text-secondary);display:-ms-inline-flexbox;display:inline-flex;position:relative;text-decoration:none;white-space:nowrap}.pds-tab.is-active,.pds-tab[aria-selected=true]{color:var(--pine-color-text)}.pds-tab.is-active .pds-tab__content::after,.pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tab:hover:not(:disabled){color:var(--pine-color-text)}.pds-tab:focus{outline:none}.pds-tab:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tab:disabled,.pds-tab.is-disabled{color:var(--pine-color-text-disabled);cursor:not-allowed;pointer-events:none}.pds-tab .pds-tab__content{font-family:var(--pine-font-family-body);font-size:var(--pine-font-size);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);-webkit-padding-after:11px;padding-block-end:11px;position:relative}.pds-tab .pds-tab__content::after{background-color:var(--pine-color-brand);content:"";height:3px;inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);inset-inline-start:var(--pine-dimension-none);opacity:0;position:absolute}.pds-tab .pds-tab-edge{display:none}.pds-tabs--availability{--color-background-tab:transparent}.pds-tabs--availability .pds-tab{background-color:var(--color-background-tab);border-radius:calc(var(--pine-dimension-xs) * 1.25) calc(var(--pine-dimension-xs) * 1.25) var(--pine-dimension-none) var(--pine-dimension-none);color:var(--pine-color-text-secondary);padding:8px 16px 13px}.pds-tabs--availability .pds-tab.is-active,.pds-tabs--availability .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-secondary);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab.is-active .pds-tab__content::after,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tabs--availability .pds-tab.is-active .pds-tab-edge,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab-edge{z-index:var(--pine-z-index-raised)}.pds-tabs--availability .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){--color-background-tab:var(--pine-color-secondary-hover);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab:focus-visible{color:var(--pine-color-text-secondary)}.pds-tabs--availability .pds-tab:disabled,.pds-tabs--availability .pds-tab.is-disabled{--color-background-tab:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--availability .pds-tab__content{-webkit-padding-after:7px;padding-block-end:7px}.pds-tabs--availability .pds-tab-edge{bottom:0;display:block;height:8px;inset-inline-end:100%;overflow:hidden;position:absolute;width:8px}.pds-tabs--availability .pds-tab-edge::before{border-radius:50%;bottom:0;-webkit-box-shadow:4px 4px 0 0 var(--color-background-tab);box-shadow:4px 4px 0 0 var(--color-background-tab);content:"";display:block;height:200%;inset-inline-end:0;position:absolute;width:200%}.pds-tabs--availability .pds-tab-edge--end{inset-inline-end:unset;inset-inline-start:100%}.pds-tabs--availability .pds-tab-edge--end::before{-webkit-box-shadow:-4px 4px 0 0 var(--color-background-tab);box-shadow:-4px 4px 0 0 var(--color-background-tab);inset-inline-end:unset;inset-inline-start:0}.pds-tabs--filter .pds-tab{background-color:var(--pine-color-background-muted);border-radius:50px;color:var(--pine-color-text);padding:6px 15px}.pds-tabs--filter .pds-tab.is-active,.pds-tabs--filter .pds-tab[aria-selected=true]{background-color:var(--pine-color-primary);color:var(--pine-color-text-primary)}.pds-tabs--filter .pds-tab.is-active:hover:not(:disabled),.pds-tabs--filter .pds-tab[aria-selected=true]:hover:not(:disabled){background-color:var(--pine-color-primary-hover)}.pds-tabs--filter .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){background-color:var(--pine-color-border-disabled)}.pds-tabs--filter .pds-tab:disabled,.pds-tabs--filter .pds-tab.is-disabled{background-color:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--filter .pds-tab:disabled.is-active,.pds-tabs--filter .pds-tab:disabled[aria-selected=true],.pds-tabs--filter .pds-tab.is-disabled.is-active,.pds-tabs--filter .pds-tab.is-disabled[aria-selected=true]{background-color:var(--pine-color-primary-disabled)}.pds-tabs--filter .pds-tab__content{-webkit-padding-after:var(--pine-dimension-none);padding-block-end:var(--pine-dimension-none)}.pds-tabs--filter .pds-tab__content::after{content:unset}.pds-tabs--pill{--color-background-tab:transparent}.pds-tabs--pill .pds-tab{background-color:var(--color-background-tab);border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-xs);color:var(--pine-color-text-muted);-ms-flex:1;flex:1;height:34px;-ms-flex-pack:center;justify-content:center}.pds-tabs--pill .pds-tab .pds-tab__content{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-webkit-padding-after:0;padding-block-end:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-background-container);border-color:var(--pine-color-border);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);color:var(--pine-color-text-active)}.pds-tabs--pill .pds-tab.is-active:focus-visible,.pds-tabs--pill .pds-tab[aria-selected=true]:focus-visible{border-color:var(--color-border-focus);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab.is-active .pds-tab__content::after,.pds-tabs--pill .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab:disabled,.pds-tabs--pill .pds-tab.is-disabled{color:var(--pine-color-text-disabled)}';const o=class{constructor(t){a(this,t);this.pdsTabClick=e(this,"pdsTabClick");this.disabled=false;this.selected=false}onTabClick(a,e){if(this.disabled)return;this.pdsTabClick.emit([a,e])}classNames(){const a=["pds-tab",this.selected&&"is-active",this.disabled&&"is-disabled"];return a.filter(Boolean).join(" ")}render(){const a=t("span",{key:"934d84846bd84471047f9ab7503e5bb151426cbc",class:"pds-tab-edge",role:"presentation"});const e=t("span",{key:"e35b9da7b312ed95dab7bf803c40a22b3485ee05",class:"pds-tab-edge pds-tab-edge--end",role:"presentation"});return t(i,{key:"310188521230d3e16cff23b857769c4b5d04fd8d",variant:this.variant,slot:"tabs",index:this.index},t("button",{key:"9df38c2aa1fa29487fdce62ce7dc5f67df6bcde1",role:"tab",id:this.parentComponentId+"__"+this.name,"aria-controls":this.parentComponentId+"__"+this.name+"-panel",tabindex:this.disabled?"-1":this.selected?"0":"-1","aria-selected":this.selected?"true":"false","aria-disabled":this.disabled?"true":null,disabled:this.disabled,class:this.classNames(),onClick:this.onTabClick.bind(this,this.index,this.parentComponentId)},this.variant==="availability"&&a,this.variant==="availability"&&e,t("div",{key:"4936599dd547f236880ea9a0ccabc4b50836d1d5",class:"pds-tab__content"},t("slot",{key:"567388faf912bb307676cea9a4626ce9669087dd"}))))}get el(){return s(this)}};o.style=d;export{o as pds_tab};
|
|
2
|
-
//# sourceMappingURL=p-5ef5f6b3.entry.js.map
|
|
@@ -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
|