@pine-ds/core 3.15.2 → 3.15.3
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-multiselect.js +13 -6
- package/components/pds-multiselect.js.map +1 -1
- package/components/pds-tab.js +1 -1
- package/components/pds-tab.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/pds-multiselect.cjs.entry.js +12 -6
- package/dist/cjs/pds-multiselect.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/pine-core.cjs.js +1 -1
- package/dist/collection/components/pds-multiselect/pds-multiselect.js +32 -6
- package/dist/collection/components/pds-multiselect/pds-multiselect.js.map +1 -1
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +0 -1
- package/dist/docs.json +30 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/pds-multiselect.entry.js +12 -6
- package/dist/esm/pds-multiselect.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/pine-core.js +1 -1
- package/dist/esm-es5/loader.js +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-tab.entry.js +1 -1
- package/dist/esm-es5/pds-tab.entry.js.map +1 -1
- package/dist/esm-es5/pine-core.js +1 -1
- package/dist/pine-core/p-2DR2iuEU.system.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-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-946d7d11.system.entry.js +2 -0
- package/dist/pine-core/p-946d7d11.system.entry.js.map +1 -0
- package/dist/pine-core/p-C7nuqPJm.system.js.map +1 -0
- package/dist/pine-core/p-JAVnELnm.system.js +1 -1
- package/dist/pine-core/p-bf18c945.entry.js +2 -0
- package/dist/pine-core/p-bf18c945.entry.js.map +1 -0
- package/dist/pine-core/pds-multiselect.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-tab.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 +4 -0
- package/dist/types/components.d.ts +10 -0
- package/dist/vscode.html-data.json +7 -0
- package/hydrate/index.js +14 -7
- package/hydrate/index.mjs +14 -7
- package/package.json +2 -2
- package/dist/pine-core/p-4a42e114.system.entry.js +0 -2
- package/dist/pine-core/p-4c2809cb.entry.js +0 -2
- package/dist/pine-core/p-4c2809cb.entry.js.map +0 -1
- package/dist/pine-core/p-5ef5f6b3.entry.js +0 -2
- package/dist/pine-core/p-CE8RZXT8.system.js.map +0 -1
- package/dist/pine-core/p-Dtx30lCy.system.js.map +0 -1
- package/dist/pine-core/p-b98a04cd.system.entry.js +0 -2
- package/dist/pine-core/p-b98a04cd.system.entry.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-Dtx30lCy.system.js","sources":["src/components/pds-multiselect/pds-multiselect.scss?tag=pds-multiselect&encapsulation=shadow","src/components/pds-multiselect/pds-multiselect.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n:host([aria-disabled=\"true\"]) {\n .pds-multiselect__trigger {\n background: var(--pine-color-background-container-disabled);\n border-color: var(--pine-color-border-disabled);\n color: var(--pine-color-text-disabled);\n cursor: not-allowed;\n }\n\n .pds-multiselect__icon {\n color: var(--pine-color-text-disabled);\n }\n}\n\n.pds-multiselect {\n position: relative;\n}\n\n.pds-multiselect__label {\n color: var(--pine-color-text-label);\n display: block;\n font: var(--pine-typography-body-medium);\n letter-spacing: var(--pine-letter-spacing);\n margin-block-end: var(--pine-dimension-2xs);\n}\n\n.pds-multiselect__wrapper {\n position: relative;\n}\n\n.pds-multiselect__trigger {\n align-items: center;\n background: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: var(--pine-dimension-125);\n cursor: pointer;\n display: flex;\n font: var(--pine-typography-body);\n gap: var(--pine-dimension-xs);\n justify-content: space-between;\n letter-spacing: var(--pine-letter-spacing);\n min-height: var(--pine-dimension-550);\n padding: var(--pine-dimension-xs) var(--pine-dimension-sm);\n position: relative;\n text-align: start;\n transition: border-color 0.2s ease, box-shadow 0.2s ease;\n width: 100%;\n\n &:hover:not(.pds-multiselect__trigger--disabled) {\n border-color: var(--pine-color-border-hover);\n }\n\n &:focus:not(.pds-multiselect__trigger--disabled) {\n border-color: var(--pine-color-border-active);\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &.pds-multiselect__trigger--open {\n border-color: var(--pine-color-border-active);\n }\n\n &.pds-multiselect__trigger--invalid {\n background-color: var(--pine-color-red-050);\n border-color: var(--pine-color-border-danger);\n\n &:focus {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n }\n\n &.pds-multiselect__trigger--disabled {\n background: var(--pine-color-background-container-disabled);\n border-color: var(--pine-color-border-disabled);\n color: var(--pine-color-text-disabled);\n cursor: not-allowed;\n }\n}\n\n.pds-multiselect__trigger-text {\n color: var(--pine-color-text-strong);\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &.pds-multiselect__trigger-text--placeholder {\n color: var(--pine-color-text-placeholder);\n }\n\n .pds-multiselect__trigger--disabled & {\n color: var(--pine-color-text-disabled);\n }\n}\n\n.pds-multiselect__icon {\n color: var(--pine-color-icon);\n flex-shrink: var(--pine-dimension-none);\n}\n\n.pds-multiselect__panel {\n background: var(--pine-color-background-container);\n border-radius: var(--pine-dimension-125);\n box-shadow: var(--pine-box-shadow);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n position: absolute;\n z-index: var(--pine-z-index-raised);\n}\n\n.pds-multiselect__search {\n align-items: center;\n border-block-end: var(--pine-border);\n border-block-end-color: var(--pine-color-border-subtle);\n display: flex;\n gap: var(--pine-dimension-xs);\n padding: var(--pine-dimension-xs) var(--pine-dimension-sm);\n\n pds-icon {\n color: var(--pine-color-text-muted);\n flex-shrink: var(--pine-dimension-none);\n }\n}\n\n.pds-multiselect__search-input {\n background: transparent;\n border: var(--pine-dimension-none);\n color: var(--pine-color-text-strong);\n flex: 1;\n font: var(--pine-typography-body);\n letter-spacing: var(--pine-letter-spacing);\n min-width: var(--pine-dimension-none);\n outline: none;\n\n &::placeholder {\n color: var(--pine-color-text-placeholder);\n }\n}\n\n.pds-multiselect__selected-section {\n border-block-end: var(--pine-border);\n border-block-end-color: var(--pine-color-border-subtle);\n padding: var(--pine-dimension-xs);\n}\n\n.pds-multiselect__selected-list {\n list-style: none;\n margin: var(--pine-dimension-none);\n padding: var(--pine-dimension-none);\n}\n\n.pds-multiselect__selected-item {\n color: var(--pine-color-text-strong);\n font: var(--pine-typography-body);\n letter-spacing: var(--pine-letter-spacing);\n overflow: hidden;\n padding: var(--pine-dimension-2xs) var(--pine-dimension-xs);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.pds-multiselect__listbox {\n background: transparent;\n border: var(--pine-dimension-none);\n box-sizing: border-box;\n list-style: none;\n margin: var(--pine-dimension-none);\n overflow-y: auto;\n padding: var(--pine-dimension-xs);\n}\n\n.pds-multiselect__option {\n align-items: center;\n background: transparent;\n border-radius: var(--pine-dimension-xs);\n cursor: pointer;\n display: flex;\n padding: var(--pine-dimension-2xs) var(--pine-dimension-xs);\n transition: background 0.15s;\n\n // Prevent checkbox label from triggering double events\n pds-checkbox {\n pointer-events: none;\n width: 100%;\n }\n\n &:hover,\n &.pds-multiselect__option--highlighted {\n background: var(--pine-color-background-muted);\n }\n\n &:focus-visible {\n outline: var(--pine-dimension-none);\n }\n}\n\n.pds-multiselect__create-option {\n color: var(--pine-color-text-strong);\n width: 100%;\n\n pds-icon {\n color: var(--pine-color-text-muted);\n flex-shrink: var(--pine-dimension-none);\n }\n}\n\n.pds-multiselect__empty,\n.pds-multiselect__loading {\n align-items: center;\n color: var(--pine-color-text-muted);\n display: flex;\n font: var(--pine-typography-body);\n justify-content: center;\n padding: var(--pine-dimension-sm);\n}\n\n.pds-multiselect__load-more {\n align-items: center;\n display: flex;\n justify-content: center;\n padding: var(--pine-dimension-xs);\n}\n\n.pds-multiselect__helper {\n color: var(--pine-color-text-message);\n font: var(--pine-typography-body-sm);\n margin-block-start: var(--pine-dimension-2xs);\n margin-inline-start: var(--pine-dimension-none);\n}\n\n.pds-multiselect__error {\n align-items: flex-start;\n color: var(--pine-color-text-message-danger);\n display: flex;\n font: var(--pine-typography-body-sm);\n gap: var(--pine-dimension-2xs);\n margin-block-start: var(--pine-dimension-2xs);\n margin-inline-start: var(--pine-dimension-none);\n\n pds-icon {\n flex-shrink: var(--pine-dimension-none);\n margin-block-start: var(--pine-dimension-025);\n }\n}\n\n.visually-hidden {\n border: var(--pine-dimension-none);\n clip: rect(0 0 0 0);\n clip-path: polygon(0 0, 0 0, 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: var(--pine-dimension-none);\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport { computePosition, flip, offset, shift, size, autoUpdate } from '@floating-ui/dom';\nimport { debounceEvent } from '@utils/utils';\nimport { messageId, assignDescription } from '../../utils/form';\nimport { danger, enlarge } from '@pine-ds/icons/icons';\nimport type {\n MultiselectOption,\n MultiselectChangeEventDetail,\n MultiselectSearchEventDetail,\n MultiselectLoadOptionsEventDetail,\n MultiselectCreateEventDetail,\n AsyncResponse,\n CreateResponse,\n} from './multiselect-interface';\n\n/**\n * @slot (default) - Static option elements for the multiselect\n * @slot empty - Custom empty state message when no options match\n * @slot loading - Custom loading indicator\n */\n@Component({\n tag: 'pds-multiselect',\n styleUrl: 'pds-multiselect.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class PdsMultiselect {\n private triggerEl?: HTMLButtonElement;\n private searchInputEl?: HTMLInputElement;\n private containerEl?: HTMLElement;\n private listboxEl?: HTMLElement;\n private panelEl?: HTMLElement;\n private internals?: ElementInternals;\n private abortController?: AbortController;\n private fetchDebounceTimer?: number;\n private fetchTimeoutTimer?: number;\n private observer?: MutationObserver;\n private cleanupAutoUpdate?: () => void;\n\n @Element() el!: HTMLPdsMultiselectElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Text to be displayed as the multiselect label.\n */\n @Prop() label?: string;\n\n /**\n * Placeholder text for the input field.\n */\n @Prop() placeholder?: string = 'Select...';\n\n /**\n * Specifies the name. Submitted with the form as part of a name/value pair.\n */\n @Prop() name?: string;\n\n /**\n * Array of selected option values.\n */\n @Prop({ mutable: true }) value: string[] = [];\n\n /**\n * Determines whether or not the multiselect is disabled.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * URL endpoint for async data fetching.\n */\n @Prop() asyncUrl?: string;\n\n /**\n * HTTP method for async requests.\n */\n @Prop() asyncMethod: 'GET' | 'POST' = 'GET';\n\n /**\n * Debounce delay in milliseconds for search/fetch.\n */\n @Prop() debounce: number = 300;\n\n /**\n * Timeout in milliseconds for async fetch requests.\n */\n @Prop() fetchTimeout: number = 30000;\n\n /**\n * Maximum number of selections allowed.\n */\n @Prop() maxSelections?: number;\n\n /**\n * Maximum height of the dropdown before scrolling.\n */\n @Prop() maxHeight: string = '300px';\n\n /**\n * Width of the trigger button (and reference for dropdown positioning).\n */\n @Prop() triggerWidth: string = '100%';\n\n /**\n * Minimum width of the dropdown panel.\n */\n @Prop() minWidth: string = '250px';\n\n /**\n * Width of the dropdown panel. Defaults to the trigger width.\n */\n @Prop() panelWidth?: string;\n\n /**\n * Visually hides the label but keeps it accessible.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * Error message to display.\n */\n @Prop() errorMessage?: string;\n\n /**\n * Helper message to display below the input.\n */\n @Prop() helperMessage?: string;\n\n /**\n * If true, the multiselect is in an invalid state.\n */\n @Prop() invalid?: boolean;\n\n /**\n * If true, the multiselect is required.\n */\n @Prop() required: boolean = false;\n\n /**\n * Whether the component is currently loading async options.\n */\n @Prop({ mutable: true }) loading: boolean = false;\n\n /**\n * Options provided externally (for consumer-managed async).\n */\n @Prop() options?: MultiselectOption[];\n\n /**\n * Function to format async results. Receives raw API response item.\n */\n @Prop() formatResult?: (item: unknown) => MultiselectOption;\n\n /**\n * URL endpoint for creating new options. When set, shows \"Add\" option when no matches found.\n */\n @Prop() createUrl?: string;\n\n /**\n * CSRF token for authenticated requests. If not provided, attempts to read from meta tag.\n */\n @Prop() csrfToken?: string;\n\n // Internal state\n @State() isOpen: boolean = false;\n @State() searchQuery: string = '';\n @State() highlightedIndex: number = -1;\n @State() internalOptions: MultiselectOption[] = [];\n @State() selectedItems: MultiselectOption[] = [];\n @State() currentPage: number = 1;\n @State() hasMore: boolean = false;\n @State() creating: boolean = false;\n\n // Flag to prevent focusout from closing during open transition\n private isOpening: boolean = false;\n\n /**\n * Emitted when selection changes.\n */\n @Event() pdsMultiselectChange!: EventEmitter<MultiselectChangeEventDetail>;\n\n /**\n * Emitted on search input (for consumer-managed async).\n */\n @Event() pdsMultiselectSearch!: EventEmitter<MultiselectSearchEventDetail>;\n\n /**\n * Emitted to request more options (pagination).\n */\n @Event() pdsMultiselectLoadOptions!: EventEmitter<MultiselectLoadOptionsEventDetail>;\n\n /**\n * Emitted when a new option is created.\n */\n @Event() pdsMultiselectCreate!: EventEmitter<MultiselectCreateEventDetail>;\n\n private originalSearchEmitter?: EventEmitter<MultiselectSearchEventDetail>;\n\n connectedCallback() {\n // Initialize ElementInternals for form association (only once per element instance)\n if (this.el.attachInternals && !this.internals) {\n this.internals = this.el.attachInternals();\n }\n }\n\n componentWillLoad() {\n this.originalSearchEmitter = this.pdsMultiselectSearch;\n this.syncSelectedItems();\n }\n\n componentDidLoad() {\n this.setupDebounce();\n this.setupMutationObserver();\n this.setupSlotChangeListener();\n this.updateFormValue();\n\n // Ensure preselected values sync after DOM is fully ready\n // This handles cases where slot content loads after initial render (e.g., in docs/MDX)\n requestAnimationFrame(() => {\n this.updateOptionsFromSlot();\n this.syncSelectedItems();\n });\n }\n\n private setupSlotChangeListener() {\n const slot = this.el.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n if (slot) {\n slot.addEventListener('slotchange', () => {\n this.updateOptionsFromSlot();\n this.syncSelectedItems();\n });\n // Also call it immediately in case content is already slotted\n this.updateOptionsFromSlot();\n }\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n this.cleanupAutoUpdate?.();\n this.clearAsyncFetchState();\n }\n\n @Watch('debounce')\n protected setupDebounce() {\n const { pdsMultiselectSearch, debounce, originalSearchEmitter } = this;\n this.pdsMultiselectSearch = debounce === undefined\n ? originalSearchEmitter ?? pdsMultiselectSearch\n : debounceEvent(pdsMultiselectSearch, debounce);\n }\n\n @Watch('value')\n protected valueChanged(newValue: string[] | string) {\n // Handle JSON string values (from HTML attributes)\n if (typeof newValue === 'string') {\n try {\n const parsed = JSON.parse(newValue);\n if (Array.isArray(parsed)) {\n this.value = parsed;\n return; // The assignment will trigger this watcher again with the array\n }\n } catch {\n // Not valid JSON, treat as single value\n this.value = newValue ? [newValue] : [];\n return;\n }\n }\n this.syncSelectedItems();\n this.updateFormValue();\n }\n\n @Watch('options')\n protected optionsChanged() {\n if (this.options) {\n this.internalOptions = [...this.options];\n }\n }\n\n @Watch('internalOptions')\n protected internalOptionsChanged() {\n // Re-sync selected items when options become available\n // This handles the case where value is set before options are loaded (e.g., from slot)\n this.syncSelectedItems();\n }\n\n /**\n * Sets focus on the trigger button.\n */\n @Method()\n async setFocus() {\n this.triggerEl?.focus();\n }\n\n /**\n * Handle global keyboard events for accessibility.\n * Closes dropdown on Escape key press regardless of focus location.\n */\n @Listen('keydown', { target: 'window' })\n handleWindowKeyDown(event: KeyboardEvent) {\n if (!this.isOpen) return;\n\n if (event.key === 'Escape') {\n event.preventDefault();\n this.closeDropdown();\n this.triggerEl?.focus();\n }\n }\n\n private setupMutationObserver() {\n this.observer = new MutationObserver(() => {\n this.updateOptionsFromSlot();\n });\n\n this.observer.observe(this.el, {\n childList: true,\n subtree: true,\n });\n }\n\n private updateOptionsFromSlot() {\n const slot = this.el.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n if (!slot) return;\n\n const options = slot.assignedElements({ flatten: true })\n .filter((el): el is HTMLOptionElement => el.tagName === 'OPTION')\n .map(opt => ({\n id: opt.value,\n text: opt.textContent || opt.value,\n }));\n\n // Only update if we actually found options AND we're not using async/external options\n // Don't clear internalOptions if slot returns empty (might be mid-DOM-update)\n if (options.length > 0 && !this.asyncUrl && !this.options) {\n this.internalOptions = options;\n }\n }\n\n private clearAsyncFetchState() {\n if (this.fetchDebounceTimer !== undefined) {\n window.clearTimeout(this.fetchDebounceTimer);\n this.fetchDebounceTimer = undefined;\n }\n if (this.fetchTimeoutTimer !== undefined) {\n window.clearTimeout(this.fetchTimeoutTimer);\n this.fetchTimeoutTimer = undefined;\n }\n this.abortController?.abort();\n this.abortController = undefined;\n }\n\n private debouncedFetchAsyncOptions(query: string, page: number = 1) {\n if (!this.asyncUrl) return;\n\n if (this.fetchDebounceTimer !== undefined) {\n window.clearTimeout(this.fetchDebounceTimer);\n }\n\n const delay = Math.max(0, this.debounce ?? 0);\n this.fetchDebounceTimer = window.setTimeout(() => {\n this.fetchDebounceTimer = undefined;\n this.fetchOptions(query, page);\n }, delay);\n }\n\n private syncSelectedItems() {\n // Ensure value is an array (may be string from HTML attribute)\n const valueArray = this.ensureValueArray();\n const allOptions = this.getAllOptions();\n\n // Map values to options, preserving existing selectedItems for values not yet in options\n const newSelectedItems: MultiselectOption[] = [];\n const existingItemsMap = new Map(this.selectedItems.map(item => [String(item.id), item]));\n\n valueArray.forEach(val => {\n // First try to find in available options\n const option = allOptions.find(opt => String(opt.id) === String(val));\n\n if (option) {\n newSelectedItems.push(option);\n } else if (existingItemsMap.has(String(val))) {\n // If not in options but exists in current selectedItems, preserve it\n // This handles the case where async data hasn't loaded yet or newly created items\n newSelectedItems.push(existingItemsMap.get(String(val))!);\n }\n // Note: We don't create placeholders for values without matching options.\n // This ensures selectedItems remains empty until options are actually loaded,\n // which matches the expected behavior for preselected values.\n });\n\n this.selectedItems = newSelectedItems;\n }\n\n private ensureValueArray(): string[] {\n // Handle JSON string values passed via HTML attribute\n if (typeof this.value === 'string') {\n try {\n const parsed = JSON.parse(this.value as unknown as string);\n if (Array.isArray(parsed)) {\n this.value = parsed;\n return parsed;\n }\n } catch {\n // Not valid JSON, treat as single value\n const singleValue = this.value as unknown as string;\n this.value = singleValue ? [singleValue] : [];\n return this.value;\n }\n }\n return Array.isArray(this.value) ? this.value : [];\n }\n\n private getAllOptions(): MultiselectOption[] {\n return this.options || this.internalOptions;\n }\n\n private getFilteredOptions(): MultiselectOption[] {\n const allOptions = this.getAllOptions();\n const query = this.searchQuery.toLowerCase();\n\n const filtered = allOptions.filter(opt => {\n // Filter by search query only - don't filter out selected items\n if (query) {\n return opt.text.toLowerCase().includes(query);\n }\n return true;\n });\n\n // Add create option if enabled and no matches found\n if (this.createUrl && this.searchQuery.trim() && filtered.length === 0) {\n return [{\n id: '__create__',\n text: this.searchQuery.trim(),\n isCreateOption: true,\n }];\n }\n\n return filtered;\n }\n\n private updateFormValue() {\n if (this.internals?.setFormValue) {\n // Ensure value is an array before iterating\n const valueArray = this.ensureValueArray();\n\n // Submit as multiple values with same name (native select multiple behavior)\n const formData = new FormData();\n valueArray.forEach(val => {\n if (this.name) {\n formData.append(this.name, val);\n }\n });\n this.internals.setFormValue(formData);\n\n // Update validity state for required validation\n if (this.required && valueArray.length === 0) {\n this.internals.setValidity(\n { valueMissing: true },\n 'Please select at least one option.',\n this.triggerEl\n );\n } else {\n this.internals.setValidity({});\n }\n }\n }\n\n private getCsrfToken(): string | null {\n // Use provided token if available\n if (this.csrfToken) {\n return this.csrfToken;\n }\n\n // Try to read from meta tag\n const metaTag = document.querySelector('meta[name=\"csrf-token\"]') as HTMLMetaElement;\n return metaTag?.content || null;\n }\n\n private async fetchOptions(query: string, page: number = 1) {\n if (!this.asyncUrl) return;\n\n // Abort any pending request and clear existing timeout\n this.abortController?.abort();\n if (this.fetchTimeoutTimer !== undefined) {\n window.clearTimeout(this.fetchTimeoutTimer);\n this.fetchTimeoutTimer = undefined;\n }\n\n this.abortController = new AbortController();\n this.loading = true;\n\n // Set up timeout for fetch request\n this.fetchTimeoutTimer = window.setTimeout(() => {\n this.abortController?.abort();\n this.fetchTimeoutTimer = undefined;\n }, this.fetchTimeout);\n\n try {\n // Guard against malformed asyncUrl\n let url: URL;\n try {\n url = new URL(this.asyncUrl, window.location.origin);\n } catch (urlError) {\n throw new TypeError(`Invalid asyncUrl: ${this.asyncUrl}`);\n }\n\n if (this.asyncMethod === 'GET') {\n url.searchParams.set('search', query);\n url.searchParams.set('page', String(page));\n }\n\n const csrfToken = this.getCsrfToken();\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n };\n\n if (csrfToken) {\n headers['X-CSRF-Token'] = csrfToken;\n }\n\n const response = await fetch(url.toString(), {\n method: this.asyncMethod,\n signal: this.abortController.signal,\n headers,\n ...(this.asyncMethod === 'POST' && {\n body: JSON.stringify({ search: query, page }),\n }),\n });\n\n // Clear timeout on successful response\n if (this.fetchTimeoutTimer !== undefined) {\n window.clearTimeout(this.fetchTimeoutTimer);\n this.fetchTimeoutTimer = undefined;\n }\n\n if (!response.ok) throw new Error('Failed to fetch options');\n\n const data: AsyncResponse = await response.json();\n\n const formattedResults = data.results.map(item => {\n // If formatResult is provided, use it\n if (this.formatResult) {\n return this.formatResult(item);\n }\n\n // Defensive check: ensure item is an object before spreading\n if (typeof item === 'object' && item !== null) {\n return {\n id: item.id,\n text: item.text,\n ...item,\n } as MultiselectOption;\n }\n\n // Handle primitives by converting to safe shape\n return {\n id: String(item),\n text: String(item),\n } as MultiselectOption;\n });\n\n if (page === 1) {\n this.internalOptions = formattedResults;\n } else {\n this.internalOptions = [...this.internalOptions, ...formattedResults];\n }\n\n this.hasMore = data.totalCount ? this.internalOptions.length < data.totalCount : false;\n this.currentPage = page;\n\n } catch (error) {\n // Clear timeout on error\n if (this.fetchTimeoutTimer !== undefined) {\n window.clearTimeout(this.fetchTimeoutTimer);\n this.fetchTimeoutTimer = undefined;\n }\n\n if ((error as Error).name !== 'AbortError') {\n console.error('PdsMultiselect: Failed to fetch options', error);\n }\n } finally {\n this.loading = false;\n }\n }\n\n private async createOption(query: string) {\n if (!this.createUrl || !query.trim()) return;\n\n // Reentrancy guard: prevent duplicate POSTs if creation is already in-flight\n if (this.creating) return;\n\n this.creating = true;\n\n try {\n const url = new URL(this.createUrl, window.location.origin);\n\n const csrfToken = this.getCsrfToken();\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n };\n\n if (csrfToken) {\n headers['X-CSRF-Token'] = csrfToken;\n }\n\n const response = await fetch(url.toString(), {\n method: 'POST',\n headers,\n body: JSON.stringify({ text: query.trim() }),\n });\n\n if (!response.ok) throw new Error('Failed to create option');\n\n const data: CreateResponse = await response.json();\n\n const newOption: MultiselectOption = {\n id: data.id,\n text: data.text,\n ...data,\n };\n\n // Add to internal options first\n this.internalOptions = [...this.internalOptions, newOption];\n\n // Select the new option\n this.value = [...this.value, String(newOption.id)];\n\n // Sync selected items to update display with new option\n this.syncSelectedItems();\n\n // Emit create event\n this.pdsMultiselectCreate.emit({\n query: query.trim(),\n newOption,\n });\n\n // Emit change event with synced items\n this.pdsMultiselectChange.emit({\n values: this.value,\n items: this.selectedItems,\n });\n\n // Clear search and keep dropdown open\n this.searchQuery = '';\n this.highlightedIndex = -1;\n\n // Focus back on search input\n requestAnimationFrame(() => {\n this.searchInputEl?.focus();\n });\n\n } catch (error) {\n console.error('PdsMultiselect: Failed to create option', error);\n } finally {\n this.creating = false;\n }\n }\n\n private handleTriggerClick = () => {\n if (this.disabled) return;\n\n if (this.isOpen) {\n this.closeDropdown();\n } else {\n this.openDropdown();\n }\n };\n\n private handleTriggerKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n case 'Enter':\n case ' ':\n e.preventDefault();\n if (!this.isOpen) {\n this.openDropdown();\n }\n break;\n }\n };\n\n private handleSearchInputChange = (e: Event) => {\n const target = e.target as HTMLInputElement;\n this.searchQuery = target.value;\n this.highlightedIndex = -1;\n\n // Emit search event for consumer-managed async\n this.pdsMultiselectSearch.emit({ query: this.searchQuery });\n\n // Fetch from async URL if configured\n if (this.asyncUrl) {\n this.debouncedFetchAsyncOptions(this.searchQuery, 1);\n }\n };\n\n private handleSearchInputKeyDown = (e: KeyboardEvent) => {\n const filteredOptions = this.getFilteredOptions();\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n this.highlightedIndex = Math.min(this.highlightedIndex + 1, filteredOptions.length - 1);\n this.scrollOptionIntoView();\n break;\n\n case 'ArrowUp':\n e.preventDefault();\n this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);\n this.scrollOptionIntoView();\n break;\n\n case 'Enter':\n e.preventDefault();\n if (this.highlightedIndex >= 0) {\n const option = filteredOptions[this.highlightedIndex];\n if (option) {\n this.selectOption(option);\n }\n }\n break;\n\n // Escape is handled by the global @Listen('keydown') handler\n\n case 'Tab':\n this.closeDropdown();\n break;\n }\n };\n\n private handleContainerFocusOut = () => {\n // Use setTimeout to delay the check - this allows click events and focus transitions to complete\n // before we decide to close the dropdown\n setTimeout(() => {\n // Don't close if we're in the middle of opening or already closed\n if (!this.isOpen || this.isOpening) return;\n\n const activeElement = document.activeElement;\n\n // Check if focus is within our component's shadow root\n const isInShadowRoot = this.el.shadowRoot?.contains(activeElement);\n\n // Also check if focus is on the host element itself\n const isOnHost = activeElement === this.el;\n\n if (!isInShadowRoot && !isOnHost) {\n this.closeDropdown();\n }\n }, 0);\n };\n\n private openDropdown() {\n if (this.disabled) return;\n\n this.isOpening = true;\n this.isOpen = true;\n this.highlightedIndex = -1;\n\n // Trigger initial fetch if async\n if (this.asyncUrl && this.internalOptions.length === 0) {\n this.debouncedFetchAsyncOptions(this.searchQuery, 1);\n }\n\n requestAnimationFrame(() => {\n this.positionDropdown();\n // Focus the search input after the panel is positioned\n this.searchInputEl?.focus();\n // Clear the opening flag after focus has moved\n setTimeout(() => {\n this.isOpening = false;\n }, 50);\n });\n }\n\n private closeDropdown() {\n this.isOpen = false;\n this.highlightedIndex = -1;\n this.searchQuery = '';\n\n // Clean up auto-update\n if (this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate();\n this.cleanupAutoUpdate = undefined;\n }\n }\n\n private positionDropdown() {\n if (!this.containerEl || !this.panelEl) return;\n const referenceEl = this.triggerEl || this.containerEl;\n\n const { minWidth, panelWidth } = this;\n\n const updatePosition = () => {\n computePosition(referenceEl!, this.panelEl!, {\n placement: 'bottom-start',\n strategy: 'absolute',\n middleware: [\n offset(12),\n flip(),\n shift({ padding: 8 }),\n size({\n apply: ({ rects, elements }) => {\n Object.assign(elements.floating.style, {\n width: panelWidth ?? `${rects.reference.width}px`,\n minWidth,\n });\n },\n }),\n ],\n }).then(({ x, y }) => {\n if (this.panelEl) {\n this.panelEl.style.left = `${x}px`;\n this.panelEl.style.top = `${y}px`;\n }\n });\n };\n\n // Initial position\n updatePosition();\n\n // Set up auto-update for window resize and scroll\n const cleanupAutoUpdate = autoUpdate(\n referenceEl!,\n this.panelEl,\n updatePosition\n );\n this.cleanupAutoUpdate = () => {\n cleanupAutoUpdate();\n this.clearAsyncFetchState();\n };\n }\n\n private scrollOptionIntoView() {\n requestAnimationFrame(() => {\n const highlighted = this.listboxEl?.querySelector(`[data-index=\"${this.highlightedIndex}\"]`) as HTMLElement;\n highlighted?.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n });\n }\n\n private toggleOption(option: MultiselectOption) {\n // Handle create option\n if (option.isCreateOption) {\n // Prevent multiple create calls while one is in-flight\n if (!this.creating) {\n this.createOption(this.searchQuery);\n }\n return;\n }\n\n const isSelected = this.value.includes(String(option.id));\n\n if (isSelected) {\n // Remove from selection\n this.value = this.value.filter(v => v !== String(option.id));\n } else {\n // Add to selection\n if (this.maxSelections && this.value.length >= this.maxSelections) {\n return;\n }\n\n this.value = [...this.value, String(option.id)];\n }\n\n // Sync selected items to ensure no duplicates and accurate state\n this.syncSelectedItems();\n\n // Emit change event with synced items\n this.pdsMultiselectChange.emit({\n values: this.value,\n items: this.selectedItems,\n });\n\n // Keep focus on search input, don't close dropdown\n this.searchInputEl?.focus();\n }\n\n private selectOption(option: MultiselectOption) {\n // For keyboard navigation - toggle the option\n this.toggleOption(option);\n }\n\n private handleOptionMouseDown = (option: MultiselectOption) => (e: MouseEvent) => {\n e.preventDefault(); // Prevent focus change\n this.toggleOption(option);\n };\n\n private handleOptionMouseEnter = (index: number) => () => {\n this.highlightedIndex = index;\n };\n\n\n private handleScroll = (e: Event) => {\n if (!this.asyncUrl || !this.hasMore || this.loading) return;\n\n const target = e.target as HTMLElement;\n const scrollBottom = target.scrollHeight - target.scrollTop - target.clientHeight;\n\n // Load more when near bottom (within 50px)\n if (scrollBottom < 50) {\n this.pdsMultiselectLoadOptions.emit({\n query: this.searchQuery,\n page: this.currentPage + 1,\n });\n this.debouncedFetchAsyncOptions(this.searchQuery, this.currentPage + 1);\n }\n };\n\n\n private renderSelectedItemsList() {\n if (this.selectedItems.length === 0) return null;\n\n return (\n <div class=\"pds-multiselect__selected-section\">\n <ul class=\"pds-multiselect__selected-list\" role=\"list\">\n {this.selectedItems.map(item => (\n <li key={String(item.id)} class=\"pds-multiselect__selected-item\">\n {item.text}\n </li>\n ))}\n </ul>\n </div>\n );\n }\n\n private renderDropdown() {\n if (!this.isOpen) return null;\n\n const filteredOptions = this.getFilteredOptions();\n const valueArray = this.ensureValueArray();\n const hasSlottedEmpty = !!this.el.querySelector('[slot=\"empty\"]');\n const hasSlottedLoading = !!this.el.querySelector('[slot=\"loading\"]');\n\n return (\n <div\n class=\"pds-multiselect__panel\"\n ref={el => (this.panelEl = el)}\n style={{ minWidth: this.minWidth }}\n >\n {/* Search input */}\n <div class=\"pds-multiselect__search\">\n <pds-icon name=\"search\" size=\"small\" />\n <input\n ref={el => (this.searchInputEl = el)}\n type=\"text\"\n class=\"pds-multiselect__search-input\"\n placeholder=\"Find...\"\n value={this.searchQuery}\n aria-label=\"Search options\"\n aria-controls={`${this.componentId}-listbox`}\n aria-activedescendant={this.highlightedIndex >= 0 ? `${this.componentId}-option-${this.highlightedIndex}` : undefined}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-expanded=\"true\"\n aria-autocomplete=\"list\"\n autocomplete=\"off\"\n onInput={this.handleSearchInputChange}\n onKeyDown={this.handleSearchInputKeyDown}\n />\n </div>\n\n {/* Selected items section */}\n {this.renderSelectedItemsList()}\n\n {/* Options list */}\n <ul\n class=\"pds-multiselect__listbox\"\n role=\"listbox\"\n aria-multiselectable=\"true\"\n aria-label={this.label || 'Options'}\n id={`${this.componentId}-listbox`}\n ref={el => (this.listboxEl = el)}\n style={{ maxHeight: this.maxHeight }}\n onScroll={this.handleScroll}\n >\n {this.loading && (\n <li class=\"pds-multiselect__loading\" role=\"presentation\">\n {hasSlottedLoading ? (\n <slot name=\"loading\" />\n ) : (\n <pds-loader size=\"small\" />\n )}\n </li>\n )}\n\n {!this.loading && filteredOptions.length === 0 && (\n <li class=\"pds-multiselect__empty\" role=\"presentation\">\n {hasSlottedEmpty ? (\n <slot name=\"empty\" />\n ) : (\n <span>No options found</span>\n )}\n </li>\n )}\n\n {filteredOptions.map((option, index) => {\n const isSelected = valueArray.includes(String(option.id));\n const isCreateOption = option.isCreateOption;\n const isHighlighted = index === this.highlightedIndex && !isCreateOption;\n const optionId = `${this.componentId}-option-${index}`;\n const isCreateDisabled = isCreateOption && this.creating;\n\n return (\n <li\n key={String(option.id)}\n id={optionId}\n class={{\n 'pds-multiselect__option': true,\n 'pds-multiselect__option--highlighted': isHighlighted,\n 'pds-multiselect__option--selected': isSelected,\n 'pds-multiselect__option--create': isCreateOption,\n 'pds-multiselect__option--disabled': isCreateDisabled,\n }}\n role=\"option\"\n aria-selected={isSelected ? 'true' : 'false'}\n aria-disabled={isCreateDisabled ? 'true' : undefined}\n aria-label={isCreateOption ? `Create new tag: ${option.text}` : undefined}\n data-index={index}\n onMouseDown={this.handleOptionMouseDown(option)}\n onMouseEnter={this.handleOptionMouseEnter(index)}\n >\n {isCreateOption ? (\n <pds-box class=\"pds-multiselect__create-option\" align-items=\"center\" gap=\"xs\">\n <pds-icon name=\"add\" size=\"small\" />\n <pds-text>Add \"{option.text}\"</pds-text>\n </pds-box>\n ) : (\n <pds-checkbox\n componentId={`${this.componentId}-checkbox-${index}`}\n checked={isSelected}\n label={option.text}\n style={{ pointerEvents: 'none' }}\n />\n )}\n </li>\n );\n })}\n\n {this.hasMore && !this.loading && (\n <li class=\"pds-multiselect__load-more\" role=\"presentation\">\n <pds-loader size=\"small\" />\n </li>\n )}\n </ul>\n </div>\n );\n }\n\n private getTriggerText(): string {\n const count = this.selectedItems.length;\n if (count === 0) {\n return this.placeholder || 'Select...';\n }\n return `${count} item${count === 1 ? '' : 's'}`;\n }\n\n render() {\n const hasSelections = this.selectedItems.length > 0;\n\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n >\n <div class=\"pds-multiselect\">\n {this.label && (\n <label\n htmlFor={this.componentId}\n class={{\n 'pds-multiselect__label': true,\n 'visually-hidden': this.hideLabel,\n }}\n >\n {this.label}\n </label>\n )}\n\n <div\n class=\"pds-multiselect__wrapper\"\n ref={el => (this.containerEl = el)}\n onFocusout={this.handleContainerFocusOut}\n style={{ width: this.triggerWidth }}\n >\n <button\n ref={el => (this.triggerEl = el)}\n type=\"button\"\n class={{\n 'pds-multiselect__trigger': true,\n 'pds-multiselect__trigger--open': this.isOpen,\n 'pds-multiselect__trigger--disabled': this.disabled,\n 'pds-multiselect__trigger--invalid': this.invalid || !!this.errorMessage,\n 'pds-multiselect__trigger--has-value': hasSelections,\n }}\n id={this.componentId}\n disabled={this.disabled}\n aria-required={this.required ? 'true' : undefined}\n aria-expanded={this.isOpen ? 'true' : 'false'}\n aria-haspopup=\"listbox\"\n aria-describedby={assignDescription(\n this.componentId,\n this.invalid || !!this.errorMessage,\n this.errorMessage || this.helperMessage\n )}\n aria-invalid={this.invalid || !!this.errorMessage ? 'true' : undefined}\n onClick={this.handleTriggerClick}\n onKeyDown={this.handleTriggerKeyDown}\n >\n <span class={{\n 'pds-multiselect__trigger-text': true,\n 'pds-multiselect__trigger-text--placeholder': !hasSelections,\n }}>\n {this.getTriggerText()}\n </span>\n <pds-icon class=\"pds-multiselect__icon\" icon={enlarge} />\n </button>\n\n {this.renderDropdown()}\n </div>\n\n {this.helperMessage && !(this.errorMessage && this.errorMessage.length > 0) && (\n <p class=\"pds-multiselect__helper\" id={messageId(this.componentId, 'helper')}>\n {this.helperMessage}\n </p>\n )}\n\n {this.errorMessage && (\n <p class=\"pds-multiselect__error\" id={messageId(this.componentId, 'error')}>\n <pds-icon icon={danger} size=\"small\" />\n {this.errorMessage}\n </p>\n )}\n\n {/* Hidden slot for static options */}\n <div style={{ display: 'none' }}>\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,i,t,n){function r(e){return e instanceof t?e:new t((function(i){i(e)}))}return new(t||(t=Promise))((function(t,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n["throw"](e))}catch(e){s(e)}}function l(e){e.done?t(e.value):r(e.value).then(o,a)}l((n=n.apply(e,i||[])).next())}))};var __generator=this&&this.__generator||function(e,i){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,r,s,o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=a(0),o["throw"]=a(1),o["return"]=a(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(i){return l([e,i])}}function l(a){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(t=0)),t)try{if(n=1,r&&(s=a[0]&2?r["return"]:a[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;if(r=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:t.label++;return{value:a[1],done:false};case 5:t.label++;r=a[1];a=[0];continue;case 7:a=t.ops.pop();t.trys.pop();continue;default:if(!(s=t.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){t=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){t.label=a[1];break}if(a[0]===6&&t.label<s[1]){t.label=s[1];s=a;break}if(s&&t.label<s[2]){t.label=s[2];t.ops.push(a);break}if(s[2])t.ops.pop();t.trys.pop();continue}a=i.call(e,t)}catch(e){a=[6,e];r=0}finally{n=s=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,i,t){if(t||arguments.length===2)for(var n=0,r=i.length,s;n<r;n++){if(s||!(n in i)){if(!s)s=Array.prototype.slice.call(i,0,n);s[n]=i[n]}}return e.concat(s||Array.prototype.slice.call(i))};System.register(["./p-5D9wXQuJ.system.js","./p-D2eS6fhD.system.js","./p-BG6uGRQj.system.js","./p-BHavepTY.system.js","./p-BxVkyfaO.system.js"],(function(e){"use strict";var i,t,n,r,s,o,a,l,d,c,u,p,h,f,v,m;return{setters:[function(e){i=e.r;t=e.c;n=e.h;r=e.H;s=e.a},function(e){o=e.a;a=e.c;l=e.o;d=e.f;c=e.s;u=e.b},function(e){p=e.d},function(e){h=e.a;f=e.m},function(e){v=e.e;m=e.b}],execute:function(){var b=":host{display:block}:host([aria-disabled=true]) .pds-multiselect__trigger{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}:host([aria-disabled=true]) .pds-multiselect__icon{color:var(--pine-color-text-disabled)}.pds-multiselect{position:relative}.pds-multiselect__label{color:var(--pine-color-text-label);display:block;font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing);-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-multiselect__wrapper{position:relative}.pds-multiselect__trigger{-ms-flex-align:center;align-items:center;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-125);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body);gap:var(--pine-dimension-xs);-ms-flex-pack:justify;justify-content:space-between;letter-spacing:var(--pine-letter-spacing);min-height:var(--pine-dimension-550);padding:var(--pine-dimension-xs) var(--pine-dimension-sm);position:relative;text-align:start;-webkit-transition:border-color 0.2s ease, -webkit-box-shadow 0.2s ease;transition:border-color 0.2s ease, -webkit-box-shadow 0.2s ease;transition:border-color 0.2s ease, box-shadow 0.2s ease;transition:border-color 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;width:100%}.pds-multiselect__trigger:hover:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-hover)}.pds-multiselect__trigger:focus:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-multiselect__trigger.pds-multiselect__trigger--open{border-color:var(--pine-color-border-active)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid{background-color:var(--pine-color-red-050);border-color:var(--pine-color-border-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid:focus{outline-color:var(--pine-color-focus-ring-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-multiselect__trigger-text{color:var(--pine-color-text-strong);-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__trigger-text.pds-multiselect__trigger-text--placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__trigger--disabled .pds-multiselect__trigger-text{color:var(--pine-color-text-disabled)}.pds-multiselect__icon{color:var(--pine-color-icon);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__panel{background:var(--pine-color-background-container);border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:absolute;z-index:var(--pine-z-index-raised)}.pds-multiselect__search{-ms-flex-align:center;align-items:center;-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-multiselect__search pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__search-input{background:transparent;border:var(--pine-dimension-none);color:var(--pine-color-text-strong);-ms-flex:1;flex:1;font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);min-width:var(--pine-dimension-none);outline:none}.pds-multiselect__search-input::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__selected-section{-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);padding:var(--pine-dimension-xs)}.pds-multiselect__selected-list{list-style:none;margin:var(--pine-dimension-none);padding:var(--pine-dimension-none)}.pds-multiselect__selected-item{color:var(--pine-color-text-strong);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);overflow:hidden;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__listbox{background:transparent;border:var(--pine-dimension-none);-webkit-box-sizing:border-box;box-sizing:border-box;list-style:none;margin:var(--pine-dimension-none);overflow-y:auto;padding:var(--pine-dimension-xs)}.pds-multiselect__option{-ms-flex-align:center;align-items:center;background:transparent;border-radius:var(--pine-dimension-xs);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);-webkit-transition:background 0.15s;transition:background 0.15s}.pds-multiselect__option pds-checkbox{pointer-events:none;width:100%}.pds-multiselect__option:hover,.pds-multiselect__option.pds-multiselect__option--highlighted{background:var(--pine-color-background-muted)}.pds-multiselect__option:focus-visible{outline:var(--pine-dimension-none)}.pds-multiselect__create-option{color:var(--pine-color-text-strong);width:100%}.pds-multiselect__create-option pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__empty,.pds-multiselect__loading{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-muted);display:-ms-flexbox;display:flex;font:var(--pine-typography-body);-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-sm)}.pds-multiselect__load-more{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-xs)}.pds-multiselect__helper{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__error{-ms-flex-align:start;align-items:flex-start;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;font:var(--pine-typography-body-sm);gap:var(--pine-dimension-2xs);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__error pds-icon{-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none);-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.visually-hidden{border:var(--pine-dimension-none);clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:var(--pine-dimension-none);position:absolute;white-space:nowrap;width:1px}";var g=e("pds_multiselect",function(){function e(e){var n=this;i(this,e);this.pdsMultiselectChange=t(this,"pdsMultiselectChange");this.pdsMultiselectSearch=t(this,"pdsMultiselectSearch");this.pdsMultiselectLoadOptions=t(this,"pdsMultiselectLoadOptions");this.pdsMultiselectCreate=t(this,"pdsMultiselectCreate");this.placeholder="Select...";this.value=[];this.disabled=false;this.asyncMethod="GET";this.debounce=300;this.fetchTimeout=3e4;this.maxHeight="300px";this.triggerWidth="100%";this.minWidth="250px";this.hideLabel=false;this.required=false;this.loading=false;this.isOpen=false;this.searchQuery="";this.highlightedIndex=-1;this.internalOptions=[];this.selectedItems=[];this.currentPage=1;this.hasMore=false;this.creating=false;this.isOpening=false;this.handleTriggerClick=function(){if(n.disabled)return;if(n.isOpen){n.closeDropdown()}else{n.openDropdown()}};this.handleTriggerKeyDown=function(e){switch(e.key){case"ArrowDown":case"ArrowUp":case"Enter":case" ":e.preventDefault();if(!n.isOpen){n.openDropdown()}break}};this.handleSearchInputChange=function(e){var i=e.target;n.searchQuery=i.value;n.highlightedIndex=-1;n.pdsMultiselectSearch.emit({query:n.searchQuery});if(n.asyncUrl){n.debouncedFetchAsyncOptions(n.searchQuery,1)}};this.handleSearchInputKeyDown=function(e){var i=n.getFilteredOptions();switch(e.key){case"ArrowDown":e.preventDefault();n.highlightedIndex=Math.min(n.highlightedIndex+1,i.length-1);n.scrollOptionIntoView();break;case"ArrowUp":e.preventDefault();n.highlightedIndex=Math.max(n.highlightedIndex-1,0);n.scrollOptionIntoView();break;case"Enter":e.preventDefault();if(n.highlightedIndex>=0){var t=i[n.highlightedIndex];if(t){n.selectOption(t)}}break;case"Tab":n.closeDropdown();break}};this.handleContainerFocusOut=function(){setTimeout((function(){var e;if(!n.isOpen||n.isOpening)return;var i=document.activeElement;var t=(e=n.el.shadowRoot)===null||e===void 0?void 0:e.contains(i);var r=i===n.el;if(!t&&!r){n.closeDropdown()}}),0)};this.handleOptionMouseDown=function(e){return function(i){i.preventDefault();n.toggleOption(e)}};this.handleOptionMouseEnter=function(e){return function(){n.highlightedIndex=e}};this.handleScroll=function(e){if(!n.asyncUrl||!n.hasMore||n.loading)return;var i=e.target;var t=i.scrollHeight-i.scrollTop-i.clientHeight;if(t<50){n.pdsMultiselectLoadOptions.emit({query:n.searchQuery,page:n.currentPage+1});n.debouncedFetchAsyncOptions(n.searchQuery,n.currentPage+1)}}}e.prototype.connectedCallback=function(){if(this.el.attachInternals&&!this.internals){this.internals=this.el.attachInternals()}};e.prototype.componentWillLoad=function(){this.originalSearchEmitter=this.pdsMultiselectSearch;this.syncSelectedItems()};e.prototype.componentDidLoad=function(){var e=this;this.setupDebounce();this.setupMutationObserver();this.setupSlotChangeListener();this.updateFormValue();requestAnimationFrame((function(){e.updateOptionsFromSlot();e.syncSelectedItems()}))};e.prototype.setupSlotChangeListener=function(){var e=this;var i;var t=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector("slot:not([name])");if(t){t.addEventListener("slotchange",(function(){e.updateOptionsFromSlot();e.syncSelectedItems()}));this.updateOptionsFromSlot()}};e.prototype.disconnectedCallback=function(){var e,i;(e=this.observer)===null||e===void 0?void 0:e.disconnect();(i=this.cleanupAutoUpdate)===null||i===void 0?void 0:i.call(this);this.clearAsyncFetchState()};e.prototype.setupDebounce=function(){var e=this,i=e.pdsMultiselectSearch,t=e.debounce,n=e.originalSearchEmitter;this.pdsMultiselectSearch=t===undefined?n!==null&&n!==void 0?n:i:p(i,t)};e.prototype.valueChanged=function(e){if(typeof e==="string"){try{var i=JSON.parse(e);if(Array.isArray(i)){this.value=i;return}}catch(i){this.value=e?[e]:[];return}}this.syncSelectedItems();this.updateFormValue()};e.prototype.optionsChanged=function(){if(this.options){this.internalOptions=__spreadArray([],this.options,true)}};e.prototype.internalOptionsChanged=function(){this.syncSelectedItems()};e.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(i){(e=this.triggerEl)===null||e===void 0?void 0:e.focus();return[2]}))}))};e.prototype.handleWindowKeyDown=function(e){var i;if(!this.isOpen)return;if(e.key==="Escape"){e.preventDefault();this.closeDropdown();(i=this.triggerEl)===null||i===void 0?void 0:i.focus()}};e.prototype.setupMutationObserver=function(){var e=this;this.observer=new MutationObserver((function(){e.updateOptionsFromSlot()}));this.observer.observe(this.el,{childList:true,subtree:true})};e.prototype.updateOptionsFromSlot=function(){var e;var i=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("slot:not([name])");if(!i)return;var t=i.assignedElements({flatten:true}).filter((function(e){return e.tagName==="OPTION"})).map((function(e){return{id:e.value,text:e.textContent||e.value}}));if(t.length>0&&!this.asyncUrl&&!this.options){this.internalOptions=t}};e.prototype.clearAsyncFetchState=function(){var e;if(this.fetchDebounceTimer!==undefined){window.clearTimeout(this.fetchDebounceTimer);this.fetchDebounceTimer=undefined}if(this.fetchTimeoutTimer!==undefined){window.clearTimeout(this.fetchTimeoutTimer);this.fetchTimeoutTimer=undefined}(e=this.abortController)===null||e===void 0?void 0:e.abort();this.abortController=undefined};e.prototype.debouncedFetchAsyncOptions=function(e,i){var t=this;if(i===void 0){i=1}var n;if(!this.asyncUrl)return;if(this.fetchDebounceTimer!==undefined){window.clearTimeout(this.fetchDebounceTimer)}var r=Math.max(0,(n=this.debounce)!==null&&n!==void 0?n:0);this.fetchDebounceTimer=window.setTimeout((function(){t.fetchDebounceTimer=undefined;t.fetchOptions(e,i)}),r)};e.prototype.syncSelectedItems=function(){var e=this.ensureValueArray();var i=this.getAllOptions();var t=[];var n=new Map(this.selectedItems.map((function(e){return[String(e.id),e]})));e.forEach((function(e){var r=i.find((function(i){return String(i.id)===String(e)}));if(r){t.push(r)}else if(n.has(String(e))){t.push(n.get(String(e)))}}));this.selectedItems=t};e.prototype.ensureValueArray=function(){if(typeof this.value==="string"){try{var e=JSON.parse(this.value);if(Array.isArray(e)){this.value=e;return e}}catch(e){var i=this.value;this.value=i?[i]:[];return this.value}}return Array.isArray(this.value)?this.value:[]};e.prototype.getAllOptions=function(){return this.options||this.internalOptions};e.prototype.getFilteredOptions=function(){var e=this.getAllOptions();var i=this.searchQuery.toLowerCase();var t=e.filter((function(e){if(i){return e.text.toLowerCase().includes(i)}return true}));if(this.createUrl&&this.searchQuery.trim()&&t.length===0){return[{id:"__create__",text:this.searchQuery.trim(),isCreateOption:true}]}return t};e.prototype.updateFormValue=function(){var e=this;var i;if((i=this.internals)===null||i===void 0?void 0:i.setFormValue){var t=this.ensureValueArray();var n=new FormData;t.forEach((function(i){if(e.name){n.append(e.name,i)}}));this.internals.setFormValue(n);if(this.required&&t.length===0){this.internals.setValidity({valueMissing:true},"Please select at least one option.",this.triggerEl)}else{this.internals.setValidity({})}}};e.prototype.getCsrfToken=function(){if(this.csrfToken){return this.csrfToken}var e=document.querySelector('meta[name="csrf-token"]');return(e===null||e===void 0?void 0:e.content)||null};e.prototype.fetchOptions=function(e){return __awaiter(this,arguments,void 0,(function(e,i){var t,n,r,s,o,a,l,d;var c=this;if(i===void 0){i=1}return __generator(this,(function(u){switch(u.label){case 0:if(!this.asyncUrl)return[2];(t=this.abortController)===null||t===void 0?void 0:t.abort();if(this.fetchTimeoutTimer!==undefined){window.clearTimeout(this.fetchTimeoutTimer);this.fetchTimeoutTimer=undefined}this.abortController=new AbortController;this.loading=true;this.fetchTimeoutTimer=window.setTimeout((function(){var e;(e=c.abortController)===null||e===void 0?void 0:e.abort();c.fetchTimeoutTimer=undefined}),this.fetchTimeout);u.label=1;case 1:u.trys.push([1,4,5,6]);n=void 0;try{n=new URL(this.asyncUrl,window.location.origin)}catch(e){throw new TypeError("Invalid asyncUrl: ".concat(this.asyncUrl))}if(this.asyncMethod==="GET"){n.searchParams.set("search",e);n.searchParams.set("page",String(i))}r=this.getCsrfToken();s={"Content-Type":"application/json",Accept:"application/json"};if(r){s["X-CSRF-Token"]=r}return[4,fetch(n.toString(),Object.assign({method:this.asyncMethod,signal:this.abortController.signal,headers:s},this.asyncMethod==="POST"&&{body:JSON.stringify({search:e,page:i})}))];case 2:o=u.sent();if(this.fetchTimeoutTimer!==undefined){window.clearTimeout(this.fetchTimeoutTimer);this.fetchTimeoutTimer=undefined}if(!o.ok)throw new Error("Failed to fetch options");return[4,o.json()];case 3:a=u.sent();l=a.results.map((function(e){if(c.formatResult){return c.formatResult(e)}if(typeof e==="object"&&e!==null){return Object.assign({id:e.id,text:e.text},e)}return{id:String(e),text:String(e)}}));if(i===1){this.internalOptions=l}else{this.internalOptions=__spreadArray(__spreadArray([],this.internalOptions,true),l,true)}this.hasMore=a.totalCount?this.internalOptions.length<a.totalCount:false;this.currentPage=i;return[3,6];case 4:d=u.sent();if(this.fetchTimeoutTimer!==undefined){window.clearTimeout(this.fetchTimeoutTimer);this.fetchTimeoutTimer=undefined}if(d.name!=="AbortError"){console.error("PdsMultiselect: Failed to fetch options",d)}return[3,6];case 5:this.loading=false;return[7];case 6:return[2]}}))}))};e.prototype.createOption=function(e){return __awaiter(this,void 0,void 0,(function(){var i,t,n,r,s,o,a;var l=this;return __generator(this,(function(d){switch(d.label){case 0:if(!this.createUrl||!e.trim())return[2];if(this.creating)return[2];this.creating=true;d.label=1;case 1:d.trys.push([1,4,5,6]);i=new URL(this.createUrl,window.location.origin);t=this.getCsrfToken();n={"Content-Type":"application/json",Accept:"application/json"};if(t){n["X-CSRF-Token"]=t}return[4,fetch(i.toString(),{method:"POST",headers:n,body:JSON.stringify({text:e.trim()})})];case 2:r=d.sent();if(!r.ok)throw new Error("Failed to create option");return[4,r.json()];case 3:s=d.sent();o=Object.assign({id:s.id,text:s.text},s);this.internalOptions=__spreadArray(__spreadArray([],this.internalOptions,true),[o],false);this.value=__spreadArray(__spreadArray([],this.value,true),[String(o.id)],false);this.syncSelectedItems();this.pdsMultiselectCreate.emit({query:e.trim(),newOption:o});this.pdsMultiselectChange.emit({values:this.value,items:this.selectedItems});this.searchQuery="";this.highlightedIndex=-1;requestAnimationFrame((function(){var e;(e=l.searchInputEl)===null||e===void 0?void 0:e.focus()}));return[3,6];case 4:a=d.sent();console.error("PdsMultiselect: Failed to create option",a);return[3,6];case 5:this.creating=false;return[7];case 6:return[2]}}))}))};e.prototype.openDropdown=function(){var e=this;if(this.disabled)return;this.isOpening=true;this.isOpen=true;this.highlightedIndex=-1;if(this.asyncUrl&&this.internalOptions.length===0){this.debouncedFetchAsyncOptions(this.searchQuery,1)}requestAnimationFrame((function(){var i;e.positionDropdown();(i=e.searchInputEl)===null||i===void 0?void 0:i.focus();setTimeout((function(){e.isOpening=false}),50)}))};e.prototype.closeDropdown=function(){this.isOpen=false;this.highlightedIndex=-1;this.searchQuery="";if(this.cleanupAutoUpdate){this.cleanupAutoUpdate();this.cleanupAutoUpdate=undefined}};e.prototype.positionDropdown=function(){var e=this;if(!this.containerEl||!this.panelEl)return;var i=this.triggerEl||this.containerEl;var t=this,n=t.minWidth,r=t.panelWidth;var s=function(){a(i,e.panelEl,{placement:"bottom-start",strategy:"absolute",middleware:[l(12),d(),c({padding:8}),u({apply:function(e){var i=e.rects,t=e.elements;Object.assign(t.floating.style,{width:r!==null&&r!==void 0?r:"".concat(i.reference.width,"px"),minWidth:n})}})]}).then((function(i){var t=i.x,n=i.y;if(e.panelEl){e.panelEl.style.left="".concat(t,"px");e.panelEl.style.top="".concat(n,"px")}}))};s();var p=o(i,this.panelEl,s);this.cleanupAutoUpdate=function(){p();e.clearAsyncFetchState()}};e.prototype.scrollOptionIntoView=function(){var e=this;requestAnimationFrame((function(){var i;var t=(i=e.listboxEl)===null||i===void 0?void 0:i.querySelector('[data-index="'.concat(e.highlightedIndex,'"]'));t===null||t===void 0?void 0:t.scrollIntoView({block:"nearest",behavior:"smooth"})}))};e.prototype.toggleOption=function(e){var i;if(e.isCreateOption){if(!this.creating){this.createOption(this.searchQuery)}return}var t=this.value.includes(String(e.id));if(t){this.value=this.value.filter((function(i){return i!==String(e.id)}))}else{if(this.maxSelections&&this.value.length>=this.maxSelections){return}this.value=__spreadArray(__spreadArray([],this.value,true),[String(e.id)],false)}this.syncSelectedItems();this.pdsMultiselectChange.emit({values:this.value,items:this.selectedItems});(i=this.searchInputEl)===null||i===void 0?void 0:i.focus()};e.prototype.selectOption=function(e){this.toggleOption(e)};e.prototype.renderSelectedItemsList=function(){if(this.selectedItems.length===0)return null;return n("div",{class:"pds-multiselect__selected-section"},n("ul",{class:"pds-multiselect__selected-list",role:"list"},this.selectedItems.map((function(e){return n("li",{key:String(e.id),class:"pds-multiselect__selected-item"},e.text)}))))};e.prototype.renderDropdown=function(){var e=this;if(!this.isOpen)return null;var i=this.getFilteredOptions();var t=this.ensureValueArray();var r=!!this.el.querySelector('[slot="empty"]');var s=!!this.el.querySelector('[slot="loading"]');return n("div",{class:"pds-multiselect__panel",ref:function(i){return e.panelEl=i},style:{minWidth:this.minWidth}},n("div",{class:"pds-multiselect__search"},n("pds-icon",{name:"search",size:"small"}),n("input",{ref:function(i){return e.searchInputEl=i},type:"text",class:"pds-multiselect__search-input",placeholder:"Find...",value:this.searchQuery,"aria-label":"Search options","aria-controls":"".concat(this.componentId,"-listbox"),"aria-activedescendant":this.highlightedIndex>=0?"".concat(this.componentId,"-option-").concat(this.highlightedIndex):undefined,role:"combobox","aria-haspopup":"listbox","aria-expanded":"true","aria-autocomplete":"list",autocomplete:"off",onInput:this.handleSearchInputChange,onKeyDown:this.handleSearchInputKeyDown})),this.renderSelectedItemsList(),n("ul",{class:"pds-multiselect__listbox",role:"listbox","aria-multiselectable":"true","aria-label":this.label||"Options",id:"".concat(this.componentId,"-listbox"),ref:function(i){return e.listboxEl=i},style:{maxHeight:this.maxHeight},onScroll:this.handleScroll},this.loading&&n("li",{class:"pds-multiselect__loading",role:"presentation"},s?n("slot",{name:"loading"}):n("pds-loader",{size:"small"})),!this.loading&&i.length===0&&n("li",{class:"pds-multiselect__empty",role:"presentation"},r?n("slot",{name:"empty"}):n("span",null,"No options found")),i.map((function(i,r){var s=t.includes(String(i.id));var o=i.isCreateOption;var a=r===e.highlightedIndex&&!o;var l="".concat(e.componentId,"-option-").concat(r);var d=o&&e.creating;return n("li",{key:String(i.id),id:l,class:{"pds-multiselect__option":true,"pds-multiselect__option--highlighted":a,"pds-multiselect__option--selected":s,"pds-multiselect__option--create":o,"pds-multiselect__option--disabled":d},role:"option","aria-selected":s?"true":"false","aria-disabled":d?"true":undefined,"aria-label":o?"Create new tag: ".concat(i.text):undefined,"data-index":r,onMouseDown:e.handleOptionMouseDown(i),onMouseEnter:e.handleOptionMouseEnter(r)},o?n("pds-box",{class:"pds-multiselect__create-option","align-items":"center",gap:"xs"},n("pds-icon",{name:"add",size:"small"}),n("pds-text",null,'Add "',i.text,'"')):n("pds-checkbox",{componentId:"".concat(e.componentId,"-checkbox-").concat(r),checked:s,label:i.text,style:{pointerEvents:"none"}}))})),this.hasMore&&!this.loading&&n("li",{class:"pds-multiselect__load-more",role:"presentation"},n("pds-loader",{size:"small"}))))};e.prototype.getTriggerText=function(){var e=this.selectedItems.length;if(e===0){return this.placeholder||"Select..."}return"".concat(e," item").concat(e===1?"":"s")};e.prototype.render=function(){var e=this;var i=this.selectedItems.length>0;return n(r,{key:"5eabf872bf4e4f109106c0dd7f9fc8ea48e8c0c0","aria-disabled":this.disabled?"true":null},n("div",{key:"2623280ddbb4e116da4dbf0fe9123b5f06f0da0c",class:"pds-multiselect"},this.label&&n("label",{key:"ec644a7af54ca4dcdece849c6df692fae268b445",htmlFor:this.componentId,class:{"pds-multiselect__label":true,"visually-hidden":this.hideLabel}},this.label),n("div",{key:"ae08d5be617ee801a730fd9289146e82f2df8258",class:"pds-multiselect__wrapper",ref:function(i){return e.containerEl=i},onFocusout:this.handleContainerFocusOut,style:{width:this.triggerWidth}},n("button",{key:"c4639d573de4bb7963f848284057afcf9cc65cb9",ref:function(i){return e.triggerEl=i},type:"button",class:{"pds-multiselect__trigger":true,"pds-multiselect__trigger--open":this.isOpen,"pds-multiselect__trigger--disabled":this.disabled,"pds-multiselect__trigger--invalid":this.invalid||!!this.errorMessage,"pds-multiselect__trigger--has-value":i},id:this.componentId,disabled:this.disabled,"aria-required":this.required?"true":undefined,"aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-describedby":h(this.componentId,this.invalid||!!this.errorMessage,this.errorMessage||this.helperMessage),"aria-invalid":this.invalid||!!this.errorMessage?"true":undefined,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},n("span",{key:"b16da29ea9a98d6672813d9c142ef63135b12dca",class:{"pds-multiselect__trigger-text":true,"pds-multiselect__trigger-text--placeholder":!i}},this.getTriggerText()),n("pds-icon",{key:"4e86739529355331c9fa6b95b63f223d5a315ad5",class:"pds-multiselect__icon",icon:v})),this.renderDropdown()),this.helperMessage&&!(this.errorMessage&&this.errorMessage.length>0)&&n("p",{key:"34cd42ddb1725546ce367699ef520e37d24cae25",class:"pds-multiselect__helper",id:f(this.componentId,"helper")},this.helperMessage),this.errorMessage&&n("p",{key:"0eada43d1bcb44ea7b95927dd3f799aff6cc6b3a",class:"pds-multiselect__error",id:f(this.componentId,"error")},n("pds-icon",{key:"546dcc24794d274d73b3de867b79123b6f0069fc",icon:m,size:"small"}),this.errorMessage),n("div",{key:"3921e646c9e3638077c016e7cb28a19adaa302f0",style:{display:"none"}},n("slot",{key:"3923872eaae0a59da8c4a5b9801abf41ae9a3c3d"}))))};Object.defineProperty(e,"formAssociated",{get:function(){return true},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"el",{get:function(){return s(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{debounce:["setupDebounce"],value:["valueChanged"],options:["optionsChanged"],internalOptions:["internalOptionsChanged"]}},enumerable:false,configurable:true});return e}());g.style=b}}}));
|
|
2
|
-
//# sourceMappingURL=p-b98a04cd.system.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["System","register","exports","registerInstance","createEvent","h","Host","getElement","autoUpdate","computePosition","offset","flip","shift","size","debounceEvent","assignDescription","messageId","enlarge","danger","setters","module","r","c","H","a","o","f","s","b","d","m","e","execute","pdsMultiselectCss","PdsMultiselect","class_1","hostRef","_this","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","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","prototype","connectedCallback","attachInternals","internals","componentWillLoad","originalSearchEmitter","syncSelectedItems","componentDidLoad","setupDebounce","setupMutationObserver","setupSlotChangeListener","updateFormValue","requestAnimationFrame","updateOptionsFromSlot","slot","querySelector","addEventListener","disconnectedCallback","_b","observer","disconnect","cleanupAutoUpdate","call","clearAsyncFetchState","_c","undefined","valueChanged","newValue","parsed","JSON","parse","Array","isArray","optionsChanged","options","__spreadArray","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","newSelectedItems","existingItemsMap","Map","item","String","forEach","val","find","push","has","get","singleValue","toLowerCase","filtered","includes","createUrl","trim","isCreateOption","setFormValue","formData_1","FormData","name","append","setValidity","valueMissing","getCsrfToken","csrfToken","metaTag","content","query_1","AbortController","url","URL","location","origin","urlError","TypeError","concat","searchParams","set","headers","Accept","fetch","toString","Object","assign","method","signal","body","stringify","search","response","sent","ok","Error","json","data","formattedResults","results","formatResult","totalCount","error_1","console","error","createOption","newOption","values","items","searchInputEl","error_2","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","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","defineProperty"],"sources":["module.ts"],"mappings":"gxDAAAA,OAAOC,SAAS,CAAC,yBAA0B,yBAA0B,yBAA0B,yBAA0B,2BAA2B,SAAWC,GAC7J,aACA,IAAIC,EAAkBC,EAAaC,EAAGC,EAAMC,EAAYC,EAAYC,EAAiBC,EAAQC,EAAMC,EAAOC,EAAMC,EAAeC,EAAmBC,EAAWC,EAASC,EACtK,MAAO,CACLC,QAAS,CAAC,SAAUC,GAClBjB,EAAmBiB,EAAOC,EAC1BjB,EAAcgB,EAAOE,EACrBjB,EAAIe,EAAOf,EACXC,EAAOc,EAAOG,EACdhB,EAAaa,EAAOI,CACtB,EAAG,SAAUJ,GACXZ,EAAaY,EAAOI,EACpBf,EAAkBW,EAAOE,EACzBZ,EAASU,EAAOK,EAChBd,EAAOS,EAAOM,EACdd,EAAQQ,EAAOO,EACfd,EAAOO,EAAOQ,CAChB,EAAG,SAAUR,GACXN,EAAgBM,EAAOS,CACzB,EAAG,SAAUT,GACXL,EAAoBK,EAAOI,EAC3BR,EAAYI,EAAOU,CACrB,EAAG,SAAUV,GACXH,EAAUG,EAAOW,EACjBb,EAASE,EAAOQ,CAClB,GACAI,QAAS,WAEP,IAAMC,EAAoB,u/OAE1B,IAAMC,EAAiBhC,EAAQ,kBAAiB,WAC5C,SAAAiC,EAAYC,GAAZ,IAAAC,EAAAC,KACInC,EAAiBmC,KAAMF,GACvBE,KAAKC,qBAAuBnC,EAAYkC,KAAM,wBAC9CA,KAAKE,qBAAuBpC,EAAYkC,KAAM,wBAC9CA,KAAKG,0BAA4BrC,EAAYkC,KAAM,6BACnDA,KAAKI,qBAAuBtC,EAAYkC,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,WACtB,GAAI3B,EAAKQ,SACL,OACJ,GAAIR,EAAKkB,OAAQ,CACblB,EAAK4B,eACT,KACK,CACD5B,EAAK6B,cACT,CACJ,EACA5B,KAAK6B,qBAAuB,SAACpC,GACzB,OAAQA,EAAEqC,KACN,IAAK,YACL,IAAK,UACL,IAAK,QACL,IAAK,IACDrC,EAAEsC,iBACF,IAAKhC,EAAKkB,OAAQ,CACdlB,EAAK6B,cACT,CACA,MAEZ,EACA5B,KAAKgC,wBAA0B,SAACvC,GAC5B,IAAMwC,EAASxC,EAAEwC,OACjBlC,EAAKmB,YAAce,EAAO3B,MAC1BP,EAAKoB,kBAAoB,EAEzBpB,EAAKG,qBAAqBgC,KAAK,CAAEC,MAAOpC,EAAKmB,cAE7C,GAAInB,EAAKqC,SAAU,CACfrC,EAAKsC,2BAA2BtC,EAAKmB,YAAa,EACtD,CACJ,EACAlB,KAAKsC,yBAA2B,SAAC7C,GAC7B,IAAM8C,EAAkBxC,EAAKyC,qBAC7B,OAAQ/C,EAAEqC,KACN,IAAK,YACDrC,EAAEsC,iBACFhC,EAAKoB,iBAAmBsB,KAAKC,IAAI3C,EAAKoB,iBAAmB,EAAGoB,EAAgBI,OAAS,GACrF5C,EAAK6C,uBACL,MACJ,IAAK,UACDnD,EAAEsC,iBACFhC,EAAKoB,iBAAmBsB,KAAKI,IAAI9C,EAAKoB,iBAAmB,EAAG,GAC5DpB,EAAK6C,uBACL,MACJ,IAAK,QACDnD,EAAEsC,iBACF,GAAIhC,EAAKoB,kBAAoB,EAAG,CAC5B,IAAM2B,EAASP,EAAgBxC,EAAKoB,kBACpC,GAAI2B,EAAQ,CACR/C,EAAKgD,aAAaD,EACtB,CACJ,CACA,MAEJ,IAAK,MACD/C,EAAK4B,gBACL,MAEZ,EACA3B,KAAKgD,wBAA0B,WAG3BC,YAAW,WACP,IAAIC,EAEJ,IAAKnD,EAAKkB,QAAUlB,EAAK0B,UACrB,OACJ,IAAM0B,EAAgBC,SAASD,cAE/B,IAAME,GAAkBH,EAAKnD,EAAKuD,GAAGC,cAAgB,MAAQL,SAAY,OAAS,EAAIA,EAAGM,SAASL,GAElG,IAAMM,EAAWN,IAAkBpD,EAAKuD,GACxC,IAAKD,IAAmBI,EAAU,CAC9B1D,EAAK4B,eACT,CACJ,GAAG,EACP,EACA3B,KAAK0D,sBAAwB,SAACZ,GAAW,gBAACrD,GACtCA,EAAEsC,iBACFhC,EAAK4D,aAAab,EACtB,CAHyC,EAIzC9C,KAAK4D,uBAAyB,SAACC,GAAU,kBACrC9D,EAAKoB,iBAAmB0C,CAC5B,CAFyC,EAGzC7D,KAAK8D,aAAe,SAACrE,GACjB,IAAKM,EAAKqC,WAAarC,EAAKwB,SAAWxB,EAAKiB,QACxC,OACJ,IAAMiB,EAASxC,EAAEwC,OACjB,IAAM8B,EAAe9B,EAAO+B,aAAe/B,EAAOgC,UAAYhC,EAAOiC,aAErE,GAAIH,EAAe,GAAI,CACnBhE,EAAKI,0BAA0B+B,KAAK,CAChCC,MAAOpC,EAAKmB,YACZiD,KAAMpE,EAAKuB,YAAc,IAE7BvB,EAAKsC,2BAA2BtC,EAAKmB,YAAanB,EAAKuB,YAAc,EACzE,CACJ,CACJ,CACAzB,EAAAuE,UAAAC,kBAAA,WAEI,GAAIrE,KAAKsD,GAAGgB,kBAAoBtE,KAAKuE,UAAW,CAC5CvE,KAAKuE,UAAYvE,KAAKsD,GAAGgB,iBAC7B,CACJ,EACAzE,EAAAuE,UAAAI,kBAAA,WACIxE,KAAKyE,sBAAwBzE,KAAKE,qBAClCF,KAAK0E,mBACT,EACA7E,EAAAuE,UAAAO,iBAAA,eAAA5E,EAAAC,KACIA,KAAK4E,gBACL5E,KAAK6E,wBACL7E,KAAK8E,0BACL9E,KAAK+E,kBAGLC,uBAAsB,WAClBjF,EAAKkF,wBACLlF,EAAK2E,mBACT,GACJ,EACA7E,EAAAuE,UAAAU,wBAAA,eAAA/E,EAAAC,KACI,IAAIkD,EACJ,IAAMgC,GAAQhC,EAAKlD,KAAKsD,GAAGC,cAAgB,MAAQL,SAAY,OAAS,EAAIA,EAAGiC,cAAc,oBAC7F,GAAID,EAAM,CACNA,EAAKE,iBAAiB,cAAc,WAChCrF,EAAKkF,wBACLlF,EAAK2E,mBACT,IAEA1E,KAAKiF,uBACT,CACJ,EACApF,EAAAuE,UAAAiB,qBAAA,WACI,IAAInC,EAAIoC,GACPpC,EAAKlD,KAAKuF,YAAc,MAAQrC,SAAY,OAAS,EAAIA,EAAGsC,cAC5DF,EAAKtF,KAAKyF,qBAAuB,MAAQH,SAAY,OAAS,EAAIA,EAAGI,KAAK1F,MAC3EA,KAAK2F,sBACT,EACA9F,EAAAuE,UAAAQ,cAAA,WACU,IAAAgB,EAA4D5F,KAA1DE,EAAoB0F,EAAA1F,qBAAEO,EAAQmF,EAAAnF,SAAEgE,EAAqBmB,EAAAnB,sBAC7DzE,KAAKE,qBAAuBO,IAAaoF,UACnCpB,IAA0B,MAAQA,SAA+B,EAAIA,EAAwBvE,EAC7F1B,EAAc0B,EAAsBO,EAC9C,EACAZ,EAAAuE,UAAA0B,aAAA,SAAaC,GAET,UAAWA,IAAa,SAAU,CAC9B,IACI,IAAMC,EAASC,KAAKC,MAAMH,GAC1B,GAAII,MAAMC,QAAQJ,GAAS,CACvBhG,KAAKM,MAAQ0F,EACb,MACJ,CACJ,CACA,MAAO9C,GAEHlD,KAAKM,MAAQyF,EAAW,CAACA,GAAY,GACrC,MACJ,CACJ,CACA/F,KAAK0E,oBACL1E,KAAK+E,iBACT,EACAlF,EAAAuE,UAAAiC,eAAA,WACI,GAAIrG,KAAKsG,QAAS,CACdtG,KAAKoB,gBAAemF,cAAA,GAAOvG,KAAKsG,QAAO,KAC3C,CACJ,EACAzG,EAAAuE,UAAAoC,uBAAA,WAGIxG,KAAK0E,mBACT,EAIM7E,EAAAuE,UAAAqC,SAAN,W,4FAEKvD,EAAKlD,KAAK0G,aAAe,MAAQxD,SAAY,OAAS,EAAIA,EAAGyD,Q,iBAMlE9G,EAAAuE,UAAAwC,oBAAA,SAAoBC,GAChB,IAAI3D,EACJ,IAAKlD,KAAKiB,OACN,OACJ,GAAI4F,EAAM/E,MAAQ,SAAU,CACxB+E,EAAM9E,iBACN/B,KAAK2B,iBACJuB,EAAKlD,KAAK0G,aAAe,MAAQxD,SAAY,OAAS,EAAIA,EAAGyD,OAClE,CACJ,EACA9G,EAAAuE,UAAAS,sBAAA,eAAA9E,EAAAC,KACIA,KAAKuF,SAAW,IAAIuB,kBAAiB,WACjC/G,EAAKkF,uBACT,IACAjF,KAAKuF,SAASwB,QAAQ/G,KAAKsD,GAAI,CAC3B0D,UAAW,KACXC,QAAS,MAEjB,EACApH,EAAAuE,UAAAa,sBAAA,WACI,IAAI/B,EACJ,IAAMgC,GAAQhC,EAAKlD,KAAKsD,GAAGC,cAAgB,MAAQL,SAAY,OAAS,EAAIA,EAAGiC,cAAc,oBAC7F,IAAKD,EACD,OACJ,IAAMoB,EAAUpB,EAAKgC,iBAAiB,CAAEC,QAAS,OAC5CC,QAAO,SAAC9D,GAAO,OAAAA,EAAG+D,UAAY,QAAf,IACfC,KAAI,SAAAC,GAAO,OACZC,GAAID,EAAIjH,MACRmH,KAAMF,EAAIG,aAAeH,EAAIjH,MAFjB,IAMhB,GAAIgG,EAAQ3D,OAAS,IAAM3C,KAAKoC,WAAapC,KAAKsG,QAAS,CACvDtG,KAAKoB,gBAAkBkF,CAC3B,CACJ,EACAzG,EAAAuE,UAAAuB,qBAAA,WACI,IAAIzC,EACJ,GAAIlD,KAAK2H,qBAAuB9B,UAAW,CACvC+B,OAAOC,aAAa7H,KAAK2H,oBACzB3H,KAAK2H,mBAAqB9B,SAC9B,CACA,GAAI7F,KAAK8H,oBAAsBjC,UAAW,CACtC+B,OAAOC,aAAa7H,KAAK8H,mBACzB9H,KAAK8H,kBAAoBjC,SAC7B,EACC3C,EAAKlD,KAAK+H,mBAAqB,MAAQ7E,SAAY,OAAS,EAAIA,EAAG8E,QACpEhI,KAAK+H,gBAAkBlC,SAC3B,EACAhG,EAAAuE,UAAA/B,2BAAA,SAA2BF,EAAOgC,GAAlC,IAAApE,EAAAC,KAAkC,GAAAmE,SAAA,GAAAA,EAAA,CAAQ,CACtC,IAAIjB,EACJ,IAAKlD,KAAKoC,SACN,OACJ,GAAIpC,KAAK2H,qBAAuB9B,UAAW,CACvC+B,OAAOC,aAAa7H,KAAK2H,mBAC7B,CACA,IAAMM,EAAQxF,KAAKI,IAAI,GAAIK,EAAKlD,KAAKS,YAAc,MAAQyC,SAAY,EAAIA,EAAK,GAChFlD,KAAK2H,mBAAqBC,OAAO3E,YAAW,WACxClD,EAAK4H,mBAAqB9B,UAC1B9F,EAAKmI,aAAa/F,EAAOgC,EAC7B,GAAG8D,EACP,EACApI,EAAAuE,UAAAM,kBAAA,WAEI,IAAMyD,EAAanI,KAAKoI,mBACxB,IAAMC,EAAarI,KAAKsI,gBAExB,IAAMC,EAAmB,GACzB,IAAMC,EAAmB,IAAIC,IAAIzI,KAAKqB,cAAciG,KAAI,SAAAoB,GAAQ,OAACC,OAAOD,EAAKlB,IAAKkB,EAAlB,KAChEP,EAAWS,SAAQ,SAAAC,GAEf,IAAM/F,EAASuF,EAAWS,MAAK,SAAAvB,GAAO,OAAAoB,OAAOpB,EAAIC,MAAQmB,OAAOE,EAA1B,IACtC,GAAI/F,EAAQ,CACRyF,EAAiBQ,KAAKjG,EAC1B,MACK,GAAI0F,EAAiBQ,IAAIL,OAAOE,IAAO,CAGxCN,EAAiBQ,KAAKP,EAAiBS,IAAIN,OAAOE,IACtD,CAIJ,IACA7I,KAAKqB,cAAgBkH,CACzB,EACA1I,EAAAuE,UAAAgE,iBAAA,WAEI,UAAWpI,KAAKM,QAAU,SAAU,CAChC,IACI,IAAM0F,EAASC,KAAKC,MAAMlG,KAAKM,OAC/B,GAAI6F,MAAMC,QAAQJ,GAAS,CACvBhG,KAAKM,MAAQ0F,EACb,OAAOA,CACX,CACJ,CACA,MAAO9C,GAEH,IAAMgG,EAAclJ,KAAKM,MACzBN,KAAKM,MAAQ4I,EAAc,CAACA,GAAe,GAC3C,OAAOlJ,KAAKM,KAChB,CACJ,CACA,OAAO6F,MAAMC,QAAQpG,KAAKM,OAASN,KAAKM,MAAQ,EACpD,EACAT,EAAAuE,UAAAkE,cAAA,WACI,OAAOtI,KAAKsG,SAAWtG,KAAKoB,eAChC,EACAvB,EAAAuE,UAAA5B,mBAAA,WACI,IAAM6F,EAAarI,KAAKsI,gBACxB,IAAMnG,EAAQnC,KAAKkB,YAAYiI,cAC/B,IAAMC,EAAWf,EAAWjB,QAAO,SAAAG,GAE/B,GAAIpF,EAAO,CACP,OAAOoF,EAAIE,KAAK0B,cAAcE,SAASlH,EAC3C,CACA,OAAO,IACX,IAEA,GAAInC,KAAKsJ,WAAatJ,KAAKkB,YAAYqI,QAAUH,EAASzG,SAAW,EAAG,CACpE,MAAO,CAAC,CACA6E,GAAI,aACJC,KAAMzH,KAAKkB,YAAYqI,OACvBC,eAAgB,MAE5B,CACA,OAAOJ,CACX,EACAvJ,EAAAuE,UAAAW,gBAAA,eAAAhF,EAAAC,KACI,IAAIkD,EACJ,IAAKA,EAAKlD,KAAKuE,aAAe,MAAQrB,SAAY,OAAS,EAAIA,EAAGuG,aAAc,CAE5E,IAAMtB,EAAanI,KAAKoI,mBAExB,IAAMsB,EAAW,IAAIC,SACrBxB,EAAWS,SAAQ,SAAAC,GACf,GAAI9I,EAAK6J,KAAM,CACXF,EAASG,OAAO9J,EAAK6J,KAAMf,EAC/B,CACJ,IACA7I,KAAKuE,UAAUkF,aAAaC,GAE5B,GAAI1J,KAAKe,UAAYoH,EAAWxF,SAAW,EAAG,CAC1C3C,KAAKuE,UAAUuF,YAAY,CAAEC,aAAc,MAAQ,qCAAsC/J,KAAK0G,UAClG,KACK,CACD1G,KAAKuE,UAAUuF,YAAY,GAC/B,CACJ,CACJ,EACAjK,EAAAuE,UAAA4F,aAAA,WAEI,GAAIhK,KAAKiK,UAAW,CAChB,OAAOjK,KAAKiK,SAChB,CAEA,IAAMC,EAAU9G,SAAS+B,cAAc,2BACvC,OAAQ+E,IAAY,MAAQA,SAAiB,OAAS,EAAIA,EAAQC,UAAY,IAClF,EACMtK,EAAAuE,UAAA8D,aAAN,SAAAkC,G,iDAAmBjI,EAAOgC,G,+BAAA,GAAAA,SAAA,GAAAA,EAAA,CAAQ,C,4DAE9B,IAAKnE,KAAKoC,SACN,WAEHc,EAAKlD,KAAK+H,mBAAqB,MAAQ7E,SAAY,OAAS,EAAIA,EAAG8E,QACpE,GAAIhI,KAAK8H,oBAAsBjC,UAAW,CACtC+B,OAAOC,aAAa7H,KAAK8H,mBACzB9H,KAAK8H,kBAAoBjC,SAC7B,CACA7F,KAAK+H,gBAAkB,IAAIsC,gBAC3BrK,KAAKgB,QAAU,KAEfhB,KAAK8H,kBAAoBF,OAAO3E,YAAW,WACvC,IAAIC,GACHA,EAAKnD,EAAKgI,mBAAqB,MAAQ7E,SAAY,OAAS,EAAIA,EAAG8E,QACpEjI,EAAK+H,kBAAoBjC,SAC7B,GAAG7F,KAAKU,c,wCAGA4J,OAAG,EACP,IACIA,EAAM,IAAIC,IAAIvK,KAAKoC,SAAUwF,OAAO4C,SAASC,OACjD,CACA,MAAOC,GACH,MAAM,IAAIC,UAAU,qBAAAC,OAAqB5K,KAAKoC,UAClD,CACA,GAAIpC,KAAKQ,cAAgB,MAAO,CAC5B8J,EAAIO,aAAaC,IAAI,SAAU3I,GAC/BmI,EAAIO,aAAaC,IAAI,OAAQnC,OAAOxE,GACxC,CACM8F,EAAYjK,KAAKgK,eACjBe,EAAU,CACZ,eAAgB,mBAChBC,OAAU,oBAEd,GAAIf,EAAW,CACXc,EAAQ,gBAAkBd,CAC9B,CACiB,SAAMgB,MAAMX,EAAIY,WAAYC,OAAOC,OAAO,CAAEC,OAAQrL,KAAKQ,YAAa8K,OAAQtL,KAAK+H,gBAAgBuD,OAAQP,QAAOA,GAAK/K,KAAKQ,cAAgB,QAAU,CACnK+K,KAAMtF,KAAKuF,UAAU,CAAEC,OAAQtJ,EAAOgC,KAAIA,Q,OADxCuH,EAAW9F,EAAA+F,OAIjB,GAAI3L,KAAK8H,oBAAsBjC,UAAW,CACtC+B,OAAOC,aAAa7H,KAAK8H,mBACzB9H,KAAK8H,kBAAoBjC,SAC7B,CACA,IAAK6F,EAASE,GACV,MAAM,IAAIC,MAAM,2BACP,SAAMH,EAASI,Q,OAAtBC,EAAOnG,EAAA+F,OACPK,EAAmBD,EAAKE,QAAQ3E,KAAI,SAAAoB,GAEtC,GAAI3I,EAAKmM,aAAc,CACnB,OAAOnM,EAAKmM,aAAaxD,EAC7B,CAEA,UAAWA,IAAS,UAAYA,IAAS,KAAM,CAC3C,OAAOyC,OAAOC,OAAO,CAAE5D,GAAIkB,EAAKlB,GAAIC,KAAMiB,EAAKjB,MAAQiB,EAC3D,CAEA,MAAO,CACHlB,GAAImB,OAAOD,GACXjB,KAAMkB,OAAOD,GAErB,IACA,GAAIvE,IAAS,EAAG,CACZnE,KAAKoB,gBAAkB4K,CAC3B,KACK,CACDhM,KAAKoB,gBAAemF,4BAAA,GAAOvG,KAAKoB,gBAAe,MAAK4K,EAAgB,KACxE,CACAhM,KAAKuB,QAAUwK,EAAKI,WAAanM,KAAKoB,gBAAgBuB,OAASoJ,EAAKI,WAAa,MACjFnM,KAAKsB,YAAc6C,E,8BAInB,GAAInE,KAAK8H,oBAAsBjC,UAAW,CACtC+B,OAAOC,aAAa7H,KAAK8H,mBACzB9H,KAAK8H,kBAAoBjC,SAC7B,CACA,GAAIuG,EAAMxC,OAAS,aAAc,CAC7ByC,QAAQC,MAAM,0CAA2CF,EAC7D,C,mBAGApM,KAAKgB,QAAU,M,mCAGjBnB,EAAAuE,UAAAmI,aAAN,SAAmBpK,G,yIACf,IAAKnC,KAAKsJ,YAAcnH,EAAMoH,OAC1B,UAEJ,GAAIvJ,KAAKwB,SACL,UACJxB,KAAKwB,SAAW,K,wCAEN8I,EAAM,IAAIC,IAAIvK,KAAKsJ,UAAW1B,OAAO4C,SAASC,QAC9CR,EAAYjK,KAAKgK,eACjBe,EAAU,CACZ,eAAgB,mBAChBC,OAAU,oBAEd,GAAIf,EAAW,CACXc,EAAQ,gBAAkBd,CAC9B,CACiB,SAAMgB,MAAMX,EAAIY,WAAY,CACzCG,OAAQ,OACRN,QAAOA,EACPQ,KAAMtF,KAAKuF,UAAU,CAAE/D,KAAMtF,EAAMoH,Y,OAHjCmC,EAAW9F,EAAA+F,OAKjB,IAAKD,EAASE,GACV,MAAM,IAAIC,MAAM,2BACP,SAAMH,EAASI,Q,OAAtBC,EAAOnG,EAAA+F,OACPa,EAAYrB,OAAOC,OAAO,CAAE5D,GAAIuE,EAAKvE,GAAIC,KAAMsE,EAAKtE,MAAQsE,GAElE/L,KAAKoB,gBAAemF,4BAAA,GAAOvG,KAAKoB,gBAAe,OAAEoL,GAAS,OAE1DxM,KAAKM,MAAKiG,4BAAA,GAAOvG,KAAKM,MAAK,OAAEqI,OAAO6D,EAAUhF,KAAG,OAEjDxH,KAAK0E,oBAEL1E,KAAKI,qBAAqB8B,KAAK,CAC3BC,MAAOA,EAAMoH,OACbiD,UAASA,IAGbxM,KAAKC,qBAAqBiC,KAAK,CAC3BuK,OAAQzM,KAAKM,MACboM,MAAO1M,KAAKqB,gBAGhBrB,KAAKkB,YAAc,GACnBlB,KAAKmB,kBAAoB,EAEzB6D,uBAAsB,WAClB,IAAI9B,GACHA,EAAKnD,EAAK4M,iBAAmB,MAAQzJ,SAAY,OAAS,EAAIA,EAAGyD,OACtE,I,8BAGA0F,QAAQC,MAAM,0CAA2CM,G,mBAGzD5M,KAAKwB,SAAW,M,mCAGxB3B,EAAAuE,UAAAxC,aAAA,eAAA7B,EAAAC,KACI,GAAIA,KAAKO,SACL,OACJP,KAAKyB,UAAY,KACjBzB,KAAKiB,OAAS,KACdjB,KAAKmB,kBAAoB,EAEzB,GAAInB,KAAKoC,UAAYpC,KAAKoB,gBAAgBuB,SAAW,EAAG,CACpD3C,KAAKqC,2BAA2BrC,KAAKkB,YAAa,EACtD,CACA8D,uBAAsB,WAClB,IAAI9B,EACJnD,EAAK8M,oBAEJ3J,EAAKnD,EAAK4M,iBAAmB,MAAQzJ,SAAY,OAAS,EAAIA,EAAGyD,QAElE1D,YAAW,WACPlD,EAAK0B,UAAY,KACrB,GAAG,GACP,GACJ,EACA5B,EAAAuE,UAAAzC,cAAA,WACI3B,KAAKiB,OAAS,MACdjB,KAAKmB,kBAAoB,EACzBnB,KAAKkB,YAAc,GAEnB,GAAIlB,KAAKyF,kBAAmB,CACxBzF,KAAKyF,oBACLzF,KAAKyF,kBAAoBI,SAC7B,CACJ,EACAhG,EAAAuE,UAAAyI,iBAAA,eAAA9M,EAAAC,KACI,IAAKA,KAAK8M,cAAgB9M,KAAK+M,QAC3B,OACJ,IAAMC,EAAchN,KAAK0G,WAAa1G,KAAK8M,YACrC,IAAAlH,EAA2B5F,KAAzBa,EAAQ+E,EAAA/E,SAAEoM,EAAUrH,EAAAqH,WAC5B,IAAMC,EAAiB,WACnB/O,EAAgB6O,EAAajN,EAAKgN,QAAS,CACvCI,UAAW,eACXC,SAAU,WACVC,WAAY,CACRjP,EAAO,IACPC,IACAC,EAAM,CAAEgP,QAAS,IACjB/O,EAAK,CACDgP,MAAO,SAAC3H,G,IAAE4H,EAAK5H,EAAA4H,MAAEC,EAAQ7H,EAAA6H,SACrBtC,OAAOC,OAAOqC,EAASC,SAASC,MAAO,CACnCC,MAAOX,IAAe,MAAQA,SAAoB,EAAIA,EAAa,GAAArC,OAAG4C,EAAMK,UAAUD,MAAK,MAC3F/M,SAAQA,GAEhB,OAGTiN,MAAK,SAAClI,G,IAAEmI,EAACnI,EAAAmI,EAAEC,EAACpI,EAAAoI,EACX,GAAIjO,EAAKgN,QAAS,CACdhN,EAAKgN,QAAQY,MAAMM,KAAO,GAAArD,OAAGmD,EAAC,MAC9BhO,EAAKgN,QAAQY,MAAMO,IAAM,GAAAtD,OAAGoD,EAAC,KACjC,CACJ,GACJ,EAEAd,IAEA,IAAMzH,EAAoBvH,EAAW8O,EAAahN,KAAK+M,QAASG,GAChElN,KAAKyF,kBAAoB,WACrBA,IACA1F,EAAK4F,sBACT,CACJ,EACA9F,EAAAuE,UAAAxB,qBAAA,eAAA7C,EAAAC,KACIgF,uBAAsB,WAClB,IAAI9B,EACJ,IAAMiL,GAAejL,EAAKnD,EAAKqO,aAAe,MAAQlL,SAAY,OAAS,EAAIA,EAAGiC,cAAc,gBAAAyF,OAAgB7K,EAAKoB,iBAAgB,OACrIgN,IAAgB,MAAQA,SAAqB,OAAS,EAAIA,EAAYE,eAAe,CAAEC,MAAO,UAAWC,SAAU,UACvH,GACJ,EACA1O,EAAAuE,UAAAT,aAAA,SAAab,GACT,IAAII,EAEJ,GAAIJ,EAAO0G,eAAgB,CAEvB,IAAKxJ,KAAKwB,SAAU,CAChBxB,KAAKuM,aAAavM,KAAKkB,YAC3B,CACA,MACJ,CACA,IAAMsN,EAAaxO,KAAKM,MAAM+I,SAASV,OAAO7F,EAAO0E,KACrD,GAAIgH,EAAY,CAEZxO,KAAKM,MAAQN,KAAKM,MAAM8G,QAAO,SAAAqH,GAAK,OAAAA,IAAM9F,OAAO7F,EAAO0E,GAApB,GACxC,KACK,CAED,GAAIxH,KAAK0O,eAAiB1O,KAAKM,MAAMqC,QAAU3C,KAAK0O,cAAe,CAC/D,MACJ,CACA1O,KAAKM,MAAKiG,4BAAA,GAAOvG,KAAKM,MAAK,OAAEqI,OAAO7F,EAAO0E,KAAG,MAClD,CAEAxH,KAAK0E,oBAEL1E,KAAKC,qBAAqBiC,KAAK,CAC3BuK,OAAQzM,KAAKM,MACboM,MAAO1M,KAAKqB,iBAGf6B,EAAKlD,KAAK2M,iBAAmB,MAAQzJ,SAAY,OAAS,EAAIA,EAAGyD,OACtE,EACA9G,EAAAuE,UAAArB,aAAA,SAAaD,GAET9C,KAAK2D,aAAab,EACtB,EACAjD,EAAAuE,UAAAuK,wBAAA,WACI,GAAI3O,KAAKqB,cAAcsB,SAAW,EAC9B,OAAO,KACX,OAAQ5E,EAAE,MAAO,CAAE6Q,MAAO,qCAAuC7Q,EAAE,KAAM,CAAE6Q,MAAO,iCAAkCC,KAAM,QAAU7O,KAAKqB,cAAciG,KAAI,SAAAoB,GAAQ,OAAC3K,EAAE,KAAM,CAAE+D,IAAK6G,OAAOD,EAAKlB,IAAKoH,MAAO,kCAAoClG,EAAKjB,KAAjF,KACvK,EACA5H,EAAAuE,UAAA0K,eAAA,eAAA/O,EAAAC,KACI,IAAKA,KAAKiB,OACN,OAAO,KACX,IAAMsB,EAAkBvC,KAAKwC,qBAC7B,IAAM2F,EAAanI,KAAKoI,mBACxB,IAAM2G,IAAoB/O,KAAKsD,GAAG6B,cAAc,kBAChD,IAAM6J,IAAsBhP,KAAKsD,GAAG6B,cAAc,oBAClD,OAAQpH,EAAE,MAAO,CAAE6Q,MAAO,yBAA0BK,IAAK,SAAA3L,GAAM,OAACvD,EAAKgN,QAAUzJ,CAAhB,EAAqBqK,MAAO,CAAE9M,SAAUb,KAAKa,WAAc9C,EAAE,MAAO,CAAE6Q,MAAO,2BAA6B7Q,EAAE,WAAY,CAAE6L,KAAM,SAAUrL,KAAM,UAAYR,EAAE,QAAS,CAAEkR,IAAK,SAAA3L,GAAM,OAACvD,EAAK4M,cAAgBrJ,CAAtB,EAA2B4L,KAAM,OAAQN,MAAO,gCAAiCvO,YAAa,UAAWC,MAAON,KAAKkB,YAAa,aAAc,iBAAkB,gBAAiB,GAAA0J,OAAG5K,KAAKmP,YAAW,YAAY,wBAAyBnP,KAAKmB,kBAAoB,EAAI,GAAAyJ,OAAG5K,KAAKmP,YAAW,YAAAvE,OAAW5K,KAAKmB,kBAAqB0E,UAAWgJ,KAAM,WAAY,gBAAiB,UAAW,gBAAiB,OAAQ,oBAAqB,OAAQO,aAAc,MAAOC,QAASrP,KAAKgC,wBAAyBsN,UAAWtP,KAAKsC,4BAA8BtC,KAAK2O,0BAA2B5Q,EAAE,KAAM,CAAE6Q,MAAO,2BAA4BC,KAAM,UAAW,uBAAwB,OAAQ,aAAc7O,KAAKuP,OAAS,UAAW/H,GAAI,GAAAoD,OAAG5K,KAAKmP,YAAW,YAAYF,IAAK,SAAA3L,GAAM,OAACvD,EAAKqO,UAAY9K,CAAlB,EAAuBqK,MAAO,CAAEhN,UAAWX,KAAKW,WAAa6O,SAAUxP,KAAK8D,cAAgB9D,KAAKgB,SAAYjD,EAAE,KAAM,CAAE6Q,MAAO,2BAA4BC,KAAM,gBAAkBG,EAAqBjR,EAAE,OAAQ,CAAE6L,KAAM,YAAiB7L,EAAE,aAAc,CAAEQ,KAAM,YAAgByB,KAAKgB,SAAWuB,EAAgBI,SAAW,GAAM5E,EAAE,KAAM,CAAE6Q,MAAO,yBAA0BC,KAAM,gBAAkBE,EAAmBhR,EAAE,OAAQ,CAAE6L,KAAM,UAAe7L,EAAE,OAAQ,KAAM,qBAAwBwE,EAAgB+E,KAAI,SAACxE,EAAQe,GAC19C,IAAM2K,EAAarG,EAAWkB,SAASV,OAAO7F,EAAO0E,KACrD,IAAMgC,EAAiB1G,EAAO0G,eAC9B,IAAMiG,EAAgB5L,IAAU9D,EAAKoB,mBAAqBqI,EAC1D,IAAMkG,EAAW,GAAA9E,OAAG7K,EAAKoP,YAAW,YAAAvE,OAAW/G,GAC/C,IAAM8L,EAAmBnG,GAAkBzJ,EAAKyB,SAChD,OAAQzD,EAAE,KAAM,CAAE+D,IAAK6G,OAAO7F,EAAO0E,IAAKA,GAAIkI,EAAUd,MAAO,CACvD,0BAA2B,KAC3B,uCAAwCa,EACxC,oCAAqCjB,EACrC,kCAAmChF,EACnC,oCAAqCmG,GACtCd,KAAM,SAAU,gBAAiBL,EAAa,OAAS,QAAS,gBAAiBmB,EAAmB,OAAS9J,UAAW,aAAc2D,EAAiB,mBAAAoB,OAAmB9H,EAAO2E,MAAS5B,UAAW,aAAchC,EAAO+L,YAAa7P,EAAK2D,sBAAsBZ,GAAS+M,aAAc9P,EAAK6D,uBAAuBC,IAAU2F,EAAkBzL,EAAE,UAAW,CAAE6Q,MAAO,iCAAkC,cAAe,SAAUkB,IAAK,MAAQ/R,EAAE,WAAY,CAAE6L,KAAM,MAAOrL,KAAM,UAAYR,EAAE,WAAY,KAAM,QAAU+E,EAAO2E,KAAM,MAAW1J,EAAE,eAAgB,CAAEoR,YAAa,GAAAvE,OAAG7K,EAAKoP,YAAW,cAAAvE,OAAa/G,GAASkM,QAASvB,EAAYe,MAAOzM,EAAO2E,KAAMkG,MAAO,CAAEqC,cAAe,UAC1qB,IAAIhQ,KAAKuB,UAAYvB,KAAKgB,SAAYjD,EAAE,KAAM,CAAE6Q,MAAO,6BAA8BC,KAAM,gBAAkB9Q,EAAE,aAAc,CAAEQ,KAAM,YACzI,EACAsB,EAAAuE,UAAA6L,eAAA,WACI,IAAMC,EAAQlQ,KAAKqB,cAAcsB,OACjC,GAAIuN,IAAU,EAAG,CACb,OAAOlQ,KAAKK,aAAe,WAC/B,CACA,MAAO,GAAAuK,OAAGsF,EAAK,SAAAtF,OAAQsF,IAAU,EAAI,GAAK,IAC9C,EACArQ,EAAAuE,UAAA+L,OAAA,eAAApQ,EAAAC,KACI,IAAMoQ,EAAgBpQ,KAAKqB,cAAcsB,OAAS,EAClD,OAAQ5E,EAAEC,EAAM,CAAE8D,IAAK,2CAA4C,gBAAiB9B,KAAKO,SAAW,OAAS,MAAQxC,EAAE,MAAO,CAAE+D,IAAK,2CAA4C8M,MAAO,mBAAqB5O,KAAKuP,OAAUxR,EAAE,QAAS,CAAE+D,IAAK,2CAA4CuO,QAASrQ,KAAKmP,YAAaP,MAAO,CACpT,yBAA0B,KAC1B,kBAAmB5O,KAAKc,YACvBd,KAAKuP,OAASxR,EAAE,MAAO,CAAE+D,IAAK,2CAA4C8M,MAAO,2BAA4BK,IAAK,SAAA3L,GAAM,OAACvD,EAAK+M,YAAcxJ,CAApB,EAAyBgN,WAAYtQ,KAAKgD,wBAAyB2K,MAAO,CAAEC,MAAO5N,KAAKY,eAAkB7C,EAAE,SAAU,CAAE+D,IAAK,2CAA4CmN,IAAK,SAAA3L,GAAM,OAACvD,EAAK2G,UAAYpD,CAAlB,EAAuB4L,KAAM,SAAUN,MAAO,CAC3V,2BAA4B,KAC5B,iCAAkC5O,KAAKiB,OACvC,qCAAsCjB,KAAKO,SAC3C,oCAAqCP,KAAKuQ,WAAavQ,KAAKwQ,aAC5D,sCAAuCJ,GACxC5I,GAAIxH,KAAKmP,YAAa5O,SAAUP,KAAKO,SAAU,gBAAiBP,KAAKe,SAAW,OAAS8E,UAAW,gBAAiB7F,KAAKiB,OAAS,OAAS,QAAS,gBAAiB,UAAW,mBAAoBxC,EAAkBuB,KAAKmP,YAAanP,KAAKuQ,WAAavQ,KAAKwQ,aAAcxQ,KAAKwQ,cAAgBxQ,KAAKyQ,eAAgB,eAAgBzQ,KAAKuQ,WAAavQ,KAAKwQ,aAAe,OAAS3K,UAAW6K,QAAS1Q,KAAK0B,mBAAoB4N,UAAWtP,KAAK6B,sBAAwB9D,EAAE,OAAQ,CAAE+D,IAAK,2CAA4C8M,MAAO,CAC/gB,gCAAiC,KACjC,8CAA+CwB,IAC9CpQ,KAAKiQ,kBAAmBlS,EAAE,WAAY,CAAE+D,IAAK,2CAA4C8M,MAAO,wBAAyB+B,KAAMhS,KAAaqB,KAAK8O,kBAAmB9O,KAAKyQ,iBAAmBzQ,KAAKwQ,cAAgBxQ,KAAKwQ,aAAa7N,OAAS,IAAO5E,EAAE,IAAK,CAAE+D,IAAK,2CAA4C8M,MAAO,0BAA2BpH,GAAI9I,EAAUsB,KAAKmP,YAAa,WAAanP,KAAKyQ,eAAiBzQ,KAAKwQ,cAAiBzS,EAAE,IAAK,CAAE+D,IAAK,2CAA4C8M,MAAO,yBAA0BpH,GAAI9I,EAAUsB,KAAKmP,YAAa,UAAYpR,EAAE,WAAY,CAAE+D,IAAK,2CAA4C6O,KAAM/R,EAAQL,KAAM,UAAYyB,KAAKwQ,cAAgBzS,EAAE,MAAO,CAAE+D,IAAK,2CAA4C6L,MAAO,CAAEiD,QAAS,SAAY7S,EAAE,OAAQ,CAAE+D,IAAK,+CAC7xB,EACAqJ,OAAA0F,eAAWhR,EAAA,iBAAc,C,IAAzB,WAA8B,OAAO,IAAM,E,qCAC3CsL,OAAA0F,eAAIhR,EAAAuE,UAAA,KAAE,C,IAAN,WAAW,OAAOnG,EAAW+B,KAAO,E,qCACpCmL,OAAA0F,eAAWhR,EAAA,WAAQ,C,IAAnB,WAAwB,MAAO,CAC3BY,SAAY,CAAC,iBACbH,MAAS,CAAC,gBACVgG,QAAW,CAAC,kBACZlF,gBAAmB,CAAC,0BACrB,E,qCACP,OAAAvB,CAAA,CAztBgD,IA0tBhDD,EAAe+N,MAAQhO,CAExB,EAEJ","ignoreList":[]}
|