@pine-ds/core 3.15.0 → 3.15.2-dev.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-item.js +3 -3
- package/components/pds-dropdown-menu-item.js.map +1 -1
- package/components/pds-multiselect.js +63 -32
- package/components/pds-multiselect.js.map +1 -1
- package/components/pds-table-row.js +1 -1
- package/components/pds-table-row.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/pds-dropdown-menu-item.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-multiselect.cjs.entry.js +62 -32
- package/dist/cjs/pds-multiselect.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
- package/dist/cjs/pds-table-row.entry.cjs.js.map +1 -1
- package/dist/cjs/pine-core.cjs.js +1 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +3 -3
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js.map +1 -1
- package/dist/collection/components/pds-multiselect/pds-multiselect.js +81 -32
- package/dist/collection/components/pds-multiselect/pds-multiselect.js.map +1 -1
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.css +1 -1
- package/dist/docs.json +26 -3
- package/dist/esm/loader.js +1 -1
- package/dist/esm/pds-dropdown-menu-item.entry.js +1 -1
- package/dist/esm/pds-dropdown-menu-item.entry.js.map +1 -1
- package/dist/esm/pds-multiselect.entry.js +62 -32
- package/dist/esm/pds-multiselect.entry.js.map +1 -1
- package/dist/esm/pds-table-row.entry.js +1 -1
- package/dist/esm/pds-table-row.entry.js.map +1 -1
- package/dist/esm/pine-core.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-item.entry.js.map +1 -1
- package/dist/esm-es5/pds-multiselect.entry.js +1 -1
- package/dist/esm-es5/pds-multiselect.entry.js.map +1 -1
- package/dist/esm-es5/pds-table-row.entry.js +1 -1
- package/dist/esm-es5/pds-table-row.entry.js.map +1 -1
- package/dist/esm-es5/pine-core.js +1 -1
- package/dist/pine-core/{p-4ed357a4.entry.js → p-4c2809cb.entry.js} +2 -2
- package/dist/pine-core/p-4c2809cb.entry.js.map +1 -0
- package/dist/pine-core/{p-795e1727.entry.js → p-56cf3af8.entry.js} +2 -2
- package/dist/pine-core/{p-ef56bc80.system.entry.js → p-5f552640.system.entry.js} +2 -2
- package/dist/pine-core/p-93d0be59.entry.js +2 -0
- package/dist/pine-core/{p-88dd25dd.entry.js.map → p-93d0be59.entry.js.map} +1 -1
- package/dist/pine-core/p-Dtx30lCy.system.js.map +1 -0
- package/dist/pine-core/p-JAVnELnm.system.js +1 -1
- package/dist/pine-core/p-ZUqfslIz.system.js.map +1 -0
- package/dist/pine-core/p-aeb2f6ac.system.entry.js +2 -0
- package/dist/pine-core/{p-63a669c9.system.entry.js.map → p-aeb2f6ac.system.entry.js.map} +1 -1
- package/dist/pine-core/p-anXbtQm4.system.js.map +1 -0
- package/dist/pine-core/{p-ae359dc7.system.entry.js → p-b98a04cd.system.entry.js} +2 -2
- package/dist/pine-core/p-b98a04cd.system.entry.js.map +1 -0
- package/dist/pine-core/pds-dropdown-menu-item.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-multiselect.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-table-row.entry.esm.js.map +1 -1
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/types/components/pds-multiselect/pds-multiselect.d.ts +5 -0
- package/dist/types/components.d.ts +8 -0
- package/dist/vscode.html-data.json +10343 -0
- package/hydrate/index.js +68 -37
- package/hydrate/index.mjs +68 -37
- package/package.json +2 -2
- package/dist/pine-core/p-4ed357a4.entry.js.map +0 -1
- package/dist/pine-core/p-63a669c9.system.entry.js +0 -2
- package/dist/pine-core/p-88dd25dd.entry.js +0 -2
- package/dist/pine-core/p-CWPG1B5Z.system.js.map +0 -1
- package/dist/pine-core/p-DgtQU13G.system.js.map +0 -1
- package/dist/pine-core/p-DwXA2Glx.system.js.map +0 -1
- package/dist/pine-core/p-ae359dc7.system.entry.js.map +0 -1
- /package/dist/pine-core/{p-795e1727.entry.js.map → p-56cf3af8.entry.js.map} +0 -0
- /package/dist/pine-core/{p-ef56bc80.system.entry.js.map → p-5f552640.system.entry.js.map} +0 -0
package/hydrate/index.js
CHANGED
|
@@ -9493,7 +9493,7 @@ class PdsDropdownMenuItem {
|
|
|
9493
9493
|
}, tabIndex: this.disabled ? -1 : 0, type: "button", onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, disabled: this.disabled, "aria-disabled": this.disabled ? 'true' : null }, hAsync("slot", null)));
|
|
9494
9494
|
}
|
|
9495
9495
|
render() {
|
|
9496
|
-
return (hAsync(Host, { key: '
|
|
9496
|
+
return (hAsync(Host, { key: '2a0603c754506f9ff9293db0868342a057265b64', id: this.componentId, class: { 'is-disabled': this.disabled, 'destructive': !this.disabled && this.destructive }, onClick: () => !this.disabled && this.handleClick(), role: "none", tabIndex: -1, "aria-disabled": this.disabled ? 'true' : null }, this.renderElement()));
|
|
9497
9497
|
}
|
|
9498
9498
|
get host() { return getElement(this); }
|
|
9499
9499
|
static get style() { return pdsDropdownMenuItemCss; }
|
|
@@ -9505,14 +9505,14 @@ class PdsDropdownMenuItem {
|
|
|
9505
9505
|
"destructive": [4],
|
|
9506
9506
|
"disabled": [4],
|
|
9507
9507
|
"href": [1],
|
|
9508
|
-
"external": [
|
|
9509
|
-
"target": [
|
|
9508
|
+
"external": [516],
|
|
9509
|
+
"target": [513],
|
|
9510
9510
|
"hasFocus": [32],
|
|
9511
9511
|
"clickItem": [64]
|
|
9512
9512
|
},
|
|
9513
9513
|
"$listeners$": undefined,
|
|
9514
9514
|
"$lazyBundleId$": "-",
|
|
9515
|
-
"$attrsToReflect$": []
|
|
9515
|
+
"$attrsToReflect$": [["external", "external"], ["target", "target"]]
|
|
9516
9516
|
}; }
|
|
9517
9517
|
}
|
|
9518
9518
|
|
|
@@ -11843,9 +11843,25 @@ class PdsMultiselect {
|
|
|
11843
11843
|
// Ensure value is an array (may be string from HTML attribute)
|
|
11844
11844
|
const valueArray = this.ensureValueArray();
|
|
11845
11845
|
const allOptions = this.getAllOptions();
|
|
11846
|
-
|
|
11847
|
-
|
|
11848
|
-
|
|
11846
|
+
// Map values to options, preserving existing selectedItems for values not yet in options
|
|
11847
|
+
const newSelectedItems = [];
|
|
11848
|
+
const existingItemsMap = new Map(this.selectedItems.map(item => [String(item.id), item]));
|
|
11849
|
+
valueArray.forEach(val => {
|
|
11850
|
+
// First try to find in available options
|
|
11851
|
+
const option = allOptions.find(opt => String(opt.id) === String(val));
|
|
11852
|
+
if (option) {
|
|
11853
|
+
newSelectedItems.push(option);
|
|
11854
|
+
}
|
|
11855
|
+
else if (existingItemsMap.has(String(val))) {
|
|
11856
|
+
// If not in options but exists in current selectedItems, preserve it
|
|
11857
|
+
// This handles the case where async data hasn't loaded yet or newly created items
|
|
11858
|
+
newSelectedItems.push(existingItemsMap.get(String(val)));
|
|
11859
|
+
}
|
|
11860
|
+
// Note: We don't create placeholders for values without matching options.
|
|
11861
|
+
// This ensures selectedItems remains empty until options are actually loaded,
|
|
11862
|
+
// which matches the expected behavior for preselected values.
|
|
11863
|
+
});
|
|
11864
|
+
this.selectedItems = newSelectedItems;
|
|
11849
11865
|
}
|
|
11850
11866
|
ensureValueArray() {
|
|
11851
11867
|
// Handle JSON string values passed via HTML attribute
|
|
@@ -11911,6 +11927,15 @@ class PdsMultiselect {
|
|
|
11911
11927
|
}
|
|
11912
11928
|
}
|
|
11913
11929
|
}
|
|
11930
|
+
getCsrfToken() {
|
|
11931
|
+
// Use provided token if available
|
|
11932
|
+
if (this.csrfToken) {
|
|
11933
|
+
return this.csrfToken;
|
|
11934
|
+
}
|
|
11935
|
+
// Try to read from meta tag
|
|
11936
|
+
const metaTag = document.querySelector('meta[name="csrf-token"]');
|
|
11937
|
+
return (metaTag === null || metaTag === void 0 ? void 0 : metaTag.content) || null;
|
|
11938
|
+
}
|
|
11914
11939
|
async fetchOptions(query, page = 1) {
|
|
11915
11940
|
var _a;
|
|
11916
11941
|
if (!this.asyncUrl)
|
|
@@ -11942,10 +11967,15 @@ class PdsMultiselect {
|
|
|
11942
11967
|
url.searchParams.set('search', query);
|
|
11943
11968
|
url.searchParams.set('page', String(page));
|
|
11944
11969
|
}
|
|
11945
|
-
const
|
|
11946
|
-
|
|
11947
|
-
|
|
11948
|
-
|
|
11970
|
+
const csrfToken = this.getCsrfToken();
|
|
11971
|
+
const headers = {
|
|
11972
|
+
'Content-Type': 'application/json',
|
|
11973
|
+
'Accept': 'application/json',
|
|
11974
|
+
};
|
|
11975
|
+
if (csrfToken) {
|
|
11976
|
+
headers['X-CSRF-Token'] = csrfToken;
|
|
11977
|
+
}
|
|
11978
|
+
const response = await fetch(url.toString(), Object.assign({ method: this.asyncMethod, signal: this.abortController.signal, headers }, (this.asyncMethod === 'POST' && {
|
|
11949
11979
|
body: JSON.stringify({ search: query, page }),
|
|
11950
11980
|
})));
|
|
11951
11981
|
// Clear timeout on successful response
|
|
@@ -12003,30 +12033,35 @@ class PdsMultiselect {
|
|
|
12003
12033
|
this.creating = true;
|
|
12004
12034
|
try {
|
|
12005
12035
|
const url = new URL(this.createUrl, window.location.origin);
|
|
12036
|
+
const csrfToken = this.getCsrfToken();
|
|
12037
|
+
const headers = {
|
|
12038
|
+
'Content-Type': 'application/json',
|
|
12039
|
+
'Accept': 'application/json',
|
|
12040
|
+
};
|
|
12041
|
+
if (csrfToken) {
|
|
12042
|
+
headers['X-CSRF-Token'] = csrfToken;
|
|
12043
|
+
}
|
|
12006
12044
|
const response = await fetch(url.toString(), {
|
|
12007
12045
|
method: 'POST',
|
|
12008
|
-
headers
|
|
12009
|
-
'Content-Type': 'application/json',
|
|
12010
|
-
'Accept': 'application/json',
|
|
12011
|
-
},
|
|
12046
|
+
headers,
|
|
12012
12047
|
body: JSON.stringify({ text: query.trim() }),
|
|
12013
12048
|
});
|
|
12014
12049
|
if (!response.ok)
|
|
12015
12050
|
throw new Error('Failed to create option');
|
|
12016
12051
|
const data = await response.json();
|
|
12017
12052
|
const newOption = Object.assign({ id: data.id, text: data.text }, data);
|
|
12018
|
-
// Add to internal options
|
|
12053
|
+
// Add to internal options first
|
|
12019
12054
|
this.internalOptions = [...this.internalOptions, newOption];
|
|
12020
12055
|
// Select the new option
|
|
12021
12056
|
this.value = [...this.value, String(newOption.id)];
|
|
12022
|
-
// Sync selected items
|
|
12057
|
+
// Sync selected items to update display with new option
|
|
12023
12058
|
this.syncSelectedItems();
|
|
12024
12059
|
// Emit create event
|
|
12025
12060
|
this.pdsMultiselectCreate.emit({
|
|
12026
12061
|
query: query.trim(),
|
|
12027
12062
|
newOption,
|
|
12028
12063
|
});
|
|
12029
|
-
// Emit change event
|
|
12064
|
+
// Emit change event with synced items
|
|
12030
12065
|
this.pdsMultiselectChange.emit({
|
|
12031
12066
|
values: this.value,
|
|
12032
12067
|
items: this.selectedItems,
|
|
@@ -12136,27 +12171,22 @@ class PdsMultiselect {
|
|
|
12136
12171
|
const isSelected = this.value.includes(String(option.id));
|
|
12137
12172
|
if (isSelected) {
|
|
12138
12173
|
// Remove from selection
|
|
12139
|
-
|
|
12140
|
-
this.value = newValue;
|
|
12141
|
-
const newSelectedItems = this.selectedItems.filter(item => String(item.id) !== String(option.id));
|
|
12142
|
-
this.pdsMultiselectChange.emit({
|
|
12143
|
-
values: newValue,
|
|
12144
|
-
items: newSelectedItems,
|
|
12145
|
-
});
|
|
12174
|
+
this.value = this.value.filter(v => v !== String(option.id));
|
|
12146
12175
|
}
|
|
12147
12176
|
else {
|
|
12148
12177
|
// Add to selection
|
|
12149
12178
|
if (this.maxSelections && this.value.length >= this.maxSelections) {
|
|
12150
12179
|
return;
|
|
12151
12180
|
}
|
|
12152
|
-
|
|
12153
|
-
this.value = newValue;
|
|
12154
|
-
const newSelectedItems = [...this.selectedItems, option];
|
|
12155
|
-
this.pdsMultiselectChange.emit({
|
|
12156
|
-
values: newValue,
|
|
12157
|
-
items: newSelectedItems,
|
|
12158
|
-
});
|
|
12181
|
+
this.value = [...this.value, String(option.id)];
|
|
12159
12182
|
}
|
|
12183
|
+
// Sync selected items to ensure no duplicates and accurate state
|
|
12184
|
+
this.syncSelectedItems();
|
|
12185
|
+
// Emit change event with synced items
|
|
12186
|
+
this.pdsMultiselectChange.emit({
|
|
12187
|
+
values: this.value,
|
|
12188
|
+
items: this.selectedItems,
|
|
12189
|
+
});
|
|
12160
12190
|
// Keep focus on search input, don't close dropdown
|
|
12161
12191
|
(_a = this.searchInputEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
12162
12192
|
}
|
|
@@ -12200,19 +12230,19 @@ class PdsMultiselect {
|
|
|
12200
12230
|
}
|
|
12201
12231
|
render() {
|
|
12202
12232
|
const hasSelections = this.selectedItems.length > 0;
|
|
12203
|
-
return (hAsync(Host, { key: '
|
|
12233
|
+
return (hAsync(Host, { key: '5eabf872bf4e4f109106c0dd7f9fc8ea48e8c0c0', "aria-disabled": this.disabled ? 'true' : null }, hAsync("div", { key: '2623280ddbb4e116da4dbf0fe9123b5f06f0da0c', class: "pds-multiselect" }, this.label && (hAsync("label", { key: 'ec644a7af54ca4dcdece849c6df692fae268b445', htmlFor: this.componentId, class: {
|
|
12204
12234
|
'pds-multiselect__label': true,
|
|
12205
12235
|
'visually-hidden': this.hideLabel,
|
|
12206
|
-
} }, this.label)), hAsync("div", { key: '
|
|
12236
|
+
} }, this.label)), hAsync("div", { key: 'ae08d5be617ee801a730fd9289146e82f2df8258', class: "pds-multiselect__wrapper", ref: el => (this.containerEl = el), onFocusout: this.handleContainerFocusOut, style: { width: this.triggerWidth } }, hAsync("button", { key: 'c4639d573de4bb7963f848284057afcf9cc65cb9', ref: el => (this.triggerEl = el), type: "button", class: {
|
|
12207
12237
|
'pds-multiselect__trigger': true,
|
|
12208
12238
|
'pds-multiselect__trigger--open': this.isOpen,
|
|
12209
12239
|
'pds-multiselect__trigger--disabled': this.disabled,
|
|
12210
12240
|
'pds-multiselect__trigger--invalid': this.invalid || !!this.errorMessage,
|
|
12211
12241
|
'pds-multiselect__trigger--has-value': hasSelections,
|
|
12212
|
-
}, id: this.componentId, disabled: this.disabled, "aria-required": this.required ? 'true' : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-describedby": assignDescription(this.componentId, this.invalid || !!this.errorMessage, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid || !!this.errorMessage ? 'true' : undefined, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, hAsync("span", { key: '
|
|
12242
|
+
}, id: this.componentId, disabled: this.disabled, "aria-required": this.required ? 'true' : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-describedby": assignDescription(this.componentId, this.invalid || !!this.errorMessage, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid || !!this.errorMessage ? 'true' : undefined, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, hAsync("span", { key: 'b16da29ea9a98d6672813d9c142ef63135b12dca', class: {
|
|
12213
12243
|
'pds-multiselect__trigger-text': true,
|
|
12214
12244
|
'pds-multiselect__trigger-text--placeholder': !hasSelections,
|
|
12215
|
-
} }, this.getTriggerText()), hAsync("pds-icon", { key: '
|
|
12245
|
+
} }, this.getTriggerText()), hAsync("pds-icon", { key: '4e86739529355331c9fa6b95b63f223d5a315ad5', class: "pds-multiselect__icon", icon: enlarge })), this.renderDropdown()), this.helperMessage && !(this.errorMessage && this.errorMessage.length > 0) && (hAsync("p", { key: '34cd42ddb1725546ce367699ef520e37d24cae25', class: "pds-multiselect__helper", id: messageId(this.componentId, 'helper') }, this.helperMessage)), this.errorMessage && (hAsync("p", { key: '0eada43d1bcb44ea7b95927dd3f799aff6cc6b3a', class: "pds-multiselect__error", id: messageId(this.componentId, 'error') }, hAsync("pds-icon", { key: '546dcc24794d274d73b3de867b79123b6f0069fc', icon: danger, size: "small" }), this.errorMessage)), hAsync("div", { key: '3921e646c9e3638077c016e7cb28a19adaa302f0', style: { display: 'none' } }, hAsync("slot", { key: '3923872eaae0a59da8c4a5b9801abf41ae9a3c3d' })))));
|
|
12216
12246
|
}
|
|
12217
12247
|
static get formAssociated() { return true; }
|
|
12218
12248
|
get el() { return getElement(this); }
|
|
@@ -12251,6 +12281,7 @@ class PdsMultiselect {
|
|
|
12251
12281
|
"options": [16],
|
|
12252
12282
|
"formatResult": [16],
|
|
12253
12283
|
"createUrl": [1, "create-url"],
|
|
12284
|
+
"csrfToken": [1, "csrf-token"],
|
|
12254
12285
|
"isOpen": [32],
|
|
12255
12286
|
"searchQuery": [32],
|
|
12256
12287
|
"highlightedIndex": [32],
|
|
@@ -17227,7 +17258,7 @@ class PdsTableHeadCell {
|
|
|
17227
17258
|
}; }
|
|
17228
17259
|
}
|
|
17229
17260
|
|
|
17230
|
-
const pdsTableRowCss = ":host{--color-background-interactive:var(--pine-color-
|
|
17261
|
+
const pdsTableRowCss = ":host{--color-background-interactive:var(--pine-color-background-subtle);border-color:inherit;display:table-row;vertical-align:inherit}:host::part(checkbox-cell){background-color:var(--pine-color-background-container);inset-inline-start:var(--pine-dimension-none);position:-webkit-sticky;position:sticky;z-index:var(--pine-z-index-raised)}:host(:hover),:host(:hover)::part(checkbox-cell),:host(:hover) ::slotted(pds-table-cell),:host(.is-selected),:host(.is-selected)::part(checkbox-cell),:host(.is-selected) ::slotted(pds-table-cell){background:var(--color-background-interactive)}:host(.has-divider) ::slotted(pds-table-cell),:host(.has-divider) pds-table-cell{-webkit-border-after:var(--pine-border-width-thin) solid var(--pine-color-border-subtle);border-block-end:var(--pine-border-width-thin) solid var(--pine-color-border-subtle)}:host(.has-divider.is-last-row) ::slotted(pds-table-cell),:host(.has-divider.is-last-row) pds-table-cell{-webkit-border-after:0;border-block-end:0}";
|
|
17231
17262
|
|
|
17232
17263
|
class PdsTableRow {
|
|
17233
17264
|
constructor(hostRef) {
|
package/hydrate/index.mjs
CHANGED
|
@@ -9491,7 +9491,7 @@ class PdsDropdownMenuItem {
|
|
|
9491
9491
|
}, tabIndex: this.disabled ? -1 : 0, type: "button", onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, disabled: this.disabled, "aria-disabled": this.disabled ? 'true' : null }, hAsync("slot", null)));
|
|
9492
9492
|
}
|
|
9493
9493
|
render() {
|
|
9494
|
-
return (hAsync(Host, { key: '
|
|
9494
|
+
return (hAsync(Host, { key: '2a0603c754506f9ff9293db0868342a057265b64', id: this.componentId, class: { 'is-disabled': this.disabled, 'destructive': !this.disabled && this.destructive }, onClick: () => !this.disabled && this.handleClick(), role: "none", tabIndex: -1, "aria-disabled": this.disabled ? 'true' : null }, this.renderElement()));
|
|
9495
9495
|
}
|
|
9496
9496
|
get host() { return getElement(this); }
|
|
9497
9497
|
static get style() { return pdsDropdownMenuItemCss; }
|
|
@@ -9503,14 +9503,14 @@ class PdsDropdownMenuItem {
|
|
|
9503
9503
|
"destructive": [4],
|
|
9504
9504
|
"disabled": [4],
|
|
9505
9505
|
"href": [1],
|
|
9506
|
-
"external": [
|
|
9507
|
-
"target": [
|
|
9506
|
+
"external": [516],
|
|
9507
|
+
"target": [513],
|
|
9508
9508
|
"hasFocus": [32],
|
|
9509
9509
|
"clickItem": [64]
|
|
9510
9510
|
},
|
|
9511
9511
|
"$listeners$": undefined,
|
|
9512
9512
|
"$lazyBundleId$": "-",
|
|
9513
|
-
"$attrsToReflect$": []
|
|
9513
|
+
"$attrsToReflect$": [["external", "external"], ["target", "target"]]
|
|
9514
9514
|
}; }
|
|
9515
9515
|
}
|
|
9516
9516
|
|
|
@@ -11841,9 +11841,25 @@ class PdsMultiselect {
|
|
|
11841
11841
|
// Ensure value is an array (may be string from HTML attribute)
|
|
11842
11842
|
const valueArray = this.ensureValueArray();
|
|
11843
11843
|
const allOptions = this.getAllOptions();
|
|
11844
|
-
|
|
11845
|
-
|
|
11846
|
-
|
|
11844
|
+
// Map values to options, preserving existing selectedItems for values not yet in options
|
|
11845
|
+
const newSelectedItems = [];
|
|
11846
|
+
const existingItemsMap = new Map(this.selectedItems.map(item => [String(item.id), item]));
|
|
11847
|
+
valueArray.forEach(val => {
|
|
11848
|
+
// First try to find in available options
|
|
11849
|
+
const option = allOptions.find(opt => String(opt.id) === String(val));
|
|
11850
|
+
if (option) {
|
|
11851
|
+
newSelectedItems.push(option);
|
|
11852
|
+
}
|
|
11853
|
+
else if (existingItemsMap.has(String(val))) {
|
|
11854
|
+
// If not in options but exists in current selectedItems, preserve it
|
|
11855
|
+
// This handles the case where async data hasn't loaded yet or newly created items
|
|
11856
|
+
newSelectedItems.push(existingItemsMap.get(String(val)));
|
|
11857
|
+
}
|
|
11858
|
+
// Note: We don't create placeholders for values without matching options.
|
|
11859
|
+
// This ensures selectedItems remains empty until options are actually loaded,
|
|
11860
|
+
// which matches the expected behavior for preselected values.
|
|
11861
|
+
});
|
|
11862
|
+
this.selectedItems = newSelectedItems;
|
|
11847
11863
|
}
|
|
11848
11864
|
ensureValueArray() {
|
|
11849
11865
|
// Handle JSON string values passed via HTML attribute
|
|
@@ -11909,6 +11925,15 @@ class PdsMultiselect {
|
|
|
11909
11925
|
}
|
|
11910
11926
|
}
|
|
11911
11927
|
}
|
|
11928
|
+
getCsrfToken() {
|
|
11929
|
+
// Use provided token if available
|
|
11930
|
+
if (this.csrfToken) {
|
|
11931
|
+
return this.csrfToken;
|
|
11932
|
+
}
|
|
11933
|
+
// Try to read from meta tag
|
|
11934
|
+
const metaTag = document.querySelector('meta[name="csrf-token"]');
|
|
11935
|
+
return (metaTag === null || metaTag === void 0 ? void 0 : metaTag.content) || null;
|
|
11936
|
+
}
|
|
11912
11937
|
async fetchOptions(query, page = 1) {
|
|
11913
11938
|
var _a;
|
|
11914
11939
|
if (!this.asyncUrl)
|
|
@@ -11940,10 +11965,15 @@ class PdsMultiselect {
|
|
|
11940
11965
|
url.searchParams.set('search', query);
|
|
11941
11966
|
url.searchParams.set('page', String(page));
|
|
11942
11967
|
}
|
|
11943
|
-
const
|
|
11944
|
-
|
|
11945
|
-
|
|
11946
|
-
|
|
11968
|
+
const csrfToken = this.getCsrfToken();
|
|
11969
|
+
const headers = {
|
|
11970
|
+
'Content-Type': 'application/json',
|
|
11971
|
+
'Accept': 'application/json',
|
|
11972
|
+
};
|
|
11973
|
+
if (csrfToken) {
|
|
11974
|
+
headers['X-CSRF-Token'] = csrfToken;
|
|
11975
|
+
}
|
|
11976
|
+
const response = await fetch(url.toString(), Object.assign({ method: this.asyncMethod, signal: this.abortController.signal, headers }, (this.asyncMethod === 'POST' && {
|
|
11947
11977
|
body: JSON.stringify({ search: query, page }),
|
|
11948
11978
|
})));
|
|
11949
11979
|
// Clear timeout on successful response
|
|
@@ -12001,30 +12031,35 @@ class PdsMultiselect {
|
|
|
12001
12031
|
this.creating = true;
|
|
12002
12032
|
try {
|
|
12003
12033
|
const url = new URL(this.createUrl, window.location.origin);
|
|
12034
|
+
const csrfToken = this.getCsrfToken();
|
|
12035
|
+
const headers = {
|
|
12036
|
+
'Content-Type': 'application/json',
|
|
12037
|
+
'Accept': 'application/json',
|
|
12038
|
+
};
|
|
12039
|
+
if (csrfToken) {
|
|
12040
|
+
headers['X-CSRF-Token'] = csrfToken;
|
|
12041
|
+
}
|
|
12004
12042
|
const response = await fetch(url.toString(), {
|
|
12005
12043
|
method: 'POST',
|
|
12006
|
-
headers
|
|
12007
|
-
'Content-Type': 'application/json',
|
|
12008
|
-
'Accept': 'application/json',
|
|
12009
|
-
},
|
|
12044
|
+
headers,
|
|
12010
12045
|
body: JSON.stringify({ text: query.trim() }),
|
|
12011
12046
|
});
|
|
12012
12047
|
if (!response.ok)
|
|
12013
12048
|
throw new Error('Failed to create option');
|
|
12014
12049
|
const data = await response.json();
|
|
12015
12050
|
const newOption = Object.assign({ id: data.id, text: data.text }, data);
|
|
12016
|
-
// Add to internal options
|
|
12051
|
+
// Add to internal options first
|
|
12017
12052
|
this.internalOptions = [...this.internalOptions, newOption];
|
|
12018
12053
|
// Select the new option
|
|
12019
12054
|
this.value = [...this.value, String(newOption.id)];
|
|
12020
|
-
// Sync selected items
|
|
12055
|
+
// Sync selected items to update display with new option
|
|
12021
12056
|
this.syncSelectedItems();
|
|
12022
12057
|
// Emit create event
|
|
12023
12058
|
this.pdsMultiselectCreate.emit({
|
|
12024
12059
|
query: query.trim(),
|
|
12025
12060
|
newOption,
|
|
12026
12061
|
});
|
|
12027
|
-
// Emit change event
|
|
12062
|
+
// Emit change event with synced items
|
|
12028
12063
|
this.pdsMultiselectChange.emit({
|
|
12029
12064
|
values: this.value,
|
|
12030
12065
|
items: this.selectedItems,
|
|
@@ -12134,27 +12169,22 @@ class PdsMultiselect {
|
|
|
12134
12169
|
const isSelected = this.value.includes(String(option.id));
|
|
12135
12170
|
if (isSelected) {
|
|
12136
12171
|
// Remove from selection
|
|
12137
|
-
|
|
12138
|
-
this.value = newValue;
|
|
12139
|
-
const newSelectedItems = this.selectedItems.filter(item => String(item.id) !== String(option.id));
|
|
12140
|
-
this.pdsMultiselectChange.emit({
|
|
12141
|
-
values: newValue,
|
|
12142
|
-
items: newSelectedItems,
|
|
12143
|
-
});
|
|
12172
|
+
this.value = this.value.filter(v => v !== String(option.id));
|
|
12144
12173
|
}
|
|
12145
12174
|
else {
|
|
12146
12175
|
// Add to selection
|
|
12147
12176
|
if (this.maxSelections && this.value.length >= this.maxSelections) {
|
|
12148
12177
|
return;
|
|
12149
12178
|
}
|
|
12150
|
-
|
|
12151
|
-
this.value = newValue;
|
|
12152
|
-
const newSelectedItems = [...this.selectedItems, option];
|
|
12153
|
-
this.pdsMultiselectChange.emit({
|
|
12154
|
-
values: newValue,
|
|
12155
|
-
items: newSelectedItems,
|
|
12156
|
-
});
|
|
12179
|
+
this.value = [...this.value, String(option.id)];
|
|
12157
12180
|
}
|
|
12181
|
+
// Sync selected items to ensure no duplicates and accurate state
|
|
12182
|
+
this.syncSelectedItems();
|
|
12183
|
+
// Emit change event with synced items
|
|
12184
|
+
this.pdsMultiselectChange.emit({
|
|
12185
|
+
values: this.value,
|
|
12186
|
+
items: this.selectedItems,
|
|
12187
|
+
});
|
|
12158
12188
|
// Keep focus on search input, don't close dropdown
|
|
12159
12189
|
(_a = this.searchInputEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
12160
12190
|
}
|
|
@@ -12198,19 +12228,19 @@ class PdsMultiselect {
|
|
|
12198
12228
|
}
|
|
12199
12229
|
render() {
|
|
12200
12230
|
const hasSelections = this.selectedItems.length > 0;
|
|
12201
|
-
return (hAsync(Host, { key: '
|
|
12231
|
+
return (hAsync(Host, { key: '5eabf872bf4e4f109106c0dd7f9fc8ea48e8c0c0', "aria-disabled": this.disabled ? 'true' : null }, hAsync("div", { key: '2623280ddbb4e116da4dbf0fe9123b5f06f0da0c', class: "pds-multiselect" }, this.label && (hAsync("label", { key: 'ec644a7af54ca4dcdece849c6df692fae268b445', htmlFor: this.componentId, class: {
|
|
12202
12232
|
'pds-multiselect__label': true,
|
|
12203
12233
|
'visually-hidden': this.hideLabel,
|
|
12204
|
-
} }, this.label)), hAsync("div", { key: '
|
|
12234
|
+
} }, this.label)), hAsync("div", { key: 'ae08d5be617ee801a730fd9289146e82f2df8258', class: "pds-multiselect__wrapper", ref: el => (this.containerEl = el), onFocusout: this.handleContainerFocusOut, style: { width: this.triggerWidth } }, hAsync("button", { key: 'c4639d573de4bb7963f848284057afcf9cc65cb9', ref: el => (this.triggerEl = el), type: "button", class: {
|
|
12205
12235
|
'pds-multiselect__trigger': true,
|
|
12206
12236
|
'pds-multiselect__trigger--open': this.isOpen,
|
|
12207
12237
|
'pds-multiselect__trigger--disabled': this.disabled,
|
|
12208
12238
|
'pds-multiselect__trigger--invalid': this.invalid || !!this.errorMessage,
|
|
12209
12239
|
'pds-multiselect__trigger--has-value': hasSelections,
|
|
12210
|
-
}, id: this.componentId, disabled: this.disabled, "aria-required": this.required ? 'true' : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-describedby": assignDescription(this.componentId, this.invalid || !!this.errorMessage, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid || !!this.errorMessage ? 'true' : undefined, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, hAsync("span", { key: '
|
|
12240
|
+
}, id: this.componentId, disabled: this.disabled, "aria-required": this.required ? 'true' : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-describedby": assignDescription(this.componentId, this.invalid || !!this.errorMessage, this.errorMessage || this.helperMessage), "aria-invalid": this.invalid || !!this.errorMessage ? 'true' : undefined, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, hAsync("span", { key: 'b16da29ea9a98d6672813d9c142ef63135b12dca', class: {
|
|
12211
12241
|
'pds-multiselect__trigger-text': true,
|
|
12212
12242
|
'pds-multiselect__trigger-text--placeholder': !hasSelections,
|
|
12213
|
-
} }, this.getTriggerText()), hAsync("pds-icon", { key: '
|
|
12243
|
+
} }, this.getTriggerText()), hAsync("pds-icon", { key: '4e86739529355331c9fa6b95b63f223d5a315ad5', class: "pds-multiselect__icon", icon: enlarge })), this.renderDropdown()), this.helperMessage && !(this.errorMessage && this.errorMessage.length > 0) && (hAsync("p", { key: '34cd42ddb1725546ce367699ef520e37d24cae25', class: "pds-multiselect__helper", id: messageId(this.componentId, 'helper') }, this.helperMessage)), this.errorMessage && (hAsync("p", { key: '0eada43d1bcb44ea7b95927dd3f799aff6cc6b3a', class: "pds-multiselect__error", id: messageId(this.componentId, 'error') }, hAsync("pds-icon", { key: '546dcc24794d274d73b3de867b79123b6f0069fc', icon: danger, size: "small" }), this.errorMessage)), hAsync("div", { key: '3921e646c9e3638077c016e7cb28a19adaa302f0', style: { display: 'none' } }, hAsync("slot", { key: '3923872eaae0a59da8c4a5b9801abf41ae9a3c3d' })))));
|
|
12214
12244
|
}
|
|
12215
12245
|
static get formAssociated() { return true; }
|
|
12216
12246
|
get el() { return getElement(this); }
|
|
@@ -12249,6 +12279,7 @@ class PdsMultiselect {
|
|
|
12249
12279
|
"options": [16],
|
|
12250
12280
|
"formatResult": [16],
|
|
12251
12281
|
"createUrl": [1, "create-url"],
|
|
12282
|
+
"csrfToken": [1, "csrf-token"],
|
|
12252
12283
|
"isOpen": [32],
|
|
12253
12284
|
"searchQuery": [32],
|
|
12254
12285
|
"highlightedIndex": [32],
|
|
@@ -17225,7 +17256,7 @@ class PdsTableHeadCell {
|
|
|
17225
17256
|
}; }
|
|
17226
17257
|
}
|
|
17227
17258
|
|
|
17228
|
-
const pdsTableRowCss = ":host{--color-background-interactive:var(--pine-color-
|
|
17259
|
+
const pdsTableRowCss = ":host{--color-background-interactive:var(--pine-color-background-subtle);border-color:inherit;display:table-row;vertical-align:inherit}:host::part(checkbox-cell){background-color:var(--pine-color-background-container);inset-inline-start:var(--pine-dimension-none);position:-webkit-sticky;position:sticky;z-index:var(--pine-z-index-raised)}:host(:hover),:host(:hover)::part(checkbox-cell),:host(:hover) ::slotted(pds-table-cell),:host(.is-selected),:host(.is-selected)::part(checkbox-cell),:host(.is-selected) ::slotted(pds-table-cell){background:var(--color-background-interactive)}:host(.has-divider) ::slotted(pds-table-cell),:host(.has-divider) pds-table-cell{-webkit-border-after:var(--pine-border-width-thin) solid var(--pine-color-border-subtle);border-block-end:var(--pine-border-width-thin) solid var(--pine-color-border-subtle)}:host(.has-divider.is-last-row) ::slotted(pds-table-cell),:host(.has-divider.is-last-row) pds-table-cell{-webkit-border-after:0;border-block-end:0}";
|
|
17229
17260
|
|
|
17230
17261
|
class PdsTableRow {
|
|
17231
17262
|
constructor(hostRef) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pine-ds/core",
|
|
3
|
-
"version": "3.15.0",
|
|
3
|
+
"version": "3.15.2-dev.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.15.0",
|
|
88
|
+
"@pine-ds/doc-components": "^3.15.2-dev.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 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["registerInstance","createEvent","h","Host","getElement","autoUpdate","computePosition","offset","flip","shift","size","debounceEvent","assignDescription","messageId","enlarge","danger","pdsMultiselectCss","PdsMultiselect","constructor","hostRef","this","pdsMultiselectChange","pdsMultiselectSearch","pdsMultiselectLoadOptions","pdsMultiselectCreate","placeholder","value","disabled","asyncMethod","debounce","fetchTimeout","maxHeight","triggerWidth","minWidth","hideLabel","required","loading","isOpen","searchQuery","highlightedIndex","internalOptions","selectedItems","currentPage","hasMore","creating","isOpening","handleTriggerClick","closeDropdown","openDropdown","handleTriggerKeyDown","e","key","preventDefault","handleSearchInputChange","target","emit","query","asyncUrl","debouncedFetchAsyncOptions","handleSearchInputKeyDown","filteredOptions","getFilteredOptions","Math","min","length","scrollOptionIntoView","max","option","selectOption","handleContainerFocusOut","setTimeout","_a","activeElement","document","isInShadowRoot","el","shadowRoot","contains","isOnHost","handleOptionMouseDown","toggleOption","handleOptionMouseEnter","index","handleScroll","scrollBottom","scrollHeight","scrollTop","clientHeight","page","connectedCallback","attachInternals","internals","componentWillLoad","originalSearchEmitter","syncSelectedItems","componentDidLoad","setupDebounce","setupMutationObserver","setupSlotChangeListener","updateFormValue","requestAnimationFrame","updateOptionsFromSlot","slot","querySelector","addEventListener","disconnectedCallback","_b","observer","disconnect","cleanupAutoUpdate","call","clearAsyncFetchState","undefined","valueChanged","newValue","parsed","JSON","parse","Array","isArray","optionsChanged","options","internalOptionsChanged","setFocus","triggerEl","focus","handleWindowKeyDown","event","MutationObserver","observe","childList","subtree","assignedElements","flatten","filter","tagName","map","opt","id","text","textContent","fetchDebounceTimer","window","clearTimeout","fetchTimeoutTimer","abortController","abort","delay","fetchOptions","valueArray","ensureValueArray","allOptions","getAllOptions","val","find","String","singleValue","toLowerCase","filtered","includes","createUrl","trim","isCreateOption","setFormValue","formData","FormData","forEach","name","append","setValidity","valueMissing","AbortController","url","URL","location","origin","urlError","TypeError","searchParams","set","response","fetch","toString","Object","assign","method","signal","headers","Accept","body","stringify","search","ok","Error","data","json","formattedResults","results","item","formatResult","totalCount","error","console","createOption","newOption","values","items","searchInputEl","positionDropdown","containerEl","panelEl","referenceEl","panelWidth","updatePosition","placement","strategy","middleware","padding","apply","rects","elements","floating","style","width","reference","then","x","y","left","top","highlighted","listboxEl","scrollIntoView","block","behavior","isSelected","v","newSelectedItems","maxSelections","renderSelectedItemsList","class","role","renderDropdown","hasSlottedEmpty","hasSlottedLoading","ref","type","componentId","autocomplete","onInput","onKeyDown","label","onScroll","isHighlighted","optionId","isCreateDisabled","onMouseDown","onMouseEnter","gap","checked","pointerEvents","getTriggerText","count","render","hasSelections","htmlFor","onFocusout","invalid","errorMessage","helperMessage","onClick","icon","display","formAssociated","watchers"],"sources":["0"],"mappings":"YAAcA,OAAuBC,OAAaC,OAAQC,OAAWC,MAAkB,8BACzEC,OAAiBC,OAAsBC,OAAaC,OAAWC,OAAYC,MAAY,8BACvFC,MAAqB,8BACrBC,OAAwBC,MAAiB,8BACzCC,EAAcC,MAAc,kBAE1C,MAAMC,EAAoB,u/OAE1B,MAAMC,EAAiB,MACnB,WAAAC,CAAYC,GACRnB,EAAiBoB,KAAMD,GACvBC,KAAKC,qBAAuBpB,EAAYmB,KAAM,wBAC9CA,KAAKE,qBAAuBrB,EAAYmB,KAAM,wBAC9CA,KAAKG,0BAA4BtB,EAAYmB,KAAM,6BACnDA,KAAKI,qBAAuBvB,EAAYmB,KAAM,wBAI9CA,KAAKK,YAAc,YAInBL,KAAKM,MAAQ,GAIbN,KAAKO,SAAW,MAIhBP,KAAKQ,YAAc,MAInBR,KAAKS,SAAW,IAIhBT,KAAKU,aAAe,IAIpBV,KAAKW,UAAY,QAIjBX,KAAKY,aAAe,OAIpBZ,KAAKa,SAAW,QAIhBb,KAAKc,UAAY,MAIjBd,KAAKe,SAAW,MAIhBf,KAAKgB,QAAU,MAEfhB,KAAKiB,OAAS,MACdjB,KAAKkB,YAAc,GACnBlB,KAAKmB,kBAAoB,EACzBnB,KAAKoB,gBAAkB,GACvBpB,KAAKqB,cAAgB,GACrBrB,KAAKsB,YAAc,EACnBtB,KAAKuB,QAAU,MACfvB,KAAKwB,SAAW,MAEhBxB,KAAKyB,UAAY,MACjBzB,KAAK0B,mBAAqB,KACtB,GAAI1B,KAAKO,SACL,OACJ,GAAIP,KAAKiB,OAAQ,CACbjB,KAAK2B,eACT,KACK,CACD3B,KAAK4B,cACT,GAEJ5B,KAAK6B,qBAAwBC,IACzB,OAAQA,EAAEC,KACN,IAAK,YACL,IAAK,UACL,IAAK,QACL,IAAK,IACDD,EAAEE,iBACF,IAAKhC,KAAKiB,OAAQ,CACdjB,KAAK4B,cACT,CACA,MACR,EAEJ5B,KAAKiC,wBAA2BH,IAC5B,MAAMI,EAASJ,EAAEI,OACjBlC,KAAKkB,YAAcgB,EAAO5B,MAC1BN,KAAKmB,kBAAoB,EAEzBnB,KAAKE,qBAAqBiC,KAAK,CAAEC,MAAOpC,KAAKkB,cAE7C,GAAIlB,KAAKqC,SAAU,CACfrC,KAAKsC,2BAA2BtC,KAAKkB,YAAa,EACtD,GAEJlB,KAAKuC,yBAA4BT,IAC7B,MAAMU,EAAkBxC,KAAKyC,qBAC7B,OAAQX,EAAEC,KACN,IAAK,YACDD,EAAEE,iBACFhC,KAAKmB,iBAAmBuB,KAAKC,IAAI3C,KAAKmB,iBAAmB,EAAGqB,EAAgBI,OAAS,GACrF5C,KAAK6C,uBACL,MACJ,IAAK,UACDf,EAAEE,iBACFhC,KAAKmB,iBAAmBuB,KAAKI,IAAI9C,KAAKmB,iBAAmB,EAAG,GAC5DnB,KAAK6C,uBACL,MACJ,IAAK,QACDf,EAAEE,iBACF,GAAIhC,KAAKmB,kBAAoB,EAAG,CAC5B,MAAM4B,EAASP,EAAgBxC,KAAKmB,kBACpC,GAAI4B,EAAQ,CACR/C,KAAKgD,aAAaD,EACtB,CACJ,CACA,MAEJ,IAAK,MACD/C,KAAK2B,gBACL,MACR,EAEJ3B,KAAKiD,wBAA0B,KAG3BC,YAAW,KACP,IAAIC,EAEJ,IAAKnD,KAAKiB,QAAUjB,KAAKyB,UACrB,OACJ,MAAM2B,EAAgBC,SAASD,cAE/B,MAAME,GAAkBH,EAAKnD,KAAKuD,GAAGC,cAAgB,MAAQL,SAAY,OAAS,EAAIA,EAAGM,SAASL,GAElG,MAAMM,EAAWN,IAAkBpD,KAAKuD,GACxC,IAAKD,IAAmBI,EAAU,CAC9B1D,KAAK2B,eACT,IACD,EAAE,EAET3B,KAAK2D,sBAAyBZ,GAAYjB,IACtCA,EAAEE,iBACFhC,KAAK4D,aAAab,EAAO,EAE7B/C,KAAK6D,uBAA0BC,GAAU,KACrC9D,KAAKmB,iBAAmB2C,CAAK,EAEjC9D,KAAK+D,aAAgBjC,IACjB,IAAK9B,KAAKqC,WAAarC,KAAKuB,SAAWvB,KAAKgB,QACxC,OACJ,MAAMkB,EAASJ,EAAEI,OACjB,MAAM8B,EAAe9B,EAAO+B,aAAe/B,EAAOgC,UAAYhC,EAAOiC,aAErE,GAAIH,EAAe,GAAI,CACnBhE,KAAKG,0BAA0BgC,KAAK,CAChCC,MAAOpC,KAAKkB,YACZkD,KAAMpE,KAAKsB,YAAc,IAE7BtB,KAAKsC,2BAA2BtC,KAAKkB,YAAalB,KAAKsB,YAAc,EACzE,EAER,CACA,iBAAA+C,GAEI,GAAIrE,KAAKuD,GAAGe,kBAAoBtE,KAAKuE,UAAW,CAC5CvE,KAAKuE,UAAYvE,KAAKuD,GAAGe,iBAC7B,CACJ,CACA,iBAAAE,GACIxE,KAAKyE,sBAAwBzE,KAAKE,qBAClCF,KAAK0E,mBACT,CACA,gBAAAC,GACI3E,KAAK4E,gBACL5E,KAAK6E,wBACL7E,KAAK8E,0BACL9E,KAAK+E,kBAGLC,uBAAsB,KAClBhF,KAAKiF,wBACLjF,KAAK0E,mBAAmB,GAEhC,CACA,uBAAAI,GACI,IAAI3B,EACJ,MAAM+B,GAAQ/B,EAAKnD,KAAKuD,GAAGC,cAAgB,MAAQL,SAAY,OAAS,EAAIA,EAAGgC,cAAc,oBAC7F,GAAID,EAAM,CACNA,EAAKE,iBAAiB,cAAc,KAChCpF,KAAKiF,wBACLjF,KAAK0E,mBAAmB,IAG5B1E,KAAKiF,uBACT,CACJ,CACA,oBAAAI,GACI,IAAIlC,EAAImC,GACPnC,EAAKnD,KAAKuF,YAAc,MAAQpC,SAAY,OAAS,EAAIA,EAAGqC,cAC5DF,EAAKtF,KAAKyF,qBAAuB,MAAQH,SAAY,OAAS,EAAIA,EAAGI,KAAK1F,MAC3EA,KAAK2F,sBACT,CACA,aAAAf,GACI,MAAM1E,qBAAEA,EAAoBO,SAAEA,EAAQgE,sBAAEA,GAA0BzE,KAClEA,KAAKE,qBAAuBO,IAAamF,UACnCnB,IAA0B,MAAQA,SAA+B,EAAIA,EAAwBvE,EAC7FX,EAAcW,EAAsBO,EAC9C,CACA,YAAAoF,CAAaC,GAET,UAAWA,IAAa,SAAU,CAC9B,IACI,MAAMC,EAASC,KAAKC,MAAMH,GAC1B,GAAII,MAAMC,QAAQJ,GAAS,CACvB/F,KAAKM,MAAQyF,EACb,MACJ,CACJ,CACA,MAAO5C,GAEHnD,KAAKM,MAAQwF,EAAW,CAACA,GAAY,GACrC,MACJ,CACJ,CACA9F,KAAK0E,oBACL1E,KAAK+E,iBACT,CACA,cAAAqB,GACI,GAAIpG,KAAKqG,QAAS,CACdrG,KAAKoB,gBAAkB,IAAIpB,KAAKqG,QACpC,CACJ,CACA,sBAAAC,GAGItG,KAAK0E,mBACT,CAIA,cAAM6B,GACF,IAAIpD,GACHA,EAAKnD,KAAKwG,aAAe,MAAQrD,SAAY,OAAS,EAAIA,EAAGsD,OAClE,CAKA,mBAAAC,CAAoBC,GAChB,IAAIxD,EACJ,IAAKnD,KAAKiB,OACN,OACJ,GAAI0F,EAAM5E,MAAQ,SAAU,CACxB4E,EAAM3E,iBACNhC,KAAK2B,iBACJwB,EAAKnD,KAAKwG,aAAe,MAAQrD,SAAY,OAAS,EAAIA,EAAGsD,OAClE,CACJ,CACA,qBAAA5B,GACI7E,KAAKuF,SAAW,IAAIqB,kBAAiB,KACjC5G,KAAKiF,uBAAuB,IAEhCjF,KAAKuF,SAASsB,QAAQ7G,KAAKuD,GAAI,CAC3BuD,UAAW,KACXC,QAAS,MAEjB,CACA,qBAAA9B,GACI,IAAI9B,EACJ,MAAM+B,GAAQ/B,EAAKnD,KAAKuD,GAAGC,cAAgB,MAAQL,SAAY,OAAS,EAAIA,EAAGgC,cAAc,oBAC7F,IAAKD,EACD,OACJ,MAAMmB,EAAUnB,EAAK8B,iBAAiB,CAAEC,QAAS,OAC5CC,QAAQ3D,GAAOA,EAAG4D,UAAY,WAC9BC,KAAIC,IAAO,CACZC,GAAID,EAAI/G,MACRiH,KAAMF,EAAIG,aAAeH,EAAI/G,UAIjC,GAAI+F,EAAQzD,OAAS,IAAM5C,KAAKqC,WAAarC,KAAKqG,QAAS,CACvDrG,KAAKoB,gBAAkBiF,CAC3B,CACJ,CACA,oBAAAV,GACI,IAAIxC,EACJ,GAAInD,KAAKyH,qBAAuB7B,UAAW,CACvC8B,OAAOC,aAAa3H,KAAKyH,oBACzBzH,KAAKyH,mBAAqB7B,SAC9B,CACA,GAAI5F,KAAK4H,oBAAsBhC,UAAW,CACtC8B,OAAOC,aAAa3H,KAAK4H,mBACzB5H,KAAK4H,kBAAoBhC,SAC7B,EACCzC,EAAKnD,KAAK6H,mBAAqB,MAAQ1E,SAAY,OAAS,EAAIA,EAAG2E,QACpE9H,KAAK6H,gBAAkBjC,SAC3B,CACA,0BAAAtD,CAA2BF,EAAOgC,EAAO,GACrC,IAAIjB,EACJ,IAAKnD,KAAKqC,SACN,OACJ,GAAIrC,KAAKyH,qBAAuB7B,UAAW,CACvC8B,OAAOC,aAAa3H,KAAKyH,mBAC7B,CACA,MAAMM,EAAQrF,KAAKI,IAAI,GAAIK,EAAKnD,KAAKS,YAAc,MAAQ0C,SAAY,EAAIA,EAAK,GAChFnD,KAAKyH,mBAAqBC,OAAOxE,YAAW,KACxClD,KAAKyH,mBAAqB7B,UAC1B5F,KAAKgI,aAAa5F,EAAOgC,EAAK,GAC/B2D,EACP,CACA,iBAAArD,GAEI,MAAMuD,EAAajI,KAAKkI,mBACxB,MAAMC,EAAanI,KAAKoI,gBACxBpI,KAAKqB,cAAgB4G,EAChBb,KAAIiB,GAAOF,EAAWG,MAAKjB,GAAOkB,OAAOlB,EAAIC,MAAQiB,OAAOF,OAC5DnB,QAAQG,GAAQA,IAAQzB,WACjC,CACA,gBAAAsC,GAEI,UAAWlI,KAAKM,QAAU,SAAU,CAChC,IACI,MAAMyF,EAASC,KAAKC,MAAMjG,KAAKM,OAC/B,GAAI4F,MAAMC,QAAQJ,GAAS,CACvB/F,KAAKM,MAAQyF,EACb,OAAOA,CACX,CACJ,CACA,MAAO5C,GAEH,MAAMqF,EAAcxI,KAAKM,MACzBN,KAAKM,MAAQkI,EAAc,CAACA,GAAe,GAC3C,OAAOxI,KAAKM,KAChB,CACJ,CACA,OAAO4F,MAAMC,QAAQnG,KAAKM,OAASN,KAAKM,MAAQ,EACpD,CACA,aAAA8H,GACI,OAAOpI,KAAKqG,SAAWrG,KAAKoB,eAChC,CACA,kBAAAqB,GACI,MAAM0F,EAAanI,KAAKoI,gBACxB,MAAMhG,EAAQpC,KAAKkB,YAAYuH,cAC/B,MAAMC,EAAWP,EAAWjB,QAAOG,IAE/B,GAAIjF,EAAO,CACP,OAAOiF,EAAIE,KAAKkB,cAAcE,SAASvG,EAC3C,CACA,OAAO,IAAI,IAGf,GAAIpC,KAAK4I,WAAa5I,KAAKkB,YAAY2H,QAAUH,EAAS9F,SAAW,EAAG,CACpE,MAAO,CAAC,CACA0E,GAAI,aACJC,KAAMvH,KAAKkB,YAAY2H,OACvBC,eAAgB,MAE5B,CACA,OAAOJ,CACX,CACA,eAAA3D,GACI,IAAI5B,EACJ,IAAKA,EAAKnD,KAAKuE,aAAe,MAAQpB,SAAY,OAAS,EAAIA,EAAG4F,aAAc,CAE5E,MAAMd,EAAajI,KAAKkI,mBAExB,MAAMc,EAAW,IAAIC,SACrBhB,EAAWiB,SAAQb,IACf,GAAIrI,KAAKmJ,KAAM,CACXH,EAASI,OAAOpJ,KAAKmJ,KAAMd,EAC/B,KAEJrI,KAAKuE,UAAUwE,aAAaC,GAE5B,GAAIhJ,KAAKe,UAAYkH,EAAWrF,SAAW,EAAG,CAC1C5C,KAAKuE,UAAU8E,YAAY,CAAEC,aAAc,MAAQ,qCAAsCtJ,KAAKwG,UAClG,KACK,CACDxG,KAAKuE,UAAU8E,YAAY,CAAC,EAChC,CACJ,CACJ,CACA,kBAAMrB,CAAa5F,EAAOgC,EAAO,GAC7B,IAAIjB,EACJ,IAAKnD,KAAKqC,SACN,QAEHc,EAAKnD,KAAK6H,mBAAqB,MAAQ1E,SAAY,OAAS,EAAIA,EAAG2E,QACpE,GAAI9H,KAAK4H,oBAAsBhC,UAAW,CACtC8B,OAAOC,aAAa3H,KAAK4H,mBACzB5H,KAAK4H,kBAAoBhC,SAC7B,CACA5F,KAAK6H,gBAAkB,IAAI0B,gBAC3BvJ,KAAKgB,QAAU,KAEfhB,KAAK4H,kBAAoBF,OAAOxE,YAAW,KACvC,IAAIC,GACHA,EAAKnD,KAAK6H,mBAAqB,MAAQ1E,SAAY,OAAS,EAAIA,EAAG2E,QACpE9H,KAAK4H,kBAAoBhC,SAAS,GACnC5F,KAAKU,cACR,IAEI,IAAI8I,EACJ,IACIA,EAAM,IAAIC,IAAIzJ,KAAKqC,SAAUqF,OAAOgC,SAASC,OACjD,CACA,MAAOC,GACH,MAAM,IAAIC,UAAU,qBAAqB7J,KAAKqC,WAClD,CACA,GAAIrC,KAAKQ,cAAgB,MAAO,CAC5BgJ,EAAIM,aAAaC,IAAI,SAAU3H,GAC/BoH,EAAIM,aAAaC,IAAI,OAAQxB,OAAOnE,GACxC,CACA,MAAM4F,QAAiBC,MAAMT,EAAIU,WAAYC,OAAOC,OAAO,CAAEC,OAAQrK,KAAKQ,YAAa8J,OAAQtK,KAAK6H,gBAAgByC,OAAQC,QAAS,CAC7H,eAAgB,mBAChBC,OAAU,qBACRxK,KAAKQ,cAAgB,QAAU,CACrCiK,KAAMzE,KAAK0E,UAAU,CAAEC,OAAQvI,EAAOgC,YAG1C,GAAIpE,KAAK4H,oBAAsBhC,UAAW,CACtC8B,OAAOC,aAAa3H,KAAK4H,mBACzB5H,KAAK4H,kBAAoBhC,SAC7B,CACA,IAAKoE,EAASY,GACV,MAAM,IAAIC,MAAM,2BACpB,MAAMC,QAAad,EAASe,OAC5B,MAAMC,EAAmBF,EAAKG,QAAQ7D,KAAI8D,IAEtC,GAAIlL,KAAKmL,aAAc,CACnB,OAAOnL,KAAKmL,aAAaD,EAC7B,CAEA,UAAWA,IAAS,UAAYA,IAAS,KAAM,CAC3C,OAAOf,OAAOC,OAAO,CAAE9C,GAAI4D,EAAK5D,GAAIC,KAAM2D,EAAK3D,MAAQ2D,EAC3D,CAEA,MAAO,CACH5D,GAAIiB,OAAO2C,GACX3D,KAAMgB,OAAO2C,GAChB,IAEL,GAAI9G,IAAS,EAAG,CACZpE,KAAKoB,gBAAkB4J,CAC3B,KACK,CACDhL,KAAKoB,gBAAkB,IAAIpB,KAAKoB,mBAAoB4J,EACxD,CACAhL,KAAKuB,QAAUuJ,EAAKM,WAAapL,KAAKoB,gBAAgBwB,OAASkI,EAAKM,WAAa,MACjFpL,KAAKsB,YAAc8C,CACvB,CACA,MAAOiH,GAEH,GAAIrL,KAAK4H,oBAAsBhC,UAAW,CACtC8B,OAAOC,aAAa3H,KAAK4H,mBACzB5H,KAAK4H,kBAAoBhC,SAC7B,CACA,GAAIyF,EAAMlC,OAAS,aAAc,CAC7BmC,QAAQD,MAAM,0CAA2CA,EAC7D,CACJ,CACA,QACIrL,KAAKgB,QAAU,KACnB,CACJ,CACA,kBAAMuK,CAAanJ,GACf,IAAKpC,KAAK4I,YAAcxG,EAAMyG,OAC1B,OAEJ,GAAI7I,KAAKwB,SACL,OACJxB,KAAKwB,SAAW,KAChB,IACI,MAAMgI,EAAM,IAAIC,IAAIzJ,KAAK4I,UAAWlB,OAAOgC,SAASC,QACpD,MAAMK,QAAiBC,MAAMT,EAAIU,WAAY,CACzCG,OAAQ,OACRE,QAAS,CACL,eAAgB,mBAChBC,OAAU,oBAEdC,KAAMzE,KAAK0E,UAAU,CAAEnD,KAAMnF,EAAMyG,WAEvC,IAAKmB,EAASY,GACV,MAAM,IAAIC,MAAM,2BACpB,MAAMC,QAAad,EAASe,OAC5B,MAAMS,EAAYrB,OAAOC,OAAO,CAAE9C,GAAIwD,EAAKxD,GAAIC,KAAMuD,EAAKvD,MAAQuD,GAElE9K,KAAKoB,gBAAkB,IAAIpB,KAAKoB,gBAAiBoK,GAEjDxL,KAAKM,MAAQ,IAAIN,KAAKM,MAAOiI,OAAOiD,EAAUlE,KAE9CtH,KAAK0E,oBAEL1E,KAAKI,qBAAqB+B,KAAK,CAC3BC,MAAOA,EAAMyG,OACb2C,cAGJxL,KAAKC,qBAAqBkC,KAAK,CAC3BsJ,OAAQzL,KAAKM,MACboL,MAAO1L,KAAKqB,gBAGhBrB,KAAKkB,YAAc,GACnBlB,KAAKmB,kBAAoB,EAEzB6D,uBAAsB,KAClB,IAAI7B,GACHA,EAAKnD,KAAK2L,iBAAmB,MAAQxI,SAAY,OAAS,EAAIA,EAAGsD,OAAO,GAEjF,CACA,MAAO4E,GACHC,QAAQD,MAAM,0CAA2CA,EAC7D,CACA,QACIrL,KAAKwB,SAAW,KACpB,CACJ,CACA,YAAAI,GACI,GAAI5B,KAAKO,SACL,OACJP,KAAKyB,UAAY,KACjBzB,KAAKiB,OAAS,KACdjB,KAAKmB,kBAAoB,EAEzB,GAAInB,KAAKqC,UAAYrC,KAAKoB,gBAAgBwB,SAAW,EAAG,CACpD5C,KAAKsC,2BAA2BtC,KAAKkB,YAAa,EACtD,CACA8D,uBAAsB,KAClB,IAAI7B,EACJnD,KAAK4L,oBAEJzI,EAAKnD,KAAK2L,iBAAmB,MAAQxI,SAAY,OAAS,EAAIA,EAAGsD,QAElEvD,YAAW,KACPlD,KAAKyB,UAAY,KAAK,GACvB,GAAG,GAEd,CACA,aAAAE,GACI3B,KAAKiB,OAAS,MACdjB,KAAKmB,kBAAoB,EACzBnB,KAAKkB,YAAc,GAEnB,GAAIlB,KAAKyF,kBAAmB,CACxBzF,KAAKyF,oBACLzF,KAAKyF,kBAAoBG,SAC7B,CACJ,CACA,gBAAAgG,GACI,IAAK5L,KAAK6L,cAAgB7L,KAAK8L,QAC3B,OACJ,MAAMC,EAAc/L,KAAKwG,WAAaxG,KAAK6L,YAC3C,MAAMhL,SAAEA,EAAQmL,WAAEA,GAAehM,KACjC,MAAMiM,EAAiB,KACnB/M,EAAgB6M,EAAa/L,KAAK8L,QAAS,CACvCI,UAAW,eACXC,SAAU,WACVC,WAAY,CACRjN,EAAO,IACPC,IACAC,EAAM,CAAEgN,QAAS,IACjB/M,EAAK,CACDgN,MAAO,EAAGC,QAAOC,eACbrC,OAAOC,OAAOoC,EAASC,SAASC,MAAO,CACnCC,MAAOX,IAAe,MAAQA,SAAoB,EAAIA,EAAa,GAAGO,EAAMK,UAAUD,UACtF9L,YACF,OAIfgM,MAAK,EAAGC,IAAGC,QACV,GAAI/M,KAAK8L,QAAS,CACd9L,KAAK8L,QAAQY,MAAMM,KAAO,GAAGF,MAC7B9M,KAAK8L,QAAQY,MAAMO,IAAM,GAAGF,KAChC,IACF,EAGNd,IAEA,MAAMxG,EAAoBxG,EAAW8M,EAAa/L,KAAK8L,QAASG,GAChEjM,KAAKyF,kBAAoB,KACrBA,IACAzF,KAAK2F,sBAAsB,CAEnC,CACA,oBAAA9C,GACImC,uBAAsB,KAClB,IAAI7B,EACJ,MAAM+J,GAAe/J,EAAKnD,KAAKmN,aAAe,MAAQhK,SAAY,OAAS,EAAIA,EAAGgC,cAAc,gBAAgBnF,KAAKmB,sBACrH+L,IAAgB,MAAQA,SAAqB,OAAS,EAAIA,EAAYE,eAAe,CAAEC,MAAO,UAAWC,SAAU,UAAW,GAEtI,CACA,YAAA1J,CAAab,GACT,IAAII,EAEJ,GAAIJ,EAAO+F,eAAgB,CAEvB,IAAK9I,KAAKwB,SAAU,CAChBxB,KAAKuL,aAAavL,KAAKkB,YAC3B,CACA,MACJ,CACA,MAAMqM,EAAavN,KAAKM,MAAMqI,SAASJ,OAAOxF,EAAOuE,KACrD,GAAIiG,EAAY,CAEZ,MAAMzH,EAAW9F,KAAKM,MAAM4G,QAAOsG,GAAKA,IAAMjF,OAAOxF,EAAOuE,MAC5DtH,KAAKM,MAAQwF,EACb,MAAM2H,EAAmBzN,KAAKqB,cAAc6F,QAAOgE,GAAQ3C,OAAO2C,EAAK5D,MAAQiB,OAAOxF,EAAOuE,MAC7FtH,KAAKC,qBAAqBkC,KAAK,CAC3BsJ,OAAQ3F,EACR4F,MAAO+B,GAEf,KACK,CAED,GAAIzN,KAAK0N,eAAiB1N,KAAKM,MAAMsC,QAAU5C,KAAK0N,cAAe,CAC/D,MACJ,CACA,MAAM5H,EAAW,IAAI9F,KAAKM,MAAOiI,OAAOxF,EAAOuE,KAC/CtH,KAAKM,MAAQwF,EACb,MAAM2H,EAAmB,IAAIzN,KAAKqB,cAAe0B,GACjD/C,KAAKC,qBAAqBkC,KAAK,CAC3BsJ,OAAQ3F,EACR4F,MAAO+B,GAEf,EAECtK,EAAKnD,KAAK2L,iBAAmB,MAAQxI,SAAY,OAAS,EAAIA,EAAGsD,OACtE,CACA,YAAAzD,CAAaD,GAET/C,KAAK4D,aAAab,EACtB,CACA,uBAAA4K,GACI,GAAI3N,KAAKqB,cAAcuB,SAAW,EAC9B,OAAO,KACX,OAAQ9D,EAAE,MAAO,CAAE8O,MAAO,qCAAuC9O,EAAE,KAAM,CAAE8O,MAAO,iCAAkCC,KAAM,QAAU7N,KAAKqB,cAAc+F,KAAI8D,GAASpM,EAAE,KAAM,CAAEiD,IAAKwG,OAAO2C,EAAK5D,IAAKsG,MAAO,kCAAoC1C,EAAK3D,SACxP,CACA,cAAAuG,GACI,IAAK9N,KAAKiB,OACN,OAAO,KACX,MAAMuB,EAAkBxC,KAAKyC,qBAC7B,MAAMwF,EAAajI,KAAKkI,mBACxB,MAAM6F,IAAoB/N,KAAKuD,GAAG4B,cAAc,kBAChD,MAAM6I,IAAsBhO,KAAKuD,GAAG4B,cAAc,oBAClD,OAAQrG,EAAE,MAAO,CAAE8O,MAAO,yBAA0BK,IAAK1K,GAAOvD,KAAK8L,QAAUvI,EAAKmJ,MAAO,CAAE7L,SAAUb,KAAKa,WAAc/B,EAAE,MAAO,CAAE8O,MAAO,2BAA6B9O,EAAE,WAAY,CAAEqK,KAAM,SAAU7J,KAAM,UAAYR,EAAE,QAAS,CAAEmP,IAAK1K,GAAOvD,KAAK2L,cAAgBpI,EAAK2K,KAAM,OAAQN,MAAO,gCAAiCvN,YAAa,UAAWC,MAAON,KAAKkB,YAAa,aAAc,iBAAkB,gBAAiB,GAAGlB,KAAKmO,sBAAuB,wBAAyBnO,KAAKmB,kBAAoB,EAAI,GAAGnB,KAAKmO,sBAAsBnO,KAAKmB,mBAAqByE,UAAWiI,KAAM,WAAY,gBAAiB,UAAW,gBAAiB,OAAQ,oBAAqB,OAAQO,aAAc,MAAOC,QAASrO,KAAKiC,wBAAyBqM,UAAWtO,KAAKuC,4BAA8BvC,KAAK2N,0BAA2B7O,EAAE,KAAM,CAAE8O,MAAO,2BAA4BC,KAAM,UAAW,uBAAwB,OAAQ,aAAc7N,KAAKuO,OAAS,UAAWjH,GAAI,GAAGtH,KAAKmO,sBAAuBF,IAAK1K,GAAOvD,KAAKmN,UAAY5J,EAAKmJ,MAAO,CAAE/L,UAAWX,KAAKW,WAAa6N,SAAUxO,KAAK+D,cAAgB/D,KAAKgB,SAAYlC,EAAE,KAAM,CAAE8O,MAAO,2BAA4BC,KAAM,gBAAkBG,EAAqBlP,EAAE,OAAQ,CAAEqK,KAAM,YAAiBrK,EAAE,aAAc,CAAEQ,KAAM,YAAgBU,KAAKgB,SAAWwB,EAAgBI,SAAW,GAAM9D,EAAE,KAAM,CAAE8O,MAAO,yBAA0BC,KAAM,gBAAkBE,EAAmBjP,EAAE,OAAQ,CAAEqK,KAAM,UAAerK,EAAE,OAAQ,KAAM,qBAAwB0D,EAAgB4E,KAAI,CAACrE,EAAQe,KAC19C,MAAMyJ,EAAatF,EAAWU,SAASJ,OAAOxF,EAAOuE,KACrD,MAAMwB,EAAiB/F,EAAO+F,eAC9B,MAAM2F,EAAgB3K,IAAU9D,KAAKmB,mBAAqB2H,EAC1D,MAAM4F,EAAW,GAAG1O,KAAKmO,sBAAsBrK,IAC/C,MAAM6K,EAAmB7F,GAAkB9I,KAAKwB,SAChD,OAAQ1C,EAAE,KAAM,CAAEiD,IAAKwG,OAAOxF,EAAOuE,IAAKA,GAAIoH,EAAUd,MAAO,CACvD,0BAA2B,KAC3B,uCAAwCa,EACxC,oCAAqClB,EACrC,kCAAmCzE,EACnC,oCAAqC6F,GACtCd,KAAM,SAAU,gBAAiBN,EAAa,OAAS,QAAS,gBAAiBoB,EAAmB,OAAS/I,UAAW,aAAckD,EAAiB,mBAAmB/F,EAAOwE,OAAS3B,UAAW,aAAc9B,EAAO8K,YAAa5O,KAAK2D,sBAAsBZ,GAAS8L,aAAc7O,KAAK6D,uBAAuBC,IAAUgF,EAAkBhK,EAAE,UAAW,CAAE8O,MAAO,iCAAkC,cAAe,SAAUkB,IAAK,MAAQhQ,EAAE,WAAY,CAAEqK,KAAM,MAAO7J,KAAM,UAAYR,EAAE,WAAY,KAAM,QAAUiE,EAAOwE,KAAM,MAAWzI,EAAE,eAAgB,CAAEqP,YAAa,GAAGnO,KAAKmO,wBAAwBrK,IAASiL,QAASxB,EAAYgB,MAAOxL,EAAOwE,KAAMmF,MAAO,CAAEsC,cAAe,UAAc,IACprBhP,KAAKuB,UAAYvB,KAAKgB,SAAYlC,EAAE,KAAM,CAAE8O,MAAO,6BAA8BC,KAAM,gBAAkB/O,EAAE,aAAc,CAAEQ,KAAM,YACzI,CACA,cAAA2P,GACI,MAAMC,EAAQlP,KAAKqB,cAAcuB,OACjC,GAAIsM,IAAU,EAAG,CACb,OAAOlP,KAAKK,aAAe,WAC/B,CACA,MAAO,GAAG6O,SAAaA,IAAU,EAAI,GAAK,KAC9C,CACA,MAAAC,GACI,MAAMC,EAAgBpP,KAAKqB,cAAcuB,OAAS,EAClD,OAAQ9D,EAAEC,EAAM,CAAEgD,IAAK,2CAA4C,gBAAiB/B,KAAKO,SAAW,OAAS,MAAQzB,EAAE,MAAO,CAAEiD,IAAK,2CAA4C6L,MAAO,mBAAqB5N,KAAKuO,OAAUzP,EAAE,QAAS,CAAEiD,IAAK,2CAA4CsN,QAASrP,KAAKmO,YAAaP,MAAO,CACpT,yBAA0B,KAC1B,kBAAmB5N,KAAKc,YACvBd,KAAKuO,OAASzP,EAAE,MAAO,CAAEiD,IAAK,2CAA4C6L,MAAO,2BAA4BK,IAAK1K,GAAOvD,KAAK6L,YAActI,EAAK+L,WAAYtP,KAAKiD,wBAAyByJ,MAAO,CAAEC,MAAO3M,KAAKY,eAAkB9B,EAAE,SAAU,CAAEiD,IAAK,2CAA4CkM,IAAK1K,GAAOvD,KAAKwG,UAAYjD,EAAK2K,KAAM,SAAUN,MAAO,CAC3V,2BAA4B,KAC5B,iCAAkC5N,KAAKiB,OACvC,qCAAsCjB,KAAKO,SAC3C,oCAAqCP,KAAKuP,WAAavP,KAAKwP,aAC5D,sCAAuCJ,GACxC9H,GAAItH,KAAKmO,YAAa5N,SAAUP,KAAKO,SAAU,gBAAiBP,KAAKe,SAAW,OAAS6E,UAAW,gBAAiB5F,KAAKiB,OAAS,OAAS,QAAS,gBAAiB,UAAW,mBAAoBzB,EAAkBQ,KAAKmO,YAAanO,KAAKuP,WAAavP,KAAKwP,aAAcxP,KAAKwP,cAAgBxP,KAAKyP,eAAgB,eAAgBzP,KAAKuP,WAAavP,KAAKwP,aAAe,OAAS5J,UAAW8J,QAAS1P,KAAK0B,mBAAoB4M,UAAWtO,KAAK6B,sBAAwB/C,EAAE,OAAQ,CAAEiD,IAAK,2CAA4C6L,MAAO,CAC/gB,gCAAiC,KACjC,8CAA+CwB,IAC9CpP,KAAKiP,kBAAmBnQ,EAAE,WAAY,CAAEiD,IAAK,2CAA4C6L,MAAO,wBAAyB+B,KAAMjQ,KAAaM,KAAK8N,kBAAmB9N,KAAKyP,iBAAmBzP,KAAKwP,cAAgBxP,KAAKwP,aAAa5M,OAAS,IAAO9D,EAAE,IAAK,CAAEiD,IAAK,2CAA4C6L,MAAO,0BAA2BtG,GAAI7H,EAAUO,KAAKmO,YAAa,WAAanO,KAAKyP,eAAiBzP,KAAKwP,cAAiB1Q,EAAE,IAAK,CAAEiD,IAAK,2CAA4C6L,MAAO,yBAA0BtG,GAAI7H,EAAUO,KAAKmO,YAAa,UAAYrP,EAAE,WAAY,CAAEiD,IAAK,2CAA4C4N,KAAMhQ,EAAQL,KAAM,UAAYU,KAAKwP,cAAgB1Q,EAAE,MAAO,CAAEiD,IAAK,2CAA4C2K,MAAO,CAAEkD,QAAS,SAAY9Q,EAAE,OAAQ,CAAEiD,IAAK,+CAC7xB,CACA,yBAAW8N,GAAmB,OAAO,IAAM,CAC3C,MAAItM,GAAO,OAAOvE,EAAWgB,KAAO,CACpC,mBAAW8P,GAAa,MAAO,CAC3BrP,SAAY,CAAC,iBACbH,MAAS,CAAC,gBACV+F,QAAW,CAAC,kBACZjF,gBAAmB,CAAC,0BACrB,GAEPvB,EAAe6M,MAAQ9M,SAEdC","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
System.register(["./p-5D9wXQuJ.system.js","./p-kYMYDfJY.system.js"],(function(t){"use strict";var e,i,s,r,o,n;return{setters:[function(t){e=t.r;i=t.c;s=t.h;r=t.H;o=t.a},function(t){n=t.c}],execute:function(){var h=":host{--color-background-interactive:var(--pine-color-border-disabled);border-color:inherit;display:table-row;vertical-align:inherit}:host::part(checkbox-cell){background-color:var(--pine-color-background-container);inset-inline-start:var(--pine-dimension-none);position:-webkit-sticky;position:sticky;z-index:var(--pine-z-index-raised)}:host(:hover),:host(:hover)::part(checkbox-cell),:host(:hover) ::slotted(pds-table-cell),:host(.is-selected),:host(.is-selected)::part(checkbox-cell),:host(.is-selected) ::slotted(pds-table-cell){background:var(--color-background-interactive)}:host(.has-divider) ::slotted(pds-table-cell),:host(.has-divider) pds-table-cell{-webkit-border-after:var(--pine-border-width-thin) solid var(--pine-color-border-subtle);border-block-end:var(--pine-border-width-thin) solid var(--pine-color-border-subtle)}:host(.has-divider.is-last-row) ::slotted(pds-table-cell),:host(.has-divider.is-last-row) pds-table-cell{-webkit-border-after:0;border-block-end:0}";var l=t("pds_table_row",function(){function t(t){var s=this;e(this,t);this.pdsTableRowSelected=i(this,"pdsTableRowSelected");this.observer=null;this.bodyObserver=null;this.hasDivider=false;this.isLastRow=false;this.handleClick=function(){s.isSelected=!s.isSelected;s.handleSelect(s.isSelected)};this.handleSelect=function(t){s.indeterminate=false;if(!n("pds-table-head",s.hostElement)){var e=Array.from(s.hostElement.parentNode.children).indexOf(s.hostElement);s.pdsTableRowSelected.emit({rowIndex:e,isSelected:t})}};this.generateUniqueId=function(){var t=Math.random().toString(36).substring(2,8);var e=(new Date).toISOString().replace(/[:.]/g,"-");var i="".concat(t,"-").concat(e);return i}}t.prototype.classNames=function(){var t=[];if(this.isSelected){t.push("is-selected")}if(this.hasDivider){t.push("has-divider")}if(this.isLastRow){t.push("is-last-row")}return t.join(" ")};t.prototype.componentWillRender=function(){this.tableRef=this.hostElement.closest("pds-table");if(this.tableRef&&this.tableRef.fixedColumn){var t=this.hostElement.querySelector("pds-table-cell");t===null||t===void 0?void 0:t.classList.add("is-fixed")}};t.prototype.componentWillLoad=function(){if(this.isSelected){this.handleSelect(this.isSelected)}};t.prototype.connectedCallback=function(){this.tableRef=this.hostElement.closest("pds-table");this.setupObservers();this.updateDividerState()};t.prototype.disconnectedCallback=function(){this.cleanupObservers()};t.prototype.cleanupObservers=function(){if(this.observer){this.observer.disconnect();this.observer=null}if(this.bodyObserver){this.bodyObserver.disconnect();this.bodyObserver=null}};t.prototype.setupObservers=function(){var t=this;this.cleanupObservers();if(this.tableRef&&typeof MutationObserver!=="undefined"){this.observer=new MutationObserver((function(){t.updateDividerState()}));this.observer.observe(this.tableRef,{attributes:true,attributeFilter:["row-dividers"]})}var e=this.hostElement.closest("pds-table-body");if(e&&typeof MutationObserver!=="undefined"){this.bodyObserver=new MutationObserver((function(){t.updateLastRowState()}));this.bodyObserver.observe(e,{childList:true})}};t.prototype.shouldHaveDivider=function(){if(!this.tableRef){this.tableRef=this.hostElement.closest("pds-table")}return!!(this.tableRef&&this.tableRef.rowDividers)};t.prototype.updateDividerState=function(){this.hasDivider=this.shouldHaveDivider();this.updateLastRowState()};t.prototype.updateLastRowState=function(){if(!this.hasDivider){this.isLastRow=false;return}var t=this.hostElement.closest("pds-table-body");if(t){var e=Array.from(t.querySelectorAll("pds-table-row"));this.isLastRow=e[e.length-1]===this.hostElement}else{this.isLastRow=false}};t.prototype.render=function(){return s(r,{key:"ad282466c93a2f9bc15dd466bdc4c6ac4e408042",class:this.classNames(),role:"row",part:"row"},this.tableRef&&this.tableRef.selectable&&s("pds-table-cell",{key:"19d88e362f07c3ce546356c1abdf7027e6701b3a",part:this.tableRef.fixedColumn?"checkbox-cell":"checkbox-cell",class:this.tableRef.selectable?"has-checkbox":""},s("pds-checkbox",{key:"e65963f7e2e6ac78f911451dd09a3f21e38ead45",componentId:this.generateUniqueId(),onClick:this.handleClick,indeterminate:this.indeterminate,label:"Select Row",hideLabel:true,checked:this.isSelected,part:"row-checkbox"})),s("slot",{key:"c17d0098092adbc45d84b3e497b6023e344eb260"}))};Object.defineProperty(t.prototype,"hostElement",{get:function(){return o(this)},enumerable:false,configurable:true});return t}());l.style=h}}}));
|
|
2
|
-
//# sourceMappingURL=p-63a669c9.system.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as s,H as i,a as r}from"./p-DHPhrb5T.js";import{c as o}from"./p-DnUJodVd.js";const h=":host{--color-background-interactive:var(--pine-color-border-disabled);border-color:inherit;display:table-row;vertical-align:inherit}:host::part(checkbox-cell){background-color:var(--pine-color-background-container);inset-inline-start:var(--pine-dimension-none);position:-webkit-sticky;position:sticky;z-index:var(--pine-z-index-raised)}:host(:hover),:host(:hover)::part(checkbox-cell),:host(:hover) ::slotted(pds-table-cell),:host(.is-selected),:host(.is-selected)::part(checkbox-cell),:host(.is-selected) ::slotted(pds-table-cell){background:var(--color-background-interactive)}:host(.has-divider) ::slotted(pds-table-cell),:host(.has-divider) pds-table-cell{-webkit-border-after:var(--pine-border-width-thin) solid var(--pine-color-border-subtle);border-block-end:var(--pine-border-width-thin) solid var(--pine-color-border-subtle)}:host(.has-divider.is-last-row) ::slotted(pds-table-cell),:host(.has-divider.is-last-row) pds-table-cell{-webkit-border-after:0;border-block-end:0}";const l=class{constructor(s){t(this,s);this.pdsTableRowSelected=e(this,"pdsTableRowSelected");this.observer=null;this.bodyObserver=null;this.hasDivider=false;this.isLastRow=false;this.handleClick=()=>{this.isSelected=!this.isSelected;this.handleSelect(this.isSelected)};this.handleSelect=t=>{this.indeterminate=false;if(!o("pds-table-head",this.hostElement)){const e=Array.from(this.hostElement.parentNode.children).indexOf(this.hostElement);this.pdsTableRowSelected.emit({rowIndex:e,isSelected:t})}};this.generateUniqueId=()=>{const t=Math.random().toString(36).substring(2,8);const e=(new Date).toISOString().replace(/[:.]/g,"-");const s=`${t}-${e}`;return s}}classNames(){const t=[];if(this.isSelected){t.push("is-selected")}if(this.hasDivider){t.push("has-divider")}if(this.isLastRow){t.push("is-last-row")}return t.join(" ")}componentWillRender(){this.tableRef=this.hostElement.closest("pds-table");if(this.tableRef&&this.tableRef.fixedColumn){const t=this.hostElement.querySelector("pds-table-cell");t===null||t===void 0?void 0:t.classList.add("is-fixed")}}componentWillLoad(){if(this.isSelected){this.handleSelect(this.isSelected)}}connectedCallback(){this.tableRef=this.hostElement.closest("pds-table");this.setupObservers();this.updateDividerState()}disconnectedCallback(){this.cleanupObservers()}cleanupObservers(){if(this.observer){this.observer.disconnect();this.observer=null}if(this.bodyObserver){this.bodyObserver.disconnect();this.bodyObserver=null}}setupObservers(){this.cleanupObservers();if(this.tableRef&&typeof MutationObserver!=="undefined"){this.observer=new MutationObserver((()=>{this.updateDividerState()}));this.observer.observe(this.tableRef,{attributes:true,attributeFilter:["row-dividers"]})}const t=this.hostElement.closest("pds-table-body");if(t&&typeof MutationObserver!=="undefined"){this.bodyObserver=new MutationObserver((()=>{this.updateLastRowState()}));this.bodyObserver.observe(t,{childList:true})}}shouldHaveDivider(){if(!this.tableRef){this.tableRef=this.hostElement.closest("pds-table")}return!!(this.tableRef&&this.tableRef.rowDividers)}updateDividerState(){this.hasDivider=this.shouldHaveDivider();this.updateLastRowState()}updateLastRowState(){if(!this.hasDivider){this.isLastRow=false;return}const t=this.hostElement.closest("pds-table-body");if(t){const e=Array.from(t.querySelectorAll("pds-table-row"));this.isLastRow=e[e.length-1]===this.hostElement}else{this.isLastRow=false}}render(){return s(i,{key:"ad282466c93a2f9bc15dd466bdc4c6ac4e408042",class:this.classNames(),role:"row",part:"row"},this.tableRef&&this.tableRef.selectable&&s("pds-table-cell",{key:"19d88e362f07c3ce546356c1abdf7027e6701b3a",part:this.tableRef.fixedColumn?"checkbox-cell":"checkbox-cell",class:this.tableRef.selectable?"has-checkbox":""},s("pds-checkbox",{key:"e65963f7e2e6ac78f911451dd09a3f21e38ead45",componentId:this.generateUniqueId(),onClick:this.handleClick,indeterminate:this.indeterminate,label:"Select Row",hideLabel:true,checked:this.isSelected,part:"row-checkbox"})),s("slot",{key:"c17d0098092adbc45d84b3e497b6023e344eb260"}))}get hostElement(){return r(this)}};l.style=h;export{l as pds_table_row};
|
|
2
|
-
//# sourceMappingURL=p-88dd25dd.entry.js.map
|