@ptcwebops/ptcw-design 4.0.1 → 4.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{component-4dd13907.js → component-06dda623.js} +1494 -3305
- package/dist/cjs/component-5b5b6a98.js +1819 -0
- package/dist/cjs/embedded-form.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/ptc-close-icon_2.cjs.entry.js +1 -1
- package/dist/cjs/ptc-data-lookup.cjs.entry.js +3 -1
- package/dist/cjs/{ptc-form-checkbox_3.cjs.entry.js → ptc-form-checkbox_2.cjs.entry.js} +4 -442
- package/dist/cjs/ptc-form.cjs.entry.js +6 -1
- package/dist/cjs/ptc-multi-select_2.cjs.entry.js +397 -0
- package/dist/cjs/ptc-preloader-section.cjs.entry.js +1 -1
- package/dist/cjs/ptcw-design.cjs.js +1 -1
- package/dist/cjs/validation-messages-efeb4248.js +114 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/organism-bundles/form/embedded-form/embedded-form.js +1 -1
- package/dist/collection/components/organism-bundles/form/ptc-form/ptc-form.js +6 -1
- package/dist/collection/components/ptc-modal/ptc-modal.css +28 -0
- package/dist/collection/components/ptc-modal/ptc-modal.js +2 -2
- package/dist/collection/components/ptc-multi-select/ptc-multi-select.css +171 -0
- package/dist/collection/components/ptc-multi-select/ptc-multi-select.js +166 -0
- package/dist/collection/components/ptc-preloader-section/ptc-preloader-section.css +1 -1
- package/dist/collection/utils/elq-lib.js +1 -0
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +72 -5
- package/dist/esm/{component-9c921cc6.js → component-274da230.js} +1482 -3281
- package/dist/esm/component-341e4eaa.js +1802 -0
- package/dist/esm/embedded-form.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/ptc-close-icon_2.entry.js +1 -1
- package/dist/esm/ptc-data-lookup.entry.js +3 -1
- package/dist/esm/{ptc-form-checkbox_3.entry.js → ptc-form-checkbox_2.entry.js} +3 -440
- package/dist/esm/ptc-form.entry.js +6 -1
- package/dist/esm/ptc-multi-select_2.entry.js +392 -0
- package/dist/esm/ptc-preloader-section.entry.js +1 -1
- package/dist/esm/ptcw-design.js +1 -1
- package/dist/esm/validation-messages-ffe89594.js +112 -0
- package/dist/ptcw-design/{p-03698164.entry.js → p-1af3f1ed.entry.js} +1 -1
- package/dist/ptcw-design/{p-fdd9d7de.entry.js → p-5fc1c5f6.entry.js} +1 -1
- package/dist/ptcw-design/{p-85485428.entry.js → p-76562876.entry.js} +1 -1
- package/dist/ptcw-design/p-855a0b03.entry.js +1 -0
- package/dist/ptcw-design/p-8918388b.entry.js +1 -0
- package/dist/ptcw-design/p-9d049707.entry.js +68 -0
- package/dist/ptcw-design/{p-70edb5f4.entry.js → p-a6767ab8.entry.js} +1 -1
- package/dist/ptcw-design/p-af3bb40d.js +1 -0
- package/dist/ptcw-design/p-be533f0d.js +134 -0
- package/dist/ptcw-design/p-c1513c3f.js +203 -0
- package/dist/ptcw-design/ptcw-design.esm.js +1 -1
- package/dist/types/components/ptc-modal/ptc-modal.d.ts +1 -1
- package/dist/types/components/ptc-multi-select/ptc-multi-select.d.ts +18 -0
- package/dist/types/components.d.ts +25 -2
- package/package.json +1 -1
- package/readme.md +1 -1
- package/dist/ptcw-design/p-0f7a260a.entry.js +0 -68
- package/dist/ptcw-design/p-8ed0833c.entry.js +0 -1
- package/dist/ptcw-design/p-bcab66bf.js +0 -336
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,h as e,H as
|
|
1
|
+
import{r as t,h as e,H as a,g as i}from"./p-0226ece0.js";const l=class{constructor(e){t(this,e),this.formData={email:"",firstName:"",lastName:"",company:"",country:"",phone:"",inquiryReason:"",howhearselfreport:"",policyChecked:!1}}componentDidLoad(){this.formButton=this.el.querySelector(".form-submit"),this.formButton.addEventListener("click",this.handleSubmit.bind(this)),this.emailEle=this.el.querySelector('ptc-textfield[field-id="contact-email"]'),this.firstNameEle=this.el.querySelector('ptc-textfield[field-id="contact-firstname"]'),this.lastNameEle=this.el.querySelector('ptc-textfield[field-id="contact-lastname"]'),this.companyEle=this.el.querySelector('ptc-textfield[field-id="company"]'),this.phoneEle=this.el.querySelector('ptc-textfield[field-id="contact-phone"]')}handleInputChange(t,e){this.formData=Object.assign(Object.assign({},this.formData),{[t]:e})}handleSubmit(t){if(t.preventDefault(),this.formData.email=this.emailEle.inputValue,this.formData.firstName=this.firstNameEle.inputValue,this.formData.lastName=this.lastNameEle.inputValue,this.formData.company=this.companyEle.inputValue,this.formData.phone=this.phoneEle.inputValue,this.isValid()){const t=new CustomEvent("formSubmit",{detail:this.formData,bubbles:!0});this.el.dispatchEvent(t),console.log("Form Submitted: "+this.formData)}else console.log("Form validation failed"),console.log("Form Submitted: "+this.formData.email,this.formData.firstName,this.formData.lastName,this.formData.company,this.formData.phone)}isValid(){const{email:t,firstName:e,lastName:a,company:i,country:l,phone:s,inquiryReason:c,howhearselfreport:m,policyChecked:n}=this.formData,d=document.querySelectorAll(".invalid-field").length;return""!==t&&""!==s&&""!==e&&""!==a&&""!==i&&""!==l&&""!==c&&""!=m&&n&&0===d}render(){return e(a,null,e("div",{class:"ptc-container ptc-section-standard u-flex u-flex-justify-center"},e("div",{class:"form-wrapper"},e("max-width-container",{"max-width":"277",breakpoint:480},e("ptc-title",{type:"h2","text-align":"center","title-size":"x-small","title-color":"gray",upperline:"no-upperline","title-display":"inline-block","title-height":"densest","title-margin":"margin-flush","title-weight":"w-6","is-plm-hub":"false"},"Please fill out the form and a PTC sales representative will be in touch."),e("ptc-spacer",{breakpoint:"x-small",size:"medium"}),e("ptc-spacer",{breakpoint:"x-small",size:"medium"}),e("ptc-spacer",{breakpoint:"small",size:"small"}),e("ptc-spacer",{breakpoint:"small",size:"small"})),e("form",{onSubmit:t=>this.handleSubmit(t)},e("ptc-textfield",{"field-id":"contact-firstname","label-text":"First Name*",type:"text","ptc-data-eloqua-name":"C_FirstName","field-name":"firstname"}),e("ptc-textfield",{"field-id":"contact-lastname","label-text":"Last Name*",type:"text","ptc-data-eloqua-name":"C_LastName","field-name":"lastname"}),e("ptc-textfield",{"field-id":"company","label-text":"Company*",type:"text","ptc-data-eloqua-name":"C_Company","field-name":"company"}),e("ptc-textfield",{"field-id":"contact-email","label-text":"Email*",type:"email","ptc-data-eloqua-name":"C_EmailAddress","field-name":"email"}),e("ptc-select",{"field-id":"contact-country",label:"Country*","ptc-data-eloqua-name":"C_Country","field-name":"country"},e("ul",{class:"mdc-list"},e("li",{class:"mdc-list-item","data-value":""},e("span",{class:"mdc-list-item__ripple"})),e("li",{class:"mdc-list-item","data-value":"USA"},e("span",{class:"mdc-list-item__ripple"}),e("span",{class:"mdc-list-item__text"},"USA")),e("li",{class:"mdc-list-item","data-value":"Canada"},e("span",{class:"mdc-list-item__ripple"}),e("span",{class:"mdc-list-item__text"},"Canada")),e("li",{class:"mdc-list-item","data-value":"China"},e("span",{class:"mdc-list-item__ripple"}),e("span",{class:"mdc-list-item__text"},"China")))),e("ptc-textfield",{"field-id":"contact-phone","label-text":"Phone*",type:"tel","ptc-data-eloqua-name":"C_BusPhone","field-name":"phone"}),e("ptc-select",{label:"What information are you interested in?*","ptc-data-eloqua-name":"Inquiry_Reason","field-name":"inquiryreason","field-id":"contact-inquiry"},e("ul",{class:"mdc-list"},e("li",{class:"mdc-list-item","data-value":""},e("span",{class:"mdc-list-item__ripple"})),e("li",{class:"mdc-list-item","data-value":"Augmented Reality (AR)"},e("span",{class:"mdc-list-item__ripple"}),e("span",{class:"mdc-list-item__text"},"Augmented Reality (AR)")),e("li",{class:"mdc-list-item","data-value":"CAD"},e("span",{class:"mdc-list-item__ripple"}),e("span",{class:"mdc-list-item__text"},"Computer Aided Design")),e("li",{class:"mdc-list-item","data-value":"Retail(FlexPLM)"},e("span",{class:"mdc-list-item__ripple"}),e("span",{class:"mdc-list-item__text"},"Fashion and Retail Product Lifecycle Management")))),e("ptc-multi-select",{items:[{text:"Item 1",selected:!1,ptcDataEloquaName:"item_1",ptcDataTargetEloquaName:"item_target-1"},{text:"Item 2",selected:!1,ptcDataEloquaName:"item_2",ptcDataTargetEloquaName:"item_target-2"},{text:"Item 3",selected:!1,ptcDataEloquaName:"item_3",ptcDataTargetEloquaName:"item_target-3"}]}),e("ptc-textfield",{"field-id":"Self-Reporting","label-text":"How can we help you?*",type:"text","ptc-data-eloqua-name":"HowHearSelfReport","ptc-max-length":"100","field-name":"howhearselfreport"}),e("ptc-form-checkbox",{label:"I agree to the policy","checkbox-id":"test"}),e("ptc-button",{class:"form-submit",color:"ptc-quaternary",type:"submit",styles:":host{align-self:flex-end; margin-top: 48px; display:block;}"},"Submit")))))}get el(){return i(this)}};l.style=":host{display:block}.form-wrapper{width:433px;display:flex;border-radius:3px;background:#FFF;box-shadow:0px 2px 6px 0px rgba(0, 0, 0, 0.16);flex-direction:column;align-items:center;padding:24px 0px}";export{l as ptc_form}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={de:{required:"Dieses Feld ist erforderlich.",select:"Bitte wählen Sie einen Wert.",firstname:"Bitte überprüfen Sie Ihren Vornamen.",lastname:"Bitte überprüfen Sie Ihren Nachnamen.",validemail:"Bitte geben Sie eine gültige E-Mail-Adresse ein.",email:"Bitte geben Sie eine gültige E-Mail-Adresse ein.",companyemail:"Bitte geben Sie eine Firmen-E-Mail-Adresse ein.",tel:"Telefonnummer ist erforderlich.",validtel:"Bitte geben Sie eine gültige Telefonnummer ein.",confirmemail:"E-Mail-Adressen müssen übereinstimmen."},en:{required:"This field is required.",select:"Please select a value.",firstname:"Please check your firstname.",lastname:"Please check your lastname.",validemail:"Please enter a valid email.",email:"Email is required.",companyemail:"Please enter a company email.",tel:"Telephone number is required.",validtel:"Please enter a valid telephone number",confirmemail:"Email addresses must match."},fr:{required:"Ce champ est obligatoire.",select:"Veuillez sélectionner une valeur.",firstname:"Veuillez vérifier votre prénom.",lastname:"Veuillez vérifier votre nom de famille.",validemail:"Veuillez saisir une adresse e-mail valide.",email:"Adresse e-mail requise.",companyemail:"Veuillez saisir une adresse e-mail professionnelle.",tel:"Numéro de téléphone requis.",validtel:"Veuillez saisir un numéro de téléphone valide.",confirmemail:"Les adresses e-mail doivent correspondre."},ko:{required:"이 필드는 필수입니다.",select:"값을 선택해 주세요.",firstname:"이름을 확인해 주세요.",lastname:"성을 확인해 주세요.",validemail:"유효한 이메일 주소를 입력해 주세요.",email:"이메일 주소가 필요합니다.",companyemail:"회사 이메일을 입력해 주세요.",tel:"전화번호가 필요합니다.",validtel:"유효한 전화번호를 입력해 주세요.",confirmemail:"이메일 주소가 일치해야 합니다"},pt:{required:"Este campo é obrigatório.",select:"Por favor, selecione um valor.",firstname:"Por favor, verifique seu primeiro nome.",lastname:"Por favor, verifique seu sobrenome.",validemail:"Por favor, insira um endereço de e-mail válido.",email:"Endereço de e-mail é obrigatório.",companyemail:"Por favor, insira um e-mail da empresa.",tel:"Número de telefone é obrigatório.",validtel:"Por favor, insira um número de telefone válido.",confirmemail:"Os endereços de e-mail devem corresponder."},cn:{required:"此字段为必填项。",select:"请选择一个值。",firstname:"请检查您的名字。",lastname:"请检查您的姓氏。",validemail:"请输入有效的电子邮件地址。",email:"需要电子邮件地址。",companyemail:"请输入公司电子邮件。",tel:"需要电话号码。",validtel:"请输入有效的电话号码。",confirmemail:"电子邮件地址必须匹配。"},tw:{required:"此欄位為必填。",select:"請選擇一個值。",firstname:"請檢查您的名字。",lastname:"請檢查您的姓氏。",validemail:"請輸入有效的電子郵件地址。",email:"需要電子郵件地址。",companyemail:"請輸入公司電子郵件。",tel:"需要電話號碼。",validtel:"請輸入有效的電話號碼。",confirmemail:"電子郵件地址必須匹配。"},ja:{required:"このフィールドは必須です。",select:"値を選択してください。",firstname:"名前を確認してください。",lastname:"苗字を確認してください。",validemail:"有効なメールアドレスを入力してください。",email:"メールアドレスが必要です。",companyemail:"会社のメールアドレスを入力してください。",tel:"電話番号が必要です。",validtel:"有効な電話番号を入力してください。",confirmemail:"メールアドレスが一致する必要があります。"},it:{required:"Questo campo è obbligatorio.",select:"Si prega di selezionare un valore.",firstname:"Si prega di controllare il proprio nome.",lastname:"Si prega di controllare il proprio cognome.",validemail:"Si prega di inserire un indirizzo email valido.",email:"L'indirizzo email è richiesto.",companyemail:"Si prega di inserire un'email aziendale.",tel:"È richiesto un numero di telefono.",validtel:"Si prega di inserire un numero di telefono valido.",confirmemail:"Gli indirizzi email devono corrispondere."}};export{e as V}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import{_ as t,a as i,b as n,c as e,M as s,m as r,d as u,e as o,f as h,g as c,h as f,i as a,j as l,k as d,l as m}from"./p-c1513c3f.js";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2018 Google Inc.
|
|
5
|
+
*
|
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
* in the Software without restriction, including without limitation the rights
|
|
9
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
* furnished to do so, subject to the following conditions:
|
|
12
|
+
*
|
|
13
|
+
* The above copyright notice and this permission notice shall be included in
|
|
14
|
+
* all copies or substantial portions of the Software.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
+
* THE SOFTWARE.
|
|
23
|
+
*/var b,E,I,A,v={ANCHOR:"mdc-menu-surface--anchor",ANIMATING_CLOSED:"mdc-menu-surface--animating-closed",ANIMATING_OPEN:"mdc-menu-surface--animating-open",FIXED:"mdc-menu-surface--fixed",IS_OPEN_BELOW:"mdc-menu-surface--is-open-below",OPEN:"mdc-menu-surface--open",ROOT:"mdc-menu-surface"},g={CLOSED_EVENT:"MDCMenuSurface:closed",CLOSING_EVENT:"MDCMenuSurface:closing",OPENED_EVENT:"MDCMenuSurface:opened",OPENING_EVENT:"MDCMenuSurface:opening",FOCUSABLE_ELEMENTS:["button:not(:disabled)",'[href]:not([aria-disabled="true"])',"input:not(:disabled)","select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"]):not([aria-disabled="true"])'].join(", ")},C={TRANSITION_OPEN_DURATION:120,TRANSITION_CLOSE_DURATION:75,MARGIN_TO_EDGE:32,ANCHOR_TO_MENU_SURFACE_WIDTH_RATIO:.67,TOUCH_EVENT_WAIT_MS:30};!function(t){t[t.BOTTOM=1]="BOTTOM",t[t.CENTER=2]="CENTER",t[t.RIGHT=4]="RIGHT",t[t.FLIP_RTL=8]="FLIP_RTL"}(b||(b={})),function(t){t[t.TOP_LEFT=0]="TOP_LEFT",t[t.TOP_RIGHT=4]="TOP_RIGHT",t[t.BOTTOM_LEFT=1]="BOTTOM_LEFT",t[t.BOTTOM_RIGHT=5]="BOTTOM_RIGHT",t[t.TOP_START=8]="TOP_START",t[t.TOP_END=12]="TOP_END",t[t.BOTTOM_START=9]="BOTTOM_START",t[t.BOTTOM_END=13]="BOTTOM_END"}(E||(E={}));var T={LIST_ITEM_ACTIVATED_CLASS:"mdc-list-item--activated",LIST_ITEM_CLASS:"mdc-list-item",LIST_ITEM_DISABLED_CLASS:"mdc-list-item--disabled",LIST_ITEM_SELECTED_CLASS:"mdc-list-item--selected",LIST_ITEM_TEXT_CLASS:"mdc-list-item__text",LIST_ITEM_PRIMARY_TEXT_CLASS:"mdc-list-item__primary-text",ROOT:"mdc-list"},O=((I={})[""+T.LIST_ITEM_ACTIVATED_CLASS]="mdc-list-item--activated",I[""+T.LIST_ITEM_CLASS]="mdc-list-item",I[""+T.LIST_ITEM_DISABLED_CLASS]="mdc-list-item--disabled",I[""+T.LIST_ITEM_SELECTED_CLASS]="mdc-list-item--selected",I[""+T.LIST_ITEM_PRIMARY_TEXT_CLASS]="mdc-list-item__primary-text",I[""+T.ROOT]="mdc-list",I),_=((A={})[""+T.LIST_ITEM_ACTIVATED_CLASS]="mdc-deprecated-list-item--activated",A[""+T.LIST_ITEM_CLASS]="mdc-deprecated-list-item",A[""+T.LIST_ITEM_DISABLED_CLASS]="mdc-deprecated-list-item--disabled",A[""+T.LIST_ITEM_SELECTED_CLASS]="mdc-deprecated-list-item--selected",A[""+T.LIST_ITEM_TEXT_CLASS]="mdc-deprecated-list-item__text",A[""+T.LIST_ITEM_PRIMARY_TEXT_CLASS]="mdc-deprecated-list-item__primary-text",A[""+T.ROOT]="mdc-deprecated-list",A),x={ACTION_EVENT:"MDCList:action",SELECTION_CHANGE_EVENT:"MDCList:selectionChange",ARIA_CHECKED:"aria-checked",ARIA_CHECKED_CHECKBOX_SELECTOR:'[role="checkbox"][aria-checked="true"]',ARIA_CHECKED_RADIO_SELECTOR:'[role="radio"][aria-checked="true"]',ARIA_CURRENT:"aria-current",ARIA_DISABLED:"aria-disabled",ARIA_ORIENTATION:"aria-orientation",ARIA_ORIENTATION_HORIZONTAL:"horizontal",ARIA_ROLE_CHECKBOX_SELECTOR:'[role="checkbox"]',ARIA_SELECTED:"aria-selected",ARIA_INTERACTIVE_ROLES_SELECTOR:'[role="listbox"], [role="menu"]',ARIA_MULTI_SELECTABLE_SELECTOR:'[aria-multiselectable="true"]',CHECKBOX_RADIO_SELECTOR:'input[type="checkbox"], input[type="radio"]',CHECKBOX_SELECTOR:'input[type="checkbox"]',CHILD_ELEMENTS_TO_TOGGLE_TABINDEX:"\n ."+T.LIST_ITEM_CLASS+" button:not(:disabled),\n ."+T.LIST_ITEM_CLASS+" a,\n ."+_[T.LIST_ITEM_CLASS]+" button:not(:disabled),\n ."+_[T.LIST_ITEM_CLASS]+" a\n ",DEPRECATED_SELECTOR:".mdc-deprecated-list",FOCUSABLE_CHILD_ELEMENTS:"\n ."+T.LIST_ITEM_CLASS+" button:not(:disabled),\n ."+T.LIST_ITEM_CLASS+" a,\n ."+T.LIST_ITEM_CLASS+' input[type="radio"]:not(:disabled),\n .'+T.LIST_ITEM_CLASS+' input[type="checkbox"]:not(:disabled),\n .'+_[T.LIST_ITEM_CLASS]+" button:not(:disabled),\n ."+_[T.LIST_ITEM_CLASS]+" a,\n ."+_[T.LIST_ITEM_CLASS]+' input[type="radio"]:not(:disabled),\n .'+_[T.LIST_ITEM_CLASS]+' input[type="checkbox"]:not(:disabled)\n ',RADIO_SELECTOR:'input[type="radio"]',SELECTED_ITEM_SELECTOR:'[aria-selected="true"], [aria-current="true"]'},S={UNSET_INDEX:-1,TYPEAHEAD_BUFFER_CLEAR_TIMEOUT_MS:300},p="Backspace",L="Enter",R="Spacebar",w="PageUp",y="PageDown",M="End",D="Home",N="ArrowLeft",F="ArrowUp",k="ArrowRight",j="ArrowDown",B="Delete",H="Escape",U=new Set;U.add(p),U.add(L),U.add(R),U.add(w),U.add(y),U.add(M),U.add(D),U.add(N),U.add(F),U.add(k),U.add(j),U.add(B),U.add(H),U.add("Tab");var P=new Map;P.set(8,p),P.set(13,L),P.set(32,R),P.set(33,w),P.set(34,y),P.set(35,M),P.set(36,D),P.set(37,N),P.set(38,F),P.set(39,k),P.set(40,j),P.set(46,B),P.set(27,H),P.set(9,"Tab");var V=new Set;function G(t){var i=t.key;return U.has(i)?i:P.get(t.keyCode)||"Unknown"}
|
|
24
|
+
/**
|
|
25
|
+
* @license
|
|
26
|
+
* Copyright 2020 Google Inc.
|
|
27
|
+
*
|
|
28
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
29
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
30
|
+
* in the Software without restriction, including without limitation the rights
|
|
31
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
32
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
33
|
+
* furnished to do so, subject to the following conditions:
|
|
34
|
+
*
|
|
35
|
+
* The above copyright notice and this permission notice shall be included in
|
|
36
|
+
* all copies or substantial portions of the Software.
|
|
37
|
+
*
|
|
38
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
39
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
40
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
41
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
42
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
43
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
44
|
+
* THE SOFTWARE.
|
|
45
|
+
*/V.add(w),V.add(y),V.add(M),V.add(D),V.add(N),V.add(F),V.add(k),V.add(j);var X=["input","button","textarea","select"],q=function(t){var i=t.target;if(i){var n=(""+i.tagName).toLowerCase();-1===X.indexOf(n)&&t.preventDefault()}};function W(t,i){var n,e=t.nextChar,s=t.focusItemAtIndex,r=t.sortedIndexByFirstChar,u=t.focusedItemIndex,o=t.skipFocus,h=t.isItemAtIndexDisabled;return clearTimeout(i.bufferClearTimeout),i.bufferClearTimeout=setTimeout((function(){z(i)}),S.TYPEAHEAD_BUFFER_CLEAR_TIMEOUT_MS),i.typeaheadBuffer=i.typeaheadBuffer+e,n=1===i.typeaheadBuffer.length?function(t,i,n,e){var s=e.typeaheadBuffer[0],r=t.get(s);if(!r)return-1;if(s===e.currentFirstChar&&r[e.sortedIndexCursor].index===i){e.sortedIndexCursor=(e.sortedIndexCursor+1)%r.length;var u=r[e.sortedIndexCursor].index;if(!n(u))return u}e.currentFirstChar=s;var o,h=-1;for(o=0;o<r.length;o++)if(!n(r[o].index)){h=o;break}for(;o<r.length;o++)if(r[o].index>i&&!n(r[o].index)){h=o;break}return-1!==h?(e.sortedIndexCursor=h,r[e.sortedIndexCursor].index):-1}(r,u,h,i):function(t,i,n){var e=t.get(n.typeaheadBuffer[0]);if(!e)return-1;var s=e[n.sortedIndexCursor];if(0===s.text.lastIndexOf(n.typeaheadBuffer,0)&&!i(s.index))return s.index;for(var r=(n.sortedIndexCursor+1)%e.length,u=-1;r!==n.sortedIndexCursor;){var o=e[r],h=0===o.text.lastIndexOf(n.typeaheadBuffer,0),c=!i(o.index);if(h&&c){u=r;break}r=(r+1)%e.length}return-1!==u?(n.sortedIndexCursor=u,e[n.sortedIndexCursor].index):-1}(r,h,i),-1===n||o||s(n),n}function K(t){return t.typeaheadBuffer.length>0}function z(t){t.typeaheadBuffer=""}function Y(t,i){var n=t.event,e=t.isTargetListItem,s=t.focusedItemIndex,r=t.focusItemAtIndex,u=t.sortedIndexByFirstChar,o=t.isItemAtIndexDisabled,h="ArrowLeft"===G(n),c="ArrowUp"===G(n),f="ArrowRight"===G(n),a="ArrowDown"===G(n),l="Home"===G(n),d="End"===G(n),m="Enter"===G(n),b="Spacebar"===G(n);return n.altKey||n.ctrlKey||n.metaKey||h||c||f||a||l||d||m?-1:b||1!==n.key.length?b?(e&&q(n),e&&K(i)?W({focusItemAtIndex:r,focusedItemIndex:s,nextChar:" ",sortedIndexByFirstChar:u,skipFocus:!1,isItemAtIndexDisabled:o},i):-1):-1:(q(n),W({focusItemAtIndex:r,focusedItemIndex:s,nextChar:n.key.toLowerCase(),sortedIndexByFirstChar:u,skipFocus:!1,isItemAtIndexDisabled:o},i))}
|
|
46
|
+
/**
|
|
47
|
+
* @license
|
|
48
|
+
* Copyright 2018 Google Inc.
|
|
49
|
+
*
|
|
50
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
51
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
52
|
+
* in the Software without restriction, including without limitation the rights
|
|
53
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
54
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
55
|
+
* furnished to do so, subject to the following conditions:
|
|
56
|
+
*
|
|
57
|
+
* The above copyright notice and this permission notice shall be included in
|
|
58
|
+
* all copies or substantial portions of the Software.
|
|
59
|
+
*
|
|
60
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
61
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
62
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
63
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
64
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
65
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
66
|
+
* THE SOFTWARE.
|
|
67
|
+
*/var Q=["Alt","Control","Meta","Shift"];function Z(t){var i=new Set(t?Q.filter((function(i){return t.getModifierState(i)})):[]);return function(t){return t.every((function(t){return i.has(t)}))&&t.length===i.size}}var J,$=function(s){function r(t){var n=s.call(this,i(i({},r.defaultAdapter),t))||this;return n.wrapFocus=!1,n.isVertical=!0,n.isSingleSelectionList=!1,n.areDisabledItemsFocusable=!0,n.selectedIndex=S.UNSET_INDEX,n.focusedItemIndex=S.UNSET_INDEX,n.useActivatedClass=!1,n.useSelectedAttr=!1,n.ariaCurrentAttrValue=null,n.isCheckboxList=!1,n.isRadioList=!1,n.lastSelectedIndex=null,n.hasTypeahead=!1,n.typeaheadState={bufferClearTimeout:0,currentFirstChar:"",sortedIndexCursor:0,typeaheadBuffer:""},n.sortedIndexByFirstChar=new Map,n}return t(r,s),Object.defineProperty(r,"strings",{get:function(){return x},enumerable:!1,configurable:!0}),Object.defineProperty(r,"cssClasses",{get:function(){return T},enumerable:!1,configurable:!0}),Object.defineProperty(r,"numbers",{get:function(){return S},enumerable:!1,configurable:!0}),Object.defineProperty(r,"defaultAdapter",{get:function(){return{addClassForElementIndex:function(){},focusItemAtIndex:function(){},getAttributeForElementIndex:function(){return null},getFocusedElementIndex:function(){return 0},getListItemCount:function(){return 0},hasCheckboxAtIndex:function(){return!1},hasRadioAtIndex:function(){return!1},isCheckboxCheckedAtIndex:function(){return!1},isFocusInsideList:function(){return!1},isRootFocused:function(){return!1},listItemAtIndexHasClass:function(){return!1},notifyAction:function(){},notifySelectionChange:function(){},removeClassForElementIndex:function(){},setAttributeForElementIndex:function(){},setCheckedCheckboxOrRadioAtIndex:function(){},setTabIndexForListItemChildren:function(){},getPrimaryTextAtIndex:function(){return""}}},enumerable:!1,configurable:!0}),r.prototype.layout=function(){0!==this.adapter.getListItemCount()&&(this.adapter.hasCheckboxAtIndex(0)?this.isCheckboxList=!0:this.adapter.hasRadioAtIndex(0)?this.isRadioList=!0:this.maybeInitializeSingleSelection(),this.hasTypeahead&&(this.sortedIndexByFirstChar=this.typeaheadInitSortedIndex()))},r.prototype.getFocusedItemIndex=function(){return this.focusedItemIndex},r.prototype.setWrapFocus=function(t){this.wrapFocus=t},r.prototype.setVerticalOrientation=function(t){this.isVertical=t},r.prototype.setSingleSelection=function(t){this.isSingleSelectionList=t,t&&(this.maybeInitializeSingleSelection(),this.selectedIndex=this.getSelectedIndexFromDOM())},r.prototype.setDisabledItemsFocusable=function(t){this.areDisabledItemsFocusable=t},r.prototype.maybeInitializeSingleSelection=function(){var t=this.getSelectedIndexFromDOM();t!==S.UNSET_INDEX&&(this.adapter.listItemAtIndexHasClass(t,T.LIST_ITEM_ACTIVATED_CLASS)&&this.setUseActivatedClass(!0),this.isSingleSelectionList=!0,this.selectedIndex=t)},r.prototype.getSelectedIndexFromDOM=function(){for(var t=S.UNSET_INDEX,i=this.adapter.getListItemCount(),n=0;n<i;n++){var e=this.adapter.listItemAtIndexHasClass(n,T.LIST_ITEM_SELECTED_CLASS),s=this.adapter.listItemAtIndexHasClass(n,T.LIST_ITEM_ACTIVATED_CLASS);if(e||s){t=n;break}}return t},r.prototype.setHasTypeahead=function(t){this.hasTypeahead=t,t&&(this.sortedIndexByFirstChar=this.typeaheadInitSortedIndex())},r.prototype.isTypeaheadInProgress=function(){return this.hasTypeahead&&K(this.typeaheadState)},r.prototype.setUseActivatedClass=function(t){this.useActivatedClass=t},r.prototype.setUseSelectedAttribute=function(t){this.useSelectedAttr=t},r.prototype.getSelectedIndex=function(){return this.selectedIndex},r.prototype.setSelectedIndex=function(t,i){void 0===i&&(i={}),this.isIndexValid(t)&&(this.isCheckboxList?this.setCheckboxAtIndex(t,i):this.isRadioList?this.setRadioAtIndex(t,i):this.setSingleSelectionAtIndex(t,i))},r.prototype.handleFocusIn=function(t){t>=0&&(this.focusedItemIndex=t,this.adapter.setAttributeForElementIndex(t,"tabindex","0"),this.adapter.setTabIndexForListItemChildren(t,"0"))},r.prototype.handleFocusOut=function(t){var i=this;t>=0&&(this.adapter.setAttributeForElementIndex(t,"tabindex","-1"),this.adapter.setTabIndexForListItemChildren(t,"-1")),setTimeout((function(){i.adapter.isFocusInsideList()||i.setTabindexToFirstSelectedOrFocusedItem()}),0)},r.prototype.isIndexDisabled=function(t){return this.adapter.listItemAtIndexHasClass(t,T.LIST_ITEM_DISABLED_CLASS)},r.prototype.handleKeydown=function(t,i,n){var e,s=this,r="ArrowLeft"===G(t),u="ArrowUp"===G(t),o="ArrowRight"===G(t),h="ArrowDown"===G(t),c="Home"===G(t),f="End"===G(t),a="Enter"===G(t),l="Spacebar"===G(t),d=this.isVertical&&h||!this.isVertical&&o,m=this.isVertical&&u||!this.isVertical&&r,b="A"===t.key||"a"===t.key,E=Z(t);if(this.adapter.isRootFocused())(m||f)&&E([])?(t.preventDefault(),this.focusLastElement()):(d||c)&&E([])?(t.preventDefault(),this.focusFirstElement()):m&&E(["Shift"])&&this.isCheckboxList?(t.preventDefault(),-1!==(A=this.focusLastElement())&&this.setSelectedIndexOnAction(A,!1)):d&&E(["Shift"])&&this.isCheckboxList&&(t.preventDefault(),-1!==(A=this.focusFirstElement())&&this.setSelectedIndexOnAction(A,!1)),this.hasTypeahead&&Y({event:t,focusItemAtIndex:function(t){s.focusItemAtIndex(t)},focusedItemIndex:-1,isTargetListItem:i,sortedIndexByFirstChar:this.sortedIndexByFirstChar,isItemAtIndexDisabled:function(t){return s.isIndexDisabled(t)}},this.typeaheadState);else{var I=this.adapter.getFocusedElementIndex();if(!(-1===I&&(I=n)<0)){if(d&&E([]))q(t),this.focusNextElement(I);else if(m&&E([]))q(t),this.focusPrevElement(I);else if(d&&E(["Shift"])&&this.isCheckboxList)q(t),-1!==(A=this.focusNextElement(I))&&this.setSelectedIndexOnAction(A,!1);else if(m&&E(["Shift"])&&this.isCheckboxList){var A;q(t),-1!==(A=this.focusPrevElement(I))&&this.setSelectedIndexOnAction(A,!1)}else if(c&&E([]))q(t),this.focusFirstElement();else if(f&&E([]))q(t),this.focusLastElement();else if(c&&E(["Control","Shift"])&&this.isCheckboxList){if(q(t),this.isIndexDisabled(I))return;this.focusFirstElement(),this.toggleCheckboxRange(0,I,I)}else if(f&&E(["Control","Shift"])&&this.isCheckboxList){if(q(t),this.isIndexDisabled(I))return;this.focusLastElement(),this.toggleCheckboxRange(I,this.adapter.getListItemCount()-1,I)}else if(b&&E(["Control"])&&this.isCheckboxList)t.preventDefault(),this.checkboxListToggleAll(this.selectedIndex===S.UNSET_INDEX?[]:this.selectedIndex,!0);else if((a||l)&&E([])){if(i){if((v=t.target)&&"A"===v.tagName&&a)return;if(q(t),this.isIndexDisabled(I))return;this.isTypeaheadInProgress()||(this.isSelectableList()&&this.setSelectedIndexOnAction(I,!1),this.adapter.notifyAction(I))}}else if((a||l)&&E(["Shift"])&&this.isCheckboxList){var v;if((v=t.target)&&"A"===v.tagName&&a)return;if(q(t),this.isIndexDisabled(I))return;this.isTypeaheadInProgress()||(this.toggleCheckboxRange(null!==(e=this.lastSelectedIndex)&&void 0!==e?e:I,I,I),this.adapter.notifyAction(I))}this.hasTypeahead&&Y({event:t,focusItemAtIndex:function(t){s.focusItemAtIndex(t)},focusedItemIndex:this.focusedItemIndex,isTargetListItem:i,sortedIndexByFirstChar:this.sortedIndexByFirstChar,isItemAtIndexDisabled:function(t){return s.isIndexDisabled(t)}},this.typeaheadState)}}},r.prototype.handleClick=function(t,i,n){var e,s=Z(n);t!==S.UNSET_INDEX&&(this.isIndexDisabled(t)||(s([])?(this.isSelectableList()&&this.setSelectedIndexOnAction(t,i),this.adapter.notifyAction(t)):this.isCheckboxList&&s(["Shift"])&&(this.toggleCheckboxRange(null!==(e=this.lastSelectedIndex)&&void 0!==e?e:t,t,t),this.adapter.notifyAction(t))))},r.prototype.focusNextElement=function(t){var i=this.adapter.getListItemCount(),n=t,e=null;do{if(++n>=i){if(!this.wrapFocus)return t;n=0}if(n===e)return-1;e=null!=e?e:n}while(!this.areDisabledItemsFocusable&&this.isIndexDisabled(n));return this.focusItemAtIndex(n),n},r.prototype.focusPrevElement=function(t){var i=this.adapter.getListItemCount(),n=t,e=null;do{if(--n<0){if(!this.wrapFocus)return t;n=i-1}if(n===e)return-1;e=null!=e?e:n}while(!this.areDisabledItemsFocusable&&this.isIndexDisabled(n));return this.focusItemAtIndex(n),n},r.prototype.focusFirstElement=function(){return this.focusNextElement(-1)},r.prototype.focusLastElement=function(){return this.focusPrevElement(this.adapter.getListItemCount())},r.prototype.focusInitialElement=function(){var t=this.getFirstSelectedOrFocusedItemIndex();return this.focusItemAtIndex(t),t},r.prototype.setEnabled=function(t,i){this.isIndexValid(t,!1)&&(i?(this.adapter.removeClassForElementIndex(t,T.LIST_ITEM_DISABLED_CLASS),this.adapter.setAttributeForElementIndex(t,x.ARIA_DISABLED,"false")):(this.adapter.addClassForElementIndex(t,T.LIST_ITEM_DISABLED_CLASS),this.adapter.setAttributeForElementIndex(t,x.ARIA_DISABLED,"true")))},r.prototype.setSingleSelectionAtIndex=function(t,i){if(void 0===i&&(i={}),this.selectedIndex!==t||i.forceUpdate){var n=T.LIST_ITEM_SELECTED_CLASS;this.useActivatedClass&&(n=T.LIST_ITEM_ACTIVATED_CLASS),this.selectedIndex!==S.UNSET_INDEX&&this.adapter.removeClassForElementIndex(this.selectedIndex,n),this.setAriaForSingleSelectionAtIndex(t),this.setTabindexAtIndex(t),t!==S.UNSET_INDEX&&this.adapter.addClassForElementIndex(t,n),this.selectedIndex=t,i.isUserInteraction&&!i.forceUpdate&&this.adapter.notifySelectionChange([t])}},r.prototype.setAriaForSingleSelectionAtIndex=function(t){this.selectedIndex===S.UNSET_INDEX&&(this.ariaCurrentAttrValue=this.adapter.getAttributeForElementIndex(t,x.ARIA_CURRENT));var i=null!==this.ariaCurrentAttrValue,n=i?x.ARIA_CURRENT:x.ARIA_SELECTED;this.selectedIndex!==S.UNSET_INDEX&&this.adapter.setAttributeForElementIndex(this.selectedIndex,n,"false"),t!==S.UNSET_INDEX&&this.adapter.setAttributeForElementIndex(t,n,i?this.ariaCurrentAttrValue:"true")},r.prototype.getSelectionAttribute=function(){return this.useSelectedAttr?x.ARIA_SELECTED:x.ARIA_CHECKED},r.prototype.setRadioAtIndex=function(t,i){void 0===i&&(i={});var n=this.getSelectionAttribute();this.adapter.setCheckedCheckboxOrRadioAtIndex(t,!0),(this.selectedIndex!==t||i.forceUpdate)&&(this.selectedIndex!==S.UNSET_INDEX&&this.adapter.setAttributeForElementIndex(this.selectedIndex,n,"false"),this.adapter.setAttributeForElementIndex(t,n,"true"),this.selectedIndex=t,i.isUserInteraction&&!i.forceUpdate&&this.adapter.notifySelectionChange([t]))},r.prototype.setCheckboxAtIndex=function(t,i){void 0===i&&(i={});for(var n=this.selectedIndex,e=i.isUserInteraction?new Set(n===S.UNSET_INDEX?[]:n):null,s=this.getSelectionAttribute(),r=[],u=0;u<this.adapter.getListItemCount();u++){var o=null==e?void 0:e.has(u),h=t.indexOf(u)>=0;h!==o&&r.push(u),this.adapter.setCheckedCheckboxOrRadioAtIndex(u,h),this.adapter.setAttributeForElementIndex(u,s,h?"true":"false")}this.selectedIndex=t,i.isUserInteraction&&r.length&&this.adapter.notifySelectionChange(r)},r.prototype.toggleCheckboxRange=function(t,i,s){this.lastSelectedIndex=s;for(var r=new Set(this.selectedIndex===S.UNSET_INDEX?[]:this.selectedIndex),u=!(null==r?void 0:r.has(s)),o=n([t,i].sort(),2),h=o[0],c=o[1],f=this.getSelectionAttribute(),a=[],l=h;l<=c;l++)this.isIndexDisabled(l)||u!==r.has(l)&&(a.push(l),this.adapter.setCheckedCheckboxOrRadioAtIndex(l,u),this.adapter.setAttributeForElementIndex(l,f,""+u),u?r.add(l):r.delete(l));a.length&&(this.selectedIndex=e([],n(r)),this.adapter.notifySelectionChange(a))},r.prototype.setTabindexAtIndex=function(t){this.focusedItemIndex===S.UNSET_INDEX&&0!==t?this.adapter.setAttributeForElementIndex(0,"tabindex","-1"):this.focusedItemIndex>=0&&this.focusedItemIndex!==t&&this.adapter.setAttributeForElementIndex(this.focusedItemIndex,"tabindex","-1"),this.selectedIndex instanceof Array||this.selectedIndex===t||this.adapter.setAttributeForElementIndex(this.selectedIndex,"tabindex","-1"),t!==S.UNSET_INDEX&&this.adapter.setAttributeForElementIndex(t,"tabindex","0")},r.prototype.isSelectableList=function(){return this.isSingleSelectionList||this.isCheckboxList||this.isRadioList},r.prototype.setTabindexToFirstSelectedOrFocusedItem=function(){var t=this.getFirstSelectedOrFocusedItemIndex();this.setTabindexAtIndex(t)},r.prototype.getFirstSelectedOrFocusedItemIndex=function(){return this.isSelectableList()?"number"==typeof this.selectedIndex&&this.selectedIndex!==S.UNSET_INDEX?this.selectedIndex:this.selectedIndex instanceof Array&&this.selectedIndex.length>0?this.selectedIndex.reduce((function(t,i){return Math.min(t,i)})):0:Math.max(this.focusedItemIndex,0)},r.prototype.isIndexValid=function(t,i){var n=this;if(void 0===i&&(i=!0),t instanceof Array){if(!this.isCheckboxList&&i)throw new Error("MDCListFoundation: Array of index is only supported for checkbox based list");return 0===t.length||t.some((function(t){return n.isIndexInRange(t)}))}if("number"==typeof t){if(this.isCheckboxList&&i)throw new Error("MDCListFoundation: Expected array of index for checkbox based list but got number: "+t);return this.isIndexInRange(t)||this.isSingleSelectionList&&t===S.UNSET_INDEX}return!1},r.prototype.isIndexInRange=function(t){var i=this.adapter.getListItemCount();return t>=0&&t<i},r.prototype.setSelectedIndexOnAction=function(t,i){this.lastSelectedIndex=t,this.isCheckboxList?(this.toggleCheckboxAtIndex(t,i),this.adapter.notifySelectionChange([t])):this.setSelectedIndex(t,{isUserInteraction:!0})},r.prototype.toggleCheckboxAtIndex=function(t,i){var n,e=this.getSelectionAttribute(),s=this.adapter.isCheckboxCheckedAtIndex(t);i?n=s:this.adapter.setCheckedCheckboxOrRadioAtIndex(t,n=!s),this.adapter.setAttributeForElementIndex(t,e,n?"true":"false");var r=this.selectedIndex===S.UNSET_INDEX?[]:this.selectedIndex.slice();n?r.push(t):r=r.filter((function(i){return i!==t})),this.selectedIndex=r},r.prototype.focusItemAtIndex=function(t){this.adapter.focusItemAtIndex(t),this.focusedItemIndex=t},r.prototype.checkboxListToggleAll=function(t,i){var n=this.adapter.getListItemCount();if(t.length===n)this.setCheckboxAtIndex([],{isUserInteraction:i});else{for(var e=[],s=0;s<n;s++)(!this.isIndexDisabled(s)||t.indexOf(s)>-1)&&e.push(s);this.setCheckboxAtIndex(e,{isUserInteraction:i})}},r.prototype.typeaheadMatchItem=function(t,i,n){var e=this;return void 0===n&&(n=!1),W({focusItemAtIndex:function(t){e.focusItemAtIndex(t)},focusedItemIndex:i||this.focusedItemIndex,nextChar:t,sortedIndexByFirstChar:this.sortedIndexByFirstChar,skipFocus:n,isItemAtIndexDisabled:function(t){return e.isIndexDisabled(t)}},this.typeaheadState)},r.prototype.typeaheadInitSortedIndex=function(){return function(t,i){for(var n=new Map,e=0;e<t;e++){var s=i(e).trim();if(s){var r=s[0].toLowerCase();n.has(r)||n.set(r,[]),n.get(r).push({text:s.toLowerCase(),index:e})}}return n.forEach((function(t){t.sort((function(t,i){return t.index-i.index}))})),n}(this.adapter.getListItemCount(),this.adapter.getPrimaryTextAtIndex)},r.prototype.clearTypeaheadBuffer=function(){z(this.typeaheadState)},r}(s),tt=function(i){function n(){return null!==i&&i.apply(this,arguments)||this}return t(n,i),Object.defineProperty(n.prototype,"vertical",{set:function(t){this.foundation.setVerticalOrientation(t)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"listElements",{get:function(){return Array.from(this.root.querySelectorAll("."+this.classNameMap[T.LIST_ITEM_CLASS]))},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"wrapFocus",{set:function(t){this.foundation.setWrapFocus(t)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"typeaheadInProgress",{get:function(){return this.foundation.isTypeaheadInProgress()},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasTypeahead",{set:function(t){this.foundation.setHasTypeahead(t)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"singleSelection",{set:function(t){this.foundation.setSingleSelection(t)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"disabledItemsFocusable",{set:function(t){this.foundation.setDisabledItemsFocusable(t)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"selectedIndex",{get:function(){return this.foundation.getSelectedIndex()},set:function(t){this.foundation.setSelectedIndex(t)},enumerable:!1,configurable:!0}),n.attachTo=function(t){return new n(t)},n.prototype.initialSyncWithDOM=function(){this.isEvolutionEnabled="evolution"in this.root.dataset,this.classNameMap=this.isEvolutionEnabled?O:r(this.root,x.DEPRECATED_SELECTOR)?_:Object.values(T).reduce((function(t,i){return t[i]=i,t}),{}),this.handleClick=this.handleClickEvent.bind(this),this.handleKeydown=this.handleKeydownEvent.bind(this),this.focusInEventListener=this.handleFocusInEvent.bind(this),this.focusOutEventListener=this.handleFocusOutEvent.bind(this),this.listen("keydown",this.handleKeydown),this.listen("click",this.handleClick),this.listen("focusin",this.focusInEventListener),this.listen("focusout",this.focusOutEventListener),this.layout(),this.initializeListType(),this.ensureFocusable()},n.prototype.destroy=function(){this.unlisten("keydown",this.handleKeydown),this.unlisten("click",this.handleClick),this.unlisten("focusin",this.focusInEventListener),this.unlisten("focusout",this.focusOutEventListener)},n.prototype.layout=function(){var t=this.root.getAttribute(x.ARIA_ORIENTATION);this.vertical=t!==x.ARIA_ORIENTATION_HORIZONTAL;var i=x.FOCUSABLE_CHILD_ELEMENTS,n=this.root.querySelectorAll("."+this.classNameMap[T.LIST_ITEM_CLASS]+":not([tabindex])");n.length&&Array.prototype.forEach.call(n,(function(t){t.setAttribute("tabindex","-1")}));var e=this.root.querySelectorAll(i);e.length&&Array.prototype.forEach.call(e,(function(t){t.setAttribute("tabindex","-1")})),this.isEvolutionEnabled&&this.foundation.setUseSelectedAttribute(!0),this.foundation.layout()},n.prototype.getPrimaryText=function(t){var i,n=t.querySelector("."+this.classNameMap[T.LIST_ITEM_PRIMARY_TEXT_CLASS]);if(this.isEvolutionEnabled||n)return null!==(i=null==n?void 0:n.textContent)&&void 0!==i?i:"";var e=t.querySelector("."+this.classNameMap[T.LIST_ITEM_TEXT_CLASS]);return e&&e.textContent||""},n.prototype.initializeListType=function(){var t=this;if(this.isInteractive=r(this.root,x.ARIA_INTERACTIVE_ROLES_SELECTOR),this.isEvolutionEnabled&&this.isInteractive){var i=Array.from(this.root.querySelectorAll(x.SELECTED_ITEM_SELECTOR),(function(i){return t.listElements.indexOf(i)}));r(this.root,x.ARIA_MULTI_SELECTABLE_SELECTOR)?this.selectedIndex=i:i.length>0&&(this.selectedIndex=i[0])}else{var n=this.root.querySelectorAll(x.ARIA_ROLE_CHECKBOX_SELECTOR),e=this.root.querySelector(x.ARIA_CHECKED_RADIO_SELECTOR);if(n.length){var s=this.root.querySelectorAll(x.ARIA_CHECKED_CHECKBOX_SELECTOR);this.selectedIndex=Array.from(s,(function(i){return t.listElements.indexOf(i)}))}else e&&(this.selectedIndex=this.listElements.indexOf(e))}},n.prototype.setEnabled=function(t,i){this.foundation.setEnabled(t,i)},n.prototype.typeaheadMatchItem=function(t,i){return this.foundation.typeaheadMatchItem(t,i,!0)},n.prototype.getDefaultFoundation=function(){var t=this;return new $({addClassForElementIndex:function(i,n){var e=t.listElements[i];e&&e.classList.add(t.classNameMap[n])},focusItemAtIndex:function(i){var n=t.listElements[i];n&&n.focus()},getAttributeForElementIndex:function(i,n){return t.listElements[i].getAttribute(n)},getFocusedElementIndex:function(){return t.listElements.indexOf(document.activeElement)},getListItemCount:function(){return t.listElements.length},getPrimaryTextAtIndex:function(i){return t.getPrimaryText(t.listElements[i])},hasCheckboxAtIndex:function(i){return!!t.listElements[i].querySelector(x.CHECKBOX_SELECTOR)},hasRadioAtIndex:function(i){return!!t.listElements[i].querySelector(x.RADIO_SELECTOR)},isCheckboxCheckedAtIndex:function(i){return t.listElements[i].querySelector(x.CHECKBOX_SELECTOR).checked},isFocusInsideList:function(){return t.root!==document.activeElement&&t.root.contains(document.activeElement)},isRootFocused:function(){return document.activeElement===t.root},listItemAtIndexHasClass:function(i,n){return t.listElements[i].classList.contains(t.classNameMap[n])},notifyAction:function(i){t.emit(x.ACTION_EVENT,{index:i},!0)},notifySelectionChange:function(i){t.emit(x.SELECTION_CHANGE_EVENT,{changedIndices:i},!0)},removeClassForElementIndex:function(i,n){var e=t.listElements[i];e&&e.classList.remove(t.classNameMap[n])},setAttributeForElementIndex:function(i,n,e){var s=t.listElements[i];s&&s.setAttribute(n,e)},setCheckedCheckboxOrRadioAtIndex:function(i,n){var e=t.listElements[i].querySelector(x.CHECKBOX_RADIO_SELECTOR);e.checked=n;var s=document.createEvent("Event");s.initEvent("change",!0,!0),e.dispatchEvent(s)},setTabIndexForListItemChildren:function(i,n){Array.prototype.forEach.call(t.listElements[i].querySelectorAll(x.CHILD_ELEMENTS_TO_TOGGLE_TABINDEX),(function(t){t.setAttribute("tabindex",n)}))}})},n.prototype.ensureFocusable=function(){if(this.isEvolutionEnabled&&this.isInteractive&&!this.root.querySelector("."+this.classNameMap[T.LIST_ITEM_CLASS]+'[tabindex="0"]')){var t=this.initialFocusIndex();-1!==t&&(this.listElements[t].tabIndex=0)}},n.prototype.initialFocusIndex=function(){if(this.selectedIndex instanceof Array&&this.selectedIndex.length>0)return this.selectedIndex[0];if("number"==typeof this.selectedIndex&&this.selectedIndex!==S.UNSET_INDEX)return this.selectedIndex;var t=this.root.querySelector("."+this.classNameMap[T.LIST_ITEM_CLASS]+":not(."+this.classNameMap[T.LIST_ITEM_DISABLED_CLASS]+")");return null===t?-1:this.getListItemIndex(t)},n.prototype.getListItemIndex=function(t){var i=u(t,"."+this.classNameMap[T.LIST_ITEM_CLASS]+", ."+this.classNameMap[T.ROOT]);return i&&r(i,"."+this.classNameMap[T.LIST_ITEM_CLASS])?this.listElements.indexOf(i):-1},n.prototype.handleFocusInEvent=function(t){var i=this.getListItemIndex(t.target);this.foundation.handleFocusIn(i)},n.prototype.handleFocusOutEvent=function(t){var i=this.getListItemIndex(t.target);this.foundation.handleFocusOut(i)},n.prototype.handleKeydownEvent=function(t){var i=this.getListItemIndex(t.target);this.foundation.handleKeydown(t,t.target.classList.contains(this.classNameMap[T.LIST_ITEM_CLASS]),i)},n.prototype.handleClickEvent=function(t){var i=this.getListItemIndex(t.target),n=!r(t.target,x.CHECKBOX_RADIO_SELECTOR);this.foundation.handleClick(i,n,t)},n}(o),it=function(n){function e(t){var s=n.call(this,i(i({},e.defaultAdapter),t))||this;return s.isSurfaceOpen=!1,s.isQuickOpen=!1,s.isHoistedElement=!1,s.isFixedPosition=!1,s.isHorizontallyCenteredOnViewport=!1,s.maxHeight=0,s.openBottomBias=0,s.openAnimationEndTimerId=0,s.closeAnimationEndTimerId=0,s.animationRequestId=0,s.anchorCorner=E.TOP_START,s.originCorner=E.TOP_START,s.anchorMargin={top:0,right:0,bottom:0,left:0},s.position={x:0,y:0},s}return t(e,n),Object.defineProperty(e,"cssClasses",{get:function(){return v},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return g},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return C},enumerable:!1,configurable:!0}),Object.defineProperty(e,"Corner",{get:function(){return E},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},hasClass:function(){return!1},hasAnchor:function(){return!1},isElementInContainer:function(){return!1},isFocused:function(){return!1},isRtl:function(){return!1},getInnerDimensions:function(){return{height:0,width:0}},getAnchorDimensions:function(){return null},getWindowDimensions:function(){return{height:0,width:0}},getBodyDimensions:function(){return{height:0,width:0}},getWindowScroll:function(){return{x:0,y:0}},setPosition:function(){},setMaxHeight:function(){},setTransformOrigin:function(){},saveFocus:function(){},restoreFocus:function(){},notifyClose:function(){},notifyClosing:function(){},notifyOpen:function(){},notifyOpening:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){var t=e.cssClasses,i=t.ROOT,n=t.OPEN;if(!this.adapter.hasClass(i))throw new Error(i+" class required in root element.");this.adapter.hasClass(n)&&(this.isSurfaceOpen=!0)},e.prototype.destroy=function(){clearTimeout(this.openAnimationEndTimerId),clearTimeout(this.closeAnimationEndTimerId),cancelAnimationFrame(this.animationRequestId)},e.prototype.setAnchorCorner=function(t){this.anchorCorner=t},e.prototype.flipCornerHorizontally=function(){this.originCorner=this.originCorner^b.RIGHT},e.prototype.setAnchorMargin=function(t){this.anchorMargin.top=t.top||0,this.anchorMargin.right=t.right||0,this.anchorMargin.bottom=t.bottom||0,this.anchorMargin.left=t.left||0},e.prototype.setIsHoisted=function(t){this.isHoistedElement=t},e.prototype.setFixedPosition=function(t){this.isFixedPosition=t},e.prototype.isFixed=function(){return this.isFixedPosition},e.prototype.setAbsolutePosition=function(t,i){this.position.x=this.isFinite(t)?t:0,this.position.y=this.isFinite(i)?i:0},e.prototype.setIsHorizontallyCenteredOnViewport=function(t){this.isHorizontallyCenteredOnViewport=t},e.prototype.setQuickOpen=function(t){this.isQuickOpen=t},e.prototype.setMaxHeight=function(t){this.maxHeight=t},e.prototype.setOpenBottomBias=function(t){this.openBottomBias=t},e.prototype.isOpen=function(){return this.isSurfaceOpen},e.prototype.open=function(){var t=this;this.isSurfaceOpen||(this.adapter.notifyOpening(),this.adapter.saveFocus(),this.isQuickOpen?(this.isSurfaceOpen=!0,this.adapter.addClass(e.cssClasses.OPEN),this.dimensions=this.adapter.getInnerDimensions(),this.autoposition(),this.adapter.notifyOpen()):(this.adapter.addClass(e.cssClasses.ANIMATING_OPEN),this.animationRequestId=requestAnimationFrame((function(){t.dimensions=t.adapter.getInnerDimensions(),t.autoposition(),t.adapter.addClass(e.cssClasses.OPEN),t.openAnimationEndTimerId=setTimeout((function(){t.openAnimationEndTimerId=0,t.adapter.removeClass(e.cssClasses.ANIMATING_OPEN),t.adapter.notifyOpen()}),C.TRANSITION_OPEN_DURATION)})),this.isSurfaceOpen=!0))},e.prototype.close=function(t){var i=this;if(void 0===t&&(t=!1),this.isSurfaceOpen){if(this.adapter.notifyClosing(),this.isQuickOpen)return this.isSurfaceOpen=!1,t||this.maybeRestoreFocus(),this.adapter.removeClass(e.cssClasses.OPEN),this.adapter.removeClass(e.cssClasses.IS_OPEN_BELOW),void this.adapter.notifyClose();this.adapter.addClass(e.cssClasses.ANIMATING_CLOSED),requestAnimationFrame((function(){i.adapter.removeClass(e.cssClasses.OPEN),i.adapter.removeClass(e.cssClasses.IS_OPEN_BELOW),i.closeAnimationEndTimerId=setTimeout((function(){i.closeAnimationEndTimerId=0,i.adapter.removeClass(e.cssClasses.ANIMATING_CLOSED),i.adapter.notifyClose()}),C.TRANSITION_CLOSE_DURATION)})),this.isSurfaceOpen=!1,t||this.maybeRestoreFocus()}},e.prototype.handleBodyClick=function(t){this.adapter.isElementInContainer(t.target)||this.close()},e.prototype.handleKeydown=function(t){("Escape"===t.key||27===t.keyCode)&&this.close()},e.prototype.autoposition=function(){var t;this.measurements=this.getAutoLayoutmeasurements();var i=this.getoriginCorner(),n=this.getMenuSurfaceMaxHeight(i),s=this.hasBit(i,b.BOTTOM)?"bottom":"top",r=this.hasBit(i,b.RIGHT)?"right":"left",u=this.getHorizontalOriginOffset(i),o=this.getVerticalOriginOffset(i),h=this.measurements,c=h.anchorSize,f=h.surfaceSize,a=((t={})[r]=u,t[s]=o,t);c.width/f.width>C.ANCHOR_TO_MENU_SURFACE_WIDTH_RATIO&&(r="center"),(this.isHoistedElement||this.isFixedPosition)&&this.adjustPositionForHoistedElement(a),this.adapter.setTransformOrigin(r+" "+s),this.adapter.setPosition(a),this.adapter.setMaxHeight(n?n+"px":""),this.hasBit(i,b.BOTTOM)||this.adapter.addClass(e.cssClasses.IS_OPEN_BELOW)},e.prototype.getAutoLayoutmeasurements=function(){var t=this.adapter.getAnchorDimensions(),i=this.adapter.getBodyDimensions(),n=this.adapter.getWindowDimensions(),e=this.adapter.getWindowScroll();return t||(t={top:this.position.y,right:this.position.x,bottom:this.position.y,left:this.position.x,width:0,height:0}),{anchorSize:t,bodySize:i,surfaceSize:this.dimensions,viewportDistance:{top:t.top,right:n.width-t.right,bottom:n.height-t.bottom,left:t.left},viewportSize:n,windowScroll:e}},e.prototype.getoriginCorner=function(){var t,i,n=this.originCorner,s=this.measurements,r=s.viewportDistance,u=s.anchorSize,o=s.surfaceSize,h=e.numbers.MARGIN_TO_EDGE;this.hasBit(this.anchorCorner,b.BOTTOM)?(t=r.top-h+this.anchorMargin.bottom,i=r.bottom-h-this.anchorMargin.bottom):(t=r.top-h+this.anchorMargin.top,i=r.bottom-h+u.height-this.anchorMargin.top),!(i-o.height>0)&&t>i+this.openBottomBias&&(n=this.setBit(n,b.BOTTOM));var c,f,a,l=this.adapter.isRtl(),d=this.hasBit(this.anchorCorner,b.FLIP_RTL),m=this.hasBit(this.anchorCorner,b.RIGHT)||this.hasBit(n,b.RIGHT);(a=l&&d?!m:m)?(c=r.left+u.width+this.anchorMargin.right,f=r.right-this.anchorMargin.right):(c=r.left+this.anchorMargin.left,f=r.right+u.width-this.anchorMargin.left);var E=c-o.width>0,I=f-o.width>0,A=this.hasBit(n,b.FLIP_RTL)&&this.hasBit(n,b.RIGHT);return I&&A&&l||!E&&A?n=this.unsetBit(n,b.RIGHT):(E&&a&&l||E&&!a&&m||!I&&c>=f)&&(n=this.setBit(n,b.RIGHT)),n},e.prototype.getMenuSurfaceMaxHeight=function(t){if(this.maxHeight>0)return this.maxHeight;var i=this.measurements.viewportDistance,n=0,s=this.hasBit(t,b.BOTTOM),r=this.hasBit(this.anchorCorner,b.BOTTOM),u=e.numbers.MARGIN_TO_EDGE;return s?(n=i.top+this.anchorMargin.top-u,r||(n+=this.measurements.anchorSize.height)):(n=i.bottom-this.anchorMargin.bottom+this.measurements.anchorSize.height-u,r&&(n-=this.measurements.anchorSize.height)),n},e.prototype.getHorizontalOriginOffset=function(t){var i=this.measurements.anchorSize,n=this.hasBit(t,b.RIGHT),e=this.hasBit(this.anchorCorner,b.RIGHT);if(n){var s=e?i.width-this.anchorMargin.left:this.anchorMargin.right;return this.isHoistedElement||this.isFixedPosition?s-(this.measurements.viewportSize.width-this.measurements.bodySize.width):s}return e?i.width-this.anchorMargin.right:this.anchorMargin.left},e.prototype.getVerticalOriginOffset=function(t){var i=this.measurements.anchorSize,n=this.hasBit(t,b.BOTTOM),e=this.hasBit(this.anchorCorner,b.BOTTOM);return n?e?i.height-this.anchorMargin.top:-this.anchorMargin.bottom:e?i.height+this.anchorMargin.bottom:this.anchorMargin.top},e.prototype.adjustPositionForHoistedElement=function(t){var i,n,e=this.measurements,s=e.windowScroll,r=e.viewportDistance,u=e.surfaceSize,o=e.viewportSize,c=Object.keys(t);try{for(var f=h(c),a=f.next();!a.done;a=f.next()){var l=a.value,d=t[l]||0;!this.isHorizontallyCenteredOnViewport||"left"!==l&&"right"!==l?(d+=r[l],this.isFixedPosition||("top"===l?d+=s.y:"bottom"===l?d-=s.y:"left"===l?d+=s.x:d-=s.x),t[l]=d):t[l]=(o.width-u.width)/2}}catch(t){i={error:t}}finally{try{a&&!a.done&&(n=f.return)&&n.call(f)}finally{if(i)throw i.error}}},e.prototype.maybeRestoreFocus=function(){var t=this,i=this.adapter.isFocused(),n=this.adapter.getOwnerDocument?this.adapter.getOwnerDocument():document,e=n.activeElement&&this.adapter.isElementInContainer(n.activeElement);(i||e)&&setTimeout((function(){t.adapter.restoreFocus()}),C.TOUCH_EVENT_WAIT_MS)},e.prototype.hasBit=function(t,i){return Boolean(t&i)},e.prototype.setBit=function(t,i){return t|i},e.prototype.unsetBit=function(t,i){return t^i},e.prototype.isFinite=function(t){return"number"==typeof t&&isFinite(t)},e}(s),nt=function(i){function n(){return null!==i&&i.apply(this,arguments)||this}return t(n,i),n.attachTo=function(t){return new n(t)},n.prototype.initialSyncWithDOM=function(){var t=this,i=this.root.parentElement;this.anchorElement=i&&i.classList.contains(v.ANCHOR)?i:null,this.root.classList.contains(v.FIXED)&&this.setFixedPosition(!0),this.handleKeydown=function(i){t.foundation.handleKeydown(i)},this.handleBodyClick=function(i){t.foundation.handleBodyClick(i)},this.registerBodyClickListener=function(){document.body.addEventListener("click",t.handleBodyClick,{capture:!0})},this.deregisterBodyClickListener=function(){document.body.removeEventListener("click",t.handleBodyClick,{capture:!0})},this.listen("keydown",this.handleKeydown),this.listen(g.OPENED_EVENT,this.registerBodyClickListener),this.listen(g.CLOSED_EVENT,this.deregisterBodyClickListener)},n.prototype.destroy=function(){this.unlisten("keydown",this.handleKeydown),this.unlisten(g.OPENED_EVENT,this.registerBodyClickListener),this.unlisten(g.CLOSED_EVENT,this.deregisterBodyClickListener),i.prototype.destroy.call(this)},n.prototype.isOpen=function(){return this.foundation.isOpen()},n.prototype.open=function(){this.foundation.open()},n.prototype.close=function(t){void 0===t&&(t=!1),this.foundation.close(t)},Object.defineProperty(n.prototype,"quickOpen",{set:function(t){this.foundation.setQuickOpen(t)},enumerable:!1,configurable:!0}),n.prototype.setIsHoisted=function(t){this.foundation.setIsHoisted(t)},n.prototype.setMenuSurfaceAnchorElement=function(t){this.anchorElement=t},n.prototype.setFixedPosition=function(t){t?this.root.classList.add(v.FIXED):this.root.classList.remove(v.FIXED),this.foundation.setFixedPosition(t)},n.prototype.setAbsolutePosition=function(t,i){this.foundation.setAbsolutePosition(t,i),this.setIsHoisted(!0)},n.prototype.setAnchorCorner=function(t){this.foundation.setAnchorCorner(t)},n.prototype.setAnchorMargin=function(t){this.foundation.setAnchorMargin(t)},n.prototype.getDefaultFoundation=function(){var t=this;return new it({addClass:function(i){return t.root.classList.add(i)},removeClass:function(i){return t.root.classList.remove(i)},hasClass:function(i){return t.root.classList.contains(i)},hasAnchor:function(){return!!t.anchorElement},notifyClose:function(){return t.emit(it.strings.CLOSED_EVENT,{})},notifyClosing:function(){t.emit(it.strings.CLOSING_EVENT,{})},notifyOpen:function(){return t.emit(it.strings.OPENED_EVENT,{})},notifyOpening:function(){return t.emit(it.strings.OPENING_EVENT,{})},isElementInContainer:function(i){return t.root.contains(i)},isRtl:function(){return"rtl"===getComputedStyle(t.root).getPropertyValue("direction")},setTransformOrigin:function(i){var n=c(window,"transform")+"-origin";t.root.style.setProperty(n,i)},isFocused:function(){return document.activeElement===t.root},saveFocus:function(){t.previousFocus=document.activeElement},restoreFocus:function(){t.root.contains(document.activeElement)&&t.previousFocus&&t.previousFocus.focus&&t.previousFocus.focus()},getInnerDimensions:function(){return{width:t.root.offsetWidth,height:t.root.offsetHeight}},getAnchorDimensions:function(){return t.anchorElement?t.anchorElement.getBoundingClientRect():null},getWindowDimensions:function(){return{width:window.innerWidth,height:window.innerHeight}},getBodyDimensions:function(){return{width:document.body.clientWidth,height:document.body.clientHeight}},getWindowScroll:function(){return{x:window.pageXOffset,y:window.pageYOffset}},setPosition:function(i){var n=t.root;n.style.left="left"in i?i.left+"px":"",n.style.right="right"in i?i.right+"px":"",n.style.top="top"in i?i.top+"px":"",n.style.bottom="bottom"in i?i.bottom+"px":""},setMaxHeight:function(i){t.root.style.maxHeight=i}})},n}(o),et={MENU_SELECTED_LIST_ITEM:"mdc-menu-item--selected",MENU_SELECTION_GROUP:"mdc-menu__selection-group",ROOT:"mdc-menu"},st={ARIA_CHECKED_ATTR:"aria-checked",ARIA_DISABLED_ATTR:"aria-disabled",CHECKBOX_SELECTOR:'input[type="checkbox"]',LIST_SELECTOR:".mdc-list,.mdc-deprecated-list",SELECTED_EVENT:"MDCMenu:selected",SKIP_RESTORE_FOCUS:"data-menu-item-skip-restore-focus"},rt={FOCUS_ROOT_INDEX:-1};
|
|
68
|
+
/**
|
|
69
|
+
* @license
|
|
70
|
+
* Copyright 2018 Google Inc.
|
|
71
|
+
*
|
|
72
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
73
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
74
|
+
* in the Software without restriction, including without limitation the rights
|
|
75
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
76
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
77
|
+
* furnished to do so, subject to the following conditions:
|
|
78
|
+
*
|
|
79
|
+
* The above copyright notice and this permission notice shall be included in
|
|
80
|
+
* all copies or substantial portions of the Software.
|
|
81
|
+
*
|
|
82
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
83
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
84
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
85
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
86
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
87
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
88
|
+
* THE SOFTWARE.
|
|
89
|
+
*/!function(t){t[t.NONE=0]="NONE",t[t.LIST_ROOT=1]="LIST_ROOT",t[t.FIRST_ITEM=2]="FIRST_ITEM",t[t.LAST_ITEM=3]="LAST_ITEM"}(J||(J={}));
|
|
90
|
+
/**
|
|
91
|
+
* @license
|
|
92
|
+
* Copyright 2018 Google Inc.
|
|
93
|
+
*
|
|
94
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
95
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
96
|
+
* in the Software without restriction, including without limitation the rights
|
|
97
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
98
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
99
|
+
* furnished to do so, subject to the following conditions:
|
|
100
|
+
*
|
|
101
|
+
* The above copyright notice and this permission notice shall be included in
|
|
102
|
+
* all copies or substantial portions of the Software.
|
|
103
|
+
*
|
|
104
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
105
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
106
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
107
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
108
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
109
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
110
|
+
* THE SOFTWARE.
|
|
111
|
+
*/
|
|
112
|
+
var ut=function(n){function e(t){var s=n.call(this,i(i({},e.defaultAdapter),t))||this;return s.closeAnimationEndTimerId=0,s.defaultFocusState=J.LIST_ROOT,s.selectedIndex=-1,s}return t(e,n),Object.defineProperty(e,"cssClasses",{get:function(){return et},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return st},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return rt},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClassToElementAtIndex:function(){},removeClassFromElementAtIndex:function(){},addAttributeToElementAtIndex:function(){},removeAttributeFromElementAtIndex:function(){},getAttributeFromElementAtIndex:function(){return null},elementContainsClass:function(){return!1},closeSurface:function(){},getElementIndex:function(){return-1},notifySelected:function(){},getMenuItemCount:function(){return 0},focusItemAtIndex:function(){},focusListRoot:function(){},getSelectedSiblingOfItemAtIndex:function(){return-1},isSelectableItemAtIndex:function(){return!1}}},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){this.closeAnimationEndTimerId&&clearTimeout(this.closeAnimationEndTimerId),this.adapter.closeSurface()},e.prototype.handleKeydown=function(t){("Tab"===t.key||9===t.keyCode)&&this.adapter.closeSurface(!0)},e.prototype.handleItemAction=function(t){var i=this,n=this.adapter.getElementIndex(t);if(!(n<0)){this.adapter.notifySelected({index:n});var e="true"===this.adapter.getAttributeFromElementAtIndex(n,st.SKIP_RESTORE_FOCUS);this.adapter.closeSurface(e),this.closeAnimationEndTimerId=setTimeout((function(){var n=i.adapter.getElementIndex(t);n>=0&&i.adapter.isSelectableItemAtIndex(n)&&i.setSelectedIndex(n)}),it.numbers.TRANSITION_CLOSE_DURATION)}},e.prototype.handleMenuSurfaceOpened=function(){switch(this.defaultFocusState){case J.FIRST_ITEM:this.adapter.focusItemAtIndex(0);break;case J.LAST_ITEM:this.adapter.focusItemAtIndex(this.adapter.getMenuItemCount()-1);break;case J.NONE:break;default:this.adapter.focusListRoot()}},e.prototype.setDefaultFocusState=function(t){this.defaultFocusState=t},e.prototype.getSelectedIndex=function(){return this.selectedIndex},e.prototype.setSelectedIndex=function(t){if(this.validatedIndex(t),!this.adapter.isSelectableItemAtIndex(t))throw new Error("MDCMenuFoundation: No selection group at specified index.");var i=this.adapter.getSelectedSiblingOfItemAtIndex(t);i>=0&&(this.adapter.removeAttributeFromElementAtIndex(i,st.ARIA_CHECKED_ATTR),this.adapter.removeClassFromElementAtIndex(i,et.MENU_SELECTED_LIST_ITEM)),this.adapter.addClassToElementAtIndex(t,et.MENU_SELECTED_LIST_ITEM),this.adapter.addAttributeToElementAtIndex(t,st.ARIA_CHECKED_ATTR,"true"),this.selectedIndex=t},e.prototype.setEnabled=function(t,i){this.validatedIndex(t),i?(this.adapter.removeClassFromElementAtIndex(t,T.LIST_ITEM_DISABLED_CLASS),this.adapter.addAttributeToElementAtIndex(t,st.ARIA_DISABLED_ATTR,"false")):(this.adapter.addClassToElementAtIndex(t,T.LIST_ITEM_DISABLED_CLASS),this.adapter.addAttributeToElementAtIndex(t,st.ARIA_DISABLED_ATTR,"true"))},e.prototype.validatedIndex=function(t){var i=this.adapter.getMenuItemCount();if(!(t>=0&&t<i))throw new Error("MDCMenuFoundation: No list item at specified index.")},e}(s),ot=function(i){function n(){return null!==i&&i.apply(this,arguments)||this}return t(n,i),n.attachTo=function(t){return new n(t)},n.prototype.initialize=function(t,i){void 0===t&&(t=function(t){return new nt(t)}),void 0===i&&(i=function(t){return new tt(t)}),this.menuSurfaceFactory=t,this.listFactory=i},n.prototype.initialSyncWithDOM=function(){var t=this;this.menuSurface=this.menuSurfaceFactory(this.root);var i=this.root.querySelector(st.LIST_SELECTOR);i?(this.list=this.listFactory(i),this.list.wrapFocus=!0):this.list=null,this.handleKeydown=function(i){t.foundation.handleKeydown(i)},this.handleItemAction=function(i){t.foundation.handleItemAction(t.items[i.detail.index])},this.handleMenuSurfaceOpened=function(){t.foundation.handleMenuSurfaceOpened()},this.menuSurface.listen(it.strings.OPENED_EVENT,this.handleMenuSurfaceOpened),this.listen("keydown",this.handleKeydown),this.listen($.strings.ACTION_EVENT,this.handleItemAction)},n.prototype.destroy=function(){this.list&&this.list.destroy(),this.menuSurface.destroy(),this.menuSurface.unlisten(it.strings.OPENED_EVENT,this.handleMenuSurfaceOpened),this.unlisten("keydown",this.handleKeydown),this.unlisten($.strings.ACTION_EVENT,this.handleItemAction),i.prototype.destroy.call(this)},Object.defineProperty(n.prototype,"open",{get:function(){return this.menuSurface.isOpen()},set:function(t){t?this.menuSurface.open():this.menuSurface.close()},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"wrapFocus",{get:function(){return!!this.list&&this.list.wrapFocus},set:function(t){this.list&&(this.list.wrapFocus=t)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hasTypeahead",{set:function(t){this.list&&(this.list.hasTypeahead=t)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"typeaheadInProgress",{get:function(){return!!this.list&&this.list.typeaheadInProgress},enumerable:!1,configurable:!0}),n.prototype.typeaheadMatchItem=function(t,i){return this.list?this.list.typeaheadMatchItem(t,i):-1},n.prototype.layout=function(){this.list&&this.list.layout()},Object.defineProperty(n.prototype,"items",{get:function(){return this.list?this.list.listElements:[]},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"singleSelection",{set:function(t){this.list&&(this.list.singleSelection=t)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"selectedIndex",{get:function(){return this.list?this.list.selectedIndex:S.UNSET_INDEX},set:function(t){this.list&&(this.list.selectedIndex=t)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"quickOpen",{set:function(t){this.menuSurface.quickOpen=t},enumerable:!1,configurable:!0}),n.prototype.setDefaultFocusState=function(t){this.foundation.setDefaultFocusState(t)},n.prototype.setAnchorCorner=function(t){this.menuSurface.setAnchorCorner(t)},n.prototype.setAnchorMargin=function(t){this.menuSurface.setAnchorMargin(t)},n.prototype.setSelectedIndex=function(t){this.foundation.setSelectedIndex(t)},n.prototype.setEnabled=function(t,i){this.foundation.setEnabled(t,i)},n.prototype.getOptionByIndex=function(t){return t<this.items.length?this.items[t]:null},n.prototype.getPrimaryTextAtIndex=function(t){var i=this.getOptionByIndex(t);return i&&this.list&&this.list.getPrimaryText(i)||""},n.prototype.setFixedPosition=function(t){this.menuSurface.setFixedPosition(t)},n.prototype.setIsHoisted=function(t){this.menuSurface.setIsHoisted(t)},n.prototype.setAbsolutePosition=function(t,i){this.menuSurface.setAbsolutePosition(t,i)},n.prototype.setAnchorElement=function(t){this.menuSurface.anchorElement=t},n.prototype.getDefaultFoundation=function(){var t=this;return new ut({addClassToElementAtIndex:function(i,n){t.items[i].classList.add(n)},removeClassFromElementAtIndex:function(i,n){t.items[i].classList.remove(n)},addAttributeToElementAtIndex:function(i,n,e){t.items[i].setAttribute(n,e)},removeAttributeFromElementAtIndex:function(i,n){t.items[i].removeAttribute(n)},getAttributeFromElementAtIndex:function(i,n){return t.items[i].getAttribute(n)},elementContainsClass:function(t,i){return t.classList.contains(i)},closeSurface:function(i){t.menuSurface.close(i)},getElementIndex:function(i){return t.items.indexOf(i)},notifySelected:function(i){t.emit(st.SELECTED_EVENT,{index:i.index,item:t.items[i.index]})},getMenuItemCount:function(){return t.items.length},focusItemAtIndex:function(i){t.items[i].focus()},focusListRoot:function(){t.root.querySelector(st.LIST_SELECTOR).focus()},isSelectableItemAtIndex:function(i){return!!u(t.items[i],"."+et.MENU_SELECTION_GROUP)},getSelectedSiblingOfItemAtIndex:function(i){var n=u(t.items[i],"."+et.MENU_SELECTION_GROUP).querySelector("."+et.MENU_SELECTED_LIST_ITEM);return n?t.items.indexOf(n):-1}})},n}(o),ht={ACTIVATED:"mdc-select--activated",DISABLED:"mdc-select--disabled",FOCUSED:"mdc-select--focused",INVALID:"mdc-select--invalid",MENU_INVALID:"mdc-select__menu--invalid",OUTLINED:"mdc-select--outlined",REQUIRED:"mdc-select--required",ROOT:"mdc-select",WITH_LEADING_ICON:"mdc-select--with-leading-icon"},ct={ARIA_CONTROLS:"aria-controls",ARIA_DESCRIBEDBY:"aria-describedby",ARIA_SELECTED_ATTR:"aria-selected",CHANGE_EVENT:"MDCSelect:change",HIDDEN_INPUT_SELECTOR:'input[type="hidden"]',LABEL_SELECTOR:".mdc-floating-label",LEADING_ICON_SELECTOR:".mdc-select__icon",LINE_RIPPLE_SELECTOR:".mdc-line-ripple",MENU_SELECTOR:".mdc-select__menu",OUTLINE_SELECTOR:".mdc-notched-outline",SELECTED_TEXT_SELECTOR:".mdc-select__selected-text",SELECT_ANCHOR_SELECTOR:".mdc-select__anchor",VALUE_ATTR:"data-value"},ft={LABEL_SCALE:.75,UNSET_INDEX:-1,CLICK_DEBOUNCE_TIMEOUT_MS:330},at=function(n){function e(t,s){void 0===s&&(s={});var r=n.call(this,i(i({},e.defaultAdapter),t))||this;return r.disabled=!1,r.isMenuOpen=!1,r.useDefaultValidation=!0,r.customValidity=!0,r.lastSelectedIndex=ft.UNSET_INDEX,r.clickDebounceTimeout=0,r.recentlyClicked=!1,r.leadingIcon=s.leadingIcon,r.helperText=s.helperText,r}return t(e,n),Object.defineProperty(e,"cssClasses",{get:function(){return ht},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return ft},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return ct},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},hasClass:function(){return!1},activateBottomLine:function(){},deactivateBottomLine:function(){},getSelectedIndex:function(){return-1},setSelectedIndex:function(){},hasLabel:function(){return!1},floatLabel:function(){},getLabelWidth:function(){return 0},setLabelRequired:function(){},hasOutline:function(){return!1},notchOutline:function(){},closeOutline:function(){},setRippleCenter:function(){},notifyChange:function(){},setSelectedText:function(){},isSelectAnchorFocused:function(){return!1},getSelectAnchorAttr:function(){return""},setSelectAnchorAttr:function(){},removeSelectAnchorAttr:function(){},addMenuClass:function(){},removeMenuClass:function(){},openMenu:function(){},closeMenu:function(){},getAnchorElement:function(){return null},setMenuAnchorElement:function(){},setMenuAnchorCorner:function(){},setMenuWrapFocus:function(){},focusMenuItemAtIndex:function(){},getMenuItemCount:function(){return 0},getMenuItemValues:function(){return[]},getMenuItemTextAtIndex:function(){return""},isTypeaheadInProgress:function(){return!1},typeaheadMatchItem:function(){return-1}}},enumerable:!1,configurable:!0}),e.prototype.getSelectedIndex=function(){return this.adapter.getSelectedIndex()},e.prototype.setSelectedIndex=function(t,i,n){void 0===i&&(i=!1),void 0===n&&(n=!1),t>=this.adapter.getMenuItemCount()||(this.adapter.setSelectedText(t===ft.UNSET_INDEX?"":this.adapter.getMenuItemTextAtIndex(t).trim()),this.adapter.setSelectedIndex(t),i&&this.adapter.closeMenu(),n||this.lastSelectedIndex===t||this.handleChange(),this.lastSelectedIndex=t)},e.prototype.setValue=function(t,i){void 0===i&&(i=!1);var n=this.adapter.getMenuItemValues().indexOf(t);this.setSelectedIndex(n,!1,i)},e.prototype.getValue=function(){var t=this.adapter.getSelectedIndex(),i=this.adapter.getMenuItemValues();return t!==ft.UNSET_INDEX?i[t]:""},e.prototype.getDisabled=function(){return this.disabled},e.prototype.setDisabled=function(t){this.disabled=t,this.disabled?(this.adapter.addClass(ht.DISABLED),this.adapter.closeMenu()):this.adapter.removeClass(ht.DISABLED),this.leadingIcon&&this.leadingIcon.setDisabled(this.disabled),this.disabled?this.adapter.removeSelectAnchorAttr("tabindex"):this.adapter.setSelectAnchorAttr("tabindex","0"),this.adapter.setSelectAnchorAttr("aria-disabled",this.disabled.toString())},e.prototype.openMenu=function(){this.adapter.addClass(ht.ACTIVATED),this.adapter.openMenu(),this.isMenuOpen=!0,this.adapter.setSelectAnchorAttr("aria-expanded","true")},e.prototype.setHelperTextContent=function(t){this.helperText&&this.helperText.setContent(t)},e.prototype.layout=function(){if(this.adapter.hasLabel()){var t=this.getValue().length>0,i=this.adapter.hasClass(ht.FOCUSED),n=t||i,e=this.adapter.hasClass(ht.REQUIRED);this.notchOutline(n),this.adapter.floatLabel(n),this.adapter.setLabelRequired(e)}},e.prototype.layoutOptions=function(){var t=this.adapter.getMenuItemValues().indexOf(this.getValue());this.setSelectedIndex(t,!1,!0)},e.prototype.handleMenuOpened=function(){if(0!==this.adapter.getMenuItemValues().length){var t=this.getSelectedIndex();this.adapter.focusMenuItemAtIndex(t>=0?t:0)}},e.prototype.handleMenuClosing=function(){this.adapter.setSelectAnchorAttr("aria-expanded","false")},e.prototype.handleMenuClosed=function(){this.adapter.removeClass(ht.ACTIVATED),this.isMenuOpen=!1,this.adapter.isSelectAnchorFocused()||this.blur()},e.prototype.handleChange=function(){this.layout(),this.adapter.notifyChange(this.getValue()),this.adapter.hasClass(ht.REQUIRED)&&this.useDefaultValidation&&this.setValid(this.isValid())},e.prototype.handleMenuItemAction=function(t){this.setSelectedIndex(t,!0)},e.prototype.handleFocus=function(){this.adapter.addClass(ht.FOCUSED),this.layout(),this.adapter.activateBottomLine()},e.prototype.handleBlur=function(){this.isMenuOpen||this.blur()},e.prototype.handleClick=function(t){this.disabled||this.recentlyClicked||(this.setClickDebounceTimeout(),this.isMenuOpen?this.adapter.closeMenu():(this.adapter.setRippleCenter(t),this.openMenu()))},e.prototype.handleKeydown=function(t){if(!this.isMenuOpen&&this.adapter.hasClass(ht.FOCUSED)){var i=G(t)===L,n=G(t)===R,e=G(t)===F,s=G(t)===j;if(!t.ctrlKey&&!t.metaKey&&(!n&&t.key&&1===t.key.length||n&&this.adapter.isTypeaheadInProgress())){var r=this.adapter.typeaheadMatchItem(n?" ":t.key,this.getSelectedIndex());return r>=0&&this.setSelectedIndex(r),void t.preventDefault()}(i||n||e||s)&&(this.openMenu(),t.preventDefault())}},e.prototype.notchOutline=function(t){if(this.adapter.hasOutline()){var i=this.adapter.hasClass(ht.FOCUSED);if(t){var n=ft.LABEL_SCALE,e=this.adapter.getLabelWidth()*n;this.adapter.notchOutline(e)}else i||this.adapter.closeOutline()}},e.prototype.setLeadingIconAriaLabel=function(t){this.leadingIcon&&this.leadingIcon.setAriaLabel(t)},e.prototype.setLeadingIconContent=function(t){this.leadingIcon&&this.leadingIcon.setContent(t)},e.prototype.getUseDefaultValidation=function(){return this.useDefaultValidation},e.prototype.setUseDefaultValidation=function(t){this.useDefaultValidation=t},e.prototype.setValid=function(t){this.useDefaultValidation||(this.customValidity=t),this.adapter.setSelectAnchorAttr("aria-invalid",(!t).toString()),t?(this.adapter.removeClass(ht.INVALID),this.adapter.removeMenuClass(ht.MENU_INVALID)):(this.adapter.addClass(ht.INVALID),this.adapter.addMenuClass(ht.MENU_INVALID)),this.syncHelperTextValidity(t)},e.prototype.isValid=function(){return this.useDefaultValidation&&this.adapter.hasClass(ht.REQUIRED)&&!this.adapter.hasClass(ht.DISABLED)?this.getSelectedIndex()!==ft.UNSET_INDEX&&(0!==this.getSelectedIndex()||Boolean(this.getValue())):this.customValidity},e.prototype.setRequired=function(t){t?this.adapter.addClass(ht.REQUIRED):this.adapter.removeClass(ht.REQUIRED),this.adapter.setSelectAnchorAttr("aria-required",t.toString()),this.adapter.setLabelRequired(t)},e.prototype.getRequired=function(){return"true"===this.adapter.getSelectAnchorAttr("aria-required")},e.prototype.init=function(){var t=this.adapter.getAnchorElement();t&&(this.adapter.setMenuAnchorElement(t),this.adapter.setMenuAnchorCorner(E.BOTTOM_START)),this.adapter.setMenuWrapFocus(!1),this.setDisabled(this.adapter.hasClass(ht.DISABLED)),this.syncHelperTextValidity(!this.adapter.hasClass(ht.INVALID)),this.layout(),this.layoutOptions()},e.prototype.blur=function(){this.adapter.removeClass(ht.FOCUSED),this.layout(),this.adapter.deactivateBottomLine(),this.adapter.hasClass(ht.REQUIRED)&&this.useDefaultValidation&&this.setValid(this.isValid())},e.prototype.syncHelperTextValidity=function(t){if(this.helperText){this.helperText.setValidity(t);var i=this.helperText.isVisible(),n=this.helperText.getId();i&&n?this.adapter.setSelectAnchorAttr(ct.ARIA_DESCRIBEDBY,n):this.adapter.removeSelectAnchorAttr(ct.ARIA_DESCRIBEDBY)}},e.prototype.setClickDebounceTimeout=function(){var t=this;clearTimeout(this.clickDebounceTimeout),this.clickDebounceTimeout=setTimeout((function(){t.recentlyClicked=!1}),ft.CLICK_DEBOUNCE_TIMEOUT_MS),this.recentlyClicked=!0},e}(s),lt={ARIA_HIDDEN:"aria-hidden",ROLE:"role"},dt={HELPER_TEXT_VALIDATION_MSG:"mdc-select-helper-text--validation-msg",HELPER_TEXT_VALIDATION_MSG_PERSISTENT:"mdc-select-helper-text--validation-msg-persistent"},mt=function(n){function e(t){return n.call(this,i(i({},e.defaultAdapter),t))||this}return t(e,n),Object.defineProperty(e,"cssClasses",{get:function(){return dt},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return lt},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},hasClass:function(){return!1},setAttr:function(){},getAttr:function(){return null},removeAttr:function(){},setContent:function(){}}},enumerable:!1,configurable:!0}),e.prototype.getId=function(){return this.adapter.getAttr("id")},e.prototype.isVisible=function(){return"true"!==this.adapter.getAttr(lt.ARIA_HIDDEN)},e.prototype.setContent=function(t){this.adapter.setContent(t)},e.prototype.setValidation=function(t){t?this.adapter.addClass(dt.HELPER_TEXT_VALIDATION_MSG):this.adapter.removeClass(dt.HELPER_TEXT_VALIDATION_MSG)},e.prototype.setValidationMsgPersistent=function(t){t?this.adapter.addClass(dt.HELPER_TEXT_VALIDATION_MSG_PERSISTENT):this.adapter.removeClass(dt.HELPER_TEXT_VALIDATION_MSG_PERSISTENT)},e.prototype.getIsValidation=function(){return this.adapter.hasClass(dt.HELPER_TEXT_VALIDATION_MSG)},e.prototype.getIsValidationMsgPersistent=function(){return this.adapter.hasClass(dt.HELPER_TEXT_VALIDATION_MSG_PERSISTENT)},e.prototype.setValidity=function(t){if(this.adapter.hasClass(dt.HELPER_TEXT_VALIDATION_MSG)){var i=this.adapter.hasClass(dt.HELPER_TEXT_VALIDATION_MSG_PERSISTENT);if(!t||i)return this.showToScreenReader(),void(t?this.adapter.removeAttr(lt.ROLE):this.adapter.setAttr(lt.ROLE,"alert"));this.adapter.removeAttr(lt.ROLE),this.hide()}},e.prototype.showToScreenReader=function(){this.adapter.removeAttr(lt.ARIA_HIDDEN)},e.prototype.hide=function(){this.adapter.setAttr(lt.ARIA_HIDDEN,"true")},e}(s),bt=function(i){function n(){return null!==i&&i.apply(this,arguments)||this}return t(n,i),n.attachTo=function(t){return new n(t)},Object.defineProperty(n.prototype,"foundationForSelect",{get:function(){return this.foundation},enumerable:!1,configurable:!0}),n.prototype.getDefaultFoundation=function(){var t=this;return new mt({addClass:function(i){return t.root.classList.add(i)},removeClass:function(i){return t.root.classList.remove(i)},hasClass:function(i){return t.root.classList.contains(i)},getAttr:function(i){return t.root.getAttribute(i)},setAttr:function(i,n){return t.root.setAttribute(i,n)},removeAttr:function(i){return t.root.removeAttribute(i)},setContent:function(i){t.root.textContent=i}})},n}(o),Et={ICON_EVENT:"MDCSelect:icon",ICON_ROLE:"button"},It=["click","keydown"],At=function(n){function e(t){var s=n.call(this,i(i({},e.defaultAdapter),t))||this;return s.savedTabIndex=null,s.interactionHandler=function(t){s.handleInteraction(t)},s}return t(e,n),Object.defineProperty(e,"strings",{get:function(){return Et},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{getAttr:function(){return null},setAttr:function(){},removeAttr:function(){},setContent:function(){},registerInteractionHandler:function(){},deregisterInteractionHandler:function(){},notifyIconAction:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){var t,i;this.savedTabIndex=this.adapter.getAttr("tabindex");try{for(var n=h(It),e=n.next();!e.done;e=n.next())this.adapter.registerInteractionHandler(e.value,this.interactionHandler)}catch(i){t={error:i}}finally{try{e&&!e.done&&(i=n.return)&&i.call(n)}finally{if(t)throw t.error}}},e.prototype.destroy=function(){var t,i;try{for(var n=h(It),e=n.next();!e.done;e=n.next())this.adapter.deregisterInteractionHandler(e.value,this.interactionHandler)}catch(i){t={error:i}}finally{try{e&&!e.done&&(i=n.return)&&i.call(n)}finally{if(t)throw t.error}}},e.prototype.setDisabled=function(t){this.savedTabIndex&&(t?(this.adapter.setAttr("tabindex","-1"),this.adapter.removeAttr("role")):(this.adapter.setAttr("tabindex",this.savedTabIndex),this.adapter.setAttr("role",Et.ICON_ROLE)))},e.prototype.setAriaLabel=function(t){this.adapter.setAttr("aria-label",t)},e.prototype.setContent=function(t){this.adapter.setContent(t)},e.prototype.handleInteraction=function(t){("click"===t.type||"Enter"===t.key||13===t.keyCode)&&this.adapter.notifyIconAction()},e}(s),vt=function(i){function n(){return null!==i&&i.apply(this,arguments)||this}return t(n,i),n.attachTo=function(t){return new n(t)},Object.defineProperty(n.prototype,"foundationForSelect",{get:function(){return this.foundation},enumerable:!1,configurable:!0}),n.prototype.getDefaultFoundation=function(){var t=this;return new At({getAttr:function(i){return t.root.getAttribute(i)},setAttr:function(i,n){return t.root.setAttribute(i,n)},removeAttr:function(i){return t.root.removeAttribute(i)},setContent:function(i){t.root.textContent=i},registerInteractionHandler:function(i,n){return t.listen(i,n)},deregisterInteractionHandler:function(i,n){return t.unlisten(i,n)},notifyIconAction:function(){return t.emit(At.strings.ICON_EVENT,{},!0)}})},n}(o),gt=function(n){function e(){return null!==n&&n.apply(this,arguments)||this}return t(e,n),e.attachTo=function(t){return new e(t)},e.prototype.initialize=function(t,i,n,e,s,r){if(void 0===t&&(t=function(t){return new l(t)}),void 0===i&&(i=function(t){return new d(t)}),void 0===n&&(n=function(t){return new m(t)}),void 0===e&&(e=function(t){return new ot(t)}),void 0===s&&(s=function(t){return new vt(t)}),void 0===r&&(r=function(t){return new bt(t)}),this.selectAnchor=this.root.querySelector(ct.SELECT_ANCHOR_SELECTOR),this.selectedText=this.root.querySelector(ct.SELECTED_TEXT_SELECTOR),this.hiddenInput=this.root.querySelector(ct.HIDDEN_INPUT_SELECTOR),!this.selectedText)throw new Error("MDCSelect: Missing required element: The following selector must be present: '"+ct.SELECTED_TEXT_SELECTOR+"'");if(this.selectAnchor.hasAttribute(ct.ARIA_CONTROLS)){var u=document.getElementById(this.selectAnchor.getAttribute(ct.ARIA_CONTROLS));u&&(this.helperText=r(u))}this.menuSetup(e);var o=this.root.querySelector(ct.LABEL_SELECTOR);this.label=o?t(o):null;var h=this.root.querySelector(ct.LINE_RIPPLE_SELECTOR);this.lineRipple=h?i(h):null;var c=this.root.querySelector(ct.OUTLINE_SELECTOR);this.outline=c?n(c):null;var f=this.root.querySelector(ct.LEADING_ICON_SELECTOR);f&&(this.leadingIcon=s(f)),this.root.classList.contains(ht.OUTLINED)||(this.ripple=this.createRipple())},e.prototype.initialSyncWithDOM=function(){var t=this;if(this.handleFocus=function(){t.foundation.handleFocus()},this.handleBlur=function(){t.foundation.handleBlur()},this.handleClick=function(i){t.selectAnchor.focus(),t.foundation.handleClick(t.getNormalizedXCoordinate(i))},this.handleKeydown=function(i){t.foundation.handleKeydown(i)},this.handleMenuItemAction=function(i){t.foundation.handleMenuItemAction(i.detail.index)},this.handleMenuOpened=function(){t.foundation.handleMenuOpened()},this.handleMenuClosed=function(){t.foundation.handleMenuClosed()},this.handleMenuClosing=function(){t.foundation.handleMenuClosing()},this.selectAnchor.addEventListener("focus",this.handleFocus),this.selectAnchor.addEventListener("blur",this.handleBlur),this.selectAnchor.addEventListener("click",this.handleClick),this.selectAnchor.addEventListener("keydown",this.handleKeydown),this.menu.listen(g.CLOSED_EVENT,this.handleMenuClosed),this.menu.listen(g.CLOSING_EVENT,this.handleMenuClosing),this.menu.listen(g.OPENED_EVENT,this.handleMenuOpened),this.menu.listen(st.SELECTED_EVENT,this.handleMenuItemAction),this.hiddenInput){if(this.hiddenInput.value)return this.foundation.setValue(this.hiddenInput.value,!0),void this.foundation.layout();this.hiddenInput.value=this.value}},e.prototype.destroy=function(){this.selectAnchor.removeEventListener("focus",this.handleFocus),this.selectAnchor.removeEventListener("blur",this.handleBlur),this.selectAnchor.removeEventListener("keydown",this.handleKeydown),this.selectAnchor.removeEventListener("click",this.handleClick),this.menu.unlisten(g.CLOSED_EVENT,this.handleMenuClosed),this.menu.unlisten(g.OPENED_EVENT,this.handleMenuOpened),this.menu.unlisten(st.SELECTED_EVENT,this.handleMenuItemAction),this.menu.destroy(),this.ripple&&this.ripple.destroy(),this.outline&&this.outline.destroy(),this.leadingIcon&&this.leadingIcon.destroy(),this.helperText&&this.helperText.destroy(),n.prototype.destroy.call(this)},Object.defineProperty(e.prototype,"value",{get:function(){return this.foundation.getValue()},set:function(t){this.foundation.setValue(t)},enumerable:!1,configurable:!0}),e.prototype.setValue=function(t,i){void 0===i&&(i=!1),this.foundation.setValue(t,i)},Object.defineProperty(e.prototype,"selectedIndex",{get:function(){return this.foundation.getSelectedIndex()},set:function(t){this.foundation.setSelectedIndex(t,!0)},enumerable:!1,configurable:!0}),e.prototype.setSelectedIndex=function(t,i){void 0===i&&(i=!1),this.foundation.setSelectedIndex(t,!0,i)},Object.defineProperty(e.prototype,"disabled",{get:function(){return this.foundation.getDisabled()},set:function(t){this.foundation.setDisabled(t),this.hiddenInput&&(this.hiddenInput.disabled=t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"leadingIconAriaLabel",{set:function(t){this.foundation.setLeadingIconAriaLabel(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"leadingIconContent",{set:function(t){this.foundation.setLeadingIconContent(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"helperTextContent",{set:function(t){this.foundation.setHelperTextContent(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"useDefaultValidation",{set:function(t){this.foundation.setUseDefaultValidation(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"valid",{get:function(){return this.foundation.isValid()},set:function(t){this.foundation.setValid(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this.foundation.getRequired()},set:function(t){this.foundation.setRequired(t)},enumerable:!1,configurable:!0}),e.prototype.layout=function(){this.foundation.layout()},e.prototype.layoutOptions=function(){this.foundation.layoutOptions(),this.menu.layout(),this.menuItemValues=this.menu.items.map((function(t){return t.getAttribute(ct.VALUE_ATTR)||""})),this.hiddenInput&&(this.hiddenInput.value=this.value)},e.prototype.getDefaultFoundation=function(){var t=i(i(i(i({},this.getSelectAdapterMethods()),this.getCommonAdapterMethods()),this.getOutlineAdapterMethods()),this.getLabelAdapterMethods());return new at(t,this.getFoundationMap())},e.prototype.menuSetup=function(t){this.menuElement=this.root.querySelector(ct.MENU_SELECTOR),this.menu=t(this.menuElement),this.menu.hasTypeahead=!0,this.menu.singleSelection=!0,this.menuItemValues=this.menu.items.map((function(t){return t.getAttribute(ct.VALUE_ATTR)||""}))},e.prototype.createRipple=function(){var t=this,n=i(i({},f.createAdapter({root:this.selectAnchor})),{registerInteractionHandler:function(i,n){t.selectAnchor.addEventListener(i,n)},deregisterInteractionHandler:function(i,n){t.selectAnchor.removeEventListener(i,n)}});return new f(this.selectAnchor,new a(n))},e.prototype.getSelectAdapterMethods=function(){var t=this;return{getMenuItemAttr:function(t,i){return t.getAttribute(i)},setSelectedText:function(i){t.selectedText.textContent=i},isSelectAnchorFocused:function(){return document.activeElement===t.selectAnchor},getSelectAnchorAttr:function(i){return t.selectAnchor.getAttribute(i)},setSelectAnchorAttr:function(i,n){t.selectAnchor.setAttribute(i,n)},removeSelectAnchorAttr:function(i){t.selectAnchor.removeAttribute(i)},addMenuClass:function(i){t.menuElement.classList.add(i)},removeMenuClass:function(i){t.menuElement.classList.remove(i)},openMenu:function(){t.menu.open=!0},closeMenu:function(){t.menu.open=!1},getAnchorElement:function(){return t.root.querySelector(ct.SELECT_ANCHOR_SELECTOR)},setMenuAnchorElement:function(i){t.menu.setAnchorElement(i)},setMenuAnchorCorner:function(i){t.menu.setAnchorCorner(i)},setMenuWrapFocus:function(i){t.menu.wrapFocus=i},getSelectedIndex:function(){var i=t.menu.selectedIndex;return i instanceof Array?i[0]:i},setSelectedIndex:function(i){t.menu.selectedIndex=i},focusMenuItemAtIndex:function(i){t.menu.items[i].focus()},getMenuItemCount:function(){return t.menu.items.length},getMenuItemValues:function(){return t.menuItemValues},getMenuItemTextAtIndex:function(i){return t.menu.getPrimaryTextAtIndex(i)},isTypeaheadInProgress:function(){return t.menu.typeaheadInProgress},typeaheadMatchItem:function(i,n){return t.menu.typeaheadMatchItem(i,n)}}},e.prototype.getCommonAdapterMethods=function(){var t=this;return{addClass:function(i){t.root.classList.add(i)},removeClass:function(i){t.root.classList.remove(i)},hasClass:function(i){return t.root.classList.contains(i)},setRippleCenter:function(i){t.lineRipple&&t.lineRipple.setRippleCenter(i)},activateBottomLine:function(){t.lineRipple&&t.lineRipple.activate()},deactivateBottomLine:function(){t.lineRipple&&t.lineRipple.deactivate()},notifyChange:function(i){t.hiddenInput&&(t.hiddenInput.value=i),t.emit(ct.CHANGE_EVENT,{value:i,index:t.selectedIndex},!0)}}},e.prototype.getOutlineAdapterMethods=function(){var t=this;return{hasOutline:function(){return Boolean(t.outline)},notchOutline:function(i){t.outline&&t.outline.notch(i)},closeOutline:function(){t.outline&&t.outline.closeNotch()}}},e.prototype.getLabelAdapterMethods=function(){var t=this;return{hasLabel:function(){return!!t.label},floatLabel:function(i){t.label&&t.label.float(i)},getLabelWidth:function(){return t.label?t.label.getWidth():0},setLabelRequired:function(i){t.label&&t.label.setRequired(i)}}},e.prototype.getNormalizedXCoordinate=function(t){var i=t.target.getBoundingClientRect();return(this.isTouchEvent(t)?t.touches[0].clientX:t.clientX)-i.left},e.prototype.isTouchEvent=function(t){return Boolean(t.touches)},e.prototype.getFoundationMap=function(){return{helperText:this.helperText?this.helperText.foundationForSelect:void 0,leadingIcon:this.leadingIcon?this.leadingIcon.foundationForSelect:void 0}},e}(o);
|
|
113
|
+
/**
|
|
114
|
+
* @license
|
|
115
|
+
* Copyright 2018 Google Inc.
|
|
116
|
+
*
|
|
117
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
118
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
119
|
+
* in the Software without restriction, including without limitation the rights
|
|
120
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
121
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
122
|
+
* furnished to do so, subject to the following conditions:
|
|
123
|
+
*
|
|
124
|
+
* The above copyright notice and this permission notice shall be included in
|
|
125
|
+
* all copies or substantial portions of the Software.
|
|
126
|
+
*
|
|
127
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
128
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
129
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
130
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
131
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
132
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
133
|
+
* THE SOFTWARE.
|
|
134
|
+
*/export{gt as M}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
var t=function(n,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])},t(n,i)};function n(n,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function r(){this.constructor=n}t(n,i),n.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}var i=function(){return i=Object.assign||function(t){for(var n,i=1,r=arguments.length;i<r;i++)for(var e in n=arguments[i])Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e]);return t},i.apply(this,arguments)};function r(t){var n="function"==typeof Symbol&&Symbol.iterator,i=n&&t[n],r=0;if(i)return i.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function e(t,n){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var r,e,o=i.call(t),u=[];try{for(;(void 0===n||n-- >0)&&!(r=o.next()).done;)u.push(r.value)}catch(t){e={error:t}}finally{try{r&&!r.done&&(i=o.return)&&i.call(o)}finally{if(e)throw e.error}}return u}function o(t,n,i){if(i||2===arguments.length)for(var r,e=0,o=n.length;e<o;e++)!r&&e in n||(r||(r=Array.prototype.slice.call(n,0,e)),r[e]=n[e]);return t.concat(r||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2016 Google Inc.
|
|
5
|
+
*
|
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
* in the Software without restriction, including without limitation the rights
|
|
9
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
* furnished to do so, subject to the following conditions:
|
|
12
|
+
*
|
|
13
|
+
* The above copyright notice and this permission notice shall be included in
|
|
14
|
+
* all copies or substantial portions of the Software.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
|
+
* THE SOFTWARE.
|
|
23
|
+
*/
|
|
24
|
+
var u=function(){function t(t){void 0===t&&(t={}),this.adapter=t}return Object.defineProperty(t,"cssClasses",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"strings",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"numbers",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"defaultAdapter",{get:function(){return{}},enumerable:!1,configurable:!0}),t.prototype.init=function(){},t.prototype.destroy=function(){},t}(),s=function(){function t(t,n){for(var i=[],r=2;r<arguments.length;r++)i[r-2]=arguments[r];this.root=t,this.initialize.apply(this,o([],e(i))),this.foundation=void 0===n?this.getDefaultFoundation():n,this.foundation.init(),this.initialSyncWithDOM()}return t.attachTo=function(n){return new t(n,new u({}))},t.prototype.initialize=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n]},t.prototype.getDefaultFoundation=function(){throw new Error("Subclasses must override getDefaultFoundation to return a properly configured foundation class")},t.prototype.initialSyncWithDOM=function(){},t.prototype.destroy=function(){this.foundation.destroy()},t.prototype.listen=function(t,n,i){this.root.addEventListener(t,n,i)},t.prototype.unlisten=function(t,n,i){this.root.removeEventListener(t,n,i)},t.prototype.emit=function(t,n,i){var r;void 0===i&&(i=!1),"function"==typeof CustomEvent?r=new CustomEvent(t,{bubbles:i,detail:n}):(r=document.createEvent("CustomEvent")).initCustomEvent(t,i,!1,n),this.root.dispatchEvent(r)},t}();
|
|
25
|
+
/**
|
|
26
|
+
* @license
|
|
27
|
+
* Copyright 2016 Google Inc.
|
|
28
|
+
*
|
|
29
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
30
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
31
|
+
* in the Software without restriction, including without limitation the rights
|
|
32
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
33
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
34
|
+
* furnished to do so, subject to the following conditions:
|
|
35
|
+
*
|
|
36
|
+
* The above copyright notice and this permission notice shall be included in
|
|
37
|
+
* all copies or substantial portions of the Software.
|
|
38
|
+
*
|
|
39
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
40
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
41
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
42
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
43
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
44
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
45
|
+
* THE SOFTWARE.
|
|
46
|
+
*/
|
|
47
|
+
/**
|
|
48
|
+
* @license
|
|
49
|
+
* Copyright 2018 Google Inc.
|
|
50
|
+
*
|
|
51
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
52
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
53
|
+
* in the Software without restriction, including without limitation the rights
|
|
54
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
55
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
56
|
+
* furnished to do so, subject to the following conditions:
|
|
57
|
+
*
|
|
58
|
+
* The above copyright notice and this permission notice shall be included in
|
|
59
|
+
* all copies or substantial portions of the Software.
|
|
60
|
+
*
|
|
61
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
62
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
63
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
64
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
65
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
66
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
67
|
+
* THE SOFTWARE.
|
|
68
|
+
*/
|
|
69
|
+
function a(t,n){if(t.closest)return t.closest(n);for(var i=t;i;){if(c(i,n))return i;i=i.parentElement}return null}function c(t,n){return(t.matches||t.webkitMatchesSelector||t.msMatchesSelector).call(t,n)}
|
|
70
|
+
/**
|
|
71
|
+
* @license
|
|
72
|
+
* Copyright 2016 Google Inc.
|
|
73
|
+
*
|
|
74
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
75
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
76
|
+
* in the Software without restriction, including without limitation the rights
|
|
77
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
78
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
79
|
+
* furnished to do so, subject to the following conditions:
|
|
80
|
+
*
|
|
81
|
+
* The above copyright notice and this permission notice shall be included in
|
|
82
|
+
* all copies or substantial portions of the Software.
|
|
83
|
+
*
|
|
84
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
85
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
86
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
87
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
88
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
89
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
90
|
+
* THE SOFTWARE.
|
|
91
|
+
*/
|
|
92
|
+
var f={LABEL_FLOAT_ABOVE:"mdc-floating-label--float-above",LABEL_REQUIRED:"mdc-floating-label--required",LABEL_SHAKE:"mdc-floating-label--shake",ROOT:"mdc-floating-label"},h=function(t){function r(n){var e=t.call(this,i(i({},r.defaultAdapter),n))||this;return e.shakeAnimationEndHandler=function(){e.handleShakeAnimationEnd()},e}return n(r,t),Object.defineProperty(r,"cssClasses",{get:function(){return f},enumerable:!1,configurable:!0}),Object.defineProperty(r,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},getWidth:function(){return 0},registerInteractionHandler:function(){},deregisterInteractionHandler:function(){}}},enumerable:!1,configurable:!0}),r.prototype.init=function(){this.adapter.registerInteractionHandler("animationend",this.shakeAnimationEndHandler)},r.prototype.destroy=function(){this.adapter.deregisterInteractionHandler("animationend",this.shakeAnimationEndHandler)},r.prototype.getWidth=function(){return this.adapter.getWidth()},r.prototype.shake=function(t){var n=r.cssClasses.LABEL_SHAKE;t?this.adapter.addClass(n):this.adapter.removeClass(n)},r.prototype.float=function(t){var n=r.cssClasses,i=n.LABEL_FLOAT_ABOVE,e=n.LABEL_SHAKE;t?this.adapter.addClass(i):(this.adapter.removeClass(i),this.adapter.removeClass(e))},r.prototype.setRequired=function(t){var n=r.cssClasses.LABEL_REQUIRED;t?this.adapter.addClass(n):this.adapter.removeClass(n)},r.prototype.handleShakeAnimationEnd=function(){this.adapter.removeClass(r.cssClasses.LABEL_SHAKE)},r}(u),d=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return n(i,t),i.attachTo=function(t){return new i(t)},i.prototype.shake=function(t){this.foundation.shake(t)},i.prototype.float=function(t){this.foundation.float(t)},i.prototype.setRequired=function(t){this.foundation.setRequired(t)},i.prototype.getWidth=function(){return this.foundation.getWidth()},i.prototype.getDefaultFoundation=function(){var t=this;return new h({addClass:function(n){return t.root.classList.add(n)},removeClass:function(n){return t.root.classList.remove(n)},getWidth:function(){return function(t){if(null!==t.offsetParent)return t.scrollWidth;var n=t.cloneNode(!0);n.style.setProperty("position","absolute"),n.style.setProperty("transform","translate(-9999px, -9999px)"),document.documentElement.appendChild(n);var i=n.scrollWidth;return document.documentElement.removeChild(n),i}(t.root)},registerInteractionHandler:function(n,i){return t.listen(n,i)},deregisterInteractionHandler:function(n,i){return t.unlisten(n,i)}})},i}(s),l={LINE_RIPPLE_ACTIVE:"mdc-line-ripple--active",LINE_RIPPLE_DEACTIVATING:"mdc-line-ripple--deactivating"},v=function(t){function r(n){var e=t.call(this,i(i({},r.defaultAdapter),n))||this;return e.transitionEndHandler=function(t){e.handleTransitionEnd(t)},e}return n(r,t),Object.defineProperty(r,"cssClasses",{get:function(){return l},enumerable:!1,configurable:!0}),Object.defineProperty(r,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},hasClass:function(){return!1},setStyle:function(){},registerEventHandler:function(){},deregisterEventHandler:function(){}}},enumerable:!1,configurable:!0}),r.prototype.init=function(){this.adapter.registerEventHandler("transitionend",this.transitionEndHandler)},r.prototype.destroy=function(){this.adapter.deregisterEventHandler("transitionend",this.transitionEndHandler)},r.prototype.activate=function(){this.adapter.removeClass(l.LINE_RIPPLE_DEACTIVATING),this.adapter.addClass(l.LINE_RIPPLE_ACTIVE)},r.prototype.setRippleCenter=function(t){this.adapter.setStyle("transform-origin",t+"px center")},r.prototype.deactivate=function(){this.adapter.addClass(l.LINE_RIPPLE_DEACTIVATING)},r.prototype.handleTransitionEnd=function(t){var n=this.adapter.hasClass(l.LINE_RIPPLE_DEACTIVATING);"opacity"===t.propertyName&&n&&(this.adapter.removeClass(l.LINE_RIPPLE_ACTIVE),this.adapter.removeClass(l.LINE_RIPPLE_DEACTIVATING))},r}(u),m=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return n(i,t),i.attachTo=function(t){return new i(t)},i.prototype.activate=function(){this.foundation.activate()},i.prototype.deactivate=function(){this.foundation.deactivate()},i.prototype.setRippleCenter=function(t){this.foundation.setRippleCenter(t)},i.prototype.getDefaultFoundation=function(){var t=this;return new v({addClass:function(n){return t.root.classList.add(n)},removeClass:function(n){return t.root.classList.remove(n)},hasClass:function(n){return t.root.classList.contains(n)},setStyle:function(n,i){return t.root.style.setProperty(n,i)},registerEventHandler:function(n,i){return t.listen(n,i)},deregisterEventHandler:function(n,i){return t.unlisten(n,i)}})},i}(s),p={animation:{prefixed:"-webkit-animation",standard:"animation"},transform:{prefixed:"-webkit-transform",standard:"transform"},transition:{prefixed:"-webkit-transition",standard:"transition"}},b={animationend:{cssProperty:"animation",prefixed:"webkitAnimationEnd",standard:"animationend"},animationiteration:{cssProperty:"animation",prefixed:"webkitAnimationIteration",standard:"animationiteration"},animationstart:{cssProperty:"animation",prefixed:"webkitAnimationStart",standard:"animationstart"},transitionend:{cssProperty:"transition",prefixed:"webkitTransitionEnd",standard:"transitionend"}};
|
|
93
|
+
/**
|
|
94
|
+
* @license
|
|
95
|
+
* Copyright 2016 Google Inc.
|
|
96
|
+
*
|
|
97
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
98
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
99
|
+
* in the Software without restriction, including without limitation the rights
|
|
100
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
101
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
102
|
+
* furnished to do so, subject to the following conditions:
|
|
103
|
+
*
|
|
104
|
+
* The above copyright notice and this permission notice shall be included in
|
|
105
|
+
* all copies or substantial portions of the Software.
|
|
106
|
+
*
|
|
107
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
108
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
109
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
110
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
111
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
112
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
113
|
+
* THE SOFTWARE.
|
|
114
|
+
*/function g(t){return Boolean(t.document)&&"function"==typeof t.document.createElement}function y(t,n){if(g(t)&&n in p){var i=t.document.createElement("div"),r=p[n],e=r.standard;return e in i.style?e:r.prefixed}return n}function A(t,n){if(g(t)&&n in b){var i=t.document.createElement("div"),r=b[n];return r.cssProperty in i.style?r.standard:r.prefixed}return n}
|
|
115
|
+
/**
|
|
116
|
+
* @license
|
|
117
|
+
* Copyright 2018 Google Inc.
|
|
118
|
+
*
|
|
119
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
120
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
121
|
+
* in the Software without restriction, including without limitation the rights
|
|
122
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
123
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
124
|
+
* furnished to do so, subject to the following conditions:
|
|
125
|
+
*
|
|
126
|
+
* The above copyright notice and this permission notice shall be included in
|
|
127
|
+
* all copies or substantial portions of the Software.
|
|
128
|
+
*
|
|
129
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
130
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
131
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
132
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
133
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
134
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
135
|
+
* THE SOFTWARE.
|
|
136
|
+
*/var w={NOTCH_ELEMENT_SELECTOR:".mdc-notched-outline__notch"},E={NOTCH_ELEMENT_PADDING:8},O={NO_LABEL:"mdc-notched-outline--no-label",OUTLINE_NOTCHED:"mdc-notched-outline--notched",OUTLINE_UPGRADED:"mdc-notched-outline--upgraded"},T=function(t){function r(n){return t.call(this,i(i({},r.defaultAdapter),n))||this}return n(r,t),Object.defineProperty(r,"strings",{get:function(){return w},enumerable:!1,configurable:!0}),Object.defineProperty(r,"cssClasses",{get:function(){return O},enumerable:!1,configurable:!0}),Object.defineProperty(r,"numbers",{get:function(){return E},enumerable:!1,configurable:!0}),Object.defineProperty(r,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},setNotchWidthProperty:function(){},removeNotchWidthProperty:function(){}}},enumerable:!1,configurable:!0}),r.prototype.notch=function(t){var n=r.cssClasses.OUTLINE_NOTCHED;t>0&&(t+=E.NOTCH_ELEMENT_PADDING),this.adapter.setNotchWidthProperty(t),this.adapter.addClass(n)},r.prototype.closeNotch=function(){this.adapter.removeClass(r.cssClasses.OUTLINE_NOTCHED),this.adapter.removeNotchWidthProperty()},r}(u),_=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return n(i,t),i.attachTo=function(t){return new i(t)},i.prototype.initialSyncWithDOM=function(){this.notchElement=this.root.querySelector(w.NOTCH_ELEMENT_SELECTOR);var t=this.root.querySelector("."+h.cssClasses.ROOT);t?(t.style.transitionDuration="0s",this.root.classList.add(O.OUTLINE_UPGRADED),requestAnimationFrame((function(){t.style.transitionDuration=""}))):this.root.classList.add(O.NO_LABEL)},i.prototype.notch=function(t){this.foundation.notch(t)},i.prototype.closeNotch=function(){this.foundation.closeNotch()},i.prototype.getDefaultFoundation=function(){var t=this;return new T({addClass:function(n){return t.root.classList.add(n)},removeClass:function(n){return t.root.classList.remove(n)},setNotchWidthProperty:function(n){t.notchElement.style.setProperty("width",n+"px")},removeNotchWidthProperty:function(){t.notchElement.style.removeProperty("width")}})},i}(s);
|
|
137
|
+
/**
|
|
138
|
+
* @license
|
|
139
|
+
* Copyright 2019 Google Inc.
|
|
140
|
+
*
|
|
141
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
142
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
143
|
+
* in the Software without restriction, including without limitation the rights
|
|
144
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
145
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
146
|
+
* furnished to do so, subject to the following conditions:
|
|
147
|
+
*
|
|
148
|
+
* The above copyright notice and this permission notice shall be included in
|
|
149
|
+
* all copies or substantial portions of the Software.
|
|
150
|
+
*
|
|
151
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
152
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
153
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
154
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
155
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
156
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
157
|
+
* THE SOFTWARE.
|
|
158
|
+
*/
|
|
159
|
+
function C(t){return void 0===t&&(t=window),!!function(t){void 0===t&&(t=window);var n=!1;try{var i={get passive(){return n=!0,!1}},r=function(){};t.document.addEventListener("test",r,i),t.document.removeEventListener("test",r,i)}catch(t){n=!1}return n}
|
|
160
|
+
/**
|
|
161
|
+
* @license
|
|
162
|
+
* Copyright 2016 Google Inc.
|
|
163
|
+
*
|
|
164
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
165
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
166
|
+
* in the Software without restriction, including without limitation the rights
|
|
167
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
168
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
169
|
+
* furnished to do so, subject to the following conditions:
|
|
170
|
+
*
|
|
171
|
+
* The above copyright notice and this permission notice shall be included in
|
|
172
|
+
* all copies or substantial portions of the Software.
|
|
173
|
+
*
|
|
174
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
175
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
176
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
177
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
178
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
179
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
180
|
+
* THE SOFTWARE.
|
|
181
|
+
*/(t)&&{passive:!0}}var I,S={BG_FOCUSED:"mdc-ripple-upgraded--background-focused",FG_ACTIVATION:"mdc-ripple-upgraded--foreground-activation",FG_DEACTIVATION:"mdc-ripple-upgraded--foreground-deactivation",ROOT:"mdc-ripple-upgraded",UNBOUNDED:"mdc-ripple-upgraded--unbounded"},x={VAR_FG_SCALE:"--mdc-ripple-fg-scale",VAR_FG_SIZE:"--mdc-ripple-fg-size",VAR_FG_TRANSLATE_END:"--mdc-ripple-fg-translate-end",VAR_FG_TRANSLATE_START:"--mdc-ripple-fg-translate-start",VAR_LEFT:"--mdc-ripple-left",VAR_TOP:"--mdc-ripple-top"},N={DEACTIVATION_TIMEOUT_MS:225,FG_DEACTIVATION_MS:150,INITIAL_ORIGIN_SCALE:.6,PADDING:10,TAP_DELAY_MS:300},R=["touchstart","pointerdown","mousedown","keydown"],j=["touchend","pointerup","mouseup","contextmenu"],D=[],L=function(t){function e(n){var r=t.call(this,i(i({},e.defaultAdapter),n))||this;return r.activationAnimationHasEnded=!1,r.activationTimer=0,r.fgDeactivationRemovalTimer=0,r.fgScale="0",r.frame={width:0,height:0},r.initialSize=0,r.layoutFrame=0,r.maxRadius=0,r.unboundedCoords={left:0,top:0},r.activationState=r.defaultActivationState(),r.activationTimerCallback=function(){r.activationAnimationHasEnded=!0,r.runDeactivationUXLogicIfReady()},r.activateHandler=function(t){r.activateImpl(t)},r.deactivateHandler=function(){r.deactivateImpl()},r.focusHandler=function(){r.handleFocus()},r.blurHandler=function(){r.handleBlur()},r.resizeHandler=function(){r.layout()},r}return n(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return S},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return x},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return N},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},browserSupportsCssVars:function(){return!0},computeBoundingRect:function(){return{top:0,right:0,bottom:0,left:0,width:0,height:0}},containsEventTarget:function(){return!0},deregisterDocumentInteractionHandler:function(){},deregisterInteractionHandler:function(){},deregisterResizeHandler:function(){},getWindowPageOffset:function(){return{x:0,y:0}},isSurfaceActive:function(){return!0},isSurfaceDisabled:function(){return!0},isUnbounded:function(){return!0},registerDocumentInteractionHandler:function(){},registerInteractionHandler:function(){},registerResizeHandler:function(){},removeClass:function(){},updateCssVariable:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){var t=this,n=this.supportsPressRipple();if(this.registerRootHandlers(n),n){var i=e.cssClasses,r=i.ROOT,o=i.UNBOUNDED;requestAnimationFrame((function(){t.adapter.addClass(r),t.adapter.isUnbounded()&&(t.adapter.addClass(o),t.layoutInternal())}))}},e.prototype.destroy=function(){var t=this;if(this.supportsPressRipple()){this.activationTimer&&(clearTimeout(this.activationTimer),this.activationTimer=0,this.adapter.removeClass(e.cssClasses.FG_ACTIVATION)),this.fgDeactivationRemovalTimer&&(clearTimeout(this.fgDeactivationRemovalTimer),this.fgDeactivationRemovalTimer=0,this.adapter.removeClass(e.cssClasses.FG_DEACTIVATION));var n=e.cssClasses,i=n.ROOT,r=n.UNBOUNDED;requestAnimationFrame((function(){t.adapter.removeClass(i),t.adapter.removeClass(r),t.removeCssVars()}))}this.deregisterRootHandlers(),this.deregisterDeactivationHandlers()},e.prototype.activate=function(t){this.activateImpl(t)},e.prototype.deactivate=function(){this.deactivateImpl()},e.prototype.layout=function(){var t=this;this.layoutFrame&&cancelAnimationFrame(this.layoutFrame),this.layoutFrame=requestAnimationFrame((function(){t.layoutInternal(),t.layoutFrame=0}))},e.prototype.setUnbounded=function(t){var n=e.cssClasses.UNBOUNDED;t?this.adapter.addClass(n):this.adapter.removeClass(n)},e.prototype.handleFocus=function(){var t=this;requestAnimationFrame((function(){return t.adapter.addClass(e.cssClasses.BG_FOCUSED)}))},e.prototype.handleBlur=function(){var t=this;requestAnimationFrame((function(){return t.adapter.removeClass(e.cssClasses.BG_FOCUSED)}))},e.prototype.supportsPressRipple=function(){return this.adapter.browserSupportsCssVars()},e.prototype.defaultActivationState=function(){return{activationEvent:void 0,hasDeactivationUXRun:!1,isActivated:!1,isProgrammatic:!1,wasActivatedByPointer:!1,wasElementMadeActive:!1}},e.prototype.registerRootHandlers=function(t){var n,i;if(t){try{for(var e=r(R),o=e.next();!o.done;o=e.next())this.adapter.registerInteractionHandler(o.value,this.activateHandler)}catch(t){n={error:t}}finally{try{o&&!o.done&&(i=e.return)&&i.call(e)}finally{if(n)throw n.error}}this.adapter.isUnbounded()&&this.adapter.registerResizeHandler(this.resizeHandler)}this.adapter.registerInteractionHandler("focus",this.focusHandler),this.adapter.registerInteractionHandler("blur",this.blurHandler)},e.prototype.registerDeactivationHandlers=function(t){var n,i;if("keydown"===t.type)this.adapter.registerInteractionHandler("keyup",this.deactivateHandler);else try{for(var e=r(j),o=e.next();!o.done;o=e.next())this.adapter.registerDocumentInteractionHandler(o.value,this.deactivateHandler)}catch(t){n={error:t}}finally{try{o&&!o.done&&(i=e.return)&&i.call(e)}finally{if(n)throw n.error}}},e.prototype.deregisterRootHandlers=function(){var t,n;try{for(var i=r(R),e=i.next();!e.done;e=i.next())this.adapter.deregisterInteractionHandler(e.value,this.activateHandler)}catch(n){t={error:n}}finally{try{e&&!e.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}this.adapter.deregisterInteractionHandler("focus",this.focusHandler),this.adapter.deregisterInteractionHandler("blur",this.blurHandler),this.adapter.isUnbounded()&&this.adapter.deregisterResizeHandler(this.resizeHandler)},e.prototype.deregisterDeactivationHandlers=function(){var t,n;this.adapter.deregisterInteractionHandler("keyup",this.deactivateHandler);try{for(var i=r(j),e=i.next();!e.done;e=i.next())this.adapter.deregisterDocumentInteractionHandler(e.value,this.deactivateHandler)}catch(n){t={error:n}}finally{try{e&&!e.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}},e.prototype.removeCssVars=function(){var t=this,n=e.strings;Object.keys(n).forEach((function(i){0===i.indexOf("VAR_")&&t.adapter.updateCssVariable(n[i],null)}))},e.prototype.activateImpl=function(t){var n=this;if(!this.adapter.isSurfaceDisabled()){var i=this.activationState;if(!i.isActivated){var r=this.previousActivationEvent;r&&void 0!==t&&r.type!==t.type||(i.isActivated=!0,i.isProgrammatic=void 0===t,i.activationEvent=t,i.wasActivatedByPointer=!i.isProgrammatic&&void 0!==t&&("mousedown"===t.type||"touchstart"===t.type||"pointerdown"===t.type),void 0!==t&&D.length>0&&D.some((function(t){return n.adapter.containsEventTarget(t)}))?this.resetActivationState():(void 0!==t&&(D.push(t.target),this.registerDeactivationHandlers(t)),i.wasElementMadeActive=this.checkElementMadeActive(t),i.wasElementMadeActive&&this.animateActivation(),requestAnimationFrame((function(){D=[],i.wasElementMadeActive||void 0===t||" "!==t.key&&32!==t.keyCode||(i.wasElementMadeActive=n.checkElementMadeActive(t),i.wasElementMadeActive&&n.animateActivation()),i.wasElementMadeActive||(n.activationState=n.defaultActivationState())}))))}}},e.prototype.checkElementMadeActive=function(t){return void 0===t||"keydown"!==t.type||this.adapter.isSurfaceActive()},e.prototype.animateActivation=function(){var t=this,n=e.strings,i=n.VAR_FG_TRANSLATE_START,r=n.VAR_FG_TRANSLATE_END,o=e.cssClasses,u=o.FG_DEACTIVATION,s=o.FG_ACTIVATION,a=e.numbers.DEACTIVATION_TIMEOUT_MS;this.layoutInternal();var c="",f="";if(!this.adapter.isUnbounded()){var h=this.getFgTranslationCoordinates(),d=h.startPoint,l=h.endPoint;c=d.x+"px, "+d.y+"px",f=l.x+"px, "+l.y+"px"}this.adapter.updateCssVariable(i,c),this.adapter.updateCssVariable(r,f),clearTimeout(this.activationTimer),clearTimeout(this.fgDeactivationRemovalTimer),this.rmBoundedActivationClasses(),this.adapter.removeClass(u),this.adapter.computeBoundingRect(),this.adapter.addClass(s),this.activationTimer=setTimeout((function(){t.activationTimerCallback()}),a)},e.prototype.getFgTranslationCoordinates=function(){var t,n=this.activationState;return{startPoint:t={x:(t=n.wasActivatedByPointer?function(t,n,i){if(!t)return{x:0,y:0};var r,e,o=n.x+i.left,u=n.y+i.top;return"touchstart"===t.type?(r=t.changedTouches[0].pageX-o,e=t.changedTouches[0].pageY-u):(r=t.pageX-o,e=t.pageY-u),{x:r,y:e}}
|
|
182
|
+
/**
|
|
183
|
+
* @license
|
|
184
|
+
* Copyright 2016 Google Inc.
|
|
185
|
+
*
|
|
186
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
187
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
188
|
+
* in the Software without restriction, including without limitation the rights
|
|
189
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
190
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
191
|
+
* furnished to do so, subject to the following conditions:
|
|
192
|
+
*
|
|
193
|
+
* The above copyright notice and this permission notice shall be included in
|
|
194
|
+
* all copies or substantial portions of the Software.
|
|
195
|
+
*
|
|
196
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
197
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
198
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
199
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
200
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
201
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
202
|
+
* THE SOFTWARE.
|
|
203
|
+
*/(n.activationEvent,this.adapter.getWindowPageOffset(),this.adapter.computeBoundingRect()):{x:this.frame.width/2,y:this.frame.height/2}).x-this.initialSize/2,y:t.y-this.initialSize/2},endPoint:{x:this.frame.width/2-this.initialSize/2,y:this.frame.height/2-this.initialSize/2}}},e.prototype.runDeactivationUXLogicIfReady=function(){var t=this,n=e.cssClasses.FG_DEACTIVATION,i=this.activationState;(i.hasDeactivationUXRun||!i.isActivated)&&this.activationAnimationHasEnded&&(this.rmBoundedActivationClasses(),this.adapter.addClass(n),this.fgDeactivationRemovalTimer=setTimeout((function(){t.adapter.removeClass(n)}),N.FG_DEACTIVATION_MS))},e.prototype.rmBoundedActivationClasses=function(){this.adapter.removeClass(e.cssClasses.FG_ACTIVATION),this.activationAnimationHasEnded=!1,this.adapter.computeBoundingRect()},e.prototype.resetActivationState=function(){var t=this;this.previousActivationEvent=this.activationState.activationEvent,this.activationState=this.defaultActivationState(),setTimeout((function(){return t.previousActivationEvent=void 0}),e.numbers.TAP_DELAY_MS)},e.prototype.deactivateImpl=function(){var t=this,n=this.activationState;if(n.isActivated){var r=i({},n);n.isProgrammatic?(requestAnimationFrame((function(){t.animateDeactivation(r)})),this.resetActivationState()):(this.deregisterDeactivationHandlers(),requestAnimationFrame((function(){t.activationState.hasDeactivationUXRun=!0,t.animateDeactivation(r),t.resetActivationState()})))}},e.prototype.animateDeactivation=function(t){(t.wasActivatedByPointer||t.wasElementMadeActive)&&this.runDeactivationUXLogicIfReady()},e.prototype.layoutInternal=function(){this.frame=this.adapter.computeBoundingRect();var t=Math.max(this.frame.height,this.frame.width);this.maxRadius=this.adapter.isUnbounded()?t:Math.sqrt(Math.pow(this.frame.width,2)+Math.pow(this.frame.height,2))+e.numbers.PADDING;var n=Math.floor(t*e.numbers.INITIAL_ORIGIN_SCALE);this.initialSize=this.adapter.isUnbounded()&&n%2!=0?n-1:n,this.fgScale=""+this.maxRadius/this.initialSize,this.updateLayoutCssVars()},e.prototype.updateLayoutCssVars=function(){var t=e.strings,n=t.VAR_LEFT,i=t.VAR_TOP,r=t.VAR_FG_SCALE;this.adapter.updateCssVariable(t.VAR_FG_SIZE,this.initialSize+"px"),this.adapter.updateCssVariable(r,this.fgScale),this.adapter.isUnbounded()&&(this.unboundedCoords={left:Math.round(this.frame.width/2-this.initialSize/2),top:Math.round(this.frame.height/2-this.initialSize/2)},this.adapter.updateCssVariable(n,this.unboundedCoords.left+"px"),this.adapter.updateCssVariable(i,this.unboundedCoords.top+"px"))},e}(u),H=function(t){function i(){var n=null!==t&&t.apply(this,arguments)||this;return n.disabled=!1,n}return n(i,t),i.attachTo=function(t,n){void 0===n&&(n={isUnbounded:void 0});var r=new i(t);return void 0!==n.isUnbounded&&(r.unbounded=n.isUnbounded),r},i.createAdapter=function(t){return{addClass:function(n){return t.root.classList.add(n)},browserSupportsCssVars:function(){return function(t,n){void 0===n&&(n=!1);var i,r=window.CSS;if("boolean"==typeof I&&!n)return I;if(!r||"function"!=typeof r.supports)return!1;var e=r.supports("--css-vars","yes"),o=r.supports("(--css-vars: yes)")&&r.supports("color","#00000000");return i=e||o,n||(I=i),i}()},computeBoundingRect:function(){return t.root.getBoundingClientRect()},containsEventTarget:function(n){return t.root.contains(n)},deregisterDocumentInteractionHandler:function(t,n){return document.documentElement.removeEventListener(t,n,C())},deregisterInteractionHandler:function(n,i){return t.root.removeEventListener(n,i,C())},deregisterResizeHandler:function(t){return window.removeEventListener("resize",t)},getWindowPageOffset:function(){return{x:window.pageXOffset,y:window.pageYOffset}},isSurfaceActive:function(){return c(t.root,":active")},isSurfaceDisabled:function(){return Boolean(t.disabled)},isUnbounded:function(){return Boolean(t.unbounded)},registerDocumentInteractionHandler:function(t,n){return document.documentElement.addEventListener(t,n,C())},registerInteractionHandler:function(n,i){return t.root.addEventListener(n,i,C())},registerResizeHandler:function(t){return window.addEventListener("resize",t)},removeClass:function(n){return t.root.classList.remove(n)},updateCssVariable:function(n,i){return t.root.style.setProperty(n,i)}}},Object.defineProperty(i.prototype,"unbounded",{get:function(){return Boolean(this.isUnbounded)},set:function(t){this.isUnbounded=Boolean(t),this.setUnbounded()},enumerable:!1,configurable:!0}),i.prototype.activate=function(){this.foundation.activate()},i.prototype.deactivate=function(){this.foundation.deactivate()},i.prototype.layout=function(){this.foundation.layout()},i.prototype.getDefaultFoundation=function(){return new L(i.createAdapter(this))},i.prototype.initialSyncWithDOM=function(){this.isUnbounded="mdcRippleIsUnbounded"in this.root.dataset},i.prototype.setUnbounded=function(){this.foundation.setUnbounded(Boolean(this.isUnbounded))},i}(s);export{u as M,n as _,i as a,e as b,o as c,a as d,s as e,r as f,y as g,H as h,L as i,d as j,m as k,_ as l,c as m,A as n,C as o}
|