@ptcwebops/ptcw-design 6.3.21 → 6.3.22-beta
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-35540bfb.js → component-4dd13907.js} +2643 -832
- package/dist/cjs/featured-list.cjs.entry.js +1 -1
- package/dist/cjs/innovator-toggle-container.cjs.entry.js +1 -1
- package/dist/cjs/jumbotron-sub-menu.cjs.entry.js +1 -1
- package/dist/cjs/list-item.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/modal-form-example.cjs.entry.js +94 -0
- package/dist/cjs/ptc-back-to-top.cjs.entry.js +1 -16
- package/dist/cjs/ptc-bio-card.cjs.entry.js +5 -20
- package/dist/cjs/ptc-card_2.cjs.entry.js +5 -10
- package/dist/cjs/ptc-case-studies-slider.cjs.entry.js +6 -2
- package/dist/cjs/ptc-close-icon_2.cjs.entry.js +17 -32
- package/dist/cjs/ptc-data-lookup.cjs.entry.js +1 -2
- package/dist/cjs/ptc-dynamic-card.cjs.entry.js +1 -1
- package/dist/cjs/ptc-enhanced-product-listing-card.cjs.entry.js +1 -1
- package/dist/cjs/ptc-featured-list.cjs.entry.js +1 -1
- package/dist/cjs/ptc-filter-level-theater.cjs.entry.js +1 -1
- package/dist/cjs/{ptc-form-checkbox_2.cjs.entry.js → ptc-form-checkbox_4.cjs.entry.js} +787 -5
- package/dist/cjs/ptc-icon-list.cjs.entry.js +1 -1
- package/dist/cjs/ptc-info-tile.cjs.entry.js +1 -2
- package/dist/cjs/ptc-jumbotron.cjs.entry.js +1 -1
- package/dist/cjs/ptc-nav-skip-to-content.cjs.entry.js +3 -28
- package/dist/cjs/ptc-para.cjs.entry.js +1 -1
- package/dist/cjs/ptc-podcast-card.cjs.entry.js +1 -1
- package/dist/cjs/ptc-previous-url.cjs.entry.js +10 -2
- package/dist/cjs/ptc-pricing-packaging-table.cjs.entry.js +11 -9
- package/dist/cjs/ptc-pricing-tabs.cjs.entry.js +1 -1
- package/dist/cjs/ptc-product-card.cjs.entry.js +2 -2
- package/dist/cjs/ptc-product-category.cjs.entry.js +1 -1
- package/dist/cjs/ptc-product-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/ptc-product-highlight-card.cjs.entry.js +1 -1
- package/dist/cjs/ptc-product-list.cjs.entry.js +1 -7
- package/dist/cjs/ptc-product-sidebar.cjs.entry.js +6 -38
- package/dist/cjs/ptc-readmore-char.cjs.entry.js +1 -1
- package/dist/cjs/ptc-readmore-v3.cjs.entry.js +1 -1
- package/dist/cjs/ptc-related-card-rail.cjs.entry.js +32 -90
- package/dist/cjs/ptc-tooltip-v2.cjs.entry.js +1 -1
- package/dist/cjs/ptc-value-led-speed-bump.cjs.entry.js +1 -1
- package/dist/cjs/ptc-white-paper.cjs.entry.js +10 -6
- package/dist/cjs/ptcw-design.cjs.js +1 -1
- package/dist/cjs/tab-header.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/icon-asset/media/designer-v6.0.6.svg +30 -2
- package/dist/collection/components/innovator-toggle-container/innovator-toggle-container.css +6 -6
- package/dist/collection/components/jumbotron-sub-menu/jumbotron-sub-menu.css +0 -1
- package/dist/collection/components/list-item/list-item.css +0 -4
- package/dist/collection/components/organism-bundles/bundle-featured-list/featured-list.css +3 -3
- package/dist/collection/components/organism-bundles/form/modal-from-example/modal-form-example.css +26 -0
- package/dist/collection/components/organism-bundles/form/modal-from-example/modal-form-example.js +99 -0
- package/dist/collection/components/ptc-back-to-top/ptc-back-to-top.css +0 -4
- package/dist/collection/components/ptc-back-to-top/ptc-back-to-top.js +0 -15
- package/dist/collection/components/ptc-bio-card/ptc-bio-card.css +6 -10
- package/dist/collection/components/ptc-bio-card/ptc-bio-card.js +4 -19
- package/dist/collection/components/ptc-case-studies-slider/ptc-case-studies-slider.css +6 -6
- package/dist/collection/components/ptc-case-studies-slider/ptc-case-studies-slider.js +5 -1
- package/dist/collection/components/ptc-container/ptc-container.js +2 -2
- package/dist/collection/components/ptc-dynamic-card/ptc-dynamic-card.css +1 -1
- package/dist/collection/components/ptc-enhanced-product-listing-card/ptc-enhanced-product-listing-card.css +0 -16
- package/dist/collection/components/ptc-featured-list/ptc-featured-list.css +6 -6
- package/dist/collection/components/ptc-filter-level-theater/ptc-filter-level-theater.css +6 -6
- package/dist/collection/components/ptc-icon-list/ptc-icon-list.css +0 -3
- package/dist/collection/components/ptc-info-tile/ptc-info-tile.js +1 -20
- package/dist/collection/components/ptc-jumbotron/ptc-jumbotron.css +6 -6
- package/dist/collection/components/ptc-modal/ptc-modal.css +4 -0
- package/dist/collection/components/ptc-modal/ptc-modal.js +18 -50
- package/dist/collection/components/ptc-nav-skip-to-content/ptc-nav-skip-to-content.css +0 -7
- package/dist/collection/components/ptc-nav-skip-to-content/ptc-nav-skip-to-content.js +2 -78
- package/dist/collection/components/ptc-para/ptc-para.css +3 -0
- package/dist/collection/components/ptc-para/ptc-para.js +2 -2
- package/dist/collection/components/ptc-podcast-card/ptc-podcast-card.css +6 -6
- package/dist/collection/components/ptc-preloader-section/ptc-preloader-section.css +0 -419
- package/dist/collection/components/ptc-preloader-section/ptc-preloader-section.js +4 -9
- package/dist/collection/components/ptc-previous-url/ptc-previous-url.css +16 -0
- package/dist/collection/components/ptc-previous-url/ptc-previous-url.js +27 -1
- package/dist/collection/components/ptc-pricing-packaging-table/ptc-pricing-packaging-table.js +11 -9
- package/dist/collection/components/ptc-pricing-tabs/ptc-pricing-tabs.js +1 -1
- package/dist/collection/components/ptc-product-card/ptc-product-card.css +6 -10
- package/dist/collection/components/ptc-product-card/ptc-product-card.js +1 -1
- package/dist/collection/components/ptc-product-category/ptc-product-category.css +6 -6
- package/dist/collection/components/ptc-product-dropdown/ptc-product-dropdown.css +0 -8
- package/dist/collection/components/ptc-product-dropdown/ptc-product-dropdown.js +1 -1
- package/dist/collection/components/ptc-product-highlight-card/ptc-product-highlight-card.css +6 -6
- package/dist/collection/components/ptc-product-list/ptc-product-list.js +1 -7
- package/dist/collection/components/ptc-product-sidebar/ptc-product-sidebar.css +0 -12
- package/dist/collection/components/ptc-product-sidebar/ptc-product-sidebar.js +5 -37
- package/dist/collection/components/ptc-readmore-char/ptc-readmore-char.css +6 -6
- package/dist/collection/components/ptc-readmore-v3/ptc-readmore-v3.css +6 -6
- package/dist/collection/components/ptc-related-card-rail/ptc-related-card-rail.css +2 -1
- package/dist/collection/components/ptc-related-card-rail/ptc-related-card-rail.js +33 -113
- package/dist/collection/components/ptc-textfield/ptc-textfield.js +19 -19
- package/dist/collection/components/ptc-tooltip-v2/ptc-tooltip-v2.css +6 -6
- package/dist/collection/components/ptc-value-led-speed-bump/ptc-value-led-speed-bump.css +6 -6
- package/dist/collection/components/ptc-white-paper/ptc-white-paper.css +6 -6
- package/dist/collection/components/ptc-white-paper/ptc-white-paper.js +9 -5
- package/dist/collection/components/tab-header/tab-header.js +1 -1
- package/dist/collection/stories/Card.stories.js +148 -3
- package/dist/collection/stories/Link.stories.js +13 -25
- package/dist/collection/stories/Paragraph.stories.js +10 -18
- package/dist/collection/stories/Select.stories.js +8 -5
- package/dist/collection/stories/Textfield.stories.js +28 -71
- package/dist/collection/stories/Title.stories.js +16 -28
- package/dist/collection/stories/organisms/eSupport/CaseTracker/preview.stories.js +45 -0
- package/dist/collection/stories/organisms/eSupport/SupportArticle/preview.stories.js +47 -0
- package/dist/collection/stories/organisms/eSupport/SupportPage/preview.stories.js +157 -0
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +230 -293
- package/dist/esm/{component-8c53e377.js → component-9c921cc6.js} +2592 -793
- package/dist/esm/featured-list.entry.js +1 -1
- package/dist/esm/innovator-toggle-container.entry.js +1 -1
- package/dist/esm/jumbotron-sub-menu.entry.js +1 -1
- package/dist/esm/list-item.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/modal-form-example.entry.js +90 -0
- package/dist/esm/ptc-back-to-top.entry.js +1 -16
- package/dist/esm/ptc-bio-card.entry.js +5 -20
- package/dist/esm/ptc-card_2.entry.js +5 -10
- package/dist/esm/ptc-case-studies-slider.entry.js +6 -2
- package/dist/esm/ptc-close-icon_2.entry.js +17 -32
- package/dist/esm/ptc-data-lookup.entry.js +1 -2
- package/dist/esm/ptc-dynamic-card.entry.js +1 -1
- package/dist/esm/ptc-enhanced-product-listing-card.entry.js +1 -1
- package/dist/esm/ptc-featured-list.entry.js +1 -1
- package/dist/esm/ptc-filter-level-theater.entry.js +1 -1
- package/dist/esm/{ptc-form-checkbox_2.entry.js → ptc-form-checkbox_4.entry.js} +784 -4
- package/dist/esm/ptc-icon-list.entry.js +1 -1
- package/dist/esm/ptc-info-tile.entry.js +1 -2
- package/dist/esm/ptc-jumbotron.entry.js +1 -1
- package/dist/esm/ptc-nav-skip-to-content.entry.js +3 -28
- package/dist/esm/ptc-para.entry.js +1 -1
- package/dist/esm/ptc-podcast-card.entry.js +1 -1
- package/dist/esm/ptc-previous-url.entry.js +10 -2
- package/dist/esm/ptc-pricing-packaging-table.entry.js +11 -9
- package/dist/esm/ptc-pricing-tabs.entry.js +1 -1
- package/dist/esm/ptc-product-card.entry.js +2 -2
- package/dist/esm/ptc-product-category.entry.js +1 -1
- package/dist/esm/ptc-product-dropdown.entry.js +2 -2
- package/dist/esm/ptc-product-highlight-card.entry.js +1 -1
- package/dist/esm/ptc-product-list.entry.js +1 -7
- package/dist/esm/ptc-product-sidebar.entry.js +6 -38
- package/dist/esm/ptc-readmore-char.entry.js +1 -1
- package/dist/esm/ptc-readmore-v3.entry.js +1 -1
- package/dist/esm/ptc-related-card-rail.entry.js +32 -90
- package/dist/esm/ptc-tooltip-v2.entry.js +1 -1
- package/dist/esm/ptc-value-led-speed-bump.entry.js +1 -1
- package/dist/esm/ptc-white-paper.entry.js +10 -6
- package/dist/esm/ptcw-design.js +1 -1
- package/dist/esm/tab-header.entry.js +1 -1
- package/dist/ptcw-design/media/designer-v6.0.6.svg +30 -2
- package/dist/ptcw-design/{p-752bba1c.entry.js → p-0529caaa.entry.js} +1 -1
- package/dist/ptcw-design/p-072a76d3.entry.js +1 -0
- package/dist/ptcw-design/{p-a791c53a.entry.js → p-0b515839.entry.js} +1 -1
- package/dist/ptcw-design/p-0d223232.entry.js +1 -0
- package/dist/ptcw-design/p-0de4cd11.entry.js +1 -0
- package/dist/ptcw-design/p-21aa746d.entry.js +1 -0
- package/dist/ptcw-design/{p-24776ca2.entry.js → p-2cc7e2a8.entry.js} +1 -1
- package/dist/ptcw-design/p-32f64f48.entry.js +1 -0
- package/dist/ptcw-design/p-3dac861d.entry.js +1 -0
- package/dist/ptcw-design/{p-d089dc37.entry.js → p-3dd0ded9.entry.js} +1 -1
- package/dist/ptcw-design/{p-4d8f6f46.entry.js → p-445329ed.entry.js} +1 -1
- package/dist/ptcw-design/{p-68ed2afe.entry.js → p-48c5eab8.entry.js} +1 -1
- package/dist/ptcw-design/p-4b192f5e.entry.js +1 -0
- package/dist/ptcw-design/p-4f93c631.entry.js +1 -0
- package/dist/ptcw-design/p-5311c6e1.entry.js +1 -0
- package/dist/ptcw-design/p-58e91cb8.entry.js +1 -0
- package/dist/ptcw-design/p-5db7f70b.entry.js +1 -0
- package/dist/ptcw-design/p-67c248ec.entry.js +1 -0
- package/dist/ptcw-design/p-71fbb799.entry.js +1 -0
- package/dist/ptcw-design/p-75390f63.entry.js +1 -0
- package/dist/ptcw-design/{p-e3b1af2b.entry.js → p-7793babb.entry.js} +1 -1
- package/dist/ptcw-design/p-799afee5.entry.js +1 -0
- package/dist/ptcw-design/p-8038bf31.entry.js +1 -0
- package/dist/ptcw-design/p-9501995f.entry.js +1 -0
- package/dist/ptcw-design/p-97b9f41b.entry.js +1 -0
- package/dist/ptcw-design/p-99ee8a0e.entry.js +1 -0
- package/dist/ptcw-design/p-9d612f1f.entry.js +1 -0
- package/dist/ptcw-design/p-a89b986a.entry.js +68 -0
- package/dist/ptcw-design/p-b50f71dd.entry.js +1 -0
- package/dist/ptcw-design/{p-757954b2.entry.js → p-b570e9a5.entry.js} +1 -1
- package/dist/ptcw-design/p-baff4d44.entry.js +1 -0
- package/dist/ptcw-design/p-bcab66bf.js +336 -0
- package/dist/ptcw-design/p-c788f16f.entry.js +1 -0
- package/dist/ptcw-design/{p-18ac526f.entry.js → p-d73cc053.entry.js} +1 -1
- package/dist/ptcw-design/p-de960790.entry.js +1 -0
- package/dist/ptcw-design/p-e6a272d9.entry.js +1 -0
- package/dist/ptcw-design/p-f1734520.entry.js +1 -0
- package/dist/ptcw-design/{p-0ddf2a09.entry.js → p-f867ebe6.entry.js} +1 -1
- package/dist/ptcw-design/p-fe40421e.entry.js +1 -0
- package/dist/ptcw-design/ptcw-design.css +2 -2
- package/dist/ptcw-design/ptcw-design.esm.js +1 -1
- package/dist/types/components/organism-bundles/form/modal-from-example/modal-form-example.d.ts +25 -0
- package/dist/types/components/ptc-bio-card/ptc-bio-card.d.ts +1 -1
- package/dist/types/components/ptc-container/ptc-container.d.ts +1 -1
- package/dist/types/components/ptc-info-tile/ptc-info-tile.d.ts +0 -1
- package/dist/types/components/ptc-mobile-select/mobile-select/dist/mobile-select.d.ts +209 -0
- package/dist/types/components/ptc-modal/ptc-modal.d.ts +2 -2
- package/dist/types/components/ptc-nav-skip-to-content/ptc-nav-skip-to-content.d.ts +0 -6
- package/dist/types/components/ptc-para/ptc-para.d.ts +1 -1
- package/dist/types/components/ptc-previous-url/ptc-previous-url.d.ts +2 -0
- package/dist/types/components/ptc-product-list/ptc-product-list.d.ts +1 -1
- package/dist/types/components/ptc-product-sidebar/ptc-product-sidebar.d.ts +3 -6
- package/dist/types/components/ptc-related-card-rail/ptc-related-card-rail.d.ts +5 -12
- package/dist/types/components/ptc-textfield/ptc-textfield.d.ts +0 -54
- package/dist/types/components.d.ts +21 -126
- package/dist/types/utils/eloqua.d.ts +9 -0
- package/package.json +2 -6
- package/readme.md +5 -1
- package/dist/cjs/component-1b8ad4d2.js +0 -1819
- package/dist/cjs/ptc-multi-select_2.cjs.entry.js +0 -670
- package/dist/cjs/validation-messages-33a4f26b.js +0 -126
- package/dist/collection/stories/Jumbotron.stories.js +0 -763
- package/dist/esm/component-9beac35b.js +0 -1802
- package/dist/esm/ptc-multi-select_2.entry.js +0 -665
- package/dist/esm/validation-messages-adbb6518.js +0 -124
- package/dist/ptcw-design/p-00e21489.entry.js +0 -1
- package/dist/ptcw-design/p-05c29cc2.entry.js +0 -1
- package/dist/ptcw-design/p-13e338a5.entry.js +0 -1
- package/dist/ptcw-design/p-1454ba84.entry.js +0 -1
- package/dist/ptcw-design/p-18a5a338.js +0 -1
- package/dist/ptcw-design/p-352e87c0.entry.js +0 -1
- package/dist/ptcw-design/p-38e5e590.entry.js +0 -1
- package/dist/ptcw-design/p-4737a0f6.entry.js +0 -1
- package/dist/ptcw-design/p-4ca956c1.entry.js +0 -1
- package/dist/ptcw-design/p-593b8eff.entry.js +0 -1
- package/dist/ptcw-design/p-73a853fc.entry.js +0 -1
- package/dist/ptcw-design/p-75431fa1.entry.js +0 -1
- package/dist/ptcw-design/p-98426799.js +0 -203
- package/dist/ptcw-design/p-98844b50.js +0 -134
- package/dist/ptcw-design/p-a2c7df64.entry.js +0 -1
- package/dist/ptcw-design/p-a58698ca.entry.js +0 -1
- package/dist/ptcw-design/p-acdd9a1d.entry.js +0 -1
- package/dist/ptcw-design/p-ad821a01.entry.js +0 -1
- package/dist/ptcw-design/p-b6255525.entry.js +0 -1
- package/dist/ptcw-design/p-b7fa9f2c.entry.js +0 -1
- package/dist/ptcw-design/p-b963ec8c.entry.js +0 -68
- package/dist/ptcw-design/p-bb9a879f.entry.js +0 -1
- package/dist/ptcw-design/p-bf84ecc0.entry.js +0 -1
- package/dist/ptcw-design/p-c82eaf9d.entry.js +0 -1
- package/dist/ptcw-design/p-cad4b517.entry.js +0 -1
- package/dist/ptcw-design/p-d6845e91.entry.js +0 -1
- package/dist/ptcw-design/p-db1dcce0.entry.js +0 -1
- package/dist/ptcw-design/p-ddb898c7.entry.js +0 -1
- package/dist/ptcw-design/p-e6619d63.entry.js +0 -1
- package/dist/ptcw-design/p-f9256e3d.entry.js +0 -1
- package/dist/ptcw-design/p-fbd9c8fc.entry.js +0 -1
|
@@ -0,0 +1,336 @@
|
|
|
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 e(){this.constructor=n}t(n,i),n.prototype=null===i?Object.create(i):(e.prototype=i.prototype,new e)}var i=function(){return i=Object.assign||function(t){for(var n,i=1,e=arguments.length;i<e;i++)for(var r in n=arguments[i])Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r]);return t},i.apply(this,arguments)};function e(t){var n="function"==typeof Symbol&&Symbol.iterator,i=n&&t[n],e=0;if(i)return i.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&e>=t.length&&(t=void 0),{value:t&&t[e++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function r(t,n){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var e,r,s=i.call(t),u=[];try{for(;(void 0===n||n-- >0)&&!(e=s.next()).done;)u.push(e.value)}catch(t){r={error:t}}finally{try{e&&!e.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return u}function s(t,n,i){if(i||2===arguments.length)for(var e,r=0,s=n.length;r<s;r++)!e&&r in n||(e||(e=Array.prototype.slice.call(n,0,r)),e[r]=n[r]);return t.concat(e||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}(),o=function(){function t(t,n){for(var i=[],e=2;e<arguments.length;e++)i[e-2]=arguments[e];this.root=t,this.initialize.apply(this,s([],r(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 e;void 0===i&&(i=!1),"function"==typeof CustomEvent?e=new CustomEvent(t,{bubbles:i,detail:n}):(e=document.createEvent("CustomEvent")).initCustomEvent(t,i,!1,n),this.root.dispatchEvent(e)},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 c(t,n){if(t.closest)return t.closest(n);for(var i=t;i;){if(h(i,n))return i;i=i.parentElement}return null}function h(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,a,l,d,m={LABEL_FLOAT_ABOVE:"mdc-floating-label--float-above",LABEL_REQUIRED:"mdc-floating-label--required",LABEL_SHAKE:"mdc-floating-label--shake",ROOT:"mdc-floating-label"},b=function(t){function e(n){var r=t.call(this,i(i({},e.defaultAdapter),n))||this;return r.shakeAnimationEndHandler=function(){r.handleShakeAnimationEnd()},r}return n(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return m},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},getWidth:function(){return 0},registerInteractionHandler:function(){},deregisterInteractionHandler:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){this.adapter.registerInteractionHandler("animationend",this.shakeAnimationEndHandler)},e.prototype.destroy=function(){this.adapter.deregisterInteractionHandler("animationend",this.shakeAnimationEndHandler)},e.prototype.getWidth=function(){return this.adapter.getWidth()},e.prototype.shake=function(t){var n=e.cssClasses.LABEL_SHAKE;t?this.adapter.addClass(n):this.adapter.removeClass(n)},e.prototype.float=function(t){var n=e.cssClasses,i=n.LABEL_FLOAT_ABOVE,r=n.LABEL_SHAKE;t?this.adapter.addClass(i):(this.adapter.removeClass(i),this.adapter.removeClass(r))},e.prototype.setRequired=function(t){var n=e.cssClasses.LABEL_REQUIRED;t?this.adapter.addClass(n):this.adapter.removeClass(n)},e.prototype.handleShakeAnimationEnd=function(){this.adapter.removeClass(e.cssClasses.LABEL_SHAKE)},e}(u),v=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 b({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}(o),E={LINE_RIPPLE_ACTIVE:"mdc-line-ripple--active",LINE_RIPPLE_DEACTIVATING:"mdc-line-ripple--deactivating"},I=function(t){function e(n){var r=t.call(this,i(i({},e.defaultAdapter),n))||this;return r.transitionEndHandler=function(t){r.handleTransitionEnd(t)},r}return n(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return E},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},hasClass:function(){return!1},setStyle:function(){},registerEventHandler:function(){},deregisterEventHandler:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){this.adapter.registerEventHandler("transitionend",this.transitionEndHandler)},e.prototype.destroy=function(){this.adapter.deregisterEventHandler("transitionend",this.transitionEndHandler)},e.prototype.activate=function(){this.adapter.removeClass(E.LINE_RIPPLE_DEACTIVATING),this.adapter.addClass(E.LINE_RIPPLE_ACTIVE)},e.prototype.setRippleCenter=function(t){this.adapter.setStyle("transform-origin",t+"px center")},e.prototype.deactivate=function(){this.adapter.addClass(E.LINE_RIPPLE_DEACTIVATING)},e.prototype.handleTransitionEnd=function(t){var n=this.adapter.hasClass(E.LINE_RIPPLE_DEACTIVATING);"opacity"===t.propertyName&&n&&(this.adapter.removeClass(E.LINE_RIPPLE_ACTIVE),this.adapter.removeClass(E.LINE_RIPPLE_DEACTIVATING))},e}(u),g=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 I({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}(o),A={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"},T={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};
|
|
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(t){t[t.BOTTOM=1]="BOTTOM",t[t.CENTER=2]="CENTER",t[t.RIGHT=4]="RIGHT",t[t.FLIP_RTL=8]="FLIP_RTL"}(f||(f={})),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"}(a||(a={}));var p={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=((l={})[""+p.LIST_ITEM_ACTIVATED_CLASS]="mdc-list-item--activated",l[""+p.LIST_ITEM_CLASS]="mdc-list-item",l[""+p.LIST_ITEM_DISABLED_CLASS]="mdc-list-item--disabled",l[""+p.LIST_ITEM_SELECTED_CLASS]="mdc-list-item--selected",l[""+p.LIST_ITEM_PRIMARY_TEXT_CLASS]="mdc-list-item__primary-text",l[""+p.ROOT]="mdc-list",l),_=((d={})[""+p.LIST_ITEM_ACTIVATED_CLASS]="mdc-deprecated-list-item--activated",d[""+p.LIST_ITEM_CLASS]="mdc-deprecated-list-item",d[""+p.LIST_ITEM_DISABLED_CLASS]="mdc-deprecated-list-item--disabled",d[""+p.LIST_ITEM_SELECTED_CLASS]="mdc-deprecated-list-item--selected",d[""+p.LIST_ITEM_TEXT_CLASS]="mdc-deprecated-list-item__text",d[""+p.LIST_ITEM_PRIMARY_TEXT_CLASS]="mdc-deprecated-list-item__primary-text",d[""+p.ROOT]="mdc-deprecated-list",d),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 ."+p.LIST_ITEM_CLASS+" button:not(:disabled),\n ."+p.LIST_ITEM_CLASS+" a,\n ."+_[p.LIST_ITEM_CLASS]+" button:not(:disabled),\n ."+_[p.LIST_ITEM_CLASS]+" a\n ",DEPRECATED_SELECTOR:".mdc-deprecated-list",FOCUSABLE_CHILD_ELEMENTS:"\n ."+p.LIST_ITEM_CLASS+" button:not(:disabled),\n ."+p.LIST_ITEM_CLASS+" a,\n ."+p.LIST_ITEM_CLASS+' input[type="radio"]:not(:disabled),\n .'+p.LIST_ITEM_CLASS+' input[type="checkbox"]:not(:disabled),\n .'+_[p.LIST_ITEM_CLASS]+" button:not(:disabled),\n ."+_[p.LIST_ITEM_CLASS]+" a,\n ."+_[p.LIST_ITEM_CLASS]+' input[type="radio"]:not(:disabled),\n .'+_[p.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},w="Backspace",y="Enter",L="Spacebar",R="PageUp",D="PageDown",N="End",M="Home",F="ArrowLeft",j="ArrowUp",k="ArrowRight",H="ArrowDown",B="Delete",P="Escape",U=new Set;U.add(w),U.add(y),U.add(L),U.add(R),U.add(D),U.add(N),U.add(M),U.add(F),U.add(j),U.add(k),U.add(H),U.add(B),U.add(P),U.add("Tab");var V=new Map;V.set(8,w),V.set(13,y),V.set(32,L),V.set(33,R),V.set(34,D),V.set(35,N),V.set(36,M),V.set(37,F),V.set(38,j),V.set(39,k),V.set(40,H),V.set(46,B),V.set(27,P),V.set(9,"Tab");var G=new Set;function q(t){var n=t.key;return U.has(n)?n:V.get(t.keyCode)||"Unknown"}
|
|
115
|
+
/**
|
|
116
|
+
* @license
|
|
117
|
+
* Copyright 2020 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
|
+
*/G.add(R),G.add(D),G.add(N),G.add(M),G.add(F),G.add(j),G.add(k),G.add(H);var W=["input","button","textarea","select"],X=function(t){var n=t.target;if(n){var i=(""+n.tagName).toLowerCase();-1===W.indexOf(i)&&t.preventDefault()}};function z(t,n){var i,e=t.nextChar,r=t.focusItemAtIndex,s=t.sortedIndexByFirstChar,u=t.focusedItemIndex,o=t.skipFocus,c=t.isItemAtIndexDisabled;return clearTimeout(n.bufferClearTimeout),n.bufferClearTimeout=setTimeout((function(){Y(n)}),S.TYPEAHEAD_BUFFER_CLEAR_TIMEOUT_MS),n.typeaheadBuffer=n.typeaheadBuffer+e,i=1===n.typeaheadBuffer.length?function(t,n,i,e){var r=e.typeaheadBuffer[0],s=t.get(r);if(!s)return-1;if(r===e.currentFirstChar&&s[e.sortedIndexCursor].index===n){e.sortedIndexCursor=(e.sortedIndexCursor+1)%s.length;var u=s[e.sortedIndexCursor].index;if(!i(u))return u}e.currentFirstChar=r;var o,c=-1;for(o=0;o<s.length;o++)if(!i(s[o].index)){c=o;break}for(;o<s.length;o++)if(s[o].index>n&&!i(s[o].index)){c=o;break}return-1!==c?(e.sortedIndexCursor=c,s[e.sortedIndexCursor].index):-1}(s,u,c,n):function(t,n,i){var e=t.get(i.typeaheadBuffer[0]);if(!e)return-1;var r=e[i.sortedIndexCursor];if(0===r.text.lastIndexOf(i.typeaheadBuffer,0)&&!n(r.index))return r.index;for(var s=(i.sortedIndexCursor+1)%e.length,u=-1;s!==i.sortedIndexCursor;){var o=e[s],c=0===o.text.lastIndexOf(i.typeaheadBuffer,0),h=!n(o.index);if(c&&h){u=s;break}s=(s+1)%e.length}return-1!==u?(i.sortedIndexCursor=u,e[i.sortedIndexCursor].index):-1}(s,c,n),-1===i||o||r(i),i}function K(t){return t.typeaheadBuffer.length>0}function Y(t){t.typeaheadBuffer=""}function Q(t,n){var i=t.event,e=t.isTargetListItem,r=t.focusedItemIndex,s=t.focusItemAtIndex,u=t.sortedIndexByFirstChar,o=t.isItemAtIndexDisabled,c="ArrowLeft"===q(i),h="ArrowUp"===q(i),f="ArrowRight"===q(i),a="ArrowDown"===q(i),l="Home"===q(i),d="End"===q(i),m="Enter"===q(i),b="Spacebar"===q(i);return i.altKey||i.ctrlKey||i.metaKey||c||h||f||a||l||d||m?-1:b||1!==i.key.length?b?(e&&X(i),e&&K(n)?z({focusItemAtIndex:s,focusedItemIndex:r,nextChar:" ",sortedIndexByFirstChar:u,skipFocus:!1,isItemAtIndexDisabled:o},n):-1):-1:(X(i),z({focusItemAtIndex:s,focusedItemIndex:r,nextChar:i.key.toLowerCase(),sortedIndexByFirstChar:u,skipFocus:!1,isItemAtIndexDisabled:o},n))}
|
|
137
|
+
/**
|
|
138
|
+
* @license
|
|
139
|
+
* Copyright 2018 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
|
+
*/var Z=["Alt","Control","Meta","Shift"];function J(t){var n=new Set(t?Z.filter((function(n){return t.getModifierState(n)})):[]);return function(t){return t.every((function(t){return n.has(t)}))&&t.length===n.size}}var $=function(t){function e(n){var r=t.call(this,i(i({},e.defaultAdapter),n))||this;return r.wrapFocus=!1,r.isVertical=!0,r.isSingleSelectionList=!1,r.areDisabledItemsFocusable=!0,r.selectedIndex=S.UNSET_INDEX,r.focusedItemIndex=S.UNSET_INDEX,r.useActivatedClass=!1,r.useSelectedAttr=!1,r.ariaCurrentAttrValue=null,r.isCheckboxList=!1,r.isRadioList=!1,r.lastSelectedIndex=null,r.hasTypeahead=!1,r.typeaheadState={bufferClearTimeout:0,currentFirstChar:"",sortedIndexCursor:0,typeaheadBuffer:""},r.sortedIndexByFirstChar=new Map,r}return n(e,t),Object.defineProperty(e,"strings",{get:function(){return x},enumerable:!1,configurable:!0}),Object.defineProperty(e,"cssClasses",{get:function(){return p},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return S},enumerable:!1,configurable:!0}),Object.defineProperty(e,"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}),e.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()))},e.prototype.getFocusedItemIndex=function(){return this.focusedItemIndex},e.prototype.setWrapFocus=function(t){this.wrapFocus=t},e.prototype.setVerticalOrientation=function(t){this.isVertical=t},e.prototype.setSingleSelection=function(t){this.isSingleSelectionList=t,t&&(this.maybeInitializeSingleSelection(),this.selectedIndex=this.getSelectedIndexFromDOM())},e.prototype.setDisabledItemsFocusable=function(t){this.areDisabledItemsFocusable=t},e.prototype.maybeInitializeSingleSelection=function(){var t=this.getSelectedIndexFromDOM();t!==S.UNSET_INDEX&&(this.adapter.listItemAtIndexHasClass(t,p.LIST_ITEM_ACTIVATED_CLASS)&&this.setUseActivatedClass(!0),this.isSingleSelectionList=!0,this.selectedIndex=t)},e.prototype.getSelectedIndexFromDOM=function(){for(var t=S.UNSET_INDEX,n=this.adapter.getListItemCount(),i=0;i<n;i++){var e=this.adapter.listItemAtIndexHasClass(i,p.LIST_ITEM_SELECTED_CLASS),r=this.adapter.listItemAtIndexHasClass(i,p.LIST_ITEM_ACTIVATED_CLASS);if(e||r){t=i;break}}return t},e.prototype.setHasTypeahead=function(t){this.hasTypeahead=t,t&&(this.sortedIndexByFirstChar=this.typeaheadInitSortedIndex())},e.prototype.isTypeaheadInProgress=function(){return this.hasTypeahead&&K(this.typeaheadState)},e.prototype.setUseActivatedClass=function(t){this.useActivatedClass=t},e.prototype.setUseSelectedAttribute=function(t){this.useSelectedAttr=t},e.prototype.getSelectedIndex=function(){return this.selectedIndex},e.prototype.setSelectedIndex=function(t,n){void 0===n&&(n={}),this.isIndexValid(t)&&(this.isCheckboxList?this.setCheckboxAtIndex(t,n):this.isRadioList?this.setRadioAtIndex(t,n):this.setSingleSelectionAtIndex(t,n))},e.prototype.handleFocusIn=function(t){t>=0&&(this.focusedItemIndex=t,this.adapter.setAttributeForElementIndex(t,"tabindex","0"),this.adapter.setTabIndexForListItemChildren(t,"0"))},e.prototype.handleFocusOut=function(t){var n=this;t>=0&&(this.adapter.setAttributeForElementIndex(t,"tabindex","-1"),this.adapter.setTabIndexForListItemChildren(t,"-1")),setTimeout((function(){n.adapter.isFocusInsideList()||n.setTabindexToFirstSelectedOrFocusedItem()}),0)},e.prototype.isIndexDisabled=function(t){return this.adapter.listItemAtIndexHasClass(t,p.LIST_ITEM_DISABLED_CLASS)},e.prototype.handleKeydown=function(t,n,i){var e,r=this,s="ArrowLeft"===q(t),u="ArrowUp"===q(t),o="ArrowRight"===q(t),c="ArrowDown"===q(t),h="Home"===q(t),f="End"===q(t),a="Enter"===q(t),l="Spacebar"===q(t),d=this.isVertical&&c||!this.isVertical&&o,m=this.isVertical&&u||!this.isVertical&&s,b="A"===t.key||"a"===t.key,v=J(t);if(this.adapter.isRootFocused())(m||f)&&v([])?(t.preventDefault(),this.focusLastElement()):(d||h)&&v([])?(t.preventDefault(),this.focusFirstElement()):m&&v(["Shift"])&&this.isCheckboxList?(t.preventDefault(),-1!==(I=this.focusLastElement())&&this.setSelectedIndexOnAction(I,!1)):d&&v(["Shift"])&&this.isCheckboxList&&(t.preventDefault(),-1!==(I=this.focusFirstElement())&&this.setSelectedIndexOnAction(I,!1)),this.hasTypeahead&&Q({event:t,focusItemAtIndex:function(t){r.focusItemAtIndex(t)},focusedItemIndex:-1,isTargetListItem:n,sortedIndexByFirstChar:this.sortedIndexByFirstChar,isItemAtIndexDisabled:function(t){return r.isIndexDisabled(t)}},this.typeaheadState);else{var E=this.adapter.getFocusedElementIndex();if(!(-1===E&&(E=i)<0)){if(d&&v([]))X(t),this.focusNextElement(E);else if(m&&v([]))X(t),this.focusPrevElement(E);else if(d&&v(["Shift"])&&this.isCheckboxList)X(t),-1!==(I=this.focusNextElement(E))&&this.setSelectedIndexOnAction(I,!1);else if(m&&v(["Shift"])&&this.isCheckboxList){var I;X(t),-1!==(I=this.focusPrevElement(E))&&this.setSelectedIndexOnAction(I,!1)}else if(h&&v([]))X(t),this.focusFirstElement();else if(f&&v([]))X(t),this.focusLastElement();else if(h&&v(["Control","Shift"])&&this.isCheckboxList){if(X(t),this.isIndexDisabled(E))return;this.focusFirstElement(),this.toggleCheckboxRange(0,E,E)}else if(f&&v(["Control","Shift"])&&this.isCheckboxList){if(X(t),this.isIndexDisabled(E))return;this.focusLastElement(),this.toggleCheckboxRange(E,this.adapter.getListItemCount()-1,E)}else if(b&&v(["Control"])&&this.isCheckboxList)t.preventDefault(),this.checkboxListToggleAll(this.selectedIndex===S.UNSET_INDEX?[]:this.selectedIndex,!0);else if((a||l)&&v([])){if(n){if((g=t.target)&&"A"===g.tagName&&a)return;if(X(t),this.isIndexDisabled(E))return;this.isTypeaheadInProgress()||(this.isSelectableList()&&this.setSelectedIndexOnAction(E,!1),this.adapter.notifyAction(E))}}else if((a||l)&&v(["Shift"])&&this.isCheckboxList){var g;if((g=t.target)&&"A"===g.tagName&&a)return;if(X(t),this.isIndexDisabled(E))return;this.isTypeaheadInProgress()||(this.toggleCheckboxRange(null!==(e=this.lastSelectedIndex)&&void 0!==e?e:E,E,E),this.adapter.notifyAction(E))}this.hasTypeahead&&Q({event:t,focusItemAtIndex:function(t){r.focusItemAtIndex(t)},focusedItemIndex:this.focusedItemIndex,isTargetListItem:n,sortedIndexByFirstChar:this.sortedIndexByFirstChar,isItemAtIndexDisabled:function(t){return r.isIndexDisabled(t)}},this.typeaheadState)}}},e.prototype.handleClick=function(t,n,i){var e,r=J(i);t!==S.UNSET_INDEX&&(this.isIndexDisabled(t)||(r([])?(this.isSelectableList()&&this.setSelectedIndexOnAction(t,n),this.adapter.notifyAction(t)):this.isCheckboxList&&r(["Shift"])&&(this.toggleCheckboxRange(null!==(e=this.lastSelectedIndex)&&void 0!==e?e:t,t,t),this.adapter.notifyAction(t))))},e.prototype.focusNextElement=function(t){var n=this.adapter.getListItemCount(),i=t,e=null;do{if(++i>=n){if(!this.wrapFocus)return t;i=0}if(i===e)return-1;e=null!=e?e:i}while(!this.areDisabledItemsFocusable&&this.isIndexDisabled(i));return this.focusItemAtIndex(i),i},e.prototype.focusPrevElement=function(t){var n=this.adapter.getListItemCount(),i=t,e=null;do{if(--i<0){if(!this.wrapFocus)return t;i=n-1}if(i===e)return-1;e=null!=e?e:i}while(!this.areDisabledItemsFocusable&&this.isIndexDisabled(i));return this.focusItemAtIndex(i),i},e.prototype.focusFirstElement=function(){return this.focusNextElement(-1)},e.prototype.focusLastElement=function(){return this.focusPrevElement(this.adapter.getListItemCount())},e.prototype.focusInitialElement=function(){var t=this.getFirstSelectedOrFocusedItemIndex();return this.focusItemAtIndex(t),t},e.prototype.setEnabled=function(t,n){this.isIndexValid(t,!1)&&(n?(this.adapter.removeClassForElementIndex(t,p.LIST_ITEM_DISABLED_CLASS),this.adapter.setAttributeForElementIndex(t,x.ARIA_DISABLED,"false")):(this.adapter.addClassForElementIndex(t,p.LIST_ITEM_DISABLED_CLASS),this.adapter.setAttributeForElementIndex(t,x.ARIA_DISABLED,"true")))},e.prototype.setSingleSelectionAtIndex=function(t,n){if(void 0===n&&(n={}),this.selectedIndex!==t||n.forceUpdate){var i=p.LIST_ITEM_SELECTED_CLASS;this.useActivatedClass&&(i=p.LIST_ITEM_ACTIVATED_CLASS),this.selectedIndex!==S.UNSET_INDEX&&this.adapter.removeClassForElementIndex(this.selectedIndex,i),this.setAriaForSingleSelectionAtIndex(t),this.setTabindexAtIndex(t),t!==S.UNSET_INDEX&&this.adapter.addClassForElementIndex(t,i),this.selectedIndex=t,n.isUserInteraction&&!n.forceUpdate&&this.adapter.notifySelectionChange([t])}},e.prototype.setAriaForSingleSelectionAtIndex=function(t){this.selectedIndex===S.UNSET_INDEX&&(this.ariaCurrentAttrValue=this.adapter.getAttributeForElementIndex(t,x.ARIA_CURRENT));var n=null!==this.ariaCurrentAttrValue,i=n?x.ARIA_CURRENT:x.ARIA_SELECTED;this.selectedIndex!==S.UNSET_INDEX&&this.adapter.setAttributeForElementIndex(this.selectedIndex,i,"false"),t!==S.UNSET_INDEX&&this.adapter.setAttributeForElementIndex(t,i,n?this.ariaCurrentAttrValue:"true")},e.prototype.getSelectionAttribute=function(){return this.useSelectedAttr?x.ARIA_SELECTED:x.ARIA_CHECKED},e.prototype.setRadioAtIndex=function(t,n){void 0===n&&(n={});var i=this.getSelectionAttribute();this.adapter.setCheckedCheckboxOrRadioAtIndex(t,!0),(this.selectedIndex!==t||n.forceUpdate)&&(this.selectedIndex!==S.UNSET_INDEX&&this.adapter.setAttributeForElementIndex(this.selectedIndex,i,"false"),this.adapter.setAttributeForElementIndex(t,i,"true"),this.selectedIndex=t,n.isUserInteraction&&!n.forceUpdate&&this.adapter.notifySelectionChange([t]))},e.prototype.setCheckboxAtIndex=function(t,n){void 0===n&&(n={});for(var i=this.selectedIndex,e=n.isUserInteraction?new Set(i===S.UNSET_INDEX?[]:i):null,r=this.getSelectionAttribute(),s=[],u=0;u<this.adapter.getListItemCount();u++){var o=null==e?void 0:e.has(u),c=t.indexOf(u)>=0;c!==o&&s.push(u),this.adapter.setCheckedCheckboxOrRadioAtIndex(u,c),this.adapter.setAttributeForElementIndex(u,r,c?"true":"false")}this.selectedIndex=t,n.isUserInteraction&&s.length&&this.adapter.notifySelectionChange(s)},e.prototype.toggleCheckboxRange=function(t,n,i){this.lastSelectedIndex=i;for(var e=new Set(this.selectedIndex===S.UNSET_INDEX?[]:this.selectedIndex),u=!(null==e?void 0:e.has(i)),o=r([t,n].sort(),2),c=o[0],h=o[1],f=this.getSelectionAttribute(),a=[],l=c;l<=h;l++)this.isIndexDisabled(l)||u!==e.has(l)&&(a.push(l),this.adapter.setCheckedCheckboxOrRadioAtIndex(l,u),this.adapter.setAttributeForElementIndex(l,f,""+u),u?e.add(l):e.delete(l));a.length&&(this.selectedIndex=s([],r(e)),this.adapter.notifySelectionChange(a))},e.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")},e.prototype.isSelectableList=function(){return this.isSingleSelectionList||this.isCheckboxList||this.isRadioList},e.prototype.setTabindexToFirstSelectedOrFocusedItem=function(){var t=this.getFirstSelectedOrFocusedItemIndex();this.setTabindexAtIndex(t)},e.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,n){return Math.min(t,n)})):0:Math.max(this.focusedItemIndex,0)},e.prototype.isIndexValid=function(t,n){var i=this;if(void 0===n&&(n=!0),t instanceof Array){if(!this.isCheckboxList&&n)throw new Error("MDCListFoundation: Array of index is only supported for checkbox based list");return 0===t.length||t.some((function(t){return i.isIndexInRange(t)}))}if("number"==typeof t){if(this.isCheckboxList&&n)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},e.prototype.isIndexInRange=function(t){var n=this.adapter.getListItemCount();return t>=0&&t<n},e.prototype.setSelectedIndexOnAction=function(t,n){this.lastSelectedIndex=t,this.isCheckboxList?(this.toggleCheckboxAtIndex(t,n),this.adapter.notifySelectionChange([t])):this.setSelectedIndex(t,{isUserInteraction:!0})},e.prototype.toggleCheckboxAtIndex=function(t,n){var i,e=this.getSelectionAttribute(),r=this.adapter.isCheckboxCheckedAtIndex(t);n?i=r:this.adapter.setCheckedCheckboxOrRadioAtIndex(t,i=!r),this.adapter.setAttributeForElementIndex(t,e,i?"true":"false");var s=this.selectedIndex===S.UNSET_INDEX?[]:this.selectedIndex.slice();i?s.push(t):s=s.filter((function(n){return n!==t})),this.selectedIndex=s},e.prototype.focusItemAtIndex=function(t){this.adapter.focusItemAtIndex(t),this.focusedItemIndex=t},e.prototype.checkboxListToggleAll=function(t,n){var i=this.adapter.getListItemCount();if(t.length===i)this.setCheckboxAtIndex([],{isUserInteraction:n});else{for(var e=[],r=0;r<i;r++)(!this.isIndexDisabled(r)||t.indexOf(r)>-1)&&e.push(r);this.setCheckboxAtIndex(e,{isUserInteraction:n})}},e.prototype.typeaheadMatchItem=function(t,n,i){var e=this;return void 0===i&&(i=!1),z({focusItemAtIndex:function(t){e.focusItemAtIndex(t)},focusedItemIndex:n||this.focusedItemIndex,nextChar:t,sortedIndexByFirstChar:this.sortedIndexByFirstChar,skipFocus:i,isItemAtIndexDisabled:function(t){return e.isIndexDisabled(t)}},this.typeaheadState)},e.prototype.typeaheadInitSortedIndex=function(){return function(t,n){for(var i=new Map,e=0;e<t;e++){var r=n(e).trim();if(r){var s=r[0].toLowerCase();i.has(s)||i.set(s,[]),i.get(s).push({text:r.toLowerCase(),index:e})}}return i.forEach((function(t){t.sort((function(t,n){return t.index-n.index}))})),i}(this.adapter.getListItemCount(),this.adapter.getPrimaryTextAtIndex)},e.prototype.clearTypeaheadBuffer=function(){Y(this.typeaheadState)},e}(u),tt=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return n(i,t),Object.defineProperty(i.prototype,"vertical",{set:function(t){this.foundation.setVerticalOrientation(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"listElements",{get:function(){return Array.from(this.root.querySelectorAll("."+this.classNameMap[p.LIST_ITEM_CLASS]))},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"wrapFocus",{set:function(t){this.foundation.setWrapFocus(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"typeaheadInProgress",{get:function(){return this.foundation.isTypeaheadInProgress()},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"hasTypeahead",{set:function(t){this.foundation.setHasTypeahead(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"singleSelection",{set:function(t){this.foundation.setSingleSelection(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"disabledItemsFocusable",{set:function(t){this.foundation.setDisabledItemsFocusable(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"selectedIndex",{get:function(){return this.foundation.getSelectedIndex()},set:function(t){this.foundation.setSelectedIndex(t)},enumerable:!1,configurable:!0}),i.attachTo=function(t){return new i(t)},i.prototype.initialSyncWithDOM=function(){this.isEvolutionEnabled="evolution"in this.root.dataset,this.classNameMap=this.isEvolutionEnabled?O:h(this.root,x.DEPRECATED_SELECTOR)?_:Object.values(p).reduce((function(t,n){return t[n]=n,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()},i.prototype.destroy=function(){this.unlisten("keydown",this.handleKeydown),this.unlisten("click",this.handleClick),this.unlisten("focusin",this.focusInEventListener),this.unlisten("focusout",this.focusOutEventListener)},i.prototype.layout=function(){var t=this.root.getAttribute(x.ARIA_ORIENTATION);this.vertical=t!==x.ARIA_ORIENTATION_HORIZONTAL;var n=x.FOCUSABLE_CHILD_ELEMENTS,i=this.root.querySelectorAll("."+this.classNameMap[p.LIST_ITEM_CLASS]+":not([tabindex])");i.length&&Array.prototype.forEach.call(i,(function(t){t.setAttribute("tabindex","-1")}));var e=this.root.querySelectorAll(n);e.length&&Array.prototype.forEach.call(e,(function(t){t.setAttribute("tabindex","-1")})),this.isEvolutionEnabled&&this.foundation.setUseSelectedAttribute(!0),this.foundation.layout()},i.prototype.getPrimaryText=function(t){var n,i=t.querySelector("."+this.classNameMap[p.LIST_ITEM_PRIMARY_TEXT_CLASS]);if(this.isEvolutionEnabled||i)return null!==(n=null==i?void 0:i.textContent)&&void 0!==n?n:"";var e=t.querySelector("."+this.classNameMap[p.LIST_ITEM_TEXT_CLASS]);return e&&e.textContent||""},i.prototype.initializeListType=function(){var t=this;if(this.isInteractive=h(this.root,x.ARIA_INTERACTIVE_ROLES_SELECTOR),this.isEvolutionEnabled&&this.isInteractive){var n=Array.from(this.root.querySelectorAll(x.SELECTED_ITEM_SELECTOR),(function(n){return t.listElements.indexOf(n)}));h(this.root,x.ARIA_MULTI_SELECTABLE_SELECTOR)?this.selectedIndex=n:n.length>0&&(this.selectedIndex=n[0])}else{var i=this.root.querySelectorAll(x.ARIA_ROLE_CHECKBOX_SELECTOR),e=this.root.querySelector(x.ARIA_CHECKED_RADIO_SELECTOR);if(i.length){var r=this.root.querySelectorAll(x.ARIA_CHECKED_CHECKBOX_SELECTOR);this.selectedIndex=Array.from(r,(function(n){return t.listElements.indexOf(n)}))}else e&&(this.selectedIndex=this.listElements.indexOf(e))}},i.prototype.setEnabled=function(t,n){this.foundation.setEnabled(t,n)},i.prototype.typeaheadMatchItem=function(t,n){return this.foundation.typeaheadMatchItem(t,n,!0)},i.prototype.getDefaultFoundation=function(){var t=this;return new $({addClassForElementIndex:function(n,i){var e=t.listElements[n];e&&e.classList.add(t.classNameMap[i])},focusItemAtIndex:function(n){var i=t.listElements[n];i&&i.focus()},getAttributeForElementIndex:function(n,i){return t.listElements[n].getAttribute(i)},getFocusedElementIndex:function(){return t.listElements.indexOf(document.activeElement)},getListItemCount:function(){return t.listElements.length},getPrimaryTextAtIndex:function(n){return t.getPrimaryText(t.listElements[n])},hasCheckboxAtIndex:function(n){return!!t.listElements[n].querySelector(x.CHECKBOX_SELECTOR)},hasRadioAtIndex:function(n){return!!t.listElements[n].querySelector(x.RADIO_SELECTOR)},isCheckboxCheckedAtIndex:function(n){return t.listElements[n].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(n,i){return t.listElements[n].classList.contains(t.classNameMap[i])},notifyAction:function(n){t.emit(x.ACTION_EVENT,{index:n},!0)},notifySelectionChange:function(n){t.emit(x.SELECTION_CHANGE_EVENT,{changedIndices:n},!0)},removeClassForElementIndex:function(n,i){var e=t.listElements[n];e&&e.classList.remove(t.classNameMap[i])},setAttributeForElementIndex:function(n,i,e){var r=t.listElements[n];r&&r.setAttribute(i,e)},setCheckedCheckboxOrRadioAtIndex:function(n,i){var e=t.listElements[n].querySelector(x.CHECKBOX_RADIO_SELECTOR);e.checked=i;var r=document.createEvent("Event");r.initEvent("change",!0,!0),e.dispatchEvent(r)},setTabIndexForListItemChildren:function(n,i){Array.prototype.forEach.call(t.listElements[n].querySelectorAll(x.CHILD_ELEMENTS_TO_TOGGLE_TABINDEX),(function(t){t.setAttribute("tabindex",i)}))}})},i.prototype.ensureFocusable=function(){if(this.isEvolutionEnabled&&this.isInteractive&&!this.root.querySelector("."+this.classNameMap[p.LIST_ITEM_CLASS]+'[tabindex="0"]')){var t=this.initialFocusIndex();-1!==t&&(this.listElements[t].tabIndex=0)}},i.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[p.LIST_ITEM_CLASS]+":not(."+this.classNameMap[p.LIST_ITEM_DISABLED_CLASS]+")");return null===t?-1:this.getListItemIndex(t)},i.prototype.getListItemIndex=function(t){var n=c(t,"."+this.classNameMap[p.LIST_ITEM_CLASS]+", ."+this.classNameMap[p.ROOT]);return n&&h(n,"."+this.classNameMap[p.LIST_ITEM_CLASS])?this.listElements.indexOf(n):-1},i.prototype.handleFocusInEvent=function(t){var n=this.getListItemIndex(t.target);this.foundation.handleFocusIn(n)},i.prototype.handleFocusOutEvent=function(t){var n=this.getListItemIndex(t.target);this.foundation.handleFocusOut(n)},i.prototype.handleKeydownEvent=function(t){var n=this.getListItemIndex(t.target);this.foundation.handleKeydown(t,t.target.classList.contains(this.classNameMap[p.LIST_ITEM_CLASS]),n)},i.prototype.handleClickEvent=function(t){var n=this.getListItemIndex(t.target),i=!h(t.target,x.CHECKBOX_RADIO_SELECTOR);this.foundation.handleClick(n,i,t)},i}(o),nt=function(t){function r(n){var e=t.call(this,i(i({},r.defaultAdapter),n))||this;return e.isSurfaceOpen=!1,e.isQuickOpen=!1,e.isHoistedElement=!1,e.isFixedPosition=!1,e.isHorizontallyCenteredOnViewport=!1,e.maxHeight=0,e.openBottomBias=0,e.openAnimationEndTimerId=0,e.closeAnimationEndTimerId=0,e.animationRequestId=0,e.anchorCorner=a.TOP_START,e.originCorner=a.TOP_START,e.anchorMargin={top:0,right:0,bottom:0,left:0},e.position={x:0,y:0},e}return n(r,t),Object.defineProperty(r,"cssClasses",{get:function(){return A},enumerable:!1,configurable:!0}),Object.defineProperty(r,"strings",{get:function(){return T},enumerable:!1,configurable:!0}),Object.defineProperty(r,"numbers",{get:function(){return C},enumerable:!1,configurable:!0}),Object.defineProperty(r,"Corner",{get:function(){return a},enumerable:!1,configurable:!0}),Object.defineProperty(r,"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}),r.prototype.init=function(){var t=r.cssClasses,n=t.ROOT,i=t.OPEN;if(!this.adapter.hasClass(n))throw new Error(n+" class required in root element.");this.adapter.hasClass(i)&&(this.isSurfaceOpen=!0)},r.prototype.destroy=function(){clearTimeout(this.openAnimationEndTimerId),clearTimeout(this.closeAnimationEndTimerId),cancelAnimationFrame(this.animationRequestId)},r.prototype.setAnchorCorner=function(t){this.anchorCorner=t},r.prototype.flipCornerHorizontally=function(){this.originCorner=this.originCorner^f.RIGHT},r.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},r.prototype.setIsHoisted=function(t){this.isHoistedElement=t},r.prototype.setFixedPosition=function(t){this.isFixedPosition=t},r.prototype.isFixed=function(){return this.isFixedPosition},r.prototype.setAbsolutePosition=function(t,n){this.position.x=this.isFinite(t)?t:0,this.position.y=this.isFinite(n)?n:0},r.prototype.setIsHorizontallyCenteredOnViewport=function(t){this.isHorizontallyCenteredOnViewport=t},r.prototype.setQuickOpen=function(t){this.isQuickOpen=t},r.prototype.setMaxHeight=function(t){this.maxHeight=t},r.prototype.setOpenBottomBias=function(t){this.openBottomBias=t},r.prototype.isOpen=function(){return this.isSurfaceOpen},r.prototype.open=function(){var t=this;this.isSurfaceOpen||(this.adapter.notifyOpening(),this.adapter.saveFocus(),this.isQuickOpen?(this.isSurfaceOpen=!0,this.adapter.addClass(r.cssClasses.OPEN),this.dimensions=this.adapter.getInnerDimensions(),this.autoposition(),this.adapter.notifyOpen()):(this.adapter.addClass(r.cssClasses.ANIMATING_OPEN),this.animationRequestId=requestAnimationFrame((function(){t.dimensions=t.adapter.getInnerDimensions(),t.autoposition(),t.adapter.addClass(r.cssClasses.OPEN),t.openAnimationEndTimerId=setTimeout((function(){t.openAnimationEndTimerId=0,t.adapter.removeClass(r.cssClasses.ANIMATING_OPEN),t.adapter.notifyOpen()}),C.TRANSITION_OPEN_DURATION)})),this.isSurfaceOpen=!0))},r.prototype.close=function(t){var n=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(r.cssClasses.OPEN),this.adapter.removeClass(r.cssClasses.IS_OPEN_BELOW),void this.adapter.notifyClose();this.adapter.addClass(r.cssClasses.ANIMATING_CLOSED),requestAnimationFrame((function(){n.adapter.removeClass(r.cssClasses.OPEN),n.adapter.removeClass(r.cssClasses.IS_OPEN_BELOW),n.closeAnimationEndTimerId=setTimeout((function(){n.closeAnimationEndTimerId=0,n.adapter.removeClass(r.cssClasses.ANIMATING_CLOSED),n.adapter.notifyClose()}),C.TRANSITION_CLOSE_DURATION)})),this.isSurfaceOpen=!1,t||this.maybeRestoreFocus()}},r.prototype.handleBodyClick=function(t){this.adapter.isElementInContainer(t.target)||this.close()},r.prototype.handleKeydown=function(t){("Escape"===t.key||27===t.keyCode)&&this.close()},r.prototype.autoposition=function(){var t;this.measurements=this.getAutoLayoutmeasurements();var n=this.getoriginCorner(),i=this.getMenuSurfaceMaxHeight(n),e=this.hasBit(n,f.BOTTOM)?"bottom":"top",s=this.hasBit(n,f.RIGHT)?"right":"left",u=this.getHorizontalOriginOffset(n),o=this.getVerticalOriginOffset(n),c=this.measurements,h=c.anchorSize,a=c.surfaceSize,l=((t={})[s]=u,t[e]=o,t);h.width/a.width>C.ANCHOR_TO_MENU_SURFACE_WIDTH_RATIO&&(s="center"),(this.isHoistedElement||this.isFixedPosition)&&this.adjustPositionForHoistedElement(l),this.adapter.setTransformOrigin(s+" "+e),this.adapter.setPosition(l),this.adapter.setMaxHeight(i?i+"px":""),this.hasBit(n,f.BOTTOM)||this.adapter.addClass(r.cssClasses.IS_OPEN_BELOW)},r.prototype.getAutoLayoutmeasurements=function(){var t=this.adapter.getAnchorDimensions(),n=this.adapter.getBodyDimensions(),i=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:n,surfaceSize:this.dimensions,viewportDistance:{top:t.top,right:i.width-t.right,bottom:i.height-t.bottom,left:t.left},viewportSize:i,windowScroll:e}},r.prototype.getoriginCorner=function(){var t,n,i=this.originCorner,e=this.measurements,s=e.viewportDistance,u=e.anchorSize,o=e.surfaceSize,c=r.numbers.MARGIN_TO_EDGE;this.hasBit(this.anchorCorner,f.BOTTOM)?(t=s.top-c+this.anchorMargin.bottom,n=s.bottom-c-this.anchorMargin.bottom):(t=s.top-c+this.anchorMargin.top,n=s.bottom-c+u.height-this.anchorMargin.top),!(n-o.height>0)&&t>n+this.openBottomBias&&(i=this.setBit(i,f.BOTTOM));var h,a,l,d=this.adapter.isRtl(),m=this.hasBit(this.anchorCorner,f.FLIP_RTL),b=this.hasBit(this.anchorCorner,f.RIGHT)||this.hasBit(i,f.RIGHT);(l=d&&m?!b:b)?(h=s.left+u.width+this.anchorMargin.right,a=s.right-this.anchorMargin.right):(h=s.left+this.anchorMargin.left,a=s.right+u.width-this.anchorMargin.left);var v=h-o.width>0,E=a-o.width>0,I=this.hasBit(i,f.FLIP_RTL)&&this.hasBit(i,f.RIGHT);return E&&I&&d||!v&&I?i=this.unsetBit(i,f.RIGHT):(v&&l&&d||v&&!l&&b||!E&&h>=a)&&(i=this.setBit(i,f.RIGHT)),i},r.prototype.getMenuSurfaceMaxHeight=function(t){if(this.maxHeight>0)return this.maxHeight;var n=this.measurements.viewportDistance,i=0,e=this.hasBit(t,f.BOTTOM),s=this.hasBit(this.anchorCorner,f.BOTTOM),u=r.numbers.MARGIN_TO_EDGE;return e?(i=n.top+this.anchorMargin.top-u,s||(i+=this.measurements.anchorSize.height)):(i=n.bottom-this.anchorMargin.bottom+this.measurements.anchorSize.height-u,s&&(i-=this.measurements.anchorSize.height)),i},r.prototype.getHorizontalOriginOffset=function(t){var n=this.measurements.anchorSize,i=this.hasBit(t,f.RIGHT),e=this.hasBit(this.anchorCorner,f.RIGHT);if(i){var r=e?n.width-this.anchorMargin.left:this.anchorMargin.right;return this.isHoistedElement||this.isFixedPosition?r-(this.measurements.viewportSize.width-this.measurements.bodySize.width):r}return e?n.width-this.anchorMargin.right:this.anchorMargin.left},r.prototype.getVerticalOriginOffset=function(t){var n=this.measurements.anchorSize,i=this.hasBit(t,f.BOTTOM),e=this.hasBit(this.anchorCorner,f.BOTTOM);return i?e?n.height-this.anchorMargin.top:-this.anchorMargin.bottom:e?n.height+this.anchorMargin.bottom:this.anchorMargin.top},r.prototype.adjustPositionForHoistedElement=function(t){var n,i,r=this.measurements,s=r.windowScroll,u=r.viewportDistance,o=r.surfaceSize,c=r.viewportSize,h=Object.keys(t);try{for(var f=e(h),a=f.next();!a.done;a=f.next()){var l=a.value,d=t[l]||0;!this.isHorizontallyCenteredOnViewport||"left"!==l&&"right"!==l?(d+=u[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]=(c.width-o.width)/2}}catch(t){n={error:t}}finally{try{a&&!a.done&&(i=f.return)&&i.call(f)}finally{if(n)throw n.error}}},r.prototype.maybeRestoreFocus=function(){var t=this,n=this.adapter.isFocused(),i=this.adapter.getOwnerDocument?this.adapter.getOwnerDocument():document,e=i.activeElement&&this.adapter.isElementInContainer(i.activeElement);(n||e)&&setTimeout((function(){t.adapter.restoreFocus()}),C.TOUCH_EVENT_WAIT_MS)},r.prototype.hasBit=function(t,n){return Boolean(t&n)},r.prototype.setBit=function(t,n){return t|n},r.prototype.unsetBit=function(t,n){return t^n},r.prototype.isFinite=function(t){return"number"==typeof t&&isFinite(t)},r}(u),it={animation:{prefixed:"-webkit-animation",standard:"animation"},transform:{prefixed:"-webkit-transform",standard:"transform"},transition:{prefixed:"-webkit-transition",standard:"transition"}},et={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"}};
|
|
159
|
+
/**
|
|
160
|
+
* @license
|
|
161
|
+
* Copyright 2018 Google Inc.
|
|
162
|
+
*
|
|
163
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
164
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
165
|
+
* in the Software without restriction, including without limitation the rights
|
|
166
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
167
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
168
|
+
* furnished to do so, subject to the following conditions:
|
|
169
|
+
*
|
|
170
|
+
* The above copyright notice and this permission notice shall be included in
|
|
171
|
+
* all copies or substantial portions of the Software.
|
|
172
|
+
*
|
|
173
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
174
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
175
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
176
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
177
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
178
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
179
|
+
* THE SOFTWARE.
|
|
180
|
+
*/function rt(t){return Boolean(t.document)&&"function"==typeof t.document.createElement}function st(t,n){if(rt(t)&&n in et){var i=t.document.createElement("div"),e=et[n];return e.cssProperty in i.style?e.standard:e.prefixed}return n}
|
|
181
|
+
/**
|
|
182
|
+
* @license
|
|
183
|
+
* Copyright 2018 Google Inc.
|
|
184
|
+
*
|
|
185
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
186
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
187
|
+
* in the Software without restriction, including without limitation the rights
|
|
188
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
189
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
190
|
+
* furnished to do so, subject to the following conditions:
|
|
191
|
+
*
|
|
192
|
+
* The above copyright notice and this permission notice shall be included in
|
|
193
|
+
* all copies or substantial portions of the Software.
|
|
194
|
+
*
|
|
195
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
196
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
197
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
198
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
199
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
200
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
201
|
+
* THE SOFTWARE.
|
|
202
|
+
*/var ut,ot=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(){var t=this,n=this.root.parentElement;this.anchorElement=n&&n.classList.contains(A.ANCHOR)?n:null,this.root.classList.contains(A.FIXED)&&this.setFixedPosition(!0),this.handleKeydown=function(n){t.foundation.handleKeydown(n)},this.handleBodyClick=function(n){t.foundation.handleBodyClick(n)},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(T.OPENED_EVENT,this.registerBodyClickListener),this.listen(T.CLOSED_EVENT,this.deregisterBodyClickListener)},i.prototype.destroy=function(){this.unlisten("keydown",this.handleKeydown),this.unlisten(T.OPENED_EVENT,this.registerBodyClickListener),this.unlisten(T.CLOSED_EVENT,this.deregisterBodyClickListener),t.prototype.destroy.call(this)},i.prototype.isOpen=function(){return this.foundation.isOpen()},i.prototype.open=function(){this.foundation.open()},i.prototype.close=function(t){void 0===t&&(t=!1),this.foundation.close(t)},Object.defineProperty(i.prototype,"quickOpen",{set:function(t){this.foundation.setQuickOpen(t)},enumerable:!1,configurable:!0}),i.prototype.setIsHoisted=function(t){this.foundation.setIsHoisted(t)},i.prototype.setMenuSurfaceAnchorElement=function(t){this.anchorElement=t},i.prototype.setFixedPosition=function(t){t?this.root.classList.add(A.FIXED):this.root.classList.remove(A.FIXED),this.foundation.setFixedPosition(t)},i.prototype.setAbsolutePosition=function(t,n){this.foundation.setAbsolutePosition(t,n),this.setIsHoisted(!0)},i.prototype.setAnchorCorner=function(t){this.foundation.setAnchorCorner(t)},i.prototype.setAnchorMargin=function(t){this.foundation.setAnchorMargin(t)},i.prototype.getDefaultFoundation=function(){var t=this,n={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)},hasAnchor:function(){return!!t.anchorElement},notifyClose:function(){return t.emit(nt.strings.CLOSED_EVENT,{})},notifyClosing:function(){t.emit(nt.strings.CLOSING_EVENT,{})},notifyOpen:function(){return t.emit(nt.strings.OPENED_EVENT,{})},notifyOpening:function(){return t.emit(nt.strings.OPENING_EVENT,{})},isElementInContainer:function(n){return t.root.contains(n)},isRtl:function(){return"rtl"===getComputedStyle(t.root).getPropertyValue("direction")},setTransformOrigin:function(n){var i=function(t,n){if(rt(t)&&n in it){var i=t.document.createElement("div"),e=it[n],r=e.standard;return r in i.style?r:e.prefixed}return n}(window,"transform")+"-origin";t.root.style.setProperty(i,n)},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(n){var i=t.root;i.style.left="left"in n?n.left+"px":"",i.style.right="right"in n?n.right+"px":"",i.style.top="top"in n?n.top+"px":"",i.style.bottom="bottom"in n?n.bottom+"px":""},setMaxHeight:function(n){t.root.style.maxHeight=n}};return new nt(n)},i}(o),ct={MENU_SELECTED_LIST_ITEM:"mdc-menu-item--selected",MENU_SELECTION_GROUP:"mdc-menu__selection-group",ROOT:"mdc-menu"},ht={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"},ft={FOCUS_ROOT_INDEX:-1};
|
|
203
|
+
/**
|
|
204
|
+
* @license
|
|
205
|
+
* Copyright 2018 Google Inc.
|
|
206
|
+
*
|
|
207
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
208
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
209
|
+
* in the Software without restriction, including without limitation the rights
|
|
210
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
211
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
212
|
+
* furnished to do so, subject to the following conditions:
|
|
213
|
+
*
|
|
214
|
+
* The above copyright notice and this permission notice shall be included in
|
|
215
|
+
* all copies or substantial portions of the Software.
|
|
216
|
+
*
|
|
217
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
218
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
219
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
220
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
221
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
222
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
223
|
+
* THE SOFTWARE.
|
|
224
|
+
*/!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"}(ut||(ut={}));
|
|
225
|
+
/**
|
|
226
|
+
* @license
|
|
227
|
+
* Copyright 2018 Google Inc.
|
|
228
|
+
*
|
|
229
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
230
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
231
|
+
* in the Software without restriction, including without limitation the rights
|
|
232
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
233
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
234
|
+
* furnished to do so, subject to the following conditions:
|
|
235
|
+
*
|
|
236
|
+
* The above copyright notice and this permission notice shall be included in
|
|
237
|
+
* all copies or substantial portions of the Software.
|
|
238
|
+
*
|
|
239
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
240
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
241
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
242
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
243
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
244
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
245
|
+
* THE SOFTWARE.
|
|
246
|
+
*/
|
|
247
|
+
var at=function(t){function e(n){var r=t.call(this,i(i({},e.defaultAdapter),n))||this;return r.closeAnimationEndTimerId=0,r.defaultFocusState=ut.LIST_ROOT,r.selectedIndex=-1,r}return n(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return ct},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return ht},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return ft},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 n=this,i=this.adapter.getElementIndex(t);if(!(i<0)){this.adapter.notifySelected({index:i});var e="true"===this.adapter.getAttributeFromElementAtIndex(i,ht.SKIP_RESTORE_FOCUS);this.adapter.closeSurface(e),this.closeAnimationEndTimerId=setTimeout((function(){var i=n.adapter.getElementIndex(t);i>=0&&n.adapter.isSelectableItemAtIndex(i)&&n.setSelectedIndex(i)}),nt.numbers.TRANSITION_CLOSE_DURATION)}},e.prototype.handleMenuSurfaceOpened=function(){switch(this.defaultFocusState){case ut.FIRST_ITEM:this.adapter.focusItemAtIndex(0);break;case ut.LAST_ITEM:this.adapter.focusItemAtIndex(this.adapter.getMenuItemCount()-1);break;case ut.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 n=this.adapter.getSelectedSiblingOfItemAtIndex(t);n>=0&&(this.adapter.removeAttributeFromElementAtIndex(n,ht.ARIA_CHECKED_ATTR),this.adapter.removeClassFromElementAtIndex(n,ct.MENU_SELECTED_LIST_ITEM)),this.adapter.addClassToElementAtIndex(t,ct.MENU_SELECTED_LIST_ITEM),this.adapter.addAttributeToElementAtIndex(t,ht.ARIA_CHECKED_ATTR,"true"),this.selectedIndex=t},e.prototype.setEnabled=function(t,n){this.validatedIndex(t),n?(this.adapter.removeClassFromElementAtIndex(t,p.LIST_ITEM_DISABLED_CLASS),this.adapter.addAttributeToElementAtIndex(t,ht.ARIA_DISABLED_ATTR,"false")):(this.adapter.addClassToElementAtIndex(t,p.LIST_ITEM_DISABLED_CLASS),this.adapter.addAttributeToElementAtIndex(t,ht.ARIA_DISABLED_ATTR,"true"))},e.prototype.validatedIndex=function(t){var n=this.adapter.getMenuItemCount();if(!(t>=0&&t<n))throw new Error("MDCMenuFoundation: No list item at specified index.")},e}(u),lt=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.initialize=function(t,n){void 0===t&&(t=function(t){return new ot(t)}),void 0===n&&(n=function(t){return new tt(t)}),this.menuSurfaceFactory=t,this.listFactory=n},i.prototype.initialSyncWithDOM=function(){var t=this;this.menuSurface=this.menuSurfaceFactory(this.root);var n=this.root.querySelector(ht.LIST_SELECTOR);n?(this.list=this.listFactory(n),this.list.wrapFocus=!0):this.list=null,this.handleKeydown=function(n){t.foundation.handleKeydown(n)},this.handleItemAction=function(n){t.foundation.handleItemAction(t.items[n.detail.index])},this.handleMenuSurfaceOpened=function(){t.foundation.handleMenuSurfaceOpened()},this.menuSurface.listen(nt.strings.OPENED_EVENT,this.handleMenuSurfaceOpened),this.listen("keydown",this.handleKeydown),this.listen($.strings.ACTION_EVENT,this.handleItemAction)},i.prototype.destroy=function(){this.list&&this.list.destroy(),this.menuSurface.destroy(),this.menuSurface.unlisten(nt.strings.OPENED_EVENT,this.handleMenuSurfaceOpened),this.unlisten("keydown",this.handleKeydown),this.unlisten($.strings.ACTION_EVENT,this.handleItemAction),t.prototype.destroy.call(this)},Object.defineProperty(i.prototype,"open",{get:function(){return this.menuSurface.isOpen()},set:function(t){t?this.menuSurface.open():this.menuSurface.close()},enumerable:!1,configurable:!0}),Object.defineProperty(i.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(i.prototype,"hasTypeahead",{set:function(t){this.list&&(this.list.hasTypeahead=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"typeaheadInProgress",{get:function(){return!!this.list&&this.list.typeaheadInProgress},enumerable:!1,configurable:!0}),i.prototype.typeaheadMatchItem=function(t,n){return this.list?this.list.typeaheadMatchItem(t,n):-1},i.prototype.layout=function(){this.list&&this.list.layout()},Object.defineProperty(i.prototype,"items",{get:function(){return this.list?this.list.listElements:[]},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"singleSelection",{set:function(t){this.list&&(this.list.singleSelection=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.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(i.prototype,"quickOpen",{set:function(t){this.menuSurface.quickOpen=t},enumerable:!1,configurable:!0}),i.prototype.setDefaultFocusState=function(t){this.foundation.setDefaultFocusState(t)},i.prototype.setAnchorCorner=function(t){this.menuSurface.setAnchorCorner(t)},i.prototype.setAnchorMargin=function(t){this.menuSurface.setAnchorMargin(t)},i.prototype.setSelectedIndex=function(t){this.foundation.setSelectedIndex(t)},i.prototype.setEnabled=function(t,n){this.foundation.setEnabled(t,n)},i.prototype.getOptionByIndex=function(t){return t<this.items.length?this.items[t]:null},i.prototype.getPrimaryTextAtIndex=function(t){var n=this.getOptionByIndex(t);return n&&this.list&&this.list.getPrimaryText(n)||""},i.prototype.setFixedPosition=function(t){this.menuSurface.setFixedPosition(t)},i.prototype.setIsHoisted=function(t){this.menuSurface.setIsHoisted(t)},i.prototype.setAbsolutePosition=function(t,n){this.menuSurface.setAbsolutePosition(t,n)},i.prototype.setAnchorElement=function(t){this.menuSurface.anchorElement=t},i.prototype.getDefaultFoundation=function(){var t=this;return new at({addClassToElementAtIndex:function(n,i){t.items[n].classList.add(i)},removeClassFromElementAtIndex:function(n,i){t.items[n].classList.remove(i)},addAttributeToElementAtIndex:function(n,i,e){t.items[n].setAttribute(i,e)},removeAttributeFromElementAtIndex:function(n,i){t.items[n].removeAttribute(i)},getAttributeFromElementAtIndex:function(n,i){return t.items[n].getAttribute(i)},elementContainsClass:function(t,n){return t.classList.contains(n)},closeSurface:function(n){t.menuSurface.close(n)},getElementIndex:function(n){return t.items.indexOf(n)},notifySelected:function(n){t.emit(ht.SELECTED_EVENT,{index:n.index,item:t.items[n.index]})},getMenuItemCount:function(){return t.items.length},focusItemAtIndex:function(n){t.items[n].focus()},focusListRoot:function(){t.root.querySelector(ht.LIST_SELECTOR).focus()},isSelectableItemAtIndex:function(n){return!!c(t.items[n],"."+ct.MENU_SELECTION_GROUP)},getSelectedSiblingOfItemAtIndex:function(n){var i=c(t.items[n],"."+ct.MENU_SELECTION_GROUP).querySelector("."+ct.MENU_SELECTED_LIST_ITEM);return i?t.items.indexOf(i):-1}})},i}(o),dt={NOTCH_ELEMENT_SELECTOR:".mdc-notched-outline__notch"},mt={NOTCH_ELEMENT_PADDING:8},bt={NO_LABEL:"mdc-notched-outline--no-label",OUTLINE_NOTCHED:"mdc-notched-outline--notched",OUTLINE_UPGRADED:"mdc-notched-outline--upgraded"},vt=function(t){function e(n){return t.call(this,i(i({},e.defaultAdapter),n))||this}return n(e,t),Object.defineProperty(e,"strings",{get:function(){return dt},enumerable:!1,configurable:!0}),Object.defineProperty(e,"cssClasses",{get:function(){return bt},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return mt},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},setNotchWidthProperty:function(){},removeNotchWidthProperty:function(){}}},enumerable:!1,configurable:!0}),e.prototype.notch=function(t){var n=e.cssClasses.OUTLINE_NOTCHED;t>0&&(t+=mt.NOTCH_ELEMENT_PADDING),this.adapter.setNotchWidthProperty(t),this.adapter.addClass(n)},e.prototype.closeNotch=function(){this.adapter.removeClass(e.cssClasses.OUTLINE_NOTCHED),this.adapter.removeNotchWidthProperty()},e}(u),Et=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(dt.NOTCH_ELEMENT_SELECTOR);var t=this.root.querySelector("."+b.cssClasses.ROOT);t?(t.style.transitionDuration="0s",this.root.classList.add(bt.OUTLINE_UPGRADED),requestAnimationFrame((function(){t.style.transitionDuration=""}))):this.root.classList.add(bt.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 vt({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}(o);
|
|
248
|
+
/**
|
|
249
|
+
* @license
|
|
250
|
+
* Copyright 2018 Google Inc.
|
|
251
|
+
*
|
|
252
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
253
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
254
|
+
* in the Software without restriction, including without limitation the rights
|
|
255
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
256
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
257
|
+
* furnished to do so, subject to the following conditions:
|
|
258
|
+
*
|
|
259
|
+
* The above copyright notice and this permission notice shall be included in
|
|
260
|
+
* all copies or substantial portions of the Software.
|
|
261
|
+
*
|
|
262
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
263
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
264
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
265
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
266
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
267
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
268
|
+
* THE SOFTWARE.
|
|
269
|
+
*/
|
|
270
|
+
/**
|
|
271
|
+
* @license
|
|
272
|
+
* Copyright 2019 Google Inc.
|
|
273
|
+
*
|
|
274
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
275
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
276
|
+
* in the Software without restriction, including without limitation the rights
|
|
277
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
278
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
279
|
+
* furnished to do so, subject to the following conditions:
|
|
280
|
+
*
|
|
281
|
+
* The above copyright notice and this permission notice shall be included in
|
|
282
|
+
* all copies or substantial portions of the Software.
|
|
283
|
+
*
|
|
284
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
285
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
286
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
287
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
288
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
289
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
290
|
+
* THE SOFTWARE.
|
|
291
|
+
*/
|
|
292
|
+
function It(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}},e=function(){};t.document.addEventListener("test",e,i),t.document.removeEventListener("test",e,i)}catch(t){n=!1}return n}
|
|
293
|
+
/**
|
|
294
|
+
* @license
|
|
295
|
+
* Copyright 2016 Google Inc.
|
|
296
|
+
*
|
|
297
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
298
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
299
|
+
* in the Software without restriction, including without limitation the rights
|
|
300
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
301
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
302
|
+
* furnished to do so, subject to the following conditions:
|
|
303
|
+
*
|
|
304
|
+
* The above copyright notice and this permission notice shall be included in
|
|
305
|
+
* all copies or substantial portions of the Software.
|
|
306
|
+
*
|
|
307
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
308
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
309
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
310
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
311
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
312
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
313
|
+
* THE SOFTWARE.
|
|
314
|
+
*/(t)&&{passive:!0}}var gt,At={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"},Tt={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"},Ct={DEACTIVATION_TIMEOUT_MS:225,FG_DEACTIVATION_MS:150,INITIAL_ORIGIN_SCALE:.6,PADDING:10,TAP_DELAY_MS:300},pt=["touchstart","pointerdown","mousedown","keydown"],Ot=["touchend","pointerup","mouseup","contextmenu"],_t=[],xt=function(t){function r(n){var e=t.call(this,i(i({},r.defaultAdapter),n))||this;return e.activationAnimationHasEnded=!1,e.activationTimer=0,e.fgDeactivationRemovalTimer=0,e.fgScale="0",e.frame={width:0,height:0},e.initialSize=0,e.layoutFrame=0,e.maxRadius=0,e.unboundedCoords={left:0,top:0},e.activationState=e.defaultActivationState(),e.activationTimerCallback=function(){e.activationAnimationHasEnded=!0,e.runDeactivationUXLogicIfReady()},e.activateHandler=function(t){e.activateImpl(t)},e.deactivateHandler=function(){e.deactivateImpl()},e.focusHandler=function(){e.handleFocus()},e.blurHandler=function(){e.handleBlur()},e.resizeHandler=function(){e.layout()},e}return n(r,t),Object.defineProperty(r,"cssClasses",{get:function(){return At},enumerable:!1,configurable:!0}),Object.defineProperty(r,"strings",{get:function(){return Tt},enumerable:!1,configurable:!0}),Object.defineProperty(r,"numbers",{get:function(){return Ct},enumerable:!1,configurable:!0}),Object.defineProperty(r,"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}),r.prototype.init=function(){var t=this,n=this.supportsPressRipple();if(this.registerRootHandlers(n),n){var i=r.cssClasses,e=i.ROOT,s=i.UNBOUNDED;requestAnimationFrame((function(){t.adapter.addClass(e),t.adapter.isUnbounded()&&(t.adapter.addClass(s),t.layoutInternal())}))}},r.prototype.destroy=function(){var t=this;if(this.supportsPressRipple()){this.activationTimer&&(clearTimeout(this.activationTimer),this.activationTimer=0,this.adapter.removeClass(r.cssClasses.FG_ACTIVATION)),this.fgDeactivationRemovalTimer&&(clearTimeout(this.fgDeactivationRemovalTimer),this.fgDeactivationRemovalTimer=0,this.adapter.removeClass(r.cssClasses.FG_DEACTIVATION));var n=r.cssClasses,i=n.ROOT,e=n.UNBOUNDED;requestAnimationFrame((function(){t.adapter.removeClass(i),t.adapter.removeClass(e),t.removeCssVars()}))}this.deregisterRootHandlers(),this.deregisterDeactivationHandlers()},r.prototype.activate=function(t){this.activateImpl(t)},r.prototype.deactivate=function(){this.deactivateImpl()},r.prototype.layout=function(){var t=this;this.layoutFrame&&cancelAnimationFrame(this.layoutFrame),this.layoutFrame=requestAnimationFrame((function(){t.layoutInternal(),t.layoutFrame=0}))},r.prototype.setUnbounded=function(t){var n=r.cssClasses.UNBOUNDED;t?this.adapter.addClass(n):this.adapter.removeClass(n)},r.prototype.handleFocus=function(){var t=this;requestAnimationFrame((function(){return t.adapter.addClass(r.cssClasses.BG_FOCUSED)}))},r.prototype.handleBlur=function(){var t=this;requestAnimationFrame((function(){return t.adapter.removeClass(r.cssClasses.BG_FOCUSED)}))},r.prototype.supportsPressRipple=function(){return this.adapter.browserSupportsCssVars()},r.prototype.defaultActivationState=function(){return{activationEvent:void 0,hasDeactivationUXRun:!1,isActivated:!1,isProgrammatic:!1,wasActivatedByPointer:!1,wasElementMadeActive:!1}},r.prototype.registerRootHandlers=function(t){var n,i;if(t){try{for(var r=e(pt),s=r.next();!s.done;s=r.next())this.adapter.registerInteractionHandler(s.value,this.activateHandler)}catch(t){n={error:t}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}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)},r.prototype.registerDeactivationHandlers=function(t){var n,i;if("keydown"===t.type)this.adapter.registerInteractionHandler("keyup",this.deactivateHandler);else try{for(var r=e(Ot),s=r.next();!s.done;s=r.next())this.adapter.registerDocumentInteractionHandler(s.value,this.deactivateHandler)}catch(t){n={error:t}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(n)throw n.error}}},r.prototype.deregisterRootHandlers=function(){var t,n;try{for(var i=e(pt),r=i.next();!r.done;r=i.next())this.adapter.deregisterInteractionHandler(r.value,this.activateHandler)}catch(n){t={error:n}}finally{try{r&&!r.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)},r.prototype.deregisterDeactivationHandlers=function(){var t,n;this.adapter.deregisterInteractionHandler("keyup",this.deactivateHandler);try{for(var i=e(Ot),r=i.next();!r.done;r=i.next())this.adapter.deregisterDocumentInteractionHandler(r.value,this.deactivateHandler)}catch(n){t={error:n}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}},r.prototype.removeCssVars=function(){var t=this,n=r.strings;Object.keys(n).forEach((function(i){0===i.indexOf("VAR_")&&t.adapter.updateCssVariable(n[i],null)}))},r.prototype.activateImpl=function(t){var n=this;if(!this.adapter.isSurfaceDisabled()){var i=this.activationState;if(!i.isActivated){var e=this.previousActivationEvent;e&&void 0!==t&&e.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&&_t.length>0&&_t.some((function(t){return n.adapter.containsEventTarget(t)}))?this.resetActivationState():(void 0!==t&&(_t.push(t.target),this.registerDeactivationHandlers(t)),i.wasElementMadeActive=this.checkElementMadeActive(t),i.wasElementMadeActive&&this.animateActivation(),requestAnimationFrame((function(){_t=[],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())}))))}}},r.prototype.checkElementMadeActive=function(t){return void 0===t||"keydown"!==t.type||this.adapter.isSurfaceActive()},r.prototype.animateActivation=function(){var t=this,n=r.strings,i=n.VAR_FG_TRANSLATE_START,e=n.VAR_FG_TRANSLATE_END,s=r.cssClasses,u=s.FG_DEACTIVATION,o=s.FG_ACTIVATION,c=r.numbers.DEACTIVATION_TIMEOUT_MS;this.layoutInternal();var h="",f="";if(!this.adapter.isUnbounded()){var a=this.getFgTranslationCoordinates(),l=a.startPoint,d=a.endPoint;h=l.x+"px, "+l.y+"px",f=d.x+"px, "+d.y+"px"}this.adapter.updateCssVariable(i,h),this.adapter.updateCssVariable(e,f),clearTimeout(this.activationTimer),clearTimeout(this.fgDeactivationRemovalTimer),this.rmBoundedActivationClasses(),this.adapter.removeClass(u),this.adapter.computeBoundingRect(),this.adapter.addClass(o),this.activationTimer=setTimeout((function(){t.activationTimerCallback()}),c)},r.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 e,r,s=n.x+i.left,u=n.y+i.top;return"touchstart"===t.type?(e=t.changedTouches[0].pageX-s,r=t.changedTouches[0].pageY-u):(e=t.pageX-s,r=t.pageY-u),{x:e,y:r}}
|
|
315
|
+
/**
|
|
316
|
+
* @license
|
|
317
|
+
* Copyright 2016 Google Inc.
|
|
318
|
+
*
|
|
319
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
320
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
321
|
+
* in the Software without restriction, including without limitation the rights
|
|
322
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
323
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
324
|
+
* furnished to do so, subject to the following conditions:
|
|
325
|
+
*
|
|
326
|
+
* The above copyright notice and this permission notice shall be included in
|
|
327
|
+
* all copies or substantial portions of the Software.
|
|
328
|
+
*
|
|
329
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
330
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
331
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
332
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
333
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
334
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
335
|
+
* THE SOFTWARE.
|
|
336
|
+
*/(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}}},r.prototype.runDeactivationUXLogicIfReady=function(){var t=this,n=r.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)}),Ct.FG_DEACTIVATION_MS))},r.prototype.rmBoundedActivationClasses=function(){this.adapter.removeClass(r.cssClasses.FG_ACTIVATION),this.activationAnimationHasEnded=!1,this.adapter.computeBoundingRect()},r.prototype.resetActivationState=function(){var t=this;this.previousActivationEvent=this.activationState.activationEvent,this.activationState=this.defaultActivationState(),setTimeout((function(){return t.previousActivationEvent=void 0}),r.numbers.TAP_DELAY_MS)},r.prototype.deactivateImpl=function(){var t=this,n=this.activationState;if(n.isActivated){var e=i({},n);n.isProgrammatic?(requestAnimationFrame((function(){t.animateDeactivation(e)})),this.resetActivationState()):(this.deregisterDeactivationHandlers(),requestAnimationFrame((function(){t.activationState.hasDeactivationUXRun=!0,t.animateDeactivation(e),t.resetActivationState()})))}},r.prototype.animateDeactivation=function(t){(t.wasActivatedByPointer||t.wasElementMadeActive)&&this.runDeactivationUXLogicIfReady()},r.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))+r.numbers.PADDING;var n=Math.floor(t*r.numbers.INITIAL_ORIGIN_SCALE);this.initialSize=this.adapter.isUnbounded()&&n%2!=0?n-1:n,this.fgScale=""+this.maxRadius/this.initialSize,this.updateLayoutCssVars()},r.prototype.updateLayoutCssVars=function(){var t=r.strings,n=t.VAR_LEFT,i=t.VAR_TOP,e=t.VAR_FG_SCALE;this.adapter.updateCssVariable(t.VAR_FG_SIZE,this.initialSize+"px"),this.adapter.updateCssVariable(e,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"))},r}(u),St=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 e=new i(t);return void 0!==n.isUnbounded&&(e.unbounded=n.isUnbounded),e},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,e=window.CSS;if("boolean"==typeof gt&&!n)return gt;if(!e||"function"!=typeof e.supports)return!1;var r=e.supports("--css-vars","yes"),s=e.supports("(--css-vars: yes)")&&e.supports("color","#00000000");return i=r||s,n||(gt=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,It())},deregisterInteractionHandler:function(n,i){return t.root.removeEventListener(n,i,It())},deregisterResizeHandler:function(t){return window.removeEventListener("resize",t)},getWindowPageOffset:function(){return{x:window.pageXOffset,y:window.pageYOffset}},isSurfaceActive:function(){return h(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,It())},registerInteractionHandler:function(n,i){return t.root.addEventListener(n,i,It())},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 xt(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}(o),wt={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"},yt={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"},Lt={LABEL_SCALE:.75,UNSET_INDEX:-1,CLICK_DEBOUNCE_TIMEOUT_MS:330},Rt=function(t){function e(n,r){void 0===r&&(r={});var s=t.call(this,i(i({},e.defaultAdapter),n))||this;return s.disabled=!1,s.isMenuOpen=!1,s.useDefaultValidation=!0,s.customValidity=!0,s.lastSelectedIndex=Lt.UNSET_INDEX,s.clickDebounceTimeout=0,s.recentlyClicked=!1,s.leadingIcon=r.leadingIcon,s.helperText=r.helperText,s}return n(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return wt},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return Lt},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return yt},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,n,i){void 0===n&&(n=!1),void 0===i&&(i=!1),t>=this.adapter.getMenuItemCount()||(this.adapter.setSelectedText(t===Lt.UNSET_INDEX?"":this.adapter.getMenuItemTextAtIndex(t).trim()),this.adapter.setSelectedIndex(t),n&&this.adapter.closeMenu(),i||this.lastSelectedIndex===t||this.handleChange(),this.lastSelectedIndex=t)},e.prototype.setValue=function(t,n){void 0===n&&(n=!1);var i=this.adapter.getMenuItemValues().indexOf(t);this.setSelectedIndex(i,!1,n)},e.prototype.getValue=function(){var t=this.adapter.getSelectedIndex(),n=this.adapter.getMenuItemValues();return t!==Lt.UNSET_INDEX?n[t]:""},e.prototype.getDisabled=function(){return this.disabled},e.prototype.setDisabled=function(t){this.disabled=t,this.disabled?(this.adapter.addClass(wt.DISABLED),this.adapter.closeMenu()):this.adapter.removeClass(wt.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(wt.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,n=this.adapter.hasClass(wt.FOCUSED),i=t||n,e=this.adapter.hasClass(wt.REQUIRED);this.notchOutline(i),this.adapter.floatLabel(i),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(wt.ACTIVATED),this.isMenuOpen=!1,this.adapter.isSelectAnchorFocused()||this.blur()},e.prototype.handleChange=function(){this.layout(),this.adapter.notifyChange(this.getValue()),this.adapter.hasClass(wt.REQUIRED)&&this.useDefaultValidation&&this.setValid(this.isValid())},e.prototype.handleMenuItemAction=function(t){this.setSelectedIndex(t,!0)},e.prototype.handleFocus=function(){this.adapter.addClass(wt.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(wt.FOCUSED)){var n=q(t)===y,i=q(t)===L,e=q(t)===j,r=q(t)===H;if(!t.ctrlKey&&!t.metaKey&&(!i&&t.key&&1===t.key.length||i&&this.adapter.isTypeaheadInProgress())){var s=this.adapter.typeaheadMatchItem(i?" ":t.key,this.getSelectedIndex());return s>=0&&this.setSelectedIndex(s),void t.preventDefault()}(n||i||e||r)&&(this.openMenu(),t.preventDefault())}},e.prototype.notchOutline=function(t){if(this.adapter.hasOutline()){var n=this.adapter.hasClass(wt.FOCUSED);if(t){var i=Lt.LABEL_SCALE,e=this.adapter.getLabelWidth()*i;this.adapter.notchOutline(e)}else n||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(wt.INVALID),this.adapter.removeMenuClass(wt.MENU_INVALID)):(this.adapter.addClass(wt.INVALID),this.adapter.addMenuClass(wt.MENU_INVALID)),this.syncHelperTextValidity(t)},e.prototype.isValid=function(){return this.useDefaultValidation&&this.adapter.hasClass(wt.REQUIRED)&&!this.adapter.hasClass(wt.DISABLED)?this.getSelectedIndex()!==Lt.UNSET_INDEX&&(0!==this.getSelectedIndex()||Boolean(this.getValue())):this.customValidity},e.prototype.setRequired=function(t){t?this.adapter.addClass(wt.REQUIRED):this.adapter.removeClass(wt.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(a.BOTTOM_START)),this.adapter.setMenuWrapFocus(!1),this.setDisabled(this.adapter.hasClass(wt.DISABLED)),this.syncHelperTextValidity(!this.adapter.hasClass(wt.INVALID)),this.layout(),this.layoutOptions()},e.prototype.blur=function(){this.adapter.removeClass(wt.FOCUSED),this.layout(),this.adapter.deactivateBottomLine(),this.adapter.hasClass(wt.REQUIRED)&&this.useDefaultValidation&&this.setValid(this.isValid())},e.prototype.syncHelperTextValidity=function(t){if(this.helperText){this.helperText.setValidity(t);var n=this.helperText.isVisible(),i=this.helperText.getId();n&&i?this.adapter.setSelectAnchorAttr(yt.ARIA_DESCRIBEDBY,i):this.adapter.removeSelectAnchorAttr(yt.ARIA_DESCRIBEDBY)}},e.prototype.setClickDebounceTimeout=function(){var t=this;clearTimeout(this.clickDebounceTimeout),this.clickDebounceTimeout=setTimeout((function(){t.recentlyClicked=!1}),Lt.CLICK_DEBOUNCE_TIMEOUT_MS),this.recentlyClicked=!0},e}(u),Dt={ARIA_HIDDEN:"aria-hidden",ROLE:"role"},Nt={HELPER_TEXT_VALIDATION_MSG:"mdc-select-helper-text--validation-msg",HELPER_TEXT_VALIDATION_MSG_PERSISTENT:"mdc-select-helper-text--validation-msg-persistent"},Mt=function(t){function e(n){return t.call(this,i(i({},e.defaultAdapter),n))||this}return n(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return Nt},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return Dt},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(Dt.ARIA_HIDDEN)},e.prototype.setContent=function(t){this.adapter.setContent(t)},e.prototype.setValidation=function(t){t?this.adapter.addClass(Nt.HELPER_TEXT_VALIDATION_MSG):this.adapter.removeClass(Nt.HELPER_TEXT_VALIDATION_MSG)},e.prototype.setValidationMsgPersistent=function(t){t?this.adapter.addClass(Nt.HELPER_TEXT_VALIDATION_MSG_PERSISTENT):this.adapter.removeClass(Nt.HELPER_TEXT_VALIDATION_MSG_PERSISTENT)},e.prototype.getIsValidation=function(){return this.adapter.hasClass(Nt.HELPER_TEXT_VALIDATION_MSG)},e.prototype.getIsValidationMsgPersistent=function(){return this.adapter.hasClass(Nt.HELPER_TEXT_VALIDATION_MSG_PERSISTENT)},e.prototype.setValidity=function(t){if(this.adapter.hasClass(Nt.HELPER_TEXT_VALIDATION_MSG)){var n=this.adapter.hasClass(Nt.HELPER_TEXT_VALIDATION_MSG_PERSISTENT);if(!t||n)return this.showToScreenReader(),void(t?this.adapter.removeAttr(Dt.ROLE):this.adapter.setAttr(Dt.ROLE,"alert"));this.adapter.removeAttr(Dt.ROLE),this.hide()}},e.prototype.showToScreenReader=function(){this.adapter.removeAttr(Dt.ARIA_HIDDEN)},e.prototype.hide=function(){this.adapter.setAttr(Dt.ARIA_HIDDEN,"true")},e}(u),Ft=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return n(i,t),i.attachTo=function(t){return new i(t)},Object.defineProperty(i.prototype,"foundationForSelect",{get:function(){return this.foundation},enumerable:!1,configurable:!0}),i.prototype.getDefaultFoundation=function(){var t=this;return new Mt({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)},getAttr:function(n){return t.root.getAttribute(n)},setAttr:function(n,i){return t.root.setAttribute(n,i)},removeAttr:function(n){return t.root.removeAttribute(n)},setContent:function(n){t.root.textContent=n}})},i}(o),jt={ICON_EVENT:"MDCSelect:icon",ICON_ROLE:"button"},kt=["click","keydown"],Ht=function(t){function r(n){var e=t.call(this,i(i({},r.defaultAdapter),n))||this;return e.savedTabIndex=null,e.interactionHandler=function(t){e.handleInteraction(t)},e}return n(r,t),Object.defineProperty(r,"strings",{get:function(){return jt},enumerable:!1,configurable:!0}),Object.defineProperty(r,"defaultAdapter",{get:function(){return{getAttr:function(){return null},setAttr:function(){},removeAttr:function(){},setContent:function(){},registerInteractionHandler:function(){},deregisterInteractionHandler:function(){},notifyIconAction:function(){}}},enumerable:!1,configurable:!0}),r.prototype.init=function(){var t,n;this.savedTabIndex=this.adapter.getAttr("tabindex");try{for(var i=e(kt),r=i.next();!r.done;r=i.next())this.adapter.registerInteractionHandler(r.value,this.interactionHandler)}catch(n){t={error:n}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}},r.prototype.destroy=function(){var t,n;try{for(var i=e(kt),r=i.next();!r.done;r=i.next())this.adapter.deregisterInteractionHandler(r.value,this.interactionHandler)}catch(n){t={error:n}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}},r.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",jt.ICON_ROLE)))},r.prototype.setAriaLabel=function(t){this.adapter.setAttr("aria-label",t)},r.prototype.setContent=function(t){this.adapter.setContent(t)},r.prototype.handleInteraction=function(t){("click"===t.type||"Enter"===t.key||13===t.keyCode)&&this.adapter.notifyIconAction()},r}(u),Bt=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return n(i,t),i.attachTo=function(t){return new i(t)},Object.defineProperty(i.prototype,"foundationForSelect",{get:function(){return this.foundation},enumerable:!1,configurable:!0}),i.prototype.getDefaultFoundation=function(){var t=this;return new Ht({getAttr:function(n){return t.root.getAttribute(n)},setAttr:function(n,i){return t.root.setAttribute(n,i)},removeAttr:function(n){return t.root.removeAttribute(n)},setContent:function(n){t.root.textContent=n},registerInteractionHandler:function(n,i){return t.listen(n,i)},deregisterInteractionHandler:function(n,i){return t.unlisten(n,i)},notifyIconAction:function(){return t.emit(Ht.strings.ICON_EVENT,{},!0)}})},i}(o),Pt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.attachTo=function(t){return new e(t)},e.prototype.initialize=function(t,n,i,e,r,s){if(void 0===t&&(t=function(t){return new v(t)}),void 0===n&&(n=function(t){return new g(t)}),void 0===i&&(i=function(t){return new Et(t)}),void 0===e&&(e=function(t){return new lt(t)}),void 0===r&&(r=function(t){return new Bt(t)}),void 0===s&&(s=function(t){return new Ft(t)}),this.selectAnchor=this.root.querySelector(yt.SELECT_ANCHOR_SELECTOR),this.selectedText=this.root.querySelector(yt.SELECTED_TEXT_SELECTOR),this.hiddenInput=this.root.querySelector(yt.HIDDEN_INPUT_SELECTOR),!this.selectedText)throw new Error("MDCSelect: Missing required element: The following selector must be present: '"+yt.SELECTED_TEXT_SELECTOR+"'");if(this.selectAnchor.hasAttribute(yt.ARIA_CONTROLS)){var u=document.getElementById(this.selectAnchor.getAttribute(yt.ARIA_CONTROLS));u&&(this.helperText=s(u))}this.menuSetup(e);var o=this.root.querySelector(yt.LABEL_SELECTOR);this.label=o?t(o):null;var c=this.root.querySelector(yt.LINE_RIPPLE_SELECTOR);this.lineRipple=c?n(c):null;var h=this.root.querySelector(yt.OUTLINE_SELECTOR);this.outline=h?i(h):null;var f=this.root.querySelector(yt.LEADING_ICON_SELECTOR);f&&(this.leadingIcon=r(f)),this.root.classList.contains(wt.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(n){t.selectAnchor.focus(),t.foundation.handleClick(t.getNormalizedXCoordinate(n))},this.handleKeydown=function(n){t.foundation.handleKeydown(n)},this.handleMenuItemAction=function(n){t.foundation.handleMenuItemAction(n.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(T.CLOSED_EVENT,this.handleMenuClosed),this.menu.listen(T.CLOSING_EVENT,this.handleMenuClosing),this.menu.listen(T.OPENED_EVENT,this.handleMenuOpened),this.menu.listen(ht.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(T.CLOSED_EVENT,this.handleMenuClosed),this.menu.unlisten(T.OPENED_EVENT,this.handleMenuOpened),this.menu.unlisten(ht.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(),t.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,n){void 0===n&&(n=!1),this.foundation.setValue(t,n)},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,n){void 0===n&&(n=!1),this.foundation.setSelectedIndex(t,!0,n)},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(yt.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 Rt(t,this.getFoundationMap())},e.prototype.menuSetup=function(t){this.menuElement=this.root.querySelector(yt.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(yt.VALUE_ATTR)||""}))},e.prototype.createRipple=function(){var t=this,n=i(i({},St.createAdapter({root:this.selectAnchor})),{registerInteractionHandler:function(n,i){t.selectAnchor.addEventListener(n,i)},deregisterInteractionHandler:function(n,i){t.selectAnchor.removeEventListener(n,i)}});return new St(this.selectAnchor,new xt(n))},e.prototype.getSelectAdapterMethods=function(){var t=this;return{getMenuItemAttr:function(t,n){return t.getAttribute(n)},setSelectedText:function(n){t.selectedText.textContent=n},isSelectAnchorFocused:function(){return document.activeElement===t.selectAnchor},getSelectAnchorAttr:function(n){return t.selectAnchor.getAttribute(n)},setSelectAnchorAttr:function(n,i){t.selectAnchor.setAttribute(n,i)},removeSelectAnchorAttr:function(n){t.selectAnchor.removeAttribute(n)},addMenuClass:function(n){t.menuElement.classList.add(n)},removeMenuClass:function(n){t.menuElement.classList.remove(n)},openMenu:function(){t.menu.open=!0},closeMenu:function(){t.menu.open=!1},getAnchorElement:function(){return t.root.querySelector(yt.SELECT_ANCHOR_SELECTOR)},setMenuAnchorElement:function(n){t.menu.setAnchorElement(n)},setMenuAnchorCorner:function(n){t.menu.setAnchorCorner(n)},setMenuWrapFocus:function(n){t.menu.wrapFocus=n},getSelectedIndex:function(){var n=t.menu.selectedIndex;return n instanceof Array?n[0]:n},setSelectedIndex:function(n){t.menu.selectedIndex=n},focusMenuItemAtIndex:function(n){t.menu.items[n].focus()},getMenuItemCount:function(){return t.menu.items.length},getMenuItemValues:function(){return t.menuItemValues},getMenuItemTextAtIndex:function(n){return t.menu.getPrimaryTextAtIndex(n)},isTypeaheadInProgress:function(){return t.menu.typeaheadInProgress},typeaheadMatchItem:function(n,i){return t.menu.typeaheadMatchItem(n,i)}}},e.prototype.getCommonAdapterMethods=function(){var t=this;return{addClass:function(n){t.root.classList.add(n)},removeClass:function(n){t.root.classList.remove(n)},hasClass:function(n){return t.root.classList.contains(n)},setRippleCenter:function(n){t.lineRipple&&t.lineRipple.setRippleCenter(n)},activateBottomLine:function(){t.lineRipple&&t.lineRipple.activate()},deactivateBottomLine:function(){t.lineRipple&&t.lineRipple.deactivate()},notifyChange:function(n){t.hiddenInput&&(t.hiddenInput.value=n),t.emit(yt.CHANGE_EVENT,{value:n,index:t.selectedIndex},!0)}}},e.prototype.getOutlineAdapterMethods=function(){var t=this;return{hasOutline:function(){return Boolean(t.outline)},notchOutline:function(n){t.outline&&t.outline.notch(n)},closeOutline:function(){t.outline&&t.outline.closeNotch()}}},e.prototype.getLabelAdapterMethods=function(){var t=this;return{hasLabel:function(){return!!t.label},floatLabel:function(n){t.label&&t.label.float(n)},getLabelWidth:function(){return t.label?t.label.getWidth():0},setLabelRequired:function(n){t.label&&t.label.setRequired(n)}}},e.prototype.getNormalizedXCoordinate=function(t){var n=t.target.getBoundingClientRect();return(this.isTouchEvent(t)?t.touches[0].clientX:t.clientX)-n.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);export{Pt as M,n as _,i as a,u as b,St as c,It as d,xt as e,e as f,st as g,o as h,g as i,v as j,Et as k,h as m}
|