@pine-ds/core 3.29.0 → 3.31.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/form.js +1 -1
- package/components/pds-avatar.js +1 -1
- package/components/pds-checkbox2.js +1 -1
- package/components/pds-combobox.js +2 -2
- package/components/pds-input.js +1 -1
- package/components/pds-modal-content.js +1 -1
- package/components/pds-modal-footer.js +1 -1
- package/components/pds-modal-header.js +1 -1
- package/components/pds-modal.js +1 -1
- package/components/pds-multiselect.js +1 -1
- package/components/pds-radio-group.js +1 -1
- package/components/pds-radio.js +1 -1
- package/components/pds-select.js +1 -1
- package/components/pds-sortable-item.js +1 -1
- package/components/pds-switch.js +1 -1
- package/components/pds-tab.js +1 -1
- package/components/pds-tabpanel.js +1 -1
- package/components/pds-textarea.js +1 -1
- package/components/pds-tooltip.js +1 -1
- package/components/reconnected-content.js +1 -0
- package/dist/cjs/{form-CpM5Z8q7.js → form-MhwfKTuo.js} +11 -7
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/pds-avatar.cjs.entry.js +2 -2
- package/dist/cjs/pds-checkbox.cjs.entry.js +4 -4
- package/dist/cjs/pds-combobox.cjs.entry.js +34 -4
- package/dist/cjs/pds-input.cjs.entry.js +3 -3
- package/dist/cjs/pds-modal-content.cjs.entry.js +7 -2
- package/dist/cjs/pds-modal-footer.cjs.entry.js +7 -1
- package/dist/cjs/pds-modal-header.cjs.entry.js +7 -1
- package/dist/cjs/pds-modal.cjs.entry.js +40 -5
- package/dist/cjs/pds-multiselect.cjs.entry.js +5 -5
- package/dist/cjs/pds-radio-group.cjs.entry.js +20 -4
- package/dist/cjs/pds-radio.cjs.entry.js +17 -5
- package/dist/cjs/pds-select.cjs.entry.js +8 -3
- package/dist/cjs/pds-sortable-item.cjs.entry.js +14 -1
- package/dist/cjs/pds-switch.cjs.entry.js +4 -4
- package/dist/cjs/pds-tab.cjs.entry.js +5 -0
- package/dist/cjs/pds-tabpanel.cjs.entry.js +6 -1
- package/dist/cjs/pds-textarea.cjs.entry.js +4 -4
- package/dist/cjs/pds-tooltip.cjs.entry.js +32 -2
- package/dist/cjs/pine-core.cjs.js +1 -1
- package/dist/cjs/reconnected-content-CpnEQcTp.js +29 -0
- package/dist/collection/components/pds-avatar/pds-avatar.js +3 -2
- package/dist/collection/components/pds-checkbox/pds-checkbox.js +3 -3
- package/dist/collection/components/pds-combobox/pds-combobox.css +33 -1
- package/dist/collection/components/pds-combobox/pds-combobox.js +107 -3
- package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +60 -0
- package/dist/collection/components/pds-input/pds-input.css +1 -1
- package/dist/collection/components/pds-input/pds-input.js +1 -1
- package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +7 -2
- package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +7 -1
- package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +7 -1
- package/dist/collection/components/pds-modal/pds-modal.js +63 -5
- package/dist/collection/components/pds-modal/stories/pds-modal.stories.js +77 -0
- package/dist/collection/components/pds-multiselect/pds-multiselect.css +2 -2
- package/dist/collection/components/pds-multiselect/pds-multiselect.js +3 -3
- package/dist/collection/components/pds-radio/pds-radio.css +6 -0
- package/dist/collection/components/pds-radio/pds-radio.js +15 -3
- package/dist/collection/components/pds-radio-group/pds-radio-group.js +19 -3
- package/dist/collection/components/pds-select/pds-select.css +1 -1
- package/dist/collection/components/pds-select/pds-select.js +7 -2
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +14 -1
- package/dist/collection/components/pds-switch/pds-switch.js +3 -3
- package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +5 -0
- package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +6 -1
- package/dist/collection/components/pds-textarea/pds-textarea.js +3 -3
- package/dist/collection/components/pds-tooltip/pds-tooltip.js +32 -2
- package/dist/collection/utils/form.js +11 -7
- package/dist/collection/utils/reconnected-content.js +25 -0
- package/dist/collection/utils/test/reconnect-safety.js +31 -0
- package/dist/docs.json +129 -1
- package/dist/esm/{form-C3xDZBme.js → form-BuRbS7Hp.js} +11 -7
- package/dist/esm/loader.js +1 -1
- package/dist/esm/pds-avatar.entry.js +2 -2
- package/dist/esm/pds-checkbox.entry.js +4 -4
- package/dist/esm/pds-combobox.entry.js +34 -4
- package/dist/esm/pds-input.entry.js +3 -3
- package/dist/esm/pds-modal-content.entry.js +7 -2
- package/dist/esm/pds-modal-footer.entry.js +8 -2
- package/dist/esm/pds-modal-header.entry.js +8 -2
- package/dist/esm/pds-modal.entry.js +40 -5
- package/dist/esm/pds-multiselect.entry.js +5 -5
- package/dist/esm/pds-radio-group.entry.js +20 -4
- package/dist/esm/pds-radio.entry.js +17 -5
- package/dist/esm/pds-select.entry.js +8 -3
- package/dist/esm/pds-sortable-item.entry.js +14 -1
- package/dist/esm/pds-switch.entry.js +4 -4
- package/dist/esm/pds-tab.entry.js +5 -0
- package/dist/esm/pds-tabpanel.entry.js +6 -1
- package/dist/esm/pds-textarea.entry.js +4 -4
- package/dist/esm/pds-tooltip.entry.js +32 -2
- package/dist/esm/pine-core.js +1 -1
- package/dist/esm/reconnected-content-RFpTWV6r.js +27 -0
- package/dist/esm-es5/form-BuRbS7Hp.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/pds-avatar.entry.js +1 -1
- package/dist/esm-es5/pds-checkbox.entry.js +1 -1
- package/dist/esm-es5/pds-combobox.entry.js +2 -2
- package/dist/esm-es5/pds-input.entry.js +1 -1
- package/dist/esm-es5/pds-modal-content.entry.js +1 -1
- package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
- package/dist/esm-es5/pds-modal-header.entry.js +1 -1
- package/dist/esm-es5/pds-modal.entry.js +1 -1
- package/dist/esm-es5/pds-multiselect.entry.js +1 -1
- package/dist/esm-es5/pds-radio-group.entry.js +1 -1
- package/dist/esm-es5/pds-radio.entry.js +1 -1
- package/dist/esm-es5/pds-select.entry.js +1 -1
- package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
- package/dist/esm-es5/pds-switch.entry.js +1 -1
- package/dist/esm-es5/pds-tab.entry.js +1 -1
- package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
- package/dist/esm-es5/pds-textarea.entry.js +1 -1
- package/dist/esm-es5/pds-tooltip.entry.js +1 -1
- package/dist/esm-es5/pine-core.js +1 -1
- package/dist/esm-es5/reconnected-content-RFpTWV6r.js +1 -0
- package/dist/pine-core/p-08b0d298.entry.js +1 -0
- package/dist/pine-core/p-0aa85901.entry.js +2 -0
- package/dist/pine-core/p-16f13b17.entry.js +1 -0
- package/dist/pine-core/p-17d4a99a.system.entry.js +1 -0
- package/dist/pine-core/p-18ae43e3.entry.js +1 -0
- package/dist/pine-core/p-1b1ec833.system.entry.js +3 -0
- package/dist/pine-core/p-1b8ac76c.system.entry.js +1 -0
- package/dist/pine-core/p-1e87e72a.entry.js +1 -0
- package/dist/pine-core/p-2c5fe3d9.system.entry.js +1 -0
- package/dist/pine-core/{p-978b848b.system.entry.js → p-31679dbc.system.entry.js} +1 -1
- package/dist/pine-core/p-36fc1ade.system.entry.js +1 -0
- package/dist/pine-core/{p-5f4d2c5c.system.entry.js → p-3cece186.system.entry.js} +1 -1
- package/dist/pine-core/p-419e711c.entry.js +1 -0
- package/dist/pine-core/p-43268325.system.entry.js +1 -0
- package/dist/pine-core/p-5d1228cb.entry.js +1 -0
- package/dist/pine-core/p-6630f428.system.entry.js +1 -0
- package/dist/pine-core/{p-82af7d58.system.entry.js → p-69372e72.system.entry.js} +1 -1
- package/dist/pine-core/p-73619cfc.system.entry.js +1 -0
- package/dist/pine-core/p-73b40545.system.entry.js +1 -0
- package/dist/pine-core/p-7ad6f313.entry.js +1 -0
- package/dist/pine-core/p-7e146a45.entry.js +1 -0
- package/dist/pine-core/{p-ba54470a.system.entry.js → p-86d12f3c.system.entry.js} +1 -1
- package/dist/pine-core/p-950dd70e.system.entry.js +1 -0
- package/dist/pine-core/p-B1rytYxP.system.js +1 -1
- package/dist/pine-core/p-BbXp4qBM.system.js +1 -0
- package/dist/pine-core/p-BuRbS7Hp.js +1 -0
- package/dist/pine-core/p-BxIzb-Wc.system.js +1 -0
- package/dist/pine-core/p-RFpTWV6r.js +1 -0
- package/dist/pine-core/p-a0edb4ad.entry.js +1 -0
- package/dist/pine-core/p-af1e2778.entry.js +1 -0
- package/dist/pine-core/p-b1e5e8b1.system.entry.js +1 -0
- package/dist/pine-core/p-b3b44b80.entry.js +1 -0
- package/dist/pine-core/p-b759dc21.entry.js +1 -0
- package/dist/pine-core/{p-dc48f603.entry.js → p-caf73216.entry.js} +1 -1
- package/dist/pine-core/p-cd2370d0.system.entry.js +1 -0
- package/dist/pine-core/{p-3c6300a8.system.entry.js → p-cd407bed.system.entry.js} +1 -1
- package/dist/pine-core/p-d12a93d6.entry.js +1 -0
- package/dist/pine-core/p-dfa70d20.entry.js +1 -0
- package/dist/pine-core/p-f145e018.entry.js +1 -0
- package/dist/pine-core/p-f7cbdb81.system.entry.js +1 -0
- package/dist/pine-core/p-fef6694d.entry.js +1 -0
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/types/components/pds-avatar/pds-avatar.d.ts +1 -0
- package/dist/types/components/pds-combobox/pds-combobox.d.ts +18 -0
- package/dist/types/components/pds-modal/pds-modal-content/pds-modal-content.d.ts +1 -0
- package/dist/types/components/pds-modal/pds-modal-footer/pds-modal-footer.d.ts +2 -0
- package/dist/types/components/pds-modal/pds-modal-header/pds-modal-header.d.ts +2 -0
- package/dist/types/components/pds-modal/pds-modal.d.ts +11 -0
- package/dist/types/components/pds-radio/pds-radio.d.ts +1 -0
- package/dist/types/components/pds-radio-group/pds-radio-group.d.ts +1 -0
- package/dist/types/components/pds-select/pds-select.d.ts +1 -0
- package/dist/types/components/pds-sortable/pds-sortable-item/pds-sortable-item.d.ts +1 -0
- package/dist/types/components/pds-tabs/pds-tab/pds-tab.d.ts +1 -0
- package/dist/types/components/pds-tabs/pds-tabpanel/pds-tabpanel.d.ts +1 -0
- package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +3 -0
- package/dist/types/components.d.ts +42 -0
- package/dist/types/{home/runner/work/pine/pine → private/tmp/claude-501/-Users-qjason-Documents-GitHub/dc3bfd4f-fc9e-49b8-b152-4257ab4ca83c/scratchpad/pine-publish-backfill}/libs/core/.stencil/scripts/vscode-custom-data-generator.d.ts +1 -1
- package/dist/types/utils/form.d.ts +4 -1
- package/dist/types/utils/reconnected-content.d.ts +14 -0
- package/dist/types/utils/test/reconnect-safety.d.ts +11 -0
- package/dist/vscode.html-data.json +10909 -0
- package/hydrate/index.js +248 -50
- package/hydrate/index.mjs +248 -50
- package/package.json +2 -2
- package/dist/esm-es5/form-C3xDZBme.js +0 -1
- package/dist/pine-core/p-02805a93.system.entry.js +0 -1
- package/dist/pine-core/p-02977c6f.entry.js +0 -1
- package/dist/pine-core/p-054f7011.entry.js +0 -1
- package/dist/pine-core/p-092a72d2.system.entry.js +0 -1
- package/dist/pine-core/p-0d6daa35.entry.js +0 -1
- package/dist/pine-core/p-12154189.system.entry.js +0 -1
- package/dist/pine-core/p-1deded6e.system.entry.js +0 -1
- package/dist/pine-core/p-1fb985bb.entry.js +0 -1
- package/dist/pine-core/p-2a74b396.entry.js +0 -1
- package/dist/pine-core/p-39ad92fc.entry.js +0 -1
- package/dist/pine-core/p-507e831f.system.entry.js +0 -1
- package/dist/pine-core/p-5c229a7f.entry.js +0 -1
- package/dist/pine-core/p-69e47ffc.system.entry.js +0 -1
- package/dist/pine-core/p-6fb68ad1.entry.js +0 -1
- package/dist/pine-core/p-72a1b563.system.entry.js +0 -1
- package/dist/pine-core/p-7a7954b2.system.entry.js +0 -1
- package/dist/pine-core/p-7d15b65e.entry.js +0 -1
- package/dist/pine-core/p-902b5790.entry.js +0 -2
- package/dist/pine-core/p-9aaee1e9.system.entry.js +0 -1
- package/dist/pine-core/p-9ba86e34.entry.js +0 -1
- package/dist/pine-core/p-9f041a63.system.entry.js +0 -3
- package/dist/pine-core/p-B1u-QvFn.system.js +0 -1
- package/dist/pine-core/p-C3xDZBme.js +0 -1
- package/dist/pine-core/p-b0674b8d.entry.js +0 -1
- package/dist/pine-core/p-c1932447.entry.js +0 -1
- package/dist/pine-core/p-ce715993.entry.js +0 -1
- package/dist/pine-core/p-d037308b.entry.js +0 -1
- package/dist/pine-core/p-e0fb06ea.system.entry.js +0 -1
- package/dist/pine-core/p-e4b69d10.entry.js +0 -1
- package/dist/pine-core/p-e81b4d04.system.entry.js +0 -1
- package/dist/pine-core/p-fb10caff.system.entry.js +0 -1
- package/dist/pine-core/p-ff3399ed.entry.js +0 -1
package/components/pds-input.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as e,HTMLElement as r,createEvent as i,h as t,Host as n,transformTag as s}from"@stencil/core/internal/client";import{i as d,a as o,m as a}from"./form.js";import{i as p}from"./attributes.js";import{d as l}from"./utils.js";import{h as u}from"./index2.js";import{d as c}from"./pds-icon2.js";const h=e(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.pdsBlur=i(this,"pdsBlur",7),this.pdsChange=i(this,"pdsChange",7),this.pdsFocus=i(this,"pdsFocus",7),this.pdsInput=i(this,"pdsInput",7),this.pdsKeyDown=i(this,"pdsKeyDown",7),this.inheritedAttributes={},this.isComposing=!1,this.hasLoaded=!1,this.hasPrefix=!1,this.hasSuffix=!1,this.hasPrepend=!1,this.hasAppend=!1,this.hasAction=!1,this.type="text",this.value="",this.hasFocus=!1,this.onInputEvent=e=>{const r=e.target;r&&(this.value=r.value||""),this.emitInputChange(e)},this.onChangeEvent=e=>{this.emitValueChange(e)},this.onBlurEvent=e=>{this.hasFocus=!1,this.focusedValue!==this.value&&this.emitValueChange(e),this.pdsBlur.emit(e)},this.onFocusEvent=e=>{this.hasFocus=!0,this.focusedValue=this.value,this.pdsFocus.emit(e)},this.onCompositionStart=()=>{this.isComposing=!0},this.onCompositionEnd=()=>{this.isComposing=!1},this.onKeyDownEvent=e=>{this.pdsKeyDown.emit(e)}}async setFocus(){this.nativeInput&&this.nativeInput.focus()}observeAddonResize(){var e;"undefined"!=typeof ResizeObserver&&(null===(e=this.resizeObserver)||void 0===e||e.disconnect(),this.resizeObserver=new ResizeObserver((()=>{this.updateAddonWidths()})),this.prefixEl&&this.resizeObserver.observe(this.prefixEl),this.suffixEl&&this.resizeObserver.observe(this.suffixEl))}updateAddonWidths(){requestAnimationFrame((()=>{this.prefixEl&&this.el.style.setProperty("--prefix-width",this.prefixEl.offsetWidth+"px"),this.suffixEl&&this.el.style.setProperty("--suffix-width",this.suffixEl.offsetWidth+"px")}))}renderPrefix(){return null!==this.el.querySelector('[slot="prefix"]')?t("div",{class:"pds-input__prefix",part:"prefix",ref:e=>this.prefixEl=e},t("slot",{name:"prefix",onSlotchange:()=>this.updateAddonWidths()})):null}renderSuffix(){return null!==this.el.querySelector('[slot="suffix"]')?t("div",{class:"pds-input__suffix",part:"suffix",ref:e=>this.suffixEl=e},t("slot",{name:"suffix",onSlotchange:()=>this.updateAddonWidths()})):null}renderPrepend(){return null!==this.el.querySelector('[slot="prepend"]')?t("div",{class:"pds-input__prepend",part:"prepend"},t("slot",{name:"prepend"})):null}renderAppend(){return null!==this.el.querySelector('[slot="append"]')?t("div",{class:"pds-input__append",part:"append"},t("slot",{name:"append"})):null}renderAction(){return null!==this.el.querySelector('[slot="action"]')?t("div",{class:"pds-input__action",part:"action"},t("slot",{name:"action"})):null}componentWillLoad(){this.inheritedAttributes=Object.assign({},p(this.el)),this.hasPrefix=null!==this.el.querySelector('[slot="prefix"]'),this.hasSuffix=null!==this.el.querySelector('[slot="suffix"]'),this.hasPrepend=null!==this.el.querySelector('[slot="prepend"]'),this.hasAppend=null!==this.el.querySelector('[slot="append"]'),this.hasAction=null!==this.el.querySelector('[slot="action"]'),this.originalPdsInput=this.pdsInput}connectedCallback(){this.el.attachInternals&&!this.internals&&(this.internals=this.el.attachInternals()),this.hasLoaded&&!this.resizeObserver&&(this.updateAddonWidths(),this.observeAddonResize())}disconnectedCallback(){var e;null===(e=this.resizeObserver)||void 0===e||e.disconnect(),this.resizeObserver=void 0}componentDidLoad(){this.hasLoaded=!0,this.debounceChanged(),this.updateAddonWidths(),this.observeAddonResize(),this.updateFormValue()}debounceChanged(){const{pdsInput:e,debounce:r,originalPdsInput:i}=this;this.pdsInput=void 0===r?null!=i?i:e:l(e,r)}valueChanged(){const e=this.nativeInput,r=this.getValue();e&&e.value!==r&&!this.isComposing&&(e.value=r),this.updateFormValue()}getValue(){return"number"==typeof this.value?""+this.value:""+(this.value||"")}emitValueChange(e){const{value:r}=this,i=null==r?r:""+r;this.focusedValue=i,this.pdsChange.emit({value:i,event:e})}emitInputChange(e){const{value:r}=this;this.pdsInput.emit({value:null==r?r:""+r,event:e})}updateFormValue(){if(!d()&&this.internals&&this.internals.setFormValue){const e=this.getValue();this.internals.setFormValue(e||null),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("string"==typeof e)this.value=e;else if(e instanceof FormData&&this.name){const r=e.get(this.name);"string"==typeof r&&(this.value=r)}}render(){const{componentId:e,disabled:r,errorMessage:i,helperMessage:s,invalid:d=!1,label:p}=this,l=this.getValue(),c={"pds-input__field-wrapper":!0,"has-focus":this.hasFocus,"has-error":d||!!i,"is-disabled":r,"has-prefix":this.hasPrefix,"has-suffix":this.hasSuffix,"has-prepend":this.hasPrepend,"has-append":this.hasAppend};return t(n,{key:"ecf4cc212e5c3ebc18082b790803e6b2ccb8ca77","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},t("div",{key:"acdf92a30068fc04a17816ec6d85295b47e512ee",class:"pds-input"},p&&t("div",{key:"4569f0b3761db89e85a090eff6af1c47cb562115",class:{"pds-input__label-wrapper":!0,"visually-hidden":this.hideLabel}},t("label",{key:"90b0a863d78115fa158429db11548fc2a9ee5ae6",htmlFor:e,class:"pds-input__label"},t("span",{key:"3d440aaafc4daeffe45152cd23d27472d7ebf85a"},p,this.required&&t("span",{key:"c7bf6ef6191e961a106b8885cab604aa89730eba",class:"pds-input__required-indicator"}," *"))),!this.hideLabel&&this.renderAction()),t("div",{key:"81f0b8a347bc9a06c753b9f31f5e30ac78e45adb",class:c},this.renderPrepend(),this.renderPrefix(),t("input",Object.assign({key:"3785b396bf9174766973e8b19028e4dcecde19d9",ref:e=>this.nativeInput=e,class:"pds-input__field","aria-describedby":o(e,d,s),"aria-invalid":d?"true":void 0,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:l,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()),s&&t("p",{key:"e9e4aa936346811e0a5ca0fa5107f548b52fcc99",class:"pds-input__helper-message",id:a(e,"helper")},s),i&&t("p",{key:"ef3694246fa3d8f818da438e7ec4411dd56b084c",class:"pds-input__error-message",id:a(e,"error")},t("pds-icon",{key:"f1e488b33c8338f54cd83a59e219311a844e3c97","aria-hidden":"true",icon:u,size:"small"}),i)))}static get formAssociated(){return!0}get el(){return this}static get watchers(){return{debounce:[{debounceChanged:0}],value:[{valueChanged:0}]}}static get style(){return":host{--pine-input-color-background-danger:var(--pine-color-red-050)}: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)}: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);inset-inline-start: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);inset-inline-end: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-end-start:var(--pds-input-border-radius);--pds-select-border-radius-start-end:var(--pine-dimension-none);--pds-select-border-radius-start-start:var(--pds-input-border-radius);--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-end:var(--pds-input-border-radius);--pds-select-border-radius-end-start:var(--pine-dimension-none);--pds-select-border-radius-start-end:var(--pds-input-border-radius);--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([aria-disabled=true])::part(prepend),:host([aria-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 var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) 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)}.pds-input__field:-moz-placeholder-shown{text-overflow:ellipsis}.pds-input__field:-ms-input-placeholder{text-overflow:ellipsis}.pds-input__field:placeholder-shown{text-overflow:ellipsis}.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)}"}},[321,"pds-input",{autocomplete:[1],componentId:[1,"component-id"],debounce:[2],disabled:[4],errorMessage:[1,"error-message"],helperMessage:[1,"helper-message"],invalid:[4],label:[1],hideLabel:[4,"hide-label"],max:[1],maxlength:[1],min:[1],minlength:[1],name:[1],pattern:[1],placeholder:[1],readonly:[4],required:[4],step:[1],type:[1],value:[1032],fullWidth:[4,"full-width"],highlight:[516],hasPrefix:[32],hasSuffix:[32],hasPrepend:[32],hasAppend:[32],hasAction:[32],hasFocus:[32],setFocus:[64]},void 0,{debounce:[{debounceChanged:0}],value:[{valueChanged:0}]}]),b=h,v=function(){"undefined"!=typeof customElements&&["pds-input","pds-icon"].forEach((e=>{switch(e){case"pds-input":customElements.get(s(e))||customElements.define(s(e),h);break;case"pds-icon":customElements.get(s(e))||c()}}))};export{b as PdsInput,v as defineCustomElement}
|
|
1
|
+
import{proxyCustomElement as e,HTMLElement as r,createEvent as i,h as t,Host as n,transformTag as s}from"@stencil/core/internal/client";import{i as d,a as o,m as a}from"./form.js";import{i as p}from"./attributes.js";import{d as l}from"./utils.js";import{h as u}from"./index2.js";import{d as c}from"./pds-icon2.js";const h=e(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.pdsBlur=i(this,"pdsBlur",7),this.pdsChange=i(this,"pdsChange",7),this.pdsFocus=i(this,"pdsFocus",7),this.pdsInput=i(this,"pdsInput",7),this.pdsKeyDown=i(this,"pdsKeyDown",7),this.inheritedAttributes={},this.isComposing=!1,this.hasLoaded=!1,this.hasPrefix=!1,this.hasSuffix=!1,this.hasPrepend=!1,this.hasAppend=!1,this.hasAction=!1,this.type="text",this.value="",this.hasFocus=!1,this.onInputEvent=e=>{const r=e.target;r&&(this.value=r.value||""),this.emitInputChange(e)},this.onChangeEvent=e=>{this.emitValueChange(e)},this.onBlurEvent=e=>{this.hasFocus=!1,this.focusedValue!==this.value&&this.emitValueChange(e),this.pdsBlur.emit(e)},this.onFocusEvent=e=>{this.hasFocus=!0,this.focusedValue=this.value,this.pdsFocus.emit(e)},this.onCompositionStart=()=>{this.isComposing=!0},this.onCompositionEnd=()=>{this.isComposing=!1},this.onKeyDownEvent=e=>{this.pdsKeyDown.emit(e)}}async setFocus(){this.nativeInput&&this.nativeInput.focus()}observeAddonResize(){var e;"undefined"!=typeof ResizeObserver&&(null===(e=this.resizeObserver)||void 0===e||e.disconnect(),this.resizeObserver=new ResizeObserver((()=>{this.updateAddonWidths()})),this.prefixEl&&this.resizeObserver.observe(this.prefixEl),this.suffixEl&&this.resizeObserver.observe(this.suffixEl))}updateAddonWidths(){requestAnimationFrame((()=>{this.prefixEl&&this.el.style.setProperty("--prefix-width",this.prefixEl.offsetWidth+"px"),this.suffixEl&&this.el.style.setProperty("--suffix-width",this.suffixEl.offsetWidth+"px")}))}renderPrefix(){return null!==this.el.querySelector('[slot="prefix"]')?t("div",{class:"pds-input__prefix",part:"prefix",ref:e=>this.prefixEl=e},t("slot",{name:"prefix",onSlotchange:()=>this.updateAddonWidths()})):null}renderSuffix(){return null!==this.el.querySelector('[slot="suffix"]')?t("div",{class:"pds-input__suffix",part:"suffix",ref:e=>this.suffixEl=e},t("slot",{name:"suffix",onSlotchange:()=>this.updateAddonWidths()})):null}renderPrepend(){return null!==this.el.querySelector('[slot="prepend"]')?t("div",{class:"pds-input__prepend",part:"prepend"},t("slot",{name:"prepend"})):null}renderAppend(){return null!==this.el.querySelector('[slot="append"]')?t("div",{class:"pds-input__append",part:"append"},t("slot",{name:"append"})):null}renderAction(){return null!==this.el.querySelector('[slot="action"]')?t("div",{class:"pds-input__action",part:"action"},t("slot",{name:"action"})):null}componentWillLoad(){this.inheritedAttributes=Object.assign({},p(this.el)),this.hasPrefix=null!==this.el.querySelector('[slot="prefix"]'),this.hasSuffix=null!==this.el.querySelector('[slot="suffix"]'),this.hasPrepend=null!==this.el.querySelector('[slot="prepend"]'),this.hasAppend=null!==this.el.querySelector('[slot="append"]'),this.hasAction=null!==this.el.querySelector('[slot="action"]'),this.originalPdsInput=this.pdsInput}connectedCallback(){this.el.attachInternals&&!this.internals&&(this.internals=this.el.attachInternals()),this.hasLoaded&&!this.resizeObserver&&(this.updateAddonWidths(),this.observeAddonResize())}disconnectedCallback(){var e;null===(e=this.resizeObserver)||void 0===e||e.disconnect(),this.resizeObserver=void 0}componentDidLoad(){this.hasLoaded=!0,this.debounceChanged(),this.updateAddonWidths(),this.observeAddonResize(),this.updateFormValue()}debounceChanged(){const{pdsInput:e,debounce:r,originalPdsInput:i}=this;this.pdsInput=void 0===r?null!=i?i:e:l(e,r)}valueChanged(){const e=this.nativeInput,r=this.getValue();e&&e.value!==r&&!this.isComposing&&(e.value=r),this.updateFormValue()}getValue(){return"number"==typeof this.value?""+this.value:""+(this.value||"")}emitValueChange(e){const{value:r}=this,i=null==r?r:""+r;this.focusedValue=i,this.pdsChange.emit({value:i,event:e})}emitInputChange(e){const{value:r}=this;this.pdsInput.emit({value:null==r?r:""+r,event:e})}updateFormValue(){if(!d()&&this.internals&&this.internals.setFormValue){const e=this.getValue();this.internals.setFormValue(e||null),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("string"==typeof e)this.value=e;else if(e instanceof FormData&&this.name){const r=e.get(this.name);"string"==typeof r&&(this.value=r)}}render(){const{componentId:e,disabled:r,errorMessage:i,helperMessage:s,invalid:d=!1,label:p}=this,l=this.getValue(),c={"pds-input__field-wrapper":!0,"has-focus":this.hasFocus,"has-error":d||!!i,"is-disabled":r,"has-prefix":this.hasPrefix,"has-suffix":this.hasSuffix,"has-prepend":this.hasPrepend,"has-append":this.hasAppend};return t(n,{key:"ecf4cc212e5c3ebc18082b790803e6b2ccb8ca77","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},t("div",{key:"acdf92a30068fc04a17816ec6d85295b47e512ee",class:"pds-input"},p&&t("div",{key:"4569f0b3761db89e85a090eff6af1c47cb562115",class:{"pds-input__label-wrapper":!0,"visually-hidden":this.hideLabel}},t("label",{key:"90b0a863d78115fa158429db11548fc2a9ee5ae6",htmlFor:e,class:"pds-input__label"},t("span",{key:"3d440aaafc4daeffe45152cd23d27472d7ebf85a"},p,this.required&&t("span",{key:"c7bf6ef6191e961a106b8885cab604aa89730eba",class:"pds-input__required-indicator"}," *"))),!this.hideLabel&&this.renderAction()),t("div",{key:"81f0b8a347bc9a06c753b9f31f5e30ac78e45adb",class:c},this.renderPrepend(),this.renderPrefix(),t("input",Object.assign({key:"41ed8dab6f7c71c6c382627ca4dc48bb95c1161d",ref:e=>this.nativeInput=e,class:"pds-input__field","aria-describedby":o(e,d,s,i),"aria-invalid":d?"true":void 0,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:l,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()),s&&t("p",{key:"4791ddeb01b758a94a2fddfec6093b9b39eefafa",class:"pds-input__helper-message",id:a(e,"helper")},s),i&&t("p",{key:"d0a22ae4b0e400e1d5df55e35c0aaaa5c5ea3ab7",class:"pds-input__error-message",id:a(e,"error")},t("pds-icon",{key:"69975cdcc15e5ab6df9e2c354977e2c6dae18f6e","aria-hidden":"true",icon:u,size:"small"}),i)))}static get formAssociated(){return!0}get el(){return this}static get watchers(){return{debounce:[{debounceChanged:0}],value:[{valueChanged:0}]}}static get style(){return":host{--pine-input-color-background-danger:var(--pine-color-red-050)}: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)}: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:calc(var(--pine-z-index-raised) - 1)}: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);inset-inline-start: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);inset-inline-end: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-end-start:var(--pds-input-border-radius);--pds-select-border-radius-start-end:var(--pine-dimension-none);--pds-select-border-radius-start-start:var(--pds-input-border-radius);--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-end:var(--pds-input-border-radius);--pds-select-border-radius-end-start:var(--pine-dimension-none);--pds-select-border-radius-start-end:var(--pds-input-border-radius);--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([aria-disabled=true])::part(prepend),:host([aria-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 var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) 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)}.pds-input__field:-moz-placeholder-shown{text-overflow:ellipsis}.pds-input__field:-ms-input-placeholder{text-overflow:ellipsis}.pds-input__field:placeholder-shown{text-overflow:ellipsis}.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)}"}},[321,"pds-input",{autocomplete:[1],componentId:[1,"component-id"],debounce:[2],disabled:[4],errorMessage:[1,"error-message"],helperMessage:[1,"helper-message"],invalid:[4],label:[1],hideLabel:[4,"hide-label"],max:[1],maxlength:[1],min:[1],minlength:[1],name:[1],pattern:[1],placeholder:[1],readonly:[4],required:[4],step:[1],type:[1],value:[1032],fullWidth:[4,"full-width"],highlight:[516],hasPrefix:[32],hasSuffix:[32],hasPrepend:[32],hasAppend:[32],hasAction:[32],hasFocus:[32],setFocus:[64]},void 0,{debounce:[{debounceChanged:0}],value:[{valueChanged:0}]}]),b=h,v=function(){"undefined"!=typeof customElements&&["pds-input","pds-icon"].forEach((e=>{switch(e){case"pds-input":customElements.get(s(e))||customElements.define(s(e),h);break;case"pds-icon":customElements.get(s(e))||c()}}))};export{b as PdsInput,v as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as t,HTMLElement as
|
|
1
|
+
import{proxyCustomElement as t,HTMLElement as o,h as e,Host as s,transformTag as n}from"@stencil/core/internal/client";import{u as d}from"./reconnected-content.js";const i=t(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.border="none",this.contentMaxHeight="none",this.userSetBorder=!1}componentDidRender(){d(this.el.querySelector(".pds-modal-content"),".pds-modal-content")}componentWillLoad(){const t=this.el.getAttribute("border");this.userSetBorder=null!==t||"none"!==this.border}componentDidLoad(){this.calculateMaxHeight(),window.addEventListener("resize",this.handleResize.bind(this)),this.userSetBorder||setTimeout((()=>{this.el.addEventListener("scroll",this.handleScroll.bind(this)),setTimeout((()=>this.updateBorders()),100)}),100)}disconnectedCallback(){window.removeEventListener("resize",this.handleResize.bind(this)),this.userSetBorder||this.el.removeEventListener("scroll",this.handleScroll.bind(this)),this.mutationObserver&&this.mutationObserver.disconnect()}handleScroll(){this.updateBorders()}handleResize(){this.calculateMaxHeight(),setTimeout((()=>this.updateBorders()),50)}updateBorders(){if(this.userSetBorder)return;const t=this.el.closest("pds-modal");if(!t)return;if(!1===t.scrollable)return void(this.border="none");const o=this.el;if(!(o.scrollHeight>o.clientHeight))return void(this.border="none");const{scrollTop:e,scrollHeight:s,clientHeight:n}=o,d=e<=3,i=e+n>=s-3;this.border=d&&i?"none":d&&!i?"bottom":!d&&i?"top":"both"}calculateMaxHeight(){const t=this.el.closest("pds-modal");if(!t)return;const o=!1!==t.scrollable;setTimeout((()=>{if(!o){this.contentMaxHeight="none";const t=this.el.querySelector(".pds-modal-content");return void(t&&(t.style.maxHeight="none"))}const e=t.querySelector("pds-modal-header"),s=t.querySelector("pds-modal-footer"),n=e?e.offsetHeight:0,d=s?s.offsetHeight:0;if(n>0||d>0){const t=Math.round(.06*window.innerHeight);this.contentMaxHeight=`calc(100vh - ${n+d+48+t+50}px)`;const o=this.el.querySelector(".pds-modal-content");o&&(o.style.maxHeight=this.contentMaxHeight)}else this.contentMaxHeight="none";setTimeout((()=>this.updateBorders()),150)}),100),!this.mutationObserver&&t&&(this.mutationObserver=new MutationObserver((()=>{this.calculateMaxHeight()})),this.mutationObserver.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style","class"]}))}render(){const t="none"!==this.contentMaxHeight?{maxHeight:this.contentMaxHeight}:{};return e(s,{key:"f3e75b90be56bb27ba5f4fde473fac474846f346"},e("div",{key:"5035d5fa319fe2aaa8adffb825f0d2babfd11a26",class:{"pds-modal-content":!0,["pds-modal-content--border-"+this.border]:!0},style:t,tabindex:"-1"},e("slot",{key:"73299f6f7045ea50a5bf134da04f1e30cd9f233c"})))}get el(){return this}static get style(){return"pds-modal-content{display:block;-ms-flex:1 1 auto;flex:1 1 auto;width:100%}pds-modal-content:has(.pds-modal-content.pds-modal-content--border-none){border:0}pds-modal-content:has(.pds-modal-content.pds-modal-content--border-both){-webkit-border-after:1px solid var(--pine-color-border-subtle);border-block-end:1px solid var(--pine-color-border-subtle);-webkit-border-before:1px solid var(--pine-color-border-subtle);border-block-start:1px solid var(--pine-color-border-subtle)}pds-modal-content:has(.pds-modal-content.pds-modal-content--border-top){-webkit-border-before:1px solid var(--pine-color-border-subtle);border-block-start:1px solid var(--pine-color-border-subtle)}pds-modal-content:has(.pds-modal-content.pds-modal-content--border-bottom){-webkit-border-after:1px solid var(--pine-color-border-subtle);border-block-end:1px solid var(--pine-color-border-subtle)}.pds-modal-content{display:block;-ms-flex:1 1 auto;flex:1 1 auto;min-height:0;width:100%}"}},[260,"pds-modal-content",{border:[1537],contentMaxHeight:[32]}]),r=i,l=function(){"undefined"!=typeof customElements&&["pds-modal-content"].forEach((t=>{"pds-modal-content"===t&&(customElements.get(n(t))||customElements.define(n(t),i))}))};export{r as PdsModalContent,l as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as e,HTMLElement as o,h as t,transformTag as
|
|
1
|
+
import{proxyCustomElement as e,HTMLElement as o,h as t,transformTag as s}from"@stencil/core/internal/client";import{u as r}from"./reconnected-content.js";const d=e(class extends o{constructor(e){super(),!1!==e&&this.__registerHost()}componentDidRender(){r(this.el.querySelector(".pds-modal__footer"),".pds-modal__footer")}render(){return t("footer",{key:"1220d6319585df0128924ebac52569af7645f525",class:"pds-modal__footer"},t("slot",{key:"1bbbf4897f41c802fc5773154cee3930290c906a"}))}get el(){return this}static get style(){return"pds-modal-footer{display:block;width:100%}.pds-modal__footer{width:100%}"}},[260,"pds-modal-footer"]),n=d,c=function(){"undefined"!=typeof customElements&&["pds-modal-footer"].forEach((e=>{"pds-modal-footer"===e&&(customElements.get(s(e))||customElements.define(s(e),d))}))};export{n as PdsModalFooter,c as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as e,HTMLElement as d,h as t,transformTag as s}from"@stencil/core/internal/client";const
|
|
1
|
+
import{proxyCustomElement as e,HTMLElement as d,h as t,transformTag as s}from"@stencil/core/internal/client";import{u as a}from"./reconnected-content.js";const r=e(class extends d{constructor(e){super(),!1!==e&&this.__registerHost()}componentDidRender(){a(this.el.querySelector(".pds-modal__header"),".pds-modal__header")}render(){return t("header",{key:"0fd8a216ae8dc149b59cd29c8706d5a45a21de15",class:"pds-modal__header"},t("slot",{key:"4bf075dfd4870621e6e0b710fcdb42aac53810b3"}))}get el(){return this}static get style(){return"pds-modal-header{display:block;width:100%}.pds-modal__header{width:100%}"}},[260,"pds-modal-header"]),o=r,n=function(){"undefined"!=typeof customElements&&["pds-modal-header"].forEach((e=>{"pds-modal-header"===e&&(customElements.get(s(e))||customElements.define(s(e),r))}))};export{o as PdsModalHeader,n as defineCustomElement}
|
package/components/pds-modal.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as t,HTMLElement as i,createEvent as
|
|
1
|
+
import{proxyCustomElement as t,HTMLElement as i,createEvent as s,h as o,transformTag as e}from"@stencil/core/internal/client";import{u as d}from"./reconnected-content.js";const a=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.pdsModalOpen=s(this,"pdsModalOpen",7),this.pdsModalClose=s(this,"pdsModalClose",7),this.focusableElements=[],this.backdropDismiss=!0,this.open=!1,this.size="md",this.scrollable=!0,this.disableTopLayer=!1,this.focusableElementsArray=[],this.handleBackdropClick=t=>{this.backdropDismiss&&this.open&&t.target.classList.contains("pds-modal__backdrop")&&(t.stopPropagation(),this.isInnermostModal()&&this.hideModal())},this.handleKeyDown=t=>{if(this.open){if("Escape"===t.key){const i=document.activeElement;if(this.disableTopLayer&&i&&i!==document.body&&!this.el.contains(i))return;return t.preventDefault(),void(this.backdropDismiss&&this.isInnermostModal()&&this.hideModal())}if("Tab"===t.key){if(this.disableTopLayer)return;if(0===this.focusableElements.length)return;const i=this.focusableElements[0],s=this.focusableElements[this.focusableElements.length-1],o=document.activeElement,e=o===i||i.contains(o),d=o===s||s.contains(o);t.shiftKey&&e?(t.preventDefault(),this.focusElement(s)):!t.shiftKey&&d&&(t.preventDefault(),this.focusElement(i))}}}}componentDidLoad(){this.modalRef=this.el.querySelector(".pds-modal__backdrop"),document.addEventListener("keydown",this.handleKeyDown)}componentDidRender(){d(this.el.querySelector(".pds-modal"),"dialog.pds-modal__backdrop",".pds-modal")}disconnectedCallback(){document.removeEventListener("keydown",this.handleKeyDown)}handleOpenChange(t){t?this.showModal():this.hideModal()}updateFocusableElements(){this.modalRef&&(this.focusableElements=Array.from(this.modalRef.querySelectorAll('a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"]),pds-button:not([disabled]),pds-link:not([disabled]),pds-input:not([disabled]),pds-checkbox:not([disabled]),pds-radio:not([disabled]),pds-switch:not([disabled]),pds-select:not([disabled])')),this.focusableElements=this.focusableElements.filter((t=>{const i=window.getComputedStyle(t);return"none"!==i.display&&"hidden"!==i.visibility})))}setInitialFocus(){0!==this.focusableElements.length&&this.focusElement(this.focusableElements[0])}focusElement(t){if(t)try{t.focus(),setTimeout((()=>{if(document.activeElement!==t&&t.shadowRoot){const i=t.shadowRoot.querySelector("button, [tabindex], input, a[href]");i&&i.focus()}}),0)}catch(t){console.error("Error focusing element:",t)}}async showModal(){if(this.modalRef)try{this.previousActiveElement=document.activeElement,this.disableTopLayer?this.modalRef.show():this.modalRef.showModal(),this.open=!0,setTimeout((()=>{this.updateFocusableElements(),this.setInitialFocus(),this.pdsModalOpen.emit()}),100)}catch(t){console.error("Failed to show modal:",t)}}async hideModal(){if(this.modalRef)try{this.modalRef.close(),this.open=!1,this.previousActiveElement&&"function"==typeof this.previousActiveElement.focus&&this.previousActiveElement.focus(),this.pdsModalClose.emit()}catch(t){console.error("Failed to hide modal:",t)}}getBackdropZIndex(t){const i=t.querySelector(".pds-modal__backdrop");return i?parseInt(getComputedStyle(i).zIndex,10):-1}isInnermostModal(){const t=Array.from(document.querySelectorAll("pds-modal")).filter((t=>t.open));if(0===t.length)return!1;if(!this.el.querySelector(".pds-modal__backdrop"))return!1;const i=t.map((t=>this.getBackdropZIndex(t))),s=Math.max(...i);return this.getBackdropZIndex(this.el)===s}render(){return o("dialog",{key:"134e913f0bf5d7bf77e67f00707a399fae986fcb",class:{"pds-modal__backdrop":!0,open:this.open},"aria-modal":this.disableTopLayer?"false":"true","aria-labelledby":this.componentId+"-heading",onClick:this.handleBackdropClick},o("div",{key:"6cb819a92c00b5c8676b4d1a84301896373305f3",class:{"pds-modal":!0,["pds-modal--"+this.size]:!0,"pds-modal--scrollable":this.scrollable},part:"modal"},o("slot",{key:"aff0f88a7b9e1b4b681a6a14636153ce3a6907d5"})))}get el(){return this}static get watchers(){return{open:[{handleOpenChange:0}]}}static get style(){return".pds-modal__backdrop{-ms-flex-align:start;align-items:flex-start;background-color:rgba(0, 0, 0, 0.4);border:0;display:-ms-flexbox;display:flex;height:100%;inset:0;-ms-flex-pack:center;justify-content:center;margin:0;max-height:100%;max-width:100%;opacity:0;padding:0;position:fixed;-webkit-transition:opacity var(--pine-motion-duration-base) var(--pine-motion-easing-in), visibility var(--pine-motion-duration-base) var(--pine-motion-easing-in);transition:opacity var(--pine-motion-duration-base) var(--pine-motion-easing-in), visibility var(--pine-motion-duration-base) var(--pine-motion-easing-in);visibility:hidden;width:100%;z-index:var(--pine-z-index-modal)}@supports ((-webkit-backdrop-filter: blur(3px)) or (backdrop-filter: blur(3px))){.pds-modal__backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}}pds-modal .pds-modal__backdrop{z-index:var(--pine-z-index-priority)}.pds-modal__backdrop::-webkit-backdrop{background:transparent}.pds-modal__backdrop::-ms-backdrop{background:transparent}.pds-modal__backdrop::backdrop{background:transparent}.pds-modal__backdrop.open{opacity:1;-webkit-transition-timing-function:var(--pine-motion-easing-out);transition-timing-function:var(--pine-motion-easing-out);visibility:visible}.pds-modal{background:var(--pine-color-background-overlay);border-radius:var(--pine-dimension-sm);-webkit-box-shadow:var(--pine-box-shadow-400);box-shadow:var(--pine-box-shadow-400);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin:var(--pine-dimension-md);max-height:none;width:100%}.pds-modal.pds-modal--scrollable{max-height:calc(100vh - (5vh + 96px))}@supports (height: 100dvh){.pds-modal.pds-modal--scrollable{max-height:calc(100dvh - (5dvh + 96px))}}@media (min-width: 992px){.pds-modal{-webkit-margin-before:6vh;margin-block-start:6vh}@supports (height: 100dvh){.pds-modal{-webkit-margin-before:6dvh;margin-block-start:6dvh}}}@media (min-width: 1200px){.pds-modal{-webkit-margin-before:8vh;margin-block-start:8vh}@supports (height: 100dvh){.pds-modal{-webkit-margin-before:8dvh;margin-block-start:8dvh}}}.pds-modal--sm{max-width:520px}.pds-modal--md{max-width:700px}.pds-modal--lg{max-width:900px}.pds-modal--fullscreen{border-radius:0;height:100%;margin:0;max-height:100vh;max-width:100%}@supports (height: 100dvh){.pds-modal--fullscreen{max-height:100dvh}}.pds-modal--fullscreen.pds-modal--scrollable{max-height:100vh}@supports (height: 100dvh){.pds-modal--fullscreen.pds-modal--scrollable{max-height:100dvh}}.pds-modal--fullscreen .pds-modal-content{-ms-flex:1;flex:1}.pds-modal--scrollable pds-modal-content{-webkit-border-after:1px solid transparent;border-block-end:1px solid transparent;-webkit-border-before:1px solid transparent;border-block-start:1px solid transparent;overflow-y:auto}.pds-modal:not(.pds-modal--scrollable) pds-modal-content{overflow-y:visible}"}},[260,"pds-modal",{backdropDismiss:[4,"backdrop-dismiss"],componentId:[1,"component-id"],open:[1028],size:[1],scrollable:[4],disableTopLayer:[4,"disable-top-layer"],focusableElementsArray:[32],showModal:[64],hideModal:[64]},void 0,{open:[{handleOpenChange:0}]}]),n=a,r=function(){"undefined"!=typeof customElements&&["pds-modal"].forEach((t=>{"pds-modal"===t&&(customElements.get(e(t))||customElements.define(e(t),a))}))};export{n as PdsModal,r as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as e,HTMLElement as i,createEvent as t,h as s,Host as o,transformTag as n}from"@stencil/core/internal/client";import{a as l,c as r,o as a,f as d,s as c,b as p}from"./floating-ui.dom.js";import{d as h}from"./utils.js";import{i as m,a as u,m as b}from"./form.js";import{g as v,h as g}from"./index2.js";import{f as _,p as x}from"./i18n-format.js";import{d as f}from"./pds-box2.js";import{d as y}from"./pds-checkbox2.js";import{d as w}from"./pds-chip2.js";import{d as k}from"./pds-icon2.js";import{d as O}from"./pds-loader2.js";import{d as C}from"./pds-text2.js";const j=e(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.pdsMultiselectChange=t(this,"pdsMultiselectChange",7),this.pdsMultiselectSearch=t(this,"pdsMultiselectSearch",7),this.pdsMultiselectLoadOptions=t(this,"pdsMultiselectLoadOptions",7),this.pdsMultiselectCreate=t(this,"pdsMultiselectCreate",7),this.pdsMultiselectDismiss=t(this,"pdsMultiselectDismiss",7),this.placeholder="Select...",this.searchPlaceholder="Find...",this.searchOptionsLabel="Search options",this.selectedItemsLabel="Selected items",this.optionsLabel="Options",this.noOptionsFoundLabel="No options found",this.createOptionLabel='Add "{text}"',this.createOptionAriaLabel="Create new tag: {text}",this.itemRemovedLabel="{item} removed",this.pillRemoveLabel="Remove",this.selectedCountLabelOne="{count} item",this.selectedCountLabelOther="{count} items",this.closePanelOnSelect=!1,this.value=[],this.disabled=!1,this.asyncMethod="GET",this.debounce=300,this.fetchTimeout=3e4,this.maxHeight="300px",this.triggerWidth="100%",this.minWidth="250px",this.hideLabel=!1,this.hideSelectedItems=!1,this.selectedDisplay="count",this.pillPosition="inline",this.maxInlinePills=3,this.required=!1,this.loading=!1,this.csrfHeaderName="X-CSRF-Token",this.isOpen=!1,this.searchQuery="",this.highlightedIndex=-1,this.internalOptions=[],this.selectedItems=[],this.currentPage=1,this.hasMore=!1,this.creating=!1,this.removalAnnouncement="",this.isOpening=!1,this.isClosingViaSelection=!1,this.initialAsyncFetchTriggered=!1,this.pendingUnresolvedFetch=!1,this.handleTriggerClick=e=>{if(!this.disabled){if(e&&"pill"===this.selectedDisplay&&"inline"===this.pillPosition&&e.composedPath().some((e=>{var i;return"pds-chip"===(null===(i=e.tagName)||void 0===i?void 0:i.toLowerCase())})))return;this.isOpen?this.closeDropdown():this.openDropdown()}},this.handleTriggerKeyDown=e=>{if(e.target===this.triggerEl)switch(e.key){case"ArrowDown":case"ArrowUp":case"Enter":case" ":e.preventDefault(),this.isOpen||this.openDropdown()}},this.handleSearchInputChange=e=>{this.searchQuery=e.target.value,this.highlightedIndex=-1,this.pdsMultiselectSearch.emit({query:this.searchQuery}),this.asyncUrl&&this.debouncedFetchAsyncOptions(this.searchQuery,1)},this.handleSearchInputKeyDown=e=>{var i,t,s;const o=this.getFilteredOptions();switch(e.key){case"ArrowDown":{e.preventDefault();let t=this.highlightedIndex+1;for(;t<o.length&&(null===(i=o[t])||void 0===i?void 0:i.disabled);)t++;t<o.length&&(this.highlightedIndex=t,this.scrollOptionIntoView());break}case"ArrowUp":{e.preventDefault();let i=Math.max(this.highlightedIndex-1,0);for(;i>0&&(null===(t=o[i])||void 0===t?void 0:t.disabled);)i--;(null===(s=o[i])||void 0===s?void 0:s.disabled)||(this.highlightedIndex=i,this.scrollOptionIntoView());break}case"Enter":if(e.preventDefault(),this.highlightedIndex>=0){const e=o[this.highlightedIndex];e&&this.selectOption(e)}break;case"Tab":this.closeDropdown()}},this.handleContainerFocusOut=()=>{setTimeout((()=>{var e;if(!this.isOpen||this.isOpening||this.isClosingViaSelection)return;const i=document.activeElement;(null===(e=this.el.shadowRoot)||void 0===e?void 0:e.contains(i))||i===this.el||(this.pdsMultiselectDismiss.emit(),this.closeDropdown())}),0)},this.handleOptionMouseDown=e=>i=>{i.preventDefault(),this.toggleOption(e)},this.handleOptionMouseEnter=(e,i)=>()=>{i.disabled||(this.highlightedIndex=e)},this.handleScroll=e=>{if(!this.asyncUrl||!this.hasMore||this.loading)return;const i=e.target;i.scrollHeight-i.scrollTop-i.clientHeight<50&&(this.pdsMultiselectLoadOptions.emit({query:this.searchQuery,page:this.currentPage+1}),this.debouncedFetchAsyncOptions(this.searchQuery,this.currentPage+1))},this.handlePillRemove=e=>()=>{var i,t;if(this.disabled)return;const s=e.id+"";this.value=this.value.filter((e=>e!==s)),this.syncSelectedItems(),this.pdsMultiselectChange.emit({values:this.value,items:this.selectedItems}),this.removalAnnouncement="",queueMicrotask((()=>{this.removalAnnouncement=_(this.itemRemovedLabel,{item:e.text})})),this.isClosingViaSelection=!0,this.isOpen?null===(i=this.searchInputEl)||void 0===i||i.focus():null===(t=this.triggerEl)||void 0===t||t.focus(),setTimeout((()=>{this.isClosingViaSelection=!1}),0)}}connectedCallback(){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()})),this.asyncUrl&&this.ensureValueArray().length>0&&(this.initialAsyncFetchTriggered=!0,this.fetchOptions("",1))}setupSlotChangeListener(){var e;const i=null===(e=this.el.shadowRoot)||void 0===e?void 0:e.querySelector("slot:not([name])");i&&(i.addEventListener("slotchange",(()=>{this.updateOptionsFromSlot(),this.syncSelectedItems()})),this.updateOptionsFromSlot())}disconnectedCallback(){var e,i;null===(e=this.observer)||void 0===e||e.disconnect(),null===(i=this.cleanupAutoUpdate)||void 0===i||i.call(this),this.clearAsyncFetchState()}setupDebounce(){const{pdsMultiselectSearch:e,debounce:i,originalSearchEmitter:t}=this;this.pdsMultiselectSearch=void 0===i?null!=t?t:e:h(e,i)}valueChanged(e){if("string"==typeof e)try{const i=JSON.parse(e);if(Array.isArray(i))return void(this.value=i)}catch(i){return void(this.value=e?[e]:[])}if(this.syncSelectedItems(),this.updateFormValue(),this.asyncUrl){const e=this.ensureValueArray();e.length>0&&this.selectedItems.length<e.length&&(this.loading?this.pendingUnresolvedFetch=!0:this.fetchOptions("",1))}}optionsChanged(){this.options&&(this.internalOptions=[...this.options])}internalOptionsChanged(){this.syncSelectedItems()}async setFocus(){var e;null===(e=this.triggerEl)||void 0===e||e.focus()}async clear(){const e=this.value.length>0||""!==this.searchQuery;this.value=[],this.searchQuery="",this.syncSelectedItems(),this.updateFormValue(),e&&this.pdsMultiselectChange.emit({values:[],items:[]})}handleWindowKeyDown(e){var i;this.isOpen&&"Escape"===e.key&&(e.preventDefault(),this.pdsMultiselectDismiss.emit(),this.closeDropdown(),null===(i=this.triggerEl)||void 0===i||i.focus())}setupMutationObserver(){this.observer=new MutationObserver((()=>{this.updateOptionsFromSlot()})),this.observer.observe(this.el,{childList:!0,subtree:!0})}updateOptionsFromSlot(){var e;const i=null===(e=this.el.shadowRoot)||void 0===e?void 0:e.querySelector("slot:not([name])");if(!i)return;const t=[];i.assignedElements({flatten:!0}).forEach((e=>{var i;if("OPTGROUP"===e.tagName){const i=e.label,s=e.disabled;e.querySelectorAll("option").forEach((e=>{var o;const n={id:e.value,text:(null===(o=e.textContent)||void 0===o?void 0:o.trim())||e.value,disabled:e.disabled||s||void 0};i&&(n.group=i),t.push(n)}))}else if("OPTION"===e.tagName){const s=e;t.push({id:s.value,text:(null===(i=s.textContent)||void 0===i?void 0:i.trim())||s.value,disabled:s.disabled||void 0})}})),t.length>0&&!this.asyncUrl&&!this.options&&(this.internalOptions=t)}clearAsyncFetchState(){var e;void 0!==this.fetchDebounceTimer&&(window.clearTimeout(this.fetchDebounceTimer),this.fetchDebounceTimer=void 0),void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),null===(e=this.abortController)||void 0===e||e.abort(),this.abortController=void 0}debouncedFetchAsyncOptions(e,i=1){var t;if(!this.asyncUrl)return;void 0!==this.fetchDebounceTimer&&window.clearTimeout(this.fetchDebounceTimer);const s=Math.max(0,null!==(t=this.debounce)&&void 0!==t?t:0);this.fetchDebounceTimer=window.setTimeout((()=>{this.fetchDebounceTimer=void 0,this.fetchOptions(e,i)}),s)}syncSelectedItems(){const e=this.ensureValueArray(),i=this.getAllOptions(),t=[],s=new Map(this.selectedItems.map((e=>[e.id+"",e])));e.forEach((e=>{const o=i.find((i=>i.id+""==e+""));o?t.push(o):s.has(e+"")&&t.push(s.get(e+""))})),this.selectedItems=t}ensureValueArray(){if("string"==typeof this.value)try{const e=JSON.parse(this.value);if(Array.isArray(e))return this.value=e,e}catch(e){const i=this.value;return this.value=i?[i]:[],this.value}return Array.isArray(this.value)?this.value:[]}getAllOptions(){return this.options||this.internalOptions}getFilteredOptions(){const e=this.getAllOptions(),i=this.searchQuery.toLowerCase(),t=e.filter((e=>!i||e.text.toLowerCase().includes(i)));return this.createUrl&&this.searchQuery.trim()&&0===t.length?[{id:"__create__",text:this.searchQuery.trim(),isCreateOption:!0}]:t}updateFormValue(){var e;if(!m()&&(null===(e=this.internals)||void 0===e?void 0:e.setFormValue)){const e=this.ensureValueArray(),i=new FormData;e.forEach((e=>{this.name&&i.append(this.name,e)})),this.internals.setFormValue(i),this.required&&0===e.length?this.internals.setValidity({valueMissing:!0},"Please select at least one option.",this.triggerEl):this.internals.setValidity({})}}getCsrfToken(){if(this.csrfToken)return this.csrfToken;const e=document.querySelector('meta[name="csrf-token"]');return(null==e?void 0:e.content)||null}async fetchOptions(e,i=1){var t;if(this.asyncUrl){null===(t=this.abortController)||void 0===t||t.abort(),void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),this.abortController=new AbortController,this.loading=!0,this.fetchTimeoutTimer=window.setTimeout((()=>{var e;null===(e=this.abortController)||void 0===e||e.abort(),this.fetchTimeoutTimer=void 0}),this.fetchTimeout);try{let t;try{t=new URL(this.asyncUrl,window.location.origin)}catch(e){throw new TypeError("Invalid asyncUrl: "+this.asyncUrl)}"GET"===this.asyncMethod&&(t.searchParams.set("search",e),t.searchParams.set("page",i+""));const s=this.getCsrfToken(),o={"Content-Type":"application/json",Accept:"application/json"};s&&(o[this.csrfHeaderName||"X-CSRF-Token"]=s);const n=await fetch(""+t,Object.assign({method:this.asyncMethod,signal:this.abortController.signal,headers:o},"POST"===this.asyncMethod&&{body:JSON.stringify({search:e,page:i})}));if(void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),!n.ok)throw Error("Failed to fetch options");const l=await n.json(),r=l.results.map((e=>this.formatResult?this.formatResult(e):"object"==typeof e&&null!==e?Object.assign({id:e.id,text:e.text},e):{id:e+"",text:e+""}));this.internalOptions=1===i?r:[...this.internalOptions,...r],this.hasMore=!!l.totalCount&&this.internalOptions.length<l.totalCount,this.currentPage=i}catch(e){void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),"AbortError"!==e.name&&console.error("PdsMultiselect: Failed to fetch options",e)}finally{if(this.loading=!1,this.pendingUnresolvedFetch){this.pendingUnresolvedFetch=!1;const e=this.ensureValueArray();e.length>0&&this.selectedItems.length<e.length&&this.fetchOptions("",1)}}}}async createOption(e){if(this.createUrl&&e.trim()&&!this.creating){this.creating=!0;try{const i=new URL(this.createUrl,window.location.origin),t=this.getCsrfToken(),s={"Content-Type":"application/json",Accept:"application/json"};t&&(s[this.csrfHeaderName||"X-CSRF-Token"]=t);const o=await fetch(""+i,{method:"POST",headers:s,body:JSON.stringify({text:e.trim()})});if(!o.ok)throw Error("Failed to create option");const n=await o.json(),l=Object.assign({id:n.id,text:n.text},n);this.internalOptions=[...this.internalOptions,l],this.value=[...this.value,l.id+""],this.syncSelectedItems(),this.pdsMultiselectCreate.emit({query:e.trim(),newOption:l}),this.pdsMultiselectChange.emit({values:this.value,items:this.selectedItems}),this.searchQuery="",this.highlightedIndex=-1,requestAnimationFrame((()=>{var e;null===(e=this.searchInputEl)||void 0===e||e.focus()}))}catch(e){console.error("PdsMultiselect: Failed to create option",e)}finally{this.creating=!1}}}openDropdown(){this.disabled||(this.isOpening=!0,this.isOpen=!0,this.highlightedIndex=-1,this.asyncUrl&&0===this.internalOptions.length&&!this.initialAsyncFetchTriggered&&this.debouncedFetchAsyncOptions(this.searchQuery,1),this.initialAsyncFetchTriggered=!1,requestAnimationFrame((()=>{var e;this.positionDropdown(),null===(e=this.searchInputEl)||void 0===e||e.focus(),setTimeout((()=>{this.isOpening=!1}),50)})))}closeDropdown(){this.isOpen=!1,this.highlightedIndex=-1,this.searchQuery="",this.isClosingViaSelection&&setTimeout((()=>{this.isClosingViaSelection=!1}),0),this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=void 0)}positionDropdown(){if(!this.containerEl||!this.panelEl)return;const e=this.pillInlineTriggerEl||this.triggerEl||this.containerEl,{minWidth:i,panelWidth:t}=this,s=()=>{r(e,this.panelEl,{placement:"bottom-start",strategy:"absolute",middleware:[a(12),d(),c({padding:8}),p({apply:({rects:e,elements:s})=>{Object.assign(s.floating.style,{width:null!=t?t:e.reference.width+"px",minWidth:i})}})]}).then((({x:e,y:i})=>{this.panelEl&&(this.panelEl.style.left=e+"px",this.panelEl.style.top=i+"px")}))};s();const o=l(e,this.panelEl,s);this.cleanupAutoUpdate=()=>{o(),this.clearAsyncFetchState()}}scrollOptionIntoView(){requestAnimationFrame((()=>{var e;const i=null===(e=this.listboxEl)||void 0===e?void 0:e.querySelector(`[data-index="${this.highlightedIndex}"]`);null==i||i.scrollIntoView({block:"nearest",behavior:"smooth"})}))}toggleOption(e){var i,t;if(e.disabled)return;if(e.isCreateOption)return void(this.creating||this.createOption(this.searchQuery));const s=e.id+"";if(this.value.includes(s))this.value=this.value.filter((e=>e!==s));else{if(this.maxSelections&&this.value.length>=this.maxSelections)return;this.value=[...this.value,s]}this.syncSelectedItems(),this.pdsMultiselectChange.emit({values:this.value,items:this.selectedItems}),this.closePanelOnSelect?(this.isClosingViaSelection=!0,this.closeDropdown(),null===(i=this.triggerEl)||void 0===i||i.focus()):null===(t=this.searchInputEl)||void 0===t||t.focus()}selectOption(e){this.toggleOption(e)}getGroupedRenderItems(e){const i=[];let t=null;return e.forEach(((e,s)=>{const o=e.group;void 0!==o?(t&&t.group===o||(t={type:"group",group:o,options:[]},i.push(t)),t.options.push({option:e,index:s})):(t=null,i.push({type:"option",option:e,index:s}))})),i}renderOption(e,i,t){const o=t.includes(e.id+""),n=e.isCreateOption,l=e.disabled,r=n&&this.creating;return s("li",{key:e.id+"",id:`${this.componentId}-option-${i}`,class:{"pds-multiselect__option":!0,"pds-multiselect__option--highlighted":i===this.highlightedIndex&&!n,"pds-multiselect__option--selected":o,"pds-multiselect__option--create":n,"pds-multiselect__option--disabled":l||r},role:"option","aria-selected":o?"true":"false","aria-disabled":l||r?"true":void 0,"aria-label":n?_(this.createOptionAriaLabel,{text:e.text}):void 0,"data-index":i,onMouseDown:this.handleOptionMouseDown(e),onMouseEnter:this.handleOptionMouseEnter(i,e)},n?s("pds-box",{class:"pds-multiselect__create-option","align-items":"center",gap:"xs"},s("pds-icon",{name:"add",size:"small"}),s("pds-text",null,_(this.createOptionLabel,{text:e.text}))):s("pds-checkbox",{componentId:`${this.componentId}-checkbox-${i}`,checked:o,label:e.text,disabled:l,style:{pointerEvents:"none"}}))}renderSelectedItemsList(){return this.hideSelectedItems||0===this.selectedItems.length?null:s("div",{class:"pds-multiselect__selected-section"},s("ul",{class:"pds-multiselect__selected-list",role:"list"},this.selectedItems.map((e=>s("li",{key:e.id+"",class:"pds-multiselect__selected-item"},e.text)))))}renderDropdown(){if(!this.isOpen)return null;const e=this.getFilteredOptions(),i=this.ensureValueArray(),t=!!this.el.querySelector('[slot="empty"]'),o=!!this.el.querySelector('[slot="loading"]');return s("div",{class:"pds-multiselect__panel",ref:e=>this.panelEl=e,style:{minWidth:this.minWidth}},s("div",{class:"pds-multiselect__search"},s("pds-icon",{name:"search",size:"small"}),s("input",{ref:e=>this.searchInputEl=e,type:"text",class:"pds-multiselect__search-input",placeholder:this.searchPlaceholder,value:this.searchQuery,"aria-label":this.searchOptionsLabel,"aria-controls":this.componentId+"-listbox","aria-activedescendant":this.highlightedIndex>=0?`${this.componentId}-option-${this.highlightedIndex}`:void 0,role:"combobox","aria-haspopup":"listbox","aria-expanded":"true","aria-autocomplete":"list",autocomplete:"off",onInput:this.handleSearchInputChange,onKeyDown:this.handleSearchInputKeyDown})),this.renderSelectedItemsList(),s("ul",{class:"pds-multiselect__listbox",role:"listbox","aria-multiselectable":"true","aria-label":this.label||this.optionsLabel,id:this.componentId+"-listbox",ref:e=>this.listboxEl=e,style:{maxHeight:this.maxHeight},onScroll:this.handleScroll},this.loading&&s("li",{class:"pds-multiselect__loading",role:"presentation"},o?s("slot",{name:"loading"}):s("pds-loader",{size:"small"})),!this.loading&&0===e.length&&s("li",{class:"pds-multiselect__empty",role:"presentation"},t?s("slot",{name:"empty"}):s("span",null,this.noOptionsFoundLabel)),this.getGroupedRenderItems(e).map(((e,t)=>"group"===e.type?s("li",{key:"group-"+t,role:"group","aria-label":e.group,class:"pds-multiselect__group"},s("span",{class:"pds-multiselect__group-header","aria-hidden":"true"},e.group),s("ul",{class:"pds-multiselect__group-list",role:"presentation"},e.options.map((({option:e,index:t})=>this.renderOption(e,t,i))))):this.renderOption(e.option,e.index,i))),this.hasMore&&!this.loading&&s("li",{class:"pds-multiselect__load-more",role:"presentation"},s("pds-loader",{size:"small"}))))}renderInlinePills(){if(!(this.selectedItems.length>0))return s("span",{class:"pds-multiselect__trigger-text pds-multiselect__trigger-text--placeholder"},this.placeholder||"Select...");const e=this.disabled?"text":"tag",i=this.selectedItems.slice(0,Math.max(1,this.maxInlinePills)),t=this.selectedItems.length-i.length;return s("div",{class:"pds-multiselect__pill-list pds-multiselect__pill-list--inline","aria-label":this.selectedItemsLabel},i.map((i=>s("pds-chip",{key:i.id+"","component-id":`${this.componentId}-pill-${i.id}`,variant:e,size:"sm",sentiment:"neutral","dismiss-label":this.pillRemoveLabel,onPdsTagCloseClick:this.handlePillRemove(i)},i.text))),t>0&&s("span",{class:"pds-multiselect__pill-overflow"},"+",t))}renderBelowPills(){if(0===this.selectedItems.length)return null;const e=this.disabled?"text":"tag";return s("div",{class:"pds-multiselect__pill-list pds-multiselect__pill-list--below","aria-label":this.selectedItemsLabel},this.selectedItems.map((i=>s("pds-chip",{key:i.id+"","component-id":`${this.componentId}-pill-${i.id}`,variant:e,size:"md",sentiment:"neutral","dismiss-label":this.pillRemoveLabel,onPdsTagCloseClick:this.handlePillRemove(i)},i.text))))}getTriggerText(){const e=this.selectedItems.length;return 0===e||"pill"===this.selectedDisplay&&"below"===this.pillPosition?this.placeholder||"Select...":x(this.el,e,this.resolveCountForms())}resolveCountForms(){const e={one:this.selectedCountLabelOne,other:this.selectedCountLabelOther},i=this.selectedCountLabels;if(!i)return e;if("string"==typeof i)try{const t=JSON.parse(i);return t&&"object"==typeof t?Object.assign(Object.assign({},e),t):e}catch(i){return e}return Object.assign(Object.assign({},e),i)}render(){const e=this.selectedItems.length>0;return s(o,{key:"4a54a778522d0a1d2f45c32928e7a663f19c0189","aria-disabled":this.disabled?"true":null},s("div",{key:"3593eb4fa1a0ae575b1c0ed03f0763dcea04c9e6",class:"pds-multiselect",onFocusout:this.handleContainerFocusOut},this.label&&s("label",{key:"f91a680ae3c3021bac6bd99368d3ef6ad6438898",id:this.componentId+"-label",htmlFor:this.componentId,class:{"pds-multiselect__label":!0,"visually-hidden":this.hideLabel}},this.label),s("div",{key:"de2899f19057b8cd19cf3467251d03c1b43b73f5",class:"pds-multiselect__wrapper",ref:e=>this.containerEl=e,style:{width:this.triggerWidth}},"pill"===this.selectedDisplay&&"inline"===this.pillPosition?s("div",{ref:e=>this.pillInlineTriggerEl=e||void 0,part:"trigger",class:{"pds-multiselect__trigger":!0,"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,"pds-multiselect__trigger--pill-inline":!0},onClick:this.handleTriggerClick},this.renderInlinePills(),s("button",{ref:e=>this.triggerEl=e,type:"button",id:this.componentId,part:"pill-toggle",class:"pds-multiselect__pill-toggle",disabled:this.disabled,"aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-labelledby":this.label?this.componentId+"-label":void 0,"aria-required":this.required?"true":void 0,"aria-describedby":u(this.componentId,this.invalid||!!this.errorMessage,this.errorMessage||this.helperMessage),"aria-invalid":this.invalid||this.errorMessage?"true":void 0,onKeyDown:this.handleTriggerKeyDown},s("pds-icon",{class:"pds-multiselect__icon",icon:v}))):s("button",{ref:e=>this.triggerEl=e,type:"button",part:"trigger",class:{"pds-multiselect__trigger":!0,"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":void 0,"aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-describedby":u(this.componentId,this.invalid||!!this.errorMessage,this.errorMessage||this.helperMessage),"aria-invalid":this.invalid||this.errorMessage?"true":void 0,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},s("span",{class:{"pds-multiselect__trigger-text":!0,"pds-multiselect__trigger-text--placeholder":!e||"pill"===this.selectedDisplay&&"below"===this.pillPosition}},this.getTriggerText()),s("pds-icon",{class:"pds-multiselect__icon",icon:v})),this.renderDropdown()),"pill"===this.selectedDisplay&&"below"===this.pillPosition&&this.renderBelowPills(),s("span",{key:"973443f9eb29dcf7fb1bde3f9101ac02967a8fd9",class:"visually-hidden","aria-live":"polite","aria-atomic":"true"},this.removalAnnouncement),this.helperMessage&&!(this.errorMessage&&this.errorMessage.length>0)&&s("p",{key:"568aab2b278abb7f4426d84ee926b4883375fb11",class:"pds-multiselect__helper",id:b(this.componentId,"helper")},this.helperMessage),this.errorMessage&&s("p",{key:"daddf192efd47df8c15267b9896913b926e02544",class:"pds-multiselect__error",id:b(this.componentId,"error")},s("pds-icon",{key:"d0c72ab75a8e02e61c09e980ae817790804a776a",icon:g,size:"small"}),this.errorMessage),s("div",{key:"0453db2fca10b3573b1dd244875f90c856c8887b",style:{display:"none"}},s("slot",{key:"a612741afc9545e5e50c47d27c3c27c1d7cade3c"}))))}static get formAssociated(){return!0}get el(){return this}static get watchers(){return{debounce:[{setupDebounce:0}],value:[{valueChanged:0}],options:[{optionsChanged:0}],internalOptions:[{internalOptionsChanged:0}]}}static get style(){return":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-medium);gap:var(--pine-dimension-xs);-ms-flex-pack:justify;justify-content:space-between;letter-spacing:var(--pine-letter-spacing);min-height:var(--pine-dimension-450);padding:var(--pine-dimension-xs) var(--pine-dimension-sm);position:relative;text-align:start;-webkit-transition:border-color var(--pine-motion-duration-base) ease, -webkit-box-shadow var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) ease, -webkit-box-shadow var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) ease, box-shadow var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) ease, box-shadow var(--pine-motion-duration-base) ease, -webkit-box-shadow var(--pine-motion-duration-base) 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__pill-list{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--pine-dimension-2xs)}.pds-multiselect__pill-list--inline{-ms-flex:1;flex:1;min-width:0}.pds-multiselect__pill-list--below{-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-multiselect__pill-overflow{color:var(--pine-color-text-muted);font:var(--pine-typography-body-sm-medium);white-space:nowrap}.pds-multiselect__trigger--pill-inline{-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--pine-dimension-2xs);min-height:var(--pine-dimension-450);padding:var(--pine-dimension-2xs) var(--pine-dimension-sm)}.pds-multiselect__trigger--pill-inline.pds-multiselect__trigger--open{border-color:var(--pine-color-border-active)}.pds-multiselect__trigger--pill-inline:focus-within: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--pill-inline.pds-multiselect__trigger--invalid:focus-within{outline-color:var(--pine-color-focus-ring-danger)}.pds-multiselect__pill-toggle{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border-width:0;cursor:pointer;display:-ms-flexbox;display:flex;padding:0}.pds-multiselect__pill-toggle:focus{outline:3px solid transparent}.pds-multiselect__trigger--disabled .pds-multiselect__pill-toggle{cursor:not-allowed;pointer-events:none}.pds-multiselect__panel{background:var(--pine-color-background-overlay);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__group-header{color:var(--pine-color-text-muted);display:block;font:var(--pine-typography-body-sm-medium);letter-spacing:var(--pine-letter-spacing);padding:var(--pine-dimension-sm) var(--pine-dimension-xs) var(--pine-dimension-2xs);text-transform:uppercase}.pds-multiselect__listbox>li:first-child>.pds-multiselect__group-header{-webkit-padding-before:var(--pine-dimension-xs);padding-block-start:var(--pine-dimension-xs)}.pds-multiselect__group-list{list-style:none;margin:var(--pine-dimension-none);padding:var(--pine-dimension-none)}.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:not(.pds-multiselect__option--disabled),.pds-multiselect__option.pds-multiselect__option--highlighted:not(.pds-multiselect__option--disabled){background:var(--pine-color-background-muted)}.pds-multiselect__option.pds-multiselect__option--disabled{cursor:not-allowed;opacity:0.5}.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}"}},[321,"pds-multiselect",{componentId:[1,"component-id"],label:[1],placeholder:[1],searchPlaceholder:[1,"search-placeholder"],searchOptionsLabel:[1,"search-options-label"],selectedItemsLabel:[1,"selected-items-label"],optionsLabel:[1,"options-label"],noOptionsFoundLabel:[1,"no-options-found-label"],createOptionLabel:[1,"create-option-label"],createOptionAriaLabel:[1,"create-option-aria-label"],itemRemovedLabel:[1,"item-removed-label"],pillRemoveLabel:[1,"pill-remove-label"],selectedCountLabelOne:[1,"selected-count-label-one"],selectedCountLabelOther:[1,"selected-count-label-other"],selectedCountLabels:[1,"selected-count-labels"],closePanelOnSelect:[4,"close-panel-on-select"],name:[1],value:[1040],disabled:[4],asyncUrl:[1,"async-url"],asyncMethod:[1,"async-method"],debounce:[2],fetchTimeout:[2,"fetch-timeout"],maxSelections:[2,"max-selections"],maxHeight:[1,"max-height"],triggerWidth:[1,"trigger-width"],minWidth:[1,"min-width"],panelWidth:[1,"panel-width"],hideLabel:[4,"hide-label"],hideSelectedItems:[4,"hide-selected-items"],selectedDisplay:[1,"selected-display"],pillPosition:[1,"pill-position"],maxInlinePills:[2,"max-inline-pills"],errorMessage:[1,"error-message"],helperMessage:[1,"helper-message"],invalid:[4],required:[4],loading:[1028],options:[16],formatResult:[16],createUrl:[1,"create-url"],csrfToken:[1,"csrf-token"],csrfHeaderName:[1,"csrf-header-name"],isOpen:[32],searchQuery:[32],highlightedIndex:[32],internalOptions:[32],selectedItems:[32],currentPage:[32],hasMore:[32],creating:[32],removalAnnouncement:[32],setFocus:[64],clear:[64]},[[8,"keydown","handleWindowKeyDown"]],{debounce:[{setupDebounce:0}],value:[{valueChanged:0}],options:[{optionsChanged:0}],internalOptions:[{internalOptionsChanged:0}]}]),S=j,F=function(){"undefined"!=typeof customElements&&["pds-multiselect","pds-box","pds-checkbox","pds-chip","pds-icon","pds-loader","pds-text"].forEach((e=>{switch(e){case"pds-multiselect":customElements.get(n(e))||customElements.define(n(e),j);break;case"pds-box":customElements.get(n(e))||f();break;case"pds-checkbox":customElements.get(n(e))||y();break;case"pds-chip":customElements.get(n(e))||w();break;case"pds-icon":customElements.get(n(e))||k();break;case"pds-loader":customElements.get(n(e))||O();break;case"pds-text":customElements.get(n(e))||C()}}))};export{S as PdsMultiselect,F as defineCustomElement}
|
|
1
|
+
import{proxyCustomElement as e,HTMLElement as i,createEvent as t,h as s,Host as o,transformTag as n}from"@stencil/core/internal/client";import{a as l,c as r,o as a,f as d,s as c,b as p}from"./floating-ui.dom.js";import{d as h}from"./utils.js";import{i as m,a as u,m as b}from"./form.js";import{g as v,h as g}from"./index2.js";import{f as _,p as x}from"./i18n-format.js";import{d as f}from"./pds-box2.js";import{d as y}from"./pds-checkbox2.js";import{d as w}from"./pds-chip2.js";import{d as k}from"./pds-icon2.js";import{d as O}from"./pds-loader2.js";import{d as C}from"./pds-text2.js";const j=e(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.pdsMultiselectChange=t(this,"pdsMultiselectChange",7),this.pdsMultiselectSearch=t(this,"pdsMultiselectSearch",7),this.pdsMultiselectLoadOptions=t(this,"pdsMultiselectLoadOptions",7),this.pdsMultiselectCreate=t(this,"pdsMultiselectCreate",7),this.pdsMultiselectDismiss=t(this,"pdsMultiselectDismiss",7),this.placeholder="Select...",this.searchPlaceholder="Find...",this.searchOptionsLabel="Search options",this.selectedItemsLabel="Selected items",this.optionsLabel="Options",this.noOptionsFoundLabel="No options found",this.createOptionLabel='Add "{text}"',this.createOptionAriaLabel="Create new tag: {text}",this.itemRemovedLabel="{item} removed",this.pillRemoveLabel="Remove",this.selectedCountLabelOne="{count} item",this.selectedCountLabelOther="{count} items",this.closePanelOnSelect=!1,this.value=[],this.disabled=!1,this.asyncMethod="GET",this.debounce=300,this.fetchTimeout=3e4,this.maxHeight="300px",this.triggerWidth="100%",this.minWidth="250px",this.hideLabel=!1,this.hideSelectedItems=!1,this.selectedDisplay="count",this.pillPosition="inline",this.maxInlinePills=3,this.required=!1,this.loading=!1,this.csrfHeaderName="X-CSRF-Token",this.isOpen=!1,this.searchQuery="",this.highlightedIndex=-1,this.internalOptions=[],this.selectedItems=[],this.currentPage=1,this.hasMore=!1,this.creating=!1,this.removalAnnouncement="",this.isOpening=!1,this.isClosingViaSelection=!1,this.initialAsyncFetchTriggered=!1,this.pendingUnresolvedFetch=!1,this.handleTriggerClick=e=>{if(!this.disabled){if(e&&"pill"===this.selectedDisplay&&"inline"===this.pillPosition&&e.composedPath().some((e=>{var i;return"pds-chip"===(null===(i=e.tagName)||void 0===i?void 0:i.toLowerCase())})))return;this.isOpen?this.closeDropdown():this.openDropdown()}},this.handleTriggerKeyDown=e=>{if(e.target===this.triggerEl)switch(e.key){case"ArrowDown":case"ArrowUp":case"Enter":case" ":e.preventDefault(),this.isOpen||this.openDropdown()}},this.handleSearchInputChange=e=>{this.searchQuery=e.target.value,this.highlightedIndex=-1,this.pdsMultiselectSearch.emit({query:this.searchQuery}),this.asyncUrl&&this.debouncedFetchAsyncOptions(this.searchQuery,1)},this.handleSearchInputKeyDown=e=>{var i,t,s;const o=this.getFilteredOptions();switch(e.key){case"ArrowDown":{e.preventDefault();let t=this.highlightedIndex+1;for(;t<o.length&&(null===(i=o[t])||void 0===i?void 0:i.disabled);)t++;t<o.length&&(this.highlightedIndex=t,this.scrollOptionIntoView());break}case"ArrowUp":{e.preventDefault();let i=Math.max(this.highlightedIndex-1,0);for(;i>0&&(null===(t=o[i])||void 0===t?void 0:t.disabled);)i--;(null===(s=o[i])||void 0===s?void 0:s.disabled)||(this.highlightedIndex=i,this.scrollOptionIntoView());break}case"Enter":if(e.preventDefault(),this.highlightedIndex>=0){const e=o[this.highlightedIndex];e&&this.selectOption(e)}break;case"Tab":this.closeDropdown()}},this.handleContainerFocusOut=()=>{setTimeout((()=>{var e;if(!this.isOpen||this.isOpening||this.isClosingViaSelection)return;const i=document.activeElement;(null===(e=this.el.shadowRoot)||void 0===e?void 0:e.contains(i))||i===this.el||(this.pdsMultiselectDismiss.emit(),this.closeDropdown())}),0)},this.handleOptionMouseDown=e=>i=>{i.preventDefault(),this.toggleOption(e)},this.handleOptionMouseEnter=(e,i)=>()=>{i.disabled||(this.highlightedIndex=e)},this.handleScroll=e=>{if(!this.asyncUrl||!this.hasMore||this.loading)return;const i=e.target;i.scrollHeight-i.scrollTop-i.clientHeight<50&&(this.pdsMultiselectLoadOptions.emit({query:this.searchQuery,page:this.currentPage+1}),this.debouncedFetchAsyncOptions(this.searchQuery,this.currentPage+1))},this.handlePillRemove=e=>()=>{var i,t;if(this.disabled)return;const s=e.id+"";this.value=this.value.filter((e=>e!==s)),this.syncSelectedItems(),this.pdsMultiselectChange.emit({values:this.value,items:this.selectedItems}),this.removalAnnouncement="",queueMicrotask((()=>{this.removalAnnouncement=_(this.itemRemovedLabel,{item:e.text})})),this.isClosingViaSelection=!0,this.isOpen?null===(i=this.searchInputEl)||void 0===i||i.focus():null===(t=this.triggerEl)||void 0===t||t.focus(),setTimeout((()=>{this.isClosingViaSelection=!1}),0)}}connectedCallback(){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()})),this.asyncUrl&&this.ensureValueArray().length>0&&(this.initialAsyncFetchTriggered=!0,this.fetchOptions("",1))}setupSlotChangeListener(){var e;const i=null===(e=this.el.shadowRoot)||void 0===e?void 0:e.querySelector("slot:not([name])");i&&(i.addEventListener("slotchange",(()=>{this.updateOptionsFromSlot(),this.syncSelectedItems()})),this.updateOptionsFromSlot())}disconnectedCallback(){var e,i;null===(e=this.observer)||void 0===e||e.disconnect(),null===(i=this.cleanupAutoUpdate)||void 0===i||i.call(this),this.clearAsyncFetchState()}setupDebounce(){const{pdsMultiselectSearch:e,debounce:i,originalSearchEmitter:t}=this;this.pdsMultiselectSearch=void 0===i?null!=t?t:e:h(e,i)}valueChanged(e){if("string"==typeof e)try{const i=JSON.parse(e);if(Array.isArray(i))return void(this.value=i)}catch(i){return void(this.value=e?[e]:[])}if(this.syncSelectedItems(),this.updateFormValue(),this.asyncUrl){const e=this.ensureValueArray();e.length>0&&this.selectedItems.length<e.length&&(this.loading?this.pendingUnresolvedFetch=!0:this.fetchOptions("",1))}}optionsChanged(){this.options&&(this.internalOptions=[...this.options])}internalOptionsChanged(){this.syncSelectedItems()}async setFocus(){var e;null===(e=this.triggerEl)||void 0===e||e.focus()}async clear(){const e=this.value.length>0||""!==this.searchQuery;this.value=[],this.searchQuery="",this.syncSelectedItems(),this.updateFormValue(),e&&this.pdsMultiselectChange.emit({values:[],items:[]})}handleWindowKeyDown(e){var i;this.isOpen&&"Escape"===e.key&&(e.preventDefault(),this.pdsMultiselectDismiss.emit(),this.closeDropdown(),null===(i=this.triggerEl)||void 0===i||i.focus())}setupMutationObserver(){this.observer=new MutationObserver((()=>{this.updateOptionsFromSlot()})),this.observer.observe(this.el,{childList:!0,subtree:!0})}updateOptionsFromSlot(){var e;const i=null===(e=this.el.shadowRoot)||void 0===e?void 0:e.querySelector("slot:not([name])");if(!i)return;const t=[];i.assignedElements({flatten:!0}).forEach((e=>{var i;if("OPTGROUP"===e.tagName){const i=e.label,s=e.disabled;e.querySelectorAll("option").forEach((e=>{var o;const n={id:e.value,text:(null===(o=e.textContent)||void 0===o?void 0:o.trim())||e.value,disabled:e.disabled||s||void 0};i&&(n.group=i),t.push(n)}))}else if("OPTION"===e.tagName){const s=e;t.push({id:s.value,text:(null===(i=s.textContent)||void 0===i?void 0:i.trim())||s.value,disabled:s.disabled||void 0})}})),t.length>0&&!this.asyncUrl&&!this.options&&(this.internalOptions=t)}clearAsyncFetchState(){var e;void 0!==this.fetchDebounceTimer&&(window.clearTimeout(this.fetchDebounceTimer),this.fetchDebounceTimer=void 0),void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),null===(e=this.abortController)||void 0===e||e.abort(),this.abortController=void 0}debouncedFetchAsyncOptions(e,i=1){var t;if(!this.asyncUrl)return;void 0!==this.fetchDebounceTimer&&window.clearTimeout(this.fetchDebounceTimer);const s=Math.max(0,null!==(t=this.debounce)&&void 0!==t?t:0);this.fetchDebounceTimer=window.setTimeout((()=>{this.fetchDebounceTimer=void 0,this.fetchOptions(e,i)}),s)}syncSelectedItems(){const e=this.ensureValueArray(),i=this.getAllOptions(),t=[],s=new Map(this.selectedItems.map((e=>[e.id+"",e])));e.forEach((e=>{const o=i.find((i=>i.id+""==e+""));o?t.push(o):s.has(e+"")&&t.push(s.get(e+""))})),this.selectedItems=t}ensureValueArray(){if("string"==typeof this.value)try{const e=JSON.parse(this.value);if(Array.isArray(e))return this.value=e,e}catch(e){const i=this.value;return this.value=i?[i]:[],this.value}return Array.isArray(this.value)?this.value:[]}getAllOptions(){return this.options||this.internalOptions}getFilteredOptions(){const e=this.getAllOptions(),i=this.searchQuery.toLowerCase(),t=e.filter((e=>!i||e.text.toLowerCase().includes(i)));return this.createUrl&&this.searchQuery.trim()&&0===t.length?[{id:"__create__",text:this.searchQuery.trim(),isCreateOption:!0}]:t}updateFormValue(){var e;if(!m()&&(null===(e=this.internals)||void 0===e?void 0:e.setFormValue)){const e=this.ensureValueArray(),i=new FormData;e.forEach((e=>{this.name&&i.append(this.name,e)})),this.internals.setFormValue(i),this.required&&0===e.length?this.internals.setValidity({valueMissing:!0},"Please select at least one option.",this.triggerEl):this.internals.setValidity({})}}getCsrfToken(){if(this.csrfToken)return this.csrfToken;const e=document.querySelector('meta[name="csrf-token"]');return(null==e?void 0:e.content)||null}async fetchOptions(e,i=1){var t;if(this.asyncUrl){null===(t=this.abortController)||void 0===t||t.abort(),void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),this.abortController=new AbortController,this.loading=!0,this.fetchTimeoutTimer=window.setTimeout((()=>{var e;null===(e=this.abortController)||void 0===e||e.abort(),this.fetchTimeoutTimer=void 0}),this.fetchTimeout);try{let t;try{t=new URL(this.asyncUrl,window.location.origin)}catch(e){throw new TypeError("Invalid asyncUrl: "+this.asyncUrl)}"GET"===this.asyncMethod&&(t.searchParams.set("search",e),t.searchParams.set("page",i+""));const s=this.getCsrfToken(),o={"Content-Type":"application/json",Accept:"application/json"};s&&(o[this.csrfHeaderName||"X-CSRF-Token"]=s);const n=await fetch(""+t,Object.assign({method:this.asyncMethod,signal:this.abortController.signal,headers:o},"POST"===this.asyncMethod&&{body:JSON.stringify({search:e,page:i})}));if(void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),!n.ok)throw Error("Failed to fetch options");const l=await n.json(),r=l.results.map((e=>this.formatResult?this.formatResult(e):"object"==typeof e&&null!==e?Object.assign({id:e.id,text:e.text},e):{id:e+"",text:e+""}));this.internalOptions=1===i?r:[...this.internalOptions,...r],this.hasMore=!!l.totalCount&&this.internalOptions.length<l.totalCount,this.currentPage=i}catch(e){void 0!==this.fetchTimeoutTimer&&(window.clearTimeout(this.fetchTimeoutTimer),this.fetchTimeoutTimer=void 0),"AbortError"!==e.name&&console.error("PdsMultiselect: Failed to fetch options",e)}finally{if(this.loading=!1,this.pendingUnresolvedFetch){this.pendingUnresolvedFetch=!1;const e=this.ensureValueArray();e.length>0&&this.selectedItems.length<e.length&&this.fetchOptions("",1)}}}}async createOption(e){if(this.createUrl&&e.trim()&&!this.creating){this.creating=!0;try{const i=new URL(this.createUrl,window.location.origin),t=this.getCsrfToken(),s={"Content-Type":"application/json",Accept:"application/json"};t&&(s[this.csrfHeaderName||"X-CSRF-Token"]=t);const o=await fetch(""+i,{method:"POST",headers:s,body:JSON.stringify({text:e.trim()})});if(!o.ok)throw Error("Failed to create option");const n=await o.json(),l=Object.assign({id:n.id,text:n.text},n);this.internalOptions=[...this.internalOptions,l],this.value=[...this.value,l.id+""],this.syncSelectedItems(),this.pdsMultiselectCreate.emit({query:e.trim(),newOption:l}),this.pdsMultiselectChange.emit({values:this.value,items:this.selectedItems}),this.searchQuery="",this.highlightedIndex=-1,requestAnimationFrame((()=>{var e;null===(e=this.searchInputEl)||void 0===e||e.focus()}))}catch(e){console.error("PdsMultiselect: Failed to create option",e)}finally{this.creating=!1}}}openDropdown(){this.disabled||(this.isOpening=!0,this.isOpen=!0,this.highlightedIndex=-1,this.asyncUrl&&0===this.internalOptions.length&&!this.initialAsyncFetchTriggered&&this.debouncedFetchAsyncOptions(this.searchQuery,1),this.initialAsyncFetchTriggered=!1,requestAnimationFrame((()=>{var e;this.positionDropdown(),null===(e=this.searchInputEl)||void 0===e||e.focus(),setTimeout((()=>{this.isOpening=!1}),50)})))}closeDropdown(){this.isOpen=!1,this.highlightedIndex=-1,this.searchQuery="",this.isClosingViaSelection&&setTimeout((()=>{this.isClosingViaSelection=!1}),0),this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=void 0)}positionDropdown(){if(!this.containerEl||!this.panelEl)return;const e=this.pillInlineTriggerEl||this.triggerEl||this.containerEl,{minWidth:i,panelWidth:t}=this,s=()=>{r(e,this.panelEl,{placement:"bottom-start",strategy:"absolute",middleware:[a(12),d(),c({padding:8}),p({apply:({rects:e,elements:s})=>{Object.assign(s.floating.style,{width:null!=t?t:e.reference.width+"px",minWidth:i})}})]}).then((({x:e,y:i})=>{this.panelEl&&(this.panelEl.style.left=e+"px",this.panelEl.style.top=i+"px")}))};s();const o=l(e,this.panelEl,s);this.cleanupAutoUpdate=()=>{o(),this.clearAsyncFetchState()}}scrollOptionIntoView(){requestAnimationFrame((()=>{var e;const i=null===(e=this.listboxEl)||void 0===e?void 0:e.querySelector(`[data-index="${this.highlightedIndex}"]`);null==i||i.scrollIntoView({block:"nearest",behavior:"smooth"})}))}toggleOption(e){var i,t;if(e.disabled)return;if(e.isCreateOption)return void(this.creating||this.createOption(this.searchQuery));const s=e.id+"";if(this.value.includes(s))this.value=this.value.filter((e=>e!==s));else{if(this.maxSelections&&this.value.length>=this.maxSelections)return;this.value=[...this.value,s]}this.syncSelectedItems(),this.pdsMultiselectChange.emit({values:this.value,items:this.selectedItems}),this.closePanelOnSelect?(this.isClosingViaSelection=!0,this.closeDropdown(),null===(i=this.triggerEl)||void 0===i||i.focus()):null===(t=this.searchInputEl)||void 0===t||t.focus()}selectOption(e){this.toggleOption(e)}getGroupedRenderItems(e){const i=[];let t=null;return e.forEach(((e,s)=>{const o=e.group;void 0!==o?(t&&t.group===o||(t={type:"group",group:o,options:[]},i.push(t)),t.options.push({option:e,index:s})):(t=null,i.push({type:"option",option:e,index:s}))})),i}renderOption(e,i,t){const o=t.includes(e.id+""),n=e.isCreateOption,l=e.disabled,r=n&&this.creating;return s("li",{key:e.id+"",id:`${this.componentId}-option-${i}`,class:{"pds-multiselect__option":!0,"pds-multiselect__option--highlighted":i===this.highlightedIndex&&!n,"pds-multiselect__option--selected":o,"pds-multiselect__option--create":n,"pds-multiselect__option--disabled":l||r},role:"option","aria-selected":o?"true":"false","aria-disabled":l||r?"true":void 0,"aria-label":n?_(this.createOptionAriaLabel,{text:e.text}):void 0,"data-index":i,onMouseDown:this.handleOptionMouseDown(e),onMouseEnter:this.handleOptionMouseEnter(i,e)},n?s("pds-box",{class:"pds-multiselect__create-option","align-items":"center",gap:"xs"},s("pds-icon",{name:"add",size:"small"}),s("pds-text",null,_(this.createOptionLabel,{text:e.text}))):s("pds-checkbox",{componentId:`${this.componentId}-checkbox-${i}`,checked:o,label:e.text,disabled:l,style:{pointerEvents:"none"}}))}renderSelectedItemsList(){return this.hideSelectedItems||0===this.selectedItems.length?null:s("div",{class:"pds-multiselect__selected-section"},s("ul",{class:"pds-multiselect__selected-list",role:"list"},this.selectedItems.map((e=>s("li",{key:e.id+"",class:"pds-multiselect__selected-item"},e.text)))))}renderDropdown(){if(!this.isOpen)return null;const e=this.getFilteredOptions(),i=this.ensureValueArray(),t=!!this.el.querySelector('[slot="empty"]'),o=!!this.el.querySelector('[slot="loading"]');return s("div",{class:"pds-multiselect__panel",ref:e=>this.panelEl=e,style:{minWidth:this.minWidth}},s("div",{class:"pds-multiselect__search"},s("pds-icon",{name:"search",size:"small"}),s("input",{ref:e=>this.searchInputEl=e,type:"text",class:"pds-multiselect__search-input",placeholder:this.searchPlaceholder,value:this.searchQuery,"aria-label":this.searchOptionsLabel,"aria-controls":this.componentId+"-listbox","aria-activedescendant":this.highlightedIndex>=0?`${this.componentId}-option-${this.highlightedIndex}`:void 0,role:"combobox","aria-haspopup":"listbox","aria-expanded":"true","aria-autocomplete":"list",autocomplete:"off",onInput:this.handleSearchInputChange,onKeyDown:this.handleSearchInputKeyDown})),this.renderSelectedItemsList(),s("ul",{class:"pds-multiselect__listbox",role:"listbox","aria-multiselectable":"true","aria-label":this.label||this.optionsLabel,id:this.componentId+"-listbox",ref:e=>this.listboxEl=e,style:{maxHeight:this.maxHeight},onScroll:this.handleScroll},this.loading&&s("li",{class:"pds-multiselect__loading",role:"presentation"},o?s("slot",{name:"loading"}):s("pds-loader",{size:"small"})),!this.loading&&0===e.length&&s("li",{class:"pds-multiselect__empty",role:"presentation"},t?s("slot",{name:"empty"}):s("span",null,this.noOptionsFoundLabel)),this.getGroupedRenderItems(e).map(((e,t)=>"group"===e.type?s("li",{key:"group-"+t,role:"group","aria-label":e.group,class:"pds-multiselect__group"},s("span",{class:"pds-multiselect__group-header","aria-hidden":"true"},e.group),s("ul",{class:"pds-multiselect__group-list",role:"presentation"},e.options.map((({option:e,index:t})=>this.renderOption(e,t,i))))):this.renderOption(e.option,e.index,i))),this.hasMore&&!this.loading&&s("li",{class:"pds-multiselect__load-more",role:"presentation"},s("pds-loader",{size:"small"}))))}renderInlinePills(){if(!(this.selectedItems.length>0))return s("span",{class:"pds-multiselect__trigger-text pds-multiselect__trigger-text--placeholder"},this.placeholder||"Select...");const e=this.disabled?"text":"tag",i=this.selectedItems.slice(0,Math.max(1,this.maxInlinePills)),t=this.selectedItems.length-i.length;return s("div",{class:"pds-multiselect__pill-list pds-multiselect__pill-list--inline","aria-label":this.selectedItemsLabel},i.map((i=>s("pds-chip",{key:i.id+"","component-id":`${this.componentId}-pill-${i.id}`,variant:e,size:"sm",sentiment:"neutral","dismiss-label":this.pillRemoveLabel,onPdsTagCloseClick:this.handlePillRemove(i)},i.text))),t>0&&s("span",{class:"pds-multiselect__pill-overflow"},"+",t))}renderBelowPills(){if(0===this.selectedItems.length)return null;const e=this.disabled?"text":"tag";return s("div",{class:"pds-multiselect__pill-list pds-multiselect__pill-list--below","aria-label":this.selectedItemsLabel},this.selectedItems.map((i=>s("pds-chip",{key:i.id+"","component-id":`${this.componentId}-pill-${i.id}`,variant:e,size:"md",sentiment:"neutral","dismiss-label":this.pillRemoveLabel,onPdsTagCloseClick:this.handlePillRemove(i)},i.text))))}getTriggerText(){const e=this.selectedItems.length;return 0===e||"pill"===this.selectedDisplay&&"below"===this.pillPosition?this.placeholder||"Select...":x(this.el,e,this.resolveCountForms())}resolveCountForms(){const e={one:this.selectedCountLabelOne,other:this.selectedCountLabelOther},i=this.selectedCountLabels;if(!i)return e;if("string"==typeof i)try{const t=JSON.parse(i);return t&&"object"==typeof t?Object.assign(Object.assign({},e),t):e}catch(i){return e}return Object.assign(Object.assign({},e),i)}render(){const e=this.selectedItems.length>0;return s(o,{key:"4a54a778522d0a1d2f45c32928e7a663f19c0189","aria-disabled":this.disabled?"true":null},s("div",{key:"3593eb4fa1a0ae575b1c0ed03f0763dcea04c9e6",class:"pds-multiselect",onFocusout:this.handleContainerFocusOut},this.label&&s("label",{key:"f91a680ae3c3021bac6bd99368d3ef6ad6438898",id:this.componentId+"-label",htmlFor:this.componentId,class:{"pds-multiselect__label":!0,"visually-hidden":this.hideLabel}},this.label),s("div",{key:"de2899f19057b8cd19cf3467251d03c1b43b73f5",class:"pds-multiselect__wrapper",ref:e=>this.containerEl=e,style:{width:this.triggerWidth}},"pill"===this.selectedDisplay&&"inline"===this.pillPosition?s("div",{ref:e=>this.pillInlineTriggerEl=e||void 0,part:"trigger",class:{"pds-multiselect__trigger":!0,"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,"pds-multiselect__trigger--pill-inline":!0},onClick:this.handleTriggerClick},this.renderInlinePills(),s("button",{ref:e=>this.triggerEl=e,type:"button",id:this.componentId,part:"pill-toggle",class:"pds-multiselect__pill-toggle",disabled:this.disabled,"aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-labelledby":this.label?this.componentId+"-label":void 0,"aria-required":this.required?"true":void 0,"aria-describedby":u(this.componentId,this.invalid||!!this.errorMessage,this.helperMessage,this.errorMessage),"aria-invalid":this.invalid||this.errorMessage?"true":void 0,onKeyDown:this.handleTriggerKeyDown},s("pds-icon",{class:"pds-multiselect__icon",icon:v}))):s("button",{ref:e=>this.triggerEl=e,type:"button",part:"trigger",class:{"pds-multiselect__trigger":!0,"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":void 0,"aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-describedby":u(this.componentId,this.invalid||!!this.errorMessage,this.helperMessage,this.errorMessage),"aria-invalid":this.invalid||this.errorMessage?"true":void 0,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},s("span",{class:{"pds-multiselect__trigger-text":!0,"pds-multiselect__trigger-text--placeholder":!e||"pill"===this.selectedDisplay&&"below"===this.pillPosition}},this.getTriggerText()),s("pds-icon",{class:"pds-multiselect__icon",icon:v})),this.renderDropdown()),"pill"===this.selectedDisplay&&"below"===this.pillPosition&&this.renderBelowPills(),s("span",{key:"199804f5352818d32542864e3a61f7a9364cc2e3",class:"visually-hidden","aria-live":"polite","aria-atomic":"true"},this.removalAnnouncement),this.helperMessage&&!(this.errorMessage&&this.errorMessage.length>0)&&s("p",{key:"e6855ff0aaf18f59dced2df5d636cadb4d47427b",class:"pds-multiselect__helper",id:b(this.componentId,"helper")},this.helperMessage),this.errorMessage&&s("p",{key:"29eae23d8db31b9b9c292d5cd1dc5f641613ed32",class:"pds-multiselect__error",id:b(this.componentId,"error")},s("pds-icon",{key:"aad6fd945998957cd28ab6eb97c4d80f0a732ea5",icon:g,size:"small"}),this.errorMessage),s("div",{key:"7d0d56a1e097cfc0c7396c1957d16014cb071b1e",style:{display:"none"}},s("slot",{key:"6e7fc9dbdab3977248439aa5ea14f13e0f45bbc6"}))))}static get formAssociated(){return!0}get el(){return this}static get watchers(){return{debounce:[{setupDebounce:0}],value:[{valueChanged:0}],options:[{optionsChanged:0}],internalOptions:[{internalOptionsChanged:0}]}}static get style(){return":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-medium);gap:var(--pine-dimension-xs);-ms-flex-pack:justify;justify-content:space-between;letter-spacing:var(--pine-letter-spacing);min-height:var(--pine-dimension-450);padding:var(--pine-dimension-xs) var(--pine-dimension-sm);position:relative;text-align:start;-webkit-transition:border-color var(--pine-motion-duration-base) ease, -webkit-box-shadow var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) ease, -webkit-box-shadow var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) ease, box-shadow var(--pine-motion-duration-base) ease;transition:border-color var(--pine-motion-duration-base) ease, box-shadow var(--pine-motion-duration-base) ease, -webkit-box-shadow var(--pine-motion-duration-base) 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__pill-list{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--pine-dimension-2xs)}.pds-multiselect__pill-list--inline{-ms-flex:1;flex:1;min-width:0}.pds-multiselect__pill-list--below{-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-multiselect__pill-overflow{color:var(--pine-color-text-muted);font:var(--pine-typography-body-sm-medium);white-space:nowrap}.pds-multiselect__trigger--pill-inline{-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--pine-dimension-2xs);min-height:var(--pine-dimension-450);padding:var(--pine-dimension-2xs) var(--pine-dimension-sm)}.pds-multiselect__trigger--pill-inline.pds-multiselect__trigger--open{border-color:var(--pine-color-border-active)}.pds-multiselect__trigger--pill-inline:focus-within: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--pill-inline.pds-multiselect__trigger--invalid:focus-within{outline-color:var(--pine-color-focus-ring-danger)}.pds-multiselect__pill-toggle{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border-width:0;cursor:pointer;display:-ms-flexbox;display:flex;padding:0}.pds-multiselect__pill-toggle:focus{outline:3px solid transparent}.pds-multiselect__trigger--disabled .pds-multiselect__pill-toggle{cursor:not-allowed;pointer-events:none}.pds-multiselect__panel{background:var(--pine-color-background-overlay);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__group-header{color:var(--pine-color-text-muted);display:block;font:var(--pine-typography-body-sm-medium);letter-spacing:var(--pine-letter-spacing);padding:var(--pine-dimension-sm) var(--pine-dimension-xs) var(--pine-dimension-2xs);text-transform:uppercase}.pds-multiselect__listbox>li:first-child>.pds-multiselect__group-header{-webkit-padding-before:var(--pine-dimension-xs);padding-block-start:var(--pine-dimension-xs)}.pds-multiselect__group-list{list-style:none;margin:var(--pine-dimension-none);padding:var(--pine-dimension-none)}.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:not(.pds-multiselect__option--disabled),.pds-multiselect__option.pds-multiselect__option--highlighted:not(.pds-multiselect__option--disabled){background:var(--pine-color-background-muted)}.pds-multiselect__option.pds-multiselect__option--disabled{cursor:not-allowed;opacity:0.5}.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-medium);-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-medium);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}"}},[321,"pds-multiselect",{componentId:[1,"component-id"],label:[1],placeholder:[1],searchPlaceholder:[1,"search-placeholder"],searchOptionsLabel:[1,"search-options-label"],selectedItemsLabel:[1,"selected-items-label"],optionsLabel:[1,"options-label"],noOptionsFoundLabel:[1,"no-options-found-label"],createOptionLabel:[1,"create-option-label"],createOptionAriaLabel:[1,"create-option-aria-label"],itemRemovedLabel:[1,"item-removed-label"],pillRemoveLabel:[1,"pill-remove-label"],selectedCountLabelOne:[1,"selected-count-label-one"],selectedCountLabelOther:[1,"selected-count-label-other"],selectedCountLabels:[1,"selected-count-labels"],closePanelOnSelect:[4,"close-panel-on-select"],name:[1],value:[1040],disabled:[4],asyncUrl:[1,"async-url"],asyncMethod:[1,"async-method"],debounce:[2],fetchTimeout:[2,"fetch-timeout"],maxSelections:[2,"max-selections"],maxHeight:[1,"max-height"],triggerWidth:[1,"trigger-width"],minWidth:[1,"min-width"],panelWidth:[1,"panel-width"],hideLabel:[4,"hide-label"],hideSelectedItems:[4,"hide-selected-items"],selectedDisplay:[1,"selected-display"],pillPosition:[1,"pill-position"],maxInlinePills:[2,"max-inline-pills"],errorMessage:[1,"error-message"],helperMessage:[1,"helper-message"],invalid:[4],required:[4],loading:[1028],options:[16],formatResult:[16],createUrl:[1,"create-url"],csrfToken:[1,"csrf-token"],csrfHeaderName:[1,"csrf-header-name"],isOpen:[32],searchQuery:[32],highlightedIndex:[32],internalOptions:[32],selectedItems:[32],currentPage:[32],hasMore:[32],creating:[32],removalAnnouncement:[32],setFocus:[64],clear:[64]},[[8,"keydown","handleWindowKeyDown"]],{debounce:[{setupDebounce:0}],value:[{valueChanged:0}],options:[{optionsChanged:0}],internalOptions:[{internalOptionsChanged:0}]}]),S=j,F=function(){"undefined"!=typeof customElements&&["pds-multiselect","pds-box","pds-checkbox","pds-chip","pds-icon","pds-loader","pds-text"].forEach((e=>{switch(e){case"pds-multiselect":customElements.get(n(e))||customElements.define(n(e),j);break;case"pds-box":customElements.get(n(e))||f();break;case"pds-checkbox":customElements.get(n(e))||y();break;case"pds-chip":customElements.get(n(e))||w();break;case"pds-icon":customElements.get(n(e))||k();break;case"pds-loader":customElements.get(n(e))||O();break;case"pds-text":customElements.get(n(e))||C()}}))};export{S as PdsMultiselect,F as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as e,HTMLElement as s,createEvent as i,h as r,Host as o,transformTag as a}from"@stencil/core/internal/client";import{m as d}from"./form.js";import{h as n}from"./index2.js";import{d as p}from"./pds-icon2.js";const t=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.pdsRadioGroupChange=i(this,"pdsRadioGroupChange",7),this.direction="column",this.gap="xs",this.disabled=!1,this.invalid=!1,this.required=!1}handlePropsChange(){this.updateChildRadios()}handleRadioChange(e){const s=e.target;if("radio"===s.type&&s.checked){const e=s.closest("pds-radio");e&&this.pdsRadioGroupChange.emit({checked:!0,value:e.value,componentId:e.componentId})}}updateChildRadios(){this.el.querySelectorAll("pds-radio").forEach((e=>{this.name?e.setAttribute("name",this.name):e.removeAttribute("name"),this.disabled?e.setAttribute("disabled","true"):e.removeAttribute("disabled"),this.invalid?e.setAttribute("invalid","true"):e.removeAttribute("invalid"),this.required?e.setAttribute("required","true"):e.removeAttribute("required")}))}componentWillLoad(){if(this.componentId)this._groupId=this.componentId;else{const e="undefined"!=typeof crypto&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).substring(2,9)}`;this._groupId="radio-group-"+e}}componentDidLoad(){this.name||console.warn("pds-radio-group: name prop is required for proper radio group functionality"),this.updateChildRadios()}classNames(){const e=[];return this.invalid&&e.push("is-invalid"),e.join(" ")}getGapValue(){const e={none:"0",xxs:"var(--pine-dimension-xxs)",xs:"var(--pine-dimension-xs)",sm:"var(--pine-dimension-sm)",md:"var(--pine-dimension-md)",lg:"var(--pine-dimension-lg)",xl:"var(--pine-dimension-xl)",xxl:"var(--pine-dimension-xxl)"};return e[this.gap]?e[this.gap]:`var(--pine-dimension-${this.gap})`}getAriaDescribedBy(){const e=[];return this.errorMessage&&e.push(d(this._groupId,"error")),this.helperMessage&&e.push(d(this._groupId,"helper")),e.length>0?e.join(" "):void 0}render(){const e=this.getGapValue(),s=this.getAriaDescribedBy();return r(o,{key:"
|
|
1
|
+
import{proxyCustomElement as e,HTMLElement as s,createEvent as i,h as r,Host as o,transformTag as a}from"@stencil/core/internal/client";import{m as d}from"./form.js";import{h as n}from"./index2.js";import{d as p}from"./pds-icon2.js";const t=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.pdsRadioGroupChange=i(this,"pdsRadioGroupChange",7),this.direction="column",this.gap="xs",this.disabled=!1,this.invalid=!1,this.required=!1}handlePropsChange(){this.updateChildRadios()}handleRadioChange(e){const s=e.target;if("radio"===s.type&&s.checked){const e=s.closest("pds-radio");e&&this.pdsRadioGroupChange.emit({checked:!0,value:e.value,componentId:e.componentId})}}updateChildRadios(){this.el.querySelectorAll("pds-radio").forEach((e=>{this.name?e.setAttribute("name",this.name):e.removeAttribute("name"),this.disabled?e.setAttribute("disabled","true"):e.removeAttribute("disabled"),this.invalid?e.setAttribute("invalid","true"):e.removeAttribute("invalid"),this.required?e.setAttribute("required","true"):e.removeAttribute("required")}))}componentWillLoad(){if(this.componentId)this._groupId=this.componentId;else{const e="undefined"!=typeof crypto&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).substring(2,9)}`;this._groupId="radio-group-"+e}}componentDidLoad(){this.name||console.warn("pds-radio-group: name prop is required for proper radio group functionality"),this.updateChildRadios()}componentDidRender(){const e=this.el.querySelector(".pds-radio-group__radios");if(null===e)return;const s=()=>Array.from(e.children).find((e=>e.matches(".pds-radio-group__radios, .pds-radio-group__label, .pds-radio-group__message")));let i=s();for(;void 0!==i;)i.matches(".pds-radio-group__radios")&&Array.from(i.childNodes).forEach((s=>e.insertBefore(s,i))),i.remove(),i=s()}classNames(){const e=[];return this.invalid&&e.push("is-invalid"),e.join(" ")}getGapValue(){const e={none:"0",xxs:"var(--pine-dimension-xxs)",xs:"var(--pine-dimension-xs)",sm:"var(--pine-dimension-sm)",md:"var(--pine-dimension-md)",lg:"var(--pine-dimension-lg)",xl:"var(--pine-dimension-xl)",xxl:"var(--pine-dimension-xxl)"};return e[this.gap]?e[this.gap]:`var(--pine-dimension-${this.gap})`}getAriaDescribedBy(){const e=[];return this.errorMessage&&e.push(d(this._groupId,"error")),this.helperMessage&&e.push(d(this._groupId,"helper")),e.length>0?e.join(" "):void 0}render(){const e=this.getGapValue(),s=this.getAriaDescribedBy();return r(o,{key:"0f6b6ddc2af79fc470c050ed6b5588640fe0d7b6",class:this.classNames(),id:this._groupId,role:"group","aria-describedby":s,style:{"--pds-radio-group-gap":e}},this.groupLabel&&r("div",{key:"77dbdc4801c3ff50fa3ea6a84d3d6aa51702ad02",class:"pds-radio-group__label"},this.groupLabel),r("div",{key:"c8d7f6aebc39f72a57f353ac2f8677139ac77e71",class:{"pds-radio-group__radios":!0,"pds-radio-group__radios--row":"row"===this.direction,"pds-radio-group__radios--column":"column"===this.direction}},r("slot",{key:"605e640fada693696e0b71205d18904b0af887b0",onSlotchange:()=>this.updateChildRadios()})),this.helperMessage&&r("div",{key:"13cc1c7a6b70ce6826f91a68380bc46188b218e1",class:"pds-radio-group__message",id:d(this._groupId,"helper")},this.helperMessage),this.errorMessage&&r("div",{key:"693dd2f784eb5de04f1b885948e7064936cffa7d",class:"pds-radio-group__message pds-radio-group__message--error",id:d(this._groupId,"error"),"aria-live":"assertive"},r("pds-icon",{key:"1569aeeeffde77d4920627020d04983e860ea52e",icon:n,size:"small"}),this.errorMessage))}get el(){return this}static get watchers(){return{name:[{handlePropsChange:0}],disabled:[{handlePropsChange:0}],invalid:[{handlePropsChange:0}],required:[{handlePropsChange:0}]}}static get style(){return".sc-pds-radio-group-h{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pine-dimension-sm)}.is-invalid.sc-pds-radio-group-h .pds-radio-group__message--error.sc-pds-radio-group{color:var(--pine-color-text-message-danger)}.pds-radio-group__label.sc-pds-radio-group{color:var(--pine-color-text-label);font:var(--pine-typography-heading-6);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing-heading-6)}.pds-radio-group__radios.sc-pds-radio-group{display:-ms-flexbox;display:flex;gap:var(--pds-radio-group-gap, var(--pine-dimension-xs))}.pds-radio-group__radios--row.sc-pds-radio-group{-ms-flex-align:start;align-items:flex-start;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.pds-radio-group__radios--column.sc-pds-radio-group{-ms-flex-direction:column;flex-direction:column}.pds-radio-group__message.sc-pds-radio-group{color:var(--pine-color-text-message);font:var(--pine-typography-body);width:100%}.pds-radio-group__message--error.sc-pds-radio-group{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-radio-group__message--error.sc-pds-radio-group pds-icon.sc-pds-radio-group{-webkit-margin-before:var(--pine-dimension-050);margin-block-start:var(--pine-dimension-050)}"}},[262,"pds-radio-group",{componentId:[1,"component-id"],direction:[1],errorMessage:[1,"error-message"],helperMessage:[1,"helper-message"],gap:[1],disabled:[4],invalid:[4],groupLabel:[1,"group-label"],name:[1],required:[4]},[[0,"change","handleRadioChange"]],{name:[{handlePropsChange:0}],disabled:[{handlePropsChange:0}],invalid:[{handlePropsChange:0}],required:[{handlePropsChange:0}]}]),l=t,c=function(){"undefined"!=typeof customElements&&["pds-radio-group","pds-icon"].forEach((e=>{switch(e){case"pds-radio-group":customElements.get(a(e))||customElements.define(a(e),t);break;case"pds-icon":customElements.get(a(e))||p()}}))};export{l as PdsRadioGroup,c as defineCustomElement}
|
package/components/pds-radio.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as e,HTMLElement as i,createEvent as r,h as a,Host as s,transformTag as o}from"@stencil/core/internal/client";import{e as d,a as n,m as t}from"./form.js";import{h as l}from"./index2.js";import{d as p}from"./pds-icon2.js";const c=e(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.pdsRadioChange=r(this,"pdsRadioChange",7),this._type="radio",this._hasImage=!1,this.checked=!1,this.disabled=!1,this.hasBorder=!1,this.invalid=!1,this.required=!1,this.handleRadioChange=e=>{if(this.disabled)return;const i=e.target.checked;this.el.closest("pds-radio-group")||this.pdsRadioChange.emit(i)}}hasImageSlot(){return!!this.el.querySelector('[slot="image"]')}hasImage(){return this._hasImage}classNames(){const e=[];return this.invalid&&e.push("is-invalid"),this.disabled&&e.push("is-disabled"),this.hasBorder&&e.push("has-border"),this.hasImage()&&e.push("has-image"),e.join(" ")}componentWillLoad(){this._hasImage=this.hasImageSlot()}connectedCallback(){d(this.el,(()=>this._type))}render(){const e=()=>[a("label",{htmlFor:this.componentId,key:this.componentId+"-label"},a("input",{key:"75aca490be2db050f66ddd9cb45ce122bea4db53","aria-describedby":n(this.componentId,this.invalid,this.helperMessage),"aria-invalid":this.invalid?"true":void 0,type:"radio",id:this.componentId,name:this.name,value:this.value,checked:this.checked,required:this.required,disabled:this.disabled,onChange:this.handleRadioChange,class:this.hasImage()?"visually-hidden":""}),a("span",{key:"1bbc7398d3be35e301526b0f842274a3f1db4457",class:this.hideLabel?"visually-hidden":""},this.label)),this.helperMessage&&a("div",{key:this.componentId+"-helper",class:"pds-radio__message",id:t(this.componentId,"helper")},this.helperMessage),this.errorMessage&&a("div",{key:this.componentId+"-error",class:"pds-radio__message pds-radio__message--error",id:t(this.componentId,"error"),"aria-live":"assertive"},a("pds-icon",{key:"e1a1228fa52e68623098f09493d93aa03d2e65c4",icon:l,size:"small"}),this.errorMessage)];return a(s,{key:"60fabeef5778fd30e46cfd23d05684e1743bc57f",class:this.classNames()},this.hasImage()&&a("div",{key:"9ba3e60182a68cc8e996623cf46e17001ff451f6",class:"pds-radio__image-container",part:"image-container"},a("slot",{key:"bf8927129eb68ee7ed07a1f8f8727f013254e133",name:"image",onSlotchange:()=>this._hasImage=this.hasImageSlot()})),this.hasImage()?a("div",{class:"pds-radio__content-wrapper"},e()):e())}get el(){return this}static get style(){return'.sc-pds-radio-h{display:inline-block}[aria-disabled=true].sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-disabled)}[aria-readonly=true].sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-readonly)}label.sc-pds-radio{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}.sc-pds-radio-h{--sizing-check-size:6px;--sizing-input-size:var(--pine-dimension-sm);--sizing-margin-block-start:6px;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;position:relative}.is-invalid.sc-pds-radio-h .pds-radio__message--error.sc-pds-radio{color:var(--pine-color-text-message-danger)}.has-border.sc-pds-radio-h{-ms-flex-align:start;align-items:flex-start;border:var(--pine-border);border-radius:var(--pine-dimension-125);-webkit-column-gap:var(--pine-dimension-xs);-moz-column-gap:var(--pine-dimension-xs);column-gap:var(--pine-dimension-xs);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;padding:var(--pine-dimension-md)}@media (max-width: 767px){.has-border.sc-pds-radio-h{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;min-width:0}}.has-border.sc-pds-radio-h:hover{border:var(--pine-border-hover)}.has-border.sc-pds-radio-h:has(input:checked){-webkit-box-shadow:0 0 0 2px var(--pine-color-primary-hover);box-shadow:0 0 0 2px var(--pine-color-primary-hover)}.has-border.sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text);font-weight:var(--pine-font-weight-semi-bold)}.has-border.sc-pds-radio-h label.sc-pds-radio::after{content:"";cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.has-border.sc-pds-radio-h:has(input:disabled){background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}.has-border.sc-pds-radio-h:has(input:disabled) label.sc-pds-radio{color:var(--pine-color-text-label-disabled);cursor:not-allowed}.has-border.is-invalid.sc-pds-radio-h .pds-radio__message--error.sc-pds-radio{color:var(--pine-color-text-message-danger)}input.sc-pds-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-border-radius-full);-ms-flex:none;flex:none;height:var(--sizing-input-size);margin:0;-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025);position:relative;width:var(--sizing-input-size)}input.visually-hidden.sc-pds-radio{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}input.sc-pds-radio:hover{background:var(--pine-color-background-container-hover);border:var(--pine-border-hover)}input.sc-pds-radio:checked{background:var(--pine-color-accent);border-color:var(--pine-color-accent)}input.sc-pds-radio:checked:hover{background:var(--pine-color-accent-hover);border-color:var(--pine-color-accent-hover)}input.sc-pds-radio:checked::after{background:var(--pine-color-white);border-radius:var(--pine-border-radius-full);content:"";display:block;height:var(--sizing-check-size);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--sizing-check-size)}input.sc-pds-radio:disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}input.sc-pds-radio:disabled:checked{background-color:var(--pine-color-accent-disabled);border-color:var(--pine-color-border-disabled)}input.sc-pds-radio:disabled:checked::after{border-color:var(--pine-color-border-disabled)}input.sc-pds-radio:focus-visible{outline:var(--pine-outline-focus)}label.sc-pds-radio{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs)}label.sc-pds-radio:has(input:disabled){color:var(--pine-color-text-label-disabled);cursor:not-allowed}.sc-pds-radio-h:has(input:disabled) .pds-radio__message.sc-pds-radio{color:var(--pine-color-text-label-disabled)}.visually-hidden.sc-pds-radio{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-radio__message.sc-pds-radio{color:var(--pine-color-text-message);-ms-flex-preferred-size:100%;flex-basis:100%;font:var(--pine-typography-body);-webkit-margin-start:var(--pine-dimension-md);margin-inline-start:var(--pine-dimension-md);width:100%}.pds-radio__message--error.sc-pds-radio{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-radio__message--error.sc-pds-radio pds-icon.sc-pds-radio{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.has-image.sc-pds-radio-h{-ms-flex-align:center;align-items:center;border:var(--pine-border);border-radius:var(--pine-dimension-125);-webkit-column-gap:var(--pine-dimension-xs);-moz-column-gap:var(--pine-dimension-xs);column-gap:var(--pine-dimension-xs);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;padding:var(--pine-dimension-md)}@media (max-width: 767px){.has-image.sc-pds-radio-h{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;min-width:0}}.has-image.sc-pds-radio-h:hover{border:var(--pine-border-hover)}.has-image.sc-pds-radio-h:has(input:checked){-webkit-box-shadow:0 0 0 2px var(--pine-color-primary-hover);box-shadow:0 0 0 2px var(--pine-color-primary-hover)}.has-image.sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text);display:-ms-flexbox;display:flex;font-weight:var(--pine-font-weight-semi-bold);gap:var(--pine-dimension-xs)}.has-image.sc-pds-radio-h label.sc-pds-radio::after{content:"";cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.has-image.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio{-ms-flex-align:center;align-items:center;align-self:center;border:var(--pine-border);border-radius:var(--pine-border-radius-full);cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex:none;flex:none;grid-area:image;-ms-flex-pack:center;justify-content:center;overflow:hidden;position:relative;-webkit-transition:all var(--pine-motion-duration-base) ease;transition:all var(--pine-motion-duration-base) ease}.has-image.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio:hover{border-color:var(--pine-color-border-hover)}.has-image.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio .pds-radio__image.sc-pds-radio{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.has-image.sc-pds-radio-h .pds-radio__message.sc-pds-radio{grid-area:message;-webkit-margin-before:0;margin-block-start:0;-webkit-margin-start:0;margin-inline-start:0}.has-image.is-disabled.sc-pds-radio-h{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}.has-image.is-disabled.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio{border-color:var(--pine-color-border-disabled);cursor:not-allowed;opacity:0.5}.has-image.is-disabled.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio:hover{border-color:var(--pine-color-border-disabled)}.has-image.is-disabled.sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-disabled);cursor:not-allowed}.has-image.is-disabled.sc-pds-radio-h .pds-radio__message.sc-pds-radio{color:var(--pine-color-text-label-disabled)}.has-image.is-invalid.sc-pds-radio-h .pds-radio__message--error.sc-pds-radio{color:var(--pine-color-text-message-danger)}'}},[262,"pds-radio",{checked:[4],componentId:[1,"component-id"],disabled:[4],errorMessage:[1,"error-message"],helperMessage:[1,"helper-message"],hasBorder:[4,"has-border"],invalid:[4],label:[1],hideLabel:[4,"hide-label"],name:[1],required:[4],value:[1],_hasImage:[32]}]),h=c,b=function(){"undefined"!=typeof customElements&&["pds-radio","pds-icon"].forEach((e=>{switch(e){case"pds-radio":customElements.get(o(e))||customElements.define(o(e),c);break;case"pds-icon":customElements.get(o(e))||p()}}))};export{h as PdsRadio,b as defineCustomElement}
|
|
1
|
+
import{proxyCustomElement as e,HTMLElement as i,createEvent as r,h as a,Host as s,transformTag as o}from"@stencil/core/internal/client";import{e as d,a as n,m as t}from"./form.js";import{h as l}from"./index2.js";import{d as p}from"./pds-icon2.js";const c=e(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.pdsRadioChange=r(this,"pdsRadioChange",7),this._type="radio",this._hasImage=!1,this.checked=!1,this.disabled=!1,this.hasBorder=!1,this.invalid=!1,this.required=!1,this.handleRadioChange=e=>{if(this.disabled)return;const i=e.target.checked;this.el.closest("pds-radio-group")||this.pdsRadioChange.emit(i)}}hasImageSlot(){return!!this.el.querySelector('[slot="image"]')}hasImage(){return this._hasImage}classNames(){const e=[];return this.invalid&&e.push("is-invalid"),this.disabled&&e.push("is-disabled"),this.hasBorder&&e.push("has-border"),this.hasImage()&&e.push("has-image"),e.join(" ")}componentWillLoad(){this._hasImage=this.hasImageSlot()}connectedCallback(){d(this.el,(()=>this._type))}componentDidRender(){const e=this.el.querySelector(".pds-radio__image-container:not([hidden])");Array.from(this.el.querySelectorAll(".pds-radio__image-container[hidden], .pds-radio__content-wrapper[hidden], label[hidden], .pds-radio__message[hidden]")).forEach((i=>{const r=i.querySelector('[slot="image"]');null!==r&&null!==e&&e.appendChild(r),i.remove()}))}render(){const e=()=>[a("label",{htmlFor:this.componentId,key:this.componentId+"-label"},a("input",{key:"d7534f457e24558e0e206e2de82eac5f59b47d8a","aria-describedby":n(this.componentId,this.invalid,this.helperMessage,this.errorMessage),"aria-invalid":this.invalid?"true":void 0,type:"radio",id:this.componentId,name:this.name,value:this.value,checked:this.checked,required:this.required,disabled:this.disabled,onChange:this.handleRadioChange,class:this.hasImage()?"visually-hidden":""}),a("span",{key:"bfb6a44684fcbb271c38da03b620e97067af6634",class:this.hideLabel?"visually-hidden":""},this.label)),this.helperMessage&&a("div",{key:this.componentId+"-helper",class:"pds-radio__message",id:t(this.componentId,"helper")},this.helperMessage),this.errorMessage&&a("div",{key:this.componentId+"-error",class:"pds-radio__message pds-radio__message--error",id:t(this.componentId,"error"),"aria-live":"assertive"},a("pds-icon",{key:"d0c120ce21687b550b22546330d647f9876ee4d6",icon:l,size:"small"}),this.errorMessage)];return a(s,{key:"55e4f32776bc8a5835801cd7d48b29045d4ce17f",class:this.classNames()},this.hasImage()&&a("div",{key:"3d9bf1d624c00ea90971638b2de7b548aec73330",class:"pds-radio__image-container",part:"image-container"},a("slot",{key:"a256ede1340cf052570330342b1ed9e5f299c821",name:"image",onSlotchange:()=>this._hasImage=this.hasImageSlot()})),this.hasImage()?a("div",{class:"pds-radio__content-wrapper"},e()):e())}get el(){return this}static get style(){return'.sc-pds-radio-h{display:inline-block}[aria-disabled=true].sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-disabled)}[aria-readonly=true].sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-readonly)}label.sc-pds-radio{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}.sc-pds-radio-h{--sizing-check-size:6px;--sizing-input-size:var(--pine-dimension-sm);--sizing-margin-block-start:6px;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;position:relative}.is-invalid.sc-pds-radio-h .pds-radio__message--error.sc-pds-radio{color:var(--pine-color-text-message-danger)}.has-border.sc-pds-radio-h{-ms-flex-align:start;align-items:flex-start;border:var(--pine-border);border-radius:var(--pine-dimension-125);-webkit-column-gap:var(--pine-dimension-xs);-moz-column-gap:var(--pine-dimension-xs);column-gap:var(--pine-dimension-xs);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;padding:var(--pine-dimension-md)}@media (max-width: 767px){.has-border.sc-pds-radio-h{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;min-width:0}}.has-border.sc-pds-radio-h:hover{border:var(--pine-border-hover)}.has-border.sc-pds-radio-h:has(input:checked){-webkit-box-shadow:0 0 0 2px var(--pine-color-primary-hover);box-shadow:0 0 0 2px var(--pine-color-primary-hover)}.has-border.sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text);font-weight:var(--pine-font-weight-semi-bold)}.has-border.sc-pds-radio-h label.sc-pds-radio::after{content:"";cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.has-border.sc-pds-radio-h:has(input:disabled){background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}.has-border.sc-pds-radio-h:has(input:disabled) label.sc-pds-radio{color:var(--pine-color-text-label-disabled);cursor:not-allowed}.has-border.sc-pds-radio-h:has(input:disabled) label.sc-pds-radio::after{cursor:not-allowed}.has-border.is-invalid.sc-pds-radio-h .pds-radio__message--error.sc-pds-radio{color:var(--pine-color-text-message-danger)}input.sc-pds-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-border-radius-full);-ms-flex:none;flex:none;height:var(--sizing-input-size);margin:0;-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025);position:relative;width:var(--sizing-input-size)}input.visually-hidden.sc-pds-radio{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}input.sc-pds-radio:hover{background:var(--pine-color-background-container-hover);border:var(--pine-border-hover)}input.sc-pds-radio:checked{background:var(--pine-color-accent);border-color:var(--pine-color-accent)}input.sc-pds-radio:checked:hover{background:var(--pine-color-accent-hover);border-color:var(--pine-color-accent-hover)}input.sc-pds-radio:checked::after{background:var(--pine-color-white);border-radius:var(--pine-border-radius-full);content:"";display:block;height:var(--sizing-check-size);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--sizing-check-size)}input.sc-pds-radio:disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}input.sc-pds-radio:disabled:checked{background-color:var(--pine-color-accent-disabled);border-color:var(--pine-color-border-disabled)}input.sc-pds-radio:disabled:checked::after{border-color:var(--pine-color-border-disabled)}input.sc-pds-radio:focus-visible{outline:var(--pine-outline-focus)}label.sc-pds-radio{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs)}label.sc-pds-radio:has(input:disabled){color:var(--pine-color-text-label-disabled);cursor:not-allowed}.sc-pds-radio-h:has(input:disabled) .pds-radio__message.sc-pds-radio{color:var(--pine-color-text-label-disabled)}.visually-hidden.sc-pds-radio{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-radio__message.sc-pds-radio{color:var(--pine-color-text-message);-ms-flex-preferred-size:100%;flex-basis:100%;font:var(--pine-typography-body);-webkit-margin-start:var(--pine-dimension-md);margin-inline-start:var(--pine-dimension-md);width:100%}.pds-radio__message--error.sc-pds-radio{display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-radio__message--error.sc-pds-radio pds-icon.sc-pds-radio{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.has-image.sc-pds-radio-h{-ms-flex-align:center;align-items:center;border:var(--pine-border);border-radius:var(--pine-dimension-125);-webkit-column-gap:var(--pine-dimension-xs);-moz-column-gap:var(--pine-dimension-xs);column-gap:var(--pine-dimension-xs);display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;padding:var(--pine-dimension-md)}@media (max-width: 767px){.has-image.sc-pds-radio-h{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;min-width:0}}.has-image.sc-pds-radio-h:hover{border:var(--pine-border-hover)}.has-image.sc-pds-radio-h:has(input:checked){-webkit-box-shadow:0 0 0 2px var(--pine-color-primary-hover);box-shadow:0 0 0 2px var(--pine-color-primary-hover)}.has-image.sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text);display:-ms-flexbox;display:flex;font-weight:var(--pine-font-weight-semi-bold);gap:var(--pine-dimension-xs)}.has-image.sc-pds-radio-h label.sc-pds-radio::after{content:"";cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.has-image.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio{-ms-flex-align:center;align-items:center;align-self:center;border:var(--pine-border);border-radius:var(--pine-border-radius-full);cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex:none;flex:none;grid-area:image;-ms-flex-pack:center;justify-content:center;overflow:hidden;position:relative;-webkit-transition:all var(--pine-motion-duration-base) ease;transition:all var(--pine-motion-duration-base) ease}.has-image.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio:hover{border-color:var(--pine-color-border-hover)}.has-image.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio .pds-radio__image.sc-pds-radio{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.has-image.sc-pds-radio-h .pds-radio__message.sc-pds-radio{grid-area:message;-webkit-margin-before:0;margin-block-start:0;-webkit-margin-start:0;margin-inline-start:0}.has-image.is-disabled.sc-pds-radio-h{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);cursor:not-allowed}.has-image.is-disabled.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio{border-color:var(--pine-color-border-disabled);cursor:not-allowed;opacity:0.5}.has-image.is-disabled.sc-pds-radio-h .pds-radio__image-container.sc-pds-radio:hover{border-color:var(--pine-color-border-disabled)}.has-image.is-disabled.sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-disabled);cursor:not-allowed}.has-image.is-disabled.sc-pds-radio-h label.sc-pds-radio::after{cursor:not-allowed}.has-image.is-disabled.sc-pds-radio-h .pds-radio__message.sc-pds-radio{color:var(--pine-color-text-label-disabled)}.has-image.is-invalid.sc-pds-radio-h .pds-radio__message--error.sc-pds-radio{color:var(--pine-color-text-message-danger)}'}},[262,"pds-radio",{checked:[4],componentId:[1,"component-id"],disabled:[4],errorMessage:[1,"error-message"],helperMessage:[1,"helper-message"],hasBorder:[4,"has-border"],invalid:[4],label:[1],hideLabel:[4,"hide-label"],name:[1],required:[4],value:[1],_hasImage:[32]}]),h=c,b=function(){"undefined"!=typeof customElements&&["pds-radio","pds-icon"].forEach((e=>{switch(e){case"pds-radio":customElements.get(o(e))||customElements.define(o(e),c);break;case"pds-icon":customElements.get(o(e))||p()}}))};export{h as PdsRadio,b as defineCustomElement}
|
package/components/pds-select.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as e,HTMLElement as s,createEvent as i,h as t,Host as r,transformTag as a}from"@stencil/core/internal/client";import{e as o,m as n,i as l}from"./form.js";import{h as d,g as c}from"./index2.js";import{d as p}from"./pds-icon2.js";const h=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.pdsSelectChange=i(this,"pdsSelectChange",7),this.pdsBlur=i(this,"pdsBlur",7),this.pdsFocus=i(this,"pdsFocus",7),this.pdsKeyDown=i(this,"pdsKeyDown",7),this._type="select-one",this.disabled=!1,this.multiple=!1,this.required=!1,this.onSelectUpdate=e=>{const s=Array.from(e.target.options).filter((e=>e.selected)).map((e=>e.value));this.value=1!==s.length||this.multiple?s:s[0],this.pdsSelectChange.emit(e)},this.onBlur=e=>{this.pdsBlur.emit(e)},this.onFocus=e=>{this.pdsFocus.emit(e)},this.onKeyDown=e=>{this.pdsKeyDown.emit(e)},this.handleSlotChange=()=>{const e=this.slotContainer.querySelector("slot");this.selectEl.innerHTML="",e.assignedElements({flatten:!0}).forEach((e=>{if(["OPTION","OPTGROUP"].includes(e.tagName)){const s=e.cloneNode(!0);"OPTION"===s.tagName&&s.value===this.value&&(s.selected=!0),this.selectEl.appendChild(s)}})),this.updateSelectedOption()}}valueChanged(){this.updateSelectedOption(),this.updateFormValue()}multipleChanged(){this.updateType()}updateType(){this._type=this.multiple?"select-multiple":"select-one"}connectedCallback(){this.el.attachInternals&&!this.internals&&(this.internals=this.el.attachInternals()),o(this.el,(()=>this._type))}componentWillLoad(){this.updateType(),this.updateSelectedOption()}componentDidLoad(){this.updateFormValue()}updateSelectedOption(){this.selectEl&&Array.from(this.selectEl.options).map((e=>{e.selected=Array.isArray(this.value)?this.value.includes(e.value):this.value===e.value}))}getHelperMessage(){return this.helperMessage&&t("p",{class:"pds-select__helper-message",id:n(this.componentId,"helper")},this.helperMessage)}getErrorMessage(){return this.errorMessage&&t("p",{class:"pds-select__error-message",id:n(this.componentId,"error"),"aria-live":"assertive"},t("pds-icon",{"aria-hidden":"true",icon:d,size:"small"}),this.errorMessage)}renderMessages(){return this.helperMessage||this.errorMessage?t("div",{class:"pds-select__message"},this.getHelperMessage(),this.getErrorMessage()):null}classNames(){const e=[];return this.invalid&&e.push("is-invalid"),this.disabled&&e.push("is-disabled"),e.join(" ")}renderAction(){return null!==this.el.querySelector('[slot="action"]')?t("div",{class:"pds-select__action",part:"action"},t("slot",{name:"action"})):null}updateFormValue(){if(!l()&&this.internals&&this.internals.setFormValue){const e=this.value;if(Array.isArray(e))if(e.length>1){const s=new FormData;e.forEach((e=>s.append(this.name||"",e))),this.internals.setFormValue(s)}else this.internals.setFormValue(e[0]||null);else this.internals.setFormValue(e||null);this.selectEl&&this.internals&&this.internals.setValidity&&this.internals.setValidity(this.selectEl.validity,this.selectEl.validationMessage,this.selectEl)}}formResetCallback(){this.value="",this.updateFormValue()}formDisabledCallback(e){this.disabled=e}formStateRestoreCallback(e){if("string"==typeof e)this.value=e;else if(e instanceof FormData&&this.name){const s=e.getAll(this.name);s.length>1?this.value=s.filter((e=>"string"==typeof e)):1===s.length&&"string"==typeof s[0]&&(this.value=s[0])}}render(){const e=null!==this.el.querySelector('[slot="action"]');return t(r,{key:"71f6bfba3361eaac3459c1b30b23183503b57ae5","aria-disabled":this.disabled?"true":null,class:this.classNames(),"has-action":e&&!this.hideLabel?"true":null},t("div",{key:"cbd0059fc405179a59c29f81510d2948e358531c",class:"pds-select"},!this.hideLabel&&t("div",{key:"87d42d145ec0a46a474bb599e46226efc72d1acb",class:"pds-select__label-wrapper"},t("label",{key:"23e4b10a8b99023d1779de0eb6c56ff31189dce1",htmlFor:this.componentId},t("span",{key:"b655a0850ce9ce173fbd814461df8529c9c150d9",class:this.hideLabel?"visually-hidden":""},this.label)),e&&this.renderAction()),t("select",{key:"a9f2cd048cdea6f0a44305a2760c418617d7c0eb","aria-label":this.hideLabel?this.label:void 0,autocomplete:this.autocomplete||void 0,class:"pds-select__field",disabled:this.disabled,id:this.componentId,multiple:this.multiple,name:this.name,onBlur:this.onBlur,onChange:this.onSelectUpdate,onFocus:this.onFocus,onKeyDown:this.onKeyDown,part:"select",required:this.required,ref:e=>this.selectEl=e}),t("div",{key:"cca5b1b634d1d77bc4164cb196fdd1c4ffcb888e","aria-hidden":"true",class:"hidden",ref:e=>this.slotContainer=e},t("slot",{key:"018780883212786a89c5e6f776dc8c69853bf732",onSlotchange:this.handleSlotChange})),this.renderMessages(),!this.multiple&&t("pds-icon",{key:"10e82ad220b4e9d8d9c0710a14335d5603bd6164","aria-hidden":"true",class:"pds-select__select-icon",icon:c})))}static get formAssociated(){return!0}get el(){return this}static get watchers(){return{value:[{valueChanged:0}],multiple:[{multipleChanged:0}]}}static get style(){return':host{--pine-select-color-background-danger:var(--pine-color-red-050)}: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)}:host{--pds-select-background:var(--pine-color-background-container);--pds-select-border:var(--pine-border);--pds-select-border-radius:var(--pine-dimension-125);--pds-select-border-radius-start-end:var(--pine-dimension-125);--pds-select-border-radius-start-start:var(--pine-dimension-125);--pds-select-border-radius-end-end:var(--pine-dimension-125);--pds-select-border-radius-end-start:var(--pine-dimension-125);--pds-select-min-height:36px;--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)}:host .hidden,:host :host([hidden]){display:none}.pds-select{color:var(--pine-color-text);display:grid;-ms-flex-direction:column;flex-direction:column;grid-template-areas:"label label" "field field" "message message";grid-template-columns:1fr minmax(2rem, -webkit-min-content);grid-template-columns:1fr minmax(2rem, min-content);grid-template-rows:-webkit-min-content -webkit-min-content -webkit-min-content;grid-template-rows:min-content min-content min-content;position:relative;width:100%}.pds-select__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-area:label;-ms-flex-pack:justify;justify-content:space-between;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__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)}label{-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__label-wrapper label{-webkit-margin-after:0;margin-block-end:0}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--pds-select-background);border:var(--pds-select-border);border-end-end-radius:var(--pds-select-border-radius-end-end, var(--pds-select-border-radius));border-end-start-radius:var(--pds-select-border-radius-end-start, var(--pds-select-border-radius));border-start-end-radius:var(--pds-select-border-radius-start-end, var(--pds-select-border-radius));border-start-start-radius:var(--pds-select-border-radius-start-start, var(--pds-select-border-radius));color:var(--pine-color-text);font:var(--pine-typography-body);grid-area:field;letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-select-min-height);padding:calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-150);-webkit-padding-end:var(--pine-dimension-450);padding-inline-end:var(--pine-dimension-450);position:relative}select:hover{border-color:var(--pine-color-border-hover);cursor:pointer}select:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}select:disabled{background-color:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}select:has(~.pds-select__message .pds-select__error-message){background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}:host-context([data-theme=dark]) select:has(~.pds-select__message .pds-select__error-message){background-color:var(--pine-color-red-950)}select:has(~.pds-select__message .pds-select__error-message):focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host(.is-disabled) .pds-select__select-icon{color:var(--pine-color-text-disabled)}:host(.is-invalid) select{background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}:host-context([data-theme=dark]) :host(.is-invalid) select{background-color:var(--pine-color-red-950)}:host(.is-invalid) select:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host([highlight]:not(.is-disabled):not(.is-invalid)) select{background-color:var(--pine-color-accent-disabled);border-color:var(--pine-color-accent);color:var(--pine-color-text-accent)}:host([highlight]:not(.is-disabled):not(.is-invalid)) select:hover:not(:disabled){border-color:var(--pine-color-accent-hover)}:host([highlight]:not(.is-disabled):not(.is-invalid)) select:focus-visible{outline-color:var(--pine-color-focus-ring)}:host([highlight]:not(.is-disabled):not(.is-invalid)) .pds-select__select-icon{color:var(--pine-color-text-accent)}.pds-select__error-message,.pds-select__helper-message{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm-medium);-webkit-margin-after:0;margin-block-end:0;-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-select__error-message{color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-select__error-message pds-icon{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.pds-select__message{grid-area:message}.pds-select__select-icon{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-column:-1/-2;grid-row:2/3;height:var(--pds-select-min-height);pointer-events:none;position:relative;z-index:var(--pine-z-index-raised)}.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}'}},[321,"pds-select",{autocomplete:[1],componentId:[1,"component-id"],disabled:[4],errorMessage:[1,"error-message"],hideLabel:[4,"hide-label"],helperMessage:[1,"helper-message"],invalid:[4],label:[1],multiple:[4],name:[1],required:[4],highlight:[516],value:[1025]},void 0,{value:[{valueChanged:0}],multiple:[{multipleChanged:0}]}]),b=h,m=function(){"undefined"!=typeof customElements&&["pds-select","pds-icon"].forEach((e=>{switch(e){case"pds-select":customElements.get(a(e))||customElements.define(a(e),h);break;case"pds-icon":customElements.get(a(e))||p()}}))};export{b as PdsSelect,m as defineCustomElement}
|
|
1
|
+
import{proxyCustomElement as e,HTMLElement as s,createEvent as i,h as t,Host as r,transformTag as a}from"@stencil/core/internal/client";import{e as o,m as n,i as l,a as d}from"./form.js";import{h as c,g as p}from"./index2.js";import{d as h}from"./pds-icon2.js";const b=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.pdsSelectChange=i(this,"pdsSelectChange",7),this.pdsBlur=i(this,"pdsBlur",7),this.pdsFocus=i(this,"pdsFocus",7),this.pdsKeyDown=i(this,"pdsKeyDown",7),this._type="select-one",this.disabled=!1,this.multiple=!1,this.required=!1,this.onSelectUpdate=e=>{const s=Array.from(e.target.options).filter((e=>e.selected)).map((e=>e.value));this.value=1!==s.length||this.multiple?s:s[0],this.pdsSelectChange.emit(e)},this.onBlur=e=>{this.pdsBlur.emit(e)},this.onFocus=e=>{this.pdsFocus.emit(e)},this.onKeyDown=e=>{this.pdsKeyDown.emit(e)},this.handleSlotChange=()=>{const e=this.slotContainer.querySelector("slot");this.selectEl.innerHTML="",e.assignedElements({flatten:!0}).forEach((e=>{if(["OPTION","OPTGROUP"].includes(e.tagName)){const s=e.cloneNode(!0);"OPTION"===s.tagName&&s.value===this.value&&(s.selected=!0),this.selectEl.appendChild(s)}})),this.updateSelectedOption()}}valueChanged(){this.updateSelectedOption(),this.updateFormValue()}multipleChanged(){this.updateType()}updateType(){this._type=this.multiple?"select-multiple":"select-one"}connectedCallback(){this.el.attachInternals&&!this.internals&&(this.internals=this.el.attachInternals()),o(this.el,(()=>this._type))}componentWillLoad(){this.updateType(),this.updateSelectedOption()}componentDidLoad(){this.updateFormValue()}updateSelectedOption(){this.selectEl&&Array.from(this.selectEl.options).map((e=>{e.selected=Array.isArray(this.value)?this.value.includes(e.value):this.value===e.value}))}getHelperMessage(){return this.helperMessage&&t("p",{class:"pds-select__helper-message",id:n(this.componentId,"helper")},this.helperMessage)}getErrorMessage(){return this.errorMessage&&t("p",{class:"pds-select__error-message",id:n(this.componentId,"error"),"aria-live":"assertive"},t("pds-icon",{"aria-hidden":"true",icon:c,size:"small"}),this.errorMessage)}renderMessages(){return this.helperMessage||this.errorMessage?t("div",{class:"pds-select__message"},this.getHelperMessage(),this.getErrorMessage()):null}isInvalid(){return!!this.invalid||!!this.errorMessage}classNames(){const e=[];return this.invalid&&e.push("is-invalid"),this.disabled&&e.push("is-disabled"),e.join(" ")}renderAction(){return null!==this.el.querySelector('[slot="action"]')?t("div",{class:"pds-select__action",part:"action"},t("slot",{name:"action"})):null}updateFormValue(){if(!l()&&this.internals&&this.internals.setFormValue){const e=this.value;if(Array.isArray(e))if(e.length>1){const s=new FormData;e.forEach((e=>s.append(this.name||"",e))),this.internals.setFormValue(s)}else this.internals.setFormValue(e[0]||null);else this.internals.setFormValue(e||null);this.selectEl&&this.internals&&this.internals.setValidity&&this.internals.setValidity(this.selectEl.validity,this.selectEl.validationMessage,this.selectEl)}}formResetCallback(){this.value="",this.updateFormValue()}formDisabledCallback(e){this.disabled=e}formStateRestoreCallback(e){if("string"==typeof e)this.value=e;else if(e instanceof FormData&&this.name){const s=e.getAll(this.name);s.length>1?this.value=s.filter((e=>"string"==typeof e)):1===s.length&&"string"==typeof s[0]&&(this.value=s[0])}}render(){const e=null!==this.el.querySelector('[slot="action"]');return t(r,{key:"c74f5e86a09bd3fe6e8048ca103ec9aa66a98fc6","aria-disabled":this.disabled?"true":null,class:this.classNames(),"has-action":e&&!this.hideLabel?"true":null},t("div",{key:"76de23d6b0d9e32fab48e09a8f6ee3211e196115",class:"pds-select"},!this.hideLabel&&t("div",{key:"1db87074447cbc819e6b06dd89135d018656a471",class:"pds-select__label-wrapper"},t("label",{key:"bc28c3b3361a19ee14a1b79edda736340009d87d",htmlFor:this.componentId},t("span",{key:"f0828e0e83c7c0d7cf50e08df4b861dad4df9eb9",class:this.hideLabel?"visually-hidden":""},this.label)),e&&this.renderAction()),t("select",{key:"d7d254887c976a95ad1f1da2ea540d6d3f986630","aria-describedby":d(this.componentId,this.isInvalid(),this.helperMessage,this.errorMessage),"aria-invalid":this.isInvalid()?"true":void 0,"aria-label":this.hideLabel?this.label:void 0,autocomplete:this.autocomplete||void 0,class:"pds-select__field",disabled:this.disabled,id:this.componentId,multiple:this.multiple,name:this.name,onBlur:this.onBlur,onChange:this.onSelectUpdate,onFocus:this.onFocus,onKeyDown:this.onKeyDown,part:"select",required:this.required,ref:e=>this.selectEl=e}),t("div",{key:"793a84d41bd5e18d64757238704a053b1135a83c","aria-hidden":"true",class:"hidden",ref:e=>this.slotContainer=e},t("slot",{key:"27ed9ff31bbf83fcbd2ed8dd2b23b97422b18d25",onSlotchange:this.handleSlotChange})),this.renderMessages(),!this.multiple&&t("pds-icon",{key:"43d415eab0fc8a3c02e19848a5622ea43f04256e","aria-hidden":"true",class:"pds-select__select-icon",icon:p})))}static get formAssociated(){return!0}get el(){return this}static get watchers(){return{value:[{valueChanged:0}],multiple:[{multipleChanged:0}]}}static get style(){return':host{--pine-select-color-background-danger:var(--pine-color-red-050)}: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)}:host{--pds-select-background:var(--pine-color-background-container);--pds-select-border:var(--pine-border);--pds-select-border-radius:var(--pine-dimension-125);--pds-select-border-radius-start-end:var(--pine-dimension-125);--pds-select-border-radius-start-start:var(--pine-dimension-125);--pds-select-border-radius-end-end:var(--pine-dimension-125);--pds-select-border-radius-end-start:var(--pine-dimension-125);--pds-select-min-height:36px;--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)}:host .hidden,:host :host([hidden]){display:none}.pds-select{color:var(--pine-color-text);display:grid;-ms-flex-direction:column;flex-direction:column;grid-template-areas:"label label" "field field" "message message";grid-template-columns:1fr minmax(2rem, -webkit-min-content);grid-template-columns:1fr minmax(2rem, min-content);grid-template-rows:-webkit-min-content -webkit-min-content -webkit-min-content;grid-template-rows:min-content min-content min-content;position:relative;width:100%}.pds-select__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-area:label;-ms-flex-pack:justify;justify-content:space-between;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__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)}label{-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__label-wrapper label{-webkit-margin-after:0;margin-block-end:0}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--pds-select-background);border:var(--pds-select-border);border-end-end-radius:var(--pds-select-border-radius-end-end, var(--pds-select-border-radius));border-end-start-radius:var(--pds-select-border-radius-end-start, var(--pds-select-border-radius));border-start-end-radius:var(--pds-select-border-radius-start-end, var(--pds-select-border-radius));border-start-start-radius:var(--pds-select-border-radius-start-start, var(--pds-select-border-radius));color:var(--pine-color-text);font:var(--pine-typography-body);grid-area:field;letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-select-min-height);padding:calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-150);-webkit-padding-end:var(--pine-dimension-450);padding-inline-end:var(--pine-dimension-450);position:relative}select:hover{border-color:var(--pine-color-border-hover);cursor:pointer}select:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}select:disabled{background-color:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}select:has(~.pds-select__message .pds-select__error-message){background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}:host-context([data-theme=dark]) select:has(~.pds-select__message .pds-select__error-message){background-color:var(--pine-color-red-950)}select:has(~.pds-select__message .pds-select__error-message):focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host(.is-disabled) .pds-select__select-icon{color:var(--pine-color-text-disabled)}:host(.is-invalid) select{background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}:host-context([data-theme=dark]) :host(.is-invalid) select{background-color:var(--pine-color-red-950)}:host(.is-invalid) select:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host([highlight]:not(.is-disabled):not(.is-invalid)) select{background-color:var(--pine-color-accent-disabled);border-color:var(--pine-color-accent);color:var(--pine-color-text-accent)}:host([highlight]:not(.is-disabled):not(.is-invalid)) select:hover:not(:disabled){border-color:var(--pine-color-accent-hover)}:host([highlight]:not(.is-disabled):not(.is-invalid)) select:focus-visible{outline-color:var(--pine-color-focus-ring)}:host([highlight]:not(.is-disabled):not(.is-invalid)) .pds-select__select-icon{color:var(--pine-color-text-accent)}.pds-select__error-message,.pds-select__helper-message{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm-medium);-webkit-margin-after:0;margin-block-end:0;-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-select__error-message{color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-select__error-message pds-icon{-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.pds-select__message{grid-area:message}.pds-select__select-icon{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-column:-1/-2;grid-row:2/3;height:var(--pds-select-min-height);pointer-events:none;position:relative;z-index:calc(var(--pine-z-index-raised) - 1)}.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}'}},[321,"pds-select",{autocomplete:[1],componentId:[1,"component-id"],disabled:[4],errorMessage:[1,"error-message"],hideLabel:[4,"hide-label"],helperMessage:[1,"helper-message"],invalid:[4],label:[1],multiple:[4],name:[1],required:[4],highlight:[516],value:[1025]},void 0,{value:[{valueChanged:0}],multiple:[{multipleChanged:0}]}]),m=b,g=function(){"undefined"!=typeof customElements&&["pds-select","pds-icon"].forEach((e=>{switch(e){case"pds-select":customElements.get(a(e))||customElements.define(a(e),b);break;case"pds-icon":customElements.get(a(e))||h()}}))};export{m as PdsSelect,g as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{proxyCustomElement as e,HTMLElement as s,h as t,Host as r,transformTag as
|
|
1
|
+
import{proxyCustomElement as e,HTMLElement as s,h as t,Host as r,transformTag as d}from"@stencil/core/internal/client";import{i as o}from"./index2.js";import{d as a}from"./pds-icon2.js";const i=e(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.enableActions=!1,this.showHandle=!1}componentDidRender(){Array.from(this.el.children).filter((e=>e.matches(".pds-sortable-item__handle"))).slice(1).forEach((e=>e.remove()));const e=Array.from(this.el.children).filter((e=>e.matches(".pds-sortable-item__actions"))),s=e[e.length-1];e.slice(0,-1).forEach((e=>{void 0!==s&&Array.from(e.children).forEach((e=>s.appendChild(e))),e.remove()}))}componentWillRender(){this.sortableRef=this.el.closest("pds-sortable"),this.sortableRef&&"handle"===this.sortableRef.handleType&&(this.showHandle=!0)}render(){return t(r,{key:"5533907ee217d31754ac19bf712bdb903e3b1614",class:"pds-sortable-item",id:this.componentId},this.showHandle&&t("div",{key:"37642112619986b21c16c243e8d140ae82c869da",class:"pds-sortable-item__handle"},t("pds-icon",{key:"71ec5188d7443c39ab00ba8b24ffbfbdfb3bd5b4","aria-hidden":"true",icon:o})),t("slot",{key:"4c5f80514336f40086a3b92d8c3d5ebb04115f4a"}),this.enableActions&&t("div",{key:"ca821be132fb88e0faa207817bb27db488475d96",class:"pds-sortable-item__actions"},t("slot",{key:"50fc7b02c86246cd60710996399c53b9f1f669c4",name:"sortable-item-actions"})))}get el(){return this}static get style(){return".pds-sortable-item.sc-pds-sortable-item-h{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;padding-block:var(--pine-dimension-xs);padding-inline:var(--pine-dimension-md)}.pds-sortable-item.sc-pds-sortable-item-h .pds-sortable-item__actions.sc-pds-sortable-item{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-padding-start:var(--pine-dimension-md);padding-inline-start:var(--pine-dimension-md)}.pds-sortable-item.sc-pds-sortable-item-h .pds-sortable-item__handle.sc-pds-sortable-item{line-height:1;-webkit-margin-end:var(--pine-dimension-md);margin-inline-end:var(--pine-dimension-md)}.pds-sortable--bordered .pds-sortable-item.sc-pds-sortable-item-h:first-child{border-start-end-radius:calc(var(--pine-dimension-xs) * 1.25);border-start-start-radius:calc(var(--pine-dimension-xs) * 1.25)}.pds-sortable--bordered .pds-sortable-item.sc-pds-sortable-item-h:last-child{border-end-end-radius:calc(var(--pine-dimension-xs) * 1.25);border-end-start-radius:calc(var(--pine-dimension-xs) * 1.25)}.pds-sortable--divided .pds-sortable-item.sc-pds-sortable-item-h{-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border)}.pds-sortable--divided .pds-sortable-item.sc-pds-sortable-item-h:last-child{-webkit-border-after:0;border-block-end:0}.pds-sortable--handle-type-row .pds-sortable-item.sc-pds-sortable-item-h{cursor:-webkit-grab;cursor:grab}.pds-sortable--handle-type-handle .pds-sortable-item.sc-pds-sortable-item-h .pds-sortable-item__handle.sc-pds-sortable-item{cursor:-webkit-grab;cursor:grab}.pds-sortable--disabled .pds-sortable-item.sc-pds-sortable-item-h{cursor:not-allowed;opacity:0.5}.pds-sortable--disabled .pds-sortable-item.sc-pds-sortable-item-h .pds-sortable-item__handle.sc-pds-sortable-item{cursor:not-allowed}.pds-sortable--disabled .pds-sortable-item.sc-pds-sortable-item-h:hover{background-color:transparent}.pds-sortable:not(.pds-sortable--disabled) .pds-sortable-item.sc-pds-sortable-item-h:hover{background-color:var(--pine-color-background-container-hover)}.pds-sortable:not(.pds-sortable--disabled) .pds-sortable-item.sc-pds-sortable-item-h:hover pds-icon.sc-pds-sortable-item{color:var(--pine-color-info)}.pds-sortable-item--drag.sc-pds-sortable-item-h{background-color:var(--pine-color-background-container);border-radius:0;-webkit-box-shadow:var(--pine-box-shadow-400);box-shadow:var(--pine-box-shadow-400);opacity:1}.pds-sortable-item--ghost.sc-pds-sortable-item-h{background-color:var(--pine-color-background-container-hover);border-radius:0}"}},[262,"pds-sortable-item",{enableActions:[4,"enable-actions"],componentId:[1,"component-id"],showHandle:[1028,"show-handle"]}]),n=i,b=function(){"undefined"!=typeof customElements&&["pds-sortable-item","pds-icon"].forEach((e=>{switch(e){case"pds-sortable-item":customElements.get(d(e))||customElements.define(d(e),i);break;case"pds-icon":customElements.get(d(e))||a()}}))};export{n as PdsSortableItem,b as defineCustomElement}
|