@ukho/admiralty-core 4.0.0-next.7 → 4.0.0-next.8
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/dist/admiralty/admiralty.esm.js +1 -1
- package/dist/admiralty/admiralty.esm.js.map +1 -1
- package/dist/admiralty/{p-0747bd00.entry.js → p-1e01bb1c.entry.js} +2 -2
- package/dist/admiralty/{p-0747bd00.entry.js.map → p-1e01bb1c.entry.js.map} +1 -1
- package/dist/admiralty/{p-e11fb21b.entry.js → p-6dde3d41.entry.js} +2 -2
- package/dist/admiralty/p-6dde3d41.entry.js.map +1 -0
- package/dist/admiralty/{p-f8e1cfce.entry.js → p-a0466b05.entry.js} +2 -2
- package/dist/admiralty/p-a0466b05.entry.js.map +1 -0
- package/dist/admiralty/p-f2f2c51d.entry.js +2 -0
- package/dist/admiralty/p-f2f2c51d.entry.js.map +1 -0
- package/dist/cjs/admiralty-autocomplete.cjs.entry.js +4 -3
- package/dist/cjs/admiralty-autocomplete.cjs.entry.js.map +1 -1
- package/dist/cjs/admiralty-input.cjs.entry.js +2 -2
- package/dist/cjs/admiralty-input.cjs.entry.js.map +1 -1
- package/dist/cjs/admiralty-progress-bar.cjs.entry.js +9 -3
- package/dist/cjs/admiralty-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/admiralty-tab-group.cjs.entry.js +17 -5
- package/dist/cjs/admiralty-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/admiralty.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -3
- package/dist/collection/components/autocomplete/autocomplete.js +5 -4
- package/dist/collection/components/autocomplete/autocomplete.js.map +1 -1
- package/dist/collection/components/input/input.js +2 -2
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/progress-bar/progress-bar.js +9 -3
- package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
- package/dist/components/admiralty-autocomplete.js +4 -3
- package/dist/components/admiralty-autocomplete.js.map +1 -1
- package/dist/components/admiralty-input.js +121 -1
- package/dist/components/admiralty-input.js.map +1 -1
- package/dist/components/admiralty-progress-bar.js +9 -3
- package/dist/components/admiralty-progress-bar.js.map +1 -1
- package/dist/components/admiralty-tab-group.js +13 -1
- package/dist/components/admiralty-tab-group.js.map +1 -1
- package/dist/esm/admiralty-autocomplete.entry.js +4 -3
- package/dist/esm/admiralty-autocomplete.entry.js.map +1 -1
- package/dist/esm/admiralty-input.entry.js +2 -2
- package/dist/esm/admiralty-input.entry.js.map +1 -1
- package/dist/esm/admiralty-progress-bar.entry.js +9 -3
- package/dist/esm/admiralty-progress-bar.entry.js.map +1 -1
- package/dist/esm/admiralty-tab-group.entry.js +13 -1
- package/dist/esm/admiralty-tab-group.entry.js.map +1 -1
- package/dist/esm/admiralty.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/autocomplete/autocomplete.d.ts +1 -1
- package/dist/types/components/progress-bar/progress-bar.d.ts +3 -1
- package/dist/types/components.d.ts +2 -94
- package/docs/docs.json +3 -218
- package/package.json +2 -2
- package/dist/admiralty/p-26ffce79.entry.js +0 -2
- package/dist/admiralty/p-26ffce79.entry.js.map +0 -1
- package/dist/admiralty/p-a4bd6904.js +0 -2
- package/dist/admiralty/p-a4bd6904.js.map +0 -1
- package/dist/admiralty/p-b7153ca1.entry.js +0 -2
- package/dist/admiralty/p-b7153ca1.entry.js.map +0 -1
- package/dist/admiralty/p-d701641c.entry.js +0 -2
- package/dist/admiralty/p-d701641c.entry.js.map +0 -1
- package/dist/admiralty/p-e11fb21b.entry.js.map +0 -1
- package/dist/admiralty/p-f8e1cfce.entry.js.map +0 -1
- package/dist/cjs/Keys-019752ee.js +0 -16
- package/dist/cjs/Keys-019752ee.js.map +0 -1
- package/dist/cjs/admiralty-type-ahead-item.cjs.entry.js +0 -23
- package/dist/cjs/admiralty-type-ahead-item.cjs.entry.js.map +0 -1
- package/dist/cjs/admiralty-type-ahead.cjs.entry.js +0 -204
- package/dist/cjs/admiralty-type-ahead.cjs.entry.js.map +0 -1
- package/dist/collection/components/type-ahead/type-ahead.css +0 -106
- package/dist/collection/components/type-ahead/type-ahead.js +0 -329
- package/dist/collection/components/type-ahead/type-ahead.js.map +0 -1
- package/dist/collection/components/type-ahead-item/type-ahead-item.css +0 -3
- package/dist/collection/components/type-ahead-item/type-ahead-item.js +0 -43
- package/dist/collection/components/type-ahead-item/type-ahead-item.js.map +0 -1
- package/dist/components/admiralty-type-ahead-item.d.ts +0 -11
- package/dist/components/admiralty-type-ahead-item.js +0 -38
- package/dist/components/admiralty-type-ahead-item.js.map +0 -1
- package/dist/components/admiralty-type-ahead.d.ts +0 -11
- package/dist/components/admiralty-type-ahead.js +0 -254
- package/dist/components/admiralty-type-ahead.js.map +0 -1
- package/dist/components/p-1a2059bb.js +0 -125
- package/dist/components/p-1a2059bb.js.map +0 -1
- package/dist/components/p-a4bd6904.js +0 -16
- package/dist/components/p-a4bd6904.js.map +0 -1
- package/dist/esm/Keys-acfce4b9.js +0 -16
- package/dist/esm/Keys-acfce4b9.js.map +0 -1
- package/dist/esm/admiralty-type-ahead-item.entry.js +0 -19
- package/dist/esm/admiralty-type-ahead-item.entry.js.map +0 -1
- package/dist/esm/admiralty-type-ahead.entry.js +0 -200
- package/dist/esm/admiralty-type-ahead.entry.js.map +0 -1
- package/dist/types/components/type-ahead/type-ahead.d.ts +0 -72
- package/dist/types/components/type-ahead-item/type-ahead-item.d.ts +0 -4
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,b as a}from"./p-71979ff5.js";export{s as setNonce}from"./p-71979ff5.js";import{g as i}from"./p-e1255160.js";var l=()=>{const a=import.meta.url;const i={};if(a!==""){i.resourcesUrl=new URL(".",a).href}return e(i)};l().then((async e=>{await i();return a([["p-
|
|
1
|
+
import{p as e,b as a}from"./p-71979ff5.js";export{s as setNonce}from"./p-71979ff5.js";import{g as i}from"./p-e1255160.js";var l=()=>{const a=import.meta.url;const i={};if(a!==""){i.resourcesUrl=new URL(".",a).href}return e(i)};l().then((async e=>{await i();return a([["p-6dde3d41",[[2,"admiralty-autocomplete",{autoselect:[4],cssNamespace:[1,"css-namespace"],displayMenu:[1,"display-menu"],minLength:[2,"min-length"],name:[1],placeholder:[1],confirmOnBlur:[4,"confirm-on-blur"],showNoOptionsFound:[4,"show-no-options-found"],showAllValues:[4,"show-all-values"],required:[4],assistiveHint:[1,"assistive-hint"],menuAttributes:[8,"menu-attributes"],inputClasses:[1,"input-classes"],menuClasses:[1,"menu-classes"],label:[1],hint:[1],invalid:[4],invalidMessage:[1,"invalid-message"],disabled:[4],value:[1025],focused:[32],hovered:[32],menuOpen:[32],options:[32],option:[32],query:[32],validChoiceMade:[32],selected:[32],ariaHint:[32]},null,{value:["onValueChange"],focused:["onFocusedChange"]}]]],["p-1e01bb1c",[[2,"admiralty-input",{name:[1],label:[1],hint:[1],disabled:[4],type:[1],placeholder:[1],width:[2],required:[4],invalid:[4],invalidMessage:[1,"invalid-message"],autocomplete:[1],value:[1032]},null,{value:["valueChanged"]}]]],["p-2dc3c122",[[6,"admiralty-select",{disabled:[4],invalid:[4],invalidMessage:[1,"invalid-message"],hint:[1],label:[1],width:[2],value:[1032]},null,{value:["valueChanged"]}]]],["p-f8e59c54",[[2,"admiralty-textarea",{label:[1],hint:[1],width:[2],disabled:[4],invalid:[4],invalidMessage:[1,"invalid-message"],value:[1032]},null,{value:["valueChanged"]}]]],["p-4b6b0163",[[6,"admiralty-radio-group",{name:[1],label:[1],hint:[1],disabled:[4],value:[1032],displayVertical:[4,"display-vertical"],invalid:[4],invalidMessage:[1,"invalid-message"]},null,{value:["valueChanged"],invalid:["invalidChanged"]}]]],["p-1ee163a0",[[6,"admiralty-colour-block",{width:[2],height:[2],heading:[1],colour:[1],href:[1],linkText:[1,"link-text"],suppressRedirect:[4,"suppress-redirect"],enableCardEvent:[4,"enable-card-event"],actionText:[1,"action-text"]}]]],["p-ee0d714b",[[6,"admiralty-error-summary",{heading:[1]}]]],["p-0d01b051",[[2,"admiralty-file-input",{label:[1],multiple:[4],invalid:[4],invalidMessage:[1,"invalid-message"],files:[32]}]]],["p-2d0123c2",[[6,"admiralty-filter",{filterTitle:[1,"filter-title"]}]]],["p-ae15e60d",[[6,"admiralty-filter-group",{groupTitle:[1,"group-title"]}]]],["p-d3ccf10f",[[2,"admiralty-paginator",{pages:[2],currentPage:[2,"current-page"],label:[1]}]]],["p-7580d6f4",[[6,"admiralty-breadcrumb",{active:[4],first:[4],href:[1]}]]],["p-f9a0ba9e",[[6,"admiralty-header",{headerTitle:[1,"header-title"],headerTitleUrl:[1,"header-title-url"],logoLinkUrl:[1,"logo-link-url"],logoImgUrl:[1,"logo-img-url"],logoAltText:[1,"logo-alt-text"],mobileMenuOpen:[32],displayHamburger:[32]}]]],["p-5cf15d73",[[2,"admiralty-pill",{text:[1],number:[1],label:[1],colour:[1],selected:[4]}]]],["p-a0466b05",[[2,"admiralty-progress-bar",{label:[1],progression:[2],error:[4],progressionValue:[32]},null,{progression:["progressionChanged"]}]]],["p-f9b7b9c4",[[6,"admiralty-read-more",{heading:[1],expanded:[32]}]]],["p-86def5ca",[[2,"admiralty-autocomplete-option",{value:[8]}]]],["p-f2bd7504",[[6,"admiralty-breadcrumbs"]]],["p-7491b43a",[[6,"admiralty-card",{heading:[1]}]]],["p-cc089471",[[2,"admiralty-checkbox",{checkboxRight:[4,"checkbox-right"],disabled:[4],name:[1],checked:[1540],value:[8],labelText:[1,"label-text"],labelHidden:[4,"label-hidden"]},null,{checked:["checkedChanged"]}]]],["p-304203b2",[[6,"admiralty-footer",{variant:[1],imageLink:[1,"image-link"],imageSrc:[1,"image-src"],imageAlt:[1,"image-alt"],text:[1],hasSlotContent:[32]},[[2,"slotchange","handleSlotChange"]]]]],["p-cd9ecb06",[[6,"admiralty-header-menu-item",{menuTitle:[1,"menu-title"],active:[4]}]]],["p-e9677a9c",[[6,"admiralty-header-menu-link",{menuTitle:[1,"menu-title"],active:[4],href:[1],suppressRedirect:[4,"suppress-redirect"]}]]],["p-6ab48ce9",[[2,"admiralty-header-profile",{isSignedIn:[4,"is-signed-in"],signedInText:[1,"signed-in-text"],signInOnly:[4,"sign-in-only"]}]]],["p-fd1fcc7b",[[6,"admiralty-header-sub-menu-item",{menuTitle:[1,"menu-title"],href:[1],suppressRedirect:[4,"suppress-redirect"]}]]],["p-63f82d75",[[2,"admiralty-hr"]]],["p-a9229ed5",[[6,"admiralty-link",{href:[1],newTab:[4,"new-tab"]}]]],["p-e056352f",[[6,"admiralty-modal-dialog",{heading:[1],label:[1],description:[1],show:[4]}]]],["p-d37fc718",[[4,"admiralty-paginator-wrapper",null,[[0,"pageChange","pageChangedHandler"]]]]],["p-972fd212",[[2,"admiralty-phase-banner",{phase:[1],link:[1]}]]],["p-9812a01a",[[6,"admiralty-radio",{name:[1],value:[1025],disabled:[4],checked:[1028],invalid:[4],buttonTabindex:[32],setButtonTabindex:[64]},null,{value:["valueChanged"]}]]],["p-2638a62a",[[6,"admiralty-side-nav",{label:[1]}]]],["p-fdfe8eea",[[2,"admiralty-side-nav-item",{sideNavItemId:[1,"side-nav-item-id"],headingTitle:[1,"heading-title"],navActive:[4,"nav-active"]}]]],["p-0d787491",[[4,"admiralty-side-nav-wrapper",null,[[0,"sideNavItemSelected","onSideNavItemSelected"]]]]],["p-38f0f379",[[2,"admiralty-skip-link",{href:[1]}]]],["p-bba95259",[[6,"admiralty-tab",{label:[1],tabLabelId:[1,"tab-label-id"],tabContentId:[1,"tab-content-id"]}]]],["p-f2f2c51d",[[6,"admiralty-tab-group",{selectedIndex:[1026,"selected-index"]}]]],["p-2c76b091",[[6,"admiralty-table",{caption:[1]}]]],["p-32d4bc23",[[6,"admiralty-table-body"]]],["p-1432feef",[[6,"admiralty-table-cell"]]],["p-7fe7c173",[[6,"admiralty-table-header"]]],["p-99a105e6",[[6,"admiralty-table-header-cell"]]],["p-9269a7c0",[[6,"admiralty-table-row"]]],["p-9f8541ad",[[1,"admiralty-icon",{iconName:[1,"icon-name"],iconPrefix:[1,"icon-prefix"]}]]],["p-6d123507",[[6,"admiralty-dialogue",{type:[1],heading:[1],sectionRole:[1,"section-role"]}]]],["p-1e574971",[[6,"admiralty-expansion",{heading:[1],expanded:[1540],alignHeadingRight:[4,"align-heading-right"],hideBorder:[4,"hide-border"]}]]],["p-a228de74",[[6,"admiralty-button",{variant:[1],icon:[1],disabled:[516],type:[1],form:[1],name:[1],value:[1]}]]],["p-438c6046",[[6,"admiralty-hint",{disabled:[4]}],[6,"admiralty-label",{disabled:[4],for:[1]}],[6,"admiralty-input-invalid"]]]],e)}));
|
|
2
2
|
//# sourceMappingURL=admiralty.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","async","options","globalScripts","bootstrapLazy","
|
|
1
|
+
{"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","async","options","globalScripts","bootstrapLazy","autoselect","cssNamespace","displayMenu","minLength","name","placeholder","confirmOnBlur","showNoOptionsFound","showAllValues","required","assistiveHint","menuAttributes","inputClasses","menuClasses","label","hint","invalid","invalidMessage","disabled","value","focused","hovered","menuOpen","option","query","validChoiceMade","selected","ariaHint","type","width","autocomplete","displayVertical","height","heading","colour","linkText","suppressRedirect","enableCardEvent","actionText","multiple","files","filterTitle","groupTitle","pages","currentPage","active","first","headerTitle","headerTitleUrl","logoLinkUrl","logoImgUrl","logoAltText","mobileMenuOpen","displayHamburger","text","number","progression","error","progressionValue","expanded","checkboxRight","checked","labelText","labelHidden","variant","imageLink","imageSrc","imageAlt","hasSlotContent","menuTitle","isSignedIn","signedInText","signInOnly","newTab","description","show","phase","link","buttonTabindex","setButtonTabindex","sideNavItemId","headingTitle","navActive","tabLabelId","tabContentId","selectedIndex","caption","iconName","iconPrefix","sectionRole","alignHeadingRight","hideBorder","icon","form","for"],"sources":["../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.21.0 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, doc, H, promiseResolve } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? Array.from(doc.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as i,h as a,g as n}from"./p-71979ff5.js";const
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as i,h as a,g as n}from"./p-71979ff5.js";const e=".visually-hidden.sc-admiralty-input:not(:focus):not(:active){position:absolute !important;width:1px !important;height:1px !important;margin:0 !important;padding:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;border:0 !important;white-space:nowrap !important}@media (max-width: 1023px){.desktop-only.sc-admiralty-input{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-input{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-input{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-input{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-input{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-input{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-input{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-input{display:none}}.text-input-container.sc-admiralty-input{display:flex;flex-direction:column}.text-input-container.sc-admiralty-input input.sc-admiralty-input{background-color:var(--admiralty-background-colour);border-color:var(--admiralty-text-colour);border-width:2px;border-style:solid;color:var(--admiralty-text-colour);font-size:var(--admiralty-input-font-size, var(--admiralty-font-size-0));line-height:24px;font-weight:var(--admiralty-input-font-weight, var(--admiralty-font-weight-normal));padding:12px}.text-input-container.sc-admiralty-input input.sc-admiralty-input:focus{outline-offset:unset;outline:3px solid var(--admiralty-focus-colour);box-shadow:var(--admiralty-text-colour) inset 0 0 0 2px}.text-input-container.sc-admiralty-input input.invalid.sc-admiralty-input{border-color:var(--admiralty-colour-danger)}.text-input-container.sc-admiralty-input input.invalid.sc-admiralty-input:focus-visible{border-color:unset;outline:3px solid var(--admiralty-focus-colour)}.text-input-container.sc-admiralty-input input.disabled.sc-admiralty-input{color:var(--admiralty-disabled-colour);border-color:var(--admiralty-disabled-colour);background:var(--admiralty-background-colour)}.text-input-container.sc-admiralty-input admiralty-input-invalid.sc-admiralty-input{margin-top:6px}";const s=e;const d=class{constructor(a){t(this,a);this.admiraltyInput=i(this,"admiraltyInput",7);this.admiraltyFocus=i(this,"admiraltyFocus",7);this.admiraltyBlur=i(this,"admiraltyBlur",7);this.internalId=++r;this.onInput=t=>{const i=t.target;if(i){this.value=i.value||""}};this.onBlur=t=>{this.admiraltyBlur.emit(t)};this.onFocus=t=>{this.admiraltyFocus.emit(t)};this.name=undefined;this.label=undefined;this.hint=undefined;this.disabled=false;this.type="text";this.placeholder=undefined;this.width=undefined;this.required=false;this.invalid=false;this.invalidMessage=undefined;this.autocomplete="off";this.value=""}valueChanged(){const t=this.nativeInput;const i=this.getValue();if(t&&t.value!==i){t.value=i}this.admiraltyInput.emit({value:this.value==null?this.getValue():this.value.toString()})}getValue(){return typeof this.value==="number"?this.value.toString():(this.value||"").toString()}render(){const t=this.getValue();const i=this.el.id!=""?this.el.id:`admiralty-input-${this.internalId}`;const n=`${i}-input`;const e=`${i}-hint`;const s=`${i}-error`;return a("div",{key:"8331b75bcdebf5e7881f3e89a6ff1afc07a2f247",class:"text-input-container"},this.label?a("admiralty-label",{disabled:this.disabled,for:n},this.label):null,this.hint?a("admiralty-hint",{id:e,disabled:this.disabled},this.hint):null,a("input",Object.assign({key:"8df3c8eb66e28ccc2ad478305fae9d0d02211ae0",ref:t=>this.nativeInput=t,class:{disabled:this.disabled,invalid:this.invalid},disabled:this.disabled,id:n,name:this.name,type:this.type,value:t,onInput:this.onInput,onFocus:this.onFocus,onBlur:this.onBlur,placeholder:this.placeholder,autoComplete:this.autocomplete,required:this.required,style:{maxWidth:this.width?`${this.width}px`:null},"aria-invalid":this.invalid?"true":"false"},this.hint?{"aria-describedby":e+(this.invalid?" "+s:"")}:this.invalid?{"aria-describedby":s}:null)),a("admiralty-input-invalid",{key:"fb88c4e6e41eea9496b8cdc6b206c9b3e8dad07a",id:s,style:Object.assign({},!(this.invalid&&this.invalidMessage)?{display:"none"}:{})},this.invalidMessage))}get el(){return n(this)}static get watchers(){return{value:["valueChanged"]}}};let r=0;d.style=s;export{d as admiralty_input};
|
|
2
|
+
//# sourceMappingURL=p-1e01bb1c.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["inputCss","AdmiraltyInputStyle0","InputComponent","this","internalId","nextId","onInput","ev","input","target","value","onBlur","admiraltyBlur","emit","onFocus","admiraltyFocus","valueChanged","nativeInput","getValue","admiraltyInput","toString","render","id","el","inputId","hintId","errorId","h","key","class","label","disabled","for","hint","ref","invalid","name","type","placeholder","autoComplete","autocomplete","required","style","maxWidth","width","
|
|
1
|
+
{"version":3,"names":["inputCss","AdmiraltyInputStyle0","InputComponent","this","internalId","nextId","onInput","ev","input","target","value","onBlur","admiraltyBlur","emit","onFocus","admiraltyFocus","valueChanged","nativeInput","getValue","admiraltyInput","toString","render","id","el","inputId","hintId","errorId","h","key","class","label","disabled","for","hint","Object","assign","ref","invalid","name","type","placeholder","autoComplete","autocomplete","required","style","maxWidth","width","invalidMessage","display"],"sources":["src/components/input/input.scss?tag=admiralty-input&encapsulation=scoped","src/components/input/input.tsx"],"sourcesContent":["@import 'inputs.vars';\n\n.text-input-container {\n display: flex;\n flex-direction: column;\n\n input {\n background-color: $input-background-colour;\n border-color: $input-border-colour;\n border-width: 2px;\n border-style: solid;\n color: $input-text-colour;\n font-size: $input-text-size;\n line-height: 24px;\n font-weight: $input-text-weight;\n\n padding: 12px;\n\n &:focus {\n outline-offset: unset;\n outline: 3px solid $input-focus-colour;\n box-shadow: $input-border-colour inset 0 0 0 2px;\n }\n\n &.invalid {\n border-color: $input-error-border-colour;\n\n &:focus-visible {\n border-color: unset;\n outline: 3px solid $input-focus-colour;\n }\n }\n\n &.disabled {\n color: $input-disabled-text-colour;\n border-color: $input-disabled-border-colour;\n background: $input-background-colour;\n }\n }\n\n admiralty-input-invalid {\n margin-top: 6px;\n }\n}\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Prop, Watch } from '@stencil/core';\nimport { InputChangeEventDetail } from './input.interface';\n\n/**\n * Once this component works, review whether a form field component should be created so\n * that shared properties such as `label`, `hint`, `disabled` etc. can be defined once.\n * Examples of similar components that can extend that base component are area, select\n * and checkbox.\n */\n\n@Component({\n tag: 'admiralty-input',\n styleUrl: 'input.scss',\n scoped: true,\n})\nexport class InputComponent implements ComponentInterface {\n private internalId = ++nextId;\n private nativeInput?: HTMLInputElement;\n\n @Element() el!: HTMLElement;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string;\n\n /**\n * The label which will be used above the input to describe the input.\n */\n @Prop() label: string;\n\n /**\n * The hint which will be used under the label to describe the input.\n */\n @Prop() hint: string;\n\n /**\n * This dictates whether the form field is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * The input type, options are: text; number; date; time; email; password; tel; url\n */\n @Prop() type: 'text' | 'number' | 'date' | 'time' | 'email' | 'password' | 'tel' | 'url' = 'text';\n\n /**\n * The placeholder text to show in the input\n */\n @Prop() placeholder: string;\n\n /**\n * The maximum width for the input field.\n */\n @Prop() width: number;\n\n /**\n * This dictates whether the input is required or not\n */\n @Prop() required: boolean = false;\n\n /**\n * Whether to show the input in an invalid state\n */\n @Prop() invalid: boolean = false;\n\n /**\n * The message to show when the input is invalid\n */\n @Prop() invalidMessage: string;\n\n /**\n * Indicates whether the value of the control can be automatically completed by the browser.\n */\n @Prop() autocomplete: string = 'off';\n\n /**\n * The value of the input.\n */\n @Prop({ mutable: true }) value?: string | number | null = '';\n\n /**\n * Emitted when the value has changed.\n */\n @Event() admiraltyInput: EventEmitter<InputChangeEventDetail>;\n\n /**\n * Emitted when the input gains focus.\n */\n @Event() admiraltyFocus: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() admiraltyBlur: EventEmitter<FocusEvent>;\n\n /**\n * Update the native input element when the value changes\n */\n\n @Watch('value')\n protected valueChanged() {\n const nativeInput = this.nativeInput;\n const value = this.getValue();\n if (nativeInput && nativeInput.value !== value) {\n nativeInput.value = value;\n }\n this.admiraltyInput.emit({ value: this.value == null ? this.getValue() : this.value.toString() });\n }\n\n private onInput = (ev: Event) => {\n const input = ev.target as HTMLInputElement | null;\n if (input) {\n this.value = input.value || '';\n }\n };\n\n private getValue(): string {\n return typeof this.value === 'number' ? this.value.toString() : (this.value || '').toString();\n }\n\n private onBlur = (ev: FocusEvent) => {\n this.admiraltyBlur.emit(ev);\n };\n\n private onFocus = (ev: FocusEvent) => {\n this.admiraltyFocus.emit(ev);\n };\n\n render() {\n const value = this.getValue();\n const id = this.el.id != '' ? this.el.id : `admiralty-input-${this.internalId}`;\n const inputId = `${id}-input`;\n const hintId = `${id}-hint`;\n const errorId = `${id}-error`;\n\n return (\n <div class=\"text-input-container\">\n {this.label ? (\n <admiralty-label disabled={this.disabled} for={inputId}>\n {this.label}\n </admiralty-label>\n ) : null}\n {this.hint ? (\n <admiralty-hint id={hintId} disabled={this.disabled}>\n {this.hint}\n </admiralty-hint>\n ) : null}\n <input\n ref={input => (this.nativeInput = input)}\n class={{ disabled: this.disabled, invalid: this.invalid }}\n disabled={this.disabled}\n id={inputId}\n name={this.name}\n type={this.type}\n value={value}\n onInput={this.onInput}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n placeholder={this.placeholder}\n autoComplete={this.autocomplete}\n required={this.required}\n style={{\n maxWidth: this.width ? `${this.width}px` : null,\n }}\n aria-invalid={this.invalid ? 'true' : 'false'}\n {...(this.hint ? {'aria-describedby':hintId + (this.invalid ? ' '+ errorId : '')} : this.invalid ? {'aria-describedby':errorId} : null)}\n />\n <admiralty-input-invalid id={errorId} style={{ ...(!(this.invalid && this.invalidMessage) ? { display: 'none' } : {}) }}>\n {this.invalidMessage}\n </admiralty-input-invalid>\n </div>\n );\n }\n}\n\nlet nextId = 0;\n"],"mappings":"yDAAA,MAAMA,EAAW,yuEACjB,MAAAC,EAAeD,E,MCcFE,EAAc,M,oKACjBC,KAAAC,aAAeC,EA8FfF,KAAAG,QAAWC,IACjB,MAAMC,EAAQD,EAAGE,OACjB,GAAID,EAAO,CACTL,KAAKO,MAAQF,EAAME,OAAS,E,GAQxBP,KAAAQ,OAAUJ,IAChBJ,KAAKS,cAAcC,KAAKN,EAAG,EAGrBJ,KAAAW,QAAWP,IACjBJ,KAAKY,eAAeF,KAAKN,EAAG,E,2EAvFX,M,UAKwE,O,8DAe/D,M,aAKD,M,gDAUI,M,WAK2B,E,CAsBhD,YAAAS,GACR,MAAMC,EAAcd,KAAKc,YACzB,MAAMP,EAAQP,KAAKe,WACnB,GAAID,GAAeA,EAAYP,QAAUA,EAAO,CAC9CO,EAAYP,MAAQA,C,CAEtBP,KAAKgB,eAAeN,KAAK,CAAEH,MAAOP,KAAKO,OAAS,KAAOP,KAAKe,WAAaf,KAAKO,MAAMU,Y,CAU9E,QAAAF,GACN,cAAcf,KAAKO,QAAU,SAAWP,KAAKO,MAAMU,YAAcjB,KAAKO,OAAS,IAAIU,U,CAWrF,MAAAC,GACE,MAAMX,EAAQP,KAAKe,WACnB,MAAMI,EAAKnB,KAAKoB,GAAGD,IAAM,GAAKnB,KAAKoB,GAAGD,GAAK,mBAAmBnB,KAAKC,aACnE,MAAMoB,EAAU,GAAGF,UACnB,MAAMG,EAAS,GAAGH,SAClB,MAAMI,EAAU,GAAGJ,UAEnB,OACEK,EAAA,OAAAC,IAAA,2CAAKC,MAAM,wBACR1B,KAAK2B,MACJH,EAAA,mBAAiBI,SAAU5B,KAAK4B,SAAUC,IAAKR,GAC5CrB,KAAK2B,OAEN,KACH3B,KAAK8B,KACJN,EAAA,kBAAgBL,GAAIG,EAAQM,SAAU5B,KAAK4B,UACxC5B,KAAK8B,MAEN,KACJN,EAAA,QAAAO,OAAAC,OAAA,CAAAP,IAAA,2CACEQ,IAAK5B,GAAUL,KAAKc,YAAcT,EAClCqB,MAAO,CAAEE,SAAU5B,KAAK4B,SAAUM,QAASlC,KAAKkC,SAChDN,SAAU5B,KAAK4B,SACfT,GAAIE,EACJc,KAAMnC,KAAKmC,KACXC,KAAMpC,KAAKoC,KACX7B,MAAOA,EACPJ,QAASH,KAAKG,QACdQ,QAASX,KAAKW,QACdH,OAAQR,KAAKQ,OACb6B,YAAarC,KAAKqC,YAClBC,aAActC,KAAKuC,aACnBC,SAAUxC,KAAKwC,SACfC,MAAO,CACLC,SAAU1C,KAAK2C,MAAQ,GAAG3C,KAAK2C,UAAY,MAC5C,eACa3C,KAAKkC,QAAU,OAAS,SACjClC,KAAK8B,KAAO,CAAC,mBAAmBR,GAAUtB,KAAKkC,QAAU,IAAKX,EAAU,KAAOvB,KAAKkC,QAAU,CAAC,mBAAmBX,GAAW,OAEpIC,EAAA,2BAAAC,IAAA,2CAAyBN,GAAII,EAASkB,MAAKV,OAAAC,OAAA,KAAUhC,KAAKkC,SAAWlC,KAAK4C,gBAAkB,CAAEC,QAAS,QAAW,KAC/G7C,KAAK4C,gB,gFAOhB,IAAI1C,EAAS,E","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as i,f as o,h as e,g as a}from"./p-71979ff5.js";const s=(t,i,o)=>{if(typeof MutationObserver==="undefined"){return}const e=new MutationObserver((t=>{o(l(t,i))}));e.observe(t,{childList:true,subtree:true});return e};const l=(t,i)=>{let o;t.forEach((t=>{for(let e=0;e<t.addedNodes.length;e++){o=n(t.addedNodes[e],i)||o}}));return o};const n=(t,i)=>{if(t.nodeType!==1){return undefined}const o=t;const e=o.tagName===i.toUpperCase()?[o]:Array.from(o.querySelectorAll(i));return e.find((t=>t.value===o.value))};const r=".visually-hidden.sc-admiralty-autocomplete:not(:focus):not(:active){position:absolute !important;width:1px !important;height:1px !important;margin:0 !important;padding:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;border:0 !important;white-space:nowrap !important}@media (max-width: 1023px){.desktop-only.sc-admiralty-autocomplete{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-autocomplete{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-autocomplete{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-autocomplete{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-autocomplete{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-autocomplete{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-autocomplete{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-autocomplete{display:none}}.autocomplete__wrapper.sc-admiralty-autocomplete{position:relative}.autocomplete__hint.sc-admiralty-autocomplete,.autocomplete__input.sc-admiralty-autocomplete{appearance:none;border:2px solid var(--admiralty-text-colour);border-radius:0;box-sizing:border-box;color:var(--admiralty-text-colour);margin-bottom:0;line-height:1.5;width:100%}.autocomplete__label.sc-admiralty-autocomplete{background-color:transparent;position:relative;font-size:var(--admiralty-autocomplete-label-font-size, var(--admiralty-font-size-0))}.autocomplete__input.sc-admiralty-autocomplete{background-color:transparent;position:relative}.autocomplete__hint.sc-admiralty-autocomplete{color:var(--admiralty-text-colour);position:absolute}.autocomplete__input-wrapper.sc-admiralty-autocomplete{position:relative}.autocomplete__input--default.sc-admiralty-autocomplete{padding:12px}.autocomplete__input--focused.sc-admiralty-autocomplete{outline:3px solid var(--admiralty-focus-colour);outline-offset:0;box-shadow:inset 0 0 0 2px var(--admiralty-text-colour)}.autocomplete__input--show-all-values.sc-admiralty-autocomplete{padding:12px 35px 12px 12px;cursor:pointer}.autocomplete__input--invalid.sc-admiralty-autocomplete{border-color:var(--admiralty-colour-danger)}.autocomplete__input--disabled.sc-admiralty-autocomplete{border-color:var(--admiralty-disabled-colour)}.autocomplete__menu.sc-admiralty-autocomplete{background-color:var(--admiralty-background-colour);border:2px solid var(--admiralty-text-colour);border-top:0;color:var(--admiralty-text-colour);margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible.sc-admiralty-autocomplete{display:block}.autocomplete__menu--hidden.sc-admiralty-autocomplete{display:none}.autocomplete__menu--overlay.sc-admiralty-autocomplete{box-shadow:rgba(0, 0, 0, 0.256863) 0px 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline.sc-admiralty-autocomplete{position:relative}.autocomplete__option.sc-admiralty-autocomplete{border-bottom:solid var(--admiralty-colour-light-shade);border-width:1px 0;color:var(--admiralty-text-colour);cursor:pointer;display:block;position:relative;margin-bottom:0}.autocomplete__option.sc-admiralty-autocomplete:before{content:none}.autocomplete__option.sc-admiralty-autocomplete>*.sc-admiralty-autocomplete{pointer-events:none}.autocomplete__option.sc-admiralty-autocomplete:first-of-type{border-top-width:0}.autocomplete__option.sc-admiralty-autocomplete:last-of-type{border-bottom-width:0}.autocomplete__option--focused.sc-admiralty-autocomplete,.autocomplete__option.sc-admiralty-autocomplete:hover{background-color:var(--admiralty-colour-info);border-color:var(--admiralty-colour-info);color:var(--admiralty-colour-info-contrast);outline:none}.autocomplete__option--no-results.sc-admiralty-autocomplete{background-color:var(--admiralty-background-colour);color:var(--admiralty-text-colour);text-align:center;margin-top:50px;margin-bottom:50px;cursor:not-allowed}.autocomplete__option--no-results.sc-admiralty-autocomplete:hover{background-color:var(--admiralty-background-colour);border-color:var(--admiralty-background-colour);color:var(--admiralty-text-colour);text-align:center;margin-top:50px;margin-bottom:50px;cursor:not-allowed}.autocomplete__hint.sc-admiralty-autocomplete,.autocomplete__input.sc-admiralty-autocomplete,.autocomplete__option.sc-admiralty-autocomplete{font-size:var(--admiralty-autocomplete-option-font-size, var(--admiralty-font-size-0));font-weight:var(--admiralty-autocomplete-option-font-weight, var(--admiralty-font-weight-normal))}.autocomplete__hint.sc-admiralty-autocomplete,.autocomplete__option.sc-admiralty-autocomplete{padding:10px}.autocomplete-down-icon.sc-admiralty-autocomplete{font-size:var(--admiralty-autocomplete-icon-font-size, var(--admiralty-font-size-2));font-weight:var(--admiralty-autocomplete-icon-font-weight, var(--admiralty-font-weight-normal));pointer-events:none;position:absolute;right:12px;top:14px}admiralty-icon.disabled.sc-admiralty-autocomplete{color:var(--admiralty-disabled-colour)}admiralty-input-invalid.sc-admiralty-autocomplete{margin-top:6px}";const c=r;const h={13:"enter",27:"escape",32:"space",38:"up",40:"down"};function d(){return typeof navigator!=="undefined"&&!!(navigator.userAgent.match(/(iPod|iPhone|iPad)/g)&&navigator.userAgent.match(/AppleWebKit/g))}function u(t){return t>47&&t<58||t===32||t===8||t>64&&t<91||t>95&&t<112||t>185&&t<193||t>218&&t<223}function p(t,i){return t.filter((({text:t})=>t.toLowerCase().indexOf(i.toLowerCase())!==-1))}function m(t,i){return t.filter((({value:t})=>t.toLowerCase().indexOf(i.toLowerCase())!==-1))}const y=class{constructor(o){t(this,o);this.admiraltyChange=i(this,"admiraltyChange",7);this.internalId=++f;this.elementReferences={};this.source=[];this.autoselect=false;this.cssNamespace="autocomplete";this.displayMenu="inline";this.minLength=0;this.name=undefined;this.placeholder="";this.confirmOnBlur=true;this.showNoOptionsFound=true;this.showAllValues=true;this.required=false;this.assistiveHint="When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures.";this.menuAttributes=undefined;this.inputClasses=undefined;this.menuClasses=undefined;this.label=null;this.hint=null;this.invalid=false;this.invalidMessage=null;this.disabled=false;this.value=null;this.focused=null;this.hovered=null;this.menuOpen=false;this.options=[];this.option=null;this.query=null;this.validChoiceMade=false;this.selected=null;this.ariaHint=true}onValueChange(t,i){var o,e;if(this.source.length===0){return}if(t&&t.length>0){const i=m(this.source,t);const o=i.length>0;this.options=i;this.validChoiceMade=o;this.option=i[0];this.query=o?i[0].text:"";this.menuOpen=false;this.ariaHint=false}else{this.options=[];this.option=null;this.query="";this.ariaHint=true}this.admiraltyChange.emit({value:(e=(o=this.option)===null||o===void 0?void 0:o.value)!==null&&e!==void 0?e:""})}onFocusedChange(t,i){var o;const e=this.focused===null;const a=i!==t;const s=a&&!e;if(s){(o=this.elementReferences[this.focused])===null||o===void 0?void 0:o.focus()}const l=this.focused===-1;const n=a&&i===null;const r=l&&n;if(r){const t=this.elementReferences[this.focused];t.setSelectionRange(0,t.value.length)}}isQueryAnOption(t,i){return i.map((({text:t})=>this.templateInputValue(t).toLowerCase())).indexOf(t.toLowerCase())!==-1}connectedCallback(){this.mutation=s(this.el,"admiralty-autocomplete-option",(async()=>{var t,i,e;this.source=this.childOpts.map((({textContent:t,value:i})=>({text:(t===null||t===void 0?void 0:t.length)>0?t:i,value:i!==null&&i!==void 0?i:t})));if(this.query===null&&((t=this.value)===null||t===void 0?void 0:t.length)>0){const t=m(this.source,this.value);this.options=t;this.option=t[0];this.query=(e=(i=t[0])===null||i===void 0?void 0:i.text)!==null&&e!==void 0?e:""}o(this)}))}disconnectedCallback(){clearTimeout(this.$pollInput)}pollInputElement(){this.getDirectInputChanges();this.$pollInput=setTimeout((()=>{this.pollInputElement()}),100)}getDirectInputChanges(){const t=this.elementReferences[-1];const i=t&&t.value!==this.query;if(i){this.handleInputChange({target:{value:t.value}})}}get childOpts(){return Array.from(this.el.querySelectorAll("admiralty-autocomplete-option"))}hasAutoselect(){return d()?false:this.autoselect}templateInputValue(t){return t}templateSuggestion(t){return t}handleComponentBlur(t){let i;if(this.confirmOnBlur){i=t.query||this.query;const o=p(this.source,i);const e=(i===null||i===void 0?void 0:i.length)>0&&o.length>0;const a=e?o[0]:{value:null,text:""};this.value=a.value}else{i=this.query}this.focused=null;this.menuOpen=t.menuOpen||false;this.selected=null;this.validChoiceMade=this.isQueryAnOption(i,this.options)}handleListMouseLeave(){this.hovered=null}handleOptionBlur(t,i){var o,e;const a=t.relatedTarget===null;const s=t.relatedTarget===this.elementReferences[-1];const l=this.focused!==i&&this.focused!==-1;const n=!l&&a||!(l||s);if(n){const t=this.menuOpen&&d();this.handleComponentBlur({menuOpen:t,query:this.templateInputValue((e=(o=this.options[this.selected])===null||o===void 0?void 0:o.text)!==null&&e!==void 0?e:"")})}}handleInputBlur(t){const i=this.focused!==-1;if(!i){const t=this.menuOpen&&d();this.handleComponentBlur({menuOpen:t,query:this.query})}}handleInputChange(t){const i=this.hasAutoselect();const o=t.target.value;const e=o.length===0;const a=this.query!==o;const s=o.length>=this.minLength;this.query=o;this.ariaHint=e;const l=this.showAllValues||!e&&a&&s;if(l){const t=p(this.source,this.query);const o=t.length>0;this.menuOpen=o;this.options=t;this.selected=i&&o?0:-1;this.validChoiceMade=false}else if(e||!s){this.menuOpen=false;this.options=[]}}handleInputClick(t){this.handleInputChange(t)}handleInputFocus(t){var i;const o=!this.validChoiceMade&&((i=this.query)===null||i===void 0?void 0:i.length)>=this.minLength&&this.options.length>0;if(o){this.focused=-1;this.menuOpen=o||this.menuOpen;this.selected=-1}else{this.focused=-1}}handleOptionFocus(t){this.focused=t;this.hovered=null;this.selected=t}handleOptionMouseEnter(t){if(!d()){this.hovered=t}}handleOptionClick(t,i){const e=this.options[i];this.value=e.value;this.focused=-1;this.hovered=null;this.menuOpen=false;this.selected=i;this.validChoiceMade=true;o(this)}handleOptionMouseDown(t){t.preventDefault()}handleUpArrow(t){t.preventDefault();const i=this.selected!==-1;const o=i&&this.menuOpen;if(o){this.handleOptionFocus(this.selected-1)}}handleDownArrow(t){t.preventDefault();if(this.showAllValues&&this.menuOpen===false){t.preventDefault();const i=p(this.source,"");this.menuOpen=true;this.options=i;this.selected=0;this.focused=0;this.hovered=null}else if(this.menuOpen===true){const t=this.selected!==this.options.length-1;const i=t&&this.menuOpen;if(i){this.handleOptionFocus(this.selected+1)}}}handleSpace(t){if(this.showAllValues&&this.menuOpen===false&&this.query===""){t.preventDefault();const i=p(this.source,"");this.menuOpen=true;this.options=i}const i=this.focused!==-1;if(i){t.preventDefault();this.handleOptionClick(t,this.focused)}}handleEnter(t){if(this.menuOpen){t.preventDefault();const i=this.selected>=0;if(i){this.handleOptionClick(t,this.selected)}}}handlePrintableKey(t){const i=this.elementReferences[-1];const o=t.target===i;if(!o){i.focus()}}handleKeyDown(t){switch(h[t.keyCode]){case"up":this.handleUpArrow(t);break;case"down":this.handleDownArrow(t);break;case"space":this.handleSpace(t);break;case"enter":this.handleEnter(t);break;case"escape":this.handleComponentBlur({query:this.query,menuOpen:this.menuOpen});break;default:if(u(t.keyCode)){this.handlePrintableKey(t)}break}}render(){var t,i,o,a,s,l;const n=this.el.id!=""?this.el.id:`admiralty-autocomplete-${this.internalId}`;const r=`${n}-input`;const c=`${n}-hint`;const h=`${n}-error`;const u=this.focused===-1;const p=this.options.length===0;const m=((t=this.query)===null||t===void 0?void 0:t.length)!==0;const y=((i=this.query)===null||i===void 0?void 0:i.length)>=this.minLength;const f=this.showNoOptionsFound&&u&&p&&m&&y;const v=`${this.cssNamespace}__wrapper`;const b=this.focused!==-1&&this.focused!==null;const _=`${this.cssNamespace}__option`;const x=n+"__assistiveHint";const g={"aria-describedby":`${this.hint?c:""} ${this.ariaHint?x:""} ${this.invalid?h:""}`,"aria-expanded":this.menuOpen?"true":"false","aria-activedescendant":b?`${n}__option--${this.focused}`:null,"aria-owns":`${n}__listbox`,"aria-autocomplete":this.hasAutoselect()?"both":"list"};const w=`${this.cssNamespace}__input`;const k=[w,this.showAllValues?`${w}--show-all-values`:`${w}--default`];const $=this.focused!==null;if($){k.push(`${w}--focused`)}if(this.inputClasses){k.push(this.inputClasses)}if(this.invalid&&this.invalidMessage){k.push(`${w}--invalid`)}if(this.disabled){k.push(`${w}--disabled`)}const C=`${this.cssNamespace}__menu`;const O=`${C}--${this.displayMenu}`;const z=this.menuOpen||f;const I=`${C}--${z?"visible":"hidden"}`;const M=[C,O,I];if(this.menuClasses){M.push(this.menuClasses)}if(((o=this.menuAttributes)===null||o===void 0?void 0:o.class)||((a=this.menuAttributes)===null||a===void 0?void 0:a.className)){M.push(((s=this.menuAttributes)===null||s===void 0?void 0:s.class)||((l=this.menuAttributes)===null||l===void 0?void 0:l.className))}const A=Object.assign(Object.assign({},this.menuAttributes),{id:`${n}__listbox`,role:"listbox",onMouseLeave:this.handleListMouseLeave});delete A.class;return e("div",{key:"6818e3ddb6f5477cf3706dd82a98db7c128abc9a",class:v,onKeyDown:t=>this.handleKeyDown(t)},this.label?e("admiralty-label",{class:"autocomplete__label",disabled:this.disabled,for:r},this.label):null,this.hint?e("admiralty-hint",{id:c,disabled:this.disabled},this.hint):null,e("div",{key:"018f9678f3459145421e71bd75a75a36ab94b387",class:"autocomplete__input-wrapper"},e("input",Object.assign({key:"1ace35b7b48bfb3237351c6fd3703523816145f9"},g,{disabled:this.disabled,"aria-disabled":this.disabled,autoComplete:"off",class:k.join(" "),id:r,onClick:t=>this.handleInputClick(t),onBlur:t=>this.handleInputBlur(t),onInput:t=>this.handleInputChange(t),onFocus:t=>this.handleInputFocus(t),name:this.name,placeholder:this.placeholder,ref:t=>{this.elementReferences[-1]=t},type:"text",role:"combobox",required:this.required,value:this.query})),e("admiralty-icon",{key:"769e552d0cc283a71283ec9da7d79858ed5ffd84",class:`autocomplete-down-icon ${this.disabled?"disabled":""}`,"icon-name":this.menuOpen||f?"angle-up":"angle-down"})),e("ul",Object.assign({key:"484786a08f3b18136076430a4d705b0dcf3b43f9"},A,{class:M.join(" ")}),this.options.map(((t,i)=>{const o=this.focused===-1?this.selected===i:this.focused===i;const a=o&&this.hovered===null?` ${_}--focused`:"";const s=d()?`<span id=${n}__option-suffix--${i} style="border:0;clip:rect(0 0 0 0);height:1px;`+"marginBottom:-1px;marginRight:-1px;overflow:hidden;padding:0;position:absolute;"+'whiteSpace:nowrap;width:1px">'+` ${i+1} of ${this.options.length}</span>`:"";return e("li",{"aria-selected":this.focused===i?"true":"false",class:`${_}${a}`,innerHTML:this.templateSuggestion(t.text)+s,id:`${n}__option--${i}`,key:i,onBlur:t=>this.handleOptionBlur(t,i),onClick:t=>this.handleOptionClick(t,i),onMouseDown:t=>this.handleOptionMouseDown(t),onMouseEnter:()=>this.handleOptionMouseEnter(i),ref:t=>{this.elementReferences[i]=t},role:"option",tabIndex:-1,"aria-posinset":i+1,"aria-setsize":this.options.length})})),f&&e("li",{key:"a6cc457692e2b07001c757a138a155a26ed2ca31",class:`${_} ${_}--no-results`},"No results found")),e("span",{key:"f94819c69c97d146082c4ec9c30afbb665150a65",id:x,style:{display:"none"}},this.assistiveHint),this.invalid&&this.invalidMessage&&e("admiralty-input-invalid",{key:"752011aaae6ca10d29313e6ee7503c7561447374",id:h,style:{visibility:this.invalid&&this.invalidMessage?"visible":"hidden"}},this.invalidMessage))}get el(){return a(this)}static get watchers(){return{value:["onValueChange"],focused:["onFocusedChange"]}}};let f=0;y.style=c;export{y as admiralty_autocomplete};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as i,f as o,h as e,g as a}from"./p-71979ff5.js";const s=(t,i,o)=>{if(typeof MutationObserver==="undefined"){return}const e=new MutationObserver((t=>{o(l(t,i))}));e.observe(t,{childList:true,subtree:true});return e};const l=(t,i)=>{let o;t.forEach((t=>{for(let e=0;e<t.addedNodes.length;e++){o=n(t.addedNodes[e],i)||o}}));return o};const n=(t,i)=>{if(t.nodeType!==1){return undefined}const o=t;const e=o.tagName===i.toUpperCase()?[o]:Array.from(o.querySelectorAll(i));return e.find((t=>t.value===o.value))};const r=".visually-hidden.sc-admiralty-autocomplete:not(:focus):not(:active){position:absolute !important;width:1px !important;height:1px !important;margin:0 !important;padding:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;border:0 !important;white-space:nowrap !important}@media (max-width: 1023px){.desktop-only.sc-admiralty-autocomplete{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-autocomplete{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-autocomplete{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-autocomplete{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-autocomplete{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-autocomplete{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-autocomplete{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-autocomplete{display:none}}.autocomplete__wrapper.sc-admiralty-autocomplete{position:relative}.autocomplete__hint.sc-admiralty-autocomplete,.autocomplete__input.sc-admiralty-autocomplete{appearance:none;border:2px solid var(--admiralty-text-colour);border-radius:0;box-sizing:border-box;color:var(--admiralty-text-colour);margin-bottom:0;line-height:1.5;width:100%}.autocomplete__label.sc-admiralty-autocomplete{background-color:transparent;position:relative;font-size:var(--admiralty-autocomplete-label-font-size, var(--admiralty-font-size-0))}.autocomplete__input.sc-admiralty-autocomplete{background-color:transparent;position:relative}.autocomplete__hint.sc-admiralty-autocomplete{color:var(--admiralty-text-colour);position:absolute}.autocomplete__input-wrapper.sc-admiralty-autocomplete{position:relative}.autocomplete__input--default.sc-admiralty-autocomplete{padding:12px}.autocomplete__input--focused.sc-admiralty-autocomplete{outline:3px solid var(--admiralty-focus-colour);outline-offset:0;box-shadow:inset 0 0 0 2px var(--admiralty-text-colour)}.autocomplete__input--show-all-values.sc-admiralty-autocomplete{padding:12px 35px 12px 12px;cursor:pointer}.autocomplete__input--invalid.sc-admiralty-autocomplete{border-color:var(--admiralty-colour-danger)}.autocomplete__input--disabled.sc-admiralty-autocomplete{border-color:var(--admiralty-disabled-colour)}.autocomplete__menu.sc-admiralty-autocomplete{background-color:var(--admiralty-background-colour);border:2px solid var(--admiralty-text-colour);border-top:0;color:var(--admiralty-text-colour);margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible.sc-admiralty-autocomplete{display:block}.autocomplete__menu--hidden.sc-admiralty-autocomplete{display:none}.autocomplete__menu--overlay.sc-admiralty-autocomplete{box-shadow:rgba(0, 0, 0, 0.256863) 0px 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline.sc-admiralty-autocomplete{position:relative}.autocomplete__option.sc-admiralty-autocomplete{border-bottom:solid var(--admiralty-colour-light-shade);border-width:1px 0;color:var(--admiralty-text-colour);cursor:pointer;display:block;position:relative;margin-bottom:0}.autocomplete__option.sc-admiralty-autocomplete:before{content:none}.autocomplete__option.sc-admiralty-autocomplete>*.sc-admiralty-autocomplete{pointer-events:none}.autocomplete__option.sc-admiralty-autocomplete:first-of-type{border-top-width:0}.autocomplete__option.sc-admiralty-autocomplete:last-of-type{border-bottom-width:0}.autocomplete__option--focused.sc-admiralty-autocomplete,.autocomplete__option.sc-admiralty-autocomplete:hover{background-color:var(--admiralty-colour-info);border-color:var(--admiralty-colour-info);color:var(--admiralty-colour-info-contrast);outline:none}.autocomplete__option--no-results.sc-admiralty-autocomplete{background-color:var(--admiralty-background-colour);color:var(--admiralty-text-colour);text-align:center;margin-top:50px;margin-bottom:50px;cursor:not-allowed}.autocomplete__option--no-results.sc-admiralty-autocomplete:hover{background-color:var(--admiralty-background-colour);border-color:var(--admiralty-background-colour);color:var(--admiralty-text-colour);text-align:center;margin-top:50px;margin-bottom:50px;cursor:not-allowed}.autocomplete__hint.sc-admiralty-autocomplete,.autocomplete__input.sc-admiralty-autocomplete,.autocomplete__option.sc-admiralty-autocomplete{font-size:var(--admiralty-autocomplete-option-font-size, var(--admiralty-font-size-0));font-weight:var(--admiralty-autocomplete-option-font-weight, var(--admiralty-font-weight-normal))}.autocomplete__hint.sc-admiralty-autocomplete,.autocomplete__option.sc-admiralty-autocomplete{padding:10px}.autocomplete-down-icon.sc-admiralty-autocomplete{font-size:var(--admiralty-autocomplete-icon-font-size, var(--admiralty-font-size-2));font-weight:var(--admiralty-autocomplete-icon-font-weight, var(--admiralty-font-weight-normal));pointer-events:none;position:absolute;right:12px;top:14px}admiralty-icon.disabled.sc-admiralty-autocomplete{color:var(--admiralty-disabled-colour)}admiralty-input-invalid.sc-admiralty-autocomplete{margin-top:6px}";const c=r;const h={13:"enter",27:"escape",32:"space",38:"up",40:"down"};function d(){return typeof navigator!=="undefined"&&!!(navigator.userAgent.match(/(iPod|iPhone|iPad)/g)&&navigator.userAgent.match(/AppleWebKit/g))}function u(t){return t>47&&t<58||t===32||t===8||t>64&&t<91||t>95&&t<112||t>185&&t<193||t>218&&t<223}function p(t,i){return t.filter((({text:t})=>t.toLowerCase().indexOf(i.toLowerCase())!==-1))}function m(t,i){return t.filter((({value:t})=>t.toLowerCase().indexOf(i.toLowerCase())!==-1))}const y=class{constructor(o){t(this,o);this.admiraltyChange=i(this,"admiraltyChange",7);this.internalId=++f;this.elementReferences={};this.source=[];this.autoselect=false;this.cssNamespace="autocomplete";this.displayMenu="inline";this.minLength=0;this.name=undefined;this.placeholder="";this.confirmOnBlur=true;this.showNoOptionsFound=true;this.showAllValues=true;this.required=false;this.assistiveHint="When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures.";this.menuAttributes=undefined;this.inputClasses=undefined;this.menuClasses=undefined;this.label=null;this.hint=null;this.invalid=false;this.invalidMessage=null;this.disabled=false;this.value=null;this.focused=null;this.hovered=null;this.menuOpen=false;this.options=[];this.option=null;this.query=null;this.validChoiceMade=false;this.selected=null;this.ariaHint=true}onValueChange(t,i){var o,e;if(this.source.length===0){return}if(t&&t.length>0){const i=m(this.source,t);const o=i.length>0;this.options=i;this.validChoiceMade=o;this.option=i[0];this.query=o?i[0].text:"";this.menuOpen=false;this.ariaHint=false}else{this.options=[];this.option=null;this.query="";this.ariaHint=true}this.admiraltyChange.emit({value:(e=(o=this.option)===null||o===void 0?void 0:o.value)!==null&&e!==void 0?e:""})}onFocusedChange(t,i){var o;const e=this.focused===null;const a=i!==t;const s=a&&!e;if(s){(o=this.elementReferences[this.focused])===null||o===void 0?void 0:o.focus()}const l=this.focused===-1;const n=a&&i===null;const r=l&&n;if(r){const t=this.elementReferences[this.focused];t.setSelectionRange(0,t.value.length)}}isQueryAnOption(t,i){return i.map((({text:t})=>this.templateInputValue(t).toLowerCase())).indexOf(t.toLowerCase())!==-1}connectedCallback(){this.mutation=s(this.el,"admiralty-autocomplete-option",(async()=>{var t,i,e;this.source=this.childOpts.map((({textContent:t,value:i})=>({text:(t===null||t===void 0?void 0:t.length)>0?t:i,value:i!==null&&i!==void 0?i:t})));if(this.query===null&&((t=this.value)===null||t===void 0?void 0:t.length)>0){const t=m(this.source,this.value);this.options=t;this.option=t[0];this.query=(e=(i=t[0])===null||i===void 0?void 0:i.text)!==null&&e!==void 0?e:""}o(this)}))}disconnectedCallback(){clearTimeout(this.$pollInput)}pollInputElement(){this.getDirectInputChanges();this.$pollInput=setTimeout((()=>{this.pollInputElement()}),100)}getDirectInputChanges(){const t=this.elementReferences[-1];const i=t&&t.value!==this.query;if(i){this.handleInputChange({target:{value:t.value}})}}get childOpts(){return Array.from(this.el.querySelectorAll("admiralty-autocomplete-option"))}hasAutoselect(){return d()?false:this.autoselect}templateInputValue(t){return t}templateSuggestion(t){return t}handleComponentBlur(t){let i;if(this.confirmOnBlur){i=t.query||this.query;const o=p(this.source,i);const e=(i===null||i===void 0?void 0:i.length)>0&&o.length>0;const a=e?o[0]:{value:null,text:""};this.value=a.value}else{i=this.query}this.focused=null;this.menuOpen=t.menuOpen||false;this.selected=null;this.validChoiceMade=this.isQueryAnOption(i,this.options)}handleListMouseLeave(){this.hovered=null}handleOptionBlur(t,i){var o,e;const a=t.relatedTarget===null;const s=t.relatedTarget===this.elementReferences[-1];const l=this.focused!==i&&this.focused!==-1;const n=!l&&a||!(l||s);if(n){const t=this.menuOpen&&d();this.handleComponentBlur({menuOpen:t,query:this.templateInputValue((e=(o=this.options[this.selected])===null||o===void 0?void 0:o.text)!==null&&e!==void 0?e:"")})}}handleInputBlur(t){const i=this.focused!==-1;if(!i){const t=this.menuOpen&&d();this.handleComponentBlur({menuOpen:t,query:this.query})}}handleInputChange(t){const i=this.hasAutoselect();const o=t.target.value;const e=o.length===0;const a=this.query!==o;const s=o.length>=this.minLength;this.query=o;this.ariaHint=e;const l=this.showAllValues||!e&&a&&s;if(l){const t=p(this.source,this.query);const o=t.length>0;this.menuOpen=o;this.options=t;this.selected=i&&o?0:-1;this.validChoiceMade=false}else if(e||!s){this.menuOpen=false;this.options=[]}}handleInputClick(t){this.handleInputChange(t)}handleInputFocus(t){var i;const o=!this.validChoiceMade&&((i=this.query)===null||i===void 0?void 0:i.length)>=this.minLength&&this.options.length>0;if(o){this.focused=-1;this.menuOpen=o||this.menuOpen;this.selected=-1}else{this.focused=-1}}handleOptionFocus(t){this.focused=t;this.hovered=null;this.selected=t}handleOptionMouseEnter(t){if(!d()){this.hovered=t}}handleOptionClick(t,i){const e=this.options[i];this.value=e.value;this.focused=-1;this.hovered=null;this.menuOpen=false;this.selected=i;this.validChoiceMade=true;o(this)}handleOptionMouseDown(t){t.preventDefault()}handleUpArrow(t){t.preventDefault();const i=this.selected!==-1;const o=i&&this.menuOpen;if(o){this.handleOptionFocus(this.selected-1)}}handleDownArrow(t){t.preventDefault();if(this.showAllValues&&this.menuOpen===false){t.preventDefault();const i=p(this.source,"");this.menuOpen=true;this.options=i;this.selected=0;this.focused=0;this.hovered=null}else if(this.menuOpen===true){const t=this.selected!==this.options.length-1;const i=t&&this.menuOpen;if(i){this.handleOptionFocus(this.selected+1)}}}handleSpace(t){if(this.showAllValues&&this.menuOpen===false&&this.query===""){t.preventDefault();const i=p(this.source,"");this.menuOpen=true;this.options=i}const i=this.focused!==-1;if(i){t.preventDefault();this.handleOptionClick(t,this.focused)}}handleEnter(t){if(this.menuOpen){t.preventDefault();const i=this.selected>=0;if(i){this.handleOptionClick(t,this.selected)}}}handlePrintableKey(t){const i=this.elementReferences[-1];const o=t.target===i;if(!o){i.focus()}}handleKeyDown(t){switch(h[t.keyCode]){case"up":this.handleUpArrow(t);break;case"down":this.handleDownArrow(t);break;case"space":this.handleSpace(t);break;case"enter":this.handleEnter(t);break;case"escape":this.handleComponentBlur({query:this.query,menuOpen:this.menuOpen});break;default:if(u(t.keyCode)){this.handlePrintableKey(t)}break}}render(){var t,i,o,a,s,l;const n=this.el.id!=""?this.el.id:`admiralty-autocomplete-${this.internalId}`;const r=`${n}-input`;const c=`${n}-hint`;const h=`${n}-error`;const u=this.focused===-1;const p=this.options.length===0;const m=((t=this.query)===null||t===void 0?void 0:t.length)!==0;const y=((i=this.query)===null||i===void 0?void 0:i.length)>=this.minLength;const f=this.showNoOptionsFound&&u&&p&&m&&y;const b=`${this.cssNamespace}__wrapper`;const v=this.focused!==-1&&this.focused!==null;const _=`${this.cssNamespace}__option`;const x=n+"__assistiveHint";const g={"aria-describedby":`${this.hint?c:""} ${this.ariaHint?x:""} ${this.invalid?h:""}`,"aria-expanded":this.menuOpen?"true":"false","aria-activedescendant":v?`${n}__option--${this.focused}`:null,"aria-owns":`${n}__listbox`,"aria-autocomplete":this.hasAutoselect()?"both":"list"};const w=`${this.cssNamespace}__input`;const k=[w,this.showAllValues?`${w}--show-all-values`:`${w}--default`];const $=this.focused!==null;if($){k.push(`${w}--focused`)}if(this.inputClasses){k.push(this.inputClasses)}if(this.invalid&&this.invalidMessage){k.push(`${w}--invalid`)}if(this.disabled){k.push(`${w}--disabled`)}const C=`${this.cssNamespace}__menu`;const O=`${C}--${this.displayMenu}`;const z=this.menuOpen||f;const I=`${C}--${z?"visible":"hidden"}`;const M=[C,O,I];if(this.menuClasses){M.push(this.menuClasses)}if(((o=this.menuAttributes)===null||o===void 0?void 0:o.class)||((a=this.menuAttributes)===null||a===void 0?void 0:a.className)){M.push(((s=this.menuAttributes)===null||s===void 0?void 0:s.class)||((l=this.menuAttributes)===null||l===void 0?void 0:l.className))}const A=Object.assign(Object.assign({},this.menuAttributes),{id:`${n}__listbox`,role:"listbox",onMouseLeave:this.handleListMouseLeave});delete A.class;return e("div",{key:"9cb9e0e2dad7646540004b2d36870c31b116f035",class:b,onKeyDown:t=>this.handleKeyDown(t)},this.label?e("admiralty-label",{class:"autocomplete__label",disabled:this.disabled,for:r},this.label):null,this.hint?e("admiralty-hint",{id:c,disabled:this.disabled},this.hint):null,e("div",{key:"93189d20cea5100ed4bc408824735569ea9d5e26",class:"autocomplete__input-wrapper"},e("input",Object.assign({key:"74770128149f77d1a4c17be5389188e29e34df1e"},g,{disabled:this.disabled,"aria-disabled":this.disabled,autoComplete:"off",class:k.join(" "),id:r,onClick:t=>this.handleInputClick(t),onBlur:t=>this.handleInputBlur(t),onInput:t=>this.handleInputChange(t),onFocus:t=>this.handleInputFocus(t),name:this.name,placeholder:this.placeholder,ref:t=>{this.elementReferences[-1]=t},type:"text",role:"combobox",required:this.required,value:this.query})),this.showAllValues&&e("admiralty-icon",{key:"98032793bfdc0fb9ca7c90be9352e234de7d72bb",class:`autocomplete-down-icon ${this.disabled?"disabled":""}`,"icon-name":this.menuOpen||f?"angle-up":"angle-down"})),e("ul",Object.assign({key:"4b0ba76ad0eefa89c67b85bb8bb574133696e574"},A,{class:M.join(" ")}),this.options.map(((t,i)=>{const o=this.focused===-1?this.selected===i:this.focused===i;const a=o&&this.hovered===null?` ${_}--focused`:"";const s=d()?`<span id=${n}__option-suffix--${i} style="border:0;clip:rect(0 0 0 0);height:1px;`+"marginBottom:-1px;marginRight:-1px;overflow:hidden;padding:0;position:absolute;"+'whiteSpace:nowrap;width:1px">'+` ${i+1} of ${this.options.length}</span>`:"";return e("li",{"aria-selected":this.focused===i?"true":"false",class:`${_}${a}`,innerHTML:this.templateSuggestion(t.text)+s,id:`${n}__option--${i}`,key:i,onBlur:t=>this.handleOptionBlur(t,i),onClick:t=>this.handleOptionClick(t,i),onMouseDown:t=>this.handleOptionMouseDown(t),onMouseEnter:()=>this.handleOptionMouseEnter(i),ref:t=>{this.elementReferences[i]=t},role:"option",tabIndex:-1,"aria-posinset":i+1,"aria-setsize":this.options.length})})),f&&e("li",{key:"aef863d0e03270176d2967cc4f98ee813063debc",class:`${_} ${_}--no-results`},"No results found")),e("span",{key:"bf9764e00280f22c3f0901e7e9276e7a9c1d5eae",id:x,style:{display:"none"}},this.assistiveHint),this.invalid&&this.invalidMessage&&e("admiralty-input-invalid",{key:"6be96502d68013e546a9e33d0ccdede7462fbb19",id:h,style:{visibility:this.invalid&&this.invalidMessage?"visible":"hidden"}},this.invalidMessage))}get el(){return a(this)}static get watchers(){return{value:["onValueChange"],focused:["onFocusedChange"]}}};let f=0;y.style=c;export{y as admiralty_autocomplete};
|
|
2
|
+
//# sourceMappingURL=p-6dde3d41.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["watchForOptions","containerEl","tagName","onChange","MutationObserver","mutation","mutationList","getSelectedOption","observe","childList","subtree","newOption","forEach","mut","i","addedNodes","length","findCheckedOption","node","nodeType","undefined","el","options","toUpperCase","Array","from","querySelectorAll","find","o","value","autocompleteCss","AdmiraltyAutocompleteStyle0","keyCodes","isIosDevice","navigator","userAgent","match","isPrintableKeyCode","keyCode","filterOptions","searchTerm","filter","text","toLowerCase","indexOf","filterOptionsByValue","AutocompleteComponent","this","internalId","nextId","elementReferences","source","onValueChange","newVal","_","matches","matchFound","validChoiceMade","option","query","menuOpen","ariaHint","admiraltyChange","emit","_b","_a","onFocusedChange","oldVal","componentLostFocus","focused","focusedChanged","focusDifferentElement","focus","focusedInput","componentGainedFocus","selectAllText","inputElement","setSelectionRange","isQueryAnOption","map","templateInputValue","connectedCallback","async","childOpts","textContent","_c","forceUpdate","disconnectedCallback","clearTimeout","$pollInput","pollInputElement","getDirectInputChanges","setTimeout","inputReference","queryHasChanged","handleInputChange","target","hasAutoselect","autoselect","templateSuggestion","handleComponentBlur","newState","newQuery","confirmOnBlur","selected","handleListMouseLeave","hovered","handleOptionBlur","event","index","focusingOutsideComponent","relatedTarget","focusingInput","focusingAnotherOption","blurComponent","keepMenuOpen","handleInputBlur","focusingAnOption","queryEmpty","queryChanged","queryLongEnough","minLength","searchForOptions","showAllValues","optionsAvailable","handleInputClick","handleInputFocus","shouldReopenMenu","handleOptionFocus","handleOptionMouseEnter","handleOptionClick","selectedOption","handleOptionMouseDown","preventDefault","handleUpArrow","isNotAtTop","allowMoveUp","handleDownArrow","isNotAtBottom","allowMoveDown","handleSpace","focusIsOnOption","handleEnter","hasSelectedOption","handlePrintableKey","eventIsOnInput","handleKeyDown","render","id","inputId","hintId","errorId","inputFocused","noOptionsAvailable","queryNotEmpty","showNoOptionsFound","wrapperClassName","cssNamespace","optionFocused","optionClassName","assistiveHintID","ariaProps","hint","invalid","inputClassName","inputClassList","componentIsFocused","push","inputClasses","invalidMessage","disabled","menuClassName","menuModifierDisplayMenu","displayMenu","menuIsVisible","menuModifierVisibility","menuClassList","menuClasses","menuAttributes","class","_d","className","_e","_f","computedMenuAttributes","Object","assign","role","onMouseLeave","h","key","onKeyDown","label","for","autoComplete","join","onClick","onBlur","onInput","onFocus","name","placeholder","ref","type","required","showFocused","optionModifierFocused","iosPosinsetHtml","innerHTML","onMouseDown","onMouseEnter","optionEl","tabIndex","style","display","assistiveHint","visibility"],"sources":["src/components/autocomplete/optionsWatcher.ts","src/components/autocomplete/autocomplete.scss?tag=admiralty-autocomplete&encapsulation=scoped","src/components/autocomplete/autocomplete.tsx"],"sourcesContent":["export const watchForOptions = <T extends HTMLElement>(containerEl: HTMLElement, tagName: string, onChange: (el: T | undefined) => void) => {\n if (typeof MutationObserver === 'undefined') {\n return;\n }\n\n const mutation = new MutationObserver(mutationList => {\n onChange(getSelectedOption<T>(mutationList, tagName));\n });\n mutation.observe(containerEl, {\n childList: true,\n subtree: true,\n });\n return mutation;\n};\n\nconst getSelectedOption = <T extends HTMLElement>(mutationList: MutationRecord[], tagName: string): T | undefined => {\n let newOption: T | undefined;\n mutationList.forEach(mut => {\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < mut.addedNodes.length; i++) {\n newOption = findCheckedOption<T>(mut.addedNodes[i], tagName) || newOption;\n }\n });\n return newOption;\n};\n\n/**\n * The \"value\" key is only set on some components such as ion-select-option.\n * As a result, we create a default union type of HTMLElement and the \"value\" key.\n * However, implementers are required to provide the appropriate component type\n * such as HTMLIonSelectOptionElement.\n */\nexport const findCheckedOption = <T extends HTMLElement & { value?: any | null }>(node: Node, tagName: string) => {\n /**\n * https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n * The above check ensures \"node\" is an Element (nodeType 1).\n */\n if (node.nodeType !== 1) {\n return undefined;\n }\n\n // HTMLElement inherits from Element, so we cast \"el\" as T.\n const el = node as T;\n\n const options: T[] = el.tagName === tagName.toUpperCase() ? [el] : Array.from(el.querySelectorAll(tagName));\n\n return options.find((o: T) => o.value === el.value);\n};\n","@import './autocomplete.vars';\n\n.autocomplete__wrapper {\n position: relative;\n}\n\n.autocomplete__hint,\n.autocomplete__input {\n appearance: none;\n border: 2px solid $autocomplete-input-border-colour;\n border-radius: 0; /* Safari 10 on iOS adds implicit border rounding. */\n box-sizing: border-box;\n color: $autocomplete-text-colour;\n margin-bottom: 0; /* BUG: Safari 10 on macOS seems to add an implicit margin. */\n line-height: 1.5;\n width: 100%;\n}\n\n.autocomplete__label {\n background-color: transparent;\n position: relative;\n font-size: $autocomplete-label-font-size;\n}\n\n.autocomplete__input {\n background-color: transparent;\n position: relative;\n}\n\n.autocomplete__hint {\n color: $autocomplete-text-colour;\n position: absolute;\n}\n\n.autocomplete__input-wrapper {\n position: relative;\n}\n\n.autocomplete__input--default {\n padding: 12px;\n}\n\n.autocomplete__input--focused {\n outline: 3px solid $autocomplete-focus-colour;\n outline-offset: 0;\n box-shadow: inset 0 0 0 2px $autocomplete-text-colour;\n}\n\n.autocomplete__input--show-all-values {\n padding: 12px 35px 12px 12px; /* Space for arrow. Other padding should match .autocomplete__input--default. */\n cursor: pointer;\n}\n\n.autocomplete__input--invalid {\n border-color: $autocomplete-error-border-colour;\n}\n\n.autocomplete__input--disabled {\n border-color: $autocomplete-disabled-border-colour;\n}\n\n.autocomplete__menu {\n background-color: $autocomplete-background-colour;\n border: 2px solid $autocomplete-input-border-colour;\n border-top: 0;\n color: $autocomplete-text-colour;\n margin: 0;\n max-height: 342px;\n overflow-x: hidden;\n padding: 0;\n width: 100%;\n width: calc(100% - 4px);\n}\n\n.autocomplete__menu--visible {\n display: block;\n}\n\n.autocomplete__menu--hidden {\n display: none;\n}\n\n.autocomplete__menu--overlay {\n box-shadow: rgba(0, 0, 0, 0.256863) 0px 2px 6px;\n left: 0;\n position: absolute;\n top: 100%;\n z-index: 100;\n}\n\n.autocomplete__menu--inline {\n position: relative;\n}\n\n.autocomplete__option {\n border-bottom: solid $autocomplete-option-border-colour;\n border-width: 1px 0;\n color: $autocomplete-text-colour;\n cursor: pointer;\n display: block;\n position: relative;\n margin-bottom: 0;\n}\n\n.autocomplete__option:before {\n content: none;\n}\n\n.autocomplete__option > * {\n pointer-events: none;\n}\n\n.autocomplete__option:first-of-type {\n border-top-width: 0;\n}\n\n.autocomplete__option:last-of-type {\n border-bottom-width: 0;\n}\n\n.autocomplete__option--focused,\n.autocomplete__option:hover {\n background-color: $autocomplete-option-hover-background-colour;\n border-color: $autocomplete-option-hover-background-colour;\n color: $autocomplete-option-hover-text-colour;\n outline: none;\n}\n\n.autocomplete__option--no-results {\n background-color: $autocomplete-option-no-results-background-colour;\n color: $autocomplete-option-no-results-text-colour;\n text-align: center;\n\n margin-top: 50px;\n margin-bottom: 50px;\n cursor: not-allowed;\n}\n.autocomplete__option--no-results:hover {\n background-color: $autocomplete-option-no-results-background-colour;\n border-color: $autocomplete-option-no-results-background-colour;\n color: $autocomplete-option-no-results-text-colour;\n text-align: center;\n\n margin-top: 50px;\n margin-bottom: 50px;\n cursor: not-allowed;\n}\n\n.autocomplete__hint,\n.autocomplete__input,\n.autocomplete__option {\n font-size: $autocomplete-option-font-size;\n font-weight: $autocomplete-option-font-weight;\n}\n\n.autocomplete__hint,\n.autocomplete__option {\n padding: 10px;\n}\n\n.autocomplete-down-icon {\n font-size: $autocomplete-icon-font-size;\n font-weight: $autocomplete-icon-font-weight;\n pointer-events: none;\n position: absolute;\n right: 12px;\n top: 14px;\n}\n\nadmiralty-icon.disabled {\n color: $autocomplete-dropdown-icon-colour;\n}\n\nadmiralty-input-invalid {\n margin-top: 6px;\n}\n","/**\n * This component takes heavy inspiration from the autocomplete component created by alphagov: https://github.com/alphagov/accessible-autocomplete\n */\n\nimport { Component, forceUpdate, Prop, State, h, Element, EventEmitter, Event, Watch } from '@stencil/core';\nimport { watchForOptions } from './optionsWatcher';\nimport { AutoCompleteChangeEventDetail } from './autocomplete.interface';\n\ninterface Option {\n text: string;\n value: any;\n}\n\nconst keyCodes = {\n 13: 'enter',\n 27: 'escape',\n 32: 'space',\n 38: 'up',\n 40: 'down',\n};\n\nfunction isIosDevice() {\n return typeof navigator !== 'undefined' && !!(navigator.userAgent.match(/(iPod|iPhone|iPad)/g) && navigator.userAgent.match(/AppleWebKit/g));\n}\n\nfunction isPrintableKeyCode(keyCode) {\n return (\n (keyCode > 47 && keyCode < 58) || // number keys\n keyCode === 32 ||\n keyCode === 8 || // spacebar or backspace\n (keyCode > 64 && keyCode < 91) || // letter keys\n (keyCode > 95 && keyCode < 112) || // numpad keys\n (keyCode > 185 && keyCode < 193) || // ;=,-./` (in order)\n (keyCode > 218 && keyCode < 223) // [\\]' (in order)\n );\n}\n\nfunction filterOptions(options: Option[], searchTerm: string) {\n return options.filter(({ text }) => text.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1);\n}\n\nfunction filterOptionsByValue(options: Option[], searchTerm: string) {\n return options.filter(({ value }) => value.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1);\n}\n\n@Component({\n tag: 'admiralty-autocomplete',\n styleUrl: 'autocomplete.scss',\n scoped: true,\n})\nexport class AutocompleteComponent {\n private internalId = ++nextId;\n\n @Element() el!: HTMLAdmiraltyAutocompleteElement;\n\n /**\n * Automatically select the first matching option.\n */\n @Prop() autoselect: boolean = false;\n /**\n * The default CSS namespace.\n */\n @Prop() cssNamespace: string = 'autocomplete';\n /**\n * When set to `overlay` this option will display the menu as an absolutely positioned overlay instead of inline.\n */\n @Prop() displayMenu: string = 'inline';\n /**\n * Prevent displaying options until the minimum string length is reached. Ignored when show all values is enabled.\n */\n @Prop() minLength: number = 0;\n /**\n * The name for the `<input>` element.\n */\n @Prop() name: string;\n /**\n * Populate the placeholder attribute on the `<input>` element.\n */\n @Prop() placeholder: string = '';\n /**\n * Toggle automatically confirming a selection when the field is blurred.\n */\n @Prop() confirmOnBlur: boolean = true;\n /**\n * Toggle whether to display the \"No results found\" message.\n */\n @Prop() showNoOptionsFound: boolean = true;\n /**\n * Toggle showing all values when the input is clicked, like a default dropdown. This will hide the chevron when set to false.\n */\n @Prop() showAllValues: boolean = true;\n /**\n * Populates the required field on the `<input>` element.\n */\n @Prop() required: boolean = false;\n /**\n * The hint that is provided to assistive users.\n */\n @Prop() assistiveHint: string =\n 'When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures.';\n\n /**\n * Sets HTML attributes and their values on the generated `ul` menu element. Useful for adding `aria-labelledby`\n * and setting to the value of the `id` attribute on your existing label, to provide context to an assistive\n * technology user. e.g.\n * ```\n * const menuAttributes = {\n * className: 'custom-className',\n * class: 'custom-class',\n * id: 'custom-id',\n * role: 'custom-role'\n * }\n * ```\n * */\n @Prop() menuAttributes: any;\n /**\n * Classes to add to the component's `<input>` element.\n */\n @Prop() inputClasses: string;\n /**\n * Classes to add to the menu displaying the options.\n */\n @Prop() menuClasses: string;\n /**\n * The text that will be used as a field label.\n */\n @Prop() label: string = null;\n /**\n * TThe text which will be used under the label to describe the input.\n */\n @Prop() hint: string = null;\n /**\n * Whether to show that the component is in an invalid state.\n */\n @Prop() invalid: boolean = false;\n /**\n * The message to show when the component is invalid.\n */\n @Prop() invalidMessage: string = null;\n /**\n * When `true`, the component cannot be interacted with.\n */\n @Prop() disabled: boolean = false;\n /**\n * The value of the input.\n */\n @Prop({ mutable: true }) value?: string | null = null;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() admiraltyChange: EventEmitter<AutoCompleteChangeEventDetail>;\n\n elementReferences = {};\n $pollInput: NodeJS.Timeout;\n\n source: Option[] = [];\n\n @State() focused: number | null = null;\n @State() hovered: number | null = null;\n @State() menuOpen: boolean = false;\n @State() options: Option[] = [];\n @State() option: Option = null;\n @State() query: string = null;\n @State() validChoiceMade: boolean = false;\n @State() selected: number | null = null;\n @State() ariaHint: boolean = true;\n\n @Watch('value')\n onValueChange(newVal: string, _: string) {\n if (this.source.length === 0) {\n // If this is the initial render, the options won't have been set yet, so do nothing\n return;\n }\n if (newVal && newVal.length > 0) {\n const matches = filterOptionsByValue(this.source, newVal);\n const matchFound = matches.length > 0;\n this.options = matches;\n this.validChoiceMade = matchFound;\n this.option = matches[0];\n this.query = matchFound ? matches[0].text : '';\n this.menuOpen = false;\n this.ariaHint = false;\n } else {\n this.options = [];\n this.option = null;\n this.query = '';\n this.ariaHint = true;\n }\n\n this.admiraltyChange.emit({ value: this.option?.value ?? '' });\n }\n\n @Watch('focused')\n onFocusedChange(newVal: number | null, oldVal: number | null) {\n const componentLostFocus = this.focused === null;\n const focusedChanged = oldVal !== newVal;\n const focusDifferentElement = focusedChanged && !componentLostFocus;\n if (focusDifferentElement) {\n this.elementReferences[this.focused]?.focus();\n }\n const focusedInput = this.focused === -1;\n const componentGainedFocus = focusedChanged && oldVal === null;\n const selectAllText = focusedInput && componentGainedFocus;\n if (selectAllText) {\n const inputElement = this.elementReferences[this.focused];\n inputElement.setSelectionRange(0, inputElement.value.length);\n }\n }\n\n isQueryAnOption(query: string, options: Option[]) {\n return options.map(({ text }) => this.templateInputValue(text).toLowerCase()).indexOf(query.toLowerCase()) !== -1;\n }\n\n connectedCallback() {\n this.mutation = watchForOptions<HTMLAdmiraltyAutocompleteOptionElement>(this.el, 'admiralty-autocomplete-option', async () => {\n this.source = this.childOpts.map(({ textContent, value }) => ({\n text: textContent?.length > 0 ? textContent : value,\n value: value ?? textContent,\n }));\n if (this.query === null && this.value?.length > 0) {\n const matches = filterOptionsByValue(this.source, this.value);\n this.options = matches;\n this.option = matches[0];\n this.query = matches[0]?.text ?? '';\n }\n forceUpdate(this);\n });\n // this.pollInputElement();\n }\n\n disconnectedCallback() {\n clearTimeout(this.$pollInput);\n }\n\n // Applications like Dragon NaturallySpeaking will modify the\n // `input` field by directly changing its `.value`. These events\n // don't trigger our JavaScript event listeners, so we need to poll\n // to handle when and if they occur.\n pollInputElement() {\n this.getDirectInputChanges();\n this.$pollInput = setTimeout(() => {\n this.pollInputElement();\n }, 100);\n }\n\n getDirectInputChanges() {\n const inputReference = this.elementReferences[-1];\n const queryHasChanged = inputReference && inputReference.value !== this.query;\n\n if (queryHasChanged) {\n this.handleInputChange({ target: { value: inputReference.value } });\n }\n }\n\n mutation: MutationObserver;\n\n private get childOpts() {\n return Array.from(this.el.querySelectorAll('admiralty-autocomplete-option'));\n }\n\n hasAutoselect() {\n return isIosDevice() ? false : this.autoselect;\n }\n\n // This template is used when converting from a state.options object into a state.query.\n templateInputValue(value) {\n // const inputValueTemplate = this.templates && this.templates.inputValue;\n // return inputValueTemplate ? inputValueTemplate(value) : value;\n return value;\n }\n\n // This template is used when displaying results / suggestions.\n templateSuggestion(value) {\n // const suggestionTemplate = this.templates && this.templates.suggestion;\n // return suggestionTemplate ? suggestionTemplate(value) : value;\n return value;\n }\n\n handleComponentBlur(newState: { menuOpen: boolean; query: string }) {\n let newQuery: string;\n if (this.confirmOnBlur) {\n newQuery = newState.query || this.query;\n const matches = filterOptions(this.source, newQuery);\n const matchFound = newQuery?.length > 0 && matches.length > 0;\n const option = matchFound ? matches[0] : { value: null, text: '' };\n this.value = option.value;\n } else {\n newQuery = this.query;\n }\n this.focused = null;\n this.menuOpen = newState.menuOpen || false;\n this.selected = null;\n this.validChoiceMade = this.isQueryAnOption(newQuery, this.options);\n }\n\n handleListMouseLeave() {\n this.hovered = null;\n }\n\n handleOptionBlur(event, index) {\n const focusingOutsideComponent = event.relatedTarget === null;\n const focusingInput = event.relatedTarget === this.elementReferences[-1];\n const focusingAnotherOption = this.focused !== index && this.focused !== -1;\n const blurComponent = (!focusingAnotherOption && focusingOutsideComponent) || !(focusingAnotherOption || focusingInput);\n if (blurComponent) {\n const keepMenuOpen = this.menuOpen && isIosDevice();\n this.handleComponentBlur({\n menuOpen: keepMenuOpen,\n query: this.templateInputValue(this.options[this.selected]?.text ?? ''),\n });\n }\n }\n\n handleInputBlur(_) {\n const focusingAnOption = this.focused !== -1;\n if (!focusingAnOption) {\n const keepMenuOpen = this.menuOpen && isIosDevice();\n this.handleComponentBlur({\n menuOpen: keepMenuOpen,\n query: this.query,\n });\n }\n }\n\n handleInputChange(event) {\n const autoselect = this.hasAutoselect();\n const query = event.target.value;\n const queryEmpty = query.length === 0;\n const queryChanged = this.query !== query;\n const queryLongEnough = query.length >= this.minLength;\n\n this.query = query;\n this.ariaHint = queryEmpty;\n\n const searchForOptions = this.showAllValues || (!queryEmpty && queryChanged && queryLongEnough);\n if (searchForOptions) {\n const matches = filterOptions(this.source, this.query);\n const optionsAvailable = matches.length > 0;\n this.menuOpen = optionsAvailable;\n this.options = matches;\n this.selected = autoselect && optionsAvailable ? 0 : -1;\n this.validChoiceMade = false;\n } else if (queryEmpty || !queryLongEnough) {\n this.menuOpen = false;\n this.options = [];\n }\n }\n\n handleInputClick(event) {\n this.handleInputChange(event);\n }\n\n handleInputFocus(_) {\n const shouldReopenMenu = !this.validChoiceMade && this.query?.length >= this.minLength && this.options.length > 0;\n\n if (shouldReopenMenu) {\n this.focused = -1;\n this.menuOpen = shouldReopenMenu || this.menuOpen;\n this.selected = -1;\n } else {\n this.focused = -1;\n }\n }\n\n handleOptionFocus(index) {\n this.focused = index;\n this.hovered = null;\n this.selected = index;\n }\n\n handleOptionMouseEnter(index) {\n // iOS Safari prevents click event if mouseenter adds hover background colour\n // See: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW4\n if (!isIosDevice()) {\n this.hovered = index;\n }\n }\n\n handleOptionClick(_, index) {\n const selectedOption = this.options[index];\n this.value = selectedOption.value;\n this.focused = -1;\n this.hovered = null;\n this.menuOpen = false;\n this.selected = index;\n this.validChoiceMade = true;\n forceUpdate(this);\n }\n\n handleOptionMouseDown(event) {\n // Safari triggers focusOut before click, but if you\n // preventDefault on mouseDown, you can stop that from happening.\n // If this is removed, clicking on an option in Safari will trigger\n // `handleOptionBlur`, which closes the menu, and the click will\n // trigger on the element underneath instead.\n // See: http://stackoverflow.com/questions/7621711/how-to-prevent-blur-running-when-clicking-a-link-in-jquery\n event.preventDefault();\n }\n\n handleUpArrow(event) {\n event.preventDefault();\n const isNotAtTop = this.selected !== -1;\n const allowMoveUp = isNotAtTop && this.menuOpen;\n if (allowMoveUp) {\n this.handleOptionFocus(this.selected - 1);\n }\n }\n\n handleDownArrow(event) {\n event.preventDefault();\n // if not open, open\n if (this.showAllValues && this.menuOpen === false) {\n event.preventDefault();\n const matches = filterOptions(this.source, '');\n this.menuOpen = true;\n this.options = matches;\n this.selected = 0;\n this.focused = 0;\n this.hovered = null;\n } else if (this.menuOpen === true) {\n const isNotAtBottom = this.selected !== this.options.length - 1;\n const allowMoveDown = isNotAtBottom && this.menuOpen;\n if (allowMoveDown) {\n this.handleOptionFocus(this.selected + 1);\n }\n }\n }\n\n handleSpace(event) {\n // if not open, open\n if (this.showAllValues && this.menuOpen === false && this.query === '') {\n event.preventDefault();\n const matches = filterOptions(this.source, '');\n this.menuOpen = true;\n this.options = matches;\n }\n const focusIsOnOption = this.focused !== -1;\n if (focusIsOnOption) {\n event.preventDefault();\n this.handleOptionClick(event, this.focused);\n }\n }\n\n handleEnter(event) {\n if (this.menuOpen) {\n event.preventDefault();\n const hasSelectedOption = this.selected >= 0;\n if (hasSelectedOption) {\n this.handleOptionClick(event, this.selected);\n }\n }\n }\n\n handlePrintableKey(event) {\n const inputElement = this.elementReferences[-1];\n const eventIsOnInput = event.target === inputElement;\n if (!eventIsOnInput) {\n // FIXME: This would be better if it was in componentDidUpdate,\n // but using setState to trigger that seems to not work correctly\n // in preact@8.1.0.\n inputElement.focus();\n }\n }\n\n handleKeyDown(event) {\n switch (keyCodes[event.keyCode]) {\n case 'up':\n this.handleUpArrow(event);\n break;\n case 'down':\n this.handleDownArrow(event);\n break;\n case 'space':\n this.handleSpace(event);\n break;\n case 'enter':\n this.handleEnter(event);\n break;\n case 'escape':\n this.handleComponentBlur({\n query: this.query,\n menuOpen: this.menuOpen,\n });\n break;\n default:\n if (isPrintableKeyCode(event.keyCode)) {\n this.handlePrintableKey(event);\n }\n break;\n }\n }\n\n render() {\n const id = this.el.id != '' ? this.el.id : `admiralty-autocomplete-${this.internalId}`;\n const inputId = `${id}-input`;\n const hintId = `${id}-hint`;\n const errorId = `${id}-error`;\n\n const inputFocused = this.focused === -1;\n const noOptionsAvailable = this.options.length === 0;\n const queryNotEmpty = this.query?.length !== 0;\n const queryLongEnough = this.query?.length >= this.minLength;\n const showNoOptionsFound = this.showNoOptionsFound && inputFocused && noOptionsAvailable && queryNotEmpty && queryLongEnough;\n\n const wrapperClassName = `${this.cssNamespace}__wrapper`;\n const optionFocused = this.focused !== -1 && this.focused !== null;\n\n const optionClassName = `${this.cssNamespace}__option`;\n\n const assistiveHintID = id + '__assistiveHint';\n const ariaProps = {\n 'aria-describedby': `${this.hint ? hintId : ''} ${this.ariaHint ? assistiveHintID : ''} ${this.invalid ? errorId : ''}`,\n 'aria-expanded': this.menuOpen ? 'true' : 'false',\n 'aria-activedescendant': optionFocused ? `${id}__option--${this.focused}` : null,\n 'aria-owns': `${id}__listbox`,\n 'aria-autocomplete': this.hasAutoselect() ? 'both' : 'list',\n };\n\n const inputClassName = `${this.cssNamespace}__input`;\n const inputClassList = [inputClassName, this.showAllValues ? `${inputClassName}--show-all-values` : `${inputClassName}--default`];\n\n const componentIsFocused = this.focused !== null;\n if (componentIsFocused) {\n inputClassList.push(`${inputClassName}--focused`);\n }\n\n if (this.inputClasses) {\n inputClassList.push(this.inputClasses);\n }\n\n if (this.invalid && this.invalidMessage) {\n inputClassList.push(`${inputClassName}--invalid`);\n }\n\n if (this.disabled) {\n inputClassList.push(`${inputClassName}--disabled`);\n }\n\n const menuClassName = `${this.cssNamespace}__menu`;\n const menuModifierDisplayMenu = `${menuClassName}--${this.displayMenu}`;\n const menuIsVisible = this.menuOpen || showNoOptionsFound;\n const menuModifierVisibility = `${menuClassName}--${menuIsVisible ? 'visible' : 'hidden'}`;\n\n const menuClassList = [menuClassName, menuModifierDisplayMenu, menuModifierVisibility];\n\n if (this.menuClasses) {\n menuClassList.push(this.menuClasses);\n }\n\n if (this.menuAttributes?.class || this.menuAttributes?.className) {\n menuClassList.push(this.menuAttributes?.class || this.menuAttributes?.className);\n }\n\n const computedMenuAttributes = {\n // Copy the attributes passed as props\n ...this.menuAttributes,\n // And add the values computed for the autocomplete\n id: `${id}__listbox`,\n role: 'listbox',\n onMouseLeave: this.handleListMouseLeave,\n };\n\n // Preact would override our computed `className`\n // with the `class` from the `menuAttributes` so\n // we need to clean it up from the computed attributes\n delete computedMenuAttributes.class;\n\n return (\n <div class={wrapperClassName} onKeyDown={event => this.handleKeyDown(event)}>\n {this.label ? (\n <admiralty-label class=\"autocomplete__label\" disabled={this.disabled} for={inputId}>\n {this.label}\n </admiralty-label>\n ) : null}\n {this.hint ? (\n <admiralty-hint id={hintId} disabled={this.disabled}>\n {this.hint}\n </admiralty-hint>\n ) : null}\n <div class=\"autocomplete__input-wrapper\">\n <input\n {...ariaProps}\n disabled={this.disabled}\n aria-disabled={this.disabled}\n autoComplete=\"off\"\n class={inputClassList.join(' ')}\n id={inputId}\n onClick={event => this.handleInputClick(event)}\n onBlur={event => this.handleInputBlur(event)}\n onInput={event => this.handleInputChange(event)}\n onFocus={event => this.handleInputFocus(event)}\n name={this.name}\n placeholder={this.placeholder}\n ref={inputElement => {\n this.elementReferences[-1] = inputElement;\n }}\n type=\"text\"\n role=\"combobox\"\n required={this.required}\n value={this.query}\n />\n {this.showAllValues &&\n <admiralty-icon class={`autocomplete-down-icon ${this.disabled ? \"disabled\" : \"\"}`} icon-name={this.menuOpen || showNoOptionsFound ? \"angle-up\" : \"angle-down\"} />\n }\n </div>\n\n <ul {...computedMenuAttributes} class={menuClassList.join(' ')}>\n {this.options.map((option, index) => {\n const showFocused = this.focused === -1 ? this.selected === index : this.focused === index;\n const optionModifierFocused = showFocused && this.hovered === null ? ` ${optionClassName}--focused` : '';\n const iosPosinsetHtml = isIosDevice()\n ? `<span id=${id}__option-suffix--${index} style=\"border:0;clip:rect(0 0 0 0);height:1px;` +\n 'marginBottom:-1px;marginRight:-1px;overflow:hidden;padding:0;position:absolute;' +\n 'whiteSpace:nowrap;width:1px\">' +\n ` ${index + 1} of ${this.options.length}</span>`\n : '';\n\n return (\n <li\n aria-selected={this.focused === index ? 'true' : 'false'}\n class={`${optionClassName}${optionModifierFocused}`}\n innerHTML={this.templateSuggestion(option.text) + iosPosinsetHtml}\n id={`${id}__option--${index}`}\n key={index}\n onBlur={event => this.handleOptionBlur(event, index)}\n onClick={event => this.handleOptionClick(event, index)}\n onMouseDown={event => this.handleOptionMouseDown(event)}\n onMouseEnter={() => this.handleOptionMouseEnter(index)}\n ref={optionEl => {\n this.elementReferences[index] = optionEl;\n }}\n role=\"option\"\n tabIndex={-1}\n aria-posinset={index + 1}\n aria-setsize={this.options.length}\n />\n );\n })}\n\n {showNoOptionsFound && <li class={`${optionClassName} ${optionClassName}--no-results`}>No results found</li>}\n </ul>\n\n <span id={assistiveHintID} style={{ display: 'none' }}>\n {this.assistiveHint}\n </span>\n {this.invalid && this.invalidMessage && (\n <admiralty-input-invalid id={errorId} style={{ visibility: this.invalid && this.invalidMessage ? 'visible' : 'hidden' }}>\n {this.invalidMessage}\n </admiralty-input-invalid>\n )}\n </div>\n );\n }\n}\nlet nextId = 0;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r,h as a}from"./p-71979ff5.js";const s=".visually-hidden.sc-admiralty-progress-bar:not(:focus):not(:active){position:absolute !important;width:1px !important;height:1px !important;margin:0 !important;padding:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;border:0 !important;white-space:nowrap !important}@media (max-width: 1023px){.desktop-only.sc-admiralty-progress-bar{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-progress-bar{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-progress-bar{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-progress-bar{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-progress-bar{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-progress-bar{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-progress-bar{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-progress-bar{display:none}}progress.sc-admiralty-progress-bar{appearance:none;background:var(--admiralty-background-colour-tint);border:none;box-sizing:border-box;color:var(--admiralty-colour-primary);display:inline-block;font-size:var(--admiralty-progress-bar-font-size, var(--admiralty-font-size-0));flex:1;height:1em;width:100%}progress[value].error.sc-admiralty-progress-bar::-webkit-progress-value{background-color:var(--admiralty-colour-danger)}progress[value].error.sc-admiralty-progress-bar::-moz-progress-bar{background-color:var(--admiralty-colour-danger)}progress[value].sc-admiralty-progress-bar::-webkit-progress-value{background-color:var(--admiralty-colour-success)}progress[value].sc-admiralty-progress-bar::-moz-progress-bar{background-color:var(--admiralty-colour-success)}";const o=s;const i=class{constructor(a){r(this,a);this.
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r,h as a}from"./p-71979ff5.js";const s=".visually-hidden.sc-admiralty-progress-bar:not(:focus):not(:active){position:absolute !important;width:1px !important;height:1px !important;margin:0 !important;padding:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;border:0 !important;white-space:nowrap !important}@media (max-width: 1023px){.desktop-only.sc-admiralty-progress-bar{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-progress-bar{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-progress-bar{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-progress-bar{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-progress-bar{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-progress-bar{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-progress-bar{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-progress-bar{display:none}}progress.sc-admiralty-progress-bar{appearance:none;background:var(--admiralty-background-colour-tint);border:none;box-sizing:border-box;color:var(--admiralty-colour-primary);display:inline-block;font-size:var(--admiralty-progress-bar-font-size, var(--admiralty-font-size-0));flex:1;height:1em;width:100%}progress[value].error.sc-admiralty-progress-bar::-webkit-progress-value{background-color:var(--admiralty-colour-danger)}progress[value].error.sc-admiralty-progress-bar::-moz-progress-bar{background-color:var(--admiralty-colour-danger)}progress[value].sc-admiralty-progress-bar::-webkit-progress-value{background-color:var(--admiralty-colour-success)}progress[value].sc-admiralty-progress-bar::-moz-progress-bar{background-color:var(--admiralty-colour-success)}";const o=s;const i=class{constructor(a){r(this,a);this.inputId=`admiralty-progress-${++e}`;this.label=undefined;this.progression=0;this.error=false;this.progressionValue=this.progression}progressionChanged(){this.updateProgression()}updateProgression(){if(this.progression&&this.progression>=0&&this.progression<=100){this.progressionValue=this.progression}}componentDidLoad(){this.updateProgression()}render(){const{inputId:r,label:s,error:o,progressionValue:i}=this;return a("div",{key:"7eafecb0ac94fad83d6a219d766be02ec31ba81b",class:"admiralty-progress"},s?a("admiralty-label",{for:r},s):null,a("progress",{key:"11a7d830aea3d391dc0a533672f0241e540c3289",id:r,class:{error:o},value:i,max:"100"}))}static get watchers(){return{progression:["progressionChanged"]}}};let e=0;i.style=o;export{i as admiralty_progress_bar};
|
|
2
|
+
//# sourceMappingURL=p-a0466b05.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["progressBarCss","AdmiraltyProgressBarStyle0","ProgressBarComponent","this","inputId","progressId","progression","progressionChanged","updateProgression","progressionValue","componentDidLoad","render","label","error","h","key","class","for","id","value","max"],"sources":["src/components/progress-bar/progress-bar.scss?tag=admiralty-progress-bar&encapsulation=scoped","src/components/progress-bar/progress-bar.tsx"],"sourcesContent":["@import 'progress-bar.vars.scss';\n\nprogress {\n appearance: none;\n background: $progress-bar-background-colour;\n border: none;\n box-sizing: border-box;\n color: $progress-bar-text-colour;\n display: inline-block;\n font-size: $progress-bar-font-size;\n flex: 1;\n height: 1em;\n width: 100%;\n\n &[value].error::-webkit-progress-value {\n background-color: $progress-bar-error-colour;\n }\n\n &[value].error::-moz-progress-bar {\n background-color: $progress-bar-error-colour;\n }\n\n &[value]::-webkit-progress-value {\n background-color: $progress-bar-success-colour;\n }\n\n &[value]::-moz-progress-bar {\n background-color: $progress-bar-success-colour;\n }\n}\n","import { Component, h, Prop, State, Watch } from '@stencil/core';\n\n@Component({\n tag: 'admiralty-progress-bar',\n styleUrl: 'progress-bar.scss',\n scoped: true,\n})\nexport class ProgressBarComponent {\n private inputId = `admiralty-progress-${++progressId}`;\n\n /**\n * If set, adds a label above the progress bar\n */\n @Prop() label?: string;\n\n /** * A value from 0 - 100 that visually represents the current progression\n */\n @Prop() progression: number = 0;\n\n /**\n * Set to true to indicate an error (turns the progress bar red)\n */\n @Prop() error: boolean = false;\n\n /**\n * Progress value, min:0, max: 100\n */\n\n @State() progressionValue: number = this.progression;\n\n /**\n * @internal\n * Watches the progression prop for changes\n * then updates the progressionValue state if the progression value is valid\n */\n @Watch('progression')\n protected progressionChanged() {\n this.updateProgression();\n }\n\n private updateProgression() {\n if (this.progression && this.progression >= 0 && this.progression <= 100) {\n this.progressionValue = this.progression;\n }\n }\n\n componentDidLoad() {\n this.updateProgression();\n }\n\n render() {\n const { inputId ,label, error, progressionValue } = this;\n\n return (\n <div class=\"admiralty-progress\">\n {label ? <admiralty-label for={inputId}>{label}</admiralty-label> : null}\n <progress id={inputId} class={{ error: error }} value={progressionValue} max=\"100\" />\n </div>\n );\n }\n}\n\nlet progressId = 0;\n"],"mappings":"sCAAA,MAAMA,EAAiB,+yDACvB,MAAAC,EAAeD,E,MCMFE,EAAoB,M,yBACvBC,KAAAC,QAAU,wBAAwBC,I,sCASZ,E,WAKL,M,sBAMWF,KAAKG,W,CAQ/B,kBAAAC,GACRJ,KAAKK,mB,CAGC,iBAAAA,GACN,GAAIL,KAAKG,aAAeH,KAAKG,aAAe,GAAKH,KAAKG,aAAe,IAAK,CACxEH,KAAKM,iBAAmBN,KAAKG,W,EAIjC,gBAAAI,GACEP,KAAKK,mB,CAGP,MAAAG,GACE,MAAMP,QAAEA,EAAOQ,MAAEA,EAAKC,MAAEA,EAAKJ,iBAAEA,GAAqBN,KAEpD,OACEW,EAAA,OAAAC,IAAA,2CAAKC,MAAM,sBACRJ,EAAQE,EAAA,mBAAiBG,IAAKb,GAAUQ,GAA2B,KACpEE,EAAA,YAAAC,IAAA,2CAAUG,GAAId,EAASY,MAAO,CAAEH,MAAOA,GAASM,MAAOV,EAAkBW,IAAI,Q,oEAMrF,IAAIf,EAAa,E","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as a,f as i,h as r,H as e,g as o}from"./p-71979ff5.js";var s;(function(t){t["UP_ARROW"]="ArrowUp";t["DOWN_ARROW"]="ArrowDown";t["LEFT_ARROW"]="ArrowLeft";t["RIGHT_ARROW"]="ArrowRight";t["ENTER"]="Enter";t["TAB"]="Tab";t["HOME"]="Home";t["END"]="End";t["SPACE"]=" "})(s||(s={}));const d=".visually-hidden.sc-admiralty-tab-group:not(:focus):not(:active){position:absolute !important;width:1px !important;height:1px !important;margin:0 !important;padding:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;border:0 !important;white-space:nowrap !important}@media (max-width: 1023px){.desktop-only.sc-admiralty-tab-group{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-tab-group{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-tab-group{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-tab-group{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-tab-group{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-tab-group{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-tab-group{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-tab-group{display:none}}.tab-group-headers.sc-admiralty-tab-group{width:100%}hr.sc-admiralty-tab-group{width:100%;height:2px;margin:6px 0;background-color:var(--admiralty-colour-light)}.headers.sc-admiralty-tab-group{display:flex;overflow-x:auto;white-space:nowrap}.headers.sc-admiralty-tab-group .heading.sc-admiralty-tab-group{cursor:pointer;padding:10px;height:42px;max-width:fit-content;box-sizing:border-box;user-select:none;text-align:center;text-decoration:none;color:var(--admiralty-colour-primary);background-color:unset;font-weight:var(--admiralty-tab-group-font-weight, var(--admiralty-font-weight-medium));font-size:var(--admiralty-tab-group-font-size, var(--admiralty-font-size-0));margin-left:4px}.headers.sc-admiralty-tab-group .heading.sc-admiralty-tab-group:first-child{margin-left:0}@media (max-width: 1023px){.headers.sc-admiralty-tab-group .heading.sc-admiralty-tab-group{font-size:var(--admiralty-tab-group-not-desktop-font-size, var(--admiralty-font-size--1));line-height:18px;padding:8px;height:unset;width:unset}}.headers.sc-admiralty-tab-group .heading.sc-admiralty-tab-group:focus-visible{box-shadow:var(--admiralty-focus-colour) inset 0 0 0 2px}.headers.sc-admiralty-tab-group .heading.sc-admiralty-tab-group:focus,.headers.sc-admiralty-tab-group .heading.active.sc-admiralty-tab-group:focus{outline:3px solid transparent;color:var(--admiralty-text-colour);background-color:var(--admiralty-focus-colour);box-shadow:0 -2px var(--admiralty-focus-colour), 0 4px var(--admiralty-text-colour);text-decoration:none;box-shadow:0px -4px var(--admiralty-text-colour) inset}.headers.sc-admiralty-tab-group .heading.sc-admiralty-tab-group:hover{background-color:var(--admiralty-hover-background-colour);color:var(--admiralty-colour-primary);box-shadow:unset}.headers.sc-admiralty-tab-group .heading.active.sc-admiralty-tab-group{background-color:var(--admiralty-colour-primary);color:var(--admiralty-colour-primary-contrast)}";const n=d;let h=0;const l=class{constructor(i){t(this,i);this.admiraltyTabSelected=a(this,"admiraltyTabSelected",7);this._groupId=h++;this._tabs=[];this._tabHeaders=[];this.selectedIndex=0}handleSelectedTab(t){const a=this.el.querySelector(`.tab-content#${this.getTabContentId(this.selectedIndex)}`);a.classList.remove("active");a.setAttribute("tabindex",this.getTabIndex(t).toString());this.selectedIndex=t;this.setSelectedTabContent();this.admiraltyTabSelected.emit(t)}setSelectedTabContent(){const t=this.el.querySelector(`.tab-content#${this.getTabContentId(this.selectedIndex)}`);t.classList.add("active");t.setAttribute("tabindex",this.getTabIndex(this.selectedIndex).toString())}getTabIndex(t){return this.selectedIndex===t?0:-1}getTabContentId(t){return`tab-panel-${this._groupId}-${t}`}getTabLabelId(t){return`tab-label-${this._groupId}-${t}`}handleKeyDown(t){const a=t.target;let i=false;switch(t.key){case s.LEFT_ARROW:this.moveFocusToPreviousTab(a);i=true;break;case s.RIGHT_ARROW:this.moveFocusToNextTab(a);i=true;break;case s.HOME:this.moveFocusToTabHeader(this._tabHeaders[0]);i=true;break;case s.END:this.moveFocusToTabHeader(this._tabHeaders[this._tabHeaders.length-1]);i=true;break}if(i){t.stopPropagation();t.preventDefault()}}moveFocusToTabHeader(t){t.focus()}moveFocusToPreviousTab(t){const a=this._tabHeaders[0];const i=this._tabHeaders[this._tabHeaders.length-1];if(t===a){this.moveFocusToTabHeader(i)}else{const a=this._tabHeaders.indexOf(t);this.moveFocusToTabHeader(this._tabHeaders[a-1])}}moveFocusToNextTab(t){const a=this._tabHeaders[0];const i=this._tabHeaders[this._tabHeaders.length-1];if(t===i){this.moveFocusToTabHeader(a)}else{const a=this._tabHeaders.indexOf(t);this.moveFocusToTabHeader(this._tabHeaders[a+1])}}componentWillLoad(){const t=this.el.querySelectorAll("admiralty-tab");this._tabs=[];if(t.length>0){let a=0;t.forEach((t=>{t.tabLabelId=this.getTabLabelId(a);t.tabContentId=this.getTabContentId(a);this._tabs.push({label:t.label,index:a});++a}));this.selectedIndex=Math.max(0,Math.min(this.selectedIndex,t.length-1))}}componentDidLoad(){this._tabHeaders=Array.from(this.el.querySelectorAll('[role="tab"]'));const t=this.el.querySelectorAll("admiralty-tab .tab-content");if(t.length>0){const a=this.el.querySelector("hr");a.after(...Array.from(t));this.setSelectedTabContent();i(this)}}render(){const t=()=>Array.from(this._tabs).map((t=>r("button",{class:{heading:true,active:t.index===this.selectedIndex},id:this.getTabLabelId(t.index),role:"tab",tabIndex:this.getTabIndex(t.index),"aria-setsize":this._tabs.length,"aria-selected":`${t.index===this.selectedIndex}`,"aria-controls":this.getTabContentId(t.index),onClick:a=>this.handleSelectedTab(t.index),onKeyDown:t=>this.handleKeyDown(t)},t.label)));return r(e,{key:"861fe31a1effe2690ee4e2c14090a12d20365cd1"},r("div",{key:"406afd12063e9349074d327f2e9204f561d201f6",class:"tab-group-headers",role:"tablist"},r("div",{key:"d8eab758c656cf1e837b204e0eaf1407801e8069",class:"headers"},t())),r("hr",{key:"1e4883f50dbb649b25a9f9bcc3a35c1f13e9c393"}),r("slot",{key:"053640a4d85312062fd256f7ee7c78f2d57cf5ea"}))}get el(){return o(this)}};l.style=n;export{l as admiralty_tab_group};
|
|
2
|
+
//# sourceMappingURL=p-f2f2c51d.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Keys","tabGroupCss","AdmiraltyTabGroupStyle0","nextId","TabGroupComponent","this","_groupId","_tabs","_tabHeaders","handleSelectedTab","idx","oldContent","el","querySelector","getTabContentId","selectedIndex","classList","remove","setAttribute","getTabIndex","toString","setSelectedTabContent","admiraltyTabSelected","emit","activeContent","add","index","i","getTabLabelId","handleKeyDown","event","tgt","target","processed","key","LEFT_ARROW","moveFocusToPreviousTab","RIGHT_ARROW","moveFocusToNextTab","HOME","moveFocusToTabHeader","END","length","stopPropagation","preventDefault","header","focus","currentHeader","firstTab","lastTab","indexOf","componentWillLoad","tabItems","querySelectorAll","forEach","t","tabLabelId","tabContentId","push","label","Math","max","min","componentDidLoad","Array","from","tabContent","after","forceUpdate","render","createHeaders","map","tab","h","class","heading","active","id","role","tabIndex","onClick","_ev","onKeyDown","ev","Host"],"sources":["src/components/Keys.ts","src/components/tab-group/tab-group.scss?tag=admiralty-tab-group&encapsulation=scoped","src/components/tab-group/tab-group.tsx"],"sourcesContent":["export enum Keys {\n UP_ARROW = 'ArrowUp',\n DOWN_ARROW = 'ArrowDown',\n LEFT_ARROW = 'ArrowLeft',\n RIGHT_ARROW = 'ArrowRight',\n ENTER = 'Enter',\n TAB = 'Tab',\n HOME = 'Home',\n END = 'End',\n SPACE = ' '\n}\n","@import 'tab-group.vars';\n\n.tab-group-headers {\n width: 100%;\n}\n\nhr {\n width: 100%;\n height: 2px;\n margin: 6px 0;\n background-color: $tab-group-separator-colour;\n}\n\n.headers {\n display: flex;\n overflow-x: auto;\n\n white-space: nowrap;\n\n .heading {\n cursor: pointer;\n padding: 10px;\n height: 42px;\n max-width: fit-content;\n box-sizing: border-box;\n user-select: none;\n\n text-align: center;\n text-decoration: none;\n color: $tab-group-heading-text-colour;\n background-color: unset;\n font-weight: $tab-group-heading-text-weight;\n font-size: $tab-group-heading-text-font;\n margin-left: 4px;\n\n &:first-child {\n margin-left: 0;\n }\n\n @include not-desktop {\n font-size: $tab-group-heading-not-desktop-text-font;\n line-height: 18px;\n padding: 8px;\n height: unset;\n width: unset;\n }\n\n &:focus-visible {\n box-shadow: $tab-group-focus-colour inset 0 0 0 2px;\n }\n\n &:focus,\n &.active:focus {\n @include focus-highlight;\n box-shadow: 0px -4px $tab-group-focus-text-colour inset;\n }\n\n &:hover {\n background-color: $tab-group-heading-hover-background-colour;\n color: $tab-group-heading-text-colour;\n box-shadow: unset;\n }\n\n &.active {\n background-color: $tab-group-active-background-colour;\n color: $tab-group-active-text-colour;\n }\n }\n}\n","import { Component, Element, Prop, Event, h, EventEmitter, Host, forceUpdate } from '@stencil/core';\nimport { Keys } from '../Keys';\n\ninterface TabInfo {\n label: string;\n index: number;\n}\n\nlet nextId = 0;\n\n@Component({\n tag: 'admiralty-tab-group',\n styleUrl: 'tab-group.scss',\n scoped: true,\n})\nexport class TabGroupComponent {\n @Element() el: HTMLElement;\n\n @Prop({ mutable: true }) selectedIndex = 0;\n\n @Event() admiraltyTabSelected: EventEmitter<number>;\n\n private _groupId = nextId++;\n\n private _tabs: TabInfo[] = [];\n private _tabHeaders: HTMLElement[] = [];\n\n handleSelectedTab(idx: number) {\n const oldContent = this.el.querySelector(`.tab-content#${this.getTabContentId(this.selectedIndex)}`);\n oldContent.classList.remove('active');\n oldContent.setAttribute('tabindex', this.getTabIndex(idx).toString());\n\n this.selectedIndex = idx;\n this.setSelectedTabContent();\n\n this.admiraltyTabSelected.emit(idx);\n }\n\n private setSelectedTabContent() {\n const activeContent = this.el.querySelector(`.tab-content#${this.getTabContentId(this.selectedIndex)}`);\n activeContent.classList.add('active');\n activeContent.setAttribute('tabindex', this.getTabIndex(this.selectedIndex).toString());\n }\n\n private getTabIndex(index: number): number | null {\n return this.selectedIndex === index ? 0 : -1;\n }\n\n private getTabContentId(i: number): string {\n return `tab-panel-${this._groupId}-${i}`;\n }\n\n private getTabLabelId(i: number): string {\n return `tab-label-${this._groupId}-${i}`;\n }\n\n handleKeyDown(event: KeyboardEvent): void {\n const tgt = event.target as HTMLElement;\n let processed = false;\n\n switch (event.key) {\n case Keys.LEFT_ARROW:\n this.moveFocusToPreviousTab(tgt);\n processed = true;\n break;\n case Keys.RIGHT_ARROW:\n this.moveFocusToNextTab(tgt);\n processed = true;\n break;\n\n case Keys.HOME:\n this.moveFocusToTabHeader(this._tabHeaders[0]);\n processed = true;\n break;\n\n case Keys.END:\n this.moveFocusToTabHeader(this._tabHeaders[this._tabHeaders.length - 1]);\n processed = true;\n break;\n default:\n break;\n }\n\n if (processed) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n private moveFocusToTabHeader(header: HTMLElement) {\n header.focus();\n }\n\n private moveFocusToPreviousTab(currentHeader: HTMLElement) {\n const firstTab = this._tabHeaders[0];\n const lastTab = this._tabHeaders[this._tabHeaders.length - 1];\n\n if (currentHeader === firstTab) {\n this.moveFocusToTabHeader(lastTab);\n } else {\n const index = this._tabHeaders.indexOf(currentHeader);\n this.moveFocusToTabHeader(this._tabHeaders[index - 1]);\n }\n }\n\n private moveFocusToNextTab(currentHeader: HTMLElement) {\n const firstTab = this._tabHeaders[0];\n const lastTab = this._tabHeaders[this._tabHeaders.length - 1];\n\n if (currentHeader === lastTab) {\n this.moveFocusToTabHeader(firstTab);\n } else {\n const index = this._tabHeaders.indexOf(currentHeader);\n this.moveFocusToTabHeader(this._tabHeaders[index + 1]);\n }\n }\n\n componentWillLoad() {\n const tabItems = this.el.querySelectorAll('admiralty-tab');\n\n this._tabs = [];\n\n if (tabItems.length > 0) {\n let idx = 0;\n tabItems.forEach(t => {\n t.tabLabelId = this.getTabLabelId(idx);\n t.tabContentId = this.getTabContentId(idx);\n\n this._tabs.push({ label: t.label, index: idx });\n ++idx;\n });\n\n this.selectedIndex = Math.max(0, Math.min(this.selectedIndex, tabItems.length - 1));\n }\n }\n\n componentDidLoad() {\n this._tabHeaders = Array.from(this.el.querySelectorAll('[role=\"tab\"]'));\n\n const tabItems = this.el.querySelectorAll('admiralty-tab .tab-content');\n\n if (tabItems.length > 0) {\n const tabContent = this.el.querySelector('hr');\n tabContent.after(...Array.from(tabItems));\n\n this.setSelectedTabContent();\n forceUpdate(this);\n }\n }\n\n render() {\n const createHeaders = () =>\n Array.from(this._tabs).map(tab => (\n <button\n class={{ heading: true, active: tab.index === this.selectedIndex }}\n id={this.getTabLabelId(tab.index)}\n role=\"tab\"\n tabIndex={this.getTabIndex(tab.index)}\n aria-setsize={this._tabs.length}\n aria-selected={`${tab.index === this.selectedIndex}`}\n aria-controls={this.getTabContentId(tab.index)}\n onClick={_ev => this.handleSelectedTab(tab.index)}\n onKeyDown={ev => this.handleKeyDown(ev)}\n >\n {tab.label}\n </button>\n ));\n\n return (\n <Host>\n <div class=\"tab-group-headers\" role=\"tablist\">\n <div class=\"headers\">{createHeaders()}</div>\n </div>\n <hr />\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -467,9 +467,10 @@ const AutocompleteComponent = class {
|
|
|
467
467
|
// with the `class` from the `menuAttributes` so
|
|
468
468
|
// we need to clean it up from the computed attributes
|
|
469
469
|
delete computedMenuAttributes.class;
|
|
470
|
-
return (index.h("div", { key: '
|
|
470
|
+
return (index.h("div", { key: '9cb9e0e2dad7646540004b2d36870c31b116f035', class: wrapperClassName, onKeyDown: event => this.handleKeyDown(event) }, this.label ? (index.h("admiralty-label", { class: "autocomplete__label", disabled: this.disabled, for: inputId }, this.label)) : null, this.hint ? (index.h("admiralty-hint", { id: hintId, disabled: this.disabled }, this.hint)) : null, index.h("div", { key: '93189d20cea5100ed4bc408824735569ea9d5e26', class: "autocomplete__input-wrapper" }, index.h("input", Object.assign({ key: '74770128149f77d1a4c17be5389188e29e34df1e' }, ariaProps, { disabled: this.disabled, "aria-disabled": this.disabled, autoComplete: "off", class: inputClassList.join(' '), id: inputId, onClick: event => this.handleInputClick(event), onBlur: event => this.handleInputBlur(event), onInput: event => this.handleInputChange(event), onFocus: event => this.handleInputFocus(event), name: this.name, placeholder: this.placeholder, ref: inputElement => {
|
|
471
471
|
this.elementReferences[-1] = inputElement;
|
|
472
|
-
}, type: "text", role: "combobox", required: this.required, value: this.query })),
|
|
472
|
+
}, type: "text", role: "combobox", required: this.required, value: this.query })), this.showAllValues &&
|
|
473
|
+
index.h("admiralty-icon", { key: '98032793bfdc0fb9ca7c90be9352e234de7d72bb', class: `autocomplete-down-icon ${this.disabled ? "disabled" : ""}`, "icon-name": this.menuOpen || showNoOptionsFound ? "angle-up" : "angle-down" })), index.h("ul", Object.assign({ key: '4b0ba76ad0eefa89c67b85bb8bb574133696e574' }, computedMenuAttributes, { class: menuClassList.join(' ') }), this.options.map((option, index$1) => {
|
|
473
474
|
const showFocused = this.focused === -1 ? this.selected === index$1 : this.focused === index$1;
|
|
474
475
|
const optionModifierFocused = showFocused && this.hovered === null ? ` ${optionClassName}--focused` : '';
|
|
475
476
|
const iosPosinsetHtml = isIosDevice()
|
|
@@ -481,7 +482,7 @@ const AutocompleteComponent = class {
|
|
|
481
482
|
return (index.h("li", { "aria-selected": this.focused === index$1 ? 'true' : 'false', class: `${optionClassName}${optionModifierFocused}`, innerHTML: this.templateSuggestion(option.text) + iosPosinsetHtml, id: `${id}__option--${index$1}`, key: index$1, onBlur: event => this.handleOptionBlur(event, index$1), onClick: event => this.handleOptionClick(event, index$1), onMouseDown: event => this.handleOptionMouseDown(event), onMouseEnter: () => this.handleOptionMouseEnter(index$1), ref: optionEl => {
|
|
482
483
|
this.elementReferences[index$1] = optionEl;
|
|
483
484
|
}, role: "option", tabIndex: -1, "aria-posinset": index$1 + 1, "aria-setsize": this.options.length }));
|
|
484
|
-
}), showNoOptionsFound && index.h("li", { key: '
|
|
485
|
+
}), showNoOptionsFound && index.h("li", { key: 'aef863d0e03270176d2967cc4f98ee813063debc', class: `${optionClassName} ${optionClassName}--no-results` }, "No results found")), index.h("span", { key: 'bf9764e00280f22c3f0901e7e9276e7a9c1d5eae', id: assistiveHintID, style: { display: 'none' } }, this.assistiveHint), this.invalid && this.invalidMessage && (index.h("admiralty-input-invalid", { key: '6be96502d68013e546a9e33d0ccdede7462fbb19', id: errorId, style: { visibility: this.invalid && this.invalidMessage ? 'visible' : 'hidden' } }, this.invalidMessage))));
|
|
485
486
|
}
|
|
486
487
|
get el() { return index.getElement(this); }
|
|
487
488
|
static get watchers() { return {
|