@pine-ds/core 3.16.0 → 3.16.2

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.
Files changed (71) hide show
  1. package/components/pds-dropdown-menu-item.js +3 -3
  2. package/components/pds-dropdown-menu-item.js.map +1 -1
  3. package/components/pds-input.js +1 -1
  4. package/components/pds-input.js.map +1 -1
  5. package/components/pds-multiselect.js +42 -6
  6. package/components/pds-multiselect.js.map +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +2 -2
  9. package/dist/cjs/pds-dropdown-menu-item.entry.cjs.js.map +1 -1
  10. package/dist/cjs/pds-input.cjs.entry.js +1 -1
  11. package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
  12. package/dist/cjs/pds-multiselect.cjs.entry.js +42 -6
  13. package/dist/cjs/pds-multiselect.entry.cjs.js.map +1 -1
  14. package/dist/cjs/pine-core.cjs.js +1 -1
  15. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.css +5 -1
  16. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +2 -2
  17. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js.map +1 -1
  18. package/dist/collection/components/pds-input/pds-input.css +10 -0
  19. package/dist/collection/components/pds-input/stories/pds-input.stories.js +8 -0
  20. package/dist/collection/components/pds-multiselect/pds-multiselect.js +42 -6
  21. package/dist/collection/components/pds-multiselect/pds-multiselect.js.map +1 -1
  22. package/dist/docs.json +2 -2
  23. package/dist/esm/loader.js +1 -1
  24. package/dist/esm/pds-dropdown-menu-item.entry.js +2 -2
  25. package/dist/esm/pds-dropdown-menu-item.entry.js.map +1 -1
  26. package/dist/esm/pds-input.entry.js +1 -1
  27. package/dist/esm/pds-input.entry.js.map +1 -1
  28. package/dist/esm/pds-multiselect.entry.js +42 -6
  29. package/dist/esm/pds-multiselect.entry.js.map +1 -1
  30. package/dist/esm/pine-core.js +1 -1
  31. package/dist/esm-es5/loader.js +1 -1
  32. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  33. package/dist/esm-es5/pds-dropdown-menu-item.entry.js.map +1 -1
  34. package/dist/esm-es5/pds-input.entry.js +1 -1
  35. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  36. package/dist/esm-es5/pds-multiselect.entry.js +1 -1
  37. package/dist/esm-es5/pds-multiselect.entry.js.map +1 -1
  38. package/dist/esm-es5/pine-core.js +1 -1
  39. package/dist/pine-core/p-01aec1ad.system.entry.js +2 -0
  40. package/dist/pine-core/{p-5f552640.system.entry.js.map → p-01aec1ad.system.entry.js.map} +1 -1
  41. package/dist/pine-core/p-6748d7b4.entry.js +2 -0
  42. package/dist/pine-core/{p-56cf3af8.entry.js.map → p-6748d7b4.entry.js.map} +1 -1
  43. package/dist/pine-core/p-7ecfe996.entry.js +2 -0
  44. package/dist/pine-core/p-7ecfe996.entry.js.map +1 -0
  45. package/dist/pine-core/{p-ea8aba18.entry.js → p-8eb29dbd.entry.js} +2 -2
  46. package/dist/pine-core/{p-ea8aba18.entry.js.map → p-8eb29dbd.entry.js.map} +1 -1
  47. package/dist/pine-core/p-CCKncKbB.system.js.map +1 -0
  48. package/dist/pine-core/p-DdTbt4lH.system.js.map +1 -0
  49. package/dist/pine-core/p-EnxcYko8.system.js.map +1 -0
  50. package/dist/pine-core/p-JAVnELnm.system.js +1 -1
  51. package/dist/pine-core/p-b61669b4.system.entry.js +2 -0
  52. package/dist/pine-core/p-b61669b4.system.entry.js.map +1 -0
  53. package/dist/pine-core/{p-0c2f13c3.system.entry.js → p-f03f4602.system.entry.js} +2 -2
  54. package/dist/pine-core/{p-0c2f13c3.system.entry.js.map → p-f03f4602.system.entry.js.map} +1 -1
  55. package/dist/pine-core/pds-dropdown-menu-item.entry.esm.js.map +1 -1
  56. package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
  57. package/dist/pine-core/pds-multiselect.entry.esm.js.map +1 -1
  58. package/dist/pine-core/pine-core.esm.js +1 -1
  59. package/dist/types/components/pds-multiselect/pds-multiselect.d.ts +2 -0
  60. package/hydrate/index.js +47 -11
  61. package/hydrate/index.mjs +47 -11
  62. package/package.json +2 -2
  63. package/dist/pine-core/p-56cf3af8.entry.js +0 -2
  64. package/dist/pine-core/p-5f552640.system.entry.js +0 -2
  65. package/dist/pine-core/p-946d7d11.system.entry.js +0 -2
  66. package/dist/pine-core/p-946d7d11.system.entry.js.map +0 -1
  67. package/dist/pine-core/p-C7nuqPJm.system.js.map +0 -1
  68. package/dist/pine-core/p-GH_AtkdO.system.js.map +0 -1
  69. package/dist/pine-core/p-anXbtQm4.system.js.map +0 -1
  70. package/dist/pine-core/p-bf18c945.entry.js +0 -2
  71. package/dist/pine-core/p-bf18c945.entry.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as i,H as s,a as n}from"./p-DHPhrb5T.js";import{a as o,c as r,o as l,f as a,s as d,b as c}from"./p-BO6p966C.js";import{d as h}from"./p-tJa4KYNO.js";import{a as p,m as u}from"./p-DwjNklzi.js";import{e as m,b}from"./p-D094LgxJ.js";const f=":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}";const g=class{constructor(i){e(this,i);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.csrfHeaderName="X-CSRF-Token";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.initialAsyncFetchTriggered=false;this.pendingUnresolvedFetch=false;this.handleTriggerClick=()=>{if(this.disabled)return;if(this.isOpen){this.closeDropdown()}else{this.openDropdown()}};this.handleTriggerKeyDown=e=>{switch(e.key){case"ArrowDown":case"ArrowUp":case"Enter":case" ":e.preventDefault();if(!this.isOpen){this.openDropdown()}break}};this.handleSearchInputChange=e=>{const t=e.target;this.searchQuery=t.value;this.highlightedIndex=-1;this.pdsMultiselectSearch.emit({query:this.searchQuery});if(this.asyncUrl){this.debouncedFetchAsyncOptions(this.searchQuery,1)}};this.handleSearchInputKeyDown=e=>{const t=this.getFilteredOptions();switch(e.key){case"ArrowDown":e.preventDefault();this.highlightedIndex=Math.min(this.highlightedIndex+1,t.length-1);this.scrollOptionIntoView();break;case"ArrowUp":e.preventDefault();this.highlightedIndex=Math.max(this.highlightedIndex-1,0);this.scrollOptionIntoView();break;case"Enter":e.preventDefault();if(this.highlightedIndex>=0){const e=t[this.highlightedIndex];if(e){this.selectOption(e)}}break;case"Tab":this.closeDropdown();break}};this.handleContainerFocusOut=()=>{setTimeout((()=>{var e;if(!this.isOpen||this.isOpening)return;const t=document.activeElement;const i=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.contains(t);const s=t===this.el;if(!i&&!s){this.closeDropdown()}}),0)};this.handleOptionMouseDown=e=>t=>{t.preventDefault();this.toggleOption(e)};this.handleOptionMouseEnter=e=>()=>{this.highlightedIndex=e};this.handleScroll=e=>{if(!this.asyncUrl||!this.hasMore||this.loading)return;const t=e.target;const i=t.scrollHeight-t.scrollTop-t.clientHeight;if(i<50){this.pdsMultiselectLoadOptions.emit({query:this.searchQuery,page:this.currentPage+1});this.debouncedFetchAsyncOptions(this.searchQuery,this.currentPage+1)}}}connectedCallback(){if(this.el.attachInternals&&!this.internals){this.internals=this.el.attachInternals()}}componentWillLoad(){this.originalSearchEmitter=this.pdsMultiselectSearch;this.syncSelectedItems()}componentDidLoad(){this.setupDebounce();this.setupMutationObserver();this.setupSlotChangeListener();this.updateFormValue();requestAnimationFrame((()=>{this.updateOptionsFromSlot();this.syncSelectedItems()}));if(this.asyncUrl&&this.ensureValueArray().length>0){this.initialAsyncFetchTriggered=true;this.fetchOptions("",1)}}setupSlotChangeListener(){var e;const t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("slot:not([name])");if(t){t.addEventListener("slotchange",(()=>{this.updateOptionsFromSlot();this.syncSelectedItems()}));this.updateOptionsFromSlot()}}disconnectedCallback(){var e,t;(e=this.observer)===null||e===void 0?void 0:e.disconnect();(t=this.cleanupAutoUpdate)===null||t===void 0?void 0:t.call(this);this.clearAsyncFetchState()}setupDebounce(){const{pdsMultiselectSearch:e,debounce:t,originalSearchEmitter:i}=this;this.pdsMultiselectSearch=t===undefined?i!==null&&i!==void 0?i:e:h(e,t)}valueChanged(e){if(typeof e==="string"){try{const t=JSON.parse(e);if(Array.isArray(t)){this.value=t;return}}catch(t){this.value=e?[e]:[];return}}this.syncSelectedItems();this.updateFormValue();if(this.asyncUrl){const e=this.ensureValueArray();const t=e.length>0&&this.selectedItems.length<e.length;if(t){if(this.loading){this.pendingUnresolvedFetch=true}else{this.fetchOptions("",1)}}}}optionsChanged(){if(this.options){this.internalOptions=[...this.options]}}internalOptionsChanged(){this.syncSelectedItems()}async setFocus(){var e;(e=this.triggerEl)===null||e===void 0?void 0:e.focus()}handleWindowKeyDown(e){var t;if(!this.isOpen)return;if(e.key==="Escape"){e.preventDefault();this.closeDropdown();(t=this.triggerEl)===null||t===void 0?void 0:t.focus()}}setupMutationObserver(){this.observer=new MutationObserver((()=>{this.updateOptionsFromSlot()}));this.observer.observe(this.el,{childList:true,subtree:true})}updateOptionsFromSlot(){var e;const t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("slot:not([name])");if(!t)return;const i=t.assignedElements({flatten:true}).filter((e=>e.tagName==="OPTION")).map((e=>({id:e.value,text:e.textContent||e.value})));if(i.length>0&&!this.asyncUrl&&!this.options){this.internalOptions=i}}clearAsyncFetchState(){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}debouncedFetchAsyncOptions(e,t=1){var i;if(!this.asyncUrl)return;if(this.fetchDebounceTimer!==undefined){window.clearTimeout(this.fetchDebounceTimer)}const s=Math.max(0,(i=this.debounce)!==null&&i!==void 0?i:0);this.fetchDebounceTimer=window.setTimeout((()=>{this.fetchDebounceTimer=undefined;this.fetchOptions(e,t)}),s)}syncSelectedItems(){const e=this.ensureValueArray();const t=this.getAllOptions();const i=[];const s=new Map(this.selectedItems.map((e=>[String(e.id),e])));e.forEach((e=>{const n=t.find((t=>String(t.id)===String(e)));if(n){i.push(n)}else if(s.has(String(e))){i.push(s.get(String(e)))}}));this.selectedItems=i}ensureValueArray(){if(typeof this.value==="string"){try{const e=JSON.parse(this.value);if(Array.isArray(e)){this.value=e;return e}}catch(e){const t=this.value;this.value=t?[t]:[];return this.value}}return Array.isArray(this.value)?this.value:[]}getAllOptions(){return this.options||this.internalOptions}getFilteredOptions(){const e=this.getAllOptions();const t=this.searchQuery.toLowerCase();const i=e.filter((e=>{if(t){return e.text.toLowerCase().includes(t)}return true}));if(this.createUrl&&this.searchQuery.trim()&&i.length===0){return[{id:"__create__",text:this.searchQuery.trim(),isCreateOption:true}]}return i}updateFormValue(){var e;if((e=this.internals)===null||e===void 0?void 0:e.setFormValue){const e=this.ensureValueArray();const t=new FormData;e.forEach((e=>{if(this.name){t.append(this.name,e)}}));this.internals.setFormValue(t);if(this.required&&e.length===0){this.internals.setValidity({valueMissing:true},"Please select at least one option.",this.triggerEl)}else{this.internals.setValidity({})}}}getCsrfToken(){if(this.csrfToken){return this.csrfToken}const e=document.querySelector('meta[name="csrf-token"]');return(e===null||e===void 0?void 0:e.content)||null}async fetchOptions(e,t=1){var i;if(!this.asyncUrl)return;(i=this.abortController)===null||i===void 0?void 0:i.abort();if(this.fetchTimeoutTimer!==undefined){window.clearTimeout(this.fetchTimeoutTimer);this.fetchTimeoutTimer=undefined}this.abortController=new AbortController;this.loading=true;this.fetchTimeoutTimer=window.setTimeout((()=>{var e;(e=this.abortController)===null||e===void 0?void 0:e.abort();this.fetchTimeoutTimer=undefined}),this.fetchTimeout);try{let i;try{i=new URL(this.asyncUrl,window.location.origin)}catch(e){throw new TypeError(`Invalid asyncUrl: ${this.asyncUrl}`)}if(this.asyncMethod==="GET"){i.searchParams.set("search",e);i.searchParams.set("page",String(t))}const s=this.getCsrfToken();const n={"Content-Type":"application/json",Accept:"application/json"};if(s){const e=this.csrfHeaderName||"X-CSRF-Token";n[e]=s}const o=await fetch(i.toString(),Object.assign({method:this.asyncMethod,signal:this.abortController.signal,headers:n},this.asyncMethod==="POST"&&{body:JSON.stringify({search:e,page:t})}));if(this.fetchTimeoutTimer!==undefined){window.clearTimeout(this.fetchTimeoutTimer);this.fetchTimeoutTimer=undefined}if(!o.ok)throw new Error("Failed to fetch options");const r=await o.json();const l=r.results.map((e=>{if(this.formatResult){return this.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(t===1){this.internalOptions=l}else{this.internalOptions=[...this.internalOptions,...l]}this.hasMore=r.totalCount?this.internalOptions.length<r.totalCount:false;this.currentPage=t}catch(e){if(this.fetchTimeoutTimer!==undefined){window.clearTimeout(this.fetchTimeoutTimer);this.fetchTimeoutTimer=undefined}if(e.name!=="AbortError"){console.error("PdsMultiselect: Failed to fetch options",e)}}finally{this.loading=false;if(this.pendingUnresolvedFetch){this.pendingUnresolvedFetch=false;const e=this.ensureValueArray();const t=e.length>0&&this.selectedItems.length<e.length;if(t){this.fetchOptions("",1)}}}}async createOption(e){if(!this.createUrl||!e.trim())return;if(this.creating)return;this.creating=true;try{const t=new URL(this.createUrl,window.location.origin);const i=this.getCsrfToken();const s={"Content-Type":"application/json",Accept:"application/json"};if(i){const e=this.csrfHeaderName||"X-CSRF-Token";s[e]=i}const n=await fetch(t.toString(),{method:"POST",headers:s,body:JSON.stringify({text:e.trim()})});if(!n.ok)throw new Error("Failed to create option");const o=await n.json();const r=Object.assign({id:o.id,text:o.text},o);this.internalOptions=[...this.internalOptions,r];this.value=[...this.value,String(r.id)];this.syncSelectedItems();this.pdsMultiselectCreate.emit({query:e.trim(),newOption:r});this.pdsMultiselectChange.emit({values:this.value,items:this.selectedItems});this.searchQuery="";this.highlightedIndex=-1;requestAnimationFrame((()=>{var e;(e=this.searchInputEl)===null||e===void 0?void 0:e.focus()}))}catch(e){console.error("PdsMultiselect: Failed to create option",e)}finally{this.creating=false}}openDropdown(){if(this.disabled)return;this.isOpening=true;this.isOpen=true;this.highlightedIndex=-1;if(this.asyncUrl&&this.internalOptions.length===0&&!this.initialAsyncFetchTriggered){this.debouncedFetchAsyncOptions(this.searchQuery,1)}this.initialAsyncFetchTriggered=false;requestAnimationFrame((()=>{var e;this.positionDropdown();(e=this.searchInputEl)===null||e===void 0?void 0:e.focus();setTimeout((()=>{this.isOpening=false}),50)}))}closeDropdown(){this.isOpen=false;this.highlightedIndex=-1;this.searchQuery="";if(this.cleanupAutoUpdate){this.cleanupAutoUpdate();this.cleanupAutoUpdate=undefined}}positionDropdown(){if(!this.containerEl||!this.panelEl)return;const e=this.triggerEl||this.containerEl;const{minWidth:t,panelWidth:i}=this;const s=()=>{r(e,this.panelEl,{placement:"bottom-start",strategy:"absolute",middleware:[l(12),a(),d({padding:8}),c({apply:({rects:e,elements:s})=>{Object.assign(s.floating.style,{width:i!==null&&i!==void 0?i:`${e.reference.width}px`,minWidth:t})}})]}).then((({x:e,y:t})=>{if(this.panelEl){this.panelEl.style.left=`${e}px`;this.panelEl.style.top=`${t}px`}}))};s();const n=o(e,this.panelEl,s);this.cleanupAutoUpdate=()=>{n();this.clearAsyncFetchState()}}scrollOptionIntoView(){requestAnimationFrame((()=>{var e;const t=(e=this.listboxEl)===null||e===void 0?void 0:e.querySelector(`[data-index="${this.highlightedIndex}"]`);t===null||t===void 0?void 0:t.scrollIntoView({block:"nearest",behavior:"smooth"})}))}toggleOption(e){var t;if(e.isCreateOption){if(!this.creating){this.createOption(this.searchQuery)}return}const i=this.value.includes(String(e.id));if(i){this.value=this.value.filter((t=>t!==String(e.id)))}else{if(this.maxSelections&&this.value.length>=this.maxSelections){return}this.value=[...this.value,String(e.id)]}this.syncSelectedItems();this.pdsMultiselectChange.emit({values:this.value,items:this.selectedItems});(t=this.searchInputEl)===null||t===void 0?void 0:t.focus()}selectOption(e){this.toggleOption(e)}renderSelectedItemsList(){if(this.selectedItems.length===0)return null;return i("div",{class:"pds-multiselect__selected-section"},i("ul",{class:"pds-multiselect__selected-list",role:"list"},this.selectedItems.map((e=>i("li",{key:String(e.id),class:"pds-multiselect__selected-item"},e.text)))))}renderDropdown(){if(!this.isOpen)return null;const e=this.getFilteredOptions();const t=this.ensureValueArray();const s=!!this.el.querySelector('[slot="empty"]');const n=!!this.el.querySelector('[slot="loading"]');return i("div",{class:"pds-multiselect__panel",ref:e=>this.panelEl=e,style:{minWidth:this.minWidth}},i("div",{class:"pds-multiselect__search"},i("pds-icon",{name:"search",size:"small"}),i("input",{ref:e=>this.searchInputEl=e,type:"text",class:"pds-multiselect__search-input",placeholder:"Find...",value:this.searchQuery,"aria-label":"Search options","aria-controls":`${this.componentId}-listbox`,"aria-activedescendant":this.highlightedIndex>=0?`${this.componentId}-option-${this.highlightedIndex}`:undefined,role:"combobox","aria-haspopup":"listbox","aria-expanded":"true","aria-autocomplete":"list",autocomplete:"off",onInput:this.handleSearchInputChange,onKeyDown:this.handleSearchInputKeyDown})),this.renderSelectedItemsList(),i("ul",{class:"pds-multiselect__listbox",role:"listbox","aria-multiselectable":"true","aria-label":this.label||"Options",id:`${this.componentId}-listbox`,ref:e=>this.listboxEl=e,style:{maxHeight:this.maxHeight},onScroll:this.handleScroll},this.loading&&i("li",{class:"pds-multiselect__loading",role:"presentation"},n?i("slot",{name:"loading"}):i("pds-loader",{size:"small"})),!this.loading&&e.length===0&&i("li",{class:"pds-multiselect__empty",role:"presentation"},s?i("slot",{name:"empty"}):i("span",null,"No options found")),e.map(((e,s)=>{const n=t.includes(String(e.id));const o=e.isCreateOption;const r=s===this.highlightedIndex&&!o;const l=`${this.componentId}-option-${s}`;const a=o&&this.creating;return i("li",{key:String(e.id),id:l,class:{"pds-multiselect__option":true,"pds-multiselect__option--highlighted":r,"pds-multiselect__option--selected":n,"pds-multiselect__option--create":o,"pds-multiselect__option--disabled":a},role:"option","aria-selected":n?"true":"false","aria-disabled":a?"true":undefined,"aria-label":o?`Create new tag: ${e.text}`:undefined,"data-index":s,onMouseDown:this.handleOptionMouseDown(e),onMouseEnter:this.handleOptionMouseEnter(s)},o?i("pds-box",{class:"pds-multiselect__create-option","align-items":"center",gap:"xs"},i("pds-icon",{name:"add",size:"small"}),i("pds-text",null,'Add "',e.text,'"')):i("pds-checkbox",{componentId:`${this.componentId}-checkbox-${s}`,checked:n,label:e.text,style:{pointerEvents:"none"}}))})),this.hasMore&&!this.loading&&i("li",{class:"pds-multiselect__load-more",role:"presentation"},i("pds-loader",{size:"small"}))))}getTriggerText(){const e=this.selectedItems.length;if(e===0){return this.placeholder||"Select..."}return`${e} item${e===1?"":"s"}`}render(){const e=this.selectedItems.length>0;return i(s,{key:"52253faa88bce1a67e657e160b2d260ff92bc28b","aria-disabled":this.disabled?"true":null},i("div",{key:"43f73781a96bd421b7079984aaf4e1905a2ec29e",class:"pds-multiselect"},this.label&&i("label",{key:"926e23ac24621da0af4336bfc64b9d4a6d44579b",htmlFor:this.componentId,class:{"pds-multiselect__label":true,"visually-hidden":this.hideLabel}},this.label),i("div",{key:"5051808a8b883ee8b5e7e3acef927091f206aaaf",class:"pds-multiselect__wrapper",ref:e=>this.containerEl=e,onFocusout:this.handleContainerFocusOut,style:{width:this.triggerWidth}},i("button",{key:"4590bd41e14927fc9d652e0920b0cd7900bf4b1a",ref:e=>this.triggerEl=e,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":e},id:this.componentId,disabled:this.disabled,"aria-required":this.required?"true":undefined,"aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-describedby":p(this.componentId,this.invalid||!!this.errorMessage,this.errorMessage||this.helperMessage),"aria-invalid":this.invalid||!!this.errorMessage?"true":undefined,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},i("span",{key:"3033d029f02288071a16b2ef4a5399bb4b86ae7e",class:{"pds-multiselect__trigger-text":true,"pds-multiselect__trigger-text--placeholder":!e}},this.getTriggerText()),i("pds-icon",{key:"4d971d7a95e5e47c9141a6614f71b194bfa74dfb",class:"pds-multiselect__icon",icon:m})),this.renderDropdown()),this.helperMessage&&!(this.errorMessage&&this.errorMessage.length>0)&&i("p",{key:"3571fafc7c78f785ccd7a1a8d73675b5e33fa317",class:"pds-multiselect__helper",id:u(this.componentId,"helper")},this.helperMessage),this.errorMessage&&i("p",{key:"4acd308de067093578520a4ec85f299960f6e2c0",class:"pds-multiselect__error",id:u(this.componentId,"error")},i("pds-icon",{key:"a4cdf56804b77e474b9c757512ed6da54ddc5535",icon:b,size:"small"}),this.errorMessage),i("div",{key:"10eac87a742d793b3f4e3acb55bbe469b547e3d3",style:{display:"none"}},i("slot",{key:"1d55851a6f4a35f86684af5be7b6c840c2ed083b"}))))}static get formAssociated(){return true}get el(){return n(this)}static get watchers(){return{debounce:["setupDebounce"],value:["valueChanged"],options:["optionsChanged"],internalOptions:["internalOptionsChanged"]}}};g.style=f;export{g as pds_multiselect};
2
+ //# sourceMappingURL=p-7ecfe996.entry.js.map
@@ -0,0 +1 @@
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","csrfHeaderName","isOpen","searchQuery","highlightedIndex","internalOptions","selectedItems","currentPage","hasMore","creating","isOpening","initialAsyncFetchTriggered","pendingUnresolvedFetch","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","ensureValueArray","fetchOptions","slot","querySelector","addEventListener","disconnectedCallback","_b","observer","disconnect","cleanupAutoUpdate","call","clearAsyncFetchState","undefined","valueChanged","newValue","parsed","JSON","parse","Array","isArray","valueArray","hasUnresolvedValues","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","allOptions","getAllOptions","newSelectedItems","existingItemsMap","Map","item","String","forEach","val","find","push","has","get","singleValue","toLowerCase","filtered","includes","createUrl","trim","isCreateOption","setFormValue","formData","FormData","name","append","setValidity","valueMissing","getCsrfToken","csrfToken","metaTag","content","AbortController","url","URL","location","origin","urlError","TypeError","searchParams","set","headers","Accept","headerName","response","fetch","toString","Object","assign","method","signal","body","stringify","search","ok","Error","data","json","formattedResults","results","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","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":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,c as r,h as i,H as t,a as n}from"./p-DHPhrb5T.js";import{a as s,m as d}from"./p-DwjNklzi.js";import{i as o}from"./p-C0M1gTKv.js";import{d as a}from"./p-tJa4KYNO.js";import{b as p}from"./p-D094LgxJ.js";const l=":host{--pine-input-color-background-danger:var(--pine-color-red-050)}";const u=":host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}";const c=":host{--pds-input-background:var(--pine-color-background-container);--pds-input-border-color:var(--pine-color-border);--pds-input-border-color-hover:var(--pine-color-border-hover);--pds-input-border-color-disabled:var(--pine-color-border-disabled);--pds-input-border-radius:var(--pine-dimension-125);--pds-input-border-width:var(--pine-border-width-thin);--pds-input-padding-x:var(--pine-dimension-150);--pds-input-padding-y:calc(var(--pine-dimension-xs) - var(--pine-border-width));--pds-input-font:var(--pine-typography-body);--pds-input-text-color:var(--pine-color-text-strong);--pds-input-placeholder-color:var(--pine-color-text-placeholder);--pds-input-icon-color:var(--pine-color-text-secondary);--pds-input-disabled-background:var(--pine-color-background-container-disabled);--pds-input-disabled-text-color:var(--pine-color-text-disabled);--pds-input-error-color:var(--pine-color-text-message-danger);--pds-input-error-background:var(--pine-input-color-background-danger);--pds-input-error-border:var(--pine-color-border-danger);--pds-input-error-border-hover:var(--pine-color-border-danger-hover);--pds-input-addon-background:var(--pine-color-background-subtle);--pds-input-addon-color:var(--pine-color-text-secondary);--pds-input-field-min-height:var(--pine-dimension-450);--box-shadow-focus:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring-danger);display:inline}:host pds-select::part(select){background-color:var(--pds-input-error-background);border-color:var(--pds-input-error-border)}:host::part(prefix),:host::part(suffix){-ms-flex-align:center;align-items:center;color:var(--pine-color-text-label-readonly);display:-ms-flexbox;display:flex;height:100%;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);white-space:nowrap;z-index:var(--pine-z-index-raised)}:host::part(prefix){border-end-start-radius:var(--pds-input-border-radius);-webkit-border-end:var(--pine-border-width-none);border-inline-end:var(--pine-border-width-none);border-start-start-radius:var(--pds-input-border-radius);left:var(--pds-input-padding-x)}:host::part(suffix){border-end-end-radius:var(--pds-input-border-radius);-webkit-border-start:var(--pine-border-width-none);border-inline-start:var(--pine-border-width-none);border-start-end-radius:var(--pds-input-border-radius);right:var(--pds-input-padding-x)}:host::part(prepend),:host::part(append){-ms-flex-align:center;align-items:center;background-color:var(--pds-input-addon-background);border:var(--pds-input-border-width) solid var(--pds-input-border-color);color:var(--pds-input-addon-color);display:-ms-flexbox;display:flex;overflow:visible}:host::part(prepend){border-end-start-radius:var(--pds-input-border-radius);-webkit-border-end:var(--pine-border-width-none);border-inline-end:var(--pine-border-width-none);border-start-start-radius:var(--pds-input-border-radius)}:host::part(append){border-end-end-radius:var(--pds-input-border-radius);-webkit-border-start:var(--pine-border-width-none);border-inline-start:var(--pine-border-width-none);border-start-end-radius:var(--pds-input-border-radius)}:host([has-prepend]) ::slotted(pds-button[slot=prepend]){--pds-button-background:var(--pds-input-addon-background);--pds-button-border:var(--pine-border-width-none);--pds-button-border-radius:var(--pine-dimension-none);--pds-button-border-radius-end-end:var(--pine-dimension-none);--pds-button-border-radius-start-end:var(--pine-dimension-none);--pds-button-border-radius-start-start:var(--pds-input-border-radius);--pds-button-border-radius-end-start:var(--pds-input-border-radius);--pds-button-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)));--pds-button-box-shadow-focus:0 0 0 3px var(--pine-color-focus-ring);--pds-button-outline-focus:none}:host([has-append]) ::slotted(pds-button[slot=append]){--pds-button-background:var(--pds-input-addon-background);--pds-button-border:var(--pine-border-width-none);--pds-button-border-radius:var(--pine-dimension-none);--pds-button-border-radius-end-start:var(--pine-dimension-none);--pds-button-border-radius-start-start:var(--pine-dimension-none);--pds-button-border-radius-start-end:var(--pds-input-border-radius);--pds-button-border-radius-end-end:var(--pds-input-border-radius);--pds-button-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)));--pds-button-box-shadow-focus:0 0 0 3px var(--pine-color-focus-ring);--pds-button-outline-focus:none}:host([has-prepend]) ::slotted(pds-select[slot=prepend]){--pds-select-background:var(--pds-input-addon-background);--pds-select-border:var(--pine-border-width-none);--pds-select-border-radius-end-end:var(--pine-dimension-none);--pds-select-border-radius-start-end:var(--pine-dimension-none);--pds-select-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)))}:host([has-append]) ::slotted(pds-select[slot=append]){--pds-select-background:var(--pds-input-addon-background);--pds-select-border:var(--pine-border-width-none);--pds-select-border-radius-end-start:var(--pine-dimension-none);--pds-select-border-radius-start-start:var(--pine-dimension-none);--pds-select-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)))}:host([aria-readonly=true]) input{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-readonly)}:host([disabled=true])::part(prepend),:host([disabled=true])::part(append){background-color:var(--pds-input-disabled-background);border:var(--pds-input-border-width) solid var(--pds-input-border-color-disabled)}:host([full-width=true]){width:100%}:host([invalid=true])::part(prepend),:host([invalid=true])::part(append){background-color:var(--pds-input-error-background);border:var(--pds-input-border-width) solid var(--pds-input-error-border)}:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true])){--pds-input-background:var(--pine-color-accent-disabled);--pds-input-border-color:var(--pine-color-accent);--pds-input-border-color-hover:var(--pine-color-accent-hover);--pds-input-text-color:var(--pine-color-text-accent)}:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true]))::part(prefix),:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true]))::part(suffix){color:var(--pine-color-text-accent)}:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true])) .pds-input__field:focus-visible{outline-color:var(--pine-color-focus-ring)}.pds-input{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.pds-input__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-input__label{color:var(--pine-color-text-strong);-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-input__label-wrapper .pds-input__label{-webkit-margin-after:0;margin-block-end:0}.pds-input__action{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}.pds-input__field-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;position:relative;width:100%}.pds-input__field-wrapper.has-prefix .pds-input__field{-webkit-padding-start:calc(2 * var(--pds-input-padding-x) + var(--prefix-width, 1em));padding-inline-start:calc(2 * var(--pds-input-padding-x) + var(--prefix-width, 1em))}.pds-input__field-wrapper.has-suffix .pds-input__field{-webkit-padding-end:calc(2 * var(--pds-input-padding-x) + var(--suffix-width, 1em));padding-inline-end:calc(2 * var(--pds-input-padding-x) + var(--suffix-width, 1em))}.pds-input__field-wrapper.has-prepend .pds-input__field{border-end-start-radius:var(--pine-dimension-none);border-start-start-radius:var(--pine-dimension-none)}.pds-input__field-wrapper.has-append .pds-input__field{border-end-end-radius:var(--pine-dimension-none);border-start-end-radius:var(--pine-dimension-none)}.pds-input__field{background:var(--pds-input-background);border:var(--pds-input-border-width) solid var(--pds-input-border-color);border-radius:var(--pds-input-border-radius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pds-input-text-color);-ms-flex:1;flex:1;font:var(--pds-input-font);letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-input-field-min-height);min-width:var(--pine-dimension-none);padding:var(--pds-input-padding-y) var(--pds-input-padding-x);-webkit-transition:border-color 0.2s ease;transition:border-color 0.2s ease;width:100%}.pds-input__field:hover:not(:disabled){border-color:var(--pds-input-border-color-hover)}.pds-input__field:disabled{background:var(--pds-input-disabled-background);border-color:var(--pine-color-border-disabled);color:var(--pds-input-disabled-text-color);cursor:not-allowed}.pds-input__field:disabled::-webkit-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::-moz-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled:-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::placeholder{color:var(--pine-color-text-placeholder-disabled)}.has-error .pds-input__field:hover:not(:disabled){border-color:var(--pds-input-error-border-hover)}:host-context([data-theme=dark]) .has-error .pds-input__field:hover:not(:disabled){border-color:var(--pine-color-red-950)}.pds-input__field:focus-visible:not(.has-error){border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width);position:relative;z-index:1}:host([has-prepend]) .pds-input__field:focus-visible:not(.has-error),:host([has-append]) .pds-input__field:focus-visible:not(.has-error),:host([has-prefix]) .pds-input__field:focus-visible:not(.has-error),:host([has-suffix]) .pds-input__field:focus-visible:not(.has-error){outline-offset:var(--pine-dimension-none)}.pds-input__field::-webkit-input-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field::-moz-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field:-ms-input-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field::-ms-input-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field::placeholder{color:var(--pds-input-placeholder-color)}.has-error .pds-input__field{background-color:var(--pds-input-error-background);border-color:var(--pds-input-error-border)}:host-context([data-theme=dark]) .has-error .pds-input__field{background-color:var(--pine-color-red-950)}.has-error .pds-input__field:focus-visible{outline-color:var(--pine-color-focus-ring-danger);position:relative;z-index:1}.pds-input__error-message,.pds-input__helper-message{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm-medium);-webkit-margin-after:var(--pine-dimension-none);margin-block-end:var(--pine-dimension-none);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-input__error-message{color:var(--pds-input-error-color);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-input__error-message pds-icon{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.visually-hidden{border:0;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:0;position:absolute;white-space:nowrap;width:1px}";const h=class{constructor(i){e(this,i);this.pdsBlur=r(this,"pdsBlur");this.pdsChange=r(this,"pdsChange");this.pdsFocus=r(this,"pdsFocus");this.pdsInput=r(this,"pdsInput");this.pdsKeyDown=r(this,"pdsKeyDown");this.inheritedAttributes={};this.isComposing=false;this.hasPrefix=false;this.hasSuffix=false;this.hasPrepend=false;this.hasAppend=false;this.hasAction=false;this.type="text";this.value="";this.hasFocus=false;this.onInputEvent=e=>{const r=e.target;if(r){this.value=r.value||""}this.emitInputChange(e)};this.onChangeEvent=e=>{this.emitValueChange(e)};this.onBlurEvent=e=>{this.hasFocus=false;if(this.focusedValue!==this.value){this.emitValueChange(e)}this.pdsBlur.emit(e)};this.onFocusEvent=e=>{this.hasFocus=true;this.focusedValue=this.value;this.pdsFocus.emit(e)};this.onCompositionStart=()=>{this.isComposing=true};this.onCompositionEnd=()=>{this.isComposing=false};this.onKeyDownEvent=e=>{this.pdsKeyDown.emit(e)}}async setFocus(){if(this.nativeInput){this.nativeInput.focus()}}updateAddonWidths(){requestAnimationFrame((()=>{if(this.prefixEl){const e=this.prefixEl.offsetWidth;this.el.style.setProperty("--prefix-width",`${e}px`)}if(this.suffixEl){const e=this.suffixEl.offsetWidth;this.el.style.setProperty("--suffix-width",`${e}px`)}}))}renderPrefix(){const e=this.el.querySelector('[slot="prefix"]')!==null;if(e){return i("div",{class:"pds-input__prefix",part:"prefix",ref:e=>this.prefixEl=e},i("slot",{name:"prefix",onSlotchange:()=>this.updateAddonWidths()}))}return null}renderSuffix(){const e=this.el.querySelector('[slot="suffix"]')!==null;if(e){return i("div",{class:"pds-input__suffix",part:"suffix",ref:e=>this.suffixEl=e},i("slot",{name:"suffix",onSlotchange:()=>this.updateAddonWidths()}))}return null}renderPrepend(){const e=this.el.querySelector('[slot="prepend"]')!==null;if(e){return i("div",{class:"pds-input__prepend",part:"prepend"},i("slot",{name:"prepend"}))}return null}renderAppend(){const e=this.el.querySelector('[slot="append"]')!==null;if(e){return i("div",{class:"pds-input__append",part:"append"},i("slot",{name:"append"}))}return null}renderAction(){const e=this.el.querySelector('[slot="action"]')!==null;if(e){return i("div",{class:"pds-input__action",part:"action"},i("slot",{name:"action"}))}return null}componentWillLoad(){this.inheritedAttributes=Object.assign({},o(this.el));this.hasPrefix=this.el.querySelector('[slot="prefix"]')!==null;this.hasSuffix=this.el.querySelector('[slot="suffix"]')!==null;this.hasPrepend=this.el.querySelector('[slot="prepend"]')!==null;this.hasAppend=this.el.querySelector('[slot="append"]')!==null;this.hasAction=this.el.querySelector('[slot="action"]')!==null;this.originalPdsInput=this.pdsInput}connectedCallback(){if(this.el.attachInternals&&!this.internals){this.internals=this.el.attachInternals()}}componentDidLoad(){this.debounceChanged();this.updateAddonWidths();this.updateFormValue()}componentDidUpdate(){this.updateAddonWidths()}debounceChanged(){const{pdsInput:e,debounce:r,originalPdsInput:i}=this;this.pdsInput=r===undefined?i!==null&&i!==void 0?i:e:a(e,r)}valueChanged(){const e=this.nativeInput;const r=this.getValue();if(e&&e.value!==r&&!this.isComposing){e.value=r}this.updateFormValue()}getValue(){return typeof this.value==="number"?this.value.toString():(this.value||"").toString()}emitValueChange(e){const{value:r}=this;const i=r==null?r:r.toString();this.focusedValue=i;this.pdsChange.emit({value:i,event:e})}emitInputChange(e){const{value:r}=this;const i=r==null?r:r.toString();this.pdsInput.emit({value:i,event:e})}updateFormValue(){if(this.internals&&this.internals.setFormValue){const e=this.getValue();this.internals.setFormValue(e||null);if(this.nativeInput&&this.internals&&this.internals.setValidity){this.internals.setValidity(this.nativeInput.validity,this.nativeInput.validationMessage,this.nativeInput)}}}formResetCallback(){this.value="";this.updateFormValue()}formDisabledCallback(e){this.disabled=e}formStateRestoreCallback(e){if(typeof e==="string"){this.value=e}else if(e instanceof FormData&&this.name){const r=e.get(this.name);if(typeof r==="string"){this.value=r}}}render(){const{componentId:e,disabled:r,errorMessage:n,helperMessage:o,invalid:a=false,label:l}=this;const u=this.getValue();const c={"pds-input__field-wrapper":true,"has-focus":this.hasFocus,"has-error":a||!!n,"is-disabled":r,"has-prefix":this.hasPrefix,"has-suffix":this.hasSuffix,"has-prepend":this.hasPrepend,"has-append":this.hasAppend};return i(t,{key:"ff25f2310e8d1755534fe3f27b391447d6014f76","aria-disabled":this.disabled?"true":null,"aria-readonly":this.readonly?"true":null,"has-prefix":this.hasPrefix?"true":null,"has-suffix":this.hasSuffix?"true":null,"has-prepend":this.hasPrepend?"true":null,"has-append":this.hasAppend?"true":null,"has-action":this.hasAction&&!this.hideLabel?"true":null,"full-width":this.fullWidth?"true":null},i("div",{key:"e337c4a828eb7641a41caffec2508fa9b12a2eeb",class:"pds-input"},l&&i("div",{key:"8df0800a08156e1755ae7460ad7ddd51a1301f27",class:"pds-input__label-wrapper"},i("label",{key:"ed2978d0c9b841bfa8f929ab7072461b231ab5b2",htmlFor:e,class:"pds-input__label"},i("span",{key:"23ab3abd0ecff326110cbde065d3a3cb733ec832",class:this.hideLabel?"visually-hidden":""},l,this.required&&i("span",{key:"1bdafb028b48e37c9999db0c8f2d1718f8566e05",class:"pds-input__required-indicator"}," *"))),!this.hideLabel&&this.renderAction()),i("div",{key:"e06ba19e8d40271345e27f791efb79817cc723f7",class:c},this.renderPrepend(),this.renderPrefix(),i("input",Object.assign({key:"d7a2d70a03130a431b527f5bf75888d1db55bd5e",ref:e=>this.nativeInput=e,class:"pds-input__field","aria-describedby":s(e,a,o),"aria-invalid":a?"true":undefined,autocomplete:this.autocomplete,disabled:r,id:e,max:this.max,maxlength:this.maxlength,min:this.min,minlength:this.minlength,name:this.name,pattern:this.pattern,placeholder:this.placeholder,readOnly:this.readonly,required:this.required,step:this.step,type:this.type,value:u,onInput:this.onInputEvent,onChange:this.onChangeEvent,onBlur:this.onBlurEvent,onFocus:this.onFocusEvent,onKeyDown:this.onKeyDownEvent,onCompositionstart:this.onCompositionStart,onCompositionend:this.onCompositionEnd},this.inheritedAttributes)),this.renderSuffix(),this.renderAppend()),o&&i("p",{key:"d0f58791f013578fc34f36711a95b4f2e655bcda",class:"pds-input__helper-message",id:d(e,"helper")},o),n&&i("p",{key:"b511338e9c05cfb4c9363a9227c8e208b9f645e1",class:"pds-input__error-message",id:d(e,"error")},i("pds-icon",{key:"4eaaf16d77e23486aad12369919cd4e03768ff3a",icon:p,size:"small"}),n)))}static get formAssociated(){return true}get el(){return n(this)}static get watchers(){return{debounce:["debounceChanged"],value:["valueChanged"]}}};h.style=l+(u+c);export{h as pds_input};
2
- //# sourceMappingURL=p-ea8aba18.entry.js.map
1
+ import{r as e,c as r,h as i,H as t,a as n}from"./p-DHPhrb5T.js";import{a as s,m as d}from"./p-DwjNklzi.js";import{i as o}from"./p-C0M1gTKv.js";import{d as a}from"./p-tJa4KYNO.js";import{b as p}from"./p-D094LgxJ.js";const l=":host{--pine-input-color-background-danger:var(--pine-color-red-050)}";const u=":host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}";const c=":host{--pds-input-background:var(--pine-color-background-container);--pds-input-border-color:var(--pine-color-border);--pds-input-border-color-hover:var(--pine-color-border-hover);--pds-input-border-color-disabled:var(--pine-color-border-disabled);--pds-input-border-radius:var(--pine-dimension-125);--pds-input-border-width:var(--pine-border-width-thin);--pds-input-padding-x:var(--pine-dimension-150);--pds-input-padding-y:calc(var(--pine-dimension-xs) - var(--pine-border-width));--pds-input-font:var(--pine-typography-body);--pds-input-text-color:var(--pine-color-text-strong);--pds-input-placeholder-color:var(--pine-color-text-placeholder);--pds-input-icon-color:var(--pine-color-text-secondary);--pds-input-disabled-background:var(--pine-color-background-container-disabled);--pds-input-disabled-text-color:var(--pine-color-text-disabled);--pds-input-error-color:var(--pine-color-text-message-danger);--pds-input-error-background:var(--pine-input-color-background-danger);--pds-input-error-border:var(--pine-color-border-danger);--pds-input-error-border-hover:var(--pine-color-border-danger-hover);--pds-input-addon-background:var(--pine-color-background-subtle);--pds-input-addon-color:var(--pine-color-text-secondary);--pds-input-field-min-height:var(--pine-dimension-450);--box-shadow-focus:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring-danger);display:inline}:host pds-select::part(select){background-color:var(--pds-input-error-background);border-color:var(--pds-input-error-border)}:host::part(prefix),:host::part(suffix){-ms-flex-align:center;align-items:center;color:var(--pine-color-text-label-readonly);display:-ms-flexbox;display:flex;height:100%;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);white-space:nowrap;z-index:var(--pine-z-index-raised)}:host::part(prefix){border-end-start-radius:var(--pds-input-border-radius);-webkit-border-end:var(--pine-border-width-none);border-inline-end:var(--pine-border-width-none);border-start-start-radius:var(--pds-input-border-radius);left:var(--pds-input-padding-x)}:host::part(suffix){border-end-end-radius:var(--pds-input-border-radius);-webkit-border-start:var(--pine-border-width-none);border-inline-start:var(--pine-border-width-none);border-start-end-radius:var(--pds-input-border-radius);right:var(--pds-input-padding-x)}:host::part(prepend),:host::part(append){-ms-flex-align:center;align-items:center;background-color:var(--pds-input-addon-background);border:var(--pds-input-border-width) solid var(--pds-input-border-color);color:var(--pds-input-addon-color);display:-ms-flexbox;display:flex;overflow:visible}:host::part(prepend){border-end-start-radius:var(--pds-input-border-radius);-webkit-border-end:var(--pine-border-width-none);border-inline-end:var(--pine-border-width-none);border-start-start-radius:var(--pds-input-border-radius)}:host::part(append){border-end-end-radius:var(--pds-input-border-radius);-webkit-border-start:var(--pine-border-width-none);border-inline-start:var(--pine-border-width-none);border-start-end-radius:var(--pds-input-border-radius)}:host([has-prepend]) ::slotted(pds-button[slot=prepend]){--pds-button-background:var(--pds-input-addon-background);--pds-button-border:var(--pine-border-width-none);--pds-button-border-radius:var(--pine-dimension-none);--pds-button-border-radius-end-end:var(--pine-dimension-none);--pds-button-border-radius-start-end:var(--pine-dimension-none);--pds-button-border-radius-start-start:var(--pds-input-border-radius);--pds-button-border-radius-end-start:var(--pds-input-border-radius);--pds-button-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)));--pds-button-box-shadow-focus:0 0 0 3px var(--pine-color-focus-ring);--pds-button-outline-focus:none}:host([has-append]) ::slotted(pds-button[slot=append]){--pds-button-background:var(--pds-input-addon-background);--pds-button-border:var(--pine-border-width-none);--pds-button-border-radius:var(--pine-dimension-none);--pds-button-border-radius-end-start:var(--pine-dimension-none);--pds-button-border-radius-start-start:var(--pine-dimension-none);--pds-button-border-radius-start-end:var(--pds-input-border-radius);--pds-button-border-radius-end-end:var(--pds-input-border-radius);--pds-button-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)));--pds-button-box-shadow-focus:0 0 0 3px var(--pine-color-focus-ring);--pds-button-outline-focus:none}:host([has-prepend]) ::slotted(pds-select[slot=prepend]){--pds-select-background:var(--pds-input-addon-background);--pds-select-border:var(--pine-border-width-none);--pds-select-border-radius-end-end:var(--pine-dimension-none);--pds-select-border-radius-start-end:var(--pine-dimension-none);--pds-select-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)))}:host([has-append]) ::slotted(pds-select[slot=append]){--pds-select-background:var(--pds-input-addon-background);--pds-select-border:var(--pine-border-width-none);--pds-select-border-radius-end-start:var(--pine-dimension-none);--pds-select-border-radius-start-start:var(--pine-dimension-none);--pds-select-min-height:calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)))}:host([aria-readonly=true]) input{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-readonly)}:host([disabled=true])::part(prepend),:host([disabled=true])::part(append){background-color:var(--pds-input-disabled-background);border:var(--pds-input-border-width) solid var(--pds-input-border-color-disabled)}:host([full-width=true]){width:100%}:host([invalid=true])::part(prepend),:host([invalid=true])::part(append){background-color:var(--pds-input-error-background);border:var(--pds-input-border-width) solid var(--pds-input-error-border)}:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true])){--pds-input-background:var(--pine-color-accent-disabled);--pds-input-border-color:var(--pine-color-accent);--pds-input-border-color-hover:var(--pine-color-accent-hover);--pds-input-text-color:var(--pine-color-text-accent)}:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true]))::part(prefix),:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true]))::part(suffix){color:var(--pine-color-text-accent)}:host([highlight]:not([disabled]):not([aria-disabled=true]):not([invalid]):not([aria-readonly=true])) .pds-input__field:focus-visible{outline-color:var(--pine-color-focus-ring)}.pds-input{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.pds-input__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-input__label{color:var(--pine-color-text-strong);-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-input__label-wrapper .pds-input__label{-webkit-margin-after:0;margin-block-end:0}.pds-input__action{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}.pds-input__field-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;position:relative;width:100%}.pds-input__field-wrapper.has-prefix .pds-input__field{-webkit-padding-start:calc(2 * var(--pds-input-padding-x) + var(--prefix-width, 1em));padding-inline-start:calc(2 * var(--pds-input-padding-x) + var(--prefix-width, 1em))}.pds-input__field-wrapper.has-suffix .pds-input__field{-webkit-padding-end:calc(2 * var(--pds-input-padding-x) + var(--suffix-width, 1em));padding-inline-end:calc(2 * var(--pds-input-padding-x) + var(--suffix-width, 1em))}.pds-input__field-wrapper.has-prepend .pds-input__field{border-end-start-radius:var(--pine-dimension-none);border-start-start-radius:var(--pine-dimension-none)}.pds-input__field-wrapper.has-append .pds-input__field{border-end-end-radius:var(--pine-dimension-none);border-start-end-radius:var(--pine-dimension-none)}.pds-input__field{background:var(--pds-input-background);border:var(--pds-input-border-width) solid var(--pds-input-border-color);border-radius:var(--pds-input-border-radius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pds-input-text-color);-ms-flex:1;flex:1;font:var(--pds-input-font);letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-input-field-min-height);min-width:var(--pine-dimension-none);padding:var(--pds-input-padding-y) var(--pds-input-padding-x);-webkit-transition:border-color 0.2s ease;transition:border-color 0.2s ease;width:100%}.pds-input__field:hover:not(:disabled){border-color:var(--pds-input-border-color-hover)}.pds-input__field:disabled{background:var(--pds-input-disabled-background);border-color:var(--pine-color-border-disabled);color:var(--pds-input-disabled-text-color);cursor:not-allowed}.pds-input__field:disabled::-webkit-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::-moz-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled:-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::placeholder{color:var(--pine-color-text-placeholder-disabled)}.has-error .pds-input__field:hover:not(:disabled){border-color:var(--pds-input-error-border-hover)}:host-context([data-theme=dark]) .has-error .pds-input__field:hover:not(:disabled){border-color:var(--pine-color-red-950)}.pds-input__field:focus-visible:not(.has-error){border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width);position:relative;z-index:1}:host([has-prepend]) .pds-input__field:focus-visible:not(.has-error),:host([has-append]) .pds-input__field:focus-visible:not(.has-error),:host([has-prefix]) .pds-input__field:focus-visible:not(.has-error),:host([has-suffix]) .pds-input__field:focus-visible:not(.has-error){outline-offset:var(--pine-dimension-none)}.pds-input__field::-webkit-input-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field::-moz-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field:-ms-input-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field::-ms-input-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field::placeholder{color:var(--pds-input-placeholder-color)}.has-error .pds-input__field{background-color:var(--pds-input-error-background);border-color:var(--pds-input-error-border)}:host-context([data-theme=dark]) .has-error .pds-input__field{background-color:var(--pine-color-red-950)}.has-error .pds-input__field:focus-visible{outline-color:var(--pine-color-focus-ring-danger);position:relative;z-index:1}.pds-input__error-message,.pds-input__helper-message{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm-medium);-webkit-margin-after:var(--pine-dimension-none);margin-block-end:var(--pine-dimension-none);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-input__error-message{color:var(--pds-input-error-color);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-input__error-message pds-icon{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.visually-hidden{border:0;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:0;position:absolute;white-space:nowrap;width:1px}.pds-input__field::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;background-color:var(--pds-input-placeholder-color);cursor:pointer;height:var(--pine-dimension-sm);-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.646 3.646a.5.5 0 0 1 .708 0L8 7.293l3.646-3.647a.5.5 0 0 1 .708.708L8.707 8l3.647 3.646a.5.5 0 0 1-.708.708L8 8.707l-3.646 3.647a.5.5 0 0 1-.708-.708L7.293 8 3.646 4.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.646 3.646a.5.5 0 0 1 .708 0L8 7.293l3.646-3.647a.5.5 0 0 1 .708.708L8.707 8l3.647 3.646a.5.5 0 0 1-.708.708L8 8.707l-3.646 3.647a.5.5 0 0 1-.708-.708L7.293 8 3.646 4.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\");-webkit-mask-size:contain;mask-size:contain;width:var(--pine-dimension-sm)}";const h=class{constructor(i){e(this,i);this.pdsBlur=r(this,"pdsBlur");this.pdsChange=r(this,"pdsChange");this.pdsFocus=r(this,"pdsFocus");this.pdsInput=r(this,"pdsInput");this.pdsKeyDown=r(this,"pdsKeyDown");this.inheritedAttributes={};this.isComposing=false;this.hasPrefix=false;this.hasSuffix=false;this.hasPrepend=false;this.hasAppend=false;this.hasAction=false;this.type="text";this.value="";this.hasFocus=false;this.onInputEvent=e=>{const r=e.target;if(r){this.value=r.value||""}this.emitInputChange(e)};this.onChangeEvent=e=>{this.emitValueChange(e)};this.onBlurEvent=e=>{this.hasFocus=false;if(this.focusedValue!==this.value){this.emitValueChange(e)}this.pdsBlur.emit(e)};this.onFocusEvent=e=>{this.hasFocus=true;this.focusedValue=this.value;this.pdsFocus.emit(e)};this.onCompositionStart=()=>{this.isComposing=true};this.onCompositionEnd=()=>{this.isComposing=false};this.onKeyDownEvent=e=>{this.pdsKeyDown.emit(e)}}async setFocus(){if(this.nativeInput){this.nativeInput.focus()}}updateAddonWidths(){requestAnimationFrame((()=>{if(this.prefixEl){const e=this.prefixEl.offsetWidth;this.el.style.setProperty("--prefix-width",`${e}px`)}if(this.suffixEl){const e=this.suffixEl.offsetWidth;this.el.style.setProperty("--suffix-width",`${e}px`)}}))}renderPrefix(){const e=this.el.querySelector('[slot="prefix"]')!==null;if(e){return i("div",{class:"pds-input__prefix",part:"prefix",ref:e=>this.prefixEl=e},i("slot",{name:"prefix",onSlotchange:()=>this.updateAddonWidths()}))}return null}renderSuffix(){const e=this.el.querySelector('[slot="suffix"]')!==null;if(e){return i("div",{class:"pds-input__suffix",part:"suffix",ref:e=>this.suffixEl=e},i("slot",{name:"suffix",onSlotchange:()=>this.updateAddonWidths()}))}return null}renderPrepend(){const e=this.el.querySelector('[slot="prepend"]')!==null;if(e){return i("div",{class:"pds-input__prepend",part:"prepend"},i("slot",{name:"prepend"}))}return null}renderAppend(){const e=this.el.querySelector('[slot="append"]')!==null;if(e){return i("div",{class:"pds-input__append",part:"append"},i("slot",{name:"append"}))}return null}renderAction(){const e=this.el.querySelector('[slot="action"]')!==null;if(e){return i("div",{class:"pds-input__action",part:"action"},i("slot",{name:"action"}))}return null}componentWillLoad(){this.inheritedAttributes=Object.assign({},o(this.el));this.hasPrefix=this.el.querySelector('[slot="prefix"]')!==null;this.hasSuffix=this.el.querySelector('[slot="suffix"]')!==null;this.hasPrepend=this.el.querySelector('[slot="prepend"]')!==null;this.hasAppend=this.el.querySelector('[slot="append"]')!==null;this.hasAction=this.el.querySelector('[slot="action"]')!==null;this.originalPdsInput=this.pdsInput}connectedCallback(){if(this.el.attachInternals&&!this.internals){this.internals=this.el.attachInternals()}}componentDidLoad(){this.debounceChanged();this.updateAddonWidths();this.updateFormValue()}componentDidUpdate(){this.updateAddonWidths()}debounceChanged(){const{pdsInput:e,debounce:r,originalPdsInput:i}=this;this.pdsInput=r===undefined?i!==null&&i!==void 0?i:e:a(e,r)}valueChanged(){const e=this.nativeInput;const r=this.getValue();if(e&&e.value!==r&&!this.isComposing){e.value=r}this.updateFormValue()}getValue(){return typeof this.value==="number"?this.value.toString():(this.value||"").toString()}emitValueChange(e){const{value:r}=this;const i=r==null?r:r.toString();this.focusedValue=i;this.pdsChange.emit({value:i,event:e})}emitInputChange(e){const{value:r}=this;const i=r==null?r:r.toString();this.pdsInput.emit({value:i,event:e})}updateFormValue(){if(this.internals&&this.internals.setFormValue){const e=this.getValue();this.internals.setFormValue(e||null);if(this.nativeInput&&this.internals&&this.internals.setValidity){this.internals.setValidity(this.nativeInput.validity,this.nativeInput.validationMessage,this.nativeInput)}}}formResetCallback(){this.value="";this.updateFormValue()}formDisabledCallback(e){this.disabled=e}formStateRestoreCallback(e){if(typeof e==="string"){this.value=e}else if(e instanceof FormData&&this.name){const r=e.get(this.name);if(typeof r==="string"){this.value=r}}}render(){const{componentId:e,disabled:r,errorMessage:n,helperMessage:o,invalid:a=false,label:l}=this;const u=this.getValue();const c={"pds-input__field-wrapper":true,"has-focus":this.hasFocus,"has-error":a||!!n,"is-disabled":r,"has-prefix":this.hasPrefix,"has-suffix":this.hasSuffix,"has-prepend":this.hasPrepend,"has-append":this.hasAppend};return i(t,{key:"ff25f2310e8d1755534fe3f27b391447d6014f76","aria-disabled":this.disabled?"true":null,"aria-readonly":this.readonly?"true":null,"has-prefix":this.hasPrefix?"true":null,"has-suffix":this.hasSuffix?"true":null,"has-prepend":this.hasPrepend?"true":null,"has-append":this.hasAppend?"true":null,"has-action":this.hasAction&&!this.hideLabel?"true":null,"full-width":this.fullWidth?"true":null},i("div",{key:"e337c4a828eb7641a41caffec2508fa9b12a2eeb",class:"pds-input"},l&&i("div",{key:"8df0800a08156e1755ae7460ad7ddd51a1301f27",class:"pds-input__label-wrapper"},i("label",{key:"ed2978d0c9b841bfa8f929ab7072461b231ab5b2",htmlFor:e,class:"pds-input__label"},i("span",{key:"23ab3abd0ecff326110cbde065d3a3cb733ec832",class:this.hideLabel?"visually-hidden":""},l,this.required&&i("span",{key:"1bdafb028b48e37c9999db0c8f2d1718f8566e05",class:"pds-input__required-indicator"}," *"))),!this.hideLabel&&this.renderAction()),i("div",{key:"e06ba19e8d40271345e27f791efb79817cc723f7",class:c},this.renderPrepend(),this.renderPrefix(),i("input",Object.assign({key:"d7a2d70a03130a431b527f5bf75888d1db55bd5e",ref:e=>this.nativeInput=e,class:"pds-input__field","aria-describedby":s(e,a,o),"aria-invalid":a?"true":undefined,autocomplete:this.autocomplete,disabled:r,id:e,max:this.max,maxlength:this.maxlength,min:this.min,minlength:this.minlength,name:this.name,pattern:this.pattern,placeholder:this.placeholder,readOnly:this.readonly,required:this.required,step:this.step,type:this.type,value:u,onInput:this.onInputEvent,onChange:this.onChangeEvent,onBlur:this.onBlurEvent,onFocus:this.onFocusEvent,onKeyDown:this.onKeyDownEvent,onCompositionstart:this.onCompositionStart,onCompositionend:this.onCompositionEnd},this.inheritedAttributes)),this.renderSuffix(),this.renderAppend()),o&&i("p",{key:"d0f58791f013578fc34f36711a95b4f2e655bcda",class:"pds-input__helper-message",id:d(e,"helper")},o),n&&i("p",{key:"b511338e9c05cfb4c9363a9227c8e208b9f645e1",class:"pds-input__error-message",id:d(e,"error")},i("pds-icon",{key:"4eaaf16d77e23486aad12369919cd4e03768ff3a",icon:p,size:"small"}),n)))}static get formAssociated(){return true}get el(){return n(this)}static get watchers(){return{debounce:["debounceChanged"],value:["valueChanged"]}}};h.style=l+(u+c);export{h as pds_input};
2
+ //# sourceMappingURL=p-8eb29dbd.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["registerInstance","createEvent","h","Host","getElement","assignDescription","messageId","inheritAriaAttributes","debounceEvent","danger","pdsInputTokensCss","labelCss","pdsInputCss","PdsInput","constructor","hostRef","this","pdsBlur","pdsChange","pdsFocus","pdsInput","pdsKeyDown","inheritedAttributes","isComposing","hasPrefix","hasSuffix","hasPrepend","hasAppend","hasAction","type","value","hasFocus","onInputEvent","ev","input","target","emitInputChange","onChangeEvent","emitValueChange","onBlurEvent","focusedValue","emit","onFocusEvent","onCompositionStart","onCompositionEnd","onKeyDownEvent","setFocus","nativeInput","focus","updateAddonWidths","requestAnimationFrame","prefixEl","prefixWidth","offsetWidth","el","style","setProperty","suffixEl","suffixWidth","renderPrefix","querySelector","class","part","ref","name","onSlotchange","renderSuffix","renderPrepend","renderAppend","renderAction","componentWillLoad","Object","assign","originalPdsInput","connectedCallback","attachInternals","internals","componentDidLoad","debounceChanged","updateFormValue","componentDidUpdate","debounce","undefined","valueChanged","getValue","toString","event","newValue","setFormValue","setValidity","validity","validationMessage","formResetCallback","formDisabledCallback","disabled","formStateRestoreCallback","state","FormData","get","render","componentId","errorMessage","helperMessage","invalid","label","inputWrapperClasses","key","readonly","hideLabel","fullWidth","htmlFor","required","autocomplete","id","max","maxlength","min","minlength","pattern","placeholder","readOnly","step","onInput","onChange","onBlur","onFocus","onKeyDown","onCompositionstart","onCompositionend","icon","size","formAssociated","watchers"],"sources":["0"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["registerInstance","createEvent","h","Host","getElement","assignDescription","messageId","inheritAriaAttributes","debounceEvent","danger","pdsInputTokensCss","labelCss","pdsInputCss","PdsInput","constructor","hostRef","this","pdsBlur","pdsChange","pdsFocus","pdsInput","pdsKeyDown","inheritedAttributes","isComposing","hasPrefix","hasSuffix","hasPrepend","hasAppend","hasAction","type","value","hasFocus","onInputEvent","ev","input","target","emitInputChange","onChangeEvent","emitValueChange","onBlurEvent","focusedValue","emit","onFocusEvent","onCompositionStart","onCompositionEnd","onKeyDownEvent","setFocus","nativeInput","focus","updateAddonWidths","requestAnimationFrame","prefixEl","prefixWidth","offsetWidth","el","style","setProperty","suffixEl","suffixWidth","renderPrefix","querySelector","class","part","ref","name","onSlotchange","renderSuffix","renderPrepend","renderAppend","renderAction","componentWillLoad","Object","assign","originalPdsInput","connectedCallback","attachInternals","internals","componentDidLoad","debounceChanged","updateFormValue","componentDidUpdate","debounce","undefined","valueChanged","getValue","toString","event","newValue","setFormValue","setValidity","validity","validationMessage","formResetCallback","formDisabledCallback","disabled","formStateRestoreCallback","state","FormData","get","render","componentId","errorMessage","helperMessage","invalid","label","inputWrapperClasses","key","readonly","hideLabel","fullWidth","htmlFor","required","autocomplete","id","max","maxlength","min","minlength","pattern","placeholder","readOnly","step","onInput","onChange","onBlur","onFocus","onKeyDown","onCompositionstart","onCompositionend","icon","size","formAssociated","watchers"],"sources":["0"],"mappings":"YAAcA,OAAuBC,OAAaC,OAAQC,OAAWC,MAAkB,8BACzEC,OAAwBC,MAAiB,8BACzCC,MAA6B,8BAC7BC,MAAqB,8BACrBC,MAAc,kBAE5B,MAAMC,EAAoB,wEAE1B,MAAMC,EAAW,qTAEjB,MAAMC,EAAc,4lZAEpB,MAAMC,EAAW,MACb,WAAAC,CAAYC,GACRf,EAAiBgB,KAAMD,GACvBC,KAAKC,QAAUhB,EAAYe,KAAM,WACjCA,KAAKE,UAAYjB,EAAYe,KAAM,aACnCA,KAAKG,SAAWlB,EAAYe,KAAM,YAClCA,KAAKI,SAAWnB,EAAYe,KAAM,YAClCA,KAAKK,WAAapB,EAAYe,KAAM,cACpCA,KAAKM,oBAAsB,CAAC,EAC5BN,KAAKO,YAAc,MAInBP,KAAKQ,UAAY,MAIjBR,KAAKS,UAAY,MAIjBT,KAAKU,WAAa,MAIlBV,KAAKW,UAAY,MAIjBX,KAAKY,UAAY,MAMjBZ,KAAKa,KAAO,OAIZb,KAAKc,MAAQ,GAIbd,KAAKe,SAAW,MAChBf,KAAKgB,aAAgBC,IACjB,MAAMC,EAAQD,EAAGE,OACjB,GAAID,EAAO,CACPlB,KAAKc,MAAQI,EAAMJ,OAAS,EAChC,CACAd,KAAKoB,gBAAgBH,EAAG,EAE5BjB,KAAKqB,cAAiBJ,IAClBjB,KAAKsB,gBAAgBL,EAAG,EAE5BjB,KAAKuB,YAAeN,IAChBjB,KAAKe,SAAW,MAChB,GAAIf,KAAKwB,eAAiBxB,KAAKc,MAAO,CAKlCd,KAAKsB,gBAAgBL,EACzB,CACAjB,KAAKC,QAAQwB,KAAKR,EAAG,EAEzBjB,KAAK0B,aAAgBT,IACjBjB,KAAKe,SAAW,KAChBf,KAAKwB,aAAexB,KAAKc,MACzBd,KAAKG,SAASsB,KAAKR,EAAG,EAE1BjB,KAAK2B,mBAAqB,KACtB3B,KAAKO,YAAc,IAAI,EAE3BP,KAAK4B,iBAAmB,KACpB5B,KAAKO,YAAc,KAAK,EAE5BP,KAAK6B,eAAkBZ,IACnBjB,KAAKK,WAAWoB,KAAKR,EAAG,CAEhC,CAKA,cAAMa,GACF,GAAI9B,KAAK+B,YAAa,CAClB/B,KAAK+B,YAAYC,OACrB,CACJ,CACA,iBAAAC,GACIC,uBAAsB,KAClB,GAAIlC,KAAKmC,SAAU,CACf,MAAMC,EAAcpC,KAAKmC,SAASE,YAClCrC,KAAKsC,GAAGC,MAAMC,YAAY,iBAAkB,GAAGJ,MACnD,CACA,GAAIpC,KAAKyC,SAAU,CACf,MAAMC,EAAc1C,KAAKyC,SAASJ,YAClCrC,KAAKsC,GAAGC,MAAMC,YAAY,iBAAkB,GAAGE,MACnD,IAER,CACA,YAAAC,GACI,MAAMnC,EAAYR,KAAKsC,GAAGM,cAAc,qBAAuB,KAC/D,GAAIpC,EAAW,CACX,OAAQtB,EAAE,MAAO,CAAE2D,MAAO,oBAAqBC,KAAM,SAAUC,IAAMT,GAAOtC,KAAKmC,SAAWG,GAAMpD,EAAE,OAAQ,CAAE8D,KAAM,SAAUC,aAAc,IAAMjD,KAAKiC,sBAC3J,CACA,OAAO,IACX,CACA,YAAAiB,GACI,MAAMzC,EAAYT,KAAKsC,GAAGM,cAAc,qBAAuB,KAC/D,GAAInC,EAAW,CACX,OAAQvB,EAAE,MAAO,CAAE2D,MAAO,oBAAqBC,KAAM,SAAUC,IAAMT,GAAOtC,KAAKyC,SAAWH,GAAMpD,EAAE,OAAQ,CAAE8D,KAAM,SAAUC,aAAc,IAAMjD,KAAKiC,sBAC3J,CACA,OAAO,IACX,CACA,aAAAkB,GACI,MAAMzC,EAAaV,KAAKsC,GAAGM,cAAc,sBAAwB,KACjE,GAAIlC,EAAY,CACZ,OAAQxB,EAAE,MAAO,CAAE2D,MAAO,qBAAsBC,KAAM,WAAa5D,EAAE,OAAQ,CAAE8D,KAAM,YACzF,CACA,OAAO,IACX,CACA,YAAAI,GACI,MAAMzC,EAAYX,KAAKsC,GAAGM,cAAc,qBAAuB,KAC/D,GAAIjC,EAAW,CACX,OAAQzB,EAAE,MAAO,CAAE2D,MAAO,oBAAqBC,KAAM,UAAY5D,EAAE,OAAQ,CAAE8D,KAAM,WACvF,CACA,OAAO,IACX,CACA,YAAAK,GACI,MAAMzC,EAAYZ,KAAKsC,GAAGM,cAAc,qBAAuB,KAC/D,GAAIhC,EAAW,CACX,OAAQ1B,EAAE,MAAO,CAAE2D,MAAO,oBAAqBC,KAAM,UAAY5D,EAAE,OAAQ,CAAE8D,KAAM,WACvF,CACA,OAAO,IACX,CACA,iBAAAM,GACItD,KAAKM,oBAAsBiD,OAAOC,OAAO,CAAC,EAAGjE,EAAsBS,KAAKsC,KACxEtC,KAAKQ,UAAYR,KAAKsC,GAAGM,cAAc,qBAAuB,KAC9D5C,KAAKS,UAAYT,KAAKsC,GAAGM,cAAc,qBAAuB,KAC9D5C,KAAKU,WAAaV,KAAKsC,GAAGM,cAAc,sBAAwB,KAChE5C,KAAKW,UAAYX,KAAKsC,GAAGM,cAAc,qBAAuB,KAC9D5C,KAAKY,UAAYZ,KAAKsC,GAAGM,cAAc,qBAAuB,KAE9D5C,KAAKyD,iBAAmBzD,KAAKI,QACjC,CACA,iBAAAsD,GAEI,GAAI1D,KAAKsC,GAAGqB,kBAAoB3D,KAAK4D,UAAW,CAC5C5D,KAAK4D,UAAY5D,KAAKsC,GAAGqB,iBAC7B,CACJ,CACA,gBAAAE,GACI7D,KAAK8D,kBACL9D,KAAKiC,oBAELjC,KAAK+D,iBACT,CACA,kBAAAC,GACIhE,KAAKiC,mBACT,CACA,eAAA6B,GACI,MAAM1D,SAAEA,EAAQ6D,SAAEA,EAAQR,iBAAEA,GAAqBzD,KAKjDA,KAAKI,SAAW6D,IAAaC,UAAYT,IAAqB,MAAQA,SAA0B,EAAIA,EAAmBrD,EAAWZ,EAAcY,EAAU6D,EAC9J,CACA,YAAAE,GACI,MAAMpC,EAAc/B,KAAK+B,YACzB,MAAMjB,EAAQd,KAAKoE,WACnB,GAAIrC,GAAeA,EAAYjB,QAAUA,IAAUd,KAAKO,YAAa,CACjEwB,EAAYjB,MAAQA,CACxB,CAEAd,KAAK+D,iBACT,CACA,QAAAK,GACI,cAAcpE,KAAKc,QAAU,SAAWd,KAAKc,MAAMuD,YAAcrE,KAAKc,OAAS,IAAIuD,UACvF,CAIA,eAAA/C,CAAgBgD,GACZ,MAAMxD,MAAEA,GAAUd,KAClB,MAAMuE,EAAWzD,GAAS,KAAOA,EAAQA,EAAMuD,WAC/CrE,KAAKwB,aAAe+C,EACpBvE,KAAKE,UAAUuB,KAAK,CAAEX,MAAOyD,EAAUD,SAC3C,CAIA,eAAAlD,CAAgBkD,GACZ,MAAMxD,MAAEA,GAAUd,KAElB,MAAMuE,EAAWzD,GAAS,KAAOA,EAAQA,EAAMuD,WAC/CrE,KAAKI,SAASqB,KAAK,CAAEX,MAAOyD,EAAUD,SAC1C,CAIA,eAAAP,GACI,GAAI/D,KAAK4D,WAAa5D,KAAK4D,UAAUY,aAAc,CAC/C,MAAM1D,EAAQd,KAAKoE,WACnBpE,KAAK4D,UAAUY,aAAa1D,GAAS,MAErC,GAAId,KAAK+B,aAAe/B,KAAK4D,WAAa5D,KAAK4D,UAAUa,YAAa,CAClEzE,KAAK4D,UAAUa,YAAYzE,KAAK+B,YAAY2C,SAAU1E,KAAK+B,YAAY4C,kBAAmB3E,KAAK+B,YACnG,CACJ,CACJ,CAIA,iBAAA6C,GACI5E,KAAKc,MAAQ,GACbd,KAAK+D,iBACT,CAIA,oBAAAc,CAAqBC,GACjB9E,KAAK8E,SAAWA,CACpB,CAIA,wBAAAC,CAAyBC,GACrB,UAAWA,IAAU,SAAU,CAC3BhF,KAAKc,MAAQkE,CACjB,MACK,GAAIA,aAAiBC,UAAYjF,KAAKgD,KAAM,CAE7C,MAAMlC,EAAQkE,EAAME,IAAIlF,KAAKgD,MAC7B,UAAWlC,IAAU,SAAU,CAC3Bd,KAAKc,MAAQA,CACjB,CACJ,CACJ,CACA,MAAAqE,GACI,MAAMC,YAAEA,EAAWN,SAAEA,EAAQO,aAAEA,EAAYC,cAAEA,EAAaC,QAAEA,EAAU,MAAKC,MAAEA,GAAWxF,KACxF,MAAMc,EAAQd,KAAKoE,WACnB,MAAMqB,EAAsB,CACxB,2BAA4B,KAC5B,YAAazF,KAAKe,SAClB,YAAawE,KAAaF,EAC1B,cAAeP,EACf,aAAc9E,KAAKQ,UACnB,aAAcR,KAAKS,UACnB,cAAeT,KAAKU,WACpB,aAAcV,KAAKW,WAEvB,OAAQzB,EAAEC,EAAM,CAAEuG,IAAK,2CAA4C,gBAAiB1F,KAAK8E,SAAW,OAAS,KAAM,gBAAiB9E,KAAK2F,SAAW,OAAS,KAAM,aAAc3F,KAAKQ,UAAY,OAAS,KAAM,aAAcR,KAAKS,UAAY,OAAS,KAAM,cAAeT,KAAKU,WAAa,OAAS,KAAM,aAAcV,KAAKW,UAAY,OAAS,KAAM,aAAcX,KAAKY,YAAcZ,KAAK4F,UAAY,OAAS,KAAM,aAAc5F,KAAK6F,UAAY,OAAS,MAAQ3G,EAAE,MAAO,CAAEwG,IAAK,2CAA4C7C,MAAO,aAAe2C,GAAUtG,EAAE,MAAO,CAAEwG,IAAK,2CAA4C7C,MAAO,4BAA8B3D,EAAE,QAAS,CAAEwG,IAAK,2CAA4CI,QAASV,EAAavC,MAAO,oBAAsB3D,EAAE,OAAQ,CAAEwG,IAAK,2CAA4C7C,MAAO7C,KAAK4F,UAAY,kBAAoB,IAAMJ,EAAOxF,KAAK+F,UAAY7G,EAAE,OAAQ,CAAEwG,IAAK,2CAA4C7C,MAAO,iCAAmC,SAAU7C,KAAK4F,WAAa5F,KAAKqD,gBAAkBnE,EAAE,MAAO,CAAEwG,IAAK,2CAA4C7C,MAAO4C,GAAuBzF,KAAKmD,gBAAiBnD,KAAK2C,eAAgBzD,EAAE,QAASqE,OAAOC,OAAO,CAAEkC,IAAK,2CAA4C3C,IAAM7B,GAAWlB,KAAK+B,YAAcb,EAAQ2B,MAAO,mBAAoB,mBAAoBxD,EAAkB+F,EAAaG,EAASD,GAAgB,eAAgBC,EAAU,OAASrB,UAAW8B,aAAchG,KAAKgG,aAAclB,SAAUA,EAAUmB,GAAIb,EAAac,IAAKlG,KAAKkG,IAAKC,UAAWnG,KAAKmG,UAAWC,IAAKpG,KAAKoG,IAAKC,UAAWrG,KAAKqG,UAAWrD,KAAMhD,KAAKgD,KAAMsD,QAAStG,KAAKsG,QAASC,YAAavG,KAAKuG,YAAaC,SAAUxG,KAAK2F,SAAUI,SAAU/F,KAAK+F,SAAUU,KAAMzG,KAAKyG,KAAM5F,KAAMb,KAAKa,KAAMC,MAAOA,EAAO4F,QAAS1G,KAAKgB,aAAc2F,SAAU3G,KAAKqB,cAAeuF,OAAQ5G,KAAKuB,YAAasF,QAAS7G,KAAK0B,aAAcoF,UAAW9G,KAAK6B,eAAgBkF,mBAAoB/G,KAAK2B,mBAAoBqF,iBAAkBhH,KAAK4B,kBAAoB5B,KAAKM,sBAAuBN,KAAKkD,eAAgBlD,KAAKoD,gBAAiBkC,GAAkBpG,EAAE,IAAK,CAAEwG,IAAK,2CAA4C7C,MAAO,4BAA6BoD,GAAI3G,EAAU8F,EAAa,WAAaE,GAAiBD,GAAiBnG,EAAE,IAAK,CAAEwG,IAAK,2CAA4C7C,MAAO,2BAA4BoD,GAAI3G,EAAU8F,EAAa,UAAYlG,EAAE,WAAY,CAAEwG,IAAK,2CAA4CuB,KAAMxH,EAAQyH,KAAM,UAAY7B,IACp8E,CACA,yBAAW8B,GAAmB,OAAO,IAAM,CAC3C,MAAI7E,GAAO,OAAOlD,EAAWY,KAAO,CACpC,mBAAWoH,GAAa,MAAO,CAC3BnD,SAAY,CAAC,mBACbnD,MAAS,CAAC,gBACX,GAEPjB,EAAS0C,MAAQ7C,GAAqBC,EAAWC,UAExCC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-CCKncKbB.system.js","sources":["src/components/pds-input/pds-input.tokens.scss?tag=pds-input&encapsulation=shadow","src/global/styles/utils/label.scss?tag=pds-input&encapsulation=shadow","src/components/pds-input/pds-input.scss?tag=pds-input&encapsulation=shadow","src/components/pds-input/pds-input.tsx"],"sourcesContent":["@use '~@kajabi-ui/styles/dist/pine/components/pds-input/pds-input.tokens'\n",":host {\n display: inline-block;\n}\n\n:host([aria-disabled=\"true\"]) label {\n color: var(--pine-color-text-label-disabled);\n}\n\n:host([aria-readonly=\"true\"]) {\n label {\n color: var(--pine-color-text-label-readonly);\n }\n}\n\nlabel {\n color: var(--pine-color-text-label);\n font: var(--pine-typography-body-medium);\n letter-spacing: var(--pine-letter-spacing);\n}\n",":host {\n --pds-input-background: var(--pine-color-background-container);\n --pds-input-border-color: var(--pine-color-border);\n --pds-input-border-color-hover: var(--pine-color-border-hover);\n --pds-input-border-color-disabled: var(--pine-color-border-disabled);\n\n --pds-input-border-radius: var(--pine-dimension-125);\n --pds-input-border-width: var(--pine-border-width-thin);\n --pds-input-padding-x: var(--pine-dimension-150);\n --pds-input-padding-y: calc(var(--pine-dimension-xs) - var(--pine-border-width));\n --pds-input-font: var(--pine-typography-body);\n --pds-input-text-color: var(--pine-color-text-strong);\n --pds-input-placeholder-color: var(--pine-color-text-placeholder);\n --pds-input-icon-color: var(--pine-color-text-secondary);\n --pds-input-disabled-background: var(--pine-color-background-container-disabled);\n --pds-input-disabled-text-color: var(--pine-color-text-disabled);\n --pds-input-error-color: var(--pine-color-text-message-danger);\n --pds-input-error-background: var(--pine-input-color-background-danger);\n --pds-input-error-border: var(--pine-color-border-danger);\n --pds-input-error-border-hover: var(--pine-color-border-danger-hover);\n --pds-input-addon-background: var(--pine-color-background-subtle);\n --pds-input-addon-color: var(--pine-color-text-secondary);\n --pds-input-field-min-height: var(--pine-dimension-450);\n --box-shadow-focus: 0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring);\n --box-shadow-focus-error: 0 0 0 1px var(--pine-color-background-container), 0 0 0 3px var(--pine-color-focus-ring-danger);\n\n display: inline;\n\n pds-select::part(select) {\n background-color: var(--pds-input-error-background);\n border-color: var(--pds-input-error-border);\n }\n\n &::part(prefix),\n &::part(suffix) {\n align-items: center;\n color: var(--pine-color-text-label-readonly);\n display: flex;\n height: 100%;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n white-space: nowrap;\n z-index: var(--pine-z-index-raised);\n }\n\n &::part(prefix) {\n border-end-start-radius: var(--pds-input-border-radius);\n border-inline-end: var(--pine-border-width-none);\n border-start-start-radius: var(--pds-input-border-radius);\n left: var(--pds-input-padding-x);\n }\n\n &::part(suffix) {\n border-end-end-radius: var(--pds-input-border-radius);\n border-inline-start: var(--pine-border-width-none);\n border-start-end-radius: var(--pds-input-border-radius);\n right: var(--pds-input-padding-x);\n }\n\n &::part(prepend),\n &::part(append) {\n align-items: center;\n background-color: var(--pds-input-addon-background);\n border: var(--pds-input-border-width) solid var(--pds-input-border-color);\n color: var(--pds-input-addon-color);\n display: flex;\n overflow: visible;\n }\n\n &::part(prepend) {\n border-end-start-radius: var(--pds-input-border-radius);\n border-inline-end: var(--pine-border-width-none);\n border-start-start-radius: var(--pds-input-border-radius);\n }\n\n &::part(append) {\n border-end-end-radius: var(--pds-input-border-radius);\n border-inline-start: var(--pine-border-width-none);\n border-start-end-radius: var(--pds-input-border-radius);\n }\n}\n\n/* stylelint-disable-next-line */\n:host([has-prepend]) ::slotted(pds-button[slot=\"prepend\"]) {\n --pds-button-background: var(--pds-input-addon-background);\n --pds-button-border: var(--pine-border-width-none);\n --pds-button-border-radius: var(--pine-dimension-none);\n --pds-button-border-radius-end-end: var(--pine-dimension-none);\n --pds-button-border-radius-start-end: var(--pine-dimension-none);\n --pds-button-border-radius-start-start: var(--pds-input-border-radius);\n --pds-button-border-radius-end-start: var(--pds-input-border-radius);\n --pds-button-min-height: calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)));\n --pds-button-box-shadow-focus: 0 0 0 3px var(--pine-color-focus-ring);\n --pds-button-outline-focus: none;\n}\n\n/* stylelint-disable-next-line */\n:host([has-append]) ::slotted(pds-button[slot=\"append\"]) {\n --pds-button-background: var(--pds-input-addon-background);\n --pds-button-border: var(--pine-border-width-none);\n --pds-button-border-radius: var(--pine-dimension-none);\n --pds-button-border-radius-end-start: var(--pine-dimension-none);\n --pds-button-border-radius-start-start: var(--pine-dimension-none);\n --pds-button-border-radius-start-end: var(--pds-input-border-radius);\n --pds-button-border-radius-end-end: var(--pds-input-border-radius);\n --pds-button-min-height: calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)));\n --pds-button-box-shadow-focus: 0 0 0 3px var(--pine-color-focus-ring);\n --pds-button-outline-focus: none;\n}\n\n/* stylelint-disable-next-line */\n:host([has-prepend]) ::slotted(pds-select[slot=\"prepend\"]) {\n --pds-select-background: var(--pds-input-addon-background);\n --pds-select-border: var(--pine-border-width-none);\n --pds-select-border-radius-end-end: var(--pine-dimension-none);\n --pds-select-border-radius-start-end: var(--pine-dimension-none);\n --pds-select-min-height: calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)));\n}\n\n/* stylelint-disable-next-line */\n:host([has-append]) ::slotted(pds-select[slot=\"append\"]) {\n --pds-select-background: var(--pds-input-addon-background);\n --pds-select-border: var(--pine-border-width-none);\n --pds-select-border-radius-end-start: var(--pine-dimension-none);\n --pds-select-border-radius-start-start: var(--pine-dimension-none);\n --pds-select-min-height: calc(var(--pine-dimension-450) - calc(2 * var(--pine-border-width)));\n}\n\n:host([aria-readonly=\"true\"]) {\n input {\n background-color: var(--pine-color-background-container-disabled);\n color: var(--pine-color-text-readonly);\n }\n}\n\n:host([disabled=\"true\"]) {\n &::part(prepend),\n &::part(append) {\n background-color: var(--pds-input-disabled-background);\n border: var(--pds-input-border-width) solid var(--pds-input-border-color-disabled);\n }\n}\n\n:host([full-width=\"true\"]) {\n width: 100%;\n}\n\n:host([invalid=\"true\"]) {\n &::part(prepend),\n &::part(append) {\n background-color: var(--pds-input-error-background);\n border: var(--pds-input-border-width) solid var(--pds-input-error-border);\n }\n}\n\n:host([highlight]:not([disabled]):not([aria-disabled=\"true\"]):not([invalid]):not([aria-readonly=\"true\"])) {\n --pds-input-background: var(--pine-color-accent-disabled);\n --pds-input-border-color: var(--pine-color-accent);\n --pds-input-border-color-hover: var(--pine-color-accent-hover);\n --pds-input-text-color: var(--pine-color-text-accent);\n\n &::part(prefix),\n &::part(suffix) {\n color: var(--pine-color-text-accent);\n }\n\n .pds-input__field:focus-visible {\n outline-color: var(--pine-color-focus-ring);\n }\n}\n\n.pds-input {\n display: flex;\n flex-direction: column;\n}\n\n.pds-input__label-wrapper {\n align-items: center;\n display: flex;\n justify-content: space-between;\n margin-block-end: var(--pine-dimension-2xs);\n}\n\n.pds-input__label {\n color: var(--pine-color-text-strong);\n margin-block-end: var(--pine-dimension-2xs);\n}\n\n// When label is inside wrapper, remove its margin\n.pds-input__label-wrapper .pds-input__label {\n margin-block-end: 0;\n}\n\n.pds-input__action {\n align-items: center;\n display: flex;\n gap: var(--pine-dimension-xs);\n margin-inline-start: var(--pine-dimension-xs);\n}\n\n.pds-input__field-wrapper {\n align-items: center;\n display: flex;\n position: relative;\n width: 100%;\n\n &.has-prefix .pds-input__field {\n padding-inline-start: calc(2 * var(--pds-input-padding-x) + var(--prefix-width, 1em));\n }\n\n &.has-suffix .pds-input__field {\n padding-inline-end: calc(2 * var(--pds-input-padding-x) + var(--suffix-width, 1em));\n }\n\n &.has-prepend .pds-input__field {\n border-end-start-radius: var(--pine-dimension-none);\n border-start-start-radius: var(--pine-dimension-none);\n }\n\n &.has-append .pds-input__field {\n border-end-end-radius: var(--pine-dimension-none);\n border-start-end-radius: var(--pine-dimension-none);\n }\n}\n\n.pds-input__field {\n background: var(--pds-input-background);\n border: var(--pds-input-border-width) solid var(--pds-input-border-color);\n border-radius: var(--pds-input-border-radius);\n box-sizing: border-box;\n color: var(--pds-input-text-color);\n flex: 1;\n font: var(--pds-input-font);\n letter-spacing: var(--pine-letter-spacing);\n min-height: var(--pds-input-field-min-height);\n min-width: var(--pine-dimension-none);\n padding: var(--pds-input-padding-y) var(--pds-input-padding-x);\n transition: border-color 0.2s ease;\n width: 100%;\n\n &:hover:not(:disabled) {\n border-color: var(--pds-input-border-color-hover);\n }\n\n &:disabled {\n background: var(--pds-input-disabled-background);\n border-color: var(--pine-color-border-disabled);\n color: var(--pds-input-disabled-text-color);\n cursor: not-allowed;\n\n &::placeholder {\n color: var(--pine-color-text-placeholder-disabled);\n }\n }\n\n .has-error &:hover:not(:disabled) {\n border-color: var(--pds-input-error-border-hover);\n\n :host-context([data-theme=\"dark\"]) & {\n border-color: var(--pine-color-red-950);\n }\n }\n\n &:focus-visible:not(.has-error) {\n border-color: var(--pine-color-border-active);\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n position: relative;\n z-index: 1;\n\n :host([has-prepend]) &,\n :host([has-append]) &,\n :host([has-prefix]) &,\n :host([has-suffix]) & {\n outline-offset: var(--pine-dimension-none);\n }\n }\n\n &::placeholder {\n color: var(--pds-input-placeholder-color);\n }\n\n .has-error & {\n background-color: var(--pds-input-error-background);\n border-color: var(--pds-input-error-border);\n\n :host-context([data-theme=\"dark\"]) & {\n background-color: var(--pine-color-red-950);\n }\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n position: relative;\n z-index: 1;\n }\n }\n}\n\n.pds-input__error-message,\n.pds-input__helper-message {\n color: var(--pine-color-text-message);\n font: var(--pine-typography-body-sm-medium);\n margin-block-end: var(--pine-dimension-none);\n margin-block-start: var(--pine-dimension-2xs);\n}\n\n.pds-input__error-message {\n color: var(--pds-input-error-color);\n display: flex;\n gap: var(--pine-dimension-2xs);\n\n pds-icon {\n margin-block-start: var(--pine-dimension-025);\n }\n}\n\n.visually-hidden {\n border: 0;\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: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n// Custom styling for the search clear (x) button\n.pds-input__field::-webkit-search-cancel-button {\n appearance: none;\n background-color: var(--pds-input-placeholder-color);\n cursor: pointer;\n height: var(--pine-dimension-sm);\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.646 3.646a.5.5 0 0 1 .708 0L8 7.293l3.646-3.647a.5.5 0 0 1 .708.708L8.707 8l3.647 3.646a.5.5 0 0 1-.708.708L8 8.707l-3.646 3.647a.5.5 0 0 1-.708-.708L7.293 8 3.646 4.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\");\n mask-size: contain;\n width: var(--pine-dimension-sm);\n}\n\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch } from '@stencil/core';\nimport { assignDescription, messageId } from '../../utils/form';\nimport { inheritAriaAttributes } from '@utils/attributes';\nimport type { Attributes } from '@utils/attributes';\nimport { InputChangeEventDetail, InputInputEventDetail } from './input-interface';\nimport { debounceEvent } from '@utils/utils';\nimport { danger } from '@pine-ds/icons/icons';\n\n/**\n * @slot append - Content to be displayed after the input field\n * @slot prefix - Content that is displayed visually within the input field before the input field\n * @slot prepend - Content to be displayed before the input field\n * @slot suffix - Content that is displayed visually within the input field after the input field\n * @slot action - Content to be displayed in the label area, typically for help icons or links\n */\n@Component({\n tag: 'pds-input',\n styleUrls: ['pds-input.tokens.scss', '../../global/styles/utils/label.scss', 'pds-input.scss'],\n shadow: true,\n formAssociated: true,\n})\nexport class PdsInput {\n\n private nativeInput?: HTMLInputElement;\n private inheritedAttributes: Attributes = {};\n private isComposing = false;\n private prefixEl?: HTMLElement;\n private suffixEl?: HTMLElement;\n private focusedValue?: string | number | null;\n private originalPdsInput?: EventEmitter<InputInputEventDetail>;\n private internals?: ElementInternals;\n\n @Element() el!: HTMLPdsInputElement;\n\n /**\n * If true, the input has prefix content (non-focusable)\n */\n @State() hasPrefix = false;\n\n /**\n * If true, the input has suffix content (non-focusable)\n */\n @State() hasSuffix = false;\n\n /**\n * If true, the input has prepend content (focusable)\n */\n @State() hasPrepend = false;\n\n /**\n * If true, the input has append content (focusable)\n */\n @State() hasAppend = false;\n\n /**\n * If true, the input has action content in the label area\n */\n @State() hasAction = false;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() pdsBlur!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the value has changed.\n *\n * This event will not emit when programmatically setting the `value` property.\n */\n @Event() pdsChange!: EventEmitter<InputChangeEventDetail>;\n\n /**\n * Emitted when the input has focus.\n */\n @Event() pdsFocus!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when a keyboard input occurs.\n */\n @Event() pdsInput: EventEmitter<InputInputEventDetail>;\n\n /**\n * Emitted when a key is pressed down in the input.\n */\n @Event() pdsKeyDown!: EventEmitter<KeyboardEvent>;\n\n /**\n * Sets focus on the native `input` in the `pds-input`. Use this method instead of the global\n * `input.focus()`.\n */\n @Method()\n async setFocus() {\n if (this.nativeInput) {\n this.nativeInput.focus();\n }\n }\n\n\n /**\n * Specifies if and how the browser provides `autocomplete` assistance for the field.\n */\n @Prop() autocomplete: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Sets the number of milliseconds to wait before updating the value.\n */\n @Prop() debounce?: number;\n\n /**\n * Determines whether or not the input field is disabled.\n */\n @Prop() disabled?: boolean;\n\n /**\n * Specifies the error message and provides an error-themed treatment to the field.\n */\n @Prop() errorMessage?: string;\n\n /**\n * Displays a message or hint below the input field.\n */\n @Prop() helperMessage?: string;\n\n /**\n * Determines whether or not the input field is invalid or throws an error.\n */\n @Prop() invalid?: boolean;\n\n /**\n * Text to be displayed as the input label.\n */\n @Prop() label?: string;\n\n /**\n * Visually hides the label text for instances where only the input should be displayed. Label remains accessible to assistive technology such as screen readers.\n * Note: When true, the action slot is also hidden to maintain a minimal UI.\n */\n @Prop() hideLabel: boolean;\n\n /**\n * Specifies the maximum value for the input field.\n */\n @Prop() max?: string;\n\n /**\n * Specifies the maximum number of characters allowed in the input field.\n */\n @Prop() maxlength?: string;\n\n /**\n * Specifies the minimum value for the input field.\n */\n @Prop() min?: string;\n\n /**\n * Specifies the minimum number of characters allowed in the input field.\n */\n @Prop() minlength?: string;\n\n /**\n * Specifies the name. Submitted with the form name/value pair.\n */\n @Prop() name?: string;\n\n /**\n * Specifies the regular expression that the input value is checked against.\n */\n @Prop() pattern?: string;\n\n /**\n * Specifies a short hint that describes the expected value of the input field.\n */\n @Prop() placeholder?: string;\n\n /**\n * Determines whether or not the input field is readonly.\n */\n @Prop() readonly?: boolean;\n\n /**\n * Determines whether or not the input field is required.\n */\n @Prop() required?: boolean;\n\n /**\n * Works with the `min` and `max` attributes to define increments for the input field.\n */\n @Prop() step?: string;\n\n /**\n * Determines the type of control that will be displayed\n * `'email'`, `'number'`, `'password'`, `'tel'`, `'text'`, `'url'`\n * @defaultValue \"text\"\n */\n @Prop() type = 'text';\n\n /**\n * The value of the input.\n */\n @Prop({mutable: true}) value?: string | number | null = '';\n\n /**\n * Determines whether or not the input field takes full width of its container.\n */\n @Prop() fullWidth?: boolean;\n\n /**\n * Applies highlight styling to the input field.\n */\n @Prop({ reflect: true }) highlight?: boolean;\n\n /**\n * Determines if the input has focus.\n */\n @State() hasFocus = false;\n\n private updateAddonWidths() {\n requestAnimationFrame(() => {\n if (this.prefixEl) {\n const prefixWidth = this.prefixEl.offsetWidth;\n this.el.style.setProperty('--prefix-width', `${prefixWidth}px`);\n }\n\n if (this.suffixEl) {\n const suffixWidth = this.suffixEl.offsetWidth;\n this.el.style.setProperty('--suffix-width', `${suffixWidth}px`);\n }\n });\n }\n\n private renderPrefix() {\n const hasPrefix = this.el.querySelector('[slot=\"prefix\"]') !== null;\n if (hasPrefix) {\n return (\n <div class=\"pds-input__prefix\" part=\"prefix\" ref={(el) => this.prefixEl = el as HTMLElement}>\n <slot name=\"prefix\" onSlotchange={() => this.updateAddonWidths()}></slot>\n </div>\n );\n }\n return null;\n }\n\n private renderSuffix() {\n const hasSuffix = this.el.querySelector('[slot=\"suffix\"]') !== null;\n if (hasSuffix) {\n return (\n <div class=\"pds-input__suffix\" part=\"suffix\" ref={(el) => this.suffixEl = el as HTMLElement}>\n <slot name=\"suffix\" onSlotchange={() => this.updateAddonWidths()}></slot>\n </div>\n );\n }\n return null;\n }\n\n private renderPrepend() {\n const hasPrepend = this.el.querySelector('[slot=\"prepend\"]') !== null;\n if (hasPrepend) {\n return (\n <div class=\"pds-input__prepend\" part=\"prepend\">\n <slot name=\"prepend\"></slot>\n </div>\n );\n }\n return null;\n }\n\n private renderAppend() {\n const hasAppend = this.el.querySelector('[slot=\"append\"]') !== null;\n if (hasAppend) {\n return (\n <div class=\"pds-input__append\" part=\"append\">\n <slot name=\"append\"></slot>\n </div>\n );\n }\n return null;\n }\n\n private renderAction() {\n const hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n if (hasAction) {\n return (\n <div class=\"pds-input__action\" part=\"action\">\n <slot name=\"action\"></slot>\n </div>\n );\n }\n return null;\n }\n\n componentWillLoad() {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el)\n };\n this.hasPrefix = this.el.querySelector('[slot=\"prefix\"]') !== null;\n this.hasSuffix = this.el.querySelector('[slot=\"suffix\"]') !== null;\n this.hasPrepend = this.el.querySelector('[slot=\"prepend\"]') !== null;\n this.hasAppend = this.el.querySelector('[slot=\"append\"]') !== null;\n this.hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n\n // Store the original pdsInput event emitter\n this.originalPdsInput = this.pdsInput;\n }\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 componentDidLoad() {\n this.debounceChanged();\n this.updateAddonWidths();\n // Set initial form value\n this.updateFormValue();\n }\n\n componentDidUpdate() {\n this.updateAddonWidths();\n }\n\n @Watch('debounce')\n protected debounceChanged() {\n const { pdsInput, debounce, originalPdsInput } = this;\n\n /**\n * If debounce is undefined, we have to manually revert the pdsInput emitter in case\n * debounce used to be set to a number. Otherwise, the event would stay debounced.\n */\n this.pdsInput = debounce === undefined ? originalPdsInput ?? pdsInput : debounceEvent(pdsInput, debounce);\n }\n\n @Watch('value')\n protected valueChanged() {\n const nativeInput = this.nativeInput;\n const value = this.getValue();\n\n if (nativeInput && nativeInput.value !== value && !this.isComposing) {\n nativeInput.value = value;\n }\n\n // Update form value when value changes\n this.updateFormValue();\n }\n\n private getValue(): string {\n return typeof this.value === 'number' ? this.value.toString() : (this.value || '').toString();\n }\n\n private onInputEvent = (ev: Event) => {\n const input = ev.target as HTMLInputElement | null;\n if (input) {\n this.value = input.value || '';\n }\n this.emitInputChange(ev);\n };\n\n private onChangeEvent = (ev: Event) => {\n this.emitValueChange(ev);\n };\n\n private onBlurEvent = (ev: FocusEvent) => {\n this.hasFocus = false;\n\n if (this.focusedValue !== this.value) {\n /**\n * Emits the `pdsChange` event when the input value\n * is different than the value when the input was focused.\n */\n this.emitValueChange(ev);\n }\n\n this.pdsBlur.emit(ev);\n };\n\n private onFocusEvent = (ev: FocusEvent) => {\n this.hasFocus = true;\n this.focusedValue = this.value;\n\n this.pdsFocus.emit(ev);\n };\n\n private onCompositionStart = () => {\n this.isComposing = true;\n }\n\n private onCompositionEnd = () => {\n this.isComposing = false;\n }\n\n private onKeyDownEvent = (ev: KeyboardEvent) => {\n this.pdsKeyDown.emit(ev);\n };\n\n /**\n * Emits a pdsChange event\n */\n private emitValueChange(event?: Event) {\n const { value } = this;\n const newValue = value == null ? value : value.toString();\n\n this.focusedValue = newValue;\n this.pdsChange.emit({ value: newValue, event });\n }\n\n /**\n * Emits a `pdsInput` event\n */\n private emitInputChange(event?: Event) {\n const { value } = this;\n\n // Checks for both null and undefined values\n const newValue = value == null ? value : value.toString();\n\n this.pdsInput.emit({ value: newValue, event });\n }\n\n /**\n * Updates the form value using ElementInternals API\n */\n private updateFormValue() {\n if (this.internals && this.internals.setFormValue) {\n const value = this.getValue();\n this.internals.setFormValue(value || null);\n\n // Set validity based on native input validation\n if (this.nativeInput && this.internals && this.internals.setValidity) {\n this.internals.setValidity(\n this.nativeInput.validity,\n this.nativeInput.validationMessage,\n this.nativeInput\n );\n }\n }\n }\n\n /**\n * Form Associated Custom Elements API: Called when the form is reset\n */\n formResetCallback() {\n this.value = '';\n this.updateFormValue();\n }\n\n /**\n * Form Associated Custom Elements API: Called when the form is disabled\n */\n formDisabledCallback(disabled: boolean) {\n this.disabled = disabled;\n }\n\n /**\n * Form Associated Custom Elements API: Called to restore form state\n */\n formStateRestoreCallback(state: string | FormData | null) {\n if (typeof state === 'string') {\n this.value = state;\n } else if (state instanceof FormData && this.name) {\n // Extract value from FormData using the input's name\n const value = state.get(this.name);\n if (typeof value === 'string') {\n this.value = value;\n }\n }\n }\n\n render() {\n const {\n componentId,\n disabled,\n errorMessage,\n helperMessage,\n invalid = false,\n label,\n } = this;\n\n const value = this.getValue();\n\n const inputWrapperClasses = {\n 'pds-input__field-wrapper': true,\n 'has-focus': this.hasFocus,\n 'has-error': invalid || !!errorMessage,\n 'is-disabled': disabled,\n 'has-prefix': this.hasPrefix,\n 'has-suffix': this.hasSuffix,\n 'has-prepend': this.hasPrepend,\n 'has-append': this.hasAppend,\n };\n\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n aria-readonly={this.readonly ? 'true' : null}\n has-prefix={this.hasPrefix ? 'true' : null}\n has-suffix={this.hasSuffix ? 'true' : null}\n has-prepend={this.hasPrepend ? 'true' : null}\n has-append={this.hasAppend ? 'true' : null}\n has-action={this.hasAction && !this.hideLabel ? 'true' : null}\n full-width={this.fullWidth ? 'true' : null}\n >\n <div class=\"pds-input\">\n {label && (\n <div class=\"pds-input__label-wrapper\">\n <label htmlFor={componentId} class=\"pds-input__label\">\n <span class={this.hideLabel ? 'visually-hidden' : ''}>\n {label}\n {this.required && <span class=\"pds-input__required-indicator\"> *</span>}\n </span>\n </label>\n {!this.hideLabel && this.renderAction()}\n </div>\n )}\n\n <div class={inputWrapperClasses}>\n {this.renderPrepend()}\n {this.renderPrefix()}\n <input\n ref={(input) => (this.nativeInput = input)}\n class=\"pds-input__field\"\n aria-describedby={assignDescription(componentId, invalid, helperMessage)}\n aria-invalid={invalid ? \"true\" : undefined}\n autocomplete={this.autocomplete}\n disabled={disabled}\n id={componentId}\n max={this.max}\n maxlength={this.maxlength}\n min={this.min}\n minlength={this.minlength}\n name={this.name}\n pattern={this.pattern}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n required={this.required}\n step={this.step}\n type={this.type}\n value={value}\n onInput={this.onInputEvent}\n onChange={this.onChangeEvent}\n onBlur={this.onBlurEvent}\n onFocus={this.onFocusEvent}\n onKeyDown={this.onKeyDownEvent}\n onCompositionstart={this.onCompositionStart}\n onCompositionend={this.onCompositionEnd}\n {...this.inheritedAttributes}\n />\n {this.renderSuffix()}\n {this.renderAppend()}\n </div>\n\n {helperMessage && (\n <p class=\"pds-input__helper-message\" id={messageId(componentId, 'helper')}>\n {helperMessage}\n </p>\n )}\n\n {errorMessage && (\n <p class=\"pds-input__error-message\" id={messageId(componentId, 'error')}>\n <pds-icon icon={danger} size=\"small\" />\n {errorMessage}\n </p>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-DdTbt4lH.system.js","sources":["src/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.scss?tag=pds-dropdown-menu-item&encapsulation=shadow","src/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.tsx"],"sourcesContent":[":host {\n cursor: pointer;\n display: flex;\n width: 100%; /* Ensure the host takes full width */\n}\n\n/* Make the disabled styles more specific and add !important to ensure they apply */\n:host(.is-disabled) {\n cursor: not-allowed !important;\n opacity: 0.5 !important;\n\n .pds-dropdown-menu-item__content {\n cursor: not-allowed !important;\n pointer-events: none !important;\n }\n}\n\n.pds-dropdown-menu-item__content {\n align-items: center;\n appearance: none;\n background: transparent;\n border: 0;\n border-radius: var(--pine-dimension-xs);\n color: var(--pine-color-text);\n display: flex;\n flex-grow: 1; /* Make it grow to fill available space */\n font: var(--pine-typography-body-medium);\n gap: var(--pine-dimension-xs);\n margin: calc(var(--pine-border-width) + 2px);\n padding: var(--pine-dimension-xs);\n text-align: start; /* Ensure text aligns properly */\n width: 100%; /* Ensure full width */\n\n &:hover {\n background-color: var(--pine-color-background-muted);\n color: var(--pine-color-text-hover);\n }\n\n /* Focus styles applied via class + browser focus */\n &:focus,\n &:focus-visible,\n &.has-focus {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n}\n\n:host(.destructive) {\n .pds-dropdown-menu-item__content {\n // Set context variables so pds-link's shadow DOM picks up the destructive colors\n --pds-context-link-color: var(--pine-color-danger);\n --pds-context-link-color-hover: var(--pine-color-danger-hover);\n\n align-items: center;\n color: var(--pine-color-danger);\n\n &:hover {\n background-color: var(--pine-color-danger-disabled);\n color: var(--pine-color-danger-hover);\n }\n\n &:focus,\n &:focus-visible,\n &.has-focus {\n background-color: var(--pine-color-danger-disabled);\n outline: var(--pine-outline-focus-danger);\n outline-offset: var(--pine-border-width);\n }\n }\n}\n\n/* Remove outline on contained links using the custom property */\npds-link::part(link):focus,\npds-link::part(link):focus-visible {\n box-shadow: none;\n outline: none;\n}\n\npds-link::part(link) {\n align-items: center;\n display: flex;\n gap: var(--pine-dimension-xs);\n margin: calc(var(--pine-dimension-xs) * -1);\n padding: var(--pine-dimension-xs);\n text-decoration: none;\n width: calc(100% + var(--pine-dimension-xs) * 2);\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State } from '@stencil/core';\nimport type { BasePdsProps } from '@utils/interfaces';\n\n@Component({\n tag: 'pds-dropdown-menu-item',\n styleUrl: 'pds-dropdown-menu-item.scss',\n shadow: true,\n})\nexport class PdsDropdownMenuItem implements BasePdsProps {\n @Element() host: HTMLPdsDropdownMenuItemElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * It determines whether or not the dropdown-item is destructive.\n * @defaultValue false\n */\n @Prop() destructive: boolean = false;\n\n /**\n * It determines whether or not the dropdown-item is disabled.\n * @defaultValue false\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n\n /**\n * If provided, renders the dropdown-item as an anchor (`<a>`) element instead of a button.\n */\n @Prop() href: string | undefined;\n\n /**\n * Determines whether the link should open in a new tab and display an external icon.\n * This is a simpler alternative to using `target=\"_blank\"` for the common case.\n * @defaultValue false\n */\n @Prop({ reflect: true }) external: boolean = false;\n\n /**\n * Specifies where to open the linked document when href is provided.\n * Takes precedence over the `external` prop if both are set.\n * Only applies when href is set.\n * @defaultValue undefined\n */\n @Prop({ reflect: true }) target?: '_blank' | '_self' | '_parent' | '_top';\n\n /**\n * Emitted when the dropdown-item is clicked.\n *\n */\n @Event() pdsClick: EventEmitter<{itemIndex: number, item: HTMLPdsDropdownMenuItemElement, content: string}>;\n\n /**\n * Trigger the click event\n */\n @Method()\n async clickItem() {\n this.handleClick();\n };\n\n\n private handleClick() {\n // Filter only pds-dropdown-menu-item elements and find the index of the current item\n const menuItems = Array.from(this.host.parentNode.children).filter(\n (child) => child.tagName.toLowerCase() === 'pds-dropdown-menu-item'\n );\n const itemIndex = menuItems.indexOf(this.host);\n\n // Get the text content from the slotted content\n const content = this.host.textContent?.trim() || '';\n\n this.pdsClick.emit({\n itemIndex,\n item: this.host,\n content\n });\n }\n\n @State() hasFocus: boolean = false;\n\n private handleFocus = () => {\n this.hasFocus = true;\n }\n\n private handleBlur = () => {\n this.hasFocus = false;\n }\n\n private renderElement() {\n if (this.href !== undefined) {\n return (\n <pds-link\n href={this.disabled ? null : this.href}\n external={this.external}\n target={this.target}\n class={{\n 'pds-dropdown-menu-item__content': true,\n 'has-focus': this.hasFocus\n }}\n tabIndex={this.disabled ? -1 : 0}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-disabled={this.disabled ? 'true' : null}\n >\n <slot></slot>\n </pds-link>\n );\n }\n\n return (\n <button\n class={{\n 'pds-dropdown-menu-item__content': true,\n 'has-focus': this.hasFocus\n }}\n tabIndex={this.disabled ? -1 : 0}\n type=\"button\"\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n disabled={this.disabled}\n aria-disabled={this.disabled ? 'true' : null}\n >\n <slot></slot>\n </button>\n );\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n // Handle keyboard events\n if (!this.disabled && (event.key === 'Enter')) {\n // Only prevent default for button elements or Space key\n // For links with Enter key, we want the default navigation behavior\n if (!this.href) {\n event.preventDefault();\n }\n this.handleClick();\n }\n }\n\n render() {\n return (\n <Host id={this.componentId}\n class={{ 'is-disabled': this.disabled, 'destructive': !this.disabled && this.destructive }}\n onClick={() => !this.disabled && this.handleClick()}\n role=\"none\"\n tabIndex={-1}\n aria-disabled={this.disabled ? 'true' : null}\n >\n {this.renderElement()}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-EnxcYko8.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 /**\n * CSRF header name for authenticated requests. Defaults to `X-CSRF-Token`.\n */\n @Prop() csrfHeaderName?: string = 'X-CSRF-Token';\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 // Flag to track if initial async fetch has been triggered (prevents double fetch)\n private initialAsyncFetchTriggered: boolean = false;\n // Flag to track if value changed during loading and needs resolution after fetch completes\n private pendingUnresolvedFetch: 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 // If we have preselected values and asyncUrl, fetch options to resolve them\n // This ensures the trigger shows \"X items\" instead of placeholder on initial render\n if (this.asyncUrl && this.ensureValueArray().length > 0) {\n this.initialAsyncFetchTriggered = true;\n this.fetchOptions('', 1);\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 // If using asyncUrl and some values couldn't be resolved, fetch options\n // This handles programmatic value changes where the options aren't loaded yet\n if (this.asyncUrl) {\n const valueArray = this.ensureValueArray();\n const hasUnresolvedValues = valueArray.length > 0 && this.selectedItems.length < valueArray.length;\n if (hasUnresolvedValues) {\n if (this.loading) {\n // Mark that we need to re-check after current fetch completes\n this.pendingUnresolvedFetch = true;\n } else {\n this.fetchOptions('', 1);\n }\n }\n }\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 const headerName = this.csrfHeaderName || 'X-CSRF-Token';\n headers[headerName] = 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 // Check if value changed during loading and still has unresolved values\n if (this.pendingUnresolvedFetch) {\n this.pendingUnresolvedFetch = false;\n const valueArray = this.ensureValueArray();\n const hasUnresolvedValues = valueArray.length > 0 && this.selectedItems.length < valueArray.length;\n if (hasUnresolvedValues) {\n this.fetchOptions('', 1);\n }\n }\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 const headerName = this.csrfHeaderName || 'X-CSRF-Token';\n headers[headerName] = 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 (skip if already fetching from componentDidLoad)\n if (this.asyncUrl && this.internalOptions.length === 0 && !this.initialAsyncFetchTriggered) {\n this.debouncedFetchAsyncOptions(this.searchQuery, 1);\n }\n // Reset the flag so subsequent opens can fetch if needed\n this.initialAsyncFetchTriggered = false;\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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"}